summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-01 16:01:37 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-01 16:01:37 -0400
commit9d9725e082e3c455195c7c6b86d3a6c4e7438664 (patch)
tree2adc124553770ef0a7d994ac4571b631383956fe
parent935dbe6f3815e2daaba88c69cb087c8ec6ad1844 (diff)
downloadnes-input-test-9d9725e082e3c455195c7c6b86d3a6c4e7438664.tar.gz
nes-input-test-9d9725e082e3c455195c7c6b86d3a6c4e7438664.zip
add some controller reading
-rw-r--r--test.s49
1 files changed, 47 insertions, 2 deletions
diff --git a/test.s b/test.s
index 2cb9eb2..da3030c 100644
--- a/test.s
+++ b/test.s
@@ -51,8 +51,53 @@ vblankwait2: ; Second wait for vblank, PPU is ready after this
LDA #%10000000 ;intensify blues
STA $2001
-Forever:
- JMP Forever ;jump back to Forever, infinite loop
+ LDX #$00
+
+read_controller1:
+ ; latch
+ LDA #$01
+ STA $4016
+ LDA #$00
+ STA $4016
+
+ ; clock
+ LDA $4016 ; A
+ AND #%00000001
+ TAY
+ LDA $4016 ; B
+ LDA $4016 ; Select
+ LDA $4016 ; Start
+ LDA $4016 ; Up
+ LDA $4016 ; Down
+ LDA $4016 ; Left
+ LDA $4016 ; Right
+
+ CPY #$00
+ BEQ read_controller1
+
+ CPX #$00
+ BEQ turn_green
+ CPX #$01
+ BEQ turn_red
+
+turn_blue:
+ LDA #%10000000
+ STA $2001
+ LDX #$00
+ JMP read_controller1
+
+turn_green:
+ LDA #%01000000
+ STA $2001
+ LDX #$01
+ JMP read_controller1
+
+turn_red:
+ LDA #%00100000
+ STA $2001
+ LDX #$02
+ JMP read_controller1
+
NMI:
RTI