summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjidoc01 <jidoc01@naver.com>2019-06-26 23:37:35 +0900
committerjidoc01 <jidoc01@naver.com>2019-06-26 23:41:01 +0900
commit0919ad412409085f88ab0bc00ba36c8e833f286d (patch)
treed48b2de3363db4a53a26466f9db60387d2d7a65f /src
parent218885d0e33412e249eba132ddfa4ffcc5056a0b (diff)
[Bank 6] Edit some other banks related to bank 6.
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank01.asm4
-rw-r--r--src/engine/bank04.asm43
-rw-r--r--src/engine/bank06.asm151
-rw-r--r--src/text/text2.asm2
-rw-r--r--src/text/text_offsets.asm2
-rw-r--r--src/wram.asm12
6 files changed, 119 insertions, 95 deletions
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm
index 4647146..2df1e9d 100644
--- a/src/engine/bank01.asm
+++ b/src/engine/bank01.asm
@@ -7774,12 +7774,12 @@ Func_758f: ; 758f (1:758f)
INCROM $758f, $7594
Func_7594: ; 7594 (1:7594)
- farcall $6, $661f
+ farcall Func_1a61f
ret
; 0x7599
Func_7599: ; 7599 (1:7599)
- farcall $6, $668d
+ farcall Func_006_668d
ret
; 0x759e
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index 6d29486..36e17a7 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -1110,7 +1110,7 @@ MainMenuFunctionTable:
MainMenu_NewGame: ; 12704 (4:6704)
farcall Func_c1b1
- call Func_128a9
+ call InputPlayerName
farcall Func_1996e
call EnableSRAM
ld a, [s0a007]
@@ -1180,8 +1180,45 @@ Func_12871: ; 12871 (4:6871)
Func_1288c: ; 1288c (4:688c)
INCROM $1288c, $128a9
-Func_128a9: ; 128a9 (4:68a9)
- INCROM $128a9, $1296e
+InputPlayerName:: ; 128a9 (4:68a9)
+ ld hl, wc500
+ ld bc, $0010
+ ld a, $00
+ call FillMemoryWithA
+ ld hl, wc500
+ ; get player's name from the user
+ ; into hl.
+ farcall OnNamingScreen
+ farcall Func_c1a4
+ call DoFrameIfLCDEnabled
+ call DisableLCD
+ ld hl, wc500
+ ; get the first byte of the name buffer.
+ ld a, [hl]
+ or a
+ ; check if anything typed.
+ jr nz, .no_name
+ ld hl, .data
+.no_name
+ ; set the default name.
+ ld de, sPlayerName
+ ld bc, $0010
+ call EnableSRAM
+ call CopyDataHLtoDE_SaveRegisters
+ ; it seems for integrity checking.
+ call UpdateRNGSources
+ ld [sPlayerName+$e], a
+ call UpdateRNGSources
+ ld [sPlayerName+$f], a
+ call DisableSRAM
+ ret
+.data
+ ; "MARK": default player name.
+ ; last two bytes are reserved for RNG.
+ db $03, $3C, $03, $30, $03, $41, $03, $3A
+ db $00, $00, $00, $00, $00, $00, $10, $12
+Unknown_128fb: ; 128fb
+ INCROM $128fb, $1296e
Func_1296e: ; 1296e (4:696e)
INCROM $1296e, $1299f
diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm
index a4a577d..4b72c64 100644
--- a/src/engine/bank06.asm
+++ b/src/engine/bank06.asm
@@ -183,7 +183,7 @@ Func_1996e: ; 1996e (6:596e)
ld [hl], a
inc l
jr nz, .asm_199a2
- ld hl, $bc00
+ ld hl, sCurrentDuel
xor a
ld [hli], a
ld [hli], a
@@ -319,34 +319,30 @@ Func_1a61f: ; 1a61f (6:661f)
ret
; 0x1a68d
- ld a, $c2
- ldh [$97], a
+Func_006_668d:
+ ld a, $c2 ; player's turn
+ ldh [hWhoseTurn], a
ld h, a
ld l, $00
-
.asm_006_6694
xor a
ld [hli], a
ld a, l
cp $3c
jr c, .asm_006_6694
-
xor a
ld hl, wBoosterCardsDrawn
ld de, wDuelTempList
ld c, $00
-
.asm_006_66a4
ld a, [hli]
or a
jr z, .asm_006_66ae
-
ld a, c
ld [de], a
inc de
inc c
jr .asm_006_66a4
-
.asm_006_66ae
ld a, $ff
ld [de], a
@@ -364,18 +360,17 @@ Func_1a61f: ; 1a61f (6:661f)
CommentedOut_1a6cc: ; 1a6cc (6:66cc)
ret
- ldh a, [$81]
+Func_006_66cd: ; (6:66cd)
+ ldh a, [hBankSRAM]
or a
ret nz
-
push hl
push de
push bc
- ld hl, $a100
+ ld hl, sCardCollection
ld bc, $0250
- ld a, [$a00b]
+ ld a, [$s0a000 + $b]
ld e, a
-
.asm_006_66de
ld a, [hli]
xor e
@@ -384,21 +379,19 @@ CommentedOut_1a6cc: ; 1a6cc (6:66cc)
ld a, c
or b
jr nz, .asm_006_66de
-
ld a, e
pop bc
pop de
pop hl
or a
ret z
-
xor a
ld [wTileMapFill], a
ld hl, wDoFrameFunction
ld [hli], a
ld [hl], a
- ldh [$92], a
- ldh [$93], a
+ ldh [hSCX], a
+ ldh [hSCY], a
bank1call ZeroObjectPositionsAndToggleOAMCopy
call EmptyScreen
call LoadSymbolsFont
@@ -406,13 +399,11 @@ CommentedOut_1a6cc: ; 1a6cc (6:66cc)
ld a, [wConsole]
cp $01
jr nz, .asm_006_6719
-
ld a, $e4
ld [wOBP0], a
ld [wBGP], a
ld a, $01
ld [wFlushPaletteFlags], a
-
.asm_006_6719
lb de, $38, $9f
call SetupText
@@ -421,25 +412,23 @@ CommentedOut_1a6cc: ; 1a6cc (6:66cc)
ld a, $0a
ld [$0000], a
xor a
- ldh [$81], a
+ ldh [hBankSRAM], a
ld [$4000], a
ld [$a000], a
ld [$0000], a
jp Reset
-
ret
- ldh a, [$81]
+Func_006_673a: ; (6:673a)
+ ldh a, [hBankSRAM]
or a
ret nz
-
push hl
push de
push bc
- ld hl, $a100
+ ld hl, sCardCollection
ld bc, $0250
ld e, $00
-
.asm_006_6749
ld a, [hli]
xor e
@@ -448,7 +437,6 @@ CommentedOut_1a6cc: ; 1a6cc (6:66cc)
ld a, c
or b
jr nz, .asm_006_6749
-
ld a, $0a
ld [$0000], a
ld a, e
@@ -458,43 +446,41 @@ CommentedOut_1a6cc: ; 1a6cc (6:66cc)
pop hl
ret
-Unknown_1a75e:
- INCROM $1a75e,$1a787
+Unknown_1a75e: ; data
+ INCROM $1a75e, $1a787
-; set zero from hl in b bytes
-ClearMemory:
+; set each byte zero from hl for b bytes
+ClearMemory: ; (6:6787)
push af
push bc
push hl
ld b, a
xor a
-
.loop
ld [hli], a
dec b
jr nz, .loop
-
pop hl
pop bc
pop af
ret
-Func_006_6794:
+Func_006_6794: ; (6:6794)
push af
inc a
jr z, .asm_006_679c
-
ld a, $02
jr .asm_006_679e
-
.asm_006_679c
ld a, $03
-
.asm_006_679e
call PlaySFX
pop af
ret
+; enter when naming starts,
+; leave when naming ends.
+OnNamingScreen: ; (6:67a3)
ld e, l
ld d, h
ld a, $0c
@@ -526,16 +512,14 @@ Func_006_6794:
ld [wceaa], a
ld a, $00
ld [wceab], a
-
.asm_006_67f1
ld a, $01
ld [wVBlankOAMCopyToggle], a
call DoFrame
call UpdateRNGSources
- ldh a, [$8f]
- and $08
- jr z, .asm_006_6819
-
+ ldh a, [hDPadHeld]
+ and START
+ jr z, .on_start
ld a, $01
call Func_006_6794
call Func_006_6a07
@@ -545,25 +529,19 @@ Func_006_6794:
ld [wcea4], a
call Func_006_6a23
jr .asm_006_67f1
-
-.asm_006_6819
+.on_start
call Func_006_6908
jr nc, .asm_006_67f1
-
cp $ff
jr z, .asm_006_682b
-
call Func_006_6a87
jr nc, .asm_006_67f1
-
call Func_006_6880
ret
-
.asm_006_682b
ld a, [wNamingScreenBufferLength]
or a
jr z, .asm_006_67f1
-
ld e, a
ld d, $00
ld hl, wNamingScreenBuffer
@@ -576,7 +554,7 @@ Func_006_6794:
dec [hl]
call Func_006_68cb
jr .asm_006_67f1
-
+
Func_006_6846:
ld [wd004], a
push hl
@@ -602,14 +580,12 @@ Func_006_6846:
ld a, [wd004]
ld b, a
inc b
-
.asm_006_686f
ld a, [de]
inc de
ld [hli], a
dec b
- jr nz, Func_006_6846.asm_006_686f
-
+ jr nz, .asm_006_686f
ld hl, wNamingScreenBuffer
call GetTextSizeInTiles
ld a, c
@@ -639,10 +615,8 @@ Func_006_6892:
ld h, a
or c
jr z, .asm_006_68a6
-
ld l, c
call PlaceTextItems
-
.asm_006_68a6
ld hl, .data
call PlaceTextItems
@@ -652,9 +626,9 @@ Func_006_6892:
call ProcessTextFromID
call EnableLCD
ret
-
.data
- db $0f, $10, $1d, $02, $ff
+ textitem $0f, $10, Text021d ; "End"
+ db $ff
Func_006_68c1:
ld de, $0003
@@ -685,7 +659,7 @@ Func_006_68cb:
call ProcessText
ret
.char_underbar
-rept $a
+rept 10
db $56, $03 ; "_"
endr
db $56, $00
@@ -693,7 +667,7 @@ endr
Func_006_6908:
xor a
ld [wcfe3], a
- ldh a, [$8f]
+ ldh a, [hDPadHeld]
or a
jp z, .asm_006_69d9
ld b, a
@@ -839,7 +813,7 @@ Func_006_6908:
ld a, $01
ld [wcfe3], a
.asm_006_69d9
- ldh a, [$91]
+ ldh a, [hKeysPressed]
and $03
jr z, .asm_006_69ef
and $01
@@ -1178,7 +1152,7 @@ Func_006_6b93:
jr nz, .asm_006_6ba5
ret
.data
- INCROM $1abaf,$1ad89
+ INCROM $1abaf, $1ad89
Func_1ad89: ; 1ad89 (6:6d89)
push af
@@ -1199,9 +1173,9 @@ Func_1ad89: ; 1ad89 (6:6d89)
ld a, $01
ld [wVBlankOAMCopyToggle], a
call LoadSymbolsFont
- ld de, $38bf
+ lb de, $38, $bf
call SetupText
- call Func_006_6e37
+ call FillVramWithF0
xor a
ld [wd009], a
call Func_006_6e99
@@ -1221,9 +1195,9 @@ Func_1ad89: ; 1ad89 (6:6d89)
ld [wVBlankOAMCopyToggle], a
call DoFrame
call UpdateRNGSources
- ldh a, [$8f]
- and $08
- jr z, .asm_006_6dfc
+ ldh a, [hDPadHeld]
+ and START
+ jr z, .on_start
ld a, $01
call Func_006_6794
call Func_006_6fa1
@@ -1232,7 +1206,7 @@ Func_1ad89: ; 1ad89 (6:6d89)
ld [wcea4], a
call Func_006_6fbd
jr .asm_006_6dd6
-.asm_006_6dfc
+.on_start
call Func_006_6efb
jr nc, .asm_006_6dd6
cp $ff
@@ -1267,7 +1241,9 @@ Func_1ad89: ; 1ad89 (6:6d89)
call Func_006_6e59
jp .asm_006_6dd6
-Func_006_6e37:
+; fill v0Tiles0 for 0x10 tiles
+; with 0xF0.
+FillVramWithF0:
ld hl, v0Tiles0
ld de, .data
ld b, $00
@@ -1281,7 +1257,7 @@ Func_006_6e37:
ld [hli], a
jr .asm_006_6e3f
.data
-rept $6e58-$6e48
+rept $10
db $f0
endr
@@ -1313,7 +1289,11 @@ Func_006_6e59:
call ProcessText
ret
.data
- INCROM $1ae83,$1ae99
+ db $06
+rept $14
+ db $5f
+endr
+ db $00
Func_006_6e99:
call Func_006_68c1
@@ -1328,9 +1308,9 @@ Func_006_6e99:
ld l, c
call PlaceTextItems
.asm_006_6ead
- ld hl, $68bc
+ ld hl, Func_006_6892.data
call PlaceTextItems
- ld hl, $0222
+ ldtx hl, NamingScreenKeyboardText ; "A B C D..."
ld de, $0204
call InitTextPrinting
call ProcessTextFromID
@@ -1379,7 +1359,7 @@ Func_006_6ec3:
Func_006_6efb:
xor a
ld [wcfe3], a
- ldh a, [$8f]
+ ldh a, [hDPadHeld]
or a
jp z, .asm_006_6f73
ld b, a
@@ -1454,7 +1434,7 @@ Func_006_6efb:
ld a, $01
ld [wcfe3], a
.asm_006_6f73
- ldh a, [$91]
+ ldh a, [hKeysPressed]
and $03
jr z, .asm_006_6f89
and $01
@@ -1572,7 +1552,7 @@ Func_006_7000:
; a bunch of data
Unknown_006_7019:
- INCROM $1b019,$1ba12
+ INCROM $1b019, $1ba12
Func_006_7a12: ; 1ba12
push af
@@ -1590,7 +1570,7 @@ Func_006_7a12: ; 1ba12
call Func_006_7a5b
call Func_006_7a7d
push hl
- ld de, $d0aa
+ ld de, wd0aa
ld h, b
ld l, $02
call HtimesL
@@ -1615,7 +1595,7 @@ Func_006_7a4c:
ld l, b
ld h, $54
call HtimesL
- ld de, $a350
+ ld de, s0a350
add hl, de
ld d, h
ld e, l
@@ -1639,7 +1619,6 @@ Func_006_7a5b:
ld b, a
or a
jr z, .asm_006_7a77
-
ld a, [de]
inc de
ld c, a
@@ -1664,10 +1643,10 @@ Func_006_7a7d:
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, $d089
+ ld de, wd089
call CopyText
pop hl
- ld de, $d089
+ ld de, wd089
.asm_006_7a8d
ld a, [de]
ld [hli], a
@@ -1681,8 +1660,11 @@ Func_006_7a7d:
inc hl
inc hl
ret
+
+; pointed from 0xb87e: [06|9A|7A]
+Func_006_7a9a: ; (6:7a9a)
xor a
- ld [$d0a6], a
+ ld [wd0a6], a
ld a, $01
.asm_006_7aa0
call Func_006_7ae4
@@ -1726,15 +1708,12 @@ Func_006_7a7d:
Func_006_7ae4:
push af
- ld hl, $d088
+ ld hl, wd088
ld b, [hl]
- rst $28
- ld [bc], a
- dec h
- db $76
+ farcall $2, $7625
jr c, .asm_006_7af5
pop af
- ld [$d0a6], a
+ ld [wd0a6], a
or a
ret
.asm_006_7af5
diff --git a/src/text/text2.asm b/src/text/text2.asm
index 6a37642..e573cd6 100644
--- a/src/text/text2.asm
+++ b/src/text/text2.asm
@@ -1580,7 +1580,7 @@ Text0221: ; 3b8f2 (e:78f2)
textfw0 " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "
done
-Text0222: ; 3b97b (e:797b)
+NamingScreenKeyboardText: ; 3b97b (e:797b)
textfw3 "A", " ", "B", " ", "C", " ", "D", " ", "E", " ", "F", " ", "G", " ", "H", " ", "I"
line ""
textfw3 "J", " ", "K", " ", "L", " ", "M", " ", "N", " ", "O", " ", "P", " ", "Q", " ", "R"
diff --git a/src/text/text_offsets.asm b/src/text/text_offsets.asm
index bd1da35..3f981c6 100644
--- a/src/text/text_offsets.asm
+++ b/src/text/text_offsets.asm
@@ -547,7 +547,7 @@ TextOffsets:: ; 34000 (d:4000)
textpointer Text021f ; 0x021f
textpointer Text0220 ; 0x0220
textpointer Text0221 ; 0x0221
- textpointer Text0222 ; 0x0222
+ textpointer NamingScreenKeyboardText ; 0x0222
textpointer NewDeckText ; 0x0223
textpointer PleaseSelectDeckText ; 0x0224
textpointer Text0225 ; 0x0225
diff --git a/src/wram.asm b/src/wram.asm
index 050059c..c765831 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -1513,7 +1513,11 @@ wd087:: ; d087
wd088:: ; d088
ds $1
- ds $19
+wd089:: ; d089
+ ds $1
+
+wd08a:: ; d08a
+ ds $18
wd0a2:: ; d0a2
ds $2
@@ -1524,7 +1528,11 @@ wd0a4:: ; d0a4
wd0a5:: ; d0a5
ds $1
- ds $3
+wd0a6:: ; d0a6
+ ds $1
+
+dw0a7:: ; d0a7
+ ds $2
wd0a9:: ; d0a9
ds $1