gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
gbdk-lib/libc/targets/mos6502/nes/pad.s
1 .include "global.s"
2
3 .area _HOME
4
5 _strobe_joypads::
6 lda #1
7 sta JOY1
8 lda #0
9 sta JOY1
10 rts
11
12 _read_joypad::
13 ; Strobe to latch joypad data
14 jsr _strobe_joypads
15 _read_joypad_no_strobe::
16 ;
17 lda JOY1,x
18 lsr
19 rol *.tmp+1
20 lda JOY1,x
21 lsr
22 rol *.tmp+1
23 lda JOY1,x
24 lsr
25 rol *.tmp+1
26 lda JOY1,x
27 lsr
28 rol *.tmp+1
29 lda JOY1,x
30 lsr
31 rol *.tmp+1
32 lda JOY1,x
33 lsr
34 rol *.tmp+1
35 lda JOY1,x
36 lsr
37 rol *.tmp+1
38 lda JOY1,x
39 lsr
40 rol *.tmp+1
41 ;
42 lda *.tmp+1
43 rts
44
45 ;; Wait until all buttons have been released
46 .padup::
47 _waitpadup::
48 jsr .jpad
49 bne _waitpadup
50 rts
51
52 ;; Get Keypad Button Status
53 _joypad::
54 .jpad::
55 ldx #0
56 jmp _read_joypad
57
58 ;; Wait for the key to be pressed
59 _waitpad::
60 .wait_pad::
61 sta *.tmp
62 .wait_pad_loop:
63 jsr .jpad
64 and *.tmp
65 beq .wait_pad_loop
66 rts
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.