[Bank 6] Analyze Keyboard Data & Add Macro.

This commit is contained in:
jidoc01
2019-06-27 22:49:08 +09:00
parent 1b3be55e0c
commit e9febd5e48
5 changed files with 255 additions and 134 deletions
+2 -2
View File
@@ -272,7 +272,7 @@ Func_8f05: ; 8f05 (2:4f05)
ld a, $14
ld bc, $0401
ld de, wcfb9
farcall Func_1ad89
farcall InputDeckName
ld a, [wcfb9]
or a
ret nz
@@ -935,7 +935,7 @@ Func_ba04: ; ba04 (2:7a04)
ldtx hl, PleaseSelectDeckText
call DrawWideTextBox_PrintText
ld a, $5
ld [wcea9], a
ld [wNamingScreenKeyboardHeight], a
ld hl, $73fe
ld d, h
ld a, l
+3 -3
View File
@@ -1110,7 +1110,7 @@ MainMenuFunctionTable:
MainMenu_NewGame: ; 12704 (4:6704)
farcall Func_c1b1
call InputPlayerName
call OnPlayerNamingScreen
farcall Func_1996e
call EnableSRAM
ld a, [s0a007]
@@ -1180,7 +1180,7 @@ Func_12871: ; 12871 (4:6871)
Func_1288c: ; 1288c (4:688c)
INCROM $1288c, $128a9
InputPlayerName:: ; 128a9 (4:68a9)
OnPlayerNamingScreen:: ; 128a9 (4:68a9)
; clear name buffer.
ld hl, wc500 ; c500: name buffer.
ld bc, $0010
@@ -1190,7 +1190,7 @@ InputPlayerName:: ; 128a9 (4:68a9)
; get player's name
; from the user into hl.
ld hl, wc500
farcall OnNamingScreen
farcall InputPlayerName
farcall Func_c1a4
call DoFrameIfLCDEnabled
+237 -123
View File
@@ -446,7 +446,7 @@ Func_006_673a: ; (6:673a)
pop hl
ret
Unknown_1a75e: ; data
WhatIsYourNameData: ; data
textitem 1, 1, WhatIsYourNameText
db $ff
@@ -482,7 +482,8 @@ ClearMemory: ; (6:6787)
pop af
ret
Func_006_6794: ; (6:6794)
; play different sfx by a.
PlaySFXByA: ; (6:6794)
push af
inc a
jr z, .asm_006_679c
@@ -495,17 +496,15 @@ Func_006_6794: ; (6:6794)
pop af
ret
; enter when naming starts,
; leave when naming ends.
; [input]
; hl: dest. buffer.
OnNamingScreen: ; (6:67a3)
; get player name from the user
; into hl
InputPlayerName: ; (6:67a3)
ld e, l
ld d, h
ld a, $0c
ld hl, Unknown_1a75e
ld bc, $0c01
call Func_006_6846
ld hl, WhatIsYourNameData
lb bc, $0c, $01
call InitializeInputName
call Set_OBJ_8x8
xor a
ld [wTileMapFill], a
@@ -519,48 +518,53 @@ OnNamingScreen: ; (6:67a3)
call SetVram0xFF
ld a, $02
ld [wd009], a
call Func_006_6892
call DrawNamingScreenBG
xor a
ld [wd006], a
ld [wcea4], a
ld [wNamingScreenCursorX], a
ld [wNamingScreenCursorY], a
ld a, $09
ld [wd005], a
ld a, $06
ld [wcea9], a
ld [wNamingScreenKeyboardHeight], a
ld a, $0f
ld [wceaa], a
ld a, $00
ld [wceab], a
.asm_006_67f1
.loop
ld a, $01
ld [wVBlankOAMCopyToggle], a
call DoFrame
call UpdateRNGSources
ldh a, [hDPadHeld]
and START
jr z, .on_start
jr z, .else
; if pressed start button.
ld a, $01
call Func_006_6794
call PlaySFXByA
call Func_006_6a07
ld a, $06
ld [wd006], a
ld [wNamingScreenCursorX], a
ld a, $05
ld [wcea4], a
ld [wNamingScreenCursorY], a
call Func_006_6a23
jr .asm_006_67f1
.on_start
call Func_006_6908
jr nc, .asm_006_67f1
jr .loop
.else
call NamingScreen_CheckButtonState
jr nc, .loop ; if not pressed, go back to the loop.
cp $ff
jr z, .asm_006_682b
call Func_006_6a87
jr nc, .asm_006_67f1
call Func_006_6880
jr z, .on_b_button
; on A button.
call NamingScreen_ProcessInput
jr nc, .loop
; if the player selected the end button,
; end its naming.
call FinalizeInputName
ret
.asm_006_682b
.on_b_button
; erase one character.
ld a, [wNamingScreenBufferLength]
or a
jr z, .asm_006_67f1
jr z, .loop
ld e, a
ld d, $00
ld hl, wNamingScreenBuffer
@@ -572,13 +576,14 @@ OnNamingScreen: ; (6:67a3)
dec [hl]
dec [hl]
call PrintPlayerNameFromInput
jr .asm_006_67f1
jr .loop
; a: length
; de: dest. pointer
; hl: data pointer
Func_006_6846:
ld [wd004], a
; it's called when naming(either player's or deck's) starts.
; a: maximum length of name.
; de: dest. pointer.
; hl: pointer to text item of the question.
InitializeInputName:
ld [wNamingScreenBufferMaxLength], a
push hl
ld hl, wd007
ld [hl], b
@@ -587,23 +592,27 @@ Func_006_6846:
pop hl
ld b, h
ld c, l
ld hl, wd002
; set the question string.
ld hl, wNamingScreenQuestionPointer
ld [hl], c
inc hl
ld [hl], b
ld hl, wd000
; set the destination buffer.
ld hl, wNamingScreenDestPointer
ld [hl], e
inc hl
ld [hl], d
; clear the name buffer.
ld a, $18
ld hl, wNamingScreenBuffer
call ClearMemory
ld hl, wNamingScreenBuffer
ld a, [wd004]
ld a, [wNamingScreenBufferMaxLength]
ld b, a
inc b
.loop
; copy data from de to hl.
; copy data from de to hl
; for b bytes.
ld a, [de]
inc de
ld [hli], a
@@ -615,32 +624,37 @@ Func_006_6846:
ld [wNamingScreenBufferLength], a
ret
Func_006_6880:
ld hl, wd000
FinalizeInputName:
ld hl, wNamingScreenDestPointer
ld e, [hl]
inc hl
ld d, [hl]
ld l, e
ld h, d
ld de, wNamingScreenBuffer
ld a, [wd004]
ld a, [wNamingScreenBufferMaxLength]
ld b, a
inc b
jr Func_006_6846.loop
jr InitializeInputName.loop
Func_006_6892:
; draws the keyboard frame
; and the question if it exists.
DrawNamingScreenBG:
call DrawTextboxForKeyboard
call PrintPlayerNameFromInput
ld hl, wd002
ld hl, wNamingScreenQuestionPointer
ld c, [hl]
inc hl
ld a, [hl]
ld h, a
or c
jr z, .put_text_end
; print the question string.
; ex) "What is your name?"
ld l, c
call PlaceTextItems
.put_text_end
; print "End".
ld hl, .data
call PlaceTextItems
ld hl, $0221
@@ -666,7 +680,7 @@ PrintPlayerNameFromInput:
ld e, [hl]
push de
call InitTextPrinting
ld a, [wd004]
ld a, [wNamingScreenBufferMaxLength]
ld e, a
ld a, $14
sub e
@@ -691,30 +705,35 @@ rept 10
endr
db $00 ; null
Func_006_6908:
; check if button pressed.
; if pressed, set the carry bit on.
NamingScreen_CheckButtonState:
xor a
ld [wcfe3], a
ldh a, [hDPadHeld]
or a
jp z, .asm_006_69d9
jp z, .no_press
; detected any button press.
ld b, a
ld a, [wcea9]
ld a, [wNamingScreenKeyboardHeight]
ld c, a
ld a, [wd006]
ld a, [wNamingScreenCursorX]
ld h, a
ld a, [wcea4]
ld a, [wNamingScreenCursorY]
ld l, a
bit 6, b
bit D_UP_F, b
jr z, .asm_006_692c
; up
dec a
bit 7, a
bit D_DOWN_F, a
jr z, .asm_006_69a7
ld a, c
dec a
jr .asm_006_69a7
.asm_006_692c
bit 7, b
bit D_DOWN_F, b
jr z, .asm_006_6937
; down
inc a
cp c
jr c, .asm_006_69a7
@@ -724,8 +743,9 @@ Func_006_6908:
ld a, [wd005]
ld c, a
ld a, h
bit 5, b
bit D_LEFT_F, b
jr z, .asm_006_6974
; left
ld d, a
ld a, $06
cp l
@@ -734,7 +754,7 @@ Func_006_6908:
push hl
push bc
push af
call Func_006_6b93
call GetCharacterInfoFromCursorPos
inc hl
inc hl
inc hl
@@ -760,14 +780,14 @@ Func_006_6908:
jr .asm_006_69aa
.asm_006_696b
dec a
bit 7, a
bit D_DOWN_F, a
jr z, .asm_006_69aa
ld a, c
dec a
jr .asm_006_69aa
.asm_006_6974
bit 4, b
jr z, .asm_006_69d9
bit D_RIGHT_F, b
jr z, .no_press
ld d, a
ld a, $06
cp l
@@ -776,7 +796,7 @@ Func_006_6908:
push hl
push bc
push af
call Func_006_6b93
call GetCharacterInfoFromCursorPos
inc hl
inc hl
inc hl
@@ -813,7 +833,7 @@ Func_006_6908:
ld h, a
.asm_006_69ab
push hl
call Func_006_6b93
call GetCharacterInfoFromCursorPos
inc hl
inc hl
inc hl
@@ -829,25 +849,25 @@ Func_006_6908:
pop de
pop hl
ld a, l
ld [wcea4], a
ld [wNamingScreenCursorY], a
ld a, h
ld [wd006], a
ld [wNamingScreenCursorX], a
xor a
ld [wcea3], a
ld a, $06
cp d
jp z, Func_006_6908
jp z, NamingScreen_CheckButtonState
ld a, $01
ld [wcfe3], a
.asm_006_69d9
.no_press
ldh a, [hKeysPressed]
and $03
and A_BUTTON | B_BUTTON
jr z, .asm_006_69ef
and $01
and A_BUTTON
jr nz, .asm_006_69e5
ld a, $ff
.asm_006_69e5
call Func_006_6794
call PlaySFXByA
push af
call Func_006_6a23
pop af
@@ -872,11 +892,11 @@ Func_006_6a07:
ld a, [wceab]
.asm_006_6a0a
ld e, a
ld a, [wd006]
ld a, [wNamingScreenCursorX]
ld h, a
ld a, [wcea4]
ld a, [wNamingScreenCursorY]
ld l, a
call Func_006_6b93
call GetCharacterInfoFromCursorPos
ld a, [hli]
ld c, a
ld b, [hl]
@@ -906,7 +926,7 @@ Func_006_6a28:
ld a, [wNamingScreenBufferLength]
srl a
ld d, a
ld a, [wd004]
ld a, [wNamingScreenBufferMaxLength]
srl a
ld e, a
ld a, d
@@ -955,15 +975,13 @@ rept $6a87-$6a77
db $ff
endr
; bc = xy coordinate(by each tile) in the naming screen
; hl = the pointer to its character information(by 6bytes)
; info. structure: (1) / (1) / (1) / character code(2) / (1)
Func_006_6a87:
ld a, [wd006]
; set the carry bit on if "End" was selected.
NamingScreen_ProcessInput:
ld a, [wNamingScreenCursorX]
ld h, a
ld a, [wcea4]
ld a, [wNamingScreenCursorY]
ld l, a
call Func_006_6b93
call GetCharacterInfoFromCursorPos
inc hl
inc hl
ld e, [hl]
@@ -971,7 +989,7 @@ Func_006_6a87:
ld a, [hli]
ld d, a
cp $09
jp z, .asm_006_6b5f
jp z, .on_end
cp $07
jr nz, .asm_006_6ab8
ld a, [wd009]
@@ -1004,7 +1022,7 @@ Func_006_6a87:
ld a, $01
.asm_006_6ace
ld [wd009], a
call Func_006_6892
call DrawNamingScreenBG
or a
ret
.asm_006_6ad6
@@ -1019,7 +1037,7 @@ Func_006_6a87:
cp c
jr nz, .asm_006_6af4
push hl
ld hl, $6cf9
ld hl, KeyboardData + ($6cf9 - $6baf)
call Func_006_6b61
pop hl
jr c, .asm_006_6b5d
@@ -1033,16 +1051,16 @@ Func_006_6a87:
cp c
jr nz, .asm_006_6b1d
push hl
ld hl, $6d5f
ld hl, KeyboardData + ($6d5f - $6baf)
call Func_006_6b61
pop hl
jr c, .asm_006_6b5d
.asm_006_6b09
ld a, [wNamingScreenBufferLength] ; cfff: current player name length(by byte).
ld a, [wNamingScreenBufferLength]
dec a
dec a
ld [wNamingScreenBufferLength], a
ld hl, wNamingScreenBuffer ; cfe7: temporary buffer for player name.
ld hl, wNamingScreenBuffer
push de
ld d, $00
ld e, a
@@ -1081,7 +1099,7 @@ Func_006_6a87:
ld a, [hl]
ld c, a
push hl
ld hl, wd004
ld hl, wNamingScreenBufferMaxLength
cp [hl]
pop hl
jr nz, .asm_006_6b4c
@@ -1111,7 +1129,7 @@ Func_006_6a87:
.asm_006_6b5d
or a
ret
.asm_006_6b5f
.on_end
scf
ret
@@ -1159,20 +1177,26 @@ Func_006_6b61:
scf
ret
Func_006_6b93:
; given the position of the current cursor,
; it returns the pointer to the proper information.
; h: position x.
; l: position y.
GetCharacterInfoFromCursorPos:
push de
; (information index) = (x) * (height) + (y)
; (height) = 0x05(Deck) or 0x06(Player)
ld e, l
ld d, h
ld a, [wcea9]
ld a, [wNamingScreenKeyboardHeight]
ld l, a
call HtimesL
ld a, l
add e
ld hl, .data
ld hl, KeyboardData
pop de
or a
ret z
.asm_006_6ba5
.loop
inc hl
inc hl
inc hl
@@ -1180,12 +1204,99 @@ Func_006_6b93:
inc hl
inc hl
dec a
jr nz, .asm_006_6ba5
jr nz, .loop
ret
.data
INCROM $1abaf, $1ad89
Func_1ad89: ; 1ad89 (6:6d89)
; a set of keyboard datum.
; unit: 6 bytes.
; structure:
; unk 1 (1) / unk 2 (1) / type 1 (1) / type 2 (1) / character code(2)
; - some of one byte characters have 0x0e in their high byte.
; - unused data contains its character code as zero.
KeyboardData: ; (6:6baf)
kbitem $04, $02, $11, $00, $0330
kbitem $06, $02, $12, $00, $0339
kbitem $08, $02, $13, $00, $0342
kbitem $0a, $02, $14, $00, $006f
kbitem $0c, $02, $15, $00, $0064
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $04, $16, $00, $0331
kbitem $06, $04, $17, $00, $033a
kbitem $08, $04, $18, $00, $0343
kbitem $0a, $04, $19, $00, $035d
kbitem $0c, $04, $1a, $00, $0065
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $06, $1b, $00, $0332
kbitem $06, $06, $1c, $00, $033b
kbitem $08, $06, $1d, $00, $0344
kbitem $0a, $06, $1e, $00, $006a
kbitem $0c, $06, $1f, $00, $0066
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $08, $20, $00, $0333
kbitem $06, $08, $21, $00, $033c
kbitem $08, $08, $22, $00, $0345
kbitem $0a, $08, $23, $00, $006b
kbitem $0c, $08, $24, $00, $0067
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $0a, $25, $00, $0334
kbitem $06, $0a, $26, $00, $033d
kbitem $08, $0a, $27, $00, $0346
kbitem $0a, $0a, $28, $00, $0077
kbitem $0c, $0a, $29, $00, $0068
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $0c, $2a, $00, $0335
kbitem $06, $0c, $2b, $00, $033e
kbitem $08, $0c, $2c, $00, $0347
kbitem $0a, $0c, $2d, $00, $0060
kbitem $0c, $0c, $2e, $00, $0069
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $0e, $2f, $00, $0336
kbitem $06, $0e, $30, $00, $033f
kbitem $08, $0e, $31, $00, $0348
kbitem $0a, $0e, $32, $00, $0061
kbitem $0c, $0e, $33, $00, $0513
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $10, $34, $00, $0337
kbitem $06, $10, $35, $00, $0340
kbitem $08, $10, $36, $00, $0349
kbitem $0a, $10, $3c, $00, $0062
kbitem $0c, $10, $3d, $00, $0511
kbitem $10, $0f, $01, $09, $0000
kbitem $04, $12, $37, $00, $0338
kbitem $06, $12, $38, $00, $0341
kbitem $08, $12, $39, $00, $006e
kbitem $0a, $12, $3a, $00, $0063
kbitem $0c, $12, $3b, $00, $0070
kbitem $10, $0f, $01, $09, $0000
kbitem $00, $00, $00, $00, $0000
kbitem $16, $0e, $3e, $00, $0e17
kbitem $3f, $00, $18, $0e, $0040
kbitem $19, $0e, $41, $00, $0e1a
kbitem $42, $00, $1b, $0e, $0043
kbitem $1c, $0e, $44, $00, $0e1d
kbitem $45, $00, $1e, $0e, $0046
kbitem $1f, $0e, $47, $00, $0e20
kbitem $48, $00, $21, $0e, $0049
kbitem $22, $0e, $4a, $00, $0e23
kbitem $4b, $00, $24, $0e, $004c
kbitem $2a, $0e, $4d, $00, $0e2b
kbitem $4e, $00, $2c, $0e, $004f
kbitem $2d, $0e, $50, $00, $0e2e
kbitem $51, $00, $52, $0e, $004d
kbitem $53, $0e, $4e, $00, $0e54
kbitem $4f, $00, $55, $0e, $0050
kbitem $56, $0e, $51, $00, $0000
kbitem $2a, $0e, $52, $00, $0e2b
kbitem $53, $00, $2c, $0e, $0054
kbitem $2d, $0e, $55, $00, $0e2e
kbitem $56, $00, $4d, $0e, $0052
kbitem $4e, $0e, $53, $00, $0e4f
kbitem $54, $00, $50, $0e, $0055
kbitem $51, $0e, $56, $00, $0000
; get deck name from the user
; into de.
InputDeckName: ; 1ad89 (6:6d89)
push af
ld a, [de]
or a
@@ -1195,7 +1306,7 @@ Func_1ad89: ; 1ad89 (6:6d89)
.asm_006_6d91
pop af
inc a
call Func_006_6846
call InitializeInputName
call Set_OBJ_8x8
xor a
ld [wTileMapFill], a
@@ -1206,17 +1317,17 @@ Func_1ad89: ; 1ad89 (6:6d89)
call LoadSymbolsFont
lb de, $38, $bf
call SetupText
call FillVramWithF0
call FillVramWith0xF0
xor a
ld [wd009], a
call Func_006_6e99
xor a
ld [wd006], a
ld [wcea4], a
ld [wNamingScreenCursorX], a
ld [wNamingScreenCursorY], a
ld a, $09
ld [wd005], a
ld a, $07
ld [wcea9], a
ld [wNamingScreenKeyboardHeight], a
ld a, $0f
ld [wceaa], a
ld a, $00
@@ -1230,11 +1341,11 @@ Func_1ad89: ; 1ad89 (6:6d89)
and START
jr z, .on_start
ld a, $01
call Func_006_6794
call PlaySFXByA
call Func_006_6fa1
ld a, $06
ld [wd006], a
ld [wcea4], a
ld [wNamingScreenCursorX], a
ld [wNamingScreenCursorY], a
call Func_006_6fbd
jr .asm_006_6dd6
.on_start
@@ -1244,8 +1355,8 @@ Func_1ad89: ; 1ad89 (6:6d89)
jr z, .asm_006_6e1c
call Func_006_6ec3
jr nc, .asm_006_6dd6
call Func_006_6880
ld hl, wd000
call FinalizeInputName
ld hl, wNamingScreenDestPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1274,7 +1385,7 @@ Func_1ad89: ; 1ad89 (6:6d89)
; fill v0Tiles0 for 0x10 tiles
; with 0xF0.
FillVramWithF0:
FillVramWith0xF0:
ld hl, v0Tiles0
ld de, .data
ld b, $00
@@ -1329,18 +1440,21 @@ endr
Func_006_6e99:
call DrawTextboxForKeyboard
call Func_006_6e59
ld hl, wd002
ld hl, wNamingScreenQuestionPointer
ld c, [hl]
inc hl
ld a, [hl]
ld h, a
or c
jr z, .asm_006_6ead
jr z, .print
; print the question string.
ld l, c
call PlaceTextItems
.asm_006_6ead
ld hl, Func_006_6892.data
.print
; print "End"
ld hl, DrawNamingScreenBG.data
call PlaceTextItems
; print the keyboard characters.
ldtx hl, NamingScreenKeyboardText ; "A B C D..."
ld de, $0204
call InitTextPrinting
@@ -1349,9 +1463,9 @@ Func_006_6e99:
ret
Func_006_6ec3:
ld a, [wd006]
ld a, [wNamingScreenCursorX]
ld h, a
ld a, [wcea4]
ld a, [wNamingScreenCursorY]
ld l, a
call Func_006_7000
inc hl
@@ -1367,7 +1481,7 @@ Func_006_6ec3:
ld a, [hl]
ld c, a
push hl
ld hl, wd004
ld hl, wNamingScreenBufferMaxLength
cp [hl]
pop hl
jr nz, .asm_006_6eeb
@@ -1394,11 +1508,11 @@ Func_006_6efb:
or a
jp z, .asm_006_6f73
ld b, a
ld a, [wcea9]
ld a, [wNamingScreenKeyboardHeight]
ld c, a
ld a, [wd006]
ld a, [wNamingScreenCursorX]
ld h, a
ld a, [wcea4]
ld a, [wNamingScreenCursorY]
ld l, a
bit 6, b
jr z, .asm_006_6f1f
@@ -1454,9 +1568,9 @@ Func_006_6efb:
pop de
pop hl
ld a, l
ld [wcea4], a
ld [wNamingScreenCursorY], a
ld a, h
ld [wd006], a
ld [wNamingScreenCursorX], a
xor a
ld [wcea3], a
ld a, $02
@@ -1472,7 +1586,7 @@ Func_006_6efb:
jr nz, .asm_006_6f7f
ld a, $ff
.asm_006_6f7f
call Func_006_6794
call PlaySFXByA
push af
call Func_006_6fbd
pop af
@@ -1497,9 +1611,9 @@ Func_006_6fa1:
ld a, [wceab]
.asm_006_6fa4
ld e, a
ld a, [wd006]
ld a, [wNamingScreenCursorX]
ld h, a
ld a, [wcea4]
ld a, [wNamingScreenCursorY]
ld l, a
call Func_006_7000
ld a, [hli]
@@ -1530,7 +1644,7 @@ Func_006_6fc2:
jr z, .asm_006_6ffb
ld a, [wNamingScreenBufferLength]
ld d, a
ld a, [wd004]
ld a, [wNamingScreenBufferMaxLength]
ld e, a
ld a, d
cp e
@@ -1564,7 +1678,7 @@ Func_006_7000:
push de
ld e, l
ld d, h
ld a, [wcea9]
ld a, [wNamingScreenKeyboardHeight]
ld l, a
call HtimesL
ld a, l
+5
View File
@@ -89,3 +89,8 @@ textitem: MACRO
db \1, \2
tx \3
ENDM
kbitem: MACRO
db \1, \2, \3, \4
dw \5
ENDM
+8 -6
View File
@@ -1386,13 +1386,13 @@ wcea1:: ; cea1
wcea3:: ; cea3
ds $1
wcea4:: ; cea4
wNamingScreenCursorY:: ; cea4
ds $1
wcea5:: ; cea5
ds $4
wcea9:: ; cea9
wNamingScreenKeyboardHeight:: ; cea9
ds $1
wceaa:: ; ceaa
@@ -1478,19 +1478,21 @@ wNamingScreenBufferLength:: ; cfff
ds $1
SECTION "WRAM1", WRAMX
wd000:: ; d000
wNamingScreenDestPointer:: ; d000
ds $2
wd002:: ; d002
wNamingScreenQuestionPointer:: ; d002
ds $2
wd004:: ; d004
; max length of name buffer.
; it's given for limiting the player's input.
wNamingScreenBufferMaxLength:: ; d004
ds $1
wd005:: ; d005
ds $1
wd006:: ; d006
wNamingScreenCursorX:: ; d006
ds $1
wd007:: ; d007