summaryrefslogtreecommitdiff
path: root/src/engine/bank04.asm
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2019-06-30 18:10:42 +0200
committerGitHub <noreply@github.com>2019-06-30 18:10:42 +0200
commit880d8b42d8013dd2fc1f4a7424f9621c137cee6b (patch)
tree5b9990d43df4387e67ac5fed7f93e7d6022bdeef /src/engine/bank04.asm
parentb82a3d3d0fd0cfa8d378883dca582cbee1d0b1f8 (diff)
parenta6329757914a3137a5d71b83d522aaeadaf227e6 (diff)
Merge pull request #51 from jidoc01/master
Disassemble bank 6
Diffstat (limited to 'src/engine/bank04.asm')
-rw-r--r--src/engine/bank04.asm51
1 files changed, 47 insertions, 4 deletions
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index 6d29486..ffbef50 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -160,7 +160,7 @@ BoosterPack_1031b: ; 1031b (4:431b)
ld [wVBlankOAMCopyToggle], a
ld a, $4
ld [wTextBoxFrameType], a
- farcall $1, $7599
+ farcall Func_7599
farcall Func_c1a4
call DoFrameIfLCDEnabled
pop af
@@ -1110,7 +1110,7 @@ MainMenuFunctionTable:
MainMenu_NewGame: ; 12704 (4:6704)
farcall Func_c1b1
- call Func_128a9
+ call DisplayPlayerNamingScreen
farcall Func_1996e
call EnableSRAM
ld a, [s0a007]
@@ -1180,8 +1180,51 @@ Func_12871: ; 12871 (4:6871)
Func_1288c: ; 1288c (4:688c)
INCROM $1288c, $128a9
-Func_128a9: ; 128a9 (4:68a9)
- INCROM $128a9, $1296e
+DisplayPlayerNamingScreen:: ; 128a9 (4:68a9)
+ ; clear the name buffer.
+ ld hl, wNameBuffer ; c500: name buffer.
+ ld bc, NAME_BUFFER_LENGTH
+ ld a, TX_END
+ call FillMemoryWithA
+
+ ; get player's name
+ ; from the user into hl.
+ ld hl, wNameBuffer
+ farcall InputPlayerName
+
+ farcall Func_c1a4
+ call DoFrameIfLCDEnabled
+ call DisableLCD
+ ld hl, wNameBuffer
+ ; 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, NAME_BUFFER_LENGTH
+ 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.
+ textfw3 "M", "A", "R", "K"
+rept 6
+ done
+endr
+ db $10, $12
+Unknown_128fb: ; 128fb
+ INCROM $128fb, $1296e
Func_1296e: ; 1296e (4:696e)
INCROM $1296e, $1299f