Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ReadController1:
- LDA buttons1Lo
- STA buttons1Lo_old ;save last frame's joypad button states
- LDA buttons1Hi
- STA buttons1Hi_old ;save last frame's joypad button states
- LDA #$01
- STA $4016
- LDA #$00
- STA $4016
- LDX #$08
- ReadController1Loop:
- LDA $4016
- LSR A ; bit0 -> Carry
- LSR A ; bit1 -> Carry
- LSR A ; bit2 -> Carry
- LSR A ; bit3 -> Carry
- ROL buttons1Lo ; bit3 <- Carry
- LSR A ; bit4 -> Carry
- ROL buttons1Hi ; bit4 <- Carry
- DEX
- BNE ReadController1Loop
- LDA buttons1Lo_old ;what was pressed last frame. EOR to flip all the bits to find ...
- EOR #$FF ;what was not pressed last frame
- AND buttons1Lo ;what is pressed this frame
- STA buttons1Lo_pressed ;stores off-to-on transitions
- LDA buttons1Hi_old ;what was pressed last frame. EOR to flip all the bits to find ...
- EOR #$FF ;what was not pressed last frame
- AND buttons1Hi ;what is pressed this frame
- STA buttons1Hi_pressed ;stores off-to-on transitions
- RTS
- handle_input:
- Read2:
- LDA buttons1Lo_pressed ; power pad button 2
- AND #%10000000
- BEQ Read2Done
- Read2Done:
- Read1:
- LDA buttons1Lo_pressed ; power pad button 1
- AND #%01000000
- BEQ Read1Done
- Read1Done:
- Read5:
- LDA buttons1Lo_pressed ; power pad button 5
- AND #%00100000
- BEQ Read5Done
- Read5Done:
- Read9:
- LDA buttons1Lo_pressed ; power pad button 9
- AND #%00010000
- BEQ Read9Done
- Read9Done:
- Read6:
- LDA buttons1Lo_pressed ; power pad button 6
- AND #%00001000
- BEQ Read6Done
- Read6Done:
- Read10:
- LDA buttons1Lo_pressed ; power pad button 10
- AND #%00000100
- BEQ Read10Done
- Read10Done:
- Read11:
- LDA buttons1Lo_pressed ; power pad button 11
- AND #%00000010
- BEQ Read11Done
- Read11Done:
- Read7:
- LDA buttons1Lo_pressed ; power pad button 7
- AND #%00000001
- BEQ Read7Done
- Read7Done:
- Read4:
- LDA buttons1Hi_pressed ; power pad button 4
- AND #%10000000
- BEQ Read4Done
- Read4Done:
- Read3:
- LDA buttons1Hi_pressed ; power pad button 3
- AND #%01000000
- BEQ Read3Done
- Read3Done:
- Read12:
- LDA buttons1Hi_pressed ; power pad button 12
- AND #%00100000
- BEQ Read12Done
- Read12Done:
- Read8:
- LDA buttons1Hi_pressed ; power pad button 8
- AND #%00010000
- BEQ Read8Done
- Read8Done:
- RTI
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement