diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/joypad.asm | 51 | ||||
-rwxr-xr-x | engine/palettes.asm | 30 |
2 files changed, 66 insertions, 15 deletions
diff --git a/engine/joypad.asm b/engine/joypad.asm new file mode 100644 index 00000000..d2ad1c31 --- /dev/null +++ b/engine/joypad.asm @@ -0,0 +1,51 @@ +_Joypad:: + ld a, [hJoyInput] + cp A_BUTTON + B_BUTTON + SELECT + START ; soft reset + jp z, TrySoftReset + ld b, a + ld a, [hJoyHeldLast] + ld e, a + xor b + ld d, a + and e + ld [hJoyReleased], a + ld a, d + and b + ld [hJoyPressed], a + ld a, b + ld [hJoyHeldLast], a + ld a, [wd730] + bit 5, a + jr nz, DiscardButtonPresses + ld a, [hJoyHeldLast] + ld [hJoyHeld], a + ld a, [wJoyIgnore] + and a + ret z + cpl + ld b, a + ld a, [hJoyHeld] + and b + ld [hJoyHeld], a + ld a, [hJoyPressed] + and b + ld [hJoyPressed], a + ret + +DiscardButtonPresses: + xor a + ld [hJoyHeld], a + ld [hJoyPressed], a + ld [hJoyReleased], a + ret + +TrySoftReset: + call DelayFrame + ; reset joypad (to make sure the + ; player is really trying to reset) + ld a, $30 + ld [rJOYP], a + ld hl, hSoftReset + dec [hl] + jp z, SoftReset + jp Joypad diff --git a/engine/palettes.asm b/engine/palettes.asm index 0a2db277..33f241d1 100755 --- a/engine/palettes.asm +++ b/engine/palettes.asm @@ -396,21 +396,21 @@ LoadSGBBorderAndPalettes: ; 7202b (1c:602b) ei ld a, $1 ld [wcf2d], a - ld de, PalPacket_72508 + ld de, ChrTrnPacket ld hl, SGBBorderGraphics call Func_7210b xor a ld [wcf2d], a - ld de, PalPacket_72518 + ld de, PctTrnPacket ld hl, BorderPalettes call Func_7210b xor a ld [wcf2d], a - ld de, PalPacket_724d8 + ld de, PalTrnPacket ld hl, SuperPalettes call Func_7210b call ClearVram - ld hl, PalPacket_72538 + ld hl, MaskEnCancelPacket jp SendSGBPacket Func_72075: ; 72075 (1c:6075) @@ -431,18 +431,18 @@ Func_72075: ; 72075 (1c:6075) ret PointerTable_72089: ; 72089 (1c:6089) - dw PalPacket_72528 - dw PalPacket_72548 - dw PalPacket_72558 - dw PalPacket_72568 - dw PalPacket_72578 - dw PalPacket_72588 - dw PalPacket_72598 - dw PalPacket_725a8 - dw PalPacket_725b8 + dw MaskEnFreezePacket + dw DataSnd_72548 + dw DataSnd_72558 + dw DataSnd_72568 + dw DataSnd_72578 + dw DataSnd_72588 + dw DataSnd_72598 + dw DataSnd_725a8 + dw DataSnd_725b8 Func_7209b: ; 7209b (1c:609b) - ld hl, PalPacket_724f8 + ld hl, MltReq2Packet di call SendSGBPacket ld a, $1 @@ -493,7 +493,7 @@ Func_7209b: ; 7209b (1c:609b) ret Func_72102: ; 72102 (1c:6102) - ld hl, PalPacket_724e8 + ld hl, MltReq1Packet call SendSGBPacket jp Wait7000 |