Code: Select all
$A18C TAY
$A18D LDA $9008,Y ; 36872-73 for paddle registers
$A190 EOR #$FF
$A192 LSR .. and so on
Code: Select all
$A18C TAY
$A18D JSR $AEA4
$A190 EOR #$FF
$A192 LSR .. and so on
Code: Select all
$AEA4 LDA #$00
$AEA6 STA $9122 ; POKE 37154,0 to read all directions
$AEA9 LDA $9120 ; 37152
$AEAC ROL
$AEAD BCS $AEB8 ; no movement to the left
$AEAF LDA $FF ; internal variable, never initialized?
$AEB1 SEC
$AEB2 SBC #$03 ; paddles are simulated as movement by three steps
$AEB4 BCC $AEB8 ; allowed range 3..252
$AEB6 STA $FF
$AEB8 LDA $9111 ; 37137
$AEBB AND #$10 ; movement to the right
$AEBD CMP #$10
$AEBF BEQ $AECA
$AEC1 LDA $FF
$AEC3 СLC
$AEC4 ADC #$03
$AEC6 BCS $AECA
$AEC8 STA $FF
$AECA LDA #$FF
$AECC STA $9122
$AECF LDA $FF
$ACD1 RTS
Considering the padded areas in the middle of the ROM, I wonder if this is an official version. Maybe during development, someone who did not have access to a set of paddles wrote this routine, and it was later released. It would not be too hard to merge the two into a version that will play either by paddles or joystick at the same time. I wonder if there are joystick versions of some other paddle-only games?