summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2016-01-17 19:09:39 +0100
committerxCrystal <rgr.crystal@gmail.com>2016-01-17 19:09:39 +0100
commitbc8350903659f0c9dad446ee7617779c78b44e2d (patch)
treebe572299c9852c925eee55c370a1202b1751ee1b
parent4b9f2a50f768f44d7f6ea4dc6efe72b8b6f3b616 (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-xsrc/engine/bank1.asm6
-rwxr-xr-xsrc/engine/bank1c.asm4
-rwxr-xr-xsrc/engine/bank2.asm14
-rwxr-xr-xsrc/engine/bank3.asm24
-rwxr-xr-xsrc/engine/bank4.asm4
-rwxr-xr-xsrc/engine/bank7.asm2
-rwxr-xr-xsrc/engine/home.asm85
-rwxr-xr-xsrc/wram.asm32
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.