summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank01.asm1
-rw-r--r--src/engine/bank06.asm5414
-rw-r--r--src/engine/home.asm2
-rw-r--r--src/wram.asm36
4 files changed, 1407 insertions, 4046 deletions
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm
index 1fca015..4647146 100644
--- a/src/engine/bank01.asm
+++ b/src/engine/bank01.asm
@@ -3695,6 +3695,7 @@ DisplayCardPageOnLeftOrRightPressed: ; 57cd (1:57cd)
ret
; 0x57df
+Func_57df:
INCROM $57df, $5892
; display the previous valid card page
diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm
index bf0a55e..a4a577d 100644
--- a/src/engine/bank06.asm
+++ b/src/engine/bank06.asm
@@ -266,32 +266,33 @@ Func_1a61f: ; 1a61f (6:661f)
call SetupText
pop af
or a
- jr nz, .asm_1a640
+ jr nz, .else
ld a, $40
- call $663b
+ call .legendary_card_text
ld a, $5f
- call $663b
+ call .legendary_card_text
ld a, $76
- call $663b
+ call .legendary_card_text
ld a, $c1
+.legendary_card_text
ldtx hl, ReceivedLegendaryCardText
- jr .asm_1a660
-.asm_1a640
+ jr .print_text
+.else
ldtx hl, ReceivedCardText
cp $1e
- jr z, .asm_1a660
+ jr z, .print_text
cp $43
- jr z, .asm_1a660
+ jr z, .print_text
ldtx hl, ReceivedPromotionalFlyingPikachuText
cp $64
- jr z, .asm_1a660
+ jr z, .print_text
ldtx hl, ReceivedPromotionalSurfingPikachuText
cp $65
- jr z, .asm_1a660
+ jr z, .print_text
cp $66
- jr z, .asm_1a660
+ jr z, .print_text
ldtx hl, ReceivedPromotionalCardText
-.asm_1a660
+.print_text
push hl
ld e, a
ld d, $0
@@ -307,4107 +308,1440 @@ Func_1a61f: ; 1a61f (6:661f)
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
pop hl
- bank1call $5e5f
-.asm_1a680
+ bank1call _DisplayCardDetailScreen
+.loop
call AssertSongFinished
or a
- jr nz, .asm_1a680
+ jr nz, .loop
call ResumeSong
- bank1call $5773
+ bank1call OpenCardPage_FromHand
ret
; 0x1a68d
+ ld a, $c2
+ ldh [$97], a
+ ld h, a
+ ld l, $00
- ld a, $c2
- ldh [$97], a
- ld h, a
- ld l, $00
-
-jr_006_6694:
- xor a
- ld [hl+], a
- ld a, l
- cp $3c
- jr c, jr_006_6694
+.asm_006_6694
+ xor a
+ ld [hli], a
+ ld a, l
+ cp $3c
+ jr c, .asm_006_6694
- xor a
- ld hl, $c400
- ld de, $c510
- ld c, $00
+ xor a
+ ld hl, wBoosterCardsDrawn
+ ld de, wDuelTempList
+ ld c, $00
-jr_006_66a4:
- ld a, [hl+]
- or a
- jr z, jr_006_66ae
+.asm_006_66a4
+ ld a, [hli]
+ or a
+ jr z, .asm_006_66ae
- ld a, c
- ld [de], a
- inc de
- inc c
- jr jr_006_66a4
+ ld a, c
+ ld [de], a
+ inc de
+ inc c
+ jr .asm_006_66a4
-jr_006_66ae:
- ld a, $ff
- ld [de], a
- ld de, $389f
- call $2275
- rst $18
- sbc d
- ld d, l
- ld hl, $0056
- ld de, $0196
- rst $18
- add b
- ld d, l
- ld a, $09
- ld [$cbd6], a
- rst $18
- ldh a, [rHDMA5]
+.asm_006_66ae
+ ld a, $ff
+ ld [de], a
+ lb de, $38, $9f
+ call SetupText
+ bank1call InitAndDrawCardListScreenLayout
+ ld hl, $0056
+ ld de, $0196
+ bank1call SetCardListHeaderText
+ ld a, A_BUTTON | START
+ ld [wNoItemSelectionMenuKeys], a
+ bank1call DisplayCardList
ret
CommentedOut_1a6cc: ; 1a6cc (6:66cc)
- ret
-
- ldh a, [$81]
- or a
- ret nz
-
- push hl
- push de
- push bc
- ld hl, $a100
- ld bc, $0250
- ld a, [$a00b]
- ld e, a
-
-jr_006_66de:
- ld a, [hl+]
- xor e
- ld e, a
- dec bc
- ld a, c
- or b
- jr nz, jr_006_66de
-
- ld a, e
- pop bc
- pop de
- pop hl
- or a
- ret z
-
- xor a
- ld [$cab6], a
- ld hl, $cad3
- ld [hl+], a
- ld [hl], a
- ldh [$92], a
- ldh [$93], a
- rst $18
- sub b
- ld e, c
- call $04a2
- call $2119
- rst $18
- db $eb
- ld e, d
- ld a, [$cab4]
- cp $01
- jr nz, jr_006_6719
-
- ld a, $e4
- ld [$cabd], a
- ld [$cabc], a
- ld a, $01
- ld [$cabf], a
-
-jr_006_6719:
- ld de, $389f
- call $2275
- ld hl, $00a3
- rst $18
- rst $18
- ld d, a
- ld a, $0a
- ld [$0000], a
- xor a
- ldh [$81], a
- ld [$4000], a
- ld [$a000], a
- ld [$0000], a
- jp $051b
-
-
- ret
-
-
- ldh a, [$81]
- or a
- ret nz
-
- push hl
- push de
- push bc
- ld hl, $a100
- ld bc, $0250
- ld e, $00
-
-jr_006_6749:
- ld a, [hl+]
- xor e
- ld e, a
- dec bc
- ld a, c
- or b
- jr nz, jr_006_6749
-
- ld a, $0a
- ld [$0000], a
- ld a, e
- ld [$a00b], a
- pop bc
- pop de
- pop hl
- ret
-
-
- ld bc, $1e01
- ld [bc], a
- rst $38
- ld [bc], a
- ld bc, $022b
- ld c, $01
- add hl, de
- ld [bc], a
- rst $38
- ld [bc], a
- ld bc, $022c
- ld c, $01
- add hl, de
- ld [bc], a
- rst $38
- ld [bc], a
- ld bc, $022d
- ld c, $01
- add hl, de
- ld [bc], a
- rst $38
- ld [bc], a
- ld bc, $022e
- ld c, $01
- add hl, de
- ld [bc], a
- rst $38
-
-Call_006_6787:
- push af
- push bc
- push hl
- ld b, a
- xor a
-
-jr_006_678c:
- ld [hl+], a
- dec b
- jr nz, jr_006_678c
-
- pop hl
- pop bc
- pop af
- ret
-
-
-Call_006_6794:
- push af
- inc a
- jr z, jr_006_679c
-
- ld a, $02
- jr jr_006_679e
-
-jr_006_679c:
- ld a, $03
-
-jr_006_679e:
- call $3796
- pop af
- ret
-
-
- ld e, l
- ld d, h
- ld a, $0c
- ld hl, $675e
- ld bc, $0c01
- call Call_006_6846
- call Set_OBJ_8x8
- xor a
- ld [$cab6], a
- call EmptyScreen
- call ZeroObjectPositions
- ld a, $01
- ld [$cac0], a
- call LoadSymbolsFont
- ld de, $38bf
- call SetupText
- call Call_006_6a65
- ld a, $02
- ld [$d009], a
- call Call_006_6892
- xor a
- ld [$d006], a
- ld [$cea4], a
- ld a, $09
- ld [$d005], a
- ld a, $06
- ld [$cea9], a
- ld a, $0f
- ld [$ceaa], a
- ld a, $00
- ld [$ceab], a
-
-jr_006_67f1:
- ld a, $01
- ld [$cac0], a
- call DoFrame
- call UpdateRNGSources
- ldh a, [$8f]
- and $08
- jr z, jr_006_6819
-
- ld a, $01
- call Call_006_6794
- call Call_006_6a07
- ld a, $06
- ld [$d006], a
- ld a, $05
- ld [$cea4], a
- call Call_006_6a23
- jr jr_006_67f1
-
-jr_006_6819:
- call Call_006_6908
- jr nc, jr_006_67f1
-
- cp $ff
- jr z, jr_006_682b
-
- call Call_006_6a87
- jr nc, jr_006_67f1
-
- call Call_006_6880
- ret
-
-
-jr_006_682b:
- ld a, [wNameLength]
- or a
- jr z, jr_006_67f1
-
- ld e, a
- ld d, $00
- ld hl, wNameBuffer
- add hl, de
- dec hl
- dec hl
- ld [hl], $00
- ld hl, wNameLength
- dec [hl]
- dec [hl]
- call Call_006_68cb
- jr jr_006_67f1
-
-Call_006_6846:
- ld [$d004], a
- push hl
- ld hl, $d007
- ld [hl], b
- inc hl
- ld [hl], c
- pop hl
- ld b, h
- ld c, l
- ld hl, $d002
- ld [hl], c
- inc hl
- ld [hl], b
- ld hl, $d000
- ld [hl], e
- inc hl
- ld [hl], d
- ld a, $18
- ld hl, wNameBuffer
- call Call_006_6787
- ld hl, wNameBuffer
- ld a, [$d004]
- ld b, a
- inc b
-
-jr_006_686f:
- ld a, [de]
- inc de
- ld [hl+], a
- dec b
- jr nz, jr_006_686f
-
- ld hl, wNameBuffer
- call GetTextSizeInTiles
- ld a, c
- ld [wNameLength], a
- ret
-
-
-Call_006_6880:
- ld hl, $d000
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld l, e
- ld h, d
- ld de, wNameBuffer
- ld a, [$d004]
- ld b, a
- inc b
- jr jr_006_686f
-
-Call_006_6892:
- call Call_006_68c1
- call Call_006_68cb
- ld hl, $d002
- ld c, [hl]
- inc hl
- ld a, [hl]
- ld h, a
- or c
- jr z, jr_006_68a6
-
- ld l, c
- call PlaceTextItems
-
-jr_006_68a6:
- ld hl, $68bc
- call PlaceTextItems
- ld hl, $0221
- ld de, $0204
- call InitTextPrinting
- call ProcessTextFromID
- call EnableLCD
- ret
-
-
- rrca
- db $10
- dec e
- ld [bc], a
- rst $38
-
-Call_006_68c1:
- ld de, $0003
- ld bc, $140f
- call $1e7c
- ret
-
-
-Call_006_68cb:
- ld hl, $d007
- ld d, [hl]
- inc hl
- ld e, [hl]
- push de
- call $22ae
- ld a, [$d004]
- ld e, a
- ld a, $14
- sub e
- inc a
- ld e, a
- ld d, $00
- ld hl, $68f2
- add hl, de
- call $21c5
- pop de
- call $22ae
- ld hl, wNameBuffer
- call $21c5
- ret
-
-
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- inc bc
- ld d, [hl]
- nop
-
-Call_006_6908:
-Jump_006_6908:
- xor a
- ld [$cfe3], a
- ldh a, [$8f]
- or a
- jp z, Jump_006_69d9
-
- ld b, a
- ld a, [$cea9]
- ld c, a
- ld a, [$d006]
- ld h, a
- ld a, [$cea4]
- ld l, a
- bit 6, b
- jr z, jr_006_692c
-
- dec a
- bit 7, a
- jr z, jr_006_69a7
-
- ld a, c
- dec a
- jr jr_006_69a7
-
-jr_006_692c:
- bit 7, b
- jr z, jr_006_6937
-
- inc a
- cp c
- jr c, jr_006_69a7
-
- xor a
- jr jr_006_69a7
-
-jr_006_6937:
- ld a, [$d005]
- ld c, a
- ld a, h
- bit 5, b
- jr z, jr_006_6974
-
- ld d, a
- ld a, $06
- cp l
- ld a, d
- jr nz, jr_006_696b
-
- push hl
- push bc
- push af
- call Call_006_6b93
- inc hl
- inc hl
- inc hl
- inc hl
- inc hl
- ld a, [hl]
- dec a
- ld d, a
- pop af
- pop bc
- pop hl
- sub d
- cp $ff
- jr nz, jr_006_6962
-
- ld a, c
- sub $02
- jr jr_006_69aa
-
-jr_006_6962:
- cp $fe
- jr nz, jr_006_696b
-
- ld a, c
- sub $03
- jr jr_006_69aa
-
-jr_006_696b:
- dec a
- bit 7, a
- jr z, jr_006_69aa
-
- ld a, c
- dec a
- jr jr_006_69aa
-
-jr_006_6974:
- bit 4, b
- jr z, jr_006_69d9
-
- ld d, a
- ld a, $06
- cp l
- ld a, d
- jr nz, jr_006_6990
-
- push hl
- push bc
- push af
- call Call_006_6b93
- inc hl
- inc hl
- inc hl
- inc hl
- ld a, [hl]
- dec a
- ld d, a
- pop af
- pop bc
- pop hl
- add d
-
-jr_006_6990:
- inc a
- cp c
- jr c, jr_006_69aa
-
- inc c
- cp c
- jr c, jr_006_69a4
-
- inc c
- cp c
- jr c, jr_006_69a0
+ ret
- ld a, $02
- jr jr_006_69aa
+ ldh a, [$81]
+ or a
+ ret nz
-jr_006_69a0:
- ld a, $01
- jr jr_006_69aa
+ push hl
+ push de
+ push bc
+ ld hl, $a100
+ ld bc, $0250
+ ld a, [$a00b]
+ ld e, a
-jr_006_69a4:
- xor a
- jr jr_006_69aa
+.asm_006_66de
+ ld a, [hli]
+ xor e
+ ld e, a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_006_66de
-jr_006_69a7:
- ld l, a
- jr jr_006_69ab
+ ld a, e
+ pop bc
+ pop de
+ pop hl
+ or a
+ ret z
-jr_006_69aa:
- ld h, a
+ xor a
+ ld [wTileMapFill], a
+ ld hl, wDoFrameFunction
+ ld [hli], a
+ ld [hl], a
+ ldh [$92], a
+ ldh [$93], a
+ bank1call ZeroObjectPositionsAndToggleOAMCopy
+ call EmptyScreen
+ call LoadSymbolsFont
+ bank1call SetDefaultPalettes
+ 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
+ ld hl, $00a3
+ bank1call Func_57df
+ ld a, $0a
+ ld [$0000], a
+ xor a
+ ldh [$81], a
+ ld [$4000], a
+ ld [$a000], a
+ ld [$0000], a
+ jp Reset
-jr_006_69ab:
- push hl
- call Call_006_6b93
- inc hl
- inc hl
- inc hl
- ld a, [$d009]
- cp $02
- jr nz, jr_006_69bb
+ ret
- inc hl
- inc hl
+ ldh a, [$81]
+ or a
+ ret nz
-jr_006_69bb:
- ld d, [hl]
- push de
- call Call_006_6a07
- pop de
- pop hl
- ld a, l
- ld [$cea4], a
- ld a, h
- ld [$d006], a
- xor a
- ld [$cea3], a
- ld a, $06
- cp d
- jp z, Jump_006_6908
+ push hl
+ push de
+ push bc
+ ld hl, $a100
+ ld bc, $0250
+ ld e, $00
- ld a, $01
- ld [$cfe3], a
+.asm_006_6749
+ ld a, [hli]
+ xor e
+ ld e, a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_006_6749
-Jump_006_69d9:
-jr_006_69d9:
- ldh a, [$91]
- and $03
- jr z, jr_006_69ef
+ ld a, $0a
+ ld [$0000], a
+ ld a, e
+ ld [$a00b], a
+ pop bc
+ pop de
+ pop hl
+ ret
- and $01
- jr nz, jr_006_69e5
+Unknown_1a75e:
+ INCROM $1a75e,$1a787
- ld a, $ff
+; set zero from hl in b bytes
+ClearMemory:
+ push af
+ push bc
+ push hl
+ ld b, a
+ xor a
-jr_006_69e5:
- call Call_006_6794
- push af
- call Call_006_6a23
- pop af
- scf
- ret
+.loop
+ ld [hli], a
+ dec b
+ jr nz, .loop
+ pop hl
+ pop bc
+ pop af
+ ret
-jr_006_69ef:
- ld a, [$cfe3]
- or a
- jr z, jr_006_69f8
+Func_006_6794:
+ push af
+ inc a
+ jr z, .asm_006_679c
- call $3796
+ ld a, $02
+ jr .asm_006_679e
-jr_006_69f8:
- ld hl, $cea3
- ld a, [hl]
- inc [hl]
- and $0f
- ret nz
+.asm_006_679c
+ ld a, $03
- ld a, [$ceaa]
- bit 4, [hl]
- jr z, jr_006_6a0a
+.asm_006_679e
+ call PlaySFX
+ pop af
+ ret
-Call_006_6a07:
- ld a, [$ceab]
+ ld e, l
+ ld d, h
+ ld a, $0c
+ ld hl, Unknown_1a75e
+ ld bc, $0c01
+ call Func_006_6846
+ call Set_OBJ_8x8
+ xor a
+ ld [wTileMapFill], a
+ call EmptyScreen
+ call ZeroObjectPositions
+ ld a, $01
+ ld [wVBlankOAMCopyToggle], a
+ call LoadSymbolsFont
+ lb de, $38, $bf
+ call SetupText
+ call Func_006_6a65
+ ld a, $02
+ ld [wd009], a
+ call Func_006_6892
+ xor a
+ ld [wd006], a
+ ld [wcea4], a
+ ld a, $09
+ ld [wd005], a
+ ld a, $06
+ ld [wcea9], a
+ ld a, $0f
+ 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
+
+ ld a, $01
+ call Func_006_6794
+ call Func_006_6a07
+ ld a, $06
+ ld [wd006], a
+ ld a, $05
+ ld [wcea4], a
+ call Func_006_6a23
+ jr .asm_006_67f1
+
+.asm_006_6819
+ 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
-jr_006_6a0a:
- ld e, a
- ld a, [$d006]
- ld h, a
- ld a, [$cea4]
- ld l, a
- call Call_006_6b93
- ld a, [hl+]
- ld c, a
- ld b, [hl]
- dec b
- ld a, e
- call Call_006_6a28
- call $06c3
- or a
- ret
+.asm_006_682b
+ ld a, [wNamingScreenBufferLength]
+ or a
+ jr z, .asm_006_67f1
+ ld e, a
+ ld d, $00
+ ld hl, wNamingScreenBuffer
+ add hl, de
+ dec hl
+ dec hl
+ ld [hl], $00
+ ld hl, wNamingScreenBufferLength
+ dec [hl]
+ dec [hl]
+ call Func_006_68cb
+ jr .asm_006_67f1
+
+Func_006_6846:
+ ld [wd004], a
+ push hl
+ ld hl, wd007
+ ld [hl], b
+ inc hl
+ ld [hl], c
+ pop hl
+ ld b, h
+ ld c, l
+ ld hl, wd002
+ ld [hl], c
+ inc hl
+ ld [hl], b
+ ld hl, wd000
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld a, $18
+ ld hl, wNamingScreenBuffer
+ call ClearMemory
+ ld hl, wNamingScreenBuffer
+ ld a, [wd004]
+ ld b, a
+ inc b
-Call_006_6a23:
- ld a, [$ceaa]
- jr jr_006_6a0a
+.asm_006_686f
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec b
+ jr nz, Func_006_6846.asm_006_686f
-Call_006_6a28:
- push af
- push bc
- push de
- push hl
- push af
- call $099c
- pop af
- ld b, a
- ld a, [$ceab]
- cp b
- jr z, jr_006_6a60
+ ld hl, wNamingScreenBuffer
+ call GetTextSizeInTiles
+ ld a, c
+ ld [wNamingScreenBufferLength], a
+ ret
- ld a, [wNameLength]
- srl a
- ld d, a
- ld a, [$d004]
- srl a
- ld e, a
- ld a, d
- cp e
- jr nz, jr_006_6a49
+Func_006_6880:
+ ld hl, wd000
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld l, e
+ ld h, d
+ ld de, wNamingScreenBuffer
+ ld a, [wd004]
+ ld b, a
+ inc b
+ jr Func_006_6846.asm_006_686f
- dec a
+Func_006_6892:
+ call Func_006_68c1
+ call Func_006_68cb
+ ld hl, wd002
+ ld c, [hl]
+ inc hl
+ ld a, [hl]
+ ld h, a
+ or c
+ jr z, .asm_006_68a6
+
+ ld l, c
+ call PlaceTextItems
+
+.asm_006_68a6
+ ld hl, .data
+ call PlaceTextItems
+ ld hl, $0221
+ ld de, $0204
+ call InitTextPrinting
+ call ProcessTextFromID
+ call EnableLCD
+ ret
-jr_006_6a49:
- ld hl, $d007
- add [hl]
- ld d, a
- ld h, $08
- ld l, d
- call $0879
- ld a, l
- add $08
- ld d, a
- ld e, $18
- ld bc, $0000
- call $097f
+.data
+ db $0f, $10, $1d, $02, $ff
-jr_006_6a60:
- pop hl
- pop de
- pop bc
- pop af
- ret
+Func_006_68c1:
+ ld de, $0003
+ ld bc, $140f
+ call DrawRegularTextBox
+ ret
+Func_006_68cb:
+ ld hl, wd007
+ ld d, [hl]
+ inc hl
+ ld e, [hl]
+ push de
+ call InitTextPrinting
+ ld a, [wd004]
+ ld e, a
+ ld a, $14
+ sub e
+ inc a
+ ld e, a
+ ld d, $00
+ ld hl, .char_underbar
+ add hl, de
+ call ProcessText
+ pop de
+ call InitTextPrinting
+ ld hl, wNamingScreenBuffer
+ call ProcessText
+ ret
+.char_underbar
+rept $a
+ db $56, $03 ; "_"
+endr
+ db $56, $00
-Call_006_6a65:
- ld hl, $8000
- ld de, $6a77
- ld b, $00
+Func_006_6908:
+ xor a
+ ld [wcfe3], a
+ ldh a, [$8f]
+ or a
+ jp z, .asm_006_69d9
+ ld b, a
+ ld a, [wcea9]
+ ld c, a
+ ld a, [wd006]
+ ld h, a
+ ld a, [wcea4]
+ ld l, a
+ bit 6, b
+ jr z, .asm_006_692c
+ dec a
+ bit 7, a
+ jr z, .asm_006_69a7
+ ld a, c
+ dec a
+ jr .asm_006_69a7
+.asm_006_692c
+ bit 7, b
+ jr z, .asm_006_6937
+ inc a
+ cp c
+ jr c, .asm_006_69a7
+ xor a
+ jr .asm_006_69a7
+.asm_006_6937
+ ld a, [wd005]
+ ld c, a
+ ld a, h
+ bit 5, b
+ jr z, .asm_006_6974
+ ld d, a
+ ld a, $06
+ cp l
+ ld a, d
+ jr nz, .asm_006_696b
+ push hl
+ push bc
+ push af
+ call Func_006_6b93
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, [hl]
+ dec a
+ ld d, a
+ pop af
+ pop bc
+ pop hl
+ sub d
+ cp $ff
+ jr nz, .asm_006_6962
+ ld a, c
+ sub $02
+ jr .asm_006_69aa
+.asm_006_6962
+ cp $fe
+ jr nz, .asm_006_696b
+ ld a, c
+ sub $03
+ jr .asm_006_69aa
+.asm_006_696b
+ dec a
+ bit 7, 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
+ ld d, a
+ ld a, $06
+ cp l
+ ld a, d
+ jr nz, .asm_006_6990
+ push hl
+ push bc
+ push af
+ call Func_006_6b93
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, [hl]
+ dec a
+ ld d, a
+ pop af
+ pop bc
+ pop hl
+ add d
+.asm_006_6990
+ inc a
+ cp c
+ jr c, .asm_006_69aa
+ inc c
+ cp c
+ jr c, .asm_006_69a4
+ inc c
+ cp c
+ jr c, .asm_006_69a0
+ ld a, $02
+ jr .asm_006_69aa
+.asm_006_69a0
+ ld a, $01
+ jr .asm_006_69aa
+.asm_006_69a4
+ xor a
+ jr .asm_006_69aa
+.asm_006_69a7
+ ld l, a
+ jr .asm_006_69ab
+.asm_006_69aa
+ ld h, a
+.asm_006_69ab
+ push hl
+ call Func_006_6b93
+ inc hl
+ inc hl
+ inc hl
+ ld a, [wd009]
+ cp $02
+ jr nz, .asm_006_69bb
+ inc hl
+ inc hl
+.asm_006_69bb
+ ld d, [hl]
+ push de
+ call Func_006_6a07
+ pop de
+ pop hl
+ ld a, l
+ ld [wcea4], a
+ ld a, h
+ ld [wd006], a
+ xor a
+ ld [wcea3], a
+ ld a, $06
+ cp d
+ jp z, Func_006_6908
+ ld a, $01
+ ld [wcfe3], a
+.asm_006_69d9
+ ldh a, [$91]
+ and $03
+ jr z, .asm_006_69ef
+ and $01
+ jr nz, .asm_006_69e5
+ ld a, $ff
+.asm_006_69e5
+ call Func_006_6794
+ push af
+ call Func_006_6a23
+ pop af
+ scf
+ ret
+.asm_006_69ef
+ ld a, [wcfe3]
+ or a
+ jr z, .asm_006_69f8
+ call PlaySFX
+.asm_006_69f8
+ ld hl, wcea3
+ ld a, [hl]
+ inc [hl]
+ and $0f
+ ret nz
+ ld a, [wceaa]
+ bit 4, [hl]
+ jr z, Func_006_6a07.asm_006_6a0a
+
+Func_006_6a07:
+ ld a, [wceab]
+.asm_006_6a0a
+ ld e, a
+ ld a, [wd006]
+ ld h, a
+ ld a, [wcea4]
+ ld l, a
+ call Func_006_6b93
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ dec b
+ ld a, e
+ call Func_006_6a28
+ call WriteByteToBGMap0
+ or a
+ ret
-jr_006_6a6d:
- ld a, $10
- cp b
- ret z
+Func_006_6a23:
+ ld a, [wceaa]
+ jr Func_006_6a07.asm_006_6a0a
- inc b
- ld a, [de]
- inc de
- ld [hl+], a
- jr jr_006_6a6d
+Func_006_6a28:
+ push af
+ push bc
+ push de
+ push hl
+ push af
+ call ZeroObjectPositions
+ pop af
+ ld b, a
+ ld a, [wceab]
+ cp b
+ jr z, .asm_006_6a60
+ ld a, [wNamingScreenBufferLength]
+ srl a
+ ld d, a
+ ld a, [wd004]
+ srl a
+ ld e, a
+ ld a, d
+ cp e
+ jr nz, .asm_006_6a49
+ dec a
+.asm_006_6a49
+ ld hl, wd007
+ add [hl]
+ ld d, a
+ ld h, $08
+ ld l, d
+ call HtimesL
+ ld a, l
+ add $08
+ ld d, a
+ ld e, $18
+ ld bc, $0000
+ call SetOneObjectAttributes
+.asm_006_6a60
+ pop hl
+ pop de
+ pop bc
+ pop af
+ ret
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
- rst $38
+Func_006_6a65:
+ ld hl, v0Tiles0
+ ld de, .data
+ ld b, $00
+.asm_006_6a6d
+ ld a, $10
+ cp b
+ ret z
+ inc b
+ ld a, [de]
+ inc de
+ ld [hli], a
+ jr .asm_006_6a6d
+.data
+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)
-Call_006_6a87:
- ld a, [$d006]
- ld h, a
- ld a, [$cea4]
- ld l, a
- call Call_006_6b93
- inc hl
- inc hl
- ld e, [hl]
- inc hl
- ld a, [hl+]
- ld d, a
- cp $09
- jp z, Jump_006_6b5f
-
- cp $07
- jr nz, .jr_006_6ab8
-
- ld a, [$d009]
- or a
- jr nz, .jr_006_6aac
-
- ld a, $01
- jp .jr_006_6ace
-
-
-.jr_006_6aac
- dec a
- jr nz, .jr_006_6ab4
-
- ld a, $02
- jp .jr_006_6ace
-
-
-.jr_006_6ab4
- xor a
- jp .jr_006_6ace
-
-
-.jr_006_6ab8
- cp $08
- jr nz, .jr_006_6ad6
-
- ld a, [$d009]
- or a
- jr nz, .jr_006_6ac6
-
- ld a, $02
- jr .jr_006_6ace
-
-.jr_006_6ac6
- dec a
- jr nz, .jr_006_6acc
-
- xor a
- jr .jr_006_6ace
-
-.jr_006_6acc
- ld a, $01
-
-.jr_006_6ace
- ld [$d009], a
- call Call_006_6892
- or a
- ret
-
-
-.jr_006_6ad6
- ld a, [$d009]
- cp $02
- jr z, .read_char
-
- ld bc, $0359
- ld a, d
- cp b
- jr nz, .jr_006_6af4
-
- ld a, e
- cp c
- jr nz, .jr_006_6af4
-
- push hl
- ld hl, $6cf9
- call Call_006_6b61
- pop hl
- jr c, jr_006_6b5d
-
- jr .jr_006_6b09
-
-.jr_006_6af4
- ld bc, $035b
- ld a, d
- cp b
- jr nz, .jr_006_6b1d
-
- ld a, e
- cp c
- jr nz, .jr_006_6b1d
-
- push hl
- ld hl, $6d5f
- call Call_006_6b61
- pop hl
- jr c, jr_006_6b5d
-
-.jr_006_6b09
- ld a, [wNameLength] ; cfff: current player name length(by byte).
- dec a
- dec a
- ld [wNameLength], a
- ld hl, wNameBuffer ; cfe7: temporary buffer for player name.
- push de
- ld d, $00
- ld e, a
- add hl, de
- pop de
- ld a, [hl]
- jr jr_006_6b37
-
-.jr_006_6b1d
- ld a, d
- or a
- jr nz, jr_006_6b37
-
- ld a, [$d009]
- or a
- jr nz, .jr_006_6b2b
-
- ld a, $0e
- jr jr_006_6b37
-
-.jr_006_6b2b
- ld a, $0f
- jr jr_006_6b37
-
+Func_006_6a87:
+ ld a, [wd006]
+ ld h, a
+ ld a, [wcea4]
+ ld l, a
+ call Func_006_6b93
+ inc hl
+ inc hl
+ ld e, [hl]
+ inc hl
+ ld a, [hli]
+ ld d, a
+ cp $09
+ jp z, .asm_006_6b5f
+ cp $07
+ jr nz, .asm_006_6ab8
+ ld a, [wd009]
+ or a
+ jr nz, .asm_006_6aac
+ ld a, $01
+ jp .asm_006_6ace
+.asm_006_6aac
+ dec a
+ jr nz, .asm_006_6ab4
+ ld a, $02
+ jp .asm_006_6ace
+.asm_006_6ab4
+ xor a
+ jp .asm_006_6ace
+.asm_006_6ab8
+ cp $08
+ jr nz, .asm_006_6ad6
+ ld a, [wd009]
+ or a
+ jr nz, .asm_006_6ac6
+ ld a, $02
+ jr .asm_006_6ace
+.asm_006_6ac6
+ dec a
+ jr nz, .asm_006_6acc
+ xor a
+ jr .asm_006_6ace
+.asm_006_6acc
+ ld a, $01
+.asm_006_6ace
+ ld [wd009], a
+ call Func_006_6892
+ or a
+ ret
+.asm_006_6ad6
+ ld a, [wd009]
+ cp $02
+ jr z, .read_char
+ ld bc, $0359
+ ld a, d
+ cp b
+ jr nz, .asm_006_6af4
+ ld a, e
+ cp c
+ jr nz, .asm_006_6af4
+ push hl
+ ld hl, $6cf9
+ call Func_006_6b61
+ pop hl
+ jr c, .asm_006_6b5d
+ jr .asm_006_6b09
+.asm_006_6af4
+ ld bc, $035b
+ ld a, d
+ cp b
+ jr nz, .asm_006_6b1d
+ ld a, e
+ cp c
+ jr nz, .asm_006_6b1d
+ push hl
+ ld hl, $6d5f
+ call Func_006_6b61
+ pop hl
+ jr c, .asm_006_6b5d
+.asm_006_6b09
+ ld a, [wNamingScreenBufferLength] ; cfff: current player name length(by byte).
+ dec a
+ dec a
+ ld [wNamingScreenBufferLength], a
+ ld hl, wNamingScreenBuffer ; cfe7: temporary buffer for player name.
+ push de
+ ld d, $00
+ ld e, a
+ add hl, de
+ pop de
+ ld a, [hl]
+ jr .asm_006_6b37
+.asm_006_6b1d
+ ld a, d
+ or a
+ jr nz, .asm_006_6b37
+ ld a, [wd009]
+ or a
+ jr nz, .asm_006_6b2b
+ ld a, $0e
+ jr .asm_006_6b37
+.asm_006_6b2b
+ ld a, $0f
+ jr .asm_006_6b37
; read character code from info. to register.
-; [input]
; hl: pointer.
.read_char
- ld e, [hl]
- inc hl
- ld a, [hl] ; a: first byte of the code.
- or a
- ; if 2byte code.
- jr nz, jr_006_6b37
- ; if 1byte code(ascii)
+ ld e, [hl]
+ inc hl
+ ld a, [hl] ; a: first byte of the code.
+ or a
+ ; if 2 bytes code, jump.
+ jr nz, .asm_006_6b37
+ ; if 1 byte code(ascii),
; set first byte to $0e.
- ld a, $0e
-
-; on 2byte code.
-jr_006_6b37:
- ld d, a ; de: character code.
- ld hl, wNameLength
- ld a, [hl]
- ld c, a
- push hl
- ld hl, $d004
- cp [hl]
- pop hl
- jr nz, jr_006_6b4c
-
+ ld a, $0e
+; on 2 bytes code.
+.asm_006_6b37
+ ld d, a ; de: character code.
+ ld hl, wNamingScreenBufferLength
+ ld a, [hl]
+ ld c, a
+ push hl
+ ld hl, wd004
+ cp [hl]
+ pop hl
+ jr nz, .asm_006_6b4c
; if the buffer is full
; just change the last character of it.
- ld hl, wNameBuffer
- dec hl
- dec hl
- jr jr_006_6b51
-
+ ld hl, wNamingScreenBuffer
+ dec hl
+ dec hl
+ jr .asm_006_6b51
; increase name length before add the character.
-jr_006_6b4c:
- inc [hl] ; hl: wNameLength => name length
- inc [hl]
- ld hl, wNameBuffer
-
-; write 2byte character codes from user input.
-; de: 2byte character codes.
+.asm_006_6b4c
+ inc [hl] ; hl: wNamingScreenBufferLength => name length
+ inc [hl]
+ ld hl, wNamingScreenBuffer
+; write 2 bytes character codes to the name buffer.
+; de: 2 bytes character codes.
; hl: dest.
-jr_006_6b51:
- ld b, $00
- add hl, bc
-
- ld [hl], d
- inc hl
- ld [hl], e
- inc hl
- ld [hl], $00 ; null terminator.
-
- call Call_006_68cb
-
-jr_006_6b5d:
- or a
- ret
-
-
-Jump_006_6b5f:
- scf
- ret
-
-
-Call_006_6b61:
- ld a, [wNameLength]
- or a
- jr z, jr_006_6b91
-
- dec a
- dec a
- push hl
- ld hl, wNameBuffer
- ld d, $00
- ld e, a
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld a, $0f
- cp e
- jr nz, jr_006_6b7a
-
- dec e
-
-jr_006_6b7a:
- pop hl
-
-jr_006_6b7b:
- ld a, [hl+]
- or a
- jr z, jr_006_6b91
-
- cp d
- jr nz, jr_006_6b8c
-
- ld a, [hl]
- cp e
- jr nz, jr_006_6b8c
-
- inc hl
- ld e, [hl]
- inc hl
- ld d, [hl]
- or a
- ret
-
-
-jr_006_6b8c:
- inc hl
- inc hl
- inc hl
- jr jr_006_6b7b
-
-jr_006_6b91:
- scf
- ret
-
-
-Call_006_6b93:
- push de
- ld e, l
- ld d, h
- ld a, [$cea9]
- ld l, a
- call $0879
- ld a, l
- add e
- ld hl, $6baf
- pop de
- or a
- ret z
-
-jr_006_6ba5:
- inc hl
- inc hl
- inc hl
- inc hl
- inc hl
- inc hl
- dec a
- jr nz, jr_006_6ba5
-
- ret
-
-
- inc b
- ld [bc], a
- ld de, $3000
- inc bc
- ld b, $02
- ld [de], a
- nop
- add hl, sp
- inc bc
- ld [$1302], sp
- nop
- ld b, d
- inc bc
- ld a, [bc]
- ld [bc], a
- inc d
- nop
- ld l, a
- nop
- inc c
- ld [bc], a
- dec d
- nop
- ld h, h
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- inc b
- ld d, $00
- ld sp, $0603
- inc b
- rla
- nop
- ld a, [hl-]
- inc bc
- ld [$1804], sp
- nop
- ld b, e
- inc bc
- ld a, [bc]
- inc b
- add hl, de
- nop
- ld e, l
- inc bc
- inc c
- inc b
- ld a, [de]
- nop
- ld h, l
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- ld b, $1b
- nop
- ld [hl-], a
- inc bc
- ld b, $06
- inc e
- nop
- dec sp
- inc bc
- ld [$1d06], sp
- nop
- ld b, h
- inc bc
- ld a, [bc]
- ld b, $1e
- nop
- ld l, d
- nop
- inc c
- ld b, $1f
- nop
- ld h, [hl]
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- ld [$0020], sp
- inc sp
- inc bc
- ld b, $08
- ld hl, $3c00
- inc bc
- ld [$2208], sp
- nop
- ld b, l
- inc bc
- ld a, [bc]
- ld [$0023], sp
- ld l, e
- nop
- inc c
- ld [$0024], sp
- ld h, a
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- ld a, [bc]
- dec h
- nop
- inc [hl]
- inc bc
- ld b, $0a
- ld h, $00
- dec a
- inc bc
- ld [$270a], sp
- nop
- ld b, [hl]
- inc bc
- ld a, [bc]
- ld a, [bc]
- jr z, jr_006_6c55
-
-jr_006_6c55:
- ld [hl], a
- nop
- inc c
- ld a, [bc]
- add hl, hl
- nop
- ld l, b
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- inc c
- ld a, [hl+]
- nop
- dec [hl]
- inc bc
- ld b, $0c
- dec hl
- nop
- ld a, $03
- ld [$2c0c], sp
- nop
- ld b, a
- inc bc
- ld a, [bc]
- inc c
- dec l
- nop
- ld h, b
- nop
- inc c
- inc c
- ld l, $00
- ld l, c
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- ld c, $2f
- nop
- ld [hl], $03
- ld b, $0e
- jr nc, jr_006_6c91
-
-jr_006_6c91:
- ccf
- inc bc
- ld [$310e], sp
- nop
- ld c, b
- inc bc
- ld a, [bc]
- ld c, $32
- nop
- ld h, c
- nop
- inc c
- ld c, $33
- nop
- inc de
- dec b
- db $10
- rrca
- ld bc, $0009
- nop
- inc b
- db $10
- inc [hl]
- nop
- scf
- inc bc
- ld b, $10
- dec [hl]
- nop
- ld b, b
- inc bc
- ld [$3610], sp
- nop
- ld c, c
- inc bc
- ld a, [bc]
- db $10
- inc a
- nop
- ld h, d
- nop
- inc c
- db $10
- dec a
- nop
- ld de, $1005
- rrca
- ld bc, $0009
- nop
- inc b
- ld [de], a
- scf
- nop
- jr c, @+$05
-
- ld b, $12
- jr c, jr_006_6cd9
-
-jr_006_6cd9:
- ld b, c
- inc bc
- ld [$3912], sp
- nop
- ld l, [hl]
- nop
- ld a, [bc]
- ld [de], a
- ld a, [hl-]
- nop
- ld h, e
- nop
- inc c
- ld [de], a
- dec sp
- nop
- ld [hl], b
- nop
- db $10
- rrca
- ld bc, $0009
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- ld d, $0e
- ld a, $00
- rla
- ld c, $3f
- nop
- jr jr_006_6d11
-
- ld b, b
- nop
- add hl, de
- ld c, $41
- nop
- ld a, [de]
- ld c, $42
- nop
- dec de
- ld c, $43
- nop
-
-jr_006_6d11:
- inc e
- ld c, $44
- nop
- dec e
- ld c, $45
- nop
- ld e, $0e
- ld b, [hl]
- nop
- rra
- ld c, $47
- nop
- jr nz, jr_006_6d31
+.asm_006_6b51
+ ld b, $00
+ add hl, bc
+ ld [hl], d
+ inc hl
+ ld [hl], e
+ inc hl
+ ld [hl], $00 ; null terminator.
+ call Func_006_68cb
+.asm_006_6b5d
+ or a
+ ret
+.asm_006_6b5f
+ scf
+ ret
- ld c, b
- nop
- ld hl, $490e
- nop
- ld [hl+], a
- ld c, $4a
- nop
- inc hl
- ld c, $4b
- nop
+Func_006_6b61:
+ ld a, [wNamingScreenBufferLength]
+ or a
+ jr z, .asm_006_6b91
+ dec a
+ dec a
+ push hl
+ ld hl, wNamingScreenBuffer
+ ld d, $00
+ ld e, a
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld a, $0f
+ cp e
+ jr nz, .asm_006_6b7a
+ dec e
+.asm_006_6b7a
+ pop hl
+.asm_006_6b7b
+ ld a, [hli]
+ or a
+ jr z, .asm_006_6b91
+ cp d
+ jr nz, .asm_006_6b8c
+ ld a, [hl]
+ cp e
+ jr nz, .asm_006_6b8c
+ inc hl
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ or a
+ ret
+.asm_006_6b8c
+ inc hl
+ inc hl
+ inc hl
+ jr .asm_006_6b7b
+.asm_006_6b91
+ scf
+ ret
-jr_006_6d31:
- inc h
- ld c, $4c
- nop
- ld a, [hl+]
- ld c, $4d
- nop
- dec hl
- ld c, $4e
- nop
- inc l
- ld c, $4f
- nop
- dec l
- ld c, $50
- nop
- ld l, $0e
- ld d, c
- nop
- ld d, d
- ld c, $4d
- nop
- ld d, e
- ld c, $4e
- nop
- ld d, h
- ld c, $4f
- nop
- ld d, l
- ld c, $50
- nop
- ld d, [hl]
- ld c, $51
- nop
- nop
- nop
- ld a, [hl+]
- ld c, $52
- nop
- dec hl
- ld c, $53
- nop
- inc l
- ld c, $54
- nop
- dec l
- ld c, $55
- nop
- ld l, $0e
- ld d, [hl]
- nop
- ld c, l
- ld c, $52
- nop
- ld c, [hl]
- ld c, $53
- nop
- ld c, a
- ld c, $54
- nop
- ld d, b
- ld c, $55
- nop
- ld d, c
- ld c, $56
- nop
- nop
- nop
+Func_006_6b93:
+ push de
+ ld e, l
+ ld d, h
+ ld a, [wcea9]
+ ld l, a
+ call HtimesL
+ ld a, l
+ add e
+ ld hl, .data
+ pop de
+ or a
+ ret z
+.asm_006_6ba5
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ dec a
+ jr nz, .asm_006_6ba5
+ ret
+.data
+ INCROM $1abaf,$1ad89
Func_1ad89: ; 1ad89 (6:6d89)
- push af
- ld a, [de]
- or a
- jr nz, jr_006_6d91
-
- ld a, $06
- ld [de], a
-
-jr_006_6d91:
- pop af
- inc a
- call Call_006_6846
- call $02b9
- xor a
- ld [$cab6], a
- call $04a2
- call $099c
- ld a, $01
- ld [$cac0], a
- call $2119
- ld de, $38bf
- call $2275
- call Call_006_6e37
- xor a
- ld [$d009], a
- call Call_006_6e99
- xor a
- ld [$d006], a
- ld [$cea4], a
- ld a, $09
- ld [$d005], a
- ld a, $07
- ld [$cea9], a
- ld a, $0f
- ld [$ceaa], a
- ld a, $00
- ld [$ceab], a
-
-Jump_006_6dd6:
-jr_006_6dd6:
- ld a, $01
- ld [$cac0], a
- call $053f
- call $089b
- ldh a, [$8f]
- and $08
- jr z, jr_006_6dfc
-
- ld a, $01
- call Call_006_6794
- call Call_006_6fa1
- ld a, $06
- ld [$d006], a
- ld [$cea4], a
- call Call_006_6fbd
- jr jr_006_6dd6
-
-jr_006_6dfc:
- call Call_006_6efb
- jr nc, jr_006_6dd6
-
- cp $ff
- jr z, jr_006_6e1c
-
- call Call_006_6ec3
- jr nc, jr_006_6dd6
-
- call Call_006_6880
- ld hl, $d000
- ld a, [hl+]
- ld h, [hl]
- ld l, a
- inc hl
- ld a, [hl]
- or a
- jr nz, jr_006_6e1b
-
- dec hl
- ld [hl], $00
-
-jr_006_6e1b:
- ret
-
-
-jr_006_6e1c:
- ld a, [wNameLength]
- cp $02
- jr c, jr_006_6dd6
-
- ld e, a
- ld d, $00
- ld hl, wNameBuffer
- add hl, de
- dec hl
- ld [hl], $00
- ld hl, wNameLength
- dec [hl]
- call Call_006_6e59
- jp Jump_006_6dd6
-
-
-Call_006_6e37:
- ld hl, $8000
- ld de, $6e49
- ld b, $00
-
-jr_006_6e3f:
- ld a, $10
- cp b
- ret z
-
- inc b
- ld a, [de]
- inc de
- ld [hl+], a
- jr jr_006_6e3f
-
- ldh a, [$f0]
- ldh a, [$f0]
- ldh a, [$f0]
- ldh a, [$f0]
- ldh a, [$f0]
- ldh a, [$f0]
- ldh a, [$f0]
- ldh a, [$f0]
-
-Call_006_6e59:
- ld hl, $d007
- ld d, [hl]
- inc hl
- ld e, [hl]
- call $22ae
- ld hl, $6e83
- ld de, $c590
-
-jr_006_6e68:
- ld a, [hl+]
- ld [de], a
- inc de
- or a
- jr nz, jr_006_6e68
-
- ld hl, wNameBuffer
- ld de, $c590
-
-jr_006_6e74:
- ld a, [hl+]
- or a
- jr z, jr_006_6e7c
-
- ld [de], a
- inc de
- jr jr_006_6e74
-
-jr_006_6e7c:
- ld hl, $c590
- call $21c5
- ret
-
-
- ld b, $5f
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- ld e, a
- nop
-
-Call_006_6e99:
- call Call_006_68c1
- call Call_006_6e59
- ld hl, $d002
- ld c, [hl]
- inc hl
- ld a, [hl]
- ld h, a
- or c
- jr z, jr_006_6ead
-
- ld l, c
- call $2c08
-
-jr_006_6ead:
- ld hl, $68bc
- call $2c08
- ld hl, $0222
- ld de, $0204
- call $22ae
- call $2c29
- call $0277
- ret
-
-
-Call_006_6ec3:
- ld a, [$d006]
- ld h, a
- ld a, [$cea4]
- ld l, a
- call Call_006_7000
- inc hl
- inc hl
- ld a, [hl]
- cp $01
- jr nz, jr_006_6ed7
-
- scf
- ret
-
-
-jr_006_6ed7:
- ld d, a
- ld hl, wNameLength
- ld a, [hl]
- ld c, a
- push hl
- ld hl, $d004
- cp [hl]
- pop hl
- jr nz, jr_006_6eeb
-
- ld hl, wNameBuffer
- dec hl
- jr jr_006_6eef
-
-jr_006_6eeb:
- inc [hl]
- ld hl, wNameBuffer
-
-jr_006_6eef:
- ld b, $00
- add hl, bc
- ld [hl], d
- inc hl
- ld [hl], $00
- call Call_006_6e59
- or a
- ret
-
-
-Call_006_6efb:
-Jump_006_6efb:
- xor a
- ld [$cfe3], a
- ldh a, [$8f]
- or a
- jp z, Jump_006_6f73
-
- ld b, a
- ld a, [$cea9]
- ld c, a
- ld a, [$d006]
- ld h, a
- ld a, [$cea4]
- ld l, a
- bit 6, b
- jr z, jr_006_6f1f
-
- dec a
- bit 7, a
- jr z, jr_006_6f4b
-
- ld a, c
- dec a
- jr jr_006_6f4b
-
-jr_006_6f1f:
- bit 7, b
- jr z, jr_006_6f2a
-
- inc a
- cp c
- jr c, jr_006_6f4b
-
- xor a
- jr jr_006_6f4b
-
-jr_006_6f2a:
- cp $06
- jr z, jr_006_6f73
-
- ld a, [$d005]
- ld c, a
- ld a, h
- bit 5, b
- jr z, jr_006_6f40
-
- dec a
- bit 7, a
- jr z, jr_006_6f4e
-
- ld a, c
- dec a
- jr jr_006_6f4e
-
-jr_006_6f40:
- bit 4, b
- jr z, jr_006_6f73
-
- inc a
- cp c
- jr c, jr_006_6f4e
-
- xor a
- jr jr_006_6f4e
-
-jr_006_6f4b:
- ld l, a
- jr jr_006_6f4f
-
-jr_006_6f4e:
- ld h, a
-
-jr_006_6f4f:
- push hl
- call Call_006_7000
- inc hl
- inc hl
- ld d, [hl]
- push de
- call Call_006_6fa1
- pop de
- pop hl
- ld a, l
- ld [$cea4], a
- ld a, h
- ld [$d006], a
- xor a
- ld [$cea3], a
- ld a, $02
- cp d
- jp z, Jump_006_6efb
-
- ld a, $01
- ld [$cfe3], a
-
-Jump_006_6f73:
-jr_006_6f73:
- ldh a, [$91]
- and $03
- jr z, jr_006_6f89
-
- and $01
- jr nz, jr_006_6f7f
-
- ld a, $ff
-
-jr_006_6f7f:
- call Call_006_6794
- push af
- call Call_006_6fbd
- pop af
- scf
- ret
-
-
-jr_006_6f89:
- ld a, [$cfe3]
- or a
- jr z, jr_006_6f92
-
- call $3796
-
-jr_006_6f92:
- ld hl, $cea3
- ld a, [hl]
- inc [hl]
- and $0f
- ret nz
-
- ld a, [$ceaa]
- bit 4, [hl]
- jr z, jr_006_6fa4
-
-Call_006_6fa1:
- ld a, [$ceab]
-
-jr_006_6fa4:
- ld e, a
- ld a, [$d006]
- ld h, a
- ld a, [$cea4]
- ld l, a
- call Call_006_7000
- ld a, [hl+]
- ld c, a
- ld b, [hl]
- dec b
- ld a, e
- call Call_006_6fc2
- call $06c3
- or a
- ret
-
-
-Call_006_6fbd:
- ld a, [$ceaa]
- jr jr_006_6fa4
-
-Call_006_6fc2:
- push af
- push bc
- push de
- push hl
- push af
- call $099c
- pop af
- ld b, a
- ld a, [$ceab]
- cp b
- jr z, jr_006_6ffb
-
- ld a, [wNameLength]
- ld d, a
- ld a, [$d004]
- ld e, a
- ld a, d
- cp e
- jr nz, jr_006_6fdf
-
- dec a
-
-jr_006_6fdf:
- dec a
- ld d, a
- ld hl, $d007
- ld a, [hl]
- sla a
- add d
- ld d, a
- ld h, $04
- ld l, d
- call $0879
- ld a, l
- add $08
- ld d, a
- ld e, $18
- ld bc, $0000
- call $097f
-
-jr_006_6ffb:
- pop hl
- pop de
- pop bc
- pop af
- ret
-
-
-Call_006_7000:
- push de
- ld e, l
- ld d, h
- ld a, [$cea9]
- ld l, a
- call $0879
- ld a, l
- add e
- ld hl, $7019
- pop de
- or a
- ret z
-
-jr_006_7012:
- inc hl
- inc hl
- inc hl
- dec a
- jr nz, jr_006_7012
-
- ret
-
-
- inc b
- ld [bc], a
- ld b, c
- ld b, $02
- ld c, d
- ld [$5302], sp
- ld a, [bc]
- ld [bc], a
- ccf
- inc c
- ld [bc], a
- inc [hl]
- ld c, $02
- ld [bc], a
- db $10
- rrca
- ld bc, $0404
- ld b, d
- ld b, $04
- ld c, e
- ld [$5404], sp
- ld a, [bc]
- inc b
- ld h, $0c
- inc b
- dec [hl]
- ld c, $04
- ld [bc], a
- db $10
- rrca
- ld bc, $0604
- ld b, e
- ld b, $06
- ld c, h
- ld [$5506], sp
- ld a, [bc]
- ld b, $2b
- inc c
- ld b, $36
- ld c, $06
- ld [bc], a
- db $10
- rrca
- ld bc, $0804
- ld b, h
- ld b, $08
- ld c, l
- ld [$5608], sp
- ld a, [bc]
- ld [$0c2d], sp
- ld [$0e37], sp
- ld [$1002], sp
- rrca
- ld bc, $0a04
- ld b, l
- ld b, $0a
- ld c, [hl]
- ld [$570a], sp
- ld a, [bc]
- ld a, [bc]
- daa
- inc c
- ld a, [bc]
- jr c, jr_006_708b
-
- ld a, [bc]
- ld [bc], a
- db $10
- rrca
- ld bc, $0c04
- ld b, [hl]
- ld b, $0c
- ld c, a
- ld [$580c], sp
-
-jr_006_708b:
- ld a, [bc]
- inc c
- jr nc, @+$0e
-
- inc c
- add hl, sp
- ld c, $0c
- ld [bc], a
- db $10
- rrca
- ld bc, $0e04
- ld b, a
- ld b, $0e
- ld d, b
- ld [$590e], sp
- ld a, [bc]
- ld c, $31
- inc c
- ld c, $20
- ld c, $0e
- ld [bc], a
- db $10
- rrca
- ld bc, $1004
- ld c, b
- ld b, $10
- ld d, c
- ld [$5a10], sp
- ld a, [bc]
- db $10
- ld [hl-], a
- inc c
- db $10
- jr nz, jr_006_70ca
-
- db $10
- ld [bc], a
- db $10
- rrca
- ld bc, $1204
- ld c, c
- ld b, $12
- ld d, d
- ld [$2112], sp
-
-jr_006_70ca:
- ld a, [bc]
- ld [de], a
- inc sp
- inc c
- ld [de], a
- jr nz, @+$10
-
- ld [de], a
- ld [bc], a
- db $10
- rrca
- ld bc, $0000
- nop
- nop
- ld a, [de]
- dec b
- ld [bc], a
- ld [hl], a
- ld bc, $0278
- ld a, c
- ld bc, $027a
- ld a, e
- ld bc, $037c
- ld a, l
- ld [bc], a
- ld a, [hl]
- ld bc, $027f
- add b
- ld bc, $0181
- add d
- ld bc, $0283
- add h
- ld bc, $0185
- add a
- ld bc, $0288
- adc c
- ld bc, $018a
- jp $c502
-
-
- ld bc, $02d2
- db $dd
- nop
- inc c
- inc b
- ld c, $05
- inc b
- ld l, l
- ld [bc], a
- ld l, a
- ld [bc], a
- ld [hl], h
- inc b
- add a
- ld [bc], a
- adc b
- inc b
- or c
- ld bc, $02c3
- push bc
- ld bc, $02c6
- call $d202
- ld bc, $02d5
- ret c
-
- ld [bc], a
- reti
-
-
- ld bc, $01da
- db $db
- ld bc, $00e1
- jr jr_006_7139
-
- ld [bc], a
- rlca
- inc bc
- ld a, e
- inc b
-
-jr_006_7139:
- ld a, l
- inc bc
- ld a, [hl]
- ld [bc], a
- add a
- ld [bc], a
- adc b
- inc bc
- or c
- ld [bc], a
- or e
- inc bc
- cp a
- ld [bc], a
- ret nz
-
- ld bc, $01c2
- jp $d803
-
-
- inc bc
- reti
-
-
- ld [bc], a
- db $dd
- nop
- ld [$0402], sp
- inc b
- rrca
- dec b
- inc b
- dec sp
- ld [bc], a
- ld [hl], c
- inc bc
- ld a, e
- ld [bc], a
- ld a, h
- inc bc
- add a
- inc bc
- adc b
- ld [bc], a
- cp c
- ld [bc], a
- rst $08
- ld [bc], a
- push de
- inc bc
- ret c
-
- ld [bc], a
- reti
-
-
- inc bc
- db $dd
- ld [bc], a
- rst $18
- nop
- add hl, de
- dec b
- inc b
- ld a, l
- inc bc
- ld a, [hl]
- ld [bc], a
- ld a, a
- ld [bc], a
- adc b
- inc b
- add a
- inc b
- ld a, e
- ld bc, $027c
- db $dd
- ld [bc], a
- reti
-
-
- ld [bc], a
- ret c
-
- ld [bc], a
- jp nc, $db03
-
- inc b
- push bc
- nop
- ld [$0f04], sp
- dec b
- ld [bc], a
- rlca
- ld [bc], a
- ld h, b
- ld [bc], a
- ld h, c
- ld bc, $0167
- ld l, b
- inc b
- ld [hl], a
- inc bc
- ld a, b
- inc b
- and a
- inc bc
- xor b
- ld bc, $02c3
- push bc
- ld bc, $02c9
- call $d601
- inc bc
- ret c
-
- ld [bc], a
- reti
-
-
- ld [bc], a
- db $dd
- ld bc, $00de
- add hl, de
- dec b
- inc b
- ld a, c
- inc bc
- ld a, d
- inc b
- add e
- inc bc
- adc c
- ld [bc], a
- adc d
- ld [bc], a
- cp c
- ld bc, $01ba
- cp [hl]
- ld bc, $02c3
- push bc
- ld [bc], a
- ret
-
-
- inc bc
- jp nc, $d904
-
- inc bc
- db $dd
- nop
- jr jr_006_71e0
-
- inc bc
- ld [hl], a
- ld [bc], a
- ld a, b
- inc bc
-
-jr_006_71e0:
- add b
- ld [bc], a
- add c
- ld bc, $0482
- add e
- inc b
- add h
- ld bc, $0285
- add [hl]
- ld [bc], a
- adc c
- ld bc, $028a
- push bc
- ld bc, $02c6
- call nc, $d701
- inc bc
- reti
-
-
- ld [bc], a
- ld [c], a
- nop
- rrca
- dec b
- ld [$0303], sp
- ld c, l
- ld bc, $034e
- ld e, h
- ld [bc], a
- ld e, l
- inc b
- ld [hl], a
- ld [bc], a
- ld a, b
- inc bc
- add h
- ld bc, $0386
- adc b
- ld [bc], a
- adc e
- ld bc, $028c
- adc l
- ld [bc], a
- jp $c502
-
-
- ld [bc], a
- jp z, $cc04
-
- nop
- jr jr_006_722a
-
- ld [bc], a
- rlca
- inc b
- ld a, c
- ld [bc], a
-
-jr_006_722a:
- ld a, d
- inc b
- add b
- inc bc
- add c
- ld [bc], a
- add d
- inc bc
- add e
- inc bc
- adc c
- ld [bc], a
- jp $ca01
-
-
- ld [bc], a
- ret nc
-
- ld [bc], a
- jp nc, $d601
-
- ld [bc], a
- reti
-
-
- ld bc, $02de
- db $dd
- nop
- add hl, de
- inc bc
- ld [bc], a
- ld b, h
- ld bc, $0245
- ld b, [hl]
- ld bc, $0147
- ld c, b
- ld [bc], a
- ld c, e
- ld bc, $024c
- ld c, l
- ld bc, $024e
- ld c, a
- ld bc, $0250
- ld d, c
- ld bc, $0152
- ld d, a
- ld bc, $0158
- ld e, c
- ld bc, $015c
- ld e, l
- ld bc, $015e
- jp $c502
-
-
- ld bc, $02c9
- call z, $cf01
- ld bc, $01d4
- db $dd
- ld bc, $00de
- db $10
- inc bc
- ld a, [bc]
- dec b
- ld [bc], a
- ld c, e
- ld bc, $034c
- ld c, l
- ld [bc], a
- ld c, [hl]
- inc bc
- ld c, a
- ld [bc], a
- ld d, b
- inc bc
- ld d, l
- ld [bc], a
- ld d, [hl]
- inc bc
- ld [hl], a
- ld [bc], a
- ld a, b
- ld [bc], a
- push bc
- ld [bc], a
- call $d002
- ld [bc], a
- db $db
- inc bc
- db $dd
- nop
- ld [$0e01], sp
- inc bc
- inc b
- rlca
- inc bc
- inc c
- ld [bc], a
- dec c
- inc bc
- ld b, c
- ld [bc], a
- ld b, d
- inc bc
- ld c, l
- ld [bc], a
- ld c, [hl]
- inc b
- ld d, l
- inc bc
- ld d, [hl]
- ld [bc], a
- jp $c502
-
-
- ld [bc], a
- ret c
-
- ld [bc], a
- reti
-
-
- inc b
- db $dd
- nop
- rrca
- inc bc
- ld [$0306], sp
- rlca
- inc bc
- ld b, h
- ld [bc], a
- ld b, l
- inc b
- ld b, [hl]
- inc bc
- ld b, a
- ld [bc], a
- ld c, b
- inc b
- sub l
- inc bc
- sub [hl]
- inc bc
- cp a
- ld [bc], a
- ret nz
-
- ld bc, $01c3
- push bc
- ld bc, $02c7
- rst $08
- ld [bc], a
- ret nc
-
- ld bc, $00d1
- jr jr_006_72ed
-
- inc b
- ld b, c
- inc bc
-
-jr_006_72ed:
- ld b, d
- ld [bc], a
- ld b, e
- inc b
- ld d, e
- inc bc
- ld d, h
- inc bc
- ld d, c
- ld [bc], a
- ld d, d
- ld [bc], a
- ld e, c
- ld [bc], a
- jp $ca01
-
-
- ld bc, $01cd
- adc $02
- ret nc
-
- ld bc, $02d1
- jp nc, $dd02
-
- ld bc, $00e3
- inc b
- ld [bc], a
- ld b, $03
- ld [$0204], sp
- rlca
- ld bc, $013e
- ld e, e
- ld bc, $0160
- ld h, c
- ld bc, $0162
- ld h, e
- ld bc, $0164
- ld h, l
- ld bc, $0166
- ld h, a
- ld bc, $0168
- ld [hl], e
- ld [bc], a
- xor e
- ld bc, $01ac
- xor l
- ld [bc], a
- xor [hl]
- ld bc, $02af
- or b
- inc b
- cp h
- ld [bc], a
- jp $c503
-
-
- ld [bc], a
- rlc d
- push de
- ld bc, $01d6
- ret c
-
- ld bc, $03d9
- db $dd
- nop
- add hl, bc
- inc bc
- inc c
- inc b
- ld [bc], a
- ld d, l
- ld [bc], a
- ld e, c
- inc bc
- ld h, b
- ld bc, $0267
- ld l, c
- inc bc
- ld [hl], c
- ld [bc], a
- and a
- ld bc, $02a8
- jp $c504
-
-
- inc bc
- ret nc
-
- ld bc, $03d6
- ret c
-
- ld [bc], a
- jp c, $db04
-
- inc b
- ld [c], a
- nop
- ld a, [de]
- inc b
- ld [bc], a
- ld h, b
- ld bc, $0161
- ld h, a
- ld bc, $0268
- ld l, c
- ld bc, $016a
- ld l, e
- ld bc, $036c
- ld l, l
- ld bc, $016e
- ld l, a
- ld bc, $0170
- ld [hl], c
- ld bc, $0172
- ld [hl], e
- ld bc, $0174
- ld [hl], l
- inc bc
- cp h
- ld bc, $02cd
- ret nc
-
- ld [bc], a
- call nc, $d802
- ld [bc], a
- reti
-
-
- ld bc, $00db
- jr jr_006_73aa
-
- ld bc, $0207
- ld h, c
-
-jr_006_73aa:
- ld bc, $0162
- ld h, e
- ld [bc], a
- ld h, a
- ld [bc], a
- ld l, c
- ld [bc], a
- ld l, d
- ld [bc], a
- ld l, e
- inc b
- ld l, l
- inc bc
- ld l, a
- ld bc, $0375
- cp l
- ld [bc], a
- call $d802
- inc bc
- reti
-
-
- ld [bc], a
- jp c, $db03
-
- nop
- jr jr_006_73cf
-
- ld [bc], a
- rlca
- inc b
- ld l, c
-
-jr_006_73cf:
- inc bc
- ld l, e
- inc b
- ld l, l
- ld [bc], a
- ld l, [hl]
- inc b
- ld [hl], c
- ld [bc], a
- cp c
- ld bc, $01ba
- jp $c502
-
-
- ld [bc], a
- jp nc, $d904
-
- ld bc, $04db
- db $dd
- nop
- jr jr_006_73eb
-
- inc bc
-
-jr_006_73eb:
- inc c
- ld [bc], a
- dec c
- ld bc, $030e
- rrca
- ld [bc], a
- db $10
- ld bc, $0411
- rra
- inc bc
- jr nz, @+$04
-
- ld hl, $2201
- ld bc, $012e
- cpl
- ld [bc], a
- push bc
- ld [bc], a
- jp z, $d202
-
- ld [bc], a
- call nc, $d702
- ld [bc], a
- db $dd
- nop
- add hl, de
- ld bc, $0701
- ld [bc], a
- ld [de], a
- ld bc, $0213
- ld a, [de]
- ld bc, $021b
- inc e
- ld bc, $011d
- ld e, $02
- rra
- ld bc, $0220
- ld hl, $2201
- ld [bc], a
- inc hl
- ld bc, $0124
- dec h
- ld bc, $012f
- or a
- ld bc, $02b9
- push bc
- ld bc, $01d2
- call nc, $d802
- ld [bc], a
- reti
-
-
- ld [bc], a
- db $dd
- ld bc, $00df
- jr jr_006_7447
-
- ld [bc], a
-
-jr_006_7447:
- rlca
- inc bc
- ld [$0902], sp
- ld [bc], a
- dec bc
- inc bc
- inc e
- ld [bc], a
- dec e
- ld [bc], a
- ld e, $02
- inc hl
- ld bc, $0124
- dec h
- ld [bc], a
- inc l
- ld bc, $022d
- or a
- ld [bc], a
- ret
-
-
- inc bc
- jp z, $cf01
-
- ld [bc], a
- jp nc, $dd02
-
- ld bc, $00df
- ld a, [bc]
- ld bc, $0204
- inc b
- inc bc
- inc b
- inc b
- inc bc
- rlca
- inc bc
- ld hl, $2202
- ld bc, $013d
- ld a, $01
- ld e, d
- ld bc, $015b
- ld [hl], d
- ld bc, $0473
- cp e
- inc b
- cp h
- inc b
- cp l
- ld [bc], a
- push bc
- ld [bc], a
- add $02
- rst $08
- inc b
- jp nc, $db02
-
- nop
- ld [de], a
- ld bc, $0604
- inc b
- ld [$0903], sp
- ld [bc], a
- dec bc
- inc b
- inc e
- inc bc
- dec e
- ld [bc], a
- ld e, $04
- jr z, @+$05
-
- add hl, hl
- ld [bc], a
- jp $c503
-
-
- ld [bc], a
- jp z, $cd02
-
- ld [bc], a
- jp nc, $dd02
-
- nop
- add hl, de
- ld b, $03
- adc [hl]
- ld [bc], a
- adc a
- ld bc, $0290
- sub d
- ld bc, $0193
- sub h
- ld [bc], a
- sub l
- ld bc, $0196
- sub a
- ld bc, $0298
- sbc c
- ld bc, $019a
- sbc e
- ld bc, $019c
- sbc l
- ld bc, $01a2
- xor e
- ld bc, $01ac
- cp [hl]
- ld [bc], a
- jp $c901
-
-
- ld bc, $02ca
- jp nc, $d301
-
- ld [bc], a
- ret c
-
- ld bc, $00dc
- rlca
- ld bc, $0611
- inc bc
- ld a, [de]
- ld [bc], a
- dec de
- inc b
- sub h
- ld bc, $0296
- sub a
- ld [bc], a
- sbc b
- inc bc
- sbc c
- ld [bc], a
- sbc d
- ld [bc], a
- xor a
- ld [bc], a
- or d
- ld [bc], a
- jp $c502
-
-
- ld [bc], a
- call $ce01
- ld [bc], a
- jp nc, $d601
-
- inc bc
- ldh [$FF00], a
- rla
- ld b, $04
- sub d
- inc bc
- sub e
- inc bc
- sbc h
- ld [bc], a
- sbc l
- ld [bc], a
- and d
- ld [bc], a
- xor [hl]
- ld [bc], a
- xor a
- ld [bc], a
- cp h
- ld [bc], a
- call $d003
- ld [bc], a
- ret c
-
- inc bc
- reti
-
-
- inc bc
- db $dd
- inc b
- db $e4
- nop
- add hl, de
- ld b, $01
- rlca
- inc bc
- sub c
- ld [bc], a
- sub e
- inc b
- sbc c
- inc bc
- sbc d
- ld [bc], a
- sbc e
- ld [bc], a
- sbc h
- ld bc, $02a0
- and d
- ld [bc], a
- or a
- ld bc, $02be
- ret
-
-
- ld [bc], a
- call $d002
- ld bc, $02d1
- ret c
-
- ld bc, $01da
- db $db
- ld bc, $00df
- ld d, $06
- inc b
- adc [hl]
- inc bc
- adc a
- ld [bc], a
- sub b
- ld [bc], a
- sbc e
- inc bc
- cp b
- inc bc
- cp c
- ld [bc], a
- cp [hl]
- ld [bc], a
- jp $d302
-
-
- inc bc
- ret nc
-
- inc bc
- db $db
- inc b
- push de
- inc b
- jp nc, $e301
-
- nop
- inc d
- ld bc, $1404
- inc bc
- dec d
- ld [bc], a
- ld d, $04
- rla
- inc b
- jr jr_006_758f
-
- add hl, de
- inc bc
- or a
- ld [bc], a
-
-jr_006_758f:
- jp $c903
-
-
- inc bc
- jp z, $cd02
-
- inc bc
- jp nc, $d601
-
- ld [bc], a
- jp c, $1a00
-
- ld bc, $1202
- ld bc, $0213
- inc d
- ld bc, $0115
- ld d, $03
- rla
- ld [bc], a
- jr jr_006_75af
-
- add hl, de
-
-jr_006_75af:
- ld [bc], a
- ld a, [de]
- ld bc, $021b
- ld h, $01
- daa
- ld [bc], a
- ld a, [hl+]
- ld bc, $022b
- or d
- ld bc, $01b3
- jp $c501
-
-
- ld bc, $01c9
- jp z, $dd01
-
- ld bc, $01df
- pop hl
- ld bc, $01e3
- db $e4
- nop
- dec c
- ld bc, $040a
- ld [bc], a
- rlca
- inc b
- ld a, [de]
- inc bc
- dec de
- ld [bc], a
- ld h, h
- inc b
- and e
- inc bc
- and h
- ld bc, $01a5
- and [hl]
- inc b
- xor c
- inc bc
- xor d
- ld [bc], a
- call nz, $c702
- ld [bc], a
- push bc
- inc b
- db $dd
- nop
- jr jr_006_75f6
-
- inc bc
-
-jr_006_75f6:
- rrca
- ld [bc], a
- db $10
- ld bc, $0411
- ld [de], a
- inc bc
- inc de
- inc b
- rla
- inc bc
- jr jr_006_7606
-
- add hl, de
- inc bc
-
-jr_006_7606:
- ld a, [hl+]
- ld [bc], a
- dec hl
- ld bc, $02c3
- call nz, $ca01
- ld [bc], a
- db $dd
- ld [bc], a
- rst $18
- ld bc, $00e3
- rrca
- ld bc, $0608
- inc b
- ld h, $03
- daa
- inc b
- ld a, [hl+]
- inc bc
- dec hl
- ld [bc], a
- sbc l
- ld bc, $019f
- sbc [hl]
- ld [bc], a
- cp l
- ld bc, $02c4
- jp $c502
-
-
- ld [bc], a
- rst $08
- ld [bc], a
- jp nc, $d602
-
- ld [bc], a
- rst $10
- ld [bc], a
- pop hl
- ld [bc], a
- rst $18
- nop
- jr jr_006_7641
-
- inc b
- inc sp
-
-jr_006_7641:
- ld [bc], a
- inc [hl]
- ld bc, $0435
- ld [hl], $01
- scf
- ld bc, $0438
- and e
- inc bc
- and h
- ld bc, $01a5
- and [hl]
- inc bc
- or l
- ld [bc], a
- or [hl]
- ld [bc], a
- jp $c402
-
-
- ld [bc], a
- rst $00
- inc bc
- db $db
- nop
- inc c
- ld bc, $020a
- inc b
- ld [$0903], sp
- ld [bc], a
- dec bc
- inc b
- jr nc, jr_006_7670
-
- ld sp, $3202
-
-jr_006_7670:
- inc bc
- dec a
- inc b
- cp h
- ld [bc], a
- push bc
- inc bc
- ret
-
-
- inc bc
- jp z, $cd02
-
- ld bc, $02d0
- db $dd
- nop
- ld a, [bc]
- ld [bc], a
- ld [$0803], sp
- inc b
- inc bc
- jr nc, @+$04
-
- ld sp, $3903
- ld [bc], a
- ld a, [hl-]
- ld [bc], a
- dec a
- ld [bc], a
- ld e, d
- ld [bc], a
- ld h, b
- inc bc
- ld l, l
- ld [bc], a
- ld l, a
- ld [bc], a
- ld [hl], d
- inc b
- cp h
- ld [bc], a
- rst $08
- ld [bc], a
- jp nc, $d803
-
- nop
- jr jr_006_76a8
-
- ld [bc], a
- rlca
-
-jr_006_76a8:
- inc bc
- jr nc, @+$04
-
- ld sp, $3201
- inc bc
- inc sp
- ld bc, $0134
- dec [hl]
- ld [bc], a
- ld [hl], $01
- jr c, @+$04
-
- add hl, sp
- ld bc, $013a
- dec sp
- ld bc, $013c
- dec a
- ld bc, $013e
- ccf
- inc bc
- cp h
- ld bc, $02c3
- push bc
- ld bc, $01c9
- jp z, $cd01
-
- ld bc, $01ce
- jp nc, $db01
-
- nop
- dec d
- ld [bc], a
- inc b
- rlca
- inc b
- ld [hl], $03
- jr c, jr_006_76e4
-
- dec sp
- inc bc
-
-jr_006_76e4:
- xor l
- ld bc, $01af
- or b
- ld [bc], a
- cp b
- ld [bc], a
- cp d
- ld bc, $02c3
- push bc
- ld [bc], a
- call $d401
- ld bc, $02d6
- reti
-
-
- inc bc
- db $dd
- ld bc, $03df
- db $e4
- ld bc, $00e3
- ld [$0a01], sp
- ld [bc], a
- ld b, $03
- ld [bc], a
- inc c
- ld bc, $020d
- inc d
- ld bc, $0117
- cpl
- ld [bc], a
- jr nc, @+$03
-
- ld sp, $3201
- ld [bc], a
- ld [hl], $01
- jr c, @+$04
-
- add hl, sp
- ld bc, $023b
- ld c, e
- ld bc, $024c
- ld d, e
- ld bc, $0254
- and a
- ld bc, $01a8
- or c
- ld bc, $02c3
- push bc
- ld bc, $01d2
- sub $01
- ret c
-
- ld [bc], a
- db $dd
- ld [bc], a
- rst $18
- nop
- ld [$0b02], sp
- inc bc
- ld b, $04
- ld [bc], a
- jr nc, @+$03
-
- ld sp, $3601
- ld bc, $0138
- dec sp
- ld [bc], a
- ld b, c
- ld bc, $0142
- ld b, e
- ld [bc], a
- ld c, e
- ld bc, $014C
- ld d, e
- ld bc, $0154
- ld d, l
- ld bc, $0156
- ld e, c
- ld [bc], a
- ld h, b
- ld bc, $0169
- ld l, e
- ld bc, $0271
- and a
- ld bc, $01a8
- or c
- ld bc, $01c3
- push bc
- ld bc, $01d2
- call nc, $d501
- ld bc, $01da
- db $dd
- ld bc, $00df
- add hl, bc
- ld bc, $0408
- ld b, $06
- ld [bc], a
- ld [$0901], sp
- ld bc, $020b
- inc d
- ld [bc], a
- rla
- ld bc, $0118
- dec l
- ld [bc], a
- ld h, b
- ld bc, $0167
- ld l, c
- ld bc, $0271
- adc [hl]
- ld bc, $028f
- sub h
- ld bc, $0197
- sbc h
- ld bc, $01af
- or c
- ld bc, $01b9
- jp $c501
-
-
- ld bc, $01d2
- call nc, $d802
- ld bc, $01d9
- db $db
- ld [bc], a
- db $dd
- ld [bc], a
- rst $18
- nop
- inc c
- dec b
- inc c
- ld b, $02
- ld a, c
- ld bc, $027a
- ld a, l
- ld bc, $017e
- ld a, a
- ld bc, $0183
- add a
- ld bc, $0288
- adc [hl]
- ld bc, $018f
- sub b
- ld [bc], a
- sub h
- ld bc, $0197
- sbc b
- ld bc, $019b
- sbc h
- ld bc, $02a2
- and e
- ld bc, $01a4
- and [hl]
- ld [bc], a
- and a
- ld bc, $01a8
- jp $c502
-
-
- ld bc, $01d2
- db $db
- ld [bc], a
- db $dd
- ld bc, $00df
- ld c, $01
- ld a, [bc]
- inc bc
- ld [bc], a
- rrca
- ld bc, $0110
- ld de, $1702
- ld bc, $0118
- add hl, de
- ld [bc], a
- inc hl
- ld bc, $0124
- dec h
- ld bc, $022e
- ld b, [hl]
- ld bc, $0147
- ld c, b
- ld [bc], a
- ld c, a
- ld bc, $0250
- ld d, a
- ld bc, $0158
- ld e, c
- ld bc, $015e
- or a
- ld bc, $01b9
- cp d
- ld bc, $02c3
- push bc
- ld bc, $01cd
- rst $08
- ld bc, $01d2
- ret c
-
- ld bc, $00df
- add hl, de
- ld [bc], a
- inc b
- inc sp
- inc bc
- dec [hl]
- inc b
- ld [hl], $02
- jr c, jr_006_7848
-
- dec sp
- ld [bc], a
-
-jr_006_7848:
- inc a
- ld [bc], a
- ccf
- ld [bc], a
- ld b, b
- inc bc
- push bc
- ld [bc], a
- rst $00
- ld bc, $01c9
- call $ce01
- ld [bc], a
- ret nc
-
- ld [bc], a
- jp nc, $dd01
-
- ld bc, $00de
- add hl, de
- inc b
- inc b
- ld l, l
- inc bc
- ld l, [hl]
- inc b
- ld [hl], c
- ld [bc], a
- ld [hl], e
- ld bc, $0174
- ld [hl], l
- ld [bc], a
- db $76
- inc bc
- cp h
- inc b
- push bc
- ld [bc], a
- call $d202
- inc bc
- ret c
-
- inc bc
- db $dd
- ld bc, $00e3
- add hl, de
- inc bc
- inc b
- ld c, e
- inc bc
- ld c, h
- inc b
- ld e, c
- ld [bc], a
- ld e, a
- ld [bc], a
- ld e, [hl]
- inc bc
- cp b
- ld [bc], a
- cp e
- ld [bc], a
- jp $c902
-
-
- inc bc
- call $d203
- inc b
- push de
- ld bc, $00e3
- inc d
- inc bc
- inc b
- rlca
- inc bc
- jr nc, @+$04
-
- ld sp, $3202
- inc bc
- ld d, a
- ld [bc], a
- ld e, b
- ld [bc], a
- ld e, c
- ld [bc], a
- cp c
- inc b
- cp a
- inc bc
- ret nz
-
- ld [bc], a
- pop bc
- ld [bc], a
- jp $c902
-
-
- ld [bc], a
- jp z, $cd01
-
- ld bc, $02ce
- jp nc, $e301
-
- nop
- inc c
- ld bc, $060e
- inc b
- ld [$0903], sp
- ld [bc], a
- ld a, [bc]
- ld [bc], a
- ld l, $04
- adc [hl]
- inc bc
- adc a
- ld [bc], a
- sub b
- ld [bc], a
- sbc e
- ld bc, $02a0
- and c
- ld bc, $02c3
- push bc
- ld [bc], a
- jp z, $d001
-
- ld [bc], a
- jp nc, $d301
-
- nop
- jp c, $9270
-
- ld [bc], a
- call nz, $0b02
- ld [hl], c
- sub e
- ld [bc], a
- push bc
- ld [bc], a
- ld [hl-], a
- ld [hl], c
- sub h
- ld [bc], a
- add $02
- ld d, e
- ld [hl], c
- sub l
- ld [bc], a
- rst $00
- ld [bc], a
- ld [hl], h
- ld [hl], c
- sub [hl]
- ld [bc], a
- ret z
-
- ld [bc], a
- sub c
- ld [hl], c
- sub a
- ld [bc], a
- ret
-
-
- ld [bc], a
- cp d
- ld [hl], c
- sbc b
- ld [bc], a
- jp z, $d902
-
- ld [hl], c
- sbc c
- ld [bc], a
- rlc d
- cp $71
- sbc d
- ld [bc], a
- call z, $2302
- ld [hl], d
- sbc e
- ld [bc], a
- call $4602
- ld [hl], d
- sbc h
- ld [bc], a
- adc $02
- ld a, a
- ld [hl], d
- sbc l
- ld [bc], a
- rst $08
- ld [bc], a
- and d
- ld [hl], d
- sbc [hl]
- ld [bc], a
- ret nc
-
- ld [bc], a
- jp $9f72
-
-
- ld [bc], a
- pop de
- ld [bc], a
- add sp, $72
- and b
- ld [bc], a
- jp nc, $0d02
-
- ld [hl], e
- and c
- ld [bc], a
- db $d3
- ld [bc], a
- ld c, h
- ld [hl], e
- and d
- ld [bc], a
- call nc, $7102
- ld [hl], e
- and e
- ld [bc], a
- push de
- ld [bc], a
- and h
- ld [hl], e
- and h
- ld [bc], a
- sub $02
- ret
-
-
- ld [hl], e
- and l
- ld [bc], a
- rst $10
- ld [bc], a
- add sp, $73
- and [hl]
- ld [bc], a
- ret c
-
- ld [bc], a
- rrca
- ld [hl], h
- and a
- ld [bc], a
- reti
-
-
- ld [bc], a
- ld b, h
- ld [hl], h
- xor b
- ld [bc], a
- jp c, $6d02
-
- ld [hl], h
- xor c
- ld [bc], a
- db $db
- ld [bc], a
- sbc b
- ld [hl], h
- xor d
- ld [bc], a
- call c, $b902
- ld [hl], h
- xor e
- ld [bc], a
- db $dd
- ld [bc], a
- ldh a, [$74]
- xor h
- ld [bc], a
- sbc $02
- rla
- ld [hl], l
- xor l
- ld [bc], a
- rst $18
- ld [bc], a
- ld [hl], $75
- xor [hl]
- ld [bc], a
- ldh [rSC], a
- ld e, a
- ld [hl], l
- xor a
- ld [bc], a
- pop hl
- ld [bc], a
- ld a, [hl]
- ld [hl], l
- or b
- ld [bc], a
- ld [c], a
- ld [bc], a
- sbc l
- ld [hl], l
- or c
- ld [bc], a
- db $e3
- ld [bc], a
- jp nc, $b275
-
- ld [bc], a
- db $e4
- ld [bc], a
- di
- ld [hl], l
- or e
- ld [bc], a
- push hl
- ld [bc], a
- ld d, $76
- or h
- ld [bc], a
- and $02
- dec a
- db $76
- or l
- ld [bc], a
- rst $20
- ld [bc], a
- ld h, b
- db $76
- or [hl]
- ld [bc], a
- add sp, $02
- add c
- db $76
- or a
- ld [bc], a
- jp hl
-
-
- ld [bc], a
- and h
- db $76
- cp b
- ld [bc], a
- ld [$d902], a
- db $76
- cp c
- ld [bc], a
- db $eb
- ld [bc], a
- ld [bc], a
- ld [hl], a
- cp d
- ld [bc], a
- db $ec
- ld [bc], a
- dec a
- ld [hl], a
- cp e
- ld [bc], a
- db $ed
- ld [bc], a
- add b
- ld [hl], a
- cp h
- ld [bc], a
- xor $02
- cp a
- ld [hl], a
- cp l
- ld [bc], a
- rst $28
- ld [bc], a
- db $fc
- ld [hl], a
- cp [hl]
- ld [bc], a
- ldh a, [rSC]
- dec sp
- ld a, b
- cp a
- ld [bc], a
- pop af
- ld [bc], a
- ld h, b
- ld a, b
- ret nz
-
- ld [bc], a
- ld a, [c]
- ld [bc], a
- ld a, a
- ld a, b
- pop bc
- ld [bc], a
- di
- ld [bc], a
- sbc h
- ld a, b
- jp nz, $f402
-
- ld [bc], a
- jp $c378
-
-
- ld [bc], a
- push af
- ld [bc], a
- call $07b6
- ld a, [$d0a9]
- ld l, a
- ld h, $1e
- call $0879
- ld bc, $78e8
- add hl, bc
- ld b, $00
-
-jr_006_7a26:
- call Call_006_7a4c
- call Call_006_7a5b
- call Call_006_7a7d
- push hl
- ld de, $d0aa
- ld h, b
- ld l, $02
- call $0879
- add hl, de
- ld d, h
- ld e, l
- pop hl
- ld a, [hl+]
- ld [de], a
- inc de
- ld a, [hl+]
- ld [de], a
- inc b
- ld a, b
- cp $05
- jr nz, jr_006_7a26
-
- call $07be
- ret
-
-
-Call_006_7a4c:
- push hl
- ld l, b
- ld h, $54
- call $0879
- ld de, $a350
- add hl, de
- ld d, h
- ld e, l
- pop hl
- ret
-
-
-Call_006_7a5b:
- push hl
- push bc
- push de
- push de
- ld e, [hl]
- inc hl
- ld d, [hl]
- pop hl
- ld bc, $0018
- add hl, bc
-
-jr_006_7a67:
- ld a, [de]
- inc de
- ld b, a
- or a
- jr z, jr_006_7a77
-
- ld a, [de]
- inc de
- ld c, a
-
-jr_006_7a70:
- ld [hl], c
- inc hl
- dec b
- jr nz, jr_006_7a70
-
- jr jr_006_7a67
-
-jr_006_7a77:
- pop de
- pop bc
- pop hl
- inc hl
- inc hl
- ret
-
-
-Call_006_7a7d:
- push hl
- push bc
- push de
- ld a, [hl+]
- ld h, [hl]
- ld l, a
- ld de, $d089
- call $2e89
- pop hl
- ld de, $d089
-
-jr_006_7a8d:
- ld a, [de]
- ld [hl+], a
- or a
- jr z, jr_006_7a95
-
- inc de
- jr jr_006_7a8d
-
-jr_006_7a95:
- pop bc
- pop hl
- inc hl
- inc hl
- ret
-
-
- xor a
- ld [$d0a6], a
- ld a, $01
-
-jr_006_7aa0:
- call Call_006_7ae4
- ret nc
-
- sla a
- cp $10
- jr z, jr_006_7aac
-
- jr jr_006_7aa0
-
-jr_006_7aac:
- ld a, $03
- call Call_006_7ae4
- ret nc
-
- ld a, $05
- call Call_006_7ae4
- ret nc
-
- ld a, $09
- call Call_006_7ae4
- ret nc
-
- ld a, $06
- call Call_006_7ae4
- ret nc
-
- ld a, $0a
- call Call_006_7ae4
- ret nc
+ push af
+ ld a, [de]
+ or a
+ jr nz, .asm_006_6d91
+ ld a, $06
+ ld [de], a
+.asm_006_6d91
+ pop af
+ inc a
+ call Func_006_6846
+ call Set_OBJ_8x8
+ xor a
+ ld [wTileMapFill], a
+ call EmptyScreen
+ call ZeroObjectPositions
+ ld a, $01
+ ld [wVBlankOAMCopyToggle], a
+ call LoadSymbolsFont
+ ld de, $38bf
+ call SetupText
+ call Func_006_6e37
+ xor a
+ ld [wd009], a
+ call Func_006_6e99
+ xor a
+ ld [wd006], a
+ ld [wcea4], a
+ ld a, $09
+ ld [wd005], a
+ ld a, $07
+ ld [wcea9], a
+ ld a, $0f
+ ld [wceaa], a
+ ld a, $00
+ ld [wceab], a
+.asm_006_6dd6
+ ld a, $01
+ ld [wVBlankOAMCopyToggle], a
+ call DoFrame
+ call UpdateRNGSources
+ ldh a, [$8f]
+ and $08
+ jr z, .asm_006_6dfc
+ ld a, $01
+ call Func_006_6794
+ call Func_006_6fa1
+ ld a, $06
+ ld [wd006], a
+ ld [wcea4], a
+ call Func_006_6fbd
+ jr .asm_006_6dd6
+.asm_006_6dfc
+ call Func_006_6efb
+ jr nc, .asm_006_6dd6
+ cp $ff
+ jr z, .asm_006_6e1c
+ call Func_006_6ec3
+ jr nc, .asm_006_6dd6
+ call Func_006_6880
+ ld hl, wd000
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ inc hl
+ ld a, [hl]
+ or a
+ jr nz, .asm_006_6e1b
+ dec hl
+ ld [hl], $00
+.asm_006_6e1b
+ ret
+.asm_006_6e1c
+ ld a, [wNamingScreenBufferLength]
+ cp $02
+ jr c, .asm_006_6dd6
+ ld e, a
+ ld d, $00
+ ld hl, wNamingScreenBuffer
+ add hl, de
+ dec hl
+ ld [hl], $00
+ ld hl, wNamingScreenBufferLength
+ dec [hl]
+ call Func_006_6e59
+ jp .asm_006_6dd6
+
+Func_006_6e37:
+ ld hl, v0Tiles0
+ ld de, .data
+ ld b, $00
+.asm_006_6e3f
+ ld a, $10
+ cp b
+ ret z
+ inc b
+ ld a, [de]
+ inc de
+ ld [hli], a
+ jr .asm_006_6e3f
+.data
+rept $6e58-$6e48
+ db $f0
+endr
+
+Func_006_6e59:
+ ld hl, wd007
+ ld d, [hl]
+ inc hl
+ ld e, [hl]
+ call InitTextPrinting
+ ld hl, .data
+ ld de, wDefaultText
+.asm_006_6e68
+ ld a, [hli]
+ ld [de], a
+ inc de
+ or a
+ jr nz, .asm_006_6e68
+ ld hl, wNamingScreenBuffer
+ ld de, wDefaultText
+.asm_006_6e74
+ ld a, [hli]
+ or a
+ jr z, .asm_006_6e7c
+ ld [de], a
+ inc de
+ jr .asm_006_6e74
+.asm_006_6e7c
+ ld hl, wDefaultText
+ call ProcessText
+ ret
+.data
+ INCROM $1ae83,$1ae99
+
+Func_006_6e99:
+ call Func_006_68c1
+ call Func_006_6e59
+ ld hl, wd002
+ ld c, [hl]
+ inc hl
+ ld a, [hl]
+ ld h, a
+ or c
+ jr z, .asm_006_6ead
+ ld l, c
+ call PlaceTextItems
+.asm_006_6ead
+ ld hl, $68bc
+ call PlaceTextItems
+ ld hl, $0222
+ ld de, $0204
+ call InitTextPrinting
+ call ProcessTextFromID
+ call EnableLCD
+ ret
- ld a, $0c
- call Call_006_7ae4
- ret nc
+Func_006_6ec3:
+ ld a, [wd006]
+ ld h, a
+ ld a, [wcea4]
+ ld l, a
+ call Func_006_7000
+ inc hl
+ inc hl
+ ld a, [hl]
+ cp $01
+ jr nz, .asm_006_6ed7
+ scf
+ ret
+.asm_006_6ed7
+ ld d, a
+ ld hl, wNamingScreenBufferLength
+ ld a, [hl]
+ ld c, a
+ push hl
+ ld hl, wd004
+ cp [hl]
+ pop hl
+ jr nz, .asm_006_6eeb
+ ld hl, wNamingScreenBuffer
+ dec hl
+ jr .asm_006_6eef
+.asm_006_6eeb
+ inc [hl]
+ ld hl, wNamingScreenBuffer
+.asm_006_6eef
+ ld b, $00
+ add hl, bc
+ ld [hl], d
+ inc hl
+ ld [hl], $00
+ call Func_006_6e59
+ or a
+ ret
- ld a, $f7
+Func_006_6efb:
+ xor a
+ ld [wcfe3], a
+ ldh a, [$8f]
+ or a
+ jp z, .asm_006_6f73
+ ld b, a
+ ld a, [wcea9]
+ ld c, a
+ ld a, [wd006]
+ ld h, a
+ ld a, [wcea4]
+ ld l, a
+ bit 6, b
+ jr z, .asm_006_6f1f
+ dec a
+ bit 7, a
+ jr z, .asm_006_6f4b
+ ld a, c
+ dec a
+ jr .asm_006_6f4b
+.asm_006_6f1f
+ bit 7, b
+ jr z, .asm_006_6f2a
+ inc a
+ cp c
+ jr c, .asm_006_6f4b
+ xor a
+ jr .asm_006_6f4b
+.asm_006_6f2a
+ cp $06
+ jr z, .asm_006_6f73
+ ld a, [wd005]
+ ld c, a
+ ld a, h
+ bit 5, b
+ jr z, .asm_006_6f40
+ dec a
+ bit 7, a
+ jr z, .asm_006_6f4e
+ ld a, c
+ dec a
+ jr .asm_006_6f4e
+.asm_006_6f40
+ bit 4, b
+ jr z, .asm_006_6f73
+ inc a
+ cp c
+ jr c, .asm_006_6f4e
+ xor a
+ jr .asm_006_6f4e
+.asm_006_6f4b
+ ld l, a
+ jr .asm_006_6f4f
+.asm_006_6f4e
+ ld h, a
+.asm_006_6f4f
+ push hl
+ call Func_006_7000
+ inc hl
+ inc hl
+ ld d, [hl]
+ push de
+ call Func_006_6fa1
+ pop de
+ pop hl
+ ld a, l
+ ld [wcea4], a
+ ld a, h
+ ld [wd006], a
+ xor a
+ ld [wcea3], a
+ ld a, $02
+ cp d
+ jp z, Func_006_6efb
+ ld a, $01
+ ld [wcfe3], a
+.asm_006_6f73
+ ldh a, [$91]
+ and $03
+ jr z, .asm_006_6f89
+ and $01
+ jr nz, .asm_006_6f7f
+ ld a, $ff
+.asm_006_6f7f
+ call Func_006_6794
+ push af
+ call Func_006_6fbd
+ pop af
+ scf
+ ret
+.asm_006_6f89
+ ld a, [wcfe3]
+ or a
+ jr z, .asm_006_6f92
+ call PlaySFX
+.asm_006_6f92
+ ld hl, wcea3
+ ld a, [hl]
+ inc [hl]
+ and $0f
+ ret nz
+ ld a, [wceaa]
+ bit 4, [hl]
+ jr z, Func_006_6fa1.asm_006_6fa4
+
+Func_006_6fa1:
+ ld a, [wceab]
+.asm_006_6fa4
+ ld e, a
+ ld a, [wd006]
+ ld h, a
+ ld a, [wcea4]
+ ld l, a
+ call Func_006_7000
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ dec b
+ ld a, e
+ call Func_006_6fc2
+ call WriteByteToBGMap0
+ or a
+ ret
-jr_006_7ad2:
- call Call_006_7ae4
- ret nc
+Func_006_6fbd:
+ ld a, [wceaa]
+ jr Func_006_6fa1.asm_006_6fa4
- sra a
- cp $ff
- jr z, jr_006_7ade
+Func_006_6fc2:
+ push af
+ push bc
+ push de
+ push hl
+ push af
+ call ZeroObjectPositions
+ pop af
+ ld b, a
+ ld a, [wceab]
+ cp b
+ jr z, .asm_006_6ffb
+ ld a, [wNamingScreenBufferLength]
+ ld d, a
+ ld a, [wd004]
+ ld e, a
+ ld a, d
+ cp e
+ jr nz, .asm_006_6fdf
+ dec a
+.asm_006_6fdf
+ dec a
+ ld d, a
+ ld hl, wd007
+ ld a, [hl]
+ sla a
+ add d
+ ld d, a
+ ld h, $04
+ ld l, d
+ call HtimesL
+ ld a, l
+ add $08
+ ld d, a
+ ld e, $18
+ ld bc, $0000
+ call SetOneObjectAttributes
+.asm_006_6ffb
+ pop hl
+ pop de
+ pop bc
+ pop af
+ ret
- jr jr_006_7ad2
+Func_006_7000:
+ push de
+ ld e, l
+ ld d, h
+ ld a, [wcea9]
+ ld l, a
+ call HtimesL
+ ld a, l
+ add e
+ ld hl, Unknown_006_7019
+ pop de
+ or a
+ ret z
+.asm_006_7012
+ inc hl
+ inc hl
+ inc hl
+ dec a
+ jr nz, .asm_006_7012
+ ret
-jr_006_7ade:
- call Call_006_7ae4
- ret nc
+; a bunch of data
+Unknown_006_7019:
+ INCROM $1b019,$1ba12
- scf
- ret
+Func_006_7a12: ; 1ba12
+ push af
+ ld [bc], a
+ call EnableSRAM
+ ld a, [wd0a9]
+ ld l, a
+ ld h, $1e
+ call HtimesL
+ ld bc, $78e8
+ add hl, bc
+ ld b, $00
+.asm_006_7a26
+ call Func_006_7a4c
+ call Func_006_7a5b
+ call Func_006_7a7d
+ push hl
+ ld de, $d0aa
+ ld h, b
+ ld l, $02
+ call HtimesL
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc b
+ ld a, b
+ cp $05
+ jr nz, .asm_006_7a26
+ call DisableSRAM
+ ret
+Func_006_7a4c:
+ push hl
+ ld l, b
+ ld h, $54
+ call HtimesL
+ ld de, $a350
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ ret
-Call_006_7ae4:
- push af
- ld hl, $d088
- ld b, [hl]
- rst $28
- ld [bc], a
- dec h
- db $76
- jr c, jr_006_7af5
+Func_006_7a5b:
+ push hl
+ push bc
+ push de
+ push de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ ld bc, $0018
+ add hl, bc
+.asm_006_7a67
+ ld a, [de]
+ inc de
+ ld b, a
+ or a
+ jr z, .asm_006_7a77
- pop af
- ld [$d0a6], a
- or a
- ret
+ ld a, [de]
+ inc de
+ ld c, a
+.asm_006_7a70
+ ld [hl], c
+ inc hl
+ dec b
+ jr nz, .asm_006_7a70
+ jr .asm_006_7a67
+.asm_006_7a77
+ pop de
+ pop bc
+ pop hl
+ inc hl
+ inc hl
+ ret
+Func_006_7a7d:
+ push hl
+ push bc
+ push de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $d089
+ call CopyText
+ pop hl
+ ld de, $d089
+.asm_006_7a8d
+ ld a, [de]
+ ld [hli], a
+ or a
+ jr z, .asm_006_7a95
+ inc de
+ jr .asm_006_7a8d
+.asm_006_7a95
+ pop bc
+ pop hl
+ inc hl
+ inc hl
+ ret
+ xor a
+ ld [$d0a6], a
+ ld a, $01
+.asm_006_7aa0
+ call Func_006_7ae4
+ ret nc
+ sla a
+ cp $10
+ jr z, .asm_006_7aac
+ jr .asm_006_7aa0
+.asm_006_7aac
+ ld a, $03
+ call Func_006_7ae4
+ ret nc
+ ld a, $05
+ call Func_006_7ae4
+ ret nc
+ ld a, $09
+ call Func_006_7ae4
+ ret nc
+ ld a, $06
+ call Func_006_7ae4
+ ret nc
+ ld a, $0a
+ call Func_006_7ae4
+ ret nc
+ ld a, $0c
+ call Func_006_7ae4
+ ret nc
+ ld a, $f7
+.asm_006_7ad2
+ call Func_006_7ae4
+ ret nc
+ sra a
+ cp $ff
+ jr z, .asm_006_7ade
+ jr .asm_006_7ad2
+.asm_006_7ade
+ call Func_006_7ae4
+ ret nc
+ scf
+ ret
-jr_006_7af5:
- pop af
- scf
- ret
+Func_006_7ae4:
+ push af
+ ld hl, $d088
+ ld b, [hl]
+ rst $28
+ ld [bc], a
+ dec h
+ db $76
+ jr c, .asm_006_7af5
+ pop af
+ ld [$d0a6], a
+ or a
+ ret
+.asm_006_7af5
+ pop af
+ scf
+ ret
- INCROM $1baf8, $1c000 \ No newline at end of file
+rept $508
+ db $ff
+endr \ No newline at end of file
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 0046286..72aedcf 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -1704,7 +1704,7 @@ SetManyObjectsAttributes: ; 950 (0:950)
; for the sprite at wOAM + [wOAMOffset] / 4, set its attributes from registers e, d, c, b
; return carry if [wOAMOffset] > 40 * 4 (beyond the end of wOAM)
-SetOneObjectAttributes: ; 97f (0:97f)
+SetOneObjectAttributes: ; 097f (0:097f)
push hl
ld a, [wOAMOffset]
ld l, a
diff --git a/src/wram.asm b/src/wram.asm
index 7039f14..050059c 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -1386,12 +1386,20 @@ wcea1:: ; cea1
wcea3:: ; cea3
ds $1
- ds $5
+wcea4:: ; cea4
+ ds $1
+
+wcea5:: ; cea5
+ ds $4
wcea9:: ; cea9
ds $1
- ds $5
+wceaa:: ; ceaa
+ ds $1
+
+wceab:: ; ceab
+ ds $4
wceaf:: ; ceaf
ds $1
@@ -1462,16 +1470,34 @@ wcfe3:: ; cfe3
ds $4
; name buffer in naming screen
-wNameBuffer:: ; cfe7
+wNamingScreenBuffer:: ; cfe7
ds $18
; current name length in naming screen
-wNameLength:: ; cfff
+wNamingScreenBufferLength:: ; cfff
ds $1
SECTION "WRAM1", WRAMX
+wd000:: ; d000
+ ds $2
- ds $d
+wd002:: ; d002
+ ds $2
+
+wd004:: ; d004
+ ds $1
+
+wd005:: ; d005
+ ds $1
+
+wd006:: ; d006
+ ds $1
+
+wd007:: ; d007
+ ds $2
+
+wd009:: ; d009
+ ds $4
wd00d:: ; d00d
ds $1