summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com>2018-08-23 19:50:38 -0400
committerGitHub <noreply@github.com>2018-08-23 19:50:38 -0400
commit23bae0181bd990c535346191cff41bdddcb44493 (patch)
tree7a8049625b80530fea25166cfaad28c0d5416ae9
parent8f3ebd4a59cf69d97bc4932738a78a37d0968d3d (diff)
parent95e09f83f43b0109e937d56a56c0cbce792c921d (diff)
Merge pull request #41 from Pokeglitch/master
Bank 2 dump
-rw-r--r--Makefile9
-rwxr-xr-xbin.asm9
-rwxr-xr-xbin/unknown_aebc.binbin0 -> 71 bytes
-rwxr-xr-xbin/unknown_bb43.binbin0 -> 1213 bytes
-rwxr-xr-xengine/dumps/bank02.asm3161
-rw-r--r--gfx.asm42
-rw-r--r--gfx/battle_anims/attack_animations.pngbin5822 -> 0 bytes
-rwxr-xr-xgfx/battle_anims/attack_animations_1.pngbin0 -> 7850 bytes
-rwxr-xr-xgfx/battle_anims/attack_animations_2.pngbin0 -> 4754 bytes
-rwxr-xr-xgfx/battle_anims/pointer.pngbin0 -> 852 bytes
-rwxr-xr-xgfx/overworld/gfx_85cf.pngbin0 -> 268 bytes
-rw-r--r--gfx/pokegear/pokegear.pngbin420 -> 0 bytes
-rwxr-xr-xgfx/pokegear/pokegear_1.pngbin0 -> 6228 bytes
-rwxr-xr-xgfx/pokegear/pokegear_2.pngbin0 -> 336 bytes
-rwxr-xr-xgfx/pokegear/vertical_pipe.pngbin0 -> 268 bytes
-rwxr-xr-xgfx/sgb/corrupted_9e1c.pngbin0 -> 1661 bytes
-rwxr-xr-xgfx/sgb/corrupted_a66c.pngbin0 -> 1230 bytes
-rwxr-xr-xgfx/sgb/corrupted_b1e3.pngbin0 -> 2512 bytes
-rwxr-xr-xgfx/sgb/corrupted_ba93.pngbin0 -> 2188 bytes
-rwxr-xr-xgfx/sgb/sgb_border_gold_corrupted.pngbin0 -> 1410 bytes
-rwxr-xr-xgfx/sgb/sgb_border_silver_corrupted.pngbin0 -> 12388 bytes
-rw-r--r--hram.asm6
-rw-r--r--pokegold-spaceworld.link24
-rwxr-xr-xshim.sym24
-rw-r--r--wram.asm71
25 files changed, 3291 insertions, 55 deletions
diff --git a/Makefile b/Makefile
index 505bd83..78be537 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ CORRECTEDROM := $(ROM:%.gb=%-correctheader.gb)
rwildcard = $(foreach d, $(wildcard $1*), $(filter $(subst *, %, $2), $d) $(call rwildcard, $d/, $2))
DIRS := home engine data audio maps
-ASMFILES := $(call rwildcard, $(DIRS), *.asm) gfx.asm vram.asm sram.asm wram.asm hram.asm
+ASMFILES := $(call rwildcard, $(DIRS), *.asm) bin.asm gfx.asm vram.asm sram.asm wram.asm hram.asm
OBJS := $(patsubst %.asm, $(BUILD)/%.o, $(ASMFILES))
OBJS += $(BUILD)/shim.o
@@ -88,12 +88,19 @@ $(BUILD)/%.o: %.asm | $$(dir $$@)
$(BUILD)/gfx/sgb/sgb_border_alt.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/sgb/sgb_border_gold.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/sgb/sgb_border_gold_corrupted.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/sgb/sgb_border_silver.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/sgb/corrupted_9e1c.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/sgb/corrupted_a66c.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/sgb/corrupted_b1e3.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/sgb/sgb_border_silver.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/trainer_card/leaders.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/pokegear/town_map.2bpp: tools/gfx += --trim-trailing
$(BUILD)/gfx/minigames/slots.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/minigames/poker.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/intro/purin_pikachu.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/battle_anims/attack_animations_1.2bpp: tools/gfx += --trim-whitespace
+$(BUILD)/gfx/battle_anims/attack_animations_2.2bpp: tools/gfx += --trim-whitespace
.PRECIOUS: $(BUILD)/%.pic
$(BUILD)/%.pic: $(BUILD)/%.2bpp tools/pkmncompress | $$(dir $$@)
diff --git a/bin.asm b/bin.asm
new file mode 100755
index 0000000..63c7777
--- /dev/null
+++ b/bin.asm
@@ -0,0 +1,9 @@
+SECTION "bin.asm@Unknownaebc", ROMX
+
+Unknownaebc: ; 02:6ebc
+INCBIN "bin/unknown_aebc.bin"
+
+SECTION "bin.asm@Unknownbb43", ROMX
+
+Unknownbb43: ; 02:7b43
+INCBIN "bin/unknown_bb43.bin" \ No newline at end of file
diff --git a/bin/unknown_aebc.bin b/bin/unknown_aebc.bin
new file mode 100755
index 0000000..531072d
--- /dev/null
+++ b/bin/unknown_aebc.bin
Binary files differ
diff --git a/bin/unknown_bb43.bin b/bin/unknown_bb43.bin
new file mode 100755
index 0000000..e21effb
--- /dev/null
+++ b/bin/unknown_bb43.bin
Binary files differ
diff --git a/engine/dumps/bank02.asm b/engine/dumps/bank02.asm
new file mode 100755
index 0000000..39eb195
--- /dev/null
+++ b/engine/dumps/bank02.asm
@@ -0,0 +1,3161 @@
+include "constants.asm"
+
+SECTION "engine/dumps/bank02.asm@Function8000", ROMX
+
+Function8000: ; 02:4000
+ ld a, $00
+ ld hl, Data8022
+ call Function1656
+ call Function1668
+ ld a, $01
+ ldh [hConnectedMapWidth], a
+ ld de, wPlayerSprite
+ ld a, $00
+ ldh [hConnectionStripLength], a
+ ld bc, wMapObjects
+ call Function813d
+ ld a, $00
+ call Function1908
+ ret
+
+Data8022: ; 02:4022
+ db $01, $00, $00, $10, $ee, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00
+
+Function8031: ; 02:4031
+ call Function8047
+ ld a, [wUsedSprites+1]
+ ld [wMap1ObjectSprite], a
+ ld a, $01
+ call Function1602
+ ld b, $00
+ ld c, $01
+ call StartFollow
+ ret
+
+Function8047: ; 02:4047
+ ld a, $01
+ ld hl, Data805d
+ call Function1656
+ ld a, [wPlayerNextMapX]
+ ld [wMap1ObjectXCoord], a
+ ld a, [wPlayerNextMapY]
+ dec a
+ ld [wMap1ObjectYCoord], a
+ ret
+
+Data805d: ; 02:405d
+ db $4d, $00, $00, $18, $ff, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00
+
+Function806c: ; 02:406c
+ ld a, $01
+ call Function169f
+ xor a
+ ld [wObjectFollow_Follower], a
+ ld a, $ff
+ ld [wObjectFollow_Leader], a
+ ret
+
+Function807b: ; 02:407b
+ ld a, $01
+ ld hl, Data8089
+ call Function1656
+ ld a, $01
+ call Function1668
+ ret
+
+Data8089: ; 02:4089
+ db $01, $00, $00, $17, $ee, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00
+
+_InitializeVisibleSprites: ; 02:4098
+ ld bc, wMap2Object
+ ld a, $02
+.sub_809d
+ ldh [hConnectionStripLength], a
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_80dc
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr nz, .sub_80dc
+ ld a, [wXCoord]
+ ld d, a
+ ld a, [wYCoord]
+ ld e, a
+ ld hl, $0003
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub d
+ jr c, .sub_80dc
+ cp $0c
+ jr nc, .sub_80dc
+ ld hl, $0002
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub e
+ jr c, .sub_80dc
+ cp $0b
+ jr nc, .sub_80dc
+ push bc
+ call Function80eb
+ pop bc
+ jp c, Function80ea
+.sub_80dc
+ ld hl, $0010
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $10
+ jr nz, .sub_809d
+ ret
+
+Function80ea: ; 02:40ea
+ ret
+
+Function80eb: ; 02:40eb
+ call Function811a
+ and a
+ ret nz
+ ld hl, wObject1StructEnd
+ ld a, $03
+ ld de, $0028
+.sub_80f8
+ ldh [hConnectedMapWidth], a
+ ld a, [hl]
+ and a
+ jr z, .sub_8108
+ add hl, de
+ ldh a, [hConnectedMapWidth]
+ inc a
+ cp $0a
+ jr nz, .sub_80f8
+ scf
+ ret
+.sub_8108
+ ld d, h
+ ld e, l
+ call Function813d
+ ld a, [wVramState]
+ bit 7, a
+ ret z
+ ld hl, $0005
+ add hl, de
+ set 5, [hl]
+ ret
+
+Function811a: ; 02:411a
+ ldh a, [hConnectionStripLength]
+ ld e, a
+ ld d, $00
+ ld hl, wUnknownWordcc9c
+ add hl, de
+ ld a, [hl]
+ ret
+
+Function8125: ; 02:4125
+ ldh a, [hConnectionStripLength]
+ ld e, a
+ ld d, $00
+ ld hl, wUnknownWordcc9c
+ add hl, de
+ ld [hl], $ff
+ ret
+
+Function8131: ; 02:4131
+ ldh a, [hConnectionStripLength]
+ ld e, a
+ ld d, $00
+ ld hl, wUnknownWordcc9c
+ add hl, de
+ ld [hl], $00
+ ret
+
+Function813d: ; 02:413d
+ ldh a, [hConnectionStripLength]
+ ld hl, $0001
+ add hl, de
+ ld [hl], a
+ ldh a, [hConnectedMapWidth]
+ ld hl, $0000
+ add hl, bc
+ ld [hl], a
+ ld hl, $0008
+ add hl, de
+ ld [hl], $00
+ ld hl, $0002
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0015
+ add hl, de
+ ld [hl], a
+ ld hl, $0011
+ add hl, de
+ ld [hl], a
+ ld hl, wYCoord
+ sub [hl]
+ and $0f
+ swap a
+ ld hl, $0019
+ add hl, de
+ ld [hl], a
+ ld hl, $0003
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0014
+ add hl, de
+ ld [hl], a
+ ld hl, $0010
+ add hl, de
+ ld [hl], a
+ ld hl, wXCoord
+ sub [hl]
+ and $0f
+ swap a
+ ld hl, $0018
+ add hl, de
+ ld [hl], a
+ ld hl, $0004
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0003
+ add hl, de
+ ld [hl], a
+ call Function81ce
+ ld hl, $000d
+ add hl, de
+ ld [hl], $ff
+ ld hl, $000a
+ add hl, de
+ ld [hl], $00
+ ld hl, $0007
+ add hl, de
+ ld [hl], $00
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0000
+ add hl, de
+ ld [hl], a
+ call Function820d
+ ld hl, $0002
+ add hl, de
+ ld [hl], a
+ ld hl, $0005
+ add hl, bc
+ ld a, [hl]
+ call Function81f8
+ ld hl, $000b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0021
+ add hl, de
+ ld [hl], a
+ and a
+ ret
+
+Function81ce: ; 02:41ce
+ ld hl, $0004
+ add hl, de
+ ld [hl], $70
+ ldh a, [hConnectedMapWidth]
+ push hl
+ ld hl, wCenteredObject
+ cp [hl]
+ pop hl
+ jr nz, .sub_81e0
+ set 7, [hl]
+.sub_81e0
+ cp $01
+ jr z, .sub_81e8
+ cp $02
+ jr nz, .sub_81ea
+.sub_81e8
+ set 1, [hl]
+.sub_81ea
+ ld hl, $0005
+ add hl, de
+ ld [hl], $00
+ ldh a, [hConnectedMapWidth]
+ cp $01
+ ret z
+ set 4, [hl]
+ ret
+
+Function81f8: ; 02:41f8
+ push af
+ swap a
+ and $0f
+ inc a
+ ld hl, $0016
+ add hl, de
+ ld [hl], a
+ pop af
+ and $0f
+ inc a
+ ld hl, $0017
+ add hl, de
+ ld [hl], a
+ ret
+
+Function820d: ; 02:420d
+ push af
+ ldh a, [hConnectionStripLength]
+ cp $00
+ jr nz, .sub_8218
+ pop af
+ ld a, $00
+ ret
+.sub_8218
+ cp $01
+ jr nz, .sub_8220
+ pop af
+ ld a, $0c
+ ret
+.sub_8220
+ pop af
+ push hl
+ push de
+ ld d, a
+ ld e, $00
+ ld hl, wUsedNPCSprites
+.sub_8229
+ ld a, [hli]
+ cp d
+ jr z, .sub_8238
+ inc e
+ ld a, e
+ cp $0a
+ jr nz, .sub_8229
+ ld a, $00
+ scf
+ jr .sub_823f
+.sub_8238
+ ld hl, Data8242
+ ld d, $00
+ add hl, de
+ ld a, [hl]
+.sub_823f
+ pop de
+ pop hl
+ ret
+
+Data8242: ; 02:4242
+ db $18, $24, $30, $3c, $48, $54, $60, $6c
+ db $78, $7c
+
+Function824c: ; 02:424c
+ nop
+ ld a, [wPlayerStepDirection]
+ cp $ff
+ ret z
+ ld hl, Table8259
+ jp CallJumptable
+
+Table8259: ; 02:4259
+ dw Function8299
+ dw Function8292
+ dw Function82e6
+ dw Function82ed
+
+Function8261: ; 02:4261
+ ret
+
+Function8262: ; 02:4262
+ ld a, [wPlayerStepDirection]
+ cp $ff
+ ret z
+ ld hl, Table826e
+ jp CallJumptable
+
+Table826e: ; 02:426e
+ dw Function827d
+ dw Function8276
+ dw Function8284
+ dw Function828b
+
+Function8276: ; 02:4276
+ ld a, [wYCoord]
+ sub $02
+ jr Function829e
+
+Function827d: ; 02:427d
+ ld a, [wYCoord]
+ add $0a
+ jr Function829e
+
+Function8284: ; 02:4284
+ ld a, [wXCoord]
+ sub $02
+ jr Function82f2
+
+Function828b: ; 02:428b
+ ld a, [wXCoord]
+ add $0b
+ jr Function82f2
+
+Function8292: ; 02:4292
+ ld a, [wYCoord]
+ sub $01
+ jr Function829e
+
+Function8299: ; 02:4299
+ ld a, [wYCoord]
+ add $09
+
+Function829e: ; 02:429e
+ ld d, a
+ ld a, [wXCoord]
+ ld e, a
+ ld bc, wMap2Object
+ ld a, $02
+.sub_82a8
+ ldh [hConnectionStripLength], a
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_82d8
+ ld hl, $0002
+ add hl, bc
+ ld a, d
+ cp [hl]
+ jr nz, .sub_82d8
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr nz, .sub_82d8
+ ld hl, $0003
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub e
+ jr c, .sub_82d8
+ cp $0c
+ jr nc, .sub_82d8
+ push de
+ push bc
+ call Function80eb
+ pop bc
+ pop de
+.sub_82d8
+ ld hl, $0010
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $10
+ jr nz, .sub_82a8
+ ret
+
+Function82e6: ; 02:42e6
+ ld a, [wXCoord]
+ sub $01
+ jr Function82f2
+
+Function82ed: ; 02:42ed
+ ld a, [wXCoord]
+ add $0a
+
+Function82f2: ; 02:42f2
+ ld e, a
+ ld a, [wYCoord]
+ ld d, a
+ ld bc, wMap2Object
+ ld a, $02
+.sub_82fc
+ ldh [hConnectionStripLength], a
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_832c
+ ld hl, $0003
+ add hl, bc
+ ld a, e
+ cp [hl]
+ jr nz, .sub_832c
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr nz, .sub_832c
+ ld hl, $0002
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub d
+ jr c, .sub_832c
+ cp $0b
+ jr nc, .sub_832c
+ push de
+ push bc
+ call Function80eb
+ pop bc
+ pop de
+.sub_832c
+ ld hl, $0010
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $10
+ jr nz, .sub_82fc
+ ret
+
+Function833a: ; 02:433a
+ ld a, c
+ push af
+ call InitMovementBuffer
+ ld a, $29
+ call AppendToMovementBuffer
+ ld a, b
+ call GetMapObject
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr z, .sub_8361
+ call GetObjectStruct
+ ld hl, $0011
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0010
+ add hl, bc
+ ld b, [hl]
+ ld c, a
+ jr .sub_836c
+.sub_8361
+ ld hl, $0002
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0003
+ add hl, bc
+ ld b, [hl]
+ ld c, a
+.sub_836c
+ pop af
+ call ComputePathToWalkToPlayer
+ ld a, $28
+ call AppendToMovementBuffer
+ ld a, $32
+ call AppendToMovementBuffer
+ xor a
+ ret
+
+Function837c: ; 02:437c
+ call InitMovementBuffer
+ push bc
+ ld a, b
+ call GetMapObject
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ call GetObjectStruct
+ ld hl, $0010
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0011
+ add hl, bc
+ ld c, [hl]
+ ld b, a
+ pop hl
+ ld a, l
+ call ComputePathToWalkToPlayer
+ ld a, $32
+ call AppendToMovementBuffer
+ ret
+
+Function83a2: ; 02:43a2
+ push de
+ call InitMovementBuffer
+ pop de
+ call Function83b0
+ ld a, $32
+ call AppendToMovementBuffer
+ ret
+
+Function83b0: ; 02:43b0
+ push de
+ push bc
+ ld a, c
+ call GetMapObject
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ call GetObjectStruct
+ ld d, b
+ ld e, c
+ pop bc
+ ld a, b
+ call GetMapObject
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ call GetObjectStruct
+ ld hl, $0010
+ add hl, bc
+ ld a, [hl]
+ ld hl, $0011
+ add hl, bc
+ ld c, [hl]
+ ld b, a
+ ld hl, $0010
+ add hl, de
+ ld a, [hl]
+ ld hl, $0011
+ add hl, de
+ ld e, [hl]
+ ld d, a
+ pop af
+ call ComputePathToWalkToPlayer
+ ret
+
+Function83e8: ; 02:43e8
+ ld hl, wcb70
+ push hl
+ ld a, [hl]
+ ld l, a
+ ld h, $00
+ ld de, Table83fb
+ add hl, hl
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ push de
+ ret
+
+Table83fb: ; 02:43fb
+ dw Function8432
+ dw Function844a
+ dw Function8459
+ dw Function8433
+ dw Function8438
+ dw Function843d
+ dw Function8468
+ dw Function8477
+ dw Function8485
+ dw Function848b
+ dw Function8494
+ dw Function849b
+ dw Function84a9
+ dw Function84af
+ dw Function84b8
+
+Function8419: ; 02:4419
+ ld a, c
+ ld [wVBCopyFarSrcBank], a
+ ld a, l
+ ld [wVBCopyFarSrc], a
+ ld a, h
+ ld [wVBCopyFarSrc+1], a
+
+Function8425: ; 02:4425
+ ld a, e
+ ld [wVBCopyFarDst], a
+ ld a, d
+ ld [wVBCopyFarDst+1], a
+
+Function842d: ; 02:442d
+ ld a, b
+ ld [wVBCopyFarSize], a
+ ret
+
+Function8432: ; 02:4432
+ ret
+
+Function8433: ; 02:4433
+ ld hl, ShockEmoteGFX
+ jr Function8440
+
+Function8438: ; 02:4438
+ ld hl, QuestionEmoteGFX
+ jr Function8440
+
+Function843d: ; 02:443d
+ ld hl, HappyEmoteGFX
+
+Function8440: ; 02:4440
+ ld de, vChars1 + $780
+ ld b, $04
+ ld c, BANK(HappyEmoteGFX)
+ jp Function8419
+
+Function844a: ; 02:444a
+ ld [hl], $00
+ ld hl, JumpShadowGFX
+ ld de, vChars1 + $7c0
+ ld b, $01
+ ld c, BANK(JumpShadowGFX)
+ jp Function8419
+
+Function8459: ; 02:4459
+ ld [hl], $00
+ ld hl, UnknownBouncingOrbGFX
+ ld de, vChars1 + $7c0
+ ld b, $04
+ ld c, BANK(UnknownBouncingOrbGFX)
+ jp Function8419
+
+Function8468: ; 02:4468
+ ld [hl], $00
+ ld hl, UnknownBallGFX
+ ld de, vChars1 + $7c0
+ ld b, $01
+ ld c, BANK(UnknownBallGFX)
+ jp Function8419
+
+Function8477: ; 02:4477
+ inc [hl]
+ ld hl, GrampsSpriteGFX
+ ld de, vChars0
+ ld b, $06
+ ld c, BANK(GrampsSpriteGFX)
+ jp Function8419
+
+Function8485: ; 02:4485
+ inc [hl]
+ ld b, $06
+ jp Function842d
+
+Function848b: ; 02:448b
+ inc [hl]
+ ld de, vChars1
+ ld b, $06
+ jp Function8425
+
+Function8494: ; 02:4494
+ ld [hl], $00
+ ld b, $06
+ jp Function842d
+
+Function849b: ; 02:449b
+ inc [hl]
+ ld hl, PippiSpriteGFX
+ ld de, vChars0
+ ld b, $06
+ ld c, BANK(PippiSpriteGFX)
+ jp Function8419
+
+Function84a9: ; 02:44a9
+ inc [hl]
+ ld b, $06
+ jp Function842d
+
+Function84af: ; 02:44af
+ inc [hl]
+ ld de, vChars1
+ ld b, $06
+ jp Function8425
+
+Function84b8: ; 02:44b8
+ ld [hl], $00
+ ld b, $06
+ jp Function842d
+
+SECTION "engine/dumps/bank02.asm@QueueFollowerFirstStep", ROMX
+
+QueueFollowerFirstStep: ; 02:45df
+ call Function85f2
+ jr c, .sub_85ec
+ ld [wFollowMovementQueue], a
+ xor a
+ ld [wFollowerMovementQueueLength], a
+ ret
+.sub_85ec
+ ld a, $ff
+ ld [wFollowerMovementQueueLength], a
+ ret
+
+Function85f2: ; 02:45f2
+ ld a, [wObjectFollow_Leader]
+ call GetObjectStruct
+ ld hl, $0010
+ add hl, bc
+ ld d, [hl]
+ ld hl, $0011
+ add hl, bc
+ ld e, [hl]
+ ld a, [wObjectFollow_Follower]
+ call GetObjectStruct
+ ld hl, $0010
+ add hl, bc
+ ld a, d
+ cp [hl]
+ jr z, .sub_861a
+ jr c, .sub_8616
+ and a
+ ld a, $0b
+ ret
+.sub_8616
+ and a
+ ld a, $0a
+ ret
+.sub_861a
+ ld hl, $0011
+ add hl, bc
+ ld a, e
+ cp [hl]
+ jr z, .sub_862c
+ jr c, .sub_8628
+ and a
+ ld a, $08
+ ret
+.sub_8628
+ and a
+ ld a, $09
+ ret
+.sub_862c
+ scf
+ ret
+
+Function862e: ; 02:462e
+ ld a, e
+ and $3f
+ cp $20
+ jr nc, .sub_863a
+ call Function8644
+ ld a, h
+ ret
+.sub_863a
+ and $1f
+ call Function8644
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+Function8644: ; 02:4644
+ ld e, a
+ ld a, d
+ ld d, $00
+ ld hl, Data8660
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0000
+.sub_8653
+ srl a
+ jr nc, .sub_8658
+ add hl, de
+.sub_8658
+ sla e
+ rl d
+ and a
+ jr nz, .sub_8653
+ ret
+
+Data8660: ; 02:4660
+ dw $00
+ dw $19
+ dw $32
+ dw $4a
+ dw $62
+ dw $79
+ dw $8e
+ dw $a2
+ dw $b5
+ dw $c6
+ dw $d5
+ dw $e2
+ dw $ed
+ dw $f5
+ dw $fb
+ dw $ff
+ dw $100
+ dw $ff
+ dw $fb
+ dw $f5
+ dw $ed
+ dw $e2
+ dw $d5
+ dw $c6
+ dw $b5
+ dw $a2
+ dw $8e
+ dw $79
+ dw $62
+ dw $4a
+ dw $32
+ dw $19
+
+Function86a0: ; 02:46a0
+ call Function881e
+ ld hl, InitEffectObject
+ ld a, BANK(InitEffectObject)
+ call FarCall_hl
+ call Function886a
+ call WaitBGMap
+ call SetPalettes
+.sub_86b4
+ call DelayFrame
+ call GetJoypadDebounced
+ ld hl, EffectObjectJumpNoDelay
+ ld a, BANK(EffectObjectJumpNoDelay)
+ call FarCall_hl
+ ld hl, hJoyDown
+ ld a, [hl]
+ and $03
+ jr z, .sub_86b4
+ ret
+
+FlyMap: ; 02:46cb
+ ld hl, hJoyDebounceSrc
+ ld a, [hl]
+ push af
+ ld [hl], $01
+ call Function881e
+ ld hl, InitEffectObject
+ ld a, BANK(InitEffectObject)
+ call FarCall_hl
+ call Function886a
+ call Function88b3
+ ld hl, wcb60
+ ld [hl], c
+ inc hl
+ ld [hl], b
+ coord hl, 1, 15
+ ld de, Text8776
+ call PlaceString
+ call WaitBGMap
+ call SetPalettes
+ xor a
+ ld [wFlyDestination], a
+.sub_86fc
+ call DelayFrame
+ call GetJoypadDebounced
+ ld hl, EffectObjectJumpNoDelay
+ ld a, BANK(EffectObjectJumpNoDelay)
+ call FarCall_hl
+ ld hl, hJoyDown
+ ld a, [hl]
+ and $02
+ jr nz, .sub_873e
+ ld a, [hl]
+ and $01
+ jr nz, .sub_8743
+ call Function8747
+ ld hl, Functionc77d
+ ld a, BANK(Functionc77d)
+ call FarCall_hl
+ ld d, $00
+ ld hl, Data8a53
+ add hl, de
+ add hl, de
+ ld d, [hl]
+ inc hl
+ ld e, [hl]
+ ld hl, wcb60
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ ld hl, $0004
+ add hl, bc
+ ld [hl], e
+ ld hl, $0005
+ add hl, bc
+ ld [hl], d
+ jr .sub_86fc
+.sub_873e
+ ld a, $ff
+ ld [wFlyDestination], a
+.sub_8743
+ pop af
+ ldh [hJoyDebounceSrc], a
+ ret
+
+Function8747: ; 02:4747
+ ld a, [wFlyDestination]
+ ld l, a
+ ld h, $00
+ add hl, hl
+ add hl, hl
+ ld de, Data8a17
+ add hl, de
+ ld de, hJoySum
+ ld a, [de]
+ and $40
+ jr nz, .sub_876e
+ inc hl
+ ld a, [de]
+ and $80
+ jr nz, .sub_876e
+ inc hl
+ ld a, [de]
+ and $20
+ jr nz, .sub_876e
+ inc hl
+ ld a, [de]
+ and $10
+ jr nz, .sub_876e
+ ret
+.sub_876e
+ ld a, [hl]
+ cp $ff
+ ret z
+ ld [wFlyDestination], a
+ ret
+
+Text8776: ; 02:4776
+ db "とびさき を えらんでください@"
+
+Function8786: ; 02:4786
+ ld a, [wFlyDestination]
+ push af
+ xor a
+ ld [wFlyDestination], a
+ call Function881e
+ ld de, PokedexNestIconGFX
+ ld hl, vChars0 + $7f0
+ lb bc, BANK(PokedexNestIconGFX), $01
+ call Request1bpp
+ call GetPokemonName
+ coord hl, 4, 15
+ call PlaceString
+ coord hl, 9, 15
+ ld de, Text87e4
+ call PlaceString
+ call WaitBGMap
+ call SetPalettes
+ xor a
+ ldh [hBGMapMode], a
+ ld hl, wTileMap
+ ld bc, $0168
+ xor a
+ call ByteFill
+ ld hl, Function3e9dc
+ ld a, BANK(Function3e9dc)
+ call FarCall_hl
+.sub_87ca
+ call Function87ea
+ call GetJoypadDebounced
+ ldh a, [hJoyDown]
+ and $03
+ jr nz, .sub_87df
+ ld hl, wFlyDestination
+ inc [hl]
+ call DelayFrame
+ jr .sub_87ca
+.sub_87df
+ pop af
+ ld [wFlyDestination], a
+ ret
+
+Text87e4: ; 02:47e4
+ db "の すみか@"
+
+Function87ea: ; 02:47ea
+ ld a, [wFlyDestination]
+ and $10
+ jr z, .sub_881a
+ ld de, wTileMap
+ ld hl, wVirtualOAM
+.sub_87f7
+ ld a, [de]
+ and a
+ ret z
+ push de
+ push hl
+ ld e, a
+ ld d, $00
+ ld hl, Data8a53
+ add hl, de
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld a, [de]
+ inc de
+ sub $04
+ ld [hli], a
+ ld a, [de]
+ inc de
+ sub $04
+ ld [hli], a
+ ld a, $7f
+ ld [hli], a
+ xor a
+ ld [hli], a
+ pop de
+ inc de
+ jr .sub_87f7
+.sub_881a
+ call ClearSprites
+ ret
+
+Function881e: ; 02:481e
+ call ClearBGPalettes
+ call ClearTileMap
+ call UpdateSprites
+ call DisableLCD
+ ld hl, PokedexLocationGFX
+ ld de, vTilesetEnd
+ ld bc, $0200
+ ld a, BANK(PokedexLocationGFX)
+ call FarCopyData
+ ld hl, wTileMap
+ call DecompTownMapTilemap
+ coord hl, 0, 13
+ ld b, $03
+ ld c, $12
+ call DrawTextBox
+ ld a, $03
+ call UpdateSoundNTimes
+ call EnableLCD
+ ld b, $02
+ call GetSGBLayout
+ ret
+
+DecompTownMapTilemap: ; 02:4856
+ ld de, TownMapTilemap
+.sub_8859
+ ld a, [de]
+ and a
+ ret z
+ ld b, a
+ inc de
+ ld a, [de]
+ ld c, a
+ ld a, b
+ add $60
+.sub_8863
+ ld [hli], a
+ dec c
+ jr nz, .sub_8863
+ inc de
+ jr .sub_8859
+
+Function886a: ; 02:486a
+ ld de, GoldSpriteGFX
+ ld hl, vChars0
+ lb bc, BANK(GoldSpriteGFX), $04
+ call Request2bpp
+ ld de, GoldSpriteGFX + $c0
+ ld hl, vChars0 + $40
+ lb bc, BANK(GoldSpriteGFX), $04
+ call Request2bpp
+ ld de, $0000
+ ld a, $41
+ call InitSpriteAnimStruct
+ ld hl, $0003
+ add hl, bc
+ ld [hl], $00
+ push bc
+ ld a, [wMapGroup]
+ ld b, a
+ ld a, [wMapId]
+ ld c, a
+ call GetWorldMapLocation
+ ld e, a
+ ld d, $00
+ ld hl, Data8a53
+ add hl, de
+ add hl, de
+ ld d, [hl]
+ inc hl
+ ld e, [hl]
+ pop bc
+ ld hl, $0004
+ add hl, bc
+ ld [hl], e
+ ld hl, $0005
+ add hl, bc
+ ld [hl], d
+ ret
+
+Function88b3: ; 02:48b3
+ ld de, PoppoSpriteGFX
+ ld hl, vChars0 + $80
+ lb bc, BANK(PoppoSpriteGFX), $04
+ call Request2bpp
+ ld de, PoppoSpriteGFX + $c0
+ ld hl, vChars0 + $c0
+ lb bc, BANK(PoppoSpriteGFX), $04
+ call Request2bpp
+ ld de, $0000
+ ld a, $41
+ call InitSpriteAnimStruct
+ ld hl, $0003
+ add hl, bc
+ ld [hl], $08
+ ret
+
+TownMapTilemap: ; 02:48da
+ db $04, $05
+ db $19, $01
+ db $1a, $08
+ db $1b, $01
+ db $04, $02
+ db $09, $01
+ db $06, $02
+ db $04, $05
+ db $1c, $01
+ db $05, $01
+ db $11, $01
+ db $12, $01
+ db $13, $01
+ db $14, $01
+ db $15, $01
+ db $16, $01
+ db $17, $01
+ db $1c, $01
+ db $04, $02
+ db $0a, $01
+ db $05, $01
+ db $06, $01
+ db $04, $05
+ db $1d, $01
+ db $1a, $08
+ db $1e, $01
+ db $04, $03
+ db $0f, $01
+ db $10, $01
+ db $04, $01
+ db $0d, $01
+ db $0e, $02
+ db $0d, $01
+ db $04, $09
+ db $02, $01
+ db $04, $02
+ db $01, $01
+ db $07, $01
+ db $08, $01
+ db $02, $01
+ db $0f, $01
+ db $02, $01
+ db $04, $01
+ db $0f, $01
+ db $09, $01
+ db $06, $01
+ db $08, $01
+ db $04, $05
+ db $01, $01
+ db $05, $01
+ db $03, $01
+ db $07, $02
+ db $05, $01
+ db $06, $01
+ db $06, $01
+ db $05, $01
+ db $07, $01
+ db $0e, $01
+ db $05, $01
+ db $07, $03
+ db $08, $01
+ db $04, $03
+ db $02, $01
+ db $04, $01
+ db $0f, $01
+ db $04, $01
+ db $0c, $01
+ db $06, $01
+ db $07, $01
+ db $0b, $01
+ db $06, $01
+ db $07, $01
+ db $0b, $01
+ db $04, $01
+ db $0f, $01
+ db $10, $01
+ db $06, $01
+ db $05, $01
+ db $07, $02
+ db $0c, $01
+ db $07, $02
+ db $03, $01
+ db $0f, $01
+ db $09, $01
+ db $07, $01
+ db $06, $01
+ db $07, $01
+ db $03, $01
+ db $06, $01
+ db $0f, $01
+ db $09, $01
+ db $06, $01
+ db $07, $01
+ db $03, $01
+ db $0a, $01
+ db $06, $05
+ db $07, $02
+ db $05, $01
+ db $07, $02
+ db $06, $01
+ db $05, $01
+ db $04, $01
+ db $0b, $01
+ db $0d, $01
+ db $0c, $01
+ db $07, $01
+ db $05, $01
+ db $0e, $01
+ db $07, $02
+ db $06, $0a
+ db $07, $01
+ db $03, $01
+ db $04, $02
+ db $0a, $01
+ db $06, $01
+ db $0b, $01
+ db $04, $01
+ db $06, $01
+ db $05, $01
+ db $07, $02
+ db $05, $01
+ db $06, $01
+ db $05, $01
+ db $06, $05
+ db $0c, $01
+ db $08, $01
+ db $04, $06
+ db $0a, $01
+ db $06, $02
+ db $0b, $01
+ db $07, $01
+ db $06, $01
+ db $0c, $01
+ db $06, $02
+ db $18, $01
+ db $06, $02
+ db $07, $01
+ db $06, $01
+ db $04, $0a
+ db $0c, $01
+ db $07, $01
+ db $05, $01
+ db $07, $02
+ db $05, $01
+ db $07, $03
+ db $0b, $01
+ db $04, $0d
+ db $10, $01
+ db $04, $01
+ db $0a, $01
+ db $0b, $01
+ db $04, $01
+ db $10, $01
+ db $04, $01
+ db $00
+
+SECTION "engine/dumps/bank02.asm@Data8a17", ROMX
+
+Data8a17: ; 02:4a17
+ db $0b
+ db $ff
+
+ db $01, $0a, $03, $00, $02, $00, $05, $01, $03, $01, $04, $02, $0d, $02
+ db $0d, $03, $0d, $05, $04, $02, $04, $06, $07
+ db $ff
+
+ db $05, $08
+ db $ff
+
+ db $06
+ db $ff
+
+ db $ff
+
+ db $0e, $09, $06, $0e, $08, $0a, $0a
+ db $08, $09, $00, $00, $09, $0c, $00
+ db $ff
+
+ db $ff
+
+ db $ff
+
+ db $0b
+ db $ff
+
+ db $ff
+
+ db $04, $03
+ db $ff
+
+ db $04
+ db $ff
+
+ db $08, $08
+ db $ff
+
+Data8a53: ; 02:4a53
+ db $00, $00, $1c, $9c, $28, $9c, $34, $9c
+ db $40, $9c, $4c, $9c, $5c, $9c, $6c, $94
+ db $6c, $84, $6c, $78, $6c, $6c, $64, $6c
+ db $5c, $6c, $6c, $64, $6c, $5c, $5c, $5c
+ db $5c, $50, $5c, $44, $50, $44, $44, $44
+ db $44, $5c, $44, $6c, $4c, $74, $4c, $7c
+ db $40, $7c, $34, $7c, $4c, $84, $3c, $8c
+ db $34, $94, $5c, $80, $54, $68, $3c, $38
+ db $3c, $2c, $34, $2c, $2c, $20, $34, $14
+ db $3c, $14, $3c, $20, $48, $14, $54, $1c
+ db $54, $2c, $54, $38, $3c, $44, $48, $2c
+
+OpenPokegear: ; 02:4aab
+ ld hl, wce5f
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ ldh a, [hMapAnims]
+ push af
+ xor a
+ ldh [hMapAnims], a
+ ldh a, [hJoypadSum]
+ push af
+ ld a, [wVramState]
+ push af
+ xor a
+ ld [wVramState], a
+ call Function8ae0
+ call DelayFrame
+.sub_8ac9
+ call Function8ba3
+ jr nc, .sub_8ac9
+ pop af
+ ld [wVramState], a
+ pop af
+ ldh [hJoypadSum], a
+ pop af
+ ldh [hMapAnims], a
+ pop af
+ ld [wce5f], a
+ call ClearJoypad
+ ret
+
+Function8ae0: ; 02:4ae0
+ call ClearBGPalettes
+ call DisableLCD
+ call ClearSprites
+ ld b, $13
+ call GetSGBLayout
+ ld hl, Pokegear1GFX
+ ld de, vChars2
+ ld bc, $0200
+ ld a, $02
+ call FarCopyData
+ call Function8b2a
+ call Function8b7e
+ xor a
+ ldh [hSCY], a
+ ldh [hSCX], a
+ ld [wJumptableIndex], a
+ ld [wFlyDestination], a
+ ld a, $ff
+ ld [wcb60], a
+ ld a, $07
+ ldh [hWX], a
+ ld a, $08
+ call UpdateSoundNTimes
+ ld a, $e3
+ ldh [rLCDC], a
+ call WaitBGMap
+ call SetPalettes
+ ld a, $e0
+ ldh [rOBP1], a
+ ret
+
+Function8b2a: ; 02:4b2a
+ ld hl, wTileMap
+ ld bc, $0168
+ ld a, $7f
+ call ByteFill
+ ld de, wTileMap
+ ld hl, Data8b42
+ ld bc, $003c
+ call CopyBytes
+ ret
+
+Data8b42: ; 02:4b42
+ db $0d, $1c, $1d, $0b, $1c, $1d, $0b, $1c
+ db $1d, $0c, $01, $05, $05, $05, $05, $05
+ db $05, $05, $05, $02, $08, $1e, $1f, $0a
+ db $1e, $1f, $0a, $1e, $1f, $07, $08, $7f
+ db $7f, $0f, $7f, $7f, $0f, $7f, $7f, $07
+ db $03, $06, $06, $09, $06, $06, $09, $06
+ db $06, $04, $03, $06, $06, $06, $06, $06
+ db $06, $06, $06, $04
+
+Function8b7e: ; 02:4b7e
+ coord hl, 1, 0
+ ld a, $10
+ call Function8b97
+ coord hl, 4, 0
+ ld a, $14
+ call Function8b97
+ coord hl, 7, 0
+ ld a, $18
+ call Function8b97
+ ret
+
+Function8b97: ; 02:4b97
+ ld [hli], a
+ inc a
+ ld [hld], a
+ ld bc, $0014
+ add hl, bc
+ inc a
+ ld [hli], a
+ inc a
+ ld [hld], a
+ ret
+
+Function8ba3: ; 02:4ba3
+ call UpdateTime
+ call GetJoypadDebounced
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .sub_8bc3
+ call Function8bfd
+ ld a, BANK(EffectObjectJumpNoDelay)
+ ld hl, EffectObjectJumpNoDelay
+ call FarCall_hl
+ call Function8bd5
+ call DelayFrame
+ and a
+ ret
+.sub_8bc3
+ ld hl, InitEffectObject
+ ld a, BANK(InitEffectObject)
+ call FarCall_hl
+ call ClearSprites
+ xor a
+ ldh [hSCX], a
+ ldh [hSCY], a
+ scf
+ ret
+
+Function8bd5: ; 02:4bd5
+ coord hl, 11, 1
+ ld a, $7f
+ ld [hli], a
+ ld [hl], a
+ ld de, hRTCHours
+ coord hl, 11, 1
+ ld bc, $0102
+ call PrintNumber
+ inc hl
+ ld de, hRTCMinutes
+ ld bc, $8102
+ call PrintNumber
+ inc hl
+ ld de, hRTCSeconds
+ ld bc, $8102
+ call PrintNumber
+ ret
+
+Function8bfd: ; 02:4bfd
+ ld a, [wJumptableIndex]
+ ld e, a
+ ld d, $00
+ ld hl, Table8c0c
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Table8c0c: ; 02:4c0c
+ dw Function8c21
+ dw Function8c49
+ dw DrawMap
+ dw Function8cab
+ dw Function8cb7
+ dw Function8d62
+ dw Function8e6c
+ dw Function8e9e
+
+Function8c1c: ; 02:4c1c
+ ld hl, wJumptableIndex
+ inc [hl]
+ ret
+
+Function8c21: ; 02:4c21
+ ld hl, InitEffectObject
+ ld a, BANK(InitEffectObject)
+ call FarCall_hl
+ ld de, PointerGFX
+ ld hl, vChars0 + $7c0
+ lb bc, BANK(PointerGFX), $04
+ call Request2bpp
+ ld a, $29
+ ld hl, wTileMapBackup
+ ld [hli], a
+ ld [hl], $7c
+ ld de, $241c
+ ld a, $44
+ call InitSpriteAnimStruct
+ call Function8c1c
+ ret
+
+Function8c49: ; 02:4c49
+ ld hl, hJoySum
+ ld a, [hl]
+ and $02
+ jr nz, .sub_8c59
+ ld a, [hl]
+ and $01
+ ret z
+ call Function8c5f
+ ret
+.sub_8c59
+ ld hl, wJumptableIndex
+ set 7, [hl]
+ ret
+
+Function8c5f: ; 02:4c5f
+ ld a, [wFlyDestination]
+ ld hl, wcb60
+ cp [hl]
+ ret z
+ ld [wcb60], a
+ and $03
+ ld e, a
+ ld d, $00
+ ld hl, Unknown8c78
+ add hl, de
+ ld a, [hl]
+ ld [wJumptableIndex], a
+ ret
+
+Unknown8c78: ; 02:4c78
+ db $02, $04, $06, $02
+
+DrawMap: ; 02:4c7c
+ call Function8c1c
+ call Function8eaa
+ call WaitForAutoBgMapTransfer
+ ld b, $14
+ call GetSGBLayout
+ ld de, PokedexLocationGFX
+ ld hl, vTilesetEnd
+ lb bc, BANK(PokedexLocationGFX), $1f
+ call Request2bpp
+ coord hl, 0, 3
+ call DecompTownMapTilemap
+ call WaitBGMap
+ call Function886a
+ ld hl, $0005
+ add hl, bc
+ ld a, [hl]
+ add $18
+ ld [hl], a
+ ret
+
+Function8cab: ; 02:4cab
+ ld hl, hJoyDown
+ ld a, [hl]
+ and $02
+ ret z
+ xor a
+ ld [wJumptableIndex], a
+ ret
+
+Function8cb7: ; 02:4cb7
+ call Function8c1c
+ call Function8eaa
+ call WaitForAutoBgMapTransfer
+ ld b, $15
+ call GetSGBLayout
+ ld de, Pokegear2GFX
+ ld hl, vTilesetEnd
+ lb bc, BANK(Pokegear2GFX), $09
+ call Request2bpp
+ ld de, VerticalPipeGFX
+ ld hl, vChars0
+ lb bc, BANK(VerticalPipeGFX), $01
+ call Request2bpp
+ coord hl, 0, 3
+ ld bc, $00b4
+ ld a, $0e
+ call ByteFill
+ coord hl, 1, 8
+ ld bc, $0412
+ call Function8ef9
+ coord hl, 4, 3
+ ld bc, $060e
+ call Function8ef9
+ ld a, $05
+ coord hl, 0, 11
+ ld [hl], a
+ coord hl, 19, 11
+ ld [hl], a
+ coord hl, 2, 5
+ ld a, $60
+ ld [hli], a
+ inc a
+ ld [hld], a
+ inc a
+ ld bc, $0014
+ add hl, bc
+ ld [hli], a
+ inc a
+ ld [hld], a
+ coord hl, 2, 4
+ ld a, $64
+ ld [hli], a
+ inc a
+ ld [hl], a
+ coord hl, 5, 5
+ ld bc, $000c
+ ld a, $66
+ call ByteFill
+ coord hl, 5, 6
+ ld bc, $000c
+ ld a, $67
+ call ByteFill
+ ld hl, Text91c2
+ call PrintText
+ call WaitBGMap
+ ld de, $4c23
+ ld a, $44
+ call InitSpriteAnimStruct
+ ld hl, $0002
+ add hl, bc
+ ld [hl], $00
+ ld hl, $0003
+ add hl, bc
+ ld [hl], $7c
+ ld de, $4030
+ ld a, $4b
+ call InitSpriteAnimStruct
+ ld hl, $0003
+ add hl, bc
+ ld [hl], $00
+ xor a
+ ld [wcb61], a
+ ret
+
+Function8d62: ; 02:4d62
+ ld hl, hJoyDown
+ ld a, [hl]
+ and $02
+ ret z
+ xor a
+ ld [wJumptableIndex], a
+ ret
+
+Function8d6e: ; 02:4d6e
+ ld hl, wcb61
+ ld e, [hl]
+ ld d, $00
+ ld hl, Table8d7d
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Table8d7d: ; 02:4d7d
+ dw Function8d85
+ dw Function8d91
+ dw Function8d85
+ dw Function8db9
+
+Function8d85: ; 02:4d85
+ ld hl, hJoyDown
+ ld a, [hl]
+ and $01
+ ret z
+ ld hl, wcb61
+ inc [hl]
+ ret
+
+Function8d91: ; 02:4d91
+ ld hl, $000c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .sub_8da6
+ call Function8dfd
+ jr c, .sub_8db1
+ ld hl, $0006
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_8dab
+.sub_8da6
+ ld hl, hFFC0
+ jr Function8de3
+.sub_8dab
+ ld a, $03
+ ld [wcb61], a
+ ret
+.sub_8db1
+ call .sub_8da6
+ xor a
+ ld [wcb61], a
+ ret
+
+Function8db9: ; 02:4db9
+ ld hl, $000c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .sub_8dcf
+ call Function8dfd
+ jr c, .sub_8dda
+ ld hl, $0006
+ add hl, bc
+ ld a, [hl]
+ cp $60
+ jr z, .sub_8dd4
+.sub_8dcf
+ ld hl, $0040
+ jr Function8de3
+.sub_8dd4
+ ld a, $01
+ ld [wcb61], a
+ ret
+.sub_8dda
+ call .sub_8dcf
+ ld a, $02
+ ld [wcb61], a
+ ret
+
+Function8de3: ; 02:4de3
+ push hl
+ ld hl, $0006
+ add hl, bc
+ ld d, [hl]
+ ld hl, $000c
+ add hl, bc
+ ld e, [hl]
+ pop hl
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $000c
+ add hl, bc
+ ld [hl], e
+ ld hl, $0006
+ add hl, bc
+ ld [hl], d
+ ret
+
+Function8dfd: ; 02:4dfd
+ ld hl, $0006
+ add hl, bc
+ push bc
+ ld c, [hl]
+ ld a, [wMapGroup]
+ ld e, a
+ ld d, $00
+ ld hl, Table8e2f
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+.sub_8e11
+ ld a, [hl]
+ and a
+ jr z, .sub_8e1e
+ cp c
+ jr z, .sub_8e21
+ ld de, $0006
+ add hl, de
+ jr .sub_8e11
+.sub_8e1e
+ pop bc
+ and a
+ ret
+.sub_8e21
+ ld de, Function8e2c
+ push de
+ inc hl
+ ld e, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Function8e2c: ; 02:4e2c
+ pop bc
+ scf
+ ret
+
+Table8e2f: ; 02:4e2f
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+ dw Data8e4d
+
+Data8e4d: ; 02:4e4d
+ db $10, $02
+ dw Function8e66
+ dw Function8e66
+
+ db $20, $05
+ dw Function8e66
+ dw Function8e66
+
+ db $40, $07
+ dw Function8e66
+ dw Function8e66
+
+ db $48, $09
+ dw Function8e66
+ dw Function8e66
+
+ db $00
+
+Function8e66: ; 02:4e66
+ ld d, $00
+ call PlayMusic
+ ret
+
+Function8e6c: ; 02:4e6c
+ call Function8c1c
+ call Function8eaa
+ call WaitForAutoBgMapTransfer
+ ld b, $13
+ call GetSGBLayout
+ call LoadFontExtra
+ ld de, Text8e90
+ coord hl, 7, 7
+ call PlaceString
+ ld hl, Text8e95
+ call PrintText
+ call WaitBGMap
+ ret
+
+Text8e90: ; 02:4e90
+ db "けんがい@"
+
+Text8e95: ; 02:4e95
+ text "ちぇっ⋯⋯⋯⋯"
+ done
+
+Function8e9e: ; 02:4e9e
+ ld hl, hJoyDown
+ ld a, [hl]
+ and $02
+ ret z
+ xor a
+ ld [wJumptableIndex], a
+ ret
+
+Function8eaa: ; 02:4eaa
+ ld hl, InitEffectObject
+ ld a, BANK(InitEffectObject)
+ call FarCall_hl
+ call ClearSprites
+ call WaitForAutoBgMapTransfer
+ coord hl, 0, 3
+ ld bc, $012c
+ ld a, $7f
+ call ByteFill
+ call WaitBGMap
+ call WaitBGMap
+ ret
+
+Function8eca: ; 02:4eca
+ ld hl, wFlyDestination
+ ld de, hJoySum
+ ld a, [de]
+ and $20
+ jr nz, .sub_8edc
+ ld a, [de]
+ and $10
+ jr nz, .sub_8ee2
+ jr .sub_8ee7
+.sub_8edc
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ jr .sub_8ee7
+.sub_8ee2
+ ld a, [hl]
+ cp $02
+ ret nc
+ inc [hl]
+.sub_8ee7
+ ld e, [hl]
+ ld d, $00
+ ld hl, Data8ef5
+ add hl, de
+ ld a, [hl]
+ ld hl, $0006
+ add hl, bc
+ ld [hl], a
+ ret
+
+Data8ef5: ; 02:4ef5
+ db $00, $18, $30, $00
+
+Function8ef9: ; 02:4ef9
+ dec c
+ dec c
+ dec b
+ dec b
+ ld de, $0014
+ push bc
+ push hl
+ ld a, $01
+ ld [hli], a
+ ld a, $05
+.sub_8f07
+ ld [hli], a
+ dec c
+ jr nz, .sub_8f07
+ ld a, $02
+ ld [hl], a
+ pop hl
+ pop bc
+ add hl, de
+.sub_8f11
+ push bc
+ push hl
+ ld a, $08
+ ld [hli], a
+ ld a, $7f
+.sub_8f18
+ ld [hli], a
+ dec c
+ jr nz, .sub_8f18
+ ld a, $07
+ ld [hli], a
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .sub_8f11
+ ld a, $03
+ ld [hli], a
+ ld a, $06
+.sub_8f2a
+ ld [hli], a
+ dec c
+ jr nz, .sub_8f2a
+ ld a, $04
+ ld [hli], a
+ ret
+
+SECTION "engine/dumps/bank02.asm@Text91c2", ROMX
+
+Text91c2: ; 02:51c2
+ text "エーボタンで チューニング!"
+ done
+
+SetTitleBGDecorationBorder: ; 02:51d2
+ ld de, TitleBGDecorationBorder
+ ld hl, vChars2 + $500
+ lb bc, BANK(TitleBGDecorationBorder), $09
+ call Request2bpp
+ coord hl, 0, 8
+ ld b, $50
+ call Function91ef
+ coord hl, 0, 16
+ ld b, $54
+ call Function91ef
+ ret
+
+Function91ef: ; 02:51ef
+ xor a
+ ld c, $14
+.sub_91f2
+ and $03
+ or b
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .sub_91f2
+ ret
+
+SECTION "engine/dumps/bank02.asm@Function928b", ROMX
+
+Function928b: ; 02:528b
+ ld a, b
+ cp $ff
+ jr nz, .sub_9293
+ ld a, [wccd0]
+.sub_9293
+ cp $fc
+ jp z, Function9604
+ ld l, a
+ ld h, $00
+ add hl, hl
+ ld de, Table92a8
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, Function955f
+ push de
+ jp hl
+
+Table92a8: ; 02:52a8
+ dw Function92d4
+ dw Function92db
+ dw Function934b
+ dw Function9352
+ dw Function9382
+ dw Function93a6
+ dw Function93ad
+ dw Function93bb
+ dw Function93b4
+ dw Function93fe
+ dw Function937b
+ dw Function941a
+ dw Function93d8
+ dw Function9441
+ dw Function932b
+ dw Function93e4
+ dw Function939f
+ dw Function93eb
+ dw Function9448
+ dw Function948e
+ dw Function94ab
+ dw Function94c8
+
+Function92d4: ; 02:52d4
+ ld hl, Data99ec
+ ld de, Data988c
+ ret
+
+Function92db: ; 02:52db
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld a, [wca3f]
+ ld hl, wca02
+ call Function9567
+ jr c, .sub_92f7
+ ld e, $00
+ call Function9599
+.sub_92f7
+ ld b, a
+ ld a, [wca44]
+ ld hl, wcdd7
+ call Function9567
+ jr c, .sub_9308
+ ld e, $01
+ call Function9599
+.sub_9308
+ ld c, a
+ ld hl, wcce2
+ ld a, [wccd1]
+ add $23
+ ld [hli], a
+ inc hl
+ ld a, [wccd2]
+ add $23
+ ld [hli], a
+ inc hl
+ ld a, b
+ ld [hli], a
+ inc hl
+ ld a, c
+ ld [hl], a
+ ld hl, wcce1
+ ld de, Data988c
+ ld a, $01
+ ld [wccd0], a
+ ret
+
+Function932b: ; 02:532b
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld hl, wcce2
+ ld [hl], $10
+ inc hl
+ inc hl
+ ld a, [wccd1]
+ add $23
+ ld [hl], a
+ ld hl, wcce1
+ ld de, Data98bc
+ ret
+
+Function934b: ; 02:534b
+ ld hl, Data99fc
+ ld de, Data986c
+ ret
+
+Function9352: ; 02:5352
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld a, [wMonDexIndex]
+ call Function956d
+ call Function957e
+ push af
+ ld hl, wcce2
+ ld a, [wccd9]
+ add $23
+ ld [hli], a
+ inc hl
+ pop af
+ ld [hl], a
+ ld hl, wcce1
+ ld de, Data98ac
+ ret
+
+Function937b: ; 02:537b
+ ld hl, Data99dc
+ ld de, wcce2
+ ret
+
+Function9382: ; 02:5382
+ ld hl, Data9a0c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld a, [wMonDexIndex]
+ call Function956d
+ ld hl, wcce4
+ ld [hl], a
+ ld hl, wcce1
+ ld de, Data98cc
+ ret
+
+Function939f: ; 02:539f
+ ld hl, Data99bc
+ ld de, Data986c
+ ret
+
+Function93a6: ; 02:53a6
+ ld hl, Data9a1c
+ ld de, Data98dc
+ ret
+
+Function93ad: ; 02:53ad
+ ld hl, Data9a2c
+ ld de, Data993c
+ ret
+
+Function93b4: ; 02:53b4
+ ld hl, Data9a3c
+ ld de, Data986c
+ ret
+
+Function93bb: ; 02:53bb
+ ld b, $00
+ ld hl, Table93cc
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+Table93cc: ; 02:53cc
+ dw Data986c
+ dw Data996c
+
+ dw Data987c
+ dw Data998c
+
+ dw Data986c
+ dw Data999c
+
+Function93d8: ; 02:53d8
+ ld hl, Data9a4c
+ ld de, Data986c
+ ld a, $08
+ ld [wccd0], a
+ ret
+
+Function93e4: ; 02:53e4
+ ld hl, Data99cc
+ ld de, Data986c
+ ret
+
+Function93eb: ; 02:53eb
+ ld hl, Data986c
+ ld de, wc51a
+ ld bc, $0010
+ call CopyBytes
+ ld hl, Data994c
+ ld de, Data986c
+ ret
+
+Function93fe: ; 02:53fe
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ call Function94e5
+ ld hl, wcce2
+ ld [hld], a
+ ld de, Data986c
+ ld a, $09
+ ld [wccd0], a
+ ret
+
+Function941a: ; 02:541a
+ push bc
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ pop bc
+ ld a, c
+ and a
+ ld a, $0e
+ jr nz, .sub_9437
+ ld a, [wccd1]
+ call Function956d
+ call Function957e
+.sub_9437
+ ld [wcce2], a
+ ld hl, wcce1
+ ld de, Data986c
+ ret
+
+Function9441: ; 02:5441
+ ld hl, Data9a3c
+ ld de, Data986c
+ ret
+
+Function9448: ; 02:5448
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld hl, Data986c
+ ld de, wccf1
+ ld bc, $0010
+ call CopyBytes
+ call Function94e5
+ ld hl, wcce2
+ ld [hl], a
+ ld a, [wMonDexIndex]
+ call Function956d
+ ld hl, wcce4
+ ld [hl], a
+ ld hl, wccf4
+ ld a, $05
+ ld [hli], a
+ ld a, [wMenuBorderLeftCoord]
+ ld [hli], a
+ ld a, [wMenuBorderTopCoord]
+ ld [hli], a
+ ld a, [wMenuBorderRightCoord]
+ ld [hli], a
+ ld a, [wMenuBorderBottomCoord]
+ ld [hl], a
+ ld hl, wcce1
+ ld de, wccf1
+ ret
+
+Function948e: ; 02:548e
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld a, $16
+ ld [wcce2], a
+ ld a, $30
+ ld [wcce4], a
+ ld hl, wcce1
+ ld de, Data992c
+ ret
+
+Function94ab: ; 02:54ab
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld a, $16
+ ld [wcce2], a
+ ld a, $26
+ ld [wcce4], a
+ ld hl, wcce1
+ ld de, Data992c
+ ret
+
+Function94c8: ; 02:54c8
+ ld hl, Data995c
+ ld de, wcce1
+ ld bc, $0010
+ call CopyBytes
+ ld a, $16
+ ld [wcce2], a
+ ld a, $39
+ ld [wcce4], a
+ ld hl, wcce1
+ ld de, Data992c
+ ret
+
+Function94e5: ; 02:54e5
+ ld a, [wMapPermissions]
+ cp $02
+ jr z, .sub_950e
+ cp $04
+ jr z, .sub_9516
+ cp $06
+ jr z, .sub_951e
+ cp $05
+ jr z, .sub_9521
+ cp $03
+ jr z, .sub_9505
+ call Function9527
+ jr c, .sub_9524
+ call Function9543
+ ret
+.sub_9505
+ call Function9536
+ jr c, .sub_9524
+ call Function9543
+ ret
+.sub_950e
+ call Function9527
+ jr c, .sub_9524
+ ld a, $00
+ ret
+.sub_9516
+ call Function9527
+ jr c, .sub_9524
+ ld a, $0c
+ ret
+.sub_951e
+ ld a, $03
+ ret
+.sub_9521
+ ld a, $04
+ ret
+.sub_9524
+ ld a, $0d
+ ret
+
+Function9527: ; 02:5527
+ ld a, [wTimeOfDay]
+ and $03
+ jr z, .sub_9534
+ cp $03
+ jr z, .sub_9534
+ scf
+ ret
+.sub_9534
+ and a
+ ret
+
+Function9536: ; 02:5536
+ ld a, [wTimeOfDay]
+ and $03
+ cp $02
+ jr nz, .sub_9541
+ scf
+ ret
+.sub_9541
+ and a
+ ret
+
+Function9543: ; 02:5543
+ ld a, [wMapGroup]
+ ld e, a
+ ld d, $00
+ ld hl, Data954f
+ add hl, de
+ ld a, [hl]
+ ret
+
+Data954f: ; 02:554f
+ db $01, $07, $0c, $03, $08, $06, $0b, $04
+ db $05, $0a, $02, $03, $02, $02, $09, $01
+
+Function955f: ; 02:555f
+ push de
+ call Function964b
+ pop hl
+ jp Function964b
+
+Function9567: ; 02:5567
+ bit 3, a
+ ld a, $18
+ ret nz
+ ld a, [hl]
+
+Function956d: ; 02:556d
+ and a
+ jr z, .sub_957a
+ ld e, a
+ ld d, $00
+ ld hl, PokemonPalettes
+ add hl, de
+ ld a, [hl]
+ and a
+ ret
+.sub_957a
+ ld a, $0f
+ scf
+ ret
+
+Function957e: ; 02:557e
+ push bc
+ push af
+ ld hl, wPartyMon1DVs
+ ld a, [wWhichPokemon]
+ ld bc, $0030
+ call AddNTimes
+ call Function95b0
+ ld b, $00
+ jr nc, .sub_9595
+ ld b, $0a
+.sub_9595
+ pop af
+ add b
+ pop bc
+ ret
+
+Function9599: ; 02:5599
+ push bc
+ push af
+ ld a, e
+ and a
+ ld a, [wcae1]
+ jr z, .sub_95a4
+ srl a
+.sub_95a4
+ srl a
+ ld b, $00
+ jr nc, .sub_95ac
+ ld b, $0a
+.sub_95ac
+ pop af
+ add b
+ pop bc
+ ret
+
+Function95b0: ; 02:55b0
+ ld a, [hl]
+ cp $a0
+ jr c, .sub_95ca
+ ld a, [hli]
+ and $0f
+ cp $0a
+ jr c, .sub_95ca
+ ld a, [hl]
+ cp $a0
+ jr c, .sub_95ca
+ ld a, [hl]
+ and $0f
+ cp $0a
+ jr c, .sub_95ca
+ scf
+ ret
+.sub_95ca
+ and a
+ ret
+
+Function95cc: ; 02:55cc
+ ld hl, wcddf
+ ldh a, [hBattleTurn]
+ and a
+ jr nz, .sub_95d7
+ ld hl, wca08
+.sub_95d7
+ call Function95b0
+ ld hl, wcae1
+ jr nc, .sub_95ec
+ ldh a, [hBattleTurn]
+ and a
+ jr nz, .sub_95e8
+ set 0, [hl]
+ jr .sub_95f7
+.sub_95e8
+ set 1, [hl]
+ jr .sub_95f7
+.sub_95ec
+ ldh a, [hBattleTurn]
+ and a
+ jr nz, .sub_95f5
+ res 0, [hl]
+ jr .sub_95f7
+.sub_95f5
+ res 1, [hl]
+.sub_95f7
+ ret
+
+Function95f8: ; 02:55f8
+ ld hl, Data98fc
+ ld de, wcce2
+ ld bc, $0030
+ jp CopyBytes
+
+Function9604: ; 02:5604
+ ld hl, wccd3
+ ld a, [wcce1]
+ ld e, a
+ ld d, $00
+ add hl, de
+ ld e, l
+ ld d, h
+ ld a, [de]
+ and a
+ ld e, $05
+ jr z, .sub_961d
+ dec a
+ ld e, $0a
+ jr z, .sub_961d
+ ld e, $0f
+.sub_961d
+ push de
+ ld hl, wcceb
+ ld bc, $0006
+ ld a, [wcce1]
+ call AddNTimes
+ pop de
+ ld [hl], e
+ ret
+
+Function962d: ; 02:562d
+ ld hl, Data997c
+ jp Function964b
+
+Function9633: ; 02:5633
+ ld hl, Data986c
+ jp Function964b
+
+Function9639: ; 02:5639
+ ld hl, Data99ac
+ jp Function964b
+
+Function963f: ; 02:563f
+ ld hl, Data99bc
+ jp Function964b
+
+Function9645: ; 02:5645
+ ld hl, wc51a
+ jp Function964b
+
+Function964b: ; 02:564b
+ ld a, [wJoypadFlags]
+ push af
+ set 7, a
+ ld [wJoypadFlags], a
+ call Function965c
+ pop af
+ ld [wJoypadFlags], a
+ ret
+
+Function965c: ; 02:565c
+ ld a, [hl]
+ and $07
+ ret z
+ ld b, a
+.sub_9661
+ push bc
+ xor a
+ ldh [rJOYP], a
+ ld a, $30
+ ldh [rJOYP], a
+ ld b, $10
+.sub_966b
+ ld e, $08
+ ld a, [hli]
+ ld d, a
+.sub_966f
+ bit 0, d
+ ld a, $10
+ jr nz, .sub_9677
+ ld a, $20
+.sub_9677
+ ldh [rJOYP], a
+ ld a, $30
+ ldh [rJOYP], a
+ rr d
+ dec e
+ jr nz, .sub_966f
+ dec b
+ jr nz, .sub_966b
+ ld a, $20
+ ldh [rJOYP], a
+ ld a, $30
+ ldh [rJOYP], a
+ call Function9860
+ pop bc
+ dec b
+ jr nz, .sub_9661
+ ret
+
+CheckSGB: ; 02:5695
+ ld a, [wJoypadFlags]
+ push af
+ set 7, a
+ ld [wJoypadFlags], a
+ xor a
+ ldh [rJOYP], a
+ ld [wSGB], a
+ call Function9730
+ jr nc, .sub_96c0
+ ld a, $01
+ ld [wSGB], a
+ call .sub_96c5
+ call Function9704
+ call Function979a
+ call Function9725
+ ld hl, Data9abc
+ call Function965c
+.sub_96c0
+ pop af
+ ld [wJoypadFlags], a
+ ret
+.sub_96c5
+ ld hl, Table96d9
+ ld c, $09
+.sub_96ca
+ push bc
+ ld a, [hli]
+ push hl
+ ld h, [hl]
+ ld l, a
+ call Function965c
+ pop hl
+ inc hl
+ pop bc
+ dec c
+ jr nz, .sub_96ca
+ ret
+
+Table96d9: ; 02:56d9
+ dw Data9aac
+ dw Data9acc
+ dw Data9adc
+ dw Data9aec
+ dw Data9afc
+ dw Data9b0c
+ dw Data9b1c
+ dw Data9b2c
+ dw Data9b3c
+
+Function96eb: ; 02:56eb
+ ld a, [wSGB]
+ ret z
+ di
+ xor a
+ ldh [rJOYP], a
+ ld hl, Data9aac
+ call Function965c
+ call Function9704
+ ld hl, Data9abc
+ call Function965c
+ ei
+ ret
+
+Function9704: ; 02:5704
+ call Function9710
+ push de
+ call Function980a
+ pop hl
+ call Function97be
+ ret
+
+Function9710: ; 02:5710
+ ld a, [wce5f]
+ bit 3, a
+ jr nz, .sub_971e
+ ld hl, UnusedSGBBorderGFX
+ ld de, Corrupted9e1cGFX
+ ret
+.sub_971e
+ ld hl, SGBBorderGFX
+ ld de, Corrupteda66cGFX
+ ret
+
+Function9725: ; 02:5725
+ ld hl, vChars0
+ ld bc, $2000
+ xor a
+ call ByteFill
+ ret
+
+Function9730: ; 02:5730
+ ld hl, Data9a7c
+ call Function965c
+ call Function9860
+ ldh a, [rJOYP]
+ and $03
+ cp $03
+ jr nz, .sub_978c
+ ld a, $20
+ ldh [rJOYP], a
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ call Function9860
+ call Function9860
+ ld a, $30
+ ldh [rJOYP], a
+ call Function9860
+ call Function9860
+ ld a, $10
+ ldh [rJOYP], a
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ call Function9860
+ call Function9860
+ ld a, $30
+ ldh [rJOYP], a
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ call Function9860
+ call Function9860
+ ldh a, [rJOYP]
+ and $03
+ cp $03
+ jr nz, .sub_978c
+ call .sub_9791
+ and a
+ ret
+.sub_978c
+ call .sub_9791
+ scf
+ ret
+.sub_9791
+ ld hl, Data9a6c
+ call Function965c
+ jp Function9860
+
+Function979a: ; 02:579a
+ call DisableLCD
+ ld a, $e4
+ ldh [rBGP], a
+ ld hl, SuperPalettes
+ ld de, vChars1
+ ld bc, $1000
+ call Function9838
+ call Function984a
+ ld a, $e3
+ ldh [rLCDC], a
+ ld hl, Data9a5c
+ call Function965c
+ xor a
+ ldh [rBGP], a
+ ret
+
+Function97be: ; 02:57be
+ call DisableLCD
+ ld a, $e4
+ ldh [rBGP], a
+ ld de, vChars1
+ ld bc, $0140
+ call Function9838
+ ld b, $12
+.sub_97d0
+ push bc
+ ld bc, $000c
+ call Function9838
+ ld bc, $0028
+ call Function9841
+ ld bc, $000c
+ call Function9838
+ pop bc
+ dec b
+ jr nz, .sub_97d0
+ ld bc, $0140
+ call Function9838
+ ld bc, $0100
+ call Function9841
+ ld bc, $0080
+ call Function9838
+ call Function984a
+ ld a, $e3
+ ldh [rLCDC], a
+ ld hl, Data9a9c
+ call Function965c
+ xor a
+ ldh [rBGP], a
+ ret
+
+Function980a: ; 02:580a
+ call DisableLCD
+ ld a, $e4
+ ldh [rBGP], a
+ ld de, vChars1
+ ld b, $80
+.sub_9816
+ push bc
+ ld bc, $0010
+ call Function9838
+ ld bc, $0010
+ call Function9841
+ pop bc
+ dec b
+ jr nz, .sub_9816
+ call Function984a
+ ld a, $e3
+ ldh [rLCDC], a
+ ld hl, Data9a8c
+ call Function965c
+ xor a
+ ldh [rBGP], a
+ ret
+
+Function9838: ; 02:5838
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec bc
+ ld a, c
+ or b
+ jr nz, Function9838
+ ret
+
+Function9841: ; 02:5841
+ xor a
+ ld [de], a
+ inc de
+ dec bc
+ ld a, c
+ or b
+ jr nz, Function9841
+ ret
+
+Function984a: ; 02:584a
+ ld hl, vBGMap0
+ ld de, $000c
+ ld a, $80
+ ld c, $0d
+.sub_9854
+ ld b, $14
+.sub_9856
+ ld [hli], a
+ inc a
+ dec b
+ jr nz, .sub_9856
+ add hl, de
+ dec c
+ jr nz, .sub_9854
+ ret
+
+Function9860: ; 02:5860
+ ld de, $1b58
+.sub_9863
+ nop
+ nop
+ nop
+ dec de
+ ld a, d
+ or e
+ jr nz, .sub_9863
+ ret
+
+Data986c: ; 02:586c
+ db $21, $01, $03, $00, $00, $00, $13, $11
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data987c: ; 02:587c
+ db $21, $01, $07, $05, $00, $0a, $13, $0d
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data988c: ; 02:588c
+ db $22, $05, $07, $0a, $00, $0c, $13, $11
+ db $03, $05, $01, $00, $0a, $03, $03, $00
+
+Data989c: ; 02:589c
+ db $0a, $08, $13, $0a, $03, $0a, $00, $04
+ db $08, $0b, $03, $0f, $0b, $00, $13, $07
+
+Data98ac: ; 02:58ac
+ db $21, $01, $07, $05, $00, $01, $07, $07
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data98bc: ; 02:58bc
+ db $21, $01, $07, $05, $0b, $01, $13, $02
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data98cc: ; 02:58cc
+ db $21, $01, $07, $05, $01, $01, $08, $08
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data98dc: ; 02:58dc
+ db $22, $05, $03, $05, $00, $00, $13, $0b
+ db $03, $0a, $00, $04, $13, $09, $02, $0f
+
+Data98ec: ; 02:58ec
+ db $00, $06, $13, $07, $03, $00, $04, $04
+ db $0f, $09, $03, $00, $00, $0c, $13, $11
+
+Data98fc: ; 02:58fc
+ db $23, $07, $07, $10, $00, $00, $02, $0c
+ db $02, $00, $0c, $00, $12, $01, $02, $00
+
+Data990c: ; 02:590c
+ db $0c, $02, $12, $03, $02, $00, $0c, $04
+ db $12, $05, $02, $00, $0c, $06, $12, $07
+
+Data991c: ; 02:591c
+ db $02, $00, $0c, $08, $12, $09, $02, $00
+ db $0c, $0a, $12, $0b, $00, $00, $00, $00
+
+Data992c: ; 02:592c
+ db $21, $01, $07, $10, $00, $00, $13, $02
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data993c: ; 02:593c
+ db $21, $01, $07, $10, $00, $00, $13, $05
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data994c: ; 02:594c
+ db $51, $35, $00, $36, $00, $37, $00, $38
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data995c: ; 02:595c
+ db $51, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data996c: ; 02:596c
+ db $51, $2a, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data997c: ; 02:597c
+ db $51, $2b, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data998c: ; 02:598c
+ db $51, $2c, $00, $2d, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data999c: ; 02:599c
+ db $51, $2e, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data99ac: ; 02:59ac
+ db $51, $2f, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data99bc: ; 02:59bc
+ db $51, $30, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data99cc: ; 02:59cc
+ db $51, $2d, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data99dc: ; 02:59dc
+ db $51, $22, $00, $23, $00, $24, $00, $25
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data99ec: ; 02:59ec
+ db $51, $0e, $00, $0e, $00, $0e, $00, $0e
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data99fc: ; 02:59fc
+ db $51, $26, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a0c: ; 02:5a0c
+ db $51, $30, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a1c: ; 02:5a1c
+ db $51, $31, $00, $32, $00, $33, $00, $34
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a2c: ; 02:5a2c
+ db $51, $27, $00, $28, $00, $0f, $00, $13
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a3c: ; 02:5a3c
+ db $51, $0f, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a4c: ; 02:5a4c
+ db $51, $29, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a5c: ; 02:5a5c
+ db $59, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a6c: ; 02:5a6c
+ db $89, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a7c: ; 02:5a7c
+ db $89, $01, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a8c: ; 02:5a8c
+ db $99, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9a9c: ; 02:5a9c
+ db $a1, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9aac: ; 02:5aac
+ db $b9, $01, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9abc: ; 02:5abc
+ db $b9, $00, $00, $00, $00, $00, $00, $00
+ db $00, $00, $00, $00, $00, $00, $00, $00
+
+Data9acc: ; 02:5acc
+ db $79, $5d, $08, $00, $0b, $8c, $d0, $f4
+ db $60, $00, $00, $00, $00, $00, $00, $00
+
+Data9adc: ; 02:5adc
+ db $79, $52, $08, $00, $0b, $a9, $e7, $9f
+ db $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
+
+Data9aec: ; 02:5aec
+ db $79, $47, $08, $00, $0b, $c4, $d0, $16
+ db $a5, $cb, $c9, $05, $d0, $10, $a2, $28
+
+Data9afc: ; 02:5afc
+ db $79, $3c, $08, $00, $0b, $f0, $12, $a5
+ db $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
+
+Data9b0c: ; 02:5b0c
+ db $79, $31, $08, $00, $0b, $0c, $a5, $ca
+ db $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
+
+Data9b1c: ; 02:5b1c
+ db $79, $26, $08, $00, $0b, $39, $cd, $48
+ db $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
+
+Data9b2c: ; 02:5b2c
+ db $79, $1b, $08, $00, $0b, $ea, $ea, $ea
+ db $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
+
+Data9b3c: ; 02:5b3c
+ db $79, $10, $08, $00, $0b, $4c, $20, $08
+ db $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea
diff --git a/gfx.asm b/gfx.asm
index bdd8201..b6135ff 100644
--- a/gfx.asm
+++ b/gfx.asm
@@ -5,6 +5,7 @@ PokedexNestIconGFX::
INCBIN "gfx/pokegear/dexmap_nest_icon.1bpp"
SECTION "gfx.asm@Bank 2 Misc GFX", ROMX
+UnknownBouncingOrbGFX::
INCBIN "gfx/overworld/gfx_84bf.2bpp"
JumpShadowGFX::
INCBIN "gfx/overworld/shadow.2bpp"
@@ -14,24 +15,35 @@ QuestionEmoteGFX::
INCBIN "gfx/overworld/question.2bpp"
HappyEmoteGFX::
INCBIN "gfx/overworld/happy.2bpp"
+UnknownBallGFX::
+INCBIN "gfx/overworld/gfx_85cf.2bpp"
SECTION "gfx.asm@Pokegear GFX", ROMX
-PokegearGFX::
-INCBIN "gfx/pokegear/pokegear.2bpp"
+Pokegear1GFX::
+INCBIN "gfx/pokegear/pokegear_1.2bpp"
+Pokegear2GFX::
+INCBIN "gfx/pokegear/pokegear_2.2bpp"
+VerticalPipeGFX::
+INCBIN "gfx/pokegear/vertical_pipe.2bpp"
SECTION "gfx.asm@Title Screen BG Decoration Border", ROMX
TitleBGDecorationBorder::
INCBIN "gfx/title/titlebgdecoration.2bpp"
-SECTION "gfx.asm@Super Palettes", ROMX
+SECTION "gfx.asm@SGB GFX", ROMX
+
INCLUDE "data/pokemon/palettes.inc"
INCLUDE "data/super_palettes.inc"
-SECTION "gfx.asm@Unused SGB Border GFX", ROMX
+Corrupted9e1cGFX:
+INCBIN "gfx/sgb/corrupted_9e1c.2bpp"
+
UnusedSGBBorderGFX::
INCBIN "gfx/sgb/sgb_border_alt.2bpp"
-SECTION "gfx.asm@SGB Border GFX", ROMX
+Corrupteda66cGFX:
+INCBIN "gfx/sgb/corrupted_a66c.2bpp"
+
SGBBorderGFX::
if def(GOLD)
INCBIN "gfx/sgb/sgb_border_gold.2bpp"
@@ -39,6 +51,20 @@ else
INCBIN "gfx/sgb/sgb_border_silver.2bpp"
endc
+SECTION "gfx.asm@Corrupted SGB GFX", ROMX
+
+SGBBorderGoldCorruptedGFX:
+INCBIN "gfx/sgb/sgb_border_gold_corrupted.2bpp"
+
+Corruptedb1e3GFX:
+INCBIN "gfx/sgb/corrupted_b1e3.2bpp"
+
+SGBBorderSilverCorruptedGFX:
+INCBIN "gfx/sgb/sgb_border_silver_corrupted.2bpp"
+
+Corruptedba93GFX:
+INCBIN "gfx/sgb/corrupted_ba93.2bpp"
+
SECTION "gfx.asm@Title Screen GFX", ROMX
if def(GOLD)
TitleScreenGFX:: INCBIN "gfx/title/title.2bpp"
@@ -246,7 +272,11 @@ INCLUDE "gfx/pokemon/annon_pics.asm"
INCLUDE "gfx/pokemon/egg.asm"
SECTION "gfx.asm@Attack Animation GFX", ROMX
-INCBIN "gfx/battle_anims/attack_animations.2bpp"
+
+INCBIN "gfx/battle_anims/attack_animations_1.2bpp"
+PointerGFX::
+INCBIN "gfx/battle_anims/pointer.2bpp"
+INCBIN "gfx/battle_anims/attack_animations_2.2bpp"
SECTION "gfx.asm@Pokemon Party Sprites", ROMX
NyoromoIcon:: INCBIN "gfx/icons/nyoromo.2bpp"
diff --git a/gfx/battle_anims/attack_animations.png b/gfx/battle_anims/attack_animations.png
deleted file mode 100644
index 96e60c2..0000000
--- a/gfx/battle_anims/attack_animations.png
+++ /dev/null
Binary files differ
diff --git a/gfx/battle_anims/attack_animations_1.png b/gfx/battle_anims/attack_animations_1.png
new file mode 100755
index 0000000..c432ff2
--- /dev/null
+++ b/gfx/battle_anims/attack_animations_1.png
Binary files differ
diff --git a/gfx/battle_anims/attack_animations_2.png b/gfx/battle_anims/attack_animations_2.png
new file mode 100755
index 0000000..2e04011
--- /dev/null
+++ b/gfx/battle_anims/attack_animations_2.png
Binary files differ
diff --git a/gfx/battle_anims/pointer.png b/gfx/battle_anims/pointer.png
new file mode 100755
index 0000000..09763ee
--- /dev/null
+++ b/gfx/battle_anims/pointer.png
Binary files differ
diff --git a/gfx/overworld/gfx_85cf.png b/gfx/overworld/gfx_85cf.png
new file mode 100755
index 0000000..099c049
--- /dev/null
+++ b/gfx/overworld/gfx_85cf.png
Binary files differ
diff --git a/gfx/pokegear/pokegear.png b/gfx/pokegear/pokegear.png
deleted file mode 100644
index 2c8d3e9..0000000
--- a/gfx/pokegear/pokegear.png
+++ /dev/null
Binary files differ
diff --git a/gfx/pokegear/pokegear_1.png b/gfx/pokegear/pokegear_1.png
new file mode 100755
index 0000000..c7d7ade
--- /dev/null
+++ b/gfx/pokegear/pokegear_1.png
Binary files differ
diff --git a/gfx/pokegear/pokegear_2.png b/gfx/pokegear/pokegear_2.png
new file mode 100755
index 0000000..0e92fc8
--- /dev/null
+++ b/gfx/pokegear/pokegear_2.png
Binary files differ
diff --git a/gfx/pokegear/vertical_pipe.png b/gfx/pokegear/vertical_pipe.png
new file mode 100755
index 0000000..cbaadc5
--- /dev/null
+++ b/gfx/pokegear/vertical_pipe.png
Binary files differ
diff --git a/gfx/sgb/corrupted_9e1c.png b/gfx/sgb/corrupted_9e1c.png
new file mode 100755
index 0000000..f124031
--- /dev/null
+++ b/gfx/sgb/corrupted_9e1c.png
Binary files differ
diff --git a/gfx/sgb/corrupted_a66c.png b/gfx/sgb/corrupted_a66c.png
new file mode 100755
index 0000000..a8bab25
--- /dev/null
+++ b/gfx/sgb/corrupted_a66c.png
Binary files differ
diff --git a/gfx/sgb/corrupted_b1e3.png b/gfx/sgb/corrupted_b1e3.png
new file mode 100755
index 0000000..0ee2cb5
--- /dev/null
+++ b/gfx/sgb/corrupted_b1e3.png
Binary files differ
diff --git a/gfx/sgb/corrupted_ba93.png b/gfx/sgb/corrupted_ba93.png
new file mode 100755
index 0000000..dfd88be
--- /dev/null
+++ b/gfx/sgb/corrupted_ba93.png
Binary files differ
diff --git a/gfx/sgb/sgb_border_gold_corrupted.png b/gfx/sgb/sgb_border_gold_corrupted.png
new file mode 100755
index 0000000..740bbd1
--- /dev/null
+++ b/gfx/sgb/sgb_border_gold_corrupted.png
Binary files differ
diff --git a/gfx/sgb/sgb_border_silver_corrupted.png b/gfx/sgb/sgb_border_silver_corrupted.png
new file mode 100755
index 0000000..5b32a8e
--- /dev/null
+++ b/gfx/sgb/sgb_border_silver_corrupted.png
Binary files differ
diff --git a/hram.asm b/hram.asm
index b5acf9a..2d73cd5 100644
--- a/hram.asm
+++ b/hram.asm
@@ -126,7 +126,11 @@ hPrintNumTemp:: ds 3 ; ffba big-endian
ENDU
- ds 10 ; TODO
+ ds 3 ; TODO
+
+hFFC0:: ds 1 ; FFC0
+
+ ds 6
hFFC7:: db ; FFC7
hFFC8:: db ; FFC8
diff --git a/pokegold-spaceworld.link b/pokegold-spaceworld.link
index 919bb40..0320f95 100644
--- a/pokegold-spaceworld.link
+++ b/pokegold-spaceworld.link
@@ -129,25 +129,19 @@ ROMX $01
"engine/overworld/object_collision.asm@_CheckPlayerObjectCollision"
"engine/dumps/bank01.asm@SettingsScreen"
ROMX $02
- org $4000
- org $44bf
+ "engine/dumps/bank02.asm@Function8000"
"gfx.asm@Bank 2 Misc GFX"
- ; $45cf
- org $4a0f
+ "engine/dumps/bank02.asm@QueueFollowerFirstStep"
"gfx.asm@Mon Nest Icon"
- ; $4a17
- org $4f32
+ "engine/dumps/bank02.asm@Data8a17"
"gfx.asm@Pokegear GFX"
- org $51fb
+ "engine/dumps/bank02.asm@Text91c2"
"gfx.asm@Title Screen BG Decoration Border"
- org $5b4c
- "gfx.asm@Super Palettes"
- ; $5e1c
- org $62cc
- "gfx.asm@Unused SGB Border GFX"
- ; $666c
- org $6b1c
- "gfx.asm@SGB Border GFX"
+ "engine/dumps/bank02.asm@Function928b"
+ "gfx.asm@SGB GFX"
+ "bin.asm@Unknownaebc"
+ "gfx.asm@Corrupted SGB GFX"
+ "bin.asm@Unknownbb43"
ROMX $03
org $4000
"engine/overworld/player_movement.asm@Player Movement"
diff --git a/shim.sym b/shim.sym
index 3b2e0da..90b96d2 100755
--- a/shim.sym
+++ b/shim.sym
@@ -1,25 +1,4 @@
-02:4000 Function8000
-02:4098 _InitializeVisibleSprites
-02:4125 Function8125
-02:4131 Function8131
-02:413D Function813d
-02:424C Function824c
-02:43E8 Function83e8
-02:45DF QueueFollowerFirstStep
-02:462E Function862e
-02:46CB FlyMap
-02:4786 Function8786
-02:4856 DecompTownMapTilemap
-02:48DA DecompTownMapTilemap.tilemap
-02:4AAB OpenPokegear
-02:4C7C DrawMap
-02:4DC2 TownMapGfx
-02:4F32 PokegearRadioGfx
-02:51D2 SetTitleBGDecorationBorder
-02:528B Function928b
-02:5695 CheckSGB
-02:56eb Function96eb
-
+03:477D Functionc77d
03:47D5 SpawnPoints
03:488D Tilesets
03:54E6 Functiond4e6
@@ -107,6 +86,7 @@
0F:691E Function3e91e
0F:6963 Function3e963
0F:69A9 _LoadWildMons
+0F:69DC Function3e9dc
0F:6E3E Function3ee3e
0F:6F19 Function3ef19
0F:7019 PlaceGraphic
diff --git a/wram.asm b/wram.asm
index eaec8b7..fce4774 100644
--- a/wram.asm
+++ b/wram.asm
@@ -110,6 +110,10 @@ wc40e:: ds 1 ; c40e
wSpriteAnimIDBuffer:: db ; c4c0
+ ds 89
+
+wc51a:: ds 1 ; c51a
+
ENDU
@@ -190,18 +194,25 @@ wBattleAnimEnd::
wBattleMonNickname:: ds 6 ; c9f6
wEnemyMonNickname:: ds 6 ; c9fc
- ds 2
-
+wca02:: ds 1 ; ca02
+wca03:: ds 1 ; ca03
wca04:: ds 1 ; ca04
- ds 5
-
+ ds 3
+
+wca08:: ds 1 ; ca08
+wca09:: ds 1 ; ca09
wca0a:: ds 1 ; ca0a
ds $32 ; TODO
wPlayerSubStatus3:: db ; ca3d
- ds $4
+
+wca3e:: ds 1 ; ca3e
+wca3f:: ds 1 ; ca3f
+wca40:: ds 1 ; ca40
+wca41:: ds 1 ; ca41
+
wEnemySubStatus3:: db ; ca42
wca43:: db ; ca43
@@ -215,9 +226,15 @@ wTrainerClass:: ; ca57
ds $6b
wLinkBattleRNCount:: db ; cac3
+ ds 29
+
+wcae1:: ds 1 ; cae1
+
ENDU
+
+
SECTION "CB14", WRAM0[$CB14]
UNION
@@ -254,9 +271,8 @@ SECTION "CB5E", WRAM0[$CB5E]
wJumptableIndex:: db ; cb5e
wFlyDestination:: db ; cb5f
- ds 2
-
-SECTION "CB62", WRAM0[$CB62]
+wcb60:: ds 1 ; cb60
+wcb61:: ds 1 ; cb61
wVBCopySize:: ds 1 ; cb62
wVBCopySrc:: ds 2 ; cb63
@@ -413,6 +429,35 @@ SECTION "CCCE", WRAM0[$CCCE]
wDisableVBlankWYUpdate:: db ; ccce
wSGB:: db
+SECTION "CCD0", WRAM0[$CCD0]
+
+wccd0:: ds 1 ; ccd0
+wccd1:: ds 1 ; ccd1
+wccd2:: ds 1 ; ccd2
+wccd3:: ds 1 ; ccd3
+
+ ds 5
+
+wccd9:: ds 1 ; ccd9
+
+SECTION "CCE1", WRAM0[$CCE1]
+
+wcce1:: ds 1 ; cce1
+wcce2:: ds 1 ; cce2
+wcce3:: ds 1 ; cce3
+wcce4:: ds 1 ; cce4
+
+ ds 6
+
+wcceb:: ds 1 ; cceb
+
+ ds 5
+
+wccf1:: ds 1 ; ccf1
+wccf2:: ds 1 ; ccf2
+wccf3:: ds 1 ; ccf3
+wccf4:: ds 1 ; ccf4
+
SECTION "CD11", WRAM0[$CD11]
wcd11:: ds 1 ; cd11
@@ -547,8 +592,11 @@ wHPBarHPDifference:: dw ; cdcb
wLinkBattleRNs:: ds 10 ; cdcd
-wcdd7:: db ; cdd7
-; cddd
+wcdd7:: ds 1 ; cdd7
+
+ ds 7
+
+wcddf:: ds 1 ; cddf
SECTION "CE00", WRAM0[$CE00]
@@ -906,7 +954,10 @@ wBGMapAnchor:: ; d643
wUsedSprites:: ; d645
dw ; This is for the player
+
+wUsedNPCSprites:: ;d647
ds 2 * 5 ; This is for the NPCs
+
wUsedSpritesEnd:: ; d651