git.y1.nz

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.