Some shit software I was messing with on gb
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
859 B

4 years ago
include "hardware.inc"
section "home/joypad.asm@hram", hram
h_joypad: db
h_joypad_down:: db
h_joypad_pressed:: db
h_joypad_released:: db
section "home/joypad.asm", rom0
joypad_read::
ld a, r_joyp_select_dpad
ldh [r_joyp], a
rept 2
ldh a, [r_joyp]
endr
; Save the dpad value to the high nybble
cpl
and r_joyp_data
swap a
ld b, a
ld a, r_joyp_select_buttons
ldh [r_joyp], a
rept 6
ldh a, [r_joyp]
endr
; Save the buttons to the low nybble
cpl
and r_joyp_data
or b
ldh [h_joypad], a
ld a, r_joyp_select
ldh [r_joyp], a
ret
joypad_update::
ldh a, [h_joypad]
ld b, a
ldh a, [h_joypad_down]
ld c, a
xor b
ld d, a
and c
ldh [h_joypad_released], a
ld a, d
and b
ldh [h_joypad_pressed], a
ld a, b
ldh [h_joypad_down], a
ret