diff options
author | xCrystal <rgr.crystal@gmail.com> | 2016-01-17 19:09:39 +0100 |
---|---|---|
committer | xCrystal <rgr.crystal@gmail.com> | 2016-01-17 19:09:39 +0100 |
commit | bc8350903659f0c9dad446ee7617779c78b44e2d (patch) | |
tree | be572299c9852c925eee55c370a1202b1751ee1b | |
parent | 4b9f2a50f768f44d7f6ea4dc6efe72b8b6f3b616 (diff) |
name some ram addresses and functions, mostly menu input related
also replace other wram/hram addresses that were hardcoded despite the
label already existing
-rwxr-xr-x | src/engine/bank1.asm | 6 | ||||
-rwxr-xr-x | src/engine/bank1c.asm | 4 | ||||
-rwxr-xr-x | src/engine/bank2.asm | 14 | ||||
-rwxr-xr-x | src/engine/bank3.asm | 24 | ||||
-rwxr-xr-x | src/engine/bank4.asm | 4 | ||||
-rwxr-xr-x | src/engine/bank7.asm | 2 | ||||
-rwxr-xr-x | src/engine/home.asm | 85 | ||||
-rwxr-xr-x | src/wram.asm | 32 |
8 files changed, 101 insertions, 70 deletions
diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm index c29a4c4..364cbb6 100755 --- a/src/engine/bank1.asm +++ b/src/engine/bank1.asm @@ -11,10 +11,10 @@ Func_4000: ; 4000 (1:4000) ld [$ccf2], a call DisableExtRAM ld a, $1 - ld [$cd0d], a + ld [wUppercaseFlag], a ei farcall Func_1a6cc - ld a, [$ff90] + ld a, [hButtonsHeld] cp $3 jr z, .asm_4035 farcall Func_126d1 @@ -35,7 +35,7 @@ Func_4000: ; 4000 (1:4000) Func_4050: ; 4050 (1:4050) farcall Func_1996e ld a, $1 - ld [$cd0d], a + ld [wUppercaseFlag], a ret Func_405a: ; 405a (1:405a) diff --git a/src/engine/bank1c.asm b/src/engine/bank1c.asm index e11aaef..044d854 100755 --- a/src/engine/bank1c.asm +++ b/src/engine/bank1c.asm @@ -146,9 +146,9 @@ Func_70136: ; 70136 (1c:4136) push hl push bc push de - ld a, [$ff92] + ld a, [hSCX] ld [$d41d], a - ld a, [$ff93] + ld a, [hSCY] ld [$d41e], a ld a, [$cabc] ld [$d41f], a diff --git a/src/engine/bank2.asm b/src/engine/bank2.asm index 1c82b47..e255784 100755 --- a/src/engine/bank2.asm +++ b/src/engine/bank2.asm @@ -103,7 +103,7 @@ Func_8dea: ; 8dea (2:4dea) ld a, [hButtonsPressed2] and $8 ret z - ld a, [$cd10] + ld a, [wCurMenuItem] ld [$ceb1], a call Func_8ff2 jp nc, Func_8e05 @@ -328,7 +328,7 @@ Func_8f9d: ; 8f9d (2:4f9d) call DisableExtRAM ld h, $3 ld l, a - call Func_0879 + call HtimesL ld e, l inc e ld d, $2 @@ -384,7 +384,7 @@ Func_9038: ; 9038 (2:5038) ld a, [$ceb1] ld h, a ld l, $54 - call Func_0879 + call HtimesL push de ld de, $a200 add hl, de @@ -396,7 +396,7 @@ Func_9048: ; 9048 (2:5048) ld a, [$ceb1] ld h, a ld l, $54 - call Func_0879 + call HtimesL push de ld de, $a218 add hl, de @@ -452,7 +452,7 @@ Func_9065: ; 9065 (2:5065) xor a ld [$cea3], a .asm_90a6 - ld a, [$ff91] + ld a, [hButtonsPressed] and $3 jr z, .asm_90c1 and $1 @@ -489,7 +489,7 @@ asm_90da ld l, a ld a, [$ceaf] ld h, a - call Func_0879 + call HtimesL ld a, l add $1 ld b, a @@ -753,7 +753,7 @@ Func_9326: ; 9326 (2:5326) call DisableExtRAM ld h, $3 ld l, a - call Func_0879 + call HtimesL ld e, l inc e ld d, $2 diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm index 38a56cd..3ec9202 100755 --- a/src/engine/bank3.asm +++ b/src/engine/bank3.asm @@ -539,9 +539,9 @@ Func_c484: ; c484 (3:4484) Func_c491: ; c491 (3:4491) ld a, [$d0b6] - ld [$ff92], a + ld [hSCX], a ld a, [$d0b7] - ld [$ff93], a + ld [hSCY], a ret Func_c49c: ; c49c (3:449c) @@ -620,7 +620,7 @@ Func_c510: ; c510 (3:4510) call nz, Func_c6dc ret .asm_c535 - ld a, [$ff91] + ld a, [hButtonsPressed] and $8 call nz, Func_c74d ret @@ -684,7 +684,7 @@ Func_c58b: ; c58b (3:458b) ret Func_c5ac: ; c5ac (3:45ac) - ld a, [$ff90] + ld a, [hButtonsHeld] and $f0 jr z, .asm_c5bf call Func_c5cb @@ -693,7 +693,7 @@ Func_c5ac: ; c5ac (3:45ac) and $1 jr nz, .asm_c5ca .asm_c5bf - ld a, [$ff91] + ld a, [hButtonsPressed] and $1 jr z, .asm_c5ca call Func_c71e @@ -802,7 +802,7 @@ Func_c66c: ; c66c (3:466c) push hl push bc ld c, $1 - ld a, [$ff90] + ld a, [hButtonsHeld] bit 1, a jr z, .asm_c67e ld a, [$d338] @@ -1002,8 +1002,8 @@ Func_c7b3: ; c7b3 (3:47b3) Func_c7b8: ; c7b8 (3:47b8) xor a - ld [$ff92], a - ld [$ff93], a + ld [hSCX], a + ld [hSCY], a call Set_OBJ_8x16 farcall Func_1288c farcall Func_8db0 @@ -1012,8 +1012,8 @@ Func_c7b8: ; c7b8 (3:47b8) Func_c7cc: ; c7cc (3:47cc) xor a - ld [$ff92], a - ld [$ff93], a + ld [hSCX], a + ld [hSCY], a call Set_OBJ_8x16 farcall Func_1288c farcall Func_a288 @@ -1395,8 +1395,8 @@ DeckMachine_d336: ; d336 (3:5336) call PlaySong call Func_04a2 xor a - ld [$ff92], a - ld [$ff93], a + ld [hSCX], a + ld [hSCY], a farcall Func_1288c call EnableLCD pop bc diff --git a/src/engine/bank4.asm b/src/engine/bank4.asm index f144aa6..48d2d33 100755 --- a/src/engine/bank4.asm +++ b/src/engine/bank4.asm @@ -228,7 +228,7 @@ Func_10e55: ; 10e55 (4:4e55) ret Func_10e71: ; 10e71 (4:4e71) - ld a, [$ff91] + ld a, [hButtonsPressed] and $f0 jr z, .asm_10e83 farcall Func_c5d5 @@ -236,7 +236,7 @@ Func_10e71: ; 10e71 (4:4e71) call Func_10e97 jr .asm_10e96 .asm_10e83 - ld a, [$ff91] + ld a, [hButtonsPressed] and $1 jr z, .asm_10e96 ld a, $2 diff --git a/src/engine/bank7.asm b/src/engine/bank7.asm index 7622b0d..51e03d7 100755 --- a/src/engine/bank7.asm +++ b/src/engine/bank7.asm @@ -150,7 +150,7 @@ Func_1d078: ; 1d078 (7:5078) dec [hl] jr .asm_1d095 .asm_1d0b8 - ld a, [$ff91] + ld a, [hButtonsPressed] and $9 jr z, .asm_1d095 ld a, $2 diff --git a/src/engine/home.asm b/src/engine/home.asm index cd38f5a..084c6b8 100755 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -1197,7 +1197,8 @@ ClearExtRAMBank: ; 0863 (0:0863) pop af ret -Func_0879: ; 0879 (0:0879) +; returns h * l in hl +HtimesL:: ; 0879 (0:0879) push de ld a, h ld e, l @@ -2210,14 +2211,14 @@ Func_1ddb: ; 1ddb (0:1ddb) Func_1deb: ; 1deb (0:1deb) push af - ld a, [$ff92] + ld a, [hSCX] rra rra rra and $1f add d ld d, a - ld a, [$ff93] + ld a, [hSCY] rra rra rra @@ -3115,9 +3116,9 @@ Func_256d: ; 256d (0:256d) INCBIN "baserom.gbc",$2589,$2636 - $2589 Func_2636: ; 2636 (0:2636) - ld [$cd10], a + ld [wCurMenuItem], a ld [$ffb1], a - ld de, $cd11 + ld de, wCursorXPosition ld b, $8 .asm_2640 ld a, [hli] @@ -3126,7 +3127,7 @@ Func_2636: ; 2636 (0:2636) dec b jr nz, .asm_2640 xor a - ld [$cd0f], a + ld [wCursorBlinkCounter], a ret Func_264b: ; 264b (0:264b) @@ -3136,15 +3137,15 @@ Func_264b: ; 264b (0:264b) or a jr z, .asm_2685 ld b, a - ld a, [$cd14] + ld a, [wNumMenuItems] ld c, a - ld a, [$cd10] + ld a, [wCurMenuItem] bit 6, b jr z, .asm_266b dec a bit 7, a jr z, .asm_2674 - ld a, [$cd14] + ld a, [wNumMenuItems] dec a jr .asm_2674 .asm_266b @@ -3160,11 +3161,11 @@ Func_264b: ; 264b (0:264b) ld [$cd99], a call Func_26e9 pop af - ld [$cd10], a + ld [wCurMenuItem], a xor a - ld [$cd0f], a + ld [wCursorBlinkCounter], a .asm_2685 - ld a, [$cd10] + ld a, [wCurMenuItem] ld [$ffb1], a ld hl, $cd17 ld a, [hli] @@ -3175,11 +3176,11 @@ Func_264b: ; 264b (0:264b) ld h, a ld a, [$ffb1] call CallF - jr nc, asm_26d1 + jr nc, HandleMenuInput .asm_269b call Func_270b call Func_26c0 - ld a, [$cd10] + ld a, [wCurMenuItem] ld e, a ld a, [$ffb1] scf @@ -3187,10 +3188,10 @@ Func_264b: ; 264b (0:264b) .asm_26a9 ld a, [hButtonsPressed] and $3 - jr z, asm_26d1 + jr z, HandleMenuInput and $1 jr nz, .asm_269b - ld a, [$cd10] + ld a, [wCurMenuItem] ld e, a ld a, $ff ld [$ffb1], a @@ -3211,32 +3212,34 @@ Func_26c0: ; 26c0 (0:26c0) call Func_3796 pop af ret -asm_26d1 + +HandleMenuInput: ; 2d61 (0:2d61) ld a, [$cd99] or a - jr z, Func_26da + jr z, HandleTextBoxInput call Func_3796 - -Func_26da: ; 26da (0:26da) - ld hl, $cd0f +; fallthrough +HandleTextBoxInput: ; 26da (0:26da) + ld hl, wCursorBlinkCounter ld a, [hl] inc [hl] +; blink the cursor every 16 frames and $f ret nz - ld a, [$cd15] + ld a, [wCursorTileNumber] bit 4, [hl] jr z, asm_26ec Func_26e9: ; 26e9 (0:26e9) - ld a, [$cd16] + ld a, [wTileBehindCursor] asm_26ec ld c, a - ld a, [$cd13] + ld a, [wYDisplacementBetweenMenuItems] ld l, a - ld a, [$cd10] + ld a, [wCurMenuItem] ld h, a - call Func_0879 + call HtimesL ld a, l - ld hl, $cd11 + ld hl, wCursorXPosition ld d, [hl] inc hl add [hl] @@ -3250,7 +3253,7 @@ asm_26ec ret Func_270b: ; 270b (0:270b) - ld a, [$cd15] + ld a, [wCursorTileNumber] jr asm_26ec ; 0x2710 @@ -3258,7 +3261,7 @@ INCBIN "baserom.gbc",$2710,$2a1a - $2710 Func_2a1a: ; 2a1a (0:2a1a) xor a - ld hl, $cd10 + ld hl, wCurMenuItem ld [hli], a ld [hl], d inc hl @@ -3271,7 +3274,7 @@ Func_2a1a: ; 2a1a (0:2a1a) ld [hl], b inc hl ld [hl], c - ld [$cd0f], a + ld [wCursorBlinkCounter], a ret ; 0x2a30 @@ -3327,7 +3330,7 @@ Func_2aab: ; 2aab (0:2aab) call EnableLCD .asm_2ab8 call Func_053f - call Func_26da + call HandleTextBoxInput ld a, [hButtonsPressed] and $3 jr z, .asm_2ab8 @@ -3353,12 +3356,12 @@ Func_2af0: ; 2af0 (0:2af0) ld bc, $0f00 call Func_2a1a ld a, [$cd9a] - ld [$cd10], a + ld [wCurMenuItem], a call EnableLCD jr .asm_2b39 .asm_2b1f call Func_053f - call Func_26da + call HandleTextBoxInput ld a, [hButtonsPressed] bit 0, a jr nz, .asm_2b50 @@ -3371,19 +3374,19 @@ Func_2af0: ; 2af0 (0:2af0) .asm_2b39 ld a, [$cd98] ld c, a - ld hl, $cd10 + ld hl, wCurMenuItem ld a, [hl] xor $1 ld [hl], a add a add a add c - ld [$cd11], a + ld [wCursorXPosition], a xor a - ld [$cd0f], a + ld [wCursorBlinkCounter], a jr .asm_2b1f .asm_2b50 - ld a, [$cd10] + ld a, [wCurMenuItem] ld [$ffb1], a or a jr nz, .asm_2b5c @@ -3730,7 +3733,7 @@ Func_2e41: ; 2e41 (0:2e41) .asm_2e56 call Func_2cc8 .asm_2e59 - ld a, [$ff90] + ld a, [hButtonsHeld] ld b, a ld a, [$ce47] inc a @@ -3797,7 +3800,7 @@ LoadCardDataToRAM: ; 2f10 (0:2f10) call GetCardPointer pop de jr c, .done - ld a, $c + ld a, BANK(CardPointers) call BankpushHome2 ld b, CARD_DATA_LENGTH .copyCardDataLoop @@ -3836,7 +3839,7 @@ GetCardPointer: ; 2f7c (0:2f7c) .nz ccf jr c, .outOfBounds - ld a, $c + ld a, BANK(CardPointers) call BankpushHome2 ld a, [hli] ld h, [hl] @@ -4456,7 +4459,7 @@ Func_38a3: ; 38a3 (0:38a3) ld a, $ff ld [$d0c3], a ld a, $2 - ld [$cc1a], a + ld [wDuelTheme], a ld a, MUSIC_CARDPOP call PlaySong bank1call Func_758f diff --git a/src/wram.asm b/src/wram.asm index 83dea99..df993a9 100755 --- a/src/wram.asm +++ b/src/wram.asm @@ -140,7 +140,7 @@ wDuelTheme:: ; cc1a ; wCardBuffer1 and wCardBuffer2 hold the data of a player's or opponent's card. ; Can be data from a card on either side of the field or hand, or from a card in the bench, depending on the duel state. ; Sometimes the two buffers even hold the same card's data. -wCardBuffer1:: ; c224 +wCardBuffer1:: ; cc24 ds CARD_DATA_LENGTH wCardBuffer2:: ; cc65 @@ -151,10 +151,38 @@ wCardBuffer2:: ; cc65 wCurrentMoveOrCardEffect:: ; ccb2 ds $1 ds $5a + +;--- Overworld -------------------------------------------- wUppercaseFlag:: ; cd0d ds $1 - ds $114 + ds $1 + +; Handles timing of (horizontal or vertical) arrow blinking while waiting for user input. +wCursorBlinkCounter:: ; cd0f + ds $1 + +wCurMenuItem:: ; cd10 + ds $1 + +wCursorXPosition:: ; cd11 + ds $1 + +wCursorYPosition:: ; cd12 + ds $1 + +wYDisplacementBetweenMenuItems:: ; cd13 + ds $1 + +wNumMenuItems:: ; cd14 + ds $1 + +wCursorTileNumber:: ; cd15 + ds $1 + +wTileBehindCursor:: ; cd16 + ds $1 + ds $10b ; During a duel, this is always $b after the first attack. ; $b is the bank where the functions associated to card or effect commands are. |