shithub: pokered

Download patch

ref: 4f7a07efa9e93d491c6efcc14994b19cd794d3f6
parent: 8cf4620deb07e53d7a419016080b8c10ed253733
author: Bryan Bishop <kanzure@gmail.com>
date: Wed Jan 25 17:33:42 EST 2012

rename common.asm -> main.asm

hg-commit-id: adec8319c54b


--- a/Makefile
+++ b/Makefile
@@ -8,10 +8,10 @@
 
 all: pokered.gbc
 
-pokered.o: pokered.asm common.tx constants.asm ${TEXTFILES}
+pokered.o: pokered.asm main.tx constants.asm ${TEXTFILES}
 	rgbasm -o pokered.o pokered.asm
 	
-pokeblue.o: pokeblue.asm common.tx constants.asm ${TEXTFILES}
+pokeblue.o: pokeblue.asm main.tx constants.asm ${TEXTFILES}
 	rgbasm -o pokeblue.o pokeblue.asm
 
 redrle: extras/redrle.c
@@ -30,6 +30,6 @@
 	rgbfix -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" $@
 
 clean:
-	rm -f common.tx pokered.o pokered.gbc pokeblue.o pokeblue.gbc redrle ${TEXTFILES}
+	rm -f main.tx pokered.o pokered.gbc pokeblue.o pokeblue.gbc redrle ${TEXTFILES}
 
 more: pokered.gbc pokeblue.gbc
--- a/common.asm
+++ /dev/null
@@ -1,72641 +1,0 @@
-INCLUDE "constants.asm"
-
-; the rst vectors are unused
-SECTION "rst00",HOME[0]
-	db $FF
-SECTION "rst08",HOME[8]
-	db $FF
-SECTION "rst10",HOME[$10]
-	db $FF
-SECTION "rst18",HOME[$18]
-	db $FF
-SECTION "rst20",HOME[$20]
-	db $FF
-SECTION "rst28",HOME[$28]
-	db $FF
-SECTION "rst30",HOME[$30]
-	db $FF
-SECTION "rst38",HOME[$38]
-	db $FF
-
-; interrupts
-SECTION "vblank",HOME[$40]
-	jp $2024
-SECTION "lcdc",HOME[$48]
-	db $FF
-SECTION "timer",HOME[$50]
-	jp $2306
-SECTION "serial",HOME[$58]
-	jp $2125
-SECTION "joypad",HOME[$60]
-	reti
-
-SECTION "bank0",HOME[$61]
-
-DisableLCD: ; $0061
-	xor a
-	ld [$ff0f],a
-	ld a,[$ffff]
-	ld b,a
-	res 0,a
-	ld [$ffff],a
-.jr0\@
-	ld a,[$ff44]
-	cp a,$91
-	jr nz,.jr0\@
-	ld a,[$ff40]
-	and a,$7f	; res 7,a
-	ld [$ff40],a
-	ld a,b
-	ld [$ffff],a
-	ret
-
-EnableLCD: ; $007b
-	ld a,[$ff40]
-	set 7,a
-	ld [$ff40],a
-	ret
-
-CleanLCD_OAM: ; $0082
-	xor a
-	ld hl,$c300
-	ld b,$a0
-.jr0\@
-	ld [hli],a
-	dec b
-	jr nz,.jr0\@
-	ret
-
-ResetLCD_OAM: ; $008d
-	ld a,$a0
-	ld hl,$c300
-	ld de,$0004
-	ld b,$28
-.jr0\@
-	ld [hl],a
-	add hl,de
-	dec b
-	jr nz,.jr0\@
-	ret
-
-FarCopyData: ; 009D
-; copy bc bytes of data from a:hl to de
-	ld [$CEE9],a ; save future bank # for later
-	ld a,[$FFB8] ; get current bank #
-	push af
-	ld a,[$CEE9] ; get future bank #, switch
-	ld [$FFB8],a
-	ld [$2000],a
-	call CopyData
-	pop af       ; okay, done, time to switch back
-	ld [$FFB8],a
-	ld [$2000],a
-	ret
-CopyData: ; 00B5
-; copy bc bytes of data from hl to de
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec bc
-	ld a,c
-	or b
-	jr nz,CopyData
-	ret
-
-SECTION "romheader",HOME[$100]
-nop
-jp Start
-
-Section "start",HOME[$150]
-Start: ; 0x150
-	cp $11 ; value that indicates Gameboy Color
-	jr z,.gbcDetected\@
-	xor a
-	jr .storeValue\@
-.gbcDetected\@
-	ld a,$00
-.storeValue\@
-	ld [$cf1a],a ; same value ($00) either way
-	jp InitGame
-
-; this function directly reads the joypad I/O register
-; it reads many times in order to give the joypad a chance to stabilize
-; it saves a result in [$fff8] in the following format
-; (set bit indicates pressed button)
-; bit 0 - A button
-; bit 1 - B button
-; bit 2 - Select button
-; bit 3 - Start button
-; bit 4 - Right
-; bit 5 - Left
-; bit 6 - Up
-; bit 7 - Down
-ReadJoypadRegister: ; 15F
-	ld a,%00100000 ; select direction keys
-	ld c,$00
-	ld [rJOYP],a
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	cpl ; complement the result so that a set bit indicates a pressed key
-	and a,%00001111
-	swap a ; put direction keys in upper nibble
-	ld b,a
-	ld a,%00010000 ; select button keys
-	ld [rJOYP],a
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	ld a,[rJOYP]
-	cpl ; complement the result so that a set bit indicates a pressed key
-	and a,%00001111
-	or b ; put button keys in lower nibble
-	ld [$fff8],a ; save joypad state
-	ld a,%00110000 ; unselect all keys
-	ld [rJOYP],a
-	ret
-
-; function to update the joypad state variables
-; output:
-; [$ffb2] = keys released since last time
-; [$ffb3] = keys pressed since last time
-; [$ffb4] = currently pressed keys
-GetJoypadState: ; 19A
-	ld a, [$ffb8]
-	push af
-	ld a,$3
-	ld [$ffb8],a
-	ld [$2000],a
-	call $4000
-	pop af
-	ld [$ff00+$b8],a
-	ld [$2000],a
-	ret
-
-; see also MapHeaderBanks
-MapHeaderPointers: ; $01AE
-	dw PalletTown_h
-	dw ViridianCity_h
-	dw PewterCity_h
-	dw CeruleanCity_h
-	dw LavenderTown_h
-	dw VermilionCity_h
-	dw CeladonCity_h
-	dw FuchsiaCity_h
-	dw CinnabarIsland_h
-	dw IndigoPlateau_h
-	dw SaffronCity_h
-	dw SaffronCity_h
-	dw Route1_h
-	dw Route2_h
-	dw Route3_h
-	dw Route4_h
-	dw Route5_h
-	dw Route6_h
-	dw Route7_h
-	dw Route8_h
-	dw Route9_h
-	dw Route10_h
-	dw Route11_h
-	dw Route12_h
-	dw Route13_h
-	dw Route14_h
-	dw Route15_h
-	dw Route16_h
-	dw Route17_h
-	dw Route18_h
-	dw Route19_h
-	dw Route20_h
-	dw Route21_h
-	dw Route22_h
-	dw Route23_h
-	dw Route24_h
-	dw Route25_h
-	dw RedsHouse1F_h
-	dw RedsHouse2F_h
-	dw BluesHouse_h
-	dw OaksLab_h ;id=40
-	dw ViridianPokecenter_h
-	dw ViridianMart_h
-	dw School_h
-	dw ViridianHouse_h
-	dw ViridianGym_h
-	dw DiglettsCaveRoute2_h
-	dw ViridianForestexit_h
-	dw Route2House_h
-	dw Route2Gate_h
-	dw ViridianForestEntrance_h ;id=50
-	dw ViridianForest_h
-	dw MuseumF1_h
-	dw MuseumF2_h
-	dw PewterGym_h
-	dw PewterHouse1_h
-	dw PewterMart_h
-	dw PewterHouse2_h
-	dw PewterPokecenter_h
-	dw MtMoon1_h
-	dw MtMoon2_h ;id=60
-	dw MtMoon3_h
-	dw CeruleanHouseTrashed_h
-	dw CeruleanHouse2_h
-	dw CeruleanPokecenter_h
-	dw CeruleanGym_h
-	dw BikeShop_h
-	dw CeruleanMart_h
-	dw MtMoonPokecenter_h
-	dw CeruleanHouseTrashed_h ; copy
-	dw Route5Gate_h
-	dw UndergroundTunnelEntranceRoute5_h
-	dw DayCareM_h
-	dw Route6Gate_h
-	dw UndergroundTunnelEntranceRoute6_h
-	dw UndergroundTunnelEntranceRoute6_h ; unused
-	dw Route7Gate_h
-	dw UndergroundPathEntranceRoute7_h
-	dw $575d
-	dw Route8Gate_h
-	dw UndergroundPathEntranceRoute8_h ;id=80
-	dw RockTunnelPokecenter_h
-	dw RockTunnel1_h
-	dw PowerPlant_h
-	dw Route11Gate_h
-	dw DiglettsCaveEntranceRoute11_h
-	dw Route11GateUpstairs_h
-	dw Route12Gate_h
-	dw BillsHouse_h
-	dw VermilionPokecenter_h
-	dw FanClub_h ;id=90
-	dw VermilionMart_h
-	dw VermilionGym_h
-	dw VermilionHouse1_h
-	dw VermilionDock_h
-	dw SSAnne1_h
-	dw SSAnne2_h
-	dw SSAnne3_h
-	dw SSAnne4_h
-	dw SSAnne5_h
-	dw SSAnne6_h ;id=100
-	dw SSAnne7_h
-	dw SSAnne8_h
-	dw SSAnne9_h
-	dw SSAnne10_h
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw VictoryRoad1_h
-	dw Lance_h ; unused
-	dw Lance_h ; unused ;id=110
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw HallofFameRoom_h
-	dw UndergroundPathNS_h
-	dw Gary_h ;id=120
-	dw UndergroundPathWE_h
-	dw CeladonMart1_h
-	dw CeladonMart2_h
-	dw CeladonMart3_h
-	dw CeladonMart4_h
-	dw CeladonMartRoof_h
-	dw CeladonMartElevator_h
-	dw CeladonMansion1_h
-	dw CeladonMansion2_h
-	dw CeladonMansion3_h ;id=130
-	dw CeladonMansion4_h
-	dw CeladonMansion5_h
-	dw CeladonPokecenter_h
-	dw CeladonGym_h
-	dw CeladonGameCorner_h
-	dw CeladonMart5_h
-	dw CeladonPrizeRoom_h
-	dw CeladonDiner_h
-	dw CeladonHouse_h
-	dw CeladonHotel_h ;id=140
-	dw LavenderPokecenter_h
-	dw PokemonTower1_h
-	dw PokemonTower2_h
-	dw PokemonTower3_h
-	dw PokemonTower4_h
-	dw PokemonTower5_h
-	dw PokemonTower6_h
-	dw PokemonTower7_h
-	dw LavenderHouse1_h
-	dw LavenderMart_h ;id=150
-	dw LavenderHouse2_h
-	dw FuchsiaMart_h
-	dw FuchsiaHouse1_h
-	dw FuchsiaPokecenter_h
-	dw FuchsiaHouse2_h
-	dw SafariZoneEntrance_h
-	dw FuchsiaGym_h
-	dw FuchsiaMeetingRoom_h
-	dw SeafoamIslands2_h
-	dw SeafoamIslands3_h ;id=160
-	dw SeafoamIslands4_h
-	dw SeafoamIslands5_h
-	dw VermilionHouse2_h
-	dw FuchsiaHouse3_h
-	dw Mansion1_h
-	dw CinnabarGym_h
-	dw Lab1_h
-	dw Lab2_h
-	dw Lab3_h
-	dw Lab4_h ;id=170
-	dw CinnabarPokecenter_h
-	dw CinnabarMart_h
-	dw CinnabarMart_h ; unused
-	dw IndigoPlateauLobby_h
-	dw CopycatsHouseF1_h
-	dw CopycatsHouseF2_h
-	dw FightingDojo_h
-	dw SaffronGym_h
-	dw SaffronHouse1_h
-	dw SaffronMart_h ;id=180
-	dw SilphCo1_h
-	dw SaffronPokecenter_h
-	dw SaffronHouse2_h
-	dw Route15Gate_h
-	dw $563e
-	dw Route16GateMap_h
-	dw Route16GateUpstairs_h
-	dw Route16House_h
-	dw Route12House_h
-	dw Route18Gate_h ;id=190
-	dw Route18GateHeader_h
-	dw SeafoamIslands1_h
-	dw Route22Gate_h
-	dw VictoryRoad2_h
-	dw Route12GateUpstairs_h
-	dw VermilionHouse3_h
-	dw DiglettsCave_h
-	dw VictoryRoad3_h
-	dw RocketHideout1_h
-	dw RocketHideout2_h ;200
-	dw RocketHideout3_h
-	dw RocketHideout4_h
-	dw RocketHideoutElevator_h
-	dw RocketHideoutElevator_h ; unused
-	dw RocketHideoutElevator_h ; unused
-	dw RocketHideoutElevator_h ; unused
-	dw SilphCo2_h
-	dw SilphCo3_h
-	dw SilphCo4_h
-	dw SilphCo5_h ;210
-	dw SilphCo6_h
-	dw SilphCo7_h
-	dw SilphCo8_h
-	dw Mansion2_h
-	dw Mansion3_h
-	dw Mansion4_h
-	dw SafariZoneEast_h
-	dw SafariZoneNorth_h
-	dw SafariZoneWest_h
-	dw SafariZoneCenter_h ;220
-	dw SafariZoneRestHouse1_h
-	dw SafariZoneSecretHouse_h
-	dw SafariZoneRestHouse2_h
-	dw SafariZoneRestHouse3_h
-	dw SafariZoneRestHouse4_h
-	dw UnknownDungeon2_h
-	dw UnknownDungeon3_h
-	dw UnknownDungeon1_h
-	dw NameRater_h
-	dw CeruleanHouse3_h
-	dw Route16GateMap_h ; unused
-	dw RockTunnel2_h
-	dw SilphCo9_h
-	dw SilphCo10_h
-	dw SilphCo11_h
-	dw SilphCoElevator_h
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw BattleCenterM_h
-	dw TradeCenterM_h
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw Lorelei_h
-	dw Bruno_h
-	dw Agatha_h ;247
-
-; this function calls a function that takes necessary actions
-; at the beginning of each overworld loop iteration as the player jumps
-; down a ledge
-; it also ends the jump when it's completed
-HandleMidJump: ; 39E
-	ld b,$1c
-	ld hl,$487e
-	jp Bankswitch
-
-; this is jumped to immediately after loading a save / starting a new game / loading a new map
-EnterMap: ; 3A6
-	ld a,$ff
-	ld [$cd6b],a
-	call LoadMapData ; load map data
-	ld b,$03
-	ld hl,$4335
-	call Bankswitch ; initialize some variables
-	ld hl,$d72c
-	bit 0,[hl]
-	jr z,.doNotCountSteps\@
-	ld a,$03
-	ld [$d13c],a ; some kind of step counter (counts up to 3 steps?)
-.doNotCountSteps\@
-	ld hl,$d72e
-	bit 5,[hl] ; did a battle happen immediately before this?
-	res 5,[hl] ; unset the "battle just happened" flag
-	call z,$12e7
-	call nz,MapEntryAfterBattle
-	ld hl,$d732
-	ld a,[hl]
-	and a,$18
-	jr z,.didNotFlyOrTeleportIn\@
-	res 3,[hl]
-	ld b,$1c
-	ld hl,$4510
-	call Bankswitch ; display fly/teleport in graphical effect
-	call $2429 ; move sprites
-.didNotFlyOrTeleportIn\@
-	ld b,$03
-	ld hl,$438b
-	call Bankswitch ; handle currents in SF islands and forced bike riding in cycling road
-	ld hl,$d72d
-	res 5,[hl]
-	call $2429 ; move sprites
-	ld hl,$d126
-	set 5,[hl]
-	set 6,[hl]
-	xor a
-	ld [$cd6b],a
-
-OverworldLoop: ; 3FF
-	call DelayFrame
-OverworldLoopLessDelay: ; 402
-	call DelayFrame
-	call LoadGBPal
-	ld a,[$d736]
-	bit 6,a ; jumping down a ledge?
-	call nz, HandleMidJump
-	ld a,[W_WALKCOUNTER]
-	and a
-	jp nz,.moveAhead\@ ; if the player sprite has not yet completed the walking animation
-	call GetJoypadStateOverworld ; get joypad state (which is possibly simulated)
-	ld b,$07
-	ld hl,$6988
-	call Bankswitch
-	ld a,[$da46]
-	and a
-	jp nz,WarpFound2
-	ld hl,$d72d
-	bit 3,[hl]
-	res 3,[hl]
-	jp nz,WarpFound2
-	ld a,[$d732]
-	and a,$18
-	jp nz,HandleFlyOrTeleportAway
-	ld a,[W_CUROPPONENT]
-	and a
-	jp nz,.newBattle\@
-	ld a,[$d730]
-	bit 7,a ; are we simulating button presses?
-	jr z,.notSimulating\@
-	ld a,[$ffb4]
-	jr .checkIfStartIsPressed\@
-.notSimulating\@
-	ld a,[$ffb3]
-.checkIfStartIsPressed\@
-	bit 3,a ; start button
-	jr z,.startButtonNotPressed\@
-; if START is pressed
-	xor a
-	ld [$ff8c],a ; the $2920 ID for the start menu is 0
-	jp .displayDialogue\@
-.startButtonNotPressed\@
-	bit 0,a ; A button
-	jp z,.checkIfDownButtonIsPressed\@
-; if A is pressed
-	ld a,[$d730]
-	bit 2,a
-	jp nz,.noDirectionButtonsPressed\@
-	call $30fd
-	jr nz,.checkForOpponent\@
-	call $3eb5 ; check for hidden items, PC's, etc.
-	ld a,[$ffeb]
-	and a
-	jp z,OverworldLoop
-	call IsSpriteOrSignInFrontOfPlayer ; check for sign or sprite in front of the player
-	ld a,[$ff8c] ; $2920 ID for NPC/sign text, if any
-	and a
-	jp z,OverworldLoop
-.displayDialogue\@
-	ld a,$35
-	call Predef ; check what is in front of the player
-	call $2429 ; move sprites
-	ld a,[$cd60]
-	bit 2,a
-	jr nz,.checkForOpponent\@
-	bit 0,a
-	jr nz,.checkForOpponent\@
-	ld a,[$c45c]
-	ld [$cf0e],a
-	call $2920 ; display either the start menu or the NPC/sign text
-	ld a,[$cc47]
-	and a
-	jr z,.checkForOpponent\@
-	dec a
-	ld a,$00
-	ld [$cc47],a
-	jr z,.changeMap\@
-	ld a,$52
-	call Predef
-	ld a,[W_CURMAP]
-	ld [$d71a],a
-	call $62ce
-	ld a,[W_CURMAP]
-	call SwitchToMapRomBank ; switch to the ROM bank of the current map
-	ld hl,$d367
-	set 7,[hl]
-.changeMap\@
-	jp EnterMap
-.checkForOpponent\@
-	ld a,[W_CUROPPONENT]
-	and a
-	jp nz,.newBattle\@
-	jp OverworldLoop
-.noDirectionButtonsPressed\@
-	ld hl,$cd60
-	res 2,[hl]
-	call $2429 ; move sprites
-	ld a,$01
-	ld [$cc4b],a
-	ld a,[$d528] ; the direction that was pressed last time
-	and a
-	jp z,OverworldLoop
-; if a direction was pressed last time
-	ld [$d529],a ; save the last direction
-	xor a
-	ld [$d528],a ; zero the direction
-	jp OverworldLoop
-.checkIfDownButtonIsPressed\@
-	ld a,[$ffb4] ; current joypad state
-	bit 7,a ; down button
-	jr z,.checkIfUpButtonIsPressed\@
-	ld a,$01
-	ld [$c103],a
-	ld a,$04
-	jr .handleDirectionButtonPress\@
-.checkIfUpButtonIsPressed\@
-	bit 6,a ; up button
-	jr z,.checkIfLeftButtonIsPressed\@
-	ld a,$ff
-	ld [$c103],a
-	ld a,$08
-	jr .handleDirectionButtonPress\@
-.checkIfLeftButtonIsPressed\@
-	bit 5,a ; left button
-	jr z,.checkIfRightButtonIsPressed\@
-	ld a,$ff
-	ld [$c105],a
-	ld a,$02
-	jr .handleDirectionButtonPress\@
-.checkIfRightButtonIsPressed\@
-	bit 4,a ; right button
-	jr z,.noDirectionButtonsPressed\@
-	ld a,$01
-	ld [$c105],a
-.handleDirectionButtonPress\@
-	ld [$d52a],a ; new direction
-	ld a,[$d730]
-	bit 7,a ; are we simulating button presses?
-	jr nz,.noDirectionChange\@ ; ignore direction changes if we are
-	ld a,[$cc4b]
-	and a
-	jr z,.noDirectionChange\@
-	ld a,[$d52a] ; new direction
-	ld b,a
-	ld a,[$d529] ; old direction
-	cp b
-	jr z,.noDirectionChange\@
-; the code below is strange
-; it computes whether or not the player did a 180 degree turn, but then overwrites the result
-; also, it does a seemingly pointless loop afterwards
-	swap a ; put old direction in upper half
-	or b ; put new direction in lower half
-	cp a,$48 ; change dir from down to up
-	jr nz,.notDownToUp\@
-	ld a,$02
-	ld [$d528],a
-	jr .oddLoop\@
-.notDownToUp\@
-	cp a,$84 ; change dir from up to down
-	jr nz,.notUpToDown\@
-	ld a,$01
-	ld [$d528],a
-	jr .oddLoop\@
-.notUpToDown\@
-	cp a,$12 ; change dir from right to left
-	jr nz,.notRightToLeft\@
-	ld a,$04
-	ld [$d528],a
-	jr .oddLoop\@
-.notRightToLeft\@
-	cp a,$21 ; change dir from left to right
-	jr nz,.oddLoop\@
-	ld a,$08
-	ld [$d528],a
-.oddLoop\@
-	ld hl,$cd60
-	set 2,[hl]
-	ld hl,$cc4b
-	dec [hl]
-	jr nz,.oddLoop\@
-	ld a,[$d52a]
-	ld [$d528],a
-	call NewBattle
-	jp c,.battleOccurred\@
-	jp OverworldLoop
-.noDirectionChange\@
-	ld a,[$d52a] ; current direction
-	ld [$d528],a ; save direction
-	call $2429 ; move sprites
-	ld a,[$d700]
-	cp a,$02 ; surfing
-	jr z,.surfing\@
-; not surfing
-	call CollisionCheckOnLand
-	jr nc,.noCollision\@
-	push hl
-	ld hl,$d736
-	bit 2,[hl]
-	pop hl
-	jp z,OverworldLoop
-	push hl
-	call ExtraWarpCheck ; sets carry if there is a potential to warp
-	pop hl
-	jp c,CheckWarpsCollision
-	jp OverworldLoop
-.surfing\@
-	call CollisionCheckOnWater
-	jp c,OverworldLoop
-.noCollision\@
-	ld a,$08
-	ld [W_WALKCOUNTER],a
-	jr .moveAhead2\@
-.moveAhead\@
-	ld a,[$d736]
-	bit 7,a
-	jr z,.noSpinning\@
-	ld b,$11
-	ld hl,$4fd7
-	call Bankswitch ; spin while moving
-.noSpinning\@
-	call $2429 ; move sprites
-.moveAhead2\@
-	ld hl,$cd60
-	res 2,[hl]
-	ld a,[$d700]
-	dec a ; riding a bike?
-	jr nz,.normalPlayerSpriteAdvancement\@
-	ld a,[$d736]
-	bit 6,a ; jumping a ledge?
-	jr nz,.normalPlayerSpriteAdvancement\@
-	call BikeSpeedup ; if riding a bike and not jumping a ledge
-.normalPlayerSpriteAdvancement\@
-	call AdvancePlayerSprite
-	ld a,[W_WALKCOUNTER]
-	and a
-	jp nz,CheckMapConnections ; it seems like this check will never succeed (the other place where CheckMapConnections is run works)
-; walking animation finished
-	ld a,[$d730]
-	bit 7,a
-	jr nz,.doneStepCounting\@ ; if button presses are being simulated, don't count steps
-; step counting
-	ld hl,$d13b ; step counter
-	dec [hl]
-	ld a,[$d72c]
-	bit 0,a
-	jr z,.doneStepCounting\@
-	ld hl,$d13c
-	dec [hl]
-	jr nz,.doneStepCounting\@
-	ld hl,$d72c
-	res 0,[hl]
-.doneStepCounting\@
-	ld a,[$d790]
-	bit 7,a ; in the safari zone?
-	jr z,.notSafariZone\@
-	ld b,$07
-	ld hl,$6997
-	call Bankswitch
-	ld a,[$da46]
-	and a
-	jp nz,WarpFound2
-.notSafariZone\@
-	ld a,[W_ISINBATTLE]
-	and a
-	jp nz,CheckWarpsNoCollision
-	ld a,$13
-	call Predef ; decrement HP of poisoned pokemon
-	ld a,[$d12d]
-	and a
-	jp nz,HandleBlackOut ; if all pokemon fainted
-.newBattle\@
-	call NewBattle
-	ld hl,$d736
-	res 2,[hl]
-	jp nc,CheckWarpsNoCollision ; check for warps if there was no battle
-.battleOccurred\@
-	ld hl,$d72d
-	res 6,[hl]
-	ld hl,$d733
-	res 3,[hl]
-	ld hl,$d126
-	set 5,[hl]
-	set 6,[hl]
-	xor a
-	ld [$ffb4],a ; clear joypad state
-	ld a,[W_CURMAP]
-	cp a,CINNABAR_GYM
-	jr nz,.notCinnabarGym\@
-	ld hl,$d79b
-	set 7,[hl]
-.notCinnabarGym\@
-	ld hl,$d72e
-	set 5,[hl]
-	ld a,[W_CURMAP]
-	cp a,OAKS_LAB
-	jp z,.noFaintCheck\@
-	ld hl,$4a83
-	ld b,$0f
-	call Bankswitch ; check if all the player's pokemon fainted
-	ld a,d
-	and a
-	jr z,.allPokemonFainted\@
-.noFaintCheck\@
-	ld c,$0a
-	call DelayFrames
-	jp EnterMap
-.allPokemonFainted\@
-	ld a,$ff
-	ld [$d057],a
-	call RunMapScript
-	jp HandleBlackOut
-
-; function to determine if there will be a battle and execute it (either a trainer battle or wild battle)
-; sets carry if a battle occurred and unsets carry if not
-NewBattle: ; 683
-	ld a,[$d72d]
-	bit 4,a
-	jr nz,.noBattle\@
-	call $30fd
-	jr nz,.noBattle\@
-	ld a,[$d72e]
-	bit 4,a
-	jr nz,.noBattle\@
-	ld b,$0f
-	ld hl,$6f12
-	jp Bankswitch ; determines if a battle will occurr and runs the battle if so
-.noBattle\@
-	and a
-	ret
-
-; function to make bikes twice as fast as walking
-BikeSpeedup: ; 6A0
-	ld a,[$cc57]
-	and a
-	ret nz
-	ld a,[W_CURMAP]
-	cp a,ROUTE_17 ; Cycling Road
-	jr nz,.goFaster\@
-	ld a,[$ffb4] ; current joypad state
-	and a,%01110000 ; bit mask for up, left, right buttons
-	ret nz
-.goFaster\@
-	jp AdvancePlayerSprite
-
-; check if the player has stepped onto a warp after having not collided
-CheckWarpsNoCollision: ; 6B4
-	ld a,[$d3ae] ; number of warps
-	and a
-	jp z,CheckMapConnections
-	ld a,[$d3ae] ; number of warps
-	ld b,$00
-	ld c,a
-	ld a,[W_YCOORD]
-	ld d,a
-	ld a,[W_XCOORD]
-	ld e,a
-	ld hl,$d3af ; start of warp entries
-CheckWarpsNoCollisionLoop: ; 6CC
-	ld a,[hli] ; check if the warp's Y position matches
-	cp d
-	jr nz,CheckWarpsNoCollisionRetry1
-	ld a,[hli] ; check if the warp's X position matches
-	cp e
-	jr nz,CheckWarpsNoCollisionRetry2
-; if a match was found
-	push hl
-	push bc
-	ld hl,$d736
-	set 2,[hl]
-	ld b,$03
-	ld hl,$449d
-	call Bankswitch ; check if the player sprite is standing on a "door" tile
-	pop bc
-	pop hl
-	jr c,WarpFound1 ; if it is, go to 0735
-	push hl
-	push bc
-	call ExtraWarpCheck ; sets carry if the warp is confirmed
-	pop bc
-	pop hl
-	jr nc,CheckWarpsNoCollisionRetry2
-; if the extra check passed
-	ld a,[$d733]
-	bit 2,a
-	jr nz,WarpFound1
-	push de
-	push bc
-	call GetJoypadState
-	pop bc
-	pop de
-	ld a,[$ffb4] ; current joypad state
-	and a,%11110000 ; bit mask for directional buttons
-	jr z,CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp
-	jr WarpFound1
-
-; check if the player has stepped onto a warp after having collided
-CheckWarpsCollision: ; 706
-	ld a,[$d3ae] ; number of warps
-	ld c,a
-	ld hl,$d3af ; start of warp entries
-.loop\@
-	ld a,[hli] ; Y coordinate of warp
-	ld b,a
-	ld a,[W_YCOORD]
-	cp b
-	jr nz,.retry1\@
-	ld a,[hli] ; X coordinate of warp
-	ld b,a
-	ld a,[W_XCOORD]
-	cp b
-	jr nz,.retry2\@
-	ld a,[hli]
-	ld [$d42f],a ; save target warp ID
-	ld a,[hl]
-	ld [$ff8b],a ; save target map
-	jr WarpFound2
-.retry1\@
-	inc hl
-.retry2\@
-	inc hl
-	inc hl
-	dec c
-	jr nz,.loop\@
-	jp OverworldLoop
-
-CheckWarpsNoCollisionRetry1: ; 72F
-	inc hl
-CheckWarpsNoCollisionRetry2: ; 730
-	inc hl
-	inc hl
-	jp ContinueCheckWarpsNoCollisionLoop
-
-WarpFound1: ; 735
-	ld a,[hli]
-	ld [$d42f],a ; save target warp ID
-	ld a,[hli]
-	ld [$ff8b],a ; save target map
-
-WarpFound2: ; 73C
-	ld a,[$d3ae] ; number of warps
-	sub c
-	ld [$d73b],a ; save ID of used warp
-	ld a,[W_CURMAP]
-	ld [$d73c],a
-	call CheckIfInOutsideMap ; check if the tileset number is 0 or the map is Route 12
-	jr nz,.indoorMaps\@
-; this is for handling "outside" maps that can't have the 0xFF destination map
-	ld a,[W_CURMAP]
-	ld [$d365],a ; save current map as previous map
-	ld a,[W_CURMAPWIDTH]
-	ld [$d366],a
-	ld a,[$ff8b] ; destination map number
-	ld [W_CURMAP],a ; change current map to destination map
-	cp a,ROCK_TUNNEL_1
-	jr nz,.notRockTunnel\@
-	ld a,$06
-	ld [$d35d],a
-	call GBFadeIn1
-.notRockTunnel\@
-	call PlayMapChangeSound
-	jr .done\@
-; for maps that can have the 0xFF destination map, which means to return to the outside map; not all these maps are necessarily indoors, though
-.indoorMaps\@
-	ld a,[$ff8b] ; destination map
-	cp a,$ff
-	jr z,.goBackOutside\@
-; if not going back to the previous map
-	ld [W_CURMAP],a ; current map number
-	ld b,$1c
-	ld hl,$4787
-	call Bankswitch ; check if the warp was a Silph Co. teleporter
-	ld a,[$cd5b]
-	dec a
-	jr nz,.notTeleporter\@
-; if it's a Silph Co. teleporter
-	ld hl,$d732
-	set 3,[hl]
-	call DoFlyOrTeleportAwayGraphics
-	jr .skipMapChangeSound\@
-.notTeleporter\@
-	call PlayMapChangeSound
-.skipMapChangeSound\@
-	ld hl,$d736
-	res 0,[hl]
-	res 1,[hl]
-	jr .done\@
-.goBackOutside\@
-	ld a,[$d365] ; previous map
-	ld [W_CURMAP],a
-	call PlayMapChangeSound
-	xor a
-	ld [$d35d],a
-.done\@
-	ld hl,$d736
-	set 0,[hl]
-	call $12da
-	jp EnterMap
-
-ContinueCheckWarpsNoCollisionLoop: ; 7B5
-	inc b ; increment warp number
-	dec c ; decrement number of warps
-	jp nz,CheckWarpsNoCollisionLoop
-
-; if no matching warp was found
-CheckMapConnections: ; 7BA
-.checkWestMap\@
-	ld a,[W_XCOORD]
-	cp a,$ff
-	jr nz,.checkEastMap\@
-	ld a,[$d387]
-	ld [W_CURMAP],a
-	ld a,[$d38f] ; new X coordinate upon entering west map
-	ld [W_XCOORD],a
-	ld a,[W_YCOORD]
-	ld c,a
-	ld a,[$d38e] ; Y adjustment upon entering west map
-	add c
-	ld c,a
-	ld [W_YCOORD],a
-	ld a,[$d390] ; pointer to upper left corner of map without adjustment for Y position
-	ld l,a
-	ld a,[$d391]
-	ld h,a
-	srl c
-	jr z,.savePointer1\@
-.pointerAdjustmentLoop1\@
-	ld a,[$d38d] ; width of connected map
-	add a,$06
-	ld e,a
-	ld d,$00
-	ld b,$00
-	add hl,de
-	dec c
-	jr nz,.pointerAdjustmentLoop1\@
-.savePointer1\@
-	ld a,l
-	ld [$d35f],a ; pointer to upper left corner of current tile block map section
-	ld a,h
-	ld [$d360],a
-	jp .loadNewMap\@
-.checkEastMap\@
-	ld b,a
-	ld a,[$d525] ; map width
-	cp b
-	jr nz,.checkNorthMap\@
-	ld a,[$d392]
-	ld [W_CURMAP],a
-	ld a,[$d39a] ; new X coordinate upon entering east map
-	ld [W_XCOORD],a
-	ld a,[W_YCOORD]
-	ld c,a
-	ld a,[$d399] ; Y adjustment upon entering east map
-	add c
-	ld c,a
-	ld [W_YCOORD],a
-	ld a,[$d39b] ; pointer to upper left corner of map without adjustment for Y position
-	ld l,a
-	ld a,[$d39c]
-	ld h,a
-	srl c
-	jr z,.savePointer2\@
-.pointerAdjustmentLoop2\@
-	ld a,[$d398]
-	add a,$06
-	ld e,a
-	ld d,$00
-	ld b,$00
-	add hl,de
-	dec c
-	jr nz,.pointerAdjustmentLoop2\@
-.savePointer2\@
-	ld a,l
-	ld [$d35f],a ; pointer to upper left corner of current tile block map section
-	ld a,h
-	ld [$d360],a
-	jp .loadNewMap\@
-.checkNorthMap\@
-	ld a,[W_YCOORD]
-	cp a,$ff
-	jr nz,.checkSouthMap\@
-	ld a,[$d371]
-	ld [W_CURMAP],a
-	ld a,[$d378] ; new Y coordinate upon entering north map
-	ld [W_YCOORD],a
-	ld a,[W_XCOORD]
-	ld c,a
-	ld a,[$d379] ; X adjustment upon entering north map
-	add c
-	ld c,a
-	ld [W_XCOORD],a
-	ld a,[$d37a] ; pointer to upper left corner of map without adjustment for X position
-	ld l,a
-	ld a,[$d37b]
-	ld h,a
-	ld b,$00
-	srl c
-	add hl,bc
-	ld a,l
-	ld [$d35f],a ; pointer to upper left corner of current tile block map section
-	ld a,h
-	ld [$d360],a
-	jp .loadNewMap\@
-.checkSouthMap\@
-	ld b,a
-	ld a,[$d524]
-	cp b
-	jr nz,.didNotEnterConnectedMap\@
-	ld a,[$d37c]
-	ld [W_CURMAP],a
-	ld a,[$d383] ; new Y coordinate upon entering south map
-	ld [W_YCOORD],a
-	ld a,[W_XCOORD]
-	ld c,a
-	ld a,[$d384] ; X adjustment upon entering south map
-	add c
-	ld c,a
-	ld [W_XCOORD],a
-	ld a,[$d385] ; pointer to upper left corner of map without adjustment for X position
-	ld l,a
-	ld a,[$d386]
-	ld h,a
-	ld b,$00
-	srl c
-	add hl,bc
-	ld a,l
-	ld [$d35f],a ; pointer to upper left corner of current tile block map section
-	ld a,h
-	ld [$d360],a
-.loadNewMap\@ ; load the connected map that was entered
-	call LoadMapHeader
-	call $2312 ; music
-	ld b,$09
-	call $3def ; SGB palette
-	ld b,$05
-	ld hl,$785b ; load tile pattern data for sprites
-	call Bankswitch
-	call LoadTileBlockMap
-	jp OverworldLoopLessDelay
-.didNotEnterConnectedMap\@
-	jp OverworldLoop
-
-; function to play a sound when changing maps
-PlayMapChangeSound: ; 8c9
-	ld a,[$c448] ; upper left tile of the 4x4 square the player's sprite is standing on
-	cp a,$0b ; door tile in tileset 0
-	jr nz,.didNotGoThroughDoor\@
-	ld a,$ad
-	jr .playSound\@
-.didNotGoThroughDoor\@
-	ld a,$b5
-.playSound\@
-	call $23b1
-	ld a,[$d35d]
-	and a
-	ret nz
-	jp GBFadeIn1
-
-; function to set the Z flag if the tileset number is 0 or the map is Route 12
-; strangely, Route 12 has tileset 0, so the check is redundant
-CheckIfInOutsideMap: ; 8E1
-	ld a,[W_CURMAPTILESET]
-	and a
-	ret z
-	cp a,ROUTE_12
-	ret
-
-; this function is an extra check that sometimes has to pass in order to warp, beyond just standing on a warp
-; the "sometimes" qualification is necessary because of CheckWarpsNoCollision's behavior
-; depending on the map, either "function 1" or "function 2" is used for the check
-; "function 1" passes when the player is at the edge of the map and is facing towards the outside of the map
-; "function 2" passes when the the tile in front of the player is among a certain set
-; sets carry if the check passes, otherwise clears carry
-ExtraWarpCheck: ; 8E9
-	ld a,[W_CURMAP]
-	cp a,SS_ANNE_3
-	jr z,.useFunction1\@
-	cp a,ROCKET_HIDEOUT_1
-	jr z,.useFunction2\@
-	cp a,ROCKET_HIDEOUT_2
-	jr z,.useFunction2\@
-	cp a,ROCKET_HIDEOUT_4
-	jr z,.useFunction2\@
-	cp a,ROCK_TUNNEL_1
-	jr z,.useFunction2\@
-	ld a,[W_CURMAPTILESET]
-	and a ; outside tileset
-	jr z,.useFunction2\@
-	cp a,$0d ; S.S. Anne tileset
-	jr z,.useFunction2\@
-	cp a,$0e ; Vermilion Port tileset
-	jr z,.useFunction2\@
-	cp a,$17 ; Indigo Plateau tileset
-	jr z,.useFunction2\@
-.useFunction1\@
-	ld hl,$43ff
-	jr .doBankswitch\@
-.useFunction2\@
-	ld hl,$444e
-.doBankswitch\@
-	ld b,$03
-	jp Bankswitch
-
-MapEntryAfterBattle: ; 91F
-	ld b,$03
-	ld hl,$435f
-	call Bankswitch ; function that appears to disable warp testing after collisions if the player is standing on a warp
-	ld a,[$d35d]
-	and a
-	jp z,GBFadeIn2
-	jp LoadGBPal
-
-; for when all the player's pokemon faint
-; other code prints the "you blacked out" message before this is called
-HandleBlackOut: ; 931
-	call GBFadeIn1
-	ld a,$08
-	call StopMusic
-	ld hl,$d72e
-	res 5,[hl]
-	ld a,$01
-	ld [$ffb8],a
-	ld [$2000],a
-	call $40b0
-	call $62ce
-	call $2312
-	jp $5d5f
-
-StopMusic: ; 951
-	ld [$cfc7],a
-	ld a,$ff
-	ld [$c0ee],a
-	call $23b1
-.waitLoop\@
-	ld a,[$cfc7]
-	and a
-	jr nz,.waitLoop\@
-	jp $200e
-
-HandleFlyOrTeleportAway: ; 965
-	call $2429 ; move sprites
-	call $3dd7
-	xor a
-	ld [$cf0b],a
-	ld [$d700],a
-	ld [$d057],a
-	ld [$d35d],a
-	ld hl,$d732
-	set 2,[hl]
-	res 5,[hl]
-	call DoFlyOrTeleportAwayGraphics
-	ld a,$01
-	ld [$ffb8],a
-	ld [$2000],a
-	call $62ce
-	jp $5d5f
-
-; function that calls a function to do fly away or teleport away graphics
-DoFlyOrTeleportAwayGraphics: ; 98F
-	ld b,$1c
-	ld hl,$45ba
-	jp Bankswitch
-
-; load sprite graphics based on whether the player is standing, biking, or surfing
-LoadPlayerSpriteGraphics: ; 997
-	ld a,[$d700]
-	dec a
-	jr z,.ridingBike\@
-	ld a,[$ffd7]
-	and a
-	jr nz,.determineGraphics\@
-	jr .startWalking\@
-.ridingBike\@
-	call IsBikeRidingAllowed
-	jr c,.determineGraphics\@ ; don't start walking if bike riding is allowed
-.startWalking\@
-	xor a
-	ld [$d700],a
-	ld [$d11a],a
-	jp LoadWalkingPlayerSpriteGraphics
-.determineGraphics\@
-	ld a,[$d700]
-	and a
-	jp z,LoadWalkingPlayerSpriteGraphics
-	dec a
-	jp z,LoadBikePlayerSpriteGraphics
-	dec a
-	jp z,LoadSurfingPlayerSpriteGraphics
-	jp LoadWalkingPlayerSpriteGraphics
-
-; function to check if bike riding is allowed on the current map
-; sets carry if bike is allowed, clears carry otherwise
-IsBikeRidingAllowed: ; 9c5
-	ld a,[W_CURMAP]
-	cp a,ROUTE_23
-	jr z,.allowed\@
-	cp a,INDIGO_PLATEAU
-	jr z,.allowed\@
-	ld a,[W_CURMAPTILESET]
-	ld b,a
-	ld hl,BikeRidingTilesets
-.loop\@
-	ld a,[hli]
-	cp b
-	jr z,.allowed\@
-	inc a
-	jr nz,.loop\@
-	and a
-	ret
-.allowed\@
-	scf
-	ret
-
-BikeRidingTilesets: ; 9E2
-db $00, $03, $0B, $0E, $11, $FF
-
-; load the tile pattern data of the current tileset into VRAM
-LoadTilesetTilePatternData: ; 9E8
-	ld a,[$d52e]
-	ld l,a
-	ld a,[$d52f]
-	ld h,a
-	ld de,$9000
-	ld bc,$0600
-	ld a,[$d52b]
-	jp $17f7
-
-; this loads the current maps complete tile map (which references blocks, not individual tiles) to C6E8
-; it can also load partial tile maps of connected maps into a border of length 3 around the current map
-LoadTileBlockMap: ; 9FC
-; fill C6E8-CBFB with the background tile
-	ld hl,$c6e8
-	ld a,[$d3ad] ; background tile number
-	ld d,a
-	ld bc,$0514
-.backgroundTileLoop\@
-	ld a,d
-	ld [hli],a
-	dec bc
-	ld a,c
-	or b
-	jr nz,.backgroundTileLoop\@
-; load tile map of current map (made of tile block IDs)
-; a 3-byte border at the edges of the map is kept so that there is space for map connections
-	ld hl,$c6e8
-	ld a,[W_CURMAPWIDTH]
-	ld [$ff8c],a
-	add a,$06 ; border (east and west)
-	ld [$ff8b],a ; map width + border
-	ld b,$00
-	ld c,a
-; make space for north border (next 3 lines)
-	add hl,bc
-	add hl,bc
-	add hl,bc
-	ld c,$03
-	add hl,bc ; this puts us past the (west) border
-	ld a,[$d36a] ; tile map pointer
-	ld e,a
-	ld a,[$d36b]
-	ld d,a ; de = tile map pointer
-	ld a,[W_CURMAPHEIGHT]
-	ld b,a
-.rowLoop\@ ; copy one row each iteration
-	push hl
-	ld a,[$ff8c] ; map width (without border)
-	ld c,a
-.rowInnerLoop\@
-	ld a,[de]
-	inc de
-	ld [hli],a
-	dec c
-	jr nz,.rowInnerLoop\@
-; add the map width plus the border to the base address of the current row to get the next row's address
-	pop hl
-	ld a,[$ff8b] ; map width + border
-	add l
-	ld l,a
-	jr nc,.noCarry\@
-	inc h
-.noCarry\@
-	dec b
-	jr nz,.rowLoop\@
-.northConnection\@
-	ld a,[$d371]
-	cp a,$ff
-	jr z,.southConnection\@
-	call SwitchToMapRomBank
-	ld a,[$d372]
-	ld l,a
-	ld a,[$d373]
-	ld h,a
-	ld a,[$d374]
-	ld e,a
-	ld a,[$d375]
-	ld d,a
-	ld a,[$d376]
-	ld [$ff8b],a
-	ld a,[$d377]
-	ld [$ff8c],a
-	call LoadNorthSouthConnectionsTileMap
-.southConnection\@
-	ld a,[$d37c]
-	cp a,$ff
-	jr z,.westConnection\@
-	call SwitchToMapRomBank
-	ld a,[$d37d]
-	ld l,a
-	ld a,[$d37e]
-	ld h,a
-	ld a,[$d37f]
-	ld e,a
-	ld a,[$d380]
-	ld d,a
-	ld a,[$d381]
-	ld [$ff8b],a
-	ld a,[$d382]
-	ld [$ff8c],a
-	call LoadNorthSouthConnectionsTileMap
-.westConnection\@
-	ld a,[$d387]
-	cp a,$ff
-	jr z,.eastConnection\@
-	call SwitchToMapRomBank
-	ld a,[$d388]
-	ld l,a
-	ld a,[$d389]
-	ld h,a
-	ld a,[$d38a]
-	ld e,a
-	ld a,[$d38b]
-	ld d,a
-	ld a,[$d38c]
-	ld b,a
-	ld a,[$d38d]
-	ld [$ff8b],a
-	call LoadEastWestConnectionsTileMap
-.eastConnection\@
-	ld a,[$d392]
-	cp a,$ff
-	jr z,.done\@
-	call SwitchToMapRomBank
-	ld a,[$d393]
-	ld l,a
-	ld a,[$d394]
-	ld h,a
-	ld a,[$d395]
-	ld e,a
-	ld a,[$d396]
-	ld d,a
-	ld a,[$d397]
-	ld b,a
-	ld a,[$d398]
-	ld [$ff8b],a
-	call LoadEastWestConnectionsTileMap
-.done\@
-	ret
-
-LoadNorthSouthConnectionsTileMap: ; ADE
-	ld c,$03
-.loop\@
-	push de
-	push hl
-	ld a,[$ff8b] ; width of connection
-	ld b,a
-.innerLoop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec b
-	jr nz,.innerLoop\@
-	pop hl
-	pop de
-	ld a,[$ff8c] ; width of connected map
-	add l
-	ld l,a
-	jr nc,.noCarry1\@
-	inc h
-.noCarry1\@
-	ld a,[W_CURMAPWIDTH]
-	add a,$06
-	add e
-	ld e,a
-	jr nc,.noCarry2\@
-	inc d
-.noCarry2\@
-	dec c
-	jr nz,.loop\@
-	ret
-
-LoadEastWestConnectionsTileMap: ; B02
-	push hl
-	push de
-	ld c,$03
-.innerLoop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec c
-	jr nz,.innerLoop\@
-	pop de
-	pop hl
-	ld a,[$ff8b] ; width of connected map
-	add l
-	ld l,a
-	jr nc,.noCarry1\@
-	inc h
-.noCarry1\@
-	ld a,[W_CURMAPWIDTH]
-	add a,$06
-	add e
-	ld e,a
-	jr nc,.noCarry2\@
-	inc d
-.noCarry2\@
-	dec b
-	jr nz,LoadEastWestConnectionsTileMap
-	ret
-
-; function to check if there is a sign or sprite in front of the player
-; if so, it is stored in [$FF8C]
-; if not, [$FF8C] is set to 0
-IsSpriteOrSignInFrontOfPlayer: ; B23
-	xor a
-	ld [$ff8c],a
-	ld a,[$d4b0] ; number of signs in the map
-	and a
-	jr z,.extendRangeOverCounter\@
-; if there are signs
-	ld a,$35
-	call Predef ; get the coordinates in front of the player in de
-	ld hl,$d4b1 ; start of sign coordinates
-	ld a,[$d4b0] ; number of signs in the map
-	ld b,a
-	ld c,$00
-.signLoop\@
-	inc c
-	ld a,[hli] ; sign Y
-	cp d
-	jr z,.yCoordMatched\@
-	inc hl
-	jr .retry\@
-.yCoordMatched\@
-	ld a,[hli] ; sign X
-	cp e
-	jr nz,.retry\@
-.xCoordMatched\@
-; found sign
-	push hl
-	push bc
-	ld hl,$d4d1 ; start of sign text ID's
-	ld b,$00
-	dec c
-	add hl,bc
-	ld a,[hl]
-	ld [$ff8c],a ; store sign text ID
-	pop bc
-	pop hl
-	ret
-.retry\@
-	dec b
-	jr nz,.signLoop\@
-; check if the player is front of a counter in a pokemon center, pokemart, etc. and if so, extend the range at which he can talk to the NPC
-.extendRangeOverCounter\@
-	ld a,$35
-	call Predef ; get the tile in front of the player in c
-	ld hl,$d532 ; list of tiles that extend talking range (counter tiles)
-	ld b,$03
-	ld d,$20 ; talking range in pixels (long range)
-.counterTilesLoop\@
-	ld a,[hli]
-	cp c
-	jr z,IsSpriteInFrontOfPlayer2 ; jumps if the tile in front of the player is a counter tile
-	dec b
-	jr nz,.counterTilesLoop\@
-
-; part of the above function, but sometimes its called on its own, when signs are irrelevant
-; the caller must zero [$FF8C]
-IsSpriteInFrontOfPlayer: ; B6B
-	ld d,$10 ; talking range in pixels (normal range)
-IsSpriteInFrontOfPlayer2: ; B6D
-	ld bc,$3c40 ; Y and X position of player sprite
-	ld a,[$c109] ; direction the player is facing
-.checkIfPlayerFacingUp\@
-	cp a,$04
-	jr nz,.checkIfPlayerFacingDown\@
-; facing up
-	ld a,b
-	sub d
-	ld b,a
-	ld a,$08
-	jr .doneCheckingDirection\@
-.checkIfPlayerFacingDown\@
-	cp a,$00
-	jr nz,.checkIfPlayerFacingRight\@
-; facing down
-	ld a,b
-	add d
-	ld b,a
-	ld a,$04
-	jr .doneCheckingDirection\@
-.checkIfPlayerFacingRight\@
-	cp a,$0c
-	jr nz,.playerFacingLeft\@
-; facing right
-	ld a,c
-	add d
-	ld c,a
-	ld a,$01
-	jr .doneCheckingDirection\@
-.playerFacingLeft\@
-; facing left
-	ld a,c
-	sub d
-	ld c,a
-	ld a,$02
-.doneCheckingDirection\@
-	ld [$d52a],a
-	ld a,[$d4e1] ; number of sprites
-	and a
-	ret z
-; if there are sprites
-	ld hl,$c110
-	ld d,a
-	ld e,$01
-.spriteLoop\@
-	push hl
-	ld a,[hli] ; image (0 if no sprite)
-	and a
-	jr z,.nextSprite\@
-	inc l
-	ld a,[hli] ; sprite visibility
-	inc a
-	jr z,.nextSprite\@
-	inc l
-	ld a,[hli] ; Y location
-	cp b
-	jr nz,.nextSprite\@
-	inc l
-	ld a,[hl] ; X location
-	cp c
-	jr z,.foundSpriteInFrontOfPlayer\@
-.nextSprite\@
-	pop hl
-	ld a,l
-	add a,$10
-	ld l,a
-	inc e
-	dec d
-	jr nz,.spriteLoop\@
-	ret
-.foundSpriteInFrontOfPlayer\@
-	pop hl
-	ld a,l
-	and a,$f0
-	inc a
-	ld l,a
-	set 7,[hl]
-	ld a,e
-	ld [$ff8c],a ; store sprite ID
-	ret
-
-; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing)
-; sets the carry flag if there is a collision, and unsets it if there isn't a collision
-CollisionCheckOnLand: ; BD1
-	ld a,[$d736]
-	bit 6,a ; is the player jumping?
-	jr nz,.noCollision\@
-; if not jumping a ledge
-	ld a,[$cd38]
-	and a
-	jr nz,.noCollision\@
-	ld a,[$d52a] ; the direction that the player is trying to go in
-	ld d,a
-	ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code)
-	and d ; check if a sprite is in the direction the player is trying to go
-	jr nz,.collision\@
-	xor a
-	ld [$ff8c],a
-	call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision?
-	ld a,[$ff8c]
-	and a ; was there a sprite collision?
-	jr nz,.collision\@
-; if no sprite collision
-	ld hl,TilePairCollisionsLand
-	call CheckForJumpingAndTilePairCollisions
-	jr c,.collision\@
-	call CheckTilePassable
-	jr nc,.noCollision\@
-.collision\@
-	ld a,[$c02a]
-	cp a,$b4 ; check if collision sound is already playing
-	jr z,.setCarry\@
-	ld a,$b4
-	call $23b1 ; play collision sound (if it's not already playing)
-.setCarry\@
-	scf
-	ret
-.noCollision\@
-	and a
-	ret
-
-; function that checks if the tile in front of the player is passable
-; clears carry if it is, sets carry if not
-CheckTilePassable: ; C10
-	ld a,$35
-	call Predef ; get tile in front of player
-	ld a,[$cfc6] ; tile in front of player
-	ld c,a
-	ld hl,$d530 ; pointer to list of passable tiles
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a ; hl now points to passable tiles
-.loop\@
-	ld a,[hli]
-	cp a,$ff
-	jr z,.tileNotPassable\@
-	cp c
-	ret z
-	jr .loop\@
-.tileNotPassable\@
-	scf
-	ret
-
-; check if the player is going to jump down a small ledge
-; and check for collisions that only occur between certain pairs of tiles
-; Input: hl - address of directional collision data
-; sets carry if there is a collision and unsets carry if not
-CheckForJumpingAndTilePairCollisions: ; C2A
-	push hl
-	ld a,$35
-	call Predef ; get the tile in front of the player
-	push de
-	push bc
-	ld b,$06
-	ld hl,$6672
-	call Bankswitch ; check if the player is trying to jump a ledge
-	pop bc
-	pop de
-	pop hl
-	and a
-	ld a,[$d736]
-	bit 6,a ; is the player jumping?
-	ret nz
-; if not jumping
-	ld a,[$c45c] ; tile the player is on
-	ld [$cf0e],a
-	ld a,[$cfc6] ; tile in front of the player
-	ld c,a
-.tilePairCollisionLoop\@
-	ld a,[W_CURMAPTILESET] ; tileset number
-	ld b,a
-	ld a,[hli]
-	cp a,$ff
-	jr z,.noMatch\@
-	cp b
-	jr z,.tilesetMatches\@
-	inc hl
-.retry\@
-	inc hl
-	jr .tilePairCollisionLoop\@
-.tilesetMatches\@
-	ld a,[$cf0e] ; tile the player is on
-	ld b,a
-	ld a,[hl]
-	cp b
-	jr z,.currentTileMatchesFirstInPair\@
-	inc hl
-	ld a,[hl]
-	cp b
-	jr z,.currentTileMatchesSecondInPair\@
-	jr .retry\@
-.currentTileMatchesFirstInPair\@
-	inc hl
-	ld a,[hl]
-	cp c
-	jr z,.foundMatch\@
-	jr .tilePairCollisionLoop\@
-.currentTileMatchesSecondInPair\@
-	dec hl
-	ld a,[hli]
-	cp c
-	inc hl
-	jr nz,.tilePairCollisionLoop\@
-.foundMatch\@
-	scf
-	ret
-.noMatch\@
-	and a
-	ret
-
-; FORMAT: tileset number, tile 1, tile 2
-; terminated by 0xFF
-; these entries indicate that the player may not cross between tile 1 and tile 2
-; it's mainly used to simulate differences in elevation
-
-TilePairCollisionsLand: ; C7E
-db $11, $20, $05;
-db $11, $41, $05;
-db $03, $30, $2E;
-db $11, $2A, $05;
-db $11, $05, $21;
-db $03, $52, $2E;
-db $03, $55, $2E;
-db $03, $56, $2E;
-db $03, $20, $2E;
-db $03, $5E, $2E;
-db $03, $5F, $2E;
-db $FF;
-
-TilePairCollisionsWater: ; CA0
-db $03, $14, $2E;
-db $03, $48, $2E;
-db $11, $14, $05;
-db $FF;
-
-; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character
-LoadCurrentMapView: ; CAA
-	ld a,[$ffb8]
-	push af
-	ld a,[$d52b] ; tile data ROM bank
-	ld [$ffb8],a
-	ld [$2000],a ; switch to ROM bank that contains tile data
-	ld a,[$d35f] ; address of upper left corner of current map view
-	ld e,a
-	ld a,[$d360]
-	ld d,a
-	ld hl,$c508
-	ld b,$05
-.rowLoop\@ ; each loop iteration fills in one row of tile blocks
-	push hl
-	push de
-	ld c,$06
-.rowInnerLoop\@ ; loop to draw each tile block of the current row
-	push bc
-	push de
-	push hl
-	ld a,[de]
-	ld c,a ; tile block number
-	call DrawTileBlock
-	pop hl
-	pop de
-	pop bc
-	inc hl
-	inc hl
-	inc hl
-	inc hl
-	inc de
-	dec c
-	jr nz,.rowInnerLoop\@
-; update tile block map pointer to next row's address
-	pop de
-	ld a,[W_CURMAPWIDTH]
-	add a,$06
-	add e
-	ld e,a
-	jr nc,.noCarry\@
-	inc d
-.noCarry\@
-; update tile map pointer to next row's address
-	pop hl
-	ld a,$60
-	add l
-	ld l,a
-	jr nc,.noCarry2\@
-	inc h
-.noCarry2\@
-	dec b
-	jr nz,.rowLoop\@
-	ld hl,$c508
-	ld bc,$0000
-.adjustForYCoordWithinTileBlock\@
-	ld a,[W_YBLOCKCOORD]
-	and a
-	jr z,.adjustForXCoordWithinTileBlock\@
-	ld bc,$0030
-	add hl,bc
-.adjustForXCoordWithinTileBlock\@
-	ld a,[W_XBLOCKCOORD]
-	and a
-	jr z,.copyToVisibleAreaBuffer\@
-	ld bc,$0002
-	add hl,bc
-.copyToVisibleAreaBuffer\@
-	ld de,$c3a0 ; base address for the tiles that are directly transfered to VRAM during V-blank
-	ld b,$12
-.rowLoop2\@
-	ld c,$14
-.rowInnerLoop2\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec c
-	jr nz,.rowInnerLoop2\@
-	ld a,$04
-	add l
-	ld l,a
-	jr nc,.noCarry3\@
-	inc h
-.noCarry3\@
-	dec b
-	jr nz,.rowLoop2\@
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a ; restore previous ROM bank
-	ret
-
-AdvancePlayerSprite: ; D27
-	ld a,[$c103] ; delta Y
-	ld b,a
-	ld a,[$c105] ; delta X
-	ld c,a
-	ld hl,W_WALKCOUNTER ; walking animation counter
-	dec [hl]
-	jr nz,.afterUpdateMapCoords\@
-; if it's the end of the animation, update the player's map coordinates
-	ld a,[W_YCOORD]
-	add b
-	ld [W_YCOORD],a
-	ld a,[W_XCOORD]
-	add c
-	ld [W_XCOORD],a
-.afterUpdateMapCoords\@
-	ld a,[W_WALKCOUNTER] ; walking animation counter
-	cp a,$07
-	jp nz,.scrollBackgroundAndSprites\@
-; if this is the first iteration of the animation
-	ld a,c
-	cp a,$01
-	jr nz,.checkIfMovingWest\@
-; moving east
-	ld a,[$d526]
-	ld e,a
-	and a,$e0
-	ld d,a
-	ld a,e
-	add a,$02
-	and a,$1f
-	or d
-	ld [$d526],a
-	jr .adjustXCoordWithinBlock\@
-.checkIfMovingWest\@
-	cp a,$ff
-	jr nz,.checkIfMovingSouth\@
-; moving west
-	ld a,[$d526]
-	ld e,a
-	and a,$e0
-	ld d,a
-	ld a,e
-	sub a,$02
-	and a,$1f
-	or d
-	ld [$d526],a
-	jr .adjustXCoordWithinBlock\@
-.checkIfMovingSouth\@
-	ld a,b
-	cp a,$01
-	jr nz,.checkIfMovingNorth\@
-; moving south
-	ld a,[$d526]
-	add a,$40
-	ld [$d526],a
-	jr nc,.adjustXCoordWithinBlock\@
-	ld a,[$d527]
-	inc a
-	and a,$03
-	or a,$98
-	ld [$d527],a
-	jr .adjustXCoordWithinBlock\@
-.checkIfMovingNorth\@
-	cp a,$ff
-	jr nz,.adjustXCoordWithinBlock\@
-; moving north
-	ld a,[$d526]
-	sub a,$40
-	ld [$d526],a
-	jr nc,.adjustXCoordWithinBlock\@
-	ld a,[$d527]
-	dec a
-	and a,$03
-	or a,$98
-	ld [$d527],a
-.adjustXCoordWithinBlock\@
-	ld a,c
-	and a
-	jr z,.pointlessJump\@ ; mistake?
-.pointlessJump\@
-	ld hl,W_XBLOCKCOORD
-	ld a,[hl]
-	add c
-	ld [hl],a
-	cp a,$02
-	jr nz,.checkForMoveToWestBlock\@
-; moved into the tile block to the east
-	xor a
-	ld [hl],a
-	ld hl,$d4e3
-	inc [hl]
-	ld de,$d35f
-	call MoveTileBlockMapPointerEast
-	jr .updateMapView\@
-.checkForMoveToWestBlock\@
-	cp a,$ff
-	jr nz,.adjustYCoordWithinBlock\@
-; moved into the tile block to the west
-	ld a,$01
-	ld [hl],a
-	ld hl,$d4e3
-	dec [hl]
-	ld de,$d35f
-	call MoveTileBlockMapPointerWest
-	jr .updateMapView\@
-.adjustYCoordWithinBlock\@
-	ld hl,W_YBLOCKCOORD
-	ld a,[hl]
-	add b
-	ld [hl],a
-	cp a,$02
-	jr nz,.checkForMoveToNorthBlock\@
-; moved into the tile block to the south
-	xor a
-	ld [hl],a
-	ld hl,$d4e2
-	inc [hl]
-	ld de,$d35f
-	ld a,[W_CURMAPWIDTH]
-	call MoveTileBlockMapPointerSouth
-	jr .updateMapView\@
-.checkForMoveToNorthBlock\@
-	cp a,$ff
-	jr nz,.updateMapView\@
-; moved into the tile block to the north
-	ld a,$01
-	ld [hl],a
-	ld hl,$d4e2
-	dec [hl]
-	ld de,$d35f
-	ld a,[W_CURMAPWIDTH]
-	call MoveTileBlockMapPointerNorth
-.updateMapView\@
-	call LoadCurrentMapView
-	ld a,[$c103] ; delta Y
-	cp a,$01
-	jr nz,.checkIfMovingNorth2\@
-; if moving south
-	call ScheduleSouthRowRedraw
-	jr .scrollBackgroundAndSprites\@
-.checkIfMovingNorth2\@
-	cp a,$ff
-	jr nz,.checkIfMovingEast2\@
-; if moving north
-	call ScheduleNorthRowRedraw
-	jr .scrollBackgroundAndSprites\@
-.checkIfMovingEast2\@
-	ld a,[$c105] ; delta X
-	cp a,$01
-	jr nz,.checkIfMovingWest2\@
-; if moving east
-	call ScheduleEastColumnRedraw
-	jr .scrollBackgroundAndSprites\@
-.checkIfMovingWest2\@
-	cp a,$ff
-	jr nz,.scrollBackgroundAndSprites\@
-; if moving west
-	call ScheduleWestColumnRedraw
-.scrollBackgroundAndSprites\@
-	ld a,[$c103] ; delta Y
-	ld b,a
-	ld a,[$c105] ; delta X
-	ld c,a
-	sla b
-	sla c
-	ld a,[$ffaf]
-	add b
-	ld [$ffaf],a ; update background scroll Y
-	ld a,[$ffae]
-	add c
-	ld [$ffae],a ; update background scroll X
-; shift all the sprites in the direction opposite of the player's motion
-; so that the player appears to move relative to them
-	ld hl,$c114
-	ld a,[$d4e1] ; number of sprites
-	and a ; are there any sprites?
-	jr z,.done\@
-	ld e,a
-.spriteShiftLoop\@
-	ld a,[hl]
-	sub b
-	ld [hli],a
-	inc l
-	ld a,[hl]
-	sub c
-	ld [hl],a
-	ld a,$0e
-	add l
-	ld l,a
-	dec e
-	jr nz,.spriteShiftLoop\@
-.done\@
-	ret
-
-; the following four functions are used to move the pointer to the upper left
-; corner of the tile block map in the direction of motion
-
-MoveTileBlockMapPointerEast: ; E65
-	ld a,[de]
-	add a,$01
-	ld [de],a
-	ret nc
-	inc de
-	ld a,[de]
-	inc a
-	ld [de],a
-	ret
-
-MoveTileBlockMapPointerWest: ; E6F
-	ld a,[de]
-	sub a,$01
-	ld [de],a
-	ret nc
-	inc de
-	ld a,[de]
-	dec a
-	ld [de],a
-	ret
-
-MoveTileBlockMapPointerSouth: ; E79
-	add a,$06
-	ld b,a
-	ld a,[de]
-	add b
-	ld [de],a
-	ret nc
-	inc de
-	ld a,[de]
-	inc a
-	ld [de],a
-	ret
-
-MoveTileBlockMapPointerNorth: ; E85
-	add a,$06
-	ld b,a
-	ld a,[de]
-	sub b
-	ld [de],a
-	ret nc
-	inc de
-	ld a,[de]
-	dec a
-	ld [de],a
-	ret
-
-; the following 6 functions are used to tell the V-blank handler to redraw
-; the portion of the map that was newly exposed due to the player's movement
-
-ScheduleNorthRowRedraw: ; E91
-	ld hl,$c3a0
-	call ScheduleRowRedrawHelper
-	ld a,[$d526]
-	ld [$ffd1],a
-	ld a,[$d527]
-	ld [$ffd2],a
-	ld a,$02
-	ld [$ffd0],a
-	ret
-
-ScheduleRowRedrawHelper: ; EA6
-	ld de,$cbfc
-	ld c,$28
-.loop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec c
-	jr nz,.loop\@
-	ret
-
-ScheduleSouthRowRedraw: ; EB2
-	ld hl,$c4e0
-	call $0ea6
-	ld a,[$d526]
-	ld l,a
-	ld a,[$d527]
-	ld h,a
-	ld bc,$0200
-	add hl,bc
-	ld a,h
-	and a,$03
-	or a,$98
-	ld [$ffd2],a
-	ld a,l
-	ld [$ffd1],a
-	ld a,$02
-	ld [$ffd0],a
-	ret
-
-ScheduleEastColumnRedraw: ; ED3
-	ld hl,$c3b2
-	call ScheduleColumnRedrawHelper
-	ld a,[$d526]
-	ld c,a
-	and a,$e0
-	ld b,a
-	ld a,c
-	add a,$12
-	and a,$1f
-	or b
-	ld [$ffd1],a
-	ld a,[$d527]
-	ld [$ffd2],a
-	ld a,$01
-	ld [$ffd0],a
-	ret
-
-ScheduleColumnRedrawHelper: ; EF2
-	ld de,$cbfc
-	ld c,$12
-.loop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	ld a,[hl]
-	ld [de],a
-	inc de
-	ld a,$13
-	add l
-	ld l,a
-	jr nc,.noCarry\@
-	inc h
-.noCarry\@
-	dec c
-	jr nz,.loop\@
-	ret
-
-ScheduleWestColumnRedraw: ; F08
-	ld hl,$c3a0
-	call ScheduleColumnRedrawHelper
-	ld a,[$d526]
-	ld [$ffd1],a
-	ld a,[$d527]
-	ld [$ffd2],a
-	ld a,$01
-	ld [$ffd0],a
-	ret
-
-; function to write the tiles that make up a tile block to memory
-; Input: c = tile block ID, hl = destination address
-DrawTileBlock: ; F1D
-	push hl
-	ld a,[$d52c] ; pointer to tiles
-	ld l,a
-	ld a,[$d52d]
-	ld h,a
-	ld a,c
-	swap a
-	ld b,a
-	and a,$f0
-	ld c,a
-	ld a,b
-	and a,$0f
-	ld b,a ; bc = tile block ID * 0x10
-	add hl,bc
-	ld d,h
-	ld e,l ; de = address of the tile block's tiles
-	pop hl
-	ld c,$04 ; 4 loop iterations
-.loop\@ ; each loop iteration, write 4 tile numbers
-	push bc
-	ld a,[de]
-	ld [hli],a
-	inc de
-	ld a,[de]
-	ld [hli],a
-	inc de
-	ld a,[de]
-	ld [hli],a
-	inc de
-	ld a,[de]
-	ld [hl],a
-	inc de
-	ld bc,$0015
-	add hl,bc
-	pop bc
-	dec c
-	jr nz,.loop\@
-	ret
-
-; function to update joypad state and simulate button presses
-GetJoypadStateOverworld: ; F4D
-	xor a
-	ld [$c103],a
-	ld [$c105],a
-	call RunMapScript
-	call GetJoypadState
-	ld a,[$d733]
-	bit 3,a ; check if a trainer wants a challenge
-	jr nz,.notForcedDownwards\@
-	ld a,[W_CURMAP]
-	cp a,ROUTE_17 ; Cycling Road
-	jr nz,.notForcedDownwards\@
-	ld a,[$ffb4] ; current joypad state
-	and a,%11110011 ; bit mask for all directions and A/B
-	jr nz,.notForcedDownwards\@
-	ld a,%10000000 ; down pressed
-	ld [$ffb4],a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press
-.notForcedDownwards\@
-	ld a,[$d730]
-	bit 7,a
-	ret z
-; if simulating button presses
-	ld a,[$ffb4] ; current joypad state
-	ld b,a
-	ld a,[$cd3b] ; bit mask for button presses that override simulated ones
-	and b
-	ret nz ; return if the simulated button presses are overridden
-	ld hl,$cd38 ; index of current simulated button press
-	dec [hl]
-	ld a,[hl]
-	cp a,$ff
-	jr z,.doneSimulating\@ ; if the end of the simulated button presses has been reached
-	ld hl,$ccd3 ; base address of simulated button presses
-; add offset to base address
-	add l
-	ld l,a
-	jr nc,.noCarry\@
-	inc h
-.noCarry\@
-	ld a,[hl]
-	ld [$ffb4],a ; store simulated button press in joypad state
-	and a
-	ret nz
-	ld [$ffb3],a
-	ld [$ffb2],a
-	ret
-; if done simulating button presses
-.doneSimulating\@
-	xor a
-	ld [$cd3a],a
-	ld [$cd38],a
-	ld [$ccd3],a
-	ld [$cd6b],a
-	ld [$ffb4],a
-	ld hl,$d736
-	ld a,[hl]
-	and a,$f8
-	ld [hl],a
-	ld hl,$d730
-	res 7,[hl]
-	ret
-
-; function to check the tile ahead to determine if the character should get on land or keep surfing
-; sets carry if there is a collision and clears carry otherwise
-; It seems that this function has a bug in it, but due to luck, it doesn't
-; show up. After detecting a sprite collision, it jumps to the code that
-; checks if the next tile is passable instead of just directly jumping to the
-; "collision detected" code. However, it doesn't store the next tile in c,
-; so the old value of c is used. 2429 is always called before this function,
-; and 2429 always sets c to 0xF0. There is no 0xF0 background tile, so it
-; is considered impassable and it is detected as a collision.
-CollisionCheckOnWater: ; FB7
-	ld a,[$d730]
-	bit 7,a
-	jp nz,.noCollision\@ ; return and clear carry if button presses are being simulated
-	ld a,[$d52a] ; the direction that the player is trying to go in
-	ld d,a
-	ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code)
-	and d ; check if a sprite is in the direction the player is trying to go
-	jr nz,.checkIfNextTileIsPassable\@ ; bug?
-	ld hl,TilePairCollisionsWater
-	call CheckForJumpingAndTilePairCollisions
-	jr c,.collision\@
-	ld a,$35
-	call Predef ; get tile in front of player (puts it in c and [$CFC6])
-	ld a,[$cfc6] ; tile in front of player
-	cp a,$14 ; water tile
-	jr z,.noCollision\@ ; keep surfing if it's a water tile
-	cp a,$32 ; either the left tile of the S.S. Anne boarding platform or the tile on eastern coastlines (depending on the current tileset)
-	jr z,.checkIfVermilionDockTileset\@
-	cp a,$48 ; tile on right on coast lines in Safari Zone
-	jr z,.noCollision\@ ; keep surfing
-; check if the [land] tile in front of the player is passable
-.checkIfNextTileIsPassable\@
-	ld hl,$d530 ; pointer to list of passable tiles
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-.loop\@
-	ld a,[hli]
-	cp a,$ff
-	jr z,.collision\@
-	cp c
-	jr z,.stopSurfing\@ ; stop surfing if the tile is passable
-	jr .loop\@
-.collision\@
-	ld a,[$c02a]
-	cp a,$b4 ; check if collision sound is already playing
-	jr z,.setCarry\@
-	ld a,$b4
-	call $23b1 ; play collision sound (if it's not already playing)
-.setCarry\@
-	scf
-	jr .done\@
-.noCollision\@
-	and a
-.done\@
-	ret
-.stopSurfing\@
-	xor a
-	ld [$d700],a
-	call LoadPlayerSpriteGraphics
-	call $2307
-	jr .noCollision\@
-.checkIfVermilionDockTileset\@
-	ld a,[W_CURMAPTILESET] ; tileset
-	cp a,$0e ; Vermilion Dock tileset
-	jr nz,.noCollision\@ ; keep surfing if it's not the boarding platform tile
-	jr .stopSurfing\@ ; if it is the boarding platform tile, stop surfing
-
-; function to run the current map's script
-RunMapScript: ; 101B
-	push hl
-	push de
-	push bc
-	ld b,$03
-	ld hl,$7225
-	call Bankswitch ; check if the player is pushing a boulder
-	ld a,[$cd60]
-	bit 1,a ; is the player pushing a boulder?
-	jr z,.afterBoulderEffect\@
-	ld b,$03
-	ld hl,$72b5
-	call Bankswitch ; displays dust effect when pushing a boulder
-.afterBoulderEffect\@
-	pop bc
-	pop de
-	pop hl
-	call $310e
-	ld a,[W_CURMAP] ; current map number
-	call SwitchToMapRomBank ; change to the ROM bank the map's data is in
-	ld hl,W_MAPSCRIPTPTR
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	ld de,.return\@
-	push de
-	jp [hl] ; jump to script
-.return\@
-	ret
-
-LoadWalkingPlayerSpriteGraphics: ; 0x104d
-	ld de,$4180
-	ld hl,$8000
-	jr LoadPlayerSpriteGraphicsCommon
-
-LoadSurfingPlayerSpriteGraphics: ; 0x1055
-	ld de,$76c0
-	ld hl,$8000
-	jr LoadPlayerSpriteGraphicsCommon
-
-LoadBikePlayerSpriteGraphics: ; 0x105d
-	ld de,$4000
-	ld hl,$8000
-
-LoadPlayerSpriteGraphicsCommon: ; 0x1063
-	push de
-	push hl
-	ld bc,$050c
-	call $1848
-	pop hl
-	pop de
-	ld a,$c0
-	add e
-	ld e,a
-	jr nc,.noCarry\@
-	inc d
-.noCarry\@
-	set 3,h
-	ld bc,$050c
-	jp $1848
-
-; function to load data from the map header
-LoadMapHeader: ; 107C
-	ld b,$03
-	ld hl,$7113
-	call Bankswitch
-	ld a,[W_CURMAPTILESET]
-	ld [$d119],a
-	ld a,[W_CURMAP]
-	call SwitchToMapRomBank
-	ld a,[W_CURMAPTILESET]
-	ld b,a
-	res 7,a
-	ld [W_CURMAPTILESET],a
-	ld [$ff8b],a
-	bit 7,b
-	ret nz
-	ld hl,MapHeaderPointers
-	ld a,[W_CURMAP]
-	sla a
-	jr nc,.noCarry1\@
-	inc h
-.noCarry1\@
-	add l
-	ld l,a
-	jr nc,.noCarry2\@
-	inc h
-.noCarry2\@
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a ; hl = base of map header
-; copy the first 10 bytes (the fixed area) of the map data to D367-D370
-	ld de,$d367
-	ld c,$0a
-.copyFixedHeaderLoop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec c
-	jr nz,.copyFixedHeaderLoop\@
-; initialize all the connected maps to disabled at first, before loading the actual values
-	ld a,$ff
-	ld [$d371],a
-	ld [$d37c],a
-	ld [$d387],a
-	ld [$d392],a
-; copy connection data (if any) to WRAM
-	ld a,[W_MAPCONNECTIONS]
-	ld b,a
-.checkNorth\@
-	bit 3,b
-	jr z,.checkSouth\@
-	ld de,W_MAPCONN1PTR
-	call CopyMapConnectionHeader
-.checkSouth\@
-	bit 2,b
-	jr z,.checkWest\@
-	ld de,W_MAPCONN2PTR
-	call CopyMapConnectionHeader
-.checkWest\@
-	bit 1,b
-	jr z,.checkEast\@
-	ld de,W_MAPCONN3PTR
-	call CopyMapConnectionHeader
-.checkEast\@
-	bit 0,b
-	jr z,.getObjectDataPointer\@
-	ld de,W_MAPCONN4PTR
-	call CopyMapConnectionHeader
-.getObjectDataPointer\@
-	ld a,[hli]
-	ld [$d3a9],a
-	ld a,[hli]
-	ld [$d3aa],a
-	push hl
-	ld a,[$d3a9]
-	ld l,a
-	ld a,[$d3aa]
-	ld h,a ; hl = base of object data
-	ld de,$d3ad ; background tile ID
-	ld a,[hli]
-	ld [de],a ; save background tile ID
-.loadWarpData\@
-	ld a,[hli] ; number of warps
-	ld [$d3ae],a ; save the number of warps
-	and a ; are there any warps?
-	jr z,.loadSignData\@ ; if not, skip this
-	ld c,a
-	ld de,$d3af ; base address of warps
-.warpLoop\@ ; one warp per loop iteration
-	ld b,$04
-.warpInnerLoop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec b
-	jr nz,.warpInnerLoop\@
-	dec c
-	jr nz,.warpLoop\@
-.loadSignData\@
-	ld a,[hli] ; number of signs
-	ld [$d4b0],a ; save the number of signs
-	and a ; are there any signs?
-	jr z,.loadSpriteData\@ ; if not, skip this
-	ld c,a
-	ld de,$d4d1 ; base address of sign text IDs
-	ld a,d
-	ld [$ff95],a
-	ld a,e
-	ld [$ff96],a
-	ld de,$d4b1 ; base address of sign coordinates
-.signLoop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	ld a,[hli]
-	ld [de],a
-	inc de
-	push de
-	ld a,[$ff95]
-	ld d,a
-	ld a,[$ff96]
-	ld e,a
-	ld a,[hli]
-	ld [de],a
-	inc de
-	ld a,d
-	ld [$ff95],a
-	ld a,e
-	ld [$ff96],a
-	pop de
-	dec c
-	jr nz,.signLoop\@
-.loadSpriteData\@
-	ld a,[$d72e]
-	bit 5,a ; did a battle happen immediately before this?
-	jp nz,.finishUp\@ ; if so, skip this because battles don't destroy this data
-	ld a,[hli]
-	ld [$d4e1],a ; save the number of sprites
-	push hl
-; zero C110-C1FF and C210-C2FF
-	ld hl,$c110
-	ld de,$c210
-	xor a
-	ld b,$f0
-.zeroSpriteDataLoop\@
-	ld [hli],a
-	ld [de],a
-	inc e
-	dec b
-	jr nz,.zeroSpriteDataLoop\@
-; initialize all C100-C1FF sprite entries to disabled (other than player's)
-	ld hl,$c112
-	ld de,$0010
-	ld c,$0f
-.disableSpriteEntriesLoop\@
-	ld [hl],$ff
-	add hl,de
-	dec c
-	jr nz,.disableSpriteEntriesLoop\@
-	pop hl
-	ld de,$c110
-	ld a,[$d4e1] ; number of sprites
-	and a ; are there any sprites?
-	jp z,.finishUp\@ ; if there are no sprites, skip the rest
-	ld b,a
-	ld c,$00
-.loadSpriteLoop\@
-	ld a,[hli]
-	ld [de],a ; store picture ID at C1X0
-	inc d
-	ld a,$04
-	add e
-	ld e,a
-	ld a,[hli]
-	ld [de],a ; store Y position at C2X4
-	inc e
-	ld a,[hli]
-	ld [de],a ; store X position at C2X5
-	inc e
-	ld a,[hli]
-	ld [de],a ; store movement byte 1 at C2X6
-	ld a,[hli]
-	ld [$ff8d],a ; save movement byte 2
-	ld a,[hli]
-	ld [$ff8e],a ; save text ID and flags byte
-	push bc
-	push hl
-	ld b,$00
-	ld hl,$d4e4 ; base address of sprite entries
-	add hl,bc
-	ld a,[$ff8d]
-	ld [hli],a ; store movement byte 2 in byte 0 of sprite entry
-	ld a,[$ff8e]
-	ld [hl],a ; this appears pointless, since the value is overwritten immediately after
-	ld a,[$ff8e]
-	ld [$ff8d],a
-	and a,$3f
-	ld [hl],a ; store text ID in byte 1 of sprite entry
-	pop hl
-	ld a,[$ff8d]
-	bit 6,a
-	jr nz,.trainerSprite\@
-	bit 7,a
-	jr nz,.itemBallSprite\@
-	jr .regularSprite\@
-.trainerSprite\@
-	ld a,[hli]
-	ld [$ff8d],a ; save trainer class
-	ld a,[hli]
-	ld [$ff8e],a ; save trainer number (within class)
-	push hl
-	ld hl,$d504 ; base address of extra sprite info entries
-	add hl,bc
-	ld a,[$ff8d]
-	ld [hli],a ; store trainer class in byte 0 of the entry
-	ld a,[$ff8e]
-	ld [hl],a ; store trainer number in byte 1 of the entry
-	pop hl
-	jr .nextSprite\@
-.itemBallSprite\@
-	ld a,[hli]
-	ld [$ff8d],a ; save item number
-	push hl
-	ld hl,$d504 ; base address of extra sprite info
-	add hl,bc
-	ld a,[$ff8d]
-	ld [hli],a ; store item number in byte 0 of the entry
-	xor a
-	ld [hl],a ; zero byte 1, since it is not used
-	pop hl
-	jr .nextSprite\@
-.regularSprite\@
-	push hl
-	ld hl,$d504 ; base address of extra sprite info
-	add hl,bc
-; zero both bytes, since regular sprites don't use this extra space
-	xor a
-	ld [hli],a
-	ld [hl],a
-	pop hl
-.nextSprite\@
-	pop bc
-	dec d
-	ld a,$0a
-	add e
-	ld e,a
-	inc c
-	inc c
-	dec b
-	jp nz,.loadSpriteLoop\@
-.finishUp\@
-	ld a,$19
-	call Predef ; load tileset data
-	ld hl,$4eb8
-	ld b,$03
-	call Bankswitch ; load wild pokemon data
-	pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose)
-	ld a,[W_CURMAPHEIGHT] ; map height in 4x4 tile blocks
-	add a ; double it
-	ld [$d524],a ; store map height in 2x2 tile blocks
-	ld a,[W_CURMAPWIDTH] ; map width in 4x4 tile blocks
-	add a ; double it
-	ld [$d525],a ; map width in 2x2 tile blocks
-	ld a,[W_CURMAP]
-	ld c,a
-	ld b,$00
-	ld a,[$ffb8]
-	push af
-	ld a,$03
-	ld [$ffb8],a
-	ld [$2000],a
-	ld hl,$404d
-	add hl,bc
-	add hl,bc
-	ld a,[hli]
-	ld [$d35b],a ; music 1
-	ld a,[hl]
-	ld [$d35c],a ; music 2
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a
-	ret
-
-; function to copy map connection data from ROM to WRAM
-; Input: hl = source, de = destination
-CopyMapConnectionHeader: ; 1238
-	ld c,$0b
-.loop\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec c
-	jr nz,.loop\@
-	ret
-
-; function to load map data
-LoadMapData: ; 1241
-	ld a,[$ffb8]
-	push af
-	call DisableLCD
-	ld a,$98
-	ld [$d527],a
-	xor a
-	ld [$d526],a
-	ld [$ffaf],a
-	ld [$ffae],a
-	ld [W_WALKCOUNTER],a
-	ld [$d119],a
-	ld [$d11a],a
-	ld [$d3a8],a
-	call $36a0 ; transfer tile pattern data for text windows into VRAM
-	call LoadMapHeader
-	ld b,$05
-	ld hl,$785b
-	call Bankswitch ; load tile pattern data for sprites
-	call LoadTileBlockMap
-	call LoadTilesetTilePatternData
-	call LoadCurrentMapView
-; copy current map view to VRAM
-	ld hl,$c3a0
-	ld de,$9800
-	ld b,$12
-.vramCopyLoop\@
-	ld c,$14
-.vramCopyInnerLoop\@
-	ld a,[hli]
-	ld [de],a
-	inc e
-	dec c
-	jr nz,.vramCopyInnerLoop\@
-	ld a,$0c
-	add e
-	ld e,a
-	jr nc,.noCarry\@
-	inc d
-.noCarry\@
-	dec b
-	jr nz,.vramCopyLoop\@
-	ld a,$01
-	ld [$cfcb],a
-	call EnableLCD
-	ld b,$09
-	call $3def ; handle SGB palette
-	call LoadPlayerSpriteGraphics
-	ld a,[$d732]
-	and a,$18 ; did the player fly or teleport in?
-	jr nz,.restoreRomBank\@
-	ld a,[$d733]
-	bit 1,a
-	jr nz,.restoreRomBank\@
-	call $235f ; music related
-	call $2312 ; music related
-.restoreRomBank\@
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a
-	ret
-
-; function to switch to the ROM bank that a map is stored in
-; Input: a = map number
-SwitchToMapRomBank: ; 12BC
-	push hl
-	push bc
-	ld c,a
-	ld b,$00
-	ld a,$03
-	call BankswitchHome ; switch to ROM bank 3
-	ld hl,MapHeaderBanks
-	add hl,bc
-	ld a,[hl]
-	ld [$ffe8],a ; save map ROM bank
-	call BankswitchBack
-	ld a,[$ffe8]
-	ld [$ffb8],a
-	ld [$2000],a ; switch to map ROM bank
-	pop bc
-	pop hl
-	ret
-
-INCBIN "baserom.gbc",$12DA,$1627 - $12DA
-
-;XXX what does this do
-;XXX what points to this
-Unknown_1627: ; 0x1627
-	ld bc,$D0B8
-	add hl,bc
-	ld a,[hli]
-	ld [$D0AB],a
-	ld a,[hl]
-	ld [$D0AC],a
-
-Unknown_1633: ; 0x1633
-; define (by index number) the bank that a pokemon's image is in
-; index = Mew, bank 1
-; index = Kabutops fossil, bank $B
-;	index < $1F, bank 9
-; $1F ≤ index < $4A, bank $A
-; $4A ≤ index < $74, bank $B
-; $74 ≤ index < $99, bank $C
-; $99 ≤ index,       bank $D
-	ld a,[$CF91] ; XXX name for this ram location
-	ld b,a
-	cp $15
-	ld a,$01
-	jr z,.GotBank\@
-	ld a,b
-	cp $B6
-	ld a,$0B
-	jr z,.GotBank\@
-	ld a,b
-	cp $1F
-	ld a,$09
-	jr c,.GotBank\@
-	ld a,b
-	cp $4A
-	ld a,$0A
-	jr c,.GotBank\@
-	ld a,b
-	cp $74
-	ld a,$0B
-	jr c,.GotBank\@
-	ld a,b
-	cp $99
-	ld a,$0C
-	jr c,.GotBank\@
-	ld a,$0D
-.GotBank\@
-	jp $24FD
-
-INCBIN "baserom.gbc",$1665,$172F - $1665
-
-Tset0B_Coll: ; 0x172F
-	INCBIN "gfx/tilesets/0b.tilecoll"
-Tset00_Coll: ; 0x1735
-	INCBIN "gfx/tilesets/00.tilecoll"
-Tset01_Coll: ; 0x1749
-	INCBIN "gfx/tilesets/01.tilecoll"
-Tset02_Coll: ; 0x1753
-	INCBIN "gfx/tilesets/02.tilecoll"
-Tset05_Coll: ; 0x1759
-	INCBIN "gfx/tilesets/05.tilecoll"
-Tset03_Coll: ; 0x1765
-	INCBIN "gfx/tilesets/03.tilecoll"
-Tset08_Coll: ; 0x1775
-	INCBIN "gfx/tilesets/08.tilecoll"
-Tset09_Coll: ; 0x177f
-	INCBIN "gfx/tilesets/09.tilecoll"
-Tset0D_Coll: ; 0x178a
-	INCBIN "gfx/tilesets/0d.tilecoll"
-Tset0E_Coll: ; 0x1795
-	INCBIN "gfx/tilesets/0e.tilecoll"
-Tset0F_Coll: ; 0x179a
-	INCBIN "gfx/tilesets/0f.tilecoll"
-Tset10_Coll: ; 0x17a2
-	INCBIN "gfx/tilesets/10.tilecoll"
-Tset11_Coll: ; 0x17ac
-	INCBIN "gfx/tilesets/11.tilecoll"
-Tset12_Coll: ; 0x17b8
-	INCBIN "gfx/tilesets/12.tilecoll"
-Tset13_Coll: ; 0x17c0
-	INCBIN "gfx/tilesets/13.tilecoll"
-Tset14_Coll: ; 0x17ca
-	INCBIN "gfx/tilesets/14.tilecoll"
-Tset15_Coll: ; 0x17d1
-	INCBIN "gfx/tilesets/15.tilecoll"
-Tset16_Coll: ; 0x17dd
-	INCBIN "gfx/tilesets/16.tilecoll"
-Tset17_Coll: ; 0x17f0
-	INCBIN "gfx/tilesets/17.tilecoll"
-;Tile Collision ends 0x17f7
-
-INCBIN "baserom.gbc",$17F7,$190F-$17F7
-
-ClearScreen: ; 190F
-; clears all tiles in the tilemap,
-; then wait three frames
-	ld bc,$0168 ; tilemap size
-	inc b
-	ld hl,$C3A0 ; TILEMAP_START
-	ld a,$7F    ; $7F is blank tile
-.loop\@
-	ld [hli],a
-	dec c
-	jr nz,.loop\@
-	dec b
-	jr nz,.loop\@
-	jp Delay3
-
-TextBoxBorder: ; 1922
-; draw a text box
-; upper-left corner at coordinates hl
-; height b
-; width c
-
-	; first row
-	push hl
-	ld a,"┌"
-	ld [hli],a
-	inc a    ; horizontal border ─
-	call NPlaceChar
-	inc a    ; upper-right border ┐
-	ld [hl],a
-
-	; middle rows
-	pop hl
-	ld de,20
-	add hl,de ; skip the top row
-
-.PlaceRow\@
-	push hl
-	ld a,"│"
-	ld [hli],a
-	ld a," "
-	call NPlaceChar
-	ld [hl],"│"
-
-	pop hl
-	ld de,20
-	add hl,de ; move to next row
-	dec b
-	jr nz,.PlaceRow\@
-
-	; bottom row
-	ld a,"└"
-	ld [hli],a
-	ld a,"─"
-	call NPlaceChar
-	ld [hl],"┘"
-	ret
-;
-NPlaceChar: ; 0x194f
-; place a row of width c of identical characters
-	ld d,c
-.loop\@
-	ld [hli],a
-	dec d
-	jr nz,.loop\@
-	ret
-
-PlaceString: ; 1955
-	push hl
-PlaceNextChar: ; 1956
-	ld a,[de]
-
-	cp "@"
-	jr nz,.PlaceText\@
-	ld b,h
-	ld c,l
-	pop hl
-	ret
-
-.PlaceText\@
-	cp $4E
-	jr nz,.next\@
-	ld bc,$0028
-	ld a,[$FFF6]
-	bit 2,a
-	jr z,.next2\@
-	ld bc,$14
-.next2\@
-	pop hl
-	add hl,bc
-	push hl
-	jp Next19E8
-
-.next\@
-	cp $4F
-	jr nz,.next3\@
-	pop hl
-	ld hl,$C4E1
-	push hl
-	jp Next19E8
-
-.next3\@ ; Check against a dictionary
-	and a
-	jp z,Char00
-	cp $4C
-	jp z,$1B0A
-	cp $4B
-	jp z,Char4B
-	cp $51
-	jp z,Char51
-	cp $49
-	jp z,Char49
-	cp $52
-	jp z,Char52
-	cp $53
-	jp z,Char53
-	cp $54
-	jp z,Char54
-	cp $5B
-	jp z,Char5B
-	cp $5E
-	jp z,Char5E
-	cp $5C
-	jp z,Char5C
-	cp $5D
-	jp z,Char5D
-	cp $55
-	jp z,$1A7C
-	cp $56
-	jp z,Char56
-	cp $57
-	jp z,$1AAD
-	cp $58
-	jp z,Char58
-	cp $4A
-	jp z,Char4A
-	cp $5F
-	jp z,Char5F
-	cp $59
-	jp z,Char59
-	cp $5A
-	jp z,Char5A
-	ld [hli],a
-	call $38D3
-Next19E8: ; 0x19e8
-	inc de
-	jp PlaceNextChar
-
-Char00: ; 0x19ec
-	ld b,h
-	ld c,l
-	pop hl
-	ld de,Char00Text
-	dec de
-	ret
-
-Char00Text: ; 0x19f4 “%d ERROR.”
-	TX_FAR _Char00Text
-	db "@"
-
-Char52: ; 0x19f9 player’s name
-	push de
-	ld de,W_PLAYERNAME
-	jr FinishDTE
-
-Char53: ; rival’s name
-	push de
-	ld de,W_RIVALNAME
-	jr FinishDTE
-
-Char5D: ; TRAINER
-	push de
-	ld de,Char5DText
-	jr FinishDTE
-
-Char5C: ; TM
-	push de
-	ld de,Char5CText
-	jr FinishDTE
-
-Char5B: ; PC
-	push de
-	ld de,Char5BText
-	jr FinishDTE
-
-Char5E: ; ROCKET
-	push de
-	ld de,Char5EText
-	jr FinishDTE
-
-Char54: ; POKé
-	push de
-	ld de,Char54Text
-	jr FinishDTE
-
-Char56: ; ……
-	push de
-	ld de,Char56Text
-	jr FinishDTE
-
-Char4A: ; PKMN
-	push de
-	ld de,Char4AText
-	jr FinishDTE
-
-Char59:
-; depending on whose turn it is, print
-; enemy active monster’s name, prefixed with “Enemy ”
-; or
-; player active monster’s name
-; (like Char5A but flipped)
-	ld a,[H_WHOSETURN]
-	xor 1
-	jr MonsterNameCharsCommon
-
-Char5A:
-; depending on whose turn it is, print
-; player active monster’s name
-; or
-; enemy active monster’s name, prefixed with “Enemy ”
-	ld a,[H_WHOSETURN]
-MonsterNameCharsCommon:
-	push de
-	and a
-	jr nz,.Enemy\@
-	ld de,$D009 ; player active monster name
-	jr FinishDTE
-
-.Enemy\@ ; 1A40
-	; print “Enemy ”
-	ld de,Char5AText
-	call PlaceString
-
-	ld h,b
-	ld l,c
-	ld de,$CFDA ; enemy active monster name
-
-FinishDTE:
-	call PlaceString
-	ld h,b
-	ld l,c
-	pop de
-	inc de
-	jp PlaceNextChar
-
-Char5CText: ; 0x1a55
-	db "TM@"
-Char5DText: ; 0x1a58
-	db "TRAINER@"
-Char5BText: ; 0x1a60
-	db "PC@"
-Char5EText: ; 0x1a63
-	db "ROCKET@"
-Char54Text: ; 0x1a6a
-	db "POKé@"
-Char56Text: ; 0x1a70
-	db "……@"
-Char5AText: ; 0x1a72
-	db "Enemy @"
-Char4AText: ; 0x1a79
-	db $E1,$E2,"@" ; PKMN
-
-Char55: ; 0x1a7c
-	push de
-	ld b,h
-	ld c,l
-	ld hl,Char55Text
-	call $1B40
-	ld h,b
-	ld l,c
-	pop de
-	inc de
-	jp PlaceNextChar
-
-Char55Text: ; 0x1a8c
-; equivalent to Char4B
-	TX_FAR _Char55Text
-	db "@"
-
-Char5F: ; 0x1a91
-; ends a Pokédex entry
-	ld [hl],"."
-	pop hl
-	ret
-
-Char58: ; 0x1a95
-	ld a,[$D12B]
-	cp 4
-	jp z,Next1AA2
-	ld a,$EE
-	ld [$C4F2],a
-Next1AA2: ; 0x1aa2
-	call ProtectedDelay3
-	call $3898
-	ld a,$7F
-	ld [$C4F2],a
-	pop hl
-	ld de,Char58Text
-	dec de
-	ret
-
-Char58Text: ; 0x1ab3
-	db "@"
-
-Char51: ; 0x1ab4
-	push de
-	ld a,$EE
-	ld [$C4F2],a
-	call ProtectedDelay3
-	call $3898
-	ld hl,$C4A5
-	ld bc,$0412
-	call $18C4
-	ld c,$14
-	call DelayFrames
-	pop de
-	ld hl,$C4B9
-	jp Next19E8
-
-Char49: ; 0x1ad5
-	push de
-	ld a,$EE
-	ld [$C4F2],a
-	call ProtectedDelay3
-	call $3898
-	ld hl,$C469
-	ld bc,$0712
-	call $18C4
-	ld c,$14
-	call DelayFrames
-	pop de
-	pop hl
-	ld hl,$C47D
-	push hl
-	jp Next19E8
-
-Char4B: ; 0x1af8
-	ld a,$EE
-	ld [$C4F2],a
-	call ProtectedDelay3
-	push de
-	call $3898
-	pop de
-	ld a,$7F
-	ld [$C4F2],a
-	push de
-	call Next1B18
-	call Next1B18
-	ld hl,$C4E1
-	pop de
-	jp Next19E8
-
-Next1B18: ; 0x1b18
-	ld hl,$C4B8
-	ld de,$C4A4
-	ld b,$3C
-.next\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	dec b
-	jr nz,.next\@
-	ld hl,$C4E1
-	ld a,$7F
-	ld b,$12
-.next2\@
-	ld [hli],a
-	dec b
-	jr nz,.next2\@
-
-	; wait five frames
-	ld b,5
-.WaitFrame\@
-	call DelayFrame
-	dec b
-	jr nz,.WaitFrame\@
-
-	ret
-
-ProtectedDelay3: ; 0x1b3a
-	push bc
-	call Delay3
-	pop bc
-	ret
-
-TextCommandProcessor: ; 1B40
-	ld a,[$d358]
-	push af
-	set 1,a
-	ld e,a
-	ld a,[$fff4]
-	xor e
-	ld [$d358],a
-	ld a,c
-	ld [$cc3a],a
-	ld a,b
-	ld [$cc3b],a
-
-NextTextCommand: ; 1B55
-	ld a,[hli]
-	cp a,$50 ; terminator
-	jr nz,.doTextCommand\@
-	pop af
-	ld [$d358],a
-	ret
-.doTextCommand\@
-	push hl
-	cp a,$17
-	jp z,TextCommand17
-	cp a,$0e
-	jp nc,TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB
-; if a < 0xE, use a jump table
-	ld hl,TextCommandJumpTable
-	push bc
-	add a
-	ld b,$00
-	ld c,a
-	add hl,bc
-	pop bc
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	jp [hl]
-
-; draw box
-; 04AAAABBCC
-; AAAA = address of upper left corner
-; BB = height
-; CC = width
-TextCommand04: ; 1B78
-	pop hl
-	ld a,[hli]
-	ld e,a
-	ld a,[hli]
-	ld d,a
-	ld a,[hli]
-	ld b,a
-	ld a,[hli]
-	ld c,a
-	push hl
-	ld h,d
-	ld l,e
-	call TextBoxBorder
-	pop hl
-	jr NextTextCommand
-
-; place string inline
-; 00{string}
-TextCommand00: ; 1B8A
-	pop hl
-	ld d,h
-	ld e,l
-	ld h,b
-	ld l,c
-	call PlaceString
-	ld h,d
-	ld l,e
-	inc hl
-	jr NextTextCommand
-
-; place string from RAM
-; 01AAAA
-; AAAA = address of string
-TextCommand01: ; 1B97
-	pop hl
-	ld a,[hli]
-	ld e,a
-	ld a,[hli]
-	ld d,a
-	push hl
-	ld h,b
-	ld l,c
-	call PlaceString
-	pop hl
-	jr NextTextCommand
-
-; print BCD number
-; 02AAAABB
-; AAAA = address of BCD number
-; BB
-; bits 0-4 = length in bytes
-; bits 5-7 = unknown flags
-TextCommand02: ; 1BA5
-	pop hl
-	ld a,[hli]
-	ld e,a
-	ld a,[hli]
-	ld d,a
-	ld a,[hli]
-	push hl
-	ld h,b
-	ld l,c
-	ld c,a
-	call $15cd
-	ld b,h
-	ld c,l
-	pop hl
-	jr NextTextCommand
-
-; repoint destination address
-; 03AAAA
-; AAAA = new destination address
-TextCommand03: ; 1BB7
-	pop hl
-	ld a,[hli]
-	ld [$cc3a],a
-	ld c,a
-	ld a,[hli]
-	ld [$cc3b],a
-	ld b,a
-	jp NextTextCommand
-
-; repoint destination to second line of dialogue text box
-; 05
-; (no arguments)
-TextCommand05: ; 1BC5
-	pop hl
-	ld bc,$c4e1 ; address of second line of dialogue text box
-	jp NextTextCommand
-
-; blink arrow and wait for A or B to be pressed
-; 06
-; (no arguments)
-TextCommand06: ; 1BCC
-	ld a,[W_ISLINKBATTLE]
-	cp a,$04
-	jp z,TextCommand0D
-	ld a,$ee ; down arrow
-	ld [$c4f2],a ; place down arrow in lower right corner of dialogue text box
-	push bc
-	call $3898 ; blink arrow and wait for A or B to be pressed
-	pop bc
-	ld a,$7f ; blank space
-	ld [$c4f2],a ; overwrite down arrow with blank space
-	pop hl
-	jp NextTextCommand
-
-; scroll text up one line
-; 07
-; (no arguments)
-TextCommand07: ; 1BE7
-	ld a,$7f ; blank space
-	ld [$c4f2],a ; place blank space in lower right corner of dialogue text box
-	call $1b18 ; scroll up text
-	call $1b18
-	pop hl
-	ld bc,$c4e1 ; address of second line of dialogue text box
-	jp NextTextCommand
-
-; execute asm inline
-; 08{code}
-TextCommand08: ; 1BF9
-	pop hl
-	ld de,NextTextCommand
-	push de ; return address
-	jp [hl]
-
-; print decimal number (converted from binary number)
-; 09AAAABB
-; AAAA = address of number
-; BB
-; bits 0-3 = how many digits to display
-; bits 4-7 = how long the number is in bytes
-TextCommand09: ; 1BFF
-	pop hl
-	ld a,[hli]
-	ld e,a
-	ld a,[hli]
-	ld d,a
-	ld a,[hli]
-	push hl
-	ld h,b
-	ld l,c
-	ld b,a
-	and a,$0f
-	ld c,a
-	ld a,b
-	and a,$f0
-	swap a
-	set 6,a
-	ld b,a
-	call $3c5f
-	ld b,h
-	ld c,l
-	pop hl
-	jp NextTextCommand
-
-; wait half a second if the user doesn't hold A or B
-; 0A
-; (no arguments)
-TextCommand0A: ; 1C1D
-	push bc
-	call GetJoypadState
-	ld a,[$ffb4]
-	and a,%00000011 ; A and B buttons
-	jr nz,.skipDelay\@
-	ld c,30
-	call DelayFrames
-.skipDelay\@
-	pop bc
-	pop hl
-	jp NextTextCommand
-
-; plays sounds
-; this actually handles various command ID's, not just 0B
-; (no arguments)
-TextCommand0B: ; 1C31
-	pop hl
-	push bc
-	dec hl
-	ld a,[hli]
-	ld b,a ; b = command number that got us here
-	push hl
-	ld hl,TextCommandSounds
-.loop\@
-	ld a,[hli]
-	cp b
-	jr z,.matchFound\@
-	inc hl
-	jr .loop\@
-.matchFound\@
-	cp a,$14
-	jr z,.pokemonCry\@
-	cp a,$15
-	jr z,.pokemonCry\@
-	cp a,$16
-	jr z,.pokemonCry\@
-	ld a,[hl]
-	call $23b1
-	call $3748
-	pop hl
-	pop bc
-	jp NextTextCommand
-.pokemonCry\@
-	push de
-	ld a,[hl]
-	call $13d0
-	pop de
-	pop hl
-	pop bc
-	jp NextTextCommand
-
-; format: text command ID, sound ID or cry ID
-TextCommandSounds: ; 1C64
-db $0B,$86
-db $12,$9A
-db $0E,$91
-db $0F,$86
-db $10,$89
-db $11,$94
-db $13,$98
-db $14,$A8
-db $15,$97
-db $16,$78
-
-; draw ellipses
-; 0CAA
-; AA = number of ellipses to draw
-TextCommand0C: ; 1C78
-	pop hl
-	ld a,[hli]
-	ld d,a
-	push hl
-	ld h,b
-	ld l,c
-.loop\@
-	ld a,$75 ; ellipsis
-	ld [hli],a
-	push de
-	call GetJoypadState
-	pop de
-	ld a,[$ffb4] ; joypad state
-	and a,%00000011 ; is A or B button pressed?
-	jr nz,.skipDelay\@ ; if so, skip the delay
-	ld c,10
-	call DelayFrames
-.skipDelay\@
-	dec d
-	jr nz,.loop\@
-	ld b,h
-	ld c,l
-	pop hl
-	jp NextTextCommand
-
-; wait for A or B to be pressed
-; 0D
-; (no arguments)
-TextCommand0D: ; 1C9A
-	push bc
-	call $3898 ; wait for A or B to be pressed
-	pop bc
-	pop hl
-	jp NextTextCommand
-
-; process text commands in another ROM bank
-; 17AAAABB
-; AAAA = address of text commands
-; BB = bank
-TextCommand17: ; 1CA3
-	pop hl
-	ld a,[$ffb8]
-	push af
-	ld a,[hli]
-	ld e,a
-	ld a,[hli]
-	ld d,a
-	ld a,[hli]
-	ld [$ffb8],a
-	ld [$2000],a
-	push hl
-	ld l,e
-	ld h,d
-	call TextCommandProcessor
-	pop hl
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a
-	jp NextTextCommand
-
-TextCommandJumpTable: ; 1CC1
-dw TextCommand00
-dw TextCommand01
-dw TextCommand02
-dw TextCommand03
-dw TextCommand04
-dw TextCommand05
-dw TextCommand06
-dw TextCommand07
-dw TextCommand08
-dw TextCommand09
-dw TextCommand0A
-dw TextCommand0B
-dw TextCommand0C
-dw TextCommand0D
-
-; this function seems to be used only once
-; it store the address of a row and column of the VRAM background map in hl
-; INPUT: h - row, l - column, b - high byte of background tile map address in VRAM
-GetRowColAddressBgMap: ; 1CDD
-	xor a
-	srl h
-	rr a
-	srl h
-	rr a
-	srl h
-	rr a
-	or l
-	ld l,a
-	ld a,b
-	or h
-	ld h,a
-	ret
-
-; clears a VRAM background map with blank space tiles
-; INPUT: h - high byte of background tile map address in VRAM
-ClearBgMap: ; 1CF0
-	ld a,$7f ; blank space
-	jr .next\@
-	ld a,l ; XXX does anything call this?
-.next\@
-	ld de,$400 ; size of VRAM background map
-	ld l,e
-.loop\@
-	ld [hli],a
-	dec e
-	jr nz,.loop\@
-	dec d
-	jr nz,.loop\@
-	ret
-
-INCBIN "baserom.gbc",$1D01,$1F54 - $1D01
-
-; initialization code
-; explanation for %11100011 (value stored in rLCDC)
-; * LCD enabled
-; * Window tile map at $9C00
-; * Window display enabled
-; * BG and window tile data at $8800
-; * BG tile map at $9800
-; * 8x8 OBJ size
-; * OBJ display enabled
-; * BG display enabled
-InitGame: ; 1F54
-	di
-; zero I/O registers
-	xor a
-	ld [$ff0f],a
-	ld [$ffff],a
-	ld [$ff43],a
-	ld [$ff42],a
-	ld [$ff01],a
-	ld [$ff02],a
-	ld [$ff4b],a
-	ld [$ff4a],a
-	ld [$ff06],a
-	ld [$ff07],a
-	ld [$ff47],a
-	ld [$ff48],a
-	ld [$ff49],a
-	ld a,%10000000 ; enable LCD
-	ld [rLCDC],a
-	call DisableLCD ; why enable then disable?
-	ld sp,$dfff ; initialize stack pointer
-	ld hl,$c000 ; start of WRAM
-	ld bc,$2000 ; size of WRAM
-.zeroWramLoop\@
-	ld [hl],0
-	inc hl
-	dec bc
-	ld a,b
-	or c
-	jr nz,.zeroWramLoop\@
-	call ZeroVram
-	ld hl,$ff80
-	ld bc,$007f
-	call $36e0 ; zero HRAM
-	call CleanLCD_OAM ; this is unnecessary since it was already cleared above
-	ld a,$01
-	ld [$ffb8],a
-	ld [$2000],a
-	call $4bed ; copy DMA code to HRAM
-	xor a
-	ld [$ffd7],a
-	ld [$ff41],a
-	ld [$ffae],a
-	ld [$ffaf],a
-	ld [$ff0f],a
-	ld a,%00001101 ; enable V-blank, timer, and serial interrupts
-	ld [rIE],a
-	ld a,$90 ; put the window off the screen
-	ld [$ffb0],a
-	ld [rWX],a
-	ld a,$07
-	ld [rWY],a
-	ld a,$ff
-	ld [$ffaa],a
-	ld h,$98
-	call ClearBgMap ; fill $9800-$9BFF (BG tile map) with $7F tiles
-	ld h,$9c
-	call ClearBgMap ; fill $9C00-$9FFF (Window tile map) with $7F tiles
-	ld a,%11100011
-	ld [rLCDC],a ; enabled LCD
-	ld a,$10
-	ld [$ff8a],a
-	call $200e
-	ei
-	ld a,$40
-	call Predef ; SGB border
-	ld a,$1f
-	ld [$c0ef],a
-	ld [$c0f0],a
-	ld a,$9c
-	ld [$ffbd],a
-	xor a
-	ld [$ffbc],a
-	dec a
-	ld [$cfcb],a
-	ld a,$32
-	call Predef ; display the copyrights, GameFreak logo, and battle animation
-	call DisableLCD
-	call ZeroVram
-	call $3ddc
-	call CleanLCD_OAM
-	ld a,%11100011
-	ld [rLCDC],a ; enable LCD
-	jp $42b7
-
-; zeroes all VRAM
-ZeroVram: ; 2004
-	ld hl,$8000
-	ld bc,$2000
-	xor a
-	jp $36e0
-
-INCBIN "baserom.gbc",$200E,$20AF - $200E
-
-DelayFrame: ; 20AF
-; delay for one frame
-	ld a,1
-	ld [$FFD6],a
-
-; wait for the next Vblank, halting to conserve battery
-.halt\@
-	db $76 ; XXX this is a hack--rgbasm adds a nop after this instr even when ints are enabled
-	ld a,[$FFD6]
-	and a
-	jr nz,.halt\@
-
-	ret
-
-; These routines manage gradual fading
-; (e.g., entering a doorway)
-LoadGBPal: ; 20BA
-	ld a,[$d35d] ;tells if cur.map is dark (requires HM5_FLASH?)
-	ld b,a
-	ld hl,GBPalTable_00	;16
-	ld a,l
-	sub b
-	ld l,a
-	jr nc,.jr0\@
-	dec h
-.jr0\@
-	ld a,[hli]
-	ld [rBGP],a
-	ld a,[hli]
-	ld [rOBP0],a
-	ld a,[hli]
-	ld [rOBP1],a
-	ret
-
-GBFadeOut1: ; 20D1
-	ld hl,IncGradGBPalTable_01	;0d
-	ld b,$04
-	jr GBFadeOutCommon
-
-GBFadeOut2: ; 20D8
-	ld hl,IncGradGBPalTable_02	;1c
-	ld b,$03
-
-GBFadeOutCommon: ; 0x20dd
-	ld a,[hli]
-	ld [rBGP],a
-	ld a,[hli]
-	ld [rOBP0],a
-	ld a,[hli]
-	ld [rOBP1],a
-	ld c,8
-	call DelayFrames
-	dec b
-	jr nz,GBFadeOutCommon
-	ret
-
-GBFadeIn1: ; 20EF
-	ld hl,DecGradGBPalTable_01	;18
-	ld b,$04
-	jr GBFadeInCommon
-
-GBFadeIn2: ; 20F6
-	ld hl,DecGradGBPalTable_02	;21
-	ld b,$03
-
-GBFadeInCommon: ; 0x20fb
-	ld a,[hld]
-	ld [rOBP1],a
-	ld a,[hld]
-	ld [rOBP0],a
-	ld a,[hld]
-	ld [rBGP],a
-	ld c,8
-	call DelayFrames
-	dec b
-	jr nz,GBFadeInCommon
-	ret
-
-IncGradGBPalTable_01: ; 210D
-	db %11111111 ;BG Pal
-	db %11111111 ;OBJ Pal 1
-	db %11111111 ;OBJ Pal 2
-                     ;and so on...
-	db %11111110
-	db %11111110
-	db %11111000
-
-	db %11111001
-	db %11100100
-	db %11100100
-GBPalTable_00: ; 0x2116 16
-	db %11100100
-	db %11010000
-DecGradGBPalTable_01: ; 0x2118 18
-	db %11100000
-	;19
-	db %11100100
-	db %11010000
-	db %11100000
-IncGradGBPalTable_02: ; 0x211c
-	db %10010000
-	db %10000000
-	db %10010000
-
-	db %01000000
-	db %01000000
-DecGradGBPalTable_02: ; 0x2121
-	db %01000000
-
-	db %00000000
-	db %00000000
-	db %00000000
-
-INCBIN "baserom.gbc",$2125,$2442 - $2125
-
-; XXX where is the pointer to this data?
-MartInventories: ; 2442
-	; first byte $FE, next byte # of items, last byte $FF
-
-; Viridian
-ViridianMartText4: ; 2442 XXX confirm
-	db $FE,4,POKE_BALL,ANTIDOTE,PARLYZ_HEAL,BURN_HEAL,$FF
-
-; Pewter
-PewterMartText1: ; 2449
-	db $FE,7,POKE_BALL,POTION,ESCAPE_ROPE,ANTIDOTE,BURN_HEAL,AWAKENING
-	db PARLYZ_HEAL,$FF
-
-; Cerulean
-CeruleanMartText1: ; 2453
-	db $FE,7,POKE_BALL,POTION,REPEL,ANTIDOTE,BURN_HEAL,AWAKENING
-	db PARLYZ_HEAL,$FF
-
-; Bike shop
-	db $FE,1,BICYCLE,$FF
-
-; Vermilion
-VermilionMartText1: ; 2461
-	db $FE,6,POKE_BALL,SUPER_POTION,ICE_HEAL,AWAKENING,PARLYZ_HEAL
-	db REPEL,$FF
-
-; Lavender
-LavenderMartText1: ; 246a
-	db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,ESCAPE_ROPE,SUPER_REPEL
-	db ANTIDOTE,BURN_HEAL,ICE_HEAL,PARLYZ_HEAL,$FF
-
-; Celadon Dept. Store 2F (1)
-CeladonMart2Text1: ; 2476
-	db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,SUPER_REPEL,ANTIDOTE
-	db BURN_HEAL,ICE_HEAL,AWAKENING,PARLYZ_HEAL,$FF
-
-; Celadon Dept. Store 2F (2)
-CeladonMart2Text2: ; 2482
-	db $FE,9,TM_32,TM_33,TM_02,TM_07,TM_37,TM_01,TM_05,TM_09,TM_17,$FF
-
-; Celadon Dept. Store 4F
-CeladonMart4Text1: ; 248e
-	db $FE,5,POKE_DOLL,FIRE_STONE,THUNDER_STONE,WATER_STONE,LEAF_STONE,$FF
-
-; Celadon Dept. Store 5F (1)
-CeladonMart5Text3: ; 2496
-	db $FE,7,X_ACCURACY,GUARD_SPEC_,DIRE_HIT,X_ATTACK,X_DEFEND,X_SPEED
-	db X_SPECIAL,$FF
-
-; Celadon Dept. Store 5F (2)
-CeladonMart5Text4: ; 24a0
-	db $FE,5,HP_UP,PROTEIN,IRON,CARBOS,CALCIUM,$FF
-
-; Fuchsia
-FuchsiaMartText1: ; 24a8
-	db $FE,6,ULTRA_BALL,GREAT_BALL,SUPER_POTION,REVIVE,FULL_HEAL
-	db SUPER_REPEL,$FF
-
-; unused? 24b1
-	db $FE,5,GREAT_BALL,HYPER_POTION,SUPER_POTION,FULL_HEAL,REVIVE,$FF
-
-; Cinnabar
-CinnabarMartText1: ; 24b9
-	db $FE,7,ULTRA_BALL,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE
-	db FULL_HEAL,REVIVE,$FF
-
-; Saffron
-SaffronMartText1: ; 24c3
-	db $FE,6,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE,FULL_HEAL
-	db REVIVE,$FF
-
-; Indigo
-IndigoPlateauLobbyText4: ; 24cc
-	db $FE,7,ULTRA_BALL,GREAT_BALL,FULL_RESTORE,MAX_POTION,FULL_HEAL
-	db REVIVE,MAX_REPEL,$FF
-
-TextScriptEndingChar: ; 24D6
-	db "@"
-TextScriptEnd: ; 24D7 24d7
-	ld hl,TextScriptEndingChar
-	ret
-
-UnnamedText_24db: ; 0x24db
-	TX_FAR _UnnamedText_24db
-	db $50
-; 0x24db + 5 bytes
-
-UnnamedText_24e0: ; 0x24e0
-	TX_FAR _UnnamedText_24e0
-	db $50
-; 0x24e0 + 5 bytes
-
-VictoryRoad3Text10:
-VictoryRoad3Text9:
-VictoryRoad3Text8:
-VictoryRoad3Text7:
-VictoryRoad2Text13:
-VictoryRoad2Text12:
-VictoryRoad2Text11:
-SeafoamIslands1Text2:
-SeafoamIslands1Text1:
-SeafoamIslands5Text2:
-SeafoamIslands5Text1:
-SeafoamIslands4Text6:
-SeafoamIslands4Text5:
-SeafoamIslands4Text4:
-SeafoamIslands4Text3:
-SeafoamIslands4Text2:
-SeafoamIslands4Text1:
-SeafoamIslands3Text2:
-SeafoamIslands3Text1:
-SeafoamIslands2Text2:
-SeafoamIslands2Text1:
-FuchsiaHouse2Text3:
-VictoryRoad1Text7:
-VictoryRoad1Text6:
-VictoryRoad1Text5: ; 0x24e5
-	TX_FAR _VictoryRoad1Text5
-	db $50
-
-SaffronCityText19:
-CinnabarIslandText4:
-FuchsiaCityText14:
-VermilionCityText9:
-LavenderTownText6:
-CeruleanCityText14:
-PewterCityText8:
-ViridianCityText11: ; 0x24ea
-	TX_FAR _ViridianCityText11
-	db $50
-
-PewterCityText9:
-CeruleanCityText15:
-LavenderTownText7:
-VermilionCityText10:
-CeladonCityText12:
-FuchsiaCityText15:
-CinnabarIslandText5:
-SaffronCityText23:
-Route4Text4:
-Route10Text8:
-ViridianCityText12: ; 0x24ef
-	TX_FAR _ViridianCityText12
-	db $50
-
-Route2Text1:
-Route4Text3:
-Route9Text10:
-Route12Text9:
-Route12Text10:
-Route15Text11:
-Route24Text8:
-Route25Text10:
-ViridianGymText11:
-ViridianForestText5:
-ViridianForestText6:
-ViridianForestText7:
-MtMoon1Text8:
-MtMoon1Text9:
-MtMoon1Text10:
-MtMoon1Text11:
-MtMoon1Text12:
-MtMoon1Text13:
-MtMoon3Text8:
-MtMoon3Text9:
-PowerPlantText10:
-PowerPlantText11:
-PowerPlantText12:
-PowerPlantText13:
-PowerPlantText14:
-SSAnne8Text10:
-SSAnne9Text6:
-SSAnne9Text9:
-SSAnne10Text9:
-SSAnne10Text10:
-SSAnne10Text11:
-VictoryRoad1Text3:
-VictoryRoad1Text4:
-PokemonTower3Text4:
-PokemonTower4Text4:
-PokemonTower4Text5:
-PokemonTower4Text6:
-PokemonTower5Text6:
-PokemonTower6Text4:
-PokemonTower6Text5:
-FuchsiaHouse2Text2:
-VictoryRoad2Text7:
-VictoryRoad2Text8:
-VictoryRoad2Text9:
-VictoryRoad2Text10:
-VictoryRoad3Text5:
-VictoryRoad3Text6:
-RocketHideout1Text6:
-RocketHideout1Text7:
-RocketHideout2Text2:
-RocketHideout2Text3:
-RocketHideout2Text4:
-RocketHideout2Text5:
-RocketHideout3Text3:
-RocketHideout3Text4:
-RocketHideout4Text5:
-RocketHideout4Text6:
-RocketHideout4Text7:
-RocketHideout4Text8:
-RocketHideout4Text9:
-SilphCo3Text4:
-SilphCo4Text5:
-SilphCo4Text6:
-SilphCo4Text7:
-SilphCo5Text6:
-SilphCo5Text7:
-SilphCo5Text8:
-SilphCo6Text9:
-SilphCo6Text10:
-SilphCo7Text10:
-SilphCo7Text11:
-SilphCo7Text12:
-Mansion1Text2:
-Mansion1Text3:
-Mansion2Text2:
-Mansion3Text3:
-Mansion3Text4:
-Mansion4Text3:
-Mansion4Text4:
-Mansion4Text5:
-Mansion4Text6:
-Mansion4Text8:
-SafariZoneEastText1:
-SafariZoneEastText2:
-SafariZoneEastText3:
-SafariZoneEastText4:
-SafariZoneNorthText1:
-SafariZoneNorthText2:
-SafariZoneWestText1:
-SafariZoneWestText2:
-SafariZoneWestText3:
-SafariZoneWestText4:
-SafariZoneCenterText1:
-UnknownDungeon2Text1:
-UnknownDungeon2Text2:
-UnknownDungeon2Text3:
-UnknownDungeon3Text2:
-UnknownDungeon3Text3:
-UnknownDungeon1Text1:
-UnknownDungeon1Text2:
-UnknownDungeon1Text3:
-SilphCo10Text4:
-SilphCo10Text5:
-SilphCo10Text6:
-Route2Text2: ; 24f4 0x424f4
-	db $08 ; asm
-	ld a, $5c
-	call Predef
-	jp TextScriptEnd
-
-INCBIN "baserom.gbc",$24fd,$2920 - $24fd
-
-; this function is used to display sign messages, sprite dialog, etc.
-; INPUT: [$ff8c] = sprite ID or text ID
-DisplayTextID: ; 2920
-	ld a,[$ffb8]
-	push af
-	ld b,BANK(DisplayTextIDInit)
-	ld hl,DisplayTextIDInit ; initialization
-	call Bankswitch
-	ld hl,$cf11
-	bit 0,[hl]
-	res 0,[hl]
-	jr nz,.skipSwitchToMapBank\@
-	ld a,[W_CURMAP]
-	call SwitchToMapRomBank
-.skipSwitchToMapBank\@
-	ld a,$1e
-	ld [$ffd5],a ; joypad poll timer
-	ld hl,W_MAPTEXTPTR
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a ; hl = map text pointer
-	ld d,$00
-	ld a,[$ff8c] ; text ID
-	ld [$cf13],a
-	and a
-	jp z,$2acd
-	cp a,$d3 ; safari game over
-	jp z,$2a90
-	cp a,$d0 ; fainted
-	jp z,$2a9b
-	cp a,$d1 ; blacked out
-	jp z,$2aa9
-	cp a,$d2 ; repel wore off
-	jp z,$2abf
-	ld a,[$d4e1] ; number of sprites
-	ld e,a
-	ld a,[$ff8c] ; sprite ID
-	cp e
-	jr z,.spriteHandling\@
-	jr nc,.skipSpriteHandling\@
-.spriteHandling\@
-; get the text ID of the sprite
-	push hl
-	push de
-	push bc
-	ld b,$04
-	ld hl,$7074
-	call Bankswitch ; update the graphics of the sprite the player is talking to (to face the right direction)
-	pop bc
-	pop de
-	ld hl,$d4e4 ; NPC text entries
-	ld a,[$ff8c]
-	dec a
-	add a
-	add l
-	ld l,a
-	jr nc,.noCarry\@
-	inc h
-.noCarry\@
-	inc hl
-	ld a,[hl] ; a = text ID of the sprite
-	pop hl
-.skipSpriteHandling\@
-; look up the address of the text in the map's text entries
-	dec a
-	ld e,a
-	sla e
-	add hl,de
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	ld a,[hl] ; hl = address of the text
-; check for special cases
-	cp a,$fe   ; Pokemart NPC
-	jp z,$2a2e
-	cp a,$ff   ; Pokemon Center NPC
-	jp z,$2a72
-	cp a,$fc   ; Item Storage PC
-	jp z,$3460
-	cp a,$fd   ; Bill's PC
-	jp z,$346a
-	cp a,$f9   ; Pokemon Center PC
-	jp z,$347f
-	cp a,$f5   ; Vending Machine
-	jr nz,.notVendingMachine\@
-	ld b,$1d
-	ld hl,$4ee0
-	call Bankswitch
-	jr .skipTextDisplay\@
-.notVendingMachine\@
-	cp a,$f7   ; slot machine
-	jp z,$3474
-	cp a,$f6   ; cable connection NPC in Pokemon Center
-	jr nz,.notSpecialCase\@
-	ld hl,$71c5
-	ld b,$01
-	call Bankswitch
-	jr .skipTextDisplay\@
-.notSpecialCase\@
-	call $3c59 ; display the text
-	ld a,[$cc3c]
-	and a
-	jr nz,.holdBoxOpen\@
-.skipTextDisplay\@
-	ld a,[$cc47]
-	and a
-	jr nz,.holdBoxOpen\@
-	call $3865 ; wait for a button press after displaying all the text
-; loop to hold the dialogue box open as long as the player keeps holding down the A button
-.holdBoxOpen\@
-	call GetJoypadState
-	ld a,[$ffb4]
-	bit 0,a ; is the A button being pressed?
-	jr nz,.holdBoxOpen\@
-	ld a,[W_CURMAP]
-	call SwitchToMapRomBank
-	ld a,$90
-	ld [$ffb0],a ; move the window off the screen
-	call DelayFrame
-	call LoadGBPal
-	xor a
-	ld [$ffba],a ; disable continuous WRAM to VRAM transfer each V-blank
-; loop to make sprites face the directions they originally faced before the dialogue
-	ld hl,$c219
-	ld c,$0f
-	ld de,$0010
-.restoreSpriteFacingDirectionLoop\@
-	ld a,[hl]
-	dec h
-	ld [hl],a
-	inc h
-	add hl,de
-	dec c
-	jr nz,.restoreSpriteFacingDirectionLoop\@
-	ld a,$05
-	ld [$ffb8],a
-	ld [$2000],a
-	call $785b ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns)
-	ld hl,$cfc4
-	res 0,[hl]
-	ld a,[$d732]
-	bit 3,a
-	call z,LoadPlayerSpriteGraphics
-	call LoadCurrentMapView
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a
-	jp $2429 ; move sprites
-
-INCBIN "baserom.gbc",$2a2e,$2a55 - $2a2e
-
-UnnamedText_2a55: ; 0x2a55
-	TX_FAR _UnnamedText_2a55
-	db $50
-; 0x2a55 + 5 bytes
-
-INCBIN "baserom.gbc",$2a5a,$2aa4 - $2a5a
-
-UnnamedText_2aa4: ; 0x2aa4
-	TX_FAR _UnnamedText_2aa4
-	db $50
-; 0x2aa4 + 5 bytes
-
-INCBIN "baserom.gbc",$2aa9,$2aba - $2aa9
-
-UnnamedText_2aba: ; 0x2aba
-	TX_FAR _UnnamedText_2aba
-	db $50
-; 0x2aba + 5 bytes
-
-INCBIN "baserom.gbc",$2abf,$2ac8 - $2abf
-
-UnnamedText_2ac8: ; 0x2ac8
-	TX_FAR _UnnamedText_2ac8
-	db $50
-; 0x2ac8 + 5 bytes
-
-INCBIN "baserom.gbc",$2acd,$4d1
-
-GetMonName: ; 2F9E
-	push hl
-	ld a,[$ffb8]
-	push af
-	ld a,BANK(MonsterNames) ; 07
-	ld [$ffb8],a
-	ld [$2000],a
-	ld a,[$d11e]
-	dec a
-	ld hl,MonsterNames ; 421E
-	ld c,10
-	ld b,0
-	call AddNTimes
-	ld de,$cd6d
-	push de
-	ld bc,10
-	call CopyData
-	ld hl,$cd77
-	ld [hl],$50
-	pop de
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a
-	pop hl
-	ret
-
-GetItemName: ; 2FCF
-; given an item ID at [$D11E], store the name of the item into a string
-;     starting at $CD6D
-	push hl
-	push bc
-	ld a,[$D11E]
-	cp HM_01 ; is this a TM/HM?
-	jr nc,.Machine\@
-
-	ld [$D0B5],a
-	ld a,ITEM_NAME
-	ld [$D0B6],a
-	ld a,BANK(ItemNames)
-	ld [$D0B7],a
-	call GetName
-	jr .Finish\@
-
-.Machine\@
-	call GetMachineName
-.Finish\@
-	ld de,$CD6D ; pointer to where item name is stored in RAM
-	pop bc
-	pop hl
-	ret
-
-GetMachineName: ; 2ff3
-; copies the name of the TM/HM in [$D11E] to $CD6D
-	push hl
-	push de
-	push bc
-	ld a,[$D11E]
-	push af
-	cp TM_01 ; is this a TM? [not HM]
-	jr nc,.WriteTM\@
-; if HM, then write "HM" and add 5 to the item ID, so we can reuse the
-; TM printing code
-	add 5
-	ld [$D11E],a
-	ld hl,HiddenPrefix ; points to "HM"
-	ld bc,2
-	jr .WriteMachinePrefix\@
-.WriteTM\@
-	ld hl,TechnicalPrefix ; points to "TM"
-	ld bc,2
-.WriteMachinePrefix\@
-	ld de,$CD6D
-	call CopyData
-
-; now get the machine number and convert it to text
-	ld a,[$D11E]
-	sub TM_01 - 1
-	ld b,$F6 ; "0"
-.FirstDigit\@
-	sub 10
-	jr c,.SecondDigit\@
-	inc b
-	jr .FirstDigit\@
-.SecondDigit\@
-	add 10
-	push af
-	ld a,b
-	ld [de],a
-	inc de
-	pop af
-	ld b,$F6 ; "0"
-	add b
-	ld [de],a
-	inc de
-	ld a,"@"
-	ld [de],a
-
-	pop af
-	ld [$D11E],a
-	pop bc
-	pop de
-	pop hl
-	ret
-
-TechnicalPrefix: ; 303c
-	db "TM"
-HiddenPrefix: ; 303e
-	db "HM"
-
-INCBIN "baserom.gbc",$3040,$31cc - $3040
-
-LoadTrainerHeader: ; 0x31cc
-	call $3157
-	xor a
-	call $3193
-	ld a, $2
-	call $3193
-	ld a, [$cc55]
-	ld c, a
-	ld b, $2
-	call $31c7
-	ld a, c
-	and a
-	jr z, .asm_c2964 ; 0x31e3 $8
-	ld a, $6
-	call $3193
-	jp PrintText
-.asm_c2964 ; 0x31ed
-	ld a, $4
-	call $3193
-	call PrintText
-	ld a, $a
-	call $3193
-	push de
-	ld a, $8
-	call $3193
-	pop de
-	call $3354
-	ld hl, $d733
-	set 4, [hl]
-	ld hl, $cd60
-	bit 0, [hl]
-	ret nz
-	call $336a
-	ld hl, $da39
-	inc [hl]
-	jp $325d
-	call $3306
-	ld a, [$cf13]
-	cp $ff
-	jr nz, .asm_76c22 ; 0x3221 $8
-	xor a
-	ld [$cf13], a
-	ld [$cc55], a
-	ret
-.asm_76c22 ; 0x322b
-	ld hl, $d733
-	set 3, [hl]
-	ld [$cd4f], a
-	xor a
-	ld [$cd50], a
-	ld a, $4c
-	call Predef
-	ld a, $f0
-	ld [$cd6b], a
-	xor a
-	ldh [$b4], a
-	call $32cf
-	ld hl, $da39
-	inc [hl]
-	ret
-
-INCBIN "baserom.gbc",$324c,$3474 - $324c
-
-FuncTX_F7: ; 3474
-; XXX find a better name for this function
-; special_F7
-	ld b,BANK(CeladonPrizeMenu)
-	ld hl,CeladonPrizeMenu
-	call Bankswitch
-	jp $29DF        ; continue to main text-engine function
-
-INCBIN "baserom.gbc",$347F,$3493 - $347F
-
-IsItemInBag: ; 3493
-; given an item_id in b
-; set zero flag if item isn't in player's bag
-; else reset zero flag
-; related to Pokémon Tower and ghosts
-	ld a,$1C
-	call Predef
-	ld a,b
-	and a
-	ret
-
-INCBIN "baserom.gbc",$349B,$3541 - $349B
-
-Function3541: ; 3541
-; XXX what do these three functions do
-	push hl
-	call Function354E
-	ld [hl],$FF
-	call Function3558
-	ld [hl],$FF ; prevent person from walking?
-	pop hl
-	ret
-
-Function354E: ; 354E
-	ld h,$C2
-	ld a,[$FF8C] ; the sprite to move
-	swap a
-	add a,6
-	ld l,a
-	ret
-
-Function3558: ; 3558
-	push de
-	ld hl,W_PEOPLEMOVEPERMISSIONS
-	ld a,[$FF8C] ; the sprite to move
-	dec a
-	add a
-	ld d,0
-	ld e,a
-	add hl,de
-	pop de
-	ret
-
-INCBIN "baserom.gbc",$3566,$35BC - $3566
-
-BankswitchHome: ; 35BC
-; switches to bank # in a
-; Only use this when in the home bank!
-	ld [$CF09],a
-	ld a,[$FFB8]
-	ld [$CF08],a
-	ld a,[$CF09]
-	ld [$FFB8],a
-	ld [$2000],a
-	ret
-
-BankswitchBack: ; 35CD
-; returns from BankswitchHome
-	ld a,[$CF08]
-	ld [$FFB8],a
-	ld [$2000],a
-	ret
-
-Bankswitch: ; 35D6
-; self-contained bankswitch, use this when not in the home bank
-; switches to the bank in b
-	ld a,[$FFB8]
-	push af
-	ld a,b
-	ld [$FFB8],a
-	ld [$2000],a
-	ld bc,.Return\@
-	push bc
-	jp [hl]
-.Return\@
-	pop bc
-	ld a,b
-	ld [$FFB8],a
-	ld [$2000],a
-	ret
-
-INCBIN "baserom.gbc",$35EC,$363A - $35EC
-
-MoveSprite: ; 363A
-; move the sprite [$FF8C] with the movement pointed to by de
-; actually only copies the movement data to $CC5B for later
-	call Function3541
-	push hl
-	push bc
-	call Function354E
-	xor a
-	ld [hl],a
-	ld hl,$CC5B
-	ld c,0
-
-.loop\@
-	ld a,[de]
-	ld [hli],a
-	inc de
-	inc c
-	cp a,$FF ; have we reached the end of the movement data?
-	jr nz,.loop\@
-
-	ld a,c
-	ld [$CF0F],a ; number of steps taken
-
-	pop bc
-	ld hl,$D730
-	set 0,[hl]
-	pop hl
-	xor a
-	ld [$CD3B],a
-	ld [$CCD3],a
-	dec a
-	ld [$CD6B],a
-	ld [$CD3A],a
-	ret
-
-INCBIN "baserom.gbc",$366B,$3739 - $366B
-
-DelayFrames: ; 3739
-; wait n frames, where n is the value in c
-	call DelayFrame
-	dec c
-	jr nz,DelayFrames
-	ret
-
-INCBIN "baserom.gbc",$3740,$375D - $3740
-
-NamePointers: ; 375D
-	dw MonsterNames
-	dw MoveNames
-	dw UnusedNames
-	dw ItemNames
-	dw $D273 ; player's OT names list
-	dw $D9AC ; enemy's OT names list
-	dw TrainerNames
-
-GetName: ; 376B
-; arguments:
-; [$D0B5] = which name
-; [$D0B6] = which list
-; [$D0B7] = bank of list
-;
-; returns pointer to name in de
-	ld a,[$d0b5]
-	ld [$d11e],a
-	cp a,$C4        ;it's TM/HM
-	jp nc,GetMachineName
-	ld a,[$ffb8]
-	push af
-	push hl
-	push bc
-	push de
-	ld a,[$d0b6]    ;List3759_entrySelector
-	dec a
-	jr nz,.otherEntries\@
-	;1 = MON_NAMES
-	call GetMonName
-	ld hl,11
-	add hl,de
-	ld e,l
-	ld d,h
-	jr .gotPtr\@
-.otherEntries\@ ; $378d
-	;2-7 = OTHER ENTRIES
-	ld a,[$d0b7]
-	ld [$ffb8],a
-	ld [$2000],a
-	ld a,[$d0b6]    ;VariousNames' entryID
-	dec a
-	add a
-	ld d,0
-	ld e,a
-	jr nc,.skip\@
-	inc d
-.skip\@ ; $37a0
-	ld hl,NamePointers
-	add hl,de
-	ld a,[hli]
-	ld [$ff96],a
-	ld a,[hl]
-	ld [$ff95],a
-	ld a,[$ff95]
-	ld h,a
-	ld a,[$ff96]
-	ld l,a
-	ld a,[$d0b5]
-	ld b,a
-	ld c,0
-.nextName\@
-	ld d,h
-	ld e,l
-.nextChar\@
-	ld a,[hli]
-	cp a,$50
-	jr nz,.nextChar\@
-	inc c           ;entry counter
-	ld a,b          ;wanted entry
-	cp c
-	jr nz,.nextName\@
-	ld h,d
-	ld l,e
-	ld de,$cd6d
-	ld bc,$0014
-	call CopyData
-.gotPtr\@ ; $37cd
-	ld a,e
-	ld [$cf8d],a
-	ld a,d
-	ld [$cf8e],a
-	pop de
-	pop bc
-	pop hl
-	pop af
-	ld [$ffb8],a
-	ld [$2000],a
-	ret
-
-INCBIN "baserom.gbc",$37df,$3831 - $37df
-
-; this function is used when lower button sensitivity is wanted (e.g. menus)
-; OUTPUT: [$ffb5] = pressed buttons in usual format
-; there are two flags that control its functionality, [$ffb6] and [$ffb7]
-; there are esentially three modes of operation
-; 1. Get newly pressed buttons only
-;    ([$ffb7] == 0, [$ffb6] == any)
-;    Just copies [$ffb3] to [$ffb5].
-; 2. Get currently pressed buttons at low sample rate with delay
-;    ([$ffb7] == 0, [$ffb6] != 0)
-;    If the user holds down buttons for more than half a second,
-;    report buttons as being pressed up to 12 times per second thereafter.
-;    If the user holds down buttons for less than half a second,
-;    report only one button press.
-; 3. Same as 2, but report no buttons as pressed if A or B is held down.
-;    ([$ffb7] == 0, [$ffb6] == 0)
-GetJoypadStateLowSensitivity: ; 3831
-	call GetJoypadState
-	ld a,[$ffb7] ; flag
-	and a ; get all currently pressed buttons or only newly pressed buttons?
-	ld a,[$ffb3] ; newly pressed buttons
-	jr z,.storeButtonState\@
-	ld a,[$ffb4] ; all currently pressed buttons
-.storeButtonState\@
-	ld [$ffb5],a
-	ld a,[$ffb3] ; newly pressed buttons
-	and a ; have any buttons been newly pressed since last check?
-	jr z,.noNewlyPressedButtons\@
-.newlyPressedButtons\@
-	ld a,30 ; half a second delay
-	ld [$ffd5],a ; frame counter
-	ret
-.noNewlyPressedButtons\@
-	ld a,[$ffd5] ; frame counter
-	and a ; is the delay over?
-	jr z,.delayOver\@
-.delayNotOver\@
-	xor a
-	ld [$ffb5],a ; report no buttons as pressed
-	ret
-.delayOver\@
-; if [$ffb6] = 0 and A or B is pressed, report no buttons as pressed
-	ld a,[$ffb4]
-	and a,%00000011 ; A and B buttons
-	jr z,.setShortDelay\@
-	ld a,[$ffb6] ; flag
-	and a
-	jr nz,.setShortDelay\@
-	xor a
-	ld [$ffb5],a             
-.setShortDelay\@
-	ld a,5 ; 1/12 of a second delay
-	ld [$ffd5],a ; frame counter
-	ret
-
-INCBIN "baserom.gbc",$3865,$3927 - $3865
-
-AddPokemonToParty: ; 0x3927
-	push hl
-	push de
-	push bc
-	ld b, $3 ; BANK(MyFunction)
-	ld hl, $72e5 ; MyFunction
-	call Bankswitch
-	pop bc
-	pop de
-	pop hl
-	ret
-
-INCBIN "baserom.gbc",$3936,$3A87 - $3936
-
-AddNTimes: ; 3A87
-; add bc to hl a times
-	and a
-	ret z
-.loop\@
-	add hl,bc
-	dec a
-	jr nz,.loop\@
-	ret
-
-INCBIN "baserom.gbc",$3A8E,$3C49 - $3A8E
-
-PrintText: ; 3C49
-; given a pointer in hl, print the text there
-	push hl
-	ld a,1
-	ld [$D125],a
-	call $30E8
-	call $2429
-	call Delay3
-	pop hl
-	FuncCoord 1,14
-	ld bc,Coord ;$C4B9
-	jp $1B40
-
-Func3C5F: ; 3C5F
-	push bc
-	xor a
-	ld [$FF95],a
-	ld [$FF96],a
-	ld [$FF97],a
-	ld a,b
-	and $F
-	cp 1
-	jr z,.next\@
-	cp 2
-	jr z,.next2\@
-	ld a,[de]
-	ld [$FF96],a
-	inc de
-	ld a,[de]
-	ld [$FF97],a
-	inc de
-	ld a,[de]
-	ld [$FF98],a
-	jr .next3\@
-
-.next2\@
-	ld a,[de]
-	ld [$FF97],a
-	inc de
-	ld a,[de]
-	ld [$FF98],a
-	jr .next3\@
-
-.next\@
-	ld a,[de]
-	ld [$FF98],a
-
-.next3\@
-	push de
-	ld d,b
-	ld a,c
-	ld b,a
-	xor a
-	ld c,a
-	ld a,b
-	cp 2
-	jr z,.next4\@
-	cp 3
-	jr z,.next5\@
-	cp 4
-	jr z,.next6\@
-	cp 5
-	jr z,.next7\@
-	cp 6
-	jr z,.next8\@
-	ld a,$F
-	ld [$FF99],a
-	ld a,$42
-	ld [$FF9A],a
-	ld a,$40
-	ld [$FF9B],a
-	call $3D25
-	call $3D89
-.next8\@
-	ld a,1
-	ld [$FF99],a
-	ld a,$86
-	ld [$FF9A],a
-	ld a,$A0
-	ld [$FF9B],a
-	call $3D25
-	call $3D89
-.next7\@
-	xor a
-	ld [$FF99],a
-	ld a,$27
-	ld [$FF9A],a
-	ld a,$10
-	ld [$FF9B],a
-	call $3D25
-	call $3D89
-.next6\@
-	xor a
-	ld [$FF99],a
-	ld a,3
-	ld [$FF9A],a
-	ld a,$E8
-	ld [$FF9B],a
-	call $3D25
-	call $3D89
-.next5\@
-	xor a
-	ld [$FF99],a
-	xor a
-	ld [$FF9A],a
-	ld a,$64
-	ld [$FF9B],a
-	call $3D25
-	call $3D89
-.next4\@
-	ld c,0
-	ld a,[$FF98]
-.next10\@
-	cp $A
-	jr c,.next9\@
-	sub $A
-	inc c
-	jr .next10\@
-.next9\@
-	ld b,a
-	ld a,[$FF95]
-	or c
-	ld [$FF95],a
-	jr nz,.next11\@
-	call $3D83
-	jr .next12\@
-.next11\@
-	ld a,$F6
-	add a,c
-	ld [hl],a
-.next12\@
-	call $3D89
-	ld a,$F6
-	add a,b
-	ld [hli],a
-	pop de
-	dec de
-	pop bc
-	ret
-
-INCBIN "baserom.gbc",$3D25,$3DAB - $3D25
-
-IsInArray: ; 3DAB
-; searches an array at hl for the value in a.
-; skips (de − 1) bytes between reads, so to check every byte, de should be 1.
-; if found, returns count in b and sets carry.
-	ld b,0
-	ld c,a
-.loop\@
-	ld a,[hl]
-	cp a,$FF
-	jr z,.NotInArray\@
-	cp c
-	jr z,.InArray\@
-	inc b
-	add hl,de
-	jr .loop\@
-.NotInArray\@
-	and a
-	ret
-.InArray\@
-	scf
-	ret
-
-INCBIN "baserom.gbc",$3DBE,$3DD7 - $3DBE
-
-Delay3: ; 3DD7
-; call Delay with a parameter of 3
-	ld c,3
-	jp DelayFrames
-
-INCBIN "baserom.gbc",$3DDC,$3DED - $3DDC
-
-GoPAL_SET_CF1C: ; 3ded
-	ld b,$ff
-GoPAL_SET: 	; 3def
-	ld a,[$cf1b]
-	and a
-	ret z
-	ld a,$45
-	jp Predef
-
-INCBIN "baserom.gbc",$3df9,$3e2e - $3df9
-
-GiveItem: ; 0x3e2e
-	ld a, b
-	ld [$d11e], a
-	ld [$cf91], a
-	ld a, c
-	ld [$cf96], a
-	ld hl,W_NUMBAGITEMS
-	call $2bcf
-	ret nc
-	call GetItemName ; $2fcf
-	call $3826
-	scf
-	ret
-
-GivePokemon: ; 0x3e48
-	ld a, b
-	ld [$cf91], a
-	ld a, c
-	ld [$d127], a
-	xor a
-	ld [$cc49], a
-	ld b, $13
-	ld hl, $7da5
-	jp Bankswitch
-
-GenRandom: ; 3E5C
-; store a random 8-bit value in a
-	push hl
-	push de
-	push bc
-	ld b,BANK(GenRandom_)
-	ld hl,GenRandom_
-	call Bankswitch
-	ld a,[H_RAND1]
-	pop bc
-	pop de
-	pop hl
-	ret
-
-Predef: ; 3E6D
-; runs a predefined ASM command, where the command ID is read from $D0B7
-; $3E6D grabs the ath pointer from PredefPointers and executes it
-
-	ld [$CC4E],a ; save the predef routine's ID for later
-
-	ld a,[$FFB8]
-	ld [$CF12],a
-
-	; save bank and call 13:7E49
-	push af
-	ld a,BANK(GetPredefPointer)
-	ld [$FFB8],a
-	ld [$2000],a
-	call GetPredefPointer
-
-	; call the predef function
-	; ($D0B7 has the bank of the predef routine)
-	ld a,[$D0B7]
-	ld [$FFB8],a
-	ld [$2000],a
-	ld de,.Return\@
-	push de
-	jp [hl]
-	; after the predefined function finishes it returns here
-.Return\@
-	pop af
-	ld [$FFB8],a
-	ld [$2000],a
-	ret
-
-INCBIN "baserom.gbc",$3E94,$4000 - $3E94
-
-SECTION "bank1",DATA,BANK[$1]
-
-INCBIN "baserom.gbc",$4000,$112
-
-MewPicFront: ; 0x4112
-	INCBIN "pic/bmon/mew.pic"
-MewPicBack: ; 0x4205
-	INCBIN "pic/monback/mewb.pic"
-; 0x425b
-
-INCBIN "baserom.gbc",$425b,$42a7 - $425b
-
-UnnamedText_42a7: ; 0x42a7
-	TX_FAR SafariZoneEatingText
-	db $50
-; 0x42a7 + 5 bytes
-
-UnnamedText_42ac: ; 0x42ac
-	TX_FAR SafariZoneAngryText
-	db $50
-; 0x42ac + 5 bytes
-
-INCBIN "baserom.gbc",$42b1,$84
-
-; 0x4335
-IF _RED
-	ld de,$9600 ; where to put redgreenversion.2bpp in the VRAM
-	ld bc,$50 ; how big that file is
-ENDC
-IF _BLUE
-	ld de,$9610 ; where to put blueversion.2bpp in the VRAM
-	ld bc,$40 ; how big that file is
-ENDC
-
-INCBIN "baserom.gbc",$433B,$4398-$433B
-
-IF _RED
-	ld a,CHARMANDER ; which Pokemon to show first on the title screen
-ENDC
-IF _BLUE
-	ld a,SQUIRTLE ; which Pokemon to show first on the title screen
-ENDC
-
-INCBIN "baserom.gbc",$439A,$4588-$439A
-
-TitleMons: ; 4588
-; mons on the title screen are randomly chosen from here
-IF _RED
-	db CHARMANDER
-	db SQUIRTLE
-	db BULBASAUR
-	db WEEDLE
-	db NIDORAN_M
-	db SCYTHER
-	db PIKACHU
-	db CLEFAIRY
-	db RHYDON
-	db ABRA
-	db GASTLY
-	db DITTO
-	db PIDGEOTTO
-	db ONIX
-	db PONYTA
-	db MAGIKARP
-ENDC
-IF _GREEN
-	db BULBASAUR
-	db CHARMANDER
-	db SQUIRTLE
-	db CATERPIE
-	db NIDORAN_F
-	db PINSIR
-	db PIKACHU
-	db CLEFAIRY
-	db RHYDON
-	db ABRA
-	db GASTLY
-	db DITTO
-	db PIDGEOTTO
-	db ONIX
-	db PONYTA
-	db MAGIKARP
-ENDC
-IF _BLUE
-	db SQUIRTLE
-	db CHARMANDER
-	db BULBASAUR
-	db MANKEY
-	db HITMONLEE
-	db VULPIX
-	db CHANSEY
-	db AERODACTYL
-	db JOLTEON
-	db SNORLAX
-	db GLOOM
-	db POLIWAG
-	db DODUO
-	db PORYGON
-	db GENGAR
-	db RAICHU
-ENDC
-
-INCBIN "baserom.gbc",$4598,$45A1-$4598
-
-; xxx Version tilemap on the title screen
-IF _RED
-	db $60,$61,$7F,$65,$66,$67,$68,$69,$50
-ENDC
-IF _BLUE
-	db $61,$62,$63,$64,$65,$66,$67,$68,$50
-ENDC
-
-INCBIN "baserom.gbc",$45AA,$472B-$45AA
-
-ItemNames: ; 472B
-	db "MASTER BALL@"
-	db "ULTRA BALL@"
-	db "GREAT BALL@"
-	db "POKé BALL@"
-	db "TOWN MAP@"
-	db "BICYCLE@"
-	db "?????@"
-	db "SAFARI BALL@"
-	db "POKéDEX@"
-	db "MOON STONE@"
-	db "ANTIDOTE@"
-	db "BURN HEAL@"
-	db "ICE HEAL@"
-	db "AWAKENING@"
-	db "PARLYZ HEAL@"
-	db "FULL RESTORE@"
-	db "MAX POTION@"
-	db "HYPER POTION@"
-	db "SUPER POTION@"
-	db "POTION@"
-	db "BOULDERBADGE@"
-	db "CASCADEBADGE@"
-	db "THUNDERBADGE@"
-	db "RAINBOWBADGE@"
-	db "SOULBADGE@"
-	db "MARSHBADGE@"
-	db "VOLCANOBADGE@"
-	db "EARTHBADGE@"
-	db "ESCAPE ROPE@"
-	db "REPEL@"
-	db "OLD AMBER@"
-	db "FIRE STONE@"
-	db "THUNDERSTONE@"
-	db "WATER STONE@"
-	db "HP UP@"
-	db "PROTEIN@"
-	db "IRON@"
-	db "CARBOS@"
-	db "CALCIUM@"
-	db "RARE CANDY@"
-	db "DOME FOSSIL@"
-	db "HELIX FOSSIL@"
-	db "SECRET KEY@"
-	db "?????@"
-	db "BIKE VOUCHER@"
-	db "X ACCURACY@"
-	db "LEAF STONE@"
-	db "CARD KEY@"
-	db "NUGGET@"
-	db "PP UP@"
-	db "POKé DOLL@"
-	db "FULL HEAL@"
-	db "REVIVE@"
-	db "MAX REVIVE@"
-	db "GUARD SPEC.@"
-	db "SUPER REPEL@"
-	db "MAX REPEL@"
-	db "DIRE HIT@"
-	db "COIN@"
-	db "FRESH WATER@"
-	db "SODA POP@"
-	db "LEMONADE@"
-	db "S.S.TICKET@"
-	db "GOLD TEETH@"
-	db "X ATTACK@"
-	db "X DEFEND@"
-	db "X SPEED@"
-	db "X SPECIAL@"
-	db "COIN CASE@"
-	db "OAK's PARCEL@"
-	db "ITEMFINDER@"
-	db "SILPH SCOPE@"
-	db "POKé FLUTE@"
-	db "LIFT KEY@"
-	db "EXP.ALL@"
-	db "OLD ROD@"
-	db "GOOD ROD@"
-	db "SUPER ROD@"
-	db "PP UP@"
-	db "ETHER@"
-	db "MAX ETHER@"
-	db "ELIXER@"
-	db "MAX ELIXER@"
-	db "B2F@"
-	db "B1F@"
-	db "1F@"
-	db "2F@"
-	db "3F@"
-	db "4F@"
-	db "5F@"
-	db "6F@"
-	db "7F@"
-	db "8F@"
-	db "9F@"
-	db "10F@"
-	db "11F@"
-	db "B4F@"
-
-UnusedNames: ; 4A92
-	db "かみなりバッヂ@"
-	db "かいがらバッヂ@"
-	db "おじぞうバッヂ@"
-	db "はやぶさバッヂ@"
-	db "ひんやりバッヂ@"
-	db "なかよしバッヂ@"
-	db "バラバッヂ@"
-	db "ひのたまバッヂ@"
-	db "ゴールドバッヂ@"
-	db "たまご@"
-	db "ひよこ@"
-	db "ブロンズ@"
-	db "シルバー@"
-	db "ゴールド@"
-	db "プチキャプテン@"
-	db "キャプテン@"
-	db "プチマスター@"
-	db "マスター@"
-
-INCBIN "baserom.gbc",$4b09,$4e2c - $4b09
-
-UnnamedText_4e2c: ; 0x4e2c
-	TX_FAR _UnnamedText_4e2c
-	db $50
-; 0x4e2c + 5 bytes
-
-INCBIN "baserom.gbc",$4e31,$5a24 - $4e31
-
-UnnamedText_5a24: ; 0x5a24
-	TX_FAR _UnnamedText_5a24
-	db $50
-; 0x5a24 + 5 bytes
-
-INCBIN "baserom.gbc",$5a29,$c9
-
-MainMenu: ; 0x5af2
-; Check save file
-	call Func_5bff
-	xor a
-	ld [$D08A],a
-	inc a
-	ld [$D088],a
-	call $609E
-	jr nc,.next0\@
-
-	; Predef 52 loads the save from SRAM to RAM
-	ld a,$52
-	call Predef
-
-.next0\@
-	ld c,20
-	call DelayFrames
-	xor a
-	ld [$D12B],a
-	ld hl,$CC2B
-	ld [hli],a
-	ld [hli],a
-	ld [hli],a
-	ld [hl],a
-	ld [$D07C],a
-	ld hl,$D72E
-	res 6,[hl]
-	call ClearScreen
-	call $3DED
-	call $36A0 ; load some graphics in VRAM
-	call $3680 ; load fonts in VRAM
-	ld hl,$D730
-	set 6,[hl]
-	ld a,[$D088]
-	cp a,1
-	jr z,.next1\@
-	FuncCoord 0,0
-	ld hl,Coord
-	ld b,6
-	ld c,13
-	call TextBoxBorder
-	FuncCoord 2,2
-	ld hl,Coord
-	ld de,$5D7E
-	call PlaceString
-	jr .next2\@
-.next1\@
-	FuncCoord 0,0
-	ld hl,Coord
-	ld b,4
-	ld c,13
-	call TextBoxBorder
-	FuncCoord 2,2
-	ld hl,Coord
-	ld de,$5D87
-	call PlaceString
-.next2\@
-	ld hl,$D730
-	res 6,[hl]
-	call $2429 ; OAM?
-	xor a
-	ld [$CC26],a
-	ld [$CC2A],a
-	ld [$CC34],a
-	inc a
-	ld [$CC25],a
-	inc a
-	ld [$CC24],a
-	ld a,$B
-	ld [$CC29],a
-	ld a,[$D088]
-	ld [$CC28],a
-	call $3ABE
-	bit 1,a
-	jp nz,$42DD ; load title screen (gfx and arrangement)
-	ld c,20
-	call DelayFrames
-	ld a,[$CC26]
-	ld b,a
-	ld a,[$D088]
-	cp a,2
-	jp z,.next3\@
-	inc b ; adjust MenuArrow_Counter
-.next3\@
-	ld a,b
-	and a
-	jr z,.next4\@ ; if press_A on Continue
-	cp a,1
-	jp z,$5D52 ; if press_A on NewGame
-	call $5E8A ; if press_a on Options
-	ld a,1
-	ld [$D08A],a
-	jp .next0\@
-.next4\@
-	call $5DB5
-	ld hl,$D126
-	set 5,[hl]
-.next6\@
-	xor a
-	ld [$FFB3],a
-	ld [$FFB2],a
-	ld [$FFB4],a
-	call GetJoypadState
-	ld a,[$FFB4]
-	bit 0,a
-	jr nz,.next5\@
-	bit 1,a
-	jp nz,.next0\@
-	jr .next6\@
-.next5\@
-	call $3DD4
-	call ClearScreen
-	ld a,4
-	ld [$D52A],a
-	ld c,10
-	call DelayFrames
-	ld a,[$D5A2]
-	and a
-	jp z,$5D5F
-	ld a,[W_CURMAP] ; map ID
-	cp a,HALL_OF_FAME
-	jp nz,$5D5F
-	xor a
-	ld [$D71A],a
-	ld hl,$D732
-	set 2,[hl]
-	call $62CE
-	jp $5D5F
-Func_5bff: ; 0x5bff
-	ld a,1
-	ld [$D358],a
-	ld a,3
-	ld [$D355],a
-	ret
-; 0x5c0a
-
-INCBIN "baserom.gbc",$5c0a,$5d43 - $5c0a
-
-UnnamedText_5d43: ; 0x5d43
-	TX_FAR _UnnamedText_5d43
-	db $50
-; 0x5d43 + 5 bytes
-
-UnnamedText_5d48: ; 0x5d48
-	TX_FAR _UnnamedText_5d48
-	db $50
-; 0x5d48 + 5 bytes
-
-UnnamedText_5d4d: ; 0x5d4d
-	TX_FAR _UnnamedText_5d4d
-	db $50
-; 0x5d4d + 5 bytes
-
-INCBIN "baserom.gbc",$5d52,$3c3
-
-OakSpeech: ; 6115
-	ld a,$FF
-	call $23B1 ; stop music
-	ld a,2     ; bank of song
-	ld c,a
-	ld a,$EF    ; song #
-	call $23A1  ; plays music
-	call ClearScreen
-	call $36A0
-	call $60CA
-	ld a,$18
-	call Predef
-	ld hl,$D53A
-	ld a,$14
-	ld [$CF91],a
-	ld a,1
-	ld [$CF96],a
-	call $2BCF
-	ld a,[$D07C]
-	ld [$D71A],a
-	call Function62CE
-	xor a
-	ld [$FFD7],a
-	ld a,[$D732]
-	bit 1,a ; XXX when is bit 1 set?
-	jp nz,Function61BC ; easter egg: skip the intro
-	ld de,$615F
-	ld bc,$1300
-	call IntroPredef3B   ; displays Oak pic?
-	call FadeInIntroPic
-	ld hl,OakSpeechText1
-	call PrintText      ; prints text box
-	call GBFadeOut2
-	call ClearScreen
-	ld a,NIDORINO
-	ld [$D0B5],a    ; pic displayed is stored at this location
-	ld [$CF91],a
-	call $1537      ; this is also related to the pic
-	ld hl,$C3F6     ; position on tilemap the pic is displayed
-	call $1384      ; displays pic?
-	call MovePicLeft
-	ld hl,OakSpeechText2
-	call PrintText      ; Prints text box
-	call GBFadeOut2
-	call ClearScreen
-	ld de,$6EDE
-	ld bc,$0400     ; affects the position of the player pic
-	call IntroPredef3B      ; displays player pic?
-	call MovePicLeft
-	ld hl,IntroducePlayerText
-	call PrintText
-	call $695D ; brings up NewName/Red/etc menu
-	call GBFadeOut2
-	call ClearScreen
-	ld de,$6049
-	ld bc,$1300
-	call IntroPredef3B ; displays rival pic
-	call FadeInIntroPic
-	ld hl,IntroduceRivalText
-	call PrintText
-	call $69A4
-Function61BC: ; 0x61bc
-	call GBFadeOut2
-	call ClearScreen
-	ld de,$6EDE
-	ld bc,$0400
-	call IntroPredef3B
-	call GBFadeIn2
-	ld a,[$D72D]
-	and a
-	jr nz,.next\@
-	ld hl,OakSpeechText3
-	call PrintText
-.next\@	ld a,[$FFB8]
-	push af
-	ld a,$9C
-	call $23B1
-	pop af
-	ld [$FFB8],a
-	ld [$2000],a
-	ld c,4
-	call DelayFrames
-	ld de,$4180
-	ld hl,$8000
-	ld bc,$050C
-	call $1848
-	ld de,$6FE8
-	ld bc,$0400
-	call IntroPredef3B
-	ld c,4
-	call DelayFrames
-	ld de,$7042
-	ld bc,$0400
-	call IntroPredef3B
-	call $28A6
-	ld a,[$FFB8]
-	push af
-	ld a,2
-	ld [$C0EF],a
-	ld [$C0F0],a
-	ld a,$A
-	ld [$CFC7],a
-	ld a,$FF
-	ld [$C0EE],a
-	call $23B1 ; stop music
-	pop af
-	ld [$FFB8],a
-	ld [$2000],a
-	ld c,$14
-	call DelayFrames
-	ld hl,$C40A
-	ld b,7
-	ld c,7
-	call $18C4
-	call $36A0
-	ld a,1
-	ld [$CFCB],a
-	ld c,$32
-	call DelayFrames
-	call GBFadeOut2
-	jp ClearScreen
-OakSpeechText1: ; 0x6253
-	TX_FAR _OakSpeechText1
-	db "@"
-OakSpeechText2: ; 0x6258
-	TX_FAR _OakSpeechText2A
-	db $14
-	TX_FAR _OakSpeechText2B
-	db "@"
-IntroducePlayerText: ; 0x6262
-	TX_FAR _IntroducePlayerText
-	db "@"
-IntroduceRivalText: ; 0x6267
-	TX_FAR _IntroduceRivalText
-	db "@"
-OakSpeechText3: ; 0x626c
-	TX_FAR _OakSpeechText3
-	db "@"
-
-FadeInIntroPic: ; 0x6271
-	ld hl,IntroFadePalettes
-	ld b,6
-.next\@
-	ld a,[hli]
-	ld [rBGP],a
-	ld c,10
-	call DelayFrames
-	dec b
-	jr nz,.next\@
-	ret
-
-IntroFadePalettes: ; 0x6282
-	db %01010100
-	db %10101000
-	db %11111100
-	db %11111000
-	db %11110100
-	db %11100100
-
-MovePicLeft: ; 0x6288
-	ld a,119
-	ld [$FF4B],a
-	call DelayFrame
-
-	ld a,$E4
-	ld [rBGP],a
-.next\@
-	call DelayFrame
-	ld a,[$FF4B]
-	sub 8
-	cp $FF
-	ret z
-	ld [$FF4B],a
-	jr .next\@
-
-Predef3B: ; 62A1
-	call $3E94
-IntroPredef3B: ; 62A4
-	push bc
-	ld a,b
-	call $36EB
-	ld hl,$A188
-	ld de,$A000
-	ld bc,$0310
-	call CopyData
-	ld de,$9000
-	call $16EA
-	pop bc
-	ld a,c
-	and a
-	ld hl,$C3C3
-	jr nz,.next\@
-	ld hl,$C3F6
-.next\@
-	xor a
-	ld [$FFE1],a
-	ld a,1
-	jp $3E6D
-
-Function62CE: ; 62CE XXX called by 4B2 948 989 5BF9 5D15
-	call $62FF
-	ld a,$19
-	call $3E6D
-	ld hl,$D732
-	bit 2,[hl]
-	res 2,[hl]
-	jr z,.next\@
-	ld a,[$D71A]
-	jr .next2\@
-.next\@
-	bit 1,[hl]
-	jr z,.next3\@
-	call $64EA
-.next3\@
-	ld a,0
-.next2\@
-	ld b,a
-	ld a,[$D72D]
-	and a
-	jr nz,.next4\@
-	ld a,b
-.next4\@
-	ld hl,$D732
-	bit 4,[hl]
-	ret nz
-	ld [$D365],a
-	ret
-
-INCBIN "baserom.gbc",$62FF,$6420-$62FF
-
-FirstMapSpec: ; 0x6420
-	db REDS_HOUSE_2F ; RedsHouse2F
-; Original Format:
-;   [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-;   FLYWARP_DATA [Map Width][Y-pos][X-pos]
-	FLYWARP_DATA 4,6,3
-	db $04 ;Tileset_id
-
-INCBIN "baserom.gbc",$6428,$6448-$6428
-
-FlyWarpDataPtr: ; 0x6448
-	db $00,0
-	dw Map00FlyWarp
-	db $01,0
-	dw Map01FlyWarp
-	db $02,0
-	dw Map02FlyWarp
-	db $03,0
-	dw Map03FlyWarp
-	db $04,0
-	dw Map04FlyWarp
-	db $05,0
-	dw Map05FlyWarp
-	db $06,0
-	dw Map06FlyWarp
-	db $07,0
-	dw Map07FlyWarp
-	db $08,0
-	dw Map08FlyWarp
-	db $09,0
-	dw Map09FlyWarp
-	db $0A,0
-	dw Map0aFlyWarp
-	db $0F,0
-	dw Map0fFlyWarp
-	db $15,0
-	dw Map15FlyWarp
-
-; Original Format:
-;   [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-;   FLYWARP_DATA [Map Width][Y-pos][X-pos]
-Map00FlyWarp: ; 0x647c
-	FLYWARP_DATA 10,6,5
-Map01FlyWarp: ; 0x6482
-	FLYWARP_DATA 20,26,23
-Map02FlyWarp: ; 0x6488
-	FLYWARP_DATA 20,26,13
-Map03FlyWarp: ; 0x648e
-	FLYWARP_DATA 20,18,19
-Map04FlyWarp: ; 0x6494
-	FLYWARP_DATA 10,6,3
-Map05FlyWarp: ; 0x649a
-	FLYWARP_DATA 20,4,11
-Map06FlyWarp: ; 0x64a0
-	FLYWARP_DATA 25,10,41
-Map07FlyWarp: ; 0x64a6
-	FLYWARP_DATA 20,28,19
-Map08FlyWarp: ; 0x64ac
-	FLYWARP_DATA 10,12,11
-Map09FlyWarp: ; 0x64b2
-	FLYWARP_DATA 10,6,9
-Map0aFlyWarp: ; 0x64b8
-	FLYWARP_DATA 20,30,9
-Map0fFlyWarp: ; 0x64be
-	FLYWARP_DATA 45,6,11
-Map15FlyWarp: ; 0x64c4
-	FLYWARP_DATA 10,20,11
-
-INCBIN "baserom.gbc",$64ca,$6557 - $64ca
-
-UnnamedText_6557: ; 0x6557
-	TX_FAR _UnnamedText_6557
-	db $50
-; 0x6557 + 5 bytes
-
-INCBIN "baserom.gbc",$655c,$699f - $655c
-
-UnnamedText_699f: ; 0x699f
-	TX_FAR _UnnamedText_699f
-	db $50
-; 0x699f + 5 bytes
-
-; 0x69a4
-	call Unnamed_6a12 ; 0x69a4 call 0x6a12
-	ld de, DefaultNamesRival
-; 0x69aa
-
-INCBIN "baserom.gbc",$69AA,$69B3 - $69AA
-
-ld hl, DefaultNamesRivalList
-
-INCBIN "baserom.gbc",$69b6,$69e7 - $69b6
-
-UnnamedText_69e7: ; 0x69e7
-	TX_FAR _UnnamedText_69e7
-	db $50
-; 0x69e7 + 5 bytes
-
-INCBIN "baserom.gbc",$69ec,$6a12 - $69ec
-
-Unnamed_6a12: ; 0x6a12
-INCBIN "baserom.gbc",$6a12,$6aa8 - $6a12
-
-IF _RED
-DefaultNamesPlayer: ; 0x6aa8 22
-	db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
-DefaultNamesRival: ; 0x6abe 24
-	db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
-ENDC
-IF _BLUE
-DefaultNamesPlayer:
-	db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
-DefaultNamesRival:
-	db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
-ENDC
-
-INCBIN "baserom.gbc",$6AD6,$6AF2 - $6AD6
-
-IF _RED
-DefaultNamesPlayerList: ; 0x6AF2 22
-	db "NEW NAME@RED@ASH@JACK@"
-DefaultNamesRivalList: ; 0x6b08 25
-	db "NEW NAME@BLUE@GARY@JOHN@@"
-ENDC
-IF _BLUE
-DefaultNamesPlayerList:
-	db "NEW NAME@BLUE@GARY@JOHN@"
-DefaultNamesRivalList:
-	db "NEW NAME@RED@ASH@JACK@@"
-ENDC
-
-INCBIN "baserom.gbc",$6b21,$6e0c - $6b21
-
-UnnamedText_6e0c: ; 0x6e0c
-	TX_FAR _UnnamedText_6e0c
-	db $50
-; 0x6e0c + 5 bytes
-
-UnnamedText_6e11: ; 0x6e11
-	TX_FAR _UnnamedText_6e11
-	db $50
-; 0x6e11 + 5 bytes
-
-UnnamedText_6e16: ; 0x6e16
-	TX_FAR _UnnamedText_6e16
-	db $50
-; 0x6e16 + 5 bytes
-
-UnnamedText_6e1b: ; 0x6e1b
-	TX_FAR _UnnamedText_6e1b
-	db $50
-; 0x6e1b + 5 bytes
-
-UnnamedText_6e20: ; 0x6e20
-	TX_FAR _UnnamedText_6e20
-	db $50
-; 0x6e20 + 5 bytes
-
-UnnamedText_6e25: ; 0x6e25
-	TX_FAR _UnnamedText_6e25
-	db $50
-; 0x6e25 + 5 bytes
-
-UnnamedText_6e2a: ; 0x6e2a
-	TX_FAR _UnnamedText_6e2a
-	db $50
-; 0x6e2a + 5 bytes
-
-UnnamedText_6e2f: ; 0x6e2f
-	TX_FAR _UnnamedText_6e2f
-	db $50
-; 0x6e2f + 5 bytes
-
-UnnamedText_6e34: ; 0x6e34
-	TX_FAR _UnnamedText_6e34
-	db $50
-; 0x6e34 + 5 bytes
-
-UnnamedText_6e39: ; 0x6e39
-	TX_FAR _UnnamedText_6e39
-	db $50
-; 0x6e39 + 5 bytes
-
-UnnamedText_6e3e: ; 0x6e3e
-	TX_FAR _UnnamedText_6e3e
-	db $50
-; 0x6e3e + 5 bytes
-
-INCBIN "baserom.gbc",$6e43,$6fb4 - $6e43
-
-UnnamedText_6fb4: ; 0x6fb4
-	TX_FAR _UnnamedText_6fb4
-	db $50
-; 0x6fb4 + 5 bytes
-
-UnnamedText_6fb9: ; 0x6fb9
-	TX_FAR _UnnamedText_6fb9
-	db $50
-; 0x6fb9 + 5 bytes
-
-UnnamedText_6fbe: ; 0x6fbe
-	TX_FAR _UnnamedText_6fbe
-	db $50
-; 0x6fbe + 5 bytes
-
-UnnamedText_6fc3: ; 0x6fc3
-	TX_FAR _UnnamedText_6fc3
-	db $50
-; 0x6fc3 + 5 bytes
-
-UnnamedText_6fc8: ; 0x6fc8
-	TX_FAR _UnnamedText_6fc8 ; 0xa2819
-	db $a
-	db $8
-	ld a, $ae
-	call $3740
-	ld hl, $6fd7
-	ret
-; 0x6fd7
-
-UnnamedText_6fd7: ; 0x6fd7
-	TX_FAR _UnnamedText_6fd7 ; 0xa2827
-	db $a ; 0x6fdb
-UnnamedText_6fdc: ; 0x6fdc
-	TX_FAR _UnnamedText_6fdc
-	db $50
-; 0x6fe1
-
-UnnamedText_6fe1: ; 0x6fe1
-	TX_FAR _UnnamedText_6fe1
-	db $50
-; 0x6fe1 + 5 bytes
-
-Unnamed_6fe6: ; 0x6fe6
-	call $3719
-	ld hl, $705d
-	call PrintText
-	ld hl, $d72e
-	bit 2, [hl]
-	set 1, [hl]
-	set 2, [hl]
-	jr nz, .asm_7000 ; 0x6ff8 $6
-	ld hl, $7062
-	call PrintText
-.asm_7000
-	call $360a
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_7051 ; 0x7007 $48
-	call $7078
-	call $3725
-	ld hl, $7068
-	call PrintText
-	ld a, $18
-	ld [$c112], a
-	call Delay3
-	ld a, $7
-	call Predef
-	ld b, $1c
-	ld hl, $4433
-	call Bankswitch
-	xor a
-	ld [$cfc7], a
-	ld a, [$c0f0]
-	ld [$c0ef], a
-	ld a, [$d35b]
-	ld [$cfca], a
-	ld [$c0ee], a
-	call $23b1
-	ld hl, $706d
-	call PrintText
-	ld a, $14
-	ld [$c112], a
-	ld c, a
-	call DelayFrames
-	jr .asm_7054 ; 0x704f $3
-.asm_7051
-	call $3725
-.asm_7054
-	ld hl, $7072
-	call PrintText
-	jp $2429
-; 0x705d
-
-UnnamedText_705d: ; 0x705d
-	TX_FAR _UnnamedText_705d
-	db $50
-; 0x705d + 5 bytes
-
-; 0x7062
-db $a
-
-UnnamedText_7063: ; 0x7063
-	TX_FAR _UnnamedText_7063
-	db $50
-; 0x7063 + 5 bytes
-
-UnnamedText_7068: ; 0x7068
-	TX_FAR _UnnamedText_7068
-	db $50
-; 0x7068 + 5 bytes
-
-UnnamedText_706d: ; 0x706d
-	TX_FAR _UnnamedText_706d
-	db $50
-; 0x706d + 5 bytes
-
-db $a
-
-UnnamedText_7073: ; 0x7073
-	TX_FAR _UnnamedText_7073
-	db $50
-; 0x7078
-
-Unknown_7078: ; 0x7078
-	push hl
-	ld hl, $7092
-	ld a, [$d35e]
-	ld b, a
-.asm_7080
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_708a ; 0x7083 $5
-	cp b
-	jr nz, .asm_7080 ; 0x7086 $f8
-	jr .asm_7090 ; 0x7088 $6
-.asm_708a
-	ld a, [$d365]
-	ld [$d719], a
-.asm_7090
-	pop hl
-	ret
-; 0x7092
-
-Unknown_7092: ; 0x7092
-INCBIN "baserom.gbc",$7092,4
-
-; function that performs initialization for DisplayTextID
-DisplayTextIDInit: ; 7096
-	xor a
-	ld [$cf94],a
-	ld a,[$cf0c]
-	bit 0,a
-	jr nz,.skipDrawingTextBoxBorder\@
-	ld a,[$ff8c] ; text ID (or sprite ID)
-	and a
-	jr nz,.notStartMenu\@
-; if text ID is 0 (i.e. the start menu)
-; Note that the start menu text border is also drawn in the function directly
-; below this, so this seems unnecessary.
-	ld a,[$d74b]
-	bit 5,a ; does the player have the pokedex?
-; start menu with pokedex
-	ld hl,$c3aa
-	ld b,$0e
-	ld c,$08
-	jr nz,.drawTextBoxBorder\@
-; start menu without pokedex
-	ld hl,$c3aa
-	ld b,$0c
-	ld c,$08
-	jr .drawTextBoxBorder\@
-; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box
-.notStartMenu\@
-	ld hl,$c490
-	ld b,$04
-	ld c,$12
-.drawTextBoxBorder\@
-	call TextBoxBorder
-.skipDrawingTextBoxBorder\@
-	ld hl,$cfc4
-	set 0,[hl]
-	ld hl,$cd60
-	bit 4,[hl]
-	res 4,[hl]
-	jr nz,.skipMovingSprites\@
-	call $2429 ; move sprites
-.skipMovingSprites\@
-; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite
-; this is done because when you talk to an NPC, they turn to look your way
-; the original direction they were facing must be restored after the dialogue is over
-	ld hl,$c119
-	ld c,$0f
-	ld de,$0010
-.spriteFacingDirectionCopyLoop\@
-	ld a,[hl]
-	inc h
-	ld [hl],a
-	dec h
-	add hl,de
-	dec c
-	jr nz,.spriteFacingDirectionCopyLoop\@
-; loop to force all the sprites in the middle of animation to stand still
-; (so that they don't like they're frozen mid-step during the dialogue)
-	ld hl,$c102
-	ld de,$0010
-	ld c,e
-.spriteStandStillLoop\@
-	ld a,[hl]
-	cp a,$ff ; is the sprite visible?
-	jr z,.nextSprite\@
-; if it is visible
-	and a,$fc
-	ld [hl],a
-.nextSprite\@
-	add hl,de
-	dec c
-	jr nz,.spriteStandStillLoop\@
-	ld b,$9c ; window background address
-	call $18d6 ; transfer background in WRAM to VRAM
-	xor a
-	ld [$ffb0],a ; put the window on the screen
-	call $3680 ; transfer tile pattern data for text into VRAM
-	ld a,$01
-	ld [$ffba],a ; enable continuous WRAM to VRAM transfer each V-blank
-	ret
-
-; function that displays the start menu
-DrawStartMenu: ; 710B
-	ld a,[$d74b]
-	bit 5,a ; does the player have the pokedex?
-; menu with pokedex
-	ld hl,$c3aa
-	ld b,$0e
-	ld c,$08
-	jr nz,.drawTextBoxBorder\@
-; shorter menu if the player doesn't have the pokedex
-	ld hl,$c3aa
-	ld b,$0c
-	ld c,$08
-.drawTextBoxBorder\@
-	call TextBoxBorder
-	ld a,%11001011 ; bit mask for down, up, start, B, and A buttons
-	ld [$cc29],a
-	ld a,$02
-	ld [$cc24],a ; Y position of first menu choice
-	ld a,$0b
-	ld [$cc25],a ; X position of first menu choice
-	ld a,[$cc2d] ; remembered menu selection from last time
-	ld [$cc26],a
-	ld [$cc2a],a
-	xor a
-	ld [$cc37],a
-	ld hl,$d730
-	set 6,[hl] ; no pauses between printing each letter
-	ld hl,$c3d4
-	ld a,[$d74b]
-	bit 5,a ; does the player have the pokedex?
-; case for not having pokdex
-	ld a,$06
-	jr z,.storeMenuItemCount\@
-; case for having pokedex
-	ld de,StartMenuPokedexText
-	call PrintStartMenuItem
-	ld a,$07
-.storeMenuItemCount\@
-	ld [$cc28],a ; number of menu items
-	ld de,StartMenuPokemonText
-	call PrintStartMenuItem
-	ld de,StartMenuItemText
-	call PrintStartMenuItem
-	ld de,$d158 ; player's name
-	call PrintStartMenuItem
-	ld a,[$d72e]
-	bit 6,a ; is the player using the link feature?
-; case for not using link feature
-	ld de,StartMenuSaveText
-	jr z,.printSaveOrResetText\@
-; case for using link feature
-	ld de,StartMenuResetText
-.printSaveOrResetText\@
-	call PrintStartMenuItem
-	ld de,StartMenuOptionText
-	call PrintStartMenuItem
-	ld de,StartMenuExitText
-	call PlaceString
-	ld hl,$d730
-	res 6,[hl] ; turn pauses between printing letters back on
-	ret
-
-StartMenuPokedexText: ; 718F
-db "POKéDEX@"
-
-StartMenuPokemonText: ; 7197
-db "POKéMON@"
-
-StartMenuItemText: ; 719F
-db "ITEM@"
-
-StartMenuSaveText: ; 71A4
-db "SAVE@"
-
-StartMenuResetText: ; 71A9
-db "RESET@"
-
-StartMenuExitText: ; 71AF
-db "EXIT@"
-
-StartMenuOptionText: ; 71B4
-db "OPTION@"
-
-PrintStartMenuItem: ; 71BB
-	push hl
-	call PlaceString
-	pop hl
-	ld de,$28
-	add hl,de
-	ret
-
-Unknown_71c5: ; 0x71c5
-	ld hl, $72b8
-	call PrintText
-	ld a, [$d74b]
-	bit 5, a
-	jp nz, $71e1
-	ld c, $3c
-	call DelayFrames
-	ld hl, $72d2
-	call PrintText
-	jp $7298
-; 0x71e1
-
-Unknown_71e1: ; 0x71e1
-	ld a, $1
-	ld [$cc34], a
-	ld a, $5a
-	ld [$cc47], a
-.asm_71eb
-	ld a, [$ff00+$aa]
-	cp $2
-	jr z, .asm_721a ; 0x71ef $29
-	cp $1
-	jr z, .asm_721a ; 0x71f3 $25
-	ld a, $ff
-	ld [$ff00+$aa], a
-	ld a, $2
-	ld [$ff00+$1], a
-	xor a
-	ld [$ff00+$ad], a
-	ld a, $80
-	ld [$ff00+$2], a
-	ld a, [$cc47]
-	dec a
-	ld [$cc47], a
-	jr z, .asm_7287 ; 0x720b $7a
-	ld a, $1
-	ld [$ff00+$1], a
-	ld a, $81
-	ld [$ff00+$2], a
-	call DelayFrame
-	jr .asm_71eb ; 0x7218 $d1
-.asm_721a
-	call $22ed
-	call DelayFrame
-	call $22ed
-	ld c, $32
-	call DelayFrames
-	ld hl, $72bd
-	call PrintText
-	xor a
-	ld [$cc34], a
-	call $35ec
-	ld a, $1
-	ld [$cc34], a
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_728f ; 0x723e $4f
-	ld hl, $7848
-	ld b, $1c
-	call Bankswitch
-	call $3748
-	ld a, $b6
-	call $3740
-	ld hl, $72c2
-	call PrintText
-	ld hl, $cc47
-	ld a, $3
-	ld [hli], a
-	xor a
-	ld [hl], a
-	ld [$ff00+$a9], a
-	ld [$cc42], a
-	call $227f
-	ld hl, $cc47
-	ld a, [hli]
-	inc a
-	jr nz, .asm_72a8 ; 0x726b $3b
-	ld a, [hl]
-	inc a
-	jr nz, .asm_72a8 ; 0x726f $37
-	ld b, $a
-.asm_7273
-	call DelayFrame
-	call $22ed
-	dec b
-	jr nz, .asm_7273 ; 0x727a $f7
-	call $72d7
-	ld hl, $72c8
-	call PrintText
-	jr .asm_7298 ; 0x7285 $11
-.asm_7287
-	ld hl, $72b3
-	call PrintText
-	jr .asm_7298 ; 0x728d $9
-.asm_728f
-	call $72d7
-	ld hl, $72cd
-	call PrintText
-.asm_7298
-	xor a
-	ld hl, $cc47
-	ld [hli], a
-	ld [hl], a
-	ld hl, $d72e
-	res 6, [hl]
-	xor a
-	ld [$cc34], a
-	ret
-.asm_72a8
-	xor a
-	ld [hld], a
-	ld [hl], a
-	ld hl, $5c0a
-	ld b, $1
-	jp Bankswitch
-; 0x72b3
-
-UnnamedText_72b3: ; 0x72b3
-	TX_FAR _UnnamedText_72b3
-	db $50
-; 0x72b3 + 5 bytes
-
-UnnamedText_72b8: ; 0x72b8
-	TX_FAR _UnnamedText_72b8
-	db $50
-; 0x72b8 + 5 bytes
-
-UnnamedText_72bd: ; 0x72bd
-	TX_FAR _UnnamedText_72bd
-	db $50
-; 0x72bd + 5 bytes
-
-UnnamedText_72c2: ; 0x72c2
-	TX_FAR UnnamedText_a29cc
-	db $a, $50
-
-UnnamedText_72c8: ; 0x72c8
-	TX_FAR _UnnamedText_72c8
-	db $50
-; 0x72c8 + 5 bytes
-
-UnnamedText_72cd: ; 0x72cd
-	TX_FAR _UnnamedText_72cd
-	db $50
-; 0x72cd + 5 bytes
-
-UnnamedText_72d2: ; 0x72d2
-	TX_FAR _UnnamedText_72d2
-	db $50
-; 0x72d2 + 5 bytes
-
-INCBIN "baserom.gbc",$72d7,$4b6
-
-FieldMoveNames: ; 778D
-	db "CUT@"
-	db "FLY@"
-	db "@"
-	db "SURF@"
-	db "STRENGTH@"
-	db "FLASH@"
-	db "DIG@"
-	db "TELEPORT@"
-	db "SOFTBOILED@"
-
-PokemonMenuEntries: ; 77C2
-	db "STATS",$4E
-	db "SWITCH",$4E
-	db "CANCEL@"
-
-INCBIN "baserom.gbc",$77d6,$78dc - $77d6
-
-UnnamedText_78dc: ; 0x78dc
-	TX_FAR _UnnamedText_78dc
-	db $50
-; 0x78dc + 5 bytes
-
-UnnamedText_78e1: ; 0x78e1
-	TX_FAR _UnnamedText_78e1
-	db $50
-; 0x78e1 + 5 bytes
-
-INCBIN "baserom.gbc",$78e6,$20f
-
-PlayersPCMenuEntries: ; 7AF5
-	db "WITHDRAW ITEM",$4E
-	db "DEPOSIT ITEM",$4E
-	db "TOSS ITEM",$4E
-	db "LOG OFF@"
-
-UnnamedText_7b22: ; 0x7b22
-	TX_FAR _UnnamedText_7b22
-	db $50
-; 0x7b22 + 5 bytes
-
-UnnamedText_7b27: ; 0x7b27
-	TX_FAR _UnnamedText_7b27
-	db $50
-; 0x7b27 + 5 bytes
-
-UnnamedText_7b2c: ; 0x7b2c
-	TX_FAR _UnnamedText_7b2c
-	db $50
-; 0x7b2c + 5 bytes
-
-UnnamedText_7b31: ; 0x7b31
-	TX_FAR _UnnamedText_7b31
-	db $50
-; 0x7b31 + 5 bytes
-
-UnnamedText_7b36: ; 0x7b36
-	TX_FAR _UnnamedText_7b36
-	db $50
-; 0x7b36 + 5 bytes
-
-UnnamedText_7b3b: ; 0x7b3b
-	TX_FAR _UnnamedText_7b3b
-	db $50
-; 0x7b3b + 5 bytes
-
-UnnamedText_7b40: ; 0x7b40
-	TX_FAR _UnnamedText_7b40
-	db $50
-; 0x7b40 + 5 bytes
-
-UnnamedText_7b45: ; 0x7b45
-	TX_FAR _UnnamedText_7b45
-	db $50
-; 0x7b45 + 5 bytes
-
-UnnamedText_7b4a: ; 0x7b4a
-	TX_FAR _UnnamedText_7b4a
-	db $50
-; 0x7b4a + 5 bytes
-
-UnnamedText_7b4f: ; 0x7b4f
-	TX_FAR _UnnamedText_7b4f
-	db $50
-; 0x7b4f + 5 bytes
-
-UnnamedText_7b54: ; 0x7b54
-	TX_FAR _UnnamedText_7b54
-	db $50
-; 0x7b54 + 5 bytes
-
-UnnamedText_7b59: ; 0x7b59
-	TX_FAR _UnnamedText_7b59
-	db $50
-; 0x7b59 + 5 bytes
-
-UnnamedText_7b5e: ; 0x7b5e
-	TX_FAR _UnnamedText_7b5e
-	db $50
-; 0x7b5e + 5 bytes
-
-UnnamedText_7b63: ; 0x7b63
-	TX_FAR _UnnamedText_7b63
-	db $50
-; 0x7b63 + 5 bytes
-
-INCBIN "baserom.gbc",$7b68,$e1
-
-SECTION "bank2",DATA,BANK[$2]
-
-INCBIN "baserom.gbc",$8000,$822E - $8000
-
-;Music Headers
-;Pallet Town
-PalletTown_mh: ; 0x822E - 0x8236
-	db $80
-	dw PalletTown_md_1 ;Channel 1 ($A7C5 - $A85E)
-	db $01
-	dw PalletTown_md_2 ;Channel 2 ($A85f - $A8DD)
-	db $02
-	dw PalletTown_md_3 ;Channel 3 ($A8DE - $AA75)
-
-;Pokemon Center
-Pokecenter_mh: ; 0x8237 - 0x823F
-	db $80
-	dw Pokecenter_md_1 ;Channel 1 ($BE56 - $BEF8)
-	db $01
-	dw Pokecenter_md_2 ;Channel 2 ($BEF9 - $BF6F)
-	db $02
-	dw Pokecenter_md_3 ;Channel 3 ($BF70 - $BFFF)
-
-;Gyms
-Gym_mh: ; 0x8240 - 0x8248
-	db $80
-	dw Gym_md_1 ;Channel 1 ($BCBB - $BD6A)
-	db $01
-	dw Gym_md_2 ;Channel 2 ($BD6B - $BDF9)
-	db $02
-	dw Gym_md_3 ;Channel 3 ($BDFA - $BE55)
-
-;Viridian City, Pewter City, Saffron City
-Cities1_mh: ; 0x8249 - 0x8254
-	db $C0
-	dw Cities1_md_1 ;Channel 1
-	db $01
-	dw Cities1_md_2 ;Channel 2
-	db $02
-	dw Cities1_md_3 ;Channel 3
-	db $03
-	dw Cities1_md_4 ;Channel 4
-
-;Cerulean City, Fuchsia City
-Cities2_mh: ; 0x8255 - 0x825D
-	db $80
-	dw Cities2_md_1 ;Channel 1
-	db $01
-	dw Cities2_md_2 ;Channel 2
-	db $02
-	dw Cities2_md_3 ;Channel 3
-
-;Celadon City
-Celadon_mh: ; 0x825E - 0x8266
-	db $80
-	dw Celadon_md_1 ;Channel 1
-	db $01
-	dw Celadon_md_2 ;Channel 2
-	db $02
-	dw Celadon_md_3 ;Channel 3
-
-;Cinnabar Island
-Cinnabar_mh: ; 0x8267 - 0x826F
-	db $80
-	dw Cinnabar_md_1 ;Channel 1
-	db $01
-	dw Cinnabar_md_2 ;Channel 2
-	db $02
-	dw Cinnabar_md_3 ;Channel 3
-
-;Vermilion City
-Vermilion_mh: ; 0x8270 - 0x827B
-	db $C0
-	dw Vermilion_md_1 ;Channel 1
-	db $01
-	dw Vermilion_md_2 ;Channel 2
-	db $02
-	dw Vermilion_md_3 ;Channel 3
-	db $03
-	dw Vermilion_md_4 ;Channel 4
-
-;Lavender Town
-Lavender_mh: ; 0x827C - 0x8287
-	db $C0
-	dw Lavender_md_1 ;Channel 1
-	db $01
-	dw Lavender_md_2 ;Channel 2
-	db $02
-	dw Lavender_md_3 ;Channel 3
-	db $03
-	dw Lavender_md_4 ;Channel 4
-
-;SS Anne
-SSAnne_mh: ; 0x8288 - 0x8290
-	db $80
-	dw SSAnne_md_1 ;Channel 1
-	db $01
-	dw SSAnne_md_2 ;Channel 2
-	db $02
-	dw SSAnne_md_3 ;Channel 3
-
-;Meet Prof. Oak
-MeetProfOak_mh: ; 0x8291 - 0x8299
-	db $80
-	dw MeetProfOak_md_1 ;Channel 1
-	db $01
-	dw MeetProfOak_md_2 ;Channel 2
-	db $02
-	dw MeetProfOak_md_3 ;Channel 3
-
-;Meet Rival
-MeetRival_mh: ; 0x829A - 0x82A2
-	db $80
-	dw MeetRival_md_1 ;Channel 1
-	db $01
-	dw MeetRival_md_2 ;Channel 2
-	db $02
-	dw MeetRival_md_3 ;Channel 3
-
-;Guy walks you to museum
-MuseumGuy_mh: ; 0x82A3 - 0x82AE
-	db $C0
-	dw MuseumGuy_md_1 ;Channel 1
-	db $01
-	dw MuseumGuy_md_2 ;Channel 2
-	db $02
-	dw MuseumGuy_md_3 ;Channel 3
-	db $03
-	dw MuseumGuy_md_4 ;Channel 4
-
-;Safari Zone
-SafariZone_mh: ; 0x82AF - 0x82B7
-	db $80
-	dw SafariZone_md_1 ;Channel 1
-	db $01
-	dw SafariZone_md_2 ;Channel 2
-	db $02
-	dw SafariZone_md_3 ;Channel 3
-
-;Pokemon Get Healed
-PkmnHealed_mh: ; 0x82B8 - 0x82C0
-	db $80
-	dw PkmnHealed_md_1 ;Channel 1
-	db $01
-	dw PkmnHealed_md_2 ;Channel 2
-	db $02
-	dw PkmnHealed_md_3 ;Channel 3
-
-;Routes 1 and 2
-Routes1_mh: ; 0x82C1 - 0x82CC
-	db $C0
-	dw Routes1_md_1 ;Channel 1
-	db $01
-	dw Routes1_md_2 ;Channel 2
-	db $02
-	dw Routes1_md_3 ;Channel 3
-	db $03
-	dw Routes1_md_4 ;Channel 4
-
-;Routes 24 and 25
-Routes2_mh: ; 0x82CD - 0x82D8
-	db $C0
-	dw Routes2_md_1 ;Channel 1
-	db $01
-	dw Routes2_md_2 ;Channel 2
-	db $02
-	dw Routes2_md_3 ;Channel 3
-	db $03
-	dw Routes2_md_4 ;Channel 4
-
-;Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22
-Routes3_mh: ; 0x82D9 - 0x82E4
-	db $C0
-	dw Routes3_md_1 ;Channel 1
-	db $01
-	dw Routes3_md_2 ;Channel 2
-	db $02
-	dw Routes3_md_3 ;Channel 3
-	db $03
-	dw Routes3_md_4 ;Channel 4
-
-;Routes 11, 12, 13, 14, 15
-Routes4_mh: ; 0x82E5 - 0x82F0
-	db $C0
-	dw Routes4_md_1 ;Channel 1
-	db $01
-	dw Routes4_md_2 ;Channel 2
-	db $02
-	dw Routes4_md_3 ;Channel 3
-	db $03
-	dw Routes4_md_4 ;Channel 4
-
-;Indigo Plateau
-IndigoPlateau_mh: ; 0x82F1 - 0x82FC
-	db $C0
-	dw IndigoPlateau_md_1 ;Channel 1
-	db $01
-	dw IndigoPlateau_md_2 ;Channel 2
-	db $02
-	dw IndigoPlateau_md_3 ;Channel 3
-	db $03
-	dw IndigoPlateau_md_4 ;Channel 4
-
-INCLUDE "music.asm"
-	
-SECTION "bank3",DATA,BANK[$3]
-
-INCBIN "baserom.gbc",$C000,$C23D - $C000
-
-; see also MapHeaderPointers
-MapHeaderBanks: ; 423D
-	db BANK(PalletTown_h) ;PALLET_TOWN
-	db BANK(ViridianCity_h) ; VIRIDIAN_CITY
-	db BANK(PewterCity_h) ; PEWTER_CITY
-	db BANK(CeruleanCity_h) ; CERULEAN_CITY
-	db BANK(LavenderTown_h) ; LAVENDER_TOWN
-	db BANK(VermilionCity_h) ; VERMILION_CITY
-	db BANK(CeladonCity_h) ; CELADON_CITY
-	db BANK(FuchsiaCity_h) ; FUCHSIA_CITY
-	db BANK(CinnabarIsland_h) ; CINNABAR_ISLAND
-	db BANK(IndigoPlateau_h) ; INDIGO_PLATEAU
-	db BANK(SaffronCity_h) ; SAFFRON_CITY
-	db $1 ; unused
-	db BANK(Route1_h) ; ROUTE_1
-	db BANK(Route2_h) ; ROUTE_2
-	db BANK(Route3_h) ; ROUTE_3
-	db BANK(Route4_h) ; ROUTE_4
-	db BANK(Route5_h) ; ROUTE_5
-	db BANK(Route6_h) ; ROUTE_6
-	db BANK(Route7_h) ; ROUTE_7
-	db BANK(Route8_h) ; ROUTE_8
-	db BANK(Route9_h) ; ROUTE_9
-	db BANK(Route10_h) ; ROUTE_10
-	db BANK(Route11_h) ; ROUTE_11
-	db BANK(Route12_h) ; ROUTE_12
-	db BANK(Route13_h) ; ROUTE_13
-	db BANK(Route14_h) ; ROUTE_14
-	db BANK(Route15_h) ; ROUTE_15
-	db BANK(Route16_h) ; ROUTE_16
-	db BANK(Route17_h) ; ROUTE_17
-	db BANK(Route18_h) ; ROUTE_18
-	db BANK(Route19_h) ; ROUTE_19
-	db BANK(Route20_h) ; ROUTE_20
-	db BANK(Route21_h) ; ROUTE_21
-	db BANK(Route22_h) ; ROUTE_22
-	db BANK(Route23_h) ; ROUTE_23
-	db BANK(Route24_h) ; ROUTE_24
-	db BANK(Route25_h) ; ROUTE_25
-	db BANK(RedsHouse1F_h)
-	db BANK(RedsHouse2F_h)
-	db BANK(BluesHouse_h)
-	db BANK(OaksLab_h)
-	db BANK(ViridianPokecenter_h)
-	db BANK(ViridianMart_h)
-	db BANK(School_h)
-	db BANK(ViridianHouse_h)
-	db BANK(ViridianGym_h)
-	db BANK(DiglettsCaveRoute2_h)
-	db BANK(ViridianForestexit_h)
-	db BANK(Route2House_h)
-	db BANK(Route2Gate_h)
-	db BANK(ViridianForestEntrance_h)
-	db BANK(ViridianForest_h)
-	db BANK(MuseumF1_h)
-	db BANK(MuseumF2_h)
-	db BANK(PewterGym_h)
-	db BANK(PewterHouse1_h)
-	db BANK(PewterMart_h)
-	db BANK(PewterHouse2_h)
-	db BANK(PewterPokecenter_h)
-	db BANK(MtMoon1_h)
-	db BANK(MtMoon2_h)
-	db BANK(MtMoon3_h)
-	db BANK(CeruleanHouseTrashed_h)
-	db BANK(CeruleanHouse2_h)
-	db BANK(CeruleanPokecenter_h)
-	db BANK(CeruleanGym_h)
-	db BANK(BikeShop_h)
-	db BANK(CeruleanMart_h)
-	db BANK(MtMoonPokecenter_h)
-	db BANK(CeruleanHouseTrashed_h)
-	db BANK(Route5Gate_h)
-	db BANK(UndergroundTunnelEntranceRoute5_h)
-	db BANK(DayCareM_h)
-	db BANK(Route6Gate_h)
-	db BANK(UndergroundTunnelEntranceRoute6_h)
-	db $17 ;FREEZE
-	db BANK(Route7Gate_h)
-	db BANK(UndergroundPathEntranceRoute7_h)
-	db $17 ;FREEZE
-	db BANK(Route8Gate_h)
-	db BANK(UndergroundPathEntranceRoute8_h)
-	db BANK(RockTunnelPokecenter_h)
-	db BANK(RockTunnel1_h)
-	db BANK(PowerPlant_h)
-	db BANK(Route11Gate_h)
-	db BANK(DiglettsCaveEntranceRoute11_h)
-	db BANK(Route11GateUpstairs_h)
-	db BANK(Route12Gate_h)
-	db BANK(BillsHouse_h)
-	db BANK(VermilionPokecenter_h)
-	db BANK(FanClub_h)
-	db BANK(VermilionMart_h)
-	db BANK(VermilionGym_h)
-	db BANK(VermilionHouse1_h)
-	db BANK(VermilionDock_h)
-	db BANK(SSAnne1_h)
-	db BANK(SSAnne2_h)
-	db BANK(SSAnne3_h)
-	db BANK(SSAnne4_h)
-	db BANK(SSAnne5_h)
-	db BANK(SSAnne6_h)
-	db BANK(SSAnne7_h)
-	db BANK(SSAnne8_h)
-	db BANK(SSAnne9_h)
-	db BANK(SSAnne10_h)
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db BANK(VictoryRoad1_h)
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db BANK(Lance_h)
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db BANK(HallofFameRoom_h)
-	db BANK(UndergroundPathNS_h)
-	db BANK(Gary_h)
-	db BANK(UndergroundPathWE_h)
-	db BANK(CeladonMart1_h)
-	db BANK(CeladonMart2_h)
-	db BANK(CeladonMart3_h)
-	db BANK(CeladonMart4_h)
-	db BANK(CeladonMartRoof_h)
-	db BANK(CeladonMartElevator_h)
-	db BANK(CeladonMansion1_h)
-	db BANK(CeladonMansion2_h)
-	db BANK(CeladonMansion3_h)
-	db BANK(CeladonMansion4_h)
-	db BANK(CeladonMansion5_h)
-	db BANK(CeladonPokecenter_h)
-	db BANK(CeladonGym_h)
-	db BANK(CeladonGameCorner_h)
-	db BANK(CeladonMart5_h)
-	db BANK(CeladonPrizeRoom_h)
-	db BANK(CeladonDiner_h)
-	db BANK(CeladonHouse_h)
-	db BANK(CeladonHotel_h)
-	db BANK(LavenderPokecenter_h)
-	db BANK(PokemonTower1_h)
-	db BANK(PokemonTower2_h)
-	db BANK(PokemonTower3_h)
-	db BANK(PokemonTower4_h)
-	db BANK(PokemonTower5_h)
-	db BANK(PokemonTower6_h)
-	db BANK(PokemonTower7_h)
-	db BANK(LavenderHouse1_h)
-	db BANK(LavenderMart_h)
-	db BANK(LavenderHouse2_h)
-	db BANK(FuchsiaMart_h)
-	db BANK(FuchsiaHouse1_h)
-	db BANK(FuchsiaPokecenter_h)
-	db BANK(FuchsiaHouse2_h)
-	db BANK(SafariZoneEntrance_h)
-	db BANK(FuchsiaGym_h)
-	db BANK(FuchsiaMeetingRoom_h)
-	db BANK(SeafoamIslands2_h)
-	db BANK(SeafoamIslands3_h)
-	db BANK(SeafoamIslands4_h)
-	db BANK(SeafoamIslands5_h)
-	db BANK(VermilionHouse2_h)
-	db BANK(FuchsiaHouse3_h)
-	db BANK(Mansion1_h)
-	db BANK(CinnabarGym_h)
-	db BANK(Lab1_h)
-	db BANK(Lab2_h)
-	db BANK(Lab3_h)
-	db BANK(Lab4_h)
-	db BANK(CinnabarPokecenter_h)
-	db BANK(CinnabarMart_h)
-	db $1D
-	db BANK(IndigoPlateauLobby_h)
-	db BANK(CopycatsHouseF1_h)
-	db BANK(CopycatsHouseF2_h)
-	db BANK(FightingDojo_h)
-	db BANK(SaffronGym_h)
-	db BANK(SaffronHouse1_h)
-	db BANK(SaffronMart_h)
-	db BANK(SilphCo1_h)
-	db BANK(SaffronPokecenter_h)
-	db BANK(SaffronHouse2_h)
-	db BANK(Route15Gate_h)
-	db $12
-	db BANK(Route16GateMap_h)
-	db BANK(Route16GateUpstairs_h)
-	db BANK(Route16House_h)
-	db BANK(Route12House_h)
-	db BANK(Route18Gate_h)
-	db BANK(Route18GateHeader_h)
-	db BANK(SeafoamIslands1_h)
-	db BANK(Route22Gate_h)
-	db BANK(VictoryRoad2_h)
-	db BANK(Route12GateUpstairs_h)
-	db BANK(VermilionHouse3_h)
-	db BANK(DiglettsCave_h)
-	db BANK(VictoryRoad3_h)
-	db BANK(RocketHideout1_h)
-	db BANK(RocketHideout2_h)
-	db BANK(RocketHideout3_h)
-	db BANK(RocketHideout4_h)
-	db BANK(RocketHideoutElevator_h)
-	db $01
-	db $01
-	db $01
-	db BANK(SilphCo2_h)
-	db BANK(SilphCo3_h)
-	db BANK(SilphCo4_h)
-	db BANK(SilphCo5_h)
-	db BANK(SilphCo6_h)
-	db BANK(SilphCo7_h)
-	db BANK(SilphCo8_h)
-	db BANK(Mansion2_h)
-	db BANK(Mansion3_h)
-	db BANK(Mansion4_h)
-	db BANK(SafariZoneEast_h)
-	db BANK(SafariZoneNorth_h)
-	db BANK(SafariZoneWest_h)
-	db BANK(SafariZoneCenter_h)
-	db BANK(SafariZoneRestHouse1_h)
-	db BANK(SafariZoneSecretHouse_h)
-	db BANK(SafariZoneRestHouse2_h)
-	db BANK(SafariZoneRestHouse3_h)
-	db BANK(SafariZoneRestHouse4_h)
-	db BANK(UnknownDungeon2_h)
-	db BANK(UnknownDungeon3_h)
-	db BANK(UnknownDungeon1_h)
-	db BANK(NameRater_h)
-	db BANK(CeruleanHouse3_h)
-	db $01
-	db BANK(RockTunnel2_h)
-	db BANK(SilphCo9_h)
-	db BANK(SilphCo10_h)
-	db BANK(SilphCo11_h)
-	db BANK(SilphCoElevator_h)
-	db $11
-	db $11
-	db BANK(BattleCenterM_h)
-	db BANK(TradeCenterM_h)
-	db $11
-	db $11
-	db $11
-	db $11
-	db BANK(Lorelei_h)
-	db BANK(Bruno_h)
-	db BANK(Agatha_h)
-
-INCBIN "baserom.gbc",$C335,$C766-$C335
-	ld hl, TilesetsHeadPtr
-
-INCBIN "baserom.gbc",$C769,$C7BE-$C769
-
-TilesetsHeadPtr: ; 0xC7BE
-	TSETHEAD Tset00_Block,Tset00_GFX,Tset00_Coll,$FF,$FF,$FF,$52,2
-	TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0
-	TSETHEAD Tset03_Block,Tset03_GFX,Tset03_Coll,$FF,$FF,$FF,$20,1
-	TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2
-	TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0
-	TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2
-	TSETHEAD Tset08_Block,Tset08_GFX,Tset08_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
-	TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
-	TSETHEAD Tset0B_Block,Tset0B_GFX,Tset0B_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
-	TSETHEAD Tset0D_Block,Tset0D_GFX,Tset0D_Coll,$FF,$FF,$FF,$FF,1
-	TSETHEAD Tset0E_Block,Tset0E_GFX,Tset0E_Coll,$FF,$FF,$FF,$FF,1
-	TSETHEAD Tset0F_Block,Tset0F_GFX,Tset0F_Coll,$12,$FF,$FF,$FF,0
-	TSETHEAD Tset10_Block,Tset10_GFX,Tset10_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset11_Block,Tset11_GFX,Tset11_Coll,$FF,$FF,$FF,$FF,1
-	TSETHEAD Tset12_Block,Tset12_GFX,Tset12_Coll,$15,$36,$FF,$FF,0
-	TSETHEAD Tset13_Block,Tset13_GFX,Tset13_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset14_Block,Tset14_GFX,Tset14_Coll,$FF,$FF,$FF,$FF,0
-	TSETHEAD Tset15_Block,Tset15_GFX,Tset15_Coll,$07,$17,$FF,$FF,0
-	TSETHEAD Tset16_Block,Tset16_GFX,Tset16_Coll,$12,$FF,$FF,$FF,1
-	TSETHEAD Tset17_Block,Tset17_GFX,Tset17_Coll,$FF,$FF,$FF,$45,1
-; 0xC8DE
-
-INCBIN "baserom.gbc",$C8DE,$C8F5-$C8DE
-
-; data for default hidden/shown
-; objects for each map ($00-$F8)
-
-; Table of 2-Byte pointers, one pointer per map,
-; goes up to Map_F7, ends with $FFFF.
-MapHSPointers: ; 48F5
-	dw MapHS00
-	dw MapHS01
-	dw MapHS02
-	dw MapHS03
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS0A
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS0D
-	dw MapHSXX
-	dw MapHS0F
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS14
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS17
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS1A
-	dw MapHS1B
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS21
-	dw MapHSXX
-	dw MapHS23
-	dw MapHS24
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS27
-	dw MapHS28
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS2D
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS33
-	dw MapHS34
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS3B
-	dw MapHSXX
-	dw MapHS3D
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS53
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS58
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS60
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS66
-	dw MapHS67
-	dw MapHS68
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS6C
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS78
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS84
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS87
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS8F
-	dw MapHS90
-	dw MapHS91
-	dw MapHS92
-	dw MapHS93
-	dw MapHS94
-	dw MapHS95
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS9B
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHS9F
-	dw MapHSA0
-	dw MapHSA1
-	dw MapHSA2
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSA5
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSB1
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSB5
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSC0
-	dw MapHSXX
-	dw MapHSC2
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSC6
-	dw MapHSC7
-	dw MapHSC8
-	dw MapHSC9
-	dw MapHSCA
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSCF
-	dw MapHSD0
-	dw MapHSD1
-	dw MapHSD2
-	dw MapHSD3
-	dw MapHSD4
-	dw MapHSD5
-	dw MapHSD6
-	dw MapHSD7
-	dw MapHSD8
-	dw MapHSD9
-	dw MapHSDA
-	dw MapHSDB
-	dw MapHSDC
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSE2
-	dw MapHSE3
-	dw MapHSE4
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSE9
-	dw MapHSEA
-	dw MapHSEB
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSF4
-	dw MapHSXX
-	dw MapHSXX
-	dw MapHSXX
-	dw $FFFF
-
-; Structure:
-; 3 bytes per object
-; [Map_ID][Object_ID][H/S]
-;
-; Program stops reading when either:
-; a) Map_ID = $FF
-; b) Map_ID ≠ currentMapID
-;
-; This Data is loaded into RAM at $D5CE-$D5F?.
-
-; These constants come from the bytes for Predef functions:
-Hide	equ $11
-Show	equ $15
-
-MapHSXX:
-	db $FF,$FF,$FF
-MapHS00:
-	db PALLET_TOWN,$01,Hide
-MapHS01:
-	db VIRIDIAN_CITY,$05,Show
-	db VIRIDIAN_CITY,$07,Hide
-MapHS02:
-	db PEWTER_CITY,$03,Show
-	db PEWTER_CITY,$05,Show
-MapHS03:
-	db CERULEAN_CITY,$01,Hide
-	db CERULEAN_CITY,$02,Show
-	db CERULEAN_CITY,$06,Hide
-	db CERULEAN_CITY,$0A,Show
-	db CERULEAN_CITY,$0B,Show
-MapHS0A:
-	db SAFFRON_CITY,$01,Show
-	db SAFFRON_CITY,$02,Show
-	db SAFFRON_CITY,$03,Show
-	db SAFFRON_CITY,$04,Show
-	db SAFFRON_CITY,$05,Show
-	db SAFFRON_CITY,$06,Show
-	db SAFFRON_CITY,$07,Show
-	db SAFFRON_CITY,$08,Hide
-	db SAFFRON_CITY,$09,Hide
-	db SAFFRON_CITY,$0A,Hide
-	db SAFFRON_CITY,$0B,Hide
-	db SAFFRON_CITY,$0C,Hide
-	db SAFFRON_CITY,$0D,Hide
-	db SAFFRON_CITY,$0E,Show
-	db SAFFRON_CITY,$0F,Hide
-MapHS0D:
-	db ROUTE_2,$01,Show
-	db ROUTE_2,$02,Show
-MapHS0F:
-	db ROUTE_4,$03,Show
-MapHS14:
-	db ROUTE_9,$0A,Show
-MapHS17:
-	db ROUTE_12,$01,Show
-	db ROUTE_12,$09,Show
-	db ROUTE_12,$0A,Show
-MapHS1A:
-	db ROUTE_15,$0B,Show
-MapHS1B:
-	db ROUTE_16,$07,Show
-MapHS21:
-	db ROUTE_22,$01,Hide
-	db ROUTE_22,$02,Hide
-MapHS23:
-	db ROUTE_24,$01,Show
-	db ROUTE_24,$08,Show
-MapHS24:
-	db ROUTE_25,$0A,Show
-MapHS27:
-	db BLUES_HOUSE,$01,Show
-	db BLUES_HOUSE,$02,Hide
-	db BLUES_HOUSE,$03,Show
-MapHS28:
-	db OAKS_LAB,$01,Show
-	db OAKS_LAB,$02,Show
-	db OAKS_LAB,$03,Show
-	db OAKS_LAB,$04,Show
-	db OAKS_LAB,$05,Hide
-	db OAKS_LAB,$06,Show
-	db OAKS_LAB,$07,Show
-	db OAKS_LAB,$08,Hide
-MapHS2D:
-	db VIRIDIAN_GYM,$01,Show
-	db VIRIDIAN_GYM,$0B,Show
-MapHS34:
-	db MUSEUM_1F,$05,Show
-MapHSE4:
-	db UNKNOWN_DUNGEON_1,$01,Show
-	db UNKNOWN_DUNGEON_1,$02,Show
-	db UNKNOWN_DUNGEON_1,$03,Show
-MapHS8F:
-	db POKEMONTOWER_2,$01,Show
-MapHS90:
-	db POKEMONTOWER_3,$04,Show
-MapHS91:
-	db POKEMONTOWER_4,$04,Show
-	db POKEMONTOWER_4,$05,Show
-	db POKEMONTOWER_4,$06,Show
-MapHS92:
-	db POKEMONTOWER_5,$06,Show
-MapHS93:
-	db POKEMONTOWER_6,$04,Show
-	db POKEMONTOWER_6,$05,Show
-MapHS94:
-	db POKEMONTOWER_7,$01,Show
-	db POKEMONTOWER_7,$02,Show
-	db POKEMONTOWER_7,$03,Show
-	db POKEMONTOWER_7,$04,Show
-MapHS95:
-	db LAVENDER_HOUSE_1,$05,Hide
-MapHS84:
-	db CELADON_MANSION_5,$02,Show
-MapHS87:
-	db GAME_CORNER,$0B,Show
-MapHS9B:
-	db FUCHSIA_HOUSE_2,$02,Show
-MapHSA5:
-	db MANSION_1,$02,Show
-	db MANSION_1,$03,Show
-MapHSB1:
-	db FIGHTINGDOJO,$06,Show
-	db FIGHTINGDOJO,$07,Show
-MapHSB5:
-	db SILPH_CO_1F,$01,Hide
-MapHS53:
-	db POWER_PLANT,$01,Show
-	db POWER_PLANT,$02,Show
-	db POWER_PLANT,$03,Show
-	db POWER_PLANT,$04,Show
-	db POWER_PLANT,$05,Show
-	db POWER_PLANT,$06,Show
-	db POWER_PLANT,$07,Show
-	db POWER_PLANT,$08,Show
-	db POWER_PLANT,$09,Show
-	db POWER_PLANT,$0A,Show
-	db POWER_PLANT,$0B,Show
-	db POWER_PLANT,$0C,Show
-	db POWER_PLANT,$0D,Show
-	db POWER_PLANT,$0E,Show
-MapHSC2:
-	db VICTORY_ROAD_2,$06,Show
-	db VICTORY_ROAD_2,$07,Show
-	db VICTORY_ROAD_2,$08,Show
-	db VICTORY_ROAD_2,$09,Show
-	db VICTORY_ROAD_2,$0A,Show
-	db VICTORY_ROAD_2,$0D,Show
-MapHS58:
-	db BILLS_HOUSE,$01,Show
-	db BILLS_HOUSE,$02,Hide
-	db BILLS_HOUSE,$03,Hide
-MapHS33:
-	db VIRIDIAN_FOREST,$05,Show
-	db VIRIDIAN_FOREST,$06,Show
-	db VIRIDIAN_FOREST,$07,Show
-MapHS3B:
-	db MT_MOON_1,$08,Show
-	db MT_MOON_1,$09,Show
-	db MT_MOON_1,$0A,Show
-	db MT_MOON_1,$0B,Show
-	db MT_MOON_1,$0C,Show
-	db MT_MOON_1,$0D,Show
-MapHS3D:
-	db MT_MOON_3,$06,Show
-	db MT_MOON_3,$07,Show
-	db MT_MOON_3,$08,Show
-	db MT_MOON_3,$09,Show
-MapHS60:
-	db SS_ANNE_2,$02,Hide
-MapHS66:
-	db SS_ANNE_8,$0A,Show
-MapHS67:
-	db SS_ANNE_9,$06,Show
-	db SS_ANNE_9,$09,Show
-MapHS68:
-	db SS_ANNE_10,$09,Show
-	db SS_ANNE_10,$0A,Show
-	db SS_ANNE_10,$0B,Show
-MapHSC6:
-	db VICTORY_ROAD_3,$05,Show
-	db VICTORY_ROAD_3,$06,Show
-	db VICTORY_ROAD_3,$0A,Show
-MapHSC7:
-	db ROCKET_HIDEOUT_1,$06,Show
-	db ROCKET_HIDEOUT_1,$07,Show
-MapHSC8:
-	db ROCKET_HIDEOUT_2,$02,Show
-	db ROCKET_HIDEOUT_2,$03,Show
-	db ROCKET_HIDEOUT_2,$04,Show
-	db ROCKET_HIDEOUT_2,$05,Show
-MapHSC9:
-	db ROCKET_HIDEOUT_3,$03,Show
-	db ROCKET_HIDEOUT_3,$04,Show
-MapHSCA:
-	db ROCKET_HIDEOUT_4,$01,Show
-	db ROCKET_HIDEOUT_4,$05,Show
-	db ROCKET_HIDEOUT_4,$06,Show
-	db ROCKET_HIDEOUT_4,$07,Show
-	db ROCKET_HIDEOUT_4,$08,Hide
-	db ROCKET_HIDEOUT_4,$09,Hide
-MapHSCF:
-	db SILPH_CO_2F,$01,Show
-	db SILPH_CO_2F,$02,Show
-	db SILPH_CO_2F,$03,Show
-	db SILPH_CO_2F,$04,Show
-	db SILPH_CO_2F,$05,Show
-MapHSD0:
-	db SILPH_CO_3F,$02,Show
-	db SILPH_CO_3F,$03,Show
-	db SILPH_CO_3F,$04,Show
-MapHSD1:
-	db SILPH_CO_4F,$02,Show
-	db SILPH_CO_4F,$03,Show
-	db SILPH_CO_4F,$04,Show
-	db SILPH_CO_4F,$05,Show
-	db SILPH_CO_4F,$06,Show
-	db SILPH_CO_4F,$07,Show
-MapHSD2:
-	db SILPH_CO_5F,$02,Show
-	db SILPH_CO_5F,$03,Show
-	db SILPH_CO_5F,$04,Show
-	db SILPH_CO_5F,$05,Show
-	db SILPH_CO_5F,$06,Show
-	db SILPH_CO_5F,$07,Show
-	db SILPH_CO_5F,$08,Show
-MapHSD3:
-	db SILPH_CO_6F,$06,Show
-	db SILPH_CO_6F,$07,Show
-	db SILPH_CO_6F,$08,Show
-	db SILPH_CO_6F,$09,Show
-	db SILPH_CO_6F,$0A,Show
-MapHSD4:
-	db SILPH_CO_7F,$05,Show
-	db SILPH_CO_7F,$06,Show
-	db SILPH_CO_7F,$07,Show
-	db SILPH_CO_7F,$08,Show
-	db SILPH_CO_7F,$09,Show
-	db SILPH_CO_7F,$0A,Show
-	db SILPH_CO_7F,$0B,Show
-	db SILPH_CO_7F,$0C,Show
-MapHSD5:
-	db SILPH_CO_8F,$02,Show
-	db SILPH_CO_8F,$03,Show
-	db SILPH_CO_8F,$04,Show
-MapHSE9:
-	db SILPH_CO_9F,$02,Show
-	db SILPH_CO_9F,$03,Show
-	db SILPH_CO_9F,$04,Show
-MapHSEA:
-	db SILPH_CO_10F,$01,Show
-	db SILPH_CO_10F,$02,Show
-	db SILPH_CO_10F,$03,Show
-	db SILPH_CO_10F,$04,Show
-	db SILPH_CO_10F,$05,Show
-	db SILPH_CO_10F,$06,Show
-MapHSEB:
-	db SILPH_CO_11F,$03,Show
-	db SILPH_CO_11F,$04,Show
-	db SILPH_CO_11F,$05,Show
-MapHSF4:
-	db $F4,$02,Show
-MapHSD6:
-	db MANSION_2,$02,Show
-MapHSD7:
-	db MANSION_3,$03,Show
-	db MANSION_3,$04,Show
-MapHSD8:
-	db MANSION_4,$03,Show
-	db MANSION_4,$04,Show
-	db MANSION_4,$05,Show
-	db MANSION_4,$06,Show
-	db MANSION_4,$08,Show
-MapHSD9:
-	db SAFARI_ZONE_EAST,$01,Show
-	db SAFARI_ZONE_EAST,$02,Show
-	db SAFARI_ZONE_EAST,$03,Show
-	db SAFARI_ZONE_EAST,$04,Show
-MapHSDA:
-	db SAFARI_ZONE_NORTH,$01,Show
-	db SAFARI_ZONE_NORTH,$02,Show
-MapHSDB:
-	db SAFARI_ZONE_WEST,$01,Show
-	db SAFARI_ZONE_WEST,$02,Show
-	db SAFARI_ZONE_WEST,$03,Show
-	db SAFARI_ZONE_WEST,$04,Show
-MapHSDC:
-	db SAFARI_ZONE_CENTER,$01,Show
-MapHSE2:
-	db UNKNOWN_DUNGEON_2,$01,Show
-	db UNKNOWN_DUNGEON_2,$02,Show
-	db UNKNOWN_DUNGEON_2,$03,Show
-MapHSE3:
-	db UNKNOWN_DUNGEON_3,$01,Show
-	db UNKNOWN_DUNGEON_3,$02,Show
-	db UNKNOWN_DUNGEON_3,$03,Show
-MapHS6C:
-	db VICTORY_ROAD_1,$03,Show
-	db VICTORY_ROAD_1,$04,Show
-MapHS78:
-	db CHAMPIONS_ROOM,$02,Hide
-MapHSC0:
-	db SEAFOAM_ISLANDS_1,$01,Show
-	db SEAFOAM_ISLANDS_1,$02,Show
-MapHS9F:
-	db SEAFOAM_ISLANDS_2,$01,Hide
-	db SEAFOAM_ISLANDS_2,$02,Hide
-MapHSA0:
-	db SEAFOAM_ISLANDS_3,$01,Hide
-	db SEAFOAM_ISLANDS_3,$02,Hide
-MapHSA1:
-	db SEAFOAM_ISLANDS_4,$02,Show
-	db SEAFOAM_ISLANDS_4,$03,Show
-	db SEAFOAM_ISLANDS_4,$05,Hide
-	db SEAFOAM_ISLANDS_4,$06,Hide
-MapHSA2:
-	db SEAFOAM_ISLANDS_5,$01,Hide
-	db SEAFOAM_ISLANDS_5,$02,Hide
-	db SEAFOAM_ISLANDS_5,$03,Show
-
-	db $FF
-
-INCBIN "baserom.gbc",$cd97,$cdbb - $cd97
-
-UnnamedText_cdbb: ; 0xcdbb
-	TX_FAR _UnnamedText_cdbb
-	db $50
-; 0xcdbb + 5 bytes
-
-INCBIN "baserom.gbc",$cdc0,$cdfa - $cdc0
-
-UnnamedText_cdfa: ; 0xcdfa
-	TX_FAR _UnnamedText_cdfa
-	db $50
-; 0xcdfa + 5 bytes
-
-UnnamedText_cdff: ; 0xcdff
-	TX_FAR _UnnamedText_cdff
-	db $50
-; 0xcdff + 5 bytes
-
-INCBIN "baserom.gbc",$ce04,$b4
-
-; wild pokemon data: from 4EB8 to 55C7
-
-LoadWildData: ; 4EB8
-	ld hl,WildDataPointers
-	ld a,[W_CURMAP]
-
-	; get wild data for current map
-	ld c,a
-	ld b,0
-	add hl,bc
-	add hl,bc
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a       ; hl now points to wild data for current map
-	ld a,[hli]
-	ld [W_GRASSRATE],a
-	and a
-	jr z,.NoGrassData\@ ; if no grass data, skip to surfing data
-	push hl
-	ld de,W_GRASSMONS ; otherwise, load grass data
-	ld bc,$0014
-	call CopyData
-	pop hl
-	ld bc,$0014
-	add hl,bc
-.NoGrassData\@
-	ld a,[hli]
-	ld [W_WATERRATE],a
-	and a
-	ret z        ; if no water data, we're done
-	ld de,W_WATERMONS  ; otherwise, load surfing data
-	ld bc,$0014
-	jp CopyData
-
-WildDataPointers: ; 4EEB
-	dw NoMons      ; PALLET_TOWN
-	dw NoMons      ; VIRIDIAN_CITY
-	dw NoMons      ; PEWTER_CITY
-	dw NoMons      ; CERULEAN_CITY
-	dw NoMons      ; LAVENDER_TOWN
-	dw NoMons      ; VERMILION_CITY
-	dw NoMons      ; CELADON_CITY
-	dw NoMons      ; FUCHSIA_CITY
-	dw NoMons      ; CINNABAR_ISLAND
-	dw NoMons      ; INDIGO_PLATEAU
-	dw NoMons      ; SAFFRON_CITY
-	dw NoMons      ; unused
-	dw Route1Mons  ; ROUTE_1
-	dw Route2Mons  ; ROUTE_2
-	dw Route3Mons  ; ROUTE_3
-	dw Route4Mons  ; ROUTE_4
-	dw Route5Mons  ; ROUTE_5
-	dw Route6Mons  ; ROUTE_6
-	dw Route7Mons  ; ROUTE_7
-	dw Route8Mons  ; ROUTE_8
-	dw Route9Mons  ; ROUTE_9
-	dw Route10Mons ; ROUTE_10
-	dw Route11Mons ; ROUTE_11
-	dw Route12Mons ; ROUTE_12
-	dw Route13Mons ; ROUTE_13
-	dw Route14Mons ; ROUTE_14
-	dw Route15Mons ; ROUTE_15
-	dw Route16Mons ; ROUTE_16
-	dw Route17Mons ; ROUTE_17
-	dw Route18Mons ; ROUTE_18
-	dw WaterMons   ; ROUTE_19
-	dw WaterMons   ; ROUTE_20
-	dw Route21Mons ; ROUTE_21
-	dw Route22Mons ; ROUTE_22
-	dw Route23Mons ; ROUTE_23
-	dw Route24Mons ; ROUTE_24
-	dw Route25Mons ; ROUTE_25
-	dw NoMons      ; REDS_HOUSE_1F
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw ForestMons ; ViridianForest
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw MoonMons1
-	dw MoonMonsB1
-	dw MoonMonsB2
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw TunnelMonsB1
-	dw PowerPlantMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw PlateauMons1
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw TowerMons1
-	dw TowerMons2
-	dw TowerMons3
-	dw TowerMons4
-	dw TowerMons5
-	dw TowerMons6
-	dw TowerMons7
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw IslandMonsB1
-	dw IslandMonsB2
-	dw IslandMonsB3
-	dw IslandMonsB4
-	dw NoMons
-	dw NoMons
-	dw MansionMons1
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw IslandMons1
-	dw NoMons
-	dw PlateauMons2
-	dw NoMons
-	dw NoMons
-	dw CaveMons
-	dw PlateauMons3
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw MansionMons2
-	dw MansionMons3
-	dw MansionMonsB1
-	dw ZoneMons1
-	dw ZoneMons2
-	dw ZoneMons3
-	dw ZoneMonsCenter
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw DungeonMons2
-	dw DungeonMonsB1
-	dw DungeonMons1
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw TunnelMonsB2
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw NoMons
-	dw $FFFF
-
-; wild pokemon data is divided into two parts.
-; first part:  pokemon found in grass
-; second part: pokemon found while surfing
-; each part goes as follows:
-	; if first byte == 00, then
-		; no wild pokemon on this map
-	; if first byte != 00, then
-		; first byte is encounter rate
-		; followed by 20 bytes:
-		; level, species (ten times)
-
-IF _RED
-NoMons:
-	db $00
-
-	db $00
-
-Route1Mons:
-	db $19
-	db 3,PIDGEY
-	db 3,RATTATA
-	db 3,RATTATA
-	db 2,RATTATA
-	db 2,PIDGEY
-	db 3,PIDGEY
-	db 3,PIDGEY
-	db 4,RATTATA
-	db 4,PIDGEY
-	db 5,PIDGEY
-
-	db $00
-
-Route2Mons:
-	db $19
-	db 3,RATTATA
-	db 3,PIDGEY
-	db 4,PIDGEY
-	db 4,RATTATA
-	db 5,PIDGEY
-	db 3,WEEDLE
-	db 2,RATTATA
-	db 5,RATTATA
-	db 4,WEEDLE
-	db 5,WEEDLE
-
-	db $00
-
-Route22Mons:
-	db $19
-	db 3,RATTATA
-	db 3,NIDORAN_M
-	db 4,RATTATA
-	db 4,NIDORAN_M
-	db 2,RATTATA
-	db 2,NIDORAN_M
-	db 3,SPEAROW
-	db 5,SPEAROW
-	db 3,NIDORAN_F
-	db 4,NIDORAN_F
-
-	db $00
-
-ForestMons:
-	db $08
-	db 4,WEEDLE
-	db 5,KAKUNA
-	db 3,WEEDLE
-	db 5,WEEDLE
-	db 4,KAKUNA
-	db 6,KAKUNA
-	db 4,METAPOD
-	db 3,CATERPIE
-	db 3,PIKACHU
-	db 5,PIKACHU
-
-	db $00
-
-Route3Mons:
-	db $14
-	db 6,PIDGEY
-	db 5,SPEAROW
-	db 7,PIDGEY
-	db 6,SPEAROW
-	db 7,SPEAROW
-	db 8,PIDGEY
-	db 8,SPEAROW
-	db 3,JIGGLYPUFF
-	db 5,JIGGLYPUFF
-	db 7,JIGGLYPUFF
-
-	db $00
-
-MoonMons1:
-	db $0A
-	db 8,ZUBAT
-	db 7,ZUBAT
-	db 9,ZUBAT
-	db 8,GEODUDE
-	db 6,ZUBAT
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 8,PARAS
-	db 11,ZUBAT
-	db 8,CLEFAIRY
-
-	db $00
-
-MoonMonsB1:
-	db $0A
-	db 8,ZUBAT
-	db 7,ZUBAT
-	db 7,GEODUDE
-	db 8,GEODUDE
-	db 9,ZUBAT
-	db 10,PARAS
-	db 10,ZUBAT
-	db 11,ZUBAT
-	db 9,CLEFAIRY
-	db 9,GEODUDE
-
-	db $00
-
-MoonMonsB2:
-	db $0A
-	db 9,ZUBAT
-	db 9,GEODUDE
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 11,ZUBAT
-	db 10,PARAS
-	db 12,PARAS
-	db 10,CLEFAIRY
-	db 12,ZUBAT
-	db 12,CLEFAIRY
-
-	db $00
-
-Route4Mons:
-	db $14
-	db 10,RATTATA
-	db 10,SPEAROW
-	db 8,RATTATA
-	db 6,EKANS
-	db 8,SPEAROW
-	db 10,EKANS
-	db 12,RATTATA
-	db 12,SPEAROW
-	db 8,EKANS
-	db 12,EKANS
-
-	db $00
-
-Route24Mons:
-	db $19
-	db 7,WEEDLE
-	db 8,KAKUNA
-	db 12,PIDGEY
-	db 12,ODDISH
-	db 13,ODDISH
-	db 10,ABRA
-	db 14,ODDISH
-	db 13,PIDGEY
-	db 8,ABRA
-	db 12,ABRA
-
-	db $00
-
-Route25Mons:
-	db $0F
-	db 8,WEEDLE
-	db 9,KAKUNA
-	db 13,PIDGEY
-	db 12,ODDISH
-	db 13,ODDISH
-	db 12,ABRA
-	db 14,ODDISH
-	db 10,ABRA
-	db 7,METAPOD
-	db 8,CATERPIE
-
-	db $00
-
-Route9Mons:
-	db $0F
-	db 16,RATTATA
-	db 16,SPEAROW
-	db 14,RATTATA
-	db 11,EKANS
-	db 13,SPEAROW
-	db 15,EKANS
-	db 17,RATTATA
-	db 17,SPEAROW
-	db 13,EKANS
-	db 17,EKANS
-
-	db $00
-
-Route5Mons:
-	db $0F
-	db 13,ODDISH
-	db 13,PIDGEY
-	db 15,PIDGEY
-	db 10,MANKEY
-	db 12,MANKEY
-	db 15,ODDISH
-	db 16,ODDISH
-	db 16,PIDGEY
-	db 14,MANKEY
-	db 16,MANKEY
-
-	db $00
-
-Route6Mons:
-	db $0F
-	db 13,ODDISH
-	db 13,PIDGEY
-	db 15,PIDGEY
-	db 10,MANKEY
-	db 12,MANKEY
-	db 15,ODDISH
-	db 16,ODDISH
-	db 16,PIDGEY
-	db 14,MANKEY
-	db 16,MANKEY
-
-	db $00
-
-Route11Mons:
-	db $0F
-	db 14,EKANS
-	db 15,SPEAROW
-	db 12,EKANS
-	db 9,DROWZEE
-	db 13,SPEAROW
-	db 13,DROWZEE
-	db 15,EKANS
-	db 17,SPEAROW
-	db 11,DROWZEE
-	db 15,DROWZEE
-
-	db $00
-
-TunnelMonsB1:
-	db $0F
-	db 16,ZUBAT
-	db 17,ZUBAT
-	db 17,GEODUDE
-	db 15,MACHOP
-	db 16,GEODUDE
-	db 18,ZUBAT
-	db 15,ZUBAT
-	db 17,MACHOP
-	db 13,ONIX
-	db 15,ONIX
-
-	db $00
-
-TunnelMonsB2:
-	db $0F
-	db 16,ZUBAT
-	db 17,ZUBAT
-	db 17,GEODUDE
-	db 15,MACHOP
-	db 16,GEODUDE
-	db 18,ZUBAT
-	db 17,MACHOP
-	db 17,ONIX
-	db 13,ONIX
-	db 18,GEODUDE
-
-	db $00
-
-Route10Mons:
-	db $0F
-	db 16,VOLTORB
-	db 16,SPEAROW
-	db 14,VOLTORB
-	db 11,EKANS
-	db 13,SPEAROW
-	db 15,EKANS
-	db 17,VOLTORB
-	db 17,SPEAROW
-	db 13,EKANS
-	db 17,EKANS
-
-	db $00
-
-Route12Mons:
-	db $0F
-	db 24,ODDISH
-	db 25,PIDGEY
-	db 23,PIDGEY
-	db 24,VENONAT
-	db 22,ODDISH
-	db 26,VENONAT
-	db 26,ODDISH
-	db 27,PIDGEY
-	db 28,GLOOM
-	db 30,GLOOM
-
-	db $00
-
-Route8Mons:
-	db $0F
-	db 18,PIDGEY
-	db 18,MANKEY
-	db 17,EKANS
-	db 16,GROWLITHE
-	db 20,PIDGEY
-	db 20,MANKEY
-	db 19,EKANS
-	db 17,GROWLITHE
-	db 15,GROWLITHE
-	db 18,GROWLITHE
-
-	db $00
-
-Route7Mons:
-	db $0F
-	db 19,PIDGEY
-	db 19,ODDISH
-	db 17,MANKEY
-	db 22,ODDISH
-	db 22,PIDGEY
-	db 18,MANKEY
-	db 18,GROWLITHE
-	db 20,GROWLITHE
-	db 19,MANKEY
-	db 20,MANKEY
-
-	db $00
-
-TowerMons1:
-	db $00
-
-	db $00
-
-TowerMons2:
-	db $00
-
-	db $00
-
-TowerMons3:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 24,GASTLY
-	db 20,CUBONE
-	db 22,CUBONE
-	db 25,HAUNTER
-
-	db $00
-
-TowerMons4:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,HAUNTER
-	db 20,CUBONE
-	db 22,CUBONE
-	db 24,GASTLY
-
-	db $00
-
-TowerMons5:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,HAUNTER
-	db 20,CUBONE
-	db 22,CUBONE
-	db 24,GASTLY
-
-	db $00
-
-TowerMons6:
-	db $0F
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 20,GASTLY
-	db 19,GASTLY
-	db 26,HAUNTER
-	db 22,CUBONE
-	db 24,CUBONE
-	db 28,HAUNTER
-
-	db $00
-
-TowerMons7:
-	db $0F
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 20,GASTLY
-	db 28,HAUNTER
-	db 22,CUBONE
-	db 24,CUBONE
-	db 28,HAUNTER
-	db 30,HAUNTER
-
-	db $00
-
-Route13Mons:
-	db $14
-	db 24,ODDISH
-	db 25,PIDGEY
-	db 27,PIDGEY
-	db 24,VENONAT
-	db 22,ODDISH
-	db 26,VENONAT
-	db 26,ODDISH
-	db 25,DITTO
-	db 28,GLOOM
-	db 30,GLOOM
-
-	db $00
-
-Route14Mons:
-	db $0F
-	db 24,ODDISH
-	db 26,PIDGEY
-	db 23,DITTO
-	db 24,VENONAT
-	db 22,ODDISH
-	db 26,VENONAT
-	db 26,ODDISH
-	db 30,GLOOM
-	db 28,PIDGEOTTO
-	db 30,PIDGEOTTO
-
-	db $00
-
-Route15Mons:
-	db $0F
-	db 24,ODDISH
-	db 26,DITTO
-	db 23,PIDGEY
-	db 26,VENONAT
-	db 22,ODDISH
-	db 28,VENONAT
-	db 26,ODDISH
-	db 30,GLOOM
-	db 28,PIDGEOTTO
-	db 30,PIDGEOTTO
-
-	db $00
-
-Route16Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 18,RATTATA
-	db 20,DODUO
-	db 20,RATTATA
-	db 18,DODUO
-	db 22,DODUO
-	db 22,RATTATA
-	db 23,RATICATE
-	db 25,RATICATE
-
-	db $00
-
-Route17Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 25,RATICATE
-	db 24,DODUO
-	db 27,RATICATE
-	db 26,DODUO
-	db 28,DODUO
-	db 29,RATICATE
-	db 25,FEAROW
-	db 27,FEAROW
-
-	db $00
-
-Route18Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 25,RATICATE
-	db 24,DODUO
-	db 25,FEAROW
-	db 26,DODUO
-	db 28,DODUO
-	db 29,RATICATE
-	db 27,FEAROW
-	db 29,FEAROW
-
-	db $00
-
-ZoneMonsCenter:
-	db $1E
-	db 22,NIDORAN_M
-	db 25,RHYHORN
-	db 22,VENONAT
-	db 24,EXEGGCUTE
-	db 31,NIDORINO
-	db 25,EXEGGCUTE
-	db 31,NIDORINA
-	db 30,PARASECT
-	db 23,SCYTHER
-	db 23,CHANSEY
-
-	db $00
-
-ZoneMons1:
-	db $1E
-	db 24,NIDORAN_M
-	db 26,DODUO
-	db 22,PARAS
-	db 25,EXEGGCUTE
-	db 33,NIDORINO
-	db 23,EXEGGCUTE
-	db 24,NIDORAN_F
-	db 25,PARASECT
-	db 25,KANGASKHAN
-	db 28,SCYTHER
-
-	db $00
-
-ZoneMons2:
-	db $1E
-	db 22,NIDORAN_M
-	db 26,RHYHORN
-	db 23,PARAS
-	db 25,EXEGGCUTE
-	db 30,NIDORINO
-	db 27,EXEGGCUTE
-	db 30,NIDORINA
-	db 32,VENOMOTH
-	db 26,CHANSEY
-	db 28,TAUROS
-
-	db $00
-
-ZoneMons3:
-	db $1E
-	db 25,NIDORAN_M
-	db 26,DODUO
-	db 23,VENONAT
-	db 24,EXEGGCUTE
-	db 33,NIDORINO
-	db 26,EXEGGCUTE
-	db 25,NIDORAN_F
-	db 31,VENOMOTH
-	db 26,TAUROS
-	db 28,KANGASKHAN
-
-	db $00
-
-WaterMons:
-	db $00
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-IslandMons1:
-	db $0F
-	db 30,SEEL
-	db 30,SLOWPOKE
-	db 30,SHELLDER
-	db 30,HORSEA
-	db 28,HORSEA
-	db 21,ZUBAT
-	db 29,GOLBAT
-	db 28,PSYDUCK
-	db 28,SHELLDER
-	db 38,GOLDUCK
-
-	db $00
-
-IslandMonsB1:
-	db $0A
-	db 30,STARYU
-	db 30,HORSEA
-	db 32,SHELLDER
-	db 32,HORSEA
-	db 28,SLOWPOKE
-	db 30,SEEL
-	db 30,SLOWPOKE
-	db 28,SEEL
-	db 38,DEWGONG
-	db 37,SEADRA
-
-	db $00
-
-IslandMonsB2:
-	db $0A
-	db 30,SEEL
-	db 30,SLOWPOKE
-	db 32,SEEL
-	db 32,SLOWPOKE
-	db 28,HORSEA
-	db 30,STARYU
-	db 30,HORSEA
-	db 28,SHELLDER
-	db 30,GOLBAT
-	db 37,SLOWBRO
-
-	db $00
-
-IslandMonsB3:
-	db $0A
-	db 31,SLOWPOKE
-	db 31,SEEL
-	db 33,SLOWPOKE
-	db 33,SEEL
-	db 29,HORSEA
-	db 31,SHELLDER
-	db 31,HORSEA
-	db 29,SHELLDER
-	db 39,SEADRA
-	db 37,DEWGONG
-
-	db $00
-
-IslandMonsB4:
-	db $0A
-	db 31,HORSEA
-	db 31,SHELLDER
-	db 33,HORSEA
-	db 33,SHELLDER
-	db 29,SLOWPOKE
-	db 31,SEEL
-	db 31,SLOWPOKE
-	db 29,SEEL
-	db 39,SLOWBRO
-	db 32,GOLBAT
-
-	db $00
-
-MansionMons1:
-	db $0A
-	db 32,KOFFING
-	db 30,KOFFING
-	db 34,PONYTA
-	db 30,PONYTA
-	db 34,GROWLITHE
-	db 32,PONYTA
-	db 30,GRIMER
-	db 28,PONYTA
-	db 37,WEEZING
-	db 39,MUK
-
-	db $00
-
-MansionMons2:
-	db $0A
-	db 32,GROWLITHE
-	db 34,KOFFING
-	db 34,KOFFING
-	db 30,PONYTA
-	db 30,KOFFING
-	db 32,PONYTA
-	db 30,GRIMER
-	db 28,PONYTA
-	db 39,WEEZING
-	db 37,MUK
-
-	db $00
-
-MansionMons3:
-	db $0A
-	db 31,KOFFING
-	db 33,GROWLITHE
-	db 35,KOFFING
-	db 32,PONYTA
-	db 34,PONYTA
-	db 40,WEEZING
-	db 34,GRIMER
-	db 38,WEEZING
-	db 36,PONYTA
-	db 42,MUK
-
-	db $00
-
-MansionMonsB1:
-	db $0A
-	db 33,KOFFING
-	db 31,KOFFING
-	db 35,GROWLITHE
-	db 32,PONYTA
-	db 31,KOFFING
-	db 40,WEEZING
-	db 34,PONYTA
-	db 35,GRIMER
-	db 42,WEEZING
-	db 42,MUK
-
-	db $00
-
-Route21Mons:
-	db $19
-	db 21,RATTATA
-	db 23,PIDGEY
-	db 30,RATICATE
-	db 23,RATTATA
-	db 21,PIDGEY
-	db 30,PIDGEOTTO
-	db 32,PIDGEOTTO
-	db 28,TANGELA
-	db 30,TANGELA
-	db 32,TANGELA
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-DungeonMons1:
-	db $0A
-	db 46,GOLBAT
-	db 46,HYPNO
-	db 46,MAGNETON
-	db 49,DODRIO
-	db 49,VENOMOTH
-	db 52,ARBOK
-	db 49,KADABRA
-	db 52,PARASECT
-	db 53,RAICHU
-	db 53,DITTO
-
-	db $00
-
-DungeonMons2:
-	db $0F
-	db 51,DODRIO
-	db 51,VENOMOTH
-	db 51,KADABRA
-	db 52,RHYDON
-	db 52,MAROWAK
-	db 52,ELECTRODE
-	db 56,CHANSEY
-	db 54,WIGGLYTUFF
-	db 55,DITTO
-	db 60,DITTO
-
-	db $00
-
-DungeonMonsB1:
-	db $19
-	db 55,RHYDON
-	db 55,MAROWAK
-	db 55,ELECTRODE
-	db 64,CHANSEY
-	db 64,PARASECT
-	db 64,RAICHU
-	db 57,ARBOK
-	db 65,DITTO
-	db 63,DITTO
-	db 67,DITTO
-
-	db $00
-
-PowerPlantMons:
-	db $0A
-	db 21,VOLTORB
-	db 21,MAGNEMITE
-	db 20,PIKACHU
-	db 24,PIKACHU
-	db 23,MAGNEMITE
-	db 23,VOLTORB
-	db 32,MAGNETON
-	db 35,MAGNETON
-	db 33,ELECTABUZZ
-	db 36,ELECTABUZZ
-
-	db $00
-
-Route23Mons:
-	db $0A
-	db 26,EKANS
-	db 33,DITTO
-	db 26,SPEAROW
-	db 38,FEAROW
-	db 38,DITTO
-	db 38,FEAROW
-	db 41,ARBOK
-	db 43,DITTO
-	db 41,FEAROW
-	db 43,FEAROW
-
-	db $00
-
-PlateauMons2:
-	db $0A
-	db 22,MACHOP
-	db 24,GEODUDE
-	db 26,ZUBAT
-	db 36,ONIX
-	db 39,ONIX
-	db 42,ONIX
-	db 41,MACHOKE
-	db 40,GOLBAT
-	db 40,MAROWAK
-	db 43,GRAVELER
-
-	db $00
-
-PlateauMons3:
-	db $0F
-	db 24,MACHOP
-	db 26,GEODUDE
-	db 22,ZUBAT
-	db 42,ONIX
-	db 40,VENOMOTH
-	db 45,ONIX
-	db 43,GRAVELER
-	db 41,GOLBAT
-	db 42,MACHOKE
-	db 45,MACHOKE
-
-	db $00
-
-PlateauMons1:
-	db $0F
-	db 24,MACHOP
-	db 26,GEODUDE
-	db 22,ZUBAT
-	db 36,ONIX
-	db 39,ONIX
-	db 42,ONIX
-	db 41,GRAVELER
-	db 41,GOLBAT
-	db 42,MACHOKE
-	db 43,MAROWAK
-
-	db $00
-
-CaveMons:
-	db $14
-	db 18,DIGLETT
-	db 19,DIGLETT
-	db 17,DIGLETT
-	db 20,DIGLETT
-	db 16,DIGLETT
-	db 15,DIGLETT
-	db 21,DIGLETT
-	db 22,DIGLETT
-	db 29,DUGTRIO
-	db 31,DUGTRIO
-
-	db $00
-
-ENDC
-IF _GREEN || !_JAPAN && _BLUE
-NoMons:
-	db $00
-
-	db $00
-
-Route1Mons:
-	db $19
-	db 3,PIDGEY
-	db 3,RATTATA
-	db 3,RATTATA
-	db 2,RATTATA
-	db 2,PIDGEY
-	db 3,PIDGEY
-	db 3,PIDGEY
-	db 4,RATTATA
-	db 4,PIDGEY
-	db 5,PIDGEY
-
-	db $00
-
-Route2Mons:
-	db $19
-	db 3,RATTATA
-	db 3,PIDGEY
-	db 4,PIDGEY
-	db 4,RATTATA
-	db 5,PIDGEY
-	db 3,CATERPIE
-	db 2,RATTATA
-	db 5,RATTATA
-	db 4,CATERPIE
-	db 5,CATERPIE
-
-	db $00
-
-Route22Mons:
-	db $19
-	db 3,RATTATA
-	db 3,NIDORAN_F
-	db 4,RATTATA
-	db 4,NIDORAN_F
-	db 2,RATTATA
-	db 2,NIDORAN_F
-	db 3,SPEAROW
-	db 5,SPEAROW
-	db 3,NIDORAN_M
-	db 4,NIDORAN_M
-
-	db $00
-
-ForestMons:
-	db $08
-	db 4,CATERPIE
-	db 5,METAPOD
-	db 3,CATERPIE
-	db 5,CATERPIE
-	db 4,METAPOD
-	db 6,METAPOD
-	db 4,KAKUNA
-	db 3,WEEDLE
-	db 3,PIKACHU
-	db 5,PIKACHU
-
-	db $00
-
-Route3Mons:
-	db $14
-	db 6,PIDGEY
-	db 5,SPEAROW
-	db 7,PIDGEY
-	db 6,SPEAROW
-	db 7,SPEAROW
-	db 8,PIDGEY
-	db 8,SPEAROW
-	db 3,JIGGLYPUFF
-	db 5,JIGGLYPUFF
-	db 7,JIGGLYPUFF
-
-	db $00
-
-MoonMons1:
-	db $0A
-	db 8,ZUBAT
-	db 7,ZUBAT
-	db 9,ZUBAT
-	db 8,GEODUDE
-	db 6,ZUBAT
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 8,PARAS
-	db 11,ZUBAT
-	db 8,CLEFAIRY
-
-	db $00
-
-MoonMonsB1:
-	db $0A
-	db 8,ZUBAT
-	db 7,ZUBAT
-	db 7,GEODUDE
-	db 8,GEODUDE
-	db 9,ZUBAT
-	db 10,PARAS
-	db 10,ZUBAT
-	db 11,ZUBAT
-	db 9,CLEFAIRY
-	db 9,GEODUDE
-
-	db $00
-
-MoonMonsB2:
-	db $0A
-	db 9,ZUBAT
-	db 9,GEODUDE
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 11,ZUBAT
-	db 10,PARAS
-	db 12,PARAS
-	db 10,CLEFAIRY
-	db 12,ZUBAT
-	db 12,CLEFAIRY
-
-	db $00
-
-Route4Mons:
-	db $14
-	db 10,RATTATA
-	db 10,SPEAROW
-	db 8,RATTATA
-	db 6,SANDSHREW
-	db 8,SPEAROW
-	db 10,SANDSHREW
-	db 12,RATTATA
-	db 12,SPEAROW
-	db 8,SANDSHREW
-	db 12,SANDSHREW
-
-	db $00
-
-Route24Mons:
-	db $19
-	db 7,CATERPIE
-	db 8,METAPOD
-	db 12,PIDGEY
-	db 12,BELLSPROUT
-	db 13,BELLSPROUT
-	db 10,ABRA
-	db 14,BELLSPROUT
-	db 13,PIDGEY
-	db 8,ABRA
-	db 12,ABRA
-
-	db $00
-
-Route25Mons:
-	db $0F
-	db 8,CATERPIE
-	db 9,METAPOD
-	db 13,PIDGEY
-	db 12,BELLSPROUT
-	db 13,BELLSPROUT
-	db 12,ABRA
-	db 14,BELLSPROUT
-	db 10,ABRA
-	db 7,KAKUNA
-	db 8,WEEDLE
-
-	db $00
-
-Route9Mons:
-	db $0F
-	db 16,RATTATA
-	db 16,SPEAROW
-	db 14,RATTATA
-	db 11,SANDSHREW
-	db 13,SPEAROW
-	db 15,SANDSHREW
-	db 17,RATTATA
-	db 17,SPEAROW
-	db 13,SANDSHREW
-	db 17,SANDSHREW
-
-	db $00
-
-Route5Mons:
-	db $0F
-	db 13,BELLSPROUT
-	db 13,PIDGEY
-	db 15,PIDGEY
-	db 10,MEOWTH
-	db 12,MEOWTH
-	db 15,BELLSPROUT
-	db 16,BELLSPROUT
-	db 16,PIDGEY
-	db 14,MEOWTH
-	db 16,MEOWTH
-
-	db $00
-
-Route6Mons:
-	db $0F
-	db 13,BELLSPROUT
-	db 13,PIDGEY
-	db 15,PIDGEY
-	db 10,MEOWTH
-	db 12,MEOWTH
-	db 15,BELLSPROUT
-	db 16,BELLSPROUT
-	db 16,PIDGEY
-	db 14,MEOWTH
-	db 16,MEOWTH
-
-	db $00
-
-Route11Mons:
-	db $0F
-	db 14,SANDSHREW
-	db 15,SPEAROW
-	db 12,SANDSHREW
-	db 9,DROWZEE
-	db 13,SPEAROW
-	db 13,DROWZEE
-	db 15,SANDSHREW
-	db 17,SPEAROW
-	db 11,DROWZEE
-	db 15,DROWZEE
-
-	db $00
-
-TunnelMonsB1:
-	db $0F
-	db 16,ZUBAT
-	db 17,ZUBAT
-	db 17,GEODUDE
-	db 15,MACHOP
-	db 16,GEODUDE
-	db 18,ZUBAT
-	db 15,ZUBAT
-	db 17,MACHOP
-	db 13,ONIX
-	db 15,ONIX
-
-	db $00
-
-TunnelMonsB2:
-	db $0F
-	db 16,ZUBAT
-	db 17,ZUBAT
-	db 17,GEODUDE
-	db 15,MACHOP
-	db 16,GEODUDE
-	db 18,ZUBAT
-	db 17,MACHOP
-	db 17,ONIX
-	db 13,ONIX
-	db 18,GEODUDE
-
-	db $00
-
-Route10Mons:
-	db $0F
-	db 16,VOLTORB
-	db 16,SPEAROW
-	db 14,VOLTORB
-	db 11,SANDSHREW
-	db 13,SPEAROW
-	db 15,SANDSHREW
-	db 17,VOLTORB
-	db 17,SPEAROW
-	db 13,SANDSHREW
-	db 17,SANDSHREW
-
-	db $00
-
-Route12Mons:
-	db $0F
-	db 24,BELLSPROUT
-	db 25,PIDGEY
-	db 23,PIDGEY
-	db 24,VENONAT
-	db 22,BELLSPROUT
-	db 26,VENONAT
-	db 26,BELLSPROUT
-	db 27,PIDGEY
-	db 28,WEEPINBELL
-	db 30,WEEPINBELL
-
-	db $00
-
-Route8Mons:
-	db $0F
-	db 18,PIDGEY
-	db 18,MEOWTH
-	db 17,SANDSHREW
-	db 16,VULPIX
-	db 20,PIDGEY
-	db 20,MEOWTH
-	db 19,SANDSHREW
-	db 17,VULPIX
-	db 15,VULPIX
-	db 18,VULPIX
-
-	db $00
-
-Route7Mons:
-	db $0F
-	db 19,PIDGEY
-	db 19,BELLSPROUT
-	db 17,MEOWTH
-	db 22,BELLSPROUT
-	db 22,PIDGEY
-	db 18,MEOWTH
-	db 18,VULPIX
-	db 20,VULPIX
-	db 19,MEOWTH
-	db 20,MEOWTH
-
-	db $00
-
-TowerMons1:
-	db $00
-
-	db $00
-
-TowerMons2:
-	db $00
-
-	db $00
-
-TowerMons3:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 24,GASTLY
-	db 20,CUBONE
-	db 22,CUBONE
-	db 25,HAUNTER
-
-	db $00
-
-TowerMons4:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,HAUNTER
-	db 20,CUBONE
-	db 22,CUBONE
-	db 24,GASTLY
-
-	db $00
-
-TowerMons5:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,HAUNTER
-	db 20,CUBONE
-	db 22,CUBONE
-	db 24,GASTLY
-
-	db $00
-
-TowerMons6:
-	db $0F
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 20,GASTLY
-	db 19,GASTLY
-	db 26,HAUNTER
-	db 22,CUBONE
-	db 24,CUBONE
-	db 28,HAUNTER
-
-	db $00
-
-TowerMons7:
-	db $0F
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 20,GASTLY
-	db 28,HAUNTER
-	db 22,CUBONE
-	db 24,CUBONE
-	db 28,HAUNTER
-	db 30,HAUNTER
-
-	db $00
-
-Route13Mons:
-	db $14
-	db 24,BELLSPROUT
-	db 25,PIDGEY
-	db 27,PIDGEY
-	db 24,VENONAT
-	db 22,BELLSPROUT
-	db 26,VENONAT
-	db 26,BELLSPROUT
-	db 25,DITTO
-	db 28,WEEPINBELL
-	db 30,WEEPINBELL
-
-	db $00
-
-Route14Mons:
-	db $0F
-	db 24,BELLSPROUT
-	db 26,PIDGEY
-	db 23,DITTO
-	db 24,VENONAT
-	db 22,BELLSPROUT
-	db 26,VENONAT
-	db 26,BELLSPROUT
-	db 30,WEEPINBELL
-	db 28,PIDGEOTTO
-	db 30,PIDGEOTTO
-
-	db $00
-
-Route15Mons:
-	db $0F
-	db 24,BELLSPROUT
-	db 26,DITTO
-	db 23,PIDGEY
-	db 26,VENONAT
-	db 22,BELLSPROUT
-	db 28,VENONAT
-	db 26,BELLSPROUT
-	db 30,WEEPINBELL
-	db 28,PIDGEOTTO
-	db 30,PIDGEOTTO
-
-	db $00
-
-Route16Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 18,RATTATA
-	db 20,DODUO
-	db 20,RATTATA
-	db 18,DODUO
-	db 22,DODUO
-	db 22,RATTATA
-	db 23,RATICATE
-	db 25,RATICATE
-
-	db $00
-
-Route17Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 25,RATICATE
-	db 24,DODUO
-	db 27,RATICATE
-	db 26,DODUO
-	db 28,DODUO
-	db 29,RATICATE
-	db 25,FEAROW
-	db 27,FEAROW
-
-	db $00
-
-Route18Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 25,RATICATE
-	db 24,DODUO
-	db 25,FEAROW
-	db 26,DODUO
-	db 28,DODUO
-	db 29,RATICATE
-	db 27,FEAROW
-	db 29,FEAROW
-
-	db $00
-
-ZoneMonsCenter:
-	db $1E
-	db 22,NIDORAN_F
-	db 25,RHYHORN
-	db 22,VENONAT
-	db 24,EXEGGCUTE
-	db 31,NIDORINA
-	db 25,EXEGGCUTE
-	db 31,NIDORINO
-	db 30,PARASECT
-	db 23,PINSIR
-	db 23,CHANSEY
-
-	db $00
-
-ZoneMons1:
-	db $1E
-	db 24,NIDORAN_F
-	db 26,DODUO
-	db 22,PARAS
-	db 25,EXEGGCUTE
-	db 33,NIDORINA
-	db 23,EXEGGCUTE
-	db 24,NIDORAN_M
-	db 25,PARASECT
-	db 25,KANGASKHAN
-	db 28,PINSIR
-
-	db $00
-
-ZoneMons2:
-	db $1E
-	db 22,NIDORAN_F
-	db 26,RHYHORN
-	db 23,PARAS
-	db 25,EXEGGCUTE
-	db 30,NIDORINA
-	db 27,EXEGGCUTE
-	db 30,NIDORINO
-	db 32,VENOMOTH
-	db 26,CHANSEY
-	db 28,TAUROS
-
-	db $00
-
-ZoneMons3:
-	db $1E
-	db 25,NIDORAN_F
-	db 26,DODUO
-	db 23,VENONAT
-	db 24,EXEGGCUTE
-	db 33,NIDORINA
-	db 26,EXEGGCUTE
-	db 25,NIDORAN_M
-	db 31,VENOMOTH
-	db 26,TAUROS
-	db 28,KANGASKHAN
-
-	db $00
-
-WaterMons:
-	db $00
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-IslandMons1:
-	db $0F
-	db 30,SEEL
-	db 30,PSYDUCK
-	db 30,STARYU
-	db 30,KRABBY
-	db 28,KRABBY
-	db 21,ZUBAT
-	db 29,GOLBAT
-	db 28,SLOWPOKE
-	db 28,STARYU
-	db 38,SLOWBRO
-
-	db $00
-
-IslandMonsB1:
-	db $0A
-	db 30,SHELLDER
-	db 30,KRABBY
-	db 32,STARYU
-	db 32,KRABBY
-	db 28,PSYDUCK
-	db 30,SEEL
-	db 30,PSYDUCK
-	db 28,SEEL
-	db 38,DEWGONG
-	db 37,KINGLER
-
-	db $00
-
-IslandMonsB2:
-	db $0A
-	db 30,SEEL
-	db 30,PSYDUCK
-	db 32,SEEL
-	db 32,PSYDUCK
-	db 28,KRABBY
-	db 30,SHELLDER
-	db 30,KRABBY
-	db 28,STARYU
-	db 30,GOLBAT
-	db 37,GOLDUCK
-
-	db $00
-
-IslandMonsB3:
-	db $0A
-	db 31,PSYDUCK
-	db 31,SEEL
-	db 33,PSYDUCK
-	db 33,SEEL
-	db 29,KRABBY
-	db 31,STARYU
-	db 31,KRABBY
-	db 29,STARYU
-	db 39,KINGLER
-	db 37,DEWGONG
-
-	db $00
-
-IslandMonsB4:
-	db $0A
-	db 31,KRABBY
-	db 31,STARYU
-	db 33,KRABBY
-	db 33,STARYU
-	db 29,PSYDUCK
-	db 31,SEEL
-	db 31,PSYDUCK
-	db 29,SEEL
-	db 39,GOLDUCK
-	db 32,GOLBAT
-
-	db $00
-
-MansionMons1:
-	db $0A
-	db 32,GRIMER
-	db 30,GRIMER
-	db 34,PONYTA
-	db 30,PONYTA
-	db 34,VULPIX
-	db 32,PONYTA
-	db 30,KOFFING
-	db 28,PONYTA
-	db 37,MUK
-	db 39,WEEZING
-
-	db $00
-
-MansionMons2:
-	db $0A
-	db 32,VULPIX
-	db 34,GRIMER
-	db 34,GRIMER
-	db 30,PONYTA
-	db 30,GRIMER
-	db 32,PONYTA
-	db 30,KOFFING
-	db 28,PONYTA
-	db 39,MUK
-	db 37,WEEZING
-
-	db $00
-
-MansionMons3:
-	db $0A
-	db 31,GRIMER
-	db 33,VULPIX
-	db 35,GRIMER
-	db 32,PONYTA
-	db 34,MAGMAR
-	db 40,MUK
-	db 34,KOFFING
-	db 38,MUK
-	db 36,PONYTA
-	db 42,WEEZING
-
-	db $00
-
-MansionMonsB1:
-	db $0A
-	db 33,GRIMER
-	db 31,GRIMER
-	db 35,VULPIX
-	db 32,PONYTA
-	db 31,GRIMER
-	db 40,MUK
-	db 34,PONYTA
-	db 35,KOFFING
-	db 38,MAGMAR
-	db 42,WEEZING
-
-	db $00
-
-Route21Mons:
-	db $19
-	db 21,RATTATA
-	db 23,PIDGEY
-	db 30,RATICATE
-	db 23,RATTATA
-	db 21,PIDGEY
-	db 30,PIDGEOTTO
-	db 32,PIDGEOTTO
-	db 28,TANGELA
-	db 30,TANGELA
-	db 32,TANGELA
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-DungeonMons1:
-	db $0A
-	db 46,GOLBAT
-	db 46,HYPNO
-	db 46,MAGNETON
-	db 49,DODRIO
-	db 49,VENOMOTH
-	db 52,SANDSLASH
-	db 49,KADABRA
-	db 52,PARASECT
-	db 53,RAICHU
-	db 53,DITTO
-
-	db $00
-
-DungeonMons2:
-	db $0F
-	db 51,DODRIO
-	db 51,VENOMOTH
-	db 51,KADABRA
-	db 52,RHYDON
-	db 52,MAROWAK
-	db 52,ELECTRODE
-	db 56,CHANSEY
-	db 54,WIGGLYTUFF
-	db 55,DITTO
-	db 60,DITTO
-
-	db $00
-
-DungeonMonsB1:
-	db $19
-	db 55,RHYDON
-	db 55,MAROWAK
-	db 55,ELECTRODE
-	db 64,CHANSEY
-	db 64,PARASECT
-	db 64,RAICHU
-	db 57,SANDSLASH
-	db 65,DITTO
-	db 63,DITTO
-	db 67,DITTO
-
-	db $00
-
-PowerPlantMons:
-	db $0A
-	db 21,VOLTORB
-	db 21,MAGNEMITE
-	db 20,PIKACHU
-	db 24,PIKACHU
-	db 23,MAGNEMITE
-	db 23,VOLTORB
-	db 32,MAGNETON
-	db 35,MAGNETON
-	db 33,RAICHU
-	db 36,RAICHU
-
-	db $00
-
-Route23Mons:
-	db $0A
-	db 26,SANDSHREW
-	db 33,DITTO
-	db 26,SPEAROW
-	db 38,FEAROW
-	db 38,DITTO
-	db 38,FEAROW
-	db 41,SANDSLASH
-	db 43,DITTO
-	db 41,FEAROW
-	db 43,FEAROW
-
-	db $00
-
-PlateauMons2:
-	db $0A
-	db 22,MACHOP
-	db 24,GEODUDE
-	db 26,ZUBAT
-	db 36,ONIX
-	db 39,ONIX
-	db 42,ONIX
-	db 41,MACHOKE
-	db 40,GOLBAT
-	db 40,MAROWAK
-	db 43,GRAVELER
-
-	db $00
-
-PlateauMons3:
-	db $0F
-	db 24,MACHOP
-	db 26,GEODUDE
-	db 22,ZUBAT
-	db 42,ONIX
-	db 40,VENOMOTH
-	db 45,ONIX
-	db 43,GRAVELER
-	db 41,GOLBAT
-	db 42,MACHOKE
-	db 45,MACHOKE
-
-	db $00
-
-PlateauMons1:
-	db $0F
-	db 24,MACHOP
-	db 26,GEODUDE
-	db 22,ZUBAT
-	db 36,ONIX
-	db 39,ONIX
-	db 42,ONIX
-	db 41,GRAVELER
-	db 41,GOLBAT
-	db 42,MACHOKE
-	db 43,MAROWAK
-
-	db $00
-
-CaveMons:
-	db $14
-	db 18,DIGLETT
-	db 19,DIGLETT
-	db 17,DIGLETT
-	db 20,DIGLETT
-	db 16,DIGLETT
-	db 15,DIGLETT
-	db 21,DIGLETT
-	db 22,DIGLETT
-	db 29,DUGTRIO
-	db 31,DUGTRIO
-
-	db $00
-
-ENDC
-IF _JAPAN && _BLUE
-NoMons:
-	db $00
-
-	db $00
-
-Route1Mons:
-	db $19
-	db 3,PIDGEY
-	db 3,RATTATA
-	db 3,RATTATA
-	db 2,RATTATA
-	db 2,PIDGEY
-	db 3,PIDGEY
-	db 3,PIDGEY
-	db 4,RATTATA
-	db 4,PIDGEY
-	db 5,PIDGEY
-
-	db $00
-
-Route2Mons:
-	db $19
-	db 3,RATTATA
-	db 3,PIDGEY
-	db 4,PIDGEY
-	db 4,RATTATA
-	db 5,PIDGEY
-	db 3,CATERPIE
-	db 2,RATTATA
-	db 5,RATTATA
-	db 4,CATERPIE
-	db 5,CATERPIE
-
-	db $00
-
-Route22Mons:
-	db $19
-	db 3,RATTATA
-	db 3,NIDORAN_M
-	db 4,RATTATA
-	db 4,NIDORAN_M
-	db 2,RATTATA
-	db 2,NIDORAN_M
-	db 3,SPEAROW
-	db 5,SPEAROW
-	db 3,NIDORAN_F
-	db 4,NIDORAN_F
-
-	db $00
-
-ForestMons:
-	db $08
-	db 4,CATERPIE
-	db 5,METAPOD
-	db 3,CATERPIE
-	db 5,CATERPIE
-	db 4,METAPOD
-	db 6,METAPOD
-	db 4,KAKUNA
-	db 3,WEEDLE
-	db 3,PIKACHU
-	db 5,PIKACHU
-
-	db $00
-
-Route3Mons:
-	db $14
-	db 6,PIDGEY
-	db 5,SPEAROW
-	db 7,PIDGEY
-	db 6,SPEAROW
-	db 7,SPEAROW
-	db 8,PIDGEY
-	db 8,SPEAROW
-	db 3,JIGGLYPUFF
-	db 5,JIGGLYPUFF
-	db 7,JIGGLYPUFF
-
-	db $00
-
-MoonMons1:
-	db $0A
-	db 8,ZUBAT
-	db 7,ZUBAT
-	db 9,ZUBAT
-	db 8,GEODUDE
-	db 6,ZUBAT
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 8,PARAS
-	db 11,ZUBAT
-	db 8,CLEFAIRY
-
-	db $00
-
-MoonMonsB1:
-	db $0A
-	db 8,ZUBAT
-	db 7,ZUBAT
-	db 7,GEODUDE
-	db 8,GEODUDE
-	db 9,ZUBAT
-	db 10,PARAS
-	db 10,ZUBAT
-	db 11,ZUBAT
-	db 9,CLEFAIRY
-	db 9,GEODUDE
-
-	db $00
-
-MoonMonsB2:
-	db $0A
-	db 9,ZUBAT
-	db 9,GEODUDE
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 11,ZUBAT
-	db 10,PARAS
-	db 12,PARAS
-	db 10,CLEFAIRY
-	db 12,ZUBAT
-	db 12,CLEFAIRY
-
-	db $00
-
-Route4Mons:
-	db $14
-	db 10,RATTATA
-	db 10,SPEAROW
-	db 8,RATTATA
-	db 6,SANDSHREW
-	db 8,SPEAROW
-	db 10,SANDSHREW
-	db 12,RATTATA
-	db 12,SPEAROW
-	db 8,SANDSHREW
-	db 12,SANDSHREW
-
-	db $00
-
-Route24Mons:
-	db $19
-	db 7,CATERPIE
-	db 8,METAPOD
-	db 12,PIDGEY
-	db 12,ODDISH
-	db 13,ODDISH
-	db 10,ABRA
-	db 14,ODDISH
-	db 13,PIDGEY
-	db 8,ABRA
-	db 12,ABRA
-
-	db $00
-
-Route25Mons:
-	db $0F
-	db 8,CATERPIE
-	db 9,METAPOD
-	db 13,PIDGEY
-	db 12,ODDISH
-	db 13,ODDISH
-	db 12,ABRA
-	db 14,ODDISH
-	db 10,ABRA
-	db 7,KAKUNA
-	db 8,WEEDLE
-
-	db $00
-
-Route9Mons:
-	db $0F
-	db 16,RATTATA
-	db 16,SPEAROW
-	db 14,RATTATA
-	db 11,SANDSHREW
-	db 13,SPEAROW
-	db 15,SANDSHREW
-	db 17,RATTATA
-	db 17,SPEAROW
-	db 13,SANDSHREW
-	db 17,SANDSHREW
-
-	db $00
-
-Route5Mons:
-	db $0F
-	db 13,ODDISH
-	db 13,PIDGEY
-	db 15,PIDGEY
-	db 10,MEOWTH
-	db 12,MEOWTH
-	db 15,ODDISH
-	db 16,ODDISH
-	db 16,PIDGEY
-	db 14,MEOWTH
-	db 16,MEOWTH
-
-	db $00
-
-Route6Mons:
-	db $0F
-	db 13,ODDISH
-	db 13,PIDGEY
-	db 15,PIDGEY
-	db 10,MEOWTH
-	db 12,MEOWTH
-	db 15,ODDISH
-	db 16,ODDISH
-	db 16,PIDGEY
-	db 14,MEOWTH
-	db 16,MEOWTH
-
-	db $00
-
-Route11Mons:
-	db $0F
-	db 14,SANDSHREW
-	db 15,SPEAROW
-	db 12,SANDSHREW
-	db 9,DROWZEE
-	db 13,SPEAROW
-	db 13,DROWZEE
-	db 15,SANDSHREW
-	db 17,SPEAROW
-	db 11,DROWZEE
-	db 15,DROWZEE
-
-	db $00
-
-TunnelMonsB1:
-	db $0F
-	db 16,ZUBAT
-	db 17,ZUBAT
-	db 17,GEODUDE
-	db 15,MACHOP
-	db 16,GEODUDE
-	db 18,DITTO
-	db 15,ZUBAT
-	db 17,MACHOP
-	db 13,ONIX
-	db 15,ONIX
-
-	db $00
-
-TunnelMonsB2:
-	db $0F
-	db 16,ZUBAT
-	db 17,ZUBAT
-	db 17,GEODUDE
-	db 15,MACHOP
-	db 16,GEODUDE
-	db 18,DITTO
-	db 17,MACHOP
-	db 17,ONIX
-	db 13,ONIX
-	db 18,GEODUDE
-
-	db $00
-
-Route10Mons:
-	db $0F
-	db 16,VOLTORB
-	db 16,SPEAROW
-	db 14,VOLTORB
-	db 11,SANDSHREW
-	db 13,SPEAROW
-	db 15,SANDSHREW
-	db 17,VOLTORB
-	db 17,SPEAROW
-	db 13,SANDSHREW
-	db 17,SANDSHREW
-
-	db $00
-
-Route12Mons:
-	db $0F
-	db 24,ODDISH
-	db 25,PIDGEY
-	db 23,PIDGEY
-	db 24,VENONAT
-	db 22,ODDISH
-	db 26,VENONAT
-	db 26,ODDISH
-	db 27,PIDGEY
-	db 28,GLOOM
-	db 30,GLOOM
-
-	db $00
-
-Route8Mons:
-	db $0F
-	db 18,PIDGEY
-	db 18,MEOWTH
-	db 17,SANDSHREW
-	db 16,GROWLITHE
-	db 20,PIDGEY
-	db 20,MEOWTH
-	db 19,SANDSHREW
-	db 17,GROWLITHE
-	db 15,GROWLITHE
-	db 18,GROWLITHE
-
-	db $00
-
-Route7Mons:
-	db $0F
-	db 19,PIDGEY
-	db 19,ODDISH
-	db 17,MEOWTH
-	db 22,ODDISH
-	db 22,PIDGEY
-	db 18,MEOWTH
-	db 18,GROWLITHE
-	db 20,GROWLITHE
-	db 19,MEOWTH
-	db 20,MEOWTH
-
-	db $00
-
-TowerMons1:
-	db $00
-
-	db $00
-
-TowerMons2:
-	db $00
-
-	db $00
-
-TowerMons3:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 24,GASTLY
-	db 20,CUBONE
-	db 22,CUBONE
-	db 25,HAUNTER
-
-	db $00
-
-TowerMons4:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,HAUNTER
-	db 20,CUBONE
-	db 22,CUBONE
-	db 24,GASTLY
-
-	db $00
-
-TowerMons5:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,HAUNTER
-	db 20,CUBONE
-	db 22,CUBONE
-	db 24,GASTLY
-
-	db $00
-
-TowerMons6:
-	db $0F
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 20,GASTLY
-	db 19,GASTLY
-	db 26,HAUNTER
-	db 22,CUBONE
-	db 24,CUBONE
-	db 28,HAUNTER
-
-	db $00
-
-TowerMons7:
-	db $0F
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 20,GASTLY
-	db 28,HAUNTER
-	db 22,CUBONE
-	db 24,CUBONE
-	db 28,HAUNTER
-	db 30,HAUNTER
-
-	db $00
-
-Route13Mons:
-	db $14
-	db 24,ODDISH
-	db 25,PIDGEY
-	db 27,PIDGEY
-	db 24,VENONAT
-	db 22,ODDISH
-	db 26,VENONAT
-	db 26,ODDISH
-	db 25,DITTO
-	db 28,GLOOM
-	db 30,GLOOM
-
-	db $00
-
-Route14Mons:
-	db $0F
-	db 24,ODDISH
-	db 26,PIDGEY
-	db 23,DITTO
-	db 24,VENONAT
-	db 22,ODDISH
-	db 26,VENONAT
-	db 26,ODDISH
-	db 30,GLOOM
-	db 28,PIDGEOTTO
-	db 30,PIDGEOTTO
-
-	db $00
-
-Route15Mons:
-	db $0F
-	db 24,ODDISH
-	db 26,DITTO
-	db 23,PIDGEY
-	db 26,VENONAT
-	db 22,ODDISH
-	db 28,VENONAT
-	db 26,ODDISH
-	db 30,GLOOM
-	db 28,PIDGEOTTO
-	db 30,PIDGEOTTO
-
-	db $00
-
-Route16Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 18,RATTATA
-	db 20,DODUO
-	db 20,RATTATA
-	db 18,DODUO
-	db 22,DODUO
-	db 22,RATTATA
-	db 23,RATICATE
-	db 25,RATICATE
-
-	db $00
-
-Route17Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 25,RATICATE
-	db 24,DODUO
-	db 27,RATICATE
-	db 26,DODUO
-	db 28,DODUO
-	db 29,RATICATE
-	db 25,FEAROW
-	db 27,FEAROW
-
-	db $00
-
-Route18Mons:
-	db $19
-	db 20,SPEAROW
-	db 22,SPEAROW
-	db 25,RATICATE
-	db 24,DODUO
-	db 25,FEAROW
-	db 26,DODUO
-	db 28,DODUO
-	db 29,RATICATE
-	db 27,FEAROW
-	db 29,FEAROW
-
-	db $00
-
-ZoneMonsCenter:
-	db $1E
-	db 22,NIDORAN_M
-	db 25,RHYHORN
-	db 22,VENONAT
-	db 24,EXEGGCUTE
-	db 31,NIDORINO
-	db 25,EXEGGCUTE
-	db 31,NIDORINA
-	db 30,PARASECT
-	db 23,SCYTHER
-	db 23,CHANSEY
-
-	db $00
-
-ZoneMons1:
-	db $1E
-	db 24,NIDORAN_M
-	db 26,DODUO
-	db 22,PARAS
-	db 25,EXEGGCUTE
-	db 33,NIDORINO
-	db 23,EXEGGCUTE
-	db 24,NIDORAN_F
-	db 25,PARASECT
-	db 25,LICKITUNG
-	db 28,SCYTHER
-
-	db $00
-
-ZoneMons2:
-	db $1E
-	db 22,NIDORAN_M
-	db 26,RHYHORN
-	db 23,PARAS
-	db 25,EXEGGCUTE
-	db 30,NIDORINO
-	db 27,EXEGGCUTE
-	db 30,NIDORINA
-	db 32,VENOMOTH
-	db 26,CHANSEY
-	db 28,PINSIR
-
-	db $00
-
-ZoneMons3:
-	db $1E
-	db 25,NIDORAN_M
-	db 26,DODUO
-	db 23,VENONAT
-	db 24,EXEGGCUTE
-	db 33,NIDORINO
-	db 26,EXEGGCUTE
-	db 25,NIDORAN_F
-	db 31,VENOMOTH
-	db 26,PINSIR
-	db 28,LICKITUNG
-
-	db $00
-
-WaterMons:
-	db $00
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-WaterMons:
-	db $00
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-IslandMons1:
-	db $0F
-	db 30,SEEL
-	db 30,HORSEA
-	db 30,STARYU
-	db 30,KRABBY
-	db 28,KRABBY
-	db 21,ZUBAT
-	db 29,GOLBAT
-	db 28,SLOWPOKE
-	db 28,STARYU
-	db 38,SLOWBRO
-
-	db $00
-
-IslandMonsB1:
-	db $0A
-	db 30,SHELLDER
-	db 30,KRABBY
-	db 32,STARYU
-	db 32,KRABBY
-	db 28,HORSEA
-	db 30,SEEL
-	db 30,HORSEA
-	db 28,SEEL
-	db 38,DEWGONG
-	db 37,KINGLER
-
-	db $00
-
-IslandMonsB2:
-	db $0A
-	db 30,SEEL
-	db 30,HORSEA
-	db 32,SEEL
-	db 32,HORSEA
-	db 28,KRABBY
-	db 30,SHELLDER
-	db 30,KRABBY
-	db 28,STARYU
-	db 30,GOLBAT
-	db 37,JYNX
-
-	db $00
-
-IslandMonsB3:
-	db $0A
-	db 31,HORSEA
-	db 31,SEEL
-	db 33,HORSEA
-	db 33,SEEL
-	db 29,KRABBY
-	db 31,STARYU
-	db 31,KRABBY
-	db 29,STARYU
-	db 39,KINGLER
-	db 37,DEWGONG
-
-	db $00
-
-IslandMonsB4:
-	db $0A
-	db 31,KRABBY
-	db 31,STARYU
-	db 33,KRABBY
-	db 33,STARYU
-	db 29,HORSEA
-	db 31,SEEL
-	db 31,HORSEA
-	db 29,SEEL
-	db 39,JYNX
-	db 32,GOLBAT
-
-	db $00
-
-MansionMons1:
-	db $0A
-	db 32,GRIMER
-	db 30,GRIMER
-	db 34,PONYTA
-	db 30,PONYTA
-	db 34,GROWLITHE
-	db 32,PONYTA
-	db 30,KOFFING
-	db 28,PONYTA
-	db 37,MUK
-	db 39,WEEZING
-
-	db $00
-
-MansionMons2:
-	db $0A
-	db 32,GROWLITHE
-	db 34,GRIMER
-	db 34,GRIMER
-	db 30,PONYTA
-	db 30,GRIMER
-	db 32,PONYTA
-	db 30,KOFFING
-	db 28,PONYTA
-	db 39,MUK
-	db 37,WEEZING
-
-	db $00
-
-MansionMons3:
-	db $0A
-	db 31,GRIMER
-	db 33,GROWLITHE
-	db 35,GRIMER
-	db 32,PONYTA
-	db 34,PONYTA
-	db 40,MUK
-	db 34,KOFFING
-	db 38,MUK
-	db 36,PONYTA
-	db 42,WEEZING
-
-	db $00
-
-MansionMonsB1:
-	db $0A
-	db 33,GRIMER
-	db 31,GRIMER
-	db 35,GROWLITHE
-	db 32,PONYTA
-	db 31,GRIMER
-	db 40,MUK
-	db 34,PONYTA
-	db 35,KOFFING
-	db 38,MUK
-	db 42,WEEZING
-
-	db $00
-
-Route21Mons:
-	db $19
-	db 21,RATTATA
-	db 23,PIDGEY
-	db 30,RATICATE
-	db 23,RATTATA
-	db 21,PIDGEY
-	db 30,PIDGEOTTO
-	db 32,PIDGEOTTO
-	db 28,TANGELA
-	db 30,TANGELA
-	db 32,TANGELA
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-DungeonMons1:
-	db $0A
-	db 46,GOLBAT
-	db 46,HYPNO
-	db 46,MAGNETON
-	db 49,RAPIDASH
-	db 49,VENOMOTH
-	db 52,SANDSLASH
-	db 49,KADABRA
-	db 52,PARASECT
-	db 53,RAICHU
-	db 53,DITTO
-
-	db $00
-
-DungeonMons2:
-	db $0F
-	db 51,DODRIO
-	db 51,VENOMOTH
-	db 51,KADABRA
-	db 52,RHYDON
-	db 52,RATICATE
-	db 52,ELECTRODE
-	db 56,CHANSEY
-	db 54,WIGGLYTUFF
-	db 55,DITTO
-	db 60,DITTO
-
-	db $00
-
-DungeonMonsB1:
-	db $19
-	db 55,RHYDON
-	db 55,MAROWAK
-	db 55,ELECTRODE
-	db 64,CLEFAIRY
-	db 64,PARASECT
-	db 64,RAICHU
-	db 57,SANDSLASH
-	db 65,DITTO
-	db 63,DITTO
-	db 67,DITTO
-
-	db $00
-
-PowerPlantMons:
-	db $0A
-	db 21,VOLTORB
-	db 21,MAGNEMITE
-	db 20,PIKACHU
-	db 24,PIKACHU
-	db 23,MAGNEMITE
-	db 23,VOLTORB
-	db 32,MAGNETON
-	db 35,MAGNETON
-	db 33,RAICHU
-	db 36,RAICHU
-
-	db $00
-
-Route23Mons:
-	db $0A
-	db 26,SANDSHREW
-	db 33,DITTO
-	db 26,SPEAROW
-	db 38,FEAROW
-	db 38,DITTO
-	db 38,FEAROW
-	db 41,SANDSLASH
-	db 43,DITTO
-	db 41,FEAROW
-	db 43,FEAROW
-
-	db $00
-
-PlateauMons2:
-	db $0A
-	db 22,MACHOP
-	db 24,GEODUDE
-	db 26,ZUBAT
-	db 36,ONIX
-	db 39,ONIX
-	db 42,ONIX
-	db 41,MACHOKE
-	db 40,GOLBAT
-	db 40,MAROWAK
-	db 43,GRAVELER
-
-	db $00
-
-PlateauMons3:
-	db $0F
-	db 24,MACHOP
-	db 26,GEODUDE
-	db 22,ZUBAT
-	db 42,ONIX
-	db 40,VENOMOTH
-	db 45,ONIX
-	db 43,GRAVELER
-	db 41,GOLBAT
-	db 42,MACHOKE
-	db 45,MACHOKE
-
-	db $00
-
-PlateauMons1:
-	db $0F
-	db 24,MACHOP
-	db 26,GEODUDE
-	db 22,ZUBAT
-	db 36,ONIX
-	db 39,ONIX
-	db 42,ONIX
-	db 41,GRAVELER
-	db 41,GOLBAT
-	db 42,MACHOKE
-	db 43,MAROWAK
-
-	db $00
-
-CaveMons:
-	db $14
-	db 18,DIGLETT
-	db 19,DIGLETT
-	db 17,DIGLETT
-	db 20,DIGLETT
-	db 16,DIGLETT
-	db 15,DIGLETT
-	db 21,DIGLETT
-	db 22,DIGLETT
-	db 29,DUGTRIO
-	db 31,DUGTRIO
-
-	db $00
-
-ENDC
-IF _YELLOW
-NoMons:
-	db $00
-
-	db $00
-
-Route1Mons:
-	db $19
-	db 3,PIDGEY
-	db 4,PIDGEY
-	db 2,RATTATA
-	db 3,RATTATA
-	db 2,PIDGEY
-	db 3,PIDGEY
-	db 5,PIDGEY
-	db 4,RATTATA
-	db 6,PIDGEY
-	db 7,PIDGEY
-
-	db $00
-
-Route2Mons:
-	db $19
-	db 3,RATTATA
-	db 3,PIDGEY
-	db 4,RATTATA
-	db 4,NIDORAN_M
-	db 4,NIDORAN_F
-	db 5,PIDGEY
-	db 6,NIDORAN_M
-	db 6,NIDORAN_F
-	db 7,PIDGEY
-	db 7,PIDGEY
-
-	db $00
-
-Route22Mons:
-	db $19
-	db 2,NIDORAN_M
-	db 2,NIDORAN_F
-	db 3,MANKEY
-	db 3,RATTATA
-	db 4,NIDORAN_M
-	db 4,NIDORAN_F
-	db 5,MANKEY
-	db 2,SPEAROW
-	db 4,SPEAROW
-	db 6,SPEAROW
-
-	db $00
-
-ForestMons:
-	db $19
-	db 3,CATERPIE
-	db 4,METAPOD
-	db 4,CATERPIE
-	db 5,CATERPIE
-	db 4,PIDGEY
-	db 6,PIDGEY
-	db 6,CATERPIE
-	db 6,METAPOD
-	db 8,PIDGEY
-	db 9,PIDGEOTTO
-
-	db $00
-
-Route3Mons:
-	db $14
-	db 8,SPEAROW
-	db 9,SPEAROW
-	db 9,MANKEY
-	db 10,SPEAROW
-	db 8,SANDSHREW
-	db 10,RATTATA
-	db 10,SANDSHREW
-	db 12,RATTATA
-	db 11,SPEAROW
-	db 12,SPEAROW
-
-	db $00
-
-MoonMons1:
-	db $0A
-	db 8,ZUBAT
-	db 9,ZUBAT
-	db 10,GEODUDE
-	db 6,ZUBAT
-	db 7,ZUBAT
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 11,ZUBAT
-	db 12,SANDSHREW
-	db 11,CLEFAIRY
-
-	db $00
-
-MoonMonsB1:
-	db $0A
-	db 8,ZUBAT
-	db 9,ZUBAT
-	db 10,ZUBAT
-	db 10,GEODUDE
-	db 11,GEODUDE
-	db 11,ZUBAT
-	db 9,PARAS
-	db 11,PARAS
-	db 10,CLEFAIRY
-	db 12,CLEFAIRY
-
-	db $00
-
-MoonMonsB2:
-	db $0A
-	db 10,ZUBAT
-	db 11,GEODUDE
-	db 13,PARAS
-	db 11,ZUBAT
-	db 11,ZUBAT
-	db 12,ZUBAT
-	db 13,ZUBAT
-	db 9,CLEFAIRY
-	db 11,CLEFAIRY
-	db 13,CLEFAIRY
-
-	db $00
-
-Route4Mons:
-	db $14
-	db 8,SPEAROW
-	db 9,SPEAROW
-	db 9,MANKEY
-	db 10,SPEAROW
-	db 8,SANDSHREW
-	db 10,RATTATA
-	db 10,SANDSHREW
-	db 12,RATTATA
-	db 11,SPEAROW
-	db 12,SPEAROW
-
-	db $00
-
-Route24Mons:
-	db $19
-	db 12,ODDISH
-	db 12,BELLSPROUT
-	db 13,PIDGEY
-	db 14,ODDISH
-	db 14,BELLSPROUT
-	db 15,PIDGEY
-	db 13,VENONAT
-	db 16,VENONAT
-	db 17,PIDGEY
-	db 17,PIDGEOTTO
-
-	db $00
-
-Route25Mons:
-	db $0F
-	db 12,ODDISH
-	db 12,BELLSPROUT
-	db 13,PIDGEY
-	db 14,ODDISH
-	db 14,BELLSPROUT
-	db 15,PIDGEY
-	db 13,VENONAT
-	db 16,VENONAT
-	db 17,PIDGEY
-	db 17,PIDGEOTTO
-
-	db $00
-
-Route9Mons:
-	db $0F
-	db 16,NIDORAN_M
-	db 16,NIDORAN_F
-	db 18,RATTATA
-	db 18,NIDORAN_M
-	db 18,NIDORAN_F
-	db 17,SPEAROW
-	db 18,NIDORINO
-	db 18,NIDORINA
-	db 20,RATICATE
-	db 19,FEAROW
-
-	db $00
-
-Route5Mons:
-	db $0F
-	db 15,PIDGEY
-	db 14,RATTATA
-	db 7,ABRA
-	db 16,PIDGEY
-	db 16,RATTATA
-	db 17,PIDGEY
-	db 17,PIDGEOTTO
-	db 3,JIGGLYPUFF
-	db 5,JIGGLYPUFF
-	db 7,JIGGLYPUFF
-
-	db $00
-
-Route6Mons:
-	db $0F
-	db 15,PIDGEY
-	db 14,RATTATA
-	db 7,ABRA
-	db 16,PIDGEY
-	db 16,RATTATA
-	db 17,PIDGEY
-	db 17,PIDGEOTTO
-	db 3,JIGGLYPUFF
-	db 5,JIGGLYPUFF
-	db 7,JIGGLYPUFF
-
-	db $03
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,PSYDUCK
-	db 15,GOLDUCK
-	db 20,GOLDUCK
-
-Route11Mons:
-	db $0F
-	db 16,PIDGEY
-	db 15,RATTATA
-	db 18,PIDGEY
-	db 15,DROWZEE
-	db 17,RATTATA
-	db 17,DROWZEE
-	db 18,PIDGEOTTO
-	db 20,PIDGEOTTO
-	db 19,DROWZEE
-	db 17,RATICATE
-
-	db $00
-
-TunnelMonsB1:
-	db $0F
-	db 15,ZUBAT
-	db 16,GEODUDE
-	db 17,ZUBAT
-	db 19,ZUBAT
-	db 18,GEODUDE
-	db 20,GEODUDE
-	db 21,ZUBAT
-	db 17,MACHOP
-	db 19,MACHOP
-	db 21,MACHOP
-
-	db $00
-
-TunnelMonsB2:
-	db $0F
-	db 20,ZUBAT
-	db 17,GEODUDE
-	db 18,MACHOP
-	db 21,ZUBAT
-	db 22,ZUBAT
-	db 21,GEODUDE
-	db 20,MACHOP
-	db 14,ONIX
-	db 18,ONIX
-	db 22,ONIX
-
-	db $00
-
-Route10Mons:
-	db $0F
-	db 16,MAGNEMITE
-	db 18,RATTATA
-	db 18,MAGNEMITE
-	db 20,MAGNEMITE
-	db 17,NIDORAN_M
-	db 17,NIDORAN_F
-	db 22,MAGNEMITE
-	db 20,RATICATE
-	db 16,MACHOP
-	db 18,MACHOP
-
-	db $00
-
-Route12Mons:
-	db $0F
-	db 25,ODDISH
-	db 25,BELLSPROUT
-	db 28,PIDGEY
-	db 28,PIDGEOTTO
-	db 27,ODDISH
-	db 27,BELLSPROUT
-	db 29,GLOOM
-	db 29,WEEPINBELL
-	db 26,FARFETCH_D
-	db 31,FARFETCH_D
-
-	db $03
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWBRO
-	db 20,SLOWBRO
-
-Route8Mons:
-	db $0F
-	db 20,PIDGEY
-	db 22,PIDGEY
-	db 20,RATTATA
-	db 15,ABRA
-	db 19,ABRA
-	db 24,PIDGEOTTO
-	db 19,JIGGLYPUFF
-	db 24,JIGGLYPUFF
-	db 20,KADABRA
-	db 27,KADABRA
-
-	db $00
-
-Route7Mons:
-	db $0F
-	db 20,PIDGEY
-	db 22,PIDGEY
-	db 20,RATTATA
-	db 15,ABRA
-	db 19,ABRA
-	db 24,PIDGEOTTO
-	db 26,ABRA
-	db 19,JIGGLYPUFF
-	db 24,JIGGLYPUFF
-	db 24,JIGGLYPUFF
-
-	db $00
-
-TowerMons1:
-	db $00
-
-	db $00
-
-TowerMons2:
-	db $00
-
-	db $00
-
-TowerMons3:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,GASTLY
-	db 20,HAUNTER
-	db 25,HAUNTER
-
-	db $00
-
-TowerMons4:
-	db $0A
-	db 20,GASTLY
-	db 21,GASTLY
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 19,GASTLY
-	db 18,GASTLY
-	db 25,GASTLY
-	db 20,HAUNTER
-	db 25,HAUNTER
-
-	db $00
-
-TowerMons5:
-	db $0F
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 25,GASTLY
-	db 26,GASTLY
-	db 21,GASTLY
-	db 20,CUBONE
-	db 27,GASTLY
-	db 22,HAUNTER
-	db 27,HAUNTER
-
-	db $00
-
-TowerMons6:
-	db $0F
-	db 22,GASTLY
-	db 23,GASTLY
-	db 24,GASTLY
-	db 25,GASTLY
-	db 26,GASTLY
-	db 21,GASTLY
-	db 22,CUBONE
-	db 27,GASTLY
-	db 22,HAUNTER
-	db 27,HAUNTER
-
-	db $00
-
-TowerMons7:
-	db $14
-	db 24,GASTLY
-	db 25,GASTLY
-	db 26,GASTLY
-	db 27,GASTLY
-	db 28,GASTLY
-	db 23,GASTLY
-	db 24,CUBONE
-	db 29,GASTLY
-	db 24,HAUNTER
-	db 29,HAUNTER
-
-	db $00
-
-Route13Mons:
-	db $0F
-	db 25,ODDISH
-	db 25,BELLSPROUT
-	db 28,PIDGEOTTO
-	db 28,PIDGEY
-	db 27,ODDISH
-	db 27,BELLSPROUT
-	db 29,GLOOM
-	db 29,WEEPINBELL
-	db 26,FARFETCH_D
-	db 31,FARFETCH_D
-
-	db $03
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWPOKE
-	db 15,SLOWBRO
-	db 20,SLOWBRO
-
-Route14Mons:
-	db $0F
-	db 26,ODDISH
-	db 26,BELLSPROUT
-	db 24,VENONAT
-	db 30,PIDGEOTTO
-	db 28,ODDISH
-	db 28,BELLSPROUT
-	db 30,GLOOM
-	db 30,WEEPINBELL
-	db 27,VENONAT
-	db 30,VENOMOTH
-
-	db $00
-
-Route15Mons:
-	db $0F
-	db 26,ODDISH
-	db 26,BELLSPROUT
-	db 24,VENONAT
-	db 32,PIDGEOTTO
-	db 28,ODDISH
-	db 28,BELLSPROUT
-	db 30,GLOOM
-	db 30,WEEPINBELL
-	db 27,VENONAT
-	db 30,VENOMOTH
-
-	db $00
-
-Route16Mons:
-	db $19
-	db 22,SPEAROW
-	db 22,DODUO
-	db 23,RATTATA
-	db 24,DODUO
-	db 24,RATTATA
-	db 26,DODUO
-	db 23,SPEAROW
-	db 24,FEAROW
-	db 25,RATICATE
-	db 26,RATICATE
-
-	db $00
-
-Route17Mons:
-	db $19
-	db 26,DODUO
-	db 27,FEAROW
-	db 27,DODUO
-	db 28,DODUO
-	db 28,PONYTA
-	db 30,PONYTA
-	db 29,FEAROW
-	db 28,DODUO
-	db 32,PONYTA
-	db 29,DODRIO
-
-	db $00
-
-Route18Mons:
-	db $19
-	db 22,SPEAROW
-	db 22,DODUO
-	db 23,RATTATA
-	db 24,DODUO
-	db 24,RATTATA
-	db 26,DODUO
-	db 23,SPEAROW
-	db 24,FEAROW
-	db 25,RATICATE
-	db 26,RATICATE
-
-	db $00
-
-ZoneMonsCenter:
-	db $1E
-	db 14,NIDORAN_M
-	db 36,NIDORAN_F
-	db 24,EXEGGCUTE
-	db 20,RHYHORN
-	db 23,NIDORINO
-	db 27,PARASECT
-	db 27,PARAS
-	db 32,PARASECT
-	db 22,TANGELA
-	db 7,CHANSEY
-
-	db $00
-
-ZoneMons1:
-	db $1E
-	db 21,NIDORAN_M
-	db 29,NIDORAN_F
-	db 22,EXEGGCUTE
-	db 21,TAUROS
-	db 32,NIDORINA
-	db 19,CUBONE
-	db 26,EXEGGCUTE
-	db 24,MAROWAK
-	db 21,CHANSEY
-	db 15,SCYTHER
-
-	db $00
-
-ZoneMons2:
-	db $1E
-	db 36,NIDORAN_M
-	db 14,NIDORAN_F
-	db 20,EXEGGCUTE
-	db 25,RHYHORN
-	db 23,NIDORINA
-	db 28,KANGASKHAN
-	db 16,CUBONE
-	db 33,KANGASKHAN
-	db 25,SCYTHER
-	db 15,PINSIR
-
-	db $00
-
-ZoneMons3:
-	db $1E
-	db 29,NIDORAN_M
-	db 21,NIDORAN_F
-	db 22,EXEGGCUTE
-	db 21,TAUROS
-	db 32,NIDORINO
-	db 19,CUBONE
-	db 26,EXEGGCUTE
-	db 24,MAROWAK
-	db 25,PINSIR
-	db 27,TANGELA
-
-	db $00
-
-WaterMons:
-	db $00
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-WaterMons:
-	db $00
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-IslandMons1:
-	db $0F
-	db 18,ZUBAT
-	db 25,KRABBY
-	db 27,KRABBY
-	db 27,ZUBAT
-	db 36,ZUBAT
-	db 28,SLOWPOKE
-	db 30,SLOWPOKE
-	db 9,ZUBAT
-	db 27,GOLBAT
-	db 36,GOLBAT
-
-	db $00
-
-IslandMonsB1:
-	db $0A
-	db 27,ZUBAT
-	db 26,KRABBY
-	db 36,ZUBAT
-	db 28,KRABBY
-	db 27,GOLBAT
-	db 29,SLOWPOKE
-	db 18,ZUBAT
-	db 28,KINGLER
-	db 22,SEEL
-	db 26,SEEL
-
-	db $00
-
-IslandMonsB2:
-	db $0A
-	db 27,ZUBAT
-	db 27,KRABBY
-	db 36,ZUBAT
-	db 27,GOLBAT
-	db 28,KINGLER
-	db 24,SEEL
-	db 29,KRABBY
-	db 36,GOLBAT
-	db 31,SLOWPOKE
-	db 31,SLOWBRO
-
-	db $00
-
-IslandMonsB3:
-	db $0A
-	db 27,GOLBAT
-	db 36,ZUBAT
-	db 29,KRABBY
-	db 27,ZUBAT
-	db 30,KINGLER
-	db 26,SEEL
-	db 31,KRABBY
-	db 30,SEEL
-	db 28,DEWGONG
-	db 32,DEWGONG
-
-	db $05
-	db 25,TENTACOOL
-	db 30,TENTACOOL
-	db 20,TENTACOOL
-	db 30,STARYU
-	db 35,TENTACOOL
-	db 30,STARYU
-	db 40,TENTACOOL
-	db 30,STARYU
-	db 30,STARYU
-	db 30,STARYU
-
-IslandMonsB4:
-	db $0A
-	db 36,GOLBAT
-	db 36,ZUBAT
-	db 30,KRABBY
-	db 32,KINGLER
-	db 28,SEEL
-	db 32,SEEL
-	db 27,GOLBAT
-	db 45,ZUBAT
-	db 30,DEWGONG
-	db 34,DEWGONG
-
-	db $05
-	db 25,TENTACOOL
-	db 30,TENTACOOL
-	db 20,TENTACOOL
-	db 30,STARYU
-	db 35,TENTACOOL
-	db 30,STARYU
-	db 40,TENTACOOL
-	db 30,STARYU
-	db 30,STARYU
-	db 30,STARYU
-
-MansionMons1:
-	db $0A
-	db 34,RATTATA
-	db 34,RATICATE
-	db 23,GRIMER
-	db 26,GROWLITHE
-	db 37,RATTATA
-	db 37,RATICATE
-	db 30,GROWLITHE
-	db 26,GRIMER
-	db 34,GROWLITHE
-	db 38,GROWLITHE
-
-	db $00
-
-MansionMons2:
-	db $0A
-	db 37,RATTATA
-	db 37,RATICATE
-	db 26,GRIMER
-	db 29,GRIMER
-	db 40,RATTATA
-	db 40,RATICATE
-	db 32,GRIMER
-	db 35,GRIMER
-	db 35,MUK
-	db 38,MUK
-
-	db $00
-
-MansionMons3:
-	db $0A
-	db 40,RATTATA
-	db 40,RATICATE
-	db 32,GRIMER
-	db 35,GRIMER
-	db 43,RATTATA
-	db 43,RATICATE
-	db 38,GRIMER
-	db 38,GRIMER
-	db 38,MUK
-	db 41,MUK
-
-	db $00
-
-MansionMonsB1:
-	db $0A
-	db 35,GRIMER
-	db 38,GRIMER
-	db 37,RATICATE
-	db 40,RATICATE
-	db 41,MUK
-	db 43,RATICATE
-	db 24,DITTO
-	db 46,RATICATE
-	db 18,DITTO
-	db 12,DITTO
-
-	db $00
-
-Route21Mons:
-	db $19
-	db 15,PIDGEY
-	db 13,RATTATA
-	db 13,PIDGEY
-	db 11,PIDGEY
-	db 17,PIDGEY
-	db 15,RATTATA
-	db 15,RATICATE
-	db 17,PIDGEOTTO
-	db 19,PIDGEOTTO
-	db 15,PIDGEOTTO
-
-	db $05
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 5,TENTACOOL
-	db 10,TENTACOOL
-	db 15,TENTACOOL
-	db 20,TENTACOOL
-	db 30,TENTACOOL
-	db 35,TENTACOOL
-	db 40,TENTACOOL
-
-DungeonMons1:
-	db $0A
-	db 50,GOLBAT
-	db 55,GOLBAT
-	db 45,GRAVELER
-	db 55,GLOOM
-	db 55,WEEPINBELL
-	db 52,SANDSLASH
-	db 54,VENOMOTH
-	db 54,PARASECT
-	db 55,DITTO
-	db 60,DITTO
-
-	db $00
-
-DungeonMons2:
-	db $0F
-	db 52,GOLBAT
-	db 57,GOLBAT
-	db 50,GRAVELER
-	db 56,SANDSLASH
-	db 50,RHYHORN
-	db 60,DITTO
-	db 58,GLOOM
-	db 58,WEEPINBELL
-	db 60,RHYDON
-	db 58,RHYDON
-
-	db $00
-
-DungeonMonsB1:
-	db $19
-	db 54,GOLBAT
-	db 59,GOLBAT
-	db 55,GRAVELER
-	db 52,RHYHORN
-	db 62,RHYDON
-	db 60,DITTO
-	db 56,CHANSEY
-	db 65,DITTO
-	db 55,LICKITUNG
-	db 50,LICKITUNG
-
-	db $00
-
-PowerPlantMons:
-	db $0A
-	db 30,MAGNEMITE
-	db 35,MAGNEMITE
-	db 33,MAGNETON
-	db 33,VOLTORB
-	db 37,VOLTORB
-	db 33,GRIMER
-	db 37,GRIMER
-	db 38,MAGNETON
-	db 33,MUK
-	db 37,MUK
-
-	db $00
-
-Route23Mons:
-	db $0A
-	db 41,NIDORINO
-	db 41,NIDORINA
-	db 36,MANKEY
-	db 44,NIDORINO
-	db 44,NIDORINA
-	db 40,FEAROW
-	db 41,MANKEY
-	db 45,FEAROW
-	db 41,PRIMEAPE
-	db 46,PRIMEAPE
-
-	db $00
-
-PlateauMons2:
-	db $0A
-	db 31,GEODUDE
-	db 36,GEODUDE
-	db 41,GEODUDE
-	db 44,ZUBAT
-	db 39,GOLBAT
-	db 44,GRAVELER
-	db 45,ONIX
-	db 47,ONIX
-	db 39,MACHOKE
-	db 42,MACHOKE
-
-	db $00
-
-PlateauMons3:
-	db $0F
-	db 36,GEODUDE
-	db 44,GOLBAT
-	db 41,GEODUDE
-	db 49,ONIX
-	db 46,GEODUDE
-	db 41,GRAVELER
-	db 42,MACHOKE
-	db 45,MACHOKE
-	db 47,GRAVELER
-	db 47,GRAVELER
-
-	db $00
-
-PlateauMons1:
-	db $0F
-	db 26,GEODUDE
-	db 31,GEODUDE
-	db 36,GEODUDE
-	db 39,ZUBAT
-	db 44,ZUBAT
-	db 41,GEODUDE
-	db 43,ONIX
-	db 45,ONIX
-	db 41,GRAVELER
-	db 47,GRAVELER
-
-	db $00
-
-CaveMons:
-	db $14
-	db 18,DIGLETT
-	db 19,DIGLETT
-	db 17,DIGLETT
-	db 20,DIGLETT
-	db 16,DIGLETT
-	db 15,DIGLETT
-	db 21,DIGLETT
-	db 22,DIGLETT
-	db 29,DUGTRIO
-	db 31,DUGTRIO
-
-	db $00
-
-ENDC
-
-GetItemUse: ; $D5C7
-	ld a,1
-	ld [$cd6a],a
-	ld a,[$cf91]	;contains item_ID
-	cp a,HM_01
-	jp nc,ItemUseTMHM
-	ld hl,ItemUsePtrTable
-	dec a
-	add a
-	ld c,a
-	ld b,0
-	add hl,bc
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	jp [hl]
-
-ItemUsePtrTable: ; $D5E1
-	dw ItemUseBall      ;$5687 masterball
-	dw ItemUseBall      ;$5687 ultraball
-	dw ItemUseBall      ;$5687 greatball
-	dw ItemUseBall      ;$5687 pokeball
-	dw ItemUseTownMap   ;$5968 TownMap
-	dw $5977            ;ItemUseBicycle
-	dw $59B4            ;ItemUseSurfBoard (UNUSED, glitchy!)
-	dw ItemUseBall      ;$5687 Safariball
-	dw ItemUsePokedex   ;$DA56 pokedex
-	dw $5A5B            ; MOON_STONE
-	dw $5ABB            ; ANTIDOTE
-	dw $5ABB            ; BURN_HEAL
-	dw $5ABB            ; ICE_HEAL
-	dw $5ABB            ; AWAKENING
-	dw $5ABB            ; PARLYZ_HEAL
-	dw $5ABB            ; FULL_RESTORE
-	dw $5ABB            ; MAX_POTION
-	dw $5ABB            ; HYPER_POTION
-	dw $5ABB            ; SUPER_POTION
-	dw $5ABB            ; POTION
-	dw $5F52            ; BOULDERBADGE
-	dw $5F67            ; CASCADEBADGE
-	dw $6476            ; THUNDERBADGE
-	dw $6476            ; RAINBOWBADGE
-	dw $6476            ; SOULBADGE
-	dw $6476            ; MARSHBADGE
-	dw $6476            ; VOLCANOBADGE
-	dw $6476            ; EARTHBADGE
-	dw $5FAF            ; ESCAPE_ROPE
-	dw $6003            ; REPEL
-	dw $6476            ; OLD_AMBER
-	dw $5A5B            ; FIRE_STONE
-	dw $5A5B            ; THUNDER_STONE
-	dw $5A5B            ; WATER_STONE
-	dw $5AB4            ; HP_UP
-	dw $5AB4            ; PROTEIN
-	dw $5AB4            ; IRON
-	dw $5AB4            ; CARBOS
-	dw $5AB4            ; CALCIUM
-	dw $5AB4            ; RARE_CANDY
-	dw $6476            ; DOME_FOSSIL
-	dw $6476            ; HELIX_FOSSIL
-	dw $6476            ; SECRET_KEY
-	dw $6476
-	dw $6476            ; BIKE_VOUCHER
-	dw $6013            ; X_ACCURACY
-	dw $5A5B            ; LEAF_STONE
-	dw $6022            ; CARD_KEY
-	dw $6476            ; NUGGET
-	dw $6476            ; ??? PP_UP
-	dw $60CD            ; POKE_DOLL
-	dw $5ABB            ; FULL_HEAL
-	dw $5ABB            ; REVIVE
-	dw $5ABB            ; MAX_REVIVE
-	dw $60DC            ; GUARD_SPEC_
-	dw $60EB            ; SUPER_REPL
-	dw $60F0            ; MAX_REPEL
-	dw $60F5            ; DIRE_HIT
-	dw $6476            ; COIN
-	dw $5ABB            ; FRESH_WATER
-	dw $5ABB            ; SODA_POP
-	dw $5ABB            ; LEMONADE
-	dw $6476            ; S_S__TICKET
-	dw $6476            ; GOLD_TEETH
-	dw $6104            ; X_ATTACK
-	dw $6104            ; X_DEFEND
-	dw $6104            ; X_SPEED
-	dw $6104            ; X_SPECIAL
-	dw $623A            ; COIN_CASE
-	dw $62DE            ; OAKS_PARCEL
-	dw $62E1            ; ITEMFINDER
-	dw $6476            ; SILPH_SCOPE
-	dw $6140            ; POKE_FLUTE
-	dw $6476            ; LIFT_KEY
-	dw $6476            ; EXP__ALL
-	dw OldRodCode       ; OLD_ROD
-	dw GoodRodCode 		; GOOD_ROD $6259
-	dw SuperRodCode     ; SUPER_ROD $6283
-	dw $6317            ; PP_UP (see other?)
-	dw $631E            ; ETHER
-	dw $631E            ; MAX_ETHER
-	dw $631E            ; ELIXER
-	dw $631E            ; MAX_ELIXER
-
-ItemUseBall: ; 03:5687
-	ld a,[W_ISINBATTLE]
-	and a
-	jp z,ItemUseNotTime ; not in battle
-	dec a
-	jp nz,$658b ; in trainer battle
-	ld a,[W_BATTLETYPE]
-	dec a
-	jr z,.UseBall\@
-	ld a,[W_NUMINPARTY]	;is Party full?
-	cp a,6
-	jr nz,.UseBall\@
-	ld a,[W_NUMINBOX]	;is Box full?
-	cp a,20
-	jp z,$65b1
-.UseBall\@	;$56a7
-;ok, you can use a ball
-	xor a
-	ld [$d11c],a
-	ld a,[W_BATTLETYPE]
-	cp a,2		;SafariBattle
-	jr nz,.skipSafariZoneCode\@
-.safariZone\@
-	; remove a Safari Ball from inventory
-	ld hl,W_NUMSAFARIBALLS
-	dec [hl]
-.skipSafariZoneCode\@	;$56b6
-	call GoPAL_SET_CF1C
-	ld a,$43
-	ld [$d11e],a
-	call $3725	;restore screenBuffer from Backup
-	ld hl,ItemUseText00
-	call PrintText
-	ld hl,$583a
-	ld b,$0f
-	call Bankswitch
-	ld b,$10
-	jp z,$5801
-	ld a,[W_BATTLETYPE]
-	dec a
-	jr nz,.notOldManBattle\@
-.oldManBattle\@
-	ld hl,W_GRASSRATE
-	ld de,W_PLAYERNAME
-	ld bc,11
-	call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno glitch)
-	jp .BallSuccess\@	;$578b
-.notOldManBattle\@	;$56e9
-	ld a,[W_CURMAP]
-	cp a,POKEMONTOWER_6
-	jr nz,.loop\@
-	ld a,[$cfd8]
-	cp a,MAROWAK
-	ld b,$10
-	jp z,$5801
-; if not fighting ghost Marowak, loop until a random number in the current
-; pokeball's allowed range is found
-.loop\@	;$56fa
-	call GenRandom
-	ld b,a
-	ld hl,$cf91
-	ld a,[hl]
-	cp a,MASTER_BALL
-	jp z,.BallSuccess\@	;$578b
-	cp a,POKE_BALL
-	jr z,.checkForAilments
-	ld a,200
-	cp b
-	jr c,.loop\@	;get only numbers <= 200 for Great Ball
-	ld a,[hl]
-	cp a,GREAT_BALL
-	jr z,.checkForAilments
-	ld a,150	;get only numbers <= 150 for Ultra Ball
-	cp b
-	jr c,.loop\@
-.checkForAilments\@	;$571a
-; pokemon can be caught more easily with any (primary) status ailment
-; Frozen/Asleep pokemon are relatively even easier to catch
-; for Frozen/Asleep pokemon, any random number from 0-24 ensures a catch.
-; for the others, a random number from 0-11 ensures a catch.
-	ld a,[W_ENEMYMONSTATUS]	;status ailments
-	and a
-	jr z,.noAilments\@
-	and a,(FRZ + SLP)	;is frozen and/or asleep?
-	ld c,12
-	jr z,.notFrozenOrAsleep\@
-	ld c,25
-.notFrozenOrAsleep\@	;$5728
-	ld a,b
-	sub c
-	jp c,.BallSuccess\@	;$578b
-	ld b,a
-.noAilments\@	;$572e
-	push bc		;save RANDOM number
-	xor a
-	ld [H_MULTIPLICAND],a
-	ld hl,W_ENEMYMONMAXHP
-	ld a,[hli]
-	ld [H_MULTIPLICAND + 1],a
-	ld a,[hl]
-	ld [H_MULTIPLICAND + 2],a
-	ld a,255
-	ld [H_MULTIPLIER],a
-	call $38ac	;Multiply: MaxHP * 255
-	ld a,[$cf91]
-	cp a,GREAT_BALL
-	ld a,12		;any other BallFactor
-	jr nz,.next7\@
-	ld a,8
-.next7\@	;$574d
-	ld [H_DIVISOR],a
-	ld b,4		;number of significant bytes
-	call $38b9	;Divide
-	ld hl,W_ENEMYMONCURHP
-	ld a,[hli]
-	ld b,a
-	ld a,[hl]
-
-; explanation: we have a 16-bit value equal to [b << 8 | a].
-; This number is divided by 4. The result is 8 bit (reg. a).
-; Always bigger than zero.
-	srl b
-	rr a
-	srl b
-	rr a ; a = current HP / 4
-	and a
-	jr nz,.next8\@
-	inc a
-.next8\@	;$5766
-	ld [H_DIVISOR],a
-	ld b,4
-	call $38b9	; Divide: ((MaxHP * 255) / BallFactor) / (CurHP / 4)
-	ld a,[H_QUOTIENT + 2]
-	and a
-	jr z,.next9\@
-	ld a,255
-	ld [H_QUOTIENT + 3],a
-.next9\@	;$5776
-	pop bc
-	ld a,[$d007]	;enemy: Catch Rate
-	cp b
-	jr c,.next10\@
-	ld a,[H_QUOTIENT + 2]
-	and a
-	jr nz,.BallSuccess\@ ; if ((MaxHP * 255) / BallFactor) / (CurHP / 4) > 0x255, automatic success
-	call GenRandom
-	ld b,a
-	ld a,[H_QUOTIENT + 3]
-	cp b
-	jr c,.next10\@
-.BallSuccess\@	;$578b
-	jr .BallSuccess2\@
-.next10\@	;$578d
-	ld a,[H_QUOTIENT + 3]
-	ld [$d11e],a
-	xor a
-	ld [H_MULTIPLICAND],a
-	ld [H_MULTIPLICAND + 1],a
-	ld a,[$d007]	;enemy: Catch Rate
-	ld [H_MULTIPLICAND + 2],a
-	ld a,100
-	ld [H_MULTIPLIER],a
-	call $38ac	;Multiply: CatchRate * 100
-	ld a,[$cf91]
-	ld b,255
-	cp a,POKE_BALL
-	jr z,.next11\@
-	ld b,200
-	cp a,GREAT_BALL
-	jr z,.next11\@
-	ld b,150
-	cp a,ULTRA_BALL
-	jr z,.next11\@
-.next11\@	;$57b8
-	ld a,b
-	ld [H_DIVISOR],a
-	ld b,4
-	call $38b9	;Divide
-	ld a,[H_QUOTIENT + 2]
-	and a
-	ld b,$63
-	jr nz,.next12\@
-	ld a,[$d11e]
-	ld [H_MULTIPLIER],a
-	call $38ac
-	ld a,255
-	ld [H_DIVISOR],a
-	ld b,4
-	call $38b9
-	ld a,[W_ENEMYMONSTATUS]	;status ailments
-	and a
-	jr z,.next13\@
-	and a,(FRZ + SLP)
-	ld b,5
-	jr z,.next14\@
-	ld b,10
-.next14\@	;$57e6
-	ld a,[H_QUOTIENT + 3]
-	add b
-	ld [H_QUOTIENT + 3],a
-.next13\@	;$57eb
-	ld a,[H_QUOTIENT + 3]
-	cp a,10
-	ld b,$20
-	jr c,.next12\@
-	cp a,30
-	ld b,$61
-	jr c,.next12\@
-	cp a,70
-	ld b,$62
-	jr c,.next12\@
-	ld b,$63
-.next12\@	;$5801
-	ld a,b
-	ld [$d11e],a
-.BallSuccess2\@	;$5805
-	ld c,20
-	call DelayFrames
-	ld a,$c1
-	ld [$d07c],a
-	xor a
-	ld [$fff3],a
-	ld [$cc5b],a
-	ld [$d05b],a
-	ld a,[$cf92]
-	push af
-	ld a,[$cf91]
-	push af
-	ld a,$08	;probably animations
-	call Predef
-	pop af
-	ld [$cf91],a
-	pop af
-	ld [$cf92],a
-	ld a,[$d11e]
-	cp a,$10
-	ld hl,ItemUseBallText00
-	jp z,.printText0\@
-	cp a,$20
-	ld hl,ItemUseBallText01
-	jp z,.printText0\@
-	cp a,$61
-	ld hl,ItemUseBallText02
-	jp z,.printText0\@
-	cp a,$62
-	ld hl,ItemUseBallText03
-	jp z,.printText0\@
-	cp a,$63
-	ld hl,ItemUseBallText04
-	jp z,.printText0\@
-	ld hl,$cfe6	;current HP
-	ld a,[hli]
-	push af
-	ld a,[hli]
-	push af		;backup currentHP...
-	inc hl
-	ld a,[hl]
-	push af		;...and status ailments
-	push hl
-	ld hl,$d069
-	bit 3,[hl]
-	jr z,.next15\@
-	ld a,$4c
-	ld [$cfd8],a
-	jr .next16\@
-.next15\@	;$5871
-	set 3,[hl]
-	ld hl,$cceb
-	ld a,[$cff1]
-	ld [hli],a
-	ld a,[$cff2]
-	ld [hl],a
-.next16\@	;$587e
-	ld a,[$cf91]
-	push af
-	ld a,[$cfd8]
-	ld [$cf91],a
-	ld a,[$cff3]
-	ld [$d127],a
-	ld hl,$6b01
-	ld b,$0f
-	call Bankswitch
-	pop af
-	ld [$cf91],a
-	pop hl
-	pop af
-	ld [hld],a
-	dec hl
-	pop af
-	ld [hld],a
-	pop af
-	ld [hl],a
-	ld a,[$cfe5]	;enemy
-	ld [$d11c],a
-	ld [$cf91],a
-	ld [$d11e],a
-	ld a,[W_BATTLETYPE]
-	dec a
-	jr z,.printText1\@
-	ld hl,ItemUseBallText05
-	call PrintText
-	ld a,$3a	;convert order: Internal->Dex
-	call Predef
-	ld a,[$d11e]
-	dec a
-	ld c,a
-	ld b,2
-	ld hl,$d2f7	;Dex_own_flags (pokemon)
-	ld a,$10
-	call Predef	;check Dex flag (own already or not)
-	ld a,c
-	push af
-	ld a,[$d11e]
-	dec a
-	ld c,a
-	ld b,1
-	ld a,$10	;set Dex_own_flag?
-	call Predef
-	pop af
-	and a
-	jr nz,.checkParty\@
-	ld hl,ItemUseBallText06
-	call PrintText
-	call CleanLCD_OAM
-	ld a,[$cfe5]	;caught mon_ID
-	ld [$d11e],a
-	ld a,$3d
-	call Predef
-.checkParty\@	;$58f4
-	ld a,[W_NUMINPARTY]
-	cp a,6		;is party full?
-	jr z,.sendToBox\@
-	xor a
-	ld [$cc49],a
-	call CleanLCD_OAM
-	call AddPokemonToParty	;add mon to Party
-	jr .End\@
-.sendToBox\@	;$5907
-	call CleanLCD_OAM
-	call $67a4
-	ld hl,ItemUseBallText07
-	ld a,[$d7f1]
-	bit 0,a		;already met Bill?
-	jr nz,.sendToBox2\@
-	ld hl,ItemUseBallText08
-.sendToBox2\@	;$591a
-	call PrintText
-	jr .End\@
-.printText1\@	;$591f
-	ld hl,ItemUseBallText05
-.printText0\@	;$5922
-	call PrintText
-	call CleanLCD_OAM
-.End\@	;$5928
-	ld a,[W_BATTLETYPE]
-	and a
-	ret nz
-	ld hl,$d31d
-	inc a
-	ld [$cf96],a
-	jp $2bbb	;remove ITEM (XXX)
-ItemUseBallText00:
-;"It dodged the thrown ball!"
-;"This pokemon can't be caught"
-	TX_FAR _ItemUseBallText00
-	db "@"
-ItemUseBallText01:
-;"You missed the pokemon!"
-	TX_FAR _ItemUseBallText01
-	db "@"
-ItemUseBallText02:
-;"Darn! The pokemon broke free!"
-	TX_FAR _ItemUseBallText02
-	db "@"
-ItemUseBallText03:
-;"Aww! It appeared to be caught!"
-	TX_FAR _ItemUseBallText03
-	db "@"
-ItemUseBallText04:
-;"Shoot! It was so close too!"
-	TX_FAR _ItemUseBallText04
-	db "@"
-ItemUseBallText05:
-;"All right! {MonName} was caught!"
-;play sound
-	TX_FAR _ItemUseBallText05
-	db $12,$06
-	db "@"
-ItemUseBallText07:
-;"X was transferred to Bill's PC"
-	TX_FAR _ItemUseBallText07
-	db "@"
-ItemUseBallText08:
-;"X was transferred to someone's PC"
-	TX_FAR _ItemUseBallText08
-	db "@"
-
-ItemUseBallText06:
-;"New DEX data will be added..."
-;play sound
-	TX_FAR _ItemUseBallText06
-	db $13,$06
-	db "@"
-
-ItemUseTownMap: ; 03:5968
-	ld a,[W_ISINBATTLE]	;in-battle or outside
-	and a
-	jp nz,ItemUseNotTime	;OAK: "this isn't the time..."
-
-INCBIN "baserom.gbc",$d96f,$da4c - $d96f
-
-UnnamedText_da4c: ; 0xda4c
-	TX_FAR _UnnamedText_da4c
-	db $50
-; 0xda4c + 5 bytes
-
-UnnamedText_da51: ; 0xda51
-	TX_FAR _UnnamedText_da51
-	db $50
-; 0xda51 + 5 bytes
-
-ItemUsePokedex: ; 0xda56 5A56
-	ld a, $29
-	jp $3e6d
-; 0xda5b
-
-INCBIN "baserom.gbc",$da5b,$df24 - $da5b
-
-UnnamedText_df24: ; 0xdf24
-	TX_FAR _UnnamedText_df24
-	db $50
-; 0xdf24 + 5 bytes
-
-UnnamedText_df29: ; 0xdf29
-	TX_FAR _UnnamedText_df29
-	db $50
-; 0xdf29 + 5 bytes
-
-INCBIN "baserom.gbc",$df2e,$dfa5 - $df2e
-
-UnnamedText_dfa5: ; 0xdfa5
-	TX_FAR _UnnamedText_dfa5
-	db $50
-; 0xdfa5 + 5 bytes
-
-UnnamedText_dfaa: ; 0xdfaa
-	TX_FAR _UnnamedText_dfaa
-	db $50
-; 0xdfaa + 5 bytes
-
-INCBIN "baserom.gbc",$dfaf,$e20b - $dfaf
-
-UnnamedText_e20b: ; 0xe20b
-	TX_FAR _UnnamedText_e20b
-	db $50
-; 0xe20b + 5 bytes
-
-UnnamedText_e210: ; 0xe210
-	TX_FAR _UnnamedText_e210
-	db $50
-; 0xe210 + 5 bytes
-
-INCBIN "baserom.gbc",$e215,$e247 - $e215
-
-UnnamedText_e247: ; 0xe247
-	TX_FAR _UnnamedText_e247
-	db $50
-; 0xe247 + 5 bytes
-
-OldRodCode: ; 0xe24c
-	call $62b4 ; probably sets carry if not in battle or not by water
-	jp c, ItemUseNotTime
-	ld bc, (5 << 8) | MAGIKARP
-	ld a, $1 ; set bite
-	jr RodResponse ; 0xe257 $34
-
-GoodRodCode: ; 6259 0xe259
-	call $62B4 ; probably sets carry if not in battle or not by water
-	jp c,ItemUseNotTime
-.RandomLoop
-	call GenRandom
-	srl a
-	jr c, .SetBite
-	and %11
-	cp 2
-	jr nc, .RandomLoop
-	; choose which monster appears
-	ld hl,GoodRodMons
-	add a,a
-	ld c,a
-	ld b,0
-	add hl,bc
-	ld b,[hl]
-	inc hl
-	ld c,[hl]
-	and a
-.SetBite
-	ld a,0
-	rla
-	xor 1
-	jr RodResponse
-
-GoodRodMons:
-	db 10,GOLDEEN
-	db 10,POLIWAG
-
-SuperRodCode: ; $6283 0xe283
-	call $62B4 ; probably sets carry if in battle or not by water
-	jp c, ItemUseNotTime
-	call ReadSuperRodData ; 0xe8ea
-	ld a, e
-RodResponse:
-	ld [$CD3D], a
-
-	dec a ; is there a bite?
-	jr nz, .next\@
-	; if yes, store level and species data
-	ld a, 1
-	ld [$D05F], a
-	ld a, b ; level
-	ld [W_CURENEMYLVL], a
-	ld a, c ; species
-	ld [W_CUROPPONENT], a
-
-.next\@
-	ld hl, $D700
-	ld a, [hl] ; store the value in a
-	push af
-	push hl
-	ld [hl], 0
-	ld b, $1C
-	ld hl, $47B6
-	call Bankswitch
-	pop hl
-	pop af
-	ld [hl], a
-	ret
-
-INCBIN "baserom.gbc",$e2b4,$e30d - $e2b4
-
-UnnamedText_e30d: ; 0xe30d
-	TX_FAR _UnnamedText_e30d
-	db $50
-; 0xe30d + 5 bytes
-
-UnnamedText_e312: ; 0xe312
-	TX_FAR _UnnamedText_e312
-	db $50
-; 0xe312 + 5 bytes
-
-INCBIN "baserom.gbc",$e317,$e45d - $e317
-
-UnnamedText_e45d: ; 0xe45d
-	TX_FAR _UnnamedText_e45d
-	db $50
-; 0xe45d + 5 bytes
-
-UnnamedText_e462: ; 0xe462
-	TX_FAR _UnnamedText_e462
-	db $50
-; 0xe462 + 5 bytes
-
-UnnamedText_e467: ; 0xe467
-	TX_FAR _UnnamedText_e467
-	db $50
-; 0xe467 + 5 bytes
-
-UnnamedText_e46c: ; 0xe46c
-	TX_FAR _UnnamedText_e46c
-	db $50
-; 0xe46c + 5 bytes
-
-UnnamedText_e471: ; 0xe471
-	TX_FAR _UnnamedText_e471
-	db $50
-; 0xe471 + 5 bytes
-
-INCBIN "baserom.gbc",$e476,$3
-
-ItemUseTMHM: ; 03:6479
-	INCBIN "baserom.gbc",$E479,$E581 - $E479
-ItemUseNotTime: ; 03:6581
-	INCBIN "baserom.gbc",$E581,$E5E8 - $E581
-ItemUseText00: ; 03:65e8
-	TX_FAR _ItemUseText001
-	db $05
-	TX_FAR _ItemUseText002
-	db "@"
-
-INCBIN "baserom.gbc",$e5f2,$e5f7 - $e5f2
-
-UnnamedText_e5f7: ; 0xe5f7
-	TX_FAR _UnnamedText_e5f7
-	db $50
-; 0xe5f7 + 5 bytes
-
-INCBIN "baserom.gbc",$e5fc,$e601 - $e5fc
-
-UnnamedText_e601: ; 0xe601
-	TX_FAR _UnnamedText_e601
-	db $50
-; 0xe601 + 5 bytes
-
-INCBIN "baserom.gbc",$e606,$e755 - $e606
-
-UnnamedText_e755: ; 0xe755
-	TX_FAR _UnnamedText_e755
-	db $50
-; 0xe755 + 5 bytes
-
-UnnamedText_e75a: ; 0xe75a
-	TX_FAR _UnnamedText_e75a
-	db $50
-; 0xe75a + 5 bytes
-
-UnnamedText_e75f: ; 0xe75f
-	TX_FAR _UnnamedText_e75f
-	db $50
-; 0xe75f + 5 bytes
-
-INCBIN "baserom.gbc",$e764,$e8ea - $e764
-
-; 68EA 0xe8ea
-ReadSuperRodData:
-; return e = 2 if no fish on this map
-; return e = 1 if a bite, bc = level,species
-; return e = 0 if no bite
-	ld a, [W_CURMAP]
-	ld de, 3 ; each fishing group is three bytes wide
-	ld hl, SuperRodData
-	call IsInArray
-	jr c, .ReadFishingGroup
-	ld e, $2 ; $2 if no fishing groups found
-	ret
-
-.ReadFishingGroup ; 0xe8f6
-; hl points to the fishing group entry in the index
-	inc hl ; skip map id
-
-	; read fishing group address
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-
-	ld b, [hl] ; how many mons in group
-	inc hl ; point to data
-	ld e, $0 ; no bite yet
-
-.RandomLoop ; 0xe90c
-	call GenRandom
-	srl a
-	ret c ; 50% chance of no battle
-
-	and %11 ; 2-bit random number
-	cp b
-	jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate
-
-	; get the mon
-	add a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld b, [hl] ; level
-	inc hl
-	ld c, [hl] ; species
-	ld e, $1 ; $1 if there's a bite
-	ret
-; 0xe919
-
-; super rod data
-; format: map, pointer to fishing group
-SuperRodData: ; 6919
-	dbw PALLET_TOWN, FishingGroup1
-	dbw VIRIDIAN_CITY, FishingGroup1
-	dbw CERULEAN_CITY, FishingGroup3
-	dbw VERMILION_CITY, FishingGroup4
-	dbw CELADON_CITY, FishingGroup5
-	dbw FUCHSIA_CITY, FishingGroup10
-	dbw CINNABAR_ISLAND, FishingGroup8
-	dbw ROUTE_4, FishingGroup3
-	dbw ROUTE_6, FishingGroup4
-	dbw ROUTE_10, FishingGroup5
-	dbw ROUTE_11, FishingGroup4
-	dbw ROUTE_12, FishingGroup7
-	dbw ROUTE_13, FishingGroup7
-	dbw ROUTE_17, FishingGroup7
-	dbw ROUTE_18, FishingGroup7
-	dbw ROUTE_19, FishingGroup8
-	dbw ROUTE_20, FishingGroup8
-	dbw ROUTE_21, FishingGroup8
-	dbw ROUTE_22, FishingGroup2
-	dbw ROUTE_23, FishingGroup9
-	dbw ROUTE_24, FishingGroup3
-	dbw ROUTE_25, FishingGroup3
-	dbw CERULEAN_GYM, FishingGroup3
-	dbw VERMILION_DOCK, FishingGroup4
-;XXX syntax errors on the rest?
-	dbw $A1, FishingGroup8 ; SEAFOAM_ISLANDS_4
-	dbw $A2, FishingGroup8 ; SEAFOAM_ISLANDS_5
-	dbw SAFARI_ZONE_EAST, FishingGroup6
-	dbw $DA, FishingGroup6 ; SAFARI_ZONE_NORTH
-	dbw SAFARI_ZONE_WEST, FishingGroup6 
-	dbw $DC, FishingGroup6 ; SAFARI_ZONE_CENTER
-	dbw $E2, FishingGroup9 ; UNKNOWN_DUNGEON_2
-	dbw $E3, FishingGroup9 ; UNKNOWN_DUNGEON_3
-	dbw $E4, FishingGroup9 ; UNKNOWN_DUNGEON_1
-	db $FF
-
-; fishing groups
-; number of monsters, followed by level/monster pairs
-FishingGroup1:
-	db 2
-	db 15,TENTACOOL
-	db 15,POLIWAG
-
-FishingGroup2:
-	db 2
-	db 15,GOLDEEN
-	db 15,POLIWAG
-
-FishingGroup3:
-	db 3
-	db 15,PSYDUCK
-	db 15,GOLDEEN
-	db 15,KRABBY
-
-FishingGroup4:
-	db 2
-	db 15,KRABBY
-	db 15,SHELLDER
-
-FishingGroup5:
-	db 2
-	db 23,POLIWHIRL
-	db 15,SLOWPOKE
-
-FishingGroup6:
-	db 4
-	db 15,DRATINI
-	db 15,KRABBY
-	db 15,PSYDUCK
-	db 15,SLOWPOKE
-
-FishingGroup7:
-	db 4
-	db 5,TENTACOOL
-	db 15,KRABBY
-	db 15,GOLDEEN
-	db 15,MAGIKARP
-
-FishingGroup8:
-	db 4
-	db 15,STARYU
-	db 15,HORSEA
-	db 15,SHELLDER
-	db 15,GOLDEEN
-
-FishingGroup9:
-	db 4
-	db 23,SLOWBRO
-	db 23,SEAKING
-	db 23,KINGLER
-	db 23,SEADRA
-
-FishingGroup10:
-	db 4
-	db 23,SEAKING
-	db 15,KRABBY
-	db 15,GOLDEEN
-	db 15,MAGIKARP
-
-INCBIN "baserom.gbc",$E9C5,$ef7d - $E9C5
-
-_UnnamedText_ef7d: ; 0xef7d
-	db $17, $f8, $42, $2a
-	db $50
-; 0xef7d + 5 bytes
-
-INCBIN "baserom.gbc",$ef82,$f6a5 - $ef82
-
-HealParty:
-	ld hl, W_PARTYMON1
-	ld de, W_PARTYMON1_HP
-.HealPokemon\@: ; 0xf704
-	ld a, [hli]
-	cp $ff
-	jr z, .DoneHealing\@ ; End if there's no Pokémon
-	push hl
-	push de
-	ld hl, $0003 ; Status offset
-	add hl, de
-	xor a
-	ld [hl], a ; Clean status conditions
-	push de
-	ld b, $4 ; A Pokémon has 4 moves
-.RestorePP\@:
-	ld hl, $0007 ; Move offset
-	add hl, de
-	ld a, [hl]
-	and a
-	jr z, .HealNext\@ ; Skip if there's no move here
-	dec a
-	ld hl, $001c ; PP offset
-	add hl, de
-	push hl
-	push de
-	push bc
-	ld hl, Moves
-	ld bc, $0006
-	call AddNTimes
-	ld de, $cd6d
-	ld a, BANK(Moves)
-	call FarCopyData ; copy move header to memory
-	ld a, [$cd72] ; get default PP
-	pop bc
-	pop de
-	pop hl
-	inc de
-	push bc
-	ld b, a
-	ld a, [hl]
-	and $c0
-	add b
-	ld [hl], a
-	pop bc
-.HealNext\@:
-	dec b
-	jr nz, .RestorePP\@ ; Continue if there's still moves
-	pop de
-	ld hl, $0021 ; Max HP offset
-	add hl, de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hl]
-	ld [de], a ; Restore full HP
-	pop de
-	pop hl
-	push hl
-	ld bc, $002c
-	ld h, d
-	ld l, e
-	add hl, bc
-	ld d, h
-	ld e, l
-	pop hl
-	jr .HealPokemon\@ ; Next Pokémon
-.DoneHealing\@ ; This calls $6606 for each Pokémon in party -- no idea why
-	xor a
-	ld [$cf92], a
-	ld [$d11e], a
-	ld a, [W_NUMINPARTY]
-	ld b, a
-.asm_f711
-	push bc
-	call $6606
-	pop bc
-	ld hl, $cf92
-	inc [hl]
-	dec b
-	jr nz, .asm_f711 ; 0xf71b $f4
-	ret
-
-INCBIN "baserom.gbc",$f71e,$fbd9 - $f71e
-
-UnnamedText_fbd9: ; 0xfbd9
-	TX_FAR _UnnamedText_fbd9
-	db $50
-; 0xfbd9 + 5 bytes
-
-UnnamedText_fbde: ; 0xfbde
-	TX_FAR _UnnamedText_fbde
-	db $50
-; 0xfbde + 5 bytes
-
-UnnamedText_fbe3: ; 0xfbe3
-	TX_FAR _UnnamedText_fbe3
-	db $50
-; 0xfbe3 + 5 bytes
-
-INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8
-
-UnnamedText_fc03: ; 0xfc03
-	TX_FAR _UnnamedText_fc03
-	db $50
-; 0xfc03 + 5 bytes
-
-UnnamedText_fc08: ; 0xfc08
-	TX_FAR _UnnamedText_fc08
-	db $50
-; 0xfc08 + 5 bytes
-
-UnnamedText_fc0d: ; 0xfc0d
-	TX_FAR _UnnamedText_fc0d
-	db $50
-; 0xfc0d + 5 bytes
-
-INCBIN "baserom.gbc",$fc12,$fc45 - $fc12
-
-UnnamedText_fc45: ; 0xfc45
-	TX_FAR _UnnamedText_fc45
-	db $50
-; 0xfc45 + 5 bytes
-
-INCBIN "baserom.gbc",$fc4a,$3b6
-
-SECTION "bank4",DATA,BANK[$4]
-
-INCBIN "baserom.gbc",$10000,$12e7f - $10000
-
-UnnamedText_12e7f: ; 0x12e7f
-	TX_FAR _UnnamedText_12e7f
-	db $50
-; 0x12e7f + 5 bytes
-
-UnnamedText_12e84: ; 0x12e84
-	TX_FAR _UnnamedText_12e84
-	db $50
-; 0x12e84 + 5 bytes
-
-UnnamedText_12e89: ; 0x12e89
-	TX_FAR _UnnamedText_12e89
-	db $50
-; 0x12e89 + 5 bytes
-
-UnnamedText_12e8e: ; 0x12e8e
-	TX_FAR _UnnamedText_12e8e
-	db $50
-; 0x12e8e + 5 bytes
-
-UnnamedText_12e93: ; 0x12e93
-	TX_FAR _UnnamedText_12e93
-	db $50
-; 0x12e93 + 5 bytes
-
-UnnamedText_12e98: ; 0x12e98
-	TX_FAR _UnnamedText_12e98
-	db $50
-; 0x12e98 + 5 bytes
-
-UnnamedText_12e9d: ; 0x12e9d
-	TX_FAR _UnnamedText_12e9d
-	db $50
-; 0x12e9d + 5 bytes
-
-UnnamedText_12ea2: ; 0x12ea2
-	TX_FAR _UnnamedText_12ea2
-	db $50
-; 0x12ea2 + 5 bytes
-
-UnnamedText_12ea7: ; 0x12ea7
-	TX_FAR _UnnamedText_12ea7
-	db $50
-; 0x12ea7 + 5 bytes
-
-UnnamedText_12eac: ; 0x12eac
-	TX_FAR _UnnamedText_12eac
-	db $50
-; 0x12eac + 5 bytes
-
-UnnamedText_12eb1: ; 0x12eb1
-	TX_FAR _UnnamedText_12eb1
-	db $50
-; 0x12eb1 + 5 bytes
-
-UnnamedText_12eb6: ; 0x12eb6
-	TX_FAR _UnnamedText_12eb6
-	db $50
-; 0x12eb6 + 5 bytes
-
-UnnamedText_12ebb: ; 0x12ebb
-	TX_FAR _UnnamedText_12ebb
-	db $50
-; 0x12ebb + 5 bytes
-
-INCBIN "baserom.gbc",$12ec0,$1e
-
-RedPicFront:
-	INCBIN "pic/trainer/red.pic"
-ShrinkPic1:
-	INCBIN "pic/trainer/shrink1.pic"
-ShrinkPic2:
-	INCBIN "pic/trainer/shrink2.pic"
-
-INCBIN "baserom.gbc",$13074,$13228 - $13074
-
-UnnamedText_13228: ; 0x13228
-	TX_FAR _UnnamedText_13228
-	db $50
-; 0x13228 + 5 bytes
-
-INCBIN "baserom.gbc",$1322d,$1327b - $1322d
-
-UnnamedText_1327b: ; 0x1327b
-	TX_FAR _UnnamedText_1327b
-	db $50
-; 0x1327b + 5 bytes
-
-UnnamedText_13280: ; 0x13280
-	TX_FAR _UnnamedText_13280
-	db $50
-; 0x13280 + 5 bytes
-
-UnnamedText_13285: ; 0x13285
-	TX_FAR _UnnamedText_13285
-	db $50
-; 0x13285 + 5 bytes
-
-INCBIN "baserom.gbc",$1328a,$132d4 - $1328a
-
-UnnamedText_132d4: ; 0x132d4
-	TX_FAR _UnnamedText_132d4
-	db $50
-; 0x132d4 + 5 bytes
-
-INCBIN "baserom.gbc",$132d9,$132e8 - $132d9
-
-UnnamedText_132e8: ; 0x132e8
-	TX_FAR _UnnamedText_132e8
-	db $50
-; 0x132e8 + 5 bytes
-
-INCBIN "baserom.gbc",$132ed,$1342a - $132ed
-
-UnnamedText_1342a: ; 0x1342a
-	TX_FAR _UnnamedText_1342a
-	db $50
-; 0x1342a + 5 bytes
-
-UnnamedText_1342f: ; 0x1342f
-	TX_FAR _UnnamedText_1342f
-	db $50
-; 0x1342f + 5 bytes
-
-INCBIN "baserom.gbc",$13434,$13773 - $13434
-
-TechnicalMachines: ; 0x13773
-	db MEGA_PUNCH
-	db RAZOR_WIND
-	db SWORDS_DANCE
-	db WHIRLWIND
-	db MEGA_KICK
-	db TOXIC
-	db HORN_DRILL
-	db BODY_SLAM
-	db TAKE_DOWN
-	db DOUBLE_EDGE
-	db BUBBLEBEAM
-	db WATER_GUN
-	db ICE_BEAM
-	db BLIZZARD
-	db HYPER_BEAM
-	db PAY_DAY
-	db SUBMISSION
-	db COUNTER
-	db SEISMIC_TOSS
-	db RAGE
-	db MEGA_DRAIN
-	db SOLARBEAM
-	db DRAGON_RAGE
-	db THUNDERBOLT
-	db THUNDER
-	db EARTHQUAKE
-	db FISSURE
-	db DIG
-	db PSYCHIC_M
-	db TELEPORT
-	db MIMIC
-	db DOUBLE_TEAM
-	db REFLECT
-	db BIDE
-	db METRONOME
-	db SELFDESTRUCT
-	db EGG_BOMB
-	db FIRE_BLAST
-	db SWIFT
-	db SKULL_BASH
-	db SOFTBOILED
-	db DREAM_EATER
-	db SKY_ATTACK
-	db REST
-	db THUNDER_WAVE
-	db PSYWAVE
-	db EXPLOSION
-	db ROCK_SLIDE
-	db TRI_ATTACK
-	db SUBSTITUTE
-	db CUT
-	db FLY
-	db SURF
-	db STRENGTH
-	db FLASH
-
-INCBIN "baserom.gbc",$137aa,$1386b - $137aa
-
-UnnamedText_1386b: ; 0x1386b
-	TX_FAR _UnnamedText_1386b
-	db $50
-; 0x1386b + 5 bytes
-
-INCBIN "baserom.gbc",$13870,$1399e - $13870
-
-UnnamedText_1399e: ; 0x1399e
-	TX_FAR _UnnamedText_1399e
-	db $50
-; 0x1399e + 5 bytes
-
-INCBIN "baserom.gbc",$139a3,$139cd - $139a3
-
-UnnamedText_139cd: ; 0x139cd
-	TX_FAR _UnnamedText_139cd
-	db $50
-; 0x139cd + 5 bytes
-
-INCBIN "baserom.gbc",$139d2,$13a53 - $139d2
-
-UnnamedText_13a53: ; 0x13a53
-	TX_FAR _UnnamedText_13a53
-	db $50
-; 0x13a53 + 5 bytes
-
-INCBIN "baserom.gbc",$13a58,$37
-
-GenRandom_: ; 7A8F
-; generate a random 16-bit integer and store it at $FFD3,$FFD4
-	ld a,[rDIV]
-	ld b,a
-	ld a,[H_RAND1]
-	adc b
-	ld [H_RAND1],a
-	ld a,[rDIV]
-	ld b,a
-	ld a,[H_RAND2]
-	sbc b
-	ld [H_RAND2],a
-	ret
-
-SECTION "bank5",DATA,BANK[$5]
-
-INCBIN "baserom.gbc",$14000,$17e1d - $14000
-
-UnnamedText_17e1d: ; 0x17e1d
-	TX_FAR _UnnamedText_17e1d
-	db $50
-; 0x17e1d + 5 bytes
-
-UnnamedText_17e22: ; 0x17e22
-	TX_FAR _UnnamedText_17e22
-	db $50
-; 0x17e22 + 5 bytes
-
-UnnamedText_17e27: ; 0x17e27
-	TX_FAR _UnnamedText_17e27
-	db $50
-; 0x17e27 + 5 bytes
-
-INCBIN "baserom.gbc",$17e2c,$17f23 - $17e2c
-
-UnnamedText_17f23: ; 0x17f23
-	TX_FAR _UnnamedText_17f23
-	db $50
-; 0x17f23 + 5 bytes
-
-UnnamedText_17f28: ; 0x17f28
-	TX_FAR _UnnamedText_17f28
-	db $50
-; 0x17f28 + 5 bytes
-
-UnnamedText_17f2d: ; 0x17f2d
-	TX_FAR _UnnamedText_17f2d
-	db $50
-; 0x17f2d + 5 bytes
-
-UnnamedText_17f32: ; 0x17f32
-	TX_FAR _UnnamedText_17f32
-	db $50
-; 0x17f32 + 5 bytes
-
-INCBIN "baserom.gbc",$17f37,$c9
-
-SECTION "bank6",DATA,BANK[$6]
-
-CeladonCity_h: ; 0x18000
-	db $00 ; tileset
-	db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x)
-	dw CeladonCityBlocks, CeladonCityTexts, CeladonCityScript ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db ROUTE_16
-	dw $4B95, $C7C1 ; pointers (connected, current) (strip)
-	db $09, $14 ; bigness, width
-	db $F8, $27 ; alignments (y, x)
-	dw $C716 ; window
-
-	db ROUTE_7
-	dw $4051, $C7DD ; pointers (connected, current) (strip)
-	db $09, $0A ; bigness, width
-	db $F8, $00 ; alignments (y, x)
-	dw $C6F9 ; window
-
-	; end connections data
-
-	dw CeladonCityObject ; objects
-
-CeladonCityObject: ; 0x18022 (size=189)
-	db $f ; border tile
-
-	db $d ; warps
-	db $d, $8, $0, CELADON_MART_1
-	db $d, $a, $2, CELADON_MART_1
-	db $9, $18, $0, CELADON_MANSION_1
-	db $3, $18, $2, CELADON_MANSION_1
-	db $3, $19, $2, CELADON_MANSION_1
-	db $9, $29, $0, CELADON_POKECENTER
-	db $1b, $c, $0, CELADON_GYM
-	db $13, $1c, $0, GAME_CORNER
-	db $13, $27, $0, CELADON_MART_5
-	db $13, $21, $0, CELADONPRIZE_ROOM
-	db $1b, $1f, $0, CELADON_DINER
-	db $1b, $23, $0, CELADON_HOUSE
-	db $1b, $2b, $0, CELADON_HOTEL
-
-	db $9 ; signs
-	db $f, $1b, $a ; CeladonCityText10
-	db $f, $13, $b ; CeladonCityText11
-	db $9, $2a, $c ; CeladonCityText12
-	db $1d, $d, $d ; CeladonCityText13
-	db $9, $15, $e ; CeladonCityText14
-	db $d, $c, $f ; CeladonCityText15
-	db $15, $27, $10 ; CeladonCityText16
-	db $15, $21, $11 ; CeladonCityText17
-	db $15, $1b, $12 ; CeladonCityText18
-
-	db $9 ; people
-	db SPRITE_LITTLE_GIRL, $11 + 4, $8 + 4, $fe, $0, $1 ; person
-	db SPRITE_OLD_PERSON, $1c + 4, $b + 4, $ff, $d1, $2 ; person
-	db SPRITE_GIRL, $13 + 4, $e + 4, $fe, $1, $3 ; person
-	db SPRITE_OLD_PERSON, $16 + 4, $19 + 4, $ff, $d0, $4 ; person
-	db SPRITE_OLD_PERSON, $10 + 4, $16 + 4, $ff, $d0, $5 ; person
-	db SPRITE_FISHER2, $c + 4, $20 + 4, $ff, $d2, $6 ; person
-	db SPRITE_SLOWBRO, $c + 4, $1e + 4, $ff, $d3, $7 ; person
-	db SPRITE_ROCKET, $1d + 4, $20 + 4, $fe, $2, $8 ; person
-	db SPRITE_ROCKET, $e + 4, $2a + 4, $fe, $2, $9 ; person
-
-	; warp-to
-	EVENT_DISP $19, $d, $8 ; CELADON_MART_1
-	EVENT_DISP $19, $d, $a ; CELADON_MART_1
-	EVENT_DISP $19, $9, $18 ; CELADON_MANSION_1
-	EVENT_DISP $19, $3, $18 ; CELADON_MANSION_1
-	EVENT_DISP $19, $3, $19 ; CELADON_MANSION_1
-	EVENT_DISP $19, $9, $29 ; CELADON_POKECENTER
-	EVENT_DISP $19, $1b, $c ; CELADON_GYM
-	EVENT_DISP $19, $13, $1c ; GAME_CORNER
-	EVENT_DISP $19, $13, $27 ; CELADON_MART_5
-	EVENT_DISP $19, $13, $21 ; CELADONPRIZE_ROOM
-	EVENT_DISP $19, $1b, $1f ; CELADON_DINER
-	EVENT_DISP $19, $1b, $23 ; CELADON_HOUSE
-	EVENT_DISP $19, $1b, $2b ; CELADON_HOTEL
-
-CeladonCityBlocks: ; 0x180df 450
-	INCBIN "maps/celadoncity.blk"
-
-PalletTown_h: ; 0x182a1
-	db $00 ; tileset
-	db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions
-	dw PalletTownBlocks, PalletTownTexts, PalletTownScript
-	db NORTH | SOUTH ; connections
-
-	db ROUTE_1
-	dw Route1Blocks + ((ROUTE_1_WIDTH * 15) + 0) ;y, x Strip Starting Point
-	dw $C6EB + 0 ;Strip X-Offset to current map
-	db ROUTE_1_WIDTH ;"Bigness" (Unsure) ;Something to do with MapData
-	db ROUTE_1_WIDTH ;"Map Width" (Unsure) ;Something to do with TileSet
-	db (ROUTE_1_HEIGHT * 2) - 1 ;Player's new Y-Coordinates
-	db (0 * -2) ;Player's new X-Coordinates
-	dw $C6E9 + ROUTE_1_HEIGHT * (ROUTE_1_WIDTH + 6) ;New UL Block Pos (Window)
-
-	db ROUTE_21
-	dw Route21Blocks,$C7AB ; pointers
-	db $0A,$0A ; bigness, width
-	db $00,$00 ; alignments
-	dw $C6F9 ; window
-
-	dw PalletTownObject
-
-PalletTownObject: ; 0x182c3 (size=58)
-	db $b ; border tile
-
-	db $3 ; warps
-	db $5, $5, $0, REDS_HOUSE_1F
-	db $5, $d, $0, BLUES_HOUSE
-	db $b, $c, $1, OAKS_LAB
-
-	db $4 ; signs
-	db $d, $d, $4 ; PalletTownText4
-	db $9, $7, $5 ; PalletTownText5
-	db $5, $3, $6 ; PalletTownText6
-	db $5, $b, $7 ; PalletTownText7
-
-	db $3 ; people
-	db SPRITE_OAK, $5 + 4, $8 + 4, $ff, $ff, $1 ; person
-	db SPRITE_GIRL, $8 + 4, $3 + 4, $fe, $0, $2 ; person
-	db SPRITE_FISHER2, $e + 4, $b + 4, $fe, $0, $3 ; person
-
-	; warp-to
-	EVENT_DISP $a, $5, $5 ; REDS_HOUSE_1F
-	EVENT_DISP $a, $5, $d ; BLUES_HOUSE
-	EVENT_DISP $a, $b, $c ; OAKS_LAB
-
-PalletTownBlocks: ; 0x182fd
-	INCBIN "maps/pallettown.blk"
-
-ViridianCity_h: ; 0x18357 to 0x18384 (45 bytes) (bank=6) (id=1)
-	db $00 ; tileset
-	db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x)
-	dw ViridianCityBlocks, ViridianCityTexts, ViridianCityScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST ; connections
-
-	; connections data
-
-	db ROUTE_2
-	dw Route2Blocks + (ROUTE_2_HEIGHT - 3) * ROUTE_2_WIDTH ; connection strip location
-	dw $C6EB + 5 ; current map position
-	db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width
-	db (ROUTE_2_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_2_HEIGHT * (ROUTE_2_WIDTH + 6) ; window
-
-	db ROUTE_1
-	dw Route1Blocks ; connection strip location
-	dw $C6EB + (VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6) + 5 ; current map position
-	db ROUTE_1_WIDTH, ROUTE_1_WIDTH ; bigness, width
-	db 0, (5 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_1_WIDTH ; window
-
-	db ROUTE_22
-	dw Route22Blocks - 3 + (ROUTE_22_WIDTH) ; connection strip location
-	dw $C6E8 + (VIRIDIAN_CITY_WIDTH + 6) * (4 + 3) ; current map position
-	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; bigness, width
-	db (4 * -2), (ROUTE_22_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_22_WIDTH ; window
-
-	; end connections data
-
-	dw ViridianCityObject ; objects
-
-ViridianCityObject: ; 0x18384 (size=104)
-	db $f ; border tile
-
-	db $5 ; warps
-	db $19, $17, $0, VIRIDIAN_POKECENTER
-	db $13, $1d, $0, VIRIDIAN_MART
-	db $f, $15, $0, VIRIDIAN_SCHOOL
-	db $9, $15, $0, VIRIDIAN_HOUSE
-	db $7, $20, $0, VIRIDIAN_GYM
-
-	db $6 ; signs
-	db $11, $11, $8 ; ViridianCityText8
-	db $1, $13, $9 ; ViridianCityText9
-	db $1d, $15, $a ; ViridianCityText10
-	db $13, $1e, $b ; ViridianCityText11
-	db $19, $18, $c ; ViridianCityText12
-	db $7, $1b, $d ; ViridianCityText13
-
-	db $7 ; people
-	db SPRITE_BUG_CATCHER, $14 + 4, $d + 4, $fe, $0, $1 ; person
-	db SPRITE_GAMBLER, $8 + 4, $1e + 4, $ff, $ff, $2 ; person
-	db SPRITE_BUG_CATCHER, $19 + 4, $1e + 4, $fe, $0, $3 ; person
-	db SPRITE_GIRL, $9 + 4, $11 + 4, $ff, $d3, $4 ; person
-	db SPRITE_LYING_OLD_MAN, $9 + 4, $12 + 4, $ff, $ff, $5 ; person
-	db SPRITE_FISHER2, $17 + 4, $6 + 4, $ff, $d0, $6 ; person
-	db SPRITE_GAMBLER, $5 + 4, $11 + 4, $fe, $2, $7 ; person
-
-	; warp-to
-	EVENT_DISP $14, $19, $17 ; VIRIDIAN_POKECENTER
-	EVENT_DISP $14, $13, $1d ; VIRIDIAN_MART
-	EVENT_DISP $14, $f, $15 ; VIRIDIAN_SCHOOL
-	EVENT_DISP $14, $9, $15 ; VIRIDIAN_HOUSE
-	EVENT_DISP $14, $7, $20 ; VIRIDIAN_GYM
-
-ViridianCityBlocks: ; 0x183ec 360
-	INCBIN "maps/viridiancity.blk"
-
-PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2)
-	db $00 ; tileset
-	db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x)
-	dw PewterCityBlocks, PewterCityTexts, PewterCityScript ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_2
-	dw Route2Blocks ; connection strip location
-	dw $C6EB + (PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6) + 5 ; current map position
-	db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width
-	db 0, (5 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_2_WIDTH ; window
-
-	db ROUTE_3
-	dw Route3Blocks + (ROUTE_3_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (PEWTER_CITY_WIDTH + 6) * (4 + 4) ; current map position
-	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; bigness, width
-	db (4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_3_WIDTH ; window
-
-	; end connections data
-
-	dw PewterCityObject ; objects
-
-INCBIN "baserom.gbc",$18576,$18577 - $18576
-
-PewterCityObject: ; 0x18577 (size=111)
-	db $a ; border tile
-
-	db $7 ; warps
-	db $7, $e, $0, MUSEUM_1F
-	db $5, $13, $2, MUSEUM_1F
-	db $11, $10, $0, PEWTER_GYM
-	db $d, $1d, $0, PEWTER_HOUSE_1
-	db $11, $17, $0, PEWTER_MART
-	db $1d, $7, $0, PEWTER_HOUSE_2
-	db $19, $d, $0, PEWTER_POKECENTER
-
-	db $7 ; signs
-	db $1d, $13, $6 ; PewterCityText6
-	db $13, $21, $7 ; PewterCityText7
-	db $11, $18, $8 ; PewterCityText8
-	db $19, $e, $9 ; PewterCityText9
-	db $9, $f, $a ; PewterCityText10
-	db $11, $b, $b ; PewterCityText11
-	db $17, $19, $c ; PewterCityText12
-
-	db $5 ; people
-	db SPRITE_LASS, $f + 4, $8 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $19 + 4, $11 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $1b + 4, $ff, $ff, $3 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $19 + 4, $1a + 4, $fe, $2, $4 ; person
-	db SPRITE_BUG_CATCHER, $10 + 4, $23 + 4, $ff, $d0, $5 ; person
-
-	; warp-to
-	EVENT_DISP $14, $7, $e ; MUSEUM_1F
-	EVENT_DISP $14, $5, $13 ; MUSEUM_1F
-	EVENT_DISP $14, $11, $10 ; PEWTER_GYM
-	EVENT_DISP $14, $d, $1d ; PEWTER_HOUSE_1
-	EVENT_DISP $14, $11, $17 ; PEWTER_MART
-	EVENT_DISP $14, $1d, $7 ; PEWTER_HOUSE_2
-	EVENT_DISP $14, $19, $d ; PEWTER_POKECENTER
-
-PewterCityBlocks: ; 0x185e6 360
-	INCBIN "maps/pewtercity.blk"
-
-CeruleanCity_h: ; 0x1874e to 0x18786 (56 bytes) (bank=6) (id=3)
-	db $00 ; tileset
-	db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x)
-	dw CeruleanCityBlocks, CeruleanCityTexts, CeruleanCityScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST | EAST ; connections
-
-	; connections data
-
-	db ROUTE_24
-	dw Route24Blocks + (ROUTE_24_HEIGHT - 3) * ROUTE_24_WIDTH ; connection strip location
-	dw $C6EB + 5 ; current map position
-	db ROUTE_24_WIDTH, ROUTE_24_WIDTH ; bigness, width
-	db (ROUTE_24_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_24_HEIGHT * (ROUTE_24_WIDTH + 6) ; window
-
-	db ROUTE_5
-	dw Route5Blocks ; connection strip location
-	dw $C6EB + (CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6) + 5 ; current map position
-	db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width
-	db 0, (5 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_5_WIDTH ; window
-
-	db ROUTE_4
-	dw Route4Blocks - 3 + (ROUTE_4_WIDTH) ; connection strip location
-	dw $C6E8 + (CERULEAN_CITY_WIDTH + 6) * (4 + 3) ; current map position
-	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; bigness, width
-	db (4 * -2), (ROUTE_4_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_4_WIDTH ; window
-
-	db ROUTE_9
-	dw Route9Blocks + (ROUTE_9_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (CERULEAN_CITY_WIDTH + 6) * (4 + 4) ; current map position
-	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width
-	db (4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_9_WIDTH ; window
-
-	; end connections data
-
-	dw CeruleanCityObject ; objects
-
-CeruleanCityObject: ; 0x18786 (size=170)
-	db $f ; border tile
-
-	db $a ; warps
-	db $b, $1b, $0, TRASHED_HOUSE
-	db $f, $d, $0, CERULEAN_HOUSE
-	db $11, $13, $0, CERULEAN_POKECENTER
-	db $13, $1e, $0, CERULEAN_GYM
-	db $19, $d, $0, BIKE_SHOP
-	db $19, $19, $0, CERULEAN_MART
-	db $b, $4, $0, UNKNOWN_DUNGEON_1
-	db $9, $1b, $2, TRASHED_HOUSE
-	db $b, $9, $1, CERULEAN_HOUSE_3
-	db $9, $9, $0, CERULEAN_HOUSE_3
-
-	db $6 ; signs
-	db $13, $17, $c ; CeruleanCityText12
-	db $1d, $11, $d ; CeruleanCityText13
-	db $19, $1a, $e ; CeruleanCityText14
-	db $11, $14, $f ; CeruleanCityText15
-	db $19, $b, $10 ; CeruleanCityText16
-	db $15, $1b, $11 ; CeruleanCityText17
-
-	db $b ; people
-	db SPRITE_BLUE, $2 + 4, $14 + 4, $ff, $d0, $1 ; person
-	db SPRITE_ROCKET, $8 + 4, $1e + 4, $ff, $ff, $42, ROCKET + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $1f + 4, $ff, $d0, $3 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $12 + 4, $f + 4, $fe, $1, $4 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $9 + 4, $fe, $2, $5 ; person
-	db SPRITE_GUARD, $c + 4, $1c + 4, $ff, $d0, $6 ; person
-	db SPRITE_LASS, $1a + 4, $1d + 4, $ff, $d2, $7 ; person
-	db SPRITE_SLOWBRO, $1a + 4, $1c + 4, $ff, $d0, $8 ; person
-	db SPRITE_LASS, $1b + 4, $9 + 4, $fe, $2, $9 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $c + 4, $4 + 4, $ff, $d0, $a ; person
-	db SPRITE_GUARD, $c + 4, $1b + 4, $ff, $d0, $b ; person
-
-	; warp-to
-	EVENT_DISP $14, $b, $1b ; TRASHED_HOUSE
-	EVENT_DISP $14, $f, $d ; CERULEAN_HOUSE
-	EVENT_DISP $14, $11, $13 ; CERULEAN_POKECENTER
-	EVENT_DISP $14, $13, $1e ; CERULEAN_GYM
-	EVENT_DISP $14, $19, $d ; BIKE_SHOP
-	EVENT_DISP $14, $19, $19 ; CERULEAN_MART
-	EVENT_DISP $14, $b, $4 ; UNKNOWN_DUNGEON_1
-	EVENT_DISP $14, $9, $1b ; TRASHED_HOUSE
-	EVENT_DISP $14, $b, $9 ; CERULEAN_HOUSE_3
-	EVENT_DISP $14, $9, $9 ; CERULEAN_HOUSE_3
-
-CeruleanCityBlocks: ; 0x18830 360
-	INCBIN "maps/ceruleancity.blk"
-
-VermilionCity_h: ; 0x18998 to 0x189ba (34 bytes) (bank=6) (id=5)
-	db $00 ; tileset
-	db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x)
-	dw VermilionCityBlocks, VermilionCityTexts, VermilionCityScript ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_6
-	dw Route6Blocks + (ROUTE_6_HEIGHT - 3) * ROUTE_6_WIDTH ; connection strip location
-	dw $C6EB + 5 ; current map position
-	db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width
-	db (ROUTE_6_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_6_HEIGHT * (ROUTE_6_WIDTH + 6) ; window
-
-	db ROUTE_11
-	dw Route11Blocks + (ROUTE_11_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (VERMILION_CITY_WIDTH + 6) * (4 + 4) ; current map position
-	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width
-	db (4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_11_WIDTH ; window
-
-	; end connections data
-
-	dw VermilionCityObject ; objects
-
-VermilionCityObject: ; 0x189ba (size=133)
-	db $43 ; border tile
-
-	db $9 ; warps
-	db $3, $b, $0, VERMILION_POKECENTER
-	db $d, $9, $0, POKEMON_FAN_CLUB
-	db $d, $17, $0, VERMILION_MART
-	db $13, $c, $0, VERMILION_GYM
-	db $13, $17, $0, VERMILION_HOUSE_1
-	db $1f, $12, $0, VERMILION_DOCK
-	db $1f, $13, $0, VERMILION_DOCK
-	db $d, $f, $0, VERMILION_HOUSE_3
-	db $3, $7, $0, VERMILION_HOUSE_2
-
-	db $7 ; signs
-	db $3, $1b, $7 ; VermilionCityText7
-	db $d, $25, $8 ; VermilionCityText8
-	db $d, $18, $9 ; VermilionCityText9
-	db $3, $c, $a ; VermilionCityText10
-	db $d, $7, $b ; VermilionCityText11
-	db $13, $7, $c ; VermilionCityText12
-	db $f, $1d, $d ; VermilionCityText13
-
-	db $6 ; people
-	db SPRITE_FOULARD_WOMAN, $7 + 4, $13 + 4, $fe, $2, $1 ; person
-	db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person
-	db SPRITE_SAILOR, $1e + 4, $13 + 4, $ff, $d1, $3 ; person
-	db SPRITE_GAMBLER, $7 + 4, $1e + 4, $ff, $ff, $4 ; person
-	db SPRITE_SLOWBRO, $9 + 4, $1d + 4, $fe, $1, $5 ; person
-	db SPRITE_SAILOR, $1b + 4, $19 + 4, $fe, $2, $6 ; person
-
-	; warp-to
-	EVENT_DISP $14, $3, $b ; VERMILION_POKECENTER
-	EVENT_DISP $14, $d, $9 ; POKEMON_FAN_CLUB
-	EVENT_DISP $14, $d, $17 ; VERMILION_MART
-	EVENT_DISP $14, $13, $c ; VERMILION_GYM
-	EVENT_DISP $14, $13, $17 ; VERMILION_HOUSE_1
-	EVENT_DISP $14, $1f, $12 ; VERMILION_DOCK
-	EVENT_DISP $14, $1f, $13 ; VERMILION_DOCK
-	EVENT_DISP $14, $d, $f ; VERMILION_HOUSE_3
-	EVENT_DISP $14, $3, $7 ; VERMILION_HOUSE_2
-
-VermilionCityBlocks: ; 0x18a3f 360
-	INCBIN "maps/vermilioncity.blk"
-
-FuchsiaCity_h: ; 0x18ba7 to 0x18bd4 (45 bytes) (bank=6) (id=7)
-	db $00 ; tileset
-	db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x)
-	dw FuchsiaCityBlocks, FuchsiaCityTexts, FuchsiaCityScript ; blocks, texts, scripts
-	db SOUTH | WEST | EAST ; connections
-
-	; connections data
-
-	db ROUTE_19
-	dw Route19Blocks ; connection strip location
-	dw $C6EB + (FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6) + 5 ; current map position
-	db ROUTE_19_WIDTH, ROUTE_19_WIDTH ; bigness, width
-	db 0, (5 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_19_WIDTH ; window
-
-	db ROUTE_18
-	dw Route18Blocks - 3 + (ROUTE_18_WIDTH) ; connection strip location
-	dw $C6E8 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 3) ; current map position
-	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; bigness, width
-	db (4 * -2), (ROUTE_18_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_18_WIDTH ; window
-
-	db ROUTE_15
-	dw Route15Blocks + (ROUTE_15_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 4) ; current map position
-	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width
-	db (4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_15_WIDTH ; window
-
-	; end connections data
-
-	dw FuchsiaCityObject ; objects
-
-FuchsiaCityObject: ; 0x18bd4 (size=178)
-	db $f ; border tile
-
-	db $9 ; warps
-	db $d, $5, $0, FUCHSIA_MART
-	db $1b, $b, $0, FUCHSIA_HOUSE_1
-	db $1b, $13, $0, FUCHSIA_POKECENTER
-	db $1b, $1b, $0, FUCHSIA_HOUSE_2
-	db $3, $12, $0, SAFARIZONEENTRANCE
-	db $1b, $5, $0, FUCHSIA_GYM
-	db $d, $16, $0, FUCHSIAMEETINGROOM
-	db $1b, $1f, $1, FUCHSIA_HOUSE_3
-	db $18, $1f, $0, FUCHSIA_HOUSE_3
-
-	db $e ; signs
-	db $17, $f, $b ; FuchsiaCityText11
-	db $f, $19, $c ; FuchsiaCityText12
-	db $5, $11, $d ; FuchsiaCityText13
-	db $d, $6, $e ; FuchsiaCityText14
-	db $1b, $14, $f ; FuchsiaCityText15
-	db $1d, $1b, $10 ; FuchsiaCityText16
-	db $f, $15, $11 ; FuchsiaCityText17
-	db $1d, $5, $12 ; FuchsiaCityText18
-	db $7, $21, $13 ; FuchsiaCityText19
-	db $7, $1b, $14 ; FuchsiaCityText20
-	db $7, $d, $15 ; FuchsiaCityText21
-	db $d, $1f, $16 ; FuchsiaCityText22
-	db $f, $d, $17 ; FuchsiaCityText23
-	db $7, $7, $18 ; FuchsiaCityText24
-
-	db $a ; people
-	db SPRITE_BUG_CATCHER, $c + 4, $a + 4, $fe, $2, $1 ; person
-	db SPRITE_GAMBLER, $11 + 4, $1c + 4, $fe, $2, $2 ; person
-	db SPRITE_FISHER2, $e + 4, $1e + 4, $ff, $d0, $3 ; person
-	db SPRITE_BUG_CATCHER, $8 + 4, $18 + 4, $ff, $d1, $4 ; person
-	db SPRITE_CLEFAIRY, $5 + 4, $1f + 4, $fe, $0, $5 ; person
-	db SPRITE_BALL, $6 + 4, $19 + 4, $ff, $ff, $6 ; person
-	db SPRITE_SLOWBRO, $6 + 4, $c + 4, $fe, $2, $7 ; person
-	db SPRITE_SLOWBRO, $c + 4, $1e + 4, $fe, $2, $8 ; person
-	db SPRITE_SEEL, $11 + 4, $8 + 4, $fe, $0, $9 ; person
-	db SPRITE_OMANYTE, $5 + 4, $6 + 4, $ff, $ff, $a ; person
-
-	; warp-to
-	EVENT_DISP $14, $d, $5 ; FUCHSIA_MART
-	EVENT_DISP $14, $1b, $b ; FUCHSIA_HOUSE_1
-	EVENT_DISP $14, $1b, $13 ; FUCHSIA_POKECENTER
-	EVENT_DISP $14, $1b, $1b ; FUCHSIA_HOUSE_2
-	EVENT_DISP $14, $3, $12 ; SAFARIZONEENTRANCE
-	EVENT_DISP $14, $1b, $5 ; FUCHSIA_GYM
-	EVENT_DISP $14, $d, $16 ; FUCHSIAMEETINGROOM
-	EVENT_DISP $14, $1b, $1f ; FUCHSIA_HOUSE_3
-	EVENT_DISP $14, $18, $1f ; FUCHSIA_HOUSE_3
-
-FuchsiaCityBlocks: ; 0x18c86 360
-	INCBIN "maps/fuchsiacity.blk"
-
-INCBIN "baserom.gbc",$18dee,$6d
-
-PalletTownScript:
-	ld a,[$D74B]
-	bit 4,a
-	jr z,.next\@
-	ld hl,$D747
-	set 6,[hl]
-.next\@
-	call $3C3C
-	ld hl,PalletTownScriptPointers
-	ld a,[$D5F1]
-	jp $3D97
-; 0x18e73
-
-PalletTownScriptPointers:
-	dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7
-
-PalletTownScript1:
-	ld a,[$D747]
-	bit 0,a
-	ret nz
-	ld a,[W_YCOORD]
-	cp 1 ; is player near north exit?
-	ret nz
-	xor a
-	ld [$FFB4],a
-	ld a,4
-	ld [$D528],a
-	ld a,$FF
-	call $23B1 ; stop music
-	ld a,2
-	ld c,a ; song bank
-	ld a,$DB ; “oak appears” music
-	call $23A1 ; plays music
-	ld a,$FC
-	ld [$CD6B],a
-	ld hl,$D74B
-	set 7,[hl]
-
-	; trigger the next script
-	ld a,1
-	ld [$D5F1],a
-	ret
-
-PalletTownScript2:
-	xor a
-	ld [$CF0D],a
-	ld a,1
-	ld [$FF8C],a
-	call $2920
-	ld a,$FF
-	ld [$CD6B],a
-	ld a,0
-	ld [$CC4D],a
-	ld a,$15
-	call Predef
-
-	; trigger the next script
-	ld a,2
-	ld [$D5F1],a
-	ret
-
-PalletTownScript3:
-	ld a,1
-	ld [$FF8C],a
-	ld a,4
-	ld [$FF8D],a
-	call $34A6
-	call Delay3
-	ld a,1
-	ld [W_YCOORD],a
-	ld a,1
-	ld [$FF9B],a
-	ld a,1
-	swap a
-	ld [$FF95],a
-	ld a,$22
-	call Predef
-	ld hl,$FF95
-	dec [hl]
-	ld a,$20
-	call Predef ; load Oak’s movement into $CC97
-	ld de,$CC97
-	ld a,1 ; oak
-	ld [$FF8C],a
-	call MoveSprite
-	ld a,$FF
-	ld [$CD6B],a
-
-	; trigger the next script
-	ld a,3
-	ld [$D5F1],a
-	ret
-
-PalletTownScript4:
-	ld a,[$D730]
-	bit 0,a
-	ret nz
-	xor a
-	ld [$C109],a
-	ld a,1
-	ld [$CF0D],a
-	ld a,$FC
-	ld [$CD6B],a
-	ld a,1
-	ld [$FF8C],a
-	call $2920
-	ld a,$FF
-	ld [$CD6B],a
-	ld a,1
-	ld [$CF13],a
-	xor a
-	ld [$CF10],a
-	ld a,1
-	ld [$CC57],a
-	ld a,[$FFB8]
-	ld [$CC58],a
-
-	; trigger the next script
-	ld a,4
-	ld [$D5F1],a
-	ret
-
-PalletTownScript5:
-	ld a,[$CC57]
-	and a
-	ret nz
-
-	; trigger the next script
-	ld a,5
-	ld [$D5F1],a
-	ret
-
-PalletTownScript6:
-	ld a,[$D74A]
-	bit 2,a
-	jr nz,.next\@
-	and 3
-	cp 3
-	jr nz,.next\@
-	ld hl,$D74A
-	set 2,[hl]
-	ld a,$27
-	ld [$CC4D],a
-	ld a,$11
-	call Predef
-	ld a,$28
-	ld [$CC4D],a
-	ld a,$15
-	jp Predef
-.next\@
-	ld a,[$D74B]
-	bit 4,a
-	ret z
-	ld hl,$D74B
-	set 6,[hl]
-PalletTownScript7:
-	ret
-
-PalletTownTexts: ; 0x18f88
-	dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7
-
-PalletTownText1: ; 4F96 0x18f96
-	db 8
-	ld a,[$CF0D]
-	and a
-	jr nz,.next\@
-	ld a,1
-	ld [$CC3C],a
-	ld hl,OakAppearsText
-	jr .done\@
-.next\@
-	ld hl,OakWalksUpText
-.done\@
-	call PrintText
-	jp TextScriptEnd
-
-OakAppearsText:
-	TX_FAR _OakAppearsText
-	db 8
-	ld c,10
-	call DelayFrames
-	xor a
-	ld [$CD4F],a
-	ld [$CD50],a
-	ld a,$4C
-	call Predef ; display ! over head
-	ld a,4
-	ld [$D528],a
-	jp TextScriptEnd
-
-OakWalksUpText:
-	TX_FAR _OakWalksUpText
-	db "@"
-
-PalletTownText2: ; 0x18fd3 girl
-	TX_FAR _PalletTownText2 ; dc 42 29 pointing to 0xa42dc
-	db "@"
-; 0x18fd8
-
-PalletTownText3: ; 0x18fd8 fat man
-	TX_FAR _PalletTownText3
-	db "@"
-; 0x18fdd
-
-PalletTownText4: ; 0x18fdd sign by lab
-	TX_FAR _PalletTownText4
-	db "@"
-; 0x18fe2
-
-PalletTownText5: ; 0x18fe2 sign by fence
-	TX_FAR _PalletTownText5
-	db "@"
-; 0x18fe7
-
-PalletTownText6: ; 0x18fe7 sign by Red’s house
-	TX_FAR _PalletTownText6
-	db "@"
-; 0x18fec
-
-PalletTownText7: ; 0x18fec sign by Blue’s house
-	TX_FAR _PalletTownText7
-	db "@"
-
-ViridianCityScript: ; 0x18ff1
-	call $3c3c
-	ld hl, ViridianCityScripts
-	ld a, [$d5f4]
-	jp $3d97
-; 0x18ffd
-
-ViridianCityScripts: ; 0x18ffd
-	dw ViridianCityScript0
-
-INCBIN "baserom.gbc",$18fff,$6
-
-ViridianCityScript0: ; 0x19005
-	call $500b
-	jp $503d
-; 0x1900b
-
-INCBIN "baserom.gbc",$1900b,$d9
-
-ViridianCityTexts: ; 0x190e4
-	dw ViridianCityText1, ViridianCityText2, ViridianCityText3, ViridianCityText4, ViridianCityText5, ViridianCityText6, ViridianCityText7, ViridianCityText8, ViridianCityText9, ViridianCityText10, ViridianCityText11, ViridianCityText12, ViridianCityText13, ViridianCityText14, ViridianCityText15
-
-ViridianCityText1: ; 0x19102
-	TX_FAR _ViridianCityText1
-	db $50
-
-ViridianCityText2: ; 0x19107
-	db $08 ; asm
-	ld a, [$d356]
-	cp $7f
-	ld hl, UnnamedText_19127
-	jr z, .asm_ae9fe ; 0x19110
-	ld a, [$d751]
-	bit 1, a
-	jr nz, .asm_ae9fe ; 0x19117
-	ld hl, UnnamedText_19122
-.asm_ae9fe ; 0x1911c
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_19122: ; 0x19122
-	TX_FAR _UnnamedText_19122
-	db $50
-; 0x19122 + 5 bytes
-
-UnnamedText_19127: ; 0x19127
-	TX_FAR _UnnamedText_19127
-	db $50
-; 0x19127 + 5 bytes
-
-ViridianCityText3: ; 0x1912c
-	db $08 ; asm
-	ld hl, UnnamedText_1914d
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_6dfea ; 0x1913a
-	ld hl, UnnamedText_19157
-	call PrintText
-	jr .asm_d611f ; 0x19142
-.asm_6dfea ; 0x19144
-	ld hl, UnnamedText_19152
-	call PrintText
-.asm_d611f ; 0x1914a
-	jp TextScriptEnd
-
-UnnamedText_1914d: ; 0x1914d
-	TX_FAR _UnnamedText_1914d
-	db $50
-; 0x1914d + 5 bytes
-
-UnnamedText_19152: ; 0x19152
-	TX_FAR _UnnamedText_19152
-	db $50
-; 0x19152 + 5 bytes
-
-UnnamedText_19157: ; 0x19157
-	TX_FAR _UnnamedText_19157
-	db $50
-; 0x19157 + 5 bytes
-
-ViridianCityText4: ; 0x1915c
-	db $08 ; asm
-	ld a, [$d74b]
-	bit 5, a
-	jr nz, .asm_83894 ; 0x19162
-	ld hl, UnnamedText_19175
-	call PrintText
-	jr .asm_700a6 ; 0x1916a
-.asm_83894 ; 0x1916c
-	ld hl, UnnamedText_1917a
-	call PrintText
-.asm_700a6 ; 0x19172
-	jp TextScriptEnd
-
-UnnamedText_19175: ; 0x19175
-	TX_FAR _UnnamedText_19175
-	db $50
-; 0x19175 + 5 bytes
-
-UnnamedText_1917a: ; 0x1917a
-	TX_FAR _UnnamedText_1917a
-	db $50
-; 0x1917a + 5 bytes
-
-ViridianCityText5: ; 0x1917f
-	db $08 ; asm
-	ld hl, UnnamedText_19191
-	call PrintText
-	call $50cf
-	ld a, $3
-	ld [$d5f4], a
-	jp TextScriptEnd
-
-UnnamedText_19191: ; 0x19191
-	TX_FAR _UnnamedText_19191
-	db $50
-; 0x19191 + 5 bytes
-
-ViridianCityText6: ; 0x19196
-	db $08 ; asm
-	ld a, [$d74c]
-	bit 1, a
-	jr nz, .asm_4e5a0 ; 0x1919c
-	ld hl, UnnamedText_191ca
-	call PrintText
-	ld bc, (TM_42 << 8) | 1
-	call GiveItem
-	jr nc, .asm_b655e ; 0x191aa
-	ld hl, ReceivedTM42Text
-	call PrintText
-	ld hl, $d74c
-	set 1, [hl]
-	jr .asm_3c73c ; 0x191b7
-.asm_b655e ; 0x191b9
-	ld hl, UnnamedText_191da
-	call PrintText
-	jr .asm_3c73c ; 0x191bf
-.asm_4e5a0 ; 0x191c1
-	ld hl, UnnamedText_191d5
-	call PrintText
-.asm_3c73c ; 0x191c7
-	jp TextScriptEnd
-
-UnnamedText_191ca: ; 0x191ca
-	TX_FAR _UnnamedText_191ca
-	db $50
-; 0x191ca + 5 bytes
-
-ReceivedTM42Text: ; 0x191cf
-	TX_FAR _ReceivedTM42Text ; 0xa469a
-	db $10, $50
-; 0x191cf + 6 bytes = 0x191d5
-
-UnnamedText_191d5: ; 0x191d5
-	TX_FAR _UnnamedText_191d5
-	db $50
-; 0x191d5 + 5 bytes
-
-UnnamedText_191da: ; 0x191da
-	TX_FAR _UnnamedText_191da
-	db $50
-; 0x191da + 5 bytes
-
-ViridianCityText7: ; 0x191df
-	db $08 ; asm
-	ld hl, UnnamedText_1920a
-	call PrintText
-	ld c, $2
-	call $3739
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr z, .asm_42f68 ; 0x191f2
-	ld hl, UnnamedText_1920f
-	call PrintText
-	ld a, $1
-	ld [$d5f4], a
-	jr .asm_2413a ; 0x191ff
-.asm_42f68 ; 0x19201
-	ld hl, UnnamedText_19214
-	call PrintText
-.asm_2413a ; 0x19207
-	jp TextScriptEnd
-
-UnnamedText_1920a: ; 0x1920a
-	TX_FAR _UnnamedText_1920a
-	db $50
-; 0x1920a + 5 bytes
-
-UnnamedText_1920f: ; 0x1920f
-	TX_FAR _UnnamedText_1920f
-	db $50
-; 0x1920f + 5 bytes
-
-UnnamedText_19214: ; 0x19214
-	TX_FAR _UnnamedText_19214
-	db $50
-; 0x19214 + 5 bytes
-
-ViridianCityText15: ; 0x19219
-	TX_FAR _UnnamedText_19219
-	db $50
-; 0x19219 + 5 bytes
-
-ViridianCityText8: ; 0x1921e
-	TX_FAR _ViridianCityText8
-	db $50
-
-ViridianCityText9: ; 0x19223
-	TX_FAR _ViridianCityText9
-	db $50
-
-ViridianCityText10: ; 0x19228
-	TX_FAR _ViridianCityText10
-	db $50
-
-ViridianCityText13: ; 0x1922d
-	TX_FAR _ViridianCityText13
-	db $50
-
-ViridianCityText14:
-
-UnnamedText_19232: ; 0x19232
-	TX_FAR _UnnamedText_19232
-	db $50
-; 0x19232 + 5 bytes
-
-PewterCityScript: ; 0x19237
-	call $3c3c
-	ld hl, PewterCityScripts
-	ld a, [$d5f7]
-	jp $3d97
-; 0x19243
-
-PewterCityScripts: ; 0x19243
-	dw PewterCityScript0
-
-INCBIN "baserom.gbc",$19245,$c
-
-PewterCityScript0: ; 0x19251
-	xor a
-	ld [$d619], a
-	ld hl, $d754
-	res 0, [hl]
-	call $525e
-	ret
-; 0x1925e
-
-INCBIN "baserom.gbc",$1925e,$12d
-
-PewterCityTexts: ; 0x1938b
-	dw PewterCityText1, PewterCityText2, PewterCityText3, PewterCityText4, PewterCityText5, PewterCityText6, PewterCityText7, PewterCityText8, PewterCityText9, PewterCityText10, PewterCityText11, PewterCityText12, PewterCityText13, PewterCityText14
-
-PewterCityText1: ; 0x193a7
-	TX_FAR _PewterCityText1
-	db $50
-
-PewterCityText2: ; 0x193ac
-	TX_FAR _PewterCityText2
-	db $50
-
-PewterCityText3: ; 0x193b1
-	db $08 ; asm
-	ld hl, UnnamedText_193f1
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_f46a9 ; 0x193bf
-	ld hl, UnnamedText_193f6
-	call PrintText
-	jr .asm_ac429 ; 0x193c7
-.asm_f46a9 ; 0x193c9
-	ld hl, UnnamedText_193fb
-	call PrintText
-	xor a
-	ldh [$b3], a
-	ldh [$b4], a
-	ld [$cf10], a
-	ld a, $2
-	ld [$cc57], a
-	ldh a, [$b8]
-	ld [$cc58], a
-	ld a, $3
-	ld [$cf13], a
-	call $32f4
-	ld a, $1
-	ld [$d5f7], a
-.asm_ac429 ; 0x193ee
-	jp TextScriptEnd
-
-UnnamedText_193f1: ; 0x193f1
-	TX_FAR _UnnamedText_193f1
-	db $50
-; 0x193f1 + 5 bytes
-
-UnnamedText_193f6: ; 0x193f6
-	TX_FAR _UnnamedText_193f6
-	db $50
-; 0x193f6 + 5 bytes
-
-UnnamedText_193fb: ; 0x193fb
-	TX_FAR _UnnamedText_193fb
-	db $50
-; 0x193fb + 5 bytes
-
-PewterCityText13:
-
-UnnamedText_19400: ; 0x19400
-	TX_FAR _UnnamedText_19400
-	db $50
-; 0x19400 + 5 bytes
-
-PewterCityText4: ; 0x19405
-	db $8
-	ld hl, UnnamedText_19427
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	cp $0
-	jr nz, .asm_e4603
-	ld hl, UnnamedText_1942c
-	call PrintText
-	jr .asm_e4604 ; 0x1941c $6
-.asm_e4603
-	ld hl, UnnamedText_19431
-	call PrintText
-.asm_e4604 ; 0x19424
-	jp TextScriptEnd
-; 0x19427
-
-UnnamedText_19427: ; 0x19427
-	TX_FAR _UnnamedText_19427
-	db $50
-; 0x19427 + 5 bytes
-
-UnnamedText_1942c: ; 0x1942c
-	TX_FAR _UnnamedText_1942c
-	db $50
-; 0x1942c + 5 bytes
-
-UnnamedText_19431: ; 0x19431
-	TX_FAR _UnnamedText_19431
-	db $50
-; 0x19431 + 5 bytes
-
-PewterCityText5: ; 0x19436
-	db $08 ; asm
-	ld hl, UnnamedText_1945d
-	call PrintText
-	xor a
-	ldh [$b4], a
-	ld [$cf10], a
-	ld a, $3
-	ld [$cc57], a
-	ldh a, [$b8]
-	ld [$cc58], a
-	ld a, $5
-	ld [$cf13], a
-	call $32f4
-	ld a, $4
-	ld [$d5f7], a
-	jp TextScriptEnd
-
-UnnamedText_1945d: ; 0x1945d
-	TX_FAR _UnnamedText_1945d
-	db $50
-; 0x1945d + 5 bytes
-
-PewterCityText14: ; 0x19462
-
-UnnamedText_19462: ; 0x19462
-	TX_FAR _UnnamedText_19462
-	db $50
-; 0x19462 + 5 bytes
-
-PewterCityText6: ; 0x19467
-	TX_FAR _PewterCityText6
-	db $50
-
-PewterCityText7: ; 0x1946c
-	TX_FAR _PewterCityText7
-	db $50
-
-PewterCityText10: ; 0x19471
-	TX_FAR _PewterCityText10
-	db $50
-
-PewterCityText11: ; 0x19476
-	TX_FAR _PewterCityText11
-	db $50
-
-PewterCityText12: ; 0x1947b
-	TX_FAR _PewterCityText12
-	db $50
-
-CeruleanCityScript: ; 0x19480
-	call $3c3c
-	ld hl, CeruleanCityScripts
-	ld a, [$d60f]
-	jp $3d97
-; 0x1948c
-
-INCBIN "baserom.gbc",$1948c,$1949d - $1948c
-
-CeruleanCityScripts: ; 0x1949d
-	dw CeruleanCityScript0, CeruleanCityScript1, CeruleanCityScript2, CeruleanCityScript3
-
-INCBIN "baserom.gbc",$194a5,$23
-
-CeruleanCityScript0: ; 0x194c8
-	ld a, [$d75b]
-	bit 7, a
-	jr nz, .asm_194f7 ; 0x194cd $28
-	ld hl, $554f
-	call $34bf
-	jr nc, .asm_194f7 ; 0x194d5 $20
-	ld a, [$cd3d]
-	cp $1
-	ld a, $8
-	ld b, $0
-	jr nz, .asm_194e6 ; 0x194e0 $4
-	ld a, $4
-	ld b, $4
-.asm_194e6
-	ld [$d528], a
-	ld a, b
-	ld [$c129], a
-	call Delay3
-	ld a, $2
-	ld [$ff00+$8c], a
-	jp $2920
-.asm_194f7
-	ld a, [$d75a]
-	bit 0, a
-	ret nz
-	ld hl, $5554
-	call $34bf
-	ret nc
-	ld a, [$d700]
-	and a
-	jr z, .asm_19512 ; 0x19508 $8
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-.asm_19512
-	ld c, $2
-	ld a, $de
-	call $23a1
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, [$d362]
-	cp $14
-	jr z, .asm_19535 ; 0x19526 $d
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $5
-	ld [$ff00+$8b], a
-	call $3500
-	ld [hl], $19
-.asm_19535
-	ld a, $5
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld de, $5559
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $363a
-	ld a, $1
-	ld [$d60f], a
-	ret
-; 0x1954f
-
-INCBIN "baserom.gbc",$1954f,$19567 - $1954f
-
-CeruleanCityScript1: ; 0x19567
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $566d
-	ld de, $5672
-	call $3354
-	ld a, $e1
-	ld [$d059], a
-
-	; select which team to use during the encounter
-	ld a, [W_RIVALSTARTER]
-	cp SQUIRTLE
-	jr nz, .NotSquirtle\@ ; 0x19592 $4
-	ld a, $7
-	jr .done\@
-.NotSquirtle\@
-	cp BULBASAUR
-	jr nz, .Charmander\@ ; 0x1959a $4
-	ld a, $8
-	jr .done\@
-.Charmander\@
-	ld a, $9
-.done\@
-	ld [W_TRAINERNO], a
-
-	xor a
-	ld [$ff00+$b4], a
-	call $555d
-	ld a, $2
-	ld [$d60f], a
-	ret
-; 0x195b1
-
-CeruleanCityScript2: ; 0x195b1
-	ld a, [$d057]
-	cp $ff
-	jp z, $548c
-	call $555d
-	ld a, $f0
-	ld [$cd6b], a
-	ld hl, $d75a
-	set 0, [hl]
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $3541
-	ld a, [$d362]
-	cp $14
-	jr nz, .asm_195f0 ; 0x195e9 $5
-	ld de, $5608
-	jr .asm_195f3 ; 0x195ee $3
-.asm_195f0
-	ld de, $5600
-.asm_195f3
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $363a
-	ld a, $3
-	ld [$d60f], a
-	ret
-; 0x19600
-
-INCBIN "baserom.gbc",$19600,$19610 - $19600
-
-CeruleanCityScript3: ; 0x19610
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	ld a, $5
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	xor a
-	ld [$cd6b], a
-	call $2307
-	ld a, $0
-	ld [$d60f], a
-	ret
-; 0x1962d
-
-CeruleanCityTexts: ; 0x1962d
-	dw CeruleanCityText1, CeruleanCityText2, CeruleanCityText3, CeruleanCityText4, CeruleanCityText5, CeruleanCityText6, CeruleanCityText7, CeruleanCityText8, CeruleanCityText9, CeruleanCityText10, CeruleanCityText11, CeruleanCityText12, CeruleanCityText13, CeruleanCityText14, CeruleanCityText15, CeruleanCityText16, CeruleanCityText17
-
-CeruleanCityText1: ; 0x1964f
-	db $08 ; asm
-	ld a, [$d75a]
-	bit 0, a
-	jr z, .asm_a89f9 ; 0x19655
-	ld hl, UnnamedText_19677
-	call PrintText
-	jr .asm_815c6 ; 0x1965d
-.asm_a89f9 ; 0x1965f
-	ld hl, UnnamedText_19668
-	call PrintText
-.asm_815c6 ; 0x19665
-	jp TextScriptEnd
-
-UnnamedText_19668: ; 0x19668
-	TX_FAR _UnnamedText_19668
-	db $50
-; 0x19668 + 5 bytes
-
-UnnamedText_1966d: ; 0x1966d
-	TX_FAR _UnnamedText_1966d
-	db $50
-; 0x1966d + 5 bytes
-
-UnnamedText_19672: ; 0x19672
-	TX_FAR _UnnamedText_19672
-	db $50
-; 0x19672 + 5 bytes
-
-UnnamedText_19677: ; 0x19677
-	TX_FAR _UnnamedText_19677
-	db $50
-; 0x19677 + 5 bytes
-
-CeruleanCityText2: ; 0x1967c
-	db $8
-	ld a, [$d75b]
-	bit 7, a
-	jr nz, .asm_4ca20 ; 0x19682 $29
-	ld hl, UnnamedText_196d9
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $56ee
-	ld de, $56ee
-	call $3354
-	ld a, [$ff00+$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $4
-	ld [$d60f], a
-	jp TextScriptEnd
-.asm_4ca20 ; 0x196ad
-	ld hl, UnnamedText_196f3
-	call PrintText
-	ld bc, $e401
-	call GiveItem
-	jr c, .asm_8bbbd ; 0x196b9 $8
-	ld hl, UnnamedText_196e9
-	call PrintText
-	jr .asm_e4e6f ; 0x196c1 $13
-.asm_8bbbd ; 0x196c3
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, UnnamedText_196de
-	call PrintText
-	ld b, $1d
-	ld hl, Unnamed_ASM_74872
-	call Bankswitch
-.asm_e4e6f ; 0x196d6
-	jp TextScriptEnd
-; 0x196d9
-
-UnnamedText_196d9: ; 0x196d9
-	TX_FAR _UnnamedText_196d9
-	db $50
-; 0x196d9 + 5 bytes
-
-UnnamedText_196de: ; 0x196de
-	TX_FAR ReceivedTM28Text ; 0xa4f82
-	db $0B
-	TX_FAR UnnamedText_a4f96 ; 0xa4f96
-	db $0D, $50
-; 0x196e9
-
-UnnamedText_196e9: ; 0x196e9
-	TX_FAR _UnnamedText_196e9
-	db $50
-; 0x196e9 + 5 bytes
-
-UnnamedText_196ee: ; 0x196ee
-	TX_FAR _UnnamedText_196ee
-	db $50
-; 0x196ee + 5 bytes
-
-UnnamedText_196f3: ; 0x196f3
-	TX_FAR _UnnamedText_196f3
-	db $50
-; 0x196f3 + 5 bytes
-
-CeruleanCityText3: ; 0x196f8
-	TX_FAR _CeruleanCityText3
-	db $50
-
-CeruleanCityText4: ; 0x196fd
-	TX_FAR _CeruleanCityText4
-	db $50
-
-CeruleanCityText5: ; 0x19702
-	TX_FAR _CeruleanCityText5
-	db $50
-
-CeruleanCityText11:
-CeruleanCityText6: ; 0x19707
-	TX_FAR _CeruleanCityText6
-	db $50
-
-CeruleanCityText7: ; 0x1970c
-	db $08 ; asm
-	ldh a, [$d3]
-	cp $b4
-	jr c, .asm_e9fc9 ; 0x19711
-	ld hl, UnnamedText_19730
-	call PrintText
-	jr .asm_d486e ; 0x19719
-.asm_e9fc9 ; 0x1971b
-	cp $64
-	jr c, .asm_df99b ; 0x1971d
-	ld hl, UnnamedText_19735
-	call PrintText
-	jr .asm_d486e ; 0x19725
-.asm_df99b ; 0x19727
-	ld hl, UnnamedText_1973a
-	call PrintText
-.asm_d486e ; 0x1972d
-	jp TextScriptEnd
-
-UnnamedText_19730: ; 0x19730
-	TX_FAR _UnnamedText_19730
-	db $50
-; 0x19730 + 5 bytes
-
-UnnamedText_19735: ; 0x19735
-	TX_FAR _UnnamedText_19735
-	db $50
-; 0x19735 + 5 bytes
-
-UnnamedText_1973a: ; 0x1973a
-	TX_FAR _UnnamedText_1973a
-	db $50
-; 0x1973a + 5 bytes
-
-CeruleanCityText8: ; 0x1973f
-	db $08 ; asm
-	ldh a, [$d3]
-	cp $b4
-	jr c, .asm_e28da ; 0x19744
-	ld hl, UnnamedText_1976f
-	call PrintText
-	jr .asm_f2f38 ; 0x1974c
-.asm_e28da ; 0x1974e
-	cp $78
-	jr c, .asm_15d08 ; 0x19750
-	ld hl, UnnamedText_19774
-	call PrintText
-	jr .asm_f2f38 ; 0x19758
-.asm_15d08 ; 0x1975a
-	cp $3c
-	jr c, .asm_d7fea ; 0x1975c
-	ld hl, UnnamedText_19779
-	call PrintText
-	jr .asm_f2f38 ; 0x19764
-.asm_d7fea ; 0x19766
-	ld hl, UnnamedText_1977e
-	call PrintText
-.asm_f2f38 ; 0x1976c
-	jp TextScriptEnd
-
-UnnamedText_1976f: ; 0x1976f
-	TX_FAR _UnnamedText_1976f
-	db $50
-; 0x1976f + 5 bytes
-
-UnnamedText_19774: ; 0x19774
-	TX_FAR _UnnamedText_19774
-	db $50
-; 0x19774 + 5 bytes
-
-UnnamedText_19779: ; 0x19779
-	TX_FAR _UnnamedText_19779
-	db $50
-; 0x19779 + 5 bytes
-
-UnnamedText_1977e: ; 0x1977e
-	TX_FAR _UnnamedText_1977e
-	db $50
-; 0x1977e + 5 bytes
-
-CeruleanCityText9: ; 0x19783
-	TX_FAR _CeruleanCityText9
-	db $50
-
-CeruleanCityText10: ; 0x19788
-	TX_FAR _CeruleanCityText10
-	db $50
-
-CeruleanCityText12: ; 0x1978d
-	TX_FAR _CeruleanCityText12
-	db $50
-
-CeruleanCityText13: ; 0x19792
-	TX_FAR _CeruleanCityText13
-	db $50
-
-CeruleanCityText16: ; 0x19797
-	TX_FAR _CeruleanCityText16
-	db $50
-
-CeruleanCityText17: ; 0x1979c
-	TX_FAR _CeruleanCityText17
-	db $50
-
-VermilionCityScript: ; 0x197a1
-	call $3c3c
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	push hl
-	call nz, $57cb
-	pop hl
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, VermilionCityScript_Unknown197c0
-	ld hl, VermilionCityScripts
-	ld a, [$d62a]
-	jp $3d97
-; 0x197c0
-
-VermilionCityScript_Unknown197c0: ; 0x197c0
-INCBIN "baserom.gbc",$197c0,$197dc - $197c0
-
-VermilionCityScripts: ; 0x197dc
-	dw VermilionCityScript0, VermilionCityScript1
-
-INCBIN "baserom.gbc",$197e0,$6
-
-VermilionCityScript0: ; 0x197e6
-	ld a, [$c109]
-	and a
-	ret nz
-	ld hl, $5823
-	call $34bf
-	ret nc
-	xor a
-	ld [$ff00+$b4], a
-	ld [$cf0d], a
-	ld a, $3
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, [$d803]
-	bit 2, a
-	jr nz, .asm_19810 ; 0x19804 $a
-	ld b, $3f
-	ld a, $1c
-	call Predef
-	ld a, b
-	and a
-	ret nz
-.asm_19810
-	ld a, $40
-	ld [$ccd3], a
-	ld a, $1
-	ld [$cd38], a
-	call $3486
-	ld a, $1
-	ld [$d62a], a
-	ret
-; 0x19823
-
-INCBIN "baserom.gbc",$19823,$1985f - $19823
-
-VermilionCityScript1: ; 0x1985f
-	ld a, [$cd38]
-	and a
-	ret nz
-	ld c, $a
-	call $3739
-	ld a, $0
-	ld [$d62a], a
-	ret
-; 0x1986f
-
-VermilionCityTexts: ; 0x1986f
-	dw VermilionCityText1, VermilionCityText2, VermilionCityText3, VermilionCityText4, VermilionCityText5, VermilionCityText6, VermilionCityText7, VermilionCityText8, VermilionCityText9, VermilionCityText10, VermilionCityText11, VermilionCityText12, VermilionCityText13
-
-VermilionCityText1: ; 0x19889
-	TX_FAR _VermilionCityText1
-	db $50
-
-VermilionCityText2: ; 0x1988e
-	db $08 ; asm
-	ld a, [$d803]
-	bit 2, a
-	jr nz, .asm_359bd ; 0x19894
-	ld hl, UnnamedText_198a7
-	call PrintText
-	jr .asm_735d9 ; 0x1989c
-.asm_359bd ; 0x1989e
-	ld hl, UnnamedText_198ac
-	call PrintText
-.asm_735d9 ; 0x198a4
-	jp TextScriptEnd
-
-UnnamedText_198a7: ; 0x198a7
-	TX_FAR _UnnamedText_198a7
-	db $50
-; 0x198a7 + 5 bytes
-
-UnnamedText_198ac: ; 0x198ac
-	TX_FAR _UnnamedText_198ac
-	db $50
-; 0x198ac + 5 bytes
-
-VermilionCityText3: ; 0x198b1
-	db $08 ; asm
-	ld a, [$d803]
-	bit 2, a
-	jr nz, .asm_3e0e9 ; 0x198b7
-	ld a, [$c109]
-	cp $c
-	jr z, .asm_07af3 ; 0x198be
-	ld hl, $58ff
-	call $34bf
-	jr nc, .asm_57b73 ; 0x198c6
-.asm_07af3 ; 0x198c8
-	ld hl, UnnamedText_19904
-	call PrintText
-	jr .asm_79bd1 ; 0x198ce
-.asm_57b73 ; 0x198d0
-	ld hl, UnnamedText_19909
-	call PrintText
-	ld b, $3f
-	ld a, $1c
-	call Predef
-	ld a, b
-	and a
-	jr nz, .asm_0419b ; 0x198df
-	ld hl, UnnamedText_19913
-	call PrintText
-	jr .asm_79bd1 ; 0x198e7
-.asm_0419b ; 0x198e9
-	ld hl, UnnamedText_1990e
-	call PrintText
-	ld a, $4
-	ld [$d62a], a
-	jr .asm_79bd1 ; 0x198f4
-.asm_3e0e9 ; 0x198f6
-	ld hl, UnnamedText_19918
-	call PrintText
-.asm_79bd1 ; 0x198fc
-	jp TextScriptEnd
-
-INCBIN "baserom.gbc",$198ff,$19904 - $198ff
-
-UnnamedText_19904: ; 0x19904
-	TX_FAR _UnnamedText_19904
-	db $50
-; 0x19904 + 5 bytes
-
-UnnamedText_19909: ; 0x19909
-	TX_FAR _UnnamedText_19909
-	db $50
-; 0x19909 + 5 bytes
-
-UnnamedText_1990e: ; 0x1990e
-	TX_FAR _UnnamedText_1990e
-	db $50
-; 0x1990e + 5 bytes
-
-UnnamedText_19913: ; 0x19913
-	TX_FAR _UnnamedText_19913
-	db $50
-; 0x19913 + 5 bytes
-
-UnnamedText_19918: ; 0x19918
-	TX_FAR _UnnamedText_19918
-	db $50
-; 0x19918 + 5 bytes
-
-VermilionCityText4: ; 0x1991d
-	TX_FAR _VermilionCityText4
-	db $50
-
-VermilionCityText5: ; 0x19922
-	TX_FAR _VermilionCityText5
-	db $08 ; asm
-	ld a, $6a
-	call $13d0
-	call $3748
-	ld hl, $5933
-	ret
-
-VermilionCityText14: ; 0x19933
-	TX_FAR _VermilionCityText14
-	db $50
-
-VermilionCityText6: ; 0x19938
-	TX_FAR _VermilionCityText6
-	db $50
-
-VermilionCityText7: ; 0x1993d
-	TX_FAR _VermilionCityText7
-	db $50
-
-VermilionCityText8: ; 0x19942
-	TX_FAR _VermilionCityText8
-	db $50
-
-VermilionCityText11: ; 0x19947
-	TX_FAR _VermilionCityText11
-	db $50
-
-VermilionCityText12: ; 0x1994c
-	TX_FAR _VermilionCityText12
-	db $50
-
-VermilionCityText13: ; 0x19951
-	TX_FAR _VermilionCityText13
-	db $50
-
-CeladonCityScript: ; 0x19956
-	call $3c3c
-	ld hl, $d77e
-	res 0, [hl]
-	res 7, [hl]
-	ld hl, $d816
-	res 7, [hl]
-	ret
-; 0x19966
-
-CeladonCityTexts: ; 0x19966
-	dw CeladonCityText1, CeladonCityText2, CeladonCityText3, CeladonCityText4, CeladonCityText5, CeladonCityText6, CeladonCityText7, CeladonCityText8, CeladonCityText9, CeladonCityText10, CeladonCityText11, CeladonCityText12, CeladonCityText13, CeladonCityText14, CeladonCityText15, CeladonCityText16, CeladonCityText17, CeladonCityText18
-
-CeladonCityText1: ; 0x1998a
-	TX_FAR _CeladonCityText1
-	db $50
-
-CeladonCityText2: ; 0x1998f
-	TX_FAR _CeladonCityText2
-	db $50
-
-CeladonCityText3: ; 0x19994
-	TX_FAR _CeladonCityText3
-	db $50
-
-CeladonCityText4: ; 0x19999
-	TX_FAR _CeladonCityText4
-	db $50
-
-CeladonCityText5: ; 0x1999e
-	db $08 ; asm
-	ld a, [$d777]
-	bit 0, a
-	jr nz, .asm_7053f ; 0x199a4
-	ld hl, UnnamedText_199d2
-	call PrintText
-	ld bc, (TM_41 << 8) | 1
-	call GiveItem
-	jr c, .asm_890ec ; 0x199b2
-	ld hl, UnnamedText_199e2
-	call PrintText
-	jr .asm_c765a ; 0x199ba
-.asm_890ec ; 0x199bc
-	ld hl, UnnamedText_199d7
-	call PrintText
-	ld hl, $d777
-	set 0, [hl]
-	jr .asm_c765a ; 0x199c7
-.asm_7053f ; 0x199c9
-	ld hl, UnnamedText_199dd
-	call PrintText
-.asm_c765a ; 0x199cf
-	jp TextScriptEnd
-
-UnnamedText_199d2: ; 0x199d2
-	TX_FAR _UnnamedText_199d2
-	db $50
-; 0x199d2 + 5 bytes
-
-UnnamedText_199d7: ; 0x199d7
-	TX_FAR _UnnamedText_199d7 ; 0xa5b5a
-	db $0B, $50
-; 0x199d7 + 6 bytes = 0x199dd
-
-UnnamedText_199dd: ; 0x199dd
-	TX_FAR _UnnamedText_199dd
-	db $50
-; 0x199dd + 5 bytes
-
-UnnamedText_199e2: ; 0x199e2
-	TX_FAR _UnnamedText_199e2
-	db $50
-; 0x199e2 + 5 bytes
-
-CeladonCityText6: ; 0x199e7
-	TX_FAR _CeladonCityText6
-	db $50
-
-CeladonCityText7: ; 0x199ec
-	TX_FAR _CeladonCityText7
-	db $08 ; asm
-	ld a, $6f
-	call $13d0
-	jp TextScriptEnd
-
-CeladonCityText8: ; 0x199f9
-	TX_FAR _CeladonCityText8
-	db $50
-
-CeladonCityText9: ; 0x199fe
-	TX_FAR _CeladonCityText9
-	db $50
-
-CeladonCityText10: ; 0x19a03
-	TX_FAR _CeladonCityText10
-	db $50
-
-CeladonCityText11: ; 0x19a08
-	TX_FAR _CeladonCityText11
-	db $50
-
-CeladonCityText13: ; 0x19a0d
-	TX_FAR _CeladonCityText13
-	db $50
-
-CeladonCityText14: ; 0x19a12
-	TX_FAR _CeladonCityText14
-	db $50
-
-CeladonCityText15: ; 0x19a17
-	TX_FAR _CeladonCityText15
-	db $50
-
-CeladonCityText16: ; 0x19a1c
-	TX_FAR _CeladonCityText16
-	db $50
-
-CeladonCityText17: ; 0x19a21
-	TX_FAR _CeladonCityText17
-	db $50
-
-CeladonCityText18: ; 0x19a26
-	TX_FAR _CeladonCityText18
-	db $50
-
-FuchsiaCityScript: ; 0x19a2b
-	jp $3c3c
-; 0x19a2e
-
-FuchsiaCityTexts: ; 0x19a2e
-	dw FuchsiaCityText1, FuchsiaCityText2, FuchsiaCityText3, FuchsiaCityText4, FuchsiaCityText5, FuchsiaCityText6, FuchsiaCityText7, FuchsiaCityText8, FuchsiaCityText9, FuchsiaCityText10, FuchsiaCityText11, FuchsiaCityText12, FuchsiaCityText13, FuchsiaCityText14, FuchsiaCityText15, FuchsiaCityText16, FuchsiaCityText17, FuchsiaCityText18, FuchsiaCityText19, FuchsiaCityText20, FuchsiaCityText21, FuchsiaCityText22, FuchsiaCityText23, FuchsiaCityText24
-
-FuchsiaCityText1: ; 0x19a5e
-	TX_FAR _FuchsiaCityText1
-	db $50
-
-FuchsiaCityText2: ; 0x19a63
-	TX_FAR _FuchsiaCityText2
-	db $50
-
-FuchsiaCityText3: ; 0x19a68
-	TX_FAR _FuchsiaCityText3
-	db $50
-
-FuchsiaCityText4: ; 0x19a6d
-	TX_FAR _FuchsiaCityText4
-	db $50
-
-FuchsiaCityText5: ; 0x19a72
-FuchsiaCityText6:
-FuchsiaCityText7:
-FuchsiaCityText8:
-FuchsiaCityText9:
-FuchsiaCityText10: ; 0x19a72
-	TX_FAR _FuchsiaCityText5
-	db $50
-
-FuchsiaCityText12:
-FuchsiaCityText11: ; 0x19a77
-	TX_FAR _FuchsiaCityText11
-	db $50
-
-FuchsiaCityText13: ; 0x19a7c
-	TX_FAR _FuchsiaCityText13
-	db $50
-
-FuchsiaCityText16: ; 0x19a81
-	TX_FAR _FuchsiaCityText16
-	db $50
-
-FuchsiaCityText17: ; 0x19a86
-	TX_FAR _FuchsiaCityText17
-	db $50
-
-FuchsiaCityText18: ; 0x19a8b
-	TX_FAR _FuchsiaCityText18
-	db $50
-
-FuchsiaCityText19: ; 0x19a90
-	db $08 ; asm
-	ld hl, UnnamedText_19a9f
-	call PrintText
-	ld a, $28
-	call $349b
-	jp TextScriptEnd
-
-UnnamedText_19a9f: ; 0x19a9f
-	TX_FAR _UnnamedText_19a9f
-	db $50
-; 0x19a9f + 5 bytes
-
-FuchsiaCityText20: ; 0x19aa4
-	db $08 ; asm
-	ld hl, UnnamedText_19ab3
-	call PrintText
-	ld a, $6
-	call $349b
-	jp TextScriptEnd
-
-UnnamedText_19ab3: ; 0x19ab3
-	TX_FAR _UnnamedText_19ab3
-	db $50
-; 0x19ab3 + 5 bytes
-
-FuchsiaCityText21: ; 0x19ab8
-	db $08 ; asm
-	ld hl, UnnamedText_19ac7
-	call PrintText
-	ld a, $2
-	call $349b
-	jp TextScriptEnd
-
-UnnamedText_19ac7: ; 0x19ac7
-	TX_FAR _UnnamedText_19ac7
-	db $50
-; 0x19ac7 + 5 bytes
-
-FuchsiaCityText22: ; 0x19acc
-	db $08 ; asm
-	ld hl, UnnamedText_19adb
-	call PrintText
-	ld a, $25
-	call $349b
-	jp TextScriptEnd
-
-UnnamedText_19adb: ; 0x19adb
-	TX_FAR _UnnamedText_19adb
-	db $50
-; 0x19adb + 5 bytes
-
-FuchsiaCityText23: ; 0x19ae0
-	db $08 ; asm
-	ld hl, UnnamedText_19aef
-	call PrintText
-	ld a, $13
-	call $349b
-	jp TextScriptEnd
-
-UnnamedText_19aef: ; 0x19aef
-	TX_FAR _UnnamedText_19aef
-	db $50
-; 0x19aef + 5 bytes
-
-FuchsiaCityText24: ; 0x19af4
-	db $08 ; asm
-	ld a, [$d7f6]
-	bit 6, a
-	jr nz, .asm_3b4e8 ; 0x19afa
-	bit 7, a
-	jr nz, .asm_667d5 ; 0x19afe
-	ld hl, UnnamedText_19b2a
-	call PrintText
-	jr .asm_4343f ; 0x19b06
-.asm_3b4e8 ; 0x19b08
-	ld hl, UnnamedText_19b20
-	call PrintText
-	ld a, $62
-	jr .asm_81556 ; 0x19b10
-.asm_667d5 ; 0x19b12
-	ld hl, UnnamedText_19b25
-	call PrintText
-	ld a, $5a
-.asm_81556 ; 0x19b1a
-	call $349b
-.asm_4343f ; 0x19b1d
-	jp TextScriptEnd
-
-UnnamedText_19b20: ; 0x19b20
-	TX_FAR _UnnamedText_19b20
-	db $50
-; 0x19b20 + 5 bytes
-
-UnnamedText_19b25: ; 0x19b25
-	TX_FAR _UnnamedText_19b25
-	db $50
-; 0x19b25 + 5 bytes
-
-UnnamedText_19b2a: ; 0x19b2a
-	TX_FAR _UnnamedText_19b2a
-	db $50
-; 0x19b2a + 5 bytes
-
-BluesHouse_h: ; 0x19b2f id=39
-	db $08 ; tileset
-	db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions
-	dw BluesHouseBlocks, BluesHouseTexts, BluesHouseScript
-	db 0
-	dw BluesHouseObject
-
-BluesHouseScript: ; 0x19b3b
-	call $3C3C
-	ld hl,BluesHouseScriptPointers
-	ld a,[$D5F3]
-	jp $3D97
-
-BluesHouseScriptPointers: ; 0x19b47
-	dw BluesHouseScript1,BluesHouseScript2
-
-BluesHouseScript1: ; 0x19b4a
-	ld hl,$D74A
-	set 1,[hl]
-
-	; trigger the next script
-	ld a,1
-	ld [$D5F3],a
-	ret
-
-BluesHouseScript2: ; 0x19B56
-	ret
-
-BluesHouseTexts: ; 0x19B57
-	dw BluesHouseText1,BluesHouseText2,BluesHouseText3
-
-BluesHouseText1: ; 5B5D 0x19B5D
-	db 8
-	ld a,[$D74A]
-	bit 0,a
-	jr nz,.GotMap\@
-	ld a,[$D74B]
-	bit 5,a
-	jr nz,.GiveMap\@
-	ld hl,DaisyInitialText
-	call PrintText
-	jr .done\@
-.GiveMap\@
-	ld hl,DaisyOfferMapText
-	call PrintText
-	ld bc,(TOWN_MAP << 8) | 1
-	call $3E2E
-	jr nc,.BagFull\@
-	ld a,$29
-	ld [$CC4D],a
-	ld a,$11
-	call Predef ; hide table map object
-	ld hl,GotMapText
-	call PrintText
-	ld hl,$D74A
-	set 0,[hl]
-	jr .done\@
-.GotMap\@
-	ld hl,DaisyUseMapText
-	call PrintText
-	jr .done\@
-.BagFull\@
-	ld hl,DaisyBagFullText
-	call PrintText
-.done\@
-	jp TextScriptEnd
-
-DaisyInitialText: ; 0x19baa
-	TX_FAR _DaisyInitialText
-	db "@"
-
-DaisyOfferMapText: ; 0x19baf
-	TX_FAR _DaisyOfferMapText
-	db "@"
-
-GotMapText: ; 0x19bb4
-	TX_FAR _GotMapText
-	db $11,"@"
-
-DaisyBagFullText: ; 0x19bba
-	TX_FAR _DaisyBagFullText
-	db "@"
-
-DaisyUseMapText: ; 0x19bbf
-	TX_FAR _DaisyUseMapText
-	db "@"
-
-BluesHouseText2: ; 0x19bc4 Daisy, walking around
-	TX_FAR _BluesHouseText2
-	db "@"
-
-BluesHouseText3: ; 0x19bc9 map on table
-	TX_FAR _BluesHouseText3
-	db "@"
-
-BluesHouseObject: ; 0x19bce
-	db $0A ; border tile
-
-	db 2 ; warps
-	db 7,2,1,$FF
-	db 7,3,1,$FF
-
-	db 0 ; signs
-
-	db 3 ; people
-	db $11,4+3,4+2,$FF,$D3,1 ; Daisy, sitting by map
-	db $11,4+4,4+6,$FE,1,ITEM|2,0 ; map on table
-	db $41,4+3,4+3,$FF,$FF,ITEM|3,0 ; Daisy, walking around
-
-	; warp-to
-	dw $C712
-	db 7,2
-
-	dw $C712
-	db 7,3
-
-BluesHouseBlocks: ; 0x19bf6
-	INCBIN "maps/blueshouse.blk"
-
-VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196)
-	db $08 ; tileset
-	db VERMILION_HOUSE_3_HEIGHT, VERMILION_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw VermilionHouse3Blocks, VermilionHouse3Texts, VermilionHouse3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionHouse3Object ; objects
-
-VermilionHouse3Script: ; 0x19c12
-	jp $3c3c
-; 0x19c15
-
-VermilionHouse3Texts: ; 0x19c15
-	dw VermilionHouse3Text1
-
-VermilionHouse3Text1: ; 0x19c17
-	db $08 ; asm
-	ld a, $4
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-	jp TextScriptEnd
-
-VermilionHouse3Object: ; 0x19c25 (size=26)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $7, $ff
-	db $7, $3, $7, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_LITTLE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-VermilionHouse3Blocks: ; 0x19c3f 16
-	INCBIN "maps/vermilionhouse3.blk"
-
-IndigoPlateauLobby_h: ; 0x19c4f to 0x19c5b (12 bytes) (bank=6) (id=174)
-	db $02 ; tileset
-	db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x)
-	dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTexts, IndigoPlateauLobbyScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw IndigoPlateauLobbyObject ; objects
-
-IndigoPlateauLobbyScript: ; 0x19c5b
-	call $22fa
-	call $3c3c
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	ret z
-	ld hl, $d869
-	res 7, [hl]
-	ld hl, $d734
-	bit 1, [hl]
-	res 1, [hl]
-	ret z
-	ld hl, $d863
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ret
-; 0x19c7f
-
-IndigoPlateauLobbyTexts: ; 0x19c7f
-	dw IndigoPlateauLobbyText1, IndigoPlateauLobbyText2, IndigoPlateauLobbyText3, IndigoPlateauLobbyText4, IndigoPlateauLobbyText5
-
-IndigoPlateauLobbyText1: ; 0x19c8a
-	db $ff
-
-IndigoPlateauLobbyText2: ; 0x19c8b
-	TX_FAR _IndigoPlateauLobbyText1
-	db $50
-
-INCBIN "baserom.gbc",$19c8f,$19c8f - $19c8f
-
-IndigoPlateauLobbyText3: ; 0x19c8f
-	TX_FAR _IndigoPlateauLobbyText3
-	db $50
-
-IndigoPlateauLobbyText5: ; 0x19c94
-	db $f6
-
-IndigoPlateauLobbyObject: ; 0x19c95 (size=58)
-	db $0 ; border tile
-
-	db $3 ; warps
-	db $b, $7, $0, $ff
-	db $b, $8, $1, $ff
-	db $0, $8, $0, LORELEIS_ROOM
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_NURSE, $5 + 4, $7 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GYM_HELPER, $9 + 4, $4 + 4, $ff, $d3, $2 ; person
-	db SPRITE_LASS, $1 + 4, $5 + 4, $ff, $d0, $3 ; person
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $4 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $6 + 4, $d + 4, $ff, $d0, $5 ; person
-
-	; warp-to
-	EVENT_DISP $8, $b, $7
-	EVENT_DISP $8, $b, $8
-	EVENT_DISP $8, $0, $8 ; LORELEIS_ROOM
-
-IndigoPlateauLobbyBlocks: ; 0x19ccf 48
-	INCBIN "maps/indigoplateaulobby.blk"
-
-SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209)
-	db $16 ; tileset
-	db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x)
-	dw SilphCo4Blocks, SilphCo4Texts, SilphCo4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo4Object ; objects
-
-SilphCo4Script: ; 0x19d0b
-	call SilphCo4Script_Unknown19d21
-	call $3c3c
-	ld hl, SilphCo4TrainerHeaders
-	ld de, $5d9a
-	ld a, [$d645]
-	call $3160
-	ld [$d645], a
-	ret
-; 0x19d21
-
-SilphCo4Script_Unknown19d21: ; 0x19d21
-INCBIN "baserom.gbc",$19d21,$7f
-
-SilphCo4Texts: ; 0x19da0
-	dw SilphCo4Text1, SilphCo4Text2, SilphCo4Text3, SilphCo4Text4, SilphCo4Text5, SilphCo4Text6, SilphCo4Text7
-
-SilphCo4TrainerHeaders:
-TrainerHeader_19dae: ; 0x19dae
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d829 ; flag's byte
-	dw UnnamedText_19df4 ; 0x5df4 TextBeforeBattle
-	dw UnnamedText_19dfe ; 0x5dfe TextAfterBattle
-	dw UnnamedText_19df9 ; 0x5df9 TextEndBattle
-	dw UnnamedText_19df9 ; 0x5df9 TextEndBattle
-; 0x19dba
-
-TrainerHeader_19dba: ; 0x19dba
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d829 ; flag's byte
-	dw UnnamedText_19e0d ; 0x5e0d TextBeforeBattle
-	dw UnnamedText_19e17 ; 0x5e17 TextAfterBattle
-	dw UnnamedText_19e12 ; 0x5e12 TextEndBattle
-	dw UnnamedText_19e12 ; 0x5e12 TextEndBattle
-; 0x19dc4
-
-TrainerHeader_19dc6: ; 0x19dc6
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d829 ; flag's byte
-	dw UnnamedText_19e26 ; 0x5e26 TextBeforeBattle
-	dw UnnamedText_19e30 ; 0x5e30 TextAfterBattle
-	dw UnnamedText_19e2b ; 0x5e2b TextEndBattle
-	dw UnnamedText_19e2b ; 0x5e2b TextEndBattle
-; 0x19dd2
-
-db $ff
-
-SilphCo4Text1: ; 0x19dd3
-	db $08 ; asm
-	ld hl, $5de0
-	ld de, $5de5
-	call $622f
-	jp TextScriptEnd
-
-UnnamedText_19de0: ; 0x19de0
-	TX_FAR _UnnamedText_19de0
-	db $50
-; 0x19de0 + 5 bytes
-
-UnnamedText_19de5: ; 0x19de5
-	TX_FAR _UnnamedText_19de5
-	db $50
-; 0x19de5 + 5 bytes
-
-SilphCo4Text2: ; 0x19dea
-	db $08 ; asm
-	ld hl, TrainerHeader_19dae
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_19df4: ; 0x19df4
-	TX_FAR _UnnamedText_19df4
-	db $50
-; 0x19df4 + 5 bytes
-
-UnnamedText_19df9: ; 0x19df9
-	TX_FAR _UnnamedText_19df9
-	db $50
-; 0x19df9 + 5 bytes
-
-UnnamedText_19dfe: ; 0x19dfe
-	TX_FAR _UnnamedText_19dfe
-	db $50
-; 0x19dfe + 5 bytes
-
-SilphCo4Text3: ; 0x19e03
-	db $08 ; asm
-	ld hl, TrainerHeader_19dba
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_19e0d: ; 0x19e0d
-	TX_FAR _UnnamedText_19e0d
-	db $50
-; 0x19e0d + 5 bytes
-
-UnnamedText_19e12: ; 0x19e12
-	TX_FAR _UnnamedText_19e12
-	db $50
-; 0x19e12 + 5 bytes
-
-UnnamedText_19e17: ; 0x19e17
-	TX_FAR _UnnamedText_19e17
-	db $50
-; 0x19e17 + 5 bytes
-
-SilphCo4Text4: ; 0x19e1c
-	db $08 ; asm
-	ld hl, TrainerHeader_19dc6
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_19e26: ; 0x19e26
-	TX_FAR _UnnamedText_19e26
-	db $50
-; 0x19e26 + 5 bytes
-
-UnnamedText_19e2b: ; 0x19e2b
-	TX_FAR _UnnamedText_19e2b
-	db $50
-; 0x19e2b + 5 bytes
-
-UnnamedText_19e30: ; 0x19e30
-	TX_FAR _UnnamedText_19e30
-	db $50
-; 0x19e30 + 5 bytes
-
-SilphCo4Object: ; 0x19e35 (size=111)
-	db $2e ; border tile
-
-	db $7 ; warps
-	db $0, $18, $1, SILPH_CO_3F
-	db $0, $1a, $1, SILPH_CO_5F
-	db $0, $14, $0, SILPH_CO_ELEVATOR
-	db $7, $b, $3, SILPH_CO_10F
-	db $3, $11, $3, SILPH_CO_6F
-	db $f, $3, $4, SILPH_CO_10F
-	db $b, $11, $5, SILPH_CO_10F
-
-	db $0 ; signs
-
-	db $7 ; people
-	db SPRITE_LAPRAS_GIVER, $2 + 4, $6 + 4, $ff, $ff, $1 ; person
-	db SPRITE_ROCKET, $e + 4, $9 + 4, $ff, $d3, $42, ROCKET + $C8, $1a ; trainer
-	db SPRITE_OAK_AIDE, $6 + 4, $e + 4, $ff, $d2, $43, SCIENTIST + $C8, $5 ; trainer
-	db SPRITE_ROCKET, $a + 4, $1a + 4, $ff, $d1, $44, ROCKET + $C8, $1b ; trainer
-	db SPRITE_BALL, $9 + 4, $3 + 4, $ff, $ff, $85, FULL_HEAL ; item
-	db SPRITE_BALL, $7 + 4, $4 + 4, $ff, $ff, $86, MAX_REVIVE ; item
-	db SPRITE_BALL, $8 + 4, $5 + 4, $ff, $ff, $87, ESCAPE_ROPE ; item
-
-	; warp-to
-	EVENT_DISP $f, $0, $18 ; SILPH_CO_3F
-	EVENT_DISP $f, $0, $1a ; SILPH_CO_5F
-	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $f, $7, $b ; SILPH_CO_10F
-	EVENT_DISP $f, $3, $11 ; SILPH_CO_6F
-	EVENT_DISP $f, $f, $3 ; SILPH_CO_10F
-	EVENT_DISP $f, $b, $11 ; SILPH_CO_10F
-
-SilphCo4Blocks: ; 0x19ea4 135
-	INCBIN "maps/silphco4.blk"
-
-SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210)
-	db $16 ; tileset
-	db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x)
-	dw SilphCo5Blocks, SilphCo5Texts, SilphCo5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo5Object ; objects
-
-SilphCo5Script: ; 0x19f37
-	call Unnamed_19f4d
-	call $3c3c
-	ld hl, SilphCo5TrainerHeaders
-	ld de, $5fb6
-	ld a, [$d646]
-	call $3160
-	ld [$d646], a
-	ret
-; 0x19f4d
-
-Unnamed_19f4d: ; 0x19f4d
-INCBIN "baserom.gbc",$19f4d,$6f
-
-SilphCo5Texts: ; 0x19fbc
-	dw SilphCo5Text1, SilphCo5Text2, SilphCo5Text3, SilphCo5Text4, SilphCo5Text5, SilphCo5Text6, SilphCo5Text7, SilphCo5Text8, SilphCo5Text9, SilphCo5Text10, SilphCo5Text11
-
-SilphCo5TrainerHeaders:
-TrainerHeader_19fd2: ; 0x19fd2
-	db $2 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d82b ; flag's byte
-	dw UnnamedText_1a024 ; 0x6024 TextBeforeBattle
-	dw UnnamedText_1a02e ; 0x602e TextAfterBattle
-	dw UnnamedText_1a029 ; 0x6029 TextEndBattle
-	dw UnnamedText_1a029 ; 0x6029 TextEndBattle
-; 0x19fde
-
-TrainerHeader_19fde: ; 0x19fde
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d82b ; flag's byte
-	dw UnnamedText_1a03d ; 0x603d TextBeforeBattle
-	dw UnnamedText_1a047 ; 0x6047 TextAfterBattle
-	dw UnnamedText_1a042 ; 0x6042 TextEndBattle
-	dw UnnamedText_1a042 ; 0x6042 TextEndBattle
-; 0x19fea
-
-TrainerHeader_19fea: ; 0x19fea
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d82b ; flag's byte
-	dw UnnamedText_1a056 ; 0x6056 TextBeforeBattle
-	dw UnnamedText_1a060 ; 0x6060 TextAfterBattle
-	dw UnnamedText_1a05b ; 0x605b TextEndBattle
-	dw UnnamedText_1a05b ; 0x605b TextEndBattle
-; 0x19ff4
-
-TrainerHeader_19ff6: ; 0x19ff6
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d82b ; flag's byte
-	dw UnnamedText_1a06f ; 0x606f TextBeforeBattle
-	dw UnnamedText_1a079 ; 0x6079 TextAfterBattle
-	dw UnnamedText_1a074 ; 0x6074 TextEndBattle
-	dw UnnamedText_1a074 ; 0x6074 TextEndBattle
-; 0x1a002
-
-db $ff
-
-SilphCo5Text1: ; 0x1a003
-	db $08 ; asm
-	ld hl, $6010
-	ld de, $6015
-	call $622f
-	jp TextScriptEnd
-
-UnnamedText_1a010: ; 0x1a010
-	TX_FAR _UnnamedText_1a010
-	db $50
-; 0x1a010 + 5 bytes
-
-UnnamedText_1a015: ; 0x1a015
-	TX_FAR _UnnamedText_1a015
-	db $50
-; 0x1a015 + 5 bytes
-
-SilphCo5Text2: ; 0x1a01a
-	db $08 ; asm
-	ld hl, TrainerHeader_19fd2
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a024: ; 0x1a024
-	TX_FAR _UnnamedText_1a024
-	db $50
-; 0x1a024 + 5 bytes
-
-UnnamedText_1a029: ; 0x1a029
-	TX_FAR _UnnamedText_1a029
-	db $50
-; 0x1a029 + 5 bytes
-
-UnnamedText_1a02e: ; 0x1a02e
-	TX_FAR _UnnamedText_1a02e
-	db $50
-; 0x1a02e + 5 bytes
-
-SilphCo5Text3: ; 0x1a033
-	db $08 ; asm
-	ld hl, TrainerHeader_19fde
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a03d: ; 0x1a03d
-	TX_FAR _UnnamedText_1a03d
-	db $50
-; 0x1a03d + 5 bytes
-
-UnnamedText_1a042: ; 0x1a042
-	TX_FAR _UnnamedText_1a042
-	db $50
-; 0x1a042 + 5 bytes
-
-UnnamedText_1a047: ; 0x1a047
-	TX_FAR _UnnamedText_1a047
-	db $50
-; 0x1a047 + 5 bytes
-
-SilphCo5Text4: ; 0x1a04c
-	db $08 ; asm
-	ld hl, TrainerHeader_19fea
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a056: ; 0x1a056
-	TX_FAR _UnnamedText_1a056
-	db $50
-; 0x1a056 + 5 bytes
-
-UnnamedText_1a05b: ; 0x1a05b
-	TX_FAR _UnnamedText_1a05b
-	db $50
-; 0x1a05b + 5 bytes
-
-UnnamedText_1a060: ; 0x1a060
-	TX_FAR _UnnamedText_1a060
-	db $50
-; 0x1a060 + 5 bytes
-
-SilphCo5Text5: ; 0x1a065
-	db $08 ; asm
-	ld hl, TrainerHeader_19ff6
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a06f: ; 0x1a06f
-	TX_FAR _UnnamedText_1a06f
-	db $50
-; 0x1a06f + 5 bytes
-
-UnnamedText_1a074: ; 0x1a074
-	TX_FAR _UnnamedText_1a074
-	db $50
-; 0x1a074 + 5 bytes
-
-UnnamedText_1a079: ; 0x1a079
-	TX_FAR _UnnamedText_1a079
-	db $50
-; 0x1a079 + 5 bytes
-
-SilphCo5Text9: ; 0x1a07e
-	TX_FAR _SilphCo5Text9
-	db $50
-
-SilphCo5Text10: ; 0x1a083
-	TX_FAR _SilphCo5Text10
-	db $50
-
-SilphCo5Text11: ; 0x1a088
-	TX_FAR _SilphCo5Text11
-	db $50
-
-SilphCo5Object: ; 0x1a08d (size=137)
-	db $2e ; border tile
-
-	db $7 ; warps
-	db $0, $18, $1, SILPH_CO_6F
-	db $0, $1a, $1, SILPH_CO_4F
-	db $0, $14, $0, SILPH_CO_ELEVATOR
-	db $3, $1b, $5, SILPH_CO_7F
-	db $f, $9, $4, SILPH_CO_9F
-	db $5, $b, $4, SILPH_CO_3F
-	db $f, $3, $5, SILPH_CO_3F
-
-	db $0 ; signs
-
-	db $b ; people
-	db SPRITE_LAPRAS_GIVER, $9 + 4, $d + 4, $ff, $ff, $1 ; person
-	db SPRITE_ROCKET, $10 + 4, $8 + 4, $ff, $d3, $42, ROCKET + $C8, $1c ; trainer
-	db SPRITE_OAK_AIDE, $3 + 4, $8 + 4, $ff, $d3, $43, SCIENTIST + $C8, $6 ; trainer
-	db SPRITE_ROCKER, $a + 4, $12 + 4, $ff, $d1, $44, JUGGLER + $C8, $1 ; trainer
-	db SPRITE_ROCKET, $4 + 4, $1c + 4, $ff, $d1, $45, ROCKET + $C8, $1d ; trainer
-	db SPRITE_BALL, $d + 4, $2 + 4, $ff, $ff, $86, TM_09 ; item
-	db SPRITE_BALL, $6 + 4, $4 + 4, $ff, $ff, $87, PROTEIN ; item
-	db SPRITE_BALL, $10 + 4, $15 + 4, $ff, $ff, $88, CARD_KEY ; item
-	db SPRITE_CLIPBOARD, $c + 4, $16 + 4, $ff, $ff, $9 ; person
-	db SPRITE_CLIPBOARD, $a + 4, $19 + 4, $ff, $ff, $a ; person
-	db SPRITE_CLIPBOARD, $6 + 4, $18 + 4, $ff, $ff, $b ; person
-
-	; warp-to
-	EVENT_DISP $f, $0, $18 ; SILPH_CO_6F
-	EVENT_DISP $f, $0, $1a ; SILPH_CO_4F
-	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $f, $3, $1b ; SILPH_CO_7F
-	EVENT_DISP $f, $f, $9 ; SILPH_CO_9F
-	EVENT_DISP $f, $5, $b ; SILPH_CO_3F
-	EVENT_DISP $f, $f, $3 ; SILPH_CO_3F
-
-SilphCo5Blocks: ; 0x1a116 135
-	INCBIN "maps/silphco5.blk"
-
-SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211)
-	db $16 ; tileset
-	db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x)
-	dw SilphCo6Blocks, SilphCo6Texts, SilphCo6Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo6Object ; objects
-
-SilphCo6Script: ; 0x1a1a9
-	call Unnamed_1a1bf
-	call $3c3c
-	ld hl, SilphCo6TrainerHeaders
-	ld de, $61f0
-	ld a, [$d647]
-	call $3160
-	ld [$d647], a
-	ret
-; 0x1a1bf
-
-Unnamed_1a1bf: ; 0x1a1bf
-INCBIN "baserom.gbc",$1a1bf,$37
-
-SilphCo6Texts: ; 0x1a1f6
-	dw SilphCo6Text1, SilphCo6Text2, SilphCo6Text3, SilphCo6Text4, SilphCo6Text5, SilphCo6Text6, SilphCo6Text7, SilphCo6Text8, SilphCo6Text9, SilphCo6Text10
-
-SilphCo6TrainerHeaders:
-TrainerHeader_1a20a: ; 0x1a20a
-	db $6 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d82d ; flag's byte
-	dw UnnamedText_1a2ba ; 0x62ba TextBeforeBattle
-	dw UnnamedText_1a2c4 ; 0x62c4 TextAfterBattle
-	dw UnnamedText_1a2bf ; 0x62bf TextEndBattle
-	dw UnnamedText_1a2bf ; 0x62bf TextEndBattle
-; 0x1a216
-
-TrainerHeader_1a216: ; 0x1a216
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d82d ; flag's byte
-	dw UnnamedText_1a2d3 ; 0x62d3 TextBeforeBattle
-	dw UnnamedText_1a2dd ; 0x62dd TextAfterBattle
-	dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle
-	dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle
-; 0x1a222
-
-TrainerHeader_1a222: ; 0x1a222
-	db $8 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d82d ; flag's byte
-	dw UnnamedText_1a2ec ; 0x62ec TextBeforeBattle
-	dw UnnamedText_1a2f6 ; 0x62f6 TextAfterBattle
-	dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle
-	dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle
-; 0x1a22e
-
-db $ff
-
-Unnamed_622f: ; 0x1a22f
-INCBIN "baserom.gbc",$1a22f,$1a23d - $1a22f
-
-SilphCo6Text1: ; 0x1a23d
-	db $08 ; asm
-	ld hl, UnnamedText_1a24a
-	ld de, UnnamedText_1a24f
-	call Unnamed_622f
-	jp TextScriptEnd
-
-UnnamedText_1a24a: ; 0x1a24a
-	TX_FAR _UnnamedText_1a24a
-	db $50
-; 0x1a24a + 5 bytes
-
-UnnamedText_1a24f: ; 0x1a24f
-	TX_FAR _UnnamedText_1a24f
-	db $50
-; 0x1a24f + 5 bytes
-
-SilphCo6Text2: ; 0x1a254
-	db $08 ; asm
-	ld hl, UnnamedText_1a261
-	ld de, UnnamedText_1a266
-	call Unnamed_622f
-	jp TextScriptEnd
-
-UnnamedText_1a261: ; 0x1a261
-	TX_FAR _UnnamedText_1a261
-	db $50
-; 0x1a261 + 5 bytes
-
-UnnamedText_1a266: ; 0x1a266
-	TX_FAR _UnnamedText_1a266
-	db $50
-; 0x1a266 + 5 bytes
-
-SilphCo6Text3: ; 0x1a26b
-	db $08 ; asm
-	ld hl, UnnamedText_1a278
-	ld de, UnnamedText_1a27d
-	call Unnamed_622f
-	jp TextScriptEnd
-
-UnnamedText_1a278: ; 0x1a278
-	TX_FAR _UnnamedText_1a278
-	db $50
-; 0x1a278 + 5 bytes
-
-UnnamedText_1a27d: ; 0x1a27d
-	TX_FAR _UnnamedText_1a27d
-	db $50
-; 0x1a27d + 5 bytes
-
-SilphCo6Text4: ; 0x1a282
-	db $08 ; asm
-	ld hl, UnnamedText_1a28f
-	ld de, UnnamedText_1a294
-	call Unnamed_622f
-	jp TextScriptEnd
-
-UnnamedText_1a28f: ; 0x1a28f
-	TX_FAR _UnnamedText_1a28f
-	db $50
-; 0x1a28f + 5 bytes
-
-UnnamedText_1a294: ; 0x1a294
-	TX_FAR _UnnamedText_1a294
-	db $50
-; 0x1a294 + 5 bytes
-
-SilphCo6Text5: ; 0x1a299
-	db $08 ; asm
-	ld hl, UnnamedText_1a2a6
-	ld de, UnnamedText_1a2ab
-	call Unnamed_622f
-	jp TextScriptEnd
-
-UnnamedText_1a2a6: ; 0x1a2a6
-	TX_FAR _UnnamedText_1a2a6
-	db $50
-; 0x1a2a6 + 5 bytes
-
-UnnamedText_1a2ab: ; 0x1a2ab
-	TX_FAR _UnnamedText_1a2ab
-	db $50
-; 0x1a2ab + 5 bytes
-
-SilphCo6Text6: ; 0x1a2b0
-	db $08 ; asm
-	ld hl, TrainerHeader_1a20a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a2ba: ; 0x1a2ba
-	TX_FAR _UnnamedText_1a2ba
-	db $50
-; 0x1a2ba + 5 bytes
-
-UnnamedText_1a2bf: ; 0x1a2bf
-	TX_FAR _UnnamedText_1a2bf
-	db $50
-; 0x1a2bf + 5 bytes
-
-UnnamedText_1a2c4: ; 0x1a2c4
-	TX_FAR _UnnamedText_1a2c4
-	db $50
-; 0x1a2c4 + 5 bytes
-
-SilphCo6Text7: ; 0x1a2c9
-	db $08 ; asm
-	ld hl, TrainerHeader_1a216
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a2d3: ; 0x1a2d3
-	TX_FAR _UnnamedText_1a2d3
-	db $50
-; 0x1a2d3 + 5 bytes
-
-UnnamedText_1a2d8: ; 0x1a2d8
-	TX_FAR _UnnamedText_1a2d8
-	db $50
-; 0x1a2d8 + 5 bytes
-
-UnnamedText_1a2dd: ; 0x1a2dd
-	TX_FAR _UnnamedText_1a2dd
-	db $50
-; 0x1a2dd + 5 bytes
-
-SilphCo6Text8: ; 0x1a2e2
-	db $08 ; asm
-	ld hl, TrainerHeader_1a222
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_1a2ec: ; 0x1a2ec
-	TX_FAR _UnnamedText_1a2ec
-	db $50
-; 0x1a2ec + 5 bytes
-
-UnnamedText_1a2f1: ; 0x1a2f1
-	TX_FAR _UnnamedText_1a2f1
-	db $50
-; 0x1a2f1 + 5 bytes
-
-UnnamedText_1a2f6: ; 0x1a2f6
-	TX_FAR _UnnamedText_1a2f6
-	db $50
-; 0x1a2f6 + 5 bytes
-
-SilphCo6Object: ; 0x1a2fb (size=112)
-	db $2e ; border tile
-
-	db $5 ; warps
-	db $0, $10, $1, SILPH_CO_7F
-	db $0, $e, $0, SILPH_CO_5F
-	db $0, $12, $0, SILPH_CO_ELEVATOR
-	db $3, $3, $4, SILPH_CO_4F
-	db $3, $17, $6, SILPH_CO_2F
-
-	db $0 ; signs
-
-	db $a ; people
-	db SPRITE_LAPRAS_GIVER, $6 + 4, $a + 4, $ff, $ff, $1 ; person
-	db SPRITE_LAPRAS_GIVER, $6 + 4, $14 + 4, $ff, $ff, $2 ; person
-	db SPRITE_ERIKA, $6 + 4, $15 + 4, $ff, $d0, $3 ; person
-	db SPRITE_ERIKA, $a + 4, $b + 4, $ff, $d3, $4 ; person
-	db SPRITE_LAPRAS_GIVER, $d + 4, $12 + 4, $ff, $d1, $5 ; person
-	db SPRITE_ROCKET, $3 + 4, $11 + 4, $ff, $d3, $46, ROCKET + $C8, $1e ; trainer
-	db SPRITE_OAK_AIDE, $8 + 4, $7 + 4, $ff, $d0, $47, SCIENTIST + $C8, $7 ; trainer
-	db SPRITE_ROCKET, $f + 4, $e + 4, $ff, $d2, $48, ROCKET + $C8, $1f ; trainer
-	db SPRITE_BALL, $c + 4, $3 + 4, $ff, $ff, $89, HP_UP ; item
-	db SPRITE_BALL, $f + 4, $2 + 4, $ff, $ff, $8a, X_ACCURACY ; item
-
-	; warp-to
-	EVENT_DISP $d, $0, $10 ; SILPH_CO_7F
-	EVENT_DISP $d, $0, $e ; SILPH_CO_5F
-	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $d, $3, $3 ; SILPH_CO_4F
-	EVENT_DISP $d, $3, $17 ; SILPH_CO_2F
-
-SilphCo6Blocks: ; 0x1a36b 117
-	INCBIN "maps/silphco6.blk"
-
-INCBIN "baserom.gbc",$1a3e0,$1c20
-
-SECTION "bank7",DATA,BANK[$7]
-
-CinnabarIsland_h: ; 0x1c000 to 0x1c022 (34 bytes) (bank=7) (id=8)
-	db $00 ; tileset
-	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x)
-	dw CinnabarIslandBlocks, CinnabarIslandTexts, CinnabarIslandScript ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_21
-	dw Route21Blocks + (ROUTE_21_HEIGHT - 3) * ROUTE_21_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db ROUTE_21_WIDTH, ROUTE_21_WIDTH ; bigness, width
-	db (ROUTE_21_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_21_HEIGHT * (ROUTE_21_WIDTH + 6) ; window
-
-	db ROUTE_20
-	dw Route20Blocks + (ROUTE_20_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (CINNABAR_ISLAND_WIDTH + 6) * (0 + 4) ; current map position
-	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width
-	db (0 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_20_WIDTH ; window
-
-	; end connections data
-
-	dw CinnabarIslandObject ; objects
-
-CinnabarIslandObject: ; 0x1c022 (size=71)
-	db $43 ; border tile
-
-	db $5 ; warps
-	db $3, $6, $1, MANSION_1
-	db $3, $12, $0, CINNABAR_GYM
-	db $9, $6, $0, CINNABAR_LAB_1
-	db $b, $b, $0, CINNABAR_POKECENTER
-	db $b, $f, $0, CINNABAR_MART
-
-	db $5 ; signs
-	db $5, $9, $3 ; CinnabarIslandText3
-	db $b, $10, $4 ; CinnabarIslandText4
-	db $b, $c, $5 ; CinnabarIslandText5
-	db $b, $9, $6 ; CinnabarIslandText6
-	db $3, $d, $7 ; CinnabarIslandText7
-
-	db $2 ; people
-	db SPRITE_GIRL, $5 + 4, $c + 4, $fe, $2, $1 ; person
-	db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $a, $3, $6 ; MANSION_1
-	EVENT_DISP $a, $3, $12 ; CINNABAR_GYM
-	EVENT_DISP $a, $9, $6 ; CINNABAR_LAB_1
-	EVENT_DISP $a, $b, $b ; CINNABAR_POKECENTER
-	EVENT_DISP $a, $b, $f ; CINNABAR_MART
-
-CinnabarIslandBlocks: ; 0x1c069 90
-	INCBIN "maps/cinnabarisland.blk"
-
-Route1_h: ; 0x1c0c3 to 0x1c0e5 (34 bytes) (bank=7) (id=12)
-	db $00 ; tileset
-	db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x)
-	dw Route1Blocks, Route1Texts, Route1Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-
-	; connections data
-
-	db VIRIDIAN_CITY
-	dw ViridianCityBlocks + (VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH + 2, $c6e8 ; pointers (connected, current) (strip)
-	db $10, $14 ; bigness, width
-	db $23, $0a ; alignments (y, x)
-	dw $c8bd ; window
-
-	db PALLET_TOWN
-	dw PalletTownBlocks, $c83b ; pointers (connected, current) (strip)
-	db $0a, $0a ; bigness, width
-	db $00, $00 ; alignments (y, x)
-	dw $c6f9 ; window
-
-	; end connections data
-
-	dw Route1Object ; objects
-
-Route1Object: ; 0x1c0e5 (size=19)
-	db $b ; border tile
-
-	db $0 ; warps
-
-	db $1 ; signs
-	db $1b, $9, $3 ; Route1Text3
-
-	db $2 ; people
-	db SPRITE_BUG_CATCHER, $18 + 4, $5 + 4, $fe, $1, $1 ; person
-	db SPRITE_BUG_CATCHER, $d + 4, $f + 4, $fe, $2, $2 ; person
-
-; XXX what is this?
-Unknown_1c0f8: ; 0x1c0f8
-	db $12, $c7, $7, $2
-
-Route1Blocks: ; 0x1c0fc 180
-	INCBIN "maps/route1.blk"
-
-UndergroundPathEntranceRoute8Blocks: ; 0x1c1b0 16
-	INCBIN "maps/undergroundpathentranceroute8.blk"
-
-OaksLabBlocks: ; 0x1c1c0 30
-	INCBIN "maps/oakslab.blk"
-
-Route16HouseBlocks:
-Route2HouseBlocks:
-SaffronHouse1Blocks:
-SaffronHouse2Blocks:
-VermilionHouse1Blocks:
-NameRaterBlocks:
-LavenderHouse1Blocks:
-LavenderHouse2Blocks:
-CeruleanHouse2Blocks:
-PewterHouse1Blocks:
-PewterHouse2Blocks:
-ViridianHouseBlocks: ; 0x1c1de 41DE size=16
-	INCBIN "maps/viridianhouse.blk"
-
-CeladonMansion5Blocks:
-SchoolBlocks: ; 0x1c1ee 41EE size=16
-	INCBIN "maps/school.blk"
-
-CeruleanHouseTrashedBlocks: ; 0x1c1fe size=16
-	INCBIN "maps/ceruleanhousetrashed.blk"
-
-DiglettsCaveEntranceRoute11Blocks:
-DiglettsCaveRoute2Blocks: ; 0x1c20e size=16
-	INCBIN "maps/diglettscaveroute2.blk"
-
-MonsterNames: ; 421E
-	db "RHYDON@@@@"
-	db "KANGASKHAN"
-	db "NIDORAN♂@@"
-	db "CLEFAIRY@@"
-	db "SPEAROW@@@"
-	db "VOLTORB@@@"
-	db "NIDOKING@@"
-	db "SLOWBRO@@@"
-	db "IVYSAUR@@@"
-	db "EXEGGUTOR@"
-	db "LICKITUNG@"
-	db "EXEGGCUTE@"
-	db "GRIMER@@@@"
-	db "GENGAR@@@@"
-	db "NIDORAN♀@@"
-	db "NIDOQUEEN@"
-	db "CUBONE@@@@"
-	db "RHYHORN@@@"
-	db "LAPRAS@@@@"
-	db "ARCANINE@@"
-	db "MEW@@@@@@@"
-	db "GYARADOS@@"
-	db "SHELLDER@@"
-	db "TENTACOOL@"
-	db "GASTLY@@@@"
-	db "SCYTHER@@@"
-	db "STARYU@@@@"
-	db "BLASTOISE@"
-	db "PINSIR@@@@"
-	db "TANGELA@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "GROWLITHE@"
-	db "ONIX@@@@@@"
-	db "FEAROW@@@@"
-	db "PIDGEY@@@@"
-	db "SLOWPOKE@@"
-	db "KADABRA@@@"
-	db "GRAVELER@@"
-	db "CHANSEY@@@"
-	db "MACHOKE@@@"
-	db "MR.MIME@@@"
-	db "HITMONLEE@"
-	db "HITMONCHAN"
-	db "ARBOK@@@@@"
-	db "PARASECT@@"
-	db "PSYDUCK@@@"
-	db "DROWZEE@@@"
-	db "GOLEM@@@@@"
-	db "MISSINGNO."
-	db "MAGMAR@@@@"
-	db "MISSINGNO."
-	db "ELECTABUZZ"
-	db "MAGNETON@@"
-	db "KOFFING@@@"
-	db "MISSINGNO."
-	db "MANKEY@@@@"
-	db "SEEL@@@@@@"
-	db "DIGLETT@@@"
-	db "TAUROS@@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "FARFETCH'D"
-	db "VENONAT@@@"
-	db "DRAGONITE@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "DODUO@@@@@"
-	db "POLIWAG@@@"
-	db "JYNX@@@@@@"
-	db "MOLTRES@@@"
-	db "ARTICUNO@@"
-	db "ZAPDOS@@@@"
-	db "DITTO@@@@@"
-	db "MEOWTH@@@@"
-	db "KRABBY@@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "VULPIX@@@@"
-	db "NINETALES@"
-	db "PIKACHU@@@"
-	db "RAICHU@@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "DRATINI@@@"
-	db "DRAGONAIR@"
-	db "KABUTO@@@@"
-	db "KABUTOPS@@"
-	db "HORSEA@@@@"
-	db "SEADRA@@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "SANDSHREW@"
-	db "SANDSLASH@"
-	db "OMANYTE@@@"
-	db "OMASTAR@@@"
-	db "JIGGLYPUFF"
-	db "WIGGLYTUFF"
-	db "EEVEE@@@@@"
-	db "FLAREON@@@"
-	db "JOLTEON@@@"
-	db "VAPOREON@@"
-	db "MACHOP@@@@"
-	db "ZUBAT@@@@@"
-	db "EKANS@@@@@"
-	db "PARAS@@@@@"
-	db "POLIWHIRL@"
-	db "POLIWRATH@"
-	db "WEEDLE@@@@"
-	db "KAKUNA@@@@"
-	db "BEEDRILL@@"
-	db "MISSINGNO."
-	db "DODRIO@@@@"
-	db "PRIMEAPE@@"
-	db "DUGTRIO@@@"
-	db "VENOMOTH@@"
-	db "DEWGONG@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "CATERPIE@@"
-	db "METAPOD@@@"
-	db "BUTTERFREE"
-	db "MACHAMP@@@"
-	db "MISSINGNO."
-	db "GOLDUCK@@@"
-	db "HYPNO@@@@@"
-	db "GOLBAT@@@@"
-	db "MEWTWO@@@@"
-	db "SNORLAX@@@"
-	db "MAGIKARP@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MUK@@@@@@@"
-	db "MISSINGNO."
-	db "KINGLER@@@"
-	db "CLOYSTER@@"
-	db "MISSINGNO."
-	db "ELECTRODE@"
-	db "CLEFABLE@@"
-	db "WEEZING@@@"
-	db "PERSIAN@@@"
-	db "MAROWAK@@@"
-	db "MISSINGNO."
-	db "HAUNTER@@@"
-	db "ABRA@@@@@@"
-	db "ALAKAZAM@@"
-	db "PIDGEOTTO@"
-	db "PIDGEOT@@@"
-	db "STARMIE@@@"
-	db "BULBASAUR@"
-	db "VENUSAUR@@"
-	db "TENTACRUEL"
-	db "MISSINGNO."
-	db "GOLDEEN@@@"
-	db "SEAKING@@@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "PONYTA@@@@"
-	db "RAPIDASH@@"
-	db "RATTATA@@@"
-	db "RATICATE@@"
-	db "NIDORINO@@"
-	db "NIDORINA@@"
-	db "GEODUDE@@@"
-	db "PORYGON@@@"
-	db "AERODACTYL"
-	db "MISSINGNO."
-	db "MAGNEMITE@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "CHARMANDER"
-	db "SQUIRTLE@@"
-	db "CHARMELEON"
-	db "WARTORTLE@"
-	db "CHARIZARD@"
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "MISSINGNO."
-	db "ODDISH@@@@"
-	db "GLOOM@@@@@"
-	db "VILEPLUME@"
-	db "BELLSPROUT"
-	db "WEEPINBELL"
-	db "VICTREEBEL"
-
-INCBIN "baserom.gbc",$1c98a,$1c9c1 - $1c98a
-
-UnnamedText_1c9c1: ; 0x1c9c1
-	TX_FAR _UnnamedText_1c9c1
-	db $50
-; 0x1c9c1 + 5 bytes
-
-INCBIN "baserom.gbc",$1c9c6,$1ca14 - $1c9c6
-
-UnnamedText_1ca14: ; 0x1ca14
-	TX_FAR _UnnamedText_1ca14
-	db $50
-; 0x1ca14 + 5 bytes
-
-CinnabarIslandScript: ; 0x1ca19
-	call $3c3c
-	ld hl, $d126
-	set 5, [hl]
-	ld hl, $d796
-	res 0, [hl]
-	ld hl, $d7a3
-	res 1, [hl]
-	ld hl, CinnabarIslandScripts
-	ld a, [$d639]
-	jp $3d97
-; 0x1ca34
-
-CinnabarIslandScripts: ; 0x1ca34
-	dw CinnabarIslandScript0, CinnabarIslandScript1
-
-CinnabarIslandScript0: ; 0x1ca38
-	ld b, $2b
-	call $3493
-	ret nz
-	ld a, [$d361]
-	cp $4
-	ret nz
-	ld a, [$d362]
-	cp $12
-	ret nz
-	ld a, $8
-	ld [$d528], a
-	ld a, $8
-	ld [$ff00+$8c], a
-	call $2920
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $1
-	ld [$cd38], a
-	ld a, $80
-	ld [$ccd3], a
-	call $3486
-	xor a
-	ld [$c109], a
-	ld [$cd6b], a
-	ld a, $1
-	ld [$d639], a
-	ret
-; 0x1ca73
-
-CinnabarIslandScript1: ; 0x1ca73
-	ld a, [$cd38]
-	and a
-	ret nz
-	call Delay3
-	ld a, $0
-	ld [$d639], a
-	ret
-; 0x1ca81
-
-CinnabarIslandTexts: ; 0x1ca81
-	dw CinnabarIslandText1, CinnabarIslandText2, CinnabarIslandText3, CinnabarIslandText4, CinnabarIslandText5, CinnabarIslandText6, CinnabarIslandText7, CinnabarIslandText8
-
-CinnabarIslandText8: ; 0x1ca91
-	TX_FAR _CinnabarIslandText8
-	db $50
-; 0x1ca91 + 5 bytes
-
-CinnabarIslandText1: ; 0x1ca96
-	TX_FAR _CinnabarIslandText1
-	db $50
-
-CinnabarIslandText2: ; 0x1ca9b
-	TX_FAR _CinnabarIslandText2
-	db $50
-
-CinnabarIslandText3: ; 0x1caa0
-	TX_FAR _CinnabarIslandText3
-	db $50
-
-CinnabarIslandText6: ; 0x1caa5
-	TX_FAR _CinnabarIslandText6
-	db $50
-
-CinnabarIslandText7: ; 0x1caaa
-	TX_FAR _CinnabarIslandText7
-	db $50
-
-Route1Script: ; 0x1caaf
-	jp $3c3c
-; 0x1cab2
-
-Route1Texts: ; 0x1cab2
-	dw Route1Text1, Route1Text2, Route1Text3
-
-Route1Text1: ; 0x1cab8
-	db $08 ; asm
-	ld hl, $d7bf
-	bit 0, [hl]
-	set 0, [hl]
-	jr nz, .asm_02840 ; 0x1cac0
-	ld hl, Route1ViridianMartSampleText
-	call PrintText 
-	ld bc, (POTION << 8) | 1
-	call GiveItem
-	jr nc, .asm_a630e ; 0x1cace
-	ld hl, $4ae8
-	jr .asm_46d43 ; 0x1cad3
-.asm_a630e ; 0x1cad5
-	ld hl, $4af3
-	jr .asm_46d43 ; 0x1cad8
-.asm_02840 ; 0x1cada
-	ld hl, $4aee
-.asm_46d43 ; 0x1cadd
-	call PrintText
-	jp TextScriptEnd
-
-Route1ViridianMartSampleText: ; 0x1cae3
-	TX_FAR _Route1ViridianMartSampleText
-	db $50
-; 0x1cae3 + 5 bytes
-
-INCBIN "baserom.gbc",$1cae8,$1caee - $1cae8
-
-UnnamedText_1caee: ; 0x1caee
-	TX_FAR _UnnamedText_1caee
-	db $50
-; 0x1caee + 5 bytes
-
-UnnamedText_1caf3: ; 0x1caf3
-	TX_FAR _UnnamedText_1caf3
-	db $50
-; 0x1caf3 + 5 bytes
-
-Route1Text2: ; 0x1caf8
-	TX_FAR _Route1Text2
-	db $50
-
-Route1Text3: ; 0x1cafd
-	TX_FAR _Route1Text3
-	db $50
-
-OaksLab_h: ; 0x1cb02 to 0x1cb0e (12 bytes) (bank=7) (id=40)
-	db $05 ; tileset
-	db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x)
-	dw OaksLabBlocks, OaksLabTexts, OaksLabScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw OaksLabObject ; objects
-
-OaksLabScript: ; 0x1cb0e
-	ld a, [$d74b]
-	bit 6, a
-	call nz, $5076
-	ld a, $1
-	ld [$cf0c], a
-	xor a
-	ld [$cc3c], a
-	ld hl, OaksLabScripts
-	ld a, [W_OAKSLABCURSCRIPT]
-	jp $3d97
-; 0x1cb28
-
-OaksLabScripts: ; 0x1cb28
-	dw OaksLabScript0, OaksLabScript1, OaksLabScript2, OaksLabScript3, OaksLabScript4, OaksLabScript5, OaksLabScript6, OaksLabScript7, OaksLabScript8, OaksLabScript9, OaksLabScript10, OaksLabScript11, OaksLabScript12, OaksLabScript13, OaksLabScript14, OaksLabScript15, OaksLabScript16, OaksLabScript17, OaksLabScript18
-
-OaksLabScript0: ; 0x1cb4e
-	ld a, [$d74b]
-	bit 7, a
-	ret z
-	ld a, [$cf10]
-	and a
-	ret nz
-	ld a, $31
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld hl, $d72e
-	res 4, [hl]
-
-	ld a, $1
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cb6e
-
-OaksLabScript1: ; 0x1cb6e
-	ld a, $8
-	ld [$ff00+$8c], a
-	ld de, OakEntryMovement
-	call MoveSprite
-
-	ld a, $2
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cb7e
-
-OakEntryMovement: ; 0x1cb7e
-	db $40, $40, $40, $ff
-
-OaksLabScript2: ; 0x1cb82
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	ld a, $31
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, $2e
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-
-	ld a, $3
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cba2
-
-OaksLabScript3: ; 0x1cba2
-	call Delay3
-	ld hl, $ccd3
-	ld de, PlayerEntryMovementRLE
-	call $350c
-	dec a
-	ld [$cd38], a
-	call $3486
-	ld a, $1
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $5
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-
-	ld a, $4
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cbcf
-
-PlayerEntryMovementRLE: ; 0x1cbcf
-	db $40, $8, $ff
-
-OaksLabScript4: ; 0x1cbd2
-	ld a, [$cd38]
-	and a
-	ret nz
-	ld hl, $d747
-	set 0, [hl]
-	ld hl, $d74b
-	set 0, [hl]
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $4
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	call $2429
-	ld hl, $d733
-	res 1, [hl]
-	call $2307
-
-	ld a, $5
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cbfd
-
-OaksLabScript5: ; 0x1cbfd
-	ld a, $fc
-	ld [$cd6b], a
-	ld a, $11
-	ld [$ff00+$8c], a
-	call $2920
-	call Delay3
-	ld a, $12
-	ld [$ff00+$8c], a
-	call $2920
-	call Delay3
-	ld a, $13
-	ld [$ff00+$8c], a
-	call $2920
-	call Delay3
-	ld a, $14
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d74b
-	set 1, [hl]
-	xor a
-	ld [$cd6b], a
-
-	ld a, $6
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cc36
-
-OaksLabScript6: ; 0x1cc36
-	ld a, [W_YCOORD]
-	cp $6
-	ret nz
-	ld a, $5
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $1
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	call $2429
-	ld a, $c
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $1
-	ld [$cd38], a
-	ld a, $40
-	ld [$ccd3], a
-	call $3486
-	ld a, $8
-	ld [$d528], a
-
-	ld a, $7
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cc72
-
-OaksLabScript7: ; 0x1cc72
-	ld a, [$cd38]
-	and a
-	ret nz
-	call Delay3
-
-	ld a, $6
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cc80
-
-OaksLabScript8: ; 0x1cc80
-	ld a, [W_PLAYERSTARTER]
-	cp CHARMANDER
-	jr z, .Charmander\@ ; 0x1cc85 $6
-	cp SQUIRTLE
-	jr z, .Squirtle\@ ; 0x1cc89 $1d
-	jr .Bulbasaur\@ ; 0x1cc8b $38
-.Charmander\@
-	ld de, .MiddleBallMovement1
-	ld a, [W_YCOORD]
-	cp $4 ; is the player standing below the table?
-	jr z, .asm_1ccf3 ; 0x1cc95 $5c
-	ld de, .MiddleBallMovement2
-	jr .asm_1ccf3 ; 0x1cc9a $57
-
-.MiddleBallMovement1
-	db 0,0,$C0,$C0,$C0,$40,$FF
-.MiddleBallMovement2
-	db 0,$C0,$C0,$C0,$FF
-
-.Squirtle\@
-	ld de, .RightBallMovement1
-	ld a, [W_YCOORD]
-	cp $4 ; is the player standing below the table?
-	jr z, .asm_1ccf3 ; 0x1ccb0 $41
-	ld de, .RightBallMovement2
-	jr .asm_1ccf3 ; 0x1ccb5 $3c
-
-.RightBallMovement1
-	db 0,0,$C0,$C0,$C0,$C0,$40,$FF
-.RightBallMovement2
-	db 0,$C0,$C0,$C0,$C0,$FF
-
-.Bulbasaur\@
-	ld de, .LeftBallMovement1
-	ld a, [W_XCOORD]
-	cp $9 ; is the player standing to the right of the table?
-	jr nz, .asm_1ccf3 ; 0x1cccd $24
-	push hl
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $4
-	ld [$ff00+$8b], a
-	call $34fc
-	push hl
-	ld [hl], $4c
-	inc hl
-	inc hl
-	ld [hl], $0
-	pop hl
-	inc h
-	ld [hl], $8
-	inc hl
-	ld [hl], $9
-	ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that
-	pop hl
-	jr .asm_1ccf3 ; 0x1cced $4
-
-.LeftBallMovement1
-	db 0,$C0 ; not yet terminated!
-.LeftBallMovement2
-	db $C0,$FF
-
-.asm_1ccf3
-	ld a, $1
-	ld [$ff00+$8c], a
-	call MoveSprite
-
-	ld a, $9
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cd00
-
-OaksLabScript9: ; 0x1cd00
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	ld a, $fc
-	ld [$cd6b], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $4
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $d
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, [$cd3e]
-	cp $2
-	jr nz, .asm_1cd28 ; 0x1cd22 $4
-	ld a, $2b
-	jr .asm_1cd32 ; 0x1cd26 $a
-.asm_1cd28
-	cp $3
-	jr nz, .asm_1cd30 ; 0x1cd2a $4
-	ld a, $2c
-	jr .asm_1cd32 ; 0x1cd2e $2
-.asm_1cd30
-	ld a, $2d
-.asm_1cd32
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	call Delay3
-	ld a, [$cd3d]
-	ld [W_RIVALSTARTER], a
-	ld [$cf91], a
-	ld [$d11e], a
-	call GetMonName
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $4
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $e
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d74b
-	set 2, [hl]
-	xor a
-	ld [$cd6b], a
-
-	ld a, $a
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cd6d
-
-OaksLabScript10: ; 0x1cd6d
-	ld a, [W_YCOORD]
-	cp $6
-	ret nz
-	ld a, $1
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $8
-	ld [$d528], a
-	ld c, $2
-	ld a, $de
-	call $23a1 ; play music
-	ld a, $f
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $1
-	ld [$ff00+$9b], a
-	ld a, $1
-	swap a
-	ld [$ff00+$95], a
-	ld a, $22
-	call Predef
-	ld a, [$ff00+$95]
-	dec a
-	ld [$ff00+$95], a
-	ld a, $20
-	call Predef
-	ld de, $cc97
-	ld a, $1
-	ld [$ff00+$8c], a
-	call MoveSprite
-
-	ld a, $b
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cdb9
-
-OaksLabScript11: ; 0x1cdb9
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-
-	; define which team rival uses, and fight it
-	ld a, SONY1 + 200
-	ld [W_CUROPPONENT], a
-	ld a, [W_RIVALSTARTER]
-	cp SQUIRTLE
-	jr nz, .NotSquirtle\@ ; 0x1cdc9 $4
-	ld a, $1
-	jr .done\@ ; 0x1cdcd $a
-.NotSquirtle\@
-	cp BULBASAUR
-	jr nz, .Charmander\@ ; 0x1cdd1 $4
-	ld a, $2
-	jr .done\@ ; 0x1cdd5 $2
-.Charmander\@
-	ld a, $3
-.done\@
-	ld [W_TRAINERNO], a
-	ld a, $1
-	ld [$cf13], a
-	call $32ef
-	ld hl, $53be
-	ld de, $53c3
-	call $3354
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	xor a
-	ld [$cd6b], a
-	ld a, $8
-	ld [$d528], a
-
-	ld a, $c
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1ce03
-
-OaksLabScript12: ; 0x1ce03
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, $8
-	ld [$d528], a
-	call $2429
-	ld a, $1
-	ld [$cf13], a
-	call $32f9
-	ld a, $1
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $7
-	call Predef
-	ld hl, $d74b
-	set 3, [hl]
-
-	ld a, $d
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1ce32
-
-OaksLabScript13: ; 0x1ce32
-	ld c, $14
-	call $3739
-	ld a, $10
-	ld [$ff00+$8c], a
-	call $2920
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld de, .RivalExitMovement
-	call MoveSprite
-	ld a, [W_XCOORD]
-	cp $4
-	; move left or right depending on where the player is standing
-	jr nz, .asm_1ce5b ; 0x1ce55 $4
-	ld a, $c0
-	jr .asm_1ce5d ; 0x1ce59 $2
-.asm_1ce5b
-	ld a, $80
-.asm_1ce5d
-	ld [$cc5b], a
-
-	ld a, $e
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1ce66
-
-.RivalExitMovement
-	db $E0,0,0,0,0,0,$FF
-
-OaksLabScript14: ; 0x1ce6d
-	ld a, [$d730]
-	bit 0, a
-	jr nz, .asm_1ce8c ; 0x1ce72 $18
-	ld a, $2a
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	xor a
-	ld [$cd6b], a
-	call $2307 ; reset to map music
-	ld a, $12
-	ld [W_OAKSLABCURSCRIPT], a
-	jr .done\@ ; 0x1ce8a $23
-.asm_1ce8c
-	ld a, [$cf0f]
-	cp $5
-	jr nz, .asm_1cea8 ; 0x1ce91 $15
-	ld a, [$d362]
-	cp $4
-	jr nz, .asm_1cea1 ; 0x1ce98 $7
-	ld a, $c
-	ld [$c109], a
-	jr .done\@ ; 0x1ce9f $e
-.asm_1cea1
-	ld a, $8
-	ld [$c109], a
-	jr .done\@ ; 0x1cea6 $7
-.asm_1cea8
-	cp $4
-	ret nz
-	xor a
-	ld [$c109], a
-.done\@
-	ret
-; 0x1ceb0
-
-OaksLabScript15: ; 0x1ceb0
-	xor a
-	ld [$ff00+$b4], a
-	call $3c3c
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, $15
-	ld [$ff00+$8c], a
-	call $2920
-	call $502b
-	ld a, $2a
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld a, [$cd37]
-	ld [$d157], a
-	ld b, $0
-	ld c, a
-	ld hl, $cc97
-	ld a, $40
-	call $36e0
-	ld [hl], $ff
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld de, $cc97
-	call MoveSprite
-
-	ld a, $10
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cefd
-
-Function1CEFD ; 0x1cefd
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $4
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	ld a, $8
-	ld [$ff00+$8c], a
-	xor a
-	ld [$ff00+$8d], a
-	jp $34a6 ; face object
-; 0x1cf12
-
-OaksLabScript16: ; 0x1cf12
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	call $3c3c
-	call $2307
-	ld a, $fc
-	ld [$cd6b], a
-	call Function1CEFD
-	ld a, $16
-	ld [$ff00+$8c], a
-	call $2920
-	call DelayFrame
-	call Function1CEFD
-	ld a, $17
-	ld [$ff00+$8c], a
-	call $2920
-	call DelayFrame
-	call Function1CEFD
-	ld a, $18
-	ld [$ff00+$8c], a
-	call $2920
-	call DelayFrame
-	ld a, $19
-	ld [$ff00+$8c], a
-	call $2920
-	call Delay3
-	ld a, $2f
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, $30
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	call Function1CEFD
-	ld a, $1a
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, $c
-	ld [$ff00+$8d], a
-	call $34a6 ; face object
-	call Delay3
-	ld a, $1b
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d74b
-	set 5, [hl]
-	ld hl, $d74e
-	set 0, [hl]
-	ld a, $1
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, $2
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld a, [$d157]
-	ld b, $0
-	ld c, a
-	ld hl, $cc97
-	xor a
-	call $36e0
-	ld [hl], $ff
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld de, $cc97
-	call MoveSprite
-
-	ld a, $11
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1cfd4
-
-OaksLabScript17: ; 0x1cfd4
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	call $2307
-	ld a, $2a
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld hl, $d7eb
-	set 0, [hl]
-	res 1, [hl]
-	set 7, [hl]
-	ld a, $22
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld a, $5
-	ld [$d5f1], a
-	xor a
-	ld [$cd6b], a
-
-	ld a, $12
-	ld [W_OAKSLABCURSCRIPT], a
-	ret
-; 0x1d009
-
-OaksLabScript18: ; 0x1d009
-	ret
-; 0x1d00a
-
-Function1D00A: ; 0x1d00a
-	ld hl, W_BAGITEM01
-	ld bc, $0000
-.asm_1d010
-	ld a, [hli]
-	cp $ff
-	ret z
-	cp OAKS_PARCEL
-	jr z, .GotParcel ; 0x1d016 $4
-	inc hl
-	inc c
-	jr .asm_1d010 ; 0x1d01a $f4
-.GotParcel
-	ld hl, $d31d
-	ld a, c
-	ld [$cf92], a
-	ld a, $1
-	ld [$cf96], a
-	jp $2bbb
-; 0x1d02b
-
-
-INCBIN "baserom.gbc",$1d02b,$1d082-$1d02b
-
-OaksLabTexts: ; 0x1d082
-	dw OaksLabText1, OaksLabText2, OaksLabText3, OaksLabText4, OaksLabText5, OaksLabText6, OaksLabText7, OaksLabText8, OaksLabText9, OaksLabText10, OaksLabText11, OaksLabText12, OaksLabText13, OaksLabText14, OaksLabText15, OaksLabText16, OaksLabText17, OaksLabText18, OaksLabText19, OaksLabText20, OaksLabText21, OaksLabText22, OaksLabText23, OaksLabText24, OaksLabText25, OaksLabText26, OaksLabText27, OaksLabText28, OaksLabText29, OaksLabText30, OaksLabText31, OaksLabText32, OaksLabText33, OaksLabText34, OaksLabText35, OaksLabText36, OaksLabText37, OaksLabText38
-
-OaksLabText28:
-OaksLabText1: ; 0x1d0ce
-	db $08 ; asm
-	ld a, [$d74b]
-	bit 0, a
-	jr nz, .asm_1d0de ; 0x1d0d4
-	ld hl, OaksLabGaryText1
-	call PrintText
-	jr .asm_1d0f0 ; 0x1d0dc
-.asm_1d0de ; 0x1d0de
-	bit 2, a
-	jr nz, .asm_1d0ea ; 0x1d0e0
-	ld hl, OaksLabText40
-	call PrintText
-	jr .asm_1d0f0 ; 0x1d0e8
-.asm_1d0ea ; 0x1d0ea
-	ld hl, OaksLabText41
-	call PrintText
-.asm_1d0f0 ; 0x1d0f0
-	jp TextScriptEnd
-
-OaksLabGaryText1: ; 0x1d0f3
-	TX_FAR _OaksLabGaryText1
-	db $50
-; 0x1d0f8
-
-OaksLabText40: ; 0x1d0f8
-	TX_FAR _OaksLabText40
-	db $50
-; 0x1d0f8 + 5 bytes
-
-OaksLabText41: ; 0x1d0fd
-	TX_FAR _OaksLabText41
-	db $50
-; 0x1d0fd + 5 bytes
-
-OaksLabText29:
-OaksLabText2: ; 0x1d102
-	db $8
-	ld a, $b1
-	ld [$cd3d], a
-	ld a, $3
-	ld [$cd3e], a
-	ld a, $b0
-	ld b, $2
-	jr asm_1d133 ; 0x1d111 $20
-
-OaksLabText30:
-OaksLabText3: ; 0x1d113
-	db $8
-	ld a, $99
-	ld [$cd3d], a
-	ld a, $4
-	ld [$cd3e], a
-	ld a, $b1
-	ld b, $3
-	jr asm_1d133 ; 0x1d122 $f
-
-OaksLabText31:
-OaksLabText4: ; 0x1d124
-	db $8
-	ld a, $b0
-	ld [$cd3d], a
-	ld a, $2
-	ld [$cd3e], a
-	ld a, $99
-	ld b, $4
-
-asm_1d133: ; 0x1d133
-	ld [$cf91], a
-	ld [$d11e], a
-	ld a, b
-	ld [$cf13], a
-	ld a, [$d74b]
-	bit 2, a
-	jp nz, $522d
-	bit 1, a
-	jr nz, asm_1d157 ; 0x1d147 $e
-	ld hl, OaksLabText39
-	call PrintText
-	jp TextScriptEnd
-; 0x1d152
-
-OaksLabText39: ; 0x1d152
-	TX_FAR _OaksLabText39
-	db $50
-
-asm_1d157: ; 0x1d157
-	ld a, $5
-	ld [$ff00+$8c], a
-	ld a, $9
-	ld [$ff00+$8b], a
-	call $34fc
-	ld [hl], $0
-	; manually fixed some disassembler issues around here
-	ld a, $1
-	ld [$FF8c], a
-	ld a, $9
-	ld [$ff00+$8b], a
-	call $34fc
-	ld [hl], $c
-	ld hl, $d730
-	set 6, [hl]
-	ld a, $46
-	call Predef
-	ld hl, $d730
-	res 6, [hl]
-	call $3071
-	ld c, $a
-	call $3739
-	ld a, [$cf13]
-	cp $2
-	jr z, OaksLabLookAtCharmander
-	cp $3
-	jr z, OaksLabLookAtSquirtle
-	jr OaksLabLookAtBulbasaur
-
-OaksLabLookAtCharmander ; 0x1d195
-	ld hl, OaksLabCharmanderText
-	jr OaksLabMonChoiceMenu
-OaksLabCharmanderText: ; 0x1d19a
-	TX_FAR _OaksLabCharmanderText ; 0x94e06
-	db $50
-; 0x1d19f
-
-OaksLabLookAtSquirtle: ; 0x1d19f
-	ld hl, OaksLabSquirtleText
-	jr OaksLabMonChoiceMenu
-OaksLabSquirtleText: ; 0x1d1a4
-	TX_FAR _OaksLabSquirtleText ; 0x94e2f
-	db $50
-; 0x1d1a9
-
-OaksLabLookAtBulbasaur: ; 0x1d1a9
-	ld hl, OaksLabBulbasaurText
-	jr OaksLabMonChoiceMenu
-OaksLabBulbasaurText: ; 0x1d1ae
-	TX_FAR _OaksLabBulbasaurText ; 0x94e57
-	db $50
-; 0x1d1b3
-
-OaksLabMonChoiceMenu: ; 0x1d1b3
-	call PrintText
-	ld a, $1
-	ld [$cc3c], a
-	call $35ec ; yes/no menu
-	ld a, [$cc26]
-	and a
-	jr nz, OaksLabMonChoiceEnd
-	ld a, [$cf91]
-	ld [$d717], a
-	ld [$d11e], a
-	call GetMonName
-	ld a, [$cf13]
-	cp $2
-	jr nz, asm_1d1db ; 0x1d1d5 $4
-	ld a, $2b
-	jr asm_1d1e5 ; 0x1d1d9 $a
-asm_1d1db: ; 0x1d1db
-	cp $3
-	jr nz, asm_1d1e3 ; 0x1d1dd $4
-	ld a, $2c
-	jr asm_1d1e5 ; 0x1d1e1 $2
-asm_1d1e3: ; 0x1d1e3
-	ld a, $2d
-asm_1d1e5: ; 0x1d1e5
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, OaksLabMonEnergeticText
-	call PrintText
-	ld hl, OaksLabReceivedMonText
-	call PrintText
-	xor a
-	ld [$cc49], a
-	ld a, $5
-	ld [$d127], a
-	ld a, [$cf91]
-	ld [$d11e], a
-	call AddPokemonToParty
-	ld hl, $d72e
-	set 3, [hl]
-	ld a, $fc
-	ld [$cd6b], a
-	ld a, $8
-	ld [W_OAKSLABCURSCRIPT], a
-OaksLabMonChoiceEnd: ; 0x1d21f
-	jp TextScriptEnd
-; 0x1d222
-
-OaksLabMonEnergeticText: ; 0x1d222
-	TX_FAR _OaksLabMonEnergeticText
-	db $50
-; 0x1d222 + 5 bytes
-
-OaksLabReceivedMonText: ; 0x1d227
-	TX_FAR _OaksLabReceivedMonText ; 0x94ea0
-	db $11, $50
-; 0x1d22d
-
-INCBIN "baserom.gbc",$1d22d,$1d243 - $1d22d
-
-OaksLabLastMonText: ; 0x1d243
-	TX_FAR _OaksLabLastMonText
-	db $50
-; 0x1d248
-
-OaksLabText32:
-OaksLabText5: ; 0x1d248
-	db $08 ; asm
-	ld a, [$d747]
-	bit 6, a
-	jr nz, .asm_50e81 ; 0x1d24e
-	ld hl, $d2f7
-	ld b, $13
-	call $2b7f
-	ld a, [$d11e]
-	cp $2
-	jr c, .asm_b28b0 ; 0x1d25d
-	ld a, [$d74b]
-	bit 5, a
-	jr z, .asm_b28b0 ; 0x1d264
-.asm_50e81 ; 0x1d266
-	ld hl, UnnamedText_1d31d
-	call PrintText
-	ld a, $1
-	ld [$cc3c], a
-	ld a, $56
-	call Predef
-	jp $52ed
-.asm_b28b0 ; 0x1d279
-	ld b,POKE_BALL
-	call $3493
-	jr nz, .asm_17c30 ; 0x1d27e
-	ld a, [$d7eb]
-	bit 5, a
-	jr nz, .asm_f1adc ; 0x1d285
-	ld a, [$d74b]
-	bit 5, a
-	jr nz, .asm_333a2 ; 0x1d28c
-	bit 3, a
-	jr nz, .asm_76269 ; 0x1d290
-	ld a, [$d72e]
-	bit 3, a
-	jr nz, .asm_4a5e0 ; 0x1d297
-	ld hl, UnnamedText_1d2f0
-	call PrintText
-	jr .asm_0f042 ; 0x1d29f
-.asm_4a5e0 ; 0x1d2a1
-	ld hl, UnnamedText_1d2f5
-	call PrintText
-	jr .asm_0f042 ; 0x1d2a7
-.asm_76269 ; 0x1d2a9
-	ld b, OAKS_PARCEL
-	call $3493
-	jr nz, .asm_a8fcf ; 0x1d2ae
-	ld hl, UnnamedText_1d2fa
-	call PrintText
-	jr .asm_0f042 ; 0x1d2b6
-.asm_a8fcf ; 0x1d2b8
-	ld hl, OaksLabDeliverParcelText
-	call PrintText
-	call $500a
-	ld a, $f
-	ld [W_OAKSLABCURSCRIPT], a
-	jr .asm_0f042 ; 0x1d2c6
-.asm_333a2 ; 0x1d2c8
-	ld hl, OaksLabAroundWorldText
-	call PrintText
-	jr .asm_0f042 ; 0x1d2ce
-.asm_f1adc ; 0x1d2d0
-	ld hl, $d74b
-	bit 4, [hl]
-	set 4, [hl]
-	jr nz, .asm_17c30 ; 0x1d2d7
-	ld bc, (POKE_BALL << 8) | 5
-	call GiveItem
-	ld hl, OaksLabGivePokeballsText
-	call PrintText
-	jr .asm_0f042 ; 0x1d2e5
-.asm_17c30 ; 0x1d2e7
-	ld hl, OaksLabPleaseVisitText
-	call PrintText
-.asm_0f042 ; 0x1d2ed
-	jp TextScriptEnd
-; 0x1d2f0
-
-UnnamedText_1d2f0: ; 0x1d2f0
-	TX_FAR _UnnamedText_1d2f0
-	db $50
-; 0x1d2f5
-
-UnnamedText_1d2f5: ; 0x1d2f5
-	TX_FAR _UnnamedText_1d2f5
-	db $50
-; 0x1d2fa
-
-UnnamedText_1d2fa: ; 0x1d2fa
-	TX_FAR _UnnamedText_1d2fa
-	db $50
-; 0x1d2ff
-
-OaksLabDeliverParcelText: ; 0x1d2ff
-	TX_FAR _OaksLabDeliverParcelText1 ; 0x94f69
-	db $11
-	TX_FAR _OaksLabDeliverParcelText2
-	db $50
-; 0x1d309
-
-OaksLabAroundWorldText: ; 0x1d309
-	TX_FAR _OaksLabAroundWorldText
-	db $50
-; 0x1d30e
-
-OaksLabGivePokeballsText: ; 0x1d30e
-	TX_FAR _OaksLabGivePokeballsText1 ; 0x9506d
-	db $11
-	TX_FAR _OaksLabGivePokeballsText2
-	db $50
-; 0x1d318
-
-OaksLabPleaseVisitText: ; 0x1d318
-	TX_FAR _OaksLabPleaseVisitText
-	db $50
-; 0x1d318 + 5 bytes
-
-UnnamedText_1d31d: ; 0x1d31d
-	TX_FAR _UnnamedText_1d31d
-	db $50
-; 0x1d31d + 5 bytes
-
-OaksLabText34:
-OaksLabText33:
-OaksLabText7: ; 0x1d322
-OaksLabText6: ; 0x1d322
-	db $08 ; asm
-	ld hl, UnnamedText_1d32c
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_1d32c: ; 0x1d32c
-	TX_FAR _UnnamedText_1d32c
-	db $50
-; 0x1d32c + 5 bytes
-
-OaksLabText35:
-OaksLabText8: ; 0x1d331
-	TX_FAR _OaksLabText8
-	db $50
-
-OaksLabText36:
-OaksLabText9: ; 0x1d336
-	db $08 ; asm
-	ld hl, UnnamedText_1d340
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_1d340: ; 0x1d340
-	TX_FAR _UnnamedText_1d340
-	db $50
-; 0x1d340 + 5 bytes
-
-OaksLabText17: ; 0x1d345
-	db $8
-	ld hl, OaksLabRivalWaitingText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d34f
-
-OaksLabRivalWaitingText: ; 0x1d34f
-	TX_FAR _OaksLabRivalWaitingText
-	db $50
-; 0x1d34f + 5 bytes
-
-OaksLabText18: ; 0x1d354
-	db $8
-	ld hl, OaksLabChooseMonText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d35e
-
-OaksLabChooseMonText: ; 0x1d35e
-	TX_FAR _OaksLabChooseMonText
-	db $50
-; 0x1d35e + 5 bytes
-
-OaksLabText19: ; 0x1d363
-	db $8
-	ld hl, OaksLabRivalInterjectionText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d36d
-
-OaksLabRivalInterjectionText: ; 0x1d36d
-	TX_FAR _OaksLabRivalInterjectionText
-	db $50
-; 0x1d36d + 5 bytes
-
-OaksLabText20: ; 0x1d372
-	db $8
-	ld hl, OaksLabBePatientText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d37c
-
-OaksLabBePatientText: ; 0x1d37c
-	TX_FAR _OaksLabBePatientText
-	db $50
-; 0x1d37c + 5 bytes
-
-OaksLabText12: ; 0x1d381
-	db $8
-	ld hl, OaksLabLeavingText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d38b
-
-OaksLabLeavingText: ; 0x1d38b
-	TX_FAR _OaksLabLeavingText
-	db $50
-; 0x1d38b + 5 bytes
-
-OaksLabText13: ; 0x1d390
-	db $8
-	ld hl, OaksLabRivalPickingMonText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d39a
-
-OaksLabRivalPickingMonText: ; 0x1d39a
-	TX_FAR _OaksLabRivalPickingMonText
-	db $50
-; 0x1d39f
-
-OaksLabText14: ; 0x1d39f
-	db $8
-	ld hl, OaksLabRivalReceivedMonText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d3a9
-
-OaksLabRivalReceivedMonText: ; 0x1d3a9
-	TX_FAR _OaksLabRivalReceivedMonText ; 0x95461
-	db $11, $50
-; 0x1d3af
-
-OaksLabText15: ; 0x1d3af
-	db $8
-	ld hl, OaksLabRivalChallengeText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d3b9
-
-OaksLabRivalChallengeText: ; 0x1d3b9
-	TX_FAR _OaksLabRivalChallengeText
-	db $50
-; 0x1d3be
-
-UnnamedText_1d3be: ; 0x1d3be
-	TX_FAR _UnnamedText_1d3be
-	db $50
-; 0x1d3c3
-
-UnnamedText_1d3c3: ; 0x1d3c3
-	TX_FAR _UnnamedText_1d3c3
-	db $50
-; 0x1d3c8
-
-OaksLabText16: ; 0x1d3c8
-	db $8
-	ld hl, OaksLabRivalToughenUpText
-	call PrintText
-	jp TextScriptEnd
-; 0x1d3d2
-
-OaksLabRivalToughenUpText: ; 0x1d3d2
-	TX_FAR _OaksLabRivalToughenUpText
-	db $50
-; 0x1d3d7
-
-OaksLabText21: ; 0x1d3d7
-	TX_FAR _OaksLabText21
-	db $50
-; 0x1d3dc
-
-OaksLabText22: ; 0x1d3dc
-	TX_FAR _OaksLabText22
-	db $50
-; 0x1d3e1
-
-OaksLabText23: ; 0x1d3e1
-	TX_FAR _OaksLabText23
-	db $50
-; 0x1d3e6
-
-OaksLabText24: ; 0x1d3e6
-	TX_FAR _OaksLabText24
-	db $50
-; 0x1d3eb
-
-OaksLabText25: ; 0x1d3eb
-	TX_FAR _OaksLabText25
-	db $11, $50
-; 0x1d3f1
-
-OaksLabText26: ; 0x1d3f1
-	TX_FAR _OaksLabText26
-	db $50
-; 0x1d3f6
-
-OaksLabText27: ; 0x1d3f6
-	TX_FAR _OaksLabText27
-	db $50
-; 0x1d3fb
-
-OaksLabText38:
-OaksLabText37:
-OaksLabText11:
-OaksLabText10: ; 0x1d3fb
-	db $08 ; asm
-	ld hl, UnnamedText_1d405
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_1d405: ; 0x1d405
-	TX_FAR _UnnamedText_1d405
-	db $50
-; 0x1d405 + 5 bytes
-
-OaksLabObject: ; 0x1d40a (size=88)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $b, $4, $2, $ff
-	db $b, $5, $2, $ff
-
-	db $0 ; signs
-
-	db $b ; people
-	db SPRITE_BLUE, $3 + 4, $4 + 4, $ff, $ff, $41, SONY1 + $C8, $1 ; trainer
-	db SPRITE_BALL, $3 + 4, $6 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BALL, $3 + 4, $7 + 4, $ff, $ff, $3 ; person
-	db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $4 ; person
-	db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $5 ; person
-	db SPRITE_BOOK_MAP_DEX, $1 + 4, $2 + 4, $ff, $ff, $6 ; person
-	db SPRITE_BOOK_MAP_DEX, $1 + 4, $3 + 4, $ff, $ff, $7 ; person
-	db SPRITE_OAK, $a + 4, $5 + 4, $ff, $d1, $8 ; person
-	db SPRITE_GIRL, $9 + 4, $1 + 4, $fe, $1, $9 ; person
-	db SPRITE_OAK_AIDE, $a + 4, $2 + 4, $ff, $ff, $a ; person
-	db SPRITE_OAK_AIDE, $a + 4, $8 + 4, $ff, $ff, $b ; person
-
-	; warp-to
-	EVENT_DISP $5, $b, $4
-	EVENT_DISP $5, $b, $5
-
-ViridianMart_h: ; 0x1d462 to 0x1d46e (12 bytes) (bank=7) (id=42)
-	db $02 ; tileset
-	db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x)
-	dw ViridianMartBlocks, ViridianMartTexts, ViridianMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianMartObject ; objects
-
-ViridianMartScript: ; 0x1d46e
-	call ViridianMartScript_Unknown1d47d
-	call $3c3c
-	ld hl, $5495
-	ld a, [$d60d]
-	jp $3d97
-; 0x1d47d
-
-ViridianMartScript_Unknown1d47d: ; 0x1d47d
-INCBIN "baserom.gbc",$1d47d,$1e
-
-ViridianMartScript0: ; 0x1d49b
-	call $2429
-	ld a, $4
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $ccd3
-	ld de, $54bb
-	call $350c
-	dec a
-	ld [$cd38], a
-	call $3486
-	ld a, $1
-	ld [$d60d], a
-	ret
-; 0x1d4bb
-
-INCBIN "baserom.gbc",$1d4bb,$1d4c0 - $1d4bb
-
-ViridianMartScript1: ; 0x1d4c0
-	ld a, [$cd38]
-	and a
-	ret nz
-	call Delay3
-	ld a, $5
-	ld [$ff00+$8c], a
-	call $2920
-	ld bc, $4601
-	call GiveItem
-	ld hl, $d74e
-	set 1, [hl]
-	ld a, $2
-	ld [$d60d], a
-	ret
-; 0x1d4e0
-
-ViridianMartTexts: ; 0x1d4e0
-	dw ViridianMartText1, ViridianMartText2, ViridianMartText3 ;, ViridianMartText4
-
-INCBIN "baserom.gbc",$1d4e6,$a
-
-ViridianMartText1: ; 0x1d4f0
-	TX_FAR _ViridianMartText1
-	db $50
-
-UnnamedText_1d4f5: ; 0x1d4f5
-	TX_FAR _UnnamedText_1d4f5
-	db $50
-; 0x1d4f5 + 5 bytes
-
-INCBIN "baserom.gbc",$1d4fa,$6
-
-ViridianMartText2: ; 0x1d500
-	TX_FAR _ViridianMartText2
-	db $50
-
-ViridianMartText3: ; 0x1d505
-	TX_FAR _ViridianMartText3
-	db $50
-
-ViridianMartObject: ; 0x1d50a (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $1, $ff
-	db $7, $4, $1, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $fe, $1, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $3 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-ViridianMartBlocks: ; 0x1d530 16
-	INCBIN "maps/viridianmart.blk"
-
-School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43)
-	db $08 ; tileset
-	db VIRIDIAN_SCHOOL_HEIGHT, VIRIDIAN_SCHOOL_WIDTH ; dimensions (y, x)
-	dw SchoolBlocks, SchoolTexts, SchoolScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SchoolObject ; objects
-
-SchoolScript: ; 0x1d54c
-	jp $3c3c
-; 0x1d54f
-
-SchoolTexts: ; 0x1d54f
-	dw SchoolText1, SchoolText2
-
-SchoolText1: ; 0x1d553
-	TX_FAR _SchoolText1
-	db $50
-
-SchoolText2: ; 0x1d558
-	TX_FAR _SchoolText2
-	db $50
-
-SchoolObject: ; 0x1d55d (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $2, $ff
-	db $7, $3, $2, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BRUNETTE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person
-	db SPRITE_LASS, $1 + 4, $4 + 4, $ff, $d0, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-ViridianHouse_h: ; 0x1d57d to 0x1d589 (12 bytes) (bank=7) (id=44)
-	db $08 ; tileset
-	db VIRIDIAN_HOUSE_HEIGHT, VIRIDIAN_HOUSE_WIDTH ; dimensions (y, x)
-	dw ViridianHouseBlocks, ViridianHouseTexts, ViridianHouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianHouseObject ; objects
-
-INCBIN "baserom.gbc",$1d589,$1d58a - $1d589
-
-ViridianHouseScript: ; 0x1d58a
-	jp $3c3c
-; 0x1d58d
-
-ViridianHouseTexts: ; 0x1d58d
-	dw ViridianHouseText1, ViridianHouseText2, ViridianHouseText3, ViridianHouseText4
-
-ViridianHouseText1: ; 0x1d595
-	TX_FAR _ViridianHouseText1
-	db $50
-
-ViridianHouseText2: ; 0x1d59a
-	TX_FAR _ViridianHouseText2
-	db $50
-
-ViridianHouseText3: ; 0x1d59f
-	db $08 ; asm
-	ld hl, UnnamedText_1d5b1
-	call PrintText
-	ld a, SPEAROW
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-
-UnnamedText_1d5b1: ; 0x1d5b1
-	TX_FAR _UnnamedText_1d5b1
-	db $50
-; 0x1d5b1 + 5 bytes
-
-ViridianHouseText4: ; 0x1d5b6
-	TX_FAR _ViridianHouseText4
-	db $50
-
-ViridianHouseObject: ; 0x1d5bb (size=44)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $3, $ff
-	db $7, $3, $3, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_BALDING_GUY, $3 + 4, $5 + 4, $ff, $ff, $1 ; person
-	db SPRITE_LITTLE_GIRL, $4 + 4, $1 + 4, $fe, $1, $2 ; person
-	db SPRITE_BIRD, $5 + 4, $5 + 4, $fe, $2, $3 ; person
-	db SPRITE_CLIPBOARD, $0 + 4, $4 + 4, $ff, $ff, $4 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-PewterHouse1_h: ; 0x1d5e7 to 0x1d5f3 (12 bytes) (bank=7) (id=55)
-	db $08 ; tileset
-	db PEWTER_HOUSE_1_HEIGHT, PEWTER_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw PewterHouse1Blocks, PewterHouse1Texts, PewterHouse1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PewterHouse1Object ; objects
-
-PewterHouse1Script: ; 0x1d5f3
-	jp $3c3c
-; 0x1d5f6
-
-PewterHouse1Texts: ; 0x1d5f6
-	dw PewterHouse1Text1, PewterHouse1Text2, PewterHouse1Text3
-
-PewterHouse1Text1: ; 0x1d5fc
-	TX_FAR _PewterHouse1Text1
-	db $08 ; asm
-	ld a, $3
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-
-PewterHouse1Text2: ; 0x1d60c
-	TX_FAR _PewterHouse1Text2
-	db $50
-
-PewterHouse1Text3: ; 0x1d611
-	TX_FAR _PewterHouse1Text3
-	db $50
-
-PewterHouse1Object: ; 0x1d616 (size=38)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $3, $ff
-	db $7, $3, $3, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_SLOWBRO, $5 + 4, $4 + 4, $ff, $d2, $1 ; person
-	db SPRITE_YOUNG_BOY, $5 + 4, $3 + 4, $ff, $d3, $2 ; person
-	db SPRITE_FAT_BALD_GUY, $2 + 4, $1 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-PewterHouse2_h: ; 0x1d63c to 0x1d648 (12 bytes) (bank=7) (id=57)
-	db $08 ; tileset
-	db PEWTER_HOUSE_2_HEIGHT, PEWTER_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw PewterHouse2Blocks, PewterHouse2Texts, PewterHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PewterHouse2Object ; objects
-
-PewterHouse2Script: ; 0x1d648
-	jp $3c3c
-; 0x1d64b
-
-PewterHouse2Texts: ; 0x1d64b
-	dw PewterHouse2Text1, PewterHouse2Text2
-
-PewterHouse2Text1: ; 0x1d64f
-	TX_FAR _PewterHouse2Text1
-	db $50
-
-PewterHouse2Text2: ; 0x1d654
-	TX_FAR _PewterHouse2Text2
-	db $50
-
-PewterHouse2Object: ; 0x1d659 (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $5, $ff
-	db $7, $3, $5, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BUG_CATCHER, $5 + 4, $4 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-CeruleanHouseTrashed_h: ; 0x1d679 to 0x1d685 (12 bytes) (bank=7) (id=62)
-	db $08 ; tileset
-	db TRASHED_HOUSE_HEIGHT, TRASHED_HOUSE_WIDTH ; dimensions (y, x)
-	dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTexts, CeruleanHouseTrashedScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeruleanHouseTrashedObject ; objects
-
-CeruleanHouseTrashedScript: ; 0x1d685
-	call $3c3c
-	ret
-; 0x1d689
-
-CeruleanHouseTrashedTexts: ; 0x1d689
-	dw CeruleanHouseTrashedText1, CeruleanHouseTrashedText2, CeruleanHouseTrashedText3
-
-CeruleanHouseTrashedText1: ; 0x1d68f
-	db $08 ; asm
-	ld b, $e4
-	ld a, $1c
-	call Predef
-	and b
-	jr z, .asm_f8734 ; 0x1d698
-	ld hl, UnnamedText_1d6b0
-	call PrintText
-	jr .asm_8dfe9 ; 0x1d6a0
-.asm_f8734 ; 0x1d6a2
-	ld hl, UnnamedText_1d6ab
-	call PrintText
-.asm_8dfe9 ; 0x1d6a8
-	jp TextScriptEnd
-
-UnnamedText_1d6ab: ; 0x1d6ab
-	TX_FAR _UnnamedText_1d6ab
-	db $50
-; 0x1d6ab + 5 bytes
-
-UnnamedText_1d6b0: ; 0x1d6b0
-	TX_FAR _UnnamedText_1d6b0
-	db $50
-; 0x1d6b0 + 5 bytes
-
-CeruleanHouseTrashedText2: ; 0x1d6b5
-	TX_FAR _CeruleanHouseTrashedText2
-	db $50
-
-CeruleanHouseTrashedText3: ; 0x1d6ba
-	TX_FAR _CeruleanHouseTrashedText3
-	db $50
-
-CeruleanHouseTrashedObject: ; 0x1d6bf (size=43)
-	db $a ; border tile
-
-	db $3 ; warps
-	db $7, $2, $0, $ff
-	db $7, $3, $0, $ff
-	db $0, $3, $7, $ff
-
-	db $1 ; signs
-	db $0, $3, $3 ; CeruleanHouseTrashedText3
-
-	db $2 ; people
-	db SPRITE_FISHER, $1 + 4, $2 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GIRL, $6 + 4, $5 + 4, $fe, $2, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $0, $3
-
-CeruleanHouse2_h: ; 0x1d6ea to 0x1d6f6 (12 bytes) (bank=7) (id=63)
-	db $08 ; tileset
-	db CERULEAN_HOUSE_HEIGHT, CERULEAN_HOUSE_WIDTH ; dimensions (y, x)
-	dw CeruleanHouse2Blocks, CeruleanHouse2Texts, CeruleanHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeruleanHouse2Object ; objects
-
-CeruleanHouse2Script: ; 0x1d6f6
-	jp $3c3c
-; 0x1d6f9
-
-CeruleanHouse2Texts: ; 0x1d6f9
-	dw CeruleanHouse2Text1, CeruleanHouse2Text2
-
-CeruleanHouse2Text1: ; 0x1d6fd
-	TX_FAR _CeruleanHouse2Text1
-	db $50
-
-CeruleanHouse2Text2: ; 0x1d702
-	db $08 ; asm
-	ld a, $6
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-	jp TextScriptEnd
-
-CeruleanHouse2Object: ; 0x1d710 (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $1, $ff
-	db $7, $3, $1, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_OLD_MEDIUM_WOMAN, $4 + 4, $5 + 4, $ff, $d2, $1 ; person
-	db SPRITE_GAMBLER, $2 + 4, $1 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-BikeShop_h: ; 0x1d730 to 0x1d73c (12 bytes) (bank=7) (id=66)
-	db $15 ; tileset
-	db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x)
-	dw BikeShopBlocks, BikeShopTexts, BikeShopScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw BikeShopObject ; objects
-
-BikeShopScript: ; 0x1d73c
-	jp $3c3c
-; 0x1d73f
-
-BikeShopTexts: ; 0x1d73f
-	dw BikeShopText1, BikeShopText2, BikeShopText3
-
-BikeShopText1: ; 0x1d745
-	db $08 ; asm
-	ld a, [$d75f]
-	bit 0, a
-	jr z, .asm_260d4 ; 0x1d74b
-	ld hl, UnnamedText_1d82f
-	call PrintText
-	jp $57f5
-.asm_260d4 ; 0x1d756
-	ld b, BIKE_VOUCHER
-	call $3493
-	jr z, .asm_41190 ; 0x1d75b
-	ld hl, UnnamedText_1d81f
-	call PrintText
-	ld bc, (BICYCLE << 8) | 1
-	call GiveItem
-	jr nc, .asm_d0d90 ; 0x1d769
-	ld a, $2d
-	ldh [$db], a
-	ld b, $5 ; BANK(MyFunction)
-	ld hl, $7f37 ; MyFunction
-	call Bankswitch
-	ld hl, $d75f
-	set 0, [hl]
-	ld hl, UnnamedText_1d824
-	call PrintText
-	jr .asm_99ef2 ; 0x1d782
-.asm_d0d90 ; 0x1d784
-	ld hl, UnnamedText_1d834
-	call PrintText
-	jr .asm_99ef2 ; 0x1d78a
-.asm_41190 ; 0x1d78c
-	ld hl, UnnamedText_1d810
-	call PrintText
-	xor a
-	ld [$cc26], a
-	ld [$cc2a], a
-	ld a, $3
-	ld [$cc29], a
-	ld a, $1
-	ld [$cc28], a
-	ld a, $2
-	ld [$cc24], a
-	ld a, $1
-	ld [$cc25], a
-	ld hl, $d730
-	set 6, [hl]
-	ld hl, $c3a0
-	ld b, $4
-	ld c, $f
-	call $1922
-	call $2429
-	ld hl, $c3ca
-	ld de, $57f8
-	call $1955
-	ld hl, $c3e4
-	ld de, $5807
-	call $1955
-	ld hl, UnnamedText_1d815
-	call PrintText
-	call $3abe
-	bit 1, a
-	jr nz, .asm_b7579 ; 0x1d7dc
-	ld hl, $d730
-	res 6, [hl]
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_b7579 ; 0x1d7e7
-	ld hl, UnnamedText_1d81a
-	call PrintText
-.asm_b7579 ; 0x1d7ef
-	ld hl, UnnamedText_1d82a
-	call PrintText
-.asm_99ef2 ; 0x1d7f5
-	jp TextScriptEnd
-
-INCBIN "baserom.gbc",$1d7f8,$1d810 - $1d7f8
-
-UnnamedText_1d810: ; 0x1d810
-	TX_FAR _UnnamedText_1d810
-	db $50
-; 0x1d810 + 5 bytes
-
-UnnamedText_1d815: ; 0x1d815
-	TX_FAR _UnnamedText_1d815
-	db $50
-; 0x1d815 + 5 bytes
-
-UnnamedText_1d81a: ; 0x1d81a
-	TX_FAR _UnnamedText_1d81a
-	db $50
-; 0x1d81a + 5 bytes
-
-UnnamedText_1d81f: ; 0x1d81f
-	TX_FAR _UnnamedText_1d81f
-	db $50
-; 0x1d81f + 5 bytes
-
-UnnamedText_1d824: ; 0x1d824
-	TX_FAR _UnnamedText_1d824 ; 0x98eb2
-	db $11, $50
-
-UnnamedText_1d82a: ; 0x1d82a
-	TX_FAR _UnnamedText_1d82a
-	db $50
-; 0x1d82a + 5 bytes
-
-UnnamedText_1d82f: ; 0x1d82f
-	TX_FAR _UnnamedText_1d82f
-	db $50
-; 0x1d82f + 5 bytes
-
-UnnamedText_1d834: ; 0x1d834
-	TX_FAR _UnnamedText_1d834
-	db $50
-; 0x1d834 + 5 bytes
-
-BikeShopText2: ; 0x1d839
-	db $08 ; asm
-	ld hl, UnnamedText_1d843
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_1d843: ; 0x1d843
-	TX_FAR _UnnamedText_1d843
-	db $50
-; 0x1d843 + 5 bytes
-
-BikeShopText3: ; 0x1d848
-	db $08 ; asm
-	ld a, [$d75f]
-	bit 0, a
-	ld hl, UnnamedText_1d861
-	jr nz, .asm_34d2d ; 0x1d851
-	ld hl, UnnamedText_1d85c
-.asm_34d2d ; 0x1d856
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_1d85c: ; 0x1d85c
-	TX_FAR _UnnamedText_1d85c
-	db $50
-; 0x1d85c + 5 bytes
-
-UnnamedText_1d861: ; 0x1d861
-	TX_FAR _UnnamedText_1d861
-	db $50
-; 0x1d861 + 5 bytes
-
-BikeShopObject: ; 0x1d866 (size=38)
-	db $e ; border tile
-
-	db $2 ; warps
-	db $7, $2, $4, $ff
-	db $7, $3, $4, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_BIKE_SHOP_GUY, $2 + 4, $6 + 4, $ff, $ff, $1 ; person
-	db SPRITE_MOM_GEISHA, $6 + 4, $5 + 4, $fe, $1, $2 ; person
-	db SPRITE_BUG_CATCHER, $3 + 4, $1 + 4, $ff, $d1, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-BikeShopBlocks: ; 0x1d88c 16
-	INCBIN "maps/bikeshop.blk"
-
-LavenderHouse1_h: ; 0x1d89c to 0x1d8a8 (12 bytes) (bank=7) (id=149)
-	db $08 ; tileset
-	db LAVENDER_HOUSE_1_HEIGHT, LAVENDER_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw LavenderHouse1Blocks, LavenderHouse1Texts, LavenderHouse1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw LavenderHouse1Object ; objects
-
-LavenderHouse1Script: ; 0x1d8a8
-	call $3c3c
-	ret
-; 0x1d8ac
-
-LavenderHouse1Texts: ; 0x1d8ac
-	dw LavenderHouse1Text1, LavenderHouse1Text2, LavenderHouse1Text3, LavenderHouse1Text4, LavenderHouse1Text5, LavenderHouse1Text6
-
-LavenderHouse1Text1: ; 0x1d8b8
-	db $08 ; asm
-	ld a, [$d7e0]
-	bit 7, a
-	jr nz, .asm_72e5d ; 0x1d8be
-	ld hl, UnnamedText_1d8d1
-	call PrintText
-	jr .asm_6957f ; 0x1d8c6
-.asm_72e5d ; 0x1d8c8
-	ld hl, UnnamedText_1d8d6
-	call PrintText
-.asm_6957f ; 0x1d8ce
-	jp TextScriptEnd
-
-UnnamedText_1d8d1: ; 0x1d8d1
-	TX_FAR _UnnamedText_1d8d1
-	db $50
-; 0x1d8d1 + 5 bytes
-
-UnnamedText_1d8d6: ; 0x1d8d6
-	TX_FAR _UnnamedText_1d8d6
-	db $50
-; 0x1d8d6 + 5 bytes
-
-LavenderHouse1Text2: ; 0x1d8db
-	db $08 ; asm
-	ld a, [$d7e0]
-	bit 7, a
-	jr nz, .asm_06470 ; 0x1d8e1
-	ld hl, UnnamedText_1d8f4
-	call PrintText
-	jr .asm_3d208 ; 0x1d8e9
-.asm_06470 ; 0x1d8eb
-	ld hl, UnnamedText_1d8f9
-	call PrintText
-.asm_3d208 ; 0x1d8f1
-	jp TextScriptEnd
-
-UnnamedText_1d8f4: ; 0x1d8f4
-	TX_FAR _UnnamedText_1d8f4
-	db $50
-; 0x1d8f4 + 5 bytes
-
-UnnamedText_1d8f9: ; 0x1d8f9
-	TX_FAR _UnnamedText_1d8f9
-	db $50
-; 0x1d8f9 + 5 bytes
-
-LavenderHouse1Text3: ; 0x1d8fe
-	TX_FAR _LavenderHouse1Text3
-	db $8
-	ld a, $2f
-	call $13d0
-	jp TextScriptEnd
-
-LavenderHouse1Text4: ; 0x1d90b
-	TX_FAR _LavenderHouse1Text4
-	db $8
-	ld a, $a7
-	call $13d0
-	jp TextScriptEnd
-; 0x1d918
-
-LavenderHouse1Text5: ; 0x1d918
-	db $08 ; asm
-	ld a, [$d76c]
-	bit 0, a
-	jr nz, .asm_15ac2 ; 0x1d91e
-	ld hl, UnnamedText_1d94c
-	call PrintText
-	ld bc, (POKE_FLUTE << 8) | 1
-	call GiveItem
-	jr nc, .asm_5ce36 ; 0x1d92c
-	ld hl, UnnamedText_1d951
-	call PrintText
-	ld hl, $d76c
-	set 0, [hl]
-	jr .asm_da749 ; 0x1d939
-.asm_5ce36 ; 0x1d93b
-	ld hl, UnnamedText_1d95b
-	call PrintText
-	jr .asm_da749 ; 0x1d941
-.asm_15ac2 ; 0x1d943
-	ld hl, UnnamedText_1d960
-	call PrintText
-.asm_da749 ; 0x1d949
-	jp TextScriptEnd
-
-UnnamedText_1d94c: ; 0x1d94c
-	TX_FAR _UnnamedText_1d94c
-	db $50
-; 0x1d94c + 5 bytes
-
-UnnamedText_1d951: ; 0x1d951
-	TX_FAR _UnnamedText_1d951 ; 0x99ffb
-	db $11
-	TX_FAR _UnnamedText_1d956 ; 0x9a011
-	db $50
-; 0x1d95b
-
-UnnamedText_1d95b: ; 0x1d95b
-	TX_FAR _UnnamedText_1d95b
-	db $50
-; 0x1d95b + 5 bytes
-
-UnnamedText_1d960: ; 0x1d960
-	TX_FAR _UnnamedText_1d960
-	db $50
-; 0x1d960 + 5 bytes
-
-LavenderHouse1Text6: ; 0x1d965
-	TX_FAR _LavenderHouse1Text6
-	db $50
-
-LavenderHouse1Object: ; 0x1d96a (size=56)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $2, $ff
-	db $7, $3, $2, $ff
-
-	db $0 ; signs
-
-	db $6 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $ff, $1 ; person
-	db SPRITE_LITTLE_GIRL, $3 + 4, $6 + 4, $ff, $d0, $2 ; person
-	db SPRITE_SLOWBRO, $4 + 4, $6 + 4, $ff, $d1, $3 ; person
-	db SPRITE_SLOWBRO, $3 + 4, $1 + 4, $ff, $ff, $4 ; person
-	db SPRITE_MR_FUJI, $1 + 4, $3 + 4, $ff, $ff, $5 ; person
-	db SPRITE_BOOK_MAP_DEX, $3 + 4, $3 + 4, $ff, $ff, $6 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-LavenderHouse2_h: ; 0x1d9a2 to 0x1d9ae (12 bytes) (bank=7) (id=151)
-	db $08 ; tileset
-	db LAVENDER_HOUSE_2_HEIGHT, LAVENDER_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw LavenderHouse2Blocks, LavenderHouse2Texts, LavenderHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw LavenderHouse2Object ; objects
-
-LavenderHouse2Script: ; 0x1d9ae
-	call $3c3c
-	ret
-; 0x1d9b2
-
-LavenderHouse2Texts: ; 0x1d9b2
-	dw LavenderHouse2Text1, LavenderHouse2Text2
-
-LavenderHouse2Text1: ; 0x1d9b6
-	TX_FAR _LavenderHouse2Text1
-	db $8
-	ld a, $11
-	call $13d0
-	jp TextScriptEnd
-; 0x1d9c3
-
-LavenderHouse2Text2: ; 0x1d9c3
-	db $08 ; asm
-	ld a, [$d7e0]
-	bit 7, a
-	jr nz, .asm_65711 ; 0x1d9c9
-	ld hl, UnnamedText_1d9dc
-	call PrintText
-	jr .asm_64be1 ; 0x1d9d1
-.asm_65711 ; 0x1d9d3
-	ld hl, UnnamedText_1d9e1
-	call PrintText
-.asm_64be1 ; 0x1d9d9
-	jp TextScriptEnd
-
-UnnamedText_1d9dc: ; 0x1d9dc
-	TX_FAR _UnnamedText_1d9dc
-	db $50
-; 0x1d9dc + 5 bytes
-
-UnnamedText_1d9e1: ; 0x1d9e1
-	TX_FAR _UnnamedText_1d9e1
-	db $50
-; 0x1d9e1 + 5 bytes
-
-LavenderHouse2Object: ; 0x1d9e6 (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $4, $ff
-	db $7, $3, $4, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_SLOWBRO, $5 + 4, $3 + 4, $ff, $d1, $1 ; person
-	db SPRITE_BRUNETTE_GIRL, $4 + 4, $2 + 4, $ff, $d3, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229)
-	db $08 ; tileset
-	db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x)
-	dw NameRaterBlocks, $5a54, NameRaterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw NameRaterObject ; objects
-
-NameRaterScript: ; 0x1da12
-	jp $3c3c
-; 0x1da15
-
-INCBIN "baserom.gbc",$1da15,$41
-
-NameRaterText1: ; 0x1da56
-	db $8
-	call $36f4
-	ld hl, UnnamedText_1dab3
-	call $5a15
-	jr nz, .asm_1daae ; 0x1da60 $4c
-	ld hl, UnnamedText_1dab8
-	call PrintText
-	xor a
-	ld [$d07d], a
-	ld [$cfcb], a
-	ld [$cc35], a
-	call $13fc
-	push af
-	call $3dd4
-	call $3dbe
-	call $20ba
-	pop af
-	jr c, .asm_1daae ; 0x1da80 $2c
-	call $15b4
-	call $5a20
-	ld hl, UnnamedText_1dad1
-	jr c, .asm_1daa8 ; 0x1da8b $1b
-	ld hl, UnnamedText_1dabd
-	call $5a15
-	jr nz, .asm_1daae ; 0x1da93 $19
-	ld hl, UnnamedText_1dac2
-	call PrintText
-	ld b, $1
-	ld hl, $655c
-	call Bankswitch
-	jr c, .asm_1daae ; 0x1daa3 $9
-	ld hl, UnnamedText_1dac7
-.asm_1daa8
-	call PrintText
-	jp TextScriptEnd
-.asm_1daae
-	ld hl, UnnamedText_1dacc
-	jr .asm_1daa8 ; 0x1dab1 $f5
-; 0x1dab3
-
-UnnamedText_1dab3: ; 0x1dab3
-	TX_FAR _UnnamedText_1dab3
-	db $50
-; 0x1dab3 + 5 bytes
-
-UnnamedText_1dab8: ; 0x1dab8
-	TX_FAR _UnnamedText_1dab8
-	db $50
-; 0x1dab8 + 5 bytes
-
-UnnamedText_1dabd: ; 0x1dabd
-	TX_FAR _UnnamedText_1dabd
-	db $50
-; 0x1dabd + 5 bytes
-
-UnnamedText_1dac2: ; 0x1dac2
-	TX_FAR _UnnamedText_1dac2
-	db $50
-; 0x1dac2 + 5 bytes
-
-UnnamedText_1dac7: ; 0x1dac7
-	TX_FAR _UnnamedText_1dac7
-	db $50
-; 0x1dac7 + 5 bytes
-
-UnnamedText_1dacc: ; 0x1dacc
-	TX_FAR _UnnamedText_1dacc
-	db $50
-; 0x1dacc + 5 bytes
-
-UnnamedText_1dad1: ; 0x1dad1
-	TX_FAR _UnnamedText_1dad1
-	db $50
-; 0x1dad1 + 5 bytes
-
-NameRaterObject: ; 0x1dad6 (size=26)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $5, $ff
-	db $7, $3, $5, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_MR_MASTERBALL, $3 + 4, $5 + 4, $ff, $d2, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-VermilionHouse1_h: ; 0x1daf0 to 0x1dafc (12 bytes) (bank=7) (id=93)
-	db $08 ; tileset
-	db VERMILION_HOUSE_1_HEIGHT, VERMILION_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw VermilionHouse1Blocks, VermilionHouse1Texts, VermilionHouse1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionHouse1Object ; objects
-
-VermilionHouse1Script: ; 0x1dafc
-	call $3c3c
-	ret
-; 0x1db00
-
-VermilionHouse1Texts: ; 0x1db00
-	dw VermilionHouse1Text1, VermilionHouse1Text2, VermilionHouse1Text3
-
-VermilionHouse1Text1: ; 0x1db06
-	TX_FAR _VermilionHouse1Text1
-	db $50
-
-VermilionHouse1Text2: ; 0x1db0b
-	TX_FAR _VermilionHouse1Text2
-	db $08 ; asm
-	ld a, $24
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-
-VermilionHouse1Text3: ; 0x1db1b
-	TX_FAR _VermilionHouse1Text3
-	db $50
-
-INCBIN "baserom.gbc", $1db1b + 5, $1db20 - ($1db1b + 5)
-
-VermilionHouse1Object: ; 0x1db20 (size=38)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $4, $ff
-	db $7, $3, $4, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_BUG_CATCHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person
-	db SPRITE_BIRD, $5 + 4, $3 + 4, $fe, $2, $2 ; person
-	db SPRITE_PAPER_SHEET, $3 + 4, $4 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-VermilionDock_h: ; 0x1db46 to 0x1db52 (12 bytes) (bank=7) (id=94)
-	db $0e ; tileset
-	db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x)
-	dw VermilionDockBlocks, VermilionDockTexts, VermilionDockScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionDockObject ; objects
-
-VermilionDockScript: ; 0x1db52
-	call $3c3c
-	ld hl, $d803
-	bit 4, [hl]
-	jr nz, .asm_1db8d ; 0x1db5a $31
-	bit 0, [hl]
-	ret z
-	ld a, [$d42f]
-	cp $1
-	ret nz
-	bit 2, [hl]
-	jp z, $5b9b
-	set 4, [hl]
-	call Delay3
-	ld hl, $d730
-	set 7, [hl]
-	ld hl, $ccd3
-	ld a, $40
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld a, $3
-	ld [$cd38], a
-	xor a
-	ld [$c206], a
-	ld [$cd3b], a
-	dec a
-	ld [$cd6b], a
-	ret
-.asm_1db8d
-	bit 5, [hl]
-	ret nz
-	ld a, [$cd38]
-	and a
-	ret nz
-	ld [$cd6b], a
-	set 5, [hl]
-	ret
-; 0x1db9b
-
-INCBIN "baserom.gbc",$1db9b,$1dcbf - $1db9b
-
-VermilionDockTexts: ; 0x1dcbf
-INCBIN "baserom.gbc",$1dcbf,$1dcc1 - $1dcbf
-
-UnnamedText_1dcc1: ; 0x1dcc1
-	TX_FAR _UnnamedText_1dcc1
-	db $50
-; 0x1dcc1 + 5 bytes
-
-VermilionDockObject: ; 0x1dcc6 (size=20)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $0, $e, $5, $ff
-	db $2, $e, $1, SS_ANNE_1
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $e, $0, $e
-	EVENT_DISP $e, $2, $e ; SS_ANNE_1
-
-VermilionDockBlocks: ; 0x1dcda 84
-	INCBIN "maps/vermiliondock.blk"
-
-CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132)
-	db $08 ; tileset
-	db CELADON_MANSION_5_HEIGHT, CELADON_MANSION_5_WIDTH ; dimensions (y, x)
-	dw CeladonMansion5Blocks, CeladonMansion5Texts, CeladonMansion5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMansion5Object ; objects
-
-CeladonMansion5Script: ; 0x1dd3a
-	jp $3c3c
-; 0x1dd3d
-
-CeladonMansion5Texts: ; 0x1dd3d
-	dw CeladonMansion5Text1, CeladonMansion5Text2
-
-CeladonMansion5Text1: ; 0x1dd41
-	TX_FAR _CeladonMansion5Text1
-	db $50
-
-CeladonMansion5Text2: ; 0x1dd46
-	db $08 ; asm
-	ld bc,(EEVEE << 8) | 25
-	call GivePokemon
-	jr nc, .asm_24365 ; 0x1dd4d
-	ld a, $45
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-.asm_24365 ; 0x1dd59
-	jp TextScriptEnd
-
-CeladonMansion5Object: ; 0x1dd5c (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $2, CELADON_MANSION_4
-	db $7, $3, $2, CELADON_MANSION_4
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_HIKER, $2 + 4, $2 + 4, $ff, $d0, $1 ; person
-	db SPRITE_BALL, $3 + 4, $4 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; CELADON_MANSION_4
-	EVENT_DISP $4, $7, $3 ; CELADON_MANSION_4
-
-FuchsiaMart_h: ; 0x1dd7c to 0x1dd88 (12 bytes) (bank=7) (id=152)
-	db $02 ; tileset
-	db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x)
-	dw FuchsiaMartBlocks, FuchsiaMartTexts, FuchsiaMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaMartObject ; objects
-
-FuchsiaMartScript: ; 0x1dd88
-	jp $3c3c
-; 0x1dd8b
-
-FuchsiaMartTexts: ; 0x1dd8b
-	dw FuchsiaMartText1, FuchsiaMartText2, FuchsiaMartText3
-
-FuchsiaMartText2: ; 0x1dd91
-	TX_FAR _FuchsiaMartText2
-	db $50
-
-FuchsiaMartText3: ; 0x1dd96
-	TX_FAR _FuchsiaMartText3
-	db $50
-
-FuchsiaMartObject: ; 0x1dd9b (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $0, $ff
-	db $7, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_FAT_BALD_GUY, $2 + 4, $4 + 4, $ff, $ff, $2 ; person
-	db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $1, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-FuchsiaMartBlocks: ; 0x1ddc1 16
-	INCBIN "maps/fuchsiamart.blk"
-
-SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179)
-	db $08 ; tileset
-	db SAFFRON_HOUSE_1_HEIGHT, SAFFRON_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw SaffronHouse1Blocks, SaffronHouse1Texts, SaffronHouse1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SaffronHouse1Object ; objects
-
-SaffronHouse1Script: ; 0x1dddd
-	jp $3c3c
-; 0x1dde0
-
-SaffronHouse1Texts: ; 0x1dde0
-	dw SaffronHouse1Text1, SaffronHouse1Text2, SaffronHouse1Text3, SaffronHouse1Text4
-
-SaffronHouse1Text1: ; 0x1dde8
-	TX_FAR _SaffronHouse1Text1
-	db $50
-
-SaffronHouse1Text2: ; 0x1dded
-	TX_FAR _SaffronHouse1Text2
-	db $8
-	ld a, $24
-	call $13d0
-	jp TextScriptEnd
-; 0x1ddfa
-
-SaffronHouse1Text3: ; 0x1ddfa
-	TX_FAR _SaffronHouse1Text3
-	db $50
-
-SaffronHouse1Text4: ; 0x1ddff
-	TX_FAR _SaffronHouse1Text4
-	db $50
-
-SaffronHouse1Object: ; 0x1de04 (size=44)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $3, $ff
-	db $7, $3, $3, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BIRD, $4 + 4, $0 + 4, $fe, $1, $2 ; person
-	db SPRITE_BUG_CATCHER, $1 + 4, $4 + 4, $ff, $d0, $3 ; person
-	db SPRITE_PAPER_SHEET, $3 + 4, $3 + 4, $ff, $ff, $4 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-SaffronHouse2_h: ; 0x1de30 to 0x1de3c (12 bytes) (bank=7) (id=183)
-	db $08 ; tileset
-	db SAFFRON_HOUSE_2_HEIGHT, SAFFRON_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw SaffronHouse2Blocks, SaffronHouse2Texts, SaffronHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SaffronHouse2Object ; objects
-
-SaffronHouse2Script: ; 0x1de3c
-	jp $3c3c
-; 0x1de3f
-
-SaffronHouse2Texts: ; 0x1de3f
-	dw SaffronHouse2Text1
-
-SaffronHouse2Text1: ; 0x1de41
-	db $08 ; asm
-	ld a, [$d7bd]
-	bit 0, a
-	jr nz, .asm_9e72b ; 0x1de47
-	ld hl, UnnamedText_1de75
-	call PrintText
-	ld bc,(TM_29 << 8) | 1
-	call GiveItem
-	jr nc, .asm_4b1da ; 0x1de55
-	ld hl, UnnamedText_1de7a
-	call PrintText
-	ld hl, $d7bd
-	set 0, [hl]
-	jr .asm_fe4e1 ; 0x1de62
-.asm_4b1da ; 0x1de64
-	ld hl, UnnamedText_1de85
-	call PrintText
-	jr .asm_fe4e1 ; 0x1de6a
-.asm_9e72b ; 0x1de6c
-	ld hl, UnnamedText_1de80
-	call PrintText
-.asm_fe4e1 ; 0x1de72
-	jp TextScriptEnd
-
-UnnamedText_1de75: ; 0x1de75
-	TX_FAR _UnnamedText_1de75
-	db $50
-; 0x1de75 + 5 bytes
-
-UnnamedText_1de7a: ; 0x1de7a
-	TX_FAR _UnnamedText_1de7a ; 0xa252a
-	db $0B, $50
-; 0x1de80
-
-UnnamedText_1de80: ; 0x1de80
-	TX_FAR _UnnamedText_1de80
-	db $50
-; 0x1de80 + 5 bytes
-
-UnnamedText_1de85: ; 0x1de85
-	TX_FAR _UnnamedText_1de85
-	db $50
-; 0x1de85 + 5 bytes
-
-SaffronHouse2Object: ; 0x1de8a (size=26)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $7, $ff
-	db $7, $3, $7, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46)
-	db $11 ; tileset
-	db DIGLETTS_CAVE_EXIT_HEIGHT, DIGLETTS_CAVE_EXIT_WIDTH ; dimensions (y, x)
-	dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2Texts, DiglettsCaveRoute2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw DiglettsCaveRoute2Object ; objects
-
-DiglettsCaveRoute2Script: ; 0x1deb0
-	ld a, $d
-	ld [$d365], a
-	jp $3c3c
-; 0x1deb8
-
-DiglettsCaveRoute2Texts: ; 0x1deb8
-	dw DiglettsCaveRoute2Text1
-
-DiglettsCaveRoute2Text1: ; 0x1deba
-	TX_FAR _DiglettsCaveRoute2Text1
-	db $50
-
-DiglettsCaveRoute2Object: ; 0x1debf (size=34)
-	db $7d ; border tile
-
-	db $3 ; warps
-	db $7, $2, $0, $ff
-	db $7, $3, $0, $ff
-	db $4, $4, $0, DIGLETTS_CAVE
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE
-
-Route2House_h: ; 0x1dee1 to 0x1deed (12 bytes) (bank=7) (id=48)
-	db $08 ; tileset
-	db ROUTE_2_HOUSE_HEIGHT, ROUTE_2_HOUSE_WIDTH ; dimensions (y, x)
-	dw Route2HouseBlocks, Route2HouseTexts, Route2HouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route2HouseObject ; objects
-
-Route2HouseScript: ; 0x1deed
-	jp $3c3c
-; 0x1def0
-
-Route2HouseTexts: ; 0x1def0
-	dw Route2HouseText1, Route2HouseText2
-
-Route2HouseText1: ; 0x1def4
-	TX_FAR _Route2HouseText1
-	db $50
-
-Route2HouseText2: ; 0x1def9
-	db $08 ; asm
-	ld a, $1
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-	jp TextScriptEnd
-
-Route2HouseObject: ; 0x1df07 (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $2, $ff
-	db $7, $3, $2, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_OAK_AIDE, $4 + 4, $2 + 4, $ff, $d3, $1 ; person
-	db SPRITE_GAMEBOY_KID_COPY, $1 + 4, $4 + 4, $ff, $d0, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-Route5Gate_h: ; 0x1df27 to 0x1df33 (12 bytes) (bank=7) (id=70)
-	db $0c ; tileset
-	db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x)
-	dw Route5GateBlocks, Route5GateTexts, Route5GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route5GateObject ; objects
-
-Route5GateScript: ; 0x1df33
-	call $3c3c
-	ld a, [$d662]
-	ld hl, Route5GateScripts
-	jp $3d97
-; 0x1df3f
-
-Route5GateScripts: ; 0x1df3f
-	dw Route5GateScript0
-
-INCBIN "baserom.gbc",$1df41,$f
-
-Route5GateScript0: ; 0x1df50
-	ld a, [$d728]
-	bit 6, a
-	ret nz
-	ld hl, $5f8f
-	call $34bf
-	ret nc
-	ld a, $2
-	ld [$d528], a
-	xor a
-	ld [$ff00+$b4], a
-	ld b, $16
-	ld hl, $659f
-	call Bankswitch
-	ld a, [$ff00+$db]
-	and a
-	jr nz, .asm_1df82 ; 0x1df70 $10
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $2920
-	call $5f43
-	ld a, $1
-	ld [$d662], a
-	ret
-.asm_1df82
-	ld a, $3
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d728
-	set 6, [hl]
-	ret
-; 0x1df8f
-
-INCBIN "baserom.gbc",$1df8f,$15
-
-Route5GateTexts: ; 0x1dfa4
-	dw Route5GateText1, Route5GateText2, Route5GateText3
-
-Route8GateText1:
-Route7GateText1:
-Route6GateText1:
-Route5GateText1: ; 0x1dfaa
-	db $8
-	ld a, [$d728]
-	bit 6, a
-	jr nz, .asm_88856 ; 0x1dfb0 $2c
-	ld b, $16
-	ld hl, $659f
-	call Bankswitch
-	ld a, [$ff00+$db]
-	and a
-	jr nz, .asm_768a2 ; 0x1dfbd $11
-	ld hl, UnnamedText_1dfe7
-	call PrintText
-	call $5f43
-	ld a, $1
-	ld [$d662], a
-	jp TextScriptEnd
-.asm_768a2 ; 0x1dfd0
-	ld hl, UnnamedText_1dfec
-	call PrintText
-	ld hl, $d728
-	set 6, [hl]
-	jp TextScriptEnd
-.asm_88856 ; 0x1dfde
-	ld hl, UnnamedText_1dff6
-	call PrintText
-	jp TextScriptEnd
-; 0x1dfe7
-
-Route8GateText2:
-Route7GateText2:
-Route6GateText2:
-Route5GateText2: ; 0x1dfe7
-UnnamedText_1dfe7: ; 0x1dfe7
-	TX_FAR _UnnamedText_1dfe7
-	db $50
-; 0x1dfe7 + 5 bytes
-
-Route8GateText3:
-Route7GateText3:
-Route6GateText3:
-Route5GateText3: ; 0x1dfec
-UnnamedText_1dfec: ; 0x1dfec
-	TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9
-	db $11
-	TX_FAR _UnnamedText_1dff1 ; 0x8aaef
-	db $50
-; 0x1dff6
-
-UnnamedText_1dff6: ; 0x1dff6
-	TX_FAR _UnnamedText_1dff6
-	db $50
-; 0x1dff6 + 5 bytes
-
-Route5GateObject: ; 0x1dffb (size=42)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $5, $3, $2, $ff
-	db $5, $4, $2, $ff
-	db $0, $3, $1, $ff
-	db $0, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $d3, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $5, $3
-	EVENT_DISP $4, $5, $4
-	EVENT_DISP $4, $0, $3
-	EVENT_DISP $4, $0, $4
-
-Route5GateBlocks: ; 0x1e025 12
-	INCBIN "maps/route5gate.blk"
-
-Route6Gate_h: ; 0x1e031 to 0x1e03d (12 bytes) (bank=7) (id=73)
-	db $0c ; tileset
-	db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x)
-	dw Route6GateBlocks, Route6GateTexts, Route6GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route6GateObject ; objects
-
-Route6GateScript: ; 0x1e03d
-	call $3c3c
-	ld hl, Route6GateScripts
-	ld a, [$d636]
-	call $3d97
-	ret
-; 0x1e04a
-
-Route6GateScripts: ; 0x1e04a
-	dw Route6GateScript0
-
-INCBIN "baserom.gbc",$1e04c,$2
-
-Route6GateScript0: ; 0x1e04e
-	ld a, [$d728]
-	bit 6, a
-	ret nz
-	ld hl, $608c
-	call $34bf
-	ret nc
-	ld a, $1
-	ld [$d528], a
-	xor a
-	ld [$ff00+$b4], a
-	ld b, $16
-	ld hl, $659f
-	call Bankswitch
-	ld a, [$ff00+$db]
-	and a
-	jr nz, .asm_1e080 ; 0x1e06e $10
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $2920
-	call $60a1
-	ld a, $1
-	ld [$d636], a
-	ret
-.asm_1e080
-	ld hl, $d728
-	set 6, [hl]
-	ld a, $3
-	ld [$ff00+$8c], a
-	jp $2920
-; 0x1e08c
-
-INCBIN "baserom.gbc",$1e08c,$2c
-
-Route6GateTexts: ; 0x1e0b8
-	dw Route6GateText1, Route6GateText2, Route6GateText3
-
-Route6GateObject: ; 0x1e0be (size=42)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $5, $3, $2, $ff
-	db $5, $4, $2, $ff
-	db $0, $3, $1, $ff
-	db $0, $4, $1, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $5, $3
-	EVENT_DISP $4, $5, $4
-	EVENT_DISP $4, $0, $3
-	EVENT_DISP $4, $0, $4
-
-Route6GateBlocks: ; 0x1e0e8 12
-	INCBIN "maps/route6gate.blk"
-
-Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76)
-	db $0c ; tileset
-	db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x)
-	dw Route7GateBlocks, Route7GateTexts, Route7GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route7GateObject ; objects
-
-Route7GateScript: ; 0x1e100
-	call $3c3c
-	ld a, [$d663]
-	ld hl, Route7GateScripts
-	call $3d97
-	ret
-; 0x1e10d
-
-Route7GateScripts: ; 0x1e10d
-	dw Route7GateScript0
-
-INCBIN "baserom.gbc",$1e10f,$19
-
-Route7GateScript0: ; 0x1e128
-	ld a, [$d728]
-	bit 6, a
-	ret nz
-	ld hl, $6167
-	call $34bf
-	ret nc
-	ld a, $8
-	ld [$d528], a
-	xor a
-	ld [$ff00+$b4], a
-	ld b, $16
-	ld hl, $659f
-	call Bankswitch
-	ld a, [$ff00+$db]
-	and a
-	jr nz, .asm_1e15a ; 0x1e148 $10
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $2920
-	call $6111
-	ld a, $1
-	ld [$d663], a
-	ret
-.asm_1e15a
-	ld a, $3
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d728
-	set 6, [hl]
-	ret
-; 0x1e167
-
-INCBIN "baserom.gbc",$1e167,$18
-
-Route7GateTexts: ; 0x1e17f
-	dw Route7GateText1, Route7GateText2, Route7GateText3
-
-Route7GateObject: ; 0x1e185 (size=42)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $3, $0, $3, $ff
-	db $4, $0, $3, $ff
-	db $3, $5, $0, $ff
-	db $4, $5, $1, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $3, $3, $0
-	EVENT_DISP $3, $4, $0
-	EVENT_DISP $3, $3, $5
-	EVENT_DISP $3, $4, $5
-
-Route7GateBlocks: ; 0x1e1af 12
-	INCBIN "maps/route7gate.blk"
-
-Route8Gate_h: ; 0x1e1bb to 0x1e1c7 (12 bytes) (bank=7) (id=79)
-	db $0c ; tileset
-	db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x)
-	dw Route8GateBlocks, Route8GateTexts, Route8GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route8GateObject ; objects
-
-Route8GateScript: ; 0x1e1c7
-	call $3c3c
-	ld hl, Route8GateScripts
-	ld a, [$d637]
-	jp $3d97
-; 0x1e1d3
-
-Route8GateScripts: ; 0x1e1d3
-	dw Route8GateScript0
-
-INCBIN "baserom.gbc",$1e1d5,$19
-
-Route8GateScript0: ; 0x1e1ee
-	ld a, [$d728]
-	bit 6, a
-	ret nz
-	ld hl, $622c
-	call $34bf
-	ret nc
-	ld a, $2
-	ld [$d528], a
-	xor a
-	ld [$ff00+$b4], a
-	ld b, $16
-	ld hl, $659f
-	call Bankswitch
-	ld a, [$ff00+$db]
-	and a
-	jr nz, .asm_1e220 ; 0x1e20e $10
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $2920
-	call $61d7
-	ld a, $1
-	ld [$d637], a
-	ret
-.asm_1e220
-	ld hl, $d728
-	set 6, [hl]
-	ld a, $3
-	ld [$ff00+$8c], a
-	jp $2920
-; 0x1e22c
-
-INCBIN "baserom.gbc",$1e22c,$15
-
-Route8GateTexts: ; 0x1e241
-	dw Route8GateText1, Route8GateText2, Route8GateText3
-
-Route8GateObject: ; 0x1e247 (size=42)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $3, $0, $0, $ff
-	db $4, $0, $1, $ff
-	db $3, $5, $2, $ff
-	db $4, $5, $3, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $1 + 4, $2 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $3, $3, $0
-	EVENT_DISP $3, $4, $0
-	EVENT_DISP $3, $3, $5
-	EVENT_DISP $3, $4, $5
-
-Route8GateBlocks: ; 0x1e271 12
-	INCBIN "maps/route8gate.blk"
-
-UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80)
-	db $0c ; tileset
-	db PATH_ENTRANCE_ROUTE_8_HEIGHT, PATH_ENTRANCE_ROUTE_8_WIDTH ; dimensions (y, x)
-	dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8Texts, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UndergroundPathEntranceRoute8Object ; objects
-
-UndergroundPathEntranceRoute8Script: ; 0x1e289
-	ld a, $13
-	ld [$d365], a
-	jp $3c3c
-; 0x1e291
-
-UndergroundPathEntranceRoute8Texts: ; 0x1e291
-	dw UndergroundPathEntranceRoute8Text1
-
-;XXX wtf? syntax error
-UndergroundPathEntranceRoute8Text1: ; 0x1e293
-	db $17, $8d, $42, $23
-	;TX_FAR _UndergroundPathEntranceRoute8Text1
-	db $50
-
-UndergroundPathEntranceRoute8Object: ; 0x1e298 (size=34)
-	db $a ; border tile
-
-	db $3 ; warps
-	db $7, $3, $4, $ff
-	db $7, $4, $4, $ff
-	db $4, $4, $1, UNDERGROUND_PATH_WE
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GIRL, $4 + 4, $3 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE
-
-PowerPlant_h: ; 0x1e2ba to 0x1e2c6 (12 bytes) (bank=7) (id=83)
-	db $16 ; tileset
-	db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x)
-	dw PowerPlantBlocks, PowerPlantTexts, PowerPlantScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PowerPlantObject ; objects
-
-PowerPlantScript: ; 0x1e2c6
-	call $3c3c
-	ld hl, $62fb
-	ld de, PowerPlantScript_Unknown1e2d9
-	ld a, [$d663]
-	call $3160
-	ld [$d663], a
-	ret
-; 0x1e2d9
-
-PowerPlantScript_Unknown1e2d9: ; 0x1e2d9
-INCBIN "baserom.gbc",$1e2d9,$6
-
-PowerPlantTexts: ; 0x1e2df
-	dw PowerPlantText1, PowerPlantText2, PowerPlantText3, PowerPlantText4, PowerPlantText5, PowerPlantText6, PowerPlantText7, PowerPlantText8, PowerPlantText9, PowerPlantText10, PowerPlantText11, PowerPlantText12, PowerPlantText13, PowerPlantText14
-
-INCBIN "baserom.gbc",$1e2fb,$6d
-
-asm_234cc:
-	call $31cc
-	ld a, [$da39]
-	ld [$d663], a
-	jp TextScriptEnd
-; 0x1e374
-
-PowerPlantText1: ; 0x1e374
-	db $8 ; asm
-	ld hl, $62fb
-	jr asm_234cc ; 0x1e378 $ee
-
-PowerPlantText2: ; 0x1e37a
-	db $8 ; asm
-	ld hl, $6307
-	jr asm_234cc ; 0x1e37e $e8
-
-PowerPlantText3: ; 0x1e380
-	db $8 ; asm
-	ld hl, $6313
-	jr asm_234cc ; 0x1e384 $e2
-
-PowerPlantText4: ; 0x1e386
-	db $8 ; asm
-	ld hl, $631f
-	jr asm_234cc ; 0x1e38a $dc
-
-PowerPlantText5:
-	db $8 ; asm
-	ld hl, $632b
-	jr asm_234cc ; 0x1e390 $d6
-
-PowerPlantText6: ; 0x1e392
-	db $8 ; asm
-	ld hl, $6337
-	jr asm_234cc ; 0x1e396 $d0
-
-PowerPlantText7: ; 0x1e398
-	db $8 ; asm
-	ld hl, $6343
-	jr asm_234cc ; 0x1e39c $ca
-
-PowerPlantText8: ; 0x1e39e
-	db $8 ; asm
-	ld hl, $634f
-	jr asm_234cc ; 0x1e3a2 $c4
-
-PowerPlantText9: ; 0x1e3a4
-	db $8 ; asm
-	ld hl, $635b
-	jr asm_234cc ; 0x1e3a8 $be
-; 0x1e3aa
-
-UnnamedText_1e3aa: ; 0x1e3aa
-	TX_FAR _UnnamedText_1e3aa ; 0x8c5e2
-	db $50
-; 0x1e3af
-
-UnnamedText_1e3af: ; 0x1e3af
-	TX_FAR _UnnamedText_1e3af ; 0x8c5ea
-	db $8
-	ld a, $4b
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-; 0x1e3bf
-
-PowerPlantObject: ; 0x1e3bf (size=135)
-	db $2e ; border tile
-
-	db $3 ; warps
-	db $23, $4, $3, $ff
-	db $23, $5, $3, $ff
-	db $b, $0, $3, $ff
-
-	db $0 ; signs
-
-	db $e ; people
-	db SPRITE_BALL, $14 + 4, $9 + 4, $ff, $ff, $41, VOLTORB, $28 ; trainer
-	db SPRITE_BALL, $12 + 4, $20 + 4, $ff, $ff, $42, VOLTORB, $28 ; trainer
-	db SPRITE_BALL, $19 + 4, $15 + 4, $ff, $ff, $43, VOLTORB, $28 ; trainer
-	db SPRITE_BALL, $12 + 4, $19 + 4, $ff, $ff, $44, ELECTRODE, $2b ; trainer
-	db SPRITE_BALL, $22 + 4, $17 + 4, $ff, $ff, $45, VOLTORB, $28 ; trainer
-	db SPRITE_BALL, $1c + 4, $1a + 4, $ff, $ff, $46, VOLTORB, $28 ; trainer
-	db SPRITE_BALL, $e + 4, $15 + 4, $ff, $ff, $47, ELECTRODE, $2b ; trainer
-	db SPRITE_BALL, $20 + 4, $25 + 4, $ff, $ff, $48, VOLTORB, $28 ; trainer
-	db SPRITE_BIRD, $9 + 4, $4 + 4, $ff, $d1, $49, ZAPDOS, $32 ; trainer
-	db SPRITE_BALL, $19 + 4, $7 + 4, $ff, $ff, $8a, CARBOS ; item
-	db SPRITE_BALL, $3 + 4, $1c + 4, $ff, $ff, $8b, HP_UP ; item
-	db SPRITE_BALL, $3 + 4, $22 + 4, $ff, $ff, $8c, RARE_CANDY ; item
-	db SPRITE_BALL, $20 + 4, $1a + 4, $ff, $ff, $8d, TM_25 ; item
-	db SPRITE_BALL, $20 + 4, $14 + 4, $ff, $ff, $8e, TM_33 ; item
-
-	; warp-to
-	EVENT_DISP $14, $23, $4
-	EVENT_DISP $14, $23, $5
-	EVENT_DISP $14, $b, $0
-
-PowerPlantBlocks: ; 0x1e446 360
-	INCBIN "maps/powerplant.blk"
-
-DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85)
-	db $11 ; tileset
-	db DIGLETTS_CAVE_ENTRANCE_HEIGHT, DIGLETTS_CAVE_ENTRANCE_WIDTH ; dimensions (y, x)
-	dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11Texts, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw DiglettsCaveEntranceRoute11Object ; objects
-
-DiglettsCaveEntranceRoute11Script: ; 0x1e5ba
-	call $3c3c
-	ld a, $16
-	ld [$d365], a
-	ret
-; 0x1e5c3
-
-DiglettsCaveEntranceRoute11Texts: ; 0x1e5c3
-	dw DiglettsCaveEntranceRoute11Text1
-
-; XXX wtf? syntax error
-DiglettsCaveEntranceRoute11Text1: ; 0x1e5c5
-	db $17, $f9, $47, $23
-	;TX_FAR _DiglettsCaveEntranceRoute11Text1
-	db $50
-
-DiglettsCaveEntranceRoute11Object: ; 0x1e5ca (size=34)
-	db $7d ; border tile
-
-	db $3 ; warps
-	db $7, $2, $4, $ff
-	db $7, $3, $4, $ff
-	db $4, $4, $1, DIGLETTS_CAVE
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE
-
-Route16House_h: ; 0x1e5ec to 0x1e5f8 (12 bytes) (bank=7) (id=188)
-	db $08 ; tileset
-	db ROUTE_16_HOUSE_HEIGHT, ROUTE_16_HOUSE_WIDTH ; dimensions (y, x)
-	dw Route16HouseBlocks, Route16HouseTexts, Route16HouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route16HouseObject ; objects
-
-Route16HouseScript: ; 0x1e5f8
-	jp $3c3c
-; 0x1e5fb
-
-Route16HouseTexts: ; 0x1e5fb
-	dw Route16HouseText1, Route16HouseText2
-
-Route16HouseText1: ; 0x1e5ff
-	db $08 ; asm
-	ld a, [$d7e0]
-	bit 6, a
-	ld hl, HM02ExplanationText
-	jr nz, .asm_13616 ; 0x1e608
-	ld hl, Route16HouseText3
-	call PrintText
-	ld bc, (HM_02 << 8) | 1
-	call GiveItem
-	jr nc, .asm_d3ee3 ; 0x1e616
-	ld hl, $d7e0
-	set 6, [hl]
-	ld hl, ReceivedHM02Text
-	jr .asm_13616 ; 0x1e620
-.asm_d3ee3 ; 0x1e622
-	ld hl, HM02NoRoomText
-.asm_13616 ; 0x1e625
-	call PrintText
-	jp TextScriptEnd
-
-Route16HouseText3: ; 0x1e62b
-	TX_FAR _Route16HouseText3
-	db $50
-; 0x1e62b + 5 bytes
-
-ReceivedHM02Text: ; 0x1e630
-	TX_FAR _ReceivedHM02Text ; 0x8ce66
-	db $11, $50
-
-HM02ExplanationText: ; 0x1e636
-	TX_FAR _HM02ExplanationText
-	db $50
-; 0x1e636 + 5 bytes
-
-HM02NoRoomText: ; 0x1e63b
-	TX_FAR _HM02NoRoomText
-	db $50
-; 0x1e63b + 5 bytes
-
-Route16HouseText2: ; 0x1e640
-	db $08 ; asm
-	ld hl, UnnamedText_1e652
-	call PrintText
-	ld a, FEAROW
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-
-UnnamedText_1e652: ; 0x1e652
-	TX_FAR _UnnamedText_1e652
-	db $50
-; 0x1e652 + 5 bytes
-
-Route16HouseObject: ; 0x1e657 (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $8, $ff
-	db $7, $3, $8, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BIRD, $4 + 4, $6 + 4, $fe, $0, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-Route22Gate_h: ; 0x1e677 to 0x1e683 (12 bytes) (bank=7) (id=193)
-	db $0c ; tileset
-	db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x)
-	dw Route22GateBlocks, Route22GateTexts, Route22GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route22GateObject ; objects
-
-Route22GateScript: ; 0x1e683
-	call $3c3c
-	ld hl, Route22GateScripts
-	ld a, [$d60e]
-	call $3d97
-	ld a, [$d361]
-	cp $4
-	ld a, $22
-	jr c, .asm_1e69a ; 0x1e696 $2
-	ld a, $21
-.asm_1e69a
-	ld [$d365], a
-	ret
-; 0x1e69e
-
-Route22GateScripts: ; 0x1e69e
-	dw Route22GateScript0, Route22GateScript1
-
-INCBIN "baserom.gbc",$1e6a2,$2
-
-Route22GateScript0: ; 0x1e6a4
-	ld hl, $66b5
-	call $34bf
-	ret nc
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	jp $2920
-; 0x1e6b5
-
-INCBIN "baserom.gbc",$1e6b5,$1e6cd - $1e6b5
-
-Route22GateScript1: ; 0x1e6cd
-	ld a, [$cd38]
-	and a
-	ret nz
-	xor a
-	ld [$cd6b], a
-	call Delay3
-	ld a, $0
-	ld [$d60e], a
-	ret
-; 0x1e6df
-
-Route22GateTexts: ; 0x1e6df
-	dw Route22GateText1
-
-Route22GateText1: ; 0x1e6e1
-	db $8
-	ld a, [$d356]
-	bit 0, a
-	jr nz, .asm_8a809 ; 0x1e6e7 $d
-	ld hl, UnnamedText_1e704
-	call PrintText
-	call $66ba
-	ld a, $1
-	jr .asm_20f7e ; 0x1e6f4 $8
-.asm_8a809 ; 0x1e6f6
-	ld hl, UnnamedText_1e71a
-	call PrintText
-	ld a, $2
-.asm_20f7e ; 0x1e6fe
-	ld [$d60e], a
-	jp TextScriptEnd
-; 0x1e704
-
-UnnamedText_1e704: ; 0x1e704
-	TX_FAR _UnnamedText_1e704 ; 0x8cfbb
-	db $8
-	ld a, $a5
-	call $3740
-	call $3748
-	ld hl, $6715
-	ret
-; 0x1e715
-
-UnnamedText_1e715: ; 0x1e715
-	TX_FAR _UnnamedText_1e715
-	db $50
-; 0x1e71a
-
-UnnamedText_1e71a: ; 0x1e71a
-	TX_FAR _UnnamedText_1e71a ; 0x8d03e
-	db $0B, $50
-; 0x1e720
-
-Route22GateObject: ; 0x1e720 (size=42)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $7, $4, $0, $ff
-	db $7, $5, $0, $ff
-	db $0, $4, $0, $ff
-	db $0, $5, $1, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person
-
-	; warp-to
-	EVENT_DISP $5, $7, $4
-	EVENT_DISP $5, $7, $5
-	EVENT_DISP $5, $0, $4
-	EVENT_DISP $5, $0, $5
-
-Route22GateBlocks: ; 0x1e74a 20
-	INCBIN "maps/route22gate.blk"
-
-BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88)
-	db $10 ; tileset
-	db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x)
-	dw BillsHouseBlocks, BillsHouseTexts, BillsHouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw BillsHouseObject ; objects
-
-BillsHouseScript: ; 0x1e76a
-	call $3c3c
-	ld a, [$d661]
-	ld hl, BillsHouseScripts
-	jp $3d97
-; 0x1e776
-
-BillsHouseScripts: ; 0x1e776
-	dw BillsHouseScript0
-
-INCBIN "baserom.gbc",$1e778,$a
-
-BillsHouseScript0: ; 0x1e782
-	ret
-; 0x1e783
-
-INCBIN "baserom.gbc",$1e783,$b1
-
-BillsHouseTexts: ; 0x1e834
-	dw BillsHouseText1, BillsHouseText2, BillsHouseText3, BillsHouseText4
-
-BillsHouseText4: ; 0x1e83c
-	db $fd
-
-BillsHouseText1: ; 0x1e83d
-	db $8
-	ld hl, UnnamedText_1e865
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, asm_6b196 ; 0x1e84b $d
-asm_4d03c:
-	ld hl, UnnamedText_1e86a
-	call PrintText
-	ld a, $1
-	ld [$d661], a
-	jr asm_fd4e2 ; 0x1e858 $8
-asm_6b196: ; 0x1e85a
-	ld hl, UnnamedText_1e86f
-	call PrintText
-	jr asm_4d03c ; 0x1e860 $eb
-asm_fd4e2 ; 0x1e862
-	jp TextScriptEnd
-
-UnnamedText_1e865: ; 0x1e865
-	TX_FAR _UnnamedText_1e865 ; 0x8d267
-	db $50
-; 0x1e86a
-
-UnnamedText_1e86a: ; 0x1e86a
-	TX_FAR _UnnamedText_1e86a ; 0x8d345
-	db $50
-; 0x1e86f
-
-UnnamedText_1e86f: ; 0x1e86f
-	TX_FAR _UnnamedText_1e86f ; 0x8d391
-	db $50
-; 0x1e874
-
-BillsHouseText2: ; 0x1e874
-	db $08 ; asm
-	ld a, [$d7f2]
-	bit 4, a
-	jr nz, .asm_5491f ; 0x1e87a
-	ld hl, BillThankYouText
-	call PrintText
-	ld bc, (S_S__TICKET << 8) | 1
-	call GiveItem
-	jr nc, .asm_18a67 ; 0x1e888
-	ld hl, SSTicketReceivedText
-	call PrintText
-	ld hl, $d7f2
-	set 4, [hl]
-	ld a, $7
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld a, $9
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-.asm_5491f ; 0x1e8a9
-	ld hl, UnnamedText_1e8cb
-	call PrintText
-	jr .asm_bd408 ; 0x1e8af
-.asm_18a67 ; 0x1e8b1
-	ld hl, SSTicketNoRoomText
-	call PrintText
-.asm_bd408 ; 0x1e8b7
-	jp TextScriptEnd
-
-BillThankYouText: ; 0x1e8ba
-	TX_FAR _BillThankYouText
-	db $50
-; 0x1e8ba + 5 bytes
-
-SSTicketReceivedText: ; 0x1e8bf
-	TX_FAR _SSTicketReceivedText ; 0x8d499
-	db $11, $6, $50
-
-SSTicketNoRoomText: ; 0x1e8c6
-	TX_FAR _SSTicketNoRoomText
-	db $50
-; 0x1e8c6 + 5 bytes
-
-UnnamedText_1e8cb: ; 0x1e8cb
-	TX_FAR _UnnamedText_1e8cb
-	db $50
-; 0x1e8cb + 5 bytes
-
-BillsHouseText3: ; 0x1e8d0
-	db $08 ; asm
-	ld hl, UnnamedText_1e8da
-	call PrintText
-	jp TextScriptEnd
-; 0x1e8da
-
-UnnamedText_1e8da: ; 0x1e8da
-	TX_FAR _UnnamedText_1e8da
-	db $50
-; 0x1e8da + 5 bytes
-
-BillsHouseObject: ; 0x1e8df (size=38)
-	db $d ; border tile
-
-	db $2 ; warps
-	db $7, $2, $0, $ff
-	db $7, $3, $0, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_SLOWBRO, $5 + 4, $6 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $4 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $6 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-BillsHouseBlocks: ; 0x1e905
-	INCBIN "maps/billshouse.blk"
-
-INCBIN "baserom.gbc",$1e915,$1e93b - $1e915
-
-UnnamedText_1e93b: ; 0x1e93b
-	TX_FAR _UnnamedText_1e93b
-	db $50
-; 0x1e93b + 5 bytes
-
-INCBIN "baserom.gbc",$1e940,$1e946 - $1e940
-
-UnnamedText_1e946: ; 0x1e946
-	TX_FAR _UnnamedText_1e946
-	db $50
-; 0x1e946 + 5 bytes
-
-INCBIN "baserom.gbc",$1e94b,$1e953 - $1e94b
-
-UnnamedText_1e953: ; 0x1e953
-	TX_FAR _UnnamedText_1e953
-	db $50
-; 0x1e953 + 5 bytes
-
-INCBIN "baserom.gbc",$1e958,$1e960 - $1e958
-
-UnnamedText_1e960: ; 0x1e960
-	TX_FAR _UnnamedText_1e960
-	db $50
-; 0x1e960 + 5 bytes
-
-INCBIN "baserom.gbc",$1e965,$1e97e - $1e965
-
-UnnamedText_1e97e: ; 0x1e97e
-	TX_FAR _UnnamedText_1e97e
-	db $50
-; 0x1e97e + 5 bytes
-
-UnnamedText_1e983: ; 0x1e983
-	TX_FAR _UnnamedText_1e983
-	db $50
-; 0x1e983 + 5 bytes
-
-INCBIN "baserom.gbc",$1e988,$1ea0d - $1e988
-
-UnnamedText_1ea0d: ; 0x1ea0d
-	TX_FAR _UnnamedText_1ea0d
-	db $50
-; 0x1ea0d + 5 bytes
-
-UnnamedText_1ea12: ; 0x1ea12
-	TX_FAR _UnnamedText_1ea12
-	db $50
-; 0x1ea12 + 5 bytes
-
-INCBIN "baserom.gbc",$1ea17,$1ea5b - $1ea17
-
-UnnamedText_1ea5b: ; 0x1ea5b
-	TX_FAR _UnnamedText_1ea5b
-	db $50
-; 0x1ea5b + 5 bytes
-
-INCBIN "baserom.gbc",$1ea60,$1ea6c - $1ea60
-
-UnnamedText_1ea6c: ; 0x1ea6c
-	TX_FAR _UnnamedText_1ea6c
-	db $50
-; 0x1ea6c + 5 bytes
-
-UnnamedText_1ea71: ; 0x1ea71
-	TX_FAR _UnnamedText_1ea71
-	db $50
-; 0x1ea71 + 5 bytes
-
-UnnamedText_1ea76: ; 0x1ea76
-	TX_FAR _UnnamedText_1ea76
-	db $50
-; 0x1ea76 + 5 bytes
-
-UnnamedText_1ea7b: ; 0x1ea7b
-	TX_FAR _UnnamedText_1ea7b
-	db $50
-; 0x1ea7b + 5 bytes
-
-UnnamedText_1ea80: ; 0x1ea80
-	TX_FAR _UnnamedText_1ea80
-	db $50
-; 0x1ea80 + 5 bytes
-
-UnnamedText_1ea85: ; 0x1ea85
-	TX_FAR _UnnamedText_1ea85
-	db $50
-; 0x1ea85 + 5 bytes
-
-INCBIN "baserom.gbc",$1ea8a,$1eb05 - $1ea8a
-
-UnnamedText_1eb05: ; 0x1eb05
-	TX_FAR _UnnamedText_1eb05
-	db $50
-; 0x1eb05 + 5 bytes
-
-INCBIN "baserom.gbc",$1eb0a,$1eb69 - $1eb0a
-
-UnnamedText_1eb69: ; 0x1eb69
-	TX_FAR _UnnamedText_1eb69
-	db $50
-; 0x1eb69 + 5 bytes
-
-INCBIN "baserom.gbc",$1eb6e,$1ebdd - $1eb6e
-
-UnnamedText_1ebdd: ; 0x1ebdd
-	TX_FAR _UnnamedText_1ebdd
-	db $50
-; 0x1ebdd + 5 bytes
-
-INCBIN "baserom.gbc",$1ebe2,$1ec7f - $1ebe2
-
-UnnamedText_1ec7f: ; 0x1ec7f
-	TX_FAR _UnnamedText_1ec7f
-	db $50
-; 0x1ec7f + 5 bytes
-
-INCBIN "baserom.gbc",$1ec84,$1ecaa - $1ec84
-
-UnnamedText_1ecaa: ; 0x1ecaa
-	TX_FAR _UnnamedText_1ecaa
-	db $50
-; 0x1ecaa + 5 bytes
-
-INCBIN "baserom.gbc",$1ecaf,$1ecbd - $1ecaf
-
-UnnamedText_1ecbd: ; 0x1ecbd
-	TX_FAR _UnnamedText_1ecbd
-	db $50
-; 0x1ecbd + 5 bytes
-
-INCBIN "baserom.gbc",$1ecc2,$133e
-
-SECTION "bank8",DATA,BANK[$8]
-
-INCBIN "baserom.gbc",$20000,$217e9 - $20000
-
-UnnamedText_217e9: ; 0x217e9
-	TX_FAR _UnnamedText_217e9
-	db $50
-; 0x217e9 + 5 bytes
-
-UnnamedText_217ee: ; 0x217ee
-	TX_FAR _UnnamedText_217ee
-	db $50
-; 0x217ee + 5 bytes
-
-UnnamedText_217f3: ; 0x217f3
-	TX_FAR _UnnamedText_217f3
-	db $50
-; 0x217f3 + 5 bytes
-
-UnnamedText_217f8: ; 0x217f8
-	TX_FAR _UnnamedText_217f8
-	db $50
-; 0x217f8 + 5 bytes
-
-UnnamedText_217fd: ; 0x217fd
-	TX_FAR _UnnamedText_217fd
-	db $50
-; 0x217fd + 5 bytes
-
-UnnamedText_21802: ; 0x21802
-	TX_FAR _UnnamedText_21802
-	db $50
-; 0x21802 + 5 bytes
-
-UnnamedText_21807: ; 0x21807
-	TX_FAR _UnnamedText_21807
-	db $50
-; 0x21807 + 5 bytes
-
-UnnamedText_2180c: ; 0x2180c
-	TX_FAR _UnnamedText_2180c
-	db $50
-; 0x2180c + 5 bytes
-
-UnnamedText_21811: ; 0x21811
-	TX_FAR _UnnamedText_21811
-	db $50
-; 0x21811 + 5 bytes
-
-UnnamedText_21816: ; 0x21816
-	TX_FAR _UnnamedText_21816
-	db $50
-; 0x21816 + 5 bytes
-
-UnnamedText_2181b: ; 0x2181b
-	TX_FAR _UnnamedText_2181b
-	db $50
-; 0x2181b + 5 bytes
-
-UnnamedText_21820: ; 0x21820
-	TX_FAR _UnnamedText_21820
-	db $50
-; 0x21820 + 5 bytes
-
-INCBIN "baserom.gbc",$21825,$21865 - $21825
-
-UnnamedText_21865: ; 0x21865
-	TX_FAR _UnnamedText_21865
-	db $50
-; 0x21865 + 5 bytes
-
-INCBIN "baserom.gbc",$2186a,$2796
-
-SECTION "bank9",DATA,BANK[$9]
-
-RhydonPicFront:
-	INCBIN "pic/bmon/rhydon.pic"
-RhydonPicBack:
-	INCBIN "pic/monback/rhydonb.pic"
-KangaskhanPicFront:
-	INCBIN "pic/bmon/kangaskhan.pic"
-KangaskhanPicBack:
-	INCBIN "pic/monback/kangaskhanb.pic"
-NidoranMPicFront:
-	INCBIN "pic/bmon/nidoranm.pic"
-NidoranMPicBack:
-	INCBIN "pic/monback/nidoranmb.pic"
-ClefairyPicFront:
-	INCBIN "pic/bmon/clefairy.pic"
-ClefairyPicBack:
-	INCBIN "pic/monback/clefairyb.pic"
-SpearowPicFront:
-	INCBIN "pic/bmon/spearow.pic"
-SpearowPicBack:
-	INCBIN "pic/monback/spearowb.pic"
-VoltorbPicFront:
-	INCBIN "pic/bmon/voltorb.pic"
-VoltorbPicBack:
-	INCBIN "pic/monback/voltorbb.pic"
-NidokingPicFront:
-	INCBIN "pic/bmon/nidoking.pic"
-NidokingPicBack:
-	INCBIN "pic/monback/nidokingb.pic"
-SlowbroPicFront:
-	INCBIN "pic/bmon/slowbro.pic"
-SlowbroPicBack:
-	INCBIN "pic/monback/slowbrob.pic"
-IvysaurPicFront:
-	INCBIN "pic/bmon/ivysaur.pic"
-IvysaurPicBack:
-	INCBIN "pic/monback/ivysaurb.pic"
-ExeggutorPicFront:
-	INCBIN "pic/bmon/exeggutor.pic"
-ExeggutorPicBack:
-	INCBIN "pic/monback/exeggutorb.pic"
-LickitungPicFront:
-	INCBIN "pic/bmon/lickitung.pic"
-LickitungPicBack:
-	INCBIN "pic/monback/lickitungb.pic"
-ExeggcutePicFront:
-	INCBIN "pic/bmon/exeggcute.pic"
-ExeggcutePicBack:
-	INCBIN "pic/monback/exeggcuteb.pic"
-GrimerPicFront:
-	INCBIN "pic/bmon/grimer.pic"
-GrimerPicBack:
-	INCBIN "pic/monback/grimerb.pic"
-GengarPicFront:
-	INCBIN "pic/bmon/gengar.pic"
-GengarPicBack:
-	INCBIN "pic/monback/gengarb.pic"
-NidoranFPicFront:
-	INCBIN "pic/bmon/nidoranf.pic"
-NidoranFPicBack:
-	INCBIN "pic/monback/nidoranfb.pic"
-NidoqueenPicFront:
-	INCBIN "pic/bmon/nidoqueen.pic"
-NidoqueenPicBack:
-	INCBIN "pic/monback/nidoqueenb.pic"
-CubonePicFront:
-	INCBIN "pic/bmon/cubone.pic"
-CubonePicBack:
-	INCBIN "pic/monback/cuboneb.pic"
-RhyhornPicFront:
-	INCBIN "pic/bmon/rhyhorn.pic"
-RhyhornPicBack:
-	INCBIN "pic/monback/rhyhornb.pic"
-LaprasPicFront:
-	INCBIN "pic/bmon/lapras.pic"
-LaprasPicBack:
-	INCBIN "pic/monback/laprasb.pic"
-ArcaninePicFront:
-	INCBIN "pic/bmon/arcanine.pic"
-ArcaninePicBack:
-	INCBIN "pic/monback/arcanineb.pic"
-GyaradosPicFront:
-	INCBIN "pic/bmon/gyarados.pic"
-GyaradosPicBack:
-	INCBIN "pic/monback/gyaradosb.pic"
-ShellderPicFront:
-	INCBIN "pic/bmon/shellder.pic"
-ShellderPicBack:
-	INCBIN "pic/monback/shellderb.pic"
-TentacoolPicFront:
-	INCBIN "pic/bmon/tentacool.pic"
-TentacoolPicBack:
-	INCBIN "pic/monback/tentacoolb.pic"
-GastlyPicFront:
-	INCBIN "pic/bmon/gastly.pic"
-GastlyPicBack:
-	INCBIN "pic/monback/gastlyb.pic"
-ScytherPicFront:
-	INCBIN "pic/bmon/scyther.pic"
-ScytherPicBack:
-	INCBIN "pic/monback/scytherb.pic"
-StaryuPicFront:
-	INCBIN "pic/bmon/staryu.pic"
-StaryuPicBack:
-	INCBIN "pic/monback/staryub.pic"
-BlastoisePicFront:
-	INCBIN "pic/bmon/blastoise.pic"
-BlastoisePicBack:
-	INCBIN "pic/monback/blastoiseb.pic"
-PinsirPicFront:
-	INCBIN "pic/bmon/pinsir.pic"
-PinsirPicBack: ; 0x27aaa
-	INCBIN "pic/monback/pinsirb.pic"
-TangelaPicFront: ; 0x27b39
-	INCBIN "pic/bmon/tangela.pic"
-TangelaPicBack: ; 0x27ce7
-	INCBIN "pic/monback/tangelab.pic"
-
-INCBIN "baserom.gbc",$27d6b,$27DAE - $27d6b
-
-TypeNamePointers: ; 7DAE
-	dw Type00Name
-	dw Type01Name
-	dw Type02Name
-	dw Type03Name
-	dw Type04Name
-	dw Type05Name
-	dw Type06Name
-	dw Type07Name
-	dw Type08Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type00Name
-	dw Type14Name
-	dw Type15Name
-	dw Type16Name
-	dw Type17Name
-	dw Type18Name
-	dw Type19Name
-	dw Type1AName
-
-Type00Name:
-	db "NORMAL@"
-Type01Name:
-	db "FIGHTING@"
-Type02Name:
-	db "FLYING@"
-Type03Name:
-	db "POISON@"
-Type14Name:
-	db "FIRE@"
-Type15Name:
-	db "WATER@"
-Type16Name:
-	db "GRASS@"
-Type17Name:
-	db "ELECTRIC@"
-Type18Name:
-	db "PSYCHIC@"
-Type19Name:
-	db "ICE@"
-Type04Name:
-	db "GROUND@"
-Type05Name:
-	db "ROCK@"
-Type06Name:
-	db "BIRD@"
-Type07Name:
-	db "BUG@"
-Type08Name:
-	db "GHOST@"
-Type1AName:
-	db "DRAGON@"
-
-SaveTrainerName: ; 7E4A
-	ld hl,TrainerNamePointers
-	ld a,[W_TRAINERCLASS]
-	dec a
-	ld c,a
-	ld b,0
-	add hl,bc
-	add hl,bc
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	ld de,$CD6D
-.CopyCharacter\@
-	ld a,[hli]
-	ld [de],a
-	inc de
-	cp "@"
-	jr nz,.CopyCharacter\@
-	ret
-
-TrainerNamePointers: ; 0x27e64
-; what is the point of these?
-	dw YoungsterName
-	dw BugCatcherName
-	dw LassName
-	dw $D04A
-	dw JrTrainerMName
-	dw JrTrainerFName
-	dw PokemaniacName
-	dw SuperNerdName
-	dw $D04A
-	dw $D04A
-	dw BurglarName
-	dw EngineerName
-	dw JugglerXName
-	dw $D04A
-	dw SwimmerName
-	dw $D04A
-	dw $D04A
-	dw BeautyName
-	dw $D04A
-	dw RockerName
-	dw JugglerName
-	dw $D04A
-	dw $D04A
-	dw BlackbeltName
-	dw $D04A
-	dw ProfOakName
-	dw ChiefName
-	dw ScientistName
-	dw $D04A
-	dw RocketName
-	dw CooltrainerMName
-	dw CooltrainerFName
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-	dw $D04A
-
-YoungsterName:
-	db "YOUNGSTER@"
-BugCatcherName:
-	db "BUG CATCHER@"
-LassName:
-	db "LASS@"
-JrTrainerMName:
-	db "JR.TRAINER♂@"
-JrTrainerFName:
-	db "JR.TRAINER♀@"
-PokemaniacName:
-	db "POKéMANIAC@"
-SuperNerdName:
-	db "SUPER NERD@"
-BurglarName:
-	db "BURGLAR@"
-EngineerName:
-	db "ENGINEER@"
-JugglerXName:
-	db "JUGGLER@"
-SwimmerName:
-	db "SWIMMER@"
-BeautyName:
-	db "BEAUTY@"
-RockerName:
-	db "ROCKER@"
-JugglerName:
-	db "JUGGLER@"
-BlackbeltName:
-	db "BLACKBELT@"
-ProfOakName:
-	db "PROF.OAK@"
-ChiefName:
-	db "CHIEF@"
-ScientistName:
-	db "SCIENTIST@"
-RocketName:
-	db "ROCKET@"
-CooltrainerMName:
-	db "COOLTRAINER♂@"
-CooltrainerFName:
-	db "COOLTRAINER♀@"
-
-INCBIN "baserom.gbc",$27f86,$27fb3 - $27f86
-
-UnnamedText_27fb3: ; 0x27fb3
-	TX_FAR _UnnamedText_27fb3
-	db $50
-; 0x27fb3 + 5 bytes
-
-SECTION "bankA",DATA,BANK[$A]
-GrowlithePicFront:
-	INCBIN "pic/bmon/growlithe.pic"
-GrowlithePicBack:
-	INCBIN "pic/monback/growlitheb.pic"
-OnixPicFront:
-	INCBIN "pic/bmon/onix.pic"
-OnixPicBack:
-	INCBIN "pic/monback/onixb.pic"
-FearowPicFront:
-	INCBIN "pic/bmon/fearow.pic"
-FearowPicBack:
-	INCBIN "pic/monback/fearowb.pic"
-PidgeyPicFront:
-	INCBIN "pic/bmon/pidgey.pic"
-PidgeyPicBack:
-	INCBIN "pic/monback/pidgeyb.pic"
-SlowpokePicFront:
-	INCBIN "pic/bmon/slowpoke.pic"
-SlowpokePicBack:
-	INCBIN "pic/monback/slowpokeb.pic"
-KadabraPicFront:
-	INCBIN "pic/bmon/kadabra.pic"
-KadabraPicBack:
-	INCBIN "pic/monback/kadabrab.pic"
-GravelerPicFront:
-	INCBIN "pic/bmon/graveler.pic"
-GravelerPicBack:
-	INCBIN "pic/monback/gravelerb.pic"
-ChanseyPicFront:
-	INCBIN "pic/bmon/chansey.pic"
-ChanseyPicBack:
-	INCBIN "pic/monback/chanseyb.pic"
-MachokePicFront:
-	INCBIN "pic/bmon/machoke.pic"
-MachokePicBack:
-	INCBIN "pic/monback/machokeb.pic"
-MrMimePicFront:
-	INCBIN "pic/bmon/mr.mime.pic"
-MrMimePicBack:
-	INCBIN "pic/monback/mr.mimeb.pic"
-HitmonleePicFront:
-	INCBIN "pic/bmon/hitmonlee.pic"
-HitmonleePicBack:
-	INCBIN "pic/monback/hitmonleeb.pic"
-HitmonchanPicFront:
-	INCBIN "pic/bmon/hitmonchan.pic"
-HitmonchanPicBack:
-	INCBIN "pic/monback/hitmonchanb.pic"
-ArbokPicFront:
-	INCBIN "pic/bmon/arbok.pic"
-ArbokPicBack:
-	INCBIN "pic/monback/arbokb.pic"
-ParasectPicFront:
-	INCBIN "pic/bmon/parasect.pic"
-ParasectPicBack:
-	INCBIN "pic/monback/parasectb.pic"
-PsyduckPicFront:
-	INCBIN "pic/bmon/psyduck.pic"
-PsyduckPicBack:
-	INCBIN "pic/monback/psyduckb.pic"
-DrowzeePicFront:
-	INCBIN "pic/bmon/drowzee.pic"
-DrowzeePicBack:
-	INCBIN "pic/monback/drowzeeb.pic"
-GolemPicFront:
-	INCBIN "pic/bmon/golem.pic"
-GolemPicBack:
-	INCBIN "pic/monback/golemb.pic"
-MagmarPicFront:
-	INCBIN "pic/bmon/magmar.pic"
-MagmarPicBack:
-	INCBIN "pic/monback/magmarb.pic"
-ElectabuzzPicFront:
-	INCBIN "pic/bmon/electabuzz.pic"
-ElectabuzzPicBack:
-	INCBIN "pic/monback/electabuzzb.pic"
-MagnetonPicFront:
-	INCBIN "pic/bmon/magneton.pic"
-MagnetonPicBack:
-	INCBIN "pic/monback/magnetonb.pic"
-KoffingPicFront:
-	INCBIN "pic/bmon/koffing.pic"
-KoffingPicBack:
-	INCBIN "pic/monback/koffingb.pic"
-MankeyPicFront:
-	INCBIN "pic/bmon/mankey.pic"
-MankeyPicBack:
-	INCBIN "pic/monback/mankeyb.pic"
-SeelPicFront:
-	INCBIN "pic/bmon/seel.pic"
-SeelPicBack:
-	INCBIN "pic/monback/seelb.pic"
-DiglettPicFront:
-	INCBIN "pic/bmon/diglett.pic"
-DiglettPicBack:
-	INCBIN "pic/monback/diglettb.pic"
-TaurosPicFront:
-	INCBIN "pic/bmon/tauros.pic"
-TaurosPicBack:
-	INCBIN "pic/monback/taurosb.pic"
-FarfetchdPicFront:
-	INCBIN "pic/bmon/farfetchd.pic"
-FarfetchdPicBack:
-	INCBIN "pic/monback/farfetchdb.pic"
-VenonatPicFront:
-	INCBIN "pic/bmon/venonat.pic"
-VenonatPicBack:
-	INCBIN "pic/monback/venonatb.pic"
-DragonitePicFront:
-	INCBIN "pic/bmon/dragonite.pic"
-DragonitePicBack:
-	INCBIN "pic/monback/dragoniteb.pic"
-DoduoPicFront:
-	INCBIN "pic/bmon/doduo.pic"
-DoduoPicBack:
-	INCBIN "pic/monback/doduob.pic"
-PoliwagPicFront:
-	INCBIN "pic/bmon/poliwag.pic"
-PoliwagPicBack:
-	INCBIN "pic/monback/poliwagb.pic"
-JynxPicFront:
-	INCBIN "pic/bmon/jynx.pic"
-JynxPicBack:
-	INCBIN "pic/monback/jynxb.pic"
-MoltresPicFront:
-	INCBIN "pic/bmon/moltres.pic"
-MoltresPicBack:
-	INCBIN "pic/monback/moltresb.pic"
-
-INCBIN "baserom.gbc",$2bea9,$2bef2 - $2bea9
-
-UnnamedText_2bef2: ; 0x2bef2
-	TX_FAR _UnnamedText_2bef2
-	db $50
-; 0x2bef2 + 5 bytes
-
-UnnamedText_2bef7: ; 0x2bef7
-	TX_FAR _UnnamedText_2bef7
-	db $50
-; 0x2bef7 + 5 bytes
-
-SECTION "bankB",DATA,BANK[$B]
-ArticunoPicFront:
-	INCBIN "pic/bmon/articuno.pic"
-ArticunoPicBack:
-	INCBIN "pic/monback/articunob.pic"
-ZapdosPicFront:
-	INCBIN "pic/bmon/zapdos.pic"
-ZapdosPicBack:
-	INCBIN "pic/monback/zapdosb.pic"
-DittoPicFront:
-	INCBIN "pic/bmon/ditto.pic"
-DittoPicBack:
-	INCBIN "pic/monback/dittob.pic"
-MeowthPicFront:
-	INCBIN "pic/bmon/meowth.pic"
-MeowthPicBack:
-	INCBIN "pic/monback/meowthb.pic"
-KrabbyPicFront:
-	INCBIN "pic/bmon/krabby.pic"
-KrabbyPicBack:
-	INCBIN "pic/monback/krabbyb.pic"
-VulpixPicFront:
-	INCBIN "pic/bmon/vulpix.pic"
-VulpixPicBack:
-	INCBIN "pic/monback/vulpixb.pic"
-NinetalesPicFront:
-	INCBIN "pic/bmon/ninetales.pic"
-NinetalesPicBack:
-	INCBIN "pic/monback/ninetalesb.pic"
-PikachuPicFront:
-	INCBIN "pic/bmon/pikachu.pic"
-PikachuPicBack:
-	INCBIN "pic/monback/pikachub.pic"
-RaichuPicFront:
-	INCBIN "pic/bmon/raichu.pic"
-RaichuPicBack:
-	INCBIN "pic/monback/raichub.pic"
-DratiniPicFront:
-	INCBIN "pic/bmon/dratini.pic"
-DratiniPicBack:
-	INCBIN "pic/monback/dratinib.pic"
-DragonairPicFront:
-	INCBIN "pic/bmon/dragonair.pic"
-DragonairPicBack:
-	INCBIN "pic/monback/dragonairb.pic"
-KabutoPicFront:
-	INCBIN "pic/bmon/kabuto.pic"
-KabutoPicBack:
-	INCBIN "pic/monback/kabutob.pic"
-KabutopsPicFront:
-	INCBIN "pic/bmon/kabutops.pic"
-KabutopsPicBack:
-	INCBIN "pic/monback/kabutopsb.pic"
-HorseaPicFront:
-	INCBIN "pic/bmon/horsea.pic"
-HorseaPicBack:
-	INCBIN "pic/monback/horseab.pic"
-SeadraPicFront:
-	INCBIN "pic/bmon/seadra.pic"
-SeadraPicBack:
-	INCBIN "pic/monback/seadrab.pic"
-SandshrewPicFront:
-	INCBIN "pic/bmon/sandshrew.pic"
-SandshrewPicBack:
-	INCBIN "pic/monback/sandshrewb.pic"
-SandslashPicFront:
-	INCBIN "pic/bmon/sandslash.pic"
-SandslashPicBack:
-	INCBIN "pic/monback/sandslashb.pic"
-OmanytePicFront:
-	INCBIN "pic/bmon/omanyte.pic"
-OmanytePicBack:
-	INCBIN "pic/monback/omanyteb.pic"
-OmastarPicFront:
-	INCBIN "pic/bmon/omastar.pic"
-OmastarPicBack:
-	INCBIN "pic/monback/omastarb.pic"
-JigglypuffPicFront:
-	INCBIN "pic/bmon/jigglypuff.pic"
-JigglypuffPicBack:
-	INCBIN "pic/monback/jigglypuffb.pic"
-WigglytuffPicFront:
-	INCBIN "pic/bmon/wigglytuff.pic"
-WigglytuffPicBack:
-	INCBIN "pic/monback/wigglytuffb.pic"
-EeveePicFront:
-	INCBIN "pic/bmon/eevee.pic"
-EeveePicBack:
-	INCBIN "pic/monback/eeveeb.pic"
-FlareonPicFront:
-	INCBIN "pic/bmon/flareon.pic"
-FlareonPicBack:
-	INCBIN "pic/monback/flareonb.pic"
-JolteonPicFront:
-	INCBIN "pic/bmon/jolteon.pic"
-JolteonPicBack:
-	INCBIN "pic/monback/jolteonb.pic"
-VaporeonPicFront:
-	INCBIN "pic/bmon/vaporeon.pic"
-VaporeonPicBack:
-	INCBIN "pic/monback/vaporeonb.pic"
-MachopPicFront:
-	INCBIN "pic/bmon/machop.pic"
-MachopPicBack:
-	INCBIN "pic/monback/machopb.pic"
-ZubatPicFront:
-	INCBIN "pic/bmon/zubat.pic"
-ZubatPicBack:
-	INCBIN "pic/monback/zubatb.pic"
-EkansPicFront:
-	INCBIN "pic/bmon/ekans.pic"
-EkansPicBack:
-	INCBIN "pic/monback/ekansb.pic"
-ParasPicFront:
-	INCBIN "pic/bmon/paras.pic"
-ParasPicBack:
-	INCBIN "pic/monback/parasb.pic"
-PoliwhirlPicFront:
-	INCBIN "pic/bmon/poliwhirl.pic"
-PoliwhirlPicBack:
-	INCBIN "pic/monback/poliwhirlb.pic"
-PoliwrathPicFront:
-	INCBIN "pic/bmon/poliwrath.pic"
-PoliwrathPicBack:
-	INCBIN "pic/monback/poliwrathb.pic"
-WeedlePicFront:
-	INCBIN "pic/bmon/weedle.pic"
-WeedlePicBack:
-	INCBIN "pic/monback/weedleb.pic"
-KakunaPicFront:
-	INCBIN "pic/bmon/kakuna.pic"
-KakunaPicBack:
-	INCBIN "pic/monback/kakunab.pic"
-BeedrillPicFront:
-	INCBIN "pic/bmon/beedrill.pic"
-BeedrillPicBack:
-	INCBIN "pic/monback/beedrillb.pic"
-FossilKabutopsPic:
-	INCBIN "pic/bmon/fossilkabutops.pic"
-
-INCBIN "baserom.gbc",$2fb7b,$2fb8e - $2fb7b
-
-UnnamedText_2fb8e: ; 0x2fb8e
-	TX_FAR _UnnamedText_2fb8e
-	db $50
-; 0x2fb8e + 5 bytes
-
-UnnamedText_2fb93: ; 0x2fb93
-	TX_FAR _UnnamedText_2fb93
-	db $50
-; 0x2fb93 + 5 bytes
-
-INCBIN "baserom.gbc",$2fb98,$2fe3b - $2fb98
-
-UnnamedText_2fe3b: ; 0x2fe3b
-	TX_FAR _UnnamedText_2fe3b
-	db $50
-; 0x2fe3b + 5 bytes
-
-INCBIN "baserom.gbc",$2fe40,$2ff04 - $2fe40
-
-UnnamedText_2ff04: ; 0x2ff04
-	TX_FAR _UnnamedText_2ff04
-	db $50
-; 0x2ff04 + 5 bytes
-
-INCBIN "baserom.gbc",$2ff09,$2ff32 - $2ff09
-
-UnnamedText_2ff32: ; 0x2ff32
-	TX_FAR _UnnamedText_2ff32
-	db $50
-; 0x2ff32 + 5 bytes
-
-UnnamedText_2ff37: ; 0x2ff37
-	TX_FAR _UnnamedText_2ff37
-	db $50
-; 0x2ff37 + 5 bytes
-
-SECTION "bankC",DATA,BANK[$C]
-DodrioPicFront:
-	INCBIN "pic/bmon/dodrio.pic"
-DodrioPicBack:
-	INCBIN "pic/monback/dodriob.pic"
-PrimeapePicFront:
-	INCBIN "pic/bmon/primeape.pic"
-PrimeapePicBack:
-	INCBIN "pic/monback/primeapeb.pic"
-DugtrioPicFront:
-	INCBIN "pic/bmon/dugtrio.pic"
-DugtrioPicBack:
-	INCBIN "pic/monback/dugtriob.pic"
-VenomothPicFront:
-	INCBIN "pic/bmon/venomoth.pic"
-VenomothPicBack:
-	INCBIN "pic/monback/venomothb.pic"
-DewgongPicFront:
-	INCBIN "pic/bmon/dewgong.pic"
-DewgongPicBack:
-	INCBIN "pic/monback/dewgongb.pic"
-CaterpiePicFront:
-	INCBIN "pic/bmon/caterpie.pic"
-CaterpiePicBack:
-	INCBIN "pic/monback/caterpieb.pic"
-MetapodPicFront:
-	INCBIN "pic/bmon/metapod.pic"
-MetapodPicBack:
-	INCBIN "pic/monback/metapodb.pic"
-ButterfreePicFront:
-	INCBIN "pic/bmon/butterfree.pic"
-ButterfreePicBack:
-	INCBIN "pic/monback/butterfreeb.pic"
-MachampPicFront:
-	INCBIN "pic/bmon/machamp.pic"
-MachampPicBack:
-	INCBIN "pic/monback/machampb.pic"
-GolduckPicFront:
-	INCBIN "pic/bmon/golduck.pic"
-GolduckPicBack:
-	INCBIN "pic/monback/golduckb.pic"
-HypnoPicFront:
-	INCBIN "pic/bmon/hypno.pic"
-HypnoPicBack:
-	INCBIN "pic/monback/hypnob.pic"
-GolbatPicFront:
-	INCBIN "pic/bmon/golbat.pic"
-GolbatPicBack:
-	INCBIN "pic/monback/golbatb.pic"
-MewtwoPicFront:
-	INCBIN "pic/bmon/mewtwo.pic"
-MewtwoPicBack:
-	INCBIN "pic/monback/mewtwob.pic"
-SnorlaxPicFront:
-	INCBIN "pic/bmon/snorlax.pic"
-SnorlaxPicBack:
-	INCBIN "pic/monback/snorlaxb.pic"
-MagikarpPicFront:
-	INCBIN "pic/bmon/magikarp.pic"
-MagikarpPicBack:
-	INCBIN "pic/monback/magikarpb.pic"
-MukPicFront:
-	INCBIN "pic/bmon/muk.pic"
-MukPicBack:
-	INCBIN "pic/monback/mukb.pic"
-KinglerPicFront:
-	INCBIN "pic/bmon/kingler.pic"
-KinglerPicBack:
-	INCBIN "pic/monback/kinglerb.pic"
-CloysterPicFront:
-	INCBIN "pic/bmon/cloyster.pic"
-CloysterPicBack:
-	INCBIN "pic/monback/cloysterb.pic"
-ElectrodePicFront:
-	INCBIN "pic/bmon/electrode.pic"
-ElectrodePicBack:
-	INCBIN "pic/monback/electrodeb.pic"
-ClefablePicFront:
-	INCBIN "pic/bmon/clefable.pic"
-ClefablePicBack:
-	INCBIN "pic/monback/clefableb.pic"
-WeezingPicFront:
-	INCBIN "pic/bmon/weezing.pic"
-WeezingPicBack:
-	INCBIN "pic/monback/weezingb.pic"
-PersianPicFront:
-	INCBIN "pic/bmon/persian.pic"
-PersianPicBack:
-	INCBIN "pic/monback/persianb.pic"
-MarowakPicFront:
-	INCBIN "pic/bmon/marowak.pic"
-MarowakPicBack:
-	INCBIN "pic/monback/marowakb.pic"
-HaunterPicFront:
-	INCBIN "pic/bmon/haunter.pic"
-HaunterPicBack:
-	INCBIN "pic/monback/haunterb.pic"
-AbraPicFront:
-	INCBIN "pic/bmon/abra.pic"
-AbraPicBack:
-	INCBIN "pic/monback/abrab.pic"
-AlakazamPicFront:
-	INCBIN "pic/bmon/alakazam.pic"
-AlakazamPicBack:
-	INCBIN "pic/monback/alakazamb.pic"
-PidgeottoPicFront:
-	INCBIN "pic/bmon/pidgeotto.pic"
-PidgeottoPicBack:
-	INCBIN "pic/monback/pidgeottob.pic"
-PidgeotPicFront:
-	INCBIN "pic/bmon/pidgeot.pic"
-PidgeotPicBack:
-	INCBIN "pic/monback/pidgeotb.pic"
-StarmiePicFront:
-	INCBIN "pic/bmon/starmie.pic"
-StarmiePicBack:
-	INCBIN "pic/monback/starmieb.pic"
-RedPicBack:
-	INCBIN "pic/trainer/redb.pic"
-OldManPic:
-	INCBIN "pic/trainer/oldman.pic"
-
-INCBIN "baserom.gbc",$33f2b,$33f52 - $33f2b
-
-UnnamedText_33f52: ; 0x33f52
-	TX_FAR _UnnamedText_33f52
-	db $50
-; 0x33f52 + 5 bytes
-
-INCBIN "baserom.gbc",$33f57,$39
-
-SECTION "bankD",DATA,BANK[$D]
-BulbasaurPicFront:
-	INCBIN "pic/bmon/bulbasaur.pic"
-BulbasaurPicBack:
-	INCBIN "pic/monback/bulbasaurb.pic"
-VenusaurPicFront:
-	INCBIN "pic/bmon/venusaur.pic"
-VenusaurPicBack:
-	INCBIN "pic/monback/venusaurb.pic"
-TentacruelPicFront:
-	INCBIN "pic/bmon/tentacruel.pic"
-TentacruelPicBack:
-	INCBIN "pic/monback/tentacruelb.pic"
-GoldeenPicFront:
-	INCBIN "pic/bmon/goldeen.pic"
-GoldeenPicBack:
-	INCBIN "pic/monback/goldeenb.pic"
-SeakingPicFront:
-	INCBIN "pic/bmon/seaking.pic"
-SeakingPicBack:
-	INCBIN "pic/monback/seakingb.pic"
-PonytaPicFront:
-	INCBIN "pic/bmon/ponyta.pic"
-RapidashPicFront:
-	INCBIN "pic/bmon/rapidash.pic"
-PonytaPicBack:
-	INCBIN "pic/monback/ponytab.pic"
-RapidashPicBack:
-	INCBIN "pic/monback/rapidashb.pic"
-RattataPicFront:
-	INCBIN "pic/bmon/rattata.pic"
-RattataPicBack:
-	INCBIN "pic/monback/rattatab.pic"
-RaticatePicFront:
-	INCBIN "pic/bmon/raticate.pic"
-RaticatePicBack:
-	INCBIN "pic/monback/raticateb.pic"
-NidorinoPicFront:
-	INCBIN "pic/bmon/nidorino.pic"
-NidorinoPicBack:
-	INCBIN "pic/monback/nidorinob.pic"
-NidorinaPicFront:
-	INCBIN "pic/bmon/nidorina.pic"
-NidorinaPicBack:
-	INCBIN "pic/monback/nidorinab.pic"
-GeodudePicFront:
-	INCBIN "pic/bmon/geodude.pic"
-GeodudePicBack:
-	INCBIN "pic/monback/geodudeb.pic"
-PorygonPicFront:
-	INCBIN "pic/bmon/porygon.pic"
-PorygonPicBack:
-	INCBIN "pic/monback/porygonb.pic"
-AerodactylPicFront:
-	INCBIN "pic/bmon/aerodactyl.pic"
-AerodactylPicBack:
-	INCBIN "pic/monback/aerodactylb.pic"
-MagnemitePicFront:
-	INCBIN "pic/bmon/magnemite.pic"
-MagnemitePicBack:
-	INCBIN "pic/monback/magnemiteb.pic"
-CharmanderPicFront:
-	INCBIN "pic/bmon/charmander.pic"
-CharmanderPicBack:
-	INCBIN "pic/monback/charmanderb.pic"
-SquirtlePicFront:
-	INCBIN "pic/bmon/squirtle.pic"
-SquirtlePicBack:
-	INCBIN "pic/monback/squirtleb.pic"
-CharmeleonPicFront:
-	INCBIN "pic/bmon/charmeleon.pic"
-CharmeleonPicBack:
-	INCBIN "pic/monback/charmeleonb.pic"
-WartortlePicFront:
-	INCBIN "pic/bmon/wartortle.pic"
-WartortlePicBack:
-	INCBIN "pic/monback/wartortleb.pic"
-CharizardPicFront:
-	INCBIN "pic/bmon/charizard.pic"
-CharizardPicBack:
-	INCBIN "pic/monback/charizardb.pic"
-FossilAerodactylPic:
-	INCBIN "pic/bmon/fossilaerodactyl.pic"
-GhostPic:
-	INCBIN "pic/other/ghost.pic"
-OddishPicFront:
-	INCBIN "pic/bmon/oddish.pic"
-OddishPicBack:
-	INCBIN "pic/monback/oddishb.pic"
-GloomPicFront:
-	INCBIN "pic/bmon/gloom.pic"
-GloomPicBack:
-	INCBIN "pic/monback/gloomb.pic"
-VileplumePicFront:
-	INCBIN "pic/bmon/vileplume.pic"
-VileplumePicBack:
-	INCBIN "pic/monback/vileplumeb.pic"
-BellsproutPicFront:
-	INCBIN "pic/bmon/bellsprout.pic"
-BellsproutPicBack:
-	INCBIN "pic/monback/bellsproutb.pic"
-WeepinbellPicFront:
-	INCBIN "pic/bmon/weepinbell.pic"
-WeepinbellPicBack:
-	INCBIN "pic/monback/weepinbellb.pic"
-VictreebelPicFront:
-	INCBIN "pic/bmon/victreebel.pic"
-VictreebelPicBack:
-	INCBIN "pic/monback/victreebelb.pic"
-
-INCBIN "baserom.gbc",$37244,$37390 - $37244
-
-UnnamedText_37390: ; 0x37390
-	TX_FAR _UnnamedText_37390
-	db $50
-; 0x37390 + 5 bytes
-
-INCBIN "baserom.gbc",$37395,$37467 - $37395
-
-UnnamedText_37467: ; 0x37467
-	TX_FAR _UnnamedText_37467
-	db $50
-; 0x37467 + 5 bytes
-
-UnnamedText_3746c: ; 0x3746c
-	TX_FAR _UnnamedText_3746c
-	db $50
-; 0x3746c + 5 bytes
-
-UnnamedText_37471: ; 0x37471
-	TX_FAR _UnnamedText_37471
-	db $50
-; 0x37471 + 5 bytes
-
-UnnamedText_37476: ; 0x37476
-	TX_FAR _UnnamedText_37476
-	db $50
-; 0x37476 + 5 bytes
-
-UnnamedText_3747b: ; 0x3747b
-	TX_FAR _UnnamedText_3747b
-	db $50
-; 0x3747b + 5 bytes
-
-INCBIN "baserom.gbc",$37480,$37673 - $37480
-
-UnnamedText_37673: ; 0x37673
-	TX_FAR _UnnamedText_37673
-	db $50
-; 0x37673 + 5 bytes
-
-INCBIN "baserom.gbc",$37678,$3769d - $37678
-
-UnnamedText_3769d: ; 0x3769d
-	TX_FAR _UnnamedText_3769d
-	db $50
-; 0x3769d + 5 bytes
-
-INCBIN "baserom.gbc",$376a2,$44f
-
-IF _RED
-	INCBIN "gfx/red/slotmachine1.2bpp"
-ENDC
-IF _BLUE
-	INCBIN "gfx/blue/slotmachine1.2bpp"
-ENDC
-
-INCBIN "baserom.gbc",$37ca1,$37e79 - $37ca1
-
-UnnamedText_37e79: ; 0x37e79
-	TX_FAR _UnnamedText_37e79
-	db $50
-; 0x37e79 + 5 bytes
-
-UnnamedText_37e7e: ; 0x37e7e
-	TX_FAR _UnnamedText_37e7e
-	db $50
-; 0x37e7e + 5 bytes
-
-UnnamedText_37e83: ; 0x37e83
-	TX_FAR _UnnamedText_37e83
-	db $50
-; 0x37e83 + 5 bytes
-
-SECTION "bankE",DATA,BANK[$E]
-
-Moves: ; 4000
-; characteristics of each move
-; animation, effect, power, type, accuracy, PP
-db POUND       ,$00,$28,NORMAL,$FF,35
-db KARATE_CHOP ,$00,$32,NORMAL,$FF,25
-db DOUBLESLAP  ,$1D,$0F,NORMAL,$D8,10
-db COMET_PUNCH ,$1D,$12,NORMAL,$D8,15
-db MEGA_PUNCH  ,$00,$50,NORMAL,$D8,20
-db PAY_DAY     ,$10,$28,NORMAL,$FF,20
-db FIRE_PUNCH  ,$04,$4B,FIRE,$FF,15
-db ICE_PUNCH   ,$05,$4B,ICE,$FF,15
-db THUNDERPUNCH,$06,$4B,ELECTRIC,$FF,15
-db SCRATCH     ,$00,$28,NORMAL,$FF,35
-db VICEGRIP    ,$00,$37,NORMAL,$FF,30
-db GUILLOTINE  ,$26,$01,NORMAL,$4C,5
-db RAZOR_WIND  ,$27,$50,NORMAL,$BF,10
-db SWORDS_DANCE,$32,$00,NORMAL,$FF,30
-db CUT         ,$00,$32,NORMAL,$F2,30
-db GUST        ,$00,$28,NORMAL,$FF,35
-db WING_ATTACK ,$00,$23,FLYING,$FF,35
-db WHIRLWIND   ,$1C,$00,NORMAL,$D8,20
-db FLY         ,$2B,$46,FLYING,$F2,15
-db BIND        ,$2A,$0F,NORMAL,$BF,20
-db SLAM        ,$00,$50,NORMAL,$BF,20
-db VINE_WHIP   ,$00,$23,GRASS,$FF,10
-db STOMP       ,$25,$41,NORMAL,$FF,20
-db DOUBLE_KICK ,$2C,$1E,FIGHTING,$FF,30
-db MEGA_KICK   ,$00,$78,NORMAL,$BF,5
-db JUMP_KICK   ,$2D,$46,FIGHTING,$F2,25
-db ROLLING_KICK,$25,$3C,FIGHTING,$D8,15
-db SAND_ATTACK ,$16,$00,NORMAL,$FF,15
-db HEADBUTT    ,$25,$46,NORMAL,$FF,15
-db HORN_ATTACK ,$00,$41,NORMAL,$FF,25
-db FURY_ATTACK ,$1D,$0F,NORMAL,$D8,20
-db HORN_DRILL  ,$26,$01,NORMAL,$4C,5
-db TACKLE      ,$00,$23,NORMAL,$F2,35
-db BODY_SLAM   ,$24,$55,NORMAL,$FF,15
-db WRAP        ,$2A,$0F,NORMAL,$D8,20
-db TAKE_DOWN   ,$30,$5A,NORMAL,$D8,20
-db THRASH      ,$1B,$5A,NORMAL,$FF,20
-db DOUBLE_EDGE ,$30,$64,NORMAL,$FF,15
-db TAIL_WHIP   ,$13,$00,NORMAL,$FF,30
-db POISON_STING,$02,$0F,POISON,$FF,35
-db TWINEEDLE   ,$4D,$19,BUG,$FF,20
-db PIN_MISSILE ,$1D,$0E,BUG,$D8,20
-db LEER        ,$13,$00,NORMAL,$FF,30
-db BITE        ,$1F,$3C,NORMAL,$FF,25
-db GROWL       ,$12,$00,NORMAL,$FF,40
-db ROAR        ,$1C,$00,NORMAL,$FF,20
-db SING        ,$20,$00,NORMAL,$8C,15
-db SUPERSONIC  ,$31,$00,NORMAL,$8C,20
-db SONICBOOM   ,$29,$01,NORMAL,$E5,20
-db DISABLE     ,$56,$00,NORMAL,$8C,20
-db ACID        ,$45,$28,POISON,$FF,30
-db EMBER       ,$04,$28,FIRE,$FF,25
-db FLAMETHROWER,$04,$5F,FIRE,$FF,15
-db MIST        ,$2E,$00,ICE,$FF,30
-db WATER_GUN   ,$00,$28,WATER,$FF,25
-db HYDRO_PUMP  ,$00,$78,WATER,$CC,5
-db SURF        ,$00,$5F,WATER,$FF,15
-db ICE_BEAM    ,$05,$5F,ICE,$FF,10
-db BLIZZARD    ,$05,$78,ICE,$E5,5
-db PSYBEAM     ,$4C,$41,PSYCHIC,$FF,20
-db BUBBLEBEAM  ,$46,$41,WATER,$FF,20
-db AURORA_BEAM ,$44,$41,ICE,$FF,20
-db HYPER_BEAM  ,$50,$96,NORMAL,$E5,5
-db PECK        ,$00,$23,FLYING,$FF,35
-db DRILL_PECK  ,$00,$50,FLYING,$FF,20
-db SUBMISSION  ,$30,$50,FIGHTING,$CC,25
-db LOW_KICK    ,$25,$32,FIGHTING,$E5,20
-db COUNTER     ,$00,$01,FIGHTING,$FF,20
-db SEISMIC_TOSS,$29,$01,FIGHTING,$FF,20
-db STRENGTH    ,$00,$50,NORMAL,$FF,15
-db ABSORB      ,$03,$14,GRASS,$FF,20
-db MEGA_DRAIN  ,$03,$28,GRASS,$FF,10
-db LEECH_SEED  ,$54,$00,GRASS,$E5,10
-db GROWTH      ,$0D,$00,NORMAL,$FF,40
-db RAZOR_LEAF  ,$00,$37,GRASS,$F2,25
-db SOLARBEAM   ,$27,$78,GRASS,$FF,10
-db POISONPOWDER,$42,$00,POISON,$BF,35
-db STUN_SPORE  ,$43,$00,GRASS,$BF,30
-db SLEEP_POWDER,$20,$00,GRASS,$BF,15
-db PETAL_DANCE ,$1B,$46,GRASS,$FF,20
-db STRING_SHOT ,$14,$00,BUG,$F2,40
-db DRAGON_RAGE ,$29,$01,DRAGON,$FF,10
-db FIRE_SPIN   ,$2A,$0F,FIRE,$B2,15
-db THUNDERSHOCK,$06,$28,ELECTRIC,$FF,30
-db THUNDERBOLT ,$06,$5F,ELECTRIC,$FF,15
-db THUNDER_WAVE,$43,$00,ELECTRIC,$FF,20
-db THUNDER     ,$06,$78,ELECTRIC,$B2,10
-db ROCK_THROW  ,$00,$32,ROCK,$A5,15
-db EARTHQUAKE  ,$00,$64,GROUND,$FF,10
-db FISSURE     ,$26,$01,GROUND,$4C,5
-db DIG         ,$27,$64,GROUND,$FF,10
-db TOXIC       ,$42,$00,POISON,$D8,10
-db CONFUSION   ,$4C,$32,PSYCHIC,$FF,25
-db PSYCHIC_M   ,$47,$5A,PSYCHIC,$FF,10
-db HYPNOSIS    ,$20,$00,PSYCHIC,$99,20
-db MEDITATE    ,$0A,$00,PSYCHIC,$FF,40
-db AGILITY     ,$34,$00,PSYCHIC,$FF,30
-db QUICK_ATTACK,$00,$28,NORMAL,$FF,30
-db RAGE        ,$51,$14,NORMAL,$FF,20
-db TELEPORT    ,$1C,$00,PSYCHIC,$FF,20
-db NIGHT_SHADE ,$29,$00,GHOST,$FF,15
-db MIMIC       ,$52,$00,NORMAL,$FF,10
-db SCREECH     ,$3B,$00,NORMAL,$D8,40
-db DOUBLE_TEAM ,$0F,$00,NORMAL,$FF,15
-db RECOVER     ,$38,$00,NORMAL,$FF,20
-db HARDEN      ,$0B,$00,NORMAL,$FF,30
-db MINIMIZE    ,$0F,$00,NORMAL,$FF,20
-db SMOKESCREEN ,$16,$00,NORMAL,$FF,20
-db CONFUSE_RAY ,$31,$00,GHOST,$FF,10
-db WITHDRAW    ,$0B,$00,WATER,$FF,40
-db DEFENSE_CURL,$0B,$00,NORMAL,$FF,40
-db BARRIER     ,$33,$00,PSYCHIC,$FF,30
-db LIGHT_SCREEN,$40,$00,PSYCHIC,$FF,30
-db HAZE        ,$19,$00,ICE,$FF,30
-db REFLECT     ,$41,$00,PSYCHIC,$FF,20
-db FOCUS_ENERGY,$2F,$00,NORMAL,$FF,30
-db BIDE        ,$1A,$00,NORMAL,$FF,10
-db METRONOME   ,$53,$00,NORMAL,$FF,10
-db MIRROR_MOVE ,$09,$00,FLYING,$FF,20
-db SELFDESTRUCT,$07,$82,NORMAL,$FF,5
-db EGG_BOMB    ,$00,$64,NORMAL,$BF,10
-db LICK        ,$24,$14,GHOST,$FF,30
-db SMOG        ,$21,$14,POISON,$B2,20
-db SLUDGE      ,$21,$41,POISON,$FF,20
-db BONE_CLUB   ,$1F,$41,GROUND,$D8,20
-db FIRE_BLAST  ,$22,$78,FIRE,$D8,5
-db WATERFALL   ,$00,$50,WATER,$FF,15
-db CLAMP       ,$2A,$23,WATER,$BF,10
-db SWIFT       ,$11,$3C,NORMAL,$FF,20
-db SKULL_BASH  ,$27,$64,NORMAL,$FF,15
-db SPIKE_CANNON,$1D,$14,NORMAL,$FF,15
-db CONSTRICT   ,$46,$0A,NORMAL,$FF,35
-db AMNESIA     ,$35,$00,PSYCHIC,$FF,20
-db KINESIS     ,$16,$00,PSYCHIC,$CC,15
-db SOFTBOILED  ,$38,$00,NORMAL,$FF,10
-db HI_JUMP_KICK,$2D,$55,FIGHTING,$E5,20
-db GLARE       ,$43,$00,NORMAL,$BF,30
-db DREAM_EATER ,$08,$64,PSYCHIC,$FF,15
-db POISON_GAS  ,$42,$00,POISON,$8C,40
-db BARRAGE     ,$1D,$0F,NORMAL,$D8,20
-db LEECH_LIFE  ,$03,$14,BUG,$FF,15
-db LOVELY_KISS ,$20,$00,NORMAL,$BF,10
-db SKY_ATTACK  ,$27,$8C,FLYING,$E5,5
-db TRANSFORM   ,$39,$00,NORMAL,$FF,10
-db BUBBLE      ,$46,$14,WATER,$FF,30
-db DIZZY_PUNCH ,$00,$46,NORMAL,$FF,10
-db SPORE       ,$20,$00,GRASS,$FF,15
-db FLASH       ,$16,$00,NORMAL,$B2,20
-db PSYWAVE     ,$29,$01,PSYCHIC,$CC,15
-db SPLASH      ,$55,$00,NORMAL,$FF,40
-db ACID_ARMOR  ,$33,$00,POISON,$FF,40
-db CRABHAMMER  ,$00,$5A,WATER,$D8,10
-db EXPLOSION   ,$07,$AA,NORMAL,$FF,5
-db FURY_SWIPES ,$1D,$12,NORMAL,$CC,15
-db BONEMERANG  ,$2C,$32,GROUND,$E5,10
-db REST        ,$38,$00,PSYCHIC,$FF,10
-db ROCK_SLIDE  ,$00,$4B,ROCK,$E5,10
-db HYPER_FANG  ,$1F,$50,NORMAL,$E5,15
-db SHARPEN     ,$0A,$00,NORMAL,$FF,30
-db CONVERSION  ,$18,$00,NORMAL,$FF,30
-db TRI_ATTACK  ,$00,$50,NORMAL,$FF,10
-db SUPER_FANG  ,$28,$01,NORMAL,$E5,10
-db SLASH       ,$00,$46,NORMAL,$FF,20
-db SUBSTITUTE  ,$4F,$00,NORMAL,$FF,10
-db STRUGGLE    ,$30,$32,NORMAL,$FF,10
-
-INCBIN "baserom.gbc",$383DE,$39884 - $383DE
-
-ReadMove: ; 5884
-	push hl
-	push de
-	push bc
-	dec a
-	ld hl,Moves
-	ld bc,6
-	call AddNTimes
-	ld de,$CFCC
-	call CopyData
-	pop bc
-	pop de
-	pop hl
-	ret
-
-; trainer data: from 5C53 to 652E
-
-INCBIN "baserom.gbc",$3989B,$39914 - $3989B
-
-; trainer pic pointers and base money.
-dw YoungsterPic
-db 0,$15,0
-
-dw BugCatcherPic
-db 0,$10,0
-
-dw LassPic
-db 0,$15,0
-
-dw SailorPic
-db 0,$30,0
-
-dw JrTrainerMPic
-db 0,$20,0
-
-dw JrTrainerFPic
-db 0,$20,0
-
-dw PokemaniacPic
-db 0,$50,0
-
-dw SuperNerdPic
-db 0,$25,0
-
-dw HikerPic
-db 0,$35,0
-
-dw BikerPic
-db 0,$20,0
-
-dw BurglarPic
-db 0,$90,0
-
-dw EngineerPic
-db 0,$50,0
-
-dw JugglerPic
-db 0,$35,0
-
-dw FisherPic
-db 0,$35,0
-
-dw SwimmerPic
-db 0,$05,0
-
-dw CueBallPic
-db 0,$25,0
-
-dw GamblerPic
-db 0,$70,0
-
-dw BeautyPic
-db 0,$70,0
-
-dw PsychicPic
-db 0,$10,0
-
-dw RockerPic
-db 0,$25,0
-
-dw JugglerPic
-db 0,$35,0
-
-dw TamerPic
-db 0,$40,0
-
-dw BirdKeeperPic
-db 0,$25,0
-
-dw BlackbeltPic
-db 0,$25,0
-
-dw Rival1Pic
-db 0,$35,0
-
-dw ProfOakPic
-db 0,$99,0
-
-dw ChiefPic
-db 0,$30,0
-
-dw ScientistPic
-db 0,$50,0
-
-dw GiovanniPic
-db 0,$99,0
-
-dw RocketPic
-db 0,$30,0
-
-dw CooltrainerMPic
-db 0,$35,0
-
-dw CooltrainerFPic
-db 0,$35,0
-
-dw BrunoPic
-db 0,$99,0
-
-dw BrockPic
-db 0,$99,0
-
-dw MistyPic
-db 0,$99,0
-
-dw LtSurgePic
-db 0,$99,0
-
-dw ErikaPic
-db 0,$99,0
-
-dw KogaPic
-db 0,$99,0
-
-dw BlainePic
-db 0,$99,0
-
-dw SabrinaPic
-db 0,$99,0
-
-dw GentlemanPic
-db 0,$70,0
-
-dw Rival2Pic
-db 0,$65,0
-
-dw Rival3Pic
-db 0,$99,0
-
-dw LoreleiPic
-db 0,$99,0
-
-dw ChannelerPic
-db 0,$30,0
-
-dw AgathaPic
-db 0,$99,0
-
-dw LancePic
-db 0,$99,0
-
-TrainerNames: ; 59FF
-	db "YOUNGSTER@"
-	db "BUG CATCHER@"
-	db "LASS@"
-	db "SAILOR@"
-	db "JR.TRAINER♂@"
-	db "JR.TRAINER♀@"
-	db "POKéMANIAC@"
-	db "SUPER NERD@"
-	db "HIKER@"
-	db "BIKER@"
-	db "BURGLAR@"
-	db "ENGINEER@"
-	db "JUGGLER@"
-	db "FISHERMAN@"
-	db "SWIMMER@"
-	db "CUE BALL@"
-	db "GAMBLER@"
-	db "BEAUTY@"
-	db "PSYCHIC@"
-	db "ROCKER@"
-	db "JUGGLER@"
-	db "TAMER@"
-	db "BIRD KEEPER@"
-	db "BLACKBELT@"
-	db "RIVAL1@"
-	db "PROF.OAK@"
-	db "CHIEF@"
-	db "SCIENTIST@"
-	db "GIOVANNI@"
-	db "ROCKET@"
-	db "COOLTRAINER♂@"
-	db "COOLTRAINER♀@"
-	db "BRUNO@"
-	db "BROCK@"
-	db "MISTY@"
-	db "LT.SURGE@"
-	db "ERIKA@"
-	db "KOGA@"
-	db "BLAINE@"
-	db "SABRINA@"
-	db "GENTLEMAN@"
-	db "RIVAL2@"
-	db "RIVAL3@"
-	db "LORELEI@"
-	db "CHANNELER@"
-	db "AGATHA@"
-	db "LANCE@"
-
-INCBIN "baserom.gbc",$39B87,$39C53 - $39B87
-
-ReadTrainer: ; 5C53
-
-; don't change any moves in a link battle
-	ld a,[W_ISLINKBATTLE]
-	and a
-	ret nz
-
-; set [W_ENEMYMONCOUNT] to 0, [$D89D] to FF
-; XXX first is total enemy pokemon?
-; XXX second is species of first pokemon?
-	ld hl,W_ENEMYMONCOUNT
-	xor a
-	ld [hli],a
-	dec a
-	ld [hl],a
-
-; get the pointer to trainer data for this class
-	ld a,[W_CUROPPONENT]
-	sub $C9 ; convert value from pokemon to trainer
-	add a,a
-	ld hl,TrainerDataPointers
-	ld c,a
-	ld b,0
-	add hl,bc ; hl points to trainer class
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	ld a,[W_TRAINERNO]
-	ld b,a
-; At this point b contains the trainer number,
-; and hl points to the trainer class.
-; Our next task is to iterate through the trainers,
-; decrementing b each time, until we get to the right one.
-.outer\@
-	dec b
-	jr z,.IterateTrainer
-.inner\@
-	ld a,[hli]
-	and a
-	jr nz,.inner\@
-	jr .outer\@
-
-; if the first byte of trainer data is FF,
-; - each pokemon has a specific level
-;      (as opposed to the whole team being of the same level)
-; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move
-; else the first byte is the level of every pokemon on the team
-.IterateTrainer
-	ld a,[hli]
-	cp $FF ; is the trainer special?
-	jr z,.SpecialTrainer\@ ; if so, check for special moves
-	ld [W_CURENEMYLVL],a
-.LoopTrainerData\@
-	ld a,[hli]
-	and a ; have we reached the end of the trainer data?
-	jr z,.FinishUp\@
-	ld [$CF91],a ; write species somewhere (XXX why?)
-	ld a,1
-	ld [$CC49],a
-	push hl
-	call AddPokemonToParty
-	pop hl
-	jr .LoopTrainerData\@
-.SpecialTrainer\@
-; if this code is being run:
-; - each pokemon has a specific level
-;      (as opposed to the whole team being of the same level)
-; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move
-	ld a,[hli]
-	and a ; have we reached the end of the trainer data?
-	jr z,.AddLoneMove\@
-	ld [W_CURENEMYLVL],a
-	ld a,[hli]
-	ld [$CF91],a
-	ld a,1
-	ld [$CC49],a
-	push hl
-	call AddPokemonToParty
-	pop hl
-	jr .SpecialTrainer\@
-.AddLoneMove\@
-; does the trainer have a single monster with a different move
-	ld a,[W_LONEATTACKNO] ; Brock is 01, Misty is 02, Erika is 04, etc
-	and a
-	jr z,.AddTeamMove\@
-	dec a
-	add a,a
-	ld c,a
-	ld b,0
-	ld hl,LoneMoves
-	add hl,bc
-	ld a,[hli]
-	ld d,[hl]
-	ld hl,W_ENEMYMON1MOVE3
-	ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3
-	call AddNTimes
-	ld [hl],d
-	jr .FinishUp\@
-.AddTeamMove\@
-; check if our trainer's team has special moves
-
-; get trainer class number
-	ld a,[$D059]
-	sub $C8
-	ld b,a
-	ld hl,TeamMoves
-
-; iterate through entries in TeamMoves, checking each for our trainer class
-.IterateTeamMoves\@
-	ld a,[hli]
-	cp b
-	jr z,.GiveTeamMoves\@ ; is there a match?
-	inc hl ; if not, go to the next entry
-	inc a
-	jr nz,.IterateTeamMoves\@
-
-	; no matches found. is this trainer champion rival?
-	ld a,b
-	cp SONY3
-	jr z,.ChampionRival\@
-	jr .FinishUp\@ ; nope
-.GiveTeamMoves\@
-	ld a,[hl]
-	ld [$D95E],a
-	jr .FinishUp\@
-.ChampionRival\@ ; give moves to his team
-
-; pidgeot
-	ld a,SKY_ATTACK
-	ld [W_ENEMYMON1MOVE3],a
-
-; starter
-	ld a,[W_RIVALSTARTER]
-	cp BULBASAUR
-	ld b,MEGA_DRAIN
-	jr z,.GiveStarterMove\@
-	cp CHARMANDER
-	ld b,FIRE_BLAST
-	jr z,.GiveStarterMove\@
-	ld b,BLIZZARD ; must be squirtle
-.GiveStarterMove\@
-	ld a,b
-	ld [W_ENEMYMON6MOVE3],a
-.FinishUp\@ ; XXX this needs documenting
-	xor a       ; clear D079-D07B
-	ld de,$D079
-	ld [de],a
-	inc de
-	ld [de],a
-	inc de
-	ld [de],a
-	ld a,[W_CURENEMYLVL]
-	ld b,a
-.LastLoop\@
-	ld hl,$D047
-	ld c,2
-	push bc
-	ld a,$B
-	call Predef
-	pop bc
-	inc de
-	inc de
-	dec b
-	jr nz,.LastLoop\@
-	ret
-
-LoneMoves: ; 5D22
-; these are used for gym leaders.
-; this is not automatic! you have to write the number you want to W_LONEATTACKNO
-; first. e.g., erika's script writes 4 to W_LONEATTACKNO to get mega drain,
-; the fourth entry in the list.
-
-; first byte:  pokemon in the trainer's party that gets the move
-; second byte: move
-; unterminated
-	db 1,BIDE
-	db 1,BUBBLEBEAM
-	db 2,THUNDERBOLT
-	db 2,MEGA_DRAIN
-	db 3,TOXIC
-	db 3,PSYWAVE
-	db 3,FIRE_BLAST
-	db 4,FISSURE
-
-TeamMoves: ; 5D32
-; these are used for elite four.
-; this is automatic, based on trainer class.
-; don't be confused by LoneMoves above, the two data structures are
-	; _completely_ unrelated.
-
-; first byte: trainer (all trainers in this class have this move)
-; second byte: move
-; ff-terminated
-	db LORELEI,BLIZZARD
-	db BRUNO,FISSURE
-	db AGATHA,TOXIC
-	db LANCE,BARRIER
-	db $FF
-
-TrainerDataPointers: ; 5D3B
-	dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData
-	dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData
-	dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData
-	dw CueBallData,GamblerData,BeautyData,PsychicData,RockerData
-	dw JugglerData,TamerData,BirdKeeperData,BlackbeltData,Green1Data
-	dw ProfOakData,ChiefData,ScientistData,GiovanniData,RocketData
-	dw CooltrainerMData,CooltrainerFData,BrunoData,BrockData,MistyData
-	dw LtSurgeData,ErikaData,KogaData,BlaineData,SabrinaData
-	dw GentlemanData,Green2Data,Green3Data,LoreleiData,ChannelerData
-	dw AgathaData,LanceData
-
-; if first byte != FF, then
-	; first byte is level (of all pokemon on this team)
-	; all the next bytes are pokemon species
-	; null-terminated
-; if first byte == FF, then
-	; first byte is FF (obviously)
-	; every next two bytes are a level and species
-	; null-terminated
-
-YoungsterData:
-	db 11,RATTATA,EKANS,0
-	db 14,SPEAROW,0
-	db 10,RATTATA,RATTATA,ZUBAT,0
-	db 14,RATTATA,EKANS,ZUBAT,0
-	db 15,RATTATA,SPEAROW,0
-	db 17,SLOWPOKE,0
-	db 14,EKANS,SANDSHREW,0
-	db 21,NIDORAN_M,0
-	db 21,EKANS,0
-	db 19,SANDSHREW,ZUBAT,0
-	db 17,RATTATA,RATTATA,RATICATE,0
-	db 18,NIDORAN_M,NIDORINO,0
-	db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0
-BugCatcherData:
-	db 6,WEEDLE,CATERPIE,0
-	db 7,WEEDLE,KAKUNA,WEEDLE,0
-	db 9,WEEDLE,0
-	db 10,CATERPIE,WEEDLE,CATERPIE,0
-	db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0
-	db 11,CATERPIE,METAPOD,0
-	db 11,WEEDLE,KAKUNA,0
-	db 10,CATERPIE,METAPOD,CATERPIE,0
-	db 14,CATERPIE,WEEDLE,0
-	db 16,WEEDLE,CATERPIE,WEEDLE,0
-	db 20,BUTTERFREE,0
-	db 18,METAPOD,CATERPIE,VENONAT,0
-	db 19,BEEDRILL,BEEDRILL,0
-	db 20,CATERPIE,WEEDLE,VENONAT,0
-LassData:
-	db 9,PIDGEY,PIDGEY,0
-	db 10,RATTATA,NIDORAN_M,0
-	db 14,JIGGLYPUFF,0
-	db 31,PARAS,PARAS,PARASECT,0
-	db 11,ODDISH,BELLSPROUT,0
-	db 14,CLEFAIRY,0
-	db 16,PIDGEY,NIDORAN_F,0
-	db 14,PIDGEY,NIDORAN_F,0
-	db 15,NIDORAN_M,NIDORAN_F,0
-	db 13,ODDISH,PIDGEY,ODDISH,0
-	db 18,PIDGEY,NIDORAN_F,0
-	db 18,RATTATA,PIKACHU,0
-	db 23,NIDORAN_F,NIDORINA,0
-	db 24,MEOWTH,MEOWTH,MEOWTH,0
-	db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0
-	db 22,CLEFAIRY,CLEFAIRY,0
-	db 23,BELLSPROUT,WEEPINBELL,0
-	db 23,ODDISH,GLOOM,0
-SailorData:
-	db 18,MACHOP,SHELLDER,0
-	db 17,MACHOP,TENTACOOL,0
-	db 21,SHELLDER,0
-	db 17,HORSEA,SHELLDER,TENTACOOL,0
-	db 18,TENTACOOL,STARYU,0
-	db 17,HORSEA,HORSEA,HORSEA,0
-	db 20,MACHOP,0
-	db 21,PIKACHU,PIKACHU,0
-JrTrainerMData:
-	db 11,DIGLETT,SANDSHREW,0
-	db 14,RATTATA,EKANS,0
-	db 18,MANKEY,0
-	db 20,SQUIRTLE,0
-	db 16,SPEAROW,RATICATE,0
-	db 18,DIGLETT,DIGLETT,SANDSHREW,0
-	db 21,GROWLITHE,CHARMANDER,0
-	db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0
-	db 29,NIDORAN_M,NIDORINO,0
-JrTrainerFData:
-	db 19,GOLDEEN,0
-	db 16,RATTATA,PIKACHU,0
-	db 16,PIDGEY,PIDGEY,PIDGEY,0
-	db 22,BULBASAUR,0
-	db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
-	db 23,MEOWTH,0
-	db 20,PIKACHU,CLEFAIRY,0
-	db 21,PIDGEY,PIDGEOTTO,0
-	db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0
-	db 22,ODDISH,BULBASAUR,0
-	db 24,BULBASAUR,IVYSAUR,0
-	db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0
-	db 30,POLIWAG,POLIWAG,0
-	db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0
-	db 28,GOLDEEN,POLIWAG,HORSEA,0
-	db 31,GOLDEEN,SEAKING,0
-	db 22,BELLSPROUT,CLEFAIRY,0
-	db 20,MEOWTH,ODDISH,PIDGEY,0
-	db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0
-	db 28,GLOOM,ODDISH,ODDISH,0
-	db 29,PIKACHU,RAICHU,0
-	db 33,CLEFAIRY,0
-	db 29,BELLSPROUT,ODDISH,TANGELA,0
-	db 30,TENTACOOL,HORSEA,SEEL,0
-PokemaniacData:
-	db 30,RHYHORN,LICKITUNG,0
-	db 20,CUBONE,SLOWPOKE,0
-	db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0
-	db 22,CHARMANDER,CUBONE,0
-	db 25,SLOWPOKE,0
-	db 40,CHARMELEON,LAPRAS,LICKITUNG,0
-	db 23,CUBONE,SLOWPOKE,0
-SuperNerdData:
-	db 11,MAGNEMITE,VOLTORB,0
-	db 12,GRIMER,VOLTORB,KOFFING,0
-	db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0
-	db 22,GRIMER,MUK,GRIMER,0
-	db 26,KOFFING,0
-	db 22,KOFFING,MAGNEMITE,WEEZING,0
-	db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0
-	db 24,MAGNEMITE,VOLTORB,0
-	db 36,VULPIX,VULPIX,NINETALES,0
-	db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0
-	db 41,RAPIDASH,0
-	db 37,GROWLITHE,VULPIX,0
-HikerData:
-	db 10,GEODUDE,GEODUDE,ONIX,0
-	db 15,MACHOP,GEODUDE,0
-	db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0
-	db 17,ONIX,0
-	db 21,GEODUDE,ONIX,0
-	db 20,GEODUDE,MACHOP,GEODUDE,0
-	db 21,GEODUDE,ONIX,0
-	db 19,ONIX,GRAVELER,0
-	db 21,GEODUDE,GEODUDE,GRAVELER,0
-	db 25,GEODUDE,0
-	db 20,MACHOP,ONIX,0
-	db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0
-	db 20,ONIX,ONIX,GEODUDE,0
-	db 21,GEODUDE,GRAVELER,0
-BikerData:
-	db 28,KOFFING,KOFFING,KOFFING,0
-	db 29,KOFFING,GRIMER,0
-	db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0
-	db 28,KOFFING,GRIMER,WEEZING,0
-	db 29,GRIMER,KOFFING,0
-	db 33,WEEZING,0
-	db 26,GRIMER,GRIMER,GRIMER,GRIMER,0
-	db 28,WEEZING,KOFFING,WEEZING,0
-	db 33,MUK,0
-	db 29,VOLTORB,VOLTORB,0
-	db 29,WEEZING,MUK,0
-	db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0
-	db 26,KOFFING,KOFFING,GRIMER,KOFFING,0
-	db 28,GRIMER,GRIMER,KOFFING,0
-	db 29,KOFFING,MUK,0
-BurglarData:
-	db 29,GROWLITHE,VULPIX,0
-	db 33,GROWLITHE,0
-	db 28,VULPIX,CHARMANDER,PONYTA,0
-	db 36,GROWLITHE,VULPIX,NINETALES,0
-	db 41,PONYTA,0
-	db 37,VULPIX,GROWLITHE,0
-	db 34,CHARMANDER,CHARMELEON,0
-	db 38,NINETALES,0
-	db 34,GROWLITHE,PONYTA,0
-EngineerData:
-	db 21,VOLTORB,MAGNEMITE,0
-	db 21,MAGNEMITE,0
-	db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0
-Juggler1Data:
-; none
-FisherData:
-	db 17,GOLDEEN,TENTACOOL,GOLDEEN,0
-	db 17,TENTACOOL,STARYU,SHELLDER,0
-	db 22,GOLDEEN,POLIWAG,GOLDEEN,0
-	db 24,TENTACOOL,GOLDEEN,0
-	db 27,GOLDEEN,0
-	db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0
-	db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0
-	db 31,SHELLDER,CLOYSTER,0
-	db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0
-	db 33,SEAKING,GOLDEEN,0
-	db 24,MAGIKARP,MAGIKARP,0
-SwimmerData:
-	db 16,HORSEA,SHELLDER,0
-	db 30,TENTACOOL,SHELLDER,0
-	db 29,GOLDEEN,HORSEA,STARYU,0
-	db 30,POLIWAG,POLIWHIRL,0
-	db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0
-	db 29,GOLDEEN,SHELLDER,SEAKING,0
-	db 30,HORSEA,HORSEA,0
-	db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0
-	db 31,SHELLDER,CLOYSTER,0
-	db 35,STARYU,0
-	db 28,HORSEA,HORSEA,SEADRA,HORSEA,0
-	db 33,SEADRA,TENTACRUEL,0
-	db 37,STARMIE,0
-	db 33,STARYU,WARTORTLE,0
-	db 32,POLIWHIRL,TENTACOOL,SEADRA,0
-CueBallData:
-	db 28,MACHOP,MANKEY,MACHOP,0
-	db 29,MANKEY,MACHOP,0
-	db 33,MACHOP,0
-	db 29,MANKEY,PRIMEAPE,0
-	db 29,MACHOP,MACHOKE,0
-	db 33,MACHOKE,0
-	db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0
-	db 29,PRIMEAPE,MACHOKE,0
-	db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0
-GamblerData:
-	db 18,POLIWAG,HORSEA,0
-	db 18,BELLSPROUT,ODDISH,0
-	db 18,VOLTORB,MAGNEMITE,0
-	db 18,GROWLITHE,VULPIX,0
-	db 22,POLIWAG,POLIWAG,POLIWHIRL,0
-	db 22,ONIX,GEODUDE,GRAVELER,0
-	db 24,GROWLITHE,VULPIX,0
-BeautyData:
-	db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
-	db 24,BELLSPROUT,BELLSPROUT,0
-	db 26,EXEGGCUTE,0
-	db 27,RATTATA,PIKACHU,RATTATA,0
-	db 29,CLEFAIRY,MEOWTH,0
-	db 35,SEAKING,0
-	db 30,SHELLDER,SHELLDER,CLOYSTER,0
-	db 31,POLIWAG,SEAKING,0
-	db 29,PIDGEOTTO,WIGGLYTUFF,0
-	db 29,BULBASAUR,IVYSAUR,0
-	db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0
-	db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0
-	db 30,GOLDEEN,SEAKING,0
-	db 29,STARYU,STARYU,STARYU,0
-	db 30,SEADRA,HORSEA,SEADRA,0
-PsychicData:
-	db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0
-	db 34,MR_MIME,KADABRA,0
-	db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0
-	db 38,SLOWBRO,0
-RockerData:
-	db 20,VOLTORB,MAGNEMITE,VOLTORB,0
-	db 29,VOLTORB,ELECTRODE,0
-JugglerData:
-	db 29,KADABRA,MR_MIME,0
-	db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0
-	db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0
-	db 34,DROWZEE,HYPNO,0
-	db 48,MR_MIME,0
-	db 33,HYPNO,0
-	db 38,HYPNO,0
-	db 34,DROWZEE,KADABRA,0
-TamerData:
-	db 34,SANDSLASH,ARBOK,0
-	db 33,ARBOK,SANDSLASH,ARBOK,0
-	db 43,RHYHORN,0
-	db 39,ARBOK,TAUROS,0
-	db 44,PERSIAN,GOLDUCK,0
-	db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0
-BirdKeeperData:
-	db 29,PIDGEY,PIDGEOTTO,0
-	db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0
-	db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0
-	db 33,FARFETCH_D,0
-	db 29,SPEAROW,FEAROW,0
-	db 26,PIDGEOTTO,FARFETCH_D,DODUO,PIDGEY,0
-	db 28,DODRIO,DODUO,DODUO,0
-	db 29,SPEAROW,FEAROW,0
-	db 34,DODRIO,0
-	db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0
-	db 30,FEAROW,FEAROW,PIDGEOTTO,0
-	db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0
-	db 42,FARFETCH_D,FEAROW,0
-	db 28,PIDGEY,DODUO,PIDGEOTTO,0
-	db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0
-	db 29,PIDGEOTTO,FEAROW,0
-	db 28,SPEAROW,DODUO,FEAROW,0
-BlackbeltData:
-	db 37,HITMONLEE,HITMONCHAN,0
-	db 31,MANKEY,MANKEY,PRIMEAPE,0
-	db 32,MACHOP,MACHOKE,0
-	db 36,PRIMEAPE,0
-	db 31,MACHOP,MANKEY,PRIMEAPE,0
-	db 40,MACHOP,MACHOKE,0
-	db 43,MACHOKE,0
-	db 38,MACHOKE,MACHOP,MACHOKE,0
-	db 43,MACHOKE,MACHOP,MACHOKE,0
-Green1Data:
-	db 5,SQUIRTLE,0
-	db 5,BULBASAUR,0
-	db 5,CHARMANDER,0
-	db $FF,9,PIDGEY,8,SQUIRTLE,0
-	db $FF,9,PIDGEY,8,BULBASAUR,0
-	db $FF,9,PIDGEY,8,CHARMANDER,0
-	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0
-	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0
-	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0
-ProfOakData:
-	db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0
-	db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0
-	db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0
-ChiefData:
-; none
-ScientistData:
-	db 34,KOFFING,VOLTORB,0
-	db 26,GRIMER,WEEZING,KOFFING,WEEZING,0
-	db 28,MAGNEMITE,VOLTORB,MAGNETON,0
-	db 29,ELECTRODE,WEEZING,0
-	db 33,ELECTRODE,0
-	db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0
-	db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0
-	db 29,ELECTRODE,MUK,0
-	db 29,GRIMER,ELECTRODE,0
-	db 28,VOLTORB,KOFFING,MAGNETON,0
-	db 29,MAGNEMITE,KOFFING,0
-	db 33,MAGNEMITE,MAGNETON,VOLTORB,0
-	db 34,MAGNEMITE,ELECTRODE,0
-GiovanniData:
-	db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0
-	db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0
-	db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0
-RocketData:
-	db 13,RATTATA,ZUBAT,0
-	db 11,SANDSHREW,RATTATA,ZUBAT,0
-	db 12,ZUBAT,EKANS,0
-	db 16,RATICATE,0
-	db 17,MACHOP,DROWZEE,0
-	db 15,EKANS,ZUBAT,0
-	db 20,RATICATE,ZUBAT,0
-	db 21,DROWZEE,MACHOP,0
-	db 21,RATICATE,RATICATE,0
-	db 20,GRIMER,KOFFING,KOFFING,0
-	db 19,RATTATA,RATICATE,RATICATE,RATTATA,0
-	db 22,GRIMER,KOFFING,0
-	db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0
-	db 20,RATTATA,RATICATE,DROWZEE,0
-	db 21,MACHOP,MACHOP,0
-	db 23,SANDSHREW,EKANS,SANDSLASH,0
-	db 23,EKANS,SANDSHREW,ARBOK,0
-	db 21,KOFFING,ZUBAT,0
-	db 25,ZUBAT,ZUBAT,GOLBAT,0
-	db 26,KOFFING,DROWZEE,0
-	db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0
-	db 26,DROWZEE,KOFFING,0
-	db 29,CUBONE,ZUBAT,0
-	db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0
-	db 28,RATICATE,HYPNO,RATICATE,0
-	db 29,MACHOP,DROWZEE,0
-	db 28,EKANS,ZUBAT,CUBONE,0
-	db 33,ARBOK,0
-	db 33,HYPNO,0
-	db 29,MACHOP,MACHOKE,0
-	db 28,ZUBAT,ZUBAT,GOLBAT,0
-	db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0
-	db 29,CUBONE,CUBONE,0
-	db 29,SANDSHREW,SANDSLASH,0
-	db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0
-	db 28,WEEZING,GOLBAT,KOFFING,0
-	db 28,DROWZEE,GRIMER,MACHOP,0
-	db 28,GOLBAT,DROWZEE,HYPNO,0
-	db 33,MACHOKE,0
-	db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0
-	db 32,CUBONE,DROWZEE,MAROWAK,0
-CooltrainerMData:
-	db 39,NIDORINO,NIDOKING,0
-	db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0
-	db 43,KINGLER,TENTACRUEL,BLASTOISE,0
-	db 45,KINGLER,STARMIE,0
-	db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0
-	db 44,IVYSAUR,WARTORTLE,CHARMELEON,0
-	db 49,NIDOKING,0
-	db 44,KINGLER,CLOYSTER,0
-	db 39,SANDSLASH,DUGTRIO,0
-	db 43,RHYHORN,0
-CooltrainerFData:
-	db 24,WEEPINBELL,GLOOM,IVYSAUR,0
-	db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0
-	db 43,PARASECT,DEWGONG,CHANSEY,0
-	db 46,VILEPLUME,BUTTERFREE,0
-	db 44,PERSIAN,NINETALES,0
-	db 45,IVYSAUR,VENUSAUR,0
-	db 45,NIDORINA,NIDOQUEEN,0
-	db 43,PERSIAN,NINETALES,RAICHU,0
-BrunoData:
-	db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0
-BrockData:
-	db $FF,12,GEODUDE,14,ONIX,0
-MistyData:
-	db $FF,18,STARYU,21,STARMIE,0
-LtSurgeData:
-	db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0
-ErikaData:
-	db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0
-KogaData:
-	db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0
-BlaineData:
-	db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0
-SabrinaData:
-	db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0
-GentlemanData:
-	db 18,GROWLITHE,GROWLITHE,0
-	db 19,NIDORAN_M,NIDORAN_F,0
-	db 23,PIKACHU,0
-	db 48,PRIMEAPE,0
-	db 17,GROWLITHE,PONYTA,0
-Green2Data:
-	db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0
-	db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0
-	db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0
-	db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0
-	db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0
-	db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0
-	db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0
-	db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0
-	db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0
-	db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0
-	db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0
-	db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0
-Green3Data:
-	db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0
-	db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0
-	db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0
-LoreleiData:
-	db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0
-ChannelerData:
-	db 22,GASTLY,0
-	db 24,GASTLY,0
-	db 23,GASTLY,GASTLY,0
-	db 24,GASTLY,0
-	db 23,GASTLY,0
-	db 24,GASTLY,0
-	db 24,HAUNTER,0
-	db 22,GASTLY,0
-	db 24,GASTLY,0
-	db 23,GASTLY,GASTLY,0
-	db 24,GASTLY,0
-	db 22,GASTLY,0
-	db 24,GASTLY,0
-	db 23,HAUNTER,0
-	db 24,GASTLY,0
-	db 22,GASTLY,0
-	db 24,GASTLY,0
-	db 22,HAUNTER,0
-	db 22,GASTLY,GASTLY,GASTLY,0
-	db 24,GASTLY,0
-	db 24,GASTLY,0
-	db 34,GASTLY,HAUNTER,0
-	db 38,HAUNTER,0
-	db 33,GASTLY,GASTLY,HAUNTER,0
-AgathaData:
-	db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0
-LanceData:
-	db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0
-
-TrainerAI: ; 652E
-;XXX called at 34964, 3c342, 3c398
-	and a
-	ld a,[W_ISINBATTLE]
-	dec a
-	ret z ; if not a trainer, we're done here
-	ld a,[W_ISLINKBATTLE]
-	cp 4
-	ret z
-	ld a,[W_TRAINERCLASS] ; what trainer class is this?
-	dec a
-	ld c,a
-	ld b,0
-	ld hl,TrainerAIPointers
-	add hl,bc
-	add hl,bc
-	add hl,bc
-	ld a,[W_AICOUNT]
-	and a
-	ret z ; if no AI uses left, we're done here
-	inc hl
-	inc a
-	jr nz,.getpointer\@
-	dec hl
-	ld a,[hli]
-	ld [W_AICOUNT],a
-.getpointer\@
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	call GenRandom
-	jp [hl]
-
-TrainerAIPointers: ; 655C
-; one entry per trainer class
-; first byte, number of times (per Pokémon) it can occur
-; next two bytes, pointer to AI subroutine for trainer class
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,JugglerAI ; juggler_x
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 3,JugglerAI ; juggler
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 2,BlackbeltAI ; blackbelt
-	dbw 3,GenericAI
-	dbw 3,GenericAI
-	dbw 1,GenericAI ; chief
-	dbw 3,GenericAI
-	dbw 1,GiovanniAI ; giovanni
-	dbw 3,GenericAI
-	dbw 2,CooltrainerMAI ; cooltrainerm
-	dbw 1,CooltrainerFAI ; cooltrainerf
-	dbw 2,BrunoAI ; bruno
-	dbw 5,BrockAI ; brock
-	dbw 1,MistyAI ; misty
-	dbw 1,LtSurgeAI ; surge
-	dbw 1,ErikaAI ; erika
-	dbw 2,KogaAI ; koga
-	dbw 2,BlaineAI ; blaine
-	dbw 1,SabrinaAI ; sabrina
-	dbw 3,GenericAI
-	dbw 1,Sony2AI ; sony2
-	dbw 1,Sony3AI ; sony3
-	dbw 2,LoreleiAI ; lorelei
-	dbw 3,GenericAI
-	dbw 2,AgathaAI ; agatha
-	dbw 1,LanceAI ; lance
-
-JugglerAI:
-	cp $40
-	ret nc
-	jp $672A
-
-BlackbeltAI:
-	cp $20
-	ret nc
-	jp AIUseXAttack
-
-GiovanniAI:
-	cp $40
-	ret nc
-	jp AIUseGuardSpec
-
-CooltrainerMAI:
-	cp $40
-	ret nc
-	jp AIUseXAttack
-
-CooltrainerFAI:
-	cp $40
-	ld a,$A
-	call $67CF
-	jp c,AIUseHyperPotion
-	ld a,5
-	call $67CF
-	ret nc
-	jp $672A
-
-BrockAI:
-; if his active monster has a status condition, use a full heal
-	ld a,[W_ENEMYMONSTATUS]
-	and a
-	ret z
-	jp AIUseFullHeal
-
-MistyAI:
-	cp $40
-	ret nc
-	jp AIUseXDefend
-
-LtSurgeAI:
-	cp $40
-	ret nc
-	jp AIUseXSpeed
-
-ErikaAI:
-	cp $80
-	ret nc
-	ld a,$A
-	call $67CF
-	ret nc
-	jp AIUseSuperPotion
-
-KogaAI:
-	cp $40
-	ret nc
-	jp AIUseXAttack
-
-BlaineAI:
-	cp $40
-	ret nc
-	jp AIUseSuperPotion
-
-SabrinaAI:
-	cp $40
-	ret nc
-	ld a,$A
-	call $67CF
-	ret nc
-	jp AIUseHyperPotion
-
-Sony2AI:
-	cp $20
-	ret nc
-	ld a,5
-	call $67CF
-	ret nc
-	jp AIUsePotion
-
-Sony3AI:
-	cp $20
-	ret nc
-	ld a,5
-	call $67CF
-	ret nc
-	jp AIUseFullRestore
-
-LoreleiAI:
-	cp $80
-	ret nc
-	ld a,5
-	call $67CF
-	ret nc
-	jp AIUseSuperPotion
-
-BrunoAI:
-	cp $40
-	ret nc
-	jp AIUseXDefend
-
-AgathaAI:
-	cp $14
-	jp c,$672A
-	cp $80
-	ret nc
-	ld a,4
-	call $67CF
-	ret nc
-	jp AIUseSuperPotion
-
-LanceAI:
-	cp $80
-	ret nc
-	ld a,5
-	call $67CF
-	ret nc
-	jp AIUseHyperPotion
-
-GenericAI:
-	and a ; clear carry
-	ret
-
-; end of individual trainer AI routines
-
-DecrementAICount: ; 6695
-	ld hl,W_AICOUNT
-	dec [hl]
-	scf
-	ret
-
-Function669B: ; 669B
-; XXX what does this do
-	ld a,$8E
-	jp $3740
-
-AIUseFullRestore: ; 0x3a6a0
-	call AICureStatus
-	ld a,FULL_RESTORE
-	ld [$CF05],a
-	ld de,$CEEB
-	ld hl,$CFE7
-	ld a,[hld]
-	ld [de],a
-	inc de
-	ld a,[hl]
-	ld [de],a
-	inc de
-	ld hl,$CFF5
-	ld a,[hld]
-	ld [de],a
-	inc de
-	ld [$CEE9],a
-	ld [$CFE7],a
-	ld a,[hl]
-	ld [de],a
-	ld [$CEEA],a
-	ld [W_ENEMYMONCURHP],a
-	jr Function6718
-; 0x3a6ca
-
-AIUsePotion: ; 0x3a6ca
-; enemy trainer heals his monster with a potion
-	ld a,POTION
-	ld b,20
-	jr AIRecoverHP
-
-AIUseSuperPotion: ; 0x3a6d0
-; enemy trainer heals his monster with a super potion
-	ld a,SUPER_POTION
-	ld b,50
-	jr AIRecoverHP
-
-AIUseHyperPotion: ; 0x3a6d6
-; enemy trainer heals his monster with a hyper potion
-	ld a,HYPER_POTION
-	ld b,200
-	; fallthrough
-
-AIRecoverHP: ; 66DA
-; heal b HP and print "trainer used $(a) on pokemon!"
-	ld [$CF05],a
-	ld hl,$CFE7
-	ld a,[hl]
-	ld [$CEEB],a
-	add b
-	ld [hld],a
-	ld [$CEED],a
-	ld a,[hl]
-	ld [$CEEC],a
-	ld [$CEEE],a
-	jr nc,.next\@
-	inc a
-	ld [hl],a
-	ld [$CEEE],a
-.next\@
-	inc hl
-	ld a,[hld]
-	ld b,a
-	ld de,$CFF5
-	ld a,[de]
-	dec de
-	ld [$CEE9],a
-	sub b
-	ld a,[hli]
-	ld b,a
-	ld a,[de]
-	ld [$CEEA],a
-	sbc b
-	jr nc,Function6718
-	inc de
-	ld a,[de]
-	dec de
-	ld [hld],a
-	ld [$CEED],a
-	ld a,[de]
-	ld [hl],a
-	ld [$CEEE],a
-	; fallthrough
-
-Function6718: ; 6718
-	call AIPrintItemUse_
-	ld hl,$C3CA
-	xor a
-	ld [$CF94],a
-	ld a,$48
-	call Predef
-	jp DecrementAICount
-
-Function672A: ; 672A
-	ld a,[W_ENEMYMONCOUNT]
-	ld c,a
-	ld hl,W_ENEMYMON1HP
-
-	ld d,0 ; keep count of unfainted monsters
-
-	; count how many monsters haven't fainted yet
-.loop\@
-	ld a,[hli]
-	ld b,a
-	ld a,[hld]
-	or b
-	jr z,.Fainted\@ ; has monster fainted?
-	inc d
-.Fainted\@
-	push bc
-	ld bc,$2C
-	add hl,bc
-	pop bc
-	dec c
-	jr nz,.loop\@
-
-	ld a,d ; how many available monsters are there?
-	cp 2 ; don't bother if only 1 or 2
-	jp nc,Function674B ; XXX check, does this jump when a = 2?
-	and a
-	ret
-
-Function674B: ; 674B
-
-; prepare to withdraw the active monster: copy hp, number, and status to roster
-
-	ld a,[W_ENEMYMONNUMBER]
-	ld hl,W_ENEMYMON1HP
-	ld bc,$2C
-	call AddNTimes
-	ld d,h
-	ld e,l
-	ld hl,W_ENEMYMONCURHP
-	ld bc,4
-	call CopyData
-
-	ld hl, AIBattleWithdrawText
-	call PrintText
-
-	ld a,1
-	ld [$D11D],a
-	ld hl,EnemySendOut
-	ld b,BANK(EnemySendOut)
-	call Bankswitch
-	xor a
-	ld [$D11D],a
-
-	ld a,[W_ISLINKBATTLE]
-	cp 4
-	ret z
-	scf
-	ret
-
-AIBattleWithdrawText: ; 0x3a781
-	TX_FAR _AIBattleWithdrawText
-	db "@"
-
-AIUseFullHeal: ; 0x3a786
-	call $669B
-	call AICureStatus
-	ld a,FULL_HEAL
-	jp AIPrintItemUse
-
-AICureStatus: ; 0x3a791
-; cures the status of enemy's active pokemon
-	ld a,[W_ENEMYMONNUMBER]
-	ld hl,$D8A8
-	ld bc,$2C
-	call AddNTimes
-	xor a
-	ld [hl],a ; clear status in enemy team roster
-	ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
-	ld hl,$D069
-	res 0,[hl]
-	ret
-
-AIUseXAccuracy: ; 0x3a7a8 unused
-	call $669B
-	ld hl,$D068
-	set 0,[hl]
-	ld a,X_ACCURACY
-	jp AIPrintItemUse
-
-AIUseGuardSpec: ; 0x3a7b5
-	call $669B
-	ld hl,$D068
-	set 1,[hl]
-	ld a,GUARD_SPEC_
-	jp AIPrintItemUse
-
-AIUseDireHit: ; 0x3a7c2 unused
-	call $669B
-	ld hl,$D068
-	set 2,[hl]
-	ld a,DIRE_HIT
-	jp AIPrintItemUse
-
-Function67CF: ; 0x3a7cf 67CF
-	ld [H_DIVISOR],a
-	ld hl,$CFF4
-	ld a,[hli]
-	ld [H_DIVIDEND],a
-	ld a,[hl]
-	ld [H_DIVIDEND + 1],a
-	ld b,2
-	call $38B9
-	ld a,[H_QUOTIENT + 3]
-	ld c,a
-	ld a,[H_QUOTIENT + 2]
-	ld b,a
-	ld hl,$CFE7
-	ld a,[hld]
-	ld e,a
-	ld a,[hl]
-	ld d,a
-	ld a,d
-	sub b
-	ret nz
-	ld a,e
-	sub c
-	ret
-
-AIUseXAttack: ; 0x3a7f2
-	ld b,$A
-	ld a,X_ATTACK
-	jr AIIncreaseStat
-
-AIUseXDefend: ; 0x3a7f8
-	ld b,$B
-	ld a,X_DEFEND
-	jr AIIncreaseStat
-
-AIUseXSpeed: ; 0x3a7fe
-	ld b,$C
-	ld a,X_SPEED
-	jr AIIncreaseStat
-
-AIUseXSpecial: ; 0x3a804
-	ld b,$D
-	ld a,X_SPECIAL
-	; fallthrough
-
-AIIncreaseStat: ; 0x3a808
-	ld [$CF05],a
-	push bc
-	call AIPrintItemUse_
-	pop bc
-	ld hl,$CFCD
-	ld a,[hld]
-	push af
-	ld a,[hl]
-	push af
-	push hl
-	ld a,$AF
-	ld [hli],a
-	ld [hl],b
-	ld hl,$7428
-	ld b,$F
-	call Bankswitch
-	pop hl
-	pop af
-	ld [hli],a
-	pop af
-	ld [hl],a
-	jp DecrementAICount
-
-AIPrintItemUse: ; 0x3a82c
-	ld [$CF05],a
-	call AIPrintItemUse_
-	jp DecrementAICount
-
-AIPrintItemUse_: ; 0x3a835
-; print "x used [$CF05] on z!"
-	ld a,[$CF05]
-	ld [$D11E],a
-	call GetItemName
-	ld hl, AIBattleUseItemText
-	jp PrintText
-
-AIBattleUseItemText: ; 0x3a844
-	TX_FAR _AIBattleUseItemText
-	db "@"
-
-INCBIN "baserom.gbc",$3a849,$3af3e - $3a849
-
-UnnamedText_3af3e: ; 0x3af3e
-	TX_FAR _UnnamedText_3af3e
-	db $50
-; 0x3af3e + 5 bytes
-
-UnnamedText_3af43: ; 0x3af43
-	TX_FAR _UnnamedText_3af43
-	db $50
-; 0x3af43 + 5 bytes
-
-UnnamedText_3af48: ; 0x3af48
-	TX_FAR _UnnamedText_3af48
-	db $50
-; 0x3af48 + 5 bytes
-
-UnnamedText_3af4d: ; 0x3af4d
-	TX_FAR _UnnamedText_3af4d
-	db $50
-; 0x3af4d + 5 bytes
-
-INCBIN "baserom.gbc",$3af52,$10a
-
-EvosMovesPointerTable: ; 705C
-	dw Mon112_EvosMoves
-	dw Mon115_EvosMoves
-	dw Mon032_EvosMoves
-	dw Mon035_EvosMoves
-	dw Mon021_EvosMoves
-	dw Mon100_EvosMoves
-	dw Mon034_EvosMoves
-	dw Mon080_EvosMoves
-	dw Mon002_EvosMoves
-	dw Mon103_EvosMoves
-	dw Mon108_EvosMoves
-	dw Mon102_EvosMoves
-	dw Mon088_EvosMoves
-	dw Mon094_EvosMoves
-	dw Mon029_EvosMoves
-	dw Mon031_EvosMoves
-	dw Mon104_EvosMoves
-	dw Mon111_EvosMoves
-	dw Mon131_EvosMoves
-	dw Mon059_EvosMoves
-	dw Mon151_EvosMoves
-	dw Mon130_EvosMoves
-	dw Mon090_EvosMoves
-	dw Mon072_EvosMoves
-	dw Mon092_EvosMoves
-	dw Mon123_EvosMoves
-	dw Mon120_EvosMoves
-	dw Mon009_EvosMoves
-	dw Mon127_EvosMoves
-	dw Mon114_EvosMoves
-	dw Mon152_EvosMoves	;MissingNo
-	dw Mon153_EvosMoves	;MissingNo
-	dw Mon058_EvosMoves
-	dw Mon095_EvosMoves
-	dw Mon022_EvosMoves
-	dw Mon016_EvosMoves
-	dw Mon079_EvosMoves
-	dw Mon064_EvosMoves
-	dw Mon075_EvosMoves
-	dw Mon113_EvosMoves
-	dw Mon067_EvosMoves
-	dw Mon122_EvosMoves
-	dw Mon106_EvosMoves
-	dw Mon107_EvosMoves
-	dw Mon024_EvosMoves
-	dw Mon047_EvosMoves
-	dw Mon054_EvosMoves
-	dw Mon096_EvosMoves
-	dw Mon076_EvosMoves
-	dw Mon154_EvosMoves	;MissingNo
-	dw Mon126_EvosMoves
-	dw Mon155_EvosMoves	;MissingNo
-	dw Mon125_EvosMoves
-	dw Mon082_EvosMoves
-	dw Mon109_EvosMoves
-	dw Mon156_EvosMoves	;MissingNo
-	dw Mon056_EvosMoves
-	dw Mon086_EvosMoves
-	dw Mon050_EvosMoves
-	dw Mon128_EvosMoves
-	dw Mon157_EvosMoves	;MissingNo
-	dw Mon158_EvosMoves	;MissingNo
-	dw Mon159_EvosMoves	;MissingNo
-	dw Mon083_EvosMoves
-	dw Mon048_EvosMoves
-	dw Mon149_EvosMoves
-	dw Mon160_EvosMoves	;MissingNo
-	dw Mon161_EvosMoves	;MissingNo
-	dw Mon162_EvosMoves	;MissingNo
-	dw Mon084_EvosMoves
-	dw Mon060_EvosMoves
-	dw Mon124_EvosMoves
-	dw Mon146_EvosMoves
-	dw Mon144_EvosMoves
-	dw Mon145_EvosMoves
-	dw Mon132_EvosMoves
-	dw Mon052_EvosMoves
-	dw Mon098_EvosMoves
-	dw Mon163_EvosMoves	;MissingNo
-	dw Mon164_EvosMoves	;MissingNo
-	dw Mon165_EvosMoves	;MissingNo
-	dw Mon037_EvosMoves
-	dw Mon038_EvosMoves
-	dw Mon025_EvosMoves
-	dw Mon026_EvosMoves
-	dw Mon166_EvosMoves	;MissingNo
-	dw Mon167_EvosMoves	;MissingNo
-	dw Mon147_EvosMoves
-	dw Mon148_EvosMoves
-	dw Mon140_EvosMoves
-	dw Mon141_EvosMoves
-	dw Mon116_EvosMoves
-	dw Mon117_EvosMoves
-	dw Mon168_EvosMoves	;MissingNo
-	dw Mon169_EvosMoves	;MissingNo
-	dw Mon027_EvosMoves
-	dw Mon028_EvosMoves
-	dw Mon138_EvosMoves
-	dw Mon139_EvosMoves
-	dw Mon039_EvosMoves
-	dw Mon040_EvosMoves
-	dw Mon133_EvosMoves
-	dw Mon136_EvosMoves
-	dw Mon135_EvosMoves
-	dw Mon134_EvosMoves
-	dw Mon066_EvosMoves
-	dw Mon041_EvosMoves
-	dw Mon023_EvosMoves
-	dw Mon046_EvosMoves
-	dw Mon061_EvosMoves
-	dw Mon062_EvosMoves
-	dw Mon013_EvosMoves
-	dw Mon014_EvosMoves
-	dw Mon015_EvosMoves
-	dw Mon170_EvosMoves	;MissingNo
-	dw Mon085_EvosMoves
-	dw Mon057_EvosMoves
-	dw Mon051_EvosMoves
-	dw Mon049_EvosMoves
-	dw Mon087_EvosMoves
-	dw Mon171_EvosMoves	;MissingNo
-	dw Mon172_EvosMoves	;MissingNo
-	dw Mon010_EvosMoves
-	dw Mon011_EvosMoves
-	dw Mon012_EvosMoves
-	dw Mon068_EvosMoves
-	dw Mon173_EvosMoves	;MissingNo
-	dw Mon055_EvosMoves
-	dw Mon097_EvosMoves
-	dw Mon042_EvosMoves
-	dw Mon150_EvosMoves
-	dw Mon143_EvosMoves
-	dw Mon129_EvosMoves
-	dw Mon174_EvosMoves	;MissingNo
-	dw Mon175_EvosMoves	;MissingNo
-	dw Mon089_EvosMoves
-	dw Mon176_EvosMoves	;MissingNo
-	dw Mon099_EvosMoves
-	dw Mon091_EvosMoves
-	dw Mon177_EvosMoves	;MissingNo
-	dw Mon101_EvosMoves
-	dw Mon036_EvosMoves
-	dw Mon110_EvosMoves
-	dw Mon053_EvosMoves
-	dw Mon105_EvosMoves
-	dw Mon178_EvosMoves	;MissingNo
-	dw Mon093_EvosMoves
-	dw Mon063_EvosMoves
-	dw Mon065_EvosMoves
-	dw Mon017_EvosMoves
-	dw Mon018_EvosMoves
-	dw Mon121_EvosMoves
-	dw Mon001_EvosMoves
-	dw Mon003_EvosMoves
-	dw Mon073_EvosMoves
-	dw Mon179_EvosMoves	;MissingNo
-	dw Mon118_EvosMoves
-	dw Mon119_EvosMoves
-	dw Mon180_EvosMoves	;MissingNo
-	dw Mon181_EvosMoves	;MissingNo
-	dw Mon182_EvosMoves	;MissingNo
-	dw Mon183_EvosMoves	;MissingNo
-	dw Mon077_EvosMoves
-	dw Mon078_EvosMoves
-	dw Mon019_EvosMoves
-	dw Mon020_EvosMoves
-	dw Mon033_EvosMoves
-	dw Mon030_EvosMoves
-	dw Mon074_EvosMoves
-	dw Mon137_EvosMoves
-	dw Mon142_EvosMoves
-	dw Mon184_EvosMoves	;MissingNo
-	dw Mon081_EvosMoves
-	dw Mon185_EvosMoves	;MissingNo
-	dw Mon186_EvosMoves	;MissingNo
-	dw Mon004_EvosMoves
-	dw Mon007_EvosMoves
-	dw Mon005_EvosMoves
-	dw Mon008_EvosMoves
-	dw Mon006_EvosMoves
-	dw Mon187_EvosMoves	;MissingNo
-	dw Mon188_EvosMoves	;MissingNo
-	dw Mon189_EvosMoves	;MissingNo
-	dw Mon190_EvosMoves	;MissingNo
-	dw Mon043_EvosMoves
-	dw Mon044_EvosMoves
-	dw Mon045_EvosMoves
-	dw Mon069_EvosMoves
-	dw Mon070_EvosMoves
-	dw Mon071_EvosMoves
-
-Mon112_EvosMoves:
-;RHYDON
-;Evolutions
-	db 0
-;Learnset
-	db 30,STOMP
-	db 35,TAIL_WHIP
-	db 40,FURY_ATTACK
-	db 48,HORN_DRILL
-	db 55,LEER
-	db 64,TAKE_DOWN
-	db 0
-Mon115_EvosMoves:
-;KANGASKHAN
-;Evolutions
-	db 0
-;Learnset
-	db 26,BITE
-	db 31,TAIL_WHIP
-	db 36,MEGA_PUNCH
-	db 41,LEER
-	db 46,DIZZY_PUNCH
-	db 0
-Mon032_EvosMoves:
-;NIDORAN_M
-;Evolutions
-	db EV_LEVEL,16,NIDORINO
-	db 0
-;Learnset
-	db 8,HORN_ATTACK
-	db 14,POISON_STING
-	db 21,FOCUS_ENERGY
-	db 29,FURY_ATTACK
-	db 36,HORN_DRILL
-	db 43,DOUBLE_KICK
-	db 0
-Mon035_EvosMoves:
-;CLEFAIRY
-;Evolutions
-	db EV_ITEM,MOON_STONE,1,CLEFABLE
-	db 0
-;Learnset
-	db 13,SING
-	db 18,DOUBLESLAP
-	db 24,MINIMIZE
-	db 31,METRONOME
-	db 39,DEFENSE_CURL
-	db 48,LIGHT_SCREEN
-	db 0
-Mon021_EvosMoves:
-;SPEAROW
-;Evolutions
-	db EV_LEVEL,20,FEAROW
-	db 0
-;Learnset
-	db 9,LEER
-	db 15,FURY_ATTACK
-	db 22,MIRROR_MOVE
-	db 29,DRILL_PECK
-	db 36,AGILITY
-	db 0
-Mon100_EvosMoves:
-;VOLTORB
-;Evolutions
-	db EV_LEVEL,30,ELECTRODE
-	db 0
-;Learnset
-	db 17,SONICBOOM
-	db 22,SELFDESTRUCT
-	db 29,LIGHT_SCREEN
-	db 36,SWIFT
-	db 43,EXPLOSION
-	db 0
-Mon034_EvosMoves:
-;NIDOKING
-;Evolutions
-	db 0
-;Learnset
-	db 8,HORN_ATTACK
-	db 14,POISON_STING
-	db 23,THRASH
-	db 0
-Mon080_EvosMoves:
-;SLOWBRO
-;Evolutions
-	db 0
-;Learnset
-	db 18,DISABLE
-	db 22,HEADBUTT
-	db 27,GROWL
-	db 33,WATER_GUN
-	db 37,WITHDRAW
-	db 44,AMNESIA
-	db 55,PSYCHIC_M
-	db 0
-Mon002_EvosMoves:
-;IVYSAUR
-;Evolutions
-	db EV_LEVEL,32,VENUSAUR
-	db 0
-;Learnset
-	db 7,LEECH_SEED
-	db 13,VINE_WHIP
-	db 22,POISONPOWDER
-	db 30,RAZOR_LEAF
-	db 38,GROWTH
-	db 46,SLEEP_POWDER
-	db 54,SOLARBEAM
-	db 0
-Mon103_EvosMoves:
-;EXEGGUTOR
-;Evolutions
-	db 0
-;Learnset
-	db 28,STOMP
-	db 0
-Mon108_EvosMoves:
-;LICKITUNG
-;Evolutions
-	db 0
-;Learnset
-	db 7,STOMP
-	db 15,DISABLE
-	db 23,DEFENSE_CURL
-	db 31,SLAM
-	db 39,SCREECH
-	db 0
-Mon102_EvosMoves:
-;EXEGGCUTE
-;Evolutions
-	db EV_ITEM,LEAF_STONE ,1,EXEGGUTOR
-	db 0
-;Learnset
-	db 25,REFLECT
-	db 28,LEECH_SEED
-	db 32,STUN_SPORE
-	db 37,POISONPOWDER
-	db 42,SOLARBEAM
-	db 48,SLEEP_POWDER
-	db 0
-Mon088_EvosMoves:
-;GRIMER
-;Evolutions
-	db EV_LEVEL,38,MUK
-	db 0
-;Learnset
-	db 30,POISON_GAS
-	db 33,MINIMIZE
-	db 37,SLUDGE
-	db 42,HARDEN
-	db 48,SCREECH
-	db 55,ACID_ARMOR
-	db 0
-Mon094_EvosMoves:
-;GENGAR
-;Evolutions
-	db 0
-;Learnset
-	db 29,HYPNOSIS
-	db 38,DREAM_EATER
-	db 0
-Mon029_EvosMoves:
-;NIDORAN_F
-;Evolutions
-	db EV_LEVEL,16,NIDORINA
-	db 0
-;Learnset
-	db 8,SCRATCH
-	db 14,POISON_STING
-	db 21,TAIL_WHIP
-	db 29,BITE
-	db 36,FURY_SWIPES
-	db 43,DOUBLE_KICK
-	db 0
-Mon031_EvosMoves:
-;NIDOQUEEN
-;Evolutions
-	db 0
-;Learnset
-	db 8,SCRATCH
-	db 14,POISON_STING
-	db 23,BODY_SLAM
-	db 0
-Mon104_EvosMoves:
-;CUBONE
-;Evolutions
-	db EV_LEVEL,28,MAROWAK
-	db 0
-;Learnset
-	db 25,LEER
-	db 31,FOCUS_ENERGY
-	db 38,THRASH
-	db 43,BONEMERANG
-	db 46,RAGE
-	db 0
-Mon111_EvosMoves:
-;RHYHORN
-;Evolutions
-	db EV_LEVEL,42,RHYDON
-	db 0
-;Learnset
-	db 30,STOMP
-	db 35,TAIL_WHIP
-	db 40,FURY_ATTACK
-	db 45,HORN_DRILL
-	db 50,LEER
-	db 55,TAKE_DOWN
-	db 0
-Mon131_EvosMoves:
-;LAPRAS
-;Evolutions
-	db 0
-;Learnset
-	db 16,SING
-	db 20,MIST
-	db 25,BODY_SLAM
-	db 31,CONFUSE_RAY
-	db 38,ICE_BEAM
-	db 46,HYDRO_PUMP
-	db 0
-Mon059_EvosMoves:
-;ARCANINE
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon151_EvosMoves:
-;MEW
-;Evolutions
-	db 0
-;Learnset
-	db 10,TRANSFORM
-	db 20,MEGA_PUNCH
-	db 30,METRONOME
-	db 40,PSYCHIC_M
-	db 0
-Mon130_EvosMoves:
-;GYARADOS
-;Evolutions
-	db 0
-;Learnset
-	db 20,BITE
-	db 25,DRAGON_RAGE
-	db 32,LEER
-	db 41,HYDRO_PUMP
-	db 52,HYPER_BEAM
-	db 0
-Mon090_EvosMoves:
-;SHELLDER
-;Evolutions
-	db EV_ITEM,WATER_STONE ,1,CLOYSTER
-	db 0
-;Learnset
-	db 18,SUPERSONIC
-	db 23,CLAMP
-	db 30,AURORA_BEAM
-	db 39,LEER
-	db 50,ICE_BEAM
-	db 0
-Mon072_EvosMoves:
-;TENTACOOL
-;Evolutions
-	db EV_LEVEL,30,TENTACRUEL
-	db 0
-;Learnset
-	db 7,SUPERSONIC
-	db 13,WRAP
-	db 18,POISON_STING
-	db 22,WATER_GUN
-	db 27,CONSTRICT
-	db 33,BARRIER
-	db 40,SCREECH
-	db 48,HYDRO_PUMP
-	db 0
-Mon092_EvosMoves:
-;GASTLY
-;Evolutions
-	db EV_LEVEL,25,HAUNTER
-	db 0
-;Learnset
-	db 27,HYPNOSIS
-	db 35,DREAM_EATER
-	db 0
-Mon123_EvosMoves:
-;SCYTHER
-;Evolutions
-	db 0
-;Learnset
-	db 17,LEER
-	db 20,FOCUS_ENERGY
-	db 24,DOUBLE_TEAM
-	db 29,SLASH
-	db 35,SWORDS_DANCE
-	db 42,AGILITY
-	db 0
-Mon120_EvosMoves:
-;STARYU
-;Evolutions
-	db EV_ITEM,WATER_STONE ,1,STARMIE
-	db 0
-;Learnset
-	db 17,WATER_GUN
-	db 22,HARDEN
-	db 27,RECOVER
-	db 32,SWIFT
-	db 37,MINIMIZE
-	db 42,LIGHT_SCREEN
-	db 47,HYDRO_PUMP
-	db 0
-Mon009_EvosMoves:
-;BLASTOISE
-;Evolutions
-	db 0
-;Learnset
-	db 8,BUBBLE
-	db 15,WATER_GUN
-	db 24,BITE
-	db 31,WITHDRAW
-	db 42,SKULL_BASH
-	db 52,HYDRO_PUMP
-	db 0
-Mon127_EvosMoves:
-;PINSIR
-;Evolutions
-	db 0
-;Learnset
-	db 25,SEISMIC_TOSS
-	db 30,GUILLOTINE
-	db 36,FOCUS_ENERGY
-	db 43,HARDEN
-	db 49,SLASH
-	db 54,SWORDS_DANCE
-	db 0
-Mon114_EvosMoves:
-;TANGELA
-;Evolutions
-	db 0
-;Learnset
-	db 29,ABSORB
-	db 32,POISONPOWDER
-	db 36,STUN_SPORE
-	db 39,SLEEP_POWDER
-	db 45,SLAM
-	db 49,GROWTH
-	db 0
-
-Mon152_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon153_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon058_EvosMoves:
-;GROWLITHE
-;Evolutions
-	db EV_ITEM,FIRE_STONE,1,ARCANINE
-	db 0
-;Learnset
-	db 18,EMBER
-	db 23,LEER
-	db 30,TAKE_DOWN
-	db 39,AGILITY
-	db 50,FLAMETHROWER
-	db 0
-Mon095_EvosMoves:
-;ONIX
-;Evolutions
-	db 0
-;Learnset
-	db 15,BIND
-	db 19,ROCK_THROW
-	db 25,RAGE
-	db 33,SLAM
-	db 43,HARDEN
-	db 0
-Mon022_EvosMoves:
-;FEAROW
-;Evolutions
-	db 0
-;Learnset
-	db 9,LEER
-	db 15,FURY_ATTACK
-	db 25,MIRROR_MOVE
-	db 34,DRILL_PECK
-	db 43,AGILITY
-	db 0
-Mon016_EvosMoves:
-;PIDGEY
-;Evolutions
-	db EV_LEVEL,18,PIDGEOTTO
-	db 0
-;Learnset
-	db 5,SAND_ATTACK
-	db 12,QUICK_ATTACK
-	db 19,WHIRLWIND
-	db 28,WING_ATTACK
-	db 36,AGILITY
-	db 44,MIRROR_MOVE
-	db 0
-Mon079_EvosMoves:
-;SLOWPOKE
-;Evolutions
-	db EV_LEVEL,37,SLOWBRO
-	db 0
-;Learnset
-	db 18,DISABLE
-	db 22,HEADBUTT
-	db 27,GROWL
-	db 33,WATER_GUN
-	db 40,AMNESIA
-	db 48,PSYCHIC_M
-	db 0
-Mon064_EvosMoves:
-;KADABRA
-;Evolutions
-	db EV_TRADE,1,ALAKAZAM
-	db 0
-;Learnset
-	db 16,CONFUSION
-	db 20,DISABLE
-	db 27,PSYBEAM
-	db 31,RECOVER
-	db 38,PSYCHIC_M
-	db 42,REFLECT
-	db 0
-Mon075_EvosMoves:
-;GRAVELER
-;Evolutions
-	db EV_TRADE,1,GOLEM
-	db 0
-;Learnset
-	db 11,DEFENSE_CURL
-	db 16,ROCK_THROW
-	db 21,SELFDESTRUCT
-	db 29,HARDEN
-	db 36,EARTHQUAKE
-	db 43,EXPLOSION
-	db 0
-Mon113_EvosMoves:
-;CHANSEY
-;Evolutions
-	db 0
-;Learnset
-	db 24,SING
-	db 30,GROWL
-	db 38,MINIMIZE
-	db 44,DEFENSE_CURL
-	db 48,LIGHT_SCREEN
-	db 54,DOUBLE_EDGE
-	db 0
-Mon067_EvosMoves:
-;MACHOKE
-;Evolutions
-	db EV_TRADE,1,MACHAMP
-	db 0
-;Learnset
-	db 20,LOW_KICK
-	db 25,LEER
-	db 36,FOCUS_ENERGY
-	db 44,SEISMIC_TOSS
-	db 52,SUBMISSION
-	db 0
-Mon122_EvosMoves:
-;MR_MIME
-;Evolutions
-	db 0
-;Learnset
-	db 15,CONFUSION
-	db 23,LIGHT_SCREEN
-	db 31,DOUBLESLAP
-	db 39,MEDITATE
-	db 47,SUBSTITUTE
-	db 0
-Mon106_EvosMoves:
-;HITMONLEE
-;Evolutions
-	db 0
-;Learnset
-	db 33,ROLLING_KICK
-	db 38,JUMP_KICK
-	db 43,FOCUS_ENERGY
-	db 48,HI_JUMP_KICK
-	db 53,MEGA_KICK
-	db 0
-Mon107_EvosMoves:
-;HITMONCHAN
-;Evolutions
-	db 0
-;Learnset
-	db 33,FIRE_PUNCH
-	db 38,ICE_PUNCH
-	db 43,THUNDERPUNCH
-	db 48,MEGA_PUNCH
-	db 53,COUNTER
-	db 0
-Mon024_EvosMoves:
-;ARBOK
-;Evolutions
-	db 0
-;Learnset
-	db 10,POISON_STING
-	db 17,BITE
-	db 27,GLARE
-	db 36,SCREECH
-	db 47,ACID
-	db 0
-Mon047_EvosMoves:
-;PARASECT
-;Evolutions
-	db 0
-;Learnset
-	db 13,STUN_SPORE
-	db 20,LEECH_LIFE
-	db 30,SPORE
-	db 39,SLASH
-	db 48,GROWTH
-	db 0
-Mon054_EvosMoves:
-;PSYDUCK
-;Evolutions
-	db EV_LEVEL,33,GOLDUCK
-	db 0
-;Learnset
-	db 28,TAIL_WHIP
-	db 31,DISABLE
-	db 36,CONFUSION
-	db 43,FURY_SWIPES
-	db 52,HYDRO_PUMP
-	db 0
-Mon096_EvosMoves:
-;DROWZEE
-;Evolutions
-	db EV_LEVEL,26,HYPNO
-	db 0
-;Learnset
-	db 12,DISABLE
-	db 17,CONFUSION
-	db 24,HEADBUTT
-	db 29,POISON_GAS
-	db 32,PSYCHIC_M
-	db 37,MEDITATE
-	db 0
-Mon076_EvosMoves:
-;GOLEM
-;Evolutions
-	db 0
-;Learnset
-	db 11,DEFENSE_CURL
-	db 16,ROCK_THROW
-	db 21,SELFDESTRUCT
-	db 29,HARDEN
-	db 36,EARTHQUAKE
-	db 43,EXPLOSION
-	db 0
-
-Mon154_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon126_EvosMoves:
-;MAGMAR
-;Evolutions
-	db 0
-;Learnset
-	db 36,LEER
-	db 39,CONFUSE_RAY
-	db 43,FIRE_PUNCH
-	db 48,SMOKESCREEN
-	db 52,SMOG
-	db 55,FLAMETHROWER
-	db 0
-
-Mon155_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon125_EvosMoves:
-;ELECTABUZZ
-;Evolutions
-	db 0
-;Learnset
-	db 34,THUNDERSHOCK
-	db 37,SCREECH
-	db 42,THUNDERPUNCH
-	db 49,LIGHT_SCREEN
-	db 54,THUNDER
-	db 0
-Mon082_EvosMoves:
-;MAGNETON
-;Evolutions
-	db 0
-;Learnset
-	db 21,SONICBOOM
-	db 25,THUNDERSHOCK
-	db 29,SUPERSONIC
-	db 38,THUNDER_WAVE
-	db 46,SWIFT
-	db 54,SCREECH
-	db 0
-Mon109_EvosMoves:
-;KOFFING
-;Evolutions
-	db EV_LEVEL,35,WEEZING
-	db 0
-;Learnset
-	db 32,SLUDGE
-	db 37,SMOKESCREEN
-	db 40,SELFDESTRUCT
-	db 45,HAZE
-	db 48,EXPLOSION
-	db 0
-
-Mon156_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon056_EvosMoves:
-;MANKEY
-;Evolutions
-	db EV_LEVEL,28,PRIMEAPE
-	db 0
-;Learnset
-	db 15,KARATE_CHOP
-	db 21,FURY_SWIPES
-	db 27,FOCUS_ENERGY
-	db 33,SEISMIC_TOSS
-	db 39,THRASH
-	db 0
-Mon086_EvosMoves:
-;SEEL
-;Evolutions
-	db EV_LEVEL,34,DEWGONG
-	db 0
-;Learnset
-	db 30,GROWL
-	db 35,AURORA_BEAM
-	db 40,REST
-	db 45,TAKE_DOWN
-	db 50,ICE_BEAM
-	db 0
-Mon050_EvosMoves:
-;DIGLETT
-;Evolutions
-	db EV_LEVEL,26,DUGTRIO
-	db 0
-;Learnset
-	db 15,GROWL
-	db 19,DIG
-	db 24,SAND_ATTACK
-	db 31,SLASH
-	db 40,EARTHQUAKE
-	db 0
-Mon128_EvosMoves:
-;TAUROS
-;Evolutions
-	db 0
-;Learnset
-	db 21,STOMP
-	db 28,TAIL_WHIP
-	db 35,LEER
-	db 44,RAGE
-	db 51,TAKE_DOWN
-	db 0
-
-Mon157_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon158_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon159_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon083_EvosMoves:
-;FARFETCH_D
-;Evolutions
-	db 0
-;Learnset
-	db 7,LEER
-	db 15,FURY_ATTACK
-	db 23,SWORDS_DANCE
-	db 31,AGILITY
-	db 39,SLASH
-	db 0
-Mon048_EvosMoves:
-;VENONAT
-;Evolutions
-	db EV_LEVEL,31,VENOMOTH
-	db 0
-;Learnset
-	db 24,POISONPOWDER
-	db 27,LEECH_LIFE
-	db 30,STUN_SPORE
-	db 35,PSYBEAM
-	db 38,SLEEP_POWDER
-	db 43,PSYCHIC_M
-	db 0
-Mon149_EvosMoves:
-;DRAGONITE
-;Evolutions
-	db 0
-;Learnset
-	db 10,THUNDER_WAVE
-	db 20,AGILITY
-	db 35,SLAM
-	db 45,DRAGON_RAGE
-	db 60,HYPER_BEAM
-	db 0
-
-Mon160_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon161_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon162_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon084_EvosMoves:
-;DODUO
-;Evolutions
-	db EV_LEVEL,31,DODRIO
-	db 0
-;Learnset
-	db 20,GROWL
-	db 24,FURY_ATTACK
-	db 30,DRILL_PECK
-	db 36,RAGE
-	db 40,TRI_ATTACK
-	db 44,AGILITY
-	db 0
-Mon060_EvosMoves:
-;POLIWAG
-;Evolutions
-	db EV_LEVEL,25,POLIWHIRL
-	db 0
-;Learnset
-	db 16,HYPNOSIS
-	db 19,WATER_GUN
-	db 25,DOUBLESLAP
-	db 31,BODY_SLAM
-	db 38,AMNESIA
-	db 45,HYDRO_PUMP
-	db 0
-Mon124_EvosMoves:
-;JYNX
-;Evolutions
-	db 0
-;Learnset
-	db 18,LICK
-	db 23,DOUBLESLAP
-	db 31,ICE_PUNCH
-	db 39,BODY_SLAM
-	db 47,THRASH
-	db 58,BLIZZARD
-	db 0
-Mon146_EvosMoves:
-;MOLTRES
-;Evolutions
-	db 0
-;Learnset
-	db 51,LEER
-	db 55,AGILITY
-	db 60,SKY_ATTACK
-	db 0
-Mon144_EvosMoves:
-;ARTICUNO
-;Evolutions
-	db 0
-;Learnset
-	db 51,BLIZZARD
-	db 55,AGILITY
-	db 60,MIST
-	db 0
-Mon145_EvosMoves:
-;ZAPDOS
-;Evolutions
-	db 0
-;Learnset
-	db 51,THUNDER
-	db 55,AGILITY
-	db 60,LIGHT_SCREEN
-	db 0
-Mon132_EvosMoves:
-;DITTO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon052_EvosMoves:
-;MEOWTH
-;Evolutions
-	db EV_LEVEL,28,PERSIAN
-	db 0
-;Learnset
-	db 12,BITE
-	db 17,PAY_DAY
-	db 24,SCREECH
-	db 33,FURY_SWIPES
-	db 44,SLASH
-	db 0
-Mon098_EvosMoves:
-;KRABBY
-;Evolutions
-	db EV_LEVEL,28,KINGLER
-	db 0
-;Learnset
-	db 20,VICEGRIP
-	db 25,GUILLOTINE
-	db 30,STOMP
-	db 35,CRABHAMMER
-	db 40,HARDEN
-	db 0
-
-Mon163_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon164_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon165_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon037_EvosMoves:
-;VULPIX
-;Evolutions
-	db EV_ITEM,FIRE_STONE,1,NINETALES
-	db 0
-;Learnset
-	db 16,QUICK_ATTACK
-	db 21,ROAR
-	db 28,CONFUSE_RAY
-	db 35,FLAMETHROWER
-	db 42,FIRE_SPIN
-	db 0
-Mon038_EvosMoves:
-;NINETALES
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon025_EvosMoves:
-;PIKACHU
-;Evolutions
-	db EV_ITEM,THUNDER_STONE ,1,RAICHU
-	db 0
-;Learnset
-	db 9,THUNDER_WAVE
-	db 16,QUICK_ATTACK
-	db 26,SWIFT
-	db 33,AGILITY
-	db 43,THUNDER
-	db 0
-Mon026_EvosMoves:
-;RAICHU
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon166_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon167_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon147_EvosMoves:
-;DRATINI
-;Evolutions
-	db EV_LEVEL,30,DRAGONAIR
-	db 0
-;Learnset
-	db 10,THUNDER_WAVE
-	db 20,AGILITY
-	db 30,SLAM
-	db 40,DRAGON_RAGE
-	db 50,HYPER_BEAM
-	db 0
-Mon148_EvosMoves:
-;DRAGONAIR
-;Evolutions
-	db EV_LEVEL,55,DRAGONITE
-	db 0
-;Learnset
-	db 10,THUNDER_WAVE
-	db 20,AGILITY
-	db 35,SLAM
-	db 45,DRAGON_RAGE
-	db 55,HYPER_BEAM
-	db 0
-Mon140_EvosMoves:
-;KABUTO
-;Evolutions
-	db EV_LEVEL,40,KABUTOPS
-	db 0
-;Learnset
-	db 34,ABSORB
-	db 39,SLASH
-	db 44,LEER
-	db 49,HYDRO_PUMP
-	db 0
-Mon141_EvosMoves:
-;KABUTOPS
-;Evolutions
-	db 0
-;Learnset
-	db 34,ABSORB
-	db 39,SLASH
-	db 46,LEER
-	db 53,HYDRO_PUMP
-	db 0
-Mon116_EvosMoves:
-;HORSEA
-;Evolutions
-	db EV_LEVEL,32,SEADRA
-	db 0
-;Learnset
-	db 19,SMOKESCREEN
-	db 24,LEER
-	db 30,WATER_GUN
-	db 37,AGILITY
-	db 45,HYDRO_PUMP
-	db 0
-Mon117_EvosMoves:
-;SEADRA
-;Evolutions
-	db 0
-;Learnset
-	db 19,SMOKESCREEN
-	db 24,LEER
-	db 30,WATER_GUN
-	db 41,AGILITY
-	db 52,HYDRO_PUMP
-	db 0
-
-Mon168_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon169_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon027_EvosMoves:
-;SANDSHREW
-;Evolutions
-	db EV_LEVEL,22,SANDSLASH
-	db 0
-;Learnset
-	db 10,SAND_ATTACK
-	db 17,SLASH
-	db 24,POISON_STING
-	db 31,SWIFT
-	db 38,FURY_SWIPES
-	db 0
-Mon028_EvosMoves:
-;SANDSLASH
-;Evolutions
-	db 0
-;Learnset
-	db 10,SAND_ATTACK
-	db 17,SLASH
-	db 27,POISON_STING
-	db 36,SWIFT
-	db 47,FURY_SWIPES
-	db 0
-Mon138_EvosMoves:
-;OMANYTE
-;Evolutions
-	db EV_LEVEL,40,OMASTAR
-	db 0
-;Learnset
-	db 34,HORN_ATTACK
-	db 39,LEER
-	db 46,SPIKE_CANNON
-	db 53,HYDRO_PUMP
-	db 0
-Mon139_EvosMoves:
-;OMASTAR
-;Evolutions
-	db 0
-;Learnset
-	db 34,HORN_ATTACK
-	db 39,LEER
-	db 44,SPIKE_CANNON
-	db 49,HYDRO_PUMP
-	db 0
-Mon039_EvosMoves:
-;JIGGLYPUFF
-;Evolutions
-	db EV_ITEM,MOON_STONE,1,WIGGLYTUFF
-	db 0
-;Learnset
-	db 9,POUND
-	db 14,DISABLE
-	db 19,DEFENSE_CURL
-	db 24,DOUBLESLAP
-	db 29,REST
-	db 34,BODY_SLAM
-	db 39,DOUBLE_EDGE
-	db 0
-Mon040_EvosMoves:
-;WIGGLYTUFF
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon133_EvosMoves:
-;EEVEE
-;Evolutions
-	db EV_ITEM,FIRE_STONE,1,FLAREON
-	db EV_ITEM,THUNDER_STONE ,1,JOLTEON
-	db EV_ITEM,WATER_STONE ,1,VAPOREON
-	db 0
-;Learnset
-	db 27,QUICK_ATTACK
-	db 31,TAIL_WHIP
-	db 37,BITE
-	db 45,TAKE_DOWN
-	db 0
-Mon136_EvosMoves:
-;FLAREON
-;Evolutions
-	db 0
-;Learnset
-	db 27,QUICK_ATTACK
-	db 31,EMBER
-	db 37,TAIL_WHIP
-	db 40,BITE
-	db 42,LEER
-	db 44,FIRE_SPIN
-	db 48,RAGE
-	db 54,FLAMETHROWER
-	db 0
-Mon135_EvosMoves:
-;JOLTEON
-;Evolutions
-	db 0
-;Learnset
-	db 27,QUICK_ATTACK
-	db 31,THUNDERSHOCK
-	db 37,TAIL_WHIP
-	db 40,THUNDER_WAVE
-	db 42,DOUBLE_KICK
-	db 44,AGILITY
-	db 48,PIN_MISSILE
-	db 54,THUNDER
-	db 0
-Mon134_EvosMoves:
-;VAPOREON
-;Evolutions
-	db 0
-;Learnset
-	db 27,QUICK_ATTACK
-	db 31,WATER_GUN
-	db 37,TAIL_WHIP
-	db 40,BITE
-	db 42,ACID_ARMOR
-	db 44,HAZE
-	db 48,MIST
-	db 54,HYDRO_PUMP
-	db 0
-Mon066_EvosMoves:
-;MACHOP
-;Evolutions
-	db EV_LEVEL,28,MACHOKE
-	db 0
-;Learnset
-	db 20,LOW_KICK
-	db 25,LEER
-	db 32,FOCUS_ENERGY
-	db 39,SEISMIC_TOSS
-	db 46,SUBMISSION
-	db 0
-Mon041_EvosMoves:
-;ZUBAT
-;Evolutions
-	db EV_LEVEL,22,GOLBAT
-	db 0
-;Learnset
-	db 10,SUPERSONIC
-	db 15,BITE
-	db 21,CONFUSE_RAY
-	db 28,WING_ATTACK
-	db 36,HAZE
-	db 0
-Mon023_EvosMoves:
-;EKANS
-;Evolutions
-	db EV_LEVEL,22,ARBOK
-	db 0
-;Learnset
-	db 10,POISON_STING
-	db 17,BITE
-	db 24,GLARE
-	db 31,SCREECH
-	db 38,ACID
-	db 0
-Mon046_EvosMoves:
-;PARAS
-;Evolutions
-	db EV_LEVEL,24,PARASECT
-	db 0
-;Learnset
-	db 13,STUN_SPORE
-	db 20,LEECH_LIFE
-	db 27,SPORE
-	db 34,SLASH
-	db 41,GROWTH
-	db 0
-Mon061_EvosMoves:
-;POLIWHIRL
-;Evolutions
-	db EV_ITEM,WATER_STONE ,1,POLIWRATH
-	db 0
-;Learnset
-	db 16,HYPNOSIS
-	db 19,WATER_GUN
-	db 26,DOUBLESLAP
-	db 33,BODY_SLAM
-	db 41,AMNESIA
-	db 49,HYDRO_PUMP
-	db 0
-Mon062_EvosMoves:
-;POLIWRATH
-;Evolutions
-	db 0
-;Learnset
-	db 16,HYPNOSIS
-	db 19,WATER_GUN
-	db 0
-Mon013_EvosMoves:
-;WEEDLE
-;Evolutions
-	db EV_LEVEL,7,KAKUNA
-	db 0
-;Learnset
-	db 0
-Mon014_EvosMoves:
-;KAKUNA
-;Evolutions
-	db EV_LEVEL,10,BEEDRILL
-	db 0
-;Learnset
-	db 0
-Mon015_EvosMoves:
-;BEEDRILL
-;Evolutions
-	db 0
-;Learnset
-	db 12,FURY_ATTACK
-	db 16,FOCUS_ENERGY
-	db 20,TWINEEDLE
-	db 25,RAGE
-	db 30,PIN_MISSILE
-	db 35,AGILITY
-	db 0
-
-Mon170_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon085_EvosMoves:
-;DODRIO
-;Evolutions
-	db 0
-;Learnset
-	db 20,GROWL
-	db 24,FURY_ATTACK
-	db 30,DRILL_PECK
-	db 39,RAGE
-	db 45,TRI_ATTACK
-	db 51,AGILITY
-	db 0
-Mon057_EvosMoves:
-;PRIMEAPE
-;Evolutions
-	db 0
-;Learnset
-	db 15,KARATE_CHOP
-	db 21,FURY_SWIPES
-	db 27,FOCUS_ENERGY
-	db 37,SEISMIC_TOSS
-	db 46,THRASH
-	db 0
-Mon051_EvosMoves:
-;DUGTRIO
-;Evolutions
-	db 0
-;Learnset
-	db 15,GROWL
-	db 19,DIG
-	db 24,SAND_ATTACK
-	db 35,SLASH
-	db 47,EARTHQUAKE
-	db 0
-Mon049_EvosMoves:
-;VENOMOTH
-;Evolutions
-	db 0
-;Learnset
-	db 24,POISONPOWDER
-	db 27,LEECH_LIFE
-	db 30,STUN_SPORE
-	db 38,PSYBEAM
-	db 43,SLEEP_POWDER
-	db 50,PSYCHIC_M
-	db 0
-Mon087_EvosMoves:
-;DEWGONG
-;Evolutions
-	db 0
-;Learnset
-	db 30,GROWL
-	db 35,AURORA_BEAM
-	db 44,REST
-	db 50,TAKE_DOWN
-	db 56,ICE_BEAM
-	db 0
-
-Mon171_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon172_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon010_EvosMoves:
-;CATERPIE
-;Evolutions
-	db EV_LEVEL,7,METAPOD
-	db 0
-;Learnset
-	db 0
-Mon011_EvosMoves:
-;METAPOD
-;Evolutions
-	db EV_LEVEL,10,BUTTERFREE
-	db 0
-;Learnset
-	db 0
-Mon012_EvosMoves:
-;BUTTERFREE
-;Evolutions
-	db 0
-;Learnset
-	db 12,CONFUSION
-	db 15,POISONPOWDER
-	db 16,STUN_SPORE
-	db 17,SLEEP_POWDER
-	db 21,SUPERSONIC
-	db 26,WHIRLWIND
-	db 32,PSYBEAM
-	db 0
-Mon068_EvosMoves:
-;MACHAMP
-;Evolutions
-	db 0
-;Learnset
-	db 20,LOW_KICK
-	db 25,LEER
-	db 36,FOCUS_ENERGY
-	db 44,SEISMIC_TOSS
-	db 52,SUBMISSION
-	db 0
-
-Mon173_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon055_EvosMoves:
-;GOLDUCK
-;Evolutions
-	db 0
-;Learnset
-	db 28,TAIL_WHIP
-	db 31,DISABLE
-	db 39,CONFUSION
-	db 48,FURY_SWIPES
-	db 59,HYDRO_PUMP
-	db 0
-Mon097_EvosMoves:
-;HYPNO
-;Evolutions
-	db 0
-;Learnset
-	db 12,DISABLE
-	db 17,CONFUSION
-	db 24,HEADBUTT
-	db 33,POISON_GAS
-	db 37,PSYCHIC_M
-	db 43,MEDITATE
-	db 0
-Mon042_EvosMoves:
-;GOLBAT
-;Evolutions
-	db 0
-;Learnset
-	db 10,SUPERSONIC
-	db 15,BITE
-	db 21,CONFUSE_RAY
-	db 32,WING_ATTACK
-	db 43,HAZE
-	db 0
-Mon150_EvosMoves:
-;MEWTWO
-;Evolutions
-	db 0
-;Learnset
-	db 63,BARRIER
-	db 66,PSYCHIC_M
-	db 70,RECOVER
-	db 75,MIST
-	db 81,AMNESIA
-	db 0
-Mon143_EvosMoves:
-;SNORLAX
-;Evolutions
-	db 0
-;Learnset
-	db 35,BODY_SLAM
-	db 41,HARDEN
-	db 48,DOUBLE_EDGE
-	db 56,HYPER_BEAM
-	db 0
-Mon129_EvosMoves:
-;MAGIKARP
-;Evolutions
-	db EV_LEVEL,20,GYARADOS
-	db 0
-;Learnset
-	db 15,TACKLE
-	db 0
-
-Mon174_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon175_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon089_EvosMoves:
-;MUK
-;Evolutions
-	db 0
-;Learnset
-	db 30,POISON_GAS
-	db 33,MINIMIZE
-	db 37,SLUDGE
-	db 45,HARDEN
-	db 53,SCREECH
-	db 60,ACID_ARMOR
-	db 0
-
-Mon176_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon099_EvosMoves:
-;KINGLER
-;Evolutions
-	db 0
-;Learnset
-	db 20,VICEGRIP
-	db 25,GUILLOTINE
-	db 34,STOMP
-	db 42,CRABHAMMER
-	db 49,HARDEN
-	db 0
-Mon091_EvosMoves:
-;CLOYSTER
-;Evolutions
-	db 0
-;Learnset
-	db 50,SPIKE_CANNON
-	db 0
-
-Mon177_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon101_EvosMoves:
-;ELECTRODE
-;Evolutions
-	db 0
-;Learnset
-	db 17,SONICBOOM
-	db 22,SELFDESTRUCT
-	db 29,LIGHT_SCREEN
-	db 40,SWIFT
-	db 50,EXPLOSION
-	db 0
-Mon036_EvosMoves:
-;CLEFABLE
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon110_EvosMoves:
-;WEEZING
-;Evolutions
-	db 0
-;Learnset
-	db 32,SLUDGE
-	db 39,SMOKESCREEN
-	db 43,SELFDESTRUCT
-	db 49,HAZE
-	db 53,EXPLOSION
-	db 0
-Mon053_EvosMoves:
-;PERSIAN
-;Evolutions
-	db 0
-;Learnset
-	db 12,BITE
-	db 17,PAY_DAY
-	db 24,SCREECH
-	db 37,FURY_SWIPES
-	db 51,SLASH
-	db 0
-Mon105_EvosMoves:
-;MAROWAK
-;Evolutions
-	db 0
-;Learnset
-	db 25,LEER
-	db 33,FOCUS_ENERGY
-	db 41,THRASH
-	db 48,BONEMERANG
-	db 55,RAGE
-	db 0
-
-Mon178_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon093_EvosMoves:
-;HAUNTER
-;Evolutions
-	db EV_TRADE,1,GENGAR
-	db 0
-;Learnset
-	db 29,HYPNOSIS
-	db 38,DREAM_EATER
-	db 0
-Mon063_EvosMoves:
-;ABRA
-;Evolutions
-	db EV_LEVEL,16,KADABRA
-	db 0
-;Learnset
-	db 0
-Mon065_EvosMoves:
-;ALAKAZAM
-;Evolutions
-	db 0
-;Learnset
-	db 16,CONFUSION
-	db 20,DISABLE
-	db 27,PSYBEAM
-	db 31,RECOVER
-	db 38,PSYCHIC_M
-	db 42,REFLECT
-	db 0
-Mon017_EvosMoves:
-;PIDGEOTTO
-;Evolutions
-	db EV_LEVEL,36,PIDGEOT
-	db 0
-;Learnset
-	db 5,SAND_ATTACK
-	db 12,QUICK_ATTACK
-	db 21,WHIRLWIND
-	db 31,WING_ATTACK
-	db 40,AGILITY
-	db 49,MIRROR_MOVE
-	db 0
-Mon018_EvosMoves:
-;PIDGEOT
-;Evolutions
-	db 0
-;Learnset
-	db 5,SAND_ATTACK
-	db 12,QUICK_ATTACK
-	db 21,WHIRLWIND
-	db 31,WING_ATTACK
-	db 44,AGILITY
-	db 54,MIRROR_MOVE
-	db 0
-Mon121_EvosMoves:
-;STARMIE
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon001_EvosMoves:
-;BULBASAUR
-;Evolutions
-	db EV_LEVEL,16,IVYSAUR
-	db 0
-;Learnset
-	db 7,LEECH_SEED
-	db 13,VINE_WHIP
-	db 20,POISONPOWDER
-	db 27,RAZOR_LEAF
-	db 34,GROWTH
-	db 41,SLEEP_POWDER
-	db 48,SOLARBEAM
-	db 0
-Mon003_EvosMoves:
-;VENUSAUR
-;Evolutions
-	db 0
-;Learnset
-	db 7,LEECH_SEED
-	db 13,VINE_WHIP
-	db 22,POISONPOWDER
-	db 30,RAZOR_LEAF
-	db 43,GROWTH
-	db 55,SLEEP_POWDER
-	db 65,SOLARBEAM
-	db 0
-Mon073_EvosMoves:
-;TENTACRUEL
-;Evolutions
-	db 0
-;Learnset
-	db 7,SUPERSONIC
-	db 13,WRAP
-	db 18,POISON_STING
-	db 22,WATER_GUN
-	db 27,CONSTRICT
-	db 35,BARRIER
-	db 43,SCREECH
-	db 50,HYDRO_PUMP
-	db 0
-
-Mon179_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon118_EvosMoves:
-;GOLDEEN
-;Evolutions
-	db EV_LEVEL,33,SEAKING
-	db 0
-;Learnset
-	db 19,SUPERSONIC
-	db 24,HORN_ATTACK
-	db 30,FURY_ATTACK
-	db 37,WATERFALL
-	db 45,HORN_DRILL
-	db 54,AGILITY
-	db 0
-Mon119_EvosMoves:
-;SEAKING
-;Evolutions
-	db 0
-;Learnset
-	db 19,SUPERSONIC
-	db 24,HORN_ATTACK
-	db 30,FURY_ATTACK
-	db 39,WATERFALL
-	db 48,HORN_DRILL
-	db 54,AGILITY
-	db 0
-
-Mon180_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon181_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon182_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon183_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon077_EvosMoves:
-;PONYTA
-;Evolutions
-	db EV_LEVEL,40,RAPIDASH
-	db 0
-;Learnset
-	db 30,TAIL_WHIP
-	db 32,STOMP
-	db 35,GROWL
-	db 39,FIRE_SPIN
-	db 43,TAKE_DOWN
-	db 48,AGILITY
-	db 0
-Mon078_EvosMoves:
-;RAPIDASH
-;Evolutions
-	db 0
-;Learnset
-	db 30,TAIL_WHIP
-	db 32,STOMP
-	db 35,GROWL
-	db 39,FIRE_SPIN
-	db 47,TAKE_DOWN
-	db 55,AGILITY
-	db 0
-Mon019_EvosMoves:
-;RATTATA
-;Evolutions
-	db EV_LEVEL,20,RATICATE
-	db 0
-;Learnset
-	db 7,QUICK_ATTACK
-	db 14,HYPER_FANG
-	db 23,FOCUS_ENERGY
-	db 34,SUPER_FANG
-	db 0
-Mon020_EvosMoves:
-;RATICATE
-;Evolutions
-	db 0
-;Learnset
-	db 7,QUICK_ATTACK
-	db 14,HYPER_FANG
-	db 27,FOCUS_ENERGY
-	db 41,SUPER_FANG
-	db 0
-Mon033_EvosMoves:
-;NIDORINO
-;Evolutions
-	db EV_ITEM,MOON_STONE,1,NIDOKING
-	db 0
-;Learnset
-	db 8,HORN_ATTACK
-	db 14,POISON_STING
-	db 23,FOCUS_ENERGY
-	db 32,FURY_ATTACK
-	db 41,HORN_DRILL
-	db 50,DOUBLE_KICK
-	db 0
-Mon030_EvosMoves:
-;NIDORINA
-;Evolutions
-	db EV_ITEM,MOON_STONE,1,NIDOQUEEN
-	db 0
-;Learnset
-	db 8,SCRATCH
-	db 14,POISON_STING
-	db 23,TAIL_WHIP
-	db 32,BITE
-	db 41,FURY_SWIPES
-	db 50,DOUBLE_KICK
-	db 0
-Mon074_EvosMoves:
-;GEODUDE
-;Evolutions
-	db EV_LEVEL,25,GRAVELER
-	db 0
-;Learnset
-	db 11,DEFENSE_CURL
-	db 16,ROCK_THROW
-	db 21,SELFDESTRUCT
-	db 26,HARDEN
-	db 31,EARTHQUAKE
-	db 36,EXPLOSION
-	db 0
-Mon137_EvosMoves:
-;PORYGON
-;Evolutions
-	db 0
-;Learnset
-	db 23,PSYBEAM
-	db 28,RECOVER
-	db 35,AGILITY
-	db 42,TRI_ATTACK
-	db 0
-Mon142_EvosMoves:
-;AERODACTYL
-;Evolutions
-	db 0
-;Learnset
-	db 33,SUPERSONIC
-	db 38,BITE
-	db 45,TAKE_DOWN
-	db 54,HYPER_BEAM
-	db 0
-
-Mon184_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon081_EvosMoves:
-;MAGNEMITE
-;Evolutions
-	db EV_LEVEL,30,MAGNETON
-	db 0
-;Learnset
-	db 21,SONICBOOM
-	db 25,THUNDERSHOCK
-	db 29,SUPERSONIC
-	db 35,THUNDER_WAVE
-	db 41,SWIFT
-	db 47,SCREECH
-	db 0
-
-Mon185_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon186_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon004_EvosMoves:
-;CHARMANDER
-;Evolutions
-	db EV_LEVEL,16,CHARMELEON
-	db 0
-;Learnset
-	db 9,EMBER
-	db 15,LEER
-	db 22,RAGE
-	db 30,SLASH
-	db 38,FLAMETHROWER
-	db 46,FIRE_SPIN
-	db 0
-Mon007_EvosMoves:
-;SQUIRTLE
-;Evolutions
-	db EV_LEVEL,16,WARTORTLE
-	db 0
-;Learnset
-	db 8,BUBBLE
-	db 15,WATER_GUN
-	db 22,BITE
-	db 28,WITHDRAW
-	db 35,SKULL_BASH
-	db 42,HYDRO_PUMP
-	db 0
-Mon005_EvosMoves:
-;CHARMELEON
-;Evolutions
-	db EV_LEVEL,36,CHARIZARD
-	db 0
-;Learnset
-	db 9,EMBER
-	db 15,LEER
-	db 24,RAGE
-	db 33,SLASH
-	db 42,FLAMETHROWER
-	db 56,FIRE_SPIN
-	db 0
-Mon008_EvosMoves:
-;WARTORTLE
-;Evolutions
-	db EV_LEVEL,36,BLASTOISE
-	db 0
-;Learnset
-	db 8,BUBBLE
-	db 15,WATER_GUN
-	db 24,BITE
-	db 31,WITHDRAW
-	db 39,SKULL_BASH
-	db 47,HYDRO_PUMP
-	db 0
-Mon006_EvosMoves:
-;CHARIZARD
-;Evolutions
-	db 0
-;Learnset
-	db 9,EMBER
-	db 15,LEER
-	db 24,RAGE
-	db 36,SLASH
-	db 46,FLAMETHROWER
-	db 55,FIRE_SPIN
-	db 0
-
-Mon187_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon188_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon189_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-
-Mon190_EvosMoves:
-;MISSINGNO
-;Evolutions
-	db 0
-;Learnset
-	db 0
-Mon043_EvosMoves:
-;ODDISH
-;Evolutions
-	db EV_LEVEL,21,GLOOM
-	db 0
-;Learnset
-	db 15,POISONPOWDER
-	db 17,STUN_SPORE
-	db 19,SLEEP_POWDER
-	db 24,ACID
-	db 33,PETAL_DANCE
-	db 46,SOLARBEAM
-	db 0
-Mon044_EvosMoves:
-;GLOOM
-;Evolutions
-	db EV_ITEM,LEAF_STONE ,1,VILEPLUME
-	db 0
-;Learnset
-	db 15,POISONPOWDER
-	db 17,STUN_SPORE
-	db 19,SLEEP_POWDER
-	db 28,ACID
-	db 38,PETAL_DANCE
-	db 52,SOLARBEAM
-	db 0
-Mon045_EvosMoves:
-;VILEPLUME
-;Evolutions
-	db 0
-;Learnset
-	db 15,POISONPOWDER
-	db 17,STUN_SPORE
-	db 19,SLEEP_POWDER
-	db 0
-Mon069_EvosMoves:
-;BELLSPROUT
-;Evolutions
-	db EV_LEVEL,21,WEEPINBELL
-	db 0
-;Learnset
-	db 13,WRAP
-	db 15,POISONPOWDER
-	db 18,SLEEP_POWDER
-	db 21,STUN_SPORE
-	db 26,ACID
-	db 33,RAZOR_LEAF
-	db 42,SLAM
-	db 0
-Mon070_EvosMoves:
-;WEEPINBELL
-;Evolutions
-	db EV_ITEM,LEAF_STONE ,1,VICTREEBEL
-	db 0
-;Learnset
-	db 13,WRAP
-	db 15,POISONPOWDER
-	db 18,SLEEP_POWDER
-	db 23,STUN_SPORE
-	db 29,ACID
-	db 38,RAZOR_LEAF
-	db 49,SLAM
-	db 0
-Mon071_EvosMoves:
-;VICTREEBEL
-;Evolutions
-	db 0
-;Learnset
-	db 13,WRAP
-	db 15,POISONPOWDER
-	db 18,SLEEP_POWDER
-	db 0
-
-INCBIN "baserom.gbc",$3b9ec,$3baa2 - $3b9ec
-
-UnnamedText_3baa2: ; 0x3baa2
-	TX_FAR _UnnamedText_3baa2
-	db $50
-; 0x3baa2 + 5 bytes
-
-UnnamedText_3baa7: ; 0x3baa7
-	TX_FAR _UnnamedText_3baa7
-	db $50
-; 0x3baa7 + 5 bytes
-
-UnnamedText_3baac: ; 0x3baac
-	TX_FAR _UnnamedText_3baac
-	db $50
-; 0x3baac + 5 bytes
-
-INCBIN "baserom.gbc",$3bab1,$3bb92 - $3bab1
-
-UnnamedText_3bb92: ; 0x3bb92
-	TX_FAR _UnnamedText_3bb92
-	db $50
-; 0x3bb92 + 5 bytes
-
-INCBIN "baserom.gbc",$3bb97,$3bbd7 - $3bb97
-
-UnnamedText_3bbd7: ; 0x3bbd7
-	TX_FAR _UnnamedText_3bbd7
-	db $50
-; 0x3bbd7 + 5 bytes
-
-UnnamedText_3bbdc: ; 0x3bbdc
-	TX_FAR _UnnamedText_3bbdc
-	db $50
-; 0x3bbdc + 5 bytes
-
-INCBIN "baserom.gbc",$3bbe1,$41f
-
-SECTION "bankF",DATA,BANK[$F]
-
-; These are move effects (second value from the Moves table in bank $E).
-EffectsArray1: ; 4000
-	db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF
-EffectsArray2: ; 4011
-; moves that do damage but not through normal calculations
-; e.g., Super Fang, Psywave
-	db $28,$29,$FF
-EffectsArray3: ; 4014
-; non-damaging, stat‐affecting or status‐causing moves?
-; e.g., Meditate, Bide, Hypnosis
-	db $01,$0A,$0B,$0C,$0D,$0E,$0F,$12,$13,$14,$15,$16,$17,$1A,$20,$32,$33,$34,$35,$36,$37,$3A,$3B,$3C,$3D,$3E,$3F,$FF
-EffectsArray4: ; 4030
-	db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF
-EffectsArray5: ; 403B
-	db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru
-EffectsArray5B: ; 4049
-; moves that prevent the player from switching moves?
-	db $1B,$2A,$FF
-
-INCBIN "baserom.gbc",$3c04c,$3c1a8 - $3c04c
-
-UnnamedText_3c1a8: ; 0x3c1a8
-	TX_FAR _UnnamedText_3c1a8
-	db $50
-; 0x3c1a8 + 5 bytes
-
-INCBIN "baserom.gbc",$3c1ad,$3c229 - $3c1ad
-
-UnnamedText_3c229: ; 0x3c229
-	TX_FAR _UnnamedText_3c229
-	db $50
-; 0x3c229 + 5 bytes
-
-UnnamedText_3c22e: ; 0x3c22e
-	TX_FAR _UnnamedText_3c22e
-	db $50
-; 0x3c22e + 5 bytes
-
-INCBIN "baserom.gbc",$3c233,$3c42e - $3c233
-
-UnnamedText_3c42e: ; 0x3c42e
-	TX_FAR _UnnamedText_3c42e
-	db $50
-; 0x3c42e + 5 bytes
-
-UnnamedText_3c433: ; 0x3c433
-	TX_FAR _UnnamedText_3c433
-	db $50
-; 0x3c433 + 5 bytes
-
-UnnamedText_3c438: ; 0x3c438
-	TX_FAR _UnnamedText_3c438
-	db $50
-; 0x3c438 + 5 bytes
-
-INCBIN "baserom.gbc",$3c43d,$3c63e - $3c43d
-
-UnnamedText_3c63e: ; 0x3c63e
-	TX_FAR _UnnamedText_3c63e
-	db $50
-; 0x3c63e + 5 bytes
-
-INCBIN "baserom.gbc",$3c643,$3c6e4 - $3c643
-
-UnnamedText_3c6e4: ; 0x3c6e4
-	TX_FAR _UnnamedText_3c6e4
-	db $50
-; 0x3c6e4 + 5 bytes
-
-UnnamedText_3c6e9: ; 0x3c6e9
-	TX_FAR _UnnamedText_3c6e9
-	db $50
-; 0x3c6e9 + 5 bytes
-
-INCBIN "baserom.gbc",$3c6ee,$3c796 - $3c6ee
-
-UnnamedText_3c796: ; 0x3c796
-	TX_FAR _UnnamedText_3c796
-	db $50
-; 0x3c796 + 5 bytes
-
-INCBIN "baserom.gbc",$3c79b,$3c7d3 - $3c79b
-
-UnnamedText_3c7d3: ; 0x3c7d3
-	TX_FAR _UnnamedText_3c7d3
-	db $50
-; 0x3c7d3 + 5 bytes
-
-INCBIN "baserom.gbc",$3c7d8,$3c884 - $3c7d8
-
-UnnamedText_3c884: ; 0x3c884
-	TX_FAR _UnnamedText_3c884
-	db $50
-; 0x3c884 + 5 bytes
-
-UnnamedText_3c889: ; 0x3c889
-	TX_FAR _UnnamedText_3c889
-	db $50
-; 0x3c889 + 5 bytes
-
-UnnamedText_3c88e: ; 0x3c88e
-	TX_FAR _UnnamedText_3c88e
-	db $50
-; 0x3c88e + 5 bytes
-
-INCBIN "baserom.gbc",$3c893,$7b
-
-; XXX this needs cleaning up. it's what runs when a juggler switches pokemon
-EnemySendOut: ; 490E
-	ld hl,$D058
-	xor a
-	ld [hl],a
-	ld a,[$CC2F]
-	ld c,a
-	ld b,1
-	push bc
-	ld a,$10
-	call Predef
-	ld hl,$CCF5
-	xor a
-	ld [hl],a
-	pop bc
-	ld a,$10
-	call Predef
-	xor a
-	ld hl,$D065
-	ld [hli],a
-	ld [hli],a
-	ld [hli],a
-	ld [hli],a
-	ld [hl],a
-	ld [$D072],a
-	ld [$CCEF],a
-	ld [$CCF3],a
-	ld hl,$CCF1
-	ld [hli],a
-	ld [hl],a
-	dec a
-	ld [W_AICOUNT],a
-	ld hl,W_PLAYERBATTSTATUS1
-	res 5,[hl]
-	ld hl,$C3B2
-	ld a,8
-	call $48DF
-	call $6E94
-	call $3719
-	ld a,[$D12B]
-	cp 4
-	jr nz,.next\@
-	ld a,[$CC3E]
-	sub 4
-	ld [$CF92],a
-	jr .next3\@
-.next\@
-	ld b,$FF
-.next2\@
-	inc b
-	ld a,[$CFE8]
-	cp b
-	jr z,.next2\@
-	ld hl,$D8A4
-	ld a,b
-	ld [$CF92],a
-	push bc
-	ld bc,$2C
-	call AddNTimes
-	pop bc
-	inc hl
-	ld a,[hli]
-	ld c,a
-	ld a,[hl]
-	or c
-	jr z,.next2\@
-.next3\@
-	ld a,[$CF92]
-	ld hl,$D8C5
-	ld bc,$2C
-	call AddNTimes
-	ld a,[hl]
-	ld [$D127],a
-	ld a,[$CF92]
-	inc a
-	ld hl,$D89C
-	ld c,a
-	ld b,0
-	add hl,bc
-	ld a,[hl]
-	ld [$CFD8],a
-	ld [$CF91],a
-	call $6B01
-	ld hl,$CFE6
-	ld a,[hli]
-	ld [$CCE3],a
-	ld a,[hl]
-	ld [$CCE4],a
-	ld a,1
-	ld [$CC26],a
-	ld a,[$D11D]
-	dec a
-	jr z,.next4\@
-	ld a,[W_NUMINPARTY]
-	dec a
-	jr z,.next4\@
-	ld a,[$D12B]
-	cp 4
-	jr z,.next4\@
-	ld a,[$D355]
-	bit 6,a
-	jr nz,.next4\@
-	ld hl, TrainerAboutToUseText
-	call PrintText
-	ld hl,$C42C
-	ld bc,$0801
-	ld a,$14
-	ld [$D125],a
-	call $30E8
-	ld a,[$CC26]
-	and a
-	jr nz,.next4\@
-	ld a,2
-	ld [$D07D],a
-	call $13FC
-.next9\@
-	ld a,1
-	ld [$CC26],a
-	jr c,.next7\@
-	ld hl,$CC2F
-	ld a,[$CF92]
-	cp [hl]
-	jr nz,.next6\@
-	ld hl,$51F5
-	call PrintText
-.next8\@
-	call $1411
-	jr .next9\@
-.next6\@
-	call $4A97
-	jr z,.next8\@
-	xor a
-	ld [$CC26],a
-.next7\@
-	call $3DE5
-	call $6E5B
-	call $3725
-.next4\@
-	call $0082
-	ld hl,$C3A0
-	ld bc,$040B
-	call $18C4
-	ld b,1
-	call $3DEF
-	call $3DDC
-	ld hl,TrainerSentOutText
-	call PrintText
-	ld a,[$CFD8]
-	ld [$CF91],a
-	ld [$D0B5],a
-	call $1537
-	ld de,$9000
-	call $1665
-	ld a,$CF
-	ld [$FFE1],a
-	ld hl,$C427
-	ld a,2
-	call Predef
-	ld a,[$CFD8]
-	call $13D0
-	call $4DEC
-	ld a,[$CC26]
-	and a
-	ret nz
-	xor a
-	ld [$D058],a
-	ld [$CCF5],a
-	call $3719
-	jp $51BA
-
-TrainerAboutToUseText: ; 0x3ca79
-	TX_FAR _TrainerAboutToUseText
-	db "@"
-
-TrainerSentOutText: ; 0x3ca7e
-	TX_FAR _TrainerSentOutText
-	db "@"
-
-INCBIN "baserom.gbc",$3ca83,$3cab4 - $3ca83
-
-UnnamedText_3cab4: ; 0x3cab4
-	TX_FAR _UnnamedText_3cab4
-	db $50
-; 0x3cab4 + 5 bytes
-
-INCBIN "baserom.gbc",$3cab9,$3cb97 - $3cab9
-
-UnnamedText_3cb97: ; 0x3cb97
-	TX_FAR _UnnamedText_3cb97
-	db $50
-; 0x3cb97 + 5 bytes
-
-UnnamedText_3cb9c: ; 0x3cb9c
-	TX_FAR _UnnamedText_3cb9c
-	db $50
-; 0x3cb9c + 5 bytes
-
-UnnamedText_3cba1: ; 0x3cba1
-	TX_FAR _UnnamedText_3cba1
-	db $50
-; 0x3cba1 + 5 bytes
-
-INCBIN "baserom.gbc",$3cba6,$3d0c5 - $3cba6
-
-UnnamedText_3d0c5: ; 0x3d0c5
-	TX_FAR _UnnamedText_3d0c5
-	db $50
-; 0x3d0c5 + 5 bytes
-
-INCBIN "baserom.gbc",$3d0ca,$3d1f5 - $3d0ca
-
-UnnamedText_3d1f5: ; 0x3d1f5
-	TX_FAR _UnnamedText_3d1f5
-	db $50
-; 0x3d1f5 + 5 bytes
-
-INCBIN "baserom.gbc",$3d1fa,$3d3ae - $3d1fa
-
-UnnamedText_3d3ae: ; 0x3d3ae
-	TX_FAR _UnnamedText_3d3ae
-	db $50
-; 0x3d3ae + 5 bytes
-
-UnnamedText_3d3b3: ; 0x3d3b3
-	TX_FAR _UnnamedText_3d3b3
-	db $50
-; 0x3d3b3 + 5 bytes
-
-INCBIN "baserom.gbc",$3d3b8,$3d430 - $3d3b8
-
-UnnamedText_3d430: ; 0x3d430
-	TX_FAR _UnnamedText_3d430
-	db $50
-; 0x3d430 + 5 bytes
-
-INCBIN "baserom.gbc",$3d435,$274
-
-; in-battle stuff
-	ld hl,W_PLAYERBATTSTATUS1
-	res 4,[hl]
-	res 6,[hl]
-	call $5AF5
-	ld hl,DecrementPP
-	ld de,$CCDC ; pointer to the move just used
-	ld b,BANK(DecrementPP)
-	call Bankswitch
-	ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used
-	ld hl,EffectsArray1
-	ld de,1
-	call IsInArray
-	jp c,$7132
-	ld a,[W_PLAYERMOVEEFFECT]
-	ld hl,EffectsArray5B
-	ld de,1
-	call IsInArray
-	call c,$7132
-	ld a,[W_PLAYERMOVEEFFECT]
-	ld hl,EffectsArray2
-	ld de,1
-	call IsInArray
-	jp c,$5702
-	call $6023
-	call $6093
-	jr z,.next11\@
-	call $5DCF
-	call $5F65
-	jp z,$574B
-	call $63A5
-	call $6687
-	call $656B
-.next11\@
-	ld a,[W_MOVEMISSED]
-	and a
-	jr z,.next\@
-	ld a,[W_PLAYERMOVEEFFECT]
-	sub a,7
-	jr z,.next2\@
-	jr .next3\@ ; 574B
-.next\@
-	ld a,[W_PLAYERMOVEEFFECT]
-	and a
-	ld a,4
-	jr z,.next2\@
-	ld a,5
-.next2\@
-	push af
-	ld a,[W_PLAYERBATTSTATUS2]
-	bit 4,a
-	ld hl,$5747
-	ld b,$1E
-	call nz,Bankswitch
-	pop af
-	ld [$CC5B],a
-	ld a,[W_PLAYERMOVENUM]
-	call $6F07
-	call $6ED3
-	call $4D60
-	ld a,[W_PLAYERBATTSTATUS2]
-	bit 4,a
-	ld hl,$5771
-	ld b,$1E
-	call nz,Bankswitch
-	jr .next4\@
-.next3\@
-	ld c,$1E
-	call $3739
-	ld a,[W_PLAYERMOVEEFFECT]
-	cp a,$2B
-	jr z,.next5\@
-	cp a,$27 ; XXX SLP | FRZ ?
-	jr z,.next5\@
-	jr .next4\@
-.next5\@
-	xor a
-	ld [$CC5B],a
-	ld a,$A7
-	call $6F07
-.next4\@
-	ld a,[W_PLAYERMOVEEFFECT]
-	cp a,9
-	jr nz,.next6\@ ; 577A
-	call $62FD
-	jp z,Function580A
-	xor a
-	ld [$CCED],a
-	jp $569A
-.next6\@
-	cp a,$53
-	jr nz,.next7\@ ; 5784
-	call $6348
-	jp $569A
-.next7\@
-	ld a,[W_PLAYERMOVEEFFECT]
-	ld hl,EffectsArray3
-	ld de,1
-	call IsInArray
-	jp c,$7132
-	ld a,[W_MOVEMISSED]
-	and a
-	jr z,.next8\@ ; 57A6
-	call $5BE2
-	ld a,[W_PLAYERMOVEEFFECT]
-	cp a,7
-	jr z,.next9\@ ; 57B9
-	jp Function580A
-.next8\@
-	call $60DF
-	call $5C5C
-	ld hl,$7B7B ; MyFunction
-	ld b,$B ; BANK(MyFunction)
-	call Bankswitch
-	ld a,1
-	ld [$CCF4],a
-.next9\@
-	ld a,[W_PLAYERMOVEEFFECT]
-	ld hl,EffectsArray4
-	ld de,1
-	call IsInArray
-	call c,$7132
-	ld hl,$CFE6
-	ld a,[hli]
-	ld b,[hl]
-	or b
-	ret z
-	call $62B6
-
-	ld hl,W_PLAYERBATTSTATUS1
-	bit 2,[hl]
-	jr z,.next10\@ ; 57EF
-	ld a,[$D06A]
-	dec a
-	ld [$D06A],a
-	jp nz,$5714
-
-	res 2,[hl]
-	ld hl,MultiHitText
-	call PrintText
-	xor a
-	ld [W_NUMHITS],a ; reset
-.next10\@
-	ld a,[W_PLAYERMOVEEFFECT]
-	and a
-	jp z,Function580A
-	ld hl,EffectsArray5
-	ld de,1
-	call IsInArray
-	call nc,$7132
-	jp Function580A
-
-MultiHitText: ; 0x3d805
-	TX_FAR _MultiHitText
-	db "@"
-
-Function580A: ; 0x3d80a 580A
-	xor a
-	ld [$CD6A],a
-	ld b,1
-	ret
-
-Function5811: ; 0x3d811 5811
-; print the ghost battle messages
-	call $583A
-	ret nz
-	ld a,[H_WHOSETURN]
-	and a
-	jr nz,.Ghost\@
-	ld a,[W_PLAYERMONSTATUS] ; player’s turn
-	and a,SLP | FRZ
-	ret nz
-	ld hl,ScaredText
-	call PrintText
-	xor a
-	ret
-.Ghost\@ ; ghost’s turn
-	ld hl,GetOutText
-	call PrintText
-	xor a
-	ret
-
-ScaredText: ; 0x3d830
-	TX_FAR _ScaredText
-	db "@"
-
-GetOutText: ; 0x3d835
-	TX_FAR _GetOutText
-	db "@"
-
-Function583A: ; 0x3d83a 583A
-	ld a,[W_ISINBATTLE]
-	dec a
-	ret nz
-	ld a,[W_CURMAP]
-	cp a,$8E ; Lavender Town
-	jr c,.next\@
-	cp a,$95 ; Pokémon Tower
-	jr nc,.next\@
-	ld b,SILPH_SCOPE
-	call IsItemInBag ; $3493
-	ret z
-.next\@
-	ld a,1
-	and a
-	ret
-
-Function5854: ; 5854
-	ld hl,W_PLAYERMONSTATUS
-	ld a,[hl]
-	and a,SLP
-	jr z,.FrozenCheck\@ ; to 5884
-
-	dec a
-	ld [W_PLAYERMONSTATUS],a ; decrement sleep count
-	and a
-	jr z,.WakeUp\@ ; to 5874
-
-	xor a
-	ld [$CC5B],a
-	ld a,SLP_ANIM - 1
-	call $6F07
-	ld hl,FastAsleepText
-	call PrintText
-	jr .sleepDone\@
-.WakeUp\@
-	ld hl,WokeUpText
-	call PrintText
-.sleepDone\@
-	xor a
-	ld [$CCF1],a
-	ld hl,Function580A
-	jp $5A37
-
-.FrozenCheck\@
-	bit 5,[hl] ; frozen?
-	jr z,.HeldInPlaceCheck\@ ; to 5898
-	ld hl,FrozenText
-	call PrintText
-	xor a
-	ld [$CCF1],a
-	ld hl,Function580A
-	jp $5A37
-
-.HeldInPlaceCheck\@
-	ld a,[W_ENEMYBATTSTATUS1]
-	bit 5,a
-	jp z,FlinchedCheck
-	ld hl,CantMoveText
-	call PrintText
-	ld hl,Function580A
-	jp $5A37
-
-FlinchedCheck: ; 58AC
-	ld hl,W_PLAYERBATTSTATUS1
-	bit 3,[hl]
-	jp z,HyperBeamCheck
-	res 3,[hl]
-	ld hl,FlinchedText
-	call PrintText
-	ld hl,Function580A
-	jp $5A37
-
-HyperBeamCheck: ; 58C2
-	ld hl,W_PLAYERBATTSTATUS2
-	bit 5,[hl]
-	jr z,.next\@ ; 58D7
-	res 5,[hl]
-	ld hl,MustRechargeText
-	call PrintText
-	ld hl,$580A
-	jp $5A37
-.next\@
-	ld hl,$D06D
-	ld a,[hl]
-	and a
-	jr z,.next2\@ ; 58EE
-	dec a
-	ld [hl],a
-	and a,$F
-	jr nz,.next2\@
-	ld [hl],a
-	ld [$CCEE],a
-	ld hl,DisabledNoMoreText
-	call PrintText
-.next2\@
-	ld a,[W_PLAYERBATTSTATUS1]
-	add a
-	jr nc,.next3\@ ; 5929
-	ld hl,$D06B
-	dec [hl]
-	jr nz,.next4\@ ; 5907
-	ld hl,W_PLAYERBATTSTATUS1
-	res 7,[hl]
-	ld hl,ConfusedNoMoreText
-	call PrintText
-	jr .next3\@
-.next4\@
-	ld hl,IsConfusedText
-	call PrintText
-	xor a
-	ld [$CC5B],a
-	ld a,CONF_ANIM - 1
-	call $6F07
-	call $6E9B
-	cp a,$80
-	jr c,.next3\@
-	ld hl,W_PLAYERBATTSTATUS1
-	ld a,[hl]
-	and a,$80
-	ld [hl],a
-	call $5AAD
-	jr .next5\@ ; 5952
-.next3\@
-	ld a,[$CCEE]
-	and a
-	jr z,.ParalysisCheck\@ ; 593E
-	ld hl,$CCDC
-	cp [hl]
-	jr nz,.ParalysisCheck\@
-	call $5A88
-	ld hl,$580A
-	jp $5A37
-.ParalysisCheck\@
-	ld hl,W_PLAYERMONSTATUS
-	bit 6,[hl]
-	jr z,.next7\@ ; 5975
-	call $6E9B ; random number?
-	cp a,$3F
-	jr nc,.next7\@
-	ld hl,FullyParalyzedText
-	call PrintText
-.next5\@
-	ld hl,W_PLAYERBATTSTATUS1
-	ld a,[hl]
-	and a,$CC
-	ld [hl],a
-	ld a,[W_PLAYERMOVEEFFECT]
-	cp a,$2B
-	jr z,.next8\@ ; 5966
-	cp a,$27
-	jr z,.next8\@
-	jr .next9\@ ; 596F
-.next8\@
-	xor a
-	ld [$CC5B],a
-	ld a,$A7
-	call $6F07
-.next9\@
-	ld hl,$580A
-	jp $5A37
-.next7\@
-	ld hl,W_PLAYERBATTSTATUS1
-	bit 0,[hl]
-	jr z,.next10\@ ; 59D0
-	xor a
-	ld [W_PLAYERMOVENUM],a
-	ld hl,$D0D7
-	ld a,[hli]
-	ld b,a
-	ld c,[hl]
-	ld hl,$D075
-	ld a,[hl]
-	add c
-	ld [hld],a
-	ld a,[hl]
-	adc b
-	ld [hl],a
-	ld hl,$D06A
-	dec [hl]
-	jr z,.next11\@ ; 599B
-	ld hl,$580A
-	jp $5A37
-.next11\@
-	ld hl,W_PLAYERBATTSTATUS1
-	res 0,[hl]
-	ld hl,UnleashedEnergyText
-	call PrintText
-	ld a,1
-	ld [$CFD4],a
-	ld hl,$D075
-	ld a,[hld]
-	add a
-	ld b,a
-	ld [$D0D8],a
-	ld a,[hl]
-	rl a
-	ld [$D0D7],a
-	or b
-	jr nz,.next12\@ ; 59C2
-	ld a,1
-	ld [W_MOVEMISSED],a
-.next12\@
-	xor a
-	ld [hli],a
-	ld [hl],a
-	ld a,$75
-	ld [W_PLAYERMOVENUM],a
-	ld hl,$5705
-	jp $5A37
-.next10\@
-	bit 1,[hl]
-	jr z,.next13\@ ; 59FF
-	ld a,$25
-	ld [W_PLAYERMOVENUM],a
-	ld hl,ThrashingAboutText
-	call PrintText
-	ld hl,$D06A
-	dec [hl]
-	ld hl,$56DC
-	jp nz,$5A37
-	push hl
-	ld hl,W_PLAYERBATTSTATUS1
-	res 1,[hl]
-	set 7,[hl]
-	call $6E9B ; random number?
-	and a,3
-	inc a
-	inc a
-	ld [$D06B],a
-	pop hl
-	jp $5A37
-.next13\@
-	bit 5,[hl]
-	jp z,$5A1A
-	ld hl,AttackContinuesText
-	call PrintText
-	ld a,[$D06A]
-	dec a
-	ld [$D06A],a
-	ld hl,$5714
-	jp nz,$5A37
-	jp $5A37
-
-INCBIN "baserom.gbc",$3DA1A,$3DA3D - $3DA1A
-
-FastAsleepText:
-	TX_FAR _FastAsleepText
-	db "@"
-
-WokeUpText:
-	TX_FAR _WokeUpText
-	db "@"
-
-FrozenText:
-	TX_FAR _FrozenText
-	db "@"
-
-FullyParalyzedText:
-	TX_FAR _FullyParalyzedText
-	db "@"
-
-FlinchedText:
-	TX_FAR _FlinchedText
-	db "@"
-
-MustRechargeText:
-	TX_FAR _MustRechargeText
-	db "@"
-
-DisabledNoMoreText:
-	TX_FAR _DisabledNoMoreText
-	db "@"
-
-IsConfusedText:
-	TX_FAR _IsConfusedText
-	db "@"
-
-HurtItselfText:
-	TX_FAR _HurtItselfText
-	db "@"
-
-ConfusedNoMoreText:
-	TX_FAR _ConfusedNoMoreText
-	db "@"
-
-SavingEnergyText:
-	TX_FAR _SavingEnergyText
-	db "@"
-
-UnleashedEnergyText:
-	TX_FAR _UnleashedEnergyText
-	db "@"
-
-ThrashingAboutText:
-	TX_FAR _ThrashingAboutText
-	db "@"
-
-AttackContinuesText:
-	TX_FAR _AttackContinuesText
-	db "@"
-
-CantMoveText:
-	TX_FAR _CantMoveText
-	db "@"
-
-INCBIN "baserom.gbc",$3da88,$3daa8 - $3da88
-
-UnnamedText_3daa8: ; 0x3daa8
-	TX_FAR _UnnamedText_3daa8
-	db $50
-; 0x3daa8 + 5 bytes
-
-INCBIN "baserom.gbc",$3daad,$3db6c - $3daad
-
-UnnamedText_3db6c: ; 0x3db6c
-	TX_FAR _UnnamedText_3db6c
-	db $50
-; 0x3db6c + 5 bytes
-
-UnnamedText_3db71: ; 0x3db71
-	TX_FAR _UnnamedText_3db71
-	db $50
-; 0x3db71 + 5 bytes
-
-UnnamedText_3db76: ; 0x3db76
-	TX_FAR _UnnamedText_3db76
-	db $50
-; 0x3db76 + 5 bytes
-
-UnnamedText_3db7b: ; 0x3db7b
-	TX_FAR _UnnamedText_3db7b
-	db $50
-; 0x3db7b + 5 bytes
-
-UnnamedText_3db80: ; 0x3db80
-	TX_FAR _UnnamedText_3db80
-	db $50
-; 0x3db80 + 5 bytes
-
-INCBIN "baserom.gbc",$3db85,$3dc42 - $3db85
-
-UnnamedText_3dc42: ; 0x3dc42
-	TX_FAR _UnnamedText_3dc42
-	db $50
-; 0x3dc42 + 5 bytes
-
-UnnamedText_3dc47: ; 0x3dc47
-	TX_FAR _UnnamedText_3dc47
-	db $50
-; 0x3dc47 + 5 bytes
-
-UnnamedText_3dc4c: ; 0x3dc4c
-	TX_FAR _UnnamedText_3dc4c
-	db $50
-; 0x3dc4c + 5 bytes
-
-INCBIN "baserom.gbc",$3dc51,$3dc57 - $3dc51
-
-UnnamedText_3dc57: ; 0x3dc57
-	TX_FAR _UnnamedText_3dc57
-	db $50
-; 0x3dc57 + 5 bytes
-
-INCBIN "baserom.gbc",$3dc5c,$3dc7e - $3dc5c
-
-UnnamedText_3dc7e: ; 0x3dc7e
-	TX_FAR _UnnamedText_3dc7e
-	db $50
-; 0x3dc7e + 5 bytes
-
-UnnamedText_3dc83: ; 0x3dc83
-	TX_FAR _UnnamedText_3dc83
-	db $50
-; 0x3dc83 + 5 bytes
-
-INCBIN "baserom.gbc",$3dc88,$3ddb6 - $3dc88
-
-UnnamedText_3ddb6: ; 0x3ddb6
-	TX_FAR _UnnamedText_3ddb6
-	db $50
-; 0x3ddb6 + 5 bytes
-
-UnnamedText_3ddbb: ; 0x3ddbb
-	TX_FAR _UnnamedText_3ddbb
-	db $50
-; 0x3ddbb + 5 bytes
-
-UnnamedText_3ddc0: ; 0x3ddc0
-	TX_FAR _UnnamedText_3ddc0
-	db $50
-; 0x3ddc0 + 5 bytes
-
-UnnamedText_3ddc5: ; 0x3ddc5
-	TX_FAR _UnnamedText_3ddc5
-	db $50
-; 0x3ddc5 + 5 bytes
-
-UnnamedText_3ddca: ; 0x3ddca
-	TX_FAR _UnnamedText_3ddca
-	db $50
-; 0x3ddca + 5 bytes
-
-INCBIN "baserom.gbc",$3ddcf,$3e04f - $3ddcf
-
-; azure heights claims "the fastest pokémon (who are,not coincidentally,
-; among the most popular) tend to CH about 20 to 25% of the time."
-CriticalHitProbability: ; 0x3e04f
-	ld a, [hld]                  ; read base power from RAM
-	and a
-	ret z                        ; do nothing if zero
-	dec hl
-	ld c, [hl]                   ; read move id
-	ld a, [de]
-	bit 2, a
-	jr nz, .asm_3e061
-	sla b
-	jr nc, .asm_3e063
-	ld b, $ff
-	jr .asm_3e063
-.asm_3e061
-	srl b
-.asm_3e063
-	ld hl, HighCriticalMoves      ; table of high critical hit moves
-.Loop
-	ld a, [hli]                  ; read move from move table
-	cp c                         ; does it match the move about to be used?
-	jr z, .HighCritical          ; if so, the move about to be used is a high critical hit ratio move 
-	inc a                        ; move on to the next move, FF terminates loop
-	jr nz, .Loop                 ; check the next move in HighCriticalMoves
-	srl b                        ; /2 for regular move (effective 1/512?)
-	jr .SkipHighCritical         ; continue as a normal move
-.HighCritical
-	sla b                        ; *2 for high critical hit moves
-	jr nc, .asm_3e077
-	ld b, $ff                    ; set to FF (max) on overflow
-.asm_3e077
-	sla b                        ; *4 for high critical move (effective 1/64?)
-	jr nc, .SkipHighCritical
-	ld b, $ff
-.SkipHighCritical
-	call $6e9b                   ; probably generates a random value, in "a"
-	rlc a
-	rlc a
-	rlc a
-	cp b                         ; check a against $ff
-	ret nc                       ; no critical hit if no borrow
-	ld a, $1
-	ld [$d05e], a                ; set critical hit flag
-	ret
-; 0x3e08e
-
-; high critical hit moves
-HighCriticalMoves: ; 0x3e08e
-	db KARATE_CHOP
-	db RAZOR_LEAF
-	db CRABHAMMER
-	db SLASH
-	db $FF
-; 0x3e093
-
-; function to determine if Counter hits and if so, how much damage it does
-HandleCounterMove: ; 6093
-	ld a,[H_WHOSETURN] ; whose turn
-	and a
-; player's turn
-	ld hl,W_ENEMYSELECTEDMOVE
-	ld de,W_ENEMYMOVEPOWER
-	ld a,[W_PLAYERSELECTEDMOVE]
-	jr z,.next\@
-; enemy's turn
-	ld hl,W_PLAYERSELECTEDMOVE
-	ld de,W_PLAYERMOVEPOWER
-	ld a,[W_ENEMYSELECTEDMOVE]
-.next\@
-	cp a,COUNTER
-	ret nz ; return if not using Counter
-	ld a,$01
-	ld [W_MOVEMISSED],a ; initialize the move missed variable to true (it is set to false below if the move hits)
-	ld a,[hl]
-	cp a,COUNTER
-	ret z ; if the target also used Counter, miss
-	ld a,[de]
-	and a
-	ret z ; if the move the target used has 0 power, miss
-; check if the move the target used was Normal or Fighting type
-	inc de
-	ld a,[de]
-	and a ; normal type
-	jr z,.counterableType\@
-	cp a,FIGHTING
-	jr z,.counterableType\@
-; if the move wasn't Normal or Fighting type, miss
-	xor a
-	ret
-.counterableType\@
-	ld hl,W_DAMAGE
-	ld a,[hli]
-	or [hl]
-	ret z ; Counter misses if the target did no damage to the Counter user
-; double the damage that the target did to the Counter user
-	ld a,[hl]
-	add a
-	ldd [hl],a
-	ld a,[hl]
-	adc a
-	ld [hl],a
-	jr nc,.noCarry\@
-; damage is capped at 0xFFFF
-	ld a,$ff
-	ld [hli],a
-	ld [hl],a
-.noCarry\@
-	xor a
-	ld [W_MOVEMISSED],a
-	call MoveHitTest ; do the normal move hit test in addition to Counter's special rules
-	xor a
-	ret
-
-ApplyDamageToEnemyPokemon: ; 60DF
-	ld a,[W_PLAYERMOVEEFFECT]
-	cp a,OHKO_EFFECT
-	jr z,.applyDamage\@
-	cp a,SUPER_FANG_EFFECT
-	jr z,.superFangEffect\@
-	cp a,SPECIAL_DAMAGE_EFFECT
-	jr z,.specialDamage\@
-	ld a,[W_PLAYERMOVEPOWER]
-	and a
-	jp z,.done\@
-	jr .applyDamage\@
-.superFangEffect\@
-; set the damage to half the target's HP
-	ld hl,W_ENEMYMONCURHP
-	ld de,W_DAMAGE
-	ld a,[hli]
-	srl a
-	ld [de],a
-	inc de
-	ld b,a
-	ld a,[hl]
-	rr a
-	ld [de],a
-	or b
-	jr nz,.applyDamage\@
-; make sure Super Fang's damage is always at least 1
-	ld a,$01
-	ld [de],a
-	jr .applyDamage\@
-.specialDamage\@
-	ld hl,W_PLAYERMONLEVEL
-	ld a,[hl]
-	ld b,a
-	ld a,[W_PLAYERMOVENUM]
-	cp a,SEISMIC_TOSS
-	jr z,.storeDamage\@
-	cp a,NIGHT_SHADE
-	jr z,.storeDamage\@
-	ld b,SONICBOOM_DAMAGE
-	cp a,SONICBOOM
-	jr z,.storeDamage\@
-	ld b,DRAGON_RAGE_DAMAGE
-	cp a,DRAGON_RAGE
-	jr z,.storeDamage\@
-; Psywave
-	ld a,[hl]
-	ld b,a
-	srl a
-	add b
-	ld b,a ; b = level * 1.5
-; loop until a random number in the range [1, b) is found
-.loop\@
-	call $6e9b ; random number
-	and a
-	jr z,.loop\@
-	cp b
-	jr nc,.loop\@
-	ld b,a
-.storeDamage\@
-	ld hl,W_DAMAGE
-	xor a
-	ld [hli],a
-	ld a,b
-	ld [hl],a
-.applyDamage\@
-	ld hl,W_DAMAGE
-	ld a,[hli]
-	ld b,a
-	ld a,[hl]
-	or b
-	jr z,.done\@ ; we're done if damage is 0
-	ld a,[W_ENEMYBATTSTATUS2]
-	bit 4,a ; does the enemy have a substitute?
-	jp nz,AttackSubstitute
-; subtract the damage from the pokemon's current HP
-; also, save the current HP at $CEEB
-	ld a,[hld]
-	ld b,a
-	ld a,[W_ENEMYMONCURHP + 1]
-	ld [$ceeb],a
-	sub b
-	ld [W_ENEMYMONCURHP + 1],a
-	ld a,[hl]
-	ld b,a
-	ld a,[W_ENEMYMONCURHP]
-	ld [$ceec],a
-	sbc b
-	ld [W_ENEMYMONCURHP],a
-	jr nc,.animateHpBar\@
-; if more damage was done than the current HP, zero the HP and set the damage
-; equal to how much HP the pokemon had before the attack
-	ld a,[$ceec]
-	ld [hli],a
-	ld a,[$ceeb]
-	ld [hl],a
-	xor a
-	ld hl,W_ENEMYMONCURHP
-	ld [hli],a
-	ld [hl],a
-.animateHpBar\@
-	ld hl,W_ENEMYMONMAXHP
-	ld a,[hli]
-	ld [$ceea],a
-	ld a,[hl]
-	ld [$cee9],a
-	ld hl,W_ENEMYMONCURHP
-	ld a,[hli]
-	ld [$ceee],a
-	ld a,[hl]
-	ld [$ceed],a
-	ld hl,$c3ca
-	xor a
-	ld [$cf94],a
-	ld a,$48
-	call Predef ; animate the HP bar shortening
-.done\@
-	jp $4d5a ; redraw pokemon names and HP bars
-
-ApplyDamageToPlayerPokemon: ; 61A0
-	ld a,[W_ENEMYMOVEEFFECT]
-	cp a,OHKO_EFFECT
-	jr z,.applyDamage\@
-	cp a,SUPER_FANG_EFFECT
-	jr z,.superFangEffect\@
-	cp a,SPECIAL_DAMAGE_EFFECT
-	jr z,.specialDamage\@
-	ld a,[W_ENEMYMOVEPOWER]
-	and a
-	jp z,.done\@
-	jr .applyDamage\@
-.superFangEffect\@
-; set the damage to half the target's HP
-	ld hl,W_PLAYERMONCURHP
-	ld de,W_DAMAGE
-	ld a,[hli]
-	srl a
-	ld [de],a
-	inc de
-	ld b,a
-	ld a,[hl]
-	rr a
-	ld [de],a
-	or b
-	jr nz,.applyDamage\@
-; make sure Super Fang's damage is always at least 1
-	ld a,$01
-	ld [de],a
-	jr .applyDamage\@
-.specialDamage\@
-	ld hl,W_ENEMYMONLEVEL
-	ld a,[hl]
-	ld b,a
-	ld a,[W_ENEMYMOVENUM]
-	cp a,SEISMIC_TOSS
-	jr z,.storeDamage\@
-	cp a,NIGHT_SHADE
-	jr z,.storeDamage\@
-	ld b,SONICBOOM_DAMAGE
-	cp a,SONICBOOM
-	jr z,.storeDamage\@
-	ld b,DRAGON_RAGE_DAMAGE
-	cp a,DRAGON_RAGE
-	jr z,.storeDamage\@
-; Psywave
-	ld a,[hl]
-	ld b,a
-	srl a
-	add b
-	ld b,a ; b = attacker's level * 1.5
-; loop until a random number in the range [0, b) is found
-; this differs from the range when the player attacks, which is [1, b)
-; it's possible for the enemy to do 0 damage with Psywave, but the player always does at least 1 damage
-.loop\@
-	call $6e9b ; random number
-	cp b
-	jr nc,.loop\@
-	ld b,a
-.storeDamage\@
-	ld hl,W_DAMAGE
-	xor a
-	ld [hli],a
-	ld a,b
-	ld [hl],a
-.applyDamage\@
-	ld hl,W_DAMAGE
-	ld a,[hli]
-	ld b,a
-	ld a,[hl]
-	or b
-	jr z,.done\@ ; we're done if damage is 0
-	ld a,[W_PLAYERBATTSTATUS2]
-	bit 4,a ; does the player have a substitute?
-	jp nz,AttackSubstitute
-; subtract the damage from the pokemon's current HP
-; also, save the current HP at $CEEB and the new HP at $CEED
-	ld a,[hld]
-	ld b,a
-	ld a,[W_PLAYERMONCURHP + 1]
-	ld [$ceeb],a
-	sub b
-	ld [W_PLAYERMONCURHP + 1],a
-	ld [$ceed],a
-	ld b,[hl]
-	ld a,[W_PLAYERMONCURHP]
-	ld [$ceec],a
-	sbc b
-	ld [W_PLAYERMONCURHP],a
-	ld [$ceee],a
-	jr nc,.animateHpBar\@
-; if more damage was done than the current HP, zero the HP and set the damage
-; equal to how much HP the pokemon had before the attack
-	ld a,[$ceec]
-	ld [hli],a
-	ld a,[$ceeb]
-	ld [hl],a
-	xor a
-	ld hl,W_PLAYERMONCURHP
-	ld [hli],a
-	ld [hl],a
-	ld hl,$ceed
-	ld [hli],a
-	ld [hl],a
-.animateHpBar\@
-	ld hl,W_PLAYERMONMAXHP
-	ld a,[hli]
-	ld [$ceea],a
-	ld a,[hl]
-	ld [$cee9],a
-	ld hl,$c45e
-	ld a,$01
-	ld [$cf94],a
-	ld a,$48
-	call Predef ; animate the HP bar shortening
-.done\@
-	jp $4d5a ; redraw pokemon names and HP bars
-
-AttackSubstitute: ; 625E
-	ld hl,SubstituteTookDamageText
-	call PrintText
-; values for player turn
-	ld de,W_ENEMYSUBSITUTEHP
-	ld bc,W_ENEMYBATTSTATUS2
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.applyDamageToSubstitute\@
-; values for enemy turn
-	ld de,W_PLAYERSUBSITUTEHP
-	ld bc,W_PLAYERBATTSTATUS2
-.applyDamageToSubstitute\@
-	ld hl,W_DAMAGE
-	ld a,[hli]
-	and a
-	jr nz,.substituteBroke\@ ; damage > 0xFF always breaks substitutes
-; subtract damage from HP of substitute
-	ld a,[de]
-	sub [hl]
-	ld [de],a
-	ret nc
-.substituteBroke\@
-	ld h,b
-	ld l,c
-	res 4,[hl] ; unset the substitute bit
-	ld hl,SubstituteBrokeText
-	call PrintText
-; flip whose turn it is for the next function call
-	ld a,[H_WHOSETURN]
-	xor a,$01
-	ld [H_WHOSETURN],a
-	ld hl,$5747
-	ld b,$1e ; animate the substitute breaking
-	call Bankswitch ; substitute
-; flip the turn back to the way it was
-	ld a,[H_WHOSETURN]
-	xor a,$01
-	ld [H_WHOSETURN],a
-	ld hl,W_PLAYERMOVEEFFECT ; value for player's turn
-	and a
-	jr z,.nullifyEffect\@
-	ld hl,W_ENEMYMOVEEFFECT ; value for enemy's turn
-.nullifyEffect\@
-	xor a
-	ld [hl],a ; zero the effect of the attacker's move
-	jp $4d5a ; redraw pokemon names and HP bars
-
-SubstituteTookDamageText: ; 0x3e2ac
-	TX_FAR _SubstituteTookDamageText
-	db $50
-; 0x3e2ac + 5 bytes
-
-SubstituteBrokeText: ; 0x3e2b1
-	TX_FAR _SubstituteBrokeText
-	db $50
-; 0x3e2b1 + 5 bytes
-
-; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked
-HandleBuildingRage: ; 62B6
-; values for the player turn
-	ld hl,W_ENEMYBATTSTATUS2
-	ld de,W_ENEMYMONATTACKMOD
-	ld bc,W_ENEMYMOVENUM
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.next\@
-; values for the enemy turn
-	ld hl,W_PLAYERBATTSTATUS2
-	ld de,W_PLAYERMONATTACKMOD
-	ld bc,W_PLAYERMOVENUM
-.next\@
-	bit 6,[hl] ; is the pokemon being attacked under the effect of Rage?
-	ret z ; return if not
-	ld a,[de]
-	cp a,$0d ; maximum stat modifier value
-	ret z ; return if attack modifier is already maxed
-	ld a,[H_WHOSETURN]
-	xor a,$01 ; flip turn for the stat modifier raising function
-	ld [H_WHOSETURN],a
-; change the target pokemon's move to $00 and the effect to the one
-; that causes the attack modifier to go up one stage
-	ld h,b
-	ld l,c
-	ld [hl],$00 ; null move number
-	inc hl
-	ld [hl],ATTACK_UP1_EFFECT
-	push hl
-	ld hl,BuildingRageText
-	call PrintText
-	call $7428 ; stat modifier raising function
-	pop hl
-	xor a
-	ldd [hl],a ; null move effect
-	ld a,RAGE
-	ld [hl],a ; restore the target pokemon's move number to Rage
-	ld a,[H_WHOSETURN]
-	xor a,$01 ; flip turn back to the way it was
-	ld [H_WHOSETURN],a
-	ret
-
-BuildingRageText: ; 0x3e2f8
-	TX_FAR _BuildingRageText
-	db $50
-; 0x3e2f8 + 5 bytes
-
-; copy last move for Mirror Move
-; sets zero flag on failure and unsets zero flag on success
-MirrorMoveCopyMove: ; 62FD
-	ld a,[H_WHOSETURN]
-	and a
-; values for player turn
-	ld a,[$ccf2]
-	ld hl,W_PLAYERSELECTEDMOVE
-	ld de,W_PLAYERMOVENUM
-	jr z,.next\@
-; values for enemy turn
-	ld a,[$ccf1]
-	ld de,W_ENEMYMOVENUM
-	ld hl,W_ENEMYSELECTEDMOVE
-.next\@
-	ld [hl],a
-	cp a,MIRROR_MOVE ; did the target pokemon also use Mirror Move?
-	jr z,.mirrorMoveFailed\@
-	and a ; null move?
-	jr nz,ReloadMoveData
-.mirrorMoveFailed\@
-; Mirror Move fails on itself and null moves
-	ld hl,MirrorMoveFailedText
-	call PrintText
-	xor a
-	ret
-
-MirrorMoveFailedText: ; 0x3e324
-	TX_FAR _MirrorMoveFailedText
-	db $50
-; 0x3e324 + 5 bytes
-
-; function used to reload move data for moves like Mirror Move and Metronome
-ReloadMoveData: ; 6329
-	ld [$d11e],a
-	dec a
-	ld hl,Moves
-	ld bc,$0006
-	call AddNTimes
-	ld a,BANK(Moves)
-	call FarCopyData ; copy the move's stats
-	call IncrementMovePP
-; the follow two function calls are used to reload the move name
-	call $3058
-	call $3826
-	ld a,$01
-	and a
-	ret
-
-; function that picks a random move for metronome
-MetronomePickMove: ; 6348
-	xor a
-	ld [$cc5b],a
-	ld a,METRONOME
-	call PlayMoveAnimation ; play Metronome's animation
-; values for player turn
-	ld de,W_PLAYERMOVENUM
-	ld hl,W_PLAYERSELECTEDMOVE
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.pickMoveLoop\@
-; values for enemy turn
-	ld de,W_ENEMYMOVENUM
-	ld hl,W_ENEMYSELECTEDMOVE
-; loop to pick a random number in the range [1, $a5) to be the move used by Metronome
-.pickMoveLoop\@
-	call $6e9b ; random number
-	and a
-	jr z,.pickMoveLoop\@
-	cp a,$a5 ; max normal move number + 1 (this is Struggle's move number)
-	jr nc,.pickMoveLoop\@
-	cp a,METRONOME
-	jr z,.pickMoveLoop\@
-	ld [hl],a
-	jr ReloadMoveData
-
-; this function increments the current move's PP
-; it's used to prevent moves that run another move within the same turn
-; (like Mirror Move and Metronome) from losing 2 PP
-IncrementMovePP: ; 6373
-	ld a,[H_WHOSETURN]
-	and a
-; values for player turn
-	ld hl,W_PLAYERMONPP
-	ld de,W_PARTYMON1_MOVE1PP
-	ld a,[W_PLAYERMOVELISTINDEX]
-	jr z,.next\@
-; values for enemy turn
-	ld hl,W_ENEMYMONPP
-	ld de,$d8c1 ; enemy party pokemon 1 PP
-	ld a,[W_ENEMYMOVELISTINDEX]
-.next\@
-	ld b,$00
-	ld c,a
-	add hl,bc
-	inc [hl] ; increment PP in the currently battling pokemon memory location
-	ld h,d
-	ld l,e
-	add hl,bc
-	ld a,[H_WHOSETURN]
-	and a
-	ld a,[W_PLAYERMONNUMBER] ; value for player turn
-	jr z,.next2\@
-	ld a,[W_ENEMYMONNUMBER] ; value for enemy turn
-.next2\@
-	ld bc,$002c
-	call AddNTimes
-	inc [hl] ; increment PP in the party memory location
-	ret
-
-; function to adjust the base damage of an attack to account for type effectiveness
-AdjustDamageForMoveType: ; 63A5
-; values for player turn
-	ld hl,W_PLAYERMONTYPES
-	ld a,[hli]
-	ld b,a    ; b = type 1 of attacker
-	ld c,[hl] ; c = type 2 of attacker
-	ld hl,W_ENEMYMONTYPES
-	ld a,[hli]
-	ld d,a    ; d = type 1 of defender
-	ld e,[hl] ; e = type 2 of defender
-	ld a,[W_PLAYERMOVETYPE]
-	ld [$d11e],a
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.next\@
-; values for enemy turn
-	ld hl,W_ENEMYMONTYPES
-	ld a,[hli]
-	ld b,a    ; b = type 1 of attacker
-	ld c,[hl] ; c = type 2 of attacker
-	ld hl,W_PLAYERMONTYPES
-	ld a,[hli]
-	ld d,a    ; d = type 1 of defender
-	ld e,[hl] ; e = type 2 of defender
-	ld a,[W_ENEMYMOVETYPE]
-	ld [$d11e],a
-.next\@
-	ld a,[$d11e] ; move type
-	cp b ; does the move type match type 1 of the attacker?
-	jr z,.sameTypeAttackBonus\@
-	cp c ; does the move type match type 2 of the attacker?
-	jr z,.sameTypeAttackBonus\@
-	jr .skipSameTypeAttackBonus\@
-.sameTypeAttackBonus\@
-; if the move type matches one of the attacker's types
-	ld hl,W_DAMAGE + 1
-	ld a,[hld]
-	ld h,[hl]
-	ld l,a    ; hl = damage
-	ld b,h
-	ld c,l    ; bc = damage
-	srl b
-	rr c      ; bc = floor(0.5 * damage)
-	add hl,bc ; hl = floor(1.5 * damage)
-; store damage
-	ld a,h
-	ld [W_DAMAGE],a
-	ld a,l
-	ld [W_DAMAGE + 1],a
-	ld hl,$d05b
-	set 7,[hl]
-.skipSameTypeAttackBonus\@
-	ld a,[$d11e]
-	ld b,a ; b = move type
-	ld hl,TypeEffects
-.loop\@
-	ld a,[hli] ; a = "attacking type" of the current type pair
-	cp a,$ff
-	jr z,.done\@
-	cp b ; does move type match "attacking type"?
-	jr nz,.nextTypePair\@
-	ld a,[hl] ; a = "defending type" of the current type pair
-	cp d ; does type 1 of defender match "defending type"?
-	jr z,.matchingPairFound\@
-	cp e ; does type 2 of defender match "defending type"?
-	jr z,.matchingPairFound\@
-	jr .nextTypePair\@
-.matchingPairFound\@
-; if the move type matches the "attacking type" and one of the defender's types matches the "defending type"
-	push hl
-	push bc
-	inc hl
-	ld a,[$d05b]
-	and a,$80
-	ld b,a
-	ld a,[hl] ; a = damage multiplier
-	ld [H_MULTIPLIER],a
-	add b
-	ld [$d05b],a
-	xor a
-	ld [H_MULTIPLICAND],a
-	ld hl,W_DAMAGE
-	ld a,[hli]
-	ld [H_MULTIPLICAND + 1],a
-	ld a,[hld]
-	ld [H_MULTIPLICAND + 2],a
-	call $38ac ; multiply
-	ld a,10
-	ld [H_DIVISOR],a
-	ld b,$04
-	call $38b9 ; divide
-	ld a,[H_QUOTIENT + 2]
-	ld [hli],a
-	ld b,a
-	ld a,[H_QUOTIENT + 3]
-	ld [hl],a
-	or b ; is damage 0?
-	jr nz,.skipTypeImmunity\@
-.typeImmunity\@
-; if damage is 0, make the move miss
-	inc a
-	ld [W_MOVEMISSED],a
-.skipTypeImmunity\@
-	pop bc
-	pop hl
-.nextTypePair\@
-	inc hl
-	inc hl
-	jp .loop\@
-.done\@
-	ret
-
-; function to tell how effective the type of an enemy attack is on the player's current pokemon
-; this doesn't take into account the effects that dual types can have
-; (e.g. 4x weakness / resistance, weaknesses and resistances canceling)
-; the result is stored in [$D11E]
-; ($05 is not very effective, $10 is neutral, $14 is super effective)
-; as far is can tell, this is only used once in some AI code to help decide which move to use
-AIGetTypeEffectiveness: ; 6449
-	ld a,[W_ENEMYMOVETYPE]
-	ld d,a                 ; d = type of enemy move
-	ld hl,W_PLAYERMONTYPES
-	ld b,[hl]              ; b = type 1 of player's pokemon
-	inc hl
-	ld c,[hl]              ; c = type 2 of player's pokemon
-	ld a,$10
-	ld [$d11e],a           ; initialize [$D11E] to neutral effectiveness
-	ld hl,TypeEffects
-.loop\@
-	ld a,[hli]
-	cp a,$ff
-	ret z
-	cp d                   ; match the type of the move
-	jr nz,.nextTypePair1\@
-	ld a,[hli]
-	cp b                   ; match with type 1 of pokemon
-	jr z,.done\@
-	cp c                   ; or match with type 2 of pokemon
-	jr z,.done\@
-	jr .nextTypePair2\@
-.nextTypePair1\@
-	inc hl
-.nextTypePair2\@
-	inc hl
-	jr .loop\@
-.done\@
-	ld a,[hl]
-	ld [$d11e],a           ; store damage multiplier
-	ret
-
-TypeEffects: ; 6474
-; format: attacking type, defending type, damage multiplier
-; the multiplier is a (decimal) fixed-point number:
-;     20 is ×2.0
-;     05 is ×0.5
-;     00 is ×0
-	db WATER,FIRE,20
-	db FIRE,GRASS,20
-	db FIRE,ICE,20
-	db GRASS,WATER,20
-	db ELECTRIC,WATER,20
-	db WATER,ROCK,20
-	db GROUND,FLYING,00
-	db WATER,WATER,05
-	db FIRE,FIRE,05
-	db ELECTRIC,ELECTRIC,05
-	db ICE,ICE,05
-	db GRASS,GRASS,05
-	db PSYCHIC,PSYCHIC,05
-	db FIRE,WATER,05
-	db GRASS,FIRE,05
-	db WATER,GRASS,05
-	db ELECTRIC,GRASS,05
-	db NORMAL,ROCK,05
-	db NORMAL,GHOST,00
-	db GHOST,GHOST,20
-	db FIRE,BUG,20
-	db FIRE,ROCK,05
-	db WATER,GROUND,20
-	db ELECTRIC,GROUND,00
-	db ELECTRIC,FLYING,20
-	db GRASS,GROUND,20
-	db GRASS,BUG,05
-	db GRASS,POISON,05
-	db GRASS,ROCK,20
-	db GRASS,FLYING,05
-	db ICE,WATER,05
-	db ICE,GRASS,20
-	db ICE,GROUND,20
-	db ICE,FLYING,20
-	db FIGHTING,NORMAL,20
-	db FIGHTING,POISON,05
-	db FIGHTING,FLYING,05
-	db FIGHTING,PSYCHIC,05
-	db FIGHTING,BUG,05
-	db FIGHTING,ROCK,20
-	db FIGHTING,ICE,20
-	db FIGHTING,GHOST,00
-	db POISON,GRASS,20
-	db POISON,POISON,05
-	db POISON,GROUND,05
-	db POISON,BUG,20
-	db POISON,ROCK,05
-	db POISON,GHOST,05
-	db GROUND,FIRE,20
-	db GROUND,ELECTRIC,20
-	db GROUND,GRASS,05
-	db GROUND,BUG,05
-	db GROUND,ROCK,20
-	db GROUND,POISON,20
-	db FLYING,ELECTRIC,05
-	db FLYING,FIGHTING,20
-	db FLYING,BUG,20
-	db FLYING,GRASS,20
-	db FLYING,ROCK,05
-	db PSYCHIC,FIGHTING,20
-	db PSYCHIC,POISON,20
-	db BUG,FIRE,05
-	db BUG,GRASS,20
-	db BUG,FIGHTING,05
-	db BUG,FLYING,05
-	db BUG,PSYCHIC,20
-	db BUG,GHOST,05
-	db BUG,POISON,20
-	db ROCK,FIRE,20
-	db ROCK,FIGHTING,05
-	db ROCK,GROUND,05
-	db ROCK,FLYING,20
-	db ROCK,BUG,20
-	db ROCK,ICE,20
-	db GHOST,NORMAL,00
-	db GHOST,PSYCHIC,00
-	db FIRE,DRAGON,05
-	db WATER,DRAGON,05
-	db ELECTRIC,DRAGON,05
-	db GRASS,DRAGON,05
-	db ICE,DRAGON,20
-	db DRAGON,DRAGON,20
-	db $FF
-
-; some tests that need to pass for a move to hit
-MoveHitTest: ; 656B
-; player's turn
-	ld hl,W_ENEMYBATTSTATUS1
-	ld de,W_PLAYERMOVEEFFECT
-	ld bc,W_ENEMYMONSTATUS
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.dreamEaterCheck\@
-; enemy's turn
-	ld hl,W_PLAYERBATTSTATUS1
-	ld de,W_ENEMYMOVEEFFECT
-	ld bc,W_PLAYERMONSTATUS
-.dreamEaterCheck\@
-	ld a,[de]
-	cp a,DREAM_EATER_EFFECT
-	jr nz,.swiftCheck\@
-	ld a,[bc]
-	and a,$07 ; is the target pokemon sleeping?
-	jp z,.moveMissed\@
-.swiftCheck\@
-	ld a,[de]
-	cp a,SWIFT_EFFECT
-	ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true)
-	call $7b79 ; substitute check (note that this overwrites a)
-	jr z,.checkForDigOrFlyStatus\@
-; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes.
-; since $7b79 overwrites a with either $00 or $01, it never works.
-	cp a,DRAIN_HP_EFFECT ; $03
-	jp z,.moveMissed\@
-	cp a,DREAM_EATER_EFFECT ; $08
-	jp z,.moveMissed\@
-.checkForDigOrFlyStatus\@
-	bit 6,[hl]
-	jp nz,.moveMissed\@
-	ld a,[H_WHOSETURN]
-	and a
-	jr nz,.enemyTurn\@
-.playerTurn\@
-; this checks if the move effect is disallowed by mist
-	ld a,[W_PLAYERMOVEEFFECT]
-	cp a,$12
-	jr c,.skipEnemyMistCheck\@
-	cp a,$1a
-	jr c,.enemyMistCheck\@
-	cp a,$3a
-	jr c,.skipEnemyMistCheck\@
-	cp a,$42
-	jr c,.enemyMistCheck\@
-	jr .skipEnemyMistCheck\@
-.enemyMistCheck\@
-; if move effect is from $12 to $19 inclusive or $3a to $41 inclusive
-; i.e. the following moves
-; GROWL, TAIL WHIP, LEER, STRING SHOT, SAND-ATTACK, SMOKESCREEN, KINESIS,
-; FLASH, CONVERSION, HAZE*, SCREECH, LIGHT SCREEN*, REFLECT*
-; the moves that are marked with an asterisk are not affected since this
-; function is not called when those moves are used
-; XXX are there are any others like those three?
-	ld a,[W_ENEMYBATTSTATUS2]
-	bit 1,a
-	jp nz,.moveMissed\@
-.skipEnemyMistCheck\@
-	ld a,[W_PLAYERBATTSTATUS2]
-	bit 0,a ; is the player using X Accuracy?
-	ret nz ; if so, always hit regardless of accuracy/evasion
-	jr .calcHitChance\@
-.enemyTurn\@
-	ld a,[W_ENEMYMOVEEFFECT]
-	cp a,$12
-	jr c,.skipPlayerMistCheck\@
-	cp a,$1a
-	jr c,.playerMistCheck\@
-	cp a,$3a
-	jr c,.skipPlayerMistCheck\@
-	cp a,$42
-	jr c,.playerMistCheck\@
-	jr .skipPlayerMistCheck\@
-.playerMistCheck\@
-; similar to enemy mist check
-	ld a,[W_PLAYERBATTSTATUS2]
-	bit 1,a
-	jp nz,.moveMissed\@
-.skipPlayerMistCheck\@
-	ld a,[W_ENEMYBATTSTATUS2]
-	bit 0,a ; is the enemy using X Accuracy?
-	ret nz ; if so, always hit regardless of accuracy/evasion
-.calcHitChance\@
-	call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion
-	ld a,[W_PLAYERMOVEACCURACY]
-	ld b,a
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.doAccuracyCheck\@
-	ld a,[W_ENEMYMOVEACCURACY]
-	ld b,a
-.doAccuracyCheck\@
-; if the random number generated is greater than or equal to the scaled accuracy, the move misses
-; note that this means that even the highest accuracy is still just a 255/256 chance, not 100%
-	call $6e9b ; random number
-	cp b
-	jr nc,.moveMissed\@
-	ret
-.moveMissed\@
-	xor a
-	ld hl,W_DAMAGE ; zero the damage
-	ld [hli],a
-	ld [hl],a
-	inc a
-	ld [W_MOVEMISSED],a
-	ld a,[H_WHOSETURN]
-	and a
-	jr z,.playerTurn2\@
-.enemyTurn2\@
-	ld hl,W_ENEMYBATTSTATUS1
-	res 5,[hl] ; end multi-turn attack e.g. wrap
-	ret
-.playerTurn2\@
-	ld hl,W_PLAYERBATTSTATUS1
-	res 5,[hl] ; end multi-turn attack e.g. wrap
-	ret
-
-; values for player turn
-CalcHitChance: ; 6624
-	ld hl,W_PLAYERMOVEACCURACY
-	ld a,[H_WHOSETURN]
-	and a
-	ld a,[W_PLAYERMONACCURACYMOD]
-	ld b,a
-	ld a,[W_ENEMYMONEVASIONMOD]
-	ld c,a
-	jr z,.next\@
-; values for enemy turn
-	ld hl,W_ENEMYMOVEACCURACY
-	ld a,[W_ENEMYMONACCURACYMOD]
-	ld b,a
-	ld a,[W_PLAYERMONEVASIONMOD]
-	ld c,a
-.next\@
-	ld a,$0e
-	sub c
-	ld c,a ; c = 14 - EVASIONMOD (this "reflects" the value over 7, so that an increase in the target's evasion decreases the hit chance instead of increasing the hit chance)
-; zero the high bytes of the multiplicand
-	xor a
-	ld [H_MULTIPLICAND],a
-	ld [H_MULTIPLICAND + 1],a
-	ld a,[hl]
-	ld [H_MULTIPLICAND + 2],a ; set multiplicand to move accuracy
-	push hl
-	ld d,$02 ; loop has two iterations
-; loop to do the calculations, the first iteration multiplies by the accuracy ratio and the second iteration multiplies by the evasion ratio
-.loop\@
-	push bc
-	ld hl,$76cb ; stat modifier ratios
-	dec b
-	sla b
-	ld c,b
-	ld b,$00
-	add hl,bc ; hl = address of stat modifier ratio
-	pop bc
-	ld a,[hli]
-	ld [H_MULTIPLIER],a ; set multiplier to the numerator of the ratio
-	call $38ac ; multiply
-	ld a,[hl]
-	ld [H_DIVISOR],a ; set divisor to the the denominator of the ratio (the dividend is the product of the previous multiplication)
-	ld b,$04 ; number of significant bytes in the dividend
-	call $38b9 ; divide
-	ld a,[H_QUOTIENT + 3]
-	ld b,a
-	ld a,[H_QUOTIENT + 2]
-	or b
-	jp nz,.nextCalculation\@
-; make sure the result is always at least one
-	ld [H_QUOTIENT + 2],a
-	ld a,$01
-	ld [H_QUOTIENT + 3],a
-.nextCalculation\@
-	ld b,c
-	dec d
-	jr nz,.loop\@
-	ld a,[H_QUOTIENT + 2]
-	and a ; is the calculated hit chance over 0xFF?
-	ld a,[H_QUOTIENT + 3]
-	jr z,.storeAccuracy\@
-; if calculated hit chance over 0xFF
-	ld a,$ff ; set the hit chance to 0xFF
-.storeAccuracy\@
-	pop hl
-	ld [hl],a ; store the hit chance in the move accuracy variable
-	ret
-
-INCBIN "baserom.gbc",$3e687,$3e887 - $3e687
-
-UnnamedText_3e887: ; 0x3e887
-	TX_FAR _UnnamedText_3e887
-	db $50
-; 0x3e887 + 5 bytes
-
-INCBIN "baserom.gbc",$3e88c,$67b
-
-PlayMoveAnimation: ; 6F07
-	ld [$D07C],a
-	call Delay3
-	ld a,8
-	jp Predef
-
-INCBIN "baserom.gbc",$3ef12,$3f245 - $3ef12
-
-UnnamedText_3f245: ; 0x3f245
-	TX_FAR _UnnamedText_3f245
-	db $50
-; 0x3f245 + 5 bytes
-
-UnnamedText_3f24a: ; 0x3f24a
-	TX_FAR _UnnamedText_3f24a
-	db $50
-; 0x3f24a + 5 bytes
-
-INCBIN "baserom.gbc",$3f24f,$3f2df - $3f24f
-
-UnnamedText_3f2df: ; 0x3f2df
-	TX_FAR _UnnamedText_3f2df
-	db $50
-; 0x3f2df + 5 bytes
-
-UnnamedText_3f2e4: ; 0x3f2e4
-	TX_FAR _UnnamedText_3f2e4
-	db $50
-; 0x3f2e4 + 5 bytes
-
-INCBIN "baserom.gbc",$3f2e9,$3f3d8 - $3f2e9
-
-UnnamedText_3f3d8: ; 0x3f3d8
-	TX_FAR _UnnamedText_3f3d8
-	db $50
-; 0x3f3d8 + 5 bytes
-
-UnnamedText_3f3dd: ; 0x3f3dd
-	TX_FAR _UnnamedText_3f3dd
-	db $50
-; 0x3f3dd + 5 bytes
-
-INCBIN "baserom.gbc",$3f3e2,$3f423 - $3f3e2
-
-UnnamedText_3f423: ; 0x3f423
-	TX_FAR _UnnamedText_3f423
-	db $50
-; 0x3f423 + 5 bytes
-
-INCBIN "baserom.gbc",$3f428,$3f547 - $3f428
-
-UnnamedText_3f547: ; 0x3f547
-	TX_FAR _UnnamedText_3f547
-	db $50
-; 0x3f547 + 5 bytes
-
-INCBIN "baserom.gbc",$3f54c,$3f683 - $3f54c
-
-UnnamedText_3f683: ; 0x3f683
-	TX_FAR _UnnamedText_3f683
-	db $50
-; 0x3f683 + 5 bytes
-
-INCBIN "baserom.gbc",$3f688,$3f802 - $3f688
-
-UnnamedText_3f802: ; 0x3f802
-	TX_FAR _UnnamedText_3f802
-	db $50
-; 0x3f802 + 5 bytes
-
-UnnamedText_3f807: ; 0x3f807
-	TX_FAR _UnnamedText_3f807
-	db $50
-; 0x3f807 + 5 bytes
-
-UnnamedText_3f80c: ; 0x3f80c
-	TX_FAR _UnnamedText_3f80c
-	db $50
-; 0x3f80c + 5 bytes
-
-INCBIN "baserom.gbc",$3f811,$3f8f9 - $3f811
-
-UnnamedText_3f8f9: ; 0x3f8f9
-	TX_FAR _UnnamedText_3f8f9
-	db $50
-; 0x3f8f9 + 5 bytes
-
-UnnamedText_3f8fe: ; 0x3f8fe
-	TX_FAR _UnnamedText_3f8fe
-	db $50
-; 0x3f8fe + 5 bytes
-
-UnnamedText_3f903: ; 0x3f903
-	TX_FAR _UnnamedText_3f903
-	db $50
-; 0x3f903 + 5 bytes
-
-UnnamedText_3f908: ; 0x3f908
-	TX_FAR _UnnamedText_3f908
-	db $50
-; 0x3f908 + 5 bytes
-
-UnnamedText_3f90d: ; 0x3f90d
-	TX_FAR _UnnamedText_3f90d
-	db $50
-; 0x3f90d + 5 bytes
-
-UnnamedText_3f912: ; 0x3f912
-	TX_FAR _UnnamedText_3f912
-	db $50
-; 0x3f912 + 5 bytes
-
-INCBIN "baserom.gbc",$3f917,$3f9a1 - $3f917
-
-UnnamedText_3f9a1: ; 0x3f9a1
-	TX_FAR _UnnamedText_3f9a1
-	db $50
-; 0x3f9a1 + 5 bytes
-
-INCBIN "baserom.gbc",$3f9a6,$3fa77 - $3f9a6
-
-UnnamedText_3fa77: ; 0x3fa77
-	TX_FAR _UnnamedText_3fa77
-	db $50
-; 0x3fa77 + 5 bytes
-
-INCBIN "baserom.gbc",$3fa7c,$3fb09 - $3fa7c
-
-UnnamedText_3fb09: ; 0x3fb09
-	TX_FAR _UnnamedText_3fb09
-	db $50
-; 0x3fb09 + 5 bytes
-
-INCBIN "baserom.gbc",$3fb0e,$3fb3e - $3fb0e
-
-UnnamedText_3fb3e: ; 0x3fb3e
-	TX_FAR _UnnamedText_3fb3e
-	db $50
-; 0x3fb3e + 5 bytes
-
-INCBIN "baserom.gbc",$3fb43,$3fb49 - $3fb43
-
-UnnamedText_3fb49: ; 0x3fb49
-	TX_FAR _UnnamedText_3fb49
-	db $50
-; 0x3fb49 + 5 bytes
-
-INCBIN "baserom.gbc",$3fb4e,$3fb59 - $3fb4e
-
-UnnamedText_3fb59: ; 0x3fb59
-	TX_FAR _UnnamedText_3fb59
-	db $50
-; 0x3fb59 + 5 bytes
-
-INCBIN "baserom.gbc",$3fb5e,$3fb64 - $3fb5e
-
-UnnamedText_3fb64: ; 0x3fb64
-	TX_FAR _UnnamedText_3fb64
-	db $50
-; 0x3fb64 + 5 bytes
-
-UnnamedText_3fb69: ; 0x3fb69
-	TX_FAR _UnnamedText_3fb69
-	db $50
-; 0x3fb69 + 5 bytes
-
-INCBIN "baserom.gbc",$3fb6e,$3fb74 - $3fb6e
-
-UnnamedText_3fb74: ; 0x3fb74
-	TX_FAR _UnnamedText_3fb74
-	db $50
-; 0x3fb74 + 5 bytes
-
-INCBIN "baserom.gbc",$3fb79,$487
-
-SECTION "bank10",DATA,BANK[$10]
-
-INCBIN "baserom.gbc",$40000,$47E
-
-PokedexEntryPointers: ; 447E
-	dw RhydonDexEntry
-	dw KangaskhanDexEntry
-	dw NidoranMDexEntry
-	dw ClefairyDexEntry
-	dw SpearowDexEntry
-	dw VoltorbDexEntry
-	dw NidokingDexEntry
-	dw SlowbroDexEntry
-	dw IvysaurDexEntry
-	dw ExeggutorDexEntry
-	dw LickitungDexEntry
-	dw ExeggcuteDexEntry
-	dw GrimerDexEntry
-	dw GengarDexEntry
-	dw NidoranFDexEntry
-	dw NidoqueenDexEntry
-	dw CuboneDexEntry
-	dw RhyhornDexEntry
-	dw LaprasDexEntry
-	dw ArcanineDexEntry
-	dw MewDexEntry
-	dw GyaradosDexEntry
-	dw ShellderDexEntry
-	dw TentacoolDexEntry
-	dw GastlyDexEntry
-	dw ScytherDexEntry
-	dw StaryuDexEntry
-	dw BlastoiseDexEntry
-	dw PinsirDexEntry
-	dw TangelaDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw GrowlitheDexEntry
-	dw OnixDexEntry
-	dw FearowDexEntry
-	dw PidgeyDexEntry
-	dw SlowpokeDexEntry
-	dw KadabraDexEntry
-	dw GravelerDexEntry
-	dw ChanseyDexEntry
-	dw MachokeDexEntry
-	dw MrMimeDexEntry
-	dw HitmonleeDexEntry
-	dw HitmonchanDexEntry
-	dw ArbokDexEntry
-	dw ParasectDexEntry
-	dw PsyduckDexEntry
-	dw DrowzeeDexEntry
-	dw GolemDexEntry
-	dw MissingNoDexEntry
-	dw MagmarDexEntry
-	dw MissingNoDexEntry
-	dw ElectabuzzDexEntry
-	dw MagnetonDexEntry
-	dw KoffingDexEntry
-	dw MissingNoDexEntry
-	dw MankeyDexEntry
-	dw SeelDexEntry
-	dw DiglettDexEntry
-	dw TaurosDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw FarfetchdDexEntry
-	dw VenonatDexEntry
-	dw DragoniteDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw DoduoDexEntry
-	dw PoliwagDexEntry
-	dw JynxDexEntry
-	dw MoltresDexEntry
-	dw ArticunoDexEntry
-	dw ZapdosDexEntry
-	dw DittoDexEntry
-	dw MeowthDexEntry
-	dw KrabbyDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw VulpixDexEntry
-	dw NinetalesDexEntry
-	dw PikachuDexEntry
-	dw RaichuDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw DratiniDexEntry
-	dw DragonairDexEntry
-	dw KabutoDexEntry
-	dw KabutopsDexEntry
-	dw HorseaDexEntry
-	dw SeadraDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw SandshrewDexEntry
-	dw SandslashDexEntry
-	dw OmanyteDexEntry
-	dw OmastarDexEntry
-	dw JigglypuffDexEntry
-	dw WigglytuffDexEntry
-	dw EeveeDexEntry
-	dw FlareonDexEntry
-	dw JolteonDexEntry
-	dw VaporeonDexEntry
-	dw MachopDexEntry
-	dw ZubatDexEntry
-	dw EkansDexEntry
-	dw ParasDexEntry
-	dw PoliwhirlDexEntry
-	dw PoliwrathDexEntry
-	dw WeedleDexEntry
-	dw KakunaDexEntry
-	dw BeedrillDexEntry
-	dw MissingNoDexEntry
-	dw DodrioDexEntry
-	dw PrimeapeDexEntry
-	dw DugtrioDexEntry
-	dw VenomothDexEntry
-	dw DewgongDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw CaterpieDexEntry
-	dw MetapodDexEntry
-	dw ButterfreeDexEntry
-	dw MachampDexEntry
-	dw MissingNoDexEntry
-	dw GolduckDexEntry
-	dw HypnoDexEntry
-	dw GolbatDexEntry
-	dw MewtwoDexEntry
-	dw SnorlaxDexEntry
-	dw MagikarpDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MukDexEntry
-	dw MissingNoDexEntry
-	dw KinglerDexEntry
-	dw CloysterDexEntry
-	dw MissingNoDexEntry
-	dw ElectrodeDexEntry
-	dw ClefableDexEntry
-	dw WeezingDexEntry
-	dw PersianDexEntry
-	dw MarowakDexEntry
-	dw MissingNoDexEntry
-	dw HaunterDexEntry
-	dw AbraDexEntry
-	dw AlakazamDexEntry
-	dw PidgeottoDexEntry
-	dw PidgeotDexEntry
-	dw StarmieDexEntry
-	dw BulbasaurDexEntry
-	dw VenusaurDexEntry
-	dw TentacruelDexEntry
-	dw MissingNoDexEntry
-	dw GoldeenDexEntry
-	dw SeakingDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw PonytaDexEntry
-	dw RapidashDexEntry
-	dw RattataDexEntry
-	dw RaticateDexEntry
-	dw NidorinoDexEntry
-	dw NidorinaDexEntry
-	dw GeodudeDexEntry
-	dw PorygonDexEntry
-	dw AerodactylDexEntry
-	dw MissingNoDexEntry
-	dw MagnemiteDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw CharmanderDexEntry
-	dw SquirtleDexEntry
-	dw CharmeleonDexEntry
-	dw WartortleDexEntry
-	dw CharizardDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw MissingNoDexEntry
-	dw OddishDexEntry
-	dw GloomDexEntry
-	dw VileplumeDexEntry
-	dw BellsproutDexEntry
-	dw WeepinbellDexEntry
-	dw VictreebelDexEntry
-
-; string: species name
-; height in feet, inches
-; weight in pounds
-; text entry
-
-RhydonDexEntry:
-	db "DRILL@"
-	db 6,3
-	dw 2650
-	TX_FAR _RhydonDexEntry
-	db "@"
-
-KangaskhanDexEntry:
-	db "PARENT@"
-	db 7,3
-	dw 1760
-	TX_FAR _KangaskhanDexEntry
-	db "@"
-
-NidoranMDexEntry:
-	db "POISON PIN@"
-	db 1,8
-	dw 200
-	TX_FAR _NidoranMDexEntry
-	db "@"
-
-ClefairyDexEntry:
-	db "FAIRY@"
-	db 2,0
-	dw 170
-	TX_FAR _ClefairyDexEntry
-	db "@"
-
-SpearowDexEntry:
-	db "TINY BIRD@"
-	db 1,0
-	dw 40
-	TX_FAR _SpearowDexEntry
-	db "@"
-
-VoltorbDexEntry:
-	db "BALL@"
-	db 1,8
-	dw 230
-	TX_FAR _VoltorbDexEntry
-	db "@"
-
-NidokingDexEntry:
-	db "DRILL@"
-	db 4,7
-	dw 1370
-	TX_FAR _NidokingDexEntry
-	db "@"
-
-SlowbroDexEntry:
-	db "HERMITCRAB@"
-	db 5,3
-	dw 1730
-	TX_FAR _SlowbroDexEntry
-	db "@"
-
-IvysaurDexEntry:
-	db "SEED@"
-	db 3,3
-	dw 290
-	TX_FAR _IvysaurDexEntry
-	db "@"
-
-ExeggutorDexEntry:
-	db "COCONUT@"
-	db 6,7
-	dw 2650
-	TX_FAR _ExeggutorDexEntry
-	db "@"
-
-LickitungDexEntry:
-	db "LICKING@"
-	db 3,11
-	dw 1440
-	TX_FAR _LickitungDexEntry
-	db "@"
-
-ExeggcuteDexEntry:
-	db "EGG@"
-	db 1,4
-	dw 60
-	TX_FAR _ExeggcuteDexEntry
-	db "@"
-
-GrimerDexEntry:
-	db "SLUDGE@"
-	db 2,11
-	dw 660
-	TX_FAR _GrimerDexEntry
-	db "@"
-
-GengarDexEntry:
-	db "SHADOW@"
-	db 4,11
-	dw 890
-	TX_FAR _GengarDexEntry
-	db "@"
-
-NidoranFDexEntry:
-	db "POISON PIN@"
-	db 1,4
-	dw 150
-	TX_FAR _NidoranFDexEntry
-	db "@"
-
-NidoqueenDexEntry:
-	db "DRILL@"
-	db 4,3
-	dw 1320
-	TX_FAR _NidoqueenDexEntry
-	db "@"
-
-CuboneDexEntry:
-	db "LONELY@"
-	db 1,4
-	dw 140
-	TX_FAR _CuboneDexEntry
-	db "@"
-
-RhyhornDexEntry:
-	db "SPIKES@"
-	db 3,3
-	dw 2540
-	TX_FAR _RhyhornDexEntry
-	db "@"
-
-LaprasDexEntry:
-	db "TRANSPORT@"
-	db 8,2
-	dw 4850
-	TX_FAR _LaprasDexEntry
-	db "@"
-
-ArcanineDexEntry:
-	db "LEGENDARY@"
-	db 6,3
-	dw 3420
-	TX_FAR _ArcanineDexEntry
-	db "@"
-
-MewDexEntry:
-	db "NEW SPECIE@"
-	db 1,4
-	dw 90
-	TX_FAR _MewDexEntry
-	db "@"
-
-GyaradosDexEntry:
-	db "ATROCIOUS@"
-	db 21,4
-	dw 5180
-	TX_FAR _GyaradosDexEntry
-	db "@"
-
-ShellderDexEntry:
-	db "BIVALVE@"
-	db 1,0
-	dw 90
-	TX_FAR _ShellderDexEntry
-	db "@"
-
-TentacoolDexEntry:
-	db "JELLYFISH@"
-	db 2,11
-	dw 1000
-	TX_FAR _TentacoolDexEntry
-	db "@"
-
-GastlyDexEntry:
-	db "GAS@"
-	db 4,3
-	dw 2
-	TX_FAR _GastlyDexEntry
-	db "@"
-
-ScytherDexEntry:
-	db "MANTIS@"
-	db 4,11
-	dw 1230
-	TX_FAR _ScytherDexEntry
-	db "@"
-
-StaryuDexEntry:
-	db "STARSHAPE@"
-	db 2,7
-	dw 760
-	TX_FAR _StaryuDexEntry
-	db "@"
-
-BlastoiseDexEntry:
-	db "SHELLFISH@"
-	db 5,3
-	dw 1890
-	TX_FAR _BlastoiseDexEntry
-	db "@"
-
-PinsirDexEntry:
-	db "STAGBEETLE@"
-	db 4,11
-	dw 1210
-	TX_FAR _PinsirDexEntry
-	db "@"
-
-TangelaDexEntry:
-	db "VINE@"
-	db 3,3
-	dw 770
-	TX_FAR _TangelaDexEntry
-	db "@"
-
-GrowlitheDexEntry:
-	db "PUPPY@"
-	db 2,4
-	dw 420
-	TX_FAR _GrowlitheDexEntry
-	db "@"
-
-OnixDexEntry:
-	db "ROCK SNAKE@"
-	db 28,10
-	dw 4630
-	TX_FAR _OnixDexEntry
-	db "@"
-
-FearowDexEntry:
-	db "BEAK@"
-	db 3,11
-	dw 840
-	TX_FAR _FearowDexEntry
-	db "@"
-
-PidgeyDexEntry:
-	db "TINY BIRD@"
-	db 1,0
-	dw 40
-	TX_FAR _PidgeyDexEntry
-	db "@"
-
-SlowpokeDexEntry:
-	db "DOPEY@"
-	db 3,11
-	dw 790
-	TX_FAR _SlowpokeDexEntry
-	db "@"
-
-KadabraDexEntry:
-	db "PSI@"
-	db 4,3
-	dw 1250
-	TX_FAR _KadabraDexEntry
-	db "@"
-
-GravelerDexEntry:
-	db "ROCK@"
-	db 3,3
-	dw 2320
-	TX_FAR _GravelerDexEntry
-	db "@"
-
-ChanseyDexEntry:
-	db "EGG@"
-	db 3,7
-	dw 760
-	TX_FAR _ChanseyDexEntry
-	db "@"
-
-MachokeDexEntry:
-	db "SUPERPOWER@"
-	db 4,11
-	dw 1550
-	TX_FAR _MachokeDexEntry
-	db "@"
-
-MrMimeDexEntry:
-	db "BARRIER@"
-	db 4,3
-	dw 1200
-	TX_FAR _MrMimeDexEntry
-	db "@"
-
-HitmonleeDexEntry:
-	db "KICKING@"
-	db 4,11
-	dw 1100
-	TX_FAR _HitmonleeDexEntry
-	db "@"
-
-HitmonchanDexEntry:
-	db "PUNCHING@"
-	db 4,7
-	dw 1110
-	TX_FAR _HitmonchanDexEntry
-	db "@"
-
-ArbokDexEntry:
-	db "COBRA@"
-	db 11,6
-	dw 1430
-	TX_FAR _ArbokDexEntry
-	db "@"
-
-ParasectDexEntry:
-	db "MUSHROOM@"
-	db 3,3
-	dw 650
-	TX_FAR _ParasectDexEntry
-	db "@"
-
-PsyduckDexEntry:
-	db "DUCK@"
-	db 2,7
-	dw 430
-	TX_FAR _PsyduckDexEntry
-	db "@"
-
-DrowzeeDexEntry:
-	db "HYPNOSIS@"
-	db 3,3
-	dw 710
-	TX_FAR _DrowzeeDexEntry
-	db "@"
-
-GolemDexEntry:
-	db "MEGATON@"
-	db 4,7
-	dw 6620
-	TX_FAR _GolemDexEntry
-	db "@"
-
-MagmarDexEntry:
-	db "SPITFIRE@"
-	db 4,3
-	dw 980
-	TX_FAR _MagmarDexEntry
-	db "@"
-
-ElectabuzzDexEntry:
-	db "ELECTRIC@"
-	db 3,7
-	dw 660
-	TX_FAR _ElectabuzzDexEntry
-	db "@"
-
-MagnetonDexEntry:
-	db "MAGNET@"
-	db 3,3
-	dw 1320
-	TX_FAR _MagnetonDexEntry
-	db "@"
-
-KoffingDexEntry:
-	db "POISON GAS@"
-	db 2,0
-	dw 20
-	TX_FAR _KoffingDexEntry
-	db "@"
-
-MankeyDexEntry:
-	db "PIG MONKEY@"
-	db 1,8
-	dw 620
-	TX_FAR _MankeyDexEntry
-	db "@"
-
-SeelDexEntry:
-	db "SEA LION@"
-	db 3,7
-	dw 1980
-	TX_FAR _SeelDexEntry
-	db "@"
-
-DiglettDexEntry:
-	db "MOLE@"
-	db 0,8
-	dw 20
-	TX_FAR _DiglettDexEntry
-	db "@"
-
-TaurosDexEntry:
-	db "WILD BULL@"
-	db 4,7
-	dw 1950
-	TX_FAR _TaurosDexEntry
-	db "@"
-
-FarfetchdDexEntry:
-	db "WILD DUCK@"
-	db 2,7
-	dw 330
-	TX_FAR _FarfetchdDexEntry
-	db "@"
-
-VenonatDexEntry:
-	db "INSECT@"
-	db 3,3
-	dw 660
-	TX_FAR _VenonatDexEntry
-	db "@"
-
-DragoniteDexEntry:
-	db "DRAGON@"
-	db 7,3
-	dw 4630
-	TX_FAR _DragoniteDexEntry
-	db "@"
-
-DoduoDexEntry:
-	db "TWIN BIRD@"
-	db 4,7
-	dw 860
-	TX_FAR _DoduoDexEntry
-	db "@"
-
-PoliwagDexEntry:
-	db "TADPOLE@"
-	db 2,0
-	dw 270
-	TX_FAR _PoliwagDexEntry
-	db "@"
-
-JynxDexEntry:
-	db "HUMANSHAPE@"
-	db 4,7
-	dw 900
-	TX_FAR _JynxDexEntry
-	db "@"
-
-MoltresDexEntry:
-	db "FLAME@"
-	db 6,7
-	dw 1320
-	TX_FAR _MoltresDexEntry
-	db "@"
-
-ArticunoDexEntry:
-	db "FREEZE@"
-	db 5,7
-	dw 1220
-	TX_FAR _ArticunoDexEntry
-	db "@"
-
-ZapdosDexEntry:
-	db "ELECTRIC@"
-	db 5,3
-	dw 1160
-	TX_FAR _ZapdosDexEntry
-	db "@"
-
-DittoDexEntry:
-	db "TRANSFORM@"
-	db 1,0
-	dw 90
-	TX_FAR _DittoDexEntry
-	db "@"
-
-MeowthDexEntry:
-	db "SCRATCHCAT@"
-	db 1,4
-	dw 90
-	TX_FAR _MeowthDexEntry
-	db "@"
-
-KrabbyDexEntry:
-	db "RIVER CRAB@"
-	db 1,4
-	dw 140
-	TX_FAR _KrabbyDexEntry
-	db "@"
-
-VulpixDexEntry:
-	db "FOX@"
-	db 2,0
-	dw 220
-	TX_FAR _VulpixDexEntry
-	db "@"
-
-NinetalesDexEntry:
-	db "FOX@"
-	db 3,7
-	dw 440
-	TX_FAR _NinetalesDexEntry
-	db "@"
-
-PikachuDexEntry:
-	db "MOUSE@"
-	db 1,4
-	dw 130
-	TX_FAR _PikachuDexEntry
-	db "@"
-
-RaichuDexEntry:
-	db "MOUSE@"
-	db 2,7
-	dw 660
-	TX_FAR _RaichuDexEntry
-	db "@"
-
-DratiniDexEntry:
-	db "DRAGON@"
-	db 5,11
-	dw 70
-	TX_FAR _DratiniDexEntry
-	db "@"
-
-DragonairDexEntry:
-	db "DRAGON@"
-	db 13,1
-	dw 360
-	TX_FAR _DragonairDexEntry
-	db "@"
-
-KabutoDexEntry:
-	db "SHELLFISH@"
-	db 1,8
-	dw 250
-	TX_FAR _KabutoDexEntry
-	db "@"
-
-KabutopsDexEntry:
-	db "SHELLFISH@"
-	db 4,3
-	dw 890
-	TX_FAR _KabutopsDexEntry
-	db "@"
-
-HorseaDexEntry:
-	db "DRAGON@"
-	db 1,4
-	dw 180
-	TX_FAR _HorseaDexEntry
-	db "@"
-
-SeadraDexEntry:
-	db "DRAGON@"
-	db 3,11
-	dw 550
-	TX_FAR _SeadraDexEntry
-	db "@"
-
-SandshrewDexEntry:
-	db "MOUSE@"
-	db 2,0
-	dw 260
-	TX_FAR _SandshrewDexEntry
-	db "@"
-
-SandslashDexEntry:
-	db "MOUSE@"
-	db 3,3
-	dw 650
-	TX_FAR _SandslashDexEntry
-	db "@"
-
-OmanyteDexEntry:
-	db "SPIRAL@"
-	db 1,4
-	dw 170
-	TX_FAR _OmanyteDexEntry
-	db "@"
-
-OmastarDexEntry:
-	db "SPIRAL@"
-	db 3,3
-	dw 770
-	TX_FAR _OmastarDexEntry
-	db "@"
-
-JigglypuffDexEntry:
-	db "BALLOON@"
-	db 1,8
-	dw 120
-	TX_FAR _JigglypuffDexEntry
-	db "@"
-
-WigglytuffDexEntry:
-	db "BALLOON@"
-	db 3,3
-	dw 260
-	TX_FAR _WigglytuffDexEntry
-	db "@"
-
-EeveeDexEntry:
-	db "EVOLUTION@"
-	db 1,0
-	dw 140
-	TX_FAR _EeveeDexEntry
-	db "@"
-
-FlareonDexEntry:
-	db "FLAME@"
-	db 2,11
-	dw 550
-	TX_FAR _FlareonDexEntry
-	db "@"
-
-JolteonDexEntry:
-	db "LIGHTNING@"
-	db 2,7
-	dw 540
-	TX_FAR _JolteonDexEntry
-	db "@"
-
-VaporeonDexEntry:
-	db "BUBBLE JET@"
-	db 3,3
-	dw 640
-	TX_FAR _VaporeonDexEntry
-	db "@"
-
-MachopDexEntry:
-	db "SUPERPOWER@"
-	db 2,7
-	dw 430
-	TX_FAR _MachopDexEntry
-	db "@"
-
-ZubatDexEntry:
-	db "BAT@"
-	db 2,7
-	dw 170
-	TX_FAR _ZubatDexEntry
-	db "@"
-
-EkansDexEntry:
-	db "SNAKE@"
-	db 6,7
-	dw 150
-	TX_FAR _EkansDexEntry
-	db "@"
-
-ParasDexEntry:
-	db "MUSHROOM@"
-	db 1,0
-	dw 120
-	TX_FAR _ParasDexEntry
-	db "@"
-
-PoliwhirlDexEntry:
-	db "TADPOLE@"
-	db 3,3
-	dw 440
-	TX_FAR _PoliwhirlDexEntry
-	db "@"
-
-PoliwrathDexEntry:
-	db "TADPOLE@"
-	db 4,3
-	dw 1190
-	TX_FAR _PoliwrathDexEntry
-	db "@"
-
-WeedleDexEntry:
-	db "HAIRY BUG@"
-	db 1,0
-	dw 70
-	TX_FAR _WeedleDexEntry
-	db "@"
-
-KakunaDexEntry:
-	db "COCOON@"
-	db 2,0
-	dw 220
-	TX_FAR _KakunaDexEntry
-	db "@"
-
-BeedrillDexEntry:
-	db "POISON BEE@"
-	db 3,3
-	dw 650
-	TX_FAR _BeedrillDexEntry
-	db "@"
-
-DodrioDexEntry:
-	db "TRIPLEBIRD@"
-	db 5,11
-	dw 1880
-	TX_FAR _DodrioDexEntry
-	db "@"
-
-PrimeapeDexEntry:
-	db "PIG MONKEY@"
-	db 3,3
-	dw 710
-	TX_FAR _PrimeapeDexEntry
-	db "@"
-
-DugtrioDexEntry:
-	db "MOLE@"
-	db 2,4
-	dw 730
-	TX_FAR _DugtrioDexEntry
-	db "@"
-
-VenomothDexEntry:
-	db "POISONMOTH@"
-	db 4,11
-	dw 280
-	TX_FAR _VenomothDexEntry
-	db "@"
-
-DewgongDexEntry:
-	db "SEA LION@"
-	db 5,7
-	dw 2650
-	TX_FAR _DewgongDexEntry
-	db "@"
-
-CaterpieDexEntry:
-	db "WORM@"
-	db 1,0
-	dw 60
-	TX_FAR _CaterpieDexEntry
-	db "@"
-
-MetapodDexEntry:
-	db "COCOON@"
-	db 2,4
-	dw 220
-	TX_FAR _MetapodDexEntry
-	db "@"
-
-ButterfreeDexEntry:
-	db "BUTTERFLY@"
-	db 3,7
-	dw 710
-	TX_FAR _ButterfreeDexEntry
-	db "@"
-
-MachampDexEntry:
-	db "SUPERPOWER@"
-	db 5,3
-	dw 2870
-	TX_FAR _MachampDexEntry
-	db "@"
-
-GolduckDexEntry:
-	db "DUCK@"
-	db 5,7
-	dw 1690
-	TX_FAR _GolduckDexEntry
-	db "@"
-
-HypnoDexEntry:
-	db "HYPNOSIS@"
-	db 5,3
-	dw 1670
-	TX_FAR _HypnoDexEntry
-	db "@"
-
-GolbatDexEntry:
-	db "BAT@"
-	db 5,3
-	dw 1210
-	TX_FAR _GolbatDexEntry
-	db "@"
-
-MewtwoDexEntry:
-	db "GENETIC@"
-	db 6,7
-	dw 2690
-	TX_FAR _MewtwoDexEntry
-	db "@"
-
-SnorlaxDexEntry:
-	db "SLEEPING@"
-	db 6,11
-	dw 10140
-	TX_FAR _SnorlaxDexEntry
-	db "@"
-
-MagikarpDexEntry:
-	db "FISH@"
-	db 2,11
-	dw 220
-	TX_FAR _MagikarpDexEntry
-	db "@"
-
-MukDexEntry:
-	db "SLUDGE@"
-	db 3,11
-	dw 660
-	TX_FAR _MukDexEntry
-	db "@"
-
-KinglerDexEntry:
-	db "PINCER@"
-	db 4,3
-	dw 1320
-	TX_FAR _KinglerDexEntry
-	db "@"
-
-CloysterDexEntry:
-	db "BIVALVE@"
-	db 4,11
-	dw 2920
-	TX_FAR _CloysterDexEntry
-	db "@"
-
-ElectrodeDexEntry:
-	db "BALL@"
-	db 3,11
-	dw 1470
-	TX_FAR _ElectrodeDexEntry
-	db "@"
-
-ClefableDexEntry:
-	db "FAIRY@"
-	db 4,3
-	dw 880
-	TX_FAR _ClefableDexEntry
-	db "@"
-
-WeezingDexEntry:
-	db "POISON GAS@"
-	db 3,11
-	dw 210
-	TX_FAR _WeezingDexEntry
-	db "@"
-
-PersianDexEntry:
-	db "CLASSY CAT@"
-	db 3,3
-	dw 710
-	TX_FAR _PersianDexEntry
-	db "@"
-
-MarowakDexEntry:
-	db "BONEKEEPER@"
-	db 3,3
-	dw 990
-	TX_FAR _MarowakDexEntry
-	db "@"
-
-HaunterDexEntry:
-	db "GAS@"
-	db 5,3
-	dw 2
-	TX_FAR _HaunterDexEntry
-	db "@"
-
-AbraDexEntry:
-	db "PSI@"
-	db 2,11
-	dw 430
-	TX_FAR _AbraDexEntry
-	db "@"
-
-AlakazamDexEntry:
-	db "PSI@"
-	db 4,11
-	dw 1060
-	TX_FAR _AlakazamDexEntry
-	db "@"
-
-PidgeottoDexEntry:
-	db "BIRD@"
-	db 3,7
-	dw 660
-	TX_FAR _PidgeottoDexEntry
-	db "@"
-
-PidgeotDexEntry:
-	db "BIRD@"
-	db 4,11
-	dw 870
-	TX_FAR _PidgeotDexEntry
-	db "@"
-
-StarmieDexEntry:
-	db "MYSTERIOUS@"
-	db 3,7
-	dw 1760
-	TX_FAR _StarmieDexEntry
-	db "@"
-
-BulbasaurDexEntry:
-	db "SEED@"
-	db 2,4
-	dw 150
-	TX_FAR _BulbasaurDexEntry
-	db "@"
-
-VenusaurDexEntry:
-	db "SEED@"
-	db 6,7
-	dw 2210
-	TX_FAR _VenusaurDexEntry
-	db "@"
-
-TentacruelDexEntry:
-	db "JELLYFISH@"
-	db 5,3
-	dw 1210
-	TX_FAR _TentacruelDexEntry
-	db "@"
-
-GoldeenDexEntry:
-	db "GOLDFISH@"
-	db 2,0
-	dw 330
-	TX_FAR _GoldeenDexEntry
-	db "@"
-
-SeakingDexEntry:
-	db "GOLDFISH@"
-	db 4,3
-	dw 860
-	TX_FAR _SeakingDexEntry
-	db "@"
-
-PonytaDexEntry:
-	db "FIRE HORSE@"
-	db 3,3
-	dw 660
-	TX_FAR _PonytaDexEntry
-	db "@"
-
-RapidashDexEntry:
-	db "FIRE HORSE@"
-	db 5,7
-	dw 2090
-	TX_FAR _RapidashDexEntry
-	db "@"
-
-RattataDexEntry:
-	db "RAT@"
-	db 1,0
-	dw 80
-	TX_FAR _RattataDexEntry
-	db "@"
-
-RaticateDexEntry:
-	db "RAT@"
-	db 2,4
-	dw 410
-	TX_FAR _RaticateDexEntry
-	db "@"
-
-NidorinoDexEntry:
-	db "POISON PIN@"
-	db 2,11
-	dw 430
-	TX_FAR _NidorinoDexEntry
-	db "@"
-
-NidorinaDexEntry:
-	db "POISON PIN@"
-	db 2,7
-	dw 440
-	TX_FAR _NidorinaDexEntry
-	db "@"
-
-GeodudeDexEntry:
-	db "ROCK@"
-	db 1,4
-	dw 440
-	TX_FAR _GeodudeDexEntry
-	db "@"
-
-PorygonDexEntry:
-	db "VIRTUAL@"
-	db 2,7
-	dw 800
-	TX_FAR _PorygonDexEntry
-	db "@"
-
-AerodactylDexEntry:
-	db "FOSSIL@"
-	db 5,11
-	dw 1300
-	TX_FAR _AerodactylDexEntry
-	db "@"
-
-MagnemiteDexEntry:
-	db "MAGNET@"
-	db 1,0
-	dw 130
-	TX_FAR _MagnemiteDexEntry
-	db "@"
-
-CharmanderDexEntry:
-	db "LIZARD@"
-	db 2,0
-	dw 190
-	TX_FAR _CharmanderDexEntry
-	db "@"
-
-SquirtleDexEntry:
-	db "TINYTURTLE@"
-	db 1,8
-	dw 200
-	TX_FAR _SquirtleDexEntry
-	db "@"
-
-CharmeleonDexEntry:
-	db "FLAME@"
-	db 3,7
-	dw 420
-	TX_FAR _CharmeleonDexEntry
-	db "@"
-
-WartortleDexEntry:
-	db "TURTLE@"
-	db 3,3
-	dw 500
-	TX_FAR _WartortleDexEntry
-	db "@"
-
-CharizardDexEntry:
-	db "FLAME@"
-	db 5,7
-	dw 2000
-	TX_FAR _CharizardDexEntry
-	db "@"
-
-OddishDexEntry:
-	db "WEED@"
-	db 1,8
-	dw 120
-	TX_FAR _OddishDexEntry
-	db "@"
-
-GloomDexEntry:
-	db "WEED@"
-	db 2,7
-	dw 190
-	TX_FAR _GloomDexEntry
-	db "@"
-
-VileplumeDexEntry:
-	db "FLOWER@"
-	db 3,11
-	dw 410
-	TX_FAR _VileplumeDexEntry
-	db "@"
-
-BellsproutDexEntry:
-	db "FLOWER@"
-	db 2,4
-	dw 90
-	TX_FAR _BellsproutDexEntry
-	db "@"
-
-WeepinbellDexEntry:
-	db "FLYCATCHER@"
-	db 3,3
-	dw 140
-	TX_FAR _WeepinbellDexEntry
-	db "@"
-
-VictreebelDexEntry:
-	db "FLYCATCHER@"
-	db 5,7
-	dw 340
-	TX_FAR _VictreebelDexEntry
-	db "@"
-
-MissingNoDexEntry:
-	db "???@"
-	db 10 ; 1.0 m
-	db 100 ; 10.0 kg
-	db 0,"コメント さくせいちゅう@" ; コメント作成中 (Comment to be written)
-
-PokedexToIndex:
-	; converts the Pokédex number at $D11E to an index
-	push bc
-	push hl
-	ld a,[$D11E]
-	ld b,a
-	ld c,0
-	ld hl,PokedexOrder
-
-.loop\@ ; go through the list until we find an entry with a matching dex number
-	inc c
-	ld a,[hli]
-	cp b
-	jr nz,.loop\@
-
-	ld a,c
-	ld [$D11E],a
-	pop hl
-	pop bc
-	ret
-
-IndexToPokedex:
-	; converts the indexédex number at $D11E to a Pokédex number
-	push bc
-	push hl
-	ld a,[$D11E]
-	dec a
-	ld hl,PokedexOrder
-	ld b,0
-	ld c,a
-	add hl,bc
-	ld a,[hl]
-	ld [$D11E],a
-	pop hl
-	pop bc
-	ret
-
-PokedexOrder: ; 5024
-	db DEX_RHYDON
-	db DEX_KANGASKHAN
-	db DEX_NIDORAN_M
-	db DEX_CLEFAIRY
-	db DEX_SPEAROW
-	db DEX_VOLTORB
-	db DEX_NIDOKING
-	db DEX_SLOWBRO
-	db DEX_IVYSAUR
-	db DEX_EXEGGUTOR
-	db DEX_LICKITUNG
-	db DEX_EXEGGCUTE
-	db DEX_GRIMER
-	db DEX_GENGAR
-	db DEX_NIDORAN_F
-	db DEX_NIDOQUEEN
-	db DEX_CUBONE
-	db DEX_RHYHORN
-	db DEX_LAPRAS
-	db DEX_ARCANINE
-	db DEX_MEW
-	db DEX_GYARADOS
-	db DEX_SHELLDER
-	db DEX_TENTACOOL
-	db DEX_GASTLY
-	db DEX_SCYTHER
-	db DEX_STARYU
-	db DEX_BLASTOISE
-	db DEX_PINSIR
-	db DEX_TANGELA
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_GROWLITHE
-	db DEX_ONIX
-	db DEX_FEAROW
-	db DEX_PIDGEY
-	db DEX_SLOWPOKE
-	db DEX_KADABRA
-	db DEX_GRAVELER
-	db DEX_CHANSEY
-	db DEX_MACHOKE
-	db DEX_MR_MIME
-	db DEX_HITMONLEE
-	db DEX_HITMONCHAN
-	db DEX_ARBOK
-	db DEX_PARASECT
-	db DEX_PSYDUCK
-	db DEX_DROWZEE
-	db DEX_GOLEM
-	db 0 ; MISSINGNO.
-	db DEX_MAGMAR
-	db 0 ; MISSINGNO.
-	db DEX_ELECTABUZZ
-	db DEX_MAGNETON
-	db DEX_KOFFING
-	db 0 ; MISSINGNO.
-	db DEX_MANKEY
-	db DEX_SEEL
-	db DEX_DIGLETT
-	db DEX_TAUROS
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_FARFETCH_D
-	db DEX_VENONAT
-	db DEX_DRAGONITE
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_DODUO
-	db DEX_POLIWAG
-	db DEX_JYNX
-	db DEX_MOLTRES
-	db DEX_ARTICUNO
-	db DEX_ZAPDOS
-	db DEX_DITTO
-	db DEX_MEOWTH
-	db DEX_KRABBY
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_VULPIX
-	db DEX_NINETALES
-	db DEX_PIKACHU
-	db DEX_RAICHU
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_DRATINI
-	db DEX_DRAGONAIR
-	db DEX_KABUTO
-	db DEX_KABUTOPS
-	db DEX_HORSEA
-	db DEX_SEADRA
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_SANDSHREW
-	db DEX_SANDSLASH
-	db DEX_OMANYTE
-	db DEX_OMASTAR
-	db DEX_JIGGLYPUFF
-	db DEX_WIGGLYTUFF
-	db DEX_EEVEE
-	db DEX_FLAREON
-	db DEX_JOLTEON
-	db DEX_VAPOREON
-	db DEX_MACHOP
-	db DEX_ZUBAT
-	db DEX_EKANS
-	db DEX_PARAS
-	db DEX_POLIWHIRL
-	db DEX_POLIWRATH
-	db DEX_WEEDLE
-	db DEX_KAKUNA
-	db DEX_BEEDRILL
-	db 0 ; MISSINGNO.
-	db DEX_DODRIO
-	db DEX_PRIMEAPE
-	db DEX_DUGTRIO
-	db DEX_VENOMOTH
-	db DEX_DEWGONG
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_CATERPIE
-	db DEX_METAPOD
-	db DEX_BUTTERFREE
-	db DEX_MACHAMP
-	db 0 ; MISSINGNO.
-	db DEX_GOLDUCK
-	db DEX_HYPNO
-	db DEX_GOLBAT
-	db DEX_MEWTWO
-	db DEX_SNORLAX
-	db DEX_MAGIKARP
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_MUK
-	db 0 ; MISSINGNO.
-	db DEX_KINGLER
-	db DEX_CLOYSTER
-	db 0 ; MISSINGNO.
-	db DEX_ELECTRODE
-	db DEX_CLEFABLE
-	db DEX_WEEZING
-	db DEX_PERSIAN
-	db DEX_MAROWAK
-	db 0 ; MISSINGNO.
-	db DEX_HAUNTER
-	db DEX_ABRA
-	db DEX_ALAKAZAM
-	db DEX_PIDGEOTTO
-	db DEX_PIDGEOT
-	db DEX_STARMIE
-	db DEX_BULBASAUR
-	db DEX_VENUSAUR
-	db DEX_TENTACRUEL
-	db 0 ; MISSINGNO.
-	db DEX_GOLDEEN
-	db DEX_SEAKING
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_PONYTA
-	db DEX_RAPIDASH
-	db DEX_RATTATA
-	db DEX_RATICATE
-	db DEX_NIDORINO
-	db DEX_NIDORINA
-	db DEX_GEODUDE
-	db DEX_PORYGON
-	db DEX_AERODACTYL
-	db 0 ; MISSINGNO.
-	db DEX_MAGNEMITE
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_CHARMANDER
-	db DEX_SQUIRTLE
-	db DEX_CHARMELEON
-	db DEX_WARTORTLE
-	db DEX_CHARIZARD
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db 0 ; MISSINGNO.
-	db DEX_ODDISH
-	db DEX_GLOOM
-	db DEX_VILEPLUME
-	db DEX_BELLSPROUT
-	db DEX_WEEPINBELL
-	db DEX_VICTREEBEL
-
-INCBIN "baserom.gbc",$410e2,$4160c - $410e2
-
-UnnamedText_4160c: ; 0x4160c
-	TX_FAR _UnnamedText_4160c
-	db $50
-; 0x4160c + 5 bytes
-
-INCBIN "baserom.gbc",$41611,$41623 - $41611
-
-UnnamedText_41623: ; 0x41623
-	TX_FAR _UnnamedText_41623
-	db $50
-; 0x41623 + 5 bytes
-
-UnnamedText_41628: ; 0x41628
-	TX_FAR _UnnamedText_41628
-	db $50
-; 0x41628 + 5 bytes
-
-INCBIN "baserom.gbc",$4162d,$41642 - $4162d
-
-UnnamedText_41642: ; 0x41642
-	TX_FAR _UnnamedText_41642
-	db $50
-; 0x41642 + 5 bytes
-
-UnnamedText_41647: ; 0x41647
-	TX_FAR _UnnamedText_41647
-	db $50
-; 0x41647 + 5 bytes
-
-INCBIN "baserom.gbc",$4164c,$41655 - $4164c
-
-UnnamedText_41655: ; 0x41655
-	TX_FAR _UnnamedText_41655
-	db $50
-; 0x41655 + 5 bytes
-
-INCBIN "baserom.gbc",$4165a,$4166c - $4165a
-
-UnnamedText_4166c: ; 0x4166c
-	TX_FAR _UnnamedText_4166c
-	db $50
-; 0x4166c + 5 bytes
-
-UnnamedText_41671: ; 0x41671
-	TX_FAR _UnnamedText_41671
-	db $50
-; 0x41671 + 5 bytes
-
-INCBIN "baserom.gbc",$41676,$a63
-
-IF _RED
-	INCBIN "gfx/red/introfight.2bpp"
-ENDC
-IF _BLUE
-	INCBIN "gfx/blue/introfight.2bpp"
-ENDC
-
-; XXX what do these do
-	FuncCoord 5,0
-	ld hl,Coord
-	ld de,OTString67E5
-	call PlaceString
-	ld a,[$CD3D]
-	ld [$D11E],a
-	ld a,$3A
-	call Predef
-	ld hl,$C3A9
-	ld de,$D11E
-	ld bc,$8103
-	call $3C5F
-	FuncCoord 5,2
-	ld hl,Coord
-	ld de,$CF4B
-	call PlaceString
-	FuncCoord 8,4
-	ld hl,Coord
-	ld de,$CD41
-	call PlaceString
-	ld hl,$C420
-	ld de,$CD4C
-	ld bc,$8205
-	jp $3C5F
-
-	FuncCoord 5,10
-	ld hl,Coord
-	ld de,OTString67E5
-	call PlaceString
-	ld a,[$CD3E]
-	ld [$D11E],a
-	ld a,$3A
-	call Predef
-	ld hl,$C471
-	ld de,$D11E
-	ld bc,$8103
-	call $3C5F
-	FuncCoord 5,12
-	ld hl,Coord
-	ld de,$CD6D
-	call PlaceString
-	FuncCoord 8,14
-	ld hl,Coord
-	ld de,$CD4E
-	call PlaceString
-	ld hl,$C4E8
-	ld de,$CD59
-	ld bc,$8205
-	jp $3C5F
-
-OTString67E5: ; 67E5
-	db "──",$74,$F2,$4E
-	db $4E
-	db "OT/",$4E
-	db $73,"№",$F2,"@"
-
-SECTION "bank11",DATA,BANK[$11]
-
-LavenderTown_h: ; 0x44000 to 0x4402d (45 bytes) (bank=11) (id=4)
-	db $00 ; tileset
-	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x)
-	dw LavenderTownBlocks, LavenderTownTexts, LavenderTownScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST ; connections
-
-	; connections data
-
-	db ROUTE_10
-	dw Route10Blocks + (ROUTE_10_HEIGHT - 3) * ROUTE_10_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db ROUTE_10_WIDTH, ROUTE_10_WIDTH ; bigness, width
-	db (ROUTE_10_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_10_HEIGHT * (ROUTE_10_WIDTH + 6) ; window
-
-	db ROUTE_12
-	dw Route12Blocks ; connection strip location
-	dw $C6EB + (LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6) + 0 ; current map position
-	db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_12_WIDTH ; window
-
-	db ROUTE_8
-	dw Route8Blocks - 3 + (ROUTE_8_WIDTH) ; connection strip location
-	dw $C6E8 + (LAVENDER_TOWN_WIDTH + 6) * (0 + 3) ; current map position
-	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width
-	db (0 * -2), (ROUTE_8_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_8_WIDTH ; window
-
-	; end connections data
-
-	dw LavenderTownObject ; objects
-
-LavenderTownObject: ; 0x4402d (size=88)
-	db $2c ; border tile
-
-	db $6 ; warps
-	db $5, $3, $0, LAVENDER_POKECENTER
-	db $5, $e, $0, POKEMONTOWER_1
-	db $9, $7, $0, LAVENDER_HOUSE_1
-	db $d, $f, $0, LAVENDER_MART
-	db $d, $3, $0, LAVENDER_HOUSE_2
-	db $d, $7, $0, NAME_RATERS_HOUSE
-
-	db $6 ; signs
-	db $9, $b, $4 ; LavenderTownText4
-	db $3, $9, $5 ; LavenderTownText5
-	db $d, $10, $6 ; LavenderTownText6
-	db $5, $4, $7 ; LavenderTownText7
-	db $9, $5, $8 ; LavenderTownText8
-	db $7, $11, $9 ; LavenderTownText9
-
-	db $3 ; people
-	db SPRITE_LITTLE_GIRL, $9 + 4, $f + 4, $fe, $0, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $9 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $8 + 4, $fe, $2, $3 ; person
-
-	; warp-to
-	EVENT_DISP $a, $5, $3 ; LAVENDER_POKECENTER
-	EVENT_DISP $a, $5, $e ; POKEMONTOWER_1
-	EVENT_DISP $a, $9, $7 ; LAVENDER_HOUSE_1
-	EVENT_DISP $a, $d, $f ; LAVENDER_MART
-	EVENT_DISP $a, $d, $3 ; LAVENDER_HOUSE_2
-	EVENT_DISP $a, $d, $7 ; NAME_RATERS_HOUSE
-
-LavenderTownBlocks: ; 0x44085 90
-	INCBIN "maps/lavendertown.blk"
-
-ViridianPokecenterBlocks: ; 0x440df 28
-	INCBIN "maps/viridianpokecenter.blk"
-
-SafariZoneRestHouse1Blocks: ; 0x440fb 16
-	INCBIN "maps/safarizoneresthouse1.blk"
-
-LavenderTownScript: ; 0x4410b
-	jp $3c3c
-; 0x4410e
-
-LavenderTownTexts: ; 0x4410e
-	dw LavenderTownText1, LavenderTownText2, LavenderTownText3, LavenderTownText4, LavenderTownText5, LavenderTownText6, LavenderTownText7, LavenderTownText8, LavenderTownText9
-
-LavenderTownText1: ; 0x44120
-	db $08 ; asm
-	ld hl, UnnamedText_4413c
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	ld hl, UnnamedText_44146
-	jr nz, .asm_40831 ; 0x44131
-	ld hl, UnnamedText_44141
-.asm_40831 ; 0x44136
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_4413c: ; 0x4413c
-	TX_FAR _UnnamedText_4413c
-	db $50
-; 0x4413c + 5 bytes
-
-UnnamedText_44141: ; 0x44141
-	TX_FAR _UnnamedText_44141
-	db $50
-; 0x44141 + 5 bytes
-
-UnnamedText_44146: ; 0x44146
-	TX_FAR _UnnamedText_44146
-	db $50
-; 0x44146 + 5 bytes
-
-LavenderTownText2: ; 0x4414b
-	TX_FAR _LavenderTownText2
-	db $50
-
-LavenderTownText3: ; 0x44150
-	TX_FAR _LavenderTownText3
-	db $50
-
-LavenderTownText4: ; 0x44155
-	TX_FAR _LavenderTownText4
-	db $50
-
-LavenderTownText5: ; 0x4415a
-	TX_FAR _LavenderTownText5
-	db $50
-
-LavenderTownText8: ; 0x4415f
-	TX_FAR _LavenderTownText8
-	db $50
-
-LavenderTownText9: ; 0x44164
-	TX_FAR _LavenderTownText9
-	db $50
-
-INCBIN "baserom.gbc",$44169,$441cc - $44169
-
-UnnamedText_441cc: ; 0x441cc
-	TX_FAR _UnnamedText_441cc
-	db $50
-; 0x441cc + 5 bytes
-
-INCBIN "baserom.gbc",$441d1,$44201 - $441d1
-
-UnnamedText_44201: ; 0x44201
-	TX_FAR _UnnamedText_44201
-	db $50
-; 0x44201 + 5 bytes
-
-UnnamedText_44206: ; 0x44206
-	TX_FAR _UnnamedText_44206
-	db $50
-; 0x44206 + 5 bytes
-
-UnnamedText_4420b: ; 0x4420b
-	TX_FAR _UnnamedText_4420b
-	db $50
-; 0x4420b + 5 bytes
-
-UnnamedText_44210: ; 0x44210
-	TX_FAR _UnnamedText_44210
-	db $50
-; 0x44210 + 5 bytes
-
-UnnamedText_44215: ; 0x44215
-	TX_FAR _UnnamedText_44215
-	db $50
-; 0x44215 + 5 bytes
-
-UnnamedText_4421a: ; 0x4421a
-	TX_FAR _UnnamedText_4421a
-	db $50
-; 0x4421a + 5 bytes
-
-UnnamedText_4421f: ; 0x4421f
-	TX_FAR _UnnamedText_4421f
-	db $50
-; 0x4421f + 5 bytes
-
-UnnamedText_44224: ; 0x44224
-	TX_FAR _UnnamedText_44224
-	db $50
-; 0x44224 + 5 bytes
-
-UnnamedText_44229: ; 0x44229
-	TX_FAR _UnnamedText_44229
-	db $50
-; 0x44229 + 5 bytes
-
-UnnamedText_4422e: ; 0x4422e
-	TX_FAR _UnnamedText_4422e
-	db $50
-; 0x4422e + 5 bytes
-
-UnnamedText_44233: ; 0x44233
-	TX_FAR _UnnamedText_44233
-	db $50
-; 0x44233 + 5 bytes
-
-UnnamedText_44238: ; 0x44238
-	TX_FAR _UnnamedText_44238
-	db $50
-; 0x44238 + 5 bytes
-
-UnnamedText_4423d: ; 0x4423d
-	TX_FAR _UnnamedText_4423d
-	db $50
-; 0x4423d + 5 bytes
-
-UnnamedText_44242: ; 0x44242
-	TX_FAR _UnnamedText_44242
-	db $50
-; 0x44242 + 5 bytes
-
-UnnamedText_44247: ; 0x44247
-	TX_FAR _UnnamedText_44247
-	db $50
-; 0x44247 + 5 bytes
-
-UnnamedText_4424c: ; 0x4424c
-	TX_FAR _UnnamedText_4424c
-	db $50
-; 0x4424c + 5 bytes
-
-ViridianPokecenter_h: ; 0x44251 to 0x4425d (12 bytes) (bank=11) (id=41)
-	db $06 ; tileset
-	db $04, $07 ; dimensions (y, x)
-	dw ViridianPokecenterBlocks, ViridianPokecenterTexts, ViridianPokeCenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianPokecenterObject ; objects
-
-ViridianPokeCenterScript: ; 0x4425d
-	call $22fa
-	jp $3c3c
-; 0x44263
-
-ViridianPokecenterTexts: ; 0x44263
-	dw ViridianPokeCenterText1, ViridianPokeCenterText2, ViridianPokeCenterText3, ViridianPokeCenterText4
-
-ViridianPokeCenterText1: ; 0x4426b
-	db $ff
-
-ViridianPokeCenterText2: ; 0x4426c
-	TX_FAR _ViridianPokeCenterText1
-	db $50
-
-INCBIN "baserom.gbc",$44271,$44271 - $44271
-
-ViridianPokeCenterText3: ; 0x44271
-	TX_FAR _ViridianPokeCenterText3
-	db $50
-
-ViridianPokeCenterText4:
-	db $f6
-
-ViridianPokecenterObject: ; 0x44277 (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $0, $ff
-	db $7, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GENTLEMAN, $5 + 4, $a + 4, $fe, $1, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $4 + 4, $ff, $ff, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-Mansion1_h: ; 0x442a3 to 0x442af (12 bytes) (bank=11) (id=165)
-	db $16 ; tileset
-	db MANSION_1_HEIGHT, MANSION_1_WIDTH ; dimensions (y, x)
-	dw Mansion1Blocks, Mansion1Texts, Mansion1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Mansion1Object ; objects
-
-Mansion1Script:
-	call Mansion1Subscript1
-	call $3c3c
-	ld hl, Mansion1TrainerHeaders
-	ld de, $4326
-	ld a, [$d63a]
-	call $3160
-	ld [$d63a], a
-	ret
-; 0x442c5
-
-Mansion1Subscript1: ; 0x442c5
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld a, [$d796]
-	bit 0, a
-	jr nz, .asm_442ec ; 0x442d2 $18
-	ld bc, $060c
-	call $430b
-	ld bc, $0308
-	call $4304
-	ld bc, $080a
-	call $4304
-	ld bc, $0d0d
-	jp $4304
-.asm_442ec
-	ld bc, $060c
-	call $4304
-	ld bc, $0308
-	call $430b
-	ld bc, $080a
-	call $430b
-	ld bc, $0d0d
-	jp $430b
-; 0x44304
-
-INCBIN "baserom.gbc",$44304,$4432c - $44304
-
-Mansion1Texts: ; 0x4432c
-	dw Mansion1Text1, Mansion1Text2, Mansion1Text3, Mansion1Text4
-
-Mansion1TrainerHeaders:
-TrainerHeader_44334: ; 0x44334
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d798 ; flag's byte
-	dw UnnamedText_4434b ; 0x434b TextBeforeBattle
-	dw UnnamedText_44355 ; 0x4355 TextAfterBattle
-	dw UnnamedText_44350 ; 0x4350 TextEndBattle
-	dw UnnamedText_44350 ; 0x4350 TextEndBattle
-; 0x44340
-
-db $ff
-
-Mansion1Text1: ; 0x44341
-	db $08 ; asm
-	ld hl, TrainerHeader_44334
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_4434b: ; 0x4434b
-	TX_FAR _UnnamedText_4434b
-	db $50
-; 0x4434b + 5 bytes
-
-UnnamedText_44350: ; 0x44350
-	TX_FAR _UnnamedText_44350
-	db $50
-; 0x44350 + 5 bytes
-
-UnnamedText_44355: ; 0x44355
-	TX_FAR _UnnamedText_44355
-	db $50
-; 0x44355 + 5 bytes
-
-Mansion1Text4: ; 0x4435a
-	db $8
-	ld hl, UnnamedText_44395
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_4438c ; 0x44368 $22
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, $d126
-	set 5, [hl]
-	ld hl, UnnamedText_4439a
-	call PrintText
-	ld a, $ad
-	call $23b1
-	ld hl, $d796
-	bit 0, [hl]
-	set 0, [hl]
-	jr z, .asm_44392 ; 0x44386 $a
-	res 0, [hl]
-	jr .asm_44392 ; 0x4438a $6
-.asm_4438c
-	ld hl, UnnamedText_4439f
-	call PrintText
-.asm_44392
-	jp TextScriptEnd
-; 0x44395
-
-UnnamedText_44395: ; 0x44395
-	TX_FAR _UnnamedText_44395
-	db $50
-; 0x44395 + 5 bytes
-
-UnnamedText_4439a: ; 0x4439a
-	TX_FAR _UnnamedText_4439a
-	db $50
-; 0x4439a + 5 bytes
-
-UnnamedText_4439f: ; 0x4439f
-	TX_FAR _UnnamedText_4439f
-	db $50
-; 0x4439f + 5 bytes
-
-Mansion1Object: ; 0x443a4 (size=90)
-	db $2e ; border tile
-
-	db $8 ; warps
-	db $1b, $4, $0, $ff
-	db $1b, $5, $0, $ff
-	db $1b, $6, $0, $ff
-	db $1b, $7, $0, $ff
-	db $a, $5, $0, MANSION_2
-	db $17, $15, $0, MANSION_4
-	db $1b, $1a, $0, $ff
-	db $1b, $1b, $0, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_OAK_AIDE, $11 + 4, $11 + 4, $ff, $d2, $41, SCIENTIST + $C8, $4 ; trainer
-	db SPRITE_BALL, $3 + 4, $e + 4, $ff, $ff, $82, ESCAPE_ROPE ; item
-	db SPRITE_BALL, $15 + 4, $12 + 4, $ff, $ff, $83, CARBOS ; item
-
-	; warp-to
-	EVENT_DISP $f, $1b, $4
-	EVENT_DISP $f, $1b, $5
-	EVENT_DISP $f, $1b, $6
-	EVENT_DISP $f, $1b, $7
-	EVENT_DISP $f, $a, $5 ; MANSION_2
-	EVENT_DISP $f, $17, $15 ; MANSION_4
-	EVENT_DISP $f, $1b, $1a
-	EVENT_DISP $f, $1b, $1b
-
-Mansion1Blocks: ; 0x44405 203
-	INCBIN "maps/mansion1.blk"
-
-RockTunnel1_h: ; 0x444d0 to 0x444dc (12 bytes) (bank=11) (id=82)
-	db $11 ; tileset
-	db ROCK_TUNNEL_1_HEIGHT, ROCK_TUNNEL_1_WIDTH ; dimensions (y, x)
-	dw RockTunnel1Blocks, RockTunnel1Texts, RockTunnel1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RockTunnel1Object ; objects
-
-RockTunnel1Script: ; 0x444dc
-	call $3c3c
-	ld hl, Unnamed_44505 ; $4505
-	ld de, Unnamed_444ef ; $44ef
-	ld a, [$d621]
-	call $3160
-	ld [$d621], a
-	ret
-; 0x444ef
-
-Unnamed_444ef:
-INCBIN "baserom.gbc",$444ef,$6
-
-RockTunnel1Texts: ; 0x444f5
-	dw RockTunnel1Text1, RockTunnel1Text2, RockTunnel1Text3, RockTunnel1Text4, RockTunnel1Text5, RockTunnel1Text6, RockTunnel1Text7, RockTunnel1Text8
-
-Unnamed_44505:
-INCBIN "baserom.gbc",$44505,$55
-
-RockTunnel1Text1: ; 0x4455a
-	db $8
-	ld hl, $4505
-	jr asm_0c916 ; 0x4455e $22
-
-RockTunnel1Text2:
-	db $8
-	ld hl, $4511
-	jr asm_0c916 ; 0x44564 $1c
-
-RockTunnel1Text3:
-	db $8
-	ld hl, $451d
-	jr asm_0c916 ; 0x4456a $16
-
-RockTunnel1Text4:
-	db $8
-	ld hl, $4529
-	jr asm_0c916 ; 0x44570 $10
-
-RockTunnel1Text5:
-	db $8
-	ld hl, $4535
-	jr asm_0c916 ; 0x44576 $a
-
-RockTunnel1Text6:
-	db $8
-	ld hl, $4541
-	jr asm_0c916 ; 0x4457c $4
-
-RockTunnel1Text7:
-	db $8
-	ld hl, $454d
-asm_0c916: ; 0x44582
-	call $31cc
-	jp TextScriptEnd
-
-UnnamedText_44588: ; 0x44588
-	TX_FAR _UnnamedText_44588
-	db $50
-; 0x44588 + 5 bytes
-
-UnnamedText_4458d: ; 0x4458d
-	TX_FAR _UnnamedText_4458d
-	db $50
-; 0x4458d + 5 bytes
-
-UnnamedText_44592: ; 0x44592
-	TX_FAR _UnnamedText_44592
-	db $50
-; 0x44592 + 5 bytes
-
-UnnamedText_44597: ; 0x44597
-	TX_FAR _UnnamedText_44597
-	db $50
-; 0x44597 + 5 bytes
-
-UnnamedText_4459c: ; 0x4459c
-	TX_FAR _UnnamedText_4459c
-	db $50
-; 0x4459c + 5 bytes
-
-UnnamedText_445a1: ; 0x445a1
-	TX_FAR _UnnamedText_445a1
-	db $50
-; 0x445a1 + 5 bytes
-
-UnnamedText_445a6: ; 0x445a6
-	TX_FAR _UnnamedText_445a6
-	db $50
-; 0x445a6 + 5 bytes
-
-UnnamedText_445ab: ; 0x445ab
-	TX_FAR _UnnamedText_445ab
-	db $50
-; 0x445ab + 5 bytes
-
-UnnamedText_445b0: ; 0x445b0
-	TX_FAR _UnnamedText_445b0
-	db $50
-; 0x445b0 + 5 bytes
-
-UnnamedText_445b5: ; 0x445b5
-	TX_FAR _UnnamedText_445b5
-	db $50
-; 0x445b5 + 5 bytes
-
-UnnamedText_445ba: ; 0x445ba
-	TX_FAR _UnnamedText_445ba
-	db $50
-; 0x445ba + 5 bytes
-
-UnnamedText_445bf: ; 0x445bf
-	TX_FAR _UnnamedText_445bf
-	db $50
-; 0x445bf + 5 bytes
-
-UnnamedText_445c4: ; 0x445c4
-	TX_FAR _UnnamedText_445c4
-	db $50
-; 0x445c4 + 5 bytes
-
-UnnamedText_445c9: ; 0x445c9
-	TX_FAR _UnnamedText_445c9
-	db $50
-; 0x445c9 + 5 bytes
-
-UnnamedText_445ce: ; 0x445ce
-	TX_FAR _UnnamedText_445ce
-	db $50
-; 0x445ce + 5 bytes
-
-UnnamedText_445d3: ; 0x445d3
-	TX_FAR _UnnamedText_445d3
-	db $50
-; 0x445d3 + 5 bytes
-
-UnnamedText_445d8: ; 0x445d8
-	TX_FAR _UnnamedText_445d8
-	db $50
-; 0x445d8 + 5 bytes
-
-UnnamedText_445dd: ; 0x445dd
-	TX_FAR _UnnamedText_445dd
-	db $50
-; 0x445dd + 5 bytes
-
-UnnamedText_445e2: ; 0x445e2
-	TX_FAR _UnnamedText_445e2
-	db $50
-; 0x445e2 + 5 bytes
-
-UnnamedText_445e7: ; 0x445e7
-	TX_FAR _UnnamedText_445e7
-	db $50
-; 0x445e7 + 5 bytes
-
-UnnamedText_445ec: ; 0x445ec
-	TX_FAR _UnnamedText_445ec
-	db $50
-; 0x445ec + 5 bytes
-
-RockTunnel1Text8: ; 0x445f1
-	TX_FAR _RockTunnel1Text8
-	db $50
-
-RockTunnel1Object: ; 0x445f6 (size=127)
-	db $3 ; border tile
-
-	db $8 ; warps
-	db $3, $f, $1, $ff
-	db $0, $f, $1, $ff
-	db $21, $f, $2, $ff
-	db $23, $f, $2, $ff
-	db $3, $25, $0, ROCK_TUNNEL_2
-	db $3, $5, $1, ROCK_TUNNEL_2
-	db $b, $11, $2, ROCK_TUNNEL_2
-	db $11, $25, $3, ROCK_TUNNEL_2
-
-	db $1 ; signs
-	db $1d, $b, $8 ; RockTunnel1Text8
-
-	db $7 ; people
-	db SPRITE_HIKER, $5 + 4, $7 + 4, $ff, $d0, $41, HIKER + $C8, $c ; trainer
-	db SPRITE_HIKER, $10 + 4, $5 + 4, $ff, $d0, $42, HIKER + $C8, $d ; trainer
-	db SPRITE_HIKER, $f + 4, $11 + 4, $ff, $d2, $43, HIKER + $C8, $e ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $17 + 4, $ff, $d2, $44, POKEMANIAC + $C8, $7 ; trainer
-	db SPRITE_LASS, $15 + 4, $25 + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $11 ; trainer
-	db SPRITE_LASS, $18 + 4, $16 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $12 ; trainer
-	db SPRITE_LASS, $18 + 4, $20 + 4, $ff, $d3, $47, JR__TRAINER_F + $C8, $13 ; trainer
-
-	; warp-to
-	EVENT_DISP $14, $3, $f
-	EVENT_DISP $14, $0, $f
-	EVENT_DISP $14, $21, $f
-	EVENT_DISP $14, $23, $f
-	EVENT_DISP $14, $3, $25 ; ROCK_TUNNEL_2
-	EVENT_DISP $14, $3, $5 ; ROCK_TUNNEL_2
-	EVENT_DISP $14, $b, $11 ; ROCK_TUNNEL_2
-	EVENT_DISP $14, $11, $25 ; ROCK_TUNNEL_2
-
-RockTunnel1Blocks: ; 0x44675 360
-	INCBIN "maps/rocktunnel1.blk"
-
-SeafoamIslands1_h: ; 0x447dd to 0x447e9 (12 bytes) (bank=11) (id=192)
-	db $11 ; tileset
-	db SEAFOAM_ISLANDS_1_HEIGHT, SEAFOAM_ISLANDS_1_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands1Blocks, SeafoamIslands1Texts, SeafoamIslands1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SeafoamIslands1Object ; objects
-
-SeafoamIslands1Script: ; 0x447e9
-	call $3c3c
-	ld hl, $d7e7
-	set 0, [hl]
-	ld hl, $cd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_4483b ; 0x447f8 $41
-	ld hl, SeafoamIslands1Script_Unknown44846
-	call $34e4
-	ret nc
-	ld hl, $d7e8
-	ld a, [$cd3d]
-	cp $1
-	jr nz, .asm_44819 ; 0x44809 $e
-	set 6, [hl]
-	ld a, $d7
-	ld [$d079], a
-	ld a, $d9
-	ld [$d07a], a
-	jr .asm_44825 ; 0x44817 $c
-.asm_44819
-	set 7, [hl]
-	ld a, $d8
-	ld [$d079], a
-	ld a, $da
-	ld [$d07a], a
-.asm_44825
-	ld a, [$d079]
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, [$d07a]
-	ld [$cc4d], a
-	ld a, $15
-	jp $3e6d
-.asm_4483b
-	ld a, $9f
-	ld [$d71d], a
-	ld hl, SeafoamIslands1Script_Unknown44846
-	jp $6981
-; 0x44846
-
-SeafoamIslands1Script_Unknown44846: ; 0x44846
-INCBIN "baserom.gbc",$44846,$5
-
-SeafoamIslands1Texts: ; 0x4484b
-	dw SeafoamIslands1Text1, SeafoamIslands1Text2
-
-SeafoamIslands1Object: ; 0x4484f (size=72)
-	db $7d ; border tile
-
-	db $7 ; warps
-	db $11, $4, $0, $ff
-	db $11, $5, $0, $ff
-	db $11, $1a, $1, $ff
-	db $11, $1b, $1, $ff
-	db $5, $7, $1, SEAFOAM_ISLANDS_2
-	db $3, $19, $6, SEAFOAM_ISLANDS_2
-	db $f, $17, $4, SEAFOAM_ISLANDS_2
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BOULDER, $a + 4, $12 + 4, $ff, $10, $1 ; person
-	db SPRITE_BOULDER, $7 + 4, $1a + 4, $ff, $10, $2 ; person
-
-	; warp-to
-	EVENT_DISP $f, $11, $4
-	EVENT_DISP $f, $11, $5
-	EVENT_DISP $f, $11, $1a
-	EVENT_DISP $f, $11, $1b
-	EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_2
-	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_2
-	EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_2
-
-INCBIN "baserom.gbc",$44897,$8
-
-SeafoamIslands1Blocks: ; 0x4489f 135
-	INCBIN "maps/seafoamislands1.blk"
-
-SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97)
-	db $0d ; tileset
-	db SS_ANNE_3_HEIGHT, SS_ANNE_3_WIDTH ; dimensions (y, x)
-	dw SSAnne3Blocks, SSAnne3Texts, SSAnne3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne3Object ; objects
-
-SSAnne3Script: ; 0x44932
-	jp $3c3c
-; 0x44935
-
-SSAnne3Texts: ; 0x44935
-	dw SSAnne3Text1
-
-SSAnne3Text1: ; 0x44937
-	TX_FAR _SSAnne3Text1
-	db $50
-
-SSAnne3Object: ; 0x4493c (size=26)
-	db $c ; border tile
-
-	db $2 ; warps
-	db $3, $0, $0, SS_ANNE_5
-	db $3, $13, $7, SS_ANNE_2
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_SAILOR, $3 + 4, $9 + 4, $fe, $2, $1 ; person
-
-	; warp-to
-	EVENT_DISP $a, $3, $0 ; SS_ANNE_5
-	EVENT_DISP $a, $3, $13 ; SS_ANNE_2
-
-SSAnne3Blocks: ; 0x44956 30
-	INCBIN "maps/ssanne3.blk"
-
-VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198)
-	db $11 ; tileset
-	db VICTORY_ROAD_3_HEIGHT, VICTORY_ROAD_3_WIDTH ; dimensions (y, x)
-	dw VictoryRoad3Blocks, VictoryRoad3Texts, VictoryRoad3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VictoryRoad3Object ; objects
-
-VictoryRoad3Script: ; 0x44980
-	call VictoryRoad3Script_Unknown44996
-	call $3c3c
-	ld hl, VictoryRoad3TrainerHeaders
-	ld de, $49b1
-	ld a, [$d640]
-	call $3160
-	ld [$d640], a
-	ret
-; 0x44996
-
-VictoryRoad3Script_Unknown44996: ; 0x44996
-INCBIN "baserom.gbc",$44996,$8e
-
-VictoryRoad3Texts: ; 0x44a24
-	dw VictoryRoad3Text1, VictoryRoad3Text2, VictoryRoad3Text3, VictoryRoad3Text4, VictoryRoad3Text5, VictoryRoad3Text6, VictoryRoad3Text7, VictoryRoad3Text8, VictoryRoad3Text9, VictoryRoad3Text10
-
-VictoryRoad3TrainerHeaders:
-TrainerHeader_44a38: ; 0x44a38
-	db $1 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d813 ; flag's byte
-	dw UnnamedText_44a91 ; 0x4a91 TextBeforeBattle
-	dw UnnamedText_44a9b ; 0x4a9b TextAfterBattle
-	dw UnnamedText_44a96 ; 0x4a96 TextEndBattle
-	dw UnnamedText_44a96 ; 0x4a96 TextEndBattle
-; 0x44a44
-
-TrainerHeader_44a44: ; 0x44a44
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d813 ; flag's byte
-	dw UnnamedText_44aa0 ; 0x4aa0 TextBeforeBattle
-	dw UnnamedText_44aaa ; 0x4aaa TextAfterBattle
-	dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle
-	dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle
-; 0x44a50
-
-TrainerHeader_44a50: ; 0x44a50
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d813 ; flag's byte
-	dw UnnamedText_44aaf ; 0x4aaf TextBeforeBattle
-	dw UnnamedText_44ab9 ; 0x4ab9 TextAfterBattle
-	dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle
-	dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle
-; 0x44a5c
-
-TrainerHeader_44a5c: ; 0x44a5c
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d813 ; flag's byte
-	dw UnnamedText_44abe ; 0x4abe TextBeforeBattle
-	dw UnnamedText_44ac8 ; 0x4ac8 TextAfterBattle
-	dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle
-	dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle
-; 0x44a68
-
-db $ff
-
-VictoryRoad3Text1: ; 0x44a69
-	db $08 ; asm
-	ld hl, TrainerHeader_44a38
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad3Text2: ; 0x44a73
-	db $08 ; asm
-	ld hl, TrainerHeader_44a44
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad3Text3: ; 0x44a7d
-	db $08 ; asm
-	ld hl, TrainerHeader_44a50
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad3Text4: ; 0x44a87
-	db $08 ; asm
-	ld hl, TrainerHeader_44a5c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_44a91: ; 0x44a91
-	TX_FAR _UnnamedText_44a91
-	db $50
-; 0x44a91 + 5 bytes
-
-UnnamedText_44a96: ; 0x44a96
-	TX_FAR _UnnamedText_44a96
-	db $50
-; 0x44a96 + 5 bytes
-
-UnnamedText_44a9b: ; 0x44a9b
-	TX_FAR _UnnamedText_44a9b
-	db $50
-; 0x44a9b + 5 bytes
-
-UnnamedText_44aa0: ; 0x44aa0
-	TX_FAR _UnnamedText_44aa0
-	db $50
-; 0x44aa0 + 5 bytes
-
-UnnamedText_44aa5: ; 0x44aa5
-	TX_FAR _UnnamedText_44aa5
-	db $50
-; 0x44aa5 + 5 bytes
-
-UnnamedText_44aaa: ; 0x44aaa
-	TX_FAR _UnnamedText_44aaa
-	db $50
-; 0x44aaa + 5 bytes
-
-UnnamedText_44aaf: ; 0x44aaf
-	TX_FAR _UnnamedText_44aaf
-	db $50
-; 0x44aaf + 5 bytes
-
-UnnamedText_44ab4: ; 0x44ab4
-	TX_FAR _UnnamedText_44ab4
-	db $50
-; 0x44ab4 + 5 bytes
-
-UnnamedText_44ab9: ; 0x44ab9
-	TX_FAR _UnnamedText_44ab9
-	db $50
-; 0x44ab9 + 5 bytes
-
-UnnamedText_44abe: ; 0x44abe
-	TX_FAR _UnnamedText_44abe
-	db $50
-; 0x44abe + 5 bytes
-
-UnnamedText_44ac3: ; 0x44ac3
-	TX_FAR _UnnamedText_44ac3
-	db $50
-; 0x44ac3 + 5 bytes
-
-UnnamedText_44ac8: ; 0x44ac8
-	TX_FAR _UnnamedText_44ac8
-	db $50
-; 0x44ac8 + 5 bytes
-
-VictoryRoad3Object: ; 0x44acd (size=106)
-	db $7d ; border tile
-
-	db $4 ; warps
-	db $7, $17, $3, VICTORY_ROAD_2
-	db $8, $1a, $5, VICTORY_ROAD_2
-	db $f, $1b, $4, VICTORY_ROAD_2
-	db $0, $2, $6, VICTORY_ROAD_2
-
-	db $0 ; signs
-
-	db $a ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $1c + 4, $ff, $d2, $41, COOLTRAINER_M + $C8, $2 ; trainer
-	db SPRITE_LASS, $d + 4, $7 + 4, $ff, $d3, $42, COOLTRAINER_F + $C8, $2 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $e + 4, $6 + 4, $ff, $d2, $43, COOLTRAINER_M + $C8, $3 ; trainer
-	db SPRITE_LASS, $3 + 4, $d + 4, $ff, $d3, $44, COOLTRAINER_F + $C8, $3 ; trainer
-	db SPRITE_BALL, $5 + 4, $1a + 4, $ff, $ff, $85, MAX_REVIVE ; item
-	db SPRITE_BALL, $7 + 4, $7 + 4, $ff, $ff, $86, TM_47 ; item
-	db SPRITE_BOULDER, $3 + 4, $16 + 4, $ff, $10, $7 ; person
-	db SPRITE_BOULDER, $c + 4, $d + 4, $ff, $10, $8 ; person
-	db SPRITE_BOULDER, $a + 4, $18 + 4, $ff, $10, $9 ; person
-	db SPRITE_BOULDER, $f + 4, $16 + 4, $ff, $10, $a ; person
-
-	; warp-to
-	EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_2
-	EVENT_DISP $f, $8, $1a ; VICTORY_ROAD_2
-	EVENT_DISP $f, $f, $1b ; VICTORY_ROAD_2
-	EVENT_DISP $f, $0, $2 ; VICTORY_ROAD_2
-
-VictoryRoad3Blocks: ; 0x44b37 135
-	INCBIN "maps/victoryroad3.blk"
-
-RocketHideout1_h: ; 0x44bbe to 0x44bca (12 bytes) (bank=11) (id=199)
-	db $16 ; tileset
-	db ROCKET_HIDEOUT_1_HEIGHT, ROCKET_HIDEOUT_1_WIDTH ; dimensions (y, x)
-	dw RocketHideout1Blocks, RocketHideout1Texts, RocketHideout1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RocketHideout1Object ; objects
-
-RocketHideout1Script: ; 0x44bca
-	call Unknown_44be0
-	call $3c3c
-	ld hl, RocketHideout1TrainerHeaders
-	ld de, $4c0e
-	ld a, [$d631]
-	call $3160
-	ld [$d631], a
-	ret
-; 0x44be0
-
-Unknown_44be0: ; 0x44be0
-INCBIN "baserom.gbc",$44be0,$34
-
-RocketHideout1Texts: ; 0x44c14
-	dw RocketHideout1Text1, RocketHideout1Text2, RocketHideout1Text3, RocketHideout1Text4, RocketHideout1Text5, RocketHideout1Text6, RocketHideout1Text7
-
-RocketHideout1TrainerHeaders:
-TrainerHeader_44c22: ; 0x44c22
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d815 ; flag's byte
-	dw UnnamedText_44ca1 ; 0x4ca1 TextBeforeBattle
-	dw UnnamedText_44cab ; 0x4cab TextAfterBattle
-	dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle
-	dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle
-; 0x44c2e
-
-TrainerHeader_44c2e: ; 0x44c2e
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d815 ; flag's byte
-	dw UnnamedText_44cb0 ; 0x4cb0 TextBeforeBattle
-	dw UnnamedText_44cba ; 0x4cba TextAfterBattle
-	dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle
-	dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle
-; 0x44c3a
-
-TrainerHeader_44c3a: ; 0x44c3a
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d815 ; flag's byte
-	dw UnnamedText_44cbf ; 0x4cbf TextBeforeBattle
-	dw UnnamedText_44cc9 ; 0x4cc9 TextAfterBattle
-	dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle
-	dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle
-; 0x44c46
-
-TrainerHeader_44c46: ; 0x44c46
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d815 ; flag's byte
-	dw UnnamedText_44cce ; 0x4cce TextBeforeBattle
-	dw UnnamedText_44cd8 ; 0x4cd8 TextAfterBattle
-	dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle
-	dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle
-; 0x44c52
-
-TrainerHeader_44c52: ; 0x44c52
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d815 ; flag's byte
-	dw UnnamedText_44cdd ; 0x4cdd TextBeforeBattle
-	dw UnnamedText_44ce2 ; 0x4ce2 TextAfterBattle
-	dw UnnamedText_44c91 ; 0x4c91 TextEndBattle
-	dw UnnamedText_44c91 ; 0x4c91 TextEndBattle
-; 0x44c5e
-
-db $ff
-
-RocketHideout1Text1: ; 0x44c5f
-	db $08 ; asm
-	ld hl, TrainerHeader_44c22
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RocketHideout1Text2: ; 0x44c69
-	db $08 ; asm
-	ld hl, TrainerHeader_44c2e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RocketHideout1Text3: ; 0x44c73
-	db $08 ; asm
-	ld hl, TrainerHeader_44c3a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RocketHideout1Text4: ; 0x44c7d
-	db $08 ; asm
-	ld hl, TrainerHeader_44c46
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RocketHideout1Text5: ; 0x44c87
-	db $08 ; asm
-	ld hl, TrainerHeader_44c52
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_44c91: ; 0x44c91
-	TX_FAR _UnnamedText_44c91 ; 0x81f2a
-	db $8
-	ld hl, $d815
-	set 5, [hl]
-	ld hl, UnnamedText_44c9f
-	ret
-; 0x44c9f
-
-UnnamedText_44c9f: ; 0x44c9f
-	db $6, $50
-; 0x44ca1
-
-UnnamedText_44ca1: ; 0x44ca1
-	TX_FAR _UnnamedText_44ca1
-	db $50
-; 0x44ca1 + 5 bytes
-
-UnnamedText_44ca6: ; 0x44ca6
-	TX_FAR _UnnamedText_44ca6
-	db $50
-; 0x44ca6 + 5 bytes
-
-UnnamedText_44cab: ; 0x44cab
-	TX_FAR _UnnamedText_44cab
-	db $50
-; 0x44cab + 5 bytes
-
-UnnamedText_44cb0: ; 0x44cb0
-	TX_FAR _UnnamedText_44cb0
-	db $50
-; 0x44cb0 + 5 bytes
-
-UnnamedText_44cb5: ; 0x44cb5
-	TX_FAR _UnnamedText_44cb5
-	db $50
-; 0x44cb5 + 5 bytes
-
-UnnamedText_44cba: ; 0x44cba
-	TX_FAR _UnnamedText_44cba
-	db $50
-; 0x44cba + 5 bytes
-
-UnnamedText_44cbf: ; 0x44cbf
-	TX_FAR _UnnamedText_44cbf
-	db $50
-; 0x44cbf + 5 bytes
-
-UnnamedText_44cc4: ; 0x44cc4
-	TX_FAR _UnnamedText_44cc4
-	db $50
-; 0x44cc4 + 5 bytes
-
-UnnamedText_44cc9: ; 0x44cc9
-	TX_FAR _UnnamedText_44cc9
-	db $50
-; 0x44cc9 + 5 bytes
-
-UnnamedText_44cce: ; 0x44cce
-	TX_FAR _UnnamedText_44cce
-	db $50
-; 0x44cce + 5 bytes
-
-UnnamedText_44cd3: ; 0x44cd3
-	TX_FAR _UnnamedText_44cd3
-	db $50
-; 0x44cd3 + 5 bytes
-
-UnnamedText_44cd8: ; 0x44cd8
-	TX_FAR _UnnamedText_44cd8
-	db $50
-; 0x44cd8 + 5 bytes
-
-UnnamedText_44cdd: ; 0x44cdd
-	TX_FAR _UnnamedText_44cdd
-	db $50
-; 0x44cdd + 5 bytes
-
-UnnamedText_44ce2: ; 0x44ce2
-	TX_FAR _UnnamedText_44ce2
-	db $50
-; 0x44ce2 + 5 bytes
-
-RocketHideout1Object: ; 0x44ce7 (size=98)
-	db $2e ; border tile
-
-	db $5 ; warps
-	db $2, $17, $0, ROCKET_HIDEOUT_2
-	db $2, $15, $2, GAME_CORNER
-	db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR
-	db $18, $15, $3, ROCKET_HIDEOUT_2
-	db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR
-
-	db $0 ; signs
-
-	db $7 ; people
-	db SPRITE_ROCKET, $8 + 4, $1a + 4, $ff, $d2, $41, ROCKET + $C8, $8 ; trainer
-	db SPRITE_ROCKET, $6 + 4, $c + 4, $ff, $d3, $42, ROCKET + $C8, $9 ; trainer
-	db SPRITE_ROCKET, $11 + 4, $12 + 4, $ff, $d0, $43, ROCKET + $C8, $a ; trainer
-	db SPRITE_ROCKET, $19 + 4, $f + 4, $ff, $d3, $44, ROCKET + $C8, $b ; trainer
-	db SPRITE_ROCKET, $12 + 4, $1c + 4, $ff, $d2, $45, ROCKET + $C8, $c ; trainer
-	db SPRITE_BALL, $e + 4, $b + 4, $ff, $ff, $86, ESCAPE_ROPE ; item
-	db SPRITE_BALL, $11 + 4, $9 + 4, $ff, $ff, $87, HYPER_POTION ; item
-
-	; warp-to
-	EVENT_DISP $f, $2, $17 ; ROCKET_HIDEOUT_2
-	EVENT_DISP $f, $2, $15 ; GAME_CORNER
-	EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR
-	EVENT_DISP $f, $18, $15 ; ROCKET_HIDEOUT_2
-	EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR
-
-RocketHideout1Blocks: ; 0x44d49 210
-	INCBIN "maps/rockethideout1.blk"
-
-RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200)
-	db $16 ; tileset
-	db ROCKET_HIDEOUT_2_HEIGHT, ROCKET_HIDEOUT_2_WIDTH ; dimensions (y, x)
-	dw RocketHideout2Blocks, RocketHideout2Texts, RocketHideout2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RocketHideout2Object ; objects
-
-RocketHideout2Script: ; 0x44e27
-	call $3c3c
-	ld hl, RocketHideout2TrainerHeaders
-	ld de, RocketHideout2_Unknown44e3a
-	ld a, [$d632]
-	call $3160
-	ld [$d632], a
-	ret
-; 0x44e3a
-
-RocketHideout2_Unknown44e3a: ; 0x44ea
-INCBIN "baserom.gbc",$44e3a,$28d
-
-RocketHideout2Texts: ; 0x450c7
-	dw RocketHideout2Text1, RocketHideout2Text2, RocketHideout2Text3, RocketHideout2Text4, RocketHideout2Text5
-
-RocketHideout2TrainerHeaders:
-TrainerHeader_450d1: ; 0x450d1
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d817 ; flag's byte
-	dw UnnamedText_450e8 ; 0x50e8 TextBeforeBattle
-	dw UnnamedText_450f2 ; 0x50f2 TextAfterBattle
-	dw UnnamedText_450ed ; 0x50ed TextEndBattle
-	dw UnnamedText_450ed ; 0x50ed TextEndBattle
-; 0x450dd
-
-db $ff
-
-RocketHideout2Text1: ; 0x450de
-	db $08 ; asm
-	ld hl, TrainerHeader_450d1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_450e8: ; 0x450e8
-	TX_FAR _UnnamedText_450e8
-	db $50
-; 0x450e8 + 5 bytes
-
-UnnamedText_450ed: ; 0x450ed
-	TX_FAR _UnnamedText_450ed
-	db $50
-; 0x450ed + 5 bytes
-
-UnnamedText_450f2: ; 0x450f2
-	TX_FAR _UnnamedText_450f2
-	db $50
-; 0x450f2 + 5 bytes
-
-RocketHideout2Object: ; 0x450f7 (size=80)
-	db $2e ; border tile
-
-	db $5 ; warps
-	db $8, $1b, $0, ROCKET_HIDEOUT_1
-	db $8, $15, $0, ROCKET_HIDEOUT_3
-	db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR
-	db $16, $15, $3, ROCKET_HIDEOUT_1
-	db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_ROCKET, $c + 4, $14 + 4, $ff, $d0, $41, ROCKET + $C8, $d ; trainer
-	db SPRITE_BALL, $b + 4, $1 + 4, $ff, $ff, $82, MOON_STONE ; item
-	db SPRITE_BALL, $8 + 4, $10 + 4, $ff, $ff, $83, NUGGET ; item
-	db SPRITE_BALL, $c + 4, $6 + 4, $ff, $ff, $84, TM_07 ; item
-	db SPRITE_BALL, $15 + 4, $3 + 4, $ff, $ff, $85, SUPER_POTION ; item
-
-	; warp-to
-	EVENT_DISP $f, $8, $1b ; ROCKET_HIDEOUT_1
-	EVENT_DISP $f, $8, $15 ; ROCKET_HIDEOUT_3
-	EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR
-	EVENT_DISP $f, $16, $15 ; ROCKET_HIDEOUT_1
-	EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR
-
-RocketHideout2Blocks: ; 0x45147 210
-	INCBIN "maps/rockethideout2.blk"
-
-RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201)
-	db $16 ; tileset
-	db ROCKET_HIDEOUT_3_HEIGHT, ROCKET_HIDEOUT_3_WIDTH ; dimensions (y, x)
-	dw RocketHideout3Blocks, RocketHideout3Texts, RocketHideout3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RocketHideout3Object ; objects
-
-RocketHideout3Script: ; 0x45225
-	call $3c3c
-	ld hl, RocketHideout3TrainerHeaders
-	ld de, RocketHideout3Script_Unknown45238
-	ld a, [$d633]
-	call $3160
-	ld [$d633], a
-	ret
-; 0x45238
-
-RocketHideout3Script_Unknown45238: ; 0x45238
-INCBIN "baserom.gbc",$45238,$c2
-
-RocketHideout3Texts: ; 0x452fa
-	dw RocketHideout3Text1, RocketHideout3Text2, RocketHideout3Text3, RocketHideout3Text4
-
-RocketHideout3TrainerHeaders:
-TrainerHeader_45302: ; 0x45302
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d819 ; flag's byte
-	dw UnnamedText_45325 ; 0x5325 TextBeforeBattle
-	dw UnnamedText_4532f ; 0x532f TextAfterBattle
-	dw UnnamedText_4532a ; 0x532a TextEndBattle
-	dw UnnamedText_4532a ; 0x532a TextEndBattle
-; 0x4530e
-
-TrainerHeader_4530e: ; 0x4530e
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d819 ; flag's byte
-	dw UnnamedText_4533e ; 0x533e TextBeforeBattle
-	dw UnnamedText_45348 ; 0x5348 TextAfterBattle
-	dw UnnamedText_45343 ; 0x5343 TextEndBattle
-	dw UnnamedText_45343 ; 0x5343 TextEndBattle
-; 0x4531a
-
-db $ff
-
-RocketHideout3Text1: ; 0x4531b
-	db $08 ; asm
-	ld hl, TrainerHeader_45302
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_45325: ; 0x45325
-	TX_FAR _UnnamedText_45325
-	db $50
-; 0x45325 + 5 bytes
-
-UnnamedText_4532a: ; 0x4532a
-	TX_FAR _UnnamedText_4532a
-	db $50
-; 0x4532a + 5 bytes
-
-UnnamedText_4532f: ; 0x4532f
-	TX_FAR _UnnamedText_4532f
-	db $50
-; 0x4532f + 5 bytes
-
-RocketHideout3Text2: ; 0x45334
-	db $08 ; asm
-	ld hl, TrainerHeader_4530e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_4533e: ; 0x4533e
-	TX_FAR _UnnamedText_4533e
-	db $50
-; 0x4533e + 5 bytes
-
-UnnamedText_45343: ; 0x45343
-	TX_FAR _UnnamedText_45343
-	db $50
-; 0x45343 + 5 bytes
-
-UnnamedText_45348: ; 0x45348
-	TX_FAR _UnnamedText_45348
-	db $50
-; 0x45348 + 5 bytes
-
-RocketHideout3Object: ; 0x4534d (size=50)
-	db $2e ; border tile
-
-	db $2 ; warps
-	db $6, $19, $1, ROCKET_HIDEOUT_2
-	db $12, $13, $0, ROCKET_HIDEOUT_4
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_ROCKET, $16 + 4, $a + 4, $ff, $d3, $41, ROCKET + $C8, $e ; trainer
-	db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d1, $42, ROCKET + $C8, $f ; trainer
-	db SPRITE_BALL, $11 + 4, $1a + 4, $ff, $ff, $83, TM_10 ; item
-	db SPRITE_BALL, $e + 4, $14 + 4, $ff, $ff, $84, RARE_CANDY ; item
-
-	; warp-to
-	EVENT_DISP $f, $6, $19 ; ROCKET_HIDEOUT_2
-	EVENT_DISP $f, $12, $13 ; ROCKET_HIDEOUT_4
-
-RocketHideout3Blocks: ; 0x4537f 210
-	INCBIN "maps/rockethideout3.blk"
-
-RocketHideout4_h: ; 0x45451 to 0x4545d (12 bytes) (bank=11) (id=202)
-	db $16 ; tileset
-	db ROCKET_HIDEOUT_4_HEIGHT, ROCKET_HIDEOUT_4_WIDTH ; dimensions (y, x)
-	dw RocketHideout4Blocks, RocketHideout4Texts, RocketHideout4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RocketHideout4Object ; objects
-
-RocketHideout4Script: ; 0x4545d
-	call Unnamed_45473
-	call $3c3c
-	ld hl, TrainerHeader_45515
-	ld de, $54ae
-	ld a, [$d634]
-	call $3160
-	ld [$d634], a
-	ret
-; 0x45473
-
-Unnamed_45473: ; 0x45473
-INCBIN "baserom.gbc",$45473,$8e
-
-RocketHideout4Texts: ; 0x45501
-	dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, RocketHideout4Text5, RocketHideout4Text6, RocketHideout4Text7, RocketHideout4Text8, RocketHideout4Text9, RocketHideout4Text10
-
-RocketHideout4TrainerHeaders:
-TrainerHeader_45515: ; 0x45515
-	db $2 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d81b ; flag's byte
-	dw UnnamedText_45593 ; 0x5593 TextBeforeBattle
-	dw UnnamedText_4559d ; 0x559d TextAfterBattle
-	dw UnnamedText_45598 ; 0x5598 TextEndBattle
-	dw UnnamedText_45598 ; 0x5598 TextEndBattle
-; 0x45521
-
-TrainerHeader_45521: ; 0x45521
-	db $3 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d81b ; flag's byte
-	dw UnnamedText_455ac ; 0x55ac TextBeforeBattle
-	dw UnnamedText_455b6 ; 0x55b6 TextAfterBattle
-	dw UnnamedText_455b1 ; 0x55b1 TextEndBattle
-	dw UnnamedText_455b1 ; 0x55b1 TextEndBattle
-; 0x4552d
-
-TrainerHeader_4552d: ; 0x4552d
-	db $4 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d81b ; flag's byte
-	dw UnnamedText_455c5 ; 0x55c5 TextBeforeBattle
-	dw UnknownText_455cf ; 0x55cf TextAfterBattle
-	dw UnnamedText_455ca ; 0x55ca TextEndBattle
-	dw UnnamedText_455ca ; 0x55ca TextEndBattle
-; 0x45539
-
-db $ff
-
-RocketHideout4Text1: ; 0x4553a
-	db $08 ; asm
-	ld a, [$d81b]
-	bit 7, a
-	jp nz, $5571
-	ld hl, UnnamedText_4557a
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_4557f
-	ld de, $557f ; probably UnnamedText_4557f
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	xor a
-	ldh [$b4], a
-	ld a, $3
-	ld [$d634], a
-	ld [$da39], a
-	jr .asm_209f0 ; 0x4556f
-	ld hl, RocketHideout4Text10
-	call PrintText
-.asm_209f0 ; 0x45577
-	jp TextScriptEnd
-
-UnnamedText_4557a: ; 0x4557a
-	TX_FAR _UnnamedText_4557a
-	db $50
-; 0x4557a + 5 bytes
-
-UnnamedText_4557f: ; 0x4557f
-	TX_FAR _UnnamedText_4557f
-	db $50
-; 0x4557f + 5 bytes
-
-RocketHideout4Text10: ; 0x45584
-	TX_FAR _UnnamedText_45584
-	db $50
-; 0x45584 + 5 bytes
-
-RocketHideout4Text2: ; 0x45589
-	db $08 ; asm
-	ld hl, TrainerHeader_45515
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_45593: ; 0x45593
-	TX_FAR _UnnamedText_45593
-	db $50
-; 0x45593 + 5 bytes
-
-UnnamedText_45598: ; 0x45598
-	TX_FAR _UnnamedText_45598
-	db $50
-; 0x45598 + 5 bytes
-
-UnnamedText_4559d: ; 0x4559d
-	TX_FAR _UnnamedText_4559d
-	db $50
-; 0x4559d + 5 bytes
-
-RocketHideout4Text3: ; 0x455a2
-	db $08 ; asm
-	ld hl, TrainerHeader_45521
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_455ac: ; 0x455ac
-	TX_FAR _UnnamedText_455ac
-	db $50
-; 0x455ac + 5 bytes
-
-UnnamedText_455b1: ; 0x455b1
-	TX_FAR _UnnamedText_455b1
-	db $50
-; 0x455b1 + 5 bytes
-
-UnnamedText_455b6: ; 0x455b6
-	TX_FAR _UnnamedText_455b6
-	db $50
-; 0x455b6 + 5 bytes
-
-RocketHideout4Text4: ; 0x455bb
-	db $08 ; asm
-	ld hl, TrainerHeader_4552d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_455c5: ; 0x455c5
-	TX_FAR _UnnamedText_455c5
-	db $50
-; 0x455c5 + 5 bytes
-
-UnnamedText_455ca: ; 0x455ca
-	TX_FAR _UnnamedText_455ca
-	db $50
-; 0x455ca + 5 bytes
-
-UnknownText_455cf: ; 0x455cf
-	db $8
-	ld hl, $55ec
-	call PrintText
-	ld hl, $d81b
-	bit 6, [hl]
-	set 6, [hl]
-	jr nz, .asm_455e9 ; 0x455dd $a
-	ld a, $88
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-.asm_455e9
-	jp TextScriptEnd
-; 0x455ec
-
-UnnamedText_455ec: ; 0x455ec
-	TX_FAR _UnnamedText_455ec
-	db $50
-; 0x455ec + 5 bytes
-
-RocketHideout4Object: ; 0x455f1 (size=95)
-	db $2e ; border tile
-
-	db $3 ; warps
-	db $a, $13, $1, ROCKET_HIDEOUT_3
-	db $f, $18, $0, ROCKET_HIDEOUT_ELEVATOR
-	db $f, $19, $1, ROCKET_HIDEOUT_ELEVATOR
-
-	db $0 ; signs
-
-	db $9 ; people
-	db SPRITE_GIOVANNI, $3 + 4, $19 + 4, $ff, $d0, $41, GIOVANNI + $C8, $1 ; trainer
-	db SPRITE_ROCKET, $c + 4, $17 + 4, $ff, $d0, $42, ROCKET + $C8, $10 ; trainer
-	db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d0, $43, ROCKET + $C8, $11 ; trainer
-	db SPRITE_ROCKET, $2 + 4, $b + 4, $ff, $d0, $44, ROCKET + $C8, $12 ; trainer
-	db SPRITE_BALL, $c + 4, $a + 4, $ff, $ff, $85, HP_UP ; item
-	db SPRITE_BALL, $4 + 4, $9 + 4, $ff, $ff, $86, TM_02 ; item
-	db SPRITE_BALL, $14 + 4, $c + 4, $ff, $ff, $87, IRON ; item
-	db SPRITE_BALL, $2 + 4, $19 + 4, $ff, $ff, $88, SILPH_SCOPE ; item
-	db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $89, LIFT_KEY ; item
-
-	; warp-to
-	EVENT_DISP $f, $a, $13 ; ROCKET_HIDEOUT_3
-	EVENT_DISP $f, $f, $18 ; ROCKET_HIDEOUT_ELEVATOR
-	EVENT_DISP $f, $f, $19 ; ROCKET_HIDEOUT_ELEVATOR
-
-RocketHideout4Blocks: ; 0x45650 180
-	INCBIN "maps/rockethideout4.blk"
-
-RocketHideoutElevator_h: ; 0x45704 to 0x45710 (12 bytes) (bank=11) (id=203)
-	db $12 ; tileset
-	db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x)
-	dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTexts, RocketHideoutElevatorScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RocketHideoutElevatorObject ; objects
-
-RocketHideoutElevatorScript: ; 0x45710
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, RocketHideoutElevatorScript_Unknown4572c
-	pop hl
-	bit 7, [hl]
-	res 7, [hl]
-	call nz, $575f
-	xor a
-	ld [$cf0c], a
-	inc a
-	ld [$cc3c], a
-	ret
-; 0x4572c
-
-RocketHideoutElevatorScript_Unknown4572c: ; 0x4572c
-INCBIN "baserom.gbc",$4572c,$3f
-
-RocketHideoutElevatorTexts: ; 0x4576b
-	dw RocketHideoutElevatorText1
-
-RocketHideoutElevatorText1: ; 0x4576d
-	db $08 ; asm
-	ld b, LIFT_KEY
-	call $3493
-	jr z, .asm_8d8f0 ; 0x45773
-	call $5741
-	ld hl, $5759
-	ld a, $61
-	call Predef
-	jr .asm_46c43 ; 0x45780
-.asm_8d8f0 ; 0x45782
-	ld hl, UnnamedText_4578b
-	call PrintText
-.asm_46c43 ; 0x45788
-	jp TextScriptEnd
-
-UnnamedText_4578b: ; 0x4578b
-	TX_FAR _UnnamedText_4578b ; 0x82438
-	db $d, $50
-
-RocketHideoutElevatorObject: ; 0x45791 (size=23)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $1, $2, $2, ROCKET_HIDEOUT_1
-	db $1, $3, $4, ROCKET_HIDEOUT_1
-
-	db $1 ; signs
-	db $1, $1, $1 ; RocketHideoutElevatorText1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $3, $1, $2 ; ROCKET_HIDEOUT_1
-	EVENT_DISP $3, $1, $3 ; ROCKET_HIDEOUT_1
-
-RocketHideoutElevatorBlocks: ; 0x457a8 12
-	INCBIN "maps/rockethideoutelevator.blk"
-
-SilphCoElevator_h: ; 0x457b4 to 0x457c0 (12 bytes) (bank=11) (id=236)
-	db $12 ; tileset
-	db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x)
-	dw SilphCoElevatorBlocks, SilphCoElevatorTexts, SilphCoElevatorScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCoElevatorObject ; objects
-
-SilphCoElevatorScript: ; 0x457c0
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, SilphCoElevatorScript_Unknown457dc
-	pop hl
-	bit 7, [hl]
-	res 7, [hl]
-	call nz, $5827
-	xor a
-	ld [$cf0c], a
-	inc a
-	ld [$cc3c], a
-	ret
-; 0x457dc
-
-SilphCoElevatorScript_Unknown457dc: ; 0x457dc
-INCBIN "baserom.gbc",$457dc,$57
-
-SilphCoElevatorTexts: ; 0x45833
-	dw SilphCoElevatorText1
-
-SilphCoElevatorText1: ; 0x45835
-	db $08 ; asm
-	call $57f1
-	ld hl, $5811
-	ld a, $61
-	call Predef
-	jp TextScriptEnd
-
-SilphCoElevatorObject: ; 0x45844 (size=23)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $3, $1, $0, $ed
-	db $3, $2, $0, $ed
-
-	db $1 ; signs
-	db $0, $3, $1 ; SilphCoElevatorText1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $2, $3, $1
-	EVENT_DISP $2, $3, $2
-
-SilphCoElevatorBlocks: ; 0x4585b 4
-	INCBIN "maps/silphcoelevator.blk"
-
-SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217)
-	db $03 ; tileset
-	db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x)
-	dw SafariZoneEastBlocks, SafariZoneEastTexts, SafariZoneEastScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneEastObject ; objects
-
-SafariZoneEastScript: ; 0x4586b
-	jp $3c3c
-; 0x4586e
-
-SafariZoneEastTexts: ; 0x4586e
-	dw SafariZoneEastText1, SafariZoneEastText2, SafariZoneEastText3, SafariZoneEastText4, SafariZoneEastText5, SafariZoneEastText6, SafariZoneEastText7
-
-SafariZoneEastText5: ; 0x4587c
-	TX_FAR _SafariZoneEastText5
-	db $50
-
-SafariZoneEastText6: ; 0x45881
-	TX_FAR _SafariZoneEastText6
-	db $50
-
-SafariZoneEastText7: ; 0x45886
-	TX_FAR _SafariZoneEastText7
-	db $50
-
-SafariZoneEastObject: ; 0x4588b (size=81)
-	db $0 ; border tile
-
-	db $5 ; warps
-	db $4, $0, $6, SAFARI_ZONE_NORTH
-	db $5, $0, $7, SAFARI_ZONE_NORTH
-	db $16, $0, $6, SAFARI_ZONE_CENTER
-	db $17, $0, $6, SAFARI_ZONE_CENTER
-	db $9, $19, $0, SAFARI_ZONE_REST_HOUSE_3
-
-	db $3 ; signs
-	db $a, $1a, $5 ; SafariZoneEastText5
-	db $4, $6, $6 ; SafariZoneEastText6
-	db $17, $5, $7 ; SafariZoneEastText7
-
-	db $4 ; people
-	db SPRITE_BALL, $a + 4, $15 + 4, $ff, $ff, $81, FULL_RESTORE ; item
-	db SPRITE_BALL, $7 + 4, $3 + 4, $ff, $ff, $82, MAX_POTION ; item
-	db SPRITE_BALL, $d + 4, $14 + 4, $ff, $ff, $83, CARBOS ; item
-	db SPRITE_BALL, $c + 4, $f + 4, $ff, $ff, $84, TM_37 ; item
-
-	; warp-to
-	EVENT_DISP $f, $4, $0 ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $5, $0 ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $16, $0 ; SAFARI_ZONE_CENTER
-	EVENT_DISP $f, $17, $0 ; SAFARI_ZONE_CENTER
-	EVENT_DISP $f, $9, $19 ; SAFARI_ZONE_REST_HOUSE_3
-
-SafariZoneEastBlocks: ; 0x458dc 195
-	INCBIN "maps/safarizoneeast.blk"
-
-SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218)
-	db $03 ; tileset
-	db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x)
-	dw SafariZoneNorthBlocks, SafariZoneNorthTexts, SafariZoneNorthScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneNorthObject ; objects
-
-SafariZoneNorthScript: ; 0x459ab
-	jp $3c3c
-; 0x459ae
-
-SafariZoneNorthTexts: ; 0x459ae
-	dw SafariZoneNorthText1, SafariZoneNorthText2, SafariZoneNorthText3, SafariZoneNorthText4, SafariZoneNorthText5, SafariZoneNorthText6, SafariZoneNorthText7
-
-SafariZoneNorthText3: ; 0x459bc
-	TX_FAR _SafariZoneNorthText3
-	db $50
-
-SafariZoneNorthText4: ; 0x459c1
-	TX_FAR _SafariZoneNorthText4
-	db $50
-
-SafariZoneNorthText5: ; 0x459c6
-	TX_FAR _SafariZoneNorthText5
-	db $50
-
-SafariZoneNorthText6: ; 0x459cb
-	TX_FAR _SafariZoneNorthText6
-	db $50
-
-SafariZoneNorthText7: ; 0x459d0
-	TX_FAR _SafariZoneNorthText7
-	db $50
-
-SafariZoneNorthObject: ; 0x459d5 (size=105)
-	db $0 ; border tile
-
-	db $9 ; warps
-	db $23, $2, $0, SAFARI_ZONE_WEST
-	db $23, $3, $1, SAFARI_ZONE_WEST
-	db $23, $8, $2, SAFARI_ZONE_WEST
-	db $23, $9, $3, SAFARI_ZONE_WEST
-	db $23, $14, $4, SAFARI_ZONE_CENTER
-	db $23, $15, $5, SAFARI_ZONE_CENTER
-	db $1e, $27, $0, SAFARI_ZONE_EAST
-	db $1f, $27, $1, SAFARI_ZONE_EAST
-	db $3, $23, $0, SAFARI_ZONE_REST_HOUSE_4
-
-	db $5 ; signs
-	db $4, $24, $3 ; SafariZoneNorthText3
-	db $19, $4, $4 ; SafariZoneNorthText4
-	db $1f, $d, $5 ; SafariZoneNorthText5
-	db $21, $13, $6 ; SafariZoneNorthText6
-	db $1c, $1a, $7 ; SafariZoneNorthText7
-
-	db $2 ; people
-	db SPRITE_BALL, $1 + 4, $19 + 4, $ff, $ff, $81, PROTEIN ; item
-	db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $82, TM_40 ; item
-
-	; warp-to
-	EVENT_DISP $14, $23, $2 ; SAFARI_ZONE_WEST
-	EVENT_DISP $14, $23, $3 ; SAFARI_ZONE_WEST
-	EVENT_DISP $14, $23, $8 ; SAFARI_ZONE_WEST
-	EVENT_DISP $14, $23, $9 ; SAFARI_ZONE_WEST
-	EVENT_DISP $14, $23, $14 ; SAFARI_ZONE_CENTER
-	EVENT_DISP $14, $23, $15 ; SAFARI_ZONE_CENTER
-	EVENT_DISP $14, $1e, $27 ; SAFARI_ZONE_EAST
-	EVENT_DISP $14, $1f, $27 ; SAFARI_ZONE_EAST
-	EVENT_DISP $14, $3, $23 ; SAFARI_ZONE_REST_HOUSE_4
-
-SafariZoneNorthBlocks: ; 0x45a3e 360
-	INCBIN "maps/safarizonenorth.blk"
-
-SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220)
-	db $03 ; tileset
-	db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x)
-	dw SafariZoneCenterBlocks, SafariZoneCenterTexts, SafariZoneCenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneCenterObject ; objects
-
-SafariZoneCenterScript: ; 0x45bb2
-	jp $3c3c
-; 0x45bb5
-
-SafariZoneCenterTexts: ; 0x45bb5
-	dw SafariZoneCenterText1, SafariZoneCenterText2, SafariZoneCenterText3
-
-SafariZoneCenterText2: ; 0x45bbb
-	TX_FAR _SafariZoneCenterText2
-	db $50
-
-SafariZoneCenterText3: ; 0x45bc0
-	TX_FAR _SafariZoneCenterText3
-	db $50
-
-SafariZoneCenterObject: ; 0x45bc5 (size=89)
-	db $0 ; border tile
-
-	db $9 ; warps
-	db $19, $e, $2, SAFARIZONEENTRANCE
-	db $19, $f, $3, SAFARIZONEENTRANCE
-	db $a, $0, $4, SAFARI_ZONE_WEST
-	db $b, $0, $5, SAFARI_ZONE_WEST
-	db $0, $e, $4, SAFARI_ZONE_NORTH
-	db $0, $f, $5, SAFARI_ZONE_NORTH
-	db $a, $1d, $2, SAFARI_ZONE_EAST
-	db $b, $1d, $3, SAFARI_ZONE_EAST
-	db $13, $11, $0, SAFARI_ZONE_REST_HOUSE_1
-
-	db $2 ; signs
-	db $14, $12, $2 ; SafariZoneCenterText2
-	db $16, $e, $3 ; SafariZoneCenterText3
-
-	db $1 ; people
-	db SPRITE_BALL, $a + 4, $e + 4, $ff, $ff, $81, NUGGET ; item
-
-	; warp-to
-	EVENT_DISP $f, $19, $e ; SAFARIZONEENTRANCE
-	EVENT_DISP $f, $19, $f ; SAFARIZONEENTRANCE
-	EVENT_DISP $f, $a, $0 ; SAFARI_ZONE_WEST
-	EVENT_DISP $f, $b, $0 ; SAFARI_ZONE_WEST
-	EVENT_DISP $f, $0, $e ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $0, $f ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $a, $1d ; SAFARI_ZONE_EAST
-	EVENT_DISP $f, $b, $1d ; SAFARI_ZONE_EAST
-	EVENT_DISP $f, $13, $11 ; SAFARI_ZONE_REST_HOUSE_1
-
-SafariZoneCenterBlocks: ; 0x45c1e 195
-	INCBIN "maps/safarizonecenter.blk"
-
-SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221)
-	db $0c ; tileset
-	db SAFARI_ZONE_REST_HOUSE_1_HEIGHT, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1Texts, SafariZoneRestHouse1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneRestHouse1Object ; objects
-
-SafariZoneRestHouse1Script: ; 0x45ced
-	jp $3c3c
-; 0x45cf0
-
-SafariZoneRestHouse1Texts: ; 0x45cf0
-	dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2
-
-SafariZoneRestHouse1Text1: ; 0x45cf4
-	TX_FAR _SafariZoneRestHouse1Text1
-	db $50
-
-SafariZoneRestHouse1Text2: ; 0x45cf9
-	TX_FAR _SafariZoneRestHouse1Text2
-	db $50
-
-SafariZoneRestHouse1Object: ; 0x45cfe (size=32)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $8, SAFARI_ZONE_CENTER
-	db $7, $3, $8, SAFARI_ZONE_CENTER
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_GIRL, $2 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $fe, $1, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_CENTER
-	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_CENTER
-
-SafariZoneRestHouse2_h: ; 0x45d1e to 0x45d2a (12 bytes) (bank=11) (id=223)
-	db $0c ; tileset
-	db SAFARI_ZONE_REST_HOUSE_2_HEIGHT, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw $40fb, SafariZoneRestHouse2Texts, SafariZoneRestHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneRestHouse2Object ; objects
-
-SafariZoneRestHouse2Script: ; 0x45d2a
-	call $3c3c
-	ret
-; 0x45d2e
-
-SafariZoneRestHouse2Texts: ; 0x45d2e
-	dw SafariZoneRestHouse2Text1, SafariZoneRestHouse2Text2, SafariZoneRestHouse2Text3
-
-SafariZoneRestHouse2Text1: ; 0x45d34
-	TX_FAR _SafariZoneRestHouse2Text1
-	db $50
-
-SafariZoneRestHouse2Text2: ; 0x45d39
-	TX_FAR _SafariZoneRestHouse2Text2
-	db $50
-
-SafariZoneRestHouse2Text3: ; 0x45d3e
-	TX_FAR _SafariZoneRestHouse2Text3
-	db $50
-
-SafariZoneRestHouse2Object: ; 0x45d43 (size=38)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $7, SAFARI_ZONE_WEST
-	db $7, $3, $7, SAFARI_ZONE_WEST
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_OAK_AIDE, $4 + 4, $4 + 4, $fe, $0, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $0 + 4, $ff, $d3, $2 ; person
-	db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $d0, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST
-	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST
-
-SafariZoneRestHouse3_h: ; 0x45d69 to 0x45d75 (12 bytes) (bank=11) (id=224)
-	db $0c ; tileset
-	db SAFARI_ZONE_REST_HOUSE_3_HEIGHT, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw $40fb, SafariZoneRestHouse3Texts, SafariZoneRestHouse3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneRestHouse3Object ; objects
-
-SafariZoneRestHouse3Script: ; 0x45d75
-	call $3c3c
-	ret
-; 0x45d79
-
-SafariZoneRestHouse3Texts: ; 0x45d79
-	dw SafariZoneRestHouse3Text1, SafariZoneRestHouse3Text2, SafariZoneRestHouse3Text3
-
-SafariZoneRestHouse3Text1: ; 0x45d7f
-	TX_FAR _SafariZoneRestHouse3Text1
-	db $50
-
-SafariZoneRestHouse3Text2: ; 0x45d84
-	TX_FAR _SafariZoneRestHouse3Text2
-	db $50
-
-SafariZoneRestHouse3Text3: ; 0x45d89
-	TX_FAR _SafariZoneRestHouse3Text3
-	db $50
-
-SafariZoneRestHouse3Object: ; 0x45d8e (size=38)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $4, SAFARI_ZONE_EAST
-	db $7, $3, $4, SAFARI_ZONE_EAST
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_OAK_AIDE, $3 + 4, $1 + 4, $fe, $1, $1 ; person
-	db SPRITE_ROCKER, $2 + 4, $4 + 4, $ff, $ff, $2 ; person
-	db SPRITE_LAPRAS_GIVER, $2 + 4, $5 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_EAST
-	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_EAST
-
-SafariZoneRestHouse4_h: ; 0x45db4 to 0x45dc0 (12 bytes) (bank=11) (id=225)
-	db $0c ; tileset
-	db SAFARI_ZONE_REST_HOUSE_4_HEIGHT, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; dimensions (y, x)
-	dw $40fb, SafariZoneRestHouse4Texts, SafariZoneRestHouse4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneRestHouse4Object ; objects
-
-SafariZoneRestHouse4Script: ; 0x45dc0
-	call $3c3c
-	ret
-; 0x45dc4
-
-SafariZoneRestHouse4Texts: ; 0x45dc4
-	dw SafariZoneRestHouse4Text1, SafariZoneRestHouse4Text2, SafariZoneRestHouse4Text3
-
-SafariZoneRestHouse4Text1: ; 0x45dca
-	TX_FAR _SafariZoneRestHouse4Text1
-	db $50
-
-SafariZoneRestHouse4Text2: ; 0x45dcf
-	TX_FAR _SafariZoneRestHouse4Text2
-	db $50
-
-SafariZoneRestHouse4Text3: ; 0x45dd4
-	TX_FAR _SafariZoneRestHouse4Text3
-	db $50
-
-SafariZoneRestHouse4Object: ; 0x45dd9 (size=38)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $8, SAFARI_ZONE_NORTH
-	db $7, $3, $8, SAFARI_ZONE_NORTH
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_OAK_AIDE, $3 + 4, $6 + 4, $fe, $2, $1 ; person
-	db SPRITE_WHITE_PLAYER, $4 + 4, $3 + 4, $ff, $ff, $2 ; person
-	db SPRITE_GENTLEMAN, $5 + 4, $1 + 4, $fe, $1, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_NORTH
-	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_NORTH
-
-UnknownDungeon2_h: ; 0x45dff to 0x45e0b (12 bytes) (bank=11) (id=226)
-	db $11 ; tileset
-	db UNKNOWN_DUNGEON_2_HEIGHT, UNKNOWN_DUNGEON_2_WIDTH ; dimensions (y, x)
-	dw UnknownDungeon2Blocks, UnknownDungeon2Texts, UnknownDungeon2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UnknownDungeon2Object ; objects
-
-UnknownDungeon2Script: ; 0x45e0b
-	jp $3c3c
-; 0x45e0e
-
-UnknownDungeon2Texts: ; 0x45e0e
-	dw UnknownDungeon2Text1, UnknownDungeon2Text2, UnknownDungeon2Text3
-
-UnknownDungeon2Object: ; 0x45e14 (size=73)
-	db $7d ; border tile
-
-	db $6 ; warps
-	db $1, $1d, $2, UNKNOWN_DUNGEON_1
-	db $6, $16, $3, UNKNOWN_DUNGEON_1
-	db $7, $13, $4, UNKNOWN_DUNGEON_1
-	db $1, $9, $5, UNKNOWN_DUNGEON_1
-	db $3, $1, $6, UNKNOWN_DUNGEON_1
-	db $b, $3, $7, UNKNOWN_DUNGEON_1
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_BALL, $9 + 4, $1d + 4, $ff, $ff, $81, PP_UP ; item
-	db SPRITE_BALL, $f + 4, $4 + 4, $ff, $ff, $82, ULTRA_BALL ; item
-	db SPRITE_BALL, $6 + 4, $d + 4, $ff, $ff, $83, FULL_RESTORE ; item
-
-	; warp-to
-	EVENT_DISP $f, $1, $1d ; UNKNOWN_DUNGEON_1
-	EVENT_DISP $f, $6, $16 ; UNKNOWN_DUNGEON_1
-	EVENT_DISP $f, $7, $13 ; UNKNOWN_DUNGEON_1
-	EVENT_DISP $f, $1, $9 ; UNKNOWN_DUNGEON_1
-	EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_1
-	EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_1
-
-UnknownDungeon2Blocks: ; 0x45e5d 135
-	INCBIN "maps/unknowndungeon2.blk"
-
-UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227)
-	db $11 ; tileset
-	db UNKNOWN_DUNGEON_3_HEIGHT, UNKNOWN_DUNGEON_3_WIDTH ; dimensions (y, x)
-	dw UnknownDungeon3Blocks, UnknownDungeon3Texts, UnknownDungeon3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UnknownDungeon3Object ; objects
-
-UnknownDungeon3Script: ; 0x45ef0
-	call $3c3c
-	ld hl, UnknownDungeon3TrainerHeaders
-	ld de, UnknownDungeon3Script_Unknown45f03
-	ld a, [$d650]
-	call $3160
-	ld [$d650], a
-	ret
-; 0x45f03
-
-UnknownDungeon3Script_Unknown45f03: ; 0x45f03
-INCBIN "baserom.gbc",$45f03,$6
-
-UnknownDungeon3Texts: ; 0x45f09
-	dw UnknownDungeon3Text1, UnknownDungeon3Text2, UnknownDungeon3Text3
-
-UnknownDungeon3TrainerHeaders:
-TrainerHeader_45f0f: ; 0x45f0f
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d85f ; flag's byte
-	dw UnnamedText_45f26 ; 0x5f26 TextBeforeBattle
-	dw UnnamedText_45f26 ; 0x5f26 TextAfterBattle
-	dw UnnamedText_45f26 ; 0x5f26 TextEndBattle
-	dw UnnamedText_45f26 ; 0x5f26 TextEndBattle
-; 0x45f1b
-
-db $ff
-
-UnknownDungeon3Text1: ; 0x45f1c
-	db $08 ; asm
-	ld hl, TrainerHeader_45f0f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_45f26: ; 0x45f26
-	TX_FAR _UnnamedText_45f26 ; 0x85c72
-	db $8
-	ld a, $83
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-; 0x45f36
-
-UnknownDungeon3Object: ; 0x45f36 (size=34)
-	db $7d ; border tile
-
-	db $1 ; warps
-	db $6, $3, $8, UNKNOWN_DUNGEON_1
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_SLOWBRO, $d + 4, $1b + 4, $ff, $d0, $41, MEWTWO, $46 ; trainer
-	db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $82, ULTRA_BALL ; item
-	db SPRITE_BALL, $1 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item
-
-	; warp-to
-	EVENT_DISP $f, $6, $3 ; UNKNOWN_DUNGEON_1
-
-UnknownDungeon3Blocks: ; 0x45f58 135
-	INCBIN "maps/unknowndungeon3.blk"
-
-RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232)
-	db $11 ; tileset
-	db ROCK_TUNNEL_2_HEIGHT, ROCK_TUNNEL_2_WIDTH ; dimensions (y, x)
-	dw RockTunnel2Blocks, RockTunnel2Texts, RockTunnel2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RockTunnel2Object ; objects
-
-RockTunnel2Script: ; 0x45feb
-	call $3c3c
-	ld hl, RockTunnel2TrainerHeaders
-	ld de, RockTunnel2Script_Unknown45ffe
-	ld a, [$d620]
-	call $3160
-	ld [$d620], a
-	ret
-; 0x45ffe
-
-RockTunnel2Script_Unknown45ffe: ; 0x45ffe
-INCBIN "baserom.gbc",$45ffe,$6
-
-RockTunnel2Texts: ; 0x46004
-	dw RockTunnel2Text1, RockTunnel2Text2, RockTunnel2Text3, RockTunnel2Text4, RockTunnel2Text5, RockTunnel2Text6, RockTunnel2Text7, RockTunnel2Text8
-
-RockTunnel2TrainerHeaders:
-TrainerHeader_46014: ; 0x46014
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_460c5 ; 0x60c5 TextBeforeBattle
-	dw UnnamedText_460cf ; 0x60cf TextAfterBattle
-	dw UnnamedText_460ca ; 0x60ca TextEndBattle
-	dw UnnamedText_460ca ; 0x60ca TextEndBattle
-; 0x46020
-
-TrainerHeader_46020: ; 0x46020
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_460d4 ; 0x60d4 TextBeforeBattle
-	dw UnnamedText_460de ; 0x60de TextAfterBattle
-	dw UnnamedText_460d9 ; 0x60d9 TextEndBattle
-	dw UnnamedText_460d9 ; 0x60d9 TextEndBattle
-; 0x4602c
-
-TrainerHeader_4602c: ; 0x4602c
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_460e3 ; 0x60e3 TextBeforeBattle
-	dw UnnamedText_460ed ; 0x60ed TextAfterBattle
-	dw UnnamedText_460e8 ; 0x60e8 TextEndBattle
-	dw UnnamedText_460e8 ; 0x60e8 TextEndBattle
-; 0x46038
-
-TrainerHeader_46038: ; 0x46038
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_460f2 ; 0x60f2 TextBeforeBattle
-	dw UnnamedText_460fc ; 0x60fc TextAfterBattle
-	dw UnnamedText_460f7 ; 0x60f7 TextEndBattle
-	dw UnnamedText_460f7 ; 0x60f7 TextEndBattle
-; 0x46044
-
-TrainerHeader_46044: ; 0x46044
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_46101 ; 0x6101 TextBeforeBattle
-	dw UnnamedText_4610b ; 0x610b TextAfterBattle
-	dw UnnamedText_46106 ; 0x6106 TextEndBattle
-	dw UnnamedText_46106 ; 0x6106 TextEndBattle
-; 0x46050
-
-TrainerHeader_46050: ; 0x46050
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_46110 ; 0x6110 TextBeforeBattle
-	dw UnnamedText_4611a ; 0x611a TextAfterBattle
-	dw UnnamedText_46115 ; 0x6115 TextEndBattle
-	dw UnnamedText_46115 ; 0x6115 TextEndBattle
-; 0x4605c
-
-TrainerHeader_4605c: ; 0x4605c
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_4611f ; 0x611f TextBeforeBattle
-	dw UnnamedText_46129 ; 0x6129 TextAfterBattle
-	dw UnnamedText_46124 ; 0x6124 TextEndBattle
-	dw UnnamedText_46124 ; 0x6124 TextEndBattle
-; 0x46068
-
-TrainerHeader_46068: ; 0x46068
-	db $8 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d87d ; flag's byte
-	dw UnnamedText_4612e ; 0x612e TextBeforeBattle
-	dw UnnamedText_46138 ; 0x6138 TextAfterBattle
-	dw UnnamedText_46133 ; 0x6133 TextEndBattle
-	dw UnnamedText_46133 ; 0x6133 TextEndBattle
-; 0x46074
-
-db $ff
-
-RockTunnel2Text1: ; 0x46075
-	db $08 ; asm
-	ld hl, TrainerHeader_46014
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text2: ; 0x4607f
-	db $08 ; asm
-	ld hl, TrainerHeader_46020
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text3: ; 0x46089
-	db $08 ; asm
-	ld hl, TrainerHeader_4602c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text4: ; 0x46093
-	db $08 ; asm
-	ld hl, TrainerHeader_46038
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text5: ; 0x4609d
-	db $08 ; asm
-	ld hl, TrainerHeader_46044
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text6: ; 0x460a7
-	db $08 ; asm
-	ld hl, TrainerHeader_46050
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text7: ; 0x460b1
-	db $08 ; asm
-	ld hl, TrainerHeader_4605c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-RockTunnel2Text8: ; 0x460bb
-	db $08 ; asm
-	ld hl, TrainerHeader_46068
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_460c5: ; 0x460c5
-	TX_FAR _UnnamedText_460c5
-	db $50
-; 0x460c5 + 5 bytes
-
-UnnamedText_460ca: ; 0x460ca
-	TX_FAR _UnnamedText_460ca
-	db $50
-; 0x460ca + 5 bytes
-
-UnnamedText_460cf: ; 0x460cf
-	TX_FAR _UnnamedText_460cf
-	db $50
-; 0x460cf + 5 bytes
-
-UnnamedText_460d4: ; 0x460d4
-	TX_FAR _UnnamedText_460d4
-	db $50
-; 0x460d4 + 5 bytes
-
-UnnamedText_460d9: ; 0x460d9
-	TX_FAR _UnnamedText_460d9
-	db $50
-; 0x460d9 + 5 bytes
-
-UnnamedText_460de: ; 0x460de
-	TX_FAR _UnnamedText_460de
-	db $50
-; 0x460de + 5 bytes
-
-UnnamedText_460e3: ; 0x460e3
-	TX_FAR _UnnamedText_460e3
-	db $50
-; 0x460e3 + 5 bytes
-
-UnnamedText_460e8: ; 0x460e8
-	TX_FAR _UnnamedText_460e8
-	db $50
-; 0x460e8 + 5 bytes
-
-UnnamedText_460ed: ; 0x460ed
-	TX_FAR _UnnamedText_460ed
-	db $50
-; 0x460ed + 5 bytes
-
-UnnamedText_460f2: ; 0x460f2
-	TX_FAR _UnnamedText_460f2
-	db $50
-; 0x460f2 + 5 bytes
-
-UnnamedText_460f7: ; 0x460f7
-	TX_FAR _UnnamedText_460f7
-	db $50
-; 0x460f7 + 5 bytes
-
-UnnamedText_460fc: ; 0x460fc
-	TX_FAR _UnnamedText_460fc
-	db $50
-; 0x460fc + 5 bytes
-
-UnnamedText_46101: ; 0x46101
-	TX_FAR _UnnamedText_46101
-	db $50
-; 0x46101 + 5 bytes
-
-UnnamedText_46106: ; 0x46106
-	TX_FAR _UnnamedText_46106
-	db $50
-; 0x46106 + 5 bytes
-
-UnnamedText_4610b: ; 0x4610b
-	TX_FAR _UnnamedText_4610b
-	db $50
-; 0x4610b + 5 bytes
-
-UnnamedText_46110: ; 0x46110
-	TX_FAR _UnnamedText_46110
-	db $50
-; 0x46110 + 5 bytes
-
-UnnamedText_46115: ; 0x46115
-	TX_FAR _UnnamedText_46115
-	db $50
-; 0x46115 + 5 bytes
-
-UnnamedText_4611a: ; 0x4611a
-	TX_FAR _UnnamedText_4611a
-	db $50
-; 0x4611a + 5 bytes
-
-UnnamedText_4611f: ; 0x4611f
-	TX_FAR _UnnamedText_4611f
-	db $50
-; 0x4611f + 5 bytes
-
-UnnamedText_46124: ; 0x46124
-	TX_FAR _UnnamedText_46124
-	db $50
-; 0x46124 + 5 bytes
-
-UnnamedText_46129: ; 0x46129
-	TX_FAR _UnnamedText_46129
-	db $50
-; 0x46129 + 5 bytes
-
-UnnamedText_4612e: ; 0x4612e
-	TX_FAR _UnnamedText_4612e
-	db $50
-; 0x4612e + 5 bytes
-
-UnnamedText_46133: ; 0x46133
-	TX_FAR _UnnamedText_46133
-	db $50
-; 0x46133 + 5 bytes
-
-UnnamedText_46138: ; 0x46138
-	TX_FAR _UnnamedText_46138
-	db $50
-; 0x46138 + 5 bytes
-
-RockTunnel2Object: ; 0x4613d (size=100)
-	db $3 ; border tile
-
-	db $4 ; warps
-	db $19, $21, $4, ROCK_TUNNEL_1
-	db $3, $1b, $5, ROCK_TUNNEL_1
-	db $b, $17, $6, ROCK_TUNNEL_1
-	db $3, $3, $7, ROCK_TUNNEL_1
-
-	db $0 ; signs
-
-	db $8 ; people
-	db SPRITE_LASS, $d + 4, $b + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $9 ; trainer
-	db SPRITE_HIKER, $a + 4, $6 + 4, $ff, $d0, $42, HIKER + $C8, $9 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $d0, $43, POKEMANIAC + $C8, $3 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $14 + 4, $ff, $d3, $44, POKEMANIAC + $C8, $4 ; trainer
-	db SPRITE_HIKER, $a + 4, $1e + 4, $ff, $d0, $45, HIKER + $C8, $a ; trainer
-	db SPRITE_LASS, $1c + 4, $e + 4, $ff, $d3, $46, JR__TRAINER_F + $C8, $a ; trainer
-	db SPRITE_HIKER, $5 + 4, $21 + 4, $ff, $d3, $47, HIKER + $C8, $b ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $1e + 4, $1a + 4, $ff, $d0, $48, POKEMANIAC + $C8, $5 ; trainer
-
-	; warp-to
-	EVENT_DISP $14, $19, $21 ; ROCK_TUNNEL_1
-	EVENT_DISP $14, $3, $1b ; ROCK_TUNNEL_1
-	EVENT_DISP $14, $b, $17 ; ROCK_TUNNEL_1
-	EVENT_DISP $14, $3, $3 ; ROCK_TUNNEL_1
-
-RockTunnel2Blocks: ; 0x461a1 360
-	INCBIN "maps/rocktunnel2.blk"
-
-SeafoamIslands2_h: ; 0x46309 to 0x46315 (12 bytes) (bank=11) (id=159)
-	db $11 ; tileset
-	db SEAFOAM_ISLANDS_2_HEIGHT, SEAFOAM_ISLANDS_2_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands2Blocks, SeafoamIslands2Texts, SeafoamIslands2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SeafoamIslands2Object ; objects
-
-SeafoamIslands2Script: ; 0x46315
-	call $3c3c
-	ld hl, $cd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_46362 ; 0x4631f $41
-	ld hl, SeafoamIslands2Script_Unknown4636d
-	call $34e4
-	ret nc
-	ld hl, $d87f
-	ld a, [$cd3d]
-	cp $1
-	jr nz, .asm_46340 ; 0x46330 $e
-	set 0, [hl]
-	ld a, $d9
-	ld [$d079], a
-	ld a, $db
-	ld [$d07a], a
-	jr .asm_4634c ; 0x4633e $c
-.asm_46340
-	set 1, [hl]
-	ld a, $da
-	ld [$d079], a
-	ld a, $dc
-	ld [$d07a], a
-.asm_4634c
-	ld a, [$d079]
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, [$d07a]
-	ld [$cc4d], a
-	ld a, $15
-	jp $3e6d
-.asm_46362
-	ld a, $a0
-	ld [$d71d], a
-	ld hl, SeafoamIslands2Script_Unknown4636d
-	jp $6981
-; 0x4636d
-
-SeafoamIslands2Script_Unknown4636d: ; 0x4636d
-INCBIN "baserom.gbc",$4636d,$5
-
-SeafoamIslands2Texts: ; 0x46372
-	dw SeafoamIslands2Text1, SeafoamIslands2Text2
-
-SeafoamIslands2Object: ; 0x46376 (size=72)
-	db $7d ; border tile
-
-	db $7 ; warps
-	db $2, $4, $0, SEAFOAM_ISLANDS_3
-	db $5, $7, $4, SEAFOAM_ISLANDS_1
-	db $7, $d, $2, SEAFOAM_ISLANDS_3
-	db $f, $13, $3, SEAFOAM_ISLANDS_3
-	db $f, $17, $6, SEAFOAM_ISLANDS_1
-	db $b, $19, $5, SEAFOAM_ISLANDS_3
-	db $3, $19, $5, SEAFOAM_ISLANDS_1
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BOULDER, $6 + 4, $11 + 4, $ff, $10, $1 ; person
-	db SPRITE_BOULDER, $6 + 4, $16 + 4, $ff, $10, $2 ; person
-
-	; warp-to
-	EVENT_DISP $f, $2, $4 ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_1
-	EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_1
-	EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_1
-
-SeafoamIslands2Blocks: ; 0x463be 135
-	INCBIN "maps/seafoamislands2.blk"
-
-SeafoamIslands3_h: ; 0x46445 to 0x46451 (12 bytes) (bank=11) (id=160)
-	db $11 ; tileset
-	db SEAFOAM_ISLANDS_3_HEIGHT, SEAFOAM_ISLANDS_3_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands3Blocks, SeafoamIslands3Texts, SeafoamIslands3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SeafoamIslands3Object ; objects
-
-SeafoamIslands3Script: ; 0x46451
-	call $3c3c
-	ld hl, $cd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_4649e ; 0x4645b $41
-	ld hl, SeafoamIslands3Script_Unknown464a9
-	call $34e4
-	ret nc
-	ld hl, $d880
-	ld a, [$cd3d]
-	cp $1
-	jr nz, .asm_4647c ; 0x4646c $e
-	set 0, [hl]
-	ld a, $db
-	ld [$d079], a
-	ld a, $df
-	ld [$d07a], a
-	jr .asm_46488 ; 0x4647a $c
-.asm_4647c
-	set 1, [hl]
-	ld a, $dc
-	ld [$d079], a
-	ld a, $e0
-	ld [$d07a], a
-.asm_46488
-	ld a, [$d079]
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, [$d07a]
-	ld [$cc4d], a
-	ld a, $15
-	jp $3e6d
-.asm_4649e
-	ld a, $a1
-	ld [$d71d], a
-	ld hl, SeafoamIslands3Script_Unknown464a9
-	jp $6981
-; 0x464a9
-
-SeafoamIslands3Script_Unknown464a9: ; 0x464a9
-INCBIN "baserom.gbc",$464a9,$5
-
-SeafoamIslands3Texts: ; 0x464ae
-	dw SeafoamIslands3Text1, SeafoamIslands3Text2
-
-SeafoamIslands3Object: ; 0x464b2 (size=72)
-	db $7d ; border tile
-
-	db $7 ; warps
-	db $3, $5, $0, SEAFOAM_ISLANDS_2
-	db $d, $5, $0, SEAFOAM_ISLANDS_4
-	db $7, $d, $2, SEAFOAM_ISLANDS_2
-	db $f, $13, $3, SEAFOAM_ISLANDS_2
-	db $3, $19, $3, SEAFOAM_ISLANDS_4
-	db $b, $19, $5, SEAFOAM_ISLANDS_2
-	db $e, $19, $4, SEAFOAM_ISLANDS_4
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $10, $1 ; person
-	db SPRITE_BOULDER, $6 + 4, $17 + 4, $ff, $10, $2 ; person
-
-	; warp-to
-	EVENT_DISP $f, $3, $5 ; SEAFOAM_ISLANDS_2
-	EVENT_DISP $f, $d, $5 ; SEAFOAM_ISLANDS_4
-	EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_2
-	EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_2
-	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_4
-	EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_2
-	EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_4
-
-SeafoamIslands3Blocks: ; 0x464fa 135
-	INCBIN "maps/seafoamislands3.blk"
-
-SeafoamIslands4_h: ; 0x46581 to 0x4658d (12 bytes) (bank=11) (id=161)
-	db $11 ; tileset
-	db SEAFOAM_ISLANDS_4_HEIGHT, SEAFOAM_ISLANDS_4_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands4Blocks, SeafoamIslands4Texts, SeafoamIslands4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SeafoamIslands4Object ; objects
-
-SeafoamIslands4Script: ; 0x4658d
-	call $3c3c
-	ld hl, $cd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_465dc ; 0x46597 $43
-	ld hl, SeafoamIslands4Script_Unknown465f6
-	call $34e4
-	ret nc
-	ld hl, $d881
-	ld a, [$cd3d]
-	cp $1
-	jr nz, .asm_465b8 ; 0x465a8 $e
-	set 0, [hl]
-	ld a, $dd
-	ld [$d079], a
-	ld a, $e1
-	ld [$d07a], a
-	jr .asm_465c4 ; 0x465b6 $c
-.asm_465b8
-	set 1, [hl]
-	ld a, $de
-	ld [$d079], a
-	ld a, $e2
-	ld [$d07a], a
-.asm_465c4
-	ld a, [$d079]
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, [$d07a]
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	jr .asm_465ed ; 0x465da $11
-.asm_465dc
-	ld a, $a2
-	ld [$d71d], a
-	ld hl, SeafoamIslands4Script_Unknown465f6
-	call $6981
-	ld a, [$d732]
-	bit 4, a
-	ret nz
-.asm_465ed
-	ld hl, SeafoamIslands4Scripts
-	ld a, [$d666]
-	jp $3d97
-; 0x465f6
-
-SeafoamIslands4Script_Unknown465f6: ; 0x465f6
-INCBIN "baserom.gbc",$465f6,$465fb - $465f6
-
-SeafoamIslands4Scripts: ; 0x465fb
-	dw SeafoamIslands4Script0, SeafoamIslands4Script1
-
-INCBIN "baserom.gbc",$465ff,$4
-
-SeafoamIslands4Script0: ; 0x46603
-	ld a, [$d880]
-	and $3
-	cp $3
-	ret z
-	ld a, [$d361]
-	cp $8
-	ret nz
-	ld a, [$d362]
-	cp $f
-	ret nz
-	ld hl, $ccd3
-	ld de, SeafoamIslands4Script0_Unknown46632
-	call $350c
-	dec a
-	ld [$cd38], a
-	call $3486
-	ld hl, $d733
-	set 2, [hl]
-	ld a, $1
-	ld [$d666], a
-	ret
-; 0x46632
-
-SeafoamIslands4Script0_Unknown46632: ; 0x46632
-INCBIN "baserom.gbc",$46632,$46639 - $46632
-
-SeafoamIslands4Script1: ; 0x46639
-	ld a, [$cd38]
-	and a
-	ret nz
-	ld a, $0
-	ld [$d666], a
-	ret
-; 0x46644
-
-INCBIN "baserom.gbc",$46644,$56
-
-SeafoamIslands4Texts: ; 0x4669a
-	dw SeafoamIslands4Text1, SeafoamIslands4Text2, SeafoamIslands4Text3, SeafoamIslands4Text4, SeafoamIslands4Text5, SeafoamIslands4Text6
-
-SeafoamIslands4Object: ; 0x466a6 (size=96)
-	db $7d ; border tile
-
-	db $7 ; warps
-	db $c, $5, $1, SEAFOAM_ISLANDS_3
-	db $6, $8, $2, SEAFOAM_ISLANDS_5
-	db $4, $19, $3, SEAFOAM_ISLANDS_5
-	db $3, $19, $4, SEAFOAM_ISLANDS_3
-	db $e, $19, $6, SEAFOAM_ISLANDS_3
-	db $11, $14, $0, SEAFOAM_ISLANDS_5
-	db $11, $15, $1, SEAFOAM_ISLANDS_5
-
-	db $0 ; signs
-
-	db $6 ; people
-	db SPRITE_BOULDER, $e + 4, $5 + 4, $ff, $10, $1 ; person
-	db SPRITE_BOULDER, $f + 4, $3 + 4, $ff, $10, $2 ; person
-	db SPRITE_BOULDER, $e + 4, $8 + 4, $ff, $10, $3 ; person
-	db SPRITE_BOULDER, $e + 4, $9 + 4, $ff, $10, $4 ; person
-	db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $ff, $5 ; person
-	db SPRITE_BOULDER, $6 + 4, $13 + 4, $ff, $ff, $6 ; person
-
-	; warp-to
-	EVENT_DISP $f, $c, $5 ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $6, $8 ; SEAFOAM_ISLANDS_5
-	EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_5
-	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_3
-	EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_5
-	EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_5
-
-SeafoamIslands4Blocks: ; 0x46706 135
-	INCBIN "maps/seafoamislands4.blk"
-
-SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162)
-	db $11 ; tileset
-	db SEAFOAM_ISLANDS_5_HEIGHT, SEAFOAM_ISLANDS_5_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands5Blocks, SeafoamIslands5Texts, SeafoamIslands5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SeafoamIslands5Object ; objects
-
-SeafoamIslands5Script: ; 0x46799
-	call $3c3c
-	ld a, [$d668]
-	ld hl, SeafoamIslands5Scripts
-	jp $3d97
-; 0x467a5
-
-INCBIN "baserom.gbc",$467a5,$467ad - $467a5
-
-SeafoamIslands5Scripts: ; 0x467ad
-	dw SeafoamIslands5Script0, SeafoamIslands5Script1
-
-INCBIN "baserom.gbc",$467b1,$16
-
-SeafoamIslands5Script0: ; 0x467c7
-	ld a, [$d880]
-	and $3
-	cp $3
-	ret z
-	ld hl, $67fe
-	call $34bf
-	ret nc
-	ld a, [$cd3d]
-	cp $3
-	jr nc, .asm_467e6 ; 0x467db $9
-	ld a, $40
-	ld [$ccd4], a
-	ld a, $2
-	jr .asm_467e8 ; 0x467e4 $2
-.asm_467e6
-	ld a, $1
-.asm_467e8
-	ld [$cd38], a
-	ld a, $40
-	ld [$ccd3], a
-	call $3486
-	ld hl, $d733
-	res 2, [hl]
-	ld a, $1
-	ld [$d668], a
-	ret
-; 0x467fe
-
-INCBIN "baserom.gbc",$467fe,$46807 - $467fe
-
-SeafoamIslands5Script1: ; 0x46807
-	ld a, [$cd38]
-	and a
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, $0
-	ld [$d668], a
-	ret
-; 0x46816
-
-INCBIN "baserom.gbc",$46816,$66
-
-SeafoamIslands5Texts: ; 0x4687c
-	dw SeafoamIslands5Text1, SeafoamIslands5Text2, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5
-
-SeafoamIslands5TrainerHeaders:
-TrainerHeader_46886: ; 0x46886
-	db $2 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d882 ; flag's byte
-	dw UnnamedText_468a2 ; 0x68a2 TextBeforeBattle
-	dw UnnamedText_468a2 ; 0x68a2 TextAfterBattle
-	dw UnnamedText_468a2 ; 0x68a2 TextEndBattle
-	dw UnnamedText_468a2 ; 0x68a2 TextEndBattle
-; 0x46892
-
-db $ff
-
-SeafoamIslands5Text3: ; 0x46893
-	db $08 ; asm
-	ld hl, TrainerHeader_46886
-	call LoadTrainerHeader
-	ld a, $4
-	ld [$d668], a
-	jp TextScriptEnd
-
-UnnamedText_468a2: ; 0x468a2
-	TX_FAR _UnnamedText_468a2 ; 0x88075
-	db $8
-	ld a, $4a
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-; 0x468b2
-
-SeafoamIslands5Text4: ; 0x468b2
-	TX_FAR _SeafoamIslands5Text4
-	db $50
-
-SeafoamIslands5Text5: ; 0x468b7
-	TX_FAR _SeafoamIslands5Text5
-	db $50
-
-SeafoamIslands5Object: ; 0x468bc (size=62)
-	db $7d ; border tile
-
-	db $4 ; warps
-	db $11, $14, $5, SEAFOAM_ISLANDS_4
-	db $11, $15, $6, SEAFOAM_ISLANDS_4
-	db $7, $b, $1, SEAFOAM_ISLANDS_4
-	db $4, $19, $2, SEAFOAM_ISLANDS_4
-
-	db $2 ; signs
-	db $f, $9, $4 ; SeafoamIslands5Text4
-	db $1, $17, $5 ; SeafoamIslands5Text5
-
-	db $3 ; people
-	db SPRITE_BOULDER, $f + 4, $4 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BIRD, $1 + 4, $6 + 4, $ff, $d0, $43, ARTICUNO, $32 ; trainer
-
-	; warp-to
-	EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_4
-	EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_4
-	EVENT_DISP $f, $7, $b ; SEAFOAM_ISLANDS_4
-	EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_4
-
-SeafoamIslands5Blocks: ; 0x468fa 135
-	INCBIN "maps/seafoamislands5.blk"
-
-INCBIN "baserom.gbc",$46981,$167f
-
-SECTION "bank12",DATA,BANK[$12]
-
-Route7_h: ; 0x48000 to 0x48022 (34 bytes) (bank=12) (id=18)
-	db $00 ; tileset
-	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x)
-	dw Route7Blocks, $4155, Route7Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db CELADON_CITY
-	dw CeladonCityBlocks - 3 + (CELADON_CITY_WIDTH * 2) ; connection strip location
-	dw $C6E8 + (ROUTE_7_WIDTH + 6) * (-3 + 3) ; current map position
-	db $f, CELADON_CITY_WIDTH ; bigness, width
-	db (-4 * -2), (CELADON_CITY_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * CELADON_CITY_WIDTH ; window
-
-	db SAFFRON_CITY
-	dw SaffronCityBlocks + (SAFFRON_CITY_WIDTH) ; connection strip location
-	dw $C6E5 + (ROUTE_7_WIDTH + 6) * (-3 + 4) ; current map position
-	db $f, SAFFRON_CITY_WIDTH ; bigness, width
-	db (-4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + SAFFRON_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route7Object ; objects
-
-Route7Object: ; 0x48022 (size=47)
-	db $f ; border tile
-
-	db $5 ; warps
-	db $9, $12, $2, ROUTE_7_GATE
-	db $a, $12, $3, ROUTE_7_GATE
-	db $9, $b, $0, ROUTE_7_GATE
-	db $a, $b, $1, ROUTE_7_GATE
-	db $d, $5, $0, PATH_ENTRANCE_ROUTE_7
-
-	db $1 ; signs
-	db $d, $3, $1 ; Route7Text1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $a, $9, $12 ; ROUTE_7_GATE
-	EVENT_DISP $a, $a, $12 ; ROUTE_7_GATE
-	EVENT_DISP $a, $9, $b ; ROUTE_7_GATE
-	EVENT_DISP $a, $a, $b ; ROUTE_7_GATE
-	EVENT_DISP $a, $d, $5 ; PATH_ENTRANCE_ROUTE_7
-
-Route7Blocks: ; 4051 90
-	INCBIN "maps/route7.blk"
-
-CeladonPokecenterBlocks:
-RockTunnelPokecenterBlocks:
-MtMoonPokecenterBlocks: ; 40ab 28
-	INCBIN "maps/mtmoonpokecenter.blk"
-
-Route18GateBlocks:
-Route15GateBlocks:
-Route11GateBlocks: ; 40c7 20
-	INCBIN "maps/route11gate.blk"
-
-Route18GateHeaderBlocks:
-Route16GateUpstairsBlocks:
-Route12GateUpstairsBlocks:
-Route11GateUpstairsBlocks: ; 40db 16
-	INCBIN "maps/route11gateupstairs.blk"
-
-INCBIN "baserom.gbc",$480eb,$48152 - $480eb
-
-Route7Script: ; 0x48152
-	jp $3c3c
-; 0x48155
-
-; XXX
-db $57, $41
-
-Route7Text1: ; 0x48157
-	TX_FAR _Route7Text1
-	db $50
-
-RedsHouse1F_h: ; 415C
-	db $01 ; tileset
-	db $04,$04 ; dimensions
-	dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript
-	db 0 ; no connections
-	dw RedsHouse1FObject
-
-RedsHouse1FScript: ; 4168
-	jp $3C3C
-
-RedsHouse1FTexts: ; 416B
-	dw RedsHouse1FText1,RedsHouse1FText2
-
-RedsHouse1FText1: ; 416F Mom
-	db 8
-	ld a, [$D72E]
-	bit 3, a
-	jr nz, .heal\@ ; if player has received a Pokémon from Oak, heal team
-	ld hl, MomWakeUpText
-	call PrintText
-	jr .done\@
-.heal\@
-	call MomHealPokemon
-.done\@
-	jp TextScriptEnd
-
-MomWakeUpText: ; 0x48185
-	TX_FAR _MomWakeUpText
-	db "@"
-
-MomHealPokemon: ; 0x4818a
-	ld hl, MomHealText1
-	call PrintText
-	call GBFadeOut2
-	call $3071
-	ld a, 7
-	call Predef
-	ld a, $E8
-	ld [$C0EE], a
-	call $23B1 ; play sound?
-.next\@
-	ld a, [$C026]
-	cp $E8
-	jr z, .next\@
-	ld a, [$D35B]
-	ld [$C0EE], a
-	call $23B1
-	call GBFadeIn2
-	ld hl, MomHealText2
-	jp PrintText
-
-MomHealText1: ; 0x481bc
-	TX_FAR _MomHealText1
-	db "@"
-MomHealText2: ; 0x481c1
-	TX_FAR _MomHealText2
-	db "@"
-
-RedsHouse1FText2: ; 0x481c6 TV
-	db 8
-	ld a,[$C109]
-	cp 4
-	ld hl,TVWrongSideText
-	jr nz,.done\@ ; if player is not facing up
-	ld hl,StandByMeText
-.done\@
-	call PrintText
-	jp TextScriptEnd
-
-StandByMeText: ; 0x481da
-	TX_FAR _StandByMeText
-	db "@"
-
-TVWrongSideText: ; 0x481df
-	TX_FAR _TVWrongSideText
-	db "@"
-
-RedsHouse1FObject: ; 0x481e4
-	db $0A ; border tile
-
-	db 3 ; warps
-	db 7,2,0,$FF ; exit1
-	db 7,3,0,$FF ; exit2
-	db 1,7,0,$26 ; staircase
-
-	db 1 ; signs
-	db 1,3,2 ; TV
-
-	db 1 ; people
-	db $33,4+4,5+4,$FF,$D2,1 ; Mom
-
-	; warp-to
-
-	dw $C6EF + 4 + (4 + 6) * (3) + 1
-	db 7,2
-
-	dw $C6EF + 4 + (4 + 6) * (3) + 1
-	db 7,3
-
-	dw $C6EF + 4 + (4 + 6) * (0) + 3
-	db 1,7
-
-RedsHouse1FBlocks:
-	INCBIN "maps/redshouse1f.blk"
-
-CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124)
-	db $12 ; tileset
-	db CELADON_MART_3_HEIGHT, CELADON_MART_3_WIDTH ; dimensions (y, x)
-	dw CeladonMart3Blocks, CeladonMart3Texts, CeladonMart3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMart3Object ; objects
-
-CeladonMart3Script: ; 0x48225
-	jp $3c3c
-; 0x48228
-
-CeladonMart3Texts: ; 0x48228
-	dw CeladonMart3Text1, CeladonMart3Text2, CeladonMart3Text3, CeladonMart3Text4, CeladonMart3Text5, CeladonMart3Text6, CeladonMart3Text7, CeladonMart3Text8, CeladonMart3Text9, CeladonMart3Text10, CeladonMart3Text11, CeladonMart3Text12, CeladonMart3Text13, CeladonMart3Text14, CeladonMart3Text15, CeladonMart3Text16, CeladonMart3Text17
-
-CeladonMart3Text1: ; 0x4824a
-	db $08 ; asm
-	ld a, [$d778]
-	bit 7, a
-	jr nz, .asm_a5463 ; 0x48250
-	ld hl, UnnamedText_48278
-	call PrintText
-	ld bc, (TM_18 << 8) | 1
-	call GiveItem
-	jr nc, .asm_95f37 ; 0x4825e
-	ld hl, $d778
-	set 7, [hl]
-	ld hl, ReceivedTM18Text
-	jr .asm_81359 ; 0x48268
-.asm_95f37 ; 0x4826a
-	ld hl, TM18NoRoomText
-	jr .asm_81359 ; 0x4826d
-.asm_a5463 ; 0x4826f
-	ld hl, TM18ExplanationText
-.asm_81359 ; 0x48272
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_48278: ; 0x48278
-	TX_FAR _UnnamedText_48278
-	db $50
-; 0x48278 + 5 bytes
-
-ReceivedTM18Text: ; 0x4827d
-	TX_FAR _ReceivedTM18Text ; 0x9c85a
-	db $0B, $50
-; 0x48283
-
-TM18ExplanationText: ; 0x48283
-	TX_FAR _TM18ExplanationText
-	db $50
-; 0x48283 + 5 bytes
-
-TM18NoRoomText: ; 0x48288
-	TX_FAR _TM18NoRoomText
-	db $50
-; 0x48288 + 5 bytes
-
-CeladonMart3Text2: ; 0x4828d
-	TX_FAR _CeladonMart3Text2
-	db $50
-
-CeladonMart3Text3: ; 0x48292
-	TX_FAR _CeladonMart3Text3
-	db $50
-
-CeladonMart3Text4: ; 0x48297
-	TX_FAR _CeladonMart3Text4
-	db $50
-
-CeladonMart3Text5: ; 0x4829c
-	TX_FAR _CeladonMart3Text5
-	db $50
-
-CeladonMart3Text12
-CeladonMart3Text10:
-CeladonMart3Text8:
-CeladonMart3Text6: ; 0x482a1
-	TX_FAR _CeladonMart3Text6
-	db $50
-
-CeladonMart3Text7: ; 0x482a6
-	TX_FAR _CeladonMart3Text7
-	db $50
-
-CeladonMart3Text9: ; 0x482ab
-	TX_FAR _CeladonMart3Text9
-	db $50
-
-CeladonMart3Text11: ; 0x482b0
-	TX_FAR _CeladonMart3Text11
-	db $50
-
-CeladonMart3Text13: ; 0x482b5
-	TX_FAR _CeladonMart3Text13
-	db $50
-
-CeladonMart3Text14: ; 0x482ba
-	TX_FAR _CeladonMart3Text14
-	db $50
-
-CeladonMart3Text17:
-CeladonMart3Text16:
-CeladonMart3Text15: ; 0x482bf
-	TX_FAR _CeladonMart3Text15
-	db $50
-
-CeladonMart3Object: ; 0x482c4 (size=94)
-	db $f ; border tile
-
-	db $3 ; warps
-	db $1, $c, $0, CELADON_MART_4
-	db $1, $10, $1, CELADON_MART_2
-	db $1, $1, $0, CELADON_MART_ELEVATOR
-
-	db $c ; signs
-	db $4, $2, $6 ; CeladonMart3Text6
-	db $4, $3, $7 ; CeladonMart3Text7
-	db $4, $5, $8 ; CeladonMart3Text8
-	db $4, $6, $9 ; CeladonMart3Text9
-	db $6, $2, $a ; CeladonMart3Text10
-	db $6, $3, $b ; CeladonMart3Text11
-	db $6, $5, $c ; CeladonMart3Text12
-	db $6, $6, $d ; CeladonMart3Text13
-	db $1, $e, $e ; CeladonMart3Text14
-	db $1, $4, $f ; CeladonMart3Text15
-	db $1, $6, $10 ; CeladonMart3Text16
-	db $1, $a, $11 ; CeladonMart3Text17
-
-	db $5 ; people
-	db SPRITE_MART_GUY, $5 + 4, $10 + 4, $ff, $ff, $1 ; person
-	db SPRITE_GAMEBOY_KID_COPY, $6 + 4, $b + 4, $ff, $d3, $2 ; person
-	db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $7 + 4, $ff, $d0, $3 ; person
-	db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $8 + 4, $ff, $d0, $4 ; person
-	db SPRITE_YOUNG_BOY, $5 + 4, $2 + 4, $ff, $d1, $5 ; person
-
-	; warp-to
-	EVENT_DISP $a, $1, $c ; CELADON_MART_4
-	EVENT_DISP $a, $1, $10 ; CELADON_MART_2
-	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
-
-CeladonMart3Blocks: ; 0x48322 40
-	INCBIN "maps/celadonmart3.blk"
-
-CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125)
-	db $12 ; tileset
-	db CELADON_MART_4_HEIGHT, CELADON_MART_4_WIDTH ; dimensions (y, x)
-	dw CeladonMart4Blocks, CeladonMart4Texts, CeladonMart4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMart4Object ; objects
-
-CeladonMart4Script: ; 0x48356
-	jp $3c3c
-; 0x48359
-
-CeladonMart4Texts: ; 0x48359
-	dw CeladonMart4Text1, CeladonMart4Text2, CeladonMart4Text3, CeladonMart4Text4
-
-CeladonMart4Text2: ; 0x48361
-	TX_FAR _CeladonMart4Text2
-	db $50
-
-CeladonMart4Text3: ; 0x48366
-	TX_FAR _CeladonMart4Text3
-	db $50
-
-CeladonMart4Text4: ; 0x4836b
-	TX_FAR _CeladonMart4Text4
-	db $50
-
-CeladonMart4Object: ; 0x48370 (size=49)
-	db $f ; border tile
-
-	db $3 ; warps
-	db $1, $c, $0, CELADON_MART_3
-	db $1, $10, $1, CELADON_MART_5
-	db $1, $1, $0, CELADON_MART_ELEVATOR
-
-	db $1 ; signs
-	db $1, $e, $4 ; CeladonMart4Text4
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $7 + 4, $5 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $f + 4, $fe, $2, $2 ; person
-	db SPRITE_BUG_CATCHER, $2 + 4, $5 + 4, $fe, $2, $3 ; person
-
-	; warp-to
-	EVENT_DISP $a, $1, $c ; CELADON_MART_3
-	EVENT_DISP $a, $1, $10 ; CELADON_MART_5
-	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
-
-CeladonMart4Blocks: ; 0x483a1 40
-	INCBIN "maps/celadonmart4.blk"
-
-CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126)
-	db $12 ; tileset
-	db CELADON_MART_5_HEIGHT, CELADON_MART_5_WIDTH ; dimensions (y, x)
-	dw CeladonMartRoofBlocks, CeladonMartRoofTexts, CeladonMartRoofScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMartRoofObject ; objects
-
-CeladonMartRoofScript: ; 0x483d5
-	jp $3c3c
-; 0x483d8
-
-INCBIN "baserom.gbc",$483d8,$484ee - $483d8
-
-UnnamedText_484ee: ; 0x484ee
-	TX_FAR _UnnamedText_484ee
-	db $50
-; 0x484ee + 5 bytes
-
-INCBIN "baserom.gbc",$484f3,$68
-
-CeladonMartRoofTexts: ; 0x4855b
-	dw CeladonMartRoofText1, CeladonMartRoofText2, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText6
-
-CeladonMartRoofText1: ; 0x48567
-	TX_FAR _CeladonMartRoofText1
-	db $50
-
-CeladonMartRoofText2: ; 0x4856c
-	db $08 ; asm
-	call $43d8
-	ld a, [$cd37]
-	and a
-	jr z, .asm_914b9 ; 0x48574
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, CeladonMartRoofText4
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_05aa4 ; 0x48588
-	call $440c
-	jr .asm_05aa4 ; 0x4858d
-.asm_914b9 ; 0x4858f
-	ld hl, CeladonMartRoofText3
-	call PrintText
-.asm_05aa4 ; 0x48595
-	jp TextScriptEnd
-
-CeladonMartRoofText3: ; 0x48598
-	TX_FAR _UnnamedText_48598
-	db $50
-; 0x48598 + 5 bytes
-
-CeladonMartRoofText4:
-UnnamedText_4859d: ; 0x4859d
-	TX_FAR _UnnamedText_4859d
-	db $50
-; 0x4859d + 5 bytes
-
-CeladonMartRoofText5: ; 0x485a2
-	db $f5
-
-CeladonMartRoofText6: ; 0x485a3
-	TX_FAR _CeladonMartRoofText6
-	db $50
-
-CeladonMartRoofObject: ; 0x485a8 (size=36)
-	db $42 ; border tile
-
-	db $1 ; warps
-	db $2, $f, $0, CELADON_MART_5
-
-	db $4 ; signs
-	db $1, $a, $3 ; CeladonMartRoofText3
-	db $1, $b, $4 ; CeladonMartRoofText4
-	db $2, $c, $5 ; CeladonMartRoofText5
-	db $2, $d, $6 ; CeladonMartRoofText6
-
-	db $2 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $a + 4, $ff, $d2, $1 ; person
-	db SPRITE_LITTLE_GIRL, $5 + 4, $5 + 4, $fe, $0, $2 ; person
-
-	; warp-to
-	EVENT_DISP $a, $2, $f ; CELADON_MART_5
-
-CeladonMartRoofBlocks: ; 0x485cc 40
-	INCBIN "maps/celadonmart5.blk"
-
-CeladonMartElevator_h: ; 0x485f4 to 0x48600 (12 bytes) (bank=12) (id=127)
-	db $12 ; tileset
-	db CELADON_MART_6_HEIGHT, CELADON_MART_6_WIDTH ; dimensions (y, x)
-	dw CeladonMartElevatorBlocks, CeladonMartElevatorTexts, CeladonMartElevatorScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMartElevatorObject ; objects
-
-CeladonMartElevatorScript: ; 0x48600
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, CeladonMartElevatorScript_Unknown4861c
-	pop hl
-	bit 7, [hl]
-	res 7, [hl]
-	call nz, $4654
-	xor a
-	ld [$cf0c], a
-	inc a
-	ld [$cc3c], a
-	ret
-; 0x4861c
-
-CeladonMartElevatorScript_Unknown4861c: ; 0x4861c
-INCBIN "baserom.gbc",$4861c,$40
-
-CeladonMartElevatorTexts: ; 0x4865c
-	dw CeladonMartElevatorText1
-
-CeladonMartElevatorText1: ; 0x4865e
-	db $08 ; asm
-	call $4631
-	ld hl, $464a
-	ld a, $61
-	call Predef
-	jp TextScriptEnd
-
-CeladonMartElevatorObject: ; 0x4866d (size=23)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $3, $1, $5, CELADON_MART_1
-	db $3, $2, $5, CELADON_MART_1
-
-	db $1 ; signs
-	db $0, $3, $1 ; CeladonMartElevatorText1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $2, $3, $1 ; CELADON_MART_1
-	EVENT_DISP $2, $3, $2 ; CELADON_MART_1
-
-CeladonMartElevatorBlocks: ; 0x48684 4
-	INCBIN "maps/celadonmart6.blk"
-
-CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128)
-	db $13 ; tileset
-	db CELADON_MANSION_1_HEIGHT, CELADON_MANSION_1_WIDTH ; dimensions (y, x)
-	dw CeladonMansion1Blocks, CeladonMansion1Texts, CeladonMansion1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMansion1Object ; objects
-
-CeladonMansion1Script: ; 0x48694
-	jp $3c3c
-; 0x48697
-
-CeladonMansion1Texts: ; 0x48697
-	dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5
-
-;0x486a1
-	call $13d0
-	jp TextScriptEnd
-; 0x486a7
-
-CeladonMansion1Text1: ; 0x486a7
-	TX_FAR _CeladonMansion1Text1
-	db $08 ; asm
-	ld a, $4d
-	jp $46a1
-
-CeladonMansion1Text2: ; 0x486b1
-	TX_FAR _CeladonMansion1Text2
-	db $50
-
-CeladonMansion1Text3: ; 0x486b6
-	TX_FAR _CeladonMansion1Text3
-	db $8
-	ld a, $4
-	jp $46a1
-; 0x486c0
-
-CeladonMansion1Text4: ; 0x486c0
-	TX_FAR _CeladonMansion1Text4
-	db $8
-	ld a, $f
-	jp $46a1
-; 0x486ca
-
-CeladonMansion1Text5: ; 0x486ca
-	TX_FAR _CeladonMansion1Text5
-	db $50
-
-CeladonMansion1Object: ; 0x486cf (size=71)
-	db $f ; border tile
-
-	db $5 ; warps
-	db $b, $4, $2, $ff
-	db $b, $5, $2, $ff
-	db $0, $4, $4, $ff
-	db $1, $7, $1, CELADON_MANSION_2
-	db $1, $2, $2, CELADON_MANSION_2
-
-	db $1 ; signs
-	db $9, $4, $5 ; CeladonMansion1Text5
-
-	db $4 ; people
-	db SPRITE_SLOWBRO, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_OLD_MEDIUM_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $2 ; person
-	db SPRITE_CLEFAIRY, $8 + 4, $1 + 4, $fe, $2, $3 ; person
-	db SPRITE_SLOWBRO, $4 + 4, $4 + 4, $fe, $1, $4 ; person
-
-	; warp-to
-	EVENT_DISP $4, $b, $4
-	EVENT_DISP $4, $b, $5
-	EVENT_DISP $4, $0, $4
-	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_2
-	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_2
-
-CeladonMansion1Blocks: ; 0x48716 24
-	INCBIN "maps/celadonmansion1.blk"
-
-CeladonMansion2_h: ; 0x4872e to 0x4873a (12 bytes) (bank=12) (id=129)
-	db $13 ; tileset
-	db CELADON_MANSION_2_HEIGHT, CELADON_MANSION_2_WIDTH ; dimensions (y, x)
-	dw CeladonMansion2Blocks, CeladonMansion2Texts, CeladonMansion2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMansion2Object ; objects
-
-CeladonMansion2Script: ; 0x4873a
-	call $3c3c
-	ret
-; 0x4873e
-
-CeladonMansion2Texts: ; 0x4873e
-	dw CeladonMansion2Text1
-
-CeladonMansion2Text1: ; 0x48740
-	TX_FAR _CeladonMansion2Text1
-	db $50
-
-CeladonMansion2Object: ; 0x48745 (size=39)
-	db $f ; border tile
-
-	db $4 ; warps
-	db $1, $6, $0, CELADON_MANSION_3
-	db $1, $7, $3, CELADON_MANSION_1
-	db $1, $2, $4, CELADON_MANSION_1
-	db $1, $4, $3, CELADON_MANSION_3
-
-	db $1 ; signs
-	db $9, $4, $1 ; CeladonMansion2Text1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3
-	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_1
-	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_1
-	EVENT_DISP $4, $1, $4 ; CELADON_MANSION_3
-
-CeladonMansion2Blocks: ; 0x4876c 24
-	INCBIN "maps/celadonmansion2.blk"
-
-CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130)
-	db $13 ; tileset
-	db CELADON_MANSION_3_HEIGHT, CELADON_MANSION_3_WIDTH ; dimensions (y, x)
-	dw CeladonMansion3Blocks, CeladonMansion3Texts, CeladonMansion3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMansion3Object ; objects
-
-CeladonMansion3Script: ; 0x48790
-	jp $3c3c
-; 0x48793
-
-CeladonMansion3Texts: ; 0x48793
-	dw CeladonMansion3Text1, CeladonMansion3Text2, CeladonMansion3Text3, CeladonMansion3Text4, CeladonMansion3Text5, CeladonMansion3Text6, CeladonMansion3Text7, CeladonMansion3Text8
-
-CeladonMansion3Text1: ; 0x487a3
-	TX_FAR _CeladonMansion3Text1
-	db $50
-
-CeladonMansion3Text2: ; 0x487a8
-	TX_FAR _CeladonMansion3Text2
-	db $50
-
-CeladonMansion3Text3: ; 0x487ad
-	TX_FAR _CeladonMansion3Text3
-	db $50
-
-CeladonMansion3Text4: ; 0x487b2
-	db $08 ; asm
-	ld hl, $d2f7
-	ld b, $13
-	call $2b7f
-	ld a, [$d11e]
-	cp $96
-	jr nc, .asm_f03d0 ; 0x487c0
-	ld hl, UnnamedText_487d0
-	jr .asm_c13f0 ; 0x487c5
-.asm_f03d0 ; 0x487c7
-	ld hl, UnnamedText_487d5
-.asm_c13f0 ; 0x487ca
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_487d0: ; 0x487d0
-	TX_FAR _UnnamedText_487d0
-	db $50
-; 0x487d5
-
-UnnamedText_487d5: ; 0x487d5
-	TX_FAR _UnnamedText_487d5 ; 0x9d0ad
-	db $6
-	db $8
-	ld hl, $66e2
-	ld b, $15
-	call Bankswitch
-	ld a, $1
-	ld [$cc3c], a
-	jp TextScriptEnd
-; 0x487eb
-
-CeladonMansion3Text5: ; 0x487eb
-	TX_FAR _CeladonMansion3Text5
-	db $50
-
-CeladonMansion3Text6: ; 0x487f0
-	TX_FAR _CeladonMansion3Text6
-	db $50
-
-CeladonMansion3Text7: ; 0x487f5
-	TX_FAR _CeladonMansion3Text7
-	db $50
-
-CeladonMansion3Text8: ; 0x487fa
-	TX_FAR _CeladonMansion3Text8
-	db $50
-
-CeladonMansion3Object: ; 0x487ff (size=72)
-	db $f ; border tile
-
-	db $4 ; warps
-	db $1, $6, $0, CELADON_MANSION_2
-	db $1, $7, $0, CELADON_MANSION_4
-	db $1, $2, $1, CELADON_MANSION_4
-	db $1, $4, $3, CELADON_MANSION_2
-
-	db $4 ; signs
-	db $3, $1, $5 ; CeladonMansion3Text5
-	db $3, $4, $6 ; CeladonMansion3Text6
-	db $6, $1, $7 ; CeladonMansion3Text7
-	db $9, $4, $8 ; CeladonMansion3Text8
-
-	db $4 ; people
-	db SPRITE_BIKE_SHOP_GUY, $4 + 4, $0 + 4, $ff, $d1, $1 ; person
-	db SPRITE_MART_GUY, $4 + 4, $3 + 4, $ff, $d1, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $0 + 4, $ff, $d1, $3 ; person
-	db SPRITE_LAPRAS_GIVER, $3 + 4, $2 + 4, $ff, $ff, $4 ; person
-
-	; warp-to
-	EVENT_DISP $4, $1, $6 ; CELADON_MANSION_2
-	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_4
-	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_4
-	EVENT_DISP $4, $1, $4 ; CELADON_MANSION_2
-
-CeladonMansion3Blocks: ; 0x48847 24
-	INCBIN "maps/celadonmansion3.blk"
-
-CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131)
-	db $13 ; tileset
-	db CELADON_MANSION_4_HEIGHT, CELADON_MANSION_4_WIDTH ; dimensions (y, x)
-	dw CeladonMansion4Blocks, CeladonMansion4Texts, CeladonMansion4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMansion4Object ; objects
-
-CeladonMansion4Script: ; 0x4886b
-	jp $3c3c
-; 0x4886e
-
-CeladonMansion4Texts: ; 0x4886e
-	dw CeladonMansion4Text1
-
-CeladonMansion4Text1: ; 0x48870
-	TX_FAR _CeladonMansion4Text1
-	db $50
-
-CeladonMansion4Object: ; 0x48875 (size=31)
-	db $9 ; border tile
-
-	db $3 ; warps
-	db $1, $6, $1, CELADON_MANSION_3
-	db $1, $2, $2, CELADON_MANSION_3
-	db $7, $2, $0, CELADON_MANSION_5
-
-	db $1 ; signs
-	db $7, $3, $1 ; CeladonMansion4Text1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3
-	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_3
-	EVENT_DISP $4, $7, $2 ; CELADON_MANSION_5
-
-CeladonMansion4Blocks: ; 0x48894 24
-	INCBIN "maps/celadonmansion4.blk"
-
-CeladonPokecenter_h: ; 0x488ac to 0x488b8 (12 bytes) (bank=12) (id=133)
-	db $06 ; tileset
-	db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x)
-	dw CeladonPokecenterBlocks, CeladonPokecenterTexts, CeladonPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonPokecenterObject ; objects
-
-CeladonPokecenterScript: ; 0x488b8
-	call $22fa
-	jp $3c3c
-; 0x488be
-
-CeladonPokecenterTexts:
-	dw CeladonPokecenterText1, CeladonPokecenterText2, CeladonPokecenterText3, CeladonPokecenterText4
-
-CeladonPokecenterText4:
-	db $f6
-
-CeladonPokecenterText1:
-	db $ff
-
-CeladonPokecenterText2: ; 0x488c8
-	TX_FAR _CeladonPokecenterText2
-	db $50
-
-CeladonPokecenterText3: ; 0x488cd
-	TX_FAR _CeladonPokecenterText3
-	db $50
-
-CeladonPokecenterObject: ; 0x488d2 (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $5, $ff
-	db $7, $4, $5, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person
-	db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $fe, $0, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-CeladonGym_h: ; 0x488fe to 0x4890a (12 bytes) (bank=12) (id=134)
-	db $07 ; tileset
-	db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x)
-	dw CeladonGymBlocks, CeladonGymTexts, CeladonGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonGymObject ; objects
-
-CeladonGymScript: ; 0x4890a
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, CeladonGymScript_Unknown48927
-	call $3c3c
-	ld hl, CeladonGymTrainerHeaders
-	ld de, $494e
-	ld a, [$d5ff]
-	call $3160
-	ld [$d5ff], a
-	ret
-; 0x48927
-
-CeladonGymScript_Unknown48927: ; 0x48927
-INCBIN "baserom.gbc",$48927,$7f
-
-CeladonGymTexts: ; 0x489a6
-	dw CeladonGymText1, CeladonGymText2, CeladonGymText3, CeladonGymText4, CeladonGymText5, CeladonGymText6, CeladonGymText7, CeladonGymText8, CeladonGymText9, TM21Text, TM21NoRoomText
-
-CeladonGymTrainerHeaders:
-TrainerHeader_489bc: ; 0x489bc
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48a8b ; 0x4a8b TextBeforeBattle
-	dw UnnamedText_48a95 ; 0x4a95 TextAfterBattle
-	dw UnnamedText_48a90 ; 0x4a90 TextEndBattle
-	dw UnnamedText_48a90 ; 0x4a90 TextEndBattle
-; 0x489c8
-
-TrainerHeader_489c8: ; 0x489c8
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48aa4 ; 0x4aa4 TextBeforeBattle
-	dw UnnamedText_48aae ; 0x4aae TextAfterBattle
-	dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle
-	dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle
-; 0x489d4
-
-TrainerHeader_489d4: ; 0x489d4
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48abd ; 0x4abd TextBeforeBattle
-	dw UnnamedText_48ac7 ; 0x4ac7 TextAfterBattle
-	dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle
-	dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle
-; 0x489e0
-
-TrainerHeader_489e0: ; 0x489e0
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48ad6 ; 0x4ad6 TextBeforeBattle
-	dw UnnamedText_48ae0 ; 0x4ae0 TextAfterBattle
-	dw UnnamedText_48adb ; 0x4adb TextEndBattle
-	dw UnnamedText_48adb ; 0x4adb TextEndBattle
-; 0x489ec
-
-TrainerHeader_489ec: ; 0x489ec
-	db $6 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48aef ; 0x4aef TextBeforeBattle
-	dw UnnamedText_48af9 ; 0x4af9 TextAfterBattle
-	dw UnnamedText_48af4 ; 0x4af4 TextEndBattle
-	dw UnnamedText_48af4 ; 0x4af4 TextEndBattle
-; 0x489f8
-
-TrainerHeader_489f8: ; 0x489f8
-	db $7 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48b08 ; 0x4b08 TextBeforeBattle
-	dw UnnamedText_48b12 ; 0x4b12 TextAfterBattle
-	dw UnnamedText_48b0d ; 0x4b0d TextEndBattle
-	dw UnnamedText_48b0d ; 0x4b0d TextEndBattle
-; 0x48a04
-
-TrainerHeader_48a04: ; 0x48a04
-	db $8 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d77c ; flag's byte
-	dw UnnamedText_48b21 ; 0x4b21 TextBeforeBattle
-	dw UnnamedText_48b2b ; 0x4b2b TextAfterBattle
-	dw UnnamedText_48b26 ; 0x4b26 TextEndBattle
-	dw UnnamedText_48b26 ; 0x4b26 TextEndBattle
-; 0x48a10
-
-db $ff
-
-CeladonGymText1: ; 0x48a11
-	db $08 ; asm
-	ld a, [$d77c]
-	bit 1, a
-	jr z, .asm_16064 ; 0x48a17
-	bit 0, a
-	jr nz, .asm_3b22c ; 0x48a1b
-	call z, $4963
-	call $30b6
-	jr .asm_96252 ; 0x48a23
-.asm_3b22c ; 0x48a25
-	ld hl, UnnamedText_48a68
-	call PrintText
-	jr .asm_96252 ; 0x48a2b
-.asm_16064 ; 0x48a2d
-	ld hl, UnnamedText_48a5e
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $4a63
-	ld de, $4a63
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $4
-	ld [$d05c], a
-	ld a, $3
-	ld [$d5ff], a
-	ld [$da39], a
-.asm_96252 ; 0x48a5b
-	jp TextScriptEnd
-
-UnnamedText_48a5e: ; 0x48a5e
-	TX_FAR _UnnamedText_48a5e
-	db $50
-; 0x48a5e + 5 bytes
-
-UnnamedText_48a63: ; 0x48a63
-	TX_FAR _UnnamedText_48a63
-	db $50
-; 0x48a63 + 5 bytes
-
-UnnamedText_48a68: ; 0x48a68
-	TX_FAR _UnnamedText_48a68
-	db $50
-; 0x48a68 + 5 bytes
-
-CeladonGymText9: ; 0x48a6d
-UnnamedText_48a6d: ; 0x48a6d
-	TX_FAR _UnnamedText_48a6d
-	db $50
-; 0x48a6d + 5 bytes
-
-TM21Text: ; 0x48a72
-	TX_FAR _ReceivedTM21Text ; 0x9d50c
-	db $0B
-	TX_FAR _TM21ExplanationText ; 0x9d520
-	db $50
-; 0x48a7c
-
-TM21NoRoomText: ; 0x48a7c
-	TX_FAR _TM21NoRoomText
-	db $50
-; 0x48a7c + 5 bytes
-
-CeladonGymText2: ; 0x48a81
-	db $08 ; asm
-	ld hl, TrainerHeader_489bc
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48a8b: ; 0x48a8b
-	TX_FAR _UnnamedText_48a8b
-	db $50
-; 0x48a8b + 5 bytes
-
-UnnamedText_48a90: ; 0x48a90
-	TX_FAR _UnnamedText_48a90
-	db $50
-; 0x48a90 + 5 bytes
-
-UnnamedText_48a95: ; 0x48a95
-	TX_FAR _UnnamedText_48a95
-	db $50
-; 0x48a95 + 5 bytes
-
-CeladonGymText3: ; 0x48a9a
-	db $08 ; asm
-	ld hl, TrainerHeader_489c8
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48aa4: ; 0x48aa4
-	TX_FAR _UnnamedText_48aa4
-	db $50
-; 0x48aa4 + 5 bytes
-
-UnnamedText_48aa9: ; 0x48aa9
-	TX_FAR _UnnamedText_48aa9
-	db $50
-; 0x48aa9 + 5 bytes
-
-UnnamedText_48aae: ; 0x48aae
-	TX_FAR _UnnamedText_48aae
-	db $50
-; 0x48aae + 5 bytes
-
-CeladonGymText4: ; 0x48ab3
-	db $08 ; asm
-	ld hl, TrainerHeader_489d4
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48abd: ; 0x48abd
-	TX_FAR _UnnamedText_48abd
-	db $50
-; 0x48abd + 5 bytes
-
-UnnamedText_48ac2: ; 0x48ac2
-	TX_FAR _UnnamedText_48ac2
-	db $50
-; 0x48ac2 + 5 bytes
-
-UnnamedText_48ac7: ; 0x48ac7
-	TX_FAR _UnnamedText_48ac7
-	db $50
-; 0x48ac7 + 5 bytes
-
-CeladonGymText5: ; 0x48acc
-	db $08 ; asm
-	ld hl, TrainerHeader_489e0
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48ad6: ; 0x48ad6
-	TX_FAR _UnnamedText_48ad6
-	db $50
-; 0x48ad6 + 5 bytes
-
-UnnamedText_48adb: ; 0x48adb
-	TX_FAR _UnnamedText_48adb
-	db $50
-; 0x48adb + 5 bytes
-
-UnnamedText_48ae0: ; 0x48ae0
-	TX_FAR _UnnamedText_48ae0
-	db $50
-; 0x48ae0 + 5 bytes
-
-CeladonGymText6: ; 0x48ae5
-	db $08 ; asm
-	ld hl, TrainerHeader_489ec
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48aef: ; 0x48aef
-	TX_FAR _UnnamedText_48aef
-	db $50
-; 0x48aef + 5 bytes
-
-UnnamedText_48af4: ; 0x48af4
-	TX_FAR _UnnamedText_48af4
-	db $50
-; 0x48af4 + 5 bytes
-
-UnnamedText_48af9: ; 0x48af9
-	TX_FAR _UnnamedText_48af9
-	db $50
-; 0x48af9 + 5 bytes
-
-CeladonGymText7: ; 0x48afe
-	db $08 ; asm
-	ld hl, TrainerHeader_489f8
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48b08: ; 0x48b08
-	TX_FAR _UnnamedText_48b08
-	db $50
-; 0x48b08 + 5 bytes
-
-UnnamedText_48b0d: ; 0x48b0d
-	TX_FAR _UnnamedText_48b0d
-	db $50
-; 0x48b0d + 5 bytes
-
-UnnamedText_48b12: ; 0x48b12
-	TX_FAR _UnnamedText_48b12
-	db $50
-; 0x48b12 + 5 bytes
-
-CeladonGymText8: ; 0x48b17
-	db $08 ; asm
-	ld hl, TrainerHeader_48a04
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_48b21: ; 0x48b21
-	TX_FAR _UnnamedText_48b21
-	db $50
-; 0x48b21 + 5 bytes
-
-UnnamedText_48b26: ; 0x48b26
-	TX_FAR _UnnamedText_48b26
-	db $50
-; 0x48b26 + 5 bytes
-
-UnnamedText_48b2b: ; 0x48b2b
-	TX_FAR _UnnamedText_48b2b
-	db $50
-; 0x48b2b + 5 bytes
-
-CeladonGymObject: ; 0x48b30 (size=84)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $11, $4, $6, $ff
-	db $11, $5, $6, $ff
-
-	db $0 ; signs
-
-	db $8 ; people
-	db SPRITE_ERIKA, $3 + 4, $4 + 4, $ff, $d0, $41, ERIKA + $C8, $1 ; trainer
-	db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d3, $42, LASS + $C8, $11 ; trainer
-	db SPRITE_FOULARD_WOMAN, $a + 4, $7 + 4, $ff, $d2, $43, BEAUTY + $C8, $1 ; trainer
-	db SPRITE_LASS, $5 + 4, $9 + 4, $ff, $d0, $44, JR__TRAINER_F + $C8, $b ; trainer
-	db SPRITE_FOULARD_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $45, BEAUTY + $C8, $2 ; trainer
-	db SPRITE_LASS, $3 + 4, $6 + 4, $ff, $d0, $46, LASS + $C8, $12 ; trainer
-	db SPRITE_FOULARD_WOMAN, $3 + 4, $3 + 4, $ff, $d0, $47, BEAUTY + $C8, $3 ; trainer
-	db SPRITE_LASS, $3 + 4, $5 + 4, $ff, $d0, $48, COOLTRAINER_F + $C8, $1 ; trainer
-
-	; warp-to
-	EVENT_DISP $5, $11, $4
-	EVENT_DISP $5, $11, $5
-
-CeladonGymBlocks: ; 0x48b84 45
-	INCBIN "maps/celadongym.blk"
-
-CeladonGameCorner_h: ; 0x48bb1 to 0x48bbd (12 bytes) (bank=12) (id=135)
-	db $12 ; tileset
-	db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x)
-	dw CeladonGameCornerBlocks, CeladonGameCornerTexts, CeladonGameCornerScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonGameCornerObject ; objects
-
-CeladonGameCornerScript: ; 0x48bbd
-	call Unknown_48bcf
-	call $4bec
-	call $3c3c
-	ld hl, CeladonGameCornerScripts
-	ld a, [$d65f]
-	jp $3d97
-; 0x48bcf
-
-Unknown_48bcf: ; 0x48bcf
-INCBIN "baserom.gbc",$48bcf,$48c12 - $48bcf
-
-CeladonGameCornerScripts: ; 0x48c12
-	dw CeladonGameCornerScript0, CeladonGameCornerScript1
-
-INCBIN "baserom.gbc",$48c16,$2
-
-CeladonGameCornerScript0: ; 0x48c18
-	ret
-; 0x48c19
-
-CeladonGameCornerScript1: ; 0x48c19
-INCBIN "baserom.gbc",$48c19,$71
-
-CeladonGameCornerTexts: ; 0x48c8a
-	dw CeladonGameCornerText1, CeladonGameCornerText2, CeladonGameCornerText3, CeladonGameCornerText4, CeladonGameCornerText5, CeladonGameCornerText6, CeladonGameCornerText7, CeladonGameCornerText8, CeladonGameCornerText9, CeladonGameCornerText10, CeladonGameCornerText11, CeladonGameCornerText12, CeladonGameCornerText13
-
-CeladonGameCornerText1: ; 0x48ca4
-	TX_FAR _CeladonGameCornerText1
-	db $50
-
-CeladonGameCornerText2: ; 0x48ca9
-	db $08 ; asm
-	call $4f1e
-	ld hl, UnnamedText_48d22
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_c650b ; 0x48cba
-	ld b,COIN_CASE
-	call $3493
-	jr z, .asm_ed086 ; 0x48cc1
-	call $4f95
-	jr nc, .asm_31338 ; 0x48cc6
-	xor a
-	ldh [$9f], a
-	ldh [$a1], a
-	ld a, $10
-	ldh [$a0], a
-	call $35a6
-	jr nc, .asm_b6ef0 ; 0x48cd4
-	ld hl, $4d31
-	jr .asm_e2afd ; 0x48cd9
-.asm_b6ef0 ; 0x48cdb
-	xor a
-	ldh [$9f], a
-	ldh [$a1], a
-	ld a, $10
-	ldh [$a0], a
-	ld hl, $ffa1
-	ld de, $d349
-	ld c, $3
-	ld a, $c
-	call Predef
-	xor a
-	ldh [$9f], a
-	ldh [$a0], a
-	ld a, $50
-	ldh [$a1], a
-	ld de, $d5a5
-	ld hl, $ffa1
-	ld c, $2
-	ld a, $b
-	call Predef
-	call $4f1e
-	ld hl, UnnamedText_48d27
-	jr .asm_e2afd ; 0x48d0d
-.asm_c650b ; 0x48d0f
-	ld hl, UnnamedText_48d2c
-	jr .asm_e2afd ; 0x48d12
-.asm_31338 ; 0x48d14
-	ld hl, UnnamedText_48d36
-	jr .asm_e2afd ; 0x48d17
-.asm_ed086 ; 0x48d19
-	ld hl, UnnamedText_48d3b
-.asm_e2afd ; 0x48d1c
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_48d22: ; 0x48d22
-	TX_FAR _UnnamedText_48d22
-	db $50
-; 0x48d27
-
-UnnamedText_48d27: ; 0x48d27
-	TX_FAR _UnnamedText_48d27
-	db $50
-; 0x48d2c
-
-UnnamedText_48d2c: ; 0x48d2c
-	TX_FAR _UnnamedText_48d2c
-	db $50
-; 0x48d31
-
-UnnamedText_48d31: ; 0x48d31
-	TX_FAR _UnnamedText_48d31
-	db $50
-; 0x48d36
-
-UnnamedText_48d36: ; 0x48d36
-	TX_FAR _UnnamedText_48d36
-	db $50
-; 0x48d3b
-
-UnnamedText_48d3b: ; 0x48d3b
-	TX_FAR _UnnamedText_48d3b
-	db $50
-; 0x48d40
-
-CeladonGameCornerText3: ; 0x48d40
-	TX_FAR _CeladonGameCornerText3
-	db $50
-
-CeladonGameCornerText4: ; 0x48d45
-	TX_FAR _CeladonGameCornerText4
-	db $50
-
-CeladonGameCornerText5: ; 0x48d4a
-	db $08 ; asm
-	ld a, [$d77e]
-	bit 2, a
-	jr nz, .asm_d0957 ; 0x48d50
-	ld hl, UnnamedText_48d9c
-	call PrintText
-	ld b, COIN_CASE
-	call $3493
-	jr z, .asm_5aef9 ; 0x48d5d
-	call $4f95
-	jr nc, .asm_98546 ; 0x48d62
-	xor a
-	ldh [$9f], a
-	ldh [$a0], a
-	ld a, $10
-	ldh [$a1], a
-	ld de, $d5a5
-	ld hl, $ffa1
-	ld c, $2
-	ld a, $b
-	call Predef
-	ld hl, $d77e
-	set 2, [hl]
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, Received10CoinsText
-	jr .asm_c7d1a ; 0x48d87
-.asm_d0957 ; 0x48d89
-	ld hl, UnnamedText_48dac
-	jr .asm_c7d1a ; 0x48d8c
-.asm_98546 ; 0x48d8e
-	ld hl, UnnamedText_48da7
-	jr .asm_c7d1a ; 0x48d91
-.asm_5aef9 ; 0x48d93
-	ld hl, UnnamedText_48f19
-.asm_c7d1a ; 0x48d96
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_48d9c: ; 0x48d9c
-	TX_FAR _UnnamedText_48d9c
-	db $50
-; 0x48d9c + 5 bytes
-
-Received10CoinsText: ; 0x48da1
-	TX_FAR _Received10CoinsText ; 0x9daa9
-	db $0B, $50
-
-UnnamedText_48da7: ; 0x48da7
-	TX_FAR _UnnamedText_48da7
-	db $50
-; 0x48da7 + 5 bytes
-
-UnnamedText_48dac: ; 0x48dac
-	TX_FAR _UnnamedText_48dac
-	db $50
-; 0x48dac + 5 bytes
-
-CeladonGameCornerText6: ; 0x48db1
-	TX_FAR _CeladonGameCornerText6
-	db $50
-
-CeladonGameCornerText7: ; 0x48db6
-	db $08 ; asm
-	ld a, [$d77c]
-	bit 1, a
-	ld hl, $4dca
-	jr z, .asm_be3fd ; 0x48dbf
-	ld hl, $4dcf
-.asm_be3fd ; 0x48dc4
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_48dca: ; 0x48dca
-	TX_FAR _UnnamedText_48dca
-	db $50
-; 0x48dca + 5 bytes
-
-UnnamedText_48dcf: ; 0x48dcf
-	TX_FAR _UnnamedText_48dcf
-	db $50
-; 0x48dcf + 5 bytes
-
-CeladonGameCornerText8: ; 0x48dd4
-	TX_FAR _CeladonGameCornerText8
-	db $50
-
-CeladonGameCornerText9: ; 0x48dd9
-	db $08 ; asm
-	ld a, [$d77e]
-	bit 4, a
-	jr nz, .asm_ed8bc ; 0x48ddf
-	ld hl, UnnamedText_48e26
-	call PrintText
-	ld b, COIN_CASE
-	call $3493
-	jr z, .asm_df794 ; 0x48dec
-	call $4f95
-	jr nc, .asm_f17c3 ; 0x48df1
-	xor a
-	ldh [$9f], a
-	ldh [$a0], a
-	ld a, $20
-	ldh [$a1], a
-	ld de, $d5a5
-	ld hl, $ffa1
-	ld c, $2
-	ld a, $b
-	call Predef
-	ld hl, $d77e
-	set 4, [hl]
-	ld hl, Received20CoinsText
-	jr .asm_0ddc2 ; 0x48e11
-.asm_ed8bc ; 0x48e13
-	ld hl, UnnamedText_48e36
-	jr .asm_0ddc2 ; 0x48e16
-.asm_f17c3 ; 0x48e18
-	ld hl, UnnamedText_48e31
-	jr .asm_0ddc2 ; 0x48e1b
-.asm_df794 ; 0x48e1d
-	ld hl, UnnamedText_48f19
-.asm_0ddc2 ; 0x48e20
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_48e26: ; 0x48e26
-	TX_FAR _UnnamedText_48e26
-	db $50
-; 0x48e26 + 5 bytes
-
-Received20CoinsText: ; 0x48e2b
-	TX_FAR _Received20CoinsText ; 0x9dc4f
-	db $0B, $50
-; 0x48e31
-
-UnnamedText_48e31: ; 0x48e31
-	TX_FAR _UnnamedText_48e31
-	db $50
-; 0x48e31 + 5 bytes
-
-UnnamedText_48e36: ; 0x48e36
-	TX_FAR _UnnamedText_48e36
-	db $50
-; 0x48e36 + 5 bytes
-
-CeladonGameCornerText10: ; 0x48e3b
-	db $08 ; asm
-	ld a, [$d77e]
-	bit 3, a
-	jr nz, .asm_ff080 ; 0x48e41
-	ld hl, $4e88
-	call PrintText
-	ld b,COIN_CASE
-	call $3493
-	jr z, .asm_4fb0c ; 0x48e4e
-	call $4f95
-	jr z, .asm_9505a ; 0x48e53
-	xor a
-	ldh [$9f], a
-	ldh [$a0], a
-	ld a, $20
-	ldh [$a1], a
-	ld de, $d5a5
-	ld hl, $ffa1
-	ld c, $2
-	ld a, $b
-	call Predef
-	ld hl, $d77e
-	set 3, [hl]
-	ld hl, UnnamedText_48e8d
-	jr .asm_78d65 ; 0x48e73
-.asm_ff080 ; 0x48e75
-	ld hl, UnnamedText_48e98
-	jr .asm_78d65 ; 0x48e78
-.asm_9505a ; 0x48e7a
-	ld hl, UnnamedText_48e93
-	jr .asm_78d65 ; 0x48e7d
-.asm_4fb0c ; 0x48e7f
-	ld hl, UnnamedText_48f19
-.asm_78d65 ; 0x48e82
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_48e88: ; 0x48e88
-	TX_FAR _UnnamedText_48e88
-	db $50
-; 0x48e88 + 5 bytes
-
-UnnamedText_48e8d: ; 0x48e8d
-	TX_FAR _UnnamedText_48e8d ; 0x9dceb
-	db $0B, $50
-; 0x48e93
-
-UnnamedText_48e93: ; 0x48e93
-	TX_FAR _UnnamedText_48e93
-	db $50
-; 0x48e93 + 5 bytes
-
-UnnamedText_48e98: ; 0x48e98
-	TX_FAR _UnnamedText_48e98
-	db $50
-; 0x48e98 + 5 bytes
-
-CeladonGameCornerText11: ; 0x48e9d
-	db $08 ; asm
-	ld hl, UnnamedText_48ece
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_48ed3
-	ld de, $4ed3 ; maybe UnnamedText_48ed3
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	xor a
-	ldh [$b4], a
-	ldh [$b3], a
-	ldh [$b2], a
-	ld a, $1
-	ld [$d65f], a
-	jp TextScriptEnd
-
-UnnamedText_48ece: ; 0x48ece
-	TX_FAR _UnnamedText_48ece
-	db $50
-; 0x48ece + 5 bytes
-
-UnnamedText_48ed3: ; 0x48ed3
-	TX_FAR _UnnamedText_48ed3
-	db $50
-; 0x48ed3 + 5 bytes
-
-CeladonGameCornerText13: ; 0x48ed8
-	TX_FAR _UnnamedText_48ed8
-	db $50
-; 0x48ed8 + 5 bytes
-
-CeladonGameCornerText12: ; 0x48edd
-	db $08 ; asm
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, UnnamedText_48f09
-	call PrintText
-	call $3748
-	ld a, $ad
-	call $23b1
-	call $3748
-	ld hl, $d77e
-	set 1, [hl]
-	ld a, $43
-	ld [$d09f], a
-	ld bc, $0208
-	ld a, $17
-	call Predef
-	jp TextScriptEnd
-
-UnnamedText_48f09: ; 0x48f09
-	TX_FAR _UnnamedText_48f09 ; 0x9ddb0
-	db $8
-	ld a, $9d
-	call $23b1
-	call $3748
-	jp TextScriptEnd
-; 0x48f19
-
-UnnamedText_48f19: ; 0x48f19
-	TX_FAR _UnnamedText_48f19
-	db $50
-; 0x48f19 + 5 bytes
-
-INCBIN "baserom.gbc",$48f1e,$82
-
-CeladonGameCornerObject: ; 0x48fa0 (size=99)
-	db $f ; border tile
-
-	db $3 ; warps
-	db $11, $f, $7, $ff
-	db $11, $10, $7, $ff
-	db $4, $11, $1, ROCKET_HIDEOUT_1
-
-	db $1 ; signs
-	db $4, $9, $c ; CeladonGameCornerText12
-
-	db $b ; people
-	db SPRITE_FOULARD_WOMAN, $6 + 4, $2 + 4, $ff, $d0, $1 ; person
-	db SPRITE_MART_GUY, $6 + 4, $5 + 4, $ff, $d0, $2 ; person
-	db SPRITE_FAT_BALD_GUY, $a + 4, $2 + 4, $ff, $d2, $3 ; person
-	db SPRITE_FOULARD_WOMAN, $d + 4, $2 + 4, $ff, $d2, $4 ; person
-	db SPRITE_FISHER, $b + 4, $5 + 4, $ff, $d3, $5 ; person
-	db SPRITE_MOM_GEISHA, $b + 4, $8 + 4, $ff, $d2, $6 ; person
-	db SPRITE_GYM_HELPER, $e + 4, $8 + 4, $ff, $d2, $7 ; person
-	db SPRITE_GAMBLER, $f + 4, $b + 4, $ff, $d3, $8 ; person
-	db SPRITE_MART_GUY, $b + 4, $e + 4, $ff, $d2, $9 ; person
-	db SPRITE_GENTLEMAN, $d + 4, $11 + 4, $ff, $d3, $a ; person
-	db SPRITE_ROCKET, $5 + 4, $9 + 4, $ff, $d1, $4b, ROCKET + $C8, $7 ; trainer
-
-	; warp-to
-	EVENT_DISP $a, $11, $f
-	EVENT_DISP $a, $11, $10
-	EVENT_DISP $a, $4, $11 ; ROCKET_HIDEOUT_1
-
-CeladonGameCornerBlocks: ; 0x49003 90
-	INCBIN "maps/celadongamecorner.blk"
-
-CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136)
-	db $12 ; tileset
-	db CELADON_HOUSE_HEIGHT, CELADON_HOUSE_WIDTH ; dimensions (y, x)
-	dw CeladonMart5Blocks, CeladonMart5Texts, CeladonMart5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMart5Object ; objects
-
-CeladonMart5Script: ; 0x49069
-	jp $3c3c
-; 0x4906c
-
-CeladonMart5Texts: ; 0x4906c
-	dw CeladonMart5Text1, CeladonMart5Text2, CeladonMart5Text3, CeladonMart5Text4, CeladonMart5Text5
-
-CeladonMart5Text1: ; 0x49076
-	TX_FAR _CeladonMart5Text1
-	db $50
-
-CeladonMart5Text2: ; 0x4907b
-	TX_FAR _CeladonMart5Text2
-	db $50
-
-CeladonMart5Text5: ; 0x49080
-	TX_FAR _CeladonMart5Text5
-	db $50
-
-CeladonMart5Object: ; 0x49085 (size=55)
-	db $f ; border tile
-
-	db $3 ; warps
-	db $1, $c, $0, CELADON_MART_ROOF
-	db $1, $10, $1, CELADON_MART_4
-	db $1, $1, $0, CELADON_MART_ELEVATOR
-
-	db $1 ; signs
-	db $1, $e, $5 ; CeladonMart5Text5
-
-	db $4 ; people
-	db SPRITE_GENTLEMAN, $5 + 4, $e + 4, $fe, $1, $1 ; person
-	db SPRITE_SAILOR, $6 + 4, $2 + 4, $ff, $ff, $2 ; person
-	db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $3 ; person
-	db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $a, $1, $c ; CELADON_MART_ROOF
-	EVENT_DISP $a, $1, $10 ; CELADON_MART_4
-	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
-
-CeladonMart5Blocks: ; 0x490bc 40
-	INCBIN "maps/celadonhouse.blk"
-
-CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137)
-	db $12 ; tileset
-	db CELADONPRIZE_ROOM_HEIGHT, CELADONPRIZE_ROOM_WIDTH ; dimensions (y, x)
-	dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTexts, CeladonPrizeRoomScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonPrizeRoomObject ; objects
-
-CeladonPrizeRoomScript: ; 0x490f0
-	jp $3c3c
-; 0x490f3
-
-CeladonPrizeRoomTexts:
-	dw CeladonPrizeRoomText1, CeladonPrizeRoomText2, CeladonPrizeRoomText3, CeladonPrizeRoomText3, CeladonPrizeRoomText3
-
-CeladonPrizeRoomText1: ; 0x490fd
-	TX_FAR _CeladonPrizeRoomText1
-	db $50
-
-CeladonPrizeRoomText2: ; 0x49102
-	TX_FAR _CeladonPrizeRoomText2
-	db $50
-
-CeladonPrizeRoomText3: ; 0x49107
-	db $f7
-
-CeladonPrizeRoomObject: ; 0x49108 (size=41)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $7, $4, $9, $ff
-	db $7, $5, $9, $ff
-
-	db $3 ; signs
-	db $2, $2, $3 ; CeladonPrizeRoomText3
-	db $2, $4, $4 ; CeladonPrizeRoomText4
-	db $2, $6, $5 ; CeladonPrizeRoomText5
-
-	db $2 ; people
-	db SPRITE_BALDING_GUY, $4 + 4, $1 + 4, $ff, $ff, $1 ; person
-	db SPRITE_GAMBLER, $3 + 4, $7 + 4, $fe, $2, $2 ; person
-
-	; warp-to
-	EVENT_DISP $5, $7, $4
-	EVENT_DISP $5, $7, $5
-
-CeladonPrizeRoomBlocks: ; 0x49131 20
-	INCBIN "maps/celadonprizeroom.blk"
-
-CeladonDiner_h: ; 0x49145 to 0x49151 (12 bytes) (bank=12) (id=138)
-	db $12 ; tileset
-	db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x)
-	dw CeladonDinerBlocks, CeladonDinerTexts, CeladonDinerScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonDinerObject ; objects
-
-CeladonDinerScript: ; 0x49151
-	call $3c3c
-	ret
-; 0x49155
-
-CeladonDinerTexts: ; 0x49155
-	dw CeladonDinerText1, CeladonDinerText2, CeladonDinerText3, CeladonDinerText4, CeladonDinerText5
-
-CeladonDinerText1: ; 0x4915f
-	TX_FAR _CeladonDinerText1
-	db $50
-
-CeladonDinerText2: ; 0x49164
-	TX_FAR _CeladonDinerText2
-	db $50
-
-CeladonDinerText3: ; 0x49169
-	TX_FAR _CeladonDinerText3
-	db $50
-
-CeladonDinerText4: ; 0x4916e
-	TX_FAR _CeladonDinerText4
-	db $50
-
-CeladonDinerText5: ; 0x49173
-	db $08 ; asm
-	ld a, [$d783]
-	bit 0, a
-	jr nz, .asm_eb14d ; 0x49179
-	ld hl, UnnamedText_491a7
-	call PrintText
-	ld bc, (COIN_CASE << 8) | 1
-	call GiveItem
-	jr nc, .asm_78e93 ; 0x49187
-	ld hl, $d783
-	set 0, [hl]
-	ld hl, ReceivedCoinCaseText
-	call PrintText
-	jr .asm_68b61 ; 0x49194
-.asm_78e93 ; 0x49196
-	ld hl, CoinCaseNoRoomText
-	call PrintText
-	jr .asm_68b61 ; 0x4919c
-.asm_eb14d ; 0x4919e
-	ld hl, UnnamedText_491b7
-	call PrintText
-.asm_68b61 ; 0x491a4
-	jp TextScriptEnd
-
-UnnamedText_491a7: ; 0x491a7
-	TX_FAR _UnnamedText_491a7
-	db $50
-; 0x491a7 + 5 bytes
-
-ReceivedCoinCaseText: ; 0x491ac
-	TX_FAR _ReceivedCoinCaseText ; 0x9e07a
-	db $11, $50
-; 0x491b2
-
-CoinCaseNoRoomText: ; 0x491b2
-	TX_FAR _CoinCaseNoRoomText
-	db $50
-; 0x491b2 + 5 bytes
-
-UnnamedText_491b7: ; 0x491b7
-	TX_FAR _UnnamedText_491b7
-	db $50
-; 0x491b7 + 5 bytes
-
-CeladonDinerObject: ; 0x491bc (size=50)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $7, $3, $a, $ff
-	db $7, $4, $a, $ff
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_COOK, $5 + 4, $8 + 4, $fe, $2, $1 ; person
-	db SPRITE_MOM_GEISHA, $2 + 4, $7 + 4, $ff, $ff, $2 ; person
-	db SPRITE_FAT_BALD_GUY, $4 + 4, $1 + 4, $ff, $d0, $3 ; person
-	db SPRITE_FISHER2, $3 + 4, $5 + 4, $ff, $d3, $4 ; person
-	db SPRITE_GYM_HELPER, $1 + 4, $0 + 4, $ff, $d0, $5 ; person
-
-	; warp-to
-	EVENT_DISP $5, $7, $3
-	EVENT_DISP $5, $7, $4
-
-CeladonDinerBlocks: ; 0x491ee 20
-	INCBIN "maps/celadondiner.blk"
-
-CeladonHouse_h: ; 0x49202 to 0x4920e (12 bytes) (bank=12) (id=139)
-	db $13 ; tileset
-	db CELADON_HOUSE_2_HEIGHT, CELADON_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw CeladonHouseBlocks, CeladonHouseTexts, CeladonHouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonHouseObject ; objects
-
-CeladonHouseScript: ; 0x4920e
-	call $3c3c
-	ret
-; 0x49212
-
-CeladonHouseTexts: ; 0x49212
-	dw CeladonHouseText1, CeladonHouseText2, CeladonHouseText3
-
-CeladonHouseText1: ; 0x49218
-	TX_FAR _CeladonHouseText1
-	db $50
-
-CeladonHouseText2: ; 0x4921d
-	TX_FAR _CeladonHouseText2
-	db $50
-
-CeladonHouseText3: ; 0x49222
-	TX_FAR _CeladonHouseText3
-	db $50
-
-CeladonHouseObject: ; 0x49227 (size=38)
-	db $f ; border tile
-
-	db $2 ; warps
-	db $7, $2, $b, $ff
-	db $7, $3, $b, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_OLD_PERSON, $2 + 4, $4 + 4, $ff, $d0, $1 ; person
-	db SPRITE_ROCKET, $4 + 4, $1 + 4, $fe, $0, $2 ; person
-	db SPRITE_SAILOR, $6 + 4, $5 + 4, $ff, $d2, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-CeladonHouseBlocks: ; 0x4924d 16
-	INCBIN "maps/celadonhouse2.blk"
-
-CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140)
-	db $06 ; tileset
-	db CELADONHOTEL_HEIGHT, CELADONHOTEL_WIDTH ; dimensions (y, x)
-	dw CeladonHotelBlocks, CeladonHotelTexts, CeladonHotelScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonHotelObject ; objects
-
-CeladonHotelScript: ; 0x49269
-	jp $3c3c
-; 0x4926c
-
-CeladonHotelTexts: ; 0x4926c
-	dw CeladonHotelText1, CeladonHotelText2, CeladonHotelText3
-
-CeladonHotelText1: ; 0x49272
-	TX_FAR _CeladonHotelText1
-	db $50
-
-CeladonHotelText2: ; 0x49277
-	TX_FAR _CeladonHotelText2
-	db $50
-
-CeladonHotelText3: ; 0x4927c
-	TX_FAR _CeladonHotelText3
-	db $50
-
-CeladonHotelObject: ; 0x49281 (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $c, $ff
-	db $7, $4, $c, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_OLD_MEDIUM_WOMAN, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_FOULARD_WOMAN, $4 + 4, $2 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $8 + 4, $fe, $2, $3 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-CeladonHotelBlocks: ; 0x492a7 28
-	INCBIN "maps/celadonhotel.blk"
-
-MtMoonPokecenter_h: ; 0x492c3 to 0x492cf (12 bytes) (bank=12) (id=68)
-	db $06 ; tileset
-	db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x)
-	dw MtMoonPokecenterBlocks, MtMoonPokecenterTexts, MtMoonPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw MtMoonPokecenterObject ; objects
-
-MtMoonPokecenterScript: ; 0x492cf
-	call $22fa
-	jp $3c3c
-; 0x492d5
-
-MtMoonPokecenterTexts:
-	dw MtMoonPokecenterText1, MtMoonPokecenterText2, MtMoonPokecenterText3, MtMoonPokecenterText4, MtMoonPokecenterText5, MtMoonPokecenterText6
-
-MtMoonPokecenterText1: ; 0x492e0
-	db $ff
-
-MtMoonPokecenterText2: ; 0x492e2
-	TX_FAR _MtMoonPokecenterText1
-	db $50
-
-MtMoonPokecenterText3: ; 0x492e7
-	TX_FAR _MtMoonPokecenterText3
-	db $50
-
-MtMoonPokecenterText4: ; 0x492ec
-	db $08 ; asm
-	ld a, [$d7c6]
-	add a
-	jp c, .asm_49353
-	ld hl, UnnamedText_4935c
-	call PrintText
-	ld a, $13
-	ld [$d125], a
-	call $30e8
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jp nz, .asm_4934e
-	ldh [$9f], a
-	ldh [$a1], a
-	ld a, $5
-	ldh [$a0], a
-	call $35a6
-	jr nc, .asm_faa09 ; 0x49317
-	ld hl, UnnamedText_49366
-	jr .asm_49356 ; 0x4931c
-.asm_faa09 ; 0x4931e
-	ld bc,(MAGIKARP << 8) | 5
-	call GivePokemon
-	jr nc, .asm_49359 ; 0x49324
-	xor a
-	ld [W_WHICHTRADE], a
-	ld [$cd3f], a
-	ld a, $5
-	ld [$cd3e], a
-	ld hl, $cd3f
-	ld de, $d349
-	ld c, $3
-	ld a, $c
-	call Predef
-	ld a, $13
-	ld [$d125], a
-	call $30e8
-	ld hl, $d7c6
-	set 7, [hl]
-	jr .asm_49359 ; 0x4934c
-.asm_4934e ; 0x4934e
-	ld hl, UnnamedText_49361
-	jr .asm_49356 ; 0x49351
-.asm_49353 ; 0x49353
-	ld hl, UnnamedText_4936b
-.asm_49356 ; 0x49356
-	call PrintText
-.asm_49359 ; 0x49359
-	jp TextScriptEnd
-
-UnnamedText_4935c: ; 0x4935c
-	TX_FAR _UnnamedText_4935c
-	db $50
-; 0x4935c + 5 bytes
-
-UnnamedText_49361: ; 0x49361
-	TX_FAR _UnnamedText_49361
-	db $50
-; 0x49361 + 5 bytes
-
-UnnamedText_49366: ; 0x49366
-	TX_FAR _UnnamedText_49366
-	db $50
-; 0x49366 + 5 bytes
-
-UnnamedText_4936b: ; 0x4936b
-	TX_FAR _UnnamedText_4936b
-	db $50
-; 0x4936b + 5 bytes
-
-MtMoonPokecenterText5: ; 0x49370
-	TX_FAR _MtMoonPokecenterText5
-	db $50
-
-MtMoonPokecenterText6:
-	db $f6
-
-MtMoonPokecenterObject: ; 0x49376 (size=56)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $0, $ff
-	db $7, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $6 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_BUG_CATCHER, $3 + 4, $4 + 4, $ff, $d1, $2 ; person
-	db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $ff, $d1, $3 ; person
-	db SPRITE_FAT_BALD_GUY, $6 + 4, $a + 4, $fe, $2, $4 ; person
-	db SPRITE_CLIPBOARD, $2 + 4, $7 + 4, $ff, $ff, $5 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $6 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-RockTunnelPokecenter_h: ; 0x493ae to 0x493ba (12 bytes) (id=81)
-	db $06 ; tileset
-	db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x)
-	dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTexts, RockTunnelPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw RockTunnelPokecenterObject ; objects
-
-RockTunnelPokecenterScript: ; 0x493ba
-	call $22fa
-	jp $3c3c
-; 0x493c0
-
-RockTunnelPokecenterTexts:
-	dw RockTunnelPokecenterText1, RockTunnelPokecenterText2, RockTunnelPokecenterText3, RockTunnelPokecenterText4
-
-RockTunnelPokecenterText1: ; 0x493c8
-	db $ff
-
-RockTunnelPokecenterText2: ; 0x493c9
-	TX_FAR _RockTunnelPokecenterText1
-	db $50
-
-RockTunnelPokecenterText3: ; 0x493ce
-	TX_FAR _RockTunnelPokecenterText3
-	db $50
-
-RockTunnelPokecenterText4: ; 0x493d3
-	db $f6
-
-RockTunnelPokecenterObject: ; 0x493d4 (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $0, $ff
-	db $7, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person
-	db SPRITE_FISHER2, $5 + 4, $2 + 4, $ff, $ff, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84)
-	db $0c ; tileset
-	db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route11GateBlocks, Route11GateTexts, Route11GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route11GateObject ; objects
-
-Route11GateScript: ; 0x4940c
-	jp $3c3c
-; 0x4940f
-
-Route11GateTexts: ; 0x4940f
-	dw Route11GateText1
-
-Route11GateText1: ; 0x49411
-	TX_FAR _Route11GateText1
-	db $50
-
-Route11GateObject: ; 0x49416 (size=50)
-	db $a ; border tile
-
-	db $5 ; warps
-	db $4, $0, $0, $ff
-	db $5, $0, $1, $ff
-	db $4, $7, $2, $ff
-	db $5, $7, $3, $ff
-	db $8, $6, $0, ROUTE_11_GATE_2F
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $4, $0
-	EVENT_DISP $4, $5, $0
-	EVENT_DISP $4, $4, $7
-	EVENT_DISP $4, $5, $7
-	EVENT_DISP $4, $8, $6 ; ROUTE_11_GATE_2F
-
-Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86)
-	db $0c ; tileset
-	db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route11GateUpstairsBlocks, Route11GateUpstairsTexts, Route11GateUpstairsScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route11GateUpstairsObject ; objects
-
-Route11GateUpstairsScript: ; 0x49454
-	jp $3c3f
-; 0x49457
-
-Route11GateUpstairsTexts:
-	dw Route11GateUpstairsText1, Route11GateUpstairsText2, Route11GateUpstairsText3, Route11GateUpstairsText4
-
-Route11GateUpstairsText1: ; 0x4945f
-	db $08 ; asm
-	xor a
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-asm_49469:
-	jp TextScriptEnd
-
-Route11GateUpstairsText2: ; 0x4946c
-	db $8
-	ld a, [$d7d6]
-	add a
-	jr c, .asm_4949b ; 0x49471 $28
-	ld a, $1e
-	ld [$ff00+$db], a
-	ld a, $47
-	ld [$ff00+$dc], a
-	ld [$d11e], a
-	call $2fcf
-	ld h, d
-	ld l, e
-	ld de, $cc5b
-	ld bc, $000d
-	call CopyData
-	ld a, $62
-	call Predef
-	ld a, [$ff00+$db]
-	dec a
-	jr nz, .asm_494a1 ; 0x49494 $b
-	ld hl, $d7d6
-	set 7, [hl]
-.asm_4949b
-	ld hl, UnnamedText_494a3
-	call PrintText
-.asm_494a1
-	jr asm_49469 ; 0x494a1 $c6
-; 0x494a3
-
-UnnamedText_494a3: ; 0x494a3
-	TX_FAR _UnnamedText_494a3
-	db $50
-; 0x494a3 + 5 bytes
-
-Route11GateUpstairsText3: ; 0x494a8
-	db $08 ; asm
-	ld a, [$c109]
-	cp $4
-	jp nz, Unnamed_55c9
-	ld a, [$d7d8]
-	bit 7, a
-	ld hl, UnnamedText_494c4
-	jr z, .asm_5ac80 ; 0x494b9
-	ld hl, UnnamedText_494c9
-.asm_5ac80 ; 0x494be
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_494c4: ; 0x494c4
-	TX_FAR _UnnamedText_494c4
-	db $50
-; 0x494c4 + 5 bytes
-
-UnnamedText_494c9: ; 0x494c9
-	TX_FAR _UnnamedText_494c9
-	db $50
-; 0x494c9 + 5 bytes
-
-Route11GateUpstairsText4: ; 0x494ce
-	db $8
-	ld hl, $54d5
-	jp Unnamed_55c9
-; 0x494d5
-
-UnnamedText_494d5: ; 0x494d5
-	TX_FAR _UnnamedText_494d5
-	db $50
-; 0x494d5 + 5 bytes
-
-Route11GateUpstairsObject: ; 0x494da (size=30)
-	db $a ; border tile
-
-	db $1 ; warps
-	db $7, $7, $4, ROUTE_11_GATE_1F
-
-	db $2 ; signs
-	db $2, $1, $3 ; Route11GateUpstairsText3
-	db $2, $6, $4 ; Route11GateUpstairsText4
-
-	db $2 ; people
-	db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person
-	db SPRITE_OAK_AIDE, $6 + 4, $2 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $7 ; ROUTE_11_GATE_1F
-
-Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87)
-	db $0c ; tileset
-	db ROUTE_12_GATE_HEIGHT, ROUTE_12_GATE_WIDTH ; dimensions (y, x)
-	dw Route12GateBlocks, Route12GateTexts, Route12GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route12GateObject ; objects
-
-Route12GateScript: ; 0x49504
-	jp $3c3c
-; 0x49507
-
-Route12GateTexts: ; 0x49507
-	dw Route12GateText1
-
-Route12GateText1: ; 0x49509
-	TX_FAR _Route12GateText1
-	db $50
-
-Route12GateObject: ; 0x4950e (size=50)
-	db $a ; border tile
-
-	db $5 ; warps
-	db $0, $4, $0, $ff
-	db $0, $5, $1, $ff
-	db $7, $4, $2, $ff
-	db $7, $5, $2, $ff
-	db $6, $8, $0, ROUTE_12_GATE_2F
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $5, $0, $4
-	EVENT_DISP $5, $0, $5
-	EVENT_DISP $5, $7, $4
-	EVENT_DISP $5, $7, $5
-	EVENT_DISP $5, $6, $8 ; ROUTE_12_GATE_2F
-
-Route12GateBlocks: ; 0x49540 20
-	INCBIN "maps/route12gate.blk"
-
-Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195)
-	db $0c ; tileset
-	db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route12GateUpstairsBlocks, Route12GateUpstairsTexts, Route12GateUpstairsScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route12GateUpstairsObject ; objects
-
-Route12GateUpstairsScript: ; 0x49560
-	jp $3c3f
-; 0x49563
-
-Route12GateUpstairsTexts: ; 0x49563
-	dw Route12GateUpstairsText1, Route12GateUpstairsText2, Route12GateUpstairsText3
-
-Route12GateUpstairsText1: ; 0x49569
-	db $08 ; asm
-	ld a, [$d7d7]
-	rrca
-	jr c, .asm_0ad3c ; 0x4956e
-	ld hl, UnnamedText_4959c
-	call PrintText
-	ld bc, (TM_39 << 8) | 1
-	call GiveItem
-	jr nc, .asm_4c2be ; 0x4957c
-	ld hl, ReceivedTM39Text
-	call PrintText
-	ld hl, $d7d7
-	set 0, [hl]
-	jr .asm_4ba56 ; 0x49589
-.asm_4c2be ; 0x4958b
-	ld hl, UnnamedText_495ac
-	call PrintText
-	jr .asm_4ba56 ; 0x49591
-.asm_0ad3c ; 0x49593
-	ld hl, UnnamedText_495a7
-	call PrintText
-.asm_4ba56 ; 0x49599
-	jp TextScriptEnd
-
-UnnamedText_4959c: ; 0x4959c
-	TX_FAR _UnnamedText_4959c
-	db $50
-; 0x4959c + 5 bytes
-
-ReceivedTM39Text: ; 0x495a1
-	TX_FAR _ReceivedTM39Text ; 0x8c8c6
-	db $0B, $50
-; 0x495a7
-
-UnnamedText_495a7: ; 0x495a7
-	TX_FAR _UnnamedText_495a7
-	db $50
-; 0x495a7 + 5 bytes
-
-UnnamedText_495ac: ; 0x495ac
-	TX_FAR _UnnamedText_495ac
-	db $50
-; 0x495ac + 5 bytes
-
-Route12GateUpstairsText2: ; 0x495b1
-	db $08 ; asm
-	ld hl, UnnamedText_495b8
-	jp Unnamed_55c9
-
-UnnamedText_495b8: ; 0x495b8
-	TX_FAR _UnnamedText_495b8 ; 0x8c95a
-	db $50
-; 0x495bd
-
-Route12GateUpstairsText3: ; 0x495bd
-	db $8
-	ld hl, UnnamedText_495c4
-	jp Unnamed_55c9
-; 0x495c4
-
-UnnamedText_495c4: ; 0x495c4
-	TX_FAR _UnnamedText_495c4
-	db $50
-; 0x495c4 + 5 bytes
-
-Unnamed_55c9:
-	ld a, [$c109]
-	cp $4
-	jr z, .asm_495d4 ; 0x495ce $4
-	ld a, $1
-	jr .asm_495d8 ; 0x495d2 $4
-.asm_495d4
-	call PrintText
-	xor a
-.asm_495d8
-	ld [$cc3c], a
-	jp TextScriptEnd
-; 0x495de
-
-Route12GateUpstairsObject: ; 0x495de (size=24)
-	db $a ; border tile
-
-	db $1 ; warps
-	db $7, $7, $4, ROUTE_12_GATE
-
-	db $2 ; signs
-	db $2, $1, $2 ; Route12GateUpstairsText2
-	db $2, $6, $3 ; Route12GateUpstairsText3
-
-	db $1 ; people
-	db SPRITE_BRUNETTE_GIRL, $4 + 4, $3 + 4, $fe, $1, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $7 ; ROUTE_12_GATE
-
-Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184)
-	db $0c ; tileset
-	db ROUTE_15_GATE_HEIGHT, ROUTE_15_GATE_WIDTH ; dimensions (y, x)
-	dw Route15GateBlocks, Route15GateTexts, Route15GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route15GateObject ; objects
-
-Route15GateScript: ; 0x49602
-	jp $3c3c
-; 0x49605
-
-Route15GateTexts: ; 0x49605
-	dw Route15GateText1
-
-Route15GateText1: ; 0x49607
-	TX_FAR _Route15GateText1
-	db $50
-
-Route15GateObject: ; 0x4960c (size=50)
-	db $a ; border tile
-
-	db $5 ; warps
-	db $4, $0, $0, $ff
-	db $5, $0, $1, $ff
-	db $4, $7, $2, $ff
-	db $5, $7, $3, $ff
-	db $8, $6, $0, $b9
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $4, $0
-	EVENT_DISP $4, $5, $0
-	EVENT_DISP $4, $4, $7
-	EVENT_DISP $4, $5, $7
-	EVENT_DISP $4, $8, $6
-
-INCBIN "baserom.gbc",$4963e,$4968c - $4963e
-
-UnnamedText_4968c: ; 0x4968c
-	TX_FAR _UnnamedText_4968c
-	db $50
-; 0x4968c + 5 bytes
-
-INCBIN "baserom.gbc",$49691,$49698 - $49691
-
-UnnamedText_49698: ; 0x49698
-	TX_FAR _UnnamedText_49698
-	db $50
-; 0x49698 + 5 bytes
-
-INCBIN "baserom.gbc",$4969d,$15
-
-Route16GateMap_h: ; 0x496b2 to 0x496be (12 bytes) (id=186)
-	db $0c ; tileset
-	db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route16GateMapBlocks, Route16GateMapTexts, Route16GateMapScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route16GateMapObject ; objects
-
-Route16GateMapScript: ; 0x496be
-	ld hl, $d732
-	res 5, [hl]
-	call $3c3c
-	ld a, [$d660]
-	ld hl, Route16GateMapScripts
-	jp $3d97
-; 0x496cf
-
-Route16GateMapScripts: ; 0x496cf
-	dw Route16GateMapScript0
-
-INCBIN "baserom.gbc",$496d1,$6
-
-Route16GateMapScript0: ; 0x496d7
-	call $5755
-	ret nz
-	ld hl, $5714
-	call $34bf
-	ret nc
-	ld a, $3
-	ld [$ff00+$8c], a
-	call $2920
-	xor a
-	ld [$ff00+$b4], a
-	ld a, [$cd3d]
-	cp $1
-	jr z, .asm_4970e ; 0x496f1 $1b
-	ld a, [$cd3d]
-	dec a
-	ld [$cd38], a
-	ld b, $0
-	ld c, a
-	ld a, $40
-	ld hl, $ccd3
-	call $36e0
-	call $3486
-	ld a, $1
-	ld [$d660], a
-	ret
-.asm_4970e
-	ld a, $2
-	ld [$d660], a
-	ret
-; 0x49714
-
-INCBIN "baserom.gbc",$49714,$46
-
-Route16GateMapTexts: ; 0x4975a
-	dw Route16GateMapText1, Route16GateMapText2, Route16GateMapText3
-
-Route16GateMapText1: ; 0x49760
-	db $08 ; asm
-	call $5755
-	jr z, .asm_0bdf3 ; 0x49764
-	ld hl, UnnamedText_4977c
-	call PrintText
-	jr .asm_56c9d ; 0x4976c
-.asm_0bdf3 ; 0x4976e
-	ld hl, UnnamedText_49777
-	call PrintText
-.asm_56c9d ; 0x49774
-	jp TextScriptEnd
-
-UnnamedText_49777: ; 0x49777
-	TX_FAR _UnnamedText_49777
-	db $50
-; 0x49777 + 5 bytes
-
-UnnamedText_4977c: ; 0x4977c
-	TX_FAR _UnnamedText_4977c
-	db $50
-; 0x4977c + 5 bytes
-
-Route16GateMapText3: ; 0x49781
-	TX_FAR _UnnamedText_49781
-	db $50
-; 0x49781 + 5 bytes
-
-Route16GateMapText2: ; 0x49786
-	TX_FAR _Route16GateMapText2
-	db $50
-
-Route16GateMapObject: ; 0x4978b (size=88)
-	db $a ; border tile
-
-	db $9 ; warps
-	db $8, $0, $0, $ff
-	db $9, $0, $1, $ff
-	db $8, $7, $2, $ff
-	db $9, $7, $2, $ff
-	db $2, $0, $4, $ff
-	db $3, $0, $5, $ff
-	db $2, $7, $6, $ff
-	db $3, $7, $7, $ff
-	db $c, $6, $0, ROUTE_16_GATE_2F
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_GUARD, $5 + 4, $4 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GAMBLER, $3 + 4, $4 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $8, $0
-	EVENT_DISP $4, $9, $0
-	EVENT_DISP $4, $8, $7
-	EVENT_DISP $4, $9, $7
-	EVENT_DISP $4, $2, $0
-	EVENT_DISP $4, $3, $0
-	EVENT_DISP $4, $2, $7
-	EVENT_DISP $4, $3, $7
-	EVENT_DISP $4, $c, $6 ; ROUTE_16_GATE_2F
-
-Route16GateMapBlocks: ; 0x497e3 28
-	INCBIN "maps/route16gatemap.blk"
-
-Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187)
-	db $0c ; tileset
-	db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route16GateUpstairsBlocks, Route16GateUpstairsTexts, Route16GateUpstairsScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route16GateUpstairsObject ; objects
-
-Route16GateUpstairsScript: ; 0x4980b
-	jp $3c3f
-; 0x4980e
-
-Route16GateUpstairsTexts: ; 0x4980e
-	dw Route16GateUpstairsText1, Route16GateUpstairsText2, Route16GateUpstairsText3, Route16GateUpstairsText4
-
-Route16GateUpstairsText1: ; 0x49816
-	db $08 ; asm
-	ld hl, UnnamedText_49820
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_49820: ; 0x49820
-	TX_FAR _UnnamedText_49820
-	db $50
-; 0x49820 + 5 bytes
-
-Route16GateUpstairsText2: ; 0x49825
-	db $08 ; asm
-	ld hl, UnnamedText_4982f
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_4982f: ; 0x4982f
-	TX_FAR _UnnamedText_4982f
-	db $50
-; 0x4982f + 5 bytes
-
-Route16GateUpstairsText3: ; 0x49834
-	db $8
-	ld hl, UnnamedText_4983b
-	jp $55c9
-; 0x4983b
-
-UnnamedText_4983b: ; 0x4983b
-	TX_FAR _UnnamedText_4983b
-	db $50
-; 0x4983b + 5 bytes
-
-Route16GateUpstairsText4: ; 0x49840
-	db $8
-	ld hl, $5847
-	jp $55c9
-; 0x49847
-
-UnnamedText_49847: ; 0x49847
-	TX_FAR _UnnamedText_49847
-	db $50
-; 0x49847 + 5 bytes
-
-Route16GateUpstairsObject: ; 0x4984c (size=30)
-	db $a ; border tile
-
-	db $1 ; warps
-	db $7, $7, $8, ROUTE_16_GATE_1F
-
-	db $2 ; signs
-	db $2, $1, $3 ; Route16GateUpstairsText3
-	db $2, $6, $4 ; Route16GateUpstairsText4
-
-	db $2 ; people
-	db SPRITE_YOUNG_BOY, $2 + 4, $4 + 4, $ff, $ff, $1 ; person
-	db SPRITE_LITTLE_GIRL, $5 + 4, $2 + 4, $fe, $2, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $7 ; ROUTE_16_GATE_1F
-
-Route18Gate_h: ; 0x4986a to 0x49876 (12 bytes) (id=190)
-	db $0c ; tileset
-	db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route18GateBlocks, Route18GateTexts, Route18GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route18GateObject ; objects
-
-Route18GateScript: ; 0x49876
-	ld hl, $d732
-	res 5, [hl]
-	call $3c3c
-	ld a, [$d669]
-	ld hl, Route18GateScripts
-	jp $3d97
-; 0x49887
-
-Route18GateScripts: ; 0x49887
-	dw Route18GateScript0
-
-INCBIN "baserom.gbc",$49889,$6
-
-Route18GateScript0: ; 0x4988f
-	call $5755
-	ret nz
-	ld hl, $58cc
-	call $34bf
-	ret nc
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $2920
-	xor a
-	ld [$ff00+$b4], a
-	ld a, [$cd3d]
-	cp $1
-	jr z, .asm_498c6 ; 0x498a9 $1b
-	ld a, [$cd3d]
-	dec a
-	ld [$cd38], a
-	ld b, $0
-	ld c, a
-	ld a, $40
-	ld hl, $ccd3
-	call $36e0
-	call $3486
-	ld a, $1
-	ld [$d669], a
-	ret
-.asm_498c6
-	ld a, $2
-	ld [$d669], a
-	ret
-; 0x498cc
-
-INCBIN "baserom.gbc",$498cc,$41
-
-Route18GateTexts: ; 0x4990d
-	dw Route18GateText1, Route18GateText2
-
-Route18GateText1: ; 0x49911
-	db $08 ; asm
-	call $5755
-	jr z, .asm_3c84d ; 0x49915
-	ld hl, UnnamedText_4992d
-	call PrintText
-	jr .asm_a8410 ; 0x4991d
-.asm_3c84d ; 0x4991f
-	ld hl, UnnamedText_49928
-	call PrintText
-.asm_a8410 ; 0x49925
-	jp TextScriptEnd
-
-UnnamedText_49928: ; 0x49928
-	TX_FAR _UnnamedText_49928
-	db $50
-; 0x4992d
-
-UnnamedText_4992d: ; 0x4992d
-	TX_FAR _UnnamedText_4992d
-	db $50
-; 0x49932
-
-Route18GateText2: ; 0x49932
-	TX_FAR _UnnamedText_49932
-	db $50
-; 0x49937
-
-Route18GateObject: ; 0x49937 (size=50)
-	db $a ; border tile
-
-	db $5 ; warps
-	db $4, $0, $0, $ff
-	db $5, $0, $1, $ff
-	db $4, $7, $2, $ff
-	db $5, $7, $3, $ff
-	db $8, $6, $0, ROUTE_18_GATE_2F
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $4, $0
-	EVENT_DISP $4, $5, $0
-	EVENT_DISP $4, $4, $7
-	EVENT_DISP $4, $5, $7
-	EVENT_DISP $4, $8, $6 ; ROUTE_18_GATE_2F
-
-Route18GateHeader_h: ; 0x49969 to 0x49975 (12 bytes) (id=191)
-	db $0c ; tileset
-	db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route18GateHeaderBlocks, Route18GateHeaderTexts, Route18GateHeaderScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route18GateHeaderObject ; objects
-
-Route18GateHeaderScript: ; 0x49975
-	jp $3c3f
-; 0x49978
-
-Route18GateHeaderTexts: ; 0x49978
-	dw Route18GateHeaderText1, Route18GateHeaderText2, Route18GateHeaderText3
-
-Route18GateHeaderText1: ; 0x4997e
-	db $08 ; asm
-	ld a, $5
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-	jp TextScriptEnd
-
-Route18GateHeaderText2: ; 0x4998c
-	db $8
-	ld hl, $5993
-	jp $55c9
-; 0x49993
-
-UnnamedText_49993: ; 0x49993
-	TX_FAR _UnnamedText_49993
-	db $50
-; 0x49993 + 5 bytes
-
-Route18GateHeaderText3: ; 0x49998
-	db $8
-	ld hl, $599f
-	jp $55c9
-; 0x4999f
-
-UnnamedText_4999f: ; 0x4999f
-	TX_FAR _UnnamedText_4999f
-	db $50
-; 0x4999f + 5 bytes
-
-Route18GateHeaderObject: ; 0x499a4 (size=24)
-	db $a ; border tile
-
-	db $1 ; warps
-	db $7, $7, $4, ROUTE_18_GATE_1F
-
-	db $2 ; signs
-	db $2, $1, $2 ; Route18GateHeaderText2
-	db $2, $6, $3 ; Route18GateHeaderText3
-
-	db $1 ; people
-	db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $7 ; ROUTE_18_GATE_1F
-
-MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59)
-	db $11 ; tileset
-	db MT_MOON_1_HEIGHT, MT_MOON_1_WIDTH ; dimensions (y, x)
-	dw MtMoon1Blocks, MtMoon1Texts, MtMoon1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw MtMoon1Object ; objects
-
-MtMoon1Script: ; 0x499c8
-	call $3c3c
-	ld hl, TrainerHeader_499fd
-	ld de, Unknown_59db
-	ld a, [$d606]
-	call $3160
-	ld [$d606], a
-	ret
-; 0x499db
-
-Unknown_59db: ; 0x59db
-INCBIN "baserom.gbc",$499db,$6
-
-MtMoon1Texts: ; 0x499e1
-	dw MtMoon1Text1, MtMoon1Text2, MtMoon1Text3, MtMoon1Text4, MtMoon1Text5, MtMoon1Text6, MtMoon1Text7, MtMoon1Text8, MtMoon1Text9, MtMoon1Text10, MtMoon1Text11, MtMoon1Text12, MtMoon1Text13, MtMoon1Text14
-
-MtMoon1TrainerHeaders:
-TrainerHeader_499fd: ; 0x499fd
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw UnnamedText_49a98 ; 0x5a98 TextBeforeBattle
-	dw UnnamedText_49aa2 ; 0x5aa2 TextAfterBattle
-	dw UnnamedText_49a9d ; 0x5a9d TextEndBattle
-	dw UnnamedText_49a9d ; 0x5a9d TextEndBattle
-; 0x49a09
-
-TrainerHeader_49a09: ; 0x49a09
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw UnnamedText_49aa7 ; 0x5aa7 TextBeforeBattle
-	dw UnnamedText_49ab1 ; 0x5ab1 TextAfterBattle
-	dw UnnamedText_49aac ; 0x5aac TextEndBattle
-	dw UnnamedText_49aac ; 0x5aac TextEndBattle
-; 0x49a15
-
-TrainerHeader_49a15: ; 0x49a15
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw UnnamedText_49ab6 ; 0x5ab6 TextBeforeBattle
-	dw UnnamedText_49ac0 ; 0x5ac0 TextAfterBattle
-	dw UnnamedText_49abb ; 0x5abb TextEndBattle
-	dw UnnamedText_49abb ; 0x5abb TextEndBattle
-; 0x49a21
-
-TrainerHeader_49a21: ; 0x49a21
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw UnnamedText_49ac5 ; 0x5ac5 TextBeforeBattle
-	dw UnnamedText_49acf ; 0x5acf TextAfterBattle
-	dw UnnamedText_49aca ; 0x5aca TextEndBattle
-	dw UnnamedText_49aca ; 0x5aca TextEndBattle
-; 0x49a2d
-
-TrainerHeader_49a2d: ; 0x49a2d
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw UnnamedText_49ad4 ; 0x5ad4 TextBeforeBattle
-	dw UnnamedText_49ade ; 0x5ade TextAfterBattle
-	dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle
-	dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle
-; 0x49a39
-
-TrainerHeader_49a39: ; 0x49a39
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw UnnamedText_49ae3 ; 0x5ae3 TextBeforeBattle
-	dw UnnamedText_49aed ; 0x5aed TextAfterBattle
-	dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle
-	dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle
-; 0x49a45
-
-TrainerHeader_49a45: ; 0x49a45
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f5 ; flag's byte
-	dw MainMenu ; 0x5af2 TextBeforeBattle
-	dw UnnamedText_49afc ; 0x5afc TextAfterBattle
-	dw UnnamedText_49af7 ; 0x5af7 TextEndBattle
-	dw UnnamedText_49af7 ; 0x5af7 TextEndBattle
-; 0x49a51
-
-db $ff
-
-MtMoon1Text1: ; 0x49a52
-	db $08 ; asm
-	ld hl, TrainerHeader_499fd
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon1Text2: ; 0x49a5c
-	db $08 ; asm
-	ld hl, TrainerHeader_49a09
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon1Text3: ; 0x49a66
-	db $08 ; asm
-	ld hl, TrainerHeader_49a15
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon1Text4: ; 0x49a70
-	db $08 ; asm
-	ld hl, TrainerHeader_49a21
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon1Text5: ; 0x49a7a
-	db $08 ; asm
-	ld hl, TrainerHeader_49a2d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon1Text6: ; 0x49a84
-	db $08 ; asm
-	ld hl, TrainerHeader_49a39
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon1Text7: ; 0x49a8e
-	db $08 ; asm
-	ld hl, TrainerHeader_49a45
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_49a98: ; 0x49a98
-	TX_FAR _UnnamedText_49a98
-	db $50
-; 0x49a98 + 5 bytes
-
-UnnamedText_49a9d: ; 0x49a9d
-	TX_FAR _UnnamedText_49a9d
-	db $50
-; 0x49a9d + 5 bytes
-
-UnnamedText_49aa2: ; 0x49aa2
-	TX_FAR _UnnamedText_49aa2
-	db $50
-; 0x49aa2 + 5 bytes
-
-UnnamedText_49aa7: ; 0x49aa7
-	TX_FAR _UnnamedText_49aa7
-	db $50
-; 0x49aa7 + 5 bytes
-
-UnnamedText_49aac: ; 0x49aac
-	TX_FAR _UnnamedText_49aac
-	db $50
-; 0x49aac + 5 bytes
-
-UnnamedText_49ab1: ; 0x49ab1
-	TX_FAR _UnnamedText_49ab1
-	db $50
-; 0x49ab1 + 5 bytes
-
-UnnamedText_49ab6: ; 0x49ab6
-	TX_FAR _UnnamedText_49ab6
-	db $50
-; 0x49ab6 + 5 bytes
-
-UnnamedText_49abb: ; 0x49abb
-	TX_FAR _UnnamedText_49abb
-	db $50
-; 0x49abb + 5 bytes
-
-UnnamedText_49ac0: ; 0x49ac0
-	TX_FAR _UnnamedText_49ac0
-	db $50
-; 0x49ac0 + 5 bytes
-
-UnnamedText_49ac5: ; 0x49ac5
-	TX_FAR _UnnamedText_49ac5
-	db $50
-; 0x49ac5 + 5 bytes
-
-UnnamedText_49aca: ; 0x49aca
-	TX_FAR _UnnamedText_49aca
-	db $50
-; 0x49aca + 5 bytes
-
-UnnamedText_49acf: ; 0x49acf
-	TX_FAR _UnnamedText_49acf
-	db $50
-; 0x49acf + 5 bytes
-
-UnnamedText_49ad4: ; 0x49ad4
-	TX_FAR _UnnamedText_49ad4
-	db $50
-; 0x49ad4 + 5 bytes
-
-UnnamedText_49ad9: ; 0x49ad9
-	TX_FAR _UnnamedText_49ad9
-	db $50
-; 0x49ad9 + 5 bytes
-
-UnnamedText_49ade: ; 0x49ade
-	TX_FAR _UnnamedText_49ade
-	db $50
-; 0x49ade + 5 bytes
-
-UnnamedText_49ae3: ; 0x49ae3
-	TX_FAR _UnnamedText_49ae3
-	db $50
-; 0x49ae3 + 5 bytes
-
-UnnamedText_49ae8: ; 0x49ae8
-	TX_FAR _UnnamedText_49ae8
-	db $50
-; 0x49ae8 + 5 bytes
-
-UnnamedText_49aed: ; 0x49aed
-	TX_FAR _UnnamedText_49aed
-	db $50
-; 0x49aed + 5 bytes
-
-UnnamedText_49af2: ; 0x49af2
-	TX_FAR _UnnamedText_49af2
-	db $50
-; 0x49af2 + 5 bytes
-
-UnnamedText_49af7: ; 0x49af7
-	TX_FAR _UnnamedText_49af7
-	db $50
-; 0x49af7 + 5 bytes
-
-UnnamedText_49afc: ; 0x49afc
-	TX_FAR _UnnamedText_49afc
-	db $50
-; 0x49afc + 5 bytes
-
-MtMoon1Text14: ; 0x49b01
-	TX_FAR _MtMoon1Text14
-	db $50
-
-MtMoon1Object: ; 0x49b06 (size=145)
-	db $3 ; border tile
-
-	db $5 ; warps
-	db $23, $e, $1, $ff
-	db $23, $f, $1, $ff
-	db $5, $5, $0, MT_MOON_2
-	db $b, $11, $2, MT_MOON_2
-	db $f, $19, $3, MT_MOON_2
-
-	db $1 ; signs
-	db $17, $f, $e ; MtMoon1Text14
-
-	db $d ; people
-	db SPRITE_HIKER, $6 + 4, $5 + 4, $ff, $d0, $41, HIKER + $C8, $1 ; trainer
-	db SPRITE_BUG_CATCHER, $10 + 4, $c + 4, $ff, $d3, $42, YOUNGSTER + $C8, $3 ; trainer
-	db SPRITE_LASS, $4 + 4, $1e + 4, $ff, $d0, $43, LASS + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $1f + 4, $18 + 4, $ff, $d1, $44, SUPER_NERD + $C8, $1 ; trainer
-	db SPRITE_LASS, $17 + 4, $10 + 4, $ff, $d0, $45, LASS + $C8, $6 ; trainer
-	db SPRITE_BUG_CATCHER, $16 + 4, $7 + 4, $ff, $d0, $46, BUG_CATCHER + $C8, $7 ; trainer
-	db SPRITE_BUG_CATCHER, $1b + 4, $1e + 4, $ff, $d3, $47, BUG_CATCHER + $C8, $8 ; trainer
-	db SPRITE_BALL, $14 + 4, $2 + 4, $ff, $ff, $88, POTION ; item
-	db SPRITE_BALL, $2 + 4, $2 + 4, $ff, $ff, $89, MOON_STONE ; item
-	db SPRITE_BALL, $1f + 4, $23 + 4, $ff, $ff, $8a, RARE_CANDY ; item
-	db SPRITE_BALL, $17 + 4, $24 + 4, $ff, $ff, $8b, ESCAPE_ROPE ; item
-	db SPRITE_BALL, $21 + 4, $14 + 4, $ff, $ff, $8c, POTION ; item
-	db SPRITE_BALL, $20 + 4, $5 + 4, $ff, $ff, $8d, TM_12 ; item
-
-	; warp-to
-	EVENT_DISP $14, $23, $e
-	EVENT_DISP $14, $23, $f
-	EVENT_DISP $14, $5, $5 ; MT_MOON_2
-	EVENT_DISP $14, $b, $11 ; MT_MOON_2
-	EVENT_DISP $14, $f, $19 ; MT_MOON_2
-
-MtMoon1Blocks: ; 0x49b97 360
-	INCBIN "maps/mtmoon1.blk"
-
-MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61)
-	db $11 ; tileset
-	db MT_MOON_3_HEIGHT, MT_MOON_3_WIDTH ; dimensions (y, x)
-	dw MtMoon3Blocks, MtMoon3Texts, MtMoon3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw MtMoon3Object ; objects
-
-MtMoon3Script: ; 0x49d0b
-	call $3c3c
-	ld hl, $5e48
-	ld de, $5d63
-	ld a, [$d607]
-	call $3160
-	ld [$d607], a
-	ld a, [$d7f6]
-	bit 1, a
-	ret z
-	ld hl, $5d37
-	call $34bf
-	jr nc, .asm_49d31 ; 0x49d29 $6
-	ld hl, $d72e
-	set 4, [hl]
-	ret
-.asm_49d31
-	ld hl, $d72e
-	res 4, [hl]
-	ret
-; 0x49d37
-
-INCBIN "baserom.gbc",$49d37,$fd
-
-MtMoon3Texts: ; 0x49e34
-	dw MtMoon3Text1, MtMoon3Text2, MtMoon3Text3, MtMoon3Text4, MtMoon3Text5, MtMoon3Text6, MtMoon3Text7, MtMoon3Text8, MtMoon3Text9, Unnamed_49f99
-
-MtMoon3TrainerHeaders:
-TrainerHeader_49e48: ; 0x49e48
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f6 ; flag's byte
-	dw UnnamedText_49f9f ; 0x5f9f TextBeforeBattle
-	dw UnnamedText_49fa9 ; 0x5fa9 TextAfterBattle
-	dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle
-	dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle
-; 0x49e54
-
-TrainerHeader_49e54: ; 0x49e54
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f6 ; flag's byte
-	dw UnnamedText_49fae ; 0x5fae TextBeforeBattle
-	dw UnnamedText_49fb8 ; 0x5fb8 TextAfterBattle
-	dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle
-	dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle
-; 0x49e60
-
-TrainerHeader_49e60: ; 0x49e60
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f6 ; flag's byte
-	dw UnnamedText_49fbd ; 0x5fbd TextBeforeBattle
-	dw UnnamedText_49fc7 ; 0x5fc7 TextAfterBattle
-	dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle
-	dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle
-; 0x49e6c
-
-TrainerHeader_49e6c: ; 0x49e6c
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f6 ; flag's byte
-	dw UnnamedText_49fcc ; 0x5fcc TextBeforeBattle
-	dw UnnamedText_49fd6 ; 0x5fd6 TextAfterBattle
-	dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle
-	dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle
-; 0x49e78
-
-db $ff
-
-MtMoon3Text1: ; 0x49e79
-	db $08 ; asm
-	ld a, [$d7f6]
-	bit 1, a
-	jr z, .asm_be1e0 ; 0x49e7f
-	and $c0
-	jr nz, .asm_f8cd4 ; 0x49e83
-	ld hl, UnnamedText_49f8f
-	call PrintText
-	jr .asm_f1fba ; 0x49e8b
-.asm_be1e0 ; 0x49e8d
-	ld hl, UnnamedText_49f85
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_49f8a
-	ld de, UnnamedText_49f8a
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $3
-	ld [$d607], a
-	ld [$da39], a
-	jr .asm_f1fba ; 0x49eb6
-.asm_f8cd4 ; 0x49eb8
-	ld hl, UnnamedText_49f94
-	call PrintText
-.asm_f1fba ; 0x49ebe
-	jp TextScriptEnd
-
-MtMoon3Text2: ; 0x49ec1
-	db $08 ; asm
-	ld hl, TrainerHeader_49e48
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon3Text3: ; 0x49ecb
-	db $08 ; asm
-	ld hl, TrainerHeader_49e54
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon3Text4: ; 0x49ed5
-	db $08 ; asm
-	ld hl, TrainerHeader_49e60
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon3Text5: ; 0x49edf
-	db $08 ; asm
-	ld hl, $5e6c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-MtMoon3Text6: ; 0x49ee9
-	db $08 ; asm
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, UnnamedText_49f24
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_1fa5e ; 0x49efc
-	ld bc,(DOME_FOSSIL << 8) | 1
-	call GiveItem
-	jp nc, $5f76
-	call $5f69
-	ld a, $6d
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld hl, $d7f6
-	set 6, [hl]
-	ld a, $4
-	ld [$d607], a
-	ld [$da39], a
-.asm_1fa5e ; 0x49f21
-	jp TextScriptEnd
-
-UnnamedText_49f24: ; 0x49f24
-	TX_FAR _UnnamedText_49f24
-	db $50
-; 0x49f24 + 5 bytes
-
-MtMoon3Text7: ; 0x49f29
-	db $08 ; asm
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, UnnamedText_49f64
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_8e988 ; 0x49f3c
-	ld bc, (HELIX_FOSSIL << 8) | 1
-	call GiveItem
-	jp nc, Unnamed_49f76
-	call Unnamed_49f69
-	ld a, $6e
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld hl, $d7f6
-	set 7, [hl]
-	ld a, $4
-	ld [$d607], a
-	ld [$da39], a
-.asm_8e988 ; 0x49f61
-	jp TextScriptEnd
-
-UnnamedText_49f64: ; 0x49f64
-	TX_FAR _UnnamedText_49f64
-	db $50
-; 0x49f64 + 5 bytes
-
-Unnamed_49f69: ; 0x49f69
-	ld hl, UnnamedText_49f6f
-	jp PrintText
-; 0x49f6f
-
-UnnamedText_49f6f: ; 0x49f6f
-	TX_FAR _UnnamedText_49f6f ; 0x80995
-	db $11, $d, $50
-; 0x49f76
-
-Unnamed_49f76: ; 0x49f76
-	ld hl, UnnamedText_49f7f
-	call PrintText
-	jp TextScriptEnd
-; 0x49f7f
-
-UnnamedText_49f7f: ; 0x49f7f
-	TX_FAR _UnnamedText_49f7f ; 0x809a8
-	db $d, $50
-; 0x49f85
-
-UnnamedText_49f85: ; 0x49f85
-	TX_FAR _UnnamedText_49f85
-	db $50
-; 0x49f85 + 5 bytes
-
-UnnamedText_49f8a: ; 0x49f8a
-	TX_FAR _UnnamedText_49f8a
-	db $50
-; 0x49f8a + 5 bytes
-
-UnnamedText_49f8f: ; 0x49f8f
-	TX_FAR _UnnamedText_49f8f
-	db $50
-; 0x49f8f + 5 bytes
-
-UnnamedText_49f94: ; 0x49f94
-	TX_FAR _UnnamedText_49f94
-	db $50
-; 0x49f94 + 5 bytes
-
-Unnamed_49f99: ; 0x49f99
-INCBIN "baserom.gbc",$49f99,$49f9f - $49f99
-
-UnnamedText_49f9f: ; 0x49f9f
-	TX_FAR _UnnamedText_49f9f
-	db $50
-; 0x49f9f + 5 bytes
-
-UnnamedText_49fa4: ; 0x49fa4
-	TX_FAR _UnnamedText_49fa4
-	db $50
-; 0x49fa4 + 5 bytes
-
-UnnamedText_49fa9: ; 0x49fa9
-	TX_FAR _UnnamedText_49fa9
-	db $50
-; 0x49fa9 + 5 bytes
-
-UnnamedText_49fae: ; 0x49fae
-	TX_FAR _UnnamedText_49fae
-	db $50
-; 0x49fae + 5 bytes
-
-UnnamedText_49fb3: ; 0x49fb3
-	TX_FAR _UnnamedText_49fb3
-	db $50
-; 0x49fb3 + 5 bytes
-
-UnnamedText_49fb8: ; 0x49fb8
-	TX_FAR _UnnamedText_49fb8
-	db $50
-; 0x49fb8 + 5 bytes
-
-UnnamedText_49fbd: ; 0x49fbd
-	TX_FAR _UnnamedText_49fbd
-	db $50
-; 0x49fbd + 5 bytes
-
-UnnamedText_49fc2: ; 0x49fc2
-	TX_FAR _UnnamedText_49fc2
-	db $50
-; 0x49fc2 + 5 bytes
-
-UnnamedText_49fc7: ; 0x49fc7
-	TX_FAR _UnnamedText_49fc7
-	db $50
-; 0x49fc7 + 5 bytes
-
-UnnamedText_49fcc: ; 0x49fcc
-	TX_FAR _UnnamedText_49fcc
-	db $50
-; 0x49fcc + 5 bytes
-
-UnnamedText_49fd1: ; 0x49fd1
-	TX_FAR _UnnamedText_49fd1
-	db $50
-; 0x49fd1 + 5 bytes
-
-UnnamedText_49fd6: ; 0x49fd6
-	TX_FAR _UnnamedText_49fd6
-	db $50
-; 0x49fd6 + 5 bytes
-
-MtMoon3Object: ; 0x49fdb (size=102)
-	db $3 ; border tile
-
-	db $4 ; warps
-	db $9, $19, $1, MT_MOON_2
-	db $11, $15, $4, MT_MOON_2
-	db $1b, $f, $5, MT_MOON_2
-	db $7, $5, $6, MT_MOON_2
-
-	db $0 ; signs
-
-	db $9 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $c + 4, $ff, $d3, $41, SUPER_NERD + $C8, $2 ; trainer
-	db SPRITE_ROCKET, $10 + 4, $b + 4, $ff, $d0, $42, ROCKET + $C8, $1 ; trainer
-	db SPRITE_ROCKET, $16 + 4, $f + 4, $ff, $d0, $43, ROCKET + $C8, $2 ; trainer
-	db SPRITE_ROCKET, $b + 4, $1d + 4, $ff, $d1, $44, ROCKET + $C8, $3 ; trainer
-	db SPRITE_ROCKET, $11 + 4, $1d + 4, $ff, $d2, $45, ROCKET + $C8, $4 ; trainer
-	db SPRITE_OMANYTE, $6 + 4, $c + 4, $ff, $ff, $6 ; person
-	db SPRITE_OMANYTE, $6 + 4, $d + 4, $ff, $ff, $7 ; person
-	db SPRITE_BALL, $15 + 4, $19 + 4, $ff, $ff, $88, HP_UP ; item
-	db SPRITE_BALL, $5 + 4, $1d + 4, $ff, $ff, $89, TM_01 ; item
-
-	; warp-to
-	EVENT_DISP $14, $9, $19 ; MT_MOON_2
-	EVENT_DISP $14, $11, $15 ; MT_MOON_2
-	EVENT_DISP $14, $1b, $f ; MT_MOON_2
-	EVENT_DISP $14, $7, $5 ; MT_MOON_2
-
-MtMoon3Blocks: ; 0x4a041 360
-	INCBIN "maps/mtmoon3.blk"
-
-SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219)
-	db $03 ; tileset
-	db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x)
-	dw SafariZoneWestBlocks, SafariZoneWestTexts, SafariZoneWestScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneWestObject ; objects
-
-SafariZoneWestScript: ; 0x4a1b5
-	jp $3c3c
-; 0x4a1b8
-
-SafariZoneWestTexts: ; 0x4a1b8
-	dw SafariZoneWestText1, SafariZoneWestText2, SafariZoneWestText3, SafariZoneWestText4, SafariZoneWestText5, SafariZoneWestText6, SafariZoneWestText7, SafariZoneWestText8
-
-SafariZoneWestText5: ; 0x4a1c8
-	TX_FAR _SafariZoneWestText5
-	db $50
-
-SafariZoneWestText6: ; 0x4a1cd
-	TX_FAR _SafariZoneWestText6
-	db $50
-
-SafariZoneWestText7: ; 0x4a1d2
-	TX_FAR _SafariZoneWestText7
-	db $50
-
-SafariZoneWestText8: ; 0x4a1d7
-	TX_FAR _SafariZoneWestText8
-	db $50
-
-SafariZoneWestObject: ; 0x4a1dc (size=108)
-	db $0 ; border tile
-
-	db $8 ; warps
-	db $0, $14, $0, SAFARI_ZONE_NORTH
-	db $0, $15, $1, SAFARI_ZONE_NORTH
-	db $0, $1a, $2, SAFARI_ZONE_NORTH
-	db $0, $1b, $3, SAFARI_ZONE_NORTH
-	db $16, $1d, $2, SAFARI_ZONE_CENTER
-	db $17, $1d, $3, SAFARI_ZONE_CENTER
-	db $3, $3, $0, SAFARI_ZONE_SECRET_HOUSE
-	db $b, $b, $0, SAFARI_ZONE_REST_HOUSE_2
-
-	db $4 ; signs
-	db $c, $c, $5 ; SafariZoneWestText5
-	db $3, $11, $6 ; SafariZoneWestText6
-	db $4, $1a, $7 ; SafariZoneWestText7
-	db $16, $18, $8 ; SafariZoneWestText8
-
-	db $4 ; people
-	db SPRITE_BALL, $14 + 4, $8 + 4, $ff, $ff, $81, MAX_POTION ; item
-	db SPRITE_BALL, $7 + 4, $9 + 4, $ff, $ff, $82, TM_32 ; item
-	db SPRITE_BALL, $12 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item
-	db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $84, GOLD_TEETH ; item
-
-	; warp-to
-	EVENT_DISP $f, $0, $14 ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $0, $15 ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $0, $1a ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $0, $1b ; SAFARI_ZONE_NORTH
-	EVENT_DISP $f, $16, $1d ; SAFARI_ZONE_CENTER
-	EVENT_DISP $f, $17, $1d ; SAFARI_ZONE_CENTER
-	EVENT_DISP $f, $3, $3 ; SAFARI_ZONE_SECRET_HOUSE
-	EVENT_DISP $f, $b, $b ; SAFARI_ZONE_REST_HOUSE_2
-
-SafariZoneWestBlocks: ; 0x4a248 195
-	INCBIN "maps/safarizonewest.blk"
-
-SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222)
-	db $14 ; tileset
-	db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x)
-	dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTexts, SafariZoneSecretHouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneSecretHouseObject ; objects
-
-SafariZoneSecretHouseScript: ; 0x4a317
-	jp $3c3c
-; 0x4a31a
-
-SafariZoneSecretHouseTexts: ; 0x4a31a
-	dw SafariZoneSecretHouseText1
-
-SafariZoneSecretHouseText1: ; 0x4a31c
-	db $08 ; asm
-	ld a, [$d857]
-	bit 0, a
-	jr nz, .asm_20a9b ; 0x4a322
-	ld hl, UnnamedText_4a350
-	call PrintText
-	ld bc, (HM_03 << 8) | 1
-	call GiveItem
-	jr nc, .asm_a21d2 ; 0x4a330
-	ld hl, UnnamedText_4a355
-	call PrintText
-	ld hl, $d857
-	set 0, [hl]
-	jr .asm_8f1fc ; 0x4a33d
-.asm_a21d2 ; 0x4a33f
-	ld hl, UnnamedText_4a360
-	call PrintText
-	jr .asm_8f1fc ; 0x4a345
-.asm_20a9b ; 0x4a347
-	ld hl, UnnamedText_4a35b
-	call PrintText
-.asm_8f1fc ; 0x4a34d
-	jp TextScriptEnd
-
-UnnamedText_4a350: ; 0x4a350
-	TX_FAR _UnnamedText_4a350
-	db $50
-; 0x4a350 + 5 bytes
-
-UnnamedText_4a355: ; 0x4a355
-	TX_FAR _UnnamedText_4a355 ; 0x85943
-	db $0B, $50
-; 0x4a35b
-
-UnnamedText_4a35b: ; 0x4a35b
-	TX_FAR _UnnamedText_4a35b
-	db $50
-; 0x4a35b + 5 bytes
-
-UnnamedText_4a360: ; 0x4a360
-	TX_FAR _UnnamedText_4a360
-	db $50
-; 0x4a360 + 5 bytes
-
-SafariZoneSecretHouseObject: ; 0x4a365 (size=26)
-	db $17 ; border tile
-
-	db $2 ; warps
-	db $7, $2, $6, SAFARI_ZONE_WEST
-	db $7, $3, $6, SAFARI_ZONE_WEST
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST
-	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST
-
-SafariZoneSecretHouseBlocks: ; 0x4a37f 16
-	INCBIN "maps/safarizonesecrethouse.blk"
-
-INCBIN "baserom.gbc",$4a38f,$1c71
-
-SECTION "bank13",DATA,BANK[$13]
-
-YoungsterPic:
-	INCBIN "pic/trainer/youngster.pic"
-BugCatcherPic:
-	INCBIN "pic/trainer/bugcatcher.pic"
-LassPic:
-	INCBIN "pic/trainer/lass.pic"
-SailorPic:
-	INCBIN "pic/trainer/sailor.pic"
-JrTrainerMPic:
-	INCBIN "pic/trainer/jr.trainerm.pic"
-JrTrainerFPic:
-	INCBIN "pic/trainer/jr.trainerf.pic"
-PokemaniacPic:
-	INCBIN "pic/trainer/pokemaniac.pic"
-SuperNerdPic:
-	INCBIN "pic/trainer/supernerd.pic"
-HikerPic:
-	INCBIN "pic/trainer/hiker.pic"
-BikerPic:
-	INCBIN "pic/trainer/biker.pic"
-BurglarPic:
-	INCBIN "pic/trainer/burglar.pic"
-EngineerPic:
-	INCBIN "pic/trainer/engineer.pic"
-FisherPic:
-	INCBIN "pic/trainer/fisher.pic"
-SwimmerPic:
-	INCBIN "pic/trainer/swimmer.pic"
-CueBallPic:
-	INCBIN "pic/trainer/cueball.pic"
-GamblerPic:
-	INCBIN "pic/trainer/gambler.pic"
-BeautyPic:
-	INCBIN "pic/trainer/beauty.pic"
-PsychicPic:
-	INCBIN "pic/trainer/psychic.pic"
-RockerPic:
-	INCBIN "pic/trainer/rocker.pic"
-JugglerPic:
-	INCBIN "pic/trainer/juggler.pic"
-TamerPic:
-	INCBIN "pic/trainer/tamer.pic"
-BirdKeeperPic:
-	INCBIN "pic/trainer/birdkeeper.pic"
-BlackbeltPic:
-	INCBIN "pic/trainer/blackbelt.pic"
-Rival1Pic:
-	INCBIN "pic/trainer/rival1.pic"
-ProfOakPic:
-	INCBIN "pic/trainer/prof.oak.pic"
-ChiefPic:
-ScientistPic:
-	INCBIN "pic/trainer/scientist.pic"
-GiovanniPic:
-	INCBIN "pic/trainer/giovanni.pic"
-RocketPic:
-	INCBIN "pic/trainer/rocket.pic"
-CooltrainerMPic:
-	INCBIN "pic/trainer/cooltrainerm.pic"
-CooltrainerFPic:
-	INCBIN "pic/trainer/cooltrainerf.pic"
-BrunoPic:
-	INCBIN "pic/trainer/bruno.pic"
-BrockPic:
-	INCBIN "pic/trainer/brock.pic"
-MistyPic:
-	INCBIN "pic/trainer/misty.pic"
-LtSurgePic:
-	INCBIN "pic/trainer/lt.surge.pic"
-ErikaPic:
-	INCBIN "pic/trainer/erika.pic"
-KogaPic:
-	INCBIN "pic/trainer/koga.pic"
-BlainePic:
-	INCBIN "pic/trainer/blaine.pic"
-SabrinaPic:
-	INCBIN "pic/trainer/sabrina.pic"
-GentlemanPic:
-	INCBIN "pic/trainer/gentleman.pic"
-Rival2Pic:
-	INCBIN "pic/trainer/rival2.pic"
-Rival3Pic:
-	INCBIN "pic/trainer/rival3.pic"
-LoreleiPic:
-	INCBIN "pic/trainer/lorelei.pic"
-ChannelerPic:
-	INCBIN "pic/trainer/channeler.pic"
-AgathaPic:
-	INCBIN "pic/trainer/agatha.pic"
-LancePic:
-	INCBIN "pic/trainer/lance.pic"
-
-BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239)
-	db $15 ; tileset
-	db BATTLE_CENTER_HEIGHT, BATTLE_CENTER_WIDTH ; dimensions (y, x)
-	dw BattleCenterMBlocks, BattleCenterMTexts, BattleCenterMScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw BattleCenterMObject ; objects
-
-BattleCenterMScript: ; 0x4fd10
-	call $3c3c
-	ld a, [$ff00+$aa]
-	cp $2
-	ld a, $8
-	jr z, .asm_4fd1d ; 0x4fd19 $2
-	ld a, $c
-.asm_4fd1d
-	ld [$ff00+$8d], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $34ae
-	ld hl, $d72d
-	bit 0, [hl]
-	set 0, [hl]
-	ret nz
-	ld hl, $c214
-	ld a, $8
-	ld [hli], a
-	ld a, $a
-	ld [hl], a
-	ld a, $8
-	ld [$c119], a
-	ld a, [$ff00+$aa]
-	cp $2
-	ret z
-	ld a, $7
-	ld [$c215], a
-	ld a, $c
-	ld [$c119], a
-	ret
-; 0x4fd4c
-
-BattleCenterMTexts: ; 0x4fd4c
-	dw BattleCenterMText1
-
-BattleCenterMText1: ; 0x4fd4e
-	TX_FAR _BattleCenterMText1
-	db $50
-
-BattleCenterMObject: ; 0x4fd53 (size=10)
-	db $e ; border tile
-
-	db $0 ; warps
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person
-
-BattleCenterMBlocks: ; 0x4fd5d 20
-	INCBIN "maps/battlecenterm.blk"
-
-TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240)
-	db $15 ; tileset
-	db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x)
-	dw TradeCenterMBlocks, TradeCenterMTexts, TradeCenterMScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw TradeCenterMObject ; objects
-
-TradeCenterMScript: ; 0x4fd7d
-	jp $7d10
-; 0x4fd80
-
-TradeCenterMTexts: ; 0x4fd80
-	dw TradeCenterMText1
-
-TradeCenterMText1: ; 0x4fd82
-	TX_FAR _TradeCenterMText1
-	db $50
-
-TradeCenterMObject: ; 0x4fd87 (size=10)
-	db $e ; border tile
-
-	db $0 ; warps
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person
-
-TradeCenterMBlocks: ; 0x4fd91 20
-	INCBIN "maps/tradecenterm.blk"
-
-INCBIN "baserom.gbc",$4fda5,$4fe3f - $4fda5
-
-UnnamedText_4fe3f: ; 0x4fe3f
-	TX_FAR _UnnamedText_4fe3f
-	db $50
-; 0x4fe3f + 5 bytes
-
-UnnamedText_4fe44: ; 0x4fe44
-	TX_FAR _UnnamedText_4fe44
-	db $50
-; 0x4fe44 + 5 bytes
-
-GetPredefPointer: ; 7E49
-; stores hl in $CC4F,$CC50
-; stores de in $CC51,$CC52
-; stores bc in $CC53,$CC54
-; grabs a byte "n" from $CC4E,
-;    and gets the nth (3-byte) pointer in PredefPointers
-; stores the bank of said pointer in [$D0B7]
-; stores the pointer in hl and returns
-	; ld $CC4F,hl
-	ld a,h
-	ld [$CC4F],a
-	ld a,l
-	ld [$CC50],a
-
-	; ld $CC51,de
-	ld hl,$CC51
-	ld a,d
-	ld [hli],a
-	ld a,e
-	ld [hli],a
-
-	; ld $CC53,bc
-	ld a,b
-	ld [hli],a
-	ld [hl],c
-
-	ld hl,PredefPointers
-	ld de,0
-
-	; de = 3 * [$CC4E]
-	ld a,[$CC4E]
-	ld e,a
-	add a,a
-	add a,e
-	ld e,a
-	jr nc,.next\@
-	inc d
-
-.next\@
-	add hl,de
-	ld d,h
-	ld e,l
-
-	; get bank of predef routine
-	ld a,[de]
-	ld [$D0B7],a
-
-	; get pointer
-	inc de
-	ld a,[de]
-	ld l,a
-	inc de
-	ld a,[de]
-	ld h,a
-
-	ret
-
-PredefPointers: ; 7E79
-; these are pointers to ASM routines.
-; they appear to be used in overworld map scripts.
-	dbw $0F,$4D60
-	dbw $0F,$70C6
-	dbw $0F,$7073
-	dbw $0B,$7E40
-	dbw $0F,$7103
-	dbw $1E,$5ABA
-	dbw $03,$7132
-	dbw BANK(HealParty),HealParty
-	dbw BANK(MoveAnimation),MoveAnimation; 08 play move animation
-	dbw $03,$771E
-	dbw $03,$771E
-	dbw $03,$781D
-	dbw $03,$7836
-	dbw $03,$771E
-	dbw $03,$771E
-	dbw $03,$7850
-	dbw $03,$7666
-	dbw $03,$71D7
-	dbw $03,$71A6
-	dbw $03,$469C
-	dbw $0F,$4A83
-	dbw $03,$71C8
-	dbw $03,$71C8
-	dbw $03,$6E9E
-	dbw $03,$7850
-	dbw $03,$4754
-	dbw $0E,$6F5B
-	dbw $01,$6E43
-	dbw $03,$78A5; 1C, used in Pokémon Tower
-	dbw $03,$3EB5
-	dbw $03,$3E2E
-	dbw $12,$40EB
-	dbw $03,$78BA
-	dbw $12,$40FF
-	dbw $03,$7929
-	dbw $03,$79A0
-	dbw $12,$4125
-	dbw $03,$7A1D
-	dbw $03,$79DC
-	dbw $01,$5AB0
-	dbw $0F,$6D02
-	dbw $10,$4000
-	dbw $0E,$6D1C
-	dbw $1C,$778C
-	dbw $0F,$6F18
-	dbw $01,$5A5F
-	dbw $03,$6A03
-	dbw $10,$50F3
-	dbw $1C,$496D
-	dbw $1E,$5DDA
-	dbw $10,$5682
-	dbw $1E,$5869
-	dbw $1C,$4B5D
-	dbw $03,$4586
-	dbw $04,$6953
-	dbw $04,$6B57
-	dbw $10,$50E2
-	dbw $15,$690F
-	dbw $10,$5010
-	dbw BANK(Predef3B),Predef3B; 3B display pic?
-	dbw $03,$6F54
-	dbw $10,$42D1
-	dbw $0E,$6FB8
-	dbw $1C,$770A
-	dbw $1C,$602B
-	dbw $03,$7113
-	dbw $17,$5B5E
-	dbw $04,$773E
-	dbw $04,$7763
-	dbw $1C,$5DDF
-	dbw $17,$40DC; 46 load dex screen
-	dbw $03,$72E5
-	dbw $03,$7A1D
-	dbw $0F,$4DEC
-	dbw $1C,$4F60
-	dbw $09,$7D6B
-	dbw $05,$7C47; 4C player exclamation
-	dbw $01,$5AAF; return immediately
-	dbw $01,$64EB
-	dbw $0D,$7CA1
-	dbw $1C,$780F
-	dbw $1C,$76BD
-	dbw $1C,$75E8
-	dbw $1C,$77E2
-	dbw BANK(Predef54),Predef54 ; 54 initiate trade
-	dbw $1D,$405C
-	dbw $11,$4169
-	dbw $1E,$45BA
-	dbw $1E,$4510
-	dbw $03,$45BE
-	dbw $03,$460B
-	dbw $03,$4D99
-	dbw $01,$4DE1
-	dbw $09,$7D98
-	dbw $03,$7473
-	dbw $04,$68EF
-	dbw $04,$68F6
-	dbw $07,$49C6
-	dbw $16,$5035
-
-SECTION "bank14",DATA,BANK[$14]
-
-Route22_h: ; 0x50000 to 0x50022 (34 bytes) (id=33)
-	db $00 ; tileset
-	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x)
-	dw Route22Blocks, Route22Texts, Route22Script ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_23
-	dw Route23Blocks + (ROUTE_23_HEIGHT - 3) * ROUTE_23_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width
-	db (ROUTE_23_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_23_HEIGHT * (ROUTE_23_WIDTH + 6) ; window
-
-	db VIRIDIAN_CITY
-	dw ViridianCityBlocks + (VIRIDIAN_CITY_WIDTH) ; connection strip location
-	dw $C6E5 + (ROUTE_22_WIDTH + 6) * (-3 + 4) ; current map position
-	db $f, VIRIDIAN_CITY_WIDTH ; bigness, width
-	db (-4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + VIRIDIAN_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route22Object ; objects
-
-Route22Object: ; 0x50022 (size=27)
-	db $2c ; border tile
-
-	db $1 ; warps
-	db $5, $8, $0, ROUTE_22_GATE
-
-	db $1 ; signs
-	db $b, $7, $3 ; Route22Text3
-
-	db $2 ; people
-	db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $14, $5, $8 ; ROUTE_22_GATE
-
-Route22Blocks: ; 0x5003d 180
-	INCBIN "maps/route22.blk"
-
-Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31)
-	db $00 ; tileset
-	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x)
-	dw Route20Blocks, Route20Texts, Route20Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db CINNABAR_ISLAND
-	dw CinnabarIslandBlocks - 3 + (CINNABAR_ISLAND_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_20_WIDTH + 6) * (0 + 3) ; current map position
-	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; bigness, width
-	db (0 * -2), (CINNABAR_ISLAND_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * CINNABAR_ISLAND_WIDTH ; window
-
-	db ROUTE_19
-	dw Route19Blocks + (ROUTE_19_WIDTH * 15) ; connection strip location
-	dw $C6E5 + (ROUTE_20_WIDTH + 6) * (-3 + 4) ; current map position
-	db $c, ROUTE_19_WIDTH ; bigness, width
-	db (-18 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_19_WIDTH ; window
-
-	; end connections data
-
-	dw Route20Object ; objects
-
-Route20Object: ; 0x50113 (size=106)
-	db $43 ; border tile
-
-	db $2 ; warps
-	db $5, $30, $0, SEAFOAM_ISLANDS_1
-	db $9, $3a, $2, SEAFOAM_ISLANDS_1
-
-	db $2 ; signs
-	db $7, $33, $b ; Route20Text11
-	db $b, $39, $c ; Route20Text12
-
-	db $a ; people
-	db SPRITE_SWIMMER, $8 + 4, $57 + 4, $ff, $d1, $41, SWIMMER + $C8, $9 ; trainer
-	db SPRITE_SWIMMER, $b + 4, $44 + 4, $ff, $d1, $42, BEAUTY + $C8, $f ; trainer
-	db SPRITE_SWIMMER, $a + 4, $2d + 4, $ff, $d0, $43, BEAUTY + $C8, $6 ; trainer
-	db SPRITE_SWIMMER, $e + 4, $37 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $18 ; trainer
-	db SPRITE_SWIMMER, $d + 4, $26 + 4, $ff, $d0, $45, SWIMMER + $C8, $a ; trainer
-	db SPRITE_SWIMMER, $d + 4, $57 + 4, $ff, $d1, $46, SWIMMER + $C8, $b ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $9 + 4, $22 + 4, $ff, $d1, $47, BIRD_KEEPER + $C8, $b ; trainer
-	db SPRITE_SWIMMER, $7 + 4, $19 + 4, $ff, $d1, $48, BEAUTY + $C8, $7 ; trainer
-	db SPRITE_SWIMMER, $c + 4, $18 + 4, $ff, $d0, $49, JR__TRAINER_F + $C8, $10 ; trainer
-	db SPRITE_SWIMMER, $8 + 4, $f + 4, $ff, $d1, $4a, BEAUTY + $C8, $8 ; trainer
-
-	; warp-to
-	EVENT_DISP $32, $5, $30 ; SEAFOAM_ISLANDS_1
-	EVENT_DISP $32, $9, $3a ; SEAFOAM_ISLANDS_1
-
-Route20Blocks: ; 0x5017d 450
-	INCBIN "maps/route20.blk"
-
-Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34)
-	db $17 ; tileset
-	db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x)
-	dw Route23Blocks, Route23Texts, Route23Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-
-	; connections data
-
-	db INDIGO_PLATEAU
-	dw IndigoPlateauBlocks + (INDIGO_PLATEAU_HEIGHT - 3) * INDIGO_PLATEAU_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_WIDTH ; bigness, width
-	db (INDIGO_PLATEAU_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + INDIGO_PLATEAU_HEIGHT * (INDIGO_PLATEAU_WIDTH + 6) ; window
-
-	db ROUTE_22
-	dw Route22Blocks ; connection strip location
-	dw $C6EB + (ROUTE_23_HEIGHT + 3) * (ROUTE_23_WIDTH + 6) + 0 ; current map position
-	db $d, ROUTE_22_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_22_WIDTH ; window
-
-	; end connections data
-
-	dw Route23Object ; objects
-
-Route23Object: ; 0x50361 (size=81)
-	db $f ; border tile
-
-	db $4 ; warps
-	db $8b, $7, $2, ROUTE_22_GATE
-	db $8b, $8, $3, ROUTE_22_GATE
-	db $1f, $4, $0, VICTORY_ROAD_1
-	db $1f, $e, $1, VICTORY_ROAD_2
-
-	db $1 ; signs
-	db $21, $3, $8 ; Route23Text8
-
-	db $7 ; people
-	db SPRITE_GUARD, $23 + 4, $4 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GUARD, $38 + 4, $a + 4, $ff, $d0, $2 ; person
-	db SPRITE_SWIMMER, $55 + 4, $8 + 4, $ff, $d0, $3 ; person
-	db SPRITE_SWIMMER, $60 + 4, $b + 4, $ff, $d0, $4 ; person
-	db SPRITE_GUARD, $69 + 4, $c + 4, $ff, $d0, $5 ; person
-	db SPRITE_GUARD, $77 + 4, $8 + 4, $ff, $d0, $6 ; person
-	db SPRITE_GUARD, $88 + 4, $8 + 4, $ff, $d0, $7 ; person
-
-	; warp-to
-	EVENT_DISP $a, $8b, $7 ; ROUTE_22_GATE
-	EVENT_DISP $a, $8b, $8 ; ROUTE_22_GATE
-	EVENT_DISP $a, $1f, $4 ; VICTORY_ROAD_1
-	EVENT_DISP $a, $1f, $e ; VICTORY_ROAD_2
-
-Route23Blocks: ; 0x503b2 720
-	INCBIN "maps/route23.blk"
-
-Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35)
-	db $00 ; tileset
-	db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x)
-	dw Route24Blocks, Route24Texts, Route24Script ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-
-	; connections data
-
-	db CERULEAN_CITY
-	dw CeruleanCityBlocks + 2 ; connection strip location
-	dw $C6EB + (ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6) + -3 ; current map position
-	db $10, CERULEAN_CITY_WIDTH ; bigness, width
-	db 0, (-5 * -2) ; alignments (y, x)
-	dw $C6EF + CERULEAN_CITY_WIDTH ; window
-
-	db ROUTE_25
-	dw Route25Blocks + (ROUTE_25_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (ROUTE_24_WIDTH + 6) * (0 + 4) ; current map position
-	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; bigness, width
-	db (0 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_25_WIDTH ; window
-
-	; end connections data
-
-	dw Route24Object ; objects
-
-Route24Object: ; 0x506a4 (size=67)
-	db $2c ; border tile
-
-	db $0 ; warps
-
-	db $0 ; signs
-
-	db $8 ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $b + 4, $ff, $d2, $41, ROCKET + $C8, $6 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $5 + 4, $ff, $d1, $42, JR__TRAINER_M + $C8, $2 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $13 + 4, $b + 4, $ff, $d2, $43, JR__TRAINER_M + $C8, $3 ; trainer
-	db SPRITE_LASS, $16 + 4, $a + 4, $ff, $d3, $44, LASS + $C8, $7 ; trainer
-	db SPRITE_BUG_CATCHER, $19 + 4, $b + 4, $ff, $d2, $45, YOUNGSTER + $C8, $4 ; trainer
-	db SPRITE_LASS, $1c + 4, $a + 4, $ff, $d3, $46, LASS + $C8, $8 ; trainer
-	db SPRITE_BUG_CATCHER, $1f + 4, $b + 4, $ff, $d2, $47, BUG_CATCHER + $C8, $9 ; trainer
-	db SPRITE_BALL, $5 + 4, $a + 4, $ff, $ff, $88, TM_45 ; item
-
-Route24Blocks: ; 0x506e7 180
-	INCBIN "maps/route24.blk"
-
-Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36)
-	db $00 ; tileset
-	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x)
-	dw Route25Blocks, Route25Texts, Route25Script ; blocks, texts, scripts
-	db WEST ; connections
-
-	; connections data
-
-	db ROUTE_24
-	dw Route24Blocks - 3 + (ROUTE_24_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_25_WIDTH + 6) * (0 + 3) ; current map position
-	db $c, ROUTE_24_WIDTH ; bigness, width
-	db (0 * -2), (ROUTE_24_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_24_WIDTH ; window
-
-	; end connections data
-
-	dw Route25Object ; objects
-
-Route25Object: ; 0x507b2 (size=94)
-	db $2c ; border tile
-
-	db $1 ; warps
-	db $3, $2d, $0, BILLS_HOUSE
-
-	db $1 ; signs
-	db $3, $2b, $b ; Route25Text11
-
-	db $a ; people
-	db SPRITE_BUG_CATCHER, $2 + 4, $e + 4, $ff, $d0, $41, YOUNGSTER + $C8, $5 ; trainer
-	db SPRITE_BUG_CATCHER, $5 + 4, $12 + 4, $ff, $d1, $42, YOUNGSTER + $C8, $6 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $18 + 4, $ff, $d0, $43, JR__TRAINER_M + $C8, $2 ; trainer
-	db SPRITE_LASS, $8 + 4, $12 + 4, $ff, $d3, $44, LASS + $C8, $9 ; trainer
-	db SPRITE_BUG_CATCHER, $3 + 4, $20 + 4, $ff, $d2, $45, YOUNGSTER + $C8, $7 ; trainer
-	db SPRITE_LASS, $4 + 4, $25 + 4, $ff, $d0, $46, LASS + $C8, $a ; trainer
-	db SPRITE_HIKER, $4 + 4, $8 + 4, $ff, $d3, $47, HIKER + $C8, $2 ; trainer
-	db SPRITE_HIKER, $9 + 4, $17 + 4, $ff, $d1, $48, HIKER + $C8, $3 ; trainer
-	db SPRITE_HIKER, $7 + 4, $d + 4, $ff, $d3, $49, HIKER + $C8, $4 ; trainer
-	db SPRITE_BALL, $2 + 4, $16 + 4, $ff, $ff, $8a, TM_19 ; item
-
-	; warp-to
-	EVENT_DISP $1e, $3, $2d ; BILLS_HOUSE
-
-Route25Blocks: ; 0x50810 270
-	INCBIN "maps/route25.blk"
-
-IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9)
-	db $17 ; tileset
-	db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x)
-	dw IndigoPlateauBlocks, IndigoPlateauTexts, IndigoPlateauScript ; blocks, texts, scripts
-	db SOUTH ; connections
-
-	; connections data
-
-	db ROUTE_23
-	dw Route23Blocks ; connection strip location
-	dw $C6EB + (INDIGO_PLATEAU_HEIGHT + 3) * (INDIGO_PLATEAU_WIDTH + 6) + 0 ; current map position
-	db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_23_WIDTH ; window
-
-	; end connections data
-
-	dw IndigoPlateauObject ; objects
-
-IndigoPlateauScript: ; 0x50935
-	ret
-; 0x50936
-
-IndigoPlateauTexts:
-IndigoPlateauObject: ; 0x50936 (size=20)
-	db $e ; border tile
-
-	db $2 ; warps
-	db $5, $9, $0, INDIGO_PLATEAU_LOBBY
-	db $5, $a, $0, INDIGO_PLATEAU_LOBBY
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $a, $5, $9 ; INDIGO_PLATEAU_LOBBY
-	EVENT_DISP $a, $5, $a ; INDIGO_PLATEAU_LOBBY
-
-IndigoPlateauBlocks: ; 0x5094a 90
-	INCBIN "maps/indigoplateau.blk"
-
-SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10)
-	db $00 ; tileset
-	db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x)
-	dw SaffronCityBlocks, SaffronCityTexts, SaffronCityScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST | EAST ; connections
-
-	; connections data
-
-	db ROUTE_5
-	dw Route5Blocks + (ROUTE_5_HEIGHT - 3) * ROUTE_5_WIDTH ; connection strip location
-	dw $C6EB + 5 ; current map position
-	db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width
-	db (ROUTE_5_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_5_HEIGHT * (ROUTE_5_WIDTH + 6) ; window
-
-	db ROUTE_6
-	dw Route6Blocks ; connection strip location
-	dw $C6EB + (SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6) + 5 ; current map position
-	db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width
-	db 0, (5 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_6_WIDTH ; window
-
-	db ROUTE_7
-	dw Route7Blocks - 3 + (ROUTE_7_WIDTH) ; connection strip location
-	dw $C6E8 + (SAFFRON_CITY_WIDTH + 6) * (4 + 3) ; current map position
-	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; bigness, width
-	db (4 * -2), (ROUTE_7_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_7_WIDTH ; window
-
-	db ROUTE_8
-	dw Route8Blocks + (ROUTE_8_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (SAFFRON_CITY_WIDTH + 6) * (4 + 4) ; current map position
-	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width
-	db (4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_8_WIDTH ; window
-
-	; end connections data
-
-	dw SaffronCityObject ; objects
-
-SaffronCityObject: ; 0x509dc (size=188)
-	db $f ; border tile
-
-	db $8 ; warps
-	db $5, $7, $0, COPYCATS_HOUSE_1F
-	db $3, $1a, $0, FIGHTINGDOJO
-	db $3, $22, $0, SAFFRON_GYM
-	db $b, $d, $0, SAFFRON_HOUSE_1
-	db $b, $19, $0, SAFFRON_MART
-	db $15, $12, $0, SILPH_CO_1F
-	db $1d, $9, $0, SAFFRON_POKECENTER
-	db $1d, $1d, $0, SAFFRON_HOUSE_2
-
-	db $a ; signs
-	db $5, $11, $10 ; SaffronCityText16
-	db $5, $1b, $11 ; SaffronCityText17
-	db $5, $23, $12 ; SaffronCityText18
-	db $b, $1a, $13 ; SaffronCityText19
-	db $13, $27, $14 ; SaffronCityText20
-	db $15, $5, $15 ; SaffronCityText21
-	db $15, $f, $16 ; SaffronCityText22
-	db $1d, $a, $17 ; SaffronCityText23
-	db $1d, $1b, $18 ; SaffronCityText24
-	db $13, $1, $19 ; SaffronCityText25
-
-	db $f ; people
-	db SPRITE_ROCKET, $6 + 4, $7 + 4, $ff, $ff, $1 ; person
-	db SPRITE_ROCKET, $8 + 4, $14 + 4, $fe, $2, $2 ; person
-	db SPRITE_ROCKET, $4 + 4, $22 + 4, $ff, $ff, $3 ; person
-	db SPRITE_ROCKET, $c + 4, $d + 4, $ff, $ff, $4 ; person
-	db SPRITE_ROCKET, $19 + 4, $b + 4, $fe, $2, $5 ; person
-	db SPRITE_ROCKET, $d + 4, $20 + 4, $fe, $2, $6 ; person
-	db SPRITE_ROCKET, $1e + 4, $12 + 4, $fe, $2, $7 ; person
-	db SPRITE_OAK_AIDE, $e + 4, $8 + 4, $fe, $0, $8 ; person
-	db SPRITE_LAPRAS_GIVER, $17 + 4, $17 + 4, $ff, $ff, $9 ; person
-	db SPRITE_ERIKA, $1e + 4, $11 + 4, $fe, $2, $a ; person
-	db SPRITE_GENTLEMAN, $c + 4, $1e + 4, $ff, $d0, $b ; person
-	db SPRITE_BIRD, $c + 4, $1f + 4, $ff, $d0, $c ; person
-	db SPRITE_ROCKER, $8 + 4, $12 + 4, $ff, $d1, $d ; person
-	db SPRITE_ROCKET, $16 + 4, $12 + 4, $ff, $d0, $e ; person
-	db SPRITE_ROCKET, $16 + 4, $13 + 4, $ff, $d0, $f ; person
-
-	; warp-to
-	EVENT_DISP $14, $5, $7 ; COPYCATS_HOUSE_1F
-	EVENT_DISP $14, $3, $1a ; FIGHTINGDOJO
-	EVENT_DISP $14, $3, $22 ; SAFFRON_GYM
-	EVENT_DISP $14, $b, $d ; SAFFRON_HOUSE_1
-	EVENT_DISP $14, $b, $19 ; SAFFRON_MART
-	EVENT_DISP $14, $15, $12 ; SILPH_CO_1F
-	EVENT_DISP $14, $1d, $9 ; SAFFRON_POKECENTER
-	EVENT_DISP $14, $1d, $1d ; SAFFRON_HOUSE_2
-
-SaffronCityBlocks: ; 0x50a98 360
-	INCBIN "maps/saffroncity.blk"
-
-SaffronCityScript: ; 0x50c00
-	jp $3c3c
-; 0x50c03
-
-SaffronCityTexts: ; 0x50c03
-	dw SaffronCityText1, SaffronCityText2, SaffronCityText3, SaffronCityText4, SaffronCityText5, SaffronCityText6, SaffronCityText7, SaffronCityText8, SaffronCityText9, SaffronCityText10, SaffronCityText11, SaffronCityText12, SaffronCityText13, SaffronCityText14, SaffronCityText15, SaffronCityText16, SaffronCityText17, SaffronCityText18, SaffronCityText19, SaffronCityText20, SaffronCityText21, SaffronCityText22, SaffronCityText23, SaffronCityText24, SaffronCityText25
-
-SaffronCityText1: ; 0x50c35
-	TX_FAR _SaffronCityText1
-	db $50
-
-SaffronCityText2: ; 0x50c3a
-	TX_FAR _SaffronCityText2
-	db $50
-
-SaffronCityText3: ; 0x50c3f
-	TX_FAR _SaffronCityText3
-	db $50
-
-SaffronCityText4: ; 0x50c44
-	TX_FAR _SaffronCityText4
-	db $50
-
-SaffronCityText5: ; 0x50c49
-	TX_FAR _SaffronCityText5
-	db $50
-
-SaffronCityText6: ; 0x50c4e
-	TX_FAR _SaffronCityText6
-	db $50
-
-SaffronCityText7: ; 0x50c53
-	TX_FAR _SaffronCityText7
-	db $50
-
-SaffronCityText8: ; 0x50c58
-	TX_FAR _SaffronCityText8
-	db $50
-
-SaffronCityText9: ; 0x50c5d
-	TX_FAR _SaffronCityText9
-	db $50
-
-SaffronCityText10: ; 0x50c62
-	TX_FAR _SaffronCityText10
-	db $50
-
-SaffronCityText11: ; 0x50c67
-	TX_FAR _SaffronCityText11
-	db $50
-
-SaffronCityText12: ; 0x50c6c
-	TX_FAR _SaffronCityText12
-	db $15, $50
-
-SaffronCityText13: ; 0x50c72
-	TX_FAR _SaffronCityText13
-	db $50
-
-SaffronCityText14: ; 0x50c77
-	TX_FAR _SaffronCityText14
-	db $50
-
-SaffronCityText15: ; 0x50c7c
-	TX_FAR _SaffronCityText15
-	db $50
-
-SaffronCityText16: ; 0x50c81
-	TX_FAR _SaffronCityText16
-	db $50
-
-SaffronCityText17: ; 0x50c86
-	TX_FAR _SaffronCityText17
-	db $50
-
-SaffronCityText18: ; 0x50c8b
-	TX_FAR _SaffronCityText18
-	db $50
-
-SaffronCityText20: ; 0x50c90
-	TX_FAR _SaffronCityText20
-	db $50
-
-SaffronCityText21: ; 0x50c95
-	TX_FAR _SaffronCityText21
-	db $50
-
-SaffronCityText22: ; 0x50c9a
-	TX_FAR _SaffronCityText22
-	db $50
-
-SaffronCityText24: ; 0x50c9f
-	TX_FAR _SaffronCityText24
-	db $50
-
-SaffronCityText25: ; 0x50ca4
-	TX_FAR _SaffronCityText25
-	db $50
-
-Route20Script: ; 0x50ca9
-	ld hl, $d7e7
-	bit 0, [hl]
-	res 0, [hl]
-	call nz, $4cc6
-	call $3c3c
-	ld hl, $4d3a
-	ld de, $4d1c
-	ld a, [$d628]
-	call $3160
-	ld [$d628], a
-	ret
-; 0x50cc6
-
-INCBIN "baserom.gbc",$50cc6,$5c
-
-Route20Texts: ; 0x50d22
-	dw Route20Text1, Route20Text2, Route20Text3, Route20Text4, Route20Text5, Route20Text6, Route20Text7, Route20Text8, Route20Text9, Route20Text10, Route20Text11, Route20Text12
-
-Route20TrainerHeaders:
-Route20TrainerHeader1:
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e17 ; 0x4e17 TextBeforeBattle
-	dw UnnamedText_50e21 ; 0x4e21 TextAfterBattle
-	dw UnnamedText_50e1c ; 0x4e1c TextEndBattle
-	dw UnnamedText_50e1c ; 0x4e1c TextEndBattle
-; 0x50d46
-
-TrainerHeader_50d46: ; 0x50d46
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e26 ; 0x4e26 TextBeforeBattle
-	dw UnnamedText_50e30 ; 0x4e30 TextAfterBattle
-	dw UnnamedText_50e2b ; 0x4e2b TextEndBattle
-	dw UnnamedText_50e2b ; 0x4e2b TextEndBattle
-; 0x50d52
-
-TrainerHeader_50d52: ; 0x50d52
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e35 ; 0x4e35 TextBeforeBattle
-	dw UnnamedText_50e3f ; 0x4e3f TextAfterBattle
-	dw UnnamedText_50e3a ; 0x4e3a TextEndBattle
-	dw UnnamedText_50e3a ; 0x4e3a TextEndBattle
-; 0x50d5e
-
-TrainerHeader_50d5e: ; 0x50d5e
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e44 ; 0x4e44 TextBeforeBattle
-	dw UnnamedText_50e4e ; 0x4e4e TextAfterBattle
-	dw UnnamedText_50e49 ; 0x4e49 TextEndBattle
-	dw UnnamedText_50e49 ; 0x4e49 TextEndBattle
-; 0x50d6a
-
-TrainerHeader_50d6a: ; 0x50d6a
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e53 ; 0x4e53 TextBeforeBattle
-	dw UnnamedText_50e5d ; 0x4e5d TextAfterBattle
-	dw UnnamedText_50e58 ; 0x4e58 TextEndBattle
-	dw UnnamedText_50e58 ; 0x4e58 TextEndBattle
-; 0x50d76
-
-TrainerHeader_50d76: ; 0x50d76
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e62 ; 0x4e62 TextBeforeBattle
-	dw UnnamedText_50e6c ; 0x4e6c TextAfterBattle
-	dw UnnamedText_50e67 ; 0x4e67 TextEndBattle
-	dw UnnamedText_50e67 ; 0x4e67 TextEndBattle
-; 0x50d82
-
-TrainerHeader_50d82: ; 0x50d82
-	db $7 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e71 ; 0x4e71 TextBeforeBattle
-	dw UnnamedText_50e7b ; 0x4e7b TextAfterBattle
-	dw UnnamedText_50e76 ; 0x4e76 TextEndBattle
-	dw UnnamedText_50e76 ; 0x4e76 TextEndBattle
-; 0x50d8e
-
-TrainerHeader_50d8e: ; 0x50d8e
-	db $8 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e80 ; 0x4e80 TextBeforeBattle
-	dw UnnamedText_50e8a ; 0x4e8a TextAfterBattle
-	dw UnnamedText_50e85 ; 0x4e85 TextEndBattle
-	dw UnnamedText_50e85 ; 0x4e85 TextEndBattle
-; 0x50d9a
-
-TrainerHeader_50d9a: ; 0x50d9a
-	db $9 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e8f ; 0x4e8f TextBeforeBattle
-	dw UnnamedText_50e99 ; 0x4e99 TextAfterBattle
-	dw UnnamedText_50e94 ; 0x4e94 TextEndBattle
-	dw UnnamedText_50e94 ; 0x4e94 TextEndBattle
-; 0x50da6
-
-TrainerHeader_50da6: ; 0x50da6
-	db $a ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e7 ; flag's byte
-	dw UnnamedText_50e9e ; 0x4e9e TextBeforeBattle
-	dw UnnamedText_50ea8 ; 0x4ea8 TextAfterBattle
-	dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle
-	dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle
-; 0x50db2
-
-db $ff
-
-Route20Text1: ; 0x50db3
-	db $08 ; asm
-	ld hl, Route20TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text2: ; 0x50dbd
-	db $08 ; asm
-	ld hl, TrainerHeader_50d46
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text3: ; 0x50dc7
-	db $08 ; asm
-	ld hl, TrainerHeader_50d52
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text4: ; 0x50dd1
-	db $08 ; asm
-	ld hl, TrainerHeader_50d5e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text5: ; 0x50ddb
-	db $08 ; asm
-	ld hl, TrainerHeader_50d6a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text6: ; 0x50de5
-	db $08 ; asm
-	ld hl, TrainerHeader_50d76
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text7: ; 0x50def
-	db $08 ; asm
-	ld hl, TrainerHeader_50d82
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text8: ; 0x50df9
-	db $08 ; asm
-	ld hl, TrainerHeader_50d8e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text9: ; 0x50e03
-	db $08 ; asm
-	ld hl, TrainerHeader_50d9a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route20Text10: ; 0x50e0d
-	db $08 ; asm
-	ld hl, TrainerHeader_50da6
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_50e17: ; 0x50e17
-	TX_FAR _UnnamedText_50e17
-	db $50
-; 0x50e17 + 5 bytes
-
-UnnamedText_50e1c: ; 0x50e1c
-	TX_FAR _UnnamedText_50e1c
-	db $50
-; 0x50e1c + 5 bytes
-
-UnnamedText_50e21: ; 0x50e21
-	TX_FAR _UnnamedText_50e21
-	db $50
-; 0x50e21 + 5 bytes
-
-UnnamedText_50e26: ; 0x50e26
-	TX_FAR _UnnamedText_50e26
-	db $50
-; 0x50e26 + 5 bytes
-
-UnnamedText_50e2b: ; 0x50e2b
-	TX_FAR _UnnamedText_50e2b
-	db $50
-; 0x50e2b + 5 bytes
-
-UnnamedText_50e30: ; 0x50e30
-	TX_FAR _UnnamedText_50e30
-	db $50
-; 0x50e30 + 5 bytes
-
-UnnamedText_50e35: ; 0x50e35
-	TX_FAR _UnnamedText_50e35
-	db $50
-; 0x50e35 + 5 bytes
-
-UnnamedText_50e3a: ; 0x50e3a
-	TX_FAR _UnnamedText_50e3a
-	db $50
-; 0x50e3a + 5 bytes
-
-UnnamedText_50e3f: ; 0x50e3f
-	TX_FAR _UnnamedText_50e3f
-	db $50
-; 0x50e3f + 5 bytes
-
-UnnamedText_50e44: ; 0x50e44
-	TX_FAR _UnnamedText_50e44
-	db $50
-; 0x50e44 + 5 bytes
-
-UnnamedText_50e49: ; 0x50e49
-	TX_FAR _UnnamedText_50e49
-	db $50
-; 0x50e49 + 5 bytes
-
-UnnamedText_50e4e: ; 0x50e4e
-	TX_FAR _UnnamedText_50e4e
-	db $50
-; 0x50e4e + 5 bytes
-
-UnnamedText_50e53: ; 0x50e53
-	TX_FAR _UnnamedText_50e53
-	db $50
-; 0x50e53 + 5 bytes
-
-UnnamedText_50e58: ; 0x50e58
-	TX_FAR _UnnamedText_50e58
-	db $50
-; 0x50e58 + 5 bytes
-
-UnnamedText_50e5d: ; 0x50e5d
-	TX_FAR _UnnamedText_50e5d
-	db $50
-; 0x50e5d + 5 bytes
-
-UnnamedText_50e62: ; 0x50e62
-	TX_FAR _UnnamedText_50e62
-	db $50
-; 0x50e62 + 5 bytes
-
-UnnamedText_50e67: ; 0x50e67
-	TX_FAR _UnnamedText_50e67
-	db $50
-; 0x50e67 + 5 bytes
-
-UnnamedText_50e6c: ; 0x50e6c
-	TX_FAR _UnnamedText_50e6c
-	db $50
-; 0x50e6c + 5 bytes
-
-UnnamedText_50e71: ; 0x50e71
-	TX_FAR _UnnamedText_50e71
-	db $50
-; 0x50e71 + 5 bytes
-
-UnnamedText_50e76: ; 0x50e76
-	TX_FAR _UnnamedText_50e76
-	db $50
-; 0x50e76 + 5 bytes
-
-UnnamedText_50e7b: ; 0x50e7b
-	TX_FAR _UnnamedText_50e7b
-	db $50
-; 0x50e7b + 5 bytes
-
-UnnamedText_50e80: ; 0x50e80
-	TX_FAR _UnnamedText_50e80
-	db $50
-; 0x50e80 + 5 bytes
-
-UnnamedText_50e85: ; 0x50e85
-	TX_FAR _UnnamedText_50e85
-	db $50
-; 0x50e85 + 5 bytes
-
-UnnamedText_50e8a: ; 0x50e8a
-	TX_FAR _UnnamedText_50e8a
-	db $50
-; 0x50e8a + 5 bytes
-
-UnnamedText_50e8f: ; 0x50e8f
-	TX_FAR _UnnamedText_50e8f
-	db $50
-; 0x50e8f + 5 bytes
-
-UnnamedText_50e94: ; 0x50e94
-	TX_FAR _UnnamedText_50e94
-	db $50
-; 0x50e94 + 5 bytes
-
-UnnamedText_50e99: ; 0x50e99
-	TX_FAR _UnnamedText_50e99
-	db $50
-; 0x50e99 + 5 bytes
-
-UnnamedText_50e9e: ; 0x50e9e
-	TX_FAR _UnnamedText_50e9e
-	db $50
-; 0x50e9e + 5 bytes
-
-UnnamedText_50ea3: ; 0x50ea3
-	TX_FAR _UnnamedText_50ea3
-	db $50
-; 0x50ea3 + 5 bytes
-
-UnnamedText_50ea8: ; 0x50ea8
-	TX_FAR _UnnamedText_50ea8
-	db $50
-; 0x50ea8 + 5 bytes
-
-Route20Text12:
-Route20Text11: ; 0x50ead
-	TX_FAR _Route20Text11
-	db $50
-
-Route22Script: ; 0x50eb2
-	call $3c3c
-	ld hl, Route22Scripts
-	ld a, [$d60a]
-	jp $3d97
-; 0x50ebe
-
-Route22Scripts: ; 0x50ebe
-	dw Route22Script0, Route22Script1, Route22Script2, Route22Script3
-
-INCBIN "baserom.gbc",$50ec6,$3a
-
-Route22Script0: ; 0x50f00
-	ld a, [$d7eb]
-	bit 7, a
-	ret z
-	ld hl, $4f2d
-	call $34bf
-	ret nc
-	ld a, [$cd3d]
-	ld [$cf0d], a
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, $2
-	ld [$d528], a
-	ld a, [$d7eb]
-	bit 0, a
-	jr nz, .asm_50f32 ; 0x50f25 $b
-	bit 1, a
-	jp nz, $504e
-	ret
-	inc b
-	dec e
-	dec b
-	dec e
-	rst $38
-.asm_50f32
-	ld a, $1
-	ld [$cd4f], a
-	xor a
-	ld [$cd50], a
-	ld a, $4c
-	call Predef
-	ld a, [$d700]
-	and a
-	jr z, .asm_50f4e ; 0x50f44 $8
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-.asm_50f4e
-	ld c, $2
-	ld a, $de
-	call $23a1
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $4ee6
-	ld a, $1
-	ld [$d60a], a
-	ret
-; 0x50f62
-
-Route22Script1: ; 0x50f62
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	ld a, [$cf0d]
-	cp $1
-	jr nz, .asm_50f78 ; 0x50f6d $9
-	ld a, $4
-	ld [$d528], a
-	ld a, $4
-	jr .asm_50f7a ; 0x50f76 $2
-.asm_50f78
-	ld a, $c
-.asm_50f7a
-	ld [$ff00+$8d], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $34a6
-	xor a
-	ld [$cd6b], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $51b7
-	ld de, $51bc
-	call $3354
-	ld a, $e1
-	ld [$d059], a
-	ld hl, $4faf
-	call $4ed6
-	ld a, $2
-	ld [$d60a], a
-	ret
-; 0x50faf
-
-INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf
-
-Route22Script2: ; 0x50fb5
-	ld a, [$d057]
-	cp $ff
-	jp z, $4ece
-	ld a, [$c109]
-	and a
-	jr nz, .asm_50fc7 ; 0x50fc1 $4
-	ld a, $4
-	jr .asm_50fc9 ; 0x50fc5 $2
-.asm_50fc7
-	ld a, $c
-.asm_50fc9
-	ld [$ff00+$8d], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $34a6
-	ld a, $f0
-	ld [$cd6b], a
-	ld hl, $d7eb
-	set 5, [hl]
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, [$cf0d]
-	cp $1
-	jr nz, .asm_50fff ; 0x50ff8 $5
-	call $5008
-	jr .asm_51002 ; 0x50ffd $3
-.asm_50fff
-	call $500d
-.asm_51002
-	ld a, $3
-	ld [$d60a], a
-	ret
-; 0x51008
-
-INCBIN "baserom.gbc",$51008,$5102a - $51008
-
-Route22Script3: ; 0x5102a
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, $22
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	call $2307
-	ld hl, $d7eb
-	res 0, [hl]
-	res 7, [hl]
-	ld a, $0
-	ld [$d60a], a
-	ret
-; 0x5104e
-
-INCBIN "baserom.gbc",$5104e,$127
-
-Route22Texts: ; 0x51175
-	dw Route22Text1, Route22Text2, Route22Text3
-
-Route22Text1: ; 0x5117b
-	db $08 ; asm
-	ld a, [$d7eb]
-	bit 5, a
-	jr z, .asm_a88cf ; 0x51181
-	ld hl, UnnamedText_511b2
-	call PrintText
-	jr .asm_48088 ; 0x51189
-.asm_a88cf ; 0x5118b
-	ld hl, UnnamedText_511ad
-	call PrintText
-.asm_48088 ; 0x51191
-	jp TextScriptEnd
-
-Route22Text2: ; 0x51194
-	db $08 ; asm
-	ld a, [$d7eb]
-	bit 6, a
-	jr z, .asm_58c0a ; 0x5119a
-	ld hl, UnnamedText_511c6
-	call PrintText
-	jr .asm_673ee ; 0x511a2
-.asm_58c0a ; 0x511a4
-	ld hl, UnnamedText_511c1
-	call PrintText
-.asm_673ee ; 0x511aa
-	jp TextScriptEnd
-
-UnnamedText_511ad: ; 0x511ad
-	TX_FAR _UnnamedText_511ad
-	db $50
-; 0x511ad + 5 bytes
-
-UnnamedText_511b2: ; 0x511b2
-	TX_FAR _UnnamedText_511b2
-	db $50
-; 0x511b2 + 5 bytes
-
-UnnamedText_511b7: ; 0x511b7
-	TX_FAR _UnnamedText_511b7
-	db $50
-; 0x511b7 + 5 bytes
-
-UnnamedText_511bc: ; 0x511bc
-	TX_FAR _UnnamedText_511bc
-	db $50
-; 0x511bc + 5 bytes
-
-UnnamedText_511c1: ; 0x511c1
-	TX_FAR _UnnamedText_511c1
-	db $50
-; 0x511c1 + 5 bytes
-
-UnnamedText_511c6: ; 0x511c6
-	TX_FAR _UnnamedText_511c6
-	db $50
-; 0x511c6 + 5 bytes
-
-UnnamedText_511cb: ; 0x511cb
-	TX_FAR _UnnamedText_511cb
-	db $50
-; 0x511cb + 5 bytes
-
-UnnamedText_511d0: ; 0x511d0
-	TX_FAR _UnnamedText_511d0
-	db $50
-; 0x511d0 + 5 bytes
-
-Route22Text3: ; 0x511d5
-	TX_FAR _Route22Text3
-	db $50
-
-Route23Script: ; 0x511da
-	call $51e9
-	call $3c3c
-	ld hl, Route23Scripts
-	ld a, [$d667]
-	jp $3d97
-; 0x511e9
-
-INCBIN "baserom.gbc",$511e9,$51213 - $511e9
-
-Route23Scripts: ; 0x51213
-	dw Route23Script0
-
-INCBIN "baserom.gbc",$51215,$4
-
-Route23Script0: ; 0x51219
-	ld hl, $5255
-	ld a, [$d361]
-	ld b, a
-	ld e, $0
-	ld c, $7
-.asm_51224
-	ld a, [hli]
-	cp $ff
-	ret z
-	inc e
-	dec c
-	cp b
-	jr nz, .asm_51224 ; 0x5122b $f7
-	cp $23
-	jr nz, .asm_51237 ; 0x5122f $6
-	ld a, [$d362]
-	cp $e
-	ret nc
-.asm_51237
-	ld a, e
-	ld [$ff00+$8c], a
-	ld a, c
-	ld [$cd3d], a
-	ld b, $2
-	ld hl, $d7ed
-	ld a, $10
-	call Predef
-	ld a, c
-	and a
-	ret nz
-	call $525d
-	call $2920
-	xor a
-	ld [$ff00+$b4], a
-	ret
-; 0x51255
-
-INCBIN "baserom.gbc",$51255,$a2
-
-Route23Texts: ; 0x512f7
-	dw Route23Text1, Route23Text2, Route23Text3, Route23Text4, Route23Text5, Route23Text6, Route23Text7, Route23Text8
-
-Route23Text1: ; 0x51307
-	db $08 ; asm
-	ld a, $6
-	call $5346
-	jp TextScriptEnd
-
-Route23Text2: ; 0x51310
-	db $08 ; asm
-	ld a, $5
-	call $5346
-	jp TextScriptEnd
-
-Route23Text3: ; 0x51319
-	db $08 ; asm
-	ld a, $4
-	call $5346
-	jp TextScriptEnd
-
-Route23Text4: ; 0x51322
-	db $08 ; asm
-	ld a, $3
-	call $5346
-	jp TextScriptEnd
-
-Route23Text5: ; 0x5132b
-	db $08 ; asm
-	ld a, $2
-	call $5346
-	jp TextScriptEnd
-
-Route23Text6: ; 0x51334
-	db $08 ; asm
-	ld a, $1
-	call $5346
-	jp TextScriptEnd
-
-Route23Text7: ; 0x5133d
-	db $8
-	ld a, $0
-	call $5346
-	jp TextScriptEnd
-; 0x51346
-
-INCBIN "baserom.gbc",$51346,$513a3 - $51346
-
-UnnamedText_513a3: ; 0x513a3
-	TX_FAR _UnnamedText_513a3
-	db $50
-; 0x513a3 + 5 bytes
-
-Route23Text8: ; 0x513a8
-	TX_FAR _Route23Text8
-	db $50
-
-Route24Script: ; 0x513ad
-	call $3c3c
-	ld hl, $545b
-	ld de, $53cb
-	ld a, [$d602]
-	call $3160
-	ld [$d602], a
-	ret
-; 0x513c0
-
-INCBIN "baserom.gbc",$513c0,$8b
-
-Route24Texts: ; 0x5144b
-	dw Route24Text1, Route24Text2, Route24Text3, Route24Text4, Route24Text5, Route24Text6, Route24Text7, Route24Text8
-
-TrainerHeader_5145b: ; 0x5145b
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7ef ; flag's byte
-	dw UnnamedText_51571 ; 0x5571 TextBeforeBattle
-	dw UnnamedText_5157b ; 0x557b TextAfterBattle
-	dw UnnamedText_51576 ; 0x5576 TextEndBattle
-	dw UnnamedText_51576 ; 0x5576 TextEndBattle
-; 0x51467
-
-TrainerHeader_51467: ; 0x51467
-	db $3 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7ef ; flag's byte
-	dw UnnamedText_51580 ; 0x5580 TextBeforeBattle
-	dw UnnamedText_5158a ; 0x558a TextAfterBattle
-	dw UnnamedText_51585 ; 0x5585 TextEndBattle
-	dw UnnamedText_51585 ; 0x5585 TextEndBattle
-; 0x51473
-
-TrainerHeader_51473: ; 0x51473
-	db $4 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7ef ; flag's byte
-	dw UnnamedText_5158f ; 0x558f TextBeforeBattle
-	dw UnnamedText_51599 ; 0x5599 TextAfterBattle
-	dw UnnamedText_51594 ; 0x5594 TextEndBattle
-	dw UnnamedText_51594 ; 0x5594 TextEndBattle
-; 0x5147f
-
-TrainerHeader_5147f: ; 0x5147f
-	db $5 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7ef ; flag's byte
-	dw UnnamedText_5159e ; 0x559e TextBeforeBattle
-	dw UnnamedText_515a8 ; 0x55a8 TextAfterBattle
-	dw UnnamedText_515a3 ; 0x55a3 TextEndBattle
-	dw UnnamedText_515a3 ; 0x55a3 TextEndBattle
-; 0x5148b
-
-TrainerHeader_5148b: ; 0x5148b
-	db $6 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7ef ; flag's byte
-	dw UnnamedText_515ad ; 0x55ad TextBeforeBattle
-	dw UnnamedText_515b7 ; 0x55b7 TextAfterBattle
-	dw UnnamedText_515b2 ; 0x55b2 TextEndBattle
-	dw UnnamedText_515b2 ; 0x55b2 TextEndBattle
-; 0x51497
-
-TrainerHeader_51497: ; 0x51497
-	db $7 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7ef ; flag's byte
-	dw UnnamedText_515bc ; 0x55bc TextBeforeBattle
-	dw UnnamedText_515c6 ; 0x55c6 TextAfterBattle
-	dw UnnamedText_515c1 ; 0x55c1 TextEndBattle
-	dw UnnamedText_515c1 ; 0x55c1 TextEndBattle
-; 0x514a3
-
-db $ff
-
-Route24Text1: ; 0x514a4
-	db $8
-	ld hl, $d7f0
-	res 1, [hl]
-	ld a, [$d7ef]
-	bit 0, a
-	jr nz, .asm_a03f5 ; 0x514af $48
-	ld hl, UnnamedText_51510
-	call PrintText
-	ld bc, $3101
-	call GiveItem
-	jr nc, .asm_3a23d ; 0x514bd $43
-	ld hl, $d7ef
-	set 0, [hl]
-	ld hl, UnnamedText_5151a
-	call PrintText
-	ld hl, UnnamedText_51526
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_5152b
-	ld de, UnnamedText_5152b
-	call $3354
-	ld a, [$ff00+$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $3
-	ld [$d602], a
-	ld [$da39], a
-	jp TextScriptEnd
-.asm_a03f5 ; 0x514f9
-	ld hl, UnnamedText_51530
-	call PrintText
-	jp TextScriptEnd
-.asm_3a23d ; 0x51502
-	ld hl, UnnamedText_51521
-	call PrintText
-	ld hl, $d7f0
-	set 1, [hl]
-	jp TextScriptEnd
-; 0x51510
-
-UnnamedText_51510: ; 0x51510
-	TX_FAR _UnnamedText_51510 ; 0x92721
-	db $0B
-	TX_FAR _UnnamedText_51515 ; 0x92755
-	db $50
-; 0x5151a
-
-UnnamedText_5151a: ; 0x5151a
-	TX_FAR _UnnamedText_5151a ; 0x92779
-	db $0B, $6, $50
-
-UnnamedText_51521: ; 0x51521
-	TX_FAR _UnnamedText_51521
-	db $50
-; 0x51521 + 5 bytes
-
-UnnamedText_51526: ; 0x51526
-	TX_FAR _UnnamedText_51526
-	db $50
-; 0x51526 + 5 bytes
-
-UnnamedText_5152b: ; 0x5152b
-	TX_FAR _UnnamedText_5152b
-	db $50
-; 0x5152b + 5 bytes
-
-UnnamedText_51530: ; 0x51530
-	TX_FAR _UnnamedText_51530
-	db $50
-; 0x51530 + 5 bytes
-
-Route24Text2: ; 0x51535
-	db $08 ; asm
-	ld hl, TrainerHeader_5145b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route24Text3: ; 0x5153f
-	db $08 ; asm
-	ld hl, TrainerHeader_51467
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route24Text4: ; 0x51549
-	db $08 ; asm
-	ld hl, TrainerHeader_51473
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route24Text5: ; 0x51553
-	db $08 ; asm
-	ld hl, TrainerHeader_5147f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route24Text6: ; 0x5155d
-	db $08 ; asm
-	ld hl, TrainerHeader_5148b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route24Text7: ; 0x51567
-	db $08 ; asm
-	ld hl, TrainerHeader_51497
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_51571: ; 0x51571
-	TX_FAR _UnnamedText_51571
-	db $50
-; 0x51571 + 5 bytes
-
-UnnamedText_51576: ; 0x51576
-	TX_FAR _UnnamedText_51576
-	db $50
-; 0x51576 + 5 bytes
-
-UnnamedText_5157b: ; 0x5157b
-	TX_FAR _UnnamedText_5157b
-	db $50
-; 0x5157b + 5 bytes
-
-UnnamedText_51580: ; 0x51580
-	TX_FAR _UnnamedText_51580
-	db $50
-; 0x51580 + 5 bytes
-
-UnnamedText_51585: ; 0x51585
-	TX_FAR _UnnamedText_51585
-	db $50
-; 0x51585 + 5 bytes
-
-UnnamedText_5158a: ; 0x5158a
-	TX_FAR _UnnamedText_5158a
-	db $50
-; 0x5158a + 5 bytes
-
-UnnamedText_5158f: ; 0x5158f
-	TX_FAR _UnnamedText_5158f
-	db $50
-; 0x5158f + 5 bytes
-
-UnnamedText_51594: ; 0x51594
-	TX_FAR _UnnamedText_51594
-	db $50
-; 0x51594 + 5 bytes
-
-UnnamedText_51599: ; 0x51599
-	TX_FAR _UnnamedText_51599
-	db $50
-; 0x51599 + 5 bytes
-
-UnnamedText_5159e: ; 0x5159e
-	TX_FAR _UnnamedText_5159e
-	db $50
-; 0x5159e + 5 bytes
-
-UnnamedText_515a3: ; 0x515a3
-	TX_FAR _UnnamedText_515a3
-	db $50
-; 0x515a3 + 5 bytes
-
-UnnamedText_515a8: ; 0x515a8
-	TX_FAR _UnnamedText_515a8
-	db $50
-; 0x515a8 + 5 bytes
-
-UnnamedText_515ad: ; 0x515ad
-	TX_FAR _UnnamedText_515ad
-	db $50
-; 0x515ad + 5 bytes
-
-UnnamedText_515b2: ; 0x515b2
-	TX_FAR _UnnamedText_515b2
-	db $50
-; 0x515b2 + 5 bytes
-
-UnnamedText_515b7: ; 0x515b7
-	TX_FAR _UnnamedText_515b7
-	db $50
-; 0x515b7 + 5 bytes
-
-UnnamedText_515bc: ; 0x515bc
-	TX_FAR _UnnamedText_515bc
-	db $50
-; 0x515bc + 5 bytes
-
-UnnamedText_515c1: ; 0x515c1
-	TX_FAR _UnnamedText_515c1
-	db $50
-; 0x515c1 + 5 bytes
-
-UnnamedText_515c6: ; 0x515c6
-	TX_FAR _UnnamedText_515c6
-	db $50
-; 0x515c6 + 5 bytes
-
-Route25Script: ; 0x515cb
-	call Unknown_515e1
-	call $3c3c
-	ld hl, Route25TrainerHeader1
-	ld de, $5622
-	ld a, [$d603]
-	call $3160
-	ld [$d603], a
-	ret
-; 0x515e1
-
-Unknown_515e1: ; 0x515e1
-INCBIN "baserom.gbc",$515e1,$47
-
-Route25Texts: ; 0x51628
-	dw Route25Text1, Route25Text2, Route25Text3, Route25Text4, Route25Text5, Route25Text6, Route25Text7, Route25Text8, Route25Text9, Route25Text10, Route25Text11
-
-Route25TrainerHeaders:
-Route25TrainerHeader1:
-TrainerHeader_5163e: ; 0x5163e
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_51705 ; 0x5705 TextBeforeBattle
-	dw UnnamedText_5170f ; 0x570f TextAfterBattle
-	dw UnnamedText_5170a ; 0x570a TextEndBattle
-	dw UnnamedText_5170a ; 0x570a TextEndBattle
-; 0x5164a
-
-TrainerHeader_5164a: ; 0x5164a
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_51714 ; 0x5714 TextBeforeBattle
-	dw UnnamedText_5171e ; 0x571e TextAfterBattle
-	dw UnnamedText_51719 ; 0x5719 TextEndBattle
-	dw UnnamedText_51719 ; 0x5719 TextEndBattle
-; 0x51656
-
-TrainerHeader_51656: ; 0x51656
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_51723 ; 0x5723 TextBeforeBattle
-	dw UnnamedText_5172d ; 0x572d TextAfterBattle
-	dw UnnamedText_51728 ; 0x5728 TextEndBattle
-	dw UnnamedText_51728 ; 0x5728 TextEndBattle
-; 0x51662
-
-TrainerHeader_51662: ; 0x51662
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_51732 ; 0x5732 TextBeforeBattle
-	dw UnnamedText_5173c ; 0x573c TextAfterBattle
-	dw UnnamedText_51737 ; 0x5737 TextEndBattle
-	dw UnnamedText_51737 ; 0x5737 TextEndBattle
-; 0x5166e
-
-TrainerHeader_5166e: ; 0x5166e
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_51741 ; 0x5741 TextBeforeBattle
-	dw UnnamedText_5174b ; 0x574b TextAfterBattle
-	dw UnnamedText_51746 ; 0x5746 TextEndBattle
-	dw UnnamedText_51746 ; 0x5746 TextEndBattle
-; 0x5167a
-
-TrainerHeader_5167a: ; 0x5167a
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_51750 ; 0x5750 TextBeforeBattle
-	dw UnnamedText_5175a ; 0x575a TextAfterBattle
-	dw UnnamedText_51755 ; 0x5755 TextEndBattle
-	dw UnnamedText_51755 ; 0x5755 TextEndBattle
-; 0x51686
-
-TrainerHeader_51686: ; 0x51686
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_5175f ; 0x575f TextBeforeBattle
-	dw UnnamedText_51769 ; 0x5769 TextAfterBattle
-	dw UnnamedText_51764 ; 0x5764 TextEndBattle
-	dw UnnamedText_51764 ; 0x5764 TextEndBattle
-; 0x51692
-
-TrainerHeader_51692: ; 0x51692
-	db $8 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_5176e ; 0x576e TextBeforeBattle
-	dw UnnamedText_51778 ; 0x5778 TextAfterBattle
-	dw UnnamedText_51773 ; 0x5773 TextEndBattle
-	dw UnnamedText_51773 ; 0x5773 TextEndBattle
-; 0x5169e
-
-TrainerHeader_5169e: ; 0x5169e
-	db $9 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7f1 ; flag's byte
-	dw UnnamedText_5177d ; 0x577d TextBeforeBattle
-	dw UnnamedText_51787 ; 0x5787 TextAfterBattle
-	dw UnnamedText_51782 ; 0x5782 TextEndBattle
-	dw UnnamedText_51782 ; 0x5782 TextEndBattle
-; 0x516aa
-
-db $ff
-
-Route25Text1: ; 0x516ab
-	db $08 ; asm
-	ld hl, TrainerHeader_5163e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text2: ; 0x516b5
-	db $08 ; asm
-	ld hl, TrainerHeader_5164a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text3: ; 0x516bf
-	db $08 ; asm
-	ld hl, TrainerHeader_51656
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text4: ; 0x516c9
-	db $08 ; asm
-	ld hl, TrainerHeader_51662
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text5: ; 0x516d3
-	db $08 ; asm
-	ld hl, TrainerHeader_5166e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text6: ; 0x516dd
-	db $08 ; asm
-	ld hl, TrainerHeader_5167a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text7: ; 0x516e7
-	db $08 ; asm
-	ld hl, TrainerHeader_51686
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text8: ; 0x516f1
-	db $08 ; asm
-	ld hl, TrainerHeader_51692
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route25Text9: ; 0x516fb
-	db $08 ; asm
-	ld hl, TrainerHeader_5169e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_51705: ; 0x51705
-	TX_FAR _UnnamedText_51705
-	db $50
-; 0x51705 + 5 bytes
-
-UnnamedText_5170a: ; 0x5170a
-	TX_FAR _UnnamedText_5170a
-	db $50
-; 0x5170a + 5 bytes
-
-UnnamedText_5170f: ; 0x5170f
-	TX_FAR _UnnamedText_5170f
-	db $50
-; 0x5170f + 5 bytes
-
-UnnamedText_51714: ; 0x51714
-	TX_FAR _UnnamedText_51714
-	db $50
-; 0x51714 + 5 bytes
-
-UnnamedText_51719: ; 0x51719
-	TX_FAR _UnnamedText_51719
-	db $50
-; 0x51719 + 5 bytes
-
-UnnamedText_5171e: ; 0x5171e
-	TX_FAR _UnnamedText_5171e
-	db $50
-; 0x5171e + 5 bytes
-
-UnnamedText_51723: ; 0x51723
-	TX_FAR _UnnamedText_51723
-	db $50
-; 0x51723 + 5 bytes
-
-UnnamedText_51728: ; 0x51728
-	TX_FAR _UnnamedText_51728
-	db $50
-; 0x51728 + 5 bytes
-
-UnnamedText_5172d: ; 0x5172d
-	TX_FAR _UnnamedText_5172d
-	db $50
-; 0x5172d + 5 bytes
-
-UnnamedText_51732: ; 0x51732
-	TX_FAR _UnnamedText_51732
-	db $50
-; 0x51732 + 5 bytes
-
-UnnamedText_51737: ; 0x51737
-	TX_FAR _UnnamedText_51737
-	db $50
-; 0x51737 + 5 bytes
-
-UnnamedText_5173c: ; 0x5173c
-	TX_FAR _UnnamedText_5173c
-	db $50
-; 0x5173c + 5 bytes
-
-UnnamedText_51741: ; 0x51741
-	TX_FAR _UnnamedText_51741
-	db $50
-; 0x51741 + 5 bytes
-
-UnnamedText_51746: ; 0x51746
-	TX_FAR _UnnamedText_51746
-	db $50
-; 0x51746 + 5 bytes
-
-UnnamedText_5174b: ; 0x5174b
-	TX_FAR _UnnamedText_5174b
-	db $50
-; 0x5174b + 5 bytes
-
-UnnamedText_51750: ; 0x51750
-	TX_FAR _UnnamedText_51750
-	db $50
-; 0x51750 + 5 bytes
-
-UnnamedText_51755: ; 0x51755
-	TX_FAR _UnnamedText_51755
-	db $50
-; 0x51755 + 5 bytes
-
-UnnamedText_5175a: ; 0x5175a
-	TX_FAR _UnnamedText_5175a
-	db $50
-; 0x5175a + 5 bytes
-
-UnnamedText_5175f: ; 0x5175f
-	TX_FAR _UnnamedText_5175f
-	db $50
-; 0x5175f + 5 bytes
-
-UnnamedText_51764: ; 0x51764
-	TX_FAR _UnnamedText_51764
-	db $50
-; 0x51764 + 5 bytes
-
-UnnamedText_51769: ; 0x51769
-	TX_FAR _UnnamedText_51769
-	db $50
-; 0x51769 + 5 bytes
-
-UnnamedText_5176e: ; 0x5176e
-	TX_FAR _UnnamedText_5176e
-	db $50
-; 0x5176e + 5 bytes
-
-UnnamedText_51773: ; 0x51773
-	TX_FAR _UnnamedText_51773
-	db $50
-; 0x51773 + 5 bytes
-
-UnnamedText_51778: ; 0x51778
-	TX_FAR _UnnamedText_51778
-	db $50
-; 0x51778 + 5 bytes
-
-UnnamedText_5177d: ; 0x5177d
-	TX_FAR _UnnamedText_5177d
-	db $50
-; 0x5177d + 5 bytes
-
-UnnamedText_51782: ; 0x51782
-	TX_FAR _UnnamedText_51782
-	db $50
-; 0x51782 + 5 bytes
-
-UnnamedText_51787: ; 0x51787
-	TX_FAR _UnnamedText_51787
-	db $50
-; 0x51787 + 5 bytes
-
-Route25Text11: ; 0x5178c
-	TX_FAR _Route25Text11
-	db $50
-
-VictoryRoad2_h: ; 0x51791 to 0x5179d (12 bytes) (id=194)
-	db $11 ; tileset
-	db VICTORY_ROAD_2_HEIGHT, VICTORY_ROAD_2_WIDTH ; dimensions (y, x)
-	dw VictoryRoad2Blocks, VictoryRoad2Texts, VictoryRoad2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VictoryRoad2Object ; objects
-
-VictoryRoad2Script: ; 0x5179d
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, VictoryRoad2Script_Unknown517c4
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, $57c9
-	call $3c3c
-	ld hl, VictoryRoad2TrainerHeaders
-	ld de, $57eb
-	ld a, [$d63f]
-	call $3160
-	ld [$d63f], a
-	ret
-; 0x517c4
-
-VictoryRoad2Script_Unknown517c4: ; 0x517c4
-INCBIN "baserom.gbc",$517c4,$57
-
-VictoryRoad2Texts: ; 0x5181b
-	dw VictoryRoad2Text1, VictoryRoad2Text2, VictoryRoad2Text3, VictoryRoad2Text4, VictoryRoad2Text5, VictoryRoad2Text6, VictoryRoad2Text7, VictoryRoad2Text8, VictoryRoad2Text9, VictoryRoad2Text10, VictoryRoad2Text11, VictoryRoad2Text12, VictoryRoad2Text13
-
-VictoryRoad2TrainerHeaders:
-TrainerHeader_51835: ; 0x51835
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7ee ; flag's byte
-	dw UnnamedText_518ca ; 0x58ca TextBeforeBattle
-	dw UnnamedText_518d4 ; 0x58d4 TextAfterBattle
-	dw UnnamedText_518cf ; 0x58cf TextEndBattle
-	dw UnnamedText_518cf ; 0x58cf TextEndBattle
-; 0x51841
-
-TrainerHeader_51841: ; 0x51841
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7ee ; flag's byte
-	dw UnnamedText_518d9 ; 0x58d9 TextBeforeBattle
-	dw UnnamedText_518e3 ; 0x58e3 TextAfterBattle
-	dw UnnamedText_518de ; 0x58de TextEndBattle
-	dw UnnamedText_518de ; 0x58de TextEndBattle
-; 0x5184d
-
-TrainerHeader_5184d: ; 0x5184d
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7ee ; flag's byte
-	dw UnnamedText_518e8 ; 0x58e8 TextBeforeBattle
-	dw UnnamedText_518f2 ; 0x58f2 TextAfterBattle
-	dw UnnamedText_518ed ; 0x58ed TextEndBattle
-	dw UnnamedText_518ed ; 0x58ed TextEndBattle
-; 0x51859
-
-TrainerHeader_51859: ; 0x51859
-	db $4 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7ee ; flag's byte
-	dw UnnamedText_518f7 ; 0x58f7 TextBeforeBattle
-	dw UnnamedText_51901 ; 0x5901 TextAfterBattle
-	dw UnnamedText_518fc ; 0x58fc TextEndBattle
-	dw UnnamedText_518fc ; 0x58fc TextEndBattle
-; 0x51865
-
-TrainerHeader_51865: ; 0x51865
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7ee ; flag's byte
-	dw UnnamedText_51906 ; 0x5906 TextBeforeBattle
-	dw UnnamedText_51910 ; 0x5910 TextAfterBattle
-	dw UnnamedText_5190b ; 0x590b TextEndBattle
-	dw UnnamedText_5190b ; 0x590b TextEndBattle
-; 0x51871
-
-TrainerHeader_51871: ; 0x51871
-	db $6 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7ee ; flag's byte
-	dw UnnamedText_518ba ; 0x58ba TextBeforeBattle
-	dw UnnamedText_518ba ; 0x58ba TextAfterBattle
-	dw UnnamedText_518ba ; 0x58ba TextEndBattle
-	dw UnnamedText_518ba ; 0x58ba TextEndBattle
-; 0x5187d
-
-db $ff
-
-VictoryRoad2Text1: ; 0x5187e
-	db $08 ; asm
-	ld hl, TrainerHeader_51835
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad2Text2: ; 0x51888
-	db $08 ; asm
-	ld hl, TrainerHeader_51841
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad2Text3: ; 0x51892
-	db $08 ; asm
-	ld hl, TrainerHeader_5184d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad2Text4: ; 0x5189c
-	db $08 ; asm
-	ld hl, TrainerHeader_51859
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad2Text5: ; 0x518a6
-	db $08 ; asm
-	ld hl, TrainerHeader_51865
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad2Text6: ; 0x518b0
-	db $08 ; asm
-	ld hl, TrainerHeader_51871
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_518ba: ; 0x518ba
-	TX_FAR _UnnamedText_518ba ; 0x8d06e
-	db $8
-	ld a, $49
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-; 0x518ca
-
-UnnamedText_518ca: ; 0x518ca
-	TX_FAR _UnnamedText_518ca
-	db $50
-; 0x518ca + 5 bytes
-
-UnnamedText_518cf: ; 0x518cf
-	TX_FAR _UnnamedText_518cf
-	db $50
-; 0x518cf + 5 bytes
-
-UnnamedText_518d4: ; 0x518d4
-	TX_FAR _UnnamedText_518d4
-	db $50
-; 0x518d4 + 5 bytes
-
-UnnamedText_518d9: ; 0x518d9
-	TX_FAR _UnnamedText_518d9
-	db $50
-; 0x518d9 + 5 bytes
-
-UnnamedText_518de: ; 0x518de
-	TX_FAR _UnnamedText_518de
-	db $50
-; 0x518de + 5 bytes
-
-UnnamedText_518e3: ; 0x518e3
-	TX_FAR _UnnamedText_518e3
-	db $50
-; 0x518e3 + 5 bytes
-
-UnnamedText_518e8: ; 0x518e8
-	TX_FAR _UnnamedText_518e8
-	db $50
-; 0x518e8 + 5 bytes
-
-UnnamedText_518ed: ; 0x518ed
-	TX_FAR _UnnamedText_518ed
-	db $50
-; 0x518ed + 5 bytes
-
-UnnamedText_518f2: ; 0x518f2
-	TX_FAR _UnnamedText_518f2
-	db $50
-; 0x518f2 + 5 bytes
-
-UnnamedText_518f7: ; 0x518f7
-	TX_FAR _UnnamedText_518f7
-	db $50
-; 0x518f7 + 5 bytes
-
-UnnamedText_518fc: ; 0x518fc
-	TX_FAR _UnnamedText_518fc
-	db $50
-; 0x518fc + 5 bytes
-
-UnnamedText_51901: ; 0x51901
-	TX_FAR _UnnamedText_51901
-	db $50
-; 0x51901 + 5 bytes
-
-UnnamedText_51906: ; 0x51906
-	TX_FAR _UnnamedText_51906
-	db $50
-; 0x51906 + 5 bytes
-
-UnnamedText_5190b: ; 0x5190b
-	TX_FAR _UnnamedText_5190b
-	db $50
-; 0x5190b + 5 bytes
-
-UnnamedText_51910: ; 0x51910
-	TX_FAR _UnnamedText_51910
-	db $50
-; 0x51910 + 5 bytes
-
-VictoryRoad2Object: ; 0x51915 (size=154)
-	db $7d ; border tile
-
-	db $7 ; warps
-	db $8, $0, $2, VICTORY_ROAD_1
-	db $7, $1d, $3, $ff
-	db $8, $1d, $3, $ff
-	db $7, $17, $0, VICTORY_ROAD_3
-	db $e, $19, $2, VICTORY_ROAD_3
-	db $7, $1b, $1, VICTORY_ROAD_3
-	db $1, $1, $3, VICTORY_ROAD_3
-
-	db $0 ; signs
-
-	db $d ; people
-	db SPRITE_HIKER, $9 + 4, $c + 4, $ff, $d2, $41, BLACKBELT + $C8, $9 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $15 + 4, $ff, $d2, $42, JUGGLER + $C8, $2 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $8 + 4, $13 + 4, $ff, $d0, $43, TAMER + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $d0, $44, POKEMANIAC + $C8, $6 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $3 + 4, $1a + 4, $ff, $d2, $45, JUGGLER + $C8, $5 ; trainer
-	db SPRITE_BIRD, $5 + 4, $b + 4, $ff, $d1, $46, MOLTRES, $32 ; trainer
-	db SPRITE_BALL, $5 + 4, $1b + 4, $ff, $ff, $87, TM_17 ; item
-	db SPRITE_BALL, $9 + 4, $12 + 4, $ff, $ff, $88, FULL_HEAL ; item
-	db SPRITE_BALL, $b + 4, $9 + 4, $ff, $ff, $89, TM_05 ; item
-	db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $8a, GUARD_SPEC_ ; item
-	db SPRITE_BOULDER, $e + 4, $4 + 4, $ff, $10, $b ; person
-	db SPRITE_BOULDER, $5 + 4, $5 + 4, $ff, $10, $c ; person
-	db SPRITE_BOULDER, $10 + 4, $17 + 4, $ff, $10, $d ; person
-
-	; warp-to
-	EVENT_DISP $f, $8, $0 ; VICTORY_ROAD_1
-	EVENT_DISP $f, $7, $1d
-	EVENT_DISP $f, $8, $1d
-	EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_3
-	EVENT_DISP $f, $e, $19 ; VICTORY_ROAD_3
-	EVENT_DISP $f, $7, $1b ; VICTORY_ROAD_3
-	EVENT_DISP $f, $1, $1 ; VICTORY_ROAD_3
-
-VictoryRoad2Blocks: ; 0x519af 135
-	INCBIN "maps/victoryroad2.blk"
-
-MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60)
-	db $11 ; tileset
-	db MT_MOON_2_HEIGHT, MT_MOON_2_WIDTH ; dimensions (y, x)
-	dw MtMoon2Blocks, MtMoon2Texts, MtMoon2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw MtMoon2Object ; objects
-
-MtMoon2Script: ; 0x51a42
-	call $3c3c
-	ret
-; 0x51a46
-
-MtMoon2Texts:
-	dw MtMoonText1
-
-MtMoonText1: ; 0x51a48
-	TX_FAR _UnnamedText_51a48
-	db $50
-; 0x51a48 + 5 bytes
-
-MtMoon2Object: ; 0x51a4d (size=68)
-	db $3 ; border tile
-
-	db $8 ; warps
-	db $5, $5, $2, MT_MOON_1
-	db $b, $11, $0, MT_MOON_3
-	db $9, $19, $3, MT_MOON_1
-	db $f, $19, $4, MT_MOON_1
-	db $11, $15, $1, MT_MOON_3
-	db $1b, $d, $2, MT_MOON_3
-	db $3, $17, $3, MT_MOON_3
-	db $3, $1b, $2, $ff
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $e, $5, $5 ; MT_MOON_1
-	EVENT_DISP $e, $b, $11 ; MT_MOON_3
-	EVENT_DISP $e, $9, $19 ; MT_MOON_1
-	EVENT_DISP $e, $f, $19 ; MT_MOON_1
-	EVENT_DISP $e, $11, $15 ; MT_MOON_3
-	EVENT_DISP $e, $1b, $d ; MT_MOON_3
-	EVENT_DISP $e, $3, $17 ; MT_MOON_3
-	EVENT_DISP $e, $3, $1b
-
-MtMoon2Blocks: ; 0x51a91 196
-	INCBIN "maps/mtmoon2.blk"
-
-SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212)
-	db $16 ; tileset
-	db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x)
-	dw SilphCo7Blocks, SilphCo7Texts, SilphCo7Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo7Object ; objects
-
-SilphCo7Script: ; 0x51b61
-	call SilphCo7Script_Unknown51b77
-	call $3c3c
-	ld hl, SilphCo7TrainerHeaders
-	ld de, $5c17
-	ld a, [$d648]
-	call $3160
-	ld [$d648], a
-	ret
-; 0x51b77
-
-SilphCo7Script_Unknown51b77: ; 0x5177
-INCBIN "baserom.gbc",$51b77,$1c8
-
-SilphCo7Texts: ; 0x51d3f
-	dw SilphCo7Text1, SilphCo7Text2, SilphCo7Text3, SilphCo7Text4, SilphCo7Text5, SilphCo7Text6, SilphCo7Text7, SilphCo7Text8, SilphCo7Text9, SilphCo7Text10, SilphCo7Text11, SilphCo7Text12, SilphCo7Text13, SilphCo7Text14, SilphCo7Text15
-
-SilphCo7TrainerHeaders:
-TrainerHeader_51d5d: ; 0x51d5d
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d82f ; flag's byte
-	dw UnnamedText_51e5a ; 0x5e5a TextBeforeBattle
-	dw UnnamedText_51e64 ; 0x5e64 TextAfterBattle
-	dw UnnamedText_51e5f ; 0x5e5f TextEndBattle
-	dw UnnamedText_51e5f ; 0x5e5f TextEndBattle
-; 0x51d69
-
-TrainerHeader_51d69: ; 0x51d69
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d82f ; flag's byte
-	dw UnnamedText_51e73 ; 0x5e73 TextBeforeBattle
-	dw UnnamedText_51e7d ; 0x5e7d TextAfterBattle
-	dw UnnamedText_51e78 ; 0x5e78 TextEndBattle
-	dw UnnamedText_51e78 ; 0x5e78 TextEndBattle
-; 0x51d75
-
-TrainerHeader_51d75: ; 0x51d75
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d82f ; flag's byte
-	dw UnnamedText_51e8c ; 0x5e8c TextBeforeBattle
-	dw UnnamedText_51e96 ; 0x5e96 TextAfterBattle
-	dw UnnamedText_51e91 ; 0x5e91 TextEndBattle
-	dw UnnamedText_51e91 ; 0x5e91 TextEndBattle
-; 0x51d81
-
-TrainerHeader_51d81: ; 0x51d81
-	db $8 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d82f ; flag's byte
-	dw UnnamedText_51ea5 ; 0x5ea5 TextBeforeBattle
-	dw UnnamedText_51eaf ; 0x5eaf TextAfterBattle
-	dw UnnamedText_51eaa ; 0x5eaa TextEndBattle
-	dw UnnamedText_51eaa ; 0x5eaa TextEndBattle
-; 0x51d8d
-
-db $ff
-
-SilphCo7Text1: ; 0x51d8e
-	db $08 ; asm
-	ld a, [$d72e]
-	bit 0, a
-	jr z, .asm_d7e17 ; 0x51d94
-	ld a, [$d838]
-	bit 7, a
-	jr nz, .asm_688b4 ; 0x51d9b
-	ld hl, UnnamedText_51ddd
-	call PrintText
-	jr .asm_b3069 ; 0x51da3
-.asm_d7e17 ; 0x51da5
-	ld hl, UnnamedText_51dd3
-	call PrintText
-	ld bc, (LAPRAS << 8) | 15
-	call GivePokemon
-	jr nc, .asm_b3069 ; 0x51db1
-	ld a, [$ccd3]
-	and a
-	call z, $3865
-	call $3c3c
-	ld hl, UnnamedText_51dd8
-	call PrintText
-	ld hl, $d72e
-	set 0, [hl]
-	jr .asm_b3069 ; 0x51dc8
-.asm_688b4 ; 0x51dca
-	ld hl, UnnamedText_51de2
-	call PrintText
-.asm_b3069 ; 0x51dd0
-	jp TextScriptEnd
-
-UnnamedText_51dd3: ; 0x51dd3
-	TX_FAR _UnnamedText_51dd3
-	db $50
-; 0x51dd3 + 5 bytes
-
-UnnamedText_51dd8: ; 0x51dd8
-	TX_FAR _UnnamedText_51dd8
-	db $50
-; 0x51dd8 + 5 bytes
-
-UnnamedText_51ddd: ; 0x51ddd
-	TX_FAR _UnnamedText_51ddd
-	db $50
-; 0x51ddd + 5 bytes
-
-UnnamedText_51de2: ; 0x51de2
-	TX_FAR _UnnamedText_51de2
-	db $50
-; 0x51de2 + 5 bytes
-
-SilphCo7Text2: ; 0x51de7
-	db $8
-	ld a, [$d838]
-	bit 7, a
-	jr nz, .asm_892ce ; 0x51ded $8
-	ld hl, UnnamedText_51e00
-	call PrintText
-	jr .asm_e4d89 ; 0x51df5 $6
-.asm_892ce ; 0x51df7
-	ld hl, UnnamedText_51e05
-	call PrintText
-.asm_e4d89 ; 0x51dfd
-	jp TextScriptEnd
-; 0x51e00
-
-UnnamedText_51e00: ; 0x51e00
-	TX_FAR _UnnamedText_51e00
-	db $50
-; 0x51e00 + 5 bytes
-
-UnnamedText_51e05: ; 0x51e05
-	TX_FAR _UnnamedText_51e05
-	db $50
-; 0x51e05 + 5 bytes
-
-SilphCo7Text3: ; 0x51e0a
-	db $08 ; asm
-	ld a, [$d838]
-	bit 7, a
-	jr nz, .asm_254aa ; 0x51e10
-	ld hl, UnnamedText_51e23
-	call PrintText
-	jr .asm_6472b ; 0x51e18
-.asm_254aa ; 0x51e1a
-	ld hl, UnnamedText_51e28
-	call PrintText
-.asm_6472b ; 0x51e20
-	jp TextScriptEnd
-
-UnnamedText_51e23: ; 0x51e23
-	TX_FAR _UnnamedText_51e23
-	db $50
-; 0x51e23 + 5 bytes
-
-UnnamedText_51e28: ; 0x51e28
-	TX_FAR _UnnamedText_51e28
-	db $50
-; 0x51e28 + 5 bytes
-
-SilphCo7Text4: ; 0x51e2d
-	db $08 ; asm
-	ld a, [$d838]
-	bit 7, a
-	jr nz, .asm_0f7ee ; 0x51e33
-	ld hl, UnnamedText_51e46
-	call PrintText
-	jr .asm_27a32 ; 0x51e3b
-.asm_0f7ee ; 0x51e3d
-	ld hl, UnnamedText_51e4b
-	call PrintText
-.asm_27a32 ; 0x51e43
-	jp TextScriptEnd
-
-UnnamedText_51e46: ; 0x51e46
-	TX_FAR _UnnamedText_51e46
-	db $50
-; 0x51e46 + 5 bytes
-
-UnnamedText_51e4b: ; 0x51e4b
-	TX_FAR _UnnamedText_51e4b
-	db $50
-; 0x51e4b + 5 bytes
-
-SilphCo7Text5: ; 0x51e50
-	db $08 ; asm
-	ld hl, TrainerHeader_51d5d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_51e5a: ; 0x51e5a
-	TX_FAR _UnnamedText_51e5a
-	db $50
-; 0x51e5a + 5 bytes
-
-UnnamedText_51e5f: ; 0x51e5f
-	TX_FAR _UnnamedText_51e5f
-	db $50
-; 0x51e5f + 5 bytes
-
-UnnamedText_51e64: ; 0x51e64
-	TX_FAR _UnnamedText_51e64
-	db $50
-; 0x51e64 + 5 bytes
-
-SilphCo7Text6: ; 0x51e69
-	db $08 ; asm
-	ld hl, TrainerHeader_51d69
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_51e73: ; 0x51e73
-	TX_FAR _UnnamedText_51e73
-	db $50
-; 0x51e73 + 5 bytes
-
-UnnamedText_51e78: ; 0x51e78
-	TX_FAR _UnnamedText_51e78
-	db $50
-; 0x51e78 + 5 bytes
-
-UnnamedText_51e7d: ; 0x51e7d
-	TX_FAR _UnnamedText_51e7d
-	db $50
-; 0x51e7d + 5 bytes
-
-SilphCo7Text7: ; 0x51e82
-	db $08 ; asm
-	ld hl, TrainerHeader_51d75
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_51e8c: ; 0x51e8c
-	TX_FAR _UnnamedText_51e8c
-	db $50
-; 0x51e8c + 5 bytes
-
-UnnamedText_51e91: ; 0x51e91
-	TX_FAR _UnnamedText_51e91
-	db $50
-; 0x51e91 + 5 bytes
-
-UnnamedText_51e96: ; 0x51e96
-	TX_FAR _UnnamedText_51e96
-	db $50
-; 0x51e96 + 5 bytes
-
-SilphCo7Text8: ; 0x51e9b
-	db $08 ; asm
-	ld hl, TrainerHeader_51d81
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_51ea5: ; 0x51ea5
-	TX_FAR _UnnamedText_51ea5
-	db $50
-; 0x51ea5 + 5 bytes
-
-UnnamedText_51eaa: ; 0x51eaa
-	TX_FAR _UnnamedText_51eaa
-	db $50
-; 0x51eaa + 5 bytes
-
-UnnamedText_51eaf: ; 0x51eaf
-	TX_FAR _UnnamedText_51eaf
-	db $50
-; 0x51eaf + 5 bytes
-
-SilphCo7Text9: ; 0x51eb4
-	db $08 ; asm
-	ld hl, UnnamedText_51ebe
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_51ebe: ; 0x51ebe
-	TX_FAR _UnnamedText_51ebe
-	db $50
-; 0x51ebe + 5 bytes
-
-SilphCo7Text13: ; 0x51ec3
-	TX_FAR _UnnamedText_51ec3
-	db $50
-; 0x51ec3 + 5 bytes
-
-SilphCo7Text14: ; 0x51ec8
-	TX_FAR _UnnamedText_51ec8
-	db $50
-; 0x51ec8 + 5 bytes
-
-UnnamedText_51ecd: ; 0x51ecd
-	TX_FAR _UnnamedText_51ecd
-	db $50
-; 0x51ecd + 5 bytes
-
-SilphCo7Text15: ; 0x51ed2
-	TX_FAR _UnnamedText_51ed2
-	db $50
-; 0x51ed2 + 5 bytes
-
-SilphCo7Object: ; 0x51ed7 (size=128)
-	db $2e ; border tile
-
-	db $6 ; warps
-	db $0, $10, $1, SILPH_CO_8F
-	db $0, $16, $0, SILPH_CO_6F
-	db $0, $12, $0, SILPH_CO_ELEVATOR
-	db $7, $5, $3, SILPH_CO_11F
-	db $3, $5, $8, SILPH_CO_3F
-	db $f, $15, $3, SILPH_CO_5F
-
-	db $0 ; signs
-
-	db $b ; people
-	db SPRITE_LAPRAS_GIVER, $5 + 4, $1 + 4, $ff, $ff, $1 ; person
-	db SPRITE_LAPRAS_GIVER, $d + 4, $d + 4, $ff, $d1, $2 ; person
-	db SPRITE_LAPRAS_GIVER, $a + 4, $7 + 4, $ff, $ff, $3 ; person
-	db SPRITE_ERIKA, $8 + 4, $a + 4, $ff, $ff, $4 ; person
-	db SPRITE_ROCKET, $1 + 4, $d + 4, $ff, $d0, $45, ROCKET + $C8, $20 ; trainer
-	db SPRITE_OAK_AIDE, $d + 4, $2 + 4, $ff, $d0, $46, SCIENTIST + $C8, $8 ; trainer
-	db SPRITE_ROCKET, $2 + 4, $14 + 4, $ff, $d2, $47, ROCKET + $C8, $21 ; trainer
-	db SPRITE_ROCKET, $e + 4, $13 + 4, $ff, $d3, $48, ROCKET + $C8, $22 ; trainer
-	db SPRITE_BLUE, $7 + 4, $3 + 4, $ff, $d1, $9 ; person
-	db SPRITE_BALL, $9 + 4, $1 + 4, $ff, $ff, $8a, CALCIUM ; item
-	db SPRITE_BALL, $b + 4, $18 + 4, $ff, $ff, $8b, TM_03 ; item
-
-	; warp-to
-	EVENT_DISP $d, $0, $10 ; SILPH_CO_8F
-	EVENT_DISP $d, $0, $16 ; SILPH_CO_6F
-	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $d, $7, $5 ; SILPH_CO_11F
-	EVENT_DISP $d, $3, $5 ; SILPH_CO_3F
-	EVENT_DISP $d, $f, $15 ; SILPH_CO_5F
-
-SilphCo7Blocks: ; 0x51f57 117
-	INCBIN "maps/silphco7.blk"
-
-Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214)
-	db $16 ; tileset
-	db MANSION_2_HEIGHT, MANSION_2_WIDTH ; dimensions (y, x)
-	dw Mansion2Blocks, Mansion2Texts, Mansion2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Mansion2Object ; objects
-
-Mansion2Script:
-	call Mansion2Script_Unknown51fee
-	call $3c3c
-	ld hl, Mansion2TrainerHeaders
-	ld de, $6047
-	ld a, [$d63c]
-	call $3160
-	ld [$d63c], a
-	ret
-; 0x51fee
-
-Mansion2Script_Unknown51fee: ; 0x51fee
-INCBIN "baserom.gbc",$51fee,$5204d - $51fee
-
-Mansion2Texts: ; 0x5204d
-	dw Mansion2Text1, Mansion2Text2, Mansion2Text3, Mansion2Text4, Mansion2Text5
-
-Mansion2TrainerHeaders:
-Mansion2TrainerHeader1: ; 0x52057
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d847 ; flag's byte
-	dw UnnamedText_5206e ; 0x606e TextBeforeBattle
-	dw UnnamedText_52078 ; 0x6078 TextAfterBattle
-	dw UnnamedText_52073 ; 0x6073 TextEndBattle
-	dw UnnamedText_52073 ; 0x6073 TextEndBattle
-; 0x52063
-
-db $ff
-
-Mansion2Text1: ; 0x52064
-	db $08 ; asm
-	ld hl, Mansion2TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5206e: ; 0x5206e
-	TX_FAR _UnnamedText_5206e
-	db $50
-; 0x5206e + 5 bytes
-
-UnnamedText_52073: ; 0x52073
-	TX_FAR _UnnamedText_52073
-	db $50
-; 0x52073 + 5 bytes
-
-UnnamedText_52078: ; 0x52078
-	TX_FAR _UnnamedText_52078
-	db $50
-; 0x52078 + 5 bytes
-
-Mansion2Text3: ; 0x5207d
-	TX_FAR _Mansion2Text3
-	db $50
-
-Mansion2Text4: ; 0x52082
-	TX_FAR _Mansion2Text4
-	db $50
-
-Mansion3Text6:
-Mansion2Text5: ; 0x52087
-	db $8
-	ld hl, UnnamedText_520c2
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_520b9 ; 0x52095 $22
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, $d126
-	set 5, [hl]
-	ld hl, UnnamedText_520c7
-	call PrintText
-	ld a, $ad
-	call $23b1
-	ld hl, $d796
-	bit 0, [hl]
-	set 0, [hl]
-	jr z, .asm_520bf ; 0x520b3 $a
-	res 0, [hl]
-	jr .asm_520bf ; 0x520b7 $6
-.asm_520b9
-	ld hl, UnnamedText_520cc
-	call PrintText
-.asm_520bf
-	jp TextScriptEnd
-; 0x520c2
-
-UnnamedText_520c2: ; 0x520c2
-	TX_FAR _UnnamedText_520c2
-	db $50
-; 0x520c2 + 5 bytes
-
-UnnamedText_520c7: ; 0x520c7
-	TX_FAR _UnnamedText_520c7
-	db $50
-; 0x520c7 + 5 bytes
-
-UnnamedText_520cc: ; 0x520cc
-	TX_FAR _UnnamedText_520cc
-	db $50
-; 0x520cc + 5 bytes
-
-Mansion2Object: ; 0x520d1 (size=63)
-	db $1 ; border tile
-
-	db $4 ; warps
-	db $a, $5, $4, MANSION_1
-	db $a, $7, $0, MANSION_3
-	db $e, $19, $2, MANSION_3
-	db $1, $6, $1, MANSION_3
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $3 + 4, $fe, $2, $41, BURGLAR + $C8, $7 ; trainer
-	db SPRITE_BALL, $7 + 4, $1c + 4, $ff, $ff, $82, CALCIUM ; item
-	db SPRITE_BOOK_MAP_DEX, $2 + 4, $12 + 4, $ff, $ff, $3 ; person
-	db SPRITE_BOOK_MAP_DEX, $16 + 4, $3 + 4, $ff, $ff, $4 ; person
-
-	; warp-to
-	EVENT_DISP $f, $a, $5 ; MANSION_1
-	EVENT_DISP $f, $a, $7 ; MANSION_3
-	EVENT_DISP $f, $e, $19 ; MANSION_3
-	EVENT_DISP $f, $1, $6 ; MANSION_3
-
-Mansion2Blocks:
-	INCBIN "maps/mansion2.blk"
-
-Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215)
-	db $16 ; tileset
-	db MANSION_3_HEIGHT, MANSION_3_WIDTH ; dimensions (y, x)
-	dw Mansion3Blocks, Mansion3Texts, Mansion3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Mansion3Object ; objects
-
-Mansion3Script:
-	call Unnamed_52204
-	call $3c3c
-	ld hl, Mansion3TrainerHeader1
-	ld de, $6235
-	ld a, [$d63d]
-	call $3160
-	ld [$d63d], a
-	ret
-; 0x52204
-
-Unnamed_52204: ; 0x52204
-INCBIN "baserom.gbc",$52204,$5228a - $52204
-
-Mansion3Texts: ; 0x5228a
-	dw Mansion3Text1, Mansion3Text2, Mansion3Text3, Mansion3Text4, Mansion3Text5, Mansion3Text6
-
-Mansion3TrainerHeaders:
-Mansion3TrainerHeader1: ; 0x52296
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d849 ; flag's byte
-	dw UnnamedText_522c3 ; 0x62c3 TextBeforeBattle
-	dw UnnamedText_522cd ; 0x62cd TextAfterBattle
-	dw UnnamedText_522c8 ; 0x62c8 TextEndBattle
-	dw UnnamedText_522c8 ; 0x62c8 TextEndBattle
-; 0x522a2
-
-TrainerHeader_522a2: ; 0x522a2
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d849 ; flag's byte
-	dw UnnamedText_522d2 ; 0x62d2 TextBeforeBattle
-	dw UnnamedText_522dc ; 0x62dc TextAfterBattle
-	dw UnnamedText_522d7 ; 0x62d7 TextEndBattle
-	dw UnnamedText_522d7 ; 0x62d7 TextEndBattle
-; 0x522ae
-
-db $ff
-
-Mansion3Text1: ; 0x522af
-	db $08 ; asm
-	ld hl, Mansion3TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Mansion3Text2: ; 0x522b9
-	db $08 ; asm
-	ld hl, TrainerHeader_522a2
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_522c3: ; 0x522c3
-	TX_FAR _UnnamedText_522c3
-	db $50
-; 0x522c3 + 5 bytes
-
-UnnamedText_522c8: ; 0x522c8
-	TX_FAR _UnnamedText_522c8
-	db $50
-; 0x522c8 + 5 bytes
-
-UnnamedText_522cd: ; 0x522cd
-	TX_FAR _UnnamedText_522cd
-	db $50
-; 0x522cd + 5 bytes
-
-UnnamedText_522d2: ; 0x522d2
-	TX_FAR _UnnamedText_522d2
-	db $50
-; 0x522d2 + 5 bytes
-
-UnnamedText_522d7: ; 0x522d7
-	TX_FAR _UnnamedText_522d7
-	db $50
-; 0x522d7 + 5 bytes
-
-UnnamedText_522dc: ; 0x522dc
-	TX_FAR _UnnamedText_522dc
-	db $50
-; 0x522dc + 5 bytes
-
-Mansion3Text5: ; 0x522e1
-	TX_FAR _Mansion3Text5
-	db $50
-
-Mansion3Object: ; 0x522e6 (size=64)
-	db $1 ; border tile
-
-	db $3 ; warps
-	db $a, $7, $1, MANSION_2
-	db $1, $6, $3, MANSION_2
-	db $e, $19, $2, MANSION_2
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $5 + 4, $fe, $2, $41, BURGLAR + $C8, $8 ; trainer
-	db SPRITE_OAK_AIDE, $b + 4, $14 + 4, $ff, $d2, $42, SCIENTIST + $C8, $c ; trainer
-	db SPRITE_BALL, $10 + 4, $1 + 4, $ff, $ff, $83, MAX_POTION ; item
-	db SPRITE_BALL, $5 + 4, $19 + 4, $ff, $ff, $84, IRON ; item
-	db SPRITE_BOOK_MAP_DEX, $c + 4, $6 + 4, $ff, $ff, $5 ; person
-
-	; warp-to
-	EVENT_DISP $f, $a, $7 ; MANSION_2
-	EVENT_DISP $f, $1, $6 ; MANSION_2
-	EVENT_DISP $f, $e, $19 ; MANSION_2
-
-Mansion3Blocks:
-	INCBIN "maps/mansion3.blk"
-
-Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216)
-	db $16 ; tileset
-	db MANSION_4_HEIGHT, MANSION_4_WIDTH ; dimensions (y, x)
-	dw Mansion4Blocks, Mansion4Texts, Mansion4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Mansion4Object ; objects
-
-Mansion4Script: ; 0x523b9
-	call Unknown_523cf
-	call $3c3c
-	ld hl, Mansion4TrainerHeader1
-	ld de, $6430
-	ld a, [$d63e]
-	call $3160
-	ld [$d63e], a
-	ret
-; 0x523cf
-
-Unknown_523cf: ; 0x523cf
-INCBIN "baserom.gbc",$523cf,$52436 - $523cf
-
-Mansion4Texts: ; 0x52436
-INCBIN "baserom.gbc",$52436,$52448 - $52436
-
-Mansion4TrainerHeaders:
-Mansion4TrainerHeader1: ; 0x52448
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d84b ; flag's byte
-	dw UnnamedText_52475 ; 0x6475 TextBeforeBattle
-	dw UnnamedText_5247f ; 0x647f TextAfterBattle
-	dw UnnamedText_5247a ; 0x647a TextEndBattle
-	dw UnnamedText_5247a ; 0x647a TextEndBattle
-; 0x52454
-
-TrainerHeader_52454: ; 0x52454
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d84b ; flag's byte
-	dw UnnamedText_52484 ; 0x6484 TextBeforeBattle
-	dw Map03FlyWarp ; 0x648e TextAfterBattle
-	dw UnnamedText_52489 ; 0x6489 TextEndBattle
-	dw UnnamedText_52489 ; 0x6489 TextEndBattle
-; 0x52460
-
-db $ff
-
-Mansion4Text1: ; 0x52461
-	db $08 ; asm
-	ld hl, Mansion4TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Mansion4Text2: ; 0x5246b
-	db $08 ; asm
-	ld hl, TrainerHeader_52454
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_52475: ; 0x52475
-	TX_FAR _UnnamedText_52475
-	db $50
-; 0x52475 + 5 bytes
-
-UnnamedText_5247a: ; 0x5247a
-	TX_FAR _UnnamedText_5247a
-	db $50
-; 0x5247a + 5 bytes
-
-UnnamedText_5247f: ; 0x5247f
-	TX_FAR _UnnamedText_5247f
-	db $50
-; 0x5247f + 5 bytes
-
-UnnamedText_52484: ; 0x52484
-	TX_FAR _UnnamedText_52484
-	db $50
-; 0x52484 + 5 bytes
-
-UnnamedText_52489: ; 0x52489
-	TX_FAR _UnnamedText_52489
-	db $50
-; 0x52489 + 5 bytes
-
-UnnamedText_5248e: ; 0x5248e
-	TX_FAR _UnnamedText_5248e
-	db $50
-; 0x5248e + 5 bytes
-
-Mansion4Text7: ; 0x52493
-	TX_FAR _Mansion4Text7
-	db $50
-
-Mansion4Object: ; 0x52498 (size=69)
-	db $1 ; border tile
-
-	db $1 ; warps
-	db $16, $17, $5, MANSION_1
-
-	db $0 ; signs
-
-	db $8 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $17 + 4, $10 + 4, $ff, $ff, $41, BURGLAR + $C8, $9 ; trainer
-	db SPRITE_OAK_AIDE, $b + 4, $1b + 4, $ff, $d0, $42, SCIENTIST + $C8, $d ; trainer
-	db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $83, RARE_CANDY ; item
-	db SPRITE_BALL, $16 + 4, $1 + 4, $ff, $ff, $84, FULL_RESTORE ; item
-	db SPRITE_BALL, $19 + 4, $13 + 4, $ff, $ff, $85, TM_14 ; item
-	db SPRITE_BALL, $4 + 4, $5 + 4, $ff, $ff, $86, TM_22 ; item
-	db SPRITE_BOOK_MAP_DEX, $14 + 4, $10 + 4, $ff, $ff, $7 ; person
-	db SPRITE_BALL, $d + 4, $5 + 4, $ff, $ff, $88, SECRET_KEY ; item
-
-	; warp-to
-	EVENT_DISP $f, $16, $17 ; MANSION_1
-
-Mansion4Blocks:
-	INCBIN "maps/mansion4.blk"
-
-INCBIN "baserom.gbc",$525af,$526f3 - $525af
-
-UnnamedText_526f3: ; 0x526f3
-	TX_FAR _UnnamedText_526f3
-	db $50
-; 0x526f3 + 5 bytes
-
-UnnamedText_526f8: ; 0x526f8
-	TX_FAR _UnnamedText_526f8
-	db $50
-; 0x526f8 + 5 bytes
-
-INCBIN "baserom.gbc",$526fd,$1e
-
-CeladonPrizeMenu: ; 0x5271b 14:671B
-	ld b,COIN_CASE
-	call IsItemInBag
-	jr nz,.havingCoinCase\@
-	ld hl,RequireCoinCaseTextPtr
-	jp PrintText
-.havingCoinCase\@
-	ld hl,$D730
-	set 6,[hl]
-	ld hl,ExchangeCoinsForPrizesTextPtr
-	call PrintText
-; the following are the menu settings
-	xor a
-	ld [$CC26],a
-	ld [$CC2A],a
-	ld a,$03
-	ld [$CC29],a
-	ld a,$03
-	ld [$CC28],a
-	ld a,$04
-	ld [$CC24],a
-	ld a,$01
-	ld [$CC25],a
-	call PrintPrizePrice ; 687A
-	FuncCoord 0,2
-	ld hl,Coord
-	ld b,$08
-	ld c,$10
-	call TextBoxBorder
-	call GetPrizeMenuId ;678E
-	call $2429
-	ld hl,WhichPrizeTextPtr
-	call PrintText
-	call $3ABE ; menu choice handler
-	bit 1,a ; keypress = B (Cancel)
-	jr nz,.NoChoice\@
-	ld a,[$CC26]
-	cp a,$03 ; "NO,THANKS" choice
-	jr z,.NoChoice\@
-	call HandlePrizeChoice ; 14:68C6
-.NoChoice\@
-	ld hl,$D730
-	res 6,[hl]
-	ret
-
-RequireCoinCaseTextPtr: ; 14:677E
-	TX_FAR _RequireCoinCaseText ; 22:628E
-	db $0D
-	db "@"
-
-ExchangeCoinsForPrizesTextPtr: ; 14:6784
-	TX_FAR _ExchangeCoinsForPrizesText ; 22:62A9
-	db "@"
-
-WhichPrizeTextPtr: ; 14:6789
-	TX_FAR _WhichPrizeText ; 22:62CD
-	db "@"
-
-GetPrizeMenuId: ; 14:678E
-; determine which one among the three
-; prize-texts has been selected
-; using the text ID (stored in [$FF8C])
-; load the three prizes at $D13D-$D13F
-; load the three prices ar $D141-$D146
-; display the three prizes' names
-; (distinguishing between Pokemon names
-; and Items (specifically TMs) names)
-	ld a,[$FF8C]
-	sub a,$03       ; prize-texts' id are 3, 4 and 5
-	ld [$D12F],a    ; prize-texts' id (relative, i.e. 0, 1 or 2)
-	add a
-	add a
-	ld d,$00
-	ld e,a
-	ld hl,PrizeDifferentMenuPtrs
-	add hl,de
-	ld a,[hli]
-	ld d,[hl]
-	ld e,a
-	inc hl
-	push hl
-	ld hl,W_PRIZE1
-	call $3829      ; XXX what does this do
-	pop hl
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	ld de,$D141
-	ld bc,$0006
-	call CopyData
-	ld a,[$D12F]
-	cp a,$02        ;is TM_menu?
-	jr nz,.putMonName\@
-	ld a,[W_PRIZE1]
-	ld [$D11E],a
-	call GetItemName
-	FuncCoord 2,4
-	ld hl,Coord
-	call PlaceString
-	ld a,[W_PRIZE2]
-	ld [$D11E],a
-	call GetItemName
-	FuncCoord 2,6
-	ld hl,Coord
-	call PlaceString
-	ld a,[W_PRIZE3]
-	ld [$D11E],a
-	call GetItemName
-	FuncCoord 2,8
-	ld hl,Coord
-	call PlaceString
-	jr .putNoThanksText\@
-.putMonName\@ ; 14:67EC
-	ld a,[W_PRIZE1]
-	ld [$D11E],a
-	call GetMonName
-	FuncCoord 2,4
-	ld hl,Coord
-	call PlaceString
-	ld a,[W_PRIZE2]
-	ld [$D11E],a
-	call GetMonName
-	FuncCoord 2,6
-	ld hl,Coord
-	call PlaceString
-	ld a,[W_PRIZE3]
-	ld [$D11E],a
-	call GetMonName
-	FuncCoord 2,8
-	ld hl,Coord
-	call PlaceString
-.putNoThanksText\@ ; 14:6819
-	FuncCoord 2,10
-	ld hl,Coord
-	ld de,NoThanksText
-	call PlaceString
-; put prices on the right side of the textbox
-	ld de,$D141
-	FuncCoord 13,5
-	ld hl,Coord
-; reg. c:
-; [low nybble] number of bytes
-; [bit 765 = %100] space-padding (not zero-padding)
-	ld c,(1 << 7 | 2)
-; Function $15CD displays BCD value (same routine
-; used by text-command $02)
-	call $15CD ; Print_BCD
-	ld de,$D143
-	FuncCoord 13,7
-	ld hl,Coord
-	ld c,(%1 << 7 | 2)
-	call $15CD
-	ld de,$D145
-	FuncCoord 13,9
-	ld hl,Coord
-	ld c,(1 << 7 | 2)
-	jp $15CD
-
-PrizeDifferentMenuPtrs: ; 14:6843
-	dw PrizeMenuMon1Entries
-	dw PrizeMenuMon1Cost
-
-	dw PrizeMenuMon2Entries
-	dw PrizeMenuMon2Cost
-
-	dw PrizeMenuTMsEntries
-	dw PrizeMenuTMsCost
-
-NoThanksText: ; 14:684F
-	db "NO THANKS@"
-
-PrizeMenuMon1Entries: ; 14:6859
-	db ABRA
-	db CLEFAIRY
-IF _RED
-	db NIDORINA
-ENDC
-IF _BLUE
-	db NIDORINO
-ENDC
-	db "@"
-PrizeMenuMon1Cost: ; 14:685D
-IF _RED
-	db $01,$80
-	db $05,$00
-ENDC
-IF _BLUE
-	db $01,$20
-	db $07,$50
-ENDC
-	db $12,$00
-	db "@"
-
-PrizeMenuMon2Entries: ; 14:6864
-IF _RED
-	db DRATINI
-	db SCYTHER
-ENDC
-IF _BLUE
-	db PINSIR
-	db DRATINI
-ENDC
-	db PORYGON
-	db "@"
-PrizeMenuMon2Cost: ; 14:6868
-IF _RED
-	db $28,$00
-	db $55,$00
-	db $99,$99
-ENDC
-IF _BLUE
-	db $25,$00
-	db $46,$00
-	db $65,$00
-ENDC
-	db "@"
-
-PrizeMenuTMsEntries: ; 14:686F
-	db TM_23
-	db TM_15
-	db TM_50
-	db "@"
-PrizeMenuTMsCost: ; 14:6873
-	db $33,$00 ; 3300 Coins
-	db $55,$00 ; 5500 Coins
-	db $77,$00 ; 7700 Coins
-	db "@"
-
-PrintPrizePrice: ; 14:687A
-	FuncCoord 11,0
-	ld hl,Coord
-	ld b,$01
-	ld c,$07
-	call TextBoxBorder
-	call $2429      ; XXX save OAM?
-	FuncCoord 12,0
-	ld hl,Coord
-	ld de,.CoinText\@
-	call PlaceString
-	FuncCoord 13,1
-	ld hl,Coord
-	ld de,.SixSpacesText\@
-	call PlaceString
-	FuncCoord 13,1
-	ld hl,Coord
-	ld de,W_PLAYERCOINS1
-	ld c,%10000010
-	call $15CD
-	ret
-
-.CoinText\@ ; 14:68A5
-	db "COIN@"
-
-.SixSpacesText\@ ; 14:68AA
-	db "      @"
-
-LoadCoinsToSubtract: ; 14:68B1
-	ld a,[$D139] ; backup of selected menu_entry
-	add a
-	ld d,$00
-	ld e,a
-	ld hl,$D141 ; first prize's price
-	add hl,de ; get selected prize's price
-	xor a
-	ld [$FF9F],a
-	ld a,[hli]
-	ld [$FFA0],a
-	ld a,[hl]
-	ld [$FFA1],a
-	ret
-
-HandlePrizeChoice: ; 14:68C6
-	ld a,[$CC26] ; selected menu_entry
-	ld [$D139],a
-	ld d,$00
-	ld e,a
-	ld hl,W_PRIZE1
-	add hl,de
-	ld a,[hl]
-	ld [$D11E],a
-	ld a,[$D12F]
-	cp a,$02 ; is prize a TM?
-	jr nz,.GetMonName\@
-	call GetItemName
-	jr .GivePrize\@
-.GetMonName\@ ; 14:68E3
-	call GetMonName
-.GivePrize\@ ; 14:68E6
-	ld hl,SoYouWantPrizeTextPtr
-	call PrintText
-	call $35EC ; yes/no textbox
-	ld a,[$CC26] ; yes/no answer (Y=0, N=1)
-	and a
-	jr nz,.PrintOhFineThen\@
-	call LoadCoinsToSubtract
-	call $35B1 ; subtract COINs from COIN_CASE
-	jr c,.NotEnoughCoins\@
-	ld a,[$D12F]
-	cp a,$02
-	jr nz,.GiveMon\@
-	ld a,[$D11E]
-	ld b,a
-	ld a,$01
-	ld c,a
-	call $3E2E ; GiveItem
-	jr nc,.BagIsFull\@
-	jr .SubtractCoins\@
-.GiveMon\@ ; 14:6912
-	ld a,[$D11E]
-	ld [$CF91],a
-	push af
-	call GetPrizeMonLevel ; 14:6977
-	ld c,a
-	pop af
-	ld b,a
-	call GivePokemon
-	push af
-	ld a,[$CCD3] ; XXX is there room?
-	and a
-	call z,$3865
-	pop af
-	ret nc
-.SubtractCoins\@ ; 14:692C
-	call LoadCoinsToSubtract
-	ld hl,$FFA1
-	ld de,W_PLAYERCOINS2
-	ld c,$02 ; how many bytes
-	ld a,$0C
-	call Predef ; subtract coins (BCD daa operations)
-	jp PrintPrizePrice
-.BagIsFull\@ ; 14:693F
-	ld hl,PrizeRoomBagIsFullTextPtr
-	jp PrintText
-.NotEnoughCoins\@ ; 14:6945
-	ld hl,SorryNeedMoreCoinsTextPtr
-	jp PrintText
-.PrintOhFineThen\@ ; 14:694B
-	ld hl,OhFineThenTextPtr
-	jp PrintText
-
-UnknownData52951: ; 14:6951
-; XXX what's this?
-	db $00,$01,$00,$01,$00,$01,$00,$00,$01
-
-HereYouGoTextPtr:
-	TX_FAR _HereYouGoText ; 22:62E7
-	db $0D
-	db "@"
-
-SoYouWantPrizeTextPtr: ; 14:6960
-	TX_FAR _SoYouWantPrizeText ; 22:62F6
-	db "@"
-
-SorryNeedMoreCoinsTextPtr: ; 14:6965
-	TX_FAR _SorryNeedMoreCoins ; 22:630B
-	db $0D
-	db "@"
-
-PrizeRoomBagIsFullTextPtr: ; 14:696B
-	TX_FAR _OopsYouDontHaveEnoughRoomText ; 22:6329
-	db $0D
-	db "@"
-
-OhFineThenTextPtr: ; 14:6971
-	TX_FAR _OhFineThenText; 22:634C
-	db $0D ; wait keypress (A/B) without blink
-	db "@"
-
-GetPrizeMonLevel: ; 14:6977
-	ld a,[$CF91]
-	ld b,a
-	ld hl,PrizeMonLevelDictionary
-.loop\@ ; 14:697E
-	ld a,[hli]
-	cp b
-	jr z,.matchFound\@
-	inc hl
-	jr .loop\@
-.matchFound\@ ; 14:6985
-	ld a,[hl]
-	ld [$D127],a
-	ret
-
-PrizeMonLevelDictionary: ; 14:698A
-IF _RED
-	db ABRA,9
-	db CLEFAIRY,8
-	db NIDORINA,17
-
-	db DRATINI,18
-	db SCYTHER,25
-	db PORYGON,26
-ENDC
-IF _BLUE
-	db ABRA,6
-	db CLEFAIRY,12
-	db NIDORINO,17
-
-	db PINSIR,20
-	db DRATINI,24
-	db PORYGON,18
-ENDC
-
-INCBIN "baserom.gbc",$52996,$529e9 - $52996
-
-UnnamedText_529e9: ; 0x529e9
-	TX_FAR _UnnamedText_529e9
-	db $50
-; 0x529e9 + 5 bytes
-
-INCBIN "baserom.gbc",$529ee,$529f4 - $529ee
-
-UnnamedText_529f4: ; 0x529f4
-	TX_FAR _UnnamedText_529f4
-	db $50
-; 0x529f4 + 5 bytes
-
-UnnamedText_529f9: ; 0x529f9
-	TX_FAR _UnnamedText_529f9
-	db $50
-; 0x529f9 + 5 bytes
-
-UnnamedText_529fe: ; 0x529fe
-	TX_FAR _UnnamedText_529fe
-	db $50
-; 0x529fe + 5 bytes
-
-UnnamedText_52a03: ; 0x52a03
-	TX_FAR _UnnamedText_52a03
-	db $50
-; 0x52a03 + 5 bytes
-
-INCBIN "baserom.gbc",$52a08,$52a10 - $52a08
-
-UnnamedText_52a10: ; 0x52a10
-	TX_FAR _UnnamedText_52a10
-	db $50
-; 0x52a10 + 5 bytes
-
-INCBIN "baserom.gbc",$52a15,$52a1d - $52a15
-
-UnnamedText_52a1d: ; 0x52a1d
-	TX_FAR _UnnamedText_52a1d
-	db $50
-; 0x52a1d + 5 bytes
-
-INCBIN "baserom.gbc",$52a22,$52a2a - $52a22
-
-UnnamedText_52a2a: ; 0x52a2a
-	TX_FAR _UnnamedText_52a2a
-	db $50
-; 0x52a2a + 5 bytes
-
-INCBIN "baserom.gbc",$52a2f,$52a3d - $52a2f
-
-UnnamedText_52a3d: ; 0x52a3d
-	TX_FAR _UnnamedText_52a3d
-	db $50
-; 0x52a3d + 5 bytes
-
-INCBIN "baserom.gbc",$52a42,$15be
-
-SECTION "bank15",DATA,BANK[$15]
-
-Route2_h:
-	db 00 ; Tileset
-	db ROUTE_2_HEIGHT,ROUTE_2_WIDTH ;Height,Width blocks (1 block = 4x4 tiles)
-	dw Route2Blocks ;Map-Pointer
-	dw Route2Texts ;Maps text pointer
-	dw Route2Script ;Maps script pointer
-	db NORTH | SOUTH ;Connection Byte
-
-	;Connection data
-	db PEWTER_CITY ;Map
-	dw $4714 ;y, x Strip Starting Point
-	dw $C6E8 ;Strip X-Offset to current map
-	db 16 ;"Bigness" (Unsure) ;Something to do with MapData
-	db 20 ;"Map Width" (Unsure) ;Something to do with TileSet
-	db 35 ;Player's new Y-Coordinates
-	db 10 ;Player's new X-Coordinates
-	dw $C8BD ;New UL Block Pos (Window)
-
-	db VIRIDIAN_CITY ;Map
-	dw $43EE ;y, x Strip Starting Point
-	dw $C958 ;Strip X-Offset to current map
-	db 16 ;"Bigness" (Unsure) ;Something to do with MapData
-	db 20 ;"Map Width" (Unsure) ;Something to do with TileSet
-	db 0 ;Player's new Y-Coordinates
-	db 10 ;Player's new X-Coordinates
-	dw $C703 ;New UL Block Pos (Window)
-
-	dw Route2Object ;Object Data Pointer
-
-Route2Object: ; 0x54022 (size=72)
-	db $f ; border tile
-
-	db $6 ; warps
-	db $9, $c, $0, DIGLETTS_CAVE_EXIT
-	db $b, $3, $1, VIRIDIAN_FOREST_EXIT
-	db $13, $f, $0, ROUTE_2_HOUSE
-	db $23, $10, $1, ROUTE_2_GATE
-	db $27, $f, $2, ROUTE_2_GATE
-	db $2b, $3, $2, VIRIDIAN_FOREST_ENTRANCE
-
-	db $2 ; signs
-	db $41, $5, $3 ; Route2Text3
-	db $b, $b, $4 ; Route2Text4
-
-	db $2 ; people
-	db SPRITE_BALL, $36 + 4, $d + 4, $ff, $ff, $81, MOON_STONE ; item
-	db SPRITE_BALL, $2d + 4, $d + 4, $ff, $ff, $82, HP_UP ; item
-
-	; warp-to
-	EVENT_DISP $a, $9, $c ; DIGLETTS_CAVE_EXIT
-	EVENT_DISP $a, $b, $3 ; VIRIDIAN_FOREST_EXIT
-	EVENT_DISP $a, $13, $f ; ROUTE_2_HOUSE
-	EVENT_DISP $a, $23, $10 ; ROUTE_2_GATE
-	EVENT_DISP $a, $27, $f ; ROUTE_2_GATE
-	EVENT_DISP $a, $2b, $3 ; VIRIDIAN_FOREST_ENTRANCE
-
-INCBIN "baserom.gbc",$5406a,$14
-
-Route2Blocks: ; 0x5407e 360
-	INCBIN "maps/route2.blk"
-
-Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14)
-	db $00 ; tileset
-	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x)
-	dw Route3Blocks, Route3Texts, Route3Script ; blocks, texts, scripts
-	db NORTH | WEST ; connections
-
-	; connections data
-
-	db ROUTE_4
-	dw Route4Blocks + (ROUTE_4_HEIGHT - 3) * ROUTE_4_WIDTH ; connection strip location
-	dw $C6EB + 25 ; current map position
-	db $d, ROUTE_4_WIDTH ; bigness, width
-	db (ROUTE_4_HEIGHT * 2) - 1, (25 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_4_HEIGHT * (ROUTE_4_WIDTH + 6) ; window
-
-	db PEWTER_CITY
-	dw PewterCityBlocks - 3 + (PEWTER_CITY_WIDTH * 2) ; connection strip location
-	dw $C6E8 + (ROUTE_3_WIDTH + 6) * (-3 + 3) ; current map position
-	db $f, PEWTER_CITY_WIDTH ; bigness, width
-	db (-4 * -2), (PEWTER_CITY_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * PEWTER_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route3Object ; objects
-
-Route3Object: ; 0x54208 (size=77)
-	db $2c ; border tile
-
-	db $0 ; warps
-
-	db $1 ; signs
-	db $9, $3b, $a ; Route3Text10
-
-	db $9 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $39 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BUG_CATCHER, $6 + 4, $a + 4, $ff, $d3, $42, BUG_CATCHER + $C8, $4 ; trainer
-	db SPRITE_BUG_CATCHER, $4 + 4, $e + 4, $ff, $d0, $43, YOUNGSTER + $C8, $1 ; trainer
-	db SPRITE_LASS, $9 + 4, $10 + 4, $ff, $d2, $44, LASS + $C8, $1 ; trainer
-	db SPRITE_BUG_CATCHER, $5 + 4, $13 + 4, $ff, $d0, $45, BUG_CATCHER + $C8, $5 ; trainer
-	db SPRITE_LASS, $4 + 4, $17 + 4, $ff, $d2, $46, LASS + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $9 + 4, $16 + 4, $ff, $d2, $47, YOUNGSTER + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $6 + 4, $18 + 4, $ff, $d3, $48, BUG_CATCHER + $C8, $6 ; trainer
-	db SPRITE_LASS, $a + 4, $21 + 4, $ff, $d1, $49, LASS + $C8, $3 ; trainer
-
-Route3Blocks: ; 0x54255 315
-	INCBIN "maps/route3.blk"
-
-Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15)
-	db $00 ; tileset
-	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x)
-	dw Route4Blocks, Route4Texts, Route4Script; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_3
-	dw Route3Blocks + 22 ; connection strip location
-	dw $C6EB + (ROUTE_4_HEIGHT + 3) * (ROUTE_4_WIDTH + 6) + -3 ; current map position
-	db $d, ROUTE_3_WIDTH ; bigness, width
-	db 0, (-25 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_3_WIDTH ; window
-
-	db CERULEAN_CITY
-	dw CeruleanCityBlocks + (CERULEAN_CITY_WIDTH) ; connection strip location
-	dw $C6E5 + (ROUTE_4_WIDTH + 6) * (-3 + 4) ; current map position
-	db $f, CERULEAN_CITY_WIDTH ; bigness, width
-	db (-4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + CERULEAN_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route4Object ; objects
-
-Route4Object: ; 0x543b2 (size=58)
-	db $2c ; border tile
-
-	db $3 ; warps
-	db $5, $b, $0, MT_MOON_POKECENTER
-	db $5, $12, $0, MT_MOON_1
-	db $5, $18, $7, MT_MOON_2
-
-	db $3 ; signs
-	db $5, $c, $4 ; Route4Text4
-	db $7, $11, $5 ; Route4Text5
-	db $7, $1b, $6 ; Route4Text6
-
-	db $3 ; people
-	db SPRITE_LASS, $8 + 4, $9 + 4, $fe, $0, $1 ; person
-	db SPRITE_LASS, $3 + 4, $3f + 4, $ff, $d3, $42, LASS + $C8, $4 ; trainer
-	db SPRITE_BALL, $3 + 4, $39 + 4, $ff, $ff, $83, TM_04 ; item
-
-	; warp-to
-	EVENT_DISP $2d, $5, $b ; MT_MOON_POKECENTER
-	EVENT_DISP $2d, $5, $12 ; MT_MOON_1
-	EVENT_DISP $2d, $5, $18 ; MT_MOON_2
-
-Route4Blocks: ; 0x543ec 405
-	INCBIN "maps/route4.blk"
-
-Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16)
-	db $00 ; tileset
-	db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x)
-	dw Route5Blocks, Route5Texts, Route5Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-
-	; connections data
-
-	db CERULEAN_CITY
-	dw CeruleanCityBlocks + (CERULEAN_CITY_HEIGHT - 3) * CERULEAN_CITY_WIDTH + 2 ; connection strip location
-	dw $C6EB + -3 ; current map position
-	db $10, CERULEAN_CITY_WIDTH ; bigness, width
-	db (CERULEAN_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x)
-	dw $C6E9 + CERULEAN_CITY_HEIGHT * (CERULEAN_CITY_WIDTH + 6) ; window
-
-	db SAFFRON_CITY
-	dw SaffronCityBlocks + 2 ; connection strip location
-	dw $C6EB + (ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6) + -3 ; current map position
-	db $10, SAFFRON_CITY_WIDTH ; bigness, width
-	db 0, (-5 * -2) ; alignments (y, x)
-	dw $C6EF + SAFFRON_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route5Object ; objects
-
-Route5Object: ; 0x545a3 (size=47)
-	db $a ; border tile
-
-	db $5 ; warps
-	db $1d, $a, $3, ROUTE_5_GATE
-	db $1d, $9, $2, ROUTE_5_GATE
-	db $21, $a, $0, ROUTE_5_GATE
-	db $1b, $11, $0, PATH_ENTRANCE_ROUTE_5
-	db $15, $a, $0, DAYCAREM
-
-	db $1 ; signs
-	db $1d, $11, $1 ; Route5Text1
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $a, $1d, $a ; ROUTE_5_GATE
-	EVENT_DISP $a, $1d, $9 ; ROUTE_5_GATE
-	EVENT_DISP $a, $21, $a ; ROUTE_5_GATE
-	EVENT_DISP $a, $1b, $11 ; PATH_ENTRANCE_ROUTE_5
-	EVENT_DISP $a, $15, $a ; DAYCAREM
-
-Route5Blocks: ; 0x545d2 180
-	INCBIN "maps/route5.blk"
-
-Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20)
-	db $00 ; tileset
-	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x)
-	dw Route9Blocks, Route9Texts, Route9Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db CERULEAN_CITY
-	dw CeruleanCityBlocks - 3 + (CERULEAN_CITY_WIDTH * 2) ; connection strip location
-	dw $C6E8 + (ROUTE_9_WIDTH + 6) * (-3 + 3) ; current map position
-	db $f, CERULEAN_CITY_WIDTH ; bigness, width
-	db (-4 * -2), (CERULEAN_CITY_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * CERULEAN_CITY_WIDTH ; window
-
-	db ROUTE_10
-	dw Route10Blocks + (ROUTE_10_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (ROUTE_9_WIDTH + 6) * (0 + 4) ; current map position
-	db $c, ROUTE_10_WIDTH ; bigness, width
-	db (0 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_10_WIDTH ; window
-
-	; end connections data
-
-	dw Route9Object ; objects
-
-Route9Object: ; 0x546a8 (size=86)
-	db $2c ; border tile
-
-	db $0 ; warps
-
-	db $1 ; signs
-	db $7, $19, $b ; Route9Text11
-
-	db $a ; people
-	db SPRITE_LASS, $a + 4, $d + 4, $ff, $d2, $41, JR__TRAINER_F + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $18 + 4, $ff, $d2, $42, JR__TRAINER_M + $C8, $7 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $1f + 4, $ff, $d3, $43, JR__TRAINER_M + $C8, $8 ; trainer
-	db SPRITE_LASS, $8 + 4, $30 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $6 ; trainer
-	db SPRITE_HIKER, $f + 4, $10 + 4, $ff, $d2, $45, HIKER + $C8, $b ; trainer
-	db SPRITE_HIKER, $3 + 4, $2b + 4, $ff, $d2, $46, HIKER + $C8, $6 ; trainer
-	db SPRITE_BUG_CATCHER, $2 + 4, $16 + 4, $ff, $d0, $47, BUG_CATCHER + $C8, $d ; trainer
-	db SPRITE_HIKER, $f + 4, $2d + 4, $ff, $d3, $48, HIKER + $C8, $5 ; trainer
-	db SPRITE_BUG_CATCHER, $8 + 4, $28 + 4, $ff, $d3, $49, BUG_CATCHER + $C8, $e ; trainer
-	db SPRITE_BALL, $f + 4, $a + 4, $ff, $ff, $8a, TM_30 ; item
-
-Route9Blocks: ; 0x546fe 270
-	INCBIN "maps/route9.blk"
-
-Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24)
-	db $00 ; tileset
-	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x)
-	dw Route13Blocks, Route13Texts, Route13Script ; blocks, texts, scripts
-	db NORTH | WEST ; connections
-
-	; connections data
-
-	db ROUTE_12
-	dw Route12Blocks + (ROUTE_12_HEIGHT - 3) * ROUTE_12_WIDTH ; connection strip location
-	dw $C6EB + 20 ; current map position
-	db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width
-	db (ROUTE_12_HEIGHT * 2) - 1, (20 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_12_HEIGHT * (ROUTE_12_WIDTH + 6) ; window
-
-	db ROUTE_14
-	dw Route14Blocks - 3 + (ROUTE_14_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_13_WIDTH + 6) * (0 + 3) ; current map position
-	db $c, ROUTE_14_WIDTH ; bigness, width
-	db (0 * -2), (ROUTE_14_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_14_WIDTH ; window
-
-	; end connections data
-
-	dw Route13Object ; objects
-
-Route13Object: ; 0x5482e (size=93)
-	db $43 ; border tile
-
-	db $0 ; warps
-
-	db $3 ; signs
-	db $d, $f, $b ; Route13Text11
-	db $5, $21, $c ; Route13Text12
-	db $b, $1f, $d ; Route13Text13
-
-	db $a ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $31 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $1 ; trainer
-	db SPRITE_LASS, $a + 4, $30 + 4, $ff, $d0, $42, JR__TRAINER_F + $C8, $c ; trainer
-	db SPRITE_LASS, $9 + 4, $1b + 4, $ff, $d0, $43, JR__TRAINER_F + $C8, $d ; trainer
-	db SPRITE_LASS, $a + 4, $17 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $e ; trainer
-	db SPRITE_LASS, $5 + 4, $32 + 4, $ff, $d0, $45, JR__TRAINER_F + $C8, $f ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $c + 4, $ff, $d3, $46, BIRD_KEEPER + $C8, $2 ; trainer
-	db SPRITE_FOULARD_WOMAN, $6 + 4, $21 + 4, $ff, $d0, $47, BEAUTY + $C8, $4 ; trainer
-	db SPRITE_FOULARD_WOMAN, $6 + 4, $20 + 4, $ff, $d0, $48, BEAUTY + $C8, $5 ; trainer
-	db SPRITE_BIKER, $7 + 4, $a + 4, $ff, $d1, $49, BIKER + $C8, $1 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $7 + 4, $ff, $d1, $4a, BIRD_KEEPER + $C8, $3 ; trainer
-
-Route13Blocks: ; 0x5488b 270
-	INCBIN "maps/route13.blk"
-
-Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25)
-	db $00 ; tileset
-	db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x)
-	dw Route14Blocks, Route14Texts, Route14Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db ROUTE_15
-	dw Route15Blocks - 3 + (ROUTE_15_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_14_WIDTH + 6) * (18 + 3) ; current map position
-	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width
-	db (18 * -2), (ROUTE_15_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_15_WIDTH ; window
-
-	db ROUTE_13
-	dw Route13Blocks + (ROUTE_13_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (ROUTE_14_WIDTH + 6) * (0 + 4) ; current map position
-	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; bigness, width
-	db (0 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_13_WIDTH ; window
-
-	; end connections data
-
-	dw Route14Object ; objects
-
-Route14Object: ; 0x549bb (size=87)
-	db $43 ; border tile
-
-	db $0 ; warps
-
-	db $1 ; signs
-	db $d, $11, $b ; Route14Text11
-
-	db $a ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $4 + 4, $ff, $d0, $41, BIRD_KEEPER + $C8, $e ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $f + 4, $ff, $d0, $42, BIRD_KEEPER + $C8, $f ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $c + 4, $ff, $d0, $43, BIRD_KEEPER + $C8, $10 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $e + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $11 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $f + 4, $ff, $d2, $45, BIRD_KEEPER + $C8, $4 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $31 + 4, $6 + 4, $ff, $d1, $46, BIRD_KEEPER + $C8, $5 ; trainer
-	db SPRITE_BIKER, $27 + 4, $5 + 4, $ff, $d0, $47, BIKER + $C8, $d ; trainer
-	db SPRITE_BIKER, $1e + 4, $4 + 4, $ff, $d3, $48, BIKER + $C8, $e ; trainer
-	db SPRITE_BIKER, $1e + 4, $f + 4, $ff, $d2, $49, BIKER + $C8, $f ; trainer
-	db SPRITE_BIKER, $1f + 4, $4 + 4, $ff, $d3, $4a, BIKER + $C8, $2 ; trainer
-
-Route14Blocks: ; 0x54a12 270
-	INCBIN "maps/route14.blk"
-
-Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28)
-	db $00 ; tileset
-	db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x)
-	dw Route17Blocks, Route17Texts, Route17Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-
-	; connections data
-
-	db ROUTE_16
-	dw Route16Blocks + (ROUTE_16_HEIGHT - 3) * ROUTE_16_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db $d, ROUTE_16_WIDTH ; bigness, width
-	db (ROUTE_16_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_16_HEIGHT * (ROUTE_16_WIDTH + 6) ; window
-
-	db ROUTE_18
-	dw Route18Blocks ; connection strip location
-	dw $C6EB + (ROUTE_17_HEIGHT + 3) * (ROUTE_17_WIDTH + 6) + 0 ; current map position
-	db $d, ROUTE_18_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_18_WIDTH ; window
-
-	; end connections data
-
-	dw Route17Object ; objects
-
-Route17Object: ; 0x54b42 (size=102)
-	db $43 ; border tile
-
-	db $0 ; warps
-
-	db $6 ; signs
-	db $33, $9, $b ; Route17Text11
-	db $3f, $9, $c ; Route17Text12
-	db $4b, $9, $d ; Route17Text13
-	db $57, $9, $e ; Route17Text14
-	db $6f, $9, $f ; Route17Text15
-	db $8d, $9, $10 ; Route17Text16
-
-	db $a ; people
-	db SPRITE_BIKER, $13 + 4, $c + 4, $ff, $d2, $41, CUE_BALL + $C8, $4 ; trainer
-	db SPRITE_BIKER, $10 + 4, $b + 4, $ff, $d3, $42, CUE_BALL + $C8, $5 ; trainer
-	db SPRITE_BIKER, $12 + 4, $4 + 4, $ff, $d1, $43, BIKER + $C8, $8 ; trainer
-	db SPRITE_BIKER, $20 + 4, $7 + 4, $ff, $d2, $44, BIKER + $C8, $9 ; trainer
-	db SPRITE_BIKER, $22 + 4, $e + 4, $ff, $d3, $45, BIKER + $C8, $a ; trainer
-	db SPRITE_BIKER, $3a + 4, $11 + 4, $ff, $d2, $46, CUE_BALL + $C8, $6 ; trainer
-	db SPRITE_BIKER, $44 + 4, $2 + 4, $ff, $d3, $47, CUE_BALL + $C8, $7 ; trainer
-	db SPRITE_BIKER, $62 + 4, $e + 4, $ff, $d3, $48, CUE_BALL + $C8, $8 ; trainer
-	db SPRITE_BIKER, $62 + 4, $5 + 4, $ff, $d2, $49, BIKER + $C8, $b ; trainer
-	db SPRITE_BIKER, $76 + 4, $a + 4, $ff, $d0, $4a, BIKER + $C8, $c ; trainer
-
-Route17Blocks: ; 0x54ba8 720
-	INCBIN "maps/route17.blk"
-
-Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30)
-	db $00 ; tileset
-	db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x)
-	dw Route19Blocks, Route19Texts, Route19Script ; blocks, texts, scripts
-	db NORTH | WEST ; connections
-
-	; connections data
-
-	db FUCHSIA_CITY
-	dw FuchsiaCityBlocks + (FUCHSIA_CITY_HEIGHT - 3) * FUCHSIA_CITY_WIDTH + 2 ; connection strip location
-	dw $C6EB + -3 ; current map position
-	db $10, FUCHSIA_CITY_WIDTH ; bigness, width
-	db (FUCHSIA_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x)
-	dw $C6E9 + FUCHSIA_CITY_HEIGHT * (FUCHSIA_CITY_WIDTH + 6) ; window
-
-	db ROUTE_20
-	dw Route20Blocks - 3 + (ROUTE_20_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_19_WIDTH + 6) * (18 + 3) ; current map position
-	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width
-	db (18 * -2), (ROUTE_20_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_20_WIDTH ; window
-
-	; end connections data
-
-	dw Route19Object ; objects
-
-Route19Object: ; 0x54e9a (size=87)
-	db $43 ; border tile
-
-	db $0 ; warps
-
-	db $1 ; signs
-	db $9, $b, $b ; Route19Text11
-
-	db $a ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $8 + 4, $ff, $d2, $41, SWIMMER + $C8, $2 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $d + 4, $ff, $d2, $42, SWIMMER + $C8, $3 ; trainer
-	db SPRITE_SWIMMER, $19 + 4, $d + 4, $ff, $d2, $43, SWIMMER + $C8, $4 ; trainer
-	db SPRITE_SWIMMER, $1b + 4, $4 + 4, $ff, $d3, $44, SWIMMER + $C8, $5 ; trainer
-	db SPRITE_SWIMMER, $1f + 4, $10 + 4, $ff, $d1, $45, SWIMMER + $C8, $6 ; trainer
-	db SPRITE_SWIMMER, $b + 4, $9 + 4, $ff, $d0, $46, SWIMMER + $C8, $7 ; trainer
-	db SPRITE_SWIMMER, $2b + 4, $8 + 4, $ff, $d2, $47, BEAUTY + $C8, $c ; trainer
-	db SPRITE_SWIMMER, $2b + 4, $b + 4, $ff, $d3, $48, BEAUTY + $C8, $d ; trainer
-	db SPRITE_SWIMMER, $2a + 4, $9 + 4, $ff, $d1, $49, SWIMMER + $C8, $8 ; trainer
-	db SPRITE_SWIMMER, $2c + 4, $a + 4, $ff, $d0, $4a, BEAUTY + $C8, $e ; trainer
-
-Route19Blocks: ; 0x54ef1 270
-	INCBIN "maps/route19.blk"
-
-Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32)
-	db $00 ; tileset
-	db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x)
-	dw Route21Blocks, Route21Texts, Route21Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-
-	; connections data
-
-	db PALLET_TOWN
-	dw PalletTownBlocks + (PALLET_TOWN_HEIGHT - 3) * PALLET_TOWN_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db PALLET_TOWN_WIDTH, PALLET_TOWN_WIDTH ; bigness, width
-	db (PALLET_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + PALLET_TOWN_HEIGHT * (PALLET_TOWN_WIDTH + 6) ; window
-
-	db CINNABAR_ISLAND
-	dw CinnabarIslandBlocks ; connection strip location
-	dw $C6EB + (ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6) + 0 ; current map position
-	db CINNABAR_ISLAND_WIDTH, CINNABAR_ISLAND_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + CINNABAR_ISLAND_WIDTH ; window
-
-	; end connections data
-
-	dw Route21Object ; objects
-
-Route21Object: ; 0x55021 (size=76)
-	db $43 ; border tile
-
-	db $0 ; warps
-
-	db $0 ; signs
-
-	db $9 ; people
-	db SPRITE_FISHER2, $18 + 4, $4 + 4, $ff, $d2, $41, FISHER + $C8, $7 ; trainer
-	db SPRITE_FISHER2, $19 + 4, $6 + 4, $ff, $d0, $42, FISHER + $C8, $9 ; trainer
-	db SPRITE_SWIMMER, $1f + 4, $a + 4, $ff, $d1, $43, SWIMMER + $C8, $c ; trainer
-	db SPRITE_SWIMMER, $1e + 4, $c + 4, $ff, $d3, $44, CUE_BALL + $C8, $9 ; trainer
-	db SPRITE_SWIMMER, $3f + 4, $10 + 4, $ff, $d0, $45, SWIMMER + $C8, $d ; trainer
-	db SPRITE_SWIMMER, $47 + 4, $5 + 4, $ff, $d3, $46, SWIMMER + $C8, $e ; trainer
-	db SPRITE_SWIMMER, $47 + 4, $f + 4, $ff, $d2, $47, SWIMMER + $C8, $f ; trainer
-	db SPRITE_FISHER2, $38 + 4, $e + 4, $ff, $d2, $48, FISHER + $C8, $8 ; trainer
-	db SPRITE_FISHER2, $39 + 4, $11 + 4, $ff, $d3, $49, FISHER + $C8, $a ; trainer
-
-Route21Blocks: ; 0x5506d 450
-	INCBIN "maps/route21.blk"
-
-VermilionHouse2Blocks:
-Route12HouseBlocks:
-DayCareMBlocks: ; 0x5522f 522F 16
-	INCBIN "maps/daycarem.blk"
-
-FuchsiaHouse3Blocks: ; 0x5523f 16
-	INCBIN "maps/fuchsiahouse3.blk"
-
-INCBIN "baserom.gbc",$5524f,$554d8 - $5524f
-
-UnnamedText_554d8: ; 0x554d8
-	TX_FAR _UnnamedText_554d8 ; 0x89bee
-	db $50
-; 0x554dd
-
-INCBIN "baserom.gbc",$554dd,$554e3 - $554dd
-
-Route2Script: ; 0x554e3
-	jp $3c3c
-; 0x554e6
-
-Route2Texts:
-	dw Route2Text1, Route2Text2, Route2Text3, Route2Text4
-
-Route2Text3: ; 0x554ee
-	TX_FAR _Route2Text3
-	db $50
-
-Route2Text4: ; 0x554f3
-	TX_FAR _Route2Text4
-	db $50
-
-Route3Script: ; 0x554f8
-	call $3c3c
-	ld hl, Route3TrainerHeader1
-	ld de, Unknown_5550b
-	ld a, [$d5f8]
-	call $3160
-	ld [$d5f8], a
-	ret
-; 0x5550b
-
-Unknown_5550b: ; 0x5550b
-INCBIN "baserom.gbc",$5550b,$6
-
-Route3Texts: ; 0x55511
-	dw Route3Text1, Route3Text2, Route3Text3, Route3Text4, Route3Text5, Route3Text6, Route3Text7, Route3Text8, Route3Text9, Route3Text10
-
-Route3TrainerHeaders:
-Route3TrainerHeader1: ; 0x55525
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_55595 ; 0x5595 TextBeforeBattle
-	dw UnnamedText_5559f ; 0x559f TextAfterBattle
-	dw UnnamedText_5559a ; 0x559a TextEndBattle
-	dw UnnamedText_5559a ; 0x559a TextEndBattle
-; 0x55531
-
-TrainerHeader_55531: ; 0x55531
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_555ae ; 0x55ae TextBeforeBattle
-	dw UnnamedText_555b8 ; 0x55b8 TextAfterBattle
-	dw UnnamedText_555b3 ; 0x55b3 TextEndBattle
-	dw UnnamedText_555b3 ; 0x55b3 TextEndBattle
-; 0x5553d
-
-TrainerHeader_5553d: ; 0x5553d
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_555c7 ; 0x55c7 TextBeforeBattle
-	dw UnnamedText_555d1 ; 0x55d1 TextAfterBattle
-	dw UnnamedText_555cc ; 0x55cc TextEndBattle
-	dw UnnamedText_555cc ; 0x55cc TextEndBattle
-; 0x55549
-
-TrainerHeader_55549: ; 0x55549
-	db $5 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_555e0 ; 0x55e0 TextBeforeBattle
-	dw UnnamedText_555ea ; 0x55ea TextAfterBattle
-	dw UnnamedText_555e5 ; 0x55e5 TextEndBattle
-	dw UnnamedText_555e5 ; 0x55e5 TextEndBattle
-; 0x55555
-
-TrainerHeader_55555: ; 0x55555
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_555f9 ; 0x55f9 TextBeforeBattle
-	dw UnnamedText_55603 ; 0x5603 TextAfterBattle
-	dw UnnamedText_555fe ; 0x55fe TextEndBattle
-	dw UnnamedText_555fe ; 0x55fe TextEndBattle
-; 0x55561
-
-TrainerHeader_55561: ; 0x55561
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_55612 ; 0x5612 TextBeforeBattle
-	dw UnnamedText_5561c ; 0x561c TextAfterBattle
-	dw UnnamedText_55617 ; 0x5617 TextEndBattle
-	dw UnnamedText_55617 ; 0x5617 TextEndBattle
-; 0x5556d
-
-TrainerHeader_5556d: ; 0x5556d
-	db $8 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_5562b ; 0x562b TextBeforeBattle
-	dw UnnamedText_55635 ; 0x5635 TextAfterBattle
-	dw UnnamedText_55630 ; 0x5630 TextEndBattle
-	dw UnnamedText_55630 ; 0x5630 TextEndBattle
-; 0x55579
-
-TrainerHeader_55579: ; 0x55579
-	db $9 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7c3 ; flag's byte
-	dw UnnamedText_55644 ; 0x5644 TextBeforeBattle
-	dw UnnamedText_5564e ; 0x564e TextAfterBattle
-	dw UnnamedText_55649 ; 0x5649 TextEndBattle
-	dw UnnamedText_55649 ; 0x5649 TextEndBattle
-; 0x55585
-
-db $ff
-
-Route3Text1: ; 0x55586
-	TX_FAR _Route3Text1
-	db $50
-
-Route3Text2: ; 0x5558b
-	db $08 ; asm
-	ld hl, Route3TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55595: ; 0x55595
-	TX_FAR _UnnamedText_55595
-	db $50
-; 0x55595 + 5 bytes
-
-UnnamedText_5559a: ; 0x5559a
-	TX_FAR _UnnamedText_5559a
-	db $50
-; 0x5559a + 5 bytes
-
-UnnamedText_5559f: ; 0x5559f
-	TX_FAR _UnnamedText_5559f
-	db $50
-; 0x5559f + 5 bytes
-
-Route3Text3: ; 0x555a4
-	db $08 ; asm
-	ld hl, TrainerHeader_55531
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_555ae: ; 0x555ae
-	TX_FAR _UnnamedText_555ae
-	db $50
-; 0x555ae + 5 bytes
-
-UnnamedText_555b3: ; 0x555b3
-	TX_FAR _UnnamedText_555b3
-	db $50
-; 0x555b3 + 5 bytes
-
-UnnamedText_555b8: ; 0x555b8
-	TX_FAR _UnnamedText_555b8
-	db $50
-; 0x555b8 + 5 bytes
-
-Route3Text4: ; 0x555bd
-	db $08 ; asm
-	ld hl, TrainerHeader_5553d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_555c7: ; 0x555c7
-	TX_FAR _UnnamedText_555c7
-	db $50
-; 0x555c7 + 5 bytes
-
-UnnamedText_555cc: ; 0x555cc
-	TX_FAR _UnnamedText_555cc
-	db $50
-; 0x555cc + 5 bytes
-
-UnnamedText_555d1: ; 0x555d1
-	TX_FAR _UnnamedText_555d1
-	db $50
-; 0x555d1 + 5 bytes
-
-Route3Text5: ; 0x555d6
-	db $08 ; asm
-	ld hl, TrainerHeader_55549
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_555e0: ; 0x555e0
-	TX_FAR _UnnamedText_555e0
-	db $50
-; 0x555e0 + 5 bytes
-
-UnnamedText_555e5: ; 0x555e5
-	TX_FAR _UnnamedText_555e5
-	db $50
-; 0x555e5 + 5 bytes
-
-UnnamedText_555ea: ; 0x555ea
-	TX_FAR _UnnamedText_555ea
-	db $50
-; 0x555ea + 5 bytes
-
-Route3Text6: ; 0x555ef
-	db $08 ; asm
-	ld hl, TrainerHeader_55555
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_555f9: ; 0x555f9
-	TX_FAR _UnnamedText_555f9
-	db $50
-; 0x555f9 + 5 bytes
-
-UnnamedText_555fe: ; 0x555fe
-	TX_FAR _UnnamedText_555fe
-	db $50
-; 0x555fe + 5 bytes
-
-UnnamedText_55603: ; 0x55603
-	TX_FAR _UnnamedText_55603
-	db $50
-; 0x55603 + 5 bytes
-
-Route3Text7: ; 0x55608
-	db $08 ; asm
-	ld hl, TrainerHeader_55561
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55612: ; 0x55612
-	TX_FAR _UnnamedText_55612
-	db $50
-; 0x55612 + 5 bytes
-
-UnnamedText_55617: ; 0x55617
-	TX_FAR _UnnamedText_55617
-	db $50
-; 0x55617 + 5 bytes
-
-UnnamedText_5561c: ; 0x5561c
-	TX_FAR _UnnamedText_5561c
-	db $50
-; 0x5561c + 5 bytes
-
-Route3Text8: ; 0x55621
-	db $08 ; asm
-	ld hl, TrainerHeader_5556d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5562b: ; 0x5562b
-	TX_FAR _UnnamedText_5562b
-	db $50
-; 0x5562b + 5 bytes
-
-UnnamedText_55630: ; 0x55630
-	TX_FAR _UnnamedText_55630
-	db $50
-; 0x55630 + 5 bytes
-
-UnnamedText_55635: ; 0x55635
-	TX_FAR _UnnamedText_55635
-	db $50
-; 0x55635 + 5 bytes
-
-Route3Text9: ; 0x5563a
-	db $08 ; asm
-	ld hl, TrainerHeader_55579
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55644: ; 0x55644
-	TX_FAR _UnnamedText_55644
-	db $50
-; 0x55644 + 5 bytes
-
-UnnamedText_55649: ; 0x55649
-	TX_FAR _UnnamedText_55649
-	db $50
-; 0x55649 + 5 bytes
-
-UnnamedText_5564e: ; 0x5564e
-	TX_FAR _UnnamedText_5564e
-	db $50
-; 0x5564e + 5 bytes
-
-Route3Text10: ; 0x55653
-	TX_FAR _Route3Text10
-	db $50
-
-Route4Script: ; 0x55658
-	call $3c3c
-	ld hl, Route4TrainerHeaders
-	ld de, Unknown_5566b
-	ld a, [$d5f9]
-	call $3160
-	ld [$d5f9], a
-	ret
-; 0x5566b
-
-Unknown_5566b: ; 0x5566b
-INCBIN "baserom.gbc",$5566b,$6
-
-Route4Texts: ; 0x55671
-	dw Route4Text1, Route4Text2, Route4Text3, Route4Text4, Route4Text5, Route4Text6
-
-Route4TrainerHeaders:
-Route4TrainerHeader1: ; 0x5567d
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c5 ; flag's byte
-	dw UnnamedText_55699 ; 0x5699 TextBeforeBattle
-	dw UnnamedText_556a3 ; 0x56a3 TextAfterBattle
-	dw UnnamedText_5569e ; 0x569e TextEndBattle
-	dw UnnamedText_5569e ; 0x569e TextEndBattle
-; 0x55689
-
-db $ff
-
-Route4Text1: ; 0x5568a
-	TX_FAR _Route4Text1
-	db $50
-
-Route4Text2: ; 0x5568f
-	db $08 ; asm
-	ld hl, Route4TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55699: ; 0x55699
-	TX_FAR _UnnamedText_55699
-	db $50
-; 0x55699 + 5 bytes
-
-UnnamedText_5569e: ; 0x5569e
-	TX_FAR _UnnamedText_5569e
-	db $50
-; 0x5569e + 5 bytes
-
-UnnamedText_556a3: ; 0x556a3
-	TX_FAR _UnnamedText_556a3
-	db $50
-; 0x556a3 + 5 bytes
-
-Route4Text5: ; 0x556a8
-	TX_FAR _Route4Text5
-	db $50
-
-Route4Text6: ; 0x556ad
-	TX_FAR _Route4Text6
-	db $50
-
-Route5Script: ; 0x556b2
-	jp $3c3c
-; 0x556b5
-
-Route5Texts: ; 0x556b5
-	dw Route5Text1
-
-Route5Text1: ; 0x556b7
-	TX_FAR _Route5Text1
-	db $50
-
-Route9Script: ; 0x556bc
-	call $3c3c
-	ld hl, Route9TrainerHeaders
-	ld de, Unknown_556cf
-	ld a, [$d604]
-	call $3160
-	ld [$d604], a
-	ret
-; 0x556cf
-
-Unknown_556cf: ; 0x556cf
-INCBIN "baserom.gbc",$556cf,$6
-
-Route9Texts: ; 0x556d5
-	dw Route9Text1, Route9Text2, Route9Text3, Route9Text4, Route9Text5, Route9Text6, Route9Text7, Route9Text8, Route9Text9, Route9Text10, Route9Text11
-
-Route9TrainerHeaders:
-Route9TrainerHeader1: ; 0x556eb
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_55792 ; 0x5792 TextBeforeBattle
-	dw UnnamedText_5579c ; 0x579c TextAfterBattle
-	dw UnnamedText_55797 ; 0x5797 TextEndBattle
-	dw UnnamedText_55797 ; 0x5797 TextEndBattle
-; 0x556f7
-
-TrainerHeader_556f7: ; 0x556f7
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557a1 ; 0x57a1 TextBeforeBattle
-	dw UnnamedText_557ab ; 0x57ab TextAfterBattle
-	dw UnnamedText_557a6 ; 0x57a6 TextEndBattle
-	dw UnnamedText_557a6 ; 0x57a6 TextEndBattle
-; 0x55703
-
-TrainerHeader_55703: ; 0x55703
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557b0 ; 0x57b0 TextBeforeBattle
-	dw UnnamedText_557ba ; 0x57ba TextAfterBattle
-	dw UnnamedText_557b5 ; 0x57b5 TextEndBattle
-	dw UnnamedText_557b5 ; 0x57b5 TextEndBattle
-; 0x5570f
-
-TrainerHeader_5570f: ; 0x5570f
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557bf ; 0x57bf TextBeforeBattle
-	dw UnnamedText_557c9 ; 0x57c9 TextAfterBattle
-	dw UnnamedText_557c4 ; 0x57c4 TextEndBattle
-	dw UnnamedText_557c4 ; 0x57c4 TextEndBattle
-; 0x5571b
-
-TrainerHeader_5571b: ; 0x5571b
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557ce ; 0x57ce TextBeforeBattle
-	dw UnnamedText_557d8 ; 0x57d8 TextAfterBattle
-	dw UnnamedText_557d3 ; 0x57d3 TextEndBattle
-	dw UnnamedText_557d3 ; 0x57d3 TextEndBattle
-; 0x55727
-
-TrainerHeader_55727: ; 0x55727
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557dd ; 0x57dd TextBeforeBattle
-	dw UnnamedText_557e7 ; 0x57e7 TextAfterBattle
-	dw UnnamedText_557e2 ; 0x57e2 TextEndBattle
-	dw UnnamedText_557e2 ; 0x57e2 TextEndBattle
-; 0x55733
-
-TrainerHeader_55733: ; 0x55733
-	db $7 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557ec ; 0x57ec TextBeforeBattle
-	dw UnnamedText_557f6 ; 0x57f6 TextAfterBattle
-	dw UnnamedText_557f1 ; 0x57f1 TextEndBattle
-	dw UnnamedText_557f1 ; 0x57f1 TextEndBattle
-; 0x5573f
-
-TrainerHeader_5573f: ; 0x5573f
-	db $8 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_557fb ; 0x57fb TextBeforeBattle
-	dw UnnamedText_55805 ; 0x5805 TextAfterBattle
-	dw UnnamedText_55800 ; 0x5800 TextEndBattle
-	dw UnnamedText_55800 ; 0x5800 TextEndBattle
-; 0x5574b
-
-TrainerHeader_5574b: ; 0x5574b
-	db $9 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cf ; flag's byte
-	dw UnnamedText_5580a ; 0x580a TextBeforeBattle
-	dw UnnamedText_55814 ; 0x5814 TextAfterBattle
-	dw UnnamedText_5580f ; 0x580f TextEndBattle
-	dw UnnamedText_5580f ; 0x580f TextEndBattle
-; 0x55757
-
-db $ff
-
-Route9Text1: ; 0x55758
-	db $8 ; asm
-	ld hl, Route9TrainerHeader1
-	jr asm_8be3d ; 0x5575c $2e
-
-Route9Text2:
-	db $8 ; asm
-	ld hl, TrainerHeader_556f7
-	jr asm_8be3d ; 0x55762 $28
-
-Route9Text3:
-	db $8 ; asm
-	ld hl, TrainerHeader_55703
-	jr asm_8be3d ; 0x55768 $22
-
-Route9Text4:
-	db $8 ; asm
-	ld hl, TrainerHeader_5570f
-	jr asm_8be3d ; 0x5576e $1c
-
-Route9Text5:
-	db $8 ; asm
-	ld hl, TrainerHeader_5571b
-	jr asm_8be3d ; 0x55774 $16
-
-Route9Text6:
-	db $8 ; asm
-	ld hl, TrainerHeader_55727
-	jr asm_8be3d ; 0x5577a $10
-
-Route9Text7:
-	db $8 ; asm
-	ld hl, TrainerHeader_55733
-	jr asm_8be3d ; 0x55780 $a
-
-Route9Text8:
-	db $8 ; asm
-	ld hl, TrainerHeader_5573f
-	jr asm_8be3d ; 0x55786 $4
-
-Route9Text9:
-	db $8 ; asm
-	ld hl, TrainerHeader_5574b
-asm_8be3d: ; 0x5578c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-; 0x55792
-
-UnnamedText_55792: ; 0x55792
-	TX_FAR _UnnamedText_55792
-	db $50
-; 0x55792 + 5 bytes
-
-UnnamedText_55797: ; 0x55797
-	TX_FAR _UnnamedText_55797
-	db $50
-; 0x55797 + 5 bytes
-
-UnnamedText_5579c: ; 0x5579c
-	TX_FAR _UnnamedText_5579c
-	db $50
-; 0x5579c + 5 bytes
-
-UnnamedText_557a1: ; 0x557a1
-	TX_FAR _UnnamedText_557a1
-	db $50
-; 0x557a1 + 5 bytes
-
-UnnamedText_557a6: ; 0x557a6
-	TX_FAR _UnnamedText_557a6
-	db $50
-; 0x557a6 + 5 bytes
-
-UnnamedText_557ab: ; 0x557ab
-	TX_FAR _UnnamedText_557ab
-	db $50
-; 0x557ab + 5 bytes
-
-UnnamedText_557b0: ; 0x557b0
-	TX_FAR _UnnamedText_557b0
-	db $50
-; 0x557b0 + 5 bytes
-
-UnnamedText_557b5: ; 0x557b5
-	TX_FAR _UnnamedText_557b5
-	db $50
-; 0x557b5 + 5 bytes
-
-UnnamedText_557ba: ; 0x557ba
-	TX_FAR _UnnamedText_557ba
-	db $50
-; 0x557ba + 5 bytes
-
-UnnamedText_557bf: ; 0x557bf
-	TX_FAR _UnnamedText_557bf
-	db $50
-; 0x557bf + 5 bytes
-
-UnnamedText_557c4: ; 0x557c4
-	TX_FAR _UnnamedText_557c4
-	db $50
-; 0x557c4 + 5 bytes
-
-UnnamedText_557c9: ; 0x557c9
-	TX_FAR _UnnamedText_557c9
-	db $50
-; 0x557c9 + 5 bytes
-
-UnnamedText_557ce: ; 0x557ce
-	TX_FAR _UnnamedText_557ce
-	db $50
-; 0x557ce + 5 bytes
-
-UnnamedText_557d3: ; 0x557d3
-	TX_FAR _UnnamedText_557d3
-	db $50
-; 0x557d3 + 5 bytes
-
-UnnamedText_557d8: ; 0x557d8
-	TX_FAR _UnnamedText_557d8
-	db $50
-; 0x557d8 + 5 bytes
-
-UnnamedText_557dd: ; 0x557dd
-	TX_FAR _UnnamedText_557dd
-	db $50
-; 0x557dd + 5 bytes
-
-UnnamedText_557e2: ; 0x557e2
-	TX_FAR _UnnamedText_557e2
-	db $50
-; 0x557e2 + 5 bytes
-
-UnnamedText_557e7: ; 0x557e7
-	TX_FAR _UnnamedText_557e7
-	db $50
-; 0x557e7 + 5 bytes
-
-UnnamedText_557ec: ; 0x557ec
-	TX_FAR _UnnamedText_557ec
-	db $50
-; 0x557ec + 5 bytes
-
-UnnamedText_557f1: ; 0x557f1
-	TX_FAR _UnnamedText_557f1
-	db $50
-; 0x557f1 + 5 bytes
-
-UnnamedText_557f6: ; 0x557f6
-	TX_FAR _UnnamedText_557f6
-	db $50
-; 0x557f6 + 5 bytes
-
-UnnamedText_557fb: ; 0x557fb
-	TX_FAR _UnnamedText_557fb
-	db $50
-; 0x557fb + 5 bytes
-
-UnnamedText_55800: ; 0x55800
-	TX_FAR _UnnamedText_55800
-	db $50
-; 0x55800 + 5 bytes
-
-UnnamedText_55805: ; 0x55805
-	TX_FAR _UnnamedText_55805
-	db $50
-; 0x55805 + 5 bytes
-
-UnnamedText_5580a: ; 0x5580a
-	TX_FAR _UnnamedText_5580a
-	db $50
-; 0x5580a + 5 bytes
-
-UnnamedText_5580f: ; 0x5580f
-	TX_FAR _UnnamedText_5580f
-	db $50
-; 0x5580f + 5 bytes
-
-UnnamedText_55814: ; 0x55814
-	TX_FAR _UnnamedText_55814
-	db $50
-; 0x55814 + 5 bytes
-
-Route9Text11: ; 0x55819
-	TX_FAR _Route9Text11
-	db $50
-
-Route13Script: ; 0x5581e
-	call $3c3c
-	ld hl, Route13TrainerHeaders
-	ld de, Route13Script_Unknown55831
-	ld a, [$d61a]
-	call $3160
-	ld [$d61a], a
-	ret
-; 0x55831
-
-Route13Script_Unknown55831: ; 0x55831
-INCBIN "baserom.gbc",$55831,$6
-
-Route13Texts: ; 0x55837
-	dw Route13Text1, Route13Text2, Route13Text3, Route13Text4, Route13Text5, Route13Text6, Route13Text7, Route13Text8, Route13Text9, Route13Text10, Route13Text11, Route13Text12, Route13Text13
-
-Route13TrainerHeaders:
-TrainerHeader_55851: ; 0x55851
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_558d4 ; 0x58d4 TextBeforeBattle
-	dw UnnamedText_558de ; 0x58de TextAfterBattle
-	dw UnnamedText_558d9 ; 0x58d9 TextEndBattle
-	dw UnnamedText_558d9 ; 0x58d9 TextEndBattle
-; 0x5585d
-
-TrainerHeader_5585d: ; 0x5585d
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_558ed ; 0x58ed TextBeforeBattle
-	dw UnnamedText_558f7 ; 0x58f7 TextAfterBattle
-	dw UnnamedText_558f2 ; 0x58f2 TextEndBattle
-	dw UnnamedText_558f2 ; 0x58f2 TextEndBattle
-; 0x55869
-
-TrainerHeader_55869: ; 0x55869
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_55906 ; 0x5906 TextBeforeBattle
-	dw UnnamedText_55910 ; 0x5910 TextAfterBattle
-	dw UnnamedText_5590b ; 0x590b TextEndBattle
-	dw UnnamedText_5590b ; 0x590b TextEndBattle
-; 0x55875
-
-TrainerHeader_55875: ; 0x55875
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_5591f ; 0x591f TextBeforeBattle
-	dw UnnamedText_55929 ; 0x5929 TextAfterBattle
-	dw UnnamedText_55924 ; 0x5924 TextEndBattle
-	dw UnnamedText_55924 ; 0x5924 TextEndBattle
-; 0x55881
-
-TrainerHeader_55881: ; 0x55881
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_55938 ; 0x5938 TextBeforeBattle
-	dw UnnamedText_55942 ; 0x5942 TextAfterBattle
-	dw UnnamedText_5593d ; 0x593d TextEndBattle
-	dw UnnamedText_5593d ; 0x593d TextEndBattle
-; 0x5588d
-
-TrainerHeader_5588d: ; 0x5588d
-	db $6 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_55951 ; 0x5951 TextBeforeBattle
-	dw UnnamedText_5595b ; 0x595b TextAfterBattle
-	dw UnnamedText_55956 ; 0x5956 TextEndBattle
-	dw UnnamedText_55956 ; 0x5956 TextEndBattle
-; 0x55899
-
-TrainerHeader_55899: ; 0x55899
-	db $7 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_5596a ; 0x596a TextBeforeBattle
-	dw UnnamedText_55974 ; 0x5974 TextAfterBattle
-	dw UnnamedText_5596f ; 0x596f TextEndBattle
-	dw UnnamedText_5596f ; 0x596f TextEndBattle
-; 0x558a5
-
-TrainerHeader_558a5: ; 0x558a5
-	db $8 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_55983 ; 0x5983 TextBeforeBattle
-	dw UnnamedText_5598d ; 0x598d TextAfterBattle
-	dw UnnamedText_55988 ; 0x5988 TextEndBattle
-	dw UnnamedText_55988 ; 0x5988 TextEndBattle
-; 0x558b1
-
-TrainerHeader_558b1: ; 0x558b1
-	db $9 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_5599c ; 0x599c TextBeforeBattle
-	dw UnnamedText_559a6 ; 0x59a6 TextAfterBattle
-	dw UnnamedText_559a1 ; 0x59a1 TextEndBattle
-	dw UnnamedText_559a1 ; 0x59a1 TextEndBattle
-; 0x558bd
-
-TrainerHeader_558bd: ; 0x558bd
-	db $a ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d9 ; flag's byte
-	dw UnnamedText_559b5 ; 0x59b5 TextBeforeBattle
-	dw UnnamedText_559bf ; 0x59bf TextAfterBattle
-	dw UnnamedText_559ba ; 0x59ba TextEndBattle
-	dw UnnamedText_559ba ; 0x59ba TextEndBattle
-; 0x558c9
-
-db $ff
-
-Route13Text1: ; 0x558ca
-	db $08 ; asm
-	ld hl, TrainerHeader_55851
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_558d4: ; 0x558d4
-	TX_FAR _UnnamedText_558d4
-	db $50
-; 0x558d4 + 5 bytes
-
-UnnamedText_558d9: ; 0x558d9
-	TX_FAR _UnnamedText_558d9
-	db $50
-; 0x558d9 + 5 bytes
-
-UnnamedText_558de: ; 0x558de
-	TX_FAR _UnnamedText_558de
-	db $50
-; 0x558de + 5 bytes
-
-Route13Text2: ; 0x558e3
-	db $08 ; asm
-	ld hl, TrainerHeader_5585d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_558ed: ; 0x558ed
-	TX_FAR _UnnamedText_558ed
-	db $50
-; 0x558ed + 5 bytes
-
-UnnamedText_558f2: ; 0x558f2
-	TX_FAR _UnnamedText_558f2
-	db $50
-; 0x558f2 + 5 bytes
-
-UnnamedText_558f7: ; 0x558f7
-	TX_FAR _UnnamedText_558f7
-	db $50
-; 0x558f7 + 5 bytes
-
-Route13Text3: ; 0x558fc
-	db $08 ; asm
-	ld hl, TrainerHeader_55869
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55906: ; 0x55906
-	TX_FAR _UnnamedText_55906
-	db $50
-; 0x55906 + 5 bytes
-
-UnnamedText_5590b: ; 0x5590b
-	TX_FAR _UnnamedText_5590b
-	db $50
-; 0x5590b + 5 bytes
-
-UnnamedText_55910: ; 0x55910
-	TX_FAR _UnnamedText_55910
-	db $50
-; 0x55910 + 5 bytes
-
-Route13Text4: ; 0x55915
-	db $08 ; asm
-	ld hl, TrainerHeader_55875
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5591f: ; 0x5591f
-	TX_FAR _UnnamedText_5591f
-	db $50
-; 0x5591f + 5 bytes
-
-UnnamedText_55924: ; 0x55924
-	TX_FAR _UnnamedText_55924
-	db $50
-; 0x55924 + 5 bytes
-
-UnnamedText_55929: ; 0x55929
-	TX_FAR _UnnamedText_55929
-	db $50
-; 0x55929 + 5 bytes
-
-Route13Text5: ; 0x5592e
-	db $08 ; asm
-	ld hl, TrainerHeader_55881
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55938: ; 0x55938
-	TX_FAR _UnnamedText_55938
-	db $50
-; 0x55938 + 5 bytes
-
-UnnamedText_5593d: ; 0x5593d
-	TX_FAR _UnnamedText_5593d
-	db $50
-; 0x5593d + 5 bytes
-
-UnnamedText_55942: ; 0x55942
-	TX_FAR _UnnamedText_55942
-	db $50
-; 0x55942 + 5 bytes
-
-Route13Text6: ; 0x55947
-	db $08 ; asm
-	ld hl, TrainerHeader_5588d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55951: ; 0x55951
-	TX_FAR _UnnamedText_55951
-	db $50
-; 0x55951 + 5 bytes
-
-UnnamedText_55956: ; 0x55956
-	TX_FAR _UnnamedText_55956
-	db $50
-; 0x55956 + 5 bytes
-
-UnnamedText_5595b: ; 0x5595b
-	TX_FAR _UnnamedText_5595b
-	db $50
-; 0x5595b + 5 bytes
-
-Route13Text7: ; 0x55960
-	db $08 ; asm
-	ld hl, TrainerHeader_55899
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5596a: ; 0x5596a
-	TX_FAR _UnnamedText_5596a
-	db $50
-; 0x5596a + 5 bytes
-
-UnnamedText_5596f: ; 0x5596f
-	TX_FAR _UnnamedText_5596f
-	db $50
-; 0x5596f + 5 bytes
-
-UnnamedText_55974: ; 0x55974
-	TX_FAR _UnnamedText_55974
-	db $50
-; 0x55974 + 5 bytes
-
-Route13Text8: ; 0x55979
-	db $08 ; asm
-	ld hl, TrainerHeader_558a5
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55983: ; 0x55983
-	TX_FAR _UnnamedText_55983
-	db $50
-; 0x55983 + 5 bytes
-
-UnnamedText_55988: ; 0x55988
-	TX_FAR _UnnamedText_55988
-	db $50
-; 0x55988 + 5 bytes
-
-UnnamedText_5598d: ; 0x5598d
-	TX_FAR _UnnamedText_5598d
-	db $50
-; 0x5598d + 5 bytes
-
-Route13Text9: ; 0x55992
-	db $08 ; asm
-	ld hl, TrainerHeader_558b1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5599c: ; 0x5599c
-	TX_FAR _UnnamedText_5599c
-	db $50
-; 0x5599c + 5 bytes
-
-UnnamedText_559a1: ; 0x559a1
-	TX_FAR _UnnamedText_559a1
-	db $50
-; 0x559a1 + 5 bytes
-
-UnnamedText_559a6: ; 0x559a6
-	TX_FAR _UnnamedText_559a6
-	db $50
-; 0x559a6 + 5 bytes
-
-Route13Text10: ; 0x559ab
-	db $08 ; asm
-	ld hl, TrainerHeader_558bd
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_559b5: ; 0x559b5
-	TX_FAR _UnnamedText_559b5
-	db $50
-; 0x559b5 + 5 bytes
-
-UnnamedText_559ba: ; 0x559ba
-	TX_FAR _UnnamedText_559ba
-	db $50
-; 0x559ba + 5 bytes
-
-UnnamedText_559bf: ; 0x559bf
-	TX_FAR _UnnamedText_559bf
-	db $50
-; 0x559bf + 5 bytes
-
-Route13Text11: ; 0x559c4
-	TX_FAR _Route13Text11
-	db $50
-
-Route13Text12: ; 0x559c9
-	TX_FAR _Route13Text12
-	db $50
-
-Route13Text13: ; 0x559ce
-	TX_FAR _Route13Text13
-	db $50
-
-Route14Script: ; 0x559d3
-	call $3c3c
-	ld hl, Route14TrainerHeaders
-	ld de, Unknown_559e6
-	ld a, [$d61b]
-	call $3160
-	ld [$d61b], a
-	ret
-; 0x559e6
-
-Unknown_559e6: ; 0x559e6
-INCBIN "baserom.gbc",$559e6,$6
-
-Route14Texts: ; 0x559ec
-	dw Route14Text1, Route14Text2, Route14Text3, Route14Text4, Route14Text5, Route14Text6, Route14Text7, Route14Text8, Route14Text9, Route14Text10, Route14Text11
-
-Route14TrainerHeaders:
-Route14TrainerHeader1: ; 0x55a02
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55a85 ; 0x5a85 TextBeforeBattle
-	dw UnnamedText_55a8f ; 0x5a8f TextAfterBattle
-	dw UnnamedText_55a8a ; 0x5a8a TextEndBattle
-	dw UnnamedText_55a8a ; 0x5a8a TextEndBattle
-; 0x55a0e
-
-TrainerHeader_55a0e: ; 0x55a0e
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55a9e ; 0x5a9e TextBeforeBattle
-	dw UnnamedText_55aa8 ; 0x5aa8 TextAfterBattle
-	dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle
-	dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle
-; 0x55a1a
-
-TrainerHeader_55a1a: ; 0x55a1a
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55ab7 ; 0x5ab7 TextBeforeBattle
-	dw UnnamedText_55ac1 ; 0x5ac1 TextAfterBattle
-	dw UnnamedText_55abc ; 0x5abc TextEndBattle
-	dw UnnamedText_55abc ; 0x5abc TextEndBattle
-; 0x55a26
-
-TrainerHeader_55a26: ; 0x55a26
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55ad0 ; 0x5ad0 TextBeforeBattle
-	dw UnnamedText_55ada ; 0x5ada TextAfterBattle
-	dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle
-	dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle
-; 0x55a32
-
-TrainerHeader_55a32: ; 0x55a32
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55ae9 ; 0x5ae9 TextBeforeBattle
-	dw UnnamedText_55af3 ; 0x5af3 TextAfterBattle
-	dw UnnamedText_55aee ; 0x5aee TextEndBattle
-	dw UnnamedText_55aee ; 0x5aee TextEndBattle
-; 0x55a3e
-
-TrainerHeader_55a3e: ; 0x55a3e
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55b02 ; 0x5b02 TextBeforeBattle
-	dw UnnamedText_55b0c ; 0x5b0c TextAfterBattle
-	dw UnnamedText_55b07 ; 0x5b07 TextEndBattle
-	dw UnnamedText_55b07 ; 0x5b07 TextEndBattle
-; 0x55a4a
-
-TrainerHeader_55a4a: ; 0x55a4a
-	db $7 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55b1b ; 0x5b1b TextBeforeBattle
-	dw UnnamedText_55b25 ; 0x5b25 TextAfterBattle
-	dw UnnamedText_55b20 ; 0x5b20 TextEndBattle
-	dw UnnamedText_55b20 ; 0x5b20 TextEndBattle
-; 0x55a56
-
-TrainerHeader_55a56: ; 0x55a56
-	db $8 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55b34 ; 0x5b34 TextBeforeBattle
-	dw UnnamedText_55b3e ; 0x5b3e TextAfterBattle
-	dw UnnamedText_55b39 ; 0x5b39 TextEndBattle
-	dw UnnamedText_55b39 ; 0x5b39 TextEndBattle
-; 0x55a62
-
-TrainerHeader_55a62: ; 0x55a62
-	db $9 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55b4d ; 0x5b4d TextBeforeBattle
-	dw UnnamedText_55b57 ; 0x5b57 TextAfterBattle
-	dw UnnamedText_55b52 ; 0x5b52 TextEndBattle
-	dw UnnamedText_55b52 ; 0x5b52 TextEndBattle
-; 0x55a6e
-
-TrainerHeader_55a6e: ; 0x55a6e
-	db $a ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7db ; flag's byte
-	dw UnnamedText_55b66 ; 0x5b66 TextBeforeBattle
-	dw UnnamedText_55b70 ; 0x5b70 TextAfterBattle
-	dw UnnamedText_55b6b ; 0x5b6b TextEndBattle
-	dw UnnamedText_55b6b ; 0x5b6b TextEndBattle
-; 0x55a7a
-
-db $ff
-
-Route14Text1: ; 0x55a7b
-	db $08 ; asm
-	ld hl, Route14TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55a85: ; 0x55a85
-	TX_FAR _UnnamedText_55a85
-	db $50
-; 0x55a85 + 5 bytes
-
-UnnamedText_55a8a: ; 0x55a8a
-	TX_FAR _UnnamedText_55a8a
-	db $50
-; 0x55a8a + 5 bytes
-
-UnnamedText_55a8f: ; 0x55a8f
-	TX_FAR _UnnamedText_55a8f
-	db $50
-; 0x55a8f + 5 bytes
-
-Route14Text2: ; 0x55a94
-	db $08 ; asm
-	ld hl, TrainerHeader_55a0e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55a9e: ; 0x55a9e
-	TX_FAR _UnnamedText_55a9e
-	db $50
-; 0x55a9e + 5 bytes
-
-UnnamedText_55aa3: ; 0x55aa3
-	TX_FAR _UnnamedText_55aa3
-	db $50
-; 0x55aa3 + 5 bytes
-
-UnnamedText_55aa8: ; 0x55aa8
-	TX_FAR _UnnamedText_55aa8
-	db $50
-; 0x55aa8 + 5 bytes
-
-Route14Text3: ; 0x55aad
-	db $08 ; asm
-	ld hl, TrainerHeader_55a1a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55ab7: ; 0x55ab7
-	TX_FAR _UnnamedText_55ab7
-	db $50
-; 0x55ab7 + 5 bytes
-
-UnnamedText_55abc: ; 0x55abc
-	TX_FAR _UnnamedText_55abc
-	db $50
-; 0x55abc + 5 bytes
-
-UnnamedText_55ac1: ; 0x55ac1
-	TX_FAR _UnnamedText_55ac1
-	db $50
-; 0x55ac1 + 5 bytes
-
-Route14Text4: ; 0x55ac6
-	db $08 ; asm
-	ld hl, TrainerHeader_55a26
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55ad0: ; 0x55ad0
-	TX_FAR _UnnamedText_55ad0
-	db $50
-; 0x55ad0 + 5 bytes
-
-UnnamedText_55ad5: ; 0x55ad5
-	TX_FAR _UnnamedText_55ad5
-	db $50
-; 0x55ad5 + 5 bytes
-
-UnnamedText_55ada: ; 0x55ada
-	TX_FAR _UnnamedText_55ada
-	db $50
-; 0x55ada + 5 bytes
-
-Route14Text5: ; 0x55adf
-	db $08 ; asm
-	ld hl, TrainerHeader_55a32
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55ae9: ; 0x55ae9
-	TX_FAR _UnnamedText_55ae9
-	db $50
-; 0x55ae9 + 5 bytes
-
-UnnamedText_55aee: ; 0x55aee
-	TX_FAR _UnnamedText_55aee
-	db $50
-; 0x55aee + 5 bytes
-
-UnnamedText_55af3: ; 0x55af3
-	TX_FAR _UnnamedText_55af3
-	db $50
-; 0x55af3 + 5 bytes
-
-Route14Text6: ; 0x55af8
-	db $08 ; asm
-	ld hl, TrainerHeader_55a3e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55b02: ; 0x55b02
-	TX_FAR _UnnamedText_55b02
-	db $50
-; 0x55b02 + 5 bytes
-
-UnnamedText_55b07: ; 0x55b07
-	TX_FAR _UnnamedText_55b07
-	db $50
-; 0x55b07 + 5 bytes
-
-UnnamedText_55b0c: ; 0x55b0c
-	TX_FAR _UnnamedText_55b0c
-	db $50
-; 0x55b0c + 5 bytes
-
-Route14Text7: ; 0x55b11
-	db $08 ; asm
-	ld hl, TrainerHeader_55a4a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55b1b: ; 0x55b1b
-	TX_FAR _UnnamedText_55b1b
-	db $50
-; 0x55b1b + 5 bytes
-
-UnnamedText_55b20: ; 0x55b20
-	TX_FAR _UnnamedText_55b20
-	db $50
-; 0x55b20 + 5 bytes
-
-UnnamedText_55b25: ; 0x55b25
-	TX_FAR _UnnamedText_55b25
-	db $50
-; 0x55b25 + 5 bytes
-
-Route14Text8: ; 0x55b2a
-	db $08 ; asm
-	ld hl, TrainerHeader_55a56
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55b34: ; 0x55b34
-	TX_FAR _UnnamedText_55b34
-	db $50
-; 0x55b34 + 5 bytes
-
-UnnamedText_55b39: ; 0x55b39
-	TX_FAR _UnnamedText_55b39
-	db $50
-; 0x55b39 + 5 bytes
-
-UnnamedText_55b3e: ; 0x55b3e
-	TX_FAR _UnnamedText_55b3e
-	db $50
-; 0x55b3e + 5 bytes
-
-Route14Text9: ; 0x55b43
-	db $08 ; asm
-	ld hl, TrainerHeader_55a62
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55b4d: ; 0x55b4d
-	TX_FAR _UnnamedText_55b4d
-	db $50
-; 0x55b4d + 5 bytes
-
-UnnamedText_55b52: ; 0x55b52
-	TX_FAR _UnnamedText_55b52
-	db $50
-; 0x55b52 + 5 bytes
-
-UnnamedText_55b57: ; 0x55b57
-	TX_FAR _UnnamedText_55b57
-	db $50
-; 0x55b57 + 5 bytes
-
-Route14Text10: ; 0x55b5c
-	db $08 ; asm
-	ld hl, TrainerHeader_55a6e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55b66: ; 0x55b66
-	TX_FAR _UnnamedText_55b66
-	db $50
-; 0x55b66 + 5 bytes
-
-UnnamedText_55b6b: ; 0x55b6b
-	TX_FAR _UnnamedText_55b6b
-	db $50
-; 0x55b6b + 5 bytes
-
-UnnamedText_55b70: ; 0x55b70
-	TX_FAR _UnnamedText_55b70
-	db $50
-; 0x55b70 + 5 bytes
-
-Route14Text11: ; 0x55b75
-	TX_FAR _Route14Text11
-	db $50
-
-Route17Script: ; 0x55b7a
-	call $3c3c
-	ld hl, Route17TrainerHeaders
-	ld de, Route17_Unknown55b8d
-	ld a, [$d61c]
-	call $3160
-	ld [$d61c], a
-	ret
-; 0x55b8d
-
-Route17_Unknown55b8d: ; 0x55b8d
-INCBIN "baserom.gbc",$55b8d,$6
-
-Route17Texts: ; 0x55b93
-	dw Route17Text1, Route17Text2, Route17Text3, Route17Text4, Route17Text5, Route17Text6, Route17Text7, Route17Text8, Route17Text9, Route17Text10, Route17Text11, Route17Text12, Route17Text13, Route17Text14, Route17Text15, Route17Text16
-
-Route17TrainerHeaders:
-Route17TrainerHeader1: ; 0x55bb3
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55c36 ; 0x5c36 TextBeforeBattle
-	dw UnnamedText_55c40 ; 0x5c40 TextAfterBattle
-	dw UnnamedText_55c3b ; 0x5c3b TextEndBattle
-	dw UnnamedText_55c3b ; 0x5c3b TextEndBattle
-; 0x55bbf
-
-TrainerHeader_55bbf: ; 0x55bbf
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55c4f ; 0x5c4f TextBeforeBattle
-	dw UnnamedText_55c59 ; 0x5c59 TextAfterBattle
-	dw UnnamedText_55c54 ; 0x5c54 TextEndBattle
-	dw UnnamedText_55c54 ; 0x5c54 TextEndBattle
-; 0x55bcb
-
-TrainerHeader_55bcb: ; 0x55bcb
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55c68 ; 0x5c68 TextBeforeBattle
-	dw UnnamedText_55c72 ; 0x5c72 TextAfterBattle
-	dw UnnamedText_55c6d ; 0x5c6d TextEndBattle
-	dw UnnamedText_55c6d ; 0x5c6d TextEndBattle
-; 0x55bd7
-
-TrainerHeader_55bd7: ; 0x55bd7
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55c81 ; 0x5c81 TextBeforeBattle
-	dw UnnamedText_55c8b ; 0x5c8b TextAfterBattle
-	dw UnnamedText_55c86 ; 0x5c86 TextEndBattle
-	dw UnnamedText_55c86 ; 0x5c86 TextEndBattle
-; 0x55be3
-
-TrainerHeader_55be3: ; 0x55be3
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55c9a ; 0x5c9a TextBeforeBattle
-	dw UnnamedText_55ca4 ; 0x5ca4 TextAfterBattle
-	dw UnnamedText_55c9f ; 0x5c9f TextEndBattle
-	dw UnnamedText_55c9f ; 0x5c9f TextEndBattle
-; 0x55bef
-
-TrainerHeader_55bef: ; 0x55bef
-	db $6 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55cb3 ; 0x5cb3 TextBeforeBattle
-	dw UnnamedText_55cbd ; 0x5cbd TextAfterBattle
-	dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle
-	dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle
-; 0x55bfb
-
-TrainerHeader_55bfb: ; 0x55bfb
-	db $7 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55ccc ; 0x5ccc TextBeforeBattle
-	dw UnnamedText_55cd6 ; 0x5cd6 TextAfterBattle
-	dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle
-	dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle
-; 0x55c07
-
-TrainerHeader_55c07: ; 0x55c07
-	db $8 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55ce5 ; 0x5ce5 TextBeforeBattle
-	dw UnnamedText_55cef ; 0x5cef TextAfterBattle
-	dw UnnamedText_55cea ; 0x5cea TextEndBattle
-	dw UnnamedText_55cea ; 0x5cea TextEndBattle
-; 0x55c13
-
-TrainerHeader_55c13: ; 0x55c13
-	db $9 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55cfe ; 0x5cfe TextBeforeBattle
-	dw UnnamedText_55d08 ; 0x5d08 TextAfterBattle
-	dw UnnamedText_55d03 ; 0x5d03 TextEndBattle
-	dw UnnamedText_55d03 ; 0x5d03 TextEndBattle
-; 0x55c1f
-
-TrainerHeader_55c1f: ; 0x55c1f
-	db $a ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e1 ; flag's byte
-	dw UnnamedText_55d17 ; 0x5d17 TextBeforeBattle
-	dw UnnamedText_55d21 ; 0x5d21 TextAfterBattle
-	dw UnnamedText_55d1c ; 0x5d1c TextEndBattle
-	dw UnnamedText_55d1c ; 0x5d1c TextEndBattle
-; 0x55c2b
-
-db $ff
-
-Route17Text1: ; 0x55c2c
-	db $08 ; asm
-	ld hl, Route17TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55c36: ; 0x55c36
-	TX_FAR _UnnamedText_55c36
-	db $50
-; 0x55c36 + 5 bytes
-
-UnnamedText_55c3b: ; 0x55c3b
-	TX_FAR _UnnamedText_55c3b
-	db $50
-; 0x55c3b + 5 bytes
-
-UnnamedText_55c40: ; 0x55c40
-	TX_FAR _UnnamedText_55c40
-	db $50
-; 0x55c40 + 5 bytes
-
-Route17Text2: ; 0x55c45
-	db $08 ; asm
-	ld hl, TrainerHeader_55bbf
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55c4f: ; 0x55c4f
-	TX_FAR _UnnamedText_55c4f
-	db $50
-; 0x55c4f + 5 bytes
-
-UnnamedText_55c54: ; 0x55c54
-	TX_FAR _UnnamedText_55c54
-	db $50
-; 0x55c54 + 5 bytes
-
-UnnamedText_55c59: ; 0x55c59
-	TX_FAR _UnnamedText_55c59
-	db $50
-; 0x55c59 + 5 bytes
-
-Route17Text3: ; 0x55c5e
-	db $08 ; asm
-	ld hl, TrainerHeader_55bcb
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55c68: ; 0x55c68
-	TX_FAR _UnnamedText_55c68
-	db $50
-; 0x55c68 + 5 bytes
-
-UnnamedText_55c6d: ; 0x55c6d
-	TX_FAR _UnnamedText_55c6d
-	db $50
-; 0x55c6d + 5 bytes
-
-UnnamedText_55c72: ; 0x55c72
-	TX_FAR _UnnamedText_55c72
-	db $50
-; 0x55c72 + 5 bytes
-
-Route17Text4: ; 0x55c77
-	db $08 ; asm
-	ld hl, TrainerHeader_55bd7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55c81: ; 0x55c81
-	TX_FAR _UnnamedText_55c81
-	db $50
-; 0x55c81 + 5 bytes
-
-UnnamedText_55c86: ; 0x55c86
-	TX_FAR _UnnamedText_55c86
-	db $50
-; 0x55c86 + 5 bytes
-
-UnnamedText_55c8b: ; 0x55c8b
-	TX_FAR _UnnamedText_55c8b
-	db $50
-; 0x55c8b + 5 bytes
-
-Route17Text5: ; 0x55c90
-	db $08 ; asm
-	ld hl, TrainerHeader_55be3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55c9a: ; 0x55c9a
-	TX_FAR _UnnamedText_55c9a
-	db $50
-; 0x55c9a + 5 bytes
-
-UnnamedText_55c9f: ; 0x55c9f
-	TX_FAR _UnnamedText_55c9f
-	db $50
-; 0x55c9f + 5 bytes
-
-UnnamedText_55ca4: ; 0x55ca4
-	TX_FAR _UnnamedText_55ca4
-	db $50
-; 0x55ca4 + 5 bytes
-
-Route17Text6: ; 0x55ca9
-	db $08 ; asm
-	ld hl, TrainerHeader_55bef
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55cb3: ; 0x55cb3
-	TX_FAR _UnnamedText_55cb3
-	db $50
-; 0x55cb3 + 5 bytes
-
-UnnamedText_55cb8: ; 0x55cb8
-	TX_FAR _UnnamedText_55cb8
-	db $50
-; 0x55cb8 + 5 bytes
-
-UnnamedText_55cbd: ; 0x55cbd
-	TX_FAR _UnnamedText_55cbd
-	db $50
-; 0x55cbd + 5 bytes
-
-Route17Text7: ; 0x55cc2
-	db $08 ; asm
-	ld hl, TrainerHeader_55bfb
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55ccc: ; 0x55ccc
-	TX_FAR _UnnamedText_55ccc
-	db $50
-; 0x55ccc + 5 bytes
-
-UnnamedText_55cd1: ; 0x55cd1
-	TX_FAR _UnnamedText_55cd1
-	db $50
-; 0x55cd1 + 5 bytes
-
-UnnamedText_55cd6: ; 0x55cd6
-	TX_FAR _UnnamedText_55cd6
-	db $50
-; 0x55cd6 + 5 bytes
-
-Route17Text8: ; 0x55cdb
-	db $08 ; asm
-	ld hl, TrainerHeader_55c07
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55ce5: ; 0x55ce5
-	TX_FAR _UnnamedText_55ce5
-	db $50
-; 0x55ce5 + 5 bytes
-
-UnnamedText_55cea: ; 0x55cea
-	TX_FAR _UnnamedText_55cea
-	db $50
-; 0x55cea + 5 bytes
-
-UnnamedText_55cef: ; 0x55cef
-	TX_FAR _UnnamedText_55cef
-	db $50
-; 0x55cef + 5 bytes
-
-Route17Text9: ; 0x55cf4
-	db $08 ; asm
-	ld hl, TrainerHeader_55c13
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55cfe: ; 0x55cfe
-	TX_FAR _UnnamedText_55cfe
-	db $50
-; 0x55cfe + 5 bytes
-
-UnnamedText_55d03: ; 0x55d03
-	TX_FAR _UnnamedText_55d03
-	db $50
-; 0x55d03 + 5 bytes
-
-UnnamedText_55d08: ; 0x55d08
-	TX_FAR _UnnamedText_55d08
-	db $50
-; 0x55d08 + 5 bytes
-
-Route17Text10: ; 0x55d0d
-	db $08 ; asm
-	ld hl, TrainerHeader_55c1f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55d17: ; 0x55d17
-	TX_FAR _UnnamedText_55d17
-	db $50
-; 0x55d17 + 5 bytes
-
-UnnamedText_55d1c: ; 0x55d1c
-	TX_FAR _UnnamedText_55d1c
-	db $50
-; 0x55d1c + 5 bytes
-
-UnnamedText_55d21: ; 0x55d21
-	TX_FAR _UnnamedText_55d21
-	db $50
-; 0x55d21 + 5 bytes
-
-Route17Text11: ; 0x55d26
-	TX_FAR _Route17Text11
-	db $50
-
-Route17Text12: ; 0x55d2b
-	TX_FAR _Route17Text12
-	db $50
-
-Route17Text13: ; 0x55d30
-	TX_FAR _Route17Text13
-	db $50
-
-Route17Text14: ; 0x55d35
-	TX_FAR _Route17Text14
-	db $50
-
-Route17Text15: ; 0x55d3a
-	TX_FAR _Route17Text15
-	db $50
-
-Route17Text16: ; 0x55d3f
-	TX_FAR _Route17Text16
-	db $50
-
-Route19Script: ; 0x55d44
-	call $3c3c
-	ld hl, Route19TrainerHeaders
-	ld de, Route19_Unknown55d57
-	ld a, [$d61d]
-	call $3160
-	ld [$d61d], a
-	ret
-; 0x55d57
-
-Route19_Unknown55d57: ; 0x55d57
-INCBIN "baserom.gbc",$55d57,$6
-
-Route19Texts: ; 0x55d5d
-	dw Route19Text1, Route19Text2, Route19Text3, Route19Text4, Route19Text5, Route19Text6, Route19Text7, Route19Text8, Route19Text9, Route19Text10, Route19Text11
-
-Route19TrainerHeaders:
-Route19TrainerHeader1: ; 0x55d73
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55e50 ; 0x5e50 TextBeforeBattle
-	dw UnnamedText_55e5a ; 0x5e5a TextAfterBattle
-	dw UnnamedText_55e55 ; 0x5e55 TextEndBattle
-	dw UnnamedText_55e55 ; 0x5e55 TextEndBattle
-; 0x55d7f
-
-TrainerHeader_55d7f: ; 0x55d7f
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55e5f ; 0x5e5f TextBeforeBattle
-	dw UnnamedText_55e69 ; 0x5e69 TextAfterBattle
-	dw UnnamedText_55e64 ; 0x5e64 TextEndBattle
-	dw UnnamedText_55e64 ; 0x5e64 TextEndBattle
-; 0x55d8b
-
-TrainerHeader_55d8b: ; 0x55d8b
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55e6e ; 0x5e6e TextBeforeBattle
-	dw UnnamedText_55e78 ; 0x5e78 TextAfterBattle
-	dw UnnamedText_55e73 ; 0x5e73 TextEndBattle
-	dw UnnamedText_55e73 ; 0x5e73 TextEndBattle
-; 0x55d97
-
-TrainerHeader_55d97: ; 0x55d97
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55e7d ; 0x5e7d TextBeforeBattle
-	dw UnnamedText_55e87 ; 0x5e87 TextAfterBattle
-	dw UnnamedText_55e82 ; 0x5e82 TextEndBattle
-	dw UnnamedText_55e82 ; 0x5e82 TextEndBattle
-; 0x55da3
-
-TrainerHeader_55da3: ; 0x55da3
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55e8c ; 0x5e8c TextBeforeBattle
-	dw UnnamedText_55e96 ; 0x5e96 TextAfterBattle
-	dw UnnamedText_55e91 ; 0x5e91 TextEndBattle
-	dw UnnamedText_55e91 ; 0x5e91 TextEndBattle
-; 0x55daf
-
-TrainerHeader_55daf: ; 0x55daf
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55e9b ; 0x5e9b TextBeforeBattle
-	dw UnnamedText_55ea5 ; 0x5ea5 TextAfterBattle
-	dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle
-	dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle
-; 0x55dbb
-
-TrainerHeader_55dbb: ; 0x55dbb
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55eaa ; 0x5eaa TextBeforeBattle
-	dw UnnamedText_55eb4 ; 0x5eb4 TextAfterBattle
-	dw UnnamedText_55eaf ; 0x5eaf TextEndBattle
-	dw UnnamedText_55eaf ; 0x5eaf TextEndBattle
-; 0x55dc7
-
-TrainerHeader_55dc7: ; 0x55dc7
-	db $8 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55eb9 ; 0x5eb9 TextBeforeBattle
-	dw UnnamedText_55ec3 ; 0x5ec3 TextAfterBattle
-	dw UnnamedText_55ebe ; 0x5ebe TextEndBattle
-	dw UnnamedText_55ebe ; 0x5ebe TextEndBattle
-; 0x55dd3
-
-TrainerHeader_55dd3: ; 0x55dd3
-	db $9 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55ec8 ; 0x5ec8 TextBeforeBattle
-	dw UnnamedText_55ed2 ; 0x5ed2 TextAfterBattle
-	dw UnnamedText_55ecd ; 0x5ecd TextEndBattle
-	dw UnnamedText_55ecd ; 0x5ecd TextEndBattle
-; 0x55ddf
-
-TrainerHeader_55ddf: ; 0x55ddf
-	db $a ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e5 ; flag's byte
-	dw UnnamedText_55ed7 ; 0x5ed7 TextBeforeBattle
-	dw UnnamedText_55ee1 ; 0x5ee1 TextAfterBattle
-	dw UnnamedText_55edc ; 0x5edc TextEndBattle
-	dw UnnamedText_55edc ; 0x5edc TextEndBattle
-; 0x55deb
-
-db $ff
-
-Route19Text1: ; 0x55dec
-	db $08 ; asm
-	ld hl, Route19TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text2: ; 0x55df6
-	db $08 ; asm
-	ld hl, TrainerHeader_55d7f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text3: ; 0x55e00
-	db $08 ; asm
-	ld hl, TrainerHeader_55d8b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text4: ; 0x55e0a
-	db $08 ; asm
-	ld hl, TrainerHeader_55d97
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text5: ; 0x55e14
-	db $08 ; asm
-	ld hl, TrainerHeader_55da3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text6: ; 0x55e1e
-	db $08 ; asm
-	ld hl, TrainerHeader_55daf
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text7: ; 0x55e28
-	db $08 ; asm
-	ld hl, TrainerHeader_55dbb
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text8: ; 0x55e32
-	db $08 ; asm
-	ld hl, TrainerHeader_55dc7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text9: ; 0x55e3c
-	db $08 ; asm
-	ld hl, TrainerHeader_55dd3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route19Text10: ; 0x55e46
-	db $08 ; asm
-	ld hl, TrainerHeader_55ddf
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55e50: ; 0x55e50
-	TX_FAR _UnnamedText_55e50
-	db $50
-; 0x55e50 + 5 bytes
-
-UnnamedText_55e55: ; 0x55e55
-	TX_FAR _UnnamedText_55e55
-	db $50
-; 0x55e55 + 5 bytes
-
-UnnamedText_55e5a: ; 0x55e5a
-	TX_FAR _UnnamedText_55e5a
-	db $50
-; 0x55e5a + 5 bytes
-
-UnnamedText_55e5f: ; 0x55e5f
-	TX_FAR _UnnamedText_55e5f
-	db $50
-; 0x55e5f + 5 bytes
-
-UnnamedText_55e64: ; 0x55e64
-	TX_FAR _UnnamedText_55e64
-	db $50
-; 0x55e64 + 5 bytes
-
-UnnamedText_55e69: ; 0x55e69
-	TX_FAR _UnnamedText_55e69
-	db $50
-; 0x55e69 + 5 bytes
-
-UnnamedText_55e6e: ; 0x55e6e
-	TX_FAR _UnnamedText_55e6e
-	db $50
-; 0x55e6e + 5 bytes
-
-UnnamedText_55e73: ; 0x55e73
-	TX_FAR _UnnamedText_55e73
-	db $50
-; 0x55e73 + 5 bytes
-
-UnnamedText_55e78: ; 0x55e78
-	TX_FAR _UnnamedText_55e78
-	db $50
-; 0x55e78 + 5 bytes
-
-UnnamedText_55e7d: ; 0x55e7d
-	TX_FAR _UnnamedText_55e7d
-	db $50
-; 0x55e7d + 5 bytes
-
-UnnamedText_55e82: ; 0x55e82
-	TX_FAR _UnnamedText_55e82
-	db $50
-; 0x55e82 + 5 bytes
-
-UnnamedText_55e87: ; 0x55e87
-	TX_FAR _UnnamedText_55e87
-	db $50
-; 0x55e87 + 5 bytes
-
-UnnamedText_55e8c: ; 0x55e8c
-	TX_FAR _UnnamedText_55e8c
-	db $50
-; 0x55e8c + 5 bytes
-
-UnnamedText_55e91: ; 0x55e91
-	TX_FAR _UnnamedText_55e91
-	db $50
-; 0x55e91 + 5 bytes
-
-UnnamedText_55e96: ; 0x55e96
-	TX_FAR _UnnamedText_55e96
-	db $50
-; 0x55e96 + 5 bytes
-
-UnnamedText_55e9b: ; 0x55e9b
-	TX_FAR _UnnamedText_55e9b
-	db $50
-; 0x55e9b + 5 bytes
-
-UnnamedText_55ea0: ; 0x55ea0
-	TX_FAR _UnnamedText_55ea0
-	db $50
-; 0x55ea0 + 5 bytes
-
-UnnamedText_55ea5: ; 0x55ea5
-	TX_FAR _UnnamedText_55ea5
-	db $50
-; 0x55ea5 + 5 bytes
-
-UnnamedText_55eaa: ; 0x55eaa
-	TX_FAR _UnnamedText_55eaa
-	db $50
-; 0x55eaa + 5 bytes
-
-UnnamedText_55eaf: ; 0x55eaf
-	TX_FAR _UnnamedText_55eaf
-	db $50
-; 0x55eaf + 5 bytes
-
-UnnamedText_55eb4: ; 0x55eb4
-	TX_FAR _UnnamedText_55eb4
-	db $50
-; 0x55eb4 + 5 bytes
-
-UnnamedText_55eb9: ; 0x55eb9
-	TX_FAR _UnnamedText_55eb9
-	db $50
-; 0x55eb9 + 5 bytes
-
-UnnamedText_55ebe: ; 0x55ebe
-	TX_FAR _UnnamedText_55ebe
-	db $50
-; 0x55ebe + 5 bytes
-
-UnnamedText_55ec3: ; 0x55ec3
-	TX_FAR _UnnamedText_55ec3
-	db $50
-; 0x55ec3 + 5 bytes
-
-UnnamedText_55ec8: ; 0x55ec8
-	TX_FAR _UnnamedText_55ec8
-	db $50
-; 0x55ec8 + 5 bytes
-
-UnnamedText_55ecd: ; 0x55ecd
-	TX_FAR _UnnamedText_55ecd
-	db $50
-; 0x55ecd + 5 bytes
-
-UnnamedText_55ed2: ; 0x55ed2
-	TX_FAR _UnnamedText_55ed2
-	db $50
-; 0x55ed2 + 5 bytes
-
-UnnamedText_55ed7: ; 0x55ed7
-	TX_FAR _UnnamedText_55ed7
-	db $50
-; 0x55ed7 + 5 bytes
-
-UnnamedText_55edc: ; 0x55edc
-	TX_FAR _UnnamedText_55edc
-	db $50
-; 0x55edc + 5 bytes
-
-UnnamedText_55ee1: ; 0x55ee1
-	TX_FAR _UnnamedText_55ee1
-	db $50
-; 0x55ee1 + 5 bytes
-
-Route19Text11: ; 0x55ee6
-	TX_FAR _Route19Text11
-	db $50
-
-Route21Script: ; 0x55eeb
-	call $3c3c
-	ld hl, Route21TrainerHeaders
-	ld de, Route21_Unknown55efe
-	ld a, [$d61e]
-	call $3160
-	ld [$d61e], a
-	ret
-; 0x55efe
-
-Route21_Unknown55efe: ; 0x55efe
-INCBIN "baserom.gbc",$55efe,$6
-
-Route21Texts: ; 0x55f04
-	dw Route21Text1, Route21Text2, Route21Text3, Route21Text4, Route21Text5, Route21Text6, Route21Text7, Route21Text8, Route21Text9
-
-Route21TrainerHeaders:
-Route21TrainerHeader1: ; 0x55f16
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_55fdd ; 0x5fdd TextBeforeBattle
-	dw UnnamedText_55fe7 ; 0x5fe7 TextAfterBattle
-	dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle
-	dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle
-; 0x55f22
-
-TrainerHeader_55f22: ; 0x55f22
-	db $2 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_55fec ; 0x5fec TextBeforeBattle
-	dw UnnamedText_55ff6 ; 0x5ff6 TextAfterBattle
-	dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle
-	dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle
-; 0x55f2e
-
-TrainerHeader_55f2e: ; 0x55f2e
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_55ffb ; 0x5ffb TextBeforeBattle
-	dw UnnamedText_56005 ; 0x6005 TextAfterBattle
-	dw UnnamedText_56000 ; 0x6000 TextEndBattle
-	dw UnnamedText_56000 ; 0x6000 TextEndBattle
-; 0x55f3a
-
-TrainerHeader_55f3a: ; 0x55f3a
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_5600a ; 0x600a TextBeforeBattle
-	dw UnnamedText_56014 ; 0x6014 TextAfterBattle
-	dw UnnamedText_5600f ; 0x600f TextEndBattle
-	dw UnnamedText_5600f ; 0x600f TextEndBattle
-; 0x55f46
-
-TrainerHeader_55f46: ; 0x55f46
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_56019 ; 0x6019 TextBeforeBattle
-	dw UnnamedText_56023 ; 0x6023 TextAfterBattle
-	dw UnnamedText_5601e ; 0x601e TextEndBattle
-	dw UnnamedText_5601e ; 0x601e TextEndBattle
-; 0x55f52
-
-TrainerHeader_55f52: ; 0x55f52
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_56028 ; 0x6028 TextBeforeBattle
-	dw UnnamedText_56032 ; 0x6032 TextAfterBattle
-	dw UnnamedText_5602d ; 0x602d TextEndBattle
-	dw UnnamedText_5602d ; 0x602d TextEndBattle
-; 0x55f5e
-
-TrainerHeader_55f5e: ; 0x55f5e
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_56037 ; 0x6037 TextBeforeBattle
-	dw UnnamedText_56041 ; 0x6041 TextAfterBattle
-	dw UnnamedText_5603c ; 0x603c TextEndBattle
-	dw UnnamedText_5603c ; 0x603c TextEndBattle
-; 0x55f6a
-
-TrainerHeader_55f6a: ; 0x55f6a
-	db $8 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_56046 ; 0x6046 TextBeforeBattle
-	dw UnnamedText_56050 ; 0x6050 TextAfterBattle
-	dw UnnamedText_5604b ; 0x604b TextEndBattle
-	dw UnnamedText_5604b ; 0x604b TextEndBattle
-; 0x55f76
-
-TrainerHeader_55f76: ; 0x55f76
-	db $9 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7e9 ; flag's byte
-	dw UnnamedText_56055 ; 0x6055 TextBeforeBattle
-	dw UnnamedText_5605f ; 0x605f TextAfterBattle
-	dw UnnamedText_5605a ; 0x605a TextEndBattle
-	dw UnnamedText_5605a ; 0x605a TextEndBattle
-; 0x55f82
-
-db $ff
-
-Route21Text1: ; 0x55f83
-	db $08 ; asm
-	ld hl, Route21TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text2: ; 0x55f8d
-	db $08 ; asm
-	ld hl, TrainerHeader_55f22
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text3: ; 0x55f97
-	db $08 ; asm
-	ld hl, TrainerHeader_55f2e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text4: ; 0x55fa1
-	db $08 ; asm
-	ld hl, TrainerHeader_55f3a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text5: ; 0x55fab
-	db $08 ; asm
-	ld hl, TrainerHeader_55f46
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text6: ; 0x55fb5
-	db $08 ; asm
-	ld hl, TrainerHeader_55f52
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text7: ; 0x55fbf
-	db $08 ; asm
-	ld hl, TrainerHeader_55f5e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text8: ; 0x55fc9
-	db $08 ; asm
-	ld hl, TrainerHeader_55f6a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-Route21Text9: ; 0x55fd3
-	db $08 ; asm
-	ld hl, TrainerHeader_55f76
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_55fdd: ; 0x55fdd
-	TX_FAR _UnnamedText_55fdd
-	db $50
-; 0x55fdd + 5 bytes
-
-UnnamedText_55fe2: ; 0x55fe2
-	TX_FAR _UnnamedText_55fe2
-	db $50
-; 0x55fe2 + 5 bytes
-
-UnnamedText_55fe7: ; 0x55fe7
-	TX_FAR _UnnamedText_55fe7
-	db $50
-; 0x55fe7 + 5 bytes
-
-UnnamedText_55fec: ; 0x55fec
-	TX_FAR _UnnamedText_55fec
-	db $50
-; 0x55fec + 5 bytes
-
-UnnamedText_55ff1: ; 0x55ff1
-	TX_FAR _UnnamedText_55ff1
-	db $50
-; 0x55ff1 + 5 bytes
-
-UnnamedText_55ff6: ; 0x55ff6
-	TX_FAR _UnnamedText_55ff6
-	db $50
-; 0x55ff6 + 5 bytes
-
-UnnamedText_55ffb: ; 0x55ffb
-	TX_FAR _UnnamedText_55ffb
-	db $50
-; 0x55ffb + 5 bytes
-
-UnnamedText_56000: ; 0x56000
-	TX_FAR _UnnamedText_56000
-	db $50
-; 0x56000 + 5 bytes
-
-UnnamedText_56005: ; 0x56005
-	TX_FAR _UnnamedText_56005
-	db $50
-; 0x56005 + 5 bytes
-
-UnnamedText_5600a: ; 0x5600a
-	TX_FAR _UnnamedText_5600a
-	db $50
-; 0x5600a + 5 bytes
-
-UnnamedText_5600f: ; 0x5600f
-	TX_FAR _UnnamedText_5600f
-	db $50
-; 0x5600f + 5 bytes
-
-UnnamedText_56014: ; 0x56014
-	TX_FAR _UnnamedText_56014
-	db $50
-; 0x56014 + 5 bytes
-
-UnnamedText_56019: ; 0x56019
-	TX_FAR _UnnamedText_56019
-	db $50
-; 0x56019 + 5 bytes
-
-UnnamedText_5601e: ; 0x5601e
-	TX_FAR _UnnamedText_5601e
-	db $50
-; 0x5601e + 5 bytes
-
-UnnamedText_56023: ; 0x56023
-	TX_FAR _UnnamedText_56023
-	db $50
-; 0x56023 + 5 bytes
-
-UnnamedText_56028: ; 0x56028
-	TX_FAR _UnnamedText_56028
-	db $50
-; 0x56028 + 5 bytes
-
-UnnamedText_5602d: ; 0x5602d
-	TX_FAR _UnnamedText_5602d
-	db $50
-; 0x5602d + 5 bytes
-
-UnnamedText_56032: ; 0x56032
-	TX_FAR _UnnamedText_56032
-	db $50
-; 0x56032 + 5 bytes
-
-UnnamedText_56037: ; 0x56037
-	TX_FAR _UnnamedText_56037
-	db $50
-; 0x56037 + 5 bytes
-
-UnnamedText_5603c: ; 0x5603c
-	TX_FAR _UnnamedText_5603c
-	db $50
-; 0x5603c + 5 bytes
-
-UnnamedText_56041: ; 0x56041
-	TX_FAR _UnnamedText_56041
-	db $50
-; 0x56041 + 5 bytes
-
-UnnamedText_56046: ; 0x56046
-	TX_FAR _UnnamedText_56046
-	db $50
-; 0x56046 + 5 bytes
-
-UnnamedText_5604b: ; 0x5604b
-	TX_FAR _UnnamedText_5604b
-	db $50
-; 0x5604b + 5 bytes
-
-UnnamedText_56050: ; 0x56050
-	TX_FAR _UnnamedText_56050
-	db $50
-; 0x56050 + 5 bytes
-
-UnnamedText_56055: ; 0x56055
-	TX_FAR _UnnamedText_56055
-	db $50
-; 0x56055 + 5 bytes
-
-UnnamedText_5605a: ; 0x5605a
-	TX_FAR _UnnamedText_5605a
-	db $50
-; 0x5605a + 5 bytes
-
-UnnamedText_5605f: ; 0x5605f
-	TX_FAR _UnnamedText_5605f
-	db $50
-; 0x5605f + 5 bytes
-
-VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163)
-	db $08 ; tileset
-	db VERMILION_HOUSE_2_HEIGHT, VERMILION_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw VermilionHouse2Blocks, VermilionHouse2Texts, VermilionHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionHouse2Object ; objects
-
-VermilionHouse2Script: ; 0x56070
-	jp $3c3c
-; 0x56073
-
-VermilionHouse2Texts: ; 0x56073
-	dw VermilionHouse2Text1
-
-VermilionHouse2Text1: ; 0x56075
-	db $08 ; asm
-	ld a, [$d728]
-	bit 3, a
-	jr nz, asm_03ef5 ; 0x5607b
-	ld hl, UnnamedText_560b1
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, asm_eb1b7 ; 0x5608a
-	ld bc, (OLD_ROD << 8) | 1
-	call GiveItem
-	jr nc, asm_fd67b ; 0x56092
-	ld hl, $d728
-	set 3, [hl]
-	ld hl, UnnamedText_560b6
-	jr asm_5dd95 ; 0x5609c
-asm_fd67b ; 0x5609e
-	ld hl, UnnamedText_560ca
-	jr asm_5dd95 ; 0x560a1
-asm_eb1b7 ; 0x560a3
-	ld hl, UnnamedText_560c0
-	jr asm_5dd95 ; 0x560a6
-asm_03ef5 ; 0x560a8
-	ld hl, UnnamedText_560c5
-asm_5dd95 ; 0x560ab
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_560b1: ; 0x560b1
-	TX_FAR _UnnamedText_560b1
-	db $50
-; 0x560b1 + 5 bytes
-
-UnnamedText_560b6: ; 0x560b6
-	TX_FAR _UnnamedText_560b6 ; 0x9c554
-	db $0B
-	TX_FAR _UnnamedText_560bb ; 0x9c5a4
-	db $50
-; 0x560c0
-
-UnnamedText_560c0: ; 0x560c0
-	TX_FAR _UnnamedText_560c0
-	db $50
-; 0x560c0 + 5 bytes
-
-UnnamedText_560c5: ; 0x560c5
-	TX_FAR _UnnamedText_560c5
-	db $50
-; 0x560c5 + 5 bytes
-
-UnnamedText_560ca: ; 0x560ca
-	TX_FAR _UnnamedText_560ca
-	db $50
-; 0x560ca + 5 bytes
-
-VermilionHouse2Object: ; 0x560cf (size=26)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $8, $ff
-	db $7, $3, $8, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123)
-	db $12 ; tileset
-	db CELADON_MART_2_HEIGHT, CELADON_MART_2_WIDTH ; dimensions (y, x)
-	dw CeladonMart2Blocks, CeladonMart2Texts, CeladonMart2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMart2Object ; objects
-
-CeladonMart2Script: ; 0x560f5
-	jp $3c3c
-; 0x560f8
-
-CeladonMart2Texts: ; 0x560f8
-	dw CeladonMart2Text1, CeladonMart2Text2, CeladonMart2Text3, CeladonMart2Text4, CeladonMart2Text5
-
-CeladonMart2Text3: ; 0x56102
-	TX_FAR _CeladonMart2Text3
-	db $50
-
-CeladonMart2Text4: ; 0x56107
-	TX_FAR _CeladonMart2Text4
-	db $50
-
-CeladonMart2Text5: ; 0x5610c
-	TX_FAR _CeladonMart2Text5
-	db $50
-
-CeladonMart2Object: ; 0x56111 (size=55)
-	db $f ; border tile
-
-	db $3 ; warps
-	db $1, $c, $4, CELADON_MART_1
-	db $1, $10, $1, CELADON_MART_3
-	db $1, $1, $0, CELADON_MART_ELEVATOR
-
-	db $1 ; signs
-	db $1, $e, $5 ; CeladonMart2Text5
-
-	db $4 ; people
-	db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $1 ; person
-	db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $2 ; person
-	db SPRITE_FAT_BALD_GUY, $5 + 4, $13 + 4, $ff, $ff, $3 ; person
-	db SPRITE_GIRL, $4 + 4, $e + 4, $fe, $1, $4 ; person
-
-	; warp-to
-	EVENT_DISP $a, $1, $c ; CELADON_MART_1
-	EVENT_DISP $a, $1, $10 ; CELADON_MART_3
-	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
-
-CeladonMart2Blocks: ; 0x56148 40
-	INCBIN "maps/celadonmart2.blk"
-
-FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164)
-	db $0d ; tileset
-	db FUCHSIA_HOUSE_3_HEIGHT, FUCHSIA_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw FuchsiaHouse3Blocks, FuchsiaHouse3Texts, FuchsiaHouse3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaHouse3Object ; objects
-
-FuchsiaHouse3Script: ; 0x5617c
-	jp $3c3c
-; 0x5617f
-
-FuchsiaHouse3Texts: ; 0x5617f
-	dw FuchsiaHouse3Text1
-
-FuchsiaHouse3Text1: ; 0x56181
-	db $08 ; asm
-	ld a, [$d728]
-	bit 4, a
-	jr nz, asm_6084e ; 0x56187
-	ld hl, UnnamedText_561bd
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, asm_3ace4 ; 0x56196
-	ld bc, (GOOD_ROD << 8) | 1
-	call GiveItem
-	jr nc, asm_628ee ; 0x5619e
-	ld hl, $d728
-	set 4, [hl]
-	ld hl, UnnamedText_561c2
-	jr asm_1b09c ; 0x561a8
-asm_628ee ; 0x561aa
-	ld hl, UnnamedText_5621c
-	jr asm_1b09c ; 0x561ad
-asm_3ace4 ; 0x561af
-	ld hl, UnnamedText_56212
-	jr asm_1b09c ; 0x561b2
-asm_6084e ; 0x561b4
-	ld hl, UnnamedText_56217
-asm_1b09c ; 0x561b7
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_561bd: ; 0x561bd
-	TX_FAR _UnnamedText_561bd
-	db $50
-; 0x561bd + 5 bytes
-
-UnnamedText_561c2: ; 0x561c2
-	TX_FAR _UnnamedText_561c2 ; 0xa06e8
-	db $0B, $50
-; 0x561c8
-
-INCBIN "baserom.gbc",$561c8,$56212 - $561c8
-
-UnnamedText_56212: ; 0x56212
-	TX_FAR _UnnamedText_56212
-	db $50
-; 0x56212 + 5 bytes
-
-UnnamedText_56217: ; 0x56217
-	TX_FAR _UnnamedText_56217
-	db $50
-; 0x56217 + 5 bytes
-
-UnnamedText_5621c: ; 0x5621c
-	TX_FAR _UnnamedText_5621c
-	db $50
-; 0x5621c + 5 bytes
-
-FuchsiaHouse3Object: ; 0x56221 (size=34)
-	db $c ; border tile
-
-	db $3 ; warps
-	db $0, $2, $8, $ff
-	db $7, $2, $7, $ff
-	db $7, $3, $7, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d3, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $0, $2
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72)
-	db $08 ; tileset
-	db DAYCAREM_HEIGHT, DAYCAREM_WIDTH ; dimensions (y, x)
-	dw DayCareMBlocks, DayCareMTexts, DayCareMScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw DayCareMObject ; objects
-
-DayCareMScript: ; 0x5624f
-	jp $3c3c
-; 0x56252
-
-DayCareMTexts: ; 0x56252
-	dw DayCareMText1
-
-DayCareMText1: ; 0x56254
-	db $8
-	call $36f4
-	ld a, [$da48]
-	and a
-	jp nz, Unnamed_562e1
-	ld hl, UnnamedText_5640f
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	ld hl, UnnamedText_5643b
-	jp nz, Unnamed_56409
-	ld a, [$d163]
-	dec a
-	ld hl, UnnamedText_56445
-	jp z, Unnamed_56409
-	ld hl, UnnamedText_56414
-	call PrintText
-	xor a
-	ld [$cfcb], a
-	ld [$d07d], a
-	ld [$cc35], a
-	call $13fc
-	push af
-	call $3dd4
-	call $3dbe
-	call $20ba
-	pop af
-	ld hl, UnnamedText_56437
-	jp c, Unnamed_56409
-	ld hl, TrainerHeader_5571b
-	ld b, $8
-	call Bankswitch
-	ld hl, UnnamedText_5644a
-	jp c, Unnamed_56409
-	xor a
-	ld [$cc2b], a
-	ld a, [$cf92]
-	ld hl, $d2b5
-	call $15ba
-	ld hl, UnnamedText_56419
-	call PrintText
-	ld a, $1
-	ld [$da48], a
-	ld a, $3
-	ld [$cf95], a
-	call $3a68
-	xor a
-	ld [$cf95], a
-	call $391f
-	ld a, [$cf91]
-	call $13d0
-	ld hl, UnnamedText_5641e
-	jp Unnamed_56409
-; 0x562e1
-
-Unnamed_562e1:
-INCBIN "baserom.gbc",$562e1,$56409 - $562e1
-
-Unnamed_56409: ; 0x56409
-	call PrintText
-	jp TextScriptEnd
-; 0x5640f
-
-UnnamedText_5640f: ; 0x5640f
-	TX_FAR _UnnamedText_5640f
-	db $50
-; 0x5640f + 5 bytes
-
-UnnamedText_56414: ; 0x56414
-	TX_FAR _UnnamedText_56414
-	db $50
-; 0x56414 + 5 bytes
-
-UnnamedText_56419: ; 0x56419
-	TX_FAR _UnnamedText_56419
-	db $50
-; 0x56419 + 5 bytes
-
-UnnamedText_5641e: ; 0x5641e
-	TX_FAR _UnnamedText_5641e
-	db $50
-; 0x5641e + 5 bytes
-
-UnnamedText_56423: ; 0x56423
-	TX_FAR _UnnamedText_56423
-	db $50
-; 0x56423 + 5 bytes
-
-UnnamedText_56428: ; 0x56428
-	TX_FAR _UnnamedText_56428
-	db $50
-; 0x56428 + 5 bytes
-
-UnnamedText_5642d: ; 0x5642d
-	TX_FAR _UnnamedText_5642d
-	db $50
-; 0x5642d + 5 bytes
-
-UnnamedText_56432: ; 0x56432
-	TX_FAR _UnnamedText_56432
-	db $50
-; 0x56432 + 5 bytes
-
-UnnamedText_56437: ; 0x56437
-	TX_FAR _UnnamedText_56437 ; 0x8c000
-UnnamedText_5643b: ; 0x5643b
-	TX_FAR _UnnamedText_5643b ; 0x8c013
-	db $50
-; 0x5643b + 5 bytes
-
-UnnamedText_56440: ; 0x56440
-	TX_FAR _UnnamedText_56440
-	db $50
-; 0x56440 + 5 bytes
-
-UnnamedText_56445: ; 0x56445
-	TX_FAR _UnnamedText_56445
-	db $50
-; 0x56445 + 5 bytes
-
-UnnamedText_5644a: ; 0x5644a
-	TX_FAR _UnnamedText_5644a
-	db $50
-; 0x5644a + 5 bytes
-
-UnnamedText_5644f: ; 0x5644f
-	TX_FAR _UnnamedText_5644f
-	db $50
-; 0x5644f + 5 bytes
-
-UnnamedText_56454: ; 0x56454
-	TX_FAR _UnnamedText_56454
-	db $50
-; 0x56454 + 5 bytes
-
-DayCareMObject: ; 0x56459 (size=26)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $4, $ff
-	db $7, $3, $4, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189)
-	db $08 ; tileset
-	db ROUTE_12_HOUSE_HEIGHT, ROUTE_12_HOUSE_WIDTH ; dimensions (y, x)
-	dw Route12HouseBlocks, Route12HouseTexts, Route12HouseScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route12HouseObject ; objects
-
-Route12HouseScript: ; 0x5647f
-	jp $3c3c
-; 0x56482
-
-Route12HouseTexts: ; 0x56482
-	dw Route12HouseText1
-
-Route12HouseText1: ; 0x56484
-	db $08 ; asm
-	ld a, [$d728]
-	bit 5, a
-	jr nz, asm_b4cad ; 0x5648a
-	ld hl, UnnamedText_564c0
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, asm_a2d76 ; 0x56499
-	ld bc, (SUPER_ROD << 8) | 1
-	call GiveItem
-	jr nc, asm_e3b89 ; 0x564a1
-	ld hl, $d728
-	set 5, [hl]
-	ld hl, UnnamedText_564c5
-	jr asm_df984 ; 0x564ab
-asm_e3b89 ; 0x564ad
-	ld hl, UnnamedText_564d9
-	jr asm_df984 ; 0x564b0
-asm_a2d76 ; 0x564b2
-	ld hl, UnnamedText_564cf
-	jr asm_df984 ; 0x564b5
-asm_b4cad ; 0x564b7
-	ld hl, UnnamedText_564d4
-asm_df984 ; 0x564ba
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_564c0: ; 0x564c0
-	TX_FAR _UnnamedText_564c0
-	db $50
-; 0x564c0 + 5 bytes
-
-UnnamedText_564c5: ; 0x564c5
-	TX_FAR _UnnamedText_564c5 ; 0x8ca00
-	db $0B
-	TX_FAR _UnnamedText_564ca ; 0x8ca4f
-	db $50
-; 0x564c5 + 10 bytes = 0x564cf
-
-UnnamedText_564cf: ; 0x564cf
-	TX_FAR _UnnamedText_564cf
-	db $50
-; 0x564cf + 5 bytes
-
-UnnamedText_564d4: ; 0x564d4
-	TX_FAR _UnnamedText_564d4
-	db $50
-; 0x564d4 + 5 bytes
-
-UnnamedText_564d9: ; 0x564d9
-	TX_FAR _UnnamedText_564d9
-	db $50
-; 0x564d9 + 5 bytes
-
-Route12HouseObject: ; 0x564de (size=26)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $3, $ff
-	db $7, $3, $3, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-SilphCo8_h: ; 0x564f8 to 0x56504 (12 bytes) (id=213)
-	db $16 ; tileset
-	db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x)
-	dw SilphCo8Blocks, SilphCo8Texts, SilphCo8Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo8Object ; objects
-
-SilphCo8Script: ; 0x56504
-	call SilphCo8_Unknown5651a
-	call $3c3c
-	ld hl, SilphCo8TrainerHeader1
-	ld de, $6577
-	ld a, [$d649]
-	call $3160
-	ld [$d649], a
-	ret
-; 0x5651a
-
-SilphCo8_Unknown5651a: ; 0x5651a
-INCBIN "baserom.gbc",$5651a,$63
-
-SilphCo8Texts: ; 0x5657d
-	dw SilphCo8Text1, SilphCo8Text2, SilphCo8Text3, SilphCo8Text4
-
-SilphCo8TrainerHeaders:
-SilphCo8TrainerHeader1: ; 0x56585
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d831 ; flag's byte
-	dw UnnamedText_565e6 ; 0x65e6 TextBeforeBattle
-	dw UnnamedText_565f0 ; 0x65f0 TextAfterBattle
-	dw UnnamedText_565eb ; 0x65eb TextEndBattle
-	dw UnnamedText_565eb ; 0x65eb TextEndBattle
-; 0x56591
-
-TrainerHeader_56591: ; 0x56591
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d831 ; flag's byte
-	dw UnnamedText_565f5 ; 0x65f5 TextBeforeBattle
-	dw UnnamedText_565ff ; 0x65ff TextAfterBattle
-	dw UnnamedText_565fa ; 0x65fa TextEndBattle
-	dw UnnamedText_565fa ; 0x65fa TextEndBattle
-; 0x5659d
-
-TrainerHeader_5659d: ; 0x5659d
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d831 ; flag's byte
-	dw UnnamedText_56604 ; 0x6604 TextBeforeBattle
-	dw UnnamedText_5660e ; 0x660e TextAfterBattle
-	dw UnnamedText_56609 ; 0x6609 TextEndBattle
-	dw UnnamedText_56609 ; 0x6609 TextEndBattle
-; 0x565a9
-
-db $ff
-
-SilphCo8Text1: ; 0x565aa
-	db $08 ; asm
-	ld a, [$d838]
-	bit 7, a
-	ld hl, UnnamedText_565c3
-	jr nz, asm_a468f ; 0x565b3
-	ld hl, UnnamedText_565be
-asm_a468f ; 0x565b8
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_565be: ; 0x565be
-	TX_FAR _UnnamedText_565be
-	db $50
-; 0x565be + 5 bytes
-
-UnnamedText_565c3: ; 0x565c3
-	TX_FAR _UnnamedText_565c3
-	db $50
-; 0x565c3 + 5 bytes
-
-SilphCo8Text2: ; 0x565c8
-	db $08 ; asm
-	ld hl, SilphCo8TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo8Text3: ; 0x565d2
-	db $08 ; asm
-	ld hl, TrainerHeader_56591
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo8Text4: ; 0x565dc
-	db $08 ; asm
-	ld hl, TrainerHeader_5659d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_565e6: ; 0x565e6
-	TX_FAR _UnnamedText_565e6
-	db $50
-; 0x565e6 + 5 bytes
-
-UnnamedText_565eb: ; 0x565eb
-	TX_FAR _UnnamedText_565eb
-	db $50
-; 0x565eb + 5 bytes
-
-UnnamedText_565f0: ; 0x565f0
-	TX_FAR _UnnamedText_565f0
-	db $50
-; 0x565f0 + 5 bytes
-
-UnnamedText_565f5: ; 0x565f5
-	TX_FAR _UnnamedText_565f5
-	db $50
-; 0x565f5 + 5 bytes
-
-UnnamedText_565fa: ; 0x565fa
-	TX_FAR _UnnamedText_565fa
-	db $50
-; 0x565fa + 5 bytes
-
-UnnamedText_565ff: ; 0x565ff
-	TX_FAR _UnnamedText_565ff
-	db $50
-; 0x565ff + 5 bytes
-
-UnnamedText_56604: ; 0x56604
-	TX_FAR _UnnamedText_56604
-	db $50
-; 0x56604 + 5 bytes
-
-UnnamedText_56609: ; 0x56609
-	TX_FAR _UnnamedText_56609
-	db $50
-; 0x56609 + 5 bytes
-
-UnnamedText_5660e: ; 0x5660e
-	TX_FAR _UnnamedText_5660e
-	db $50
-; 0x5660e + 5 bytes
-
-SilphCo8Object: ; 0x56613 (size=90)
-	db $2e ; border tile
-
-	db $7 ; warps
-	db $0, $10, $1, SILPH_CO_9F
-	db $0, $e, $0, SILPH_CO_7F
-	db $0, $12, $0, SILPH_CO_ELEVATOR
-	db $b, $3, $6, SILPH_CO_8F
-	db $f, $3, $4, SILPH_CO_2F
-	db $5, $b, $5, SILPH_CO_2F
-	db $9, $b, $3, SILPH_CO_8F
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_LAPRAS_GIVER, $2 + 4, $4 + 4, $ff, $ff, $1 ; person
-	db SPRITE_ROCKET, $2 + 4, $13 + 4, $ff, $d2, $42, ROCKET + $C8, $23 ; trainer
-	db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d0, $43, SCIENTIST + $C8, $9 ; trainer
-	db SPRITE_ROCKET, $f + 4, $c + 4, $ff, $d3, $44, ROCKET + $C8, $24 ; trainer
-
-	; warp-to
-	EVENT_DISP $d, $0, $10 ; SILPH_CO_9F
-	EVENT_DISP $d, $0, $e ; SILPH_CO_7F
-	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $d, $b, $3 ; SILPH_CO_8F
-	EVENT_DISP $d, $f, $3 ; SILPH_CO_2F
-	EVENT_DISP $d, $5, $b ; SILPH_CO_2F
-	EVENT_DISP $d, $9, $b ; SILPH_CO_8F
-
-SilphCo8Blocks: ; 0x5666d 117
-	INCBIN "maps/silphco8.blk"
-
-INCBIN "baserom.gbc",$566e2,$191e
-
-SECTION "bank16",DATA,BANK[$16]
-
-Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17)
-	db $00 ; tileset
-	db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x)
-	dw Route6Blocks, Route6Texts, Route6Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-
-	; connections data
-
-	db SAFFRON_CITY
-	dw SaffronCityBlocks + (SAFFRON_CITY_HEIGHT - 3) * SAFFRON_CITY_WIDTH + 2 ; connection strip location
-	dw $C6EB + -3 ; current map position
-	db $10, SAFFRON_CITY_WIDTH ; bigness, width
-	db (SAFFRON_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x)
-	dw $C6E9 + SAFFRON_CITY_HEIGHT * (SAFFRON_CITY_WIDTH + 6) ; window
-
-	db VERMILION_CITY
-	dw VermilionCityBlocks + 2 ; connection strip location
-	dw $C6EB + (ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6) + -3 ; current map position
-	db $10, VERMILION_CITY_WIDTH ; bigness, width
-	db 0, (-5 * -2) ; alignments (y, x)
-	dw $C6EF + VERMILION_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route6Object ; objects
-
-Route6Object: ; 0x58022 (size=87)
-	db $f ; border tile
-
-	db $4 ; warps
-	db $1, $9, $2, ROUTE_6_GATE
-	db $1, $a, $2, ROUTE_6_GATE
-	db $7, $a, $0, ROUTE_6_GATE
-	db $d, $11, $0, PATH_ENTRANCE_ROUTE_6
-
-	db $1 ; signs
-	db $f, $13, $7 ; Route6Text7
-
-	db $6 ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $15 + 4, $a + 4, $ff, $d3, $41, JR__TRAINER_M + $C8, $4 ; trainer
-	db SPRITE_LASS, $15 + 4, $b + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $f + 4, $0 + 4, $ff, $d3, $43, BUG_CATCHER + $C8, $a ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $5 ; trainer
-	db SPRITE_LASS, $1e + 4, $b + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $3 ; trainer
-	db SPRITE_BUG_CATCHER, $1a + 4, $13 + 4, $ff, $d2, $46, BUG_CATCHER + $C8, $b ; trainer
-
-	; warp-to
-	EVENT_DISP $a, $1, $9 ; ROUTE_6_GATE
-	EVENT_DISP $a, $1, $a ; ROUTE_6_GATE
-	EVENT_DISP $a, $7, $a ; ROUTE_6_GATE
-	EVENT_DISP $a, $d, $11 ; PATH_ENTRANCE_ROUTE_6
-
-Route6Blocks: ; 0x58079 180
-	INCBIN "maps/route6.blk"
-
-Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19)
-	db $00 ; tileset
-	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x)
-	dw Route8Blocks, Route8Texts, Route8Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db SAFFRON_CITY
-	dw SaffronCityBlocks - 3 + (SAFFRON_CITY_WIDTH * 2) ; connection strip location
-	dw $C6E8 + (ROUTE_8_WIDTH + 6) * (-3 + 3) ; current map position
-	db $f, SAFFRON_CITY_WIDTH ; bigness, width
-	db (-4 * -2), (SAFFRON_CITY_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * SAFFRON_CITY_WIDTH ; window
-
-	db LAVENDER_TOWN
-	dw LavenderTownBlocks + (LAVENDER_TOWN_WIDTH * 0) ; connection strip location
-	dw $C6E5 + (ROUTE_8_WIDTH + 6) * (0 + 4) ; current map position
-	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; bigness, width
-	db (0 * -2), 0 ; alignments (y, x)
-	dw $C6EF + LAVENDER_TOWN_WIDTH ; window
-
-	; end connections data
-
-	dw Route8Object ; objects
-
-Route8Object: ; 0x5814f (size=119)
-	db $2c ; border tile
-
-	db $5 ; warps
-	db $9, $1, $0, ROUTE_8_GATE
-	db $a, $1, $1, ROUTE_8_GATE
-	db $9, $8, $2, ROUTE_8_GATE
-	db $a, $8, $3, ROUTE_8_GATE
-	db $3, $d, $0, PATH_ENTRANCE_ROUTE_8
-
-	db $1 ; signs
-	db $3, $11, $a ; Route8Text10
-
-	db $9 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $8 + 4, $ff, $d3, $41, SUPER_NERD + $C8, $3 ; trainer
-	db SPRITE_GAMBLER, $9 + 4, $d + 4, $ff, $d1, $42, GAMBLER + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $6 + 4, $2a + 4, $ff, $d1, $43, SUPER_NERD + $C8, $4 ; trainer
-	db SPRITE_LASS, $3 + 4, $1a + 4, $ff, $d2, $44, LASS + $C8, $d ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $1a + 4, $ff, $d3, $45, SUPER_NERD + $C8, $5 ; trainer
-	db SPRITE_LASS, $5 + 4, $1a + 4, $ff, $d2, $46, LASS + $C8, $e ; trainer
-	db SPRITE_LASS, $6 + 4, $1a + 4, $ff, $d3, $47, LASS + $C8, $f ; trainer
-	db SPRITE_GAMBLER, $d + 4, $2e + 4, $ff, $d0, $48, GAMBLER + $C8, $7 ; trainer
-	db SPRITE_LASS, $c + 4, $33 + 4, $ff, $d2, $49, LASS + $C8, $10 ; trainer
-
-	; warp-to
-	EVENT_DISP $1e, $9, $1 ; ROUTE_8_GATE
-	EVENT_DISP $1e, $a, $1 ; ROUTE_8_GATE
-	EVENT_DISP $1e, $9, $8 ; ROUTE_8_GATE
-	EVENT_DISP $1e, $a, $8 ; ROUTE_8_GATE
-	EVENT_DISP $1e, $3, $d ; PATH_ENTRANCE_ROUTE_8
-
-Route8Blocks: ; 0x581c6 270
-	INCBIN "maps/route8.blk"
-
-Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21)
-	db $00 ; tileset
-	db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x)
-	dw Route10Blocks, Route10Texts, Route10Script ; blocks, texts, scripts
-	db SOUTH | WEST ; connections
-
-	; connections data
-
-	db LAVENDER_TOWN
-	dw LavenderTownBlocks ; connection strip location
-	dw $C6EB + (ROUTE_10_HEIGHT + 3) * (ROUTE_10_WIDTH + 6) + 0 ; current map position
-	db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + LAVENDER_TOWN_WIDTH ; window
-
-	db ROUTE_9
-	dw Route9Blocks - 3 + (ROUTE_9_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_10_WIDTH + 6) * (0 + 3) ; current map position
-	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width
-	db (0 * -2), (ROUTE_9_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_9_WIDTH ; window
-
-	; end connections data
-
-	dw Route10Object ; objects
-
-Route10Object: ; 0x582f6 (size=96)
-	db $2c ; border tile
-
-	db $4 ; warps
-	db $13, $b, $0, ROCK_TUNNEL_POKECENTER
-	db $11, $8, $0, ROCK_TUNNEL_1
-	db $35, $8, $2, ROCK_TUNNEL_1
-	db $27, $6, $0, POWER_PLANT
-
-	db $4 ; signs
-	db $13, $7, $7 ; Route10Text7
-	db $13, $c, $8 ; Route10Text8
-	db $37, $9, $9 ; Route10Text9
-	db $29, $5, $a ; Route10Text10
-
-	db $6 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $2c + 4, $a + 4, $ff, $d2, $41, POKEMANIAC + $C8, $1 ; trainer
-	db SPRITE_HIKER, $39 + 4, $3 + 4, $ff, $d1, $42, HIKER + $C8, $7 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $40 + 4, $e + 4, $ff, $d2, $43, POKEMANIAC + $C8, $2 ; trainer
-	db SPRITE_LASS, $19 + 4, $7 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $7 ; trainer
-	db SPRITE_HIKER, $3d + 4, $3 + 4, $ff, $d0, $45, HIKER + $C8, $8 ; trainer
-	db SPRITE_LASS, $36 + 4, $7 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $8 ; trainer
-
-	; warp-to
-	EVENT_DISP $a, $13, $b ; ROCK_TUNNEL_POKECENTER
-	EVENT_DISP $a, $11, $8 ; ROCK_TUNNEL_1
-	EVENT_DISP $a, $35, $8 ; ROCK_TUNNEL_1
-	EVENT_DISP $a, $27, $6 ; POWER_PLANT
-
-Route10Blocks: ; 0x58356 360
-	INCBIN "maps/route10.blk"
-
-Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22)
-	db $00 ; tileset
-	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x)
-	dw Route11Blocks, Route11Texts, Route11Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db VERMILION_CITY
-	dw VermilionCityBlocks - 3 + (VERMILION_CITY_WIDTH * 2) ; connection strip location
-	dw $C6E8 + (ROUTE_11_WIDTH + 6) * (-3 + 3) ; current map position
-	db $f, VERMILION_CITY_WIDTH ; bigness, width
-	db (-4 * -2), (VERMILION_CITY_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * VERMILION_CITY_WIDTH ; window
-
-	db ROUTE_12
-	dw Route12Blocks + (ROUTE_12_WIDTH * 24) ; connection strip location
-	dw $C6E5 + (ROUTE_11_WIDTH + 6) * (-3 + 4) ; current map position
-	db $f, ROUTE_12_WIDTH ; bigness, width
-	db (-27 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_12_WIDTH ; window
-
-	; end connections data
-
-	dw Route11Object ; objects
-
-Route11Object: ; 0x584e0 (size=127)
-	db $f ; border tile
-
-	db $5 ; warps
-	db $8, $31, $0, ROUTE_11_GATE_1F
-	db $9, $31, $1, ROUTE_11_GATE_1F
-	db $8, $3a, $2, ROUTE_11_GATE_1F
-	db $9, $3a, $3, ROUTE_11_GATE_1F
-	db $5, $4, $0, DIGLETTS_CAVE_ENTRANCE
-
-	db $1 ; signs
-	db $5, $1, $b ; Route11Text11
-
-	db $a ; people
-	db SPRITE_GAMBLER, $e + 4, $a + 4, $ff, $d0, $41, GAMBLER + $C8, $1 ; trainer
-	db SPRITE_GAMBLER, $9 + 4, $1a + 4, $ff, $d0, $42, GAMBLER + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $5 + 4, $d + 4, $ff, $d2, $43, YOUNGSTER + $C8, $9 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $24 + 4, $ff, $d0, $44, ENGINEER + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $4 + 4, $16 + 4, $ff, $d1, $45, YOUNGSTER + $C8, $a ; trainer
-	db SPRITE_GAMBLER, $7 + 4, $2d + 4, $ff, $d0, $46, GAMBLER + $C8, $3 ; trainer
-	db SPRITE_GAMBLER, $3 + 4, $21 + 4, $ff, $d1, $47, GAMBLER + $C8, $4 ; trainer
-	db SPRITE_BUG_CATCHER, $5 + 4, $2b + 4, $ff, $d3, $48, YOUNGSTER + $C8, $b ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $10 + 4, $2d + 4, $ff, $d2, $49, ENGINEER + $C8, $3 ; trainer
-	db SPRITE_BUG_CATCHER, $c + 4, $16 + 4, $ff, $d1, $4a, YOUNGSTER + $C8, $c ; trainer
-
-	; warp-to
-	EVENT_DISP $1e, $8, $31 ; ROUTE_11_GATE_1F
-	EVENT_DISP $1e, $9, $31 ; ROUTE_11_GATE_1F
-	EVENT_DISP $1e, $8, $3a ; ROUTE_11_GATE_1F
-	EVENT_DISP $1e, $9, $3a ; ROUTE_11_GATE_1F
-	EVENT_DISP $1e, $5, $4 ; DIGLETTS_CAVE_ENTRANCE
-
-Route11Blocks: ; 0x5855f 270
-	INCBIN "maps/route11.blk"
-
-Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23)
-	db $00 ; tileset
-	db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x)
-	dw Route12Blocks, Route12Texts, Route12Script ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST ; connections
-
-	; connections data
-
-	db LAVENDER_TOWN
-	dw LavenderTownBlocks + (LAVENDER_TOWN_HEIGHT - 3) * LAVENDER_TOWN_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width
-	db (LAVENDER_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + LAVENDER_TOWN_HEIGHT * (LAVENDER_TOWN_WIDTH + 6) ; window
-
-	db ROUTE_13
-	dw Route13Blocks + 17 ; connection strip location
-	dw $C6EB + (ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6) + -3 ; current map position
-	db $d, ROUTE_13_WIDTH ; bigness, width
-	db 0, (-20 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_13_WIDTH ; window
-
-	db ROUTE_11
-	dw Route11Blocks - 3 + (ROUTE_11_WIDTH) ; connection strip location
-	dw $C6E8 + (ROUTE_12_WIDTH + 6) * (27 + 3) ; current map position
-	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width
-	db (27 * -2), (ROUTE_11_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * ROUTE_11_WIDTH ; window
-
-	; end connections data
-
-	dw Route12Object ; objects
-
-Route12Object: ; 0x5869a (size=118)
-	db $43 ; border tile
-
-	db $4 ; warps
-	db $f, $a, $0, ROUTE_12_GATE
-	db $f, $b, $1, ROUTE_12_GATE
-	db $15, $a, $2, ROUTE_12_GATE
-	db $4d, $b, $0, ROUTE_12_HOUSE
-
-	db $2 ; signs
-	db $d, $d, $b ; Route12Text11
-	db $3f, $b, $c ; Route12Text12
-
-	db $a ; people
-	db SPRITE_SNORLAX, $3e + 4, $a + 4, $ff, $d0, $1 ; person
-	db SPRITE_FISHER2, $1f + 4, $e + 4, $ff, $d2, $42, FISHER + $C8, $3 ; trainer
-	db SPRITE_FISHER2, $27 + 4, $5 + 4, $ff, $d1, $43, FISHER + $C8, $4 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $5c + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $9 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $4c + 4, $e + 4, $ff, $d1, $45, ROCKER + $C8, $2 ; trainer
-	db SPRITE_FISHER2, $28 + 4, $c + 4, $ff, $d2, $46, FISHER + $C8, $5 ; trainer
-	db SPRITE_FISHER2, $34 + 4, $9 + 4, $ff, $d3, $47, FISHER + $C8, $6 ; trainer
-	db SPRITE_FISHER2, $57 + 4, $6 + 4, $ff, $d0, $48, FISHER + $C8, $b ; trainer
-	db SPRITE_BALL, $23 + 4, $e + 4, $ff, $ff, $89, TM_16 ; item
-	db SPRITE_BALL, $59 + 4, $5 + 4, $ff, $ff, $8a, IRON ; item
-
-	; warp-to
-	EVENT_DISP $a, $f, $a ; ROUTE_12_GATE
-	EVENT_DISP $a, $f, $b ; ROUTE_12_GATE
-	EVENT_DISP $a, $15, $a ; ROUTE_12_GATE
-	EVENT_DISP $a, $4d, $b ; ROUTE_12_HOUSE
-
-Route12Blocks: ; 0x58710 540
-	INCBIN "maps/route12.blk"
-
-Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26)
-	db $00 ; tileset
-	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x)
-	dw Route15Blocks, Route15Texts, Route15Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-
-	; connections data
-
-	db FUCHSIA_CITY
-	dw FuchsiaCityBlocks - 3 + (FUCHSIA_CITY_WIDTH * 2) ; connection strip location
-	dw $C6E8 + (ROUTE_15_WIDTH + 6) * (-3 + 3) ; current map position
-	db $f, FUCHSIA_CITY_WIDTH ; bigness, width
-	db (-4 * -2), (FUCHSIA_CITY_WIDTH * 2) - 1 ; alignments (y, x)
-	dw $C6EE + 2 * FUCHSIA_CITY_WIDTH ; window
-
-	db ROUTE_14
-	dw Route14Blocks + (ROUTE_14_WIDTH * 15) ; connection strip location
-	dw $C6E5 + (ROUTE_15_WIDTH + 6) * (-3 + 4) ; current map position
-	db $c, ROUTE_14_WIDTH ; bigness, width
-	db (-18 * -2), 0 ; alignments (y, x)
-	dw $C6EF + ROUTE_14_WIDTH ; window
-
-	; end connections data
-
-	dw Route15Object ; objects
-
-Route15Object: ; 0x5894e (size=126)
-	db $43 ; border tile
-
-	db $4 ; warps
-	db $8, $7, $0, ROUTE_15_GATE
-	db $9, $7, $1, ROUTE_15_GATE
-	db $8, $e, $2, ROUTE_15_GATE
-	db $9, $e, $3, ROUTE_15_GATE
-
-	db $1 ; signs
-	db $9, $27, $c ; Route15Text12
-
-	db $b ; people
-	db SPRITE_LASS, $b + 4, $29 + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $14 ; trainer
-	db SPRITE_LASS, $a + 4, $35 + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $15 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $1f + 4, $ff, $d1, $43, BIRD_KEEPER + $C8, $6 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $23 + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $7 ; trainer
-	db SPRITE_FOULARD_WOMAN, $b + 4, $35 + 4, $ff, $d0, $45, BEAUTY + $C8, $9 ; trainer
-	db SPRITE_FOULARD_WOMAN, $a + 4, $29 + 4, $ff, $d3, $46, BEAUTY + $C8, $a ; trainer
-	db SPRITE_BIKER, $a + 4, $30 + 4, $ff, $d0, $47, BIKER + $C8, $3 ; trainer
-	db SPRITE_BIKER, $a + 4, $2e + 4, $ff, $d0, $48, BIKER + $C8, $4 ; trainer
-	db SPRITE_LASS, $5 + 4, $25 + 4, $ff, $d3, $49, JR__TRAINER_F + $C8, $16 ; trainer
-	db SPRITE_LASS, $d + 4, $12 + 4, $ff, $d1, $4a, JR__TRAINER_F + $C8, $17 ; trainer
-	db SPRITE_BALL, $5 + 4, $12 + 4, $ff, $ff, $8b, TM_20 ; item
-
-	; warp-to
-	EVENT_DISP $1e, $8, $7 ; ROUTE_15_GATE
-	EVENT_DISP $1e, $9, $7 ; ROUTE_15_GATE
-	EVENT_DISP $1e, $8, $e ; ROUTE_15_GATE
-	EVENT_DISP $1e, $9, $e ; ROUTE_15_GATE
-
-Route15Blocks: ; 0x589cc 270
-	INCBIN "maps/route15.blk"
-
-Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27)
-	db $00 ; tileset
-	db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x)
-	dw Route16Blocks, Route16Texts, Route16Script ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_17
-	dw Route17Blocks ; connection strip location
-	dw $C6EB + (ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6) + 0 ; current map position
-	db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width
-	db 0, (0 * -2) ; alignments (y, x)
-	dw $C6EF + ROUTE_17_WIDTH ; window
-
-	db CELADON_CITY
-	dw CeladonCityBlocks + (CELADON_CITY_WIDTH) ; connection strip location
-	dw $C6E5 + (ROUTE_16_WIDTH + 6) * (-3 + 4) ; current map position
-	db $f, CELADON_CITY_WIDTH ; bigness, width
-	db (-4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + CELADON_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route16Object ; objects
-
-Route16Object: ; 0x58afc (size=136)
-	db $f ; border tile
-
-	db $9 ; warps
-	db $a, $11, $0, ROUTE_16_GATE_1F
-	db $b, $11, $1, ROUTE_16_GATE_1F
-	db $a, $18, $2, ROUTE_16_GATE_1F
-	db $b, $18, $3, ROUTE_16_GATE_1F
-	db $4, $11, $4, ROUTE_16_GATE_1F
-	db $5, $11, $5, ROUTE_16_GATE_1F
-	db $4, $18, $6, ROUTE_16_GATE_1F
-	db $5, $18, $7, ROUTE_16_GATE_1F
-	db $5, $7, $0, ROUTE_16_HOUSE
-
-	db $2 ; signs
-	db $b, $1b, $8 ; Route16Text8
-	db $11, $5, $9 ; Route16Text9
-
-	db $7 ; people
-	db SPRITE_BIKER, $c + 4, $11 + 4, $ff, $d2, $41, BIKER + $C8, $5 ; trainer
-	db SPRITE_BIKER, $d + 4, $e + 4, $ff, $d3, $42, CUE_BALL + $C8, $1 ; trainer
-	db SPRITE_BIKER, $c + 4, $b + 4, $ff, $d1, $43, CUE_BALL + $C8, $2 ; trainer
-	db SPRITE_BIKER, $b + 4, $9 + 4, $ff, $d2, $44, BIKER + $C8, $6 ; trainer
-	db SPRITE_BIKER, $a + 4, $6 + 4, $ff, $d3, $45, CUE_BALL + $C8, $3 ; trainer
-	db SPRITE_BIKER, $c + 4, $3 + 4, $ff, $d3, $46, BIKER + $C8, $7 ; trainer
-	db SPRITE_SNORLAX, $a + 4, $1a + 4, $ff, $d0, $7 ; person
-
-	; warp-to
-	EVENT_DISP $14, $a, $11 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $b, $11 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $a, $18 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $b, $18 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $4, $11 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $5, $11 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $4, $18 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $5, $18 ; ROUTE_16_GATE_1F
-	EVENT_DISP $14, $5, $7 ; ROUTE_16_HOUSE
-
-Route16Blocks: ; 0x58b84 180
-	INCBIN "maps/route16.blk"
-
-Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29)
-	db $00 ; tileset
-	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x)
-	dw Route18Blocks, Route18Texts, Route18Script ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-
-	; connections data
-
-	db ROUTE_17
-	dw Route17Blocks + (ROUTE_17_HEIGHT - 3) * ROUTE_17_WIDTH ; connection strip location
-	dw $C6EB + 0 ; current map position
-	db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width
-	db (ROUTE_17_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
-	dw $C6E9 + ROUTE_17_HEIGHT * (ROUTE_17_WIDTH + 6) ; window
-
-	db FUCHSIA_CITY
-	dw FuchsiaCityBlocks + (FUCHSIA_CITY_WIDTH) ; connection strip location
-	dw $C6E5 + (ROUTE_18_WIDTH + 6) * (-3 + 4) ; current map position
-	db $f, FUCHSIA_CITY_WIDTH ; bigness, width
-	db (-4 * -2), 0 ; alignments (y, x)
-	dw $C6EF + FUCHSIA_CITY_WIDTH ; window
-
-	; end connections data
-
-	dw Route18Object ; objects
-
-Route18Object: ; 0x58c5a (size=66)
-	db $43 ; border tile
-
-	db $4 ; warps
-	db $8, $21, $0, ROUTE_18_GATE_1F
-	db $9, $21, $1, ROUTE_18_GATE_1F
-	db $8, $28, $2, ROUTE_18_GATE_1F
-	db $9, $28, $3, ROUTE_18_GATE_1F
-
-	db $2 ; signs
-	db $7, $2b, $4 ; Route18Text4
-	db $5, $21, $5 ; Route18Text5
-
-	db $3 ; people
-	db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $24 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $8 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $28 + 4, $ff, $d2, $42, BIRD_KEEPER + $C8, $9 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $2a + 4, $ff, $d2, $43, BIRD_KEEPER + $C8, $a ; trainer
-
-	; warp-to
-	EVENT_DISP $19, $8, $21 ; ROUTE_18_GATE_1F
-	EVENT_DISP $19, $9, $21 ; ROUTE_18_GATE_1F
-	EVENT_DISP $19, $8, $28 ; ROUTE_18_GATE_1F
-	EVENT_DISP $19, $9, $28 ; ROUTE_18_GATE_1F
-
-Route18Blocks: ; 0x58c9c 225
-	INCBIN "maps/route18.blk"
-
-INCBIN "baserom.gbc",$58d7d,$58e3b - $58d7d
-
-UnnamedText_58e3b: ; 0x58e3b
-	TX_FAR _UnnamedText_58e3b
-	db $50
-; 0x58e3b + 5 bytes
-
-UnnamedText_58e40: ; 0x58e40
-	TX_FAR _UnnamedText_58e40
-	db $50
-; 0x58e40 + 5 bytes
-
-UnnamedText_58e45: ; 0x58e45
-	TX_FAR _UnnamedText_58e45
-	db $50
-; 0x58e45 + 5 bytes
-
-UnnamedText_58e4a: ; 0x58e4a
-	TX_FAR _UnnamedText_58e4a
-	db $50
-; 0x58e4a + 5 bytes
-
-UnnamedText_58e4f: ; 0x58e4f
-	TX_FAR _UnnamedText_58e4f
-	db $50
-; 0x58e4f + 5 bytes
-
-UnnamedText_58e54: ; 0x58e54
-	TX_FAR _UnnamedText_58e54
-	db $50
-; 0x58e54 + 5 bytes
-
-INCBIN "baserom.gbc",$58e59,$58ecc - $58e59
-
-UnnamedText_58ecc: ; 0x58ecc
-	TX_FAR _UnnamedText_58ecc
-	db $50
-; 0x58ecc + 5 bytes
-
-INCBIN "baserom.gbc",$58ed1,$58f3e - $58ed1
-
-UnnamedText_58f3e: ; 0x58f3e
-	TX_FAR _UnnamedText_58f3e
-	db $50
-; 0x58f3e + 5 bytes
-
-INCBIN "baserom.gbc",$58f43,$59091 - $58f43
-
-UnnamedText_59091: ; 0x59091
-	TX_FAR _UnnamedText_59091
-	db $50
-; 0x59091 + 5 bytes
-
-UnnamedText_59096: ; 0x59096
-	TX_FAR _UnnamedText_59096
-	db $50
-; 0x59096 + 5 bytes
-
-UnnamedText_5909b: ; 0x5909b
-	TX_FAR _UnnamedText_5909b
-	db $50
-; 0x5909b + 5 bytes
-
-UnnamedText_590a0: ; 0x590a0
-	TX_FAR _UnnamedText_590a0
-	db $50
-; 0x590a0 + 5 bytes
-
-INCBIN "baserom.gbc",$590a5,$590ab - $590a5
-
-UnnamedText_590ab: ; 0x590ab
-	TX_FAR _UnnamedText_590ab
-	db $50
-; 0x590ab + 5 bytes
-
-Route6Script: ; 0x590b0
-	call $3c3c
-	ld hl, Route6TrainerHeaders
-	ld de, Route6_Unknown590c3
-	ld a, [$d600]
-	call $3160
-	ld [$d600], a
-	ret
-; 0x590c3
-
-Route6_Unknown590c3: ; 0x590c3
-INCBIN "baserom.gbc",$590c3,$590c9 - $590c3
-
-Route6Texts:
-	dw Route6Text1, Route6Text2, Route6Text3, Route6Text4, Route6Text5, Route6Text6, Route6Text7
-
-Route6TrainerHeaders:
-Route6TrainerHeader1: ; 0x590d7
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7c9 ; flag's byte
-	dw UnnamedText_5912a ; 0x512a TextBeforeBattle
-	dw UnnamedText_59134 ; 0x5134 TextAfterBattle
-	dw UnnamedText_5912f ; 0x512f TextEndBattle
-	dw UnnamedText_5912f ; 0x512f TextEndBattle
-; 0x590e3
-
-TrainerHeader_590e3: ; 0x590e3
-	db $2 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d7c9 ; flag's byte
-	dw UnnamedText_59143 ; 0x5143 TextBeforeBattle
-	dw UnnamedText_59134 ; 0x5134 TextAfterBattle
-	dw UnnamedText_59148 ; 0x5148 TextEndBattle
-	dw UnnamedText_59148 ; 0x5148 TextEndBattle
-; 0x590ef
-
-TrainerHeader_590ef: ; 0x590ef
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7c9 ; flag's byte
-	dw UnnamedText_59157 ; 0x5157 TextBeforeBattle
-	dw UnnamedText_59161 ; 0x5161 TextAfterBattle
-	dw UnnamedText_5915c ; 0x515c TextEndBattle
-	dw UnnamedText_5915c ; 0x515c TextEndBattle
-; 0x590fb
-
-TrainerHeader_590fb: ; 0x590fb
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c9 ; flag's byte
-	dw UnnamedText_59170 ; 0x5170 TextBeforeBattle
-	dw UnnamedText_5917a ; 0x517a TextAfterBattle
-	dw UnnamedText_59175 ; 0x5175 TextEndBattle
-	dw UnnamedText_59175 ; 0x5175 TextEndBattle
-; 0x59107
-
-TrainerHeader_59107: ; 0x59107
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c9 ; flag's byte
-	dw UnnamedText_59189 ; 0x5189 TextBeforeBattle
-	dw UnnamedText_59193 ; 0x5193 TextAfterBattle
-	dw UnnamedText_5918e ; 0x518e TextEndBattle
-	dw UnnamedText_5918e ; 0x518e TextEndBattle
-; 0x59113
-
-TrainerHeader_59113: ; 0x59113
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7c9 ; flag's byte
-	dw UnnamedText_591a2 ; 0x51a2 TextBeforeBattle
-	dw UnnamedText_591ac ; 0x51ac TextAfterBattle
-	dw UnnamedText_591a7 ; 0x51a7 TextEndBattle
-	dw UnnamedText_591a7 ; 0x51a7 TextEndBattle
-; 0x5911e
-
-db $ff
-
-Route6Text1: ; 0x59120
-	db $8
-	ld hl, Route6TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-; 0x5912a
-
-UnnamedText_5912a: ; 0x5912a
-	TX_FAR _UnnamedText_5912a
-	db $50
-; 0x5912a + 5 bytes
-
-UnnamedText_5912f: ; 0x5912f
-	TX_FAR _UnnamedText_5912f
-	db $50
-; 0x5912f + 5 bytes
-
-UnnamedText_59134: ; 0x59134
-	TX_FAR _UnnamedText_59134
-	db $50
-; 0x59134 + 5 bytes
-
-Route6Text2: ; 0x59139
-	db $08 ; asm
-	ld hl, TrainerHeader_590e3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59143: ; 0x59143
-	TX_FAR _UnnamedText_59143
-	db $50
-; 0x59143 + 5 bytes
-
-UnnamedText_59148: ; 0x59148
-	TX_FAR _UnnamedText_59148
-	db $50
-; 0x59148 + 5 bytes
-
-Route6Text3: ; 0x5914d
-	db $08 ; asm
-	ld hl, TrainerHeader_590ef
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59157: ; 0x59157
-	TX_FAR _UnnamedText_59157
-	db $50
-; 0x59157 + 5 bytes
-
-UnnamedText_5915c: ; 0x5915c
-	TX_FAR _UnnamedText_5915c
-	db $50
-; 0x5915c + 5 bytes
-
-UnnamedText_59161: ; 0x59161
-	TX_FAR _UnnamedText_59161
-	db $50
-; 0x59161 + 5 bytes
-
-Route6Text4: ; 0x59166
-	db $08 ; asm
-	ld hl, TrainerHeader_590fb
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59170: ; 0x59170
-	TX_FAR _UnnamedText_59170
-	db $50
-; 0x59170 + 5 bytes
-
-UnnamedText_59175: ; 0x59175
-	TX_FAR _UnnamedText_59175
-	db $50
-; 0x59175 + 5 bytes
-
-UnnamedText_5917a: ; 0x5917a
-	TX_FAR _UnnamedText_5917a
-	db $50
-; 0x5917a + 5 bytes
-
-Route6Text5: ; 0x5917f
-	db $08 ; asm
-	ld hl, TrainerHeader_59107
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59189: ; 0x59189
-	TX_FAR _UnnamedText_59189
-	db $50
-; 0x59189 + 5 bytes
-
-UnnamedText_5918e: ; 0x5918e
-	TX_FAR _UnnamedText_5918e
-	db $50
-; 0x5918e + 5 bytes
-
-UnnamedText_59193: ; 0x59193
-	TX_FAR _UnnamedText_59193
-	db $50
-; 0x59193 + 5 bytes
-
-Route6Text6: ; 0x59198
-	db $08 ; asm
-	ld hl, TrainerHeader_59113
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_591a2: ; 0x591a2
-	TX_FAR _UnnamedText_591a2
-	db $50
-; 0x591a2 + 5 bytes
-
-UnnamedText_591a7: ; 0x591a7
-	TX_FAR _UnnamedText_591a7
-	db $50
-; 0x591a7 + 5 bytes
-
-UnnamedText_591ac: ; 0x591ac
-	TX_FAR _UnnamedText_591ac
-	db $50
-; 0x591ac + 5 bytes
-
-Route6Text7: ; 0x591b1
-	TX_FAR _Route6Text7
-	db $50
-
-Route8Script: ; 0x591b6
-	call $3c3c
-	ld hl, Route8TrainerHeaders
-	ld de, Route8_Unknown591c9
-	ld a, [$d601]
-	call $3160
-	ld [$d601], a
-	ret
-; 0x591c9
-
-Route8_Unknown591c9: ; 0x591c9
-INCBIN "baserom.gbc",$591c9,$591cf - $591c9
-
-Route8Texts: ; 0x591cf
-	dw Route8Text1, Route8Text2, Route8Text3, Route8Text4, Route8Text5, Route8Text6, Route8Text7, Route8Text8, Route8Text9, Route8Text10
-
-Route8TrainerHeaders: ; 0x591e3
-Route8TrainerHeader1: ; 0x591e3
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_5925a ; 0x525a TextBeforeBattle
-	dw UnnamedText_59264 ; 0x5264 TextAfterBattle
-	dw UnnamedText_5925f ; 0x525f TextEndBattle
-	dw UnnamedText_5925f ; 0x525f TextEndBattle
-; 0x591ef
-
-TrainerHeader_591ef: ; 0x591ef
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_59273 ; 0x5273 TextBeforeBattle
-	dw UnnamedText_5927d ; 0x527d TextAfterBattle
-	dw UnnamedText_59278 ; 0x5278 TextEndBattle
-	dw UnnamedText_59278 ; 0x5278 TextEndBattle
-; 0x591fb
-
-TrainerHeader_591fb: ; 0x591fb
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_5928c ; 0x528c TextBeforeBattle
-	dw UnnamedText_59296 ; 0x5296 TextAfterBattle
-	dw UnnamedText_59291 ; 0x5291 TextEndBattle
-	dw UnnamedText_59291 ; 0x5291 TextEndBattle
-; 0x59207
-
-TrainerHeader_59207: ; 0x59207
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_592a5 ; 0x52a5 TextBeforeBattle
-	dw UnnamedText_592af ; 0x52af TextAfterBattle
-	dw UnnamedText_592aa ; 0x52aa TextEndBattle
-	dw UnnamedText_592aa ; 0x52aa TextEndBattle
-; 0x59213
-
-TrainerHeader_59213: ; 0x59213
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_592be ; 0x52be TextBeforeBattle
-	dw UnnamedText_592c8 ; 0x52c8 TextAfterBattle
-	dw UnnamedText_592c3 ; 0x52c3 TextEndBattle
-	dw UnnamedText_592c3 ; 0x52c3 TextEndBattle
-; 0x5921f
-
-TrainerHeader_5921f: ; 0x5921f
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_592d7 ; 0x52d7 TextBeforeBattle
-	dw UnnamedText_592e1 ; 0x52e1 TextAfterBattle
-	dw UnnamedText_592dc ; 0x52dc TextEndBattle
-	dw UnnamedText_592dc ; 0x52dc TextEndBattle
-; 0x5922b
-
-TrainerHeader_5922b: ; 0x5922b
-	db $7 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_592f0 ; 0x52f0 TextBeforeBattle
-	dw UnnamedText_592fa ; 0x52fa TextAfterBattle
-	dw UnnamedText_592f5 ; 0x52f5 TextEndBattle
-	dw UnnamedText_592f5 ; 0x52f5 TextEndBattle
-; 0x59237
-
-TrainerHeader_59237: ; 0x59237
-	db $8 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_59309 ; 0x5309 TextBeforeBattle
-	dw UnnamedText_59313 ; 0x5313 TextAfterBattle
-	dw UnnamedText_5930e ; 0x530e TextEndBattle
-	dw UnnamedText_5930e ; 0x530e TextEndBattle
-; 0x59243
-
-TrainerHeader_59243: ; 0x59243
-	db $9 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7cd ; flag's byte
-	dw UnnamedText_59322 ; 0x5322 TextBeforeBattle
-	dw UnnamedText_5932c ; 0x532c TextAfterBattle
-	dw UnnamedText_59327 ; 0x5327 TextEndBattle
-	dw UnnamedText_59327 ; 0x5327 TextEndBattle
-; 0x5924e
-
-db $ff
-
-Route8Text1: ; 0x59250
-	db $8
-	ld hl, Route8TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-; 0x5925a
-
-UnnamedText_5925a: ; 0x5925a
-	TX_FAR _UnnamedText_5925a
-	db $50
-; 0x5925f
-
-UnnamedText_5925f: ; 0x5925f
-	TX_FAR _UnnamedText_5925f
-	db $50
-; 0x5925f + 5 bytes
-
-UnnamedText_59264: ; 0x59264
-	TX_FAR _UnnamedText_59264
-	db $50
-; 0x59264 + 5 bytes
-
-Route8Text2: ; 0x59269
-	db $08 ; asm
-	ld hl, TrainerHeader_591ef
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59273: ; 0x59273
-	TX_FAR _UnnamedText_59273
-	db $50
-; 0x59273 + 5 bytes
-
-UnnamedText_59278: ; 0x59278
-	TX_FAR _UnnamedText_59278
-	db $50
-; 0x59278 + 5 bytes
-
-UnnamedText_5927d: ; 0x5927d
-	TX_FAR _UnnamedText_5927d
-	db $50
-; 0x5927d + 5 bytes
-
-Route8Text3: ; 0x59282
-	db $08 ; asm
-	ld hl, TrainerHeader_591fb
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5928c: ; 0x5928c
-	TX_FAR _UnnamedText_5928c
-	db $50
-; 0x5928c + 5 bytes
-
-UnnamedText_59291: ; 0x59291
-	TX_FAR _UnnamedText_59291
-	db $50
-; 0x59291 + 5 bytes
-
-UnnamedText_59296: ; 0x59296
-	TX_FAR _UnnamedText_59296
-	db $50
-; 0x59296 + 5 bytes
-
-Route8Text4: ; 0x5929b
-	db $08 ; asm
-	ld hl, TrainerHeader_59207
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_592a5: ; 0x592a5
-	TX_FAR _UnnamedText_592a5
-	db $50
-; 0x592a5 + 5 bytes
-
-UnnamedText_592aa: ; 0x592aa
-	TX_FAR _UnnamedText_592aa
-	db $50
-; 0x592aa + 5 bytes
-
-UnnamedText_592af: ; 0x592af
-	TX_FAR _UnnamedText_592af
-	db $50
-; 0x592af + 5 bytes
-
-Route8Text5: ; 0x592b4
-	db $08 ; asm
-	ld hl, TrainerHeader_59213
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_592be: ; 0x592be
-	TX_FAR _UnnamedText_592be
-	db $50
-; 0x592be + 5 bytes
-
-UnnamedText_592c3: ; 0x592c3
-	TX_FAR _UnnamedText_592c3
-	db $50
-; 0x592c3 + 5 bytes
-
-UnnamedText_592c8: ; 0x592c8
-	TX_FAR _UnnamedText_592c8
-	db $50
-; 0x592c8 + 5 bytes
-
-Route8Text6: ; 0x592cd
-	db $08 ; asm
-	ld hl, TrainerHeader_5921f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_592d7: ; 0x592d7
-	TX_FAR _UnnamedText_592d7
-	db $50
-; 0x592d7 + 5 bytes
-
-UnnamedText_592dc: ; 0x592dc
-	TX_FAR _UnnamedText_592dc
-	db $50
-; 0x592dc + 5 bytes
-
-UnnamedText_592e1: ; 0x592e1
-	TX_FAR _UnnamedText_592e1
-	db $50
-; 0x592e1 + 5 bytes
-
-Route8Text7: ; 0x592e6
-	db $08 ; asm
-	ld hl, TrainerHeader_5922b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_592f0: ; 0x592f0
-	TX_FAR _UnnamedText_592f0
-	db $50
-; 0x592f0 + 5 bytes
-
-UnnamedText_592f5: ; 0x592f5
-	TX_FAR _UnnamedText_592f5
-	db $50
-; 0x592f5 + 5 bytes
-
-UnnamedText_592fa: ; 0x592fa
-	TX_FAR _UnnamedText_592fa
-	db $50
-; 0x592fa + 5 bytes
-
-Route8Text8: ; 0x592ff
-	db $08 ; asm
-	ld hl, TrainerHeader_59237
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59309: ; 0x59309
-	TX_FAR _UnnamedText_59309
-	db $50
-; 0x59309 + 5 bytes
-
-UnnamedText_5930e: ; 0x5930e
-	TX_FAR _UnnamedText_5930e
-	db $50
-; 0x5930e + 5 bytes
-
-UnnamedText_59313: ; 0x59313
-	TX_FAR _UnnamedText_59313
-	db $50
-; 0x59313 + 5 bytes
-
-Route8Text9: ; 0x59318
-	db $08 ; asm
-	ld hl, TrainerHeader_59243
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59322: ; 0x59322
-	TX_FAR _UnnamedText_59322
-	db $50
-; 0x59322 + 5 bytes
-
-UnnamedText_59327: ; 0x59327
-	TX_FAR _UnnamedText_59327
-	db $50
-; 0x59327 + 5 bytes
-
-UnnamedText_5932c: ; 0x5932c
-	TX_FAR _UnnamedText_5932c
-	db $50
-; 0x5932c + 5 bytes
-
-Route8Text10: ; 0x59331
-	TX_FAR _Route8Text10
-	db $50
-
-Route10Script: ; 0x59336
-	call $3c3c
-	ld hl, Route10TrainerHeaders
-	ld de, Route10_Unknown59349
-	ld a, [$d605]
-	call $3160
-	ld [$d605], a
-	ret
-; 0x59349
-
-Route10_Unknown59349: ; 0x59349
-INCBIN "baserom.gbc",$59349,$6
-
-Route10Texts: ; 0x5934f
-	dw Route10Text1, Route10Text2, Route10Text3, Route10Text4, Route10Text5, Route10Text6, Route10Text7, Route10Text8, Route10Text9, Route10Text10
-
-Route10TrainerHeaders:
-Route10TrainerHeader1: ; 0x59363
-	db $1 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d1 ; flag's byte
-	dw UnnamedText_593b6 ; 0x53b6 TextBeforeBattle
-	dw UnnamedText_593c0 ; 0x53c0 TextAfterBattle
-	dw UnnamedText_593bb ; 0x53bb TextEndBattle
-	dw UnnamedText_593bb ; 0x53bb TextEndBattle
-; 0x5936f
-
-TrainerHeader_5936f: ; 0x5936f
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d1 ; flag's byte
-	dw UnnamedText_593cf ; 0x53cf TextBeforeBattle
-	dw UnnamedText_593d9 ; 0x53d9 TextAfterBattle
-	dw UnnamedText_593d4 ; 0x53d4 TextEndBattle
-	dw UnnamedText_593d4 ; 0x53d4 TextEndBattle
-; 0x5937b
-
-TrainerHeader_5937b: ; 0x5937b
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d1 ; flag's byte
-	dw UnnamedText_593e8 ; 0x53e8 TextBeforeBattle
-	dw UnnamedText_593f2 ; 0x53f2 TextAfterBattle
-	dw UnnamedText_593ed ; 0x53ed TextEndBattle
-	dw UnnamedText_593ed ; 0x53ed TextEndBattle
-; 0x59387
-
-TrainerHeader_59387: ; 0x59387
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d1 ; flag's byte
-	dw UnnamedText_59401 ; 0x5401 TextBeforeBattle
-	dw UnnamedText_5940b ; 0x540b TextAfterBattle
-	dw UnnamedText_59406 ; 0x5406 TextEndBattle
-	dw UnnamedText_59406 ; 0x5406 TextEndBattle
-; 0x59393
-
-TrainerHeader_59393: ; 0x59393
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d1 ; flag's byte
-	dw UnnamedText_5941a ; 0x541a TextBeforeBattle
-	dw UnnamedText_59424 ; 0x5424 TextAfterBattle
-	dw UnnamedText_5941f ; 0x541f TextEndBattle
-	dw UnnamedText_5941f ; 0x541f TextEndBattle
-; 0x5939f
-
-TrainerHeader_5939f: ; 0x5939f
-	db $6 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d1 ; flag's byte
-	dw UnnamedText_59433 ; 0x5433 TextBeforeBattle
-	dw UnnamedText_5943d ; 0x543d TextAfterBattle
-	dw UnnamedText_59438 ; 0x5438 TextEndBattle
-	dw UnnamedText_59438 ; 0x5438 TextEndBattle
-; 0x593ab
-
-db $ff
-
-Route10Text1: ; 0x593ac
-	db $08 ; asm
-	ld hl, Route10TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_593b6: ; 0x593b6
-	TX_FAR _UnnamedText_593b6
-	db $50
-; 0x593b6 + 5 bytes
-
-UnnamedText_593bb: ; 0x593bb
-	TX_FAR _UnnamedText_593bb
-	db $50
-; 0x593bb + 5 bytes
-
-UnnamedText_593c0: ; 0x593c0
-	TX_FAR _UnnamedText_593c0
-	db $50
-; 0x593c0 + 5 bytes
-
-Route10Text2: ; 0x593c5
-	db $08 ; asm
-	ld hl, TrainerHeader_5936f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_593cf: ; 0x593cf
-	TX_FAR _UnnamedText_593cf
-	db $50
-; 0x593cf + 5 bytes
-
-UnnamedText_593d4: ; 0x593d4
-	TX_FAR _UnnamedText_593d4
-	db $50
-; 0x593d4 + 5 bytes
-
-UnnamedText_593d9: ; 0x593d9
-	TX_FAR _UnnamedText_593d9
-	db $50
-; 0x593d9 + 5 bytes
-
-Route10Text3: ; 0x593de
-	db $08 ; asm
-	ld hl, TrainerHeader_5937b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_593e8: ; 0x593e8
-	TX_FAR _UnnamedText_593e8
-	db $50
-; 0x593e8 + 5 bytes
-
-UnnamedText_593ed: ; 0x593ed
-	TX_FAR _UnnamedText_593ed
-	db $50
-; 0x593ed + 5 bytes
-
-UnnamedText_593f2: ; 0x593f2
-	TX_FAR _UnnamedText_593f2
-	db $50
-; 0x593f2 + 5 bytes
-
-Route10Text4: ; 0x593f7
-	db $08 ; asm
-	ld hl, TrainerHeader_59387
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59401: ; 0x59401
-	TX_FAR _UnnamedText_59401
-	db $50
-; 0x59401 + 5 bytes
-
-UnnamedText_59406: ; 0x59406
-	TX_FAR _UnnamedText_59406
-	db $50
-; 0x59406 + 5 bytes
-
-UnnamedText_5940b: ; 0x5940b
-	TX_FAR _UnnamedText_5940b
-	db $50
-; 0x5940b + 5 bytes
-
-Route10Text5: ; 0x59410
-	db $08 ; asm
-	ld hl, TrainerHeader_59393
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5941a: ; 0x5941a
-	TX_FAR _UnnamedText_5941a
-	db $50
-; 0x5941a + 5 bytes
-
-UnnamedText_5941f: ; 0x5941f
-	TX_FAR _UnnamedText_5941f
-	db $50
-; 0x5941f + 5 bytes
-
-UnnamedText_59424: ; 0x59424
-	TX_FAR _UnnamedText_59424
-	db $50
-; 0x59424 + 5 bytes
-
-Route10Text6: ; 0x59429
-	db $08 ; asm
-	ld hl, TrainerHeader_5939f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59433: ; 0x59433
-	TX_FAR _UnnamedText_59433
-	db $50
-; 0x59433 + 5 bytes
-
-UnnamedText_59438: ; 0x59438
-	TX_FAR _UnnamedText_59438
-	db $50
-; 0x59438 + 5 bytes
-
-UnnamedText_5943d: ; 0x5943d
-	TX_FAR _UnnamedText_5943d
-	db $50
-; 0x5943d + 5 bytes
-
-Route10Text9: ; 0x59442
-Route10Text7: ; 0x59442
-	TX_FAR _Route10Text7 ; _Route10Text9
-	db $50
-
-Route10Text10: ; 0x59447
-	TX_FAR _Route10Text10
-	db $50
-
-Route11Script: ; 0x5944c
-	call $3c3c
-	ld hl, Route11TrainerHeaders
-	ld de, Route11_Unknown5945f
-	ld a, [$d623]
-	call $3160
-	ld [$d623], a
-	ret
-; 0x5945f
-
-Route11_Unknown5945f: ; 0x5945f
-INCBIN "baserom.gbc",$5945f,$59465 - $5945f
-
-Route11Texts: ; 0x59465
-	dw UnnamedText_594f4, Route11Text2, Route11Text3, Route11Text4, Route11Text5, Route11Text6, Route11Text7, Route11Text8, Route11Text9, Route11Text10, Route11Text11
-
-Route11TrainerHeaders:
-Route11TrainerHeader1: ; 0x5947b
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_594fe ; 0x54fe TextBeforeBattle
-	dw UnnamedText_59508 ; 0x5508 TextAfterBattle
-	dw UnnamedText_59503 ; 0x5503 TextEndBattle
-	dw UnnamedText_59503 ; 0x5503 TextEndBattle
-; 0x59487
-
-TrainerHeader_59487: ; 0x59487
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_59517 ; 0x5517 TextBeforeBattle
-	dw UnnamedText_59521 ; 0x5521 TextAfterBattle
-	dw UnnamedText_5951c ; 0x551c TextEndBattle
-	dw UnnamedText_5951c ; 0x551c TextEndBattle
-; 0x59493
-
-TrainerHeader_59493: ; 0x59493
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_59530 ; 0x5530 TextBeforeBattle
-	dw UnnamedText_5953a ; 0x553a TextAfterBattle
-	dw UnnamedText_59535 ; 0x5535 TextEndBattle
-	dw UnnamedText_59535 ; 0x5535 TextEndBattle
-; 0x5949f
-
-TrainerHeader_5949f: ; 0x5949f
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_59549 ; 0x5549 TextBeforeBattle
-	dw UnnamedText_59553 ; 0x5553 TextAfterBattle
-	dw UnnamedText_5954e ; 0x554e TextEndBattle
-	dw UnnamedText_5954e ; 0x554e TextEndBattle
-; 0x594ab
-
-TrainerHeader_594ab: ; 0x594ab
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_59562 ; 0x5562 TextBeforeBattle
-	dw UnnamedText_5956c ; 0x556c TextAfterBattle
-	dw UnnamedText_59567 ; 0x5567 TextEndBattle
-	dw UnnamedText_59567 ; 0x5567 TextEndBattle
-; 0x594b7
-
-TrainerHeader_594b7: ; 0x594b7
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_5957b ; 0x557b TextBeforeBattle
-	dw UnnamedText_59585 ; 0x5585 TextAfterBattle
-	dw UnnamedText_59580 ; 0x5580 TextEndBattle
-	dw UnnamedText_59580 ; 0x5580 TextEndBattle
-; 0x594c3
-
-TrainerHeader_594c3: ; 0x594c3
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_59594 ; 0x5594 TextBeforeBattle
-	dw UnnamedText_5959e ; 0x559e TextAfterBattle
-	dw UnnamedText_59599 ; 0x5599 TextEndBattle
-	dw UnnamedText_59599 ; 0x5599 TextEndBattle
-; 0x594cf
-
-TrainerHeader_594cf: ; 0x594cf
-	db $8 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_595ad ; 0x55ad TextBeforeBattle
-	dw UnnamedText_595b7 ; 0x55b7 TextAfterBattle
-	dw UnnamedText_595b2 ; 0x55b2 TextEndBattle
-	dw UnnamedText_595b2 ; 0x55b2 TextEndBattle
-; 0x594db
-
-TrainerHeader_594db: ; 0x594db
-	db $9 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_595c6 ; 0x55c6 TextBeforeBattle
-	dw UnnamedText_595d0 ; 0x55d0 TextAfterBattle
-	dw UnnamedText_595cb ; 0x55cb TextEndBattle
-	dw UnnamedText_595cb ; 0x55cb TextEndBattle
-; 0x594e7
-
-TrainerHeader_594e7: ; 0x594e7
-	db $a ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d5 ; flag's byte
-	dw UnnamedText_595df ; 0x55df TextBeforeBattle
-	dw UnnamedText_595e9 ; 0x55e9 TextAfterBattle
-	dw UnnamedText_595e4 ; 0x55e4 TextEndBattle
-	dw UnnamedText_595e4 ; 0x55e4 TextEndBattle
-; 0x594f3
-
-db $ff
-
-UnnamedText_594f4: ; 0x594f4
-	db $8
-	ld hl, Route11TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-; 0x594fe
-
-UnnamedText_594fe: ; 0x594fe
-	TX_FAR _UnnamedText_594fe
-	db $50
-; 0x594fe + 5 bytes
-
-UnnamedText_59503: ; 0x59503
-	TX_FAR _UnnamedText_59503
-	db $50
-; 0x59503 + 5 bytes
-
-UnnamedText_59508: ; 0x59508
-	TX_FAR _UnnamedText_59508
-	db $50
-; 0x59508 + 5 bytes
-
-Route11Text2: ; 0x5950d
-	db $08 ; asm
-	ld hl, TrainerHeader_59487
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59517: ; 0x59517
-	TX_FAR _UnnamedText_59517
-	db $50
-; 0x59517 + 5 bytes
-
-UnnamedText_5951c: ; 0x5951c
-	TX_FAR _UnnamedText_5951c
-	db $50
-; 0x5951c + 5 bytes
-
-UnnamedText_59521: ; 0x59521
-	TX_FAR _UnnamedText_59521
-	db $50
-; 0x59521 + 5 bytes
-
-Route11Text3: ; 0x59526
-	db $08 ; asm
-	ld hl, TrainerHeader_59493
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59530: ; 0x59530
-	TX_FAR _UnnamedText_59530
-	db $50
-; 0x59530 + 5 bytes
-
-UnnamedText_59535: ; 0x59535
-	TX_FAR _UnnamedText_59535
-	db $50
-; 0x59535 + 5 bytes
-
-UnnamedText_5953a: ; 0x5953a
-	TX_FAR _UnnamedText_5953a
-	db $50
-; 0x5953a + 5 bytes
-
-Route11Text4: ; 0x5953f
-	db $08 ; asm
-	ld hl, TrainerHeader_5949f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59549: ; 0x59549
-	TX_FAR _UnnamedText_59549
-	db $50
-; 0x59549 + 5 bytes
-
-UnnamedText_5954e: ; 0x5954e
-	TX_FAR _UnnamedText_5954e
-	db $50
-; 0x5954e + 5 bytes
-
-UnnamedText_59553: ; 0x59553
-	TX_FAR _UnnamedText_59553
-	db $50
-; 0x59553 + 5 bytes
-
-Route11Text5: ; 0x59558
-	db $08 ; asm
-	ld hl, TrainerHeader_594ab
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59562: ; 0x59562
-	TX_FAR _UnnamedText_59562
-	db $50
-; 0x59562 + 5 bytes
-
-UnnamedText_59567: ; 0x59567
-	TX_FAR _UnnamedText_59567
-	db $50
-; 0x59567 + 5 bytes
-
-UnnamedText_5956c: ; 0x5956c
-	TX_FAR _UnnamedText_5956c
-	db $50
-; 0x5956c + 5 bytes
-
-Route11Text6: ; 0x59571
-	db $08 ; asm
-	ld hl, TrainerHeader_594b7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5957b: ; 0x5957b
-	TX_FAR _UnnamedText_5957b
-	db $50
-; 0x5957b + 5 bytes
-
-UnnamedText_59580: ; 0x59580
-	TX_FAR _UnnamedText_59580
-	db $50
-; 0x59580 + 5 bytes
-
-UnnamedText_59585: ; 0x59585
-	TX_FAR _UnnamedText_59585
-	db $50
-; 0x59585 + 5 bytes
-
-Route11Text7: ; 0x5958a
-	db $08 ; asm
-	ld hl, TrainerHeader_594c3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59594: ; 0x59594
-	TX_FAR _UnnamedText_59594
-	db $50
-; 0x59594 + 5 bytes
-
-UnnamedText_59599: ; 0x59599
-	TX_FAR _UnnamedText_59599
-	db $50
-; 0x59599 + 5 bytes
-
-UnnamedText_5959e: ; 0x5959e
-	TX_FAR _UnnamedText_5959e
-	db $50
-; 0x5959e + 5 bytes
-
-Route11Text8: ; 0x595a3
-	db $08 ; asm
-	ld hl, TrainerHeader_594cf
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_595ad: ; 0x595ad
-	TX_FAR _UnnamedText_595ad
-	db $50
-; 0x595ad + 5 bytes
-
-UnnamedText_595b2: ; 0x595b2
-	TX_FAR _UnnamedText_595b2
-	db $50
-; 0x595b2 + 5 bytes
-
-UnnamedText_595b7: ; 0x595b7
-	TX_FAR _UnnamedText_595b7
-	db $50
-; 0x595b7 + 5 bytes
-
-Route11Text9: ; 0x595bc
-	db $08 ; asm
-	ld hl, TrainerHeader_594db
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_595c6: ; 0x595c6
-	TX_FAR _UnnamedText_595c6
-	db $50
-; 0x595c6 + 5 bytes
-
-UnnamedText_595cb: ; 0x595cb
-	TX_FAR _UnnamedText_595cb
-	db $50
-; 0x595cb + 5 bytes
-
-UnnamedText_595d0: ; 0x595d0
-	TX_FAR _UnnamedText_595d0
-	db $50
-; 0x595d0 + 5 bytes
-
-Route11Text10: ; 0x595d5
-	db $08 ; asm
-	ld hl, TrainerHeader_594e7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_595df: ; 0x595df
-	TX_FAR _UnnamedText_595df
-	db $50
-; 0x595df + 5 bytes
-
-UnnamedText_595e4: ; 0x595e4
-	TX_FAR _UnnamedText_595e4
-	db $50
-; 0x595e4 + 5 bytes
-
-UnnamedText_595e9: ; 0x595e9
-	TX_FAR _UnnamedText_595e9
-	db $50
-; 0x595e9 + 5 bytes
-
-Route11Text11: ; 0x595ee
-	TX_FAR _Route11Text11
-	db $50
-
-Route12Script: ; 0x595f3
-	call $3c3c
-	ld hl, Route12TrainerHeaders
-	ld de, $5611
-	ld a, [$d624]
-	call $3160
-	ld [$d624], a
-	ret
-; 0x59606
-
-INCBIN "baserom.gbc",$59606,$6f
-
-Route12Texts: ; 0x59675
-	dw Route12Text1, Route12Text2, Route12Text3, Route12Text4, Route12Text5, Route12Text6, Route12Text7, Route12Text8, Route12Text9, Route12Text10, Route12Text11, Route12Text12, Route12Text13, Route12Text14
-
-Route12TrainerHeaders:
-Route12TrainerHeader1: ; 0x59691
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_596ff ; 0x56ff TextBeforeBattle
-	dw UnnamedText_59709 ; 0x5709 TextAfterBattle
-	dw UnnamedText_59704 ; 0x5704 TextEndBattle
-	dw UnnamedText_59704 ; 0x5704 TextEndBattle
-; 0x5969d
-
-TrainerHeader_5969d: ; 0x5969d
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_59718 ; 0x5718 TextBeforeBattle
-	dw UnnamedText_59722 ; 0x5722 TextAfterBattle
-	dw UnnamedText_5971d ; 0x571d TextEndBattle
-	dw UnnamedText_5971d ; 0x571d TextEndBattle
-; 0x596a9
-
-TrainerHeader_596a9: ; 0x596a9
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_59731 ; 0x5731 TextBeforeBattle
-	dw UnnamedText_5973b ; 0x573b TextAfterBattle
-	dw UnnamedText_59736 ; 0x5736 TextEndBattle
-	dw UnnamedText_59736 ; 0x5736 TextEndBattle
-; 0x596b5
-
-TrainerHeader_596b5: ; 0x596b5
-	db $5 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_5974a ; 0x574a TextBeforeBattle
-	dw UnnamedText_59754 ; 0x5754 TextAfterBattle
-	dw UnnamedText_5974f ; 0x574f TextEndBattle
-	dw UnnamedText_5974f ; 0x574f TextEndBattle
-; 0x596c1
-
-TrainerHeader_596c1: ; 0x596c1
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_59763 ; 0x5763 TextBeforeBattle
-	dw UnnamedText_5976d ; 0x576d TextAfterBattle
-	dw UnnamedText_59768 ; 0x5768 TextEndBattle
-	dw UnnamedText_59768 ; 0x5768 TextEndBattle
-; 0x596cd
-
-TrainerHeader_596cd: ; 0x596cd
-	db $7 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_5977c ; 0x577c TextBeforeBattle
-	dw UnnamedText_59786 ; 0x5786 TextAfterBattle
-	dw UnnamedText_59781 ; 0x5781 TextEndBattle
-	dw UnnamedText_59781 ; 0x5781 TextEndBattle
-; 0x596d9
-
-TrainerHeader_596d9: ; 0x596d9
-	db $8 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7d7 ; flag's byte
-	dw UnnamedText_59795 ; 0x5795 TextBeforeBattle
-	dw UnnamedText_5979f ; 0x579f TextAfterBattle
-	dw UnnamedText_5979a ; 0x579a TextEndBattle
-	dw UnnamedText_5979a ; 0x579a TextEndBattle
-; 0x596e5
-
-db $ff
-
-Route12Text1: ; 0x596e6
-	TX_FAR _Route12Text1
-	db $50
-
-Route12Text13:
-UnnamedText_596eb: ; 0x596eb
-	TX_FAR _UnnamedText_596eb
-	db $50
-; 0x596eb + 5 bytes
-
-Route12Text14:
-UnnamedText_596f0: ; 0x596f0
-	TX_FAR _UnnamedText_596f0
-	db $50
-; 0x596f0 + 5 bytes
-
-Route12Text2: ; 0x596f5
-	db $08 ; asm
-	ld hl, Route12TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_596ff: ; 0x596ff
-	TX_FAR _UnnamedText_596ff
-	db $50
-; 0x596ff + 5 bytes
-
-UnnamedText_59704: ; 0x59704
-	TX_FAR _UnnamedText_59704
-	db $50
-; 0x59704 + 5 bytes
-
-UnnamedText_59709: ; 0x59709
-	TX_FAR _UnnamedText_59709
-	db $50
-; 0x59709 + 5 bytes
-
-Route12Text3: ; 0x5970e
-	db $08 ; asm
-	ld hl, TrainerHeader_5969d
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59718: ; 0x59718
-	TX_FAR _UnnamedText_59718
-	db $50
-; 0x59718 + 5 bytes
-
-UnnamedText_5971d: ; 0x5971d
-	TX_FAR _UnnamedText_5971d
-	db $50
-; 0x5971d + 5 bytes
-
-UnnamedText_59722: ; 0x59722
-	TX_FAR _UnnamedText_59722
-	db $50
-; 0x59722 + 5 bytes
-
-Route12Text4: ; 0x59727
-	db $08 ; asm
-	ld hl, TrainerHeader_596a9
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59731: ; 0x59731
-	TX_FAR _UnnamedText_59731
-	db $50
-; 0x59731 + 5 bytes
-
-UnnamedText_59736: ; 0x59736
-	TX_FAR _UnnamedText_59736
-	db $50
-; 0x59736 + 5 bytes
-
-UnnamedText_5973b: ; 0x5973b
-	TX_FAR _UnnamedText_5973b
-	db $50
-; 0x5973b + 5 bytes
-
-Route12Text5: ; 0x59740
-	db $08 ; asm
-	ld hl, TrainerHeader_596b5
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5974a: ; 0x5974a
-	TX_FAR _UnnamedText_5974a
-	db $50
-; 0x5974a + 5 bytes
-
-UnnamedText_5974f: ; 0x5974f
-	TX_FAR _UnnamedText_5974f
-	db $50
-; 0x5974f + 5 bytes
-
-UnnamedText_59754: ; 0x59754
-	TX_FAR _UnnamedText_59754
-	db $50
-; 0x59754 + 5 bytes
-
-Route12Text6: ; 0x59759
-	db $08 ; asm
-	ld hl, TrainerHeader_596c1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59763: ; 0x59763
-	TX_FAR _UnnamedText_59763
-	db $50
-; 0x59763 + 5 bytes
-
-UnnamedText_59768: ; 0x59768
-	TX_FAR _UnnamedText_59768
-	db $50
-; 0x59768 + 5 bytes
-
-UnnamedText_5976d: ; 0x5976d
-	TX_FAR _UnnamedText_5976d
-	db $50
-; 0x5976d + 5 bytes
-
-Route12Text7: ; 0x59772
-	db $08 ; asm
-	ld hl, TrainerHeader_596cd
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5977c: ; 0x5977c
-	TX_FAR _UnnamedText_5977c
-	db $50
-; 0x5977c + 5 bytes
-
-UnnamedText_59781: ; 0x59781
-	TX_FAR _UnnamedText_59781
-	db $50
-; 0x59781 + 5 bytes
-
-UnnamedText_59786: ; 0x59786
-	TX_FAR _UnnamedText_59786
-	db $50
-; 0x59786 + 5 bytes
-
-Route12Text8: ; 0x5978b
-	db $08 ; asm
-	ld hl, TrainerHeader_596d9
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59795: ; 0x59795
-	TX_FAR _UnnamedText_59795
-	db $50
-; 0x59795 + 5 bytes
-
-UnnamedText_5979a: ; 0x5979a
-	TX_FAR _UnnamedText_5979a
-	db $50
-; 0x5979a + 5 bytes
-
-UnnamedText_5979f: ; 0x5979f
-	TX_FAR _UnnamedText_5979f
-	db $50
-; 0x5979f + 5 bytes
-
-Route12Text11: ; 0x597a4
-	TX_FAR _Route12Text11
-	db $50
-
-Route12Text12: ; 0x597a9
-	TX_FAR _Route12Text12
-	db $50
-
-Route15Script: ; 0x597ae
-	call $3c3c
-	ld hl, Route15TrainerHeaders
-	ld de, Route15_Unknown597c1
-	ld a, [$d625]
-	call $3160
-	ld [$d625], a
-	ret
-; 0x597c1
-
-Route15_Unknown597c1: ; 0x597c1
-INCBIN "baserom.gbc",$597c1,$6
-
-Route15Texts: ; 0x597c7
-	dw Route15Text1, Route15Text2, Route15Text3, Route15Text4, Route15Text5, Route15Text6, Route15Text7, Route15Text8, Route15Text9, Route15Text10, Route15Text11, Route15Text12
-
-Route15TrainerHeaders:
-Route15TrainerHeader1: ; 0x597df
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_59898 ; 0x5898 TextBeforeBattle
-	dw UnnamedText_598a2 ; 0x58a2 TextAfterBattle
-	dw UnnamedText_5989d ; 0x589d TextEndBattle
-	dw UnnamedText_5989d ; 0x589d TextEndBattle
-; 0x597eb
-
-TrainerHeader_597eb: ; 0x597eb
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_598a7 ; 0x58a7 TextBeforeBattle
-	dw UnnamedText_598b1 ; 0x58b1 TextAfterBattle
-	dw UnnamedText_598ac ; 0x58ac TextEndBattle
-	dw UnnamedText_598ac ; 0x58ac TextEndBattle
-; 0x597f7
-
-TrainerHeader_597f7: ; 0x597f7
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_598b6 ; 0x58b6 TextBeforeBattle
-	dw UnnamedText_598c0 ; 0x58c0 TextAfterBattle
-	dw UnnamedText_598bb ; 0x58bb TextEndBattle
-	dw UnnamedText_598bb ; 0x58bb TextEndBattle
-; 0x59803
-
-TrainerHeader_59803: ; 0x59803
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_598c5 ; 0x58c5 TextBeforeBattle
-	dw UnnamedText_598cf ; 0x58cf TextAfterBattle
-	dw UnnamedText_598ca ; 0x58ca TextEndBattle
-	dw UnnamedText_598ca ; 0x58ca TextEndBattle
-; 0x5980f
-
-TrainerHeader_5980f: ; 0x5980f
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_598d4 ; 0x58d4 TextBeforeBattle
-	dw UnnamedText_598de ; 0x58de TextAfterBattle
-	dw UnnamedText_598d9 ; 0x58d9 TextEndBattle
-	dw UnnamedText_598d9 ; 0x58d9 TextEndBattle
-; 0x5981b
-
-TrainerHeader_5981b: ; 0x5981b
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_598e3 ; 0x58e3 TextBeforeBattle
-	dw UnnamedText_598ed ; 0x58ed TextAfterBattle
-	dw UnnamedText_598e8 ; 0x58e8 TextEndBattle
-	dw UnnamedText_598e8 ; 0x58e8 TextEndBattle
-; 0x59827
-
-TrainerHeader_59827: ; 0x59827
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_598f2 ; 0x58f2 TextBeforeBattle
-	dw UnnamedText_598fc ; 0x58fc TextAfterBattle
-	dw UnnamedText_598f7 ; 0x58f7 TextEndBattle
-	dw UnnamedText_598f7 ; 0x58f7 TextEndBattle
-; 0x59833
-
-TrainerHeader_59833: ; 0x59833
-	db $8 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_59901 ; 0x5901 TextBeforeBattle
-	dw UnnamedText_5990b ; 0x590b TextAfterBattle
-	dw UnnamedText_59906 ; 0x5906 TextEndBattle
-	dw UnnamedText_59906 ; 0x5906 TextEndBattle
-; 0x5983f
-
-TrainerHeader_5983f: ; 0x5983f
-	db $9 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_59910 ; 0x5910 TextBeforeBattle
-	dw UnnamedText_5991a ; 0x591a TextAfterBattle
-	dw UnnamedText_59915 ; 0x5915 TextEndBattle
-	dw UnnamedText_59915 ; 0x5915 TextEndBattle
-; 0x5984b
-
-TrainerHeader_5984b: ; 0x5984b
-	db $a ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7dd ; flag's byte
-	dw UnnamedText_5991f ; 0x591f TextBeforeBattle
-	dw UnnamedText_59929 ; 0x5929 TextAfterBattle
-	dw UnnamedText_59924 ; 0x5924 TextEndBattle
-	dw UnnamedText_59924 ; 0x5924 TextEndBattle
-; 0x59857
-
-db $ff
-
-Route15Text1: ; 0x59858
-	db $8 ; asm
-	ld hl, Route15TrainerHeader1
-	jr asm_33cb7 ; 0x5985c $34
-
-Route15Text2:
-	db $8 ; asm
-	ld hl, TrainerHeader_597eb
-	jr asm_33cb7 ; 0x59862 $2e
-
-Route15Text3:
-	db $8 ; asm
-	ld hl, TrainerHeader_597f7
-	jr asm_33cb7 ; 0x59868 $28
-
-Route15Text4:
-	db $8 ; asm
-	ld hl, TrainerHeader_59803
-	jr asm_33cb7 ; 0x5986e $22
-
-Route15Text5:
-	db $8 ; asm
-	ld hl, TrainerHeader_5980f
-	jr asm_33cb7 ; 0x59874 $1c
-
-Route15Text6:
-	db $8 ; asm
-	ld hl, TrainerHeader_5981b
-	jr asm_33cb7 ; 0x5987a $16
-
-Route15Text7:
-	db $8 ; asm
-	ld hl, TrainerHeader_59827
-	jr asm_33cb7 ; 0x59880 $10
-
-Route15Text8:
-	db $8 ; asm
-	ld hl, TrainerHeader_59833
-	jr asm_33cb7 ; 0x59886 $a
-
-Route15Text9:
-	db $8 ; asm
-	ld hl, TrainerHeader_5983f
-	jr asm_33cb7 ; 0x5988c $4
-
-Route15Text10:
-	db $8 ; asm
-	ld hl, TrainerHeader_5984b
-asm_33cb7: ; 0x59892
-	call LoadTrainerHeader
-	jp TextScriptEnd
-; 0x59898
-
-UnnamedText_59898: ; 0x59898
-	TX_FAR _UnnamedText_59898
-	db $50
-; 0x59898 + 5 bytes
-
-UnnamedText_5989d: ; 0x5989d
-	TX_FAR _UnnamedText_5989d
-	db $50
-; 0x5989d + 5 bytes
-
-UnnamedText_598a2: ; 0x598a2
-	TX_FAR _UnnamedText_598a2
-	db $50
-; 0x598a2 + 5 bytes
-
-UnnamedText_598a7: ; 0x598a7
-	TX_FAR _UnnamedText_598a7
-	db $50
-; 0x598a7 + 5 bytes
-
-UnnamedText_598ac: ; 0x598ac
-	TX_FAR _UnnamedText_598ac
-	db $50
-; 0x598ac + 5 bytes
-
-UnnamedText_598b1: ; 0x598b1
-	TX_FAR _UnnamedText_598b1
-	db $50
-; 0x598b1 + 5 bytes
-
-UnnamedText_598b6: ; 0x598b6
-	TX_FAR _UnnamedText_598b6
-	db $50
-; 0x598b6 + 5 bytes
-
-UnnamedText_598bb: ; 0x598bb
-	TX_FAR _UnnamedText_598bb
-	db $50
-; 0x598bb + 5 bytes
-
-UnnamedText_598c0: ; 0x598c0
-	TX_FAR _UnnamedText_598c0
-	db $50
-; 0x598c0 + 5 bytes
-
-UnnamedText_598c5: ; 0x598c5
-	TX_FAR _UnnamedText_598c5
-	db $50
-; 0x598c5 + 5 bytes
-
-UnnamedText_598ca: ; 0x598ca
-	TX_FAR _UnnamedText_598ca
-	db $50
-; 0x598ca + 5 bytes
-
-UnnamedText_598cf: ; 0x598cf
-	TX_FAR _UnnamedText_598cf
-	db $50
-; 0x598cf + 5 bytes
-
-UnnamedText_598d4: ; 0x598d4
-	TX_FAR _UnnamedText_598d4
-	db $50
-; 0x598d4 + 5 bytes
-
-UnnamedText_598d9: ; 0x598d9
-	TX_FAR _UnnamedText_598d9
-	db $50
-; 0x598d9 + 5 bytes
-
-UnnamedText_598de: ; 0x598de
-	TX_FAR _UnnamedText_598de
-	db $50
-; 0x598de + 5 bytes
-
-UnnamedText_598e3: ; 0x598e3
-	TX_FAR _UnnamedText_598e3
-	db $50
-; 0x598e3 + 5 bytes
-
-UnnamedText_598e8: ; 0x598e8
-	TX_FAR _UnnamedText_598e8
-	db $50
-; 0x598e8 + 5 bytes
-
-UnnamedText_598ed: ; 0x598ed
-	TX_FAR _UnnamedText_598ed
-	db $50
-; 0x598ed + 5 bytes
-
-UnnamedText_598f2: ; 0x598f2
-	TX_FAR _UnnamedText_598f2
-	db $50
-; 0x598f2 + 5 bytes
-
-UnnamedText_598f7: ; 0x598f7
-	TX_FAR _UnnamedText_598f7
-	db $50
-; 0x598f7 + 5 bytes
-
-UnnamedText_598fc: ; 0x598fc
-	TX_FAR _UnnamedText_598fc
-	db $50
-; 0x598fc + 5 bytes
-
-UnnamedText_59901: ; 0x59901
-	TX_FAR _UnnamedText_59901
-	db $50
-; 0x59901 + 5 bytes
-
-UnnamedText_59906: ; 0x59906
-	TX_FAR _UnnamedText_59906
-	db $50
-; 0x59906 + 5 bytes
-
-UnnamedText_5990b: ; 0x5990b
-	TX_FAR _UnnamedText_5990b
-	db $50
-; 0x5990b + 5 bytes
-
-UnnamedText_59910: ; 0x59910
-	TX_FAR _UnnamedText_59910
-	db $50
-; 0x59910 + 5 bytes
-
-UnnamedText_59915: ; 0x59915
-	TX_FAR _UnnamedText_59915
-	db $50
-; 0x59915 + 5 bytes
-
-UnnamedText_5991a: ; 0x5991a
-	TX_FAR _UnnamedText_5991a
-	db $50
-; 0x5991a + 5 bytes
-
-UnnamedText_5991f: ; 0x5991f
-	TX_FAR _UnnamedText_5991f
-	db $50
-; 0x5991f + 5 bytes
-
-UnnamedText_59924: ; 0x59924
-	TX_FAR _UnnamedText_59924
-	db $50
-; 0x59924 + 5 bytes
-
-UnnamedText_59929: ; 0x59929
-	TX_FAR _UnnamedText_59929
-	db $50
-; 0x59929 + 5 bytes
-
-Route15Text12: ; 0x5992e
-	TX_FAR _Route15Text12
-	db $50
-
-Route16Script: ; 0x59933
-	call $3c3c
-	ld hl, Route16TrainerHeaders
-	ld de, $5951
-	ld a, [$d626]
-	call $3160
-	ld [$d626], a
-	ret
-; 0x59946
-
-INCBIN "baserom.gbc",$59946,$73
-
-Route16Texts: ; 0x599b9
-	dw Route16Text1, Route16Text2, Route16Text3, Route16Text4, Route16Text5, Route16Text6, Route16Text7, Route16Text8, Route16Text9, Route16Text10, Route16Text11
-
-Route16TrainerHeaders:
-Route16TrainerHeader1: ; 0x599cf
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7df ; flag's byte
-	dw UnnamedText_59a22 ; 0x5a22 TextBeforeBattle
-	dw UnnamedText_59a2c ; 0x5a2c TextAfterBattle
-	dw UnnamedText_59a27 ; 0x5a27 TextEndBattle
-	dw UnnamedText_59a27 ; 0x5a27 TextEndBattle
-; 0x599db
-
-TrainerHeader_599db: ; 0x599db
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7df ; flag's byte
-	dw UnnamedText_59a3b ; 0x5a3b TextBeforeBattle
-	dw UnnamedText_59a45 ; 0x5a45 TextAfterBattle
-	dw UnnamedText_59a40 ; 0x5a40 TextEndBattle
-	dw UnnamedText_59a40 ; 0x5a40 TextEndBattle
-; 0x599e7
-
-TrainerHeader_599e7: ; 0x599e7
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7df ; flag's byte
-	dw UnnamedText_59a54 ; 0x5a54 TextBeforeBattle
-	dw UnnamedText_59a5e ; 0x5a5e TextAfterBattle
-	dw UnnamedText_59a59 ; 0x5a59 TextEndBattle
-	dw UnnamedText_59a59 ; 0x5a59 TextEndBattle
-; 0x599f3
-
-TrainerHeader_599f3: ; 0x599f3
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7df ; flag's byte
-	dw UnnamedText_59a6d ; 0x5a6d TextBeforeBattle
-	dw UnnamedText_59a77 ; 0x5a77 TextAfterBattle
-	dw UnnamedText_59a72 ; 0x5a72 TextEndBattle
-	dw UnnamedText_59a72 ; 0x5a72 TextEndBattle
-; 0x599ff
-
-TrainerHeader_599ff: ; 0x599ff
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d7df ; flag's byte
-	dw UnnamedText_59a86 ; 0x5a86 TextBeforeBattle
-	dw UnnamedText_59a90 ; 0x5a90 TextAfterBattle
-	dw UnnamedText_59a8b ; 0x5a8b TextEndBattle
-	dw UnnamedText_59a8b ; 0x5a8b TextEndBattle
-; 0x59a0b
-
-TrainerHeader_59a0b: ; 0x59a0b
-	db $6 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7df ; flag's byte
-	dw UnnamedText_59a9f ; 0x5a9f TextBeforeBattle
-	dw UnnamedText_59aa9 ; 0x5aa9 TextAfterBattle
-	dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle
-	dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle
-; 0x59a17
-
-db $ff
-
-Route16Text1: ; 0x59a18
-	db $08 ; asm
-	ld hl, Route16TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59a22: ; 0x59a22
-	TX_FAR _UnnamedText_59a22
-	db $50
-; 0x59a22 + 5 bytes
-
-UnnamedText_59a27: ; 0x59a27
-	TX_FAR _UnnamedText_59a27
-	db $50
-; 0x59a27 + 5 bytes
-
-UnnamedText_59a2c: ; 0x59a2c
-	TX_FAR _UnnamedText_59a2c
-	db $50
-; 0x59a2c + 5 bytes
-
-Route16Text2: ; 0x59a31
-	db $08 ; asm
-	ld hl, TrainerHeader_599db
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59a3b: ; 0x59a3b
-	TX_FAR _UnnamedText_59a3b
-	db $50
-; 0x59a3b + 5 bytes
-
-UnnamedText_59a40: ; 0x59a40
-	TX_FAR _UnnamedText_59a40
-	db $50
-; 0x59a40 + 5 bytes
-
-UnnamedText_59a45: ; 0x59a45
-	TX_FAR _UnnamedText_59a45
-	db $50
-; 0x59a45 + 5 bytes
-
-Route16Text3: ; 0x59a4a
-	db $08 ; asm
-	ld hl, TrainerHeader_599e7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59a54: ; 0x59a54
-	TX_FAR _UnnamedText_59a54
-	db $50
-; 0x59a54 + 5 bytes
-
-UnnamedText_59a59: ; 0x59a59
-	TX_FAR _UnnamedText_59a59
-	db $50
-; 0x59a59 + 5 bytes
-
-UnnamedText_59a5e: ; 0x59a5e
-	TX_FAR _UnnamedText_59a5e
-	db $50
-; 0x59a5e + 5 bytes
-
-Route16Text4: ; 0x59a63
-	db $08 ; asm
-	ld hl, TrainerHeader_599f3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59a6d: ; 0x59a6d
-	TX_FAR _UnnamedText_59a6d
-	db $50
-; 0x59a6d + 5 bytes
-
-UnnamedText_59a72: ; 0x59a72
-	TX_FAR _UnnamedText_59a72
-	db $50
-; 0x59a72 + 5 bytes
-
-UnnamedText_59a77: ; 0x59a77
-	TX_FAR _UnnamedText_59a77
-	db $50
-; 0x59a77 + 5 bytes
-
-Route16Text5: ; 0x59a7c
-	db $08 ; asm
-	ld hl, TrainerHeader_599ff
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59a86: ; 0x59a86
-	TX_FAR _UnnamedText_59a86
-	db $50
-; 0x59a86 + 5 bytes
-
-UnnamedText_59a8b: ; 0x59a8b
-	TX_FAR _UnnamedText_59a8b
-	db $50
-; 0x59a8b + 5 bytes
-
-UnnamedText_59a90: ; 0x59a90
-	TX_FAR _UnnamedText_59a90
-	db $50
-; 0x59a90 + 5 bytes
-
-Route16Text6: ; 0x59a95
-	db $08 ; asm
-	ld hl, TrainerHeader_59a0b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59a9f: ; 0x59a9f
-	TX_FAR _UnnamedText_59a9f
-	db $50
-; 0x59a9f + 5 bytes
-
-UnnamedText_59aa4: ; 0x59aa4
-	TX_FAR _UnnamedText_59aa4
-	db $50
-; 0x59aa4 + 5 bytes
-
-UnnamedText_59aa9: ; 0x59aa9
-	TX_FAR _UnnamedText_59aa9
-	db $50
-; 0x59aa9 + 5 bytes
-
-Route16Text7: ; 0x59aae
-	TX_FAR _Route16Text7
-	db $50
-
-Route16Text10: ; 0x59ab3
-	TX_FAR _UnnamedText_59ab3
-	db $50
-; 0x59ab3 + 5 bytes
-
-Route16Text11: ; 0x59ab8
-	TX_FAR _UnnamedText_59ab8
-	db $50
-; 0x59ab8 + 5 bytes
-
-Route16Text8: ; 0x59abd
-	TX_FAR _Route16Text8
-	db $50
-
-Route16Text9: ; 0x59ac2
-	TX_FAR _Route16Text9
-	db $50
-
-Route18Script: ; 0x59ac7
-	call $3c3c
-	ld hl, Route18TrainerHeaders
-	ld de, Route18_Unknown59ada
-	ld a, [$d627]
-	call $3160
-	ld [$d627], a
-	ret
-; 0x59ada
-
-Route18_Unknown59ada: ; 0x59ada
-INCBIN "baserom.gbc",$59ada,$6
-
-Route18Texts: ; 0x59ae0
-	dw Route18Text1, Route18Text2, Route18Text3, Route18Text4, Route18Text5
-
-Route18TrainerHeaders:
-Route18TrainerHeader1: ; 0x59aea
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e3 ; flag's byte
-	dw UnnamedText_59b19 ; 0x5b19 TextBeforeBattle
-	dw UnnamedText_59b23 ; 0x5b23 TextAfterBattle
-	dw UnnamedText_59b1e ; 0x5b1e TextEndBattle
-	dw UnnamedText_59b1e ; 0x5b1e TextEndBattle
-; 0x59af6
-
-TrainerHeader_59af6: ; 0x59af6
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7e3 ; flag's byte
-	dw UnnamedText_59b32 ; 0x5b32 TextBeforeBattle
-	dw UnnamedText_59b3c ; 0x5b3c TextAfterBattle
-	dw UnnamedText_59b37 ; 0x5b37 TextEndBattle
-	dw UnnamedText_59b37 ; 0x5b37 TextEndBattle
-; 0x59b02
-
-TrainerHeader_59b02: ; 0x59b02
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7e3 ; flag's byte
-	dw UnnamedText_59b4b ; 0x5b4b TextBeforeBattle
-	dw UnnamedText_59b55 ; 0x5b55 TextAfterBattle
-	dw UnnamedText_59b50 ; 0x5b50 TextEndBattle
-	dw UnnamedText_59b50 ; 0x5b50 TextEndBattle
-; 0x59b0e
-
-db $ff
-
-Route18Text1: ; 0x59b0f
-	db $08 ; asm
-	ld hl, Route18TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59b19: ; 0x59b19
-	TX_FAR _UnnamedText_59b19
-	db $50
-; 0x59b19 + 5 bytes
-
-UnnamedText_59b1e: ; 0x59b1e
-	TX_FAR _UnnamedText_59b1e
-	db $50
-; 0x59b1e + 5 bytes
-
-UnnamedText_59b23: ; 0x59b23
-	TX_FAR _UnnamedText_59b23
-	db $50
-; 0x59b23 + 5 bytes
-
-Route18Text2: ; 0x59b28
-	db $08 ; asm
-	ld hl, TrainerHeader_59af6
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59b32: ; 0x59b32
-	TX_FAR _UnnamedText_59b32
-	db $50
-; 0x59b32 + 5 bytes
-
-UnnamedText_59b37: ; 0x59b37
-	TX_FAR _UnnamedText_59b37
-	db $50
-; 0x59b37 + 5 bytes
-
-UnnamedText_59b3c: ; 0x59b3c
-	TX_FAR _UnnamedText_59b3c
-	db $50
-; 0x59b3c + 5 bytes
-
-Route18Text3: ; 0x59b41
-	db $08 ; asm
-	ld hl, TrainerHeader_59b02
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59b4b: ; 0x59b4b
-	TX_FAR _UnnamedText_59b4b
-	db $50
-; 0x59b4b + 5 bytes
-
-UnnamedText_59b50: ; 0x59b50
-	TX_FAR _UnnamedText_59b50
-	db $50
-; 0x59b50 + 5 bytes
-
-UnnamedText_59b55: ; 0x59b55
-	TX_FAR _UnnamedText_59b55
-	db $50
-; 0x59b55 + 5 bytes
-
-Route18Text4: ; 0x59b5a
-	TX_FAR _Route18Text4
-	db $50
-
-Route18Text5: ; 0x59b5f
-	TX_FAR _Route18Text5
-	db $50
-
-FanClub_h: ; 0x59b64 to 0x59b70 (12 bytes) (id=90)
-	db $10 ; tileset
-	db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x)
-	dw FanClubBlocks, FanClubTexts, FanClubScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FanClubObject ; objects
-
-FanClubScript: ; 0x59b70
-	jp $3c3c
-; 0x59b73
-
-INCBIN "baserom.gbc",$59b73,$11
-
-FanClubTexts: ; 0x59b84
-	dw FanClubText1, FanClubText2, FanClubText3, FanClubText4, FanClubText5, FanClubText6, FanClubText7, FanClubText8
-
-FanClubText1: ; 0x59b94
-	db $08 ; asm
-	ld a, [$d771]
-	bit 7, a
-	jr nz, asm_67b22 ; 0x59b9a
-	ld hl, UnnamedText_59bb7
-	call PrintText
-	ld hl, $d771
-	set 6, [hl]
-	jr asm_64f01 ; 0x59ba7
-asm_67b22 ; 0x59ba9
-	ld hl, UnnamedText_59bbc
-	call PrintText
-	ld hl, $d771
-	res 7, [hl]
-asm_64f01 ; 0x59bb4
-	jp TextScriptEnd
-
-UnnamedText_59bb7: ; 0x59bb7
-	TX_FAR _UnnamedText_59bb7
-	db $50
-; 0x59bb7 + 5 bytes
-
-UnnamedText_59bbc: ; 0x59bbc
-	TX_FAR _UnnamedText_59bbc
-	db $50
-; 0x59bbc + 5 bytes
-
-FanClubText2: ; 0x59bc1
-	db $08 ; asm
-	ld a, [$d771]
-	bit 6, a
-	jr nz, asm_5cd59 ; 0x59bc7
-	ld hl, UnnamedText_59be4
-	call PrintText
-	ld hl, $d771
-	set 7, [hl]
-	jr asm_59625 ; 0x59bd4
-asm_5cd59 ; 0x59bd6
-	ld hl, UnnamedText_59be9
-	call PrintText
-	ld hl, $d771
-	res 6, [hl]
-asm_59625 ; 0x59be1
-	jp TextScriptEnd
-
-UnnamedText_59be4: ; 0x59be4
-	TX_FAR _UnnamedText_59be4
-	db $50
-; 0x59be4 + 5 bytes
-
-UnnamedText_59be9: ; 0x59be9
-	TX_FAR _UnnamedText_59be9
-	db $50
-; 0x59be9 + 5 bytes
-
-FanClubText3: ; 0x59bee
-	db $8
-	ld hl, UnnamedText_59c00
-	call PrintText
-	ld a, $54
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-; 0x59c00
-
-UnnamedText_59c00: ; 0x59c00
-	TX_FAR _UnnamedText_59c00
-	db $50
-; 0x59c00 + 5 bytes
-
-FanClubText4: ; 0x59c05
-	db $08 ; asm
-	ld hl, UnnamedText_59c17
-	call PrintText
-	ld a, SEEL
-	call $13d0
-	call $3748
-	jp TextScriptEnd
-
-UnnamedText_59c17: ; 0x59c17
-	TX_FAR _UnnamedText_59c17
-	db $50
-; 0x59c17 + 5 bytes
-
-FanClubText5: ; 0x59c1c
-	db $08 ; asm
-	call $5b73
-	jr nz, asm_38bb3 ; 0x59c20
-	ld hl, UnnamedText_59c65
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, asm_2c8d7 ; 0x59c2f
-	ld hl, UnnamedText_59c6a
-	call PrintText
-	ld bc, (BIKE_VOUCHER << 8) | 1
-	call GiveItem
-	jr nc, asm_867d4 ; 0x59c3d
-	ld hl, ReceivedBikeVoucherText
-	call PrintText
-	ld hl, $d771
-	set 1, [hl]
-	jr asm_d3c26 ; 0x59c4a
-asm_867d4 ; 0x59c4c
-	ld hl, UnnamedText_59c83
-	call PrintText
-	jr asm_d3c26 ; 0x59c52
-asm_2c8d7 ; 0x59c54
-	ld hl, UnnamedText_59c79
-	call PrintText
-	jr asm_d3c26 ; 0x59c5a
-asm_38bb3 ; 0x59c5c
-	ld hl, UnnamedText_59c7e
-	call PrintText
-asm_d3c26 ; 0x59c62
-	jp TextScriptEnd
-
-UnnamedText_59c65: ; 0x59c65
-	TX_FAR _UnnamedText_59c65
-	db $50
-; 0x59c65 + 5 bytes
-
-UnnamedText_59c6a: ; 0x59c6a
-	TX_FAR _UnnamedText_59c6a
-	db $50
-; 0x59c6a + 5 bytes
-
-ReceivedBikeVoucherText: ; 0x59c6f
-	TX_FAR _ReceivedBikeVoucherText ; 0x9a82e
-	db $11
-	TX_FAR _UnnamedText_59c74 ; 0x9a844
-	db $50
-; 0x59c6f + 10 bytes = 0x59c79
-
-UnnamedText_59c79: ; 0x59c79
-	TX_FAR _UnnamedText_59c79
-	db $50
-; 0x59c79 + 5 bytes
-
-UnnamedText_59c7e: ; 0x59c7e
-	TX_FAR _UnnamedText_59c7e
-	db $50
-; 0x59c7e + 5 bytes
-
-UnnamedText_59c83: ; 0x59c83
-	TX_FAR _UnnamedText_59c83
-	db $50
-; 0x59c83 + 5 bytes
-
-FanClubText6:
-	TX_FAR _FanClubText6
-	db $50
-
-FanClubText7:
-	TX_FAR _FanClubText7
-	db $50
-
-FanClubText8: ; 0x59c92
-	TX_FAR _FanClubText8
-	db $50
-
-FanClubObject: ; 0x59c97 (size=62)
-	db $d ; border tile
-
-	db $2 ; warps
-	db $7, $2, $1, $ff
-	db $7, $3, $1, $ff
-
-	db $2 ; signs
-	db $0, $1, $7 ; FanClubText7
-	db $0, $6, $8 ; FanClubText8
-
-	db $6 ; people
-	db SPRITE_FISHER2, $3 + 4, $6 + 4, $ff, $d2, $1 ; person
-	db SPRITE_GIRL, $3 + 4, $1 + 4, $ff, $d3, $2 ; person
-	db SPRITE_CLEFAIRY, $4 + 4, $6 + 4, $ff, $d2, $3 ; person
-	db SPRITE_SEEL, $4 + 4, $1 + 4, $ff, $d3, $4 ; person
-	db SPRITE_GENTLEMAN, $1 + 4, $3 + 4, $ff, $d0, $5 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $1 + 4, $5 + 4, $ff, $d0, $6 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-FanClubBlocks: ; 0x59cd5 16
-	INCBIN "maps/fanclub.blk"
-
-SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207)
-	db $16 ; tileset
-	db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x)
-	dw SilphCo2Blocks, SilphCo2Texts, SilphCo2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo2Object ; objects
-
-SilphCo2Script: ; 0x59cf1
-	call SilphCo2_Unknown59d07
-	call $3c3c
-	ld hl, SilphCo2TrainerHeaders
-	ld de, $5d80
-	ld a, [$d643]
-	call $3160
-	ld [$d643], a
-	ret
-; 0x59d07
-
-SilphCo2_Unknown59d07: ; 0x59d07
-INCBIN "baserom.gbc",$59d07,$7f
-
-SilphCo2Texts: ; 0x59d86
-	dw SilphCo2Text1, SilphCo2Text2, SilphCo2Text3, SilphCo2Text4, SilphCo2Text5
-
-SilphCo2TrainerHeaders:
-SilphCo2TrainerHeader1: ; 0x59d90
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d825 ; flag's byte
-	dw UnnamedText_59e2a ; 0x5e2a TextBeforeBattle
-	dw UnnamedText_59e34 ; 0x5e34 TextAfterBattle
-	dw UnnamedText_59e2f ; 0x5e2f TextEndBattle
-	dw UnnamedText_59e2f ; 0x5e2f TextEndBattle
-; 0x59d9c
-
-TrainerHeader_59d9c: ; 0x59d9c
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d825 ; flag's byte
-	dw UnnamedText_59e39 ; 0x5e39 TextBeforeBattle
-	dw UnnamedText_59e43 ; 0x5e43 TextAfterBattle
-	dw UnnamedText_59e3e ; 0x5e3e TextEndBattle
-	dw UnnamedText_59e3e ; 0x5e3e TextEndBattle
-; 0x59da8
-
-TrainerHeader_59da8: ; 0x59da8
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d825 ; flag's byte
-	dw UnnamedText_59e48 ; 0x5e48 TextBeforeBattle
-	dw UnnamedText_59e52 ; 0x5e52 TextAfterBattle
-	dw UnnamedText_59e4d ; 0x5e4d TextEndBattle
-	dw UnnamedText_59e4d ; 0x5e4d TextEndBattle
-; 0x59db4
-
-TrainerHeader_59db4: ; 0x59db4
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d825 ; flag's byte
-	dw UnnamedText_59e57 ; 0x5e57 TextBeforeBattle
-	dw UnnamedText_59e61 ; 0x5e61 TextAfterBattle
-	dw UnnamedText_59e5c ; 0x5e5c TextEndBattle
-	dw UnnamedText_59e5c ; 0x5e5c TextEndBattle
-; 0x59dc0
-
-db $ff
-
-SilphCo2Text1: ; 0x59dc1
-	db $08 ; asm
-	ld a, [$d826]
-	bit 7, a
-	jr nz, asm_b8a0d ; 0x59dc7
-	ld hl, UnnamedText_59ded
-	call PrintText
-	ld bc, (TM_36 << 8) | 1
-	call GiveItem
-	ld hl, TM36NoRoomText
-	jr nc, asm_2c1e0 ; 0x59dd8
-	ld hl, $d826
-	set 7, [hl]
-	ld hl, ReceivedTM36Text
-	jr asm_2c1e0 ; 0x59de2
-asm_b8a0d ; 0x59de4
-	ld hl, TM36ExplanationText
-asm_2c1e0 ; 0x59de7
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_59ded: ; 0x59ded
-	TX_FAR _UnnamedText_59ded
-	db $50
-; 0x59ded + 5 bytes
-
-ReceivedTM36Text: ; 0x59df2
-	TX_FAR _ReceivedTM36Text ; 0x824ba
-	db $0B, $50
-; 0x59df2 + 6 bytes = 0x59df8
-
-TM36ExplanationText: ; 0x59df8
-	TX_FAR _TM36ExplanationText
-	db $50
-; 0x59df8 + 5 bytes
-
-TM36NoRoomText: ; 0x59dfd
-	TX_FAR _TM36NoRoomText
-	db $50
-; 0x59dfd + 5 bytes
-
-SilphCo2Text2: ; 0x59e02
-	db $08 ; asm
-	ld hl, SilphCo2TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo2Text3: ; 0x59e0c
-	db $08 ; asm
-	ld hl, TrainerHeader_59d9c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo2Text4: ; 0x59e16
-	db $08 ; asm
-	ld hl, TrainerHeader_59da8
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo2Text5: ; 0x59e20
-	db $08 ; asm
-	ld hl, TrainerHeader_59db4
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_59e2a: ; 0x59e2a
-	TX_FAR _UnnamedText_59e2a
-	db $50
-; 0x59e2a + 5 bytes
-
-UnnamedText_59e2f: ; 0x59e2f
-	TX_FAR _UnnamedText_59e2f
-	db $50
-; 0x59e2f + 5 bytes
-
-UnnamedText_59e34: ; 0x59e34
-	TX_FAR _UnnamedText_59e34
-	db $50
-; 0x59e34 + 5 bytes
-
-UnnamedText_59e39: ; 0x59e39
-	TX_FAR _UnnamedText_59e39
-	db $50
-; 0x59e39 + 5 bytes
-
-UnnamedText_59e3e: ; 0x59e3e
-	TX_FAR _UnnamedText_59e3e
-	db $50
-; 0x59e3e + 5 bytes
-
-UnnamedText_59e43: ; 0x59e43
-	TX_FAR _UnnamedText_59e43
-	db $50
-; 0x59e43 + 5 bytes
-
-UnnamedText_59e48: ; 0x59e48
-	TX_FAR _UnnamedText_59e48
-	db $50
-; 0x59e48 + 5 bytes
-
-UnnamedText_59e4d: ; 0x59e4d
-	TX_FAR _UnnamedText_59e4d
-	db $50
-; 0x59e4d + 5 bytes
-
-UnnamedText_59e52: ; 0x59e52
-	TX_FAR _UnnamedText_59e52
-	db $50
-; 0x59e52 + 5 bytes
-
-UnnamedText_59e57: ; 0x59e57
-	TX_FAR _UnnamedText_59e57
-	db $50
-; 0x59e57 + 5 bytes
-
-UnnamedText_59e5c: ; 0x59e5c
-	TX_FAR _UnnamedText_59e5c
-	db $50
-; 0x59e5c + 5 bytes
-
-UnnamedText_59e61: ; 0x59e61
-	TX_FAR _UnnamedText_59e61
-	db $50
-; 0x59e61 + 5 bytes
-
-SilphCo2Object: ; 0x59e66 (size=98)
-	db $2e ; border tile
-
-	db $7 ; warps
-	db $0, $18, $2, SILPH_CO_1F
-	db $0, $1a, $0, SILPH_CO_3F
-	db $0, $14, $0, SILPH_CO_ELEVATOR
-	db $3, $3, $6, SILPH_CO_3F
-	db $3, $d, $4, SILPH_CO_8F
-	db $f, $1b, $5, SILPH_CO_8F
-	db $f, $9, $4, SILPH_CO_6F
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_ERIKA, $1 + 4, $a + 4, $ff, $d1, $1 ; person
-	db SPRITE_OAK_AIDE, $c + 4, $5 + 4, $ff, $d0, $42, SCIENTIST + $C8, $2 ; trainer
-	db SPRITE_OAK_AIDE, $d + 4, $18 + 4, $ff, $d2, $43, SCIENTIST + $C8, $3 ; trainer
-	db SPRITE_ROCKET, $b + 4, $10 + 4, $ff, $d1, $44, ROCKET + $C8, $17 ; trainer
-	db SPRITE_ROCKET, $7 + 4, $18 + 4, $ff, $d1, $45, ROCKET + $C8, $18 ; trainer
-
-	; warp-to
-	EVENT_DISP $f, $0, $18 ; SILPH_CO_1F
-	EVENT_DISP $f, $0, $1a ; SILPH_CO_3F
-	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $f, $3, $3 ; SILPH_CO_3F
-	EVENT_DISP $f, $3, $d ; SILPH_CO_8F
-	EVENT_DISP $f, $f, $1b ; SILPH_CO_8F
-	EVENT_DISP $f, $f, $9 ; SILPH_CO_6F
-
-SilphCo2Blocks: ; 0x59ec8 135
-	INCBIN "maps/silphco2.blk"
-
-SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208)
-	db $16 ; tileset
-	db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x)
-	dw SilphCo3Blocks, SilphCo3Texts, SilphCo3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo3Object ; objects
-
-SilphCo3Script: ; 0x59f5b
-	call SilphCo3Script_Unknown59f71
-	call $3c3c
-	ld hl, SilphCo3TrainerHeaders
-	ld de, $5fbe
-	ld a, [$d644]
-	call $3160
-	ld [$d644], a
-	ret
-; 0x59f71
-
-SilphCo3Script_Unknown59f71: ; 0x59f71
-INCBIN "baserom.gbc",$59f71,$53
-
-SilphCo3Texts: ; 0x59fc4
-	dw SilphCo3Text1, SilphCo3Text2, SilphCo3Text3, SilphCo3Text4
-
-SilphCo3TrainerHeaders:
-SilphCo3TrainerHeader1: ; 0x59fcc
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d827 ; flag's byte
-	dw UnnamedText_5a00d ; 0x600d TextBeforeBattle
-	dw UnnamedText_5a017 ; 0x6017 TextAfterBattle
-	dw UnnamedText_5a012 ; 0x6012 TextEndBattle
-	dw UnnamedText_5a012 ; 0x6012 TextEndBattle
-; 0x59fd8
-
-TrainerHeader_59fd8: ; 0x59fd8
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d827 ; flag's byte
-	dw UnnamedText_5a026 ; 0x6026 TextBeforeBattle
-	dw UnnamedText_5a030 ; 0x6030 TextAfterBattle
-	dw UnnamedText_5a02b ; 0x602b TextEndBattle
-	dw UnnamedText_5a02b ; 0x602b TextEndBattle
-; 0x59fe4
-
-db $ff
-
-SilphCo3Text1: ; 0x59fe5
-	db $08 ; asm
-	ld a, [$d838]
-	bit 7, a
-	ld hl, UnnamedText_59ffe
-	jr nz, asm_8c56f ; 0x59fee
-	ld hl, UnnamedText_59ff9
-asm_8c56f ; 0x59ff3
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_59ff9: ; 0x59ff9
-	TX_FAR _UnnamedText_59ff9
-	db $50
-; 0x59ff9 + 5 bytes
-
-UnnamedText_59ffe: ; 0x59ffe
-	TX_FAR _UnnamedText_59ffe
-	db $50
-; 0x59ffe + 5 bytes
-
-SilphCo3Text2: ; 0x5a003
-	db $08 ; asm
-	ld hl, SilphCo3TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5a00d: ; 0x5a00d
-	TX_FAR _UnnamedText_5a00d
-	db $50
-; 0x5a00d + 5 bytes
-
-UnnamedText_5a012: ; 0x5a012
-	TX_FAR _UnnamedText_5a012
-	db $50
-; 0x5a012 + 5 bytes
-
-UnnamedText_5a017: ; 0x5a017
-	TX_FAR _UnnamedText_5a017
-	db $50
-; 0x5a017 + 5 bytes
-
-SilphCo3Text3: ; 0x5a01c
-	db $08 ; asm
-	ld hl, TrainerHeader_59fd8
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5a026: ; 0x5a026
-	TX_FAR _UnnamedText_5a026
-	db $50
-; 0x5a026 + 5 bytes
-
-UnnamedText_5a02b: ; 0x5a02b
-	TX_FAR _UnnamedText_5a02b
-	db $50
-; 0x5a02b + 5 bytes
-
-UnnamedText_5a030: ; 0x5a030
-	TX_FAR _UnnamedText_5a030
-	db $50
-; 0x5a030 + 5 bytes
-
-SilphCo3Object: ; 0x5a035 (size=113)
-	db $2e ; border tile
-
-	db $a ; warps
-	db $0, $1a, $1, SILPH_CO_2F
-	db $0, $18, $0, SILPH_CO_4F
-	db $0, $14, $0, SILPH_CO_ELEVATOR
-	db $b, $17, $9, SILPH_CO_3F
-	db $3, $3, $5, SILPH_CO_5F
-	db $f, $3, $6, SILPH_CO_5F
-	db $3, $1b, $3, SILPH_CO_2F
-	db $b, $3, $3, SILPH_CO_9F
-	db $b, $b, $4, SILPH_CO_7F
-	db $f, $1b, $3, SILPH_CO_3F
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_LAPRAS_GIVER, $8 + 4, $18 + 4, $ff, $ff, $1 ; person
-	db SPRITE_ROCKET, $7 + 4, $14 + 4, $ff, $d2, $42, ROCKET + $C8, $19 ; trainer
-	db SPRITE_OAK_AIDE, $9 + 4, $7 + 4, $ff, $d0, $43, SCIENTIST + $C8, $4 ; trainer
-	db SPRITE_BALL, $5 + 4, $8 + 4, $ff, $ff, $84, HYPER_POTION ; item
-
-	; warp-to
-	EVENT_DISP $f, $0, $1a ; SILPH_CO_2F
-	EVENT_DISP $f, $0, $18 ; SILPH_CO_4F
-	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $f, $b, $17 ; SILPH_CO_3F
-	EVENT_DISP $f, $3, $3 ; SILPH_CO_5F
-	EVENT_DISP $f, $f, $3 ; SILPH_CO_5F
-	EVENT_DISP $f, $3, $1b ; SILPH_CO_2F
-	EVENT_DISP $f, $b, $3 ; SILPH_CO_9F
-	EVENT_DISP $f, $b, $b ; SILPH_CO_7F
-	EVENT_DISP $f, $f, $1b ; SILPH_CO_3F
-
-SilphCo3Blocks: ; 0x5a0a6 135
-	INCBIN "maps/silphco3.blk"
-
-SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234)
-	db $16 ; tileset
-	db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x)
-	dw SilphCo10Blocks, SilphCo10Texts, SilphCo10Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo10Object ; objects
-
-SilphCo10Script: ; 0x5a139
-	call SilphCo10Script_Unknown5a14f
-	call $3c3c
-	ld hl, SilphCo10TrainerHeaders
-	ld de, $6180
-	ld a, [$d658]
-	call $3160
-	ld [$d658], a
-	ret
-; 0x5a14f
-
-SilphCo10Script_Unknown5a14f: ; 0x5a14f
-INCBIN "baserom.gbc",$5a14f,$37
-
-SilphCo10Texts: ; 0x5a186
-	dw SilphCo10Text1, SilphCo10Text2, SilphCo10Text3, SilphCo10Text4, SilphCo10Text5, SilphCo10Text6
-
-SilphCo10TrainerHeaders:
-SilphCo10TrainerHeader1: ; 0x5a192
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d835 ; flag's byte
-	dw UnnamedText_5a1dd ; 0x61dd TextBeforeBattle
-	dw UnnamedText_5a1e7 ; 0x61e7 TextAfterBattle
-	dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle
-	dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle
-; 0x5a19e
-
-TrainerHeader_5a19e: ; 0x5a19e
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d835 ; flag's byte
-	dw UnnamedText_5a1ec ; 0x61ec TextBeforeBattle
-	dw UnnamedText_5a1f6 ; 0x61f6 TextAfterBattle
-	dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle
-	dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle
-; 0x5a1aa
-
-db $ff
-
-SilphCo10Text1: ; 0x5a1ab
-	db $08 ; asm
-	ld hl, SilphCo10TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo10Text2: ; 0x5a1b5
-	db $08 ; asm
-	ld hl, TrainerHeader_5a19e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo10Text3: ; 0x5a1bf
-	db $08 ; asm
-	ld a, [$d838]
-	bit 7, a
-	ld hl, UnnamedText_5a1d8
-	jr nz, asm_cf85f ; 0x5a1c8
-	ld hl, UnnamedText_5a1d3
-asm_cf85f ; 0x5a1cd
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_5a1d3: ; 0x5a1d3
-	TX_FAR _UnnamedText_5a1d3
-	db $50
-; 0x5a1d3 + 5 bytes
-
-UnnamedText_5a1d8: ; 0x5a1d8
-	TX_FAR _UnnamedText_5a1d8
-	db $50
-; 0x5a1d8 + 5 bytes
-
-UnnamedText_5a1dd: ; 0x5a1dd
-	TX_FAR _UnnamedText_5a1dd
-	db $50
-; 0x5a1dd + 5 bytes
-
-UnnamedText_5a1e2: ; 0x5a1e2
-	TX_FAR _UnnamedText_5a1e2
-	db $50
-; 0x5a1e2 + 5 bytes
-
-UnnamedText_5a1e7: ; 0x5a1e7
-	TX_FAR _UnnamedText_5a1e7
-	db $50
-; 0x5a1e7 + 5 bytes
-
-UnnamedText_5a1ec: ; 0x5a1ec
-	TX_FAR _UnnamedText_5a1ec
-	db $50
-; 0x5a1ec + 5 bytes
-
-UnnamedText_5a1f1: ; 0x5a1f1
-	TX_FAR _UnnamedText_5a1f1
-	db $50
-; 0x5a1f1 + 5 bytes
-
-UnnamedText_5a1f6: ; 0x5a1f6
-	TX_FAR _UnnamedText_5a1f6
-	db $50
-; 0x5a1f6 + 5 bytes
-
-SilphCo10Object: ; 0x5a1fb (size=95)
-	db $2e ; border tile
-
-	db $6 ; warps
-	db $0, $8, $0, SILPH_CO_9F
-	db $0, $a, $0, SILPH_CO_11F
-	db $0, $c, $0, SILPH_CO_ELEVATOR
-	db $b, $9, $3, SILPH_CO_4F
-	db $f, $d, $5, SILPH_CO_4F
-	db $7, $d, $6, SILPH_CO_4F
-
-	db $0 ; signs
-
-	db $6 ; people
-	db SPRITE_ROCKET, $9 + 4, $1 + 4, $ff, $d3, $41, ROCKET + $C8, $27 ; trainer
-	db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d2, $42, SCIENTIST + $C8, $b ; trainer
-	db SPRITE_ERIKA, $f + 4, $9 + 4, $fe, $0, $3 ; person
-	db SPRITE_BALL, $c + 4, $2 + 4, $ff, $ff, $84, TM_26 ; item
-	db SPRITE_BALL, $e + 4, $4 + 4, $ff, $ff, $85, RARE_CANDY ; item
-	db SPRITE_BALL, $b + 4, $5 + 4, $ff, $ff, $86, CARBOS ; item
-
-	; warp-to
-	EVENT_DISP $8, $0, $8 ; SILPH_CO_9F
-	EVENT_DISP $8, $0, $a ; SILPH_CO_11F
-	EVENT_DISP $8, $0, $c ; SILPH_CO_ELEVATOR
-	EVENT_DISP $8, $b, $9 ; SILPH_CO_4F
-	EVENT_DISP $8, $f, $d ; SILPH_CO_4F
-	EVENT_DISP $8, $7, $d ; SILPH_CO_4F
-
-SilphCo10Blocks: ; 0x5a25a 72
-	INCBIN "maps/silphco10.blk"
-
-Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113)
-	db $05 ; tileset
-	db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x)
-	dw LanceBlocks, LanceTexts, LanceScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw LanceObject ; objects
-
-LanceScript: ; 0x5a2ae
-	call LanceScript_Unknown5a2c4
-	call $3c3c
-	ld hl, LanceTrainerHeaders
-	ld de, $62fa
-	ld a, [$d653]
-	call $3160
-	ld [$d653], a
-	ret
-; 0x5a2c4
-
-LanceScript_Unknown5a2c4: ; 0x5a2c4
-INCBIN "baserom.gbc",$5a2c4,$d1
-
-LanceTexts: ; 0x5a395
-	dw LanceText1
-
-LanceTrainerHeaders:
-LanceTrainerHeader1: ; 0x5a397
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d866 ; flag's byte
-	dw UnnamedText_5a3ae ; 0x63ae TextBeforeBattle
-	dw UnnamedText_5a3b8 ; 0x63b8 TextAfterBattle
-	dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle
-	dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle
-; 0x5a3a3
-
-db $ff
-
-LanceText1: ; 0x5a3a4
-	db $08 ; asm
-	ld hl, LanceTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5a3ae: ; 0x5a3ae
-	TX_FAR _UnnamedText_5a3ae
-	db $50
-; 0x5a3ae + 5 bytes
-
-UnnamedText_5a3b3: ; 0x5a3b3
-	TX_FAR _UnnamedText_5a3b3
-	db $50
-; 0x5a3b3 + 5 bytes
-
-UnnamedText_5a3b8: ; 0x5a3b8
-	TX_FAR _UnnamedText_5a3b8 ; 0x85e9e
-	db $8
-	ld hl, $d866
-	set 6, [hl]
-	jp TextScriptEnd
-; 0x5a3c5
-
-LanceObject: ; 0x5a3c5 (size=36)
-	db $3 ; border tile
-
-	db $3 ; warps
-	db $10, $18, $2, AGATHAS_ROOM
-	db $0, $5, $0, CHAMPIONS_ROOM
-	db $0, $6, $0, CHAMPIONS_ROOM
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_LANCE, $1 + 4, $6 + 4, $ff, $d0, $41, LANCE + $C8, $1 ; trainer
-
-	; warp-to
-	EVENT_DISP $d, $10, $18 ; AGATHAS_ROOM
-	EVENT_DISP $d, $0, $5 ; CHAMPIONS_ROOM
-	EVENT_DISP $d, $0, $6 ; CHAMPIONS_ROOM
-
-LanceBlocks: ; 0x5a3e9 169
-	INCBIN "maps/lance.blk"
-
-HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118)
-	db $07 ; tileset
-	db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x)
-	dw HallofFameRoomBlocks, HallofFameRoomTexts, HallofFameRoomScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw HallofFameRoomObject ; objects
-
-HallofFameRoomScript: ; 0x5a49e
-	call $3c3c
-	ld hl, HallofFameRoomScripts
-	ld a, [$d64b]
-	jp $3d97
-; 0x5a4aa
-
-INCBIN "baserom.gbc",$5a4aa,$5a4b2 - $5a4aa
-
-HallofFameRoomScripts: ; 0x5a4b2
-	dw HallofFameRoomScript0, HallofFameRoomScript1, HallofFameRoomScript2
-
-INCBIN "baserom.gbc",$5a4b8,$3
-
-HallofFameRoomScript2: ; 0x5a4bb
-	call Delay3
-	ld a, [$d358]
-	push af
-	xor a
-	ld [$cd6b], a
-	ld a, $55
-	call Predef
-	pop af
-	ld [$d358], a
-	ld hl, $d733
-	res 1, [hl]
-	inc hl
-	set 0, [hl]
-	xor a
-	ld hl, $d64d
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld [$d653], a
-	ld [$d64b], a
-	ld hl, $d863
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	xor a
-	ld [$d64b], a
-	ld a, $0
-	ld [$d719], a
-	ld b, $1c
-	ld hl, $7848
-	call Bankswitch
-	ld b, $5
-.asm_5a4ff
-	ld c, $78
-	call $3739
-	dec b
-	jr nz, .asm_5a4ff ; 0x5a505 $f8
-	call $3865
-	jp $1f54
-; 0x5a50d
-
-HallofFameRoomScript0: ; 0x5a50d
-	ld a, $ff
-	ld [$cd6b], a
-	ld hl, $ccd3
-	ld de, $6528
-	call $350c
-	dec a
-	ld [$cd38], a
-	call $3486
-	ld a, $1
-	ld [$d64b], a
-	ret
-; 0x5a528
-
-INCBIN "baserom.gbc",$5a528,$5a52b - $5a528
-
-HallofFameRoomScript1: ; 0x5a52b
-	ld a, [$cd38]
-	and a
-	ret nz
-	ld a, $1
-	ld [$d528], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $3541
-	ld a, $8
-	ld [$ff00+$8d], a
-	call $34a6
-	call Delay3
-	xor a
-	ld [$cd6b], a
-	inc a
-	ld [$d528], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $ff
-	ld [$cd6b], a
-	ld a, $8
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, $2
-	ld [$d64b], a
-	ret
-; 0x5a56a
-
-HallofFameRoomTexts: ; 0x5a56a
-	dw HallofFameRoomText1
-
-HallofFameRoomText1: ; 0x5a56c
-	TX_FAR _HallofFameRoomText1
-	db $50
-
-HallofFameRoomObject: ; 0x5a571 (size=26)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $7, $4, $2, CHAMPIONS_ROOM
-	db $7, $5, $3, CHAMPIONS_ROOM
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $5, $7, $4 ; CHAMPIONS_ROOM
-	EVENT_DISP $5, $7, $5 ; CHAMPIONS_ROOM
-
-HallofFameRoomBlocks: ; 0x5a58b 20
-	INCBIN "maps/halloffameroom.blk"
-
-INCBIN "baserom.gbc",$5a59f,$1a61
-
-SECTION "bank17",DATA,BANK[$17]
-
-SaffronMartBlocks:
-LavenderMartBlocks:
-CeruleanMartBlocks:
-VermilionMartBlocks: ; 0x5c000 16
-	INCBIN "maps/vermilionmart.blk"
-
-CopycatsHouseF2Blocks:
-RedsHouse2FBlocks: ; 0x5c010 16?
-	INCBIN "maps/redshouse2f.blk"
-
-MuseumF1Blocks: ; 0x5c020 40
-	INCBIN "maps/museumf1.blk"
-
-MuseumF2Blocks: ; 0x5c048 28
-	INCBIN "maps/museumf2.blk"
-
-SaffronPokecenterBlocks:
-VermilionPokecenterBlocks:
-LavenderPokecenterBlocks:
-PewterPokecenterBlocks: ; 0x5c064 28
-	INCBIN "maps/pewterpokecenter.blk"
-
-UndergroundTunnelEntranceRoute7Blocks:
-UndergroundTunnelEntranceRoute6Blocks:
-UndergroundTunnelEntranceRoute5Blocks: ; 0x5c080 16
-	INCBIN "maps/undergroundtunnelentranceroute5.blk"
-
-Route2GateBlocks:
-ViridianForestEntranceBlocks:
-ViridianForestexitBlocks: ; 0x5c090 20
-	INCBIN "maps/viridianforestexit.blk"
-
-RedsHouse2F_h:
-	db $04 ; tileset
-	db $04,$04 ; dimensions
-	dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript
-	db 0 ; no connections
-	dw RedsHouse2FObject
-
-RedsHouse2FScript:
-	call $3C3C
-	ld hl,RedsHouse2FScriptPointers
-	ld a,[$D60C]
-	jp $3D97
-
-RedsHouse2FScriptPointers:
-	dw RedsHouse2FScript1,RedsHouse2FScript2
-
-RedsHouse2FScript1:
-	xor a
-	ld [$FFB4],a
-	ld a,8
-	ld [$D528],a
-	ld a,1
-	ld [$D60C],a
-	ret
-
-RedsHouse2FScript2: ; 0x5c0ed
-	ret
-
-RedsHouse2FTexts: ; 0x5c0ef
-	db "@"
-
-RedsHouse2FObject: ; 0x5c0d0 ?
-	db $0A ; border tile
-
-	db 1 ; warps
-	db 1,7,2,$25
-
-	db 0 ; signs
-
-	db 0 ; people
-
-	dw $C6EF + 4 + (4 + 6) * 0 + 3
-	db 1,7
-
-INCBIN "baserom.gbc",$5c0dc,$5c0eb - $5c0dc
-
-MuseumF1_h: ; 0x5c0eb to 0x5c0f7 (12 bytes) (id=52)
-	db $0a ; tileset
-	db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x)
-	dw MuseumF1Blocks, MuseumF1Texts, MuseumF1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw MuseumF1Object ; objects
-
-MuseumF1Script: ; 0x5c0f7
-	ld a, $1
-	ld [$cf0c], a
-	xor a
-	ld [$cc3c], a
-	ld hl, MuseumF1Scripts
-	ld a, [$d619]
-	jp $3d97
-; 0x5c109
-
-MuseumF1Scripts: ; 0x5c109
-	dw MuseumF1Script0, MuseumF1Script1
-
-MuseumF1Script0: ; 0x5c10d
-	ld a, [$d361]
-	cp $4
-	ret nz
-	ld a, [$d362]
-	cp $9
-	jr z, .asm_5c120 ; 0x5c118 $6
-	ld a, [$d362]
-	cp $a
-	ret nz
-.asm_5c120
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	jp $2920
-; 0x5c12a
-
-MuseumF1Script1: ; 0x5c12a
-	ret
-; 0x5c12b
-
-MuseumF1Texts: ; 0x5c12b
-	dw MuseumF1Text1, MuseumF1Text2, MuseumF1Text3, MuseumF1Text4, MuseumF1Text5
-
-MuseumF1Text1: ; 0x5c135
-	db $8
-	ld a, [$d361]
-	cp $4
-	jr nz, asm_8774b ; 0x5c13b $a
-	ld a, [$d362]
-	cp $d
-	jp z, $41f9
-	jr asm_b8709 ; 0x5c145 $1c
-asm_8774b: ; 0x5c147
-	cp $3
-	jr nz, asm_d49e7 ; 0x5c149 $8
-	ld a, [$d362]
-	cp $c
-	jp z, $41f9
-asm_d49e7: ; 0x5c153
-	ld a, [$d754]
-	bit 0, a
-	jr nz, asm_31a16 ; 0x5c158 $10
-	ld hl, UnnamedText_5c23d
-	call PrintText
-	jp $4217
-asm_b8709: ; 0x5c163
-	ld a, [$d754]
-	bit 0, a
-	jr z, asm_3ded4 ; 0x5c168 $9
-asm_31a16: ; 0x5c16a
-	ld hl, UnnamedText_5c242
-	call PrintText
-	jp $4217
-asm_3ded4: ; 0x5c173
-	ld a, $13
-	ld [$d125], a
-	call $30e8
-	xor a
-	ld [$ff00+$b4], a
-	ld hl, UnnamedText_5c21f
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, asm_de133 ; 0x5c18b $4d
-	xor a
-	ld [$ff00+$9f], a
-	ld [$ff00+$a0], a
-	ld a, $50
-	ld [$ff00+$a1], a
-	call $35a6
-	jr nc, asm_0f3e3 ; 0x5c199 $9
-	ld hl, UnnamedText_5c229
-	call PrintText
-	jp $41da
-asm_0f3e3: ; 0x5c1a4
-	ld hl, UnnamedText_5c224
-	call PrintText
-	ld hl, $d754
-	set 0, [hl]
-	xor a
-	ld [$cd3d], a
-	ld [$cd3e], a
-	ld a, $50
-	ld [$cd3f], a
-	ld hl, $cd3f
-	ld de, $d349
-	ld c, $3
-	ld a, $c
-	call Predef
-	ld a, $13
-	ld [$d125], a
-	call $30e8
-	ld a, $b2
-	call $3740
-	call $3748
-	jr asm_0b094 ; 0x5c1d8 $18
-asm_de133: ; 0x5c1da
-	ld hl, $421a
-	call PrintText
-	ld a, $1
-	ld [$cd38], a
-	ld a, $80
-	ld [$ccd3], a
-	call $3486
-	call $2429
-	jr asm_d1145 ; 0x5c1f0 $25
-asm_0b094: ; 0x5c1f2
-	ld a, $1
-	ld [$d619], a
-	jr asm_d1145 ; 0x5c1f7 $1e
-;XXX what calls this?
-	ld hl, UnnamedText_5c22e
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	cp $0
-	jr nz, asm_d1144
-	ld hl, UnnamedText_5c233
-	call PrintText
-	jr asm_d1145 ; 0x5c20f $6
-asm_d1144:
-	ld hl, UnnamedText_5c238
-	call PrintText
-asm_d1145: ; 0x5c217
-	jp TextScriptEnd
-; 0x5c21a
-
-UnnamedText_5c21a: ; 0x5c21a
-	TX_FAR _UnnamedText_5c21a
-	db $50
-; 0x5c21a + 5 bytes
-
-UnnamedText_5c21f: ; 0x5c21f
-	TX_FAR _UnnamedText_5c21f
-	db $50
-; 0x5c21f + 5 bytes
-
-UnnamedText_5c224: ; 0x5c224
-	TX_FAR _UnnamedText_5c224
-	db $50
-; 0x5c224 + 5 bytes
-
-UnnamedText_5c229: ; 0x5c229
-	TX_FAR _UnnamedText_5c229
-	db $50
-; 0x5c229 + 5 bytes
-
-UnnamedText_5c22e: ; 0x5c22e
-	TX_FAR _UnnamedText_5c22e
-	db $50
-; 0x5c22e + 5 bytes
-
-UnnamedText_5c233: ; 0x5c233
-	TX_FAR _UnnamedText_5c233
-	db $50
-; 0x5c233 + 5 bytes
-
-UnnamedText_5c238: ; 0x5c238
-	TX_FAR _UnnamedText_5c238
-	db $50
-; 0x5c238 + 5 bytes
-
-UnnamedText_5c23d: ; 0x5c23d
-	TX_FAR _UnnamedText_5c23d
-	db $50
-; 0x5c23d + 5 bytes
-
-UnnamedText_5c242: ; 0x5c242
-	TX_FAR _UnnamedText_5c242
-	db $50
-; 0x5c242 + 5 bytes
-
-MuseumF1Text2: ; 0x5c247
-	db $08 ; asm
-	ld hl, UnnamedText_5c251
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_5c251: ; 0x5c251
-	TX_FAR _UnnamedText_5c251
-	db $50
-; 0x5c251 + 5 bytes
-
-MuseumF1Text3: ; 0x5c256
-	db $08 ; asm
-	ld a, [$d754]
-	bit 1, a
-	jr nz, .asm_16599 ; 0x5c25c
-	ld hl, UnnamedText_5c28e
-	call PrintText
-	ld bc, (OLD_AMBER << 8) | 1
-	call GiveItem
-	jr nc, .asm_91ebf ; 0x5c26a
-	ld hl, $d754
-	set 1, [hl]
-	ld a, $34
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld hl, ReceivedOldAmberText
-	jr .asm_52e0f ; 0x5c27e
-.asm_91ebf ; 0x5c280
-	ld hl, UnnamedText_5c29e
-	jr .asm_52e0f ; 0x5c283
-.asm_16599 ; 0x5c285
-	ld hl, UnnamedText_5c299
-.asm_52e0f ; 0x5c288
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_5c28e: ; 0x5c28e
-	TX_FAR _UnnamedText_5c28e
-	db $50
-; 0x5c28e + 5 bytes
-
-ReceivedOldAmberText: ; 0x5c293
-	TX_FAR _ReceivedOldAmberText ; 0x96790
-	db $0B, $50
-; 0x5c293 + 6 bytes = 0x5c299
-
-UnnamedText_5c299: ; 0x5c299
-	TX_FAR _UnnamedText_5c299
-	db $50
-; 0x5c299 + 5 bytes
-
-UnnamedText_5c29e: ; 0x5c29e
-	TX_FAR _UnnamedText_5c29e
-	db $50
-; 0x5c29e + 5 bytes
-
-MuseumF1Text4: ; 0x5c2a3
-	db $08 ; asm
-	ld hl, UnnamedText_5c2ad
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_5c2ad: ; 0x5c2ad
-	TX_FAR _UnnamedText_5c2ad
-	db $50
-; 0x5c2ad + 5 bytes
-
-MuseumF1Text5: ; 0x5c2b2
-	db $08 ; asm
-	ld hl, UnnamedText_5c2bc
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_5c2bc: ; 0x5c2bc
-	TX_FAR _UnnamedText_5c2bc
-	db $50
-; 0x5c2bc + 5 bytes
-
-MuseumF1Object: ; 0x5c2c1 (size=74)
-	db $a ; border tile
-
-	db $5 ; warps
-	db $7, $a, $0, $ff
-	db $7, $b, $0, $ff
-	db $7, $10, $1, $ff
-	db $7, $11, $1, $ff
-	db $7, $7, $0, MUSEUM_2F
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_OAK_AIDE, $4 + 4, $c + 4, $ff, $d2, $1 ; person
-	db SPRITE_GAMBLER, $4 + 4, $1 + 4, $ff, $ff, $2 ; person
-	db SPRITE_OAK_AIDE, $2 + 4, $f + 4, $ff, $d0, $3 ; person
-	db SPRITE_OAK_AIDE, $4 + 4, $11 + 4, $ff, $ff, $4 ; person
-	db SPRITE_OLD_AMBER, $2 + 4, $10 + 4, $ff, $ff, $5 ; person
-
-	; warp-to
-	EVENT_DISP $a, $7, $a
-	EVENT_DISP $a, $7, $b
-	EVENT_DISP $a, $7, $10
-	EVENT_DISP $a, $7, $11
-	EVENT_DISP $a, $7, $7 ; MUSEUM_2F
-
-MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53)
-	db $0a ; tileset
-	db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x)
-	dw MuseumF2Blocks, MuseumF2Texts, MuseumF2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw MuseumF2Object ; objects
-
-MuseumF2Script: ; 0x5c317
-	jp $3c3c
-; 0x5c31a
-
-MuseumF2Texts: ; 0x5c31a
-	dw MuseumF2Text1, MuseumF2Text2, MuseumF2Text3, MuseumF2Text4, MuseumF2Text5, MuseumF2Text6, MuseumF2Text7
-
-MuseumF2Text1: ; 0x5c328
-	TX_FAR _MuseumF2Text1
-	db $50
-
-MuseumF2Text2: ; 0x5c32d
-	TX_FAR _MuseumF2Text2
-	db $50
-
-MuseumF2Text3: ; 0x5c332
-	TX_FAR _MuseumF2Text3
-	db $50
-
-MuseumF2Text4: ; 0x5c337
-	TX_FAR _MuseumF2Text4
-	db $50
-
-MuseumF2Text5: ; 0x5c33c
-	TX_FAR _MuseumF2Text5
-	db $50
-
-MuseumF2Text6: ; 0x5c341
-	TX_FAR _MuseumF2Text6
-	db $50
-
-MuseumF2Text7: ; 0x5c346
-	TX_FAR _MuseumF2Text7
-	db $50
-
-MuseumF2Object: ; 0x5c34b (size=48)
-	db $a ; border tile
-
-	db $1 ; warps
-	db $7, $7, $4, MUSEUM_1F
-
-	db $2 ; signs
-	db $2, $b, $6 ; MuseumF2Text6
-	db $5, $2, $7 ; MuseumF2Text7
-
-	db $5 ; people
-	db SPRITE_BUG_CATCHER, $7 + 4, $1 + 4, $fe, $2, $1 ; person
-	db SPRITE_OLD_PERSON, $5 + 4, $0 + 4, $ff, $d0, $2 ; person
-	db SPRITE_OAK_AIDE, $5 + 4, $7 + 4, $ff, $d0, $3 ; person
-	db SPRITE_BRUNETTE_GIRL, $5 + 4, $b + 4, $ff, $ff, $4 ; person
-	db SPRITE_HIKER, $5 + 4, $c + 4, $ff, $d0, $5 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $7 ; MUSEUM_1F
-
-PewterGym_h: ; 0x5c37b to 0x5c387 (12 bytes) (id=54)
-	db $07 ; tileset
-	db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x)
-	dw PewterGymBlocks, PewterGymTexts, PewterGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PewterGymObject ; objects
-
-PewterGymScript: ; 0x5c387
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, PewterGymScript_Unknown5c3a4
-	call $3c3c
-	ld hl, PewterGymTrainerHeaders
-	ld de, $43ca
-	ld a, [$d5fc]
-	call $3160
-	ld [$d5fc], a
-	ret
-; 0x5c3a4
-
-PewterGymScript_Unknown5c3a4: ; 0x5c3a4
-INCBIN "baserom.gbc",$5c3a4,$91
-
-PewterGymTexts: ; 0x5c435
-	dw PewterGymText1, PewterGymText2, PewterGymText3, PewterGymText4, PewterGymText5, PewterGymText6
-
-PewterGymTrainerHeaders:
-PewterGymTrainerHeader1: ; 0x5c441
-	db $2 ; flag's bit
-	db ($5 << 4) ; trainer's view range
-	dw $d755 ; flag's byte
-	dw UnnamedText_5c4d0 ; 0x44d0 TextBeforeBattle
-	dw UnnamedText_5c4da ; 0x44da TextAfterBattle
-	dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle
-	dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle
-; 0x5c44d
-
-db $ff
-
-PewterGymText1: ; 0x5c44e
-	db $08 ; asm
-	ld a, [$d755]
-	bit 7, a
-	jr z, .asm_4a735 ; 0x5c454
-	bit 6, a
-	jr nz, .asm_ff7d0 ; 0x5c458
-	call z, $43df
-	call $30b6
-	jr .asm_e0ffb ; 0x5c460
-.asm_ff7d0 ; 0x5c462
-	ld hl, UnnamedText_5c4a3
-	call PrintText
-	jr .asm_e0ffb ; 0x5c468
-.asm_4a735 ; 0x5c46a
-	ld hl, UnnamedText_5c49e
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_5c4bc
-	ld de, UnnamedText_5c4bc
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $1
-	ld [$d05c], a
-	xor a
-	ldh [$b4], a
-	ld a, $3
-	ld [$d5fc], a
-	ld [$da39], a
-.asm_e0ffb ; 0x5c49b
-	jp TextScriptEnd
-
-UnnamedText_5c49e: ; 0x5c49e
-	TX_FAR _UnnamedText_5c49e
-	db $50
-; 0x5c49e + 5 bytes
-
-UnnamedText_5c4a3: ; 0x5c4a3
-	TX_FAR _UnnamedText_5c4a3
-	db $50
-; 0x5c4a3 + 5 bytes
-
-PewterGymText4: ; 0x5c4a8
-	TX_FAR _UnnamedText_5c4a8
-	db $50
-; 0x5c4a8 + 5 bytes
-
-PewterGymText5: ; 0x5c4ad
-	TX_FAR _ReceivedTM34Text ; 0x980ad
-	db $0B
-	TX_FAR _UnnamedText_5c4b2 ; 0x980c0
-	db $50
-; 0x5c4ad + 10 bytes = 0x5c4b7
-
-PewterGymText6: ; 0x5c4b7
-	TX_FAR _UnnamedText_5c4b7
-	db $50
-
-UnnamedText_5c4bc: ; 0x5c4bc
-	TX_FAR _UnnamedText_5c4bc ; 0x981c9
-	db $0B
-	TX_FAR _UnnamedText_5c4c1 ; 0x98232
-	db $50
-; 0x5c4c6
-
-PewterGymText2: ; 0x5c4c6
-	db $08 ; asm
-	ld hl, PewterGymTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5c4d0: ; 0x5c4d0
-	TX_FAR _UnnamedText_5c4d0
-	db $50
-; 0x5c4d0 + 5 bytes
-
-UnnamedText_5c4d5: ; 0x5c4d5
-	TX_FAR _UnnamedText_5c4d5
-	db $50
-; 0x5c4d5 + 5 bytes
-
-UnnamedText_5c4da: ; 0x5c4da
-	TX_FAR _UnnamedText_5c4da
-	db $50
-; 0x5c4da + 5 bytes
-
-PewterGymText3: ; 0x5c4df
-	db $08 ; asm
-	ld a, [$d72a]
-	bit 0, a
-	jr nz, .asm_71369 ; 0x5c4e5
-	ld hl, UnnamedText_5c515
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_6123a ; 0x5c4f4
-	ld hl, UnnamedText_5c51a
-	call PrintText
-	jr .asm_d1578 ; 0x5c4fc
-.asm_6123a ; 0x5c4fe
-	ld hl, UnnamedText_5c524
-	call PrintText
-.asm_d1578 ; 0x5c504
-	ld hl, UnnamedText_5c51f
-	call PrintText
-	jr .asm_07013 ; 0x5c50a
-.asm_71369 ; 0x5c50c
-	ld hl, UnnamedText_5c529
-	call PrintText
-.asm_07013 ; 0x5c512
-	jp TextScriptEnd
-
-UnnamedText_5c515: ; 0x5c515
-	TX_FAR _UnnamedText_5c515
-	db $50
-; 0x5c515 + 5 bytes
-
-UnnamedText_5c51a: ; 0x5c51a
-	TX_FAR _UnnamedText_5c51a
-	db $50
-; 0x5c51a + 5 bytes
-
-UnnamedText_5c51f: ; 0x5c51f
-	TX_FAR _UnnamedText_5c51f
-	db $50
-; 0x5c51f + 5 bytes
-
-UnnamedText_5c524: ; 0x5c524
-	TX_FAR _UnnamedText_5c524
-	db $50
-; 0x5c524 + 5 bytes
-
-UnnamedText_5c529: ; 0x5c529
-	TX_FAR _UnnamedText_5c529
-	db $50
-; 0x5c529 + 5 bytes
-
-PewterGymObject: ; 0x5c52e (size=42)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $d, $4, $2, $ff
-	db $d, $5, $2, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $1 + 4, $4 + 4, $ff, $d0, $41, BROCK + $C8, $1 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $3 + 4, $ff, $d3, $42, JR__TRAINER_M + $C8, $1 ; trainer
-	db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $3 ; person
-
-	; warp-to
-	EVENT_DISP $5, $d, $4
-	EVENT_DISP $5, $d, $5
-
-PewterGymBlocks: ; 0x5c558 35
-	INCBIN "maps/pewtergym.blk"
-
-PewterPokecenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58)
-	db $06 ; tileset
-	db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x)
-	dw PewterPokecenterBlocks, PewterPokecenterTexts, PewterPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PewterPokecenterObject ; objects
-
-PewterPokecenterScript: ; 0x5c587
-	call $22fa
-	jp $3c3c
-; 0x5c58d
-
-PewterPokecenterTexts: ; 0x5c58d
-	dw PewterPokecenterText1, PewterPokecenterText2, PewterPokecenterText3, PewterPokecenterText4
-
-PewterPokecenterText1: ; 0x5c595
-	db $ff
-
-PewterPokecenterText2: ; 0x5c596
-	TX_FAR _PewterPokecenterText1
-	db $50
-
-PewterPokecenterText3: ; 0x5c59b
-	db $8
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, PewterPokecenterText5
-	call PrintText
-	ld a, $ff
-	call $23b1
-	ld c, $20
-	call $3739
-	ld hl, $4608
-	ld de, $cd3f
-	ld bc, $0004
-	call CopyData
-	ld a, [$c132]
-	ld hl, $cd3f
-.asm_5c5c3
-	cp [hl]
-	inc hl
-	jr nz, .asm_5c5c3 ; 0x5c5c5 $fc
-	dec hl
-	push hl
-	ld c, $1f
-	ld a, $d0
-	call $23a1
-	pop hl
-.asm_5c5d1
-	ld a, [hl]
-	ld [$c132], a
-	push hl
-	ld hl, $cd3f
-	ld de, $cd3e
-	ld bc, $0004
-	call CopyData
-	ld a, [$cd3e]
-	ld [$cd42], a
-	pop hl
-	ld c, $18
-	call $3739
-	ld a, [$c026]
-	ld b, a
-	ld a, [$c027]
-	or b
-	jr nz, .asm_5c5d1 ; 0x5c5f6 $d9
-	ld c, $30
-	call $3739
-	call $2307
-	jp TextScriptEnd
-; 0x5c603
-
-PewterPokecenterText5: ; 0x5c603
-	TX_FAR _PewterPokecenterText5 ; 0x98744
-	db $50
-; 0x5c603 + 5 bytes = 0x5c608
-
-; 0x5c608 XXX
-db $30, $38, $34, $3c
-
-PewterPokecenterText4: ; 0x5c60b
-	db $f6
-
-PewterPokecenterObject: ; 0x5c60d (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $6, $ff
-	db $7, $4, $6, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GENTLEMAN, $7 + 4, $b + 4, $ff, $d2, $2 ; person
-	db SPRITE_CLEFAIRY, $3 + 4, $1 + 4, $ff, $d0, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-CeruleanPokecenter_h: ; 0x5c639 to 0x5c645 (12 bytes) (id=64)
-	db $06 ; tileset
-	db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x)
-	dw CeruleanPokecenterBlocks, CeruleanPokecenterTexts, CeruleanPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeruleanPokecenterObject ; objects
-
-CeruleanPokecenterScript: ; 0x5c645
-	call $22fa
-	jp $3c3c
-; 0x5c64b
-
-CeruleanPokecenterTexts:
-	dw CeruleanPokecenterText1, CeruleanPokecenterText2, CeruleanPokecenterText3, CeruleanPokecenterText4
-
-CeruleanPokecenterText4:
-	db $f6
-
-CeruleanPokecenterText1: ; 0x5c654
-	db $ff
-
-CeruleanPokecenterText2: ; 0x5c655
-	TX_FAR _CeruleanPokecenterText1
-	db $50
-
-CeruleanPokecenterText3:
-	TX_FAR _CeruleanPokecenterText3
-	db $50
-
-CeruleanPokecenterObject: ; 0x5c65f (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $2, $ff
-	db $7, $4, $2, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $a + 4, $fe, $0, $2 ; person
-	db SPRITE_GENTLEMAN, $3 + 4, $4 + 4, $ff, $d0, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-CeruleanPokecenterBlocks: ; 0x5c68b 28
-	INCBIN "maps/ceruleanpokecenter.blk"
-
-CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65)
-	db $07 ; tileset
-	db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x)
-	dw CeruleanGymBlocks, CeruleanGymTexts, CeruleanGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeruleanGymObject ; objects
-
-CeruleanGymScript: ; 0x5c6b3
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, CeruleanGymScript_Unknown5c6d0
-	call $3c3c
-	ld hl, CeruleanGymTrainerHeaders
-	ld de, $46f8
-	ld a, [$d5fd]
-	call $3160
-	ld [$d5fd], a
-	ret
-; 0x5c6d0
-
-CeruleanGymScript_Unknown5c6d0: ; 0x5c6d0
-INCBIN "baserom.gbc",$5c6d0,$7a
-
-CeruleanGymTexts: ; 0x5c74a
-	dw CeruleanGymText1, CeruleanGymText2, CeruleanGymText3, CeruleanGymText4, CeruleanGymText5, CeruleanGymText6, CeruleanGymText7
-
-CeruleanGymTrainerHeaders:
-CeruleanGymTrainerHeader1: ; 0x5c758
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d75e ; flag's byte
-	dw UnnamedText_5c7e9 ; 0x47e9 TextBeforeBattle
-	dw UnnamedText_5c7f3 ; 0x47f3 TextAfterBattle
-	dw UnnamedText_5c7ee ; 0x47ee TextEndBattle
-	dw UnnamedText_5c7ee ; 0x47ee TextEndBattle
-; 0x5c764
-
-TrainerHeader_5c764: ; 0x5c764
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d75e ; flag's byte
-	dw UnnamedText_5c802 ; 0x4802 TextBeforeBattle
-	dw UnnamedText_5c80c ; 0x480c TextAfterBattle
-	dw UnnamedText_5c807 ; 0x4807 TextEndBattle
-	dw UnnamedText_5c807 ; 0x4807 TextEndBattle
-; 0x5c770
-
-db $ff
-
-CeruleanGymText1: ; 0x5c771
-	db $08 ; asm
-	ld a, [$d75e]
-	bit 7, a
-	jr z, .asm_10854 ; 0x5c777
-	bit 6, a
-	jr nz, .asm_37a1b ; 0x5c77b
-	call z, $470d
-	call $30b6
-	jr .asm_95b04 ; 0x5c783
-.asm_37a1b ; 0x5c785
-	ld hl, UnnamedText_5c7c3
-	call PrintText
-	jr .asm_95b04 ; 0x5c78b
-.asm_10854 ; 0x5c78d
-	ld hl, UnnamedText_5c7be
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $47d8
-	ld de, $47d8
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $2
-	ld [$d05c], a
-	xor a
-	ldh [$b4], a
-	ld a, $3
-	ld [$d5fd], a
-.asm_95b04 ; 0x5c7bb
-	jp TextScriptEnd
-
-UnnamedText_5c7be: ; 0x5c7be
-	TX_FAR _UnnamedText_5c7be
-	db $50
-; 0x5c7be + 5 bytes
-
-UnnamedText_5c7c3: ; 0x5c7c3
-	TX_FAR _UnnamedText_5c7c3
-	db $50
-; 0x5c7c3 + 5 bytes
-
-CeruleanGymText5: ; 0x5c7c8
-	TX_FAR _UnnamedText_5c7c8
-	db $50
-; 0x5c7c8 + 5 bytes
-
-CeruleanGymText6: ; 0x5c7cd
-ReceivedTM11Text: ; 0x5c7cd
-	TX_FAR _ReceivedTM11Text ; 0x98b7d
-	db $0B, $50
-; 0x5c7cd + 6 bytes = 0x5c7d3
-
-CeruleanGymText7: ; 0x5c7d3
-	TX_FAR _UnnamedText_5c7d3
-	db $50
-; 0x5c7d3 + 5 bytes
-
-UnnamedText_5c7d8: ; 0x5c7d8
-	TX_FAR _UnnamedText_5c7d8 ; 0x98bb0
-	db $11, $6, $50
-; 0x5c7d8 + 7 bytes = 0x5c7df
-
-CeruleanGymText2: ; 0x5c7df
-	db $08 ; asm
-	ld hl, CeruleanGymTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5c7e9: ; 0x5c7e9
-	TX_FAR _UnnamedText_5c7e9
-	db $50
-; 0x5c7e9 + 5 bytes
-
-UnnamedText_5c7ee: ; 0x5c7ee
-	TX_FAR _UnnamedText_5c7ee
-	db $50
-; 0x5c7ee + 5 bytes
-
-UnnamedText_5c7f3: ; 0x5c7f3
-	TX_FAR _UnnamedText_5c7f3
-	db $50
-; 0x5c7f3 + 5 bytes
-
-CeruleanGymText3: ; 0x5c7f8
-	db $08 ; asm
-	ld hl, TrainerHeader_5c764
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5c802: ; 0x5c802
-	TX_FAR _UnnamedText_5c802
-	db $50
-; 0x5c802 + 5 bytes
-
-UnnamedText_5c807: ; 0x5c807
-	TX_FAR _UnnamedText_5c807
-	db $50
-; 0x5c807 + 5 bytes
-
-UnnamedText_5c80c: ; 0x5c80c
-	TX_FAR _UnnamedText_5c80c
-	db $50
-; 0x5c80c + 5 bytes
-
-CeruleanGymText4: ; 0x5c811
-	db $08 ; asm
-	ld a, [$d75e]
-	bit 7, a
-	jr nz, .asm_f80ce ; 0x5c817
-	ld hl, UnnamedText_5c82a
-	call PrintText
-	jr .asm_18a31 ; 0x5c81f
-.asm_f80ce ; 0x5c821
-	ld hl, UnnamedText_5c82f
-	call PrintText
-.asm_18a31 ; 0x5c827
-	jp TextScriptEnd
-
-UnnamedText_5c82a: ; 0x5c82a
-	TX_FAR _UnnamedText_5c82a
-	db $50
-; 0x5c82a + 5 bytes
-
-UnnamedText_5c82f: ; 0x5c82f
-	TX_FAR _UnnamedText_5c82f
-	db $50
-; 0x5c82f + 5 bytes
-
-CeruleanGymObject: ; 0x5c834 (size=50)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $d, $4, $3, $ff
-	db $d, $5, $3, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_BRUNETTE_GIRL, $2 + 4, $4 + 4, $ff, $d0, $41, MISTY + $C8, $1 ; trainer
-	db SPRITE_LASS, $3 + 4, $2 + 4, $ff, $d3, $42, JR__TRAINER_F + $C8, $1 ; trainer
-	db SPRITE_SWIMMER, $7 + 4, $8 + 4, $ff, $d2, $43, SWIMMER + $C8, $1 ; trainer
-	db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $5, $d, $4
-	EVENT_DISP $5, $d, $5
-
-CeruleanGymBlocks: ; 0x5c866 35
-	INCBIN "maps/ceruleangym.blk"
-
-CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67)
-	db $02 ; tileset
-	db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x)
-	dw CeruleanMartBlocks, CeruleanMartTexts, CeruleanMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeruleanMartObject ; objects
-
-CeruleanMartScript: ; 0x5c895
-	jp $3c3c
-; 0x5c898
-
-CeruleanMartTexts: ; 0x5c898
-	dw CeruleanMartText1, CeruleanMartText2, CeruleanMartText3
-
-CeruleanMartText2: ; 0x5c89e
-	TX_FAR _CeruleanMartText2
-	db $50
-
-CeruleanMartText3: ; 0x5c8a3
-	TX_FAR _CeruleanMartText3
-	db $50
-
-CeruleanMartObject: ; 0x5c8a8 (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $5, $ff
-	db $7, $4, $5, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $3 + 4, $fe, $1, $2 ; person
-	db SPRITE_LASS, $2 + 4, $6 + 4, $fe, $2, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-LavenderPokecenter_h: ; 0x5c8ce to 0x5c8da (12 bytes) (id=141)
-	db $06 ; tileset
-	db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x)
-	dw LavenderPokecenterBlocks, LavenderPokecenterTexts, LavenderPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw LavenderPokecenterObject ; objects
-
-LavenderPokecenterScript: ; 0x5c8da
-	call $22fa
-	jp $3c3c
-; 0x5c8e0
-
-LavenderPokecenterTexts:
-	dw LavenderPokecenterText1, LavenderPokecenterText2, LavenderPokecenterText3, LavenderPokecenterText4
-
-LavenderPokecenterText4:
-	db $f6
-
-LavenderPokecenterText1: ; 0x5c8ea
-	db $ff
-
-LavenderPokecenterText2: ; 0x5c8eb
-	TX_FAR _LavenderPokecenterText1
-	db $50
-
-LavenderPokecenterText3: ; 0x5c8ef
-	TX_FAR _LavenderPokecenterText3
-	db $50
-
-LavenderPokecenterObject: ; 0x5c8f4 (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $0, $ff
-	db $7, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_GENTLEMAN, $3 + 4, $5 + 4, $ff, $ff, $2 ; person
-	db SPRITE_LITTLE_GIRL, $6 + 4, $2 + 4, $fe, $1, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150)
-	db $02 ; tileset
-	db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x)
-	dw LavenderMartBlocks, LavenderMartTexts, LavenderMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw LavenderMartObject ; objects
-
-LavenderMartScript: ; 0x5c92c
-	jp $3c3c
-; 0x5c92f
-
-LavenderMartTexts: ; 0x5c92f
-	dw LavenderMartText1, LavenderMartText2, LavenderMartText3
-
-LavenderMartText2: ; 0x5c935
-	TX_FAR _LavenderMartText2
-	db $50
-
-LavenderMartText3: ; 0x5c93a
-	db $08 ; asm
-	ld a, [$d7e0]
-	bit 7, a
-	jr nz, .asm_c88d4 ; 0x5c940
-	ld hl, UnnamedText_5c953
-	call PrintText
-	jr .asm_6d225 ; 0x5c948
-.asm_c88d4 ; 0x5c94a
-	ld hl, UnnamedText_5c958
-	call PrintText
-.asm_6d225 ; 0x5c950
-	jp TextScriptEnd
-
-UnnamedText_5c953: ; 0x5c953
-	TX_FAR _UnnamedText_5c953
-	db $50
-; 0x5c953 + 5 bytes
-
-UnnamedText_5c958: ; 0x5c958
-	TX_FAR _UnnamedText_5c958
-	db $50
-; 0x5c958 + 5 bytes
-
-LavenderMartObject: ; 0x5c95d (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $3, $ff
-	db $7, $4, $3, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BALDING_GUY, $4 + 4, $3 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $7 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-VermilionPokecenter_h: ; 0x5c983 to 0x5c98f (12 bytes) (id=89)
-	db $06 ; tileset
-	db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x)
-	dw VermilionPokecenterBlocks, VermilionPokecenterTexts, VermilionPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionPokecenterObject ; objects
-
-VermilionPokecenterScript: ; 0x5c98f
-	call $22fa
-	jp $3c3c
-; 0x5c995
-
-VermilionPokecenterTexts:
-	dw VermilionPokecenterText1, VermilionPokecenterText2, VermilionPokecenterText3, VermilionPokecenterText4
-
-VermilionPokecenterText1: ; 0x5c99d
-	db $ff
-
-VermilionPokecenterText2: ; 0x5c99e
-	TX_FAR _VermilionPokecenterText1
-	db $50
-
-VermilionPokecenterText3: ; 0x5c9a3
-	TX_FAR _VermilionPokecenterText3
-	db $50
-
-VermilionPokecenterText4: ; 0x5c9a8
-	db $f6
-
-VermilionPokecenterObject: ; 0x5c9a9 (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $0, $ff
-	db $7, $4, $0, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_FISHER, $5 + 4, $a + 4, $ff, $ff, $2 ; person
-	db SPRITE_SAILOR, $4 + 4, $5 + 4, $ff, $ff, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91)
-	db $02 ; tileset
-	db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x)
-	dw VermilionMartBlocks, VermilionMartTexts, VermilionMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionMartObject ; objects
-
-VermilionMartScript: ; 0x5c9e1
-	jp $3c3c
-; 0x5c9e4
-
-VermilionMartTexts: ; 0x5c9e4
-	dw VermilionMartText1, VermilionMartText2, VermilionMartText3
-
-VermilionMartText2: ; 0x5c9ea
-	TX_FAR _VermilionMartText2
-	db $50
-
-VermilionMartText3: ; 0x5c9ef
-	TX_FAR _VermilionMartText3
-	db $50
-
-VermilionMartObject: ; 0x5c9f4 (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $2, $ff
-	db $7, $4, $2, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $5 + 4, $ff, $ff, $2 ; person
-	db SPRITE_LASS, $3 + 4, $3 + 4, $fe, $2, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-VermilionGym_h: ; 0x5ca1a to 0x5ca26 (12 bytes) (id=92)
-	db $07 ; tileset
-	db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x)
-	dw VermilionGymBlocks, VermilionGymTexts, VermilionGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VermilionGymObject ; objects
-
-VermilionGymScript: ; 0x5ca26
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, VermilionGymScript_Unknown5ca4c
-	pop hl
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, $4a6d
-	call $3c3c
-	ld hl, VermilionGymTrainerHeader1
-	ld de, $4a95
-	ld a, [$d5fe]
-	call $3160
-	ld [$d5fe], a
-	ret
-; 0x5ca4c
-
-VermilionGymScript_Unknown5ca4c: ; 0x5ca4c
-INCBIN "baserom.gbc",$5ca4c,$9c
-
-VermilionGymTexts: ; 0x5cae8
-	dw VermilionGymText1, VermilionGymText2, VermilionGymText3, VermilionGymText4, VermilionGymText5, VermilionGymText6, VermilionGymText7, VermilionGymText8
-
-VermilionGymTrainerHeaders:
-VermilionGymTrainerHeader1: ; 0x5caf8
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d773 ; flag's byte
-	dw UnnamedText_5cb9a ; 0x4b9a TextBeforeBattle
-	dw UnnamedText_5cba4 ; 0x4ba4 TextAfterBattle
-	dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle
-	dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle
-; 0x5cb04
-
-TrainerHeader_5cb04: ; 0x5cb04
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d773 ; flag's byte
-	dw UnnamedText_5cbb3 ; 0x4bb3 TextBeforeBattle
-	dw UnnamedText_5cbbd ; 0x4bbd TextAfterBattle
-	dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle
-	dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle
-; 0x5cb10
-
-TrainerHeader_5cb10: ; 0x5cb10
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d773 ; flag's byte
-	dw UnnamedText_5cbcc ; 0x4bcc TextBeforeBattle
-	dw UnnamedText_5cbd6 ; 0x4bd6 TextAfterBattle
-	dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle
-	dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle
-; 0x5cb1c
-
-db $ff
-
-VermilionGymText1: ; 0x5cb1d
-	db $08 ; asm
-	ld a, [$d773]
-	bit 7, a
-	jr z, .asm_7cc29 ; 0x5cb23
-	bit 6, a
-	jr nz, .asm_41203 ; 0x5cb27
-	call z, $4aaa
-	call $30b6
-	jr .asm_23621 ; 0x5cb2f
-.asm_41203 ; 0x5cb31
-	ld hl, UnnamedText_5cb72
-	call PrintText
-	jr .asm_23621 ; 0x5cb37
-.asm_7cc29 ; 0x5cb39
-	ld hl, UnnamedText_5cb6d
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $4b8b
-	ld de, $4b8b
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $3
-	ld [$d05c], a
-	xor a
-	ldh [$b4], a
-	ld a, $3
-	ld [$d5fe], a
-	ld [$da39], a
-.asm_23621 ; 0x5cb6a
-	jp TextScriptEnd
-
-UnnamedText_5cb6d: ; 0x5cb6d
-	TX_FAR _UnnamedText_5cb6d
-	db $50
-; 0x5cb6d + 5 bytes
-
-UnnamedText_5cb72: ; 0x5cb72
-	TX_FAR _UnnamedText_5cb72
-	db $50
-; 0x5cb72 + 5 bytes
-
-VermilionGymText6:
-	TX_FAR _UnnamedText_5cb77
-	db $50
-; 0x5cb77 + 5 bytes
-
-VermilionGymText7: ; 0x5cb7c
-	TX_FAR _ReceivedTM24Text ; 0x9c0e0
-	db $11
-	TX_FAR _TM24ExplanationText ; 0x9c0f5
-	db $50
-; 0x5cb7c + 10 bytes = 0x5cb86
-
-VermilionGymText8: ; 0x5cb86
-	TX_FAR _TM24NoRoomText
-	db $50
-
-ReceivedThunderbadgeText:
-	TX_FAR _ReceivedThunderbadgeText
-	db $50
-
-VermilionGymText2: ; 0x5cb90
-	db $08 ; asm
-	ld hl, VermilionGymTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5cb9a: ; 0x5cb9a
-	TX_FAR _UnnamedText_5cb9a
-	db $50
-; 0x5cb9a + 5 bytes
-
-UnnamedText_5cb9f: ; 0x5cb9f
-	TX_FAR _UnnamedText_5cb9f
-	db $50
-; 0x5cb9f + 5 bytes
-
-UnnamedText_5cba4: ; 0x5cba4
-	TX_FAR _UnnamedText_5cba4
-	db $50
-; 0x5cba4 + 5 bytes
-
-VermilionGymText3: ; 0x5cba9
-	db $08 ; asm
-	ld hl, TrainerHeader_5cb04
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5cbb3: ; 0x5cbb3
-	TX_FAR _UnnamedText_5cbb3
-	db $50
-; 0x5cbb3 + 5 bytes
-
-UnnamedText_5cbb8: ; 0x5cbb8
-	TX_FAR _UnnamedText_5cbb8
-	db $50
-; 0x5cbb8 + 5 bytes
-
-UnnamedText_5cbbd: ; 0x5cbbd
-	TX_FAR _UnnamedText_5cbbd
-	db $50
-; 0x5cbbd + 5 bytes
-
-VermilionGymText4: ; 0x5cbc2
-	db $08 ; asm
-	ld hl, TrainerHeader_5cb10
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5cbcc: ; 0x5cbcc
-	TX_FAR _UnnamedText_5cbcc
-	db $50
-; 0x5cbcc + 5 bytes
-
-UnnamedText_5cbd1: ; 0x5cbd1
-	TX_FAR _UnnamedText_5cbd1
-	db $50
-; 0x5cbd1 + 5 bytes
-
-UnnamedText_5cbd6: ; 0x5cbd6
-	TX_FAR _UnnamedText_5cbd6
-	db $50
-; 0x5cbd6 + 5 bytes
-
-VermilionGymText5: ; 0x5cbdb
-	db $08 ; asm
-	ld a, [$d72a]
-	bit 2, a
-	jr nz, .asm_13b67 ; 0x5cbe1
-	ld hl, UnnamedText_5cbf4
-	call PrintText
-	jr .asm_c2b38 ; 0x5cbe9
-.asm_13b67 ; 0x5cbeb
-	ld hl, UnnamedText_5cbf9
-	call PrintText
-.asm_c2b38 ; 0x5cbf1
-	jp TextScriptEnd
-
-UnnamedText_5cbf4: ; 0x5cbf4
-	TX_FAR _UnnamedText_5cbf4
-	db $50
-; 0x5cbf4 + 5 bytes
-
-UnnamedText_5cbf9: ; 0x5cbf9
-	TX_FAR _UnnamedText_5cbf9
-	db $50
-; 0x5cbf9 + 5 bytes
-
-VermilionGymObject: ; 0x5cbfe (size=58)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $11, $4, $3, $ff
-	db $11, $5, $3, $ff
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_ROCKER, $1 + 4, $5 + 4, $ff, $d0, $41, LT__SURGE + $C8, $1 ; trainer
-	db SPRITE_GENTLEMAN, $6 + 4, $9 + 4, $ff, $d2, $42, GENTLEMAN + $C8, $3 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d2, $43, ROCKER + $C8, $1 ; trainer
-	db SPRITE_SAILOR, $a + 4, $0 + 4, $ff, $d3, $44, SAILOR + $C8, $8 ; trainer
-	db SPRITE_GYM_HELPER, $e + 4, $4 + 4, $ff, $d0, $5 ; person
-
-	; warp-to
-	EVENT_DISP $5, $11, $4
-	EVENT_DISP $5, $11, $5
-
-VermilionGymBlocks: ; 0x5cc38 45
-	INCBIN "maps/vermiliongym.blk"
-
-CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176)
-	db $04 ; tileset
-	db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x)
-	dw CopycatsHouseF2Blocks, CopycatsHouseF2Texts, CopycatsHouseF2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CopycatsHouseF2Object ; objects
-
-CopycatsHouseF2Script: ; 0x5cc71
-	jp $3c3c
-; 0x5cc74
-
-CopycatsHouseF2Texts: ; 0x5cc74
-	dw CopycatsHouseF2Text1, CopycatsHouseF2Text2, CopycatsHouseF2Text3, CopycatsHouseF2Text4, CopycatsHouseF2Text5, CopycatsHouseF2Text6, CopycatsHouseF2Text7
-
-CopycatsHouseF2Text1: ; 0x5cc82
-	db $08 ; asm
-	ld a, [$d7af]
-	bit 0, a
-	jr nz, .asm_7ccf3 ; 0x5cc88
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, UnnamedText_5ccd4
-	call PrintText
-	ld b, POKE_DOLL
-	call $3493 ; probably check has item or take item
-	jr z, .asm_62ecd ; 0x5cc9a
-	ld hl, UnnamedText_5ccd9
-	call PrintText
-	ld bc, (TM_31 << 8) | 1
-	call GiveItem
-	jr nc, .asm_16690 ; 0x5cca8
-	ld hl, ReceivedTM31Text
-	call PrintText
-	ld a, $33
-	ldh [$db], a
-	ld b, $5 ; BANK(MyFunction)
-	ld hl, $7f37 ; MyFunction
-	call Bankswitch
-	ld hl, $d7af
-	set 0, [hl]
-	jr .asm_62ecd ; 0x5ccc1
-.asm_16690 ; 0x5ccc3
-	ld hl, TM31NoRoomText
-	call PrintText
-	jr .asm_62ecd ; 0x5ccc9
-.asm_7ccf3 ; 0x5cccb
-	ld hl, TM31ExplanationText2
-	call PrintText
-.asm_62ecd ; 0x5ccd1
-	jp TextScriptEnd
-
-UnnamedText_5ccd4: ; 0x5ccd4
-	TX_FAR _UnnamedText_5ccd4
-	db $50
-; 0x5ccd4 + 5 bytes
-
-UnnamedText_5ccd9: ; 0x5ccd9
-	TX_FAR _UnnamedText_5ccd9
-	db $50
-; 0x5ccd9 + 5 bytes
-
-ReceivedTM31Text: ; 0x5ccde
-	TX_FAR _ReceivedTM31Text ; 0xa1675
-	db $0B
-TM31ExplanationText1: ; 0x5cce2
-	TX_FAR _TM31ExplanationText1 ; 0xa1689
-	db $d, $50
-; 0x5cce9
-
-TM31ExplanationText2: ; 0x5cce9
-	TX_FAR _TM31ExplanationText2 ; 0xa16c5
-	db $50
-; 0x5cce9 + 5 bytes = 0x5ccee
-
-TM31NoRoomText: ; 0x5ccee
-	TX_FAR _TM31NoRoomText ; 0xa1733
-	db $d, $50
-; 0x5ccf4
-
-CopycatsHouseF2Text2: ; 0x5ccf4
-	TX_FAR _CopycatsHouseF2Text2
-	db $50
-
-CopycatsHouseF2Text5:
-CopycatsHouseF2Text4:
-CopycatsHouseF2Text3: ; 0x5ccf9
-	TX_FAR _CopycatsHouseF2Text3
-	db $50
-
-CopycatsHouseF2Text6: ; 0x5ccfe
-	TX_FAR _CopycatsHouseF2Text6
-	db $50
-
-CopycatsHouseF2Text7: ; 0x5cd03
-	db $08 ; asm
-	ld a, [$c109]
-	cp $4
-	ld hl, UnnamedText_5cd1c
-	jr nz, .asm_399a4 ; 0x5cd0c
-	ld hl, UnnamedText_5cd17
-.asm_399a4 ; 0x5cd11
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_5cd17: ; 0x5cd17
-	TX_FAR _UnnamedText_5cd17
-	db $50
-; 0x5cd17 + 5 bytes
-
-UnnamedText_5cd1c: ; 0x5cd1c
-	TX_FAR _UnnamedText_5cd1c
-	db $50
-; 0x5cd1c + 5 bytes
-
-CopycatsHouseF2Object: ; 0x5cd21 (size=48)
-	db $a ; border tile
-
-	db $1 ; warps
-	db $1, $7, $2, COPYCATS_HOUSE_1F
-
-	db $2 ; signs
-	db $5, $3, $6 ; CopycatsHouseF2Text6
-	db $1, $0, $7 ; CopycatsHouseF2Text7
-
-	db $5 ; people
-	db SPRITE_BRUNETTE_GIRL, $3 + 4, $4 + 4, $fe, $0, $1 ; person
-	db SPRITE_BIRD, $6 + 4, $4 + 4, $fe, $2, $2 ; person
-	db SPRITE_SLOWBRO, $1 + 4, $5 + 4, $ff, $d0, $3 ; person
-	db SPRITE_BIRD, $0 + 4, $2 + 4, $ff, $d0, $4 ; person
-	db SPRITE_CLEFAIRY, $6 + 4, $1 + 4, $ff, $d3, $5 ; person
-
-	; warp-to
-	EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_1F
-
-FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177)
-	db $05 ; tileset
-	db FIGHTINGDOJO_HEIGHT, FIGHTINGDOJO_WIDTH ; dimensions (y, x)
-	dw FightingDojoBlocks, FightingDojoTexts, FightingDojoScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FightingDojoObject ; objects
-
-FightingDojoScript: ; 0x5cd5d
-	call $3c3c
-	ld hl, FightingDojoTrainerHeaders
-	ld de, $4d7b
-	ld a, [$d642]
-	call $3160
-	ld [$d642], a
-	ret
-; 0x5cd70
-
-INCBIN "baserom.gbc",$5cd70,$93
-
-FightingDojoTexts: ; 0x5ce03
-	dw FightingDojoText1, FightingDojoText2, FightingDojoText3, FightingDojoText4, FightingDojoText5, FightingDojoText6, FightingDojoText7, FightingDojoText8
-
-FightingDojoTrainerHeaders:
-FightingDojoTrainerHeader1: ; 0x5ce13
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7b1 ; flag's byte
-	dw UnnamedText_5ceac ; 0x4eac TextBeforeBattle
-	dw UnnamedText_5ceb6 ; 0x4eb6 TextAfterBattle
-	dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle
-	dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle
-; 0x5ce1f
-
-TrainerHeader_5ce1f: ; 0x5ce1f
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7b1 ; flag's byte
-	dw UnnamedText_5cec5 ; 0x4ec5 TextBeforeBattle
-	dw UnnamedText_5cecf ; 0x4ecf TextAfterBattle
-	dw UnnamedText_5ceca ; 0x4eca TextEndBattle
-	dw UnnamedText_5ceca ; 0x4eca TextEndBattle
-; 0x5ce2b
-
-TrainerHeader_5ce2b: ; 0x5ce2b
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b1 ; flag's byte
-	dw UnnamedText_5cede ; 0x4ede TextBeforeBattle
-	dw UnnamedText_5cee8 ; 0x4ee8 TextAfterBattle
-	dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle
-	dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle
-; 0x5ce37
-
-TrainerHeader_5ce37: ; 0x5ce37
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b1 ; flag's byte
-	dw UnnamedText_5cef7 ; 0x4ef7 TextBeforeBattle
-	dw UnnamedText_5cf01 ; 0x4f01 TextAfterBattle
-	dw UnnamedText_5cefc ; 0x4efc TextEndBattle
-	dw UnnamedText_5cefc ; 0x4efc TextEndBattle
-; 0x5ce43
-
-db $ff
-
-FightingDojoText1: ; 0x5ce44
-	db $08 ; asm
-	ld a, [$d7b1]
-	bit 0, a
-	jp nz, .continue1\@
-	bit 1, a
-	jp nz, .continue2\@
-	ld hl, UnnamedText_5ce8e
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $4e93
-	ld de, $4e93
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $3
-	ld [$d642], a
-	ld [$da39], a
-	jr .asm_9dba4 ; 0x5ce7b
-.continue1\@ ; 0x5ce7d
-	ld hl, UnnamedText_5ce9d
-	call PrintText
-	jr .asm_9dba4 ; 0x5ce83
-.continue2\@ ; 0x5ce85f
-	ld hl, FightingDojoText8
-	call PrintText
-.asm_9dba4 ; 0x5ce8b
-	jp TextScriptEnd
-
-UnnamedText_5ce8e: ; 0x5ce8e
-	TX_FAR _UnnamedText_5ce8e
-	db $50
-; 0x5ce8e + 5 bytes
-
-UnnamedText_5ce93: ; 0x5ce93
-	TX_FAR _UnnamedText_5ce93
-	db $50
-; 0x5ce93 + 5 bytes
-
-FightingDojoText8: ; 0x5ce98
-	TX_FAR _UnnamedText_5ce98
-	db $50
-; 0x5ce98 + 5 bytes
-
-UnnamedText_5ce9d: ; 0x5ce9d
-	TX_FAR _UnnamedText_5ce9d
-	db $50
-; 0x5ce9d + 5 bytes
-
-FightingDojoText2: ; 0x5cea2
-	db $08 ; asm
-	ld hl, FightingDojoTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5ceac: ; 0x5ceac
-	TX_FAR _UnnamedText_5ceac
-	db $50
-; 0x5ceac + 5 bytes
-
-UnnamedText_5ceb1: ; 0x5ceb1
-	TX_FAR _UnnamedText_5ceb1
-	db $50
-; 0x5ceb1 + 5 bytes
-
-UnnamedText_5ceb6: ; 0x5ceb6
-	TX_FAR _UnnamedText_5ceb6
-	db $50
-; 0x5ceb6 + 5 bytes
-
-FightingDojoText3: ; 0x5cebb
-	db $08 ; asm
-	ld hl, TrainerHeader_5ce1f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5cec5: ; 0x5cec5
-	TX_FAR _UnnamedText_5cec5
-	db $50
-; 0x5cec5 + 5 bytes
-
-UnnamedText_5ceca: ; 0x5ceca
-	TX_FAR _UnnamedText_5ceca
-	db $50
-; 0x5ceca + 5 bytes
-
-UnnamedText_5cecf: ; 0x5cecf
-	TX_FAR _UnnamedText_5cecf
-	db $50
-; 0x5cecf + 5 bytes
-
-FightingDojoText4: ; 0x5ced4
-	db $08 ; asm
-	ld hl, TrainerHeader_5ce2b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5cede: ; 0x5cede
-	TX_FAR _UnnamedText_5cede
-	db $50
-; 0x5cede + 5 bytes
-
-UnnamedText_5cee3: ; 0x5cee3
-	TX_FAR _UnnamedText_5cee3
-	db $50
-; 0x5cee3 + 5 bytes
-
-UnnamedText_5cee8: ; 0x5cee8
-	TX_FAR _UnnamedText_5cee8
-	db $50
-; 0x5cee8 + 5 bytes
-
-FightingDojoText5: ; 0x5ceed
-	db $08 ; asm
-	ld hl, TrainerHeader_5ce37
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5cef7: ; 0x5cef7
-	TX_FAR _UnnamedText_5cef7
-	db $50
-; 0x5cef7 + 5 bytes
-
-UnnamedText_5cefc: ; 0x5cefc
-	TX_FAR _UnnamedText_5cefc
-	db $50
-; 0x5cefc + 5 bytes
-
-UnnamedText_5cf01: ; 0x5cf01
-	TX_FAR _UnnamedText_5cf01
-	db $50
-; 0x5cf01 + 5 bytes
-
-FightingDojoText6: ; 0x5cf06
-	db $08 ; asm
-	ld a, [$d7b1]
-	and $c0
-	jr z, .asm_f8e28 ; 0x5cf0c
-	ld hl, UnnamedText_5cf96
-	call PrintText
-	jr .asm_3a2c8 ; 0x5cf14
-.asm_f8e28 ; 0x5cf16
-	ld a, $2b
-	call $349b
-	ld hl, UnnamedText_5cf49
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_3a2c8 ; 0x5cf28
-	ld a, [$cf91]
-	ld b, a
-	ld c, 30
-	call GivePokemon
-	jr nc, .asm_3a2c8 ; 0x5cf33
-	ld a, $4a
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld hl, $d7b1
-	set 6, [hl]
-	set 0, [hl]
-.asm_3a2c8 ; 0x5cf46
-	jp TextScriptEnd
-
-UnnamedText_5cf49: ; 0x5cf49
-	TX_FAR _UnnamedText_5cf49
-	db $50
-; 0x5cf49 + 5 bytes
-
-FightingDojoText7: ; 0x5cf4e
-	db $08 ; asm
-	ld a, [$d7b1]
-	and $c0
-	jr z, .asm_170a9 ; 0x5cf54
-	ld hl, UnnamedText_5cf96
-	call PrintText
-	jr .asm_f1f47 ; 0x5cf5c
-.asm_170a9 ; 0x5cf5e
-	ld a, $2c
-	call $349b
-	ld hl, UnnamedText_5cf91
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_f1f47 ; 0x5cf70
-	ld a, [$cf91]
-	ld b, a
-	ld c,30
-	call GivePokemon
-	jr nc, .asm_f1f47 ; 0x5cf7b
-	ld hl, $d7b1
-	set 7, [hl]
-	set 0, [hl]
-	ld a, $4b
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-.asm_f1f47 ; 0x5cf8e
-	jp TextScriptEnd
-
-UnnamedText_5cf91: ; 0x5cf91
-	TX_FAR _UnnamedText_5cf91
-	db $50
-; 0x5cf91 + 5 bytes
-
-UnnamedText_5cf96: ; 0x5cf96
-	TX_FAR _UnnamedText_5cf96
-	db $50
-; 0x5cf96 + 5 bytes
-
-FightingDojoObject: ; 0x5cf9b (size=72)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $b, $4, $1, $ff
-	db $b, $5, $1, $ff
-
-	db $0 ; signs
-
-	db $7 ; people
-	db SPRITE_HIKER, $3 + 4, $5 + 4, $ff, $d0, $41, BLACKBELT + $C8, $1 ; trainer
-	db SPRITE_HIKER, $4 + 4, $3 + 4, $ff, $d3, $42, BLACKBELT + $C8, $2 ; trainer
-	db SPRITE_HIKER, $6 + 4, $3 + 4, $ff, $d3, $43, BLACKBELT + $C8, $3 ; trainer
-	db SPRITE_HIKER, $5 + 4, $5 + 4, $ff, $d2, $44, BLACKBELT + $C8, $4 ; trainer
-	db SPRITE_HIKER, $7 + 4, $5 + 4, $ff, $d2, $45, BLACKBELT + $C8, $5 ; trainer
-	db SPRITE_BALL, $1 + 4, $4 + 4, $ff, $ff, $6 ; person
-	db SPRITE_BALL, $1 + 4, $5 + 4, $ff, $ff, $7 ; person
-
-	; warp-to
-	EVENT_DISP $5, $b, $4
-	EVENT_DISP $5, $b, $5
-
-FightingDojoBlocks: ; 0x5cfe3 30
-	INCBIN "maps/fightingdojo.blk"
-
-SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178)
-	db $16 ; tileset
-	db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x)
-	dw SaffronGymBlocks, SaffronGymTexts, SaffronGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SaffronGymObject ; objects
-
-SaffronGymScript: ; 0x5d00d
-	ld hl, $d126
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, .extra
-	call $3c3c
-	ld hl, $50c3
-	ld de, $5053
-	ld a, [$d65c]
-	call $3160
-	ld [$d65c], a
-	ret
-; 0x5d02a
-.extra
-INCBIN "baserom.gbc",$5d02a,$81
-
-SaffronGymTexts: ; 0x5d0ab
-	dw SaffronGymText1, SaffronGymText2, SaffronGymText3, SaffronGymText4, SaffronGymText5, SaffronGymText6, SaffronGymText7, SaffronGymText8, SaffronGymText9, SaffronGymText10, SaffronGymText11, SaffronGymText12
-
-SaffronGymTrainerHeaders:
-SaffronGymTrainerHeader1: ; 0x5d0c3
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d1f0 ; 0x51f0 TextBeforeBattle
-	dw UnnamedText_5d1fa ; 0x51fa TextAfterBattle
-	dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle
-	dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle
-; 0x5d0cf
-
-TrainerHeader_5d0cf: ; 0x5d0cf
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d1ff ; 0x51ff TextBeforeBattle
-	dw UnnamedText_5d209 ; 0x5209 TextAfterBattle
-	dw UnnamedText_5d204 ; 0x5204 TextEndBattle
-	dw UnnamedText_5d204 ; 0x5204 TextEndBattle
-; 0x5d0db
-
-TrainerHeader_5d0db: ; 0x5d0db
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d20e ; 0x520e TextBeforeBattle
-	dw UnnamedText_5d218 ; 0x5218 TextAfterBattle
-	dw UnnamedText_5d213 ; 0x5213 TextEndBattle
-	dw UnnamedText_5d213 ; 0x5213 TextEndBattle
-; 0x5d0e7
-
-TrainerHeader_5d0e7: ; 0x5d0e7
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d21d ; 0x521d TextBeforeBattle
-	dw UnnamedText_5d227 ; 0x5227 TextAfterBattle
-	dw UnnamedText_5d222 ; 0x5222 TextEndBattle
-	dw UnnamedText_5d222 ; 0x5222 TextEndBattle
-; 0x5d0f3
-
-TrainerHeader_5d0f3: ; 0x5d0f3
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d22c ; 0x522c TextBeforeBattle
-	dw UnnamedText_5d236 ; 0x5236 TextAfterBattle
-	dw UnnamedText_5d231 ; 0x5231 TextEndBattle
-	dw UnnamedText_5d231 ; 0x5231 TextEndBattle
-; 0x5d0ff
-
-TrainerHeader_5d0ff: ; 0x5d0ff
-	db $7 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d23b ; 0x523b TextBeforeBattle
-	dw UnnamedText_5d245 ; 0x5245 TextAfterBattle
-	dw UnnamedText_5d240 ; 0x5240 TextEndBattle
-	dw UnnamedText_5d240 ; 0x5240 TextEndBattle
-; 0x5d10b
-
-TrainerHeader_5d10b: ; 0x5d10b
-	db $8 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7b3 ; flag's byte
-	dw UnnamedText_5d24a ; 0x524a TextBeforeBattle
-	dw UnnamedText_5d254 ; 0x5254 TextAfterBattle
-	dw UnnamedText_5d24f ; 0x524f TextEndBattle
-	dw UnnamedText_5d24f ; 0x524f TextEndBattle
-; 0x5d117
-
-db $ff
-
-SaffronGymText1: ; 0x5d118
-	db $08 ; asm
-	ld a, [$d7b3]
-	bit 1, a
-	jr z, .asm_e3544 ; 0x5d11e
-	bit 0, a
-	jr nz, .asm_8d2f6 ; 0x5d122
-	call z, $5068
-	call $30b6
-	jr .asm_34c2c ; 0x5d12a
-.asm_8d2f6 ; 0x5d12c
-	ld hl, UnnamedText_5d16e
-	call PrintText
-	jr .asm_34c2c ; 0x5d132
-.asm_e3544 ; 0x5d134
-	ld hl, UnnamedText_5d162
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_5d167
-	ld de, $5167 ; probably UnnamedText_5d167
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $6
-	ld [$d05c], a
-	ld a, $3
-	ld [$d65c], a
-.asm_34c2c ; 0x5d15f
-	jp TextScriptEnd
-
-UnnamedText_5d162: ; 0x5d162
-	TX_FAR _UnnamedText_5d162
-	db $50
-; 0x5d162 + 5 bytes
-
-UnnamedText_5d167: ; 0x5d167
-	TX_FAR _UnnamedText_5d167 ; 0xa1c73
-	db $11 ; play same sound as red giving oak parcel
-	db $6 ; wait for keypress
-	db $50
-; 0x5d16e
-
-UnnamedText_5d16e: ; 0x5d16e
-	TX_FAR _UnnamedText_5d16e
-	db $50
-; 0x5d16e + 5 bytes
-
-SaffronGymText10: ; 0x5d173
-	TX_FAR _UnnamedText_5d173
-	db $50
-; 0x5d173 + 5 bytes
-
-SaffronGymText11: ; 0x5d178
-	TX_FAR ReceivedTM46Text
-	db $b
-	TX_FAR _UnnamedText_5d17d
-	db $50
-
-SaffronGymText12: ; 0x5d182
-	TX_FAR _UnnamedText_5d182 ; pack full
-	db $50
-; 0x5d182 + 5 bytes
-
-SaffronGymText2: ; 0x5d187
-	db $08 ; asm
-	ld hl, SaffronGymTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText3: ; 0x5d191
-	db $08 ; asm
-	ld hl, TrainerHeader_5d0cf
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText4: ; 0x5d19b
-	db $08 ; asm
-	ld hl, TrainerHeader_5d0db
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText5: ; 0x5d1a5
-	db $08 ; asm
-	ld hl, TrainerHeader_5d0e7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText6: ; 0x5d1af
-	db $08 ; asm
-	ld hl, TrainerHeader_5d0f3
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText7: ; 0x5d1b9
-	db $08 ; asm
-	ld hl, TrainerHeader_5d0ff
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText8: ; 0x5d1c3
-	db $08 ; asm
-	ld hl, TrainerHeader_5d10b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SaffronGymText9: ; 0x5d1cd
-	db $08 ; asm
-	ld a, [$d7b3]
-	bit 1, a
-	jr nz, .asm_13f3c ; 0x5d1d3
-	ld hl, UnnamedText_5d1e6
-	call PrintText
-	jr .asm_e9907 ; 0x5d1db
-.asm_13f3c ; 0x5d1dd
-	ld hl, UnnamedText_5d1eb
-	call PrintText
-.asm_e9907 ; 0x5d1e3
-	jp TextScriptEnd
-
-UnnamedText_5d1e6: ; 0x5d1e6
-	TX_FAR _UnnamedText_5d1e6
-	db $50
-; 0x5d1e6 + 5 bytes
-
-UnnamedText_5d1eb: ; 0x5d1eb
-	TX_FAR _UnnamedText_5d1eb
-	db $50
-; 0x5d1eb + 5 bytes
-
-UnnamedText_5d1f0: ; 0x5d1f0
-	TX_FAR _UnnamedText_5d1f0
-	db $50
-; 0x5d1f0 + 5 bytes
-
-UnnamedText_5d1f5: ; 0x5d1f5
-	TX_FAR _UnnamedText_5d1f5
-	db $50
-; 0x5d1f5 + 5 bytes
-
-UnnamedText_5d1fa: ; 0x5d1fa
-	TX_FAR _UnnamedText_5d1fa
-	db $50
-; 0x5d1fa + 5 bytes
-
-UnnamedText_5d1ff: ; 0x5d1ff
-	TX_FAR _UnnamedText_5d1ff
-	db $50
-; 0x5d1ff + 5 bytes
-
-UnnamedText_5d204: ; 0x5d204
-	TX_FAR _UnnamedText_5d204
-	db $50
-; 0x5d204 + 5 bytes
-
-UnnamedText_5d209: ; 0x5d209
-	TX_FAR _UnnamedText_5d209
-	db $50
-; 0x5d209 + 5 bytes
-
-UnnamedText_5d20e: ; 0x5d20e
-	TX_FAR _UnnamedText_5d20e
-	db $50
-; 0x5d20e + 5 bytes
-
-UnnamedText_5d213: ; 0x5d213
-	TX_FAR _UnnamedText_5d213
-	db $50
-; 0x5d213 + 5 bytes
-
-UnnamedText_5d218: ; 0x5d218
-	TX_FAR _UnnamedText_5d218
-	db $50
-; 0x5d218 + 5 bytes
-
-UnnamedText_5d21d: ; 0x5d21d
-	TX_FAR _UnnamedText_5d21d
-	db $50
-; 0x5d21d + 5 bytes
-
-UnnamedText_5d222: ; 0x5d222
-	TX_FAR _UnnamedText_5d222
-	db $50
-; 0x5d222 + 5 bytes
-
-UnnamedText_5d227: ; 0x5d227
-	TX_FAR _UnnamedText_5d227
-	db $50
-; 0x5d227 + 5 bytes
-
-UnnamedText_5d22c: ; 0x5d22c
-	TX_FAR _UnnamedText_5d22c
-	db $50
-; 0x5d22c + 5 bytes
-
-UnnamedText_5d231: ; 0x5d231
-	TX_FAR _UnnamedText_5d231
-	db $50
-; 0x5d231 + 5 bytes
-
-UnnamedText_5d236: ; 0x5d236
-	TX_FAR _UnnamedText_5d236
-	db $50
-; 0x5d236 + 5 bytes
-
-UnnamedText_5d23b: ; 0x5d23b
-	TX_FAR _UnnamedText_5d23b
-	db $50
-; 0x5d23b + 5 bytes
-
-UnnamedText_5d240: ; 0x5d240
-	TX_FAR _UnnamedText_5d240
-	db $50
-; 0x5d240 + 5 bytes
-
-UnnamedText_5d245: ; 0x5d245
-	TX_FAR _UnnamedText_5d245
-	db $50
-; 0x5d245 + 5 bytes
-
-UnnamedText_5d24a: ; 0x5d24a
-	TX_FAR _UnnamedText_5d24a
-	db $50
-; 0x5d24a + 5 bytes
-
-UnnamedText_5d24f: ; 0x5d24f
-	TX_FAR _UnnamedText_5d24f
-	db $50
-; 0x5d24f + 5 bytes
-
-UnnamedText_5d254: ; 0x5d254
-	TX_FAR _UnnamedText_5d254
-	db $50
-; 0x5d254 + 5 bytes
-
-SaffronGymObject: ; 0x5d259 (size=330)
-	db $2e ; border tile
-
-	db $20 ; warps
-	db $11, $8, $2, $ff
-	db $11, $9, $2, $ff
-	db $3, $1, $16, SAFFRON_GYM
-	db $3, $5, $f, SAFFRON_GYM
-	db $5, $1, $12, SAFFRON_GYM
-	db $5, $5, $8, SAFFRON_GYM
-	db $9, $1, $1b, SAFFRON_GYM
-	db $9, $5, $10, SAFFRON_GYM
-	db $b, $1, $5, SAFFRON_GYM
-	db $b, $5, $d, SAFFRON_GYM
-	db $f, $1, $17, SAFFRON_GYM
-	db $f, $5, $1e, SAFFRON_GYM
-	db $11, $1, $11, SAFFRON_GYM
-	db $11, $5, $9, SAFFRON_GYM
-	db $3, $9, $1a, SAFFRON_GYM
-	db $3, $b, $3, SAFFRON_GYM
-	db $5, $9, $7, SAFFRON_GYM
-	db $5, $b, $c, SAFFRON_GYM
-	db $b, $b, $4, SAFFRON_GYM
-	db $f, $b, $1f, SAFFRON_GYM
-	db $3, $f, $18, SAFFRON_GYM
-	db $3, $13, $1c, SAFFRON_GYM
-	db $5, $f, $2, SAFFRON_GYM
-	db $5, $13, $a, SAFFRON_GYM
-	db $9, $f, $14, SAFFRON_GYM
-	db $9, $13, $1d, SAFFRON_GYM
-	db $b, $f, $e, SAFFRON_GYM
-	db $b, $13, $6, SAFFRON_GYM
-	db $f, $f, $15, SAFFRON_GYM
-	db $f, $13, $19, SAFFRON_GYM
-	db $11, $f, $b, SAFFRON_GYM
-	db $11, $13, $13, SAFFRON_GYM
-
-	db $0 ; signs
-
-	db $9 ; people
-	db SPRITE_GIRL, $8 + 4, $9 + 4, $ff, $d0, $41, SABRINA + $C8, $1 ; trainer
-	db SPRITE_MEDIUM, $1 + 4, $a + 4, $ff, $d0, $42, CHANNELER + $C8, $16 ; trainer
-	db SPRITE_BUG_CATCHER, $1 + 4, $11 + 4, $ff, $d0, $43, PSYCHIC_TR + $C8, $1 ; trainer
-	db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d0, $44, CHANNELER + $C8, $17 ; trainer
-	db SPRITE_BUG_CATCHER, $7 + 4, $11 + 4, $ff, $d0, $45, PSYCHIC_TR + $C8, $2 ; trainer
-	db SPRITE_MEDIUM, $d + 4, $3 + 4, $ff, $d0, $46, CHANNELER + $C8, $18 ; trainer
-	db SPRITE_BUG_CATCHER, $d + 4, $11 + 4, $ff, $d0, $47, PSYCHIC_TR + $C8, $3 ; trainer
-	db SPRITE_BUG_CATCHER, $1 + 4, $3 + 4, $ff, $d0, $48, PSYCHIC_TR + $C8, $4 ; trainer
-	db SPRITE_GYM_HELPER, $f + 4, $a + 4, $ff, $d0, $9 ; person
-
-	; warp-to
-	EVENT_DISP $a, $11, $8
-	EVENT_DISP $a, $11, $9
-	EVENT_DISP $a, $3, $1 ; SAFFRON_GYM
-	EVENT_DISP $a, $3, $5 ; SAFFRON_GYM
-	EVENT_DISP $a, $5, $1 ; SAFFRON_GYM
-	EVENT_DISP $a, $5, $5 ; SAFFRON_GYM
-	EVENT_DISP $a, $9, $1 ; SAFFRON_GYM
-	EVENT_DISP $a, $9, $5 ; SAFFRON_GYM
-	EVENT_DISP $a, $b, $1 ; SAFFRON_GYM
-	EVENT_DISP $a, $b, $5 ; SAFFRON_GYM
-	EVENT_DISP $a, $f, $1 ; SAFFRON_GYM
-	EVENT_DISP $a, $f, $5 ; SAFFRON_GYM
-	EVENT_DISP $a, $11, $1 ; SAFFRON_GYM
-	EVENT_DISP $a, $11, $5 ; SAFFRON_GYM
-	EVENT_DISP $a, $3, $9 ; SAFFRON_GYM
-	EVENT_DISP $a, $3, $b ; SAFFRON_GYM
-	EVENT_DISP $a, $5, $9 ; SAFFRON_GYM
-	EVENT_DISP $a, $5, $b ; SAFFRON_GYM
-	EVENT_DISP $a, $b, $b ; SAFFRON_GYM
-	EVENT_DISP $a, $f, $b ; SAFFRON_GYM
-	EVENT_DISP $a, $3, $f ; SAFFRON_GYM
-	EVENT_DISP $a, $3, $13 ; SAFFRON_GYM
-	EVENT_DISP $a, $5, $f ; SAFFRON_GYM
-	EVENT_DISP $a, $5, $13 ; SAFFRON_GYM
-	EVENT_DISP $a, $9, $f ; SAFFRON_GYM
-	EVENT_DISP $a, $9, $13 ; SAFFRON_GYM
-	EVENT_DISP $a, $b, $f ; SAFFRON_GYM
-	EVENT_DISP $a, $b, $13 ; SAFFRON_GYM
-	EVENT_DISP $a, $f, $f ; SAFFRON_GYM
-	EVENT_DISP $a, $f, $13 ; SAFFRON_GYM
-	EVENT_DISP $a, $11, $f ; SAFFRON_GYM
-	EVENT_DISP $a, $11, $13 ; SAFFRON_GYM
-
-SaffronGymBlocks: ; 0x5d3a3 90
-	INCBIN "maps/saffrongym.blk"
-
-SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180)
-	db $02 ; tileset
-	db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x)
-	dw SaffronMartBlocks, SaffronMartTexts, SaffronMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SaffronMartObject ; objects
-
-SaffronMartScript: ; 0x5d409
-	jp $3c3c
-; 0x5d40c
-
-SaffronMartTexts: ; 0x5d40c
-	dw SaffronMartText1, SaffronMartText2, SaffronMartText3
-
-SaffronMartText2: ; 0x5d412
-	TX_FAR _SaffronMartText2
-	db $50
-
-SaffronMartText3: ; 0x5d417
-	TX_FAR _SaffronMartText3
-	db $50
-
-SaffronMartObject: ; 0x5d41c (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $4, $ff
-	db $7, $4, $4, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $ff, $2 ; person
-	db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $0, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-SilphCo1_h: ; 0x5d442 to 0x5d44e (12 bytes) (id=181)
-	db $16 ; tileset
-	db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x)
-	dw SilphCo1Blocks, SilphCo1Texts, SilphCo1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo1Object ; objects
-
-SilphCo1Script: ; 0x5d44e
-	call $3c3c
-	ld a, [$d838]
-	bit 7, a
-	ret z
-	ld hl, $d7b9
-	bit 7, [hl]
-	set 7, [hl]
-	ret nz
-	ld a, $4c
-	ld [$cc4d], a
-	ld a, $15
-	jp $3e6d
-; 0x5d469
-
-SilphCo1Texts: ; 0x5d469
-	dw SilphCo1Text1
-
-SilphCo1Text1: ; 0x5d46b
-	TX_FAR _SilphCo1Text1
-	db $50
-
-SilphCo1Object: ; 0x5d470 (size=50)
-	db $2e ; border tile
-
-	db $5 ; warps
-	db $11, $a, $5, $ff
-	db $11, $b, $5, $ff
-	db $0, $1a, $0, SILPH_CO_2F
-	db $0, $14, $0, SILPH_CO_ELEVATOR
-	db $a, $10, $6, SILPH_CO_3F
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $4 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $f, $11, $a
-	EVENT_DISP $f, $11, $b
-	EVENT_DISP $f, $0, $1a ; SILPH_CO_2F
-	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $f, $a, $10 ; SILPH_CO_3F
-
-SilphCo1Blocks: ; 0x5d4a2 135
-	INCBIN "maps/silphco1.blk"
-
-SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182)
-	db $06 ; tileset
-	db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x)
-	dw SaffronPokecenterBlocks, SaffronPokecenterTexts, SaffronPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SaffronPokecenterObject ; objects
-
-SaffronPokecenterScript: ; 0x5d535
-	call $22fa
-	jp $3c3c
-; 0x5d53b
-
-SaffronPokecenterTexts:
-	dw SaffronPokecenterText1, SaffronPokecenterText2, SaffronPokecenterText3, SaffronPokecenterText4
-
-SaffronPokecenterText1: ; 0x5d542
-	db $ff
-
-SaffronPokecenterText2: ; 0x5d543
-	TX_FAR _SaffronPokecenterText1
-	db $50
-
-SaffronPokecenterText3: ; 0x5d549
-	TX_FAR _SaffronPokecenterText3
-	db $50
-
-SaffronPokecenterText4:
-	db $f6
-
-SaffronPokecenterObject: ; 0x5d54f (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $6, $ff
-	db $7, $4, $6, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $ff, $2 ; person
-	db SPRITE_GENTLEMAN, $3 + 4, $8 + 4, $ff, $d0, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47)
-	db $09 ; tileset
-	db VIRIDIAN_FOREST_EXIT_HEIGHT, VIRIDIAN_FOREST_EXIT_WIDTH ; dimensions (y, x)
-	dw ViridianForestexitBlocks, ViridianForestexitTexts, ViridianForestexitScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianForestexitObject ; objects
-
-ViridianForestexitScript: ; 0x5d587
-	jp $3c3c
-; 0x5d58a
-
-ViridianForestexitTexts: ; 0x5d58a
-	dw ViridianForestexitText1, ViridianForestexitText2
-
-ViridianForestexitText1: ; 0x5d58e
-	TX_FAR _ViridianForestexitText1
-	db $50
-
-ViridianForestexitText2: ; 0x5d593
-	TX_FAR _ViridianForestexitText2
-	db $50
-
-ViridianForestexitObject: ; 0x5d598 (size=48)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $0, $4, $1, $ff
-	db $0, $5, $1, $ff
-	db $7, $4, $0, VIRIDIAN_FOREST
-	db $7, $5, $0, VIRIDIAN_FOREST
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $ff, $1 ; person
-	db SPRITE_OLD_PERSON, $5 + 4, $2 + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $5, $0, $4
-	EVENT_DISP $5, $0, $5
-	EVENT_DISP $5, $7, $4 ; VIRIDIAN_FOREST
-	EVENT_DISP $5, $7, $5 ; VIRIDIAN_FOREST
-
-Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49)
-	db $0c ; tileset
-	db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x)
-	dw Route2GateBlocks, Route2GateTexts, Route2GateScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Route2GateObject ; objects
-
-Route2GateScript: ; 0x5d5d4
-	jp $3c3c
-; 0x5d5d7
-
-Route2GateTexts: ; 0x5d5d7
-	dw Route2GateText1, Route2GateText2
-
-Route2GateText1: ; 0x5d5db
-	db $08 ; asm
-	ld a, [$d7c2]
-	bit 0, a
-	jr nz, .asm_6592c ; 0x5d5e1
-	ld a, $a
-	ldh [$db], a
-	ld a, $c8
-	ldh [$dc], a
-	ld [$d11e], a
-	call GetItemName ; $2fcf
-	ld hl, $cd6d
-	ld de, $cc5b
-	ld bc, $000d
-	call CopyData
-	ld a, $62
-	call Predef
-	ldh a, [$db]
-	cp $1
-	jr nz, .asm_ad646 ; 0x5d606
-	ld hl, $d7c2
-	set 0, [hl]
-.asm_6592c ; 0x5d60d
-	ld hl, UnnamedText_5d616
-	call PrintText
-.asm_ad646 ; 0x5d613
-	jp TextScriptEnd
-
-UnnamedText_5d616: ; 0x5d616
-	TX_FAR _UnnamedText_5d616
-	db $50
-; 0x5d616 + 5 bytes
-
-Route2GateText2: ; 0x5d61b
-	TX_FAR _Route2GateText2
-	db $50
-
-Route2GateObject: ; 0x5d620 (size=48)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $0, $4, $3, $ff
-	db $0, $5, $3, $ff
-	db $7, $4, $4, $ff
-	db $7, $5, $4, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $ff, $d2, $1 ; person
-	db SPRITE_BUG_CATCHER, $4 + 4, $5 + 4, $fe, $2, $2 ; person
-
-	; warp-to
-	EVENT_DISP $5, $0, $4
-	EVENT_DISP $5, $0, $5
-	EVENT_DISP $5, $7, $4
-	EVENT_DISP $5, $7, $5
-
-ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50)
-	db $09 ; tileset
-	db VIRIDIAN_FOREST_ENTRANCE_HEIGHT, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; dimensions (y, x)
-	dw ViridianForestEntranceBlocks, ViridianForestEntranceTexts, ViridianForestEntranceScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianForestEntranceObject ; objects
-
-ViridianForestEntranceScript: ; 0x5d65c
-	jp $3c3c
-; 0x5d65f
-
-ViridianForestEntranceTexts: ; 0x5d65f
-	dw ViridianForestEntranceText1, ViridianForestEntranceText2
-
-ViridianForestEntranceText1: ; 0x5d663
-	TX_FAR _ViridianForestEntranceText1
-	db $50
-
-ViridianForestEntranceText2: ; 0x5d668
-	TX_FAR _ViridianForestEntranceText2
-	db $50
-
-ViridianForestEntranceObject: ; 0x5d66d (size=48)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $0, $4, $3, VIRIDIAN_FOREST
-	db $0, $5, $4, VIRIDIAN_FOREST
-	db $7, $4, $5, $ff
-	db $7, $5, $5, $ff
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_GIRL, $4 + 4, $8 + 4, $ff, $d2, $1 ; person
-	db SPRITE_LITTLE_GIRL, $4 + 4, $2 + 4, $fe, $1, $2 ; person
-
-	; warp-to
-	EVENT_DISP $5, $0, $4 ; VIRIDIAN_FOREST
-	EVENT_DISP $5, $0, $5 ; VIRIDIAN_FOREST
-	EVENT_DISP $5, $7, $4
-	EVENT_DISP $5, $7, $5
-
-UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71)
-	db $0c ; tileset
-	db PATH_ENTRANCE_ROUTE_5_HEIGHT, PATH_ENTRANCE_ROUTE_5_WIDTH ; dimensions (y, x)
-	dw UndergroundTunnelEntranceRoute5Blocks, UndergroundTunnelEntranceRoute5Texts, UndergroundTunnelEntranceRoute5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UndergroundTunnelEntranceRoute5Object ; objects
-
-UndergroundTunnelEntranceRoute5Script: ; 0x5d6a9
-	ld a, $10
-	ld [$d365], a
-	ret
-; 0x5d6af
-
-UndergroundTunnelEntranceRoute5_5d6af: ; 0x5d6af
-	db $50
-
-UndergroundTunnelEntranceRoute5Texts: ; 0x5d6b0
-	dw UndergroundTunnelEntranceRoute5Text1
-
-UndergroundTunnelEntranceRoute5Text1: ; 0x5d6b2
-	db $08 ; asm
-	ld a, $9
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-	ld hl, UndergroundTunnelEntranceRoute5_5d6af
-	ret
-
-UndergroundTunnelEntranceRoute5Object: ; 0x5d6c1 (size=34)
-	db $a ; border tile
-
-	db $3 ; warps
-	db $7, $3, $3, $ff
-	db $7, $4, $3, $ff
-	db $4, $4, $0, UNDERGROUND_PATH_NS
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_LITTLE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS
-
-UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74)
-	db $0c ; tileset
-	db PATH_ENTRANCE_ROUTE_6_HEIGHT, PATH_ENTRANCE_ROUTE_6_WIDTH ; dimensions (y, x)
-	dw UndergroundTunnelEntranceRoute6Blocks, UndergroundTunnelEntranceRoute6Texts, UndergroundTunnelEntranceRoute6Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UndergroundTunnelEntranceRoute6Object ; objects
-
-UndergroundTunnelEntranceRoute6Script: ; 0x5d6ef
-	ld a, $11
-	ld [$d365], a
-	jp $3c3c
-; 0x5d6f7
-
-UndergroundTunnelEntranceRoute6Texts: ; 0x5d6f7
-	dw UndergroundTunnelEntranceRoute6Text1
-
-;XXX wtf? syntax error on TX_FAR?
-UndergroundTunnelEntranceRoute6Text1: ; 0x5d6f9
-	db $17, $cb, $40, $23
-	;TX_FAR _UndergroundTunnelEntranceRoute6Text1 ; $cb, $40, $23
-	db $50
-
-UndergroundTunnelEntranceRoute6Object: ; 0x5d6fe (size=34)
-	db $a ; border tile
-
-	db $3 ; warps
-	db $7, $3, $3, $ff
-	db $7, $4, $3, $ff
-	db $4, $4, $1, UNDERGROUND_PATH_NS
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS
-
-UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77)
-	db $0c ; tileset
-	db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x)
-	dw UndergroundTunnelEntranceRoute7Blocks, UndergroundPathEntranceRoute7Texts, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UndergroundPathEntranceRoute7Object ; objects
-
-UndergroundPathEntranceRoute7Script: ; 0x5d72c
-	ld a, $12
-	ld [$d365], a
-	jp $3c3c
-; 0x5d734
-
-UndergroundPathEntranceRoute7Texts: ; 0x5d734
-	dw UndergroundPathEntranceRoute7Text1
-
-UndergroundPathEntranceRoute7Text1: ; 0x5d736
-	db $17, $ff, $40, $23
-	;TX_FAR _UndergroundPathEntranceRoute7Text1
-	db $50
-
-UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34)
-	db $a ; border tile
-
-	db $3 ; warps
-	db $7, $3, $4, $ff
-	db $7, $4, $4, $ff
-	db $4, $4, $0, UNDERGROUND_PATH_WE
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FAT_BALD_GUY, $4 + 4, $2 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE
-
-INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d
-
-UnnamedText_5d773: ; 0x5d773
-	TX_FAR _UnnamedText_5d773
-	db $50
-; 0x5d773 + 5 bytes
-
-UnnamedText_5d778: ; 0x5d778
-	TX_FAR _UnnamedText_5d778
-	db $50
-; 0x5d778 + 5 bytes
-
-UnnamedText_5d77d: ; 0x5d77d
-	TX_FAR _UnnamedText_5d77d
-	db $50
-; 0x5d77d + 5 bytes
-
-UnnamedText_5d782: ; 0x5d782
-	TX_FAR _UnnamedText_5d782
-	db $50
-; 0x5d782 + 5 bytes
-
-INCBIN "baserom.gbc",$5d787,$28
-
-SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233)
-	db $16 ; tileset
-	db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x)
-	dw SilphCo9Blocks, SilphCo9Texts, SilphCo9Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo9Object ; objects
-
-SilphCo9Script: ; 0x5d7bb
-	call SilphCo9Script_Unknown5d7d1
-	call $3c3c
-	ld hl, SilphCo9TrainerHeaders
-	ld de, $5885
-	ld a, [$d64a]
-	call $3160
-	ld [$d64a], a
-	ret
-; 0x5d7d1
-
-SilphCo9Script_Unknown5d7d1: ; 0x5d7d1
-INCBIN "baserom.gbc",$5d7d1,$ba
-
-SilphCo9Texts: ; 0x5d88b
-	dw SilphCo9Text1, SilphCo9Text2, SilphCo9Text3, SilphCo9Text4
-
-SilphCo9TrainerHeaders:
-SilphCo9TrainerHeader1: ; 0x5d893
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d833 ; flag's byte
-	dw UnnamedText_5d912 ; 0x5912 TextBeforeBattle
-	dw UnnamedText_5d91c ; 0x591c TextAfterBattle
-	dw UnnamedText_5d917 ; 0x5917 TextEndBattle
-	dw UnnamedText_5d917 ; 0x5917 TextEndBattle
-; 0x5d89f
-
-TrainerHeader_5d89f: ; 0x5d89f
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d833 ; flag's byte
-	dw UnnamedText_5d921 ; 0x5921 TextBeforeBattle
-	dw UnnamedText_5d92b ; 0x592b TextAfterBattle
-	dw UnnamedText_5d926 ; 0x5926 TextEndBattle
-	dw UnnamedText_5d926 ; 0x5926 TextEndBattle
-; 0x5d8ab
-
-TrainerHeader_5d8ab: ; 0x5d8ab
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d833 ; flag's byte
-	dw UnnamedText_5d930 ; 0x5930 TextBeforeBattle
-	dw UnnamedText_5d93a ; 0x593a TextAfterBattle
-	dw UnnamedText_5d935 ; 0x5935 TextEndBattle
-	dw UnnamedText_5d935 ; 0x5935 TextEndBattle
-; 0x5d8b7
-
-db $ff
-
-SilphCo9Text1: ; 0x5d8b8
-	db $08 ; asm
-	ld a, [$d838]
-	bit 7, a
-	jr nz, .asm_a14c3 ; 0x5d8be
-	ld hl, UnnamedText_5d8e5
-	call PrintText
-	ld a, $7
-	call Predef
-	call $20d8
-	call Delay3
-	call $20f6
-	ld hl, UnnamedText_5d8ea
-	call PrintText
-	jr .asm_b6e28 ; 0x5d8da
-.asm_a14c3 ; 0x5d8dc
-	ld hl, UnnamedText_5d8ef
-	call PrintText
-.asm_b6e28 ; 0x5d8e2
-	jp TextScriptEnd
-
-UnnamedText_5d8e5: ; 0x5d8e5
-	TX_FAR _UnnamedText_5d8e5
-	db $50
-; 0x5d8e5 + 5 bytes
-
-UnnamedText_5d8ea: ; 0x5d8ea
-	TX_FAR _UnnamedText_5d8ea
-	db $50
-; 0x5d8ea + 5 bytes
-
-UnnamedText_5d8ef: ; 0x5d8ef
-	TX_FAR _UnnamedText_5d8ef
-	db $50
-; 0x5d8ef + 5 bytes
-
-SilphCo9Text2: ; 0x5d8f4
-	db $08 ; asm
-	ld hl, SilphCo9TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo9Text3: ; 0x5d8fe
-	db $08 ; asm
-	ld hl, TrainerHeader_5d89f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SilphCo9Text4: ; 0x5d908
-	db $08 ; asm
-	ld hl, TrainerHeader_5d8ab
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5d912: ; 0x5d912
-	TX_FAR _UnnamedText_5d912
-	db $50
-; 0x5d912 + 5 bytes
-
-UnnamedText_5d917: ; 0x5d917
-	TX_FAR _UnnamedText_5d917
-	db $50
-; 0x5d917 + 5 bytes
-
-UnnamedText_5d91c: ; 0x5d91c
-	TX_FAR _UnnamedText_5d91c
-	db $50
-; 0x5d91c + 5 bytes
-
-UnnamedText_5d921: ; 0x5d921
-	TX_FAR _UnnamedText_5d921
-	db $50
-; 0x5d921 + 5 bytes
-
-UnnamedText_5d926: ; 0x5d926
-	TX_FAR _UnnamedText_5d926
-	db $50
-; 0x5d926 + 5 bytes
-
-UnnamedText_5d92b: ; 0x5d92b
-	TX_FAR _UnnamedText_5d92b
-	db $50
-; 0x5d92b + 5 bytes
-
-UnnamedText_5d930: ; 0x5d930
-	TX_FAR _UnnamedText_5d930
-	db $50
-; 0x5d930 + 5 bytes
-
-UnnamedText_5d935: ; 0x5d935
-	TX_FAR _UnnamedText_5d935
-	db $50
-; 0x5d935 + 5 bytes
-
-UnnamedText_5d93a: ; 0x5d93a
-	TX_FAR _UnnamedText_5d93a
-	db $50
-; 0x5d93a + 5 bytes
-
-SilphCo9Object: ; 0x5d93f (size=74)
-	db $2e ; border tile
-
-	db $5 ; warps
-	db $0, $e, $0, SILPH_CO_10F
-	db $0, $10, $0, SILPH_CO_8F
-	db $0, $12, $0, SILPH_CO_ELEVATOR
-	db $3, $9, $7, SILPH_CO_3F
-	db $f, $11, $4, SILPH_CO_5F
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $e + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_ROCKET, $4 + 4, $2 + 4, $ff, $d1, $42, ROCKET + $C8, $25 ; trainer
-	db SPRITE_OAK_AIDE, $d + 4, $15 + 4, $ff, $d0, $43, SCIENTIST + $C8, $a ; trainer
-	db SPRITE_ROCKET, $10 + 4, $d + 4, $ff, $d1, $44, ROCKET + $C8, $26 ; trainer
-
-	; warp-to
-	EVENT_DISP $d, $0, $e ; SILPH_CO_10F
-	EVENT_DISP $d, $0, $10 ; SILPH_CO_8F
-	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
-	EVENT_DISP $d, $3, $9 ; SILPH_CO_3F
-	EVENT_DISP $d, $f, $11 ; SILPH_CO_5F
-
-SilphCo9Blocks: ; 0x5d989 117
-	INCBIN "maps/silphco9.blk"
-
-VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108)
-	db $11 ; tileset
-	db VICTORY_ROAD_1_HEIGHT, VICTORY_ROAD_1_WIDTH ; dimensions (y, x)
-	dw VictoryRoad1Blocks, VictoryRoad1Texts, VictoryRoad1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw VictoryRoad1Object ; objects
-
-VictoryRoad1Script: ; 0x5da0a
-	ld hl, $d126
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, .next
-	call $3c3c
-	ld hl, VictoryRoad1TrainerHeaders
-	ld de, $5a3a
-	ld a, [$d651]
-	call $3160
-	ld [$d651], a
-	ret
-; 0x5da27
-.next
-INCBIN "baserom.gbc",$5da27,$38
-
-VictoryRoad1Texts: ; 0x5da5f
-	dw VictoryRoad1Text1, VictoryRoad1Text2, VictoryRoad1Text3, VictoryRoad1Text4, VictoryRoad1Text5, VictoryRoad1Text6, VictoryRoad1Text7
-
-VictoryRoad1TrainerHeaders
-VictoryRoad1TrainerHeader1: ; 0x5da6d
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d869 ; flag's byte
-	dw UnnamedText_5da9a ; 0x5a9a TextBeforeBattle
-	dw UnnamedText_5daa4 ; 0x5aa4 TextAfterBattle
-	dw UnnamedText_5da9f ; 0x5a9f TextEndBattle
-	dw UnnamedText_5da9f ; 0x5a9f TextEndBattle
-; 0x5da79
-
-TrainerHeader_5da79: ; 0x5da79
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d869 ; flag's byte
-	dw UnnamedText_5daa9 ; 0x5aa9 TextBeforeBattle
-	dw UnnamedText_5dab3 ; 0x5ab3 TextAfterBattle
-	dw UnnamedText_5daae ; 0x5aae TextEndBattle
-	dw UnnamedText_5daae ; 0x5aae TextEndBattle
-; 0x5da85
-
-db $ff
-
-VictoryRoad1Text1: ; 0x5da86
-	db $08 ; asm
-	ld hl, VictoryRoad1TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-VictoryRoad1Text2: ; 0x5da90
-	db $08 ; asm
-	ld hl, TrainerHeader_5da79
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_5da9a: ; 0x5da9a
-	TX_FAR _UnnamedText_5da9a
-	db $50
-; 0x5da9a + 5 bytes
-
-UnnamedText_5da9f: ; 0x5da9f
-	TX_FAR _UnnamedText_5da9f
-	db $50
-; 0x5da9f + 5 bytes
-
-UnnamedText_5daa4: ; 0x5daa4
-	TX_FAR _UnnamedText_5daa4
-	db $50
-; 0x5daa4 + 5 bytes
-
-UnnamedText_5daa9: ; 0x5daa9
-	TX_FAR _UnnamedText_5daa9
-	db $50
-; 0x5daa9 + 5 bytes
-
-UnnamedText_5daae: ; 0x5daae
-	TX_FAR _UnnamedText_5daae
-	db $50
-; 0x5daae + 5 bytes
-
-UnnamedText_5dab3: ; 0x5dab3
-	TX_FAR _UnnamedText_5dab3
-	db $50
-; 0x5dab3 + 5 bytes
-
-VictoryRoad1Object: ; 0x5dab8 (size=76)
-	db $7d ; border tile
-
-	db $3 ; warps
-	db $11, $8, $2, $ff
-	db $11, $9, $2, $ff
-	db $1, $1, $0, VICTORY_ROAD_2
-
-	db $0 ; signs
-
-	db $7 ; people
-	db SPRITE_LASS, $5 + 4, $7 + 4, $ff, $d3, $41, COOLTRAINER_F + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $3 + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $5 ; trainer
-	db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $83, TM_43 ; item
-	db SPRITE_BALL, $2 + 4, $9 + 4, $ff, $ff, $84, RARE_CANDY ; item
-	db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $10, $5 ; person
-	db SPRITE_BOULDER, $2 + 4, $e + 4, $ff, $10, $6 ; person
-	db SPRITE_BOULDER, $a + 4, $2 + 4, $ff, $10, $7 ; person
-
-	; warp-to
-	EVENT_DISP $a, $11, $8
-	EVENT_DISP $a, $11, $9
-	EVENT_DISP $a, $1, $1 ; VICTORY_ROAD_2
-
-VictoryRoad1Blocks: ; 0x5db04 90
-	INCBIN "maps/victoryroad1.blk"
-
-INCBIN "baserom.gbc",$5db5e,$5db81 - $5db5e
-
-UnnamedText_5db81: ; 0x5db81
-	TX_FAR _UnnamedText_5db81
-	db $50
-; 0x5db81 + 5 bytes
-
-INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86
-
-UnnamedText_5dba8: ; 0x5dba8
-	TX_FAR _UnnamedText_5dba8
-	db $50
-; 0x5dba8 + 5 bytes
-
-INCBIN "baserom.gbc",$5dbad,$5dbbe - $5dbad
-
-UnnamedText_5dbbe: ; 0x5dbbe
-	TX_FAR _UnnamedText_5dbbe
-	db $50
-; 0x5dbbe + 5 bytes
-
-INCBIN "baserom.gbc",$5dbc3,$5dbd4 - $5dbc3
-
-UnnamedText_5dbd4: ; 0x5dbd4
-	TX_FAR _UnnamedText_5dbd4
-	db $50
-; 0x5dbd4 + 5 bytes
-
-INCBIN "baserom.gbc",$5dbd9,$5dc9e - $5dbd9
-
-UnnamedText_5dc9e: ; 0x5dc9e
-	TX_FAR _UnnamedText_5dc9e
-	db $50
-; 0x5dc9e + 5 bytes
-
-UnnamedText_5dca3: ; 0x5dca3
-	TX_FAR _UnnamedText_5dca3
-	db $50
-; 0x5dca3 + 5 bytes
-
-INCBIN "baserom.gbc",$5dca8,$5dcde - $5dca8
-
-UnnamedText_5dcde: ; 0x5dcde
-	TX_FAR _UnnamedText_5dcde
-	db $50
-; 0x5dcde + 5 bytes
-
-UnnamedText_5dce3: ; 0x5dce3
-	TX_FAR _UnnamedText_5dce3
-	db $50
-; 0x5dce3 + 5 bytes
-
-UnnamedText_5dce8: ; 0x5dce8
-	TX_FAR _UnnamedText_5dce8
-	db $50
-; 0x5dce8 + 5 bytes
-
-INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced
-
-UnnamedText_5dda2: ; 0x5dda2
-	TX_FAR _UnnamedText_5dda2
-	db $50
-; 0x5dda2 + 5 bytes
-
-UnnamedText_5dda7: ; 0x5dda7
-	TX_FAR _UnnamedText_5dda7
-	db $50
-; 0x5dda7 + 5 bytes
-
-INCBIN "baserom.gbc",$5ddac,$5ddd6 - $5ddac
-
-UnnamedText_5ddd6: ; 0x5ddd6
-	TX_FAR _UnnamedText_5ddd6
-	db $50
-; 0x5ddd6 + 5 bytes
-
-UnnamedText_5dddb: ; 0x5dddb
-	TX_FAR _UnnamedText_5dddb
-	db $50
-; 0x5dddb + 5 bytes
-
-UnnamedText_5dde0: ; 0x5dde0
-	TX_FAR _UnnamedText_5dde0
-	db $50
-; 0x5dde0 + 5 bytes
-
-UnnamedText_5dde5: ; 0x5dde5
-	TX_FAR _UnnamedText_5dde5
-	db $50
-; 0x5dde5 + 5 bytes
-
-UnnamedText_5ddea: ; 0x5ddea
-	TX_FAR _UnnamedText_5ddea
-	db $50
-; 0x5ddea + 5 bytes
-
-INCBIN "baserom.gbc",$5ddef,$5ddf7 - $5ddef
-
-UnnamedText_5ddf7: ; 0x5ddf7
-	TX_FAR _UnnamedText_5ddf7
-	db $50
-; 0x5ddf7 + 5 bytes
-
-INCBIN "baserom.gbc",$5ddfc,$5dedb - $5ddfc
-
-UnnamedText_5dedb: ; 0x5dedb
-	TX_FAR _UnnamedText_5dedb
-	db $50
-; 0x5dedb + 5 bytes
-
-INCBIN "baserom.gbc",$5dee0,$2120
-
-SECTION "bank18",DATA,BANK[$18]
-
-ViridianForestBlocks:
-	INCBIN "maps/viridianforest.blk"
-
-UndergroundPathNSBlocks: ; 0x60198 96
-	INCBIN "maps/undergroundpathns.blk"
-
-INCBIN "baserom.gbc",$601f8,$1c8
-
-SSAnne10Blocks:
-SSAnne9Blocks: ; 0x603c0 96
-	INCBIN "maps/ssanne9.blk"
-
-PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142)
-	db $0f ; tileset
-	db POKEMONTOWER_1_HEIGHT, POKEMONTOWER_1_WIDTH ; dimensions (y, x)
-	dw PokemonTower1Blocks, PokemonTower1Texts, PokemonTower1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower1Object ; objects
-
-PokemonTower1Script: ; 0x6042c
-	jp $3c3c
-; 0x6042f
-
-PokemonTower1Texts: ; 0x6042f
-	dw PokemonTower1Text1, PokemonTower1Text2, PokemonTower1Text3, PokemonTower1Text4, PokemonTower1Text5
-
-PokemonTower1Text1: ; 0x60439
-	TX_FAR _PokemonTower1Text1
-	db $50
-
-PokemonTower1Text2: ; 0x6043e
-	TX_FAR _PokemonTower1Text2
-	db $50
-
-PokemonTower1Text3: ; 0x60443
-	TX_FAR _PokemonTower1Text3
-	db $50
-
-PokemonTower1Text4: ; 0x60448
-	TX_FAR _PokemonTower1Text4
-	db $50
-
-PokemonTower1Text5: ; 0x6044d
-	TX_FAR _PokemonTower1Text5
-	db $50
-
-PokemonTower1Object: ; 0x60452 (size=58)
-	db $1 ; border tile
-
-	db $3 ; warps
-	db $11, $a, $1, $ff
-	db $11, $b, $1, $ff
-	db $9, $12, $1, POKEMONTOWER_2
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_CABLE_CLUB_WOMAN, $d + 4, $f + 4, $ff, $d1, $1 ; person
-	db SPRITE_MOM_GEISHA, $8 + 4, $6 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BALDING_GUY, $c + 4, $8 + 4, $ff, $ff, $3 ; person
-	db SPRITE_GIRL, $7 + 4, $d + 4, $ff, $ff, $4 ; person
-	db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $5 ; person
-
-	; warp-to
-	EVENT_DISP $a, $11, $a
-	EVENT_DISP $a, $11, $b
-	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_2
-
-PokemonTower1Blocks: ; 0x6048c 90
-	INCBIN "maps/pokemontower1.blk"
-
-PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143)
-	db $0f ; tileset
-	db POKEMONTOWER_2_HEIGHT, POKEMONTOWER_2_WIDTH ; dimensions (y, x)
-	dw PokemonTower2Blocks, PokemonTower2Texts, PokemonTower2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower2Object ; objects
-
-PokemonTower2Script: ; 0x604f2
-	call $3c3c
-	ld hl, PokemonTower2Scripts
-	ld a, [$d62b]
-	jp $3d97
-; 0x604fe
-
-INCBIN "baserom.gbc",$604fe,$60509 - $604fe
-
-PokemonTower2Scripts: ; 0x60509
-	dw PokemonTower2Script0, PokemonTower2Script1, PokemonTower2Script2
-
-PokemonTower2Script0: ; 0x6050f
-	ld a, [$d764]
-	bit 7, a
-	ret nz
-	ld hl, $455e
-	call $34bf
-	ret nc
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld c, $2
-	ld a, $de
-	call $23a1
-	ld hl, $d764
-	res 6, [hl]
-	ld a, [$cd3d]
-	cp $1
-	ld a, $8
-	ld b, $0
-	jr nz, .asm_60544 ; 0x60539 $9
-	ld hl, $d764
-	set 6, [hl]
-	ld a, $2
-	ld b, $c
-.asm_60544
-	ld [$d528], a
-	ld a, $1
-	ld [$ff00+$8c], a
-	ld a, b
-	ld [$ff00+$8d], a
-	call $34a6
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	xor a
-	ld [$ff00+$b4], a
-	ld [$ff00+$b3], a
-	ret
-; 0x6055e
-
-INCBIN "baserom.gbc",$6055e,$60563 - $6055e
-
-PokemonTower2Script1: ; 0x60563
-	ld a, [$d057]
-	cp $ff
-	jp z, $44fe
-	ld a, $f0
-	ld [$cd6b], a
-	ld hl, $d764
-	set 7, [hl]
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	ld de, $45b2
-	ld a, [$d764]
-	bit 6, a
-	jr nz, .asm_60589 ; 0x60584 $3
-	ld de, $45a9
-.asm_60589
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $363a
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, $2
-	ld [$d62b], a
-	ld [$da39], a
-	ret
-; 0x605a9
-
-INCBIN "baserom.gbc",$605a9,$605bb - $605a9
-
-PokemonTower2Script2: ; 0x605bb
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	ld a, $38
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	xor a
-	ld [$cd6b], a
-	call $2307
-	ld a, $0
-	ld [$d62b], a
-	ld [$da39], a
-	ret
-; 0x605db
-
-PokemonTower2Texts: ; 0x605db
-	dw PokemonTower2Text1, PokemonTower2Text2
-
-PokemonTower2Text1: ; 0x605df
-	db $08 ; asm
-	ld a, [$d764]
-	bit 7, a
-	jr z, .asm_16f24 ; 0x605e5
-	ld hl, UnnamedText_6063c
-	call PrintText
-	jr .asm_41852 ; 0x605ed
-.asm_16f24 ; 0x605ef
-	ld hl, UnnamedText_6062d
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_60632
-	ld de, UnnamedText_60637 ; XXX $4637
-	call $3354
-	ld a, $f2
-	ld [$d059], a
-
-	; select which team to use during the encounter
-	ld a, [W_RIVALSTARTER]
-	cp SQUIRTLE
-	jr nz, .NotSquirtle\@ ; 0x6060f
-	ld a, $4
-	jr .done\@
-.NotSquirtle\@ ; 0x60615
-	cp BULBASAUR
-	jr nz, .Charmander\@ ; 0x60617
-	ld a, $5
-	jr .done\@
-.Charmander\@ ; 0x6061d
-	ld a, $6
-.done\@
-	ld [W_TRAINERNO], a
-
-	ld a, $1
-	ld [$d62b], a
-	ld [$da39], a
-.asm_41852 ; 0x6062a
-	jp TextScriptEnd
-
-UnnamedText_6062d: ; 0x6062d
-	TX_FAR _UnnamedText_6062d
-	db $50
-; 0x6062d + 5 bytes
-
-UnnamedText_60632: ; 0x60632
-	TX_FAR _UnnamedText_60632
-	db $50
-; 0x60632 + 5 bytes
-
-UnnamedText_60637: ; 0x60637
-	TX_FAR _UnnamedText_60637
-	db $50
-; 0x60637 + 5 bytes
-
-UnnamedText_6063c: ; 0x6063c
-	TX_FAR _UnnamedText_6063c
-	db $50
-; 0x6063c + 5 bytes
-
-PokemonTower2Text2: ; 0x60641
-	TX_FAR _PokemonTower2Text2
-	db $50
-
-PokemonTower2Object: ; 0x60646 (size=32)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $9, $3, $0, POKEMONTOWER_3
-	db $9, $12, $2, POKEMONTOWER_1
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BLUE, $5 + 4, $e + 4, $ff, $ff, $1 ; person
-	db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d3, $2 ; person
-
-	; warp-to
-	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_3
-	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_1
-
-PokemonTower2Blocks: ; 0x60666 90
-	INCBIN "maps/pokemontower2.blk"
-
-PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144)
-	db $0f ; tileset
-	db POKEMONTOWER_3_HEIGHT, POKEMONTOWER_3_WIDTH ; dimensions (y, x)
-	dw PokemonTower3Blocks, PokemonTower3Texts, PokemonTower3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower3Object ; objects
-
-PokemonTower3Script: ; 0x606cc
-	call $3c3c
-	ld hl, PokemonTower3TrainerHeaders
-	ld de, Unknown_606df
-	ld a, [$d62c]
-	call $3160
-	ld [$d62c], a
-	ret
-; 0x606df
-
-Unknown_606df: ; 0x606df
-INCBIN "baserom.gbc",$606df,$6
-
-PokemonTower3Texts: ; 0x606e5
-	dw PokemonTower3Text1, PokemonTower3Text2, PokemonTower3Text3, PokemonTower3Text4
-
-PokemonTower3TrainerHeaders:
-PokemonTower3TrainerHeader1: ; 0x606ed
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d765 ; flag's byte
-	dw UnnamedText_60730 ; 0x4730 TextBeforeBattle
-	dw UnnamedText_6073a ; 0x473a TextAfterBattle
-	dw UnnamedText_60735 ; 0x4735 TextEndBattle
-	dw UnnamedText_60735 ; 0x4735 TextEndBattle
-; 0x606f9
-
-TrainerHeader_606f9: ; 0x606f9
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d765 ; flag's byte
-	dw UnnamedText_6073f ; 0x473f TextBeforeBattle
-	dw UnnamedText_60749 ; 0x4749 TextAfterBattle
-	dw UnnamedText_60744 ; 0x4744 TextEndBattle
-	dw UnnamedText_60744 ; 0x4744 TextEndBattle
-; 0x60705
-
-TrainerHeader_60705: ; 0x60705
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d765 ; flag's byte
-	dw UnnamedText_6074e ; 0x474e TextBeforeBattle
-	dw UnnamedText_60758 ; 0x4758 TextAfterBattle
-	dw UnnamedText_60753 ; 0x4753 TextEndBattle
-	dw UnnamedText_60753 ; 0x4753 TextEndBattle
-; 0x60711
-db $ff
-
-PokemonTower3Text1: ; 0x60712
-	db $08 ; asm
-	ld hl, PokemonTower3TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower3Text2: ; 0x6071c
-	db $08 ; asm
-	ld hl, TrainerHeader_606f9
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower3Text3: ; 0x60726
-	db $08 ; asm
-	ld hl, TrainerHeader_60705
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_60730: ; 0x60730
-	TX_FAR _UnnamedText_60730
-	db $50
-; 0x60730 + 5 bytes
-
-UnnamedText_60735: ; 0x60735
-	TX_FAR _UnnamedText_60735
-	db $50
-; 0x60735 + 5 bytes
-
-UnnamedText_6073a: ; 0x6073a
-	TX_FAR _UnnamedText_6073a
-	db $50
-; 0x6073a + 5 bytes
-
-UnnamedText_6073f: ; 0x6073f
-	TX_FAR _UnnamedText_6073f
-	db $50
-; 0x6073f + 5 bytes
-
-UnnamedText_60744: ; 0x60744
-	TX_FAR _UnnamedText_60744
-	db $50
-; 0x60744 + 5 bytes
-
-UnnamedText_60749: ; 0x60749
-	TX_FAR _UnnamedText_60749
-	db $50
-; 0x60749 + 5 bytes
-
-UnnamedText_6074e: ; 0x6074e
-	TX_FAR _UnnamedText_6074e
-	db $50
-; 0x6074e + 5 bytes
-
-UnnamedText_60753: ; 0x60753
-	TX_FAR _UnnamedText_60753
-	db $50
-; 0x60753 + 5 bytes
-
-UnnamedText_60758: ; 0x60758
-	TX_FAR _UnnamedText_60758
-	db $50
-; 0x60758 + 5 bytes
-
-PokemonTower3Object: ; 0x6075d (size=51)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $9, $3, $0, POKEMONTOWER_2
-	db $9, $12, $1, POKEMONTOWER_4
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_MEDIUM, $3 + 4, $c + 4, $ff, $d2, $41, CHANNELER + $C8, $5 ; trainer
-	db SPRITE_MEDIUM, $8 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $6 ; trainer
-	db SPRITE_MEDIUM, $d + 4, $a + 4, $ff, $d0, $43, CHANNELER + $C8, $8 ; trainer
-	db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $84, ESCAPE_ROPE ; item
-
-	; warp-to
-	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_2
-	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_4
-
-PokemonTower3Blocks: ; 0x60790 90
-	INCBIN "maps/pokemontower3.blk"
-
-PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145)
-	db $0f ; tileset
-	db POKEMONTOWER_4_HEIGHT, POKEMONTOWER_4_WIDTH ; dimensions (y, x)
-	dw PokemonTower4Blocks, PokemonTower4Texts, PokemonTower4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower4Object ; objects
-
-PokemonTower4Script: ; 0x607f6
-	call $3c3c
-	ld hl, PokemonTower4TrainerHeaders
-	ld de, PokemonTower4Script_Unknown60809
-	ld a, [$d62d]
-	call $3160
-	ld [$d62d], a
-	ret
-; 0x60809
-
-PokemonTower4Script_Unknown60809: ; 0x60809
-INCBIN "baserom.gbc",$60809,$6
-
-PokemonTower4Texts: ; 0x6080f
-	dw PokemonTower4Text1, PokemonTower4Text2, PokemonTower4Text3, PokemonTower4Text4, PokemonTower4Text5, PokemonTower4Text6
-
-PokemonTower4TrainerHeaders:
-PokemonTower4TrainerHeader1: ; 0x6081b
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d766 ; flag's byte
-	dw UnnamedText_6085e ; 0x485e TextBeforeBattle
-	dw UnnamedText_60868 ; 0x4868 TextAfterBattle
-	dw UnnamedText_60863 ; 0x4863 TextEndBattle
-	dw UnnamedText_60863 ; 0x4863 TextEndBattle
-; 0x60827
-
-TrainerHeader_60827: ; 0x60827
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d766 ; flag's byte
-	dw UnnamedText_6086d ; 0x486d TextBeforeBattle
-	dw UnnamedText_60877 ; 0x4877 TextAfterBattle
-	dw UnnamedText_60872 ; 0x4872 TextEndBattle
-	dw UnnamedText_60872 ; 0x4872 TextEndBattle
-; 0x60833
-
-TrainerHeader_60833: ; 0x60833
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d766 ; flag's byte
-	dw UnnamedText_6087c ; 0x487c TextBeforeBattle
-	dw UnnamedText_60886 ; 0x4886 TextAfterBattle
-	dw UnnamedText_60881 ; 0x4881 TextEndBattle
-	dw UnnamedText_60881 ; 0x4881 TextEndBattle
-; 0x6083f
-
-db $ff
-
-PokemonTower4Text1: ; 0x60840
-	db $08 ; asm
-	ld hl, PokemonTower4TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower4Text2: ; 0x6084a
-	db $08 ; asm
-	ld hl, TrainerHeader_60827
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower4Text3: ; 0x60854
-	db $08 ; asm
-	ld hl, TrainerHeader_60833
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_6085e: ; 0x6085e
-	TX_FAR _UnnamedText_6085e
-	db $50
-; 0x6085e + 5 bytes
-
-UnnamedText_60863: ; 0x60863
-	TX_FAR _UnnamedText_60863
-	db $50
-; 0x60863 + 5 bytes
-
-UnnamedText_60868: ; 0x60868
-	TX_FAR _UnnamedText_60868
-	db $50
-; 0x60868 + 5 bytes
-
-UnnamedText_6086d: ; 0x6086d
-	TX_FAR _UnnamedText_6086d
-	db $50
-; 0x6086d + 5 bytes
-
-UnnamedText_60872: ; 0x60872
-	TX_FAR _UnnamedText_60872
-	db $50
-; 0x60872 + 5 bytes
-
-UnnamedText_60877: ; 0x60877
-	TX_FAR _UnnamedText_60877
-	db $50
-; 0x60877 + 5 bytes
-
-UnnamedText_6087c: ; 0x6087c
-	TX_FAR _UnnamedText_6087c
-	db $50
-; 0x6087c + 5 bytes
-
-UnnamedText_60881: ; 0x60881
-	TX_FAR _UnnamedText_60881
-	db $50
-; 0x60881 + 5 bytes
-
-UnnamedText_60886: ; 0x60886
-	TX_FAR _UnnamedText_60886
-	db $50
-; 0x60886 + 5 bytes
-
-PokemonTower4Object: ; 0x6088b (size=65)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $9, $3, $0, POKEMONTOWER_5
-	db $9, $12, $1, POKEMONTOWER_3
-
-	db $0 ; signs
-
-	db $6 ; people
-	db SPRITE_MEDIUM, $a + 4, $5 + 4, $ff, $d3, $41, CHANNELER + $C8, $9 ; trainer
-	db SPRITE_MEDIUM, $7 + 4, $f + 4, $ff, $d0, $42, CHANNELER + $C8, $a ; trainer
-	db SPRITE_MEDIUM, $c + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $c ; trainer
-	db SPRITE_BALL, $a + 4, $c + 4, $ff, $ff, $84, ELIXER ; item
-	db SPRITE_BALL, $a + 4, $9 + 4, $ff, $ff, $85, AWAKENING ; item
-	db SPRITE_BALL, $10 + 4, $c + 4, $ff, $ff, $86, HP_UP ; item
-
-	; warp-to
-	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_5
-	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_3
-
-PokemonTower4Blocks: ; 0x608cc 90
-	INCBIN "maps/pokemontower4.blk"
-
-PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146)
-	db $0f ; tileset
-	db POKEMONTOWER_5_HEIGHT, POKEMONTOWER_5_WIDTH ; dimensions (y, x)
-	dw PokemonTower5Blocks, PokemonTower5Texts, PokemonTower5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower5Object ; objects
-
-PokemonTower5Script: ; 0x60932
-	call $3c3c
-	ld hl, PokemonTower5TrainerHeaders
-	ld de, PokemonTower5Script_Unknown60945
-	ld a, [$d62e]
-	call $3160
-	ld [$d62e], a
-	ret
-; 0x60945
-
-PokemonTower5Script_Unknown60945: ; 0x60945
-INCBIN "baserom.gbc",$60945,$56
-
-PokemonTower5Texts: ; 0x6099b
-	dw PokemonTower5Text1, PokemonTower5Text2, PokemonTower5Text3, PokemonTower5Text4, PokemonTower5Text5, PokemonTower5Text6, PokemonTower5Text7
-
-PokemonTower5TrainerHeaders:
-PokemonTower5TrainerHeader1: ; 0x609a9
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d767 ; flag's byte
-	dw UnnamedText_609e9 ; 0x49e9 TextBeforeBattle
-	dw UnnamedText_609f3 ; 0x49f3 TextAfterBattle
-	dw UnnamedText_609ee ; 0x49ee TextEndBattle
-	dw UnnamedText_609ee ; 0x49ee TextEndBattle
-; 0x609b5
-
-TrainerHeader_609b5: ; 0x609b5
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d767 ; flag's byte
-	dw UnnamedText_60a02 ; 0x4a02 TextBeforeBattle
-	dw UnnamedText_60a0c ; 0x4a0c TextAfterBattle
-	dw UnnamedText_60a07 ; 0x4a07 TextEndBattle
-	dw UnnamedText_60a07 ; 0x4a07 TextEndBattle
-; 0x609c1
-
-TrainerHeader_609c1: ; 0x609c1
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d767 ; flag's byte
-	dw UnnamedText_60a1b ; 0x4a1b TextBeforeBattle
-	dw UnnamedText_60a25 ; 0x4a25 TextAfterBattle
-	dw UnnamedText_60a20 ; 0x4a20 TextEndBattle
-	dw UnnamedText_60a20 ; 0x4a20 TextEndBattle
-; 0x609cd
-
-TrainerHeader_609cd: ; 0x609cd
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d767 ; flag's byte
-	dw UnnamedText_60a34 ; 0x4a34 TextBeforeBattle
-	dw UnnamedText_60a3e ; 0x4a3e TextAfterBattle
-	dw UnnamedText_60a39 ; 0x4a39 TextEndBattle
-	dw UnnamedText_60a39 ; 0x4a39 TextEndBattle
-; 0x609d9
-
-db $ff
-
-PokemonTower5Text1: ; 0x609da
-	TX_FAR _PokemonTower5Text1
-	db $50
-
-PokemonTower5Text2: ; 0x609df
-	db $08 ; asm
-	ld hl, PokemonTower5TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_609e9: ; 0x609e9
-	TX_FAR _UnnamedText_609e9
-	db $50
-; 0x609e9 + 5 bytes
-
-UnnamedText_609ee: ; 0x609ee
-	TX_FAR _UnnamedText_609ee
-	db $50
-; 0x609ee + 5 bytes
-
-UnnamedText_609f3: ; 0x609f3
-	TX_FAR _UnnamedText_609f3
-	db $50
-; 0x609f3 + 5 bytes
-
-PokemonTower5Text3: ; 0x609f8
-	db $08 ; asm
-	ld hl, TrainerHeader_609b5
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_60a02: ; 0x60a02
-	TX_FAR _UnnamedText_60a02
-	db $50
-; 0x60a02 + 5 bytes
-
-UnnamedText_60a07: ; 0x60a07
-	TX_FAR _UnnamedText_60a07
-	db $50
-; 0x60a07 + 5 bytes
-
-UnnamedText_60a0c: ; 0x60a0c
-	TX_FAR _UnnamedText_60a0c
-	db $50
-; 0x60a0c + 5 bytes
-
-PokemonTower5Text4: ; 0x60a11
-	db $08 ; asm
-	ld hl, TrainerHeader_609c1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_60a1b: ; 0x60a1b
-	TX_FAR _UnnamedText_60a1b
-	db $50
-; 0x60a1b + 5 bytes
-
-UnnamedText_60a20: ; 0x60a20
-	TX_FAR _UnnamedText_60a20
-	db $50
-; 0x60a20 + 5 bytes
-
-UnnamedText_60a25: ; 0x60a25
-	TX_FAR _UnnamedText_60a25
-	db $50
-; 0x60a25 + 5 bytes
-
-PokemonTower5Text5: ; 0x60a2a
-	db $08 ; asm
-	ld hl, $49cd
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_60a34: ; 0x60a34
-	TX_FAR _UnnamedText_60a34
-	db $50
-; 0x60a34 + 5 bytes
-
-UnnamedText_60a39: ; 0x60a39
-	TX_FAR _UnnamedText_60a39
-	db $50
-; 0x60a39 + 5 bytes
-
-UnnamedText_60a3e: ; 0x60a3e
-	TX_FAR _UnnamedText_60a3e
-	db $50
-; 0x60a3e + 5 bytes
-
-PokemonTower5Text7: ; 0x60a43
-	TX_FAR _UnnamedText_60a43
-	db $50
-; 0x60a43 + 5 bytes
-
-PokemonTower5Object: ; 0x60a48 (size=65)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $9, $3, $0, POKEMONTOWER_4
-	db $9, $12, $0, POKEMONTOWER_6
-
-	db $0 ; signs
-
-	db $6 ; people
-	db SPRITE_MEDIUM, $8 + 4, $c + 4, $ff, $ff, $1 ; person
-	db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $42, CHANNELER + $C8, $e ; trainer
-	db SPRITE_MEDIUM, $3 + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $10 ; trainer
-	db SPRITE_MEDIUM, $a + 4, $6 + 4, $ff, $d3, $44, CHANNELER + $C8, $11 ; trainer
-	db SPRITE_MEDIUM, $10 + 4, $9 + 4, $ff, $d3, $45, CHANNELER + $C8, $12 ; trainer
-	db SPRITE_BALL, $e + 4, $6 + 4, $ff, $ff, $86, NUGGET ; item
-
-	; warp-to
-	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_4
-	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_6
-
-PokemonTower5Blocks: ; 0x60a89 90
-	INCBIN "maps/pokemontower5.blk"
-
-PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147)
-	db $0f ; tileset
-	db POKEMONTOWER_6_HEIGHT, POKEMONTOWER_6_WIDTH ; dimensions (y, x)
-	dw PokemonTower6Blocks, PokemonTower6Texts, PokemonTower6Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower6Object ; objects
-
-PokemonTower6Script: ; 0x60aef
-	call $3c3c
-	ld hl, PokemonTower6TrainerHeaders
-	ld de, $4b0d
-	ld a, [$d62f]
-	call $3160
-	ld [$d62f], a
-	ret
-; 0x60b02
-
-INCBIN "baserom.gbc",$60b02,$af
-
-PokemonTower6Texts: ; 0x60bb1
-	dw PokemonTower6Text1, PokemonTower6Text2, PokemonTower6Text3, PokemonTower6Text4, PokemonTower6Text5, PokemonTower6Text6, PokemonTower6Text7
-
-PokemonTower6TrainerHeaders:
-PokemonTower6TrainerHeader1: ; 0x60bbf
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d768 ; flag's byte
-	dw UnnamedText_60c29 ; 0x4c29 TextBeforeBattle
-	dw UnnamedText_60c33 ; 0x4c33 TextAfterBattle
-	dw UnnamedText_60c2e ; 0x4c2e TextEndBattle
-	dw UnnamedText_60c2e ; 0x4c2e TextEndBattle
-; 0x60bcb
-
-TrainerHeader_60bcb: ; 0x60bcb
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d768 ; flag's byte
-	dw UnnamedText_60c38 ; 0x4c38 TextBeforeBattle
-	dw UnnamedText_60c42 ; 0x4c42 TextAfterBattle
-	dw UnnamedText_60c3d ; 0x4c3d TextEndBattle
-	dw UnnamedText_60c3d ; 0x4c3d TextEndBattle
-; 0x60bd7
-
-TrainerHeader_60bd7: ; 0x60bd7
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d768 ; flag's byte
-	dw UnnamedText_60c47 ; 0x4c47 TextBeforeBattle
-	dw UnnamedText_60c51 ; 0x4c51 TextAfterBattle
-	dw UnnamedText_60c4c ; 0x4c4c TextEndBattle
-	dw UnnamedText_60c4c ; 0x4c4c TextEndBattle
-; 0x60be3
-
-db $ff
-
-PokemonTower6Text1: ; 0x60be4
-	db $08 ; asm
-	ld hl, PokemonTower6TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower6Text2: ; 0x60bee
-	db $08 ; asm
-	ld hl, TrainerHeader_60bcb
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower6Text3: ; 0x60bf8
-	db $08 ; asm
-	ld hl, TrainerHeader_60bd7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower6Text7: ; 0x60c02
-	db $8
-	ld hl, UnnamedText_60c1f
-	call PrintText
-	ld a, $91
-	call $13d0
-	call $3748
-	ld c, $1e
-	call DelayFrames
-	ld hl, UnnamedText_60c24
-	call PrintText
-	jp TextScriptEnd
-; 0x60c1f
-
-UnnamedText_60c1f: ; 0x60c1f
-	TX_FAR _UnnamedText_60c1f
-	db $50
-; 0x60c1f + 5 bytes
-
-UnnamedText_60c24: ; 0x60c24
-	TX_FAR _UnnamedText_60c24
-	db $50
-; 0x60c24 + 5 bytes
-
-UnnamedText_60c29: ; 0x60c29
-	TX_FAR _UnnamedText_60c29
-	db $50
-; 0x60c29 + 5 bytes
-
-UnnamedText_60c2e: ; 0x60c2e
-	TX_FAR _UnnamedText_60c2e
-	db $50
-; 0x60c2e + 5 bytes
-
-UnnamedText_60c33: ; 0x60c33
-	TX_FAR _UnnamedText_60c33
-	db $50
-; 0x60c33 + 5 bytes
-
-UnnamedText_60c38: ; 0x60c38
-	TX_FAR _UnnamedText_60c38
-	db $50
-; 0x60c38 + 5 bytes
-
-UnnamedText_60c3d: ; 0x60c3d
-	TX_FAR _UnnamedText_60c3d
-	db $50
-; 0x60c3d + 5 bytes
-
-UnnamedText_60c42: ; 0x60c42
-	TX_FAR _UnnamedText_60c42
-	db $50
-; 0x60c42 + 5 bytes
-
-UnnamedText_60c47: ; 0x60c47
-	TX_FAR _UnnamedText_60c47
-	db $50
-; 0x60c47 + 5 bytes
-
-UnnamedText_60c4c: ; 0x60c4c
-	TX_FAR _UnnamedText_60c4c
-	db $50
-; 0x60c4c + 5 bytes
-
-UnnamedText_60c51: ; 0x60c51
-	TX_FAR _UnnamedText_60c51
-	db $50
-; 0x60c51 + 5 bytes
-
-PokemonTower6Text6: ; 0x60c56
-	TX_FAR _UnnamedText_60c56
-	db $50
-; 0x60c56 + 5 bytes
-
-PokemonTower6Object: ; 0x60c5b (size=58)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $9, $12, $1, POKEMONTOWER_5
-	db $10, $9, $0, POKEMONTOWER_7
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_MEDIUM, $a + 4, $c + 4, $ff, $d3, $41, CHANNELER + $C8, $13 ; trainer
-	db SPRITE_MEDIUM, $5 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $14 ; trainer
-	db SPRITE_MEDIUM, $5 + 4, $10 + 4, $ff, $d2, $43, CHANNELER + $C8, $15 ; trainer
-	db SPRITE_BALL, $8 + 4, $6 + 4, $ff, $ff, $84, RARE_CANDY ; item
-	db SPRITE_BALL, $e + 4, $e + 4, $ff, $ff, $85, X_ACCURACY ; item
-
-	; warp-to
-	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_5
-	EVENT_DISP $a, $10, $9 ; POKEMONTOWER_7
-
-PokemonTower6Blocks: ; 0x60c95 90
-	INCBIN "maps/pokemontower6.blk"
-
-INCBIN "baserom.gbc",$60cef,$a
-
-PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148)
-	db $0f ; tileset
-	db POKEMONTOWER_7_HEIGHT, POKEMONTOWER_7_WIDTH ; dimensions (y, x)
-	dw PokemonTower7Blocks, PokemonTower7Texts, PokemonTower7Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PokemonTower7Object ; objects
-
-PokemonTower7Script: ; 0x60d05
-	call $3c3c
-	ld hl, PokemonTower7TrainerHeaders
-	ld de, $4d23
-	ld a, [$d630]
-	call $3160
-	ld [$d630], a
-	ret
-; 0x60d18
-
-INCBIN "baserom.gbc",$60d18,$127
-
-PokemonTower7Texts: ; 0x60e3f
-	dw PokemonTower7Text1, PokemonTower7Text2, PokemonTower7Text3, PokemonTower7Text4
-
-PokemonTower7TrainerHeaders:
-PokemonTower7TrainerHeader1: ; 0x60e47
-	db $1 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d769 ; flag's byte
-	dw UnnamedText_60ec9 ; 0x4ec9 TextBeforeBattle
-	dw UnnamedText_60ed3 ; 0x4ed3 TextAfterBattle
-	dw UnnamedText_60ece ; 0x4ece TextEndBattle
-	dw UnnamedText_60ece ; 0x4ece TextEndBattle
-; 0x60e53
-
-TrainerHeader_60e53: ; 0x60e53
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d769 ; flag's byte
-	dw UnnamedText_60ed8 ; 0x4ed8 TextBeforeBattle
-	dw UnnamedText_60ee2 ; 0x4ee2 TextAfterBattle
-	dw UnnamedText_60edd ; 0x4edd TextEndBattle
-	dw UnnamedText_60edd ; 0x4edd TextEndBattle
-; 0x60e5f
-
-TrainerHeader_60e5f: ; 0x60e5f
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d769 ; flag's byte
-	dw UnnamedText_60ee7 ; 0x4ee7 TextBeforeBattle
-	dw UnnamedText_60ef1 ; 0x4ef1 TextAfterBattle
-	dw UnnamedText_60eec ; 0x4eec TextEndBattle
-	dw UnnamedText_60eec ; 0x4eec TextEndBattle
-; 0x60e6b
-
-db $ff
-
-PokemonTower7Text1: ; 0x60e6c
-	db $08 ; asm
-	ld hl, PokemonTower7TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower7Text2: ; 0x60e76
-	db $08 ; asm
-	ld hl, TrainerHeader_60e53
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower7Text3: ; 0x60e80
-	db $08 ; asm
-	ld hl, TrainerHeader_60e5f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-PokemonTower7Text4: ; 0x60e8a
-	db $08 ; asm
-	ld hl, UnnamedText_60ec4
-	call PrintText
-	ld hl, $d7e0
-	set 7, [hl]
-	ld hl, $d769
-	set 7, [hl]
-	ld a, $44
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld a, $17
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	ld a, $18
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	ld a, $4
-	ld [$d630], a
-	ld [$da39], a
-	jp TextScriptEnd
-
-UnnamedText_60ec4: ; 0x60ec4
-	TX_FAR _UnnamedText_60ec4
-	db $50
-; 0x60ec4 + 5 bytes
-
-UnnamedText_60ec9: ; 0x60ec9
-	TX_FAR _UnnamedText_60ec9
-	db $50
-; 0x60ec9 + 5 bytes
-
-UnnamedText_60ece: ; 0x60ece
-	TX_FAR _UnnamedText_60ece
-	db $50
-; 0x60ece + 5 bytes
-
-UnnamedText_60ed3: ; 0x60ed3
-	TX_FAR _UnnamedText_60ed3
-	db $50
-; 0x60ed3 + 5 bytes
-
-UnnamedText_60ed8: ; 0x60ed8
-	TX_FAR _UnnamedText_60ed8
-	db $50
-; 0x60ed8 + 5 bytes
-
-UnnamedText_60edd: ; 0x60edd
-	TX_FAR _UnnamedText_60edd
-	db $50
-; 0x60edd + 5 bytes
-
-UnnamedText_60ee2: ; 0x60ee2
-	TX_FAR _UnnamedText_60ee2
-	db $50
-; 0x60ee2 + 5 bytes
-
-UnnamedText_60ee7: ; 0x60ee7
-	TX_FAR _UnnamedText_60ee7
-	db $50
-; 0x60ee7 + 5 bytes
-
-UnnamedText_60eec: ; 0x60eec
-	TX_FAR _UnnamedText_60eec
-	db $50
-; 0x60eec + 5 bytes
-
-UnnamedText_60ef1: ; 0x60ef1
-	TX_FAR _UnnamedText_60ef1
-	db $50
-; 0x60ef1 + 5 bytes
-
-PokemonTower7Object: ; 0x60ef6 (size=42)
-	db $1 ; border tile
-
-	db $1 ; warps
-	db $10, $9, $1, POKEMONTOWER_6
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_ROCKET, $b + 4, $9 + 4, $ff, $d3, $41, ROCKET + $C8, $13 ; trainer
-	db SPRITE_ROCKET, $9 + 4, $c + 4, $ff, $d2, $42, ROCKET + $C8, $14 ; trainer
-	db SPRITE_ROCKET, $7 + 4, $9 + 4, $ff, $d3, $43, ROCKET + $C8, $15 ; trainer
-	db SPRITE_MR_FUJI, $3 + 4, $a + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $a, $10, $9 ; POKEMONTOWER_6
-
-PokemonTower7Blocks: ; 0x60f20 90
-	INCBIN "maps/pokemontower7.blk"
-
-CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122)
-	db $12 ; tileset
-	db CELADON_MART_1_HEIGHT, CELADON_MART_1_WIDTH ; dimensions (y, x)
-	dw CeladonMart1Blocks, CeladonMart1Texts, CeladonMart1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeladonMart1Object ; objects
-
-CeladonMart1Script: ; 0x60f86
-	jp $3c3c
-; 0x60f89
-
-CeladonMart1Texts: ; 0x60f89
-	dw CeladonMart1Text1, CeladonMart1Text2, CeladonMart1Text3
-
-CeladonMart1Text1: ; 0x60f8f
-	TX_FAR _CeladonMart1Text1
-	db $50
-
-CeladonMart1Text2: ; 0x60f94
-	TX_FAR _CeladonMart1Text2
-	db $50
-
-CeladonMart1Text3: ; 0x60f99
-	TX_FAR _CeladonMart1Text3
-	db $50
-
-CeladonMart1Object: ; 0x60f9e (size=64)
-	db $f ; border tile
-
-	db $6 ; warps
-	db $7, $2, $0, $ff
-	db $7, $3, $0, $ff
-	db $7, $10, $1, $ff
-	db $7, $11, $1, $ff
-	db $1, $c, $0, CELADON_MART_2
-	db $1, $1, $0, CELADON_MART_ELEVATOR
-
-	db $2 ; signs
-	db $4, $b, $2 ; CeladonMart1Text2
-	db $1, $e, $3 ; CeladonMart1Text3
-
-	db $1 ; people
-	db SPRITE_CABLE_CLUB_WOMAN, $3 + 4, $8 + 4, $ff, $d0, $1 ; person
-
-	; warp-to
-	EVENT_DISP $a, $7, $2
-	EVENT_DISP $a, $7, $3
-	EVENT_DISP $a, $7, $10
-	EVENT_DISP $a, $7, $11
-	EVENT_DISP $a, $1, $c ; CELADON_MART_2
-	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
-
-CeladonMart1Blocks: ; 0x60fde 40
-	INCBIN "maps/celadonmart1.blk"
-
-INCBIN "baserom.gbc",$61006,$610ae - $61006
-
-UnnamedText_610ae: ; 0x610ae
-	TX_FAR _UnnamedText_610ae
-	db $50
-; 0x610ae + 5 bytes
-
-UnnamedText_610b3: ; 0x610b3
-	TX_FAR _UnnamedText_610b3
-	db $50
-; 0x610b3 + 5 bytes
-
-UnnamedText_610b8: ; 0x610b8
-	TX_FAR _UnnamedText_610b8
-	db $50
-; 0x610b8 + 5 bytes
-
-UnnamedText_610bd: ; 0x610bd
-	TX_FAR _UnnamedText_610bd
-	db $50
-; 0x610bd + 5 bytes
-
-INCBIN "baserom.gbc",$610c2,$3f
-
-ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51)
-	db $03 ; tileset
-	db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x)
-	dw ViridianForestBlocks, ViridianForestTexts, ViridianForestScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianForestObject ; objects
-
-ViridianForestScript: ; 0x6110d
-	call $3c3c
-	ld hl, ViridianForestTrainerHeaders
-	ld de, ViridianForestScript_Unknown61120
-	ld a, [$d618]
-	call $3160
-	ld [$d618], a
-	ret
-; 0x61120
-
-ViridianForestScript_Unknown61120: ; 0x61120
-INCBIN "baserom.gbc",$61120,$6
-
-ViridianForestTexts: ; 0x61126
-	dw ViridianForestText1, ViridianForestText2, ViridianForestText3, ViridianForestText4, ViridianForestText5, ViridianForestText6, ViridianForestText7, ViridianForestText8, ViridianForestText9, ViridianForestText10, ViridianForestText11, ViridianForestText12, ViridianForestText13, ViridianForestText14
-
-ViridianForestTrainerHeaders:
-ViridianForestTrainerHeader1: ; 0x61142
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f3 ; flag's byte
-	dw UnnamedText_6118a ; 0x518a TextBeforeBattle
-	dw UnnamedText_61194 ; 0x5194 TextAfterBattle
-	dw UnnamedText_6118f ; 0x518f TextEndBattle
-	dw UnnamedText_6118f ; 0x518f TextEndBattle
-; 0x6114e
-
-TrainerHeader_6114e: ; 0x6114e
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d7f3 ; flag's byte
-	dw UnnamedText_61199 ; 0x5199 TextBeforeBattle
-	dw UnnamedText_611a3 ; 0x51a3 TextAfterBattle
-	dw UnnamedText_6119e ; 0x519e TextEndBattle
-	dw UnnamedText_6119e ; 0x519e TextEndBattle
-; 0x6115a
-
-TrainerHeader_6115a: ; 0x6115a
-	db $4 ; flag's bit
-	db ($1 << 4) ; trainer's view range
-	dw $d7f3 ; flag's byte
-	dw UnnamedText_611a8 ; 0x51a8 TextBeforeBattle
-	dw UnnamedText_611b2 ; 0x51b2 TextAfterBattle
-	dw UnnamedText_611ad ; 0x51ad TextEndBattle
-	dw UnnamedText_611ad ; 0x51ad TextEndBattle
-; 0x61166
-
-db $ff
-
-ViridianForestText1: ; 0x61167
-	TX_FAR _ViridianForestText1
-	db $50
-
-ViridianForestText2: ; 0x6116c
-	db $08 ; asm
-	ld hl, ViridianForestTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-ViridianForestText3: ; 0x61176
-	db $08 ; asm
-	ld hl, TrainerHeader_6114e
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-ViridianForestText4: ; 0x61180
-	db $08 ; asm
-	ld hl, TrainerHeader_6115a
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_6118a: ; 0x6118a
-	TX_FAR _UnnamedText_6118a
-	db $50
-; 0x6118a + 5 bytes
-
-UnnamedText_6118f: ; 0x6118f
-	TX_FAR _UnnamedText_6118f
-	db $50
-; 0x6118f + 5 bytes
-
-UnnamedText_61194: ; 0x61194
-	TX_FAR _UnnamedText_61194
-	db $50
-; 0x61194 + 5 bytes
-
-UnnamedText_61199: ; 0x61199
-	TX_FAR _UnnamedText_61199
-	db $50
-; 0x61199 + 5 bytes
-
-UnnamedText_6119e: ; 0x6119e
-	TX_FAR _UnnamedText_6119e
-	db $50
-; 0x6119e + 5 bytes
-
-UnnamedText_611a3: ; 0x611a3
-	TX_FAR _UnnamedText_611a3
-	db $50
-; 0x611a3 + 5 bytes
-
-UnnamedText_611a8: ; 0x611a8
-	TX_FAR _UnnamedText_611a8
-	db $50
-; 0x611a8 + 5 bytes
-
-UnnamedText_611ad: ; 0x611ad
-	TX_FAR _UnnamedText_611ad
-	db $50
-; 0x611ad + 5 bytes
-
-UnnamedText_611b2: ; 0x611b2
-	TX_FAR _UnnamedText_611b2
-	db $50
-; 0x611b2 + 5 bytes
-
-ViridianForestText8: ; 0x611b7
-	TX_FAR _ViridianForestText8
-	db $50
-
-ViridianForestText9: ; 0x611bc
-	TX_FAR _ViridianForestText9
-	db $50
-
-ViridianForestText10: ; 0x611c1
-	TX_FAR _ViridianForestText10
-	db $50
-
-ViridianForestText11: ; 0x611c6
-	TX_FAR _ViridianForestText11
-	db $50
-
-ViridianForestText12: ; 0x611cb
-	TX_FAR _ViridianForestText12
-	db $50
-
-ViridianForestText13: ; 0x611d0
-	TX_FAR _ViridianForestText13
-	db $50
-
-ViridianForestText14: ; 0x611d5
-	TX_FAR _ViridianForestText14
-	db $50
-
-ViridianForestObject: ; 0x611da (size=127)
-	db $3 ; border tile
-
-	db $6 ; warps
-	db $0, $1, $2, VIRIDIAN_FOREST_EXIT
-	db $0, $2, $3, VIRIDIAN_FOREST_EXIT
-	db $2f, $f, $1, VIRIDIAN_FOREST_ENTRANCE
-	db $2f, $10, $1, VIRIDIAN_FOREST_ENTRANCE
-	db $2f, $11, $1, VIRIDIAN_FOREST_ENTRANCE
-	db $2f, $12, $1, VIRIDIAN_FOREST_ENTRANCE
-
-	db $6 ; signs
-	db $28, $18, $9 ; ViridianForestText9
-	db $20, $10, $a ; ViridianForestText10
-	db $11, $1a, $b ; ViridianForestText11
-	db $18, $4, $c ; ViridianForestText12
-	db $2d, $12, $d ; ViridianForestText13
-	db $1, $2, $e ; ViridianForestText14
-
-	db $8 ; people
-	db SPRITE_BUG_CATCHER, $2b + 4, $10 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BUG_CATCHER, $21 + 4, $1e + 4, $ff, $d2, $42, BUG_CATCHER + $C8, $1 ; trainer
-	db SPRITE_BUG_CATCHER, $13 + 4, $1e + 4, $ff, $d2, $43, BUG_CATCHER + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $12 + 4, $2 + 4, $ff, $d2, $44, BUG_CATCHER + $C8, $3 ; trainer
-	db SPRITE_BALL, $b + 4, $19 + 4, $ff, $ff, $85, ANTIDOTE ; item
-	db SPRITE_BALL, $1d + 4, $c + 4, $ff, $ff, $86, POTION ; item
-	db SPRITE_BALL, $1f + 4, $1 + 4, $ff, $ff, $87, POKE_BALL ; item
-	db SPRITE_BUG_CATCHER, $28 + 4, $1b + 4, $ff, $ff, $8 ; person
-
-	; warp-to
-	EVENT_DISP $11, $0, $1 ; VIRIDIAN_FOREST_EXIT
-	EVENT_DISP $11, $0, $2 ; VIRIDIAN_FOREST_EXIT
-	EVENT_DISP $11, $2f, $f ; VIRIDIAN_FOREST_ENTRANCE
-	EVENT_DISP $11, $2f, $10 ; VIRIDIAN_FOREST_ENTRANCE
-	EVENT_DISP $11, $2f, $11 ; VIRIDIAN_FOREST_ENTRANCE
-	EVENT_DISP $11, $2f, $12 ; VIRIDIAN_FOREST_ENTRANCE
-
-SSAnne1_h: ; 0x61259 to 0x61265 (12 bytes) (id=95)
-	db $0d ; tileset
-	db SS_ANNE_1_HEIGHT, SS_ANNE_1_WIDTH ; dimensions (y, x)
-	dw SSAnne1Blocks, SSAnne1Texts, SSAnne1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne1Object ; objects
-
-SSAnne1Script: ; 0x61265
-	call $3c3c
-	ret
-; 0x61269
-
-SSAnne1Texts: ; 0x61269
-	dw SSAnne1Text1, SSAnne1Text2
-
-SSAnne1Text1: ; 0x6126d
-	TX_FAR _SSAnne1Text1
-	db $50
-
-SSAnne1Text2: ; 0x61272
-	TX_FAR _SSAnne1Text2
-	db $50
-
-SSAnne1Object: ; 0x61277 (size=104)
-	db $c ; border tile
-
-	db $b ; warps
-	db $0, $1a, $1, VERMILION_DOCK
-	db $0, $1b, $1, VERMILION_DOCK
-	db $8, $1f, $0, SS_ANNE_8
-	db $8, $17, $1, SS_ANNE_8
-	db $8, $13, $2, SS_ANNE_8
-	db $8, $f, $3, SS_ANNE_8
-	db $8, $b, $4, SS_ANNE_8
-	db $8, $7, $5, SS_ANNE_8
-	db $6, $2, $6, SS_ANNE_2
-	db $f, $25, $5, SS_ANNE_4
-	db $10, $3, $0, SS_ANNE_6
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_WAITER, $6 + 4, $c + 4, $fe, $2, $1 ; person
-	db SPRITE_SAILOR, $5 + 4, $1b + 4, $ff, $ff, $2 ; person
-
-	; warp-to
-	EVENT_DISP $14, $0, $1a ; VERMILION_DOCK
-	EVENT_DISP $14, $0, $1b ; VERMILION_DOCK
-	EVENT_DISP $14, $8, $1f ; SS_ANNE_8
-	EVENT_DISP $14, $8, $17 ; SS_ANNE_8
-	EVENT_DISP $14, $8, $13 ; SS_ANNE_8
-	EVENT_DISP $14, $8, $f ; SS_ANNE_8
-	EVENT_DISP $14, $8, $b ; SS_ANNE_8
-	EVENT_DISP $14, $8, $7 ; SS_ANNE_8
-	EVENT_DISP $14, $6, $2 ; SS_ANNE_2
-	EVENT_DISP $14, $f, $25 ; SS_ANNE_4
-	EVENT_DISP $14, $10, $3 ; SS_ANNE_6
-
-SSAnne1Blocks: ; 0x612df 180
-	INCBIN "maps/ssanne1.blk"
-
-SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96)
-	db $0d ; tileset
-	db SS_ANNE_2_HEIGHT, SS_ANNE_2_WIDTH ; dimensions (y, x)
-	dw SSAnne2Blocks, SSAnne2Texts, SSAnne2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne2Object ; objects
-
-SSAnne2Script: ; 0x6139f
-	call $3c3c
-	ld hl, SSAnne2Scripts
-	ld a, [$d665]
-	jp $3d97
-; 0x613ab
-
-INCBIN "baserom.gbc",$613ab,$613b3 - $613ab
-
-SSAnne2Scripts: ; 0x613b3
-	dw SSAnne2Script0, SSAnne2Script1, SSAnne2Script2, SSAnne2Script3, SSAnne2Script4
-
-SSAnne2Script4: ; 0x613bd
-	ret
-; 0x613be
-
-SSAnne2Script0: ; 0x613be
-	ld hl, $5411
-	call $34bf
-	ret nc
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld c, $2
-	ld a, $de
-	call $23a1
-	ld a, [$cd3d]
-	ld [$ff00+$db], a
-	ld a, $71
-	ld [$cc4d], a
-	ld a, $15
-	call Predef
-	call Delay3
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $3541
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, [$ff00+$db]
-	cp $2
-	jr nz, .asm_61400 ; 0x613f9 $5
-	ld de, $540c
-	jr .asm_61403 ; 0x613fe $3
-.asm_61400
-	ld de, $540d
-.asm_61403
-	call $363a
-	ld a, $1
-	ld [$d665], a
-	ret
-; 0x6140c
-
-INCBIN "baserom.gbc",$6140c,$61430 - $6140c
-
-SSAnne2Script1: ; 0x61430
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	call $5416
-	xor a
-	ld [$cd6b], a
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $2920
-	call Delay3
-	ld a, $f2
-	ld [$d059], a
-
-	; select which team to use during the encounter
-	ld a, [W_RIVALSTARTER]
-	cp SQUIRTLE
-	jr nz, .NotSquirtle\@ ; 0x61451 $4
-	ld a, $1
-	jr .done\@
-.NotSquirtle\@
-	cp BULBASAUR
-	jr nz, .Charmander\@ ; 0x61459 $4
-	ld a, $2
-	jr .done\@
-.Charmander\@
-	ld a, $3
-.done\@
-	ld [W_TRAINERNO], a
-
-	call $5416
-	ld a, $2
-	ld [$d665], a
-	ret
-; 0x6146d
-
-SSAnne2Script2: ; 0x6146d
-	ld a, [$d057]
-	cp $ff
-	jp z, $53ab
-	call $5416
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, $3
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $3541
-	ld a, [$d362]
-	cp $25
-	jr nz, .asm_61497 ; 0x61490 $5
-	ld de, $54b9
-	jr .asm_6149a ; 0x61495 $3
-.asm_61497
-	ld de, $54b7
-.asm_6149a
-	ld a, $2
-	ld [$ff00+$8c], a
-	call $363a
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld b, $2
-	ld hl, $5b47
-	call Bankswitch
-	ld a, $3
-	ld [$d665], a
-	ret
-; 0x614b7
-
-INCBIN "baserom.gbc",$614b7,$614be - $614b7
-
-SSAnne2Script3: ; 0x614be
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, $71
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	call $2307
-	ld a, $4
-	ld [$d665], a
-	ret
-; 0x614db
-
-SSAnne2Texts: ; 0x614db
-	dw SSAnne2Text1, SSAnne2Text2, SSAnne2Text3
-
-SSAnne2Text1: ; 0x614e1
-	TX_FAR _SSAnne2Text1
-	db $50
-
-SSAnne2Text2: ; 0x614e6
-	db $8
-	ld hl, UnnamedText_61500
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $5505
-	ld de, $550a
-	call $3354
-	jp TextScriptEnd
-; 0x61500
-
-UnnamedText_61500: ; 0x61500
-	TX_FAR _UnnamedText_61500
-	db $50
-; 0x61500 + 5 bytes
-
-UnnamedText_61505: ; 0x61505
-	TX_FAR _UnnamedText_61505
-	db $50
-; 0x61505 + 5 bytes
-
-UnnamedText_6150a: ; 0x6150a
-	TX_FAR _UnnamedText_6150a
-	db $50
-; 0x6150a + 5 bytes
-
-SSAnne2Text3: ; 0x6150f
-	TX_FAR _UnnamedText_6150f
-	db $50
-; 0x6150f + 5 bytes
-
-SSAnne2Object: ; 0x61514 (size=90)
-	db $c ; border tile
-
-	db $9 ; warps
-	db $b, $9, $0, SS_ANNE_9
-	db $b, $d, $2, SS_ANNE_9
-	db $b, $11, $4, SS_ANNE_9
-	db $b, $15, $6, SS_ANNE_9
-	db $b, $19, $8, SS_ANNE_9
-	db $b, $1d, $a, SS_ANNE_9
-	db $4, $2, $8, SS_ANNE_1
-	db $c, $2, $1, SS_ANNE_3
-	db $4, $24, $0, SS_ANNE_7
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_WAITER, $7 + 4, $3 + 4, $fe, $1, $1 ; person
-	db SPRITE_BLUE, $4 + 4, $24 + 4, $ff, $d0, $42, SONY1 + $C8, $1 ; trainer
-
-	; warp-to
-	EVENT_DISP $14, $b, $9 ; SS_ANNE_9
-	EVENT_DISP $14, $b, $d ; SS_ANNE_9
-	EVENT_DISP $14, $b, $11 ; SS_ANNE_9
-	EVENT_DISP $14, $b, $15 ; SS_ANNE_9
-	EVENT_DISP $14, $b, $19 ; SS_ANNE_9
-	EVENT_DISP $14, $b, $1d ; SS_ANNE_9
-	EVENT_DISP $14, $4, $2 ; SS_ANNE_1
-	EVENT_DISP $14, $c, $2 ; SS_ANNE_3
-	EVENT_DISP $14, $4, $24 ; SS_ANNE_7
-
-SSAnne2Blocks: ; 0x6156e 180
-	INCBIN "maps/ssanne2.blk"
-
-SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98)
-	db $0d ; tileset
-	db SS_ANNE_4_HEIGHT, SS_ANNE_4_WIDTH ; dimensions (y, x)
-	dw SSAnne4Blocks, SSAnne4Texts, SSAnne4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne4Object ; objects
-
-SSAnne4Script: ; 0x6162e
-	jp $3c3c
-; 0x61631
-
-SSAnne4Texts:
-
-INCBIN "baserom.gbc",$61631,$1
-
-SSAnne4Object: ; 0x61632 (size=52)
-	db $c ; border tile
-
-	db $6 ; warps
-	db $3, $17, $8, SS_ANNE_10
-	db $3, $13, $6, SS_ANNE_10
-	db $3, $f, $4, SS_ANNE_10
-	db $3, $b, $2, SS_ANNE_10
-	db $3, $7, $0, SS_ANNE_10
-	db $5, $1b, $9, SS_ANNE_1
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $f, $3, $17 ; SS_ANNE_10
-	EVENT_DISP $f, $3, $13 ; SS_ANNE_10
-	EVENT_DISP $f, $3, $f ; SS_ANNE_10
-	EVENT_DISP $f, $3, $b ; SS_ANNE_10
-	EVENT_DISP $f, $3, $7 ; SS_ANNE_10
-	EVENT_DISP $f, $5, $1b ; SS_ANNE_1
-
-SSAnne4Blocks: ; 0x61666 60
-	INCBIN "maps/ssanne4.blk"
-
-SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99)
-	db $0d ; tileset
-	db SS_ANNE_5_HEIGHT, SS_ANNE_5_WIDTH ; dimensions (y, x)
-	dw SSAnne5Blocks, SSAnne5Texts, SSAnne5Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne5Object ; objects
-
-SSAnne5Script: ; 0x616ae
-	call $3c3c
-	ld hl, $56d1
-	ld de, SSAnne5Script_Unknown616c1
-	ld a, [$d617]
-	call $3160
-	ld [$d617], a
-	ret
-; 0x616c1
-
-SSAnne5Script_Unknown616c1: ; 0x616c1
-INCBIN "baserom.gbc",$616c1,$6
-
-SSAnne5Texts: ; 0x616c7
-	dw SSAnne5Text1, SSAnne5Text2, SSAnne5Text3, SSAnne5Text4, SSAnne5Text5
-
-SSAnneTrainerHeaders:
-SSAnneTrainerHeader1: ; 0x616d1
-	db $4 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7ff ; flag's byte
-	dw UnnamedText_61703 ; 0x5703 TextBeforeBattle
-	dw UnnamedText_6170d ; 0x570d TextAfterBattle
-	dw UnnamedText_61708 ; 0x5708 TextEndBattle
-	dw UnnamedText_61708 ; 0x5708 TextEndBattle
-; 0x616dd
-
-TrainerHeader_616dd: ; 0x616dd
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d7ff ; flag's byte
-	dw UnnamedText_6171c ; 0x571c TextBeforeBattle
-	dw UnnamedText_61726 ; 0x5726 TextAfterBattle
-	dw UnnamedText_61721 ; 0x5721 TextEndBattle
-	dw UnnamedText_61721 ; 0x5721 TextEndBattle
-; 0x616e9
-
-db $ff
-
-SSAnne5Text1: ; 0x616ea
-	TX_FAR _SSAnne5Text1
-	db $50
-
-SSAnne5Text2: ; 0x616ef
-	TX_FAR _SSAnne5Text2
-	db $50
-
-SSAnne5Text3: ; 0x616f4
-	TX_FAR _SSAnne5Text3
-	db $50
-
-SSAnne5Text4: ; 0x616f9
-	db $08 ; asm
-	ld hl, SSAnneTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_61703: ; 0x61703
-	TX_FAR _UnnamedText_61703
-	db $50
-; 0x61703 + 5 bytes
-
-UnnamedText_61708: ; 0x61708
-	TX_FAR _UnnamedText_61708
-	db $50
-; 0x61708 + 5 bytes
-
-UnnamedText_6170d: ; 0x6170d
-	TX_FAR _UnnamedText_6170d
-	db $50
-; 0x6170d + 5 bytes
-
-SSAnne5Text5: ; 0x61712
-	db $08 ; asm
-	ld hl, TrainerHeader_616dd
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_6171c: ; 0x6171c
-	TX_FAR _UnnamedText_6171c
-	db $50
-; 0x6171c + 5 bytes
-
-UnnamedText_61721: ; 0x61721
-	TX_FAR _UnnamedText_61721
-	db $50
-; 0x61721 + 5 bytes
-
-UnnamedText_61726: ; 0x61726
-	TX_FAR _UnnamedText_61726
-	db $50
-; 0x61726 + 5 bytes
-
-SSAnne5Object: ; 0x6172b (size=54)
-	db $23 ; border tile
-
-	db $2 ; warps
-	db $6, $d, $0, SS_ANNE_3
-	db $7, $d, $0, SS_ANNE_3
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $5 + 4, $ff, $d1, $1 ; person
-	db SPRITE_SAILOR, $9 + 4, $4 + 4, $ff, $ff, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $7 + 4, $ff, $ff, $3 ; person
-	db SPRITE_SAILOR, $4 + 4, $4 + 4, $ff, $d0, $44, SAILOR + $C8, $1 ; trainer
-	db SPRITE_SAILOR, $8 + 4, $a + 4, $ff, $d1, $45, SAILOR + $C8, $2 ; trainer
-
-	; warp-to
-	EVENT_DISP $a, $6, $d ; SS_ANNE_3
-	EVENT_DISP $a, $7, $d ; SS_ANNE_3
-
-SSAnne5Blocks: ; 0x61761 70
-	INCBIN "maps/ssanne5.blk"
-
-SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100)
-	db $0d ; tileset
-	db SS_ANNE_6_HEIGHT, SS_ANNE_6_WIDTH ; dimensions (y, x)
-	dw SSAnne6Blocks, SSAnne6Texts, SSAnne6Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne6Object ; objects
-
-SSAnne6Script: ; 0x617b3
-	call $3c3c
-	ret
-; 0x617b7
-
-SSAnne6Texts: ; 0x617b7
-	dw SSAnne6Text1, SSAnne6Text2, SSAnne6Text3, SSAnne6Text4, SSAnne6Text5, SSAnne6Text6, SSAnne6Text7
-
-SSAnne6Text1: ; 0x617c5
-	TX_FAR _SSAnne6Text1
-	db $50
-
-SSAnne6Text2: ; 0x617ca
-	TX_FAR _SSAnne6Text2
-	db $50
-
-SSAnne6Text3: ; 0x617cf
-	TX_FAR _SSAnne6Text3
-	db $50
-
-SSAnne6Text4: ; 0x617d4
-	TX_FAR _SSAnne6Text4
-	db $50
-
-SSAnne6Text5: ; 0x617d9
-	TX_FAR _SSAnne6Text5
-	db $50
-
-SSAnne6Text6: ; 0x617de
-	TX_FAR _SSAnne6Text6
-	db $50
-
-SSAnne6Text7: ; 0x617e3
-	db $08 ; asm
-	ld hl, UnnamedText_61807
-	call PrintText
-	ldh a, [$d3]
-	bit 7, a
-	jr z, .asm_93eb1 ; 0x617ee
-	ld hl, UnnamedText_6180c
-	jr .asm_63292 ; 0x617f3
-.asm_93eb1 ; 0x617f5
-	bit 4, a
-	jr z, .asm_7436c ; 0x617f7
-	ld hl, UnnamedText_61811
-	jr .asm_63292 ; 0x617fc
-.asm_7436c ; 0x617fe
-	ld hl, UnnamedText_61816
-.asm_63292 ; 0x61801
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61807: ; 0x61807
-	TX_FAR _UnnamedText_61807
-	db $50
-; 0x61807 + 5 bytes
-
-UnnamedText_6180c: ; 0x6180c
-	TX_FAR _UnnamedText_6180c
-	db $50
-; 0x6180c + 5 bytes
-
-UnnamedText_61811: ; 0x61811
-	TX_FAR _UnnamedText_61811
-	db $50
-; 0x61811 + 5 bytes
-
-UnnamedText_61816: ; 0x61816
-	TX_FAR _UnnamedText_61816
-	db $50
-; 0x61816 + 5 bytes
-
-SSAnne6Object: ; 0x6181b (size=54)
-	db $c ; border tile
-
-	db $1 ; warps
-	db $0, $6, $a, SS_ANNE_1
-
-	db $0 ; signs
-
-	db $7 ; people
-	db SPRITE_COOK, $8 + 4, $1 + 4, $fe, $1, $1 ; person
-	db SPRITE_COOK, $8 + 4, $5 + 4, $fe, $1, $2 ; person
-	db SPRITE_COOK, $7 + 4, $9 + 4, $fe, $1, $3 ; person
-	db SPRITE_COOK, $6 + 4, $d + 4, $ff, $ff, $4 ; person
-	db SPRITE_COOK, $8 + 4, $d + 4, $ff, $ff, $5 ; person
-	db SPRITE_COOK, $a + 4, $d + 4, $ff, $ff, $6 ; person
-	db SPRITE_COOK, $d + 4, $b + 4, $ff, $d1, $7 ; person
-
-	; warp-to
-	EVENT_DISP $7, $0, $6 ; SS_ANNE_1
-
-SSAnne6Blocks: ; 0x61851 56
-	INCBIN "maps/ssanne6.blk"
-
-SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101)
-	db $0d ; tileset
-	db SS_ANNE_7_HEIGHT, SS_ANNE_7_WIDTH ; dimensions (y, x)
-	dw SSAnne7Blocks, SSAnne7Texts, SSAnne7Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne7Object ; objects
-
-SSAnne7Script: ; 0x61895
-	call SSAnne7Script_Unknown6189b
-	jp $3c3c
-; 0x6189b
-
-SSAnne7Script_Unknown6189b: ; 0x6189b
-INCBIN "baserom.gbc",$6189b,$c
-
-SSAnne7Texts: ; 0x618a7
-	dw SSAnne7Text1, SSAnne7Text2, SSAnne7Text3
-
-SSAnne7Text1: ; 0x618ad
-	db $08 ; asm
-	ld a, [$d803]
-	bit 0, a
-	jr nz, .asm_797c4 ; 0x618b3
-	ld hl, SSAnne7RubText
-	call PrintText
-	ld hl, ReceivingHM01Text
-	call PrintText
-	ld bc, (HM_01 << 8) | 1
-	call GiveItem
-	jr nc, .asm_ccdcd ; 0x618c7
-	ld hl, ReceivedHM01Text
-	call PrintText
-	ld hl, $d803
-	set 0, [hl]
-	jr .asm_0faf5 ; 0x618d4
-.asm_ccdcd ; 0x618d6
-	ld hl, HM01NoRoomText
-	call PrintText
-	ld hl, $d72d
-	set 5, [hl]
-	jr .asm_0faf5 ; 0x618e1
-.asm_797c4 ; 0x618e3
-	ld hl, UnnamedText_61932
-	call PrintText
-.asm_0faf5 ; 0x618e9
-	jp TextScriptEnd
-
-SSAnne7RubText: ; 0x618ec
-	TX_FAR _SSAnne7RubText ; 0x812dd
-	db $8
-	ld a, [$c0ef]
-	cp $1f
-	ld [$c0f0], a
-	jr nz, .asm_61908 ; 0x618f9 $d
-	ld a, $ff
-	ld [$c0ee], a
-	call $23b1
-	ld a, $2
-	ld [$c0ef], a
-.asm_61908
-	ld a, $e8
-	ld [$c0ee], a
-	call $23b1
-.asm_61910
-	ld a, [$c026]
-	cp $e8
-	jr z, .asm_61910 ; 0x61915 $f9
-	call $2307
-	ld hl, $d803
-	set 1, [hl]
-	ld hl, $d72d
-	res 5, [hl]
-	jp TextScriptEnd
-; 0x61927
-
-ReceivingHM01Text: ; 0x61927
-	TX_FAR _ReceivingHM01Text
-	db $50
-; 0x61927 + 5 bytes
-
-ReceivedHM01Text: ; 0x6192c
-	TX_FAR _ReceivedHM01Text ; 0x8140d
-	db $11, $50
-; 0x6192c + 6 bytes = 0x61932
-
-UnnamedText_61932: ; 0x61932
-	TX_FAR _UnnamedText_61932
-	db $50
-; 0x61932 + 5 bytes
-
-HM01NoRoomText: ; 0x61937
-	TX_FAR _HM01NoRoomText
-	db $50
-; 0x61937 + 5 bytes
-
-SSAnne7Text2: ; 0x6193c
-	TX_FAR _SSAnne7Text2
-	db $50
-
-SSAnne7Text3: ; 0x61941
-	TX_FAR _SSAnne7Text3
-	db $50
-
-SSAnne7Object: ; 0x61946 (size=24)
-	db $c ; border tile
-
-	db $1 ; warps
-	db $7, $0, $8, SS_ANNE_2
-
-	db $2 ; signs
-	db $1, $4, $2 ; SSAnne7Text2
-	db $2, $1, $3 ; SSAnne7Text3
-
-	db $1 ; people
-	db SPRITE_SS_CAPTAIN, $2 + 4, $4 + 4, $ff, $d1, $1 ; person
-
-	; warp-to
-	EVENT_DISP $3, $7, $0 ; SS_ANNE_2
-
-SSAnne7Blocks: ; 0x6195e 12
-	INCBIN "maps/ssanne7.blk"
-
-SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102)
-	db $0d ; tileset
-	db SS_ANNE_8_HEIGHT, SS_ANNE_8_WIDTH ; dimensions (y, x)
-	dw SSAnne8Blocks, SSAnne8Texts, SSAnne8Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne8Object ; objects
-
-SSAnne8Script: ; 0x61976
-	call $3c3c
-	ld hl, SSAnne8TrainerHeaders
-	ld de, SSAnne8Script_Unknown61989
-	ld a, [$d608]
-	call $3160
-	ld [$d608], a
-	ret
-; 0x61989
-
-SSAnne8Script_Unknown61989: ; 0x61989
-INCBIN "baserom.gbc",$61989,$6
-
-SSAnne8Texts: ; 0x6198f
-	dw SSAnne8Text1, SSAnne8Text2, SSAnne8Text3, SSAnne8Text4, SSAnne8Text5, SSAnne8Text6, SSAnne8Text7, SSAnne8Text8, SSAnne8Text9, SSAnne8Text10, SSAnne8Text11
-
-SSAnne8TrainerHeaders:
-SSAnne8TrainerHeader1: ; 0x619a5
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d805 ; flag's byte
-	dw UnnamedText_61a0b ; 0x5a0b TextBeforeBattle
-	dw UnnamedText_61a15 ; 0x5a15 TextAfterBattle
-	dw UnnamedText_61a10 ; 0x5a10 TextEndBattle
-	dw UnnamedText_61a10 ; 0x5a10 TextEndBattle
-; 0x619b1
-
-TrainerHeader_619b1: ; 0x619b1
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d805 ; flag's byte
-	dw UnnamedText_61a1a ; 0x5a1a TextBeforeBattle
-	dw UnnamedText_5a24 ; 0x5a24 TextAfterBattle
-	dw UnnamedText_61a1f ; 0x5a1f TextEndBattle
-	dw UnnamedText_61a1f ; 0x5a1f TextEndBattle
-; 0x619bd
-
-TrainerHeader_619bd: ; 0x619bd
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d805 ; flag's byte
-	dw UnnamedText_61a29 ; 0x5a29 TextBeforeBattle
-	dw UnnamedText_61a33 ; 0x5a33 TextAfterBattle
-	dw UnnamedText_61a2e ; 0x5a2e TextEndBattle
-	dw UnnamedText_61a2e ; 0x5a2e TextEndBattle
-; 0x619c9
-
-TrainerHeader_619c9: ; 0x619c9
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d805 ; flag's byte
-	dw UnnamedText_61a38 ; 0x5a38 TextBeforeBattle
-	dw UnnamedText_61a42 ; 0x5a42 TextAfterBattle
-	dw UnnamedText_61a3d ; 0x5a3d TextEndBattle
-	dw UnnamedText_61a3d ; 0x5a3d TextEndBattle
-; 0x619d5
-
-db $ff
-
-SSAnne8Text1: ; 0x619d6
-	db $08 ; asm
-	ld hl, SSAnne8TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne8Text2: ; 0x619e0
-	db $08 ; asm
-	ld hl, TrainerHeader_619b1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne8Text3: ; 0x619ea
-	db $08 ; asm
-	ld hl, TrainerHeader_619bd
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne8Text4: ; 0x619f4
-	db $08 ; asm
-	ld hl, TrainerHeader_619c9
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne8Text8: ; 0x619fe
-	TX_FAR _SSAnne8Text8
-	db $08 ; asm
-	ld a, $65
-	call $13d0
-	jp TextScriptEnd
-
-UnnamedText_61a0b: ; 0x61a0b
-	TX_FAR _UnnamedText_61a0b
-	db $50
-; 0x61a0b + 5 bytes
-
-UnnamedText_61a10: ; 0x61a10
-	TX_FAR _UnnamedText_61a10
-	db $50
-; 0x61a10 + 5 bytes
-
-UnnamedText_61a15: ; 0x61a15
-	TX_FAR _UnnamedText_61a15
-	db $50
-; 0x61a15 + 5 bytes
-
-UnnamedText_61a1a: ; 0x61a1a
-	TX_FAR _UnnamedText_61a1a
-	db $50
-; 0x61a1a + 5 bytes
-
-UnnamedText_61a1f: ; 0x61a1f
-	TX_FAR _UnnamedText_61a1f
-	db $50
-; 0x61a1f + 5 bytes
-
-UnnamedText_61a24: ; 0x61a24
-	TX_FAR _UnnamedText_61a24
-	db $50
-; 0x61a24 + 5 bytes
-
-UnnamedText_61a29: ; 0x61a29
-	TX_FAR _UnnamedText_61a29
-	db $50
-; 0x61a29 + 5 bytes
-
-UnnamedText_61a2e: ; 0x61a2e
-	TX_FAR _UnnamedText_61a2e
-	db $50
-; 0x61a2e + 5 bytes
-
-UnnamedText_61a33: ; 0x61a33
-	TX_FAR _UnnamedText_61a33
-	db $50
-; 0x61a33 + 5 bytes
-
-UnnamedText_61a38: ; 0x61a38
-	TX_FAR _UnnamedText_61a38
-	db $50
-; 0x61a38 + 5 bytes
-
-UnnamedText_61a3d: ; 0x61a3d
-	TX_FAR _UnnamedText_61a3d
-	db $50
-; 0x61a3d + 5 bytes
-
-UnnamedText_61a42: ; 0x61a42
-	TX_FAR _UnnamedText_61a42
-	db $50
-; 0x61a42 + 5 bytes
-
-SSAnne8Text5: ; 0x61a47
-	TX_FAR _SSAnne8Text5
-	db $50
-
-SSAnne8Text6: ; 0x61a4c
-	TX_FAR _SSAnne8Text6
-	db $50
-
-SSAnne8Text7: ; 0x61a51
-	TX_FAR _SSAnne8Text7
-	db $50
-
-SSAnne8Text9: ; 0x61a56
-	TX_FAR _SSAnne8Text9
-	db $50
-
-SSAnne8Text11: ; 0x61a5b
-	TX_FAR _SSAnne8Text11
-	db $50
-
-SSAnne8Object: ; 0x61a60 (size=127)
-	db $c ; border tile
-
-	db $6 ; warps
-	db $0, $0, $2, SS_ANNE_1
-	db $0, $a, $3, SS_ANNE_1
-	db $0, $14, $4, SS_ANNE_1
-	db $a, $0, $5, SS_ANNE_1
-	db $a, $a, $6, SS_ANNE_1
-	db $a, $14, $7, SS_ANNE_1
-
-	db $0 ; signs
-
-	db $b ; people
-	db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d2, $41, GENTLEMAN + $C8, $1 ; trainer
-	db SPRITE_GENTLEMAN, $4 + 4, $b + 4, $ff, $d1, $42, GENTLEMAN + $C8, $2 ; trainer
-	db SPRITE_BUG_CATCHER, $e + 4, $b + 4, $ff, $d1, $43, YOUNGSTER + $C8, $8 ; trainer
-	db SPRITE_LASS, $b + 4, $d + 4, $ff, $d2, $44, LASS + $C8, $b ; trainer
-	db SPRITE_GIRL, $3 + 4, $16 + 4, $fe, $1, $5 ; person
-	db SPRITE_FAT_BALD_GUY, $e + 4, $0 + 4, $ff, $ff, $6 ; person
-	db SPRITE_LITTLE_GIRL, $b + 4, $2 + 4, $ff, $d0, $7 ; person
-	db SPRITE_CLEFAIRY, $b + 4, $3 + 4, $ff, $d0, $8 ; person
-	db SPRITE_GIRL, $d + 4, $a + 4, $ff, $d3, $9 ; person
-	db SPRITE_BALL, $f + 4, $c + 4, $ff, $ff, $8a, TM_08 ; item
-	db SPRITE_GENTLEMAN, $d + 4, $15 + 4, $fe, $2, $b ; person
-
-	; warp-to
-	EVENT_DISP $c, $0, $0 ; SS_ANNE_1
-	EVENT_DISP $c, $0, $a ; SS_ANNE_1
-	EVENT_DISP $c, $0, $14 ; SS_ANNE_1
-	EVENT_DISP $c, $a, $0 ; SS_ANNE_1
-	EVENT_DISP $c, $a, $a ; SS_ANNE_1
-	EVENT_DISP $c, $a, $14 ; SS_ANNE_1
-
-SSAnne8Blocks: ; 0x61adf 96
-	INCBIN "maps/ssanne8.blk"
-
-SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103)
-	db $0d ; tileset
-	db SS_ANNE_9_HEIGHT, SS_ANNE_9_WIDTH ; dimensions (y, x)
-	dw SSAnne9Blocks, SSAnne9Texts, SSAnne9Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne9Object ; objects
-
-SSAnne9Script: ; 0x61b4b
-	ld a, $1
-	ld [$cf0c], a
-	xor a
-	ld [$cc3c], a
-	ld hl, SSAnne9TrainerHeaders
-	ld de, SSAnne9Script_Unknown61b64
-	ld a, [$d609]
-	call $3160
-	ld [$d609], a
-	ret
-; 0x61b64
-
-SSAnne9Script_Unknown61b64: ; 0x61b64
-INCBIN "baserom.gbc",$61b64,$6
-
-SSAnne9Texts: ; 0x61b6a
-	dw SSAnne9Text1, SSAnne9Text2, SSAnne9Text3, SSAnne9Text4, SSAnne9Text5, SSAnne9Text6, SSAnne9Text7, SSAnne9Text8, SSAnne9Text9, SSAnne9Text10, SSAnne9Text11, SSAnne9Text12, SSAnne9Text13
-
-SSAnne9TrainerHeaders:
-SSAnne9TrainerHeader1: ; 0x61b84
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d807 ; flag's byte
-	dw UnnamedText_61c51 ; 0x5c51 TextBeforeBattle
-	dw UnnamedText_61c5b ; 0x5c5b TextAfterBattle
-	dw UnnamedText_61c56 ; 0x5c56 TextEndBattle
-	dw UnnamedText_61c56 ; 0x5c56 TextEndBattle
-; 0x61b90
-
-TrainerHeader_61b90: ; 0x61b90
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d807 ; flag's byte
-	dw UnnamedText_61c60 ; 0x5c60 TextBeforeBattle
-	dw UnnamedText_61c6a ; 0x5c6a TextAfterBattle
-	dw UnnamedText_61c65 ; 0x5c65 TextEndBattle
-	dw UnnamedText_61c65 ; 0x5c65 TextEndBattle
-; 0x61b9c
-
-TrainerHeader_61b9c: ; 0x61b9c
-	db $3 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d807 ; flag's byte
-	dw UnnamedText_61c6f ; 0x5c6f TextBeforeBattle
-	dw UnnamedText_61c79 ; 0x5c79 TextAfterBattle
-	dw UnnamedText_61c74 ; 0x5c74 TextEndBattle
-	dw UnnamedText_61c74 ; 0x5c74 TextEndBattle
-; 0x61ba8
-
-TrainerHeader_61ba8: ; 0x61ba8
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d807 ; flag's byte
-	dw UnnamedText_61c7e ; 0x5c7e TextBeforeBattle
-	dw UnnamedText_61c88 ; 0x5c88 TextAfterBattle
-	dw UnnamedText_61c83 ; 0x5c83 TextEndBattle
-	dw UnnamedText_61c83 ; 0x5c83 TextEndBattle
-; 0x61bb4
-
-
-db $ff
-
-SSAnne9Text1: ; 0x61bb5
-	db $08 ; asm
-	ld hl, SSAnne9TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne9Text2: ; 0x61bbf
-	db $08 ; asm
-	ld hl, TrainerHeader_61b90
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne9Text3: ; 0x61bc9
-	db $08 ; asm
-	ld hl, TrainerHeader_61b9c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne9Text4: ; 0x61bd3
-	db $08 ; asm
-	ld hl, TrainerHeader_61ba8
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne9Text5: ; 0x61bdd
-	db $08 ; asm
-	call $3719
-	ld hl, UnnamedText_61bf2
-	call PrintText
-	call $3725
-	ld a, $84
-	call $349b
-	jp TextScriptEnd
-
-UnnamedText_61bf2: ; 0x61bf2
-	TX_FAR _UnnamedText_61bf2
-	db $50
-; 0x61bf2 + 5 bytes
-
-SSAnne9Text7: ; 0x61bf7
-	db $08 ; asm
-	ld hl, UnnamedText_61c01
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61c01: ; 0x61c01
-	TX_FAR _UnnamedText_61c01
-	db $50
-; 0x61c01 + 5 bytes
-
-SSAnne9Text8: ; 0x61c06
-	db $08 ; asm
-	ld hl, UnnamedText_61c10
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61c10: ; 0x61c10
-	TX_FAR _UnnamedText_61c10
-	db $50
-; 0x61c10 + 5 bytes
-
-SSAnne9Text10: ; 0x61c15
-	db $08 ; asm
-	ld hl, UnnamedText_61c1f
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61c1f: ; 0x61c1f
-	TX_FAR _UnnamedText_61c1f
-	db $50
-; 0x61c1f + 5 bytes
-
-SSAnne9Text11: ; 0x61c24
-	db $08 ; asm
-	ld hl, UnnamedText_61c2e
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61c2e: ; 0x61c2e
-	TX_FAR _UnnamedText_61c2e
-	db $50
-; 0x61c2e + 5 bytes
-
-SSAnne9Text12: ; 0x61c33
-	db $08 ; asm
-	ld hl, UnnamedText_61c3d
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61c3d: ; 0x61c3d
-	TX_FAR _UnnamedText_61c3d
-	db $50
-; 0x61c3d + 5 bytes
-
-SSAnne9Text13: ; 0x61c42
-	db $08 ; asm
-	ld hl, UnnamedText_61c4c
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_61c4c: ; 0x61c4c
-	TX_FAR _UnnamedText_61c4c
-	db $50
-; 0x61c4c + 5 bytes
-
-UnnamedText_61c51: ; 0x61c51
-	TX_FAR _UnnamedText_61c51
-	db $50
-; 0x61c51 + 5 bytes
-
-UnnamedText_61c56: ; 0x61c56
-	TX_FAR _UnnamedText_61c56
-	db $50
-; 0x61c56 + 5 bytes
-
-UnnamedText_61c5b: ; 0x61c5b
-	TX_FAR _UnnamedText_61c5b
-	db $50
-; 0x61c5b + 5 bytes
-
-UnnamedText_61c60: ; 0x61c60
-	TX_FAR _UnnamedText_61c60
-	db $50
-; 0x61c60 + 5 bytes
-
-UnnamedText_61c65: ; 0x61c65
-	TX_FAR _UnnamedText_61c65
-	db $50
-; 0x61c65 + 5 bytes
-
-UnnamedText_61c6a: ; 0x61c6a
-	TX_FAR _UnnamedText_61c6a
-	db $50
-; 0x61c6a + 5 bytes
-
-UnnamedText_61c6f: ; 0x61c6f
-	TX_FAR _UnnamedText_61c6f
-	db $50
-; 0x61c6f + 5 bytes
-
-UnnamedText_61c74: ; 0x61c74
-	TX_FAR _UnnamedText_61c74
-	db $50
-; 0x61c74 + 5 bytes
-
-UnnamedText_61c79: ; 0x61c79
-	TX_FAR _UnnamedText_61c79
-	db $50
-; 0x61c79 + 5 bytes
-
-UnnamedText_61c7e: ; 0x61c7e
-	TX_FAR _UnnamedText_61c7e
-	db $50
-; 0x61c7e + 5 bytes
-
-UnnamedText_61c83: ; 0x61c83
-	TX_FAR _UnnamedText_61c83
-	db $50
-; 0x61c83 + 5 bytes
-
-UnnamedText_61c88: ; 0x61c88
-	TX_FAR _UnnamedText_61c88
-	db $50
-; 0x61c88 + 5 bytes
-
-SSAnne9Object: ; 0x61c8d (size=188)
-	db $c ; border tile
-
-	db $c ; warps
-	db $5, $2, $0, SS_ANNE_2
-	db $5, $3, $0, SS_ANNE_2
-	db $5, $c, $1, SS_ANNE_2
-	db $5, $d, $1, SS_ANNE_2
-	db $5, $16, $2, SS_ANNE_2
-	db $5, $17, $2, SS_ANNE_2
-	db $f, $2, $3, SS_ANNE_2
-	db $f, $3, $3, SS_ANNE_2
-	db $f, $c, $4, SS_ANNE_2
-	db $f, $d, $4, SS_ANNE_2
-	db $f, $16, $5, SS_ANNE_2
-	db $f, $17, $5, SS_ANNE_2
-
-	db $0 ; signs
-
-	db $d ; people
-	db SPRITE_GENTLEMAN, $2 + 4, $a + 4, $ff, $d3, $41, GENTLEMAN + $C8, $3 ; trainer
-	db SPRITE_FISHER2, $4 + 4, $d + 4, $ff, $d2, $42, FISHER + $C8, $1 ; trainer
-	db SPRITE_GENTLEMAN, $e + 4, $0 + 4, $ff, $d3, $43, GENTLEMAN + $C8, $5 ; trainer
-	db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d0, $44, LASS + $C8, $c ; trainer
-	db SPRITE_GENTLEMAN, $2 + 4, $1 + 4, $ff, $d0, $5 ; person
-	db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $86, MAX_ETHER ; item
-	db SPRITE_GENTLEMAN, $2 + 4, $15 + 4, $ff, $d0, $7 ; person
-	db SPRITE_OLD_PERSON, $1 + 4, $16 + 4, $ff, $d0, $8 ; person
-	db SPRITE_BALL, $c + 4, $0 + 4, $ff, $ff, $89, RARE_CANDY ; item
-	db SPRITE_GENTLEMAN, $c + 4, $c + 4, $ff, $d0, $a ; person
-	db SPRITE_YOUNG_BOY, $e + 4, $b + 4, $ff, $ff, $b ; person
-	db SPRITE_BRUNETTE_GIRL, $c + 4, $16 + 4, $ff, $d2, $c ; person
-	db SPRITE_FOULARD_WOMAN, $c + 4, $14 + 4, $ff, $d3, $d ; person
-
-	; warp-to
-	EVENT_DISP $c, $5, $2 ; SS_ANNE_2
-	EVENT_DISP $c, $5, $3 ; SS_ANNE_2
-	EVENT_DISP $c, $5, $c ; SS_ANNE_2
-	EVENT_DISP $c, $5, $d ; SS_ANNE_2
-	EVENT_DISP $c, $5, $16 ; SS_ANNE_2
-	EVENT_DISP $c, $5, $17 ; SS_ANNE_2
-	EVENT_DISP $c, $f, $2 ; SS_ANNE_2
-	EVENT_DISP $c, $f, $3 ; SS_ANNE_2
-	EVENT_DISP $c, $f, $c ; SS_ANNE_2
-	EVENT_DISP $c, $f, $d ; SS_ANNE_2
-	EVENT_DISP $c, $f, $16 ; SS_ANNE_2
-	EVENT_DISP $c, $f, $17 ; SS_ANNE_2
-
-SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104)
-	db $0d ; tileset
-	db SS_ANNE_10_HEIGHT, SS_ANNE_10_WIDTH ; dimensions (y, x)
-	dw SSAnne10Blocks, SSAnne10Texts, SSAnne10Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SSAnne10Object ; objects
-
-SSAnne10Script: ; 0x61d55
-	call $3c3c
-	ld hl, SSAnne10TrainerHeaders
-	ld de, SSAnne10Script_Unknown61d68
-	ld a, [$d629]
-	call $3160
-	ld [$d629], a
-	ret
-; 0x61d68
-
-SSAnne10Script_Unknown61d68: ; 0x61d68
-INCBIN "baserom.gbc",$61d68,$6
-
-SSAnne10Texts: ; 0x61d6e
-	dw SSAnne10Text1, SSAnne10Text2, SSAnne10Text3, SSAnne10Text4, SSAnne10Text5, SSAnne10Text6, SSAnne10Text7, SSAnne10Text8, SSAnne10Text9, SSAnne10Text10, SSAnne10Text11
-
-SSAnne10TrainerHeaders:
-SSAnne10TrainerHeader1: ; 0x61d84
-	db $1 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d809 ; flag's byte
-	dw UnnamedText_61e16 ; 0x5e16 TextBeforeBattle
-	dw UnnamedText_61e20 ; 0x5e20 TextAfterBattle
-	dw UnnamedText_61e1b ; 0x5e1b TextEndBattle
-	dw UnnamedText_61e1b ; 0x5e1b TextEndBattle
-; 0x61d90
-
-TrainerHeader_61d90: ; 0x61d90
-	db $2 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d809 ; flag's byte
-	dw UnnamedText_61e25 ; 0x5e25 TextBeforeBattle
-	dw UnnamedText_61e2f ; 0x5e2f TextAfterBattle
-	dw UnnamedText_61e2a ; 0x5e2a TextEndBattle
-	dw UnnamedText_61e2a ; 0x5e2a TextEndBattle
-; 0x61d9c
-
-TrainerHeader_61d9c: ; 0x61d9c
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d809 ; flag's byte
-	dw UnnamedText_61e34 ; 0x5e34 TextBeforeBattle
-	dw UnnamedText_61e3e ; 0x5e3e TextAfterBattle
-	dw UnnamedText_61e39 ; 0x5e39 TextEndBattle
-	dw UnnamedText_61e39 ; 0x5e39 TextEndBattle
-; 0x61da8
-
-TrainerHeader_61da8: ; 0x61da8
-	db $4 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d809 ; flag's byte
-	dw UnnamedText_61e43 ; 0x5e43 TextBeforeBattle
-	dw UnnamedText_61e4d ; 0x5e4d TextAfterBattle
-	dw UnnamedText_61e48 ; 0x5e48 TextEndBattle
-	dw UnnamedText_61e48 ; 0x5e48 TextEndBattle
-; 0x61db4
-
-TrainerHeader_61db4: ; 0x61db4
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d809 ; flag's byte
-	dw UnnamedText_61e52 ; 0x5e52 TextBeforeBattle
-	dw UnnamedText_61e5c ; 0x5e5c TextAfterBattle
-	dw UnnamedText_61e57 ; 0x5e57 TextEndBattle
-	dw UnnamedText_61e57 ; 0x5e57 TextEndBattle
-; 0x61dc0
-
-TrainerHeader_61dc0: ; 0x61dc0
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d809 ; flag's byte
-	dw UnnamedText_61e61 ; 0x5e61 TextBeforeBattle
-	dw UnnamedText_61e6b ; 0x5e6b TextAfterBattle
-	dw UnnamedText_61e66 ; 0x5e66 TextEndBattle
-	dw UnnamedText_61e66 ; 0x5e66 TextEndBattle
-; 0x61dcc
-
-db $ff
-
-SSAnne10Text1: ; 0x61dcd
-	db $08 ; asm
-	ld hl, SSAnne10TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne10Text2: ; 0x61dd7
-	db $08 ; asm
-	ld hl, TrainerHeader_61d90
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne10Text3: ; 0x61de1
-	db $08 ; asm
-	ld hl, TrainerHeader_61d9c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne10Text4: ; 0x61deb
-	db $08 ; asm
-	ld hl, TrainerHeader_61da8
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne10Text5: ; 0x61df5
-	db $08 ; asm
-	ld hl, TrainerHeader_61db4
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne10Text6: ; 0x61dff
-	db $08 ; asm
-	ld hl, TrainerHeader_61dc0
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-SSAnne10Text8: ; 0x61e09
-	TX_FAR _SSAnne10Text8
-	db $8 ; 0x61e0d
-	ld a, $29
-	call $13d0
-	jp TextScriptEnd
-
-UnnamedText_61e16: ; 0x61e16
-	TX_FAR _UnnamedText_61e16
-	db $50
-; 0x61e16 + 5 bytes
-
-UnnamedText_61e1b: ; 0x61e1b
-	TX_FAR _UnnamedText_61e1b
-	db $50
-; 0x61e1b + 5 bytes
-
-UnnamedText_61e20: ; 0x61e20
-	TX_FAR _UnnamedText_61e20
-	db $50
-; 0x61e20 + 5 bytes
-
-UnnamedText_61e25: ; 0x61e25
-	TX_FAR _UnnamedText_61e25
-	db $50
-; 0x61e25 + 5 bytes
-
-UnnamedText_61e2a: ; 0x61e2a
-	TX_FAR _UnnamedText_61e2a
-	db $50
-; 0x61e2a + 5 bytes
-
-UnnamedText_61e2f: ; 0x61e2f
-	TX_FAR _UnnamedText_61e2f
-	db $50
-; 0x61e2f + 5 bytes
-
-UnnamedText_61e34: ; 0x61e34
-	TX_FAR _UnnamedText_61e34
-	db $50
-; 0x61e34 + 5 bytes
-
-UnnamedText_61e39: ; 0x61e39
-	TX_FAR _UnnamedText_61e39
-	db $50
-; 0x61e39 + 5 bytes
-
-UnnamedText_61e3e: ; 0x61e3e
-	TX_FAR _UnnamedText_61e3e
-	db $50
-; 0x61e3e + 5 bytes
-
-UnnamedText_61e43: ; 0x61e43
-	TX_FAR _UnnamedText_61e43
-	db $50
-; 0x61e43 + 5 bytes
-
-UnnamedText_61e48: ; 0x61e48
-	TX_FAR _UnnamedText_61e48
-	db $50
-; 0x61e48 + 5 bytes
-
-UnnamedText_61e4d: ; 0x61e4d
-	TX_FAR _UnnamedText_61e4d
-	db $50
-; 0x61e4d + 5 bytes
-
-UnnamedText_61e52: ; 0x61e52
-	TX_FAR _UnnamedText_61e52
-	db $50
-; 0x61e52 + 5 bytes
-
-UnnamedText_61e57: ; 0x61e57
-	TX_FAR _UnnamedText_61e57
-	db $50
-; 0x61e57 + 5 bytes
-
-UnnamedText_61e5c: ; 0x61e5c
-	TX_FAR _UnnamedText_61e5c
-	db $50
-; 0x61e5c + 5 bytes
-
-UnnamedText_61e61: ; 0x61e61
-	TX_FAR _UnnamedText_61e61
-	db $50
-; 0x61e61 + 5 bytes
-
-UnnamedText_61e66: ; 0x61e66
-	TX_FAR _UnnamedText_61e66
-	db $50
-; 0x61e66 + 5 bytes
-
-UnnamedText_61e6b: ; 0x61e6b
-	TX_FAR _UnnamedText_61e6b
-	db $50
-; 0x61e6b + 5 bytes
-
-SSAnne10Text7: ; 0x61e70
-	TX_FAR _SSAnne10Text7
-	db $50
-
-SSAnne10Object: ; 0x61e75 (size=165)
-	db $c ; border tile
-
-	db $a ; warps
-	db $5, $2, $4, SS_ANNE_4
-	db $5, $3, $4, SS_ANNE_4
-	db $5, $c, $3, SS_ANNE_4
-	db $5, $d, $3, SS_ANNE_4
-	db $5, $16, $2, SS_ANNE_4
-	db $5, $17, $2, SS_ANNE_4
-	db $f, $2, $1, SS_ANNE_4
-	db $f, $3, $1, SS_ANNE_4
-	db $f, $c, $0, SS_ANNE_4
-	db $f, $d, $0, SS_ANNE_4
-
-	db $0 ; signs
-
-	db $b ; people
-	db SPRITE_SAILOR, $d + 4, $0 + 4, $ff, $d0, $41, SAILOR + $C8, $3 ; trainer
-	db SPRITE_SAILOR, $b + 4, $2 + 4, $ff, $d0, $42, SAILOR + $C8, $4 ; trainer
-	db SPRITE_SAILOR, $3 + 4, $c + 4, $ff, $d2, $43, SAILOR + $C8, $5 ; trainer
-	db SPRITE_SAILOR, $2 + 4, $16 + 4, $ff, $d0, $44, SAILOR + $C8, $6 ; trainer
-	db SPRITE_SAILOR, $2 + 4, $0 + 4, $ff, $d3, $45, SAILOR + $C8, $7 ; trainer
-	db SPRITE_FISHER2, $4 + 4, $0 + 4, $ff, $d3, $46, FISHER + $C8, $2 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $a + 4, $ff, $d3, $7 ; person
-	db SPRITE_SLOWBRO, $c + 4, $b + 4, $ff, $ff, $8 ; person
-	db SPRITE_BALL, $2 + 4, $14 + 4, $ff, $ff, $89, ETHER ; item
-	db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $8a, TM_44 ; item
-	db SPRITE_BALL, $b + 4, $c + 4, $ff, $ff, $8b, MAX_POTION ; item
-
-	; warp-to
-	EVENT_DISP $c, $5, $2 ; SS_ANNE_4
-	EVENT_DISP $c, $5, $3 ; SS_ANNE_4
-	EVENT_DISP $c, $5, $c ; SS_ANNE_4
-	EVENT_DISP $c, $5, $d ; SS_ANNE_4
-	EVENT_DISP $c, $5, $16 ; SS_ANNE_4
-	EVENT_DISP $c, $5, $17 ; SS_ANNE_4
-	EVENT_DISP $c, $f, $2 ; SS_ANNE_4
-	EVENT_DISP $c, $f, $3 ; SS_ANNE_4
-	EVENT_DISP $c, $f, $c ; SS_ANNE_4
-	EVENT_DISP $c, $f, $d ; SS_ANNE_4
-
-UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119)
-	db $0b ; tileset
-	db UNDERGROUND_PATH_NS_HEIGHT, UNDERGROUND_PATH_NS_WIDTH ; dimensions (y, x)
-	dw UndergroundPathNSBlocks, UndergroundPathNSTexts, UndergroundPathNSScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UndergroundPathNSObject ; objects
-
-UndergroundPathNSScript: ; 0x61f26
-	jp $3c3c
-; 0x61f29
-
-UndergroundPathNSTexts:
-	db $50
-
-UndergroundPathNSObject: ; 0x61f2a (size=20)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $4, $5, $2, PATH_ENTRANCE_ROUTE_5
-	db $29, $2, $2, PATH_ENTRANCE_ROUTE_6
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $4, $4, $5 ; PATH_ENTRANCE_ROUTE_5
-	EVENT_DISP $4, $29, $2 ; PATH_ENTRANCE_ROUTE_6
-
-UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121)
-	db $0b ; tileset
-	db UNDERGROUND_PATH_WE_HEIGHT, UNDERGROUND_PATH_WE_WIDTH ; dimensions (y, x)
-	dw $41f4, UndergroundPathWETexts, UndergroundPathWEScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UndergroundPathWEObject ; objects
-
-UndergroundPathWEScript: ; 0x61f4a
-	jp $3c3c
-; 0x61f4d
-
-UndergroundPathWETexts:
-	db $50
-
-UndergroundPathWEObject: ; 0x61f4e (size=20)
-	db $1 ; border tile
-
-	db $2 ; warps
-	db $5, $2, $2, PATH_ENTRANCE_ROUTE_7
-	db $2, $2f, $2, PATH_ENTRANCE_ROUTE_8
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $19, $5, $2 ; PATH_ENTRANCE_ROUTE_7
-	EVENT_DISP $19, $2, $2f ; PATH_ENTRANCE_ROUTE_8
-
-DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197)
-	db $11 ; tileset
-	db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x)
-	dw DiglettsCaveBlocks, DiglettsCaveTexts, DiglettsCaveScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw DiglettsCaveObject ; objects
-
-DiglettsCaveScript: ; 0x61f6e
-	jp $3c3c
-; 0x61f71
-
-DiglettsCaveTexts:
-	db $50
-
-DiglettsCaveObject: ; 0x61f72 (size=20)
-	db $19 ; border tile
-
-	db $2 ; warps
-	db $5, $5, $2, DIGLETTS_CAVE_EXIT
-	db $1f, $25, $2, DIGLETTS_CAVE_ENTRANCE
-
-	db $0 ; signs
-
-	db $0 ; people
-
-	; warp-to
-	EVENT_DISP $14, $5, $5 ; DIGLETTS_CAVE_EXIT
-	EVENT_DISP $14, $1f, $25 ; DIGLETTS_CAVE_ENTRANCE
-
-DiglettsCaveBlocks: ; 0x61f86 360
-	INCBIN "maps/diglettscave.blk"
-
-SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235)
-	db $10 ; tileset
-	db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x)
-	dw SilphCo11Blocks, SilphCo11Texts, SilphCo11Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SilphCo11Object ; objects
-
-SilphCo11Script: ; 0x620fa
-	call SilphCo11Script_Unknown62110
-	call $3c3c
-	ld hl, SilphCo11TrainerHeaders
-	ld de, $61cf
-	ld a, [$d659]
-	call $3160
-	ld [$d659], a
-	ret
-; 0x62110
-
-SilphCo11Script_Unknown62110: ; 0x62110
-INCBIN "baserom.gbc",$62110,$1a7
-
-SilphCo11Texts: ; 0x622b7
-	dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6
-
-SilphCo11TrainerHeaders:
-SilphCo11TrainerHeader1: ; 0x622c3
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d837 ; flag's byte
-	dw UnnamedText_62344 ; 0x6344 TextBeforeBattle
-	dw UnnamedText_6234e ; 0x634e TextAfterBattle
-	dw UnnamedText_62349 ; 0x6349 TextEndBattle
-	dw UnnamedText_62349 ; 0x6349 TextEndBattle
-; 0x622cf
-
-TrainerHeader_622cf: ; 0x622cf
-	db $5 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d837 ; flag's byte
-	dw UnnamedText_6235d ; 0x635d TextBeforeBattle
-	dw UnnamedText_62367 ; 0x6367 TextAfterBattle
-	dw UnnamedText_62362 ; 0x6362 TextEndBattle
-	dw UnnamedText_62362 ; 0x6362 TextEndBattle
-; 0x622db
-
-db $ff
-
-SilphCo11Text1: ; 0x622dc
-	db $08 ; asm
-	ld a, [$d838]
-	bit 5, a
-	jp nz, .asm_62308
-	ld hl, SilphCoPresidentText
-	call PrintText
-	ld bc, (MASTER_BALL << 8) | 1
-	call GiveItem
-	jr nc, .asm_36088 ; 0x622f1
-	ld hl, ReceivedSilphCoMasterBallText
-	call PrintText
-	ld hl, $d838
-	set 5, [hl]
-	jr .asm_fd405 ; 0x622fe
-.asm_36088 ; 0x62300
-	ld hl, SilphCoMasterBallNoRoomText
-	call PrintText
-	jr .asm_fd405 ; 0x62306
-.asm_62308 ; 0x62308
-	ld hl, UnnamedText_6231c
-	call PrintText
-.asm_fd405 ; 0x6230e
-	jp TextScriptEnd
-
-SilphCoPresidentText: ; 0x62311
-	TX_FAR _SilphCoPresidentText
-	db $50
-; 0x62311 + 5 bytes
-
-ReceivedSilphCoMasterBallText: ; 0x62316
-	TX_FAR _ReceivedSilphCoMasterBallText ; 0x84f63
-	db $11, $50
-; 0x62316 + 6 bytes = 0x6231c
-
-UnnamedText_6231c: ; 0x6231c
-	TX_FAR _UnnamedText_6231c
-	db $50
-; 0x6231c + 5 bytes
-
-SilphCoMasterBallNoRoomText: ; 0x62321
-	TX_FAR _SilphCoMasterBallNoRoomText
-	db $50
-; 0x62321 + 5 bytes
-
-SilphCo11Text2: ; 0x62326
-	TX_FAR _SilphCo11Text2
-	db $50
-
-SilphCo11Text3: ; 0x6232b
-	TX_FAR _SilphCo11Text3
-	db $50
-
-UnnamedText_62330: ; 0x62330
-	TX_FAR _UnnamedText_62330
-	db $50
-; 0x62330 + 5 bytes
-
-SilphCo11Text6: ; 0x62335
-	TX_FAR _UnnamedText_62335
-	db $50
-; 0x62335 + 5 bytes
-
-SilphCo11Text4: ; 0x6233a
-	db $08 ; asm
-	ld hl, SilphCo11TrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_62344: ; 0x62344
-	TX_FAR _UnnamedText_62344
-	db $50
-; 0x62344 + 5 bytes
-
-UnnamedText_62349: ; 0x62349
-	TX_FAR _UnnamedText_62349
-	db $50
-; 0x62349 + 5 bytes
-
-UnnamedText_6234e: ; 0x6234e
-	TX_FAR _UnnamedText_6234e
-	db $50
-; 0x6234e + 5 bytes
-
-SilphCo11Text5: ; 0x62353
-	db $08 ; asm
-	ld hl, TrainerHeader_622cf
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_6235d: ; 0x6235d
-	TX_FAR _UnnamedText_6235d
-	db $50
-; 0x6235d + 5 bytes
-
-UnnamedText_62362: ; 0x62362
-	TX_FAR _UnnamedText_62362
-	db $50
-; 0x62362 + 5 bytes
-
-UnnamedText_62367: ; 0x62367
-	TX_FAR _UnnamedText_62367
-	db $50
-; 0x62367 + 5 bytes
-
-UnknownText_6236c: ; 0x6236c
-	db $8
-	ld hl, UnnamedText_6237b
-	call PrintText
-	ld a, $aa
-	call $349b
-	jp TextScriptEnd
-; 0x6237b
-
-UnnamedText_6237b: ; 0x6237b
-	TX_FAR _UnnamedText_6237b
-	db $50
-; 0x6237b + 5 bytes
-
-SilphCo11Object: ; 0x62380 (size=72)
-	db $d ; border tile
-
-	db $4 ; warps
-	db $0, $9, $1, SILPH_CO_10F
-	db $0, $d, $0, SILPH_CO_ELEVATOR
-	db $5, $5, $9, $ff
-	db $2, $3, $3, SILPH_CO_7F
-
-	db $0 ; signs
-
-	db $5 ; people
-	db SPRITE_MR_MASTERBALL, $5 + 4, $7 + 4, $ff, $d0, $1 ; person
-	db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $ff, $d0, $2 ; person
-	db SPRITE_GIOVANNI, $9 + 4, $6 + 4, $ff, $d0, $43, GIOVANNI + $C8, $2 ; trainer
-	db SPRITE_ROCKET, $10 + 4, $3 + 4, $ff, $d1, $44, ROCKET + $C8, $29 ; trainer
-	db SPRITE_ROCKET, $9 + 4, $f + 4, $ff, $d1, $45, ROCKET + $C8, $28 ; trainer
-
-	; warp-to
-	EVENT_DISP $9, $0, $9 ; SILPH_CO_10F
-	EVENT_DISP $9, $0, $d ; SILPH_CO_ELEVATOR
-	EVENT_DISP $9, $5, $5
-	EVENT_DISP $9, $2, $3 ; SILPH_CO_7F
-
-SilphCo11Blocks: ; 0x623c8 81
-	INCBIN "maps/silphco11.blk"
-
-INCBIN "baserom.gbc",$62419,$62453 - $62419
-
-UnnamedText_62453: ; 0x62453
-	TX_FAR _UnnamedText_62453
-	db $50
-; 0x62453 + 5 bytes
-
-UnnamedText_62458: ; 0x62458
-	TX_FAR _UnnamedText_62458
-	db $50
-; 0x62458 + 5 bytes
-
-INCBIN "baserom.gbc",$6245d,$624a3 - $6245d
-
-UnnamedText_624a3: ; 0x624a3
-	TX_FAR _UnnamedText_624a3
-	db $50
-; 0x624a3 + 5 bytes
-
-UnnamedText_624a8: ; 0x624a8
-	TX_FAR _UnnamedText_624a8
-	db $50
-; 0x624a8 + 5 bytes
-
-UnnamedText_624ad: ; 0x624ad
-	TX_FAR _UnnamedText_624ad
-	db $50
-; 0x624ad + 5 bytes
-
-UnnamedText_624b2: ; 0x624b2
-	TX_FAR _UnnamedText_624b2
-	db $50
-; 0x624b2 + 5 bytes
-
-UnnamedText_624b7: ; 0x624b7
-	TX_FAR _UnnamedText_624b7
-	db $50
-; 0x624b7 + 5 bytes
-
-UnnamedText_624bc: ; 0x624bc
-	TX_FAR _UnnamedText_624bc
-	db $50
-; 0x624bc + 5 bytes
-
-UnnamedText_624c1: ; 0x624c1
-	TX_FAR _UnnamedText_624c1
-	db $50
-; 0x624c1 + 5 bytes
-
-UnnamedText_624c6: ; 0x624c6
-	TX_FAR _UnnamedText_624c6
-	db $50
-; 0x624c6 + 5 bytes
-
-UnnamedText_624cb: ; 0x624cb
-	TX_FAR _UnnamedText_624cb
-	db $50
-; 0x624cb + 5 bytes
-
-UnnamedText_624d0: ; 0x624d0
-	TX_FAR _UnnamedText_624d0
-	db $50
-; 0x624d0 + 5 bytes
-
-UnnamedText_624d5: ; 0x624d5
-	TX_FAR _UnnamedText_624d5
-	db $50
-; 0x624d5 + 5 bytes
-
-UnnamedText_624da: ; 0x624da
-	TX_FAR _UnnamedText_624da
-	db $50
-; 0x624da + 5 bytes
-
-UnnamedText_624df: ; 0x624df
-	TX_FAR _UnnamedText_624df
-	db $50
-; 0x624df + 5 bytes
-
-UnnamedText_624e4: ; 0x624e4
-	db $8
-	ld a, [$d838]
-	bit 7, a
-	ld hl, UnnamedText_624fd
-	jr nz, .asm_624f2 ; 0x624ed $3
-	ld hl, UnnamedText_624f8
-.asm_624f2
-	call PrintText
-	jp TextScriptEnd
-; 0x624f8
-
-UnnamedText_624f8: ; 0x624f8
-	TX_FAR _UnnamedText_624f8
-	db $50
-; 0x624f8 + 5 bytes
-
-UnnamedText_624fd: ; 0x624fd
-	TX_FAR _UnnamedText_624fd
-	db $50
-; 0x624fd + 5 bytes
-
-UnnamedText_62502: ; 0x62502
-	TX_FAR _UnnamedText_62502
-	db $50
-; 0x62502 + 5 bytes
-
-INCBIN "baserom.gbc",$62507,$62511 - $62507
-
-UnnamedText_62511: ; 0x62511
-	TX_FAR _UnnamedText_62511
-	db $50
-; 0x62511 + 5 bytes
-
-INCBIN "baserom.gbc",$62516,$1aea
-
-SECTION "bank19",DATA,BANK[$19]
-
-Tset00_GFX:
-	INCBIN "gfx/tilesets/00.2bpp"
-Tset00_Block:
-	INCBIN "gfx/blocksets/00.bst"
-Tset01_GFX:
-	INCBIN "gfx/tilesets/01.2bpp"
-Tset01_Block:
-	INCBIN "gfx/blocksets/01.bst"
-Tset08_GFX:
-	INCBIN "gfx/tilesets/08.2bpp"
-Tset08_Block:
-	INCBIN "gfx/blocksets/08.bst"
-Tset13_GFX:
-	INCBIN "gfx/tilesets/13.2bpp"
-Tset13_Block:
-	INCBIN "gfx/blocksets/13.bst"
-Tset0E_GFX:
-	INCBIN "gfx/tilesets/0e.2bpp"
-Tset0E_Block:
-	INCBIN "gfx/blocksets/0e.bst"
-Tset10_GFX:
-	INCBIN "gfx/tilesets/10.2bpp"
-Tset10_Block:
-	INCBIN "gfx/blocksets/10.bst"
-Tset17_GFX:
-	INCBIN "gfx/tilesets/17.2bpp"
-Tset17_Block:
-	INCBIN "gfx/blocksets/17.bst"
-
-SECTION "bank1A",DATA,BANK[$1A]
-
-DecrementPP: ; 0x68000
-; after using a move, decrement pp in battle and (if not transformed?) in party
-	ld a, [de]
-	cp a, STRUGGLE
-	ret z                ; if the pokemon is using "struggle", there's nothing to do
-                         ; we don't decrement PP for "struggle"
-	ld hl, W_PLAYERBATTSTATUS1
-	ld a, [hli]          ; load the W_PLAYERBATTSTATUS1 pokemon status flags and increment hl to load the
-                         ; W_PLAYERBATTSTATUS2 status flags later
-	and a, 7             ; check to see if bits 0, 1, or 2 are set
-	ret nz               ; if any of these statuses are true, don't decrement PP
-	bit 6, [hl]          ; check 6th bit status flag on W_PLAYERBATTSTATUS2
-	ret nz               ; and return if it is set
-	ld hl, $D02D         ; PP of first move (in battle)
-	call .DecrementPP\@
-
-	ld a, [$D064]        ; load pokemon status bits?
-	bit 3, a             ; XXX transform status?
-	ret nz               ; If it is, return.  Pokemon Red stores the "current pokemon's" PP
-                         ; separately from the "Pokemon in your party's" PP.  This is
-                         ; duplication -- in all cases *other* than Pokemon with Transform.
-                         ; Normally, this means we have to go on and make the same     
-                         ; modification to the "party's pokemon" PP that we made to the
-                         ; "current pokemon's" PP.  But, if we're dealing with a Transformed
-                         ; Pokemon, it has separate PP for the move set that it copied from
-                         ; its opponent, which is *not* the same as its real PP as part of your
-                         ; party.  So we return, and don't do that part.
-
-	ld hl, $D188         ; PP of first move (in party)
-	ld a, [$CC2F]        ; which mon in party is active
-	ld bc, $2C           ; XXX probably size of party pokemon's data structure
-	call AddNTimes       ; calculate address of the mon to modify
-.DecrementPP\@
-	ld a, [$CC2E]        ; which move (0, 1, 2, 3) did we use?
-	ld c, a
-	ld b, 0
-	add hl ,bc           ; calculate the address in memory of the PP we need to decrement
-                         ; based on the move chosen.
-	dec [hl]             ; Decrement PP
-	ret
-; 0x6802f
-
-Version_GFX:
-IF _RED
-	INCBIN "gfx/red/redgreenversion.1bpp"
-	; 80 bytes
-ENDC
-IF _BLUE
-	INCBIN "gfx/blue/blueversion.1bpp"
-	; 64 bytes
-ENDC
-
-Tset05_GFX:
-	INCBIN "gfx/tilesets/05.2bpp"
-Tset05_Block:
-	INCBIN "gfx/blocksets/05.bst"
-Tset02_GFX:
-	INCBIN "gfx/tilesets/02.2bpp"
-Tset02_Block:
-	INCBIN "gfx/blocksets/02.bst"
-Tset09_GFX:
-	INCBIN "gfx/tilesets/09.2bpp"
-Tset09_Block:
-	INCBIN "gfx/blocksets/09.bst"
-Tset03_GFX:
-	INCBIN "gfx/tilesets/03.2bpp"
-Tset03_Block:
-	INCBIN "gfx/blocksets/03.bst"
-Tset16_GFX:
-	INCBIN "gfx/tilesets/16.2bpp"
-Tset16_Block:
-	INCBIN "gfx/blocksets/16.bst"
-
-SECTION "bank1B",DATA,BANK[$1B]
-
-Tset0F_GFX:
-	INCBIN "gfx/tilesets/0f.2bpp"
-Tset0F_Block:
-	INCBIN "gfx/blocksets/0f.bst"
-Tset11_GFX:
-	INCBIN "gfx/tilesets/11.2bpp"
-Tset11_Block:
-	INCBIN "gfx/blocksets/11.bst"
-Tset12_GFX:
-	INCBIN "gfx/tilesets/12.2bpp"
-Tset12_Block:
-	INCBIN "gfx/blocksets/12.bst"
-Tset0D_GFX:
-	INCBIN "gfx/tilesets/0d.2bpp"
-Tset0D_Block:
-	INCBIN "gfx/blocksets/0d.bst"
-Tset14_GFX:
-	INCBIN "gfx/tilesets/14.2bpp"
-Tset14_Block:
-	INCBIN "gfx/blocksets/14.bst"
-Tset15_GFX:
-	INCBIN "gfx/tilesets/15.2bpp"
-Tset15_Block:
-	INCBIN "gfx/blocksets/15.bst"
-Tset0B_GFX:
-	INCBIN "gfx/tilesets/0b.2bpp"
-Tset0B_Block:
-	INCBIN "gfx/blocksets/0b.bst"
-
-SECTION "bank1C",DATA,BANK[$1C]
-
-INCBIN "baserom.gbc",$70000,$703fa - $70000
-
-UnnamedText_703fa: ; 0x703fa
-	TX_FAR _UnnamedText_703fa
-	db $50
-; 0x703fa + 5 bytes
-
-UnnamedText_703ff: ; 0x703ff
-	TX_FAR _UnnamedText_703ff
-	db $50
-; 0x703ff + 5 bytes
-
-INCBIN "baserom.gbc",$70404,$70847 - $70404
-
-UnnamedText_70847: ; 0x70847
-	TX_FAR _UnnamedText_70847
-	db $50
-; 0x70847 + 5 bytes
-
-UnnamedText_7084c: ; 0x7084c
-	TX_FAR _UnnamedText_7084c
-	db $50
-; 0x7084c + 5 bytes
-
-UnnamedText_70851: ; 0x70851
-	TX_FAR _UnnamedText_70851
-	db $50
-; 0x70851 + 5 bytes
-
-INCBIN "baserom.gbc",$70856,$8aa
-
-CompressedMap: ; 5100
-; you can decompress this file with the redrle program in the extras/ dir
-	INCBIN "baserom.gbc",$71100,$711AB-$71100
-
-INCBIN "baserom.gbc",$711AB,$71313-$711AB
-
-ExternalMapEntries: ; 5313
-	EMAP $2,$B,PalletTownName
-	EMAP $2,$8,ViridianCityName
-	EMAP $2,$3,PewterCityName
-	EMAP $A,$2,CeruleanCityName
-	EMAP $E,$5,LavenderTownName
-	EMAP $A,$9,VermilionCityName
-	EMAP $7,$5,CeladonCityName
-	EMAP $8,$D,FuchsiaCityName
-	EMAP $2,$F,CinnabarIslandName
-	EMAP $0,$2,IndigoPlateauName
-	EMAP $A,$5,SaffronCityName
-	EMAP $0,$0,PalletTownName ; unused
-	EMAP $2,$A,Route1Name
-	EMAP $2,$6,Route2Name
-	EMAP $4,$3,Route3Name
-	EMAP $8,$2,Route4Name
-	EMAP $A,$3,Route5Name
-	EMAP $A,$8,Route6Name
-	EMAP $8,$5,Route7Name
-	EMAP $D,$5,Route8Name
-	EMAP $D,$2,Route9Name
-	EMAP $E,$4,Route10Name
-	EMAP $C,$9,Route11Name
-	EMAP $E,$9,Route12Name
-	EMAP $D,$B,Route13Name
-	EMAP $B,$C,Route14Name
-	EMAP $A,$D,Route15Name
-	EMAP $5,$5,Route16Name
-	EMAP $4,$8,Route17Name
-	EMAP $6,$D,Route18Name
-	EMAP $6,$F,Route19Name
-	EMAP $4,$F,Route20Name
-	EMAP $2,$D,Route21Name
-	EMAP $0,$8,Route22Name
-	EMAP $0,$6,Route23Name
-	EMAP $A,$1,Route24Name
-	EMAP $B,$0,Route25Name
-
-InternalMapEntries: ; 5382
-	IMAP $29,$2,$B,PalletTownName
-	IMAP $2E,$2,$8,ViridianCityName
-	IMAP $33,$2,$6,Route2Name
-	IMAP $34,$2,$4,ViridianForestName
-	IMAP $3B,$2,$3,PewterCityName
-	IMAP $3E,$6,$2,MountMoonName
-	IMAP $44,$A,$2,CeruleanCityName
-	IMAP $45,$5,$2,Route4Name
-	IMAP $46,$A,$2,CeruleanCityName
-	IMAP $49,$A,$4,Route5Name
-	IMAP $4C,$A,$6,Route6Name
-	IMAP $4F,$9,$5,Route7Name
-	IMAP $51,$B,$5,Route8Name
-	IMAP $53,$E,$3,RockTunnelName
-	IMAP $54,$F,$4,PowerPlantName
-	IMAP $57,$D,$9,Route11Name
-	IMAP $58,$E,$7,Route12Name
-	IMAP $59,$C,$0,SeaCottageName
-	IMAP $5F,$A,$9,VermilionCityName
-	IMAP $69,$9,$A,SSAnneName
-	IMAP $6D,$0,$4,VictoryRoadName
-	IMAP $77,$0,$2,PokemonLeagueName
-	IMAP $78,$A,$5,UndergroundPathName
-	IMAP $79,$0,$2,PokemonLeagueName
-	IMAP $7A,$A,$5,UndergroundPathName
-	IMAP $8D,$7,$5,CeladonCityName
-	IMAP $8E,$E,$5,LavenderTownName
-	IMAP $95,$F,$5,PokemonTowerName
-	IMAP $98,$E,$5,LavenderTownName
-	IMAP $9C,$8,$D,FuchsiaCityName
-	IMAP $9D,$8,$C,SafariZoneName
-	IMAP $9F,$8,$D,FuchsiaCityName
-	IMAP $A3,$5,$F,SeafoamIslandsName
-	IMAP $A4,$A,$9,VermilionCityName
-	IMAP $A5,$8,$D,FuchsiaCityName
-	IMAP $A6,$2,$F,PokemonMansionName
-	IMAP $AE,$2,$F,CinnabarIslandName
-	IMAP $AF,$0,$2,IndigoPlateauName
-	IMAP $B8,$A,$5,SaffronCityName
-	IMAP $BA,$9,$D,Route15Name
-	IMAP $BD,$4,$5,Route16Name
-	IMAP $BE,$E,$A,Route12Name
-	IMAP $C0,$7,$D,Route18Name
-	IMAP $C1,$5,$F,SeafoamIslandsName
-	IMAP $C2,$0,$7,Route22Name
-	IMAP $C3,$0,$4,VictoryRoadName
-	IMAP $C4,$E,$7,Route12Name
-	IMAP $C5,$A,$9,VermilionCityName
-	IMAP $C6,$3,$4,DiglettsCaveName
-	IMAP $C7,$0,$4,VictoryRoadName
-	IMAP $CF,$7,$5,RocketHQName
-	IMAP $D6,$A,$5,SilphCoName
-	IMAP $D9,$2,$F,PokemonMansionName
-	IMAP $E2,$8,$C,SafariZoneName
-	IMAP $E5,$9,$1,CeruleanCaveName
-	IMAP $E6,$E,$5,LavenderTownName
-	IMAP $E7,$A,$2,CeruleanCityName
-	IMAP $E9,$E,$3,RockTunnelName
-	IMAP $ED,$A,$5,SilphCoName
-	IMAP $F8,$0,$2,PokemonLeagueName
-	db $FF
-
-MapNames: ; 5473
-PalletTownName:
-	db "PALLET TOWN@"
-ViridianCityName:
-	db "VIRIDIAN CITY@"
-PewterCityName:
-	db "PEWTER CITY@"
-CeruleanCityName:
-	db "CERULEAN CITY@"
-LavenderTownName:
-	db "LAVENDER TOWN@"
-VermilionCityName:
-	db "VERMILION CITY@"
-CeladonCityName:
-	db "CELADON CITY@"
-FuchsiaCityName:
-	db "FUCHSIA CITY@"
-CinnabarIslandName:
-	db "CINNABAR ISLAND@"
-IndigoPlateauName:
-	db "INDIGO PLATEAU@"
-SaffronCityName:
-	db "SAFFRON CITY@"
-Route1Name:
-	db "ROUTE 1@"
-Route2Name:
-	db "ROUTE 2@"
-Route3Name:
-	db "ROUTE 3@"
-Route4Name:
-	db "ROUTE 4@"
-Route5Name:
-	db "ROUTE 5@"
-Route6Name:
-	db "ROUTE 6@"
-Route7Name:
-	db "ROUTE 7@"
-Route8Name:
-	db "ROUTE 8@"
-Route9Name:
-	db "ROUTE 9@"
-Route10Name:
-	db "ROUTE 10@"
-Route11Name:
-	db "ROUTE 11@"
-Route12Name:
-	db "ROUTE 12@"
-Route13Name:
-	db "ROUTE 13@"
-Route14Name:
-	db "ROUTE 14@"
-Route15Name:
-	db "ROUTE 15@"
-Route16Name:
-	db "ROUTE 16@"
-Route17Name:
-	db "ROUTE 17@"
-Route18Name:
-	db "ROUTE 18@"
-Route19Name:
-	db "SEA ROUTE 19@"
-Route20Name:
-	db "SEA ROUTE 20@"
-Route21Name:
-	db "SEA ROUTE 21@"
-Route22Name:
-	db "ROUTE 22@"
-Route23Name:
-	db "ROUTE 23@"
-Route24Name:
-	db "ROUTE 24@"
-Route25Name:
-	db "ROUTE 25@"
-ViridianForestName:
-	db "VIRIDIAN FOREST@"
-MountMoonName:
-	db "MT.MOON@"
-RockTunnelName:
-	db "ROCK TUNNEL@"
-SeaCottageName:
-	db "SEA COTTAGE@"
-SSAnneName:
-	db "S.S.ANNE@"
-PokemonLeagueName:
-	db "#MON LEAGUE@"
-UndergroundPathName:
-	db "UNDERGROUND PATH@"
-PokemonTowerName:
-	db "#MON TOWER@"
-SeafoamIslandsName:
-	db "SEAFOAM ISLANDS@"
-VictoryRoadName:
-	db "VICTORY ROAD@"
-DiglettsCaveName:
-	db "DIGLETT's CAVE@"
-RocketHQName:
-	db "ROCKET HQ@"
-SilphCoName:
-	db "SILPH CO.@"
-PokemonMansionName:
-	db $4a," MANSION@"
-SafariZoneName:
-	db "SAFARI ZONE@"
-CeruleanCaveName:
-	db "CERULEAN CAVE@"
-PowerPlantName:
-	db "POWER PLANT@"
-
-INCBIN "baserom.gbc",$716BE,$71AD9-$716BE
-
-Predef54: ; 0x71ad9
-; trigger the trade offer/action specified by W_WHICHTRADE
-	call $36f4
-	ld hl,TradeMons
-	ld a,[W_WHICHTRADE]
-	ld b,a
-	swap a
-	sub b
-	sub b
-	ld c,a
-	ld b,$0
-	add hl,bc
-	ld a,[hli]
-	ld [$cd0f],a
-	ld a,[hli]
-	ld [$cd34],a
-	ld a,[hli]
-	push af
-	ld de,$cd29
-	ld bc,$000b
-	call CopyData
-	pop af
-	ld l,a
-	ld h,$0
-	ld de,$5d64
-	add hl,hl
-	add hl,de
-	ld a,[hli]
-	ld [$cd10],a
-	ld a,[hl]
-	ld [$cd11],a
-	ld a,[$cd0f]
-	ld de,$cd13
-	call Function71b6a
-	ld a,[$cd34]
-	ld de,$cd1e
-	call Function71b6a
-	ld hl,$d737
-	ld a,[W_WHICHTRADE]
-	ld c,a
-	ld b,$2
-	ld a,$10
-	call Predef
-	ld a,c
-	and a
-	ld a,$4
-	ld [$cd12],a
-	jr nz,.asm_99bca ; 0x71b36 $20
-	xor a
-	ld [$cd12],a
-	call .asm_99bca
-	ld a,$1
-	ld [$cd12],a
-	call $35ec
-	ld a,[$cc26]
-	and a
-	jr nz,.asm_99bca ; 0x71b4b $b
-	call Function71c07
-	jr c,.asm_99bca ; 0x71b50 $6
-	ld hl, UnnamedText_71d8d
-	call PrintText
-.asm_99bca ; 0x71b58
-	ld hl,$cd12
-	ld a,[hld]
-	ld e,a
-	ld d,$0
-	ld a,[hld]
-	ld l,[hl]
-	ld h,a
-	add hl,de
-	add hl,de
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	jp PrintText
-
-Function71b6a: ; 0x71b6a
-	push de
-	ld [$d11e],a
-	call GetMonName
-	ld hl,$cd6d
-	pop de
-	ld bc,$b
-	jp CopyData
-
-TradeMons: ; 5B7B
-; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total
-	db NIDORINO,  NIDORINA,  0,"TERRY@@@@@@"
-	db ABRA,      MR_MIME,  0,"MARCEL@@@@@"
-	db BUTTERFREE,BEEDRILL,  2,"CHIKUCHIKU@"
-	db PONYTA,    SEEL,      0,"SAILOR@@@@@"
-	db SPEAROW,   FARFETCH_D,2,"DUX@@@@@@@@"
-	db SLOWBRO,   LICKITUNG, 0,"MARC@@@@@@@"
-	db POLIWHIRL, JYNX,      1,"LOLA@@@@@@@"
-	db RAICHU,    ELECTRODE, 1,"DORIS@@@@@@"
-	db VENONAT,   TANGELA,   2,"CRINKLES@@@"
-	db NIDORAN_M, NIDORAN_F, 2,"SPOT@@@@@@@"
-
-Function71c07: ; 0x71c07
-	xor a
-	ld [$d07d],a
-	dec a
-	ld [$cfcb],a
-	call $13fc
-	push af
-	call $5ca2
-	pop af
-	ld a,$1
-	jp c,.asm_c4bc2
-	ld a,[$cd0f]
-	ld b,a
-	ld a,[$cf91]
-	cp b
-	ld a,$2
-	jr nz,.asm_c4bc2 ; 0x71c26 $75
-	ld a,[$cf92]
-	ld hl,$d18c
-	ld bc,$002c
-	call AddNTimes
-	ld a,[hl]
-	ld [$d127],a
-	ld hl,$d737
-	ld a,[W_WHICHTRADE]
-	ld c,a
-	ld b,$1
-	ld a,$10
-	call Predef
-	ld hl, UnnamedText_71d88
-	call PrintText
-	ld a,[$cf92]
-	push af
-	ld a,[$d127]
-	push af
-	call $36c0
-	call $5cc1
-	ld a,$38
-	call Predef
-	pop af
-	ld [$d127],a
-	pop af
-	ld [$cf92],a
-	ld a,[$cd34]
-	ld [$cf91],a
-	xor a
-	ld [$cc49],a
-	ld [$cf95],a
-	call $391f
-	ld a,$80
-	ld [$cc49],a
-	call AddPokemonToParty
-	call $5d19
-	ld hl,$7d7d
-	ld b,$5
-	call Bankswitch
-	call ClearScreen
-	call $5ca2
-	ld b,$3
-	ld hl,$6edc
-	call Bankswitch
-	and a
-	ld a,$3
-	jr .asm_ee803 ; 0x71c9b $1
-.asm_c4bc2 ; 0x71c9d
-	scf
-.asm_ee803 ; 0x71c9e
-	ld [$cd12],a
-	ret
-
-INCBIN "baserom.gbc",$71ca2,$71d88 - $71ca2
-
-UnnamedText_71d88: ; 0x71d88
-	TX_FAR _UnnamedText_71d88
-	db $50
-; 0x71d88 + 5 bytes
-
-UnnamedText_71d8d: ; 0x71d8d
-	TX_FAR _UnnamedText_71d8d ; 0xa80bc
-	db $11, $a, $50
-
-UnnamedText_71d94: ; 0x71d94
-	TX_FAR _UnnamedText_71d94
-	db $50
-; 0x71d94 + 5 bytes
-
-UnnamedText_71d99: ; 0x71d99
-	TX_FAR _UnnamedText_71d99
-	db $50
-; 0x71d99 + 5 bytes
-
-UnnamedText_71d9e: ; 0x71d9e
-	TX_FAR _UnnamedText_71d9e
-	db $50
-; 0x71d9e + 5 bytes
-
-UnnamedText_71da3: ; 0x71da3
-	TX_FAR _UnnamedText_71da3
-	db $50
-; 0x71da3 + 5 bytes
-
-UnnamedText_71da8: ; 0x71da8
-	TX_FAR _UnnamedText_71da8
-	db $50
-; 0x71da8 + 5 bytes
-
-UnnamedText_71dad: ; 0x71dad
-	TX_FAR _UnnamedText_71dad
-	db $50
-; 0x71dad + 5 bytes
-
-UnnamedText_71db2: ; 0x71db2
-	TX_FAR _UnnamedText_71db2
-	db $50
-; 0x71db2 + 5 bytes
-
-UnnamedText_71db7: ; 0x71db7
-	TX_FAR _UnnamedText_71db7
-	db $50
-; 0x71db7 + 5 bytes
-
-UnnamedText_71dbc: ; 0x71dbc
-	TX_FAR _UnnamedText_71dbc
-	db $50
-; 0x71dbc + 5 bytes
-
-UnnamedText_71dc1: ; 0x71dc1
-	TX_FAR _UnnamedText_71dc1
-	db $50
-; 0x71dc1 + 5 bytes
-
-UnnamedText_71dc6: ; 0x71dc6
-	TX_FAR _UnnamedText_71dc6
-	db $50
-; 0x71dc6 + 5 bytes
-
-UnnamedText_71dcb: ; 0x71dcb
-	TX_FAR _UnnamedText_71dcb
-	db $50
-; 0x71dcb + 5 bytes
-
-UnnamedText_71dd0: ; 0x71dd0
-	TX_FAR _UnnamedText_71dd0
-	db $50
-; 0x71dd0 + 5 bytes
-
-UnnamedText_71dd5: ; 0x71dd5
-	TX_FAR _UnnamedText_71dd5
-	db $50
-; 0x71dd5 + 5 bytes
-
-UnnamedText_71dda: ; 0x71dda
-	TX_FAR _UnnamedText_71dda
-	db $50
-; 0x71dda + 5 bytes
-
-INCBIN "baserom.gbc",$71ddf,$7e9
-
-MonsterPalettes: ; 65C8
-	db PAL_MEWMON    ; MISSINGNO
-	db PAL_GREENMON  ; BULBASAUR
-	db PAL_GREENMON  ; IVYSAUR
-	db PAL_GREENMON  ; VENUSAUR
-	db PAL_REDMON    ; CHARMANDER
-	db PAL_REDMON    ; CHARMELEON
-	db PAL_REDMON    ; CHARIZARD
-	db PAL_CYANMON   ; SQUIRTLE
-	db PAL_CYANMON   ; WARTORTLE
-	db PAL_CYANMON   ; BLASTOISE
-	db PAL_GREENMON  ; CATERPIE
-	db PAL_GREENMON  ; METAPOD
-	db PAL_CYANMON   ; BUTTERFREE
-	db PAL_YELLOWMON ; WEEDLE
-	db PAL_YELLOWMON ; KAKUNA
-	db PAL_YELLOWMON ; BEEDRILL
-	db PAL_BROWNMON  ; PIDGEY
-	db PAL_BROWNMON  ; PIDGEOTTO
-	db PAL_BROWNMON  ; PIDGEOT
-	db PAL_GREYMON   ; RATTATA
-	db PAL_GREYMON   ; RATICATE
-	db PAL_BROWNMON  ; SPEAROW
-	db PAL_BROWNMON  ; FEAROW
-	db PAL_PURPLEMON ; EKANS
-	db PAL_PURPLEMON ; ARBOK
-	db PAL_YELLOWMON ; PIKACHU
-	db PAL_YELLOWMON ; RAICHU
-	db PAL_BROWNMON  ; SANDSHREW
-	db PAL_BROWNMON  ; SANDSLASH
-	db PAL_BLUEMON   ; NIDORAN_F
-	db PAL_BLUEMON   ; NIDORINA
-	db PAL_BLUEMON   ; NIDOQUEEN
-	db PAL_PURPLEMON ; NIDORAN_M
-	db PAL_PURPLEMON ; NIDORINO
-	db PAL_PURPLEMON ; NIDOKING
-	db PAL_PINKMON   ; CLEFAIRY
-	db PAL_PINKMON   ; CLEFABLE
-	db PAL_REDMON    ; VULPIX
-	db PAL_YELLOWMON ; NINETALES
-	db PAL_PINKMON   ; JIGGLYPUFF
-	db PAL_PINKMON   ; WIGGLYTUFF
-	db PAL_BLUEMON   ; ZUBAT
-	db PAL_BLUEMON   ; GOLBAT
-	db PAL_GREENMON  ; ODDISH
-	db PAL_REDMON    ; GLOOM
-	db PAL_REDMON    ; VILEPLUME
-	db PAL_REDMON    ; PARAS
-	db PAL_REDMON    ; PARASECT
-	db PAL_PURPLEMON ; VENONAT
-	db PAL_PURPLEMON ; VENOMOTH
-	db PAL_BROWNMON  ; DIGLETT
-	db PAL_BROWNMON  ; DUGTRIO
-	db PAL_YELLOWMON ; MEOWTH
-	db PAL_YELLOWMON ; PERSIAN
-	db PAL_YELLOWMON ; PSYDUCK
-	db PAL_CYANMON   ; GOLDUCK
-	db PAL_BROWNMON  ; MANKEY
-	db PAL_BROWNMON  ; PRIMEAPE
-	db PAL_BROWNMON  ; GROWLITHE
-	db PAL_REDMON    ; ARCANINE
-	db PAL_BLUEMON   ; POLIWAG
-	db PAL_BLUEMON   ; POLIWHIRL
-	db PAL_BLUEMON   ; POLIWRATH
-	db PAL_YELLOWMON ; ABRA
-	db PAL_YELLOWMON ; KADABRA
-	db PAL_YELLOWMON ; ALAKAZAM
-	db PAL_GREYMON   ; MACHOP
-	db PAL_GREYMON   ; MACHOKE
-	db PAL_GREYMON   ; MACHAMP
-	db PAL_GREENMON  ; BELLSPROUT
-	db PAL_GREENMON  ; WEEPINBELL
-	db PAL_GREENMON  ; VICTREEBEL
-	db PAL_CYANMON   ; TENTACOOL
-	db PAL_CYANMON   ; TENTACRUEL
-	db PAL_GREYMON   ; GEODUDE
-	db PAL_GREYMON   ; GRAVELER
-	db PAL_GREYMON   ; GOLEM
-	db PAL_REDMON    ; PONYTA
-	db PAL_REDMON    ; RAPIDASH
-	db PAL_PINKMON   ; SLOWPOKE
-	db PAL_PINKMON   ; SLOWBRO
-	db PAL_GREYMON   ; MAGNEMITE
-	db PAL_GREYMON   ; MAGNETON
-	db PAL_BROWNMON  ; FARFETCH_D
-	db PAL_BROWNMON  ; DODUO
-	db PAL_BROWNMON  ; DODRIO
-	db PAL_BLUEMON   ; SEEL
-	db PAL_BLUEMON   ; DEWGONG
-	db PAL_PURPLEMON ; GRIMER
-	db PAL_PURPLEMON ; MUK
-	db PAL_GREYMON   ; SHELLDER
-	db PAL_GREYMON   ; CLOYSTER
-	db PAL_PURPLEMON ; GASTLY
-	db PAL_PURPLEMON ; HAUNTER
-	db PAL_PURPLEMON ; GENGAR
-	db PAL_GREYMON   ; ONIX
-	db PAL_YELLOWMON ; DROWZEE
-	db PAL_YELLOWMON ; HYPNO
-	db PAL_REDMON    ; KRABBY
-	db PAL_REDMON    ; KINGLER
-	db PAL_YELLOWMON ; VOLTORB
-	db PAL_YELLOWMON ; ELECTRODE
-	db PAL_PINKMON   ; EXEGGCUTE
-	db PAL_GREENMON  ; EXEGGUTOR
-	db PAL_GREYMON   ; CUBONE
-	db PAL_GREYMON   ; MAROWAK
-	db PAL_BROWNMON  ; HITMONLEE
-	db PAL_BROWNMON  ; HITMONCHAN
-	db PAL_PINKMON   ; LICKITUNG
-	db PAL_PURPLEMON ; KOFFING
-	db PAL_PURPLEMON ; WEEZING
-	db PAL_GREYMON   ; RHYHORN
-	db PAL_GREYMON   ; RHYDON
-	db PAL_PINKMON   ; CHANSEY
-	db PAL_BLUEMON   ; TANGELA
-	db PAL_BROWNMON  ; KANGASKHAN
-	db PAL_CYANMON   ; HORSEA
-	db PAL_CYANMON   ; SEADRA
-	db PAL_REDMON    ; GOLDEEN
-	db PAL_REDMON    ; SEAKING
-	db PAL_REDMON    ; STARYU
-	db PAL_GREYMON   ; STARMIE
-	db PAL_PINKMON   ; MR_MIME
-	db PAL_GREENMON  ; SCYTHER
-	db PAL_MEWMON    ; JYNX
-	db PAL_YELLOWMON ; ELECTABUZZ
-	db PAL_REDMON    ; MAGMAR
-	db PAL_BROWNMON  ; PINSIR
-	db PAL_GREYMON   ; TAUROS
-	db PAL_REDMON    ; MAGIKARP
-	db PAL_BLUEMON   ; GYARADOS
-	db PAL_CYANMON   ; LAPRAS
-	db PAL_GREYMON   ; DITTO
-	db PAL_GREYMON   ; EEVEE
-	db PAL_CYANMON   ; VAPOREON
-	db PAL_YELLOWMON ; JOLTEON
-	db PAL_REDMON    ; FLAREON
-	db PAL_GREYMON   ; PORYGON
-	db PAL_BLUEMON   ; OMANYTE
-	db PAL_BLUEMON   ; OMASTAR
-	db PAL_BROWNMON  ; KABUTO
-	db PAL_BROWNMON  ; KABUTOPS
-	db PAL_GREYMON   ; AERODACTYL
-	db PAL_PINKMON   ; SNORLAX
-	db PAL_BLUEMON   ; ARTICUNO
-	db PAL_YELLOWMON ; ZAPDOS
-	db PAL_REDMON    ; MOLTRES
-	db PAL_GREYMON   ; DRATINI
-	db PAL_BLUEMON   ; DRAGONAIR
-	db PAL_BROWNMON  ; DRAGONITE
-	db PAL_MEWMON    ; MEWTWO
-	db PAL_MEWMON    ; MEW
-
-; palettes for overworlds, title screen, monsters
-SuperPalettes: ; 6660
-	RGB 31,29,31 ; PAL_ROUTE
-	RGB 21,28,11
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_PALLET
-	RGB 25,28,27
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_VIRIDIAN
-	RGB 17,26,3
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_PEWTER
-	RGB 23,25,16
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_CERULEAN
-	RGB 17,20,30
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_LAVENDER
-	RGB 27,20,27
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_VERMILION
-	RGB 30,18,0
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_CELADON
-	RGB 16,30,22
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_FUCHSIA
-	RGB 31,15,22
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_CINNABAR
-	RGB 26,10,6
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_INDIGO
-	RGB 22,14,24
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_SAFFRON
-	RGB 27,27,3
-	RGB 20,26,31
-	RGB 3,2,2
-	RGB 31,29,31 ; XXX
-	RGB 20,26,31
-	RGB 17,23,10
-	RGB 3,2,2
-IF _RED
-	RGB 31,29,31 ; PAL_LOGO1
-	RGB 30,30,17
-	RGB 17,23,10
-	RGB 21,0,4
-ENDC
-IF _BLUE
-	RGB 31,29,31 ; PAL_LOGO1
-	RGB 30,30,17
-	RGB 21,0,4
-	RGB 14,19,29
-ENDC
-	RGB 31,29,31 ; XXX
-	RGB 30,30,17
-	RGB 18,18,24
-	RGB 7,7,16
-	RGB 31,29,31 ; PAL_LOGO2
-	RGB 24,20,30
-	RGB 11,20,30
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_MEWMON
-	RGB 30,22,17
-	RGB 16,14,19
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_BLUEMON
-	RGB 18,20,27
-	RGB 11,15,23
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_REDMON
-	RGB 31,20,10
-	RGB 26,10,6
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_CYANMON
-	RGB 21,25,29
-	RGB 14,19,25
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_PURPLEMON
-	RGB 27,22,24
-	RGB 21,15,23
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_BROWNMON
-	RGB 28,20,15
-	RGB 21,14,9
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_GREENMON
-	RGB 20,26,16
-	RGB 9,20,11
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_PINKMON
-	RGB 30,22,24
-	RGB 28,15,21
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_YELLOWMON
-	RGB 31,28,14
-	RGB 26,20,0
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_GREYMON
-	RGB 26,21,22
-	RGB 15,15,18
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_SLOTS1
-	RGB 26,21,22
-	RGB 27,20,6
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_SLOTS2
-	RGB 31,31,17
-IF _RED
-	RGB 25,17,21
-ENDC
-IF _BLUE
-	RGB 16,19,29
-ENDC
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_SLOTS3
-	RGB 22,31,16
-IF _RED
-	RGB 25,17,21
-ENDC
-IF _BLUE
-	RGB 16,19,29
-ENDC
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_SLOTS4
-IF _RED
-	RGB 16,19,29
-	RGB 25,17,21
-ENDC
-IF _BLUE
-	RGB 25,17,21
-	RGB 16,19,29
-ENDC
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_BLACK
-	RGB 7,7,7
-	RGB 2,3,3
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_GREENBAR
-	RGB 30,26,15
-	RGB 9,20,11
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_YELLOWBAR
-	RGB 30,26,15
-	RGB 26,20,0
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_REDBAR
-	RGB 30,26,15
-	RGB 26,10,6
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_BADGE
-	RGB 30,22,17
-	RGB 11,15,23
-	RGB 3,2,2
-	RGB 31,29,31 ; PAL_CAVE
-	RGB 21,14,9
-	RGB 18,24,22
-	RGB 3,2,2
-	RGB 31,29,31 ; XXX
-	RGB 31,28,14
-	RGB 24,20,10
-	RGB 3,2,2
-BorderPalettes: ; 6788
-
-IF _RED
-	INCBIN "gfx/red/sgbborder.map"
-ENDC
-IF _BLUE
-	INCBIN "gfx/blue/sgbborder.map"
-ENDC
-
-INCBIN "baserom.gbc",$72E88,$2F88 - $2E88 ; All $00s
-IF _RED
-	RGB 30,29,29 ; PAL_SGB1
-	RGB 25,22,25
-	RGB 25,17,21
-	RGB 24,14,12
-ENDC
-IF _BLUE
-	RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O)
-	RGB 10,17,26
-	RGB 5,9,20
-	RGB 16,20,27
-ENDC
-
-INCBIN "baserom.gbc",$72F90,$2FA8 - $2F90 ; All $00s
-
-IF _RED
-	RGB 30,29,29 ; PAL_SGB2
-	RGB 22,31,16
-	RGB 27,20,6
-	RGB 15,15,15
-ENDC
-IF _BLUE
-	RGB 30,29,29 ; PAL_SGB2
-	RGB 27,11,6
-	RGB 5,9,20
-	RGB 28,25,15
-ENDC
-
-INCBIN "baserom.gbc",$72FB0,$2FC8 - $2FB0 ; All $00s
-
-IF _RED
-	RGB 30,29,29 ; PAL_SGB3
-	RGB 31,31,17
-	RGB 18,21,29
-	RGB 15,15,15
-ENDC
-IF _BLUE
-	RGB 30,29,29 ; PAL_SGB3
-	RGB 12,15,11
-	RGB 5,9,20
-	RGB 14,22,17
-ENDC
-
-INCBIN "baserom.gbc",$72FD0,$2FE8 - $2FD0 ; All $00s
-
-IF _RED
-	INCBIN "gfx/red/sgbborder.2bpp"
-ENDC
-IF _BLUE
-	INCBIN "gfx/blue/sgbborder.2bpp"
-ENDC
-
-INCBIN "baserom.gbc",$735e8,$7361e - $735e8
-
-UnnamedText_7361e: ; 0x7361e
-	TX_FAR _UnnamedText_7361e
-	db $50
-; 0x7361e + 5 bytes
-
-INCBIN "baserom.gbc",$73623,$7377d - $73623
-
-UnnamedText_7377d: ; 0x7377d
-	TX_FAR _UnnamedText_7377d
-	db $50
-; 0x7377d + 5 bytes
-
-UnnamedText_73782: ; 0x73782
-	TX_FAR _UnnamedText_73782
-	db $50
-; 0x73782 + 5 bytes
-
-UnnamedText_73787: ; 0x73787
-	TX_FAR _UnnamedText_73787
-	db $50
-; 0x73787 + 5 bytes
-
-INCBIN "baserom.gbc",$7378c,$73909 - $7378c
-
-UnnamedText_73909: ; 0x73909
-	TX_FAR _UnnamedText_73909
-	db $50
-; 0x73909 + 5 bytes
-
-INCBIN "baserom.gbc",$7390e,$739d4 - $7390e
-
-UnnamedText_739d4: ; 0x739d4
-	TX_FAR _UnnamedText_739d4
-	db $50
-; 0x739d4 + 5 bytes
-
-INCBIN "baserom.gbc",$739d9,$627
-
-SECTION "bank1D",DATA,BANK[$1D]
-
-CopycatsHouseF1Blocks: ; 0x74000
-	INCBIN "maps/copycatshousef1.blk"
-
-CinnabarMartBlocks:
-PewterMartBlocks: ; 0x74010 16
-	INCBIN "maps/pewtermart.blk"
-
-FuchsiaHouse1Blocks: ; 0x74020 16
-	INCBIN "maps/fuchsiahouse1.blk"
-
-CinnabarPokecenterBlocks:
-FuchsiaPokecenterBlocks: ; 0x74030 28
-	INCBIN "maps/fuchsiapokecenter.blk"
-
-CeruleanHouse3Blocks: ; 0x7404c 16
-	INCBIN "maps/ceruleanhouse3.blk"
-
-INCBIN "baserom.gbc",$7405c,$6f
-
-Func40CB: ; 40CB
-	xor a
-	ld [$FFBA],a
-	call $3719
-	call $4183
-
-	; display the next monster from CreditsMons
-	ld hl,$CD3E
-	ld c,[hl] ; how many monsters have we displayed so far?
-	inc [hl]
-	ld b,0
-	ld hl,CreditsMons
-	add hl,bc ; go that far in the list of monsters and get the next one
-	ld a,[hl]
-	ld [$CF91],a
-	ld [$D0B5],a
-	ld hl,$C420
-	call $1537
-	call $1389
-	ld hl,$980C
-	call $4164
-	xor a
-	ld [$FFBA],a
-	call $3725
-	ld hl,$9800
-	call $4164
-	ld a,$A7
-	ld [$FF4B],a
-	ld hl,$9C00
-	call $4164
-	call $4183
-	ld a,$FC
-	ld [$FF47],a
-	ld bc,7
-.next\@
-	call $4140
-	dec c
-	jr nz,.next\@
-	ld c,$14
-.next2\@
-	call $4140
-	ld a,[$FF4B]
-	sub 8
-	ld [$FF4B],a
-	dec c
-	jr nz,.next2\@
-	xor a
-	ld [$FFB0],a
-	ld a,$C0
-	ld [$FF47],a
-	ret
-
-CreditsMons: ; 4131
-	db VENUSAUR
-	db ARBOK
-	db RHYHORN
-	db FEAROW
-	db ABRA
-	db GRAVELER
-	db HITMONLEE
-	db TANGELA
-	db STARMIE
-	db GYARADOS
-	db DITTO
-	db OMASTAR
-	db VILEPLUME
-	db NIDOKING
-	db PARASECT
-
-INCBIN "baserom.gbc",$74140,$2C3 - $140
-
-CreditsTextPointers: ; 42C3
-
-	dw CredVersion
-	dw CredTajiri
-	dw CredTaOota
-	dw CredMorimoto
-	dw CredWatanabe
-	dw CredMasuda
-	dw CredNisino
-	dw CredSugimori
-	dw CredNishida
-	dw CredMiyamoto
-	dw CredKawaguchi
-	dw CredIshihara
-	dw CredYamauchi
-	dw CredZinnai
-	dw CredHishida
-	dw CredSakai
-	dw CredYamaguchi
-	dw CredYamamoto
-	dw CredTaniguchi
-	dw CredNonomura
-	dw CredFuziwara
-	dw CredMatsusima
-	dw CredTomisawa
-	dw CredKawamoto
-	dw CredKakei
-	dw CredTsuchiya
-	dw CredTaNakamura
-	dw CredYuda
-	dw CredMon
-	dw CredDirector
-	dw CredProgrammers
-	dw CredCharDesign
-	dw CredMusic
-	dw CredSoundEffects
-	dw CredGameDesign
-	dw CredMonsterDesign
-	dw CredGameScene
-	dw CredParam
-	dw CredMap
-	dw CredTest
-	dw CredSpecial
-	dw CredProducers
-	dw CredProducer
-	dw CredExecutive
-	dw CredTamada
-	dw CredSaOota
-	dw CredYoshikawa
-	dw CredToOota
-	dw CredUSStaff
-	dw CredUSCoord
-	dw CredTilden
-	dw CredKawakami
-	dw CredHiNakamura
-	dw CredGiese
-	dw CredOsborne
-	dw CredTrans
-	dw CredOgasawara
-	dw CredIwata
-	dw CredIzushi
-	dw CredHarada
-	dw CredMurakawa
-	dw CredFukui
-	dw CredClub
-	dw CredPAAD
-
-CredVersion:
-IF _RED
-	db "2RED VERSION STAFF@"
-ENDC
-IF _BLUE
-	db "2BLUE VERSION STAFF@"
-ENDC
-CredTajiri:
-	db "4SATOSHI TAJIRI@"
-CredTaOota:
-	db "4TAKENORI OOTA@"
-CredMorimoto:
-	db "3SHIGEKI MORIMOTO@"
-CredWatanabe:
-	db "3TETSUYA WATANABE@"
-CredMasuda:
-	db "4JUNICHI MASUDA@"
-CredNisino:
-	db "5KOHJI NISINO@"
-CredSugimori:
-	db "5KEN SUGIMORI@"
-CredNishida:
-	db "4ATSUKO NISHIDA@"
-CredMiyamoto:
-	db "3SHIGERU MIYAMOTO@"
-CredKawaguchi:
-	db "2TAKASHI KAWAGUCHI@"
-CredIshihara:
-	db "2TSUNEKAZU ISHIHARA@"
-CredYamauchi:
-	db "3HIROSHI YAMAUCHI@"
-CredZinnai:
-	db "3HIROYUKI ZINNAI@"
-CredHishida:
-	db "3TATSUYA HISHIDA@"
-CredSakai:
-	db "4YASUHIRO SAKAI@"
-CredYamaguchi:
-	db "3WATARU YAMAGUCHI@"
-CredYamamoto:
-	db "2KAZUYUKI YAMAMOTO@"
-CredTaniguchi:
-	db "2RYOHSUKE TANIGUCHI@"
-CredNonomura:
-	db "2FUMIHIRO NONOMURA@"
-CredFuziwara:
-	db "3MOTOFUMI FUZIWARA@"
-CredMatsusima:
-	db "3KENJI MATSUSIMA@"
-CredTomisawa:
-	db "3AKIHITO TOMISAWA@"
-CredKawamoto:
-	db "3HIROSHI KAWAMOTO@"
-CredKakei:
-	db "4AKIYOSHI KAKEI@"
-CredTsuchiya:
-	db "3KAZUKI TSUCHIYA@"
-CredTaNakamura:
-	db "4TAKEO NAKAMURA@"
-CredYuda:
-	db "4MASAMITSU YUDA@"
-CredMon:
-	db "7#MON@"
-CredDirector:
-	db "7DIRECTOR@"
-CredProgrammers:
-	db "5PROGRAMMERS@"
-CredCharDesign:
-	db "3CHARACTER DESIGN@"
-CredMusic:
-	db "8MUSIC@"
-CredSoundEffects:
-	db "4SOUND EFFECTS@"
-CredGameDesign:
-	db "5GAME DESIGN@"
-CredMonsterDesign:
-	db "4MONSTER DESIGN@"
-CredGameScene:
-	db "4GAME SCENARIO@"
-CredParam:
-	db "2PARAMETRIC DESIGN@"
-CredMap:
-	db "6MAP DESIGN@"
-CredTest:
-	db "3PRODUCT TESTING@"
-CredSpecial:
-	db "4SPECIAL THANKS@"
-CredProducers:
-	db "6PRODUCERS@"
-CredProducer:
-	db "6PRODUCER@"
-CredExecutive:
-	db "2EXECUTIVE PRODUCER@"
-CredTamada:
-	db "4SOUSUKE TAMADA@"
-CredSaOota:
-	db "5SATOSHI OOTA@"
-CredYoshikawa:
-	db "4RENA YOSHIKAWA@"
-CredToOota:
-	db "4TOMOMICHI OOTA@"
-CredUSStaff:
-	db "3US VERSION STAFF@"
-CredUSCoord:
-	db "3US COORDINATION@"
-CredTilden:
-	db "5GAIL TILDEN@"
-CredKawakami:
-	db "4NAOKO KAWAKAMI@"
-CredHiNakamura:
-	db "4HIRO NAKAMURA@"
-CredGiese:
-	db "4WILLIAM GIESE@"
-CredOsborne:
-	db "5SARA OSBORNE@"
-CredTrans:
-	db "3TEXT TRANSLATION@"
-CredOgasawara:
-	db "4NOB OGASAWARA@"
-CredIwata:
-	db "5SATORU IWATA@"
-CredIzushi:
-	db "3TAKEHIRO IZUSHI@"
-CredHarada:
-	db "3TAKAHIRO HARADA@"
-CredMurakawa:
-	db "3TERUKI MURAKAWA@"
-CredFukui:
-	db "5KOHTA FUKUI@"
-CredClub:
-	db "1NCL SUPER MARIO CLUB@"
-CredPAAD:
-	db "5PAAD TESTING@"
-
-TheEndGfx: ; 473E
-	INCBIN "gfx/theend.2bpp"
-
-INCBIN "baserom.gbc",$747de,$74872 - $747de
-
-Unnamed_ASM_74872: ; 0x74872
-                    ; code similar to this appears in a lot of banks; this particular
-	call $20EF		; one is called after you beat the Rocket that gives you TM28 DIG
-	ld a, $07		; the screen then fades out, he disappears, and fades back in
-	ld [$CC4D], a
-	ld a, $15
-	call $3E6D
-	ld a, $09
-	ld [$CC4D], a
-	ld a, $11
-	call $3E6D
-	ld a, $06
-	ld [$CC4D], a
-	ld a, $11
-	call Predef
-	call $20D1
-	ret
-
-ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45)
-	db $07 ; tileset
-	db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x)
-	dw ViridianGymBlocks, ViridianGymTexts, ViridianGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw ViridianGymObject ; objects
-
-ViridianGymScript: ; 0x748a3
-	ld hl, Gym8CityName
-	ld de, Gym8LeaderName
-	call $317f
-	call $3c3c
-	ld hl, ViridianGymTrainerHeaders
-	ld de, $48e1
-	ld a, [$d5fb]
-	call $3160
-	ld [$d5fb], a
-	ret
-; 0x748bf
-
-Gym8CityName:
-	db "VIRIDIAN CITY@"
-Gym8LeaderName:
-	db "GIOVANNI@"
-
-INCBIN "baserom.gbc",$748D6,$116
-
-ViridianGymTexts: ; 0x749ec
-	dw ViridianGymText1, ViridianGymText2, ViridianGymText3, ViridianGymText4, ViridianGymText5, ViridianGymText6, ViridianGymText7, ViridianGymText8, ViridianGymText9, ViridianGymText10, ViridianGymText11, ViridianGymText12, ViridianGymText13, ViridianGymText14
-
-ViridianGymTrainerHeaders:
-ViridianGymTrainerHeader1: ; 0x74a08
-	db $2 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74afd ; 0x4afd TextBeforeBattle
-	dw UnnamedText_74b07 ; 0x4b07 TextAfterBattle
-	dw UnnamedText_74b02 ; 0x4b02 TextEndBattle
-	dw UnnamedText_74b02 ; 0x4b02 TextEndBattle
-; 0x74a14
-
-TrainerHeader_74a14: ; 0x74a14
-	db $3 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74b16 ; 0x4b16 TextBeforeBattle
-	dw UnnamedText_74b20 ; 0x4b20 TextAfterBattle
-	dw UnnamedText_74b1b ; 0x4b1b TextEndBattle
-	dw UnnamedText_74b1b ; 0x4b1b TextEndBattle
-; 0x74a20
-
-TrainerHeader_74a20: ; 0x74a20
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74b2f ; 0x4b2f TextBeforeBattle
-	dw UnnamedText_74b39 ; 0x4b39 TextAfterBattle
-	dw UnnamedText_74b34 ; 0x4b34 TextEndBattle
-	dw UnnamedText_74b34 ; 0x4b34 TextEndBattle
-; 0x74a2c
-
-TrainerHeader_74a2c: ; 0x74a2c
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74b48 ; 0x4b48 TextBeforeBattle
-	dw UnnamedText_74b52 ; 0x4b52 TextAfterBattle
-	dw UnnamedText_74b4d ; 0x4b4d TextEndBattle
-	dw UnnamedText_74b4d ; 0x4b4d TextEndBattle
-; 0x74a38
-
-TrainerHeader_74a38: ; 0x74a38
-	db $6 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74b61 ; 0x4b61 TextBeforeBattle
-	dw UnnamedText_74b6b ; 0x4b6b TextAfterBattle
-	dw UnnamedText_74b66 ; 0x4b66 TextEndBattle
-	dw UnnamedText_74b66 ; 0x4b66 TextEndBattle
-; 0x74a44
-
-TrainerHeader_74a44: ; 0x74a44
-	db $7 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74b7a ; 0x4b7a TextBeforeBattle
-	dw UnnamedText_74b84 ; 0x4b84 TextAfterBattle
-	dw UnnamedText_74b7f ; 0x4b7f TextEndBattle
-	dw UnnamedText_74b7f ; 0x4b7f TextEndBattle
-; 0x74a50
-
-TrainerHeader_74a50: ; 0x74a50
-	db $8 ; flag's bit
-	db ($3 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74b93 ; 0x4b93 TextBeforeBattle
-	dw UnnamedText_74b9d ; 0x4b9d TextAfterBattle
-	dw UnnamedText_74b98 ; 0x4b98 TextEndBattle
-	dw UnnamedText_74b98 ; 0x4b98 TextEndBattle
-; 0x74a5c
-
-TrainerHeader_74a5c: ; 0x74a5c
-	db $9 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d751 ; flag's byte
-	dw UnnamedText_74bac ; 0x4bac TextBeforeBattle
-	dw UnnamedText_74bb6 ; 0x4bb6 TextAfterBattle
-	dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle
-	dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle
-; 0x74a68
-
-db $ff
-
-ViridianGymText1: ; 0x74a69
-	db $08 ; asm
-	ld a, [$d751]
-	bit 1, a
-	jr z, .asm_6de66 ; 0x74a6f
-	bit 0, a
-	jr nz, .asm_9fc95 ; 0x74a73
-	call z, $4995
-	call $30b6
-	jr .asm_6dff7 ; 0x74a7b
-.asm_9fc95 ; 0x74a7d
-	ld a, $1
-	ld [$cc3c], a
-	ld hl, UnnamedText_74ad9
-	call PrintText
-	call $20ef
-	ld a, $32
-	ld [$cc4d], a
-	ld a, $11
-	call Predef
-	call $2429
-	call Delay3
-	call $20d1
-	jr .asm_6dff7 ; 0x74a9e
-.asm_6de66 ; 0x74aa0
-	ld hl, UnnamedText_74ace
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $4ad3
-	ld de, $4ad3
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $8
-	ld [$d05c], a
-	ld a, $3
-	ld [$d5fb], a
-.asm_6dff7 ; 0x74acb
-	jp TextScriptEnd
-
-UnnamedText_74ace: ; 0x74ace
-	TX_FAR _UnnamedText_74ace
-	db $50
-; 0x74ace + 5 bytes
-
-UnnamedText_74ad3: ; 0x74ad3
-	TX_FAR _UnnamedText_74ad3
-	db $0b, $50
-; 0x74ad9
-
-UnnamedText_74ad9: ; 0x74ad9
-	TX_FAR _UnnamedText_74ad9
-	db $0d, $50
-; 0x74add
-
-ViridianGymText12: ; 0x74adf
-	TX_FAR _ViridianGymText12
-	db $50
-; 0x74adf + 5 bytes
-
-ViridianGymText13: ; 0x74ae4
-	TX_FAR _UnnamedText_74ae4
-	db $0b
-
-UnnamedText_74ae9:
-	TX_FAR _UnnamedText_74ae9
-	db $50
-
-ViridianGymText14: ; 0x74aee
-	TX_FAR _UnnamedText_74aee
-	db $50
-; 0x74aee + 5 bytes
-
-ViridianGymText2: ; 0x74af3
-	db $08 ; asm
-	ld hl, ViridianGymTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74afd: ; 0x74afd
-	TX_FAR _UnnamedText_74afd
-	db $50
-; 0x74afd + 5 bytes
-
-UnnamedText_74b02: ; 0x74b02
-	TX_FAR _UnnamedText_74b02
-	db $50
-; 0x74b02 + 5 bytes
-
-UnnamedText_74b07: ; 0x74b07
-	TX_FAR _UnnamedText_74b07
-	db $50
-; 0x74b07 + 5 bytes
-
-ViridianGymText3: ; 0x74b0c
-	db $08 ; asm
-	ld hl, TrainerHeader_74a14
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74b16: ; 0x74b16
-	TX_FAR _UnnamedText_74b16
-	db $50
-; 0x74b16 + 5 bytes
-
-UnnamedText_74b1b: ; 0x74b1b
-	TX_FAR _UnnamedText_74b1b
-	db $50
-; 0x74b1b + 5 bytes
-
-UnnamedText_74b20: ; 0x74b20
-	TX_FAR _UnnamedText_74b20
-	db $50
-; 0x74b20 + 5 bytes
-
-ViridianGymText4: ; 0x74b25
-	db $08 ; asm
-	ld hl, TrainerHeader_74a20
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74b2f: ; 0x74b2f
-	TX_FAR _UnnamedText_74b2f
-	db $50
-; 0x74b2f + 5 bytes
-
-UnnamedText_74b34: ; 0x74b34
-	TX_FAR _UnnamedText_74b34
-	db $50
-; 0x74b34 + 5 bytes
-
-UnnamedText_74b39: ; 0x74b39
-	TX_FAR _UnnamedText_74b39
-	db $50
-; 0x74b39 + 5 bytes
-
-ViridianGymText5: ; 0x74b3e
-	db $08 ; asm
-	ld hl, TrainerHeader_74a2c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74b48: ; 0x74b48
-	TX_FAR _UnnamedText_74b48
-	db $50
-; 0x74b48 + 5 bytes
-
-UnnamedText_74b4d: ; 0x74b4d
-	TX_FAR _UnnamedText_74b4d
-	db $50
-; 0x74b4d + 5 bytes
-
-UnnamedText_74b52: ; 0x74b52
-	TX_FAR _UnnamedText_74b52
-	db $50
-; 0x74b52 + 5 bytes
-
-ViridianGymText6: ; 0x74b57
-	db $08 ; asm
-	ld hl, TrainerHeader_74a38
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74b61: ; 0x74b61
-	TX_FAR _UnnamedText_74b61
-	db $50
-; 0x74b61 + 5 bytes
-
-UnnamedText_74b66: ; 0x74b66
-	TX_FAR _UnnamedText_74b66
-	db $50
-; 0x74b66 + 5 bytes
-
-UnnamedText_74b6b: ; 0x74b6b
-	TX_FAR _UnnamedText_74b6b
-	db $50
-; 0x74b6b + 5 bytes
-
-ViridianGymText7: ; 0x74b70
-	db $08 ; asm
-	ld hl, TrainerHeader_74a44
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74b7a: ; 0x74b7a
-	TX_FAR _UnnamedText_74b7a
-	db $50
-; 0x74b7a + 5 bytes
-
-UnnamedText_74b7f: ; 0x74b7f
-	TX_FAR _UnnamedText_74b7f
-	db $50
-; 0x74b7f + 5 bytes
-
-UnnamedText_74b84: ; 0x74b84
-	TX_FAR _UnnamedText_74b84
-	db $50
-; 0x74b84 + 5 bytes
-
-ViridianGymText8: ; 0x74b89
-	db $08 ; asm
-	ld hl, TrainerHeader_74a50
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74b93: ; 0x74b93
-	TX_FAR _UnnamedText_74b93
-	db $50
-; 0x74b93 + 5 bytes
-
-UnnamedText_74b98: ; 0x74b98
-	TX_FAR _UnnamedText_74b98
-	db $50
-; 0x74b98 + 5 bytes
-
-UnnamedText_74b9d: ; 0x74b9d
-	TX_FAR _UnnamedText_74b9d
-	db $50
-; 0x74b9d + 5 bytes
-
-ViridianGymText9: ; 0x74ba2
-	db $08 ; asm
-	ld hl, TrainerHeader_74a5c
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_74bac: ; 0x74bac
-	TX_FAR _UnnamedText_74bac
-	db $50
-; 0x74bac + 5 bytes
-
-UnnamedText_74bb1: ; 0x74bb1
-	TX_FAR _UnnamedText_74bb1
-	db $50
-; 0x74bb1 + 5 bytes
-
-UnnamedText_74bb6: ; 0x74bb6
-	TX_FAR _UnnamedText_74bb6
-	db $50
-; 0x74bb6 + 5 bytes
-
-ViridianGymText10: ; 0x74bbb
-	db $08 ; asm
-	ld a, [$d751]
-	bit 1, a
-	jr nz, .asm_1abd1 ; 0x74bc1
-	ld hl, UnnamedText_74bd4
-	call PrintText
-	jr .asm_6064d ; 0x74bc9
-.asm_1abd1 ; 0x74bcb
-	ld hl, UnnamedText_74bd9
-	call PrintText
-.asm_6064d ; 0x74bd1
-	jp TextScriptEnd
-
-UnnamedText_74bd4: ; 0x74bd4
-	TX_FAR _UnnamedText_74bd4
-	db $50
-; 0x74bd4 + 5 bytes
-
-UnnamedText_74bd9: ; 0x74bd9
-	TX_FAR _UnnamedText_74bd9
-	db $50
-; 0x74bd9 + 5 bytes
-
-ViridianGymObject: ; 0x74bde (size=105)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $11, $10, $4, $ff
-	db $11, $11, $4, $ff
-
-	db $0 ; signs
-
-	db $b ; people
-	db SPRITE_GIOVANNI, $1 + 4, $2 + 4, $ff, $d0, $41, GIOVANNI + $C8, $3 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $c + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $9 ; trainer
-	db SPRITE_HIKER, $b + 4, $b + 4, $ff, $d1, $43, BLACKBELT + $C8, $6 ; trainer
-	db SPRITE_ROCKER, $7 + 4, $a + 4, $ff, $d0, $44, TAMER + $C8, $3 ; trainer
-	db SPRITE_HIKER, $7 + 4, $3 + 4, $ff, $d2, $45, BLACKBELT + $C8, $7 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $d + 4, $ff, $d3, $46, COOLTRAINER_M + $C8, $a ; trainer
-	db SPRITE_HIKER, $1 + 4, $a + 4, $ff, $d0, $47, BLACKBELT + $C8, $8 ; trainer
-	db SPRITE_ROCKER, $10 + 4, $2 + 4, $ff, $d3, $48, TAMER + $C8, $4 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $6 + 4, $ff, $d0, $49, COOLTRAINER_M + $C8, $1 ; trainer
-	db SPRITE_GYM_HELPER, $f + 4, $10 + 4, $ff, $d0, $a ; person
-	db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $8b, REVIVE ; item
-
-	; warp-to
-	EVENT_DISP $a, $11, $10
-	EVENT_DISP $a, $11, $11
-
-ViridianGymBlocks: ; 0x74c47 90
-	INCBIN "maps/viridiangym.blk"
-
-PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56)
-	db $02 ; tileset
-	db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x)
-	dw PewterMartBlocks, PewterMartTexts, PewterMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw PewterMartObject ; objects
-
-PewterMartScript: ; 0x74cad
-	call $3c3c
-	ld a, $1
-	ld [$cf0c], a
-	ret
-; 0x74cb6
-
-PewterMartTexts: ; 0x74cb6
-	dw PewterMartText1, PewterMartText2, PewterMartText3
-
-PewterMartText2: ; 0x74cbc
-	db $08 ; asm
-	ld hl, UnnamedText_74cc6
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_74cc6: ; 0x74cc6
-	TX_FAR _UnnamedText_74cc6
-	db $50
-; 0x74cc6 + 5 bytes
-
-PewterMartText3: ; 0x74ccb
-	db $08 ; asm
-	ld hl, UnnamedText_74cd5
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_74cd5: ; 0x74cd5
-	TX_FAR _UnnamedText_74cd5
-	db $50
-; 0x74cd5 + 5 bytes
-
-PewterMartObject: ; 0x74cda (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $4, $ff
-	db $7, $4, $4, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_BUG_CATCHER, $3 + 4, $3 + 4, $fe, $1, $2 ; person
-	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $5 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228)
-	db $11 ; tileset
-	db UNKNOWN_DUNGEON_1_HEIGHT, UNKNOWN_DUNGEON_1_WIDTH ; dimensions (y, x)
-	dw UnknownDungeon1Blocks, UnknownDungeon1Texts, UnknownDungeon1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw UnknownDungeon1Object ; objects
-
-UnknownDungeon1Script: ; 0x74d0c
-	jp $3c3c
-; 0x74d0f
-
-UnknownDungeon1Texts: ; 0x74d0f
-	dw UnknownDungeon1Text1, UnknownDungeon1Text2, UnknownDungeon1Text3
-
-UnknownDungeon1Object: ; 0x74d15 (size=97)
-	db $7d ; border tile
-
-	db $9 ; warps
-	db $11, $18, $6, $ff
-	db $11, $19, $6, $ff
-	db $1, $1b, $0, UNKNOWN_DUNGEON_2
-	db $7, $17, $1, UNKNOWN_DUNGEON_2
-	db $9, $12, $2, UNKNOWN_DUNGEON_2
-	db $1, $7, $3, UNKNOWN_DUNGEON_2
-	db $3, $1, $4, UNKNOWN_DUNGEON_2
-	db $b, $3, $5, UNKNOWN_DUNGEON_2
-	db $6, $0, $0, UNKNOWN_DUNGEON_3
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_BALL, $d + 4, $7 + 4, $ff, $ff, $81, FULL_RESTORE ; item
-	db SPRITE_BALL, $3 + 4, $13 + 4, $ff, $ff, $82, MAX_ELIXER ; item
-	db SPRITE_BALL, $0 + 4, $5 + 4, $ff, $ff, $83, NUGGET ; item
-
-	; warp-to
-	EVENT_DISP $f, $11, $18
-	EVENT_DISP $f, $11, $19
-	EVENT_DISP $f, $1, $1b ; UNKNOWN_DUNGEON_2
-	EVENT_DISP $f, $7, $17 ; UNKNOWN_DUNGEON_2
-	EVENT_DISP $f, $9, $12 ; UNKNOWN_DUNGEON_2
-	EVENT_DISP $f, $1, $7 ; UNKNOWN_DUNGEON_2
-	EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_2
-	EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_2
-	EVENT_DISP $f, $6, $0 ; UNKNOWN_DUNGEON_3
-
-UnknownDungeon1Blocks: ; 0x74d76 135
-	INCBIN "maps/unknowndungeon1.blk"
-
-CeruleanHouse3_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230)
-	db $0d ; tileset
-	db CERULEAN_HOUSE_3_HEIGHT, CERULEAN_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw CeruleanHouse3Blocks, CeruleanHouse3Texts, CeruleanHouse3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CeruleanHouse3Object ; objects
-
-CeruleanHouse3Script: ; 0x74e09
-	ld a, $1
-	ld [$cf0c], a
-	dec a
-	ld [$cc3c], a
-	ret
-; 0x74e13
-
-CeruleanHouse3Texts:
-	dw CeruleanHouse3Text1
-
-CeruleanHouse3Text1: ; 0x74e15
-	db $8
-	ld hl, UnnamedText_74e77
-	call PrintText
-	xor a
-	ld [$cc26], a
-	ld [$cc36], a
-.asm_74e23
-	ld hl, UnnamedText_74e7c
-	call PrintText
-	ld hl, UnnamedText_74e6d
-	call $2a5a
-	ld hl, $cf7b
-	ld a, l
-	ld [$cf8b], a
-	ld a, h
-	ld [$cf8c], a
-	xor a
-	ld [$cf93], a
-	ld [$cc35], a
-	ld a, $4
-	ld [$cf94], a
-	call $2be6
-	jr c, .asm_74e60 ; 0x74e49 $15
-	ld hl, $4e86
-	ld a, [$cf91]
-	sub $15
-	add a
-	ld d, $0
-	ld e, a
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call PrintText
-	jr .asm_74e23 ; 0x74e5e $c3
-.asm_74e60
-	xor a
-	ld [$cc36], a
-	ld hl, UnnamedText_74e81
-	call PrintText
-	jp TextScriptEnd
-; 0x74e6d
-
-UnnamedText_74e6d: ; 0x74e6d
-db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
-
-UnnamedText_74e77: ; 0x74e77
-	TX_FAR _UnnamedText_74e77
-	db $50
-; 0x74e77 + 5 bytes
-
-UnnamedText_74e7c: ; 0x74e7c
-	TX_FAR _UnnamedText_74e7c
-	db $50
-; 0x74e7c + 5 bytes
-
-UnnamedText_74e81: ; 0x74e81
-	TX_FAR _UnnamedText_74e81
-	db $50
-; 0x74e81 + 5 bytes
-
-INCBIN "baserom.gbc",$74e86,$74e96 - $74e86
-
-UnnamedText_74e96: ; 0x74e96
-	TX_FAR _UnnamedText_74e96
-	db $50
-; 0x74e96 + 5 bytes
-
-UnnamedText_74e9b: ; 0x74e9b
-	TX_FAR _UnnamedText_74e9b
-	db $50
-; 0x74e9b + 5 bytes
-
-UnnamedText_74ea0: ; 0x74ea0
-	TX_FAR _UnnamedText_74ea0
-	db $50
-; 0x74ea0 + 5 bytes
-
-UnnamedText_74ea5: ; 0x74ea5
-	TX_FAR _UnnamedText_74ea5
-	db $50
-; 0x74ea5 + 5 bytes
-
-UnnamedText_74eaa: ; 0x74eaa
-	TX_FAR _UnnamedText_74eaa
-	db $50
-; 0x74eaa + 5 bytes
-
-UnnamedText_74eaf: ; 0x74eaf
-	TX_FAR _UnnamedText_74eaf
-	db $50
-; 0x74eaf + 5 bytes
-
-UnnamedText_74eb4: ; 0x74eb4
-	TX_FAR _UnnamedText_74eb4
-	db $50
-; 0x74eb4 + 5 bytes
-
-UnnamedText_74eb9: ; 0x74eb9
-	TX_FAR _UnnamedText_74eb9
-	db $50
-; 0x74eb9 + 5 bytes
-
-CeruleanHouse3Object: ; 0x74ebe (size=34)
-	db $c ; border tile
-
-	db $3 ; warps
-	db $0, $2, $9, $ff
-	db $7, $2, $8, $ff
-	db $7, $3, $8, $ff
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_FAT_BALD_GUY, $3 + 4, $5 + 4, $ff, $d3, $1 ; person
-
-	; warp-to
-	EVENT_DISP $4, $0, $2
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-INCBIN "baserom.gbc",$74ee0,$B9
-
-UnnamedText_74f99: ; 0x74f99
-	TX_FAR _UnnamedText_74f99
-	db $50
-; 0x74f99 + 5 bytes
-
-Unnamed_74f9e: ; 0x74f9e
-	db "FRESH WATER",$4E
-	db "SODA POP",$4E
-	db "LEMONADE",$4E
-	db "CANCEL@"
-	db $F0,"200",$4E
-	db $F0,"300",$4E
-	db $F0,"350",$4E,"@"
-
-UnnamedText_74fd3: ; 0x74fd3
-	TX_FAR _UnnamedText_74fd3
-	db $50
-; 0x74fd3 + 5 bytes
-
-UnnamedText_74fd8: ; 0x74fd8
-	TX_FAR _UnnamedText_74fd8
-	db $50
-; 0x74fd8 + 5 bytes
-
-UnnamedText_74fdd: ; 0x74fdd
-	TX_FAR _UnnamedText_74fdd
-	db $50
-; 0x74fdd + 5 bytes
-
-UnnamedText_74fe2: ; 0x74fe2
-	TX_FAR _UnnamedText_74fe2
-	db $50
-; 0x74fe2 + 5 bytes
-
-Unknown_74fe7: ; 0x74fe7
-	ld hl, Unknown_75000
-	ld a, [$cc26]
-	add a
-	add a
-	ld d, $0
-	ld e, a
-	add hl, de
-	ld a, [hli]
-	ld [$ff00+$db], a
-	ld a, [hli]
-	ld [$ff00+$dc], a
-	ld a, [hli]
-	ld [$ff00+$dd], a
-	ld a, [hl]
-	ld [$ff00+$de], a
-	ret
-; 0x75000
-
-Unknown_75000:
-INCBIN "baserom.gbc",$75000,$c
-
-FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153)
-	db $08 ; tileset
-	db FUCHSIA_HOUSE_1_HEIGHT, FUCHSIA_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw FuchsiaHouse1Blocks, FuchsiaHouse1Texts, FuchsiaHouse1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaHouse1Object ; objects
-
-FuchsiaHouse1Script: ; 0x75018
-	call $3c3c
-	ret
-; 0x7501c
-
-FuchsiaHouse1Texts: ; 0x7501c
-	dw FuchsiaHouse1Text1, FuchsiaHouse1Text2, FuchsiaHouse1Text3
-
-FuchsiaHouse1Text1: ; 0x75022
-	TX_FAR _FuchsiaHouse1Text1
-	db $50
-
-FuchsiaHouse1Text2: ; 0x75027
-	TX_FAR _FuchsiaHouse1Text2
-	db $50
-
-FuchsiaHouse1Text3: ; 0x7502c
-	TX_FAR _FuchsiaHouse1Text3
-	db $50
-
-FuchsiaHouse1Object: ; 0x75031 (size=38)
-	db $a ; border tile
-
-	db $2 ; warps
-	db $7, $2, $1, $ff
-	db $7, $3, $1, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MOM_GEISHA, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
-	db SPRITE_GAMBLER, $2 + 4, $7 + 4, $ff, $d1, $2 ; person
-	db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-
-FuchsiaPokecenter_h: ; 0x75057 to 0x75063 (12 bytes) (id=154)
-	db $06 ; tileset
-	db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x)
-	dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTexts, FuchsiaPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaPokecenterObject ; objects
-
-FuchsiaPokecenterScript: ; 0x75063
-	call $22fa
-	jp $3c3c
-; 0x75069
-
-FuchsiaPokecenterTexts:
-	dw FuchsiaPokecenterText1, FuchsiaPokecenterText2, FuchsiaPokecenterText3, FuchsiaPokecenterText4
-
-FuchsiaPokecenterText1: ; 0x75071
-	db $ff
-
-FuchsiaPokecenterText2: ; 0x75072
-	TX_FAR _FuchsiaPokecenterText1
-	db $50
-
-FuchsiaPokecenterText3: ; 0x75077
-	TX_FAR _FuchsiaPokecenterText3
-	db $50
-
-FuchsiaPokecenterText4: ; 0x7507c
-	db $f6
-
-FuchsiaPokecenterObject: ; 0x7507d (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $2, $ff
-	db $7, $4, $2, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_ROCKER, $3 + 4, $2 + 4, $ff, $ff, $2 ; person
-	db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $2, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155)
-	db $14 ; tileset
-	db FUCHSIA_HOUSE_2_HEIGHT, FUCHSIA_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw FuchsiaHouse2Blocks, FuchsiaHouse2Texts, FuchsiaHouse2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaHouse2Object ; objects
-
-FuchsiaHouse2Script: ; 0x750b5
-	jp $3c3c
-; 0x750b8
-
-FuchsiaHouse2Texts: ; 0x750b8
-	dw FuchsiaHouse2Text1, FuchsiaHouse2Text2, FuchsiaHouse2Text3, FuchsiaHouse2Text4, FuchsiaHouse2Text5
-
-FuchsiaHouse2Text1: ; 0x750c2
-	db $08 ; asm
-	ld a, [$d78e]
-	bit 0, a
-	jr nz, .asm_58feb ; 0x750c8
-	ld b,GOLD_TEETH
-	call $3493
-	jr nz, .asm_3f30f ; 0x750cf
-	ld a, [$d78e]
-	bit 1, a
-	jr nz, .asm_60cba ; 0x750d6
-	ld hl, UnnamedText_75135
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	ld hl, UnnamedText_7513f
-	jr nz, .asm_61238 ; 0x750e8
-	ld hl, UnnamedText_7513a
-.asm_61238 ; 0x750ed
-	call PrintText
-	jr .asm_52039 ; 0x750f0
-.asm_3f30f ; 0x750f2
-	ld hl, UnnamedText_75144
-	call PrintText
-	ld a, $40
-	ldh [$db], a
-	ld b, $5 ; BANK(MyFunction)
-	ld hl, $7f37 ; MyFunction
-	call Bankswitch
-	ld hl, $d78e
-	set 1, [hl]
-.asm_60cba ; 0x75109
-	ld hl, UnnamedText_7514e
-	call PrintText
-	ld bc,(HM_04 << 8) | 1
-	call GiveItem
-	jr nc, .asm_53b90 ; 0x75115
-	ld hl, UnnamedText_75153
-	call PrintText
-	ld hl, $d78e
-	set 0, [hl]
-	jr .asm_52039 ; 0x75122
-.asm_58feb ; 0x75124
-	ld hl, UnnamedText_75159
-	call PrintText
-	jr .asm_52039 ; 0x7512a
-.asm_53b90 ; 0x7512c
-	ld hl, UnnamedText_7515e
-	call PrintText
-.asm_52039 ; 0x75132
-	jp TextScriptEnd
-
-UnnamedText_75135: ; 0x75135
-	TX_FAR _UnnamedText_75135
-	db $50
-; 0x75135 + 5 bytes
-
-UnnamedText_7513a: ; 0x7513a
-	TX_FAR _UnnamedText_7513a
-	db $50
-; 0x7513a + 5 bytes
-
-UnnamedText_7513f: ; 0x7513f
-	TX_FAR _UnnamedText_7513f
-	db $50
-; 0x7513f + 5 bytes
-
-UnnamedText_75144: ; 0x75144
-	TX_FAR _UnnamedText_75144
-	db $0b
-
-UnnamedText_75149: ; 0x75149
-	TX_FAR _UnnamedText_75149
-	db $50
-; 0x75149 + 5 bytes
-
-UnnamedText_7514e: ; 0x7514e
-	TX_FAR _UnnamedText_7514e
-	db $50
-; 0x7514e + 5 bytes
-
-UnnamedText_75153: ; 0x75153
-	TX_FAR UnnamedText_9e5a2 ; 0x9e5a2
-	db $0B, $50
-; 0x75153 + 6 bytes = 0x75159
-
-UnnamedText_75159: ; 0x75159
-	TX_FAR _UnnamedText_75159
-	db $50
-; 0x75159 + 5 bytes
-
-UnnamedText_7515e: ; 0x7515e
-	TX_FAR _UnnamedText_7515e
-	db $50
-; 0x7515e + 5 bytes
-
-FuchsiaHouse2Text5:
-FuchsiaHouse2Text4: ; 0x75163
-	db $08 ; asm
-	ldh a, [$8c]
-	cp $4
-	ld hl, UnnamedText_7517b
-	jr nz, .asm_4c9a2 ; 0x7516b
-	ld hl, UnnamedText_75176
-.asm_4c9a2 ; 0x75170
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_75176: ; 0x75176
-	TX_FAR _UnnamedText_75176
-	db $50
-; 0x75176 + 5 bytes
-
-UnnamedText_7517b: ; 0x7517b
-	TX_FAR _UnnamedText_7517b
-	db $50
-; 0x7517b + 5 bytes
-
-FuchsiaHouse2Object: ; 0x75180 (size=45)
-	db $17 ; border tile
-
-	db $2 ; warps
-	db $7, $4, $3, $ff
-	db $7, $5, $3, $ff
-
-	db $2 ; signs
-	db $3, $4, $4 ; FuchsiaHouse2Text4
-	db $3, $5, $5 ; FuchsiaHouse2Text5
-
-	db $3 ; people
-	db SPRITE_WARDEN, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
-	db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $82, RARE_CANDY ; item
-	db SPRITE_BOULDER, $4 + 4, $8 + 4, $ff, $10, $3 ; person
-
-	; warp-to
-	EVENT_DISP $5, $7, $4
-	EVENT_DISP $5, $7, $5
-
-FuchsiaHouse2Blocks: ; 0x751ad 20
-	INCBIN "maps/fuchsiahouse2.blk"
-
-SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156)
-	db $0c ; tileset
-	db SAFARIZONEENTRANCE_HEIGHT, SAFARIZONEENTRANCE_WIDTH ; dimensions (y, x)
-	dw SafariZoneEntranceBlocks, SafariZoneEntranceTexts, SafariZoneEntranceScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw SafariZoneEntranceObject ; objects
-
-SafariZoneEntranceScript: ; 0x751cd
-	call $3c3c
-	ld hl, SafariZoneEntranceScripts
-	ld a, [$d61f]
-	jp $3d97
-; 0x751d9
-
-SafariZoneEntranceScripts: ; 0x751d9
-	dw SafariZoneEntranceScript0, SafariZoneEntranceScript1, SafariZoneEntranceScript2, SafariZoneEntranceScript3, SafariZoneEntranceScript4, SafariZoneEntranceScript5, SafariZoneEntranceScript6
-
-SafariZoneEntranceScript0: ; 0x751e7
-	ld hl, $5221
-	call $34bf
-	ret nc
-	ld a, $3
-	ld [$ff00+$8c], a
-	call DisplayTextID
-	ld a, $ff
-	ld [$cd6b], a
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $c
-	ld [$c109], a
-	ld a, [$cd3d]
-	cp $1
-	jr z, .asm_7520f ; 0x75207 $6
-	ld a, $2
-	ld [$d61f], a
-	ret
-.asm_7520f
-	ld a, $10
-	ld c, $1
-	call $52a3
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, $1
-	ld [$d61f], a
-	ret
-; 0x75221
-
-Unknown_75221: ; 0x75221
-db $2, $3, $2, $4, $ff
-
-SafariZoneEntranceScript1: ; 0x75226
-	call $52b4
-	ret nz
-SafariZoneEntranceScript2: ; 0x7522a
-	xor a
-	ld [$ff00+$b4], a
-	ld [$cd6b], a
-	call $2429
-	ld a, $4
-	ld [$ff00+$8c], a
-	call $2920
-	ld a, $ff
-	ld [$cd6b], a
-	ret
-; 0x75240
-
-SafariZoneEntranceScript3: ; 0x75240
-	call $52b4
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, $5
-	ld [$d61f], a
-	ret
-; 0x7524e
-
-SafariZoneEntranceScript5: ; 0x7524e
-	ld a, $4
-	ld [$d528], a
-	ld hl, $d790
-	bit 6, [hl]
-	res 6, [hl]
-	jr z, .asm_7527f ; 0x7525a $23
-	res 7, [hl]
-	call $2429
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, $6
-	ld [$ff00+$8c], a
-	call $2920
-	xor a
-	ld [$da47], a
-	ld a, $80
-	ld c, $3
-	call $52a3
-	ld a, $4
-	ld [$d61f], a
-	jr .asm_75286 ; 0x7527d $7
-.asm_7527f
-	ld a, $5
-	ld [$ff00+$8c], a
-	call $2920
-.asm_75286
-	ret
-; 0x75287
-
-SafariZoneEntranceScript4: ; 0x75287
-	call $52b4
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, $0
-	ld [$d61f], a
-	ret
-; 0x75295
-
-SafariZoneEntranceScript6: ; 0x75295
-	call $52b4
-	ret nz
-	call Delay3
-	ld a, [$cf0d]
-	ld [$d61f], a
-	ret
-; 0x752a3
-
-Unknown_752a3: ; 0x752a3
-INCBIN "baserom.gbc",$752a3,$752b9 - $752a3
-
-SafariZoneEntranceTexts: ; 0x752b9
-	dw SafariZoneEntranceText1, SafariZoneEntranceText2, SafariZoneEntranceText3, SafariZoneEntranceText4, SafariZoneEntranceText5, SafariZoneEntranceText6
-
-SafariZoneEntranceText3:
-SafariZoneEntranceText1: ; 0x752c5
-	TX_FAR _SafariZoneEntranceText1
-	db $50
-
-SafariZoneEntranceText4: ; 0x752ca
-	TX_FAR UnnamedText_9e6e4 ; 0x9e6e4
-	db $8
-; 0x752cf
-	ld a, $13
-	ld [$d125], a
-	call $30e8
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jp nz, $5346
-	xor a
-	ld [$ff00+$9f], a
-	ld a, $5
-	ld [$ff00+$a0], a
-	ld a, $0
-	ld [$ff00+$a1], a
-	call $35a6
-	jr nc, .asm_752f9 ; 0x752ef $8
-	ld hl, UnnamedText_7536a
-	call PrintText
-	jr .asm_7534c ; 0x752f7 $53
-.asm_752f9
-	xor a
-	ld [$cd3d], a
-	ld a, $5
-	ld [$cd3e], a
-	ld a, $0
-	ld [$cd3f], a
-	ld hl, $cd3f
-	ld de, $d349
-	ld c, $3
-	ld a, $c
-	call Predef
-	ld a, $13
-	ld [$d125], a
-	call $30e8
-	ld hl, UnnamedText_7535b
-	call PrintText
-	ld a, $1e
-	ld [$da47], a
-	ld a, $1
-	ld [$d70d], a
-	ld a, $f6
-	ld [$d70e], a
-	ld a, $40
-	ld c, $3
-	call $52a3
-	ld hl, $d790
-	set 7, [hl]
-	res 6, [hl]
-	ld a, $3
-	ld [$d61f], a
-	jr .asm_75358 ; 0x75344 $12
-	ld hl, UnnamedText_75365
-	call PrintText
-.asm_7534c
-	ld a, $80
-	ld c, $1
-	call $52a3
-	ld a, $4
-	ld [$d61f], a
-.asm_75358
-	jp TextScriptEnd
-; 0x7535b
-
-UnnamedText_7535b: ; 0x7535b
-	TX_FAR UnnamedText_9e747 ; 0x9e747
-	db $0B
-
-UnnamedText_75360: ; 0x75360
-	TX_FAR _UnnamedText_75360
-	db $50
-; 0x75360 + 5 bytes
-
-UnnamedText_75365: ; 0x75365
-	TX_FAR _UnnamedText_75365
-	db $50
-; 0x75365 + 5 bytes
-
-UnnamedText_7536a: ; 0x7536a
-	TX_FAR _UnnamedText_7536a
-	db $50
-; 0x7536a + 5 bytes
-
-SafariZoneEntranceText5: ; 0x7536f
-	TX_FAR UnnamedText_9e814 ; 0x9e814
-	db $8
-	call $35ec
-	ld a, [$cc26]
-	and a
-	jr nz, .asm_7539c ; 0x7537b $1f
-	ld hl, UnnamedText_753bb
-	call PrintText
-	xor a
-	ld [$c109], a
-	ld a, $80
-	ld c, $3
-	call $52a3
-	ld hl, $d790
-	res 6, [hl]
-	res 7, [hl]
-	ld a, $0
-	ld [$cf0d], a
-	jr .asm_753b3 ; 0x7539a $17
-.asm_7539c
-	ld hl, UnnamedText_753c0
-	call PrintText
-	ld a, $4
-	ld [$c109], a
-	ld a, $40
-	ld c, $1
-	call $52a3
-	ld a, $5
-	ld [$cf0d], a
-.asm_753b3
-	ld a, $6
-	ld [$d61f], a
-	jp TextScriptEnd
-; 0x753bb
-
-UnnamedText_753bb: ; 0x753bb
-	TX_FAR _UnnamedText_753bb
-	db $50
-; 0x753bb + 5 bytes
-
-UnnamedText_753c0: ; 0x753c0
-	TX_FAR _UnnamedText_753c0
-	db $50
-; 0x753c0 + 5 bytes
-
-SafariZoneEntranceText6: ; 0x753c5
-	TX_FAR _UnnamedText_753c5
-	db $50
-; 0x753c5 + 5 bytes
-
-SafariZoneEntranceText2: ; 0x753ca
-	db $08 ; asm
-	ld hl, UnnamedText_753e6
-	call PrintText
-	call $35ec
-	ld a, [$cc26]
-	and a
-	ld hl, UnnamedText_753f0
-	jr nz, .asm_278a6 ; 0x753db
-	ld hl, UnnamedText_753eb
-.asm_278a6 ; 0x753e0
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_753e6: ; 0x753e6
-	TX_FAR _UnnamedText_753e6
-	db $50
-; 0x753e6 + 5 bytes
-
-UnnamedText_753eb: ; 0x753eb
-	TX_FAR _UnnamedText_753eb
-	db $50
-; 0x753eb + 5 bytes
-
-UnnamedText_753f0: ; 0x753f0
-	TX_FAR _UnnamedText_753f0
-	db $50
-; 0x753f0 + 5 bytes
-
-SafariZoneEntranceObject: ; 0x753f5 (size=48)
-	db $a ; border tile
-
-	db $4 ; warps
-	db $5, $3, $4, $ff
-	db $5, $4, $4, $ff
-	db $0, $3, $0, SAFARI_ZONE_CENTER
-	db $0, $4, $1, SAFARI_ZONE_CENTER
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_WHITE_PLAYER, $2 + 4, $6 + 4, $ff, $d2, $1 ; person
-	db SPRITE_WHITE_PLAYER, $4 + 4, $1 + 4, $ff, $d3, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $5, $3
-	EVENT_DISP $4, $5, $4
-	EVENT_DISP $4, $0, $3 ; SAFARI_ZONE_CENTER
-	EVENT_DISP $4, $0, $4 ; SAFARI_ZONE_CENTER
-
-SafariZoneEntranceBlocks: ; 0x75425 12
-	INCBIN "maps/safarizoneentrance.blk"
-
-FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157)
-	db $07 ; tileset
-	db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x)
-	dw FuchsiaGymBlocks, FuchsiaGymTexts, FuchsiaGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaGymObject ; objects
-
-FuchsiaGymScript: ; 0x7543d
-	call FuchsiaGymScript_Unknown75453
-	call $3c3c
-	ld hl, FuchsiaGymTrainerHeaders
-	ld de, $5482
-	ld a, [$d65b]
-	call $3160
-	ld [$d65b], a
-	ret
-; 0x75453
-
-FuchsiaGymScript_Unknown75453: ; 0x75453
-INCBIN "baserom.gbc",$75453,$12
-
-Gym5CityName: ; 0x75465
-	db "FUCHSIA CITY@"
-Gym5LeaderName: ; 0x75472
-	db "KOGA@"
-
-INCBIN "baserom.gbc",$75477,$5E
-
-FuchsiaGymTexts: ; 0x754d5
-	dw FuchsiaGymText1, FuchsiaGymText2, FuchsiaGymText3, FuchsiaGymText4, FuchsiaGymText5, FuchsiaGymText6, FuchsiaGymText7, FuchsiaGymText8, FuchsiaGymText9, FuchsiaGymText10, FuchsiaGymText11
-
-FuchsiaGymTrainerHeaders:
-FuchsiaGymTrainerHeader1: ; 0x754eb
-	db $2 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d792 ; flag's byte
-	dw UnnamedText_755ae ; 0x55ae TextBeforeBattle
-	dw UnnamedText_755b8 ; 0x55b8 TextAfterBattle
-	dw UnnamedText_755b3 ; 0x55b3 TextEndBattle
-	dw UnnamedText_755b3 ; 0x55b3 TextEndBattle
-; 0x754f7
-
-TrainerHeader_754f7: ; 0x754f7
-	db $3 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d792 ; flag's byte
-	dw UnnamedText_755c7 ; 0x55c7 TextBeforeBattle
-	dw UnnamedText_755d1 ; 0x55d1 TextAfterBattle
-	dw UnnamedText_755cc ; 0x55cc TextEndBattle
-	dw UnnamedText_755cc ; 0x55cc TextEndBattle
-; 0x75503
-
-TrainerHeader_75503: ; 0x75503
-	db $4 ; flag's bit
-	db ($4 << 4) ; trainer's view range
-	dw $d792 ; flag's byte
-	dw UnnamedText_755e0 ; 0x55e0 TextBeforeBattle
-	dw UnnamedText_755ea ; 0x55ea TextAfterBattle
-	dw UnnamedText_755e5 ; 0x55e5 TextEndBattle
-	dw UnnamedText_755e5 ; 0x55e5 TextEndBattle
-; 0x7550f
-
-TrainerHeader_7550f: ; 0x7550f
-	db $5 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d792 ; flag's byte
-	dw UnnamedText_755f9 ; 0x55f9 TextBeforeBattle
-	dw UnnamedText_75603 ; 0x5603 TextAfterBattle
-	dw UnnamedText_755fe ; 0x55fe TextEndBattle
-	dw UnnamedText_755fe ; 0x55fe TextEndBattle
-; 0x7551b
-
-TrainerHeader_7551b: ; 0x7551b
-	db $6 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d792 ; flag's byte
-	dw UnnamedText_75612 ; 0x5612 TextBeforeBattle
-	dw UnnamedText_7561c ; 0x561c TextAfterBattle
-	dw UnnamedText_75617 ; 0x5617 TextEndBattle
-	dw UnnamedText_75617 ; 0x5617 TextEndBattle
-; 0x75527
-
-TrainerHeader_75527: ; 0x75527
-	db $7 ; flag's bit
-	db ($2 << 4) ; trainer's view range
-	dw $d792 ; flag's byte
-	dw UnnamedText_7562b ; 0x562b TextBeforeBattle
-	dw UnnamedText_75635 ; 0x5635 TextAfterBattle
-	dw UnnamedText_75630 ; 0x5630 TextEndBattle
-	dw UnnamedText_75630 ; 0x5630 TextEndBattle
-; 0x75533
-
-db $ff
-
-FuchsiaGymText1: ; 0x75534
-	db $08 ; asm
-	ld a, [$d792]
-	bit 1, a
-	jr z, .asm_181b6 ; 0x7553a
-	bit 0, a
-	jr nz, .asm_adc3b ; 0x7553e
-	call z, $5497
-	call $30b6
-	jr .asm_e84c6 ; 0x75546
-.asm_adc3b ; 0x75548
-	ld hl, UnnamedText_7558b
-	call PrintText
-	jr .asm_e84c6 ; 0x7554e
-.asm_181b6 ; 0x75550
-	ld hl, UnnamedText_75581
-	call PrintText
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, UnnamedText_75586
-	ld de, $5586 ; probably UnnamedText_75586
-	call $3354
-	ldh a, [$8c]
-	ld [$cf13], a
-	call $336a
-	call $32d7
-	ld a, $5
-	ld [$d05c], a
-	xor a
-	ldh [$b4], a
-	ld a, $3
-	ld [$d65b], a
-.asm_e84c6 ; 0x7557e
-	jp TextScriptEnd
-
-UnnamedText_75581: ; 0x75581
-	TX_FAR _UnnamedText_75581
-	db $50
-; 0x75581 + 5 bytes
-
-UnnamedText_75586: ; 0x75586
-	TX_FAR _UnnamedText_75586
-	db $50
-; 0x75586 + 5 bytes
-
-UnnamedText_7558b: ; 0x7558b
-	TX_FAR _UnnamedText_7558b
-	db $50
-; 0x7558b + 5 bytes
-
-FuchsiaGymText9: ; 0x75590
-	TX_FAR _UnnamedText_75590
-	db $50
-; 0x75590 + 5 bytes
-
-FuchsiaGymText10: ; 0x75595
-	TX_FAR UnnamedText_a00eb ; 0xa00eb
-	db $11
-
-UnnamedText_7559a: ; 0x7559a
-	TX_FAR _UnnamedText_7559a
-	db $50
-; 0x7559a + 5 bytes
-
-FuchsiaGymText11: ; 0x7559f
-	TX_FAR _UnnamedText_7559f
-	db $50
-; 0x7559f + 5 bytes
-
-FuchsiaGymText2: ; 0x755a4
-	db $08 ; asm
-	ld hl, FuchsiaGymTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_755ae: ; 0x755ae
-	TX_FAR _UnnamedText_755ae
-	db $50
-; 0x755ae + 5 bytes
-
-UnnamedText_755b3: ; 0x755b3
-	TX_FAR _UnnamedText_755b3
-	db $50
-; 0x755b3 + 5 bytes
-
-UnnamedText_755b8: ; 0x755b8
-	TX_FAR _UnnamedText_755b8
-	db $50
-; 0x755b8 + 5 bytes
-
-FuchsiaGymText3: ; 0x755bd
-	db $08 ; asm
-	ld hl, TrainerHeader_754f7
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_755c7: ; 0x755c7
-	TX_FAR _UnnamedText_755c7
-	db $50
-; 0x755c7 + 5 bytes
-
-UnnamedText_755cc: ; 0x755cc
-	TX_FAR _UnnamedText_755cc
-	db $50
-; 0x755cc + 5 bytes
-
-UnnamedText_755d1: ; 0x755d1
-	TX_FAR _UnnamedText_755d1
-	db $50
-; 0x755d1 + 5 bytes
-
-FuchsiaGymText4: ; 0x755d6
-	db $08 ; asm
-	ld hl, TrainerHeader_75503
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_755e0: ; 0x755e0
-	TX_FAR _UnnamedText_755e0
-	db $50
-; 0x755e0 + 5 bytes
-
-UnnamedText_755e5: ; 0x755e5
-	TX_FAR _UnnamedText_755e5
-	db $50
-; 0x755e5 + 5 bytes
-
-UnnamedText_755ea: ; 0x755ea
-	TX_FAR _UnnamedText_755ea
-	db $50
-; 0x755ea + 5 bytes
-
-FuchsiaGymText5: ; 0x755ef
-	db $08 ; asm
-	ld hl, TrainerHeader_7550f
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_755f9: ; 0x755f9
-	TX_FAR _UnnamedText_755f9
-	db $50
-; 0x755f9 + 5 bytes
-
-UnnamedText_755fe: ; 0x755fe
-	TX_FAR _UnnamedText_755fe
-	db $50
-; 0x755fe + 5 bytes
-
-UnnamedText_75603: ; 0x75603
-	TX_FAR _UnnamedText_75603
-	db $50
-; 0x75603 + 5 bytes
-
-FuchsiaGymText6: ; 0x75608
-	db $08 ; asm
-	ld hl, TrainerHeader_7551b
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_75612: ; 0x75612
-	TX_FAR _UnnamedText_75612
-	db $50
-; 0x75612 + 5 bytes
-
-UnnamedText_75617: ; 0x75617
-	TX_FAR _UnnamedText_75617
-	db $50
-; 0x75617 + 5 bytes
-
-UnnamedText_7561c: ; 0x7561c
-	TX_FAR _UnnamedText_7561c
-	db $50
-; 0x7561c + 5 bytes
-
-FuchsiaGymText7: ; 0x75621
-	db $08 ; asm
-	ld hl, TrainerHeader_75527
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_7562b: ; 0x7562b
-	TX_FAR _UnnamedText_7562b
-	db $50
-; 0x7562b + 5 bytes
-
-UnnamedText_75630: ; 0x75630
-	TX_FAR _UnnamedText_75630
-	db $50
-; 0x75630 + 5 bytes
-
-UnnamedText_75635: ; 0x75635
-	TX_FAR _UnnamedText_75635
-	db $50
-; 0x75635 + 5 bytes
-
-FuchsiaGymText8: ; 0x7563a
-	db $08 ; asm
-	ld a, [$d792]
-	bit 1, a
-	ld hl, UnnamedText_75653
-	jr nz, .asm_50671 ; 0x75643
-	ld hl, UnnamedText_7564e
-.asm_50671 ; 0x75648
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_7564e: ; 0x7564e
-	TX_FAR _UnnamedText_7564e
-	db $50
-; 0x7564e + 5 bytes
-
-UnnamedText_75653: ; 0x75653
-	TX_FAR _UnnamedText_75653
-	db $50
-; 0x75653 + 5 bytes
-
-FuchsiaGymObject: ; 0x75658 (size=82)
-	db $3 ; border tile
-
-	db $2 ; warps
-	db $11, $4, $5, $ff
-	db $11, $5, $5, $ff
-
-	db $0 ; signs
-
-	db $8 ; people
-	db SPRITE_BLACKBELT, $a + 4, $4 + 4, $ff, $d0, $41, KOGA + $C8, $1 ; trainer
-	db SPRITE_ROCKER, $d + 4, $8 + 4, $ff, $d0, $42, JUGGLER + $C8, $7 ; trainer
-	db SPRITE_ROCKER, $8 + 4, $7 + 4, $ff, $d3, $43, JUGGLER + $C8, $3 ; trainer
-	db SPRITE_ROCKER, $c + 4, $1 + 4, $ff, $d0, $44, JUGGLER + $C8, $8 ; trainer
-	db SPRITE_ROCKER, $5 + 4, $3 + 4, $ff, $d1, $45, TAMER + $C8, $1 ; trainer
-	db SPRITE_ROCKER, $2 + 4, $8 + 4, $ff, $d0, $46, TAMER + $C8, $2 ; trainer
-	db SPRITE_ROCKER, $7 + 4, $2 + 4, $ff, $d2, $47, JUGGLER + $C8, $4 ; trainer
-	db SPRITE_GYM_HELPER, $f + 4, $7 + 4, $ff, $d0, $8 ; person
-
-	; warp-to
-	EVENT_DISP $5, $11, $4
-	EVENT_DISP $5, $11, $5
-
-FuchsiaGymBlocks: ; 0x756aa 45
-	INCBIN "maps/fuchsiagym.blk"
-
-FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158)
-	db $14 ; tileset
-	db FUCHSIAMEETINGROOM_HEIGHT, FUCHSIAMEETINGROOM_WIDTH ; dimensions (y, x)
-	dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTexts, FuchsiaMeetingRoomScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw FuchsiaMeetingRoomObject ; objects
-
-FuchsiaMeetingRoomScript: ; 0x756e3
-	call $3c3c
-	ret
-; 0x756e7
-
-FuchsiaMeetingRoomTexts: ; 0x756e7
-	dw FuchsiaMeetingRoomText1, FuchsiaMeetingRoomText2, FuchsiaMeetingRoomText3
-
-FuchsiaMeetingRoomText1: ; 0x756ed
-	TX_FAR _FuchsiaMeetingRoomText1
-	db $50
-
-FuchsiaMeetingRoomText2: ; 0x756f2
-	TX_FAR _FuchsiaMeetingRoomText2
-	db $50
-
-FuchsiaMeetingRoomText3: ; 0x756f7
-	TX_FAR _FuchsiaMeetingRoomText3
-	db $50
-
-FuchsiaMeetingRoomObject: ; 0x756fc (size=38)
-	db $17 ; border tile
-
-	db $2 ; warps
-	db $7, $4, $6, $ff
-	db $7, $5, $6, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_WHITE_PLAYER, $1 + 4, $4 + 4, $ff, $d0, $1 ; person
-	db SPRITE_WHITE_PLAYER, $2 + 4, $0 + 4, $ff, $d1, $2 ; person
-	db SPRITE_WHITE_PLAYER, $1 + 4, $a + 4, $ff, $d0, $3 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $4
-	EVENT_DISP $7, $7, $5
-
-FuchsiaMeetingRoomBlocks: ; 0x75722 28
-	INCBIN "maps/fuchsiameetingroom.blk"
-
-CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166)
-	db $16 ; tileset
-	db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x)
-	dw CinnabarGymBlocks, CinnabarGymTexts, CinnabarGymScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CinnabarGymObject ; objects
-
-CinnabarGymScript: ; 0x7574a
-	call CinnabarGymScript_Unknown75759
-	call $3c3c
-	ld hl, CinnabarGymScripts
-	ld a, [$d65e]
-	jp $3d97
-; 0x75759
-
-CinnabarGymScript_Unknown75759: ; 0x75759
-INCBIN "baserom.gbc",$75759,$7577B - $75759
-
-Gym7CityName: ; 0x7577B
-	db "CINNABAR ISLAND@"
-Gym7LeaderName: ; 0x7578b
-	db "BLAINE@"
-
-INCBIN "baserom.gbc",$75792,$757a6 - $75792
-
-CinnabarGymScripts: ; 0x757a6
-	dw CinnabarGymScript0, CinnabarGymScript1, CinnabarGymScript2, CinnabarGymScript3
-
-CinnabarGymScript0: ; 0x757ae
-	ld a, [$da38]
-	and a
-	ret z
-	ld [$ff00+$8c], a
-	cp $4
-	jr nz, .asm_757c3 ; 0x757b7 $a
-	ld a, $4
-	ld [$d528], a
-	ld de, $57d7
-	jr .asm_757cb ; 0x757c1 $8
-.asm_757c3
-	ld de, $57da
-	ld a, $1
-	ld [$d528], a
-.asm_757cb
-	call $363a
-	ld a, $1
-	ld [$d65e], a
-	ld [$da39], a
-	ret
-; 0x757d7
-
-INCBIN "baserom.gbc",$757d7,$757dc - $757d7
-
-CinnabarGymScript1: ; 0x757dc
-	ld a, [$d730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [$cd6b], a
-	ld a, [$da38]
-	ld [$cc55], a
-	ld [$ff00+$8c], a
-	jp $2920
-; 0x757f1
-
-INCBIN "baserom.gbc",$757f1,$757f6 - $757f1
-
-CinnabarGymScript2: ; 0x757f6
-	ld a, [$d057]
-	cp $ff
-	jp z, $5792
-	ld a, [$cc55]
-	ld [$ff00+$db], a
-	ld c, a
-	ld b, $2
-	ld hl, $d79a
-	call $57f1
-	ld a, c
-	and a
-	jr nz, .asm_7581b ; 0x7580e $b
-	call $3748
-	ld a, $ad
-	call $23b1
-	call $3748
-.asm_7581b
-	ld a, [$cc55]
-	ld [$ff00+$db], a
-	ld c, a
-	ld b, $1
-	ld hl, $d79a
-	call $57f1
-	ld a, [$cc55]
-	sub $2
-	ld c, a
-	ld b, $1
-	ld hl, $d79c
-	call $57f1
-	call $3ead
-	xor a
-	ld [$cd6b], a
-	ld [$da38], a
-	ld a, $0
-	ld [$d65e], a
-	ld [$da39], a
-	ret
-; 0x7584a
-
-CinnabarGymScript3: ; 0x7584a
-	ld a, [$d057]
-	cp $ff
-	jp z, $5792
-	ld a, $f0
-	ld [$cd6b], a
-	ld a, $a
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d79a
-	set 1, [hl]
-	ld bc, $ee01
-	call GiveItem
-	jr nc, .asm_75879 ; 0x75869 $e
-	ld a, $b
-	ld [$ff00+$8c], a
-	call $2920
-	ld hl, $d79a
-	set 0, [hl]
-	jr .asm_75880 ; 0x75877 $7
-.asm_75879
-	ld a, $c
-	ld [$ff00+$8c], a
-	call $2920
-.asm_75880
-	ld hl, $d356
-	set 6, [hl]
-	ld hl, $d72a
-	set 6, [hl]
-	ld a, [$d79a]
-	or $fc
-	ld [$d79a], a
-	ld hl, $d79b
-	set 0, [hl]
-	ld hl, $d126
-	set 5, [hl]
-	jp $5792
-; 0x7589f
-
-CinnabarGymTexts: ; 0x7589f
-	dw CinnabarGymText1, CinnabarGymText2, CinnabarGymText3, CinnabarGymText4, CinnabarGymText5, CinnabarGymText6, CinnabarGymText7, CinnabarGymText8, CinnabarGymText9
-;CinnabarGymText 10: ; 0x75925
-;CinnabarGymText 11: ; 0x7592a
-;CinnabarGymText 12: ; 0x75934
-
-INCBIN "baserom.gbc",$758b1,$2e
-
-CinnabarGymText1: ; 0x758df
-	db $8
-	ld a, [$d79a]
-	bit 1, a
-	jr z, .asm_d9332 ; 0x758e5 $16
-	bit 0, a
-	jr nz, .asm_3012f ; 0x758e9 $9
-	call z, $5857
-	call $30b6
-	jp TextScriptEnd
-.asm_3012f ; 0x758f4
-	ld hl, UnnamedText_75920
-	call PrintText
-	jp TextScriptEnd
-.asm_d9332 ; 0x758fd
-	ld hl, UnnamedText_75914
-	call PrintText
-	ld hl, UnnamedText_75919
-	ld de, UnnamedText_75919 ; $5919 XXX
-	call $3354
-	ld a, $7
-	ld [$d05c], a
-	jp $58b7
-; 0x75914
-
-UnnamedText_75914: ; 0x75914
-	TX_FAR _UnnamedText_75914
-	db $50
-; 0x75914 + 5 bytes
-
-UnnamedText_75919: ; 0x75919
-	TX_FAR UnnamedText_a08c7
-	db $11
-	db $d
-	db $50
-
-UnnamedText_75920: ; 0x75920
-	TX_FAR _UnnamedText_75920
-	db $50
-; 0x75920 + 5 bytes
-
-UnnamedText_75925: ; 0x75925
-	TX_FAR _UnnamedText_75925
-	db $50
-; 0x75925 + 5 bytes
-
-UnnamedText_7592a: ; 0x7592a
-	TX_FAR UnnamedText_a09a8 ; 0xa09a8
-	db $0B
-	TX_FAR _UnnamedText_7592f
-	db $50
-; 0x75934
-
-UnnamedText_75934: ; 0x75934
-	TX_FAR _UnnamedText_75934
-	db $50
-; 0x75934 + 5 bytes
-
-CinnabarGymText2: ; 0x75939
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79a]
-	bit 2, a
-	jr nz, .asm_46bb4 ; 0x75942
-	ld hl, UnnamedText_7595f
-	call PrintText
-	ld hl, UnnamedText_75964
-	ld de, UnnamedText_75964 ; $5964 XXX
-	call $3354
-	jp $58b7
-.asm_46bb4 ; 0x75956
-	ld hl, UnnamedText_75969
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_7595f: ; 0x7595f
-	TX_FAR _UnnamedText_7595f
-	db $50
-; 0x7595f + 5 bytes
-
-UnnamedText_75964: ; 0x75964
-	TX_FAR _UnnamedText_75964
-	db $50
-; 0x75964 + 5 bytes
-
-UnnamedText_75969: ; 0x75969
-	TX_FAR _UnnamedText_75969
-	db $50
-; 0x75969 + 5 bytes
-
-CinnabarGymText3: ; 0x7596e
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79a]
-	bit 3, a
-	jr nz, .asm_4b406 ; 0x75977
-	ld hl, UnnamedText_75994
-	call PrintText
-	ld hl, UnnamedText_75999
-	ld de, UnnamedText_75999 ; $5999 XXX
-	call $3354
-	jp $58b7
-.asm_4b406 ; 0x7598b
-	ld hl, UnnamedText_7599e
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_75994: ; 0x75994
-	TX_FAR _UnnamedText_75994
-	db $50
-; 0x75994 + 5 bytes
-
-UnnamedText_75999: ; 0x75999
-	TX_FAR _UnnamedText_75999
-	db $50
-; 0x75999 + 5 bytes
-
-UnnamedText_7599e: ; 0x7599e
-	TX_FAR _UnnamedText_7599e
-	db $50
-; 0x7599e + 5 bytes
-
-CinnabarGymText4: ; 0x759a3
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79a]
-	bit 4, a
-	jr nz, .asm_c0673 ; 0x759ac
-	ld hl, UnnamedText_759c9
-	call PrintText
-	ld hl, UnnamedText_759ce
-	ld de, UnnamedText_759ce ; $59ce XXX
-	call $3354
-	jp $58b7
-.asm_c0673 ; 0x759c0
-	ld hl, UnnamedText_759d3
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_759c9: ; 0x759c9
-	TX_FAR _UnnamedText_759c9
-	db $50
-; 0x759c9 + 5 bytes
-
-UnnamedText_759ce: ; 0x759ce
-	TX_FAR _UnnamedText_759ce
-	db $50
-; 0x759ce + 5 bytes
-
-UnnamedText_759d3: ; 0x759d3
-	TX_FAR _UnnamedText_759d3
-	db $50
-; 0x759d3 + 5 bytes
-
-CinnabarGymText5: ; 0x759d8
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79a]
-	bit 5, a
-	jr nz, .asm_5cfd7 ; 0x759e1
-	ld hl, UnnamedText_759fe
-	call PrintText
-	ld hl, UnnamedText_75a03
-	ld de, UnnamedText_75a03 ; $5a03 XXX
-	call $3354
-	jp $58b7
-.asm_5cfd7 ; 0x759f5
-	ld hl, UnnamedText_75a08
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_759fe: ; 0x759fe
-	TX_FAR _UnnamedText_759fe
-	db $50
-; 0x759fe + 5 bytes
-
-UnnamedText_75a03: ; 0x75a03
-	TX_FAR _UnnamedText_75a03
-	db $50
-; 0x75a03 + 5 bytes
-
-UnnamedText_75a08: ; 0x75a08
-	TX_FAR _UnnamedText_75a08
-	db $50
-; 0x75a08 + 5 bytes
-
-CinnabarGymText6: ; 0x75a0d
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79a]
-	bit 6, a
-	jr nz, .asm_776b4 ; 0x75a16
-	ld hl, UnnamedText_75a33
-	call PrintText
-	ld hl, UnnamedText_75a38
-	ld de, UnnamedText_75a38
-	call $3354
-	jp $58b7
-.asm_776b4 ; 0x75a2a
-	ld hl, UnnamedText_75a3d
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_75a33: ; 0x75a33
-	TX_FAR _UnnamedText_75a33
-	db $50
-; 0x75a33 + 5 bytes
-
-UnnamedText_75a38: ; 0x75a38
-	TX_FAR _UnnamedText_75a38
-	db $50
-; 0x75a38 + 5 bytes
-
-UnnamedText_75a3d: ; 0x75a3d
-	TX_FAR _UnnamedText_75a3d
-	db $50
-; 0x75a3d + 5 bytes
-
-CinnabarGymText7: ; 0x75a42
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79a]
-	bit 7, a
-	jr nz, .asm_2f755 ; 0x75a4b
-	ld hl, UnnamedText_75a68
-	call PrintText
-	ld hl, $5a6d
-	ld de, $5a6d
-	call $3354
-	jp $58b7
-.asm_2f755 ; 0x75a5f
-	ld hl, $5a72
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_75a68: ; 0x75a68
-	TX_FAR _UnnamedText_75a68
-	db $50
-; 0x75a68 + 5 bytes
-
-UnnamedText_75a6d: ; 0x75a6d
-	TX_FAR _UnnamedText_75a6d
-	db $50
-; 0x75a6d + 5 bytes
-
-UnnamedText_75a72: ; 0x75a72
-	TX_FAR _UnnamedText_75a72
-	db $50
-; 0x75a72 + 5 bytes
-
-CinnabarGymText8: ; 0x75a77
-	db $08 ; asm
-	call $57a0
-	ld a, [$d79b]
-	bit 0, a
-	jr nz, .asm_d87be ; 0x75a80
-	ld hl, UnnamedText_75a9d
-	call PrintText
-	ld hl, UnnamedText_75aa2
-	ld de, UnnamedText_75aa2 ; $5aa2 XXX
-	call $3354
-	jp $58b7
-.asm_d87be ; 0x75a94
-	ld hl, UnnamedText_75aa7
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_75a9d: ; 0x75a9d
-	TX_FAR _UnnamedText_75a9d
-	db $50
-; 0x75a9d + 5 bytes
-
-UnnamedText_75aa2: ; 0x75aa2
-	TX_FAR _UnnamedText_75aa2
-	db $50
-; 0x75aa2 + 5 bytes
-
-UnnamedText_75aa7: ; 0x75aa7
-	TX_FAR _UnnamedText_75aa7
-	db $50
-; 0x75aa7 + 5 bytes
-
-CinnabarGymText9: ; 0x75aac
-	db $08 ; asm
-	ld a, [$d79a]
-	bit 1, a
-	jr nz, .asm_627d9 ; 0x75ab2
-	ld hl, UnnamedText_75ac2
-	jr .asm_0b11d ; 0x75ab7
-.asm_627d9 ; 0x75ab9
-	ld hl, UnnamedText_75ac7
-.asm_0b11d ; 0x75abc
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_75ac2: ; 0x75ac2
-	TX_FAR _UnnamedText_75ac2
-	db $50
-; 0x75ac2 + 5 bytes
-
-UnnamedText_75ac7: ; 0x75ac7
-	TX_FAR _UnnamedText_75ac7
-	db $50
-; 0x75ac7 + 5 bytes
-
-CinnabarGymObject: ; 0x75acc (size=90)
-	db $2e ; border tile
-
-	db $2 ; warps
-	db $11, $10, $1, $ff
-	db $11, $11, $1, $ff
-
-	db $0 ; signs
-
-	db $9 ; people
-	db SPRITE_FAT_BALD_GUY, $3 + 4, $3 + 4, $ff, $d0, $41, BLAINE + $C8, $1 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $11 + 4, $ff, $d0, $42, SUPER_NERD + $C8, $9 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $11 + 4, $ff, $d0, $43, BURGLAR + $C8, $4 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $b + 4, $ff, $d0, $44, SUPER_NERD + $C8, $a ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $b + 4, $ff, $d0, $45, BURGLAR + $C8, $5 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $b + 4, $ff, $d0, $46, SUPER_NERD + $C8, $b ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $3 + 4, $ff, $d0, $47, BURGLAR + $C8, $6 ; trainer
-	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d0, $48, SUPER_NERD + $C8, $c ; trainer
-	db SPRITE_GYM_HELPER, $d + 4, $10 + 4, $ff, $d0, $9 ; person
-
-	; warp-to
-	EVENT_DISP $a, $11, $10
-	EVENT_DISP $a, $11, $11
-
-CinnabarGymBlocks: ; 0x75b26 90
-	INCBIN "maps/cinnabargym.blk"
-
-Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167)
-	db $14 ; tileset
-	db CINNABAR_LAB_1_HEIGHT, CINNABAR_LAB_1_WIDTH ; dimensions (y, x)
-	dw Lab1Blocks, Lab1Texts, Lab1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Lab1Object ; objects
-
-Lab1Script: ; 0x75b8c
-	call $3c3c
-	ret
-; 0x75b90
-
-Lab1Texts: ; 0x75b90
-	dw Lab1Text1, Lab1Text2, Lab1Text3, Lab1Text4, Lab1Text5
-
-Lab1Text1: ; 0x75b9a
-	TX_FAR _Lab1Text1
-	db $50
-
-Lab1Text2: ; 0x75b9f
-	TX_FAR _Lab1Text2
-	db $50
-
-Lab1Text3: ; 0x75ba4
-	TX_FAR _Lab1Text3
-	db $50
-
-Lab1Text4: ; 0x75ba9
-	TX_FAR _Lab1Text4
-	db $50
-
-Lab1Text5: ; 0x75bae
-	TX_FAR _Lab1Text5
-	db $50
-
-Lab1Object: ; 0x75bb3 (size=62)
-	db $17 ; border tile
-
-	db $5 ; warps
-	db $7, $2, $2, $ff
-	db $7, $3, $2, $ff
-	db $4, $8, $0, CINNABAR_LAB_2
-	db $4, $c, $0, CINNABAR_LAB_3
-	db $4, $10, $0, CINNABAR_LAB_4
-
-	db $4 ; signs
-	db $2, $3, $2 ; Lab1Text2
-	db $4, $9, $3 ; Lab1Text3
-	db $4, $d, $4 ; Lab1Text4
-	db $4, $11, $5 ; Lab1Text5
-
-	db $1 ; people
-	db SPRITE_FISHER, $3 + 4, $1 + 4, $ff, $ff, $1 ; person
-
-	; warp-to
-	EVENT_DISP $9, $7, $2
-	EVENT_DISP $9, $7, $3
-	EVENT_DISP $9, $4, $8 ; CINNABAR_LAB_2
-	EVENT_DISP $9, $4, $c ; CINNABAR_LAB_3
-	EVENT_DISP $9, $4, $10 ; CINNABAR_LAB_4
-
-Lab1Blocks: ; 0x75bf1 36
-	INCBIN "maps/lab1.blk"
-
-Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168)
-	db $14 ; tileset
-	db CINNABAR_LAB_2_HEIGHT, CINNABAR_LAB_2_WIDTH ; dimensions (y, x)
-	dw Lab2Blocks, Lab2Texts, Lab2Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Lab2Object ; objects
-
-Lab2Script: ; 0x75c21
-	jp $3c3c
-; 0x75c24
-
-Lab2Texts: ; 0x75c24
-	dw Lab2Text1, Lab2Text2, Lab2Text3
-
-Lab2Text1: ; 0x75c2a
-	TX_FAR _Lab2Text1
-	db $50
-
-Lab2Text2: ; 0x75c2f
-	db $8
-	ld a, $7
-	ld [W_WHICHTRADE], a
-	jr asm_78552 ; 0x75c35 $6
-
-Lab2Text3: ; 0x75c37
-	db $8
-	ld a, $8
-	ld [W_WHICHTRADE], a
-asm_78552: ; 0x75c3d
-	ld a, $54
-	call Predef
-	jp TextScriptEnd
-
-Lab2Object: ; 0x75c45 (size=38)
-	db $17 ; border tile
-
-	db $2 ; warps
-	db $7, $2, $2, CINNABAR_LAB_1
-	db $7, $3, $2, CINNABAR_LAB_1
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_OLD_PERSON, $4 + 4, $1 + 4, $ff, $ff, $2 ; person
-	db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $d1, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
-	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
-
-Lab2Blocks: ; 0x75c6b 16
-	INCBIN "maps/lab2.blk"
-
-Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169)
-	db $14 ; tileset
-	db CINNABAR_LAB_3_HEIGHT, CINNABAR_LAB_3_WIDTH ; dimensions (y, x)
-	dw Lab3Blocks, Lab3Texts, Lab3Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Lab3Object ; objects
-
-Lab3Script: ; 0x75c87
-	jp $3c3c
-; 0x75c8a
-
-Lab3Texts: ; 0x75c8a
-	dw Lab3Text1, Lab3Text2, Lab3Text3, Lab3Text4, Lab3Text5
-
-Lab3Text1: ; 0x75c94
-	db $08 ; asm
-	ld a, [$d7a1]
-	bit 7, a
-	jr nz, .asm_e551a ; 0x75c9a
-	ld hl, UnnamedText_75cc8
-	call PrintText
-	ld bc, (TM_35 << 8) | 1
-	call GiveItem
-	jr nc, .asm_6c187 ; 0x75ca8
-	ld hl, UnnamedText_75ccd
-	call PrintText
-	ld hl, $d7a1
-	set 7, [hl]
-	jr .asm_eb896 ; 0x75cb5
-.asm_6c187 ; 0x75cb7
-	ld hl, UnnamedText_75cd8
-	call PrintText
-	jr .asm_eb896 ; 0x75cbd
-.asm_e551a ; 0x75cbf
-	ld hl, UnnamedText_75cd3
-	call PrintText
-.asm_eb896 ; 0x75cc5
-	jp TextScriptEnd
-
-UnnamedText_75cc8: ; 0x75cc8
-	TX_FAR _UnnamedText_75cc8
-	db $50
-; 0x75cc8 + 5 bytes
-
-UnnamedText_75ccd: ; 0x75ccd
-	TX_FAR UnnamedText_a0f48 ; 0xa0f48
-	db $0B, $50
-; 0x75cd3
-
-UnnamedText_75cd3: ; 0x75cd3
-	TX_FAR _UnnamedText_75cd3
-	db $50
-; 0x75cd3 + 5 bytes
-
-UnnamedText_75cd8: ; 0x75cd8
-	TX_FAR _UnnamedText_75cd8
-	db $50
-; 0x75cd8 + 5 bytes
-
-Lab3Text2: ; 0x75cdd
-	TX_FAR _Lab3Text2
-	db $50
-
-Lab3Text4:
-Lab3Text3: ; 0x75ce2
-	TX_FAR _Lab3Text3
-	db $50
-
-Lab3Text5: ; 0x75ce7
-	TX_FAR _Lab3Text5
-	db $50
-
-Lab3Object: ; 0x75cec (size=41)
-	db $17 ; border tile
-
-	db $2 ; warps
-	db $7, $2, $3, CINNABAR_LAB_1
-	db $7, $3, $3, CINNABAR_LAB_1
-
-	db $3 ; signs
-	db $4, $0, $3 ; Lab3Text3
-	db $4, $1, $4 ; Lab3Text4
-	db $1, $2, $5 ; Lab3Text5
-
-	db $2 ; people
-	db SPRITE_OAK_AIDE, $2 + 4, $7 + 4, $ff, $d0, $1 ; person
-	db SPRITE_OAK_AIDE, $3 + 4, $2 + 4, $fe, $2, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
-	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
-
-Lab3Blocks: ; 0x75d15 16
-	INCBIN "maps/lab3.blk"
-
-Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170)
-	db $14 ; tileset
-	db CINNABAR_LAB_4_HEIGHT, CINNABAR_LAB_4_WIDTH ; dimensions (y, x)
-	dw Lab4Blocks, Lab4Texts, Lab4Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw Lab4Object ; objects
-
-Lab4Script: ; 0x75d31
-	jp $3c3c
-; 0x75d34
-
-Lab4Texts: ; 0x75d34
-	dw Lab4Text1, Lab4Text2
-
-INCBIN "baserom.gbc",$75d34 + 4,$38 -4
-
-Lab4Text1: ; 0x75d6c
-	db $8
-	ld a, [$d7a3]
-	bit 0, a
-	jr nz, .asm_75d96 ; 0x75d72 $22
-	ld hl, UnnamedText_75dc6
-	call PrintText
-	call $5d38
-	ld a, [$cd37]
-	and a
-	jr z, .asm_75d8d ; 0x75d81 $a
-	ld b, $18
-	ld hl, $5006
-	call Bankswitch
-	jr .asm_75d93 ; 0x75d8b $6
-.asm_75d8d
-	ld hl, UnnamedText_75dcb
-	call PrintText
-.asm_75d93
-	jp TextScriptEnd
-.asm_75d96
-	bit 1, a
-	jr z, .asm_75da2 ; 0x75d98 $8
-	ld hl, UnnamedText_75dd0
-	call PrintText
-	jr .asm_75d93 ; 0x75da0 $f1
-.asm_75da2
-	call $5de8
-	ld hl, UnnamedText_75dd5
-	call PrintText
-	ld hl, $d7a3
-	set 2, [hl]
-	ld a, [$d710]
-	ld b, a
-	ld c, $1e
-	call GivePokemon
-	jr nc, .asm_75d93 ; 0x75db9 $d8
-	ld hl, $d7a3
-	res 0, [hl]
-	res 1, [hl]
-	res 2, [hl]
-	jr .asm_75d93 ; 0x75dc4 $cd
-; 0x75dc6
-
-UnnamedText_75dc6: ; 0x75dc6
-	TX_FAR _UnnamedText_75dc6
-	db $50
-; 0x75dc6 + 5 bytes
-
-UnnamedText_75dcb: ; 0x75dcb
-	TX_FAR _UnnamedText_75dcb
-	db $50
-; 0x75dcb + 5 bytes
-
-UnnamedText_75dd0: ; 0x75dd0
-	TX_FAR _UnnamedText_75dd0
-	db $50
-; 0x75dd0 + 5 bytes
-
-UnnamedText_75dd5: ; 0x75dd5
-	TX_FAR _UnnamedText_75dd5
-	db $50
-; 0x75dd5 + 5 bytes
-
-Lab4Text2: ; 0x75dda
-	db $08 ; asm
-	ld a, $3
-	ld [W_WHICHTRADE], a
-	ld a, $54
-	call Predef
-	jp TextScriptEnd
-
-; 0x75de8
-; XXX todo
-;db $6, $18, $21, $eb, $50
-;db $c3, $d6, $35
-	ld b, $18
-	ld hl, $50eb
-	jp $35d6
-; 0x75df0
-
-Lab4Object: ; 0x75df0 (size=32)
-	db $17 ; border tile
-
-	db $2 ; warps
-	db $7, $2, $4, CINNABAR_LAB_1
-	db $7, $3, $4, CINNABAR_LAB_1
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_OAK_AIDE, $2 + 4, $5 + 4, $fe, $2, $1 ; person
-	db SPRITE_OAK_AIDE, $6 + 4, $7 + 4, $ff, $d1, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
-	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
-
-Lab4Blocks: ; 0x75e10 16
-	INCBIN "maps/lab4.blk"
-
-CinnabarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171)
-	db $06 ; tileset
-	db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x)
-	dw CinnabarPokecenterBlocks, CinnabarPokecenterTexts, CinnabarPokecenterScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CinnabarPokecenterObject ; objects
-
-CinnabarPokecenterScript: ; 0x75e2c
-	call $22fa
-	jp $3c3c
-; 0x75e32
-
-CinnabarPokecenterTexts: ; 0x75e32
-	dw CinnabarPokecenterText1, CinnabarPokecenterText2, CinnabarPokecenterText3, CinnabarPokecenterText4
-
-CinnabarPokecenterText1: ; 0x75e3a
-	db $ff
-
-CinnabarPokecenterText2: ; 0x75e3b
-	TX_FAR _CinnabarPokecenterText1
-	db $50
-
-CinnabarPokecenterText3: ; 0x75e40
-	TX_FAR _CinnabarPokecenterText3
-	db $50
-
-CinnabarPokecenterText4: ; 0x75e45
-	db $f6
-
-CinnabarPokecenterObject: ; 0x75e46 (size=44)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $3, $ff
-	db $7, $4, $3, $ff
-
-	db $0 ; signs
-
-	db $4 ; people
-	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
-	db SPRITE_LASS, $4 + 4, $9 + 4, $fe, $0, $2 ; person
-	db SPRITE_GENTLEMAN, $6 + 4, $2 + 4, $ff, $ff, $3 ; person
-	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
-
-	; warp-to
-	EVENT_DISP $7, $7, $3
-	EVENT_DISP $7, $7, $4
-
-CinnabarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172)
-	db $02 ; tileset
-	db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x)
-	dw CinnabarMartBlocks, CinnabarMartTexts, CinnabarMartScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CinnabarMartObject ; objects
-
-CinnabarMartScript: ; 0x75e7e
-	jp $3c3c
-; 0x75e81
-
-CinnabarMartTexts: ; 0x75e81
-	dw CinnabarMartText1, CinnabarMartText2, CinnabarMartText3
-
-CinnabarMartText2: ; 0x75e87
-	TX_FAR _CinnabarMartText2
-	db $50
-
-CinnabarMartText3: ; 0x75e8c
-	TX_FAR _CinnabarMartText3
-	db $50
-
-CinnabarMartObject: ; 0x75e91 (size=38)
-	db $0 ; border tile
-
-	db $2 ; warps
-	db $7, $3, $4, $ff
-	db $7, $4, $4, $ff
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
-	db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $ff, $2 ; person
-	db SPRITE_OAK_AIDE, $4 + 4, $3 + 4, $ff, $ff, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $7, $4
-
-CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175)
-	db $01 ; tileset
-	db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x)
-	dw CopycatsHouseF1Blocks, CopycatsHouseF1Texts, CopycatsHouseF1Script ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw CopycatsHouseF1Object ; objects
-
-CopycatsHouseF1Script: ; 0x75ec3
-	jp $3c3c
-; 0x75ec6
-
-CopycatsHouseF1Texts: ; 0x75ec6
-	dw CopycatsHouseF1Text1, CopycatsHouseF1Text2, CopycatsHouseF1Text3
-
-CopycatsHouseF1Text1: ; 0x75ecc
-	TX_FAR _CopycatsHouseF1Text1
-	db $50
-
-CopycatsHouseF1Text2: ; 0x75ed1
-	TX_FAR _CopycatsHouseF1Text2
-	db $50
-
-CopycatsHouseF1Text3: ; 0x75ed6
-	TX_FAR _CopycatsHouseF1Text3
-	db $8
-	ld a, $28
-	call $13d0
-	jp TextScriptEnd
-
-CopycatsHouseF1Object: ; 0x75ee3 (size=46)
-	db $a ; border tile
-
-	db $3 ; warps
-	db $7, $2, $0, $ff
-	db $7, $3, $0, $ff
-	db $1, $7, $0, COPYCATS_HOUSE_2F
-
-	db $0 ; signs
-
-	db $3 ; people
-	db SPRITE_MOM_GEISHA, $2 + 4, $2 + 4, $ff, $d0, $1 ; person
-	db SPRITE_FAT_BALD_GUY, $4 + 4, $5 + 4, $ff, $d2, $2 ; person
-	db SPRITE_CLEFAIRY, $4 + 4, $1 + 4, $fe, $1, $3 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $2
-	EVENT_DISP $4, $7, $3
-	EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_2F
-
-Gary_h: ;0x75f11
-	db $7 ;tileset
-	db $4, $4 ;Height, Width
-	dw GaryBlocks, GaryTexts, GaryScript
-	db $0 ;No Connections
-
-	dw GaryObject
-
-GaryScript: ; 0x75f1d
-	call $3c3c
-	ld hl, GaryScripts
-	ld a, [$d64c]
-	jp $3d97
-; 0x75f29
-
-INCBIN "baserom.gbc",$75f29,$75f31 - $75f29
-
-GaryScripts: ; 0x75f31
-	dw GaryScript0, GaryScript1, GaryScript2
-
-INCBIN "baserom.gbc",$75f33 + 4,$14 - 4
-
-GaryScript0: ; 0x75f47
-	ret
-; 0x75f48
-
-GaryScript1: ; 0x75f48
-	ld a, $ff
-	ld [$cd6b], a
-	ld hl, $ccd3
-	ld de, $5f63
-	call $350c
-	dec a
-	ld [$cd38], a
-	call $3486
-	ld a, $2
-	ld [$d64c], a
-	ret
-; 0x75f63
-
-INCBIN "baserom.gbc",$75f63,$75f6a - $75f63
-
-GaryScript2: ; 0x75f6a 5F6A
-	ld a, [$cd38]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [$cd6b], a
-	ld hl, $d355
-	res 7, [hl]
-	ld a, $1
-	ld [$ff00+$8c], a
-	call $2920
-	call Delay3
-	ld hl, $d72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, $60f9
-	ld de, $60fe
-	call $3354
-	ld a, $f3
-	ld [$d059], a
-
-	; select which team to use during the encounter
-	ld a, [W_RIVALSTARTER]
-	cp SQUIRTLE
-	jr nz, .NotSquirtle\@ ; 0x75f9f $4
-	ld a, $1
-	jr .done\@
-.NotSquirtle\@
-	cp BULBASAUR
-	jr nz, .Charmander\@ ; 0x75fa7 $4
-	ld a, $2
-	jr .done\@
-.Charmander\@
-	ld a, $3
-.done\@
-	ld [W_TRAINERNO], a
-
-	xor a
-	ld [$ff00+$b4], a
-	ld a, $3
-	ld [$d64c], a
-	ret
-; 0x75fbb
-
-INCBIN "baserom.gbc",$75fbb,$760d6 - $75fbb
-
-GaryTexts: ; 0x760d6
-	dw GaryText1, GaryText2, GaryText3, GaryText4, GaryText5
-
-GaryText1: ; 0x760e0
-	db $08 ; asm
-	ld a, [$d867]
-	bit 1, a
-	ld hl, UnnamedText_760f4
-	jr z, .asm_17e9f ; 0x760e9
-	ld hl, UnnamedText_76103
-.asm_17e9f ; 0x760ee
-	call PrintText
-	jp TextScriptEnd
-
-UnnamedText_760f4: ; 0x760f4
-	TX_FAR _UnnamedText_760f4
-	db $50
-; 0x760f4 + 5 bytes
-
-UnnamedText_760f9: ; 0x760f9
-	TX_FAR _UnnamedText_760f9
-	db $50
-; 0x760f9 + 5 bytes
-
-UnnamedText_760fe: ; 0x760fe
-	TX_FAR _UnnamedText_760fe
-	db $50
-; 0x760fe + 5 bytes
-
-UnnamedText_76103: ; 0x76103
-	TX_FAR _UnnamedText_76103
-	db $50
-; 0x76103 + 5 bytes
-
-GaryText2: ; 0x76108
-	TX_FAR _GaryText2
-	db $50
-
-GaryText3: ; 0x7610d
-	db $8
-	ld a, [$d717]
-	ld [$d11e], a
-	call GetMonName
-	ld hl, UnnamedText_76120
-	call PrintText
-	jp TextScriptEnd
-; 0x76120
-
-UnnamedText_76120: ; 0x76120
-	TX_FAR _UnnamedText_76120
-	db $50
-; 0x76120 + 5 bytes
-
-GaryText4: ; 0x76125
-	TX_FAR _UnnamedText_76125
-	db $50
-; 0x76125 + 5 bytes
-
-GaryText5: ; 0x7612a
-	TX_FAR _UnnamedText_7612a
-	db $50
-; 0x7612a + 5 bytes
-
-GaryObject: ; 0x7612f (size=48)
-	db $3 ; border tile
-
-	db $4 ; warps
-	db $7, $3, $1, LANCES_ROOM
-	db $7, $4, $2, LANCES_ROOM
-	db $0, $3, $0, HALL_OF_FAME
-	db $0, $4, $0, HALL_OF_FAME
-
-	db $0 ; signs
-
-	db $2 ; people
-	db SPRITE_BLUE, $2 + 4, $4 + 4, $ff, $d0, $1 ; person
-	db SPRITE_OAK, $7 + 4, $3 + 4, $ff, $d1, $2 ; person
-
-	; warp-to
-	EVENT_DISP $4, $7, $3 ; LANCES_ROOM
-	EVENT_DISP $4, $7, $4 ; LANCES_ROOM
-	EVENT_DISP $4, $0, $3 ; HALL_OF_FAME
-	EVENT_DISP $4, $0, $4 ; HALL_OF_FAME
-
-GaryBlocks: ; 0x7615f 16
-	INCBIN "maps/gary.blk"
-
-Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245)
-	db $07 ; tileset
-	db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x)
-	dw LoreleiBlocks, LoreleiTexts, LoreleiScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw LoreleiObject ; objects
-
-LoreleiScript: ; 0x7617b
-	call LoreleiScript_Unknown76191
-	call $3c3c
-	ld hl, LoreleiTrainerHeaders
-	ld de, $61bb
-	ld a, [$d64d]
-	call $3160
-	ld [$d64d], a
-	ret
-; 0x76191
-
-LoreleiScript_Unknown76191: ; 0x76191
-INCBIN "baserom.gbc",$76191,$c0
-
-LoreleiTexts: ; 0x76251
-	dw LoreleiText1, LoreleiText2
-
-LoreleiTrainerHeaders:
-LoreleiTrainerHeader1: ; 0x76255
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d863 ; flag's byte
-	dw UnnamedText_7626c ; 0x626c TextBeforeBattle
-	dw UnnamedText_76276 ; 0x6276 TextAfterBattle
-	dw UnnamedText_76271 ; 0x6271 TextEndBattle
-	dw UnnamedText_76271 ; 0x6271 TextEndBattle
-; 0x76261
-
-db $ff
-
-LoreleiText1: ; 0x76262
-	db $08 ; asm
-	ld hl, LoreleiTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_7626c: ; 0x7626c
-	TX_FAR _UnnamedText_7626c
-	db $50
-; 0x7626c + 5 bytes
-
-UnnamedText_76271: ; 0x76271
-	TX_FAR _UnnamedText_76271
-	db $50
-; 0x76271 + 5 bytes
-
-UnnamedText_76276: ; 0x76276
-	TX_FAR _UnnamedText_76276
-	db $50
-; 0x76276 + 5 bytes
-
-LoreleiText2: ; 0x7627b
-	TX_FAR _UnnamedText_7627b
-	db $50
-; 0x7627b + 5 bytes
-
-LoreleiObject: ; 0x76280 (size=44)
-	db $3 ; border tile
-
-	db $4 ; warps
-	db $b, $4, $2, INDIGO_PLATEAU_LOBBY
-	db $b, $5, $2, INDIGO_PLATEAU_LOBBY
-	db $0, $4, $0, BRUNOS_ROOM
-	db $0, $5, $1, BRUNOS_ROOM
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_LORELEI, $2 + 4, $5 + 4, $ff, $d0, $41, LORELEI + $C8, $1 ; trainer
-
-	; warp-to
-	EVENT_DISP $5, $b, $4 ; INDIGO_PLATEAU_LOBBY
-	EVENT_DISP $5, $b, $5 ; INDIGO_PLATEAU_LOBBY
-	EVENT_DISP $5, $0, $4 ; BRUNOS_ROOM
-	EVENT_DISP $5, $0, $5 ; BRUNOS_ROOM
-
-LoreleiBlocks: ; 0x762ac 30
-	INCBIN "maps/loreli.blk"
-
-Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246)
-	db $07 ; tileset
-	db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x)
-	dw BrunoBlocks, BrunoTexts, BrunoScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw BrunoObject ; objects
-
-BrunoScript: ; 0x762d6
-	call BrunoScript_Unknown762ec
-	call $3c3c
-	ld hl, BrunoTrainerHeaders
-	ld de, $6312
-	ld a, [$d64e]
-	call $3160
-	ld [$d64e], a
-	ret
-; 0x762ec
-
-BrunoScript_Unknown762ec: ; 0x762ec
-INCBIN "baserom.gbc",$762ec,$bc
-
-BrunoTexts: ; 0x763a8
-	dw BrunoText1, BrunoText2
-
-BrunoTrainerHeaders:
-BrunoTrainerHeader1: ; 0x763ac
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d864 ; flag's byte
-	dw UnnamedText_763c3 ; 0x63c3 TextBeforeBattle
-	dw UnnamedText_763cd ; 0x63cd TextAfterBattle
-	dw UnnamedText_763c8 ; 0x63c8 TextEndBattle
-	dw UnnamedText_763c8 ; 0x63c8 TextEndBattle
-; 0x763b8
-
-db $ff
-
-BrunoText1: ; 0x763b9
-	db $08 ; asm
-	ld hl, BrunoTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_763c3: ; 0x763c3
-	TX_FAR _UnnamedText_763c3
-	db $50
-; 0x763c3 + 5 bytes
-
-UnnamedText_763c8: ; 0x763c8
-	TX_FAR _UnnamedText_763c8
-	db $50
-; 0x763c8 + 5 bytes
-
-UnnamedText_763cd: ; 0x763cd
-	TX_FAR _UnnamedText_763cd
-	db $50
-; 0x763cd + 5 bytes
-
-BrunoText2: ; 0x763d2
-	TX_FAR _UnnamedText_763d2
-	db $50
-; 0x763d2 + 5 bytes
-
-BrunoObject: ; 0x763d7 (size=44)
-	db $3 ; border tile
-
-	db $4 ; warps
-	db $b, $4, $2, LORELEIS_ROOM
-	db $b, $5, $3, LORELEIS_ROOM
-	db $0, $4, $0, AGATHAS_ROOM
-	db $0, $5, $1, AGATHAS_ROOM
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_BRUNO, $2 + 4, $5 + 4, $ff, $d0, $41, BRUNO + $C8, $1 ; trainer
-
-	; warp-to
-	EVENT_DISP $5, $b, $4 ; LORELEIS_ROOM
-	EVENT_DISP $5, $b, $5 ; LORELEIS_ROOM
-	EVENT_DISP $5, $0, $4 ; AGATHAS_ROOM
-	EVENT_DISP $5, $0, $5 ; AGATHAS_ROOM
-
-BrunoBlocks: ; 0x76403 30
-	INCBIN "maps/bruno.blk"
-
-Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247)
-	db $0f ; tileset
-	db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x)
-	dw AgathaBlocks, AgathaTexts, AgathaScript ; blocks, texts, scripts
-	db $00 ; connections
-
-	dw AgathaObject ; objects
-
-AgathaScript: ; 0x7642d
-	call AgathaScript_Unknown76443
-	call $3c3c
-	ld hl, AgathaTrainerHeaders
-	ld de, $6469
-	ld a, [$d64f]
-	call $3160
-	ld [$d64f], a
-	ret
-; 0x76443
-
-AgathaScript_Unknown76443: ; 0x76443
-INCBIN "baserom.gbc",$76443,$c2
-
-AgathaTexts: ; 0x76505
-	dw AgathaText1, AgathaText2
-
-AgathaTrainerHeaders:
-AgathaTrainerHeader1: ; 0x76509
-	db $1 ; flag's bit
-	db ($0 << 4) ; trainer's view range
-	dw $d865 ; flag's byte
-	dw UnnamedText_76520 ; 0x6520 TextBeforeBattle
-	dw UnnamedText_7652a ; 0x652a TextAfterBattle
-	dw UnnamedText_76525 ; 0x6525 TextEndBattle
-	dw UnnamedText_76525 ; 0x6525 TextEndBattle
-; 0x76515
-
-db $ff
-
-AgathaText1: ; 0x76516
-	db $08 ; asm
-	ld hl, AgathaTrainerHeader1
-	call LoadTrainerHeader
-	jp TextScriptEnd
-
-UnnamedText_76520: ; 0x76520
-	TX_FAR _UnnamedText_76520
-	db $50
-; 0x76520 + 5 bytes
-
-UnnamedText_76525: ; 0x76525
-	TX_FAR _UnnamedText_76525
-	db $50
-; 0x76525 + 5 bytes
-
-UnnamedText_7652a: ; 0x7652a
-	TX_FAR _UnnamedText_7652a
-	db $50
-; 0x7652a + 5 bytes
-
-AgathaText2: ; 0x7652f
-	TX_FAR _UnnamedText_7652f
-	db $50
-; 0x7652f + 5 bytes
-
-AgathaObject: ; 0x76534 (size=44)
-	db $0 ; border tile
-
-	db $4 ; warps
-	db $b, $4, $2, BRUNOS_ROOM
-	db $b, $5, $3, BRUNOS_ROOM
-	db $0, $4, $0, LANCES_ROOM
-	db $0, $5, $0, LANCES_ROOM
-
-	db $0 ; signs
-
-	db $1 ; people
-	db SPRITE_AGATHA, $2 + 4, $5 + 4, $ff, $d0, $41, AGATHA + $C8, $1 ; trainer
-
-	; warp-to
-	EVENT_DISP $5, $b, $4 ; BRUNOS_ROOM
-	EVENT_DISP $5, $b, $5 ; BRUNOS_ROOM
-	EVENT_DISP $5, $0, $4 ; LANCES_ROOM
-	EVENT_DISP $5, $0, $5 ; LANCES_ROOM
-
-AgathaBlocks: ; 0x76560 30
-	INCBIN "maps/agatha.blk"
-
-INCBIN "baserom.gbc",$7657e,$76670 - $7657e
-
-HallOfFameNoText: ; 0x76670
-	db "HALL OF FAME No   @"
-
-UnnamedText_76683: ; 0x76683
-	TX_FAR _UnnamedText_76683
-	db $50
-; 0x76683 + 5 bytes
-
-INCBIN "baserom.gbc",$76688,$76794 - $76688
-
-UnnamedText_76794: ; 0x76794
-	TX_FAR _UnnamedText_76794
-	db $50
-; 0x76794 + 5 bytes
-
-INCBIN "baserom.gbc",$76799,$76852 - $76799
-
-UnnamedText_76852: ; 0x76852
-	TX_FAR _UnnamedText_76852
-	db $50
-; 0x76852 + 5 bytes
-
-INCBIN "baserom.gbc",$76857,$76880 - $76857
-
-;I'm pretty sure that the rest of the bank is assembly and thus doesn't use any of the 0s, but I've included some to be sure
-
-SECTION "bank1E",DATA,BANK[$1E]
-
-INCBIN "baserom.gbc",$78000,$F1
-
-PlayAnimation: ; 40F1
-	xor a
-	ld [$FF8B],a
-	ld [$D08B],a
-	ld a,[$D07C] ; get animation number
-	dec a
-	ld l,a
-	ld h,0
-	add hl,hl
-	ld de,$607D
-	add hl,de
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-.next7\@
-	ld a,[hli]
-	cp a,$FF
-	jr z,.AnimationOver\@
-	cp a,$C0 ; is this animation for a monster onscreen?
-	jr c,.next2\@
-	ld c,a
-	ld de,$50DA
-.next4\@
-	ld a,[de]
-	cp c
-	jr z,.next3\@
-	inc de
-	inc de
-	inc de
-	jr .next4\@
-.next3\@
-	ld a,[hli]
-	cp a,$FF
-	jr z,.next5\@
-	ld [$CF07],a
-	push hl
-	push de
-	call $586F
-	call $23B1
-	pop de
-	pop hl
-.next5\@
-	push hl
-	inc de
-	ld a,[de]
-	ld l,a
-	inc de
-	ld a,[de]
-	ld h,a
-	ld de,.next6\@
-	push de
-	jp [hl]
-.next2\@
-	ld c,a
-	and a,$3F
-	ld [$D086],a
-	xor a
-	sla c
-	rla
-	sla c
-	rla
-	ld [$D09F],a
-	ld a,[hli]
-	ld [$CF07],a
-	ld a,[hli]
-	ld c,l
-	ld b,h
-	ld l,a
-	ld h,0
-	add hl,hl
-	ld de,$676D
-	add hl,de
-	ld a,l
-	ld [$D094],a
-	ld a,h
-	ld [$D095],a
-	ld l,c
-	ld h,b
-	push hl
-	ld a,[rOBP0]
-	push af
-	ld a,[$CC79]
-	ld [rOBP0],a
-	call $41D2
-	call $417C
-	call RealPlayAnimation
-	pop af
-	ld [rOBP0],a
-.next6\@
-	pop hl
-	jr .next7\@
-.AnimationOver\@ ; 417B
-	ret
-
-INCBIN "baserom.gbc",$7817C,$78BDE - $7817C
-
-IF _RED
-	INCBIN "gfx/red/slotmachine2.2bpp"
-ENDC
-IF _BLUE
-	INCBIN "gfx/blue/slotmachine2.2bpp"
-ENDC
-
-MoveAnimation: ; 4D5E
-	push hl
-	push de
-	push bc
-	push af
-	call $3748
-	call $4E23
-	ld a,[$D07C]
-	and a
-	jr z,.AnimationFinished\@
-
-	; if throwing a Poké Ball, skip the regular animation code
-	cp a,TOSS_ANIM
-	jr nz,.MoveAnimation\@
-	ld de,.AnimationFinished\@
-	push de
-	jp TossBallAnimation
-
-.MoveAnimation\@
-	; check if battle animations are disabled in the options
-	ld a,[$D355]
-	bit 7,a
-	jr nz,.AnimationsDisabled\@
-	call ShareMoveAnimations
-	call PlayAnimation
-	jr .next4\@
-.AnimationsDisabled\@
-	ld c,30
-	call DelayFrames
-.next4\@
-	call $4DBD ; reload pic and flash the pic in and out (to show damage)
-.AnimationFinished\@
-	call $3748
-	xor a
-	ld [$D096],a
-	ld [$D09B],a
-	ld [$D08B],a
-	dec a
-	ld [$CF07],a
-	pop af
-	pop bc
-	pop de
-	pop hl
-	ret
-
-ShareMoveAnimations: ; 4DA6
-; some moves just reuse animations from status conditions
-	ld a,[H_WHOSETURN]
-	and a
-	ret z
-
-	; opponent’s turn
-
-	ld a,[$D07C]
-
-	cp a,AMNESIA
-	ld b,CONF_ANIM
-	jr z,.Replace\@
-
-	cp a,REST
-	ld b,SLP_ANIM
-	ret nz
-
-.Replace\@
-	ld a,b
-	ld [$D07C],a
-	ret
-
-Function4DBD: ; 4DBD
-	ld a,[$CC5B]
-	and a
-	ret z
-	dec a
-	add a
-	ld c,a
-	ld b,0
-	ld hl,Pointer4DCF
-	add hl,bc
-	ld a,[hli]
-	ld h,[hl]
-	ld l,a
-	jp [hl]
-
-Pointer4DCF: ; 4DCF
-	dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE
-
-INCBIN "baserom.gbc",$78DDB,$78E53-$78DDB
-
-RealPlayAnimation: ; 4E53
-	ld a,[$CF07] ; get animation # − 1
-	cp a,$FF
-	jr z,.Next4E60
-	call $586F
-	call $23B1 ; play sound effect
-.Next4E60
-	ld hl,$C300
-	ld a,l
-	ld [$D09D],a
-	ld a,h
-	ld [$D09C],a
-	ld a,[$D097]
-	ld h,a
-	ld a,[$D096]
-	ld l,a
-	push hl
-	ld c,[hl]
-	ld b,0
-	ld hl,PointerTable6F74
-	add hl,bc
-	add hl,bc
-	ld a,[hli]
-	ld c,a
-	ld a,[hli]
-	ld b,a
-	pop hl
-	inc hl
-	push hl
-	ld e,[hl]
-	ld d,0
-	ld hl,$7C85
-	add hl,de
-	add hl,de
-	ld a,[hli]
-	ld [$D082],a
-	ld a,[hl]
-	ld [$D081],a
-	pop hl
-	inc hl
-	ld a,[hl]
-	ld [$D09E],a
-	call $4000
-	call $4ED7
-	ld a,[$D087]
-	dec a
-	ld [$D087],a
-	ret z
-	ld a,[$D097]
-	ld h,a
-	ld a,[$D096]
-	ld l,a
-	ld a,[$D08B]
-	cp a,4
-	ld bc,3
-	jr nz,.Next4EBC
-	ld bc,$FFFD
-.Next4EBC
-	add hl,bc
-	ld a,h
-	ld [$D097],a
-	ld a,l
-	ld [$D096],a
-	jp $4E73
-
-INCBIN "baserom.gbc",$78EC8,$7986F - $78EC8
-
-Func586F: ; 0x7986F 586F
-	ld hl,MoveSoundTable
-	ld e,a
-	ld d,0
-	add hl,de
-	add hl,de
-	add hl,de
-	ld a,[hli]
-	ld b,a
-	call IsCryMove
-	jr nc,.NotCryMove
-	ld a,[H_WHOSETURN]
-	and a
-	jr nz,.next\@
-	ld a,[$D014] ; get number of current monster
-	jr .Continue\@
-.next\@
-	ld a,[$CFE5]
-.Continue\@
-	push hl
-	call $13D9
-	ld b,a
-	pop hl
-	ld a,[$C0F1]
-	add [hl]
-	ld [$C0F1],a
-	inc hl
-	ld a,[$C0F2]
-	add [hl]
-	ld [$C0F2],a
-	jr .done\@
-.NotCryMove
-	ld a,[hli]
-	ld [$C0F1],a
-	ld a,[hli]
-	ld [$C0F2],a
-.done\@
-	ld a,b
-	ret
-IsCryMove: ; 0x798ad
-; set carry if the move animation involves playing a monster cry
-	ld a,[$D07C]
-	cp a,GROWL
-	jr z,.CryMove
-	cp a,ROAR
-	jr z,.CryMove
-	and a ; clear carry
-	ret
-.CryMove
-	scf
-	ret
-
-MoveSoundTable: ; 0x798bc
-	db $a0,$00,$80
-	db $a2,$10,$80
-	db $b3,$00,$80
-	db $a1,$01,$80
-	db $a3,$00,$40
-	db $e9,$00,$ff
-	db $a3,$10,$60
-	db $a3,$20,$80
-	db $a3,$00,$a0
-	db $a6,$00,$80
-	db $a5,$20,$40
-	db $a5,$00,$80
-	db $a4,$00,$a0
-	db $a7,$10,$c0
-	db $a7,$00,$a0
-	db $a8,$00,$c0
-	db $a8,$10,$a0
-	db $a9,$00,$e0
-	db $a7,$20,$c0
-	db $aa,$00,$80
-	db $b9,$00,$80
-	db $ab,$01,$80
-	db $b7,$00,$80
-	db $ad,$f0,$40
-	db $b0,$00,$80
-	db $ad,$00,$80
-	db $b8,$10,$80
-	db $b1,$01,$a0
-	db $ae,$00,$80
-	db $b4,$00,$60
-	db $b4,$01,$40
-	db $b6,$00,$a0
-	db $b0,$10,$a0
-	db $b7,$00,$c0
-	db $aa,$10,$60
-	db $b0,$00,$a0
-	db $b9,$11,$c0
-	db $b0,$20,$c0
-	db $b8,$00,$80
-	db $b1,$00,$80
-	db $b1,$20,$c0
-	db $af,$00,$80
-	db $db,$ff,$40
-	db $b4,$00,$80
-	db $a1,$00,$c0
-	db $a1,$00,$40
-	db $e4,$00,$80
-	db $bf,$40,$60
-	db $bf,$00,$80
-	db $bf,$ff,$40
-	db $c7,$80,$c0
-	db $af,$10,$a0
-	db $af,$21,$e0
-	db $c5,$00,$80
-	db $bb,$20,$60
-	db $c7,$00,$80
-	db $cc,$00,$80
-	db $c2,$40,$80
-	db $c5,$f0,$e0
-	db $cf,$00,$80
-	db $c7,$f0,$60
-	db $c2,$00,$80
-	db $e6,$00,$80
-	db $9d,$01,$a0
-	db $a9,$f0,$20
-	db $ba,$01,$c0
-	db $ba,$00,$80
-	db $b0,$00,$e0
-	db $be,$01,$60
-	db $be,$20,$40
-	db $bb,$00,$80
-	db $bb,$40,$c0
-	db $b1,$03,$60
-	db $bd,$11,$e0
-	db $a8,$20,$e0
-	db $d2,$00,$80
-	db $b2,$00,$80
-	db $b2,$11,$a0
-	db $b2,$01,$c0
-	db $a9,$14,$c0
-	db $b1,$02,$a0
-	db $c5,$f0,$80
-	db $c5,$20,$c0
-	db $d5,$00,$20
-	db $d5,$20,$80
-	db $d2,$12,$60
-	db $be,$00,$80
-	db $aa,$01,$e0
-	db $c5,$0f,$e0
-	db $c5,$11,$20
-	db $a6,$10,$40
-	db $a5,$10,$c0
-	db $aa,$00,$20
-	db $d8,$00,$80
-	db $e4,$11,$18
-	db $9f,$20,$c0
-	db $9e,$20,$c0
-	db $bd,$00,$10
-	db $be,$f0,$20
-	db $df,$f0,$c0
-	db $a7,$f0,$e0
-	db $9f,$f0,$40
-	db $db,$00,$80
-	db $df,$80,$40
-	db $df,$00,$80
-	db $aa,$11,$20
-	db $aa,$22,$10
-	db $b1,$f1,$ff
-	db $a9,$f1,$ff
-	db $aa,$33,$30
-	db $dd,$40,$c0
-	db $a4,$20,$20
-	db $a4,$f0,$10
-	db $a5,$f8,$10
-	db $a7,$f0,$10
-	db $bd,$00,$80
-	db $ae,$00,$c0
-	db $dd,$c0,$ff
-	db $9f,$f2,$20
-	db $e1,$00,$80
-	db $e1,$00,$40
-	db $9f,$00,$40
-	db $a7,$10,$ff
-	db $c7,$20,$20
-	db $dd,$00,$80
-	db $c5,$1f,$20
-	db $bd,$2f,$80
-	db $a5,$1f,$ff
-	db $ca,$1f,$60
-	db $be,$1e,$20
-	db $be,$1f,$18
-	db $aa,$0f,$80
-	db $9f,$f8,$10
-	db $9e,$18,$20
-	db $dd,$08,$40
-	db $ad,$01,$e0
-	db $a7,$09,$ff
-	db $e4,$42,$01
-	db $b2,$00,$ff
-	db $dd,$08,$e0
-	db $bb,$00,$80
-	db $9f,$88,$10
-	db $bd,$48,$ff
-	db $9e,$ff,$ff
-	db $bb,$ff,$10
-	db $9e,$ff,$04
-	db $b2,$01,$ff
-	db $a9,$f8,$ff
-	db $a2,$f0,$f0
-	db $a5,$08,$10
-	db $a3,$f0,$ff
-	db $b0,$f0,$ff
-	db $e1,$10,$ff
-	db $a4,$f0,$20
-	db $ca,$f0,$60
-	db $b8,$12,$10
-	db $e6,$f0,$20
-	db $b4,$12,$ff
-	db $db,$80,$04
-	db $df,$f0,$10
-	db $c5,$f8,$ff
-	db $be,$f0,$ff
-	db $a7,$01,$ff
-	db $cc,$d8,$04
-	db $a1,$00,$80
-	db $a1,$00,$80
-
-INCBIN "baserom.gbc",$79AAE,$79E16 - $79AAE
-
-TossBallAnimation: ; 5E16
-	ld a,[W_ISINBATTLE]
-	cp a,2
-	jr z,.BlockBall\@ ; if in trainer battle, play different animation
-	ld a,[$D11E]
-	ld b,a
-
-	; upper nybble: how many animations (from PokeBallAnimations) to play
-	; this will be 4 for successful capture, 6 for breakout
-	and a,$F0
-	swap a
-	ld c,a
-
-	; lower nybble: number of shakes
-	; store these for later
-	ld a,b
-	and a,$F
-	ld [$CD3D],a
-
-	ld hl,.PokeBallAnimations
-	; choose which toss animation to use
-	ld a,[$CF91]
-	cp a,POKE_BALL
-	ld b,TOSS_ANIM
-	jr z,.done\@
-	cp a,GREAT_BALL
-	ld b,GREATTOSS_ANIM
-	jr z,.done\@
-	ld b,ULTRATOSS_ANIM
-.done\@
-	ld a,b
-.PlayNextAnimation\@
-	ld [$D07C],a
-	push bc
-	push hl
-	call PlayAnimation
-	pop hl
-	ld a,[hli]
-	pop bc
-	dec c
-	jr nz,.PlayNextAnimation\@
-	ret
-
-.PokeBallAnimations: ; 5E50
-; sequence of animations that make up the Poké Ball toss
-	db POOF_ANIM,HIDEPIC_ANIM,$C2,POOF_ANIM,SHOWPIC_ANIM
-
-.BlockBall\@ ; 5E55
-	ld a,$C1
-	ld [$D07C],a
-	call PlayAnimation
-	ld a,$95
-	call $23B1 ; play sound effect
-	ld a,BLOCKBALL_ANIM
-	ld [$D07C],a
-	jp PlayAnimation
-
-INCBIN "baserom.gbc",$79E6A,$7AF74 - $79E6A
-
-PointerTable6F74: ; 6F74
-	dw $7de7
-	dw $7068
-	dw $708d
-	dw $70ce
-	dw $70df
-	dw $70f0
-	dw $7101
-	dw $7132
-	dw $7173
-	dw $71b4
-	dw $71e5
-	dw $7216
-	dw $7227
-	dw $7238
-	dw $7259
-	dw $726a
-	dw $727b
-	dw $729c
-	dw $72bd
-	dw $72ca
-	dw $72db
-	dw $72fc
-	dw $732d
-	dw $734e
-	dw $735f
-	dw $7364
-	dw $736d
-	dw $7376
-	dw $737f
-	dw $7388
-	dw $7391
-	dw $73ab
-	dw $73b4
-	dw $73cd
-	dw $73fe
-	dw $744b
-	dw $745c
-	dw $7465
-	dw $7496
-	dw $74a7
-	dw $74bc
-	dw $74d5
-	dw $74e6
-	dw $74f7
-	dw $7500
-	dw $7505
-	dw $7526
-	dw $7547
-	dw $7558
-	dw $7569
-	dw $756e
-	dw $758b
-	dw $75a8
-	dw $75ad
-	dw $75c6
-	dw $75d7
-	dw $75e8
-	dw $75f9
-	dw $760a
-	dw $761b
-	dw $7630
-	dw $7649
-	dw $7666
-	dw $7687
-	dw $76a8
-	dw $76b5
-	dw $76c6
-	dw $76f3
-	dw $7720
-	dw $7731
-	dw $7742
-	dw $7753
-	dw $7764
-	dw $7775
-	dw $785a
-	dw $786b
-	dw $787c
-	dw $788d
-	dw $789e
-	dw $78bf
-	dw $78f0
-	dw $7911
-	dw $7932
-	dw $7943
-	dw $7950
-	dw $7961
-	dw $796e
-	dw $7987
-	dw $79ac
-	dw $79c9
-	dw $79ce
-	dw $79ff
-	dw $7a10
-	dw $7a31
-	dw $7a5e
-	dw $7a9b
-	dw $7aac
-	dw $7acd
-	dw $7afe
-	dw $7b3f
-	dw $7b58
-	dw $7b71
-	dw $7b8a
-	dw $7b93
-	dw $7b98
-	dw $7ba9
-	dw $7bae
-	dw $7bcf
-	dw $7bf0
-	dw $7c11
-	dw $7c1a
-	dw $7c2b
-	dw $7c3c
-	dw $77b6
-	dw $77f7
-	dw $7828
-	dw $7849
-	dw $739a
-	dw $7c4d
-	dw $7c6a
-	dw $7c7b
-	dw $7c80
-
-INCBIN "baserom.gbc",$7B068,$7C000 - $7B068
-
-SECTION "bank1F",DATA,BANK[$1F]
-
-INCBIN "baserom.gbc",$7C000,$4000
-
-SECTION "bank20",DATA,BANK[$20]
-
-UnnamedText_80000: ; 0x80000
-	db $0, "Bingo!@@"
-; 0xa80009
-
-_UnnamedText_526f3: ; 0x80009
-	db $0, $4f
-	db "The CARD KEY", $55
-	db "opened the door!", $57
-; 0x80009 + 32 bytes
-
-_UnnamedText_526f8: ; 0x80029
-	db $0, "Darn! It needs a", $4f
-	db "CARD KEY!", $57
-; 0x80029 + 28 bytes
-
-UnnamedText_80045: ; 0x80045
-	TX_RAM $cd6d
-	db $0, ": @@"
-; 0xa8004d
-
-_UnnamedText_70847: ; 0x8004d
-	db $0, "Not even a nibble!", $58
-; 0x8004d + 20 bytes
-
-_UnnamedText_7084c: ; 0x80061
-	db $0, "Looks like there's", $4f
-	db "nothing here.", $58
-; 0x80061 + 33 bytes
-
-_UnnamedText_70851: ; 0x80082
-	db $0, "Oh!", $4f
-	db "It's a bite!", $58
-; 0x80082 + 17 bytes
-
-_UnnamedText_24db: ; 0x80093
-	db $0, "!", $57
-; 0x80093 + 3 bytes
-
-_UnnamedText_24e0: ; 0x80096
-	db $0, "Ground rose up", $4f
-	db "somewhere!", $57
-; 0x80096 + 27 bytes
-
-_VictoryRoad3Text10:
-_VictoryRoad3Text9:
-_VictoryRoad3Text8:
-_VictoryRoad3Text7:
-_VictoryRoad2Text13:
-_VictoryRoad2Text12:
-_VictoryRoad2Text11:
-_SeafoamIslands1Text2:
-_SeafoamIslands1Text1:
-_SeafoamIslands5Text2:
-_SeafoamIslands5Text1:
-_SeafoamIslands4Text6:
-_SeafoamIslands4Text5:
-_SeafoamIslands4Text4:
-_SeafoamIslands4Text3:
-_SeafoamIslands4Text2:
-_SeafoamIslands4Text1:
-_SeafoamIslands3Text2:
-_SeafoamIslands3Text1:
-_SeafoamIslands2Text2:
-_SeafoamIslands2Text1:
-_FuchsiaHouse2Text3:
-_VictoryRoad1Text7:
-_VictoryRoad1Text6:
-_VictoryRoad1Text5: ; 0x800b1
-	db $0, "This requires", $4f
-	db "STRENGTH to move!", $57
-
-_SaffronCityText19:
-_CinnabarIslandText4:
-_FuchsiaCityText14:
-_VermilionCityText9:
-_LavenderTownText6:
-_CeruleanCityText14:
-_PewterCityText8:
-_ViridianCityText11: ; 0x800d2
-	db $0, "All your item", $4f
-	db "needs fulfilled!", $55
-	db "#MON MART", $57
-
-_ViridianCityText12: ; 0x800fc
-	db $0, "Heal Your #MON!", $4f
-	db "#MON CENTER", $57
-
-UnnamedText_80119: ; 0x80119
-	db $0, $52, " found", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x8012a
-
-_UnnamedText_4e2c: ; 0x8012a
-	db $0, "No more room for", $4f
-	db "items!", $57
-; 0x8012a + 25 bytes
-
-_UnnamedText_59091: ; 0x80143
-	db $0, "Hi! Remember me?", $4f
-	db "I'm PROF.OAK's", $55
-	db "AIDE!", $51
-	db "If you caught @"
-; 0x80143 + 52 bytes
-
-UnnamedText_80177: ; 0x80177
-	TX_NUM $ffdb, 1, 3
-	db $0, $4f
-	db "kinds of #MON,", $55
-	db "I'm supposed to", $55
-	db "give you an", $55
-	db "@"
-	TX_RAM $cc5b
-	db $0, "!", $51
-	db "So, ", $52, "! Have", $4f
-	db "you caught at", $55
-	db "least @"
-	TX_NUM $ffdb, 1, 3
-	db $0, " kinds of", $55
-	db "#MON?", $57
-; 0x801e4
-
-_UnnamedText_59096: ; 0x801e4
-	db $0, "Let's see...", $4f
-	db "Uh-oh! You have", $55
-	db "caught only @"
-; 0x801e4 + 42 bytes
-
-UnnamedText_8020e: ; 0x8020e
-	TX_NUM $ffdd, 1, 3
-	db $0, $55
-	db "kinds of #MON!", $51
-	db "You need @"
-	TX_NUM $ffdb, 1, 3
-	db $0, " kinds", $4f
-	db "if you want the", $55
-	db "@"
-	TX_RAM $cc5b
-	db $0, ".", $57
-; 0x80250
-
-_UnnamedText_5909b: ; 0x80250
-	db $0, "Oh. I see.", $51
-	db "When you get @"
-	TX_NUM $ffdb, 1, 3
-	db $0, $4f
-	db "kinds, come back", $55
-	db "for @"
-	TX_RAM $cc5b
-	db $0, ".", $57
-; 0x8028c
-
-_UnnamedText_590a0: ; 0x8028c
-	db $0, "Great! You have", $4f
-	db "caught @"
-; 0x8028c + 25 bytes
-
-UnnamedText_802a5: ; 0x802a5
-	TX_NUM $ffdd, 1, 3
-	db $0, " kinds ", $55
-	db "of #MON!", $55
-	db "Congratulations!", $51
-	db "Here you go!", $58
-; 0x802a5 + 52 bytes = 0x802d9
-
-UnnamedText_802d9: ; 0x802d9
-	db $0, $52, " got the", $4f
-	db "@"
-	TX_RAM $cc5b
-	db $0, "!@@"
-; 0xa802ec
-
-_UnnamedText_590ab: ; 0x802ec
-	db $0, "Oh! I see you", $4f
-	db "don't have any", $55
-	db "room for the", $55
-	db "@"
-; 0x802ec + 43 bytes
-
-UnnamedText_80317: ; 0x80317
-	TX_RAM $cc5b
-	db $0, ".", $57
-; 0x80317 + 6 bytes = 0x8031d
-
-_ViridianForestText1: ; 0x8031d
-	db $0, "I came here with", $4f
-	db "some friends!", $51
-	db "They're out for", $4f
-	db "#MON fights!", $57
-
-_UnnamedText_6118a: ; 0x80359
-	db $0, "Hey! You have", $4f
-	db "#MON! Come on!", $55
-	db "Let's battle'em!", $57
-; 0x80359 + 46 bytes
-
-_UnnamedText_6118f: ; 0x80387
-	db $0, "No!", $4f
-	db "CATERPIE can't", $55
-	db "cut it!", $58
-; 0x80387 + 27 bytes
-
-_UnnamedText_61194: ; 0x803a2
-	db $0, "Ssh! You'll scare", $4f
-	db "the bugs away!", $57
-; 0x803a2 + 33 bytes
-
-_UnnamedText_61199: ; 0x803c3
-	db $0, "Yo! You can't jam", $4f
-	db "out if you're a", $55
-	db "#MON trainer!", $57
-; 0x803c3 + 47 bytes
-
-_UnnamedText_6119e: ; 0x803f2
-	db $0, "Huh?", $4f
-	db "I ran out of", $55
-	db "#MON!", $58
-; 0x803f2 + 25 bytes
-
-_UnnamedText_611a3: ; 0x8040b
-	db $0, "Darn! I'm going", $4f
-	db "to catch some", $55
-	db "stronger ones!", $57
-; 0x8040b + 45 bytes
-
-_UnnamedText_611a8: ; 0x80438
-	db $0, "Hey, wait up!", $4f
-	db "What's the hurry?", $57
-; 0x80438 + 32 bytes
-
-_UnnamedText_611ad: ; 0x80458
-	db $0, "I", $4f
-	db "give! You're good", $55
-	db "at this!", $58
-; 0x80458 + 29 bytes
-
-_UnnamedText_611b2: ; 0x80475
-	db $0, "Sometimes, you", $4f
-	db "can find stuff on", $55
-	db "the ground!", $51
-	db "I'm looking for", $4f
-	db "the stuff I", $55
-	db "dropped!", $57
-; 0x80475 + 82 bytes
-
-_ViridianForestText8: ; 0x804c7
-	db $0, "I ran out of #", $4f
-	db "BALLs to catch", $55
-	db "#MON with!", $51
-	db "You should carry", $4f
-	db "extras!", $57
-
-_ViridianForestText9: ; 0x8050a
-	db $0, "TRAINER TIPS", $51
-	db "If you want to", $4f
-	db "avoid battles,", $55
-	db "stay away from", $55
-	db "grassy areas!", $57
-
-_ViridianForestText10: ; 0x80553
-	db $0, "For poison, use", $4f
-	db "ANTIDOTE! Get it", $55
-	db "at #MON MARTs!", $57
-
-_ViridianForestText11: ; 0x80584
-	db $0, "TRAINER TIPS", $51
-	db "Contact PROF.OAK", $4f
-	db "via PC to get", $55
-	db "your #DEX", $55
-	db "evaluated!", $57
-
-_ViridianForestText12: ; 0x805c6
-	db $0, "TRAINER TIPS", $51
-	db "No stealing of", $4f
-	db "#MON from", $55
-	db "other trainers!", $55
-	db "Catch only wild", $55
-	db "#MON!", $57
-
-_ViridianForestText13: ; 0x80613
-	db $0, "TRAINER TIPS", $51
-	db "Weaken #MON", $4f
-	db "before attempting", $55
-	db "capture!", $51
-	db "When healthy,", $4f
-	db "they may escape!", $57
-
-_ViridianForestText14: ; 0x80667
-	db $0, "LEAVING", $4f
-	db "VIRIDIAN FOREST", $55
-	db "PEWTER CITY AHEAD", $57
-
-_UnnamedText_49a98: ; 0x80692
-	db $0, "WHOA! You shocked", $4f
-	db "me! Oh, you're", $55
-	db "just a kid!", $57
-; 0x80692 + 45 bytes
-
-_UnnamedText_49a9d: ; 0x806bf
-	db $0, "Wow!", $4f
-	db "Shocked again!", $58
-; 0x806bf + 21 bytes
-
-_UnnamedText_49aa2: ; 0x806d4
-	db $0, "Kids like you", $4f
-	db "shouldn't be", $55
-	db "here!", $57
-; 0x806d4 + 33 bytes
-
-_UnnamedText_49aa7: ; 0x806f5
-	db $0, "Did you come to", $4f
-	db "explore too?", $57
-; 0x806f5 + 30 bytes
-
-_UnnamedText_49aac: ; 0x80713
-	db $0, "Losing", $4f
-	db "stinks!", $58
-; 0x80713 + 16 bytes
-
-_UnnamedText_49ab1: ; 0x80723
-	db $0, "I came down here", $4f
-	db "to show off to", $55
-	db "girls.", $57
-; 0x80723 + 40 bytes
-
-_UnnamedText_49ab6: ; 0x8074b
-	db $0, "Wow! It's way", $4f
-	db "bigger in here", $55
-	db "than I thought!", $57
-; 0x8074b + 45 bytes
-
-_UnnamedText_49abb: ; 0x80778
-	db $0, "Oh!", $4f
-	db "I lost it!", $58
-; 0x80778 + 16 bytes
-
-_UnnamedText_49ac0: ; 0x80788
-	db $0, "How do you get", $4f
-	db "out of here?", $57
-; 0x80788 + 29 bytes
-
-_UnnamedText_49ac5: ; 0x807a5
-	db $0, "What! Don't sneak", $4f
-	db "up on me!", $57
-; 0x807a5 + 28 bytes
-
-_UnnamedText_49aca: ; 0x807c1
-	db $0, "My", $4f
-	db "#MON won't do!", $58
-; 0x807c1 + 18 bytes
-
-_UnnamedText_49acf: ; 0x807d3
-	db $0, "I have to find", $4f
-	db "stronger #MON.", $57
-; 0x807d3 + 31 bytes
-
-_UnnamedText_49ad4: ; 0x807f2
-	db $0, "What? I'm waiting", $4f
-	db "for my friends to", $55
-	db "find me here.", $57
-; 0x807f2 + 50 bytes
-
-_UnnamedText_49ad9: ; 0x80824
-	db $0, "I lost?", $58
-; 0x80824 + 9 bytes
-
-_UnnamedText_49ade: ; 0x8082d
-	db $0, "I heard there are", $4f
-	db "some very rare", $55
-	db "fossils here.", $57
-; 0x8082d + 48 bytes
-
-_UnnamedText_49ae3: ; 0x8085d
-	db $0, "Suspicious men", $4f
-	db "are in the cave.", $55
-	db "What about you?", $57
-; 0x8085d + 49 bytes
-
-_UnnamedText_49ae8: ; 0x8088e
-	db $0, "You", $4f
-	db "got me!", $58
-; 0x8088e + 13 bytes
-
-_UnnamedText_49aed: ; 0x8089b
-	db $0, "I saw them! I'm", $4f
-	db "sure they're from", $55
-	db "TEAM ROCKET!", $57
-; 0x8089b + 46 bytes
-
-_UnnamedText_49af2: ; 0x808c9
-	db $0, "Go through this", $4f
-	db "cave to get to", $55
-	db "CERULEAN CITY!", $57
-; 0x808c9 + 47 bytes
-
-_UnnamedText_49af7: ; 0x808f8
-	db $0, "I", $4f
-	db "lost.", $58
-; 0x808f8 + 9 bytes
-
-_UnnamedText_49afc: ; 0x80901
-	db $0, "ZUBAT is tough!", $4f
-	db "But, it can be", $55
-	db "useful if you", $55
-	db "catch one.", $57
-; 0x80901 + 57 bytes
-
-_MtMoon1Text14: ; 0x8093a
-	db $0, "Beware! ZUBAT is", $4f
-	db "a blood sucker!", $57
-
-_UnnamedText_51a48: ; 0x8095c
-	db $0, $57
-; 0x8095c + 2 bytes
-
-_UnnamedText_49f24: ; 0x8095e
-	db $0, "You want the", $4f
-	db "DOME FOSSIL?", $57
-; 0x8095e + 27 bytes
-
-_UnnamedText_49f64: ; 0x80979
-	db $0, "You want the", $4f
-	db "HELIX FOSSIL?", $57
-; 0x80979 + 28 bytes
-
-_UnnamedText_49f6f: ; 0x80995
-	db $0, $52, " got the", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x809a8
-
-_UnnamedText_49f7f: ; 0x809a8
-	db $0, "Look, you've got", $4f
-	db "no room for this.@@"
-; 0x809cc
-
-_UnnamedText_49f85: ; 0x809cc
-	db $0, "Hey, stop!", $51
-	db "I found these", $4f
-	db "fossils! They're", $55
-	db "both mine!", $57
-; 0x809cc + 53 bytes
-
-_UnnamedText_49f8a: ; 0x80a01
-	db $0, "OK!", $4f
-	db "I'll share!", $58
-; 0x80a01 + 16 bytes
-
-_UnnamedText_49f8f: ; 0x80a11
-	db $0, "We'll each take", $4f
-	db "one!", $55
-	db "No being greedy!", $57
-; 0x80a11 + 38 bytes
-
-_UnnamedText_49f94: ; 0x80a37
-	db $0, "Far away, on", $4f
-	db "CINNABAR ISLAND,", $55
-	db "there's a #MON", $55
-	db "LAB.", $51
-	db "They do research", $4f
-	db "on regenerating", $55
-	db "fossils.", $57
-; 0x80a37 + 92 bytes
-
-UnnamedText_80a93: ; 0x80a93
-	db $0, "All right. Then", $4f
-	db "this is mine!@@"
-; 0x80ab3
-
-_UnnamedText_49f9f: ; 0x80ab3
-	db $0, "TEAM ROCKET will", $4f
-	db "find the fossils,", $55
-	db "revive and sell", $55
-	db "them for cash!", $57
-; 0x80ab3 + 67 bytes
-
-_UnnamedText_49fa4: ; 0x80af6
-	db $0, "Urgh!", $4f
-	db "Now I'm mad!", $58
-; 0x80af6 + 19 bytes
-
-_UnnamedText_49fa9: ; 0x80b09
-	db $0, "You made me mad!", $4f
-	db "TEAM ROCKET will", $55
-	db "blacklist you!", $57
-; 0x80b09 + 50 bytes
-
-_UnnamedText_49fae: ; 0x80b3b
-	db $0, "We, TEAM ROCKET,", $4f
-	db "are #MON", $55
-	db "gangsters!", $57
-; 0x80b3b + 38 bytes
-
-_UnnamedText_49fb3: ; 0x80b61
-	db $0, "I blew", $4f
-	db "it!", $58
-; 0x80b61 + 12 bytes
-
-_UnnamedText_49fb8: ; 0x80b6d
-	db $0, "Darn it all! My", $4f
-	db "associates won't", $55
-	db "stand for this!", $57
-; 0x80b6d + 49 bytes
-
-_UnnamedText_49fbd: ; 0x80b9e
-	db $0, "We're pulling a", $4f
-	db "big job here!", $55
-	db "Get lost, kid!", $57
-; 0x80b9e + 45 bytes
-
-_UnnamedText_49fc2: ; 0x80bcb
-	db $0, "So, you", $4f
-	db "are good.", $58
-; 0x80bcb + 19 bytes
-
-_UnnamedText_49fc7: ; 0x80bde
-	db $0, "If you find a", $4f
-	db "fossil, give it", $55
-	db "to me and scram!", $57
-; 0x80bde + 48 bytes
-
-_UnnamedText_49fcc: ; 0x80c0e
-	db $0, "Little kids", $4f
-	db "should leave", $55
-	db "grown-ups alone!", $57
-; 0x80c0e + 43 bytes
-
-_UnnamedText_49fd1: ; 0x80c39
-	db $0, "I'm", $4f
-	db "steamed!", $58
-; 0x80c39 + 13 bytes
-
-_UnnamedText_49fd6: ; 0x80c46
-	db $0, "#MON lived", $4f
-	db "here long before", $55
-	db "people came.", $57
-; 0x80c46 + 42 bytes
-
-_SSAnne1Text1: ; 0x80c70
-	db $0, "Bonjour!", $4f
-	db "I am le waiter on", $55
-	db "this ship!", $51
-	db "I will be happy", $4f
-	db "to serve you any-", $55
-	db "thing you please!", $51
-	db "Ah! Le strong", $4f
-	db "silent type!", $57
-
-_SSAnne1Text2: ; 0x80ce6
-	db $0, "The passengers", $4f
-	db "are restless!", $51
-	db "You might be", $4f
-	db "challenged by the", $55
-	db "more bored ones!", $57
-
-_SSAnne2Text1: ; 0x80d34
-	db $0, "This ship, she is", $4f
-	db "a luxury liner", $55
-	db "for trainers!", $51
-	db "At every port, we", $4f
-	db "hold parties with", $55
-	db "invited trainers!", $57
-
-_UnnamedText_61500: ; 0x80d9a
-	db $0, $53, ": Bonjour!", $4f
-	db $52, "!", $51
-	db "Imagine seeing", $4f
-	db "you here!", $51
-	db $52, ", were you", $4f
-	db "really invited?", $51
-	db "So how's your", $4f
-	db "#DEX coming?", $51
-	db "I already caught", $4f
-	db "40 kinds, pal!", $51
-	db "Different kinds", $4f
-	db "are everywhere!", $51
-	db "Crawl around in", $4f
-	db "grassy areas!", $57
-; 0x80d9a + 189 bytes
-
-_UnnamedText_61505: ; 0x80e57
-	db $0, "Humph!", $51
-	db "At least you're", $4f
-	db "raising your", $55
-	db "#MON!", $58
-; 0x80e57 + 42 bytes
-
-_UnnamedText_6150a: ; 0x80e81
-	db $0, $52, "! What are", $4f
-	db "you, seasick?", $51
-	db "You should shape", $4f
-	db "up, pal!", $58
-; 0x80e81 + 53 bytes
-
-_UnnamedText_6150f: ; 0x80eb6
-	db $0, $53, ": I heard", $4f
-	db "there was a CUT", $55
-	db "master on board.", $51
-	db "But, he was just a", $4f
-	db "seasick, old man!", $51
-	db "But, CUT itself is", $4f
-	db "really useful!", $51
-	db "You should go see", $4f
-	db "him! Smell ya!", $57
-; 0x80eb6 + 149 bytes
-
-_SSAnne3Text1: ; 0x80f4b
-	db $0, "Our CAPTAIN is a", $4f
-	db "sword master!", $51
-	db "He even teaches", $4f
-	db "CUT to #MON!", $57
-
-_SSAnne5Text1: ; 0x80f88
-	db $0, "The party's over.", $4f
-	db "The ship will be", $55
-	db "departing soon.", $57
-
-_SSAnne5Text2: ; 0x80fbb
-	db $0, "Scrubbing decks", $4f
-	db "is hard work!", $57
-
-_SSAnne5Text3: ; 0x80fda
-	db $0, "Urf. I feel ill.", $51
-	db "I stepped out to", $4f
-	db "get some air.", $57
-
-_UnnamedText_61703: ; 0x8100b
-	db $0, "Hey matey!", $51
-	db "Let's do a little", $4f
-	db "jig!", $57
-; 0x8100b + 34 bytes
-
-_UnnamedText_61708: ; 0x8102d
-	db $0, "You're", $4f
-	db "impressive!", $58
-; 0x8102d + 19 bytes
-
-_UnnamedText_6170d: ; 0x81040
-	db $0, "How many kinds of", $4f
-	db "#MON do you", $55
-	db "think there are?", $57
-; 0x81040 + 48 bytes
-
-_UnnamedText_6171c: ; 0x81070
-	db $0, "Ahoy there!", $4f
-	db "Are you seasick?", $57
-; 0x81070 + 30 bytes
-
-_UnnamedText_61721: ; 0x8108e
-	db $0, "I was", $4f
-	db "just careless!", $58
-; 0x8108e + 22 bytes
-
-_UnnamedText_61726: ; 0x810a4
-	db $0, "My Pa said there", $4f
-	db "are 100 kinds of", $55
-	db "#MON. I think", $55
-	db "there are more.", $57
-; 0x810a4 + 65 bytes
-
-_SSAnne6Text1: ; 0x810e5
-	db $0, "You, mon petit!", $4f
-	db "We're busy here!", $55
-	db "Out of the way!", $57
-
-_SSAnne6Text2: ; 0x81116
-	db $0, "I saw an odd ball", $4f
-	db "in the trash.", $57
-
-_SSAnne6Text3: ; 0x81137
-	db $0, "I'm so busy I'm", $4f
-	db "getting dizzy!", $57
-
-_SSAnne6Text4: ; 0x81155
-	db $0, "Hum-de-hum-de-", $4f
-	db "ho...", $51
-	db "I peel spuds", $4f
-	db "every day!", $55
-	db "Hum-hum...", $57
-
-_SSAnne6Text5: ; 0x8118e
-	db $0, "Did you hear about", $4f
-	db "SNORLAX?", $51
-	db "All it does is", $4f
-	db "eat and sleep!", $57
-
-_SSAnne6Text6: ; 0x811c9
-	db $0, "Snivel...Sniff...", $51
-	db "I only get to", $4f
-	db "peel onions...", $55
-	db "Snivel...", $57
-
-_UnnamedText_61807: ; 0x81203
-	db $0, "Er-hem! Indeed I", $4f
-	db "am le CHEF!", $51
-	db "Le main course is", $58
-; 0x81203 + 48 bytes
-
-_UnnamedText_6180c: ; 0x81233
-	db $0, "Salmon du Salad!", $51
-	db "Les guests may", $4f
-	db "gripe it's fish", $55
-	db "again, however!", $57
-; 0x81233 + 64 bytes
-
-_UnnamedText_61811: ; 0x81273
-	db $0, "Eels au Barbecue!", $51
-	db "Les guests will", $4f
-	db "mutiny, I fear.", $57
-; 0x81273 + 51 bytes
-
-_UnnamedText_61816: ; 0x812a6
-	db $0, "Prime Beef Steak!", $51
-	db "But, have I enough", $4f
-	db "fillets du beef?", $57
-; 0x812a6 + 55 bytes
-
-_SSAnne7RubText: ; 0x812dd
-	db $0, "CAPTAIN: Ooargh...", $4f
-	db "I feel hideous...", $55
-	db "Urrp! Seasick...", $51
-	db $52, " rubbed", $4f
-	db "the CAPTAIN's", $55
-	db "back!", $51
-	db "Rub-rub...", $4f
-	db "Rub-rub...@@"
-; 0x81347
-
-_ReceivingHM01Text: ; 0x81347
-	db $0, "CAPTAIN: Whew!", $4f
-	db "Thank you! I", $55
-	db "feel much better!", $51
-	db "You want to see", $4f
-	db "my CUT technique?", $51
-	db "I could show you", $4f
-	db "if I wasn't ill...", $51
-	db "I know! You can", $4f
-	db "have this!", $51
-	db "Teach it to your", $4f
-	db "#MON and you", $55
-	db "can see it CUT", $55
-	db "any time!", $58
-; 0x81347 + 198 bytes
-
-_ReceivedHM01Text: ; 0x8140d
-	db $0, $52, " got", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x8141c
-
-_UnnamedText_61932: ; 0x8141c
-	db $0, "CAPTAIN: Whew!", $51
-	db "Now that I'm not", $4f
-	db "sick any more, I", $55
-	db "guess it's time.", $57
-; 0x8141c + 65 bytes
-
-_HM01NoRoomText: ; 0x8145d
-	db $0, "Oh no! You have", $4f
-	db "no room for this!", $57
-; 0x8145d + 35 bytes
-
-_SSAnne7Text2: ; 0x81480
-	db $0, "Yuck! Shouldn't", $4f
-	db "have looked!", $57
-
-_SSAnne7Text3: ; 0x8149d
-	db $0, "How to Conquer", $4f
-	db "Seasickness...", $55
-	db "The CAPTAIN's", $55
-	db "reading this!", $57
-
-_SSAnne8Text8: ; 0x814d7
-	db $0, "WIGGLYTUFF: Puup", $4f
-	db "pupuu!@@"
-
-_UnnamedText_61a0b: ; 0x814f1
-	db $0, "I travel alone", $4f
-	db "on my journeys!", $51
-	db "My #MON are my", $4f
-	db "only friends!", $57
-; 0x814f1 + 61 bytes
-
-_UnnamedText_61a10: ; 0x8152e
-	db $0, "My, my", $4f
-	db "friends...", $58
-; 0x8152e + 19 bytes
-
-_UnnamedText_61a15: ; 0x81541
-	db $0, "You should be", $4f
-	db "nice to friends!", $57
-; 0x81541 + 32 bytes
-
-_UnnamedText_61a1a: ; 0x81561
-	db $0, "You pup! How dare", $4f
-	db "you barge in!", $57
-; 0x81561 + 33 bytes
-
-_UnnamedText_61a1f: ; 0x81582
-	db $0, "Humph!", $4f
-	db "You rude child!", $58
-; 0x81582 + 24 bytes
-
-_UnnamedText_61a24: ; 0x8159a
-	db $0, "I wish to be left", $4f
-	db "alone! Get out!", $57
-; 0x8159a + 35 bytes
-
-_UnnamedText_61a29: ; 0x815bd
-	db $0, "I love #MON!", $4f
-	db "Do you?", $57
-; 0x815bd + 22 bytes
-
-_UnnamedText_61a2e: ; 0x815d3
-	db $0, "Wow! ", $4f
-	db "You're great!", $58
-; 0x815d3 + 20 bytes
-
-_UnnamedText_61a33: ; 0x815e7
-	db $0, "Let me be your", $4f
-	db "friend, OK?", $51
-	db "Then we can trade", $4f
-	db "#MON!", $57
-; 0x815e7 + 52 bytes
-
-_UnnamedText_61a38: ; 0x8161b
-	db $0, "I collected these", $4f
-	db "#MON from all", $55
-	db "around the world!", $57
-; 0x8161b + 51 bytes
-
-_UnnamedText_61a3d: ; 0x8164e
-	db $0, "Oh no!", $4f
-	db "I went around the", $55
-	db "world for these!", $58
-; 0x8164e + 43 bytes
-
-_UnnamedText_61a42: ; 0x81679
-	db $0, "You hurt my poor", $4f
-	db "worldly #MON!", $51
-	db "I demand that you", $4f
-	db "heal them at a", $55
-	db "#MON CENTER!", $57
-; 0x81679 + 78 bytes
-
-_SSAnne8Text5: ; 0x816c7
-	db $0, "Waiter, I would", $4f
-	db "like a cherry pie", $55
-	db "please!", $57
-
-_SSAnne8Text6: ; 0x816f2
-	db $0, "A cruise is so", $4f
-	db "elegant yet cozy!", $57
-
-_SSAnne8Text7: ; 0x81714
-	db $0, "I always travel", $4f
-	db "with WIGGLYTUFF!", $57
-
-_SSAnne8Text9: ; 0x81736
-	db $0, "We are cruising", $4f
-	db "around the world.", $57
-
-_SSAnne8Text11: ; 0x81759
-	db $0, "Ssh! I'm a GLOBAL", $4f
-	db "POLICE agent!", $51
-	db "I'm on the trail", $4f
-	db "of TEAM ROCKET!", $57
-
-_UnnamedText_61bf2: ; 0x81799
-	db $0, "In all my travels", $4f
-	db "I've never seen", $55
-	db "any #MON sleep", $55
-	db "like this one!", $51
-	db "It was something", $4f
-	db "like this!", $58
-; 0x81799 + 92 bytes
-
-_UnnamedText_61c01: ; 0x817f5
-	db $0, "Ah yes, I have", $4f
-	db "seen some #MON", $55
-	db "ferry people", $55
-	db "across the water!", $57
-; 0x817f5 + 62 bytes
-
-_UnnamedText_61c10: ; 0x81833
-	db $0, "#MON can CUT", $4f
-	db "down small bushes.", $57
-; 0x81833 + 33 bytes
-
-_UnnamedText_61c1f: ; 0x81854
-	db $0, "Have you gone to", $4f
-	db "the SAFARI ZONE", $55
-	db "in FUCHSIA CITY?", $51
-	db "It had many rare", $4f
-	db "kinds of #MON!!", $57
-; 0x81854 + 84 bytes
-
-_UnnamedText_61c2e: ; 0x818a8
-	db $0, "Me and my Daddy", $4f
-	db "think the SAFARI", $55
-	db "ZONE is awesome!", $57
-; 0x818a8 + 51 bytes
-
-_UnnamedText_61c3d: ; 0x818db
-	db $0, "The CAPTAIN looked", $4f
-	db "really sick and", $55
-	db "pale!", $57
-; 0x818db + 42 bytes
-
-_UnnamedText_61c4c: ; 0x81905
-	db $0, "I hear many people", $4f
-	db "get seasick!", $57
-; 0x81905 + 33 bytes
-
-_UnnamedText_61c51: ; 0x81926
-	db $0, "Competing against", $4f
-	db "the young keeps", $55
-	db "me youthful.", $57
-; 0x81926 + 48 bytes
-
-_UnnamedText_61c56: ; 0x81956
-	db $0, "Good", $4f
-	db "fight! Ah, I feel", $55
-	db "young again!", $58
-; 0x81956 + 37 bytes
-
-_UnnamedText_61c5b: ; 0x8197b
-	db $0, "15 years ago, I", $4f
-	db "would have won!", $57
-; 0x8197b + 33 bytes
-
-_UnnamedText_61c60: ; 0x8199c
-	db $0, "Check out what I", $4f
-	db "fished up!", $57
-; 0x8199c + 29 bytes
-
-_UnnamedText_61c65: ; 0x819b9
-	db $0, "I'm", $4f
-	db "all out!", $58
-; 0x819b9 + 13 bytes
-
-_UnnamedText_61c6a: ; 0x819c6
-	db $0, "Party?", $51
-	db "The cruise ship's", $4f
-	db "party should be", $55
-	db "over by now.", $57
-; 0x819c6 + 54 bytes
-
-_UnnamedText_61c6f: ; 0x819fc
-	db $0, "Which do you like,", $4f
-	db "a strong or a", $55
-	db "rare #MON?", $57
-; 0x819fc + 45 bytes
-
-_UnnamedText_61c74: ; 0x81a29
-	db $0, "I must", $4f
-	db "salute you!", $58
-; 0x81a29 + 20 bytes
-
-_UnnamedText_61c79: ; 0x81a3d
-	db $0, "I prefer strong", $4f
-	db "and rare #MON.", $57
-; 0x81a3d + 32 bytes
-
-_UnnamedText_61c7e: ; 0x81a5d
-	db $0, "I never saw you", $4f
-	db "at the party.", $57
-; 0x81a5d + 31 bytes
-
-_UnnamedText_61c83: ; 0x81a7c
-	db $0, "Take", $4f
-	db "it easy!", $58
-; 0x81a7c + 15 bytes
-
-_UnnamedText_61c88: ; 0x81a8b
-	db $0, "Oh, I adore your", $4f
-	db "strong #MON!", $57
-; 0x81a8b + 31 bytes
-
-_SSAnne10Text8: ; 0x81aaa
-	db $0, "MACHOKE: Gwoh!", $4f
-	db "Goggoh!@@"
-
-_UnnamedText_61e16: ; 0x81ac3
-	db $0, "You know what they", $4f
-	db "say about sailors", $55
-	db "and fighting!", $57
-; 0x81ac3 + 52 bytes
-
-_UnnamedText_61e1b: ; 0x81af7
-	db $0, "Right!", $4f
-	db "Good fight, mate!", $58
-; 0x81af7 + 26 bytes
-
-_UnnamedText_61e20: ; 0x81b11
-	db $0, "Haha! Want to be", $4f
-	db "a sailor, mate?", $57
-; 0x81b11 + 34 bytes
-
-_UnnamedText_61e25: ; 0x81b33
-	db $0, "My sailor's pride", $4f
-	db "is at stake!", $57
-; 0x81b33 + 31 bytes
-
-_UnnamedText_61e2a: ; 0x81b52
-	db $0, "Your", $4f
-	db "spirit sank me!", $58
-; 0x81b52 + 22 bytes
-
-_UnnamedText_61e2f: ; 0x81b68
-	db $0, "Did you see the", $4f
-	db "FISHING GURU in", $55
-	db "VERMILION CITY?", $57
-; 0x81b68 + 49 bytes
-
-_UnnamedText_61e34: ; 0x81b99
-	db $0, "Us sailors have", $4f
-	db "#MON too!", $57
-; 0x81b99 + 27 bytes
-
-_UnnamedText_61e39: ; 0x81bb4
-	db $0, "OK, ", $4f
-	db "you're not bad.", $58
-; 0x81bb4 + 21 bytes
-
-_UnnamedText_61e3e: ; 0x81bc9
-	db $0, "We caught all our", $4f
-	db "#MON while", $55
-	db "out at sea!", $57
-; 0x81bc9 + 42 bytes
-
-_UnnamedText_61e43: ; 0x81bf3
-	db $0, "I like feisty", $4f
-	db "kids like you!@@"
-; 0x81bf3 + 31 bytes
-
-_UnnamedText_61e48: ; 0x81c12
-	db $0, "Argh!", $4f
-	db "Lost it!", $58
-; 0x81c12 + 16 bytes
-
-_UnnamedText_61e4d: ; 0x81c22
-	db $0, "Sea #MON live", $4f
-	db "in deep water.", $55
-	db "You'll need a ROD!", $57
-; 0x81c22 + 48 bytes
-
-_UnnamedText_61e52: ; 0x81c52
-	db $0, "Matey, you're", $4f
-	db "walking the plank", $55
-	db "if you lose!", $57
-; 0x81c52 + 45 bytes
-
-_UnnamedText_61e57: ; 0x81c7f
-	db $0, "Argh!", $4f
-	db "Beaten by a kid!", $58
-; 0x81c7f + 24 bytes
-
-_UnnamedText_61e5c: ; 0x81c97
-	db $0, "Jellyfish some-", $4f
-	db "times drift into", $55
-	db "the ship.", $57
-; 0x81c97 + 44 bytes
-
-_UnnamedText_61e61: ; 0x81cc3
-	db $0, "Hello stranger!", $4f
-	db "Stop and chat!", $51
-	db "All my #MON", $4f
-	db "are from the sea!", $57
-; 0x81cc3 + 62 bytes
-
-_UnnamedText_61e66: ; 0x81d01
-	db $0, "Darn!", $4f
-	db "I let that one", $55
-	db "get away!", $58
-; 0x81d01 + 32 bytes
-
-_UnnamedText_61e6b: ; 0x81d21
-	db $0, "I was going to", $4f
-	db "make you my", $55
-	db "assistant too!", $57
-; 0x81d21 + 43 bytes
-
-_SSAnne10Text7: ; 0x81d4c
-	db $0, "My buddy, MACHOKE,", $4f
-	db "is super strong!", $51
-	db "He has enough", $4f
-	db "STRENGTH to move", $55
-	db "big rocks!", $57
-
-_UnnamedText_44a91: ; 0x81d9b
-	db $0, "I heard rumors of", $4f
-	db "a child prodigy!", $57
-; 0x81d9b + 36 bytes
-
-_UnnamedText_44a96: ; 0x81dbf
-	db $0, "The", $4f
-	db "rumors were true!", $58
-; 0x81dbf + 23 bytes
-
-_UnnamedText_44a9b: ; 0x81dd6
-	db $0, "You beat GIOVANNI", $4f
-	db "of TEAM ROCKET?", $57
-; 0x81dd6 + 35 bytes
-
-_UnnamedText_44aa0: ; 0x81df9
-	db $0, "I'll show you just", $4f
-	db "how good you are!", $57
-; 0x81df9 + 37 bytes
-
-_UnnamedText_44aa5: ; 0x81e1e
-	db $0, "I'm", $4f
-	db "furious!", $58
-; 0x81e1e + 13 bytes
-
-_UnnamedText_44aaa: ; 0x81e2b
-	db $0, "You showed me just", $4f
-	db "how good I was!", $57
-; 0x81e2b + 36 bytes
-
-_UnnamedText_44aaf: ; 0x81e4f
-	db $0, "Only the chosen", $4f
-	db "can pass here!", $57
-; 0x81e4f + 32 bytes
-
-_UnnamedText_44ab4: ; 0x81e6f
-	db $0, "I", $4f
-	db "don't believe it!", $58
-; 0x81e6f + 20 bytes
-
-_UnnamedText_44ab9: ; 0x81e83
-	db $0, "All trainers here", $4f
-	db "are headed to the", $55
-	db "#MON LEAGUE!", $55
-	db "Be careful!", $57
-; 0x81e83 + 62 bytes
-
-_UnnamedText_44abe: ; 0x81ec1
-	db $0, "Trainers live to", $4f
-	db "seek stronger", $55
-	db "opponents!", $57
-; 0x81ec1 + 43 bytes
-
-_UnnamedText_44ac3: ; 0x81eec
-	db $0, "Oh!", $4f
-	db "So strong!", $58
-; 0x81eec + 16 bytes
-
-_UnnamedText_44ac8: ; 0x81efc
-	db $0, "By fighting tough", $4f
-	db "battles, you get", $55
-	db "stronger!", $57
-; 0x81efc + 46 bytes
-
-_UnnamedText_44c91: ; 0x81f2a
-	db $0, "Why...?@@"
-; 0x81f34
-
-_UnnamedText_44ca1: ; 0x81f34
-	db $0, "Who are you? How", $4f
-	db "did you get here?", $57
-; 0x81f34 + 36 bytes
-
-_UnnamedText_44ca6: ; 0x81f58
-	db $0, "Oww!", $4f
-	db "Beaten!", $58
-; 0x81f58 + 14 bytes
-
-_UnnamedText_44cab: ; 0x81f66
-	db $0, "Are you dissing", $4f
-	db "TEAM ROCKET?", $57
-; 0x81f66 + 30 bytes
-
-_UnnamedText_44cb0: ; 0x81f84
-	db $0, "You broke into", $4f
-	db "our operation?", $57
-; 0x81f84 + 31 bytes
-
-_UnnamedText_44cb5: ; 0x81fa3
-	db $0, "Burnt!", $58
-; 0x81fa3 + 8 bytes
-
-_UnnamedText_44cba: ; 0x81fab
-	db $0, "You're not going", $4f
-	db "to get away with", $55
-	db "this, brat!", $57
-; 0x81fab + 46 bytes
-
-_UnnamedText_44cbf: ; 0x81fd9
-	db $0, "Intruder alert!", $57
-; 0x81fd9 + 17 bytes
-
-_UnnamedText_44cc4: ; 0x81fea
-	db $0, "I", $4f
-	db "can't do it!", $58
-; 0x81fea + 15 bytes
-
-_UnnamedText_44cc9: ; 0x81ff9
-	db $0, "SILPH SCOPE?", $4f
-	db "I don't know", $55
-	db "where it is!", $57
-; 0x81ff9 + 39 bytes
-
-_UnnamedText_44cce: ; 0x82020
-	db $0, "Why did you come", $4f
-	db "here?", $57
-; 0x82020 + 24 bytes
-
-_UnnamedText_44cd3: ; 0x82038
-	db $0, "This", $4f
-	db "won't do!", $58
-; 0x82038 + 15 bytes
-
-_UnnamedText_44cd8: ; 0x82047
-	db $0, "OK, I'll talk!", $4f
-	db "Take the elevator", $55
-	db "to see my BOSS!", $57
-; 0x82047 + 49 bytes
-
-_UnnamedText_44cdd: ; 0x82078
-	db $0, "Are you lost, you", $4f
-	db "little rat?", $57
-; 0x82078 + 31 bytes
-
-_UnnamedText_44ce2: ; 0x82097
-	db $0, "Uh-oh, that fight", $4f
-	db "opened the door!", $57
-; 0x82097 + 36 bytes
-
-_UnnamedText_450e8: ; 0x820bb
-	db $0, "BOSS said you can", $4f
-	db "see GHOSTs with", $55
-	db "the SILPH SCOPE!", $57
-; 0x820bb + 52 bytes
-
-_UnnamedText_450ed: ; 0x820ef
-	db $0, "I", $4f
-	db "surrender!", $58
-; 0x820ef + 14 bytes
-
-_UnnamedText_450f2: ; 0x820fd
-	db $0, "The TEAM ROCKET", $4f
-	db "HQ has 4 basement", $55
-	db "floors. Can you", $55
-	db "reach the BOSS?", $57
-; 0x820fd + 67 bytes
-
-_UnnamedText_45325: ; 0x82140
-	db $0, "Stop meddling in", $4f
-	db "TEAM ROCKET's", $55
-	db "affairs!", $57
-; 0x82140 + 40 bytes
-
-_UnnamedText_4532a: ; 0x82168
-	db $0, "Oof!", $4f
-	db "Taken down!", $58
-; 0x82168 + 18 bytes
-
-_UnnamedText_4532f: ; 0x8217a
-	db $0, "SILPH SCOPE?", $4f
-	db "The machine the", $55
-	db "BOSS stole. It's", $55
-	db "here somewhere.", $57
-; 0x8217a + 62 bytes
-
-_UnnamedText_4533e: ; 0x821b8
-	db $0, "We got word from", $4f
-	db "upstairs that you", $55
-	db "were coming!", $57
-; 0x821b8 + 49 bytes
-
-_UnnamedText_45343: ; 0x821e9
-	db $0, "What?", $4f
-	db "I lost? No!", $58
-; 0x821e9 + 19 bytes
-
-_UnnamedText_45348: ; 0x821fc
-	db $0, "Go ahead and go!", $4f
-	db "But, you need the", $55
-	db "LIFT KEY to run", $55
-	db "the elevator!", $57
-; 0x821fc + 66 bytes
-
-_UnnamedText_4557a: ; 0x8223e
-	db $0, "So! I must say, I", $4f
-	db "am impressed you", $55
-	db "got here!", $57
-; 0x8223e + 46 bytes
-
-_UnnamedText_4557f: ; 0x8226c
-	db $0, "WHAT!", $4f
-	db "This cannot be!", $58
-; 0x8226c + 23 bytes
-
-_UnnamedText_45584: ; 0x82283
-	db $0, "I see that you", $4f
-	db "raise #MON", $55
-	db "with utmost care.", $51
-	db "A child like you", $4f
-	db "would never", $55
-	db "understand what I", $55
-	db "hope to achieve.", $51
-	db "I shall step", $4f
-	db "aside this time!", $51
-	db "I hope we meet", $4f
-	db "again...", $57
-; 0x82283 + 163 bytes
-
-_UnnamedText_45593: ; 0x82326
-	db $0, "I know you! You", $4f
-	db "ruined our plans", $55
-	db "at MT.MOON!", $57
-; 0x82326 + 46 bytes
-
-_UnnamedText_45598: ; 0x82354
-	db $0, "Burned", $4f
-	db "again!", $58
-; 0x82354 + 15 bytes
-
-_UnnamedText_4559d: ; 0x82363
-	db $0, "Do you have", $4f
-	db "something against", $55
-	db "TEAM ROCKET?", $57
-; 0x82363 + 44 bytes
-
-_UnnamedText_455ac: ; 0x8238f
-	db $0, "How can you not", $4f
-	db "see the beauty of", $55
-	db "our evil?", $57
-; 0x8238f + 45 bytes
-
-_UnnamedText_455b1: ; 0x823bc
-	db $0, "Ayaya!", $58
-; 0x823bc + 8 bytes
-
-_UnnamedText_455b6: ; 0x823c4
-	db $0, "BOSS! I'm sorry I", $4f
-	db "failed you!", $57
-; 0x823c4 + 30 bytes
-
-_UnnamedText_455c5: ; 0x823e2
-	db $0, "The elevator", $4f
-	db "doesn't work? Who", $55
-	db "has the LIFT KEY?", $57
-; 0x823e2 + 49 bytes
-
-_UnnamedText_455ca: ; 0x82413
-	db $0, "No!", $58
-; 0x82413 + 5 bytes
-
-_UnnamedText_455ec: ; 0x82418
-	db $0, "Oh no! I dropped", $4f
-	db "the LIFT KEY!", $57
-; 0x82418 + 32 bytes
-
-_UnnamedText_4578b: ; 0x82438
-	db $0, "It appears to", $4f
-	db "need a key.@@"
-; 0xa82454
-
-_UnnamedText_59ded: ; 0x82454
-	db $0, "Eeek!", $4f
-	db "No! Stop! Help!", $51
-	db "Oh, you're not", $4f
-	db "with TEAM ROCKET.", $55
-	db "I thought...", $55
-	db "I'm sorry. Here,", $55
-	db "please take this!", $58
-; 0x82454 + 102 bytes
-
-_ReceivedTM36Text: ; 0x824ba
-	db $0, $52, " got", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x824c9
-
-_TM36ExplanationText: ; 0x824c9
-	db $0, "TM36 is", $4f
-	db "SELFDESTRUCT!", $51
-	db "It's powerful, but", $4f
-	db "the #MON that", $55
-	db "uses it faints!", $55
-	db "Be careful.", $57
-; 0x824c9 + 83 bytes
-
-_TM36NoRoomText: ; 0x8251c
-	db $0, "You don't have any", $4f
-	db "room for this.", $57
-; 0x8251c + 34 bytes
-
-_UnnamedText_59e2a: ; 0x8253e
-	db $0, "Help! I'm a SILPH", $4f
-	db "employee.", $57
-; 0x8253e + 28 bytes
-
-_UnnamedText_59e2f: ; 0x8255a
-	db $0, "How", $4f
-	db "did you know I", $55
-	db "was a ROCKET?", $58
-; 0x8255a + 34 bytes
-
-_UnnamedText_59e34: ; 0x8257c
-	db $0, "I work for both", $4f
-	db "SILPH and TEAM", $55
-	db "ROCKET!", $57
-; 0x8257c + 40 bytes
-
-_UnnamedText_59e39: ; 0x825a4
-	db $0, "It's off limits", $4f
-	db "here! Go home!", $57
-; 0x825a4 + 31 bytes
-
-_UnnamedText_59e3e: ; 0x825c3
-	db $0, "You're", $4f
-	db "good.", $58
-; 0x825c3 + 13 bytes
-
-_UnnamedText_59e43: ; 0x825d0
-	db $0, "Can you solve the", $4f
-	db "maze in here?", $57
-; 0x825d0 + 33 bytes
-
-_UnnamedText_59e48: ; 0x825f1
-	db $0, "No kids are", $4f
-	db "allowed in here!", $57
-; 0x825f1 + 30 bytes
-
-_UnnamedText_59e4d: ; 0x8260f
-	db $0, "Tough!", $58
-; 0x8260f + 8 bytes
-
-_UnnamedText_59e52: ; 0x82617
-	db $0, "Diamond shaped", $4f
-	db "tiles are", $55
-	db "teleport blocks!", $51
-	db "They're hi-tech", $4f
-	db "transporters!", $57
-; 0x82617 + 72 bytes
-
-_UnnamedText_59e57: ; 0x8265f
-	db $0, "Hey kid! What are", $4f
-	db "you doing here?", $57
-; 0x8265f + 35 bytes
-
-_UnnamedText_59e5c: ; 0x82682
-	db $0, "I goofed!", $58
-; 0x82682 + 11 bytes
-
-_UnnamedText_59e61: ; 0x8268d
-	db $0, "SILPH CO. will", $4f
-	db "be merged with", $55
-	db "TEAM ROCKET!", $57
-; 0x8268d + 44 bytes
-
-_UnnamedText_59ff9: ; 0x826b9
-	db $0, "I work for SILPH.", $4f
-	db "What should I do?", $57
-; 0x826b9 + 37 bytes
-
-_UnnamedText_59ffe: ; 0x826de
-	db $0, $52, "! You and", $4f
-	db "your #MON", $55
-	db "saved us!", $57
-; 0x826de + 32 bytes
-
-_UnnamedText_5a00d: ; 0x826fe
-	db $0, "Quit messing with", $4f
-	db "us, kid!", $57
-; 0x826fe + 28 bytes
-
-_UnnamedText_5a012: ; 0x8271a
-	db $0, "I give", $4f
-	db "up!", $58
-; 0x8271a + 12 bytes
-
-_UnnamedText_5a017: ; 0x82726
-	db $0, "A hint? You can", $4f
-	db "open doors with a", $55
-	db "CARD KEY!", $57
-; 0x82726 + 45 bytes
-
-_UnnamedText_5a026: ; 0x82753
-	db $0, "I support TEAM", $4f
-	db "ROCKET more than", $55
-	db "I support SILPH!", $57
-; 0x82753 + 50 bytes
-
-_UnnamedText_5a02b: ; 0x82785
-	db $0, "You", $4f
-	db "really got me!", $58
-; 0x82785 + 20 bytes
-
-_UnnamedText_5a030: ; 0x82799
-	db $0, "Humph...", $51
-	db "TEAM ROCKET said", $4f
-	db "that if I helped", $55
-	db "them, they'd let", $55
-	db "me study #MON!", $57
-; 0x82799 + 75 bytes
-
-_UnnamedText_19de0: ; 0x827e4
-	db $0, "Sssh! Can't you", $4f
-	db "see I'm hiding?", $57
-; 0x827e4 + 31 bytes
-
-_UnnamedText_19de5: ; 0x82803
-	db $0, "Huh? TEAM ROCKET", $4f
-	db "is gone?", $57
-; 0x82803 + 27 bytes
-
-_UnnamedText_19df4: ; 0x8281e
-	db $0, "TEAM ROCKET has", $4f
-	db "taken command of", $55
-	db "SILPH CO.!", $57
-; 0x8281e + 45 bytes
-
-_UnnamedText_19df9: ; 0x8284b
-	db $0, "Arrgh!", $58
-; 0x8284b + 8 bytes
-
-_UnnamedText_19dfe: ; 0x82853
-	db $0, "Fwahahaha!", $4f
-	db "My BOSS has been", $55
-	db "after this place!", $57
-; 0x82853 + 47 bytes
-
-_UnnamedText_19e0d: ; 0x82882
-	db $0, "My #MON are my", $4f
-	db "loyal soldiers!", $57
-; 0x82882 + 32 bytes
-
-_UnnamedText_19e12: ; 0x828a2
-	db $0, "Darn!", $4f
-	db "You weak #MON!", $58
-; 0x828a2 + 22 bytes
-
-_UnnamedText_19e17: ; 0x828b8
-	db $0, "The doors are", $4f
-	db "electronically", $55
-	db "locked! A CARD", $55
-	db "KEY opens them!", $57
-; 0x828b8 + 61 bytes
-
-_UnnamedText_19e26: ; 0x828f5
-	db $0, "Intruder spotted!", $57
-; 0x828f5 + 19 bytes
-
-_UnnamedText_19e2b: ; 0x82908
-	db $0, "Who", $4f
-	db "are you?", $58
-; 0x82908 + 14 bytes
-
-_UnnamedText_19e30: ; 0x82916
-	db $0, "I better tell the", $4f
-	db "BOSS on 11F!", $57
-; 0x82916 + 32 bytes
-
-_UnnamedText_1a010: ; 0x82936
-	db $0, "TEAM ROCKET is", $4f
-	db "in an uproar over", $55
-	db "some intruder.", $55
-	db "That's you right?", $57
-; 0x82936 + 66 bytes
-
-_UnnamedText_1a015: ; 0x82978
-	db $0, "TEAM ROCKET took", $4f
-	db "off! You're our", $55
-	db "hero! Thank you!", $57
-; 0x82978 + 50 bytes
-
-_UnnamedText_1a024: ; 0x829aa
-	db $0, "I heard a kid was", $4f
-	db "wandering around.", $57
-; 0x829aa + 37 bytes
-
-_UnnamedText_1a029: ; 0x829cf
-	db $0, "Boom!", $58
-; 0x829cf + 7 bytes
-
-_UnnamedText_1a02e: ; 0x829d6
-	db $0, "It's not smart", $4f
-	db "to pick a fight", $55
-	db "with TEAM ROCKET!", $57
-; 0x829d6 + 49 bytes
-
-_UnnamedText_1a03d: ; 0x82a07
-	db $0, "We study #", $4f
-	db "BALL technology", $55
-	db "on this floor!", $57
-; 0x82a07 + 43 bytes
-
-_UnnamedText_1a042: ; 0x82a32
-	db $0, "Dang!", $4f
-	db "Blast it!", $58
-; 0x82a32 + 17 bytes
-
-_UnnamedText_1a047: ; 0x82a43
-	db $0, "We worked on the", $4f
-	db "ultimate #", $55
-	db "BALL which would", $55
-	db "catch anything!", $57
-; 0x82a43 + 62 bytes
-
-_UnnamedText_1a056: ; 0x82a81
-	db $0, "Whaaat? There", $4f
-	db "shouldn't be any", $55
-	db "children here?", $57
-; 0x82a81 + 46 bytes
-
-SECTION "bank21",DATA,BANK[$21]
-
-_UnnamedText_1a05b: ; 0x84000
-	db $0, "Oh", $4f
-	db "goodness!", $58
-; 0x84000 + 14 bytes
-
-_UnnamedText_1a060: ; 0x8400e
-	db $0, "You're only on 5F.", $4f
-	db "It's a long way", $55
-	db "to my BOSS!", $57
-; 0x8400e + 46 bytes
-
-_UnnamedText_1a06f: ; 0x8403c
-	db $0, "Show TEAM ROCKET", $4f
-	db "a little respect!", $57
-; 0x8403c + 36 bytes
-
-_UnnamedText_1a074: ; 0x84060
-	db $0, "Cough...", $4f
-	db "Cough...", $58
-; 0x84060 + 19 bytes
-
-_UnnamedText_1a079: ; 0x84073
-	db $0, "Which reminds me.", $51
-	db "KOFFING evolves", $4f
-	db "into WEEZING!", $57
-; 0x84073 + 49 bytes
-
-_SilphCo5Text9: ; 0x840a4
-	db $0, "It's a #MON", $4f
-	db "REPORT!", $51
-	db "#MON LAB", $4f
-	db "created PORYGON,", $55
-	db "the first virtual", $55
-	db "reality #MON.", $57
-
-_SilphCo5Text10: ; 0x840f2
-	db $0, "It's a #MON", $4f
-	db "REPORT!", $51
-	db "Over 160 #MON", $4f
-	db "techniques have", $55
-	db "been confirmed.", $57
-
-_SilphCo5Text11: ; 0x84134
-	db $0, "It's a #MON", $4f
-	db "REPORT!", $51
-	db "4 #MON evolve", $4f
-	db "only when traded", $55
-	db "by link-cable.", $57
-
-_UnnamedText_1a24a: ; 0x84176
-	db $0, "The ROCKETs came", $4f
-	db "and took over the", $55
-	db "building!", $57
-; 0x84176 + 46 bytes
-
-_UnnamedText_1a24f: ; 0x841a4
-	db $0, "Well, better get", $4f
-	db "back to work!", $57
-; 0x841a4 + 32 bytes
-
-_UnnamedText_1a261: ; 0x841c4
-	db $0, "Oh dear, oh dear.", $4f
-	db "Help me please!", $57
-; 0x841c4 + 35 bytes
-
-_UnnamedText_1a266: ; 0x841e7
-	db $0, "We got engaged!", $4f
-	db "Heheh!", $57
-; 0x841e7 + 24 bytes
-
-_UnnamedText_1a278: ; 0x841ff
-	db $0, "Look at him! He's", $4f
-	db "such a coward!", $57
-; 0x841ff + 33 bytes
-
-_UnnamedText_1a27d: ; 0x84220
-	db $0, "I feel so sorry", $4f
-	db "for him, I have", $55
-	db "to marry him!", $57
-; 0x84220 + 47 bytes
-
-_UnnamedText_1a28f: ; 0x8424f
-	db $0, "TEAM ROCKET is", $4f
-	db "trying to conquer", $55
-	db "the world with", $55
-	db "#MON!", $57
-; 0x8424f + 55 bytes
-
-_UnnamedText_1a294: ; 0x84286
-	db $0, "TEAM ROCKET ran", $4f
-	db "because of you!", $57
-; 0x84286 + 33 bytes
-
-_UnnamedText_1a2a6: ; 0x842a7
-	db $0, "They must have", $4f
-	db "targeted SILPH", $55
-	db "for our #MON", $55
-	db "products.", $57
-; 0x842a7 + 54 bytes
-
-_UnnamedText_1a2ab: ; 0x842dd
-	db $0, "Come work for", $4f
-	db "SILPH when you", $55
-	db "get older!", $57
-; 0x842dd + 41 bytes
-
-_UnnamedText_1a2ba: ; 0x84306
-	db $0, "I am one of the 4", $4f
-	db "ROCKET BROTHERS!", $57
-; 0x84306 + 36 bytes
-
-_UnnamedText_1a2bf: ; 0x8432a
-	db $0, "Flame", $4f
-	db "out!", $58
-; 0x8432a + 12 bytes
-
-_UnnamedText_1a2c4: ; 0x84336
-	db $0, "No matter!", $4f
-	db "My brothers will", $55
-	db "avenge me!", $57
-; 0x84336 + 40 bytes
-
-_UnnamedText_1a2d3: ; 0x8435e
-	db $0, "That rotten", $4f
-	db "PRESIDENT!", $51
-	db "He shouldn't have", $4f
-	db "sent me to the", $55
-	db "TIKSI BRANCH!", $57
-; 0x8435e + 70 bytes
-
-_UnnamedText_1a2d8: ; 0x843a4
-	db $0, "Shoot!", $58
-; 0x843a4 + 8 bytes
-
-_UnnamedText_1a2dd: ; 0x843ac
-	db $0, "TIKSI BRANCH?", $4f
-	db "It's in Russian", $55
-	db "no man's land!", $57
-; 0x843ac + 44 bytes
-
-_UnnamedText_1a2ec: ; 0x843d8
-	db $0, "You dare betray", $4f
-	db "TEAM ROCKET?", $57
-; 0x843d8 + 30 bytes
-
-_UnnamedText_1a2f1: ; 0x843f6
-	db $0, "You", $4f
-	db "traitor!", $58
-; 0x843f6 + 14 bytes
-
-_UnnamedText_1a2f6: ; 0x84404
-	db $0, "If you stand for", $4f
-	db "justice, you", $55
-	db "betray evil!", $57
-; 0x84404 + 44 bytes
-
-_UnnamedText_51dd3: ; 0x84430
-	db $0, "Oh! Hi! You're", $4f
-	db "not a ROCKET! You", $55
-	db "came to save us?", $55
-	db "Why, thank you!", $51
-	db "I want you to", $4f
-	db "have this #MON", $55
-	db "for saving us.", $58
-; 0x84430 + 110 bytes
-
-_UnnamedText_51dd8: ; 0x8449e
-	db $0, "It's LAPRAS. It's", $4f
-	db "very intelligent.", $51
-	db "We kept it in our", $4f
-	db "lab, but it will", $55
-	db "be much better", $55
-	db "off with you!", $51
-	db "I think you will", $4f
-	db "be a good trainer", $55
-	db "for LAPRAS!", $51
-	db "It's a good", $4f
-	db "swimmer. It'll", $55
-	db "give you a lift!", $57
-; 0x8449e + 188 bytes
-
-_UnnamedText_51ddd: ; 0x8455a
-	db $0, "TEAM ROCKET's", $4f
-	db "BOSS went to the", $55
-	db "boardroom! Is our", $55
-	db "PRESIDENT OK?", $57
-; 0x8455a + 63 bytes
-
-_UnnamedText_51de2: ; 0x84599
-	db $0, "Saved at last!", $4f
-	db "Thank you!", $57
-; 0x84599 + 27 bytes
-
-_UnnamedText_51e00: ; 0x845b4
-	db $0, "TEAM ROCKET was", $4f
-	db "after the MASTER", $55
-	db "BALL which will", $55
-	db "catch any #MON!", $57
-; 0x845b4 + 66 bytes
-
-_UnnamedText_51e05: ; 0x845f6
-	db $0, "We canceled the", $4f
-	db "MASTER BALL", $55
-	db "project because", $55
-	db "of TEAM ROCKET.", $57
-; 0x845f6 + 61 bytes
-
-_UnnamedText_51e23: ; 0x84633
-	db $0, "It would be bad", $4f
-	db "if TEAM ROCKET", $55
-	db "took over SILPH", $55
-	db "or our #MON!", $57
-; 0x84633 + 61 bytes
-
-_UnnamedText_51e28: ; 0x84670
-	db $0, "Wow! You chased", $4f
-	db "off TEAM ROCKET", $55
-	db "all by yourself?", $57
-; 0x84670 + 50 bytes
-
-_UnnamedText_51e46: ; 0x846a2
-	db $0, "You! It's really", $4f
-	db "dangerous here!", $55
-	db "You came to save", $55
-	db "me? You can't!", $57
-; 0x846a2 + 64 bytes
-
-_UnnamedText_51e4b: ; 0x846e2
-	db $0, "Safe at last!", $4f
-	db "Oh thank you!", $57
-; 0x846e2 + 29 bytes
-
-_UnnamedText_51e5a: ; 0x846ff
-	db $0, "Oh ho! I smell a", $4f
-	db "little rat!", $57
-; 0x846ff + 30 bytes
-
-_UnnamedText_51e5f: ; 0x8471d
-	db $0, "Lights", $4f
-	db "out!", $58
-; 0x8471d + 13 bytes
-
-_UnnamedText_51e64: ; 0x8472a
-	db $0, "You won't find my", $4f
-	db "BOSS by just", $55
-	db "scurrying around!", $57
-; 0x8472a + 49 bytes
-
-_UnnamedText_51e73: ; 0x8475b
-	db $0, "Heheh!", $51
-	db "You mistook me for", $4f
-	db "a SILPH worker?", $57
-; 0x8475b + 43 bytes
-
-_UnnamedText_51e78: ; 0x84786
-	db $0, "I'm", $4f
-	db "done!", $58
-; 0x84786 + 10 bytes
-
-_UnnamedText_51e7d: ; 0x84790
-	db $0, "Despite your age,", $4f
-	db "you are a skilled", $55
-	db "trainer!", $57
-; 0x84790 + 46 bytes
-
-_UnnamedText_51e8c: ; 0x847be
-	db $0, "I am one of the 4", $4f
-	db "ROCKET BROTHERS!", $57
-; 0x847be + 36 bytes
-
-_UnnamedText_51e91: ; 0x847e2
-	db $0, "Aack!", $4f
-	db "Brothers, I lost!", $58
-; 0x847e2 + 25 bytes
-
-_UnnamedText_51e96: ; 0x847fb
-	db $0, "Doesn't matter.", $4f
-	db "My brothers will", $55
-	db "repay the favor!", $57
-; 0x847fb + 50 bytes
-
-_UnnamedText_51ea5: ; 0x8482d
-	db $0, "A child intruder?", $4f
-	db "That must be you!", $57
-; 0x8482d + 37 bytes
-
-_UnnamedText_51eaa: ; 0x84852
-	db $0, "Fine!", $4f
-	db "I lost!", $58
-; 0x84852 + 15 bytes
-
-_UnnamedText_51eaf: ; 0x84861
-	db $0, "Go on home", $4f
-	db "before my BOSS", $55
-	db "gets ticked off!", $57
-; 0x84861 + 44 bytes
-
-_UnnamedText_51ebe: ; 0x8488d
-	db $0, $53, ": What", $4f
-	db "kept you ", $52, "?", $57
-; 0x8488d + 21 bytes
-
-_UnnamedText_51ec3: ; 0x848a2
-	db $0, $53, ": Hahaha!", $4f
-	db "I thought you'd", $55
-	db "turn up if I", $55
-	db "waited here!", $51
-	db "I guess TEAM", $4f
-	db "ROCKET slowed you", $55
-	db "down! Not that I", $55
-	db "care!", $51
-	db "I saw you in", $4f
-	db "SAFFRON, so I", $55
-	db "decided to see if", $55
-	db "you got better!", $57
-; 0x848a2 + 168 bytes
-
-_UnnamedText_51ec8: ; 0x8494a
-	db $0, "Oh ho!", $4f
-	db "So, you are ready", $55
-	db "for BOSS ROCKET!", $58
-; 0x8494a + 43 bytes
-
-_UnnamedText_51ecd: ; 0x84975
-	db $0, $53, ": How can", $4f
-	db "I put this?", $51
-	db "You're not good", $4f
-	db "enough to play", $55
-	db "with us big boys!", $58
-; 0x84975 + 72 bytes
-
-_UnnamedText_51ed2: ; 0x849bd
-	db $0, "Well, ", $52, "!", $51
-	db "I'm moving on up", $4f
-	db "and ahead!", $51
-	db "By checking my", $4f
-	db "#DEX, I'm", $55
-	db "starting to see", $55
-	db "what's strong and", $55
-	db "how they evolve!", $51
-	db "I'm going to the", $4f
-	db "#MON LEAGUE", $55
-	db "to boot out the", $55
-	db "ELITE FOUR!", $51
-	db "I'll become the", $4f
-	db "world's most", $55
-	db "powerful trainer!", $51
-	db $52, ", well", $4f
-	db "good luck to you!", $55
-	db "Don't sweat it!", $55
-	db "Smell ya!", $57
-; 0x849bd + 263 bytes
-
-_UnnamedText_565be: ; 0x84ac4
-	db $0, "I wonder if SILPH", $4f
-	db "is finished...", $57
-; 0x84ac4 + 34 bytes
-
-_UnnamedText_565c3: ; 0x84ae6
-	db $0, "Thanks for saving", $4f
-	db "us!", $57
-; 0x84ae6 + 23 bytes
-
-_UnnamedText_565e6: ; 0x84afd
-	db $0, "That's as far as", $4f
-	db "you'll go!", $57
-; 0x84afd + 27 bytes
-
-_UnnamedText_565eb: ; 0x84b18
-	db $0, "Not", $4f
-	db "enough grit!", $58
-; 0x84b18 + 18 bytes
-
-_UnnamedText_565f0: ; 0x84b2a
-	db $0, "If you don't turn", $4f
-	db "back, I'll call", $55
-	db "for backup!", $57
-; 0x84b2a + 45 bytes
-
-_UnnamedText_565f5: ; 0x84b57
-	db $0, "You're causing us", $4f
-	db "problems!", $57
-; 0x84b57 + 28 bytes
-
-_UnnamedText_565fa: ; 0x84b73
-	db $0, "Huh?", $4f
-	db "I lost?", $58
-; 0x84b73 + 14 bytes
-
-_UnnamedText_565ff: ; 0x84b81
-	db $0, "So, what do you", $4f
-	db "think of SILPH", $55
-	db "BUILDING's maze?", $57
-; 0x84b81 + 48 bytes
-
-_UnnamedText_56604: ; 0x84bb1
-	db $0, "I am one of the 4", $4f
-	db "ROCKET BROTHERS!", $57
-; 0x84bb1 + 36 bytes
-
-_UnnamedText_56609: ; 0x84bd5
-	db $0, "Whoo!", $4f
-	db "Oh brothers!", $58
-; 0x84bd5 + 20 bytes
-
-_UnnamedText_5660e: ; 0x84be9
-	db $0, "I'll leave you up", $4f
-	db "to my brothers!", $57
-; 0x84be9 + 34 bytes
-
-_UnnamedText_5d8e5: ; 0x84c0b
-	db $0, "You look tired!", $4f
-	db "You should take a", $55
-	db "quick nap!", $58
-; 0x84c0b + 46 bytes
-
-_UnnamedText_5d8ea: ; 0x84c39
-	db $0, "Don't give up!", $57
-; 0x84c39 + 15 bytes
-
-_UnnamedText_5d8ef: ; 0x84c48
-	db $0, "Thank you so", $4f
-	db "much!", $57
-; 0x84c48 + 20 bytes
-
-_UnnamedText_5d912: ; 0x84c5c
-	db $0, "Your #MON seem", $4f
-	db "to adore you, kid!", $57
-; 0x84c5c + 35 bytes
-
-_UnnamedText_5d917: ; 0x84c7f
-	db $0, "Ghaaah!", $58
-; 0x84c7f + 9 bytes
-
-_UnnamedText_5d91c: ; 0x84c88
-	db $0, "If I had started", $4f
-	db "as a trainer at", $55
-	db "your age...", $57
-; 0x84c88 + 46 bytes
-
-_UnnamedText_5d921: ; 0x84cb6
-	db $0, "Your #MON have", $4f
-	db "weak points! I", $55
-	db "can nail them!", $57
-; 0x84cb6 + 46 bytes
-
-_UnnamedText_5d926: ; 0x84ce4
-	db $0, "You", $4f
-	db "hammered me!", $58
-; 0x84ce4 + 18 bytes
-
-_UnnamedText_5d92b: ; 0x84cf6
-	db $0, "Exploiting weak", $4f
-	db "spots does work!", $55
-	db "Think about", $55
-	db "element types!", $57
-; 0x84cf6 + 61 bytes
-
-_UnnamedText_5d930: ; 0x84d33
-	db $0, "I am one of the 4", $4f
-	db "ROCKET BROTHERS!", $57
-; 0x84d33 + 36 bytes
-
-_UnnamedText_5d935: ; 0x84d57
-	db $0, "Warg!", $4f
-	db "Brothers, I lost!", $58
-; 0x84d57 + 25 bytes
-
-_UnnamedText_5d93a: ; 0x84d70
-	db $0, "My brothers will", $4f
-	db "avenge me!", $57
-; 0x84d70 + 29 bytes
-
-_UnnamedText_5a1d3: ; 0x84d8d
-	db $0, "Waaaaa!", $55
-	db "I'm scared!", $57
-; 0x84d8d + 20 bytes
-
-_UnnamedText_5a1d8: ; 0x84da1
-	db $0, "Please keep quiet", $4f
-	db "about my crying!", $57
-; 0x84da1 + 36 bytes
-
-_UnnamedText_5a1dd: ; 0x84dc5
-	db $0, "Welcome to the", $4f
-	db "10F! So good of", $55
-	db "you to join me!", $57
-; 0x84dc5 + 48 bytes
-
-_UnnamedText_5a1e2: ; 0x84df5
-	db $0, "I'm", $4f
-	db "stunned!", $58
-; 0x84df5 + 13 bytes
-
-_UnnamedText_5a1e7: ; 0x84e02
-	db $0, "Nice try, but the", $4f
-	db "boardroom is up", $55
-	db "one more floor!", $57
-; 0x84e02 + 51 bytes
-
-_UnnamedText_5a1ec: ; 0x84e35
-	db $0, "Enough of your", $4f
-	db "silly games!", $57
-; 0x84e35 + 29 bytes
-
-_UnnamedText_5a1f1: ; 0x84e52
-	db $0, "No", $4f
-	db "continues left!", $58
-; 0x84e52 + 20 bytes
-
-_UnnamedText_5a1f6: ; 0x84e66
-	db $0, "Are you satisfied", $4f
-	db "with beating me?", $55
-	db "Then go on home!", $57
-; 0x84e66 + 53 bytes
-
-_SilphCoPresidentText: ; 0x84e9b
-	db $0, "PRESIDENT: Thank", $4f
-	db "you for saving", $55
-	db "SILPH!", $51
-	db "I will never", $4f
-	db "forget you saved", $55
-	db "us in our moment", $55
-	db "of peril!", $51
-	db "I have to thank", $4f
-	db "you in some way!", $51
-	db "Because I am rich,", $4f
-	db "I can give you", $55
-	db "anything!", $51
-	db "Here, maybe this", $4f
-	db "will do!", $58
-; 0x84e9b + 200 bytes
-
-_ReceivedSilphCoMasterBallText: ; 0x84f63
-	db $0, $52, " got a", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x84f74
-
-_UnnamedText_6231c: ; 0x84f74
-	db $0, "PRESIDENT: You", $4f
-	db "can't buy that", $55
-	db "anywhere!", $51
-	db "It's our secret", $4f
-	db "prototype MASTER", $55
-	db "BALL!", $51
-	db "It will catch any", $4f
-	db "#MON without", $55
-	db "fail!", $51
-	db "You should be", $4f
-	db "quiet about using", $55
-	db "it, though.", $57
-; 0x84f74 + 159 bytes
-
-_SilphCoMasterBallNoRoomText: ; 0x85013
-	db $0, "You have no", $4f
-	db "room for this.", $57
-; 0x85013 + 28 bytes
-
-_SilphCo11Text2: ; 0x8502f
-	db $0, "SECRETARY: Thank", $4f
-	db "you for rescuing", $55
-	db "all of us!", $51
-	db "We admire your", $4f
-	db "courage.", $57
-
-_SilphCo11Text3: ; 0x85075
-	db $0, "Ah ", $52, "!", $4f
-	db "So we meet again!", $51
-	db "The PRESIDENT and", $4f
-	db "I are discussing", $55
-	db "a vital business", $55
-	db "proposition.", $51
-	db "Keep your nose", $4f
-	db "out of grown-up", $55
-	db "matters...", $51
-	db "Or, experience a", $4f
-	db "world of pain!", $57
-
-_UnnamedText_62330: ; 0x85119
-	db $0, "Arrgh!!", $4f
-	db "I lost again!?", $58
-; 0x85119 + 24 bytes
-
-_UnnamedText_62335: ; 0x85131
-	db $0, "Blast it all!", $4f
-	db "You ruined our", $55
-	db "plans for SILPH!", $51
-	db "But, TEAM ROCKET", $4f
-	db "will never fall!", $51
-	db $52, "! Never", $4f
-	db "forget that all", $55
-	db "#MON exist", $55
-	db "for TEAM ROCKET!", $51
-	db "I must go, but I", $4f
-	db "shall return!", $57
-; 0x85131 + 165 bytes
-
-_UnnamedText_62344: ; 0x851d6
-	db $0, "Stop right there!", $4f
-	db "Don't you move!", $57
-; 0x851d6 + 34 bytes
-
-_UnnamedText_62349: ; 0x851f8
-	db $0, "Don't...", $4f
-	db "Please!", $58
-; 0x851f8 + 17 bytes
-
-_UnnamedText_6234e: ; 0x85209
-	db $0, "So, you want to", $4f
-	db "see my BOSS?", $57
-; 0x85209 + 30 bytes
-
-_UnnamedText_6235d: ; 0x85227
-	db $0, "Halt! Do you have", $4f
-	db "an appointment", $55
-	db "with my BOSS?", $57
-; 0x85227 + 48 bytes
-
-_UnnamedText_62362: ; 0x85257
-	db $0, "Gaah!", $4f
-	db "Demolished!", $58
-; 0x85257 + 19 bytes
-
-_UnnamedText_62367: ; 0x8526a
-	db $0, "Watch your step,", $4f
-	db "my BOSS likes his", $55
-	db "#MON tough!", $57
-; 0x8526a + 48 bytes
-
-_UnnamedText_6237b: ; 0x8529a
-	db $0, "The monitor has", $4f
-	db "#MON on it!", $57
-; 0x8529a + 29 bytes
-
-_UnnamedText_5206e: ; 0x852b7
-	db $0, "I can't get out!", $4f
-	db "This old place is", $55
-	db "one big puzzle!", $57
-; 0x852b7 + 51 bytes
-
-_UnnamedText_52073: ; 0x852ea
-	db $0, "Oh no!", $4f
-	db "My bag of loot!", $58
-; 0x852ea + 24 bytes
-
-_UnnamedText_52078: ; 0x85302
-	db $0, "Switches open and", $4f
-	db "close alternating", $55
-	db "sets of doors!", $57
-; 0x85302 + 52 bytes
-
-_Mansion2Text3: ; 0x85336
-	db $0, "Diary: July 5", $4f
-	db "Guyana,", $55
-	db "South America", $51
-	db "A new #MON was", $4f
-	db "discovered deep", $55
-	db "in the jungle.", $57
-
-_Mansion2Text4: ; 0x85389
-	db $0, "Diary: July 10", $4f
-	db "We christened the", $55
-	db "newly discovered", $55
-	db "#MON, MEW.", $57
-
-_UnnamedText_520c2: ; 0x853c7
-	db $0, "A secret switch!", $51
-	db "Press it?", $57
-; 0x853c7 + 28 bytes
-
-_UnnamedText_520c7: ; 0x853e3
-	db $0, "Who wouldn't?", $58
-; 0x853e3 + 14 bytes
-
-_UnnamedText_520cc: ; 0x853f1
-	db $0, "Not quite yet!", $57
-; 0x853f1 + 16 bytes
-
-_UnnamedText_522c3: ; 0x85401
-	db $0, "This place is", $4f
-	db "like, huge!", $57
-; 0x85401 + 27 bytes
-
-_UnnamedText_522c8: ; 0x8541c
-	db $0, "Ayah!", $58
-; 0x8541c + 7 bytes
-
-_UnnamedText_522cd: ; 0x85423
-	db $0, "I wonder where", $4f
-	db "my partner went.", $57
-; 0x85423 + 33 bytes
-
-_UnnamedText_522d2: ; 0x85444
-	db $0, "My mentor once", $4f
-	db "lived here.", $57
-; 0x85444 + 28 bytes
-
-_UnnamedText_522d7: ; 0x85460
-	db $0, "Whew!", $4f
-	db "Overwhelming!", $58
-; 0x85460 + 21 bytes
-
-_UnnamedText_522dc: ; 0x85475
-	db $0, "So, you're stuck?", $4f
-	db "Try jumping off", $55
-	db "over there!", $57
-; 0x85475 + 46 bytes
-
-_Mansion3Text5: ; 0x854a3
-	db $0, "Diary: Feb. 6", $4f
-	db "MEW gave birth.", $51
-	db "We named the", $4f
-	db "newborn MEWTWO.", $57
-
-_UnnamedText_52475: ; 0x854df
-	db $0, "Uh-oh. Where am", $4f
-	db "I now?", $57
-; 0x854df + 24 bytes
-
-_UnnamedText_5247a: ; 0x854f7
-	db $0, "Awooh!", $58
-; 0x854f7 + 8 bytes
-
-_UnnamedText_5247f: ; 0x854ff
-	db $0, "You can find stuff", $4f
-	db "lying around.", $57
-; 0x854ff + 34 bytes
-
-_UnnamedText_52484: ; 0x85521
-	db $0, "This place is", $4f
-	db "ideal for a lab.", $57
-; 0x85521 + 32 bytes
-
-_UnnamedText_52489: ; 0x85541
-	db $0, "What", $4f
-	db "was that for?", $58
-; 0x85541 + 20 bytes
-
-_UnnamedText_5248e: ; 0x85555
-	db $0, "I like it here!", $4f
-	db "It's conducive to", $55
-	db "my studies!", $57
-; 0x85555 + 46 bytes
-
-_Mansion4Text7: ; 0x85583
-	db $0, "Diary; Sept. 1", $4f
-	db "MEWTWO is far too", $55
-	db "powerful.", $51
-	db "We have failed to", $4f
-	db "curb its vicious", $55
-	db "tendencies...", $57
-
-_SafariZoneEastText5: ; 0x855e0
-	db $0, "REST HOUSE", $57
-
-_SafariZoneEastText6: ; 0x855ec
-	db $0, "TRAINER TIPS", $51
-	db "The remaining time", $4f
-	db "declines only", $55
-	db "while you walk!", $57
-
-_SafariZoneEastText7: ; 0x8562b
-	db $0, "CENTER AREA", $4f
-	db "NORTH: AREA 2", $57
-
-_SafariZoneNorthText3: ; 0x85646
-	db $0, "REST HOUSE", $57
-
-_SafariZoneNorthText4: ; 0x85652
-	db $0, "TRAINER TIPS", $51
-	db "The SECRET HOUSE", $4f
-	db "is still ahead!", $57
-
-_SafariZoneNorthText5: ; 0x85681
-	db $0, "AREA 2", $57
-
-_SafariZoneNorthText6: ; 0x85689
-	db $0, "TRAINER TIPS", $51
-	db "#MON hide in", $4f
-	db "tall grass!", $51
-	db "Zigzag through", $4f
-	db "grassy areas to", $55
-	db "flush them out.", $57
-
-_SafariZoneNorthText7: ; 0x856df
-	db $0, "TRAINER TIPS", $51
-	db "Win a free HM for", $4f
-	db "finding the", $55
-	db "SECRET HOUSE!", $57
-
-_SafariZoneWestText5: ; 0x85719
-	db $0, "REST HOUSE", $57
-
-_SafariZoneWestText6: ; 0x85725
-	db $0, "REQUEST NOTICE", $51
-	db "Please find the", $4f
-	db "SAFARI WARDEN's", $55
-	db "lost GOLD TEETH.", $55
-	db "They're around", $55
-	db "here somewhere.", $51
-	db "Reward offered!", $4f
-	db "Contact: WARDEN", $57
-
-_SafariZoneWestText7: ; 0x857a3
-	db $0, "TRAINER TIPS", $51
-	db "Zone Exploration", $4f
-	db "Campaign!", $51
-	db "The Search for", $4f
-	db "the SECRET HOUSE!", $57
-
-_SafariZoneWestText8: ; 0x857ed
-	db $0, "AREA 3", $4f
-	db "EAST: CENTER AREA", $57
-
-_SafariZoneCenterText2: ; 0x85807
-	db $0, "REST HOUSE", $57
-
-_SafariZoneCenterText3: ; 0x85813
-	db $0, "TRAINER TIPS", $51
-	db "Press the START", $4f
-	db "Button to check", $55
-	db "remaining time!", $57
-
-_SafariZoneRestHouse1Text1: ; 0x85851
-	db $0, "SARA: Where did", $4f
-	db "my boy friend,", $55
-	db "ERIK, go?", $57
-
-_SafariZoneRestHouse1Text2: ; 0x8587b
-	db $0, "I'm catching", $4f
-	db "#MON to take", $55
-	db "home as gifts!", $57
-
-_UnnamedText_4a350: ; 0x858a4
-	db $0, "Ah! Finally!", $51
-	db "You're the first", $4f
-	db "person to reach", $55
-	db "the SECRET HOUSE!", $51
-	db "I was getting", $4f
-	db "worried that no", $55
-	db "one would win our", $55
-	db "campaign prize.", $51
-	db "Congratulations!", $4f
-	db "You have won!", $58
-; 0x858a4 + 159 bytes
-
-_UnnamedText_4a355: ; 0x85943
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x85957
-
-_UnnamedText_4a35b: ; 0x85957
-	db $0, "HM03 is SURF!", $51
-	db "#MON will be", $4f
-	db "able to ferry you", $55
-	db "across water!", $51
-	db "And, this HM isn't", $4f
-	db "disposable! You", $55
-	db "can use it over", $55
-	db "and over!", $51
-	db "You're super lucky", $4f
-	db "for winning this", $55
-	db "fabulous prize!", $57
-; 0x85957 + 171 bytes
-
-_UnnamedText_4a360: ; 0x85a02
-	db $0, "You don't have", $4f
-	db "room for this", $55
-	db "fabulous prize!", $57
-; 0x85a02 + 45 bytes
-
-_SafariZoneRestHouse2Text1: ; 0x85a2f
-	db $0, "Tossing ROCKs at", $4f
-	db "#MON might", $55
-	db "make them run,", $55
-	db "but they'll be", $55
-	db "easier to catch.", $57
-
-_SafariZoneRestHouse2Text2: ; 0x85a7a
-	db $0, "Using BAIT will", $4f
-	db "make #MON", $55
-	db "easier to catch.", $57
-
-_SafariZoneRestHouse2Text3: ; 0x85aa6
-	db $0, "I hiked a lot, but", $4f
-	db "I didn't see any", $55
-	db "#MON I wanted.", $57
-
-_SafariZoneRestHouse3Text1: ; 0x85ad9
-	db $0, "How many did you", $4f
-	db "catch? I'm bushed", $55
-	db "from the work!", $57
-
-_SafariZoneRestHouse3Text2: ; 0x85b0b
-	db $0, "I caught a", $4f
-	db "CHANSEY!", $51
-	db "That makes this", $4f
-	db "all worthwhile!", $57
-
-_SafariZoneRestHouse3Text3: ; 0x85b40
-	db $0, "Whew! I'm tired", $4f
-	db "from all the fun!", $57
-
-_SafariZoneRestHouse4Text1: ; 0x85b62
-	db $0, "You can keep any", $4f
-	db "item you find on", $55
-	db "the ground here.", $51
-	db "But, you'll run", $4f
-	db "out of time if", $55
-	db "you try for all", $55
-	db "of them at once!", $57
-
-_SafariZoneRestHouse4Text2: ; 0x85bd5
-	db $0, "Go to the deepest", $4f
-	db "part of the", $55
-	db "SAFARI ZONE. You", $55
-	db "will win a prize!", $57
-
-_SafariZoneRestHouse4Text3: ; 0x85c17
-	db $0, "My EEVEE evolved", $4f
-	db "into FLAREON!", $51
-	db "But, a friend's", $4f
-	db "EEVEE turned into", $55
-	db "a VAPOREON!", $55
-	db "I wonder why?", $57
-
-_UnnamedText_45f26: ; 0x85c72
-	db $0, "Mew!@@"
-; 0x85c79
-
-_UnnamedText_5da9a: ; 0x85c79
-	db $0, "I wonder if you", $4f
-	db "are good enough", $55
-	db "for me!", $57
-; 0x85c79 + 41 bytes
-
-_UnnamedText_5da9f: ; 0x85ca2
-	db $0, "I", $4f
-	db "lost out!", $58
-; 0x85ca2 + 13 bytes
-
-_UnnamedText_5daa4: ; 0x85caf
-	db $0, "I never wanted to", $4f
-	db "lose to anybody!", $57
-; 0x85caf + 36 bytes
-
-_UnnamedText_5daa9: ; 0x85cd3
-	db $0, "I can see you're", $4f
-	db "good! Let me see", $55
-	db "exactly how good!", $57
-; 0x85cd3 + 52 bytes
-
-_UnnamedText_5daae: ; 0x85d07
-	db $0, "I", $4f
-	db "had a chance...", $58
-; 0x85d07 + 19 bytes
-
-_UnnamedText_5dab3: ; 0x85d1a
-	db $0, "I concede, you're", $4f
-	db "better than me!", $57
-; 0x85d1a + 34 bytes
-
-_UnnamedText_5a3ae: ; 0x85d3c
-	db $0, "Ah! I heard about", $4f
-	db "you ", $52, "!", $51
-	db "I lead the ELITE", $4f
-	db "FOUR! You can", $55
-	db "call me LANCE the", $55
-	db "dragon trainer!", $51
-	db "You know that", $4f
-	db "dragons are", $55
-	db "mythical #MON!", $51
-	db "They're hard to", $4f
-	db "catch and raise,", $55
-	db "but their powers", $55
-	db "are superior!", $51
-	db "They're virtually", $4f
-	db "indestructible!", $51
-	db "Well, are you", $4f
-	db "ready to lose?", $51
-	db "Your LEAGUE", $4f
-	db "challenge ends", $55
-	db "with me, ", $52, "!", $57
-; 0x85d3c + 296 bytes
-
-_UnnamedText_5a3b3: ; 0x85e64
-	db $0, "That's it!", $51
-	db "I hate to admit", $4f
-	db "it, but you are a", $55
-	db "#MON master!", $58
-; 0x85e64 + 58 bytes
-
-_UnnamedText_5a3b8: ; 0x85e9e
-	db $0, "I still can't", $4f
-	db "believe my", $55
-	db "dragons lost to", $55
-	db "you, ", $52, "!", $51
-	db "You are now the", $4f
-	db "#MON LEAGUE", $55
-	db "champion!", $51
-	db "...Or, you would", $4f
-	db "have been, but", $55
-	db "you have one more", $55
-	db "challenge ahead.", $51
-	db "You have to face", $4f
-	db "another trainer!", $55
-	db "His name is...", $51
-	db $53, "!", $4f
-	db "He beat the ELITE", $55
-	db "FOUR before you!", $51
-	db "He is the real", $4f
-	db "#MON LEAGUE", $55
-	db "champion!@@"
-; 0x85e9e + 279 bytes = 0x85fb5
-
-_HallofFameRoomText1: ; 0x85fb5
-	db $0, "OAK: Er-hem!", $4f
-	db "Congratulations", $55
-	db $52, "!", $51
-	db "This floor is the", $4f
-	db "#MON HALL OF", $55
-	db "FAME!", $51
-	db "#MON LEAGUE", $4f
-	db "champions are", $55
-	db "honored for their", $55
-	db "exploits here!", $51
-	db "Their #MON are", $4f
-	db "also recorded in", $55
-	db "the HALL OF FAME!", $51
-	db $52, "! You have", $4f
-	db "endeavored hard", $55
-	db "to become the new", $55
-	db "LEAGUE champion!", $51
-	db "Congratulations,", $4f
-	db $52, ", you and", $55
-	db "your #MON are", $55
-	db "HALL OF FAMERs!", $57
-
-_UnnamedText_760f4: ; 0x860e1
-	db $0, $53, ": Hey!", $51
-	db "I was looking", $4f
-	db "forward to seeing", $55
-	db "you, ", $52, "!", $51
-	db "My rival should", $4f
-	db "be strong to keep", $55
-	db "me sharp!", $51
-	db "While working on", $4f
-	db "#DEX, I looked", $55
-	db "all over for", $55
-	db "powerful #MON!", $51
-	db "Not only that, I", $4f
-	db "assembled teams", $55
-	db "that would beat", $55
-	db "any #MON type!", $51
-	db "And now!", $51
-	db "I'm the #MON", $4f
-	db "LEAGUE champion!", $51
-	db $52, "! Do you", $4f
-	db "know what that", $55
-	db "means?", $51
-	db "I'll tell you!", $51
-	db "I am the most", $4f
-	db "powerful trainer", $55
-	db "in the world!", $57
-; 0x860e1 + 346 bytes
-
-_UnnamedText_760f9: ; 0x8623b
-	db $0, "NO!", $4f
-	db "That can't be!", $55
-	db "You beat my best!", $51
-	db "After all that", $4f
-	db "work to become", $55
-	db "LEAGUE champ?", $51
-	db "My reign is over", $4f
-	db "already?", $55
-	db "It's not fair!", $58
-; 0x8623b + 121 bytes
-
-_UnnamedText_760fe: ; 0x862b4
-	db $0, "Hahaha!", $4f
-	db "I won, I won!", $51
-	db "I'm too good for", $4f
-	db "you, ", $52, "!", $51
-	db "You did well to", $4f
-	db "even reach me,", $55
-	db $53, ", the", $55
-	db "#MON genius!", $51
-	db "Nice try, loser!", $4f
-	db "Hahaha!", $58
-; 0x862b4 + 123 bytes
-
-_UnnamedText_76103: ; 0x8632f
-	db $0, "Why?", $4f
-	db "Why did I lose?", $51
-	db "I never made any", $4f
-	db "mistakes raising", $55
-	db "my #MON...", $51
-	db "Darn it! You're", $4f
-	db "the new #MON", $55
-	db "LEAGUE champion!", $51
-	db "Although I don't", $4f
-	db "like to admit it.", $57
-; 0x8632f + 146 bytes
-
-_GaryText2: ; 0x863c1
-	db $0, "OAK: ", $52, "!", $57
-
-_UnnamedText_76120: ; 0x863ca
-	db $0, "OAK: So, you won!", $4f
-	db "Congratulations!", $55
-	db "You're the new", $55
-	db "#MON LEAGUE", $55
-	db "champion!", $51
-	db "You've grown up so", $4f
-	db "much since you", $55
-	db "first left with", $55
-	db "@"
-	TX_RAM $cd6d
-	db $0, "!", $51
-	db $52, ", you have", $4f
-	db "come of age!", $57
-; 0xa86463
-
-_UnnamedText_76125: ; 0x86463
-	db $0, "OAK: ", $53, "! I'm", $4f
-	db "disappointed!", $51
-	db "I came when I", $4f
-	db "heard you beat", $55
-	db "the ELITE FOUR!", $51
-	db "But, when I got", $4f
-	db "here, you had", $55
-	db "already lost!", $51
-	db $53, "! Do you", $4f
-	db "understand why", $55
-	db "you lost?", $51
-	db "You have forgotten", $4f
-	db "to treat your", $55
-	db "#MON with", $55
-	db "trust and love!", $51
-	db "Without them, you", $4f
-	db "will never become", $55
-	db "a champ again!", $57
-; 0x86463 + 260 bytes
-
-_UnnamedText_7612a: ; 0x86567
-	db $0, "OAK: ", $52, "!", $51
-	db "You understand", $4f
-	db "that your victory", $55
-	db "was not just your", $55
-	db "own doing!", $51
-	db "The bond you share", $4f
-	db "with your #MON", $55
-	db "is marvelous!", $51
-	db $52, "!", $4f
-	db "Come with me!", $57
-; 0x86567 + 136 bytes
-
-_UnnamedText_7626c: ; 0x865ef
-	db $0, "Welcome to", $4f
-	db "#MON LEAGUE!", $51
-	db "I am LORELEI of", $4f
-	db "the ELITE FOUR!", $51
-	db "No one can best", $4f
-	db "me when it comes", $55
-	db "to icy #MON!", $51
-	db "Freezing moves", $4f
-	db "are powerful!", $51
-	db "Your #MON will", $4f
-	db "be at my mercy", $55
-	db "when they are", $55
-	db "frozen solid!", $51
-	db "Hahaha!", $4f
-	db "Are you ready?", $57
-; 0x865ef + 213 bytes
-
-_UnnamedText_76271: ; 0x866c4
-	db $0, "How", $4f
-	db "dare you!", $58
-; 0x866c4 + 15 bytes
-
-_UnnamedText_76276: ; 0x866d3
-	db $0, "You're better", $4f
-	db "than I thought!", $55
-	db "Go on ahead!", $51
-	db "You only got a", $4f
-	db "taste of #MON", $55
-	db "LEAGUE power!", $57
-; 0x866d3 + 86 bytes
-
-_UnnamedText_7627b: ; 0x86729
-	db $0, "Someone's voice:", $4f
-	db "Don't run away!", $57
-; 0x86729 + 32 bytes
-
-_UnnamedText_763c3: ; 0x86749
-	db $0, "I am BRUNO of", $4f
-	db "the ELITE FOUR!", $51
-	db "Through rigorous", $4f
-	db "training, people", $55
-	db "and #MON can", $55
-	db "become stronger!", $51
-	db "I've weight", $4f
-	db "trained with", $55
-	db "my #MON!", $51
-	db $52, "!", $51
-	db "We will grind you", $4f
-	db "down with our", $55
-	db "superior power!", $51
-	db "Hoo hah!", $57
-; 0x86749 + 188 bytes
-
-_UnnamedText_763c8: ; 0x86805
-	db $0, "Why?", $4f
-	db "How could I lose?", $58
-; 0x86805 + 24 bytes
-
-_UnnamedText_763cd: ; 0x8681d
-	db $0, "My job is done!", $4f
-	db "Go face your next", $55
-	db "challenge!", $57
-; 0x8681d + 46 bytes
-
-_UnnamedText_763d2: ; 0x8684b
-	db $0, "Someone's voice:", $4f
-	db "Don't run away!", $57
-; 0x8684b + 32 bytes
-
-_UnnamedText_76520: ; 0x8686b
-	db $0, "I am AGATHA of", $4f
-	db "the ELITE FOUR!", $51
-	db "OAK's taken a lot", $4f
-	db "of interest in", $55
-	db "you, child!", $51
-	db "That old duff was", $4f
-	db "once tough and", $55
-	db "handsome! That", $55
-	db "was decades ago!", $51
-	db "Now he just wants", $4f
-	db "to fiddle with", $55
-	db "his #DEX! He's", $55
-	db "wrong! #MON", $55
-	db "are for fighting!", $51
-	db $52, "! I'll show", $4f
-	db "you how a real", $55
-	db "trainer fights!", $57
-; 0x8686b + 261 bytes
-
-_UnnamedText_76525: ; 0x86970
-	db $0, "Oh ho!", $4f
-	db "You're something", $55
-	db "special, child!", $58
-; 0x86970 + 40 bytes
-
-_UnnamedText_7652a: ; 0x86998
-	db $0, "You win! I see", $4f
-	db "what the old duff", $55
-	db "sees in you now!", $51
-	db "I have nothing", $4f
-	db "else to say! Run", $55
-	db "along now, child!", $57
-; 0x86998 + 101 bytes
-
-_UnnamedText_7652f: ; 0x869fd
-	db $0, "Someone's voice:", $4f
-	db "Don't run away!", $57
-; 0x869fd + 32 bytes
-
-_UnnamedText_460c5: ; 0x86a1d
-	db $0, "Hikers leave twigs", $4f
-	db "as trail markers.", $57
-; 0x86a1d + 38 bytes
-
-_UnnamedText_460ca: ; 0x86a43
-	db $0, "Ohhh!", $4f
-	db "I did my best!", $58
-; 0x86a43 + 22 bytes
-
-_UnnamedText_460cf: ; 0x86a59
-	db $0, "I want to go ", $4f
-	db "home!", $57
-; 0x86a59 + 21 bytes
-
-_UnnamedText_460d4: ; 0x86a6e
-	db $0, "Hahaha! Can you", $4f
-	db "beat my power?", $57
-; 0x86a6e + 32 bytes
-
-_UnnamedText_460d9: ; 0x86a8e
-	db $0, "Oops!", $4f
-	db "Out-muscled!", $58
-; 0x86a8e + 20 bytes
-
-_UnnamedText_460de: ; 0x86aa2
-	db $0, "I go for power", $4f
-	db "because I hate", $55
-	db "thinking!", $57
-; 0x86aa2 + 41 bytes
-
-_UnnamedText_460e3: ; 0x86acb
-	db $0, "You have a", $4f
-	db "#DEX?", $55
-	db "I want one too!", $57
-; 0x86acb + 34 bytes
-
-_UnnamedText_460e8: ; 0x86aed
-	db $0, "Shoot!", $4f
-	db "I'm so jealous!", $58
-; 0x86aed + 23 bytes
-
-_UnnamedText_460ed: ; 0x86b04
-	db $0, "When you finish", $4f
-	db "your #DEX, can", $55
-	db "I have it?", $57
-; 0x86b04 + 43 bytes
-
-_UnnamedText_460f2: ; 0x86b2f
-	db $0, "Do you know about", $4f
-	db "costume players?", $57
-; 0x86b2f + 36 bytes
-
-_UnnamedText_460f7: ; 0x86b53
-	db $0, "Well,", $4f
-	db "that's that.", $58
-; 0x86b53 + 19 bytes
-
-_UnnamedText_460fc: ; 0x86b66
-	db $0, "Costume players", $4f
-	db "dress up as", $55
-	db "#MON for fun.", $57
-; 0x86b66 + 43 bytes
-
-_UnnamedText_46101: ; 0x86b91
-	db $0, "My #MON", $4f
-	db "techniques will", $55
-	db "leave you crying!", $57
-; 0x86b91 + 43 bytes
-
-_UnnamedText_46106: ; 0x86bbc
-	db $0, "I give!", $4f
-	db "You're a better", $55
-	db "technician!", $58
-; 0x86bbc + 36 bytes
-
-_UnnamedText_4610b: ; 0x86be0
-	db $0, "In mountains,", $4f
-	db "you'll often find", $55
-	db "rock-type #MON.", $57
-; 0x86be0 + 48 bytes
-
-_UnnamedText_46110: ; 0x86c10
-	db $0, "I don't often", $4f
-	db "come here, but I", $55
-	db "will fight you.", $57
-; 0x86c10 + 47 bytes
-
-_UnnamedText_46115: ; 0x86c3f
-	db $0, "Oh!", $4f
-	db "I lost!", $58
-; 0x86c3f + 13 bytes
-
-_UnnamedText_4611a: ; 0x86c4c
-	db $0, "I like tiny", $4f
-	db "#MON, big ones", $55
-	db "are too scary!", $57
-; 0x86c4c + 43 bytes
-
-_UnnamedText_4611f: ; 0x86c77
-	db $0, "Hit me with your", $4f
-	db "best shot!", $57
-; 0x86c77 + 29 bytes
-
-_UnnamedText_46124: ; 0x86c94
-	db $0, "Fired", $4f
-	db "away!", $58
-; 0x86c94 + 13 bytes
-
-SECTION "bank22",DATA,BANK[$22]
-
-_UnnamedText_46129: ; 0x88000
-	db $0, "I'll raise my", $4f
-	db "#MON to beat", $55
-	db "yours, kid!", $57
-; 0x88000 + 39 bytes
-
-_UnnamedText_4612e: ; 0x88027
-	db $0, "I draw #MON", $4f
-	db "when I'm home.", $57
-; 0x88027 + 27 bytes
-
-_UnnamedText_46133: ; 0x88042
-	db $0, "Whew!", $4f
-	db "I'm exhausted!", $58
-; 0x88042 + 21 bytes
-
-_UnnamedText_46138: ; 0x88057
-	db $0, "I'm an artist,", $4f
-	db "not a fighter.", $57
-; 0x88057 + 30 bytes
-
-_UnnamedText_468a2: ; 0x88075
-	db $0, "Gyaoo!@@"
-
-_SeafoamIslands5Text4: ; 0x8807e
-	db $0, "Boulders might", $4f
-	db "change the flow", $55
-	db "of water!", $57
-
-_SeafoamIslands5Text5: ; 0x880a8
-	db $0, "DANGER", $4f
-	db "Fast current!", $57
-
-_AIBattleWithdrawText:
-	db 1
-	dw $D04A
-	db 0," with-",$4F,"drew @",1
-	dw $CFDA
-	db 0,"!",$58
-_AIBattleUseItemText:
-	db 1
-	dw $D04A
-	db 0,$4F,"used @",1
-	dw $CD6D
-	db 0,$55,"on @",1
-	dw $CFDA
-	db 0,"!",$58
-
-_UnnamedText_4160c: ; 0x880ef
-	TX_RAM $cf4b
-	db $0, " went", $4f
-	db "to @"
-	TX_RAM $d887
-	db $0, ".", $57
-; 0x88103
-
-_UnnamedText_41623: ; 0x88103
-	db $0, "For ", $52, "'s", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, ",", $57
-; 0x88112
-
-_UnnamedText_41628: ; 0x88112
-	TX_RAM $d887
-	db $0, " sends", $4f
-	db "@"
-	TX_RAM $cd6d
-	db $0, ".", $57
-; 0x88124
-
-_UnnamedText_41642: ; 0x88124
-	TX_RAM $d887
-	db $0, " waves", $4f
-	db "farewell as", $57
-
-_UnnamedText_41647: ; 0x8813b
-	TX_RAM $cd6d
-	db $0, " is", $4f
-	db "transferred.", $57
-; 0x8813b + 21 bytes
-
-_UnnamedText_41655: ; 0x88150
-	db $0, "Take good care of", $4f
-	db "@"
-; 0x88150 + 20 bytes
-
-UnnamedText_88164: ; 0x88164
-	TX_RAM $cd6d
-	db $0, ".", $57
-; 0x8816a
-
-_UnnamedText_4166c: ; 0x8816a
-	TX_RAM $d887
-	db $0, " will", $4f
-	db "trade @"
-; 0x8816a + 17 bytes
-
-UnnamedText_8817b: ; 0x8817b
-	TX_RAM $cd6d
-	db $0, $57
-
-_UnnamedText_41671: ; 0x88180
-	db $0, "for ", $52, "'s", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, ".", $57
-; 0x8818f
-
-_UnnamedText_37390: ; 0x8818f
-	db $0, "A slot machine!", $4f
-	db "Want to play?", $57
-; 0x8818f + 31 bytes
-
-_UnnamedText_37467: ; 0x881ae
-	db $0, "Darn!", $4f
-	db "Ran out of coins!", $57
-; 0x881ae + 25 bytes
-
-_UnnamedText_3746c: ; 0x881c7
-	db $0, "Bet how many", $4f
-	db "coins?", $57
-; 0x881c7 + 21 bytes
-
-_UnnamedText_37471: ; 0x881dc
-	db $0, "Start!", $57
-; 0x881dc + 8 bytes
-
-_UnnamedText_37476: ; 0x881e4
-	db $0, "Not enough", $4f
-	db "coins!", $58
-; 0x881e4 + 19 bytes
-
-_UnnamedText_3747b: ; 0x881f7
-	db $0, "One more ", $4f
-	db "go?", $57
-; 0x881f7 + 15 bytes
-
-_UnnamedText_37673: ; 0x88206
-	db $0, " lined up!", $4f
-	db "Scored @"
-; 0x88206 + 20 bytes
-
-UnnamedText_8821a: ; 0x8821a
-	TX_RAM $cf4b
-	db $0, " coins!", $57
-; 0x88226
-
-_UnnamedText_3769d: ; 0x88226
-	db $0, "Not this time!", $58
-; 0x88226 + 16 bytes
-
-UnnamedText_88236: ; 0x88236
-	db $0, "Yeah!@@"
-; 0x8823e
-
-_UnnamedText_703fa: ; 0x8823e
-	db $0, "#DEX   Seen:@"
-; 0x8823e + 14 bytes
-
-UnnamedText_8824c: ; 0x8824c
-	TX_NUM $cc5b, 1, 3
-	db $0, $4f
-	db "         Owned:@"
-	TX_NUM $cc5c, 1, 3
-	db $50
-; 0x88267
-
-_UnnamedText_703ff: ; 0x88267
-	db $0, "#DEX Rating", $6d, $57
-; 0x88267 + 14 bytes
-
-_UnnamedText_62453: ; 0x88275
-	TX_RAM $cf5f
-	db $0, $4f
-	db "#MON GYM", $55
-	db "LEADER: @"
-; 0x88275 + 23 bytes
-
-UnnamedText_8828c: ; 0x8828c
-	TX_RAM $cf70
-	db $0, $51
-	db "WINNING TRAINERS:", $4f
-	db $53, $57
-; 0x882a5
-
-_UnnamedText_62458: ; 0x882a5
-	TX_RAM $cf5f
-	db $0, $4f
-	db "#MON GYM", $55
-	db "LEADER: @"
-; 0x882a5 + 23 bytes
-
-UnnamedText_882bc: ; 0x882bc
-	TX_RAM $cf70
-	db $0, $51
-	db "WINNING TRAINERS:", $4f
-	db $53, $55
-	db $52, $57
-; 0x882d7
-
-_UnnamedText_624a3: ; 0x882d7
-	db $0, "#MON CENTERs", $4f
-	db "heal your tired,", $55
-	db "hurt or fainted", $55
-	db "#MON!", $57
-; 0x882d7 + 53 bytes
-
-_UnnamedText_624a8: ; 0x8830c
-	db $0, "Yawn!", $51
-	db "When JIGGLYPUFF", $4f
-	db "sings, #MON", $55
-	db "get drowsy...", $51
-	db "...Me too...", $4f
-	db "Snore...", $57
-; 0x8830c + 71 bytes
-
-_UnnamedText_624ad: ; 0x88353
-	db $0, "BILL has lots of", $4f
-	db "#MON!", $51
-	db "He collects rare", $4f
-	db "ones too!", $57
-; 0x88353 + 51 bytes
-
-_UnnamedText_624b2: ; 0x88386
-	db $0, "CUBONEs wear", $4f
-	db "skulls, right?", $51
-	db "People will pay a", $4f
-	db "lot for one!", $57
-; 0x88386 + 60 bytes
-
-_UnnamedText_624b7: ; 0x883c2
-	db $0, "If you have too", $4f
-	db "many #MON, you", $55
-	db "should store them", $55
-	db "via PC!", $57
-; 0x883c2 + 58 bytes
-
-_UnnamedText_624bc: ; 0x883fc
-	db $0, "I heard that", $4f
-	db "GHOSTs haunt", $55
-	db "LAVENDER TOWN!", $57
-; 0x883fc + 42 bytes
-
-_UnnamedText_624c1: ; 0x88426
-	db $0, "I wish I could", $4f
-	db "catch #MON.", $57
-; 0x88426 + 28 bytes
-
-_UnnamedText_624c6: ; 0x88442
-	db $0, "I'm tired from", $4f
-	db "all the fun...", $57
-; 0x88442 + 30 bytes
-
-_UnnamedText_624cb: ; 0x88460
-	db $0, "SILPH's manager", $4f
-	db "is hiding in the", $55
-	db "SAFARI ZONE.", $57
-; 0x88460 + 46 bytes
-
-_UnnamedText_624d0: ; 0x8848e
-	db $0, "It is true that a", $4f
-	db "higher level", $55
-	db "#MON will be", $55
-	db "more powerful...", $51
-	db "But, all #MON", $4f
-	db "will have weak", $55
-	db "points against", $55
-	db "specific types.", $51
-	db "So, there is no", $4f
-	db "universally", $55
-	db "strong #MON.", $57
-; 0x8848e + 163 bytes
-
-_UnnamedText_624d5: ; 0x88531
-	db $0, "If I had a BIKE,", $4f
-	db "I would go to", $55
-	db "CYCLING ROAD!", $57
-; 0x88531 + 46 bytes
-
-_UnnamedText_624da: ; 0x8855f
-	db $0, "If you're studying ", $4f
-	db "#MON, visit", $55
-	db "the SAFARI ZONE.", $51
-	db "It has all sorts", $4f
-	db "of rare #MON.", $57
-; 0x8855f + 80 bytes
-
-_UnnamedText_624df: ; 0x885af
-	db $0, "#MON can still", $4f
-	db "learn techniques", $55
-	db "after canceling", $55
-	db "evolution.", $51
-	db "Evolution can wait", $4f
-	db "until new moves", $55
-	db "have been learned.", $57
-; 0x885af + 114 bytes
-
-_UnnamedText_624f8: ; 0x88621
-	db $0, "It would be great", $4f
-	db "if the ELITE FOUR", $55
-	db "came and stomped", $55
-	db "TEAM ROCKET!", $57
-; 0x88621 + 67 bytes
-
-_UnnamedText_624fd: ; 0x88664
-	db $0, "TEAM ROCKET took", $4f
-	db "off! We can go", $55
-	db "out safely again!", $55
-	db "That's great!", $57
-; 0x88664 + 64 bytes
-
-_UnnamedText_62502: ; 0x886a4
-	db $0, "My sis brought me", $4f
-	db "on this vacation!", $57
-; 0x886a4 + 37 bytes
-
-_UnnamedText_62511: ; 0x886c9
-	db $0, "Crammed full of", $4f
-	db "#MON books!", $57
-; 0x886c9 + 29 bytes
-
-_UnnamedText_1e953: ; 0x886e6
-	db $0, "A shiny new", $4f
-	db "BICYCLE!", $57
-; 0x886e6 + 22 bytes
-
-_UnnamedText_1e960: ; 0x886fc
-	db $0, "Push START to", $4f
-	db "open the MENU!", $57
-; 0x886fc + 30 bytes
-
-_UnnamedText_1e97e: ; 0x8871a
-	db $0, "The SAVE option is", $4f
-	db "on the MENU", $55
-	db "screen.", $57
-; 0x8871a + 40 bytes
-
-_UnnamedText_1e983: ; 0x88742
-	db $0, "All #MON types", $4f
-	db "have strong and", $55
-	db "weak points", $55
-	db "against others.", $57
-; 0x88742 + 60 bytes
-
-_UnnamedText_1ea0d: ; 0x8877e
-	db $0, "PA: Ding-dong!", $51
-	db "Time's up!", $58
-; 0x8877e + 26 bytes
-
-_UnnamedText_1ea12: ; 0x88798
-	db $0, "PA: Your SAFARI", $4f
-	db "GAME is over!", $57
-; 0x88798 + 31 bytes
-
-_UnnamedText_1ea5b: ; 0x887b7
-	db $0, "#MON Quiz!", $51
-	db "Get it right and", $4f
-	db "the door opens to", $55
-	db "the next room!", $51
-	db "Get it wrong and", $4f
-	db "face a trainer!", $51
-	db "If you want to", $4f
-	db "conserve your", $55
-	db "#MON for the", $55
-	db "GYM LEADER...", $51
-	db "Then get it right!", $4f
-	db "Here we go!", $58
-; 0x887b7 + 182 bytes
-
-_UnnamedText_1ea6c: ; 0x8886d
-	db $0, "CATERPIE evolves", $4f
-	db "into BUTTERFREE?", $57
-; 0x8886d + 35 bytes
-
-_UnnamedText_1ea71: ; 0x88890
-	db $0, "There are 9", $4f
-	db "certified #MON", $55
-	db "LEAGUE BADGEs?", $57
-; 0x88890 + 43 bytes
-
-_UnnamedText_1ea76: ; 0x888bb
-	db $0, "POLIWAG evolves 3", $4f
-	db "times?", $57
-; 0x888bb + 26 bytes
-
-_UnnamedText_1ea7b: ; 0x888d5
-	db $0, "Are thunder moves", $4f
-	db "effective against", $55
-	db "ground element-", $55
-	db "type #MON?", $57
-; 0x888d5 + 64 bytes
-
-_UnnamedText_1ea80: ; 0x88915
-	db $0, "#MON of the", $4f
-	db "same kind and", $55
-	db "level are not", $55
-	db "identical?", $57
-; 0x88915 + 52 bytes
-
-_UnnamedText_1ea85: ; 0x88949
-	db $0, "TM28 contains", $4f
-	db "TOMBSTONER?", $57
-; 0x88949 + 27 bytes
-
-UnnamedText_88964: ; 0x88964
-	db $0, "You're absolutely", $4f
-	db "correct!", $51
-	db "Go on through!@@"
-; 0x8898f
-
-_UnnamedText_1eb05: ; 0x8898f
-	db $0, "Sorry! Bad call!", $58
-; 0x8898f + 18 bytes
-
-_UnnamedText_1eb69: ; 0x889a1
-	db $0, "#MON magazines!", $51
-	db "#MON notebooks!", $51
-	db "#MON graphs!", $57
-; 0x889a1 + 46 bytes
-
-_UnnamedText_1ebdd: ; 0x889cf
-	db $0, "TELEPORTER is", $4f
-	db "displayed on the", $55
-	db "PC monitor.", $57
-; 0x889cf + 44 bytes
-
-UnnamedText_889fb: ; 0x889fb
-	db $0, $52, " initiated", $4f
-	db "TELEPORTER's Cell", $55
-	db "Separator!@@"
-; 0x88a25
-
-_UnnamedText_1ec7f: ; 0x88a25
-	db $0, "BILL's favorite", $4f
-	db "#MON list!", $58
-; 0x88a25 + 27 bytes
-
-_UnnamedText_1ecaa: ; 0x88a40
-	db $0, "Which #MON do", $4f
-	db "you want to see?", $57
-; 0x88a40 + 32 bytes
-
-_UnnamedText_1ecbd: ; 0x88a60
-	db $0, "There's an e-mail", $4f
-	db "message here!", $51
-	db "...", $51
-	db "Calling all", $4f
-	db "#MON trainers!", $51
-	db "The elite trainers", $4f
-	db "of #MON LEAGUE", $55
-	db "are ready to take", $55
-	db "on all comers!", $51
-	db "Bring your best", $4f
-	db "#MON and see", $55
-	db "how you rate as a", $55
-	db "trainer!", $51
-	db "#MON LEAGUE HQ", $4f
-	db "INDIGO PLATEAU", $51
-	db "PS: PROF.OAK,", $4f
-	db "please visit us!", $55
-	db "...", $57
-; 0x88a60 + 251 bytes
-
-_UnnamedText_2ff32: ; 0x88b5b
-	db $0, "A COIN CASE is", $4f
-	db "required!", $57
-; 0x88b5b + 26 bytes
-
-_UnnamedText_2ff37: ; 0x88b75
-	db $0, "You don't have", $4f
-	db "any coins!", $57
-; 0x88b75 + 26 bytes
-
-_UnnamedText_37e79: ; 0x88b8f
-	db $0, "OUT OF ORDER", $4f
-	db "This is broken.", $57
-; 0x88b8f + 30 bytes
-
-_UnnamedText_37e7e: ; 0x88bad
-	db $0, "OUT TO LUNCH", $4f
-	db "This is reserved.", $57
-; 0x88bad + 32 bytes
-
-_UnnamedText_37e83: ; 0x88bcd
-	db $0, "Someone's keys!", $4f
-	db "They'll be back.", $57
-; 0x88bcd + 32 bytes
-
-_UnnamedText_21865: ; 0x88bed
-	db $0, "Just a moment.", $57
-; 0x88bed + 16 bytes
-
-UnnamedText_88bfd: ; 0x88bfd
-	db $0, "It's a pamphlet", $4f
-	db "on TMs.", $51
-	db "...", $51
-	db "There are 50 TMs", $4f
-	db "in all.", $51
-	db "There are also 5", $4f
-	db "HMs that can be", $55
-	db "used repeatedly.", $51
-	db "SILPH CO.@@"
-; 0x88c6f
-
-_UnnamedText_529e9: ; 0x88c6f
-	db $0, "Turn the page?", $57
-; 0x88c6f + 16 bytes
-
-UnnamedText_88c7f: ; 0x88c7f
-	db $0, "GIRL: Hey! Don't", $4f
-	db "look at my notes!@@"
-; 0x88ca3
-
-_UnnamedText_529f4: ; 0x88ca3
-	db $0, "Looked at the", $4f
-	db "notebook!", $51
-	db "First page...", $51
-	db "# BALLs are", $4f
-	db "used to catch", $55
-	db "#MON.", $51
-	db "Up to 6 #MON", $4f
-	db "can be carried.", $51
-	db "People who raise", $4f
-	db "and make #MON", $55
-	db "fight are called", $55
-	db "#MON trainers.", $58
-; 0x88ca3 + 163 bytes
-
-_UnnamedText_529f9: ; 0x88d46
-	db $0, "Second page...", $51
-	db "A healthy #MON", $4f
-	db "may be hard to", $55
-	db "catch, so weaken", $55
-	db "it first!", $51
-	db "Poison, burns and", $4f
-	db "other damage are", $55
-	db "effective!", $58
-; 0x88d46 + 119 bytes
-
-_UnnamedText_529fe: ; 0x88dbd
-	db $0, "Third page...", $51
-	db "#MON trainers", $4f
-	db "seek others to", $55
-	db "engage in #MON", $55
-	db "fights.", $51
-	db "Battles are", $4f
-	db "constantly fought", $55
-	db "at #MON GYMs.", $58
-; 0x88dbd + 111 bytes
-
-_UnnamedText_52a03: ; 0x88e2c
-	db $0, "Fourth page...", $51
-	db "The goal for", $4f
-	db "#MON trainers", $55
-	db "is to beat the ", $55
-	db "top 8 #MON", $55
-	db "GYM LEADERs.", $51
-	db "Do so to earn the", $4f
-	db "right to face...", $51
-	db "The ELITE FOUR of", $4f
-	db "#MON LEAGUE!", $58
-; 0x88e2c + 149 bytes
-
-_UnnamedText_52a10: ; 0x88ec1
-	db $0, "Enemies on every", $4f
-	db "side!", $57
-; 0x88ec1 + 24 bytes
-
-_UnnamedText_52a1d: ; 0x88ed9
-	db $0, "What goes around", $4f
-	db "comes around!", $57
-; 0x88ed9 + 32 bytes
-
-_UnnamedText_52a2a: ; 0x88ef9
-	db $0, "FIGHTING DOJO", $57
-; 0x88ef9 + 15 bytes
-
-_UnnamedText_52a3d: ; 0x88f08
-	db $0, "INDIGO PLATEAU", $4f
-	db "#MON LEAGUE HQ", $57
-; 0x88f08 + 31 bytes
-
-_UnnamedText_5db81: ; 0x88f27
-	db $0, $52, " is", $4f
-	db "playing the SNES!", $55
-	db "...Okay!", $55
-	db "It's time to go!", $57
-; 0x88f27 + 49 bytes
-
-_UnnamedText_5dba8: ; 0x88f58
-	db $0, "Looked into the", $4f
-	db "binoculars...", $51
-	db "A large, shining", $4f
-	db "bird is flying", $55
-	db "toward the sea.", $57
-; 0x88f58 + 79 bytes
-
-_UnnamedText_5dbbe: ; 0x88fa7
-	db $0, "AERODACTYL Fossil", $4f
-	db "A primitive and", $55
-	db "rare #MON.", $57
-; 0x88fa7 + 46 bytes
-
-_UnnamedText_5dbd4: ; 0x88fd5
-	db $0, "KABUTOPS Fossil", $4f
-	db "A primitive and", $55
-	db "rare #MON.", $57
-; 0x88fd5 + 44 bytes
-
-_UnnamedText_5dc9e: ; 0x89001
-	db $0, "TRAINER TIPS", $51
-	db "Using a Game Link", $4f
-	db "Cable", $58
-; 0x89001 + 38 bytes
-
-_UnnamedText_5dca3: ; 0x89027
-	db $0, "Which heading do", $4f
-	db "you want to read?", $57
-; 0x89027 + 36 bytes
-
-_UnnamedText_5dcde: ; 0x8904b
-	db $0, "When you have", $4f
-	db "linked your GAME", $55
-	db "BOY with another", $55
-	db "GAME BOY, talk to", $55
-	db "the attendant on", $55
-	db "the right in any", $55
-	db "#MON CENTER.", $58
-; 0x8904b + 114 bytes
-
-_UnnamedText_5dce3: ; 0x890bd
-	db $0, "COLOSSEUM lets", $4f
-	db "you play against", $55
-	db "a friend.", $58
-; 0x890bd + 43 bytes
-
-_UnnamedText_5dce8: ; 0x890e8
-	db $0, "TRADE CENTER is", $4f
-	db "used for trading", $55
-	db "#MON.", $58
-; 0x890e8 + 40 bytes
-
-_UnnamedText_5dda2: ; 0x89110
-	db $0, "The blackboard", $4f
-	db "describes #MON", $55
-	db "STATUS changes", $55
-	db "during battles.", $58
-; 0x89110 + 62 bytes
-
-_UnnamedText_5dda7: ; 0x8914e
-	db $0, "Which heading do", $4f
-	db "you want to read?", $57
-; 0x8914e + 36 bytes
-
-_UnnamedText_5ddd6: ; 0x89172
-	db $0, "A #MON can't", $4f
-	db "attack if it's", $55
-	db "asleep!", $51
-	db "#MON will stay", $4f
-	db "asleep even after", $55
-	db "battles.", $51
-	db "Use AWAKENING to", $4f
-	db "wake them up!", $58
-; 0x89172 + 108 bytes
-
-_UnnamedText_5dddb: ; 0x891de
-	db $0, "When poisoned, a", $4f
-	db "#MON's health", $55
-	db "steadily drops.", $51
-	db "Poison lingers", $4f
-	db "after battles.", $51
-	db "Use an ANTIDOTE", $4f
-	db "to cure poison!", $58
-; 0x891de + 109 bytes
-
-_UnnamedText_5dde0: ; 0x8924b
-	db $0, "Paralysis could", $4f
-	db "make #MON", $55
-	db "moves misfire!", $51
-	db "Paralysis remains", $4f
-	db "after battles.", $51
-	db "Use PARLYZ HEAL", $4f
-	db "for treatment!", $58
-; 0x8924b + 106 bytes
-
-_UnnamedText_5dde5: ; 0x892b5
-	db $0, "A burn reduces", $4f
-	db "power and speed.", $55
-	db "It also causes", $55
-	db "ongoing damage.", $51
-	db "Burns remain", $4f
-	db "after battles.", $51
-	db "Use BURN HEAL to", $4f
-	db "cure a burn!", $58
-; 0x892b5 + 122 bytes
-
-_UnnamedText_5ddea: ; 0x8932f
-	db $0, "If frozen, a", $4f
-	db "#MON becomes", $55
-	db "totally immobile!", $51
-	db "It stays frozen", $4f
-	db "even after the", $55
-	db "battle ends.", $51
-	db "Use ICE HEAL to", $4f
-	db "thaw out #MON!", $58
-; 0x8932f + 120 bytes
-
-_UnnamedText_5ddf7: ; 0x893a7
-	db $0, "Nope, there's", $4f
-	db "only trash here.", $57
-; 0x893a7 + 31 bytes
-
-UnnamedText_893c6: ; 0x893c6
-	db $0, "Hey! There's a", $4f
-	db "switch under the", $55
-	db "trash!", $55
-	db "Turn it on!", $51
-	db "The 1st electric", $4f
-	db "lock opened!@@"
-; 0x89418
-
-_UnnamedText_5dedb: ; 0x89418
-	db $0, "Hey! There's", $4f
-	db "another switch", $55
-	db "under the trash!", $55
-	db "Turn it on!", $58
-; 0x89418 + 57 bytes
-
-UnnamedText_89451: ; 0x89451
-	db $0, "The 2nd electric", $4f
-	db "lock opened!", $51
-	db "The motorized door", $4f
-	db "opened!@@
-; 0x89451 + 59 bytes = 0x8948c
-
-UnnamedText_8948c: ; 0x8948c
-	db $0, "Nope! There's", $4f
-	db "only trash here.", $55
-	db "Hey! The electric", $55
-	db "locks were reset!@@"
-; 0x8948c + 68 bytes = 0x894d0
-
-UnnamedText_894d0: ; 0x894d0
-	db $0, $52, " found", $4f
-	db "@"
-	TX_RAM $cd6d
-	db $0, "!@@"
-; 0x894e1
-
-_UnnamedText_76794: ; 0x894e1
-	db $0, "But, ", $52, " has", $4f
-	db "no more room for", $55
-	db "other items!", $57
-; 0x894e1 + 42 bytes
-
-UnnamedText_8950b: ; 0x8950b
-	db $0, $52, " found", $4f
-	db "@"
-	db $2, $a0, $ff, $c2 ; XXX $2
-	db $0, " coins!@@"
-; 0x89523
-
-UnnamedText_89523: ; 0x89523
-	db $0, $52, " found", $4f
-	db "@"
-	db $2, $a0, $ff, $c2 ; XXX $2 probably coins
-	db $0, " coins!@@"
-; 0x8953a
-
-_UnnamedText_76852: ; 0x8953b
-	db $0, $51
-	db "Oops! Dropped", $4f
-	db "some coins!", $57
-; 0x8953b + 28 bytes
-
-_UnnamedText_fbd9: ; 0x89557
-	db $0, "INDIGO PLATEAU", $58
-; 0x89557 + 16 bytes
-
-_UnnamedText_fbde: ; 0x89567
-	db $0, "The ultimate goal", $4f
-	db "of trainers!", $55
-	db "#MON LEAGUE HQ", $57
-; 0x89567 + 47 bytes
-
-_UnnamedText_fbe3: ; 0x89596
-	db $0, "The highest", $4f
-	db "#MON authority", $55
-	db "#MON LEAGUE HQ", $57
-; 0x89596 + 43 bytes
-
-_UnnamedText_fc03: ; 0x895c1
-	db $0, "Crammed full of", $4f
-	db "#MON books!", $57
-; 0x895c1 + 29 bytes
-
-_UnnamedText_fc08: ; 0x895de
-	db $0, "It's a sculpture", $4f
-	db "of DIGLETT.", $57
-; 0x895de + 29 bytes
-
-_UnnamedText_fc0d: ; 0x895fb
-	db $0, "This is an", $4f
-	db "elevator.", $57
-; 0x895fb + 22 bytes
-
-UnnamedText_89611: ; 0x89611
-	db $0, "A TOWN MAP.@@"
-; 0x89611 + 14 bytes = 0x8961f
-
-_UnnamedText_fc45: ; 0x8961f
-	db $0, "Wow! Tons of", $4f
-	db "#MON stuff!", $57
-; 0x8961f + 26 bytes
-
-_UnnamedText_3c1a8: ; 0x89639
-	db $0, "PA: Ding-dong!", $51
-	db "You are out of", $4f
-	db "SAFARI BALLs!", $58
-; 0x89639 + 45 bytes
-
-_UnnamedText_3c229: ; 0x89666
-	db $0, "Wild @"
-	TX_RAM $cfda
-	db $0, $4f
-	db "ran!", $58
-; 0x89666 + 17 bytes = 0x89677
-
-_UnnamedText_3c22e: ; 0x89677
-	db $0, "Enemy @"
-	TX_RAM $cfda
-	db $0, $4f
-	db "ran!", $58
-; 0x89677 + 18 bytes = 0x89689
-
-_UnnamedText_3c42e: ; 0x89689
-	db $0, $5a, "'s", $4f
-	db "hurt by poison!", $58
-; 0x89689 + 20 bytes
-
-_UnnamedText_3c433: ; 0x8969d
-	db $0, $5a, "'s", $4f
-	db "hurt by the burn!", $58
-; 0x8969d + 22 bytes
-
-_UnnamedText_3c438: ; 0x896b3
-	db $0, "LEECH SEED saps", $4f
-	db $5a, "!", $58
-; 0x896b3 + 20 bytes
-
-_UnnamedText_3c63e: ; 0x896c7
-	db $0, "Enemy @"
-	TX_RAM $cfda
-	db $0, $4f
-	db "fainted!", $58
-; 0x896c7 + 22 bytes = 0x896dd
-
-_UnnamedText_3c6e4: ; 0x896dd
-	db $0, $52, " got ", $f0, "@"
-	;XXX $2
-	db $2, $79, $d0, $c3
-	db $0, $4f
-	db "for winning!", $58
-; 0x896f9
-
-_UnnamedText_3c6e9: ; 0x896f9
-	db $0, $52, " defeated", $4f
-	db "@"
-	TX_RAM $d04a ; 0x89706
-	db $0, "!", $58
-; 0x896f9 + 19 bytes = 0x8970c
-
-_UnnamedText_3c796: ; 0x8970c
-	TX_RAM $d009
-	db $0, $4f
-	db "fainted!", $58
-; 0x8970c + 14 bytes
-
-_UnnamedText_3c7d3: ; 0x8971a
-	db $0, "Use next #MON?", $57
-; 0x8971a + 16 bytes
-
-_UnnamedText_3c884: ; 0x8972a
-	db $0, $53, ": Yeah! Am", $4f
-	db "I great or what?", $58
-; 0x8972a + 30 bytes
-
-_UnnamedText_3c889: ; 0x89748
-	db $0, $52, " is out of", $4f
-	db "useable #MON!", $51
-	db $52, " blacked", $4f
-	db "out!", $58
-; 0x89748 + 42 bytes
-
-_UnnamedText_3c88e: ; 0x89772
-	db $0, $52, " lost to", $4f
-	db "@"
-	TX_RAM $d04a ; 0x8977e
-	db $0, "!", $58
-; 0x89772 + 18 bytes = 0x89784
-
-_TrainerAboutToUseText:
-	db 1
-	dw $D04A
-	db 0," is",$4F
-	db "about to use",$55,"@",1
-	dw $CFDA
-	db 0,"!",$51
-	db "Will ",$52,$4F
-	db "change #MON?",$57
-
-_TrainerSentOutText:
-	db 1
-	dw $D04A
-	db 0," sent",$4F
-	db "out @",1
-	dw $CFDA
-	db 0,"!",$57
-
-_UnnamedText_3cab4: ; 0x897c9
-	db $0, "There's no will", $4f
-	db "to fight!", $58
-; 0x897c9 + 26 bytes
-
-_UnnamedText_3cb97: ; 0x897e3
-	db $0, "Can't escape!", $58
-; 0x897e3 + 14 bytes
-
-_UnnamedText_3cb9c: ; 0x897f1
-	db $0, "No! There's no", $4f
-	db "running from a", $55
-	db "trainer battle!", $58
-; 0x897f1 + 46 bytes
-
-_UnnamedText_3cba1: ; 0x8981f
-	db $0, "Got away safely!", $58
-; 0x8981f + 18 bytes
-
-_UnnamedText_3d0c5: ; 0x89831
-	db $0, "Items can't be", $4f
-	db "used here.", $58
-; 0x89831 + 26 bytes
-
-_UnnamedText_3d1f5: ; 0x8984b
-	TX_RAM $d009
-	db $0, " is", $4f
-	db "already out!", $58
-; 0x8984b + 21 bytes
-
-_UnnamedText_3d3ae: ; 0x89860
-	db $0, "No PP left for", $4f
-	db "this move!", $58
-; 0x89860 + 27 bytes
-
-_UnnamedText_3d3b3: ; 0x8987b
-	db $0, "The move is", $4f
-	db "disabled!", $58
-; 0x8987b + 23 bytes
-
-_UnnamedText_3d430: ; 0x89892
-	TX_RAM $d009
-	db $0, " has no", $4f
-	db "moves left!", $57
-; 0x89892 + 24 bytes
-
-_MultiHitText:
-	db 0,"Hit the enemy",$4F,"@"
-	TX_NUM W_NUMHITS,1,1
-	db 0," times!",$58
-
-_ScaredText:
-	db 1
-	dw $D009
-	db 0," is too",$4F
-	db "scared to move!",$58
-
-_GetOutText:
-	db 0,"GHOST: Get out...",$4F
-	db "Get out...",$58
-
-_FastAsleepText:
-	db 0,$5A,$4F
-	db "is fast asleep!",$58
-
-_WokeUpText:
-	db 0,$5A,$4F
-	db "woke up!",$58
-
-_FrozenText:
-	db 0,$5A,$4F
-	db "is frozen solid!",$58
-
-_FullyParalyzedText:
-	db 0,$5A,"'s",$4F
-	db "fully paralyzed!",$58
-
-_FlinchedText:
-	db 0,$5A,$4F
-	db "flinched!",$58
-
-_MustRechargeText:
-	db 0,$5A,$4F
-	db "must recharge!",$58
-
-_DisabledNoMoreText:
-	db 0,$5A,"'s",$4F
-	db "disabled no more!",$58
-
-_IsConfusedText:
-	db 0,$5A,$4F
-	db "is confused!",$58
-
-_HurtItselfText:
-	db 0,"It hurt itself in",$4F
-	db "its confusion!",$58
-
-_ConfusedNoMoreText:
-	db 0,$5A,"'s",$4F
-	db "confused no more!",$58
-
-_SavingEnergyText:
-	db 0,$5A,$4F
-	db "is saving energy!",$58
-
-_UnleashedEnergyText:
-	db 0,$5A,$4F
-	db "unleashed energy!",$58
-
-_ThrashingAboutText:
-	db 0,$5A,"'s",$4F
-	db "thrashing about!",$57
-
-_AttackContinuesText:
-	db 0,$5A,"'s",$4F
-	db "attack continues!",$57
-
-_CantMoveText:
-	db 0,$5A,$4F
-	db "can't move!",$58
-
-_UnnamedText_3daa8: ; 0x89a29
-	db $0, $5a, "'s", $4f
-	db "@"
-; 0x89a29 + 5 bytes
-
-UnnamedText_89a2e: ; 0x89a2e
-	TX_RAM $cd6d
-	db $0, " is", $55
-	db "disabled!", $58
-; 0x89a2e + 18 bytes = 0x89a40
-
-UnnamedText_89a40: ; 0x89a40
-	db $0, $5a, "@@"
-; 0x89a40 + 4 bytes = 0x89a44
-
-UnnamedText_89a44: ; 0x89a44
-	db $0, $4f
-	db "used @@"
-; 0x89a44 + 9 bytes = 0x89a4d
-
-UnnamedText_89a4d: ; 0x89a4d
-	db $0, $4f
-	db "used @@"
-; 0x89a4d + 9 bytes = 0x89a56
-
-UnnamedText_89a56: ; 0x89a56
-	db $0, "instead,", $55
-	db "@@
-; 0x89a56 + 12 bytes = 0x89a62
-
-UnnamedText_89a62: ; 0x89a62
-	TX_RAM $cf4b
-	db $0, "@"
-; 0x89a62 + 5 bytes = 0x89a67
-
-_UnnamedText_3db6c: ; 0x89a67
-	db $0, "!", $57
-; 0x89a67 + 3 bytes
-
-_UnnamedText_3db71: ; 0x89a6a
-	db $0, "!", $57
-; 0x89a6a + 3 bytes
-
-_UnnamedText_3db76: ; 0x89a6d
-	db $0, "!", $57
-; 0x89a6d + 3 bytes
-
-_UnnamedText_3db7b: ; 0x89a70
-	db $0, "!", $57
-; 0x89a70 + 3 bytes
-
-_UnnamedText_3db80: ; 0x89a73
-	db $0, "!", $57
-; 0x89a73 + 3 bytes
-
-_UnnamedText_3dc42: ; 0x89a76
-	db $0, $5a, "'s", $4f
-	db "attack missed!", $58
-; 0x89a76 + 19 bytes
-
-_UnnamedText_3dc47: ; 0x89a89
-	db $0, $5a, $4f
-	db "kept going and", $55
-	db "crashed!", $58
-; 0x89a89 + 27 bytes
-
-_UnnamedText_3dc4c: ; 0x89aa4
-	db $0, $59, "'s", $4f
-	db "unaffected!", $58
-; 0x89aa4 + 16 bytes
-
-_UnnamedText_3dc57: ; 0x89ab4
-	db $0, "It doesn't affect", $4f
-	db $59, "!", $58
-; 0x89ab4 + 21 bytes
-
-_UnnamedText_3dc7e: ; 0x89ac9
-	db $0, "Critical hit!", $58
-; 0x89ac9 + 15 bytes
-
-_UnnamedText_3dc83: ; 0x89ad8
-	db $0, "One-hit KO!", $58
-; 0x89ad8 + 13 bytes
-
-_UnnamedText_3ddb6: ; 0x89ae5
-	TX_RAM $d009
-	db $0, " is", $4f
-	db "loafing around.", $58
-; 0x89ae5 + 24 bytes
-
-_UnnamedText_3ddbb: ; 0x89afd
-	TX_RAM $d009
-	db $0, " began", $4f
-	db "to nap!", $58
-; 0x89afd + 19 bytes
-
-_UnnamedText_3ddc0: ; 0x89b10
-	TX_RAM $d009
-	db $0, " won't", $4f
-	db "obey!", $58
-; 0x89b10 + 16 bytes
-
-_UnnamedText_3ddc5: ; 0x89b20
-	TX_RAM $d009
-	db $0, " turned", $4f
-	db "away!", $58
-; 0x89b20 + 18 bytes
-
-_UnnamedText_3ddca: ; 0x89b32
-	TX_RAM $d009
-	db $0, $4f
-	db "ignored orders!", $58
-; 0x89b32 + 21 bytes
-
-_SubstituteTookDamageText: ; 0x89b47
-	db $0, "The SUBSTITUTE", $4f
-	db "took damage for", $55
-	db $59, "!", $58
-; 0x89b47 + 35 bytes
-
-_SubstituteBrokeText: ; 0x89b6a
-	db $0, $59, "'s", $4f
-	db "SUBSTITUTE broke!", $58
-; 0x89b6a + 22 bytes
-
-_BuildingRageText: ; 0x89b80
-	db $0, $5a, "'s", $4f
-	db "RAGE is building!", $58
-; 0x89b80 + 22 bytes
-
-_MirrorMoveFailedText: ; 0x89b96
-	db $0, "The MIRROR MOVE", $4e, "failed!", $58
-; 0x89b96 + 25 bytes
-
-_UnnamedText_3e887: ; 0x89baf
-	db $0, "Hit @"
-; 0x89baf + 6 bytes
-
-UnnamedText_89bb5: ; 0x89bb5
-	TX_NUM $cd05, 1, 1
-	db $0, " times!", $58
-; 0x89bb5 + 13 bytes = 0x89bc2
-
-UnnamedText_89bc2: ; 0x89bc2
-	TX_RAM $cd6d
-	db $0, " gained", $4f
-	db "@@"
-; 0x89bc2 + 14 bytes = 0x89bd0
-
-UnnamedText_89bd0: ; 0x89bd0
-	db $0, "with EXP.ALL,", $55
-	db "@@"
-; 0x89bd0 + 17 bytes = 0x89be1
-
-UnnamedText_89be1: ; 0x89be1
-	db $0, "a boosted", $55
-	db "@@"
-_UnnamedText_554d8:
-	TX_NUM $cf4b, 2, 4
-	db $0, " EXP. Points!", $58
-; 0x89be1 + 32 bytes = 0x89c01
-
-UnnamedText_89c01: ; 0x89c01
-	TX_RAM $cd6d
-	db $0, " grew", $4f
-	db "to level @"
-	TX_NUM $d127, 1, 3
-	db $0, "!@@"
-; 0x89c01 + 28 bytes = 0x89c1d
-
-_UnnamedText_58e3b: ; 0x89c1d
-	db $0, "Wild @"
-	TX_RAM $cfda
-	db $0, $4f
-	db "appeared!", $58
-; 0x89c1d + 22 bytes
-
-_UnnamedText_58e40: ; 0x89c33
-	db $0, "The hooked", $4f
-	db "@"
-	TX_RAM $cfda
-	db $0, $55
-	db "attacked!", $58
-; 0x89c33 + 28 bytes
-
-_UnnamedText_58e45: ; 0x89c4f
-	TX_RAM $cfda
-	db $0, $4f
-	db "appeared!", $58
-; 0x89c4f + 15 bytes
-
-_UnnamedText_58e4a: ; 0x89c5e
-	TX_RAM $d04a
-	db $0, " wants", $4f
-	db "to fight!", $58
-; 0x89c5e + 21 bytes
-
-_UnnamedText_58e4f: ; 0x89c73
-	db $0, "SILPH SCOPE", $4f
-	db "unveiled the", $55
-	db "GHOST's identity!", $58
-; 0x89c73 + 43 bytes
-
-_UnnamedText_58e54: ; 0x89c9e
-	db $0, "Darn! The GHOST", $4f
-	db "can't be ID'd!", $58
-; 0x89c9e + 30 bytes
-
-UnknownText_89cbc: ; 0x89cbc
-	db $0, "Go! @@"
-; 0x89cbc + 7 bytes
-	db $0, "Do it! @@"
-; 0x89cc3 + 10 bytes
-	db $0, "Get'm! @@"
-; 0x89ccd + 9 bytes
-
-UnknownText_89cd6: ; 0x89cd6
-	db $0, "The enemy's weak!", $4f
-	db "Get'm! @@"
-; 0x89cd6 + 26 bytes
-
-_UnnamedText_58ecc: ; 0x89cf0
-	TX_RAM $d009
-	db $0, "!", $57
-; 0x89cf0 + 6 bytes
-	TX_RAM $d009
-	db $0, " @@"
-	db $0, "enough!@@"
-; 0x89cf0 + 23 bytes
-
-_UnnamedText_89d07: ; 0x8d907
-	db $0, "OK!@@"
-; 0x8d907 + 6
-
-UnknownText_89d0d: ; 0x89d0d
-	db $0, "good!@@"
-; 0x89d0d + 8 bytes
-
-_UnnamedText_58f3e: ; 0x89d15
-	db $0, $4f
-	db "Come back!", $57
-; 0x89d15 + 13 bytes
-
-_UnnamedText_2fb8e: ; 0x89d22
-	db $0, "It's super", $4f
-	db "effective!", $58
-; 0x89d22 + 22 bytes
-
-_UnnamedText_2fb93: ; 0x89d38
-	db $0, "It's not very", $4f
-	db "effective...", $58
-; 0x89d38 + 27 bytes
-
-SafariZoneEatingText: ; 0x89d53
-	db $0, "Wild @"
-	TX_RAM $cfda
-	db $0, $4f
-	db "is eating!", $58
-; 0x89d53 + 23 bytes
-
-SafariZoneAngryText: ; 0x89d6a
-	db $0, "Wild @"
-	TX_RAM $cfda
-	db $0, $4f
-	db "is angry!", $58
-; 0x89d6a + 22 bytes
-
-; money related
-; XXX $2 BCD macro
-; $2, pointer, byte
-_UnnamedText_1386b: ; 0x89d80
-	db $0, $52, " picked up", $4f
-	db $f0, "@"
-	db $2, $e5, $cc, $c3
-	db $0, "!", $58
-
-_UnnamedText_1c9c1: ; 0x89d96
-	db $0, "Clear all saved", $4f
-	db "data?", $57
-; 0x89d96 + 23 bytes
-
-_UnnamedText_1ca14: ; 0x89dad
-	db $0, "Which floor do", $4f
-	db "you want? ", $57
-; 0x89dad + 27 bytes
-
-_UnnamedText_12e7f: ; 0x89dc8
-	db $0, "Choose a #MON.", $57
-; 0x89dc8 + 16 bytes
-
-_UnnamedText_12e84: ; 0x89dd8
-	db $0, "Use item on which", $4f
-	db "#MON?", $57
-; 0x89dd8 + 25 bytes
-
-_UnnamedText_12e89: ; 0x89df1
-	db $0, "Bring out which", $4f
-	db "#MON?", $57
-; 0x89df1 + 23 bytes
-
-_UnnamedText_12e8e: ; 0x89e08
-	db $0, "Use TM on which", $4f
-	db "#MON?", $57
-; 0x89e08 + 23 bytes
-
-_UnnamedText_12e93: ; 0x89e1f
-	db $0, "Move #MON", $4f
-	db "where?", $57
-; 0x89e1f + 18 bytes
-
-_UnnamedText_12e98: ; 0x89e31
-	TX_RAM $cd6d
-	db $0, $4f
-	db "recovered by @"
-	TX_NUM $cefd, 2, 3
-	db $0, "!", $57
-; 0x89e31 + 26 bytes
-
-_UnnamedText_12e9d: ; 0x89e4b
-	TX_RAM $cd6d
-	db $0, " was", $4f
-	db "cured of poison!", $57
-; 0x89e4b + 26 bytes
-
-_UnnamedText_12ea2: ; 0x89e65
-	TX_RAM $cd6d
-	db $0, "'s", $4f
-	db "rid of paralysis!", $57
-; 0x89e65 + 24 bytes
-
-_UnnamedText_12ea7: ; 0x89e7d
-	TX_RAM $cd6d
-	db $0, "'s", $4f
-	db "burn was healed!", $57
-; 0x89e7d + 23 bytes
-
-_UnnamedText_12eac: ; 0x89e94
-	TX_RAM $cd6d
-	db $0, " was", $4f
-	db "defrosted!", $57
-; 0x89e94 + 20 bytes
-
-_UnnamedText_12eb1: ; 0x89ea8
-	TX_RAM $cd6d
-	db $0, $4f
-	db "woke up!", $57
-; 0x89ea8 + 14 bytes
-
-_UnnamedText_12eb6: ; 0x89eb6
-	TX_RAM $cd6d
-	db $0, "'s", $4f
-	db "health returned!", $57
-; 0x89eb6 + 23 bytes
-
-_UnnamedText_12ebb: ; 0x89ecd
-	TX_RAM $cd6d
-	db $0, $4f
-	db "is revitalized!", $57
-; 0x89ecd + 21 bytes
-
-LevelUpText: ; 0x89ee2
-	TX_RAM $cd6d
-	db $0, " grew", $4f
-	db "to level @"
-	TX_NUM $d127, $1,$3
-	db $0, "!@@"
-; 0x89ee2 + 28 bytes
-
-_UnnamedText_17f23: ; 0x89efe
-	db $0, $52, " turned on", $4f
-	db "the PC.", $58
-; 0x89efe + 21 bytes
-
-_UnnamedText_17f28: ; 0x89f13
-	db $0, "Accessed BILL's", $4f
-	db "PC.", $51
-	db "Accessed #MON", $4f
-	db "Storage System.", $58
-; 0x89f13 + 50 bytes
-
-_UnnamedText_17f2d: ; 0x89f45
-	db $0, "Accessed someone's", $4f
-	db "PC.", $51
-	db "Accessed #MON", $4f
-	db "Storage System.", $58
-; 0x89f45 + 53 bytes
-
-_UnnamedText_17f32: ; 0x89f7a
-	db $0, "Accessed my PC.", $51
-	db "Accessed Item", $4f
-	db "Storage System.", $58
-; 0x89f7a + 47 bytes
-
-_UnnamedText_7b22: ; 0x89fa9
-	db $0, $52, " turned on", $4f
-	db "the PC.", $58
-; 0x89fa9 + 21 bytes
-
-_UnnamedText_7b27: ; 0x89fbe
-	db $0, "What do you want", $4f
-	db "to do?", $57
-; 0x89fbe + 25 bytes
-
-_UnnamedText_7b2c: ; 0x89fd7
-	db $0, "What do you want", $4f
-	db "to deposit?", $57
-; 0x89fd7 + 30 bytes
-
-_UnnamedText_7b31: ; 0x89ff5
-	db $0, "How many?", $57
-; 0x89ff5 + 11 bytes
-
-_UnnamedText_7b36: ; 0x8a000
-	TX_RAM $cd6d
-	db $0, " was", $4f
-	db "stored via PC.", $58
-; 0x8a000 + 24 bytes
-
-_UnnamedText_7b3b: ; 0x8a018
-	db $0, "You have nothing", $4f
-	db "to deposit.", $58
-; 0x8a018 + 30 bytes
-
-_UnnamedText_7b40: ; 0x8a036
-	db $0, "No room left to", $4f
-	db "store items.", $58
-; 0x8a036 + 30 bytes
-
-_UnnamedText_7b45: ; 0x8a054
-	db $0, "What do you want", $4f
-	db "to withdraw?", $57
-; 0x8a054 + 31 bytes
-
-_UnnamedText_7b4a: ; 0x8a073
-	db $0, "How many?", $57
-; 0x8a073 + 11 bytes
-
-_UnnamedText_7b4f: ; 0x8a07e
-	db $0, "Withdrew", $4f
-	db "@"
-	TX_RAM $cd6d
-	db $0, ".", $58
-; 0x8a07e + 17 bytes
-
-_UnnamedText_7b54: ; 0x8a08f
-	db $0, "There is nothing", $4f
-	db "stored.", $58
-; 0x8a08f + 26 bytes
-
-_UnnamedText_7b59: ; 0x8a0a9
-	db $0, "You can't carry", $4f
-	db "any more items.", $58
-; 0x8a0a9 + 32 bytes
-
-_UnnamedText_7b5e: ; 0x8a0c9
-	db $0, "What do you want", $4f
-	db "to toss away?", $57
-; 0x8a0c9 + 32 bytes
-
-_UnnamedText_7b63: ; 0x8a0e9
-	db $0, "How many?", $57
-; 0x8a0e9 + 11 bytes
-
-_UnnamedText_76683: ; 0x8a0f4
-	db $0, "Accessed #MON", $4f
-	db "LEAGUE's site.", $51
-	db "Accessed the HALL", $4f
-	db "OF FAME List.", $58
-; 0x8a0f4 + 61 bytes
-
-_UnnamedText_217e9: ; 0x8a131
-	db $0, "Switch on!", $58
-; 0x8a131 + 12 bytes
-
-_UnnamedText_217ee: ; 0x8a13d
-	db $0, "What?", $57
-; 0x8a13d + 7 bytes
-
-_UnnamedText_217f3: ; 0x8a144
-	db $0, "Deposit which", $4f
-	db "#MON?", $57
-; 0x8a144 + 21 bytes
-
-_UnnamedText_217f8: ; 0x8a159
-	TX_RAM $cf4b
-	db $0, " was", $4f
-	db "stored in Box @"
-	TX_RAM $cd3d
-	db $0, ".", $58
-; 30 bytes
-
-_UnnamedText_217fd: ; 0x8a177
-	db $0, "You can't deposit", $4f
-	db "the last #MON!", $58
-; 0x8a177 + 33 bytes
-
-_UnnamedText_21802: ; 0x8a198
-	db $0, "Oops! This Box is", $4f
-	db "full of #MON.", $58
-; 0x8a198 + 33 bytes
-
-_UnnamedText_21807: ; 0x8a1b9
-	TX_RAM $cf4b
-	db $0, " is", $4f
-	db "taken out.", $55
-	db "Got @"
-; 0x8a1b9 + 24 bytes
-UnknownText_8a1d1: ; 0x8a1d1
-	TX_RAM $cf4b
-	db $0, ".", $58
-; 0x8a1d1 + 6 bytes
-
-_UnnamedText_2180c: ; 0x8a1d7
-	db $0, "What? There are", $4f
-	db "no #MON here!", $58
-; 0x8a1d7 + 31 bytes
-
-_UnnamedText_21811: ; 0x8a1f6
-	db $0, "You can't take", $4f
-	db "any more #MON.", $51
-	db "Deposit #MON", $4f
-	db "first.", $58
-; 0x8a1f6 + 50 bytes
-
-_UnnamedText_21816: ; 0x8a228
-	db $0, "Release which", $4f
-	db "#MON?", $57
-; 0x8a228 + 21 bytes
-
-_UnnamedText_2181b: ; 0x8a23d
-	db $0, "Once released,", $4f
-	db "@"
-; 0x8a23d + 17 bytes
-
-UnknownText_8a24e: ; 0x8a24e
-	TX_RAM $cf4b
-	db $0, " is", $55
-	db "gone forever. OK?", $57
-; 0x8a24e + 26 bytes
-
-_UnnamedText_21820: ; 0x8a268
-	TX_RAM $cf4b
-	db $0, " was", $4f
-	db "released outside.", $55
-	db "Bye @"
-; 0x8a268 + 32 bytes
-
-_UnnamedText_8a288: ; 0x8a288
-	TX_RAM $cf4b
-	db $0, "!", $58
-
-_RequireCoinCaseText: ; 22:628E
-	db 0,"A COIN CASE is",$4F
-	db "required!@@"
-
-_ExchangeCoinsForPrizesText: ; 22:62A9
-	db 0,"We exchange your",$4F
-	db "coins for prizes.",$58
-
-_WhichPrizeText: ; 22:62CD
-	db 0,"Which prize do",$4F
-	db "you want?",$57
-
-_HereYouGoText: ; 22:62E7
-	db 0,"Here you go!@@"
-
-_SoYouWantPrizeText: ; 22:62F6
-	db 0,"So, you want",$4F
-	db "@"
-	db 1
-	dw $CD6D
-	db 0,"?",$57
-
-_SorryNeedMoreCoins: ; 22:630B
-	db 0,"Sorry, you need",$4F
-	db "more coins.@@"
-
-_OopsYouDontHaveEnoughRoomText: ; 22:6329
-	db 0,"Oops! You don't",$4F
-	db "have enough room.@@"
-
-_OhFineThenText: ; 22:634C
-	db 0,"Oh, fine then.@@"
-;635d
-
-_UnnamedText_1e93b: ; 0x8a35d
-	db $0, "Want to get your", $4f
-	db "#DEX rated?", $57
-; 0x8a35d + 30 bytes
-
-UnknownText_8a37b: ; 0x8a37b
-	db $0, "Closed link to", $4f
-	db "PROF.OAK's PC.@@"
-; 0x8a37b + 31 bytes
-
-_UnnamedText_1e946: ; 0x8a39a
-	db $0, "Accessed PROF.", $4f
-	db "OAK's PC.", $51
-	db "Accessed #DEX", $4f
-	db "Rating System.", $58
-; 0x8a39a + 54 bytes
-
-_UnnamedText_5d43: ; 0x8a3d0
-	db $0, "Where would you", $4f
-	db "like to go?", $57
-; 0x8a3d0 + 29 bytes
-
-_UnnamedText_5d48: ; 0x8a3ed
-	db $0, "OK, please wait", $4f
-	db "just a moment.", $57
-; 0x8a3ed + 32 bytes
-
-_UnnamedText_5d4d: ; 0x8a40d
-	db $0, "The link was", $4f
-	db "canceled.", $57
-; 0x8a40d + 24 bytes
-
-INCLUDE "text/oakspeech.tx"
-
-_UnnamedText_6557: ; 0x8a605
-	db $0, "Do you want to", $4f
-	db "give a nickname", $55
-	db "to @"
-; 0x8a605 + 36 bytes
-
-UnknownText_8a629: ; 0x8a629
-	TX_RAM $cd6d
-	db $0, "?", $57
-; 0x8a629 + 6 bytes
-
-_UnnamedText_699f: ; 0x8a62f
-	db $0, "Right! So your", $4f
-	db "name is ", $52, "!", $58
-; 0x8a62f + 27 bytes
-
-_UnnamedText_69e7: ; 0x8a64a
-	db $0, "That's right! I", $4f
-	db "remember now! His", $55
-	db "name is ", $53, "!", $58
-; 0x8a64a + 45 bytes
-
-_UnnamedText_5a24: ; 0x8a677
-	TX_RAM $cd3f
-	db $0, " and", $4f
-	db "@"
-; 0x8a677 + 10 bytes
-
-UnknownText_8a681: ; 0x8a681
-	TX_RAM $cd6d
-	db $0, " will", $55
-	db "be traded.", $57
-; 0x8a681 + 21 bytes
-
-_Char00Text:
-	TX_NUM $FF8C,1,2
-	db 0," ERROR.",$57
-
-_Char55Text:
-	db 0,$4B,"@@"
-
-_DiglettsCaveRoute2Text1: ; 0x8a6a7
-	db $0, "I went to ROCK", $4f
-	db "TUNNEL, but it's", $55
-	db "dark and scary.", $51
-	db "If a #MON's", $4f
-	db "FLASH could light", $55
-	db "it up...", $57
-
-_ViridianForestexitText1: ; 0x8a6fd
-	db $0, "Many #MON live", $4f
-	db "only in forests ", $55
-	db "and caves.", $51
-	db "You need to look", $4f
-	db "everywhere to get", $55
-	db "different kinds!", $57
-
-_ViridianForestexitText2: ; 0x8a75d
-	db $0, "Have you noticed", $4f
-	db "the bushes on the", $55
-	db "roadside?", $51
-	db "They can be cut", $4f
-	db "down by a special", $55
-	db "#MON move.", $57
-
-_Route2HouseText1: ; 0x8a7b8
-	db $0, "A fainted #MON", $4f
-	db "can't fight. But, ", $55
-	db "it can still use ", $55
-	db "moves like CUT!", $57
-
-_UnnamedText_5d616: ; 0x8a7fc
-	db $0, "The HM FLASH", $4f
-	db "lights even the", $55
-	db "darkest dungeons.", $57
-; 0x8a7fc + 48 bytes
-
-_Route2GateText2: ; 0x8a82c
-	db $0, "Once a #MON", $4f
-	db "learns FLASH, you", $55
-	db "can get through", $55
-	db "ROCK TUNNEL.", $57
-
-_ViridianForestEntranceText1: ; 0x8a868
-	db $0, "Are you going to", $4f
-	db "VIRIDIAN FOREST?", $55
-	db "Be careful, it's", $55
-	db "a natural maze!", $57
-
-_ViridianForestEntranceText2: ; 0x8a8ab
-	db $0, "RATTATA may be", $4f
-	db "small, but its", $55
-	db "bite is wicked!", $55
-	db "Did you get one?", $57
-
-_MtMoonPokecenterText1: ; 0x8a8eb
-	db $0, "I've 6 # BALLs", $4f
-	db "set in my belt.", $51
-	db "At most, you can", $4f
-	db "carry 6 #MON.", $57
-
-_MtMoonPokecenterText3: ; 0x8a929
-	db $0, "TEAM ROCKET", $4f
-	db "attacks CERULEAN", $55
-	db "citizens...", $51
-	db "TEAM ROCKET is", $4f
-	db "always in the", $55
-	db "news!", $57
-
-_UnnamedText_4935c: ; 0x8a976
-	db $0, "MAN: Hello, there!", $4f
-	db "Have I got a deal", $55
-	db "just for you!", $51
-	db "I'll let you have", $4f
-	db "a swell MAGIKARP", $55
-	db "for just ", $f0, "500!", $55
-	db "What do you say?", $57
-; 0x8a976 + 118 bytes
-
-_UnnamedText_49361: ; 0x8a9ec
-	db $0, "No? I'm only", $4f
-	db "doing this as a", $55
-	db "favor to you!", $57
-; 0x8a9ec + 43 bytes
-
-_UnnamedText_49366: ; 0x8aa17
-	db $0, "You'll need more", $4f
-	db "money than that!", $57
-; 0x8aa17 + 34 bytes
-
-_UnnamedText_4936b: ; 0x8aa39
-	db $0, "MAN: Well, I don't", $4f
-	db "give refunds!", $57
-; 0x8aa39 + 33 bytes
-
-_MtMoonPokecenterText5: ; 0x8aa5a
-	db $0, $57
-
-_UnnamedText_1dfe7: ; 0x8aa5c
-	db $0, "I'm on guard duty.", $4f
-	db "Gee, I'm thirsty,", $55
-	db "though!", $51
-	db "Oh wait there,", $4f
-	db "the road's closed.", $57
-; 0x8aa5c + 77 bytes
-
-_UnnamedText_8aaa9: ; 0x8aaa9
-	db $0, "Whoa, boy!", $4f
-	db "I'm parched!", $55
-	db "...", $55
-	db "Huh? I can have", $55
-	db "this drink?", $55
-	db "Gee, thanks!@@"
-; 0x8aaa9 + 70 bytes
-
-_UnnamedText_1dff1: ; 0x8aaef
-	db $0, $51
-	db "...", $4f
-	db "Glug glug...", $55
-	db "...", $55
-	db "Gulp...", $55
-	db "If you want to go", $55
-	db "to SAFFRON CITY...", $55
-	db "...", $55
-	db "You can go on", $55
-	db "through. I'll", $55
-	db "share this with", $55
-	db "the other guards!", $57
-; 0x8aaef + 133 bytes
-
-_UnnamedText_1dff6: ; 0x8ab74
-	db $0, "Hi, thanks for", $4f
-	db "the cool drinks!", $57
-; 0x8ab74 + 33 bytes
-
-_UnnamedText_5640f: ; 0x8ab95
-	db $0, "I run a DAYCARE.", $4f
-	db "Would you like me", $55
-	db "to raise one of", $55
-	db "your #MON?", $57
-; 0x8ab95 + 63 bytes
-
-_UnnamedText_56414: ; 0x8abd4
-	db $0, "Which #MON", $4f
-	db "should I raise?", $58
-; 0x8abd4 + 28 bytes
-
-_UnnamedText_56419: ; 0x8abf0
-	db $0, "Fine, I'll look", $4f
-	db "after @"
-; 0x8abf0 + 23 bytes
-
-UnknownText_8ac07: ; 0x8ac07
-	TX_RAM $cd6d
-	db $0, $55
-	db "for a while.", $58
-; 0x8ac07 + 18 bytes
-
-_UnnamedText_5641e: ; 0x8ac19
-	db $0, "Come see me in", $4f
-	db "a while.", $57
-; 0x8ac19 + 25 bytes
-
-_UnnamedText_56423: ; 0x8ac32
-	db $0, "Your @"
-; 0x8ac32 + 7 bytes
-
-UnknownText_8ac39: ; 0x8ac39
-	TX_RAM $cd6d
-	db $0, $4f
-	db "has grown a lot!", $51
-	db "By level, it's", $4f
-	db "grown by @"
-; 0x8ac39 + 46 bytes
-
-UnknownText_8ac67: ; 0x8ac67
-	TX_NUM $cd3e,$1,$3
-	db $0, "!", $51
-	db "Aren't I great?", $58
-; 0x8ac67 + 22 bytes
-
-_UnnamedText_56428: ; 0x8ac7d
-	db $0, "You owe me ", $f0, "@"
-; 0x8ac7d + 14 bytes
-
-;XXX
-; 0x8ac8b
-db $2, $3f, $cd, $c2
-
-UnknownText_8ac8f: ; 0x8ac8f
-	db $0, $4f
-	db "for the return", $55
-	db "of this #MON.", $57
-; 0x8ac8f + 31 bytes
-
-_UnnamedText_5642d: ; 0x8acae
-	db $0, $52, " got", $4f
-	db "@"
-; 0x8acae + 8 bytes
-
-UnknownText_8acb6: ; 0x8acb6
-	TX_RAM $da49
-	db $0, " back!", $57
-; 0x8acb6 + 11 bytes
-
-_UnnamedText_56432: ; 0x8acc1
-	db $0, "Back already?", $4f
-	db "Your @"
-; 0x8acc1 + 21 bytes
-
-UnknownText_8acd6: ; 0x8acd6
-	TX_RAM $cd6d
-	db $0, $55
-	db "needs some more", $55
-	db "time with me.", $58
-; 0x8acd6 + 35 bytes
-
-SECTION "bank23",DATA,BANK[$23]
-
-_UnnamedText_56437: ; 0x8c000
-	db $0, "All right then,", $4f
-	db "@@"
-; 0x8c000 + 19 bytes
-
-_UnnamedText_5643b: ; 0x8c013
-	db $0, "come again.", $57
-; 0x8c013 + 13 bytes
-
-_UnnamedText_56440: ; 0x8c020
-	db $0, "You have no room", $4f
-	db "for this #MON!", $57
-; 0x8c020 + 33 bytes
-
-_UnnamedText_56445: ; 0x8c041
-	db $0, "You only have one", $4f
-	db "#MON with you.", $57
-; 0x8c041 + 34 bytes
-
-_UnnamedText_5644a: ; 0x8c063
-	db $0, "I can't accept a", $4f
-	db "#MON that", $55
-	db "knows an HM move.", $57
-; 0x8c063 + 45 bytes
-
-_UnnamedText_5644f: ; 0x8c090
-	db $0, "Thank you! Here's", $4f
-	db "your #MON!", $58
-; 0x8c090 + 29 bytes
-
-_UnnamedText_56454: ; 0x8c0ad
-	db $0, "Hey, you don't", $4f
-	db "have enough ", $f0, "!", $57
-; 0x8c0ad + 30 bytes
-
-_UndergroundTunnelEntranceRoute6Text1: ; 0x8c0cb
-	db $0, "People often lose", $4f
-	db "things in that", $55
-	db "UNDERGROUND PATH.", $57
-
-_UndergroundPathEntranceRoute7Text1: ; 0x8c0ff
-	db $0, "I heard a sleepy", $4f
-	db "#MON appeared", $55
-	db "near CELADON CITY.", $57
-
-_UnnamedText_5d773: ; 0x8c132
-	db $0, "I want to shop at", $4f
-	db "the dept. store", $55
-	db "in CELADON but...", $51
-	db "There are so many", $4f
-	db "rough looking", $55
-	db "people there.", $57
-; 0x8c132 + 99 bytes
-
-_UnnamedText_5d778: ; 0x8c195
-	db $0, "TEAM ROCKET had a", $4f
-	db "secret hideout in", $55
-	db "CELADON CITY?", $57
-; 0x8c195 + 51 bytes
-
-_UnnamedText_5d77d: ; 0x8c1c8
-	db $0, "You're here to", $4f
-	db "shop in CELADON?", $51
-	db "Just step outside", $4f
-	db "and head west!", $57
-; 0x8c1c8 + 65 bytes
-
-_UnnamedText_5d782: ; 0x8c209
-	db $0, "The UNDERGROUND", $4f
-	db "PATH goes beneath", $55
-	db "SAFFRON and leads", $55
-	db "to LAVENDER.", $51
-	db "If you're heading", $4f
-	db "to CERULEAN, go", $55
-	db "to the building", $55
-	db "across the road.", $57
-; 0x8c209 + 132 bytes
-
-_UndergroundPathEntranceRoute8Text1: ; 0x8c28d
-	db $0, "The dept. store", $4f
-	db "in CELADON has a", $55
-	db "great selection!", $57
-
-_RockTunnelPokecenterText1: ; 0x8c2c0
-	db $0, "The element types", $4f
-	db "of #MON make", $55
-	db "them stronger", $55
-	db "than some types", $55
-	db "and weaker than", $55
-	db "others!", $57
-
-_RockTunnelPokecenterText3: ; 0x8c316
-	db $0, "I sold a useless", $4f
-	db "NUGGET for ", $f0, "5000!", $57
-
-_UnnamedText_44588: ; 0x8c33a
-	db $0, "This tunnel goes", $4f
-	db "a long way, kid!", $57
-; 0x8c33a + 35 bytes
-
-_UnnamedText_4458d: ; 0x8c35d
-	db $0, "Doh!", $4f
-	db "You win!", $58
-; 0x8c35d + 15 bytes
-
-_UnnamedText_44592: ; 0x8c36c
-	db $0, "Watch for ONIX!", $4f
-	db "It can put the", $55
-	db "squeeze on you!", $57
-; 0x8c36c + 48 bytes
-
-_UnnamedText_44597: ; 0x8c39c
-	db $0, "Hmm. Maybe I'm", $4f
-	db "lost in here...", $57
-; 0x8c39c + 31 bytes
-
-_UnnamedText_4459c: ; 0x8c3bb
-	db $0, "Ease up!", $4f
-	db "What am I doing?", $55
-	db "Which way is out?", $58
-; 0x8c3bb + 45 bytes
-
-_UnnamedText_445a1: ; 0x8c3e8
-	db $0, "That sleeping", $4f
-	db "#MON on ROUTE", $55
-	db "12 forced me to", $55
-	db "take this detour.", $57
-; 0x8c3e8 + 63 bytes
-
-_UnnamedText_445a6: ; 0x8c427
-	db $0, "Outsiders like", $4f
-	db "you need to show", $55
-	db "me some respect!", $57
-; 0x8c427 + 50 bytes
-
-_UnnamedText_445ab: ; 0x8c459
-	db $0, "I give!", $58
-; 0x8c459 + 9 bytes
-
-_UnnamedText_445b0: ; 0x8c462
-	db $0, "You're talented", $4f
-	db "enough to hike!", $57
-; 0x8c462 + 32 bytes
-
-_UnnamedText_445b5: ; 0x8c482
-	db $0, "#MON fight!", $4f
-	db "Ready, go!", $57
-; 0x8c482 + 24 bytes
-
-_UnnamedText_445ba: ; 0x8c49a
-	db $0, "Game", $4f
-	db "over!", $58
-; 0x8c49a + 12 bytes
-
-_UnnamedText_445bf: ; 0x8c4a6
-	db $0, "Oh well, I'll get", $4f
-	db "a ZUBAT as I go!", $57
-; 0x8c4a6 + 35 bytes
-
-_UnnamedText_445c4: ; 0x8c4c9
-	db $0, "Eek! Don't try", $4f
-	db "anything funny in", $55
-	db "the dark!", $57
-; 0x8c4c9 + 43 bytes
-
-_UnnamedText_445c9: ; 0x8c4f4
-	db $0, "It", $4f
-	db "was too dark!", $58
-; 0x8c4f4 + 18 bytes
-
-_UnnamedText_445ce: ; 0x8c506
-	db $0, "I saw a MACHOP", $4f
-	db "in this tunnel!", $57
-; 0x8c506 + 32 bytes
-
-_UnnamedText_445d3: ; 0x8c526
-	db $0, "I came this far", $4f
-	db "for #MON!", $57
-; 0x8c526 + 27 bytes
-
-_UnnamedText_445d8: ; 0x8c541
-	db $0, "I'm", $4f
-	db "out of #MON!", $58
-; 0x8c541 + 17 bytes
-
-_UnnamedText_445dd: ; 0x8c552
-	db $0, "You looked cute", $4f
-	db "and harmless!", $57
-; 0x8c552 + 31 bytes
-
-_UnnamedText_445e2: ; 0x8c571
-	db $0, "You have #MON!", $4f
-	db "Let's start!", $57
-; 0x8c571 + 28 bytes
-
-_UnnamedText_445e7: ; 0x8c58d
-	db $0, "You", $4f
-	db "play hard!", $58
-; 0x8c58d + 16 bytes
-
-_UnnamedText_445ec: ; 0x8c59d
-	db $0, "Whew! I'm all", $4f
-	db "sweaty now!", $57
-; 0x8c59d + 26 bytes
-
-_RockTunnel1Text8: ; 0x8c5b7
-	db $0, "ROCK TUNNEL", $4f
-	db "CERULEAN CITY -", $55
-	db "LAVENDER TOWN", $57
-
-_UnnamedText_1e3aa: ; 0x8c5e2
-	db $0, "Bzzzt!", $57
-; 0x8c5e2 + 8 bytes
-
-_UnnamedText_1e3af: ; 0x8c5ea
-	db $0, "Gyaoo!@@"
-; 0x8c5ea + 9 bytes
-
-_Route11GateText1: ; 0x8c5f3
-	db $0, "When you catch", $4f
-	db "lots of #MON,", $55
-	db "isn't it hard to", $55
-	db "think up names?", $51
-	db "In LAVENDER TOWN,", $4f
-	db "there's a man who", $55
-	db "rates #MON", $55
-	db "nicknames.", $51
-	db "He'll help you", $4f
-	db "rename them too!", $57
-
-_UnnamedText_494a3: ; 0x8c689
-	db $0, "There are items on", $4f
-	db "the ground that", $55
-	db "can't be seen.", $51
-	db "ITEMFINDER will", $4f
-	db "detect an item", $55
-	db "close to you.", $51
-	db "It can't pinpoint", $4f
-	db "it, so you have", $55
-	db "to look yourself!", $57
-; 0x8c689 + 146 bytes
-
-_UnnamedText_494c4: ; 0x8c71b
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "A big #MON is", $4f
-	db "asleep on a road!", $57
-; 0x8c71b + 61 bytes
-
-_UnnamedText_494c9: ; 0x8c758
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "It's a beautiful", $4f
-	db "view!", $57
-; 0x8c758 + 51 bytes
-
-_UnnamedText_494d5: ; 0x8c78b
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "The only way to", $4f
-	db "get from CERULEAN", $55
-	db "CITY to LAVENDER", $55
-	db "is by way of the", $55
-	db "ROCK TUNNEL.", $57
-; 0x8c78b + 110 bytes
-
-_DiglettsCaveEntranceRoute11Text1: ; 0x8c7f9
-	db $0, "What a surprise!", $4f
-	db "DIGLETTs dug this", $55
-	db "long tunnel!", $51
-	db "It goes right to", $4f
-	db "VIRIDIAN CITY!", $57
-
-_Route12GateText1: ; 0x8c84a
-	db $0, "There's a lookout", $4f
-	db "spot upstairs.", $57
-
-_UnnamedText_4959c: ; 0x8c86b
-	db $0, "My #MON's", $4f
-	db "ashes are stored", $55
-	db "in #MON TOWER.", $51
-	db "You can have this", $4f
-	db "TM. I don't need", $55
-	db "it any more...", $58
-; 0x8c86b + 91 bytes
-
-_ReceivedTM39Text: ; 0x8c8c6
-	db $0, $52, " received", $4f
-	db "TM39!@@"
-; 0x8c8c6 + 19 bytes
-
-_UnnamedText_495a7: ; 0x8c8d9
-	db $0, "TM39 is a move", $4f
-	db "called SWIFT.", $51
-	db "It's very accurate,", $4f
-	db "so use it during", $55
-	db "battles you can't", $55
-	db "afford to lose.", $57
-; 0x8c8d9 + 99 bytes
-
-_UnnamedText_495ac: ; 0x8c93c
-	db $0, "You don't have", $4f
-	db "room for this.", $57
-; 0x8c93c + 30 bytes
-
-_UnnamedText_495b8: ; 0x8c95a
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "A man fishing!", $57
-; 0x8c95a + 44 bytes
-
-_UnnamedText_495c4: ; 0x8c986
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "It's #MON TOWER!", $57
-; 0x8c986 + 45 bytes
-
-_UnnamedText_564c0: ; 0x8c9b3
-	db $0, "I'm the FISHING", $4f
-	db "GURU's brother!", $51
-	db "I simply Looove", $4f
-	db "fishing!", $51
-	db "Do you like to", $4f
-	db "fish?", $57
-; 0x8c9b3 + 77 bytes
-
-_UnnamedText_564c5: ; 0x8ca00
-	db $0, "Grand! I like", $4f
-	db "your style!", $51
-	db "Take this and", $4f
-	db "fish, young one!", $51
-	db $52, " received", $4f
-	db "a @"
-; 0x8ca00 + 72 bytes
-
-UnknownText_8ca48: ; 0x8ca48
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x8ca48 + 7 bytes
-
-_UnnamedText_564ca: ; 0x8ca4f
-	db $0, $51
-	db "Fishing is a way", $4f
-	db "of life!", $51
-	db "From the seas to", $4f
-	db "rivers, go out", $55
-	db "and land the big", $55
-	db "one!", $57
-; 0x8ca4f + 82 bytes
-
-_UnnamedText_564cf: ; 0x8caa1
-	db $0, "Oh... That's so", $4f
-	db "disappointing...", $57
-; 0x8caa1 + 33 bytes
-
-_UnnamedText_564d4: ; 0x8cac2
-	db $0, "Hello there,", $4f
-	db $52, "!", $51
-	db "Use the SUPER ROD", $4f
-	db "in any water!", $55
-	db "You can catch", $55
-	db "different kinds", $55
-	db "of #MON.", $51
-	db "Try fishing", $4f
-	db "wherever you can!", $57
-; 0x8cac2 + 118 bytes
-
-_UnnamedText_564d9: ; 0x8cb38
-	db $0, "Oh no!", $51
-	db "I had a gift for", $4f
-	db "you, but you have", $55
-	db "no room for it!", $57
-; 0x8cb38 + 59 bytes
-
-_Route15GateText1: ; 0x8cb73
-	db $0, "Are you working", $4f
-	db "on a #DEX?", $51
-	db "PROF.OAK's AIDE", $4f
-	db "came by here.", $57
-
-_UnnamedText_4968c: ; 0x8cbac
-	db $0, "EXP.ALL gives", $4f
-	db "EXP points to all", $55
-	db "the #MON with", $55
-	db "you, even if they", $55
-	db "don't fight.", $51
-	db "It does, however,", $4f
-	db "reduce the amount", $55
-	db "of EXP for each", $55
-	db "#MON.", $51
-	db "If you don't need", $4f
-	db "it, you should ", $55
-	db "store it via PC.", $57
-; 0x8cbac + 185 bytes
-
-_UnnamedText_49698: ; 0x8cc65
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "It looks like a", $4f
-	db "small island!", $57
-; 0x8cc65 + 59 bytes
-
-_UnnamedText_49777: ; 0x8cca0
-	db $0, "No pedestrians", $4f
-	db "are allowed on", $55
-	db "CYCLING ROAD!", $57
-; 0x8cca0 + 45 bytes
-
-_UnnamedText_4977c: ; 0x8cccd
-	db $0, "CYCLING ROAD is a", $4f
-	db "downhill course", $55
-	db "by the sea. It's", $55
-	db "a great ride.", $57
-; 0x8cccd + 65 bytes
-
-_UnnamedText_49781: ; 0x8cd0e
-	db $0, "Excuse me! Wait", $4f
-	db "up please!", $57
-; 0x8cd0e + 28 bytes
-
-_Route16GateMapText2: ; 0x8cd2a
-	db $0, "How'd you get in?", $4f
-	db "Good effort!", $57
-
-_UnnamedText_49820: ; 0x8cd49
-	db $0, "I'm going for a", $4f
-	db "ride with my girl", $55
-	db "friend!", $57
-; 0x8cd49 + 42 bytes
-
-_UnnamedText_4982f: ; 0x8cd73
-	db $0, "We're going", $4f
-	db "riding together!", $57
-; 0x8cd73 + 29 bytes
-
-_UnnamedText_4983b: ; 0x8cd90
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "It's CELADON DEPT.", $4f
-	db "STORE!", $57
-; 0x8cd90 + 54 bytes
-
-_UnnamedText_49847: ; 0x8cdc6
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "There's a long", $4f
-	db "path over water!", $57
-; 0x8cdc6 + 60 bytes
-
-_Route16HouseText3: ; 0x8ce02
-	db $0, "Oh, you found my", $4f
-	db "secret retreat!", $51
-	db "Please don't tell", $4f
-	db "anyone I'm here.", $55
-	db "I'll make it up", $55
-	db "to you with this!", $58
-; 0x8ce02 + 100 bytes
-
-_ReceivedHM02Text: ; 0x8ce66
-	db $0, $52, " received", $4f
-	db "HM02!@@"
-; 0x8ce66 + 19 bytes
-
-_HM02ExplanationText: ; 0x8ce79
-	db $0, "HM02 is FLY.", $4f
-	db "It will take you", $55
-	db "back to any town.", $51
-	db "Put it to good", $4f
-	db "use!", $57
-; 0x8ce79 + 69 bytes
-
-_HM02NoRoomText: ; 0x8cebe
-	db $0, "You don't have any", $4f
-	db "room for this.", $57
-; 0x8cebe + 34 bytes
-
-_UnnamedText_1e652: ; 0x8cee0
-	db $0, "FEAROW: Kyueen!", $57
-; 0x8cee0 + 17 bytes
-
-_UnnamedText_49928: ; 0x8cef1
-	db $0, "You need a BICYCLE", $4f
-	db "for CYCLING ROAD!", $57
-; 0x8cef1 + 38 bytes
-
-_UnnamedText_4992d: ; 0x8cf17
-	db $0, "CYCLING ROAD is", $4f
-	db "all uphill from", $55
-	db "here.", $57
-; 0x8cf17 + 39 bytes
-
-_UnnamedText_49932: ; 0x8cf3e
-	db $0, "Excuse me!", $57
-; 0x8cf3e + 12 bytes
-
-_UnnamedText_49993: ; 0x8cf4a
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "PALLET TOWN is in", $4f
-	db "the west!", $57
-; 0x8cf4a + 57 bytes
-
-_UnnamedText_4999f: ; 0x8cf83
-	db $0, "Looked into the", $4f
-	db "binoculars.", $51
-	db "There are people", $4f
-	db "swimming!", $57
-; 0x8cf83 + 56 bytes
-
-_UnnamedText_1e704: ; 0x8cfbb
-	db $0, "Only truly skilled", $4f
-	db "trainers are", $55
-	db "allowed through.", $51
-	db "You don't have the", $4f
-	db "BOULDERBADGE yet!@@"
-; 0x8d012
-
-_UnnamedText_1e715: ; 0x8d012
-	db $0, $51
-	db "The rules are", $4f
-	db "rules. I can't", $55
-	db "let you pass.", $57
-; 0x8d012 + 44 bytes
-
-_UnnamedText_1e71a: ; 0x8d03e
-	db $0, "Oh! That is the", $4f
-	db "BOULDERBADGE!", $55
-	db "Go right ahead!@@"
-; 0x8d03e + 48 bytes
-
-_UnnamedText_518ba: ; 0x8d06e
-	db $0, "Gyaoo!@@"
-; 0x8d06e + 9 bytes
-
-_UnnamedText_518ca: ; 0x8d077
-	db $0, "VICTORY ROAD is", $4f
-	db "the final test", $55
-	db "for trainers!", $57
-; 0x8d077 + 46 bytes
-
-_UnnamedText_518cf: ; 0x8d0a5
-	db $0, "Aiyah!", $58
-; 0x8d0a5 + 8 bytes
-
-_UnnamedText_518d4: ; 0x8d0ad
-	db $0, "If you get stuck,", $4f
-	db "try moving some", $55
-	db "boulders around!", $57
-; 0x8d0ad + 52 bytes
-
-_UnnamedText_518d9: ; 0x8d0e1
-	db $0, "Ah, so you wish", $4f
-	db "to challenge the", $55
-	db "ELITE FOUR?", $57
-; 0x8d0e1 + 46 bytes
-
-_UnnamedText_518de: ; 0x8d10f
-	db $0, "You", $4f
-	db "got me!", $58
-; 0x8d10f + 13 bytes
-
-_UnnamedText_518e3: ; 0x8d11c
-	db $0, $53, " also came", $4f
-	db "through here!", $57
-; 0x8d11c + 27 bytes
-
-_UnnamedText_518e8: ; 0x8d137
-	db $0, "Come on!", $4f
-	db "I'll whip you!", $57
-; 0x8d137 + 24 bytes
-
-_UnnamedText_518ed: ; 0x8d14f
-	db $0, "I got", $4f
-	db "whipped!", $58
-; 0x8d14f + 16 bytes
-
-_UnnamedText_518f2: ; 0x8d15f
-	db $0, "You earned the", $4f
-	db "right to be on", $55
-	db "VICTORY ROAD!", $57
-; 0x8d15f + 45 bytes
-
-_UnnamedText_518f7: ; 0x8d18c
-	db $0, "If you can get", $4f
-	db "through here, you", $55
-	db "can go meet the", $55
-	db "ELITE FOUR!", $57
-; 0x8d18c + 62 bytes
-
-_UnnamedText_518fc: ; 0x8d1ca
-	db $0, "No!", $4f
-	db "Unbelievable!", $58
-; 0x8d1ca + 19 bytes
-
-_UnnamedText_51901: ; 0x8d1dd
-	db $0, "I can beat you", $4f
-	db "when it comes to", $55
-	db "knowledge about", $55
-	db "#MON!", $57
-; 0x8d1dd + 55 bytes
-
-_UnnamedText_51906: ; 0x8d214
-	db $0, "Is VICTORY ROAD", $4f
-	db "too tough?", $57
-; 0x8d214 + 28 bytes
-
-_UnnamedText_5190b: ; 0x8d230
-	db $0, "Well", $4f
-	db "done!", $58
-; 0x8d230 + 12 bytes
-
-_UnnamedText_51910: ; 0x8d23c
-	db $0, "Many trainers give", $4f
-	db "up the challenge", $55
-	db "here.", $57
-; 0x8d23c + 43 bytes
-
-_UnnamedText_1e865: ; 0x8d267
-	db $0, "Hiya! I'm a", $4f
-	db "#MON...", $55
-	db "...No I'm not!", $51
-	db "Call me BILL!", $4f
-	db "I'm a true blue", $55
-	db "#MANIAC! Hey!", $55
-	db "What's with that", $55
-	db "skeptical look?", $51
-	db "I'm not joshing", $4f
-	db "you, I screwed up", $55
-	db "an experiment and", $55
-	db "got combined with", $55
-	db "a #MON!", $51
-	db "So, how about it?", $4f
-	db "Help me out here!", $57
-; 0x8d267 + 222 bytes
-
-_UnnamedText_1e86a: ; 0x8d345
-	db $0, "When I'm in the", $4f
-	db "TELEPORTER, go to", $55
-	db "my PC and run the", $55
-	db "Cell Separation", $55
-	db "System!", $57
-; 0x8d345 + 76 bytes
-
-_UnnamedText_1e86f: ; 0x8d391
-	db $0, "No!? Come on, you", $4f
-	db "gotta help a guy", $55
-	db "in deep trouble!", $51
-	db "What do you say,", $4f
-	db "chief? Please?", $55
-	db "OK? All right!", $58
-; 0x8d391 + 100 bytes
-
-_BillThankYouText: ; 0x8d3f5
-	db $0, "BILL: Yeehah!", $4f
-	db "Thanks, bud! I", $55
-	db "owe you one!", $51
-	db "So, did you come", $4f
-	db "to see my #MON", $55
-	db "collection?", $55
-	db "You didn't?", $55
-	db "That's a bummer.", $51
-	db "I've got to thank", $4f
-	db "you... Oh here,", $55
-	db "maybe this'll do.", $58
-; 0x8d3f5 + 164 bytes
-
-_SSTicketReceivedText: ; 0x8d499
-	db $0, $52, " received", $4f
-	db "an @"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x8d4b0
-
-_SSTicketNoRoomText: ; 0x8d4b0
-	db $0, "You've got too", $4f
-	db "much stuff, bud!", $57
-; 0x8d4b0 + 32 bytes
-
-_UnnamedText_1e8cb: ; 0x8d4d0
-	db $0, "That cruise ship,", $4f
-	db "S.S.ANNE, is in", $55
-	db "VERMILION CITY.", $55
-	db "Its passengers", $55
-	db "are all trainers!", $51
-	db "They invited me", $4f
-	db "to their party,", $55
-	db "but I can't stand", $55
-	db "fancy do's. Why", $55
-	db "don't you go", $55
-	db "instead of me?", $57
-; 0x8d4d0 + 175 bytes
-
-_UnnamedText_1e8da: ; 0x8d57f
-	db $0, "BILL: Look, bud,", $4f
-	db "just check out", $55
-	db "some of my rare", $55
-	db "#MON on my PC!", $57
-; 0x8d57f + 64 bytes
-
-_Route1ViridianMartSampleText: ; 0x8d5bf
-	db $0, "Hi! I work at a", $4f
-	db "#MON MART.", $51
-	db "It's a convenient", $4f
-	db "shop, so please", $55
-	db "visit us in", $55
-	db "VIRIDIAN CITY.", $51
-	db "I know, I'll give", $4f
-	db "you a sample!", $55
-	db "Here you go!", $58
-; 0x8d5bf + 132 bytes
-
-UnknownText_8d643: ; 0x8d643
-	db $0, $52, " got", $4f
-	db "@"
-; 0x8d643 + 8 bytes
-
-UnknownText_8d64b: ; 0x8d64b
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x8d64b + 7 bytes
-
-_UnnamedText_1caee: ; 0x8d652
-	db $0, "We also carry", $4f
-	db "# BALLs for", $55
-	db "catching #MON!", $57
-; 0x8d652 + 42 bytes
-
-_UnnamedText_1caf3: ; 0x8d67c
-	db $0, "You have too much", $4f
-	db "stuff with you!", $57
-; 0x8d67c + 35 bytes
-
-_Route1Text2: ; 0x8d69f
-	db $0, "See those ledges", $4f
-	db "along the road?", $51
-	db "It's a bit scary,", $4f
-	db "but you can jump", $55
-	db "from them.", $51
-	db "You can get back", $4f
-	db "to PALLET TOWN", $55
-	db "quicker that way.", $57
-
-_Route1Text3: ; 0x8d720
-	db $0, "ROUTE 1", $4f
-	db "PALLET TOWN -", $55
-	db "VIRIDIAN CITY", $57
-
-_Route2Text3: ; 0x8d745
-	db $0, "ROUTE 2", $4f
-	db "VIRIDIAN CITY -", $55
-	db "PEWTER CITY", $57
-
-_Route2Text4: ; 0x8d76a
-	db $0, "DIGLETT's CAVE", $57
-
-_Route3Text1: ; 0x8d779
-	db $0, "Whew... I better", $4f
-	db "take a rest...", $55
-	db "Groan...", $51
-	db "That tunnel from", $4f
-	db "CERULEAN takes a", $55
-	db "lot out of you!", $57
-
-_UnnamedText_55595: ; 0x8d7d5
-	db $0, "Hey! I met you in", $4f
-	db "VIRIDIAN FOREST!", $57
-; 0x8d7d5 + 36 bytes
-
-_UnnamedText_5559a: ; 0x8d7f9
-	db $0, "You", $4f
-	db "beat me again!", $58
-; 0x8d7f9 + 20 bytes
-
-_UnnamedText_5559f: ; 0x8d80d
-	db $0, "There are other", $4f
-	db "kinds of #MON", $55
-	db "than those found", $55
-	db "in the forest!", $57
-; 0x8d80d + 63 bytes
-
-_UnnamedText_555ae: ; 0x8d84c
-	db $0, "Hi! I like shorts!", $4f
-	db "They're comfy and", $55
-	db "easy to wear!", $57
-; 0x8d84c + 51 bytes
-
-_UnnamedText_555b3: ; 0x8d87f
-	db $0, "I don't", $4f
-	db "believe it!", $58
-; 0x8d87f + 20 bytes
-
-_UnnamedText_555b8: ; 0x8d893
-	db $0, "Are you storing", $4f
-	db "your #MON on", $55
-	db "PC? Each BOX can", $55
-	db "hold 20 #MON!", $57
-; 0x8d893 + 61 bytes
-
-_UnnamedText_555c7: ; 0x8d8d0
-	db $0, "You looked at me,", $4f
-	db "didn't you?", $57
-; 0x8d8d0 + 30 bytes
-
-_UnnamedText_555cc: ; 0x8d8ee
-	db $0, "You're", $4f
-	db "mean!", $58
-; 0x8d8ee + 13 bytes
-
-_UnnamedText_555d1: ; 0x8d8fb
-	db $0, "Quit staring if", $4f
-	db "you don't want to", $55
-	db "fight!", $57
-; 0x8d8fb + 41 bytes
-
-_UnnamedText_555e0: ; 0x8d924
-	db $0, "Are you a trainer?", $4f
-	db "Let's fight!", $57
-; 0x8d924 + 32 bytes
-
-_UnnamedText_555e5: ; 0x8d944
-	db $0, "If I", $4f
-	db "had new #MON I", $55
-	db "would've won!", $58
-; 0x8d944 + 34 bytes
-
-_UnnamedText_555ea: ; 0x8d966
-	db $0, "If a #MON BOX", $4f
-	db "on the PC gets", $55
-	db "full, just switch", $55
-	db "to another BOX!", $57
-; 0x8d966 + 64 bytes
-
-_UnnamedText_555f9: ; 0x8d9a6
-	db $0, "That look you", $4f
-	db "gave me, it's so", $55
-	db "intriguing!", $57
-; 0x8d9a6 + 43 bytes
-
-_UnnamedText_555fe: ; 0x8d9d1
-	db $0, "Be nice!", $58
-; 0x8d9d1 + 10 bytes
-
-_UnnamedText_55603: ; 0x8d9db
-	db $0, "Avoid fights by", $4f
-	db "not letting", $55
-	db "people see you!", $57
-; 0x8d9db + 45 bytes
-
-_UnnamedText_55612: ; 0x8da08
-	db $0, "Hey! You're not", $4f
-	db "wearing shorts!", $57
-; 0x8da08 + 32 bytes
-
-_UnnamedText_55617: ; 0x8da28
-	db $0, "Lost!", $4f
-	db "Lost! Lost!", $58
-; 0x8da28 + 19 bytes
-
-_UnnamedText_5561c: ; 0x8da3b
-	db $0, "I always wear", $4f
-	db "shorts, even in", $55
-	db "winter!", $57
-; 0x8da3b + 39 bytes
-
-_UnnamedText_5562b: ; 0x8da62
-	db $0, "You can fight my", $4f
-	db "new #MON!", $57
-; 0x8da62 + 28 bytes
-
-_UnnamedText_55630: ; 0x8da7e
-	db $0, "Done", $4f
-	db "like dinner!", $58
-; 0x8da7e + 19 bytes
-
-_UnnamedText_55635: ; 0x8da91
-	db $0, "Trained #MON", $4f
-	db "are stronger than", $55
-	db "the wild ones!", $57
-; 0x8da91 + 47 bytes
-
-_UnnamedText_55644: ; 0x8dac0
-	db $0, "Eek! Did you", $4f
-	db "touch me?", $57
-; 0x8dac0 + 24 bytes
-
-_UnnamedText_55649: ; 0x8dad8
-	db $0, "That's it?", $58
-; 0x8dad8 + 11 bytes
-
-_UnnamedText_5564e: ; 0x8dae3
-	db $0, "ROUTE 4 is at the", $4f
-	db "foot of MT.MOON.", $57
-; 0x8dae3 + 36 bytes
-
-_Route3Text10: ; 0x8db07
-	db $0, "ROUTE 3", $4f
-	db "MT.MOON AHEAD", $57
-
-_Route4Text1: ; 0x8db1e
-	db $0, "Ouch! I tripped", $4f
-	db "over a rocky", $55
-	db "#MON, GEODUDE!", $57
-
-_UnnamedText_55699: ; 0x8db4b
-	db $0, "I came to get my", $4f
-	db "mushroom #MON!", $57
-; 0x8db4b + 33 bytes
-
-_UnnamedText_5569e: ; 0x8db6c
-	db $0, "Oh! My cute", $4f
-	db "mushroom #MON!", $58
-; 0x8db6c + 28 bytes
-
-_UnnamedText_556a3: ; 0x8db88
-	db $0, "There might not", $4f
-	db "be any more", $55
-	db "mushrooms here.", $51
-	db "I think I got", $4f
-	db "them all.", $57
-; 0x8db88 + 69 bytes
-
-_Route4Text5: ; 0x8dbcd
-	db $0, "MT.MOON", $4f
-	db "Tunnel Entrance", $57
-
-_Route4Text6: ; 0x8dbe6
-	db $0, "ROUTE 4", $4f
-	db "MT.MOON -", $55
-	db "CERULEAN CITY", $57
-
-_Route5Text1: ; 0x8dc07
-	db $0, "UNDERGROUND PATH", $4f
-	db "CERULEAN CITY -", $55
-	db "VERMILION CITY", $57
-
-_UnnamedText_5912a: ; 0x8dc38
-	db $0, "Who's there?", $4f
-	db "Quit listening in", $55
-	db "on us!", $57
-; 0x8dc38 + 38 bytes
-
-_UnnamedText_5912f: ; 0x8dc5e
-	db $0, "I", $4f
-	db "just can't win!", $58
-; 0x8dc5e + 18 bytes
-
-_UnnamedText_59134: ; 0x8dc70
-	db $0, "Whisper...", $4f
-	db "whisper...", $57
-; 0x8dc70 + 23 bytes
-
-_UnnamedText_59143: ; 0x8dc87
-	db $0, "Excuse me! This", $4f
-	db "is a private", $55
-	db "conversation!", $57
-; 0x8dc87 + 44 bytes
-
-_UnnamedText_59148: ; 0x8dcb3
-	db $0, "Ugh!", $4f
-	db "I hate losing!", $58
-; 0x8dcb3 + 21 bytes
-
-_UnnamedText_59157: ; 0x8dcc8
-	db $0, "There aren't many", $4f
-	db "bugs out here.", $57
-; 0x8dcc8 + 33 bytes
-
-_UnnamedText_5915c: ; 0x8dce9
-	db $0, "No!", $4f
-	db "You're kidding!", $58
-; 0x8dce9 + 20 bytes
-
-_UnnamedText_59161: ; 0x8dcfd
-	db $0, "I like bugs, so", $4f
-	db "I'm going back to", $55
-	db "VIRIDIAN FOREST.", $57
-; 0x8dcfd + 51 bytes
-
-_UnnamedText_59170: ; 0x8dd30
-	db $0, "Huh? You want", $4f
-	db "to talk to me?", $57
-; 0x8dd30 + 30 bytes
-
-_UnnamedText_59175: ; 0x8dd4e
-	db $0, "I", $4f
-	db "didn't start it!", $58
-; 0x8dd4e + 19 bytes
-
-_UnnamedText_5917a: ; 0x8dd61
-	db $0, "I should carry", $4f
-	db "more #MON with", $55
-	db "me for safety.", $57
-; 0x8dd61 + 46 bytes
-
-_UnnamedText_59189: ; 0x8dd8f
-	db $0, "Me? Well, OK.", $4f
-	db "I'll play!", $57
-; 0x8dd8f + 25 bytes
-
-_UnnamedText_5918e: ; 0x8dda8
-	db $0, "Just", $4f
-	db "didn't work!", $58
-; 0x8dda8 + 18 bytes
-
-_UnnamedText_59193: ; 0x8ddba
-	db $0, "I want to get", $4f
-	db "stronger! What's", $55
-	db "your secret?", $57
-; 0x8ddba + 44 bytes
-
-_UnnamedText_591a2: ; 0x8dde6
-	db $0, "I've never seen", $4f
-	db "you around!", $55
-	db "Are you good?", $57
-; 0x8dde6 + 42 bytes
-
-_UnnamedText_591a7: ; 0x8de10
-	db $0, "You", $4f
-	db "are too good!", $58
-; 0x8de10 + 19 bytes
-
-_UnnamedText_591ac: ; 0x8de23
-	db $0, "Are my #MON", $4f
-	db "weak? Or, am I", $55
-	db "just bad?", $57
-; 0x8de23 + 38 bytes
-
-_Route6Text7: ; 0x8de49
-	db $0, "UNDERGROUND PATH", $4f
-	db "CERULEAN CITY -", $55
-	db "VERMILION CITY", $57
-
-_Route7Text1: ; 0x8de7a
-	db $0, "UNDERGROUND PATH", $4f
-	db "CELADON CITY -", $55
-	db "LAVENDER TOWN", $57
-
-_UnnamedText_5925a: ; 0x8dea9
-	db $0, "You look good at", $4f
-	db "#MON, but", $55
-	db "how's your chem?", $57
-; 0x8dea9 + 44 bytes
-
-_UnnamedText_5925f: ; 0x8ded5
-	db $0, "Ow!", $4f
-	db "Meltdown!", $58
-; 0x8ded5 + 15 bytes
-
-_UnnamedText_59264: ; 0x8dee4
-	db $0, "I am better at", $4f
-	db "school than this!", $57
-; 0x8dee4 + 34 bytes
-
-_UnnamedText_59273: ; 0x8df06
-	db $0, "All right! Let's", $4f
-	db "roll the dice!", $57
-; 0x8df06 + 32 bytes
-
-_UnnamedText_59278: ; 0x8df26
-	db $0, "Drat!", $4f
-	db "Came up short!", $58
-; 0x8df26 + 22 bytes
-
-_UnnamedText_5927d: ; 0x8df3c
-	db $0, "Lady Luck's not", $4f
-	db "with me today!", $57
-; 0x8df3c + 31 bytes
-
-_UnnamedText_5928c: ; 0x8df5b
-	db $0, "You need strategy", $4f
-	db "to win at this!", $57
-; 0x8df5b + 35 bytes
-
-_UnnamedText_59291: ; 0x8df7e
-	db $0, "It's", $4f
-	db "not logical!", $58
-; 0x8df7e + 18 bytes
-
-_UnnamedText_59296: ; 0x8df90
-	db $0, "Go with GRIMER", $4f
-	db "first...and...", $55
-	db "...and...then...", $57
-; 0x8df90 + 48 bytes
-
-_UnnamedText_592a5: ; 0x8dfc0
-	db $0, "I like NIDORAN, so", $4f
-	db "I collect them!", $57
-; 0x8dfc0 + 36 bytes
-
-_UnnamedText_592aa: ; 0x8dfe4
-	db $0, "Why? Why??", $58
-; 0x8dfe4 + 12 bytes
-
-_UnnamedText_592af: ; 0x8dff0
-	db $0, "When #MON grow", $4f
-	db "up they get ugly!", $55
-	db "They shouldn't", $55
-	db "evolve!", $57
-; 0x8dff0 + 56 bytes
-
-_UnnamedText_592be: ; 0x8e028
-	db $0, "School is fun, but", $4f
-	db "so are #MON.", $57
-; 0x8e028 + 33 bytes
-
-_UnnamedText_592c3: ; 0x8e049
-	db $0, "I'll", $4f
-	db "stay with school.", $58
-; 0x8e049 + 23 bytes
-
-_UnnamedText_592c8: ; 0x8e060
-	db $0, "We're stuck here", $4f
-	db "because of the", $55
-	db "gates at SAFFRON.", $57
-; 0x8e060 + 50 bytes
-
-_UnnamedText_592d7: ; 0x8e092
-	db $0, "MEOWTH is so cute,", $4f
-	db "meow, meow, meow!", $57
-; 0x8e092 + 38 bytes
-
-_UnnamedText_592dc: ; 0x8e0b8
-	db $0, "Meow!", $58
-; 0x8e0b8 + 7 bytes
-
-_UnnamedText_592e1: ; 0x8e0bf
-	db $0, "I think PIDGEY", $4f
-	db "and RATTATA", $55
-	db "are cute too!", $57
-; 0x8e0bf + 42 bytes
-
-_UnnamedText_592f0: ; 0x8e0e9
-	db $0, "We must look", $4f
-	db "silly standing", $55
-	db "here like this!", $57
-; 0x8e0e9 + 45 bytes
-
-_UnnamedText_592f5: ; 0x8e116
-	db $0, "Look what", $4f
-	db "you did!", $58
-; 0x8e116 + 20 bytes
-
-_UnnamedText_592fa: ; 0x8e12a
-	db $0, "SAFFRON's gate", $4f
-	db "keeper won't let", $55
-	db "us through.", $55
-	db "He's so mean!", $57
-; 0x8e12a + 56 bytes
-
-_UnnamedText_59309: ; 0x8e162
-	db $0, "I'm a rambling,", $4f
-	db "gambling dude!", $57
-; 0x8e162 + 31 bytes
-
-_UnnamedText_5930e: ; 0x8e181
-	db $0, "Missed", $4f
-	db "the big score!", $58
-; 0x8e181 + 23 bytes
-
-_UnnamedText_59313: ; 0x8e198
-	db $0, "Gambling and", $4f
-	db "#MON are like", $55
-	db "eating peanuts!", $55
-	db "Just can't stop!", $57
-; 0x8e198 + 60 bytes
-
-_UnnamedText_59322: ; 0x8e1d4
-	db $0, "What's a cute,", $4f
-	db "round and fluffy", $55
-	db "#MON?", $57
-; 0x8e1d4 + 38 bytes
-
-_UnnamedText_59327: ; 0x8e1fa
-	db $0, "Stop!", $51
-	db "Don't be so mean", $4f
-	db "to my CLEFAIRY!", $58
-; 0x8e1fa + 39 bytes
-
-_UnnamedText_5932c: ; 0x8e221
-	db $0, "I heard that", $4f
-	db "CLEFAIRY evolves", $55
-	db "when it's exposed", $55
-	db "to a MOON STONE.", $57
-; 0x8e221 + 65 bytes
-
-_Route8Text10: ; 0x8e262
-	db $0, "UNDERGROUND PATH", $4f
-	db "CELADON CITY -", $55
-	db "LAVENDER TOWN", $57
-
-_UnnamedText_55792: ; 0x8e291
-	db $0, "You have #MON", $4f
-	db "with you!", $55
-	db "You're mine!", $57
-; 0x8e291 + 37 bytes
-
-_UnnamedText_55797: ; 0x8e2b6
-	db $0, "You", $4f
-	db "deceived me!", $58
-; 0x8e2b6 + 18 bytes
-
-_UnnamedText_5579c: ; 0x8e2c8
-	db $0, "You need light to", $4f
-	db "get through that", $55
-	db "dark tunnel ahead.", $57
-; 0x8e2c8 + 55 bytes
-
-_UnnamedText_557a1: ; 0x8e2ff
-	db $0, "Who's that walking", $4f
-	db "with those good", $55
-	db "looking #MON?", $57
-; 0x8e2ff + 49 bytes
-
-_UnnamedText_557a6: ; 0x8e330
-	db $0, "Out", $4f
-	db "like a light!", $58
-; 0x8e330 + 19 bytes
-
-_UnnamedText_557ab: ; 0x8e343
-	db $0, "Keep walking!", $57
-; 0x8e343 + 15 bytes
-
-_UnnamedText_557b0: ; 0x8e352
-	db $0, "I'm taking ROCK", $4f
-	db "TUNNEL to go to", $55
-	db "LAVENDER...", $57
-; 0x8e352 + 44 bytes
-
-_UnnamedText_557b5: ; 0x8e37e
-	db $0, "Can't", $4f
-	db "measure up!", $58
-; 0x8e37e + 18 bytes
-
-_UnnamedText_557ba: ; 0x8e390
-	db $0, "Are you off to", $4f
-	db "ROCK TUNNEL too?", $57
-; 0x8e390 + 33 bytes
-
-_UnnamedText_557bf: ; 0x8e3b1
-	db $0, "Don't you dare", $4f
-	db "condescend me!", $57
-; 0x8e3b1 + 30 bytes
-
-_UnnamedText_557c4: ; 0x8e3cf
-	db $0, "No!", $4f
-	db "You're too much!", $58
-; 0x8e3cf + 21 bytes
-
-_UnnamedText_557c9: ; 0x8e3e4
-	db $0, "You're obviously", $4f
-	db "talented! Good", $55
-	db "luck to you!", $57
-; 0x8e3e4 + 45 bytes
-
-_UnnamedText_557ce: ; 0x8e411
-	db $0, "Bwahaha!", $4f
-	db "Great! I was", $55
-	db "bored, eh!", $57
-; 0x8e411 + 34 bytes
-
-_UnnamedText_557d3: ; 0x8e433
-	db $0, "Keep it", $4f
-	db "coming, eh!", $51
-	db "Oh wait. I'm out", $4f
-	db "of #MON!", $58
-; 0x8e433 + 46 bytes
-
-_UnnamedText_557d8: ; 0x8e461
-	db $0, "You sure had guts", $4f
-	db "standing up to me", $55
-	db "there, eh?", $57
-; 0x8e461 + 48 bytes
-
-_UnnamedText_557dd: ; 0x8e491
-	db $0, "Hahaha!", $4f
-	db "Aren't you a", $55
-	db "little toughie!", $57
-; 0x8e491 + 37 bytes
-
-_UnnamedText_557e2: ; 0x8e4b6
-	db $0, "What's", $4f
-	db "that?", $58
-; 0x8e4b6 + 13 bytes
-
-_UnnamedText_557e7: ; 0x8e4c3
-	db $0, "Hahaha! Kids", $4f
-	db "should be tough!", $57
-; 0x8e4c3 + 31 bytes
-
-_UnnamedText_557ec: ; 0x8e4e2
-	db $0, "I got up early", $4f
-	db "every day to", $55
-	db "raise my #MON", $55
-	db "from cocoons!", $57
-; 0x8e4e2 + 57 bytes
-
-_UnnamedText_557f1: ; 0x8e51b
-	db $0, "WHAT?", $51
-	db "What a total", $4f
-	db "waste of time!", $58
-; 0x8e51b + 35 bytes
-
-_UnnamedText_557f6: ; 0x8e53e
-	db $0, "I have to collect", $4f
-	db "more than bugs to", $55
-	db "get stronger...", $57
-; 0x8e53e + 53 bytes
-
-_UnnamedText_557fb: ; 0x8e573
-	db $0, "Hahahaha!", $4f
-	db "Come on, dude!", $57
-; 0x8e573 + 26 bytes
-
-_UnnamedText_55800: ; 0x8e58d
-	db $0, "Hahahaha!", $4f
-	db "You beat me fair!", $58
-; 0x8e58d + 29 bytes
-
-_UnnamedText_55805: ; 0x8e5aa
-	db $0, "Hahahaha!", $4f
-	db "Us hearty guys", $55
-	db "always laugh!", $57
-; 0x8e5aa + 40 bytes
-
-_UnnamedText_5580a: ; 0x8e5d2
-	db $0, "Go, my super bug", $4f
-	db "#MON!", $57
-; 0x8e5d2 + 24 bytes
-
-_UnnamedText_5580f: ; 0x8e5ea
-	db $0, "My", $4f
-	db "bugs...", $58
-; 0x8e5ea + 12 bytes
-
-_UnnamedText_55814: ; 0x8e5f6
-	db $0, "If you don't like", $4f
-	db "bug #MON, you", $55
-	db "bug me!", $57
-; 0x8e5f6 + 40 bytes
-
-_Route9Text11: ; 0x8e61e
-	db $0, "ROUTE 9", $4f
-	db "CERULEAN CITY-", $55
-	db "ROCK TUNNEL", $57
-
-_UnnamedText_593b6: ; 0x8e642
-	db $0, "Wow, are you a", $4f
-	db "#MANIAC too?", $55
-	db "Want to see my", $55
-	db "collection?", $57
-; 0x8e642 + 56 bytes
-
-_UnnamedText_593bb: ; 0x8e67a
-	db $0, "Humph.", $4f
-	db "I'm not angry!", $58
-; 0x8e67a + 22 bytes
-
-_UnnamedText_593c0: ; 0x8e690
-	db $0, "I have more rare", $4f
-	db "#MON at home!", $57
-; 0x8e690 + 32 bytes
-
-_UnnamedText_593cf: ; 0x8e6b0
-	db $0, "Ha-hahah-ah-ha!", $57
-; 0x8e6b0 + 17 bytes
-
-_UnnamedText_593d4: ; 0x8e6c1
-	db $0, "Ha-haha!", $4f
-	db "Not laughing!", $55
-	db "Ha-hay fever!", $55
-	db "Haha-ha-choo!", $58
-; 0x8e6c1 + 52 bytes
-
-_UnnamedText_593d9: ; 0x8e6f5
-	db $0, "Haha-ha-choo!", $4f
-	db "Ha-choo!", $55
-	db "Snort! Snivel!", $57
-; 0x8e6f5 + 39 bytes
-
-_UnnamedText_593e8: ; 0x8e71c
-	db $0, "Hi kid, want to", $4f
-	db "see my #MON?", $57
-; 0x8e71c + 30 bytes
-
-_UnnamedText_593ed: ; 0x8e73a
-	db $0, "Oh no!", $4f
-	db "My #MON!", $58
-; 0x8e73a + 17 bytes
-
-_UnnamedText_593f2: ; 0x8e74b
-	db $0, "I don't like you", $4f
-	db "for beating me!", $57
-; 0x8e74b + 33 bytes
-
-_UnnamedText_59401: ; 0x8e76c
-	db $0, "I've been to a", $4f
-	db "#MON GYM a few", $55
-	db "times. But, I", $55
-	db "lost each time.", $57
-; 0x8e76c + 60 bytes
-
-_UnnamedText_59406: ; 0x8e7a8
-	db $0, "Ohh!", $4f
-	db "Blew it again!", $58
-; 0x8e7a8 + 21 bytes
-
-_UnnamedText_5940b: ; 0x8e7bd
-	db $0, "I noticed some", $4f
-	db "#MANIACs", $55
-	db "prowling around.", $57
-; 0x8e7bd + 42 bytes
-
-_UnnamedText_5941a: ; 0x8e7e7
-	db $0, "Ah! This mountain", $4f
-	db "air is delicious!", $57
-; 0x8e7e7 + 37 bytes
-
-_UnnamedText_5941f: ; 0x8e80c
-	db $0, "That", $4f
-	db "cleared my head!", $58
-; 0x8e80c + 23 bytes
-
-_UnnamedText_59424: ; 0x8e823
-	db $0, "I feel bloated on", $4f
-	db "mountain air!", $57
-; 0x8e823 + 33 bytes
-
-_UnnamedText_59433: ; 0x8e844
-	db $0, "I'm feeling a bit", $4f
-	db "faint from this", $55
-	db "tough hike.", $57
-; 0x8e844 + 46 bytes
-
-_UnnamedText_59438: ; 0x8e872
-	db $0, "I'm", $4f
-	db "not up to it!", $58
-; 0x8e872 + 18 bytes
-
-_UnnamedText_5943d: ; 0x8e884
-	db $0, "The #MON here", $4f
-	db "are so chunky!", $55
-	db "There should be a", $55
-	db "pink one with a", $55
-	db "floral pattern!", $57
-; 0x8e884 + 80 bytes
-
-_Route10Text9: ; 0x8e8d4
-_Route10Text7: ; 0x8e8d4
-	db $0, "ROCK TUNNEL", $57
-
-_Route10Text10: ; 0x8e8e1
-	db $0, "POWER PLANT", $57
-
-_UnnamedText_594fe: ; 0x8e8ee
-	db $0, "Win, lose or draw!", $57
-; 0x8e8ee + 20 bytes
-
-_UnnamedText_59503: ; 0x8e902
-	db $0, "Atcha!", $4f
-	db "Didn't go my way!", $58
-; 0x8e902 + 25 bytes
-
-_UnnamedText_59508: ; 0x8e91b
-	db $0, "#MON is life!", $4f
-	db "And to live is to", $55
-	db "gamble!", $57
-; 0x8e91b + 41 bytes
-
-_UnnamedText_59517: ; 0x8e944
-	db $0, "Competition! I", $4f
-	db "can't get enough!", $57
-; 0x8e944 + 33 bytes
-
-_UnnamedText_5951c: ; 0x8e965
-	db $0, "I had", $4f
-	db "a chance!", $58
-; 0x8e965 + 17 bytes
-
-_UnnamedText_59521: ; 0x8e976
-	db $0, "You can't be a", $4f
-	db "coward in the", $55
-	db "world of #MON!", $57
-; 0x8e976 + 44 bytes
-
-_UnnamedText_59530: ; 0x8e9a2
-	db $0, "Let's go, but", $4f
-	db "don't cheat!", $57
-; 0x8e9a2 + 26 bytes
-
-_UnnamedText_59535: ; 0x8e9bc
-	db $0, "Huh?", $4f
-	db "That's not right!", $58
-; 0x8e9bc + 23 bytes
-
-_UnnamedText_5953a: ; 0x8e9d3
-	db $0, "I did my best! I", $4f
-	db "have no regrets!", $57
-; 0x8e9d3 + 35 bytes
-
-_UnnamedText_59549: ; 0x8e9f6
-	db $0, "Careful!", $4f
-	db "I'm laying down", $55
-	db "some cables!", $57
-; 0x8e9f6 + 38 bytes
-
-_UnnamedText_5954e: ; 0x8ea1c
-	db $0, "That", $4f
-	db "was electric!", $58
-; 0x8ea1c + 20 bytes
-
-_UnnamedText_59553: ; 0x8ea30
-	db $0, "Spread the word", $4f
-	db "to save energy!", $57
-; 0x8ea30 + 33 bytes
-
-_UnnamedText_59562: ; 0x8ea51
-	db $0, "I just became a", $4f
-	db "trainer! But, I", $55
-	db "think I can win!", $57
-; 0x8ea51 + 50 bytes
-
-_UnnamedText_59567: ; 0x8ea83
-	db $0, "My", $4f
-	db "#MON couldn't!", $58
-; 0x8ea83 + 18 bytes
-
-_UnnamedText_5956c: ; 0x8ea95
-	db $0, "What do you want?", $4f
-	db "Leave me alone!", $57
-; 0x8ea95 + 35 bytes
-
-_UnnamedText_5957b: ; 0x8eab8
-	db $0, "Fwahaha! I have", $4f
-	db "never lost!", $57
-; 0x8eab8 + 29 bytes
-
-_UnnamedText_59580: ; 0x8ead5
-	db $0, "My", $4f
-	db "first loss!", $58
-; 0x8ead5 + 16 bytes
-
-_UnnamedText_59585: ; 0x8eae5
-	db $0, "Luck of the draw!", $4f
-	db "Just luck!", $57
-; 0x8eae5 + 30 bytes
-
-_UnnamedText_59594: ; 0x8eb03
-	db $0, "I have never won", $4f
-	db "before...", $57
-; 0x8eb03 + 28 bytes
-
-_UnnamedText_59599: ; 0x8eb1f
-	db $0, "I saw", $4f
-	db "this coming...", $58
-; 0x8eb1f + 22 bytes
-
-_UnnamedText_5959e: ; 0x8eb35
-	db $0, "It's just luck.", $4f
-	db "Luck of the draw.", $57
-; 0x8eb35 + 34 bytes
-
-_UnnamedText_595ad: ; 0x8eb57
-	db $0, "I'm the best in", $4f
-	db "my class!", $57
-; 0x8eb57 + 26 bytes
-
-_UnnamedText_595b2: ; 0x8eb71
-	db $0, "Darn!", $4f
-	db "I need to make my", $55
-	db "#MON stronger!", $58
-; 0x8eb71 + 40 bytes
-
-_UnnamedText_595b7: ; 0x8eb99
-	db $0, "There's a fat", $4f
-	db "#MON that", $55
-	db "comes down from", $55
-	db "the mountains.", $51
-	db "It's strong if", $4f
-	db "you can get it.", $57
-; 0x8eb99 + 85 bytes
-
-_UnnamedText_595c6: ; 0x8ebee
-	db $0, "Watch out for", $4f
-	db "live wires!", $57
-; 0x8ebee + 27 bytes
-
-SECTION "bank24",DATA,BANK[$24]
-
-_UnnamedText_595cb: ; 0x90000
-	db $0, "Whoa!", $4f
-	db "You spark plug!", $58
-; 0x90000 + 23 bytes
-
-_UnnamedText_595d0: ; 0x90017
-	db $0, "Well, better get", $4f
-	db "back to work.", $57
-; 0x90017 + 32 bytes
-
-_UnnamedText_595df: ; 0x90037
-	db $0, "My #MON should", $4f
-	db "be ready by now!", $57
-; 0x90037 + 33 bytes
-
-_UnnamedText_595e4: ; 0x90058
-	db $0, "Too", $4f
-	db "much, too young!", $58
-; 0x90058 + 22 bytes
-
-_UnnamedText_595e9: ; 0x9006e
-	db $0, "I better go find", $4f
-	db "stronger ones!", $57
-; 0x9006e + 33 bytes
-
-_Route11Text11: ; 0x9008f
-	db $0, "DIGLETT's CAVE", $57
-
-_Route12Text1: ; 0x9009e
-	db $0, "A sleeping #MON", $4f
-	db "blocks the way!", $57
-
-_UnnamedText_596eb: ; 0x900bf
-	db $0, "SNORLAX woke up!", $51
-	db "It attacked in a", $4f
-	db "grumpy rage!", $57
-; 0x900bf + 48 bytes
-
-_UnnamedText_596f0: ; 0x900ef
-	db $0, "SNORLAX calmed", $4f
-	db "down! With a big", $55
-	db "yawn, it returned", $55
-	db "to the mountains!", $57
-; 0x900ef + 69 bytes
-
-_UnnamedText_596ff: ; 0x90134
-	db $0, "Yeah! I got a", $4f
-	db "bite, here!", $57
-; 0x90134 + 27 bytes
-
-_UnnamedText_59704: ; 0x9014f
-	db $0, "Tch!", $4f
-	db "Just a small fry!", $58
-; 0x9014f + 24 bytes
-
-_UnnamedText_59709: ; 0x90167
-	db $0, "Hang on! My line's", $4f
-	db "snagged!", $57
-; 0x90167 + 28 bytes
-
-_UnnamedText_59718: ; 0x90183
-	db $0, "Be patient!", $4f
-	db "Fishing is a", $55
-	db "waiting game!", $57
-; 0x90183 + 40 bytes
-
-_UnnamedText_5971d: ; 0x901ab
-	db $0, "That", $4f
-	db "one got away!", $58
-; 0x901ab + 20 bytes
-
-_UnnamedText_59722: ; 0x901bf
-	db $0, "With a better ROD,", $4f
-	db "I could catch", $55
-	db "better #MON!", $57
-; 0x901bf + 47 bytes
-
-_UnnamedText_59731: ; 0x901ee
-	db $0, "Have you found a", $4f
-	db "MOON STONE?", $57
-; 0x901ee + 30 bytes
-
-_UnnamedText_59736: ; 0x9020c
-	db $0, "Oww!", $58
-; 0x9020c + 6 bytes
-
-_UnnamedText_5973b: ; 0x90212
-	db $0, "I could have made", $4f
-	db "my #MON evolve", $55
-	db "with MOON STONE!", $57
-; 0x90212 + 51 bytes
-
-_UnnamedText_5974a: ; 0x90245
-	db $0, "Electricity is my", $4f
-	db "specialty!", $57
-; 0x90245 + 30 bytes
-
-_UnnamedText_5974f: ; 0x90263
-	db $0, "Unplugged!", $58
-; 0x90263 + 12 bytes
-
-_UnnamedText_59754: ; 0x9026f
-	db $0, "Water conducts", $4f
-	db "electricity, so", $55
-	db "you should zap", $55
-	db "sea #MON!", $57
-; 0x9026f + 57 bytes
-
-_UnnamedText_59763: ; 0x902a8
-	db $0, "The FISHING FOOL", $4f
-	db "vs. #MON KID!", $57
-; 0x902a8 + 32 bytes
-
-_UnnamedText_59768: ; 0x902c8
-	db $0, "Too", $4f
-	db "much!", $58
-; 0x902c8 + 11 bytes
-
-_UnnamedText_5976d: ; 0x902d3
-	db $0, "You beat me at", $4f
-	db "#MON, but I'm", $55
-	db "good at fishing!", $57
-; 0x902d3 + 46 bytes
-
-_UnnamedText_5977c: ; 0x90301
-	db $0, "I'd rather be", $4f
-	db "working!", $57
-; 0x90301 + 23 bytes
-
-_UnnamedText_59781: ; 0x90318
-	db $0, "It's", $4f
-	db "not easy...", $58
-; 0x90318 + 17 bytes
-
-_UnnamedText_59786: ; 0x90329
-	db $0, "It's all right.", $4f
-	db "Losing doesn't", $55
-	db "bug me any more.", $57
-; 0x90329 + 47 bytes
-
-_UnnamedText_59795: ; 0x90358
-	db $0, "You never know", $4f
-	db "what you could", $55
-	db "catch!", $57
-; 0x90358 + 38 bytes
-
-_UnnamedText_5979a: ; 0x9037e
-	db $0, "Lost", $4f
-	db "it!", $58
-; 0x9037e + 10 bytes
-
-_UnnamedText_5979f: ; 0x90388
-	db $0, "I catch MAGIKARP", $4f
-	db "all the time, but", $55
-	db "they're so weak!", $57
-; 0x90388 + 52 bytes
-
-_Route12Text11: ; 0x903bc
-	db $0, "ROUTE 12 ", $4f
-	db "North to LAVENDER", $57
-
-_Route12Text12: ; 0x903d9
-	db $0, "SPORT FISHING AREA", $57
-
-_UnnamedText_558d4: ; 0x903ed
-	db $0, "My bird #MON", $4f
-	db "want to scrap!", $57
-; 0x903ed + 29 bytes
-
-_UnnamedText_558d9: ; 0x9040a
-	db $0, "My", $4f
-	db "bird combo lost?", $58
-; 0x9040a + 21 bytes
-
-_UnnamedText_558de: ; 0x9041f
-	db $0, "My #MON look", $4f
-	db "happy even though", $55
-	db "they lost.", $57
-; 0x9041f + 43 bytes
-
-_UnnamedText_558ed: ; 0x9044a
-	db $0, "I'm told I'm good", $4f
-	db "for a kid!", $57
-; 0x9044a + 28 bytes
-
-_UnnamedText_558f2: ; 0x90466
-	db $0, "Ohh!", $4f
-	db "I lost!", $58
-; 0x90466 + 14 bytes
-
-_UnnamedText_558f7: ; 0x90474
-	db $0, "I want to become", $4f
-	db "a good trainer.", $55
-	db "I'll train hard.", $57
-; 0x90474 + 50 bytes
-
-_UnnamedText_55906: ; 0x904a6
-	db $0, "Wow! Your BADGEs", $4f
-	db "are too cool!", $57
-; 0x904a6 + 32 bytes
-
-_UnnamedText_5590b: ; 0x904c6
-	db $0, "Not", $4f
-	db "enough!", $58
-; 0x904c6 + 13 bytes
-
-_UnnamedText_55910: ; 0x904d3
-	db $0, "You got those", $4f
-	db "BADGEs from GYM", $55
-	db "LEADERs. I know!", $57
-; 0x904d3 + 48 bytes
-
-_UnnamedText_5591f: ; 0x90503
-	db $0, "My cute #MON", $4f
-	db "wish to make your", $55
-	db "acquaintance.", $57
-; 0x90503 + 46 bytes
-
-_UnnamedText_55924: ; 0x90531
-	db $0, "Wow!", $4f
-	db "You totally won!", $58
-; 0x90531 + 23 bytes
-
-_UnnamedText_55929: ; 0x90548
-	db $0, "You have to make", $4f
-	db "#MON fight to", $55
-	db "toughen them up!", $57
-; 0x90548 + 49 bytes
-
-_UnnamedText_55938: ; 0x90579
-	db $0, "I found CARBOS in", $4f
-	db "a cave once.", $57
-; 0x90579 + 32 bytes
-
-_UnnamedText_5593d: ; 0x90599
-	db $0, "Just", $4f
-	db "messed up!", $58
-; 0x90599 + 17 bytes
-
-_UnnamedText_55942: ; 0x905aa
-	db $0, "CARBOS boosted", $4f
-	db "the SPEED of my", $55
-	db "#MON.", $57
-; 0x905aa + 38 bytes
-
-_UnnamedText_55951: ; 0x905d0
-	db $0, "The wind's blowing", $4f
-	db "my way!", $57
-; 0x905d0 + 27 bytes
-
-_UnnamedText_55956: ; 0x905eb
-	db $0, "The", $4f
-	db "wind turned!", $58
-; 0x905eb + 18 bytes
-
-_UnnamedText_5595b: ; 0x905fd
-	db $0, "I'm beat. I guess", $4f
-	db "I'll FLY home.", $57
-; 0x905fd + 32 bytes
-
-_UnnamedText_5596a: ; 0x9061d
-	db $0, "Sure, I'll play", $4f
-	db "with you!", $57
-; 0x9061d + 26 bytes
-
-_UnnamedText_5596f: ; 0x90637
-	db $0, "Oh!", $4f
-	db "You little brute!", $58
-; 0x90637 + 23 bytes
-
-_UnnamedText_55974: ; 0x9064e
-	db $0, "I wonder which is", $4f
-	db "stronger, male or", $55
-	db "female #MON?", $57
-; 0x9064e + 50 bytes
-
-_UnnamedText_55983: ; 0x90680
-	db $0, "Do you want to", $4f
-	db "#MON with me?", $57
-; 0x90680 + 30 bytes
-
-_UnnamedText_55988: ; 0x9069e
-	db $0, "It's over", $4f
-	db "already?", $58
-; 0x9069e + 19 bytes
-
-_UnnamedText_5598d: ; 0x906b1
-	db $0, "I don't know", $4f
-	db "anything about", $55
-	db "#MON. I just", $55
-	db "like cool ones!", $57
-; 0x906b1 + 57 bytes
-
-_UnnamedText_5599c: ; 0x906ea
-	db $0, "What're you", $4f
-	db "lookin' at?", $57
-; 0x906ea + 24 bytes
-
-_UnnamedText_559a1: ; 0x90702
-	db $0, "Dang!", $4f
-	db "Stripped gears!", $58
-; 0x90702 + 23 bytes
-
-_UnnamedText_559a6: ; 0x90719
-	db $0, "Get lost!", $57
-; 0x90719 + 11 bytes
-
-_UnnamedText_559b5: ; 0x90724
-	db $0, "I always go with", $4f
-	db "bird #MON!", $57
-; 0x90724 + 29 bytes
-
-_UnnamedText_559ba: ; 0x90741
-	db $0, "Out", $4f
-	db "of power!", $58
-; 0x90741 + 15 bytes
-
-_UnnamedText_559bf: ; 0x90750
-	db $0, "I wish I could", $4f
-	db "fly like PIDGEY", $55
-	db "and PIDGEOTTO...", $57
-; 0x90750 + 49 bytes
-
-_Route13Text11: ; 0x90781
-	db $0, "TRAINER TIPS", $51
-	db "Look to the left", $4f
-	db "of that post!", $57
-
-_Route13Text12: ; 0x907ae
-	db $0, "TRAINER TIPS", $51
-	db "Use SELECT to", $4f
-	db "switch items in", $55
-	db "the ITEM window!", $57
-
-_Route13Text13: ; 0x907eb
-	db $0, "ROUTE 13", $4f
-	db "North to SILENCE", $55
-	db "BRIDGE", $57
-
-_UnnamedText_55a85: ; 0x9080d
-	db $0, "You need to use", $4f
-	db "TMs to teach good", $55
-	db "moves to #MON!", $57
-; 0x9080d + 50 bytes
-
-_UnnamedText_55a8a: ; 0x9083f
-	db $0, "Not", $4f
-	db "good enough!", $58
-; 0x9083f + 18 bytes
-
-_UnnamedText_55a8f: ; 0x90851
-	db $0, "You have some HMs", $4f
-	db "right? #MON", $55
-	db "can't ever forget", $55
-	db "those moves.", $57
-; 0x90851 + 61 bytes
-
-_UnnamedText_55a9e: ; 0x9088e
-	db $0, "My bird #MON", $4f
-	db "should be ready", $55
-	db "for battle.", $57
-; 0x9088e + 42 bytes
-
-_UnnamedText_55aa3: ; 0x908b8
-	db $0, "Not", $4f
-	db "ready yet!", $58
-; 0x908b8 + 16 bytes
-
-_UnnamedText_55aa8: ; 0x908c8
-	db $0, "They need to learn", $4f
-	db "better moves.", $57
-; 0x908c8 + 34 bytes
-
-_UnnamedText_55ab7: ; 0x908ea
-	db $0, "TMs are on sale", $4f
-	db "in CELADON!", $55
-	db "But, only a few", $55
-	db "people have HMs!", $57
-; 0x908ea + 62 bytes
-
-_UnnamedText_55abc: ; 0x90928
-	db $0, "Aww,", $4f
-	db "bummer!", $58
-; 0x90928 + 14 bytes
-
-_UnnamedText_55ac1: ; 0x90936
-	db $0, "Teach #MON", $4f
-	db "moves of the same", $55
-	db "element type for", $55
-	db "more power.", $57
-; 0x90936 + 59 bytes
-
-_UnnamedText_55ad0: ; 0x90971
-	db $0, "Have you taught", $4f
-	db "your bird #MON", $55
-	db "how to FLY?", $57
-; 0x90971 + 44 bytes
-
-_UnnamedText_55ad5: ; 0x9099d
-	db $0, "Shot", $4f
-	db "down in flames!", $58
-; 0x9099d + 22 bytes
-
-_UnnamedText_55ada: ; 0x909b3
-	db $0, "Bird #MON are", $4f
-	db "my true love!", $57
-; 0x909b3 + 29 bytes
-
-_UnnamedText_55ae9: ; 0x909d0
-	db $0, "Have you heard of", $4f
-	db "the legendary", $55
-	db "#MON?", $57
-; 0x909d0 + 39 bytes
-
-_UnnamedText_55aee: ; 0x909f7
-	db $0, "Why?", $4f
-	db "Why'd I lose?", $58
-; 0x909f7 + 19 bytes
-
-_UnnamedText_55af3: ; 0x90a0a
-	db $0, "The 3 legendary", $4f
-	db "#MON are all", $55
-	db "birds of prey.", $57
-; 0x90a0a + 45 bytes
-
-_UnnamedText_55b02: ; 0x90a37
-	db $0, "I'm not into it,", $4f
-	db "but OK! Let's go!", $57
-; 0x90a37 + 34 bytes
-
-_UnnamedText_55b07: ; 0x90a59
-	db $0, "I", $4f
-	db "knew it!", $58
-; 0x90a59 + 12 bytes
-
-_UnnamedText_55b0c: ; 0x90a65
-	db $0, "Winning, losing,", $4f
-	db "it doesn't matter", $55
-	db "in the long run!", $57
-; 0x90a65 + 52 bytes
-
-_UnnamedText_55b1b: ; 0x90a99
-	db $0, "C'mon, c'mon.", $4f
-	db "Let's go, let's", $55
-	db "go, let's go!", $57
-; 0x90a99 + 40 bytes
-
-_UnnamedText_55b20: ; 0x90ac1
-	db $0, "Arrg!", $4f
-	db "Lost! Get lost!", $58
-; 0x90ac1 + 23 bytes
-
-_UnnamedText_55b25: ; 0x90ad8
-	db $0, "What, what, what?", $4f
-	db "What do you want?", $57
-; 0x90ad8 + 37 bytes
-
-_UnnamedText_55b34: ; 0x90afd
-	db $0, "Perfect! I need to", $4f
-	db "burn some time!", $57
-; 0x90afd + 36 bytes
-
-_UnnamedText_55b39: ; 0x90b21
-	db $0, "What?", $4f
-	db "You!?", $58
-; 0x90b21 + 13 bytes
-
-_UnnamedText_55b3e: ; 0x90b2e
-	db $0, "Raising #MON", $4f
-	db "is a drag, man.", $57
-; 0x90b2e + 30 bytes
-
-_UnnamedText_55b4d: ; 0x90b4c
-	db $0, "We ride out here", $4f
-	db "because there's", $55
-	db "more room!", $57
-; 0x90b4c + 44 bytes
-
-_UnnamedText_55b52: ; 0x90b78
-	db $0, "Wipe out!", $58
-; 0x90b78 + 11 bytes
-
-_UnnamedText_55b57: ; 0x90b83
-	db $0, "It's cool you", $4f
-	db "made your #MON", $55
-	db "so strong!", $51
-	db "Might is right!", $4f
-	db "And you know it!", $57
-; 0x90b83 + 73 bytes
-
-_UnnamedText_55b66: ; 0x90bcc
-	db $0, "#MON fight?", $4f
-	db "Cool! Rumble!", $57
-; 0x90bcc + 27 bytes
-
-_UnnamedText_55b6b: ; 0x90be7
-	db $0, "Blown", $4f
-	db "away!", $58
-; 0x90be7 + 13 bytes
-
-_UnnamedText_55b70: ; 0x90bf4
-	db $0, "You know who'd", $4f
-	db "win, you and me", $55
-	db "one on one!", $57
-; 0x90bf4 + 43 bytes
-
-_Route14Text11: ; 0x90c1f
-	db $0, "ROUTE 14", $4f
-	db "West to FUCHSIA", $55
-	db "CITY", $57
-
-_UnnamedText_59898: ; 0x90c3e
-	db $0, "Let me try out the", $4f
-	db "#MON I just", $55
-	db "got in a trade!", $57
-; 0x90c3e + 48 bytes
-
-_UnnamedText_5989d: ; 0x90c6e
-	db $0, "Not", $4f
-	db "good enough!", $58
-; 0x90c6e + 18 bytes
-
-_UnnamedText_598a2: ; 0x90c80
-	db $0, "You can't change", $4f
-	db "the nickname of", $55
-	db "any #MON you", $55
-	db "get in a trade.", $51
-	db "Only the Original", $4f
-	db "Trainer can.", $57
-; 0x90c80 + 93 bytes
-
-_UnnamedText_598a7: ; 0x90cdd
-	db $0, "You look gentle,", $4f
-	db "so I think I can", $55
-	db "beat you!", $57
-; 0x90cdd + 45 bytes
-
-_UnnamedText_598ac: ; 0x90d0a
-	db $0, "No,", $4f
-	db "wrong!", $58
-; 0x90d0a + 12 bytes
-
-_UnnamedText_598b1: ; 0x90d16
-	db $0, "I'm afraid of", $4f
-	db "BIKERs, they look", $55
-	db "so ugly and mean!", $57
-; 0x90d16 + 50 bytes
-
-_UnnamedText_598b6: ; 0x90d48
-	db $0, "When I whistle, I", $4f
-	db "can summon bird", $55
-	db "#MON!", $57
-; 0x90d48 + 41 bytes
-
-_UnnamedText_598bb: ; 0x90d71
-	db $0, "Ow!", $4f
-	db "That's tragic!", $58
-; 0x90d71 + 19 bytes
-
-_UnnamedText_598c0: ; 0x90d84
-	db $0, "Maybe I'm not cut", $4f
-	db "out for battles.", $57
-; 0x90d84 + 35 bytes
-
-_UnnamedText_598c5: ; 0x90da7
-	db $0, "Hmm? My birds are", $4f
-	db "shivering! You're", $55
-	db "good, aren't you?", $57
-; 0x90da7 + 53 bytes
-
-_UnnamedText_598ca: ; 0x90ddc
-	db $0, "Just", $4f
-	db "as I thought!", $58
-; 0x90ddc + 20 bytes
-
-_UnnamedText_598cf: ; 0x90df0
-	db $0, "Did you know moves", $4f
-	db "like EARTHQUAKE", $55
-	db "don't have any", $55
-	db "effect on birds?", $57
-; 0x90df0 + 67 bytes
-
-_UnnamedText_598d4: ; 0x90e33
-	db $0, "Oh, you're a", $4f
-	db "little cutie!", $57
-; 0x90e33 + 27 bytes
-
-_UnnamedText_598d9: ; 0x90e4e
-	db $0, "You looked", $4f
-	db "so cute too!", $58
-; 0x90e4e + 25 bytes
-
-_UnnamedText_598de: ; 0x90e67
-	db $0, "I forgive you!", $4f
-	db "I can take it!", $57
-; 0x90e67 + 31 bytes
-
-_UnnamedText_598e3: ; 0x90e86
-	db $0, "I raise #MON", $4f
-	db "because I live", $55
-	db "alone!", $57
-; 0x90e86 + 36 bytes
-
-_UnnamedText_598e8: ; 0x90eaa
-	db $0, "I didn't", $4f
-	db "ask for this!", $58
-; 0x90eaa + 23 bytes
-
-_UnnamedText_598ed: ; 0x90ec1
-	db $0, "I just like going", $4f
-	db "home to be with", $55
-	db "my #MON!", $57
-; 0x90ec1 + 44 bytes
-
-_UnnamedText_598f2: ; 0x90eed
-	db $0, "Hey kid! C'mon!", $4f
-	db "I just got these!", $57
-; 0x90eed + 34 bytes
-
-_UnnamedText_598f7: ; 0x90f0f
-	db $0, "Why", $4f
-	db "not?", $58
-; 0x90f0f + 10 bytes
-
-_UnnamedText_598fc: ; 0x90f19
-	db $0, "You only live", $4f
-	db "once, so I live", $55
-	db "as an outlaw!", $55
-	db "TEAM ROCKET RULES!", $57
-; 0x90f19 + 64 bytes
-
-_UnnamedText_59901: ; 0x90f59
-	db $0, "Fork over all your", $4f
-	db "cash when you", $55
-	db "lose to me, kid!", $57
-; 0x90f59 + 51 bytes
-
-_UnnamedText_59906: ; 0x90f8c
-	db $0, "That", $4f
-	db "can't be true!", $58
-; 0x90f8c + 20 bytes
-
-_UnnamedText_5990b: ; 0x90fa0
-	db $0, "I was just joking", $4f
-	db "about the money!", $57
-; 0x90fa0 + 36 bytes
-
-_UnnamedText_59910: ; 0x90fc4
-	db $0, "What's cool?", $4f
-	db "Trading #MON!", $57
-; 0x90fc4 + 27 bytes
-
-_UnnamedText_59915: ; 0x90fdf
-	db $0, "I", $4f
-	db "said trade!", $58
-; 0x90fdf + 15 bytes
-
-_UnnamedText_5991a: ; 0x90fee
-	db $0, "I trade #MON", $4f
-	db "with my friends!", $57
-; 0x90fee + 31 bytes
-
-_UnnamedText_5991f: ; 0x9100d
-	db $0, "Want to play with", $4f
-	db "my #MON?", $57
-; 0x9100d + 28 bytes
-
-_UnnamedText_59924: ; 0x91029
-	db $0, "I was", $4f
-	db "too impatient!", $58
-; 0x91029 + 22 bytes
-
-_UnnamedText_59929: ; 0x9103f
-	db $0, "I'll go train with", $4f
-	db "weaker people.@"
-	db $50
-; 0x9103f + 34 bytes + 1
-
-_Route15Text12: ; 0x91062
-	db $0, "ROUTE 15", $4f
-	db "West to FUCHSIA", $55
-	db "CITY", $57
-
-_UnnamedText_59a22: ; 0x91081
-	db $0, "What do you want?", $57
-; 0x91081 + 19 bytes
-
-_UnnamedText_59a27: ; 0x91094
-	db $0, "Don't you", $4f
-	db "dare laugh!", $58
-; 0x91094 + 22 bytes
-
-_UnnamedText_59a2c: ; 0x910aa
-	db $0, "We like just", $4f
-	db "hanging here,", $55
-	db "what's it to you?", $57
-; 0x910aa + 45 bytes
-
-_UnnamedText_59a3b: ; 0x910d7
-	db $0, "Nice BIKE!", $4f
-	db "Hand it over!", $57
-; 0x910d7 + 26 bytes
-
-_UnnamedText_59a40: ; 0x910f1
-	db $0, "Knock", $4f
-	db "out!", $58
-; 0x910f1 + 12 bytes
-
-_UnnamedText_59a45: ; 0x910fd
-	db $0, "Forget it, who", $4f
-	db "needs your BIKE!", $57
-; 0x910fd + 33 bytes
-
-_UnnamedText_59a54: ; 0x9111e
-	db $0, "Come out and play,", $4f
-	db "little mouse!", $57
-; 0x9111e + 34 bytes
-
-_UnnamedText_59a59: ; 0x91140
-	db $0, "You", $4f
-	db "little rat!", $58
-; 0x91140 + 17 bytes
-
-_UnnamedText_59a5e: ; 0x91151
-	db $0, "I hate losing!", $4f
-	db "Get away from me!", $57
-; 0x91151 + 34 bytes
-
-_UnnamedText_59a6d: ; 0x91173
-	db $0, "Hey, you just", $4f
-	db "bumped me!", $57
-; 0x91173 + 26 bytes
-
-_UnnamedText_59a72: ; 0x9118d
-	db $0, "Kaboom!", $58
-; 0x9118d + 9 bytes
-
-_UnnamedText_59a77: ; 0x91196
-	db $0, "You can also get", $4f
-	db "to FUCHSIA from", $55
-	db "VERMILION using a", $55
-	db "coastal road.", $57
-; 0x91196 + 66 bytes
-
-_UnnamedText_59a86: ; 0x911d8
-	db $0, "I'm feeling", $4f
-	db "hungry and mean!", $57
-; 0x911d8 + 29 bytes
-
-_UnnamedText_59a8b: ; 0x911f5
-	db $0, "Bad,", $4f
-	db "bad, bad!", $58
-; 0x911f5 + 16 bytes
-
-_UnnamedText_59a90: ; 0x91205
-	db $0, "I like my #MON", $4f
-	db "ferocious! They", $55
-	db "tear up enemies!", $57
-; 0x91205 + 49 bytes
-
-_UnnamedText_59a9f: ; 0x91236
-	db $0, "Sure, I'll go!", $57
-; 0x91236 + 15 bytes
-
-_UnnamedText_59aa4: ; 0x91245
-	db $0, "Don't make", $4f
-	db "me mad!", $58
-; 0x91245 + 19 bytes
-
-_UnnamedText_59aa9: ; 0x91258
-	db $0, "I like harassing", $4f
-	db "people with my", $55
-	db "vicious #MON!", $57
-; 0x91258 + 47 bytes
-
-_Route16Text7: ; 0x91287
-	db $0, "A sleeping #MON", $4f
-	db "blocks the way!", $57
-
-_UnnamedText_59ab3: ; 0x912a8
-	db $0, "SNORLAX woke up!", $51
-	db "It attacked in a", $4f
-	db "grumpy rage!", $57
-; 0x912a8 + 48 bytes
-
-_UnnamedText_59ab8: ; 0x912d8
-	db $0, "With a big yawn,", $4f
-	db "SNORLAX returned", $55
-	db "to the mountains!", $57
-; 0x912d8 + 53 bytes
-
-_Route16Text8: ; 0x9130d
-	db $0, "Enjoy the slope!", $4f
-	db "CYCLING ROAD", $57
-
-_Route16Text9: ; 0x9132c
-	db $0, "ROUTE 16", $4f
-	db "CELADON CITY -", $55
-	db "FUCHSIA CITY", $57
-
-_UnnamedText_55c36: ; 0x91352
-	db $0, "There's no money", $4f
-	db "in fighting kids!", $57
-; 0x91352 + 35 bytes
-
-_UnnamedText_55c3b: ; 0x91375
-	db $0, "Burned", $4f
-	db "out!", $58
-; 0x91375 + 13 bytes
-
-_UnnamedText_55c40: ; 0x91382
-	db $0, "Good stuff is", $4f
-	db "lying around on", $55
-	db "CYCLING ROAD!", $57
-; 0x91382 + 45 bytes
-
-_UnnamedText_55c4f: ; 0x913af
-	db $0, "What do you want,", $4f
-	db "kiddo?", $57
-; 0x913af + 26 bytes
-
-_UnnamedText_55c54: ; 0x913c9
-	db $0, "Whoo!", $58
-; 0x913c9 + 7 bytes
-
-_UnnamedText_55c59: ; 0x913d0
-	db $0, "I could belly-", $4f
-	db "bump you outta", $55
-	db "here!", $57
-; 0x913d0 + 37 bytes
-
-_UnnamedText_55c68: ; 0x913f5
-	db $0, "You heading to", $4f
-	db "FUCHSIA?", $57
-; 0x913f5 + 25 bytes
-
-_UnnamedText_55c6d: ; 0x9140e
-	db $0, "Crash and", $4f
-	db "burn!", $58
-; 0x9140e + 17 bytes
-
-_UnnamedText_55c72: ; 0x9141f
-	db $0, "I love racing", $4f
-	db "downhill!", $57
-; 0x9141f + 25 bytes
-
-_UnnamedText_55c81: ; 0x91438
-	db $0, "We're BIKERs!", $4f
-	db "Highway stars!", $57
-; 0x91438 + 29 bytes
-
-_UnnamedText_55c86: ; 0x91455
-	db $0, "Smoked!", $58
-; 0x91455 + 9 bytes
-
-_UnnamedText_55c8b: ; 0x9145e
-	db $0, "Are you looking", $4f
-	db "for adventure?", $57
-; 0x9145e + 32 bytes
-
-_UnnamedText_55c9a: ; 0x9147e
-	db $0, "Let VOLTORB", $4f
-	db "electrify you!", $57
-; 0x9147e + 28 bytes
-
-_UnnamedText_55c9f: ; 0x9149a
-	db $0, "Grounded", $4f
-	db "out!", $58
-; 0x9149a + 15 bytes
-
-_UnnamedText_55ca4: ; 0x914a9
-	db $0, "I got my VOLTORB", $4f
-	db "at the abandoned", $55
-	db "POWER PLANT.", $57
-; 0x914a9 + 48 bytes
-
-_UnnamedText_55cb3: ; 0x914d9
-	db $0, "My #MON won't", $4f
-	db "evolve! Why?", $57
-; 0x914d9 + 27 bytes
-
-_UnnamedText_55cb8: ; 0x914f4
-	db $0, "Why,", $4f
-	db "you!", $58
-; 0x914f4 + 11 bytes
-
-_UnnamedText_55cbd: ; 0x914ff
-	db $0, "Maybe some #MON", $4f
-	db "need element", $55
-	db "STONEs to evolve.", $57
-; 0x914ff + 48 bytes
-
-_UnnamedText_55ccc: ; 0x9152f
-	db $0, "I need a little", $4f
-	db "exercise!", $57
-; 0x9152f + 27 bytes
-
-_UnnamedText_55cd1: ; 0x9154a
-	db $0, "Whew!", $4f
-	db "Good workout!", $58
-; 0x9154a + 21 bytes
-
-_UnnamedText_55cd6: ; 0x9155f
-	db $0, "I'm sure I lost", $4f
-	db "weight there!", $57
-; 0x9155f + 30 bytes
-
-_UnnamedText_55ce5: ; 0x9157d
-	db $0, "Be a rebel!", $57
-; 0x9157d + 13 bytes
-
-_UnnamedText_55cea: ; 0x9158a
-	db $0, "Aaaargh!", $58
-; 0x9158a + 10 bytes
-
-_UnnamedText_55cef: ; 0x91594
-	db $0, "Be ready to fight", $4f
-	db "for your beliefs!", $57
-; 0x91594 + 37 bytes
-
-_UnnamedText_55cfe: ; 0x915b9
-	db $0, "Nice BIKE!", $4f
-	db "How's it handle?", $57
-; 0x915b9 + 28 bytes
-
-_UnnamedText_55d03: ; 0x915d5
-	db $0, "Shoot!", $58
-; 0x915d5 + 8 bytes
-
-_UnnamedText_55d08: ; 0x915dd
-	db $0, "The slope makes", $4f
-	db "it hard to steer!", $57
-; 0x915dd + 35 bytes
-
-_UnnamedText_55d17: ; 0x91600
-	db $0, "Get lost kid!", $4f
-	db "I'm bushed!", $57
-; 0x91600 + 26 bytes
-
-_UnnamedText_55d1c: ; 0x9161a
-	db $0, "Are you", $4f
-	db "satisfied?", $58
-; 0x9161a + 20 bytes
-
-_UnnamedText_55d21: ; 0x9162e
-	db $0, "I need to catch", $4f
-	db "a few Zs!", $57
-; 0x9162e + 27 bytes
-
-_Route17Text11: ; 0x91649
-	db $0, "It's a notice!", $51
-	db "Watch out for", $4f
-	db "discarded items!", $57
-
-_Route17Text12: ; 0x91677
-	db $0, "TRAINER TIPS", $51
-	db "All #MON are", $4f
-	db "unique.", $51
-	db "Even #MON of", $4f
-	db "the same type and", $55
-	db "level grow at", $55
-	db "different rates.", $57
-
-_Route17Text13: ; 0x916d8
-	db $0, "TRAINER TIPS", $51
-	db "Press the A or B", $4f
-	db "Button to stay in", $55
-	db "place while on a", $55
-	db "slope.", $57
-
-_Route17Text14: ; 0x91721
-	db $0, "ROUTE 17", $4f
-	db "CELADON CITY -", $55
-	db "FUCHSIA CITY", $57
-
-_Route17Text15: ; 0x91747
-	db $0, "It's a notice!", $51
-	db "Don't throw the", $4f
-	db "game, throw #", $55
-	db "BALLs instead!", $57
-
-_Route17Text16: ; 0x91782
-	db $0, "CYCLING ROAD", $4f
-	db "Slope ends here!", $57
-
-_UnnamedText_59b19: ; 0x917a1
-	db $0, "I always check", $4f
-	db "every grassy area", $55
-	db "for new #MON.", $57
-; 0x917a1 + 48 bytes
-
-_UnnamedText_59b1e: ; 0x917d1
-	db $0, "Tch!", $58
-; 0x917d1 + 6 bytes
-
-_UnnamedText_59b23: ; 0x917d7
-	db $0, "I wish I had a", $4f
-	db "BIKE!", $57
-; 0x917d7 + 22 bytes
-
-_UnnamedText_59b32: ; 0x917ed
-	db $0, "Kurukkoo!", $4f
-	db "How do you like", $55
-	db "my bird call?", $57
-; 0x917ed + 41 bytes
-
-_UnnamedText_59b37: ; 0x91816
-	db $0, "I", $4f
-	db "had to bug you!", $58
-; 0x91816 + 19 bytes
-
-_UnnamedText_59b3c: ; 0x91829
-	db $0, "I also collect sea", $4f
-	db "#MON on", $55
-	db "weekends!", $57
-; 0x91829 + 38 bytes
-
-_UnnamedText_59b4b: ; 0x9184f
-	db $0, "This is my turf!", $4f
-	db "Get out of here!", $57
-; 0x9184f + 35 bytes
-
-_UnnamedText_59b50: ; 0x91872
-	db $0, "Darn!", $58
-; 0x91872 + 7 bytes
-
-_UnnamedText_59b55: ; 0x91879
-	db $0, "This is my fave", $4f
-	db "#MON hunting", $55
-	db "area!", $57
-; 0x91879 + 36 bytes
-
-_Route18Text4: ; 0x9189d
-	db $0, "ROUTE 18", $4f
-	db "CELADON CITY -", $55
-	db "FUCHSIA CITY", $57
-
-_Route18Text5: ; 0x918c3
-	db $0, "CYCLING ROAD", $4f
-	db "No pedestrians", $55
-	db "permitted!", $57
-
-_UnnamedText_55e50: ; 0x918eb
-	db $0, "Have to warm up", $4f
-	db "before my swim!", $57
-; 0x918eb + 33 bytes
-
-_UnnamedText_55e55: ; 0x9190c
-	db $0, "All", $4f
-	db "warmed up!", $58
-; 0x9190c + 16 bytes
-
-_UnnamedText_55e5a: ; 0x9191c
-	db $0, "Thanks, kid! I'm", $4f
-	db "ready for a swim!", $57
-; 0x9191c + 35 bytes
-
-_UnnamedText_55e5f: ; 0x9193f
-	db $0, "Wait! You'll have", $4f
-	db "a heart attack!", $57
-; 0x9193f + 34 bytes
-
-_UnnamedText_55e64: ; 0x91961
-	db $0, "Ooh!", $4f
-	db "That's chilly!", $58
-; 0x91961 + 20 bytes
-
-_UnnamedText_55e69: ; 0x91975
-	db $0, "Watch out for", $4f
-	db "TENTACOOL!", $57
-; 0x91975 + 26 bytes
-
-_UnnamedText_55e6e: ; 0x9198f
-	db $0, "I love swimming!", $4f
-	db "What about you?", $57
-; 0x9198f + 34 bytes
-
-_UnnamedText_55e73: ; 0x919b1
-	db $0, "Belly", $4f
-	db "flop!", $58
-; 0x919b1 + 13 bytes
-
-_UnnamedText_55e78: ; 0x919be
-	db $0, "I can beat #MON", $4f
-	db "at swimming!", $57
-; 0x919be + 30 bytes
-
-_UnnamedText_55e7d: ; 0x919dc
-	db $0, "What's beyond the", $4f
-	db "horizon?", $57
-; 0x919dc + 27 bytes
-
-_UnnamedText_55e82: ; 0x919f7
-	db $0, "Glub!", $58
-; 0x919f7 + 7 bytes
-
-_UnnamedText_55e87: ; 0x919fe
-	db $0, "I see a couple of", $4f
-	db "islands!", $57
-; 0x919fe + 28 bytes
-
-_UnnamedText_55e8c: ; 0x91a1a
-	db $0, "I tried diving", $4f
-	db "for #MON, but", $55
-	db "it was a no go!", $57
-; 0x91a1a + 46 bytes
-
-_UnnamedText_55e91: ; 0x91a48
-	db $0, "Help!", $58
-; 0x91a48 + 7 bytes
-
-_UnnamedText_55e96: ; 0x91a4f
-	db $0, "You have to fish", $4f
-	db "for sea #MON!", $57
-; 0x91a4f + 32 bytes
-
-_UnnamedText_55e9b: ; 0x91a6f
-	db $0, "I look at the", $4f
-	db "sea to forget!", $57
-; 0x91a6f + 30 bytes
-
-_UnnamedText_55ea0: ; 0x91a8d
-	db $0, "Ooh!", $4f
-	db "Traumatic!", $58
-; 0x91a8d + 17 bytes
-
-_UnnamedText_55ea5: ; 0x91a9e
-	db $0, "I'm looking at the", $4f
-	db "sea to forget!", $57
-; 0x91a9e + 34 bytes
-
-_UnnamedText_55eaa: ; 0x91ac0
-	db $0, "Oh, I just love", $4f
-	db "your ride! Can I", $55
-	db "have it if I win?", $57
-; 0x91ac0 + 52 bytes
-
-_UnnamedText_55eaf: ; 0x91af4
-	db $0, "Oh!", $4f
-	db "I lost!", $58
-; 0x91af4 + 13 bytes
-
-_UnnamedText_55eb4: ; 0x91b01
-	db $0, "It's still a long", $4f
-	db "way to go to", $55
-	db "SEAFOAM ISLANDS.", $57
-; 0x91b01 + 48 bytes
-
-_UnnamedText_55eb9: ; 0x91b31
-	db $0, "Swimming's great!", $4f
-	db "Sunburns aren't!", $57
-; 0x91b31 + 34 bytes
-
-_UnnamedText_55ebe: ; 0x91b53
-	db $0, "Shocker!", $58
-; 0x91b53 + 10 bytes
-
-_UnnamedText_55ec3: ; 0x91b5d
-	db $0, "My boy friend", $4f
-	db "wanted to swim to", $55
-	db "SEAFOAM ISLANDS.", $57
-; 0x91b5d + 50 bytes
-
-_UnnamedText_55ec8: ; 0x91b8f
-	db $0, "These waters are", $4f
-	db "treacherous!", $57
-; 0x91b8f + 31 bytes
-
-_UnnamedText_55ecd: ; 0x91bae
-	db $0, "Ooh!", $4f
-	db "Dangerous!", $58
-; 0x91bae + 17 bytes
-
-_UnnamedText_55ed2: ; 0x91bbf
-	db $0, "I got a cramp!", $4f
-	db "Glub, glub...", $57
-; 0x91bbf + 30 bytes
-
-_UnnamedText_55ed7: ; 0x91bdd
-	db $0, "I swam here, but", $4f
-	db "I'm tired.", $57
-; 0x91bdd + 28 bytes
-
-_UnnamedText_55edc: ; 0x91bf9
-	db $0, "I'm", $4f
-	db "exhausted...", $58
-; 0x91bf9 + 17 bytes
-
-_UnnamedText_55ee1: ; 0x91c0a
-	db $0, "LAPRAS is so big,", $4f
-	db "it must keep you", $55
-	db "dry on water.", $57
-; 0x91c0a + 50 bytes
-
-_Route19Text11: ; 0x91c3c
-	db $0, "SEA ROUTE 19", $4f
-	db "FUCHSIA CITY -", $55
-	db "SEAFOAM ISLANDS", $57
-
-_UnnamedText_50e17: ; 0x91c69
-	db $0, "The water is", $4f
-	db "shallow here.", $57
-; 0x91c69 + 28 bytes
-
-_UnnamedText_50e1c: ; 0x91c85
-	db $0, "Splash!", $58
-; 0x91c85 + 9 bytes
-
-_UnnamedText_50e21: ; 0x91c8e
-	db $0, "I wish I could", $4f
-	db "ride my #MON.", $57
-; 0x91c8e + 30 bytes
-
-_UnnamedText_50e26: ; 0x91cac
-	db $0, "SEAFOAM is a", $4f
-	db "quiet getaway!", $57
-; 0x91cac + 29 bytes
-
-_UnnamedText_50e2b: ; 0x91cc9
-	db $0, "Quit it!", $58
-; 0x91cc9 + 10 bytes
-
-_UnnamedText_50e30: ; 0x91cd3
-	db $0, "There's a huge", $4f
-	db "cavern underneath", $55
-	db "this island.", $57
-; 0x91cd3 + 46 bytes
-
-_UnnamedText_50e35: ; 0x91d01
-	db $0, "I love floating", $4f
-	db "with the fishes!", $57
-; 0x91d01 + 34 bytes
-
-_UnnamedText_50e3a: ; 0x91d23
-	db $0, "Yowch!", $58
-; 0x91d23 + 8 bytes
-
-_UnnamedText_50e3f: ; 0x91d2b
-	db $0, "Want to float", $4f
-	db "with me?", $57
-; 0x91d2b + 24 bytes
-
-_UnnamedText_50e44: ; 0x91d43
-	db $0, "Are you on", $4f
-	db "vacation too?", $57
-; 0x91d43 + 26 bytes
-
-_UnnamedText_50e49: ; 0x91d5d
-	db $0, "No", $4f
-	db "mercy at all!", $58
-; 0x91d5d + 18 bytes
-
-_UnnamedText_50e4e: ; 0x91d6f
-	db $0, "SEAFOAM used to", $4f
-	db "be one island!", $57
-; 0x91d6f + 32 bytes
-
-_UnnamedText_50e53: ; 0x91d8f
-	db $0, "Check out my buff", $4f
-	db "physique!", $57
-; 0x91d8f + 29 bytes
-
-_UnnamedText_50e58: ; 0x91dac
-	db $0, "Wimpy!", $58
-; 0x91dac + 8 bytes
-
-_UnnamedText_50e5d: ; 0x91db4
-	db $0, "I should've been", $4f
-	db "buffing up my", $55
-	db "#MON, not me!", $57
-; 0x91db4 + 45 bytes
-
-_UnnamedText_50e62: ; 0x91de1
-	db $0, "Why are you", $4f
-	db "riding a #MON?", $55
-	db "Can't you swim?", $57
-; 0x91de1 + 43 bytes
-
-_UnnamedText_50e67: ; 0x91e0c
-	db $0, "Ouch!", $4f
-	db "Torpedoed!", $58
-; 0x91e0c + 18 bytes
-
-_UnnamedText_50e6c: ; 0x91e1e
-	db $0, "Riding a #MON", $4f
-	db "sure looks fun!", $57
-; 0x91e1e + 31 bytes
-
-_UnnamedText_50e71: ; 0x91e3d
-	db $0, "I rode my bird", $4f
-	db "#MON here!", $57
-; 0x91e3d + 27 bytes
-
-_UnnamedText_50e76: ; 0x91e58
-	db $0, "Oh", $4f
-	db "no!", $58
-; 0x91e58 + 8 bytes
-
-_UnnamedText_50e7b: ; 0x91e60
-	db $0, "My birds can't", $4f
-	db "FLY me back!", $57
-; 0x91e60 + 28 bytes
-
-_UnnamedText_50e80: ; 0x91e7c
-	db $0, "My boy friend gave", $4f
-	db "me big pearls!", $57
-; 0x91e7c + 35 bytes
-
-_UnnamedText_50e85: ; 0x91e9f
-	db $0, "Don't", $4f
-	db "touch my pearls!", $58
-; 0x91e9f + 23 bytes
-
-_UnnamedText_50e8a: ; 0x91eb6
-	db $0, "Will my pearls", $4f
-	db "grow bigger", $55
-	db "inside CLOYSTER?", $57
-; 0x91eb6 + 45 bytes
-
-_UnnamedText_50e8f: ; 0x91ee3
-	db $0, "I swam here from", $4f
-	db "CINNABAR ISLAND!", $57
-; 0x91ee3 + 35 bytes
-
-_UnnamedText_50e94: ; 0x91f06
-	db $0, "I'm", $4f
-	db "so disappointed!", $58
-; 0x91f06 + 21 bytes
-
-_UnnamedText_50e99: ; 0x91f1b
-	db $0, "#MON have", $4f
-	db "taken over an", $55
-	db "abandoned mansion", $55
-	db "on CINNABAR!", $57
-; 0x91f1b + 56 bytes
-
-_UnnamedText_50e9e: ; 0x91f53
-	db $0, "CINNABAR, in the", $4f
-	db "west, has a LAB", $55
-	db "for #MON.", $57
-; 0x91f53 + 44 bytes
-
-_UnnamedText_50ea3: ; 0x91f7f
-	db $0, "Wait!", $58
-; 0x91f7f + 7 bytes
-
-_UnnamedText_50ea8: ; 0x91f86
-	db $0, "CINNABAR is a ", $4f
-	db "volcanic island!", $57
-; 0x91f86 + 33 bytes
-
-_Route20Text12: ; 0x91fa7
-_Route20Text11: ; 0x91fa7
-	db $0, "SEAFOAM ISLANDS", $57
-
-_UnnamedText_55fdd: ; 0x91fb8
-	db $0, "You want to know", $4f
-	db "if the fish are", $55
-	db "biting?", $57
-; 0x91fb8 + 42 bytes
-
-_UnnamedText_55fe2: ; 0x91fe2
-	db $0, "Dang!", $58
-; 0x91fe2 + 7 bytes
-
-_UnnamedText_55fe7: ; 0x91fe9
-	db $0, "I can't catch", $4f
-	db "anything good!", $57
-; 0x91fe9 + 29 bytes
-
-_UnnamedText_55fec: ; 0x92006
-	db $0, "I got a big haul!", $4f
-	db "Wanna go for it?", $57
-; 0x92006 + 36 bytes
-
-_UnnamedText_55ff1: ; 0x9202a
-	db $0, "Darn", $4f
-	db "MAGIKARP!", $58
-; 0x9202a + 16 bytes
-
-_UnnamedText_55ff6: ; 0x9203a
-	db $0, "I seem to only", $4f
-	db "catch MAGIKARP!", $57
-; 0x9203a + 32 bytes
-
-_UnnamedText_55ffb: ; 0x9205a
-	db $0, "The sea cleanses", $4f
-	db "my body and soul!", $57
-; 0x9205a + 36 bytes
-
-_UnnamedText_56000: ; 0x9207e
-	db $0, "Ayah!", $58
-; 0x9207e + 7 bytes
-
-_UnnamedText_56005: ; 0x92085
-	db $0, "I like the", $4f
-	db "mountains too!", $57
-; 0x92085 + 27 bytes
-
-_UnnamedText_5600a: ; 0x920a0
-	db $0, "What's wrong with", $4f
-	db "me swimming?", $57
-; 0x920a0 + 31 bytes
-
-_UnnamedText_5600f: ; 0x920bf
-	db $0, "Cheap", $4f
-	db "shot!", $58
-; 0x920bf + 13 bytes
-
-_UnnamedText_56014: ; 0x920cc
-	db $0, "I look like what?", $4f
-	db "A studded inner", $55
-	db "tube? Get lost!", $57
-; 0x920cc + 51 bytes
-
-_UnnamedText_56019: ; 0x920ff
-	db $0, "I caught all my", $4f
-	db "#MON at sea!", $57
-; 0x920ff + 30 bytes
-
-_UnnamedText_5601e: ; 0x9211d
-	db $0, "Diver!!", $4f
-	db "Down!!", $58
-; 0x9211d + 16 bytes
-
-_UnnamedText_56023: ; 0x9212d
-	db $0, "Where'd you catch", $4f
-	db "your #MON?", $57
-; 0x9212d + 29 bytes
-
-_UnnamedText_56028: ; 0x9214a
-	db $0, "Right now, I'm in", $4f
-	db "a triathlon meet!", $57
-; 0x9214a + 36 bytes
-
-_UnnamedText_5602d: ; 0x9216e
-	db $0, "Pant...", $4f
-	db "pant...pant...", $58
-; 0x9216e + 24 bytes
-
-_UnnamedText_56032: ; 0x92186
-	db $0, "I'm beat!", $4f
-	db "But, I still have", $55
-	db "the bike race and", $55
-	db "marathon left!", $57
-; 0x92186 + 61 bytes
-
-_UnnamedText_56037: ; 0x921c3
-	db $0, "Ahh! Feel the sun", $4f
-	db "and the wind!", $57
-; 0x921c3 + 33 bytes
-
-_UnnamedText_5603c: ; 0x921e4
-	db $0, "Yow!", $4f
-	db "I lost!", $58
-; 0x921e4 + 14 bytes
-
-_UnnamedText_56041: ; 0x921f2
-	db $0, "I'm sunburnt to a", $4f
-	db "crisp!", $57
-; 0x921f2 + 25 bytes
-
-_UnnamedText_56046: ; 0x9220b
-	db $0, "Hey, don't scare", $4f
-	db "away the fish!", $57
-; 0x9220b + 32 bytes
-
-_UnnamedText_5604b: ; 0x9222b
-	db $0, "Sorry!", $4f
-	db "I didn't mean it!", $58
-; 0x9222b + 25 bytes
-
-_UnnamedText_56050: ; 0x92244
-	db $0, "I was just angry", $4f
-	db "that I couldn't", $55
-	db "catch anything.", $57
-; 0x92244 + 49 bytes
-
-_UnnamedText_56055: ; 0x92275
-	db $0, "Keep me company", $4f
-	db "'til I get a hit!", $57
-; 0x92275 + 34 bytes
-
-_UnnamedText_5605a: ; 0x92297
-	db $0, "That", $4f
-	db "burned some time.", $58
-; 0x92297 + 24 bytes
-
-_UnnamedText_5605f: ; 0x922af
-	db $0, "Oh wait! I got a", $4f
-	db "bite! Yeah!", $57
-; 0x922af + 30 bytes
-
-_UnnamedText_511ad: ; 0x922cd
-	db $0, $53, ": Hey!", $4f
-	db $52, "!", $51
-	db "You're going to", $4f
-	db "#MON LEAGUE?", $51
-	db "Forget it! You", $4f
-	db "probably don't", $55
-	db "have any BADGEs!", $51
-	db "The guard won't", $4f
-	db "let you through!", $51
-	db "By the way, did", $4f
-	db "your #MON", $55
-	db "get any stronger?", $57
-; 0x922cd + 162 bytes
-
-_UnnamedText_511b2: ; 0x9236f
-	db $0, "I heard #MON", $4f
-	db "LEAGUE has many", $55
-	db "tough trainers!", $51
-	db "I have to figure", $4f
-	db "out how to get", $55
-	db "past them!", $51
-	db "You should quit", $4f
-	db "dawdling and get", $55
-	db "a move on!", $57
-; 0x9236f + 133 bytes
-
-_UnnamedText_511b7: ; 0x923f4
-	db $0, "Awww!", $4f
-	db "You just lucked", $55
-	db "out!", $58
-; 0x923f4 + 28 bytes
-
-_UnnamedText_511bc: ; 0x92410
-	db $0, $53, ": What?", $4f
-	db "Why do I have 2", $55
-	db "#MON?", $51
-	db "You should catch", $55
-	db "some more too!", $58
-; 0x92410 + 64 bytes
-
-_UnnamedText_511c1: ; 0x92450
-	db $0, $53, ": What?", $4f
-	db $52, "! What a", $55
-	db "surprise to see", $55
-	db "you here!", $51
-	db "So you're going to", $4f
-	db "#MON LEAGUE?", $51
-	db "You collected all", $4f
-	db "the BADGEs too?", $55
-	db "That's cool!", $51
-	db "Then I'll whip you", $4f
-	db $52, " as a", $55
-	db "warm up for", $55
-	db "#MON LEAGUE!", $51
-	db "Come on!", $57
-; 0x92450 + 182 bytes
-
-_UnnamedText_511c6: ; 0x92506
-	db $0, "That loosened me", $4f
-	db "up! I'm ready for", $55
-	db "#MON LEAGUE!", $51
-	db $52, ", you need", $4f
-	db "more practice!", $51
-	db "But hey, you know", $4f
-	db "that! I'm out of", $55
-	db "here. Smell ya!", $57
-; 0x92506 + 125 bytes
-
-_UnnamedText_511cb: ; 0x92583
-	db $0, "What!?", $51
-	db "I was just", $4f
-	db "careless!", $58
-; 0x92583 + 29 bytes
-
-_UnnamedText_511d0: ; 0x925a0
-	db $0, $53, ": Hahaha!", $4f
-	db $52, "! That's", $55
-	db "your best? You're", $55
-	db "nowhere near as", $55
-	db "good as me, pal!", $51
-	db "Go train some", $4f
-	db "more! You loser!", $58
-; 0x925a0 + 102 bytes
-
-_Route22Text3: ; 0x92606
-	db $0, "#MON LEAGUE", $4f
-	db "Front Gate", $57
-
-UnknownText_9261e: ; 0x9261e
-	db $0, "You can pass here", $4f
-	db "only if you have", $55
-	db "the @"
-; 0x9261e + 41 bytes
-
-UnknownText_92647: ; 0x92647
-	TX_RAM $cd6d
-	db $0, "!", $51
-	db "You don't have the", $4f
-	db "@"
-; 0x92647 + 25 bytes (0x92660)
-
-UnknownText_92660: ; 0x92660
-	TX_RAM $cd6d
-	db $0, " yet!", $51
-	db "You have to have", $4f
-	db "it to get to", $55
-	db "#MON LEAGUE!@@"
-; 0x92660 + 54 bytes
-
-UnknownText_92696: ; 0x92696
-	db $0, "You can pass here", $4f
-	db "only if you have", $55
-	db "the @"
-; 0x92696 + 41 bytes
-
-UnknownText_926bf: ; 0x926bf
-	TX_RAM $cd6d
-	db $0, "!", $51
-	db "Oh! That is the", $4f
-	db "@"
-; 0x926bf + 23 bytes
-
-UnknownText_926d6: ; 0x926d6
-	TX_RAM $cd6d
-	db $0, "!@@"
-; 0x926d6 + 7 bytes
-
-_UnnamedText_513a3: ; 0x926dd
-	db $0, $51
-	db "OK then! Please,", $4f
-	db "go right ahead!", $57
-; 0x926dd + 35 bytes
-
-_Route23Text8: ; 0x92700
-	db $0, "VICTORY ROAD GATE", $4f
-	db "- #MON LEAGUE", $57
-
-_UnnamedText_51510: ; 0x92721
-	db $0, "Congratulations!", $4f
-	db "You beat our 5", $55
-	db "contest trainers!@@"
-; 0x92721 + 52 bytes
-
-_UnnamedText_51515: ; 0x92755
-	db $0, $51
-	db "You just earned a", $4f
-	db "fabulous prize!", $58
-; 0x92755 + 36 bytes
-
-_UnnamedText_5151a: ; 0x92779
-	db $0, $52, " received", $4f
-	db "a @"
-; 0x92779 + 15 bytes
-
-UnknownText_92788: ; 0x92788
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x92788 + 7 bytes
-
-_UnnamedText_51521: ; 0x9278f
-	db $0, "You don't have", $4f
-	db "any room!", $57
-; 0x9278f + 25 bytes
-
-_UnnamedText_51526: ; 0x927a8
-	db $0, "By the way, would", $4f
-	db "you like to join", $55
-	db "TEAM ROCKET?", $51
-	db "We're a group", $4f
-	db "dedicated to evil", $55
-	db "using #MON!", $51
-	db "Want to join?", $51
-	db "Are you sure?", $51
-	db "Come on, join us!", $51
-	db "I'm telling you", $4f
-	db "to join!", $51
-	db "OK, you need", $4f
-	db "convincing!", $51
-	db "I'll make you an", $4f
-	db "offer you can't", $55
-	db "refuse!", $57
-; 0x927a8 + 226 bytes
-
-_UnnamedText_5152b: ; 0x9288a
-	db $0, "Arrgh!", $4f
-	db "You are good!", $58
-; 0x9288a + 22 bytes
-
-_UnnamedText_51530: ; 0x928a0
-	db $0, "With your ability,", $4f
-	db "you could become", $55
-	db "a top leader in", $55
-	db "TEAM ROCKET!", $57
-; 0x928a0 + 66 bytes
-
-_UnnamedText_51571: ; 0x928e2
-	db $0, "I saw your feat", $4f
-	db "from the grass!", $57
-; 0x928e2 + 33 bytes
-
-SECTION "bank25",DATA,BANK[$25]
-
-_UnnamedText_51576: ; 0x94000
-	db $0, "I", $4f
-	db "thought not!", $58
-; 0x94000 + 16 bytes
-
-_UnnamedText_5157b: ; 0x94010
-	db $0, "I hid because the", $4f
-	db "people on the", $55
-	db "bridge scared me!", $57
-; 0x94010 + 51 bytes
-
-_UnnamedText_51580: ; 0x94043
-	db $0, "OK! I'm No. 5!", $4f
-	db "I'll stomp you!", $57
-; 0x94043 + 30 bytes
-
-_UnnamedText_51585: ; 0x94061
-	db $0, "Whoa!", $4f
-	db "Too much!", $58
-; 0x94061 + 17 bytes
-
-_UnnamedText_5158a: ; 0x94072
-	db $0, "I did my best, I", $4f
-	db "have no regrets!", $57
-; 0x94072 + 35 bytes
-
-_UnnamedText_5158f: ; 0x94095
-	db $0, "I'm No. 4!", $4f
-	db "Getting tired?", $57
-; 0x94095 + 26 bytes
-
-_UnnamedText_51594: ; 0x940af
-	db $0, "I lost", $4f
-	db "too!", $58
-; 0x940af + 13 bytes
-
-_UnnamedText_51599: ; 0x940bc
-	db $0, "I did my best, so", $4f
-	db "I've no regrets!", $57
-; 0x940bc + 35 bytes
-
-_UnnamedText_5159e: ; 0x940df
-	db $0, "Here's No. 3!", $4f
-	db "I won't be easy!", $57
-; 0x940df + 30 bytes
-
-_UnnamedText_515a3: ; 0x940fd
-	db $0, "Ow!", $4f
-	db "Stomped flat!", $58
-; 0x940fd + 19 bytes
-
-_UnnamedText_515a8: ; 0x94110
-	db $0, "I did my best, I", $4f
-	db "have no regrets!", $57
-; 0x94110 + 35 bytes
-
-_UnnamedText_515ad: ; 0x94133
-	db $0, "I'm second!", $4f
-	db "Now it's serious!", $57
-; 0x94133 + 29 bytes
-
-_UnnamedText_515b2: ; 0x94150
-	db $0, "How could I", $4f
-	db "lose?", $58
-; 0x94150 + 19 bytes
-
-_UnnamedText_515b7: ; 0x94163
-	db $0, "I did my best, I", $4f
-	db "have no regrets!", $57
-; 0x94163 + 35 bytes
-
-_UnnamedText_515bc: ; 0x94186
-	db $0, "This is NUGGET", $4f
-	db "BRIDGE! Beat us 5", $55
-	db "trainers and win", $55
-	db "a fabulous prize!", $51
-	db "Think you got", $4f
-	db "what it takes?", $57
-; 0x94186 + 98 bytes
-
-_UnnamedText_515c1: ; 0x941e8
-	db $0, "Whoo!", $4f
-	db "Good stuff!", $58
-; 0x941e8 + 19 bytes
-
-_UnnamedText_515c6: ; 0x941fb
-	db $0, "I did my best, I", $4f
-	db "have no regrets!", $57
-; 0x941fb + 35 bytes
-
-_UnnamedText_51705: ; 0x9421e
-	db $0, "Local trainers", $4f
-	db "come here to", $55
-	db "practice!", $57
-; 0x9421e + 39 bytes
-
-_UnnamedText_5170a: ; 0x94245
-	db $0, "You're", $4f
-	db "decent.", $58
-; 0x94245 + 15 bytes
-
-_UnnamedText_5170f: ; 0x94254
-	db $0, "All #MON have", $4f
-	db "weaknesses. It's", $55
-	db "best to raise", $55
-	db "different kinds.", $57
-; 0x94254 + 62 bytes
-
-_UnnamedText_51714: ; 0x94292
-	db $0, "Dad took me to a", $4f
-	db "great party on", $55
-	db "S.S.ANNE at", $55
-	db "VERMILION CITY!", $57
-; 0x94292 + 61 bytes
-
-_UnnamedText_51719: ; 0x942cf
-	db $0, "I'm", $4f
-	db "not mad!", $58
-; 0x942cf + 13 bytes
-
-_UnnamedText_5171e: ; 0x942dc
-	db $0, "On S.S.ANNE, I", $4f
-	db "saw trainers from", $55
-	db "around the world.", $57
-; 0x942dc + 52 bytes
-
-_UnnamedText_51723: ; 0x94310
-	db $0, "I'm a cool guy.", $4f
-	db "I've got a girl", $55
-	db "friend!", $57
-; 0x94310 + 39 bytes
-
-_UnnamedText_51728: ; 0x94337
-	db $0, "Aww,", $4f
-	db "darn...", $58
-; 0x94337 + 14 bytes
-
-_UnnamedText_5172d: ; 0x94345
-	db $0, "Oh well. My girl", $4f
-	db "will cheer me up.", $57
-; 0x94345 + 36 bytes
-
-_UnnamedText_51732: ; 0x94369
-	db $0, "Hi! My boy", $4f
-	db "friend is cool!", $57
-; 0x94369 + 28 bytes
-
-_UnnamedText_51737: ; 0x94385
-	db $0, "I was in", $4f
-	db "bad condition!", $58
-; 0x94385 + 25 bytes
-
-_UnnamedText_5173c: ; 0x9439e
-	db $0, "I wish my guy was", $4f
-	db "as good as you!", $57
-; 0x9439e + 35 bytes
-
-_UnnamedText_51741: ; 0x943c1
-	db $0, "I knew I had to", $4f
-	db "fight you!", $57
-; 0x943c1 + 28 bytes
-
-_UnnamedText_51746: ; 0x943dd
-	db $0, "I knew", $4f
-	db "I'd lose too!", $58
-; 0x943dd + 21 bytes
-
-_UnnamedText_5174b: ; 0x943f2
-	db $0, "If your #MON", $4f
-	db "gets confused or", $55
-	db "falls asleep,", $55
-	db "switch it!", $57
-; 0x943f2 + 56 bytes
-
-_UnnamedText_51750: ; 0x9442a
-	db $0, "My friend has a", $4f
-	db "cute #MON.", $55
-	db "I'm so jealous!", $57
-; 0x9442a + 43 bytes
-
-_UnnamedText_51755: ; 0x94455
-	db $0, "I'm", $4f
-	db "not so jealous!", $58
-; 0x94455 + 20 bytes
-
-_UnnamedText_5175a: ; 0x94469
-	db $0, "You came from MT.", $4f
-	db "MOON? May I have", $55
-	db "a CLEFAIRY?", $57
-; 0x94469 + 48 bytes
-
-_UnnamedText_5175f: ; 0x94499
-	db $0, "I just got down", $4f
-	db "from MT.MOON,", $55
-	db "but I'm ready!", $57
-; 0x94499 + 45 bytes
-
-_UnnamedText_51764: ; 0x944c6
-	db $0, "You", $4f
-	db "worked hard!", $58
-; 0x944c6 + 18 bytes
-
-_UnnamedText_51769: ; 0x944d8
-	db $0, "Drat!", $4f
-	db "A ZUBAT bit me", $55
-	db "back in there.", $57
-; 0x944d8 + 37 bytes
-
-_UnnamedText_5176e: ; 0x944fd
-	db $0, "I'm off to see a", $4f
-	db "#MON collector", $55
-	db "at the cape!", $57
-; 0x944fd + 45 bytes
-
-_UnnamedText_51773: ; 0x9452a
-	db $0, "You", $4f
-	db "got me.", $58
-; 0x9452a + 13 bytes
-
-_UnnamedText_51778: ; 0x94537
-	db $0, "The collector has", $4f
-	db "many rare kinds", $55
-	db "of #MON.", $57
-; 0x94537 + 44 bytes
-
-_UnnamedText_5177d: ; 0x94563
-	db $0, "You're going to", $4f
-	db "see BILL? First,", $55
-	db "let's fight!", $57
-; 0x94563 + 45 bytes
-
-_UnnamedText_51782: ; 0x94590
-	db $0, "You're", $4f
-	db "something.", $58
-; 0x94590 + 18 bytes
-
-_UnnamedText_51787: ; 0x945a2
-	db $0, "The trail below", $4f
-	db "is a shortcut to", $55
-	db "CERULEAN CITY.", $57
-; 0x945a2 + 49 bytes
-
-_Route25Text11: ; 0x945d3
-	db $0, "SEA COTTAGE", $4f
-	db "BILL lives here!", $57
-
-_UnnamedText_7361e: ; 0x945f1
-	db $0, "The file data is", $4f
-	db "destroyed!", $58
-; 0x945f1 + 29 bytes
-
-_UnnamedText_7377d: ; 0x9460e
-	db $0, "Would you like to", $4f
-	db "SAVE the game?", $57
-; 0x9460e + 34 bytes
-
-_UnnamedText_73782: ; 0x94630
-	db $0, $52, " saved", $4f
-	db "the game!", $57
-; 0x94630 + 19 bytes
-
-_UnnamedText_73787: ; 0x94643
-	db $0, "The older file", $4f
-	db "will be erased to", $55
-	db "save. Okay?", $57
-; 0x94643 + 46 bytes
-
-_UnnamedText_73909: ; 0x94671
-	db $0, "When you change a", $4f
-	db "#MON BOX, data", $55
-	db "will be saved.", $51
-	db "Is that okay?", $57
-; 0x94671 + 63 bytes
-
-_UnnamedText_739d4: ; 0x946b0
-	db $0, "Choose a", $4f
-	db $4a, " BOX.@@"
-; 0x946b0 + 17 bytes
-
-_UnnamedText_3af3e: ; 0x946c2
-	TX_RAM $cf4b
-	db $0, " evolved", $57
-; 0x946c2 + 13 bytes
-
-_UnnamedText_3af43: ; 0x946cf
-	db $0, $4f
-	db "into @"
-; 0x946cf + 8 bytes
-
-UnknownText_946d7: ; 0x946d7
-	TX_RAM $cd6d
-	db $0, "!", $57
-; 0x946d7 + 6 bytes
-
-_UnnamedText_3af48: ; 0x946dd
-	db $0, "Huh? @"
-; 0x946dd + 7 bytes
-
-UnknownText_946e4: ; 0x946e4
-	TX_RAM $cf4b
-	db $0, $4f
-	db "stopped evolving!", $58
-; 0x946e4 + 23 bytes
-
-_UnnamedText_3af4d: ; 0x946fb
-	db $0, "What? @"
-; 0x946fb + 8 bytes
-
-UnknownText_94703: ; 0x94703
-	TX_RAM $cf4b
-	db $0, $4f
-	db "is evolving!", $57
-; 0x94703 + 18 bytes
-
-_UnnamedText_3f245: ; 0x94715
-	db $0, $59, $4f
-	db "fell asleep!", $58
-; 0x94715 + 16 bytes
-
-_UnnamedText_3f24a: ; 0x94725
-	db $0, $59, "'s", $4f
-	db "already asleep!", $58
-; 0x94725 + 20 bytes
-
-_UnnamedText_3f2df: ; 0x94739
-	db $0, $59, $4f
-	db "was poisoned!", $58
-; 0x94739 + 17 bytes
-
-_UnnamedText_3f2e4: ; 0x9474a
-	db $0, $59, "'s", $4f
-	db "badly poisoned!", $58
-; 0x9474a + 20 bytes
-
-_UnnamedText_3f3d8: ; 0x9475e
-	db $0, $59, $4f
-	db "was burned!", $58
-; 0x9475e + 15 bytes
-
-_UnnamedText_3f3dd: ; 0x9476d
-	db $0, $59, $4f
-	db "was frozen solid!", $58
-; 0x9476d + 21 bytes
-
-_UnnamedText_3f423: ; 0x94782
-	db $0, "Fire defrosted", $4f
-	db $59, "!", $58
-; 0x94782 + 19 bytes
-
-UnknownText_94795: ; 0x94795
-	db $0, $5a, "'s", $4f
-	db "@"
-; 0x94795 + 5 bytes
-
-UnknownText_9479a: ; 0x9479a
-	TX_RAM $cf4b
-	db $0, "@@"
-; 0x9479a + 6 bytes
-
-UnknownText_947a0: ; 0x947a0
-	db $0, $4c, "greatly@@"
-; 0x947a0 + 11 bytes
-
-_UnnamedText_3f547: ; 0x947ab
-	db $0, " rose!", $58
-; 0x947ab + 8 bytes
-
-UnknownText_947b3: ; 0x947b3
-	db $0, $59, "'s", $4f
-	db "@"
-; 0x947b3 + 5 bytes
-
-UnknownText_947b8: ; 0x947b8
-	TX_RAM $cf4b
-	db $0, "@@"
-; 0x947b8 + 6 bytes
-
-UnknownText_947be: ; 0x947be
-	db $0, $4c, "greatly@@"
-; 0x947be + 11 bytes
-
-_UnnamedText_3f683: ; 0x947c9
-	db $0, " fell!", $58
-; 0x947c9 + 8 bytes
-
-_UnnamedText_3f802: ; 0x947d1
-	db $0, $5a, $4f
-	db "ran from battle!", $58
-; 0x947d1 + 20 bytes
-
-_UnnamedText_3f807: ; 0x947e5
-	db $0, $59, $4f
-	db "ran away scared!", $58
-; 0x947e5 + 20 bytes
-
-_UnnamedText_3f80c: ; 0x947f9
-	db $0, $59, $4f
-	db "was blown away!", $58
-; 0x947f9 + 19 bytes
-
-UnnamedText_9480c: ; 0x9480c
-	db $0, $5a, "@@"
-; 0x9480c + 4 bytes
-
-_UnnamedText_3f8f9: ; 0x94810
-	db $0, $4f
-	db "made a whirlwind!", $58
-; 0x94810 + 20 bytes
-
-_UnnamedText_3f8fe: ; 0x94824
-	db $0, $4f
-	db "took in sunlight!", $58
-; 0x94824 + 20 bytes
-
-_UnnamedText_3f903: ; 0x94838
-	db $0, $4f
-	db "lowered its head!", $58
-; 0x94838 + 20 bytes
-
-_UnnamedText_3f908: ; 0x9484c
-	db $0, $4f
-	db "is glowing!", $58
-; 0x9484c + 14 bytes
-
-_UnnamedText_3f90d: ; 0x9485a
-	db $0, $4f
-	db "flew up high!", $58
-; 0x9485a + 16 bytes
-
-_UnnamedText_3f912: ; 0x9486a
-	db $0, $4f
-	db "dug a hole!", $58
-; 0x9486a + 14 bytes
-
-_UnnamedText_3f9a1: ; 0x94878
-	db $0, $59, $4f
-	db "became confused!", $58
-; 0x94878 + 20 bytes
-
-_UnnamedText_3fa77: ; 0x9488c
-	db $0, $5a, $4f
-	db "learned", $55
-	db "@"
-; 0x9488c + 12 bytes
-
-UnnamedText_94898: ; 0x94898
-	TX_RAM $cd6d
-	db $0, "!", $58
-; 0x94898 + 6 bytes
-
-_UnnamedText_3fb09: ; 0x9489e
-	db $0, $59, "'s", $4f
-	db "@"
-; 0x9489e + 5 bytes
-
-UnnamedText_948a3: ; 0x948a3
-	TX_RAM $cd6d
-	db $0, " was", $55
-	db "disabled!", $58
-; 0x948a3 + 19 bytes
-
-_UnnamedText_3fb3e: ; 0x948b6
-	db $0, "Nothing happened!", $58
-; 0x948b6 + 19 bytes
-
-_UnnamedText_3fb49: ; 0x948c9
-	db $0, "No effect!", $58
-; 0x948c9 + 12 bytes
-
-_UnnamedText_3fb59: ; 0x948d5
-	db $0, "But, it failed! ", $58
-; 0x948d5 + 18 bytes
-
-_UnnamedText_3fb64: ; 0x948e7
-	db $0, "It didn't affect", $4f
-	db $59, "!", $58
-; 0x948e7 + 20 bytes
-
-_UnnamedText_3fb69: ; 0x948fb
-	db $0, $59, $4f
-	db "is unaffected!", $58
-; 0x948fb + 18 bytes
-
-_UnnamedText_3fb74: ; 0x9490d
-	db $0, $59, "'s", $4f
-	db "paralyzed! It may", $55
-	db "not attack!", $58
-; 0x9490d + 34 bytes
-
-_UnnamedText_17e1d: ; 0x9492f
-	db $0, "It created a", $4f
-	db "SUBSTITUTE!", $58
-; 0x9492f + 26 bytes
-
-_UnnamedText_17e22: ; 0x94949
-	db $0, $5a, $4f
-	db "has a SUBSTITUTE!", $58
-; 0x94949 + 21 bytes
-
-_UnnamedText_17e27: ; 0x9495e
-	db $0, "Too weak to make", $4f
-	db "a SUBSTITUTE!", $58
-; 0x9495e + 32 bytes
-
-_UnnamedText_2ff04: ; 0x9497e
-	db $0, "Coins scattered", $4f
-	db "everywhere!", $58
-; 0x9497e + 29 bytes
-
-_UnnamedText_27fb3: ; 0x9499b
-	db $0, $5a, "'s", $4f
-	db "getting pumped!", $58
-; 0x9499b + 20 bytes
-
-_UnnamedText_2bef2: ; 0x949af
-	db $0, $59, $4f
-	db "was seeded!", $58
-; 0x949af + 15 bytes
-
-_UnnamedText_2bef7: ; 0x949be
-	db $0, $59, $4f
-	db "evaded attack!", $58
-; 0x949be + 18 bytes
-
-_UnnamedText_1399e: ; 0x949d0
-	db $0, $5a, "'s", $4f
-	db "hit with recoil!", $58
-; 0x949d0 + 21 bytes
-
-_UnnamedText_139cd: ; 0x949e5
-	db $0, "Converted type to", $4f
-	db $59, "'s!", $58
-; 0x949e5 + 23 bytes
-
-_UnnamedText_13a53: ; 0x949fc
-	db $0, "All STATUS changes", $4f
-	db "are eliminated!", $58
-; 0x949fc + 36 bytes
-
-_UnnamedText_3baa2: ; 0x94a20
-	db $0, $5a, $4f
-	db "started sleeping!", $57
-; 0x94a20 + 21 bytes
-
-_UnnamedText_3baa7: ; 0x94a35
-	db $0, $5a, $4f
-	db "fell asleep and", $55
-	db "became healthy!", $57
-; 0x94a35 + 35 bytes
-
-_UnnamedText_3baac: ; 0x94a58
-	db $0, $5a, $4f
-	db "regained health!", $58
-; 0x94a58 + 20 bytes
-
-_UnnamedText_3bb92: ; 0x94a6c
-	db $0, $5a, $4f
-	db "transformed into", $55
-	db "@"
-; 0x94a6c + 21 bytes
-
-UnnamedText_94a81: ; 0x94a81
-	TX_RAM $cd6d
-	db $0, "!", $58
-; 0x94a81 + 6 bytes
-
-_UnnamedText_3bbd7: ; 0x94a87
-	db $0, $5a, "'s", $4f
-	db "protected against", $55
-	db "special attacks!", $58
-; 0x94a87 + 39 bytes
-
-_UnnamedText_3bbdc: ; 0x94aae
-	db $0, $5a, $4f
-	db "gained armor!", $58
-; 0x94aae + 17 bytes
-
-_UnnamedText_33f52: ; 0x94abf
-	db $0, $5a, "'s", $4f
-	db "shrouded in mist!", $58
-; 0x94abf + 22 bytes
-
-_UnnamedText_78dc: ; 0x94ad5
-	db $0, "Sucked health from", $4f
-	db $59, "!", $58
-; 0x94ad5 + 23 bytes
-
-_UnnamedText_78e1: ; 0x94aec
-	db $0, $59, "'s", $4f
-	db "dream was eaten!", $58
-; 0x94aec + 21 bytes
-
-_BattleCenterMText1: ; 0x94b01
-	db $0, "!", $57
-
-_TradeCenterMText1: ; 0x94b04
-	db $0, "!", $57
-
-INCLUDE "text/mapRedsHouse1F.tx"
-INCLUDE "text/mapBluesHouse.tx"
-
-_OaksLabGaryText1: ; 0x94d5b
-	db $0, $53, ": Yo", $4f
-	db $52, "! Gramps", $55
-	db "isn't around!", $57
-; 0x94d5b + 30 bytes
-
-_OaksLabText40: ; 0x94d79
-	db $0, $53, ": Heh, I", $4f
-	db "don't need to be", $55
-	db "greedy like you!", $51
-	db "Go ahead and", $4f
-	db "choose, ", $52, "!", $57
-; 0x94d79 + 68 bytes
-
-_OaksLabText41: ; 0x94dbd
-	db $0, $53, ": My", $4f
-	db "#MON looks a", $55
-	db "lot stronger.", $57
-; 0x94dbd + 34 bytes
-
-_OaksLabText39: ; 0x94ddf
-	db $0
-	db "Those are #", $4f
-	db "BALLs. They", $55
-	db "contain #MON!", $57
-; 0x94e06
-
-_OaksLabCharmanderText: ; 0x94e06
-	db $0, "So! You want the", $4f
-	db "fire #MON,", $55
-	db "CHARMANDER?", $57
-; 0x94e2f
-
-_OaksLabSquirtleText: ; 0x94e2f
-	db $0, "So! You want the", $4f
-	db "water #MON,", $55
-	db "SQUIRTLE?", $57
-; 0x94e57
-
-_OaksLabBulbasaurText: ; 0x94e57
-	db $0, "So! You want the", $4f
-	db "plant #MON,", $55
-	db "BULBASAUR?", $57
-; 0x94e80
-
-_OaksLabMonEnergeticText: ; 0x94e80
-	db $0, "This #MON is", $4f
-	db "really energetic!", $58
-; 0x94ea0
-
-_OaksLabReceivedMonText: ; 0x94ea0
-	db $0, $52, " received", $4f
-	db "a @"
-	TX_RAM $cd6d
-	db $0, "!@@"
-; 0x94eb6
-
-_OaksLabLastMonText: ; 0x94eb6
-	db $0, "That's PROF.OAK's", $4f
-	db "last #MON!", $57
-; 0x94ed2
-
-_UnnamedText_1d2f0: ; 0x94ed2
-	db $0, "OAK: Now, ", $52, ",", $4f
-	db "which #MON do", $55
-	db "you want?", $57
-; 0x94ef8
-
-_UnnamedText_1d2f5: ; 0x94ef8
-	db $0, "OAK: If a wild", $4f
-	db "#MON appears,", $55
-	db "your #MON can", $55
-	db "fight against it!", $57
-; 0x94f36
-
-_UnnamedText_1d2fa: ; 0x94f36
-	db $0, "OAK: ", $52, ",", $4f
-	db "raise your young", $55
-	db "#MON by making", $55
-	db "it fight!", $57
-; 0x94f36 + 51 bytes
-
-_OaksLabDeliverParcelText1: ; 0x94f69
-	db $0, "OAK: Oh, ", $52, "!", $51
-	db "How is my old", $4f
-	db "#MON?", $51
-	db "Well, it seems to", $4f
-	db "like you a lot.", $51
-	db "You must be", $4f
-	db "talented as a", $55
-	db "#MON trainer!", $51
-	db "What? You have", $4f
-	db "something for me?", $51
-	db $52, " delivered", $4f
-	db "OAK's PARCEL.@@"
-; 0x94f69 + 166 bytes
-
-_OaksLabDeliverParcelText2: ; 0x9500f
-	db $0, $51
-	db "Ah! This is the", $4f
-	db "custom # BALL", $55
-	db "I ordered!", $55
-	db "Thank you!", $57
-; 0x9500f + 54 bytes
-
-_OaksLabAroundWorldText: ; 0x95045
-	db $0, "#MON around the", $4f
-	db "world wait for", $55
-	db "you, ", $52, "!", $57
-; 0x95045 + 40 bytes
-
-_OaksLabGivePokeballsText1: ; 0x9506d
-	db $0, "OAK: You can't get", $4f
-	db "detailed data on", $55
-	db "#MON by just", $55
-	db "seeing them.", $51
-	db "You must catch", $4f
-	db "them! Use these", $55
-	db "to capture wild", $55
-	db "#MON.", $51
-	db $52, " got 5", $4f
-	db "# BALLs!@@"
-; 0x9506d + 133 bytes
-
-_OaksLabGivePokeballsText2: ; 0x950f2
-	db $0, $51
-	db "When a wild", $4f
-	db "#MON appears,", $55
-	db "it's fair game.", $51
-	db "Just throw a #", $4f
-	db "BALL at it and try", $4f
-	db "to catch it!", $51
-	db "This won't always", $4f
-	db "work, though.", $51
-	db "A healthy #MON", $4f
-	db "could escape. You", $55
-	db "have to be lucky!", $57
-; 0x950f2 + 172 bytes
-
-_OaksLabPleaseVisitText: ; 0x9519e
-	db $0, "OAK: Come see me", $4f
-	db "sometimes.", $51
-	db "I want to know how", $4f
-	db "your #DEX is", $55
-	db "coming along.", $57
-; 0x9519e + 75 bytes
-
-_UnnamedText_1d31d: ; 0x951e9
-	db $0, "OAK: Good to see ", $4f
-	db "you! How is your ", $55
-	db "#DEX coming? ", $55
-	db "Here, let me take", $55
-	db "a look!", $58
-; 0x951e9 + 77 bytes
-
-_UnnamedText_1d32c: ; 0x95236
-	db $0, "It's encyclopedia-", $4f
-	db "like, but the", $55
-	db "pages are blank!", $57
-; 0x95236 + 50 bytes
-
-_OaksLabText8: ; 0x95268
-	db $0, "?", $57
-
-_UnnamedText_1d340: ; 0x9526b
-	db $0, "PROF.OAK is the", $4f
-	db "authority on", $55
-	db "#MON!", $51
-	db "Many #MON", $4f
-	db "trainers hold him", $55
-	db "in high regard!", $57
-; 0x9526b + 80 bytes
-
-_OaksLabRivalWaitingText: ; 0x952bb
-	db $0, $53, ": Gramps!", $4f
-	db "I'm fed up with", $55
-	db "waiting!", $57
-; 0x952bb + 36 bytes
-
-_OaksLabChooseMonText: ; 0x952df
-	db $0, "OAK: ", $53, "?", $4f
-	db "Let me think...", $51
-	db "Oh, that's right,", $4f
-	db "I told you to", $55
-	db "come! Just wait!", $51
-	db "Here, ", $52, "!", $51
-	db "There are 3", $4f
-	db "#MON here!", $51
-	db "Haha!", $51
-	db "They are inside", $4f
-	db "the # BALLs.", $51
-	db "When I was young,", $4f
-	db "I was a serious", $55
-	db "#MON trainer!", $51
-	db "In my old age, I", $4f
-	db "have only 3 left,", $55
-	db "but you can have", $55
-	db "one! Choose!", $57
-; 0x952df + 253 bytes
-
-_OaksLabRivalInterjectionText: ; 0x953dc
-	db $0, $53, ": Hey!", $4f
-	db "Gramps! What", $55
-	db "about me?", $57
-; 0x953dc + 32 bytes
-
-_OaksLabBePatientText: ; 0x953fc
-	db $0, "OAK: Be patient!", $4f
-	db $53, ", you can", $55
-	db "have one too!", $57
-; 0x953fc + 43 bytes
-
-_OaksLabLeavingText: ; 0x95427
-	db $0, "OAK: Hey! Don't go", $4f
-	db "away yet!", $57
-; 0x95427 + 29 bytes
-
-_OaksLabRivalPickingMonText: ; 0x95444
-	db $0, $53, ": I'll take", $4f
-	db "this one, then!", $57
-; 0x95444 + 29 bytes
-
-_OaksLabRivalReceivedMonText: ; 0x95461
-	db $0, $53, " received", $4f
-	db "a @"
-; 0x95470
-
-UnnamedText_95470: ; 0x95470
-	TX_RAM $cd6d
-	db $0, "!@@"
-; 0x95470 + 7 bytes
-
-_OaksLabRivalChallengeText: ; 0x95477
-	db $0, $53, ": Wait", $4f
-	db $52, "!", $55
-	db "Let's check out", $55
-	db "our #MON!", $51
-	db "Come on, I'll take", $4f
-	db "you on!", $57
-; 0x95477 + 63 bytes
-
-_UnnamedText_1d3be: ; 0x954b6
-	db $0, "WHAT?", $4f
-	db "Unbelievable!", $55
-	db "I picked the", $55
-	db "wrong #MON!", $58
-; 0x954b6 + 46 bytes
-
-_UnnamedText_1d3c3: ; 0x954e4
-	db $0, $53, ": Yeah! Am", $4f
-	db "I great or what?", $58
-; 0x954e4 + 30 bytes
-
-_OaksLabRivalToughenUpText: ; 0x95502
-	db $0, $53, ": Okay!", $4f
-	db "I'll make my", $55
-	db "#MON fight to", $55
-	db "toughen it up!", $51
-	db $52, "! Gramps!", $4f
-	db "Smell you later!", $57
-; 0x95502 + 79 bytes
-
-_OaksLabText21: ; 0x95551
-	db $0, $53, ": Gramps!", $57
-; 0x95551 + 12 bytes
-
-_OaksLabText22: ; 0x9555d
-	db $0, $53, ": What did", $4f
-	db "you call me for?", $57
-; 0x9555d + 30 bytes
-
-_OaksLabText23: ; 0x9557b
-	db $0, "OAK: Oh right! I", $4f
-	db "have a request", $55
-	db "of you two.", $57
-; 0x9557b + 45 bytes
-
-_OaksLabText24: ; 0x955a8
-	db $0, "On the desk there", $4f
-	db "is my invention,", $55
-	db "#DEX!", $51
-	db "It automatically", $4f
-	db "records data on", $55
-	db "#MON you've", $55
-	db "seen or caught!", $51
-	db "It's a hi-tech", $4f
-	db "encyclopedia!", $57
-; 0x955a8 + 130 bytes
-
-_OaksLabText25: ; 0x9562a
-	db $0, "OAK: ", $52, " and", $4f
-	db $53, "! Take", $55
-	db "these with you!", $51
-	db $52, " got", $4f
-	db "#DEX from OAK!@@"
-; 0x9562a + 58 bytes
-
-_OaksLabText26: ; 0x95664
-	db $0, "To make a complete", $4f
-	db "guide on all the", $55
-	db "#MON in the", $55
-	db "world...", $51
-	db "That was my dream!", $51
-	db "But, I'm too old!", $4f
-	db "I can't do it!", $51
-	db "So, I want you two", $4f
-	db "to fulfill my", $55
-	db "dream for me!", $51
-	db "Get moving, you", $4f
-	db "two!", $51
-	db "This is a great", $4f
-	db "undertaking in", $55
-	db "#MON history!", $57
-; 0x95664 + 221 bytes
-
-_OaksLabText27: ; 0x95741
-	db $0, $53, ": Alright", $4f
-	db "Gramps! Leave it", $55
-	db "all to me!", $51
-	db $52, ", I hate to", $4f
-	db "say it, but I", $55
-	db "don't need you!", $51
-	db "I know! I'll", $4f
-	db "borrow a TOWN MAP", $55
-	db "from my sis!", $51
-	db "I'll tell her not", $4f
-	db "to lend you one,", $55
-	db $52, "! Hahaha!", $57
-; 0x95741 + 170 bytes
-
-_UnnamedText_1d405: ; 0x957eb
-	db $0, "I study #MON as", $4f
-	db "PROF.OAK's AIDE.", $57
-; 0x957eb + 33 bytes
-
-_UnnamedText_441cc: ; 0x9580c
-	db $0, "#DEX comp-", $4f
-	db "letion is:", $51
-	db "@"
-; 0x9580c + 24 bytes
-
-UnnamedText_95824: ; 0x95824
-	TX_NUM $ffdb, 1, 3
-	db $0, " #MON seen", $4f
-	db "@"
-; 0x95835
-
-UnnamedText_95835: ; 0x95835
-	TX_NUM $ffdc, 1, 3
-	db $0, " #MON owned", $51
-	db "PROF.OAK's", $4f
-	db "Rating:", $58
-; 0x95858
-
-_UnnamedText_44201: ; 0x95858
-	db $0, "You still have", $4f
-	db "lots to do.", $55
-	db "Look for #MON", $55
-	db "in grassy areas!", $57
-; 0x95858 + 59 bytes
-
-_UnnamedText_44206: ; 0x95893
-	db $0, "You're on the", $4f
-	db "right track! ", $55
-	db "Get a FLASH HM", $55
-	db "from my AIDE!", $57
-; 0x95893 + 57 bytes
-
-_UnnamedText_4420b: ; 0x958cc
-	db $0, "You still need", $4f
-	db "more #MON!", $55
-	db "Try to catch", $55
-	db "other species!", $57
-; 0x958cc + 55 bytes
-
-_UnnamedText_44210: ; 0x95903
-	db $0, "Good, you're", $4f
-	db "trying hard!", $55
-	db "Get an ITEMFINDER", $55
-	db "from my AIDE!", $57
-; 0x95903 + 58 bytes
-
-_UnnamedText_44215: ; 0x9593d
-	db $0, "Looking good!", $4f
-	db "Go find my AIDE", $55
-	db "when you get 50!", $57
-; 0x9593d + 48 bytes
-
-_UnnamedText_4421a: ; 0x9596d
-	db $0, "You finally got at", $4f
-	db "least 50 species!", $55
-	db "Be sure to get", $55
-	db "EXP.ALL from my", $55
-	db "AIDE!", $57
-; 0x9596d + 75 bytes
-
-_UnnamedText_4421f: ; 0x959b8
-	db $0, "Ho! This is geting", $4f
-	db "even better!", $57
-; 0x959b8 + 33 bytes
-
-_UnnamedText_44224: ; 0x959d9
-	db $0, "Very good!", $4f
-	db "Go fish for some", $55
-	db "marine #MON!", $57
-; 0x959d9 + 42 bytes
-
-_UnnamedText_44229: ; 0x95a03
-	db $0, "Wonderful!", $4f
-	db "Do you like to", $55
-	db "collect things?", $57
-; 0x95a03 + 43 bytes
-
-_UnnamedText_4422e: ; 0x95a2e
-	db $0, "I'm impressed!", $4f
-	db "It must have been", $55
-	db "difficult to do!", $57
-; 0x95a2e + 50 bytes
-
-_UnnamedText_44233: ; 0x95a60
-	db $0, "You finally got at", $4f
-	db "least 100 species!", $55
-	db "I can't believe", $55
-	db "how good you are!", $57
-; 0x95a60 + 72 bytes
-
-_UnnamedText_44238: ; 0x95aa8
-	db $0, "You even have the", $4f
-	db "evolved forms of", $55
-	db "#MON! Super!", $57
-; 0x95aa8 + 49 bytes
-
-_UnnamedText_4423d: ; 0x95ad9
-	db $0, "Excellent! Trade", $4f
-	db "with friends to", $55
-	db "get some more!", $57
-; 0x95ad9 + 49 bytes
-
-_UnnamedText_44242: ; 0x95b0a
-	db $0, "Outstanding!", $4f
-	db "You've become a", $55
-	db "real pro at this!", $57
-; 0x95b0a + 47 bytes
-
-_UnnamedText_44247: ; 0x95b39
-	db $0, "I have nothing", $4f
-	db "left to say!", $55
-	db "You're the", $55
-	db "authority now!", $57
-; 0x95b39 + 54 bytes
-
-_UnnamedText_4424c: ; 0x95b6f
-	db $0, "Your #DEX is", $4f
-	db "entirely complete!", $55
-	db "Congratulations!", $57
-; 0x95b6f + 50 bytes
-
-_ViridianPokeCenterText2: ; 0x95ba1
-_ViridianPokeCenterText1: ; 0x95ba1
-	db $0, "You can use that", $4f
-	db "PC in the corner.", $51
-	db "The receptionist", $4f
-	db "told me. So kind!", $57
-
-_ViridianPokeCenterText3: ; 0x95be8
-	db $0, "There's a #MON", $4f
-	db "CENTER in every", $55
-	db "town ahead.", $51
-	db "They don't charge", $4f
-	db "any money either!", $57
-
-_ViridianMartText1: ; 0x95c36
-	db $0, "Okay! Say hi to", $4f
-	db "PROF.OAK for me!", $57
-
-_UnnamedText_1d4f5: ; 0x95c58
-	db $0, "Hey! You came from", $4f
-	db "PALLET TOWN?", $57
-; 0x95c58 + 33 bytes
-
-ViridianMartParcelQuestText: ; 0x95c79
-	db $0, "You know PROF.", $4f
-	db "OAK, right?", $51
-	db "His order came in.", $4f
-	db "Will you take it", $55
-	db "to him?", $51
-	db $52, " got", $4f
-	db "OAK's PARCEL!@@"
-; 0x95c79 + 92 bytes
-
-_ViridianMartText2: ; 0x95cd5
-	db $0, "This shop sells", $4f
-	db "many ANTIDOTEs.", $57
-
-_ViridianMartText3: ; 0x95cf6
-	db $0, "No! POTIONs are", $4f
-	db "all sold out.", $57
-
-_SchoolText1: ; 0x95d15
-	db $0, "Whew! I'm trying", $4f
-	db "to memorize all", $55
-	db "my notes.", $57
-
-_SchoolText2: ; 0x95d40
-	db $0, "Okay!", $51
-	db "Be sure to read", $4f
-	db "the blackboard", $55
-	db "carefully!", $57
-
-_ViridianHouseText1: ; 0x95d71
-	db $0, "Coming up with", $4f
-	db "nicknames is fun,", $55
-	db "but hard.", $51
-	db "Simple names are", $4f
-	db "the easiest to", $55
-	db "remember.", $57
-
-_ViridianHouseText2: ; 0x95dc7
-	db $0, "My Daddy loves", $4f
-	db "#MON too.", $57
-
-_UnnamedText_1d5b1: ; 0x95de1
-	db $0, "SPEARY: Tetweet!", $57
-; 0x95de1 + 18 bytes
-
-_ViridianHouseText4: ; 0x95df3
-	db $0, "SPEAROW", $4f
-	db "Name: SPEARY", $57
-
-_UnnamedText_74ace: ; 0x95e09
-	db $0, "Fwahahaha! This is", $4f
-	db "my hideout!", $51
-	db "I planned to", $4f
-	db "resurrect TEAM", $55
-	db "ROCKET here!", $51
-	db "But, you have", $4f
-	db "caught me again!", $55
-	db "So be it! This", $55
-	db "time, I'm not", $55
-	db "holding back!", $51
-	db "Once more, you", $4f
-	db "shall face", $55
-	db "GIOVANNI, the", $55
-	db "greatest trainer!", $57
-; 0x95e09 + 204 bytes
-
-_UnnamedText_74ad3: ; 0x95ed5
-	db $0, "Ha!", $4f
-	db "That was a truly", $55
-	db "intense fight!", $55
-	db "You have won!", $55
-	db "As proof, here is", $55
-	db "the EARTHBADGE!@@"
-; 0x95ed5 + 85 bytes
-
-_UnnamedText_74ad9: ; 0x95f2b
-	db $0, "Having lost, I", $4f
-	db "cannot face my", $55
-	db "underlings!", $55
-	db "TEAM ROCKET is", $55
-	db "finished forever!", $51
-	db "I will dedicate my", $4f
-	db "life to the study", $55
-	db "of #MON!", $51
-	db "Let us meet again", $4f
-	db "some day!", $55
-	db "Farewell!@@"
-; 0x95f2b + 160 bytes
-
-_ViridianGymText12: ; 0x95fcc
-	db $0, "The EARTHBADGE", $4f
-	db "makes #MON of", $55
-	db "any level obey!", $51
-	db "It is evidence of", $4f
-	db "your mastery as a", $55
-	db "#MON trainer!", $51
-	db "With it, you can", $4f
-	db "enter the #MON", $55
-	db "LEAGUE!", $51
-	db "It is my gift for", $4f
-	db "your #MON", $55
-	db "LEAGUE challenge!", $57
-; 0x95fcc + 182 bytes
-
-ReceivedTM27Text: ; 0x96082
-_UnnamedText_74ae4:
-	db $0, $52, " received", $4f
-	db "TM27!@@"
-; 0x96082 + 19 bytes
-
-_UnnamedText_74ae9: ; 0x96095
-	db $0, $51
-	db "TM27 is FISSURE!", $4f
-	db "It will take out", $55
-	db "#MON with just", $55
-	db "one hit!", $51
-	db "I made it when I", $4f
-	db "ran the GYM here,", $55
-	db "too long ago...", $57
-; 0x96095 + 111 bytes
-
-_UnnamedText_74aee: ; 0x96104
-	db $0, "You do not have", $4f
-	db "space for this!", $57
-; 0x96104 + 33 bytes
-
-_UnnamedText_74afd: ; 0x96125
-	db $0, "Heh! You must be", $4f
-	db "running out of", $55
-	db "steam by now!", $57
-; 0x96125 + 47 bytes
-
-_UnnamedText_74b02: ; 0x96154
-	db $0, "I", $4f
-	db "ran out of gas!", $58
-; 0x96154 + 19 bytes
-
-_UnnamedText_74b07: ; 0x96167
-	db $0, "You need power to", $4f
-	db "keep up with our", $55
-	db "GYM LEADER!", $57
-; 0x96167 + 48 bytes
-
-_UnnamedText_74b16: ; 0x96197
-	db $0, "Rrrroar! I'm", $4f
-	db "working myself", $55
-	db "into a rage!", $57
-; 0x96197 + 41 bytes
-
-_UnnamedText_74b1b: ; 0x961c0
-	db $0, "Wargh!", $58
-; 0x961c0 + 8 bytes
-
-_UnnamedText_74b20: ; 0x961c8
-	db $0, "I'm still not", $4f
-	db "worthy!", $57
-; 0x961c8 + 22 bytes
-
-_UnnamedText_74b2f: ; 0x961de
-	db $0, "#MON and I, we", $4f
-	db "make wonderful", $55
-	db "music together!", $57
-; 0x961de + 47 bytes
-
-_UnnamedText_74b34: ; 0x9620d
-	db $0, "You are in", $4f
-	db "perfect harmony!", $58
-; 0x9620d + 29 bytes
-
-_UnnamedText_74b39: ; 0x9622a
-	db $0, "Do you know the", $4f
-	db "identity of our", $55
-	db "GYM LEADER?", $57
-; 0x9622a + 45 bytes
-
-_UnnamedText_74b48: ; 0x96257
-	db $0, "Karate is the", $4f
-	db "ultimate form of", $55
-	db "martial arts!", $57
-; 0x96257 + 46 bytes
-
-_UnnamedText_74b4d: ; 0x96285
-	db $0, "Atcho!", $58
-; 0x96285 + 8 bytes
-
-_UnnamedText_74b52: ; 0x9628d
-	db $0, "If my #MON", $4f
-	db "were as good at", $55
-	db "Karate as I...", $57
-; 0x9628d + 43 bytes
-
-_UnnamedText_74b61: ; 0x962b8
-	db $0, "The truly talented", $4f
-	db "win with style!", $57
-; 0x962b8 + 36 bytes
-
-_UnnamedText_74b66: ; 0x962dc
-	db $0, "I", $4f
-	db "lost my grip!", $58
-; 0x962dc + 17 bytes
-
-_UnnamedText_74b6b: ; 0x962ed
-	db $0, "The LEADER will", $4f
-	db "scold me!", $57
-; 0x962ed + 27 bytes
-
-_UnnamedText_74b7a: ; 0x96308
-	db $0, "I'm the KARATE", $4f
-	db "KING! Your fate", $55
-	db "rests with me!", $57
-; 0x96308 + 46 bytes
-
-_UnnamedText_74b7f: ; 0x96336
-	db $0, "Ayah!", $58
-; 0x96336 + 7 bytes
-
-_UnnamedText_74b84: ; 0x9633d
-	db $0, "#MON LEAGUE?", $4f
-	db "You? Don't get", $55
-	db "cocky!", $57
-; 0x9633d + 35 bytes
-
-_UnnamedText_74b93: ; 0x96360
-	db $0, "Your #MON will", $4f
-	db "cower at the", $55
-	db "crack of my whip!", $57
-; 0x96360 + 47 bytes
-
-_UnnamedText_74b98: ; 0x9638f
-	db $0, "Yowch!", $4f
-	db "Whiplash!", $58
-; 0x9638f + 18 bytes
-
-_UnnamedText_74b9d: ; 0x963a1
-	db $0, "Wait! I was just", $4f
-	db "careless!", $57
-; 0x963a1 + 28 bytes
-
-_UnnamedText_74bac: ; 0x963bd
-	db $0, "VIRIDIAN GYM was", $4f
-	db "closed for a long", $55
-	db "time, but now our", $55
-	db "LEADER is back!", $57
-; 0x963bd + 70 bytes
-
-_UnnamedText_74bb1: ; 0x96403
-	db $0, "I", $4f
-	db "was beaten?", $58
-; 0x96403 + 15 bytes
-
-_UnnamedText_74bb6: ; 0x96412
-	db $0, "You can go onto", $4f
-	db "#MON LEAGUE", $55
-	db "only by defeating", $55
-	db "our GYM LEADER!", $57
-; 0x96412 + 63 bytes
-
-_UnnamedText_74bd4: ; 0x96451
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "Even I don't know", $4f
-	db "VIRIDIAN LEADER's", $55
-	db "identity!", $51
-	db "This will be the", $4f
-	db "toughest of all", $55
-	db "the GYM LEADERs!", $51
-	db "I heard that the", $4f
-	db "trainers here", $55
-	db "like ground-type", $55
-	db "#MON!", $57
-; 0x96451 + 170 bytes
-
-_UnnamedText_74bd9: ; 0x964fb
-	db $0, "Blow me away!", $4f
-	db "GIOVANNI was the", $55
-	db "GYM LEADER here?", $57
-; 0x964fb + 49 bytes
-
-_UnnamedText_5c21a: ; 0x9652c
-	db $0, "Come again!", $57
-; 0x9652c + 13 bytes
-
-_UnnamedText_5c21f: ; 0x96539
-	db $0, "It's ", $f0, "50 for a", $4f
-	db "child's ticket.", $51
-	db "Would you like to", $4f
-	db "come in?", $57
-; 0x96539 + 57 bytes
-
-_UnnamedText_5c224: ; 0x96572
-	db $0, "Right, ", $f0, "50!", $4f
-	db "Thank you!", $57
-; 0x96572 + 24 bytes
-
-_UnnamedText_5c229: ; 0x9658a
-	db $0, "You don't have", $4f
-	db "enough money.", $58
-; 0x9658a + 29 bytes
-
-_UnnamedText_5c22e: ; 0x965a7
-	db $0, "You can't sneak", $4f
-	db "in the back way!", $51
-	db "Oh, whatever!", $4f
-	db "Do you know what", $55
-	db "AMBER is?", $57
-; 0x965a7 + 74 bytes
-
-_UnnamedText_5c233: ; 0x965f1
-	db $0, "There's a lab", $4f
-	db "somewhere trying", $55
-	db "to resurrect", $55
-	db "ancient #MON", $55
-	db "from AMBER.", $57
-; 0x965f1 + 69 bytes
-
-_UnnamedText_5c238: ; 0x96636
-	db $0, "AMBER is fossil-", $4f
-	db "ized tree sap.", $57
-; 0x96636 + 33 bytes
-
-_UnnamedText_5c23d: ; 0x96657
-	db $0, "Please go to the", $4f
-	db "other side!", $57
-; 0x96657 + 30 bytes
-
-_UnnamedText_5c242: ; 0x96675
-	db $0, "Take plenty of", $4f
-	db "time to look!", $57
-; 0x96675 + 30 bytes
-
-_UnnamedText_5c251: ; 0x96693
-	db $0, "That is one", $4f
-	db "magnificent", $55
-	db "fossil!", $57
-; 0x96693 + 33 bytes
-
-_UnnamedText_5c28e: ; 0x966b4
-	db $0, "Ssh! I think that", $4f
-	db "this chunk of", $55
-	db "AMBER contains", $55
-	db "#MON DNA!", $51
-	db "It would be great", $4f
-	db "if #MON could", $55
-	db "be resurrected", $55
-	db "from it!", $51
-	db "But, my colleagues", $4f
-	db "just ignore me!", $51
-	db "So I have a favor", $4f
-	db "to ask!", $51
-	db "Take this to a", $4f
-	db "#MON LAB and", $55
-	db "get it examined!", $58
-; 0x966b4 + 220 bytes
-
-_ReceivedOldAmberText: ; 0x96790
-	db $0, $52, " received", $4f
-	db "OLD AMBER!@@"
-; 0x96790 + 24 bytes
-
-_UnnamedText_5c299: ; 0x967a8
-	db $0, "Ssh! Get the OLD", $4f
-	db "AMBER checked!", $57
-; 0x967a8 + 33 bytes
-
-_UnnamedText_5c29e: ; 0x967c9
-	db $0, "You don't have", $4f
-	db "space for this!", $57
-; 0x967c9 + 31 bytes
-
-_UnnamedText_5c2ad: ; 0x967e8
-	db $0, "We are proud of 2", $4f
-	db "fossils of very", $55
-	db "rare, prehistoric", $55
-	db "#MON!", $57
-; 0x967e8 + 59 bytes
-
-_UnnamedText_5c2bc: ; 0x96823
-	db $0, "The AMBER is", $4f
-	db "clear and gold!", $57
-; 0x96823 + 30 bytes
-
-_MuseumF2Text1: ; 0x96841
-	db $0, "MOON STONE?", $51
-	db "What's so special", $4f
-	db "about it?", $57
-
-_MuseumF2Text2: ; 0x96869
-	db $0, "July 20, 1969!", $51
-	db "The 1st lunar", $4f
-	db "landing!", $51
-	db "I bought a color", $4f
-	db "TV to watch it!", $57
-
-_MuseumF2Text3: ; 0x968b1
-	db $0, "We have a space", $4f
-	db "exhibit now.", $57
-
-_MuseumF2Text4: ; 0x968cf
-	db $0, "I want a PIKACHU!", $4f
-	db "It's so cute!", $51
-	db "I asked my Daddy", $4f
-	db "to catch me one!", $57
-
-_MuseumF2Text5: ; 0x96911
-	db $0, "Yeah, a PIKACHU", $4f
-	db "soon, I promise!", $57
-
-_MuseumF2Text6: ; 0x96933
-	db $0, "SPACE SHUTTLE", $4f
-	db "COLUMBIA", $57
-
-_MuseumF2Text7: ; 0x9694b
-	db $0, "Meteorite that", $4f
-	db "fell on MT.MOON.", $55
-	db "(MOON STONE?)", $57
-
-_UnnamedText_5c49e: ; 0x9697a
-	db $0, "I'm BROCK!", $4f
-	db "I'm PEWTER's GYM", $55
-	db "LEADER!", $51
-	db "I believe in rock", $4f
-	db "hard defense and", $55
-	db "determination!", $51
-	db "That's why my", $4f
-	db "#MON are all", $55
-	db "the rock-type!", $51
-	db "Do you still want", $4f
-	db "to challenge me?", $55
-	db "Fine then! Show", $55
-	db "me your best!", $57
-; 0x9697a + 190 bytes
-
-SECTION "bank26",DATA,BANK[$26]
-
-_UnnamedText_5c4a3: ; 0x98000
-	db $0, "There are all", $4f
-	db "kinds of trainers", $55
-	db "in the world!", $51
-	db "You appear to be", $4f
-	db "very gifted as a", $55
-	db "#MON trainer!", $51
-	db "Go to the GYM in", $4f
-	db "CERULEAN and test", $55
-	db "your abilities!", $57
-; 0x98000 + 146 bytes
-
-_UnnamedText_5c4a8: ; 0x98092
-	db $0, "Wait! Take this", $4f
-	db "with you!", $57
-; 0x98092 + 27 bytes
-
-_ReceivedTM34Text: ; 0x980ad
-	db $0, $52, " received", $4f
-	db "TM34!@@"
-; 0x980c0
-
-_UnnamedText_5c4b2: ; 0x980c0
-	db $0, $51
-	db "A TM contains a", $4f
-	db "technique that", $55
-	db "can be taught to", $55
-	db "#MON!", $51
-	db "A TM is good only", $4f
-	db "once! So when you", $55
-	db "use one to teach", $55
-	db "a new technique,", $55
-	db "pick the #MON", $55
-	db "carefully!", $51
-	db "TM34 contains", $4f
-	db "BIDE!", $51
-	db "Your #MON will", $4f
-	db "absorb damage in", $55
-	db "battle then pay", $55
-	db "it back double!", $57
-; 0x980c0 + 235 bytes
-
-_UnnamedText_5c4b7: ; 0x981ab
-	db $0, "You don't have", $4f
-	db "room for this!", $57
-; 0x981ab + 30 bytes
-
-_UnnamedText_5c4bc: ; 0x981c9
-	db $0, "I took", $4f
-	db "you for granted.", $51
-	db "As proof of your", $4f
-	db "victory, here's", $55
-	db "the BOULDERBADGE!", $51
-	db $52, " received", $4f
-	db "the BOULDERBADGE!@@"
-; 0x98232
-
-_UnnamedText_5c4c1: ; 0x98232
-	db $0, $51
-	db "That's an official", $4f
-	db "#MON LEAGUE", $55
-	db "BADGE!", $51
-	db "Its bearer's", $4f
-	db "#MON become", $55
-	db "more powerful!", $51
-	db "The technique", $4f
-	db "FLASH can now be", $55
-	db "used any time!", $58
-; 0x98232 + 124 bytes
-
-_UnnamedText_5c4d0: ; 0x982ae
-	db $0, "Stop right there,", $4f
-	db "kid!", $51
-	db "You're still light", $4f
-	db "years from facing", $55
-	db "BROCK!", $57
-; 0x982ae + 67 bytes
-
-_UnnamedText_5c4d5: ; 0x982f1
-	db $0, "Darn!", $51
-	db "Light years isn't", $4f
-	db "time! It measures", $55
-	db "distance!", $58
-; 0x982f1 + 52 bytes
-
-_UnnamedText_5c4da: ; 0x98325
-	db $0, "You're pretty hot,", $4f
-	db "but not as hot", $55
-	db "as BROCK!", $57
-; 0x98325 + 44 bytes
-
-_UnnamedText_5c515: ; 0x98351
-	db $0, "Hiya! I can tell", $4f
-	db "you have what it", $55
-	db "takes to become a", $55
-	db "#MON champ!", $51
-	db "I'm no trainer,", $4f
-	db "but I can tell", $55
-	db "you how to win!", $51
-	db "Let me take you", $4f
-	db "to the top!", $57
-; 0x98351 + 139 bytes
-
-_UnnamedText_5c51a: ; 0x983dc
-	db $0, "All right! Let's", $4f
-	db "get happening!", $58
-; 0x983dc + 32 bytes
-
-_UnnamedText_5c51f: ; 0x983fc
-	db $0, "The 1st #MON", $4f
-	db "out in a match is", $55
-	db "at the top of the", $55
-	db "#MON LIST!", $51
-	db "By changing the", $4f
-	db "order of #MON,", $55
-	db "matches could be", $55
-	db "made easier!", $57
-; 0x983fc + 122 bytes
-
-_UnnamedText_5c524: ; 0x98476
-	db $0, "It's a free", $4f
-	db "service! Let's", $55
-	db "get happening!", $58
-; 0x98476 + 41 bytes
-
-_UnnamedText_5c529: ; 0x9849f
-	db $0, "Just as I thought!", $4f
-	db "You're #MON", $55
-	db "champ material!", $57
-; 0x9849f + 47 bytes
-
-_PewterHouse1Text1: ; 0x984ce
-	db $0, "NIDORAN: Bowbow!@@"
-
-_PewterHouse1Text2: ; 0x984e1
-	db $0, "NIDORAN sit!", $57
-
-_PewterHouse1Text3: ; 0x984ef
-	db $0, "Our #MON's an", $4f
-	db "outsider, so it's", $55
-	db "hard to handle.", $51
-	db "An outsider is a", $4f
-	db "#MON that you", $55
-	db "get in a trade.", $51
-	db "It grows fast, but", $4f
-	db "it may ignore an", $55
-	db "unskilled trainer", $55
-	db "in battle!", $51
-	db "If only we had", $4f
-	db "some BADGEs...", $57
-
-_UnnamedText_74cc6: ; 0x985ac
-	db $0, "A shady, old man", $4f
-	db "got me to buy", $55
-	db "this really weird", $55
-	db "fish #MON!", $51
-	db "It's totally weak", $4f
-	db "and it cost ", $f0, "500!", $57
-; 0x985ac + 96 bytes
-
-_UnnamedText_74cd5: ; 0x9860c
-	db $0, "Good things can", $4f
-	db "happen if you", $55
-	db "raise #MON", $55
-	db "diligently, even", $55
-	db "the weak ones!", $57
-; 0x9860c + 74 bytes
-
-_PewterHouse2Text1: ; 0x98656
-	db $0, "#MON learn new", $4f
-	db "techniques as", $55
-	db "they grow!", $51
-	db "But, some moves", $4f
-	db "must be taught by", $55
-	db "the trainer!", $57
-
-_PewterHouse2Text2: ; 0x986ae
-	db $0, "#MON become", $4f
-	db "easier to catch", $55
-	db "when they are", $55
-	db "hurt or asleep!", $51
-	db "But, it's not a", $4f
-	db "sure thing!", $57
-
-_PewterPokecenterText1: ; 0x98704
-	db $0, "What!?", $51
-	db "TEAM ROCKET is", $4f
-	db "at MT.MOON? Huh?", $55
-	db "I'm on the phone!", $51
-	db "Scram!", $57
-
-_PewterPokecenterText5: ; 0x98744
-	db $0, "JIGGLYPUFF: Puu", $4f
-	db "pupuu!", $57
-; 0x9875c
-
-_UnnamedText_1d6ab: ; 0x9875c
-	db $0, "Those miserable", $4f
-	db "ROCKETs!", $51
-	db "Look what they", $4f
-	db "did here!", $51
-	db "They stole a TM", $4f
-	db "for teaching", $55
-	db "#MON how to", $55
-	db "DIG holes!", $51
-	db "That cost me a", $4f
-	db "bundle, it did!", $57
-; 0x9875c + 134 bytes
-
-_UnnamedText_1d6b0: ; 0x987e2
-	db $0, "I figure what's", $4f
-	db "lost is lost!", $51
-	db "I decided to teach", $4f
-	db "DIGLETT how to", $55
-	db "DIG without a TM!", $57
-; 0x987e2 + 82 bytes
-
-_CeruleanHouseTrashedText2: ; 0x98834
-	db $0, "TEAM ROCKET must", $4f
-	db "be trying to DIG", $55
-	db "their way into no", $55
-	db "good!", $57
-
-_CeruleanHouseTrashedText3: ; 0x9886f
-	db $0, "TEAM ROCKET left", $4f
-	db "a way out!", $57
-
-_CeruleanHouse2Text1: ; 0x9888c
-	db $0, "My husband likes", $4f
-	db "trading #MON.", $51
-	db "If you are a", $4f
-	db "collector, would", $55
-	db "you please trade", $55
-	db "with him?", $57
-
-_CeruleanPokecenterText1: ; 0x988e5
-	db $0, "That BILL!", $51
-	db "I heard that", $4f
-	db "he'll do whatever", $55
-	db "it takes to get", $55
-	db "rare #MON!", $57
-
-_CeruleanPokecenterText3: ; 0x9892a
-	db $0, "Have you heard", $4f
-	db "about BILL?", $51
-	db "Everyone calls", $4f
-	db "him a #MANIAC!", $51
-	db "I think people", $4f
-	db "are just jealous", $55
-	db "of BILL, though.", $51
-	db "Who wouldn't want", $4f
-	db "to boast about", $55
-	db "their #MON?", $57
-
-_UnnamedText_5c7be: ; 0x989c1
-	db $0, "Hi, you're a new", $4f
-	db "face!", $51
-	db "Trainers who want", $4f
-	db "to turn pro have", $55
-	db "to have a policy", $55
-	db "about #MON!", $51
-	db "What is your", $4f
-	db "approach when you", $55
-	db "catch #MON?", $51
-	db "My policy is an", $4f
-	db "all-out offensive", $55
-	db "with water-type", $55
-	db "#MON!", $57
-; 0x989c1 + 186 bytes
-
-_UnnamedText_5c7c3: ; 0x98a7b
-	db $0, "TM11 teaches", $4f
-	db "BUBBLEBEAM!", $51
-	db "Use it on an", $4f
-	db "aquatic #MON!", $57
-; 0x98a7b + 53 bytes
-
-_UnnamedText_5c7c8: ; 0x98ab0
-	db $0, "The CASCADEBADGE", $4f
-	db "makes all #MON", $55
-	db "up to L30 obey!", $51
-	db "That includes", $4f
-	db "even outsiders!", $51
-	db "There's more, you", $4f
-	db "can now use CUT", $55
-	db "any time!", $51
-	db "You can CUT down", $4f
-	db "small bushes to", $55
-	db "open new paths!", $51
-	db "You can also have", $4f
-	db "my favorite TM!", $57
-; 0x98ab0 + 205 bytes
-
-_ReceivedTM11Text: ; 0x98b7d
-	db $0, $52, " received", $4f
-	db "TM11!@@"
-; 0x98b90
-
-_UnnamedText_5c7d3: ; 0x98b90
-	db $0, "You better make", $4f
-	db "room for this!", $57
-; 0x98b90 + 32 bytes
-
-_UnnamedText_5c7d8: ; 0x98bb0
-	db $0, "Wow!", $4f
-	db "You're too much!", $51
-	db "All right!", $51
-	db "You can have the", $4f
-	db "CASCADEBADGE to", $55
-	db "show you beat me!@@"
-; 0x98c05
-
-_UnnamedText_5c7e9: ; 0x98c05
-	db $0, "I'm more than good", $4f
-	db "enough for you!", $51
-	db "MISTY can wait!", $57
-; 0x98c05 + 51 bytes
-
-_UnnamedText_5c7ee: ; 0x98c38
-	db $0, "You", $4f
-	db "overwhelmed me!", $58
-; 0x98c38 + 21 bytes
-
-_UnnamedText_5c7f3: ; 0x98c4d
-	db $0, "You have to face", $4f
-	db "other trainers to", $55
-	db "find out how good", $55
-	db "you really are.", $57
-; 0x98c4d + 70 bytes
-
-_UnnamedText_5c802: ; 0x98c93
-	db $0, "Splash!", $51
-	db "I'm first up!", $4f
-	db "Let's do it!", $57
-; 0x98c93 + 34 bytes
-
-_UnnamedText_5c807: ; 0x98cb5
-	db $0, "That", $4f
-	db "can't be!", $58
-; 0x98cb5 + 15 bytes
-
-_UnnamedText_5c80c: ; 0x98cc4
-	db $0, "MISTY is going to", $4f
-	db "keep improving!", $51
-	db "She won't lose to", $4f
-	db "someone like you!", $57
-; 0x98cc4 + 70 bytes
-
-_UnnamedText_5c82a: ; 0x98d0a
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "Here's my advice!", $51
-	db "The LEADER, MISTY,", $4f
-	db "is a pro who uses", $55
-	db "water #MON!", $51
-	db "You can drain all", $4f
-	db "their water with", $55
-	db "plant #MON!", $51
-	db "Or, zap them with", $4f
-	db "electricity!", $57
-; 0x98d0a + 166 bytes
-
-_UnnamedText_5c82f: ; 0x98db0
-	db $0, "You beat MISTY!", $4f
-	db "What'd I tell ya?", $51
-	db "You and me kid,", $4f
-	db "we make a pretty", $55
-	db "darn good team!", $57
-; 0x98db0 + 83 bytes
-
-_UnnamedText_1d810: ; 0x98e03
-	db $0, "Hi! Welcome to", $4f
-	db "our BIKE SHOP.", $51
-	db "Have we got just", $4f
-	db "the BIKE for you!", $58
-; 0x98e03 + 66 bytes
-
-_UnnamedText_1d815: ; 0x98e45
-	db $0, "It's a cool BIKE!", $4f
-	db "Do you want it?", $57
-; 0x98e45 + 34 bytes
-
-_UnnamedText_1d81a: ; 0x98e67
-	db $0, "Sorry! You can't", $4f
-	db "afford it!", $58
-; 0x98e67 + 28 bytes
-
-_UnnamedText_1d81f: ; 0x98e83
-	db $0, "Oh, that's...", $51
-	db "A BIKE VOUCHER!", $51
-	db "OK! Here you go!", $58
-; 0x98e83 + 47 bytes
-
-_UnnamedText_1d824: ; 0x98eb2
-	db $0, $52, " exchanged", $4f
-	db "the BIKE VOUCHER", $55
-	db "for a BICYCLE.@@"
-; 0x98ee0
-
-_UnnamedText_1d82a: ; 0x98ee0
-	db $0, "Come back again", $4f
-	db "some time!", $57
-; 0x98ee0 + 28 bytes
-
-_UnnamedText_1d82f: ; 0x98efc
-	db $0, "How do you like", $4f
-	db "your new BICYCLE?", $51
-	db "You can take it", $4f
-	db "on CYCLING ROAD", $55
-	db "and in caves!", $57
-; 0x98efc + 81 bytes
-
-_UnnamedText_1d834: ; 0x98f4d
-	db $0, "You better make", $4f
-	db "room for this!", $57
-; 0x98f4d + 32 bytes
-
-_UnnamedText_1d843: ; 0x98f6d
-	db $0, "A plain city BIKE", $4f
-	db "is good enough", $55
-	db "for me!", $51
-	db "You can't put a", $4f
-	db "shopping basket", $55
-	db "on an MTB!", $57
-; 0x98f6d + 84 bytes
-
-_UnnamedText_1d85c: ; 0x98fc1
-	db $0, "These BIKEs are", $4f
-	db "cool, but they're", $55
-	db "way expensive!", $57
-; 0x98fc1 + 49 bytes
-
-_UnnamedText_1d861: ; 0x98ff2
-	db $0, "Wow. Your BIKE is", $4f
-	db "really cool!", $57
-; 0x98ff2 + 32 bytes
-
-_CeruleanMartText2: ; 0x99012
-	db $0, "Use REPEL to keep", $4f
-	db "bugs and weak", $55
-	db "#MON away.", $51
-	db "Put your strongest", $4f
-	db "#MON at the", $55
-	db "top of the list", $55
-	db "for best results!", $57
-
-_CeruleanMartText3: ; 0x9907f
-	db $0, "Have you seen any", $4f
-	db "RARE CANDY?", $51
-	db "It's supposed to", $4f
-	db "make #MON go", $55
-	db "up one level!", $57
-
-_UnnamedText_74e77: ; 0x990c9
-	db $0, "#MON BADGEs", $4f
-	db "are owned only by", $55
-	db "skilled trainers.", $51
-	db "I see you have", $4f
-	db "at least one.", $51
-	db "Those BADGEs have", $4f
-	db "amazing secrets!", $58
-; 0x990c9 + 113 bytes
-
-_UnnamedText_74e7c: ; 0x9913a
-	db $0, "Now then...", $51
-	db "Which of the 8", $4f
-	db "BADGEs should I", $55
-	db "describe?", $57
-; 0x9913a + 54 bytes
-
-_UnnamedText_74e81: ; 0x99170
-	db $0, "Come visit me any", $4f
-	db "time you wish.", $57
-; 0x99170 + 34 bytes
-
-_UnnamedText_74e96: ; 0x99192
-	db $0, "The ATTACK of all", $4f
-	db "#MON increases", $55
-	db "a little bit.", $51
-	db "It also lets you", $4f
-	db "use FLASH any", $55
-	db "time you desire.", $58
-; 0x99192 + 96 bytes
-
-_UnnamedText_74e9b: ; 0x991f2
-	db $0, "#MON up to L30", $4f
-	db "will obey you.", $51
-	db "Any higher, they", $4f
-	db "become unruly!", $51
-	db "It also lets you", $4f
-	db "use CUT outside", $55
-	db "of battle.", $58
-; 0x991f2 + 107 bytes
-
-_UnnamedText_74ea0: ; 0x9925d
-	db $0, "The SPEED of all", $4f
-	db "#MON increases", $55
-	db "a little bit.", $51
-	db "It also lets you", $4f
-	db "use FLY outside", $55
-	db "of battle.", $58
-; 0x9925d + 91 bytes
-
-_UnnamedText_74ea5: ; 0x992b8
-	db $0, "#MON up to L50", $4f
-	db "will obey you.", $51
-	db "Any higher, they", $4f
-	db "become unruly!", $51
-	db "It also lets you", $4f
-	db "use STRENGTH out-", $55
-	db "side of battle.", $58
-; 0x992b8 + 114 bytes
-
-_UnnamedText_74eaa: ; 0x9932a
-	db $0, "The DEFENSE of all", $4f
-	db "#MON increases", $55
-	db "a little bit.", $51
-	db "It also lets you", $4f
-	db "use SURF outside", $55
-	db "of battle.", $58
-; 0x9932a + 94 bytes
-
-_UnnamedText_74eaf: ; 0x99388
-	db $0, "#MON up to L70", $4f
-	db "will obey you.", $51
-	db "Any higher, they", $4f
-	db "become unruly!", $58
-; 0x99388 + 63 bytes
-
-_UnnamedText_74eb4: ; 0x993c7
-	db $0, "Your #MON's", $4f
-	db "SPECIAL abilities", $55
-	db "increase a bit.", $58
-; 0x993c7 + 46 bytes
-
-_UnnamedText_74eb9: ; 0x993f5
-	db $0, "All #MON will", $4f
-	db "obey you!", $58
-; 0x993f5 + 25 bytes
-
-_LavenderPokecenterText4:
-_LavenderPokecenterText2:
-_LavenderPokecenterText1: ; 0x9940e
-	db $0, "TEAM ROCKET will", $4f
-	db "do anything for", $55
-	db "the sake of gold!", $57
-
-_LavenderPokecenterText3: ; 0x99442
-	db $0, "I saw CUBONE's", $4f
-	db "mother die trying", $55
-	db "to escape from", $55
-	db "TEAM ROCKET!", $57
-
-_PokemonTower1Text1: ; 0x9947f
-	db $0, "#MON TOWER was", $4f
-	db "erected in the", $55
-	db "memory of #MON", $55
-	db "that had died.", $57
-
-_PokemonTower1Text2: ; 0x994bc
-	db $0, "Did you come to", $4f
-	db "pay respects?", $55
-	db "Bless you!", $57
-
-_PokemonTower1Text3: ; 0x994e6
-	db $0, "I came to pray", $4f
-	db "for my CLEFAIRY.", $51
-	db "Sniff! I can't", $4f
-	db "stop crying...", $57
-
-_PokemonTower1Text4: ; 0x99524
-	db $0, "My GROWLITHE...", $4f
-	db "Why did you die?", $57
-
-_PokemonTower1Text5: ; 0x99546
-	db $0, "I am a CHANNELER!", $4f
-	db "There are spirits", $55
-	db "up to mischief!", $57
-
-_UnnamedText_6062d: ; 0x9957b
-	db $0, $53, ": Hey,", $4f
-	db $52, "! What", $55
-	db "brings you here?", $55
-	db "Your #MON", $55
-	db "don't look dead!", $51
-	db "I can at least", $4f
-	db "make them faint!", $55
-	db "Let's go, pal!", $57
-; 0x9957b + 106 bytes
-
-_UnnamedText_60632: ; 0x995e5
-	db $0, "What?", $4f
-	db "You stinker!", $51
-	db "I took it easy on", $4f
-	db "you too!", $58
-; 0x995e5 + 47 bytes
-
-_UnnamedText_60637: ; 0x99614
-	db $0, $53, ": Well,", $4f
-	db "look at all your", $55
-	db "wimpy #MON!", $51
-	db "Toughen them up a", $4f
-	db "bit more!", $58
-; 0x99614 + 67 bytes
-
-_UnnamedText_6063c: ; 0x99657
-	db $0, "How's your #DEX", $4f
-	db "coming, pal?", $55
-	db "I just caught a", $55
-	db "CUBONE!", $51
-	db "I can't find the", $4f
-	db "grown-up MAROWAK", $55
-	db "yet!", $51
-	db "I doubt there are", $4f
-	db "any left! Well, I", $55
-	db "better get going!", $55
-	db "I've got a lot to", $55
-	db "accomplish, pal!", $51
-	db "Smell ya later!", $57
-; 0x99657 + 195 bytes
-
-_PokemonTower2Text2: ; 0x9971a
-	db $0, "Even we could not", $4f
-	db "identify the", $55
-	db "wayward GHOSTs!", $51
-	db "A SILPH SCOPE", $4f
-	db "might be able to", $55
-	db "unmask them.", $57
-
-_UnnamedText_60730: ; 0x99776
-	db $0, "Urrg...Awaa...", $4f
-	db "Huhu...graa..", $57
-; 0x99776 + 30 bytes
-
-_UnnamedText_60735: ; 0x99794
-	db $0, "Hwa!", $4f
-	db "I'm saved!", $58
-; 0x99794 + 16 bytes
-
-_UnnamedText_6073a: ; 0x997a4
-	db $0, "The GHOSTs can be", $4f
-	db "identified by the", $55
-	db "SILPH SCOPE.", $57
-; 0x997a4 + 50 bytes
-
-_UnnamedText_6073f: ; 0x997d6
-	db $0, "Kekeke....", $4f
-	db "Kwaaah!", $57
-; 0x997d6 + 20 bytes
-
-_UnnamedText_60744: ; 0x997ea
-	db $0, "Hmm?", $4f
-	db "What am I doing?", $58
-; 0x997ea + 23 bytes
-
-_UnnamedText_60749: ; 0x99801
-	db $0, "Sorry! I was", $4f
-	db "possessed!", $57
-; 0x99801 + 25 bytes
-
-_UnnamedText_6074e: ; 0x9981a
-	db $0, "Be gone!", $4f
-	db "Evil spirit!", $57
-; 0x9981a + 23 bytes
-
-_UnnamedText_60753: ; 0x99831
-	db $0, "Whew!", $4f
-	db "The spirit left!", $58
-; 0x99831 + 24 bytes
-
-_UnnamedText_60758: ; 0x99849
-	db $0, "My friends were", $4f
-	db "possessed too!", $57
-; 0x99849 + 32 bytes
-
-_UnnamedText_6085e: ; 0x99869
-	db $0, "GHOST! No!", $4f
-	db "Kwaaah!", $57
-; 0x99869 + 20 bytes
-
-_UnnamedText_60863: ; 0x9987d
-	db $0, "Where", $4f
-	db "is the GHOST?", $58
-; 0x9987d + 21 bytes
-
-_UnnamedText_60868: ; 0x99892
-	db $0, "I must have been", $4f
-	db "dreaming...", $57
-; 0x99892 + 30 bytes
-
-_UnnamedText_6086d: ; 0x998b0
-	db $0, "Be cursed with", $4f
-	db "me! Kwaaah!", $57
-; 0x998b0 + 28 bytes
-
-_UnnamedText_60872: ; 0x998cc
-	db $0, "What!", $58
-; 0x998cc + 7 bytes
-
-_UnnamedText_60877: ; 0x998d3
-	db $0, "We can't crack", $4f
-	db "the identity of", $55
-	db "the GHOSTs.", $57
-; 0x998d3 + 43 bytes
-
-_UnnamedText_6087c: ; 0x998fe
-	db $0, "Huhuhu...", $4f
-	db "Beat me not!", $57
-; 0x998fe + 24 bytes
-
-_UnnamedText_60881: ; 0x99916
-	db $0, "Huh?", $4f
-	db "Who? What?", $58
-; 0x99916 + 17 bytes
-
-_UnnamedText_60886: ; 0x99927
-	db $0, "May the departed", $4f
-	db "souls of #MON", $55
-	db "rest in peace...", $57
-; 0x99927 + 49 bytes
-
-_PokemonTower5Text1: ; 0x99958
-	db $0, "Come, child! I", $4f
-	db "sealed this space", $55
-	db "with white magic!", $51
-	db "You can rest here!", $57
-
-_UnnamedText_609e9: ; 0x9999f
-	db $0, "Give...me...", $4f
-	db "your...soul...", $57
-; 0x9999f + 29 bytes
-
-_UnnamedText_609ee: ; 0x999bc
-	db $0, "Gasp!", $58
-; 0x999bc + 7 bytes
-
-_UnnamedText_609f3: ; 0x999c3
-	db $0, "I was under", $4f
-	db "possession!", $57
-; 0x999c3 + 25 bytes
-
-_UnnamedText_60a02: ; 0x999dc
-	db $0, "You...shall...", $4f
-	db "join...us...", $57
-; 0x999dc + 29 bytes
-
-_UnnamedText_60a07: ; 0x999f9
-	db $0, "What", $4f
-	db "a nightmare!", $58
-; 0x999f9 + 19 bytes
-
-_UnnamedText_60a0c: ; 0x99a0c
-	db $0, "I was possessed!", $57
-; 0x99a0c + 18 bytes
-
-_UnnamedText_60a1b: ; 0x99a1e
-	db $0, "Zombies!", $57
-; 0x99a1e + 10 bytes
-
-_UnnamedText_60a20: ; 0x99a28
-	db $0, "Ha?", $58
-; 0x99a28 + 5 bytes
-
-_UnnamedText_60a25: ; 0x99a2d
-	db $0, "I regained my", $4f
-	db "senses!", $57
-; 0x99a2d + 23 bytes
-
-_UnnamedText_60a34: ; 0x99a44
-	db $0, "Urgah...", $4f
-	db "Urff....", $57
-; 0x99a44 + 19 bytes
-
-_UnnamedText_60a39: ; 0x99a57
-	db $0, "Whoo!", $58
-; 0x99a57 + 7 bytes
-
-_UnnamedText_60a3e: ; 0x99a5e
-	db $0, "I fell to evil", $4f
-	db "spirits despite", $55
-	db "my training!", $57
-; 0x99a5e + 45 bytes
-
-_UnnamedText_60a43: ; 0x99a8b
-	db $0, "Entered purified,", $4f
-	db "protected zone!", $51
-	db $52, "'s #MON", $4f
-	db "are fully healed!", $57
-; 0x99a8b + 61 bytes
-
-_UnnamedText_60c1f: ; 0x99ac8
-	db $0, "The GHOST was the", $4f
-	db "restless soul of", $55
-	db "CUBONE's mother!", $57
-; 0x99ac8 + 52 bytes
-
-_UnnamedText_60c24: ; 0x99afc
-	db $0, "The mother's soul", $4f
-	db "was calmed.", $51
-	db "It departed to", $4f
-	db "the afterlife!", $57
-; 0x99afc + 60 bytes
-
-_UnnamedText_60c29: ; 0x99b38
-	db $0, "Give...me...", $4f
-	db "blood...", $57
-; 0x99b38 + 23 bytes
-
-_UnnamedText_60c2e: ; 0x99b4f
-	db $0, "Groan!", $58
-; 0x99b4f + 8 bytes
-
-_UnnamedText_60c33: ; 0x99b57
-	db $0, "I feel anemic and", $4f
-	db "weak...", $57
-; 0x99b57 + 27 bytes
-
-_UnnamedText_60c38: ; 0x99b72
-	db $0, "Urff... Kwaah!", $57
-; 0x99b72 + 16 bytes
-
-_UnnamedText_60c3d: ; 0x99b82
-	db $0, "Some-", $4f
-	db "thing fell out!", $58
-; 0x99b82 + 23 bytes
-
-_UnnamedText_60c42: ; 0x99b99
-	db $0, "Hair didn't fall", $4f
-	db "out! It was an", $55
-	db "evil spirit!", $57
-; 0x99b99 + 45 bytes
-
-_UnnamedText_60c47: ; 0x99bc6
-	db $0, "Ke..ke...ke...", $4f
-	db "ke..ke...ke!!", $57
-; 0x99bc6 + 30 bytes
-
-_UnnamedText_60c4c: ; 0x99be4
-	db $0, "Keee!", $58
-; 0x99be4 + 7 bytes
-
-_UnnamedText_60c51: ; 0x99beb
-	db $0, "What's going on", $4f
-	db "here?", $57
-; 0x99beb + 22 bytes
-
-_UnnamedText_60c56: ; 0x99c01
-	db $0, "Be gone...", $4f
-	db "Intruders...", $57
-; 0x99c01 + 25 bytes
-
-_UnnamedText_60ec4: ; 0x99c1a
-	db $0, "MR.FUJI: Heh? You", $4f
-	db "came to save me?", $51
-	db "Thank you. But, I", $4f
-	db "came here of my", $55
-	db "own free will.", $51
-	db "I came to calm", $4f
-	db "the soul of", $55
-	db "CUBONE's mother.", $51
-	db "I think MAROWAK's", $4f
-	db "spirit has gone", $55
-	db "to the afterlife.", $51
-	db "I must thank you", $4f
-	db "for your kind", $55
-	db "concern!", $51
-	db "Follow me to my", $4f
-	db "home, #MON", $55
-	db "HOUSE at the foot", $55
-	db "of this tower.", $57
-; 0x99c1a + 279 bytes
-
-_UnnamedText_60ec9: ; 0x99d31
-	db $0, "What do you want?", $4f
-	db "Why are you here?", $57
-; 0x99d31 + 37 bytes
-
-_UnnamedText_60ece: ; 0x99d56
-	db $0, "I give up!", $58
-; 0x99d56 + 12 bytes
-
-_UnnamedText_60ed3: ; 0x99d62
-	db $0, "I'm not going to", $4f
-	db "forget this!", $57
-; 0x99d62 + 30 bytes
-
-_UnnamedText_60ed8: ; 0x99d80
-	db $0, "This old guy came", $4f
-	db "and complained", $55
-	db "about us harming", $55
-	db "useless #MON!", $51
-	db "We're talking it", $4f
-	db "over as adults!", $57
-; 0x99d80 + 97 bytes
-
-_UnnamedText_60edd: ; 0x99de1
-	db $0, "Please!", $4f
-	db "No more!", $58
-; 0x99de1 + 18 bytes
-
-_UnnamedText_60ee2: ; 0x99df3
-	db $0, "#MON are only", $4f
-	db "good for making", $55
-	db "money!", $51
-	db "Stay out of our", $4f
-	db "business!", $57
-; 0x99df3 + 64 bytes
-
-_UnnamedText_60ee7: ; 0x99e33
-	db $0, "You're not saving", $4f
-	db "anyone, kid!", $57
-; 0x99e33 + 31 bytes
-
-_UnnamedText_60eec: ; 0x99e52
-	db $0, "Don't", $4f
-	db "fight us ROCKETs!", $58
-; 0x99e52 + 24 bytes
-
-_UnnamedText_60ef1: ; 0x99e6a
-	db $0, "You're not getting", $4f
-	db "away with this!", $57
-; 0x99e6a + 35 bytes
-
-_UnnamedText_1d8d1: ; 0x99e8d
-	db $0, "That's odd, MR.FUJI", $4f
-	db "isn't here.", $55
-	db "Where'd he go?", $57
-; 0x99e8d + 45 bytes
-
-_UnnamedText_1d8d6: ; 0x99eba
-	db $0, "MR.FUJI had been", $4f
-	db "praying alone for", $55
-	db "CUBONE's mother.", $57
-; 0x99eba + 52 bytes
-
-_UnnamedText_1d8f4: ; 0x99eee
-	db $0, "This is really", $4f
-	db "MR.FUJI's house.", $51
-	db "He's really kind!", $51
-	db "He looks after", $4f
-	db "abandoned and", $55
-	db "orphaned #MON!", $57
-; 0x99eee + 93 bytes
-
-_UnnamedText_1d8f9: ; 0x99f4b
-	db $0, "It's so warm!", $4f
-	db "#MON are so", $55
-	db "nice to hug!", $57
-; 0x99f4b + 39 bytes
-
-_LavenderHouse1Text3: ; 0x99f72
-	db $0, "PSYDUCK: Gwappa!@@"
-
-_LavenderHouse1Text4: ; 0x99f85
-	db $0, "NIDORINO: Gaoo!@@"
-
-_UnnamedText_1d94c: ; 0x99f97
-	db $0, "MR.FUJI: ", $52, ".", $51
-	db "Your #DEX quest", $4f
-	db "may fail without", $55
-	db "love for your", $55
-	db "#MON.", $51
-	db "I think this may", $4f
-	db "help your quest.", $58
-; 0x99f97 + 100 bytes
-
-_UnnamedText_1d951: ; 0x99ffb
-	db $0, $52, " received", $4f
-	db "a @"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9a011
-
-_UnnamedText_1d956: ; 0x9a011
-	db $0, $51
-	db "Upon hearing #", $4f
-	db "FLUTE, sleeping", $55
-	db "#MON will", $55
-	db "spring awake.", $51
-	db "It works on all", $4f
-	db "sleeping #MON.", $57
-; 0x9a011 + 88 bytes
-
-_UnnamedText_1d95b: ; 0x9a069
-	db $0, "You must make", $4f
-	db "room for this!", $57
-; 0x9a069 + 30 bytes
-
-_UnnamedText_1d960: ; 0x9a087
-	db $0, "MR.FUJI: Has my", $4f
-	db "FLUTE helped you?", $57
-; 0x9a087 + 35 bytes
-
-_LavenderHouse1Text6: ; 0x9a0aa
-	db $0, "#MON Monthly", $4f
-	db "Grand Prize", $55
-	db "Drawing!", $51
-	db "The application", $4f
-	db "form is...", $51
-	db "Gone! It's been", $4f
-	db "clipped out!", $57
-
-_LavenderMartText2: ; 0x9a104
-	db $0, "I'm searching for", $4f
-	db "items that raise", $55
-	db "the abilities of", $55
-	db "#MON during a", $55
-	db "single battle.", $51
-	db "X ATTACK, X", $4f
-	db "DEFEND, X SPEED", $55
-	db "and X SPECIAL are", $55
-	db "what I'm after.", $51
-	db "Do you know where", $4f
-	db "I can get them?", $57
-
-_UnnamedText_5c953: ; 0x9a1b4
-	db $0, "You know REVIVE?", $4f
-	db "It revives any", $55
-	db "fainted #MON!", $57
-; 0x9a1b4 + 47 bytes
-
-_UnnamedText_5c958: ; 0x9a1e3
-	db $0, "I found a NUGGET", $4f
-	db "in the mountains.", $51
-	db "I thought it was", $4f
-	db "useless, but it", $55
-	db "sold for ", $f0, "5000!", $57
-; 0x9a1e3 + 85 bytes
-
-_LavenderHouse2Text1: ; 0x9a238
-	db $0, "CUBONE: Kyarugoo!@@"
-
-_UnnamedText_1d9dc: ; 0x9a24c
-	db $0, "I hate those", $4f
-	db "horrible ROCKETs!", $51
-	db "That poor CUBONE's", $4f
-	db "mother...", $51
-	db "It was killed", $4f
-	db "trying to escape", $55
-	db "from TEAM ROCKET!", $57
-; 0x9a24c + 109 bytes
-
-_UnnamedText_1d9e1: ; 0x9a2b9
-	db $0, "The GHOST of", $4f
-	db "#MON TOWER is", $55
-	db "gone!", $51
-	db "Someone must have", $4f
-	db "soothed its", $55
-	db "restless soul!", $57
-; 0x9a2b9 + 79 bytes
-
-_UnnamedText_1dab3: ; 0x9a308
-	db $0, "Hello, hello!", $4f
-	db "I am the official", $55
-	db "NAME RATER!", $51
-	db "Want me to rate", $4f
-	db "the nicknames of", $55
-	db "your #MON?", $57
-; 0x9a308 + 89 bytes
-
-_UnnamedText_1dab8: ; 0x9a361
-	db $0, "Which #MON", $4f
-	db "should I look at?", $58
-; 0x9a361 + 30 bytes
-
-_UnnamedText_1dabd: ; 0x9a37f
-	TX_RAM $cd6d
-	db $0, ", is it?", $4f
-	db "That is a decent", $55
-	db "nickname!", $51
-	db "But, would you", $4f
-	db "like me to give", $55
-	db "it a nicer name?", $51
-	db "How about it?", $57
-; 0x9a37f + 102 bytes
-
-_UnnamedText_1dac2: ; 0x9a3e5
-	db $0, "Fine! What should", $4f
-	db "we name it?", $58
-; 0x9a3e5 + 31 bytes
-
-_UnnamedText_1dac7: ; 0x9a404
-	db $0, "OK! This #MON", $4f
-	db "has been renamed", $55
-	db "@"
-; 0x9a404 + 33 bytes
-
-UnnamedText_9a425: ; 0x9a425
-	TX_RAM $cee9
-	db $0, "!", $51
-	db "That's a better", $4f
-	db "name than before!", $57
-; 0x9a44c
-
-_UnnamedText_1dacc: ; 0x9a44c
-	db $0, "Fine! Come any", $4f
-	db "time you like!", $57
-; 0x9a44c + 31 bytes
-
-_UnnamedText_1dad1: ; 0x9a46b
-	TX_RAM $cd6d
-	db $0, ", is it?", $4f
-	db "That is a truly", $55
-	db "impeccable name!", $51
-	db "Take good care of", $4f
-	db "@"
-	TX_RAM $cd6d
-	db $0, "!", $57
-; 0x9a4b2
-
-_VermilionPokecenterText2:
-_VermilionPokecenterText1: ; 0x9a4b2
-	db $0, "Even if they are", $4f
-	db "the same level,", $55
-	db "#MON can have", $55
-	db "very different", $55
-	db "abilities.", $51
-	db "A #MON raised", $4f
-	db "by a trainer is", $55
-	db "stronger than one", $55
-	db "in the wild.", $57
-
-_VermilionPokecenterText3: ; 0x9a539
-	db $0, "My #MON was", $4f
-	db "poisoned! It", $55
-	db "fainted while we", $55
-	db "were walking!", $57
-
-_UnnamedText_59bb7: ; 0x9a572
-	db $0, "Won't you admire", $4f
-	db "my PIKACHU's", $55
-	db "adorable tail?", $57
-; 0x9a572 + 44 bytes
-
-_UnnamedText_59bbc: ; 0x9a59e
-	db $0, "Humph! My PIKACHU", $4f
-	db "is twice as cute", $55
-	db "as that one!", $57
-; 0x9a59e + 49 bytes
-
-_UnnamedText_59be4: ; 0x9a5cf
-	db $0, "I just love my", $4f
-	db "SEEL!", $51
-	db "It squeals when I", $4f
-	db "hug it!", $57
-; 0x9a5cf + 48 bytes
-
-_UnnamedText_59be9: ; 0x9a5ff
-	db $0, "Oh dear!", $51
-	db "My SEEL is far", $4f
-	db "more attractive!", $57
-; 0x9a5ff + 42 bytes
-
-_UnnamedText_59c00: ; 0x9a629
-	db $0, "PIKACHU: Chu!", $4f
-	db "Pikachu!", $57
-; 0x9a629 + 24 bytes
-
-_UnnamedText_59c17: ; 0x9a641
-	db $0, "SEEL: Kyuoo!", $57
-; 0x9a641 + 14 bytes
-
-_UnnamedText_59c65: ; 0x9a64f
-	db $0, "I chair the", $4f
-	db "#MON Fan Club!", $51
-	db "I have collected", $4f
-	db "over 100 #MON!", $51
-	db "I'm very fussy", $4f
-	db "when it comes to", $55
-	db "#MON!", $51
-	db "So...", $51
-	db "Did you come", $4f
-	db "visit to hear", $55
-	db "about my #MON?", $57
-; 0x9a64f + 145 bytes
-
-_UnnamedText_59c6a: ; 0x9a6e0
-	db $0, "Good!", $4f
-	db "Then listen up!", $51
-	db "My favorite", $4f
-	db "RAPIDASH...", $51
-	db "It...cute...", $4f
-	db "lovely...smart...", $55
-	db "plus...amazing...", $55
-	db "you think so?...", $55
-	db "oh yes...it...", $55
-	db "stunning...", $55
-	db "kindly...", $55
-	db "love it!", $51
-	db "Hug it...when...", $55
-	db "sleeping...warm", $55
-	db "and cuddly...", $55
-	db "spectacular...", $55
-	db "ravishing...", $55
-	db "...Oops! Look at", $55
-	db "the time! I kept", $55
-	db "you too long!", $51
-	db "Thanks for hearing", $4f
-	db "me out! I want", $55
-	db "you to have this!", $58
-; 0x9a6e0 + 334 bytes
-
-_ReceivedBikeVoucherText: ; 0x9a82e
-	db $0, $52, " received", $4f
-	db "a @"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9a844
-
-_UnnamedText_59c74: ; 0x9a844
-	db $0, $51
-	db "Exchange that for", $4f
-	db "a BICYCLE!", $51
-	db "Don't worry, my", $4f
-	db "FEAROW will FLY", $55
-	db "me anywhere!", $51
-	db "So, I don't need a", $4f
-	db "BICYCLE!", $51
-	db "I hope you like", $4f
-	db "cycling!", $57
-; 0x9a844 + 127 bytes
-
-_UnnamedText_59c79: ; 0x9a8c3
-	db $0, "Oh. Come back", $4f
-	db "when you want to", $55
-	db "hear my story!", $57
-; 0x9a8c3 + 47 bytes
-
-_UnnamedText_59c7e: ; 0x9a8f2
-	db $0, "Hello, ", $52, "!", $51
-	db "Did you come see", $4f
-	db "me about my", $55
-	db "#MON again?", $51
-	db "No? Too bad!", $57
-; 0x9a8f2 + 65 bytes
-
-_UnnamedText_59c83: ; 0x9a933
-	db $0, "Make room for", $4f
-	db "this!", $57
-; 0x9a933 + 21 bytes
-
-_FanClubText6: ; 0x9a948
-	db $0, "Our Chairman is", $4f
-	db "very vocal about", $55
-	db "#MON.", $57
-
-_FanClubText7: ; 0x9a970
-	db $0, "Let's all listen", $4f
-	db "politely to other", $55
-	db "trainers!", $57
-
-_FanClubText8: ; 0x9a99d
-	db $0, "If someone brags,", $4f
-	db "brag right back!", $57
-
-_VermilionMartText2: ; 0x9a9c1
-	db $0, "There are evil", $4f
-	db "people who will", $55
-	db "use #MON for", $55
-	db "criminal acts.", $51
-	db "TEAM ROCKET", $4f
-	db "traffics in rare", $55
-	db "#MON.", $51
-	db "They also abandon", $4f
-	db "#MON that they", $55
-	db "consider not to", $55
-	db "be popular or", $55
-	db "useful.", $57
-
-_VermilionMartText3: ; 0x9aa67
-	db $0, "I think #MON", $4f
-	db "can be good or", $55
-	db "evil. It depends", $55
-	db "on the trainer.", $57
-
-_UnnamedText_5cb6d: ; 0x9aaa5
-	db $0, "Hey, kid! What do", $4f
-	db "you think you're", $55
-	db "doing here?", $51
-	db "You won't live", $4f
-	db "long in combat!", $55
-	db "That's for sure!", $51
-	db "I tell you kid,", $4f
-	db "electric #MON", $55
-	db "saved me during", $55
-	db "the war!", $51
-	db "They zapped my", $4f
-	db "enemies into", $55
-	db "paralysis!", $51
-	db "The same as I'll", $4f
-	db "do to you!", $57
-; 0x9aaa5 + 214 bytes
-
-SECTION "bank27",DATA,BANK[$27]
-
-_UnnamedText_5cb72: ; 0x9c000
-	db $0, "A little word of", $4f
-	db "advice, kid!", $51
-	db "Electricity is", $4f
-	db "sure powerful!", $51
-	db "But, it's useless", $4f
-	db "against ground-", $55
-	db "type #MON!", $57
-; 0x9c000 + 105 bytes
-
-_UnnamedText_5cb77: ; 0x9c069
-	db $0, "The THUNDERBADGE", $4f
-	db "cranks up your", $55
-	db "#MON's SPEED!", $51
-	db "It also lets your", $4f
-	db "#MON FLY any", $55
-	db "time, kid!", $51
-	db "You're special,", $4f
-	db "kid! Take this!", $57
-; 0x9c069 + 119 bytes
-
-_ReceivedTM24Text: ; 0x9c0e0
-	db $0, $52, " received ", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9c0f5
-
-_TM24ExplanationText: ; 0x9c0f5
-	db $0, $51
-	db "TM24 contains", $4f
-	db "THUNDERBOLT!", $51
-	db "Teach it to an", $4f
-	db "electric #MON!", $57
-; 0x9c0f5 + 59 bytes
-
-_TM24NoRoomText: ; 0x9c130
-	db $0, "Yo kid, make room", $4f
-	db "in your pack!", $57
-; 0x9c130 + 33 bytes
-
-_ReceivedThunderbadgeText: ; 0x9c151
-	db $0, "Whoa!", $51
-	db "You're the real", $4f
-	db "deal, kid!", $51
-	db "Fine then, take", $4f
-	db "the THUNDERBADGE!", $58
-; 0x9c151 + 67 bytes
-
-_UnnamedText_5cb9a: ; 0x9c194
-	db $0, "When I was in the", $4f
-	db "Army, LT.SURGE", $55
-	db "was my strict CO!", $57
-; 0x9c194 + 52 bytes
-
-_UnnamedText_5cb9f: ; 0x9c1c8
-	db $0, "Stop!", $4f
-	db "You're very good!", $58
-; 0x9c1c8 + 24 bytes
-
-_UnnamedText_5cba4: ; 0x9c1e0
-	db $0, "The door won't", $4f
-	db "open?", $51
-	db "LT.SURGE always", $4f
-	db "was cautious!", $57
-; 0x9c1e0 + 51 bytes
-
-_UnnamedText_5cbb3: ; 0x9c213
-	db $0, "I'm a lightweight,", $4f
-	db "but I'm good with", $55
-	db "electricity!", $57
-; 0x9c213 + 49 bytes
-
-_UnnamedText_5cbb8: ; 0x9c244
-	db $0, "Fried!", $58
-; 0x9c244 + 8 bytes
-
-_UnnamedText_5cbbd: ; 0x9c24c
-	db $0, "OK, I'll talk!", $51
-	db "LT.SURGE said he", $4f
-	db "hid door switches", $55
-	db "inside something!", $57
-; 0x9c24c + 68 bytes
-
-_UnnamedText_5cbcc: ; 0x9c290
-	db $0, "This is no place", $4f
-	db "for kids!", $57
-; 0x9c290 + 28 bytes
-
-_UnnamedText_5cbd1: ; 0x9c2ac
-	db $0, "Wow!", $4f
-	db "Surprised me!", $58
-; 0x9c2ac + 20 bytes
-
-_UnnamedText_5cbd6: ; 0x9c2c0
-	db $0, "LT.SURGE set up", $4f
-	db "double locks!", $55
-	db "Here's a hint!", $51
-	db "When you open the", $4f
-	db "1st lock, the 2nd", $55
-	db "lock is right", $55
-	db "next to it!", $57
-; 0x9c2c0 + 107 bytes
-
-_UnnamedText_5cbf4: ; 0x9c32b
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "LT.SURGE has a", $4f
-	db "nickname. People", $55
-	db "refer to him as", $55
-	db "the Lightning", $55
-	db "American!", $51
-	db "He's an expert on", $4f
-	db "electric #MON!", $51
-	db "Birds and water", $4f
-	db "#MON are at", $55
-	db "risk! Beware of", $55
-	db "paralysis too!", $51
-	db "LT.SURGE is very", $4f
-	db "cautious!", $51
-	db "You'll have to", $4f
-	db "break a code to", $55
-	db "get to him!", $57
-; 0x9c32b + 254 bytes
-
-_UnnamedText_5cbf9: ; 0x9c429
-	db $0, "Whew! That match", $4f
-	db "was electric!", $57
-; 0x9c429 + 32 bytes
-
-_VermilionHouse1Text1: ; 0x9c449
-	db $0, "I'm getting my", $4f
-	db "PIDGEY to fly a", $55
-	db "letter to SAFFRON", $55
-	db "in the north!", $57
-
-_VermilionHouse1Text2: ; 0x9c488
-	db $0, "PIDGEY: Kurukkoo!@@"
-
-_VermilionHouse1Text3: ; 0x9c49c
-	db $0, "Dear PIPPI, I hope", $4f
-	db "to see you soon.", $51
-	db "I heard SAFFRON", $4f
-	db "has problems with", $55
-	db "TEAM ROCKET.", $51
-	db "VERMILION appears", $4f
-	db "to be safe.", $57
-
-_UnnamedText_1dcc1: ; 0x9c50e
-	db $0, $57
-; 0x9c50e + 2 bytes
-
-_UnnamedText_560b1: ; 0x9c510
-	db $0, "I'm the FISHING", $4f
-	db "GURU!", $51
-	db "I simply Looove", $4f
-	db "fishing!", $51
-	db "Do you like to", $4f
-	db "fish?", $57
-; 0x9c510 + 68 bytes
-
-_UnnamedText_560b6: ; 0x9c554
-	db $0, "Grand! I like", $4f
-	db "your style!", $51
-	db "Take this and", $4f
-	db "fish, young one!", $51
-	db $52, " received", $4f
-	db "an @"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9c5a4
-
-_UnnamedText_560bb: ; 0x9c5a4
-	db $0, $51
-	db "Fishing is a way", $4f
-	db "of life!", $51
-	db "From the seas to", $4f
-	db "rivers, go out", $55
-	db "and land the big", $55
-	db "one, young one!", $57
-; 0x9c5a4 + 93 bytes
-
-_UnnamedText_560c0: ; 0x9c601
-	db $0, "Oh... That's so", $4f
-	db "disappointing...", $57
-; 0x9c601 + 33 bytes
-
-_UnnamedText_560c5: ; 0x9c622
-	db $0, "Hello there,", $4f
-	db $52, "!", $51
-	db "How are the fish", $4f
-	db "biting?", $57
-; 0x9c622 + 42 bytes
-
-_UnnamedText_560ca: ; 0x9c64c
-	db $0, "Oh no!", $51
-	db "You have no room", $4f
-	db "for my gift!", $57
-; 0x9c64c + 38 bytes
-
-_CeladonMart1Text1: ; 0x9c672
-	db $0, "Hello! Welcome to", $4f
-	db "CELADON DEPT.", $55
-	db "STORE.", $51
-	db "The board on the", $4f
-	db "right describes", $55
-	db "the store layout.", $57
-
-_CeladonMart1Text2: ; 0x9c6cd
-	db $0, "1F: SERVICE", $4f
-	db "    COUNTER", $51
-	db "2F: TRAINER'S", $4f
-	db "    MARKET", $51
-	db "3F: TV GAME SHOP", $51
-	db "4F: WISEMAN GIFTS", $51
-	db "5F: DRUG STORE", $51
-	db "ROOFTOP SQUARE:", $4f
-	db "VENDING MACHINES", $57
-
-_CeladonMart1Text3: ; 0x9c752
-	db $0, "1F: SERVICE", $4f
-	db "    COUNTER", $57
-
-_CeladonMart2Text3: ; 0x9c76b
-	db $0, "SUPER REPEL keeps", $4f
-	db "weak #MON at", $55
-	db "bay...", $51
-	db "Hmm, it's a more", $4f
-	db "powerful REPEL!", $57
-
-_CeladonMart2Text4: ; 0x9c7b2
-	db $0, "For long outings,", $4f
-	db "you should buy", $55
-	db "REVIVE.", $57
-
-_CeladonMart2Text5: ; 0x9c7dc
-	db $0, "Top Grade Items", $4f
-	db "for Trainers!", $51
-	db "2F: TRAINER'S", $4f
-	db "    MARKET", $57
-
-_UnnamedText_48278: ; 0x9c814
-	db $0, "Oh, hi! I finally", $4f
-	db "finished #MON!", $51
-	db "Not done yet?", $4f
-	db "This might be", $55
-	db "useful!", $58
-; 0x9c814 + 70 bytes
-
-_ReceivedTM18Text: ; 0x9c85a
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9c86e
-
-_TM18ExplanationText: ; 0x9c86e
-	db $0, "TM18 is COUNTER!", $4f
-	db "Not like the one", $55
-	db "I'm leaning on,", $55
-	db "mind you!", $57
-; 0x9c86e + 60 bytes
-
-_TM18NoRoomText: ; 0x9c8aa
-	db $0, "Your pack is full", $4f
-	db "of items!", $57
-; 0x9c8aa + 29 bytes
-
-_CeladonMart3Text2: ; 0x9c8c7
-	db $0, "Captured #MON", $4f
-	db "are registered", $55
-	db "with an ID No.", $55
-	db "and OT, the name", $55
-	db "of the Original", $55
-	db "Trainer that", $55
-	db "caught it!", $57
-
-_CeladonMart3Text3: ; 0x9c92d
-	db $0, "All right!", $51
-	db "My buddy's going", $4f
-	db "to trade me his", $55
-	db "KANGASKHAN for my", $55
-	db "GRAVELER!", $57
-
-_CeladonMart3Text4: ; 0x9c975
-	db $0, "Come on GRAVELER!", $51
-	db "I love GRAVELER!", $4f
-	db "I collect them!", $51
-	db "Huh?", $51
-	db "GRAVELER turned", $4f
-	db "into a different", $55
-	db "#MON!", $57
-
-_CeladonMart3Text5: ; 0x9c9d5
-	db $0, "You can identify", $4f
-	db "#MON you got", $55
-	db "in trades by", $55
-	db "their ID Numbers!", $57
-
-_CeladonMart3Text6: ; 0x9ca13
-	db $0, "It's an SNES!", $57
-
-_CeladonMart3Text7: ; 0x9ca21
-	db $0, "An RPG! There's", $4f
-	db "no time for that!", $57
-
-_CeladonMart3Text9: ; 0x9ca43
-	db $0, "A sports game!", $4f
-	db "Dad'll like that!", $57
-
-_CeladonMart3Text11: ; 0x9ca64
-	db $0, "A puzzle game!", $4f
-	db "Looks addictive!", $57
-
-_CeladonMart3Text13: ; 0x9ca85
-	db $0, "A fighting game!", $4f
-	db "Looks tough!", $57
-
-_CeladonMart3Text14: ; 0x9caa4
-	db $0, "3F: TV GAME SHOP", $57
-
-_CeladonMart3Text15: ; 0x9cab6
-	db $0, "Red and Blue!", $4f
-	db "Both are #MON!", $57
-
-_CeladonMart4Text2: ; 0x9cad4
-	db $0, "I'm getting a", $4f
-	db "# DOLL for my", $55
-	db "girl friend!", $57
-
-_CeladonMart4Text3: ; 0x9cafd
-	db $0, "I heard something", $4f
-	db "useful.", $51
-	db "You can run from", $4f
-	db "wild #MON by", $55
-	db "distracting them", $55
-	db "with a # DOLL!", $57
-
-_CeladonMart4Text4: ; 0x9cb56
-	db $0, "Express yourself", $4f
-	db "with gifts!", $51
-	db "4F: WISEMAN GIFTS", $51
-	db "Evolution Special!", $4f
-	db "Element STONEs on", $55
-	db "sale now!", $57
-
-_UnnamedText_484ee: ; 0x9cbb5
-	db $0, "Give her which", $4f
-	db "drink?", $57
-; 0x9cbb5 + 23 bytes
-
-UnnamedText_9cbcc: ; 0x9cbcc
-	db $0, "Yay!", $51
-	db "FRESH WATER!", $51
-	db "Thank you!", $51
-	db "You can have this", $4f
-	db "from me!@@"
-; 0x9cc06
-
-UnnamedText_9cc06: ; 0x9cc06
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9cc1a
-
-UnnamedText_9cc1a: ; 0x9cc1a
-	db $0, $51
-	db "@"
-	TX_RAM $cf4b
-	db $0, " contains", $4f
-	db "ICE BEAM!", $51
-	db "It can freeze the", $4f
-	db "target sometimes!@@"
-; 0x9cc5a
-
-UnnamedText_9cc5a: ; 0x9cc5a
-	db $0, "Yay!", $51
-	db "SODA POP!", $51
-	db "Thank you!", $51
-	db "You can have this", $4f
-	db "from me!@@"
-; 0x9cc91
-
-UnnamedText_9cc91: ; 0x9cc91
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9cca4
-
-UnnamedText_9cca5: ; 0x9cca5
-	db $0, $51
-	db "@"
-	TX_RAM $cf4b
-	db $0, " contains", $4f
-	db "ROCK SLIDE!", $51
-	db "It can spook the", $4f
-	db "target sometimes!@@"
-; 0x9cce6
-
-UnnamedText_9cce6: ; 0x9cce6
-	db $0, "Yay!", $51
-	db "LEMONADE!", $51
-	db "Thank you!", $51
-	db "You can have this", $4f
-	db "from me!@@"
-; 0x9cd1d
-
-ReceivedTM49Text: ; 0x9cd1d
-	db $0, $52, " received", $4f
-	db "TM49!@@"
-; 0x9cd30
-
-UnnamedText_9cd30: ; 0x9cd30
-	db $0, $51
-	db "TM49 contains", $4f
-	db "TRI ATTACK!@@"
-; 0x9cd4d
-
-UnnamedText_9cd4d: ; 0x9cd4d
-	db $0, "You don't have", $4f
-	db "space for this!@@"
-; 0x9cd6d
-
-UnnamedText_9cd6d: ; 0x9cd6d
-	db $0, "No thank you!", $4f
-	db "I'm not thirsty", $55
-	db "after all!@@"
-; 0x9cd97
-
-_CeladonMartRoofText1: ; 0x9cd97
-	db $0, "My sister is a", $4f
-	db "trainer, believe", $55
-	db "it or not.", $51
-	db "But, she's so", $4f
-	db "immature, she", $55
-	db "drives me nuts!", $57
-
-_UnnamedText_48598: ; 0x9cdee
-	db $0, "I'm thirsty!", $4f
-	db "I want something", $55
-	db "to drink!", $57
-; 0x9cdee + 40 bytes
-
-_UnnamedText_4859d: ; 0x9ce16
-	db $0, "I'm thirsty!", $4f
-	db "I want something", $55
-	db "to drink!", $51
-	db "Give her a drink?", $57
-; 0x9ce16 + 58 bytes
-
-_CeladonMartRoofText6: ; 0x9ce50
-	db $0, "ROOFTOP SQUARE:", $4f
-	db "VENDING MACHINES", $57
-
-_UnnamedText_74f99: ; 0x9ce72
-	db $0, "A vending machine!", $4f
-	db "Here's the menu!", $58
-; 0x9ce72 + 36 bytes
-
-_UnnamedText_74fd3: ; 0x9ce96
-	db $0, "Oops, not enough", $4f
-	db "money!", $57
-; 0x9ce96 + 25 bytes
-
-_UnnamedText_74fd8: ; 0x9ceaf
-	TX_RAM $cf4b
-	db $0, $4f
-	db "popped out!", $57
-; 0x9ceaf + 17 bytes
-
-_UnnamedText_74fdd: ; 0x9cec0
-	db $0, "There's no more", $4f
-	db "room for stuff!", $57
-; 0x9cec0 + 32 bytes
-
-_UnnamedText_74fe2: ; 0x9cee0
-	db $0, "Not thirsty!", $57
-; 0x9cee0 + 14 bytes
-
-_CeladonMansion1Text1: ; 0x9ceee
-	db $0, "MEOWTH: Meow!@@"
-
-_CeladonMansion1Text2: ; 0x9cefe
-	db $0, "My dear #MON", $4f
-	db "keep me company.", $51
-	db "MEOWTH even brings", $4f
-	db "money home!", $57
-
-_CeladonMansion1Text3: ; 0x9cf3c
-	db $0, "CLEFAIRY: Pi", $4f
-	db "pippippi!@@"
-
-_CeladonMansion1Text4: ; 0x9cf55
-	db $0, "NIDORAN: Kya", $4f
-	db "kyaoo!@@"
-
-_CeladonMansion1Text5: ; 0x9cf6b
-	db $0, "CELADON MANSION", $4f
-	db "Manager's Suite", $57
-
-_CeladonMansion2Text1: ; 0x9cf8b
-	db $0, "GAME FREAK", $4f
-	db "Meeting Room", $57
-
-_CeladonMansion3Text1: ; 0x9cfa4
-	db $0, "Me? I'm the", $4f
-	db "programmer!", $57
-
-_CeladonMansion3Text2: ; 0x9cfbc
-	db $0, "I'm the graphic", $4f
-	db "artist!", $55
-	db "I drew you!", $57
-
-_CeladonMansion3Text3: ; 0x9cfe0
-	db $0, "I wrote the story!", $4f
-	db "Isn't ERIKA cute?", $51
-	db "I like MISTY a", $4f
-	db "lot too!", $51
-	db "Oh, and SABRINA,", $4f
-	db "I like her!", $57
-
-_UnnamedText_487d0: ; 0x9d03a
-	db $0, "Is that right?", $51
-	db "I'm the game", $4f
-	db "designer!", $51
-	db "Filling up your", $4f
-	db "#DEX is tough,", $55
-	db "but don't quit!", $51
-	db "When you finish,", $4f
-	db "come tell me!", $57
-; 0x9d03a + 115 bytes
-
-_UnnamedText_487d5: ; 0x9d0ad
-	db $0, "Wow! Excellent!", $4f
-	db "You completed", $55
-	db "your #DEX!", $55
-	db "Congratulations!", $55
-	db "...@@"
-; 0x9d0ed
-
-_CeladonMansion3Text5: ; 0x9d0ed
-	db $0, "It's the game", $4f
-	db "program! Messing", $55
-	db "with it could bug", $55
-	db "out the game!", $57
-
-_CeladonMansion3Text6: ; 0x9d12c
-	db $0, "Someone's playing", $4f
-	db "a game instead of", $55
-	db "working!", $57
-
-_CeladonMansion3Text7: ; 0x9d159
-	db $0, "It's the script!", $4f
-	db "Better not look", $55
-	db "at the ending!", $57
-
-_CeladonMansion3Text8: ; 0x9d189
-	db $0, "GAME FREAK", $4f
-	db "Development Room", $57
-
-_CeladonMansion4Text1: ; 0x9d1a6
-	db $0, "I KNOW EVERYTHING!", $57
-
-_CeladonMansion5Text1: ; 0x9d1ba
-	db $0, "I know everything", $4f
-	db "about the world", $55
-	db "of #MON in", $55
-	db "your GAME BOY!", $51
-	db "Get together with", $4f
-	db "your friends and", $55
-	db "trade #MON!", $57
-
-_CeladonPokecenterText2: ; 0x9d226
-	db $0, "# FLUTE awakens", $4f
-	db "#MON with a", $55
-	db "sound that only", $55
-	db "they can hear!", $57
-
-_CeladonPokecenterText3: ; 0x9d262
-	db $0, "I rode uphill on", $4f
-	db "CYCLING ROAD from", $55
-	db "FUCHSIA!", $57
-
-_UnnamedText_48a5e: ; 0x9d28f
-	db $0, "Hello. Lovely", $4f
-	db "weather isn't it?", $55
-	db "It's so pleasant.", $51
-	db "...Oh dear...", $4f
-	db "I must have dozed", $55
-	db "off. Welcome.", $51
-	db "My name is ERIKA.", $4f
-	db "I am the LEADER", $55
-	db "of CELADON GYM.", $51
-	db "I teach the art of", $4f
-	db "flower arranging.", $55
-	db "My #MON are of", $55
-	db "the grass-type.", $51
-	db "Oh, I'm sorry, I", $4f
-	db "had no idea that", $55
-	db "you wished to", $55
-	db "challenge me.", $51
-	db "Very well, but I", $4f
-	db "shall not lose.", $57
-; 0x9d28f + 307 bytes
-
-_UnnamedText_48a63: ; 0x9d3c2
-	db $0, "Oh!", $4f
-	db "I concede defeat.", $51
-	db "You are remarkably", $4f
-	db "strong.", $51
-	db "I must confer you", $4f
-	db "the RAINBOWBADGE.", $58
-; 0x9d3c2 + 86 bytes
-
-_UnnamedText_48a68: ; 0x9d418
-	db $0, "You are cataloging", $4f
-	db "#MON? I must", $55
-	db "say I'm impressed.", $51
-	db "I would never", $4f
-	db "collect #MON", $55
-	db "if they were", $55
-	db "unattractive.", $57
-; 0x9d418 + 105 bytes
-
-_UnnamedText_48a6d: ; 0x9d481
-	db $0, "The RAINBOWBADGE", $4f
-	db "will make #MON", $55
-	db "up to L50 obey.", $51
-	db "It also allows", $4f
-	db "#MON to use", $55
-	db "STRENGTH in and", $55
-	db "out of battle.", $51
-	db "Please also take", $4f
-	db "this with you.", $57
-; 0x9d481 + 139 bytes
-
-_ReceivedTM21Text: ; 0x9d50c
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9d520
-
-_TM21ExplanationText: ; 0x9d520
-	db $0, $51
-	db "TM21 contains", $4f
-	db "MEGA DRAIN.", $51
-	db "Half the damage", $4f
-	db "it inflicts is", $55
-	db "drained to heal", $55
-	db "your #MON!", $57
-; 0x9d520 + 86 bytes
-
-_TM21NoRoomText: ; 0x9d576
-	db $0, "You should make", $4f
-	db "room for this.", $57
-; 0x9d576 + 32 bytes
-
-_UnnamedText_48a8b: ; 0x9d596
-	db $0, "Hey!", $51
-	db "You are not", $4f
-	db "allowed in here!", $57
-; 0x9d596 + 35 bytes
-
-_UnnamedText_48a90: ; 0x9d5b9
-	db $0, "You're", $4f
-	db "too rough!", $58
-; 0x9d5b9 + 18 bytes
-
-_UnnamedText_48a95: ; 0x9d5cb
-	db $0, "Bleaah!", $4f
-	db "I hope ERIKA", $55
-	db "wipes you out!", $57
-; 0x9d5cb + 37 bytes
-
-_UnnamedText_48aa4: ; 0x9d5f0
-	db $0, "I was getting", $4f
-	db "bored.", $57
-; 0x9d5f0 + 22 bytes
-
-_UnnamedText_48aa9: ; 0x9d606
-	db $0, "My", $4f
-	db "makeup!", $58
-; 0x9d606 + 12 bytes
-
-_UnnamedText_48aae: ; 0x9d612
-	db $0, "Grass-type #MON", $4f
-	db "are tough against", $55
-	db "the water-type!", $51
-	db "They also have an", $4f
-	db "edge on rock and", $55
-	db "ground #MON!", $57
-; 0x9d612 + 99 bytes
-
-_UnnamedText_48abd: ; 0x9d675
-	db $0, "Aren't you the", $4f
-	db "peeping Tom?", $57
-; 0x9d675 + 28 bytes
-
-_UnnamedText_48ac2: ; 0x9d691
-	db $0, "I'm", $4f
-	db "in shock!", $58
-; 0x9d691 + 14 bytes
-
-_UnnamedText_48ac7: ; 0x9d69f
-	db $0, "Oh, you weren't", $4f
-	db "peeping? We get a", $55
-	db "lot of gawkers!", $57
-; 0x9d69f + 50 bytes
-
-_UnnamedText_48ad6: ; 0x9d6d1
-	db $0, "Look at my grass", $4f
-	db "#MON!", $51
-	db "They're so easy", $4f
-	db "to raise!", $57
-; 0x9d6d1 + 49 bytes
-
-_UnnamedText_48adb: ; 0x9d702
-	db $0, "No!", $58
-; 0x9d702 + 5 bytes
-
-_UnnamedText_48ae0: ; 0x9d707
-	db $0, "We only use grass-", $4f
-	db "type #MON at", $55
-	db "our GYM!", $51
-	db "We also use them", $4f
-	db "for making flower", $55
-	db "arrangements!", $57
-; 0x9d707 + 91 bytes
-
-_UnnamedText_48aef: ; 0x9d762
-	db $0, "Don't bring any", $4f
-	db "bugs or fire", $55
-	db "#MON in here!", $57
-; 0x9d762 + 43 bytes
-
-_UnnamedText_48af4: ; 0x9d78d
-	db $0, "Oh!", $4f
-	db "You!", $58
-; 0x9d78d + 10 bytes
-
-_UnnamedText_48af9: ; 0x9d797
-	db $0, "Our LEADER, ERIKA,", $4f
-	db "might be quiet,", $55
-	db "but she's also", $55
-	db "very skilled!", $57
-; 0x9d797 + 64 bytes
-
-_UnnamedText_48b08: ; 0x9d7d7
-	db $0, "Pleased to meet", $4f
-	db "you. My hobby is", $55
-	db "#MON training.", $57
-; 0x9d7d7 + 49 bytes
-
-_UnnamedText_48b0d: ; 0x9d808
-	db $0, "Oh!", $4f
-	db "Splendid!", $58
-; 0x9d808 + 15 bytes
-
-_UnnamedText_48b12: ; 0x9d817
-	db $0, "I have a blind", $4f
-	db "date coming up.", $55
-	db "I have to learn", $55
-	db "to be polite.", $57
-; 0x9d817 + 62 bytes
-
-_UnnamedText_48b21: ; 0x9d855
-	db $0, "Welcome to", $4f
-	db "CELADON GYM!", $51
-	db "You better not", $4f
-	db "underestimate", $55
-	db "girl power!", $57
-; 0x9d855 + 66 bytes
-
-_UnnamedText_48b26: ; 0x9d897
-	db $0, "Oh!", $4f
-	db "Beaten!", $58
-; 0x9d897 + 13 bytes
-
-_UnnamedText_48b2b: ; 0x9d8a4
-	db $0, "I didn't bring my", $4f
-	db "best #MON!", $51
-	db "Wait 'til next", $4f
-	db "time!", $57
-; 0x9d8a4 + 49 bytes
-
-_CeladonGameCornerText1: ; 0x9d8d5
-	db $0, "Welcome!", $51
-	db "You can exchange", $4f
-	db "your coins for", $55
-	db "fabulous prizes", $55
-	db "next door.", $57
-
-_UnnamedText_48d22: ; 0x9d91a
-	db $0, "Welcome to ROCKET", $4f
-	db "GAME CORNER!", $51
-	db "Do you need some", $4f
-	db "game coins?", $51
-	db "It's ", $f0, "1000 for 50", $4f
-	db "coins. Would you", $55
-	db "like some?", $57
-; 0x9d91a + 106 bytes
-
-_UnnamedText_48d27: ; 0x9d984
-	db $0, "Thanks! Here are", $4f
-	db "your 50 coins!", $57
-; 0x9d984 + 33 bytes
-
-_UnnamedText_48d2c: ; 0x9d9a5
-	db $0, "No? Please come", $4f
-	db "play sometime!", $57
-; 0x9d9a5 + 32 bytes
-
-_UnnamedText_48d31: ; 0x9d9c5
-	db $0, "You can't afford", $4f
-	db "the coins!", $57
-; 0x9d9c5 + 28 bytes
-
-_UnnamedText_48d36: ; 0x9d9e1
-	db $0, "Oops! Your COIN", $4f
-	db "CASE is full.", $57
-; 0x9d9e1 + 31 bytes
-
-_UnnamedText_48d3b: ; 0x9da00
-	db $0, "You don't have a", $4f
-	db "COIN CASE!", $57
-; 0x9da00 + 28 bytes
-
-_CeladonGameCornerText3: ; 0x9da1c
-	db $0, "Keep this quiet.", $51
-	db "It's rumored that", $4f
-	db "this place is run", $55
-	db "by TEAM ROCKET.", $57
-
-_CeladonGameCornerText4: ; 0x9da61
-	db $0, "I think these", $4f
-	db "machines have", $55
-	db "different odds.", $57
-
-_UnnamedText_48d9c: ; 0x9da8e
-	db $0, "Kid, do you want", $4f
-	db "to play?", $58
-; 0x9da8e + 27 bytes
-
-_Received10CoinsText: ; 0x9daa9
-	db $0, $52, " received", $4f
-	db "10 coins!@@"
-; 0x9dac0
-
-_UnnamedText_48da7: ; 0x9dac0
-	db $0, "You don't need my", $4f
-	db "coins!", $57
-; 0x9dac0 + 25 bytes
-
-_UnnamedText_48dac: ; 0x9dad9
-	db $0, "Wins seem to come", $4f
-	db "and go.", $57
-; 0x9dad9 + 27 bytes
-
-_CeladonGameCornerText6: ; 0x9daf4
-	db $0, "I'm having a", $4f
-	db "wonderful time!", $57
-
-_UnnamedText_48dca: ; 0x9db11
-	db $0, "Hey!", $51
-	db "You have better", $4f
-	db "things to do,", $55
-	db "champ in making!", $51
-	db "CELADON GYM's", $4f
-	db "LEADER is ERIKA!", $55
-	db "She uses grass-", $55
-	db "type #MON!", $51
-	db "She might appear", $4f
-	db "docile, but don't", $55
-	db "be fooled!", $57
-; 0x9db11 + 155 bytes
-
-_UnnamedText_48dcf: ; 0x9dbac
-	db $0, "They offer rare", $4f
-	db "#MON that can", $55
-	db "be exchanged for", $55
-	db "your coins.", $51
-	db "But, I just can't", $4f
-	db "seem to win!", $57
-; 0x9dbac + 90 bytes
-
-_CeladonGameCornerText8: ; 0x9dc06
-	db $0, "Games are scary!", $4f
-	db "It's so easy to", $55
-	db "get hooked!", $57
-
-_UnnamedText_48e26: ; 0x9dc33
-	db $0, "What's up? Want", $4f
-	db "some coins?", $58
-; 0x9dc33 + 28 bytes
-
-_Received20CoinsText: ; 0x9dc4f
-	db $0, $52, " received", $4f
-	db "20 coins!@@"
-; 0x9dc66
-
-_UnnamedText_48e31: ; 0x9dc66
-	db $0, "You have lots of", $4f
-	db "coins!", $57
-; 0x9dc66 + 25 bytes
-
-_UnnamedText_48e36: ; 0x9dc7f
-	db $0, "Darn! I need more", $4f
-	db "coins for the", $55
-	db "#MON I want!", $57
-; 0x9dc7f + 46 bytes
-
-_UnnamedText_48e88: ; 0x9dcad
-	db $0, "Hey, what? You're", $4f
-	db "throwing me off!", $55
-	db "Here are some", $55
-	db "coins, shoo!", $58
-; 0x9dcad + 62 bytes
-
-_UnnamedText_48e8d: ; 0x9dceb
-	db $0, $52, " received", $4f
-	db "20 coins!@@"
-; 0x9dd02
-
-_UnnamedText_48e93: ; 0x9dd02
-	db $0, "You've got your", $4f
-	db "own coins!", $57
-; 0x9dd02 + 27 bytes
-
-_UnnamedText_48e98: ; 0x9dd1d
-	db $0, "The trick is to", $4f
-	db "watch the reels", $55
-	db "closely!", $57
-; 0x9dd1d + 42 bytes
-
-_UnnamedText_48ece: ; 0x9dd47
-	db $0, "I'm guarding this", $4f
-	db "poster!", $55
-	db "Go away, or else!", $57
-; 0x9dd47 + 44 bytes
-
-_UnnamedText_48ed3: ; 0x9dd73
-	db $0, "Dang!", $58
-; 0x9dd73 + 7 bytes
-
-_UnnamedText_48ed8: ; 0x9dd7a
-	db $0, "Our hideout might", $4f
-	db "be discovered! I", $55
-	db "better tell BOSS!", $57
-; 0x9dd7a + 54 bytes
-
-_UnnamedText_48f09: ; 0x9ddb0
-	db $0, "Hey!", $51
-	db "A switch behind", $4f
-	db "the poster!?", $55
-	db "Let's push it!@@"
-; 0x9dde2
-
-_UnnamedText_48f19: ; 0x9dde2
-	db $0, "Oops! Forgot the", $4f
-	db "COIN CASE!", $57
-; 0x9dde2 + 29 bytes
-
-_CeladonMart5Text1: ; 0x9ddff
-	db $0, "#MON ability", $4f
-	db "enhancers can be", $55
-	db "bought only here.", $51
-	db "Use CALCIUM to", $4f
-	db "increase SPECIAL", $55
-	db "abilities.", $51
-	db "Use CARBOS to", $4f
-	db "increase SPEED.", $57
-
-_CeladonMart5Text2: ; 0x9de79
-	db $0, "I'm here for", $4f
-	db "#MON ability", $55
-	db "enhancers.", $51
-	db "PROTEIN increases", $4f
-	db "ATTACK power.", $51
-	db "IRON increases", $4f
-	db "DEFENSE!", $57
-
-_CeladonMart5Text5: ; 0x9ded6
-	db $0, "5F: DRUG STORE", $57
-
-_CeladonPrizeRoomText1: ; 0x9dee6
-	db $0, "I sure do fancy", $4f
-	db "that PORYGON!", $51
-	db "But, it's hard to", $4f
-	db "win at slots!", $57
-
-_CeladonPrizeRoomText2: ; 0x9df24
-	db $0, "I had a major", $4f
-	db "haul today!", $57
-
-_CeladonDinerText1: ; 0x9df3f
-	db $0, "Hi!", $51
-	db "We're taking a", $4f
-	db "break now.", $57
-
-_CeladonDinerText2: ; 0x9df5d
-	db $0, "My #MON are", $4f
-	db "weak, so I often", $55
-	db "have to go to the", $55
-	db "DRUG STORE.", $57
-
-_CeladonDinerText3: ; 0x9df99
-	db $0, "Psst! There's a", $4f
-	db "basement under", $55
-	db "the GAME CORNER.", $57
-
-_CeladonDinerText4: ; 0x9dfc9
-	db $0, "Munch...", $51
-	db "The man at that", $4f
-	db "table lost it all", $55
-	db "at the slots.", $57
-
-_UnnamedText_491a7: ; 0x9e003
-	db $0, "Go ahead! Laugh!", $51
-	db "I'm flat out", $4f
-	db "busted!", $51
-	db "No more slots for", $4f
-	db "me! I'm going", $55
-	db "straight!", $51
-	db "Here! I won't be", $4f
-	db "needing this any-", $55
-	db "more!", $58
-; 0x9e003 + 119 bytes
-
-_ReceivedCoinCaseText: ; 0x9e07a
-	db $0, $52, " received", $4f
-	db "a @"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9e090
-
-_CoinCaseNoRoomText: ; 0x9e090
-	db $0, "Make room for", $4f
-	db "this!", $57
-; 0x9e090 + 21 bytes
-
-_UnnamedText_491b7: ; 0x9e0a5
-	db $0, "I always thought", $4f
-	db "I was going to", $55
-	db "win it back...", $57
-; 0x9e0a5 + 48 bytes
-
-_CeladonHouseText1: ; 0x9e0d5
-	db $0, "Hehehe! The slots", $4f
-	db "just reel in the", $55
-	db "dough, big time!", $57
-
-_CeladonHouseText2: ; 0x9e10a
-	db $0, "CHIEF!", $51
-	db "We just shipped", $4f
-	db "2000 #MON as", $55
-	db "slot prizes!", $57
-
-_CeladonHouseText3: ; 0x9e13c
-	db $0, "Don't touch the", $4f
-	db "poster at the", $55
-	db "GAME CORNER!", $51
-	db "There's no secret", $4f
-	db "switch behind it!", $57
-
-_CeladonHotelText1: ; 0x9e18a
-	db $0, "#MON? No, this", $4f
-	db "is a hotel for", $55
-	db "people.", $51
-	db "We're full up.", $57
-
-_CeladonHotelText2: ; 0x9e1bf
-	db $0, "I'm on vacation", $4f
-	db "with my brother", $55
-	db "and boy friend.", $51
-	db "CELADON is such a", $4f
-	db "pretty city!", $57
-
-_CeladonHotelText3: ; 0x9e20e
-	db $0, "Why did she bring", $4f
-	db "her brother?", $57
-
-_FuchsiaMartText2: ; 0x9e22e
-	db $0, "Do you have a", $4f
-	db "SAFARI ZONE flag?", $51
-	db "What about cards", $4f
-	db "or calendars?", $57
-
-_FuchsiaMartText3: ; 0x9e26e
-	db $0, "Did you try X", $4f
-	db "SPEED? It speeds", $55
-	db "up a #MON in", $55
-	db "battle!", $57
-
-_FuchsiaHouse1Text1: ; 0x9e2a3
-	db $0, "SAFARI ZONE's", $4f
-	db "WARDEN is old,", $55
-	db "but still active!", $51
-	db "All his teeth are", $4f
-	db "false, though.", $57
-
-_FuchsiaHouse1Text2: ; 0x9e2f3
-	db $0, "Hmm? You've met", $4f
-	db "BILL?", $51
-	db "He's my grandson!", $51
-	db "He always liked", $4f
-	db "collecting things", $55
-	db "even as a child!", $57
-
-_FuchsiaHouse1Text3: ; 0x9e34d
-	db $0, "BILL files his", $4f
-	db "own #MON data", $55
-	db "on his PC!", $51
-	db "Did he show you?", $57
-
-_FuchsiaPokecenterText1: ; 0x9e387
-	db $0, "You can't win", $4f
-	db "with just one", $55
-	db "strong #MON.", $51
-	db "It's tough, but", $4f
-	db "you have to raise", $55
-	db "them evenly.", $57
-
-_FuchsiaPokecenterText3: ; 0x9e3de
-	db $0, "There's a narrow", $4f
-	db "trail west of", $55
-	db "VIRIDIAN CITY.", $51
-	db "It goes to #MON", $4f
-	db "LEAGUE HQ.", $55
-	db "The HQ governs", $55
-	db "all trainers.", $57
-
-_UnnamedText_75135: ; 0x9e444
-	db $0, "WARDEN: Hif fuff", $4f
-	db "hefifoo!", $51
-	db "Ha lof ha feef ee", $4f
-	db "hafahi ho. Heff", $55
-	db "hee fwee!", $57
-; 0x9e444 + 71 bytes
-
-_UnnamedText_7513a: ; 0x9e48b
-	db $0, "Ah howhee ho hoo!", $4f
-	db "Eef ee hafahi ho!", $57
-; 0x9e48b + 37 bytes
-
-_UnnamedText_7513f: ; 0x9e4b0
-	db $0, "Ha? He ohay heh", $4f
-	db "ha hoo ee haheh!", $57
-; 0x9e4b0 + 34 bytes
-
-_UnnamedText_75144: ; 0x9e4d2
-	db $0, $52, " gave the", $4f
-	db "GOLD TEETH to the", $55
-	db "WARDEN!@@"
-; 0x9e4f9
-
-_UnnamedText_75149: ; 0x9e4f9
-	db $0, $51
-	db "The WARDEN popped", $4f
-	db "in his teeth!", $58
-; 0x9e4f9 + 34 bytes
-
-_UnnamedText_7514e: ; 0x9e51b
-	db $0, "WARDEN: Thanks,", $4f
-	db "kid! No one could", $55
-	db "understand a word", $55
-	db "that I said.", $51
-	db "I couldn't work", $4f
-	db "that way.", $55
-	db "Let me give you", $55
-	db "something for", $55
-	db "your trouble.", $58
-; 0x9e51b + 135 bytes
-
-UnnamedText_9e5a2: ; 0x9e5a2
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0x9e5b6
-
-_UnnamedText_75159: ; 0x9e5b6
-	db $0, "WARDEN: HM04", $4f
-	db "teaches STRENGTH!", $51
-	db "It lets #MON", $4f
-	db "move boulders", $55
-	db "when you're out-", $55
-	db "side of battle.", $51
-	db "Oh yes, did you", $4f
-	db "find SECRET HOUSE", $55
-	db "in SAFARI ZONE?", $51
-	db "If you do, you", $4f
-	db "win an HM!", $51
-	db "I hear it's the", $4f
-	db "rare SURF HM.", $57
-; 0x9e5b6 + 196 bytes
-
-_UnnamedText_7515e: ; 0x9e67a
-	db $0, "Your pack is", $4f
-	db "stuffed full!", $57
-; 0x9e67a + 28 bytes
-
-_UnnamedText_75176: ; 0x9e696
-	db $0, "#MON photos", $4f
-	db "and fossils.", $57
-; 0x9e696 + 26 bytes
-
-_UnnamedText_7517b: ; 0x9e6b0
-	db $0, "Old #MON", $4f
-	db "merchandise.", $57
-; 0x9e6b0 + 23 bytes
-
-_SafariZoneEntranceText1: ; 0x9e6c7
-	db $0, "Welcome to the", $4f
-	db "SAFARI ZONE!", $57
-
-UnnamedText_9e6e4: ; 0x9e6e4
-	db $0, "For just ", $f0, "500,", $4f
-	db "you can catch all", $55
-	db "the #MON you", $55
-	db "want in the park!", $51
-	db "Would you like to", $4f
-	db "join the hunt?@@"
-; 0x9e747
-
-UnnamedText_9e747: ; 0x9e747
-	db $0, "That'll be ", $f0, "500", $4f
-	db "please!", $51
-	db "We only use a", $4f
-	db "special # BALL", $55
-	db "here.", $51
-	db $52, " received", $4f
-	db "30 SAFARI BALLs!@@"
-; 0x9e79f
-
-_UnnamedText_75360: ; 0x9e79f
-	db $0, $51
-	db "We'll call you on", $4f
-	db "the PA when you", $55
-	db "run out of time", $55
-	db "or SAFARI BALLs!", $57
-; 0x9e79f + 68 bytes
-
-_UnnamedText_75365: ; 0x9e7e3
-	db $0, "OK! Please come", $4f
-	db "again!", $57
-; 0x9e7e3 + 24 bytes
-
-_UnnamedText_7536a: ; 0x9e7fb
-	db $0, "Oops! Not enough", $4f
-	db "money!", $57
-; 0x9e7fb + 25 bytes
-
-UnnamedText_9e814: ; 0x9e814
-	db $0, "Leaving early?@@"
-; 0x9e825
-
-_UnnamedText_753bb: ; 0x9e825
-	db $0, "Please return any", $4f
-	db "SAFARI BALLs you", $55
-	db "have left.", $57
-; 0x9e825 + 47 bytes
-
-_UnnamedText_753c0: ; 0x9e854
-	db $0, "Good Luck!", $57
-; 0x9e854 + 12 bytes
-
-_UnnamedText_753c5: ; 0x9e860
-	db $0, "Did you get a", $4f
-	db "good haul?", $55
-	db "Come again!", $57
-; 0x9e860 + 38 bytes
-
-_UnnamedText_753e6: ; 0x9e886
-	db $0, "Hi! Is it your", $4f
-	db "first time here?", $57
-; 0x9e886 + 33 bytes
-
-_UnnamedText_753eb: ; 0x9e8a7
-	db $0, "SAFARI ZONE has 4", $4f
-	db "zones in it.", $51
-	db "Each zone has", $4f
-	db "different kinds", $55
-	db "of #MON. Use", $55
-	db "SAFARI BALLs to", $55
-	db "catch them!", $51
-	db "When you run out", $4f
-	db "of time or SAFARI", $55
-	db "BALLs, it's game", $55
-	db "over for you!", $51
-	db "Before you go,", $4f
-	db "open an unused", $55
-	db "#MON BOX so", $55
-	db "there's room for", $55
-	db "new #MON!", $57
-; 0x9e8a7 + 236 bytes
-
-_UnnamedText_753f0: ; 0x9e993
-	db $0, "Sorry, you're a", $4f
-	db "regular here!", $57
-; 0x9e993 + 30 bytes
-
-_UnnamedText_75581: ; 0x9e9b1
-	db $0, "KOGA: Fwahahaha!", $51
-	db "A mere child like", $4f
-	db "you dares to", $55
-	db "challenge me?", $51
-	db "Very well, I", $4f
-	db "shall show you", $55
-	db "true terror as a", $55
-	db "ninja master!", $51
-	db "You shall feel", $4f
-	db "the despair of", $55
-	db "poison and sleep", $55
-	db "techniques!", $57
-; 0x9e9b1 + 181 bytes
-
-_UnnamedText_75586: ; 0x9ea66
-	db $0, "Humph!", $4f
-	db "You have proven", $55
-	db "your worth!", $51
-	db "Here! Take the", $4f
-	db "SOULBADGE!", $58
-; 0x9ea66 + 62 bytes
-
-SECTION "bank28",DATA,BANK[$28]
-
-_UnnamedText_7558b: ; 0xa0000
-	db $0, "When afflicted by", $4f
-	db "TOXIC, #MON", $55
-	db "suffer more and", $55
-	db "more as battle", $55
-	db "progresses!", $51
-	db "It will surely", $4f
-	db "terrorize foes!", $57
-; 0xa0000 + 105 bytes
-
-_UnnamedText_75590: ; 0xa0069
-	db $0, "Now that you have", $4f
-	db "the SOULBADGE,", $55
-	db "the DEFENSE of", $55
-	db "your #MON", $55
-	db "increases!", $51
-	db "It also lets you", $4f
-	db "SURF outside of", $55
-	db "battle!", $51
-	db "Ah! Take this", $4f
-	db "too!", $57
-; 0xa0069 + 130 bytes
-
-UnnamedText_a00eb: ; 0xa00eb
-	db $0, $52, " received", $4f
-	db "@"
-; 0xa00eb + 13 bytes = 0xa00f8
-
-UnnamedText_a00f8: ; 0xa00f8
-	TX_RAM $cf4b
-	db $0, "!@@"
-
-_UnnamedText_7559a: ; 0xa00ff
-	db $0, $51
-	db "TM06 contains", $4f
-	db "TOXIC!", $51
-	db "It is a secret", $4f
-	db "technique over", $55
-	db "400 years old!", $57
-; 0xa00ff + 68 bytes
-
-_UnnamedText_7559f: ; 0xa0143
-	db $0, "Make space for", $4f
-	db "this, child!", $57
-; 0xa0143 + 29 bytes
-
-_UnnamedText_755ae: ; 0xa0160
-	db $0, "Strength isn't", $4f
-	db "the key for", $55
-	db "#MON!", $51
-	db "It's strategy!", $51
-	db "I'll show you how", $4f
-	db "strategy can beat", $55
-	db "brute strength!", $57
-; 0xa0160 + 98 bytes
-
-_UnnamedText_755b3: ; 0xa01c2
-	db $0, "What?", $4f
-	db "Extraordinary!", $58
-; 0xa01c2 + 22 bytes
-
-_UnnamedText_755b8: ; 0xa01d8
-	db $0, "So, you mix brawn", $4f
-	db "with brains?", $55
-	db "Good strategy!", $57
-; 0xa01d8 + 47 bytes
-
-_UnnamedText_755c7: ; 0xa0207
-	db $0, "I wanted to become", $4f
-	db "a ninja, so I", $55
-	db "joined this GYM!", $57
-; 0xa0207 + 51 bytes
-
-_UnnamedText_755cc: ; 0xa023a
-	db $0, "I'm done", $4f
-	db "for!", $58
-; 0xa023a + 14 bytes
-
-_UnnamedText_755d1: ; 0xa0248
-	db $0, "I will keep on", $4f
-	db "training under", $55
-	db "KOGA, my ninja", $55
-	db "master!", $57
-; 0xa0248 + 54 bytes
-
-_UnnamedText_755e0: ; 0xa027e
-	db $0, "Let's see you", $4f
-	db "beat my special", $55
-	db "techniques!", $57
-; 0xa027e + 42 bytes
-
-_UnnamedText_755e5: ; 0xa02a8
-	db $0, "You", $4f
-	db "had me fooled!", $58
-; 0xa02a8 + 20 bytes
-
-_UnnamedText_755ea: ; 0xa02bc
-	db $0, "I like poison and", $4f
-	db "sleep techniques,", $55
-	db "as they linger", $55
-	db "after battle!", $57
-; 0xa02bc + 66 bytes
-
-_UnnamedText_755f9: ; 0xa02fe
-	db $0, "Stop right there!", $51
-	db "Our invisible", $4f
-	db "walls have you", $55
-	db "frustrated?", $57
-; 0xa02fe + 60 bytes
-
-_UnnamedText_755fe: ; 0xa033a
-	db $0, "Whoa!", $4f
-	db "He's got it!", $58
-; 0xa033a + 19 bytes
-
-_UnnamedText_75603: ; 0xa034d
-	db $0, "You impressed me!", $4f
-	db "Here's a hint!", $51
-	db "Look very closely", $4f
-	db "for gaps in the", $55
-	db "invisible walls!", $57
-; 0xa034d + 84 bytes
-
-_UnnamedText_75612: ; 0xa03a1
-	db $0, "I also study the", $4f
-	db "way of the ninja", $55
-	db "with master KOGA!", $51
-	db "Ninja have a long", $4f
-	db "history of using", $55
-	db "animals!", $57
-; 0xa03a1 + 97 bytes
-
-_UnnamedText_75617: ; 0xa0402
-	db $0, "Awoo!", $58
-; 0xa0402 + 7 bytes
-
-_UnnamedText_7561c: ; 0xa0409
-	db $0, "I still have much", $4f
-	db "to learn!", $57
-; 0xa0409 + 29 bytes
-
-_UnnamedText_7562b: ; 0xa0426
-	db $0, "Master KOGA comes", $4f
-	db "from a long line", $55
-	db "of ninjas!", $51
-	db "What did you", $4f
-	db "descend from?", $57
-; 0xa0426 + 74 bytes
-
-_UnnamedText_75630: ; 0xa0470
-	db $0, "Dropped", $4f
-	db "my balls!", $58
-; 0xa0470 + 19 bytes
-
-_UnnamedText_75635: ; 0xa0483
-	db $0, "Where there is", $4f
-	db "light, there is", $55
-	db "shadow!", $51
-	db "Light and shadow!", $4f
-	db "Which do you", $55
-	db "choose?", $57
-; 0xa0483 + 79 bytes
-
-_UnnamedText_7564e: ; 0xa04d2
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "FUCHSIA GYM is", $4f
-	db "riddled with", $55
-	db "invisible walls!", $51
-	db "KOGA might appear", $4f
-	db "close, but he's", $55
-	db "blocked off!", $51
-	db "You have to find", $4f
-	db "gaps in the walls", $55
-	db "to reach him!", $57
-; 0xa04d2 + 162 bytes
-
-_UnnamedText_75653: ; 0xa0574
-	db $0, "It's amazing how", $4f
-	db "ninja can terrify", $55
-	db "even now!", $57
-; 0xa0574 + 45 bytes
-
-_FuchsiaMeetingRoomText1: ; 0xa05a1
-	db $0, "We nicknamed the", $4f
-	db "WARDEN SLOWPOKE.", $51
-	db "He and SLOWPOKE", $4f
-	db "both look vacant!", $57
-
-_FuchsiaMeetingRoomText2: ; 0xa05e6
-	db $0, "SLOWPOKE is very", $4f
-	db "knowledgeable", $55
-	db "about #MON!", $51
-	db "He even has some", $4f
-	db "fossils of rare,", $55
-	db "extinct #MON!", $57
-
-_FuchsiaMeetingRoomText3: ; 0xa0642
-	db $0, "SLOWPOKE came in,", $4f
-	db "but I couldn't", $55
-	db "understand him.", $51
-	db "I think he's got", $4f
-	db "a speech problem!", $57
-
-_UnnamedText_561bd: ; 0xa0695
-	db $0, "I'm the FISHING", $4f
-	db "GURU's older", $55
-	db "brother!", $51
-	db "I simply Looove", $4f
-	db "fishing!", $51
-	db "Do you like to", $4f
-	db "fish?", $57
-; 0xa0695 + 83 bytes
-
-_UnnamedText_561c2: ; 0xa06e8
-	db $0, "Grand! I like", $4f
-	db "your style!", $51
-	db "Take this and", $4f
-	db "fish, young one!", $51
-	db $52, " received", $4f
-	db "a @"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa0737
-
-_UnnamedText_56212: ; 0xa0737
-	db $0, "Oh... That's so", $4f
-	db "disappointing...", $57
-; 0xa0737 + 33 bytes
-
-_UnnamedText_56217: ; 0xa0758
-	db $0, "Hello there,", $4f
-	db $52, "!", $51
-	db "How are the fish", $4f
-	db "biting?", $57
-; 0xa0758 + 42 bytes
-
-_UnnamedText_5621c: ; 0xa0782
-	db $0, "Oh no!", $51
-	db "You have no room", $4f
-	db "for my gift!", $57
-; 0xa0782 + 38 bytes
-
-_UnnamedText_4434b: ; 0xa07a8
-	db $0, "Who are you? There", $4f
-	db "shouldn't be", $55
-	db "anyone here.", $57
-; 0xa07a8 + 45 bytes
-
-_UnnamedText_44350: ; 0xa07d5
-	db $0, "Ouch!", $58
-; 0xa07d5 + 7 bytes
-
-_UnnamedText_44355: ; 0xa07dc
-	db $0, "A key? I don't", $4f
-	db "know what you're", $55
-	db "talking about.", $57
-; 0xa07dc + 46 bytes
-
-_UnnamedText_44395: ; 0xa080a
-	db $0, "A secret switch!", $51
-	db "Press it?", $57
-; 0xa080a + 28 bytes
-
-_UnnamedText_4439a: ; 0xa0826
-	db $0, "Who wouldn't?", $58
-; 0xa0826 + 14 bytes
-
-_UnnamedText_4439f: ; 0xa0834
-	db $0, "Not quite yet!", $57
-; 0xa0834 + 16 bytes
-
-_UnnamedText_75914: ; 0xa0844
-	db $0, "Hah!", $51
-	db "I am BLAINE! I", $4f
-	db "am the LEADER of", $55
-	db "CINNABAR GYM!", $51
-	db "My fiery #MON", $4f
-	db "will incinerate", $55
-	db "all challengers!", $51
-	db "Hah! You better", $4f
-	db "have BURN HEAL!", $57
-; 0xa0844 + 131 bytes
-
-UnnamedText_a08c7: ; 0xa08c7
-	db $0, "I have", $4f
-	db "burnt out!", $51
-	db "You have earned", $4f
-	db "the VOLCANOBADGE!@@"
-; 0xa08fd
-
-_UnnamedText_75920: ; 0xa08fd
-	db $0, "FIRE BLAST is the", $4f
-	db "ultimate fire", $55
-	db "technique!", $51
-	db "Don't waste it on", $4f
-	db "water #MON!", $57
-; 0xa08fd + 73 bytes
-
-_UnnamedText_75925: ; 0xa0946
-	db $0, "Hah!", $51
-	db "The VOLCANOBADGE", $4f
-	db "heightens the", $55
-	db "SPECIAL abilities", $55
-	db "of your #MON!", $51
-	db "Here, you can", $4f
-	db "have this too!", $57
-; 0xa0946 + 98 bytes
-
-UnnamedText_a09a8: ; 0xa09a8
-	db $0, $52, " received", $4f
-	db "@"
-; 0xa09a8 + 13 bytes = 0xa09b5
-
-UnnamedText_a09b5: ; 0xa09b5
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa09b5 + 7 bytes = 0xa09bc
-
-_UnnamedText_7592f: ; 0xa09bc
-	db $0, $51
-	db "TM38 contains", $4f
-	db "FIRE BLAST!", $51
-	db "Teach it to fire-", $4f
-	db "type #MON!", $51
-	db "CHARMELEON or", $4f
-	db "PONYTA would be", $55
-	db "good bets!", $57
-; 0xa09bc + 98 bytes
-
-_UnnamedText_75934: ; 0xa0a1e
-	db $0, "Make room for my", $4f
-	db "gift!", $57
-; 0xa0a1e + 24 bytes
-
-_UnnamedText_7595f: ; 0xa0a36
-	db $0, "Do you know how", $4f
-	db "hot #MON fire", $55
-	db "breath can get?", $57
-; 0xa0a36 + 47 bytes
-
-_UnnamedText_75964: ; 0xa0a65
-	db $0, "Yow!", $4f
-	db "Hot, hot, hot!", $58
-; 0xa0a65 + 21 bytes
-
-_UnnamedText_75969: ; 0xa0a7a
-	db $0, "Fire, or to be", $4f
-	db "more precise,", $55
-	db "combustion...", $51
-	db "Blah, blah, blah,", $4f
-	db "blah...", $57
-; 0xa0a7a + 70 bytes
-
-_UnnamedText_75994: ; 0xa0ac0
-	db $0, "I was a thief, but", $4f
-	db "I became straight", $55
-	db "as a trainer!", $57
-; 0xa0ac0 + 52 bytes
-
-_UnnamedText_75999: ; 0xa0af4
-	db $0, "I", $4f
-	db "surrender!", $58
-; 0xa0af4 + 14 bytes
-
-_UnnamedText_7599e: ; 0xa0b02
-	db $0, "I can't help", $4f
-	db "stealing other", $55
-	db "people's #MON!", $57
-; 0xa0b02 + 42 bytes
-
-_UnnamedText_759c9: ; 0xa0b2c
-	db $0, "You can't win!", $4f
-	db "I have studied", $55
-	db "#MON totally!", $57
-; 0xa0b2c + 44 bytes
-
-_UnnamedText_759ce: ; 0xa0b58
-	db $0, "Waah!", $4f
-	db "My studies!", $58
-; 0xa0b58 + 19 bytes
-
-_UnnamedText_759d3: ; 0xa0b6b
-	db $0, "My theories are", $4f
-	db "too complicated", $55
-	db "for you!", $57
-; 0xa0b6b + 42 bytes
-
-_UnnamedText_759fe: ; 0xa0b95
-	db $0, "I just like using", $4f
-	db "fire #MON!", $57
-; 0xa0b95 + 30 bytes
-
-_UnnamedText_75a03: ; 0xa0bb3
-	db $0, "Too hot", $4f
-	db "to handle!", $58
-; 0xa0bb3 + 20 bytes
-
-_UnnamedText_75a08: ; 0xa0bc7
-	db $0, "I wish there was", $4f
-	db "a thief #MON!", $55
-	db "I'd use that!", $57
-; 0xa0bc7 + 45 bytes
-
-_UnnamedText_75a33: ; 0xa0bf4
-	db $0, "I know why BLAINE", $4f
-	db "became a trainer!", $57
-; 0xa0bf4 + 37 bytes
-
-_UnnamedText_75a38: ; 0xa0c19
-	db $0, "Ow!", $58
-; 0xa0c19 + 5 bytes
-
-_UnnamedText_75a3d: ; 0xa0c1e
-	db $0, "BLAINE was lost", $4f
-	db "in the mountains", $55
-	db "when a fiery bird", $55
-	db "#MON appeared.", $51
-	db "Its light enabled", $4f
-	db "BLAINE to find", $55
-	db "his way down!", $57
-; 0xa0c1e + 114 bytes
-
-_UnnamedText_75a68: ; 0xa0c90
-	db $0, "I've been to many", $4f
-	db "GYMs, but this is", $55
-	db "my favorite!", $57
-; 0xa0c90 + 49 bytes
-
-_UnnamedText_75a6d: ; 0xa0cc1
-	db $0, "Yowza!", $4f
-	db "Too hot!", $58
-; 0xa0cc1 + 17 bytes
-
-_UnnamedText_75a72: ; 0xa0cd2
-	db $0, "Us fire #MON", $4f
-	db "fans like PONYTA", $55
-	db "and NINETALES!", $57
-; 0xa0cd2 + 46 bytes
-
-_UnnamedText_75a9d: ; 0xa0d00
-	db $0, "Fire is weak", $4f
-	db "against H2O!", $57
-; 0xa0d00 + 27 bytes
-
-_UnnamedText_75aa2: ; 0xa0d1b
-	db $0, "Oh!", $4f
-	db "Snuffed out!", $58
-; 0xa0d1b + 18 bytes
-
-_UnnamedText_75aa7: ; 0xa0d2d
-	db $0, "Water beats fire!", $4f
-	db "But, fire melts", $55
-	db "ice #MON!", $57
-; 0xa0d2d + 45 bytes
-
-_UnnamedText_75ac2: ; 0xa0d5a
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "The hot-headed", $4f
-	db "BLAINE is a fire", $55
-	db "#MON pro!", $51
-	db "Douse his spirits", $4f
-	db "with water!", $51
-	db "You better take", $4f
-	db "some BURN HEALs!", $57
-; 0xa0d5a + 127 bytes
-
-_UnnamedText_75ac7: ; 0xa0dd9
-	db $0, $52, "! You beat", $4f
-	db "that fire brand!", $57
-; 0xa0dd9 + 30 bytes
-
-_Lab1Text1: ; 0xa0df7
-	db $0, "We study #MON", $4f
-	db "extensively here.", $51
-	db "People often bring", $4f
-	db "us rare #MON", $55
-	db "for examination.", $57
-
-_Lab1Text2: ; 0xa0e49
-	db $0, "A photo of the", $4f
-	db "LAB's founder,", $55
-	db "DR.FUJI!", $57
-
-_Lab1Text3: ; 0xa0e70
-	db $0, "#MON LAB", $4f
-	db "Meeting Room", $57
-
-_Lab1Text4: ; 0xa0e87
-	db $0, "#MON LAB", $4f
-	db "R-and-D Room", $57
-
-_Lab1Text5: ; 0xa0e9e
-	db $0, "#MON LAB", $4f
-	db "Testing Room", $57
-
-_Lab2Text1: ; 0xa0eb5
-	db $0, "I found this very", $4f
-	db "strange fossil in", $55
-	db "MT.MOON!", $51
-	db "I think it's a", $4f
-	db "rare, prehistoric", $55
-	db "#MON!", $57
-
-_UnnamedText_75cc8: ; 0xa0f09
-	db $0, "Tch-tch-tch!", $4f
-	db "I made a cool TM!", $51
-	db "It can cause all", $4f
-	db "kinds of fun!", $58
-; 0xa0f09 + 63 bytes
-
-UnnamedText_a0f48: ; 0xa0f48
-	db $0, $52, " received ", $4f
-	db "@"
-; 0xa0f56
-
-UnnamedText_a0f56: ; 0xa0f56
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa0f5d
-
-_UnnamedText_75cd3: ; 0xa0f5d
-	db $0, "Tch-tch-tch!", $4f
-	db "That's the sound", $55
-	db "of a METRONOME!", $51
-	db "It tweaks your", $4f
-	db "#MON's brain", $55
-	db "into using moves", $55
-	db "it doesn't know!", $57
-; 0xa0f5d + 106 bytes
-
-_UnnamedText_75cd8: ; 0xa0fc7
-	db $0, "Your pack is", $4f
-	db "crammed full!", $57
-; 0xa0fc7 + 28 bytes
-
-_Lab3Text2: ; 0xa0fe3
-	db $0, "EEVEE can evolve", $4f
-	db "into 1 of 3 kinds", $55
-	db "of #MON.", $57
-
-_Lab3Text3: ; 0xa1010
-	db $0, "There's an e-mail", $4f
-	db "message!", $51
-	db "...", $51
-	db "The 3 legendary", $4f
-	db "bird #MON are", $55
-	db "ARTICUNO, ZAPDOS", $55
-	db "and MOLTRES.", $51
-	db "Their whereabouts", $4f
-	db "are unknown.", $51
-	db "We plan to explore", $4f
-	db "the cavern close", $55
-	db "to CERULEAN.", $51
-	db "From: #MON", $4f
-	db "RESEARCH TEAM", $51
-	db "...", $57
-
-_Lab3Text5: ; 0xa10d8
-	db $0, "An amber pipe!", $57
-
-_UnnamedText_75dc6: ; 0xa10e8
-	db $0, "Hiya!", $51
-	db "I am important", $4f
-	db "doctor!", $51
-	db "I study here rare", $4f
-	db "#MON fossils!", $51
-	db "You! Have you a", $4f
-	db "fossil for me?", $58
-; 0xa10e8 + 93 bytes
-
-_UnnamedText_75dcb: ; 0xa1145
-	db $0, "No! Is too bad!", $57
-; 0xa1145 + 17 bytes
-
-_UnnamedText_75dd0: ; 0xa1156
-	db $0, "I take a little", $4f
-	db "time!", $51
-	db "You go for walk a", $4f
-	db "little while!", $57
-; 0xa1156 + 55 bytes
-
-_UnnamedText_75dd5: ; 0xa118d
-	db $0, "Where were you?", $51
-	db "Your fossil is", $4f
-	db "back to life!", $51
-	db "It was @"
-; 0xa118d + 54 bytes
-
-UnnamedText_a11c3: ; 0xa11c3
-	TX_RAM $cf4b
-	db $0, $4f
-	db "like I think!", $58
-; 0xa11d6
-
-_UnnamedText_610ae: ; 0xa11d6
-	db $0, "Oh! That is", $4f
-	db "@"
-; 0xa11d6 + 14 bytes
-
-UnnamedText_a11e4: ; 0xa11e4
-	TX_RAM $cd6d
-	db $0, "!", $51
-	db "It is fossil of", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, ", a", $55
-	db "#MON that is", $55
-	db "already extinct!", $51
-	db "My Resurrection", $4f
-	db "Machine will make", $55
-	db "that #MON live", $55
-	db "again!", $57
-; 0xa1259
-
-_UnnamedText_610b3: ; 0xa1259
-	db $0, "So! You hurry and", $4f
-	db "give me that!", $51
-	db $52, " handed", $4f
-	db "over @"
-	TX_RAM $cd6d
-	db $0, "!", $58
-; 0xa128f
-
-_UnnamedText_610b8: ; 0xa128f
-	db $0, "I take a little", $4f
-	db "time!", $51
-	db "You go for walk a", $4f
-	db "little while!", $57
-; 0xa128f + 55 bytes
-
-_UnnamedText_610bd: ; 0xa12c6
-	db $0, "Aiyah! You come", $4f
-	db "again!", $57
-; 0xa12c6 + 24 bytes
-
-_CinnabarPokecenterText2:
-_CinnabarPokecenterText1: ; 0xa12de
-	db $0, "You can cancel", $4f
-	db "evolution.", $51
-	db "When a #MON is", $4f
-	db "evolving, you can", $55
-	db "stop it and leave", $55
-	db "it the way it is.", $57
-
-_CinnabarPokecenterText3: ; 0xa133e
-	db $0, "Do you have any", $4f
-	db "friends?", $51
-	db "#MON you get", $4f
-	db "in trades grow", $55
-	db "very quickly.", $51
-	db "I think it's", $4f
-	db "worth a try!", $57
-
-_CinnabarMartText2: ; 0xa139b
-	db $0, "Don't they have X", $4f
-	db "ATTACK? It's good", $55
-	db "for battles!", $57
-
-_CinnabarMartText3: ; 0xa13cb
-	db $0, "It never hurts to", $4f
-	db "have extra items!", $57
-
-_IndigoPlateauLobbyText1: ; 0xa13f0
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "At #MON LEAGUE,", $4f
-	db "you have to face", $55
-	db "the ELITE FOUR in", $55
-	db "succession.", $51
-	db "If you lose, you", $4f
-	db "have to start all", $55
-	db "over again! This", $55
-	db "is it! Go for it!", $57
-
-_IndigoPlateauLobbyText3: ; 0xa148b
-	db $0, "From here on, you", $4f
-	db "face the ELITE", $55
-	db "FOUR one by one!", $51
-	db "If you win, a", $4f
-	db "door opens to the", $55
-	db "next trainer!", $55
-	db "Good luck!", $57
-
-_CopycatsHouseF1Text1: ; 0xa14f7
-	db $0, "My daughter is so", $4f
-	db "self-centered.", $55
-	db "She only has a", $55
-	db "few friends.", $57
-
-_CopycatsHouseF1Text2: ; 0xa1535
-	db $0, "My daughter likes", $4f
-	db "to mimic people.", $51
-	db "Her mimicry has", $4f
-	db "earned her the", $55
-	db "nickname COPYCAT", $55
-	db "around here!", $57
-
-_CopycatsHouseF1Text3: ; 0xa1596
-	db $0, "CHANSEY: Chaan!", $4f
-	db "Sii!@@"
-
-_UnnamedText_5ccd4: ; 0xa15ad
-	db $0, $52, ": Hi! Do", $4f
-	db "you like #MON?", $51
-	db $52, ": Uh no, I", $4f
-	db "just asked you.", $51
-	db $52, ": Huh?", $4f
-	db "You're strange!", $51
-	db "COPYCAT: Hmm?", $4f
-	db "Quit mimicking?", $51
-	db "But, that's my", $4f
-	db "favorite hobby!", $58
-; 0xa15ad + 137 bytes
-
-_UnnamedText_5ccd9: ; 0xa1636
-	db $0, "Oh wow!", $4f
-	db "A # DOLL!", $51
-	db "For me?", $4f
-	db "Thank you!", $51
-	db "You can have", $4f
-	db "this, then!", $58
-; 0xa1636 + 63 bytes
-
-_ReceivedTM31Text: ; 0xa1675
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa1689
-
-_TM31ExplanationText1: ; 0xa1689
-	db $0, $51
-	db "TM31 contains my", $4f
-	db "favorite, MIMIC!", $51
-	db "Use it on a good", $4f
-	db "#MON!@@"
-; 0xa16c5
-
-_TM31ExplanationText2: ; 0xa16c5
-	db $0, $52, ": Hi!", $4f
-	db "Thanks for TM31!", $51
-	db $52, ": Pardon?", $51
-	db $52, ": Is it", $4f
-	db "that fun to mimic", $55
-	db "my every move?", $51
-	db "COPYCAT: You bet!", $4f
-	db "It's a scream!", $57
-; 0xa16c5 + 110 bytes
-
-_TM31NoRoomText: ; 0xa1733
-	db $0, "Don't you want", $4f
-	db "this?@@"
-; 0xa1749
-
-_CopycatsHouseF2Text2: ; 0xa1749
-	db $0, "DODUO: Giiih!", $51
-	db "MIRROR MIRROR ON", $4f
-	db "THE WALL, WHO IS", $55
-	db "THE FAIREST ONE", $55
-	db "OF ALL?", $57
-
-_CopycatsHouseF2Text3: ; 0xa1792
-	db $0, "This is a rare", $4f
-	db "#MON! Huh?", $55
-	db "It's only a doll!", $57
-
-_CopycatsHouseF2Text6: ; 0xa17be
-	db $0, "A game with MARIO", $4f
-	db "wearing a bucket", $55
-	db "on his head!", $57
-
-_UnnamedText_5cd17: ; 0xa17ef
-	db $0, "...", $51
-	db "My Secrets!", $51
-	db "Skill: Mimicry!", $4f
-	db "Hobby: Collecting", $55
-	db "dolls!", $55
-	db "Favorite #MON:", $55
-	db "CLEFAIRY!", $57
-; 0xa17ef + 83 bytes
-
-_UnnamedText_5cd1c: ; 0xa1842
-	db $0, "Huh? Can't see!", $57
-; 0xa1842 + 16 bytes
-
-_UnnamedText_5ce8e: ; 0xa1852
-	db $0, "Grunt!", $51
-	db "I am the KARATE", $4f
-	db "MASTER! I am the", $55
-	db "LEADER here!", $51
-	db "You wish to", $4f
-	db "challenge us?", $55
-	db "Expect no mercy!", $51
-	db "Fwaaa!", $57
-; 0xa1852 + 104 bytes
-
-_UnnamedText_5ce93: ; 0xa18ba
-	db $0, "Hwa!", $4f
-	db "Arrgh! Beaten!", $58
-; 0xa18ba + 21 bytes
-
-_UnnamedText_5ce98: ; 0xa18cf
-	db $0, "Indeed, I have", $4f
-	db "lost!", $51
-	db "But, I beseech", $4f
-	db "you, do not take", $55
-	db "our emblem as", $55
-	db "your trophy!", $51
-	db "In return, I will", $4f
-	db "give you a prized", $55
-	db "fighting #MON!", $51
-	db "Choose whichever", $4f
-	db "one you like!", $57
-; 0xa18cf + 163 bytes
-
-_UnnamedText_5ce9d: ; 0xa1972
-	db $0, "Ho!", $51
-	db "Stay and train at", $4f
-	db "Karate with us!", $57
-; 0xa1972 + 39 bytes
-
-_UnnamedText_5ceac: ; 0xa1999
-	db $0, "Hoargh! Take your", $4f
-	db "shoes off!", $57
-; 0xa1999 + 30 bytes
-
-_UnnamedText_5ceb1: ; 0xa19b7
-	db $0, "I give", $4f
-	db "up!", $58
-; 0xa19b7 + 12 bytes
-
-_UnnamedText_5ceb6: ; 0xa19c3
-	db $0, "You wait 'til you", $4f
-	db "see our Master!", $51
-	db "I'm a small fry", $4f
-	db "compared to him!", $57
-; 0xa19c3 + 66 bytes
-
-_UnnamedText_5cec5: ; 0xa1a05
-	db $0, "I hear you're", $4f
-	db "good! Show me!", $57
-; 0xa1a05 + 29 bytes
-
-_UnnamedText_5ceca: ; 0xa1a22
-	db $0, "Judge!", $4f
-	db "1 point!", $58
-; 0xa1a22 + 17 bytes
-
-_UnnamedText_5cecf: ; 0xa1a33
-	db $0, "Our Master is a", $4f
-	db "pro fighter!", $57
-; 0xa1a33 + 30 bytes
-
-_UnnamedText_5cede: ; 0xa1a51
-	db $0, "Nothing tough", $4f
-	db "frightens me!", $51
-	db "I break boulders", $4f
-	db "for training!", $57
-; 0xa1a51 + 60 bytes
-
-_UnnamedText_5cee3: ; 0xa1a8d
-	db $0, "Yow!", $4f
-	db "Stubbed fingers!", $58
-; 0xa1a8d + 23 bytes
-
-_UnnamedText_5cee8: ; 0xa1aa4
-	db $0, "The only thing", $4f
-	db "that frightens us", $55
-	db "is psychic power!", $57
-; 0xa1aa4 + 52 bytes
-
-_UnnamedText_5cef7: ; 0xa1ad8
-	db $0, "Hoohah!", $51
-	db "You're trespassing", $4f
-	db "in our FIGHTING", $55
-	db "DOJO!", $57
-; 0xa1ad8 + 49 bytes
-
-_UnnamedText_5cefc: ; 0xa1b09
-	db $0, "Oof!", $4f
-	db "I give up!", $58
-; 0xa1b09 + 17 bytes
-
-_UnnamedText_5cf01: ; 0xa1b1a
-	db $0, "The prime fighters", $4f
-	db "across the land", $55
-	db "train here.", $57
-; 0xa1b1a + 48 bytes
-
-_UnnamedText_5cf49: ; 0xa1b4a
-	db $0, "You want the", $4f
-	db "hard kicking", $55
-	db "HITMONLEE?", $57
-; 0xa1b4a + 38 bytes
-
-_UnnamedText_5cf91: ; 0xa1b70
-	db $0, "You want the", $4f
-	db "piston punching", $55
-	db "HITMONCHAN?", $57
-; 0xa1b70 + 42 bytes
-
-_UnnamedText_5cf96: ; 0xa1b9a
-	db $0, "Better not get", $4f
-	db "greedy...", $57
-; 0xa1b9a + 26 bytes
-
-_UnnamedText_5d162: ; 0xa1bb4
-	db $0, "I had a vision of", $4f
-	db "your arrival!", $51
-	db "I have had psychic", $4f
-	db "powers since I", $55
-	db "was a child.", $51
-	db "I first learned", $4f
-	db "to bend spoons", $55
-	db "with my mind.", $51
-	db "I dislike fight-", $4f
-	db "ing, but if you", $55
-	db "wish, I will show", $55
-	db "you my powers!", $57
-; 0xa1bb4 + 191 bytes
-
-_UnnamedText_5d167: ; 0xa1c73
-	db $0, "I'm", $4f
-	db "shocked!", $55
-	db "But, a loss is a", $55
-	db "loss.", $51
-	db "I admit I didn't", $4f
-	db "work hard enough", $55
-	db "to win!", $51
-	db "You earned the", $4f
-	db "MARSHBADGE!@@"
-; 0xa1cdc
-
-_UnnamedText_5d16e: ; 0xa1cdc
-	db $0, "Everyone has", $4f
-	db "psychic power!", $55
-	db "People just don't", $55
-	db "realize it!", $57
-; 0xa1cdc + 58 bytes
-
-_UnnamedText_5d173: ; 0xa1d16
-	db $0, "The MARSHBADGE", $4f
-	db "makes #MON up", $55
-	db "to L70 obey you!", $51
-	db "Stronger #MON", $4f
-	db "will become wild,", $55
-	db "ignoring your", $55
-	db "orders in battle!", $51
-	db "Just don't raise", $4f
-	db "your #MON too", $55
-	db "much!", $51
-	db "Wait, please take", $4f
-	db "this TM with you!", $57
-; 0xa1d16 + 183 bytes
-
-ReceivedTM46Text: ; 0xa1dcd
-	db $0, $52, " received", $4f
-	db "TM46!@@"
-; 0xa1de0
-
-_UnnamedText_5d17d: ; 0xa1de0
-	db $0, $51
-	db "TM46 is PSYWAVE!", $4f
-	db "It uses powerful", $55
-	db "psychic waves to", $55
-	db "inflict damage!", $57
-; 0xa1de0 + 69 bytes
-
-_UnnamedText_5d182: ; 0xa1e25
-	db $0, "Your pack is full", $4f
-	db "of other items!", $57
-; 0xa1e25 + 35 bytes
-
-_UnnamedText_5d1e6: ; 0xa1e48
-	db $0, "Yo! Champ in", $4f
-	db "making!", $51
-	db "SABRINA's #MON", $4f
-	db "use psychic power", $55
-	db "instead of force!", $51
-	db "Fighting #MON", $4f
-	db "are weak against", $55
-	db "psychic #MON!", $51
-	db "They get creamed", $4f
-	db "before they can", $55
-	db "even aim a punch!", $57
-; 0xa1e48 + 168 bytes
-
-_UnnamedText_5d1eb: ; 0xa1ef0
-	db $0, "Psychic power,", $4f
-	db "huh?", $51
-	db "If I had that,", $4f
-	db "I'd make a bundle", $55
-	db "at the slots!", $57
-; 0xa1ef0 + 67 bytes
-
-_UnnamedText_5d1f0: ; 0xa1f33
-	db $0, "SABRINA is younger", $4f
-	db "than I, but I", $55
-	db "respect her!", $57
-; 0xa1f33 + 47 bytes
-
-_UnnamedText_5d1f5: ; 0xa1f62
-	db $0, "Not", $4f
-	db "good enough!", $58
-; 0xa1f62 + 18 bytes
-
-_UnnamedText_5d1fa: ; 0xa1f74
-	db $0, "In a battle of", $4f
-	db "equals, the one", $55
-	db "with the stronger", $55
-	db "will wins!", $51
-	db "If you wish", $4f
-	db "to beat SABRINA,", $55
-	db "focus on winning!", $57
-; 0xa1f74 + 108 bytes
-
-_UnnamedText_5d1ff: ; 0xa1fe0
-	db $0, "Does our unseen", $4f
-	db "power scare you?", $57
-; 0xa1fe0 + 34 bytes
-
-_UnnamedText_5d204: ; 0xa2002
-	db $0, "I never", $4f
-	db "foresaw this!", $58
-; 0xa2002 + 23 bytes
-
-_UnnamedText_5d209: ; 0xa2019
-	db $0, "Psychic #MON", $4f
-	db "fear only ghosts", $55
-	db "and bugs!", $57
-; 0xa2019 + 41 bytes
-
-_UnnamedText_5d20e: ; 0xa2042
-	db $0, "#MON take on", $4f
-	db "the appearance of", $55
-	db "their trainers.", $51
-	db "Your #MON must", $4f
-	db "be tough, then!", $57
-; 0xa2042 + 79 bytes
-
-_UnnamedText_5d213: ; 0xa2091
-	db $0, "I knew", $4f
-	db "it!", $58
-; 0xa2091 + 12 bytes
-
-_UnnamedText_5d218: ; 0xa209d
-	db $0, "I must teach", $4f
-	db "better techniques", $55
-	db "to my #MON!", $57
-; 0xa209d + 44 bytes
-
-_UnnamedText_5d21d: ; 0xa20c9
-	db $0, "You know that", $4f
-	db "power alone isn't", $55
-	db "enough!", $57
-; 0xa20c9 + 40 bytes
-
-_UnnamedText_5d222: ; 0xa20f1
-	db $0, "I don't", $4f
-	db "believe this!", $58
-; 0xa20f1 + 22 bytes
-
-_UnnamedText_5d227: ; 0xa2107
-	db $0, "SABRINA just wiped", $4f
-	db "out the KARATE", $55
-	db "MASTER next door!", $57
-; 0xa2107 + 53 bytes
-
-_UnnamedText_5d22c: ; 0xa213c
-	db $0, "You and I, our", $4f
-	db "#MON shall", $55
-	db "fight!", $57
-; 0xa213c + 34 bytes
-
-_UnnamedText_5d231: ; 0xa215e
-	db $0, "I lost", $4f
-	db "after all!", $58
-; 0xa215e + 19 bytes
-
-_UnnamedText_5d236: ; 0xa2171
-	db $0, "I knew that this", $4f
-	db "was going to take", $55
-	db "place.", $57
-; 0xa2171 + 43 bytes
-
-_UnnamedText_5d23b: ; 0xa219c
-	db $0, "SABRINA is young,", $4f
-	db "but she's also", $55
-	db "our LEADER!", $51
-	db "You won't reach", $4f
-	db "her easily!", $57
-; 0xa219c + 72 bytes
-
-_UnnamedText_5d240: ; 0xa21e4
-	db $0, "I lost", $4f
-	db "my concentration!", $58
-; 0xa21e4 + 26 bytes
-
-_UnnamedText_5d245: ; 0xa21fe
-	db $0, "There used to be", $4f
-	db "2 #MON GYMs in", $55
-	db "SAFFRON.", $51
-	db "The FIGHTING DOJO", $4f
-	db "next door lost", $55
-	db "its GYM status", $55
-	db "when we went and", $55
-	db "creamed them!", $57
-; 0xa21fe + 121 bytes
-
-_UnnamedText_5d24a: ; 0xa2277
-	db $0, "SAFFRON #MON", $4f
-	db "GYM is famous for", $55
-	db "its psychics!", $51
-	db "You want to see", $4f
-	db "SABRINA!", $55
-	db "I can tell!", $57
-; 0xa2277 + 83 bytes
-
-_UnnamedText_5d24f: ; 0xa22ca
-	db $0, "Arrrgh!", $58
-; 0xa22ca + 9 bytes
-
-_UnnamedText_5d254: ; 0xa22d3
-	db $0, "That's right! I", $4f
-	db "used telepathy to", $55
-	db "read your mind!", $57
-; 0xa22d3 + 50 bytes
-
-_SaffronHouse1Text1: ; 0xa2305
-	db $0, "Thank you for", $4f
-	db "writing. I hope", $55
-	db "to see you soon!", $51
-	db "Hey! Don't look", $4f
-	db "at my letter!", $57
-
-_SaffronHouse1Text2: ; 0xa2352
-	db $0, "PIDGEY: Kurukkoo!@@"
-
-_SaffronHouse1Text3: ; 0xa2366
-	db $0, "The COPYCAT is", $4f
-	db "cute! I'm getting", $55
-	db "her a # DOLL!", $57
-
-_SaffronHouse1Text4: ; 0xa2395
-	db $0, "I was given a PP", $4f
-	db "UP as a gift.", $51
-	db "It's used for", $4f
-	db "increasing the PP", $55
-	db "of techniques!", $57
-
-_SaffronMartText2: ; 0xa23e3
-	db $0, "MAX REPEL lasts", $4f
-	db "longer than SUPER", $55
-	db "REPEL for keeping", $55
-	db "weaker #MON", $55
-	db "away!", $57
-
-_SaffronMartText3: ; 0xa242a
-	db $0, "REVIVE is costly,", $4f
-	db "but it revives", $55
-	db "fainted #MON!", $57
-
-_SilphCo1Text1: ; 0xa245a
-	db $0, "Welcome!", $51
-	db "The PRESIDENT is", $4f
-	db "in the boardroom", $55
-	db "on 11F!", $57
-
-_SaffronPokecenterText1: ; 0xa248e
-	db $0, "#MON growth", $4f
-	db "rates differ from", $55
-	db "specie to specie.", $57
-
-_SaffronPokecenterText3: ; 0xa24bf
-	db $0, "SILPH CO. is very", $4f
-	db "famous. That's", $55
-	db "why it attracted", $55
-	db "TEAM ROCKET!", $57
-
-_UnnamedText_1de75: ; 0xa24fe
-	db $0, "...Wait! Don't", $4f
-	db "say a word!", $51
-	db "You wanted this!", $58
-; 0xa24fe + 44 bytes
-
-_UnnamedText_1de7a: ; 0xa252a
-	db $0, $52, " received", $4f
-	db "@"
-; 0xa2537
-
-UnnamedText_a2537: ; 0xa2537
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa253e
-
-_UnnamedText_1de80: ; 0xa253e
-	db $0, "TM29 is PSYCHIC!", $51
-	db "It can lower the", $4f
-	db "target's SPECIAL", $55
-	db "abilities.", $57
-; 0xa253e + 62 bytes
-
-_UnnamedText_1de85: ; 0xa257c
-	db $0, "Where do you plan", $4f
-	db "to put this?", $57
-; 0xa257c + 32 bytes
-
-_UnnamedText_2a55: ; 0xa259c
-	db $0, "Hi there!", $4e, "May I help you?", $57
-; 0xa259c + 27 bytes
-
-_UnnamedText_2aa4: ; 0xa25b7
-	TX_RAM $cd6d
-	db $0, $4f
-	db "fainted!", $57
-; 0xa25b7 + 14 bytes
-
-_UnnamedText_2aba: ; 0xa25c5
-	db $0, $52, " is out of", $4f
-	db "useable #MON!", $51
-	db $52, " blacked", $4f
-	db "out!", $58
-; 0xa25c5 + 42 bytes
-
-_UnnamedText_2ac8: ; 0xa25ef
-	db $0, "REPEL's effect", $4f
-	db "wore off.", $57
-; 0xa25ef + 25 bytes
-
-_UnnamedText_6e0c: ; 0xa2608
-	db $0, "Take your time.", $57
-; 0xa2608 + 17 bytes
-
-_UnnamedText_6e11: ; 0xa2619
-	TX_RAM $cf4b
-	db $0, "?", $4f
-	db "That will be", $55
-	db $f0, "@"
-	db $2, $9f, $ff, $c3
-	db $0, ". OK?", $57
-; 0xa2639
-
-_UnnamedText_6e16: ; 0xa2639
-	db $0, "Here you are!", $4f
-	db "Thank you!", $58
-; 0xa2639 + 26 bytes
-
-_UnnamedText_6e1b: ; 0xa2653
-	db $0, "You don't have", $4f
-	db "enough money.", $58
-; 0xa2653 + 29 bytes
-
-_UnnamedText_6e20: ; 0xa2670
-	db $0, "You can't carry", $4f
-	db "any more items.", $58
-; 0xa2670 + 32 bytes
-
-_UnnamedText_6e25: ; 0xa2690
-	db $0, "What would you", $4f
-	db "like to sell?", $57
-; 0xa2690 + 30 bytes
-
-_UnnamedText_6e2a: ; 0xa26ae
-	db $0, "I can pay you", $4f
-	db $f0, "@"
-	db $2, $9f, $ff, $c3 ; XXX
-	db $0, " for that.", $57
-; 0xa26cf
-
-_UnnamedText_6e2f: ; 0xa26cf
-	db $0, "You don't have", $4f
-	db "anything to sell.", $58
-; 0xa26cf + 33 bytes
-
-_UnnamedText_6e34: ; 0xa26f0
-	db $0, "I can't put a", $4f
-	db "price on that.", $58
-; 0xa26f0 + 29 bytes
-
-_UnnamedText_6e39: ; 0xa270d
-	db $0, "Thank you!", $57
-; 0xa270d + 12 bytes
-
-_UnnamedText_6e3e: ; 0xa2719
-	db $0, "Is there anything", $4f
-	db "else I can do?", $57
-; 0xa2719 + 34 bytes
-
-UnnamedText_a273b: ; 0xa273b
-	TX_RAM $d036
-	db $0, " learned", $4f
-	db "@"
-; 0xa2749
-
-UnnamedText_a2749: ; 0xa2749
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa2750
-
-_UnnamedText_6fb4: ; 0xa2750
-	db $0, "Which move should", $4e, "be forgotten?", $57
-; 0xa2750 + 33 bytes
-
-_UnnamedText_6fb9: ; 0xa2771
-	db $0, "Abandon learning", $4f
-	db "@"
-; 0xa2771 + 19 bytes
-
-UnnamedText_a2784: ; 0xa2784
-	TX_RAM $cf4b
-	db $0, "?", $57
-; 0xa278a
-
-_UnnamedText_6fbe: ; 0xa278a
-	TX_RAM $d036
-	db $0, $4f
-	db "did not learn", $55
-	db "@"
-; 0xa278a + 20 bytes
-
-UnnamedText_a279e: ; 0xa279e
-	TX_RAM $cf4b
-	db $0, "!", $58
-; 0xa27a4
-
-_UnnamedText_6fc3: ; 0xa27a4
-	TX_RAM $d036
-	db $0, " is", $4f
-	db "trying to learn", $55
-	db "@"
-; 0xa27a4 + 25 bytes
-
-UnnamedText_a27bd: ; 0xa27bd
-	TX_RAM $cf4b
-	db $0, "!", $51
-	db "But, @"
-	TX_RAM $d036
-	db $0, $4f
-	db "can't learn more", $55
-	db "than 4 moves!", $51
-	db "Delete an older", $4f
-	db "move to make room", $55
-	db "for @"
-; 0xa2813
-
-UnnamedText_a2813: ; 0xa2813
-	TX_RAM $cf4b
-	db $0, "?", $57
-; 0xa2819
-
-_UnnamedText_6fc8: ; 0xa2819
-	db $0, "1, 2 and...@@"
-; 0xa2827
-
-_UnnamedText_6fd7: ; 0xa2827
-	db $0, " Poof!@@"
-; 0xa2830
-
-_UnnamedText_6fdc: ; 0xa2830
-	db $0, $51
-	db "@"
-; 0xa2830 + 3 bytes
-
-UnnamedText_a2833: ; 0xa2833
-	TX_RAM $d036
-	db $0, " forgot", $4f
-	db "@"
-	TX_RAM $cd6d
-	db $0, "!", $51
-	db "And...", $58
-; 0xa284d
-
-_UnnamedText_6fe1: ; 0xa284d
-	db $0, "HM techniques", $4f
-	db "can't be deleted!", $58
-; 0xa284d + 32 bytes
-
-_UnnamedText_705d: ; 0xa286d
-	db $0, "Welcome to our", $4f
-	db "#MON CENTER!", $51
-	db "We heal your", $4f
-	db "#MON back to", $55
-	db "perfect health!", $58
-; 0xa286d + 71 bytes
-
-_UnnamedText_7063: ; 0xa28b4
-	db $0, "Shall we heal your", $4f
-	db "#MON?", $57
-; 0xa28b4 + 26 bytes
-
-_UnnamedText_7068: ; 0xa28ce
-	db $0, "OK. We'll need", $4f
-	db "your #MON.", $57
-; 0xa28ce + 26 bytes
-
-_UnnamedText_706d: ; 0xa28e8
-	db $0, "Thank you!", $4f
-	db "Your #MON are", $55
-	db "fighting fit!", $58
-; 0xa28e8 + 40 bytes
-
-_UnnamedText_7073: ; 0xa2910
-	db $0, "We hope to see", $4f
-	db "you again!", $57
-; 0xa2910 + 27 bytes
-
-_UnnamedText_72b3: ; 0xa292b
-	db $0, "This area is", $4f
-	db "reserved for 2", $55
-	db "friends who are", $55
-	db "linked by cable.", $57
-; 0xa292b + 62 bytes
-
-_UnnamedText_72b8: ; 0xa2969
-	db $0, "Welcome to the", $4f
-	db "Cable Club!", $57
-; 0xa2969 + 28 bytes
-
-_UnnamedText_72bd: ; 0xa2985
-	db $0, "Please apply here.", $51
-	db "Before opening", $4f
-	db "the link, we have", $55
-	db "to save the game.", $57
-; 0xa2985 + 71 bytes
-
-UnnamedText_a29cc: ; 0xa29cc
-	db $0, "Please wait.@@"
-; 0xa29b
-
-_UnnamedText_72c8: ; 0xa29db
-	db $0, "The link has been", $4f
-	db "closed because of", $55
-	db "inactivity.", $51
-	db "Please contact", $4f
-	db "your friend and", $55
-	db "come again!", $57
-; 0xa29db + 92 bytes
-
-SECTION "bank29",DATA,BANK[$29]
-
-_UnnamedText_72cd: ; 0xa4000
-	db $0, "Please come again!", $57
-; 0xa4000 + 20 bytes
-
-_UnnamedText_72d2: ; 0xa4014
-	db $0, "We're making", $4f
-	db "preparations.", $55
-	db "Please wait.", $57
-; 0xa4014 + 40 bytes
-
-UnnamedText_a403c: ; 0xa403c
-	TX_RAM $cd6d
-	db $0, " used", $4f
-	db "STRENGTH.@@"
-; 0xa4051
-
-_UnnamedText_cdbb: ; 0xa4051
-	TX_RAM $cd6d
-	db $0, " can", $4f
-	db "move boulders.", $58
-; 0xa4051 + 24 bytes
-
-_UnnamedText_cdfa: ; 0xa4069
-	db $0, "The current is", $4f
-	db "much too fast!", $58
-; 0xa4069 + 31 bytes
-
-_UnnamedText_cdff: ; 0xa4088
-	db $0, "Cycling is fun!", $4f
-	db "Forget SURFing!", $58
-; 0xa4088 + 33 bytes
-
-_UnnamedText_13228: ; 0xa40a9
-	db $0, "A blinding FLASH", $4f
-	db "lights the area!", $58
-; 0xa40a9 + 35 bytes
-
-_UnnamedText_1327b: ; 0xa40cc
-	db $0, "Warp to the last", $4f
-	db "#MON CENTER.", $57
-; 0xa40cc + 31 bytes
-
-_UnnamedText_13280: ; 0xa40eb
-	TX_RAM $cd6d
-	db $0, " can't", $4f
-	db "use TELEPORT now.", $58
-; 0xa40eb + 28 bytes
-
-_UnnamedText_13285: ; 0xa4107
-	TX_RAM $cd6d
-	db $0, " can't", $4f
-	db "FLY here.", $58
-; 0xa4107 + 20 bytes
-
-_UnnamedText_132d4: ; 0xa411b
-	db $0, "Not healthy", $4f
-	db "enough.", $58
-; 0xa411b + 21 bytes
-
-_UnnamedText_132e8: ; 0xa4130
-	db $0, "No! A new BADGE", $4f
-	db "is required.", $58
-; 0xa4130 + 30 bytes
-
-_UnnamedText_1342a: ; 0xa414e
-	db $0, "You can't use items", $4f
-	db "here.", $58
-; 0xa414e + 26 bytes
-
-_UnnamedText_1342f: ; 0xa4168
-	db $0, "You can't get off", $4f
-	db "here.", $58
-; 0xa4168 + 24 bytes
-
-UnnamedText_a4180: ; 0xa4180
-	db $0, $52, " got", $4f
-	db "@"
-	TX_RAM $cd6d
-	db $0, "!@@"
-; 0xa418f
-
-_UnnamedText_4fe3f: ; 0xa418f
-	db $0, "There's no more", $4f
-	db "room for #MON!", $55
-	db "@"
-; 0xa418f + 32 bytes
-
-UnnamedText_a41af: ; 0xa41af
-	TX_RAM $de06
-	db $0, " was", $55
-	db "sent to #MON", $55
-	db "BOX @"
-	TX_RAM $cf4b
-	db $0, " on PC!", $57
-; 0xa41ca + 12 bytes = 0xa41d6
-
-_UnnamedText_4fe44: ; 0xa41d6
-	db $0, "There's no more", $4f
-	db "room for #MON!", $51
-	db "The #MON BOX", $4f
-	db "is full and can't", $55
-	db "accept any more!", $51
-	db "Change the BOX at", $4f
-	db "a #MON CENTER!", $57
-; 0xa41d6 + 111 bytes
-
-INCLUDE "text/mapPalletTown.tx"
-
-_ViridianCityText1:
-	db $0, "Those # BALLs", $4f
-	db "at your waist!", $55
-	db "You have #MON!", $51
-	db "It's great that", $4f
-	db "you can carry and", $55
-	db "use #MON any", $55
-	db "time, anywhere!", $57
-
-_UnnamedText_19122: ; 0xa4437
-	db $0, "This #MON GYM", $4f
-	db "is always closed.", $51
-	db "I wonder who the", $4f
-	db "LEADER is?", $57
-; 0xa4437 + 61 bytes
-
-_UnnamedText_19127: ; 0xa4474
-	db $0, "VIRIDIAN GYM's", $4f
-	db "LEADER returned!", $57
-; 0xa4474 + 32 bytes
-
-_UnnamedText_1914d: ; 0xa4494
-	db $0, "You want to know", $4f
-	db "about the 2 kinds", $55
-	db "of caterpillar", $55
-	db "#MON?", $57
-; 0xa4494 + 57 bytes
-
-_UnnamedText_19152: ; 0xa44cd
-	db $0, "Oh, OK then!", $57
-; 0xa44cd + 14 bytes
-
-_UnnamedText_19157: ; 0xa44db
-	db $0, "CATERPIE has no", $4f
-	db "poison, but", $55
-	db "WEEDLE does.", $51
-	db "Watch out for its", $4f
-	db "POISON STING!", $57
-; 0xa44db + 74 bytes
-
-_UnnamedText_19175: ; 0xa4525
-	db $0, "Oh Grandpa! Don't", $4f
-	db "be so mean!", $55
-	db "He hasn't had his", $55
-	db "coffee yet.", $57
-; 0xa4525 + 59 bytes
-
-_UnnamedText_1917a: ; 0xa4560
-	db $0, "When I go shop in", $4f
-	db "PEWTER CITY, I", $55
-	db "have to take the", $55
-	db "winding trail in", $55
-	db "VIRIDIAN FOREST.", $57
-; 0xa4560 + 85 bytes
-
-_UnnamedText_19191: ; 0xa45b5
-	db $0, "You can't go", $4f
-	db "through here!", $51
-	db "This is private", $4f
-	db "property!", $57
-; 0xa45b5 + 53 bytes
-
-_UnnamedText_191ca: ; 0xa45ea
-	db $0, "Yawn!", $4f
-	db "I must have dozed", $55
-	db "off in the sun.", $51
-	db "I had this dream", $4f
-	db "about a DROWZEE", $55
-	db "eating my dream.", $55
-	db "What's this?", $55
-	db "Where did this TM", $55
-	db "come from?", $51
-	db "This is spooky!", $4f
-	db "Here, you can", $55
-	db "have this TM.", $58
-; 0xa45ea + 176 bytes
-
-_ReceivedTM42Text: ; 0xa469a
-	db $0, $52, " received", $4f
-	db "TM42!@@"
-; 0xa46ad
-
-_UnnamedText_191d5: ; 0xa46ad
-	db $0, "TM42 contains", $4f
-	db "DREAM EATER...", $55
-	db "...Snore...", $57
-; 0xa46ad + 42 bytes
-
-_UnnamedText_191da: ; 0xa46d7
-	db $0, "You have too much", $4f
-	db "stuff already.", $57
-; 0xa46d7 + 34 bytes
-
-_UnnamedText_1920a: ; 0xa46f9
-	db $0, "Ahh, I've had my", $4f
-	db "coffee now and I", $55
-	db "feel great!", $51
-	db "Sure you can go", $4f
-	db "through!", $51
-	db "Are you in a", $4f
-	db "hurry?", $57
-; 0xa46f9 + 91 bytes
-
-_UnnamedText_1920f: ; 0xa4754
-	db $0, "I see you're using", $4f
-	db "a #DEX.", $51
-	db "When you catch a", $4f
-	db "#MON, #DEX", $55
-	db "is automatically", $55
-	db "updated.", $51
-	db "What? Don't you", $4f
-	db "know how to catch", $55
-	db "#MON?", $51
-	db "I'll show you", $4f
-	db "how to then.", $57
-; 0xa4754 + 146 bytes
-
-_UnnamedText_19214: ; 0xa47e6
-	db $0, "Time is money...", $4f
-	db "Go along then.", $57
-; 0xa47e6 + 33 bytes
-
-_UnnamedText_19219: ; 0xa4807
-	db $0, "First, you need", $4f
-	db "to weaken the", $55
-	db "target #MON.", $57
-; 0xa4807 + 44 bytes
-
-_ViridianCityText8: ; 0xa4833
-	db $0, "VIRIDIAN CITY ", $4f
-	db "The Eternally", $55
-	db "Green Paradise", $57
-
-_ViridianCityText9: ; 0xa4860
-	db $0, "TRAINER TIPS", $51
-	db "Catch #MON", $4f
-	db "and expand your", $55
-	db "collection!", $51
-	db "The more you have,", $4f
-	db "the easier it is", $55
-	db "to fight!", $57
-
-_ViridianCityText10: ; 0xa48c3
-	db $0, "TRAINER TIPS", $51
-	db "The battle moves", $4f
-	db "of #MON are", $55
-	db "limited by their", $55
-	db "POWER POINTs, PP.", $51
-	db "To replenish PP,", $4f
-	db "rest your tired", $55
-	db "#MON at a", $55
-	db "#MON CENTER!", $57
-
-_ViridianCityText13: ; 0xa4949
-	db $0, "VIRIDIAN CITY", $4f
-	db "#MON GYM", $57
-
-_UnnamedText_19232: ; 0xa4961
-	db $0, "The GYM's doors", $4f
-	db "are locked...", $57
-; 0xa4961 + 30 bytes
-
-_PewterCityText1: ; 0xa497f
-	db $0, "It's rumored that", $4f
-	db "CLEFAIRYs came", $55
-	db "from the moon!", $51
-	db "They appeared ", $4f
-	db "after MOON STONE", $55
-	db "fell on MT.MOON.", $57
-
-_PewterCityText2: ; 0xa49e0
-	db $0, "There aren't many", $4f
-	db "serious #MON", $55
-	db "trainers here!", $51
-	db "They're all like", $4f
-	db "BUG CATCHERs,", $55
-	db "but PEWTER GYM's", $55
-	db "BROCK is totally", $55
-	db "into it!", $57
-
-_UnnamedText_193f1: ; 0xa4a56
-	db $0, "Did you check out", $4f
-	db "the MUSEUM?", $57
-; 0xa4a56 + 31 bytes
-
-_UnnamedText_193f6: ; 0xa4a75
-	db $0, "Weren't those", $4f
-	db "fossils from MT.", $55
-	db "MOON amazing?", $57
-; 0xa4a75 + 45 bytes
-
-_UnnamedText_193fb: ; 0xa4aa2
-	db $0, "Really?", $4f
-	db "You absolutely", $55
-	db "have to go!", $57
-; 0xa4aa2 + 36 bytes
-
-_UnnamedText_19400: ; 0xa4ac6
-	db $0, "It's right here!", $4f
-	db "You have to pay", $55
-	db "to get in, but", $55
-	db "it's worth it!", $55
-	db "See you around!", $57
-; 0xa4ac6 + 78 bytes
-
-_UnnamedText_19427: ; 0xa4b14
-	db $0, "Psssst!", $4f
-	db "Do you know what", $55
-	db "I'm doing?", $57
-; 0xa4b14 + 36 bytes
-
-_UnnamedText_1942c: ; 0xa4b38
-	db $0, "That's right!", $4f
-	db "It's hard work!", $57
-; 0xa4b38 + 29 bytes
-
-_UnnamedText_19431: ; 0xa4b55
-	db $0, "I'm spraying REPEL", $4f
-	db "to keep #MON", $55
-	db "out of my garden!", $57
-; 0xa4b55 + 50 bytes
-
-_UnnamedText_1945d: ; 0xa4b87
-	db $0, "You're a trainer", $4f
-	db "right? BROCK's", $55
-	db "looking for new", $55
-	db "challengers!", $55
-	db "Follow me!", $57
-; 0xa4b87 + 71 bytes
-
-_UnnamedText_19462: ; 0xa4bce
-	db $0, "If you have the", $4f
-	db "right stuff, go", $55
-	db "take on BROCK!", $57
-; 0xa4bce + 48 bytes
-
-_PewterCityText6: ; 0xa4bfe
-	db $0, "TRAINER TIPS", $51
-	db "Any #MON that", $4f
-	db "takes part in", $55
-	db "battle, however", $55
-	db "short, earns EXP!", $57
-
-_PewterCityText7: ; 0xa4c4a
-	db $0, "NOTICE!", $51
-	db "Thieves have been", $4f
-	db "stealing #MON", $55
-	db "fossils at MT.", $55
-	db "MOON! Please call", $55
-	db "PEWTER POLICE", $55
-	db "with any info!", $57
-
-_PewterCityText10: ; 0xa4cb1
-	db $0, "PEWTER MUSEUM", $4f
-	db "OF SCIENCE", $57
-
-_PewterCityText11: ; 0xa4ccb
-	db $0, "PEWTER CITY", $4f
-	db "#MON GYM", $55
-	db "LEADER: BROCK", $51
-	db "The Rock Solid", $4f
-	db "#MON Trainer!", $57
-
-_PewterCityText12: ; 0xa4d0c
-	db $0, "PEWTER CITY", $4f
-	db "A Stone Gray", $55
-	db "City", $57
-
-_UnnamedText_19668: ; 0xa4d2b
-	db $0, $53, ": Yo!", $4f
-	db $52, "!", $51
-	db "You're still", $4f
-	db "struggling along", $55
-	db "back here?", $51
-	db "I'm doing great!", $4f
-	db "I caught a bunch", $55
-	db "of strong and", $55
-	db "smart #MON!", $51
-	db "Here, let me see", $4f
-	db "what you caught,", $55
-	db $52, "!", $57
-; 0xa4d2b + 147 bytes
-
-_UnnamedText_1966d: ; 0xa4dbe
-	db $0, "Hey!", $4f
-	db "Take it easy!", $55
-	db "You won already!", $58
-; 0xa4dbe + 37 bytes
-
-_UnnamedText_19672: ; 0xa4de3
-	db $0, "Heh!", $4f
-	db "You're no match", $55
-	db "for my genius!", $58
-; 0xa4de3 + 36 bytes
-
-_UnnamedText_19677: ; 0xa4e07
-	db $0, $53, ": Hey,", $4f
-	db "guess what?", $51
-	db "I went to BILL's", $4f
-	db "and got him to", $55
-	db "show me his rare", $55
-	db "#MON!", $51
-	db "That added a lot", $4f
-	db "of pages to my", $55
-	db "#DEX!", $51
-	db "After all, BILL's", $4f
-	db "world famous as a", $55
-	db "#MANIAC!", $51
-	db "He invented the", $4f
-	db "#MON Storage", $55
-	db "System on PC!", $51
-	db "Since you're using", $4f
-	db "his system, go", $55
-	db "thank him!", $51
-	db "Well, I better", $4f
-	db "get rolling!", $55
-	db "Smell ya later!", $57
-; 0xa4e07 + 288 bytes
-
-_UnnamedText_196d9: ; 0xa4f27
-	db $0, "Hey! Stay out!", $4f
-	db "It's not your", $55
-	db "yard! Huh? Me?", $51
-	db "I'm an innocent", $4f
-	db "bystander! Don't", $55
-	db "you believe me?", $57
-; 0xa4f27 + 91 bytes
-
-ReceivedTM28Text: ; 0xa4f82
-	db $0, $52, " recovered", $4f
-	db "TM28!@@"
-; 0xa4f96
-
-UnnamedText_a4f96: ; 0xa4f96
-	db $0, $51
-	db "I better get", $4f
-	db "moving! Bye!@@"
-; 0xa4fb3
-
-_UnnamedText_196e9: ; 0xa4fb3
-	db $0, "Make room for", $4f
-	db "this!", $51
-	db "I can't run until", $4f
-	db "I give it to you!", $57
-; 0xa4fb3 + 56 bytes
-
-_UnnamedText_196ee: ; 0xa4feb
-	db $0, "Stop!", $4f
-	db "I give up! I'll", $55
-	db "leave quietly!", $58
-; 0xa4feb + 37 bytes
-
-_UnnamedText_196f3: ; 0xa5010
-	db $0, "OK! I'll return", $4f
-	db "the TM I stole!", $58
-; 0xa5010 + 32 bytes
-
-_CeruleanCityText3: ; 0xa5030
-	db $0, "You're a trainer", $4f
-	db "too? Collecting,", $55
-	db "fighting, it's a", $55
-	db "tough life.", $57
-
-_CeruleanCityText4: ; 0xa506e
-	db $0, "That bush in", $4f
-	db "front of the shop", $55
-	db "is in the way.", $51
-	db "There might be a", $4f
-	db "way around.", $57
-
-_CeruleanCityText5: ; 0xa50ba
-	db $0, "You're making an", $4f
-	db "encyclopedia on", $55
-	db "#MON? That", $55
-	db "sounds amusing.", $57
-
-_CeruleanCityText6: ; 0xa50f6
-	db $0, "The people here", $4f
-	db "were robbed.", $51
-	db "It's obvious that", $4f
-	db "TEAM ROCKET is", $55
-	db "behind this most", $55
-	db "heinous crime!", $51
-	db "Even our POLICE", $4f
-	db "force has trouble", $55
-	db "with the ROCKETs!", $57
-
-_UnnamedText_19730: ; 0xa5188
-	db $0, "OK! SLOWBRO!", $4f
-	db "Use SONICBOOM!", $55
-	db "Come on, SLOWBRO", $55
-	db "pay attention!", $57
-; 0xa5188 + 61 bytes
-
-_UnnamedText_19735: ; 0xa51c5
-	db $0, "SLOWBRO punch!", $4f
-	db "No! You blew it", $55
-	db "again!", $57
-; 0xa51c5 + 39 bytes
-
-_UnnamedText_1973a: ; 0xa51ec
-	db $0, "SLOWBRO, WITHDRAW!", $4f
-	db "No! That's wrong!", $51
-	db "It's so hard to", $4f
-	db "control #MON!", $51
-	db "Your #MON's", $4f
-	db "obedience depends", $55
-	db "on your abilities", $55
-	db "as a trainer!", $57
-; 0xa51ec + 127 bytes
-
-_UnnamedText_1976f: ; 0xa526b
-	db $0, "SLOWBRO took a", $4f
-	db "snooze...", $57
-; 0xa526b + 26 bytes
-
-_UnnamedText_19774: ; 0xa5285
-	db $0, "SLOWBRO is", $4f
-	db "loafing around...", $57
-; 0xa5285 + 30 bytes
-
-_UnnamedText_19779: ; 0xa52a3
-	db $0, "SLOWBRO turned", $4f
-	db "away...", $57
-; 0xa52a3 + 24 bytes
-
-_UnnamedText_1977e: ; 0xa52bb
-	db $0, "SLOWBRO", $4f
-	db "ignored orders...", $57
-; 0xa52bb + 27 bytes
-
-_CeruleanCityText9: ; 0xa52d6
-	db $0, "I want a bright", $4f
-	db "red BICYCLE!", $51
-	db "I'll keep it at", $4f
-	db "home, so it won't", $55
-	db "get dirty!", $57
-
-_CeruleanCityText10: ; 0xa531f
-	db $0, "This is CERULEAN", $4f
-	db "CAVE! Horribly", $55
-	db "strong #MON", $55
-	db "live in there!", $51
-	db "The #MON LEAGUE", $4f
-	db "champion is the", $55
-	db "only person who", $55
-	db "is allowed in!", $57
-
-_CeruleanCityText12: ; 0xa539a
-	db $0, "CERULEAN CITY", $4f
-	db "A Mysterious,", $55
-	db "Blue Aura", $55
-	db "Surrounds It", $57
-
-_CeruleanCityText13: ; 0xa53ce
-	db $0, "TRAINER TIPS", $51
-	db "Pressing B Button", $4f
-	db "during evolution", $55
-	db "cancels the whole", $55
-	db "process.", $57
-
-_CeruleanCityText16: ; 0xa541a
-	db $0, "Grass and caves", $4f
-	db "handled easily!", $55
-	db "BIKE SHOP", $57
-
-_CeruleanCityText17: ; 0xa5445
-	db $0, "CERULEAN CITY", $4f
-	db "#MON GYM", $55
-	db "LEADER: MISTY", $51
-	db "The Tomboyish", $4f
-	db "Mermaid!", $57
-
-_UnnamedText_4413c: ; 0xa5482
-	db $0, "Do you believe in", $4f
-	db "GHOSTs?", $57
-; 0xa5482 + 27 bytes
-
-_UnnamedText_44141: ; 0xa549d
-	db $0, "Really? So there", $4f
-	db "are believers...", $57
-; 0xa549d + 35 bytes
-
-_UnnamedText_44146: ; 0xa54c0
-	db $0, "Hahaha, I guess", $4f
-	db "not.", $51
-	db "That white hand", $4f
-	db "on your shoulder,", $55
-	db "it's not real.", $57
-; 0xa54c0 + 70 bytes
-
-_LavenderTownText2: ; 0xa5506
-	db $0, "This town is known", $4f
-	db "as the grave site", $55
-	db "of #MON.", $51
-	db "Memorial services", $4f
-	db "are held in", $55
-	db "#MON TOWER.", $57
-
-_LavenderTownText3: ; 0xa555f
-	db $0, "GHOSTs appeared", $4f
-	db "in #MON TOWER.", $51
-	db "I think they're", $4f
-	db "the spirits of", $55
-	db "#MON that the", $55
-	db "ROCKETs killed.", $57
-
-_LavenderTownText4: ; 0xa55bb
-	db $0, "LAVENDER TOWN", $4f
-	db "The Noble Purple", $55
-	db "Town", $57
-
-_LavenderTownText5: ; 0xa55e0
-	db $0, "New SILPH SCOPE!", $51
-	db "Make the Invisible", $4f
-	db "Plain to See!", $51
-	db "SILPH CO.", $57
-
-_LavenderTownText8: ; 0xa561d
-	db $0, "LAVENDER VOLUNTEER", $4f
-	db "#MON HOUSE", $57
-
-_LavenderTownText9: ; 0xa563c
-	db $0, "May the Souls of", $4f
-	db "#MON Rest Easy", $55
-	db "#MON TOWER", $57
-
-_VermilionCityText1: ; 0xa5668
-	db $0, "We're careful", $4f
-	db "about pollution!", $51
-	db "We've heard GRIMER", $4f
-	db "multiplies in", $55
-	db "toxic sludge!", $57
-
-_UnnamedText_198a7: ; 0xa56b5
-	db $0, "Did you see S.S.", $4f
-	db "ANNE moored in", $55
-	db "the harbor?", $57
-; 0xa56b5 + 45 bytes
-
-_UnnamedText_198ac: ; 0xa56e2
-	db $0, "So, S.S.ANNE has", $4f
-	db "departed!", $51
-	db "She'll be back in", $4f
-	db "about a year.", $57
-; 0xa56e2 + 59 bytes
-
-_UnnamedText_19904: ; 0xa571d
-	db $0, "Welcome to S.S.", $4f
-	db "ANNE!", $57
-; 0xa571d + 23 bytes
-
-_UnnamedText_19909: ; 0xa5734
-	db $0, "Welcome to S.S.", $4f
-	db "ANNE!", $51
-	db "Excuse me, do you", $4f
-	db "have a ticket?", $58
-; 0xa5734 + 56 bytes
-
-_UnnamedText_1990e: ; 0xa576c
-	db $0, $52, " flashed", $4f
-	db "the S.S.TICKET!", $51
-	db "Great! Welcome to", $4f
-	db "S.S.ANNE!", $57
-; 0xa576c + 55 bytes
-
-_UnnamedText_19913: ; 0xa57a3
-	db $0, $52, " doesn't", $4f
-	db "have the needed", $55
-	db "S.S.TICKET.", $51
-	db "Sorry!", $51
-	db "You need a ticket", $4f
-	db "to get aboard.", $57
-; 0xa57a3 + 78 bytes
-
-_UnnamedText_19918: ; 0xa57f1
-	db $0, "The ship set sail.", $57
-; 0xa57f1 + 20 bytes
-
-_VermilionCityText4: ; 0xa5805
-	db $0, "I'm putting up a", $4f
-	db "building on this", $55
-	db "plot of land.", $51
-	db "My #MON is", $4f
-	db "tamping the land.", $57
-
-_VermilionCityText5: ; 0xa5852
-	db $0, "MACHOP: Guoh!", $4f
-	db "Gogogoh!@@"
-
-_VermilionCityText14: ; 0xa586b
-	db $0, $51
-	db "A MACHOP is", $4f
-	db "stomping the land", $55
-	db "flat.", $57
-
-_VermilionCityText6: ; 0xa5891
-	db $0, "S.S.ANNE is a", $4f
-	db "famous luxury", $55
-	db "cruise ship.", $51
-	db "We visit VERMILION", $4f
-	db "once a year.", $57
-
-_VermilionCityText7: ; 0xa58db
-	db $0, "VERMILION CITY", $4f
-	db "The Port of", $55
-	db "Exquisite Sunsets", $57
-
-_VermilionCityText8: ; 0xa5909
-	db $0, "NOTICE!", $51
-	db "ROUTE 12 may be", $4f
-	db "blocked off by a", $55
-	db "sleeping #MON.", $51
-	db "Detour through", $4f
-	db "ROCK TUNNEL to", $55
-	db "LAVENDER TOWN.", $51
-	db "VERMILION POLICE", $57
-
-_VermilionCityText11: ; 0xa5980
-	db $0, "#MON FAN CLUB", $4f
-	db "All #MON fans", $55
-	db "welcome!", $57
-
-_VermilionCityText12: ; 0xa59a6
-	db $0, "VERMILION CITY", $4f
-	db "#MON GYM", $55
-	db "LEADER: LT.SURGE", $51
-	db "The Lightning ", $4f
-	db "American!", $57
-
-_VermilionCityText13: ; 0xa59e9
-	db $0, "VERMILION HARBOR", $57
-
-_CeladonCityText1: ; 0xa59fb
-	db $0, "I got my KOFFING", $4f
-	db "in CINNABAR!", $51
-	db "It's nice, but it", $4f
-	db "breathes poison", $55
-	db "when it's angry!", $57
-
-_CeladonCityText2: ; 0xa5a4b
-	db $0, "Heheh! This GYM", $4f
-	db "is great! It's", $55
-	db "full of women!", $57
-
-_CeladonCityText3: ; 0xa5a79
-	db $0, "The GAME CORNER", $4f
-	db "is bad for our", $55
-	db "city's image!", $57
-
-_CeladonCityText4: ; 0xa5aa6
-	db $0, "Moan! I blew it", $4f
-	db "all at the slots!", $51
-	db "I knew I should", $4f
-	db "have cashed in my", $55
-	db "coins for prizes!", $57
-
-_UnnamedText_199d2: ; 0xa5afd
-	db $0, "Hello, there!", $51
-	db "I've seen you,", $4f
-	db "but I never had a", $55
-	db "chance to talk!", $51
-	db "Here's a gift for", $4f
-	db "dropping by!", $58
-; 0xa5afd + 93 bytes
-
-_UnnamedText_199d7: ; 0xa5b5a
-	db $0, $52, " received", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!@@"
-; 0xa5b6e
-
-_UnnamedText_199dd: ; 0xa5b6e
-	db $0, "TM41 teaches", $4f
-	db "SOFTBOILED!", $51
-	db "Only one #MON", $4f
-	db "can use it!", $51
-	db "That #MON is", $4f
-	db "CHANSEY!", $57
-; 0xa5b6e + 74 bytes
-
-_UnnamedText_199e2: ; 0xa5bb8
-	db $0, "Oh, your pack is", $4f
-	db "full of items!", $57
-; 0xa5bb8 + 33 bytes
-
-_CeladonCityText6: ; 0xa5bd9
-	db $0, "This is my trusted", $4f
-	db "pal, POLIWRATH!", $51
-	db "It evolved from", $4f
-	db "POLIWHIRL when I", $55
-	db "used WATER STONE!", $57
-
-_CeladonCityText7: ; 0xa5c30
-	db $0, "POLIWRATH: Ribi", $4f
-	db "ribit!@@"
-
-_CeladonCityText8: ; 0xa5c49
-	db $0, "What are you", $4f
-	db "staring at?", $57
-
-_CeladonCityText9: ; 0xa5c63
-	db $0, "Keep out of TEAM", $4f
-	db "ROCKET's way!", $57
-
-_CeladonCityText10: ; 0xa5c82
-	db $0, "TRAINER TIPS", $51
-	db "X ACCURACY boosts", $4f
-	db "the accuracy of", $55
-	db "techniques!", $51
-	db "DIRE HIT jacks up", $4f
-	db "the likelihood of", $55
-	db "critical hits!", $51
-	db "Get your items at", $4f
-	db "CELADON DEPT.", $55
-	db "STORE!", $57
-
-_CeladonCityText11: ; 0xa5d18
-	db $0, "CELADON CITY", $4f
-	db "The City of", $55
-	db "Rainbow Dreams", $57
-
-_CeladonCityText13: ; 0xa5d41
-	db $0, "CELADON CITY", $4f
-	db "#MON GYM", $55
-	db "LEADER: ERIKA", $51
-	db "The Nature Loving", $4f
-	db "Princess!", $57
-
-_CeladonCityText14: ; 0xa5d82
-	db $0, "CELADON MANSION", $57
-
-_CeladonCityText15: ; 0xa5d93
-	db $0, "Find what you", $4f
-	db "need at CELADON", $55
-	db "DEPT. STORE!", $57
-
-_CeladonCityText16: ; 0xa5dbf
-	db $0, "TRAINER TIPS", $51
-	db "GUARD SPEC.", $4f
-	db "protects #MON", $55
-	db "against SPECIAL", $55
-	db "attacks such as", $55
-	db "fire and water!", $51
-	db "Get your items at", $4f
-	db "CELADON DEPT.", $55
-	db "STORE!", $57
-
-_CeladonCityText17: ; 0xa5e3e
-	db $0, "Coins exchanged", $4f
-	db "for prizes!", $55
-	db "PRIZE EXCHANGE", $57
-
-_CeladonCityText18: ; 0xa5e6a
-	db $0, "ROCKET GAME CORNER", $4f
-	db "The playground", $55
-	db "for grown-ups!", $57
-
-_FuchsiaCityText1: ; 0xa5e9c
-	db $0, "Did you try the", $4f
-	db "SAFARI GAME? Some", $55
-	db "#MON can only", $55
-	db "be caught there.", $57
-
-_FuchsiaCityText2: ; 0xa5ede
-	db $0, "SAFARI ZONE has a", $4f
-	db "zoo in front of", $55
-	db "the entrance.", $51
-	db "Out back is the", $4f
-	db "SAFARI GAME for", $55
-	db "catching #MON.", $57
-
-_FuchsiaCityText3: ; 0xa5f3e
-	db $0, "ERIK: Where's", $4f
-	db "SARA? I said I'd", $55
-	db "meet her here.", $57
-
-_FuchsiaCityText4: ; 0xa5f6b
-	db $0, "That item ball in", $4f
-	db "there is really a", $55
-	db "#MON.", $57
-
-_FuchsiaCityText5: ; 0xa5f96
-	db $0, "!", $57
-
-_FuchsiaCityText11: ; 0xa5f99
-	db $0, "FUCHSIA CITY", $4f
-	db "Behold! It's", $55
-	db "Passion Pink!", $57
-
-_FuchsiaCityText13: ; 0xa5fc1
-	db $0, "SAFARI GAME", $4f
-	db "#MON-U-CATCH!", $57
-
-_FuchsiaCityText16: ; 0xa5fdc
-	db $0, "SAFARI ZONE", $4f
-	db "WARDEN's HOME", $57
-
-_FuchsiaCityText17: ; 0xa5ff6
-	db $0, "#MON PARADISE", $4f
-	db "SAFARI ZONE", $57
-
-_FuchsiaCityText18: ; 0xa6011
-	db $0, "FUCHSIA CITY", $4f
-	db "#MON GYM", $55
-	db "LEADER: KOGA", $51
-	db "The Poisonous", $4f
-	db "Ninja Master", $57
-
-_UnnamedText_19a9f: ; 0xa6050
-	db $0, "Name: CHANSEY", $51
-	db "Catching one is", $4f
-	db "all up to chance.", $58
-; 0xa6050 + 49 bytes
-
-_UnnamedText_19ab3: ; 0xa6081
-	db $0, "Name: VOLTORB", $51
-	db "The very image of", $4f
-	db "a # BALL.", $58
-; 0xa6081 + 43 bytes
-
-_UnnamedText_19ac7: ; 0xa60ac
-	db $0, "Name: KANGASKHAN", $51
-	db "A maternal #MON", $4f
-	db "that raises its", $55
-	db "young in a pouch", $55
-	db "on its belly.", $58
-; 0xa60ac + 81 bytes
-
-_UnnamedText_19adb: ; 0xa60fd
-	db $0, "Name: SLOWPOKE", $51
-	db "Friendly and very", $4f
-	db "slow moving.", $58
-; 0xa60fd + 47 bytes
-
-_UnnamedText_19aef: ; 0xa612c
-	db $0, "Name: LAPRAS", $51
-	db "A.K.A. the king", $4f
-	db "of the seas.", $58
-; 0xa612c + 43 bytes
-
-_UnnamedText_19b20: ; 0xa6157
-	db $0, "Name: OMANYTE", $51
-	db "A #MON that", $4f
-	db "was resurrected", $55
-	db "from a fossil.", $58
-; 0xa6157 + 58 bytes
-
-_UnnamedText_19b25: ; 0xa6191
-	db $0, "Name: KABUTO", $51
-	db "A #MON that", $4f
-	db "was resurrected", $55
-	db "from a fossil.", $58
-; 0xa6191 + 57 bytes
-
-_UnnamedText_19b2a: ; 0xa61ca
-	db $0, "...", $57
-; 0xa61ca + 5 bytes
-
-_CinnabarIslandText8: ; 0xa61cf
-	db $0, "The door is", $4f
-	db "locked...", $57
-; 0xa61cf + 23 bytes
-
-_CinnabarIslandText1: ; 0xa61e6
-	db $0, "CINNABAR GYM's", $4f
-	db "BLAINE is an odd", $55
-	db "man who has lived", $55
-	db "here for decades.", $57
-
-_CinnabarIslandText2: ; 0xa622a
-	db $0, "Scientists conduct", $4f
-	db "experiments in", $55
-	db "the burned out", $55
-	db "building.", $57
-
-_CinnabarIslandText3: ; 0xa6266
-	db $0, "CINNABAR ISLAND", $4f
-	db "The Fiery Town of", $55
-	db "Burning Desire", $57
-
-_CinnabarIslandText6: ; 0xa6298
-	db $0, "#MON LAB", $57
-
-_CinnabarIslandText7: ; 0xa62a2
-	db $0, "CINNABAR ISLAND", $4f
-	db "#MON GYM", $55
-	db "LEADER: BLAINE", $51
-	db "The Hot-Headed", $4f
-	db "Quiz Master!", $57
-
-_SaffronCityText1: ; 0xa62e7
-	db $0, "What do you want?", $4f
-	db "Get lost!", $57
-
-_SaffronCityText2: ; 0xa6304
-	db $0, "BOSS said he'll", $4f
-	db "take this town!", $57
-
-_SaffronCityText3: ; 0xa6324
-	db $0, "Get out of the", $4f
-	db "way!", $57
-
-_SaffronCityText4: ; 0xa6339
-	db $0, "SAFFRON belongs", $4f
-	db "to TEAM ROCKET!", $57
-
-_SaffronCityText5: ; 0xa635a
-	db $0, "Being evil makes", $4f
-	db "me feel so alive!", $57
-
-_SaffronCityText6: ; 0xa637e
-	db $0, "Ow! Watch where", $4f
-	db "you're walking!", $57
-
-_SaffronCityText7: ; 0xa639e
-	db $0, "With SILPH under", $4f
-	db "control, we can", $55
-	db "exploit #MON", $55
-	db "around the world!", $57
-
-_SaffronCityText8: ; 0xa63df
-	db $0, "You beat TEAM", $4f
-	db "ROCKET all alone?", $55
-	db "That's amazing!", $57
-
-_SaffronCityText9: ; 0xa640f
-	db $0, "Yeah! TEAM ROCKET", $4f
-	db "is gone!", $55
-	db "It's safe to go", $55
-	db "out again!", $57
-
-_SaffronCityText10: ; 0xa6445
-	db $0, "People should be", $4f
-	db "flocking back to", $55
-	db "SAFFRON now.", $57
-
-_SaffronCityText11: ; 0xa6475
-	db $0, "I flew here on my", $4f
-	db "PIDGEOT when I", $55
-	db "read about SILPH.", $51
-	db "It's already over?", $4f
-	db "I missed the", $55
-	db "media action.", $57
-
-_SaffronCityText12: ; 0xa64d6
-	db $0, "PIDGEOT: Bi bibii!@@"
-
-_SaffronCityText13: ; 0xa64eb
-	db $0, "I saw ROCKET", $4f
-	db "BOSS escaping", $55
-	db "SILPH's building.", $57
-
-_SaffronCityText14: ; 0xa6518
-	db $0, "I'm a security", $4f
-	db "guard.", $51
-	db "Suspicious kids I", $4f
-	db "don't allow in!", $57
-
-_SaffronCityText15: ; 0xa654f
-	db $0, "...", $4f
-	db "Snore...", $51
-	db "Hah! He's taking", $4f
-	db "a snooze!", $57
-
-_SaffronCityText16: ; 0xa6577
-	db $0, "SAFFRON CITY", $4f
-	db "Shining, Golden", $55
-	db "Land of Commerce", $57
-
-_SaffronCityText17: ; 0xa65a6
-	db $0, "FIGHTING DOJO", $57
-
-_SaffronCityText18: ; 0xa65b5
-	db $0, "SAFFRON CITY", $4f
-	db "#MON GYM", $55
-	db "LEADER: SABRINA", $51
-	db "The Master of", $4f
-	db "Psychic #MON!", $57
-
-_SaffronCityText20: ; 0xa65f8
-	db $0, "TRAINER TIPS", $51
-	db "FULL HEAL cures", $4f
-	db "all ailments like", $55
-	db "sleep and burns.", $51
-	db "It costs a bit", $4f
-	db "more, but it's", $55
-	db "more convenient.", $57
-
-_SaffronCityText21: ; 0xa6667
-	db $0, "TRAINER TIPS", $51
-	db "New GREAT BALL", $4f
-	db "offers improved", $55
-	db "capture rates.", $51
-	db "Try it on those", $4f
-	db "hard-to-catch", $55
-	db "#MON.", $57
-
-_SaffronCityText22: ; 0xa66c7
-	db $0, "SILPH CO.", $4f
-	db "OFFICE BUILDING", $57
-
-_SaffronCityText24: ; 0xa66e2
-	db $0, "MR.PSYCHIC's", $4f
-	db "HOUSE", $57
-
-_SaffronCityText25: ; 0xa66f5
-	db $0, "SILPH's latest", $4f
-	db "product!", $51
-	db "Release to be", $4f
-	db "determined...", $57
-
-_ItemUseBallText00:
-	db 0,"It dodged the",$4F
-	db "thrown BALL!",$51
-	db "This #MON",$4F
-	db "can't be caught!",$58
-
-_ItemUseBallText01:
-	db 0,"You missed the",$4F
-	db "#MON!",$58
-
-_ItemUseBallText02:
-	db 0,"Darn! The #MON",$4F
-	db "broke free!",$58
-
-_ItemUseBallText03:
-	db 0,"Aww! It appeared",$4F
-	db "to be caught! ",$58
-
-_ItemUseBallText04:
-	db 0,"Shoot! It was so",$4F
-	db "close too!",$58
-
-_ItemUseBallText05:
-	db 0,"All right!",$4F,"@",1
-	dw $CFDA
-	db 0," was",$55
-	db "caught!@@"
-
-_ItemUseBallText07:
-	db 1
-	dw $DE06
-	db 0," was",$4F
-	db "transferred to",$55
-	db "BILL's PC!",$58
-
-_ItemUseBallText08:
-	db 1
-	dw $DE06
-	db 0," was",$4F
-	db "transferred to",$55
-	db "someone's PC!",$58
-
-_ItemUseBallText06:
-	db 0,"New #DEX data",$4F
-	db "will be added for",$55,"@",1
-	dw $CFDA
-	db 0,"!@@"
-
-_UnnamedText_da4c: ; 0xa685e
-	db $0, $52, " got on", $4f
-	db "@"
-; 0xa685e + 11 bytes
-
-UnnamedText_a6869: ; 0xa6869
-	TX_RAM $cd6d
-	db $0, "!", $58
-; 0xa686f
-
-_UnnamedText_da51: ; 0xa686f
-	db $0, "There's no place", $4f
-	db "to get off!", $58
-; 0xa686f + 29 bytes
-
-_UnnamedText_df24: ; 0xa688c
-	TX_RAM $cd6d
-	db $0, "'s", $4f
-	db "@"
-; 0xa688c + 7 bytes
-
-UnnamedText_a6893: ; 0xa6893
-	TX_RAM $cf4b
-	db $0, " rose.", $58
-; 0xa689e
-
-_UnnamedText_df29: ; 0xa689e
-	db $0, "It won't have any", $4f
-	db "effect.", $58
-; 0xa689e + 26 bytes
-
-_UnnamedText_dfa5: ; 0xa68b8
-	db $0, $52, " threw", $4f
-	db "some BAIT.", $57
-; 0xa68b8 + 20 bytes
-
-_UnnamedText_dfaa: ; 0xa68cc
-	db $0, $52, " threw a", $4f
-	db "ROCK.", $57
-; 0xa68cc + 17 bytes
-
-_UnnamedText_e20b: ; 0xa68dd
-	db $0, "Played the #", $4f
-	db "FLUTE.", $51
-	db "Now, that's a", $4f
-	db "catchy tune!", $58
-; 0xa68dd + 47 bytes
-
-_UnnamedText_e210: ; 0xa690c
-	db $0, "All sleeping", $4f
-	db "#MON woke up.", $58
-; 0xa690c + 28 bytes
-
-UnnamedText_a6928: ; 0xa6928
-	db $0, $52, " played the", $4f
-	db "# FLUTE.@@"
-; 0xa6940
-
-_UnnamedText_e247: ; 0xa6940
-	db $0, "Coins", $4f
-	db "@"
-; 0xa6940 + 8 bytes
-	db $2, $a4, $d5, $c2
-; 0xa694c
-	db $0, " ", $58
-; 0xa694f
-
-_UnnamedText_e30d: ; 0xa694f
-	db $0, "Yes! ITEMFINDER", $4f
-	db "indicates there's", $55
-	db "an item nearby.", $58
-; 0xa694f + 50 bytes
-
-_UnnamedText_e312: ; 0xa6981
-	db $0, "Nope! ITEMFINDER", $4f
-	db "isn't responding.", $58
-; 0xa6981 + 35 bytes
-
-_UnnamedText_e45d: ; 0xa69a4
-	db $0, "Raise PP of which", $4f
-	db "technique?", $57
-; 0xa69a4 + 30 bytes
-
-_UnnamedText_e462: ; 0xa69c2
-	db $0, "Restore PP of", $4f
-	db "which technique?", $57
-; 0xa69c2 + 32 bytes
-
-_UnnamedText_e467: ; 0xa69e2
-	TX_RAM $cf4b
-	db $0, "'s PP", $4f
-	db "is maxed out.", $58
-; 0xa69e2 + 23 bytes
-
-_UnnamedText_e46c: ; 0xa69f9
-	TX_RAM $cf4b
-	db $0, "'s PP", $4f
-	db "increased.", $58
-; 0xa69f9 + 20 bytes
-
-_UnnamedText_e471: ; 0xa6a0d
-	db $0, "PP was restored.", $58
-; 0xa6a0d + 18 bytes
-
-UnnamedText_a6a1f: ; 0xa6a1f
-	db $0, "Booted up a TM!", $58
-; 0xa6a30
-
-UnnamedText_a6a30: ; 0xa6a30
-	db $0, "Booted up an HM!", $58
-; 0xa6a42
-
-UnnamedText_a6a42: ; 0xa6a42
-	db $0, "It contained", $4f
-	db "@"
-	TX_RAM $cf4b
-	db $0, "!", $51
-	db "Teach @"
-	TX_RAM $cf4b
-	db $0, $4f
-	db "to a #MON?", $57
-; 0xa6a6e
-
-UnnamedText_a6a6e: ; 0xa6a6e
-	TX_RAM $cd6d
-	db $0, " is not", $4f
-	db "compatible with", $55
-	db "@"
-	TX_RAM $cf4b
-	db $0, ".", $51
-	db "It can't learn", $4f
-	db "@"
-; 0xa6a8b + 21 bytes = 0xa6aa0
-
-UnnamedText_a6aa0: ; 0xa6aa0
-	TX_RAM $cf4b
-	db $0, ".", $58
-; 0xa6aa0 + 6 bytes = 0xa6aa6
-
-UnnamedText_a6aa6: ; 0xa6aa6
-	db $0, "OAK: ", $52, "!", $4f
-	db "This isn't the", $55
-	db "time to use that! ", $58
-; 0xa6aa6 + 42 bytes = 0xa6ad0
-
-UnnamedText_a6ad0: ; 0xa6ad0
-	db $0, "This isn't yours", $4f
-	db "to use!", $58
-; 0xa6ad0 + 25 bytes = 0xa6ae9
-
-UnnamedText_a6ae9: ; 0xa6ae9
-	db $0, "It won't have any", $4f
-	db "effect.", $58
-; 0xa6ae9 + 26 bytes = 0xa6b03
-
-UnnamedText_a6b03: ; 0xa6b03
-	db $0, "The trainer", $4f
-	db "blocked the BALL!", $58
-; 0xa6b03 + 31 bytes = 0xa6b22
-
-UnnamedText_a6b22: ; 0xa6b22
-	db $0, "Don't be a thief!", $58
-; 0xa6b22 + 18 bytes = 0xa6b34
-
-UnnamedText_a6b34: ; 0xa6b34
-	db $0, "No cycling", $4e, "allowed here.", $58
-; 0xa6b34 + 26 bytes = 0xa6b4e
-
-UnnamedText_a6b4e: ; 0xa6b4e
-	db $0, "No SURFing on", $4f
-	db "@"
-; 0xa6b4e + 16 bytes = 0xa6b5e
-
-UnnamedText_a6b5e: ; 0xa6b5e
-	TX_RAM $cd6d
-	db $0, " here!", $58
-; 0xa6b5e + 11 bytes = 0xa6b69
-
-UnnamedText_a6b69: ; 0xa6b69
-	db $0, "The #MON BOX", $4f
-	db "is full! Can't", $55
-	db "use that item!", $58
-; 0xa6b69 + 43 bytes = 0xa6b94
-
-SECTION "bank2A",DATA,BANK[$2A]
-
-_ItemUseText001:
-	db 0,$52," used@@"
-
-_ItemUseText002: ; 0xa8009
-	TX_RAM $cf4b
-	db $0, "!", $57
-; 0xa800e
-
-UnnamedText_a800f: ; 0xa800f
-	db $0, $52, " got on the@@"
-; 0xa801e
-
-_UnnamedText_e5f7: ; 0xa801e
-	TX_RAM $cf4b
-	db $0, "!", $58
-; 0xa801e + 6 bytes
-
-UnnamedText_a8024: ; 0xa8024
-	db $0, $52, " got off@@"
-; 0xa8030
-
-_UnnamedText_e601: ; 0xa8030
-	db $0, "the @"
-	TX_RAM $cf4b
-	db $0, ".", $58
-; 0xa803c
-
-_UnnamedText_e755: ; 0xa803c
-	db $0, "Threw away", $4f
-	db "@"
-; 0xa803c + 13 bytes
-
-UnnamedText_a8049: ; 0xa8049
-	TX_RAM $cd6d
-	db $0, ".", $58
-; 0xa804f
-
-_UnnamedText_e75a: ; 0xa804f
-	db $0, "Is it OK to toss", $4f
-	db "@"
-; 0xa804f + 19 bytes
-
-UnnamedText_a8062: ; 0xa8062
-	TX_RAM $cf4b
-	db $0, "?", $58
-; 0xa8068
-
-_UnnamedText_e75f: ; 0xa8068
-	db $0, "That's too impor-", $4f
-	db "tant to toss!", $58
-; 0xa8068 + 32 bytes
-
-_UnnamedText_2fe3b: ; 0xa8088
-	TX_RAM $cd6d
-	db $0, " knows", $4f
-	db "@"
-; 0xa8088 + 12 bytes
-
-UnnamedText_a8094: ; 0xa8094
-	TX_RAM $cf4b
-	db $0, "!", $58
-; 0xa809a
-
-_UnnamedText_71d88: ; 0xa809a
-	db $0, "Okay, connect the", $4f
-	db "cable like so!", $58
-; 0xa809a + 34 bytes
-
-_UnnamedText_71d8d: ; 0xa80bc
-	db $0, $52, " traded", $4f
-	db "@"
-
-UnnamedText_a80c7: ; 0xa80c7
-	TX_RAM $cd13
-	db $0, " for", $55
-	db "@"
-	TX_RAM $cd1e
-	db $0, "!@@"
-; 0xa80d8
-
-_UnnamedText_71d94: ; 0xa80d8
-	db $0, "I'm looking for", $4f
-	db "@"
-; 0xa80d8 + 17 bytes
-
-UnnamedText_a80e9: ; 0xa80e9
-	TX_RAM $cd13
-	db $0, "! Wanna", $51
-	db "trade one for", $4f
-	db "@"
-	TX_RAM $cd1e
-	db $0, "? ", $57
-; 0xa810b
-
-_UnnamedText_71d99: ; 0xa810b
-	db $0, "Awww!", $4f
-	db "Oh well...", $57
-; 0xa810b + 18 bytes
-
-_UnnamedText_71d9e: ; 0xa811d
-	db $0, "What? That's not", $4f
-	db "@"
-; 0xa811d + 18 bytes
-
-UnnamedText_a812f: ; 0xa812f
-	TX_RAM $cd13
-	db $0, "!", $51
-	db "If you get one,", $4f
-	db "come back here!", $57
-; 0xa8155
-
-_UnnamedText_71da3: ; 0xa8155
-	db $0, "Hey thanks!", $57
-; 0xa8155 + 13 bytes
-
-_UnnamedText_71da8: ; 0xa8162
-	db $0, "Isn't my old", $4f
-	db "@"
-; 0xa8162 + 14 bytes
-
-UnnamedText_a8170: ; 0xa8170
-	TX_RAM $cd1e
-	db $0, " great?", $57
-; 0xa8170
-
-_UnnamedText_71dad: ; 0xa817c
-	db $0, "Hello there! Do", $4f
-	db "you want to trade", $51
-	db "your @"
-; 0xa817c + 41 bytes
-
-UnnamedText_a81a5: ; 0xa81a5
-	TX_RAM $cd13
-	db $0, $4f
-	db "for @"
-	TX_RAM $cd1e
-	db $0, "?", $57
-; 0xa81b5
-
-_UnnamedText_71db2: ; 0xa81b5
-	db $0, "Well, if you", $4f
-	db "don't want to...", $57
-; 0xa81b5 + 30 bytes
-
-_UnnamedText_71db7: ; 0xa81d3
-	db $0, "Hmmm? This isn't", $4f
-	db "@"
-	TX_RAM $cd13
-	db $0, ".", $51
-	db "Think of me when", $4f
-	db "you get one.", $57
-; 0xa8209
-
-_UnnamedText_71dbc: ; 0xa8209
-	db $0, "Thanks!", $57
-; 0xa8209 + 9 bytes
-
-_UnnamedText_71dc1: ; 0xa8212
-	db $0, "The @"
-	TX_RAM $cd13
-	db $0, " you", $4f
-	db "traded to me", $51
-	db "went and evolved!", $57
-; 0xa8240
-
-_UnnamedText_71dc6: ; 0xa8240
-	db $0, "Hi! Do you have", $4f
-	db "@"
-	TX_RAM $cd13
-	db $0, "?", $51
-	db "Want to trade it", $4f
-	db "for @"
-	TX_RAM $cd1e
-	db $0, "?", $57
-; 0xa8274
-
-_UnnamedText_71dcb: ; 0xa8274
-	db $0, "That's too bad.", $57
-; 0xa8274 + 16 bytes
-
-_UnnamedText_71dd0: ; 0xa8284
-	db $0, "...This is no", $4f
-	db "@"
-	TX_RAM $cd13
-	db $0, ".", $51
-	db "If you get one,", $4f
-	db "trade it with me!", $57
-; 0xa82bc
-
-_UnnamedText_71dd5: ; 0xa82bc
-	db $0, "Thanks pal!", $57
-; 0xa82bc + 13 bytes
-
-_UnnamedText_71dda: ; 0xa82c9
-	db $0, "How is my old", $4f
-	db "@"
-	TX_RAM $cd1e
-	db $0, "?", $51
-	db "My @"
-	TX_RAM $cd13
-	db $0, " is", $4f
-	db "doing great!", $57
-; 0xa82f8
-
-; XXX
-db $0, $93, $a7, $a4, $b1, $a4, $7f, $a8, $b2, $ad, $be, $4f
-db $a0, $ad, $b8, $b3, $a7, $a8, $ad, $a6, $7f, $b3, $ae, $7f, $82, $94, $93, $e7, $58
-db $1, $6d, $cd
-db $0, $7f, $a7, $a0, $a2, $aa, $a4, $a3, $4f
-db $a0, $b6, $a0, $b8, $7f, $b6, $a8, $b3, $a7, $7f, $82, $94, $93, $e7, $58
-
-SECTION "bank2B",DATA,BANK[$2B]
-
-INCLUDE "text/pokedex.tx"
-
-SECTION "bank2C",DATA,BANK[$2C]
-
-MoveNames: ; 4000
-	db "POUND@"
-	db "KARATE CHOP@"
-	db "DOUBLESLAP@"
-	db "COMET PUNCH@"
-	db "MEGA PUNCH@"
-	db "PAY DAY@"
-	db "FIRE PUNCH@"
-	db "ICE PUNCH@"
-	db "THUNDERPUNCH@"
-	db "SCRATCH@"
-	db "VICEGRIP@"
-	db "GUILLOTINE@"
-	db "RAZOR WIND@"
-	db "SWORDS DANCE@"
-	db "CUT@"
-	db "GUST@"
-	db "WING ATTACK@"
-	db "WHIRLWIND@"
-	db "FLY@"
-	db "BIND@"
-	db "SLAM@"
-	db "VINE WHIP@"
-	db "STOMP@"
-	db "DOUBLE KICK@"
-	db "MEGA KICK@"
-	db "JUMP KICK@"
-	db "ROLLING KICK@"
-	db "SAND-ATTACK@"
-	db "HEADBUTT@"
-	db "HORN ATTACK@"
-	db "FURY ATTACK@"
-	db "HORN DRILL@"
-	db "TACKLE@"
-	db "BODY SLAM@"
-	db "WRAP@"
-	db "TAKE DOWN@"
-	db "THRASH@"
-	db "DOUBLE-EDGE@"
-	db "TAIL WHIP@"
-	db "POISON STING@"
-	db "TWINEEDLE@"
-	db "PIN MISSILE@"
-	db "LEER@"
-	db "BITE@"
-	db "GROWL@"
-	db "ROAR@"
-	db "SING@"
-	db "SUPERSONIC@"
-	db "SONICBOOM@"
-	db "DISABLE@"
-	db "ACID@"
-	db "EMBER@"
-	db "FLAMETHROWER@"
-	db "MIST@"
-	db "WATER GUN@"
-	db "HYDRO PUMP@"
-	db "SURF@"
-	db "ICE BEAM@"
-	db "BLIZZARD@"
-	db "PSYBEAM@"
-	db "BUBBLEBEAM@"
-	db "AURORA BEAM@"
-	db "HYPER BEAM@"
-	db "PECK@"
-	db "DRILL PECK@"
-	db "SUBMISSION@"
-	db "LOW KICK@"
-	db "COUNTER@"
-	db "SEISMIC TOSS@"
-	db "STRENGTH@"
-	db "ABSORB@"
-	db "MEGA DRAIN@"
-	db "LEECH SEED@"
-	db "GROWTH@"
-	db "RAZOR LEAF@"
-	db "SOLARBEAM@"
-	db "POISONPOWDER@"
-	db "STUN SPORE@"
-	db "SLEEP POWDER@"
-	db "PETAL DANCE@"
-	db "STRING SHOT@"
-	db "DRAGON RAGE@"
-	db "FIRE SPIN@"
-	db "THUNDERSHOCK@"
-	db "THUNDERBOLT@"
-	db "THUNDER WAVE@"
-	db "THUNDER@"
-	db "ROCK THROW@"
-	db "EARTHQUAKE@"
-	db "FISSURE@"
-	db "DIG@"
-	db "TOXIC@"
-	db "CONFUSION@"
-	db "PSYCHIC@"
-	db "HYPNOSIS@"
-	db "MEDITATE@"
-	db "AGILITY@"
-	db "QUICK ATTACK@"
-	db "RAGE@"
-	db "TELEPORT@"
-	db "NIGHT SHADE@"
-	db "MIMIC@"
-	db "SCREECH@"
-	db "DOUBLE TEAM@"
-	db "RECOVER@"
-	db "HARDEN@"
-	db "MINIMIZE@"
-	db "SMOKESCREEN@"
-	db "CONFUSE RAY@"
-	db "WITHDRAW@"
-	db "DEFENSE CURL@"
-	db "BARRIER@"
-	db "LIGHT SCREEN@"
-	db "HAZE@"
-	db "REFLECT@"
-	db "FOCUS ENERGY@"
-	db "BIDE@"
-	db "METRONOME@"
-	db "MIRROR MOVE@"
-	db "SELFDESTRUCT@"
-	db "EGG BOMB@"
-	db "LICK@"
-	db "SMOG@"
-	db "SLUDGE@"
-	db "BONE CLUB@"
-	db "FIRE BLAST@"
-	db "WATERFALL@"
-	db "CLAMP@"
-	db "SWIFT@"
-	db "SKULL BASH@"
-	db "SPIKE CANNON@"
-	db "CONSTRICT@"
-	db "AMNESIA@"
-	db "KINESIS@"
-	db "SOFTBOILED@"
-	db "HI JUMP KICK@"
-	db "GLARE@"
-	db "DREAM EATER@"
-	db "POISON GAS@"
-	db "BARRAGE@"
-	db "LEECH LIFE@"
-	db "LOVELY KISS@"
-	db "SKY ATTACK@"
-	db "TRANSFORM@"
-	db "BUBBLE@"
-	db "DIZZY PUNCH@"
-	db "SPORE@"
-	db "FLASH@"
-	db "PSYWAVE@"
-	db "SPLASH@"
-	db "ACID ARMOR@"
-	db "CRABHAMMER@"
-	db "EXPLOSION@"
-	db "FURY SWIPES@"
-	db "BONEMERANG@"
-	db "REST@"
-	db "ROCK SLIDE@"
-	db "HYPER FANG@"
-	db "SHARPEN@"
-	db "CONVERSION@"
-	db "TRI ATTACK@"
-	db "SUPER FANG@"
-	db "SLASH@"
-	db "SUBSTITUTE@"
-	db "STRUGGLE@"
--- a/extras/analyze_incbins.py
+++ b/extras/analyze_incbins.py
@@ -27,7 +27,7 @@
     if type(offset) == str: offset = int(offset, base)
     return int(offset) % 0x4000 + 0x4000
 
-def load_asm(filename="../common.asm"):
+def load_asm(filename="../main.asm"):
     "loads the asm source code into memory"
     global asm
     asm = open(filename, "r").read().split("\n")
@@ -86,7 +86,7 @@
 
 def find_incbin_to_replace_for(address):
     """returns a line number for which incbin to edit
-    if you were to insert bytes into common.asm"""
+    if you were to insert bytes into main.asm"""
     if type(address) == str: address = int(address, 16)
 
     for incbin_key in processed_incbins.keys():
@@ -155,7 +155,7 @@
     newfile_fh.close()
 
     try:
-        diffcontent = subprocess.check_output("diff -u ../common.asm " + newfile_filename, shell=True)
+        diffcontent = subprocess.check_output("diff -u ../main.asm " + newfile_filename, shell=True)
     except AttributeError, exc:
         raise exc
     except Exception, exc:
@@ -195,7 +195,7 @@
     fh.close()
 
     #apply the patch
-    os.system("patch ../common.asm temp.patch")
+    os.system("patch ../main.asm temp.patch")
     
     #remove the patch
     os.system("rm temp.patch")
@@ -230,8 +230,8 @@
     fh.close()
 
     #apply the patch
-    os.system("cp ../common.asm ../common1.asm")
-    os.system("patch ../common.asm temp.patch")
+    os.system("cp ../main.asm ../main1.asm")
+    os.system("patch ../main.asm temp.patch")
 
     #remove the patch
     os.system("rm temp.patch")
@@ -242,7 +242,7 @@
         return True
     except Exception, exc:
         if try_fixing:
-            os.system("mv ../common1.asm ../common.asm")
+            os.system("mv ../main1.asm ../main.asm")
         return False
 
 def index(seq, f):
--- a/extras/insert_texts.py
+++ b/extras/insert_texts.py
@@ -610,7 +610,7 @@
 
 def scan_rom_for_tx_fars_and_insert():
     """calls analyze_texts.scan_rom_for_tx_fars()
-    looks through INCBIN'd addresses from common.asm,
+    looks through INCBIN'd addresses from main.asm,
     finds TX_FARs that aren't included yet.
     """
     x = 0
--- a/extras/make_map_size_constants.py
+++ b/extras/make_map_size_constants.py
@@ -23,8 +23,8 @@
         output += constant_name + "_WIDTH  EQU $%.2x\n" % (width)
         output += "\n"
 
-        sed_lines += "sed -i 's/" + base_name + "Height/" + constant_name + "_HEIGHT" + "/g' common.asm" + "\n"
-        sed_lines += "sed -i 's/" + base_name + "Width/" + constant_name + "_WIDTH" + "/g' common.asm" + "\n"
+        sed_lines += "sed -i 's/" + base_name + "Height/" + constant_name + "_HEIGHT" + "/g' main.asm" + "\n"
+        sed_lines += "sed -i 's/" + base_name + "Width/" + constant_name + "_WIDTH" + "/g' main.asm" + "\n"
 
     if do_sed:
         return sed_lines
--- a/extras/replace_dimensions.py
+++ b/extras/replace_dimensions.py
@@ -39,7 +39,7 @@
 asm_lines = None
 def load_asm():
     global asm, asm_lines
-    asm = open("../common.asm", "r").read()
+    asm = open("../main.asm", "r").read()
     asm_lines = asm.split("\n")
 
 def get_xy_movement_of_connection_strip(map_id, connection_id):
--- a/extras/romvisualizer.py
+++ b/extras/romvisualizer.py
@@ -6,12 +6,12 @@
 changeset_numbers = range(266, 635)
 
 def take_snapshot_image(changeset_number):
-    "turn common.asm into an image at a certain version"
+    "turn main.asm into an image at a certain version"
 
-    print "reverting common.asm to r" + str(changeset_number)
+    print "reverting main.asm to r" + str(changeset_number)
 
     #revert the file
-    os.system("hg revert ../common.asm -r" + str(changeset_number))
+    os.system("hg revert ../main.asm -r" + str(changeset_number))
 
     print "generating the image.."
 
--- /dev/null
+++ b/main.asm
@@ -1,0 +1,72641 @@
+INCLUDE "constants.asm"
+
+; the rst vectors are unused
+SECTION "rst00",HOME[0]
+	db $FF
+SECTION "rst08",HOME[8]
+	db $FF
+SECTION "rst10",HOME[$10]
+	db $FF
+SECTION "rst18",HOME[$18]
+	db $FF
+SECTION "rst20",HOME[$20]
+	db $FF
+SECTION "rst28",HOME[$28]
+	db $FF
+SECTION "rst30",HOME[$30]
+	db $FF
+SECTION "rst38",HOME[$38]
+	db $FF
+
+; interrupts
+SECTION "vblank",HOME[$40]
+	jp $2024
+SECTION "lcdc",HOME[$48]
+	db $FF
+SECTION "timer",HOME[$50]
+	jp $2306
+SECTION "serial",HOME[$58]
+	jp $2125
+SECTION "joypad",HOME[$60]
+	reti
+
+SECTION "bank0",HOME[$61]
+
+DisableLCD: ; $0061
+	xor a
+	ld [$ff0f],a
+	ld a,[$ffff]
+	ld b,a
+	res 0,a
+	ld [$ffff],a
+.jr0\@
+	ld a,[$ff44]
+	cp a,$91
+	jr nz,.jr0\@
+	ld a,[$ff40]
+	and a,$7f	; res 7,a
+	ld [$ff40],a
+	ld a,b
+	ld [$ffff],a
+	ret
+
+EnableLCD: ; $007b
+	ld a,[$ff40]
+	set 7,a
+	ld [$ff40],a
+	ret
+
+CleanLCD_OAM: ; $0082
+	xor a
+	ld hl,$c300
+	ld b,$a0
+.jr0\@
+	ld [hli],a
+	dec b
+	jr nz,.jr0\@
+	ret
+
+ResetLCD_OAM: ; $008d
+	ld a,$a0
+	ld hl,$c300
+	ld de,$0004
+	ld b,$28
+.jr0\@
+	ld [hl],a
+	add hl,de
+	dec b
+	jr nz,.jr0\@
+	ret
+
+FarCopyData: ; 009D
+; copy bc bytes of data from a:hl to de
+	ld [$CEE9],a ; save future bank # for later
+	ld a,[$FFB8] ; get current bank #
+	push af
+	ld a,[$CEE9] ; get future bank #, switch
+	ld [$FFB8],a
+	ld [$2000],a
+	call CopyData
+	pop af       ; okay, done, time to switch back
+	ld [$FFB8],a
+	ld [$2000],a
+	ret
+CopyData: ; 00B5
+; copy bc bytes of data from hl to de
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec bc
+	ld a,c
+	or b
+	jr nz,CopyData
+	ret
+
+SECTION "romheader",HOME[$100]
+nop
+jp Start
+
+Section "start",HOME[$150]
+Start: ; 0x150
+	cp $11 ; value that indicates Gameboy Color
+	jr z,.gbcDetected\@
+	xor a
+	jr .storeValue\@
+.gbcDetected\@
+	ld a,$00
+.storeValue\@
+	ld [$cf1a],a ; same value ($00) either way
+	jp InitGame
+
+; this function directly reads the joypad I/O register
+; it reads many times in order to give the joypad a chance to stabilize
+; it saves a result in [$fff8] in the following format
+; (set bit indicates pressed button)
+; bit 0 - A button
+; bit 1 - B button
+; bit 2 - Select button
+; bit 3 - Start button
+; bit 4 - Right
+; bit 5 - Left
+; bit 6 - Up
+; bit 7 - Down
+ReadJoypadRegister: ; 15F
+	ld a,%00100000 ; select direction keys
+	ld c,$00
+	ld [rJOYP],a
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	cpl ; complement the result so that a set bit indicates a pressed key
+	and a,%00001111
+	swap a ; put direction keys in upper nibble
+	ld b,a
+	ld a,%00010000 ; select button keys
+	ld [rJOYP],a
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	ld a,[rJOYP]
+	cpl ; complement the result so that a set bit indicates a pressed key
+	and a,%00001111
+	or b ; put button keys in lower nibble
+	ld [$fff8],a ; save joypad state
+	ld a,%00110000 ; unselect all keys
+	ld [rJOYP],a
+	ret
+
+; function to update the joypad state variables
+; output:
+; [$ffb2] = keys released since last time
+; [$ffb3] = keys pressed since last time
+; [$ffb4] = currently pressed keys
+GetJoypadState: ; 19A
+	ld a, [$ffb8]
+	push af
+	ld a,$3
+	ld [$ffb8],a
+	ld [$2000],a
+	call $4000
+	pop af
+	ld [$ff00+$b8],a
+	ld [$2000],a
+	ret
+
+; see also MapHeaderBanks
+MapHeaderPointers: ; $01AE
+	dw PalletTown_h
+	dw ViridianCity_h
+	dw PewterCity_h
+	dw CeruleanCity_h
+	dw LavenderTown_h
+	dw VermilionCity_h
+	dw CeladonCity_h
+	dw FuchsiaCity_h
+	dw CinnabarIsland_h
+	dw IndigoPlateau_h
+	dw SaffronCity_h
+	dw SaffronCity_h
+	dw Route1_h
+	dw Route2_h
+	dw Route3_h
+	dw Route4_h
+	dw Route5_h
+	dw Route6_h
+	dw Route7_h
+	dw Route8_h
+	dw Route9_h
+	dw Route10_h
+	dw Route11_h
+	dw Route12_h
+	dw Route13_h
+	dw Route14_h
+	dw Route15_h
+	dw Route16_h
+	dw Route17_h
+	dw Route18_h
+	dw Route19_h
+	dw Route20_h
+	dw Route21_h
+	dw Route22_h
+	dw Route23_h
+	dw Route24_h
+	dw Route25_h
+	dw RedsHouse1F_h
+	dw RedsHouse2F_h
+	dw BluesHouse_h
+	dw OaksLab_h ;id=40
+	dw ViridianPokecenter_h
+	dw ViridianMart_h
+	dw School_h
+	dw ViridianHouse_h
+	dw ViridianGym_h
+	dw DiglettsCaveRoute2_h
+	dw ViridianForestexit_h
+	dw Route2House_h
+	dw Route2Gate_h
+	dw ViridianForestEntrance_h ;id=50
+	dw ViridianForest_h
+	dw MuseumF1_h
+	dw MuseumF2_h
+	dw PewterGym_h
+	dw PewterHouse1_h
+	dw PewterMart_h
+	dw PewterHouse2_h
+	dw PewterPokecenter_h
+	dw MtMoon1_h
+	dw MtMoon2_h ;id=60
+	dw MtMoon3_h
+	dw CeruleanHouseTrashed_h
+	dw CeruleanHouse2_h
+	dw CeruleanPokecenter_h
+	dw CeruleanGym_h
+	dw BikeShop_h
+	dw CeruleanMart_h
+	dw MtMoonPokecenter_h
+	dw CeruleanHouseTrashed_h ; copy
+	dw Route5Gate_h
+	dw UndergroundTunnelEntranceRoute5_h
+	dw DayCareM_h
+	dw Route6Gate_h
+	dw UndergroundTunnelEntranceRoute6_h
+	dw UndergroundTunnelEntranceRoute6_h ; unused
+	dw Route7Gate_h
+	dw UndergroundPathEntranceRoute7_h
+	dw $575d
+	dw Route8Gate_h
+	dw UndergroundPathEntranceRoute8_h ;id=80
+	dw RockTunnelPokecenter_h
+	dw RockTunnel1_h
+	dw PowerPlant_h
+	dw Route11Gate_h
+	dw DiglettsCaveEntranceRoute11_h
+	dw Route11GateUpstairs_h
+	dw Route12Gate_h
+	dw BillsHouse_h
+	dw VermilionPokecenter_h
+	dw FanClub_h ;id=90
+	dw VermilionMart_h
+	dw VermilionGym_h
+	dw VermilionHouse1_h
+	dw VermilionDock_h
+	dw SSAnne1_h
+	dw SSAnne2_h
+	dw SSAnne3_h
+	dw SSAnne4_h
+	dw SSAnne5_h
+	dw SSAnne6_h ;id=100
+	dw SSAnne7_h
+	dw SSAnne8_h
+	dw SSAnne9_h
+	dw SSAnne10_h
+	dw Lance_h ; unused
+	dw Lance_h ; unused
+	dw Lance_h ; unused
+	dw VictoryRoad1_h
+	dw Lance_h ; unused
+	dw Lance_h ; unused ;id=110
+	dw Lance_h ; unused
+	dw Lance_h ; unused
+	dw Lance_h
+	dw Lance_h ; unused
+	dw Lance_h ; unused
+	dw Lance_h ; unused
+	dw Lance_h ; unused
+	dw HallofFameRoom_h
+	dw UndergroundPathNS_h
+	dw Gary_h ;id=120
+	dw UndergroundPathWE_h
+	dw CeladonMart1_h
+	dw CeladonMart2_h
+	dw CeladonMart3_h
+	dw CeladonMart4_h
+	dw CeladonMartRoof_h
+	dw CeladonMartElevator_h
+	dw CeladonMansion1_h
+	dw CeladonMansion2_h
+	dw CeladonMansion3_h ;id=130
+	dw CeladonMansion4_h
+	dw CeladonMansion5_h
+	dw CeladonPokecenter_h
+	dw CeladonGym_h
+	dw CeladonGameCorner_h
+	dw CeladonMart5_h
+	dw CeladonPrizeRoom_h
+	dw CeladonDiner_h
+	dw CeladonHouse_h
+	dw CeladonHotel_h ;id=140
+	dw LavenderPokecenter_h
+	dw PokemonTower1_h
+	dw PokemonTower2_h
+	dw PokemonTower3_h
+	dw PokemonTower4_h
+	dw PokemonTower5_h
+	dw PokemonTower6_h
+	dw PokemonTower7_h
+	dw LavenderHouse1_h
+	dw LavenderMart_h ;id=150
+	dw LavenderHouse2_h
+	dw FuchsiaMart_h
+	dw FuchsiaHouse1_h
+	dw FuchsiaPokecenter_h
+	dw FuchsiaHouse2_h
+	dw SafariZoneEntrance_h
+	dw FuchsiaGym_h
+	dw FuchsiaMeetingRoom_h
+	dw SeafoamIslands2_h
+	dw SeafoamIslands3_h ;id=160
+	dw SeafoamIslands4_h
+	dw SeafoamIslands5_h
+	dw VermilionHouse2_h
+	dw FuchsiaHouse3_h
+	dw Mansion1_h
+	dw CinnabarGym_h
+	dw Lab1_h
+	dw Lab2_h
+	dw Lab3_h
+	dw Lab4_h ;id=170
+	dw CinnabarPokecenter_h
+	dw CinnabarMart_h
+	dw CinnabarMart_h ; unused
+	dw IndigoPlateauLobby_h
+	dw CopycatsHouseF1_h
+	dw CopycatsHouseF2_h
+	dw FightingDojo_h
+	dw SaffronGym_h
+	dw SaffronHouse1_h
+	dw SaffronMart_h ;id=180
+	dw SilphCo1_h
+	dw SaffronPokecenter_h
+	dw SaffronHouse2_h
+	dw Route15Gate_h
+	dw $563e
+	dw Route16GateMap_h
+	dw Route16GateUpstairs_h
+	dw Route16House_h
+	dw Route12House_h
+	dw Route18Gate_h ;id=190
+	dw Route18GateHeader_h
+	dw SeafoamIslands1_h
+	dw Route22Gate_h
+	dw VictoryRoad2_h
+	dw Route12GateUpstairs_h
+	dw VermilionHouse3_h
+	dw DiglettsCave_h
+	dw VictoryRoad3_h
+	dw RocketHideout1_h
+	dw RocketHideout2_h ;200
+	dw RocketHideout3_h
+	dw RocketHideout4_h
+	dw RocketHideoutElevator_h
+	dw RocketHideoutElevator_h ; unused
+	dw RocketHideoutElevator_h ; unused
+	dw RocketHideoutElevator_h ; unused
+	dw SilphCo2_h
+	dw SilphCo3_h
+	dw SilphCo4_h
+	dw SilphCo5_h ;210
+	dw SilphCo6_h
+	dw SilphCo7_h
+	dw SilphCo8_h
+	dw Mansion2_h
+	dw Mansion3_h
+	dw Mansion4_h
+	dw SafariZoneEast_h
+	dw SafariZoneNorth_h
+	dw SafariZoneWest_h
+	dw SafariZoneCenter_h ;220
+	dw SafariZoneRestHouse1_h
+	dw SafariZoneSecretHouse_h
+	dw SafariZoneRestHouse2_h
+	dw SafariZoneRestHouse3_h
+	dw SafariZoneRestHouse4_h
+	dw UnknownDungeon2_h
+	dw UnknownDungeon3_h
+	dw UnknownDungeon1_h
+	dw NameRater_h
+	dw CeruleanHouse3_h
+	dw Route16GateMap_h ; unused
+	dw RockTunnel2_h
+	dw SilphCo9_h
+	dw SilphCo10_h
+	dw SilphCo11_h
+	dw SilphCoElevator_h
+	dw SilphCo2_h ; unused
+	dw SilphCo2_h ; unused
+	dw BattleCenterM_h
+	dw TradeCenterM_h
+	dw SilphCo2_h ; unused
+	dw SilphCo2_h ; unused
+	dw SilphCo2_h ; unused
+	dw SilphCo2_h ; unused
+	dw Lorelei_h
+	dw Bruno_h
+	dw Agatha_h ;247
+
+; this function calls a function that takes necessary actions
+; at the beginning of each overworld loop iteration as the player jumps
+; down a ledge
+; it also ends the jump when it's completed
+HandleMidJump: ; 39E
+	ld b,$1c
+	ld hl,$487e
+	jp Bankswitch
+
+; this is jumped to immediately after loading a save / starting a new game / loading a new map
+EnterMap: ; 3A6
+	ld a,$ff
+	ld [$cd6b],a
+	call LoadMapData ; load map data
+	ld b,$03
+	ld hl,$4335
+	call Bankswitch ; initialize some variables
+	ld hl,$d72c
+	bit 0,[hl]
+	jr z,.doNotCountSteps\@
+	ld a,$03
+	ld [$d13c],a ; some kind of step counter (counts up to 3 steps?)
+.doNotCountSteps\@
+	ld hl,$d72e
+	bit 5,[hl] ; did a battle happen immediately before this?
+	res 5,[hl] ; unset the "battle just happened" flag
+	call z,$12e7
+	call nz,MapEntryAfterBattle
+	ld hl,$d732
+	ld a,[hl]
+	and a,$18
+	jr z,.didNotFlyOrTeleportIn\@
+	res 3,[hl]
+	ld b,$1c
+	ld hl,$4510
+	call Bankswitch ; display fly/teleport in graphical effect
+	call $2429 ; move sprites
+.didNotFlyOrTeleportIn\@
+	ld b,$03
+	ld hl,$438b
+	call Bankswitch ; handle currents in SF islands and forced bike riding in cycling road
+	ld hl,$d72d
+	res 5,[hl]
+	call $2429 ; move sprites
+	ld hl,$d126
+	set 5,[hl]
+	set 6,[hl]
+	xor a
+	ld [$cd6b],a
+
+OverworldLoop: ; 3FF
+	call DelayFrame
+OverworldLoopLessDelay: ; 402
+	call DelayFrame
+	call LoadGBPal
+	ld a,[$d736]
+	bit 6,a ; jumping down a ledge?
+	call nz, HandleMidJump
+	ld a,[W_WALKCOUNTER]
+	and a
+	jp nz,.moveAhead\@ ; if the player sprite has not yet completed the walking animation
+	call GetJoypadStateOverworld ; get joypad state (which is possibly simulated)
+	ld b,$07
+	ld hl,$6988
+	call Bankswitch
+	ld a,[$da46]
+	and a
+	jp nz,WarpFound2
+	ld hl,$d72d
+	bit 3,[hl]
+	res 3,[hl]
+	jp nz,WarpFound2
+	ld a,[$d732]
+	and a,$18
+	jp nz,HandleFlyOrTeleportAway
+	ld a,[W_CUROPPONENT]
+	and a
+	jp nz,.newBattle\@
+	ld a,[$d730]
+	bit 7,a ; are we simulating button presses?
+	jr z,.notSimulating\@
+	ld a,[$ffb4]
+	jr .checkIfStartIsPressed\@
+.notSimulating\@
+	ld a,[$ffb3]
+.checkIfStartIsPressed\@
+	bit 3,a ; start button
+	jr z,.startButtonNotPressed\@
+; if START is pressed
+	xor a
+	ld [$ff8c],a ; the $2920 ID for the start menu is 0
+	jp .displayDialogue\@
+.startButtonNotPressed\@
+	bit 0,a ; A button
+	jp z,.checkIfDownButtonIsPressed\@
+; if A is pressed
+	ld a,[$d730]
+	bit 2,a
+	jp nz,.noDirectionButtonsPressed\@
+	call $30fd
+	jr nz,.checkForOpponent\@
+	call $3eb5 ; check for hidden items, PC's, etc.
+	ld a,[$ffeb]
+	and a
+	jp z,OverworldLoop
+	call IsSpriteOrSignInFrontOfPlayer ; check for sign or sprite in front of the player
+	ld a,[$ff8c] ; $2920 ID for NPC/sign text, if any
+	and a
+	jp z,OverworldLoop
+.displayDialogue\@
+	ld a,$35
+	call Predef ; check what is in front of the player
+	call $2429 ; move sprites
+	ld a,[$cd60]
+	bit 2,a
+	jr nz,.checkForOpponent\@
+	bit 0,a
+	jr nz,.checkForOpponent\@
+	ld a,[$c45c]
+	ld [$cf0e],a
+	call $2920 ; display either the start menu or the NPC/sign text
+	ld a,[$cc47]
+	and a
+	jr z,.checkForOpponent\@
+	dec a
+	ld a,$00
+	ld [$cc47],a
+	jr z,.changeMap\@
+	ld a,$52
+	call Predef
+	ld a,[W_CURMAP]
+	ld [$d71a],a
+	call $62ce
+	ld a,[W_CURMAP]
+	call SwitchToMapRomBank ; switch to the ROM bank of the current map
+	ld hl,$d367
+	set 7,[hl]
+.changeMap\@
+	jp EnterMap
+.checkForOpponent\@
+	ld a,[W_CUROPPONENT]
+	and a
+	jp nz,.newBattle\@
+	jp OverworldLoop
+.noDirectionButtonsPressed\@
+	ld hl,$cd60
+	res 2,[hl]
+	call $2429 ; move sprites
+	ld a,$01
+	ld [$cc4b],a
+	ld a,[$d528] ; the direction that was pressed last time
+	and a
+	jp z,OverworldLoop
+; if a direction was pressed last time
+	ld [$d529],a ; save the last direction
+	xor a
+	ld [$d528],a ; zero the direction
+	jp OverworldLoop
+.checkIfDownButtonIsPressed\@
+	ld a,[$ffb4] ; current joypad state
+	bit 7,a ; down button
+	jr z,.checkIfUpButtonIsPressed\@
+	ld a,$01
+	ld [$c103],a
+	ld a,$04
+	jr .handleDirectionButtonPress\@
+.checkIfUpButtonIsPressed\@
+	bit 6,a ; up button
+	jr z,.checkIfLeftButtonIsPressed\@
+	ld a,$ff
+	ld [$c103],a
+	ld a,$08
+	jr .handleDirectionButtonPress\@
+.checkIfLeftButtonIsPressed\@
+	bit 5,a ; left button
+	jr z,.checkIfRightButtonIsPressed\@
+	ld a,$ff
+	ld [$c105],a
+	ld a,$02
+	jr .handleDirectionButtonPress\@
+.checkIfRightButtonIsPressed\@
+	bit 4,a ; right button
+	jr z,.noDirectionButtonsPressed\@
+	ld a,$01
+	ld [$c105],a
+.handleDirectionButtonPress\@
+	ld [$d52a],a ; new direction
+	ld a,[$d730]
+	bit 7,a ; are we simulating button presses?
+	jr nz,.noDirectionChange\@ ; ignore direction changes if we are
+	ld a,[$cc4b]
+	and a
+	jr z,.noDirectionChange\@
+	ld a,[$d52a] ; new direction
+	ld b,a
+	ld a,[$d529] ; old direction
+	cp b
+	jr z,.noDirectionChange\@
+; the code below is strange
+; it computes whether or not the player did a 180 degree turn, but then overwrites the result
+; also, it does a seemingly pointless loop afterwards
+	swap a ; put old direction in upper half
+	or b ; put new direction in lower half
+	cp a,$48 ; change dir from down to up
+	jr nz,.notDownToUp\@
+	ld a,$02
+	ld [$d528],a
+	jr .oddLoop\@
+.notDownToUp\@
+	cp a,$84 ; change dir from up to down
+	jr nz,.notUpToDown\@
+	ld a,$01
+	ld [$d528],a
+	jr .oddLoop\@
+.notUpToDown\@
+	cp a,$12 ; change dir from right to left
+	jr nz,.notRightToLeft\@
+	ld a,$04
+	ld [$d528],a
+	jr .oddLoop\@
+.notRightToLeft\@
+	cp a,$21 ; change dir from left to right
+	jr nz,.oddLoop\@
+	ld a,$08
+	ld [$d528],a
+.oddLoop\@
+	ld hl,$cd60
+	set 2,[hl]
+	ld hl,$cc4b
+	dec [hl]
+	jr nz,.oddLoop\@
+	ld a,[$d52a]
+	ld [$d528],a
+	call NewBattle
+	jp c,.battleOccurred\@
+	jp OverworldLoop
+.noDirectionChange\@
+	ld a,[$d52a] ; current direction
+	ld [$d528],a ; save direction
+	call $2429 ; move sprites
+	ld a,[$d700]
+	cp a,$02 ; surfing
+	jr z,.surfing\@
+; not surfing
+	call CollisionCheckOnLand
+	jr nc,.noCollision\@
+	push hl
+	ld hl,$d736
+	bit 2,[hl]
+	pop hl
+	jp z,OverworldLoop
+	push hl
+	call ExtraWarpCheck ; sets carry if there is a potential to warp
+	pop hl
+	jp c,CheckWarpsCollision
+	jp OverworldLoop
+.surfing\@
+	call CollisionCheckOnWater
+	jp c,OverworldLoop
+.noCollision\@
+	ld a,$08
+	ld [W_WALKCOUNTER],a
+	jr .moveAhead2\@
+.moveAhead\@
+	ld a,[$d736]
+	bit 7,a
+	jr z,.noSpinning\@
+	ld b,$11
+	ld hl,$4fd7
+	call Bankswitch ; spin while moving
+.noSpinning\@
+	call $2429 ; move sprites
+.moveAhead2\@
+	ld hl,$cd60
+	res 2,[hl]
+	ld a,[$d700]
+	dec a ; riding a bike?
+	jr nz,.normalPlayerSpriteAdvancement\@
+	ld a,[$d736]
+	bit 6,a ; jumping a ledge?
+	jr nz,.normalPlayerSpriteAdvancement\@
+	call BikeSpeedup ; if riding a bike and not jumping a ledge
+.normalPlayerSpriteAdvancement\@
+	call AdvancePlayerSprite
+	ld a,[W_WALKCOUNTER]
+	and a
+	jp nz,CheckMapConnections ; it seems like this check will never succeed (the other place where CheckMapConnections is run works)
+; walking animation finished
+	ld a,[$d730]
+	bit 7,a
+	jr nz,.doneStepCounting\@ ; if button presses are being simulated, don't count steps
+; step counting
+	ld hl,$d13b ; step counter
+	dec [hl]
+	ld a,[$d72c]
+	bit 0,a
+	jr z,.doneStepCounting\@
+	ld hl,$d13c
+	dec [hl]
+	jr nz,.doneStepCounting\@
+	ld hl,$d72c
+	res 0,[hl]
+.doneStepCounting\@
+	ld a,[$d790]
+	bit 7,a ; in the safari zone?
+	jr z,.notSafariZone\@
+	ld b,$07
+	ld hl,$6997
+	call Bankswitch
+	ld a,[$da46]
+	and a
+	jp nz,WarpFound2
+.notSafariZone\@
+	ld a,[W_ISINBATTLE]
+	and a
+	jp nz,CheckWarpsNoCollision
+	ld a,$13
+	call Predef ; decrement HP of poisoned pokemon
+	ld a,[$d12d]
+	and a
+	jp nz,HandleBlackOut ; if all pokemon fainted
+.newBattle\@
+	call NewBattle
+	ld hl,$d736
+	res 2,[hl]
+	jp nc,CheckWarpsNoCollision ; check for warps if there was no battle
+.battleOccurred\@
+	ld hl,$d72d
+	res 6,[hl]
+	ld hl,$d733
+	res 3,[hl]
+	ld hl,$d126
+	set 5,[hl]
+	set 6,[hl]
+	xor a
+	ld [$ffb4],a ; clear joypad state
+	ld a,[W_CURMAP]
+	cp a,CINNABAR_GYM
+	jr nz,.notCinnabarGym\@
+	ld hl,$d79b
+	set 7,[hl]
+.notCinnabarGym\@
+	ld hl,$d72e
+	set 5,[hl]
+	ld a,[W_CURMAP]
+	cp a,OAKS_LAB
+	jp z,.noFaintCheck\@
+	ld hl,$4a83
+	ld b,$0f
+	call Bankswitch ; check if all the player's pokemon fainted
+	ld a,d
+	and a
+	jr z,.allPokemonFainted\@
+.noFaintCheck\@
+	ld c,$0a
+	call DelayFrames
+	jp EnterMap
+.allPokemonFainted\@
+	ld a,$ff
+	ld [$d057],a
+	call RunMapScript
+	jp HandleBlackOut
+
+; function to determine if there will be a battle and execute it (either a trainer battle or wild battle)
+; sets carry if a battle occurred and unsets carry if not
+NewBattle: ; 683
+	ld a,[$d72d]
+	bit 4,a
+	jr nz,.noBattle\@
+	call $30fd
+	jr nz,.noBattle\@
+	ld a,[$d72e]
+	bit 4,a
+	jr nz,.noBattle\@
+	ld b,$0f
+	ld hl,$6f12
+	jp Bankswitch ; determines if a battle will occurr and runs the battle if so
+.noBattle\@
+	and a
+	ret
+
+; function to make bikes twice as fast as walking
+BikeSpeedup: ; 6A0
+	ld a,[$cc57]
+	and a
+	ret nz
+	ld a,[W_CURMAP]
+	cp a,ROUTE_17 ; Cycling Road
+	jr nz,.goFaster\@
+	ld a,[$ffb4] ; current joypad state
+	and a,%01110000 ; bit mask for up, left, right buttons
+	ret nz
+.goFaster\@
+	jp AdvancePlayerSprite
+
+; check if the player has stepped onto a warp after having not collided
+CheckWarpsNoCollision: ; 6B4
+	ld a,[$d3ae] ; number of warps
+	and a
+	jp z,CheckMapConnections
+	ld a,[$d3ae] ; number of warps
+	ld b,$00
+	ld c,a
+	ld a,[W_YCOORD]
+	ld d,a
+	ld a,[W_XCOORD]
+	ld e,a
+	ld hl,$d3af ; start of warp entries
+CheckWarpsNoCollisionLoop: ; 6CC
+	ld a,[hli] ; check if the warp's Y position matches
+	cp d
+	jr nz,CheckWarpsNoCollisionRetry1
+	ld a,[hli] ; check if the warp's X position matches
+	cp e
+	jr nz,CheckWarpsNoCollisionRetry2
+; if a match was found
+	push hl
+	push bc
+	ld hl,$d736
+	set 2,[hl]
+	ld b,$03
+	ld hl,$449d
+	call Bankswitch ; check if the player sprite is standing on a "door" tile
+	pop bc
+	pop hl
+	jr c,WarpFound1 ; if it is, go to 0735
+	push hl
+	push bc
+	call ExtraWarpCheck ; sets carry if the warp is confirmed
+	pop bc
+	pop hl
+	jr nc,CheckWarpsNoCollisionRetry2
+; if the extra check passed
+	ld a,[$d733]
+	bit 2,a
+	jr nz,WarpFound1
+	push de
+	push bc
+	call GetJoypadState
+	pop bc
+	pop de
+	ld a,[$ffb4] ; current joypad state
+	and a,%11110000 ; bit mask for directional buttons
+	jr z,CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp
+	jr WarpFound1
+
+; check if the player has stepped onto a warp after having collided
+CheckWarpsCollision: ; 706
+	ld a,[$d3ae] ; number of warps
+	ld c,a
+	ld hl,$d3af ; start of warp entries
+.loop\@
+	ld a,[hli] ; Y coordinate of warp
+	ld b,a
+	ld a,[W_YCOORD]
+	cp b
+	jr nz,.retry1\@
+	ld a,[hli] ; X coordinate of warp
+	ld b,a
+	ld a,[W_XCOORD]
+	cp b
+	jr nz,.retry2\@
+	ld a,[hli]
+	ld [$d42f],a ; save target warp ID
+	ld a,[hl]
+	ld [$ff8b],a ; save target map
+	jr WarpFound2
+.retry1\@
+	inc hl
+.retry2\@
+	inc hl
+	inc hl
+	dec c
+	jr nz,.loop\@
+	jp OverworldLoop
+
+CheckWarpsNoCollisionRetry1: ; 72F
+	inc hl
+CheckWarpsNoCollisionRetry2: ; 730
+	inc hl
+	inc hl
+	jp ContinueCheckWarpsNoCollisionLoop
+
+WarpFound1: ; 735
+	ld a,[hli]
+	ld [$d42f],a ; save target warp ID
+	ld a,[hli]
+	ld [$ff8b],a ; save target map
+
+WarpFound2: ; 73C
+	ld a,[$d3ae] ; number of warps
+	sub c
+	ld [$d73b],a ; save ID of used warp
+	ld a,[W_CURMAP]
+	ld [$d73c],a
+	call CheckIfInOutsideMap ; check if the tileset number is 0 or the map is Route 12
+	jr nz,.indoorMaps\@
+; this is for handling "outside" maps that can't have the 0xFF destination map
+	ld a,[W_CURMAP]
+	ld [$d365],a ; save current map as previous map
+	ld a,[W_CURMAPWIDTH]
+	ld [$d366],a
+	ld a,[$ff8b] ; destination map number
+	ld [W_CURMAP],a ; change current map to destination map
+	cp a,ROCK_TUNNEL_1
+	jr nz,.notRockTunnel\@
+	ld a,$06
+	ld [$d35d],a
+	call GBFadeIn1
+.notRockTunnel\@
+	call PlayMapChangeSound
+	jr .done\@
+; for maps that can have the 0xFF destination map, which means to return to the outside map; not all these maps are necessarily indoors, though
+.indoorMaps\@
+	ld a,[$ff8b] ; destination map
+	cp a,$ff
+	jr z,.goBackOutside\@
+; if not going back to the previous map
+	ld [W_CURMAP],a ; current map number
+	ld b,$1c
+	ld hl,$4787
+	call Bankswitch ; check if the warp was a Silph Co. teleporter
+	ld a,[$cd5b]
+	dec a
+	jr nz,.notTeleporter\@
+; if it's a Silph Co. teleporter
+	ld hl,$d732
+	set 3,[hl]
+	call DoFlyOrTeleportAwayGraphics
+	jr .skipMapChangeSound\@
+.notTeleporter\@
+	call PlayMapChangeSound
+.skipMapChangeSound\@
+	ld hl,$d736
+	res 0,[hl]
+	res 1,[hl]
+	jr .done\@
+.goBackOutside\@
+	ld a,[$d365] ; previous map
+	ld [W_CURMAP],a
+	call PlayMapChangeSound
+	xor a
+	ld [$d35d],a
+.done\@
+	ld hl,$d736
+	set 0,[hl]
+	call $12da
+	jp EnterMap
+
+ContinueCheckWarpsNoCollisionLoop: ; 7B5
+	inc b ; increment warp number
+	dec c ; decrement number of warps
+	jp nz,CheckWarpsNoCollisionLoop
+
+; if no matching warp was found
+CheckMapConnections: ; 7BA
+.checkWestMap\@
+	ld a,[W_XCOORD]
+	cp a,$ff
+	jr nz,.checkEastMap\@
+	ld a,[$d387]
+	ld [W_CURMAP],a
+	ld a,[$d38f] ; new X coordinate upon entering west map
+	ld [W_XCOORD],a
+	ld a,[W_YCOORD]
+	ld c,a
+	ld a,[$d38e] ; Y adjustment upon entering west map
+	add c
+	ld c,a
+	ld [W_YCOORD],a
+	ld a,[$d390] ; pointer to upper left corner of map without adjustment for Y position
+	ld l,a
+	ld a,[$d391]
+	ld h,a
+	srl c
+	jr z,.savePointer1\@
+.pointerAdjustmentLoop1\@
+	ld a,[$d38d] ; width of connected map
+	add a,$06
+	ld e,a
+	ld d,$00
+	ld b,$00
+	add hl,de
+	dec c
+	jr nz,.pointerAdjustmentLoop1\@
+.savePointer1\@
+	ld a,l
+	ld [$d35f],a ; pointer to upper left corner of current tile block map section
+	ld a,h
+	ld [$d360],a
+	jp .loadNewMap\@
+.checkEastMap\@
+	ld b,a
+	ld a,[$d525] ; map width
+	cp b
+	jr nz,.checkNorthMap\@
+	ld a,[$d392]
+	ld [W_CURMAP],a
+	ld a,[$d39a] ; new X coordinate upon entering east map
+	ld [W_XCOORD],a
+	ld a,[W_YCOORD]
+	ld c,a
+	ld a,[$d399] ; Y adjustment upon entering east map
+	add c
+	ld c,a
+	ld [W_YCOORD],a
+	ld a,[$d39b] ; pointer to upper left corner of map without adjustment for Y position
+	ld l,a
+	ld a,[$d39c]
+	ld h,a
+	srl c
+	jr z,.savePointer2\@
+.pointerAdjustmentLoop2\@
+	ld a,[$d398]
+	add a,$06
+	ld e,a
+	ld d,$00
+	ld b,$00
+	add hl,de
+	dec c
+	jr nz,.pointerAdjustmentLoop2\@
+.savePointer2\@
+	ld a,l
+	ld [$d35f],a ; pointer to upper left corner of current tile block map section
+	ld a,h
+	ld [$d360],a
+	jp .loadNewMap\@
+.checkNorthMap\@
+	ld a,[W_YCOORD]
+	cp a,$ff
+	jr nz,.checkSouthMap\@
+	ld a,[$d371]
+	ld [W_CURMAP],a
+	ld a,[$d378] ; new Y coordinate upon entering north map
+	ld [W_YCOORD],a
+	ld a,[W_XCOORD]
+	ld c,a
+	ld a,[$d379] ; X adjustment upon entering north map
+	add c
+	ld c,a
+	ld [W_XCOORD],a
+	ld a,[$d37a] ; pointer to upper left corner of map without adjustment for X position
+	ld l,a
+	ld a,[$d37b]
+	ld h,a
+	ld b,$00
+	srl c
+	add hl,bc
+	ld a,l
+	ld [$d35f],a ; pointer to upper left corner of current tile block map section
+	ld a,h
+	ld [$d360],a
+	jp .loadNewMap\@
+.checkSouthMap\@
+	ld b,a
+	ld a,[$d524]
+	cp b
+	jr nz,.didNotEnterConnectedMap\@
+	ld a,[$d37c]
+	ld [W_CURMAP],a
+	ld a,[$d383] ; new Y coordinate upon entering south map
+	ld [W_YCOORD],a
+	ld a,[W_XCOORD]
+	ld c,a
+	ld a,[$d384] ; X adjustment upon entering south map
+	add c
+	ld c,a
+	ld [W_XCOORD],a
+	ld a,[$d385] ; pointer to upper left corner of map without adjustment for X position
+	ld l,a
+	ld a,[$d386]
+	ld h,a
+	ld b,$00
+	srl c
+	add hl,bc
+	ld a,l
+	ld [$d35f],a ; pointer to upper left corner of current tile block map section
+	ld a,h
+	ld [$d360],a
+.loadNewMap\@ ; load the connected map that was entered
+	call LoadMapHeader
+	call $2312 ; music
+	ld b,$09
+	call $3def ; SGB palette
+	ld b,$05
+	ld hl,$785b ; load tile pattern data for sprites
+	call Bankswitch
+	call LoadTileBlockMap
+	jp OverworldLoopLessDelay
+.didNotEnterConnectedMap\@
+	jp OverworldLoop
+
+; function to play a sound when changing maps
+PlayMapChangeSound: ; 8c9
+	ld a,[$c448] ; upper left tile of the 4x4 square the player's sprite is standing on
+	cp a,$0b ; door tile in tileset 0
+	jr nz,.didNotGoThroughDoor\@
+	ld a,$ad
+	jr .playSound\@
+.didNotGoThroughDoor\@
+	ld a,$b5
+.playSound\@
+	call $23b1
+	ld a,[$d35d]
+	and a
+	ret nz
+	jp GBFadeIn1
+
+; function to set the Z flag if the tileset number is 0 or the map is Route 12
+; strangely, Route 12 has tileset 0, so the check is redundant
+CheckIfInOutsideMap: ; 8E1
+	ld a,[W_CURMAPTILESET]
+	and a
+	ret z
+	cp a,ROUTE_12
+	ret
+
+; this function is an extra check that sometimes has to pass in order to warp, beyond just standing on a warp
+; the "sometimes" qualification is necessary because of CheckWarpsNoCollision's behavior
+; depending on the map, either "function 1" or "function 2" is used for the check
+; "function 1" passes when the player is at the edge of the map and is facing towards the outside of the map
+; "function 2" passes when the the tile in front of the player is among a certain set
+; sets carry if the check passes, otherwise clears carry
+ExtraWarpCheck: ; 8E9
+	ld a,[W_CURMAP]
+	cp a,SS_ANNE_3
+	jr z,.useFunction1\@
+	cp a,ROCKET_HIDEOUT_1
+	jr z,.useFunction2\@
+	cp a,ROCKET_HIDEOUT_2
+	jr z,.useFunction2\@
+	cp a,ROCKET_HIDEOUT_4
+	jr z,.useFunction2\@
+	cp a,ROCK_TUNNEL_1
+	jr z,.useFunction2\@
+	ld a,[W_CURMAPTILESET]
+	and a ; outside tileset
+	jr z,.useFunction2\@
+	cp a,$0d ; S.S. Anne tileset
+	jr z,.useFunction2\@
+	cp a,$0e ; Vermilion Port tileset
+	jr z,.useFunction2\@
+	cp a,$17 ; Indigo Plateau tileset
+	jr z,.useFunction2\@
+.useFunction1\@
+	ld hl,$43ff
+	jr .doBankswitch\@
+.useFunction2\@
+	ld hl,$444e
+.doBankswitch\@
+	ld b,$03
+	jp Bankswitch
+
+MapEntryAfterBattle: ; 91F
+	ld b,$03
+	ld hl,$435f
+	call Bankswitch ; function that appears to disable warp testing after collisions if the player is standing on a warp
+	ld a,[$d35d]
+	and a
+	jp z,GBFadeIn2
+	jp LoadGBPal
+
+; for when all the player's pokemon faint
+; other code prints the "you blacked out" message before this is called
+HandleBlackOut: ; 931
+	call GBFadeIn1
+	ld a,$08
+	call StopMusic
+	ld hl,$d72e
+	res 5,[hl]
+	ld a,$01
+	ld [$ffb8],a
+	ld [$2000],a
+	call $40b0
+	call $62ce
+	call $2312
+	jp $5d5f
+
+StopMusic: ; 951
+	ld [$cfc7],a
+	ld a,$ff
+	ld [$c0ee],a
+	call $23b1
+.waitLoop\@
+	ld a,[$cfc7]
+	and a
+	jr nz,.waitLoop\@
+	jp $200e
+
+HandleFlyOrTeleportAway: ; 965
+	call $2429 ; move sprites
+	call $3dd7
+	xor a
+	ld [$cf0b],a
+	ld [$d700],a
+	ld [$d057],a
+	ld [$d35d],a
+	ld hl,$d732
+	set 2,[hl]
+	res 5,[hl]
+	call DoFlyOrTeleportAwayGraphics
+	ld a,$01
+	ld [$ffb8],a
+	ld [$2000],a
+	call $62ce
+	jp $5d5f
+
+; function that calls a function to do fly away or teleport away graphics
+DoFlyOrTeleportAwayGraphics: ; 98F
+	ld b,$1c
+	ld hl,$45ba
+	jp Bankswitch
+
+; load sprite graphics based on whether the player is standing, biking, or surfing
+LoadPlayerSpriteGraphics: ; 997
+	ld a,[$d700]
+	dec a
+	jr z,.ridingBike\@
+	ld a,[$ffd7]
+	and a
+	jr nz,.determineGraphics\@
+	jr .startWalking\@
+.ridingBike\@
+	call IsBikeRidingAllowed
+	jr c,.determineGraphics\@ ; don't start walking if bike riding is allowed
+.startWalking\@
+	xor a
+	ld [$d700],a
+	ld [$d11a],a
+	jp LoadWalkingPlayerSpriteGraphics
+.determineGraphics\@
+	ld a,[$d700]
+	and a
+	jp z,LoadWalkingPlayerSpriteGraphics
+	dec a
+	jp z,LoadBikePlayerSpriteGraphics
+	dec a
+	jp z,LoadSurfingPlayerSpriteGraphics
+	jp LoadWalkingPlayerSpriteGraphics
+
+; function to check if bike riding is allowed on the current map
+; sets carry if bike is allowed, clears carry otherwise
+IsBikeRidingAllowed: ; 9c5
+	ld a,[W_CURMAP]
+	cp a,ROUTE_23
+	jr z,.allowed\@
+	cp a,INDIGO_PLATEAU
+	jr z,.allowed\@
+	ld a,[W_CURMAPTILESET]
+	ld b,a
+	ld hl,BikeRidingTilesets
+.loop\@
+	ld a,[hli]
+	cp b
+	jr z,.allowed\@
+	inc a
+	jr nz,.loop\@
+	and a
+	ret
+.allowed\@
+	scf
+	ret
+
+BikeRidingTilesets: ; 9E2
+db $00, $03, $0B, $0E, $11, $FF
+
+; load the tile pattern data of the current tileset into VRAM
+LoadTilesetTilePatternData: ; 9E8
+	ld a,[$d52e]
+	ld l,a
+	ld a,[$d52f]
+	ld h,a
+	ld de,$9000
+	ld bc,$0600
+	ld a,[$d52b]
+	jp $17f7
+
+; this loads the current maps complete tile map (which references blocks, not individual tiles) to C6E8
+; it can also load partial tile maps of connected maps into a border of length 3 around the current map
+LoadTileBlockMap: ; 9FC
+; fill C6E8-CBFB with the background tile
+	ld hl,$c6e8
+	ld a,[$d3ad] ; background tile number
+	ld d,a
+	ld bc,$0514
+.backgroundTileLoop\@
+	ld a,d
+	ld [hli],a
+	dec bc
+	ld a,c
+	or b
+	jr nz,.backgroundTileLoop\@
+; load tile map of current map (made of tile block IDs)
+; a 3-byte border at the edges of the map is kept so that there is space for map connections
+	ld hl,$c6e8
+	ld a,[W_CURMAPWIDTH]
+	ld [$ff8c],a
+	add a,$06 ; border (east and west)
+	ld [$ff8b],a ; map width + border
+	ld b,$00
+	ld c,a
+; make space for north border (next 3 lines)
+	add hl,bc
+	add hl,bc
+	add hl,bc
+	ld c,$03
+	add hl,bc ; this puts us past the (west) border
+	ld a,[$d36a] ; tile map pointer
+	ld e,a
+	ld a,[$d36b]
+	ld d,a ; de = tile map pointer
+	ld a,[W_CURMAPHEIGHT]
+	ld b,a
+.rowLoop\@ ; copy one row each iteration
+	push hl
+	ld a,[$ff8c] ; map width (without border)
+	ld c,a
+.rowInnerLoop\@
+	ld a,[de]
+	inc de
+	ld [hli],a
+	dec c
+	jr nz,.rowInnerLoop\@
+; add the map width plus the border to the base address of the current row to get the next row's address
+	pop hl
+	ld a,[$ff8b] ; map width + border
+	add l
+	ld l,a
+	jr nc,.noCarry\@
+	inc h
+.noCarry\@
+	dec b
+	jr nz,.rowLoop\@
+.northConnection\@
+	ld a,[$d371]
+	cp a,$ff
+	jr z,.southConnection\@
+	call SwitchToMapRomBank
+	ld a,[$d372]
+	ld l,a
+	ld a,[$d373]
+	ld h,a
+	ld a,[$d374]
+	ld e,a
+	ld a,[$d375]
+	ld d,a
+	ld a,[$d376]
+	ld [$ff8b],a
+	ld a,[$d377]
+	ld [$ff8c],a
+	call LoadNorthSouthConnectionsTileMap
+.southConnection\@
+	ld a,[$d37c]
+	cp a,$ff
+	jr z,.westConnection\@
+	call SwitchToMapRomBank
+	ld a,[$d37d]
+	ld l,a
+	ld a,[$d37e]
+	ld h,a
+	ld a,[$d37f]
+	ld e,a
+	ld a,[$d380]
+	ld d,a
+	ld a,[$d381]
+	ld [$ff8b],a
+	ld a,[$d382]
+	ld [$ff8c],a
+	call LoadNorthSouthConnectionsTileMap
+.westConnection\@
+	ld a,[$d387]
+	cp a,$ff
+	jr z,.eastConnection\@
+	call SwitchToMapRomBank
+	ld a,[$d388]
+	ld l,a
+	ld a,[$d389]
+	ld h,a
+	ld a,[$d38a]
+	ld e,a
+	ld a,[$d38b]
+	ld d,a
+	ld a,[$d38c]
+	ld b,a
+	ld a,[$d38d]
+	ld [$ff8b],a
+	call LoadEastWestConnectionsTileMap
+.eastConnection\@
+	ld a,[$d392]
+	cp a,$ff
+	jr z,.done\@
+	call SwitchToMapRomBank
+	ld a,[$d393]
+	ld l,a
+	ld a,[$d394]
+	ld h,a
+	ld a,[$d395]
+	ld e,a
+	ld a,[$d396]
+	ld d,a
+	ld a,[$d397]
+	ld b,a
+	ld a,[$d398]
+	ld [$ff8b],a
+	call LoadEastWestConnectionsTileMap
+.done\@
+	ret
+
+LoadNorthSouthConnectionsTileMap: ; ADE
+	ld c,$03
+.loop\@
+	push de
+	push hl
+	ld a,[$ff8b] ; width of connection
+	ld b,a
+.innerLoop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec b
+	jr nz,.innerLoop\@
+	pop hl
+	pop de
+	ld a,[$ff8c] ; width of connected map
+	add l
+	ld l,a
+	jr nc,.noCarry1\@
+	inc h
+.noCarry1\@
+	ld a,[W_CURMAPWIDTH]
+	add a,$06
+	add e
+	ld e,a
+	jr nc,.noCarry2\@
+	inc d
+.noCarry2\@
+	dec c
+	jr nz,.loop\@
+	ret
+
+LoadEastWestConnectionsTileMap: ; B02
+	push hl
+	push de
+	ld c,$03
+.innerLoop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec c
+	jr nz,.innerLoop\@
+	pop de
+	pop hl
+	ld a,[$ff8b] ; width of connected map
+	add l
+	ld l,a
+	jr nc,.noCarry1\@
+	inc h
+.noCarry1\@
+	ld a,[W_CURMAPWIDTH]
+	add a,$06
+	add e
+	ld e,a
+	jr nc,.noCarry2\@
+	inc d
+.noCarry2\@
+	dec b
+	jr nz,LoadEastWestConnectionsTileMap
+	ret
+
+; function to check if there is a sign or sprite in front of the player
+; if so, it is stored in [$FF8C]
+; if not, [$FF8C] is set to 0
+IsSpriteOrSignInFrontOfPlayer: ; B23
+	xor a
+	ld [$ff8c],a
+	ld a,[$d4b0] ; number of signs in the map
+	and a
+	jr z,.extendRangeOverCounter\@
+; if there are signs
+	ld a,$35
+	call Predef ; get the coordinates in front of the player in de
+	ld hl,$d4b1 ; start of sign coordinates
+	ld a,[$d4b0] ; number of signs in the map
+	ld b,a
+	ld c,$00
+.signLoop\@
+	inc c
+	ld a,[hli] ; sign Y
+	cp d
+	jr z,.yCoordMatched\@
+	inc hl
+	jr .retry\@
+.yCoordMatched\@
+	ld a,[hli] ; sign X
+	cp e
+	jr nz,.retry\@
+.xCoordMatched\@
+; found sign
+	push hl
+	push bc
+	ld hl,$d4d1 ; start of sign text ID's
+	ld b,$00
+	dec c
+	add hl,bc
+	ld a,[hl]
+	ld [$ff8c],a ; store sign text ID
+	pop bc
+	pop hl
+	ret
+.retry\@
+	dec b
+	jr nz,.signLoop\@
+; check if the player is front of a counter in a pokemon center, pokemart, etc. and if so, extend the range at which he can talk to the NPC
+.extendRangeOverCounter\@
+	ld a,$35
+	call Predef ; get the tile in front of the player in c
+	ld hl,$d532 ; list of tiles that extend talking range (counter tiles)
+	ld b,$03
+	ld d,$20 ; talking range in pixels (long range)
+.counterTilesLoop\@
+	ld a,[hli]
+	cp c
+	jr z,IsSpriteInFrontOfPlayer2 ; jumps if the tile in front of the player is a counter tile
+	dec b
+	jr nz,.counterTilesLoop\@
+
+; part of the above function, but sometimes its called on its own, when signs are irrelevant
+; the caller must zero [$FF8C]
+IsSpriteInFrontOfPlayer: ; B6B
+	ld d,$10 ; talking range in pixels (normal range)
+IsSpriteInFrontOfPlayer2: ; B6D
+	ld bc,$3c40 ; Y and X position of player sprite
+	ld a,[$c109] ; direction the player is facing
+.checkIfPlayerFacingUp\@
+	cp a,$04
+	jr nz,.checkIfPlayerFacingDown\@
+; facing up
+	ld a,b
+	sub d
+	ld b,a
+	ld a,$08
+	jr .doneCheckingDirection\@
+.checkIfPlayerFacingDown\@
+	cp a,$00
+	jr nz,.checkIfPlayerFacingRight\@
+; facing down
+	ld a,b
+	add d
+	ld b,a
+	ld a,$04
+	jr .doneCheckingDirection\@
+.checkIfPlayerFacingRight\@
+	cp a,$0c
+	jr nz,.playerFacingLeft\@
+; facing right
+	ld a,c
+	add d
+	ld c,a
+	ld a,$01
+	jr .doneCheckingDirection\@
+.playerFacingLeft\@
+; facing left
+	ld a,c
+	sub d
+	ld c,a
+	ld a,$02
+.doneCheckingDirection\@
+	ld [$d52a],a
+	ld a,[$d4e1] ; number of sprites
+	and a
+	ret z
+; if there are sprites
+	ld hl,$c110
+	ld d,a
+	ld e,$01
+.spriteLoop\@
+	push hl
+	ld a,[hli] ; image (0 if no sprite)
+	and a
+	jr z,.nextSprite\@
+	inc l
+	ld a,[hli] ; sprite visibility
+	inc a
+	jr z,.nextSprite\@
+	inc l
+	ld a,[hli] ; Y location
+	cp b
+	jr nz,.nextSprite\@
+	inc l
+	ld a,[hl] ; X location
+	cp c
+	jr z,.foundSpriteInFrontOfPlayer\@
+.nextSprite\@
+	pop hl
+	ld a,l
+	add a,$10
+	ld l,a
+	inc e
+	dec d
+	jr nz,.spriteLoop\@
+	ret
+.foundSpriteInFrontOfPlayer\@
+	pop hl
+	ld a,l
+	and a,$f0
+	inc a
+	ld l,a
+	set 7,[hl]
+	ld a,e
+	ld [$ff8c],a ; store sprite ID
+	ret
+
+; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing)
+; sets the carry flag if there is a collision, and unsets it if there isn't a collision
+CollisionCheckOnLand: ; BD1
+	ld a,[$d736]
+	bit 6,a ; is the player jumping?
+	jr nz,.noCollision\@
+; if not jumping a ledge
+	ld a,[$cd38]
+	and a
+	jr nz,.noCollision\@
+	ld a,[$d52a] ; the direction that the player is trying to go in
+	ld d,a
+	ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code)
+	and d ; check if a sprite is in the direction the player is trying to go
+	jr nz,.collision\@
+	xor a
+	ld [$ff8c],a
+	call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision?
+	ld a,[$ff8c]
+	and a ; was there a sprite collision?
+	jr nz,.collision\@
+; if no sprite collision
+	ld hl,TilePairCollisionsLand
+	call CheckForJumpingAndTilePairCollisions
+	jr c,.collision\@
+	call CheckTilePassable
+	jr nc,.noCollision\@
+.collision\@
+	ld a,[$c02a]
+	cp a,$b4 ; check if collision sound is already playing
+	jr z,.setCarry\@
+	ld a,$b4
+	call $23b1 ; play collision sound (if it's not already playing)
+.setCarry\@
+	scf
+	ret
+.noCollision\@
+	and a
+	ret
+
+; function that checks if the tile in front of the player is passable
+; clears carry if it is, sets carry if not
+CheckTilePassable: ; C10
+	ld a,$35
+	call Predef ; get tile in front of player
+	ld a,[$cfc6] ; tile in front of player
+	ld c,a
+	ld hl,$d530 ; pointer to list of passable tiles
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a ; hl now points to passable tiles
+.loop\@
+	ld a,[hli]
+	cp a,$ff
+	jr z,.tileNotPassable\@
+	cp c
+	ret z
+	jr .loop\@
+.tileNotPassable\@
+	scf
+	ret
+
+; check if the player is going to jump down a small ledge
+; and check for collisions that only occur between certain pairs of tiles
+; Input: hl - address of directional collision data
+; sets carry if there is a collision and unsets carry if not
+CheckForJumpingAndTilePairCollisions: ; C2A
+	push hl
+	ld a,$35
+	call Predef ; get the tile in front of the player
+	push de
+	push bc
+	ld b,$06
+	ld hl,$6672
+	call Bankswitch ; check if the player is trying to jump a ledge
+	pop bc
+	pop de
+	pop hl
+	and a
+	ld a,[$d736]
+	bit 6,a ; is the player jumping?
+	ret nz
+; if not jumping
+	ld a,[$c45c] ; tile the player is on
+	ld [$cf0e],a
+	ld a,[$cfc6] ; tile in front of the player
+	ld c,a
+.tilePairCollisionLoop\@
+	ld a,[W_CURMAPTILESET] ; tileset number
+	ld b,a
+	ld a,[hli]
+	cp a,$ff
+	jr z,.noMatch\@
+	cp b
+	jr z,.tilesetMatches\@
+	inc hl
+.retry\@
+	inc hl
+	jr .tilePairCollisionLoop\@
+.tilesetMatches\@
+	ld a,[$cf0e] ; tile the player is on
+	ld b,a
+	ld a,[hl]
+	cp b
+	jr z,.currentTileMatchesFirstInPair\@
+	inc hl
+	ld a,[hl]
+	cp b
+	jr z,.currentTileMatchesSecondInPair\@
+	jr .retry\@
+.currentTileMatchesFirstInPair\@
+	inc hl
+	ld a,[hl]
+	cp c
+	jr z,.foundMatch\@
+	jr .tilePairCollisionLoop\@
+.currentTileMatchesSecondInPair\@
+	dec hl
+	ld a,[hli]
+	cp c
+	inc hl
+	jr nz,.tilePairCollisionLoop\@
+.foundMatch\@
+	scf
+	ret
+.noMatch\@
+	and a
+	ret
+
+; FORMAT: tileset number, tile 1, tile 2
+; terminated by 0xFF
+; these entries indicate that the player may not cross between tile 1 and tile 2
+; it's mainly used to simulate differences in elevation
+
+TilePairCollisionsLand: ; C7E
+db $11, $20, $05;
+db $11, $41, $05;
+db $03, $30, $2E;
+db $11, $2A, $05;
+db $11, $05, $21;
+db $03, $52, $2E;
+db $03, $55, $2E;
+db $03, $56, $2E;
+db $03, $20, $2E;
+db $03, $5E, $2E;
+db $03, $5F, $2E;
+db $FF;
+
+TilePairCollisionsWater: ; CA0
+db $03, $14, $2E;
+db $03, $48, $2E;
+db $11, $14, $05;
+db $FF;
+
+; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character
+LoadCurrentMapView: ; CAA
+	ld a,[$ffb8]
+	push af
+	ld a,[$d52b] ; tile data ROM bank
+	ld [$ffb8],a
+	ld [$2000],a ; switch to ROM bank that contains tile data
+	ld a,[$d35f] ; address of upper left corner of current map view
+	ld e,a
+	ld a,[$d360]
+	ld d,a
+	ld hl,$c508
+	ld b,$05
+.rowLoop\@ ; each loop iteration fills in one row of tile blocks
+	push hl
+	push de
+	ld c,$06
+.rowInnerLoop\@ ; loop to draw each tile block of the current row
+	push bc
+	push de
+	push hl
+	ld a,[de]
+	ld c,a ; tile block number
+	call DrawTileBlock
+	pop hl
+	pop de
+	pop bc
+	inc hl
+	inc hl
+	inc hl
+	inc hl
+	inc de
+	dec c
+	jr nz,.rowInnerLoop\@
+; update tile block map pointer to next row's address
+	pop de
+	ld a,[W_CURMAPWIDTH]
+	add a,$06
+	add e
+	ld e,a
+	jr nc,.noCarry\@
+	inc d
+.noCarry\@
+; update tile map pointer to next row's address
+	pop hl
+	ld a,$60
+	add l
+	ld l,a
+	jr nc,.noCarry2\@
+	inc h
+.noCarry2\@
+	dec b
+	jr nz,.rowLoop\@
+	ld hl,$c508
+	ld bc,$0000
+.adjustForYCoordWithinTileBlock\@
+	ld a,[W_YBLOCKCOORD]
+	and a
+	jr z,.adjustForXCoordWithinTileBlock\@
+	ld bc,$0030
+	add hl,bc
+.adjustForXCoordWithinTileBlock\@
+	ld a,[W_XBLOCKCOORD]
+	and a
+	jr z,.copyToVisibleAreaBuffer\@
+	ld bc,$0002
+	add hl,bc
+.copyToVisibleAreaBuffer\@
+	ld de,$c3a0 ; base address for the tiles that are directly transfered to VRAM during V-blank
+	ld b,$12
+.rowLoop2\@
+	ld c,$14
+.rowInnerLoop2\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec c
+	jr nz,.rowInnerLoop2\@
+	ld a,$04
+	add l
+	ld l,a
+	jr nc,.noCarry3\@
+	inc h
+.noCarry3\@
+	dec b
+	jr nz,.rowLoop2\@
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a ; restore previous ROM bank
+	ret
+
+AdvancePlayerSprite: ; D27
+	ld a,[$c103] ; delta Y
+	ld b,a
+	ld a,[$c105] ; delta X
+	ld c,a
+	ld hl,W_WALKCOUNTER ; walking animation counter
+	dec [hl]
+	jr nz,.afterUpdateMapCoords\@
+; if it's the end of the animation, update the player's map coordinates
+	ld a,[W_YCOORD]
+	add b
+	ld [W_YCOORD],a
+	ld a,[W_XCOORD]
+	add c
+	ld [W_XCOORD],a
+.afterUpdateMapCoords\@
+	ld a,[W_WALKCOUNTER] ; walking animation counter
+	cp a,$07
+	jp nz,.scrollBackgroundAndSprites\@
+; if this is the first iteration of the animation
+	ld a,c
+	cp a,$01
+	jr nz,.checkIfMovingWest\@
+; moving east
+	ld a,[$d526]
+	ld e,a
+	and a,$e0
+	ld d,a
+	ld a,e
+	add a,$02
+	and a,$1f
+	or d
+	ld [$d526],a
+	jr .adjustXCoordWithinBlock\@
+.checkIfMovingWest\@
+	cp a,$ff
+	jr nz,.checkIfMovingSouth\@
+; moving west
+	ld a,[$d526]
+	ld e,a
+	and a,$e0
+	ld d,a
+	ld a,e
+	sub a,$02
+	and a,$1f
+	or d
+	ld [$d526],a
+	jr .adjustXCoordWithinBlock\@
+.checkIfMovingSouth\@
+	ld a,b
+	cp a,$01
+	jr nz,.checkIfMovingNorth\@
+; moving south
+	ld a,[$d526]
+	add a,$40
+	ld [$d526],a
+	jr nc,.adjustXCoordWithinBlock\@
+	ld a,[$d527]
+	inc a
+	and a,$03
+	or a,$98
+	ld [$d527],a
+	jr .adjustXCoordWithinBlock\@
+.checkIfMovingNorth\@
+	cp a,$ff
+	jr nz,.adjustXCoordWithinBlock\@
+; moving north
+	ld a,[$d526]
+	sub a,$40
+	ld [$d526],a
+	jr nc,.adjustXCoordWithinBlock\@
+	ld a,[$d527]
+	dec a
+	and a,$03
+	or a,$98
+	ld [$d527],a
+.adjustXCoordWithinBlock\@
+	ld a,c
+	and a
+	jr z,.pointlessJump\@ ; mistake?
+.pointlessJump\@
+	ld hl,W_XBLOCKCOORD
+	ld a,[hl]
+	add c
+	ld [hl],a
+	cp a,$02
+	jr nz,.checkForMoveToWestBlock\@
+; moved into the tile block to the east
+	xor a
+	ld [hl],a
+	ld hl,$d4e3
+	inc [hl]
+	ld de,$d35f
+	call MoveTileBlockMapPointerEast
+	jr .updateMapView\@
+.checkForMoveToWestBlock\@
+	cp a,$ff
+	jr nz,.adjustYCoordWithinBlock\@
+; moved into the tile block to the west
+	ld a,$01
+	ld [hl],a
+	ld hl,$d4e3
+	dec [hl]
+	ld de,$d35f
+	call MoveTileBlockMapPointerWest
+	jr .updateMapView\@
+.adjustYCoordWithinBlock\@
+	ld hl,W_YBLOCKCOORD
+	ld a,[hl]
+	add b
+	ld [hl],a
+	cp a,$02
+	jr nz,.checkForMoveToNorthBlock\@
+; moved into the tile block to the south
+	xor a
+	ld [hl],a
+	ld hl,$d4e2
+	inc [hl]
+	ld de,$d35f
+	ld a,[W_CURMAPWIDTH]
+	call MoveTileBlockMapPointerSouth
+	jr .updateMapView\@
+.checkForMoveToNorthBlock\@
+	cp a,$ff
+	jr nz,.updateMapView\@
+; moved into the tile block to the north
+	ld a,$01
+	ld [hl],a
+	ld hl,$d4e2
+	dec [hl]
+	ld de,$d35f
+	ld a,[W_CURMAPWIDTH]
+	call MoveTileBlockMapPointerNorth
+.updateMapView\@
+	call LoadCurrentMapView
+	ld a,[$c103] ; delta Y
+	cp a,$01
+	jr nz,.checkIfMovingNorth2\@
+; if moving south
+	call ScheduleSouthRowRedraw
+	jr .scrollBackgroundAndSprites\@
+.checkIfMovingNorth2\@
+	cp a,$ff
+	jr nz,.checkIfMovingEast2\@
+; if moving north
+	call ScheduleNorthRowRedraw
+	jr .scrollBackgroundAndSprites\@
+.checkIfMovingEast2\@
+	ld a,[$c105] ; delta X
+	cp a,$01
+	jr nz,.checkIfMovingWest2\@
+; if moving east
+	call ScheduleEastColumnRedraw
+	jr .scrollBackgroundAndSprites\@
+.checkIfMovingWest2\@
+	cp a,$ff
+	jr nz,.scrollBackgroundAndSprites\@
+; if moving west
+	call ScheduleWestColumnRedraw
+.scrollBackgroundAndSprites\@
+	ld a,[$c103] ; delta Y
+	ld b,a
+	ld a,[$c105] ; delta X
+	ld c,a
+	sla b
+	sla c
+	ld a,[$ffaf]
+	add b
+	ld [$ffaf],a ; update background scroll Y
+	ld a,[$ffae]
+	add c
+	ld [$ffae],a ; update background scroll X
+; shift all the sprites in the direction opposite of the player's motion
+; so that the player appears to move relative to them
+	ld hl,$c114
+	ld a,[$d4e1] ; number of sprites
+	and a ; are there any sprites?
+	jr z,.done\@
+	ld e,a
+.spriteShiftLoop\@
+	ld a,[hl]
+	sub b
+	ld [hli],a
+	inc l
+	ld a,[hl]
+	sub c
+	ld [hl],a
+	ld a,$0e
+	add l
+	ld l,a
+	dec e
+	jr nz,.spriteShiftLoop\@
+.done\@
+	ret
+
+; the following four functions are used to move the pointer to the upper left
+; corner of the tile block map in the direction of motion
+
+MoveTileBlockMapPointerEast: ; E65
+	ld a,[de]
+	add a,$01
+	ld [de],a
+	ret nc
+	inc de
+	ld a,[de]
+	inc a
+	ld [de],a
+	ret
+
+MoveTileBlockMapPointerWest: ; E6F
+	ld a,[de]
+	sub a,$01
+	ld [de],a
+	ret nc
+	inc de
+	ld a,[de]
+	dec a
+	ld [de],a
+	ret
+
+MoveTileBlockMapPointerSouth: ; E79
+	add a,$06
+	ld b,a
+	ld a,[de]
+	add b
+	ld [de],a
+	ret nc
+	inc de
+	ld a,[de]
+	inc a
+	ld [de],a
+	ret
+
+MoveTileBlockMapPointerNorth: ; E85
+	add a,$06
+	ld b,a
+	ld a,[de]
+	sub b
+	ld [de],a
+	ret nc
+	inc de
+	ld a,[de]
+	dec a
+	ld [de],a
+	ret
+
+; the following 6 functions are used to tell the V-blank handler to redraw
+; the portion of the map that was newly exposed due to the player's movement
+
+ScheduleNorthRowRedraw: ; E91
+	ld hl,$c3a0
+	call ScheduleRowRedrawHelper
+	ld a,[$d526]
+	ld [$ffd1],a
+	ld a,[$d527]
+	ld [$ffd2],a
+	ld a,$02
+	ld [$ffd0],a
+	ret
+
+ScheduleRowRedrawHelper: ; EA6
+	ld de,$cbfc
+	ld c,$28
+.loop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec c
+	jr nz,.loop\@
+	ret
+
+ScheduleSouthRowRedraw: ; EB2
+	ld hl,$c4e0
+	call $0ea6
+	ld a,[$d526]
+	ld l,a
+	ld a,[$d527]
+	ld h,a
+	ld bc,$0200
+	add hl,bc
+	ld a,h
+	and a,$03
+	or a,$98
+	ld [$ffd2],a
+	ld a,l
+	ld [$ffd1],a
+	ld a,$02
+	ld [$ffd0],a
+	ret
+
+ScheduleEastColumnRedraw: ; ED3
+	ld hl,$c3b2
+	call ScheduleColumnRedrawHelper
+	ld a,[$d526]
+	ld c,a
+	and a,$e0
+	ld b,a
+	ld a,c
+	add a,$12
+	and a,$1f
+	or b
+	ld [$ffd1],a
+	ld a,[$d527]
+	ld [$ffd2],a
+	ld a,$01
+	ld [$ffd0],a
+	ret
+
+ScheduleColumnRedrawHelper: ; EF2
+	ld de,$cbfc
+	ld c,$12
+.loop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	ld a,[hl]
+	ld [de],a
+	inc de
+	ld a,$13
+	add l
+	ld l,a
+	jr nc,.noCarry\@
+	inc h
+.noCarry\@
+	dec c
+	jr nz,.loop\@
+	ret
+
+ScheduleWestColumnRedraw: ; F08
+	ld hl,$c3a0
+	call ScheduleColumnRedrawHelper
+	ld a,[$d526]
+	ld [$ffd1],a
+	ld a,[$d527]
+	ld [$ffd2],a
+	ld a,$01
+	ld [$ffd0],a
+	ret
+
+; function to write the tiles that make up a tile block to memory
+; Input: c = tile block ID, hl = destination address
+DrawTileBlock: ; F1D
+	push hl
+	ld a,[$d52c] ; pointer to tiles
+	ld l,a
+	ld a,[$d52d]
+	ld h,a
+	ld a,c
+	swap a
+	ld b,a
+	and a,$f0
+	ld c,a
+	ld a,b
+	and a,$0f
+	ld b,a ; bc = tile block ID * 0x10
+	add hl,bc
+	ld d,h
+	ld e,l ; de = address of the tile block's tiles
+	pop hl
+	ld c,$04 ; 4 loop iterations
+.loop\@ ; each loop iteration, write 4 tile numbers
+	push bc
+	ld a,[de]
+	ld [hli],a
+	inc de
+	ld a,[de]
+	ld [hli],a
+	inc de
+	ld a,[de]
+	ld [hli],a
+	inc de
+	ld a,[de]
+	ld [hl],a
+	inc de
+	ld bc,$0015
+	add hl,bc
+	pop bc
+	dec c
+	jr nz,.loop\@
+	ret
+
+; function to update joypad state and simulate button presses
+GetJoypadStateOverworld: ; F4D
+	xor a
+	ld [$c103],a
+	ld [$c105],a
+	call RunMapScript
+	call GetJoypadState
+	ld a,[$d733]
+	bit 3,a ; check if a trainer wants a challenge
+	jr nz,.notForcedDownwards\@
+	ld a,[W_CURMAP]
+	cp a,ROUTE_17 ; Cycling Road
+	jr nz,.notForcedDownwards\@
+	ld a,[$ffb4] ; current joypad state
+	and a,%11110011 ; bit mask for all directions and A/B
+	jr nz,.notForcedDownwards\@
+	ld a,%10000000 ; down pressed
+	ld [$ffb4],a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press
+.notForcedDownwards\@
+	ld a,[$d730]
+	bit 7,a
+	ret z
+; if simulating button presses
+	ld a,[$ffb4] ; current joypad state
+	ld b,a
+	ld a,[$cd3b] ; bit mask for button presses that override simulated ones
+	and b
+	ret nz ; return if the simulated button presses are overridden
+	ld hl,$cd38 ; index of current simulated button press
+	dec [hl]
+	ld a,[hl]
+	cp a,$ff
+	jr z,.doneSimulating\@ ; if the end of the simulated button presses has been reached
+	ld hl,$ccd3 ; base address of simulated button presses
+; add offset to base address
+	add l
+	ld l,a
+	jr nc,.noCarry\@
+	inc h
+.noCarry\@
+	ld a,[hl]
+	ld [$ffb4],a ; store simulated button press in joypad state
+	and a
+	ret nz
+	ld [$ffb3],a
+	ld [$ffb2],a
+	ret
+; if done simulating button presses
+.doneSimulating\@
+	xor a
+	ld [$cd3a],a
+	ld [$cd38],a
+	ld [$ccd3],a
+	ld [$cd6b],a
+	ld [$ffb4],a
+	ld hl,$d736
+	ld a,[hl]
+	and a,$f8
+	ld [hl],a
+	ld hl,$d730
+	res 7,[hl]
+	ret
+
+; function to check the tile ahead to determine if the character should get on land or keep surfing
+; sets carry if there is a collision and clears carry otherwise
+; It seems that this function has a bug in it, but due to luck, it doesn't
+; show up. After detecting a sprite collision, it jumps to the code that
+; checks if the next tile is passable instead of just directly jumping to the
+; "collision detected" code. However, it doesn't store the next tile in c,
+; so the old value of c is used. 2429 is always called before this function,
+; and 2429 always sets c to 0xF0. There is no 0xF0 background tile, so it
+; is considered impassable and it is detected as a collision.
+CollisionCheckOnWater: ; FB7
+	ld a,[$d730]
+	bit 7,a
+	jp nz,.noCollision\@ ; return and clear carry if button presses are being simulated
+	ld a,[$d52a] ; the direction that the player is trying to go in
+	ld d,a
+	ld a,[$c10c] ; the player sprite's collision data (bit field) (set in the sprite movement code)
+	and d ; check if a sprite is in the direction the player is trying to go
+	jr nz,.checkIfNextTileIsPassable\@ ; bug?
+	ld hl,TilePairCollisionsWater
+	call CheckForJumpingAndTilePairCollisions
+	jr c,.collision\@
+	ld a,$35
+	call Predef ; get tile in front of player (puts it in c and [$CFC6])
+	ld a,[$cfc6] ; tile in front of player
+	cp a,$14 ; water tile
+	jr z,.noCollision\@ ; keep surfing if it's a water tile
+	cp a,$32 ; either the left tile of the S.S. Anne boarding platform or the tile on eastern coastlines (depending on the current tileset)
+	jr z,.checkIfVermilionDockTileset\@
+	cp a,$48 ; tile on right on coast lines in Safari Zone
+	jr z,.noCollision\@ ; keep surfing
+; check if the [land] tile in front of the player is passable
+.checkIfNextTileIsPassable\@
+	ld hl,$d530 ; pointer to list of passable tiles
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+.loop\@
+	ld a,[hli]
+	cp a,$ff
+	jr z,.collision\@
+	cp c
+	jr z,.stopSurfing\@ ; stop surfing if the tile is passable
+	jr .loop\@
+.collision\@
+	ld a,[$c02a]
+	cp a,$b4 ; check if collision sound is already playing
+	jr z,.setCarry\@
+	ld a,$b4
+	call $23b1 ; play collision sound (if it's not already playing)
+.setCarry\@
+	scf
+	jr .done\@
+.noCollision\@
+	and a
+.done\@
+	ret
+.stopSurfing\@
+	xor a
+	ld [$d700],a
+	call LoadPlayerSpriteGraphics
+	call $2307
+	jr .noCollision\@
+.checkIfVermilionDockTileset\@
+	ld a,[W_CURMAPTILESET] ; tileset
+	cp a,$0e ; Vermilion Dock tileset
+	jr nz,.noCollision\@ ; keep surfing if it's not the boarding platform tile
+	jr .stopSurfing\@ ; if it is the boarding platform tile, stop surfing
+
+; function to run the current map's script
+RunMapScript: ; 101B
+	push hl
+	push de
+	push bc
+	ld b,$03
+	ld hl,$7225
+	call Bankswitch ; check if the player is pushing a boulder
+	ld a,[$cd60]
+	bit 1,a ; is the player pushing a boulder?
+	jr z,.afterBoulderEffect\@
+	ld b,$03
+	ld hl,$72b5
+	call Bankswitch ; displays dust effect when pushing a boulder
+.afterBoulderEffect\@
+	pop bc
+	pop de
+	pop hl
+	call $310e
+	ld a,[W_CURMAP] ; current map number
+	call SwitchToMapRomBank ; change to the ROM bank the map's data is in
+	ld hl,W_MAPSCRIPTPTR
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	ld de,.return\@
+	push de
+	jp [hl] ; jump to script
+.return\@
+	ret
+
+LoadWalkingPlayerSpriteGraphics: ; 0x104d
+	ld de,$4180
+	ld hl,$8000
+	jr LoadPlayerSpriteGraphicsCommon
+
+LoadSurfingPlayerSpriteGraphics: ; 0x1055
+	ld de,$76c0
+	ld hl,$8000
+	jr LoadPlayerSpriteGraphicsCommon
+
+LoadBikePlayerSpriteGraphics: ; 0x105d
+	ld de,$4000
+	ld hl,$8000
+
+LoadPlayerSpriteGraphicsCommon: ; 0x1063
+	push de
+	push hl
+	ld bc,$050c
+	call $1848
+	pop hl
+	pop de
+	ld a,$c0
+	add e
+	ld e,a
+	jr nc,.noCarry\@
+	inc d
+.noCarry\@
+	set 3,h
+	ld bc,$050c
+	jp $1848
+
+; function to load data from the map header
+LoadMapHeader: ; 107C
+	ld b,$03
+	ld hl,$7113
+	call Bankswitch
+	ld a,[W_CURMAPTILESET]
+	ld [$d119],a
+	ld a,[W_CURMAP]
+	call SwitchToMapRomBank
+	ld a,[W_CURMAPTILESET]
+	ld b,a
+	res 7,a
+	ld [W_CURMAPTILESET],a
+	ld [$ff8b],a
+	bit 7,b
+	ret nz
+	ld hl,MapHeaderPointers
+	ld a,[W_CURMAP]
+	sla a
+	jr nc,.noCarry1\@
+	inc h
+.noCarry1\@
+	add l
+	ld l,a
+	jr nc,.noCarry2\@
+	inc h
+.noCarry2\@
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a ; hl = base of map header
+; copy the first 10 bytes (the fixed area) of the map data to D367-D370
+	ld de,$d367
+	ld c,$0a
+.copyFixedHeaderLoop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec c
+	jr nz,.copyFixedHeaderLoop\@
+; initialize all the connected maps to disabled at first, before loading the actual values
+	ld a,$ff
+	ld [$d371],a
+	ld [$d37c],a
+	ld [$d387],a
+	ld [$d392],a
+; copy connection data (if any) to WRAM
+	ld a,[W_MAPCONNECTIONS]
+	ld b,a
+.checkNorth\@
+	bit 3,b
+	jr z,.checkSouth\@
+	ld de,W_MAPCONN1PTR
+	call CopyMapConnectionHeader
+.checkSouth\@
+	bit 2,b
+	jr z,.checkWest\@
+	ld de,W_MAPCONN2PTR
+	call CopyMapConnectionHeader
+.checkWest\@
+	bit 1,b
+	jr z,.checkEast\@
+	ld de,W_MAPCONN3PTR
+	call CopyMapConnectionHeader
+.checkEast\@
+	bit 0,b
+	jr z,.getObjectDataPointer\@
+	ld de,W_MAPCONN4PTR
+	call CopyMapConnectionHeader
+.getObjectDataPointer\@
+	ld a,[hli]
+	ld [$d3a9],a
+	ld a,[hli]
+	ld [$d3aa],a
+	push hl
+	ld a,[$d3a9]
+	ld l,a
+	ld a,[$d3aa]
+	ld h,a ; hl = base of object data
+	ld de,$d3ad ; background tile ID
+	ld a,[hli]
+	ld [de],a ; save background tile ID
+.loadWarpData\@
+	ld a,[hli] ; number of warps
+	ld [$d3ae],a ; save the number of warps
+	and a ; are there any warps?
+	jr z,.loadSignData\@ ; if not, skip this
+	ld c,a
+	ld de,$d3af ; base address of warps
+.warpLoop\@ ; one warp per loop iteration
+	ld b,$04
+.warpInnerLoop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec b
+	jr nz,.warpInnerLoop\@
+	dec c
+	jr nz,.warpLoop\@
+.loadSignData\@
+	ld a,[hli] ; number of signs
+	ld [$d4b0],a ; save the number of signs
+	and a ; are there any signs?
+	jr z,.loadSpriteData\@ ; if not, skip this
+	ld c,a
+	ld de,$d4d1 ; base address of sign text IDs
+	ld a,d
+	ld [$ff95],a
+	ld a,e
+	ld [$ff96],a
+	ld de,$d4b1 ; base address of sign coordinates
+.signLoop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	ld a,[hli]
+	ld [de],a
+	inc de
+	push de
+	ld a,[$ff95]
+	ld d,a
+	ld a,[$ff96]
+	ld e,a
+	ld a,[hli]
+	ld [de],a
+	inc de
+	ld a,d
+	ld [$ff95],a
+	ld a,e
+	ld [$ff96],a
+	pop de
+	dec c
+	jr nz,.signLoop\@
+.loadSpriteData\@
+	ld a,[$d72e]
+	bit 5,a ; did a battle happen immediately before this?
+	jp nz,.finishUp\@ ; if so, skip this because battles don't destroy this data
+	ld a,[hli]
+	ld [$d4e1],a ; save the number of sprites
+	push hl
+; zero C110-C1FF and C210-C2FF
+	ld hl,$c110
+	ld de,$c210
+	xor a
+	ld b,$f0
+.zeroSpriteDataLoop\@
+	ld [hli],a
+	ld [de],a
+	inc e
+	dec b
+	jr nz,.zeroSpriteDataLoop\@
+; initialize all C100-C1FF sprite entries to disabled (other than player's)
+	ld hl,$c112
+	ld de,$0010
+	ld c,$0f
+.disableSpriteEntriesLoop\@
+	ld [hl],$ff
+	add hl,de
+	dec c
+	jr nz,.disableSpriteEntriesLoop\@
+	pop hl
+	ld de,$c110
+	ld a,[$d4e1] ; number of sprites
+	and a ; are there any sprites?
+	jp z,.finishUp\@ ; if there are no sprites, skip the rest
+	ld b,a
+	ld c,$00
+.loadSpriteLoop\@
+	ld a,[hli]
+	ld [de],a ; store picture ID at C1X0
+	inc d
+	ld a,$04
+	add e
+	ld e,a
+	ld a,[hli]
+	ld [de],a ; store Y position at C2X4
+	inc e
+	ld a,[hli]
+	ld [de],a ; store X position at C2X5
+	inc e
+	ld a,[hli]
+	ld [de],a ; store movement byte 1 at C2X6
+	ld a,[hli]
+	ld [$ff8d],a ; save movement byte 2
+	ld a,[hli]
+	ld [$ff8e],a ; save text ID and flags byte
+	push bc
+	push hl
+	ld b,$00
+	ld hl,$d4e4 ; base address of sprite entries
+	add hl,bc
+	ld a,[$ff8d]
+	ld [hli],a ; store movement byte 2 in byte 0 of sprite entry
+	ld a,[$ff8e]
+	ld [hl],a ; this appears pointless, since the value is overwritten immediately after
+	ld a,[$ff8e]
+	ld [$ff8d],a
+	and a,$3f
+	ld [hl],a ; store text ID in byte 1 of sprite entry
+	pop hl
+	ld a,[$ff8d]
+	bit 6,a
+	jr nz,.trainerSprite\@
+	bit 7,a
+	jr nz,.itemBallSprite\@
+	jr .regularSprite\@
+.trainerSprite\@
+	ld a,[hli]
+	ld [$ff8d],a ; save trainer class
+	ld a,[hli]
+	ld [$ff8e],a ; save trainer number (within class)
+	push hl
+	ld hl,$d504 ; base address of extra sprite info entries
+	add hl,bc
+	ld a,[$ff8d]
+	ld [hli],a ; store trainer class in byte 0 of the entry
+	ld a,[$ff8e]
+	ld [hl],a ; store trainer number in byte 1 of the entry
+	pop hl
+	jr .nextSprite\@
+.itemBallSprite\@
+	ld a,[hli]
+	ld [$ff8d],a ; save item number
+	push hl
+	ld hl,$d504 ; base address of extra sprite info
+	add hl,bc
+	ld a,[$ff8d]
+	ld [hli],a ; store item number in byte 0 of the entry
+	xor a
+	ld [hl],a ; zero byte 1, since it is not used
+	pop hl
+	jr .nextSprite\@
+.regularSprite\@
+	push hl
+	ld hl,$d504 ; base address of extra sprite info
+	add hl,bc
+; zero both bytes, since regular sprites don't use this extra space
+	xor a
+	ld [hli],a
+	ld [hl],a
+	pop hl
+.nextSprite\@
+	pop bc
+	dec d
+	ld a,$0a
+	add e
+	ld e,a
+	inc c
+	inc c
+	dec b
+	jp nz,.loadSpriteLoop\@
+.finishUp\@
+	ld a,$19
+	call Predef ; load tileset data
+	ld hl,$4eb8
+	ld b,$03
+	call Bankswitch ; load wild pokemon data
+	pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose)
+	ld a,[W_CURMAPHEIGHT] ; map height in 4x4 tile blocks
+	add a ; double it
+	ld [$d524],a ; store map height in 2x2 tile blocks
+	ld a,[W_CURMAPWIDTH] ; map width in 4x4 tile blocks
+	add a ; double it
+	ld [$d525],a ; map width in 2x2 tile blocks
+	ld a,[W_CURMAP]
+	ld c,a
+	ld b,$00
+	ld a,[$ffb8]
+	push af
+	ld a,$03
+	ld [$ffb8],a
+	ld [$2000],a
+	ld hl,$404d
+	add hl,bc
+	add hl,bc
+	ld a,[hli]
+	ld [$d35b],a ; music 1
+	ld a,[hl]
+	ld [$d35c],a ; music 2
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a
+	ret
+
+; function to copy map connection data from ROM to WRAM
+; Input: hl = source, de = destination
+CopyMapConnectionHeader: ; 1238
+	ld c,$0b
+.loop\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec c
+	jr nz,.loop\@
+	ret
+
+; function to load map data
+LoadMapData: ; 1241
+	ld a,[$ffb8]
+	push af
+	call DisableLCD
+	ld a,$98
+	ld [$d527],a
+	xor a
+	ld [$d526],a
+	ld [$ffaf],a
+	ld [$ffae],a
+	ld [W_WALKCOUNTER],a
+	ld [$d119],a
+	ld [$d11a],a
+	ld [$d3a8],a
+	call $36a0 ; transfer tile pattern data for text windows into VRAM
+	call LoadMapHeader
+	ld b,$05
+	ld hl,$785b
+	call Bankswitch ; load tile pattern data for sprites
+	call LoadTileBlockMap
+	call LoadTilesetTilePatternData
+	call LoadCurrentMapView
+; copy current map view to VRAM
+	ld hl,$c3a0
+	ld de,$9800
+	ld b,$12
+.vramCopyLoop\@
+	ld c,$14
+.vramCopyInnerLoop\@
+	ld a,[hli]
+	ld [de],a
+	inc e
+	dec c
+	jr nz,.vramCopyInnerLoop\@
+	ld a,$0c
+	add e
+	ld e,a
+	jr nc,.noCarry\@
+	inc d
+.noCarry\@
+	dec b
+	jr nz,.vramCopyLoop\@
+	ld a,$01
+	ld [$cfcb],a
+	call EnableLCD
+	ld b,$09
+	call $3def ; handle SGB palette
+	call LoadPlayerSpriteGraphics
+	ld a,[$d732]
+	and a,$18 ; did the player fly or teleport in?
+	jr nz,.restoreRomBank\@
+	ld a,[$d733]
+	bit 1,a
+	jr nz,.restoreRomBank\@
+	call $235f ; music related
+	call $2312 ; music related
+.restoreRomBank\@
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a
+	ret
+
+; function to switch to the ROM bank that a map is stored in
+; Input: a = map number
+SwitchToMapRomBank: ; 12BC
+	push hl
+	push bc
+	ld c,a
+	ld b,$00
+	ld a,$03
+	call BankswitchHome ; switch to ROM bank 3
+	ld hl,MapHeaderBanks
+	add hl,bc
+	ld a,[hl]
+	ld [$ffe8],a ; save map ROM bank
+	call BankswitchBack
+	ld a,[$ffe8]
+	ld [$ffb8],a
+	ld [$2000],a ; switch to map ROM bank
+	pop bc
+	pop hl
+	ret
+
+INCBIN "baserom.gbc",$12DA,$1627 - $12DA
+
+;XXX what does this do
+;XXX what points to this
+Unknown_1627: ; 0x1627
+	ld bc,$D0B8
+	add hl,bc
+	ld a,[hli]
+	ld [$D0AB],a
+	ld a,[hl]
+	ld [$D0AC],a
+
+Unknown_1633: ; 0x1633
+; define (by index number) the bank that a pokemon's image is in
+; index = Mew, bank 1
+; index = Kabutops fossil, bank $B
+;	index < $1F, bank 9
+; $1F ≤ index < $4A, bank $A
+; $4A ≤ index < $74, bank $B
+; $74 ≤ index < $99, bank $C
+; $99 ≤ index,       bank $D
+	ld a,[$CF91] ; XXX name for this ram location
+	ld b,a
+	cp $15
+	ld a,$01
+	jr z,.GotBank\@
+	ld a,b
+	cp $B6
+	ld a,$0B
+	jr z,.GotBank\@
+	ld a,b
+	cp $1F
+	ld a,$09
+	jr c,.GotBank\@
+	ld a,b
+	cp $4A
+	ld a,$0A
+	jr c,.GotBank\@
+	ld a,b
+	cp $74
+	ld a,$0B
+	jr c,.GotBank\@
+	ld a,b
+	cp $99
+	ld a,$0C
+	jr c,.GotBank\@
+	ld a,$0D
+.GotBank\@
+	jp $24FD
+
+INCBIN "baserom.gbc",$1665,$172F - $1665
+
+Tset0B_Coll: ; 0x172F
+	INCBIN "gfx/tilesets/0b.tilecoll"
+Tset00_Coll: ; 0x1735
+	INCBIN "gfx/tilesets/00.tilecoll"
+Tset01_Coll: ; 0x1749
+	INCBIN "gfx/tilesets/01.tilecoll"
+Tset02_Coll: ; 0x1753
+	INCBIN "gfx/tilesets/02.tilecoll"
+Tset05_Coll: ; 0x1759
+	INCBIN "gfx/tilesets/05.tilecoll"
+Tset03_Coll: ; 0x1765
+	INCBIN "gfx/tilesets/03.tilecoll"
+Tset08_Coll: ; 0x1775
+	INCBIN "gfx/tilesets/08.tilecoll"
+Tset09_Coll: ; 0x177f
+	INCBIN "gfx/tilesets/09.tilecoll"
+Tset0D_Coll: ; 0x178a
+	INCBIN "gfx/tilesets/0d.tilecoll"
+Tset0E_Coll: ; 0x1795
+	INCBIN "gfx/tilesets/0e.tilecoll"
+Tset0F_Coll: ; 0x179a
+	INCBIN "gfx/tilesets/0f.tilecoll"
+Tset10_Coll: ; 0x17a2
+	INCBIN "gfx/tilesets/10.tilecoll"
+Tset11_Coll: ; 0x17ac
+	INCBIN "gfx/tilesets/11.tilecoll"
+Tset12_Coll: ; 0x17b8
+	INCBIN "gfx/tilesets/12.tilecoll"
+Tset13_Coll: ; 0x17c0
+	INCBIN "gfx/tilesets/13.tilecoll"
+Tset14_Coll: ; 0x17ca
+	INCBIN "gfx/tilesets/14.tilecoll"
+Tset15_Coll: ; 0x17d1
+	INCBIN "gfx/tilesets/15.tilecoll"
+Tset16_Coll: ; 0x17dd
+	INCBIN "gfx/tilesets/16.tilecoll"
+Tset17_Coll: ; 0x17f0
+	INCBIN "gfx/tilesets/17.tilecoll"
+;Tile Collision ends 0x17f7
+
+INCBIN "baserom.gbc",$17F7,$190F-$17F7
+
+ClearScreen: ; 190F
+; clears all tiles in the tilemap,
+; then wait three frames
+	ld bc,$0168 ; tilemap size
+	inc b
+	ld hl,$C3A0 ; TILEMAP_START
+	ld a,$7F    ; $7F is blank tile
+.loop\@
+	ld [hli],a
+	dec c
+	jr nz,.loop\@
+	dec b
+	jr nz,.loop\@
+	jp Delay3
+
+TextBoxBorder: ; 1922
+; draw a text box
+; upper-left corner at coordinates hl
+; height b
+; width c
+
+	; first row
+	push hl
+	ld a,"┌"
+	ld [hli],a
+	inc a    ; horizontal border ─
+	call NPlaceChar
+	inc a    ; upper-right border ┐
+	ld [hl],a
+
+	; middle rows
+	pop hl
+	ld de,20
+	add hl,de ; skip the top row
+
+.PlaceRow\@
+	push hl
+	ld a,"│"
+	ld [hli],a
+	ld a," "
+	call NPlaceChar
+	ld [hl],"│"
+
+	pop hl
+	ld de,20
+	add hl,de ; move to next row
+	dec b
+	jr nz,.PlaceRow\@
+
+	; bottom row
+	ld a,"└"
+	ld [hli],a
+	ld a,"─"
+	call NPlaceChar
+	ld [hl],"┘"
+	ret
+;
+NPlaceChar: ; 0x194f
+; place a row of width c of identical characters
+	ld d,c
+.loop\@
+	ld [hli],a
+	dec d
+	jr nz,.loop\@
+	ret
+
+PlaceString: ; 1955
+	push hl
+PlaceNextChar: ; 1956
+	ld a,[de]
+
+	cp "@"
+	jr nz,.PlaceText\@
+	ld b,h
+	ld c,l
+	pop hl
+	ret
+
+.PlaceText\@
+	cp $4E
+	jr nz,.next\@
+	ld bc,$0028
+	ld a,[$FFF6]
+	bit 2,a
+	jr z,.next2\@
+	ld bc,$14
+.next2\@
+	pop hl
+	add hl,bc
+	push hl
+	jp Next19E8
+
+.next\@
+	cp $4F
+	jr nz,.next3\@
+	pop hl
+	ld hl,$C4E1
+	push hl
+	jp Next19E8
+
+.next3\@ ; Check against a dictionary
+	and a
+	jp z,Char00
+	cp $4C
+	jp z,$1B0A
+	cp $4B
+	jp z,Char4B
+	cp $51
+	jp z,Char51
+	cp $49
+	jp z,Char49
+	cp $52
+	jp z,Char52
+	cp $53
+	jp z,Char53
+	cp $54
+	jp z,Char54
+	cp $5B
+	jp z,Char5B
+	cp $5E
+	jp z,Char5E
+	cp $5C
+	jp z,Char5C
+	cp $5D
+	jp z,Char5D
+	cp $55
+	jp z,$1A7C
+	cp $56
+	jp z,Char56
+	cp $57
+	jp z,$1AAD
+	cp $58
+	jp z,Char58
+	cp $4A
+	jp z,Char4A
+	cp $5F
+	jp z,Char5F
+	cp $59
+	jp z,Char59
+	cp $5A
+	jp z,Char5A
+	ld [hli],a
+	call $38D3
+Next19E8: ; 0x19e8
+	inc de
+	jp PlaceNextChar
+
+Char00: ; 0x19ec
+	ld b,h
+	ld c,l
+	pop hl
+	ld de,Char00Text
+	dec de
+	ret
+
+Char00Text: ; 0x19f4 “%d ERROR.”
+	TX_FAR _Char00Text
+	db "@"
+
+Char52: ; 0x19f9 player’s name
+	push de
+	ld de,W_PLAYERNAME
+	jr FinishDTE
+
+Char53: ; rival’s name
+	push de
+	ld de,W_RIVALNAME
+	jr FinishDTE
+
+Char5D: ; TRAINER
+	push de
+	ld de,Char5DText
+	jr FinishDTE
+
+Char5C: ; TM
+	push de
+	ld de,Char5CText
+	jr FinishDTE
+
+Char5B: ; PC
+	push de
+	ld de,Char5BText
+	jr FinishDTE
+
+Char5E: ; ROCKET
+	push de
+	ld de,Char5EText
+	jr FinishDTE
+
+Char54: ; POKé
+	push de
+	ld de,Char54Text
+	jr FinishDTE
+
+Char56: ; ……
+	push de
+	ld de,Char56Text
+	jr FinishDTE
+
+Char4A: ; PKMN
+	push de
+	ld de,Char4AText
+	jr FinishDTE
+
+Char59:
+; depending on whose turn it is, print
+; enemy active monster’s name, prefixed with “Enemy ”
+; or
+; player active monster’s name
+; (like Char5A but flipped)
+	ld a,[H_WHOSETURN]
+	xor 1
+	jr MonsterNameCharsCommon
+
+Char5A:
+; depending on whose turn it is, print
+; player active monster’s name
+; or
+; enemy active monster’s name, prefixed with “Enemy ”
+	ld a,[H_WHOSETURN]
+MonsterNameCharsCommon:
+	push de
+	and a
+	jr nz,.Enemy\@
+	ld de,$D009 ; player active monster name
+	jr FinishDTE
+
+.Enemy\@ ; 1A40
+	; print “Enemy ”
+	ld de,Char5AText
+	call PlaceString
+
+	ld h,b
+	ld l,c
+	ld de,$CFDA ; enemy active monster name
+
+FinishDTE:
+	call PlaceString
+	ld h,b
+	ld l,c
+	pop de
+	inc de
+	jp PlaceNextChar
+
+Char5CText: ; 0x1a55
+	db "TM@"
+Char5DText: ; 0x1a58
+	db "TRAINER@"
+Char5BText: ; 0x1a60
+	db "PC@"
+Char5EText: ; 0x1a63
+	db "ROCKET@"
+Char54Text: ; 0x1a6a
+	db "POKé@"
+Char56Text: ; 0x1a70
+	db "……@"
+Char5AText: ; 0x1a72
+	db "Enemy @"
+Char4AText: ; 0x1a79
+	db $E1,$E2,"@" ; PKMN
+
+Char55: ; 0x1a7c
+	push de
+	ld b,h
+	ld c,l
+	ld hl,Char55Text
+	call $1B40
+	ld h,b
+	ld l,c
+	pop de
+	inc de
+	jp PlaceNextChar
+
+Char55Text: ; 0x1a8c
+; equivalent to Char4B
+	TX_FAR _Char55Text
+	db "@"
+
+Char5F: ; 0x1a91
+; ends a Pokédex entry
+	ld [hl],"."
+	pop hl
+	ret
+
+Char58: ; 0x1a95
+	ld a,[$D12B]
+	cp 4
+	jp z,Next1AA2
+	ld a,$EE
+	ld [$C4F2],a
+Next1AA2: ; 0x1aa2
+	call ProtectedDelay3
+	call $3898
+	ld a,$7F
+	ld [$C4F2],a
+	pop hl
+	ld de,Char58Text
+	dec de
+	ret
+
+Char58Text: ; 0x1ab3
+	db "@"
+
+Char51: ; 0x1ab4
+	push de
+	ld a,$EE
+	ld [$C4F2],a
+	call ProtectedDelay3
+	call $3898
+	ld hl,$C4A5
+	ld bc,$0412
+	call $18C4
+	ld c,$14
+	call DelayFrames
+	pop de
+	ld hl,$C4B9
+	jp Next19E8
+
+Char49: ; 0x1ad5
+	push de
+	ld a,$EE
+	ld [$C4F2],a
+	call ProtectedDelay3
+	call $3898
+	ld hl,$C469
+	ld bc,$0712
+	call $18C4
+	ld c,$14
+	call DelayFrames
+	pop de
+	pop hl
+	ld hl,$C47D
+	push hl
+	jp Next19E8
+
+Char4B: ; 0x1af8
+	ld a,$EE
+	ld [$C4F2],a
+	call ProtectedDelay3
+	push de
+	call $3898
+	pop de
+	ld a,$7F
+	ld [$C4F2],a
+	push de
+	call Next1B18
+	call Next1B18
+	ld hl,$C4E1
+	pop de
+	jp Next19E8
+
+Next1B18: ; 0x1b18
+	ld hl,$C4B8
+	ld de,$C4A4
+	ld b,$3C
+.next\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	dec b
+	jr nz,.next\@
+	ld hl,$C4E1
+	ld a,$7F
+	ld b,$12
+.next2\@
+	ld [hli],a
+	dec b
+	jr nz,.next2\@
+
+	; wait five frames
+	ld b,5
+.WaitFrame\@
+	call DelayFrame
+	dec b
+	jr nz,.WaitFrame\@
+
+	ret
+
+ProtectedDelay3: ; 0x1b3a
+	push bc
+	call Delay3
+	pop bc
+	ret
+
+TextCommandProcessor: ; 1B40
+	ld a,[$d358]
+	push af
+	set 1,a
+	ld e,a
+	ld a,[$fff4]
+	xor e
+	ld [$d358],a
+	ld a,c
+	ld [$cc3a],a
+	ld a,b
+	ld [$cc3b],a
+
+NextTextCommand: ; 1B55
+	ld a,[hli]
+	cp a,$50 ; terminator
+	jr nz,.doTextCommand\@
+	pop af
+	ld [$d358],a
+	ret
+.doTextCommand\@
+	push hl
+	cp a,$17
+	jp z,TextCommand17
+	cp a,$0e
+	jp nc,TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB
+; if a < 0xE, use a jump table
+	ld hl,TextCommandJumpTable
+	push bc
+	add a
+	ld b,$00
+	ld c,a
+	add hl,bc
+	pop bc
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	jp [hl]
+
+; draw box
+; 04AAAABBCC
+; AAAA = address of upper left corner
+; BB = height
+; CC = width
+TextCommand04: ; 1B78
+	pop hl
+	ld a,[hli]
+	ld e,a
+	ld a,[hli]
+	ld d,a
+	ld a,[hli]
+	ld b,a
+	ld a,[hli]
+	ld c,a
+	push hl
+	ld h,d
+	ld l,e
+	call TextBoxBorder
+	pop hl
+	jr NextTextCommand
+
+; place string inline
+; 00{string}
+TextCommand00: ; 1B8A
+	pop hl
+	ld d,h
+	ld e,l
+	ld h,b
+	ld l,c
+	call PlaceString
+	ld h,d
+	ld l,e
+	inc hl
+	jr NextTextCommand
+
+; place string from RAM
+; 01AAAA
+; AAAA = address of string
+TextCommand01: ; 1B97
+	pop hl
+	ld a,[hli]
+	ld e,a
+	ld a,[hli]
+	ld d,a
+	push hl
+	ld h,b
+	ld l,c
+	call PlaceString
+	pop hl
+	jr NextTextCommand
+
+; print BCD number
+; 02AAAABB
+; AAAA = address of BCD number
+; BB
+; bits 0-4 = length in bytes
+; bits 5-7 = unknown flags
+TextCommand02: ; 1BA5
+	pop hl
+	ld a,[hli]
+	ld e,a
+	ld a,[hli]
+	ld d,a
+	ld a,[hli]
+	push hl
+	ld h,b
+	ld l,c
+	ld c,a
+	call $15cd
+	ld b,h
+	ld c,l
+	pop hl
+	jr NextTextCommand
+
+; repoint destination address
+; 03AAAA
+; AAAA = new destination address
+TextCommand03: ; 1BB7
+	pop hl
+	ld a,[hli]
+	ld [$cc3a],a
+	ld c,a
+	ld a,[hli]
+	ld [$cc3b],a
+	ld b,a
+	jp NextTextCommand
+
+; repoint destination to second line of dialogue text box
+; 05
+; (no arguments)
+TextCommand05: ; 1BC5
+	pop hl
+	ld bc,$c4e1 ; address of second line of dialogue text box
+	jp NextTextCommand
+
+; blink arrow and wait for A or B to be pressed
+; 06
+; (no arguments)
+TextCommand06: ; 1BCC
+	ld a,[W_ISLINKBATTLE]
+	cp a,$04
+	jp z,TextCommand0D
+	ld a,$ee ; down arrow
+	ld [$c4f2],a ; place down arrow in lower right corner of dialogue text box
+	push bc
+	call $3898 ; blink arrow and wait for A or B to be pressed
+	pop bc
+	ld a,$7f ; blank space
+	ld [$c4f2],a ; overwrite down arrow with blank space
+	pop hl
+	jp NextTextCommand
+
+; scroll text up one line
+; 07
+; (no arguments)
+TextCommand07: ; 1BE7
+	ld a,$7f ; blank space
+	ld [$c4f2],a ; place blank space in lower right corner of dialogue text box
+	call $1b18 ; scroll up text
+	call $1b18
+	pop hl
+	ld bc,$c4e1 ; address of second line of dialogue text box
+	jp NextTextCommand
+
+; execute asm inline
+; 08{code}
+TextCommand08: ; 1BF9
+	pop hl
+	ld de,NextTextCommand
+	push de ; return address
+	jp [hl]
+
+; print decimal number (converted from binary number)
+; 09AAAABB
+; AAAA = address of number
+; BB
+; bits 0-3 = how many digits to display
+; bits 4-7 = how long the number is in bytes
+TextCommand09: ; 1BFF
+	pop hl
+	ld a,[hli]
+	ld e,a
+	ld a,[hli]
+	ld d,a
+	ld a,[hli]
+	push hl
+	ld h,b
+	ld l,c
+	ld b,a
+	and a,$0f
+	ld c,a
+	ld a,b
+	and a,$f0
+	swap a
+	set 6,a
+	ld b,a
+	call $3c5f
+	ld b,h
+	ld c,l
+	pop hl
+	jp NextTextCommand
+
+; wait half a second if the user doesn't hold A or B
+; 0A
+; (no arguments)
+TextCommand0A: ; 1C1D
+	push bc
+	call GetJoypadState
+	ld a,[$ffb4]
+	and a,%00000011 ; A and B buttons
+	jr nz,.skipDelay\@
+	ld c,30
+	call DelayFrames
+.skipDelay\@
+	pop bc
+	pop hl
+	jp NextTextCommand
+
+; plays sounds
+; this actually handles various command ID's, not just 0B
+; (no arguments)
+TextCommand0B: ; 1C31
+	pop hl
+	push bc
+	dec hl
+	ld a,[hli]
+	ld b,a ; b = command number that got us here
+	push hl
+	ld hl,TextCommandSounds
+.loop\@
+	ld a,[hli]
+	cp b
+	jr z,.matchFound\@
+	inc hl
+	jr .loop\@
+.matchFound\@
+	cp a,$14
+	jr z,.pokemonCry\@
+	cp a,$15
+	jr z,.pokemonCry\@
+	cp a,$16
+	jr z,.pokemonCry\@
+	ld a,[hl]
+	call $23b1
+	call $3748
+	pop hl
+	pop bc
+	jp NextTextCommand
+.pokemonCry\@
+	push de
+	ld a,[hl]
+	call $13d0
+	pop de
+	pop hl
+	pop bc
+	jp NextTextCommand
+
+; format: text command ID, sound ID or cry ID
+TextCommandSounds: ; 1C64
+db $0B,$86
+db $12,$9A
+db $0E,$91
+db $0F,$86
+db $10,$89
+db $11,$94
+db $13,$98
+db $14,$A8
+db $15,$97
+db $16,$78
+
+; draw ellipses
+; 0CAA
+; AA = number of ellipses to draw
+TextCommand0C: ; 1C78
+	pop hl
+	ld a,[hli]
+	ld d,a
+	push hl
+	ld h,b
+	ld l,c
+.loop\@
+	ld a,$75 ; ellipsis
+	ld [hli],a
+	push de
+	call GetJoypadState
+	pop de
+	ld a,[$ffb4] ; joypad state
+	and a,%00000011 ; is A or B button pressed?
+	jr nz,.skipDelay\@ ; if so, skip the delay
+	ld c,10
+	call DelayFrames
+.skipDelay\@
+	dec d
+	jr nz,.loop\@
+	ld b,h
+	ld c,l
+	pop hl
+	jp NextTextCommand
+
+; wait for A or B to be pressed
+; 0D
+; (no arguments)
+TextCommand0D: ; 1C9A
+	push bc
+	call $3898 ; wait for A or B to be pressed
+	pop bc
+	pop hl
+	jp NextTextCommand
+
+; process text commands in another ROM bank
+; 17AAAABB
+; AAAA = address of text commands
+; BB = bank
+TextCommand17: ; 1CA3
+	pop hl
+	ld a,[$ffb8]
+	push af
+	ld a,[hli]
+	ld e,a
+	ld a,[hli]
+	ld d,a
+	ld a,[hli]
+	ld [$ffb8],a
+	ld [$2000],a
+	push hl
+	ld l,e
+	ld h,d
+	call TextCommandProcessor
+	pop hl
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a
+	jp NextTextCommand
+
+TextCommandJumpTable: ; 1CC1
+dw TextCommand00
+dw TextCommand01
+dw TextCommand02
+dw TextCommand03
+dw TextCommand04
+dw TextCommand05
+dw TextCommand06
+dw TextCommand07
+dw TextCommand08
+dw TextCommand09
+dw TextCommand0A
+dw TextCommand0B
+dw TextCommand0C
+dw TextCommand0D
+
+; this function seems to be used only once
+; it store the address of a row and column of the VRAM background map in hl
+; INPUT: h - row, l - column, b - high byte of background tile map address in VRAM
+GetRowColAddressBgMap: ; 1CDD
+	xor a
+	srl h
+	rr a
+	srl h
+	rr a
+	srl h
+	rr a
+	or l
+	ld l,a
+	ld a,b
+	or h
+	ld h,a
+	ret
+
+; clears a VRAM background map with blank space tiles
+; INPUT: h - high byte of background tile map address in VRAM
+ClearBgMap: ; 1CF0
+	ld a,$7f ; blank space
+	jr .next\@
+	ld a,l ; XXX does anything call this?
+.next\@
+	ld de,$400 ; size of VRAM background map
+	ld l,e
+.loop\@
+	ld [hli],a
+	dec e
+	jr nz,.loop\@
+	dec d
+	jr nz,.loop\@
+	ret
+
+INCBIN "baserom.gbc",$1D01,$1F54 - $1D01
+
+; initialization code
+; explanation for %11100011 (value stored in rLCDC)
+; * LCD enabled
+; * Window tile map at $9C00
+; * Window display enabled
+; * BG and window tile data at $8800
+; * BG tile map at $9800
+; * 8x8 OBJ size
+; * OBJ display enabled
+; * BG display enabled
+InitGame: ; 1F54
+	di
+; zero I/O registers
+	xor a
+	ld [$ff0f],a
+	ld [$ffff],a
+	ld [$ff43],a
+	ld [$ff42],a
+	ld [$ff01],a
+	ld [$ff02],a
+	ld [$ff4b],a
+	ld [$ff4a],a
+	ld [$ff06],a
+	ld [$ff07],a
+	ld [$ff47],a
+	ld [$ff48],a
+	ld [$ff49],a
+	ld a,%10000000 ; enable LCD
+	ld [rLCDC],a
+	call DisableLCD ; why enable then disable?
+	ld sp,$dfff ; initialize stack pointer
+	ld hl,$c000 ; start of WRAM
+	ld bc,$2000 ; size of WRAM
+.zeroWramLoop\@
+	ld [hl],0
+	inc hl
+	dec bc
+	ld a,b
+	or c
+	jr nz,.zeroWramLoop\@
+	call ZeroVram
+	ld hl,$ff80
+	ld bc,$007f
+	call $36e0 ; zero HRAM
+	call CleanLCD_OAM ; this is unnecessary since it was already cleared above
+	ld a,$01
+	ld [$ffb8],a
+	ld [$2000],a
+	call $4bed ; copy DMA code to HRAM
+	xor a
+	ld [$ffd7],a
+	ld [$ff41],a
+	ld [$ffae],a
+	ld [$ffaf],a
+	ld [$ff0f],a
+	ld a,%00001101 ; enable V-blank, timer, and serial interrupts
+	ld [rIE],a
+	ld a,$90 ; put the window off the screen
+	ld [$ffb0],a
+	ld [rWX],a
+	ld a,$07
+	ld [rWY],a
+	ld a,$ff
+	ld [$ffaa],a
+	ld h,$98
+	call ClearBgMap ; fill $9800-$9BFF (BG tile map) with $7F tiles
+	ld h,$9c
+	call ClearBgMap ; fill $9C00-$9FFF (Window tile map) with $7F tiles
+	ld a,%11100011
+	ld [rLCDC],a ; enabled LCD
+	ld a,$10
+	ld [$ff8a],a
+	call $200e
+	ei
+	ld a,$40
+	call Predef ; SGB border
+	ld a,$1f
+	ld [$c0ef],a
+	ld [$c0f0],a
+	ld a,$9c
+	ld [$ffbd],a
+	xor a
+	ld [$ffbc],a
+	dec a
+	ld [$cfcb],a
+	ld a,$32
+	call Predef ; display the copyrights, GameFreak logo, and battle animation
+	call DisableLCD
+	call ZeroVram
+	call $3ddc
+	call CleanLCD_OAM
+	ld a,%11100011
+	ld [rLCDC],a ; enable LCD
+	jp $42b7
+
+; zeroes all VRAM
+ZeroVram: ; 2004
+	ld hl,$8000
+	ld bc,$2000
+	xor a
+	jp $36e0
+
+INCBIN "baserom.gbc",$200E,$20AF - $200E
+
+DelayFrame: ; 20AF
+; delay for one frame
+	ld a,1
+	ld [$FFD6],a
+
+; wait for the next Vblank, halting to conserve battery
+.halt\@
+	db $76 ; XXX this is a hack--rgbasm adds a nop after this instr even when ints are enabled
+	ld a,[$FFD6]
+	and a
+	jr nz,.halt\@
+
+	ret
+
+; These routines manage gradual fading
+; (e.g., entering a doorway)
+LoadGBPal: ; 20BA
+	ld a,[$d35d] ;tells if cur.map is dark (requires HM5_FLASH?)
+	ld b,a
+	ld hl,GBPalTable_00	;16
+	ld a,l
+	sub b
+	ld l,a
+	jr nc,.jr0\@
+	dec h
+.jr0\@
+	ld a,[hli]
+	ld [rBGP],a
+	ld a,[hli]
+	ld [rOBP0],a
+	ld a,[hli]
+	ld [rOBP1],a
+	ret
+
+GBFadeOut1: ; 20D1
+	ld hl,IncGradGBPalTable_01	;0d
+	ld b,$04
+	jr GBFadeOutCommon
+
+GBFadeOut2: ; 20D8
+	ld hl,IncGradGBPalTable_02	;1c
+	ld b,$03
+
+GBFadeOutCommon: ; 0x20dd
+	ld a,[hli]
+	ld [rBGP],a
+	ld a,[hli]
+	ld [rOBP0],a
+	ld a,[hli]
+	ld [rOBP1],a
+	ld c,8
+	call DelayFrames
+	dec b
+	jr nz,GBFadeOutCommon
+	ret
+
+GBFadeIn1: ; 20EF
+	ld hl,DecGradGBPalTable_01	;18
+	ld b,$04
+	jr GBFadeInCommon
+
+GBFadeIn2: ; 20F6
+	ld hl,DecGradGBPalTable_02	;21
+	ld b,$03
+
+GBFadeInCommon: ; 0x20fb
+	ld a,[hld]
+	ld [rOBP1],a
+	ld a,[hld]
+	ld [rOBP0],a
+	ld a,[hld]
+	ld [rBGP],a
+	ld c,8
+	call DelayFrames
+	dec b
+	jr nz,GBFadeInCommon
+	ret
+
+IncGradGBPalTable_01: ; 210D
+	db %11111111 ;BG Pal
+	db %11111111 ;OBJ Pal 1
+	db %11111111 ;OBJ Pal 2
+                     ;and so on...
+	db %11111110
+	db %11111110
+	db %11111000
+
+	db %11111001
+	db %11100100
+	db %11100100
+GBPalTable_00: ; 0x2116 16
+	db %11100100
+	db %11010000
+DecGradGBPalTable_01: ; 0x2118 18
+	db %11100000
+	;19
+	db %11100100
+	db %11010000
+	db %11100000
+IncGradGBPalTable_02: ; 0x211c
+	db %10010000
+	db %10000000
+	db %10010000
+
+	db %01000000
+	db %01000000
+DecGradGBPalTable_02: ; 0x2121
+	db %01000000
+
+	db %00000000
+	db %00000000
+	db %00000000
+
+INCBIN "baserom.gbc",$2125,$2442 - $2125
+
+; XXX where is the pointer to this data?
+MartInventories: ; 2442
+	; first byte $FE, next byte # of items, last byte $FF
+
+; Viridian
+ViridianMartText4: ; 2442 XXX confirm
+	db $FE,4,POKE_BALL,ANTIDOTE,PARLYZ_HEAL,BURN_HEAL,$FF
+
+; Pewter
+PewterMartText1: ; 2449
+	db $FE,7,POKE_BALL,POTION,ESCAPE_ROPE,ANTIDOTE,BURN_HEAL,AWAKENING
+	db PARLYZ_HEAL,$FF
+
+; Cerulean
+CeruleanMartText1: ; 2453
+	db $FE,7,POKE_BALL,POTION,REPEL,ANTIDOTE,BURN_HEAL,AWAKENING
+	db PARLYZ_HEAL,$FF
+
+; Bike shop
+	db $FE,1,BICYCLE,$FF
+
+; Vermilion
+VermilionMartText1: ; 2461
+	db $FE,6,POKE_BALL,SUPER_POTION,ICE_HEAL,AWAKENING,PARLYZ_HEAL
+	db REPEL,$FF
+
+; Lavender
+LavenderMartText1: ; 246a
+	db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,ESCAPE_ROPE,SUPER_REPEL
+	db ANTIDOTE,BURN_HEAL,ICE_HEAL,PARLYZ_HEAL,$FF
+
+; Celadon Dept. Store 2F (1)
+CeladonMart2Text1: ; 2476
+	db $FE,9,GREAT_BALL,SUPER_POTION,REVIVE,SUPER_REPEL,ANTIDOTE
+	db BURN_HEAL,ICE_HEAL,AWAKENING,PARLYZ_HEAL,$FF
+
+; Celadon Dept. Store 2F (2)
+CeladonMart2Text2: ; 2482
+	db $FE,9,TM_32,TM_33,TM_02,TM_07,TM_37,TM_01,TM_05,TM_09,TM_17,$FF
+
+; Celadon Dept. Store 4F
+CeladonMart4Text1: ; 248e
+	db $FE,5,POKE_DOLL,FIRE_STONE,THUNDER_STONE,WATER_STONE,LEAF_STONE,$FF
+
+; Celadon Dept. Store 5F (1)
+CeladonMart5Text3: ; 2496
+	db $FE,7,X_ACCURACY,GUARD_SPEC_,DIRE_HIT,X_ATTACK,X_DEFEND,X_SPEED
+	db X_SPECIAL,$FF
+
+; Celadon Dept. Store 5F (2)
+CeladonMart5Text4: ; 24a0
+	db $FE,5,HP_UP,PROTEIN,IRON,CARBOS,CALCIUM,$FF
+
+; Fuchsia
+FuchsiaMartText1: ; 24a8
+	db $FE,6,ULTRA_BALL,GREAT_BALL,SUPER_POTION,REVIVE,FULL_HEAL
+	db SUPER_REPEL,$FF
+
+; unused? 24b1
+	db $FE,5,GREAT_BALL,HYPER_POTION,SUPER_POTION,FULL_HEAL,REVIVE,$FF
+
+; Cinnabar
+CinnabarMartText1: ; 24b9
+	db $FE,7,ULTRA_BALL,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE
+	db FULL_HEAL,REVIVE,$FF
+
+; Saffron
+SaffronMartText1: ; 24c3
+	db $FE,6,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE,FULL_HEAL
+	db REVIVE,$FF
+
+; Indigo
+IndigoPlateauLobbyText4: ; 24cc
+	db $FE,7,ULTRA_BALL,GREAT_BALL,FULL_RESTORE,MAX_POTION,FULL_HEAL
+	db REVIVE,MAX_REPEL,$FF
+
+TextScriptEndingChar: ; 24D6
+	db "@"
+TextScriptEnd: ; 24D7 24d7
+	ld hl,TextScriptEndingChar
+	ret
+
+UnnamedText_24db: ; 0x24db
+	TX_FAR _UnnamedText_24db
+	db $50
+; 0x24db + 5 bytes
+
+UnnamedText_24e0: ; 0x24e0
+	TX_FAR _UnnamedText_24e0
+	db $50
+; 0x24e0 + 5 bytes
+
+VictoryRoad3Text10:
+VictoryRoad3Text9:
+VictoryRoad3Text8:
+VictoryRoad3Text7:
+VictoryRoad2Text13:
+VictoryRoad2Text12:
+VictoryRoad2Text11:
+SeafoamIslands1Text2:
+SeafoamIslands1Text1:
+SeafoamIslands5Text2:
+SeafoamIslands5Text1:
+SeafoamIslands4Text6:
+SeafoamIslands4Text5:
+SeafoamIslands4Text4:
+SeafoamIslands4Text3:
+SeafoamIslands4Text2:
+SeafoamIslands4Text1:
+SeafoamIslands3Text2:
+SeafoamIslands3Text1:
+SeafoamIslands2Text2:
+SeafoamIslands2Text1:
+FuchsiaHouse2Text3:
+VictoryRoad1Text7:
+VictoryRoad1Text6:
+VictoryRoad1Text5: ; 0x24e5
+	TX_FAR _VictoryRoad1Text5
+	db $50
+
+SaffronCityText19:
+CinnabarIslandText4:
+FuchsiaCityText14:
+VermilionCityText9:
+LavenderTownText6:
+CeruleanCityText14:
+PewterCityText8:
+ViridianCityText11: ; 0x24ea
+	TX_FAR _ViridianCityText11
+	db $50
+
+PewterCityText9:
+CeruleanCityText15:
+LavenderTownText7:
+VermilionCityText10:
+CeladonCityText12:
+FuchsiaCityText15:
+CinnabarIslandText5:
+SaffronCityText23:
+Route4Text4:
+Route10Text8:
+ViridianCityText12: ; 0x24ef
+	TX_FAR _ViridianCityText12
+	db $50
+
+Route2Text1:
+Route4Text3:
+Route9Text10:
+Route12Text9:
+Route12Text10:
+Route15Text11:
+Route24Text8:
+Route25Text10:
+ViridianGymText11:
+ViridianForestText5:
+ViridianForestText6:
+ViridianForestText7:
+MtMoon1Text8:
+MtMoon1Text9:
+MtMoon1Text10:
+MtMoon1Text11:
+MtMoon1Text12:
+MtMoon1Text13:
+MtMoon3Text8:
+MtMoon3Text9:
+PowerPlantText10:
+PowerPlantText11:
+PowerPlantText12:
+PowerPlantText13:
+PowerPlantText14:
+SSAnne8Text10:
+SSAnne9Text6:
+SSAnne9Text9:
+SSAnne10Text9:
+SSAnne10Text10:
+SSAnne10Text11:
+VictoryRoad1Text3:
+VictoryRoad1Text4:
+PokemonTower3Text4:
+PokemonTower4Text4:
+PokemonTower4Text5:
+PokemonTower4Text6:
+PokemonTower5Text6:
+PokemonTower6Text4:
+PokemonTower6Text5:
+FuchsiaHouse2Text2:
+VictoryRoad2Text7:
+VictoryRoad2Text8:
+VictoryRoad2Text9:
+VictoryRoad2Text10:
+VictoryRoad3Text5:
+VictoryRoad3Text6:
+RocketHideout1Text6:
+RocketHideout1Text7:
+RocketHideout2Text2:
+RocketHideout2Text3:
+RocketHideout2Text4:
+RocketHideout2Text5:
+RocketHideout3Text3:
+RocketHideout3Text4:
+RocketHideout4Text5:
+RocketHideout4Text6:
+RocketHideout4Text7:
+RocketHideout4Text8:
+RocketHideout4Text9:
+SilphCo3Text4:
+SilphCo4Text5:
+SilphCo4Text6:
+SilphCo4Text7:
+SilphCo5Text6:
+SilphCo5Text7:
+SilphCo5Text8:
+SilphCo6Text9:
+SilphCo6Text10:
+SilphCo7Text10:
+SilphCo7Text11:
+SilphCo7Text12:
+Mansion1Text2:
+Mansion1Text3:
+Mansion2Text2:
+Mansion3Text3:
+Mansion3Text4:
+Mansion4Text3:
+Mansion4Text4:
+Mansion4Text5:
+Mansion4Text6:
+Mansion4Text8:
+SafariZoneEastText1:
+SafariZoneEastText2:
+SafariZoneEastText3:
+SafariZoneEastText4:
+SafariZoneNorthText1:
+SafariZoneNorthText2:
+SafariZoneWestText1:
+SafariZoneWestText2:
+SafariZoneWestText3:
+SafariZoneWestText4:
+SafariZoneCenterText1:
+UnknownDungeon2Text1:
+UnknownDungeon2Text2:
+UnknownDungeon2Text3:
+UnknownDungeon3Text2:
+UnknownDungeon3Text3:
+UnknownDungeon1Text1:
+UnknownDungeon1Text2:
+UnknownDungeon1Text3:
+SilphCo10Text4:
+SilphCo10Text5:
+SilphCo10Text6:
+Route2Text2: ; 24f4 0x424f4
+	db $08 ; asm
+	ld a, $5c
+	call Predef
+	jp TextScriptEnd
+
+INCBIN "baserom.gbc",$24fd,$2920 - $24fd
+
+; this function is used to display sign messages, sprite dialog, etc.
+; INPUT: [$ff8c] = sprite ID or text ID
+DisplayTextID: ; 2920
+	ld a,[$ffb8]
+	push af
+	ld b,BANK(DisplayTextIDInit)
+	ld hl,DisplayTextIDInit ; initialization
+	call Bankswitch
+	ld hl,$cf11
+	bit 0,[hl]
+	res 0,[hl]
+	jr nz,.skipSwitchToMapBank\@
+	ld a,[W_CURMAP]
+	call SwitchToMapRomBank
+.skipSwitchToMapBank\@
+	ld a,$1e
+	ld [$ffd5],a ; joypad poll timer
+	ld hl,W_MAPTEXTPTR
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a ; hl = map text pointer
+	ld d,$00
+	ld a,[$ff8c] ; text ID
+	ld [$cf13],a
+	and a
+	jp z,$2acd
+	cp a,$d3 ; safari game over
+	jp z,$2a90
+	cp a,$d0 ; fainted
+	jp z,$2a9b
+	cp a,$d1 ; blacked out
+	jp z,$2aa9
+	cp a,$d2 ; repel wore off
+	jp z,$2abf
+	ld a,[$d4e1] ; number of sprites
+	ld e,a
+	ld a,[$ff8c] ; sprite ID
+	cp e
+	jr z,.spriteHandling\@
+	jr nc,.skipSpriteHandling\@
+.spriteHandling\@
+; get the text ID of the sprite
+	push hl
+	push de
+	push bc
+	ld b,$04
+	ld hl,$7074
+	call Bankswitch ; update the graphics of the sprite the player is talking to (to face the right direction)
+	pop bc
+	pop de
+	ld hl,$d4e4 ; NPC text entries
+	ld a,[$ff8c]
+	dec a
+	add a
+	add l
+	ld l,a
+	jr nc,.noCarry\@
+	inc h
+.noCarry\@
+	inc hl
+	ld a,[hl] ; a = text ID of the sprite
+	pop hl
+.skipSpriteHandling\@
+; look up the address of the text in the map's text entries
+	dec a
+	ld e,a
+	sla e
+	add hl,de
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	ld a,[hl] ; hl = address of the text
+; check for special cases
+	cp a,$fe   ; Pokemart NPC
+	jp z,$2a2e
+	cp a,$ff   ; Pokemon Center NPC
+	jp z,$2a72
+	cp a,$fc   ; Item Storage PC
+	jp z,$3460
+	cp a,$fd   ; Bill's PC
+	jp z,$346a
+	cp a,$f9   ; Pokemon Center PC
+	jp z,$347f
+	cp a,$f5   ; Vending Machine
+	jr nz,.notVendingMachine\@
+	ld b,$1d
+	ld hl,$4ee0
+	call Bankswitch
+	jr .skipTextDisplay\@
+.notVendingMachine\@
+	cp a,$f7   ; slot machine
+	jp z,$3474
+	cp a,$f6   ; cable connection NPC in Pokemon Center
+	jr nz,.notSpecialCase\@
+	ld hl,$71c5
+	ld b,$01
+	call Bankswitch
+	jr .skipTextDisplay\@
+.notSpecialCase\@
+	call $3c59 ; display the text
+	ld a,[$cc3c]
+	and a
+	jr nz,.holdBoxOpen\@
+.skipTextDisplay\@
+	ld a,[$cc47]
+	and a
+	jr nz,.holdBoxOpen\@
+	call $3865 ; wait for a button press after displaying all the text
+; loop to hold the dialogue box open as long as the player keeps holding down the A button
+.holdBoxOpen\@
+	call GetJoypadState
+	ld a,[$ffb4]
+	bit 0,a ; is the A button being pressed?
+	jr nz,.holdBoxOpen\@
+	ld a,[W_CURMAP]
+	call SwitchToMapRomBank
+	ld a,$90
+	ld [$ffb0],a ; move the window off the screen
+	call DelayFrame
+	call LoadGBPal
+	xor a
+	ld [$ffba],a ; disable continuous WRAM to VRAM transfer each V-blank
+; loop to make sprites face the directions they originally faced before the dialogue
+	ld hl,$c219
+	ld c,$0f
+	ld de,$0010
+.restoreSpriteFacingDirectionLoop\@
+	ld a,[hl]
+	dec h
+	ld [hl],a
+	inc h
+	add hl,de
+	dec c
+	jr nz,.restoreSpriteFacingDirectionLoop\@
+	ld a,$05
+	ld [$ffb8],a
+	ld [$2000],a
+	call $785b ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns)
+	ld hl,$cfc4
+	res 0,[hl]
+	ld a,[$d732]
+	bit 3,a
+	call z,LoadPlayerSpriteGraphics
+	call LoadCurrentMapView
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a
+	jp $2429 ; move sprites
+
+INCBIN "baserom.gbc",$2a2e,$2a55 - $2a2e
+
+UnnamedText_2a55: ; 0x2a55
+	TX_FAR _UnnamedText_2a55
+	db $50
+; 0x2a55 + 5 bytes
+
+INCBIN "baserom.gbc",$2a5a,$2aa4 - $2a5a
+
+UnnamedText_2aa4: ; 0x2aa4
+	TX_FAR _UnnamedText_2aa4
+	db $50
+; 0x2aa4 + 5 bytes
+
+INCBIN "baserom.gbc",$2aa9,$2aba - $2aa9
+
+UnnamedText_2aba: ; 0x2aba
+	TX_FAR _UnnamedText_2aba
+	db $50
+; 0x2aba + 5 bytes
+
+INCBIN "baserom.gbc",$2abf,$2ac8 - $2abf
+
+UnnamedText_2ac8: ; 0x2ac8
+	TX_FAR _UnnamedText_2ac8
+	db $50
+; 0x2ac8 + 5 bytes
+
+INCBIN "baserom.gbc",$2acd,$4d1
+
+GetMonName: ; 2F9E
+	push hl
+	ld a,[$ffb8]
+	push af
+	ld a,BANK(MonsterNames) ; 07
+	ld [$ffb8],a
+	ld [$2000],a
+	ld a,[$d11e]
+	dec a
+	ld hl,MonsterNames ; 421E
+	ld c,10
+	ld b,0
+	call AddNTimes
+	ld de,$cd6d
+	push de
+	ld bc,10
+	call CopyData
+	ld hl,$cd77
+	ld [hl],$50
+	pop de
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a
+	pop hl
+	ret
+
+GetItemName: ; 2FCF
+; given an item ID at [$D11E], store the name of the item into a string
+;     starting at $CD6D
+	push hl
+	push bc
+	ld a,[$D11E]
+	cp HM_01 ; is this a TM/HM?
+	jr nc,.Machine\@
+
+	ld [$D0B5],a
+	ld a,ITEM_NAME
+	ld [$D0B6],a
+	ld a,BANK(ItemNames)
+	ld [$D0B7],a
+	call GetName
+	jr .Finish\@
+
+.Machine\@
+	call GetMachineName
+.Finish\@
+	ld de,$CD6D ; pointer to where item name is stored in RAM
+	pop bc
+	pop hl
+	ret
+
+GetMachineName: ; 2ff3
+; copies the name of the TM/HM in [$D11E] to $CD6D
+	push hl
+	push de
+	push bc
+	ld a,[$D11E]
+	push af
+	cp TM_01 ; is this a TM? [not HM]
+	jr nc,.WriteTM\@
+; if HM, then write "HM" and add 5 to the item ID, so we can reuse the
+; TM printing code
+	add 5
+	ld [$D11E],a
+	ld hl,HiddenPrefix ; points to "HM"
+	ld bc,2
+	jr .WriteMachinePrefix\@
+.WriteTM\@
+	ld hl,TechnicalPrefix ; points to "TM"
+	ld bc,2
+.WriteMachinePrefix\@
+	ld de,$CD6D
+	call CopyData
+
+; now get the machine number and convert it to text
+	ld a,[$D11E]
+	sub TM_01 - 1
+	ld b,$F6 ; "0"
+.FirstDigit\@
+	sub 10
+	jr c,.SecondDigit\@
+	inc b
+	jr .FirstDigit\@
+.SecondDigit\@
+	add 10
+	push af
+	ld a,b
+	ld [de],a
+	inc de
+	pop af
+	ld b,$F6 ; "0"
+	add b
+	ld [de],a
+	inc de
+	ld a,"@"
+	ld [de],a
+
+	pop af
+	ld [$D11E],a
+	pop bc
+	pop de
+	pop hl
+	ret
+
+TechnicalPrefix: ; 303c
+	db "TM"
+HiddenPrefix: ; 303e
+	db "HM"
+
+INCBIN "baserom.gbc",$3040,$31cc - $3040
+
+LoadTrainerHeader: ; 0x31cc
+	call $3157
+	xor a
+	call $3193
+	ld a, $2
+	call $3193
+	ld a, [$cc55]
+	ld c, a
+	ld b, $2
+	call $31c7
+	ld a, c
+	and a
+	jr z, .asm_c2964 ; 0x31e3 $8
+	ld a, $6
+	call $3193
+	jp PrintText
+.asm_c2964 ; 0x31ed
+	ld a, $4
+	call $3193
+	call PrintText
+	ld a, $a
+	call $3193
+	push de
+	ld a, $8
+	call $3193
+	pop de
+	call $3354
+	ld hl, $d733
+	set 4, [hl]
+	ld hl, $cd60
+	bit 0, [hl]
+	ret nz
+	call $336a
+	ld hl, $da39
+	inc [hl]
+	jp $325d
+	call $3306
+	ld a, [$cf13]
+	cp $ff
+	jr nz, .asm_76c22 ; 0x3221 $8
+	xor a
+	ld [$cf13], a
+	ld [$cc55], a
+	ret
+.asm_76c22 ; 0x322b
+	ld hl, $d733
+	set 3, [hl]
+	ld [$cd4f], a
+	xor a
+	ld [$cd50], a
+	ld a, $4c
+	call Predef
+	ld a, $f0
+	ld [$cd6b], a
+	xor a
+	ldh [$b4], a
+	call $32cf
+	ld hl, $da39
+	inc [hl]
+	ret
+
+INCBIN "baserom.gbc",$324c,$3474 - $324c
+
+FuncTX_F7: ; 3474
+; XXX find a better name for this function
+; special_F7
+	ld b,BANK(CeladonPrizeMenu)
+	ld hl,CeladonPrizeMenu
+	call Bankswitch
+	jp $29DF        ; continue to main text-engine function
+
+INCBIN "baserom.gbc",$347F,$3493 - $347F
+
+IsItemInBag: ; 3493
+; given an item_id in b
+; set zero flag if item isn't in player's bag
+; else reset zero flag
+; related to Pokémon Tower and ghosts
+	ld a,$1C
+	call Predef
+	ld a,b
+	and a
+	ret
+
+INCBIN "baserom.gbc",$349B,$3541 - $349B
+
+Function3541: ; 3541
+; XXX what do these three functions do
+	push hl
+	call Function354E
+	ld [hl],$FF
+	call Function3558
+	ld [hl],$FF ; prevent person from walking?
+	pop hl
+	ret
+
+Function354E: ; 354E
+	ld h,$C2
+	ld a,[$FF8C] ; the sprite to move
+	swap a
+	add a,6
+	ld l,a
+	ret
+
+Function3558: ; 3558
+	push de
+	ld hl,W_PEOPLEMOVEPERMISSIONS
+	ld a,[$FF8C] ; the sprite to move
+	dec a
+	add a
+	ld d,0
+	ld e,a
+	add hl,de
+	pop de
+	ret
+
+INCBIN "baserom.gbc",$3566,$35BC - $3566
+
+BankswitchHome: ; 35BC
+; switches to bank # in a
+; Only use this when in the home bank!
+	ld [$CF09],a
+	ld a,[$FFB8]
+	ld [$CF08],a
+	ld a,[$CF09]
+	ld [$FFB8],a
+	ld [$2000],a
+	ret
+
+BankswitchBack: ; 35CD
+; returns from BankswitchHome
+	ld a,[$CF08]
+	ld [$FFB8],a
+	ld [$2000],a
+	ret
+
+Bankswitch: ; 35D6
+; self-contained bankswitch, use this when not in the home bank
+; switches to the bank in b
+	ld a,[$FFB8]
+	push af
+	ld a,b
+	ld [$FFB8],a
+	ld [$2000],a
+	ld bc,.Return\@
+	push bc
+	jp [hl]
+.Return\@
+	pop bc
+	ld a,b
+	ld [$FFB8],a
+	ld [$2000],a
+	ret
+
+INCBIN "baserom.gbc",$35EC,$363A - $35EC
+
+MoveSprite: ; 363A
+; move the sprite [$FF8C] with the movement pointed to by de
+; actually only copies the movement data to $CC5B for later
+	call Function3541
+	push hl
+	push bc
+	call Function354E
+	xor a
+	ld [hl],a
+	ld hl,$CC5B
+	ld c,0
+
+.loop\@
+	ld a,[de]
+	ld [hli],a
+	inc de
+	inc c
+	cp a,$FF ; have we reached the end of the movement data?
+	jr nz,.loop\@
+
+	ld a,c
+	ld [$CF0F],a ; number of steps taken
+
+	pop bc
+	ld hl,$D730
+	set 0,[hl]
+	pop hl
+	xor a
+	ld [$CD3B],a
+	ld [$CCD3],a
+	dec a
+	ld [$CD6B],a
+	ld [$CD3A],a
+	ret
+
+INCBIN "baserom.gbc",$366B,$3739 - $366B
+
+DelayFrames: ; 3739
+; wait n frames, where n is the value in c
+	call DelayFrame
+	dec c
+	jr nz,DelayFrames
+	ret
+
+INCBIN "baserom.gbc",$3740,$375D - $3740
+
+NamePointers: ; 375D
+	dw MonsterNames
+	dw MoveNames
+	dw UnusedNames
+	dw ItemNames
+	dw $D273 ; player's OT names list
+	dw $D9AC ; enemy's OT names list
+	dw TrainerNames
+
+GetName: ; 376B
+; arguments:
+; [$D0B5] = which name
+; [$D0B6] = which list
+; [$D0B7] = bank of list
+;
+; returns pointer to name in de
+	ld a,[$d0b5]
+	ld [$d11e],a
+	cp a,$C4        ;it's TM/HM
+	jp nc,GetMachineName
+	ld a,[$ffb8]
+	push af
+	push hl
+	push bc
+	push de
+	ld a,[$d0b6]    ;List3759_entrySelector
+	dec a
+	jr nz,.otherEntries\@
+	;1 = MON_NAMES
+	call GetMonName
+	ld hl,11
+	add hl,de
+	ld e,l
+	ld d,h
+	jr .gotPtr\@
+.otherEntries\@ ; $378d
+	;2-7 = OTHER ENTRIES
+	ld a,[$d0b7]
+	ld [$ffb8],a
+	ld [$2000],a
+	ld a,[$d0b6]    ;VariousNames' entryID
+	dec a
+	add a
+	ld d,0
+	ld e,a
+	jr nc,.skip\@
+	inc d
+.skip\@ ; $37a0
+	ld hl,NamePointers
+	add hl,de
+	ld a,[hli]
+	ld [$ff96],a
+	ld a,[hl]
+	ld [$ff95],a
+	ld a,[$ff95]
+	ld h,a
+	ld a,[$ff96]
+	ld l,a
+	ld a,[$d0b5]
+	ld b,a
+	ld c,0
+.nextName\@
+	ld d,h
+	ld e,l
+.nextChar\@
+	ld a,[hli]
+	cp a,$50
+	jr nz,.nextChar\@
+	inc c           ;entry counter
+	ld a,b          ;wanted entry
+	cp c
+	jr nz,.nextName\@
+	ld h,d
+	ld l,e
+	ld de,$cd6d
+	ld bc,$0014
+	call CopyData
+.gotPtr\@ ; $37cd
+	ld a,e
+	ld [$cf8d],a
+	ld a,d
+	ld [$cf8e],a
+	pop de
+	pop bc
+	pop hl
+	pop af
+	ld [$ffb8],a
+	ld [$2000],a
+	ret
+
+INCBIN "baserom.gbc",$37df,$3831 - $37df
+
+; this function is used when lower button sensitivity is wanted (e.g. menus)
+; OUTPUT: [$ffb5] = pressed buttons in usual format
+; there are two flags that control its functionality, [$ffb6] and [$ffb7]
+; there are esentially three modes of operation
+; 1. Get newly pressed buttons only
+;    ([$ffb7] == 0, [$ffb6] == any)
+;    Just copies [$ffb3] to [$ffb5].
+; 2. Get currently pressed buttons at low sample rate with delay
+;    ([$ffb7] == 0, [$ffb6] != 0)
+;    If the user holds down buttons for more than half a second,
+;    report buttons as being pressed up to 12 times per second thereafter.
+;    If the user holds down buttons for less than half a second,
+;    report only one button press.
+; 3. Same as 2, but report no buttons as pressed if A or B is held down.
+;    ([$ffb7] == 0, [$ffb6] == 0)
+GetJoypadStateLowSensitivity: ; 3831
+	call GetJoypadState
+	ld a,[$ffb7] ; flag
+	and a ; get all currently pressed buttons or only newly pressed buttons?
+	ld a,[$ffb3] ; newly pressed buttons
+	jr z,.storeButtonState\@
+	ld a,[$ffb4] ; all currently pressed buttons
+.storeButtonState\@
+	ld [$ffb5],a
+	ld a,[$ffb3] ; newly pressed buttons
+	and a ; have any buttons been newly pressed since last check?
+	jr z,.noNewlyPressedButtons\@
+.newlyPressedButtons\@
+	ld a,30 ; half a second delay
+	ld [$ffd5],a ; frame counter
+	ret
+.noNewlyPressedButtons\@
+	ld a,[$ffd5] ; frame counter
+	and a ; is the delay over?
+	jr z,.delayOver\@
+.delayNotOver\@
+	xor a
+	ld [$ffb5],a ; report no buttons as pressed
+	ret
+.delayOver\@
+; if [$ffb6] = 0 and A or B is pressed, report no buttons as pressed
+	ld a,[$ffb4]
+	and a,%00000011 ; A and B buttons
+	jr z,.setShortDelay\@
+	ld a,[$ffb6] ; flag
+	and a
+	jr nz,.setShortDelay\@
+	xor a
+	ld [$ffb5],a             
+.setShortDelay\@
+	ld a,5 ; 1/12 of a second delay
+	ld [$ffd5],a ; frame counter
+	ret
+
+INCBIN "baserom.gbc",$3865,$3927 - $3865
+
+AddPokemonToParty: ; 0x3927
+	push hl
+	push de
+	push bc
+	ld b, $3 ; BANK(MyFunction)
+	ld hl, $72e5 ; MyFunction
+	call Bankswitch
+	pop bc
+	pop de
+	pop hl
+	ret
+
+INCBIN "baserom.gbc",$3936,$3A87 - $3936
+
+AddNTimes: ; 3A87
+; add bc to hl a times
+	and a
+	ret z
+.loop\@
+	add hl,bc
+	dec a
+	jr nz,.loop\@
+	ret
+
+INCBIN "baserom.gbc",$3A8E,$3C49 - $3A8E
+
+PrintText: ; 3C49
+; given a pointer in hl, print the text there
+	push hl
+	ld a,1
+	ld [$D125],a
+	call $30E8
+	call $2429
+	call Delay3
+	pop hl
+	FuncCoord 1,14
+	ld bc,Coord ;$C4B9
+	jp $1B40
+
+Func3C5F: ; 3C5F
+	push bc
+	xor a
+	ld [$FF95],a
+	ld [$FF96],a
+	ld [$FF97],a
+	ld a,b
+	and $F
+	cp 1
+	jr z,.next\@
+	cp 2
+	jr z,.next2\@
+	ld a,[de]
+	ld [$FF96],a
+	inc de
+	ld a,[de]
+	ld [$FF97],a
+	inc de
+	ld a,[de]
+	ld [$FF98],a
+	jr .next3\@
+
+.next2\@
+	ld a,[de]
+	ld [$FF97],a
+	inc de
+	ld a,[de]
+	ld [$FF98],a
+	jr .next3\@
+
+.next\@
+	ld a,[de]
+	ld [$FF98],a
+
+.next3\@
+	push de
+	ld d,b
+	ld a,c
+	ld b,a
+	xor a
+	ld c,a
+	ld a,b
+	cp 2
+	jr z,.next4\@
+	cp 3
+	jr z,.next5\@
+	cp 4
+	jr z,.next6\@
+	cp 5
+	jr z,.next7\@
+	cp 6
+	jr z,.next8\@
+	ld a,$F
+	ld [$FF99],a
+	ld a,$42
+	ld [$FF9A],a
+	ld a,$40
+	ld [$FF9B],a
+	call $3D25
+	call $3D89
+.next8\@
+	ld a,1
+	ld [$FF99],a
+	ld a,$86
+	ld [$FF9A],a
+	ld a,$A0
+	ld [$FF9B],a
+	call $3D25
+	call $3D89
+.next7\@
+	xor a
+	ld [$FF99],a
+	ld a,$27
+	ld [$FF9A],a
+	ld a,$10
+	ld [$FF9B],a
+	call $3D25
+	call $3D89
+.next6\@
+	xor a
+	ld [$FF99],a
+	ld a,3
+	ld [$FF9A],a
+	ld a,$E8
+	ld [$FF9B],a
+	call $3D25
+	call $3D89
+.next5\@
+	xor a
+	ld [$FF99],a
+	xor a
+	ld [$FF9A],a
+	ld a,$64
+	ld [$FF9B],a
+	call $3D25
+	call $3D89
+.next4\@
+	ld c,0
+	ld a,[$FF98]
+.next10\@
+	cp $A
+	jr c,.next9\@
+	sub $A
+	inc c
+	jr .next10\@
+.next9\@
+	ld b,a
+	ld a,[$FF95]
+	or c
+	ld [$FF95],a
+	jr nz,.next11\@
+	call $3D83
+	jr .next12\@
+.next11\@
+	ld a,$F6
+	add a,c
+	ld [hl],a
+.next12\@
+	call $3D89
+	ld a,$F6
+	add a,b
+	ld [hli],a
+	pop de
+	dec de
+	pop bc
+	ret
+
+INCBIN "baserom.gbc",$3D25,$3DAB - $3D25
+
+IsInArray: ; 3DAB
+; searches an array at hl for the value in a.
+; skips (de − 1) bytes between reads, so to check every byte, de should be 1.
+; if found, returns count in b and sets carry.
+	ld b,0
+	ld c,a
+.loop\@
+	ld a,[hl]
+	cp a,$FF
+	jr z,.NotInArray\@
+	cp c
+	jr z,.InArray\@
+	inc b
+	add hl,de
+	jr .loop\@
+.NotInArray\@
+	and a
+	ret
+.InArray\@
+	scf
+	ret
+
+INCBIN "baserom.gbc",$3DBE,$3DD7 - $3DBE
+
+Delay3: ; 3DD7
+; call Delay with a parameter of 3
+	ld c,3
+	jp DelayFrames
+
+INCBIN "baserom.gbc",$3DDC,$3DED - $3DDC
+
+GoPAL_SET_CF1C: ; 3ded
+	ld b,$ff
+GoPAL_SET: 	; 3def
+	ld a,[$cf1b]
+	and a
+	ret z
+	ld a,$45
+	jp Predef
+
+INCBIN "baserom.gbc",$3df9,$3e2e - $3df9
+
+GiveItem: ; 0x3e2e
+	ld a, b
+	ld [$d11e], a
+	ld [$cf91], a
+	ld a, c
+	ld [$cf96], a
+	ld hl,W_NUMBAGITEMS
+	call $2bcf
+	ret nc
+	call GetItemName ; $2fcf
+	call $3826
+	scf
+	ret
+
+GivePokemon: ; 0x3e48
+	ld a, b
+	ld [$cf91], a
+	ld a, c
+	ld [$d127], a
+	xor a
+	ld [$cc49], a
+	ld b, $13
+	ld hl, $7da5
+	jp Bankswitch
+
+GenRandom: ; 3E5C
+; store a random 8-bit value in a
+	push hl
+	push de
+	push bc
+	ld b,BANK(GenRandom_)
+	ld hl,GenRandom_
+	call Bankswitch
+	ld a,[H_RAND1]
+	pop bc
+	pop de
+	pop hl
+	ret
+
+Predef: ; 3E6D
+; runs a predefined ASM command, where the command ID is read from $D0B7
+; $3E6D grabs the ath pointer from PredefPointers and executes it
+
+	ld [$CC4E],a ; save the predef routine's ID for later
+
+	ld a,[$FFB8]
+	ld [$CF12],a
+
+	; save bank and call 13:7E49
+	push af
+	ld a,BANK(GetPredefPointer)
+	ld [$FFB8],a
+	ld [$2000],a
+	call GetPredefPointer
+
+	; call the predef function
+	; ($D0B7 has the bank of the predef routine)
+	ld a,[$D0B7]
+	ld [$FFB8],a
+	ld [$2000],a
+	ld de,.Return\@
+	push de
+	jp [hl]
+	; after the predefined function finishes it returns here
+.Return\@
+	pop af
+	ld [$FFB8],a
+	ld [$2000],a
+	ret
+
+INCBIN "baserom.gbc",$3E94,$4000 - $3E94
+
+SECTION "bank1",DATA,BANK[$1]
+
+INCBIN "baserom.gbc",$4000,$112
+
+MewPicFront: ; 0x4112
+	INCBIN "pic/bmon/mew.pic"
+MewPicBack: ; 0x4205
+	INCBIN "pic/monback/mewb.pic"
+; 0x425b
+
+INCBIN "baserom.gbc",$425b,$42a7 - $425b
+
+UnnamedText_42a7: ; 0x42a7
+	TX_FAR SafariZoneEatingText
+	db $50
+; 0x42a7 + 5 bytes
+
+UnnamedText_42ac: ; 0x42ac
+	TX_FAR SafariZoneAngryText
+	db $50
+; 0x42ac + 5 bytes
+
+INCBIN "baserom.gbc",$42b1,$84
+
+; 0x4335
+IF _RED
+	ld de,$9600 ; where to put redgreenversion.2bpp in the VRAM
+	ld bc,$50 ; how big that file is
+ENDC
+IF _BLUE
+	ld de,$9610 ; where to put blueversion.2bpp in the VRAM
+	ld bc,$40 ; how big that file is
+ENDC
+
+INCBIN "baserom.gbc",$433B,$4398-$433B
+
+IF _RED
+	ld a,CHARMANDER ; which Pokemon to show first on the title screen
+ENDC
+IF _BLUE
+	ld a,SQUIRTLE ; which Pokemon to show first on the title screen
+ENDC
+
+INCBIN "baserom.gbc",$439A,$4588-$439A
+
+TitleMons: ; 4588
+; mons on the title screen are randomly chosen from here
+IF _RED
+	db CHARMANDER
+	db SQUIRTLE
+	db BULBASAUR
+	db WEEDLE
+	db NIDORAN_M
+	db SCYTHER
+	db PIKACHU
+	db CLEFAIRY
+	db RHYDON
+	db ABRA
+	db GASTLY
+	db DITTO
+	db PIDGEOTTO
+	db ONIX
+	db PONYTA
+	db MAGIKARP
+ENDC
+IF _GREEN
+	db BULBASAUR
+	db CHARMANDER
+	db SQUIRTLE
+	db CATERPIE
+	db NIDORAN_F
+	db PINSIR
+	db PIKACHU
+	db CLEFAIRY
+	db RHYDON
+	db ABRA
+	db GASTLY
+	db DITTO
+	db PIDGEOTTO
+	db ONIX
+	db PONYTA
+	db MAGIKARP
+ENDC
+IF _BLUE
+	db SQUIRTLE
+	db CHARMANDER
+	db BULBASAUR
+	db MANKEY
+	db HITMONLEE
+	db VULPIX
+	db CHANSEY
+	db AERODACTYL
+	db JOLTEON
+	db SNORLAX
+	db GLOOM
+	db POLIWAG
+	db DODUO
+	db PORYGON
+	db GENGAR
+	db RAICHU
+ENDC
+
+INCBIN "baserom.gbc",$4598,$45A1-$4598
+
+; xxx Version tilemap on the title screen
+IF _RED
+	db $60,$61,$7F,$65,$66,$67,$68,$69,$50
+ENDC
+IF _BLUE
+	db $61,$62,$63,$64,$65,$66,$67,$68,$50
+ENDC
+
+INCBIN "baserom.gbc",$45AA,$472B-$45AA
+
+ItemNames: ; 472B
+	db "MASTER BALL@"
+	db "ULTRA BALL@"
+	db "GREAT BALL@"
+	db "POKé BALL@"
+	db "TOWN MAP@"
+	db "BICYCLE@"
+	db "?????@"
+	db "SAFARI BALL@"
+	db "POKéDEX@"
+	db "MOON STONE@"
+	db "ANTIDOTE@"
+	db "BURN HEAL@"
+	db "ICE HEAL@"
+	db "AWAKENING@"
+	db "PARLYZ HEAL@"
+	db "FULL RESTORE@"
+	db "MAX POTION@"
+	db "HYPER POTION@"
+	db "SUPER POTION@"
+	db "POTION@"
+	db "BOULDERBADGE@"
+	db "CASCADEBADGE@"
+	db "THUNDERBADGE@"
+	db "RAINBOWBADGE@"
+	db "SOULBADGE@"
+	db "MARSHBADGE@"
+	db "VOLCANOBADGE@"
+	db "EARTHBADGE@"
+	db "ESCAPE ROPE@"
+	db "REPEL@"
+	db "OLD AMBER@"
+	db "FIRE STONE@"
+	db "THUNDERSTONE@"
+	db "WATER STONE@"
+	db "HP UP@"
+	db "PROTEIN@"
+	db "IRON@"
+	db "CARBOS@"
+	db "CALCIUM@"
+	db "RARE CANDY@"
+	db "DOME FOSSIL@"
+	db "HELIX FOSSIL@"
+	db "SECRET KEY@"
+	db "?????@"
+	db "BIKE VOUCHER@"
+	db "X ACCURACY@"
+	db "LEAF STONE@"
+	db "CARD KEY@"
+	db "NUGGET@"
+	db "PP UP@"
+	db "POKé DOLL@"
+	db "FULL HEAL@"
+	db "REVIVE@"
+	db "MAX REVIVE@"
+	db "GUARD SPEC.@"
+	db "SUPER REPEL@"
+	db "MAX REPEL@"
+	db "DIRE HIT@"
+	db "COIN@"
+	db "FRESH WATER@"
+	db "SODA POP@"
+	db "LEMONADE@"
+	db "S.S.TICKET@"
+	db "GOLD TEETH@"
+	db "X ATTACK@"
+	db "X DEFEND@"
+	db "X SPEED@"
+	db "X SPECIAL@"
+	db "COIN CASE@"
+	db "OAK's PARCEL@"
+	db "ITEMFINDER@"
+	db "SILPH SCOPE@"
+	db "POKé FLUTE@"
+	db "LIFT KEY@"
+	db "EXP.ALL@"
+	db "OLD ROD@"
+	db "GOOD ROD@"
+	db "SUPER ROD@"
+	db "PP UP@"
+	db "ETHER@"
+	db "MAX ETHER@"
+	db "ELIXER@"
+	db "MAX ELIXER@"
+	db "B2F@"
+	db "B1F@"
+	db "1F@"
+	db "2F@"
+	db "3F@"
+	db "4F@"
+	db "5F@"
+	db "6F@"
+	db "7F@"
+	db "8F@"
+	db "9F@"
+	db "10F@"
+	db "11F@"
+	db "B4F@"
+
+UnusedNames: ; 4A92
+	db "かみなりバッヂ@"
+	db "かいがらバッヂ@"
+	db "おじぞうバッヂ@"
+	db "はやぶさバッヂ@"
+	db "ひんやりバッヂ@"
+	db "なかよしバッヂ@"
+	db "バラバッヂ@"
+	db "ひのたまバッヂ@"
+	db "ゴールドバッヂ@"
+	db "たまご@"
+	db "ひよこ@"
+	db "ブロンズ@"
+	db "シルバー@"
+	db "ゴールド@"
+	db "プチキャプテン@"
+	db "キャプテン@"
+	db "プチマスター@"
+	db "マスター@"
+
+INCBIN "baserom.gbc",$4b09,$4e2c - $4b09
+
+UnnamedText_4e2c: ; 0x4e2c
+	TX_FAR _UnnamedText_4e2c
+	db $50
+; 0x4e2c + 5 bytes
+
+INCBIN "baserom.gbc",$4e31,$5a24 - $4e31
+
+UnnamedText_5a24: ; 0x5a24
+	TX_FAR _UnnamedText_5a24
+	db $50
+; 0x5a24 + 5 bytes
+
+INCBIN "baserom.gbc",$5a29,$c9
+
+MainMenu: ; 0x5af2
+; Check save file
+	call Func_5bff
+	xor a
+	ld [$D08A],a
+	inc a
+	ld [$D088],a
+	call $609E
+	jr nc,.next0\@
+
+	; Predef 52 loads the save from SRAM to RAM
+	ld a,$52
+	call Predef
+
+.next0\@
+	ld c,20
+	call DelayFrames
+	xor a
+	ld [$D12B],a
+	ld hl,$CC2B
+	ld [hli],a
+	ld [hli],a
+	ld [hli],a
+	ld [hl],a
+	ld [$D07C],a
+	ld hl,$D72E
+	res 6,[hl]
+	call ClearScreen
+	call $3DED
+	call $36A0 ; load some graphics in VRAM
+	call $3680 ; load fonts in VRAM
+	ld hl,$D730
+	set 6,[hl]
+	ld a,[$D088]
+	cp a,1
+	jr z,.next1\@
+	FuncCoord 0,0
+	ld hl,Coord
+	ld b,6
+	ld c,13
+	call TextBoxBorder
+	FuncCoord 2,2
+	ld hl,Coord
+	ld de,$5D7E
+	call PlaceString
+	jr .next2\@
+.next1\@
+	FuncCoord 0,0
+	ld hl,Coord
+	ld b,4
+	ld c,13
+	call TextBoxBorder
+	FuncCoord 2,2
+	ld hl,Coord
+	ld de,$5D87
+	call PlaceString
+.next2\@
+	ld hl,$D730
+	res 6,[hl]
+	call $2429 ; OAM?
+	xor a
+	ld [$CC26],a
+	ld [$CC2A],a
+	ld [$CC34],a
+	inc a
+	ld [$CC25],a
+	inc a
+	ld [$CC24],a
+	ld a,$B
+	ld [$CC29],a
+	ld a,[$D088]
+	ld [$CC28],a
+	call $3ABE
+	bit 1,a
+	jp nz,$42DD ; load title screen (gfx and arrangement)
+	ld c,20
+	call DelayFrames
+	ld a,[$CC26]
+	ld b,a
+	ld a,[$D088]
+	cp a,2
+	jp z,.next3\@
+	inc b ; adjust MenuArrow_Counter
+.next3\@
+	ld a,b
+	and a
+	jr z,.next4\@ ; if press_A on Continue
+	cp a,1
+	jp z,$5D52 ; if press_A on NewGame
+	call $5E8A ; if press_a on Options
+	ld a,1
+	ld [$D08A],a
+	jp .next0\@
+.next4\@
+	call $5DB5
+	ld hl,$D126
+	set 5,[hl]
+.next6\@
+	xor a
+	ld [$FFB3],a
+	ld [$FFB2],a
+	ld [$FFB4],a
+	call GetJoypadState
+	ld a,[$FFB4]
+	bit 0,a
+	jr nz,.next5\@
+	bit 1,a
+	jp nz,.next0\@
+	jr .next6\@
+.next5\@
+	call $3DD4
+	call ClearScreen
+	ld a,4
+	ld [$D52A],a
+	ld c,10
+	call DelayFrames
+	ld a,[$D5A2]
+	and a
+	jp z,$5D5F
+	ld a,[W_CURMAP] ; map ID
+	cp a,HALL_OF_FAME
+	jp nz,$5D5F
+	xor a
+	ld [$D71A],a
+	ld hl,$D732
+	set 2,[hl]
+	call $62CE
+	jp $5D5F
+Func_5bff: ; 0x5bff
+	ld a,1
+	ld [$D358],a
+	ld a,3
+	ld [$D355],a
+	ret
+; 0x5c0a
+
+INCBIN "baserom.gbc",$5c0a,$5d43 - $5c0a
+
+UnnamedText_5d43: ; 0x5d43
+	TX_FAR _UnnamedText_5d43
+	db $50
+; 0x5d43 + 5 bytes
+
+UnnamedText_5d48: ; 0x5d48
+	TX_FAR _UnnamedText_5d48
+	db $50
+; 0x5d48 + 5 bytes
+
+UnnamedText_5d4d: ; 0x5d4d
+	TX_FAR _UnnamedText_5d4d
+	db $50
+; 0x5d4d + 5 bytes
+
+INCBIN "baserom.gbc",$5d52,$3c3
+
+OakSpeech: ; 6115
+	ld a,$FF
+	call $23B1 ; stop music
+	ld a,2     ; bank of song
+	ld c,a
+	ld a,$EF    ; song #
+	call $23A1  ; plays music
+	call ClearScreen
+	call $36A0
+	call $60CA
+	ld a,$18
+	call Predef
+	ld hl,$D53A
+	ld a,$14
+	ld [$CF91],a
+	ld a,1
+	ld [$CF96],a
+	call $2BCF
+	ld a,[$D07C]
+	ld [$D71A],a
+	call Function62CE
+	xor a
+	ld [$FFD7],a
+	ld a,[$D732]
+	bit 1,a ; XXX when is bit 1 set?
+	jp nz,Function61BC ; easter egg: skip the intro
+	ld de,$615F
+	ld bc,$1300
+	call IntroPredef3B   ; displays Oak pic?
+	call FadeInIntroPic
+	ld hl,OakSpeechText1
+	call PrintText      ; prints text box
+	call GBFadeOut2
+	call ClearScreen
+	ld a,NIDORINO
+	ld [$D0B5],a    ; pic displayed is stored at this location
+	ld [$CF91],a
+	call $1537      ; this is also related to the pic
+	ld hl,$C3F6     ; position on tilemap the pic is displayed
+	call $1384      ; displays pic?
+	call MovePicLeft
+	ld hl,OakSpeechText2
+	call PrintText      ; Prints text box
+	call GBFadeOut2
+	call ClearScreen
+	ld de,$6EDE
+	ld bc,$0400     ; affects the position of the player pic
+	call IntroPredef3B      ; displays player pic?
+	call MovePicLeft
+	ld hl,IntroducePlayerText
+	call PrintText
+	call $695D ; brings up NewName/Red/etc menu
+	call GBFadeOut2
+	call ClearScreen
+	ld de,$6049
+	ld bc,$1300
+	call IntroPredef3B ; displays rival pic
+	call FadeInIntroPic
+	ld hl,IntroduceRivalText
+	call PrintText
+	call $69A4
+Function61BC: ; 0x61bc
+	call GBFadeOut2
+	call ClearScreen
+	ld de,$6EDE
+	ld bc,$0400
+	call IntroPredef3B
+	call GBFadeIn2
+	ld a,[$D72D]
+	and a
+	jr nz,.next\@
+	ld hl,OakSpeechText3
+	call PrintText
+.next\@	ld a,[$FFB8]
+	push af
+	ld a,$9C
+	call $23B1
+	pop af
+	ld [$FFB8],a
+	ld [$2000],a
+	ld c,4
+	call DelayFrames
+	ld de,$4180
+	ld hl,$8000
+	ld bc,$050C
+	call $1848
+	ld de,$6FE8
+	ld bc,$0400
+	call IntroPredef3B
+	ld c,4
+	call DelayFrames
+	ld de,$7042
+	ld bc,$0400
+	call IntroPredef3B
+	call $28A6
+	ld a,[$FFB8]
+	push af
+	ld a,2
+	ld [$C0EF],a
+	ld [$C0F0],a
+	ld a,$A
+	ld [$CFC7],a
+	ld a,$FF
+	ld [$C0EE],a
+	call $23B1 ; stop music
+	pop af
+	ld [$FFB8],a
+	ld [$2000],a
+	ld c,$14
+	call DelayFrames
+	ld hl,$C40A
+	ld b,7
+	ld c,7
+	call $18C4
+	call $36A0
+	ld a,1
+	ld [$CFCB],a
+	ld c,$32
+	call DelayFrames
+	call GBFadeOut2
+	jp ClearScreen
+OakSpeechText1: ; 0x6253
+	TX_FAR _OakSpeechText1
+	db "@"
+OakSpeechText2: ; 0x6258
+	TX_FAR _OakSpeechText2A
+	db $14
+	TX_FAR _OakSpeechText2B
+	db "@"
+IntroducePlayerText: ; 0x6262
+	TX_FAR _IntroducePlayerText
+	db "@"
+IntroduceRivalText: ; 0x6267
+	TX_FAR _IntroduceRivalText
+	db "@"
+OakSpeechText3: ; 0x626c
+	TX_FAR _OakSpeechText3
+	db "@"
+
+FadeInIntroPic: ; 0x6271
+	ld hl,IntroFadePalettes
+	ld b,6
+.next\@
+	ld a,[hli]
+	ld [rBGP],a
+	ld c,10
+	call DelayFrames
+	dec b
+	jr nz,.next\@
+	ret
+
+IntroFadePalettes: ; 0x6282
+	db %01010100
+	db %10101000
+	db %11111100
+	db %11111000
+	db %11110100
+	db %11100100
+
+MovePicLeft: ; 0x6288
+	ld a,119
+	ld [$FF4B],a
+	call DelayFrame
+
+	ld a,$E4
+	ld [rBGP],a
+.next\@
+	call DelayFrame
+	ld a,[$FF4B]
+	sub 8
+	cp $FF
+	ret z
+	ld [$FF4B],a
+	jr .next\@
+
+Predef3B: ; 62A1
+	call $3E94
+IntroPredef3B: ; 62A4
+	push bc
+	ld a,b
+	call $36EB
+	ld hl,$A188
+	ld de,$A000
+	ld bc,$0310
+	call CopyData
+	ld de,$9000
+	call $16EA
+	pop bc
+	ld a,c
+	and a
+	ld hl,$C3C3
+	jr nz,.next\@
+	ld hl,$C3F6
+.next\@
+	xor a
+	ld [$FFE1],a
+	ld a,1
+	jp $3E6D
+
+Function62CE: ; 62CE XXX called by 4B2 948 989 5BF9 5D15
+	call $62FF
+	ld a,$19
+	call $3E6D
+	ld hl,$D732
+	bit 2,[hl]
+	res 2,[hl]
+	jr z,.next\@
+	ld a,[$D71A]
+	jr .next2\@
+.next\@
+	bit 1,[hl]
+	jr z,.next3\@
+	call $64EA
+.next3\@
+	ld a,0
+.next2\@
+	ld b,a
+	ld a,[$D72D]
+	and a
+	jr nz,.next4\@
+	ld a,b
+.next4\@
+	ld hl,$D732
+	bit 4,[hl]
+	ret nz
+	ld [$D365],a
+	ret
+
+INCBIN "baserom.gbc",$62FF,$6420-$62FF
+
+FirstMapSpec: ; 0x6420
+	db REDS_HOUSE_2F ; RedsHouse2F
+; Original Format:
+;   [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
+; Macro Format:
+;   FLYWARP_DATA [Map Width][Y-pos][X-pos]
+	FLYWARP_DATA 4,6,3
+	db $04 ;Tileset_id
+
+INCBIN "baserom.gbc",$6428,$6448-$6428
+
+FlyWarpDataPtr: ; 0x6448
+	db $00,0
+	dw Map00FlyWarp
+	db $01,0
+	dw Map01FlyWarp
+	db $02,0
+	dw Map02FlyWarp
+	db $03,0
+	dw Map03FlyWarp
+	db $04,0
+	dw Map04FlyWarp
+	db $05,0
+	dw Map05FlyWarp
+	db $06,0
+	dw Map06FlyWarp
+	db $07,0
+	dw Map07FlyWarp
+	db $08,0
+	dw Map08FlyWarp
+	db $09,0
+	dw Map09FlyWarp
+	db $0A,0
+	dw Map0aFlyWarp
+	db $0F,0
+	dw Map0fFlyWarp
+	db $15,0
+	dw Map15FlyWarp
+
+; Original Format:
+;   [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
+; Macro Format:
+;   FLYWARP_DATA [Map Width][Y-pos][X-pos]
+Map00FlyWarp: ; 0x647c
+	FLYWARP_DATA 10,6,5
+Map01FlyWarp: ; 0x6482
+	FLYWARP_DATA 20,26,23
+Map02FlyWarp: ; 0x6488
+	FLYWARP_DATA 20,26,13
+Map03FlyWarp: ; 0x648e
+	FLYWARP_DATA 20,18,19
+Map04FlyWarp: ; 0x6494
+	FLYWARP_DATA 10,6,3
+Map05FlyWarp: ; 0x649a
+	FLYWARP_DATA 20,4,11
+Map06FlyWarp: ; 0x64a0
+	FLYWARP_DATA 25,10,41
+Map07FlyWarp: ; 0x64a6
+	FLYWARP_DATA 20,28,19
+Map08FlyWarp: ; 0x64ac
+	FLYWARP_DATA 10,12,11
+Map09FlyWarp: ; 0x64b2
+	FLYWARP_DATA 10,6,9
+Map0aFlyWarp: ; 0x64b8
+	FLYWARP_DATA 20,30,9
+Map0fFlyWarp: ; 0x64be
+	FLYWARP_DATA 45,6,11
+Map15FlyWarp: ; 0x64c4
+	FLYWARP_DATA 10,20,11
+
+INCBIN "baserom.gbc",$64ca,$6557 - $64ca
+
+UnnamedText_6557: ; 0x6557
+	TX_FAR _UnnamedText_6557
+	db $50
+; 0x6557 + 5 bytes
+
+INCBIN "baserom.gbc",$655c,$699f - $655c
+
+UnnamedText_699f: ; 0x699f
+	TX_FAR _UnnamedText_699f
+	db $50
+; 0x699f + 5 bytes
+
+; 0x69a4
+	call Unnamed_6a12 ; 0x69a4 call 0x6a12
+	ld de, DefaultNamesRival
+; 0x69aa
+
+INCBIN "baserom.gbc",$69AA,$69B3 - $69AA
+
+ld hl, DefaultNamesRivalList
+
+INCBIN "baserom.gbc",$69b6,$69e7 - $69b6
+
+UnnamedText_69e7: ; 0x69e7
+	TX_FAR _UnnamedText_69e7
+	db $50
+; 0x69e7 + 5 bytes
+
+INCBIN "baserom.gbc",$69ec,$6a12 - $69ec
+
+Unnamed_6a12: ; 0x6a12
+INCBIN "baserom.gbc",$6a12,$6aa8 - $6a12
+
+IF _RED
+DefaultNamesPlayer: ; 0x6aa8 22
+	db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
+DefaultNamesRival: ; 0x6abe 24
+	db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
+ENDC
+IF _BLUE
+DefaultNamesPlayer:
+	db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
+DefaultNamesRival:
+	db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
+ENDC
+
+INCBIN "baserom.gbc",$6AD6,$6AF2 - $6AD6
+
+IF _RED
+DefaultNamesPlayerList: ; 0x6AF2 22
+	db "NEW NAME@RED@ASH@JACK@"
+DefaultNamesRivalList: ; 0x6b08 25
+	db "NEW NAME@BLUE@GARY@JOHN@@"
+ENDC
+IF _BLUE
+DefaultNamesPlayerList:
+	db "NEW NAME@BLUE@GARY@JOHN@"
+DefaultNamesRivalList:
+	db "NEW NAME@RED@ASH@JACK@@"
+ENDC
+
+INCBIN "baserom.gbc",$6b21,$6e0c - $6b21
+
+UnnamedText_6e0c: ; 0x6e0c
+	TX_FAR _UnnamedText_6e0c
+	db $50
+; 0x6e0c + 5 bytes
+
+UnnamedText_6e11: ; 0x6e11
+	TX_FAR _UnnamedText_6e11
+	db $50
+; 0x6e11 + 5 bytes
+
+UnnamedText_6e16: ; 0x6e16
+	TX_FAR _UnnamedText_6e16
+	db $50
+; 0x6e16 + 5 bytes
+
+UnnamedText_6e1b: ; 0x6e1b
+	TX_FAR _UnnamedText_6e1b
+	db $50
+; 0x6e1b + 5 bytes
+
+UnnamedText_6e20: ; 0x6e20
+	TX_FAR _UnnamedText_6e20
+	db $50
+; 0x6e20 + 5 bytes
+
+UnnamedText_6e25: ; 0x6e25
+	TX_FAR _UnnamedText_6e25
+	db $50
+; 0x6e25 + 5 bytes
+
+UnnamedText_6e2a: ; 0x6e2a
+	TX_FAR _UnnamedText_6e2a
+	db $50
+; 0x6e2a + 5 bytes
+
+UnnamedText_6e2f: ; 0x6e2f
+	TX_FAR _UnnamedText_6e2f
+	db $50
+; 0x6e2f + 5 bytes
+
+UnnamedText_6e34: ; 0x6e34
+	TX_FAR _UnnamedText_6e34
+	db $50
+; 0x6e34 + 5 bytes
+
+UnnamedText_6e39: ; 0x6e39
+	TX_FAR _UnnamedText_6e39
+	db $50
+; 0x6e39 + 5 bytes
+
+UnnamedText_6e3e: ; 0x6e3e
+	TX_FAR _UnnamedText_6e3e
+	db $50
+; 0x6e3e + 5 bytes
+
+INCBIN "baserom.gbc",$6e43,$6fb4 - $6e43
+
+UnnamedText_6fb4: ; 0x6fb4
+	TX_FAR _UnnamedText_6fb4
+	db $50
+; 0x6fb4 + 5 bytes
+
+UnnamedText_6fb9: ; 0x6fb9
+	TX_FAR _UnnamedText_6fb9
+	db $50
+; 0x6fb9 + 5 bytes
+
+UnnamedText_6fbe: ; 0x6fbe
+	TX_FAR _UnnamedText_6fbe
+	db $50
+; 0x6fbe + 5 bytes
+
+UnnamedText_6fc3: ; 0x6fc3
+	TX_FAR _UnnamedText_6fc3
+	db $50
+; 0x6fc3 + 5 bytes
+
+UnnamedText_6fc8: ; 0x6fc8
+	TX_FAR _UnnamedText_6fc8 ; 0xa2819
+	db $a
+	db $8
+	ld a, $ae
+	call $3740
+	ld hl, $6fd7
+	ret
+; 0x6fd7
+
+UnnamedText_6fd7: ; 0x6fd7
+	TX_FAR _UnnamedText_6fd7 ; 0xa2827
+	db $a ; 0x6fdb
+UnnamedText_6fdc: ; 0x6fdc
+	TX_FAR _UnnamedText_6fdc
+	db $50
+; 0x6fe1
+
+UnnamedText_6fe1: ; 0x6fe1
+	TX_FAR _UnnamedText_6fe1
+	db $50
+; 0x6fe1 + 5 bytes
+
+Unnamed_6fe6: ; 0x6fe6
+	call $3719
+	ld hl, $705d
+	call PrintText
+	ld hl, $d72e
+	bit 2, [hl]
+	set 1, [hl]
+	set 2, [hl]
+	jr nz, .asm_7000 ; 0x6ff8 $6
+	ld hl, $7062
+	call PrintText
+.asm_7000
+	call $360a
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_7051 ; 0x7007 $48
+	call $7078
+	call $3725
+	ld hl, $7068
+	call PrintText
+	ld a, $18
+	ld [$c112], a
+	call Delay3
+	ld a, $7
+	call Predef
+	ld b, $1c
+	ld hl, $4433
+	call Bankswitch
+	xor a
+	ld [$cfc7], a
+	ld a, [$c0f0]
+	ld [$c0ef], a
+	ld a, [$d35b]
+	ld [$cfca], a
+	ld [$c0ee], a
+	call $23b1
+	ld hl, $706d
+	call PrintText
+	ld a, $14
+	ld [$c112], a
+	ld c, a
+	call DelayFrames
+	jr .asm_7054 ; 0x704f $3
+.asm_7051
+	call $3725
+.asm_7054
+	ld hl, $7072
+	call PrintText
+	jp $2429
+; 0x705d
+
+UnnamedText_705d: ; 0x705d
+	TX_FAR _UnnamedText_705d
+	db $50
+; 0x705d + 5 bytes
+
+; 0x7062
+db $a
+
+UnnamedText_7063: ; 0x7063
+	TX_FAR _UnnamedText_7063
+	db $50
+; 0x7063 + 5 bytes
+
+UnnamedText_7068: ; 0x7068
+	TX_FAR _UnnamedText_7068
+	db $50
+; 0x7068 + 5 bytes
+
+UnnamedText_706d: ; 0x706d
+	TX_FAR _UnnamedText_706d
+	db $50
+; 0x706d + 5 bytes
+
+db $a
+
+UnnamedText_7073: ; 0x7073
+	TX_FAR _UnnamedText_7073
+	db $50
+; 0x7078
+
+Unknown_7078: ; 0x7078
+	push hl
+	ld hl, $7092
+	ld a, [$d35e]
+	ld b, a
+.asm_7080
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_708a ; 0x7083 $5
+	cp b
+	jr nz, .asm_7080 ; 0x7086 $f8
+	jr .asm_7090 ; 0x7088 $6
+.asm_708a
+	ld a, [$d365]
+	ld [$d719], a
+.asm_7090
+	pop hl
+	ret
+; 0x7092
+
+Unknown_7092: ; 0x7092
+INCBIN "baserom.gbc",$7092,4
+
+; function that performs initialization for DisplayTextID
+DisplayTextIDInit: ; 7096
+	xor a
+	ld [$cf94],a
+	ld a,[$cf0c]
+	bit 0,a
+	jr nz,.skipDrawingTextBoxBorder\@
+	ld a,[$ff8c] ; text ID (or sprite ID)
+	and a
+	jr nz,.notStartMenu\@
+; if text ID is 0 (i.e. the start menu)
+; Note that the start menu text border is also drawn in the function directly
+; below this, so this seems unnecessary.
+	ld a,[$d74b]
+	bit 5,a ; does the player have the pokedex?
+; start menu with pokedex
+	ld hl,$c3aa
+	ld b,$0e
+	ld c,$08
+	jr nz,.drawTextBoxBorder\@
+; start menu without pokedex
+	ld hl,$c3aa
+	ld b,$0c
+	ld c,$08
+	jr .drawTextBoxBorder\@
+; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box
+.notStartMenu\@
+	ld hl,$c490
+	ld b,$04
+	ld c,$12
+.drawTextBoxBorder\@
+	call TextBoxBorder
+.skipDrawingTextBoxBorder\@
+	ld hl,$cfc4
+	set 0,[hl]
+	ld hl,$cd60
+	bit 4,[hl]
+	res 4,[hl]
+	jr nz,.skipMovingSprites\@
+	call $2429 ; move sprites
+.skipMovingSprites\@
+; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite
+; this is done because when you talk to an NPC, they turn to look your way
+; the original direction they were facing must be restored after the dialogue is over
+	ld hl,$c119
+	ld c,$0f
+	ld de,$0010
+.spriteFacingDirectionCopyLoop\@
+	ld a,[hl]
+	inc h
+	ld [hl],a
+	dec h
+	add hl,de
+	dec c
+	jr nz,.spriteFacingDirectionCopyLoop\@
+; loop to force all the sprites in the middle of animation to stand still
+; (so that they don't like they're frozen mid-step during the dialogue)
+	ld hl,$c102
+	ld de,$0010
+	ld c,e
+.spriteStandStillLoop\@
+	ld a,[hl]
+	cp a,$ff ; is the sprite visible?
+	jr z,.nextSprite\@
+; if it is visible
+	and a,$fc
+	ld [hl],a
+.nextSprite\@
+	add hl,de
+	dec c
+	jr nz,.spriteStandStillLoop\@
+	ld b,$9c ; window background address
+	call $18d6 ; transfer background in WRAM to VRAM
+	xor a
+	ld [$ffb0],a ; put the window on the screen
+	call $3680 ; transfer tile pattern data for text into VRAM
+	ld a,$01
+	ld [$ffba],a ; enable continuous WRAM to VRAM transfer each V-blank
+	ret
+
+; function that displays the start menu
+DrawStartMenu: ; 710B
+	ld a,[$d74b]
+	bit 5,a ; does the player have the pokedex?
+; menu with pokedex
+	ld hl,$c3aa
+	ld b,$0e
+	ld c,$08
+	jr nz,.drawTextBoxBorder\@
+; shorter menu if the player doesn't have the pokedex
+	ld hl,$c3aa
+	ld b,$0c
+	ld c,$08
+.drawTextBoxBorder\@
+	call TextBoxBorder
+	ld a,%11001011 ; bit mask for down, up, start, B, and A buttons
+	ld [$cc29],a
+	ld a,$02
+	ld [$cc24],a ; Y position of first menu choice
+	ld a,$0b
+	ld [$cc25],a ; X position of first menu choice
+	ld a,[$cc2d] ; remembered menu selection from last time
+	ld [$cc26],a
+	ld [$cc2a],a
+	xor a
+	ld [$cc37],a
+	ld hl,$d730
+	set 6,[hl] ; no pauses between printing each letter
+	ld hl,$c3d4
+	ld a,[$d74b]
+	bit 5,a ; does the player have the pokedex?
+; case for not having pokdex
+	ld a,$06
+	jr z,.storeMenuItemCount\@
+; case for having pokedex
+	ld de,StartMenuPokedexText
+	call PrintStartMenuItem
+	ld a,$07
+.storeMenuItemCount\@
+	ld [$cc28],a ; number of menu items
+	ld de,StartMenuPokemonText
+	call PrintStartMenuItem
+	ld de,StartMenuItemText
+	call PrintStartMenuItem
+	ld de,$d158 ; player's name
+	call PrintStartMenuItem
+	ld a,[$d72e]
+	bit 6,a ; is the player using the link feature?
+; case for not using link feature
+	ld de,StartMenuSaveText
+	jr z,.printSaveOrResetText\@
+; case for using link feature
+	ld de,StartMenuResetText
+.printSaveOrResetText\@
+	call PrintStartMenuItem
+	ld de,StartMenuOptionText
+	call PrintStartMenuItem
+	ld de,StartMenuExitText
+	call PlaceString
+	ld hl,$d730
+	res 6,[hl] ; turn pauses between printing letters back on
+	ret
+
+StartMenuPokedexText: ; 718F
+db "POKéDEX@"
+
+StartMenuPokemonText: ; 7197
+db "POKéMON@"
+
+StartMenuItemText: ; 719F
+db "ITEM@"
+
+StartMenuSaveText: ; 71A4
+db "SAVE@"
+
+StartMenuResetText: ; 71A9
+db "RESET@"
+
+StartMenuExitText: ; 71AF
+db "EXIT@"
+
+StartMenuOptionText: ; 71B4
+db "OPTION@"
+
+PrintStartMenuItem: ; 71BB
+	push hl
+	call PlaceString
+	pop hl
+	ld de,$28
+	add hl,de
+	ret
+
+Unknown_71c5: ; 0x71c5
+	ld hl, $72b8
+	call PrintText
+	ld a, [$d74b]
+	bit 5, a
+	jp nz, $71e1
+	ld c, $3c
+	call DelayFrames
+	ld hl, $72d2
+	call PrintText
+	jp $7298
+; 0x71e1
+
+Unknown_71e1: ; 0x71e1
+	ld a, $1
+	ld [$cc34], a
+	ld a, $5a
+	ld [$cc47], a
+.asm_71eb
+	ld a, [$ff00+$aa]
+	cp $2
+	jr z, .asm_721a ; 0x71ef $29
+	cp $1
+	jr z, .asm_721a ; 0x71f3 $25
+	ld a, $ff
+	ld [$ff00+$aa], a
+	ld a, $2
+	ld [$ff00+$1], a
+	xor a
+	ld [$ff00+$ad], a
+	ld a, $80
+	ld [$ff00+$2], a
+	ld a, [$cc47]
+	dec a
+	ld [$cc47], a
+	jr z, .asm_7287 ; 0x720b $7a
+	ld a, $1
+	ld [$ff00+$1], a
+	ld a, $81
+	ld [$ff00+$2], a
+	call DelayFrame
+	jr .asm_71eb ; 0x7218 $d1
+.asm_721a
+	call $22ed
+	call DelayFrame
+	call $22ed
+	ld c, $32
+	call DelayFrames
+	ld hl, $72bd
+	call PrintText
+	xor a
+	ld [$cc34], a
+	call $35ec
+	ld a, $1
+	ld [$cc34], a
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_728f ; 0x723e $4f
+	ld hl, $7848
+	ld b, $1c
+	call Bankswitch
+	call $3748
+	ld a, $b6
+	call $3740
+	ld hl, $72c2
+	call PrintText
+	ld hl, $cc47
+	ld a, $3
+	ld [hli], a
+	xor a
+	ld [hl], a
+	ld [$ff00+$a9], a
+	ld [$cc42], a
+	call $227f
+	ld hl, $cc47
+	ld a, [hli]
+	inc a
+	jr nz, .asm_72a8 ; 0x726b $3b
+	ld a, [hl]
+	inc a
+	jr nz, .asm_72a8 ; 0x726f $37
+	ld b, $a
+.asm_7273
+	call DelayFrame
+	call $22ed
+	dec b
+	jr nz, .asm_7273 ; 0x727a $f7
+	call $72d7
+	ld hl, $72c8
+	call PrintText
+	jr .asm_7298 ; 0x7285 $11
+.asm_7287
+	ld hl, $72b3
+	call PrintText
+	jr .asm_7298 ; 0x728d $9
+.asm_728f
+	call $72d7
+	ld hl, $72cd
+	call PrintText
+.asm_7298
+	xor a
+	ld hl, $cc47
+	ld [hli], a
+	ld [hl], a
+	ld hl, $d72e
+	res 6, [hl]
+	xor a
+	ld [$cc34], a
+	ret
+.asm_72a8
+	xor a
+	ld [hld], a
+	ld [hl], a
+	ld hl, $5c0a
+	ld b, $1
+	jp Bankswitch
+; 0x72b3
+
+UnnamedText_72b3: ; 0x72b3
+	TX_FAR _UnnamedText_72b3
+	db $50
+; 0x72b3 + 5 bytes
+
+UnnamedText_72b8: ; 0x72b8
+	TX_FAR _UnnamedText_72b8
+	db $50
+; 0x72b8 + 5 bytes
+
+UnnamedText_72bd: ; 0x72bd
+	TX_FAR _UnnamedText_72bd
+	db $50
+; 0x72bd + 5 bytes
+
+UnnamedText_72c2: ; 0x72c2
+	TX_FAR UnnamedText_a29cc
+	db $a, $50
+
+UnnamedText_72c8: ; 0x72c8
+	TX_FAR _UnnamedText_72c8
+	db $50
+; 0x72c8 + 5 bytes
+
+UnnamedText_72cd: ; 0x72cd
+	TX_FAR _UnnamedText_72cd
+	db $50
+; 0x72cd + 5 bytes
+
+UnnamedText_72d2: ; 0x72d2
+	TX_FAR _UnnamedText_72d2
+	db $50
+; 0x72d2 + 5 bytes
+
+INCBIN "baserom.gbc",$72d7,$4b6
+
+FieldMoveNames: ; 778D
+	db "CUT@"
+	db "FLY@"
+	db "@"
+	db "SURF@"
+	db "STRENGTH@"
+	db "FLASH@"
+	db "DIG@"
+	db "TELEPORT@"
+	db "SOFTBOILED@"
+
+PokemonMenuEntries: ; 77C2
+	db "STATS",$4E
+	db "SWITCH",$4E
+	db "CANCEL@"
+
+INCBIN "baserom.gbc",$77d6,$78dc - $77d6
+
+UnnamedText_78dc: ; 0x78dc
+	TX_FAR _UnnamedText_78dc
+	db $50
+; 0x78dc + 5 bytes
+
+UnnamedText_78e1: ; 0x78e1
+	TX_FAR _UnnamedText_78e1
+	db $50
+; 0x78e1 + 5 bytes
+
+INCBIN "baserom.gbc",$78e6,$20f
+
+PlayersPCMenuEntries: ; 7AF5
+	db "WITHDRAW ITEM",$4E
+	db "DEPOSIT ITEM",$4E
+	db "TOSS ITEM",$4E
+	db "LOG OFF@"
+
+UnnamedText_7b22: ; 0x7b22
+	TX_FAR _UnnamedText_7b22
+	db $50
+; 0x7b22 + 5 bytes
+
+UnnamedText_7b27: ; 0x7b27
+	TX_FAR _UnnamedText_7b27
+	db $50
+; 0x7b27 + 5 bytes
+
+UnnamedText_7b2c: ; 0x7b2c
+	TX_FAR _UnnamedText_7b2c
+	db $50
+; 0x7b2c + 5 bytes
+
+UnnamedText_7b31: ; 0x7b31
+	TX_FAR _UnnamedText_7b31
+	db $50
+; 0x7b31 + 5 bytes
+
+UnnamedText_7b36: ; 0x7b36
+	TX_FAR _UnnamedText_7b36
+	db $50
+; 0x7b36 + 5 bytes
+
+UnnamedText_7b3b: ; 0x7b3b
+	TX_FAR _UnnamedText_7b3b
+	db $50
+; 0x7b3b + 5 bytes
+
+UnnamedText_7b40: ; 0x7b40
+	TX_FAR _UnnamedText_7b40
+	db $50
+; 0x7b40 + 5 bytes
+
+UnnamedText_7b45: ; 0x7b45
+	TX_FAR _UnnamedText_7b45
+	db $50
+; 0x7b45 + 5 bytes
+
+UnnamedText_7b4a: ; 0x7b4a
+	TX_FAR _UnnamedText_7b4a
+	db $50
+; 0x7b4a + 5 bytes
+
+UnnamedText_7b4f: ; 0x7b4f
+	TX_FAR _UnnamedText_7b4f
+	db $50
+; 0x7b4f + 5 bytes
+
+UnnamedText_7b54: ; 0x7b54
+	TX_FAR _UnnamedText_7b54
+	db $50
+; 0x7b54 + 5 bytes
+
+UnnamedText_7b59: ; 0x7b59
+	TX_FAR _UnnamedText_7b59
+	db $50
+; 0x7b59 + 5 bytes
+
+UnnamedText_7b5e: ; 0x7b5e
+	TX_FAR _UnnamedText_7b5e
+	db $50
+; 0x7b5e + 5 bytes
+
+UnnamedText_7b63: ; 0x7b63
+	TX_FAR _UnnamedText_7b63
+	db $50
+; 0x7b63 + 5 bytes
+
+INCBIN "baserom.gbc",$7b68,$e1
+
+SECTION "bank2",DATA,BANK[$2]
+
+INCBIN "baserom.gbc",$8000,$822E - $8000
+
+;Music Headers
+;Pallet Town
+PalletTown_mh: ; 0x822E - 0x8236
+	db $80
+	dw PalletTown_md_1 ;Channel 1 ($A7C5 - $A85E)
+	db $01
+	dw PalletTown_md_2 ;Channel 2 ($A85f - $A8DD)
+	db $02
+	dw PalletTown_md_3 ;Channel 3 ($A8DE - $AA75)
+
+;Pokemon Center
+Pokecenter_mh: ; 0x8237 - 0x823F
+	db $80
+	dw Pokecenter_md_1 ;Channel 1 ($BE56 - $BEF8)
+	db $01
+	dw Pokecenter_md_2 ;Channel 2 ($BEF9 - $BF6F)
+	db $02
+	dw Pokecenter_md_3 ;Channel 3 ($BF70 - $BFFF)
+
+;Gyms
+Gym_mh: ; 0x8240 - 0x8248
+	db $80
+	dw Gym_md_1 ;Channel 1 ($BCBB - $BD6A)
+	db $01
+	dw Gym_md_2 ;Channel 2 ($BD6B - $BDF9)
+	db $02
+	dw Gym_md_3 ;Channel 3 ($BDFA - $BE55)
+
+;Viridian City, Pewter City, Saffron City
+Cities1_mh: ; 0x8249 - 0x8254
+	db $C0
+	dw Cities1_md_1 ;Channel 1
+	db $01
+	dw Cities1_md_2 ;Channel 2
+	db $02
+	dw Cities1_md_3 ;Channel 3
+	db $03
+	dw Cities1_md_4 ;Channel 4
+
+;Cerulean City, Fuchsia City
+Cities2_mh: ; 0x8255 - 0x825D
+	db $80
+	dw Cities2_md_1 ;Channel 1
+	db $01
+	dw Cities2_md_2 ;Channel 2
+	db $02
+	dw Cities2_md_3 ;Channel 3
+
+;Celadon City
+Celadon_mh: ; 0x825E - 0x8266
+	db $80
+	dw Celadon_md_1 ;Channel 1
+	db $01
+	dw Celadon_md_2 ;Channel 2
+	db $02
+	dw Celadon_md_3 ;Channel 3
+
+;Cinnabar Island
+Cinnabar_mh: ; 0x8267 - 0x826F
+	db $80
+	dw Cinnabar_md_1 ;Channel 1
+	db $01
+	dw Cinnabar_md_2 ;Channel 2
+	db $02
+	dw Cinnabar_md_3 ;Channel 3
+
+;Vermilion City
+Vermilion_mh: ; 0x8270 - 0x827B
+	db $C0
+	dw Vermilion_md_1 ;Channel 1
+	db $01
+	dw Vermilion_md_2 ;Channel 2
+	db $02
+	dw Vermilion_md_3 ;Channel 3
+	db $03
+	dw Vermilion_md_4 ;Channel 4
+
+;Lavender Town
+Lavender_mh: ; 0x827C - 0x8287
+	db $C0
+	dw Lavender_md_1 ;Channel 1
+	db $01
+	dw Lavender_md_2 ;Channel 2
+	db $02
+	dw Lavender_md_3 ;Channel 3
+	db $03
+	dw Lavender_md_4 ;Channel 4
+
+;SS Anne
+SSAnne_mh: ; 0x8288 - 0x8290
+	db $80
+	dw SSAnne_md_1 ;Channel 1
+	db $01
+	dw SSAnne_md_2 ;Channel 2
+	db $02
+	dw SSAnne_md_3 ;Channel 3
+
+;Meet Prof. Oak
+MeetProfOak_mh: ; 0x8291 - 0x8299
+	db $80
+	dw MeetProfOak_md_1 ;Channel 1
+	db $01
+	dw MeetProfOak_md_2 ;Channel 2
+	db $02
+	dw MeetProfOak_md_3 ;Channel 3
+
+;Meet Rival
+MeetRival_mh: ; 0x829A - 0x82A2
+	db $80
+	dw MeetRival_md_1 ;Channel 1
+	db $01
+	dw MeetRival_md_2 ;Channel 2
+	db $02
+	dw MeetRival_md_3 ;Channel 3
+
+;Guy walks you to museum
+MuseumGuy_mh: ; 0x82A3 - 0x82AE
+	db $C0
+	dw MuseumGuy_md_1 ;Channel 1
+	db $01
+	dw MuseumGuy_md_2 ;Channel 2
+	db $02
+	dw MuseumGuy_md_3 ;Channel 3
+	db $03
+	dw MuseumGuy_md_4 ;Channel 4
+
+;Safari Zone
+SafariZone_mh: ; 0x82AF - 0x82B7
+	db $80
+	dw SafariZone_md_1 ;Channel 1
+	db $01
+	dw SafariZone_md_2 ;Channel 2
+	db $02
+	dw SafariZone_md_3 ;Channel 3
+
+;Pokemon Get Healed
+PkmnHealed_mh: ; 0x82B8 - 0x82C0
+	db $80
+	dw PkmnHealed_md_1 ;Channel 1
+	db $01
+	dw PkmnHealed_md_2 ;Channel 2
+	db $02
+	dw PkmnHealed_md_3 ;Channel 3
+
+;Routes 1 and 2
+Routes1_mh: ; 0x82C1 - 0x82CC
+	db $C0
+	dw Routes1_md_1 ;Channel 1
+	db $01
+	dw Routes1_md_2 ;Channel 2
+	db $02
+	dw Routes1_md_3 ;Channel 3
+	db $03
+	dw Routes1_md_4 ;Channel 4
+
+;Routes 24 and 25
+Routes2_mh: ; 0x82CD - 0x82D8
+	db $C0
+	dw Routes2_md_1 ;Channel 1
+	db $01
+	dw Routes2_md_2 ;Channel 2
+	db $02
+	dw Routes2_md_3 ;Channel 3
+	db $03
+	dw Routes2_md_4 ;Channel 4
+
+;Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22
+Routes3_mh: ; 0x82D9 - 0x82E4
+	db $C0
+	dw Routes3_md_1 ;Channel 1
+	db $01
+	dw Routes3_md_2 ;Channel 2
+	db $02
+	dw Routes3_md_3 ;Channel 3
+	db $03
+	dw Routes3_md_4 ;Channel 4
+
+;Routes 11, 12, 13, 14, 15
+Routes4_mh: ; 0x82E5 - 0x82F0
+	db $C0
+	dw Routes4_md_1 ;Channel 1
+	db $01
+	dw Routes4_md_2 ;Channel 2
+	db $02
+	dw Routes4_md_3 ;Channel 3
+	db $03
+	dw Routes4_md_4 ;Channel 4
+
+;Indigo Plateau
+IndigoPlateau_mh: ; 0x82F1 - 0x82FC
+	db $C0
+	dw IndigoPlateau_md_1 ;Channel 1
+	db $01
+	dw IndigoPlateau_md_2 ;Channel 2
+	db $02
+	dw IndigoPlateau_md_3 ;Channel 3
+	db $03
+	dw IndigoPlateau_md_4 ;Channel 4
+
+INCLUDE "music.asm"
+	
+SECTION "bank3",DATA,BANK[$3]
+
+INCBIN "baserom.gbc",$C000,$C23D - $C000
+
+; see also MapHeaderPointers
+MapHeaderBanks: ; 423D
+	db BANK(PalletTown_h) ;PALLET_TOWN
+	db BANK(ViridianCity_h) ; VIRIDIAN_CITY
+	db BANK(PewterCity_h) ; PEWTER_CITY
+	db BANK(CeruleanCity_h) ; CERULEAN_CITY
+	db BANK(LavenderTown_h) ; LAVENDER_TOWN
+	db BANK(VermilionCity_h) ; VERMILION_CITY
+	db BANK(CeladonCity_h) ; CELADON_CITY
+	db BANK(FuchsiaCity_h) ; FUCHSIA_CITY
+	db BANK(CinnabarIsland_h) ; CINNABAR_ISLAND
+	db BANK(IndigoPlateau_h) ; INDIGO_PLATEAU
+	db BANK(SaffronCity_h) ; SAFFRON_CITY
+	db $1 ; unused
+	db BANK(Route1_h) ; ROUTE_1
+	db BANK(Route2_h) ; ROUTE_2
+	db BANK(Route3_h) ; ROUTE_3
+	db BANK(Route4_h) ; ROUTE_4
+	db BANK(Route5_h) ; ROUTE_5
+	db BANK(Route6_h) ; ROUTE_6
+	db BANK(Route7_h) ; ROUTE_7
+	db BANK(Route8_h) ; ROUTE_8
+	db BANK(Route9_h) ; ROUTE_9
+	db BANK(Route10_h) ; ROUTE_10
+	db BANK(Route11_h) ; ROUTE_11
+	db BANK(Route12_h) ; ROUTE_12
+	db BANK(Route13_h) ; ROUTE_13
+	db BANK(Route14_h) ; ROUTE_14
+	db BANK(Route15_h) ; ROUTE_15
+	db BANK(Route16_h) ; ROUTE_16
+	db BANK(Route17_h) ; ROUTE_17
+	db BANK(Route18_h) ; ROUTE_18
+	db BANK(Route19_h) ; ROUTE_19
+	db BANK(Route20_h) ; ROUTE_20
+	db BANK(Route21_h) ; ROUTE_21
+	db BANK(Route22_h) ; ROUTE_22
+	db BANK(Route23_h) ; ROUTE_23
+	db BANK(Route24_h) ; ROUTE_24
+	db BANK(Route25_h) ; ROUTE_25
+	db BANK(RedsHouse1F_h)
+	db BANK(RedsHouse2F_h)
+	db BANK(BluesHouse_h)
+	db BANK(OaksLab_h)
+	db BANK(ViridianPokecenter_h)
+	db BANK(ViridianMart_h)
+	db BANK(School_h)
+	db BANK(ViridianHouse_h)
+	db BANK(ViridianGym_h)
+	db BANK(DiglettsCaveRoute2_h)
+	db BANK(ViridianForestexit_h)
+	db BANK(Route2House_h)
+	db BANK(Route2Gate_h)
+	db BANK(ViridianForestEntrance_h)
+	db BANK(ViridianForest_h)
+	db BANK(MuseumF1_h)
+	db BANK(MuseumF2_h)
+	db BANK(PewterGym_h)
+	db BANK(PewterHouse1_h)
+	db BANK(PewterMart_h)
+	db BANK(PewterHouse2_h)
+	db BANK(PewterPokecenter_h)
+	db BANK(MtMoon1_h)
+	db BANK(MtMoon2_h)
+	db BANK(MtMoon3_h)
+	db BANK(CeruleanHouseTrashed_h)
+	db BANK(CeruleanHouse2_h)
+	db BANK(CeruleanPokecenter_h)
+	db BANK(CeruleanGym_h)
+	db BANK(BikeShop_h)
+	db BANK(CeruleanMart_h)
+	db BANK(MtMoonPokecenter_h)
+	db BANK(CeruleanHouseTrashed_h)
+	db BANK(Route5Gate_h)
+	db BANK(UndergroundTunnelEntranceRoute5_h)
+	db BANK(DayCareM_h)
+	db BANK(Route6Gate_h)
+	db BANK(UndergroundTunnelEntranceRoute6_h)
+	db $17 ;FREEZE
+	db BANK(Route7Gate_h)
+	db BANK(UndergroundPathEntranceRoute7_h)
+	db $17 ;FREEZE
+	db BANK(Route8Gate_h)
+	db BANK(UndergroundPathEntranceRoute8_h)
+	db BANK(RockTunnelPokecenter_h)
+	db BANK(RockTunnel1_h)
+	db BANK(PowerPlant_h)
+	db BANK(Route11Gate_h)
+	db BANK(DiglettsCaveEntranceRoute11_h)
+	db BANK(Route11GateUpstairs_h)
+	db BANK(Route12Gate_h)
+	db BANK(BillsHouse_h)
+	db BANK(VermilionPokecenter_h)
+	db BANK(FanClub_h)
+	db BANK(VermilionMart_h)
+	db BANK(VermilionGym_h)
+	db BANK(VermilionHouse1_h)
+	db BANK(VermilionDock_h)
+	db BANK(SSAnne1_h)
+	db BANK(SSAnne2_h)
+	db BANK(SSAnne3_h)
+	db BANK(SSAnne4_h)
+	db BANK(SSAnne5_h)
+	db BANK(SSAnne6_h)
+	db BANK(SSAnne7_h)
+	db BANK(SSAnne8_h)
+	db BANK(SSAnne9_h)
+	db BANK(SSAnne10_h)
+	db $1D ;unused
+	db $1D ;unused
+	db $1D ;unused
+	db BANK(VictoryRoad1_h)
+	db $1D ;unused
+	db $1D ;unused
+	db $1D ;unused
+	db $1D ;unused
+	db BANK(Lance_h)
+	db $1D ;unused
+	db $1D ;unused
+	db $1D ;unused
+	db $1D ;unused
+	db BANK(HallofFameRoom_h)
+	db BANK(UndergroundPathNS_h)
+	db BANK(Gary_h)
+	db BANK(UndergroundPathWE_h)
+	db BANK(CeladonMart1_h)
+	db BANK(CeladonMart2_h)
+	db BANK(CeladonMart3_h)
+	db BANK(CeladonMart4_h)
+	db BANK(CeladonMartRoof_h)
+	db BANK(CeladonMartElevator_h)
+	db BANK(CeladonMansion1_h)
+	db BANK(CeladonMansion2_h)
+	db BANK(CeladonMansion3_h)
+	db BANK(CeladonMansion4_h)
+	db BANK(CeladonMansion5_h)
+	db BANK(CeladonPokecenter_h)
+	db BANK(CeladonGym_h)
+	db BANK(CeladonGameCorner_h)
+	db BANK(CeladonMart5_h)
+	db BANK(CeladonPrizeRoom_h)
+	db BANK(CeladonDiner_h)
+	db BANK(CeladonHouse_h)
+	db BANK(CeladonHotel_h)
+	db BANK(LavenderPokecenter_h)
+	db BANK(PokemonTower1_h)
+	db BANK(PokemonTower2_h)
+	db BANK(PokemonTower3_h)
+	db BANK(PokemonTower4_h)
+	db BANK(PokemonTower5_h)
+	db BANK(PokemonTower6_h)
+	db BANK(PokemonTower7_h)
+	db BANK(LavenderHouse1_h)
+	db BANK(LavenderMart_h)
+	db BANK(LavenderHouse2_h)
+	db BANK(FuchsiaMart_h)
+	db BANK(FuchsiaHouse1_h)
+	db BANK(FuchsiaPokecenter_h)
+	db BANK(FuchsiaHouse2_h)
+	db BANK(SafariZoneEntrance_h)
+	db BANK(FuchsiaGym_h)
+	db BANK(FuchsiaMeetingRoom_h)
+	db BANK(SeafoamIslands2_h)
+	db BANK(SeafoamIslands3_h)
+	db BANK(SeafoamIslands4_h)
+	db BANK(SeafoamIslands5_h)
+	db BANK(VermilionHouse2_h)
+	db BANK(FuchsiaHouse3_h)
+	db BANK(Mansion1_h)
+	db BANK(CinnabarGym_h)
+	db BANK(Lab1_h)
+	db BANK(Lab2_h)
+	db BANK(Lab3_h)
+	db BANK(Lab4_h)
+	db BANK(CinnabarPokecenter_h)
+	db BANK(CinnabarMart_h)
+	db $1D
+	db BANK(IndigoPlateauLobby_h)
+	db BANK(CopycatsHouseF1_h)
+	db BANK(CopycatsHouseF2_h)
+	db BANK(FightingDojo_h)
+	db BANK(SaffronGym_h)
+	db BANK(SaffronHouse1_h)
+	db BANK(SaffronMart_h)
+	db BANK(SilphCo1_h)
+	db BANK(SaffronPokecenter_h)
+	db BANK(SaffronHouse2_h)
+	db BANK(Route15Gate_h)
+	db $12
+	db BANK(Route16GateMap_h)
+	db BANK(Route16GateUpstairs_h)
+	db BANK(Route16House_h)
+	db BANK(Route12House_h)
+	db BANK(Route18Gate_h)
+	db BANK(Route18GateHeader_h)
+	db BANK(SeafoamIslands1_h)
+	db BANK(Route22Gate_h)
+	db BANK(VictoryRoad2_h)
+	db BANK(Route12GateUpstairs_h)
+	db BANK(VermilionHouse3_h)
+	db BANK(DiglettsCave_h)
+	db BANK(VictoryRoad3_h)
+	db BANK(RocketHideout1_h)
+	db BANK(RocketHideout2_h)
+	db BANK(RocketHideout3_h)
+	db BANK(RocketHideout4_h)
+	db BANK(RocketHideoutElevator_h)
+	db $01
+	db $01
+	db $01
+	db BANK(SilphCo2_h)
+	db BANK(SilphCo3_h)
+	db BANK(SilphCo4_h)
+	db BANK(SilphCo5_h)
+	db BANK(SilphCo6_h)
+	db BANK(SilphCo7_h)
+	db BANK(SilphCo8_h)
+	db BANK(Mansion2_h)
+	db BANK(Mansion3_h)
+	db BANK(Mansion4_h)
+	db BANK(SafariZoneEast_h)
+	db BANK(SafariZoneNorth_h)
+	db BANK(SafariZoneWest_h)
+	db BANK(SafariZoneCenter_h)
+	db BANK(SafariZoneRestHouse1_h)
+	db BANK(SafariZoneSecretHouse_h)
+	db BANK(SafariZoneRestHouse2_h)
+	db BANK(SafariZoneRestHouse3_h)
+	db BANK(SafariZoneRestHouse4_h)
+	db BANK(UnknownDungeon2_h)
+	db BANK(UnknownDungeon3_h)
+	db BANK(UnknownDungeon1_h)
+	db BANK(NameRater_h)
+	db BANK(CeruleanHouse3_h)
+	db $01
+	db BANK(RockTunnel2_h)
+	db BANK(SilphCo9_h)
+	db BANK(SilphCo10_h)
+	db BANK(SilphCo11_h)
+	db BANK(SilphCoElevator_h)
+	db $11
+	db $11
+	db BANK(BattleCenterM_h)
+	db BANK(TradeCenterM_h)
+	db $11
+	db $11
+	db $11
+	db $11
+	db BANK(Lorelei_h)
+	db BANK(Bruno_h)
+	db BANK(Agatha_h)
+
+INCBIN "baserom.gbc",$C335,$C766-$C335
+	ld hl, TilesetsHeadPtr
+
+INCBIN "baserom.gbc",$C769,$C7BE-$C769
+
+TilesetsHeadPtr: ; 0xC7BE
+	TSETHEAD Tset00_Block,Tset00_GFX,Tset00_Coll,$FF,$FF,$FF,$52,2
+	TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0
+	TSETHEAD Tset03_Block,Tset03_GFX,Tset03_Coll,$FF,$FF,$FF,$20,1
+	TSETHEAD Tset01_Block,Tset01_GFX,Tset01_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2
+	TSETHEAD Tset02_Block,Tset02_GFX,Tset02_Coll,$18,$19,$1E,$FF,0
+	TSETHEAD Tset05_Block,Tset05_GFX,Tset05_Coll,$3A,$FF,$FF,$FF,2
+	TSETHEAD Tset08_Block,Tset08_GFX,Tset08_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
+	TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
+	TSETHEAD Tset0B_Block,Tset0B_GFX,Tset0B_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset09_Block,Tset09_GFX,Tset09_Coll,$17,$32,$FF,$FF,0
+	TSETHEAD Tset0D_Block,Tset0D_GFX,Tset0D_Coll,$FF,$FF,$FF,$FF,1
+	TSETHEAD Tset0E_Block,Tset0E_GFX,Tset0E_Coll,$FF,$FF,$FF,$FF,1
+	TSETHEAD Tset0F_Block,Tset0F_GFX,Tset0F_Coll,$12,$FF,$FF,$FF,0
+	TSETHEAD Tset10_Block,Tset10_GFX,Tset10_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset11_Block,Tset11_GFX,Tset11_Coll,$FF,$FF,$FF,$FF,1
+	TSETHEAD Tset12_Block,Tset12_GFX,Tset12_Coll,$15,$36,$FF,$FF,0
+	TSETHEAD Tset13_Block,Tset13_GFX,Tset13_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset14_Block,Tset14_GFX,Tset14_Coll,$FF,$FF,$FF,$FF,0
+	TSETHEAD Tset15_Block,Tset15_GFX,Tset15_Coll,$07,$17,$FF,$FF,0
+	TSETHEAD Tset16_Block,Tset16_GFX,Tset16_Coll,$12,$FF,$FF,$FF,1
+	TSETHEAD Tset17_Block,Tset17_GFX,Tset17_Coll,$FF,$FF,$FF,$45,1
+; 0xC8DE
+
+INCBIN "baserom.gbc",$C8DE,$C8F5-$C8DE
+
+; data for default hidden/shown
+; objects for each map ($00-$F8)
+
+; Table of 2-Byte pointers, one pointer per map,
+; goes up to Map_F7, ends with $FFFF.
+MapHSPointers: ; 48F5
+	dw MapHS00
+	dw MapHS01
+	dw MapHS02
+	dw MapHS03
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS0A
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS0D
+	dw MapHSXX
+	dw MapHS0F
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS14
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS17
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS1A
+	dw MapHS1B
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS21
+	dw MapHSXX
+	dw MapHS23
+	dw MapHS24
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS27
+	dw MapHS28
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS2D
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS33
+	dw MapHS34
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS3B
+	dw MapHSXX
+	dw MapHS3D
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS53
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS58
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS60
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS66
+	dw MapHS67
+	dw MapHS68
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS6C
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS78
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS84
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS87
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS8F
+	dw MapHS90
+	dw MapHS91
+	dw MapHS92
+	dw MapHS93
+	dw MapHS94
+	dw MapHS95
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS9B
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHS9F
+	dw MapHSA0
+	dw MapHSA1
+	dw MapHSA2
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSA5
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSB1
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSB5
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSC0
+	dw MapHSXX
+	dw MapHSC2
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSC6
+	dw MapHSC7
+	dw MapHSC8
+	dw MapHSC9
+	dw MapHSCA
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSCF
+	dw MapHSD0
+	dw MapHSD1
+	dw MapHSD2
+	dw MapHSD3
+	dw MapHSD4
+	dw MapHSD5
+	dw MapHSD6
+	dw MapHSD7
+	dw MapHSD8
+	dw MapHSD9
+	dw MapHSDA
+	dw MapHSDB
+	dw MapHSDC
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSE2
+	dw MapHSE3
+	dw MapHSE4
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSE9
+	dw MapHSEA
+	dw MapHSEB
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSF4
+	dw MapHSXX
+	dw MapHSXX
+	dw MapHSXX
+	dw $FFFF
+
+; Structure:
+; 3 bytes per object
+; [Map_ID][Object_ID][H/S]
+;
+; Program stops reading when either:
+; a) Map_ID = $FF
+; b) Map_ID ≠ currentMapID
+;
+; This Data is loaded into RAM at $D5CE-$D5F?.
+
+; These constants come from the bytes for Predef functions:
+Hide	equ $11
+Show	equ $15
+
+MapHSXX:
+	db $FF,$FF,$FF
+MapHS00:
+	db PALLET_TOWN,$01,Hide
+MapHS01:
+	db VIRIDIAN_CITY,$05,Show
+	db VIRIDIAN_CITY,$07,Hide
+MapHS02:
+	db PEWTER_CITY,$03,Show
+	db PEWTER_CITY,$05,Show
+MapHS03:
+	db CERULEAN_CITY,$01,Hide
+	db CERULEAN_CITY,$02,Show
+	db CERULEAN_CITY,$06,Hide
+	db CERULEAN_CITY,$0A,Show
+	db CERULEAN_CITY,$0B,Show
+MapHS0A:
+	db SAFFRON_CITY,$01,Show
+	db SAFFRON_CITY,$02,Show
+	db SAFFRON_CITY,$03,Show
+	db SAFFRON_CITY,$04,Show
+	db SAFFRON_CITY,$05,Show
+	db SAFFRON_CITY,$06,Show
+	db SAFFRON_CITY,$07,Show
+	db SAFFRON_CITY,$08,Hide
+	db SAFFRON_CITY,$09,Hide
+	db SAFFRON_CITY,$0A,Hide
+	db SAFFRON_CITY,$0B,Hide
+	db SAFFRON_CITY,$0C,Hide
+	db SAFFRON_CITY,$0D,Hide
+	db SAFFRON_CITY,$0E,Show
+	db SAFFRON_CITY,$0F,Hide
+MapHS0D:
+	db ROUTE_2,$01,Show
+	db ROUTE_2,$02,Show
+MapHS0F:
+	db ROUTE_4,$03,Show
+MapHS14:
+	db ROUTE_9,$0A,Show
+MapHS17:
+	db ROUTE_12,$01,Show
+	db ROUTE_12,$09,Show
+	db ROUTE_12,$0A,Show
+MapHS1A:
+	db ROUTE_15,$0B,Show
+MapHS1B:
+	db ROUTE_16,$07,Show
+MapHS21:
+	db ROUTE_22,$01,Hide
+	db ROUTE_22,$02,Hide
+MapHS23:
+	db ROUTE_24,$01,Show
+	db ROUTE_24,$08,Show
+MapHS24:
+	db ROUTE_25,$0A,Show
+MapHS27:
+	db BLUES_HOUSE,$01,Show
+	db BLUES_HOUSE,$02,Hide
+	db BLUES_HOUSE,$03,Show
+MapHS28:
+	db OAKS_LAB,$01,Show
+	db OAKS_LAB,$02,Show
+	db OAKS_LAB,$03,Show
+	db OAKS_LAB,$04,Show
+	db OAKS_LAB,$05,Hide
+	db OAKS_LAB,$06,Show
+	db OAKS_LAB,$07,Show
+	db OAKS_LAB,$08,Hide
+MapHS2D:
+	db VIRIDIAN_GYM,$01,Show
+	db VIRIDIAN_GYM,$0B,Show
+MapHS34:
+	db MUSEUM_1F,$05,Show
+MapHSE4:
+	db UNKNOWN_DUNGEON_1,$01,Show
+	db UNKNOWN_DUNGEON_1,$02,Show
+	db UNKNOWN_DUNGEON_1,$03,Show
+MapHS8F:
+	db POKEMONTOWER_2,$01,Show
+MapHS90:
+	db POKEMONTOWER_3,$04,Show
+MapHS91:
+	db POKEMONTOWER_4,$04,Show
+	db POKEMONTOWER_4,$05,Show
+	db POKEMONTOWER_4,$06,Show
+MapHS92:
+	db POKEMONTOWER_5,$06,Show
+MapHS93:
+	db POKEMONTOWER_6,$04,Show
+	db POKEMONTOWER_6,$05,Show
+MapHS94:
+	db POKEMONTOWER_7,$01,Show
+	db POKEMONTOWER_7,$02,Show
+	db POKEMONTOWER_7,$03,Show
+	db POKEMONTOWER_7,$04,Show
+MapHS95:
+	db LAVENDER_HOUSE_1,$05,Hide
+MapHS84:
+	db CELADON_MANSION_5,$02,Show
+MapHS87:
+	db GAME_CORNER,$0B,Show
+MapHS9B:
+	db FUCHSIA_HOUSE_2,$02,Show
+MapHSA5:
+	db MANSION_1,$02,Show
+	db MANSION_1,$03,Show
+MapHSB1:
+	db FIGHTINGDOJO,$06,Show
+	db FIGHTINGDOJO,$07,Show
+MapHSB5:
+	db SILPH_CO_1F,$01,Hide
+MapHS53:
+	db POWER_PLANT,$01,Show
+	db POWER_PLANT,$02,Show
+	db POWER_PLANT,$03,Show
+	db POWER_PLANT,$04,Show
+	db POWER_PLANT,$05,Show
+	db POWER_PLANT,$06,Show
+	db POWER_PLANT,$07,Show
+	db POWER_PLANT,$08,Show
+	db POWER_PLANT,$09,Show
+	db POWER_PLANT,$0A,Show
+	db POWER_PLANT,$0B,Show
+	db POWER_PLANT,$0C,Show
+	db POWER_PLANT,$0D,Show
+	db POWER_PLANT,$0E,Show
+MapHSC2:
+	db VICTORY_ROAD_2,$06,Show
+	db VICTORY_ROAD_2,$07,Show
+	db VICTORY_ROAD_2,$08,Show
+	db VICTORY_ROAD_2,$09,Show
+	db VICTORY_ROAD_2,$0A,Show
+	db VICTORY_ROAD_2,$0D,Show
+MapHS58:
+	db BILLS_HOUSE,$01,Show
+	db BILLS_HOUSE,$02,Hide
+	db BILLS_HOUSE,$03,Hide
+MapHS33:
+	db VIRIDIAN_FOREST,$05,Show
+	db VIRIDIAN_FOREST,$06,Show
+	db VIRIDIAN_FOREST,$07,Show
+MapHS3B:
+	db MT_MOON_1,$08,Show
+	db MT_MOON_1,$09,Show
+	db MT_MOON_1,$0A,Show
+	db MT_MOON_1,$0B,Show
+	db MT_MOON_1,$0C,Show
+	db MT_MOON_1,$0D,Show
+MapHS3D:
+	db MT_MOON_3,$06,Show
+	db MT_MOON_3,$07,Show
+	db MT_MOON_3,$08,Show
+	db MT_MOON_3,$09,Show
+MapHS60:
+	db SS_ANNE_2,$02,Hide
+MapHS66:
+	db SS_ANNE_8,$0A,Show
+MapHS67:
+	db SS_ANNE_9,$06,Show
+	db SS_ANNE_9,$09,Show
+MapHS68:
+	db SS_ANNE_10,$09,Show
+	db SS_ANNE_10,$0A,Show
+	db SS_ANNE_10,$0B,Show
+MapHSC6:
+	db VICTORY_ROAD_3,$05,Show
+	db VICTORY_ROAD_3,$06,Show
+	db VICTORY_ROAD_3,$0A,Show
+MapHSC7:
+	db ROCKET_HIDEOUT_1,$06,Show
+	db ROCKET_HIDEOUT_1,$07,Show
+MapHSC8:
+	db ROCKET_HIDEOUT_2,$02,Show
+	db ROCKET_HIDEOUT_2,$03,Show
+	db ROCKET_HIDEOUT_2,$04,Show
+	db ROCKET_HIDEOUT_2,$05,Show
+MapHSC9:
+	db ROCKET_HIDEOUT_3,$03,Show
+	db ROCKET_HIDEOUT_3,$04,Show
+MapHSCA:
+	db ROCKET_HIDEOUT_4,$01,Show
+	db ROCKET_HIDEOUT_4,$05,Show
+	db ROCKET_HIDEOUT_4,$06,Show
+	db ROCKET_HIDEOUT_4,$07,Show
+	db ROCKET_HIDEOUT_4,$08,Hide
+	db ROCKET_HIDEOUT_4,$09,Hide
+MapHSCF:
+	db SILPH_CO_2F,$01,Show
+	db SILPH_CO_2F,$02,Show
+	db SILPH_CO_2F,$03,Show
+	db SILPH_CO_2F,$04,Show
+	db SILPH_CO_2F,$05,Show
+MapHSD0:
+	db SILPH_CO_3F,$02,Show
+	db SILPH_CO_3F,$03,Show
+	db SILPH_CO_3F,$04,Show
+MapHSD1:
+	db SILPH_CO_4F,$02,Show
+	db SILPH_CO_4F,$03,Show
+	db SILPH_CO_4F,$04,Show
+	db SILPH_CO_4F,$05,Show
+	db SILPH_CO_4F,$06,Show
+	db SILPH_CO_4F,$07,Show
+MapHSD2:
+	db SILPH_CO_5F,$02,Show
+	db SILPH_CO_5F,$03,Show
+	db SILPH_CO_5F,$04,Show
+	db SILPH_CO_5F,$05,Show
+	db SILPH_CO_5F,$06,Show
+	db SILPH_CO_5F,$07,Show
+	db SILPH_CO_5F,$08,Show
+MapHSD3:
+	db SILPH_CO_6F,$06,Show
+	db SILPH_CO_6F,$07,Show
+	db SILPH_CO_6F,$08,Show
+	db SILPH_CO_6F,$09,Show
+	db SILPH_CO_6F,$0A,Show
+MapHSD4:
+	db SILPH_CO_7F,$05,Show
+	db SILPH_CO_7F,$06,Show
+	db SILPH_CO_7F,$07,Show
+	db SILPH_CO_7F,$08,Show
+	db SILPH_CO_7F,$09,Show
+	db SILPH_CO_7F,$0A,Show
+	db SILPH_CO_7F,$0B,Show
+	db SILPH_CO_7F,$0C,Show
+MapHSD5:
+	db SILPH_CO_8F,$02,Show
+	db SILPH_CO_8F,$03,Show
+	db SILPH_CO_8F,$04,Show
+MapHSE9:
+	db SILPH_CO_9F,$02,Show
+	db SILPH_CO_9F,$03,Show
+	db SILPH_CO_9F,$04,Show
+MapHSEA:
+	db SILPH_CO_10F,$01,Show
+	db SILPH_CO_10F,$02,Show
+	db SILPH_CO_10F,$03,Show
+	db SILPH_CO_10F,$04,Show
+	db SILPH_CO_10F,$05,Show
+	db SILPH_CO_10F,$06,Show
+MapHSEB:
+	db SILPH_CO_11F,$03,Show
+	db SILPH_CO_11F,$04,Show
+	db SILPH_CO_11F,$05,Show
+MapHSF4:
+	db $F4,$02,Show
+MapHSD6:
+	db MANSION_2,$02,Show
+MapHSD7:
+	db MANSION_3,$03,Show
+	db MANSION_3,$04,Show
+MapHSD8:
+	db MANSION_4,$03,Show
+	db MANSION_4,$04,Show
+	db MANSION_4,$05,Show
+	db MANSION_4,$06,Show
+	db MANSION_4,$08,Show
+MapHSD9:
+	db SAFARI_ZONE_EAST,$01,Show
+	db SAFARI_ZONE_EAST,$02,Show
+	db SAFARI_ZONE_EAST,$03,Show
+	db SAFARI_ZONE_EAST,$04,Show
+MapHSDA:
+	db SAFARI_ZONE_NORTH,$01,Show
+	db SAFARI_ZONE_NORTH,$02,Show
+MapHSDB:
+	db SAFARI_ZONE_WEST,$01,Show
+	db SAFARI_ZONE_WEST,$02,Show
+	db SAFARI_ZONE_WEST,$03,Show
+	db SAFARI_ZONE_WEST,$04,Show
+MapHSDC:
+	db SAFARI_ZONE_CENTER,$01,Show
+MapHSE2:
+	db UNKNOWN_DUNGEON_2,$01,Show
+	db UNKNOWN_DUNGEON_2,$02,Show
+	db UNKNOWN_DUNGEON_2,$03,Show
+MapHSE3:
+	db UNKNOWN_DUNGEON_3,$01,Show
+	db UNKNOWN_DUNGEON_3,$02,Show
+	db UNKNOWN_DUNGEON_3,$03,Show
+MapHS6C:
+	db VICTORY_ROAD_1,$03,Show
+	db VICTORY_ROAD_1,$04,Show
+MapHS78:
+	db CHAMPIONS_ROOM,$02,Hide
+MapHSC0:
+	db SEAFOAM_ISLANDS_1,$01,Show
+	db SEAFOAM_ISLANDS_1,$02,Show
+MapHS9F:
+	db SEAFOAM_ISLANDS_2,$01,Hide
+	db SEAFOAM_ISLANDS_2,$02,Hide
+MapHSA0:
+	db SEAFOAM_ISLANDS_3,$01,Hide
+	db SEAFOAM_ISLANDS_3,$02,Hide
+MapHSA1:
+	db SEAFOAM_ISLANDS_4,$02,Show
+	db SEAFOAM_ISLANDS_4,$03,Show
+	db SEAFOAM_ISLANDS_4,$05,Hide
+	db SEAFOAM_ISLANDS_4,$06,Hide
+MapHSA2:
+	db SEAFOAM_ISLANDS_5,$01,Hide
+	db SEAFOAM_ISLANDS_5,$02,Hide
+	db SEAFOAM_ISLANDS_5,$03,Show
+
+	db $FF
+
+INCBIN "baserom.gbc",$cd97,$cdbb - $cd97
+
+UnnamedText_cdbb: ; 0xcdbb
+	TX_FAR _UnnamedText_cdbb
+	db $50
+; 0xcdbb + 5 bytes
+
+INCBIN "baserom.gbc",$cdc0,$cdfa - $cdc0
+
+UnnamedText_cdfa: ; 0xcdfa
+	TX_FAR _UnnamedText_cdfa
+	db $50
+; 0xcdfa + 5 bytes
+
+UnnamedText_cdff: ; 0xcdff
+	TX_FAR _UnnamedText_cdff
+	db $50
+; 0xcdff + 5 bytes
+
+INCBIN "baserom.gbc",$ce04,$b4
+
+; wild pokemon data: from 4EB8 to 55C7
+
+LoadWildData: ; 4EB8
+	ld hl,WildDataPointers
+	ld a,[W_CURMAP]
+
+	; get wild data for current map
+	ld c,a
+	ld b,0
+	add hl,bc
+	add hl,bc
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a       ; hl now points to wild data for current map
+	ld a,[hli]
+	ld [W_GRASSRATE],a
+	and a
+	jr z,.NoGrassData\@ ; if no grass data, skip to surfing data
+	push hl
+	ld de,W_GRASSMONS ; otherwise, load grass data
+	ld bc,$0014
+	call CopyData
+	pop hl
+	ld bc,$0014
+	add hl,bc
+.NoGrassData\@
+	ld a,[hli]
+	ld [W_WATERRATE],a
+	and a
+	ret z        ; if no water data, we're done
+	ld de,W_WATERMONS  ; otherwise, load surfing data
+	ld bc,$0014
+	jp CopyData
+
+WildDataPointers: ; 4EEB
+	dw NoMons      ; PALLET_TOWN
+	dw NoMons      ; VIRIDIAN_CITY
+	dw NoMons      ; PEWTER_CITY
+	dw NoMons      ; CERULEAN_CITY
+	dw NoMons      ; LAVENDER_TOWN
+	dw NoMons      ; VERMILION_CITY
+	dw NoMons      ; CELADON_CITY
+	dw NoMons      ; FUCHSIA_CITY
+	dw NoMons      ; CINNABAR_ISLAND
+	dw NoMons      ; INDIGO_PLATEAU
+	dw NoMons      ; SAFFRON_CITY
+	dw NoMons      ; unused
+	dw Route1Mons  ; ROUTE_1
+	dw Route2Mons  ; ROUTE_2
+	dw Route3Mons  ; ROUTE_3
+	dw Route4Mons  ; ROUTE_4
+	dw Route5Mons  ; ROUTE_5
+	dw Route6Mons  ; ROUTE_6
+	dw Route7Mons  ; ROUTE_7
+	dw Route8Mons  ; ROUTE_8
+	dw Route9Mons  ; ROUTE_9
+	dw Route10Mons ; ROUTE_10
+	dw Route11Mons ; ROUTE_11
+	dw Route12Mons ; ROUTE_12
+	dw Route13Mons ; ROUTE_13
+	dw Route14Mons ; ROUTE_14
+	dw Route15Mons ; ROUTE_15
+	dw Route16Mons ; ROUTE_16
+	dw Route17Mons ; ROUTE_17
+	dw Route18Mons ; ROUTE_18
+	dw WaterMons   ; ROUTE_19
+	dw WaterMons   ; ROUTE_20
+	dw Route21Mons ; ROUTE_21
+	dw Route22Mons ; ROUTE_22
+	dw Route23Mons ; ROUTE_23
+	dw Route24Mons ; ROUTE_24
+	dw Route25Mons ; ROUTE_25
+	dw NoMons      ; REDS_HOUSE_1F
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw ForestMons ; ViridianForest
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw MoonMons1
+	dw MoonMonsB1
+	dw MoonMonsB2
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw TunnelMonsB1
+	dw PowerPlantMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw PlateauMons1
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw TowerMons1
+	dw TowerMons2
+	dw TowerMons3
+	dw TowerMons4
+	dw TowerMons5
+	dw TowerMons6
+	dw TowerMons7
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw IslandMonsB1
+	dw IslandMonsB2
+	dw IslandMonsB3
+	dw IslandMonsB4
+	dw NoMons
+	dw NoMons
+	dw MansionMons1
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw IslandMons1
+	dw NoMons
+	dw PlateauMons2
+	dw NoMons
+	dw NoMons
+	dw CaveMons
+	dw PlateauMons3
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw MansionMons2
+	dw MansionMons3
+	dw MansionMonsB1
+	dw ZoneMons1
+	dw ZoneMons2
+	dw ZoneMons3
+	dw ZoneMonsCenter
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw DungeonMons2
+	dw DungeonMonsB1
+	dw DungeonMons1
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw TunnelMonsB2
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw NoMons
+	dw $FFFF
+
+; wild pokemon data is divided into two parts.
+; first part:  pokemon found in grass
+; second part: pokemon found while surfing
+; each part goes as follows:
+	; if first byte == 00, then
+		; no wild pokemon on this map
+	; if first byte != 00, then
+		; first byte is encounter rate
+		; followed by 20 bytes:
+		; level, species (ten times)
+
+IF _RED
+NoMons:
+	db $00
+
+	db $00
+
+Route1Mons:
+	db $19
+	db 3,PIDGEY
+	db 3,RATTATA
+	db 3,RATTATA
+	db 2,RATTATA
+	db 2,PIDGEY
+	db 3,PIDGEY
+	db 3,PIDGEY
+	db 4,RATTATA
+	db 4,PIDGEY
+	db 5,PIDGEY
+
+	db $00
+
+Route2Mons:
+	db $19
+	db 3,RATTATA
+	db 3,PIDGEY
+	db 4,PIDGEY
+	db 4,RATTATA
+	db 5,PIDGEY
+	db 3,WEEDLE
+	db 2,RATTATA
+	db 5,RATTATA
+	db 4,WEEDLE
+	db 5,WEEDLE
+
+	db $00
+
+Route22Mons:
+	db $19
+	db 3,RATTATA
+	db 3,NIDORAN_M
+	db 4,RATTATA
+	db 4,NIDORAN_M
+	db 2,RATTATA
+	db 2,NIDORAN_M
+	db 3,SPEAROW
+	db 5,SPEAROW
+	db 3,NIDORAN_F
+	db 4,NIDORAN_F
+
+	db $00
+
+ForestMons:
+	db $08
+	db 4,WEEDLE
+	db 5,KAKUNA
+	db 3,WEEDLE
+	db 5,WEEDLE
+	db 4,KAKUNA
+	db 6,KAKUNA
+	db 4,METAPOD
+	db 3,CATERPIE
+	db 3,PIKACHU
+	db 5,PIKACHU
+
+	db $00
+
+Route3Mons:
+	db $14
+	db 6,PIDGEY
+	db 5,SPEAROW
+	db 7,PIDGEY
+	db 6,SPEAROW
+	db 7,SPEAROW
+	db 8,PIDGEY
+	db 8,SPEAROW
+	db 3,JIGGLYPUFF
+	db 5,JIGGLYPUFF
+	db 7,JIGGLYPUFF
+
+	db $00
+
+MoonMons1:
+	db $0A
+	db 8,ZUBAT
+	db 7,ZUBAT
+	db 9,ZUBAT
+	db 8,GEODUDE
+	db 6,ZUBAT
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 8,PARAS
+	db 11,ZUBAT
+	db 8,CLEFAIRY
+
+	db $00
+
+MoonMonsB1:
+	db $0A
+	db 8,ZUBAT
+	db 7,ZUBAT
+	db 7,GEODUDE
+	db 8,GEODUDE
+	db 9,ZUBAT
+	db 10,PARAS
+	db 10,ZUBAT
+	db 11,ZUBAT
+	db 9,CLEFAIRY
+	db 9,GEODUDE
+
+	db $00
+
+MoonMonsB2:
+	db $0A
+	db 9,ZUBAT
+	db 9,GEODUDE
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 11,ZUBAT
+	db 10,PARAS
+	db 12,PARAS
+	db 10,CLEFAIRY
+	db 12,ZUBAT
+	db 12,CLEFAIRY
+
+	db $00
+
+Route4Mons:
+	db $14
+	db 10,RATTATA
+	db 10,SPEAROW
+	db 8,RATTATA
+	db 6,EKANS
+	db 8,SPEAROW
+	db 10,EKANS
+	db 12,RATTATA
+	db 12,SPEAROW
+	db 8,EKANS
+	db 12,EKANS
+
+	db $00
+
+Route24Mons:
+	db $19
+	db 7,WEEDLE
+	db 8,KAKUNA
+	db 12,PIDGEY
+	db 12,ODDISH
+	db 13,ODDISH
+	db 10,ABRA
+	db 14,ODDISH
+	db 13,PIDGEY
+	db 8,ABRA
+	db 12,ABRA
+
+	db $00
+
+Route25Mons:
+	db $0F
+	db 8,WEEDLE
+	db 9,KAKUNA
+	db 13,PIDGEY
+	db 12,ODDISH
+	db 13,ODDISH
+	db 12,ABRA
+	db 14,ODDISH
+	db 10,ABRA
+	db 7,METAPOD
+	db 8,CATERPIE
+
+	db $00
+
+Route9Mons:
+	db $0F
+	db 16,RATTATA
+	db 16,SPEAROW
+	db 14,RATTATA
+	db 11,EKANS
+	db 13,SPEAROW
+	db 15,EKANS
+	db 17,RATTATA
+	db 17,SPEAROW
+	db 13,EKANS
+	db 17,EKANS
+
+	db $00
+
+Route5Mons:
+	db $0F
+	db 13,ODDISH
+	db 13,PIDGEY
+	db 15,PIDGEY
+	db 10,MANKEY
+	db 12,MANKEY
+	db 15,ODDISH
+	db 16,ODDISH
+	db 16,PIDGEY
+	db 14,MANKEY
+	db 16,MANKEY
+
+	db $00
+
+Route6Mons:
+	db $0F
+	db 13,ODDISH
+	db 13,PIDGEY
+	db 15,PIDGEY
+	db 10,MANKEY
+	db 12,MANKEY
+	db 15,ODDISH
+	db 16,ODDISH
+	db 16,PIDGEY
+	db 14,MANKEY
+	db 16,MANKEY
+
+	db $00
+
+Route11Mons:
+	db $0F
+	db 14,EKANS
+	db 15,SPEAROW
+	db 12,EKANS
+	db 9,DROWZEE
+	db 13,SPEAROW
+	db 13,DROWZEE
+	db 15,EKANS
+	db 17,SPEAROW
+	db 11,DROWZEE
+	db 15,DROWZEE
+
+	db $00
+
+TunnelMonsB1:
+	db $0F
+	db 16,ZUBAT
+	db 17,ZUBAT
+	db 17,GEODUDE
+	db 15,MACHOP
+	db 16,GEODUDE
+	db 18,ZUBAT
+	db 15,ZUBAT
+	db 17,MACHOP
+	db 13,ONIX
+	db 15,ONIX
+
+	db $00
+
+TunnelMonsB2:
+	db $0F
+	db 16,ZUBAT
+	db 17,ZUBAT
+	db 17,GEODUDE
+	db 15,MACHOP
+	db 16,GEODUDE
+	db 18,ZUBAT
+	db 17,MACHOP
+	db 17,ONIX
+	db 13,ONIX
+	db 18,GEODUDE
+
+	db $00
+
+Route10Mons:
+	db $0F
+	db 16,VOLTORB
+	db 16,SPEAROW
+	db 14,VOLTORB
+	db 11,EKANS
+	db 13,SPEAROW
+	db 15,EKANS
+	db 17,VOLTORB
+	db 17,SPEAROW
+	db 13,EKANS
+	db 17,EKANS
+
+	db $00
+
+Route12Mons:
+	db $0F
+	db 24,ODDISH
+	db 25,PIDGEY
+	db 23,PIDGEY
+	db 24,VENONAT
+	db 22,ODDISH
+	db 26,VENONAT
+	db 26,ODDISH
+	db 27,PIDGEY
+	db 28,GLOOM
+	db 30,GLOOM
+
+	db $00
+
+Route8Mons:
+	db $0F
+	db 18,PIDGEY
+	db 18,MANKEY
+	db 17,EKANS
+	db 16,GROWLITHE
+	db 20,PIDGEY
+	db 20,MANKEY
+	db 19,EKANS
+	db 17,GROWLITHE
+	db 15,GROWLITHE
+	db 18,GROWLITHE
+
+	db $00
+
+Route7Mons:
+	db $0F
+	db 19,PIDGEY
+	db 19,ODDISH
+	db 17,MANKEY
+	db 22,ODDISH
+	db 22,PIDGEY
+	db 18,MANKEY
+	db 18,GROWLITHE
+	db 20,GROWLITHE
+	db 19,MANKEY
+	db 20,MANKEY
+
+	db $00
+
+TowerMons1:
+	db $00
+
+	db $00
+
+TowerMons2:
+	db $00
+
+	db $00
+
+TowerMons3:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 24,GASTLY
+	db 20,CUBONE
+	db 22,CUBONE
+	db 25,HAUNTER
+
+	db $00
+
+TowerMons4:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,HAUNTER
+	db 20,CUBONE
+	db 22,CUBONE
+	db 24,GASTLY
+
+	db $00
+
+TowerMons5:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,HAUNTER
+	db 20,CUBONE
+	db 22,CUBONE
+	db 24,GASTLY
+
+	db $00
+
+TowerMons6:
+	db $0F
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 20,GASTLY
+	db 19,GASTLY
+	db 26,HAUNTER
+	db 22,CUBONE
+	db 24,CUBONE
+	db 28,HAUNTER
+
+	db $00
+
+TowerMons7:
+	db $0F
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 20,GASTLY
+	db 28,HAUNTER
+	db 22,CUBONE
+	db 24,CUBONE
+	db 28,HAUNTER
+	db 30,HAUNTER
+
+	db $00
+
+Route13Mons:
+	db $14
+	db 24,ODDISH
+	db 25,PIDGEY
+	db 27,PIDGEY
+	db 24,VENONAT
+	db 22,ODDISH
+	db 26,VENONAT
+	db 26,ODDISH
+	db 25,DITTO
+	db 28,GLOOM
+	db 30,GLOOM
+
+	db $00
+
+Route14Mons:
+	db $0F
+	db 24,ODDISH
+	db 26,PIDGEY
+	db 23,DITTO
+	db 24,VENONAT
+	db 22,ODDISH
+	db 26,VENONAT
+	db 26,ODDISH
+	db 30,GLOOM
+	db 28,PIDGEOTTO
+	db 30,PIDGEOTTO
+
+	db $00
+
+Route15Mons:
+	db $0F
+	db 24,ODDISH
+	db 26,DITTO
+	db 23,PIDGEY
+	db 26,VENONAT
+	db 22,ODDISH
+	db 28,VENONAT
+	db 26,ODDISH
+	db 30,GLOOM
+	db 28,PIDGEOTTO
+	db 30,PIDGEOTTO
+
+	db $00
+
+Route16Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 18,RATTATA
+	db 20,DODUO
+	db 20,RATTATA
+	db 18,DODUO
+	db 22,DODUO
+	db 22,RATTATA
+	db 23,RATICATE
+	db 25,RATICATE
+
+	db $00
+
+Route17Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 25,RATICATE
+	db 24,DODUO
+	db 27,RATICATE
+	db 26,DODUO
+	db 28,DODUO
+	db 29,RATICATE
+	db 25,FEAROW
+	db 27,FEAROW
+
+	db $00
+
+Route18Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 25,RATICATE
+	db 24,DODUO
+	db 25,FEAROW
+	db 26,DODUO
+	db 28,DODUO
+	db 29,RATICATE
+	db 27,FEAROW
+	db 29,FEAROW
+
+	db $00
+
+ZoneMonsCenter:
+	db $1E
+	db 22,NIDORAN_M
+	db 25,RHYHORN
+	db 22,VENONAT
+	db 24,EXEGGCUTE
+	db 31,NIDORINO
+	db 25,EXEGGCUTE
+	db 31,NIDORINA
+	db 30,PARASECT
+	db 23,SCYTHER
+	db 23,CHANSEY
+
+	db $00
+
+ZoneMons1:
+	db $1E
+	db 24,NIDORAN_M
+	db 26,DODUO
+	db 22,PARAS
+	db 25,EXEGGCUTE
+	db 33,NIDORINO
+	db 23,EXEGGCUTE
+	db 24,NIDORAN_F
+	db 25,PARASECT
+	db 25,KANGASKHAN
+	db 28,SCYTHER
+
+	db $00
+
+ZoneMons2:
+	db $1E
+	db 22,NIDORAN_M
+	db 26,RHYHORN
+	db 23,PARAS
+	db 25,EXEGGCUTE
+	db 30,NIDORINO
+	db 27,EXEGGCUTE
+	db 30,NIDORINA
+	db 32,VENOMOTH
+	db 26,CHANSEY
+	db 28,TAUROS
+
+	db $00
+
+ZoneMons3:
+	db $1E
+	db 25,NIDORAN_M
+	db 26,DODUO
+	db 23,VENONAT
+	db 24,EXEGGCUTE
+	db 33,NIDORINO
+	db 26,EXEGGCUTE
+	db 25,NIDORAN_F
+	db 31,VENOMOTH
+	db 26,TAUROS
+	db 28,KANGASKHAN
+
+	db $00
+
+WaterMons:
+	db $00
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+IslandMons1:
+	db $0F
+	db 30,SEEL
+	db 30,SLOWPOKE
+	db 30,SHELLDER
+	db 30,HORSEA
+	db 28,HORSEA
+	db 21,ZUBAT
+	db 29,GOLBAT
+	db 28,PSYDUCK
+	db 28,SHELLDER
+	db 38,GOLDUCK
+
+	db $00
+
+IslandMonsB1:
+	db $0A
+	db 30,STARYU
+	db 30,HORSEA
+	db 32,SHELLDER
+	db 32,HORSEA
+	db 28,SLOWPOKE
+	db 30,SEEL
+	db 30,SLOWPOKE
+	db 28,SEEL
+	db 38,DEWGONG
+	db 37,SEADRA
+
+	db $00
+
+IslandMonsB2:
+	db $0A
+	db 30,SEEL
+	db 30,SLOWPOKE
+	db 32,SEEL
+	db 32,SLOWPOKE
+	db 28,HORSEA
+	db 30,STARYU
+	db 30,HORSEA
+	db 28,SHELLDER
+	db 30,GOLBAT
+	db 37,SLOWBRO
+
+	db $00
+
+IslandMonsB3:
+	db $0A
+	db 31,SLOWPOKE
+	db 31,SEEL
+	db 33,SLOWPOKE
+	db 33,SEEL
+	db 29,HORSEA
+	db 31,SHELLDER
+	db 31,HORSEA
+	db 29,SHELLDER
+	db 39,SEADRA
+	db 37,DEWGONG
+
+	db $00
+
+IslandMonsB4:
+	db $0A
+	db 31,HORSEA
+	db 31,SHELLDER
+	db 33,HORSEA
+	db 33,SHELLDER
+	db 29,SLOWPOKE
+	db 31,SEEL
+	db 31,SLOWPOKE
+	db 29,SEEL
+	db 39,SLOWBRO
+	db 32,GOLBAT
+
+	db $00
+
+MansionMons1:
+	db $0A
+	db 32,KOFFING
+	db 30,KOFFING
+	db 34,PONYTA
+	db 30,PONYTA
+	db 34,GROWLITHE
+	db 32,PONYTA
+	db 30,GRIMER
+	db 28,PONYTA
+	db 37,WEEZING
+	db 39,MUK
+
+	db $00
+
+MansionMons2:
+	db $0A
+	db 32,GROWLITHE
+	db 34,KOFFING
+	db 34,KOFFING
+	db 30,PONYTA
+	db 30,KOFFING
+	db 32,PONYTA
+	db 30,GRIMER
+	db 28,PONYTA
+	db 39,WEEZING
+	db 37,MUK
+
+	db $00
+
+MansionMons3:
+	db $0A
+	db 31,KOFFING
+	db 33,GROWLITHE
+	db 35,KOFFING
+	db 32,PONYTA
+	db 34,PONYTA
+	db 40,WEEZING
+	db 34,GRIMER
+	db 38,WEEZING
+	db 36,PONYTA
+	db 42,MUK
+
+	db $00
+
+MansionMonsB1:
+	db $0A
+	db 33,KOFFING
+	db 31,KOFFING
+	db 35,GROWLITHE
+	db 32,PONYTA
+	db 31,KOFFING
+	db 40,WEEZING
+	db 34,PONYTA
+	db 35,GRIMER
+	db 42,WEEZING
+	db 42,MUK
+
+	db $00
+
+Route21Mons:
+	db $19
+	db 21,RATTATA
+	db 23,PIDGEY
+	db 30,RATICATE
+	db 23,RATTATA
+	db 21,PIDGEY
+	db 30,PIDGEOTTO
+	db 32,PIDGEOTTO
+	db 28,TANGELA
+	db 30,TANGELA
+	db 32,TANGELA
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+DungeonMons1:
+	db $0A
+	db 46,GOLBAT
+	db 46,HYPNO
+	db 46,MAGNETON
+	db 49,DODRIO
+	db 49,VENOMOTH
+	db 52,ARBOK
+	db 49,KADABRA
+	db 52,PARASECT
+	db 53,RAICHU
+	db 53,DITTO
+
+	db $00
+
+DungeonMons2:
+	db $0F
+	db 51,DODRIO
+	db 51,VENOMOTH
+	db 51,KADABRA
+	db 52,RHYDON
+	db 52,MAROWAK
+	db 52,ELECTRODE
+	db 56,CHANSEY
+	db 54,WIGGLYTUFF
+	db 55,DITTO
+	db 60,DITTO
+
+	db $00
+
+DungeonMonsB1:
+	db $19
+	db 55,RHYDON
+	db 55,MAROWAK
+	db 55,ELECTRODE
+	db 64,CHANSEY
+	db 64,PARASECT
+	db 64,RAICHU
+	db 57,ARBOK
+	db 65,DITTO
+	db 63,DITTO
+	db 67,DITTO
+
+	db $00
+
+PowerPlantMons:
+	db $0A
+	db 21,VOLTORB
+	db 21,MAGNEMITE
+	db 20,PIKACHU
+	db 24,PIKACHU
+	db 23,MAGNEMITE
+	db 23,VOLTORB
+	db 32,MAGNETON
+	db 35,MAGNETON
+	db 33,ELECTABUZZ
+	db 36,ELECTABUZZ
+
+	db $00
+
+Route23Mons:
+	db $0A
+	db 26,EKANS
+	db 33,DITTO
+	db 26,SPEAROW
+	db 38,FEAROW
+	db 38,DITTO
+	db 38,FEAROW
+	db 41,ARBOK
+	db 43,DITTO
+	db 41,FEAROW
+	db 43,FEAROW
+
+	db $00
+
+PlateauMons2:
+	db $0A
+	db 22,MACHOP
+	db 24,GEODUDE
+	db 26,ZUBAT
+	db 36,ONIX
+	db 39,ONIX
+	db 42,ONIX
+	db 41,MACHOKE
+	db 40,GOLBAT
+	db 40,MAROWAK
+	db 43,GRAVELER
+
+	db $00
+
+PlateauMons3:
+	db $0F
+	db 24,MACHOP
+	db 26,GEODUDE
+	db 22,ZUBAT
+	db 42,ONIX
+	db 40,VENOMOTH
+	db 45,ONIX
+	db 43,GRAVELER
+	db 41,GOLBAT
+	db 42,MACHOKE
+	db 45,MACHOKE
+
+	db $00
+
+PlateauMons1:
+	db $0F
+	db 24,MACHOP
+	db 26,GEODUDE
+	db 22,ZUBAT
+	db 36,ONIX
+	db 39,ONIX
+	db 42,ONIX
+	db 41,GRAVELER
+	db 41,GOLBAT
+	db 42,MACHOKE
+	db 43,MAROWAK
+
+	db $00
+
+CaveMons:
+	db $14
+	db 18,DIGLETT
+	db 19,DIGLETT
+	db 17,DIGLETT
+	db 20,DIGLETT
+	db 16,DIGLETT
+	db 15,DIGLETT
+	db 21,DIGLETT
+	db 22,DIGLETT
+	db 29,DUGTRIO
+	db 31,DUGTRIO
+
+	db $00
+
+ENDC
+IF _GREEN || !_JAPAN && _BLUE
+NoMons:
+	db $00
+
+	db $00
+
+Route1Mons:
+	db $19
+	db 3,PIDGEY
+	db 3,RATTATA
+	db 3,RATTATA
+	db 2,RATTATA
+	db 2,PIDGEY
+	db 3,PIDGEY
+	db 3,PIDGEY
+	db 4,RATTATA
+	db 4,PIDGEY
+	db 5,PIDGEY
+
+	db $00
+
+Route2Mons:
+	db $19
+	db 3,RATTATA
+	db 3,PIDGEY
+	db 4,PIDGEY
+	db 4,RATTATA
+	db 5,PIDGEY
+	db 3,CATERPIE
+	db 2,RATTATA
+	db 5,RATTATA
+	db 4,CATERPIE
+	db 5,CATERPIE
+
+	db $00
+
+Route22Mons:
+	db $19
+	db 3,RATTATA
+	db 3,NIDORAN_F
+	db 4,RATTATA
+	db 4,NIDORAN_F
+	db 2,RATTATA
+	db 2,NIDORAN_F
+	db 3,SPEAROW
+	db 5,SPEAROW
+	db 3,NIDORAN_M
+	db 4,NIDORAN_M
+
+	db $00
+
+ForestMons:
+	db $08
+	db 4,CATERPIE
+	db 5,METAPOD
+	db 3,CATERPIE
+	db 5,CATERPIE
+	db 4,METAPOD
+	db 6,METAPOD
+	db 4,KAKUNA
+	db 3,WEEDLE
+	db 3,PIKACHU
+	db 5,PIKACHU
+
+	db $00
+
+Route3Mons:
+	db $14
+	db 6,PIDGEY
+	db 5,SPEAROW
+	db 7,PIDGEY
+	db 6,SPEAROW
+	db 7,SPEAROW
+	db 8,PIDGEY
+	db 8,SPEAROW
+	db 3,JIGGLYPUFF
+	db 5,JIGGLYPUFF
+	db 7,JIGGLYPUFF
+
+	db $00
+
+MoonMons1:
+	db $0A
+	db 8,ZUBAT
+	db 7,ZUBAT
+	db 9,ZUBAT
+	db 8,GEODUDE
+	db 6,ZUBAT
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 8,PARAS
+	db 11,ZUBAT
+	db 8,CLEFAIRY
+
+	db $00
+
+MoonMonsB1:
+	db $0A
+	db 8,ZUBAT
+	db 7,ZUBAT
+	db 7,GEODUDE
+	db 8,GEODUDE
+	db 9,ZUBAT
+	db 10,PARAS
+	db 10,ZUBAT
+	db 11,ZUBAT
+	db 9,CLEFAIRY
+	db 9,GEODUDE
+
+	db $00
+
+MoonMonsB2:
+	db $0A
+	db 9,ZUBAT
+	db 9,GEODUDE
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 11,ZUBAT
+	db 10,PARAS
+	db 12,PARAS
+	db 10,CLEFAIRY
+	db 12,ZUBAT
+	db 12,CLEFAIRY
+
+	db $00
+
+Route4Mons:
+	db $14
+	db 10,RATTATA
+	db 10,SPEAROW
+	db 8,RATTATA
+	db 6,SANDSHREW
+	db 8,SPEAROW
+	db 10,SANDSHREW
+	db 12,RATTATA
+	db 12,SPEAROW
+	db 8,SANDSHREW
+	db 12,SANDSHREW
+
+	db $00
+
+Route24Mons:
+	db $19
+	db 7,CATERPIE
+	db 8,METAPOD
+	db 12,PIDGEY
+	db 12,BELLSPROUT
+	db 13,BELLSPROUT
+	db 10,ABRA
+	db 14,BELLSPROUT
+	db 13,PIDGEY
+	db 8,ABRA
+	db 12,ABRA
+
+	db $00
+
+Route25Mons:
+	db $0F
+	db 8,CATERPIE
+	db 9,METAPOD
+	db 13,PIDGEY
+	db 12,BELLSPROUT
+	db 13,BELLSPROUT
+	db 12,ABRA
+	db 14,BELLSPROUT
+	db 10,ABRA
+	db 7,KAKUNA
+	db 8,WEEDLE
+
+	db $00
+
+Route9Mons:
+	db $0F
+	db 16,RATTATA
+	db 16,SPEAROW
+	db 14,RATTATA
+	db 11,SANDSHREW
+	db 13,SPEAROW
+	db 15,SANDSHREW
+	db 17,RATTATA
+	db 17,SPEAROW
+	db 13,SANDSHREW
+	db 17,SANDSHREW
+
+	db $00
+
+Route5Mons:
+	db $0F
+	db 13,BELLSPROUT
+	db 13,PIDGEY
+	db 15,PIDGEY
+	db 10,MEOWTH
+	db 12,MEOWTH
+	db 15,BELLSPROUT
+	db 16,BELLSPROUT
+	db 16,PIDGEY
+	db 14,MEOWTH
+	db 16,MEOWTH
+
+	db $00
+
+Route6Mons:
+	db $0F
+	db 13,BELLSPROUT
+	db 13,PIDGEY
+	db 15,PIDGEY
+	db 10,MEOWTH
+	db 12,MEOWTH
+	db 15,BELLSPROUT
+	db 16,BELLSPROUT
+	db 16,PIDGEY
+	db 14,MEOWTH
+	db 16,MEOWTH
+
+	db $00
+
+Route11Mons:
+	db $0F
+	db 14,SANDSHREW
+	db 15,SPEAROW
+	db 12,SANDSHREW
+	db 9,DROWZEE
+	db 13,SPEAROW
+	db 13,DROWZEE
+	db 15,SANDSHREW
+	db 17,SPEAROW
+	db 11,DROWZEE
+	db 15,DROWZEE
+
+	db $00
+
+TunnelMonsB1:
+	db $0F
+	db 16,ZUBAT
+	db 17,ZUBAT
+	db 17,GEODUDE
+	db 15,MACHOP
+	db 16,GEODUDE
+	db 18,ZUBAT
+	db 15,ZUBAT
+	db 17,MACHOP
+	db 13,ONIX
+	db 15,ONIX
+
+	db $00
+
+TunnelMonsB2:
+	db $0F
+	db 16,ZUBAT
+	db 17,ZUBAT
+	db 17,GEODUDE
+	db 15,MACHOP
+	db 16,GEODUDE
+	db 18,ZUBAT
+	db 17,MACHOP
+	db 17,ONIX
+	db 13,ONIX
+	db 18,GEODUDE
+
+	db $00
+
+Route10Mons:
+	db $0F
+	db 16,VOLTORB
+	db 16,SPEAROW
+	db 14,VOLTORB
+	db 11,SANDSHREW
+	db 13,SPEAROW
+	db 15,SANDSHREW
+	db 17,VOLTORB
+	db 17,SPEAROW
+	db 13,SANDSHREW
+	db 17,SANDSHREW
+
+	db $00
+
+Route12Mons:
+	db $0F
+	db 24,BELLSPROUT
+	db 25,PIDGEY
+	db 23,PIDGEY
+	db 24,VENONAT
+	db 22,BELLSPROUT
+	db 26,VENONAT
+	db 26,BELLSPROUT
+	db 27,PIDGEY
+	db 28,WEEPINBELL
+	db 30,WEEPINBELL
+
+	db $00
+
+Route8Mons:
+	db $0F
+	db 18,PIDGEY
+	db 18,MEOWTH
+	db 17,SANDSHREW
+	db 16,VULPIX
+	db 20,PIDGEY
+	db 20,MEOWTH
+	db 19,SANDSHREW
+	db 17,VULPIX
+	db 15,VULPIX
+	db 18,VULPIX
+
+	db $00
+
+Route7Mons:
+	db $0F
+	db 19,PIDGEY
+	db 19,BELLSPROUT
+	db 17,MEOWTH
+	db 22,BELLSPROUT
+	db 22,PIDGEY
+	db 18,MEOWTH
+	db 18,VULPIX
+	db 20,VULPIX
+	db 19,MEOWTH
+	db 20,MEOWTH
+
+	db $00
+
+TowerMons1:
+	db $00
+
+	db $00
+
+TowerMons2:
+	db $00
+
+	db $00
+
+TowerMons3:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 24,GASTLY
+	db 20,CUBONE
+	db 22,CUBONE
+	db 25,HAUNTER
+
+	db $00
+
+TowerMons4:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,HAUNTER
+	db 20,CUBONE
+	db 22,CUBONE
+	db 24,GASTLY
+
+	db $00
+
+TowerMons5:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,HAUNTER
+	db 20,CUBONE
+	db 22,CUBONE
+	db 24,GASTLY
+
+	db $00
+
+TowerMons6:
+	db $0F
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 20,GASTLY
+	db 19,GASTLY
+	db 26,HAUNTER
+	db 22,CUBONE
+	db 24,CUBONE
+	db 28,HAUNTER
+
+	db $00
+
+TowerMons7:
+	db $0F
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 20,GASTLY
+	db 28,HAUNTER
+	db 22,CUBONE
+	db 24,CUBONE
+	db 28,HAUNTER
+	db 30,HAUNTER
+
+	db $00
+
+Route13Mons:
+	db $14
+	db 24,BELLSPROUT
+	db 25,PIDGEY
+	db 27,PIDGEY
+	db 24,VENONAT
+	db 22,BELLSPROUT
+	db 26,VENONAT
+	db 26,BELLSPROUT
+	db 25,DITTO
+	db 28,WEEPINBELL
+	db 30,WEEPINBELL
+
+	db $00
+
+Route14Mons:
+	db $0F
+	db 24,BELLSPROUT
+	db 26,PIDGEY
+	db 23,DITTO
+	db 24,VENONAT
+	db 22,BELLSPROUT
+	db 26,VENONAT
+	db 26,BELLSPROUT
+	db 30,WEEPINBELL
+	db 28,PIDGEOTTO
+	db 30,PIDGEOTTO
+
+	db $00
+
+Route15Mons:
+	db $0F
+	db 24,BELLSPROUT
+	db 26,DITTO
+	db 23,PIDGEY
+	db 26,VENONAT
+	db 22,BELLSPROUT
+	db 28,VENONAT
+	db 26,BELLSPROUT
+	db 30,WEEPINBELL
+	db 28,PIDGEOTTO
+	db 30,PIDGEOTTO
+
+	db $00
+
+Route16Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 18,RATTATA
+	db 20,DODUO
+	db 20,RATTATA
+	db 18,DODUO
+	db 22,DODUO
+	db 22,RATTATA
+	db 23,RATICATE
+	db 25,RATICATE
+
+	db $00
+
+Route17Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 25,RATICATE
+	db 24,DODUO
+	db 27,RATICATE
+	db 26,DODUO
+	db 28,DODUO
+	db 29,RATICATE
+	db 25,FEAROW
+	db 27,FEAROW
+
+	db $00
+
+Route18Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 25,RATICATE
+	db 24,DODUO
+	db 25,FEAROW
+	db 26,DODUO
+	db 28,DODUO
+	db 29,RATICATE
+	db 27,FEAROW
+	db 29,FEAROW
+
+	db $00
+
+ZoneMonsCenter:
+	db $1E
+	db 22,NIDORAN_F
+	db 25,RHYHORN
+	db 22,VENONAT
+	db 24,EXEGGCUTE
+	db 31,NIDORINA
+	db 25,EXEGGCUTE
+	db 31,NIDORINO
+	db 30,PARASECT
+	db 23,PINSIR
+	db 23,CHANSEY
+
+	db $00
+
+ZoneMons1:
+	db $1E
+	db 24,NIDORAN_F
+	db 26,DODUO
+	db 22,PARAS
+	db 25,EXEGGCUTE
+	db 33,NIDORINA
+	db 23,EXEGGCUTE
+	db 24,NIDORAN_M
+	db 25,PARASECT
+	db 25,KANGASKHAN
+	db 28,PINSIR
+
+	db $00
+
+ZoneMons2:
+	db $1E
+	db 22,NIDORAN_F
+	db 26,RHYHORN
+	db 23,PARAS
+	db 25,EXEGGCUTE
+	db 30,NIDORINA
+	db 27,EXEGGCUTE
+	db 30,NIDORINO
+	db 32,VENOMOTH
+	db 26,CHANSEY
+	db 28,TAUROS
+
+	db $00
+
+ZoneMons3:
+	db $1E
+	db 25,NIDORAN_F
+	db 26,DODUO
+	db 23,VENONAT
+	db 24,EXEGGCUTE
+	db 33,NIDORINA
+	db 26,EXEGGCUTE
+	db 25,NIDORAN_M
+	db 31,VENOMOTH
+	db 26,TAUROS
+	db 28,KANGASKHAN
+
+	db $00
+
+WaterMons:
+	db $00
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+IslandMons1:
+	db $0F
+	db 30,SEEL
+	db 30,PSYDUCK
+	db 30,STARYU
+	db 30,KRABBY
+	db 28,KRABBY
+	db 21,ZUBAT
+	db 29,GOLBAT
+	db 28,SLOWPOKE
+	db 28,STARYU
+	db 38,SLOWBRO
+
+	db $00
+
+IslandMonsB1:
+	db $0A
+	db 30,SHELLDER
+	db 30,KRABBY
+	db 32,STARYU
+	db 32,KRABBY
+	db 28,PSYDUCK
+	db 30,SEEL
+	db 30,PSYDUCK
+	db 28,SEEL
+	db 38,DEWGONG
+	db 37,KINGLER
+
+	db $00
+
+IslandMonsB2:
+	db $0A
+	db 30,SEEL
+	db 30,PSYDUCK
+	db 32,SEEL
+	db 32,PSYDUCK
+	db 28,KRABBY
+	db 30,SHELLDER
+	db 30,KRABBY
+	db 28,STARYU
+	db 30,GOLBAT
+	db 37,GOLDUCK
+
+	db $00
+
+IslandMonsB3:
+	db $0A
+	db 31,PSYDUCK
+	db 31,SEEL
+	db 33,PSYDUCK
+	db 33,SEEL
+	db 29,KRABBY
+	db 31,STARYU
+	db 31,KRABBY
+	db 29,STARYU
+	db 39,KINGLER
+	db 37,DEWGONG
+
+	db $00
+
+IslandMonsB4:
+	db $0A
+	db 31,KRABBY
+	db 31,STARYU
+	db 33,KRABBY
+	db 33,STARYU
+	db 29,PSYDUCK
+	db 31,SEEL
+	db 31,PSYDUCK
+	db 29,SEEL
+	db 39,GOLDUCK
+	db 32,GOLBAT
+
+	db $00
+
+MansionMons1:
+	db $0A
+	db 32,GRIMER
+	db 30,GRIMER
+	db 34,PONYTA
+	db 30,PONYTA
+	db 34,VULPIX
+	db 32,PONYTA
+	db 30,KOFFING
+	db 28,PONYTA
+	db 37,MUK
+	db 39,WEEZING
+
+	db $00
+
+MansionMons2:
+	db $0A
+	db 32,VULPIX
+	db 34,GRIMER
+	db 34,GRIMER
+	db 30,PONYTA
+	db 30,GRIMER
+	db 32,PONYTA
+	db 30,KOFFING
+	db 28,PONYTA
+	db 39,MUK
+	db 37,WEEZING
+
+	db $00
+
+MansionMons3:
+	db $0A
+	db 31,GRIMER
+	db 33,VULPIX
+	db 35,GRIMER
+	db 32,PONYTA
+	db 34,MAGMAR
+	db 40,MUK
+	db 34,KOFFING
+	db 38,MUK
+	db 36,PONYTA
+	db 42,WEEZING
+
+	db $00
+
+MansionMonsB1:
+	db $0A
+	db 33,GRIMER
+	db 31,GRIMER
+	db 35,VULPIX
+	db 32,PONYTA
+	db 31,GRIMER
+	db 40,MUK
+	db 34,PONYTA
+	db 35,KOFFING
+	db 38,MAGMAR
+	db 42,WEEZING
+
+	db $00
+
+Route21Mons:
+	db $19
+	db 21,RATTATA
+	db 23,PIDGEY
+	db 30,RATICATE
+	db 23,RATTATA
+	db 21,PIDGEY
+	db 30,PIDGEOTTO
+	db 32,PIDGEOTTO
+	db 28,TANGELA
+	db 30,TANGELA
+	db 32,TANGELA
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+DungeonMons1:
+	db $0A
+	db 46,GOLBAT
+	db 46,HYPNO
+	db 46,MAGNETON
+	db 49,DODRIO
+	db 49,VENOMOTH
+	db 52,SANDSLASH
+	db 49,KADABRA
+	db 52,PARASECT
+	db 53,RAICHU
+	db 53,DITTO
+
+	db $00
+
+DungeonMons2:
+	db $0F
+	db 51,DODRIO
+	db 51,VENOMOTH
+	db 51,KADABRA
+	db 52,RHYDON
+	db 52,MAROWAK
+	db 52,ELECTRODE
+	db 56,CHANSEY
+	db 54,WIGGLYTUFF
+	db 55,DITTO
+	db 60,DITTO
+
+	db $00
+
+DungeonMonsB1:
+	db $19
+	db 55,RHYDON
+	db 55,MAROWAK
+	db 55,ELECTRODE
+	db 64,CHANSEY
+	db 64,PARASECT
+	db 64,RAICHU
+	db 57,SANDSLASH
+	db 65,DITTO
+	db 63,DITTO
+	db 67,DITTO
+
+	db $00
+
+PowerPlantMons:
+	db $0A
+	db 21,VOLTORB
+	db 21,MAGNEMITE
+	db 20,PIKACHU
+	db 24,PIKACHU
+	db 23,MAGNEMITE
+	db 23,VOLTORB
+	db 32,MAGNETON
+	db 35,MAGNETON
+	db 33,RAICHU
+	db 36,RAICHU
+
+	db $00
+
+Route23Mons:
+	db $0A
+	db 26,SANDSHREW
+	db 33,DITTO
+	db 26,SPEAROW
+	db 38,FEAROW
+	db 38,DITTO
+	db 38,FEAROW
+	db 41,SANDSLASH
+	db 43,DITTO
+	db 41,FEAROW
+	db 43,FEAROW
+
+	db $00
+
+PlateauMons2:
+	db $0A
+	db 22,MACHOP
+	db 24,GEODUDE
+	db 26,ZUBAT
+	db 36,ONIX
+	db 39,ONIX
+	db 42,ONIX
+	db 41,MACHOKE
+	db 40,GOLBAT
+	db 40,MAROWAK
+	db 43,GRAVELER
+
+	db $00
+
+PlateauMons3:
+	db $0F
+	db 24,MACHOP
+	db 26,GEODUDE
+	db 22,ZUBAT
+	db 42,ONIX
+	db 40,VENOMOTH
+	db 45,ONIX
+	db 43,GRAVELER
+	db 41,GOLBAT
+	db 42,MACHOKE
+	db 45,MACHOKE
+
+	db $00
+
+PlateauMons1:
+	db $0F
+	db 24,MACHOP
+	db 26,GEODUDE
+	db 22,ZUBAT
+	db 36,ONIX
+	db 39,ONIX
+	db 42,ONIX
+	db 41,GRAVELER
+	db 41,GOLBAT
+	db 42,MACHOKE
+	db 43,MAROWAK
+
+	db $00
+
+CaveMons:
+	db $14
+	db 18,DIGLETT
+	db 19,DIGLETT
+	db 17,DIGLETT
+	db 20,DIGLETT
+	db 16,DIGLETT
+	db 15,DIGLETT
+	db 21,DIGLETT
+	db 22,DIGLETT
+	db 29,DUGTRIO
+	db 31,DUGTRIO
+
+	db $00
+
+ENDC
+IF _JAPAN && _BLUE
+NoMons:
+	db $00
+
+	db $00
+
+Route1Mons:
+	db $19
+	db 3,PIDGEY
+	db 3,RATTATA
+	db 3,RATTATA
+	db 2,RATTATA
+	db 2,PIDGEY
+	db 3,PIDGEY
+	db 3,PIDGEY
+	db 4,RATTATA
+	db 4,PIDGEY
+	db 5,PIDGEY
+
+	db $00
+
+Route2Mons:
+	db $19
+	db 3,RATTATA
+	db 3,PIDGEY
+	db 4,PIDGEY
+	db 4,RATTATA
+	db 5,PIDGEY
+	db 3,CATERPIE
+	db 2,RATTATA
+	db 5,RATTATA
+	db 4,CATERPIE
+	db 5,CATERPIE
+
+	db $00
+
+Route22Mons:
+	db $19
+	db 3,RATTATA
+	db 3,NIDORAN_M
+	db 4,RATTATA
+	db 4,NIDORAN_M
+	db 2,RATTATA
+	db 2,NIDORAN_M
+	db 3,SPEAROW
+	db 5,SPEAROW
+	db 3,NIDORAN_F
+	db 4,NIDORAN_F
+
+	db $00
+
+ForestMons:
+	db $08
+	db 4,CATERPIE
+	db 5,METAPOD
+	db 3,CATERPIE
+	db 5,CATERPIE
+	db 4,METAPOD
+	db 6,METAPOD
+	db 4,KAKUNA
+	db 3,WEEDLE
+	db 3,PIKACHU
+	db 5,PIKACHU
+
+	db $00
+
+Route3Mons:
+	db $14
+	db 6,PIDGEY
+	db 5,SPEAROW
+	db 7,PIDGEY
+	db 6,SPEAROW
+	db 7,SPEAROW
+	db 8,PIDGEY
+	db 8,SPEAROW
+	db 3,JIGGLYPUFF
+	db 5,JIGGLYPUFF
+	db 7,JIGGLYPUFF
+
+	db $00
+
+MoonMons1:
+	db $0A
+	db 8,ZUBAT
+	db 7,ZUBAT
+	db 9,ZUBAT
+	db 8,GEODUDE
+	db 6,ZUBAT
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 8,PARAS
+	db 11,ZUBAT
+	db 8,CLEFAIRY
+
+	db $00
+
+MoonMonsB1:
+	db $0A
+	db 8,ZUBAT
+	db 7,ZUBAT
+	db 7,GEODUDE
+	db 8,GEODUDE
+	db 9,ZUBAT
+	db 10,PARAS
+	db 10,ZUBAT
+	db 11,ZUBAT
+	db 9,CLEFAIRY
+	db 9,GEODUDE
+
+	db $00
+
+MoonMonsB2:
+	db $0A
+	db 9,ZUBAT
+	db 9,GEODUDE
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 11,ZUBAT
+	db 10,PARAS
+	db 12,PARAS
+	db 10,CLEFAIRY
+	db 12,ZUBAT
+	db 12,CLEFAIRY
+
+	db $00
+
+Route4Mons:
+	db $14
+	db 10,RATTATA
+	db 10,SPEAROW
+	db 8,RATTATA
+	db 6,SANDSHREW
+	db 8,SPEAROW
+	db 10,SANDSHREW
+	db 12,RATTATA
+	db 12,SPEAROW
+	db 8,SANDSHREW
+	db 12,SANDSHREW
+
+	db $00
+
+Route24Mons:
+	db $19
+	db 7,CATERPIE
+	db 8,METAPOD
+	db 12,PIDGEY
+	db 12,ODDISH
+	db 13,ODDISH
+	db 10,ABRA
+	db 14,ODDISH
+	db 13,PIDGEY
+	db 8,ABRA
+	db 12,ABRA
+
+	db $00
+
+Route25Mons:
+	db $0F
+	db 8,CATERPIE
+	db 9,METAPOD
+	db 13,PIDGEY
+	db 12,ODDISH
+	db 13,ODDISH
+	db 12,ABRA
+	db 14,ODDISH
+	db 10,ABRA
+	db 7,KAKUNA
+	db 8,WEEDLE
+
+	db $00
+
+Route9Mons:
+	db $0F
+	db 16,RATTATA
+	db 16,SPEAROW
+	db 14,RATTATA
+	db 11,SANDSHREW
+	db 13,SPEAROW
+	db 15,SANDSHREW
+	db 17,RATTATA
+	db 17,SPEAROW
+	db 13,SANDSHREW
+	db 17,SANDSHREW
+
+	db $00
+
+Route5Mons:
+	db $0F
+	db 13,ODDISH
+	db 13,PIDGEY
+	db 15,PIDGEY
+	db 10,MEOWTH
+	db 12,MEOWTH
+	db 15,ODDISH
+	db 16,ODDISH
+	db 16,PIDGEY
+	db 14,MEOWTH
+	db 16,MEOWTH
+
+	db $00
+
+Route6Mons:
+	db $0F
+	db 13,ODDISH
+	db 13,PIDGEY
+	db 15,PIDGEY
+	db 10,MEOWTH
+	db 12,MEOWTH
+	db 15,ODDISH
+	db 16,ODDISH
+	db 16,PIDGEY
+	db 14,MEOWTH
+	db 16,MEOWTH
+
+	db $00
+
+Route11Mons:
+	db $0F
+	db 14,SANDSHREW
+	db 15,SPEAROW
+	db 12,SANDSHREW
+	db 9,DROWZEE
+	db 13,SPEAROW
+	db 13,DROWZEE
+	db 15,SANDSHREW
+	db 17,SPEAROW
+	db 11,DROWZEE
+	db 15,DROWZEE
+
+	db $00
+
+TunnelMonsB1:
+	db $0F
+	db 16,ZUBAT
+	db 17,ZUBAT
+	db 17,GEODUDE
+	db 15,MACHOP
+	db 16,GEODUDE
+	db 18,DITTO
+	db 15,ZUBAT
+	db 17,MACHOP
+	db 13,ONIX
+	db 15,ONIX
+
+	db $00
+
+TunnelMonsB2:
+	db $0F
+	db 16,ZUBAT
+	db 17,ZUBAT
+	db 17,GEODUDE
+	db 15,MACHOP
+	db 16,GEODUDE
+	db 18,DITTO
+	db 17,MACHOP
+	db 17,ONIX
+	db 13,ONIX
+	db 18,GEODUDE
+
+	db $00
+
+Route10Mons:
+	db $0F
+	db 16,VOLTORB
+	db 16,SPEAROW
+	db 14,VOLTORB
+	db 11,SANDSHREW
+	db 13,SPEAROW
+	db 15,SANDSHREW
+	db 17,VOLTORB
+	db 17,SPEAROW
+	db 13,SANDSHREW
+	db 17,SANDSHREW
+
+	db $00
+
+Route12Mons:
+	db $0F
+	db 24,ODDISH
+	db 25,PIDGEY
+	db 23,PIDGEY
+	db 24,VENONAT
+	db 22,ODDISH
+	db 26,VENONAT
+	db 26,ODDISH
+	db 27,PIDGEY
+	db 28,GLOOM
+	db 30,GLOOM
+
+	db $00
+
+Route8Mons:
+	db $0F
+	db 18,PIDGEY
+	db 18,MEOWTH
+	db 17,SANDSHREW
+	db 16,GROWLITHE
+	db 20,PIDGEY
+	db 20,MEOWTH
+	db 19,SANDSHREW
+	db 17,GROWLITHE
+	db 15,GROWLITHE
+	db 18,GROWLITHE
+
+	db $00
+
+Route7Mons:
+	db $0F
+	db 19,PIDGEY
+	db 19,ODDISH
+	db 17,MEOWTH
+	db 22,ODDISH
+	db 22,PIDGEY
+	db 18,MEOWTH
+	db 18,GROWLITHE
+	db 20,GROWLITHE
+	db 19,MEOWTH
+	db 20,MEOWTH
+
+	db $00
+
+TowerMons1:
+	db $00
+
+	db $00
+
+TowerMons2:
+	db $00
+
+	db $00
+
+TowerMons3:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 24,GASTLY
+	db 20,CUBONE
+	db 22,CUBONE
+	db 25,HAUNTER
+
+	db $00
+
+TowerMons4:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,HAUNTER
+	db 20,CUBONE
+	db 22,CUBONE
+	db 24,GASTLY
+
+	db $00
+
+TowerMons5:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,HAUNTER
+	db 20,CUBONE
+	db 22,CUBONE
+	db 24,GASTLY
+
+	db $00
+
+TowerMons6:
+	db $0F
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 20,GASTLY
+	db 19,GASTLY
+	db 26,HAUNTER
+	db 22,CUBONE
+	db 24,CUBONE
+	db 28,HAUNTER
+
+	db $00
+
+TowerMons7:
+	db $0F
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 20,GASTLY
+	db 28,HAUNTER
+	db 22,CUBONE
+	db 24,CUBONE
+	db 28,HAUNTER
+	db 30,HAUNTER
+
+	db $00
+
+Route13Mons:
+	db $14
+	db 24,ODDISH
+	db 25,PIDGEY
+	db 27,PIDGEY
+	db 24,VENONAT
+	db 22,ODDISH
+	db 26,VENONAT
+	db 26,ODDISH
+	db 25,DITTO
+	db 28,GLOOM
+	db 30,GLOOM
+
+	db $00
+
+Route14Mons:
+	db $0F
+	db 24,ODDISH
+	db 26,PIDGEY
+	db 23,DITTO
+	db 24,VENONAT
+	db 22,ODDISH
+	db 26,VENONAT
+	db 26,ODDISH
+	db 30,GLOOM
+	db 28,PIDGEOTTO
+	db 30,PIDGEOTTO
+
+	db $00
+
+Route15Mons:
+	db $0F
+	db 24,ODDISH
+	db 26,DITTO
+	db 23,PIDGEY
+	db 26,VENONAT
+	db 22,ODDISH
+	db 28,VENONAT
+	db 26,ODDISH
+	db 30,GLOOM
+	db 28,PIDGEOTTO
+	db 30,PIDGEOTTO
+
+	db $00
+
+Route16Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 18,RATTATA
+	db 20,DODUO
+	db 20,RATTATA
+	db 18,DODUO
+	db 22,DODUO
+	db 22,RATTATA
+	db 23,RATICATE
+	db 25,RATICATE
+
+	db $00
+
+Route17Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 25,RATICATE
+	db 24,DODUO
+	db 27,RATICATE
+	db 26,DODUO
+	db 28,DODUO
+	db 29,RATICATE
+	db 25,FEAROW
+	db 27,FEAROW
+
+	db $00
+
+Route18Mons:
+	db $19
+	db 20,SPEAROW
+	db 22,SPEAROW
+	db 25,RATICATE
+	db 24,DODUO
+	db 25,FEAROW
+	db 26,DODUO
+	db 28,DODUO
+	db 29,RATICATE
+	db 27,FEAROW
+	db 29,FEAROW
+
+	db $00
+
+ZoneMonsCenter:
+	db $1E
+	db 22,NIDORAN_M
+	db 25,RHYHORN
+	db 22,VENONAT
+	db 24,EXEGGCUTE
+	db 31,NIDORINO
+	db 25,EXEGGCUTE
+	db 31,NIDORINA
+	db 30,PARASECT
+	db 23,SCYTHER
+	db 23,CHANSEY
+
+	db $00
+
+ZoneMons1:
+	db $1E
+	db 24,NIDORAN_M
+	db 26,DODUO
+	db 22,PARAS
+	db 25,EXEGGCUTE
+	db 33,NIDORINO
+	db 23,EXEGGCUTE
+	db 24,NIDORAN_F
+	db 25,PARASECT
+	db 25,LICKITUNG
+	db 28,SCYTHER
+
+	db $00
+
+ZoneMons2:
+	db $1E
+	db 22,NIDORAN_M
+	db 26,RHYHORN
+	db 23,PARAS
+	db 25,EXEGGCUTE
+	db 30,NIDORINO
+	db 27,EXEGGCUTE
+	db 30,NIDORINA
+	db 32,VENOMOTH
+	db 26,CHANSEY
+	db 28,PINSIR
+
+	db $00
+
+ZoneMons3:
+	db $1E
+	db 25,NIDORAN_M
+	db 26,DODUO
+	db 23,VENONAT
+	db 24,EXEGGCUTE
+	db 33,NIDORINO
+	db 26,EXEGGCUTE
+	db 25,NIDORAN_F
+	db 31,VENOMOTH
+	db 26,PINSIR
+	db 28,LICKITUNG
+
+	db $00
+
+WaterMons:
+	db $00
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+WaterMons:
+	db $00
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+IslandMons1:
+	db $0F
+	db 30,SEEL
+	db 30,HORSEA
+	db 30,STARYU
+	db 30,KRABBY
+	db 28,KRABBY
+	db 21,ZUBAT
+	db 29,GOLBAT
+	db 28,SLOWPOKE
+	db 28,STARYU
+	db 38,SLOWBRO
+
+	db $00
+
+IslandMonsB1:
+	db $0A
+	db 30,SHELLDER
+	db 30,KRABBY
+	db 32,STARYU
+	db 32,KRABBY
+	db 28,HORSEA
+	db 30,SEEL
+	db 30,HORSEA
+	db 28,SEEL
+	db 38,DEWGONG
+	db 37,KINGLER
+
+	db $00
+
+IslandMonsB2:
+	db $0A
+	db 30,SEEL
+	db 30,HORSEA
+	db 32,SEEL
+	db 32,HORSEA
+	db 28,KRABBY
+	db 30,SHELLDER
+	db 30,KRABBY
+	db 28,STARYU
+	db 30,GOLBAT
+	db 37,JYNX
+
+	db $00
+
+IslandMonsB3:
+	db $0A
+	db 31,HORSEA
+	db 31,SEEL
+	db 33,HORSEA
+	db 33,SEEL
+	db 29,KRABBY
+	db 31,STARYU
+	db 31,KRABBY
+	db 29,STARYU
+	db 39,KINGLER
+	db 37,DEWGONG
+
+	db $00
+
+IslandMonsB4:
+	db $0A
+	db 31,KRABBY
+	db 31,STARYU
+	db 33,KRABBY
+	db 33,STARYU
+	db 29,HORSEA
+	db 31,SEEL
+	db 31,HORSEA
+	db 29,SEEL
+	db 39,JYNX
+	db 32,GOLBAT
+
+	db $00
+
+MansionMons1:
+	db $0A
+	db 32,GRIMER
+	db 30,GRIMER
+	db 34,PONYTA
+	db 30,PONYTA
+	db 34,GROWLITHE
+	db 32,PONYTA
+	db 30,KOFFING
+	db 28,PONYTA
+	db 37,MUK
+	db 39,WEEZING
+
+	db $00
+
+MansionMons2:
+	db $0A
+	db 32,GROWLITHE
+	db 34,GRIMER
+	db 34,GRIMER
+	db 30,PONYTA
+	db 30,GRIMER
+	db 32,PONYTA
+	db 30,KOFFING
+	db 28,PONYTA
+	db 39,MUK
+	db 37,WEEZING
+
+	db $00
+
+MansionMons3:
+	db $0A
+	db 31,GRIMER
+	db 33,GROWLITHE
+	db 35,GRIMER
+	db 32,PONYTA
+	db 34,PONYTA
+	db 40,MUK
+	db 34,KOFFING
+	db 38,MUK
+	db 36,PONYTA
+	db 42,WEEZING
+
+	db $00
+
+MansionMonsB1:
+	db $0A
+	db 33,GRIMER
+	db 31,GRIMER
+	db 35,GROWLITHE
+	db 32,PONYTA
+	db 31,GRIMER
+	db 40,MUK
+	db 34,PONYTA
+	db 35,KOFFING
+	db 38,MUK
+	db 42,WEEZING
+
+	db $00
+
+Route21Mons:
+	db $19
+	db 21,RATTATA
+	db 23,PIDGEY
+	db 30,RATICATE
+	db 23,RATTATA
+	db 21,PIDGEY
+	db 30,PIDGEOTTO
+	db 32,PIDGEOTTO
+	db 28,TANGELA
+	db 30,TANGELA
+	db 32,TANGELA
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+DungeonMons1:
+	db $0A
+	db 46,GOLBAT
+	db 46,HYPNO
+	db 46,MAGNETON
+	db 49,RAPIDASH
+	db 49,VENOMOTH
+	db 52,SANDSLASH
+	db 49,KADABRA
+	db 52,PARASECT
+	db 53,RAICHU
+	db 53,DITTO
+
+	db $00
+
+DungeonMons2:
+	db $0F
+	db 51,DODRIO
+	db 51,VENOMOTH
+	db 51,KADABRA
+	db 52,RHYDON
+	db 52,RATICATE
+	db 52,ELECTRODE
+	db 56,CHANSEY
+	db 54,WIGGLYTUFF
+	db 55,DITTO
+	db 60,DITTO
+
+	db $00
+
+DungeonMonsB1:
+	db $19
+	db 55,RHYDON
+	db 55,MAROWAK
+	db 55,ELECTRODE
+	db 64,CLEFAIRY
+	db 64,PARASECT
+	db 64,RAICHU
+	db 57,SANDSLASH
+	db 65,DITTO
+	db 63,DITTO
+	db 67,DITTO
+
+	db $00
+
+PowerPlantMons:
+	db $0A
+	db 21,VOLTORB
+	db 21,MAGNEMITE
+	db 20,PIKACHU
+	db 24,PIKACHU
+	db 23,MAGNEMITE
+	db 23,VOLTORB
+	db 32,MAGNETON
+	db 35,MAGNETON
+	db 33,RAICHU
+	db 36,RAICHU
+
+	db $00
+
+Route23Mons:
+	db $0A
+	db 26,SANDSHREW
+	db 33,DITTO
+	db 26,SPEAROW
+	db 38,FEAROW
+	db 38,DITTO
+	db 38,FEAROW
+	db 41,SANDSLASH
+	db 43,DITTO
+	db 41,FEAROW
+	db 43,FEAROW
+
+	db $00
+
+PlateauMons2:
+	db $0A
+	db 22,MACHOP
+	db 24,GEODUDE
+	db 26,ZUBAT
+	db 36,ONIX
+	db 39,ONIX
+	db 42,ONIX
+	db 41,MACHOKE
+	db 40,GOLBAT
+	db 40,MAROWAK
+	db 43,GRAVELER
+
+	db $00
+
+PlateauMons3:
+	db $0F
+	db 24,MACHOP
+	db 26,GEODUDE
+	db 22,ZUBAT
+	db 42,ONIX
+	db 40,VENOMOTH
+	db 45,ONIX
+	db 43,GRAVELER
+	db 41,GOLBAT
+	db 42,MACHOKE
+	db 45,MACHOKE
+
+	db $00
+
+PlateauMons1:
+	db $0F
+	db 24,MACHOP
+	db 26,GEODUDE
+	db 22,ZUBAT
+	db 36,ONIX
+	db 39,ONIX
+	db 42,ONIX
+	db 41,GRAVELER
+	db 41,GOLBAT
+	db 42,MACHOKE
+	db 43,MAROWAK
+
+	db $00
+
+CaveMons:
+	db $14
+	db 18,DIGLETT
+	db 19,DIGLETT
+	db 17,DIGLETT
+	db 20,DIGLETT
+	db 16,DIGLETT
+	db 15,DIGLETT
+	db 21,DIGLETT
+	db 22,DIGLETT
+	db 29,DUGTRIO
+	db 31,DUGTRIO
+
+	db $00
+
+ENDC
+IF _YELLOW
+NoMons:
+	db $00
+
+	db $00
+
+Route1Mons:
+	db $19
+	db 3,PIDGEY
+	db 4,PIDGEY
+	db 2,RATTATA
+	db 3,RATTATA
+	db 2,PIDGEY
+	db 3,PIDGEY
+	db 5,PIDGEY
+	db 4,RATTATA
+	db 6,PIDGEY
+	db 7,PIDGEY
+
+	db $00
+
+Route2Mons:
+	db $19
+	db 3,RATTATA
+	db 3,PIDGEY
+	db 4,RATTATA
+	db 4,NIDORAN_M
+	db 4,NIDORAN_F
+	db 5,PIDGEY
+	db 6,NIDORAN_M
+	db 6,NIDORAN_F
+	db 7,PIDGEY
+	db 7,PIDGEY
+
+	db $00
+
+Route22Mons:
+	db $19
+	db 2,NIDORAN_M
+	db 2,NIDORAN_F
+	db 3,MANKEY
+	db 3,RATTATA
+	db 4,NIDORAN_M
+	db 4,NIDORAN_F
+	db 5,MANKEY
+	db 2,SPEAROW
+	db 4,SPEAROW
+	db 6,SPEAROW
+
+	db $00
+
+ForestMons:
+	db $19
+	db 3,CATERPIE
+	db 4,METAPOD
+	db 4,CATERPIE
+	db 5,CATERPIE
+	db 4,PIDGEY
+	db 6,PIDGEY
+	db 6,CATERPIE
+	db 6,METAPOD
+	db 8,PIDGEY
+	db 9,PIDGEOTTO
+
+	db $00
+
+Route3Mons:
+	db $14
+	db 8,SPEAROW
+	db 9,SPEAROW
+	db 9,MANKEY
+	db 10,SPEAROW
+	db 8,SANDSHREW
+	db 10,RATTATA
+	db 10,SANDSHREW
+	db 12,RATTATA
+	db 11,SPEAROW
+	db 12,SPEAROW
+
+	db $00
+
+MoonMons1:
+	db $0A
+	db 8,ZUBAT
+	db 9,ZUBAT
+	db 10,GEODUDE
+	db 6,ZUBAT
+	db 7,ZUBAT
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 11,ZUBAT
+	db 12,SANDSHREW
+	db 11,CLEFAIRY
+
+	db $00
+
+MoonMonsB1:
+	db $0A
+	db 8,ZUBAT
+	db 9,ZUBAT
+	db 10,ZUBAT
+	db 10,GEODUDE
+	db 11,GEODUDE
+	db 11,ZUBAT
+	db 9,PARAS
+	db 11,PARAS
+	db 10,CLEFAIRY
+	db 12,CLEFAIRY
+
+	db $00
+
+MoonMonsB2:
+	db $0A
+	db 10,ZUBAT
+	db 11,GEODUDE
+	db 13,PARAS
+	db 11,ZUBAT
+	db 11,ZUBAT
+	db 12,ZUBAT
+	db 13,ZUBAT
+	db 9,CLEFAIRY
+	db 11,CLEFAIRY
+	db 13,CLEFAIRY
+
+	db $00
+
+Route4Mons:
+	db $14
+	db 8,SPEAROW
+	db 9,SPEAROW
+	db 9,MANKEY
+	db 10,SPEAROW
+	db 8,SANDSHREW
+	db 10,RATTATA
+	db 10,SANDSHREW
+	db 12,RATTATA
+	db 11,SPEAROW
+	db 12,SPEAROW
+
+	db $00
+
+Route24Mons:
+	db $19
+	db 12,ODDISH
+	db 12,BELLSPROUT
+	db 13,PIDGEY
+	db 14,ODDISH
+	db 14,BELLSPROUT
+	db 15,PIDGEY
+	db 13,VENONAT
+	db 16,VENONAT
+	db 17,PIDGEY
+	db 17,PIDGEOTTO
+
+	db $00
+
+Route25Mons:
+	db $0F
+	db 12,ODDISH
+	db 12,BELLSPROUT
+	db 13,PIDGEY
+	db 14,ODDISH
+	db 14,BELLSPROUT
+	db 15,PIDGEY
+	db 13,VENONAT
+	db 16,VENONAT
+	db 17,PIDGEY
+	db 17,PIDGEOTTO
+
+	db $00
+
+Route9Mons:
+	db $0F
+	db 16,NIDORAN_M
+	db 16,NIDORAN_F
+	db 18,RATTATA
+	db 18,NIDORAN_M
+	db 18,NIDORAN_F
+	db 17,SPEAROW
+	db 18,NIDORINO
+	db 18,NIDORINA
+	db 20,RATICATE
+	db 19,FEAROW
+
+	db $00
+
+Route5Mons:
+	db $0F
+	db 15,PIDGEY
+	db 14,RATTATA
+	db 7,ABRA
+	db 16,PIDGEY
+	db 16,RATTATA
+	db 17,PIDGEY
+	db 17,PIDGEOTTO
+	db 3,JIGGLYPUFF
+	db 5,JIGGLYPUFF
+	db 7,JIGGLYPUFF
+
+	db $00
+
+Route6Mons:
+	db $0F
+	db 15,PIDGEY
+	db 14,RATTATA
+	db 7,ABRA
+	db 16,PIDGEY
+	db 16,RATTATA
+	db 17,PIDGEY
+	db 17,PIDGEOTTO
+	db 3,JIGGLYPUFF
+	db 5,JIGGLYPUFF
+	db 7,JIGGLYPUFF
+
+	db $03
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,PSYDUCK
+	db 15,GOLDUCK
+	db 20,GOLDUCK
+
+Route11Mons:
+	db $0F
+	db 16,PIDGEY
+	db 15,RATTATA
+	db 18,PIDGEY
+	db 15,DROWZEE
+	db 17,RATTATA
+	db 17,DROWZEE
+	db 18,PIDGEOTTO
+	db 20,PIDGEOTTO
+	db 19,DROWZEE
+	db 17,RATICATE
+
+	db $00
+
+TunnelMonsB1:
+	db $0F
+	db 15,ZUBAT
+	db 16,GEODUDE
+	db 17,ZUBAT
+	db 19,ZUBAT
+	db 18,GEODUDE
+	db 20,GEODUDE
+	db 21,ZUBAT
+	db 17,MACHOP
+	db 19,MACHOP
+	db 21,MACHOP
+
+	db $00
+
+TunnelMonsB2:
+	db $0F
+	db 20,ZUBAT
+	db 17,GEODUDE
+	db 18,MACHOP
+	db 21,ZUBAT
+	db 22,ZUBAT
+	db 21,GEODUDE
+	db 20,MACHOP
+	db 14,ONIX
+	db 18,ONIX
+	db 22,ONIX
+
+	db $00
+
+Route10Mons:
+	db $0F
+	db 16,MAGNEMITE
+	db 18,RATTATA
+	db 18,MAGNEMITE
+	db 20,MAGNEMITE
+	db 17,NIDORAN_M
+	db 17,NIDORAN_F
+	db 22,MAGNEMITE
+	db 20,RATICATE
+	db 16,MACHOP
+	db 18,MACHOP
+
+	db $00
+
+Route12Mons:
+	db $0F
+	db 25,ODDISH
+	db 25,BELLSPROUT
+	db 28,PIDGEY
+	db 28,PIDGEOTTO
+	db 27,ODDISH
+	db 27,BELLSPROUT
+	db 29,GLOOM
+	db 29,WEEPINBELL
+	db 26,FARFETCH_D
+	db 31,FARFETCH_D
+
+	db $03
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWBRO
+	db 20,SLOWBRO
+
+Route8Mons:
+	db $0F
+	db 20,PIDGEY
+	db 22,PIDGEY
+	db 20,RATTATA
+	db 15,ABRA
+	db 19,ABRA
+	db 24,PIDGEOTTO
+	db 19,JIGGLYPUFF
+	db 24,JIGGLYPUFF
+	db 20,KADABRA
+	db 27,KADABRA
+
+	db $00
+
+Route7Mons:
+	db $0F
+	db 20,PIDGEY
+	db 22,PIDGEY
+	db 20,RATTATA
+	db 15,ABRA
+	db 19,ABRA
+	db 24,PIDGEOTTO
+	db 26,ABRA
+	db 19,JIGGLYPUFF
+	db 24,JIGGLYPUFF
+	db 24,JIGGLYPUFF
+
+	db $00
+
+TowerMons1:
+	db $00
+
+	db $00
+
+TowerMons2:
+	db $00
+
+	db $00
+
+TowerMons3:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,GASTLY
+	db 20,HAUNTER
+	db 25,HAUNTER
+
+	db $00
+
+TowerMons4:
+	db $0A
+	db 20,GASTLY
+	db 21,GASTLY
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 19,GASTLY
+	db 18,GASTLY
+	db 25,GASTLY
+	db 20,HAUNTER
+	db 25,HAUNTER
+
+	db $00
+
+TowerMons5:
+	db $0F
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 25,GASTLY
+	db 26,GASTLY
+	db 21,GASTLY
+	db 20,CUBONE
+	db 27,GASTLY
+	db 22,HAUNTER
+	db 27,HAUNTER
+
+	db $00
+
+TowerMons6:
+	db $0F
+	db 22,GASTLY
+	db 23,GASTLY
+	db 24,GASTLY
+	db 25,GASTLY
+	db 26,GASTLY
+	db 21,GASTLY
+	db 22,CUBONE
+	db 27,GASTLY
+	db 22,HAUNTER
+	db 27,HAUNTER
+
+	db $00
+
+TowerMons7:
+	db $14
+	db 24,GASTLY
+	db 25,GASTLY
+	db 26,GASTLY
+	db 27,GASTLY
+	db 28,GASTLY
+	db 23,GASTLY
+	db 24,CUBONE
+	db 29,GASTLY
+	db 24,HAUNTER
+	db 29,HAUNTER
+
+	db $00
+
+Route13Mons:
+	db $0F
+	db 25,ODDISH
+	db 25,BELLSPROUT
+	db 28,PIDGEOTTO
+	db 28,PIDGEY
+	db 27,ODDISH
+	db 27,BELLSPROUT
+	db 29,GLOOM
+	db 29,WEEPINBELL
+	db 26,FARFETCH_D
+	db 31,FARFETCH_D
+
+	db $03
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWPOKE
+	db 15,SLOWBRO
+	db 20,SLOWBRO
+
+Route14Mons:
+	db $0F
+	db 26,ODDISH
+	db 26,BELLSPROUT
+	db 24,VENONAT
+	db 30,PIDGEOTTO
+	db 28,ODDISH
+	db 28,BELLSPROUT
+	db 30,GLOOM
+	db 30,WEEPINBELL
+	db 27,VENONAT
+	db 30,VENOMOTH
+
+	db $00
+
+Route15Mons:
+	db $0F
+	db 26,ODDISH
+	db 26,BELLSPROUT
+	db 24,VENONAT
+	db 32,PIDGEOTTO
+	db 28,ODDISH
+	db 28,BELLSPROUT
+	db 30,GLOOM
+	db 30,WEEPINBELL
+	db 27,VENONAT
+	db 30,VENOMOTH
+
+	db $00
+
+Route16Mons:
+	db $19
+	db 22,SPEAROW
+	db 22,DODUO
+	db 23,RATTATA
+	db 24,DODUO
+	db 24,RATTATA
+	db 26,DODUO
+	db 23,SPEAROW
+	db 24,FEAROW
+	db 25,RATICATE
+	db 26,RATICATE
+
+	db $00
+
+Route17Mons:
+	db $19
+	db 26,DODUO
+	db 27,FEAROW
+	db 27,DODUO
+	db 28,DODUO
+	db 28,PONYTA
+	db 30,PONYTA
+	db 29,FEAROW
+	db 28,DODUO
+	db 32,PONYTA
+	db 29,DODRIO
+
+	db $00
+
+Route18Mons:
+	db $19
+	db 22,SPEAROW
+	db 22,DODUO
+	db 23,RATTATA
+	db 24,DODUO
+	db 24,RATTATA
+	db 26,DODUO
+	db 23,SPEAROW
+	db 24,FEAROW
+	db 25,RATICATE
+	db 26,RATICATE
+
+	db $00
+
+ZoneMonsCenter:
+	db $1E
+	db 14,NIDORAN_M
+	db 36,NIDORAN_F
+	db 24,EXEGGCUTE
+	db 20,RHYHORN
+	db 23,NIDORINO
+	db 27,PARASECT
+	db 27,PARAS
+	db 32,PARASECT
+	db 22,TANGELA
+	db 7,CHANSEY
+
+	db $00
+
+ZoneMons1:
+	db $1E
+	db 21,NIDORAN_M
+	db 29,NIDORAN_F
+	db 22,EXEGGCUTE
+	db 21,TAUROS
+	db 32,NIDORINA
+	db 19,CUBONE
+	db 26,EXEGGCUTE
+	db 24,MAROWAK
+	db 21,CHANSEY
+	db 15,SCYTHER
+
+	db $00
+
+ZoneMons2:
+	db $1E
+	db 36,NIDORAN_M
+	db 14,NIDORAN_F
+	db 20,EXEGGCUTE
+	db 25,RHYHORN
+	db 23,NIDORINA
+	db 28,KANGASKHAN
+	db 16,CUBONE
+	db 33,KANGASKHAN
+	db 25,SCYTHER
+	db 15,PINSIR
+
+	db $00
+
+ZoneMons3:
+	db $1E
+	db 29,NIDORAN_M
+	db 21,NIDORAN_F
+	db 22,EXEGGCUTE
+	db 21,TAUROS
+	db 32,NIDORINO
+	db 19,CUBONE
+	db 26,EXEGGCUTE
+	db 24,MAROWAK
+	db 25,PINSIR
+	db 27,TANGELA
+
+	db $00
+
+WaterMons:
+	db $00
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+WaterMons:
+	db $00
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+IslandMons1:
+	db $0F
+	db 18,ZUBAT
+	db 25,KRABBY
+	db 27,KRABBY
+	db 27,ZUBAT
+	db 36,ZUBAT
+	db 28,SLOWPOKE
+	db 30,SLOWPOKE
+	db 9,ZUBAT
+	db 27,GOLBAT
+	db 36,GOLBAT
+
+	db $00
+
+IslandMonsB1:
+	db $0A
+	db 27,ZUBAT
+	db 26,KRABBY
+	db 36,ZUBAT
+	db 28,KRABBY
+	db 27,GOLBAT
+	db 29,SLOWPOKE
+	db 18,ZUBAT
+	db 28,KINGLER
+	db 22,SEEL
+	db 26,SEEL
+
+	db $00
+
+IslandMonsB2:
+	db $0A
+	db 27,ZUBAT
+	db 27,KRABBY
+	db 36,ZUBAT
+	db 27,GOLBAT
+	db 28,KINGLER
+	db 24,SEEL
+	db 29,KRABBY
+	db 36,GOLBAT
+	db 31,SLOWPOKE
+	db 31,SLOWBRO
+
+	db $00
+
+IslandMonsB3:
+	db $0A
+	db 27,GOLBAT
+	db 36,ZUBAT
+	db 29,KRABBY
+	db 27,ZUBAT
+	db 30,KINGLER
+	db 26,SEEL
+	db 31,KRABBY
+	db 30,SEEL
+	db 28,DEWGONG
+	db 32,DEWGONG
+
+	db $05
+	db 25,TENTACOOL
+	db 30,TENTACOOL
+	db 20,TENTACOOL
+	db 30,STARYU
+	db 35,TENTACOOL
+	db 30,STARYU
+	db 40,TENTACOOL
+	db 30,STARYU
+	db 30,STARYU
+	db 30,STARYU
+
+IslandMonsB4:
+	db $0A
+	db 36,GOLBAT
+	db 36,ZUBAT
+	db 30,KRABBY
+	db 32,KINGLER
+	db 28,SEEL
+	db 32,SEEL
+	db 27,GOLBAT
+	db 45,ZUBAT
+	db 30,DEWGONG
+	db 34,DEWGONG
+
+	db $05
+	db 25,TENTACOOL
+	db 30,TENTACOOL
+	db 20,TENTACOOL
+	db 30,STARYU
+	db 35,TENTACOOL
+	db 30,STARYU
+	db 40,TENTACOOL
+	db 30,STARYU
+	db 30,STARYU
+	db 30,STARYU
+
+MansionMons1:
+	db $0A
+	db 34,RATTATA
+	db 34,RATICATE
+	db 23,GRIMER
+	db 26,GROWLITHE
+	db 37,RATTATA
+	db 37,RATICATE
+	db 30,GROWLITHE
+	db 26,GRIMER
+	db 34,GROWLITHE
+	db 38,GROWLITHE
+
+	db $00
+
+MansionMons2:
+	db $0A
+	db 37,RATTATA
+	db 37,RATICATE
+	db 26,GRIMER
+	db 29,GRIMER
+	db 40,RATTATA
+	db 40,RATICATE
+	db 32,GRIMER
+	db 35,GRIMER
+	db 35,MUK
+	db 38,MUK
+
+	db $00
+
+MansionMons3:
+	db $0A
+	db 40,RATTATA
+	db 40,RATICATE
+	db 32,GRIMER
+	db 35,GRIMER
+	db 43,RATTATA
+	db 43,RATICATE
+	db 38,GRIMER
+	db 38,GRIMER
+	db 38,MUK
+	db 41,MUK
+
+	db $00
+
+MansionMonsB1:
+	db $0A
+	db 35,GRIMER
+	db 38,GRIMER
+	db 37,RATICATE
+	db 40,RATICATE
+	db 41,MUK
+	db 43,RATICATE
+	db 24,DITTO
+	db 46,RATICATE
+	db 18,DITTO
+	db 12,DITTO
+
+	db $00
+
+Route21Mons:
+	db $19
+	db 15,PIDGEY
+	db 13,RATTATA
+	db 13,PIDGEY
+	db 11,PIDGEY
+	db 17,PIDGEY
+	db 15,RATTATA
+	db 15,RATICATE
+	db 17,PIDGEOTTO
+	db 19,PIDGEOTTO
+	db 15,PIDGEOTTO
+
+	db $05
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 5,TENTACOOL
+	db 10,TENTACOOL
+	db 15,TENTACOOL
+	db 20,TENTACOOL
+	db 30,TENTACOOL
+	db 35,TENTACOOL
+	db 40,TENTACOOL
+
+DungeonMons1:
+	db $0A
+	db 50,GOLBAT
+	db 55,GOLBAT
+	db 45,GRAVELER
+	db 55,GLOOM
+	db 55,WEEPINBELL
+	db 52,SANDSLASH
+	db 54,VENOMOTH
+	db 54,PARASECT
+	db 55,DITTO
+	db 60,DITTO
+
+	db $00
+
+DungeonMons2:
+	db $0F
+	db 52,GOLBAT
+	db 57,GOLBAT
+	db 50,GRAVELER
+	db 56,SANDSLASH
+	db 50,RHYHORN
+	db 60,DITTO
+	db 58,GLOOM
+	db 58,WEEPINBELL
+	db 60,RHYDON
+	db 58,RHYDON
+
+	db $00
+
+DungeonMonsB1:
+	db $19
+	db 54,GOLBAT
+	db 59,GOLBAT
+	db 55,GRAVELER
+	db 52,RHYHORN
+	db 62,RHYDON
+	db 60,DITTO
+	db 56,CHANSEY
+	db 65,DITTO
+	db 55,LICKITUNG
+	db 50,LICKITUNG
+
+	db $00
+
+PowerPlantMons:
+	db $0A
+	db 30,MAGNEMITE
+	db 35,MAGNEMITE
+	db 33,MAGNETON
+	db 33,VOLTORB
+	db 37,VOLTORB
+	db 33,GRIMER
+	db 37,GRIMER
+	db 38,MAGNETON
+	db 33,MUK
+	db 37,MUK
+
+	db $00
+
+Route23Mons:
+	db $0A
+	db 41,NIDORINO
+	db 41,NIDORINA
+	db 36,MANKEY
+	db 44,NIDORINO
+	db 44,NIDORINA
+	db 40,FEAROW
+	db 41,MANKEY
+	db 45,FEAROW
+	db 41,PRIMEAPE
+	db 46,PRIMEAPE
+
+	db $00
+
+PlateauMons2:
+	db $0A
+	db 31,GEODUDE
+	db 36,GEODUDE
+	db 41,GEODUDE
+	db 44,ZUBAT
+	db 39,GOLBAT
+	db 44,GRAVELER
+	db 45,ONIX
+	db 47,ONIX
+	db 39,MACHOKE
+	db 42,MACHOKE
+
+	db $00
+
+PlateauMons3:
+	db $0F
+	db 36,GEODUDE
+	db 44,GOLBAT
+	db 41,GEODUDE
+	db 49,ONIX
+	db 46,GEODUDE
+	db 41,GRAVELER
+	db 42,MACHOKE
+	db 45,MACHOKE
+	db 47,GRAVELER
+	db 47,GRAVELER
+
+	db $00
+
+PlateauMons1:
+	db $0F
+	db 26,GEODUDE
+	db 31,GEODUDE
+	db 36,GEODUDE
+	db 39,ZUBAT
+	db 44,ZUBAT
+	db 41,GEODUDE
+	db 43,ONIX
+	db 45,ONIX
+	db 41,GRAVELER
+	db 47,GRAVELER
+
+	db $00
+
+CaveMons:
+	db $14
+	db 18,DIGLETT
+	db 19,DIGLETT
+	db 17,DIGLETT
+	db 20,DIGLETT
+	db 16,DIGLETT
+	db 15,DIGLETT
+	db 21,DIGLETT
+	db 22,DIGLETT
+	db 29,DUGTRIO
+	db 31,DUGTRIO
+
+	db $00
+
+ENDC
+
+GetItemUse: ; $D5C7
+	ld a,1
+	ld [$cd6a],a
+	ld a,[$cf91]	;contains item_ID
+	cp a,HM_01
+	jp nc,ItemUseTMHM
+	ld hl,ItemUsePtrTable
+	dec a
+	add a
+	ld c,a
+	ld b,0
+	add hl,bc
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	jp [hl]
+
+ItemUsePtrTable: ; $D5E1
+	dw ItemUseBall      ;$5687 masterball
+	dw ItemUseBall      ;$5687 ultraball
+	dw ItemUseBall      ;$5687 greatball
+	dw ItemUseBall      ;$5687 pokeball
+	dw ItemUseTownMap   ;$5968 TownMap
+	dw $5977            ;ItemUseBicycle
+	dw $59B4            ;ItemUseSurfBoard (UNUSED, glitchy!)
+	dw ItemUseBall      ;$5687 Safariball
+	dw ItemUsePokedex   ;$DA56 pokedex
+	dw $5A5B            ; MOON_STONE
+	dw $5ABB            ; ANTIDOTE
+	dw $5ABB            ; BURN_HEAL
+	dw $5ABB            ; ICE_HEAL
+	dw $5ABB            ; AWAKENING
+	dw $5ABB            ; PARLYZ_HEAL
+	dw $5ABB            ; FULL_RESTORE
+	dw $5ABB            ; MAX_POTION
+	dw $5ABB            ; HYPER_POTION
+	dw $5ABB            ; SUPER_POTION
+	dw $5ABB            ; POTION
+	dw $5F52            ; BOULDERBADGE
+	dw $5F67            ; CASCADEBADGE
+	dw $6476            ; THUNDERBADGE
+	dw $6476            ; RAINBOWBADGE
+	dw $6476            ; SOULBADGE
+	dw $6476            ; MARSHBADGE
+	dw $6476            ; VOLCANOBADGE
+	dw $6476            ; EARTHBADGE
+	dw $5FAF            ; ESCAPE_ROPE
+	dw $6003            ; REPEL
+	dw $6476            ; OLD_AMBER
+	dw $5A5B            ; FIRE_STONE
+	dw $5A5B            ; THUNDER_STONE
+	dw $5A5B            ; WATER_STONE
+	dw $5AB4            ; HP_UP
+	dw $5AB4            ; PROTEIN
+	dw $5AB4            ; IRON
+	dw $5AB4            ; CARBOS
+	dw $5AB4            ; CALCIUM
+	dw $5AB4            ; RARE_CANDY
+	dw $6476            ; DOME_FOSSIL
+	dw $6476            ; HELIX_FOSSIL
+	dw $6476            ; SECRET_KEY
+	dw $6476
+	dw $6476            ; BIKE_VOUCHER
+	dw $6013            ; X_ACCURACY
+	dw $5A5B            ; LEAF_STONE
+	dw $6022            ; CARD_KEY
+	dw $6476            ; NUGGET
+	dw $6476            ; ??? PP_UP
+	dw $60CD            ; POKE_DOLL
+	dw $5ABB            ; FULL_HEAL
+	dw $5ABB            ; REVIVE
+	dw $5ABB            ; MAX_REVIVE
+	dw $60DC            ; GUARD_SPEC_
+	dw $60EB            ; SUPER_REPL
+	dw $60F0            ; MAX_REPEL
+	dw $60F5            ; DIRE_HIT
+	dw $6476            ; COIN
+	dw $5ABB            ; FRESH_WATER
+	dw $5ABB            ; SODA_POP
+	dw $5ABB            ; LEMONADE
+	dw $6476            ; S_S__TICKET
+	dw $6476            ; GOLD_TEETH
+	dw $6104            ; X_ATTACK
+	dw $6104            ; X_DEFEND
+	dw $6104            ; X_SPEED
+	dw $6104            ; X_SPECIAL
+	dw $623A            ; COIN_CASE
+	dw $62DE            ; OAKS_PARCEL
+	dw $62E1            ; ITEMFINDER
+	dw $6476            ; SILPH_SCOPE
+	dw $6140            ; POKE_FLUTE
+	dw $6476            ; LIFT_KEY
+	dw $6476            ; EXP__ALL
+	dw OldRodCode       ; OLD_ROD
+	dw GoodRodCode 		; GOOD_ROD $6259
+	dw SuperRodCode     ; SUPER_ROD $6283
+	dw $6317            ; PP_UP (see other?)
+	dw $631E            ; ETHER
+	dw $631E            ; MAX_ETHER
+	dw $631E            ; ELIXER
+	dw $631E            ; MAX_ELIXER
+
+ItemUseBall: ; 03:5687
+	ld a,[W_ISINBATTLE]
+	and a
+	jp z,ItemUseNotTime ; not in battle
+	dec a
+	jp nz,$658b ; in trainer battle
+	ld a,[W_BATTLETYPE]
+	dec a
+	jr z,.UseBall\@
+	ld a,[W_NUMINPARTY]	;is Party full?
+	cp a,6
+	jr nz,.UseBall\@
+	ld a,[W_NUMINBOX]	;is Box full?
+	cp a,20
+	jp z,$65b1
+.UseBall\@	;$56a7
+;ok, you can use a ball
+	xor a
+	ld [$d11c],a
+	ld a,[W_BATTLETYPE]
+	cp a,2		;SafariBattle
+	jr nz,.skipSafariZoneCode\@
+.safariZone\@
+	; remove a Safari Ball from inventory
+	ld hl,W_NUMSAFARIBALLS
+	dec [hl]
+.skipSafariZoneCode\@	;$56b6
+	call GoPAL_SET_CF1C
+	ld a,$43
+	ld [$d11e],a
+	call $3725	;restore screenBuffer from Backup
+	ld hl,ItemUseText00
+	call PrintText
+	ld hl,$583a
+	ld b,$0f
+	call Bankswitch
+	ld b,$10
+	jp z,$5801
+	ld a,[W_BATTLETYPE]
+	dec a
+	jr nz,.notOldManBattle\@
+.oldManBattle\@
+	ld hl,W_GRASSRATE
+	ld de,W_PLAYERNAME
+	ld bc,11
+	call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno glitch)
+	jp .BallSuccess\@	;$578b
+.notOldManBattle\@	;$56e9
+	ld a,[W_CURMAP]
+	cp a,POKEMONTOWER_6
+	jr nz,.loop\@
+	ld a,[$cfd8]
+	cp a,MAROWAK
+	ld b,$10
+	jp z,$5801
+; if not fighting ghost Marowak, loop until a random number in the current
+; pokeball's allowed range is found
+.loop\@	;$56fa
+	call GenRandom
+	ld b,a
+	ld hl,$cf91
+	ld a,[hl]
+	cp a,MASTER_BALL
+	jp z,.BallSuccess\@	;$578b
+	cp a,POKE_BALL
+	jr z,.checkForAilments
+	ld a,200
+	cp b
+	jr c,.loop\@	;get only numbers <= 200 for Great Ball
+	ld a,[hl]
+	cp a,GREAT_BALL
+	jr z,.checkForAilments
+	ld a,150	;get only numbers <= 150 for Ultra Ball
+	cp b
+	jr c,.loop\@
+.checkForAilments\@	;$571a
+; pokemon can be caught more easily with any (primary) status ailment
+; Frozen/Asleep pokemon are relatively even easier to catch
+; for Frozen/Asleep pokemon, any random number from 0-24 ensures a catch.
+; for the others, a random number from 0-11 ensures a catch.
+	ld a,[W_ENEMYMONSTATUS]	;status ailments
+	and a
+	jr z,.noAilments\@
+	and a,(FRZ + SLP)	;is frozen and/or asleep?
+	ld c,12
+	jr z,.notFrozenOrAsleep\@
+	ld c,25
+.notFrozenOrAsleep\@	;$5728
+	ld a,b
+	sub c
+	jp c,.BallSuccess\@	;$578b
+	ld b,a
+.noAilments\@	;$572e
+	push bc		;save RANDOM number
+	xor a
+	ld [H_MULTIPLICAND],a
+	ld hl,W_ENEMYMONMAXHP
+	ld a,[hli]
+	ld [H_MULTIPLICAND + 1],a
+	ld a,[hl]
+	ld [H_MULTIPLICAND + 2],a
+	ld a,255
+	ld [H_MULTIPLIER],a
+	call $38ac	;Multiply: MaxHP * 255
+	ld a,[$cf91]
+	cp a,GREAT_BALL
+	ld a,12		;any other BallFactor
+	jr nz,.next7\@
+	ld a,8
+.next7\@	;$574d
+	ld [H_DIVISOR],a
+	ld b,4		;number of significant bytes
+	call $38b9	;Divide
+	ld hl,W_ENEMYMONCURHP
+	ld a,[hli]
+	ld b,a
+	ld a,[hl]
+
+; explanation: we have a 16-bit value equal to [b << 8 | a].
+; This number is divided by 4. The result is 8 bit (reg. a).
+; Always bigger than zero.
+	srl b
+	rr a
+	srl b
+	rr a ; a = current HP / 4
+	and a
+	jr nz,.next8\@
+	inc a
+.next8\@	;$5766
+	ld [H_DIVISOR],a
+	ld b,4
+	call $38b9	; Divide: ((MaxHP * 255) / BallFactor) / (CurHP / 4)
+	ld a,[H_QUOTIENT + 2]
+	and a
+	jr z,.next9\@
+	ld a,255
+	ld [H_QUOTIENT + 3],a
+.next9\@	;$5776
+	pop bc
+	ld a,[$d007]	;enemy: Catch Rate
+	cp b
+	jr c,.next10\@
+	ld a,[H_QUOTIENT + 2]
+	and a
+	jr nz,.BallSuccess\@ ; if ((MaxHP * 255) / BallFactor) / (CurHP / 4) > 0x255, automatic success
+	call GenRandom
+	ld b,a
+	ld a,[H_QUOTIENT + 3]
+	cp b
+	jr c,.next10\@
+.BallSuccess\@	;$578b
+	jr .BallSuccess2\@
+.next10\@	;$578d
+	ld a,[H_QUOTIENT + 3]
+	ld [$d11e],a
+	xor a
+	ld [H_MULTIPLICAND],a
+	ld [H_MULTIPLICAND + 1],a
+	ld a,[$d007]	;enemy: Catch Rate
+	ld [H_MULTIPLICAND + 2],a
+	ld a,100
+	ld [H_MULTIPLIER],a
+	call $38ac	;Multiply: CatchRate * 100
+	ld a,[$cf91]
+	ld b,255
+	cp a,POKE_BALL
+	jr z,.next11\@
+	ld b,200
+	cp a,GREAT_BALL
+	jr z,.next11\@
+	ld b,150
+	cp a,ULTRA_BALL
+	jr z,.next11\@
+.next11\@	;$57b8
+	ld a,b
+	ld [H_DIVISOR],a
+	ld b,4
+	call $38b9	;Divide
+	ld a,[H_QUOTIENT + 2]
+	and a
+	ld b,$63
+	jr nz,.next12\@
+	ld a,[$d11e]
+	ld [H_MULTIPLIER],a
+	call $38ac
+	ld a,255
+	ld [H_DIVISOR],a
+	ld b,4
+	call $38b9
+	ld a,[W_ENEMYMONSTATUS]	;status ailments
+	and a
+	jr z,.next13\@
+	and a,(FRZ + SLP)
+	ld b,5
+	jr z,.next14\@
+	ld b,10
+.next14\@	;$57e6
+	ld a,[H_QUOTIENT + 3]
+	add b
+	ld [H_QUOTIENT + 3],a
+.next13\@	;$57eb
+	ld a,[H_QUOTIENT + 3]
+	cp a,10
+	ld b,$20
+	jr c,.next12\@
+	cp a,30
+	ld b,$61
+	jr c,.next12\@
+	cp a,70
+	ld b,$62
+	jr c,.next12\@
+	ld b,$63
+.next12\@	;$5801
+	ld a,b
+	ld [$d11e],a
+.BallSuccess2\@	;$5805
+	ld c,20
+	call DelayFrames
+	ld a,$c1
+	ld [$d07c],a
+	xor a
+	ld [$fff3],a
+	ld [$cc5b],a
+	ld [$d05b],a
+	ld a,[$cf92]
+	push af
+	ld a,[$cf91]
+	push af
+	ld a,$08	;probably animations
+	call Predef
+	pop af
+	ld [$cf91],a
+	pop af
+	ld [$cf92],a
+	ld a,[$d11e]
+	cp a,$10
+	ld hl,ItemUseBallText00
+	jp z,.printText0\@
+	cp a,$20
+	ld hl,ItemUseBallText01
+	jp z,.printText0\@
+	cp a,$61
+	ld hl,ItemUseBallText02
+	jp z,.printText0\@
+	cp a,$62
+	ld hl,ItemUseBallText03
+	jp z,.printText0\@
+	cp a,$63
+	ld hl,ItemUseBallText04
+	jp z,.printText0\@
+	ld hl,$cfe6	;current HP
+	ld a,[hli]
+	push af
+	ld a,[hli]
+	push af		;backup currentHP...
+	inc hl
+	ld a,[hl]
+	push af		;...and status ailments
+	push hl
+	ld hl,$d069
+	bit 3,[hl]
+	jr z,.next15\@
+	ld a,$4c
+	ld [$cfd8],a
+	jr .next16\@
+.next15\@	;$5871
+	set 3,[hl]
+	ld hl,$cceb
+	ld a,[$cff1]
+	ld [hli],a
+	ld a,[$cff2]
+	ld [hl],a
+.next16\@	;$587e
+	ld a,[$cf91]
+	push af
+	ld a,[$cfd8]
+	ld [$cf91],a
+	ld a,[$cff3]
+	ld [$d127],a
+	ld hl,$6b01
+	ld b,$0f
+	call Bankswitch
+	pop af
+	ld [$cf91],a
+	pop hl
+	pop af
+	ld [hld],a
+	dec hl
+	pop af
+	ld [hld],a
+	pop af
+	ld [hl],a
+	ld a,[$cfe5]	;enemy
+	ld [$d11c],a
+	ld [$cf91],a
+	ld [$d11e],a
+	ld a,[W_BATTLETYPE]
+	dec a
+	jr z,.printText1\@
+	ld hl,ItemUseBallText05
+	call PrintText
+	ld a,$3a	;convert order: Internal->Dex
+	call Predef
+	ld a,[$d11e]
+	dec a
+	ld c,a
+	ld b,2
+	ld hl,$d2f7	;Dex_own_flags (pokemon)
+	ld a,$10
+	call Predef	;check Dex flag (own already or not)
+	ld a,c
+	push af
+	ld a,[$d11e]
+	dec a
+	ld c,a
+	ld b,1
+	ld a,$10	;set Dex_own_flag?
+	call Predef
+	pop af
+	and a
+	jr nz,.checkParty\@
+	ld hl,ItemUseBallText06
+	call PrintText
+	call CleanLCD_OAM
+	ld a,[$cfe5]	;caught mon_ID
+	ld [$d11e],a
+	ld a,$3d
+	call Predef
+.checkParty\@	;$58f4
+	ld a,[W_NUMINPARTY]
+	cp a,6		;is party full?
+	jr z,.sendToBox\@
+	xor a
+	ld [$cc49],a
+	call CleanLCD_OAM
+	call AddPokemonToParty	;add mon to Party
+	jr .End\@
+.sendToBox\@	;$5907
+	call CleanLCD_OAM
+	call $67a4
+	ld hl,ItemUseBallText07
+	ld a,[$d7f1]
+	bit 0,a		;already met Bill?
+	jr nz,.sendToBox2\@
+	ld hl,ItemUseBallText08
+.sendToBox2\@	;$591a
+	call PrintText
+	jr .End\@
+.printText1\@	;$591f
+	ld hl,ItemUseBallText05
+.printText0\@	;$5922
+	call PrintText
+	call CleanLCD_OAM
+.End\@	;$5928
+	ld a,[W_BATTLETYPE]
+	and a
+	ret nz
+	ld hl,$d31d
+	inc a
+	ld [$cf96],a
+	jp $2bbb	;remove ITEM (XXX)
+ItemUseBallText00:
+;"It dodged the thrown ball!"
+;"This pokemon can't be caught"
+	TX_FAR _ItemUseBallText00
+	db "@"
+ItemUseBallText01:
+;"You missed the pokemon!"
+	TX_FAR _ItemUseBallText01
+	db "@"
+ItemUseBallText02:
+;"Darn! The pokemon broke free!"
+	TX_FAR _ItemUseBallText02
+	db "@"
+ItemUseBallText03:
+;"Aww! It appeared to be caught!"
+	TX_FAR _ItemUseBallText03
+	db "@"
+ItemUseBallText04:
+;"Shoot! It was so close too!"
+	TX_FAR _ItemUseBallText04
+	db "@"
+ItemUseBallText05:
+;"All right! {MonName} was caught!"
+;play sound
+	TX_FAR _ItemUseBallText05
+	db $12,$06
+	db "@"
+ItemUseBallText07:
+;"X was transferred to Bill's PC"
+	TX_FAR _ItemUseBallText07
+	db "@"
+ItemUseBallText08:
+;"X was transferred to someone's PC"
+	TX_FAR _ItemUseBallText08
+	db "@"
+
+ItemUseBallText06:
+;"New DEX data will be added..."
+;play sound
+	TX_FAR _ItemUseBallText06
+	db $13,$06
+	db "@"
+
+ItemUseTownMap: ; 03:5968
+	ld a,[W_ISINBATTLE]	;in-battle or outside
+	and a
+	jp nz,ItemUseNotTime	;OAK: "this isn't the time..."
+
+INCBIN "baserom.gbc",$d96f,$da4c - $d96f
+
+UnnamedText_da4c: ; 0xda4c
+	TX_FAR _UnnamedText_da4c
+	db $50
+; 0xda4c + 5 bytes
+
+UnnamedText_da51: ; 0xda51
+	TX_FAR _UnnamedText_da51
+	db $50
+; 0xda51 + 5 bytes
+
+ItemUsePokedex: ; 0xda56 5A56
+	ld a, $29
+	jp $3e6d
+; 0xda5b
+
+INCBIN "baserom.gbc",$da5b,$df24 - $da5b
+
+UnnamedText_df24: ; 0xdf24
+	TX_FAR _UnnamedText_df24
+	db $50
+; 0xdf24 + 5 bytes
+
+UnnamedText_df29: ; 0xdf29
+	TX_FAR _UnnamedText_df29
+	db $50
+; 0xdf29 + 5 bytes
+
+INCBIN "baserom.gbc",$df2e,$dfa5 - $df2e
+
+UnnamedText_dfa5: ; 0xdfa5
+	TX_FAR _UnnamedText_dfa5
+	db $50
+; 0xdfa5 + 5 bytes
+
+UnnamedText_dfaa: ; 0xdfaa
+	TX_FAR _UnnamedText_dfaa
+	db $50
+; 0xdfaa + 5 bytes
+
+INCBIN "baserom.gbc",$dfaf,$e20b - $dfaf
+
+UnnamedText_e20b: ; 0xe20b
+	TX_FAR _UnnamedText_e20b
+	db $50
+; 0xe20b + 5 bytes
+
+UnnamedText_e210: ; 0xe210
+	TX_FAR _UnnamedText_e210
+	db $50
+; 0xe210 + 5 bytes
+
+INCBIN "baserom.gbc",$e215,$e247 - $e215
+
+UnnamedText_e247: ; 0xe247
+	TX_FAR _UnnamedText_e247
+	db $50
+; 0xe247 + 5 bytes
+
+OldRodCode: ; 0xe24c
+	call $62b4 ; probably sets carry if not in battle or not by water
+	jp c, ItemUseNotTime
+	ld bc, (5 << 8) | MAGIKARP
+	ld a, $1 ; set bite
+	jr RodResponse ; 0xe257 $34
+
+GoodRodCode: ; 6259 0xe259
+	call $62B4 ; probably sets carry if not in battle or not by water
+	jp c,ItemUseNotTime
+.RandomLoop
+	call GenRandom
+	srl a
+	jr c, .SetBite
+	and %11
+	cp 2
+	jr nc, .RandomLoop
+	; choose which monster appears
+	ld hl,GoodRodMons
+	add a,a
+	ld c,a
+	ld b,0
+	add hl,bc
+	ld b,[hl]
+	inc hl
+	ld c,[hl]
+	and a
+.SetBite
+	ld a,0
+	rla
+	xor 1
+	jr RodResponse
+
+GoodRodMons:
+	db 10,GOLDEEN
+	db 10,POLIWAG
+
+SuperRodCode: ; $6283 0xe283
+	call $62B4 ; probably sets carry if in battle or not by water
+	jp c, ItemUseNotTime
+	call ReadSuperRodData ; 0xe8ea
+	ld a, e
+RodResponse:
+	ld [$CD3D], a
+
+	dec a ; is there a bite?
+	jr nz, .next\@
+	; if yes, store level and species data
+	ld a, 1
+	ld [$D05F], a
+	ld a, b ; level
+	ld [W_CURENEMYLVL], a
+	ld a, c ; species
+	ld [W_CUROPPONENT], a
+
+.next\@
+	ld hl, $D700
+	ld a, [hl] ; store the value in a
+	push af
+	push hl
+	ld [hl], 0
+	ld b, $1C
+	ld hl, $47B6
+	call Bankswitch
+	pop hl
+	pop af
+	ld [hl], a
+	ret
+
+INCBIN "baserom.gbc",$e2b4,$e30d - $e2b4
+
+UnnamedText_e30d: ; 0xe30d
+	TX_FAR _UnnamedText_e30d
+	db $50
+; 0xe30d + 5 bytes
+
+UnnamedText_e312: ; 0xe312
+	TX_FAR _UnnamedText_e312
+	db $50
+; 0xe312 + 5 bytes
+
+INCBIN "baserom.gbc",$e317,$e45d - $e317
+
+UnnamedText_e45d: ; 0xe45d
+	TX_FAR _UnnamedText_e45d
+	db $50
+; 0xe45d + 5 bytes
+
+UnnamedText_e462: ; 0xe462
+	TX_FAR _UnnamedText_e462
+	db $50
+; 0xe462 + 5 bytes
+
+UnnamedText_e467: ; 0xe467
+	TX_FAR _UnnamedText_e467
+	db $50
+; 0xe467 + 5 bytes
+
+UnnamedText_e46c: ; 0xe46c
+	TX_FAR _UnnamedText_e46c
+	db $50
+; 0xe46c + 5 bytes
+
+UnnamedText_e471: ; 0xe471
+	TX_FAR _UnnamedText_e471
+	db $50
+; 0xe471 + 5 bytes
+
+INCBIN "baserom.gbc",$e476,$3
+
+ItemUseTMHM: ; 03:6479
+	INCBIN "baserom.gbc",$E479,$E581 - $E479
+ItemUseNotTime: ; 03:6581
+	INCBIN "baserom.gbc",$E581,$E5E8 - $E581
+ItemUseText00: ; 03:65e8
+	TX_FAR _ItemUseText001
+	db $05
+	TX_FAR _ItemUseText002
+	db "@"
+
+INCBIN "baserom.gbc",$e5f2,$e5f7 - $e5f2
+
+UnnamedText_e5f7: ; 0xe5f7
+	TX_FAR _UnnamedText_e5f7
+	db $50
+; 0xe5f7 + 5 bytes
+
+INCBIN "baserom.gbc",$e5fc,$e601 - $e5fc
+
+UnnamedText_e601: ; 0xe601
+	TX_FAR _UnnamedText_e601
+	db $50
+; 0xe601 + 5 bytes
+
+INCBIN "baserom.gbc",$e606,$e755 - $e606
+
+UnnamedText_e755: ; 0xe755
+	TX_FAR _UnnamedText_e755
+	db $50
+; 0xe755 + 5 bytes
+
+UnnamedText_e75a: ; 0xe75a
+	TX_FAR _UnnamedText_e75a
+	db $50
+; 0xe75a + 5 bytes
+
+UnnamedText_e75f: ; 0xe75f
+	TX_FAR _UnnamedText_e75f
+	db $50
+; 0xe75f + 5 bytes
+
+INCBIN "baserom.gbc",$e764,$e8ea - $e764
+
+; 68EA 0xe8ea
+ReadSuperRodData:
+; return e = 2 if no fish on this map
+; return e = 1 if a bite, bc = level,species
+; return e = 0 if no bite
+	ld a, [W_CURMAP]
+	ld de, 3 ; each fishing group is three bytes wide
+	ld hl, SuperRodData
+	call IsInArray
+	jr c, .ReadFishingGroup
+	ld e, $2 ; $2 if no fishing groups found
+	ret
+
+.ReadFishingGroup ; 0xe8f6
+; hl points to the fishing group entry in the index
+	inc hl ; skip map id
+
+	; read fishing group address
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+
+	ld b, [hl] ; how many mons in group
+	inc hl ; point to data
+	ld e, $0 ; no bite yet
+
+.RandomLoop ; 0xe90c
+	call GenRandom
+	srl a
+	ret c ; 50% chance of no battle
+
+	and %11 ; 2-bit random number
+	cp b
+	jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate
+
+	; get the mon
+	add a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld b, [hl] ; level
+	inc hl
+	ld c, [hl] ; species
+	ld e, $1 ; $1 if there's a bite
+	ret
+; 0xe919
+
+; super rod data
+; format: map, pointer to fishing group
+SuperRodData: ; 6919
+	dbw PALLET_TOWN, FishingGroup1
+	dbw VIRIDIAN_CITY, FishingGroup1
+	dbw CERULEAN_CITY, FishingGroup3
+	dbw VERMILION_CITY, FishingGroup4
+	dbw CELADON_CITY, FishingGroup5
+	dbw FUCHSIA_CITY, FishingGroup10
+	dbw CINNABAR_ISLAND, FishingGroup8
+	dbw ROUTE_4, FishingGroup3
+	dbw ROUTE_6, FishingGroup4
+	dbw ROUTE_10, FishingGroup5
+	dbw ROUTE_11, FishingGroup4
+	dbw ROUTE_12, FishingGroup7
+	dbw ROUTE_13, FishingGroup7
+	dbw ROUTE_17, FishingGroup7
+	dbw ROUTE_18, FishingGroup7
+	dbw ROUTE_19, FishingGroup8
+	dbw ROUTE_20, FishingGroup8
+	dbw ROUTE_21, FishingGroup8
+	dbw ROUTE_22, FishingGroup2
+	dbw ROUTE_23, FishingGroup9
+	dbw ROUTE_24, FishingGroup3
+	dbw ROUTE_25, FishingGroup3
+	dbw CERULEAN_GYM, FishingGroup3
+	dbw VERMILION_DOCK, FishingGroup4
+;XXX syntax errors on the rest?
+	dbw $A1, FishingGroup8 ; SEAFOAM_ISLANDS_4
+	dbw $A2, FishingGroup8 ; SEAFOAM_ISLANDS_5
+	dbw SAFARI_ZONE_EAST, FishingGroup6
+	dbw $DA, FishingGroup6 ; SAFARI_ZONE_NORTH
+	dbw SAFARI_ZONE_WEST, FishingGroup6 
+	dbw $DC, FishingGroup6 ; SAFARI_ZONE_CENTER
+	dbw $E2, FishingGroup9 ; UNKNOWN_DUNGEON_2
+	dbw $E3, FishingGroup9 ; UNKNOWN_DUNGEON_3
+	dbw $E4, FishingGroup9 ; UNKNOWN_DUNGEON_1
+	db $FF
+
+; fishing groups
+; number of monsters, followed by level/monster pairs
+FishingGroup1:
+	db 2
+	db 15,TENTACOOL
+	db 15,POLIWAG
+
+FishingGroup2:
+	db 2
+	db 15,GOLDEEN
+	db 15,POLIWAG
+
+FishingGroup3:
+	db 3
+	db 15,PSYDUCK
+	db 15,GOLDEEN
+	db 15,KRABBY
+
+FishingGroup4:
+	db 2
+	db 15,KRABBY
+	db 15,SHELLDER
+
+FishingGroup5:
+	db 2
+	db 23,POLIWHIRL
+	db 15,SLOWPOKE
+
+FishingGroup6:
+	db 4
+	db 15,DRATINI
+	db 15,KRABBY
+	db 15,PSYDUCK
+	db 15,SLOWPOKE
+
+FishingGroup7:
+	db 4
+	db 5,TENTACOOL
+	db 15,KRABBY
+	db 15,GOLDEEN
+	db 15,MAGIKARP
+
+FishingGroup8:
+	db 4
+	db 15,STARYU
+	db 15,HORSEA
+	db 15,SHELLDER
+	db 15,GOLDEEN
+
+FishingGroup9:
+	db 4
+	db 23,SLOWBRO
+	db 23,SEAKING
+	db 23,KINGLER
+	db 23,SEADRA
+
+FishingGroup10:
+	db 4
+	db 23,SEAKING
+	db 15,KRABBY
+	db 15,GOLDEEN
+	db 15,MAGIKARP
+
+INCBIN "baserom.gbc",$E9C5,$ef7d - $E9C5
+
+_UnnamedText_ef7d: ; 0xef7d
+	db $17, $f8, $42, $2a
+	db $50
+; 0xef7d + 5 bytes
+
+INCBIN "baserom.gbc",$ef82,$f6a5 - $ef82
+
+HealParty:
+	ld hl, W_PARTYMON1
+	ld de, W_PARTYMON1_HP
+.HealPokemon\@: ; 0xf704
+	ld a, [hli]
+	cp $ff
+	jr z, .DoneHealing\@ ; End if there's no Pokémon
+	push hl
+	push de
+	ld hl, $0003 ; Status offset
+	add hl, de
+	xor a
+	ld [hl], a ; Clean status conditions
+	push de
+	ld b, $4 ; A Pokémon has 4 moves
+.RestorePP\@:
+	ld hl, $0007 ; Move offset
+	add hl, de
+	ld a, [hl]
+	and a
+	jr z, .HealNext\@ ; Skip if there's no move here
+	dec a
+	ld hl, $001c ; PP offset
+	add hl, de
+	push hl
+	push de
+	push bc
+	ld hl, Moves
+	ld bc, $0006
+	call AddNTimes
+	ld de, $cd6d
+	ld a, BANK(Moves)
+	call FarCopyData ; copy move header to memory
+	ld a, [$cd72] ; get default PP
+	pop bc
+	pop de
+	pop hl
+	inc de
+	push bc
+	ld b, a
+	ld a, [hl]
+	and $c0
+	add b
+	ld [hl], a
+	pop bc
+.HealNext\@:
+	dec b
+	jr nz, .RestorePP\@ ; Continue if there's still moves
+	pop de
+	ld hl, $0021 ; Max HP offset
+	add hl, de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hl]
+	ld [de], a ; Restore full HP
+	pop de
+	pop hl
+	push hl
+	ld bc, $002c
+	ld h, d
+	ld l, e
+	add hl, bc
+	ld d, h
+	ld e, l
+	pop hl
+	jr .HealPokemon\@ ; Next Pokémon
+.DoneHealing\@ ; This calls $6606 for each Pokémon in party -- no idea why
+	xor a
+	ld [$cf92], a
+	ld [$d11e], a
+	ld a, [W_NUMINPARTY]
+	ld b, a
+.asm_f711
+	push bc
+	call $6606
+	pop bc
+	ld hl, $cf92
+	inc [hl]
+	dec b
+	jr nz, .asm_f711 ; 0xf71b $f4
+	ret
+
+INCBIN "baserom.gbc",$f71e,$fbd9 - $f71e
+
+UnnamedText_fbd9: ; 0xfbd9
+	TX_FAR _UnnamedText_fbd9
+	db $50
+; 0xfbd9 + 5 bytes
+
+UnnamedText_fbde: ; 0xfbde
+	TX_FAR _UnnamedText_fbde
+	db $50
+; 0xfbde + 5 bytes
+
+UnnamedText_fbe3: ; 0xfbe3
+	TX_FAR _UnnamedText_fbe3
+	db $50
+; 0xfbe3 + 5 bytes
+
+INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8
+
+UnnamedText_fc03: ; 0xfc03
+	TX_FAR _UnnamedText_fc03
+	db $50
+; 0xfc03 + 5 bytes
+
+UnnamedText_fc08: ; 0xfc08
+	TX_FAR _UnnamedText_fc08
+	db $50
+; 0xfc08 + 5 bytes
+
+UnnamedText_fc0d: ; 0xfc0d
+	TX_FAR _UnnamedText_fc0d
+	db $50
+; 0xfc0d + 5 bytes
+
+INCBIN "baserom.gbc",$fc12,$fc45 - $fc12
+
+UnnamedText_fc45: ; 0xfc45
+	TX_FAR _UnnamedText_fc45
+	db $50
+; 0xfc45 + 5 bytes
+
+INCBIN "baserom.gbc",$fc4a,$3b6
+
+SECTION "bank4",DATA,BANK[$4]
+
+INCBIN "baserom.gbc",$10000,$12e7f - $10000
+
+UnnamedText_12e7f: ; 0x12e7f
+	TX_FAR _UnnamedText_12e7f
+	db $50
+; 0x12e7f + 5 bytes
+
+UnnamedText_12e84: ; 0x12e84
+	TX_FAR _UnnamedText_12e84
+	db $50
+; 0x12e84 + 5 bytes
+
+UnnamedText_12e89: ; 0x12e89
+	TX_FAR _UnnamedText_12e89
+	db $50
+; 0x12e89 + 5 bytes
+
+UnnamedText_12e8e: ; 0x12e8e
+	TX_FAR _UnnamedText_12e8e
+	db $50
+; 0x12e8e + 5 bytes
+
+UnnamedText_12e93: ; 0x12e93
+	TX_FAR _UnnamedText_12e93
+	db $50
+; 0x12e93 + 5 bytes
+
+UnnamedText_12e98: ; 0x12e98
+	TX_FAR _UnnamedText_12e98
+	db $50
+; 0x12e98 + 5 bytes
+
+UnnamedText_12e9d: ; 0x12e9d
+	TX_FAR _UnnamedText_12e9d
+	db $50
+; 0x12e9d + 5 bytes
+
+UnnamedText_12ea2: ; 0x12ea2
+	TX_FAR _UnnamedText_12ea2
+	db $50
+; 0x12ea2 + 5 bytes
+
+UnnamedText_12ea7: ; 0x12ea7
+	TX_FAR _UnnamedText_12ea7
+	db $50
+; 0x12ea7 + 5 bytes
+
+UnnamedText_12eac: ; 0x12eac
+	TX_FAR _UnnamedText_12eac
+	db $50
+; 0x12eac + 5 bytes
+
+UnnamedText_12eb1: ; 0x12eb1
+	TX_FAR _UnnamedText_12eb1
+	db $50
+; 0x12eb1 + 5 bytes
+
+UnnamedText_12eb6: ; 0x12eb6
+	TX_FAR _UnnamedText_12eb6
+	db $50
+; 0x12eb6 + 5 bytes
+
+UnnamedText_12ebb: ; 0x12ebb
+	TX_FAR _UnnamedText_12ebb
+	db $50
+; 0x12ebb + 5 bytes
+
+INCBIN "baserom.gbc",$12ec0,$1e
+
+RedPicFront:
+	INCBIN "pic/trainer/red.pic"
+ShrinkPic1:
+	INCBIN "pic/trainer/shrink1.pic"
+ShrinkPic2:
+	INCBIN "pic/trainer/shrink2.pic"
+
+INCBIN "baserom.gbc",$13074,$13228 - $13074
+
+UnnamedText_13228: ; 0x13228
+	TX_FAR _UnnamedText_13228
+	db $50
+; 0x13228 + 5 bytes
+
+INCBIN "baserom.gbc",$1322d,$1327b - $1322d
+
+UnnamedText_1327b: ; 0x1327b
+	TX_FAR _UnnamedText_1327b
+	db $50
+; 0x1327b + 5 bytes
+
+UnnamedText_13280: ; 0x13280
+	TX_FAR _UnnamedText_13280
+	db $50
+; 0x13280 + 5 bytes
+
+UnnamedText_13285: ; 0x13285
+	TX_FAR _UnnamedText_13285
+	db $50
+; 0x13285 + 5 bytes
+
+INCBIN "baserom.gbc",$1328a,$132d4 - $1328a
+
+UnnamedText_132d4: ; 0x132d4
+	TX_FAR _UnnamedText_132d4
+	db $50
+; 0x132d4 + 5 bytes
+
+INCBIN "baserom.gbc",$132d9,$132e8 - $132d9
+
+UnnamedText_132e8: ; 0x132e8
+	TX_FAR _UnnamedText_132e8
+	db $50
+; 0x132e8 + 5 bytes
+
+INCBIN "baserom.gbc",$132ed,$1342a - $132ed
+
+UnnamedText_1342a: ; 0x1342a
+	TX_FAR _UnnamedText_1342a
+	db $50
+; 0x1342a + 5 bytes
+
+UnnamedText_1342f: ; 0x1342f
+	TX_FAR _UnnamedText_1342f
+	db $50
+; 0x1342f + 5 bytes
+
+INCBIN "baserom.gbc",$13434,$13773 - $13434
+
+TechnicalMachines: ; 0x13773
+	db MEGA_PUNCH
+	db RAZOR_WIND
+	db SWORDS_DANCE
+	db WHIRLWIND
+	db MEGA_KICK
+	db TOXIC
+	db HORN_DRILL
+	db BODY_SLAM
+	db TAKE_DOWN
+	db DOUBLE_EDGE
+	db BUBBLEBEAM
+	db WATER_GUN
+	db ICE_BEAM
+	db BLIZZARD
+	db HYPER_BEAM
+	db PAY_DAY
+	db SUBMISSION
+	db COUNTER
+	db SEISMIC_TOSS
+	db RAGE
+	db MEGA_DRAIN
+	db SOLARBEAM
+	db DRAGON_RAGE
+	db THUNDERBOLT
+	db THUNDER
+	db EARTHQUAKE
+	db FISSURE
+	db DIG
+	db PSYCHIC_M
+	db TELEPORT
+	db MIMIC
+	db DOUBLE_TEAM
+	db REFLECT
+	db BIDE
+	db METRONOME
+	db SELFDESTRUCT
+	db EGG_BOMB
+	db FIRE_BLAST
+	db SWIFT
+	db SKULL_BASH
+	db SOFTBOILED
+	db DREAM_EATER
+	db SKY_ATTACK
+	db REST
+	db THUNDER_WAVE
+	db PSYWAVE
+	db EXPLOSION
+	db ROCK_SLIDE
+	db TRI_ATTACK
+	db SUBSTITUTE
+	db CUT
+	db FLY
+	db SURF
+	db STRENGTH
+	db FLASH
+
+INCBIN "baserom.gbc",$137aa,$1386b - $137aa
+
+UnnamedText_1386b: ; 0x1386b
+	TX_FAR _UnnamedText_1386b
+	db $50
+; 0x1386b + 5 bytes
+
+INCBIN "baserom.gbc",$13870,$1399e - $13870
+
+UnnamedText_1399e: ; 0x1399e
+	TX_FAR _UnnamedText_1399e
+	db $50
+; 0x1399e + 5 bytes
+
+INCBIN "baserom.gbc",$139a3,$139cd - $139a3
+
+UnnamedText_139cd: ; 0x139cd
+	TX_FAR _UnnamedText_139cd
+	db $50
+; 0x139cd + 5 bytes
+
+INCBIN "baserom.gbc",$139d2,$13a53 - $139d2
+
+UnnamedText_13a53: ; 0x13a53
+	TX_FAR _UnnamedText_13a53
+	db $50
+; 0x13a53 + 5 bytes
+
+INCBIN "baserom.gbc",$13a58,$37
+
+GenRandom_: ; 7A8F
+; generate a random 16-bit integer and store it at $FFD3,$FFD4
+	ld a,[rDIV]
+	ld b,a
+	ld a,[H_RAND1]
+	adc b
+	ld [H_RAND1],a
+	ld a,[rDIV]
+	ld b,a
+	ld a,[H_RAND2]
+	sbc b
+	ld [H_RAND2],a
+	ret
+
+SECTION "bank5",DATA,BANK[$5]
+
+INCBIN "baserom.gbc",$14000,$17e1d - $14000
+
+UnnamedText_17e1d: ; 0x17e1d
+	TX_FAR _UnnamedText_17e1d
+	db $50
+; 0x17e1d + 5 bytes
+
+UnnamedText_17e22: ; 0x17e22
+	TX_FAR _UnnamedText_17e22
+	db $50
+; 0x17e22 + 5 bytes
+
+UnnamedText_17e27: ; 0x17e27
+	TX_FAR _UnnamedText_17e27
+	db $50
+; 0x17e27 + 5 bytes
+
+INCBIN "baserom.gbc",$17e2c,$17f23 - $17e2c
+
+UnnamedText_17f23: ; 0x17f23
+	TX_FAR _UnnamedText_17f23
+	db $50
+; 0x17f23 + 5 bytes
+
+UnnamedText_17f28: ; 0x17f28
+	TX_FAR _UnnamedText_17f28
+	db $50
+; 0x17f28 + 5 bytes
+
+UnnamedText_17f2d: ; 0x17f2d
+	TX_FAR _UnnamedText_17f2d
+	db $50
+; 0x17f2d + 5 bytes
+
+UnnamedText_17f32: ; 0x17f32
+	TX_FAR _UnnamedText_17f32
+	db $50
+; 0x17f32 + 5 bytes
+
+INCBIN "baserom.gbc",$17f37,$c9
+
+SECTION "bank6",DATA,BANK[$6]
+
+CeladonCity_h: ; 0x18000
+	db $00 ; tileset
+	db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x)
+	dw CeladonCityBlocks, CeladonCityTexts, CeladonCityScript ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db ROUTE_16
+	dw $4B95, $C7C1 ; pointers (connected, current) (strip)
+	db $09, $14 ; bigness, width
+	db $F8, $27 ; alignments (y, x)
+	dw $C716 ; window
+
+	db ROUTE_7
+	dw $4051, $C7DD ; pointers (connected, current) (strip)
+	db $09, $0A ; bigness, width
+	db $F8, $00 ; alignments (y, x)
+	dw $C6F9 ; window
+
+	; end connections data
+
+	dw CeladonCityObject ; objects
+
+CeladonCityObject: ; 0x18022 (size=189)
+	db $f ; border tile
+
+	db $d ; warps
+	db $d, $8, $0, CELADON_MART_1
+	db $d, $a, $2, CELADON_MART_1
+	db $9, $18, $0, CELADON_MANSION_1
+	db $3, $18, $2, CELADON_MANSION_1
+	db $3, $19, $2, CELADON_MANSION_1
+	db $9, $29, $0, CELADON_POKECENTER
+	db $1b, $c, $0, CELADON_GYM
+	db $13, $1c, $0, GAME_CORNER
+	db $13, $27, $0, CELADON_MART_5
+	db $13, $21, $0, CELADONPRIZE_ROOM
+	db $1b, $1f, $0, CELADON_DINER
+	db $1b, $23, $0, CELADON_HOUSE
+	db $1b, $2b, $0, CELADON_HOTEL
+
+	db $9 ; signs
+	db $f, $1b, $a ; CeladonCityText10
+	db $f, $13, $b ; CeladonCityText11
+	db $9, $2a, $c ; CeladonCityText12
+	db $1d, $d, $d ; CeladonCityText13
+	db $9, $15, $e ; CeladonCityText14
+	db $d, $c, $f ; CeladonCityText15
+	db $15, $27, $10 ; CeladonCityText16
+	db $15, $21, $11 ; CeladonCityText17
+	db $15, $1b, $12 ; CeladonCityText18
+
+	db $9 ; people
+	db SPRITE_LITTLE_GIRL, $11 + 4, $8 + 4, $fe, $0, $1 ; person
+	db SPRITE_OLD_PERSON, $1c + 4, $b + 4, $ff, $d1, $2 ; person
+	db SPRITE_GIRL, $13 + 4, $e + 4, $fe, $1, $3 ; person
+	db SPRITE_OLD_PERSON, $16 + 4, $19 + 4, $ff, $d0, $4 ; person
+	db SPRITE_OLD_PERSON, $10 + 4, $16 + 4, $ff, $d0, $5 ; person
+	db SPRITE_FISHER2, $c + 4, $20 + 4, $ff, $d2, $6 ; person
+	db SPRITE_SLOWBRO, $c + 4, $1e + 4, $ff, $d3, $7 ; person
+	db SPRITE_ROCKET, $1d + 4, $20 + 4, $fe, $2, $8 ; person
+	db SPRITE_ROCKET, $e + 4, $2a + 4, $fe, $2, $9 ; person
+
+	; warp-to
+	EVENT_DISP $19, $d, $8 ; CELADON_MART_1
+	EVENT_DISP $19, $d, $a ; CELADON_MART_1
+	EVENT_DISP $19, $9, $18 ; CELADON_MANSION_1
+	EVENT_DISP $19, $3, $18 ; CELADON_MANSION_1
+	EVENT_DISP $19, $3, $19 ; CELADON_MANSION_1
+	EVENT_DISP $19, $9, $29 ; CELADON_POKECENTER
+	EVENT_DISP $19, $1b, $c ; CELADON_GYM
+	EVENT_DISP $19, $13, $1c ; GAME_CORNER
+	EVENT_DISP $19, $13, $27 ; CELADON_MART_5
+	EVENT_DISP $19, $13, $21 ; CELADONPRIZE_ROOM
+	EVENT_DISP $19, $1b, $1f ; CELADON_DINER
+	EVENT_DISP $19, $1b, $23 ; CELADON_HOUSE
+	EVENT_DISP $19, $1b, $2b ; CELADON_HOTEL
+
+CeladonCityBlocks: ; 0x180df 450
+	INCBIN "maps/celadoncity.blk"
+
+PalletTown_h: ; 0x182a1
+	db $00 ; tileset
+	db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions
+	dw PalletTownBlocks, PalletTownTexts, PalletTownScript
+	db NORTH | SOUTH ; connections
+
+	db ROUTE_1
+	dw Route1Blocks + ((ROUTE_1_WIDTH * 15) + 0) ;y, x Strip Starting Point
+	dw $C6EB + 0 ;Strip X-Offset to current map
+	db ROUTE_1_WIDTH ;"Bigness" (Unsure) ;Something to do with MapData
+	db ROUTE_1_WIDTH ;"Map Width" (Unsure) ;Something to do with TileSet
+	db (ROUTE_1_HEIGHT * 2) - 1 ;Player's new Y-Coordinates
+	db (0 * -2) ;Player's new X-Coordinates
+	dw $C6E9 + ROUTE_1_HEIGHT * (ROUTE_1_WIDTH + 6) ;New UL Block Pos (Window)
+
+	db ROUTE_21
+	dw Route21Blocks,$C7AB ; pointers
+	db $0A,$0A ; bigness, width
+	db $00,$00 ; alignments
+	dw $C6F9 ; window
+
+	dw PalletTownObject
+
+PalletTownObject: ; 0x182c3 (size=58)
+	db $b ; border tile
+
+	db $3 ; warps
+	db $5, $5, $0, REDS_HOUSE_1F
+	db $5, $d, $0, BLUES_HOUSE
+	db $b, $c, $1, OAKS_LAB
+
+	db $4 ; signs
+	db $d, $d, $4 ; PalletTownText4
+	db $9, $7, $5 ; PalletTownText5
+	db $5, $3, $6 ; PalletTownText6
+	db $5, $b, $7 ; PalletTownText7
+
+	db $3 ; people
+	db SPRITE_OAK, $5 + 4, $8 + 4, $ff, $ff, $1 ; person
+	db SPRITE_GIRL, $8 + 4, $3 + 4, $fe, $0, $2 ; person
+	db SPRITE_FISHER2, $e + 4, $b + 4, $fe, $0, $3 ; person
+
+	; warp-to
+	EVENT_DISP $a, $5, $5 ; REDS_HOUSE_1F
+	EVENT_DISP $a, $5, $d ; BLUES_HOUSE
+	EVENT_DISP $a, $b, $c ; OAKS_LAB
+
+PalletTownBlocks: ; 0x182fd
+	INCBIN "maps/pallettown.blk"
+
+ViridianCity_h: ; 0x18357 to 0x18384 (45 bytes) (bank=6) (id=1)
+	db $00 ; tileset
+	db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x)
+	dw ViridianCityBlocks, ViridianCityTexts, ViridianCityScript ; blocks, texts, scripts
+	db NORTH | SOUTH | WEST ; connections
+
+	; connections data
+
+	db ROUTE_2
+	dw Route2Blocks + (ROUTE_2_HEIGHT - 3) * ROUTE_2_WIDTH ; connection strip location
+	dw $C6EB + 5 ; current map position
+	db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width
+	db (ROUTE_2_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_2_HEIGHT * (ROUTE_2_WIDTH + 6) ; window
+
+	db ROUTE_1
+	dw Route1Blocks ; connection strip location
+	dw $C6EB + (VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6) + 5 ; current map position
+	db ROUTE_1_WIDTH, ROUTE_1_WIDTH ; bigness, width
+	db 0, (5 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_1_WIDTH ; window
+
+	db ROUTE_22
+	dw Route22Blocks - 3 + (ROUTE_22_WIDTH) ; connection strip location
+	dw $C6E8 + (VIRIDIAN_CITY_WIDTH + 6) * (4 + 3) ; current map position
+	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; bigness, width
+	db (4 * -2), (ROUTE_22_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_22_WIDTH ; window
+
+	; end connections data
+
+	dw ViridianCityObject ; objects
+
+ViridianCityObject: ; 0x18384 (size=104)
+	db $f ; border tile
+
+	db $5 ; warps
+	db $19, $17, $0, VIRIDIAN_POKECENTER
+	db $13, $1d, $0, VIRIDIAN_MART
+	db $f, $15, $0, VIRIDIAN_SCHOOL
+	db $9, $15, $0, VIRIDIAN_HOUSE
+	db $7, $20, $0, VIRIDIAN_GYM
+
+	db $6 ; signs
+	db $11, $11, $8 ; ViridianCityText8
+	db $1, $13, $9 ; ViridianCityText9
+	db $1d, $15, $a ; ViridianCityText10
+	db $13, $1e, $b ; ViridianCityText11
+	db $19, $18, $c ; ViridianCityText12
+	db $7, $1b, $d ; ViridianCityText13
+
+	db $7 ; people
+	db SPRITE_BUG_CATCHER, $14 + 4, $d + 4, $fe, $0, $1 ; person
+	db SPRITE_GAMBLER, $8 + 4, $1e + 4, $ff, $ff, $2 ; person
+	db SPRITE_BUG_CATCHER, $19 + 4, $1e + 4, $fe, $0, $3 ; person
+	db SPRITE_GIRL, $9 + 4, $11 + 4, $ff, $d3, $4 ; person
+	db SPRITE_LYING_OLD_MAN, $9 + 4, $12 + 4, $ff, $ff, $5 ; person
+	db SPRITE_FISHER2, $17 + 4, $6 + 4, $ff, $d0, $6 ; person
+	db SPRITE_GAMBLER, $5 + 4, $11 + 4, $fe, $2, $7 ; person
+
+	; warp-to
+	EVENT_DISP $14, $19, $17 ; VIRIDIAN_POKECENTER
+	EVENT_DISP $14, $13, $1d ; VIRIDIAN_MART
+	EVENT_DISP $14, $f, $15 ; VIRIDIAN_SCHOOL
+	EVENT_DISP $14, $9, $15 ; VIRIDIAN_HOUSE
+	EVENT_DISP $14, $7, $20 ; VIRIDIAN_GYM
+
+ViridianCityBlocks: ; 0x183ec 360
+	INCBIN "maps/viridiancity.blk"
+
+PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2)
+	db $00 ; tileset
+	db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x)
+	dw PewterCityBlocks, PewterCityTexts, PewterCityScript ; blocks, texts, scripts
+	db SOUTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_2
+	dw Route2Blocks ; connection strip location
+	dw $C6EB + (PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6) + 5 ; current map position
+	db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width
+	db 0, (5 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_2_WIDTH ; window
+
+	db ROUTE_3
+	dw Route3Blocks + (ROUTE_3_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (PEWTER_CITY_WIDTH + 6) * (4 + 4) ; current map position
+	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; bigness, width
+	db (4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_3_WIDTH ; window
+
+	; end connections data
+
+	dw PewterCityObject ; objects
+
+INCBIN "baserom.gbc",$18576,$18577 - $18576
+
+PewterCityObject: ; 0x18577 (size=111)
+	db $a ; border tile
+
+	db $7 ; warps
+	db $7, $e, $0, MUSEUM_1F
+	db $5, $13, $2, MUSEUM_1F
+	db $11, $10, $0, PEWTER_GYM
+	db $d, $1d, $0, PEWTER_HOUSE_1
+	db $11, $17, $0, PEWTER_MART
+	db $1d, $7, $0, PEWTER_HOUSE_2
+	db $19, $d, $0, PEWTER_POKECENTER
+
+	db $7 ; signs
+	db $1d, $13, $6 ; PewterCityText6
+	db $13, $21, $7 ; PewterCityText7
+	db $11, $18, $8 ; PewterCityText8
+	db $19, $e, $9 ; PewterCityText9
+	db $9, $f, $a ; PewterCityText10
+	db $11, $b, $b ; PewterCityText11
+	db $17, $19, $c ; PewterCityText12
+
+	db $5 ; people
+	db SPRITE_LASS, $f + 4, $8 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $19 + 4, $11 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $1b + 4, $ff, $ff, $3 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $19 + 4, $1a + 4, $fe, $2, $4 ; person
+	db SPRITE_BUG_CATCHER, $10 + 4, $23 + 4, $ff, $d0, $5 ; person
+
+	; warp-to
+	EVENT_DISP $14, $7, $e ; MUSEUM_1F
+	EVENT_DISP $14, $5, $13 ; MUSEUM_1F
+	EVENT_DISP $14, $11, $10 ; PEWTER_GYM
+	EVENT_DISP $14, $d, $1d ; PEWTER_HOUSE_1
+	EVENT_DISP $14, $11, $17 ; PEWTER_MART
+	EVENT_DISP $14, $1d, $7 ; PEWTER_HOUSE_2
+	EVENT_DISP $14, $19, $d ; PEWTER_POKECENTER
+
+PewterCityBlocks: ; 0x185e6 360
+	INCBIN "maps/pewtercity.blk"
+
+CeruleanCity_h: ; 0x1874e to 0x18786 (56 bytes) (bank=6) (id=3)
+	db $00 ; tileset
+	db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x)
+	dw CeruleanCityBlocks, CeruleanCityTexts, CeruleanCityScript ; blocks, texts, scripts
+	db NORTH | SOUTH | WEST | EAST ; connections
+
+	; connections data
+
+	db ROUTE_24
+	dw Route24Blocks + (ROUTE_24_HEIGHT - 3) * ROUTE_24_WIDTH ; connection strip location
+	dw $C6EB + 5 ; current map position
+	db ROUTE_24_WIDTH, ROUTE_24_WIDTH ; bigness, width
+	db (ROUTE_24_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_24_HEIGHT * (ROUTE_24_WIDTH + 6) ; window
+
+	db ROUTE_5
+	dw Route5Blocks ; connection strip location
+	dw $C6EB + (CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6) + 5 ; current map position
+	db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width
+	db 0, (5 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_5_WIDTH ; window
+
+	db ROUTE_4
+	dw Route4Blocks - 3 + (ROUTE_4_WIDTH) ; connection strip location
+	dw $C6E8 + (CERULEAN_CITY_WIDTH + 6) * (4 + 3) ; current map position
+	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; bigness, width
+	db (4 * -2), (ROUTE_4_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_4_WIDTH ; window
+
+	db ROUTE_9
+	dw Route9Blocks + (ROUTE_9_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (CERULEAN_CITY_WIDTH + 6) * (4 + 4) ; current map position
+	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width
+	db (4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_9_WIDTH ; window
+
+	; end connections data
+
+	dw CeruleanCityObject ; objects
+
+CeruleanCityObject: ; 0x18786 (size=170)
+	db $f ; border tile
+
+	db $a ; warps
+	db $b, $1b, $0, TRASHED_HOUSE
+	db $f, $d, $0, CERULEAN_HOUSE
+	db $11, $13, $0, CERULEAN_POKECENTER
+	db $13, $1e, $0, CERULEAN_GYM
+	db $19, $d, $0, BIKE_SHOP
+	db $19, $19, $0, CERULEAN_MART
+	db $b, $4, $0, UNKNOWN_DUNGEON_1
+	db $9, $1b, $2, TRASHED_HOUSE
+	db $b, $9, $1, CERULEAN_HOUSE_3
+	db $9, $9, $0, CERULEAN_HOUSE_3
+
+	db $6 ; signs
+	db $13, $17, $c ; CeruleanCityText12
+	db $1d, $11, $d ; CeruleanCityText13
+	db $19, $1a, $e ; CeruleanCityText14
+	db $11, $14, $f ; CeruleanCityText15
+	db $19, $b, $10 ; CeruleanCityText16
+	db $15, $1b, $11 ; CeruleanCityText17
+
+	db $b ; people
+	db SPRITE_BLUE, $2 + 4, $14 + 4, $ff, $d0, $1 ; person
+	db SPRITE_ROCKET, $8 + 4, $1e + 4, $ff, $ff, $42, ROCKET + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $1f + 4, $ff, $d0, $3 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $12 + 4, $f + 4, $fe, $1, $4 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $9 + 4, $fe, $2, $5 ; person
+	db SPRITE_GUARD, $c + 4, $1c + 4, $ff, $d0, $6 ; person
+	db SPRITE_LASS, $1a + 4, $1d + 4, $ff, $d2, $7 ; person
+	db SPRITE_SLOWBRO, $1a + 4, $1c + 4, $ff, $d0, $8 ; person
+	db SPRITE_LASS, $1b + 4, $9 + 4, $fe, $2, $9 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $c + 4, $4 + 4, $ff, $d0, $a ; person
+	db SPRITE_GUARD, $c + 4, $1b + 4, $ff, $d0, $b ; person
+
+	; warp-to
+	EVENT_DISP $14, $b, $1b ; TRASHED_HOUSE
+	EVENT_DISP $14, $f, $d ; CERULEAN_HOUSE
+	EVENT_DISP $14, $11, $13 ; CERULEAN_POKECENTER
+	EVENT_DISP $14, $13, $1e ; CERULEAN_GYM
+	EVENT_DISP $14, $19, $d ; BIKE_SHOP
+	EVENT_DISP $14, $19, $19 ; CERULEAN_MART
+	EVENT_DISP $14, $b, $4 ; UNKNOWN_DUNGEON_1
+	EVENT_DISP $14, $9, $1b ; TRASHED_HOUSE
+	EVENT_DISP $14, $b, $9 ; CERULEAN_HOUSE_3
+	EVENT_DISP $14, $9, $9 ; CERULEAN_HOUSE_3
+
+CeruleanCityBlocks: ; 0x18830 360
+	INCBIN "maps/ceruleancity.blk"
+
+VermilionCity_h: ; 0x18998 to 0x189ba (34 bytes) (bank=6) (id=5)
+	db $00 ; tileset
+	db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x)
+	dw VermilionCityBlocks, VermilionCityTexts, VermilionCityScript ; blocks, texts, scripts
+	db NORTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_6
+	dw Route6Blocks + (ROUTE_6_HEIGHT - 3) * ROUTE_6_WIDTH ; connection strip location
+	dw $C6EB + 5 ; current map position
+	db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width
+	db (ROUTE_6_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_6_HEIGHT * (ROUTE_6_WIDTH + 6) ; window
+
+	db ROUTE_11
+	dw Route11Blocks + (ROUTE_11_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (VERMILION_CITY_WIDTH + 6) * (4 + 4) ; current map position
+	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width
+	db (4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_11_WIDTH ; window
+
+	; end connections data
+
+	dw VermilionCityObject ; objects
+
+VermilionCityObject: ; 0x189ba (size=133)
+	db $43 ; border tile
+
+	db $9 ; warps
+	db $3, $b, $0, VERMILION_POKECENTER
+	db $d, $9, $0, POKEMON_FAN_CLUB
+	db $d, $17, $0, VERMILION_MART
+	db $13, $c, $0, VERMILION_GYM
+	db $13, $17, $0, VERMILION_HOUSE_1
+	db $1f, $12, $0, VERMILION_DOCK
+	db $1f, $13, $0, VERMILION_DOCK
+	db $d, $f, $0, VERMILION_HOUSE_3
+	db $3, $7, $0, VERMILION_HOUSE_2
+
+	db $7 ; signs
+	db $3, $1b, $7 ; VermilionCityText7
+	db $d, $25, $8 ; VermilionCityText8
+	db $d, $18, $9 ; VermilionCityText9
+	db $3, $c, $a ; VermilionCityText10
+	db $d, $7, $b ; VermilionCityText11
+	db $13, $7, $c ; VermilionCityText12
+	db $f, $1d, $d ; VermilionCityText13
+
+	db $6 ; people
+	db SPRITE_FOULARD_WOMAN, $7 + 4, $13 + 4, $fe, $2, $1 ; person
+	db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person
+	db SPRITE_SAILOR, $1e + 4, $13 + 4, $ff, $d1, $3 ; person
+	db SPRITE_GAMBLER, $7 + 4, $1e + 4, $ff, $ff, $4 ; person
+	db SPRITE_SLOWBRO, $9 + 4, $1d + 4, $fe, $1, $5 ; person
+	db SPRITE_SAILOR, $1b + 4, $19 + 4, $fe, $2, $6 ; person
+
+	; warp-to
+	EVENT_DISP $14, $3, $b ; VERMILION_POKECENTER
+	EVENT_DISP $14, $d, $9 ; POKEMON_FAN_CLUB
+	EVENT_DISP $14, $d, $17 ; VERMILION_MART
+	EVENT_DISP $14, $13, $c ; VERMILION_GYM
+	EVENT_DISP $14, $13, $17 ; VERMILION_HOUSE_1
+	EVENT_DISP $14, $1f, $12 ; VERMILION_DOCK
+	EVENT_DISP $14, $1f, $13 ; VERMILION_DOCK
+	EVENT_DISP $14, $d, $f ; VERMILION_HOUSE_3
+	EVENT_DISP $14, $3, $7 ; VERMILION_HOUSE_2
+
+VermilionCityBlocks: ; 0x18a3f 360
+	INCBIN "maps/vermilioncity.blk"
+
+FuchsiaCity_h: ; 0x18ba7 to 0x18bd4 (45 bytes) (bank=6) (id=7)
+	db $00 ; tileset
+	db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x)
+	dw FuchsiaCityBlocks, FuchsiaCityTexts, FuchsiaCityScript ; blocks, texts, scripts
+	db SOUTH | WEST | EAST ; connections
+
+	; connections data
+
+	db ROUTE_19
+	dw Route19Blocks ; connection strip location
+	dw $C6EB + (FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6) + 5 ; current map position
+	db ROUTE_19_WIDTH, ROUTE_19_WIDTH ; bigness, width
+	db 0, (5 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_19_WIDTH ; window
+
+	db ROUTE_18
+	dw Route18Blocks - 3 + (ROUTE_18_WIDTH) ; connection strip location
+	dw $C6E8 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 3) ; current map position
+	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; bigness, width
+	db (4 * -2), (ROUTE_18_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_18_WIDTH ; window
+
+	db ROUTE_15
+	dw Route15Blocks + (ROUTE_15_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 4) ; current map position
+	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width
+	db (4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_15_WIDTH ; window
+
+	; end connections data
+
+	dw FuchsiaCityObject ; objects
+
+FuchsiaCityObject: ; 0x18bd4 (size=178)
+	db $f ; border tile
+
+	db $9 ; warps
+	db $d, $5, $0, FUCHSIA_MART
+	db $1b, $b, $0, FUCHSIA_HOUSE_1
+	db $1b, $13, $0, FUCHSIA_POKECENTER
+	db $1b, $1b, $0, FUCHSIA_HOUSE_2
+	db $3, $12, $0, SAFARIZONEENTRANCE
+	db $1b, $5, $0, FUCHSIA_GYM
+	db $d, $16, $0, FUCHSIAMEETINGROOM
+	db $1b, $1f, $1, FUCHSIA_HOUSE_3
+	db $18, $1f, $0, FUCHSIA_HOUSE_3
+
+	db $e ; signs
+	db $17, $f, $b ; FuchsiaCityText11
+	db $f, $19, $c ; FuchsiaCityText12
+	db $5, $11, $d ; FuchsiaCityText13
+	db $d, $6, $e ; FuchsiaCityText14
+	db $1b, $14, $f ; FuchsiaCityText15
+	db $1d, $1b, $10 ; FuchsiaCityText16
+	db $f, $15, $11 ; FuchsiaCityText17
+	db $1d, $5, $12 ; FuchsiaCityText18
+	db $7, $21, $13 ; FuchsiaCityText19
+	db $7, $1b, $14 ; FuchsiaCityText20
+	db $7, $d, $15 ; FuchsiaCityText21
+	db $d, $1f, $16 ; FuchsiaCityText22
+	db $f, $d, $17 ; FuchsiaCityText23
+	db $7, $7, $18 ; FuchsiaCityText24
+
+	db $a ; people
+	db SPRITE_BUG_CATCHER, $c + 4, $a + 4, $fe, $2, $1 ; person
+	db SPRITE_GAMBLER, $11 + 4, $1c + 4, $fe, $2, $2 ; person
+	db SPRITE_FISHER2, $e + 4, $1e + 4, $ff, $d0, $3 ; person
+	db SPRITE_BUG_CATCHER, $8 + 4, $18 + 4, $ff, $d1, $4 ; person
+	db SPRITE_CLEFAIRY, $5 + 4, $1f + 4, $fe, $0, $5 ; person
+	db SPRITE_BALL, $6 + 4, $19 + 4, $ff, $ff, $6 ; person
+	db SPRITE_SLOWBRO, $6 + 4, $c + 4, $fe, $2, $7 ; person
+	db SPRITE_SLOWBRO, $c + 4, $1e + 4, $fe, $2, $8 ; person
+	db SPRITE_SEEL, $11 + 4, $8 + 4, $fe, $0, $9 ; person
+	db SPRITE_OMANYTE, $5 + 4, $6 + 4, $ff, $ff, $a ; person
+
+	; warp-to
+	EVENT_DISP $14, $d, $5 ; FUCHSIA_MART
+	EVENT_DISP $14, $1b, $b ; FUCHSIA_HOUSE_1
+	EVENT_DISP $14, $1b, $13 ; FUCHSIA_POKECENTER
+	EVENT_DISP $14, $1b, $1b ; FUCHSIA_HOUSE_2
+	EVENT_DISP $14, $3, $12 ; SAFARIZONEENTRANCE
+	EVENT_DISP $14, $1b, $5 ; FUCHSIA_GYM
+	EVENT_DISP $14, $d, $16 ; FUCHSIAMEETINGROOM
+	EVENT_DISP $14, $1b, $1f ; FUCHSIA_HOUSE_3
+	EVENT_DISP $14, $18, $1f ; FUCHSIA_HOUSE_3
+
+FuchsiaCityBlocks: ; 0x18c86 360
+	INCBIN "maps/fuchsiacity.blk"
+
+INCBIN "baserom.gbc",$18dee,$6d
+
+PalletTownScript:
+	ld a,[$D74B]
+	bit 4,a
+	jr z,.next\@
+	ld hl,$D747
+	set 6,[hl]
+.next\@
+	call $3C3C
+	ld hl,PalletTownScriptPointers
+	ld a,[$D5F1]
+	jp $3D97
+; 0x18e73
+
+PalletTownScriptPointers:
+	dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7
+
+PalletTownScript1:
+	ld a,[$D747]
+	bit 0,a
+	ret nz
+	ld a,[W_YCOORD]
+	cp 1 ; is player near north exit?
+	ret nz
+	xor a
+	ld [$FFB4],a
+	ld a,4
+	ld [$D528],a
+	ld a,$FF
+	call $23B1 ; stop music
+	ld a,2
+	ld c,a ; song bank
+	ld a,$DB ; “oak appears” music
+	call $23A1 ; plays music
+	ld a,$FC
+	ld [$CD6B],a
+	ld hl,$D74B
+	set 7,[hl]
+
+	; trigger the next script
+	ld a,1
+	ld [$D5F1],a
+	ret
+
+PalletTownScript2:
+	xor a
+	ld [$CF0D],a
+	ld a,1
+	ld [$FF8C],a
+	call $2920
+	ld a,$FF
+	ld [$CD6B],a
+	ld a,0
+	ld [$CC4D],a
+	ld a,$15
+	call Predef
+
+	; trigger the next script
+	ld a,2
+	ld [$D5F1],a
+	ret
+
+PalletTownScript3:
+	ld a,1
+	ld [$FF8C],a
+	ld a,4
+	ld [$FF8D],a
+	call $34A6
+	call Delay3
+	ld a,1
+	ld [W_YCOORD],a
+	ld a,1
+	ld [$FF9B],a
+	ld a,1
+	swap a
+	ld [$FF95],a
+	ld a,$22
+	call Predef
+	ld hl,$FF95
+	dec [hl]
+	ld a,$20
+	call Predef ; load Oak’s movement into $CC97
+	ld de,$CC97
+	ld a,1 ; oak
+	ld [$FF8C],a
+	call MoveSprite
+	ld a,$FF
+	ld [$CD6B],a
+
+	; trigger the next script
+	ld a,3
+	ld [$D5F1],a
+	ret
+
+PalletTownScript4:
+	ld a,[$D730]
+	bit 0,a
+	ret nz
+	xor a
+	ld [$C109],a
+	ld a,1
+	ld [$CF0D],a
+	ld a,$FC
+	ld [$CD6B],a
+	ld a,1
+	ld [$FF8C],a
+	call $2920
+	ld a,$FF
+	ld [$CD6B],a
+	ld a,1
+	ld [$CF13],a
+	xor a
+	ld [$CF10],a
+	ld a,1
+	ld [$CC57],a
+	ld a,[$FFB8]
+	ld [$CC58],a
+
+	; trigger the next script
+	ld a,4
+	ld [$D5F1],a
+	ret
+
+PalletTownScript5:
+	ld a,[$CC57]
+	and a
+	ret nz
+
+	; trigger the next script
+	ld a,5
+	ld [$D5F1],a
+	ret
+
+PalletTownScript6:
+	ld a,[$D74A]
+	bit 2,a
+	jr nz,.next\@
+	and 3
+	cp 3
+	jr nz,.next\@
+	ld hl,$D74A
+	set 2,[hl]
+	ld a,$27
+	ld [$CC4D],a
+	ld a,$11
+	call Predef
+	ld a,$28
+	ld [$CC4D],a
+	ld a,$15
+	jp Predef
+.next\@
+	ld a,[$D74B]
+	bit 4,a
+	ret z
+	ld hl,$D74B
+	set 6,[hl]
+PalletTownScript7:
+	ret
+
+PalletTownTexts: ; 0x18f88
+	dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7
+
+PalletTownText1: ; 4F96 0x18f96
+	db 8
+	ld a,[$CF0D]
+	and a
+	jr nz,.next\@
+	ld a,1
+	ld [$CC3C],a
+	ld hl,OakAppearsText
+	jr .done\@
+.next\@
+	ld hl,OakWalksUpText
+.done\@
+	call PrintText
+	jp TextScriptEnd
+
+OakAppearsText:
+	TX_FAR _OakAppearsText
+	db 8
+	ld c,10
+	call DelayFrames
+	xor a
+	ld [$CD4F],a
+	ld [$CD50],a
+	ld a,$4C
+	call Predef ; display ! over head
+	ld a,4
+	ld [$D528],a
+	jp TextScriptEnd
+
+OakWalksUpText:
+	TX_FAR _OakWalksUpText
+	db "@"
+
+PalletTownText2: ; 0x18fd3 girl
+	TX_FAR _PalletTownText2 ; dc 42 29 pointing to 0xa42dc
+	db "@"
+; 0x18fd8
+
+PalletTownText3: ; 0x18fd8 fat man
+	TX_FAR _PalletTownText3
+	db "@"
+; 0x18fdd
+
+PalletTownText4: ; 0x18fdd sign by lab
+	TX_FAR _PalletTownText4
+	db "@"
+; 0x18fe2
+
+PalletTownText5: ; 0x18fe2 sign by fence
+	TX_FAR _PalletTownText5
+	db "@"
+; 0x18fe7
+
+PalletTownText6: ; 0x18fe7 sign by Red’s house
+	TX_FAR _PalletTownText6
+	db "@"
+; 0x18fec
+
+PalletTownText7: ; 0x18fec sign by Blue’s house
+	TX_FAR _PalletTownText7
+	db "@"
+
+ViridianCityScript: ; 0x18ff1
+	call $3c3c
+	ld hl, ViridianCityScripts
+	ld a, [$d5f4]
+	jp $3d97
+; 0x18ffd
+
+ViridianCityScripts: ; 0x18ffd
+	dw ViridianCityScript0
+
+INCBIN "baserom.gbc",$18fff,$6
+
+ViridianCityScript0: ; 0x19005
+	call $500b
+	jp $503d
+; 0x1900b
+
+INCBIN "baserom.gbc",$1900b,$d9
+
+ViridianCityTexts: ; 0x190e4
+	dw ViridianCityText1, ViridianCityText2, ViridianCityText3, ViridianCityText4, ViridianCityText5, ViridianCityText6, ViridianCityText7, ViridianCityText8, ViridianCityText9, ViridianCityText10, ViridianCityText11, ViridianCityText12, ViridianCityText13, ViridianCityText14, ViridianCityText15
+
+ViridianCityText1: ; 0x19102
+	TX_FAR _ViridianCityText1
+	db $50
+
+ViridianCityText2: ; 0x19107
+	db $08 ; asm
+	ld a, [$d356]
+	cp $7f
+	ld hl, UnnamedText_19127
+	jr z, .asm_ae9fe ; 0x19110
+	ld a, [$d751]
+	bit 1, a
+	jr nz, .asm_ae9fe ; 0x19117
+	ld hl, UnnamedText_19122
+.asm_ae9fe ; 0x1911c
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_19122: ; 0x19122
+	TX_FAR _UnnamedText_19122
+	db $50
+; 0x19122 + 5 bytes
+
+UnnamedText_19127: ; 0x19127
+	TX_FAR _UnnamedText_19127
+	db $50
+; 0x19127 + 5 bytes
+
+ViridianCityText3: ; 0x1912c
+	db $08 ; asm
+	ld hl, UnnamedText_1914d
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_6dfea ; 0x1913a
+	ld hl, UnnamedText_19157
+	call PrintText
+	jr .asm_d611f ; 0x19142
+.asm_6dfea ; 0x19144
+	ld hl, UnnamedText_19152
+	call PrintText
+.asm_d611f ; 0x1914a
+	jp TextScriptEnd
+
+UnnamedText_1914d: ; 0x1914d
+	TX_FAR _UnnamedText_1914d
+	db $50
+; 0x1914d + 5 bytes
+
+UnnamedText_19152: ; 0x19152
+	TX_FAR _UnnamedText_19152
+	db $50
+; 0x19152 + 5 bytes
+
+UnnamedText_19157: ; 0x19157
+	TX_FAR _UnnamedText_19157
+	db $50
+; 0x19157 + 5 bytes
+
+ViridianCityText4: ; 0x1915c
+	db $08 ; asm
+	ld a, [$d74b]
+	bit 5, a
+	jr nz, .asm_83894 ; 0x19162
+	ld hl, UnnamedText_19175
+	call PrintText
+	jr .asm_700a6 ; 0x1916a
+.asm_83894 ; 0x1916c
+	ld hl, UnnamedText_1917a
+	call PrintText
+.asm_700a6 ; 0x19172
+	jp TextScriptEnd
+
+UnnamedText_19175: ; 0x19175
+	TX_FAR _UnnamedText_19175
+	db $50
+; 0x19175 + 5 bytes
+
+UnnamedText_1917a: ; 0x1917a
+	TX_FAR _UnnamedText_1917a
+	db $50
+; 0x1917a + 5 bytes
+
+ViridianCityText5: ; 0x1917f
+	db $08 ; asm
+	ld hl, UnnamedText_19191
+	call PrintText
+	call $50cf
+	ld a, $3
+	ld [$d5f4], a
+	jp TextScriptEnd
+
+UnnamedText_19191: ; 0x19191
+	TX_FAR _UnnamedText_19191
+	db $50
+; 0x19191 + 5 bytes
+
+ViridianCityText6: ; 0x19196
+	db $08 ; asm
+	ld a, [$d74c]
+	bit 1, a
+	jr nz, .asm_4e5a0 ; 0x1919c
+	ld hl, UnnamedText_191ca
+	call PrintText
+	ld bc, (TM_42 << 8) | 1
+	call GiveItem
+	jr nc, .asm_b655e ; 0x191aa
+	ld hl, ReceivedTM42Text
+	call PrintText
+	ld hl, $d74c
+	set 1, [hl]
+	jr .asm_3c73c ; 0x191b7
+.asm_b655e ; 0x191b9
+	ld hl, UnnamedText_191da
+	call PrintText
+	jr .asm_3c73c ; 0x191bf
+.asm_4e5a0 ; 0x191c1
+	ld hl, UnnamedText_191d5
+	call PrintText
+.asm_3c73c ; 0x191c7
+	jp TextScriptEnd
+
+UnnamedText_191ca: ; 0x191ca
+	TX_FAR _UnnamedText_191ca
+	db $50
+; 0x191ca + 5 bytes
+
+ReceivedTM42Text: ; 0x191cf
+	TX_FAR _ReceivedTM42Text ; 0xa469a
+	db $10, $50
+; 0x191cf + 6 bytes = 0x191d5
+
+UnnamedText_191d5: ; 0x191d5
+	TX_FAR _UnnamedText_191d5
+	db $50
+; 0x191d5 + 5 bytes
+
+UnnamedText_191da: ; 0x191da
+	TX_FAR _UnnamedText_191da
+	db $50
+; 0x191da + 5 bytes
+
+ViridianCityText7: ; 0x191df
+	db $08 ; asm
+	ld hl, UnnamedText_1920a
+	call PrintText
+	ld c, $2
+	call $3739
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr z, .asm_42f68 ; 0x191f2
+	ld hl, UnnamedText_1920f
+	call PrintText
+	ld a, $1
+	ld [$d5f4], a
+	jr .asm_2413a ; 0x191ff
+.asm_42f68 ; 0x19201
+	ld hl, UnnamedText_19214
+	call PrintText
+.asm_2413a ; 0x19207
+	jp TextScriptEnd
+
+UnnamedText_1920a: ; 0x1920a
+	TX_FAR _UnnamedText_1920a
+	db $50
+; 0x1920a + 5 bytes
+
+UnnamedText_1920f: ; 0x1920f
+	TX_FAR _UnnamedText_1920f
+	db $50
+; 0x1920f + 5 bytes
+
+UnnamedText_19214: ; 0x19214
+	TX_FAR _UnnamedText_19214
+	db $50
+; 0x19214 + 5 bytes
+
+ViridianCityText15: ; 0x19219
+	TX_FAR _UnnamedText_19219
+	db $50
+; 0x19219 + 5 bytes
+
+ViridianCityText8: ; 0x1921e
+	TX_FAR _ViridianCityText8
+	db $50
+
+ViridianCityText9: ; 0x19223
+	TX_FAR _ViridianCityText9
+	db $50
+
+ViridianCityText10: ; 0x19228
+	TX_FAR _ViridianCityText10
+	db $50
+
+ViridianCityText13: ; 0x1922d
+	TX_FAR _ViridianCityText13
+	db $50
+
+ViridianCityText14:
+
+UnnamedText_19232: ; 0x19232
+	TX_FAR _UnnamedText_19232
+	db $50
+; 0x19232 + 5 bytes
+
+PewterCityScript: ; 0x19237
+	call $3c3c
+	ld hl, PewterCityScripts
+	ld a, [$d5f7]
+	jp $3d97
+; 0x19243
+
+PewterCityScripts: ; 0x19243
+	dw PewterCityScript0
+
+INCBIN "baserom.gbc",$19245,$c
+
+PewterCityScript0: ; 0x19251
+	xor a
+	ld [$d619], a
+	ld hl, $d754
+	res 0, [hl]
+	call $525e
+	ret
+; 0x1925e
+
+INCBIN "baserom.gbc",$1925e,$12d
+
+PewterCityTexts: ; 0x1938b
+	dw PewterCityText1, PewterCityText2, PewterCityText3, PewterCityText4, PewterCityText5, PewterCityText6, PewterCityText7, PewterCityText8, PewterCityText9, PewterCityText10, PewterCityText11, PewterCityText12, PewterCityText13, PewterCityText14
+
+PewterCityText1: ; 0x193a7
+	TX_FAR _PewterCityText1
+	db $50
+
+PewterCityText2: ; 0x193ac
+	TX_FAR _PewterCityText2
+	db $50
+
+PewterCityText3: ; 0x193b1
+	db $08 ; asm
+	ld hl, UnnamedText_193f1
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_f46a9 ; 0x193bf
+	ld hl, UnnamedText_193f6
+	call PrintText
+	jr .asm_ac429 ; 0x193c7
+.asm_f46a9 ; 0x193c9
+	ld hl, UnnamedText_193fb
+	call PrintText
+	xor a
+	ldh [$b3], a
+	ldh [$b4], a
+	ld [$cf10], a
+	ld a, $2
+	ld [$cc57], a
+	ldh a, [$b8]
+	ld [$cc58], a
+	ld a, $3
+	ld [$cf13], a
+	call $32f4
+	ld a, $1
+	ld [$d5f7], a
+.asm_ac429 ; 0x193ee
+	jp TextScriptEnd
+
+UnnamedText_193f1: ; 0x193f1
+	TX_FAR _UnnamedText_193f1
+	db $50
+; 0x193f1 + 5 bytes
+
+UnnamedText_193f6: ; 0x193f6
+	TX_FAR _UnnamedText_193f6
+	db $50
+; 0x193f6 + 5 bytes
+
+UnnamedText_193fb: ; 0x193fb
+	TX_FAR _UnnamedText_193fb
+	db $50
+; 0x193fb + 5 bytes
+
+PewterCityText13:
+
+UnnamedText_19400: ; 0x19400
+	TX_FAR _UnnamedText_19400
+	db $50
+; 0x19400 + 5 bytes
+
+PewterCityText4: ; 0x19405
+	db $8
+	ld hl, UnnamedText_19427
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	cp $0
+	jr nz, .asm_e4603
+	ld hl, UnnamedText_1942c
+	call PrintText
+	jr .asm_e4604 ; 0x1941c $6
+.asm_e4603
+	ld hl, UnnamedText_19431
+	call PrintText
+.asm_e4604 ; 0x19424
+	jp TextScriptEnd
+; 0x19427
+
+UnnamedText_19427: ; 0x19427
+	TX_FAR _UnnamedText_19427
+	db $50
+; 0x19427 + 5 bytes
+
+UnnamedText_1942c: ; 0x1942c
+	TX_FAR _UnnamedText_1942c
+	db $50
+; 0x1942c + 5 bytes
+
+UnnamedText_19431: ; 0x19431
+	TX_FAR _UnnamedText_19431
+	db $50
+; 0x19431 + 5 bytes
+
+PewterCityText5: ; 0x19436
+	db $08 ; asm
+	ld hl, UnnamedText_1945d
+	call PrintText
+	xor a
+	ldh [$b4], a
+	ld [$cf10], a
+	ld a, $3
+	ld [$cc57], a
+	ldh a, [$b8]
+	ld [$cc58], a
+	ld a, $5
+	ld [$cf13], a
+	call $32f4
+	ld a, $4
+	ld [$d5f7], a
+	jp TextScriptEnd
+
+UnnamedText_1945d: ; 0x1945d
+	TX_FAR _UnnamedText_1945d
+	db $50
+; 0x1945d + 5 bytes
+
+PewterCityText14: ; 0x19462
+
+UnnamedText_19462: ; 0x19462
+	TX_FAR _UnnamedText_19462
+	db $50
+; 0x19462 + 5 bytes
+
+PewterCityText6: ; 0x19467
+	TX_FAR _PewterCityText6
+	db $50
+
+PewterCityText7: ; 0x1946c
+	TX_FAR _PewterCityText7
+	db $50
+
+PewterCityText10: ; 0x19471
+	TX_FAR _PewterCityText10
+	db $50
+
+PewterCityText11: ; 0x19476
+	TX_FAR _PewterCityText11
+	db $50
+
+PewterCityText12: ; 0x1947b
+	TX_FAR _PewterCityText12
+	db $50
+
+CeruleanCityScript: ; 0x19480
+	call $3c3c
+	ld hl, CeruleanCityScripts
+	ld a, [$d60f]
+	jp $3d97
+; 0x1948c
+
+INCBIN "baserom.gbc",$1948c,$1949d - $1948c
+
+CeruleanCityScripts: ; 0x1949d
+	dw CeruleanCityScript0, CeruleanCityScript1, CeruleanCityScript2, CeruleanCityScript3
+
+INCBIN "baserom.gbc",$194a5,$23
+
+CeruleanCityScript0: ; 0x194c8
+	ld a, [$d75b]
+	bit 7, a
+	jr nz, .asm_194f7 ; 0x194cd $28
+	ld hl, $554f
+	call $34bf
+	jr nc, .asm_194f7 ; 0x194d5 $20
+	ld a, [$cd3d]
+	cp $1
+	ld a, $8
+	ld b, $0
+	jr nz, .asm_194e6 ; 0x194e0 $4
+	ld a, $4
+	ld b, $4
+.asm_194e6
+	ld [$d528], a
+	ld a, b
+	ld [$c129], a
+	call Delay3
+	ld a, $2
+	ld [$ff00+$8c], a
+	jp $2920
+.asm_194f7
+	ld a, [$d75a]
+	bit 0, a
+	ret nz
+	ld hl, $5554
+	call $34bf
+	ret nc
+	ld a, [$d700]
+	and a
+	jr z, .asm_19512 ; 0x19508 $8
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+.asm_19512
+	ld c, $2
+	ld a, $de
+	call $23a1
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, [$d362]
+	cp $14
+	jr z, .asm_19535 ; 0x19526 $d
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $5
+	ld [$ff00+$8b], a
+	call $3500
+	ld [hl], $19
+.asm_19535
+	ld a, $5
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld de, $5559
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $363a
+	ld a, $1
+	ld [$d60f], a
+	ret
+; 0x1954f
+
+INCBIN "baserom.gbc",$1954f,$19567 - $1954f
+
+CeruleanCityScript1: ; 0x19567
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $566d
+	ld de, $5672
+	call $3354
+	ld a, $e1
+	ld [$d059], a
+
+	; select which team to use during the encounter
+	ld a, [W_RIVALSTARTER]
+	cp SQUIRTLE
+	jr nz, .NotSquirtle\@ ; 0x19592 $4
+	ld a, $7
+	jr .done\@
+.NotSquirtle\@
+	cp BULBASAUR
+	jr nz, .Charmander\@ ; 0x1959a $4
+	ld a, $8
+	jr .done\@
+.Charmander\@
+	ld a, $9
+.done\@
+	ld [W_TRAINERNO], a
+
+	xor a
+	ld [$ff00+$b4], a
+	call $555d
+	ld a, $2
+	ld [$d60f], a
+	ret
+; 0x195b1
+
+CeruleanCityScript2: ; 0x195b1
+	ld a, [$d057]
+	cp $ff
+	jp z, $548c
+	call $555d
+	ld a, $f0
+	ld [$cd6b], a
+	ld hl, $d75a
+	set 0, [hl]
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $3541
+	ld a, [$d362]
+	cp $14
+	jr nz, .asm_195f0 ; 0x195e9 $5
+	ld de, $5608
+	jr .asm_195f3 ; 0x195ee $3
+.asm_195f0
+	ld de, $5600
+.asm_195f3
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $363a
+	ld a, $3
+	ld [$d60f], a
+	ret
+; 0x19600
+
+INCBIN "baserom.gbc",$19600,$19610 - $19600
+
+CeruleanCityScript3: ; 0x19610
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	ld a, $5
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	xor a
+	ld [$cd6b], a
+	call $2307
+	ld a, $0
+	ld [$d60f], a
+	ret
+; 0x1962d
+
+CeruleanCityTexts: ; 0x1962d
+	dw CeruleanCityText1, CeruleanCityText2, CeruleanCityText3, CeruleanCityText4, CeruleanCityText5, CeruleanCityText6, CeruleanCityText7, CeruleanCityText8, CeruleanCityText9, CeruleanCityText10, CeruleanCityText11, CeruleanCityText12, CeruleanCityText13, CeruleanCityText14, CeruleanCityText15, CeruleanCityText16, CeruleanCityText17
+
+CeruleanCityText1: ; 0x1964f
+	db $08 ; asm
+	ld a, [$d75a]
+	bit 0, a
+	jr z, .asm_a89f9 ; 0x19655
+	ld hl, UnnamedText_19677
+	call PrintText
+	jr .asm_815c6 ; 0x1965d
+.asm_a89f9 ; 0x1965f
+	ld hl, UnnamedText_19668
+	call PrintText
+.asm_815c6 ; 0x19665
+	jp TextScriptEnd
+
+UnnamedText_19668: ; 0x19668
+	TX_FAR _UnnamedText_19668
+	db $50
+; 0x19668 + 5 bytes
+
+UnnamedText_1966d: ; 0x1966d
+	TX_FAR _UnnamedText_1966d
+	db $50
+; 0x1966d + 5 bytes
+
+UnnamedText_19672: ; 0x19672
+	TX_FAR _UnnamedText_19672
+	db $50
+; 0x19672 + 5 bytes
+
+UnnamedText_19677: ; 0x19677
+	TX_FAR _UnnamedText_19677
+	db $50
+; 0x19677 + 5 bytes
+
+CeruleanCityText2: ; 0x1967c
+	db $8
+	ld a, [$d75b]
+	bit 7, a
+	jr nz, .asm_4ca20 ; 0x19682 $29
+	ld hl, UnnamedText_196d9
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $56ee
+	ld de, $56ee
+	call $3354
+	ld a, [$ff00+$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $4
+	ld [$d60f], a
+	jp TextScriptEnd
+.asm_4ca20 ; 0x196ad
+	ld hl, UnnamedText_196f3
+	call PrintText
+	ld bc, $e401
+	call GiveItem
+	jr c, .asm_8bbbd ; 0x196b9 $8
+	ld hl, UnnamedText_196e9
+	call PrintText
+	jr .asm_e4e6f ; 0x196c1 $13
+.asm_8bbbd ; 0x196c3
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, UnnamedText_196de
+	call PrintText
+	ld b, $1d
+	ld hl, Unnamed_ASM_74872
+	call Bankswitch
+.asm_e4e6f ; 0x196d6
+	jp TextScriptEnd
+; 0x196d9
+
+UnnamedText_196d9: ; 0x196d9
+	TX_FAR _UnnamedText_196d9
+	db $50
+; 0x196d9 + 5 bytes
+
+UnnamedText_196de: ; 0x196de
+	TX_FAR ReceivedTM28Text ; 0xa4f82
+	db $0B
+	TX_FAR UnnamedText_a4f96 ; 0xa4f96
+	db $0D, $50
+; 0x196e9
+
+UnnamedText_196e9: ; 0x196e9
+	TX_FAR _UnnamedText_196e9
+	db $50
+; 0x196e9 + 5 bytes
+
+UnnamedText_196ee: ; 0x196ee
+	TX_FAR _UnnamedText_196ee
+	db $50
+; 0x196ee + 5 bytes
+
+UnnamedText_196f3: ; 0x196f3
+	TX_FAR _UnnamedText_196f3
+	db $50
+; 0x196f3 + 5 bytes
+
+CeruleanCityText3: ; 0x196f8
+	TX_FAR _CeruleanCityText3
+	db $50
+
+CeruleanCityText4: ; 0x196fd
+	TX_FAR _CeruleanCityText4
+	db $50
+
+CeruleanCityText5: ; 0x19702
+	TX_FAR _CeruleanCityText5
+	db $50
+
+CeruleanCityText11:
+CeruleanCityText6: ; 0x19707
+	TX_FAR _CeruleanCityText6
+	db $50
+
+CeruleanCityText7: ; 0x1970c
+	db $08 ; asm
+	ldh a, [$d3]
+	cp $b4
+	jr c, .asm_e9fc9 ; 0x19711
+	ld hl, UnnamedText_19730
+	call PrintText
+	jr .asm_d486e ; 0x19719
+.asm_e9fc9 ; 0x1971b
+	cp $64
+	jr c, .asm_df99b ; 0x1971d
+	ld hl, UnnamedText_19735
+	call PrintText
+	jr .asm_d486e ; 0x19725
+.asm_df99b ; 0x19727
+	ld hl, UnnamedText_1973a
+	call PrintText
+.asm_d486e ; 0x1972d
+	jp TextScriptEnd
+
+UnnamedText_19730: ; 0x19730
+	TX_FAR _UnnamedText_19730
+	db $50
+; 0x19730 + 5 bytes
+
+UnnamedText_19735: ; 0x19735
+	TX_FAR _UnnamedText_19735
+	db $50
+; 0x19735 + 5 bytes
+
+UnnamedText_1973a: ; 0x1973a
+	TX_FAR _UnnamedText_1973a
+	db $50
+; 0x1973a + 5 bytes
+
+CeruleanCityText8: ; 0x1973f
+	db $08 ; asm
+	ldh a, [$d3]
+	cp $b4
+	jr c, .asm_e28da ; 0x19744
+	ld hl, UnnamedText_1976f
+	call PrintText
+	jr .asm_f2f38 ; 0x1974c
+.asm_e28da ; 0x1974e
+	cp $78
+	jr c, .asm_15d08 ; 0x19750
+	ld hl, UnnamedText_19774
+	call PrintText
+	jr .asm_f2f38 ; 0x19758
+.asm_15d08 ; 0x1975a
+	cp $3c
+	jr c, .asm_d7fea ; 0x1975c
+	ld hl, UnnamedText_19779
+	call PrintText
+	jr .asm_f2f38 ; 0x19764
+.asm_d7fea ; 0x19766
+	ld hl, UnnamedText_1977e
+	call PrintText
+.asm_f2f38 ; 0x1976c
+	jp TextScriptEnd
+
+UnnamedText_1976f: ; 0x1976f
+	TX_FAR _UnnamedText_1976f
+	db $50
+; 0x1976f + 5 bytes
+
+UnnamedText_19774: ; 0x19774
+	TX_FAR _UnnamedText_19774
+	db $50
+; 0x19774 + 5 bytes
+
+UnnamedText_19779: ; 0x19779
+	TX_FAR _UnnamedText_19779
+	db $50
+; 0x19779 + 5 bytes
+
+UnnamedText_1977e: ; 0x1977e
+	TX_FAR _UnnamedText_1977e
+	db $50
+; 0x1977e + 5 bytes
+
+CeruleanCityText9: ; 0x19783
+	TX_FAR _CeruleanCityText9
+	db $50
+
+CeruleanCityText10: ; 0x19788
+	TX_FAR _CeruleanCityText10
+	db $50
+
+CeruleanCityText12: ; 0x1978d
+	TX_FAR _CeruleanCityText12
+	db $50
+
+CeruleanCityText13: ; 0x19792
+	TX_FAR _CeruleanCityText13
+	db $50
+
+CeruleanCityText16: ; 0x19797
+	TX_FAR _CeruleanCityText16
+	db $50
+
+CeruleanCityText17: ; 0x1979c
+	TX_FAR _CeruleanCityText17
+	db $50
+
+VermilionCityScript: ; 0x197a1
+	call $3c3c
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	push hl
+	call nz, $57cb
+	pop hl
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, VermilionCityScript_Unknown197c0
+	ld hl, VermilionCityScripts
+	ld a, [$d62a]
+	jp $3d97
+; 0x197c0
+
+VermilionCityScript_Unknown197c0: ; 0x197c0
+INCBIN "baserom.gbc",$197c0,$197dc - $197c0
+
+VermilionCityScripts: ; 0x197dc
+	dw VermilionCityScript0, VermilionCityScript1
+
+INCBIN "baserom.gbc",$197e0,$6
+
+VermilionCityScript0: ; 0x197e6
+	ld a, [$c109]
+	and a
+	ret nz
+	ld hl, $5823
+	call $34bf
+	ret nc
+	xor a
+	ld [$ff00+$b4], a
+	ld [$cf0d], a
+	ld a, $3
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, [$d803]
+	bit 2, a
+	jr nz, .asm_19810 ; 0x19804 $a
+	ld b, $3f
+	ld a, $1c
+	call Predef
+	ld a, b
+	and a
+	ret nz
+.asm_19810
+	ld a, $40
+	ld [$ccd3], a
+	ld a, $1
+	ld [$cd38], a
+	call $3486
+	ld a, $1
+	ld [$d62a], a
+	ret
+; 0x19823
+
+INCBIN "baserom.gbc",$19823,$1985f - $19823
+
+VermilionCityScript1: ; 0x1985f
+	ld a, [$cd38]
+	and a
+	ret nz
+	ld c, $a
+	call $3739
+	ld a, $0
+	ld [$d62a], a
+	ret
+; 0x1986f
+
+VermilionCityTexts: ; 0x1986f
+	dw VermilionCityText1, VermilionCityText2, VermilionCityText3, VermilionCityText4, VermilionCityText5, VermilionCityText6, VermilionCityText7, VermilionCityText8, VermilionCityText9, VermilionCityText10, VermilionCityText11, VermilionCityText12, VermilionCityText13
+
+VermilionCityText1: ; 0x19889
+	TX_FAR _VermilionCityText1
+	db $50
+
+VermilionCityText2: ; 0x1988e
+	db $08 ; asm
+	ld a, [$d803]
+	bit 2, a
+	jr nz, .asm_359bd ; 0x19894
+	ld hl, UnnamedText_198a7
+	call PrintText
+	jr .asm_735d9 ; 0x1989c
+.asm_359bd ; 0x1989e
+	ld hl, UnnamedText_198ac
+	call PrintText
+.asm_735d9 ; 0x198a4
+	jp TextScriptEnd
+
+UnnamedText_198a7: ; 0x198a7
+	TX_FAR _UnnamedText_198a7
+	db $50
+; 0x198a7 + 5 bytes
+
+UnnamedText_198ac: ; 0x198ac
+	TX_FAR _UnnamedText_198ac
+	db $50
+; 0x198ac + 5 bytes
+
+VermilionCityText3: ; 0x198b1
+	db $08 ; asm
+	ld a, [$d803]
+	bit 2, a
+	jr nz, .asm_3e0e9 ; 0x198b7
+	ld a, [$c109]
+	cp $c
+	jr z, .asm_07af3 ; 0x198be
+	ld hl, $58ff
+	call $34bf
+	jr nc, .asm_57b73 ; 0x198c6
+.asm_07af3 ; 0x198c8
+	ld hl, UnnamedText_19904
+	call PrintText
+	jr .asm_79bd1 ; 0x198ce
+.asm_57b73 ; 0x198d0
+	ld hl, UnnamedText_19909
+	call PrintText
+	ld b, $3f
+	ld a, $1c
+	call Predef
+	ld a, b
+	and a
+	jr nz, .asm_0419b ; 0x198df
+	ld hl, UnnamedText_19913
+	call PrintText
+	jr .asm_79bd1 ; 0x198e7
+.asm_0419b ; 0x198e9
+	ld hl, UnnamedText_1990e
+	call PrintText
+	ld a, $4
+	ld [$d62a], a
+	jr .asm_79bd1 ; 0x198f4
+.asm_3e0e9 ; 0x198f6
+	ld hl, UnnamedText_19918
+	call PrintText
+.asm_79bd1 ; 0x198fc
+	jp TextScriptEnd
+
+INCBIN "baserom.gbc",$198ff,$19904 - $198ff
+
+UnnamedText_19904: ; 0x19904
+	TX_FAR _UnnamedText_19904
+	db $50
+; 0x19904 + 5 bytes
+
+UnnamedText_19909: ; 0x19909
+	TX_FAR _UnnamedText_19909
+	db $50
+; 0x19909 + 5 bytes
+
+UnnamedText_1990e: ; 0x1990e
+	TX_FAR _UnnamedText_1990e
+	db $50
+; 0x1990e + 5 bytes
+
+UnnamedText_19913: ; 0x19913
+	TX_FAR _UnnamedText_19913
+	db $50
+; 0x19913 + 5 bytes
+
+UnnamedText_19918: ; 0x19918
+	TX_FAR _UnnamedText_19918
+	db $50
+; 0x19918 + 5 bytes
+
+VermilionCityText4: ; 0x1991d
+	TX_FAR _VermilionCityText4
+	db $50
+
+VermilionCityText5: ; 0x19922
+	TX_FAR _VermilionCityText5
+	db $08 ; asm
+	ld a, $6a
+	call $13d0
+	call $3748
+	ld hl, $5933
+	ret
+
+VermilionCityText14: ; 0x19933
+	TX_FAR _VermilionCityText14
+	db $50
+
+VermilionCityText6: ; 0x19938
+	TX_FAR _VermilionCityText6
+	db $50
+
+VermilionCityText7: ; 0x1993d
+	TX_FAR _VermilionCityText7
+	db $50
+
+VermilionCityText8: ; 0x19942
+	TX_FAR _VermilionCityText8
+	db $50
+
+VermilionCityText11: ; 0x19947
+	TX_FAR _VermilionCityText11
+	db $50
+
+VermilionCityText12: ; 0x1994c
+	TX_FAR _VermilionCityText12
+	db $50
+
+VermilionCityText13: ; 0x19951
+	TX_FAR _VermilionCityText13
+	db $50
+
+CeladonCityScript: ; 0x19956
+	call $3c3c
+	ld hl, $d77e
+	res 0, [hl]
+	res 7, [hl]
+	ld hl, $d816
+	res 7, [hl]
+	ret
+; 0x19966
+
+CeladonCityTexts: ; 0x19966
+	dw CeladonCityText1, CeladonCityText2, CeladonCityText3, CeladonCityText4, CeladonCityText5, CeladonCityText6, CeladonCityText7, CeladonCityText8, CeladonCityText9, CeladonCityText10, CeladonCityText11, CeladonCityText12, CeladonCityText13, CeladonCityText14, CeladonCityText15, CeladonCityText16, CeladonCityText17, CeladonCityText18
+
+CeladonCityText1: ; 0x1998a
+	TX_FAR _CeladonCityText1
+	db $50
+
+CeladonCityText2: ; 0x1998f
+	TX_FAR _CeladonCityText2
+	db $50
+
+CeladonCityText3: ; 0x19994
+	TX_FAR _CeladonCityText3
+	db $50
+
+CeladonCityText4: ; 0x19999
+	TX_FAR _CeladonCityText4
+	db $50
+
+CeladonCityText5: ; 0x1999e
+	db $08 ; asm
+	ld a, [$d777]
+	bit 0, a
+	jr nz, .asm_7053f ; 0x199a4
+	ld hl, UnnamedText_199d2
+	call PrintText
+	ld bc, (TM_41 << 8) | 1
+	call GiveItem
+	jr c, .asm_890ec ; 0x199b2
+	ld hl, UnnamedText_199e2
+	call PrintText
+	jr .asm_c765a ; 0x199ba
+.asm_890ec ; 0x199bc
+	ld hl, UnnamedText_199d7
+	call PrintText
+	ld hl, $d777
+	set 0, [hl]
+	jr .asm_c765a ; 0x199c7
+.asm_7053f ; 0x199c9
+	ld hl, UnnamedText_199dd
+	call PrintText
+.asm_c765a ; 0x199cf
+	jp TextScriptEnd
+
+UnnamedText_199d2: ; 0x199d2
+	TX_FAR _UnnamedText_199d2
+	db $50
+; 0x199d2 + 5 bytes
+
+UnnamedText_199d7: ; 0x199d7
+	TX_FAR _UnnamedText_199d7 ; 0xa5b5a
+	db $0B, $50
+; 0x199d7 + 6 bytes = 0x199dd
+
+UnnamedText_199dd: ; 0x199dd
+	TX_FAR _UnnamedText_199dd
+	db $50
+; 0x199dd + 5 bytes
+
+UnnamedText_199e2: ; 0x199e2
+	TX_FAR _UnnamedText_199e2
+	db $50
+; 0x199e2 + 5 bytes
+
+CeladonCityText6: ; 0x199e7
+	TX_FAR _CeladonCityText6
+	db $50
+
+CeladonCityText7: ; 0x199ec
+	TX_FAR _CeladonCityText7
+	db $08 ; asm
+	ld a, $6f
+	call $13d0
+	jp TextScriptEnd
+
+CeladonCityText8: ; 0x199f9
+	TX_FAR _CeladonCityText8
+	db $50
+
+CeladonCityText9: ; 0x199fe
+	TX_FAR _CeladonCityText9
+	db $50
+
+CeladonCityText10: ; 0x19a03
+	TX_FAR _CeladonCityText10
+	db $50
+
+CeladonCityText11: ; 0x19a08
+	TX_FAR _CeladonCityText11
+	db $50
+
+CeladonCityText13: ; 0x19a0d
+	TX_FAR _CeladonCityText13
+	db $50
+
+CeladonCityText14: ; 0x19a12
+	TX_FAR _CeladonCityText14
+	db $50
+
+CeladonCityText15: ; 0x19a17
+	TX_FAR _CeladonCityText15
+	db $50
+
+CeladonCityText16: ; 0x19a1c
+	TX_FAR _CeladonCityText16
+	db $50
+
+CeladonCityText17: ; 0x19a21
+	TX_FAR _CeladonCityText17
+	db $50
+
+CeladonCityText18: ; 0x19a26
+	TX_FAR _CeladonCityText18
+	db $50
+
+FuchsiaCityScript: ; 0x19a2b
+	jp $3c3c
+; 0x19a2e
+
+FuchsiaCityTexts: ; 0x19a2e
+	dw FuchsiaCityText1, FuchsiaCityText2, FuchsiaCityText3, FuchsiaCityText4, FuchsiaCityText5, FuchsiaCityText6, FuchsiaCityText7, FuchsiaCityText8, FuchsiaCityText9, FuchsiaCityText10, FuchsiaCityText11, FuchsiaCityText12, FuchsiaCityText13, FuchsiaCityText14, FuchsiaCityText15, FuchsiaCityText16, FuchsiaCityText17, FuchsiaCityText18, FuchsiaCityText19, FuchsiaCityText20, FuchsiaCityText21, FuchsiaCityText22, FuchsiaCityText23, FuchsiaCityText24
+
+FuchsiaCityText1: ; 0x19a5e
+	TX_FAR _FuchsiaCityText1
+	db $50
+
+FuchsiaCityText2: ; 0x19a63
+	TX_FAR _FuchsiaCityText2
+	db $50
+
+FuchsiaCityText3: ; 0x19a68
+	TX_FAR _FuchsiaCityText3
+	db $50
+
+FuchsiaCityText4: ; 0x19a6d
+	TX_FAR _FuchsiaCityText4
+	db $50
+
+FuchsiaCityText5: ; 0x19a72
+FuchsiaCityText6:
+FuchsiaCityText7:
+FuchsiaCityText8:
+FuchsiaCityText9:
+FuchsiaCityText10: ; 0x19a72
+	TX_FAR _FuchsiaCityText5
+	db $50
+
+FuchsiaCityText12:
+FuchsiaCityText11: ; 0x19a77
+	TX_FAR _FuchsiaCityText11
+	db $50
+
+FuchsiaCityText13: ; 0x19a7c
+	TX_FAR _FuchsiaCityText13
+	db $50
+
+FuchsiaCityText16: ; 0x19a81
+	TX_FAR _FuchsiaCityText16
+	db $50
+
+FuchsiaCityText17: ; 0x19a86
+	TX_FAR _FuchsiaCityText17
+	db $50
+
+FuchsiaCityText18: ; 0x19a8b
+	TX_FAR _FuchsiaCityText18
+	db $50
+
+FuchsiaCityText19: ; 0x19a90
+	db $08 ; asm
+	ld hl, UnnamedText_19a9f
+	call PrintText
+	ld a, $28
+	call $349b
+	jp TextScriptEnd
+
+UnnamedText_19a9f: ; 0x19a9f
+	TX_FAR _UnnamedText_19a9f
+	db $50
+; 0x19a9f + 5 bytes
+
+FuchsiaCityText20: ; 0x19aa4
+	db $08 ; asm
+	ld hl, UnnamedText_19ab3
+	call PrintText
+	ld a, $6
+	call $349b
+	jp TextScriptEnd
+
+UnnamedText_19ab3: ; 0x19ab3
+	TX_FAR _UnnamedText_19ab3
+	db $50
+; 0x19ab3 + 5 bytes
+
+FuchsiaCityText21: ; 0x19ab8
+	db $08 ; asm
+	ld hl, UnnamedText_19ac7
+	call PrintText
+	ld a, $2
+	call $349b
+	jp TextScriptEnd
+
+UnnamedText_19ac7: ; 0x19ac7
+	TX_FAR _UnnamedText_19ac7
+	db $50
+; 0x19ac7 + 5 bytes
+
+FuchsiaCityText22: ; 0x19acc
+	db $08 ; asm
+	ld hl, UnnamedText_19adb
+	call PrintText
+	ld a, $25
+	call $349b
+	jp TextScriptEnd
+
+UnnamedText_19adb: ; 0x19adb
+	TX_FAR _UnnamedText_19adb
+	db $50
+; 0x19adb + 5 bytes
+
+FuchsiaCityText23: ; 0x19ae0
+	db $08 ; asm
+	ld hl, UnnamedText_19aef
+	call PrintText
+	ld a, $13
+	call $349b
+	jp TextScriptEnd
+
+UnnamedText_19aef: ; 0x19aef
+	TX_FAR _UnnamedText_19aef
+	db $50
+; 0x19aef + 5 bytes
+
+FuchsiaCityText24: ; 0x19af4
+	db $08 ; asm
+	ld a, [$d7f6]
+	bit 6, a
+	jr nz, .asm_3b4e8 ; 0x19afa
+	bit 7, a
+	jr nz, .asm_667d5 ; 0x19afe
+	ld hl, UnnamedText_19b2a
+	call PrintText
+	jr .asm_4343f ; 0x19b06
+.asm_3b4e8 ; 0x19b08
+	ld hl, UnnamedText_19b20
+	call PrintText
+	ld a, $62
+	jr .asm_81556 ; 0x19b10
+.asm_667d5 ; 0x19b12
+	ld hl, UnnamedText_19b25
+	call PrintText
+	ld a, $5a
+.asm_81556 ; 0x19b1a
+	call $349b
+.asm_4343f ; 0x19b1d
+	jp TextScriptEnd
+
+UnnamedText_19b20: ; 0x19b20
+	TX_FAR _UnnamedText_19b20
+	db $50
+; 0x19b20 + 5 bytes
+
+UnnamedText_19b25: ; 0x19b25
+	TX_FAR _UnnamedText_19b25
+	db $50
+; 0x19b25 + 5 bytes
+
+UnnamedText_19b2a: ; 0x19b2a
+	TX_FAR _UnnamedText_19b2a
+	db $50
+; 0x19b2a + 5 bytes
+
+BluesHouse_h: ; 0x19b2f id=39
+	db $08 ; tileset
+	db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions
+	dw BluesHouseBlocks, BluesHouseTexts, BluesHouseScript
+	db 0
+	dw BluesHouseObject
+
+BluesHouseScript: ; 0x19b3b
+	call $3C3C
+	ld hl,BluesHouseScriptPointers
+	ld a,[$D5F3]
+	jp $3D97
+
+BluesHouseScriptPointers: ; 0x19b47
+	dw BluesHouseScript1,BluesHouseScript2
+
+BluesHouseScript1: ; 0x19b4a
+	ld hl,$D74A
+	set 1,[hl]
+
+	; trigger the next script
+	ld a,1
+	ld [$D5F3],a
+	ret
+
+BluesHouseScript2: ; 0x19B56
+	ret
+
+BluesHouseTexts: ; 0x19B57
+	dw BluesHouseText1,BluesHouseText2,BluesHouseText3
+
+BluesHouseText1: ; 5B5D 0x19B5D
+	db 8
+	ld a,[$D74A]
+	bit 0,a
+	jr nz,.GotMap\@
+	ld a,[$D74B]
+	bit 5,a
+	jr nz,.GiveMap\@
+	ld hl,DaisyInitialText
+	call PrintText
+	jr .done\@
+.GiveMap\@
+	ld hl,DaisyOfferMapText
+	call PrintText
+	ld bc,(TOWN_MAP << 8) | 1
+	call $3E2E
+	jr nc,.BagFull\@
+	ld a,$29
+	ld [$CC4D],a
+	ld a,$11
+	call Predef ; hide table map object
+	ld hl,GotMapText
+	call PrintText
+	ld hl,$D74A
+	set 0,[hl]
+	jr .done\@
+.GotMap\@
+	ld hl,DaisyUseMapText
+	call PrintText
+	jr .done\@
+.BagFull\@
+	ld hl,DaisyBagFullText
+	call PrintText
+.done\@
+	jp TextScriptEnd
+
+DaisyInitialText: ; 0x19baa
+	TX_FAR _DaisyInitialText
+	db "@"
+
+DaisyOfferMapText: ; 0x19baf
+	TX_FAR _DaisyOfferMapText
+	db "@"
+
+GotMapText: ; 0x19bb4
+	TX_FAR _GotMapText
+	db $11,"@"
+
+DaisyBagFullText: ; 0x19bba
+	TX_FAR _DaisyBagFullText
+	db "@"
+
+DaisyUseMapText: ; 0x19bbf
+	TX_FAR _DaisyUseMapText
+	db "@"
+
+BluesHouseText2: ; 0x19bc4 Daisy, walking around
+	TX_FAR _BluesHouseText2
+	db "@"
+
+BluesHouseText3: ; 0x19bc9 map on table
+	TX_FAR _BluesHouseText3
+	db "@"
+
+BluesHouseObject: ; 0x19bce
+	db $0A ; border tile
+
+	db 2 ; warps
+	db 7,2,1,$FF
+	db 7,3,1,$FF
+
+	db 0 ; signs
+
+	db 3 ; people
+	db $11,4+3,4+2,$FF,$D3,1 ; Daisy, sitting by map
+	db $11,4+4,4+6,$FE,1,ITEM|2,0 ; map on table
+	db $41,4+3,4+3,$FF,$FF,ITEM|3,0 ; Daisy, walking around
+
+	; warp-to
+	dw $C712
+	db 7,2
+
+	dw $C712
+	db 7,3
+
+BluesHouseBlocks: ; 0x19bf6
+	INCBIN "maps/blueshouse.blk"
+
+VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196)
+	db $08 ; tileset
+	db VERMILION_HOUSE_3_HEIGHT, VERMILION_HOUSE_3_WIDTH ; dimensions (y, x)
+	dw VermilionHouse3Blocks, VermilionHouse3Texts, VermilionHouse3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionHouse3Object ; objects
+
+VermilionHouse3Script: ; 0x19c12
+	jp $3c3c
+; 0x19c15
+
+VermilionHouse3Texts: ; 0x19c15
+	dw VermilionHouse3Text1
+
+VermilionHouse3Text1: ; 0x19c17
+	db $08 ; asm
+	ld a, $4
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+	jp TextScriptEnd
+
+VermilionHouse3Object: ; 0x19c25 (size=26)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $7, $ff
+	db $7, $3, $7, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_LITTLE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+VermilionHouse3Blocks: ; 0x19c3f 16
+	INCBIN "maps/vermilionhouse3.blk"
+
+IndigoPlateauLobby_h: ; 0x19c4f to 0x19c5b (12 bytes) (bank=6) (id=174)
+	db $02 ; tileset
+	db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x)
+	dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTexts, IndigoPlateauLobbyScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw IndigoPlateauLobbyObject ; objects
+
+IndigoPlateauLobbyScript: ; 0x19c5b
+	call $22fa
+	call $3c3c
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	ret z
+	ld hl, $d869
+	res 7, [hl]
+	ld hl, $d734
+	bit 1, [hl]
+	res 1, [hl]
+	ret z
+	ld hl, $d863
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ret
+; 0x19c7f
+
+IndigoPlateauLobbyTexts: ; 0x19c7f
+	dw IndigoPlateauLobbyText1, IndigoPlateauLobbyText2, IndigoPlateauLobbyText3, IndigoPlateauLobbyText4, IndigoPlateauLobbyText5
+
+IndigoPlateauLobbyText1: ; 0x19c8a
+	db $ff
+
+IndigoPlateauLobbyText2: ; 0x19c8b
+	TX_FAR _IndigoPlateauLobbyText1
+	db $50
+
+INCBIN "baserom.gbc",$19c8f,$19c8f - $19c8f
+
+IndigoPlateauLobbyText3: ; 0x19c8f
+	TX_FAR _IndigoPlateauLobbyText3
+	db $50
+
+IndigoPlateauLobbyText5: ; 0x19c94
+	db $f6
+
+IndigoPlateauLobbyObject: ; 0x19c95 (size=58)
+	db $0 ; border tile
+
+	db $3 ; warps
+	db $b, $7, $0, $ff
+	db $b, $8, $1, $ff
+	db $0, $8, $0, LORELEIS_ROOM
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_NURSE, $5 + 4, $7 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GYM_HELPER, $9 + 4, $4 + 4, $ff, $d3, $2 ; person
+	db SPRITE_LASS, $1 + 4, $5 + 4, $ff, $d0, $3 ; person
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $4 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $6 + 4, $d + 4, $ff, $d0, $5 ; person
+
+	; warp-to
+	EVENT_DISP $8, $b, $7
+	EVENT_DISP $8, $b, $8
+	EVENT_DISP $8, $0, $8 ; LORELEIS_ROOM
+
+IndigoPlateauLobbyBlocks: ; 0x19ccf 48
+	INCBIN "maps/indigoplateaulobby.blk"
+
+SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209)
+	db $16 ; tileset
+	db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x)
+	dw SilphCo4Blocks, SilphCo4Texts, SilphCo4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo4Object ; objects
+
+SilphCo4Script: ; 0x19d0b
+	call SilphCo4Script_Unknown19d21
+	call $3c3c
+	ld hl, SilphCo4TrainerHeaders
+	ld de, $5d9a
+	ld a, [$d645]
+	call $3160
+	ld [$d645], a
+	ret
+; 0x19d21
+
+SilphCo4Script_Unknown19d21: ; 0x19d21
+INCBIN "baserom.gbc",$19d21,$7f
+
+SilphCo4Texts: ; 0x19da0
+	dw SilphCo4Text1, SilphCo4Text2, SilphCo4Text3, SilphCo4Text4, SilphCo4Text5, SilphCo4Text6, SilphCo4Text7
+
+SilphCo4TrainerHeaders:
+TrainerHeader_19dae: ; 0x19dae
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d829 ; flag's byte
+	dw UnnamedText_19df4 ; 0x5df4 TextBeforeBattle
+	dw UnnamedText_19dfe ; 0x5dfe TextAfterBattle
+	dw UnnamedText_19df9 ; 0x5df9 TextEndBattle
+	dw UnnamedText_19df9 ; 0x5df9 TextEndBattle
+; 0x19dba
+
+TrainerHeader_19dba: ; 0x19dba
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d829 ; flag's byte
+	dw UnnamedText_19e0d ; 0x5e0d TextBeforeBattle
+	dw UnnamedText_19e17 ; 0x5e17 TextAfterBattle
+	dw UnnamedText_19e12 ; 0x5e12 TextEndBattle
+	dw UnnamedText_19e12 ; 0x5e12 TextEndBattle
+; 0x19dc4
+
+TrainerHeader_19dc6: ; 0x19dc6
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d829 ; flag's byte
+	dw UnnamedText_19e26 ; 0x5e26 TextBeforeBattle
+	dw UnnamedText_19e30 ; 0x5e30 TextAfterBattle
+	dw UnnamedText_19e2b ; 0x5e2b TextEndBattle
+	dw UnnamedText_19e2b ; 0x5e2b TextEndBattle
+; 0x19dd2
+
+db $ff
+
+SilphCo4Text1: ; 0x19dd3
+	db $08 ; asm
+	ld hl, $5de0
+	ld de, $5de5
+	call $622f
+	jp TextScriptEnd
+
+UnnamedText_19de0: ; 0x19de0
+	TX_FAR _UnnamedText_19de0
+	db $50
+; 0x19de0 + 5 bytes
+
+UnnamedText_19de5: ; 0x19de5
+	TX_FAR _UnnamedText_19de5
+	db $50
+; 0x19de5 + 5 bytes
+
+SilphCo4Text2: ; 0x19dea
+	db $08 ; asm
+	ld hl, TrainerHeader_19dae
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_19df4: ; 0x19df4
+	TX_FAR _UnnamedText_19df4
+	db $50
+; 0x19df4 + 5 bytes
+
+UnnamedText_19df9: ; 0x19df9
+	TX_FAR _UnnamedText_19df9
+	db $50
+; 0x19df9 + 5 bytes
+
+UnnamedText_19dfe: ; 0x19dfe
+	TX_FAR _UnnamedText_19dfe
+	db $50
+; 0x19dfe + 5 bytes
+
+SilphCo4Text3: ; 0x19e03
+	db $08 ; asm
+	ld hl, TrainerHeader_19dba
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_19e0d: ; 0x19e0d
+	TX_FAR _UnnamedText_19e0d
+	db $50
+; 0x19e0d + 5 bytes
+
+UnnamedText_19e12: ; 0x19e12
+	TX_FAR _UnnamedText_19e12
+	db $50
+; 0x19e12 + 5 bytes
+
+UnnamedText_19e17: ; 0x19e17
+	TX_FAR _UnnamedText_19e17
+	db $50
+; 0x19e17 + 5 bytes
+
+SilphCo4Text4: ; 0x19e1c
+	db $08 ; asm
+	ld hl, TrainerHeader_19dc6
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_19e26: ; 0x19e26
+	TX_FAR _UnnamedText_19e26
+	db $50
+; 0x19e26 + 5 bytes
+
+UnnamedText_19e2b: ; 0x19e2b
+	TX_FAR _UnnamedText_19e2b
+	db $50
+; 0x19e2b + 5 bytes
+
+UnnamedText_19e30: ; 0x19e30
+	TX_FAR _UnnamedText_19e30
+	db $50
+; 0x19e30 + 5 bytes
+
+SilphCo4Object: ; 0x19e35 (size=111)
+	db $2e ; border tile
+
+	db $7 ; warps
+	db $0, $18, $1, SILPH_CO_3F
+	db $0, $1a, $1, SILPH_CO_5F
+	db $0, $14, $0, SILPH_CO_ELEVATOR
+	db $7, $b, $3, SILPH_CO_10F
+	db $3, $11, $3, SILPH_CO_6F
+	db $f, $3, $4, SILPH_CO_10F
+	db $b, $11, $5, SILPH_CO_10F
+
+	db $0 ; signs
+
+	db $7 ; people
+	db SPRITE_LAPRAS_GIVER, $2 + 4, $6 + 4, $ff, $ff, $1 ; person
+	db SPRITE_ROCKET, $e + 4, $9 + 4, $ff, $d3, $42, ROCKET + $C8, $1a ; trainer
+	db SPRITE_OAK_AIDE, $6 + 4, $e + 4, $ff, $d2, $43, SCIENTIST + $C8, $5 ; trainer
+	db SPRITE_ROCKET, $a + 4, $1a + 4, $ff, $d1, $44, ROCKET + $C8, $1b ; trainer
+	db SPRITE_BALL, $9 + 4, $3 + 4, $ff, $ff, $85, FULL_HEAL ; item
+	db SPRITE_BALL, $7 + 4, $4 + 4, $ff, $ff, $86, MAX_REVIVE ; item
+	db SPRITE_BALL, $8 + 4, $5 + 4, $ff, $ff, $87, ESCAPE_ROPE ; item
+
+	; warp-to
+	EVENT_DISP $f, $0, $18 ; SILPH_CO_3F
+	EVENT_DISP $f, $0, $1a ; SILPH_CO_5F
+	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $f, $7, $b ; SILPH_CO_10F
+	EVENT_DISP $f, $3, $11 ; SILPH_CO_6F
+	EVENT_DISP $f, $f, $3 ; SILPH_CO_10F
+	EVENT_DISP $f, $b, $11 ; SILPH_CO_10F
+
+SilphCo4Blocks: ; 0x19ea4 135
+	INCBIN "maps/silphco4.blk"
+
+SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210)
+	db $16 ; tileset
+	db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x)
+	dw SilphCo5Blocks, SilphCo5Texts, SilphCo5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo5Object ; objects
+
+SilphCo5Script: ; 0x19f37
+	call Unnamed_19f4d
+	call $3c3c
+	ld hl, SilphCo5TrainerHeaders
+	ld de, $5fb6
+	ld a, [$d646]
+	call $3160
+	ld [$d646], a
+	ret
+; 0x19f4d
+
+Unnamed_19f4d: ; 0x19f4d
+INCBIN "baserom.gbc",$19f4d,$6f
+
+SilphCo5Texts: ; 0x19fbc
+	dw SilphCo5Text1, SilphCo5Text2, SilphCo5Text3, SilphCo5Text4, SilphCo5Text5, SilphCo5Text6, SilphCo5Text7, SilphCo5Text8, SilphCo5Text9, SilphCo5Text10, SilphCo5Text11
+
+SilphCo5TrainerHeaders:
+TrainerHeader_19fd2: ; 0x19fd2
+	db $2 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d82b ; flag's byte
+	dw UnnamedText_1a024 ; 0x6024 TextBeforeBattle
+	dw UnnamedText_1a02e ; 0x602e TextAfterBattle
+	dw UnnamedText_1a029 ; 0x6029 TextEndBattle
+	dw UnnamedText_1a029 ; 0x6029 TextEndBattle
+; 0x19fde
+
+TrainerHeader_19fde: ; 0x19fde
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d82b ; flag's byte
+	dw UnnamedText_1a03d ; 0x603d TextBeforeBattle
+	dw UnnamedText_1a047 ; 0x6047 TextAfterBattle
+	dw UnnamedText_1a042 ; 0x6042 TextEndBattle
+	dw UnnamedText_1a042 ; 0x6042 TextEndBattle
+; 0x19fea
+
+TrainerHeader_19fea: ; 0x19fea
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d82b ; flag's byte
+	dw UnnamedText_1a056 ; 0x6056 TextBeforeBattle
+	dw UnnamedText_1a060 ; 0x6060 TextAfterBattle
+	dw UnnamedText_1a05b ; 0x605b TextEndBattle
+	dw UnnamedText_1a05b ; 0x605b TextEndBattle
+; 0x19ff4
+
+TrainerHeader_19ff6: ; 0x19ff6
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d82b ; flag's byte
+	dw UnnamedText_1a06f ; 0x606f TextBeforeBattle
+	dw UnnamedText_1a079 ; 0x6079 TextAfterBattle
+	dw UnnamedText_1a074 ; 0x6074 TextEndBattle
+	dw UnnamedText_1a074 ; 0x6074 TextEndBattle
+; 0x1a002
+
+db $ff
+
+SilphCo5Text1: ; 0x1a003
+	db $08 ; asm
+	ld hl, $6010
+	ld de, $6015
+	call $622f
+	jp TextScriptEnd
+
+UnnamedText_1a010: ; 0x1a010
+	TX_FAR _UnnamedText_1a010
+	db $50
+; 0x1a010 + 5 bytes
+
+UnnamedText_1a015: ; 0x1a015
+	TX_FAR _UnnamedText_1a015
+	db $50
+; 0x1a015 + 5 bytes
+
+SilphCo5Text2: ; 0x1a01a
+	db $08 ; asm
+	ld hl, TrainerHeader_19fd2
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a024: ; 0x1a024
+	TX_FAR _UnnamedText_1a024
+	db $50
+; 0x1a024 + 5 bytes
+
+UnnamedText_1a029: ; 0x1a029
+	TX_FAR _UnnamedText_1a029
+	db $50
+; 0x1a029 + 5 bytes
+
+UnnamedText_1a02e: ; 0x1a02e
+	TX_FAR _UnnamedText_1a02e
+	db $50
+; 0x1a02e + 5 bytes
+
+SilphCo5Text3: ; 0x1a033
+	db $08 ; asm
+	ld hl, TrainerHeader_19fde
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a03d: ; 0x1a03d
+	TX_FAR _UnnamedText_1a03d
+	db $50
+; 0x1a03d + 5 bytes
+
+UnnamedText_1a042: ; 0x1a042
+	TX_FAR _UnnamedText_1a042
+	db $50
+; 0x1a042 + 5 bytes
+
+UnnamedText_1a047: ; 0x1a047
+	TX_FAR _UnnamedText_1a047
+	db $50
+; 0x1a047 + 5 bytes
+
+SilphCo5Text4: ; 0x1a04c
+	db $08 ; asm
+	ld hl, TrainerHeader_19fea
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a056: ; 0x1a056
+	TX_FAR _UnnamedText_1a056
+	db $50
+; 0x1a056 + 5 bytes
+
+UnnamedText_1a05b: ; 0x1a05b
+	TX_FAR _UnnamedText_1a05b
+	db $50
+; 0x1a05b + 5 bytes
+
+UnnamedText_1a060: ; 0x1a060
+	TX_FAR _UnnamedText_1a060
+	db $50
+; 0x1a060 + 5 bytes
+
+SilphCo5Text5: ; 0x1a065
+	db $08 ; asm
+	ld hl, TrainerHeader_19ff6
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a06f: ; 0x1a06f
+	TX_FAR _UnnamedText_1a06f
+	db $50
+; 0x1a06f + 5 bytes
+
+UnnamedText_1a074: ; 0x1a074
+	TX_FAR _UnnamedText_1a074
+	db $50
+; 0x1a074 + 5 bytes
+
+UnnamedText_1a079: ; 0x1a079
+	TX_FAR _UnnamedText_1a079
+	db $50
+; 0x1a079 + 5 bytes
+
+SilphCo5Text9: ; 0x1a07e
+	TX_FAR _SilphCo5Text9
+	db $50
+
+SilphCo5Text10: ; 0x1a083
+	TX_FAR _SilphCo5Text10
+	db $50
+
+SilphCo5Text11: ; 0x1a088
+	TX_FAR _SilphCo5Text11
+	db $50
+
+SilphCo5Object: ; 0x1a08d (size=137)
+	db $2e ; border tile
+
+	db $7 ; warps
+	db $0, $18, $1, SILPH_CO_6F
+	db $0, $1a, $1, SILPH_CO_4F
+	db $0, $14, $0, SILPH_CO_ELEVATOR
+	db $3, $1b, $5, SILPH_CO_7F
+	db $f, $9, $4, SILPH_CO_9F
+	db $5, $b, $4, SILPH_CO_3F
+	db $f, $3, $5, SILPH_CO_3F
+
+	db $0 ; signs
+
+	db $b ; people
+	db SPRITE_LAPRAS_GIVER, $9 + 4, $d + 4, $ff, $ff, $1 ; person
+	db SPRITE_ROCKET, $10 + 4, $8 + 4, $ff, $d3, $42, ROCKET + $C8, $1c ; trainer
+	db SPRITE_OAK_AIDE, $3 + 4, $8 + 4, $ff, $d3, $43, SCIENTIST + $C8, $6 ; trainer
+	db SPRITE_ROCKER, $a + 4, $12 + 4, $ff, $d1, $44, JUGGLER + $C8, $1 ; trainer
+	db SPRITE_ROCKET, $4 + 4, $1c + 4, $ff, $d1, $45, ROCKET + $C8, $1d ; trainer
+	db SPRITE_BALL, $d + 4, $2 + 4, $ff, $ff, $86, TM_09 ; item
+	db SPRITE_BALL, $6 + 4, $4 + 4, $ff, $ff, $87, PROTEIN ; item
+	db SPRITE_BALL, $10 + 4, $15 + 4, $ff, $ff, $88, CARD_KEY ; item
+	db SPRITE_CLIPBOARD, $c + 4, $16 + 4, $ff, $ff, $9 ; person
+	db SPRITE_CLIPBOARD, $a + 4, $19 + 4, $ff, $ff, $a ; person
+	db SPRITE_CLIPBOARD, $6 + 4, $18 + 4, $ff, $ff, $b ; person
+
+	; warp-to
+	EVENT_DISP $f, $0, $18 ; SILPH_CO_6F
+	EVENT_DISP $f, $0, $1a ; SILPH_CO_4F
+	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $f, $3, $1b ; SILPH_CO_7F
+	EVENT_DISP $f, $f, $9 ; SILPH_CO_9F
+	EVENT_DISP $f, $5, $b ; SILPH_CO_3F
+	EVENT_DISP $f, $f, $3 ; SILPH_CO_3F
+
+SilphCo5Blocks: ; 0x1a116 135
+	INCBIN "maps/silphco5.blk"
+
+SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211)
+	db $16 ; tileset
+	db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x)
+	dw SilphCo6Blocks, SilphCo6Texts, SilphCo6Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo6Object ; objects
+
+SilphCo6Script: ; 0x1a1a9
+	call Unnamed_1a1bf
+	call $3c3c
+	ld hl, SilphCo6TrainerHeaders
+	ld de, $61f0
+	ld a, [$d647]
+	call $3160
+	ld [$d647], a
+	ret
+; 0x1a1bf
+
+Unnamed_1a1bf: ; 0x1a1bf
+INCBIN "baserom.gbc",$1a1bf,$37
+
+SilphCo6Texts: ; 0x1a1f6
+	dw SilphCo6Text1, SilphCo6Text2, SilphCo6Text3, SilphCo6Text4, SilphCo6Text5, SilphCo6Text6, SilphCo6Text7, SilphCo6Text8, SilphCo6Text9, SilphCo6Text10
+
+SilphCo6TrainerHeaders:
+TrainerHeader_1a20a: ; 0x1a20a
+	db $6 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d82d ; flag's byte
+	dw UnnamedText_1a2ba ; 0x62ba TextBeforeBattle
+	dw UnnamedText_1a2c4 ; 0x62c4 TextAfterBattle
+	dw UnnamedText_1a2bf ; 0x62bf TextEndBattle
+	dw UnnamedText_1a2bf ; 0x62bf TextEndBattle
+; 0x1a216
+
+TrainerHeader_1a216: ; 0x1a216
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d82d ; flag's byte
+	dw UnnamedText_1a2d3 ; 0x62d3 TextBeforeBattle
+	dw UnnamedText_1a2dd ; 0x62dd TextAfterBattle
+	dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle
+	dw UnnamedText_1a2d8 ; 0x62d8 TextEndBattle
+; 0x1a222
+
+TrainerHeader_1a222: ; 0x1a222
+	db $8 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d82d ; flag's byte
+	dw UnnamedText_1a2ec ; 0x62ec TextBeforeBattle
+	dw UnnamedText_1a2f6 ; 0x62f6 TextAfterBattle
+	dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle
+	dw UnnamedText_1a2f1 ; 0x62f1 TextEndBattle
+; 0x1a22e
+
+db $ff
+
+Unnamed_622f: ; 0x1a22f
+INCBIN "baserom.gbc",$1a22f,$1a23d - $1a22f
+
+SilphCo6Text1: ; 0x1a23d
+	db $08 ; asm
+	ld hl, UnnamedText_1a24a
+	ld de, UnnamedText_1a24f
+	call Unnamed_622f
+	jp TextScriptEnd
+
+UnnamedText_1a24a: ; 0x1a24a
+	TX_FAR _UnnamedText_1a24a
+	db $50
+; 0x1a24a + 5 bytes
+
+UnnamedText_1a24f: ; 0x1a24f
+	TX_FAR _UnnamedText_1a24f
+	db $50
+; 0x1a24f + 5 bytes
+
+SilphCo6Text2: ; 0x1a254
+	db $08 ; asm
+	ld hl, UnnamedText_1a261
+	ld de, UnnamedText_1a266
+	call Unnamed_622f
+	jp TextScriptEnd
+
+UnnamedText_1a261: ; 0x1a261
+	TX_FAR _UnnamedText_1a261
+	db $50
+; 0x1a261 + 5 bytes
+
+UnnamedText_1a266: ; 0x1a266
+	TX_FAR _UnnamedText_1a266
+	db $50
+; 0x1a266 + 5 bytes
+
+SilphCo6Text3: ; 0x1a26b
+	db $08 ; asm
+	ld hl, UnnamedText_1a278
+	ld de, UnnamedText_1a27d
+	call Unnamed_622f
+	jp TextScriptEnd
+
+UnnamedText_1a278: ; 0x1a278
+	TX_FAR _UnnamedText_1a278
+	db $50
+; 0x1a278 + 5 bytes
+
+UnnamedText_1a27d: ; 0x1a27d
+	TX_FAR _UnnamedText_1a27d
+	db $50
+; 0x1a27d + 5 bytes
+
+SilphCo6Text4: ; 0x1a282
+	db $08 ; asm
+	ld hl, UnnamedText_1a28f
+	ld de, UnnamedText_1a294
+	call Unnamed_622f
+	jp TextScriptEnd
+
+UnnamedText_1a28f: ; 0x1a28f
+	TX_FAR _UnnamedText_1a28f
+	db $50
+; 0x1a28f + 5 bytes
+
+UnnamedText_1a294: ; 0x1a294
+	TX_FAR _UnnamedText_1a294
+	db $50
+; 0x1a294 + 5 bytes
+
+SilphCo6Text5: ; 0x1a299
+	db $08 ; asm
+	ld hl, UnnamedText_1a2a6
+	ld de, UnnamedText_1a2ab
+	call Unnamed_622f
+	jp TextScriptEnd
+
+UnnamedText_1a2a6: ; 0x1a2a6
+	TX_FAR _UnnamedText_1a2a6
+	db $50
+; 0x1a2a6 + 5 bytes
+
+UnnamedText_1a2ab: ; 0x1a2ab
+	TX_FAR _UnnamedText_1a2ab
+	db $50
+; 0x1a2ab + 5 bytes
+
+SilphCo6Text6: ; 0x1a2b0
+	db $08 ; asm
+	ld hl, TrainerHeader_1a20a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a2ba: ; 0x1a2ba
+	TX_FAR _UnnamedText_1a2ba
+	db $50
+; 0x1a2ba + 5 bytes
+
+UnnamedText_1a2bf: ; 0x1a2bf
+	TX_FAR _UnnamedText_1a2bf
+	db $50
+; 0x1a2bf + 5 bytes
+
+UnnamedText_1a2c4: ; 0x1a2c4
+	TX_FAR _UnnamedText_1a2c4
+	db $50
+; 0x1a2c4 + 5 bytes
+
+SilphCo6Text7: ; 0x1a2c9
+	db $08 ; asm
+	ld hl, TrainerHeader_1a216
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a2d3: ; 0x1a2d3
+	TX_FAR _UnnamedText_1a2d3
+	db $50
+; 0x1a2d3 + 5 bytes
+
+UnnamedText_1a2d8: ; 0x1a2d8
+	TX_FAR _UnnamedText_1a2d8
+	db $50
+; 0x1a2d8 + 5 bytes
+
+UnnamedText_1a2dd: ; 0x1a2dd
+	TX_FAR _UnnamedText_1a2dd
+	db $50
+; 0x1a2dd + 5 bytes
+
+SilphCo6Text8: ; 0x1a2e2
+	db $08 ; asm
+	ld hl, TrainerHeader_1a222
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_1a2ec: ; 0x1a2ec
+	TX_FAR _UnnamedText_1a2ec
+	db $50
+; 0x1a2ec + 5 bytes
+
+UnnamedText_1a2f1: ; 0x1a2f1
+	TX_FAR _UnnamedText_1a2f1
+	db $50
+; 0x1a2f1 + 5 bytes
+
+UnnamedText_1a2f6: ; 0x1a2f6
+	TX_FAR _UnnamedText_1a2f6
+	db $50
+; 0x1a2f6 + 5 bytes
+
+SilphCo6Object: ; 0x1a2fb (size=112)
+	db $2e ; border tile
+
+	db $5 ; warps
+	db $0, $10, $1, SILPH_CO_7F
+	db $0, $e, $0, SILPH_CO_5F
+	db $0, $12, $0, SILPH_CO_ELEVATOR
+	db $3, $3, $4, SILPH_CO_4F
+	db $3, $17, $6, SILPH_CO_2F
+
+	db $0 ; signs
+
+	db $a ; people
+	db SPRITE_LAPRAS_GIVER, $6 + 4, $a + 4, $ff, $ff, $1 ; person
+	db SPRITE_LAPRAS_GIVER, $6 + 4, $14 + 4, $ff, $ff, $2 ; person
+	db SPRITE_ERIKA, $6 + 4, $15 + 4, $ff, $d0, $3 ; person
+	db SPRITE_ERIKA, $a + 4, $b + 4, $ff, $d3, $4 ; person
+	db SPRITE_LAPRAS_GIVER, $d + 4, $12 + 4, $ff, $d1, $5 ; person
+	db SPRITE_ROCKET, $3 + 4, $11 + 4, $ff, $d3, $46, ROCKET + $C8, $1e ; trainer
+	db SPRITE_OAK_AIDE, $8 + 4, $7 + 4, $ff, $d0, $47, SCIENTIST + $C8, $7 ; trainer
+	db SPRITE_ROCKET, $f + 4, $e + 4, $ff, $d2, $48, ROCKET + $C8, $1f ; trainer
+	db SPRITE_BALL, $c + 4, $3 + 4, $ff, $ff, $89, HP_UP ; item
+	db SPRITE_BALL, $f + 4, $2 + 4, $ff, $ff, $8a, X_ACCURACY ; item
+
+	; warp-to
+	EVENT_DISP $d, $0, $10 ; SILPH_CO_7F
+	EVENT_DISP $d, $0, $e ; SILPH_CO_5F
+	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $d, $3, $3 ; SILPH_CO_4F
+	EVENT_DISP $d, $3, $17 ; SILPH_CO_2F
+
+SilphCo6Blocks: ; 0x1a36b 117
+	INCBIN "maps/silphco6.blk"
+
+INCBIN "baserom.gbc",$1a3e0,$1c20
+
+SECTION "bank7",DATA,BANK[$7]
+
+CinnabarIsland_h: ; 0x1c000 to 0x1c022 (34 bytes) (bank=7) (id=8)
+	db $00 ; tileset
+	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x)
+	dw CinnabarIslandBlocks, CinnabarIslandTexts, CinnabarIslandScript ; blocks, texts, scripts
+	db NORTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_21
+	dw Route21Blocks + (ROUTE_21_HEIGHT - 3) * ROUTE_21_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db ROUTE_21_WIDTH, ROUTE_21_WIDTH ; bigness, width
+	db (ROUTE_21_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_21_HEIGHT * (ROUTE_21_WIDTH + 6) ; window
+
+	db ROUTE_20
+	dw Route20Blocks + (ROUTE_20_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (CINNABAR_ISLAND_WIDTH + 6) * (0 + 4) ; current map position
+	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width
+	db (0 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_20_WIDTH ; window
+
+	; end connections data
+
+	dw CinnabarIslandObject ; objects
+
+CinnabarIslandObject: ; 0x1c022 (size=71)
+	db $43 ; border tile
+
+	db $5 ; warps
+	db $3, $6, $1, MANSION_1
+	db $3, $12, $0, CINNABAR_GYM
+	db $9, $6, $0, CINNABAR_LAB_1
+	db $b, $b, $0, CINNABAR_POKECENTER
+	db $b, $f, $0, CINNABAR_MART
+
+	db $5 ; signs
+	db $5, $9, $3 ; CinnabarIslandText3
+	db $b, $10, $4 ; CinnabarIslandText4
+	db $b, $c, $5 ; CinnabarIslandText5
+	db $b, $9, $6 ; CinnabarIslandText6
+	db $3, $d, $7 ; CinnabarIslandText7
+
+	db $2 ; people
+	db SPRITE_GIRL, $5 + 4, $c + 4, $fe, $2, $1 ; person
+	db SPRITE_GAMBLER, $6 + 4, $e + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $a, $3, $6 ; MANSION_1
+	EVENT_DISP $a, $3, $12 ; CINNABAR_GYM
+	EVENT_DISP $a, $9, $6 ; CINNABAR_LAB_1
+	EVENT_DISP $a, $b, $b ; CINNABAR_POKECENTER
+	EVENT_DISP $a, $b, $f ; CINNABAR_MART
+
+CinnabarIslandBlocks: ; 0x1c069 90
+	INCBIN "maps/cinnabarisland.blk"
+
+Route1_h: ; 0x1c0c3 to 0x1c0e5 (34 bytes) (bank=7) (id=12)
+	db $00 ; tileset
+	db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x)
+	dw Route1Blocks, Route1Texts, Route1Script ; blocks, texts, scripts
+	db NORTH | SOUTH ; connections
+
+	; connections data
+
+	db VIRIDIAN_CITY
+	dw ViridianCityBlocks + (VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH + 2, $c6e8 ; pointers (connected, current) (strip)
+	db $10, $14 ; bigness, width
+	db $23, $0a ; alignments (y, x)
+	dw $c8bd ; window
+
+	db PALLET_TOWN
+	dw PalletTownBlocks, $c83b ; pointers (connected, current) (strip)
+	db $0a, $0a ; bigness, width
+	db $00, $00 ; alignments (y, x)
+	dw $c6f9 ; window
+
+	; end connections data
+
+	dw Route1Object ; objects
+
+Route1Object: ; 0x1c0e5 (size=19)
+	db $b ; border tile
+
+	db $0 ; warps
+
+	db $1 ; signs
+	db $1b, $9, $3 ; Route1Text3
+
+	db $2 ; people
+	db SPRITE_BUG_CATCHER, $18 + 4, $5 + 4, $fe, $1, $1 ; person
+	db SPRITE_BUG_CATCHER, $d + 4, $f + 4, $fe, $2, $2 ; person
+
+; XXX what is this?
+Unknown_1c0f8: ; 0x1c0f8
+	db $12, $c7, $7, $2
+
+Route1Blocks: ; 0x1c0fc 180
+	INCBIN "maps/route1.blk"
+
+UndergroundPathEntranceRoute8Blocks: ; 0x1c1b0 16
+	INCBIN "maps/undergroundpathentranceroute8.blk"
+
+OaksLabBlocks: ; 0x1c1c0 30
+	INCBIN "maps/oakslab.blk"
+
+Route16HouseBlocks:
+Route2HouseBlocks:
+SaffronHouse1Blocks:
+SaffronHouse2Blocks:
+VermilionHouse1Blocks:
+NameRaterBlocks:
+LavenderHouse1Blocks:
+LavenderHouse2Blocks:
+CeruleanHouse2Blocks:
+PewterHouse1Blocks:
+PewterHouse2Blocks:
+ViridianHouseBlocks: ; 0x1c1de 41DE size=16
+	INCBIN "maps/viridianhouse.blk"
+
+CeladonMansion5Blocks:
+SchoolBlocks: ; 0x1c1ee 41EE size=16
+	INCBIN "maps/school.blk"
+
+CeruleanHouseTrashedBlocks: ; 0x1c1fe size=16
+	INCBIN "maps/ceruleanhousetrashed.blk"
+
+DiglettsCaveEntranceRoute11Blocks:
+DiglettsCaveRoute2Blocks: ; 0x1c20e size=16
+	INCBIN "maps/diglettscaveroute2.blk"
+
+MonsterNames: ; 421E
+	db "RHYDON@@@@"
+	db "KANGASKHAN"
+	db "NIDORAN♂@@"
+	db "CLEFAIRY@@"
+	db "SPEAROW@@@"
+	db "VOLTORB@@@"
+	db "NIDOKING@@"
+	db "SLOWBRO@@@"
+	db "IVYSAUR@@@"
+	db "EXEGGUTOR@"
+	db "LICKITUNG@"
+	db "EXEGGCUTE@"
+	db "GRIMER@@@@"
+	db "GENGAR@@@@"
+	db "NIDORAN♀@@"
+	db "NIDOQUEEN@"
+	db "CUBONE@@@@"
+	db "RHYHORN@@@"
+	db "LAPRAS@@@@"
+	db "ARCANINE@@"
+	db "MEW@@@@@@@"
+	db "GYARADOS@@"
+	db "SHELLDER@@"
+	db "TENTACOOL@"
+	db "GASTLY@@@@"
+	db "SCYTHER@@@"
+	db "STARYU@@@@"
+	db "BLASTOISE@"
+	db "PINSIR@@@@"
+	db "TANGELA@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "GROWLITHE@"
+	db "ONIX@@@@@@"
+	db "FEAROW@@@@"
+	db "PIDGEY@@@@"
+	db "SLOWPOKE@@"
+	db "KADABRA@@@"
+	db "GRAVELER@@"
+	db "CHANSEY@@@"
+	db "MACHOKE@@@"
+	db "MR.MIME@@@"
+	db "HITMONLEE@"
+	db "HITMONCHAN"
+	db "ARBOK@@@@@"
+	db "PARASECT@@"
+	db "PSYDUCK@@@"
+	db "DROWZEE@@@"
+	db "GOLEM@@@@@"
+	db "MISSINGNO."
+	db "MAGMAR@@@@"
+	db "MISSINGNO."
+	db "ELECTABUZZ"
+	db "MAGNETON@@"
+	db "KOFFING@@@"
+	db "MISSINGNO."
+	db "MANKEY@@@@"
+	db "SEEL@@@@@@"
+	db "DIGLETT@@@"
+	db "TAUROS@@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "FARFETCH'D"
+	db "VENONAT@@@"
+	db "DRAGONITE@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "DODUO@@@@@"
+	db "POLIWAG@@@"
+	db "JYNX@@@@@@"
+	db "MOLTRES@@@"
+	db "ARTICUNO@@"
+	db "ZAPDOS@@@@"
+	db "DITTO@@@@@"
+	db "MEOWTH@@@@"
+	db "KRABBY@@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "VULPIX@@@@"
+	db "NINETALES@"
+	db "PIKACHU@@@"
+	db "RAICHU@@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "DRATINI@@@"
+	db "DRAGONAIR@"
+	db "KABUTO@@@@"
+	db "KABUTOPS@@"
+	db "HORSEA@@@@"
+	db "SEADRA@@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "SANDSHREW@"
+	db "SANDSLASH@"
+	db "OMANYTE@@@"
+	db "OMASTAR@@@"
+	db "JIGGLYPUFF"
+	db "WIGGLYTUFF"
+	db "EEVEE@@@@@"
+	db "FLAREON@@@"
+	db "JOLTEON@@@"
+	db "VAPOREON@@"
+	db "MACHOP@@@@"
+	db "ZUBAT@@@@@"
+	db "EKANS@@@@@"
+	db "PARAS@@@@@"
+	db "POLIWHIRL@"
+	db "POLIWRATH@"
+	db "WEEDLE@@@@"
+	db "KAKUNA@@@@"
+	db "BEEDRILL@@"
+	db "MISSINGNO."
+	db "DODRIO@@@@"
+	db "PRIMEAPE@@"
+	db "DUGTRIO@@@"
+	db "VENOMOTH@@"
+	db "DEWGONG@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "CATERPIE@@"
+	db "METAPOD@@@"
+	db "BUTTERFREE"
+	db "MACHAMP@@@"
+	db "MISSINGNO."
+	db "GOLDUCK@@@"
+	db "HYPNO@@@@@"
+	db "GOLBAT@@@@"
+	db "MEWTWO@@@@"
+	db "SNORLAX@@@"
+	db "MAGIKARP@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MUK@@@@@@@"
+	db "MISSINGNO."
+	db "KINGLER@@@"
+	db "CLOYSTER@@"
+	db "MISSINGNO."
+	db "ELECTRODE@"
+	db "CLEFABLE@@"
+	db "WEEZING@@@"
+	db "PERSIAN@@@"
+	db "MAROWAK@@@"
+	db "MISSINGNO."
+	db "HAUNTER@@@"
+	db "ABRA@@@@@@"
+	db "ALAKAZAM@@"
+	db "PIDGEOTTO@"
+	db "PIDGEOT@@@"
+	db "STARMIE@@@"
+	db "BULBASAUR@"
+	db "VENUSAUR@@"
+	db "TENTACRUEL"
+	db "MISSINGNO."
+	db "GOLDEEN@@@"
+	db "SEAKING@@@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "PONYTA@@@@"
+	db "RAPIDASH@@"
+	db "RATTATA@@@"
+	db "RATICATE@@"
+	db "NIDORINO@@"
+	db "NIDORINA@@"
+	db "GEODUDE@@@"
+	db "PORYGON@@@"
+	db "AERODACTYL"
+	db "MISSINGNO."
+	db "MAGNEMITE@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "CHARMANDER"
+	db "SQUIRTLE@@"
+	db "CHARMELEON"
+	db "WARTORTLE@"
+	db "CHARIZARD@"
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "MISSINGNO."
+	db "ODDISH@@@@"
+	db "GLOOM@@@@@"
+	db "VILEPLUME@"
+	db "BELLSPROUT"
+	db "WEEPINBELL"
+	db "VICTREEBEL"
+
+INCBIN "baserom.gbc",$1c98a,$1c9c1 - $1c98a
+
+UnnamedText_1c9c1: ; 0x1c9c1
+	TX_FAR _UnnamedText_1c9c1
+	db $50
+; 0x1c9c1 + 5 bytes
+
+INCBIN "baserom.gbc",$1c9c6,$1ca14 - $1c9c6
+
+UnnamedText_1ca14: ; 0x1ca14
+	TX_FAR _UnnamedText_1ca14
+	db $50
+; 0x1ca14 + 5 bytes
+
+CinnabarIslandScript: ; 0x1ca19
+	call $3c3c
+	ld hl, $d126
+	set 5, [hl]
+	ld hl, $d796
+	res 0, [hl]
+	ld hl, $d7a3
+	res 1, [hl]
+	ld hl, CinnabarIslandScripts
+	ld a, [$d639]
+	jp $3d97
+; 0x1ca34
+
+CinnabarIslandScripts: ; 0x1ca34
+	dw CinnabarIslandScript0, CinnabarIslandScript1
+
+CinnabarIslandScript0: ; 0x1ca38
+	ld b, $2b
+	call $3493
+	ret nz
+	ld a, [$d361]
+	cp $4
+	ret nz
+	ld a, [$d362]
+	cp $12
+	ret nz
+	ld a, $8
+	ld [$d528], a
+	ld a, $8
+	ld [$ff00+$8c], a
+	call $2920
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $1
+	ld [$cd38], a
+	ld a, $80
+	ld [$ccd3], a
+	call $3486
+	xor a
+	ld [$c109], a
+	ld [$cd6b], a
+	ld a, $1
+	ld [$d639], a
+	ret
+; 0x1ca73
+
+CinnabarIslandScript1: ; 0x1ca73
+	ld a, [$cd38]
+	and a
+	ret nz
+	call Delay3
+	ld a, $0
+	ld [$d639], a
+	ret
+; 0x1ca81
+
+CinnabarIslandTexts: ; 0x1ca81
+	dw CinnabarIslandText1, CinnabarIslandText2, CinnabarIslandText3, CinnabarIslandText4, CinnabarIslandText5, CinnabarIslandText6, CinnabarIslandText7, CinnabarIslandText8
+
+CinnabarIslandText8: ; 0x1ca91
+	TX_FAR _CinnabarIslandText8
+	db $50
+; 0x1ca91 + 5 bytes
+
+CinnabarIslandText1: ; 0x1ca96
+	TX_FAR _CinnabarIslandText1
+	db $50
+
+CinnabarIslandText2: ; 0x1ca9b
+	TX_FAR _CinnabarIslandText2
+	db $50
+
+CinnabarIslandText3: ; 0x1caa0
+	TX_FAR _CinnabarIslandText3
+	db $50
+
+CinnabarIslandText6: ; 0x1caa5
+	TX_FAR _CinnabarIslandText6
+	db $50
+
+CinnabarIslandText7: ; 0x1caaa
+	TX_FAR _CinnabarIslandText7
+	db $50
+
+Route1Script: ; 0x1caaf
+	jp $3c3c
+; 0x1cab2
+
+Route1Texts: ; 0x1cab2
+	dw Route1Text1, Route1Text2, Route1Text3
+
+Route1Text1: ; 0x1cab8
+	db $08 ; asm
+	ld hl, $d7bf
+	bit 0, [hl]
+	set 0, [hl]
+	jr nz, .asm_02840 ; 0x1cac0
+	ld hl, Route1ViridianMartSampleText
+	call PrintText 
+	ld bc, (POTION << 8) | 1
+	call GiveItem
+	jr nc, .asm_a630e ; 0x1cace
+	ld hl, $4ae8
+	jr .asm_46d43 ; 0x1cad3
+.asm_a630e ; 0x1cad5
+	ld hl, $4af3
+	jr .asm_46d43 ; 0x1cad8
+.asm_02840 ; 0x1cada
+	ld hl, $4aee
+.asm_46d43 ; 0x1cadd
+	call PrintText
+	jp TextScriptEnd
+
+Route1ViridianMartSampleText: ; 0x1cae3
+	TX_FAR _Route1ViridianMartSampleText
+	db $50
+; 0x1cae3 + 5 bytes
+
+INCBIN "baserom.gbc",$1cae8,$1caee - $1cae8
+
+UnnamedText_1caee: ; 0x1caee
+	TX_FAR _UnnamedText_1caee
+	db $50
+; 0x1caee + 5 bytes
+
+UnnamedText_1caf3: ; 0x1caf3
+	TX_FAR _UnnamedText_1caf3
+	db $50
+; 0x1caf3 + 5 bytes
+
+Route1Text2: ; 0x1caf8
+	TX_FAR _Route1Text2
+	db $50
+
+Route1Text3: ; 0x1cafd
+	TX_FAR _Route1Text3
+	db $50
+
+OaksLab_h: ; 0x1cb02 to 0x1cb0e (12 bytes) (bank=7) (id=40)
+	db $05 ; tileset
+	db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x)
+	dw OaksLabBlocks, OaksLabTexts, OaksLabScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw OaksLabObject ; objects
+
+OaksLabScript: ; 0x1cb0e
+	ld a, [$d74b]
+	bit 6, a
+	call nz, $5076
+	ld a, $1
+	ld [$cf0c], a
+	xor a
+	ld [$cc3c], a
+	ld hl, OaksLabScripts
+	ld a, [W_OAKSLABCURSCRIPT]
+	jp $3d97
+; 0x1cb28
+
+OaksLabScripts: ; 0x1cb28
+	dw OaksLabScript0, OaksLabScript1, OaksLabScript2, OaksLabScript3, OaksLabScript4, OaksLabScript5, OaksLabScript6, OaksLabScript7, OaksLabScript8, OaksLabScript9, OaksLabScript10, OaksLabScript11, OaksLabScript12, OaksLabScript13, OaksLabScript14, OaksLabScript15, OaksLabScript16, OaksLabScript17, OaksLabScript18
+
+OaksLabScript0: ; 0x1cb4e
+	ld a, [$d74b]
+	bit 7, a
+	ret z
+	ld a, [$cf10]
+	and a
+	ret nz
+	ld a, $31
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld hl, $d72e
+	res 4, [hl]
+
+	ld a, $1
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cb6e
+
+OaksLabScript1: ; 0x1cb6e
+	ld a, $8
+	ld [$ff00+$8c], a
+	ld de, OakEntryMovement
+	call MoveSprite
+
+	ld a, $2
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cb7e
+
+OakEntryMovement: ; 0x1cb7e
+	db $40, $40, $40, $ff
+
+OaksLabScript2: ; 0x1cb82
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	ld a, $31
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, $2e
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+
+	ld a, $3
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cba2
+
+OaksLabScript3: ; 0x1cba2
+	call Delay3
+	ld hl, $ccd3
+	ld de, PlayerEntryMovementRLE
+	call $350c
+	dec a
+	ld [$cd38], a
+	call $3486
+	ld a, $1
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $5
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+
+	ld a, $4
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cbcf
+
+PlayerEntryMovementRLE: ; 0x1cbcf
+	db $40, $8, $ff
+
+OaksLabScript4: ; 0x1cbd2
+	ld a, [$cd38]
+	and a
+	ret nz
+	ld hl, $d747
+	set 0, [hl]
+	ld hl, $d74b
+	set 0, [hl]
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $4
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	call $2429
+	ld hl, $d733
+	res 1, [hl]
+	call $2307
+
+	ld a, $5
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cbfd
+
+OaksLabScript5: ; 0x1cbfd
+	ld a, $fc
+	ld [$cd6b], a
+	ld a, $11
+	ld [$ff00+$8c], a
+	call $2920
+	call Delay3
+	ld a, $12
+	ld [$ff00+$8c], a
+	call $2920
+	call Delay3
+	ld a, $13
+	ld [$ff00+$8c], a
+	call $2920
+	call Delay3
+	ld a, $14
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d74b
+	set 1, [hl]
+	xor a
+	ld [$cd6b], a
+
+	ld a, $6
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cc36
+
+OaksLabScript6: ; 0x1cc36
+	ld a, [W_YCOORD]
+	cp $6
+	ret nz
+	ld a, $5
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $1
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	call $2429
+	ld a, $c
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $1
+	ld [$cd38], a
+	ld a, $40
+	ld [$ccd3], a
+	call $3486
+	ld a, $8
+	ld [$d528], a
+
+	ld a, $7
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cc72
+
+OaksLabScript7: ; 0x1cc72
+	ld a, [$cd38]
+	and a
+	ret nz
+	call Delay3
+
+	ld a, $6
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cc80
+
+OaksLabScript8: ; 0x1cc80
+	ld a, [W_PLAYERSTARTER]
+	cp CHARMANDER
+	jr z, .Charmander\@ ; 0x1cc85 $6
+	cp SQUIRTLE
+	jr z, .Squirtle\@ ; 0x1cc89 $1d
+	jr .Bulbasaur\@ ; 0x1cc8b $38
+.Charmander\@
+	ld de, .MiddleBallMovement1
+	ld a, [W_YCOORD]
+	cp $4 ; is the player standing below the table?
+	jr z, .asm_1ccf3 ; 0x1cc95 $5c
+	ld de, .MiddleBallMovement2
+	jr .asm_1ccf3 ; 0x1cc9a $57
+
+.MiddleBallMovement1
+	db 0,0,$C0,$C0,$C0,$40,$FF
+.MiddleBallMovement2
+	db 0,$C0,$C0,$C0,$FF
+
+.Squirtle\@
+	ld de, .RightBallMovement1
+	ld a, [W_YCOORD]
+	cp $4 ; is the player standing below the table?
+	jr z, .asm_1ccf3 ; 0x1ccb0 $41
+	ld de, .RightBallMovement2
+	jr .asm_1ccf3 ; 0x1ccb5 $3c
+
+.RightBallMovement1
+	db 0,0,$C0,$C0,$C0,$C0,$40,$FF
+.RightBallMovement2
+	db 0,$C0,$C0,$C0,$C0,$FF
+
+.Bulbasaur\@
+	ld de, .LeftBallMovement1
+	ld a, [W_XCOORD]
+	cp $9 ; is the player standing to the right of the table?
+	jr nz, .asm_1ccf3 ; 0x1cccd $24
+	push hl
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $4
+	ld [$ff00+$8b], a
+	call $34fc
+	push hl
+	ld [hl], $4c
+	inc hl
+	inc hl
+	ld [hl], $0
+	pop hl
+	inc h
+	ld [hl], $8
+	inc hl
+	ld [hl], $9
+	ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that
+	pop hl
+	jr .asm_1ccf3 ; 0x1cced $4
+
+.LeftBallMovement1
+	db 0,$C0 ; not yet terminated!
+.LeftBallMovement2
+	db $C0,$FF
+
+.asm_1ccf3
+	ld a, $1
+	ld [$ff00+$8c], a
+	call MoveSprite
+
+	ld a, $9
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cd00
+
+OaksLabScript9: ; 0x1cd00
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	ld a, $fc
+	ld [$cd6b], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $4
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $d
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, [$cd3e]
+	cp $2
+	jr nz, .asm_1cd28 ; 0x1cd22 $4
+	ld a, $2b
+	jr .asm_1cd32 ; 0x1cd26 $a
+.asm_1cd28
+	cp $3
+	jr nz, .asm_1cd30 ; 0x1cd2a $4
+	ld a, $2c
+	jr .asm_1cd32 ; 0x1cd2e $2
+.asm_1cd30
+	ld a, $2d
+.asm_1cd32
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	call Delay3
+	ld a, [$cd3d]
+	ld [W_RIVALSTARTER], a
+	ld [$cf91], a
+	ld [$d11e], a
+	call GetMonName
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $4
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $e
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d74b
+	set 2, [hl]
+	xor a
+	ld [$cd6b], a
+
+	ld a, $a
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cd6d
+
+OaksLabScript10: ; 0x1cd6d
+	ld a, [W_YCOORD]
+	cp $6
+	ret nz
+	ld a, $1
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $8
+	ld [$d528], a
+	ld c, $2
+	ld a, $de
+	call $23a1 ; play music
+	ld a, $f
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $1
+	ld [$ff00+$9b], a
+	ld a, $1
+	swap a
+	ld [$ff00+$95], a
+	ld a, $22
+	call Predef
+	ld a, [$ff00+$95]
+	dec a
+	ld [$ff00+$95], a
+	ld a, $20
+	call Predef
+	ld de, $cc97
+	ld a, $1
+	ld [$ff00+$8c], a
+	call MoveSprite
+
+	ld a, $b
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cdb9
+
+OaksLabScript11: ; 0x1cdb9
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+
+	; define which team rival uses, and fight it
+	ld a, SONY1 + 200
+	ld [W_CUROPPONENT], a
+	ld a, [W_RIVALSTARTER]
+	cp SQUIRTLE
+	jr nz, .NotSquirtle\@ ; 0x1cdc9 $4
+	ld a, $1
+	jr .done\@ ; 0x1cdcd $a
+.NotSquirtle\@
+	cp BULBASAUR
+	jr nz, .Charmander\@ ; 0x1cdd1 $4
+	ld a, $2
+	jr .done\@ ; 0x1cdd5 $2
+.Charmander\@
+	ld a, $3
+.done\@
+	ld [W_TRAINERNO], a
+	ld a, $1
+	ld [$cf13], a
+	call $32ef
+	ld hl, $53be
+	ld de, $53c3
+	call $3354
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	xor a
+	ld [$cd6b], a
+	ld a, $8
+	ld [$d528], a
+
+	ld a, $c
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1ce03
+
+OaksLabScript12: ; 0x1ce03
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, $8
+	ld [$d528], a
+	call $2429
+	ld a, $1
+	ld [$cf13], a
+	call $32f9
+	ld a, $1
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $7
+	call Predef
+	ld hl, $d74b
+	set 3, [hl]
+
+	ld a, $d
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1ce32
+
+OaksLabScript13: ; 0x1ce32
+	ld c, $14
+	call $3739
+	ld a, $10
+	ld [$ff00+$8c], a
+	call $2920
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld de, .RivalExitMovement
+	call MoveSprite
+	ld a, [W_XCOORD]
+	cp $4
+	; move left or right depending on where the player is standing
+	jr nz, .asm_1ce5b ; 0x1ce55 $4
+	ld a, $c0
+	jr .asm_1ce5d ; 0x1ce59 $2
+.asm_1ce5b
+	ld a, $80
+.asm_1ce5d
+	ld [$cc5b], a
+
+	ld a, $e
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1ce66
+
+.RivalExitMovement
+	db $E0,0,0,0,0,0,$FF
+
+OaksLabScript14: ; 0x1ce6d
+	ld a, [$d730]
+	bit 0, a
+	jr nz, .asm_1ce8c ; 0x1ce72 $18
+	ld a, $2a
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	xor a
+	ld [$cd6b], a
+	call $2307 ; reset to map music
+	ld a, $12
+	ld [W_OAKSLABCURSCRIPT], a
+	jr .done\@ ; 0x1ce8a $23
+.asm_1ce8c
+	ld a, [$cf0f]
+	cp $5
+	jr nz, .asm_1cea8 ; 0x1ce91 $15
+	ld a, [$d362]
+	cp $4
+	jr nz, .asm_1cea1 ; 0x1ce98 $7
+	ld a, $c
+	ld [$c109], a
+	jr .done\@ ; 0x1ce9f $e
+.asm_1cea1
+	ld a, $8
+	ld [$c109], a
+	jr .done\@ ; 0x1cea6 $7
+.asm_1cea8
+	cp $4
+	ret nz
+	xor a
+	ld [$c109], a
+.done\@
+	ret
+; 0x1ceb0
+
+OaksLabScript15: ; 0x1ceb0
+	xor a
+	ld [$ff00+$b4], a
+	call $3c3c
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, $15
+	ld [$ff00+$8c], a
+	call $2920
+	call $502b
+	ld a, $2a
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld a, [$cd37]
+	ld [$d157], a
+	ld b, $0
+	ld c, a
+	ld hl, $cc97
+	ld a, $40
+	call $36e0
+	ld [hl], $ff
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld de, $cc97
+	call MoveSprite
+
+	ld a, $10
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cefd
+
+Function1CEFD ; 0x1cefd
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $4
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	ld a, $8
+	ld [$ff00+$8c], a
+	xor a
+	ld [$ff00+$8d], a
+	jp $34a6 ; face object
+; 0x1cf12
+
+OaksLabScript16: ; 0x1cf12
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	call $3c3c
+	call $2307
+	ld a, $fc
+	ld [$cd6b], a
+	call Function1CEFD
+	ld a, $16
+	ld [$ff00+$8c], a
+	call $2920
+	call DelayFrame
+	call Function1CEFD
+	ld a, $17
+	ld [$ff00+$8c], a
+	call $2920
+	call DelayFrame
+	call Function1CEFD
+	ld a, $18
+	ld [$ff00+$8c], a
+	call $2920
+	call DelayFrame
+	ld a, $19
+	ld [$ff00+$8c], a
+	call $2920
+	call Delay3
+	ld a, $2f
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, $30
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	call Function1CEFD
+	ld a, $1a
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, $c
+	ld [$ff00+$8d], a
+	call $34a6 ; face object
+	call Delay3
+	ld a, $1b
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d74b
+	set 5, [hl]
+	ld hl, $d74e
+	set 0, [hl]
+	ld a, $1
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, $2
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld a, [$d157]
+	ld b, $0
+	ld c, a
+	ld hl, $cc97
+	xor a
+	call $36e0
+	ld [hl], $ff
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld de, $cc97
+	call MoveSprite
+
+	ld a, $11
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1cfd4
+
+OaksLabScript17: ; 0x1cfd4
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	call $2307
+	ld a, $2a
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld hl, $d7eb
+	set 0, [hl]
+	res 1, [hl]
+	set 7, [hl]
+	ld a, $22
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld a, $5
+	ld [$d5f1], a
+	xor a
+	ld [$cd6b], a
+
+	ld a, $12
+	ld [W_OAKSLABCURSCRIPT], a
+	ret
+; 0x1d009
+
+OaksLabScript18: ; 0x1d009
+	ret
+; 0x1d00a
+
+Function1D00A: ; 0x1d00a
+	ld hl, W_BAGITEM01
+	ld bc, $0000
+.asm_1d010
+	ld a, [hli]
+	cp $ff
+	ret z
+	cp OAKS_PARCEL
+	jr z, .GotParcel ; 0x1d016 $4
+	inc hl
+	inc c
+	jr .asm_1d010 ; 0x1d01a $f4
+.GotParcel
+	ld hl, $d31d
+	ld a, c
+	ld [$cf92], a
+	ld a, $1
+	ld [$cf96], a
+	jp $2bbb
+; 0x1d02b
+
+
+INCBIN "baserom.gbc",$1d02b,$1d082-$1d02b
+
+OaksLabTexts: ; 0x1d082
+	dw OaksLabText1, OaksLabText2, OaksLabText3, OaksLabText4, OaksLabText5, OaksLabText6, OaksLabText7, OaksLabText8, OaksLabText9, OaksLabText10, OaksLabText11, OaksLabText12, OaksLabText13, OaksLabText14, OaksLabText15, OaksLabText16, OaksLabText17, OaksLabText18, OaksLabText19, OaksLabText20, OaksLabText21, OaksLabText22, OaksLabText23, OaksLabText24, OaksLabText25, OaksLabText26, OaksLabText27, OaksLabText28, OaksLabText29, OaksLabText30, OaksLabText31, OaksLabText32, OaksLabText33, OaksLabText34, OaksLabText35, OaksLabText36, OaksLabText37, OaksLabText38
+
+OaksLabText28:
+OaksLabText1: ; 0x1d0ce
+	db $08 ; asm
+	ld a, [$d74b]
+	bit 0, a
+	jr nz, .asm_1d0de ; 0x1d0d4
+	ld hl, OaksLabGaryText1
+	call PrintText
+	jr .asm_1d0f0 ; 0x1d0dc
+.asm_1d0de ; 0x1d0de
+	bit 2, a
+	jr nz, .asm_1d0ea ; 0x1d0e0
+	ld hl, OaksLabText40
+	call PrintText
+	jr .asm_1d0f0 ; 0x1d0e8
+.asm_1d0ea ; 0x1d0ea
+	ld hl, OaksLabText41
+	call PrintText
+.asm_1d0f0 ; 0x1d0f0
+	jp TextScriptEnd
+
+OaksLabGaryText1: ; 0x1d0f3
+	TX_FAR _OaksLabGaryText1
+	db $50
+; 0x1d0f8
+
+OaksLabText40: ; 0x1d0f8
+	TX_FAR _OaksLabText40
+	db $50
+; 0x1d0f8 + 5 bytes
+
+OaksLabText41: ; 0x1d0fd
+	TX_FAR _OaksLabText41
+	db $50
+; 0x1d0fd + 5 bytes
+
+OaksLabText29:
+OaksLabText2: ; 0x1d102
+	db $8
+	ld a, $b1
+	ld [$cd3d], a
+	ld a, $3
+	ld [$cd3e], a
+	ld a, $b0
+	ld b, $2
+	jr asm_1d133 ; 0x1d111 $20
+
+OaksLabText30:
+OaksLabText3: ; 0x1d113
+	db $8
+	ld a, $99
+	ld [$cd3d], a
+	ld a, $4
+	ld [$cd3e], a
+	ld a, $b1
+	ld b, $3
+	jr asm_1d133 ; 0x1d122 $f
+
+OaksLabText31:
+OaksLabText4: ; 0x1d124
+	db $8
+	ld a, $b0
+	ld [$cd3d], a
+	ld a, $2
+	ld [$cd3e], a
+	ld a, $99
+	ld b, $4
+
+asm_1d133: ; 0x1d133
+	ld [$cf91], a
+	ld [$d11e], a
+	ld a, b
+	ld [$cf13], a
+	ld a, [$d74b]
+	bit 2, a
+	jp nz, $522d
+	bit 1, a
+	jr nz, asm_1d157 ; 0x1d147 $e
+	ld hl, OaksLabText39
+	call PrintText
+	jp TextScriptEnd
+; 0x1d152
+
+OaksLabText39: ; 0x1d152
+	TX_FAR _OaksLabText39
+	db $50
+
+asm_1d157: ; 0x1d157
+	ld a, $5
+	ld [$ff00+$8c], a
+	ld a, $9
+	ld [$ff00+$8b], a
+	call $34fc
+	ld [hl], $0
+	; manually fixed some disassembler issues around here
+	ld a, $1
+	ld [$FF8c], a
+	ld a, $9
+	ld [$ff00+$8b], a
+	call $34fc
+	ld [hl], $c
+	ld hl, $d730
+	set 6, [hl]
+	ld a, $46
+	call Predef
+	ld hl, $d730
+	res 6, [hl]
+	call $3071
+	ld c, $a
+	call $3739
+	ld a, [$cf13]
+	cp $2
+	jr z, OaksLabLookAtCharmander
+	cp $3
+	jr z, OaksLabLookAtSquirtle
+	jr OaksLabLookAtBulbasaur
+
+OaksLabLookAtCharmander ; 0x1d195
+	ld hl, OaksLabCharmanderText
+	jr OaksLabMonChoiceMenu
+OaksLabCharmanderText: ; 0x1d19a
+	TX_FAR _OaksLabCharmanderText ; 0x94e06
+	db $50
+; 0x1d19f
+
+OaksLabLookAtSquirtle: ; 0x1d19f
+	ld hl, OaksLabSquirtleText
+	jr OaksLabMonChoiceMenu
+OaksLabSquirtleText: ; 0x1d1a4
+	TX_FAR _OaksLabSquirtleText ; 0x94e2f
+	db $50
+; 0x1d1a9
+
+OaksLabLookAtBulbasaur: ; 0x1d1a9
+	ld hl, OaksLabBulbasaurText
+	jr OaksLabMonChoiceMenu
+OaksLabBulbasaurText: ; 0x1d1ae
+	TX_FAR _OaksLabBulbasaurText ; 0x94e57
+	db $50
+; 0x1d1b3
+
+OaksLabMonChoiceMenu: ; 0x1d1b3
+	call PrintText
+	ld a, $1
+	ld [$cc3c], a
+	call $35ec ; yes/no menu
+	ld a, [$cc26]
+	and a
+	jr nz, OaksLabMonChoiceEnd
+	ld a, [$cf91]
+	ld [$d717], a
+	ld [$d11e], a
+	call GetMonName
+	ld a, [$cf13]
+	cp $2
+	jr nz, asm_1d1db ; 0x1d1d5 $4
+	ld a, $2b
+	jr asm_1d1e5 ; 0x1d1d9 $a
+asm_1d1db: ; 0x1d1db
+	cp $3
+	jr nz, asm_1d1e3 ; 0x1d1dd $4
+	ld a, $2c
+	jr asm_1d1e5 ; 0x1d1e1 $2
+asm_1d1e3: ; 0x1d1e3
+	ld a, $2d
+asm_1d1e5: ; 0x1d1e5
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, OaksLabMonEnergeticText
+	call PrintText
+	ld hl, OaksLabReceivedMonText
+	call PrintText
+	xor a
+	ld [$cc49], a
+	ld a, $5
+	ld [$d127], a
+	ld a, [$cf91]
+	ld [$d11e], a
+	call AddPokemonToParty
+	ld hl, $d72e
+	set 3, [hl]
+	ld a, $fc
+	ld [$cd6b], a
+	ld a, $8
+	ld [W_OAKSLABCURSCRIPT], a
+OaksLabMonChoiceEnd: ; 0x1d21f
+	jp TextScriptEnd
+; 0x1d222
+
+OaksLabMonEnergeticText: ; 0x1d222
+	TX_FAR _OaksLabMonEnergeticText
+	db $50
+; 0x1d222 + 5 bytes
+
+OaksLabReceivedMonText: ; 0x1d227
+	TX_FAR _OaksLabReceivedMonText ; 0x94ea0
+	db $11, $50
+; 0x1d22d
+
+INCBIN "baserom.gbc",$1d22d,$1d243 - $1d22d
+
+OaksLabLastMonText: ; 0x1d243
+	TX_FAR _OaksLabLastMonText
+	db $50
+; 0x1d248
+
+OaksLabText32:
+OaksLabText5: ; 0x1d248
+	db $08 ; asm
+	ld a, [$d747]
+	bit 6, a
+	jr nz, .asm_50e81 ; 0x1d24e
+	ld hl, $d2f7
+	ld b, $13
+	call $2b7f
+	ld a, [$d11e]
+	cp $2
+	jr c, .asm_b28b0 ; 0x1d25d
+	ld a, [$d74b]
+	bit 5, a
+	jr z, .asm_b28b0 ; 0x1d264
+.asm_50e81 ; 0x1d266
+	ld hl, UnnamedText_1d31d
+	call PrintText
+	ld a, $1
+	ld [$cc3c], a
+	ld a, $56
+	call Predef
+	jp $52ed
+.asm_b28b0 ; 0x1d279
+	ld b,POKE_BALL
+	call $3493
+	jr nz, .asm_17c30 ; 0x1d27e
+	ld a, [$d7eb]
+	bit 5, a
+	jr nz, .asm_f1adc ; 0x1d285
+	ld a, [$d74b]
+	bit 5, a
+	jr nz, .asm_333a2 ; 0x1d28c
+	bit 3, a
+	jr nz, .asm_76269 ; 0x1d290
+	ld a, [$d72e]
+	bit 3, a
+	jr nz, .asm_4a5e0 ; 0x1d297
+	ld hl, UnnamedText_1d2f0
+	call PrintText
+	jr .asm_0f042 ; 0x1d29f
+.asm_4a5e0 ; 0x1d2a1
+	ld hl, UnnamedText_1d2f5
+	call PrintText
+	jr .asm_0f042 ; 0x1d2a7
+.asm_76269 ; 0x1d2a9
+	ld b, OAKS_PARCEL
+	call $3493
+	jr nz, .asm_a8fcf ; 0x1d2ae
+	ld hl, UnnamedText_1d2fa
+	call PrintText
+	jr .asm_0f042 ; 0x1d2b6
+.asm_a8fcf ; 0x1d2b8
+	ld hl, OaksLabDeliverParcelText
+	call PrintText
+	call $500a
+	ld a, $f
+	ld [W_OAKSLABCURSCRIPT], a
+	jr .asm_0f042 ; 0x1d2c6
+.asm_333a2 ; 0x1d2c8
+	ld hl, OaksLabAroundWorldText
+	call PrintText
+	jr .asm_0f042 ; 0x1d2ce
+.asm_f1adc ; 0x1d2d0
+	ld hl, $d74b
+	bit 4, [hl]
+	set 4, [hl]
+	jr nz, .asm_17c30 ; 0x1d2d7
+	ld bc, (POKE_BALL << 8) | 5
+	call GiveItem
+	ld hl, OaksLabGivePokeballsText
+	call PrintText
+	jr .asm_0f042 ; 0x1d2e5
+.asm_17c30 ; 0x1d2e7
+	ld hl, OaksLabPleaseVisitText
+	call PrintText
+.asm_0f042 ; 0x1d2ed
+	jp TextScriptEnd
+; 0x1d2f0
+
+UnnamedText_1d2f0: ; 0x1d2f0
+	TX_FAR _UnnamedText_1d2f0
+	db $50
+; 0x1d2f5
+
+UnnamedText_1d2f5: ; 0x1d2f5
+	TX_FAR _UnnamedText_1d2f5
+	db $50
+; 0x1d2fa
+
+UnnamedText_1d2fa: ; 0x1d2fa
+	TX_FAR _UnnamedText_1d2fa
+	db $50
+; 0x1d2ff
+
+OaksLabDeliverParcelText: ; 0x1d2ff
+	TX_FAR _OaksLabDeliverParcelText1 ; 0x94f69
+	db $11
+	TX_FAR _OaksLabDeliverParcelText2
+	db $50
+; 0x1d309
+
+OaksLabAroundWorldText: ; 0x1d309
+	TX_FAR _OaksLabAroundWorldText
+	db $50
+; 0x1d30e
+
+OaksLabGivePokeballsText: ; 0x1d30e
+	TX_FAR _OaksLabGivePokeballsText1 ; 0x9506d
+	db $11
+	TX_FAR _OaksLabGivePokeballsText2
+	db $50
+; 0x1d318
+
+OaksLabPleaseVisitText: ; 0x1d318
+	TX_FAR _OaksLabPleaseVisitText
+	db $50
+; 0x1d318 + 5 bytes
+
+UnnamedText_1d31d: ; 0x1d31d
+	TX_FAR _UnnamedText_1d31d
+	db $50
+; 0x1d31d + 5 bytes
+
+OaksLabText34:
+OaksLabText33:
+OaksLabText7: ; 0x1d322
+OaksLabText6: ; 0x1d322
+	db $08 ; asm
+	ld hl, UnnamedText_1d32c
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_1d32c: ; 0x1d32c
+	TX_FAR _UnnamedText_1d32c
+	db $50
+; 0x1d32c + 5 bytes
+
+OaksLabText35:
+OaksLabText8: ; 0x1d331
+	TX_FAR _OaksLabText8
+	db $50
+
+OaksLabText36:
+OaksLabText9: ; 0x1d336
+	db $08 ; asm
+	ld hl, UnnamedText_1d340
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_1d340: ; 0x1d340
+	TX_FAR _UnnamedText_1d340
+	db $50
+; 0x1d340 + 5 bytes
+
+OaksLabText17: ; 0x1d345
+	db $8
+	ld hl, OaksLabRivalWaitingText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d34f
+
+OaksLabRivalWaitingText: ; 0x1d34f
+	TX_FAR _OaksLabRivalWaitingText
+	db $50
+; 0x1d34f + 5 bytes
+
+OaksLabText18: ; 0x1d354
+	db $8
+	ld hl, OaksLabChooseMonText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d35e
+
+OaksLabChooseMonText: ; 0x1d35e
+	TX_FAR _OaksLabChooseMonText
+	db $50
+; 0x1d35e + 5 bytes
+
+OaksLabText19: ; 0x1d363
+	db $8
+	ld hl, OaksLabRivalInterjectionText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d36d
+
+OaksLabRivalInterjectionText: ; 0x1d36d
+	TX_FAR _OaksLabRivalInterjectionText
+	db $50
+; 0x1d36d + 5 bytes
+
+OaksLabText20: ; 0x1d372
+	db $8
+	ld hl, OaksLabBePatientText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d37c
+
+OaksLabBePatientText: ; 0x1d37c
+	TX_FAR _OaksLabBePatientText
+	db $50
+; 0x1d37c + 5 bytes
+
+OaksLabText12: ; 0x1d381
+	db $8
+	ld hl, OaksLabLeavingText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d38b
+
+OaksLabLeavingText: ; 0x1d38b
+	TX_FAR _OaksLabLeavingText
+	db $50
+; 0x1d38b + 5 bytes
+
+OaksLabText13: ; 0x1d390
+	db $8
+	ld hl, OaksLabRivalPickingMonText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d39a
+
+OaksLabRivalPickingMonText: ; 0x1d39a
+	TX_FAR _OaksLabRivalPickingMonText
+	db $50
+; 0x1d39f
+
+OaksLabText14: ; 0x1d39f
+	db $8
+	ld hl, OaksLabRivalReceivedMonText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d3a9
+
+OaksLabRivalReceivedMonText: ; 0x1d3a9
+	TX_FAR _OaksLabRivalReceivedMonText ; 0x95461
+	db $11, $50
+; 0x1d3af
+
+OaksLabText15: ; 0x1d3af
+	db $8
+	ld hl, OaksLabRivalChallengeText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d3b9
+
+OaksLabRivalChallengeText: ; 0x1d3b9
+	TX_FAR _OaksLabRivalChallengeText
+	db $50
+; 0x1d3be
+
+UnnamedText_1d3be: ; 0x1d3be
+	TX_FAR _UnnamedText_1d3be
+	db $50
+; 0x1d3c3
+
+UnnamedText_1d3c3: ; 0x1d3c3
+	TX_FAR _UnnamedText_1d3c3
+	db $50
+; 0x1d3c8
+
+OaksLabText16: ; 0x1d3c8
+	db $8
+	ld hl, OaksLabRivalToughenUpText
+	call PrintText
+	jp TextScriptEnd
+; 0x1d3d2
+
+OaksLabRivalToughenUpText: ; 0x1d3d2
+	TX_FAR _OaksLabRivalToughenUpText
+	db $50
+; 0x1d3d7
+
+OaksLabText21: ; 0x1d3d7
+	TX_FAR _OaksLabText21
+	db $50
+; 0x1d3dc
+
+OaksLabText22: ; 0x1d3dc
+	TX_FAR _OaksLabText22
+	db $50
+; 0x1d3e1
+
+OaksLabText23: ; 0x1d3e1
+	TX_FAR _OaksLabText23
+	db $50
+; 0x1d3e6
+
+OaksLabText24: ; 0x1d3e6
+	TX_FAR _OaksLabText24
+	db $50
+; 0x1d3eb
+
+OaksLabText25: ; 0x1d3eb
+	TX_FAR _OaksLabText25
+	db $11, $50
+; 0x1d3f1
+
+OaksLabText26: ; 0x1d3f1
+	TX_FAR _OaksLabText26
+	db $50
+; 0x1d3f6
+
+OaksLabText27: ; 0x1d3f6
+	TX_FAR _OaksLabText27
+	db $50
+; 0x1d3fb
+
+OaksLabText38:
+OaksLabText37:
+OaksLabText11:
+OaksLabText10: ; 0x1d3fb
+	db $08 ; asm
+	ld hl, UnnamedText_1d405
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_1d405: ; 0x1d405
+	TX_FAR _UnnamedText_1d405
+	db $50
+; 0x1d405 + 5 bytes
+
+OaksLabObject: ; 0x1d40a (size=88)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $b, $4, $2, $ff
+	db $b, $5, $2, $ff
+
+	db $0 ; signs
+
+	db $b ; people
+	db SPRITE_BLUE, $3 + 4, $4 + 4, $ff, $ff, $41, SONY1 + $C8, $1 ; trainer
+	db SPRITE_BALL, $3 + 4, $6 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BALL, $3 + 4, $7 + 4, $ff, $ff, $3 ; person
+	db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $4 ; person
+	db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $5 ; person
+	db SPRITE_BOOK_MAP_DEX, $1 + 4, $2 + 4, $ff, $ff, $6 ; person
+	db SPRITE_BOOK_MAP_DEX, $1 + 4, $3 + 4, $ff, $ff, $7 ; person
+	db SPRITE_OAK, $a + 4, $5 + 4, $ff, $d1, $8 ; person
+	db SPRITE_GIRL, $9 + 4, $1 + 4, $fe, $1, $9 ; person
+	db SPRITE_OAK_AIDE, $a + 4, $2 + 4, $ff, $ff, $a ; person
+	db SPRITE_OAK_AIDE, $a + 4, $8 + 4, $ff, $ff, $b ; person
+
+	; warp-to
+	EVENT_DISP $5, $b, $4
+	EVENT_DISP $5, $b, $5
+
+ViridianMart_h: ; 0x1d462 to 0x1d46e (12 bytes) (bank=7) (id=42)
+	db $02 ; tileset
+	db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x)
+	dw ViridianMartBlocks, ViridianMartTexts, ViridianMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianMartObject ; objects
+
+ViridianMartScript: ; 0x1d46e
+	call ViridianMartScript_Unknown1d47d
+	call $3c3c
+	ld hl, $5495
+	ld a, [$d60d]
+	jp $3d97
+; 0x1d47d
+
+ViridianMartScript_Unknown1d47d: ; 0x1d47d
+INCBIN "baserom.gbc",$1d47d,$1e
+
+ViridianMartScript0: ; 0x1d49b
+	call $2429
+	ld a, $4
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $ccd3
+	ld de, $54bb
+	call $350c
+	dec a
+	ld [$cd38], a
+	call $3486
+	ld a, $1
+	ld [$d60d], a
+	ret
+; 0x1d4bb
+
+INCBIN "baserom.gbc",$1d4bb,$1d4c0 - $1d4bb
+
+ViridianMartScript1: ; 0x1d4c0
+	ld a, [$cd38]
+	and a
+	ret nz
+	call Delay3
+	ld a, $5
+	ld [$ff00+$8c], a
+	call $2920
+	ld bc, $4601
+	call GiveItem
+	ld hl, $d74e
+	set 1, [hl]
+	ld a, $2
+	ld [$d60d], a
+	ret
+; 0x1d4e0
+
+ViridianMartTexts: ; 0x1d4e0
+	dw ViridianMartText1, ViridianMartText2, ViridianMartText3 ;, ViridianMartText4
+
+INCBIN "baserom.gbc",$1d4e6,$a
+
+ViridianMartText1: ; 0x1d4f0
+	TX_FAR _ViridianMartText1
+	db $50
+
+UnnamedText_1d4f5: ; 0x1d4f5
+	TX_FAR _UnnamedText_1d4f5
+	db $50
+; 0x1d4f5 + 5 bytes
+
+INCBIN "baserom.gbc",$1d4fa,$6
+
+ViridianMartText2: ; 0x1d500
+	TX_FAR _ViridianMartText2
+	db $50
+
+ViridianMartText3: ; 0x1d505
+	TX_FAR _ViridianMartText3
+	db $50
+
+ViridianMartObject: ; 0x1d50a (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $1, $ff
+	db $7, $4, $1, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $fe, $1, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $3 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+ViridianMartBlocks: ; 0x1d530 16
+	INCBIN "maps/viridianmart.blk"
+
+School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43)
+	db $08 ; tileset
+	db VIRIDIAN_SCHOOL_HEIGHT, VIRIDIAN_SCHOOL_WIDTH ; dimensions (y, x)
+	dw SchoolBlocks, SchoolTexts, SchoolScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SchoolObject ; objects
+
+SchoolScript: ; 0x1d54c
+	jp $3c3c
+; 0x1d54f
+
+SchoolTexts: ; 0x1d54f
+	dw SchoolText1, SchoolText2
+
+SchoolText1: ; 0x1d553
+	TX_FAR _SchoolText1
+	db $50
+
+SchoolText2: ; 0x1d558
+	TX_FAR _SchoolText2
+	db $50
+
+SchoolObject: ; 0x1d55d (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $2, $ff
+	db $7, $3, $2, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BRUNETTE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person
+	db SPRITE_LASS, $1 + 4, $4 + 4, $ff, $d0, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+ViridianHouse_h: ; 0x1d57d to 0x1d589 (12 bytes) (bank=7) (id=44)
+	db $08 ; tileset
+	db VIRIDIAN_HOUSE_HEIGHT, VIRIDIAN_HOUSE_WIDTH ; dimensions (y, x)
+	dw ViridianHouseBlocks, ViridianHouseTexts, ViridianHouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianHouseObject ; objects
+
+INCBIN "baserom.gbc",$1d589,$1d58a - $1d589
+
+ViridianHouseScript: ; 0x1d58a
+	jp $3c3c
+; 0x1d58d
+
+ViridianHouseTexts: ; 0x1d58d
+	dw ViridianHouseText1, ViridianHouseText2, ViridianHouseText3, ViridianHouseText4
+
+ViridianHouseText1: ; 0x1d595
+	TX_FAR _ViridianHouseText1
+	db $50
+
+ViridianHouseText2: ; 0x1d59a
+	TX_FAR _ViridianHouseText2
+	db $50
+
+ViridianHouseText3: ; 0x1d59f
+	db $08 ; asm
+	ld hl, UnnamedText_1d5b1
+	call PrintText
+	ld a, SPEAROW
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+
+UnnamedText_1d5b1: ; 0x1d5b1
+	TX_FAR _UnnamedText_1d5b1
+	db $50
+; 0x1d5b1 + 5 bytes
+
+ViridianHouseText4: ; 0x1d5b6
+	TX_FAR _ViridianHouseText4
+	db $50
+
+ViridianHouseObject: ; 0x1d5bb (size=44)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $3, $ff
+	db $7, $3, $3, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_BALDING_GUY, $3 + 4, $5 + 4, $ff, $ff, $1 ; person
+	db SPRITE_LITTLE_GIRL, $4 + 4, $1 + 4, $fe, $1, $2 ; person
+	db SPRITE_BIRD, $5 + 4, $5 + 4, $fe, $2, $3 ; person
+	db SPRITE_CLIPBOARD, $0 + 4, $4 + 4, $ff, $ff, $4 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+PewterHouse1_h: ; 0x1d5e7 to 0x1d5f3 (12 bytes) (bank=7) (id=55)
+	db $08 ; tileset
+	db PEWTER_HOUSE_1_HEIGHT, PEWTER_HOUSE_1_WIDTH ; dimensions (y, x)
+	dw PewterHouse1Blocks, PewterHouse1Texts, PewterHouse1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PewterHouse1Object ; objects
+
+PewterHouse1Script: ; 0x1d5f3
+	jp $3c3c
+; 0x1d5f6
+
+PewterHouse1Texts: ; 0x1d5f6
+	dw PewterHouse1Text1, PewterHouse1Text2, PewterHouse1Text3
+
+PewterHouse1Text1: ; 0x1d5fc
+	TX_FAR _PewterHouse1Text1
+	db $08 ; asm
+	ld a, $3
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+
+PewterHouse1Text2: ; 0x1d60c
+	TX_FAR _PewterHouse1Text2
+	db $50
+
+PewterHouse1Text3: ; 0x1d611
+	TX_FAR _PewterHouse1Text3
+	db $50
+
+PewterHouse1Object: ; 0x1d616 (size=38)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $3, $ff
+	db $7, $3, $3, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_SLOWBRO, $5 + 4, $4 + 4, $ff, $d2, $1 ; person
+	db SPRITE_YOUNG_BOY, $5 + 4, $3 + 4, $ff, $d3, $2 ; person
+	db SPRITE_FAT_BALD_GUY, $2 + 4, $1 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+PewterHouse2_h: ; 0x1d63c to 0x1d648 (12 bytes) (bank=7) (id=57)
+	db $08 ; tileset
+	db PEWTER_HOUSE_2_HEIGHT, PEWTER_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw PewterHouse2Blocks, PewterHouse2Texts, PewterHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PewterHouse2Object ; objects
+
+PewterHouse2Script: ; 0x1d648
+	jp $3c3c
+; 0x1d64b
+
+PewterHouse2Texts: ; 0x1d64b
+	dw PewterHouse2Text1, PewterHouse2Text2
+
+PewterHouse2Text1: ; 0x1d64f
+	TX_FAR _PewterHouse2Text1
+	db $50
+
+PewterHouse2Text2: ; 0x1d654
+	TX_FAR _PewterHouse2Text2
+	db $50
+
+PewterHouse2Object: ; 0x1d659 (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $5, $ff
+	db $7, $3, $5, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BUG_CATCHER, $5 + 4, $4 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+CeruleanHouseTrashed_h: ; 0x1d679 to 0x1d685 (12 bytes) (bank=7) (id=62)
+	db $08 ; tileset
+	db TRASHED_HOUSE_HEIGHT, TRASHED_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTexts, CeruleanHouseTrashedScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeruleanHouseTrashedObject ; objects
+
+CeruleanHouseTrashedScript: ; 0x1d685
+	call $3c3c
+	ret
+; 0x1d689
+
+CeruleanHouseTrashedTexts: ; 0x1d689
+	dw CeruleanHouseTrashedText1, CeruleanHouseTrashedText2, CeruleanHouseTrashedText3
+
+CeruleanHouseTrashedText1: ; 0x1d68f
+	db $08 ; asm
+	ld b, $e4
+	ld a, $1c
+	call Predef
+	and b
+	jr z, .asm_f8734 ; 0x1d698
+	ld hl, UnnamedText_1d6b0
+	call PrintText
+	jr .asm_8dfe9 ; 0x1d6a0
+.asm_f8734 ; 0x1d6a2
+	ld hl, UnnamedText_1d6ab
+	call PrintText
+.asm_8dfe9 ; 0x1d6a8
+	jp TextScriptEnd
+
+UnnamedText_1d6ab: ; 0x1d6ab
+	TX_FAR _UnnamedText_1d6ab
+	db $50
+; 0x1d6ab + 5 bytes
+
+UnnamedText_1d6b0: ; 0x1d6b0
+	TX_FAR _UnnamedText_1d6b0
+	db $50
+; 0x1d6b0 + 5 bytes
+
+CeruleanHouseTrashedText2: ; 0x1d6b5
+	TX_FAR _CeruleanHouseTrashedText2
+	db $50
+
+CeruleanHouseTrashedText3: ; 0x1d6ba
+	TX_FAR _CeruleanHouseTrashedText3
+	db $50
+
+CeruleanHouseTrashedObject: ; 0x1d6bf (size=43)
+	db $a ; border tile
+
+	db $3 ; warps
+	db $7, $2, $0, $ff
+	db $7, $3, $0, $ff
+	db $0, $3, $7, $ff
+
+	db $1 ; signs
+	db $0, $3, $3 ; CeruleanHouseTrashedText3
+
+	db $2 ; people
+	db SPRITE_FISHER, $1 + 4, $2 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GIRL, $6 + 4, $5 + 4, $fe, $2, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $0, $3
+
+CeruleanHouse2_h: ; 0x1d6ea to 0x1d6f6 (12 bytes) (bank=7) (id=63)
+	db $08 ; tileset
+	db CERULEAN_HOUSE_HEIGHT, CERULEAN_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeruleanHouse2Blocks, CeruleanHouse2Texts, CeruleanHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeruleanHouse2Object ; objects
+
+CeruleanHouse2Script: ; 0x1d6f6
+	jp $3c3c
+; 0x1d6f9
+
+CeruleanHouse2Texts: ; 0x1d6f9
+	dw CeruleanHouse2Text1, CeruleanHouse2Text2
+
+CeruleanHouse2Text1: ; 0x1d6fd
+	TX_FAR _CeruleanHouse2Text1
+	db $50
+
+CeruleanHouse2Text2: ; 0x1d702
+	db $08 ; asm
+	ld a, $6
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+	jp TextScriptEnd
+
+CeruleanHouse2Object: ; 0x1d710 (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $1, $ff
+	db $7, $3, $1, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_OLD_MEDIUM_WOMAN, $4 + 4, $5 + 4, $ff, $d2, $1 ; person
+	db SPRITE_GAMBLER, $2 + 4, $1 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+BikeShop_h: ; 0x1d730 to 0x1d73c (12 bytes) (bank=7) (id=66)
+	db $15 ; tileset
+	db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x)
+	dw BikeShopBlocks, BikeShopTexts, BikeShopScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw BikeShopObject ; objects
+
+BikeShopScript: ; 0x1d73c
+	jp $3c3c
+; 0x1d73f
+
+BikeShopTexts: ; 0x1d73f
+	dw BikeShopText1, BikeShopText2, BikeShopText3
+
+BikeShopText1: ; 0x1d745
+	db $08 ; asm
+	ld a, [$d75f]
+	bit 0, a
+	jr z, .asm_260d4 ; 0x1d74b
+	ld hl, UnnamedText_1d82f
+	call PrintText
+	jp $57f5
+.asm_260d4 ; 0x1d756
+	ld b, BIKE_VOUCHER
+	call $3493
+	jr z, .asm_41190 ; 0x1d75b
+	ld hl, UnnamedText_1d81f
+	call PrintText
+	ld bc, (BICYCLE << 8) | 1
+	call GiveItem
+	jr nc, .asm_d0d90 ; 0x1d769
+	ld a, $2d
+	ldh [$db], a
+	ld b, $5 ; BANK(MyFunction)
+	ld hl, $7f37 ; MyFunction
+	call Bankswitch
+	ld hl, $d75f
+	set 0, [hl]
+	ld hl, UnnamedText_1d824
+	call PrintText
+	jr .asm_99ef2 ; 0x1d782
+.asm_d0d90 ; 0x1d784
+	ld hl, UnnamedText_1d834
+	call PrintText
+	jr .asm_99ef2 ; 0x1d78a
+.asm_41190 ; 0x1d78c
+	ld hl, UnnamedText_1d810
+	call PrintText
+	xor a
+	ld [$cc26], a
+	ld [$cc2a], a
+	ld a, $3
+	ld [$cc29], a
+	ld a, $1
+	ld [$cc28], a
+	ld a, $2
+	ld [$cc24], a
+	ld a, $1
+	ld [$cc25], a
+	ld hl, $d730
+	set 6, [hl]
+	ld hl, $c3a0
+	ld b, $4
+	ld c, $f
+	call $1922
+	call $2429
+	ld hl, $c3ca
+	ld de, $57f8
+	call $1955
+	ld hl, $c3e4
+	ld de, $5807
+	call $1955
+	ld hl, UnnamedText_1d815
+	call PrintText
+	call $3abe
+	bit 1, a
+	jr nz, .asm_b7579 ; 0x1d7dc
+	ld hl, $d730
+	res 6, [hl]
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_b7579 ; 0x1d7e7
+	ld hl, UnnamedText_1d81a
+	call PrintText
+.asm_b7579 ; 0x1d7ef
+	ld hl, UnnamedText_1d82a
+	call PrintText
+.asm_99ef2 ; 0x1d7f5
+	jp TextScriptEnd
+
+INCBIN "baserom.gbc",$1d7f8,$1d810 - $1d7f8
+
+UnnamedText_1d810: ; 0x1d810
+	TX_FAR _UnnamedText_1d810
+	db $50
+; 0x1d810 + 5 bytes
+
+UnnamedText_1d815: ; 0x1d815
+	TX_FAR _UnnamedText_1d815
+	db $50
+; 0x1d815 + 5 bytes
+
+UnnamedText_1d81a: ; 0x1d81a
+	TX_FAR _UnnamedText_1d81a
+	db $50
+; 0x1d81a + 5 bytes
+
+UnnamedText_1d81f: ; 0x1d81f
+	TX_FAR _UnnamedText_1d81f
+	db $50
+; 0x1d81f + 5 bytes
+
+UnnamedText_1d824: ; 0x1d824
+	TX_FAR _UnnamedText_1d824 ; 0x98eb2
+	db $11, $50
+
+UnnamedText_1d82a: ; 0x1d82a
+	TX_FAR _UnnamedText_1d82a
+	db $50
+; 0x1d82a + 5 bytes
+
+UnnamedText_1d82f: ; 0x1d82f
+	TX_FAR _UnnamedText_1d82f
+	db $50
+; 0x1d82f + 5 bytes
+
+UnnamedText_1d834: ; 0x1d834
+	TX_FAR _UnnamedText_1d834
+	db $50
+; 0x1d834 + 5 bytes
+
+BikeShopText2: ; 0x1d839
+	db $08 ; asm
+	ld hl, UnnamedText_1d843
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_1d843: ; 0x1d843
+	TX_FAR _UnnamedText_1d843
+	db $50
+; 0x1d843 + 5 bytes
+
+BikeShopText3: ; 0x1d848
+	db $08 ; asm
+	ld a, [$d75f]
+	bit 0, a
+	ld hl, UnnamedText_1d861
+	jr nz, .asm_34d2d ; 0x1d851
+	ld hl, UnnamedText_1d85c
+.asm_34d2d ; 0x1d856
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_1d85c: ; 0x1d85c
+	TX_FAR _UnnamedText_1d85c
+	db $50
+; 0x1d85c + 5 bytes
+
+UnnamedText_1d861: ; 0x1d861
+	TX_FAR _UnnamedText_1d861
+	db $50
+; 0x1d861 + 5 bytes
+
+BikeShopObject: ; 0x1d866 (size=38)
+	db $e ; border tile
+
+	db $2 ; warps
+	db $7, $2, $4, $ff
+	db $7, $3, $4, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_BIKE_SHOP_GUY, $2 + 4, $6 + 4, $ff, $ff, $1 ; person
+	db SPRITE_MOM_GEISHA, $6 + 4, $5 + 4, $fe, $1, $2 ; person
+	db SPRITE_BUG_CATCHER, $3 + 4, $1 + 4, $ff, $d1, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+BikeShopBlocks: ; 0x1d88c 16
+	INCBIN "maps/bikeshop.blk"
+
+LavenderHouse1_h: ; 0x1d89c to 0x1d8a8 (12 bytes) (bank=7) (id=149)
+	db $08 ; tileset
+	db LAVENDER_HOUSE_1_HEIGHT, LAVENDER_HOUSE_1_WIDTH ; dimensions (y, x)
+	dw LavenderHouse1Blocks, LavenderHouse1Texts, LavenderHouse1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw LavenderHouse1Object ; objects
+
+LavenderHouse1Script: ; 0x1d8a8
+	call $3c3c
+	ret
+; 0x1d8ac
+
+LavenderHouse1Texts: ; 0x1d8ac
+	dw LavenderHouse1Text1, LavenderHouse1Text2, LavenderHouse1Text3, LavenderHouse1Text4, LavenderHouse1Text5, LavenderHouse1Text6
+
+LavenderHouse1Text1: ; 0x1d8b8
+	db $08 ; asm
+	ld a, [$d7e0]
+	bit 7, a
+	jr nz, .asm_72e5d ; 0x1d8be
+	ld hl, UnnamedText_1d8d1
+	call PrintText
+	jr .asm_6957f ; 0x1d8c6
+.asm_72e5d ; 0x1d8c8
+	ld hl, UnnamedText_1d8d6
+	call PrintText
+.asm_6957f ; 0x1d8ce
+	jp TextScriptEnd
+
+UnnamedText_1d8d1: ; 0x1d8d1
+	TX_FAR _UnnamedText_1d8d1
+	db $50
+; 0x1d8d1 + 5 bytes
+
+UnnamedText_1d8d6: ; 0x1d8d6
+	TX_FAR _UnnamedText_1d8d6
+	db $50
+; 0x1d8d6 + 5 bytes
+
+LavenderHouse1Text2: ; 0x1d8db
+	db $08 ; asm
+	ld a, [$d7e0]
+	bit 7, a
+	jr nz, .asm_06470 ; 0x1d8e1
+	ld hl, UnnamedText_1d8f4
+	call PrintText
+	jr .asm_3d208 ; 0x1d8e9
+.asm_06470 ; 0x1d8eb
+	ld hl, UnnamedText_1d8f9
+	call PrintText
+.asm_3d208 ; 0x1d8f1
+	jp TextScriptEnd
+
+UnnamedText_1d8f4: ; 0x1d8f4
+	TX_FAR _UnnamedText_1d8f4
+	db $50
+; 0x1d8f4 + 5 bytes
+
+UnnamedText_1d8f9: ; 0x1d8f9
+	TX_FAR _UnnamedText_1d8f9
+	db $50
+; 0x1d8f9 + 5 bytes
+
+LavenderHouse1Text3: ; 0x1d8fe
+	TX_FAR _LavenderHouse1Text3
+	db $8
+	ld a, $2f
+	call $13d0
+	jp TextScriptEnd
+
+LavenderHouse1Text4: ; 0x1d90b
+	TX_FAR _LavenderHouse1Text4
+	db $8
+	ld a, $a7
+	call $13d0
+	jp TextScriptEnd
+; 0x1d918
+
+LavenderHouse1Text5: ; 0x1d918
+	db $08 ; asm
+	ld a, [$d76c]
+	bit 0, a
+	jr nz, .asm_15ac2 ; 0x1d91e
+	ld hl, UnnamedText_1d94c
+	call PrintText
+	ld bc, (POKE_FLUTE << 8) | 1
+	call GiveItem
+	jr nc, .asm_5ce36 ; 0x1d92c
+	ld hl, UnnamedText_1d951
+	call PrintText
+	ld hl, $d76c
+	set 0, [hl]
+	jr .asm_da749 ; 0x1d939
+.asm_5ce36 ; 0x1d93b
+	ld hl, UnnamedText_1d95b
+	call PrintText
+	jr .asm_da749 ; 0x1d941
+.asm_15ac2 ; 0x1d943
+	ld hl, UnnamedText_1d960
+	call PrintText
+.asm_da749 ; 0x1d949
+	jp TextScriptEnd
+
+UnnamedText_1d94c: ; 0x1d94c
+	TX_FAR _UnnamedText_1d94c
+	db $50
+; 0x1d94c + 5 bytes
+
+UnnamedText_1d951: ; 0x1d951
+	TX_FAR _UnnamedText_1d951 ; 0x99ffb
+	db $11
+	TX_FAR _UnnamedText_1d956 ; 0x9a011
+	db $50
+; 0x1d95b
+
+UnnamedText_1d95b: ; 0x1d95b
+	TX_FAR _UnnamedText_1d95b
+	db $50
+; 0x1d95b + 5 bytes
+
+UnnamedText_1d960: ; 0x1d960
+	TX_FAR _UnnamedText_1d960
+	db $50
+; 0x1d960 + 5 bytes
+
+LavenderHouse1Text6: ; 0x1d965
+	TX_FAR _LavenderHouse1Text6
+	db $50
+
+LavenderHouse1Object: ; 0x1d96a (size=56)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $2, $ff
+	db $7, $3, $2, $ff
+
+	db $0 ; signs
+
+	db $6 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $ff, $1 ; person
+	db SPRITE_LITTLE_GIRL, $3 + 4, $6 + 4, $ff, $d0, $2 ; person
+	db SPRITE_SLOWBRO, $4 + 4, $6 + 4, $ff, $d1, $3 ; person
+	db SPRITE_SLOWBRO, $3 + 4, $1 + 4, $ff, $ff, $4 ; person
+	db SPRITE_MR_FUJI, $1 + 4, $3 + 4, $ff, $ff, $5 ; person
+	db SPRITE_BOOK_MAP_DEX, $3 + 4, $3 + 4, $ff, $ff, $6 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+LavenderHouse2_h: ; 0x1d9a2 to 0x1d9ae (12 bytes) (bank=7) (id=151)
+	db $08 ; tileset
+	db LAVENDER_HOUSE_2_HEIGHT, LAVENDER_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw LavenderHouse2Blocks, LavenderHouse2Texts, LavenderHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw LavenderHouse2Object ; objects
+
+LavenderHouse2Script: ; 0x1d9ae
+	call $3c3c
+	ret
+; 0x1d9b2
+
+LavenderHouse2Texts: ; 0x1d9b2
+	dw LavenderHouse2Text1, LavenderHouse2Text2
+
+LavenderHouse2Text1: ; 0x1d9b6
+	TX_FAR _LavenderHouse2Text1
+	db $8
+	ld a, $11
+	call $13d0
+	jp TextScriptEnd
+; 0x1d9c3
+
+LavenderHouse2Text2: ; 0x1d9c3
+	db $08 ; asm
+	ld a, [$d7e0]
+	bit 7, a
+	jr nz, .asm_65711 ; 0x1d9c9
+	ld hl, UnnamedText_1d9dc
+	call PrintText
+	jr .asm_64be1 ; 0x1d9d1
+.asm_65711 ; 0x1d9d3
+	ld hl, UnnamedText_1d9e1
+	call PrintText
+.asm_64be1 ; 0x1d9d9
+	jp TextScriptEnd
+
+UnnamedText_1d9dc: ; 0x1d9dc
+	TX_FAR _UnnamedText_1d9dc
+	db $50
+; 0x1d9dc + 5 bytes
+
+UnnamedText_1d9e1: ; 0x1d9e1
+	TX_FAR _UnnamedText_1d9e1
+	db $50
+; 0x1d9e1 + 5 bytes
+
+LavenderHouse2Object: ; 0x1d9e6 (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $4, $ff
+	db $7, $3, $4, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_SLOWBRO, $5 + 4, $3 + 4, $ff, $d1, $1 ; person
+	db SPRITE_BRUNETTE_GIRL, $4 + 4, $2 + 4, $ff, $d3, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229)
+	db $08 ; tileset
+	db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x)
+	dw NameRaterBlocks, $5a54, NameRaterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw NameRaterObject ; objects
+
+NameRaterScript: ; 0x1da12
+	jp $3c3c
+; 0x1da15
+
+INCBIN "baserom.gbc",$1da15,$41
+
+NameRaterText1: ; 0x1da56
+	db $8
+	call $36f4
+	ld hl, UnnamedText_1dab3
+	call $5a15
+	jr nz, .asm_1daae ; 0x1da60 $4c
+	ld hl, UnnamedText_1dab8
+	call PrintText
+	xor a
+	ld [$d07d], a
+	ld [$cfcb], a
+	ld [$cc35], a
+	call $13fc
+	push af
+	call $3dd4
+	call $3dbe
+	call $20ba
+	pop af
+	jr c, .asm_1daae ; 0x1da80 $2c
+	call $15b4
+	call $5a20
+	ld hl, UnnamedText_1dad1
+	jr c, .asm_1daa8 ; 0x1da8b $1b
+	ld hl, UnnamedText_1dabd
+	call $5a15
+	jr nz, .asm_1daae ; 0x1da93 $19
+	ld hl, UnnamedText_1dac2
+	call PrintText
+	ld b, $1
+	ld hl, $655c
+	call Bankswitch
+	jr c, .asm_1daae ; 0x1daa3 $9
+	ld hl, UnnamedText_1dac7
+.asm_1daa8
+	call PrintText
+	jp TextScriptEnd
+.asm_1daae
+	ld hl, UnnamedText_1dacc
+	jr .asm_1daa8 ; 0x1dab1 $f5
+; 0x1dab3
+
+UnnamedText_1dab3: ; 0x1dab3
+	TX_FAR _UnnamedText_1dab3
+	db $50
+; 0x1dab3 + 5 bytes
+
+UnnamedText_1dab8: ; 0x1dab8
+	TX_FAR _UnnamedText_1dab8
+	db $50
+; 0x1dab8 + 5 bytes
+
+UnnamedText_1dabd: ; 0x1dabd
+	TX_FAR _UnnamedText_1dabd
+	db $50
+; 0x1dabd + 5 bytes
+
+UnnamedText_1dac2: ; 0x1dac2
+	TX_FAR _UnnamedText_1dac2
+	db $50
+; 0x1dac2 + 5 bytes
+
+UnnamedText_1dac7: ; 0x1dac7
+	TX_FAR _UnnamedText_1dac7
+	db $50
+; 0x1dac7 + 5 bytes
+
+UnnamedText_1dacc: ; 0x1dacc
+	TX_FAR _UnnamedText_1dacc
+	db $50
+; 0x1dacc + 5 bytes
+
+UnnamedText_1dad1: ; 0x1dad1
+	TX_FAR _UnnamedText_1dad1
+	db $50
+; 0x1dad1 + 5 bytes
+
+NameRaterObject: ; 0x1dad6 (size=26)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $5, $ff
+	db $7, $3, $5, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_MR_MASTERBALL, $3 + 4, $5 + 4, $ff, $d2, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+VermilionHouse1_h: ; 0x1daf0 to 0x1dafc (12 bytes) (bank=7) (id=93)
+	db $08 ; tileset
+	db VERMILION_HOUSE_1_HEIGHT, VERMILION_HOUSE_1_WIDTH ; dimensions (y, x)
+	dw VermilionHouse1Blocks, VermilionHouse1Texts, VermilionHouse1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionHouse1Object ; objects
+
+VermilionHouse1Script: ; 0x1dafc
+	call $3c3c
+	ret
+; 0x1db00
+
+VermilionHouse1Texts: ; 0x1db00
+	dw VermilionHouse1Text1, VermilionHouse1Text2, VermilionHouse1Text3
+
+VermilionHouse1Text1: ; 0x1db06
+	TX_FAR _VermilionHouse1Text1
+	db $50
+
+VermilionHouse1Text2: ; 0x1db0b
+	TX_FAR _VermilionHouse1Text2
+	db $08 ; asm
+	ld a, $24
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+
+VermilionHouse1Text3: ; 0x1db1b
+	TX_FAR _VermilionHouse1Text3
+	db $50
+
+INCBIN "baserom.gbc", $1db1b + 5, $1db20 - ($1db1b + 5)
+
+VermilionHouse1Object: ; 0x1db20 (size=38)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $4, $ff
+	db $7, $3, $4, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_BUG_CATCHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person
+	db SPRITE_BIRD, $5 + 4, $3 + 4, $fe, $2, $2 ; person
+	db SPRITE_PAPER_SHEET, $3 + 4, $4 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+VermilionDock_h: ; 0x1db46 to 0x1db52 (12 bytes) (bank=7) (id=94)
+	db $0e ; tileset
+	db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x)
+	dw VermilionDockBlocks, VermilionDockTexts, VermilionDockScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionDockObject ; objects
+
+VermilionDockScript: ; 0x1db52
+	call $3c3c
+	ld hl, $d803
+	bit 4, [hl]
+	jr nz, .asm_1db8d ; 0x1db5a $31
+	bit 0, [hl]
+	ret z
+	ld a, [$d42f]
+	cp $1
+	ret nz
+	bit 2, [hl]
+	jp z, $5b9b
+	set 4, [hl]
+	call Delay3
+	ld hl, $d730
+	set 7, [hl]
+	ld hl, $ccd3
+	ld a, $40
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld a, $3
+	ld [$cd38], a
+	xor a
+	ld [$c206], a
+	ld [$cd3b], a
+	dec a
+	ld [$cd6b], a
+	ret
+.asm_1db8d
+	bit 5, [hl]
+	ret nz
+	ld a, [$cd38]
+	and a
+	ret nz
+	ld [$cd6b], a
+	set 5, [hl]
+	ret
+; 0x1db9b
+
+INCBIN "baserom.gbc",$1db9b,$1dcbf - $1db9b
+
+VermilionDockTexts: ; 0x1dcbf
+INCBIN "baserom.gbc",$1dcbf,$1dcc1 - $1dcbf
+
+UnnamedText_1dcc1: ; 0x1dcc1
+	TX_FAR _UnnamedText_1dcc1
+	db $50
+; 0x1dcc1 + 5 bytes
+
+VermilionDockObject: ; 0x1dcc6 (size=20)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $0, $e, $5, $ff
+	db $2, $e, $1, SS_ANNE_1
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $e, $0, $e
+	EVENT_DISP $e, $2, $e ; SS_ANNE_1
+
+VermilionDockBlocks: ; 0x1dcda 84
+	INCBIN "maps/vermiliondock.blk"
+
+CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132)
+	db $08 ; tileset
+	db CELADON_MANSION_5_HEIGHT, CELADON_MANSION_5_WIDTH ; dimensions (y, x)
+	dw CeladonMansion5Blocks, CeladonMansion5Texts, CeladonMansion5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMansion5Object ; objects
+
+CeladonMansion5Script: ; 0x1dd3a
+	jp $3c3c
+; 0x1dd3d
+
+CeladonMansion5Texts: ; 0x1dd3d
+	dw CeladonMansion5Text1, CeladonMansion5Text2
+
+CeladonMansion5Text1: ; 0x1dd41
+	TX_FAR _CeladonMansion5Text1
+	db $50
+
+CeladonMansion5Text2: ; 0x1dd46
+	db $08 ; asm
+	ld bc,(EEVEE << 8) | 25
+	call GivePokemon
+	jr nc, .asm_24365 ; 0x1dd4d
+	ld a, $45
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+.asm_24365 ; 0x1dd59
+	jp TextScriptEnd
+
+CeladonMansion5Object: ; 0x1dd5c (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $2, CELADON_MANSION_4
+	db $7, $3, $2, CELADON_MANSION_4
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_HIKER, $2 + 4, $2 + 4, $ff, $d0, $1 ; person
+	db SPRITE_BALL, $3 + 4, $4 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; CELADON_MANSION_4
+	EVENT_DISP $4, $7, $3 ; CELADON_MANSION_4
+
+FuchsiaMart_h: ; 0x1dd7c to 0x1dd88 (12 bytes) (bank=7) (id=152)
+	db $02 ; tileset
+	db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x)
+	dw FuchsiaMartBlocks, FuchsiaMartTexts, FuchsiaMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaMartObject ; objects
+
+FuchsiaMartScript: ; 0x1dd88
+	jp $3c3c
+; 0x1dd8b
+
+FuchsiaMartTexts: ; 0x1dd8b
+	dw FuchsiaMartText1, FuchsiaMartText2, FuchsiaMartText3
+
+FuchsiaMartText2: ; 0x1dd91
+	TX_FAR _FuchsiaMartText2
+	db $50
+
+FuchsiaMartText3: ; 0x1dd96
+	TX_FAR _FuchsiaMartText3
+	db $50
+
+FuchsiaMartObject: ; 0x1dd9b (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $0, $ff
+	db $7, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_FAT_BALD_GUY, $2 + 4, $4 + 4, $ff, $ff, $2 ; person
+	db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $1, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+FuchsiaMartBlocks: ; 0x1ddc1 16
+	INCBIN "maps/fuchsiamart.blk"
+
+SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179)
+	db $08 ; tileset
+	db SAFFRON_HOUSE_1_HEIGHT, SAFFRON_HOUSE_1_WIDTH ; dimensions (y, x)
+	dw SaffronHouse1Blocks, SaffronHouse1Texts, SaffronHouse1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SaffronHouse1Object ; objects
+
+SaffronHouse1Script: ; 0x1dddd
+	jp $3c3c
+; 0x1dde0
+
+SaffronHouse1Texts: ; 0x1dde0
+	dw SaffronHouse1Text1, SaffronHouse1Text2, SaffronHouse1Text3, SaffronHouse1Text4
+
+SaffronHouse1Text1: ; 0x1dde8
+	TX_FAR _SaffronHouse1Text1
+	db $50
+
+SaffronHouse1Text2: ; 0x1dded
+	TX_FAR _SaffronHouse1Text2
+	db $8
+	ld a, $24
+	call $13d0
+	jp TextScriptEnd
+; 0x1ddfa
+
+SaffronHouse1Text3: ; 0x1ddfa
+	TX_FAR _SaffronHouse1Text3
+	db $50
+
+SaffronHouse1Text4: ; 0x1ddff
+	TX_FAR _SaffronHouse1Text4
+	db $50
+
+SaffronHouse1Object: ; 0x1de04 (size=44)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $3, $ff
+	db $7, $3, $3, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BIRD, $4 + 4, $0 + 4, $fe, $1, $2 ; person
+	db SPRITE_BUG_CATCHER, $1 + 4, $4 + 4, $ff, $d0, $3 ; person
+	db SPRITE_PAPER_SHEET, $3 + 4, $3 + 4, $ff, $ff, $4 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+SaffronHouse2_h: ; 0x1de30 to 0x1de3c (12 bytes) (bank=7) (id=183)
+	db $08 ; tileset
+	db SAFFRON_HOUSE_2_HEIGHT, SAFFRON_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw SaffronHouse2Blocks, SaffronHouse2Texts, SaffronHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SaffronHouse2Object ; objects
+
+SaffronHouse2Script: ; 0x1de3c
+	jp $3c3c
+; 0x1de3f
+
+SaffronHouse2Texts: ; 0x1de3f
+	dw SaffronHouse2Text1
+
+SaffronHouse2Text1: ; 0x1de41
+	db $08 ; asm
+	ld a, [$d7bd]
+	bit 0, a
+	jr nz, .asm_9e72b ; 0x1de47
+	ld hl, UnnamedText_1de75
+	call PrintText
+	ld bc,(TM_29 << 8) | 1
+	call GiveItem
+	jr nc, .asm_4b1da ; 0x1de55
+	ld hl, UnnamedText_1de7a
+	call PrintText
+	ld hl, $d7bd
+	set 0, [hl]
+	jr .asm_fe4e1 ; 0x1de62
+.asm_4b1da ; 0x1de64
+	ld hl, UnnamedText_1de85
+	call PrintText
+	jr .asm_fe4e1 ; 0x1de6a
+.asm_9e72b ; 0x1de6c
+	ld hl, UnnamedText_1de80
+	call PrintText
+.asm_fe4e1 ; 0x1de72
+	jp TextScriptEnd
+
+UnnamedText_1de75: ; 0x1de75
+	TX_FAR _UnnamedText_1de75
+	db $50
+; 0x1de75 + 5 bytes
+
+UnnamedText_1de7a: ; 0x1de7a
+	TX_FAR _UnnamedText_1de7a ; 0xa252a
+	db $0B, $50
+; 0x1de80
+
+UnnamedText_1de80: ; 0x1de80
+	TX_FAR _UnnamedText_1de80
+	db $50
+; 0x1de80 + 5 bytes
+
+UnnamedText_1de85: ; 0x1de85
+	TX_FAR _UnnamedText_1de85
+	db $50
+; 0x1de85 + 5 bytes
+
+SaffronHouse2Object: ; 0x1de8a (size=26)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $7, $ff
+	db $7, $3, $7, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d2, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46)
+	db $11 ; tileset
+	db DIGLETTS_CAVE_EXIT_HEIGHT, DIGLETTS_CAVE_EXIT_WIDTH ; dimensions (y, x)
+	dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2Texts, DiglettsCaveRoute2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw DiglettsCaveRoute2Object ; objects
+
+DiglettsCaveRoute2Script: ; 0x1deb0
+	ld a, $d
+	ld [$d365], a
+	jp $3c3c
+; 0x1deb8
+
+DiglettsCaveRoute2Texts: ; 0x1deb8
+	dw DiglettsCaveRoute2Text1
+
+DiglettsCaveRoute2Text1: ; 0x1deba
+	TX_FAR _DiglettsCaveRoute2Text1
+	db $50
+
+DiglettsCaveRoute2Object: ; 0x1debf (size=34)
+	db $7d ; border tile
+
+	db $3 ; warps
+	db $7, $2, $0, $ff
+	db $7, $3, $0, $ff
+	db $4, $4, $0, DIGLETTS_CAVE
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE
+
+Route2House_h: ; 0x1dee1 to 0x1deed (12 bytes) (bank=7) (id=48)
+	db $08 ; tileset
+	db ROUTE_2_HOUSE_HEIGHT, ROUTE_2_HOUSE_WIDTH ; dimensions (y, x)
+	dw Route2HouseBlocks, Route2HouseTexts, Route2HouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route2HouseObject ; objects
+
+Route2HouseScript: ; 0x1deed
+	jp $3c3c
+; 0x1def0
+
+Route2HouseTexts: ; 0x1def0
+	dw Route2HouseText1, Route2HouseText2
+
+Route2HouseText1: ; 0x1def4
+	TX_FAR _Route2HouseText1
+	db $50
+
+Route2HouseText2: ; 0x1def9
+	db $08 ; asm
+	ld a, $1
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+	jp TextScriptEnd
+
+Route2HouseObject: ; 0x1df07 (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $2, $ff
+	db $7, $3, $2, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_OAK_AIDE, $4 + 4, $2 + 4, $ff, $d3, $1 ; person
+	db SPRITE_GAMEBOY_KID_COPY, $1 + 4, $4 + 4, $ff, $d0, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+Route5Gate_h: ; 0x1df27 to 0x1df33 (12 bytes) (bank=7) (id=70)
+	db $0c ; tileset
+	db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x)
+	dw Route5GateBlocks, Route5GateTexts, Route5GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route5GateObject ; objects
+
+Route5GateScript: ; 0x1df33
+	call $3c3c
+	ld a, [$d662]
+	ld hl, Route5GateScripts
+	jp $3d97
+; 0x1df3f
+
+Route5GateScripts: ; 0x1df3f
+	dw Route5GateScript0
+
+INCBIN "baserom.gbc",$1df41,$f
+
+Route5GateScript0: ; 0x1df50
+	ld a, [$d728]
+	bit 6, a
+	ret nz
+	ld hl, $5f8f
+	call $34bf
+	ret nc
+	ld a, $2
+	ld [$d528], a
+	xor a
+	ld [$ff00+$b4], a
+	ld b, $16
+	ld hl, $659f
+	call Bankswitch
+	ld a, [$ff00+$db]
+	and a
+	jr nz, .asm_1df82 ; 0x1df70 $10
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $2920
+	call $5f43
+	ld a, $1
+	ld [$d662], a
+	ret
+.asm_1df82
+	ld a, $3
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d728
+	set 6, [hl]
+	ret
+; 0x1df8f
+
+INCBIN "baserom.gbc",$1df8f,$15
+
+Route5GateTexts: ; 0x1dfa4
+	dw Route5GateText1, Route5GateText2, Route5GateText3
+
+Route8GateText1:
+Route7GateText1:
+Route6GateText1:
+Route5GateText1: ; 0x1dfaa
+	db $8
+	ld a, [$d728]
+	bit 6, a
+	jr nz, .asm_88856 ; 0x1dfb0 $2c
+	ld b, $16
+	ld hl, $659f
+	call Bankswitch
+	ld a, [$ff00+$db]
+	and a
+	jr nz, .asm_768a2 ; 0x1dfbd $11
+	ld hl, UnnamedText_1dfe7
+	call PrintText
+	call $5f43
+	ld a, $1
+	ld [$d662], a
+	jp TextScriptEnd
+.asm_768a2 ; 0x1dfd0
+	ld hl, UnnamedText_1dfec
+	call PrintText
+	ld hl, $d728
+	set 6, [hl]
+	jp TextScriptEnd
+.asm_88856 ; 0x1dfde
+	ld hl, UnnamedText_1dff6
+	call PrintText
+	jp TextScriptEnd
+; 0x1dfe7
+
+Route8GateText2:
+Route7GateText2:
+Route6GateText2:
+Route5GateText2: ; 0x1dfe7
+UnnamedText_1dfe7: ; 0x1dfe7
+	TX_FAR _UnnamedText_1dfe7
+	db $50
+; 0x1dfe7 + 5 bytes
+
+Route8GateText3:
+Route7GateText3:
+Route6GateText3:
+Route5GateText3: ; 0x1dfec
+UnnamedText_1dfec: ; 0x1dfec
+	TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9
+	db $11
+	TX_FAR _UnnamedText_1dff1 ; 0x8aaef
+	db $50
+; 0x1dff6
+
+UnnamedText_1dff6: ; 0x1dff6
+	TX_FAR _UnnamedText_1dff6
+	db $50
+; 0x1dff6 + 5 bytes
+
+Route5GateObject: ; 0x1dffb (size=42)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $5, $3, $2, $ff
+	db $5, $4, $2, $ff
+	db $0, $3, $1, $ff
+	db $0, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $d3, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $5, $3
+	EVENT_DISP $4, $5, $4
+	EVENT_DISP $4, $0, $3
+	EVENT_DISP $4, $0, $4
+
+Route5GateBlocks: ; 0x1e025 12
+	INCBIN "maps/route5gate.blk"
+
+Route6Gate_h: ; 0x1e031 to 0x1e03d (12 bytes) (bank=7) (id=73)
+	db $0c ; tileset
+	db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x)
+	dw Route6GateBlocks, Route6GateTexts, Route6GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route6GateObject ; objects
+
+Route6GateScript: ; 0x1e03d
+	call $3c3c
+	ld hl, Route6GateScripts
+	ld a, [$d636]
+	call $3d97
+	ret
+; 0x1e04a
+
+Route6GateScripts: ; 0x1e04a
+	dw Route6GateScript0
+
+INCBIN "baserom.gbc",$1e04c,$2
+
+Route6GateScript0: ; 0x1e04e
+	ld a, [$d728]
+	bit 6, a
+	ret nz
+	ld hl, $608c
+	call $34bf
+	ret nc
+	ld a, $1
+	ld [$d528], a
+	xor a
+	ld [$ff00+$b4], a
+	ld b, $16
+	ld hl, $659f
+	call Bankswitch
+	ld a, [$ff00+$db]
+	and a
+	jr nz, .asm_1e080 ; 0x1e06e $10
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $2920
+	call $60a1
+	ld a, $1
+	ld [$d636], a
+	ret
+.asm_1e080
+	ld hl, $d728
+	set 6, [hl]
+	ld a, $3
+	ld [$ff00+$8c], a
+	jp $2920
+; 0x1e08c
+
+INCBIN "baserom.gbc",$1e08c,$2c
+
+Route6GateTexts: ; 0x1e0b8
+	dw Route6GateText1, Route6GateText2, Route6GateText3
+
+Route6GateObject: ; 0x1e0be (size=42)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $5, $3, $2, $ff
+	db $5, $4, $2, $ff
+	db $0, $3, $1, $ff
+	db $0, $4, $1, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $5, $3
+	EVENT_DISP $4, $5, $4
+	EVENT_DISP $4, $0, $3
+	EVENT_DISP $4, $0, $4
+
+Route6GateBlocks: ; 0x1e0e8 12
+	INCBIN "maps/route6gate.blk"
+
+Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76)
+	db $0c ; tileset
+	db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x)
+	dw Route7GateBlocks, Route7GateTexts, Route7GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route7GateObject ; objects
+
+Route7GateScript: ; 0x1e100
+	call $3c3c
+	ld a, [$d663]
+	ld hl, Route7GateScripts
+	call $3d97
+	ret
+; 0x1e10d
+
+Route7GateScripts: ; 0x1e10d
+	dw Route7GateScript0
+
+INCBIN "baserom.gbc",$1e10f,$19
+
+Route7GateScript0: ; 0x1e128
+	ld a, [$d728]
+	bit 6, a
+	ret nz
+	ld hl, $6167
+	call $34bf
+	ret nc
+	ld a, $8
+	ld [$d528], a
+	xor a
+	ld [$ff00+$b4], a
+	ld b, $16
+	ld hl, $659f
+	call Bankswitch
+	ld a, [$ff00+$db]
+	and a
+	jr nz, .asm_1e15a ; 0x1e148 $10
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $2920
+	call $6111
+	ld a, $1
+	ld [$d663], a
+	ret
+.asm_1e15a
+	ld a, $3
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d728
+	set 6, [hl]
+	ret
+; 0x1e167
+
+INCBIN "baserom.gbc",$1e167,$18
+
+Route7GateTexts: ; 0x1e17f
+	dw Route7GateText1, Route7GateText2, Route7GateText3
+
+Route7GateObject: ; 0x1e185 (size=42)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $3, $0, $3, $ff
+	db $4, $0, $3, $ff
+	db $3, $5, $0, $ff
+	db $4, $5, $1, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $3, $3, $0
+	EVENT_DISP $3, $4, $0
+	EVENT_DISP $3, $3, $5
+	EVENT_DISP $3, $4, $5
+
+Route7GateBlocks: ; 0x1e1af 12
+	INCBIN "maps/route7gate.blk"
+
+Route8Gate_h: ; 0x1e1bb to 0x1e1c7 (12 bytes) (bank=7) (id=79)
+	db $0c ; tileset
+	db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x)
+	dw Route8GateBlocks, Route8GateTexts, Route8GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route8GateObject ; objects
+
+Route8GateScript: ; 0x1e1c7
+	call $3c3c
+	ld hl, Route8GateScripts
+	ld a, [$d637]
+	jp $3d97
+; 0x1e1d3
+
+Route8GateScripts: ; 0x1e1d3
+	dw Route8GateScript0
+
+INCBIN "baserom.gbc",$1e1d5,$19
+
+Route8GateScript0: ; 0x1e1ee
+	ld a, [$d728]
+	bit 6, a
+	ret nz
+	ld hl, $622c
+	call $34bf
+	ret nc
+	ld a, $2
+	ld [$d528], a
+	xor a
+	ld [$ff00+$b4], a
+	ld b, $16
+	ld hl, $659f
+	call Bankswitch
+	ld a, [$ff00+$db]
+	and a
+	jr nz, .asm_1e220 ; 0x1e20e $10
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $2920
+	call $61d7
+	ld a, $1
+	ld [$d637], a
+	ret
+.asm_1e220
+	ld hl, $d728
+	set 6, [hl]
+	ld a, $3
+	ld [$ff00+$8c], a
+	jp $2920
+; 0x1e22c
+
+INCBIN "baserom.gbc",$1e22c,$15
+
+Route8GateTexts: ; 0x1e241
+	dw Route8GateText1, Route8GateText2, Route8GateText3
+
+Route8GateObject: ; 0x1e247 (size=42)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $3, $0, $0, $ff
+	db $4, $0, $1, $ff
+	db $3, $5, $2, $ff
+	db $4, $5, $3, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $1 + 4, $2 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $3, $3, $0
+	EVENT_DISP $3, $4, $0
+	EVENT_DISP $3, $3, $5
+	EVENT_DISP $3, $4, $5
+
+Route8GateBlocks: ; 0x1e271 12
+	INCBIN "maps/route8gate.blk"
+
+UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80)
+	db $0c ; tileset
+	db PATH_ENTRANCE_ROUTE_8_HEIGHT, PATH_ENTRANCE_ROUTE_8_WIDTH ; dimensions (y, x)
+	dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8Texts, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UndergroundPathEntranceRoute8Object ; objects
+
+UndergroundPathEntranceRoute8Script: ; 0x1e289
+	ld a, $13
+	ld [$d365], a
+	jp $3c3c
+; 0x1e291
+
+UndergroundPathEntranceRoute8Texts: ; 0x1e291
+	dw UndergroundPathEntranceRoute8Text1
+
+;XXX wtf? syntax error
+UndergroundPathEntranceRoute8Text1: ; 0x1e293
+	db $17, $8d, $42, $23
+	;TX_FAR _UndergroundPathEntranceRoute8Text1
+	db $50
+
+UndergroundPathEntranceRoute8Object: ; 0x1e298 (size=34)
+	db $a ; border tile
+
+	db $3 ; warps
+	db $7, $3, $4, $ff
+	db $7, $4, $4, $ff
+	db $4, $4, $1, UNDERGROUND_PATH_WE
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GIRL, $4 + 4, $3 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE
+
+PowerPlant_h: ; 0x1e2ba to 0x1e2c6 (12 bytes) (bank=7) (id=83)
+	db $16 ; tileset
+	db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x)
+	dw PowerPlantBlocks, PowerPlantTexts, PowerPlantScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PowerPlantObject ; objects
+
+PowerPlantScript: ; 0x1e2c6
+	call $3c3c
+	ld hl, $62fb
+	ld de, PowerPlantScript_Unknown1e2d9
+	ld a, [$d663]
+	call $3160
+	ld [$d663], a
+	ret
+; 0x1e2d9
+
+PowerPlantScript_Unknown1e2d9: ; 0x1e2d9
+INCBIN "baserom.gbc",$1e2d9,$6
+
+PowerPlantTexts: ; 0x1e2df
+	dw PowerPlantText1, PowerPlantText2, PowerPlantText3, PowerPlantText4, PowerPlantText5, PowerPlantText6, PowerPlantText7, PowerPlantText8, PowerPlantText9, PowerPlantText10, PowerPlantText11, PowerPlantText12, PowerPlantText13, PowerPlantText14
+
+INCBIN "baserom.gbc",$1e2fb,$6d
+
+asm_234cc:
+	call $31cc
+	ld a, [$da39]
+	ld [$d663], a
+	jp TextScriptEnd
+; 0x1e374
+
+PowerPlantText1: ; 0x1e374
+	db $8 ; asm
+	ld hl, $62fb
+	jr asm_234cc ; 0x1e378 $ee
+
+PowerPlantText2: ; 0x1e37a
+	db $8 ; asm
+	ld hl, $6307
+	jr asm_234cc ; 0x1e37e $e8
+
+PowerPlantText3: ; 0x1e380
+	db $8 ; asm
+	ld hl, $6313
+	jr asm_234cc ; 0x1e384 $e2
+
+PowerPlantText4: ; 0x1e386
+	db $8 ; asm
+	ld hl, $631f
+	jr asm_234cc ; 0x1e38a $dc
+
+PowerPlantText5:
+	db $8 ; asm
+	ld hl, $632b
+	jr asm_234cc ; 0x1e390 $d6
+
+PowerPlantText6: ; 0x1e392
+	db $8 ; asm
+	ld hl, $6337
+	jr asm_234cc ; 0x1e396 $d0
+
+PowerPlantText7: ; 0x1e398
+	db $8 ; asm
+	ld hl, $6343
+	jr asm_234cc ; 0x1e39c $ca
+
+PowerPlantText8: ; 0x1e39e
+	db $8 ; asm
+	ld hl, $634f
+	jr asm_234cc ; 0x1e3a2 $c4
+
+PowerPlantText9: ; 0x1e3a4
+	db $8 ; asm
+	ld hl, $635b
+	jr asm_234cc ; 0x1e3a8 $be
+; 0x1e3aa
+
+UnnamedText_1e3aa: ; 0x1e3aa
+	TX_FAR _UnnamedText_1e3aa ; 0x8c5e2
+	db $50
+; 0x1e3af
+
+UnnamedText_1e3af: ; 0x1e3af
+	TX_FAR _UnnamedText_1e3af ; 0x8c5ea
+	db $8
+	ld a, $4b
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+; 0x1e3bf
+
+PowerPlantObject: ; 0x1e3bf (size=135)
+	db $2e ; border tile
+
+	db $3 ; warps
+	db $23, $4, $3, $ff
+	db $23, $5, $3, $ff
+	db $b, $0, $3, $ff
+
+	db $0 ; signs
+
+	db $e ; people
+	db SPRITE_BALL, $14 + 4, $9 + 4, $ff, $ff, $41, VOLTORB, $28 ; trainer
+	db SPRITE_BALL, $12 + 4, $20 + 4, $ff, $ff, $42, VOLTORB, $28 ; trainer
+	db SPRITE_BALL, $19 + 4, $15 + 4, $ff, $ff, $43, VOLTORB, $28 ; trainer
+	db SPRITE_BALL, $12 + 4, $19 + 4, $ff, $ff, $44, ELECTRODE, $2b ; trainer
+	db SPRITE_BALL, $22 + 4, $17 + 4, $ff, $ff, $45, VOLTORB, $28 ; trainer
+	db SPRITE_BALL, $1c + 4, $1a + 4, $ff, $ff, $46, VOLTORB, $28 ; trainer
+	db SPRITE_BALL, $e + 4, $15 + 4, $ff, $ff, $47, ELECTRODE, $2b ; trainer
+	db SPRITE_BALL, $20 + 4, $25 + 4, $ff, $ff, $48, VOLTORB, $28 ; trainer
+	db SPRITE_BIRD, $9 + 4, $4 + 4, $ff, $d1, $49, ZAPDOS, $32 ; trainer
+	db SPRITE_BALL, $19 + 4, $7 + 4, $ff, $ff, $8a, CARBOS ; item
+	db SPRITE_BALL, $3 + 4, $1c + 4, $ff, $ff, $8b, HP_UP ; item
+	db SPRITE_BALL, $3 + 4, $22 + 4, $ff, $ff, $8c, RARE_CANDY ; item
+	db SPRITE_BALL, $20 + 4, $1a + 4, $ff, $ff, $8d, TM_25 ; item
+	db SPRITE_BALL, $20 + 4, $14 + 4, $ff, $ff, $8e, TM_33 ; item
+
+	; warp-to
+	EVENT_DISP $14, $23, $4
+	EVENT_DISP $14, $23, $5
+	EVENT_DISP $14, $b, $0
+
+PowerPlantBlocks: ; 0x1e446 360
+	INCBIN "maps/powerplant.blk"
+
+DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85)
+	db $11 ; tileset
+	db DIGLETTS_CAVE_ENTRANCE_HEIGHT, DIGLETTS_CAVE_ENTRANCE_WIDTH ; dimensions (y, x)
+	dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11Texts, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw DiglettsCaveEntranceRoute11Object ; objects
+
+DiglettsCaveEntranceRoute11Script: ; 0x1e5ba
+	call $3c3c
+	ld a, $16
+	ld [$d365], a
+	ret
+; 0x1e5c3
+
+DiglettsCaveEntranceRoute11Texts: ; 0x1e5c3
+	dw DiglettsCaveEntranceRoute11Text1
+
+; XXX wtf? syntax error
+DiglettsCaveEntranceRoute11Text1: ; 0x1e5c5
+	db $17, $f9, $47, $23
+	;TX_FAR _DiglettsCaveEntranceRoute11Text1
+	db $50
+
+DiglettsCaveEntranceRoute11Object: ; 0x1e5ca (size=34)
+	db $7d ; border tile
+
+	db $3 ; warps
+	db $7, $2, $4, $ff
+	db $7, $3, $4, $ff
+	db $4, $4, $1, DIGLETTS_CAVE
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GAMBLER, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $4, $4 ; DIGLETTS_CAVE
+
+Route16House_h: ; 0x1e5ec to 0x1e5f8 (12 bytes) (bank=7) (id=188)
+	db $08 ; tileset
+	db ROUTE_16_HOUSE_HEIGHT, ROUTE_16_HOUSE_WIDTH ; dimensions (y, x)
+	dw Route16HouseBlocks, Route16HouseTexts, Route16HouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route16HouseObject ; objects
+
+Route16HouseScript: ; 0x1e5f8
+	jp $3c3c
+; 0x1e5fb
+
+Route16HouseTexts: ; 0x1e5fb
+	dw Route16HouseText1, Route16HouseText2
+
+Route16HouseText1: ; 0x1e5ff
+	db $08 ; asm
+	ld a, [$d7e0]
+	bit 6, a
+	ld hl, HM02ExplanationText
+	jr nz, .asm_13616 ; 0x1e608
+	ld hl, Route16HouseText3
+	call PrintText
+	ld bc, (HM_02 << 8) | 1
+	call GiveItem
+	jr nc, .asm_d3ee3 ; 0x1e616
+	ld hl, $d7e0
+	set 6, [hl]
+	ld hl, ReceivedHM02Text
+	jr .asm_13616 ; 0x1e620
+.asm_d3ee3 ; 0x1e622
+	ld hl, HM02NoRoomText
+.asm_13616 ; 0x1e625
+	call PrintText
+	jp TextScriptEnd
+
+Route16HouseText3: ; 0x1e62b
+	TX_FAR _Route16HouseText3
+	db $50
+; 0x1e62b + 5 bytes
+
+ReceivedHM02Text: ; 0x1e630
+	TX_FAR _ReceivedHM02Text ; 0x8ce66
+	db $11, $50
+
+HM02ExplanationText: ; 0x1e636
+	TX_FAR _HM02ExplanationText
+	db $50
+; 0x1e636 + 5 bytes
+
+HM02NoRoomText: ; 0x1e63b
+	TX_FAR _HM02NoRoomText
+	db $50
+; 0x1e63b + 5 bytes
+
+Route16HouseText2: ; 0x1e640
+	db $08 ; asm
+	ld hl, UnnamedText_1e652
+	call PrintText
+	ld a, FEAROW
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+
+UnnamedText_1e652: ; 0x1e652
+	TX_FAR _UnnamedText_1e652
+	db $50
+; 0x1e652 + 5 bytes
+
+Route16HouseObject: ; 0x1e657 (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $8, $ff
+	db $7, $3, $8, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BRUNETTE_GIRL, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BIRD, $4 + 4, $6 + 4, $fe, $0, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+Route22Gate_h: ; 0x1e677 to 0x1e683 (12 bytes) (bank=7) (id=193)
+	db $0c ; tileset
+	db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x)
+	dw Route22GateBlocks, Route22GateTexts, Route22GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route22GateObject ; objects
+
+Route22GateScript: ; 0x1e683
+	call $3c3c
+	ld hl, Route22GateScripts
+	ld a, [$d60e]
+	call $3d97
+	ld a, [$d361]
+	cp $4
+	ld a, $22
+	jr c, .asm_1e69a ; 0x1e696 $2
+	ld a, $21
+.asm_1e69a
+	ld [$d365], a
+	ret
+; 0x1e69e
+
+Route22GateScripts: ; 0x1e69e
+	dw Route22GateScript0, Route22GateScript1
+
+INCBIN "baserom.gbc",$1e6a2,$2
+
+Route22GateScript0: ; 0x1e6a4
+	ld hl, $66b5
+	call $34bf
+	ret nc
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	jp $2920
+; 0x1e6b5
+
+INCBIN "baserom.gbc",$1e6b5,$1e6cd - $1e6b5
+
+Route22GateScript1: ; 0x1e6cd
+	ld a, [$cd38]
+	and a
+	ret nz
+	xor a
+	ld [$cd6b], a
+	call Delay3
+	ld a, $0
+	ld [$d60e], a
+	ret
+; 0x1e6df
+
+Route22GateTexts: ; 0x1e6df
+	dw Route22GateText1
+
+Route22GateText1: ; 0x1e6e1
+	db $8
+	ld a, [$d356]
+	bit 0, a
+	jr nz, .asm_8a809 ; 0x1e6e7 $d
+	ld hl, UnnamedText_1e704
+	call PrintText
+	call $66ba
+	ld a, $1
+	jr .asm_20f7e ; 0x1e6f4 $8
+.asm_8a809 ; 0x1e6f6
+	ld hl, UnnamedText_1e71a
+	call PrintText
+	ld a, $2
+.asm_20f7e ; 0x1e6fe
+	ld [$d60e], a
+	jp TextScriptEnd
+; 0x1e704
+
+UnnamedText_1e704: ; 0x1e704
+	TX_FAR _UnnamedText_1e704 ; 0x8cfbb
+	db $8
+	ld a, $a5
+	call $3740
+	call $3748
+	ld hl, $6715
+	ret
+; 0x1e715
+
+UnnamedText_1e715: ; 0x1e715
+	TX_FAR _UnnamedText_1e715
+	db $50
+; 0x1e71a
+
+UnnamedText_1e71a: ; 0x1e71a
+	TX_FAR _UnnamedText_1e71a ; 0x8d03e
+	db $0B, $50
+; 0x1e720
+
+Route22GateObject: ; 0x1e720 (size=42)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $7, $4, $0, $ff
+	db $7, $5, $0, $ff
+	db $0, $4, $0, $ff
+	db $0, $5, $1, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $2 + 4, $6 + 4, $ff, $d2, $1 ; person
+
+	; warp-to
+	EVENT_DISP $5, $7, $4
+	EVENT_DISP $5, $7, $5
+	EVENT_DISP $5, $0, $4
+	EVENT_DISP $5, $0, $5
+
+Route22GateBlocks: ; 0x1e74a 20
+	INCBIN "maps/route22gate.blk"
+
+BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88)
+	db $10 ; tileset
+	db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x)
+	dw BillsHouseBlocks, BillsHouseTexts, BillsHouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw BillsHouseObject ; objects
+
+BillsHouseScript: ; 0x1e76a
+	call $3c3c
+	ld a, [$d661]
+	ld hl, BillsHouseScripts
+	jp $3d97
+; 0x1e776
+
+BillsHouseScripts: ; 0x1e776
+	dw BillsHouseScript0
+
+INCBIN "baserom.gbc",$1e778,$a
+
+BillsHouseScript0: ; 0x1e782
+	ret
+; 0x1e783
+
+INCBIN "baserom.gbc",$1e783,$b1
+
+BillsHouseTexts: ; 0x1e834
+	dw BillsHouseText1, BillsHouseText2, BillsHouseText3, BillsHouseText4
+
+BillsHouseText4: ; 0x1e83c
+	db $fd
+
+BillsHouseText1: ; 0x1e83d
+	db $8
+	ld hl, UnnamedText_1e865
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, asm_6b196 ; 0x1e84b $d
+asm_4d03c:
+	ld hl, UnnamedText_1e86a
+	call PrintText
+	ld a, $1
+	ld [$d661], a
+	jr asm_fd4e2 ; 0x1e858 $8
+asm_6b196: ; 0x1e85a
+	ld hl, UnnamedText_1e86f
+	call PrintText
+	jr asm_4d03c ; 0x1e860 $eb
+asm_fd4e2 ; 0x1e862
+	jp TextScriptEnd
+
+UnnamedText_1e865: ; 0x1e865
+	TX_FAR _UnnamedText_1e865 ; 0x8d267
+	db $50
+; 0x1e86a
+
+UnnamedText_1e86a: ; 0x1e86a
+	TX_FAR _UnnamedText_1e86a ; 0x8d345
+	db $50
+; 0x1e86f
+
+UnnamedText_1e86f: ; 0x1e86f
+	TX_FAR _UnnamedText_1e86f ; 0x8d391
+	db $50
+; 0x1e874
+
+BillsHouseText2: ; 0x1e874
+	db $08 ; asm
+	ld a, [$d7f2]
+	bit 4, a
+	jr nz, .asm_5491f ; 0x1e87a
+	ld hl, BillThankYouText
+	call PrintText
+	ld bc, (S_S__TICKET << 8) | 1
+	call GiveItem
+	jr nc, .asm_18a67 ; 0x1e888
+	ld hl, SSTicketReceivedText
+	call PrintText
+	ld hl, $d7f2
+	set 4, [hl]
+	ld a, $7
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld a, $9
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+.asm_5491f ; 0x1e8a9
+	ld hl, UnnamedText_1e8cb
+	call PrintText
+	jr .asm_bd408 ; 0x1e8af
+.asm_18a67 ; 0x1e8b1
+	ld hl, SSTicketNoRoomText
+	call PrintText
+.asm_bd408 ; 0x1e8b7
+	jp TextScriptEnd
+
+BillThankYouText: ; 0x1e8ba
+	TX_FAR _BillThankYouText
+	db $50
+; 0x1e8ba + 5 bytes
+
+SSTicketReceivedText: ; 0x1e8bf
+	TX_FAR _SSTicketReceivedText ; 0x8d499
+	db $11, $6, $50
+
+SSTicketNoRoomText: ; 0x1e8c6
+	TX_FAR _SSTicketNoRoomText
+	db $50
+; 0x1e8c6 + 5 bytes
+
+UnnamedText_1e8cb: ; 0x1e8cb
+	TX_FAR _UnnamedText_1e8cb
+	db $50
+; 0x1e8cb + 5 bytes
+
+BillsHouseText3: ; 0x1e8d0
+	db $08 ; asm
+	ld hl, UnnamedText_1e8da
+	call PrintText
+	jp TextScriptEnd
+; 0x1e8da
+
+UnnamedText_1e8da: ; 0x1e8da
+	TX_FAR _UnnamedText_1e8da
+	db $50
+; 0x1e8da + 5 bytes
+
+BillsHouseObject: ; 0x1e8df (size=38)
+	db $d ; border tile
+
+	db $2 ; warps
+	db $7, $2, $0, $ff
+	db $7, $3, $0, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_SLOWBRO, $5 + 4, $6 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $4 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $6 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+BillsHouseBlocks: ; 0x1e905
+	INCBIN "maps/billshouse.blk"
+
+INCBIN "baserom.gbc",$1e915,$1e93b - $1e915
+
+UnnamedText_1e93b: ; 0x1e93b
+	TX_FAR _UnnamedText_1e93b
+	db $50
+; 0x1e93b + 5 bytes
+
+INCBIN "baserom.gbc",$1e940,$1e946 - $1e940
+
+UnnamedText_1e946: ; 0x1e946
+	TX_FAR _UnnamedText_1e946
+	db $50
+; 0x1e946 + 5 bytes
+
+INCBIN "baserom.gbc",$1e94b,$1e953 - $1e94b
+
+UnnamedText_1e953: ; 0x1e953
+	TX_FAR _UnnamedText_1e953
+	db $50
+; 0x1e953 + 5 bytes
+
+INCBIN "baserom.gbc",$1e958,$1e960 - $1e958
+
+UnnamedText_1e960: ; 0x1e960
+	TX_FAR _UnnamedText_1e960
+	db $50
+; 0x1e960 + 5 bytes
+
+INCBIN "baserom.gbc",$1e965,$1e97e - $1e965
+
+UnnamedText_1e97e: ; 0x1e97e
+	TX_FAR _UnnamedText_1e97e
+	db $50
+; 0x1e97e + 5 bytes
+
+UnnamedText_1e983: ; 0x1e983
+	TX_FAR _UnnamedText_1e983
+	db $50
+; 0x1e983 + 5 bytes
+
+INCBIN "baserom.gbc",$1e988,$1ea0d - $1e988
+
+UnnamedText_1ea0d: ; 0x1ea0d
+	TX_FAR _UnnamedText_1ea0d
+	db $50
+; 0x1ea0d + 5 bytes
+
+UnnamedText_1ea12: ; 0x1ea12
+	TX_FAR _UnnamedText_1ea12
+	db $50
+; 0x1ea12 + 5 bytes
+
+INCBIN "baserom.gbc",$1ea17,$1ea5b - $1ea17
+
+UnnamedText_1ea5b: ; 0x1ea5b
+	TX_FAR _UnnamedText_1ea5b
+	db $50
+; 0x1ea5b + 5 bytes
+
+INCBIN "baserom.gbc",$1ea60,$1ea6c - $1ea60
+
+UnnamedText_1ea6c: ; 0x1ea6c
+	TX_FAR _UnnamedText_1ea6c
+	db $50
+; 0x1ea6c + 5 bytes
+
+UnnamedText_1ea71: ; 0x1ea71
+	TX_FAR _UnnamedText_1ea71
+	db $50
+; 0x1ea71 + 5 bytes
+
+UnnamedText_1ea76: ; 0x1ea76
+	TX_FAR _UnnamedText_1ea76
+	db $50
+; 0x1ea76 + 5 bytes
+
+UnnamedText_1ea7b: ; 0x1ea7b
+	TX_FAR _UnnamedText_1ea7b
+	db $50
+; 0x1ea7b + 5 bytes
+
+UnnamedText_1ea80: ; 0x1ea80
+	TX_FAR _UnnamedText_1ea80
+	db $50
+; 0x1ea80 + 5 bytes
+
+UnnamedText_1ea85: ; 0x1ea85
+	TX_FAR _UnnamedText_1ea85
+	db $50
+; 0x1ea85 + 5 bytes
+
+INCBIN "baserom.gbc",$1ea8a,$1eb05 - $1ea8a
+
+UnnamedText_1eb05: ; 0x1eb05
+	TX_FAR _UnnamedText_1eb05
+	db $50
+; 0x1eb05 + 5 bytes
+
+INCBIN "baserom.gbc",$1eb0a,$1eb69 - $1eb0a
+
+UnnamedText_1eb69: ; 0x1eb69
+	TX_FAR _UnnamedText_1eb69
+	db $50
+; 0x1eb69 + 5 bytes
+
+INCBIN "baserom.gbc",$1eb6e,$1ebdd - $1eb6e
+
+UnnamedText_1ebdd: ; 0x1ebdd
+	TX_FAR _UnnamedText_1ebdd
+	db $50
+; 0x1ebdd + 5 bytes
+
+INCBIN "baserom.gbc",$1ebe2,$1ec7f - $1ebe2
+
+UnnamedText_1ec7f: ; 0x1ec7f
+	TX_FAR _UnnamedText_1ec7f
+	db $50
+; 0x1ec7f + 5 bytes
+
+INCBIN "baserom.gbc",$1ec84,$1ecaa - $1ec84
+
+UnnamedText_1ecaa: ; 0x1ecaa
+	TX_FAR _UnnamedText_1ecaa
+	db $50
+; 0x1ecaa + 5 bytes
+
+INCBIN "baserom.gbc",$1ecaf,$1ecbd - $1ecaf
+
+UnnamedText_1ecbd: ; 0x1ecbd
+	TX_FAR _UnnamedText_1ecbd
+	db $50
+; 0x1ecbd + 5 bytes
+
+INCBIN "baserom.gbc",$1ecc2,$133e
+
+SECTION "bank8",DATA,BANK[$8]
+
+INCBIN "baserom.gbc",$20000,$217e9 - $20000
+
+UnnamedText_217e9: ; 0x217e9
+	TX_FAR _UnnamedText_217e9
+	db $50
+; 0x217e9 + 5 bytes
+
+UnnamedText_217ee: ; 0x217ee
+	TX_FAR _UnnamedText_217ee
+	db $50
+; 0x217ee + 5 bytes
+
+UnnamedText_217f3: ; 0x217f3
+	TX_FAR _UnnamedText_217f3
+	db $50
+; 0x217f3 + 5 bytes
+
+UnnamedText_217f8: ; 0x217f8
+	TX_FAR _UnnamedText_217f8
+	db $50
+; 0x217f8 + 5 bytes
+
+UnnamedText_217fd: ; 0x217fd
+	TX_FAR _UnnamedText_217fd
+	db $50
+; 0x217fd + 5 bytes
+
+UnnamedText_21802: ; 0x21802
+	TX_FAR _UnnamedText_21802
+	db $50
+; 0x21802 + 5 bytes
+
+UnnamedText_21807: ; 0x21807
+	TX_FAR _UnnamedText_21807
+	db $50
+; 0x21807 + 5 bytes
+
+UnnamedText_2180c: ; 0x2180c
+	TX_FAR _UnnamedText_2180c
+	db $50
+; 0x2180c + 5 bytes
+
+UnnamedText_21811: ; 0x21811
+	TX_FAR _UnnamedText_21811
+	db $50
+; 0x21811 + 5 bytes
+
+UnnamedText_21816: ; 0x21816
+	TX_FAR _UnnamedText_21816
+	db $50
+; 0x21816 + 5 bytes
+
+UnnamedText_2181b: ; 0x2181b
+	TX_FAR _UnnamedText_2181b
+	db $50
+; 0x2181b + 5 bytes
+
+UnnamedText_21820: ; 0x21820
+	TX_FAR _UnnamedText_21820
+	db $50
+; 0x21820 + 5 bytes
+
+INCBIN "baserom.gbc",$21825,$21865 - $21825
+
+UnnamedText_21865: ; 0x21865
+	TX_FAR _UnnamedText_21865
+	db $50
+; 0x21865 + 5 bytes
+
+INCBIN "baserom.gbc",$2186a,$2796
+
+SECTION "bank9",DATA,BANK[$9]
+
+RhydonPicFront:
+	INCBIN "pic/bmon/rhydon.pic"
+RhydonPicBack:
+	INCBIN "pic/monback/rhydonb.pic"
+KangaskhanPicFront:
+	INCBIN "pic/bmon/kangaskhan.pic"
+KangaskhanPicBack:
+	INCBIN "pic/monback/kangaskhanb.pic"
+NidoranMPicFront:
+	INCBIN "pic/bmon/nidoranm.pic"
+NidoranMPicBack:
+	INCBIN "pic/monback/nidoranmb.pic"
+ClefairyPicFront:
+	INCBIN "pic/bmon/clefairy.pic"
+ClefairyPicBack:
+	INCBIN "pic/monback/clefairyb.pic"
+SpearowPicFront:
+	INCBIN "pic/bmon/spearow.pic"
+SpearowPicBack:
+	INCBIN "pic/monback/spearowb.pic"
+VoltorbPicFront:
+	INCBIN "pic/bmon/voltorb.pic"
+VoltorbPicBack:
+	INCBIN "pic/monback/voltorbb.pic"
+NidokingPicFront:
+	INCBIN "pic/bmon/nidoking.pic"
+NidokingPicBack:
+	INCBIN "pic/monback/nidokingb.pic"
+SlowbroPicFront:
+	INCBIN "pic/bmon/slowbro.pic"
+SlowbroPicBack:
+	INCBIN "pic/monback/slowbrob.pic"
+IvysaurPicFront:
+	INCBIN "pic/bmon/ivysaur.pic"
+IvysaurPicBack:
+	INCBIN "pic/monback/ivysaurb.pic"
+ExeggutorPicFront:
+	INCBIN "pic/bmon/exeggutor.pic"
+ExeggutorPicBack:
+	INCBIN "pic/monback/exeggutorb.pic"
+LickitungPicFront:
+	INCBIN "pic/bmon/lickitung.pic"
+LickitungPicBack:
+	INCBIN "pic/monback/lickitungb.pic"
+ExeggcutePicFront:
+	INCBIN "pic/bmon/exeggcute.pic"
+ExeggcutePicBack:
+	INCBIN "pic/monback/exeggcuteb.pic"
+GrimerPicFront:
+	INCBIN "pic/bmon/grimer.pic"
+GrimerPicBack:
+	INCBIN "pic/monback/grimerb.pic"
+GengarPicFront:
+	INCBIN "pic/bmon/gengar.pic"
+GengarPicBack:
+	INCBIN "pic/monback/gengarb.pic"
+NidoranFPicFront:
+	INCBIN "pic/bmon/nidoranf.pic"
+NidoranFPicBack:
+	INCBIN "pic/monback/nidoranfb.pic"
+NidoqueenPicFront:
+	INCBIN "pic/bmon/nidoqueen.pic"
+NidoqueenPicBack:
+	INCBIN "pic/monback/nidoqueenb.pic"
+CubonePicFront:
+	INCBIN "pic/bmon/cubone.pic"
+CubonePicBack:
+	INCBIN "pic/monback/cuboneb.pic"
+RhyhornPicFront:
+	INCBIN "pic/bmon/rhyhorn.pic"
+RhyhornPicBack:
+	INCBIN "pic/monback/rhyhornb.pic"
+LaprasPicFront:
+	INCBIN "pic/bmon/lapras.pic"
+LaprasPicBack:
+	INCBIN "pic/monback/laprasb.pic"
+ArcaninePicFront:
+	INCBIN "pic/bmon/arcanine.pic"
+ArcaninePicBack:
+	INCBIN "pic/monback/arcanineb.pic"
+GyaradosPicFront:
+	INCBIN "pic/bmon/gyarados.pic"
+GyaradosPicBack:
+	INCBIN "pic/monback/gyaradosb.pic"
+ShellderPicFront:
+	INCBIN "pic/bmon/shellder.pic"
+ShellderPicBack:
+	INCBIN "pic/monback/shellderb.pic"
+TentacoolPicFront:
+	INCBIN "pic/bmon/tentacool.pic"
+TentacoolPicBack:
+	INCBIN "pic/monback/tentacoolb.pic"
+GastlyPicFront:
+	INCBIN "pic/bmon/gastly.pic"
+GastlyPicBack:
+	INCBIN "pic/monback/gastlyb.pic"
+ScytherPicFront:
+	INCBIN "pic/bmon/scyther.pic"
+ScytherPicBack:
+	INCBIN "pic/monback/scytherb.pic"
+StaryuPicFront:
+	INCBIN "pic/bmon/staryu.pic"
+StaryuPicBack:
+	INCBIN "pic/monback/staryub.pic"
+BlastoisePicFront:
+	INCBIN "pic/bmon/blastoise.pic"
+BlastoisePicBack:
+	INCBIN "pic/monback/blastoiseb.pic"
+PinsirPicFront:
+	INCBIN "pic/bmon/pinsir.pic"
+PinsirPicBack: ; 0x27aaa
+	INCBIN "pic/monback/pinsirb.pic"
+TangelaPicFront: ; 0x27b39
+	INCBIN "pic/bmon/tangela.pic"
+TangelaPicBack: ; 0x27ce7
+	INCBIN "pic/monback/tangelab.pic"
+
+INCBIN "baserom.gbc",$27d6b,$27DAE - $27d6b
+
+TypeNamePointers: ; 7DAE
+	dw Type00Name
+	dw Type01Name
+	dw Type02Name
+	dw Type03Name
+	dw Type04Name
+	dw Type05Name
+	dw Type06Name
+	dw Type07Name
+	dw Type08Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type00Name
+	dw Type14Name
+	dw Type15Name
+	dw Type16Name
+	dw Type17Name
+	dw Type18Name
+	dw Type19Name
+	dw Type1AName
+
+Type00Name:
+	db "NORMAL@"
+Type01Name:
+	db "FIGHTING@"
+Type02Name:
+	db "FLYING@"
+Type03Name:
+	db "POISON@"
+Type14Name:
+	db "FIRE@"
+Type15Name:
+	db "WATER@"
+Type16Name:
+	db "GRASS@"
+Type17Name:
+	db "ELECTRIC@"
+Type18Name:
+	db "PSYCHIC@"
+Type19Name:
+	db "ICE@"
+Type04Name:
+	db "GROUND@"
+Type05Name:
+	db "ROCK@"
+Type06Name:
+	db "BIRD@"
+Type07Name:
+	db "BUG@"
+Type08Name:
+	db "GHOST@"
+Type1AName:
+	db "DRAGON@"
+
+SaveTrainerName: ; 7E4A
+	ld hl,TrainerNamePointers
+	ld a,[W_TRAINERCLASS]
+	dec a
+	ld c,a
+	ld b,0
+	add hl,bc
+	add hl,bc
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	ld de,$CD6D
+.CopyCharacter\@
+	ld a,[hli]
+	ld [de],a
+	inc de
+	cp "@"
+	jr nz,.CopyCharacter\@
+	ret
+
+TrainerNamePointers: ; 0x27e64
+; what is the point of these?
+	dw YoungsterName
+	dw BugCatcherName
+	dw LassName
+	dw $D04A
+	dw JrTrainerMName
+	dw JrTrainerFName
+	dw PokemaniacName
+	dw SuperNerdName
+	dw $D04A
+	dw $D04A
+	dw BurglarName
+	dw EngineerName
+	dw JugglerXName
+	dw $D04A
+	dw SwimmerName
+	dw $D04A
+	dw $D04A
+	dw BeautyName
+	dw $D04A
+	dw RockerName
+	dw JugglerName
+	dw $D04A
+	dw $D04A
+	dw BlackbeltName
+	dw $D04A
+	dw ProfOakName
+	dw ChiefName
+	dw ScientistName
+	dw $D04A
+	dw RocketName
+	dw CooltrainerMName
+	dw CooltrainerFName
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+	dw $D04A
+
+YoungsterName:
+	db "YOUNGSTER@"
+BugCatcherName:
+	db "BUG CATCHER@"
+LassName:
+	db "LASS@"
+JrTrainerMName:
+	db "JR.TRAINER♂@"
+JrTrainerFName:
+	db "JR.TRAINER♀@"
+PokemaniacName:
+	db "POKéMANIAC@"
+SuperNerdName:
+	db "SUPER NERD@"
+BurglarName:
+	db "BURGLAR@"
+EngineerName:
+	db "ENGINEER@"
+JugglerXName:
+	db "JUGGLER@"
+SwimmerName:
+	db "SWIMMER@"
+BeautyName:
+	db "BEAUTY@"
+RockerName:
+	db "ROCKER@"
+JugglerName:
+	db "JUGGLER@"
+BlackbeltName:
+	db "BLACKBELT@"
+ProfOakName:
+	db "PROF.OAK@"
+ChiefName:
+	db "CHIEF@"
+ScientistName:
+	db "SCIENTIST@"
+RocketName:
+	db "ROCKET@"
+CooltrainerMName:
+	db "COOLTRAINER♂@"
+CooltrainerFName:
+	db "COOLTRAINER♀@"
+
+INCBIN "baserom.gbc",$27f86,$27fb3 - $27f86
+
+UnnamedText_27fb3: ; 0x27fb3
+	TX_FAR _UnnamedText_27fb3
+	db $50
+; 0x27fb3 + 5 bytes
+
+SECTION "bankA",DATA,BANK[$A]
+GrowlithePicFront:
+	INCBIN "pic/bmon/growlithe.pic"
+GrowlithePicBack:
+	INCBIN "pic/monback/growlitheb.pic"
+OnixPicFront:
+	INCBIN "pic/bmon/onix.pic"
+OnixPicBack:
+	INCBIN "pic/monback/onixb.pic"
+FearowPicFront:
+	INCBIN "pic/bmon/fearow.pic"
+FearowPicBack:
+	INCBIN "pic/monback/fearowb.pic"
+PidgeyPicFront:
+	INCBIN "pic/bmon/pidgey.pic"
+PidgeyPicBack:
+	INCBIN "pic/monback/pidgeyb.pic"
+SlowpokePicFront:
+	INCBIN "pic/bmon/slowpoke.pic"
+SlowpokePicBack:
+	INCBIN "pic/monback/slowpokeb.pic"
+KadabraPicFront:
+	INCBIN "pic/bmon/kadabra.pic"
+KadabraPicBack:
+	INCBIN "pic/monback/kadabrab.pic"
+GravelerPicFront:
+	INCBIN "pic/bmon/graveler.pic"
+GravelerPicBack:
+	INCBIN "pic/monback/gravelerb.pic"
+ChanseyPicFront:
+	INCBIN "pic/bmon/chansey.pic"
+ChanseyPicBack:
+	INCBIN "pic/monback/chanseyb.pic"
+MachokePicFront:
+	INCBIN "pic/bmon/machoke.pic"
+MachokePicBack:
+	INCBIN "pic/monback/machokeb.pic"
+MrMimePicFront:
+	INCBIN "pic/bmon/mr.mime.pic"
+MrMimePicBack:
+	INCBIN "pic/monback/mr.mimeb.pic"
+HitmonleePicFront:
+	INCBIN "pic/bmon/hitmonlee.pic"
+HitmonleePicBack:
+	INCBIN "pic/monback/hitmonleeb.pic"
+HitmonchanPicFront:
+	INCBIN "pic/bmon/hitmonchan.pic"
+HitmonchanPicBack:
+	INCBIN "pic/monback/hitmonchanb.pic"
+ArbokPicFront:
+	INCBIN "pic/bmon/arbok.pic"
+ArbokPicBack:
+	INCBIN "pic/monback/arbokb.pic"
+ParasectPicFront:
+	INCBIN "pic/bmon/parasect.pic"
+ParasectPicBack:
+	INCBIN "pic/monback/parasectb.pic"
+PsyduckPicFront:
+	INCBIN "pic/bmon/psyduck.pic"
+PsyduckPicBack:
+	INCBIN "pic/monback/psyduckb.pic"
+DrowzeePicFront:
+	INCBIN "pic/bmon/drowzee.pic"
+DrowzeePicBack:
+	INCBIN "pic/monback/drowzeeb.pic"
+GolemPicFront:
+	INCBIN "pic/bmon/golem.pic"
+GolemPicBack:
+	INCBIN "pic/monback/golemb.pic"
+MagmarPicFront:
+	INCBIN "pic/bmon/magmar.pic"
+MagmarPicBack:
+	INCBIN "pic/monback/magmarb.pic"
+ElectabuzzPicFront:
+	INCBIN "pic/bmon/electabuzz.pic"
+ElectabuzzPicBack:
+	INCBIN "pic/monback/electabuzzb.pic"
+MagnetonPicFront:
+	INCBIN "pic/bmon/magneton.pic"
+MagnetonPicBack:
+	INCBIN "pic/monback/magnetonb.pic"
+KoffingPicFront:
+	INCBIN "pic/bmon/koffing.pic"
+KoffingPicBack:
+	INCBIN "pic/monback/koffingb.pic"
+MankeyPicFront:
+	INCBIN "pic/bmon/mankey.pic"
+MankeyPicBack:
+	INCBIN "pic/monback/mankeyb.pic"
+SeelPicFront:
+	INCBIN "pic/bmon/seel.pic"
+SeelPicBack:
+	INCBIN "pic/monback/seelb.pic"
+DiglettPicFront:
+	INCBIN "pic/bmon/diglett.pic"
+DiglettPicBack:
+	INCBIN "pic/monback/diglettb.pic"
+TaurosPicFront:
+	INCBIN "pic/bmon/tauros.pic"
+TaurosPicBack:
+	INCBIN "pic/monback/taurosb.pic"
+FarfetchdPicFront:
+	INCBIN "pic/bmon/farfetchd.pic"
+FarfetchdPicBack:
+	INCBIN "pic/monback/farfetchdb.pic"
+VenonatPicFront:
+	INCBIN "pic/bmon/venonat.pic"
+VenonatPicBack:
+	INCBIN "pic/monback/venonatb.pic"
+DragonitePicFront:
+	INCBIN "pic/bmon/dragonite.pic"
+DragonitePicBack:
+	INCBIN "pic/monback/dragoniteb.pic"
+DoduoPicFront:
+	INCBIN "pic/bmon/doduo.pic"
+DoduoPicBack:
+	INCBIN "pic/monback/doduob.pic"
+PoliwagPicFront:
+	INCBIN "pic/bmon/poliwag.pic"
+PoliwagPicBack:
+	INCBIN "pic/monback/poliwagb.pic"
+JynxPicFront:
+	INCBIN "pic/bmon/jynx.pic"
+JynxPicBack:
+	INCBIN "pic/monback/jynxb.pic"
+MoltresPicFront:
+	INCBIN "pic/bmon/moltres.pic"
+MoltresPicBack:
+	INCBIN "pic/monback/moltresb.pic"
+
+INCBIN "baserom.gbc",$2bea9,$2bef2 - $2bea9
+
+UnnamedText_2bef2: ; 0x2bef2
+	TX_FAR _UnnamedText_2bef2
+	db $50
+; 0x2bef2 + 5 bytes
+
+UnnamedText_2bef7: ; 0x2bef7
+	TX_FAR _UnnamedText_2bef7
+	db $50
+; 0x2bef7 + 5 bytes
+
+SECTION "bankB",DATA,BANK[$B]
+ArticunoPicFront:
+	INCBIN "pic/bmon/articuno.pic"
+ArticunoPicBack:
+	INCBIN "pic/monback/articunob.pic"
+ZapdosPicFront:
+	INCBIN "pic/bmon/zapdos.pic"
+ZapdosPicBack:
+	INCBIN "pic/monback/zapdosb.pic"
+DittoPicFront:
+	INCBIN "pic/bmon/ditto.pic"
+DittoPicBack:
+	INCBIN "pic/monback/dittob.pic"
+MeowthPicFront:
+	INCBIN "pic/bmon/meowth.pic"
+MeowthPicBack:
+	INCBIN "pic/monback/meowthb.pic"
+KrabbyPicFront:
+	INCBIN "pic/bmon/krabby.pic"
+KrabbyPicBack:
+	INCBIN "pic/monback/krabbyb.pic"
+VulpixPicFront:
+	INCBIN "pic/bmon/vulpix.pic"
+VulpixPicBack:
+	INCBIN "pic/monback/vulpixb.pic"
+NinetalesPicFront:
+	INCBIN "pic/bmon/ninetales.pic"
+NinetalesPicBack:
+	INCBIN "pic/monback/ninetalesb.pic"
+PikachuPicFront:
+	INCBIN "pic/bmon/pikachu.pic"
+PikachuPicBack:
+	INCBIN "pic/monback/pikachub.pic"
+RaichuPicFront:
+	INCBIN "pic/bmon/raichu.pic"
+RaichuPicBack:
+	INCBIN "pic/monback/raichub.pic"
+DratiniPicFront:
+	INCBIN "pic/bmon/dratini.pic"
+DratiniPicBack:
+	INCBIN "pic/monback/dratinib.pic"
+DragonairPicFront:
+	INCBIN "pic/bmon/dragonair.pic"
+DragonairPicBack:
+	INCBIN "pic/monback/dragonairb.pic"
+KabutoPicFront:
+	INCBIN "pic/bmon/kabuto.pic"
+KabutoPicBack:
+	INCBIN "pic/monback/kabutob.pic"
+KabutopsPicFront:
+	INCBIN "pic/bmon/kabutops.pic"
+KabutopsPicBack:
+	INCBIN "pic/monback/kabutopsb.pic"
+HorseaPicFront:
+	INCBIN "pic/bmon/horsea.pic"
+HorseaPicBack:
+	INCBIN "pic/monback/horseab.pic"
+SeadraPicFront:
+	INCBIN "pic/bmon/seadra.pic"
+SeadraPicBack:
+	INCBIN "pic/monback/seadrab.pic"
+SandshrewPicFront:
+	INCBIN "pic/bmon/sandshrew.pic"
+SandshrewPicBack:
+	INCBIN "pic/monback/sandshrewb.pic"
+SandslashPicFront:
+	INCBIN "pic/bmon/sandslash.pic"
+SandslashPicBack:
+	INCBIN "pic/monback/sandslashb.pic"
+OmanytePicFront:
+	INCBIN "pic/bmon/omanyte.pic"
+OmanytePicBack:
+	INCBIN "pic/monback/omanyteb.pic"
+OmastarPicFront:
+	INCBIN "pic/bmon/omastar.pic"
+OmastarPicBack:
+	INCBIN "pic/monback/omastarb.pic"
+JigglypuffPicFront:
+	INCBIN "pic/bmon/jigglypuff.pic"
+JigglypuffPicBack:
+	INCBIN "pic/monback/jigglypuffb.pic"
+WigglytuffPicFront:
+	INCBIN "pic/bmon/wigglytuff.pic"
+WigglytuffPicBack:
+	INCBIN "pic/monback/wigglytuffb.pic"
+EeveePicFront:
+	INCBIN "pic/bmon/eevee.pic"
+EeveePicBack:
+	INCBIN "pic/monback/eeveeb.pic"
+FlareonPicFront:
+	INCBIN "pic/bmon/flareon.pic"
+FlareonPicBack:
+	INCBIN "pic/monback/flareonb.pic"
+JolteonPicFront:
+	INCBIN "pic/bmon/jolteon.pic"
+JolteonPicBack:
+	INCBIN "pic/monback/jolteonb.pic"
+VaporeonPicFront:
+	INCBIN "pic/bmon/vaporeon.pic"
+VaporeonPicBack:
+	INCBIN "pic/monback/vaporeonb.pic"
+MachopPicFront:
+	INCBIN "pic/bmon/machop.pic"
+MachopPicBack:
+	INCBIN "pic/monback/machopb.pic"
+ZubatPicFront:
+	INCBIN "pic/bmon/zubat.pic"
+ZubatPicBack:
+	INCBIN "pic/monback/zubatb.pic"
+EkansPicFront:
+	INCBIN "pic/bmon/ekans.pic"
+EkansPicBack:
+	INCBIN "pic/monback/ekansb.pic"
+ParasPicFront:
+	INCBIN "pic/bmon/paras.pic"
+ParasPicBack:
+	INCBIN "pic/monback/parasb.pic"
+PoliwhirlPicFront:
+	INCBIN "pic/bmon/poliwhirl.pic"
+PoliwhirlPicBack:
+	INCBIN "pic/monback/poliwhirlb.pic"
+PoliwrathPicFront:
+	INCBIN "pic/bmon/poliwrath.pic"
+PoliwrathPicBack:
+	INCBIN "pic/monback/poliwrathb.pic"
+WeedlePicFront:
+	INCBIN "pic/bmon/weedle.pic"
+WeedlePicBack:
+	INCBIN "pic/monback/weedleb.pic"
+KakunaPicFront:
+	INCBIN "pic/bmon/kakuna.pic"
+KakunaPicBack:
+	INCBIN "pic/monback/kakunab.pic"
+BeedrillPicFront:
+	INCBIN "pic/bmon/beedrill.pic"
+BeedrillPicBack:
+	INCBIN "pic/monback/beedrillb.pic"
+FossilKabutopsPic:
+	INCBIN "pic/bmon/fossilkabutops.pic"
+
+INCBIN "baserom.gbc",$2fb7b,$2fb8e - $2fb7b
+
+UnnamedText_2fb8e: ; 0x2fb8e
+	TX_FAR _UnnamedText_2fb8e
+	db $50
+; 0x2fb8e + 5 bytes
+
+UnnamedText_2fb93: ; 0x2fb93
+	TX_FAR _UnnamedText_2fb93
+	db $50
+; 0x2fb93 + 5 bytes
+
+INCBIN "baserom.gbc",$2fb98,$2fe3b - $2fb98
+
+UnnamedText_2fe3b: ; 0x2fe3b
+	TX_FAR _UnnamedText_2fe3b
+	db $50
+; 0x2fe3b + 5 bytes
+
+INCBIN "baserom.gbc",$2fe40,$2ff04 - $2fe40
+
+UnnamedText_2ff04: ; 0x2ff04
+	TX_FAR _UnnamedText_2ff04
+	db $50
+; 0x2ff04 + 5 bytes
+
+INCBIN "baserom.gbc",$2ff09,$2ff32 - $2ff09
+
+UnnamedText_2ff32: ; 0x2ff32
+	TX_FAR _UnnamedText_2ff32
+	db $50
+; 0x2ff32 + 5 bytes
+
+UnnamedText_2ff37: ; 0x2ff37
+	TX_FAR _UnnamedText_2ff37
+	db $50
+; 0x2ff37 + 5 bytes
+
+SECTION "bankC",DATA,BANK[$C]
+DodrioPicFront:
+	INCBIN "pic/bmon/dodrio.pic"
+DodrioPicBack:
+	INCBIN "pic/monback/dodriob.pic"
+PrimeapePicFront:
+	INCBIN "pic/bmon/primeape.pic"
+PrimeapePicBack:
+	INCBIN "pic/monback/primeapeb.pic"
+DugtrioPicFront:
+	INCBIN "pic/bmon/dugtrio.pic"
+DugtrioPicBack:
+	INCBIN "pic/monback/dugtriob.pic"
+VenomothPicFront:
+	INCBIN "pic/bmon/venomoth.pic"
+VenomothPicBack:
+	INCBIN "pic/monback/venomothb.pic"
+DewgongPicFront:
+	INCBIN "pic/bmon/dewgong.pic"
+DewgongPicBack:
+	INCBIN "pic/monback/dewgongb.pic"
+CaterpiePicFront:
+	INCBIN "pic/bmon/caterpie.pic"
+CaterpiePicBack:
+	INCBIN "pic/monback/caterpieb.pic"
+MetapodPicFront:
+	INCBIN "pic/bmon/metapod.pic"
+MetapodPicBack:
+	INCBIN "pic/monback/metapodb.pic"
+ButterfreePicFront:
+	INCBIN "pic/bmon/butterfree.pic"
+ButterfreePicBack:
+	INCBIN "pic/monback/butterfreeb.pic"
+MachampPicFront:
+	INCBIN "pic/bmon/machamp.pic"
+MachampPicBack:
+	INCBIN "pic/monback/machampb.pic"
+GolduckPicFront:
+	INCBIN "pic/bmon/golduck.pic"
+GolduckPicBack:
+	INCBIN "pic/monback/golduckb.pic"
+HypnoPicFront:
+	INCBIN "pic/bmon/hypno.pic"
+HypnoPicBack:
+	INCBIN "pic/monback/hypnob.pic"
+GolbatPicFront:
+	INCBIN "pic/bmon/golbat.pic"
+GolbatPicBack:
+	INCBIN "pic/monback/golbatb.pic"
+MewtwoPicFront:
+	INCBIN "pic/bmon/mewtwo.pic"
+MewtwoPicBack:
+	INCBIN "pic/monback/mewtwob.pic"
+SnorlaxPicFront:
+	INCBIN "pic/bmon/snorlax.pic"
+SnorlaxPicBack:
+	INCBIN "pic/monback/snorlaxb.pic"
+MagikarpPicFront:
+	INCBIN "pic/bmon/magikarp.pic"
+MagikarpPicBack:
+	INCBIN "pic/monback/magikarpb.pic"
+MukPicFront:
+	INCBIN "pic/bmon/muk.pic"
+MukPicBack:
+	INCBIN "pic/monback/mukb.pic"
+KinglerPicFront:
+	INCBIN "pic/bmon/kingler.pic"
+KinglerPicBack:
+	INCBIN "pic/monback/kinglerb.pic"
+CloysterPicFront:
+	INCBIN "pic/bmon/cloyster.pic"
+CloysterPicBack:
+	INCBIN "pic/monback/cloysterb.pic"
+ElectrodePicFront:
+	INCBIN "pic/bmon/electrode.pic"
+ElectrodePicBack:
+	INCBIN "pic/monback/electrodeb.pic"
+ClefablePicFront:
+	INCBIN "pic/bmon/clefable.pic"
+ClefablePicBack:
+	INCBIN "pic/monback/clefableb.pic"
+WeezingPicFront:
+	INCBIN "pic/bmon/weezing.pic"
+WeezingPicBack:
+	INCBIN "pic/monback/weezingb.pic"
+PersianPicFront:
+	INCBIN "pic/bmon/persian.pic"
+PersianPicBack:
+	INCBIN "pic/monback/persianb.pic"
+MarowakPicFront:
+	INCBIN "pic/bmon/marowak.pic"
+MarowakPicBack:
+	INCBIN "pic/monback/marowakb.pic"
+HaunterPicFront:
+	INCBIN "pic/bmon/haunter.pic"
+HaunterPicBack:
+	INCBIN "pic/monback/haunterb.pic"
+AbraPicFront:
+	INCBIN "pic/bmon/abra.pic"
+AbraPicBack:
+	INCBIN "pic/monback/abrab.pic"
+AlakazamPicFront:
+	INCBIN "pic/bmon/alakazam.pic"
+AlakazamPicBack:
+	INCBIN "pic/monback/alakazamb.pic"
+PidgeottoPicFront:
+	INCBIN "pic/bmon/pidgeotto.pic"
+PidgeottoPicBack:
+	INCBIN "pic/monback/pidgeottob.pic"
+PidgeotPicFront:
+	INCBIN "pic/bmon/pidgeot.pic"
+PidgeotPicBack:
+	INCBIN "pic/monback/pidgeotb.pic"
+StarmiePicFront:
+	INCBIN "pic/bmon/starmie.pic"
+StarmiePicBack:
+	INCBIN "pic/monback/starmieb.pic"
+RedPicBack:
+	INCBIN "pic/trainer/redb.pic"
+OldManPic:
+	INCBIN "pic/trainer/oldman.pic"
+
+INCBIN "baserom.gbc",$33f2b,$33f52 - $33f2b
+
+UnnamedText_33f52: ; 0x33f52
+	TX_FAR _UnnamedText_33f52
+	db $50
+; 0x33f52 + 5 bytes
+
+INCBIN "baserom.gbc",$33f57,$39
+
+SECTION "bankD",DATA,BANK[$D]
+BulbasaurPicFront:
+	INCBIN "pic/bmon/bulbasaur.pic"
+BulbasaurPicBack:
+	INCBIN "pic/monback/bulbasaurb.pic"
+VenusaurPicFront:
+	INCBIN "pic/bmon/venusaur.pic"
+VenusaurPicBack:
+	INCBIN "pic/monback/venusaurb.pic"
+TentacruelPicFront:
+	INCBIN "pic/bmon/tentacruel.pic"
+TentacruelPicBack:
+	INCBIN "pic/monback/tentacruelb.pic"
+GoldeenPicFront:
+	INCBIN "pic/bmon/goldeen.pic"
+GoldeenPicBack:
+	INCBIN "pic/monback/goldeenb.pic"
+SeakingPicFront:
+	INCBIN "pic/bmon/seaking.pic"
+SeakingPicBack:
+	INCBIN "pic/monback/seakingb.pic"
+PonytaPicFront:
+	INCBIN "pic/bmon/ponyta.pic"
+RapidashPicFront:
+	INCBIN "pic/bmon/rapidash.pic"
+PonytaPicBack:
+	INCBIN "pic/monback/ponytab.pic"
+RapidashPicBack:
+	INCBIN "pic/monback/rapidashb.pic"
+RattataPicFront:
+	INCBIN "pic/bmon/rattata.pic"
+RattataPicBack:
+	INCBIN "pic/monback/rattatab.pic"
+RaticatePicFront:
+	INCBIN "pic/bmon/raticate.pic"
+RaticatePicBack:
+	INCBIN "pic/monback/raticateb.pic"
+NidorinoPicFront:
+	INCBIN "pic/bmon/nidorino.pic"
+NidorinoPicBack:
+	INCBIN "pic/monback/nidorinob.pic"
+NidorinaPicFront:
+	INCBIN "pic/bmon/nidorina.pic"
+NidorinaPicBack:
+	INCBIN "pic/monback/nidorinab.pic"
+GeodudePicFront:
+	INCBIN "pic/bmon/geodude.pic"
+GeodudePicBack:
+	INCBIN "pic/monback/geodudeb.pic"
+PorygonPicFront:
+	INCBIN "pic/bmon/porygon.pic"
+PorygonPicBack:
+	INCBIN "pic/monback/porygonb.pic"
+AerodactylPicFront:
+	INCBIN "pic/bmon/aerodactyl.pic"
+AerodactylPicBack:
+	INCBIN "pic/monback/aerodactylb.pic"
+MagnemitePicFront:
+	INCBIN "pic/bmon/magnemite.pic"
+MagnemitePicBack:
+	INCBIN "pic/monback/magnemiteb.pic"
+CharmanderPicFront:
+	INCBIN "pic/bmon/charmander.pic"
+CharmanderPicBack:
+	INCBIN "pic/monback/charmanderb.pic"
+SquirtlePicFront:
+	INCBIN "pic/bmon/squirtle.pic"
+SquirtlePicBack:
+	INCBIN "pic/monback/squirtleb.pic"
+CharmeleonPicFront:
+	INCBIN "pic/bmon/charmeleon.pic"
+CharmeleonPicBack:
+	INCBIN "pic/monback/charmeleonb.pic"
+WartortlePicFront:
+	INCBIN "pic/bmon/wartortle.pic"
+WartortlePicBack:
+	INCBIN "pic/monback/wartortleb.pic"
+CharizardPicFront:
+	INCBIN "pic/bmon/charizard.pic"
+CharizardPicBack:
+	INCBIN "pic/monback/charizardb.pic"
+FossilAerodactylPic:
+	INCBIN "pic/bmon/fossilaerodactyl.pic"
+GhostPic:
+	INCBIN "pic/other/ghost.pic"
+OddishPicFront:
+	INCBIN "pic/bmon/oddish.pic"
+OddishPicBack:
+	INCBIN "pic/monback/oddishb.pic"
+GloomPicFront:
+	INCBIN "pic/bmon/gloom.pic"
+GloomPicBack:
+	INCBIN "pic/monback/gloomb.pic"
+VileplumePicFront:
+	INCBIN "pic/bmon/vileplume.pic"
+VileplumePicBack:
+	INCBIN "pic/monback/vileplumeb.pic"
+BellsproutPicFront:
+	INCBIN "pic/bmon/bellsprout.pic"
+BellsproutPicBack:
+	INCBIN "pic/monback/bellsproutb.pic"
+WeepinbellPicFront:
+	INCBIN "pic/bmon/weepinbell.pic"
+WeepinbellPicBack:
+	INCBIN "pic/monback/weepinbellb.pic"
+VictreebelPicFront:
+	INCBIN "pic/bmon/victreebel.pic"
+VictreebelPicBack:
+	INCBIN "pic/monback/victreebelb.pic"
+
+INCBIN "baserom.gbc",$37244,$37390 - $37244
+
+UnnamedText_37390: ; 0x37390
+	TX_FAR _UnnamedText_37390
+	db $50
+; 0x37390 + 5 bytes
+
+INCBIN "baserom.gbc",$37395,$37467 - $37395
+
+UnnamedText_37467: ; 0x37467
+	TX_FAR _UnnamedText_37467
+	db $50
+; 0x37467 + 5 bytes
+
+UnnamedText_3746c: ; 0x3746c
+	TX_FAR _UnnamedText_3746c
+	db $50
+; 0x3746c + 5 bytes
+
+UnnamedText_37471: ; 0x37471
+	TX_FAR _UnnamedText_37471
+	db $50
+; 0x37471 + 5 bytes
+
+UnnamedText_37476: ; 0x37476
+	TX_FAR _UnnamedText_37476
+	db $50
+; 0x37476 + 5 bytes
+
+UnnamedText_3747b: ; 0x3747b
+	TX_FAR _UnnamedText_3747b
+	db $50
+; 0x3747b + 5 bytes
+
+INCBIN "baserom.gbc",$37480,$37673 - $37480
+
+UnnamedText_37673: ; 0x37673
+	TX_FAR _UnnamedText_37673
+	db $50
+; 0x37673 + 5 bytes
+
+INCBIN "baserom.gbc",$37678,$3769d - $37678
+
+UnnamedText_3769d: ; 0x3769d
+	TX_FAR _UnnamedText_3769d
+	db $50
+; 0x3769d + 5 bytes
+
+INCBIN "baserom.gbc",$376a2,$44f
+
+IF _RED
+	INCBIN "gfx/red/slotmachine1.2bpp"
+ENDC
+IF _BLUE
+	INCBIN "gfx/blue/slotmachine1.2bpp"
+ENDC
+
+INCBIN "baserom.gbc",$37ca1,$37e79 - $37ca1
+
+UnnamedText_37e79: ; 0x37e79
+	TX_FAR _UnnamedText_37e79
+	db $50
+; 0x37e79 + 5 bytes
+
+UnnamedText_37e7e: ; 0x37e7e
+	TX_FAR _UnnamedText_37e7e
+	db $50
+; 0x37e7e + 5 bytes
+
+UnnamedText_37e83: ; 0x37e83
+	TX_FAR _UnnamedText_37e83
+	db $50
+; 0x37e83 + 5 bytes
+
+SECTION "bankE",DATA,BANK[$E]
+
+Moves: ; 4000
+; characteristics of each move
+; animation, effect, power, type, accuracy, PP
+db POUND       ,$00,$28,NORMAL,$FF,35
+db KARATE_CHOP ,$00,$32,NORMAL,$FF,25
+db DOUBLESLAP  ,$1D,$0F,NORMAL,$D8,10
+db COMET_PUNCH ,$1D,$12,NORMAL,$D8,15
+db MEGA_PUNCH  ,$00,$50,NORMAL,$D8,20
+db PAY_DAY     ,$10,$28,NORMAL,$FF,20
+db FIRE_PUNCH  ,$04,$4B,FIRE,$FF,15
+db ICE_PUNCH   ,$05,$4B,ICE,$FF,15
+db THUNDERPUNCH,$06,$4B,ELECTRIC,$FF,15
+db SCRATCH     ,$00,$28,NORMAL,$FF,35
+db VICEGRIP    ,$00,$37,NORMAL,$FF,30
+db GUILLOTINE  ,$26,$01,NORMAL,$4C,5
+db RAZOR_WIND  ,$27,$50,NORMAL,$BF,10
+db SWORDS_DANCE,$32,$00,NORMAL,$FF,30
+db CUT         ,$00,$32,NORMAL,$F2,30
+db GUST        ,$00,$28,NORMAL,$FF,35
+db WING_ATTACK ,$00,$23,FLYING,$FF,35
+db WHIRLWIND   ,$1C,$00,NORMAL,$D8,20
+db FLY         ,$2B,$46,FLYING,$F2,15
+db BIND        ,$2A,$0F,NORMAL,$BF,20
+db SLAM        ,$00,$50,NORMAL,$BF,20
+db VINE_WHIP   ,$00,$23,GRASS,$FF,10
+db STOMP       ,$25,$41,NORMAL,$FF,20
+db DOUBLE_KICK ,$2C,$1E,FIGHTING,$FF,30
+db MEGA_KICK   ,$00,$78,NORMAL,$BF,5
+db JUMP_KICK   ,$2D,$46,FIGHTING,$F2,25
+db ROLLING_KICK,$25,$3C,FIGHTING,$D8,15
+db SAND_ATTACK ,$16,$00,NORMAL,$FF,15
+db HEADBUTT    ,$25,$46,NORMAL,$FF,15
+db HORN_ATTACK ,$00,$41,NORMAL,$FF,25
+db FURY_ATTACK ,$1D,$0F,NORMAL,$D8,20
+db HORN_DRILL  ,$26,$01,NORMAL,$4C,5
+db TACKLE      ,$00,$23,NORMAL,$F2,35
+db BODY_SLAM   ,$24,$55,NORMAL,$FF,15
+db WRAP        ,$2A,$0F,NORMAL,$D8,20
+db TAKE_DOWN   ,$30,$5A,NORMAL,$D8,20
+db THRASH      ,$1B,$5A,NORMAL,$FF,20
+db DOUBLE_EDGE ,$30,$64,NORMAL,$FF,15
+db TAIL_WHIP   ,$13,$00,NORMAL,$FF,30
+db POISON_STING,$02,$0F,POISON,$FF,35
+db TWINEEDLE   ,$4D,$19,BUG,$FF,20
+db PIN_MISSILE ,$1D,$0E,BUG,$D8,20
+db LEER        ,$13,$00,NORMAL,$FF,30
+db BITE        ,$1F,$3C,NORMAL,$FF,25
+db GROWL       ,$12,$00,NORMAL,$FF,40
+db ROAR        ,$1C,$00,NORMAL,$FF,20
+db SING        ,$20,$00,NORMAL,$8C,15
+db SUPERSONIC  ,$31,$00,NORMAL,$8C,20
+db SONICBOOM   ,$29,$01,NORMAL,$E5,20
+db DISABLE     ,$56,$00,NORMAL,$8C,20
+db ACID        ,$45,$28,POISON,$FF,30
+db EMBER       ,$04,$28,FIRE,$FF,25
+db FLAMETHROWER,$04,$5F,FIRE,$FF,15
+db MIST        ,$2E,$00,ICE,$FF,30
+db WATER_GUN   ,$00,$28,WATER,$FF,25
+db HYDRO_PUMP  ,$00,$78,WATER,$CC,5
+db SURF        ,$00,$5F,WATER,$FF,15
+db ICE_BEAM    ,$05,$5F,ICE,$FF,10
+db BLIZZARD    ,$05,$78,ICE,$E5,5
+db PSYBEAM     ,$4C,$41,PSYCHIC,$FF,20
+db BUBBLEBEAM  ,$46,$41,WATER,$FF,20
+db AURORA_BEAM ,$44,$41,ICE,$FF,20
+db HYPER_BEAM  ,$50,$96,NORMAL,$E5,5
+db PECK        ,$00,$23,FLYING,$FF,35
+db DRILL_PECK  ,$00,$50,FLYING,$FF,20
+db SUBMISSION  ,$30,$50,FIGHTING,$CC,25
+db LOW_KICK    ,$25,$32,FIGHTING,$E5,20
+db COUNTER     ,$00,$01,FIGHTING,$FF,20
+db SEISMIC_TOSS,$29,$01,FIGHTING,$FF,20
+db STRENGTH    ,$00,$50,NORMAL,$FF,15
+db ABSORB      ,$03,$14,GRASS,$FF,20
+db MEGA_DRAIN  ,$03,$28,GRASS,$FF,10
+db LEECH_SEED  ,$54,$00,GRASS,$E5,10
+db GROWTH      ,$0D,$00,NORMAL,$FF,40
+db RAZOR_LEAF  ,$00,$37,GRASS,$F2,25
+db SOLARBEAM   ,$27,$78,GRASS,$FF,10
+db POISONPOWDER,$42,$00,POISON,$BF,35
+db STUN_SPORE  ,$43,$00,GRASS,$BF,30
+db SLEEP_POWDER,$20,$00,GRASS,$BF,15
+db PETAL_DANCE ,$1B,$46,GRASS,$FF,20
+db STRING_SHOT ,$14,$00,BUG,$F2,40
+db DRAGON_RAGE ,$29,$01,DRAGON,$FF,10
+db FIRE_SPIN   ,$2A,$0F,FIRE,$B2,15
+db THUNDERSHOCK,$06,$28,ELECTRIC,$FF,30
+db THUNDERBOLT ,$06,$5F,ELECTRIC,$FF,15
+db THUNDER_WAVE,$43,$00,ELECTRIC,$FF,20
+db THUNDER     ,$06,$78,ELECTRIC,$B2,10
+db ROCK_THROW  ,$00,$32,ROCK,$A5,15
+db EARTHQUAKE  ,$00,$64,GROUND,$FF,10
+db FISSURE     ,$26,$01,GROUND,$4C,5
+db DIG         ,$27,$64,GROUND,$FF,10
+db TOXIC       ,$42,$00,POISON,$D8,10
+db CONFUSION   ,$4C,$32,PSYCHIC,$FF,25
+db PSYCHIC_M   ,$47,$5A,PSYCHIC,$FF,10
+db HYPNOSIS    ,$20,$00,PSYCHIC,$99,20
+db MEDITATE    ,$0A,$00,PSYCHIC,$FF,40
+db AGILITY     ,$34,$00,PSYCHIC,$FF,30
+db QUICK_ATTACK,$00,$28,NORMAL,$FF,30
+db RAGE        ,$51,$14,NORMAL,$FF,20
+db TELEPORT    ,$1C,$00,PSYCHIC,$FF,20
+db NIGHT_SHADE ,$29,$00,GHOST,$FF,15
+db MIMIC       ,$52,$00,NORMAL,$FF,10
+db SCREECH     ,$3B,$00,NORMAL,$D8,40
+db DOUBLE_TEAM ,$0F,$00,NORMAL,$FF,15
+db RECOVER     ,$38,$00,NORMAL,$FF,20
+db HARDEN      ,$0B,$00,NORMAL,$FF,30
+db MINIMIZE    ,$0F,$00,NORMAL,$FF,20
+db SMOKESCREEN ,$16,$00,NORMAL,$FF,20
+db CONFUSE_RAY ,$31,$00,GHOST,$FF,10
+db WITHDRAW    ,$0B,$00,WATER,$FF,40
+db DEFENSE_CURL,$0B,$00,NORMAL,$FF,40
+db BARRIER     ,$33,$00,PSYCHIC,$FF,30
+db LIGHT_SCREEN,$40,$00,PSYCHIC,$FF,30
+db HAZE        ,$19,$00,ICE,$FF,30
+db REFLECT     ,$41,$00,PSYCHIC,$FF,20
+db FOCUS_ENERGY,$2F,$00,NORMAL,$FF,30
+db BIDE        ,$1A,$00,NORMAL,$FF,10
+db METRONOME   ,$53,$00,NORMAL,$FF,10
+db MIRROR_MOVE ,$09,$00,FLYING,$FF,20
+db SELFDESTRUCT,$07,$82,NORMAL,$FF,5
+db EGG_BOMB    ,$00,$64,NORMAL,$BF,10
+db LICK        ,$24,$14,GHOST,$FF,30
+db SMOG        ,$21,$14,POISON,$B2,20
+db SLUDGE      ,$21,$41,POISON,$FF,20
+db BONE_CLUB   ,$1F,$41,GROUND,$D8,20
+db FIRE_BLAST  ,$22,$78,FIRE,$D8,5
+db WATERFALL   ,$00,$50,WATER,$FF,15
+db CLAMP       ,$2A,$23,WATER,$BF,10
+db SWIFT       ,$11,$3C,NORMAL,$FF,20
+db SKULL_BASH  ,$27,$64,NORMAL,$FF,15
+db SPIKE_CANNON,$1D,$14,NORMAL,$FF,15
+db CONSTRICT   ,$46,$0A,NORMAL,$FF,35
+db AMNESIA     ,$35,$00,PSYCHIC,$FF,20
+db KINESIS     ,$16,$00,PSYCHIC,$CC,15
+db SOFTBOILED  ,$38,$00,NORMAL,$FF,10
+db HI_JUMP_KICK,$2D,$55,FIGHTING,$E5,20
+db GLARE       ,$43,$00,NORMAL,$BF,30
+db DREAM_EATER ,$08,$64,PSYCHIC,$FF,15
+db POISON_GAS  ,$42,$00,POISON,$8C,40
+db BARRAGE     ,$1D,$0F,NORMAL,$D8,20
+db LEECH_LIFE  ,$03,$14,BUG,$FF,15
+db LOVELY_KISS ,$20,$00,NORMAL,$BF,10
+db SKY_ATTACK  ,$27,$8C,FLYING,$E5,5
+db TRANSFORM   ,$39,$00,NORMAL,$FF,10
+db BUBBLE      ,$46,$14,WATER,$FF,30
+db DIZZY_PUNCH ,$00,$46,NORMAL,$FF,10
+db SPORE       ,$20,$00,GRASS,$FF,15
+db FLASH       ,$16,$00,NORMAL,$B2,20
+db PSYWAVE     ,$29,$01,PSYCHIC,$CC,15
+db SPLASH      ,$55,$00,NORMAL,$FF,40
+db ACID_ARMOR  ,$33,$00,POISON,$FF,40
+db CRABHAMMER  ,$00,$5A,WATER,$D8,10
+db EXPLOSION   ,$07,$AA,NORMAL,$FF,5
+db FURY_SWIPES ,$1D,$12,NORMAL,$CC,15
+db BONEMERANG  ,$2C,$32,GROUND,$E5,10
+db REST        ,$38,$00,PSYCHIC,$FF,10
+db ROCK_SLIDE  ,$00,$4B,ROCK,$E5,10
+db HYPER_FANG  ,$1F,$50,NORMAL,$E5,15
+db SHARPEN     ,$0A,$00,NORMAL,$FF,30
+db CONVERSION  ,$18,$00,NORMAL,$FF,30
+db TRI_ATTACK  ,$00,$50,NORMAL,$FF,10
+db SUPER_FANG  ,$28,$01,NORMAL,$E5,10
+db SLASH       ,$00,$46,NORMAL,$FF,20
+db SUBSTITUTE  ,$4F,$00,NORMAL,$FF,10
+db STRUGGLE    ,$30,$32,NORMAL,$FF,10
+
+INCBIN "baserom.gbc",$383DE,$39884 - $383DE
+
+ReadMove: ; 5884
+	push hl
+	push de
+	push bc
+	dec a
+	ld hl,Moves
+	ld bc,6
+	call AddNTimes
+	ld de,$CFCC
+	call CopyData
+	pop bc
+	pop de
+	pop hl
+	ret
+
+; trainer data: from 5C53 to 652E
+
+INCBIN "baserom.gbc",$3989B,$39914 - $3989B
+
+; trainer pic pointers and base money.
+dw YoungsterPic
+db 0,$15,0
+
+dw BugCatcherPic
+db 0,$10,0
+
+dw LassPic
+db 0,$15,0
+
+dw SailorPic
+db 0,$30,0
+
+dw JrTrainerMPic
+db 0,$20,0
+
+dw JrTrainerFPic
+db 0,$20,0
+
+dw PokemaniacPic
+db 0,$50,0
+
+dw SuperNerdPic
+db 0,$25,0
+
+dw HikerPic
+db 0,$35,0
+
+dw BikerPic
+db 0,$20,0
+
+dw BurglarPic
+db 0,$90,0
+
+dw EngineerPic
+db 0,$50,0
+
+dw JugglerPic
+db 0,$35,0
+
+dw FisherPic
+db 0,$35,0
+
+dw SwimmerPic
+db 0,$05,0
+
+dw CueBallPic
+db 0,$25,0
+
+dw GamblerPic
+db 0,$70,0
+
+dw BeautyPic
+db 0,$70,0
+
+dw PsychicPic
+db 0,$10,0
+
+dw RockerPic
+db 0,$25,0
+
+dw JugglerPic
+db 0,$35,0
+
+dw TamerPic
+db 0,$40,0
+
+dw BirdKeeperPic
+db 0,$25,0
+
+dw BlackbeltPic
+db 0,$25,0
+
+dw Rival1Pic
+db 0,$35,0
+
+dw ProfOakPic
+db 0,$99,0
+
+dw ChiefPic
+db 0,$30,0
+
+dw ScientistPic
+db 0,$50,0
+
+dw GiovanniPic
+db 0,$99,0
+
+dw RocketPic
+db 0,$30,0
+
+dw CooltrainerMPic
+db 0,$35,0
+
+dw CooltrainerFPic
+db 0,$35,0
+
+dw BrunoPic
+db 0,$99,0
+
+dw BrockPic
+db 0,$99,0
+
+dw MistyPic
+db 0,$99,0
+
+dw LtSurgePic
+db 0,$99,0
+
+dw ErikaPic
+db 0,$99,0
+
+dw KogaPic
+db 0,$99,0
+
+dw BlainePic
+db 0,$99,0
+
+dw SabrinaPic
+db 0,$99,0
+
+dw GentlemanPic
+db 0,$70,0
+
+dw Rival2Pic
+db 0,$65,0
+
+dw Rival3Pic
+db 0,$99,0
+
+dw LoreleiPic
+db 0,$99,0
+
+dw ChannelerPic
+db 0,$30,0
+
+dw AgathaPic
+db 0,$99,0
+
+dw LancePic
+db 0,$99,0
+
+TrainerNames: ; 59FF
+	db "YOUNGSTER@"
+	db "BUG CATCHER@"
+	db "LASS@"
+	db "SAILOR@"
+	db "JR.TRAINER♂@"
+	db "JR.TRAINER♀@"
+	db "POKéMANIAC@"
+	db "SUPER NERD@"
+	db "HIKER@"
+	db "BIKER@"
+	db "BURGLAR@"
+	db "ENGINEER@"
+	db "JUGGLER@"
+	db "FISHERMAN@"
+	db "SWIMMER@"
+	db "CUE BALL@"
+	db "GAMBLER@"
+	db "BEAUTY@"
+	db "PSYCHIC@"
+	db "ROCKER@"
+	db "JUGGLER@"
+	db "TAMER@"
+	db "BIRD KEEPER@"
+	db "BLACKBELT@"
+	db "RIVAL1@"
+	db "PROF.OAK@"
+	db "CHIEF@"
+	db "SCIENTIST@"
+	db "GIOVANNI@"
+	db "ROCKET@"
+	db "COOLTRAINER♂@"
+	db "COOLTRAINER♀@"
+	db "BRUNO@"
+	db "BROCK@"
+	db "MISTY@"
+	db "LT.SURGE@"
+	db "ERIKA@"
+	db "KOGA@"
+	db "BLAINE@"
+	db "SABRINA@"
+	db "GENTLEMAN@"
+	db "RIVAL2@"
+	db "RIVAL3@"
+	db "LORELEI@"
+	db "CHANNELER@"
+	db "AGATHA@"
+	db "LANCE@"
+
+INCBIN "baserom.gbc",$39B87,$39C53 - $39B87
+
+ReadTrainer: ; 5C53
+
+; don't change any moves in a link battle
+	ld a,[W_ISLINKBATTLE]
+	and a
+	ret nz
+
+; set [W_ENEMYMONCOUNT] to 0, [$D89D] to FF
+; XXX first is total enemy pokemon?
+; XXX second is species of first pokemon?
+	ld hl,W_ENEMYMONCOUNT
+	xor a
+	ld [hli],a
+	dec a
+	ld [hl],a
+
+; get the pointer to trainer data for this class
+	ld a,[W_CUROPPONENT]
+	sub $C9 ; convert value from pokemon to trainer
+	add a,a
+	ld hl,TrainerDataPointers
+	ld c,a
+	ld b,0
+	add hl,bc ; hl points to trainer class
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	ld a,[W_TRAINERNO]
+	ld b,a
+; At this point b contains the trainer number,
+; and hl points to the trainer class.
+; Our next task is to iterate through the trainers,
+; decrementing b each time, until we get to the right one.
+.outer\@
+	dec b
+	jr z,.IterateTrainer
+.inner\@
+	ld a,[hli]
+	and a
+	jr nz,.inner\@
+	jr .outer\@
+
+; if the first byte of trainer data is FF,
+; - each pokemon has a specific level
+;      (as opposed to the whole team being of the same level)
+; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move
+; else the first byte is the level of every pokemon on the team
+.IterateTrainer
+	ld a,[hli]
+	cp $FF ; is the trainer special?
+	jr z,.SpecialTrainer\@ ; if so, check for special moves
+	ld [W_CURENEMYLVL],a
+.LoopTrainerData\@
+	ld a,[hli]
+	and a ; have we reached the end of the trainer data?
+	jr z,.FinishUp\@
+	ld [$CF91],a ; write species somewhere (XXX why?)
+	ld a,1
+	ld [$CC49],a
+	push hl
+	call AddPokemonToParty
+	pop hl
+	jr .LoopTrainerData\@
+.SpecialTrainer\@
+; if this code is being run:
+; - each pokemon has a specific level
+;      (as opposed to the whole team being of the same level)
+; - if [W_LONEATTACKNO] != 0, one pokemon on the team has a special move
+	ld a,[hli]
+	and a ; have we reached the end of the trainer data?
+	jr z,.AddLoneMove\@
+	ld [W_CURENEMYLVL],a
+	ld a,[hli]
+	ld [$CF91],a
+	ld a,1
+	ld [$CC49],a
+	push hl
+	call AddPokemonToParty
+	pop hl
+	jr .SpecialTrainer\@
+.AddLoneMove\@
+; does the trainer have a single monster with a different move
+	ld a,[W_LONEATTACKNO] ; Brock is 01, Misty is 02, Erika is 04, etc
+	and a
+	jr z,.AddTeamMove\@
+	dec a
+	add a,a
+	ld c,a
+	ld b,0
+	ld hl,LoneMoves
+	add hl,bc
+	ld a,[hli]
+	ld d,[hl]
+	ld hl,W_ENEMYMON1MOVE3
+	ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3
+	call AddNTimes
+	ld [hl],d
+	jr .FinishUp\@
+.AddTeamMove\@
+; check if our trainer's team has special moves
+
+; get trainer class number
+	ld a,[$D059]
+	sub $C8
+	ld b,a
+	ld hl,TeamMoves
+
+; iterate through entries in TeamMoves, checking each for our trainer class
+.IterateTeamMoves\@
+	ld a,[hli]
+	cp b
+	jr z,.GiveTeamMoves\@ ; is there a match?
+	inc hl ; if not, go to the next entry
+	inc a
+	jr nz,.IterateTeamMoves\@
+
+	; no matches found. is this trainer champion rival?
+	ld a,b
+	cp SONY3
+	jr z,.ChampionRival\@
+	jr .FinishUp\@ ; nope
+.GiveTeamMoves\@
+	ld a,[hl]
+	ld [$D95E],a
+	jr .FinishUp\@
+.ChampionRival\@ ; give moves to his team
+
+; pidgeot
+	ld a,SKY_ATTACK
+	ld [W_ENEMYMON1MOVE3],a
+
+; starter
+	ld a,[W_RIVALSTARTER]
+	cp BULBASAUR
+	ld b,MEGA_DRAIN
+	jr z,.GiveStarterMove\@
+	cp CHARMANDER
+	ld b,FIRE_BLAST
+	jr z,.GiveStarterMove\@
+	ld b,BLIZZARD ; must be squirtle
+.GiveStarterMove\@
+	ld a,b
+	ld [W_ENEMYMON6MOVE3],a
+.FinishUp\@ ; XXX this needs documenting
+	xor a       ; clear D079-D07B
+	ld de,$D079
+	ld [de],a
+	inc de
+	ld [de],a
+	inc de
+	ld [de],a
+	ld a,[W_CURENEMYLVL]
+	ld b,a
+.LastLoop\@
+	ld hl,$D047
+	ld c,2
+	push bc
+	ld a,$B
+	call Predef
+	pop bc
+	inc de
+	inc de
+	dec b
+	jr nz,.LastLoop\@
+	ret
+
+LoneMoves: ; 5D22
+; these are used for gym leaders.
+; this is not automatic! you have to write the number you want to W_LONEATTACKNO
+; first. e.g., erika's script writes 4 to W_LONEATTACKNO to get mega drain,
+; the fourth entry in the list.
+
+; first byte:  pokemon in the trainer's party that gets the move
+; second byte: move
+; unterminated
+	db 1,BIDE
+	db 1,BUBBLEBEAM
+	db 2,THUNDERBOLT
+	db 2,MEGA_DRAIN
+	db 3,TOXIC
+	db 3,PSYWAVE
+	db 3,FIRE_BLAST
+	db 4,FISSURE
+
+TeamMoves: ; 5D32
+; these are used for elite four.
+; this is automatic, based on trainer class.
+; don't be confused by LoneMoves above, the two data structures are
+	; _completely_ unrelated.
+
+; first byte: trainer (all trainers in this class have this move)
+; second byte: move
+; ff-terminated
+	db LORELEI,BLIZZARD
+	db BRUNO,FISSURE
+	db AGATHA,TOXIC
+	db LANCE,BARRIER
+	db $FF
+
+TrainerDataPointers: ; 5D3B
+	dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData
+	dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData
+	dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData
+	dw CueBallData,GamblerData,BeautyData,PsychicData,RockerData
+	dw JugglerData,TamerData,BirdKeeperData,BlackbeltData,Green1Data
+	dw ProfOakData,ChiefData,ScientistData,GiovanniData,RocketData
+	dw CooltrainerMData,CooltrainerFData,BrunoData,BrockData,MistyData
+	dw LtSurgeData,ErikaData,KogaData,BlaineData,SabrinaData
+	dw GentlemanData,Green2Data,Green3Data,LoreleiData,ChannelerData
+	dw AgathaData,LanceData
+
+; if first byte != FF, then
+	; first byte is level (of all pokemon on this team)
+	; all the next bytes are pokemon species
+	; null-terminated
+; if first byte == FF, then
+	; first byte is FF (obviously)
+	; every next two bytes are a level and species
+	; null-terminated
+
+YoungsterData:
+	db 11,RATTATA,EKANS,0
+	db 14,SPEAROW,0
+	db 10,RATTATA,RATTATA,ZUBAT,0
+	db 14,RATTATA,EKANS,ZUBAT,0
+	db 15,RATTATA,SPEAROW,0
+	db 17,SLOWPOKE,0
+	db 14,EKANS,SANDSHREW,0
+	db 21,NIDORAN_M,0
+	db 21,EKANS,0
+	db 19,SANDSHREW,ZUBAT,0
+	db 17,RATTATA,RATTATA,RATICATE,0
+	db 18,NIDORAN_M,NIDORINO,0
+	db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0
+BugCatcherData:
+	db 6,WEEDLE,CATERPIE,0
+	db 7,WEEDLE,KAKUNA,WEEDLE,0
+	db 9,WEEDLE,0
+	db 10,CATERPIE,WEEDLE,CATERPIE,0
+	db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0
+	db 11,CATERPIE,METAPOD,0
+	db 11,WEEDLE,KAKUNA,0
+	db 10,CATERPIE,METAPOD,CATERPIE,0
+	db 14,CATERPIE,WEEDLE,0
+	db 16,WEEDLE,CATERPIE,WEEDLE,0
+	db 20,BUTTERFREE,0
+	db 18,METAPOD,CATERPIE,VENONAT,0
+	db 19,BEEDRILL,BEEDRILL,0
+	db 20,CATERPIE,WEEDLE,VENONAT,0
+LassData:
+	db 9,PIDGEY,PIDGEY,0
+	db 10,RATTATA,NIDORAN_M,0
+	db 14,JIGGLYPUFF,0
+	db 31,PARAS,PARAS,PARASECT,0
+	db 11,ODDISH,BELLSPROUT,0
+	db 14,CLEFAIRY,0
+	db 16,PIDGEY,NIDORAN_F,0
+	db 14,PIDGEY,NIDORAN_F,0
+	db 15,NIDORAN_M,NIDORAN_F,0
+	db 13,ODDISH,PIDGEY,ODDISH,0
+	db 18,PIDGEY,NIDORAN_F,0
+	db 18,RATTATA,PIKACHU,0
+	db 23,NIDORAN_F,NIDORINA,0
+	db 24,MEOWTH,MEOWTH,MEOWTH,0
+	db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0
+	db 22,CLEFAIRY,CLEFAIRY,0
+	db 23,BELLSPROUT,WEEPINBELL,0
+	db 23,ODDISH,GLOOM,0
+SailorData:
+	db 18,MACHOP,SHELLDER,0
+	db 17,MACHOP,TENTACOOL,0
+	db 21,SHELLDER,0
+	db 17,HORSEA,SHELLDER,TENTACOOL,0
+	db 18,TENTACOOL,STARYU,0
+	db 17,HORSEA,HORSEA,HORSEA,0
+	db 20,MACHOP,0
+	db 21,PIKACHU,PIKACHU,0
+JrTrainerMData:
+	db 11,DIGLETT,SANDSHREW,0
+	db 14,RATTATA,EKANS,0
+	db 18,MANKEY,0
+	db 20,SQUIRTLE,0
+	db 16,SPEAROW,RATICATE,0
+	db 18,DIGLETT,DIGLETT,SANDSHREW,0
+	db 21,GROWLITHE,CHARMANDER,0
+	db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0
+	db 29,NIDORAN_M,NIDORINO,0
+JrTrainerFData:
+	db 19,GOLDEEN,0
+	db 16,RATTATA,PIKACHU,0
+	db 16,PIDGEY,PIDGEY,PIDGEY,0
+	db 22,BULBASAUR,0
+	db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
+	db 23,MEOWTH,0
+	db 20,PIKACHU,CLEFAIRY,0
+	db 21,PIDGEY,PIDGEOTTO,0
+	db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0
+	db 22,ODDISH,BULBASAUR,0
+	db 24,BULBASAUR,IVYSAUR,0
+	db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0
+	db 30,POLIWAG,POLIWAG,0
+	db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0
+	db 28,GOLDEEN,POLIWAG,HORSEA,0
+	db 31,GOLDEEN,SEAKING,0
+	db 22,BELLSPROUT,CLEFAIRY,0
+	db 20,MEOWTH,ODDISH,PIDGEY,0
+	db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0
+	db 28,GLOOM,ODDISH,ODDISH,0
+	db 29,PIKACHU,RAICHU,0
+	db 33,CLEFAIRY,0
+	db 29,BELLSPROUT,ODDISH,TANGELA,0
+	db 30,TENTACOOL,HORSEA,SEEL,0
+PokemaniacData:
+	db 30,RHYHORN,LICKITUNG,0
+	db 20,CUBONE,SLOWPOKE,0
+	db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0
+	db 22,CHARMANDER,CUBONE,0
+	db 25,SLOWPOKE,0
+	db 40,CHARMELEON,LAPRAS,LICKITUNG,0
+	db 23,CUBONE,SLOWPOKE,0
+SuperNerdData:
+	db 11,MAGNEMITE,VOLTORB,0
+	db 12,GRIMER,VOLTORB,KOFFING,0
+	db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0
+	db 22,GRIMER,MUK,GRIMER,0
+	db 26,KOFFING,0
+	db 22,KOFFING,MAGNEMITE,WEEZING,0
+	db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0
+	db 24,MAGNEMITE,VOLTORB,0
+	db 36,VULPIX,VULPIX,NINETALES,0
+	db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0
+	db 41,RAPIDASH,0
+	db 37,GROWLITHE,VULPIX,0
+HikerData:
+	db 10,GEODUDE,GEODUDE,ONIX,0
+	db 15,MACHOP,GEODUDE,0
+	db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0
+	db 17,ONIX,0
+	db 21,GEODUDE,ONIX,0
+	db 20,GEODUDE,MACHOP,GEODUDE,0
+	db 21,GEODUDE,ONIX,0
+	db 19,ONIX,GRAVELER,0
+	db 21,GEODUDE,GEODUDE,GRAVELER,0
+	db 25,GEODUDE,0
+	db 20,MACHOP,ONIX,0
+	db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0
+	db 20,ONIX,ONIX,GEODUDE,0
+	db 21,GEODUDE,GRAVELER,0
+BikerData:
+	db 28,KOFFING,KOFFING,KOFFING,0
+	db 29,KOFFING,GRIMER,0
+	db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0
+	db 28,KOFFING,GRIMER,WEEZING,0
+	db 29,GRIMER,KOFFING,0
+	db 33,WEEZING,0
+	db 26,GRIMER,GRIMER,GRIMER,GRIMER,0
+	db 28,WEEZING,KOFFING,WEEZING,0
+	db 33,MUK,0
+	db 29,VOLTORB,VOLTORB,0
+	db 29,WEEZING,MUK,0
+	db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0
+	db 26,KOFFING,KOFFING,GRIMER,KOFFING,0
+	db 28,GRIMER,GRIMER,KOFFING,0
+	db 29,KOFFING,MUK,0
+BurglarData:
+	db 29,GROWLITHE,VULPIX,0
+	db 33,GROWLITHE,0
+	db 28,VULPIX,CHARMANDER,PONYTA,0
+	db 36,GROWLITHE,VULPIX,NINETALES,0
+	db 41,PONYTA,0
+	db 37,VULPIX,GROWLITHE,0
+	db 34,CHARMANDER,CHARMELEON,0
+	db 38,NINETALES,0
+	db 34,GROWLITHE,PONYTA,0
+EngineerData:
+	db 21,VOLTORB,MAGNEMITE,0
+	db 21,MAGNEMITE,0
+	db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0
+Juggler1Data:
+; none
+FisherData:
+	db 17,GOLDEEN,TENTACOOL,GOLDEEN,0
+	db 17,TENTACOOL,STARYU,SHELLDER,0
+	db 22,GOLDEEN,POLIWAG,GOLDEEN,0
+	db 24,TENTACOOL,GOLDEEN,0
+	db 27,GOLDEEN,0
+	db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0
+	db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0
+	db 31,SHELLDER,CLOYSTER,0
+	db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0
+	db 33,SEAKING,GOLDEEN,0
+	db 24,MAGIKARP,MAGIKARP,0
+SwimmerData:
+	db 16,HORSEA,SHELLDER,0
+	db 30,TENTACOOL,SHELLDER,0
+	db 29,GOLDEEN,HORSEA,STARYU,0
+	db 30,POLIWAG,POLIWHIRL,0
+	db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0
+	db 29,GOLDEEN,SHELLDER,SEAKING,0
+	db 30,HORSEA,HORSEA,0
+	db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0
+	db 31,SHELLDER,CLOYSTER,0
+	db 35,STARYU,0
+	db 28,HORSEA,HORSEA,SEADRA,HORSEA,0
+	db 33,SEADRA,TENTACRUEL,0
+	db 37,STARMIE,0
+	db 33,STARYU,WARTORTLE,0
+	db 32,POLIWHIRL,TENTACOOL,SEADRA,0
+CueBallData:
+	db 28,MACHOP,MANKEY,MACHOP,0
+	db 29,MANKEY,MACHOP,0
+	db 33,MACHOP,0
+	db 29,MANKEY,PRIMEAPE,0
+	db 29,MACHOP,MACHOKE,0
+	db 33,MACHOKE,0
+	db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0
+	db 29,PRIMEAPE,MACHOKE,0
+	db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0
+GamblerData:
+	db 18,POLIWAG,HORSEA,0
+	db 18,BELLSPROUT,ODDISH,0
+	db 18,VOLTORB,MAGNEMITE,0
+	db 18,GROWLITHE,VULPIX,0
+	db 22,POLIWAG,POLIWAG,POLIWHIRL,0
+	db 22,ONIX,GEODUDE,GRAVELER,0
+	db 24,GROWLITHE,VULPIX,0
+BeautyData:
+	db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
+	db 24,BELLSPROUT,BELLSPROUT,0
+	db 26,EXEGGCUTE,0
+	db 27,RATTATA,PIKACHU,RATTATA,0
+	db 29,CLEFAIRY,MEOWTH,0
+	db 35,SEAKING,0
+	db 30,SHELLDER,SHELLDER,CLOYSTER,0
+	db 31,POLIWAG,SEAKING,0
+	db 29,PIDGEOTTO,WIGGLYTUFF,0
+	db 29,BULBASAUR,IVYSAUR,0
+	db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0
+	db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0
+	db 30,GOLDEEN,SEAKING,0
+	db 29,STARYU,STARYU,STARYU,0
+	db 30,SEADRA,HORSEA,SEADRA,0
+PsychicData:
+	db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0
+	db 34,MR_MIME,KADABRA,0
+	db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0
+	db 38,SLOWBRO,0
+RockerData:
+	db 20,VOLTORB,MAGNEMITE,VOLTORB,0
+	db 29,VOLTORB,ELECTRODE,0
+JugglerData:
+	db 29,KADABRA,MR_MIME,0
+	db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0
+	db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0
+	db 34,DROWZEE,HYPNO,0
+	db 48,MR_MIME,0
+	db 33,HYPNO,0
+	db 38,HYPNO,0
+	db 34,DROWZEE,KADABRA,0
+TamerData:
+	db 34,SANDSLASH,ARBOK,0
+	db 33,ARBOK,SANDSLASH,ARBOK,0
+	db 43,RHYHORN,0
+	db 39,ARBOK,TAUROS,0
+	db 44,PERSIAN,GOLDUCK,0
+	db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0
+BirdKeeperData:
+	db 29,PIDGEY,PIDGEOTTO,0
+	db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0
+	db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0
+	db 33,FARFETCH_D,0
+	db 29,SPEAROW,FEAROW,0
+	db 26,PIDGEOTTO,FARFETCH_D,DODUO,PIDGEY,0
+	db 28,DODRIO,DODUO,DODUO,0
+	db 29,SPEAROW,FEAROW,0
+	db 34,DODRIO,0
+	db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0
+	db 30,FEAROW,FEAROW,PIDGEOTTO,0
+	db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0
+	db 42,FARFETCH_D,FEAROW,0
+	db 28,PIDGEY,DODUO,PIDGEOTTO,0
+	db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0
+	db 29,PIDGEOTTO,FEAROW,0
+	db 28,SPEAROW,DODUO,FEAROW,0
+BlackbeltData:
+	db 37,HITMONLEE,HITMONCHAN,0
+	db 31,MANKEY,MANKEY,PRIMEAPE,0
+	db 32,MACHOP,MACHOKE,0
+	db 36,PRIMEAPE,0
+	db 31,MACHOP,MANKEY,PRIMEAPE,0
+	db 40,MACHOP,MACHOKE,0
+	db 43,MACHOKE,0
+	db 38,MACHOKE,MACHOP,MACHOKE,0
+	db 43,MACHOKE,MACHOP,MACHOKE,0
+Green1Data:
+	db 5,SQUIRTLE,0
+	db 5,BULBASAUR,0
+	db 5,CHARMANDER,0
+	db $FF,9,PIDGEY,8,SQUIRTLE,0
+	db $FF,9,PIDGEY,8,BULBASAUR,0
+	db $FF,9,PIDGEY,8,CHARMANDER,0
+	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0
+	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0
+	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0
+ProfOakData:
+	db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0
+	db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0
+	db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0
+ChiefData:
+; none
+ScientistData:
+	db 34,KOFFING,VOLTORB,0
+	db 26,GRIMER,WEEZING,KOFFING,WEEZING,0
+	db 28,MAGNEMITE,VOLTORB,MAGNETON,0
+	db 29,ELECTRODE,WEEZING,0
+	db 33,ELECTRODE,0
+	db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0
+	db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0
+	db 29,ELECTRODE,MUK,0
+	db 29,GRIMER,ELECTRODE,0
+	db 28,VOLTORB,KOFFING,MAGNETON,0
+	db 29,MAGNEMITE,KOFFING,0
+	db 33,MAGNEMITE,MAGNETON,VOLTORB,0
+	db 34,MAGNEMITE,ELECTRODE,0
+GiovanniData:
+	db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0
+	db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0
+	db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0
+RocketData:
+	db 13,RATTATA,ZUBAT,0
+	db 11,SANDSHREW,RATTATA,ZUBAT,0
+	db 12,ZUBAT,EKANS,0
+	db 16,RATICATE,0
+	db 17,MACHOP,DROWZEE,0
+	db 15,EKANS,ZUBAT,0
+	db 20,RATICATE,ZUBAT,0
+	db 21,DROWZEE,MACHOP,0
+	db 21,RATICATE,RATICATE,0
+	db 20,GRIMER,KOFFING,KOFFING,0
+	db 19,RATTATA,RATICATE,RATICATE,RATTATA,0
+	db 22,GRIMER,KOFFING,0
+	db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0
+	db 20,RATTATA,RATICATE,DROWZEE,0
+	db 21,MACHOP,MACHOP,0
+	db 23,SANDSHREW,EKANS,SANDSLASH,0
+	db 23,EKANS,SANDSHREW,ARBOK,0
+	db 21,KOFFING,ZUBAT,0
+	db 25,ZUBAT,ZUBAT,GOLBAT,0
+	db 26,KOFFING,DROWZEE,0
+	db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0
+	db 26,DROWZEE,KOFFING,0
+	db 29,CUBONE,ZUBAT,0
+	db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0
+	db 28,RATICATE,HYPNO,RATICATE,0
+	db 29,MACHOP,DROWZEE,0
+	db 28,EKANS,ZUBAT,CUBONE,0
+	db 33,ARBOK,0
+	db 33,HYPNO,0
+	db 29,MACHOP,MACHOKE,0
+	db 28,ZUBAT,ZUBAT,GOLBAT,0
+	db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0
+	db 29,CUBONE,CUBONE,0
+	db 29,SANDSHREW,SANDSLASH,0
+	db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0
+	db 28,WEEZING,GOLBAT,KOFFING,0
+	db 28,DROWZEE,GRIMER,MACHOP,0
+	db 28,GOLBAT,DROWZEE,HYPNO,0
+	db 33,MACHOKE,0
+	db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0
+	db 32,CUBONE,DROWZEE,MAROWAK,0
+CooltrainerMData:
+	db 39,NIDORINO,NIDOKING,0
+	db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0
+	db 43,KINGLER,TENTACRUEL,BLASTOISE,0
+	db 45,KINGLER,STARMIE,0
+	db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0
+	db 44,IVYSAUR,WARTORTLE,CHARMELEON,0
+	db 49,NIDOKING,0
+	db 44,KINGLER,CLOYSTER,0
+	db 39,SANDSLASH,DUGTRIO,0
+	db 43,RHYHORN,0
+CooltrainerFData:
+	db 24,WEEPINBELL,GLOOM,IVYSAUR,0
+	db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0
+	db 43,PARASECT,DEWGONG,CHANSEY,0
+	db 46,VILEPLUME,BUTTERFREE,0
+	db 44,PERSIAN,NINETALES,0
+	db 45,IVYSAUR,VENUSAUR,0
+	db 45,NIDORINA,NIDOQUEEN,0
+	db 43,PERSIAN,NINETALES,RAICHU,0
+BrunoData:
+	db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0
+BrockData:
+	db $FF,12,GEODUDE,14,ONIX,0
+MistyData:
+	db $FF,18,STARYU,21,STARMIE,0
+LtSurgeData:
+	db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0
+ErikaData:
+	db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0
+KogaData:
+	db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0
+BlaineData:
+	db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0
+SabrinaData:
+	db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0
+GentlemanData:
+	db 18,GROWLITHE,GROWLITHE,0
+	db 19,NIDORAN_M,NIDORAN_F,0
+	db 23,PIKACHU,0
+	db 48,PRIMEAPE,0
+	db 17,GROWLITHE,PONYTA,0
+Green2Data:
+	db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0
+	db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0
+	db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0
+	db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0
+	db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0
+	db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0
+	db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0
+	db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0
+	db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0
+	db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0
+	db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0
+	db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0
+Green3Data:
+	db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0
+	db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0
+	db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0
+LoreleiData:
+	db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0
+ChannelerData:
+	db 22,GASTLY,0
+	db 24,GASTLY,0
+	db 23,GASTLY,GASTLY,0
+	db 24,GASTLY,0
+	db 23,GASTLY,0
+	db 24,GASTLY,0
+	db 24,HAUNTER,0
+	db 22,GASTLY,0
+	db 24,GASTLY,0
+	db 23,GASTLY,GASTLY,0
+	db 24,GASTLY,0
+	db 22,GASTLY,0
+	db 24,GASTLY,0
+	db 23,HAUNTER,0
+	db 24,GASTLY,0
+	db 22,GASTLY,0
+	db 24,GASTLY,0
+	db 22,HAUNTER,0
+	db 22,GASTLY,GASTLY,GASTLY,0
+	db 24,GASTLY,0
+	db 24,GASTLY,0
+	db 34,GASTLY,HAUNTER,0
+	db 38,HAUNTER,0
+	db 33,GASTLY,GASTLY,HAUNTER,0
+AgathaData:
+	db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0
+LanceData:
+	db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0
+
+TrainerAI: ; 652E
+;XXX called at 34964, 3c342, 3c398
+	and a
+	ld a,[W_ISINBATTLE]
+	dec a
+	ret z ; if not a trainer, we're done here
+	ld a,[W_ISLINKBATTLE]
+	cp 4
+	ret z
+	ld a,[W_TRAINERCLASS] ; what trainer class is this?
+	dec a
+	ld c,a
+	ld b,0
+	ld hl,TrainerAIPointers
+	add hl,bc
+	add hl,bc
+	add hl,bc
+	ld a,[W_AICOUNT]
+	and a
+	ret z ; if no AI uses left, we're done here
+	inc hl
+	inc a
+	jr nz,.getpointer\@
+	dec hl
+	ld a,[hli]
+	ld [W_AICOUNT],a
+.getpointer\@
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	call GenRandom
+	jp [hl]
+
+TrainerAIPointers: ; 655C
+; one entry per trainer class
+; first byte, number of times (per Pokémon) it can occur
+; next two bytes, pointer to AI subroutine for trainer class
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,JugglerAI ; juggler_x
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 3,JugglerAI ; juggler
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 2,BlackbeltAI ; blackbelt
+	dbw 3,GenericAI
+	dbw 3,GenericAI
+	dbw 1,GenericAI ; chief
+	dbw 3,GenericAI
+	dbw 1,GiovanniAI ; giovanni
+	dbw 3,GenericAI
+	dbw 2,CooltrainerMAI ; cooltrainerm
+	dbw 1,CooltrainerFAI ; cooltrainerf
+	dbw 2,BrunoAI ; bruno
+	dbw 5,BrockAI ; brock
+	dbw 1,MistyAI ; misty
+	dbw 1,LtSurgeAI ; surge
+	dbw 1,ErikaAI ; erika
+	dbw 2,KogaAI ; koga
+	dbw 2,BlaineAI ; blaine
+	dbw 1,SabrinaAI ; sabrina
+	dbw 3,GenericAI
+	dbw 1,Sony2AI ; sony2
+	dbw 1,Sony3AI ; sony3
+	dbw 2,LoreleiAI ; lorelei
+	dbw 3,GenericAI
+	dbw 2,AgathaAI ; agatha
+	dbw 1,LanceAI ; lance
+
+JugglerAI:
+	cp $40
+	ret nc
+	jp $672A
+
+BlackbeltAI:
+	cp $20
+	ret nc
+	jp AIUseXAttack
+
+GiovanniAI:
+	cp $40
+	ret nc
+	jp AIUseGuardSpec
+
+CooltrainerMAI:
+	cp $40
+	ret nc
+	jp AIUseXAttack
+
+CooltrainerFAI:
+	cp $40
+	ld a,$A
+	call $67CF
+	jp c,AIUseHyperPotion
+	ld a,5
+	call $67CF
+	ret nc
+	jp $672A
+
+BrockAI:
+; if his active monster has a status condition, use a full heal
+	ld a,[W_ENEMYMONSTATUS]
+	and a
+	ret z
+	jp AIUseFullHeal
+
+MistyAI:
+	cp $40
+	ret nc
+	jp AIUseXDefend
+
+LtSurgeAI:
+	cp $40
+	ret nc
+	jp AIUseXSpeed
+
+ErikaAI:
+	cp $80
+	ret nc
+	ld a,$A
+	call $67CF
+	ret nc
+	jp AIUseSuperPotion
+
+KogaAI:
+	cp $40
+	ret nc
+	jp AIUseXAttack
+
+BlaineAI:
+	cp $40
+	ret nc
+	jp AIUseSuperPotion
+
+SabrinaAI:
+	cp $40
+	ret nc
+	ld a,$A
+	call $67CF
+	ret nc
+	jp AIUseHyperPotion
+
+Sony2AI:
+	cp $20
+	ret nc
+	ld a,5
+	call $67CF
+	ret nc
+	jp AIUsePotion
+
+Sony3AI:
+	cp $20
+	ret nc
+	ld a,5
+	call $67CF
+	ret nc
+	jp AIUseFullRestore
+
+LoreleiAI:
+	cp $80
+	ret nc
+	ld a,5
+	call $67CF
+	ret nc
+	jp AIUseSuperPotion
+
+BrunoAI:
+	cp $40
+	ret nc
+	jp AIUseXDefend
+
+AgathaAI:
+	cp $14
+	jp c,$672A
+	cp $80
+	ret nc
+	ld a,4
+	call $67CF
+	ret nc
+	jp AIUseSuperPotion
+
+LanceAI:
+	cp $80
+	ret nc
+	ld a,5
+	call $67CF
+	ret nc
+	jp AIUseHyperPotion
+
+GenericAI:
+	and a ; clear carry
+	ret
+
+; end of individual trainer AI routines
+
+DecrementAICount: ; 6695
+	ld hl,W_AICOUNT
+	dec [hl]
+	scf
+	ret
+
+Function669B: ; 669B
+; XXX what does this do
+	ld a,$8E
+	jp $3740
+
+AIUseFullRestore: ; 0x3a6a0
+	call AICureStatus
+	ld a,FULL_RESTORE
+	ld [$CF05],a
+	ld de,$CEEB
+	ld hl,$CFE7
+	ld a,[hld]
+	ld [de],a
+	inc de
+	ld a,[hl]
+	ld [de],a
+	inc de
+	ld hl,$CFF5
+	ld a,[hld]
+	ld [de],a
+	inc de
+	ld [$CEE9],a
+	ld [$CFE7],a
+	ld a,[hl]
+	ld [de],a
+	ld [$CEEA],a
+	ld [W_ENEMYMONCURHP],a
+	jr Function6718
+; 0x3a6ca
+
+AIUsePotion: ; 0x3a6ca
+; enemy trainer heals his monster with a potion
+	ld a,POTION
+	ld b,20
+	jr AIRecoverHP
+
+AIUseSuperPotion: ; 0x3a6d0
+; enemy trainer heals his monster with a super potion
+	ld a,SUPER_POTION
+	ld b,50
+	jr AIRecoverHP
+
+AIUseHyperPotion: ; 0x3a6d6
+; enemy trainer heals his monster with a hyper potion
+	ld a,HYPER_POTION
+	ld b,200
+	; fallthrough
+
+AIRecoverHP: ; 66DA
+; heal b HP and print "trainer used $(a) on pokemon!"
+	ld [$CF05],a
+	ld hl,$CFE7
+	ld a,[hl]
+	ld [$CEEB],a
+	add b
+	ld [hld],a
+	ld [$CEED],a
+	ld a,[hl]
+	ld [$CEEC],a
+	ld [$CEEE],a
+	jr nc,.next\@
+	inc a
+	ld [hl],a
+	ld [$CEEE],a
+.next\@
+	inc hl
+	ld a,[hld]
+	ld b,a
+	ld de,$CFF5
+	ld a,[de]
+	dec de
+	ld [$CEE9],a
+	sub b
+	ld a,[hli]
+	ld b,a
+	ld a,[de]
+	ld [$CEEA],a
+	sbc b
+	jr nc,Function6718
+	inc de
+	ld a,[de]
+	dec de
+	ld [hld],a
+	ld [$CEED],a
+	ld a,[de]
+	ld [hl],a
+	ld [$CEEE],a
+	; fallthrough
+
+Function6718: ; 6718
+	call AIPrintItemUse_
+	ld hl,$C3CA
+	xor a
+	ld [$CF94],a
+	ld a,$48
+	call Predef
+	jp DecrementAICount
+
+Function672A: ; 672A
+	ld a,[W_ENEMYMONCOUNT]
+	ld c,a
+	ld hl,W_ENEMYMON1HP
+
+	ld d,0 ; keep count of unfainted monsters
+
+	; count how many monsters haven't fainted yet
+.loop\@
+	ld a,[hli]
+	ld b,a
+	ld a,[hld]
+	or b
+	jr z,.Fainted\@ ; has monster fainted?
+	inc d
+.Fainted\@
+	push bc
+	ld bc,$2C
+	add hl,bc
+	pop bc
+	dec c
+	jr nz,.loop\@
+
+	ld a,d ; how many available monsters are there?
+	cp 2 ; don't bother if only 1 or 2
+	jp nc,Function674B ; XXX check, does this jump when a = 2?
+	and a
+	ret
+
+Function674B: ; 674B
+
+; prepare to withdraw the active monster: copy hp, number, and status to roster
+
+	ld a,[W_ENEMYMONNUMBER]
+	ld hl,W_ENEMYMON1HP
+	ld bc,$2C
+	call AddNTimes
+	ld d,h
+	ld e,l
+	ld hl,W_ENEMYMONCURHP
+	ld bc,4
+	call CopyData
+
+	ld hl, AIBattleWithdrawText
+	call PrintText
+
+	ld a,1
+	ld [$D11D],a
+	ld hl,EnemySendOut
+	ld b,BANK(EnemySendOut)
+	call Bankswitch
+	xor a
+	ld [$D11D],a
+
+	ld a,[W_ISLINKBATTLE]
+	cp 4
+	ret z
+	scf
+	ret
+
+AIBattleWithdrawText: ; 0x3a781
+	TX_FAR _AIBattleWithdrawText
+	db "@"
+
+AIUseFullHeal: ; 0x3a786
+	call $669B
+	call AICureStatus
+	ld a,FULL_HEAL
+	jp AIPrintItemUse
+
+AICureStatus: ; 0x3a791
+; cures the status of enemy's active pokemon
+	ld a,[W_ENEMYMONNUMBER]
+	ld hl,$D8A8
+	ld bc,$2C
+	call AddNTimes
+	xor a
+	ld [hl],a ; clear status in enemy team roster
+	ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
+	ld hl,$D069
+	res 0,[hl]
+	ret
+
+AIUseXAccuracy: ; 0x3a7a8 unused
+	call $669B
+	ld hl,$D068
+	set 0,[hl]
+	ld a,X_ACCURACY
+	jp AIPrintItemUse
+
+AIUseGuardSpec: ; 0x3a7b5
+	call $669B
+	ld hl,$D068
+	set 1,[hl]
+	ld a,GUARD_SPEC_
+	jp AIPrintItemUse
+
+AIUseDireHit: ; 0x3a7c2 unused
+	call $669B
+	ld hl,$D068
+	set 2,[hl]
+	ld a,DIRE_HIT
+	jp AIPrintItemUse
+
+Function67CF: ; 0x3a7cf 67CF
+	ld [H_DIVISOR],a
+	ld hl,$CFF4
+	ld a,[hli]
+	ld [H_DIVIDEND],a
+	ld a,[hl]
+	ld [H_DIVIDEND + 1],a
+	ld b,2
+	call $38B9
+	ld a,[H_QUOTIENT + 3]
+	ld c,a
+	ld a,[H_QUOTIENT + 2]
+	ld b,a
+	ld hl,$CFE7
+	ld a,[hld]
+	ld e,a
+	ld a,[hl]
+	ld d,a
+	ld a,d
+	sub b
+	ret nz
+	ld a,e
+	sub c
+	ret
+
+AIUseXAttack: ; 0x3a7f2
+	ld b,$A
+	ld a,X_ATTACK
+	jr AIIncreaseStat
+
+AIUseXDefend: ; 0x3a7f8
+	ld b,$B
+	ld a,X_DEFEND
+	jr AIIncreaseStat
+
+AIUseXSpeed: ; 0x3a7fe
+	ld b,$C
+	ld a,X_SPEED
+	jr AIIncreaseStat
+
+AIUseXSpecial: ; 0x3a804
+	ld b,$D
+	ld a,X_SPECIAL
+	; fallthrough
+
+AIIncreaseStat: ; 0x3a808
+	ld [$CF05],a
+	push bc
+	call AIPrintItemUse_
+	pop bc
+	ld hl,$CFCD
+	ld a,[hld]
+	push af
+	ld a,[hl]
+	push af
+	push hl
+	ld a,$AF
+	ld [hli],a
+	ld [hl],b
+	ld hl,$7428
+	ld b,$F
+	call Bankswitch
+	pop hl
+	pop af
+	ld [hli],a
+	pop af
+	ld [hl],a
+	jp DecrementAICount
+
+AIPrintItemUse: ; 0x3a82c
+	ld [$CF05],a
+	call AIPrintItemUse_
+	jp DecrementAICount
+
+AIPrintItemUse_: ; 0x3a835
+; print "x used [$CF05] on z!"
+	ld a,[$CF05]
+	ld [$D11E],a
+	call GetItemName
+	ld hl, AIBattleUseItemText
+	jp PrintText
+
+AIBattleUseItemText: ; 0x3a844
+	TX_FAR _AIBattleUseItemText
+	db "@"
+
+INCBIN "baserom.gbc",$3a849,$3af3e - $3a849
+
+UnnamedText_3af3e: ; 0x3af3e
+	TX_FAR _UnnamedText_3af3e
+	db $50
+; 0x3af3e + 5 bytes
+
+UnnamedText_3af43: ; 0x3af43
+	TX_FAR _UnnamedText_3af43
+	db $50
+; 0x3af43 + 5 bytes
+
+UnnamedText_3af48: ; 0x3af48
+	TX_FAR _UnnamedText_3af48
+	db $50
+; 0x3af48 + 5 bytes
+
+UnnamedText_3af4d: ; 0x3af4d
+	TX_FAR _UnnamedText_3af4d
+	db $50
+; 0x3af4d + 5 bytes
+
+INCBIN "baserom.gbc",$3af52,$10a
+
+EvosMovesPointerTable: ; 705C
+	dw Mon112_EvosMoves
+	dw Mon115_EvosMoves
+	dw Mon032_EvosMoves
+	dw Mon035_EvosMoves
+	dw Mon021_EvosMoves
+	dw Mon100_EvosMoves
+	dw Mon034_EvosMoves
+	dw Mon080_EvosMoves
+	dw Mon002_EvosMoves
+	dw Mon103_EvosMoves
+	dw Mon108_EvosMoves
+	dw Mon102_EvosMoves
+	dw Mon088_EvosMoves
+	dw Mon094_EvosMoves
+	dw Mon029_EvosMoves
+	dw Mon031_EvosMoves
+	dw Mon104_EvosMoves
+	dw Mon111_EvosMoves
+	dw Mon131_EvosMoves
+	dw Mon059_EvosMoves
+	dw Mon151_EvosMoves
+	dw Mon130_EvosMoves
+	dw Mon090_EvosMoves
+	dw Mon072_EvosMoves
+	dw Mon092_EvosMoves
+	dw Mon123_EvosMoves
+	dw Mon120_EvosMoves
+	dw Mon009_EvosMoves
+	dw Mon127_EvosMoves
+	dw Mon114_EvosMoves
+	dw Mon152_EvosMoves	;MissingNo
+	dw Mon153_EvosMoves	;MissingNo
+	dw Mon058_EvosMoves
+	dw Mon095_EvosMoves
+	dw Mon022_EvosMoves
+	dw Mon016_EvosMoves
+	dw Mon079_EvosMoves
+	dw Mon064_EvosMoves
+	dw Mon075_EvosMoves
+	dw Mon113_EvosMoves
+	dw Mon067_EvosMoves
+	dw Mon122_EvosMoves
+	dw Mon106_EvosMoves
+	dw Mon107_EvosMoves
+	dw Mon024_EvosMoves
+	dw Mon047_EvosMoves
+	dw Mon054_EvosMoves
+	dw Mon096_EvosMoves
+	dw Mon076_EvosMoves
+	dw Mon154_EvosMoves	;MissingNo
+	dw Mon126_EvosMoves
+	dw Mon155_EvosMoves	;MissingNo
+	dw Mon125_EvosMoves
+	dw Mon082_EvosMoves
+	dw Mon109_EvosMoves
+	dw Mon156_EvosMoves	;MissingNo
+	dw Mon056_EvosMoves
+	dw Mon086_EvosMoves
+	dw Mon050_EvosMoves
+	dw Mon128_EvosMoves
+	dw Mon157_EvosMoves	;MissingNo
+	dw Mon158_EvosMoves	;MissingNo
+	dw Mon159_EvosMoves	;MissingNo
+	dw Mon083_EvosMoves
+	dw Mon048_EvosMoves
+	dw Mon149_EvosMoves
+	dw Mon160_EvosMoves	;MissingNo
+	dw Mon161_EvosMoves	;MissingNo
+	dw Mon162_EvosMoves	;MissingNo
+	dw Mon084_EvosMoves
+	dw Mon060_EvosMoves
+	dw Mon124_EvosMoves
+	dw Mon146_EvosMoves
+	dw Mon144_EvosMoves
+	dw Mon145_EvosMoves
+	dw Mon132_EvosMoves
+	dw Mon052_EvosMoves
+	dw Mon098_EvosMoves
+	dw Mon163_EvosMoves	;MissingNo
+	dw Mon164_EvosMoves	;MissingNo
+	dw Mon165_EvosMoves	;MissingNo
+	dw Mon037_EvosMoves
+	dw Mon038_EvosMoves
+	dw Mon025_EvosMoves
+	dw Mon026_EvosMoves
+	dw Mon166_EvosMoves	;MissingNo
+	dw Mon167_EvosMoves	;MissingNo
+	dw Mon147_EvosMoves
+	dw Mon148_EvosMoves
+	dw Mon140_EvosMoves
+	dw Mon141_EvosMoves
+	dw Mon116_EvosMoves
+	dw Mon117_EvosMoves
+	dw Mon168_EvosMoves	;MissingNo
+	dw Mon169_EvosMoves	;MissingNo
+	dw Mon027_EvosMoves
+	dw Mon028_EvosMoves
+	dw Mon138_EvosMoves
+	dw Mon139_EvosMoves
+	dw Mon039_EvosMoves
+	dw Mon040_EvosMoves
+	dw Mon133_EvosMoves
+	dw Mon136_EvosMoves
+	dw Mon135_EvosMoves
+	dw Mon134_EvosMoves
+	dw Mon066_EvosMoves
+	dw Mon041_EvosMoves
+	dw Mon023_EvosMoves
+	dw Mon046_EvosMoves
+	dw Mon061_EvosMoves
+	dw Mon062_EvosMoves
+	dw Mon013_EvosMoves
+	dw Mon014_EvosMoves
+	dw Mon015_EvosMoves
+	dw Mon170_EvosMoves	;MissingNo
+	dw Mon085_EvosMoves
+	dw Mon057_EvosMoves
+	dw Mon051_EvosMoves
+	dw Mon049_EvosMoves
+	dw Mon087_EvosMoves
+	dw Mon171_EvosMoves	;MissingNo
+	dw Mon172_EvosMoves	;MissingNo
+	dw Mon010_EvosMoves
+	dw Mon011_EvosMoves
+	dw Mon012_EvosMoves
+	dw Mon068_EvosMoves
+	dw Mon173_EvosMoves	;MissingNo
+	dw Mon055_EvosMoves
+	dw Mon097_EvosMoves
+	dw Mon042_EvosMoves
+	dw Mon150_EvosMoves
+	dw Mon143_EvosMoves
+	dw Mon129_EvosMoves
+	dw Mon174_EvosMoves	;MissingNo
+	dw Mon175_EvosMoves	;MissingNo
+	dw Mon089_EvosMoves
+	dw Mon176_EvosMoves	;MissingNo
+	dw Mon099_EvosMoves
+	dw Mon091_EvosMoves
+	dw Mon177_EvosMoves	;MissingNo
+	dw Mon101_EvosMoves
+	dw Mon036_EvosMoves
+	dw Mon110_EvosMoves
+	dw Mon053_EvosMoves
+	dw Mon105_EvosMoves
+	dw Mon178_EvosMoves	;MissingNo
+	dw Mon093_EvosMoves
+	dw Mon063_EvosMoves
+	dw Mon065_EvosMoves
+	dw Mon017_EvosMoves
+	dw Mon018_EvosMoves
+	dw Mon121_EvosMoves
+	dw Mon001_EvosMoves
+	dw Mon003_EvosMoves
+	dw Mon073_EvosMoves
+	dw Mon179_EvosMoves	;MissingNo
+	dw Mon118_EvosMoves
+	dw Mon119_EvosMoves
+	dw Mon180_EvosMoves	;MissingNo
+	dw Mon181_EvosMoves	;MissingNo
+	dw Mon182_EvosMoves	;MissingNo
+	dw Mon183_EvosMoves	;MissingNo
+	dw Mon077_EvosMoves
+	dw Mon078_EvosMoves
+	dw Mon019_EvosMoves
+	dw Mon020_EvosMoves
+	dw Mon033_EvosMoves
+	dw Mon030_EvosMoves
+	dw Mon074_EvosMoves
+	dw Mon137_EvosMoves
+	dw Mon142_EvosMoves
+	dw Mon184_EvosMoves	;MissingNo
+	dw Mon081_EvosMoves
+	dw Mon185_EvosMoves	;MissingNo
+	dw Mon186_EvosMoves	;MissingNo
+	dw Mon004_EvosMoves
+	dw Mon007_EvosMoves
+	dw Mon005_EvosMoves
+	dw Mon008_EvosMoves
+	dw Mon006_EvosMoves
+	dw Mon187_EvosMoves	;MissingNo
+	dw Mon188_EvosMoves	;MissingNo
+	dw Mon189_EvosMoves	;MissingNo
+	dw Mon190_EvosMoves	;MissingNo
+	dw Mon043_EvosMoves
+	dw Mon044_EvosMoves
+	dw Mon045_EvosMoves
+	dw Mon069_EvosMoves
+	dw Mon070_EvosMoves
+	dw Mon071_EvosMoves
+
+Mon112_EvosMoves:
+;RHYDON
+;Evolutions
+	db 0
+;Learnset
+	db 30,STOMP
+	db 35,TAIL_WHIP
+	db 40,FURY_ATTACK
+	db 48,HORN_DRILL
+	db 55,LEER
+	db 64,TAKE_DOWN
+	db 0
+Mon115_EvosMoves:
+;KANGASKHAN
+;Evolutions
+	db 0
+;Learnset
+	db 26,BITE
+	db 31,TAIL_WHIP
+	db 36,MEGA_PUNCH
+	db 41,LEER
+	db 46,DIZZY_PUNCH
+	db 0
+Mon032_EvosMoves:
+;NIDORAN_M
+;Evolutions
+	db EV_LEVEL,16,NIDORINO
+	db 0
+;Learnset
+	db 8,HORN_ATTACK
+	db 14,POISON_STING
+	db 21,FOCUS_ENERGY
+	db 29,FURY_ATTACK
+	db 36,HORN_DRILL
+	db 43,DOUBLE_KICK
+	db 0
+Mon035_EvosMoves:
+;CLEFAIRY
+;Evolutions
+	db EV_ITEM,MOON_STONE,1,CLEFABLE
+	db 0
+;Learnset
+	db 13,SING
+	db 18,DOUBLESLAP
+	db 24,MINIMIZE
+	db 31,METRONOME
+	db 39,DEFENSE_CURL
+	db 48,LIGHT_SCREEN
+	db 0
+Mon021_EvosMoves:
+;SPEAROW
+;Evolutions
+	db EV_LEVEL,20,FEAROW
+	db 0
+;Learnset
+	db 9,LEER
+	db 15,FURY_ATTACK
+	db 22,MIRROR_MOVE
+	db 29,DRILL_PECK
+	db 36,AGILITY
+	db 0
+Mon100_EvosMoves:
+;VOLTORB
+;Evolutions
+	db EV_LEVEL,30,ELECTRODE
+	db 0
+;Learnset
+	db 17,SONICBOOM
+	db 22,SELFDESTRUCT
+	db 29,LIGHT_SCREEN
+	db 36,SWIFT
+	db 43,EXPLOSION
+	db 0
+Mon034_EvosMoves:
+;NIDOKING
+;Evolutions
+	db 0
+;Learnset
+	db 8,HORN_ATTACK
+	db 14,POISON_STING
+	db 23,THRASH
+	db 0
+Mon080_EvosMoves:
+;SLOWBRO
+;Evolutions
+	db 0
+;Learnset
+	db 18,DISABLE
+	db 22,HEADBUTT
+	db 27,GROWL
+	db 33,WATER_GUN
+	db 37,WITHDRAW
+	db 44,AMNESIA
+	db 55,PSYCHIC_M
+	db 0
+Mon002_EvosMoves:
+;IVYSAUR
+;Evolutions
+	db EV_LEVEL,32,VENUSAUR
+	db 0
+;Learnset
+	db 7,LEECH_SEED
+	db 13,VINE_WHIP
+	db 22,POISONPOWDER
+	db 30,RAZOR_LEAF
+	db 38,GROWTH
+	db 46,SLEEP_POWDER
+	db 54,SOLARBEAM
+	db 0
+Mon103_EvosMoves:
+;EXEGGUTOR
+;Evolutions
+	db 0
+;Learnset
+	db 28,STOMP
+	db 0
+Mon108_EvosMoves:
+;LICKITUNG
+;Evolutions
+	db 0
+;Learnset
+	db 7,STOMP
+	db 15,DISABLE
+	db 23,DEFENSE_CURL
+	db 31,SLAM
+	db 39,SCREECH
+	db 0
+Mon102_EvosMoves:
+;EXEGGCUTE
+;Evolutions
+	db EV_ITEM,LEAF_STONE ,1,EXEGGUTOR
+	db 0
+;Learnset
+	db 25,REFLECT
+	db 28,LEECH_SEED
+	db 32,STUN_SPORE
+	db 37,POISONPOWDER
+	db 42,SOLARBEAM
+	db 48,SLEEP_POWDER
+	db 0
+Mon088_EvosMoves:
+;GRIMER
+;Evolutions
+	db EV_LEVEL,38,MUK
+	db 0
+;Learnset
+	db 30,POISON_GAS
+	db 33,MINIMIZE
+	db 37,SLUDGE
+	db 42,HARDEN
+	db 48,SCREECH
+	db 55,ACID_ARMOR
+	db 0
+Mon094_EvosMoves:
+;GENGAR
+;Evolutions
+	db 0
+;Learnset
+	db 29,HYPNOSIS
+	db 38,DREAM_EATER
+	db 0
+Mon029_EvosMoves:
+;NIDORAN_F
+;Evolutions
+	db EV_LEVEL,16,NIDORINA
+	db 0
+;Learnset
+	db 8,SCRATCH
+	db 14,POISON_STING
+	db 21,TAIL_WHIP
+	db 29,BITE
+	db 36,FURY_SWIPES
+	db 43,DOUBLE_KICK
+	db 0
+Mon031_EvosMoves:
+;NIDOQUEEN
+;Evolutions
+	db 0
+;Learnset
+	db 8,SCRATCH
+	db 14,POISON_STING
+	db 23,BODY_SLAM
+	db 0
+Mon104_EvosMoves:
+;CUBONE
+;Evolutions
+	db EV_LEVEL,28,MAROWAK
+	db 0
+;Learnset
+	db 25,LEER
+	db 31,FOCUS_ENERGY
+	db 38,THRASH
+	db 43,BONEMERANG
+	db 46,RAGE
+	db 0
+Mon111_EvosMoves:
+;RHYHORN
+;Evolutions
+	db EV_LEVEL,42,RHYDON
+	db 0
+;Learnset
+	db 30,STOMP
+	db 35,TAIL_WHIP
+	db 40,FURY_ATTACK
+	db 45,HORN_DRILL
+	db 50,LEER
+	db 55,TAKE_DOWN
+	db 0
+Mon131_EvosMoves:
+;LAPRAS
+;Evolutions
+	db 0
+;Learnset
+	db 16,SING
+	db 20,MIST
+	db 25,BODY_SLAM
+	db 31,CONFUSE_RAY
+	db 38,ICE_BEAM
+	db 46,HYDRO_PUMP
+	db 0
+Mon059_EvosMoves:
+;ARCANINE
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon151_EvosMoves:
+;MEW
+;Evolutions
+	db 0
+;Learnset
+	db 10,TRANSFORM
+	db 20,MEGA_PUNCH
+	db 30,METRONOME
+	db 40,PSYCHIC_M
+	db 0
+Mon130_EvosMoves:
+;GYARADOS
+;Evolutions
+	db 0
+;Learnset
+	db 20,BITE
+	db 25,DRAGON_RAGE
+	db 32,LEER
+	db 41,HYDRO_PUMP
+	db 52,HYPER_BEAM
+	db 0
+Mon090_EvosMoves:
+;SHELLDER
+;Evolutions
+	db EV_ITEM,WATER_STONE ,1,CLOYSTER
+	db 0
+;Learnset
+	db 18,SUPERSONIC
+	db 23,CLAMP
+	db 30,AURORA_BEAM
+	db 39,LEER
+	db 50,ICE_BEAM
+	db 0
+Mon072_EvosMoves:
+;TENTACOOL
+;Evolutions
+	db EV_LEVEL,30,TENTACRUEL
+	db 0
+;Learnset
+	db 7,SUPERSONIC
+	db 13,WRAP
+	db 18,POISON_STING
+	db 22,WATER_GUN
+	db 27,CONSTRICT
+	db 33,BARRIER
+	db 40,SCREECH
+	db 48,HYDRO_PUMP
+	db 0
+Mon092_EvosMoves:
+;GASTLY
+;Evolutions
+	db EV_LEVEL,25,HAUNTER
+	db 0
+;Learnset
+	db 27,HYPNOSIS
+	db 35,DREAM_EATER
+	db 0
+Mon123_EvosMoves:
+;SCYTHER
+;Evolutions
+	db 0
+;Learnset
+	db 17,LEER
+	db 20,FOCUS_ENERGY
+	db 24,DOUBLE_TEAM
+	db 29,SLASH
+	db 35,SWORDS_DANCE
+	db 42,AGILITY
+	db 0
+Mon120_EvosMoves:
+;STARYU
+;Evolutions
+	db EV_ITEM,WATER_STONE ,1,STARMIE
+	db 0
+;Learnset
+	db 17,WATER_GUN
+	db 22,HARDEN
+	db 27,RECOVER
+	db 32,SWIFT
+	db 37,MINIMIZE
+	db 42,LIGHT_SCREEN
+	db 47,HYDRO_PUMP
+	db 0
+Mon009_EvosMoves:
+;BLASTOISE
+;Evolutions
+	db 0
+;Learnset
+	db 8,BUBBLE
+	db 15,WATER_GUN
+	db 24,BITE
+	db 31,WITHDRAW
+	db 42,SKULL_BASH
+	db 52,HYDRO_PUMP
+	db 0
+Mon127_EvosMoves:
+;PINSIR
+;Evolutions
+	db 0
+;Learnset
+	db 25,SEISMIC_TOSS
+	db 30,GUILLOTINE
+	db 36,FOCUS_ENERGY
+	db 43,HARDEN
+	db 49,SLASH
+	db 54,SWORDS_DANCE
+	db 0
+Mon114_EvosMoves:
+;TANGELA
+;Evolutions
+	db 0
+;Learnset
+	db 29,ABSORB
+	db 32,POISONPOWDER
+	db 36,STUN_SPORE
+	db 39,SLEEP_POWDER
+	db 45,SLAM
+	db 49,GROWTH
+	db 0
+
+Mon152_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon153_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon058_EvosMoves:
+;GROWLITHE
+;Evolutions
+	db EV_ITEM,FIRE_STONE,1,ARCANINE
+	db 0
+;Learnset
+	db 18,EMBER
+	db 23,LEER
+	db 30,TAKE_DOWN
+	db 39,AGILITY
+	db 50,FLAMETHROWER
+	db 0
+Mon095_EvosMoves:
+;ONIX
+;Evolutions
+	db 0
+;Learnset
+	db 15,BIND
+	db 19,ROCK_THROW
+	db 25,RAGE
+	db 33,SLAM
+	db 43,HARDEN
+	db 0
+Mon022_EvosMoves:
+;FEAROW
+;Evolutions
+	db 0
+;Learnset
+	db 9,LEER
+	db 15,FURY_ATTACK
+	db 25,MIRROR_MOVE
+	db 34,DRILL_PECK
+	db 43,AGILITY
+	db 0
+Mon016_EvosMoves:
+;PIDGEY
+;Evolutions
+	db EV_LEVEL,18,PIDGEOTTO
+	db 0
+;Learnset
+	db 5,SAND_ATTACK
+	db 12,QUICK_ATTACK
+	db 19,WHIRLWIND
+	db 28,WING_ATTACK
+	db 36,AGILITY
+	db 44,MIRROR_MOVE
+	db 0
+Mon079_EvosMoves:
+;SLOWPOKE
+;Evolutions
+	db EV_LEVEL,37,SLOWBRO
+	db 0
+;Learnset
+	db 18,DISABLE
+	db 22,HEADBUTT
+	db 27,GROWL
+	db 33,WATER_GUN
+	db 40,AMNESIA
+	db 48,PSYCHIC_M
+	db 0
+Mon064_EvosMoves:
+;KADABRA
+;Evolutions
+	db EV_TRADE,1,ALAKAZAM
+	db 0
+;Learnset
+	db 16,CONFUSION
+	db 20,DISABLE
+	db 27,PSYBEAM
+	db 31,RECOVER
+	db 38,PSYCHIC_M
+	db 42,REFLECT
+	db 0
+Mon075_EvosMoves:
+;GRAVELER
+;Evolutions
+	db EV_TRADE,1,GOLEM
+	db 0
+;Learnset
+	db 11,DEFENSE_CURL
+	db 16,ROCK_THROW
+	db 21,SELFDESTRUCT
+	db 29,HARDEN
+	db 36,EARTHQUAKE
+	db 43,EXPLOSION
+	db 0
+Mon113_EvosMoves:
+;CHANSEY
+;Evolutions
+	db 0
+;Learnset
+	db 24,SING
+	db 30,GROWL
+	db 38,MINIMIZE
+	db 44,DEFENSE_CURL
+	db 48,LIGHT_SCREEN
+	db 54,DOUBLE_EDGE
+	db 0
+Mon067_EvosMoves:
+;MACHOKE
+;Evolutions
+	db EV_TRADE,1,MACHAMP
+	db 0
+;Learnset
+	db 20,LOW_KICK
+	db 25,LEER
+	db 36,FOCUS_ENERGY
+	db 44,SEISMIC_TOSS
+	db 52,SUBMISSION
+	db 0
+Mon122_EvosMoves:
+;MR_MIME
+;Evolutions
+	db 0
+;Learnset
+	db 15,CONFUSION
+	db 23,LIGHT_SCREEN
+	db 31,DOUBLESLAP
+	db 39,MEDITATE
+	db 47,SUBSTITUTE
+	db 0
+Mon106_EvosMoves:
+;HITMONLEE
+;Evolutions
+	db 0
+;Learnset
+	db 33,ROLLING_KICK
+	db 38,JUMP_KICK
+	db 43,FOCUS_ENERGY
+	db 48,HI_JUMP_KICK
+	db 53,MEGA_KICK
+	db 0
+Mon107_EvosMoves:
+;HITMONCHAN
+;Evolutions
+	db 0
+;Learnset
+	db 33,FIRE_PUNCH
+	db 38,ICE_PUNCH
+	db 43,THUNDERPUNCH
+	db 48,MEGA_PUNCH
+	db 53,COUNTER
+	db 0
+Mon024_EvosMoves:
+;ARBOK
+;Evolutions
+	db 0
+;Learnset
+	db 10,POISON_STING
+	db 17,BITE
+	db 27,GLARE
+	db 36,SCREECH
+	db 47,ACID
+	db 0
+Mon047_EvosMoves:
+;PARASECT
+;Evolutions
+	db 0
+;Learnset
+	db 13,STUN_SPORE
+	db 20,LEECH_LIFE
+	db 30,SPORE
+	db 39,SLASH
+	db 48,GROWTH
+	db 0
+Mon054_EvosMoves:
+;PSYDUCK
+;Evolutions
+	db EV_LEVEL,33,GOLDUCK
+	db 0
+;Learnset
+	db 28,TAIL_WHIP
+	db 31,DISABLE
+	db 36,CONFUSION
+	db 43,FURY_SWIPES
+	db 52,HYDRO_PUMP
+	db 0
+Mon096_EvosMoves:
+;DROWZEE
+;Evolutions
+	db EV_LEVEL,26,HYPNO
+	db 0
+;Learnset
+	db 12,DISABLE
+	db 17,CONFUSION
+	db 24,HEADBUTT
+	db 29,POISON_GAS
+	db 32,PSYCHIC_M
+	db 37,MEDITATE
+	db 0
+Mon076_EvosMoves:
+;GOLEM
+;Evolutions
+	db 0
+;Learnset
+	db 11,DEFENSE_CURL
+	db 16,ROCK_THROW
+	db 21,SELFDESTRUCT
+	db 29,HARDEN
+	db 36,EARTHQUAKE
+	db 43,EXPLOSION
+	db 0
+
+Mon154_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon126_EvosMoves:
+;MAGMAR
+;Evolutions
+	db 0
+;Learnset
+	db 36,LEER
+	db 39,CONFUSE_RAY
+	db 43,FIRE_PUNCH
+	db 48,SMOKESCREEN
+	db 52,SMOG
+	db 55,FLAMETHROWER
+	db 0
+
+Mon155_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon125_EvosMoves:
+;ELECTABUZZ
+;Evolutions
+	db 0
+;Learnset
+	db 34,THUNDERSHOCK
+	db 37,SCREECH
+	db 42,THUNDERPUNCH
+	db 49,LIGHT_SCREEN
+	db 54,THUNDER
+	db 0
+Mon082_EvosMoves:
+;MAGNETON
+;Evolutions
+	db 0
+;Learnset
+	db 21,SONICBOOM
+	db 25,THUNDERSHOCK
+	db 29,SUPERSONIC
+	db 38,THUNDER_WAVE
+	db 46,SWIFT
+	db 54,SCREECH
+	db 0
+Mon109_EvosMoves:
+;KOFFING
+;Evolutions
+	db EV_LEVEL,35,WEEZING
+	db 0
+;Learnset
+	db 32,SLUDGE
+	db 37,SMOKESCREEN
+	db 40,SELFDESTRUCT
+	db 45,HAZE
+	db 48,EXPLOSION
+	db 0
+
+Mon156_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon056_EvosMoves:
+;MANKEY
+;Evolutions
+	db EV_LEVEL,28,PRIMEAPE
+	db 0
+;Learnset
+	db 15,KARATE_CHOP
+	db 21,FURY_SWIPES
+	db 27,FOCUS_ENERGY
+	db 33,SEISMIC_TOSS
+	db 39,THRASH
+	db 0
+Mon086_EvosMoves:
+;SEEL
+;Evolutions
+	db EV_LEVEL,34,DEWGONG
+	db 0
+;Learnset
+	db 30,GROWL
+	db 35,AURORA_BEAM
+	db 40,REST
+	db 45,TAKE_DOWN
+	db 50,ICE_BEAM
+	db 0
+Mon050_EvosMoves:
+;DIGLETT
+;Evolutions
+	db EV_LEVEL,26,DUGTRIO
+	db 0
+;Learnset
+	db 15,GROWL
+	db 19,DIG
+	db 24,SAND_ATTACK
+	db 31,SLASH
+	db 40,EARTHQUAKE
+	db 0
+Mon128_EvosMoves:
+;TAUROS
+;Evolutions
+	db 0
+;Learnset
+	db 21,STOMP
+	db 28,TAIL_WHIP
+	db 35,LEER
+	db 44,RAGE
+	db 51,TAKE_DOWN
+	db 0
+
+Mon157_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon158_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon159_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon083_EvosMoves:
+;FARFETCH_D
+;Evolutions
+	db 0
+;Learnset
+	db 7,LEER
+	db 15,FURY_ATTACK
+	db 23,SWORDS_DANCE
+	db 31,AGILITY
+	db 39,SLASH
+	db 0
+Mon048_EvosMoves:
+;VENONAT
+;Evolutions
+	db EV_LEVEL,31,VENOMOTH
+	db 0
+;Learnset
+	db 24,POISONPOWDER
+	db 27,LEECH_LIFE
+	db 30,STUN_SPORE
+	db 35,PSYBEAM
+	db 38,SLEEP_POWDER
+	db 43,PSYCHIC_M
+	db 0
+Mon149_EvosMoves:
+;DRAGONITE
+;Evolutions
+	db 0
+;Learnset
+	db 10,THUNDER_WAVE
+	db 20,AGILITY
+	db 35,SLAM
+	db 45,DRAGON_RAGE
+	db 60,HYPER_BEAM
+	db 0
+
+Mon160_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon161_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon162_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon084_EvosMoves:
+;DODUO
+;Evolutions
+	db EV_LEVEL,31,DODRIO
+	db 0
+;Learnset
+	db 20,GROWL
+	db 24,FURY_ATTACK
+	db 30,DRILL_PECK
+	db 36,RAGE
+	db 40,TRI_ATTACK
+	db 44,AGILITY
+	db 0
+Mon060_EvosMoves:
+;POLIWAG
+;Evolutions
+	db EV_LEVEL,25,POLIWHIRL
+	db 0
+;Learnset
+	db 16,HYPNOSIS
+	db 19,WATER_GUN
+	db 25,DOUBLESLAP
+	db 31,BODY_SLAM
+	db 38,AMNESIA
+	db 45,HYDRO_PUMP
+	db 0
+Mon124_EvosMoves:
+;JYNX
+;Evolutions
+	db 0
+;Learnset
+	db 18,LICK
+	db 23,DOUBLESLAP
+	db 31,ICE_PUNCH
+	db 39,BODY_SLAM
+	db 47,THRASH
+	db 58,BLIZZARD
+	db 0
+Mon146_EvosMoves:
+;MOLTRES
+;Evolutions
+	db 0
+;Learnset
+	db 51,LEER
+	db 55,AGILITY
+	db 60,SKY_ATTACK
+	db 0
+Mon144_EvosMoves:
+;ARTICUNO
+;Evolutions
+	db 0
+;Learnset
+	db 51,BLIZZARD
+	db 55,AGILITY
+	db 60,MIST
+	db 0
+Mon145_EvosMoves:
+;ZAPDOS
+;Evolutions
+	db 0
+;Learnset
+	db 51,THUNDER
+	db 55,AGILITY
+	db 60,LIGHT_SCREEN
+	db 0
+Mon132_EvosMoves:
+;DITTO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon052_EvosMoves:
+;MEOWTH
+;Evolutions
+	db EV_LEVEL,28,PERSIAN
+	db 0
+;Learnset
+	db 12,BITE
+	db 17,PAY_DAY
+	db 24,SCREECH
+	db 33,FURY_SWIPES
+	db 44,SLASH
+	db 0
+Mon098_EvosMoves:
+;KRABBY
+;Evolutions
+	db EV_LEVEL,28,KINGLER
+	db 0
+;Learnset
+	db 20,VICEGRIP
+	db 25,GUILLOTINE
+	db 30,STOMP
+	db 35,CRABHAMMER
+	db 40,HARDEN
+	db 0
+
+Mon163_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon164_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon165_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon037_EvosMoves:
+;VULPIX
+;Evolutions
+	db EV_ITEM,FIRE_STONE,1,NINETALES
+	db 0
+;Learnset
+	db 16,QUICK_ATTACK
+	db 21,ROAR
+	db 28,CONFUSE_RAY
+	db 35,FLAMETHROWER
+	db 42,FIRE_SPIN
+	db 0
+Mon038_EvosMoves:
+;NINETALES
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon025_EvosMoves:
+;PIKACHU
+;Evolutions
+	db EV_ITEM,THUNDER_STONE ,1,RAICHU
+	db 0
+;Learnset
+	db 9,THUNDER_WAVE
+	db 16,QUICK_ATTACK
+	db 26,SWIFT
+	db 33,AGILITY
+	db 43,THUNDER
+	db 0
+Mon026_EvosMoves:
+;RAICHU
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon166_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon167_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon147_EvosMoves:
+;DRATINI
+;Evolutions
+	db EV_LEVEL,30,DRAGONAIR
+	db 0
+;Learnset
+	db 10,THUNDER_WAVE
+	db 20,AGILITY
+	db 30,SLAM
+	db 40,DRAGON_RAGE
+	db 50,HYPER_BEAM
+	db 0
+Mon148_EvosMoves:
+;DRAGONAIR
+;Evolutions
+	db EV_LEVEL,55,DRAGONITE
+	db 0
+;Learnset
+	db 10,THUNDER_WAVE
+	db 20,AGILITY
+	db 35,SLAM
+	db 45,DRAGON_RAGE
+	db 55,HYPER_BEAM
+	db 0
+Mon140_EvosMoves:
+;KABUTO
+;Evolutions
+	db EV_LEVEL,40,KABUTOPS
+	db 0
+;Learnset
+	db 34,ABSORB
+	db 39,SLASH
+	db 44,LEER
+	db 49,HYDRO_PUMP
+	db 0
+Mon141_EvosMoves:
+;KABUTOPS
+;Evolutions
+	db 0
+;Learnset
+	db 34,ABSORB
+	db 39,SLASH
+	db 46,LEER
+	db 53,HYDRO_PUMP
+	db 0
+Mon116_EvosMoves:
+;HORSEA
+;Evolutions
+	db EV_LEVEL,32,SEADRA
+	db 0
+;Learnset
+	db 19,SMOKESCREEN
+	db 24,LEER
+	db 30,WATER_GUN
+	db 37,AGILITY
+	db 45,HYDRO_PUMP
+	db 0
+Mon117_EvosMoves:
+;SEADRA
+;Evolutions
+	db 0
+;Learnset
+	db 19,SMOKESCREEN
+	db 24,LEER
+	db 30,WATER_GUN
+	db 41,AGILITY
+	db 52,HYDRO_PUMP
+	db 0
+
+Mon168_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon169_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon027_EvosMoves:
+;SANDSHREW
+;Evolutions
+	db EV_LEVEL,22,SANDSLASH
+	db 0
+;Learnset
+	db 10,SAND_ATTACK
+	db 17,SLASH
+	db 24,POISON_STING
+	db 31,SWIFT
+	db 38,FURY_SWIPES
+	db 0
+Mon028_EvosMoves:
+;SANDSLASH
+;Evolutions
+	db 0
+;Learnset
+	db 10,SAND_ATTACK
+	db 17,SLASH
+	db 27,POISON_STING
+	db 36,SWIFT
+	db 47,FURY_SWIPES
+	db 0
+Mon138_EvosMoves:
+;OMANYTE
+;Evolutions
+	db EV_LEVEL,40,OMASTAR
+	db 0
+;Learnset
+	db 34,HORN_ATTACK
+	db 39,LEER
+	db 46,SPIKE_CANNON
+	db 53,HYDRO_PUMP
+	db 0
+Mon139_EvosMoves:
+;OMASTAR
+;Evolutions
+	db 0
+;Learnset
+	db 34,HORN_ATTACK
+	db 39,LEER
+	db 44,SPIKE_CANNON
+	db 49,HYDRO_PUMP
+	db 0
+Mon039_EvosMoves:
+;JIGGLYPUFF
+;Evolutions
+	db EV_ITEM,MOON_STONE,1,WIGGLYTUFF
+	db 0
+;Learnset
+	db 9,POUND
+	db 14,DISABLE
+	db 19,DEFENSE_CURL
+	db 24,DOUBLESLAP
+	db 29,REST
+	db 34,BODY_SLAM
+	db 39,DOUBLE_EDGE
+	db 0
+Mon040_EvosMoves:
+;WIGGLYTUFF
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon133_EvosMoves:
+;EEVEE
+;Evolutions
+	db EV_ITEM,FIRE_STONE,1,FLAREON
+	db EV_ITEM,THUNDER_STONE ,1,JOLTEON
+	db EV_ITEM,WATER_STONE ,1,VAPOREON
+	db 0
+;Learnset
+	db 27,QUICK_ATTACK
+	db 31,TAIL_WHIP
+	db 37,BITE
+	db 45,TAKE_DOWN
+	db 0
+Mon136_EvosMoves:
+;FLAREON
+;Evolutions
+	db 0
+;Learnset
+	db 27,QUICK_ATTACK
+	db 31,EMBER
+	db 37,TAIL_WHIP
+	db 40,BITE
+	db 42,LEER
+	db 44,FIRE_SPIN
+	db 48,RAGE
+	db 54,FLAMETHROWER
+	db 0
+Mon135_EvosMoves:
+;JOLTEON
+;Evolutions
+	db 0
+;Learnset
+	db 27,QUICK_ATTACK
+	db 31,THUNDERSHOCK
+	db 37,TAIL_WHIP
+	db 40,THUNDER_WAVE
+	db 42,DOUBLE_KICK
+	db 44,AGILITY
+	db 48,PIN_MISSILE
+	db 54,THUNDER
+	db 0
+Mon134_EvosMoves:
+;VAPOREON
+;Evolutions
+	db 0
+;Learnset
+	db 27,QUICK_ATTACK
+	db 31,WATER_GUN
+	db 37,TAIL_WHIP
+	db 40,BITE
+	db 42,ACID_ARMOR
+	db 44,HAZE
+	db 48,MIST
+	db 54,HYDRO_PUMP
+	db 0
+Mon066_EvosMoves:
+;MACHOP
+;Evolutions
+	db EV_LEVEL,28,MACHOKE
+	db 0
+;Learnset
+	db 20,LOW_KICK
+	db 25,LEER
+	db 32,FOCUS_ENERGY
+	db 39,SEISMIC_TOSS
+	db 46,SUBMISSION
+	db 0
+Mon041_EvosMoves:
+;ZUBAT
+;Evolutions
+	db EV_LEVEL,22,GOLBAT
+	db 0
+;Learnset
+	db 10,SUPERSONIC
+	db 15,BITE
+	db 21,CONFUSE_RAY
+	db 28,WING_ATTACK
+	db 36,HAZE
+	db 0
+Mon023_EvosMoves:
+;EKANS
+;Evolutions
+	db EV_LEVEL,22,ARBOK
+	db 0
+;Learnset
+	db 10,POISON_STING
+	db 17,BITE
+	db 24,GLARE
+	db 31,SCREECH
+	db 38,ACID
+	db 0
+Mon046_EvosMoves:
+;PARAS
+;Evolutions
+	db EV_LEVEL,24,PARASECT
+	db 0
+;Learnset
+	db 13,STUN_SPORE
+	db 20,LEECH_LIFE
+	db 27,SPORE
+	db 34,SLASH
+	db 41,GROWTH
+	db 0
+Mon061_EvosMoves:
+;POLIWHIRL
+;Evolutions
+	db EV_ITEM,WATER_STONE ,1,POLIWRATH
+	db 0
+;Learnset
+	db 16,HYPNOSIS
+	db 19,WATER_GUN
+	db 26,DOUBLESLAP
+	db 33,BODY_SLAM
+	db 41,AMNESIA
+	db 49,HYDRO_PUMP
+	db 0
+Mon062_EvosMoves:
+;POLIWRATH
+;Evolutions
+	db 0
+;Learnset
+	db 16,HYPNOSIS
+	db 19,WATER_GUN
+	db 0
+Mon013_EvosMoves:
+;WEEDLE
+;Evolutions
+	db EV_LEVEL,7,KAKUNA
+	db 0
+;Learnset
+	db 0
+Mon014_EvosMoves:
+;KAKUNA
+;Evolutions
+	db EV_LEVEL,10,BEEDRILL
+	db 0
+;Learnset
+	db 0
+Mon015_EvosMoves:
+;BEEDRILL
+;Evolutions
+	db 0
+;Learnset
+	db 12,FURY_ATTACK
+	db 16,FOCUS_ENERGY
+	db 20,TWINEEDLE
+	db 25,RAGE
+	db 30,PIN_MISSILE
+	db 35,AGILITY
+	db 0
+
+Mon170_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon085_EvosMoves:
+;DODRIO
+;Evolutions
+	db 0
+;Learnset
+	db 20,GROWL
+	db 24,FURY_ATTACK
+	db 30,DRILL_PECK
+	db 39,RAGE
+	db 45,TRI_ATTACK
+	db 51,AGILITY
+	db 0
+Mon057_EvosMoves:
+;PRIMEAPE
+;Evolutions
+	db 0
+;Learnset
+	db 15,KARATE_CHOP
+	db 21,FURY_SWIPES
+	db 27,FOCUS_ENERGY
+	db 37,SEISMIC_TOSS
+	db 46,THRASH
+	db 0
+Mon051_EvosMoves:
+;DUGTRIO
+;Evolutions
+	db 0
+;Learnset
+	db 15,GROWL
+	db 19,DIG
+	db 24,SAND_ATTACK
+	db 35,SLASH
+	db 47,EARTHQUAKE
+	db 0
+Mon049_EvosMoves:
+;VENOMOTH
+;Evolutions
+	db 0
+;Learnset
+	db 24,POISONPOWDER
+	db 27,LEECH_LIFE
+	db 30,STUN_SPORE
+	db 38,PSYBEAM
+	db 43,SLEEP_POWDER
+	db 50,PSYCHIC_M
+	db 0
+Mon087_EvosMoves:
+;DEWGONG
+;Evolutions
+	db 0
+;Learnset
+	db 30,GROWL
+	db 35,AURORA_BEAM
+	db 44,REST
+	db 50,TAKE_DOWN
+	db 56,ICE_BEAM
+	db 0
+
+Mon171_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon172_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon010_EvosMoves:
+;CATERPIE
+;Evolutions
+	db EV_LEVEL,7,METAPOD
+	db 0
+;Learnset
+	db 0
+Mon011_EvosMoves:
+;METAPOD
+;Evolutions
+	db EV_LEVEL,10,BUTTERFREE
+	db 0
+;Learnset
+	db 0
+Mon012_EvosMoves:
+;BUTTERFREE
+;Evolutions
+	db 0
+;Learnset
+	db 12,CONFUSION
+	db 15,POISONPOWDER
+	db 16,STUN_SPORE
+	db 17,SLEEP_POWDER
+	db 21,SUPERSONIC
+	db 26,WHIRLWIND
+	db 32,PSYBEAM
+	db 0
+Mon068_EvosMoves:
+;MACHAMP
+;Evolutions
+	db 0
+;Learnset
+	db 20,LOW_KICK
+	db 25,LEER
+	db 36,FOCUS_ENERGY
+	db 44,SEISMIC_TOSS
+	db 52,SUBMISSION
+	db 0
+
+Mon173_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon055_EvosMoves:
+;GOLDUCK
+;Evolutions
+	db 0
+;Learnset
+	db 28,TAIL_WHIP
+	db 31,DISABLE
+	db 39,CONFUSION
+	db 48,FURY_SWIPES
+	db 59,HYDRO_PUMP
+	db 0
+Mon097_EvosMoves:
+;HYPNO
+;Evolutions
+	db 0
+;Learnset
+	db 12,DISABLE
+	db 17,CONFUSION
+	db 24,HEADBUTT
+	db 33,POISON_GAS
+	db 37,PSYCHIC_M
+	db 43,MEDITATE
+	db 0
+Mon042_EvosMoves:
+;GOLBAT
+;Evolutions
+	db 0
+;Learnset
+	db 10,SUPERSONIC
+	db 15,BITE
+	db 21,CONFUSE_RAY
+	db 32,WING_ATTACK
+	db 43,HAZE
+	db 0
+Mon150_EvosMoves:
+;MEWTWO
+;Evolutions
+	db 0
+;Learnset
+	db 63,BARRIER
+	db 66,PSYCHIC_M
+	db 70,RECOVER
+	db 75,MIST
+	db 81,AMNESIA
+	db 0
+Mon143_EvosMoves:
+;SNORLAX
+;Evolutions
+	db 0
+;Learnset
+	db 35,BODY_SLAM
+	db 41,HARDEN
+	db 48,DOUBLE_EDGE
+	db 56,HYPER_BEAM
+	db 0
+Mon129_EvosMoves:
+;MAGIKARP
+;Evolutions
+	db EV_LEVEL,20,GYARADOS
+	db 0
+;Learnset
+	db 15,TACKLE
+	db 0
+
+Mon174_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon175_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon089_EvosMoves:
+;MUK
+;Evolutions
+	db 0
+;Learnset
+	db 30,POISON_GAS
+	db 33,MINIMIZE
+	db 37,SLUDGE
+	db 45,HARDEN
+	db 53,SCREECH
+	db 60,ACID_ARMOR
+	db 0
+
+Mon176_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon099_EvosMoves:
+;KINGLER
+;Evolutions
+	db 0
+;Learnset
+	db 20,VICEGRIP
+	db 25,GUILLOTINE
+	db 34,STOMP
+	db 42,CRABHAMMER
+	db 49,HARDEN
+	db 0
+Mon091_EvosMoves:
+;CLOYSTER
+;Evolutions
+	db 0
+;Learnset
+	db 50,SPIKE_CANNON
+	db 0
+
+Mon177_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon101_EvosMoves:
+;ELECTRODE
+;Evolutions
+	db 0
+;Learnset
+	db 17,SONICBOOM
+	db 22,SELFDESTRUCT
+	db 29,LIGHT_SCREEN
+	db 40,SWIFT
+	db 50,EXPLOSION
+	db 0
+Mon036_EvosMoves:
+;CLEFABLE
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon110_EvosMoves:
+;WEEZING
+;Evolutions
+	db 0
+;Learnset
+	db 32,SLUDGE
+	db 39,SMOKESCREEN
+	db 43,SELFDESTRUCT
+	db 49,HAZE
+	db 53,EXPLOSION
+	db 0
+Mon053_EvosMoves:
+;PERSIAN
+;Evolutions
+	db 0
+;Learnset
+	db 12,BITE
+	db 17,PAY_DAY
+	db 24,SCREECH
+	db 37,FURY_SWIPES
+	db 51,SLASH
+	db 0
+Mon105_EvosMoves:
+;MAROWAK
+;Evolutions
+	db 0
+;Learnset
+	db 25,LEER
+	db 33,FOCUS_ENERGY
+	db 41,THRASH
+	db 48,BONEMERANG
+	db 55,RAGE
+	db 0
+
+Mon178_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon093_EvosMoves:
+;HAUNTER
+;Evolutions
+	db EV_TRADE,1,GENGAR
+	db 0
+;Learnset
+	db 29,HYPNOSIS
+	db 38,DREAM_EATER
+	db 0
+Mon063_EvosMoves:
+;ABRA
+;Evolutions
+	db EV_LEVEL,16,KADABRA
+	db 0
+;Learnset
+	db 0
+Mon065_EvosMoves:
+;ALAKAZAM
+;Evolutions
+	db 0
+;Learnset
+	db 16,CONFUSION
+	db 20,DISABLE
+	db 27,PSYBEAM
+	db 31,RECOVER
+	db 38,PSYCHIC_M
+	db 42,REFLECT
+	db 0
+Mon017_EvosMoves:
+;PIDGEOTTO
+;Evolutions
+	db EV_LEVEL,36,PIDGEOT
+	db 0
+;Learnset
+	db 5,SAND_ATTACK
+	db 12,QUICK_ATTACK
+	db 21,WHIRLWIND
+	db 31,WING_ATTACK
+	db 40,AGILITY
+	db 49,MIRROR_MOVE
+	db 0
+Mon018_EvosMoves:
+;PIDGEOT
+;Evolutions
+	db 0
+;Learnset
+	db 5,SAND_ATTACK
+	db 12,QUICK_ATTACK
+	db 21,WHIRLWIND
+	db 31,WING_ATTACK
+	db 44,AGILITY
+	db 54,MIRROR_MOVE
+	db 0
+Mon121_EvosMoves:
+;STARMIE
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon001_EvosMoves:
+;BULBASAUR
+;Evolutions
+	db EV_LEVEL,16,IVYSAUR
+	db 0
+;Learnset
+	db 7,LEECH_SEED
+	db 13,VINE_WHIP
+	db 20,POISONPOWDER
+	db 27,RAZOR_LEAF
+	db 34,GROWTH
+	db 41,SLEEP_POWDER
+	db 48,SOLARBEAM
+	db 0
+Mon003_EvosMoves:
+;VENUSAUR
+;Evolutions
+	db 0
+;Learnset
+	db 7,LEECH_SEED
+	db 13,VINE_WHIP
+	db 22,POISONPOWDER
+	db 30,RAZOR_LEAF
+	db 43,GROWTH
+	db 55,SLEEP_POWDER
+	db 65,SOLARBEAM
+	db 0
+Mon073_EvosMoves:
+;TENTACRUEL
+;Evolutions
+	db 0
+;Learnset
+	db 7,SUPERSONIC
+	db 13,WRAP
+	db 18,POISON_STING
+	db 22,WATER_GUN
+	db 27,CONSTRICT
+	db 35,BARRIER
+	db 43,SCREECH
+	db 50,HYDRO_PUMP
+	db 0
+
+Mon179_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon118_EvosMoves:
+;GOLDEEN
+;Evolutions
+	db EV_LEVEL,33,SEAKING
+	db 0
+;Learnset
+	db 19,SUPERSONIC
+	db 24,HORN_ATTACK
+	db 30,FURY_ATTACK
+	db 37,WATERFALL
+	db 45,HORN_DRILL
+	db 54,AGILITY
+	db 0
+Mon119_EvosMoves:
+;SEAKING
+;Evolutions
+	db 0
+;Learnset
+	db 19,SUPERSONIC
+	db 24,HORN_ATTACK
+	db 30,FURY_ATTACK
+	db 39,WATERFALL
+	db 48,HORN_DRILL
+	db 54,AGILITY
+	db 0
+
+Mon180_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon181_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon182_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon183_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon077_EvosMoves:
+;PONYTA
+;Evolutions
+	db EV_LEVEL,40,RAPIDASH
+	db 0
+;Learnset
+	db 30,TAIL_WHIP
+	db 32,STOMP
+	db 35,GROWL
+	db 39,FIRE_SPIN
+	db 43,TAKE_DOWN
+	db 48,AGILITY
+	db 0
+Mon078_EvosMoves:
+;RAPIDASH
+;Evolutions
+	db 0
+;Learnset
+	db 30,TAIL_WHIP
+	db 32,STOMP
+	db 35,GROWL
+	db 39,FIRE_SPIN
+	db 47,TAKE_DOWN
+	db 55,AGILITY
+	db 0
+Mon019_EvosMoves:
+;RATTATA
+;Evolutions
+	db EV_LEVEL,20,RATICATE
+	db 0
+;Learnset
+	db 7,QUICK_ATTACK
+	db 14,HYPER_FANG
+	db 23,FOCUS_ENERGY
+	db 34,SUPER_FANG
+	db 0
+Mon020_EvosMoves:
+;RATICATE
+;Evolutions
+	db 0
+;Learnset
+	db 7,QUICK_ATTACK
+	db 14,HYPER_FANG
+	db 27,FOCUS_ENERGY
+	db 41,SUPER_FANG
+	db 0
+Mon033_EvosMoves:
+;NIDORINO
+;Evolutions
+	db EV_ITEM,MOON_STONE,1,NIDOKING
+	db 0
+;Learnset
+	db 8,HORN_ATTACK
+	db 14,POISON_STING
+	db 23,FOCUS_ENERGY
+	db 32,FURY_ATTACK
+	db 41,HORN_DRILL
+	db 50,DOUBLE_KICK
+	db 0
+Mon030_EvosMoves:
+;NIDORINA
+;Evolutions
+	db EV_ITEM,MOON_STONE,1,NIDOQUEEN
+	db 0
+;Learnset
+	db 8,SCRATCH
+	db 14,POISON_STING
+	db 23,TAIL_WHIP
+	db 32,BITE
+	db 41,FURY_SWIPES
+	db 50,DOUBLE_KICK
+	db 0
+Mon074_EvosMoves:
+;GEODUDE
+;Evolutions
+	db EV_LEVEL,25,GRAVELER
+	db 0
+;Learnset
+	db 11,DEFENSE_CURL
+	db 16,ROCK_THROW
+	db 21,SELFDESTRUCT
+	db 26,HARDEN
+	db 31,EARTHQUAKE
+	db 36,EXPLOSION
+	db 0
+Mon137_EvosMoves:
+;PORYGON
+;Evolutions
+	db 0
+;Learnset
+	db 23,PSYBEAM
+	db 28,RECOVER
+	db 35,AGILITY
+	db 42,TRI_ATTACK
+	db 0
+Mon142_EvosMoves:
+;AERODACTYL
+;Evolutions
+	db 0
+;Learnset
+	db 33,SUPERSONIC
+	db 38,BITE
+	db 45,TAKE_DOWN
+	db 54,HYPER_BEAM
+	db 0
+
+Mon184_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon081_EvosMoves:
+;MAGNEMITE
+;Evolutions
+	db EV_LEVEL,30,MAGNETON
+	db 0
+;Learnset
+	db 21,SONICBOOM
+	db 25,THUNDERSHOCK
+	db 29,SUPERSONIC
+	db 35,THUNDER_WAVE
+	db 41,SWIFT
+	db 47,SCREECH
+	db 0
+
+Mon185_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon186_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon004_EvosMoves:
+;CHARMANDER
+;Evolutions
+	db EV_LEVEL,16,CHARMELEON
+	db 0
+;Learnset
+	db 9,EMBER
+	db 15,LEER
+	db 22,RAGE
+	db 30,SLASH
+	db 38,FLAMETHROWER
+	db 46,FIRE_SPIN
+	db 0
+Mon007_EvosMoves:
+;SQUIRTLE
+;Evolutions
+	db EV_LEVEL,16,WARTORTLE
+	db 0
+;Learnset
+	db 8,BUBBLE
+	db 15,WATER_GUN
+	db 22,BITE
+	db 28,WITHDRAW
+	db 35,SKULL_BASH
+	db 42,HYDRO_PUMP
+	db 0
+Mon005_EvosMoves:
+;CHARMELEON
+;Evolutions
+	db EV_LEVEL,36,CHARIZARD
+	db 0
+;Learnset
+	db 9,EMBER
+	db 15,LEER
+	db 24,RAGE
+	db 33,SLASH
+	db 42,FLAMETHROWER
+	db 56,FIRE_SPIN
+	db 0
+Mon008_EvosMoves:
+;WARTORTLE
+;Evolutions
+	db EV_LEVEL,36,BLASTOISE
+	db 0
+;Learnset
+	db 8,BUBBLE
+	db 15,WATER_GUN
+	db 24,BITE
+	db 31,WITHDRAW
+	db 39,SKULL_BASH
+	db 47,HYDRO_PUMP
+	db 0
+Mon006_EvosMoves:
+;CHARIZARD
+;Evolutions
+	db 0
+;Learnset
+	db 9,EMBER
+	db 15,LEER
+	db 24,RAGE
+	db 36,SLASH
+	db 46,FLAMETHROWER
+	db 55,FIRE_SPIN
+	db 0
+
+Mon187_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon188_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon189_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+
+Mon190_EvosMoves:
+;MISSINGNO
+;Evolutions
+	db 0
+;Learnset
+	db 0
+Mon043_EvosMoves:
+;ODDISH
+;Evolutions
+	db EV_LEVEL,21,GLOOM
+	db 0
+;Learnset
+	db 15,POISONPOWDER
+	db 17,STUN_SPORE
+	db 19,SLEEP_POWDER
+	db 24,ACID
+	db 33,PETAL_DANCE
+	db 46,SOLARBEAM
+	db 0
+Mon044_EvosMoves:
+;GLOOM
+;Evolutions
+	db EV_ITEM,LEAF_STONE ,1,VILEPLUME
+	db 0
+;Learnset
+	db 15,POISONPOWDER
+	db 17,STUN_SPORE
+	db 19,SLEEP_POWDER
+	db 28,ACID
+	db 38,PETAL_DANCE
+	db 52,SOLARBEAM
+	db 0
+Mon045_EvosMoves:
+;VILEPLUME
+;Evolutions
+	db 0
+;Learnset
+	db 15,POISONPOWDER
+	db 17,STUN_SPORE
+	db 19,SLEEP_POWDER
+	db 0
+Mon069_EvosMoves:
+;BELLSPROUT
+;Evolutions
+	db EV_LEVEL,21,WEEPINBELL
+	db 0
+;Learnset
+	db 13,WRAP
+	db 15,POISONPOWDER
+	db 18,SLEEP_POWDER
+	db 21,STUN_SPORE
+	db 26,ACID
+	db 33,RAZOR_LEAF
+	db 42,SLAM
+	db 0
+Mon070_EvosMoves:
+;WEEPINBELL
+;Evolutions
+	db EV_ITEM,LEAF_STONE ,1,VICTREEBEL
+	db 0
+;Learnset
+	db 13,WRAP
+	db 15,POISONPOWDER
+	db 18,SLEEP_POWDER
+	db 23,STUN_SPORE
+	db 29,ACID
+	db 38,RAZOR_LEAF
+	db 49,SLAM
+	db 0
+Mon071_EvosMoves:
+;VICTREEBEL
+;Evolutions
+	db 0
+;Learnset
+	db 13,WRAP
+	db 15,POISONPOWDER
+	db 18,SLEEP_POWDER
+	db 0
+
+INCBIN "baserom.gbc",$3b9ec,$3baa2 - $3b9ec
+
+UnnamedText_3baa2: ; 0x3baa2
+	TX_FAR _UnnamedText_3baa2
+	db $50
+; 0x3baa2 + 5 bytes
+
+UnnamedText_3baa7: ; 0x3baa7
+	TX_FAR _UnnamedText_3baa7
+	db $50
+; 0x3baa7 + 5 bytes
+
+UnnamedText_3baac: ; 0x3baac
+	TX_FAR _UnnamedText_3baac
+	db $50
+; 0x3baac + 5 bytes
+
+INCBIN "baserom.gbc",$3bab1,$3bb92 - $3bab1
+
+UnnamedText_3bb92: ; 0x3bb92
+	TX_FAR _UnnamedText_3bb92
+	db $50
+; 0x3bb92 + 5 bytes
+
+INCBIN "baserom.gbc",$3bb97,$3bbd7 - $3bb97
+
+UnnamedText_3bbd7: ; 0x3bbd7
+	TX_FAR _UnnamedText_3bbd7
+	db $50
+; 0x3bbd7 + 5 bytes
+
+UnnamedText_3bbdc: ; 0x3bbdc
+	TX_FAR _UnnamedText_3bbdc
+	db $50
+; 0x3bbdc + 5 bytes
+
+INCBIN "baserom.gbc",$3bbe1,$41f
+
+SECTION "bankF",DATA,BANK[$F]
+
+; These are move effects (second value from the Moves table in bank $E).
+EffectsArray1: ; 4000
+	db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF
+EffectsArray2: ; 4011
+; moves that do damage but not through normal calculations
+; e.g., Super Fang, Psywave
+	db $28,$29,$FF
+EffectsArray3: ; 4014
+; non-damaging, stat‐affecting or status‐causing moves?
+; e.g., Meditate, Bide, Hypnosis
+	db $01,$0A,$0B,$0C,$0D,$0E,$0F,$12,$13,$14,$15,$16,$17,$1A,$20,$32,$33,$34,$35,$36,$37,$3A,$3B,$3C,$3D,$3E,$3F,$FF
+EffectsArray4: ; 4030
+	db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF
+EffectsArray5: ; 403B
+	db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru
+EffectsArray5B: ; 4049
+; moves that prevent the player from switching moves?
+	db $1B,$2A,$FF
+
+INCBIN "baserom.gbc",$3c04c,$3c1a8 - $3c04c
+
+UnnamedText_3c1a8: ; 0x3c1a8
+	TX_FAR _UnnamedText_3c1a8
+	db $50
+; 0x3c1a8 + 5 bytes
+
+INCBIN "baserom.gbc",$3c1ad,$3c229 - $3c1ad
+
+UnnamedText_3c229: ; 0x3c229
+	TX_FAR _UnnamedText_3c229
+	db $50
+; 0x3c229 + 5 bytes
+
+UnnamedText_3c22e: ; 0x3c22e
+	TX_FAR _UnnamedText_3c22e
+	db $50
+; 0x3c22e + 5 bytes
+
+INCBIN "baserom.gbc",$3c233,$3c42e - $3c233
+
+UnnamedText_3c42e: ; 0x3c42e
+	TX_FAR _UnnamedText_3c42e
+	db $50
+; 0x3c42e + 5 bytes
+
+UnnamedText_3c433: ; 0x3c433
+	TX_FAR _UnnamedText_3c433
+	db $50
+; 0x3c433 + 5 bytes
+
+UnnamedText_3c438: ; 0x3c438
+	TX_FAR _UnnamedText_3c438
+	db $50
+; 0x3c438 + 5 bytes
+
+INCBIN "baserom.gbc",$3c43d,$3c63e - $3c43d
+
+UnnamedText_3c63e: ; 0x3c63e
+	TX_FAR _UnnamedText_3c63e
+	db $50
+; 0x3c63e + 5 bytes
+
+INCBIN "baserom.gbc",$3c643,$3c6e4 - $3c643
+
+UnnamedText_3c6e4: ; 0x3c6e4
+	TX_FAR _UnnamedText_3c6e4
+	db $50
+; 0x3c6e4 + 5 bytes
+
+UnnamedText_3c6e9: ; 0x3c6e9
+	TX_FAR _UnnamedText_3c6e9
+	db $50
+; 0x3c6e9 + 5 bytes
+
+INCBIN "baserom.gbc",$3c6ee,$3c796 - $3c6ee
+
+UnnamedText_3c796: ; 0x3c796
+	TX_FAR _UnnamedText_3c796
+	db $50
+; 0x3c796 + 5 bytes
+
+INCBIN "baserom.gbc",$3c79b,$3c7d3 - $3c79b
+
+UnnamedText_3c7d3: ; 0x3c7d3
+	TX_FAR _UnnamedText_3c7d3
+	db $50
+; 0x3c7d3 + 5 bytes
+
+INCBIN "baserom.gbc",$3c7d8,$3c884 - $3c7d8
+
+UnnamedText_3c884: ; 0x3c884
+	TX_FAR _UnnamedText_3c884
+	db $50
+; 0x3c884 + 5 bytes
+
+UnnamedText_3c889: ; 0x3c889
+	TX_FAR _UnnamedText_3c889
+	db $50
+; 0x3c889 + 5 bytes
+
+UnnamedText_3c88e: ; 0x3c88e
+	TX_FAR _UnnamedText_3c88e
+	db $50
+; 0x3c88e + 5 bytes
+
+INCBIN "baserom.gbc",$3c893,$7b
+
+; XXX this needs cleaning up. it's what runs when a juggler switches pokemon
+EnemySendOut: ; 490E
+	ld hl,$D058
+	xor a
+	ld [hl],a
+	ld a,[$CC2F]
+	ld c,a
+	ld b,1
+	push bc
+	ld a,$10
+	call Predef
+	ld hl,$CCF5
+	xor a
+	ld [hl],a
+	pop bc
+	ld a,$10
+	call Predef
+	xor a
+	ld hl,$D065
+	ld [hli],a
+	ld [hli],a
+	ld [hli],a
+	ld [hli],a
+	ld [hl],a
+	ld [$D072],a
+	ld [$CCEF],a
+	ld [$CCF3],a
+	ld hl,$CCF1
+	ld [hli],a
+	ld [hl],a
+	dec a
+	ld [W_AICOUNT],a
+	ld hl,W_PLAYERBATTSTATUS1
+	res 5,[hl]
+	ld hl,$C3B2
+	ld a,8
+	call $48DF
+	call $6E94
+	call $3719
+	ld a,[$D12B]
+	cp 4
+	jr nz,.next\@
+	ld a,[$CC3E]
+	sub 4
+	ld [$CF92],a
+	jr .next3\@
+.next\@
+	ld b,$FF
+.next2\@
+	inc b
+	ld a,[$CFE8]
+	cp b
+	jr z,.next2\@
+	ld hl,$D8A4
+	ld a,b
+	ld [$CF92],a
+	push bc
+	ld bc,$2C
+	call AddNTimes
+	pop bc
+	inc hl
+	ld a,[hli]
+	ld c,a
+	ld a,[hl]
+	or c
+	jr z,.next2\@
+.next3\@
+	ld a,[$CF92]
+	ld hl,$D8C5
+	ld bc,$2C
+	call AddNTimes
+	ld a,[hl]
+	ld [$D127],a
+	ld a,[$CF92]
+	inc a
+	ld hl,$D89C
+	ld c,a
+	ld b,0
+	add hl,bc
+	ld a,[hl]
+	ld [$CFD8],a
+	ld [$CF91],a
+	call $6B01
+	ld hl,$CFE6
+	ld a,[hli]
+	ld [$CCE3],a
+	ld a,[hl]
+	ld [$CCE4],a
+	ld a,1
+	ld [$CC26],a
+	ld a,[$D11D]
+	dec a
+	jr z,.next4\@
+	ld a,[W_NUMINPARTY]
+	dec a
+	jr z,.next4\@
+	ld a,[$D12B]
+	cp 4
+	jr z,.next4\@
+	ld a,[$D355]
+	bit 6,a
+	jr nz,.next4\@
+	ld hl, TrainerAboutToUseText
+	call PrintText
+	ld hl,$C42C
+	ld bc,$0801
+	ld a,$14
+	ld [$D125],a
+	call $30E8
+	ld a,[$CC26]
+	and a
+	jr nz,.next4\@
+	ld a,2
+	ld [$D07D],a
+	call $13FC
+.next9\@
+	ld a,1
+	ld [$CC26],a
+	jr c,.next7\@
+	ld hl,$CC2F
+	ld a,[$CF92]
+	cp [hl]
+	jr nz,.next6\@
+	ld hl,$51F5
+	call PrintText
+.next8\@
+	call $1411
+	jr .next9\@
+.next6\@
+	call $4A97
+	jr z,.next8\@
+	xor a
+	ld [$CC26],a
+.next7\@
+	call $3DE5
+	call $6E5B
+	call $3725
+.next4\@
+	call $0082
+	ld hl,$C3A0
+	ld bc,$040B
+	call $18C4
+	ld b,1
+	call $3DEF
+	call $3DDC
+	ld hl,TrainerSentOutText
+	call PrintText
+	ld a,[$CFD8]
+	ld [$CF91],a
+	ld [$D0B5],a
+	call $1537
+	ld de,$9000
+	call $1665
+	ld a,$CF
+	ld [$FFE1],a
+	ld hl,$C427
+	ld a,2
+	call Predef
+	ld a,[$CFD8]
+	call $13D0
+	call $4DEC
+	ld a,[$CC26]
+	and a
+	ret nz
+	xor a
+	ld [$D058],a
+	ld [$CCF5],a
+	call $3719
+	jp $51BA
+
+TrainerAboutToUseText: ; 0x3ca79
+	TX_FAR _TrainerAboutToUseText
+	db "@"
+
+TrainerSentOutText: ; 0x3ca7e
+	TX_FAR _TrainerSentOutText
+	db "@"
+
+INCBIN "baserom.gbc",$3ca83,$3cab4 - $3ca83
+
+UnnamedText_3cab4: ; 0x3cab4
+	TX_FAR _UnnamedText_3cab4
+	db $50
+; 0x3cab4 + 5 bytes
+
+INCBIN "baserom.gbc",$3cab9,$3cb97 - $3cab9
+
+UnnamedText_3cb97: ; 0x3cb97
+	TX_FAR _UnnamedText_3cb97
+	db $50
+; 0x3cb97 + 5 bytes
+
+UnnamedText_3cb9c: ; 0x3cb9c
+	TX_FAR _UnnamedText_3cb9c
+	db $50
+; 0x3cb9c + 5 bytes
+
+UnnamedText_3cba1: ; 0x3cba1
+	TX_FAR _UnnamedText_3cba1
+	db $50
+; 0x3cba1 + 5 bytes
+
+INCBIN "baserom.gbc",$3cba6,$3d0c5 - $3cba6
+
+UnnamedText_3d0c5: ; 0x3d0c5
+	TX_FAR _UnnamedText_3d0c5
+	db $50
+; 0x3d0c5 + 5 bytes
+
+INCBIN "baserom.gbc",$3d0ca,$3d1f5 - $3d0ca
+
+UnnamedText_3d1f5: ; 0x3d1f5
+	TX_FAR _UnnamedText_3d1f5
+	db $50
+; 0x3d1f5 + 5 bytes
+
+INCBIN "baserom.gbc",$3d1fa,$3d3ae - $3d1fa
+
+UnnamedText_3d3ae: ; 0x3d3ae
+	TX_FAR _UnnamedText_3d3ae
+	db $50
+; 0x3d3ae + 5 bytes
+
+UnnamedText_3d3b3: ; 0x3d3b3
+	TX_FAR _UnnamedText_3d3b3
+	db $50
+; 0x3d3b3 + 5 bytes
+
+INCBIN "baserom.gbc",$3d3b8,$3d430 - $3d3b8
+
+UnnamedText_3d430: ; 0x3d430
+	TX_FAR _UnnamedText_3d430
+	db $50
+; 0x3d430 + 5 bytes
+
+INCBIN "baserom.gbc",$3d435,$274
+
+; in-battle stuff
+	ld hl,W_PLAYERBATTSTATUS1
+	res 4,[hl]
+	res 6,[hl]
+	call $5AF5
+	ld hl,DecrementPP
+	ld de,$CCDC ; pointer to the move just used
+	ld b,BANK(DecrementPP)
+	call Bankswitch
+	ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used
+	ld hl,EffectsArray1
+	ld de,1
+	call IsInArray
+	jp c,$7132
+	ld a,[W_PLAYERMOVEEFFECT]
+	ld hl,EffectsArray5B
+	ld de,1
+	call IsInArray
+	call c,$7132
+	ld a,[W_PLAYERMOVEEFFECT]
+	ld hl,EffectsArray2
+	ld de,1
+	call IsInArray
+	jp c,$5702
+	call $6023
+	call $6093
+	jr z,.next11\@
+	call $5DCF
+	call $5F65
+	jp z,$574B
+	call $63A5
+	call $6687
+	call $656B
+.next11\@
+	ld a,[W_MOVEMISSED]
+	and a
+	jr z,.next\@
+	ld a,[W_PLAYERMOVEEFFECT]
+	sub a,7
+	jr z,.next2\@
+	jr .next3\@ ; 574B
+.next\@
+	ld a,[W_PLAYERMOVEEFFECT]
+	and a
+	ld a,4
+	jr z,.next2\@
+	ld a,5
+.next2\@
+	push af
+	ld a,[W_PLAYERBATTSTATUS2]
+	bit 4,a
+	ld hl,$5747
+	ld b,$1E
+	call nz,Bankswitch
+	pop af
+	ld [$CC5B],a
+	ld a,[W_PLAYERMOVENUM]
+	call $6F07
+	call $6ED3
+	call $4D60
+	ld a,[W_PLAYERBATTSTATUS2]
+	bit 4,a
+	ld hl,$5771
+	ld b,$1E
+	call nz,Bankswitch
+	jr .next4\@
+.next3\@
+	ld c,$1E
+	call $3739
+	ld a,[W_PLAYERMOVEEFFECT]
+	cp a,$2B
+	jr z,.next5\@
+	cp a,$27 ; XXX SLP | FRZ ?
+	jr z,.next5\@
+	jr .next4\@
+.next5\@
+	xor a
+	ld [$CC5B],a
+	ld a,$A7
+	call $6F07
+.next4\@
+	ld a,[W_PLAYERMOVEEFFECT]
+	cp a,9
+	jr nz,.next6\@ ; 577A
+	call $62FD
+	jp z,Function580A
+	xor a
+	ld [$CCED],a
+	jp $569A
+.next6\@
+	cp a,$53
+	jr nz,.next7\@ ; 5784
+	call $6348
+	jp $569A
+.next7\@
+	ld a,[W_PLAYERMOVEEFFECT]
+	ld hl,EffectsArray3
+	ld de,1
+	call IsInArray
+	jp c,$7132
+	ld a,[W_MOVEMISSED]
+	and a
+	jr z,.next8\@ ; 57A6
+	call $5BE2
+	ld a,[W_PLAYERMOVEEFFECT]
+	cp a,7
+	jr z,.next9\@ ; 57B9
+	jp Function580A
+.next8\@
+	call $60DF
+	call $5C5C
+	ld hl,$7B7B ; MyFunction
+	ld b,$B ; BANK(MyFunction)
+	call Bankswitch
+	ld a,1
+	ld [$CCF4],a
+.next9\@
+	ld a,[W_PLAYERMOVEEFFECT]
+	ld hl,EffectsArray4
+	ld de,1
+	call IsInArray
+	call c,$7132
+	ld hl,$CFE6
+	ld a,[hli]
+	ld b,[hl]
+	or b
+	ret z
+	call $62B6
+
+	ld hl,W_PLAYERBATTSTATUS1
+	bit 2,[hl]
+	jr z,.next10\@ ; 57EF
+	ld a,[$D06A]
+	dec a
+	ld [$D06A],a
+	jp nz,$5714
+
+	res 2,[hl]
+	ld hl,MultiHitText
+	call PrintText
+	xor a
+	ld [W_NUMHITS],a ; reset
+.next10\@
+	ld a,[W_PLAYERMOVEEFFECT]
+	and a
+	jp z,Function580A
+	ld hl,EffectsArray5
+	ld de,1
+	call IsInArray
+	call nc,$7132
+	jp Function580A
+
+MultiHitText: ; 0x3d805
+	TX_FAR _MultiHitText
+	db "@"
+
+Function580A: ; 0x3d80a 580A
+	xor a
+	ld [$CD6A],a
+	ld b,1
+	ret
+
+Function5811: ; 0x3d811 5811
+; print the ghost battle messages
+	call $583A
+	ret nz
+	ld a,[H_WHOSETURN]
+	and a
+	jr nz,.Ghost\@
+	ld a,[W_PLAYERMONSTATUS] ; player’s turn
+	and a,SLP | FRZ
+	ret nz
+	ld hl,ScaredText
+	call PrintText
+	xor a
+	ret
+.Ghost\@ ; ghost’s turn
+	ld hl,GetOutText
+	call PrintText
+	xor a
+	ret
+
+ScaredText: ; 0x3d830
+	TX_FAR _ScaredText
+	db "@"
+
+GetOutText: ; 0x3d835
+	TX_FAR _GetOutText
+	db "@"
+
+Function583A: ; 0x3d83a 583A
+	ld a,[W_ISINBATTLE]
+	dec a
+	ret nz
+	ld a,[W_CURMAP]
+	cp a,$8E ; Lavender Town
+	jr c,.next\@
+	cp a,$95 ; Pokémon Tower
+	jr nc,.next\@
+	ld b,SILPH_SCOPE
+	call IsItemInBag ; $3493
+	ret z
+.next\@
+	ld a,1
+	and a
+	ret
+
+Function5854: ; 5854
+	ld hl,W_PLAYERMONSTATUS
+	ld a,[hl]
+	and a,SLP
+	jr z,.FrozenCheck\@ ; to 5884
+
+	dec a
+	ld [W_PLAYERMONSTATUS],a ; decrement sleep count
+	and a
+	jr z,.WakeUp\@ ; to 5874
+
+	xor a
+	ld [$CC5B],a
+	ld a,SLP_ANIM - 1
+	call $6F07
+	ld hl,FastAsleepText
+	call PrintText
+	jr .sleepDone\@
+.WakeUp\@
+	ld hl,WokeUpText
+	call PrintText
+.sleepDone\@
+	xor a
+	ld [$CCF1],a
+	ld hl,Function580A
+	jp $5A37
+
+.FrozenCheck\@
+	bit 5,[hl] ; frozen?
+	jr z,.HeldInPlaceCheck\@ ; to 5898
+	ld hl,FrozenText
+	call PrintText
+	xor a
+	ld [$CCF1],a
+	ld hl,Function580A
+	jp $5A37
+
+.HeldInPlaceCheck\@
+	ld a,[W_ENEMYBATTSTATUS1]
+	bit 5,a
+	jp z,FlinchedCheck
+	ld hl,CantMoveText
+	call PrintText
+	ld hl,Function580A
+	jp $5A37
+
+FlinchedCheck: ; 58AC
+	ld hl,W_PLAYERBATTSTATUS1
+	bit 3,[hl]
+	jp z,HyperBeamCheck
+	res 3,[hl]
+	ld hl,FlinchedText
+	call PrintText
+	ld hl,Function580A
+	jp $5A37
+
+HyperBeamCheck: ; 58C2
+	ld hl,W_PLAYERBATTSTATUS2
+	bit 5,[hl]
+	jr z,.next\@ ; 58D7
+	res 5,[hl]
+	ld hl,MustRechargeText
+	call PrintText
+	ld hl,$580A
+	jp $5A37
+.next\@
+	ld hl,$D06D
+	ld a,[hl]
+	and a
+	jr z,.next2\@ ; 58EE
+	dec a
+	ld [hl],a
+	and a,$F
+	jr nz,.next2\@
+	ld [hl],a
+	ld [$CCEE],a
+	ld hl,DisabledNoMoreText
+	call PrintText
+.next2\@
+	ld a,[W_PLAYERBATTSTATUS1]
+	add a
+	jr nc,.next3\@ ; 5929
+	ld hl,$D06B
+	dec [hl]
+	jr nz,.next4\@ ; 5907
+	ld hl,W_PLAYERBATTSTATUS1
+	res 7,[hl]
+	ld hl,ConfusedNoMoreText
+	call PrintText
+	jr .next3\@
+.next4\@
+	ld hl,IsConfusedText
+	call PrintText
+	xor a
+	ld [$CC5B],a
+	ld a,CONF_ANIM - 1
+	call $6F07
+	call $6E9B
+	cp a,$80
+	jr c,.next3\@
+	ld hl,W_PLAYERBATTSTATUS1
+	ld a,[hl]
+	and a,$80
+	ld [hl],a
+	call $5AAD
+	jr .next5\@ ; 5952
+.next3\@
+	ld a,[$CCEE]
+	and a
+	jr z,.ParalysisCheck\@ ; 593E
+	ld hl,$CCDC
+	cp [hl]
+	jr nz,.ParalysisCheck\@
+	call $5A88
+	ld hl,$580A
+	jp $5A37
+.ParalysisCheck\@
+	ld hl,W_PLAYERMONSTATUS
+	bit 6,[hl]
+	jr z,.next7\@ ; 5975
+	call $6E9B ; random number?
+	cp a,$3F
+	jr nc,.next7\@
+	ld hl,FullyParalyzedText
+	call PrintText
+.next5\@
+	ld hl,W_PLAYERBATTSTATUS1
+	ld a,[hl]
+	and a,$CC
+	ld [hl],a
+	ld a,[W_PLAYERMOVEEFFECT]
+	cp a,$2B
+	jr z,.next8\@ ; 5966
+	cp a,$27
+	jr z,.next8\@
+	jr .next9\@ ; 596F
+.next8\@
+	xor a
+	ld [$CC5B],a
+	ld a,$A7
+	call $6F07
+.next9\@
+	ld hl,$580A
+	jp $5A37
+.next7\@
+	ld hl,W_PLAYERBATTSTATUS1
+	bit 0,[hl]
+	jr z,.next10\@ ; 59D0
+	xor a
+	ld [W_PLAYERMOVENUM],a
+	ld hl,$D0D7
+	ld a,[hli]
+	ld b,a
+	ld c,[hl]
+	ld hl,$D075
+	ld a,[hl]
+	add c
+	ld [hld],a
+	ld a,[hl]
+	adc b
+	ld [hl],a
+	ld hl,$D06A
+	dec [hl]
+	jr z,.next11\@ ; 599B
+	ld hl,$580A
+	jp $5A37
+.next11\@
+	ld hl,W_PLAYERBATTSTATUS1
+	res 0,[hl]
+	ld hl,UnleashedEnergyText
+	call PrintText
+	ld a,1
+	ld [$CFD4],a
+	ld hl,$D075
+	ld a,[hld]
+	add a
+	ld b,a
+	ld [$D0D8],a
+	ld a,[hl]
+	rl a
+	ld [$D0D7],a
+	or b
+	jr nz,.next12\@ ; 59C2
+	ld a,1
+	ld [W_MOVEMISSED],a
+.next12\@
+	xor a
+	ld [hli],a
+	ld [hl],a
+	ld a,$75
+	ld [W_PLAYERMOVENUM],a
+	ld hl,$5705
+	jp $5A37
+.next10\@
+	bit 1,[hl]
+	jr z,.next13\@ ; 59FF
+	ld a,$25
+	ld [W_PLAYERMOVENUM],a
+	ld hl,ThrashingAboutText
+	call PrintText
+	ld hl,$D06A
+	dec [hl]
+	ld hl,$56DC
+	jp nz,$5A37
+	push hl
+	ld hl,W_PLAYERBATTSTATUS1
+	res 1,[hl]
+	set 7,[hl]
+	call $6E9B ; random number?
+	and a,3
+	inc a
+	inc a
+	ld [$D06B],a
+	pop hl
+	jp $5A37
+.next13\@
+	bit 5,[hl]
+	jp z,$5A1A
+	ld hl,AttackContinuesText
+	call PrintText
+	ld a,[$D06A]
+	dec a
+	ld [$D06A],a
+	ld hl,$5714
+	jp nz,$5A37
+	jp $5A37
+
+INCBIN "baserom.gbc",$3DA1A,$3DA3D - $3DA1A
+
+FastAsleepText:
+	TX_FAR _FastAsleepText
+	db "@"
+
+WokeUpText:
+	TX_FAR _WokeUpText
+	db "@"
+
+FrozenText:
+	TX_FAR _FrozenText
+	db "@"
+
+FullyParalyzedText:
+	TX_FAR _FullyParalyzedText
+	db "@"
+
+FlinchedText:
+	TX_FAR _FlinchedText
+	db "@"
+
+MustRechargeText:
+	TX_FAR _MustRechargeText
+	db "@"
+
+DisabledNoMoreText:
+	TX_FAR _DisabledNoMoreText
+	db "@"
+
+IsConfusedText:
+	TX_FAR _IsConfusedText
+	db "@"
+
+HurtItselfText:
+	TX_FAR _HurtItselfText
+	db "@"
+
+ConfusedNoMoreText:
+	TX_FAR _ConfusedNoMoreText
+	db "@"
+
+SavingEnergyText:
+	TX_FAR _SavingEnergyText
+	db "@"
+
+UnleashedEnergyText:
+	TX_FAR _UnleashedEnergyText
+	db "@"
+
+ThrashingAboutText:
+	TX_FAR _ThrashingAboutText
+	db "@"
+
+AttackContinuesText:
+	TX_FAR _AttackContinuesText
+	db "@"
+
+CantMoveText:
+	TX_FAR _CantMoveText
+	db "@"
+
+INCBIN "baserom.gbc",$3da88,$3daa8 - $3da88
+
+UnnamedText_3daa8: ; 0x3daa8
+	TX_FAR _UnnamedText_3daa8
+	db $50
+; 0x3daa8 + 5 bytes
+
+INCBIN "baserom.gbc",$3daad,$3db6c - $3daad
+
+UnnamedText_3db6c: ; 0x3db6c
+	TX_FAR _UnnamedText_3db6c
+	db $50
+; 0x3db6c + 5 bytes
+
+UnnamedText_3db71: ; 0x3db71
+	TX_FAR _UnnamedText_3db71
+	db $50
+; 0x3db71 + 5 bytes
+
+UnnamedText_3db76: ; 0x3db76
+	TX_FAR _UnnamedText_3db76
+	db $50
+; 0x3db76 + 5 bytes
+
+UnnamedText_3db7b: ; 0x3db7b
+	TX_FAR _UnnamedText_3db7b
+	db $50
+; 0x3db7b + 5 bytes
+
+UnnamedText_3db80: ; 0x3db80
+	TX_FAR _UnnamedText_3db80
+	db $50
+; 0x3db80 + 5 bytes
+
+INCBIN "baserom.gbc",$3db85,$3dc42 - $3db85
+
+UnnamedText_3dc42: ; 0x3dc42
+	TX_FAR _UnnamedText_3dc42
+	db $50
+; 0x3dc42 + 5 bytes
+
+UnnamedText_3dc47: ; 0x3dc47
+	TX_FAR _UnnamedText_3dc47
+	db $50
+; 0x3dc47 + 5 bytes
+
+UnnamedText_3dc4c: ; 0x3dc4c
+	TX_FAR _UnnamedText_3dc4c
+	db $50
+; 0x3dc4c + 5 bytes
+
+INCBIN "baserom.gbc",$3dc51,$3dc57 - $3dc51
+
+UnnamedText_3dc57: ; 0x3dc57
+	TX_FAR _UnnamedText_3dc57
+	db $50
+; 0x3dc57 + 5 bytes
+
+INCBIN "baserom.gbc",$3dc5c,$3dc7e - $3dc5c
+
+UnnamedText_3dc7e: ; 0x3dc7e
+	TX_FAR _UnnamedText_3dc7e
+	db $50
+; 0x3dc7e + 5 bytes
+
+UnnamedText_3dc83: ; 0x3dc83
+	TX_FAR _UnnamedText_3dc83
+	db $50
+; 0x3dc83 + 5 bytes
+
+INCBIN "baserom.gbc",$3dc88,$3ddb6 - $3dc88
+
+UnnamedText_3ddb6: ; 0x3ddb6
+	TX_FAR _UnnamedText_3ddb6
+	db $50
+; 0x3ddb6 + 5 bytes
+
+UnnamedText_3ddbb: ; 0x3ddbb
+	TX_FAR _UnnamedText_3ddbb
+	db $50
+; 0x3ddbb + 5 bytes
+
+UnnamedText_3ddc0: ; 0x3ddc0
+	TX_FAR _UnnamedText_3ddc0
+	db $50
+; 0x3ddc0 + 5 bytes
+
+UnnamedText_3ddc5: ; 0x3ddc5
+	TX_FAR _UnnamedText_3ddc5
+	db $50
+; 0x3ddc5 + 5 bytes
+
+UnnamedText_3ddca: ; 0x3ddca
+	TX_FAR _UnnamedText_3ddca
+	db $50
+; 0x3ddca + 5 bytes
+
+INCBIN "baserom.gbc",$3ddcf,$3e04f - $3ddcf
+
+; azure heights claims "the fastest pokémon (who are,not coincidentally,
+; among the most popular) tend to CH about 20 to 25% of the time."
+CriticalHitProbability: ; 0x3e04f
+	ld a, [hld]                  ; read base power from RAM
+	and a
+	ret z                        ; do nothing if zero
+	dec hl
+	ld c, [hl]                   ; read move id
+	ld a, [de]
+	bit 2, a
+	jr nz, .asm_3e061
+	sla b
+	jr nc, .asm_3e063
+	ld b, $ff
+	jr .asm_3e063
+.asm_3e061
+	srl b
+.asm_3e063
+	ld hl, HighCriticalMoves      ; table of high critical hit moves
+.Loop
+	ld a, [hli]                  ; read move from move table
+	cp c                         ; does it match the move about to be used?
+	jr z, .HighCritical          ; if so, the move about to be used is a high critical hit ratio move 
+	inc a                        ; move on to the next move, FF terminates loop
+	jr nz, .Loop                 ; check the next move in HighCriticalMoves
+	srl b                        ; /2 for regular move (effective 1/512?)
+	jr .SkipHighCritical         ; continue as a normal move
+.HighCritical
+	sla b                        ; *2 for high critical hit moves
+	jr nc, .asm_3e077
+	ld b, $ff                    ; set to FF (max) on overflow
+.asm_3e077
+	sla b                        ; *4 for high critical move (effective 1/64?)
+	jr nc, .SkipHighCritical
+	ld b, $ff
+.SkipHighCritical
+	call $6e9b                   ; probably generates a random value, in "a"
+	rlc a
+	rlc a
+	rlc a
+	cp b                         ; check a against $ff
+	ret nc                       ; no critical hit if no borrow
+	ld a, $1
+	ld [$d05e], a                ; set critical hit flag
+	ret
+; 0x3e08e
+
+; high critical hit moves
+HighCriticalMoves: ; 0x3e08e
+	db KARATE_CHOP
+	db RAZOR_LEAF
+	db CRABHAMMER
+	db SLASH
+	db $FF
+; 0x3e093
+
+; function to determine if Counter hits and if so, how much damage it does
+HandleCounterMove: ; 6093
+	ld a,[H_WHOSETURN] ; whose turn
+	and a
+; player's turn
+	ld hl,W_ENEMYSELECTEDMOVE
+	ld de,W_ENEMYMOVEPOWER
+	ld a,[W_PLAYERSELECTEDMOVE]
+	jr z,.next\@
+; enemy's turn
+	ld hl,W_PLAYERSELECTEDMOVE
+	ld de,W_PLAYERMOVEPOWER
+	ld a,[W_ENEMYSELECTEDMOVE]
+.next\@
+	cp a,COUNTER
+	ret nz ; return if not using Counter
+	ld a,$01
+	ld [W_MOVEMISSED],a ; initialize the move missed variable to true (it is set to false below if the move hits)
+	ld a,[hl]
+	cp a,COUNTER
+	ret z ; if the target also used Counter, miss
+	ld a,[de]
+	and a
+	ret z ; if the move the target used has 0 power, miss
+; check if the move the target used was Normal or Fighting type
+	inc de
+	ld a,[de]
+	and a ; normal type
+	jr z,.counterableType\@
+	cp a,FIGHTING
+	jr z,.counterableType\@
+; if the move wasn't Normal or Fighting type, miss
+	xor a
+	ret
+.counterableType\@
+	ld hl,W_DAMAGE
+	ld a,[hli]
+	or [hl]
+	ret z ; Counter misses if the target did no damage to the Counter user
+; double the damage that the target did to the Counter user
+	ld a,[hl]
+	add a
+	ldd [hl],a
+	ld a,[hl]
+	adc a
+	ld [hl],a
+	jr nc,.noCarry\@
+; damage is capped at 0xFFFF
+	ld a,$ff
+	ld [hli],a
+	ld [hl],a
+.noCarry\@
+	xor a
+	ld [W_MOVEMISSED],a
+	call MoveHitTest ; do the normal move hit test in addition to Counter's special rules
+	xor a
+	ret
+
+ApplyDamageToEnemyPokemon: ; 60DF
+	ld a,[W_PLAYERMOVEEFFECT]
+	cp a,OHKO_EFFECT
+	jr z,.applyDamage\@
+	cp a,SUPER_FANG_EFFECT
+	jr z,.superFangEffect\@
+	cp a,SPECIAL_DAMAGE_EFFECT
+	jr z,.specialDamage\@
+	ld a,[W_PLAYERMOVEPOWER]
+	and a
+	jp z,.done\@
+	jr .applyDamage\@
+.superFangEffect\@
+; set the damage to half the target's HP
+	ld hl,W_ENEMYMONCURHP
+	ld de,W_DAMAGE
+	ld a,[hli]
+	srl a
+	ld [de],a
+	inc de
+	ld b,a
+	ld a,[hl]
+	rr a
+	ld [de],a
+	or b
+	jr nz,.applyDamage\@
+; make sure Super Fang's damage is always at least 1
+	ld a,$01
+	ld [de],a
+	jr .applyDamage\@
+.specialDamage\@
+	ld hl,W_PLAYERMONLEVEL
+	ld a,[hl]
+	ld b,a
+	ld a,[W_PLAYERMOVENUM]
+	cp a,SEISMIC_TOSS
+	jr z,.storeDamage\@
+	cp a,NIGHT_SHADE
+	jr z,.storeDamage\@
+	ld b,SONICBOOM_DAMAGE
+	cp a,SONICBOOM
+	jr z,.storeDamage\@
+	ld b,DRAGON_RAGE_DAMAGE
+	cp a,DRAGON_RAGE
+	jr z,.storeDamage\@
+; Psywave
+	ld a,[hl]
+	ld b,a
+	srl a
+	add b
+	ld b,a ; b = level * 1.5
+; loop until a random number in the range [1, b) is found
+.loop\@
+	call $6e9b ; random number
+	and a
+	jr z,.loop\@
+	cp b
+	jr nc,.loop\@
+	ld b,a
+.storeDamage\@
+	ld hl,W_DAMAGE
+	xor a
+	ld [hli],a
+	ld a,b
+	ld [hl],a
+.applyDamage\@
+	ld hl,W_DAMAGE
+	ld a,[hli]
+	ld b,a
+	ld a,[hl]
+	or b
+	jr z,.done\@ ; we're done if damage is 0
+	ld a,[W_ENEMYBATTSTATUS2]
+	bit 4,a ; does the enemy have a substitute?
+	jp nz,AttackSubstitute
+; subtract the damage from the pokemon's current HP
+; also, save the current HP at $CEEB
+	ld a,[hld]
+	ld b,a
+	ld a,[W_ENEMYMONCURHP + 1]
+	ld [$ceeb],a
+	sub b
+	ld [W_ENEMYMONCURHP + 1],a
+	ld a,[hl]
+	ld b,a
+	ld a,[W_ENEMYMONCURHP]
+	ld [$ceec],a
+	sbc b
+	ld [W_ENEMYMONCURHP],a
+	jr nc,.animateHpBar\@
+; if more damage was done than the current HP, zero the HP and set the damage
+; equal to how much HP the pokemon had before the attack
+	ld a,[$ceec]
+	ld [hli],a
+	ld a,[$ceeb]
+	ld [hl],a
+	xor a
+	ld hl,W_ENEMYMONCURHP
+	ld [hli],a
+	ld [hl],a
+.animateHpBar\@
+	ld hl,W_ENEMYMONMAXHP
+	ld a,[hli]
+	ld [$ceea],a
+	ld a,[hl]
+	ld [$cee9],a
+	ld hl,W_ENEMYMONCURHP
+	ld a,[hli]
+	ld [$ceee],a
+	ld a,[hl]
+	ld [$ceed],a
+	ld hl,$c3ca
+	xor a
+	ld [$cf94],a
+	ld a,$48
+	call Predef ; animate the HP bar shortening
+.done\@
+	jp $4d5a ; redraw pokemon names and HP bars
+
+ApplyDamageToPlayerPokemon: ; 61A0
+	ld a,[W_ENEMYMOVEEFFECT]
+	cp a,OHKO_EFFECT
+	jr z,.applyDamage\@
+	cp a,SUPER_FANG_EFFECT
+	jr z,.superFangEffect\@
+	cp a,SPECIAL_DAMAGE_EFFECT
+	jr z,.specialDamage\@
+	ld a,[W_ENEMYMOVEPOWER]
+	and a
+	jp z,.done\@
+	jr .applyDamage\@
+.superFangEffect\@
+; set the damage to half the target's HP
+	ld hl,W_PLAYERMONCURHP
+	ld de,W_DAMAGE
+	ld a,[hli]
+	srl a
+	ld [de],a
+	inc de
+	ld b,a
+	ld a,[hl]
+	rr a
+	ld [de],a
+	or b
+	jr nz,.applyDamage\@
+; make sure Super Fang's damage is always at least 1
+	ld a,$01
+	ld [de],a
+	jr .applyDamage\@
+.specialDamage\@
+	ld hl,W_ENEMYMONLEVEL
+	ld a,[hl]
+	ld b,a
+	ld a,[W_ENEMYMOVENUM]
+	cp a,SEISMIC_TOSS
+	jr z,.storeDamage\@
+	cp a,NIGHT_SHADE
+	jr z,.storeDamage\@
+	ld b,SONICBOOM_DAMAGE
+	cp a,SONICBOOM
+	jr z,.storeDamage\@
+	ld b,DRAGON_RAGE_DAMAGE
+	cp a,DRAGON_RAGE
+	jr z,.storeDamage\@
+; Psywave
+	ld a,[hl]
+	ld b,a
+	srl a
+	add b
+	ld b,a ; b = attacker's level * 1.5
+; loop until a random number in the range [0, b) is found
+; this differs from the range when the player attacks, which is [1, b)
+; it's possible for the enemy to do 0 damage with Psywave, but the player always does at least 1 damage
+.loop\@
+	call $6e9b ; random number
+	cp b
+	jr nc,.loop\@
+	ld b,a
+.storeDamage\@
+	ld hl,W_DAMAGE
+	xor a
+	ld [hli],a
+	ld a,b
+	ld [hl],a
+.applyDamage\@
+	ld hl,W_DAMAGE
+	ld a,[hli]
+	ld b,a
+	ld a,[hl]
+	or b
+	jr z,.done\@ ; we're done if damage is 0
+	ld a,[W_PLAYERBATTSTATUS2]
+	bit 4,a ; does the player have a substitute?
+	jp nz,AttackSubstitute
+; subtract the damage from the pokemon's current HP
+; also, save the current HP at $CEEB and the new HP at $CEED
+	ld a,[hld]
+	ld b,a
+	ld a,[W_PLAYERMONCURHP + 1]
+	ld [$ceeb],a
+	sub b
+	ld [W_PLAYERMONCURHP + 1],a
+	ld [$ceed],a
+	ld b,[hl]
+	ld a,[W_PLAYERMONCURHP]
+	ld [$ceec],a
+	sbc b
+	ld [W_PLAYERMONCURHP],a
+	ld [$ceee],a
+	jr nc,.animateHpBar\@
+; if more damage was done than the current HP, zero the HP and set the damage
+; equal to how much HP the pokemon had before the attack
+	ld a,[$ceec]
+	ld [hli],a
+	ld a,[$ceeb]
+	ld [hl],a
+	xor a
+	ld hl,W_PLAYERMONCURHP
+	ld [hli],a
+	ld [hl],a
+	ld hl,$ceed
+	ld [hli],a
+	ld [hl],a
+.animateHpBar\@
+	ld hl,W_PLAYERMONMAXHP
+	ld a,[hli]
+	ld [$ceea],a
+	ld a,[hl]
+	ld [$cee9],a
+	ld hl,$c45e
+	ld a,$01
+	ld [$cf94],a
+	ld a,$48
+	call Predef ; animate the HP bar shortening
+.done\@
+	jp $4d5a ; redraw pokemon names and HP bars
+
+AttackSubstitute: ; 625E
+	ld hl,SubstituteTookDamageText
+	call PrintText
+; values for player turn
+	ld de,W_ENEMYSUBSITUTEHP
+	ld bc,W_ENEMYBATTSTATUS2
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.applyDamageToSubstitute\@
+; values for enemy turn
+	ld de,W_PLAYERSUBSITUTEHP
+	ld bc,W_PLAYERBATTSTATUS2
+.applyDamageToSubstitute\@
+	ld hl,W_DAMAGE
+	ld a,[hli]
+	and a
+	jr nz,.substituteBroke\@ ; damage > 0xFF always breaks substitutes
+; subtract damage from HP of substitute
+	ld a,[de]
+	sub [hl]
+	ld [de],a
+	ret nc
+.substituteBroke\@
+	ld h,b
+	ld l,c
+	res 4,[hl] ; unset the substitute bit
+	ld hl,SubstituteBrokeText
+	call PrintText
+; flip whose turn it is for the next function call
+	ld a,[H_WHOSETURN]
+	xor a,$01
+	ld [H_WHOSETURN],a
+	ld hl,$5747
+	ld b,$1e ; animate the substitute breaking
+	call Bankswitch ; substitute
+; flip the turn back to the way it was
+	ld a,[H_WHOSETURN]
+	xor a,$01
+	ld [H_WHOSETURN],a
+	ld hl,W_PLAYERMOVEEFFECT ; value for player's turn
+	and a
+	jr z,.nullifyEffect\@
+	ld hl,W_ENEMYMOVEEFFECT ; value for enemy's turn
+.nullifyEffect\@
+	xor a
+	ld [hl],a ; zero the effect of the attacker's move
+	jp $4d5a ; redraw pokemon names and HP bars
+
+SubstituteTookDamageText: ; 0x3e2ac
+	TX_FAR _SubstituteTookDamageText
+	db $50
+; 0x3e2ac + 5 bytes
+
+SubstituteBrokeText: ; 0x3e2b1
+	TX_FAR _SubstituteBrokeText
+	db $50
+; 0x3e2b1 + 5 bytes
+
+; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked
+HandleBuildingRage: ; 62B6
+; values for the player turn
+	ld hl,W_ENEMYBATTSTATUS2
+	ld de,W_ENEMYMONATTACKMOD
+	ld bc,W_ENEMYMOVENUM
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.next\@
+; values for the enemy turn
+	ld hl,W_PLAYERBATTSTATUS2
+	ld de,W_PLAYERMONATTACKMOD
+	ld bc,W_PLAYERMOVENUM
+.next\@
+	bit 6,[hl] ; is the pokemon being attacked under the effect of Rage?
+	ret z ; return if not
+	ld a,[de]
+	cp a,$0d ; maximum stat modifier value
+	ret z ; return if attack modifier is already maxed
+	ld a,[H_WHOSETURN]
+	xor a,$01 ; flip turn for the stat modifier raising function
+	ld [H_WHOSETURN],a
+; change the target pokemon's move to $00 and the effect to the one
+; that causes the attack modifier to go up one stage
+	ld h,b
+	ld l,c
+	ld [hl],$00 ; null move number
+	inc hl
+	ld [hl],ATTACK_UP1_EFFECT
+	push hl
+	ld hl,BuildingRageText
+	call PrintText
+	call $7428 ; stat modifier raising function
+	pop hl
+	xor a
+	ldd [hl],a ; null move effect
+	ld a,RAGE
+	ld [hl],a ; restore the target pokemon's move number to Rage
+	ld a,[H_WHOSETURN]
+	xor a,$01 ; flip turn back to the way it was
+	ld [H_WHOSETURN],a
+	ret
+
+BuildingRageText: ; 0x3e2f8
+	TX_FAR _BuildingRageText
+	db $50
+; 0x3e2f8 + 5 bytes
+
+; copy last move for Mirror Move
+; sets zero flag on failure and unsets zero flag on success
+MirrorMoveCopyMove: ; 62FD
+	ld a,[H_WHOSETURN]
+	and a
+; values for player turn
+	ld a,[$ccf2]
+	ld hl,W_PLAYERSELECTEDMOVE
+	ld de,W_PLAYERMOVENUM
+	jr z,.next\@
+; values for enemy turn
+	ld a,[$ccf1]
+	ld de,W_ENEMYMOVENUM
+	ld hl,W_ENEMYSELECTEDMOVE
+.next\@
+	ld [hl],a
+	cp a,MIRROR_MOVE ; did the target pokemon also use Mirror Move?
+	jr z,.mirrorMoveFailed\@
+	and a ; null move?
+	jr nz,ReloadMoveData
+.mirrorMoveFailed\@
+; Mirror Move fails on itself and null moves
+	ld hl,MirrorMoveFailedText
+	call PrintText
+	xor a
+	ret
+
+MirrorMoveFailedText: ; 0x3e324
+	TX_FAR _MirrorMoveFailedText
+	db $50
+; 0x3e324 + 5 bytes
+
+; function used to reload move data for moves like Mirror Move and Metronome
+ReloadMoveData: ; 6329
+	ld [$d11e],a
+	dec a
+	ld hl,Moves
+	ld bc,$0006
+	call AddNTimes
+	ld a,BANK(Moves)
+	call FarCopyData ; copy the move's stats
+	call IncrementMovePP
+; the follow two function calls are used to reload the move name
+	call $3058
+	call $3826
+	ld a,$01
+	and a
+	ret
+
+; function that picks a random move for metronome
+MetronomePickMove: ; 6348
+	xor a
+	ld [$cc5b],a
+	ld a,METRONOME
+	call PlayMoveAnimation ; play Metronome's animation
+; values for player turn
+	ld de,W_PLAYERMOVENUM
+	ld hl,W_PLAYERSELECTEDMOVE
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.pickMoveLoop\@
+; values for enemy turn
+	ld de,W_ENEMYMOVENUM
+	ld hl,W_ENEMYSELECTEDMOVE
+; loop to pick a random number in the range [1, $a5) to be the move used by Metronome
+.pickMoveLoop\@
+	call $6e9b ; random number
+	and a
+	jr z,.pickMoveLoop\@
+	cp a,$a5 ; max normal move number + 1 (this is Struggle's move number)
+	jr nc,.pickMoveLoop\@
+	cp a,METRONOME
+	jr z,.pickMoveLoop\@
+	ld [hl],a
+	jr ReloadMoveData
+
+; this function increments the current move's PP
+; it's used to prevent moves that run another move within the same turn
+; (like Mirror Move and Metronome) from losing 2 PP
+IncrementMovePP: ; 6373
+	ld a,[H_WHOSETURN]
+	and a
+; values for player turn
+	ld hl,W_PLAYERMONPP
+	ld de,W_PARTYMON1_MOVE1PP
+	ld a,[W_PLAYERMOVELISTINDEX]
+	jr z,.next\@
+; values for enemy turn
+	ld hl,W_ENEMYMONPP
+	ld de,$d8c1 ; enemy party pokemon 1 PP
+	ld a,[W_ENEMYMOVELISTINDEX]
+.next\@
+	ld b,$00
+	ld c,a
+	add hl,bc
+	inc [hl] ; increment PP in the currently battling pokemon memory location
+	ld h,d
+	ld l,e
+	add hl,bc
+	ld a,[H_WHOSETURN]
+	and a
+	ld a,[W_PLAYERMONNUMBER] ; value for player turn
+	jr z,.next2\@
+	ld a,[W_ENEMYMONNUMBER] ; value for enemy turn
+.next2\@
+	ld bc,$002c
+	call AddNTimes
+	inc [hl] ; increment PP in the party memory location
+	ret
+
+; function to adjust the base damage of an attack to account for type effectiveness
+AdjustDamageForMoveType: ; 63A5
+; values for player turn
+	ld hl,W_PLAYERMONTYPES
+	ld a,[hli]
+	ld b,a    ; b = type 1 of attacker
+	ld c,[hl] ; c = type 2 of attacker
+	ld hl,W_ENEMYMONTYPES
+	ld a,[hli]
+	ld d,a    ; d = type 1 of defender
+	ld e,[hl] ; e = type 2 of defender
+	ld a,[W_PLAYERMOVETYPE]
+	ld [$d11e],a
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.next\@
+; values for enemy turn
+	ld hl,W_ENEMYMONTYPES
+	ld a,[hli]
+	ld b,a    ; b = type 1 of attacker
+	ld c,[hl] ; c = type 2 of attacker
+	ld hl,W_PLAYERMONTYPES
+	ld a,[hli]
+	ld d,a    ; d = type 1 of defender
+	ld e,[hl] ; e = type 2 of defender
+	ld a,[W_ENEMYMOVETYPE]
+	ld [$d11e],a
+.next\@
+	ld a,[$d11e] ; move type
+	cp b ; does the move type match type 1 of the attacker?
+	jr z,.sameTypeAttackBonus\@
+	cp c ; does the move type match type 2 of the attacker?
+	jr z,.sameTypeAttackBonus\@
+	jr .skipSameTypeAttackBonus\@
+.sameTypeAttackBonus\@
+; if the move type matches one of the attacker's types
+	ld hl,W_DAMAGE + 1
+	ld a,[hld]
+	ld h,[hl]
+	ld l,a    ; hl = damage
+	ld b,h
+	ld c,l    ; bc = damage
+	srl b
+	rr c      ; bc = floor(0.5 * damage)
+	add hl,bc ; hl = floor(1.5 * damage)
+; store damage
+	ld a,h
+	ld [W_DAMAGE],a
+	ld a,l
+	ld [W_DAMAGE + 1],a
+	ld hl,$d05b
+	set 7,[hl]
+.skipSameTypeAttackBonus\@
+	ld a,[$d11e]
+	ld b,a ; b = move type
+	ld hl,TypeEffects
+.loop\@
+	ld a,[hli] ; a = "attacking type" of the current type pair
+	cp a,$ff
+	jr z,.done\@
+	cp b ; does move type match "attacking type"?
+	jr nz,.nextTypePair\@
+	ld a,[hl] ; a = "defending type" of the current type pair
+	cp d ; does type 1 of defender match "defending type"?
+	jr z,.matchingPairFound\@
+	cp e ; does type 2 of defender match "defending type"?
+	jr z,.matchingPairFound\@
+	jr .nextTypePair\@
+.matchingPairFound\@
+; if the move type matches the "attacking type" and one of the defender's types matches the "defending type"
+	push hl
+	push bc
+	inc hl
+	ld a,[$d05b]
+	and a,$80
+	ld b,a
+	ld a,[hl] ; a = damage multiplier
+	ld [H_MULTIPLIER],a
+	add b
+	ld [$d05b],a
+	xor a
+	ld [H_MULTIPLICAND],a
+	ld hl,W_DAMAGE
+	ld a,[hli]
+	ld [H_MULTIPLICAND + 1],a
+	ld a,[hld]
+	ld [H_MULTIPLICAND + 2],a
+	call $38ac ; multiply
+	ld a,10
+	ld [H_DIVISOR],a
+	ld b,$04
+	call $38b9 ; divide
+	ld a,[H_QUOTIENT + 2]
+	ld [hli],a
+	ld b,a
+	ld a,[H_QUOTIENT + 3]
+	ld [hl],a
+	or b ; is damage 0?
+	jr nz,.skipTypeImmunity\@
+.typeImmunity\@
+; if damage is 0, make the move miss
+	inc a
+	ld [W_MOVEMISSED],a
+.skipTypeImmunity\@
+	pop bc
+	pop hl
+.nextTypePair\@
+	inc hl
+	inc hl
+	jp .loop\@
+.done\@
+	ret
+
+; function to tell how effective the type of an enemy attack is on the player's current pokemon
+; this doesn't take into account the effects that dual types can have
+; (e.g. 4x weakness / resistance, weaknesses and resistances canceling)
+; the result is stored in [$D11E]
+; ($05 is not very effective, $10 is neutral, $14 is super effective)
+; as far is can tell, this is only used once in some AI code to help decide which move to use
+AIGetTypeEffectiveness: ; 6449
+	ld a,[W_ENEMYMOVETYPE]
+	ld d,a                 ; d = type of enemy move
+	ld hl,W_PLAYERMONTYPES
+	ld b,[hl]              ; b = type 1 of player's pokemon
+	inc hl
+	ld c,[hl]              ; c = type 2 of player's pokemon
+	ld a,$10
+	ld [$d11e],a           ; initialize [$D11E] to neutral effectiveness
+	ld hl,TypeEffects
+.loop\@
+	ld a,[hli]
+	cp a,$ff
+	ret z
+	cp d                   ; match the type of the move
+	jr nz,.nextTypePair1\@
+	ld a,[hli]
+	cp b                   ; match with type 1 of pokemon
+	jr z,.done\@
+	cp c                   ; or match with type 2 of pokemon
+	jr z,.done\@
+	jr .nextTypePair2\@
+.nextTypePair1\@
+	inc hl
+.nextTypePair2\@
+	inc hl
+	jr .loop\@
+.done\@
+	ld a,[hl]
+	ld [$d11e],a           ; store damage multiplier
+	ret
+
+TypeEffects: ; 6474
+; format: attacking type, defending type, damage multiplier
+; the multiplier is a (decimal) fixed-point number:
+;     20 is ×2.0
+;     05 is ×0.5
+;     00 is ×0
+	db WATER,FIRE,20
+	db FIRE,GRASS,20
+	db FIRE,ICE,20
+	db GRASS,WATER,20
+	db ELECTRIC,WATER,20
+	db WATER,ROCK,20
+	db GROUND,FLYING,00
+	db WATER,WATER,05
+	db FIRE,FIRE,05
+	db ELECTRIC,ELECTRIC,05
+	db ICE,ICE,05
+	db GRASS,GRASS,05
+	db PSYCHIC,PSYCHIC,05
+	db FIRE,WATER,05
+	db GRASS,FIRE,05
+	db WATER,GRASS,05
+	db ELECTRIC,GRASS,05
+	db NORMAL,ROCK,05
+	db NORMAL,GHOST,00
+	db GHOST,GHOST,20
+	db FIRE,BUG,20
+	db FIRE,ROCK,05
+	db WATER,GROUND,20
+	db ELECTRIC,GROUND,00
+	db ELECTRIC,FLYING,20
+	db GRASS,GROUND,20
+	db GRASS,BUG,05
+	db GRASS,POISON,05
+	db GRASS,ROCK,20
+	db GRASS,FLYING,05
+	db ICE,WATER,05
+	db ICE,GRASS,20
+	db ICE,GROUND,20
+	db ICE,FLYING,20
+	db FIGHTING,NORMAL,20
+	db FIGHTING,POISON,05
+	db FIGHTING,FLYING,05
+	db FIGHTING,PSYCHIC,05
+	db FIGHTING,BUG,05
+	db FIGHTING,ROCK,20
+	db FIGHTING,ICE,20
+	db FIGHTING,GHOST,00
+	db POISON,GRASS,20
+	db POISON,POISON,05
+	db POISON,GROUND,05
+	db POISON,BUG,20
+	db POISON,ROCK,05
+	db POISON,GHOST,05
+	db GROUND,FIRE,20
+	db GROUND,ELECTRIC,20
+	db GROUND,GRASS,05
+	db GROUND,BUG,05
+	db GROUND,ROCK,20
+	db GROUND,POISON,20
+	db FLYING,ELECTRIC,05
+	db FLYING,FIGHTING,20
+	db FLYING,BUG,20
+	db FLYING,GRASS,20
+	db FLYING,ROCK,05
+	db PSYCHIC,FIGHTING,20
+	db PSYCHIC,POISON,20
+	db BUG,FIRE,05
+	db BUG,GRASS,20
+	db BUG,FIGHTING,05
+	db BUG,FLYING,05
+	db BUG,PSYCHIC,20
+	db BUG,GHOST,05
+	db BUG,POISON,20
+	db ROCK,FIRE,20
+	db ROCK,FIGHTING,05
+	db ROCK,GROUND,05
+	db ROCK,FLYING,20
+	db ROCK,BUG,20
+	db ROCK,ICE,20
+	db GHOST,NORMAL,00
+	db GHOST,PSYCHIC,00
+	db FIRE,DRAGON,05
+	db WATER,DRAGON,05
+	db ELECTRIC,DRAGON,05
+	db GRASS,DRAGON,05
+	db ICE,DRAGON,20
+	db DRAGON,DRAGON,20
+	db $FF
+
+; some tests that need to pass for a move to hit
+MoveHitTest: ; 656B
+; player's turn
+	ld hl,W_ENEMYBATTSTATUS1
+	ld de,W_PLAYERMOVEEFFECT
+	ld bc,W_ENEMYMONSTATUS
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.dreamEaterCheck\@
+; enemy's turn
+	ld hl,W_PLAYERBATTSTATUS1
+	ld de,W_ENEMYMOVEEFFECT
+	ld bc,W_PLAYERMONSTATUS
+.dreamEaterCheck\@
+	ld a,[de]
+	cp a,DREAM_EATER_EFFECT
+	jr nz,.swiftCheck\@
+	ld a,[bc]
+	and a,$07 ; is the target pokemon sleeping?
+	jp z,.moveMissed\@
+.swiftCheck\@
+	ld a,[de]
+	cp a,SWIFT_EFFECT
+	ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true)
+	call $7b79 ; substitute check (note that this overwrites a)
+	jr z,.checkForDigOrFlyStatus\@
+; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes.
+; since $7b79 overwrites a with either $00 or $01, it never works.
+	cp a,DRAIN_HP_EFFECT ; $03
+	jp z,.moveMissed\@
+	cp a,DREAM_EATER_EFFECT ; $08
+	jp z,.moveMissed\@
+.checkForDigOrFlyStatus\@
+	bit 6,[hl]
+	jp nz,.moveMissed\@
+	ld a,[H_WHOSETURN]
+	and a
+	jr nz,.enemyTurn\@
+.playerTurn\@
+; this checks if the move effect is disallowed by mist
+	ld a,[W_PLAYERMOVEEFFECT]
+	cp a,$12
+	jr c,.skipEnemyMistCheck\@
+	cp a,$1a
+	jr c,.enemyMistCheck\@
+	cp a,$3a
+	jr c,.skipEnemyMistCheck\@
+	cp a,$42
+	jr c,.enemyMistCheck\@
+	jr .skipEnemyMistCheck\@
+.enemyMistCheck\@
+; if move effect is from $12 to $19 inclusive or $3a to $41 inclusive
+; i.e. the following moves
+; GROWL, TAIL WHIP, LEER, STRING SHOT, SAND-ATTACK, SMOKESCREEN, KINESIS,
+; FLASH, CONVERSION, HAZE*, SCREECH, LIGHT SCREEN*, REFLECT*
+; the moves that are marked with an asterisk are not affected since this
+; function is not called when those moves are used
+; XXX are there are any others like those three?
+	ld a,[W_ENEMYBATTSTATUS2]
+	bit 1,a
+	jp nz,.moveMissed\@
+.skipEnemyMistCheck\@
+	ld a,[W_PLAYERBATTSTATUS2]
+	bit 0,a ; is the player using X Accuracy?
+	ret nz ; if so, always hit regardless of accuracy/evasion
+	jr .calcHitChance\@
+.enemyTurn\@
+	ld a,[W_ENEMYMOVEEFFECT]
+	cp a,$12
+	jr c,.skipPlayerMistCheck\@
+	cp a,$1a
+	jr c,.playerMistCheck\@
+	cp a,$3a
+	jr c,.skipPlayerMistCheck\@
+	cp a,$42
+	jr c,.playerMistCheck\@
+	jr .skipPlayerMistCheck\@
+.playerMistCheck\@
+; similar to enemy mist check
+	ld a,[W_PLAYERBATTSTATUS2]
+	bit 1,a
+	jp nz,.moveMissed\@
+.skipPlayerMistCheck\@
+	ld a,[W_ENEMYBATTSTATUS2]
+	bit 0,a ; is the enemy using X Accuracy?
+	ret nz ; if so, always hit regardless of accuracy/evasion
+.calcHitChance\@
+	call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion
+	ld a,[W_PLAYERMOVEACCURACY]
+	ld b,a
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.doAccuracyCheck\@
+	ld a,[W_ENEMYMOVEACCURACY]
+	ld b,a
+.doAccuracyCheck\@
+; if the random number generated is greater than or equal to the scaled accuracy, the move misses
+; note that this means that even the highest accuracy is still just a 255/256 chance, not 100%
+	call $6e9b ; random number
+	cp b
+	jr nc,.moveMissed\@
+	ret
+.moveMissed\@
+	xor a
+	ld hl,W_DAMAGE ; zero the damage
+	ld [hli],a
+	ld [hl],a
+	inc a
+	ld [W_MOVEMISSED],a
+	ld a,[H_WHOSETURN]
+	and a
+	jr z,.playerTurn2\@
+.enemyTurn2\@
+	ld hl,W_ENEMYBATTSTATUS1
+	res 5,[hl] ; end multi-turn attack e.g. wrap
+	ret
+.playerTurn2\@
+	ld hl,W_PLAYERBATTSTATUS1
+	res 5,[hl] ; end multi-turn attack e.g. wrap
+	ret
+
+; values for player turn
+CalcHitChance: ; 6624
+	ld hl,W_PLAYERMOVEACCURACY
+	ld a,[H_WHOSETURN]
+	and a
+	ld a,[W_PLAYERMONACCURACYMOD]
+	ld b,a
+	ld a,[W_ENEMYMONEVASIONMOD]
+	ld c,a
+	jr z,.next\@
+; values for enemy turn
+	ld hl,W_ENEMYMOVEACCURACY
+	ld a,[W_ENEMYMONACCURACYMOD]
+	ld b,a
+	ld a,[W_PLAYERMONEVASIONMOD]
+	ld c,a
+.next\@
+	ld a,$0e
+	sub c
+	ld c,a ; c = 14 - EVASIONMOD (this "reflects" the value over 7, so that an increase in the target's evasion decreases the hit chance instead of increasing the hit chance)
+; zero the high bytes of the multiplicand
+	xor a
+	ld [H_MULTIPLICAND],a
+	ld [H_MULTIPLICAND + 1],a
+	ld a,[hl]
+	ld [H_MULTIPLICAND + 2],a ; set multiplicand to move accuracy
+	push hl
+	ld d,$02 ; loop has two iterations
+; loop to do the calculations, the first iteration multiplies by the accuracy ratio and the second iteration multiplies by the evasion ratio
+.loop\@
+	push bc
+	ld hl,$76cb ; stat modifier ratios
+	dec b
+	sla b
+	ld c,b
+	ld b,$00
+	add hl,bc ; hl = address of stat modifier ratio
+	pop bc
+	ld a,[hli]
+	ld [H_MULTIPLIER],a ; set multiplier to the numerator of the ratio
+	call $38ac ; multiply
+	ld a,[hl]
+	ld [H_DIVISOR],a ; set divisor to the the denominator of the ratio (the dividend is the product of the previous multiplication)
+	ld b,$04 ; number of significant bytes in the dividend
+	call $38b9 ; divide
+	ld a,[H_QUOTIENT + 3]
+	ld b,a
+	ld a,[H_QUOTIENT + 2]
+	or b
+	jp nz,.nextCalculation\@
+; make sure the result is always at least one
+	ld [H_QUOTIENT + 2],a
+	ld a,$01
+	ld [H_QUOTIENT + 3],a
+.nextCalculation\@
+	ld b,c
+	dec d
+	jr nz,.loop\@
+	ld a,[H_QUOTIENT + 2]
+	and a ; is the calculated hit chance over 0xFF?
+	ld a,[H_QUOTIENT + 3]
+	jr z,.storeAccuracy\@
+; if calculated hit chance over 0xFF
+	ld a,$ff ; set the hit chance to 0xFF
+.storeAccuracy\@
+	pop hl
+	ld [hl],a ; store the hit chance in the move accuracy variable
+	ret
+
+INCBIN "baserom.gbc",$3e687,$3e887 - $3e687
+
+UnnamedText_3e887: ; 0x3e887
+	TX_FAR _UnnamedText_3e887
+	db $50
+; 0x3e887 + 5 bytes
+
+INCBIN "baserom.gbc",$3e88c,$67b
+
+PlayMoveAnimation: ; 6F07
+	ld [$D07C],a
+	call Delay3
+	ld a,8
+	jp Predef
+
+INCBIN "baserom.gbc",$3ef12,$3f245 - $3ef12
+
+UnnamedText_3f245: ; 0x3f245
+	TX_FAR _UnnamedText_3f245
+	db $50
+; 0x3f245 + 5 bytes
+
+UnnamedText_3f24a: ; 0x3f24a
+	TX_FAR _UnnamedText_3f24a
+	db $50
+; 0x3f24a + 5 bytes
+
+INCBIN "baserom.gbc",$3f24f,$3f2df - $3f24f
+
+UnnamedText_3f2df: ; 0x3f2df
+	TX_FAR _UnnamedText_3f2df
+	db $50
+; 0x3f2df + 5 bytes
+
+UnnamedText_3f2e4: ; 0x3f2e4
+	TX_FAR _UnnamedText_3f2e4
+	db $50
+; 0x3f2e4 + 5 bytes
+
+INCBIN "baserom.gbc",$3f2e9,$3f3d8 - $3f2e9
+
+UnnamedText_3f3d8: ; 0x3f3d8
+	TX_FAR _UnnamedText_3f3d8
+	db $50
+; 0x3f3d8 + 5 bytes
+
+UnnamedText_3f3dd: ; 0x3f3dd
+	TX_FAR _UnnamedText_3f3dd
+	db $50
+; 0x3f3dd + 5 bytes
+
+INCBIN "baserom.gbc",$3f3e2,$3f423 - $3f3e2
+
+UnnamedText_3f423: ; 0x3f423
+	TX_FAR _UnnamedText_3f423
+	db $50
+; 0x3f423 + 5 bytes
+
+INCBIN "baserom.gbc",$3f428,$3f547 - $3f428
+
+UnnamedText_3f547: ; 0x3f547
+	TX_FAR _UnnamedText_3f547
+	db $50
+; 0x3f547 + 5 bytes
+
+INCBIN "baserom.gbc",$3f54c,$3f683 - $3f54c
+
+UnnamedText_3f683: ; 0x3f683
+	TX_FAR _UnnamedText_3f683
+	db $50
+; 0x3f683 + 5 bytes
+
+INCBIN "baserom.gbc",$3f688,$3f802 - $3f688
+
+UnnamedText_3f802: ; 0x3f802
+	TX_FAR _UnnamedText_3f802
+	db $50
+; 0x3f802 + 5 bytes
+
+UnnamedText_3f807: ; 0x3f807
+	TX_FAR _UnnamedText_3f807
+	db $50
+; 0x3f807 + 5 bytes
+
+UnnamedText_3f80c: ; 0x3f80c
+	TX_FAR _UnnamedText_3f80c
+	db $50
+; 0x3f80c + 5 bytes
+
+INCBIN "baserom.gbc",$3f811,$3f8f9 - $3f811
+
+UnnamedText_3f8f9: ; 0x3f8f9
+	TX_FAR _UnnamedText_3f8f9
+	db $50
+; 0x3f8f9 + 5 bytes
+
+UnnamedText_3f8fe: ; 0x3f8fe
+	TX_FAR _UnnamedText_3f8fe
+	db $50
+; 0x3f8fe + 5 bytes
+
+UnnamedText_3f903: ; 0x3f903
+	TX_FAR _UnnamedText_3f903
+	db $50
+; 0x3f903 + 5 bytes
+
+UnnamedText_3f908: ; 0x3f908
+	TX_FAR _UnnamedText_3f908
+	db $50
+; 0x3f908 + 5 bytes
+
+UnnamedText_3f90d: ; 0x3f90d
+	TX_FAR _UnnamedText_3f90d
+	db $50
+; 0x3f90d + 5 bytes
+
+UnnamedText_3f912: ; 0x3f912
+	TX_FAR _UnnamedText_3f912
+	db $50
+; 0x3f912 + 5 bytes
+
+INCBIN "baserom.gbc",$3f917,$3f9a1 - $3f917
+
+UnnamedText_3f9a1: ; 0x3f9a1
+	TX_FAR _UnnamedText_3f9a1
+	db $50
+; 0x3f9a1 + 5 bytes
+
+INCBIN "baserom.gbc",$3f9a6,$3fa77 - $3f9a6
+
+UnnamedText_3fa77: ; 0x3fa77
+	TX_FAR _UnnamedText_3fa77
+	db $50
+; 0x3fa77 + 5 bytes
+
+INCBIN "baserom.gbc",$3fa7c,$3fb09 - $3fa7c
+
+UnnamedText_3fb09: ; 0x3fb09
+	TX_FAR _UnnamedText_3fb09
+	db $50
+; 0x3fb09 + 5 bytes
+
+INCBIN "baserom.gbc",$3fb0e,$3fb3e - $3fb0e
+
+UnnamedText_3fb3e: ; 0x3fb3e
+	TX_FAR _UnnamedText_3fb3e
+	db $50
+; 0x3fb3e + 5 bytes
+
+INCBIN "baserom.gbc",$3fb43,$3fb49 - $3fb43
+
+UnnamedText_3fb49: ; 0x3fb49
+	TX_FAR _UnnamedText_3fb49
+	db $50
+; 0x3fb49 + 5 bytes
+
+INCBIN "baserom.gbc",$3fb4e,$3fb59 - $3fb4e
+
+UnnamedText_3fb59: ; 0x3fb59
+	TX_FAR _UnnamedText_3fb59
+	db $50
+; 0x3fb59 + 5 bytes
+
+INCBIN "baserom.gbc",$3fb5e,$3fb64 - $3fb5e
+
+UnnamedText_3fb64: ; 0x3fb64
+	TX_FAR _UnnamedText_3fb64
+	db $50
+; 0x3fb64 + 5 bytes
+
+UnnamedText_3fb69: ; 0x3fb69
+	TX_FAR _UnnamedText_3fb69
+	db $50
+; 0x3fb69 + 5 bytes
+
+INCBIN "baserom.gbc",$3fb6e,$3fb74 - $3fb6e
+
+UnnamedText_3fb74: ; 0x3fb74
+	TX_FAR _UnnamedText_3fb74
+	db $50
+; 0x3fb74 + 5 bytes
+
+INCBIN "baserom.gbc",$3fb79,$487
+
+SECTION "bank10",DATA,BANK[$10]
+
+INCBIN "baserom.gbc",$40000,$47E
+
+PokedexEntryPointers: ; 447E
+	dw RhydonDexEntry
+	dw KangaskhanDexEntry
+	dw NidoranMDexEntry
+	dw ClefairyDexEntry
+	dw SpearowDexEntry
+	dw VoltorbDexEntry
+	dw NidokingDexEntry
+	dw SlowbroDexEntry
+	dw IvysaurDexEntry
+	dw ExeggutorDexEntry
+	dw LickitungDexEntry
+	dw ExeggcuteDexEntry
+	dw GrimerDexEntry
+	dw GengarDexEntry
+	dw NidoranFDexEntry
+	dw NidoqueenDexEntry
+	dw CuboneDexEntry
+	dw RhyhornDexEntry
+	dw LaprasDexEntry
+	dw ArcanineDexEntry
+	dw MewDexEntry
+	dw GyaradosDexEntry
+	dw ShellderDexEntry
+	dw TentacoolDexEntry
+	dw GastlyDexEntry
+	dw ScytherDexEntry
+	dw StaryuDexEntry
+	dw BlastoiseDexEntry
+	dw PinsirDexEntry
+	dw TangelaDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw GrowlitheDexEntry
+	dw OnixDexEntry
+	dw FearowDexEntry
+	dw PidgeyDexEntry
+	dw SlowpokeDexEntry
+	dw KadabraDexEntry
+	dw GravelerDexEntry
+	dw ChanseyDexEntry
+	dw MachokeDexEntry
+	dw MrMimeDexEntry
+	dw HitmonleeDexEntry
+	dw HitmonchanDexEntry
+	dw ArbokDexEntry
+	dw ParasectDexEntry
+	dw PsyduckDexEntry
+	dw DrowzeeDexEntry
+	dw GolemDexEntry
+	dw MissingNoDexEntry
+	dw MagmarDexEntry
+	dw MissingNoDexEntry
+	dw ElectabuzzDexEntry
+	dw MagnetonDexEntry
+	dw KoffingDexEntry
+	dw MissingNoDexEntry
+	dw MankeyDexEntry
+	dw SeelDexEntry
+	dw DiglettDexEntry
+	dw TaurosDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw FarfetchdDexEntry
+	dw VenonatDexEntry
+	dw DragoniteDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw DoduoDexEntry
+	dw PoliwagDexEntry
+	dw JynxDexEntry
+	dw MoltresDexEntry
+	dw ArticunoDexEntry
+	dw ZapdosDexEntry
+	dw DittoDexEntry
+	dw MeowthDexEntry
+	dw KrabbyDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw VulpixDexEntry
+	dw NinetalesDexEntry
+	dw PikachuDexEntry
+	dw RaichuDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw DratiniDexEntry
+	dw DragonairDexEntry
+	dw KabutoDexEntry
+	dw KabutopsDexEntry
+	dw HorseaDexEntry
+	dw SeadraDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw SandshrewDexEntry
+	dw SandslashDexEntry
+	dw OmanyteDexEntry
+	dw OmastarDexEntry
+	dw JigglypuffDexEntry
+	dw WigglytuffDexEntry
+	dw EeveeDexEntry
+	dw FlareonDexEntry
+	dw JolteonDexEntry
+	dw VaporeonDexEntry
+	dw MachopDexEntry
+	dw ZubatDexEntry
+	dw EkansDexEntry
+	dw ParasDexEntry
+	dw PoliwhirlDexEntry
+	dw PoliwrathDexEntry
+	dw WeedleDexEntry
+	dw KakunaDexEntry
+	dw BeedrillDexEntry
+	dw MissingNoDexEntry
+	dw DodrioDexEntry
+	dw PrimeapeDexEntry
+	dw DugtrioDexEntry
+	dw VenomothDexEntry
+	dw DewgongDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw CaterpieDexEntry
+	dw MetapodDexEntry
+	dw ButterfreeDexEntry
+	dw MachampDexEntry
+	dw MissingNoDexEntry
+	dw GolduckDexEntry
+	dw HypnoDexEntry
+	dw GolbatDexEntry
+	dw MewtwoDexEntry
+	dw SnorlaxDexEntry
+	dw MagikarpDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MukDexEntry
+	dw MissingNoDexEntry
+	dw KinglerDexEntry
+	dw CloysterDexEntry
+	dw MissingNoDexEntry
+	dw ElectrodeDexEntry
+	dw ClefableDexEntry
+	dw WeezingDexEntry
+	dw PersianDexEntry
+	dw MarowakDexEntry
+	dw MissingNoDexEntry
+	dw HaunterDexEntry
+	dw AbraDexEntry
+	dw AlakazamDexEntry
+	dw PidgeottoDexEntry
+	dw PidgeotDexEntry
+	dw StarmieDexEntry
+	dw BulbasaurDexEntry
+	dw VenusaurDexEntry
+	dw TentacruelDexEntry
+	dw MissingNoDexEntry
+	dw GoldeenDexEntry
+	dw SeakingDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw PonytaDexEntry
+	dw RapidashDexEntry
+	dw RattataDexEntry
+	dw RaticateDexEntry
+	dw NidorinoDexEntry
+	dw NidorinaDexEntry
+	dw GeodudeDexEntry
+	dw PorygonDexEntry
+	dw AerodactylDexEntry
+	dw MissingNoDexEntry
+	dw MagnemiteDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw CharmanderDexEntry
+	dw SquirtleDexEntry
+	dw CharmeleonDexEntry
+	dw WartortleDexEntry
+	dw CharizardDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw MissingNoDexEntry
+	dw OddishDexEntry
+	dw GloomDexEntry
+	dw VileplumeDexEntry
+	dw BellsproutDexEntry
+	dw WeepinbellDexEntry
+	dw VictreebelDexEntry
+
+; string: species name
+; height in feet, inches
+; weight in pounds
+; text entry
+
+RhydonDexEntry:
+	db "DRILL@"
+	db 6,3
+	dw 2650
+	TX_FAR _RhydonDexEntry
+	db "@"
+
+KangaskhanDexEntry:
+	db "PARENT@"
+	db 7,3
+	dw 1760
+	TX_FAR _KangaskhanDexEntry
+	db "@"
+
+NidoranMDexEntry:
+	db "POISON PIN@"
+	db 1,8
+	dw 200
+	TX_FAR _NidoranMDexEntry
+	db "@"
+
+ClefairyDexEntry:
+	db "FAIRY@"
+	db 2,0
+	dw 170
+	TX_FAR _ClefairyDexEntry
+	db "@"
+
+SpearowDexEntry:
+	db "TINY BIRD@"
+	db 1,0
+	dw 40
+	TX_FAR _SpearowDexEntry
+	db "@"
+
+VoltorbDexEntry:
+	db "BALL@"
+	db 1,8
+	dw 230
+	TX_FAR _VoltorbDexEntry
+	db "@"
+
+NidokingDexEntry:
+	db "DRILL@"
+	db 4,7
+	dw 1370
+	TX_FAR _NidokingDexEntry
+	db "@"
+
+SlowbroDexEntry:
+	db "HERMITCRAB@"
+	db 5,3
+	dw 1730
+	TX_FAR _SlowbroDexEntry
+	db "@"
+
+IvysaurDexEntry:
+	db "SEED@"
+	db 3,3
+	dw 290
+	TX_FAR _IvysaurDexEntry
+	db "@"
+
+ExeggutorDexEntry:
+	db "COCONUT@"
+	db 6,7
+	dw 2650
+	TX_FAR _ExeggutorDexEntry
+	db "@"
+
+LickitungDexEntry:
+	db "LICKING@"
+	db 3,11
+	dw 1440
+	TX_FAR _LickitungDexEntry
+	db "@"
+
+ExeggcuteDexEntry:
+	db "EGG@"
+	db 1,4
+	dw 60
+	TX_FAR _ExeggcuteDexEntry
+	db "@"
+
+GrimerDexEntry:
+	db "SLUDGE@"
+	db 2,11
+	dw 660
+	TX_FAR _GrimerDexEntry
+	db "@"
+
+GengarDexEntry:
+	db "SHADOW@"
+	db 4,11
+	dw 890
+	TX_FAR _GengarDexEntry
+	db "@"
+
+NidoranFDexEntry:
+	db "POISON PIN@"
+	db 1,4
+	dw 150
+	TX_FAR _NidoranFDexEntry
+	db "@"
+
+NidoqueenDexEntry:
+	db "DRILL@"
+	db 4,3
+	dw 1320
+	TX_FAR _NidoqueenDexEntry
+	db "@"
+
+CuboneDexEntry:
+	db "LONELY@"
+	db 1,4
+	dw 140
+	TX_FAR _CuboneDexEntry
+	db "@"
+
+RhyhornDexEntry:
+	db "SPIKES@"
+	db 3,3
+	dw 2540
+	TX_FAR _RhyhornDexEntry
+	db "@"
+
+LaprasDexEntry:
+	db "TRANSPORT@"
+	db 8,2
+	dw 4850
+	TX_FAR _LaprasDexEntry
+	db "@"
+
+ArcanineDexEntry:
+	db "LEGENDARY@"
+	db 6,3
+	dw 3420
+	TX_FAR _ArcanineDexEntry
+	db "@"
+
+MewDexEntry:
+	db "NEW SPECIE@"
+	db 1,4
+	dw 90
+	TX_FAR _MewDexEntry
+	db "@"
+
+GyaradosDexEntry:
+	db "ATROCIOUS@"
+	db 21,4
+	dw 5180
+	TX_FAR _GyaradosDexEntry
+	db "@"
+
+ShellderDexEntry:
+	db "BIVALVE@"
+	db 1,0
+	dw 90
+	TX_FAR _ShellderDexEntry
+	db "@"
+
+TentacoolDexEntry:
+	db "JELLYFISH@"
+	db 2,11
+	dw 1000
+	TX_FAR _TentacoolDexEntry
+	db "@"
+
+GastlyDexEntry:
+	db "GAS@"
+	db 4,3
+	dw 2
+	TX_FAR _GastlyDexEntry
+	db "@"
+
+ScytherDexEntry:
+	db "MANTIS@"
+	db 4,11
+	dw 1230
+	TX_FAR _ScytherDexEntry
+	db "@"
+
+StaryuDexEntry:
+	db "STARSHAPE@"
+	db 2,7
+	dw 760
+	TX_FAR _StaryuDexEntry
+	db "@"
+
+BlastoiseDexEntry:
+	db "SHELLFISH@"
+	db 5,3
+	dw 1890
+	TX_FAR _BlastoiseDexEntry
+	db "@"
+
+PinsirDexEntry:
+	db "STAGBEETLE@"
+	db 4,11
+	dw 1210
+	TX_FAR _PinsirDexEntry
+	db "@"
+
+TangelaDexEntry:
+	db "VINE@"
+	db 3,3
+	dw 770
+	TX_FAR _TangelaDexEntry
+	db "@"
+
+GrowlitheDexEntry:
+	db "PUPPY@"
+	db 2,4
+	dw 420
+	TX_FAR _GrowlitheDexEntry
+	db "@"
+
+OnixDexEntry:
+	db "ROCK SNAKE@"
+	db 28,10
+	dw 4630
+	TX_FAR _OnixDexEntry
+	db "@"
+
+FearowDexEntry:
+	db "BEAK@"
+	db 3,11
+	dw 840
+	TX_FAR _FearowDexEntry
+	db "@"
+
+PidgeyDexEntry:
+	db "TINY BIRD@"
+	db 1,0
+	dw 40
+	TX_FAR _PidgeyDexEntry
+	db "@"
+
+SlowpokeDexEntry:
+	db "DOPEY@"
+	db 3,11
+	dw 790
+	TX_FAR _SlowpokeDexEntry
+	db "@"
+
+KadabraDexEntry:
+	db "PSI@"
+	db 4,3
+	dw 1250
+	TX_FAR _KadabraDexEntry
+	db "@"
+
+GravelerDexEntry:
+	db "ROCK@"
+	db 3,3
+	dw 2320
+	TX_FAR _GravelerDexEntry
+	db "@"
+
+ChanseyDexEntry:
+	db "EGG@"
+	db 3,7
+	dw 760
+	TX_FAR _ChanseyDexEntry
+	db "@"
+
+MachokeDexEntry:
+	db "SUPERPOWER@"
+	db 4,11
+	dw 1550
+	TX_FAR _MachokeDexEntry
+	db "@"
+
+MrMimeDexEntry:
+	db "BARRIER@"
+	db 4,3
+	dw 1200
+	TX_FAR _MrMimeDexEntry
+	db "@"
+
+HitmonleeDexEntry:
+	db "KICKING@"
+	db 4,11
+	dw 1100
+	TX_FAR _HitmonleeDexEntry
+	db "@"
+
+HitmonchanDexEntry:
+	db "PUNCHING@"
+	db 4,7
+	dw 1110
+	TX_FAR _HitmonchanDexEntry
+	db "@"
+
+ArbokDexEntry:
+	db "COBRA@"
+	db 11,6
+	dw 1430
+	TX_FAR _ArbokDexEntry
+	db "@"
+
+ParasectDexEntry:
+	db "MUSHROOM@"
+	db 3,3
+	dw 650
+	TX_FAR _ParasectDexEntry
+	db "@"
+
+PsyduckDexEntry:
+	db "DUCK@"
+	db 2,7
+	dw 430
+	TX_FAR _PsyduckDexEntry
+	db "@"
+
+DrowzeeDexEntry:
+	db "HYPNOSIS@"
+	db 3,3
+	dw 710
+	TX_FAR _DrowzeeDexEntry
+	db "@"
+
+GolemDexEntry:
+	db "MEGATON@"
+	db 4,7
+	dw 6620
+	TX_FAR _GolemDexEntry
+	db "@"
+
+MagmarDexEntry:
+	db "SPITFIRE@"
+	db 4,3
+	dw 980
+	TX_FAR _MagmarDexEntry
+	db "@"
+
+ElectabuzzDexEntry:
+	db "ELECTRIC@"
+	db 3,7
+	dw 660
+	TX_FAR _ElectabuzzDexEntry
+	db "@"
+
+MagnetonDexEntry:
+	db "MAGNET@"
+	db 3,3
+	dw 1320
+	TX_FAR _MagnetonDexEntry
+	db "@"
+
+KoffingDexEntry:
+	db "POISON GAS@"
+	db 2,0
+	dw 20
+	TX_FAR _KoffingDexEntry
+	db "@"
+
+MankeyDexEntry:
+	db "PIG MONKEY@"
+	db 1,8
+	dw 620
+	TX_FAR _MankeyDexEntry
+	db "@"
+
+SeelDexEntry:
+	db "SEA LION@"
+	db 3,7
+	dw 1980
+	TX_FAR _SeelDexEntry
+	db "@"
+
+DiglettDexEntry:
+	db "MOLE@"
+	db 0,8
+	dw 20
+	TX_FAR _DiglettDexEntry
+	db "@"
+
+TaurosDexEntry:
+	db "WILD BULL@"
+	db 4,7
+	dw 1950
+	TX_FAR _TaurosDexEntry
+	db "@"
+
+FarfetchdDexEntry:
+	db "WILD DUCK@"
+	db 2,7
+	dw 330
+	TX_FAR _FarfetchdDexEntry
+	db "@"
+
+VenonatDexEntry:
+	db "INSECT@"
+	db 3,3
+	dw 660
+	TX_FAR _VenonatDexEntry
+	db "@"
+
+DragoniteDexEntry:
+	db "DRAGON@"
+	db 7,3
+	dw 4630
+	TX_FAR _DragoniteDexEntry
+	db "@"
+
+DoduoDexEntry:
+	db "TWIN BIRD@"
+	db 4,7
+	dw 860
+	TX_FAR _DoduoDexEntry
+	db "@"
+
+PoliwagDexEntry:
+	db "TADPOLE@"
+	db 2,0
+	dw 270
+	TX_FAR _PoliwagDexEntry
+	db "@"
+
+JynxDexEntry:
+	db "HUMANSHAPE@"
+	db 4,7
+	dw 900
+	TX_FAR _JynxDexEntry
+	db "@"
+
+MoltresDexEntry:
+	db "FLAME@"
+	db 6,7
+	dw 1320
+	TX_FAR _MoltresDexEntry
+	db "@"
+
+ArticunoDexEntry:
+	db "FREEZE@"
+	db 5,7
+	dw 1220
+	TX_FAR _ArticunoDexEntry
+	db "@"
+
+ZapdosDexEntry:
+	db "ELECTRIC@"
+	db 5,3
+	dw 1160
+	TX_FAR _ZapdosDexEntry
+	db "@"
+
+DittoDexEntry:
+	db "TRANSFORM@"
+	db 1,0
+	dw 90
+	TX_FAR _DittoDexEntry
+	db "@"
+
+MeowthDexEntry:
+	db "SCRATCHCAT@"
+	db 1,4
+	dw 90
+	TX_FAR _MeowthDexEntry
+	db "@"
+
+KrabbyDexEntry:
+	db "RIVER CRAB@"
+	db 1,4
+	dw 140
+	TX_FAR _KrabbyDexEntry
+	db "@"
+
+VulpixDexEntry:
+	db "FOX@"
+	db 2,0
+	dw 220
+	TX_FAR _VulpixDexEntry
+	db "@"
+
+NinetalesDexEntry:
+	db "FOX@"
+	db 3,7
+	dw 440
+	TX_FAR _NinetalesDexEntry
+	db "@"
+
+PikachuDexEntry:
+	db "MOUSE@"
+	db 1,4
+	dw 130
+	TX_FAR _PikachuDexEntry
+	db "@"
+
+RaichuDexEntry:
+	db "MOUSE@"
+	db 2,7
+	dw 660
+	TX_FAR _RaichuDexEntry
+	db "@"
+
+DratiniDexEntry:
+	db "DRAGON@"
+	db 5,11
+	dw 70
+	TX_FAR _DratiniDexEntry
+	db "@"
+
+DragonairDexEntry:
+	db "DRAGON@"
+	db 13,1
+	dw 360
+	TX_FAR _DragonairDexEntry
+	db "@"
+
+KabutoDexEntry:
+	db "SHELLFISH@"
+	db 1,8
+	dw 250
+	TX_FAR _KabutoDexEntry
+	db "@"
+
+KabutopsDexEntry:
+	db "SHELLFISH@"
+	db 4,3
+	dw 890
+	TX_FAR _KabutopsDexEntry
+	db "@"
+
+HorseaDexEntry:
+	db "DRAGON@"
+	db 1,4
+	dw 180
+	TX_FAR _HorseaDexEntry
+	db "@"
+
+SeadraDexEntry:
+	db "DRAGON@"
+	db 3,11
+	dw 550
+	TX_FAR _SeadraDexEntry
+	db "@"
+
+SandshrewDexEntry:
+	db "MOUSE@"
+	db 2,0
+	dw 260
+	TX_FAR _SandshrewDexEntry
+	db "@"
+
+SandslashDexEntry:
+	db "MOUSE@"
+	db 3,3
+	dw 650
+	TX_FAR _SandslashDexEntry
+	db "@"
+
+OmanyteDexEntry:
+	db "SPIRAL@"
+	db 1,4
+	dw 170
+	TX_FAR _OmanyteDexEntry
+	db "@"
+
+OmastarDexEntry:
+	db "SPIRAL@"
+	db 3,3
+	dw 770
+	TX_FAR _OmastarDexEntry
+	db "@"
+
+JigglypuffDexEntry:
+	db "BALLOON@"
+	db 1,8
+	dw 120
+	TX_FAR _JigglypuffDexEntry
+	db "@"
+
+WigglytuffDexEntry:
+	db "BALLOON@"
+	db 3,3
+	dw 260
+	TX_FAR _WigglytuffDexEntry
+	db "@"
+
+EeveeDexEntry:
+	db "EVOLUTION@"
+	db 1,0
+	dw 140
+	TX_FAR _EeveeDexEntry
+	db "@"
+
+FlareonDexEntry:
+	db "FLAME@"
+	db 2,11
+	dw 550
+	TX_FAR _FlareonDexEntry
+	db "@"
+
+JolteonDexEntry:
+	db "LIGHTNING@"
+	db 2,7
+	dw 540
+	TX_FAR _JolteonDexEntry
+	db "@"
+
+VaporeonDexEntry:
+	db "BUBBLE JET@"
+	db 3,3
+	dw 640
+	TX_FAR _VaporeonDexEntry
+	db "@"
+
+MachopDexEntry:
+	db "SUPERPOWER@"
+	db 2,7
+	dw 430
+	TX_FAR _MachopDexEntry
+	db "@"
+
+ZubatDexEntry:
+	db "BAT@"
+	db 2,7
+	dw 170
+	TX_FAR _ZubatDexEntry
+	db "@"
+
+EkansDexEntry:
+	db "SNAKE@"
+	db 6,7
+	dw 150
+	TX_FAR _EkansDexEntry
+	db "@"
+
+ParasDexEntry:
+	db "MUSHROOM@"
+	db 1,0
+	dw 120
+	TX_FAR _ParasDexEntry
+	db "@"
+
+PoliwhirlDexEntry:
+	db "TADPOLE@"
+	db 3,3
+	dw 440
+	TX_FAR _PoliwhirlDexEntry
+	db "@"
+
+PoliwrathDexEntry:
+	db "TADPOLE@"
+	db 4,3
+	dw 1190
+	TX_FAR _PoliwrathDexEntry
+	db "@"
+
+WeedleDexEntry:
+	db "HAIRY BUG@"
+	db 1,0
+	dw 70
+	TX_FAR _WeedleDexEntry
+	db "@"
+
+KakunaDexEntry:
+	db "COCOON@"
+	db 2,0
+	dw 220
+	TX_FAR _KakunaDexEntry
+	db "@"
+
+BeedrillDexEntry:
+	db "POISON BEE@"
+	db 3,3
+	dw 650
+	TX_FAR _BeedrillDexEntry
+	db "@"
+
+DodrioDexEntry:
+	db "TRIPLEBIRD@"
+	db 5,11
+	dw 1880
+	TX_FAR _DodrioDexEntry
+	db "@"
+
+PrimeapeDexEntry:
+	db "PIG MONKEY@"
+	db 3,3
+	dw 710
+	TX_FAR _PrimeapeDexEntry
+	db "@"
+
+DugtrioDexEntry:
+	db "MOLE@"
+	db 2,4
+	dw 730
+	TX_FAR _DugtrioDexEntry
+	db "@"
+
+VenomothDexEntry:
+	db "POISONMOTH@"
+	db 4,11
+	dw 280
+	TX_FAR _VenomothDexEntry
+	db "@"
+
+DewgongDexEntry:
+	db "SEA LION@"
+	db 5,7
+	dw 2650
+	TX_FAR _DewgongDexEntry
+	db "@"
+
+CaterpieDexEntry:
+	db "WORM@"
+	db 1,0
+	dw 60
+	TX_FAR _CaterpieDexEntry
+	db "@"
+
+MetapodDexEntry:
+	db "COCOON@"
+	db 2,4
+	dw 220
+	TX_FAR _MetapodDexEntry
+	db "@"
+
+ButterfreeDexEntry:
+	db "BUTTERFLY@"
+	db 3,7
+	dw 710
+	TX_FAR _ButterfreeDexEntry
+	db "@"
+
+MachampDexEntry:
+	db "SUPERPOWER@"
+	db 5,3
+	dw 2870
+	TX_FAR _MachampDexEntry
+	db "@"
+
+GolduckDexEntry:
+	db "DUCK@"
+	db 5,7
+	dw 1690
+	TX_FAR _GolduckDexEntry
+	db "@"
+
+HypnoDexEntry:
+	db "HYPNOSIS@"
+	db 5,3
+	dw 1670
+	TX_FAR _HypnoDexEntry
+	db "@"
+
+GolbatDexEntry:
+	db "BAT@"
+	db 5,3
+	dw 1210
+	TX_FAR _GolbatDexEntry
+	db "@"
+
+MewtwoDexEntry:
+	db "GENETIC@"
+	db 6,7
+	dw 2690
+	TX_FAR _MewtwoDexEntry
+	db "@"
+
+SnorlaxDexEntry:
+	db "SLEEPING@"
+	db 6,11
+	dw 10140
+	TX_FAR _SnorlaxDexEntry
+	db "@"
+
+MagikarpDexEntry:
+	db "FISH@"
+	db 2,11
+	dw 220
+	TX_FAR _MagikarpDexEntry
+	db "@"
+
+MukDexEntry:
+	db "SLUDGE@"
+	db 3,11
+	dw 660
+	TX_FAR _MukDexEntry
+	db "@"
+
+KinglerDexEntry:
+	db "PINCER@"
+	db 4,3
+	dw 1320
+	TX_FAR _KinglerDexEntry
+	db "@"
+
+CloysterDexEntry:
+	db "BIVALVE@"
+	db 4,11
+	dw 2920
+	TX_FAR _CloysterDexEntry
+	db "@"
+
+ElectrodeDexEntry:
+	db "BALL@"
+	db 3,11
+	dw 1470
+	TX_FAR _ElectrodeDexEntry
+	db "@"
+
+ClefableDexEntry:
+	db "FAIRY@"
+	db 4,3
+	dw 880
+	TX_FAR _ClefableDexEntry
+	db "@"
+
+WeezingDexEntry:
+	db "POISON GAS@"
+	db 3,11
+	dw 210
+	TX_FAR _WeezingDexEntry
+	db "@"
+
+PersianDexEntry:
+	db "CLASSY CAT@"
+	db 3,3
+	dw 710
+	TX_FAR _PersianDexEntry
+	db "@"
+
+MarowakDexEntry:
+	db "BONEKEEPER@"
+	db 3,3
+	dw 990
+	TX_FAR _MarowakDexEntry
+	db "@"
+
+HaunterDexEntry:
+	db "GAS@"
+	db 5,3
+	dw 2
+	TX_FAR _HaunterDexEntry
+	db "@"
+
+AbraDexEntry:
+	db "PSI@"
+	db 2,11
+	dw 430
+	TX_FAR _AbraDexEntry
+	db "@"
+
+AlakazamDexEntry:
+	db "PSI@"
+	db 4,11
+	dw 1060
+	TX_FAR _AlakazamDexEntry
+	db "@"
+
+PidgeottoDexEntry:
+	db "BIRD@"
+	db 3,7
+	dw 660
+	TX_FAR _PidgeottoDexEntry
+	db "@"
+
+PidgeotDexEntry:
+	db "BIRD@"
+	db 4,11
+	dw 870
+	TX_FAR _PidgeotDexEntry
+	db "@"
+
+StarmieDexEntry:
+	db "MYSTERIOUS@"
+	db 3,7
+	dw 1760
+	TX_FAR _StarmieDexEntry
+	db "@"
+
+BulbasaurDexEntry:
+	db "SEED@"
+	db 2,4
+	dw 150
+	TX_FAR _BulbasaurDexEntry
+	db "@"
+
+VenusaurDexEntry:
+	db "SEED@"
+	db 6,7
+	dw 2210
+	TX_FAR _VenusaurDexEntry
+	db "@"
+
+TentacruelDexEntry:
+	db "JELLYFISH@"
+	db 5,3
+	dw 1210
+	TX_FAR _TentacruelDexEntry
+	db "@"
+
+GoldeenDexEntry:
+	db "GOLDFISH@"
+	db 2,0
+	dw 330
+	TX_FAR _GoldeenDexEntry
+	db "@"
+
+SeakingDexEntry:
+	db "GOLDFISH@"
+	db 4,3
+	dw 860
+	TX_FAR _SeakingDexEntry
+	db "@"
+
+PonytaDexEntry:
+	db "FIRE HORSE@"
+	db 3,3
+	dw 660
+	TX_FAR _PonytaDexEntry
+	db "@"
+
+RapidashDexEntry:
+	db "FIRE HORSE@"
+	db 5,7
+	dw 2090
+	TX_FAR _RapidashDexEntry
+	db "@"
+
+RattataDexEntry:
+	db "RAT@"
+	db 1,0
+	dw 80
+	TX_FAR _RattataDexEntry
+	db "@"
+
+RaticateDexEntry:
+	db "RAT@"
+	db 2,4
+	dw 410
+	TX_FAR _RaticateDexEntry
+	db "@"
+
+NidorinoDexEntry:
+	db "POISON PIN@"
+	db 2,11
+	dw 430
+	TX_FAR _NidorinoDexEntry
+	db "@"
+
+NidorinaDexEntry:
+	db "POISON PIN@"
+	db 2,7
+	dw 440
+	TX_FAR _NidorinaDexEntry
+	db "@"
+
+GeodudeDexEntry:
+	db "ROCK@"
+	db 1,4
+	dw 440
+	TX_FAR _GeodudeDexEntry
+	db "@"
+
+PorygonDexEntry:
+	db "VIRTUAL@"
+	db 2,7
+	dw 800
+	TX_FAR _PorygonDexEntry
+	db "@"
+
+AerodactylDexEntry:
+	db "FOSSIL@"
+	db 5,11
+	dw 1300
+	TX_FAR _AerodactylDexEntry
+	db "@"
+
+MagnemiteDexEntry:
+	db "MAGNET@"
+	db 1,0
+	dw 130
+	TX_FAR _MagnemiteDexEntry
+	db "@"
+
+CharmanderDexEntry:
+	db "LIZARD@"
+	db 2,0
+	dw 190
+	TX_FAR _CharmanderDexEntry
+	db "@"
+
+SquirtleDexEntry:
+	db "TINYTURTLE@"
+	db 1,8
+	dw 200
+	TX_FAR _SquirtleDexEntry
+	db "@"
+
+CharmeleonDexEntry:
+	db "FLAME@"
+	db 3,7
+	dw 420
+	TX_FAR _CharmeleonDexEntry
+	db "@"
+
+WartortleDexEntry:
+	db "TURTLE@"
+	db 3,3
+	dw 500
+	TX_FAR _WartortleDexEntry
+	db "@"
+
+CharizardDexEntry:
+	db "FLAME@"
+	db 5,7
+	dw 2000
+	TX_FAR _CharizardDexEntry
+	db "@"
+
+OddishDexEntry:
+	db "WEED@"
+	db 1,8
+	dw 120
+	TX_FAR _OddishDexEntry
+	db "@"
+
+GloomDexEntry:
+	db "WEED@"
+	db 2,7
+	dw 190
+	TX_FAR _GloomDexEntry
+	db "@"
+
+VileplumeDexEntry:
+	db "FLOWER@"
+	db 3,11
+	dw 410
+	TX_FAR _VileplumeDexEntry
+	db "@"
+
+BellsproutDexEntry:
+	db "FLOWER@"
+	db 2,4
+	dw 90
+	TX_FAR _BellsproutDexEntry
+	db "@"
+
+WeepinbellDexEntry:
+	db "FLYCATCHER@"
+	db 3,3
+	dw 140
+	TX_FAR _WeepinbellDexEntry
+	db "@"
+
+VictreebelDexEntry:
+	db "FLYCATCHER@"
+	db 5,7
+	dw 340
+	TX_FAR _VictreebelDexEntry
+	db "@"
+
+MissingNoDexEntry:
+	db "???@"
+	db 10 ; 1.0 m
+	db 100 ; 10.0 kg
+	db 0,"コメント さくせいちゅう@" ; コメント作成中 (Comment to be written)
+
+PokedexToIndex:
+	; converts the Pokédex number at $D11E to an index
+	push bc
+	push hl
+	ld a,[$D11E]
+	ld b,a
+	ld c,0
+	ld hl,PokedexOrder
+
+.loop\@ ; go through the list until we find an entry with a matching dex number
+	inc c
+	ld a,[hli]
+	cp b
+	jr nz,.loop\@
+
+	ld a,c
+	ld [$D11E],a
+	pop hl
+	pop bc
+	ret
+
+IndexToPokedex:
+	; converts the indexédex number at $D11E to a Pokédex number
+	push bc
+	push hl
+	ld a,[$D11E]
+	dec a
+	ld hl,PokedexOrder
+	ld b,0
+	ld c,a
+	add hl,bc
+	ld a,[hl]
+	ld [$D11E],a
+	pop hl
+	pop bc
+	ret
+
+PokedexOrder: ; 5024
+	db DEX_RHYDON
+	db DEX_KANGASKHAN
+	db DEX_NIDORAN_M
+	db DEX_CLEFAIRY
+	db DEX_SPEAROW
+	db DEX_VOLTORB
+	db DEX_NIDOKING
+	db DEX_SLOWBRO
+	db DEX_IVYSAUR
+	db DEX_EXEGGUTOR
+	db DEX_LICKITUNG
+	db DEX_EXEGGCUTE
+	db DEX_GRIMER
+	db DEX_GENGAR
+	db DEX_NIDORAN_F
+	db DEX_NIDOQUEEN
+	db DEX_CUBONE
+	db DEX_RHYHORN
+	db DEX_LAPRAS
+	db DEX_ARCANINE
+	db DEX_MEW
+	db DEX_GYARADOS
+	db DEX_SHELLDER
+	db DEX_TENTACOOL
+	db DEX_GASTLY
+	db DEX_SCYTHER
+	db DEX_STARYU
+	db DEX_BLASTOISE
+	db DEX_PINSIR
+	db DEX_TANGELA
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_GROWLITHE
+	db DEX_ONIX
+	db DEX_FEAROW
+	db DEX_PIDGEY
+	db DEX_SLOWPOKE
+	db DEX_KADABRA
+	db DEX_GRAVELER
+	db DEX_CHANSEY
+	db DEX_MACHOKE
+	db DEX_MR_MIME
+	db DEX_HITMONLEE
+	db DEX_HITMONCHAN
+	db DEX_ARBOK
+	db DEX_PARASECT
+	db DEX_PSYDUCK
+	db DEX_DROWZEE
+	db DEX_GOLEM
+	db 0 ; MISSINGNO.
+	db DEX_MAGMAR
+	db 0 ; MISSINGNO.
+	db DEX_ELECTABUZZ
+	db DEX_MAGNETON
+	db DEX_KOFFING
+	db 0 ; MISSINGNO.
+	db DEX_MANKEY
+	db DEX_SEEL
+	db DEX_DIGLETT
+	db DEX_TAUROS
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_FARFETCH_D
+	db DEX_VENONAT
+	db DEX_DRAGONITE
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_DODUO
+	db DEX_POLIWAG
+	db DEX_JYNX
+	db DEX_MOLTRES
+	db DEX_ARTICUNO
+	db DEX_ZAPDOS
+	db DEX_DITTO
+	db DEX_MEOWTH
+	db DEX_KRABBY
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_VULPIX
+	db DEX_NINETALES
+	db DEX_PIKACHU
+	db DEX_RAICHU
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_DRATINI
+	db DEX_DRAGONAIR
+	db DEX_KABUTO
+	db DEX_KABUTOPS
+	db DEX_HORSEA
+	db DEX_SEADRA
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_SANDSHREW
+	db DEX_SANDSLASH
+	db DEX_OMANYTE
+	db DEX_OMASTAR
+	db DEX_JIGGLYPUFF
+	db DEX_WIGGLYTUFF
+	db DEX_EEVEE
+	db DEX_FLAREON
+	db DEX_JOLTEON
+	db DEX_VAPOREON
+	db DEX_MACHOP
+	db DEX_ZUBAT
+	db DEX_EKANS
+	db DEX_PARAS
+	db DEX_POLIWHIRL
+	db DEX_POLIWRATH
+	db DEX_WEEDLE
+	db DEX_KAKUNA
+	db DEX_BEEDRILL
+	db 0 ; MISSINGNO.
+	db DEX_DODRIO
+	db DEX_PRIMEAPE
+	db DEX_DUGTRIO
+	db DEX_VENOMOTH
+	db DEX_DEWGONG
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_CATERPIE
+	db DEX_METAPOD
+	db DEX_BUTTERFREE
+	db DEX_MACHAMP
+	db 0 ; MISSINGNO.
+	db DEX_GOLDUCK
+	db DEX_HYPNO
+	db DEX_GOLBAT
+	db DEX_MEWTWO
+	db DEX_SNORLAX
+	db DEX_MAGIKARP
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_MUK
+	db 0 ; MISSINGNO.
+	db DEX_KINGLER
+	db DEX_CLOYSTER
+	db 0 ; MISSINGNO.
+	db DEX_ELECTRODE
+	db DEX_CLEFABLE
+	db DEX_WEEZING
+	db DEX_PERSIAN
+	db DEX_MAROWAK
+	db 0 ; MISSINGNO.
+	db DEX_HAUNTER
+	db DEX_ABRA
+	db DEX_ALAKAZAM
+	db DEX_PIDGEOTTO
+	db DEX_PIDGEOT
+	db DEX_STARMIE
+	db DEX_BULBASAUR
+	db DEX_VENUSAUR
+	db DEX_TENTACRUEL
+	db 0 ; MISSINGNO.
+	db DEX_GOLDEEN
+	db DEX_SEAKING
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_PONYTA
+	db DEX_RAPIDASH
+	db DEX_RATTATA
+	db DEX_RATICATE
+	db DEX_NIDORINO
+	db DEX_NIDORINA
+	db DEX_GEODUDE
+	db DEX_PORYGON
+	db DEX_AERODACTYL
+	db 0 ; MISSINGNO.
+	db DEX_MAGNEMITE
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_CHARMANDER
+	db DEX_SQUIRTLE
+	db DEX_CHARMELEON
+	db DEX_WARTORTLE
+	db DEX_CHARIZARD
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db 0 ; MISSINGNO.
+	db DEX_ODDISH
+	db DEX_GLOOM
+	db DEX_VILEPLUME
+	db DEX_BELLSPROUT
+	db DEX_WEEPINBELL
+	db DEX_VICTREEBEL
+
+INCBIN "baserom.gbc",$410e2,$4160c - $410e2
+
+UnnamedText_4160c: ; 0x4160c
+	TX_FAR _UnnamedText_4160c
+	db $50
+; 0x4160c + 5 bytes
+
+INCBIN "baserom.gbc",$41611,$41623 - $41611
+
+UnnamedText_41623: ; 0x41623
+	TX_FAR _UnnamedText_41623
+	db $50
+; 0x41623 + 5 bytes
+
+UnnamedText_41628: ; 0x41628
+	TX_FAR _UnnamedText_41628
+	db $50
+; 0x41628 + 5 bytes
+
+INCBIN "baserom.gbc",$4162d,$41642 - $4162d
+
+UnnamedText_41642: ; 0x41642
+	TX_FAR _UnnamedText_41642
+	db $50
+; 0x41642 + 5 bytes
+
+UnnamedText_41647: ; 0x41647
+	TX_FAR _UnnamedText_41647
+	db $50
+; 0x41647 + 5 bytes
+
+INCBIN "baserom.gbc",$4164c,$41655 - $4164c
+
+UnnamedText_41655: ; 0x41655
+	TX_FAR _UnnamedText_41655
+	db $50
+; 0x41655 + 5 bytes
+
+INCBIN "baserom.gbc",$4165a,$4166c - $4165a
+
+UnnamedText_4166c: ; 0x4166c
+	TX_FAR _UnnamedText_4166c
+	db $50
+; 0x4166c + 5 bytes
+
+UnnamedText_41671: ; 0x41671
+	TX_FAR _UnnamedText_41671
+	db $50
+; 0x41671 + 5 bytes
+
+INCBIN "baserom.gbc",$41676,$a63
+
+IF _RED
+	INCBIN "gfx/red/introfight.2bpp"
+ENDC
+IF _BLUE
+	INCBIN "gfx/blue/introfight.2bpp"
+ENDC
+
+; XXX what do these do
+	FuncCoord 5,0
+	ld hl,Coord
+	ld de,OTString67E5
+	call PlaceString
+	ld a,[$CD3D]
+	ld [$D11E],a
+	ld a,$3A
+	call Predef
+	ld hl,$C3A9
+	ld de,$D11E
+	ld bc,$8103
+	call $3C5F
+	FuncCoord 5,2
+	ld hl,Coord
+	ld de,$CF4B
+	call PlaceString
+	FuncCoord 8,4
+	ld hl,Coord
+	ld de,$CD41
+	call PlaceString
+	ld hl,$C420
+	ld de,$CD4C
+	ld bc,$8205
+	jp $3C5F
+
+	FuncCoord 5,10
+	ld hl,Coord
+	ld de,OTString67E5
+	call PlaceString
+	ld a,[$CD3E]
+	ld [$D11E],a
+	ld a,$3A
+	call Predef
+	ld hl,$C471
+	ld de,$D11E
+	ld bc,$8103
+	call $3C5F
+	FuncCoord 5,12
+	ld hl,Coord
+	ld de,$CD6D
+	call PlaceString
+	FuncCoord 8,14
+	ld hl,Coord
+	ld de,$CD4E
+	call PlaceString
+	ld hl,$C4E8
+	ld de,$CD59
+	ld bc,$8205
+	jp $3C5F
+
+OTString67E5: ; 67E5
+	db "──",$74,$F2,$4E
+	db $4E
+	db "OT/",$4E
+	db $73,"№",$F2,"@"
+
+SECTION "bank11",DATA,BANK[$11]
+
+LavenderTown_h: ; 0x44000 to 0x4402d (45 bytes) (bank=11) (id=4)
+	db $00 ; tileset
+	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x)
+	dw LavenderTownBlocks, LavenderTownTexts, LavenderTownScript ; blocks, texts, scripts
+	db NORTH | SOUTH | WEST ; connections
+
+	; connections data
+
+	db ROUTE_10
+	dw Route10Blocks + (ROUTE_10_HEIGHT - 3) * ROUTE_10_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db ROUTE_10_WIDTH, ROUTE_10_WIDTH ; bigness, width
+	db (ROUTE_10_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_10_HEIGHT * (ROUTE_10_WIDTH + 6) ; window
+
+	db ROUTE_12
+	dw Route12Blocks ; connection strip location
+	dw $C6EB + (LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6) + 0 ; current map position
+	db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_12_WIDTH ; window
+
+	db ROUTE_8
+	dw Route8Blocks - 3 + (ROUTE_8_WIDTH) ; connection strip location
+	dw $C6E8 + (LAVENDER_TOWN_WIDTH + 6) * (0 + 3) ; current map position
+	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width
+	db (0 * -2), (ROUTE_8_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_8_WIDTH ; window
+
+	; end connections data
+
+	dw LavenderTownObject ; objects
+
+LavenderTownObject: ; 0x4402d (size=88)
+	db $2c ; border tile
+
+	db $6 ; warps
+	db $5, $3, $0, LAVENDER_POKECENTER
+	db $5, $e, $0, POKEMONTOWER_1
+	db $9, $7, $0, LAVENDER_HOUSE_1
+	db $d, $f, $0, LAVENDER_MART
+	db $d, $3, $0, LAVENDER_HOUSE_2
+	db $d, $7, $0, NAME_RATERS_HOUSE
+
+	db $6 ; signs
+	db $9, $b, $4 ; LavenderTownText4
+	db $3, $9, $5 ; LavenderTownText5
+	db $d, $10, $6 ; LavenderTownText6
+	db $5, $4, $7 ; LavenderTownText7
+	db $9, $5, $8 ; LavenderTownText8
+	db $7, $11, $9 ; LavenderTownText9
+
+	db $3 ; people
+	db SPRITE_LITTLE_GIRL, $9 + 4, $f + 4, $fe, $0, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $9 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $8 + 4, $fe, $2, $3 ; person
+
+	; warp-to
+	EVENT_DISP $a, $5, $3 ; LAVENDER_POKECENTER
+	EVENT_DISP $a, $5, $e ; POKEMONTOWER_1
+	EVENT_DISP $a, $9, $7 ; LAVENDER_HOUSE_1
+	EVENT_DISP $a, $d, $f ; LAVENDER_MART
+	EVENT_DISP $a, $d, $3 ; LAVENDER_HOUSE_2
+	EVENT_DISP $a, $d, $7 ; NAME_RATERS_HOUSE
+
+LavenderTownBlocks: ; 0x44085 90
+	INCBIN "maps/lavendertown.blk"
+
+ViridianPokecenterBlocks: ; 0x440df 28
+	INCBIN "maps/viridianpokecenter.blk"
+
+SafariZoneRestHouse1Blocks: ; 0x440fb 16
+	INCBIN "maps/safarizoneresthouse1.blk"
+
+LavenderTownScript: ; 0x4410b
+	jp $3c3c
+; 0x4410e
+
+LavenderTownTexts: ; 0x4410e
+	dw LavenderTownText1, LavenderTownText2, LavenderTownText3, LavenderTownText4, LavenderTownText5, LavenderTownText6, LavenderTownText7, LavenderTownText8, LavenderTownText9
+
+LavenderTownText1: ; 0x44120
+	db $08 ; asm
+	ld hl, UnnamedText_4413c
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	ld hl, UnnamedText_44146
+	jr nz, .asm_40831 ; 0x44131
+	ld hl, UnnamedText_44141
+.asm_40831 ; 0x44136
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_4413c: ; 0x4413c
+	TX_FAR _UnnamedText_4413c
+	db $50
+; 0x4413c + 5 bytes
+
+UnnamedText_44141: ; 0x44141
+	TX_FAR _UnnamedText_44141
+	db $50
+; 0x44141 + 5 bytes
+
+UnnamedText_44146: ; 0x44146
+	TX_FAR _UnnamedText_44146
+	db $50
+; 0x44146 + 5 bytes
+
+LavenderTownText2: ; 0x4414b
+	TX_FAR _LavenderTownText2
+	db $50
+
+LavenderTownText3: ; 0x44150
+	TX_FAR _LavenderTownText3
+	db $50
+
+LavenderTownText4: ; 0x44155
+	TX_FAR _LavenderTownText4
+	db $50
+
+LavenderTownText5: ; 0x4415a
+	TX_FAR _LavenderTownText5
+	db $50
+
+LavenderTownText8: ; 0x4415f
+	TX_FAR _LavenderTownText8
+	db $50
+
+LavenderTownText9: ; 0x44164
+	TX_FAR _LavenderTownText9
+	db $50
+
+INCBIN "baserom.gbc",$44169,$441cc - $44169
+
+UnnamedText_441cc: ; 0x441cc
+	TX_FAR _UnnamedText_441cc
+	db $50
+; 0x441cc + 5 bytes
+
+INCBIN "baserom.gbc",$441d1,$44201 - $441d1
+
+UnnamedText_44201: ; 0x44201
+	TX_FAR _UnnamedText_44201
+	db $50
+; 0x44201 + 5 bytes
+
+UnnamedText_44206: ; 0x44206
+	TX_FAR _UnnamedText_44206
+	db $50
+; 0x44206 + 5 bytes
+
+UnnamedText_4420b: ; 0x4420b
+	TX_FAR _UnnamedText_4420b
+	db $50
+; 0x4420b + 5 bytes
+
+UnnamedText_44210: ; 0x44210
+	TX_FAR _UnnamedText_44210
+	db $50
+; 0x44210 + 5 bytes
+
+UnnamedText_44215: ; 0x44215
+	TX_FAR _UnnamedText_44215
+	db $50
+; 0x44215 + 5 bytes
+
+UnnamedText_4421a: ; 0x4421a
+	TX_FAR _UnnamedText_4421a
+	db $50
+; 0x4421a + 5 bytes
+
+UnnamedText_4421f: ; 0x4421f
+	TX_FAR _UnnamedText_4421f
+	db $50
+; 0x4421f + 5 bytes
+
+UnnamedText_44224: ; 0x44224
+	TX_FAR _UnnamedText_44224
+	db $50
+; 0x44224 + 5 bytes
+
+UnnamedText_44229: ; 0x44229
+	TX_FAR _UnnamedText_44229
+	db $50
+; 0x44229 + 5 bytes
+
+UnnamedText_4422e: ; 0x4422e
+	TX_FAR _UnnamedText_4422e
+	db $50
+; 0x4422e + 5 bytes
+
+UnnamedText_44233: ; 0x44233
+	TX_FAR _UnnamedText_44233
+	db $50
+; 0x44233 + 5 bytes
+
+UnnamedText_44238: ; 0x44238
+	TX_FAR _UnnamedText_44238
+	db $50
+; 0x44238 + 5 bytes
+
+UnnamedText_4423d: ; 0x4423d
+	TX_FAR _UnnamedText_4423d
+	db $50
+; 0x4423d + 5 bytes
+
+UnnamedText_44242: ; 0x44242
+	TX_FAR _UnnamedText_44242
+	db $50
+; 0x44242 + 5 bytes
+
+UnnamedText_44247: ; 0x44247
+	TX_FAR _UnnamedText_44247
+	db $50
+; 0x44247 + 5 bytes
+
+UnnamedText_4424c: ; 0x4424c
+	TX_FAR _UnnamedText_4424c
+	db $50
+; 0x4424c + 5 bytes
+
+ViridianPokecenter_h: ; 0x44251 to 0x4425d (12 bytes) (bank=11) (id=41)
+	db $06 ; tileset
+	db $04, $07 ; dimensions (y, x)
+	dw ViridianPokecenterBlocks, ViridianPokecenterTexts, ViridianPokeCenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianPokecenterObject ; objects
+
+ViridianPokeCenterScript: ; 0x4425d
+	call $22fa
+	jp $3c3c
+; 0x44263
+
+ViridianPokecenterTexts: ; 0x44263
+	dw ViridianPokeCenterText1, ViridianPokeCenterText2, ViridianPokeCenterText3, ViridianPokeCenterText4
+
+ViridianPokeCenterText1: ; 0x4426b
+	db $ff
+
+ViridianPokeCenterText2: ; 0x4426c
+	TX_FAR _ViridianPokeCenterText1
+	db $50
+
+INCBIN "baserom.gbc",$44271,$44271 - $44271
+
+ViridianPokeCenterText3: ; 0x44271
+	TX_FAR _ViridianPokeCenterText3
+	db $50
+
+ViridianPokeCenterText4:
+	db $f6
+
+ViridianPokecenterObject: ; 0x44277 (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $0, $ff
+	db $7, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GENTLEMAN, $5 + 4, $a + 4, $fe, $1, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $3 + 4, $4 + 4, $ff, $ff, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+Mansion1_h: ; 0x442a3 to 0x442af (12 bytes) (bank=11) (id=165)
+	db $16 ; tileset
+	db MANSION_1_HEIGHT, MANSION_1_WIDTH ; dimensions (y, x)
+	dw Mansion1Blocks, Mansion1Texts, Mansion1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Mansion1Object ; objects
+
+Mansion1Script:
+	call Mansion1Subscript1
+	call $3c3c
+	ld hl, Mansion1TrainerHeaders
+	ld de, $4326
+	ld a, [$d63a]
+	call $3160
+	ld [$d63a], a
+	ret
+; 0x442c5
+
+Mansion1Subscript1: ; 0x442c5
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld a, [$d796]
+	bit 0, a
+	jr nz, .asm_442ec ; 0x442d2 $18
+	ld bc, $060c
+	call $430b
+	ld bc, $0308
+	call $4304
+	ld bc, $080a
+	call $4304
+	ld bc, $0d0d
+	jp $4304
+.asm_442ec
+	ld bc, $060c
+	call $4304
+	ld bc, $0308
+	call $430b
+	ld bc, $080a
+	call $430b
+	ld bc, $0d0d
+	jp $430b
+; 0x44304
+
+INCBIN "baserom.gbc",$44304,$4432c - $44304
+
+Mansion1Texts: ; 0x4432c
+	dw Mansion1Text1, Mansion1Text2, Mansion1Text3, Mansion1Text4
+
+Mansion1TrainerHeaders:
+TrainerHeader_44334: ; 0x44334
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d798 ; flag's byte
+	dw UnnamedText_4434b ; 0x434b TextBeforeBattle
+	dw UnnamedText_44355 ; 0x4355 TextAfterBattle
+	dw UnnamedText_44350 ; 0x4350 TextEndBattle
+	dw UnnamedText_44350 ; 0x4350 TextEndBattle
+; 0x44340
+
+db $ff
+
+Mansion1Text1: ; 0x44341
+	db $08 ; asm
+	ld hl, TrainerHeader_44334
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_4434b: ; 0x4434b
+	TX_FAR _UnnamedText_4434b
+	db $50
+; 0x4434b + 5 bytes
+
+UnnamedText_44350: ; 0x44350
+	TX_FAR _UnnamedText_44350
+	db $50
+; 0x44350 + 5 bytes
+
+UnnamedText_44355: ; 0x44355
+	TX_FAR _UnnamedText_44355
+	db $50
+; 0x44355 + 5 bytes
+
+Mansion1Text4: ; 0x4435a
+	db $8
+	ld hl, UnnamedText_44395
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_4438c ; 0x44368 $22
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, $d126
+	set 5, [hl]
+	ld hl, UnnamedText_4439a
+	call PrintText
+	ld a, $ad
+	call $23b1
+	ld hl, $d796
+	bit 0, [hl]
+	set 0, [hl]
+	jr z, .asm_44392 ; 0x44386 $a
+	res 0, [hl]
+	jr .asm_44392 ; 0x4438a $6
+.asm_4438c
+	ld hl, UnnamedText_4439f
+	call PrintText
+.asm_44392
+	jp TextScriptEnd
+; 0x44395
+
+UnnamedText_44395: ; 0x44395
+	TX_FAR _UnnamedText_44395
+	db $50
+; 0x44395 + 5 bytes
+
+UnnamedText_4439a: ; 0x4439a
+	TX_FAR _UnnamedText_4439a
+	db $50
+; 0x4439a + 5 bytes
+
+UnnamedText_4439f: ; 0x4439f
+	TX_FAR _UnnamedText_4439f
+	db $50
+; 0x4439f + 5 bytes
+
+Mansion1Object: ; 0x443a4 (size=90)
+	db $2e ; border tile
+
+	db $8 ; warps
+	db $1b, $4, $0, $ff
+	db $1b, $5, $0, $ff
+	db $1b, $6, $0, $ff
+	db $1b, $7, $0, $ff
+	db $a, $5, $0, MANSION_2
+	db $17, $15, $0, MANSION_4
+	db $1b, $1a, $0, $ff
+	db $1b, $1b, $0, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_OAK_AIDE, $11 + 4, $11 + 4, $ff, $d2, $41, SCIENTIST + $C8, $4 ; trainer
+	db SPRITE_BALL, $3 + 4, $e + 4, $ff, $ff, $82, ESCAPE_ROPE ; item
+	db SPRITE_BALL, $15 + 4, $12 + 4, $ff, $ff, $83, CARBOS ; item
+
+	; warp-to
+	EVENT_DISP $f, $1b, $4
+	EVENT_DISP $f, $1b, $5
+	EVENT_DISP $f, $1b, $6
+	EVENT_DISP $f, $1b, $7
+	EVENT_DISP $f, $a, $5 ; MANSION_2
+	EVENT_DISP $f, $17, $15 ; MANSION_4
+	EVENT_DISP $f, $1b, $1a
+	EVENT_DISP $f, $1b, $1b
+
+Mansion1Blocks: ; 0x44405 203
+	INCBIN "maps/mansion1.blk"
+
+RockTunnel1_h: ; 0x444d0 to 0x444dc (12 bytes) (bank=11) (id=82)
+	db $11 ; tileset
+	db ROCK_TUNNEL_1_HEIGHT, ROCK_TUNNEL_1_WIDTH ; dimensions (y, x)
+	dw RockTunnel1Blocks, RockTunnel1Texts, RockTunnel1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RockTunnel1Object ; objects
+
+RockTunnel1Script: ; 0x444dc
+	call $3c3c
+	ld hl, Unnamed_44505 ; $4505
+	ld de, Unnamed_444ef ; $44ef
+	ld a, [$d621]
+	call $3160
+	ld [$d621], a
+	ret
+; 0x444ef
+
+Unnamed_444ef:
+INCBIN "baserom.gbc",$444ef,$6
+
+RockTunnel1Texts: ; 0x444f5
+	dw RockTunnel1Text1, RockTunnel1Text2, RockTunnel1Text3, RockTunnel1Text4, RockTunnel1Text5, RockTunnel1Text6, RockTunnel1Text7, RockTunnel1Text8
+
+Unnamed_44505:
+INCBIN "baserom.gbc",$44505,$55
+
+RockTunnel1Text1: ; 0x4455a
+	db $8
+	ld hl, $4505
+	jr asm_0c916 ; 0x4455e $22
+
+RockTunnel1Text2:
+	db $8
+	ld hl, $4511
+	jr asm_0c916 ; 0x44564 $1c
+
+RockTunnel1Text3:
+	db $8
+	ld hl, $451d
+	jr asm_0c916 ; 0x4456a $16
+
+RockTunnel1Text4:
+	db $8
+	ld hl, $4529
+	jr asm_0c916 ; 0x44570 $10
+
+RockTunnel1Text5:
+	db $8
+	ld hl, $4535
+	jr asm_0c916 ; 0x44576 $a
+
+RockTunnel1Text6:
+	db $8
+	ld hl, $4541
+	jr asm_0c916 ; 0x4457c $4
+
+RockTunnel1Text7:
+	db $8
+	ld hl, $454d
+asm_0c916: ; 0x44582
+	call $31cc
+	jp TextScriptEnd
+
+UnnamedText_44588: ; 0x44588
+	TX_FAR _UnnamedText_44588
+	db $50
+; 0x44588 + 5 bytes
+
+UnnamedText_4458d: ; 0x4458d
+	TX_FAR _UnnamedText_4458d
+	db $50
+; 0x4458d + 5 bytes
+
+UnnamedText_44592: ; 0x44592
+	TX_FAR _UnnamedText_44592
+	db $50
+; 0x44592 + 5 bytes
+
+UnnamedText_44597: ; 0x44597
+	TX_FAR _UnnamedText_44597
+	db $50
+; 0x44597 + 5 bytes
+
+UnnamedText_4459c: ; 0x4459c
+	TX_FAR _UnnamedText_4459c
+	db $50
+; 0x4459c + 5 bytes
+
+UnnamedText_445a1: ; 0x445a1
+	TX_FAR _UnnamedText_445a1
+	db $50
+; 0x445a1 + 5 bytes
+
+UnnamedText_445a6: ; 0x445a6
+	TX_FAR _UnnamedText_445a6
+	db $50
+; 0x445a6 + 5 bytes
+
+UnnamedText_445ab: ; 0x445ab
+	TX_FAR _UnnamedText_445ab
+	db $50
+; 0x445ab + 5 bytes
+
+UnnamedText_445b0: ; 0x445b0
+	TX_FAR _UnnamedText_445b0
+	db $50
+; 0x445b0 + 5 bytes
+
+UnnamedText_445b5: ; 0x445b5
+	TX_FAR _UnnamedText_445b5
+	db $50
+; 0x445b5 + 5 bytes
+
+UnnamedText_445ba: ; 0x445ba
+	TX_FAR _UnnamedText_445ba
+	db $50
+; 0x445ba + 5 bytes
+
+UnnamedText_445bf: ; 0x445bf
+	TX_FAR _UnnamedText_445bf
+	db $50
+; 0x445bf + 5 bytes
+
+UnnamedText_445c4: ; 0x445c4
+	TX_FAR _UnnamedText_445c4
+	db $50
+; 0x445c4 + 5 bytes
+
+UnnamedText_445c9: ; 0x445c9
+	TX_FAR _UnnamedText_445c9
+	db $50
+; 0x445c9 + 5 bytes
+
+UnnamedText_445ce: ; 0x445ce
+	TX_FAR _UnnamedText_445ce
+	db $50
+; 0x445ce + 5 bytes
+
+UnnamedText_445d3: ; 0x445d3
+	TX_FAR _UnnamedText_445d3
+	db $50
+; 0x445d3 + 5 bytes
+
+UnnamedText_445d8: ; 0x445d8
+	TX_FAR _UnnamedText_445d8
+	db $50
+; 0x445d8 + 5 bytes
+
+UnnamedText_445dd: ; 0x445dd
+	TX_FAR _UnnamedText_445dd
+	db $50
+; 0x445dd + 5 bytes
+
+UnnamedText_445e2: ; 0x445e2
+	TX_FAR _UnnamedText_445e2
+	db $50
+; 0x445e2 + 5 bytes
+
+UnnamedText_445e7: ; 0x445e7
+	TX_FAR _UnnamedText_445e7
+	db $50
+; 0x445e7 + 5 bytes
+
+UnnamedText_445ec: ; 0x445ec
+	TX_FAR _UnnamedText_445ec
+	db $50
+; 0x445ec + 5 bytes
+
+RockTunnel1Text8: ; 0x445f1
+	TX_FAR _RockTunnel1Text8
+	db $50
+
+RockTunnel1Object: ; 0x445f6 (size=127)
+	db $3 ; border tile
+
+	db $8 ; warps
+	db $3, $f, $1, $ff
+	db $0, $f, $1, $ff
+	db $21, $f, $2, $ff
+	db $23, $f, $2, $ff
+	db $3, $25, $0, ROCK_TUNNEL_2
+	db $3, $5, $1, ROCK_TUNNEL_2
+	db $b, $11, $2, ROCK_TUNNEL_2
+	db $11, $25, $3, ROCK_TUNNEL_2
+
+	db $1 ; signs
+	db $1d, $b, $8 ; RockTunnel1Text8
+
+	db $7 ; people
+	db SPRITE_HIKER, $5 + 4, $7 + 4, $ff, $d0, $41, HIKER + $C8, $c ; trainer
+	db SPRITE_HIKER, $10 + 4, $5 + 4, $ff, $d0, $42, HIKER + $C8, $d ; trainer
+	db SPRITE_HIKER, $f + 4, $11 + 4, $ff, $d2, $43, HIKER + $C8, $e ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $17 + 4, $ff, $d2, $44, POKEMANIAC + $C8, $7 ; trainer
+	db SPRITE_LASS, $15 + 4, $25 + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $11 ; trainer
+	db SPRITE_LASS, $18 + 4, $16 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $12 ; trainer
+	db SPRITE_LASS, $18 + 4, $20 + 4, $ff, $d3, $47, JR__TRAINER_F + $C8, $13 ; trainer
+
+	; warp-to
+	EVENT_DISP $14, $3, $f
+	EVENT_DISP $14, $0, $f
+	EVENT_DISP $14, $21, $f
+	EVENT_DISP $14, $23, $f
+	EVENT_DISP $14, $3, $25 ; ROCK_TUNNEL_2
+	EVENT_DISP $14, $3, $5 ; ROCK_TUNNEL_2
+	EVENT_DISP $14, $b, $11 ; ROCK_TUNNEL_2
+	EVENT_DISP $14, $11, $25 ; ROCK_TUNNEL_2
+
+RockTunnel1Blocks: ; 0x44675 360
+	INCBIN "maps/rocktunnel1.blk"
+
+SeafoamIslands1_h: ; 0x447dd to 0x447e9 (12 bytes) (bank=11) (id=192)
+	db $11 ; tileset
+	db SEAFOAM_ISLANDS_1_HEIGHT, SEAFOAM_ISLANDS_1_WIDTH ; dimensions (y, x)
+	dw SeafoamIslands1Blocks, SeafoamIslands1Texts, SeafoamIslands1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SeafoamIslands1Object ; objects
+
+SeafoamIslands1Script: ; 0x447e9
+	call $3c3c
+	ld hl, $d7e7
+	set 0, [hl]
+	ld hl, $cd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_4483b ; 0x447f8 $41
+	ld hl, SeafoamIslands1Script_Unknown44846
+	call $34e4
+	ret nc
+	ld hl, $d7e8
+	ld a, [$cd3d]
+	cp $1
+	jr nz, .asm_44819 ; 0x44809 $e
+	set 6, [hl]
+	ld a, $d7
+	ld [$d079], a
+	ld a, $d9
+	ld [$d07a], a
+	jr .asm_44825 ; 0x44817 $c
+.asm_44819
+	set 7, [hl]
+	ld a, $d8
+	ld [$d079], a
+	ld a, $da
+	ld [$d07a], a
+.asm_44825
+	ld a, [$d079]
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, [$d07a]
+	ld [$cc4d], a
+	ld a, $15
+	jp $3e6d
+.asm_4483b
+	ld a, $9f
+	ld [$d71d], a
+	ld hl, SeafoamIslands1Script_Unknown44846
+	jp $6981
+; 0x44846
+
+SeafoamIslands1Script_Unknown44846: ; 0x44846
+INCBIN "baserom.gbc",$44846,$5
+
+SeafoamIslands1Texts: ; 0x4484b
+	dw SeafoamIslands1Text1, SeafoamIslands1Text2
+
+SeafoamIslands1Object: ; 0x4484f (size=72)
+	db $7d ; border tile
+
+	db $7 ; warps
+	db $11, $4, $0, $ff
+	db $11, $5, $0, $ff
+	db $11, $1a, $1, $ff
+	db $11, $1b, $1, $ff
+	db $5, $7, $1, SEAFOAM_ISLANDS_2
+	db $3, $19, $6, SEAFOAM_ISLANDS_2
+	db $f, $17, $4, SEAFOAM_ISLANDS_2
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BOULDER, $a + 4, $12 + 4, $ff, $10, $1 ; person
+	db SPRITE_BOULDER, $7 + 4, $1a + 4, $ff, $10, $2 ; person
+
+	; warp-to
+	EVENT_DISP $f, $11, $4
+	EVENT_DISP $f, $11, $5
+	EVENT_DISP $f, $11, $1a
+	EVENT_DISP $f, $11, $1b
+	EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_2
+	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_2
+	EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_2
+
+INCBIN "baserom.gbc",$44897,$8
+
+SeafoamIslands1Blocks: ; 0x4489f 135
+	INCBIN "maps/seafoamislands1.blk"
+
+SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97)
+	db $0d ; tileset
+	db SS_ANNE_3_HEIGHT, SS_ANNE_3_WIDTH ; dimensions (y, x)
+	dw SSAnne3Blocks, SSAnne3Texts, SSAnne3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne3Object ; objects
+
+SSAnne3Script: ; 0x44932
+	jp $3c3c
+; 0x44935
+
+SSAnne3Texts: ; 0x44935
+	dw SSAnne3Text1
+
+SSAnne3Text1: ; 0x44937
+	TX_FAR _SSAnne3Text1
+	db $50
+
+SSAnne3Object: ; 0x4493c (size=26)
+	db $c ; border tile
+
+	db $2 ; warps
+	db $3, $0, $0, SS_ANNE_5
+	db $3, $13, $7, SS_ANNE_2
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_SAILOR, $3 + 4, $9 + 4, $fe, $2, $1 ; person
+
+	; warp-to
+	EVENT_DISP $a, $3, $0 ; SS_ANNE_5
+	EVENT_DISP $a, $3, $13 ; SS_ANNE_2
+
+SSAnne3Blocks: ; 0x44956 30
+	INCBIN "maps/ssanne3.blk"
+
+VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198)
+	db $11 ; tileset
+	db VICTORY_ROAD_3_HEIGHT, VICTORY_ROAD_3_WIDTH ; dimensions (y, x)
+	dw VictoryRoad3Blocks, VictoryRoad3Texts, VictoryRoad3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VictoryRoad3Object ; objects
+
+VictoryRoad3Script: ; 0x44980
+	call VictoryRoad3Script_Unknown44996
+	call $3c3c
+	ld hl, VictoryRoad3TrainerHeaders
+	ld de, $49b1
+	ld a, [$d640]
+	call $3160
+	ld [$d640], a
+	ret
+; 0x44996
+
+VictoryRoad3Script_Unknown44996: ; 0x44996
+INCBIN "baserom.gbc",$44996,$8e
+
+VictoryRoad3Texts: ; 0x44a24
+	dw VictoryRoad3Text1, VictoryRoad3Text2, VictoryRoad3Text3, VictoryRoad3Text4, VictoryRoad3Text5, VictoryRoad3Text6, VictoryRoad3Text7, VictoryRoad3Text8, VictoryRoad3Text9, VictoryRoad3Text10
+
+VictoryRoad3TrainerHeaders:
+TrainerHeader_44a38: ; 0x44a38
+	db $1 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d813 ; flag's byte
+	dw UnnamedText_44a91 ; 0x4a91 TextBeforeBattle
+	dw UnnamedText_44a9b ; 0x4a9b TextAfterBattle
+	dw UnnamedText_44a96 ; 0x4a96 TextEndBattle
+	dw UnnamedText_44a96 ; 0x4a96 TextEndBattle
+; 0x44a44
+
+TrainerHeader_44a44: ; 0x44a44
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d813 ; flag's byte
+	dw UnnamedText_44aa0 ; 0x4aa0 TextBeforeBattle
+	dw UnnamedText_44aaa ; 0x4aaa TextAfterBattle
+	dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle
+	dw UnnamedText_44aa5 ; 0x4aa5 TextEndBattle
+; 0x44a50
+
+TrainerHeader_44a50: ; 0x44a50
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d813 ; flag's byte
+	dw UnnamedText_44aaf ; 0x4aaf TextBeforeBattle
+	dw UnnamedText_44ab9 ; 0x4ab9 TextAfterBattle
+	dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle
+	dw UnnamedText_44ab4 ; 0x4ab4 TextEndBattle
+; 0x44a5c
+
+TrainerHeader_44a5c: ; 0x44a5c
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d813 ; flag's byte
+	dw UnnamedText_44abe ; 0x4abe TextBeforeBattle
+	dw UnnamedText_44ac8 ; 0x4ac8 TextAfterBattle
+	dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle
+	dw UnnamedText_44ac3 ; 0x4ac3 TextEndBattle
+; 0x44a68
+
+db $ff
+
+VictoryRoad3Text1: ; 0x44a69
+	db $08 ; asm
+	ld hl, TrainerHeader_44a38
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad3Text2: ; 0x44a73
+	db $08 ; asm
+	ld hl, TrainerHeader_44a44
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad3Text3: ; 0x44a7d
+	db $08 ; asm
+	ld hl, TrainerHeader_44a50
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad3Text4: ; 0x44a87
+	db $08 ; asm
+	ld hl, TrainerHeader_44a5c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_44a91: ; 0x44a91
+	TX_FAR _UnnamedText_44a91
+	db $50
+; 0x44a91 + 5 bytes
+
+UnnamedText_44a96: ; 0x44a96
+	TX_FAR _UnnamedText_44a96
+	db $50
+; 0x44a96 + 5 bytes
+
+UnnamedText_44a9b: ; 0x44a9b
+	TX_FAR _UnnamedText_44a9b
+	db $50
+; 0x44a9b + 5 bytes
+
+UnnamedText_44aa0: ; 0x44aa0
+	TX_FAR _UnnamedText_44aa0
+	db $50
+; 0x44aa0 + 5 bytes
+
+UnnamedText_44aa5: ; 0x44aa5
+	TX_FAR _UnnamedText_44aa5
+	db $50
+; 0x44aa5 + 5 bytes
+
+UnnamedText_44aaa: ; 0x44aaa
+	TX_FAR _UnnamedText_44aaa
+	db $50
+; 0x44aaa + 5 bytes
+
+UnnamedText_44aaf: ; 0x44aaf
+	TX_FAR _UnnamedText_44aaf
+	db $50
+; 0x44aaf + 5 bytes
+
+UnnamedText_44ab4: ; 0x44ab4
+	TX_FAR _UnnamedText_44ab4
+	db $50
+; 0x44ab4 + 5 bytes
+
+UnnamedText_44ab9: ; 0x44ab9
+	TX_FAR _UnnamedText_44ab9
+	db $50
+; 0x44ab9 + 5 bytes
+
+UnnamedText_44abe: ; 0x44abe
+	TX_FAR _UnnamedText_44abe
+	db $50
+; 0x44abe + 5 bytes
+
+UnnamedText_44ac3: ; 0x44ac3
+	TX_FAR _UnnamedText_44ac3
+	db $50
+; 0x44ac3 + 5 bytes
+
+UnnamedText_44ac8: ; 0x44ac8
+	TX_FAR _UnnamedText_44ac8
+	db $50
+; 0x44ac8 + 5 bytes
+
+VictoryRoad3Object: ; 0x44acd (size=106)
+	db $7d ; border tile
+
+	db $4 ; warps
+	db $7, $17, $3, VICTORY_ROAD_2
+	db $8, $1a, $5, VICTORY_ROAD_2
+	db $f, $1b, $4, VICTORY_ROAD_2
+	db $0, $2, $6, VICTORY_ROAD_2
+
+	db $0 ; signs
+
+	db $a ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $1c + 4, $ff, $d2, $41, COOLTRAINER_M + $C8, $2 ; trainer
+	db SPRITE_LASS, $d + 4, $7 + 4, $ff, $d3, $42, COOLTRAINER_F + $C8, $2 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $e + 4, $6 + 4, $ff, $d2, $43, COOLTRAINER_M + $C8, $3 ; trainer
+	db SPRITE_LASS, $3 + 4, $d + 4, $ff, $d3, $44, COOLTRAINER_F + $C8, $3 ; trainer
+	db SPRITE_BALL, $5 + 4, $1a + 4, $ff, $ff, $85, MAX_REVIVE ; item
+	db SPRITE_BALL, $7 + 4, $7 + 4, $ff, $ff, $86, TM_47 ; item
+	db SPRITE_BOULDER, $3 + 4, $16 + 4, $ff, $10, $7 ; person
+	db SPRITE_BOULDER, $c + 4, $d + 4, $ff, $10, $8 ; person
+	db SPRITE_BOULDER, $a + 4, $18 + 4, $ff, $10, $9 ; person
+	db SPRITE_BOULDER, $f + 4, $16 + 4, $ff, $10, $a ; person
+
+	; warp-to
+	EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_2
+	EVENT_DISP $f, $8, $1a ; VICTORY_ROAD_2
+	EVENT_DISP $f, $f, $1b ; VICTORY_ROAD_2
+	EVENT_DISP $f, $0, $2 ; VICTORY_ROAD_2
+
+VictoryRoad3Blocks: ; 0x44b37 135
+	INCBIN "maps/victoryroad3.blk"
+
+RocketHideout1_h: ; 0x44bbe to 0x44bca (12 bytes) (bank=11) (id=199)
+	db $16 ; tileset
+	db ROCKET_HIDEOUT_1_HEIGHT, ROCKET_HIDEOUT_1_WIDTH ; dimensions (y, x)
+	dw RocketHideout1Blocks, RocketHideout1Texts, RocketHideout1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RocketHideout1Object ; objects
+
+RocketHideout1Script: ; 0x44bca
+	call Unknown_44be0
+	call $3c3c
+	ld hl, RocketHideout1TrainerHeaders
+	ld de, $4c0e
+	ld a, [$d631]
+	call $3160
+	ld [$d631], a
+	ret
+; 0x44be0
+
+Unknown_44be0: ; 0x44be0
+INCBIN "baserom.gbc",$44be0,$34
+
+RocketHideout1Texts: ; 0x44c14
+	dw RocketHideout1Text1, RocketHideout1Text2, RocketHideout1Text3, RocketHideout1Text4, RocketHideout1Text5, RocketHideout1Text6, RocketHideout1Text7
+
+RocketHideout1TrainerHeaders:
+TrainerHeader_44c22: ; 0x44c22
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d815 ; flag's byte
+	dw UnnamedText_44ca1 ; 0x4ca1 TextBeforeBattle
+	dw UnnamedText_44cab ; 0x4cab TextAfterBattle
+	dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle
+	dw UnnamedText_44ca6 ; 0x4ca6 TextEndBattle
+; 0x44c2e
+
+TrainerHeader_44c2e: ; 0x44c2e
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d815 ; flag's byte
+	dw UnnamedText_44cb0 ; 0x4cb0 TextBeforeBattle
+	dw UnnamedText_44cba ; 0x4cba TextAfterBattle
+	dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle
+	dw UnnamedText_44cb5 ; 0x4cb5 TextEndBattle
+; 0x44c3a
+
+TrainerHeader_44c3a: ; 0x44c3a
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d815 ; flag's byte
+	dw UnnamedText_44cbf ; 0x4cbf TextBeforeBattle
+	dw UnnamedText_44cc9 ; 0x4cc9 TextAfterBattle
+	dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle
+	dw UnnamedText_44cc4 ; 0x4cc4 TextEndBattle
+; 0x44c46
+
+TrainerHeader_44c46: ; 0x44c46
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d815 ; flag's byte
+	dw UnnamedText_44cce ; 0x4cce TextBeforeBattle
+	dw UnnamedText_44cd8 ; 0x4cd8 TextAfterBattle
+	dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle
+	dw UnnamedText_44cd3 ; 0x4cd3 TextEndBattle
+; 0x44c52
+
+TrainerHeader_44c52: ; 0x44c52
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d815 ; flag's byte
+	dw UnnamedText_44cdd ; 0x4cdd TextBeforeBattle
+	dw UnnamedText_44ce2 ; 0x4ce2 TextAfterBattle
+	dw UnnamedText_44c91 ; 0x4c91 TextEndBattle
+	dw UnnamedText_44c91 ; 0x4c91 TextEndBattle
+; 0x44c5e
+
+db $ff
+
+RocketHideout1Text1: ; 0x44c5f
+	db $08 ; asm
+	ld hl, TrainerHeader_44c22
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RocketHideout1Text2: ; 0x44c69
+	db $08 ; asm
+	ld hl, TrainerHeader_44c2e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RocketHideout1Text3: ; 0x44c73
+	db $08 ; asm
+	ld hl, TrainerHeader_44c3a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RocketHideout1Text4: ; 0x44c7d
+	db $08 ; asm
+	ld hl, TrainerHeader_44c46
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RocketHideout1Text5: ; 0x44c87
+	db $08 ; asm
+	ld hl, TrainerHeader_44c52
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_44c91: ; 0x44c91
+	TX_FAR _UnnamedText_44c91 ; 0x81f2a
+	db $8
+	ld hl, $d815
+	set 5, [hl]
+	ld hl, UnnamedText_44c9f
+	ret
+; 0x44c9f
+
+UnnamedText_44c9f: ; 0x44c9f
+	db $6, $50
+; 0x44ca1
+
+UnnamedText_44ca1: ; 0x44ca1
+	TX_FAR _UnnamedText_44ca1
+	db $50
+; 0x44ca1 + 5 bytes
+
+UnnamedText_44ca6: ; 0x44ca6
+	TX_FAR _UnnamedText_44ca6
+	db $50
+; 0x44ca6 + 5 bytes
+
+UnnamedText_44cab: ; 0x44cab
+	TX_FAR _UnnamedText_44cab
+	db $50
+; 0x44cab + 5 bytes
+
+UnnamedText_44cb0: ; 0x44cb0
+	TX_FAR _UnnamedText_44cb0
+	db $50
+; 0x44cb0 + 5 bytes
+
+UnnamedText_44cb5: ; 0x44cb5
+	TX_FAR _UnnamedText_44cb5
+	db $50
+; 0x44cb5 + 5 bytes
+
+UnnamedText_44cba: ; 0x44cba
+	TX_FAR _UnnamedText_44cba
+	db $50
+; 0x44cba + 5 bytes
+
+UnnamedText_44cbf: ; 0x44cbf
+	TX_FAR _UnnamedText_44cbf
+	db $50
+; 0x44cbf + 5 bytes
+
+UnnamedText_44cc4: ; 0x44cc4
+	TX_FAR _UnnamedText_44cc4
+	db $50
+; 0x44cc4 + 5 bytes
+
+UnnamedText_44cc9: ; 0x44cc9
+	TX_FAR _UnnamedText_44cc9
+	db $50
+; 0x44cc9 + 5 bytes
+
+UnnamedText_44cce: ; 0x44cce
+	TX_FAR _UnnamedText_44cce
+	db $50
+; 0x44cce + 5 bytes
+
+UnnamedText_44cd3: ; 0x44cd3
+	TX_FAR _UnnamedText_44cd3
+	db $50
+; 0x44cd3 + 5 bytes
+
+UnnamedText_44cd8: ; 0x44cd8
+	TX_FAR _UnnamedText_44cd8
+	db $50
+; 0x44cd8 + 5 bytes
+
+UnnamedText_44cdd: ; 0x44cdd
+	TX_FAR _UnnamedText_44cdd
+	db $50
+; 0x44cdd + 5 bytes
+
+UnnamedText_44ce2: ; 0x44ce2
+	TX_FAR _UnnamedText_44ce2
+	db $50
+; 0x44ce2 + 5 bytes
+
+RocketHideout1Object: ; 0x44ce7 (size=98)
+	db $2e ; border tile
+
+	db $5 ; warps
+	db $2, $17, $0, ROCKET_HIDEOUT_2
+	db $2, $15, $2, GAME_CORNER
+	db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR
+	db $18, $15, $3, ROCKET_HIDEOUT_2
+	db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR
+
+	db $0 ; signs
+
+	db $7 ; people
+	db SPRITE_ROCKET, $8 + 4, $1a + 4, $ff, $d2, $41, ROCKET + $C8, $8 ; trainer
+	db SPRITE_ROCKET, $6 + 4, $c + 4, $ff, $d3, $42, ROCKET + $C8, $9 ; trainer
+	db SPRITE_ROCKET, $11 + 4, $12 + 4, $ff, $d0, $43, ROCKET + $C8, $a ; trainer
+	db SPRITE_ROCKET, $19 + 4, $f + 4, $ff, $d3, $44, ROCKET + $C8, $b ; trainer
+	db SPRITE_ROCKET, $12 + 4, $1c + 4, $ff, $d2, $45, ROCKET + $C8, $c ; trainer
+	db SPRITE_BALL, $e + 4, $b + 4, $ff, $ff, $86, ESCAPE_ROPE ; item
+	db SPRITE_BALL, $11 + 4, $9 + 4, $ff, $ff, $87, HYPER_POTION ; item
+
+	; warp-to
+	EVENT_DISP $f, $2, $17 ; ROCKET_HIDEOUT_2
+	EVENT_DISP $f, $2, $15 ; GAME_CORNER
+	EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR
+	EVENT_DISP $f, $18, $15 ; ROCKET_HIDEOUT_2
+	EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR
+
+RocketHideout1Blocks: ; 0x44d49 210
+	INCBIN "maps/rockethideout1.blk"
+
+RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200)
+	db $16 ; tileset
+	db ROCKET_HIDEOUT_2_HEIGHT, ROCKET_HIDEOUT_2_WIDTH ; dimensions (y, x)
+	dw RocketHideout2Blocks, RocketHideout2Texts, RocketHideout2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RocketHideout2Object ; objects
+
+RocketHideout2Script: ; 0x44e27
+	call $3c3c
+	ld hl, RocketHideout2TrainerHeaders
+	ld de, RocketHideout2_Unknown44e3a
+	ld a, [$d632]
+	call $3160
+	ld [$d632], a
+	ret
+; 0x44e3a
+
+RocketHideout2_Unknown44e3a: ; 0x44ea
+INCBIN "baserom.gbc",$44e3a,$28d
+
+RocketHideout2Texts: ; 0x450c7
+	dw RocketHideout2Text1, RocketHideout2Text2, RocketHideout2Text3, RocketHideout2Text4, RocketHideout2Text5
+
+RocketHideout2TrainerHeaders:
+TrainerHeader_450d1: ; 0x450d1
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d817 ; flag's byte
+	dw UnnamedText_450e8 ; 0x50e8 TextBeforeBattle
+	dw UnnamedText_450f2 ; 0x50f2 TextAfterBattle
+	dw UnnamedText_450ed ; 0x50ed TextEndBattle
+	dw UnnamedText_450ed ; 0x50ed TextEndBattle
+; 0x450dd
+
+db $ff
+
+RocketHideout2Text1: ; 0x450de
+	db $08 ; asm
+	ld hl, TrainerHeader_450d1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_450e8: ; 0x450e8
+	TX_FAR _UnnamedText_450e8
+	db $50
+; 0x450e8 + 5 bytes
+
+UnnamedText_450ed: ; 0x450ed
+	TX_FAR _UnnamedText_450ed
+	db $50
+; 0x450ed + 5 bytes
+
+UnnamedText_450f2: ; 0x450f2
+	TX_FAR _UnnamedText_450f2
+	db $50
+; 0x450f2 + 5 bytes
+
+RocketHideout2Object: ; 0x450f7 (size=80)
+	db $2e ; border tile
+
+	db $5 ; warps
+	db $8, $1b, $0, ROCKET_HIDEOUT_1
+	db $8, $15, $0, ROCKET_HIDEOUT_3
+	db $13, $18, $0, ROCKET_HIDEOUT_ELEVATOR
+	db $16, $15, $3, ROCKET_HIDEOUT_1
+	db $13, $19, $1, ROCKET_HIDEOUT_ELEVATOR
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_ROCKET, $c + 4, $14 + 4, $ff, $d0, $41, ROCKET + $C8, $d ; trainer
+	db SPRITE_BALL, $b + 4, $1 + 4, $ff, $ff, $82, MOON_STONE ; item
+	db SPRITE_BALL, $8 + 4, $10 + 4, $ff, $ff, $83, NUGGET ; item
+	db SPRITE_BALL, $c + 4, $6 + 4, $ff, $ff, $84, TM_07 ; item
+	db SPRITE_BALL, $15 + 4, $3 + 4, $ff, $ff, $85, SUPER_POTION ; item
+
+	; warp-to
+	EVENT_DISP $f, $8, $1b ; ROCKET_HIDEOUT_1
+	EVENT_DISP $f, $8, $15 ; ROCKET_HIDEOUT_3
+	EVENT_DISP $f, $13, $18 ; ROCKET_HIDEOUT_ELEVATOR
+	EVENT_DISP $f, $16, $15 ; ROCKET_HIDEOUT_1
+	EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR
+
+RocketHideout2Blocks: ; 0x45147 210
+	INCBIN "maps/rockethideout2.blk"
+
+RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201)
+	db $16 ; tileset
+	db ROCKET_HIDEOUT_3_HEIGHT, ROCKET_HIDEOUT_3_WIDTH ; dimensions (y, x)
+	dw RocketHideout3Blocks, RocketHideout3Texts, RocketHideout3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RocketHideout3Object ; objects
+
+RocketHideout3Script: ; 0x45225
+	call $3c3c
+	ld hl, RocketHideout3TrainerHeaders
+	ld de, RocketHideout3Script_Unknown45238
+	ld a, [$d633]
+	call $3160
+	ld [$d633], a
+	ret
+; 0x45238
+
+RocketHideout3Script_Unknown45238: ; 0x45238
+INCBIN "baserom.gbc",$45238,$c2
+
+RocketHideout3Texts: ; 0x452fa
+	dw RocketHideout3Text1, RocketHideout3Text2, RocketHideout3Text3, RocketHideout3Text4
+
+RocketHideout3TrainerHeaders:
+TrainerHeader_45302: ; 0x45302
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d819 ; flag's byte
+	dw UnnamedText_45325 ; 0x5325 TextBeforeBattle
+	dw UnnamedText_4532f ; 0x532f TextAfterBattle
+	dw UnnamedText_4532a ; 0x532a TextEndBattle
+	dw UnnamedText_4532a ; 0x532a TextEndBattle
+; 0x4530e
+
+TrainerHeader_4530e: ; 0x4530e
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d819 ; flag's byte
+	dw UnnamedText_4533e ; 0x533e TextBeforeBattle
+	dw UnnamedText_45348 ; 0x5348 TextAfterBattle
+	dw UnnamedText_45343 ; 0x5343 TextEndBattle
+	dw UnnamedText_45343 ; 0x5343 TextEndBattle
+; 0x4531a
+
+db $ff
+
+RocketHideout3Text1: ; 0x4531b
+	db $08 ; asm
+	ld hl, TrainerHeader_45302
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_45325: ; 0x45325
+	TX_FAR _UnnamedText_45325
+	db $50
+; 0x45325 + 5 bytes
+
+UnnamedText_4532a: ; 0x4532a
+	TX_FAR _UnnamedText_4532a
+	db $50
+; 0x4532a + 5 bytes
+
+UnnamedText_4532f: ; 0x4532f
+	TX_FAR _UnnamedText_4532f
+	db $50
+; 0x4532f + 5 bytes
+
+RocketHideout3Text2: ; 0x45334
+	db $08 ; asm
+	ld hl, TrainerHeader_4530e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_4533e: ; 0x4533e
+	TX_FAR _UnnamedText_4533e
+	db $50
+; 0x4533e + 5 bytes
+
+UnnamedText_45343: ; 0x45343
+	TX_FAR _UnnamedText_45343
+	db $50
+; 0x45343 + 5 bytes
+
+UnnamedText_45348: ; 0x45348
+	TX_FAR _UnnamedText_45348
+	db $50
+; 0x45348 + 5 bytes
+
+RocketHideout3Object: ; 0x4534d (size=50)
+	db $2e ; border tile
+
+	db $2 ; warps
+	db $6, $19, $1, ROCKET_HIDEOUT_2
+	db $12, $13, $0, ROCKET_HIDEOUT_4
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_ROCKET, $16 + 4, $a + 4, $ff, $d3, $41, ROCKET + $C8, $e ; trainer
+	db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d1, $42, ROCKET + $C8, $f ; trainer
+	db SPRITE_BALL, $11 + 4, $1a + 4, $ff, $ff, $83, TM_10 ; item
+	db SPRITE_BALL, $e + 4, $14 + 4, $ff, $ff, $84, RARE_CANDY ; item
+
+	; warp-to
+	EVENT_DISP $f, $6, $19 ; ROCKET_HIDEOUT_2
+	EVENT_DISP $f, $12, $13 ; ROCKET_HIDEOUT_4
+
+RocketHideout3Blocks: ; 0x4537f 210
+	INCBIN "maps/rockethideout3.blk"
+
+RocketHideout4_h: ; 0x45451 to 0x4545d (12 bytes) (bank=11) (id=202)
+	db $16 ; tileset
+	db ROCKET_HIDEOUT_4_HEIGHT, ROCKET_HIDEOUT_4_WIDTH ; dimensions (y, x)
+	dw RocketHideout4Blocks, RocketHideout4Texts, RocketHideout4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RocketHideout4Object ; objects
+
+RocketHideout4Script: ; 0x4545d
+	call Unnamed_45473
+	call $3c3c
+	ld hl, TrainerHeader_45515
+	ld de, $54ae
+	ld a, [$d634]
+	call $3160
+	ld [$d634], a
+	ret
+; 0x45473
+
+Unnamed_45473: ; 0x45473
+INCBIN "baserom.gbc",$45473,$8e
+
+RocketHideout4Texts: ; 0x45501
+	dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, RocketHideout4Text5, RocketHideout4Text6, RocketHideout4Text7, RocketHideout4Text8, RocketHideout4Text9, RocketHideout4Text10
+
+RocketHideout4TrainerHeaders:
+TrainerHeader_45515: ; 0x45515
+	db $2 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d81b ; flag's byte
+	dw UnnamedText_45593 ; 0x5593 TextBeforeBattle
+	dw UnnamedText_4559d ; 0x559d TextAfterBattle
+	dw UnnamedText_45598 ; 0x5598 TextEndBattle
+	dw UnnamedText_45598 ; 0x5598 TextEndBattle
+; 0x45521
+
+TrainerHeader_45521: ; 0x45521
+	db $3 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d81b ; flag's byte
+	dw UnnamedText_455ac ; 0x55ac TextBeforeBattle
+	dw UnnamedText_455b6 ; 0x55b6 TextAfterBattle
+	dw UnnamedText_455b1 ; 0x55b1 TextEndBattle
+	dw UnnamedText_455b1 ; 0x55b1 TextEndBattle
+; 0x4552d
+
+TrainerHeader_4552d: ; 0x4552d
+	db $4 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d81b ; flag's byte
+	dw UnnamedText_455c5 ; 0x55c5 TextBeforeBattle
+	dw UnknownText_455cf ; 0x55cf TextAfterBattle
+	dw UnnamedText_455ca ; 0x55ca TextEndBattle
+	dw UnnamedText_455ca ; 0x55ca TextEndBattle
+; 0x45539
+
+db $ff
+
+RocketHideout4Text1: ; 0x4553a
+	db $08 ; asm
+	ld a, [$d81b]
+	bit 7, a
+	jp nz, $5571
+	ld hl, UnnamedText_4557a
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_4557f
+	ld de, $557f ; probably UnnamedText_4557f
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	xor a
+	ldh [$b4], a
+	ld a, $3
+	ld [$d634], a
+	ld [$da39], a
+	jr .asm_209f0 ; 0x4556f
+	ld hl, RocketHideout4Text10
+	call PrintText
+.asm_209f0 ; 0x45577
+	jp TextScriptEnd
+
+UnnamedText_4557a: ; 0x4557a
+	TX_FAR _UnnamedText_4557a
+	db $50
+; 0x4557a + 5 bytes
+
+UnnamedText_4557f: ; 0x4557f
+	TX_FAR _UnnamedText_4557f
+	db $50
+; 0x4557f + 5 bytes
+
+RocketHideout4Text10: ; 0x45584
+	TX_FAR _UnnamedText_45584
+	db $50
+; 0x45584 + 5 bytes
+
+RocketHideout4Text2: ; 0x45589
+	db $08 ; asm
+	ld hl, TrainerHeader_45515
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_45593: ; 0x45593
+	TX_FAR _UnnamedText_45593
+	db $50
+; 0x45593 + 5 bytes
+
+UnnamedText_45598: ; 0x45598
+	TX_FAR _UnnamedText_45598
+	db $50
+; 0x45598 + 5 bytes
+
+UnnamedText_4559d: ; 0x4559d
+	TX_FAR _UnnamedText_4559d
+	db $50
+; 0x4559d + 5 bytes
+
+RocketHideout4Text3: ; 0x455a2
+	db $08 ; asm
+	ld hl, TrainerHeader_45521
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_455ac: ; 0x455ac
+	TX_FAR _UnnamedText_455ac
+	db $50
+; 0x455ac + 5 bytes
+
+UnnamedText_455b1: ; 0x455b1
+	TX_FAR _UnnamedText_455b1
+	db $50
+; 0x455b1 + 5 bytes
+
+UnnamedText_455b6: ; 0x455b6
+	TX_FAR _UnnamedText_455b6
+	db $50
+; 0x455b6 + 5 bytes
+
+RocketHideout4Text4: ; 0x455bb
+	db $08 ; asm
+	ld hl, TrainerHeader_4552d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_455c5: ; 0x455c5
+	TX_FAR _UnnamedText_455c5
+	db $50
+; 0x455c5 + 5 bytes
+
+UnnamedText_455ca: ; 0x455ca
+	TX_FAR _UnnamedText_455ca
+	db $50
+; 0x455ca + 5 bytes
+
+UnknownText_455cf: ; 0x455cf
+	db $8
+	ld hl, $55ec
+	call PrintText
+	ld hl, $d81b
+	bit 6, [hl]
+	set 6, [hl]
+	jr nz, .asm_455e9 ; 0x455dd $a
+	ld a, $88
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+.asm_455e9
+	jp TextScriptEnd
+; 0x455ec
+
+UnnamedText_455ec: ; 0x455ec
+	TX_FAR _UnnamedText_455ec
+	db $50
+; 0x455ec + 5 bytes
+
+RocketHideout4Object: ; 0x455f1 (size=95)
+	db $2e ; border tile
+
+	db $3 ; warps
+	db $a, $13, $1, ROCKET_HIDEOUT_3
+	db $f, $18, $0, ROCKET_HIDEOUT_ELEVATOR
+	db $f, $19, $1, ROCKET_HIDEOUT_ELEVATOR
+
+	db $0 ; signs
+
+	db $9 ; people
+	db SPRITE_GIOVANNI, $3 + 4, $19 + 4, $ff, $d0, $41, GIOVANNI + $C8, $1 ; trainer
+	db SPRITE_ROCKET, $c + 4, $17 + 4, $ff, $d0, $42, ROCKET + $C8, $10 ; trainer
+	db SPRITE_ROCKET, $c + 4, $1a + 4, $ff, $d0, $43, ROCKET + $C8, $11 ; trainer
+	db SPRITE_ROCKET, $2 + 4, $b + 4, $ff, $d0, $44, ROCKET + $C8, $12 ; trainer
+	db SPRITE_BALL, $c + 4, $a + 4, $ff, $ff, $85, HP_UP ; item
+	db SPRITE_BALL, $4 + 4, $9 + 4, $ff, $ff, $86, TM_02 ; item
+	db SPRITE_BALL, $14 + 4, $c + 4, $ff, $ff, $87, IRON ; item
+	db SPRITE_BALL, $2 + 4, $19 + 4, $ff, $ff, $88, SILPH_SCOPE ; item
+	db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $89, LIFT_KEY ; item
+
+	; warp-to
+	EVENT_DISP $f, $a, $13 ; ROCKET_HIDEOUT_3
+	EVENT_DISP $f, $f, $18 ; ROCKET_HIDEOUT_ELEVATOR
+	EVENT_DISP $f, $f, $19 ; ROCKET_HIDEOUT_ELEVATOR
+
+RocketHideout4Blocks: ; 0x45650 180
+	INCBIN "maps/rockethideout4.blk"
+
+RocketHideoutElevator_h: ; 0x45704 to 0x45710 (12 bytes) (bank=11) (id=203)
+	db $12 ; tileset
+	db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x)
+	dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTexts, RocketHideoutElevatorScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RocketHideoutElevatorObject ; objects
+
+RocketHideoutElevatorScript: ; 0x45710
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, RocketHideoutElevatorScript_Unknown4572c
+	pop hl
+	bit 7, [hl]
+	res 7, [hl]
+	call nz, $575f
+	xor a
+	ld [$cf0c], a
+	inc a
+	ld [$cc3c], a
+	ret
+; 0x4572c
+
+RocketHideoutElevatorScript_Unknown4572c: ; 0x4572c
+INCBIN "baserom.gbc",$4572c,$3f
+
+RocketHideoutElevatorTexts: ; 0x4576b
+	dw RocketHideoutElevatorText1
+
+RocketHideoutElevatorText1: ; 0x4576d
+	db $08 ; asm
+	ld b, LIFT_KEY
+	call $3493
+	jr z, .asm_8d8f0 ; 0x45773
+	call $5741
+	ld hl, $5759
+	ld a, $61
+	call Predef
+	jr .asm_46c43 ; 0x45780
+.asm_8d8f0 ; 0x45782
+	ld hl, UnnamedText_4578b
+	call PrintText
+.asm_46c43 ; 0x45788
+	jp TextScriptEnd
+
+UnnamedText_4578b: ; 0x4578b
+	TX_FAR _UnnamedText_4578b ; 0x82438
+	db $d, $50
+
+RocketHideoutElevatorObject: ; 0x45791 (size=23)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $1, $2, $2, ROCKET_HIDEOUT_1
+	db $1, $3, $4, ROCKET_HIDEOUT_1
+
+	db $1 ; signs
+	db $1, $1, $1 ; RocketHideoutElevatorText1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $3, $1, $2 ; ROCKET_HIDEOUT_1
+	EVENT_DISP $3, $1, $3 ; ROCKET_HIDEOUT_1
+
+RocketHideoutElevatorBlocks: ; 0x457a8 12
+	INCBIN "maps/rockethideoutelevator.blk"
+
+SilphCoElevator_h: ; 0x457b4 to 0x457c0 (12 bytes) (bank=11) (id=236)
+	db $12 ; tileset
+	db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x)
+	dw SilphCoElevatorBlocks, SilphCoElevatorTexts, SilphCoElevatorScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCoElevatorObject ; objects
+
+SilphCoElevatorScript: ; 0x457c0
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, SilphCoElevatorScript_Unknown457dc
+	pop hl
+	bit 7, [hl]
+	res 7, [hl]
+	call nz, $5827
+	xor a
+	ld [$cf0c], a
+	inc a
+	ld [$cc3c], a
+	ret
+; 0x457dc
+
+SilphCoElevatorScript_Unknown457dc: ; 0x457dc
+INCBIN "baserom.gbc",$457dc,$57
+
+SilphCoElevatorTexts: ; 0x45833
+	dw SilphCoElevatorText1
+
+SilphCoElevatorText1: ; 0x45835
+	db $08 ; asm
+	call $57f1
+	ld hl, $5811
+	ld a, $61
+	call Predef
+	jp TextScriptEnd
+
+SilphCoElevatorObject: ; 0x45844 (size=23)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $3, $1, $0, $ed
+	db $3, $2, $0, $ed
+
+	db $1 ; signs
+	db $0, $3, $1 ; SilphCoElevatorText1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $2, $3, $1
+	EVENT_DISP $2, $3, $2
+
+SilphCoElevatorBlocks: ; 0x4585b 4
+	INCBIN "maps/silphcoelevator.blk"
+
+SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217)
+	db $03 ; tileset
+	db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x)
+	dw SafariZoneEastBlocks, SafariZoneEastTexts, SafariZoneEastScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneEastObject ; objects
+
+SafariZoneEastScript: ; 0x4586b
+	jp $3c3c
+; 0x4586e
+
+SafariZoneEastTexts: ; 0x4586e
+	dw SafariZoneEastText1, SafariZoneEastText2, SafariZoneEastText3, SafariZoneEastText4, SafariZoneEastText5, SafariZoneEastText6, SafariZoneEastText7
+
+SafariZoneEastText5: ; 0x4587c
+	TX_FAR _SafariZoneEastText5
+	db $50
+
+SafariZoneEastText6: ; 0x45881
+	TX_FAR _SafariZoneEastText6
+	db $50
+
+SafariZoneEastText7: ; 0x45886
+	TX_FAR _SafariZoneEastText7
+	db $50
+
+SafariZoneEastObject: ; 0x4588b (size=81)
+	db $0 ; border tile
+
+	db $5 ; warps
+	db $4, $0, $6, SAFARI_ZONE_NORTH
+	db $5, $0, $7, SAFARI_ZONE_NORTH
+	db $16, $0, $6, SAFARI_ZONE_CENTER
+	db $17, $0, $6, SAFARI_ZONE_CENTER
+	db $9, $19, $0, SAFARI_ZONE_REST_HOUSE_3
+
+	db $3 ; signs
+	db $a, $1a, $5 ; SafariZoneEastText5
+	db $4, $6, $6 ; SafariZoneEastText6
+	db $17, $5, $7 ; SafariZoneEastText7
+
+	db $4 ; people
+	db SPRITE_BALL, $a + 4, $15 + 4, $ff, $ff, $81, FULL_RESTORE ; item
+	db SPRITE_BALL, $7 + 4, $3 + 4, $ff, $ff, $82, MAX_POTION ; item
+	db SPRITE_BALL, $d + 4, $14 + 4, $ff, $ff, $83, CARBOS ; item
+	db SPRITE_BALL, $c + 4, $f + 4, $ff, $ff, $84, TM_37 ; item
+
+	; warp-to
+	EVENT_DISP $f, $4, $0 ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $5, $0 ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $16, $0 ; SAFARI_ZONE_CENTER
+	EVENT_DISP $f, $17, $0 ; SAFARI_ZONE_CENTER
+	EVENT_DISP $f, $9, $19 ; SAFARI_ZONE_REST_HOUSE_3
+
+SafariZoneEastBlocks: ; 0x458dc 195
+	INCBIN "maps/safarizoneeast.blk"
+
+SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218)
+	db $03 ; tileset
+	db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x)
+	dw SafariZoneNorthBlocks, SafariZoneNorthTexts, SafariZoneNorthScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneNorthObject ; objects
+
+SafariZoneNorthScript: ; 0x459ab
+	jp $3c3c
+; 0x459ae
+
+SafariZoneNorthTexts: ; 0x459ae
+	dw SafariZoneNorthText1, SafariZoneNorthText2, SafariZoneNorthText3, SafariZoneNorthText4, SafariZoneNorthText5, SafariZoneNorthText6, SafariZoneNorthText7
+
+SafariZoneNorthText3: ; 0x459bc
+	TX_FAR _SafariZoneNorthText3
+	db $50
+
+SafariZoneNorthText4: ; 0x459c1
+	TX_FAR _SafariZoneNorthText4
+	db $50
+
+SafariZoneNorthText5: ; 0x459c6
+	TX_FAR _SafariZoneNorthText5
+	db $50
+
+SafariZoneNorthText6: ; 0x459cb
+	TX_FAR _SafariZoneNorthText6
+	db $50
+
+SafariZoneNorthText7: ; 0x459d0
+	TX_FAR _SafariZoneNorthText7
+	db $50
+
+SafariZoneNorthObject: ; 0x459d5 (size=105)
+	db $0 ; border tile
+
+	db $9 ; warps
+	db $23, $2, $0, SAFARI_ZONE_WEST
+	db $23, $3, $1, SAFARI_ZONE_WEST
+	db $23, $8, $2, SAFARI_ZONE_WEST
+	db $23, $9, $3, SAFARI_ZONE_WEST
+	db $23, $14, $4, SAFARI_ZONE_CENTER
+	db $23, $15, $5, SAFARI_ZONE_CENTER
+	db $1e, $27, $0, SAFARI_ZONE_EAST
+	db $1f, $27, $1, SAFARI_ZONE_EAST
+	db $3, $23, $0, SAFARI_ZONE_REST_HOUSE_4
+
+	db $5 ; signs
+	db $4, $24, $3 ; SafariZoneNorthText3
+	db $19, $4, $4 ; SafariZoneNorthText4
+	db $1f, $d, $5 ; SafariZoneNorthText5
+	db $21, $13, $6 ; SafariZoneNorthText6
+	db $1c, $1a, $7 ; SafariZoneNorthText7
+
+	db $2 ; people
+	db SPRITE_BALL, $1 + 4, $19 + 4, $ff, $ff, $81, PROTEIN ; item
+	db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $82, TM_40 ; item
+
+	; warp-to
+	EVENT_DISP $14, $23, $2 ; SAFARI_ZONE_WEST
+	EVENT_DISP $14, $23, $3 ; SAFARI_ZONE_WEST
+	EVENT_DISP $14, $23, $8 ; SAFARI_ZONE_WEST
+	EVENT_DISP $14, $23, $9 ; SAFARI_ZONE_WEST
+	EVENT_DISP $14, $23, $14 ; SAFARI_ZONE_CENTER
+	EVENT_DISP $14, $23, $15 ; SAFARI_ZONE_CENTER
+	EVENT_DISP $14, $1e, $27 ; SAFARI_ZONE_EAST
+	EVENT_DISP $14, $1f, $27 ; SAFARI_ZONE_EAST
+	EVENT_DISP $14, $3, $23 ; SAFARI_ZONE_REST_HOUSE_4
+
+SafariZoneNorthBlocks: ; 0x45a3e 360
+	INCBIN "maps/safarizonenorth.blk"
+
+SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220)
+	db $03 ; tileset
+	db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x)
+	dw SafariZoneCenterBlocks, SafariZoneCenterTexts, SafariZoneCenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneCenterObject ; objects
+
+SafariZoneCenterScript: ; 0x45bb2
+	jp $3c3c
+; 0x45bb5
+
+SafariZoneCenterTexts: ; 0x45bb5
+	dw SafariZoneCenterText1, SafariZoneCenterText2, SafariZoneCenterText3
+
+SafariZoneCenterText2: ; 0x45bbb
+	TX_FAR _SafariZoneCenterText2
+	db $50
+
+SafariZoneCenterText3: ; 0x45bc0
+	TX_FAR _SafariZoneCenterText3
+	db $50
+
+SafariZoneCenterObject: ; 0x45bc5 (size=89)
+	db $0 ; border tile
+
+	db $9 ; warps
+	db $19, $e, $2, SAFARIZONEENTRANCE
+	db $19, $f, $3, SAFARIZONEENTRANCE
+	db $a, $0, $4, SAFARI_ZONE_WEST
+	db $b, $0, $5, SAFARI_ZONE_WEST
+	db $0, $e, $4, SAFARI_ZONE_NORTH
+	db $0, $f, $5, SAFARI_ZONE_NORTH
+	db $a, $1d, $2, SAFARI_ZONE_EAST
+	db $b, $1d, $3, SAFARI_ZONE_EAST
+	db $13, $11, $0, SAFARI_ZONE_REST_HOUSE_1
+
+	db $2 ; signs
+	db $14, $12, $2 ; SafariZoneCenterText2
+	db $16, $e, $3 ; SafariZoneCenterText3
+
+	db $1 ; people
+	db SPRITE_BALL, $a + 4, $e + 4, $ff, $ff, $81, NUGGET ; item
+
+	; warp-to
+	EVENT_DISP $f, $19, $e ; SAFARIZONEENTRANCE
+	EVENT_DISP $f, $19, $f ; SAFARIZONEENTRANCE
+	EVENT_DISP $f, $a, $0 ; SAFARI_ZONE_WEST
+	EVENT_DISP $f, $b, $0 ; SAFARI_ZONE_WEST
+	EVENT_DISP $f, $0, $e ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $0, $f ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $a, $1d ; SAFARI_ZONE_EAST
+	EVENT_DISP $f, $b, $1d ; SAFARI_ZONE_EAST
+	EVENT_DISP $f, $13, $11 ; SAFARI_ZONE_REST_HOUSE_1
+
+SafariZoneCenterBlocks: ; 0x45c1e 195
+	INCBIN "maps/safarizonecenter.blk"
+
+SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221)
+	db $0c ; tileset
+	db SAFARI_ZONE_REST_HOUSE_1_HEIGHT, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; dimensions (y, x)
+	dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1Texts, SafariZoneRestHouse1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneRestHouse1Object ; objects
+
+SafariZoneRestHouse1Script: ; 0x45ced
+	jp $3c3c
+; 0x45cf0
+
+SafariZoneRestHouse1Texts: ; 0x45cf0
+	dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2
+
+SafariZoneRestHouse1Text1: ; 0x45cf4
+	TX_FAR _SafariZoneRestHouse1Text1
+	db $50
+
+SafariZoneRestHouse1Text2: ; 0x45cf9
+	TX_FAR _SafariZoneRestHouse1Text2
+	db $50
+
+SafariZoneRestHouse1Object: ; 0x45cfe (size=32)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $8, SAFARI_ZONE_CENTER
+	db $7, $3, $8, SAFARI_ZONE_CENTER
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_GIRL, $2 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $fe, $1, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_CENTER
+	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_CENTER
+
+SafariZoneRestHouse2_h: ; 0x45d1e to 0x45d2a (12 bytes) (bank=11) (id=223)
+	db $0c ; tileset
+	db SAFARI_ZONE_REST_HOUSE_2_HEIGHT, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw $40fb, SafariZoneRestHouse2Texts, SafariZoneRestHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneRestHouse2Object ; objects
+
+SafariZoneRestHouse2Script: ; 0x45d2a
+	call $3c3c
+	ret
+; 0x45d2e
+
+SafariZoneRestHouse2Texts: ; 0x45d2e
+	dw SafariZoneRestHouse2Text1, SafariZoneRestHouse2Text2, SafariZoneRestHouse2Text3
+
+SafariZoneRestHouse2Text1: ; 0x45d34
+	TX_FAR _SafariZoneRestHouse2Text1
+	db $50
+
+SafariZoneRestHouse2Text2: ; 0x45d39
+	TX_FAR _SafariZoneRestHouse2Text2
+	db $50
+
+SafariZoneRestHouse2Text3: ; 0x45d3e
+	TX_FAR _SafariZoneRestHouse2Text3
+	db $50
+
+SafariZoneRestHouse2Object: ; 0x45d43 (size=38)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $7, SAFARI_ZONE_WEST
+	db $7, $3, $7, SAFARI_ZONE_WEST
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_OAK_AIDE, $4 + 4, $4 + 4, $fe, $0, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $0 + 4, $ff, $d3, $2 ; person
+	db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $d0, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST
+	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST
+
+SafariZoneRestHouse3_h: ; 0x45d69 to 0x45d75 (12 bytes) (bank=11) (id=224)
+	db $0c ; tileset
+	db SAFARI_ZONE_REST_HOUSE_3_HEIGHT, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; dimensions (y, x)
+	dw $40fb, SafariZoneRestHouse3Texts, SafariZoneRestHouse3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneRestHouse3Object ; objects
+
+SafariZoneRestHouse3Script: ; 0x45d75
+	call $3c3c
+	ret
+; 0x45d79
+
+SafariZoneRestHouse3Texts: ; 0x45d79
+	dw SafariZoneRestHouse3Text1, SafariZoneRestHouse3Text2, SafariZoneRestHouse3Text3
+
+SafariZoneRestHouse3Text1: ; 0x45d7f
+	TX_FAR _SafariZoneRestHouse3Text1
+	db $50
+
+SafariZoneRestHouse3Text2: ; 0x45d84
+	TX_FAR _SafariZoneRestHouse3Text2
+	db $50
+
+SafariZoneRestHouse3Text3: ; 0x45d89
+	TX_FAR _SafariZoneRestHouse3Text3
+	db $50
+
+SafariZoneRestHouse3Object: ; 0x45d8e (size=38)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $4, SAFARI_ZONE_EAST
+	db $7, $3, $4, SAFARI_ZONE_EAST
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_OAK_AIDE, $3 + 4, $1 + 4, $fe, $1, $1 ; person
+	db SPRITE_ROCKER, $2 + 4, $4 + 4, $ff, $ff, $2 ; person
+	db SPRITE_LAPRAS_GIVER, $2 + 4, $5 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_EAST
+	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_EAST
+
+SafariZoneRestHouse4_h: ; 0x45db4 to 0x45dc0 (12 bytes) (bank=11) (id=225)
+	db $0c ; tileset
+	db SAFARI_ZONE_REST_HOUSE_4_HEIGHT, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; dimensions (y, x)
+	dw $40fb, SafariZoneRestHouse4Texts, SafariZoneRestHouse4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneRestHouse4Object ; objects
+
+SafariZoneRestHouse4Script: ; 0x45dc0
+	call $3c3c
+	ret
+; 0x45dc4
+
+SafariZoneRestHouse4Texts: ; 0x45dc4
+	dw SafariZoneRestHouse4Text1, SafariZoneRestHouse4Text2, SafariZoneRestHouse4Text3
+
+SafariZoneRestHouse4Text1: ; 0x45dca
+	TX_FAR _SafariZoneRestHouse4Text1
+	db $50
+
+SafariZoneRestHouse4Text2: ; 0x45dcf
+	TX_FAR _SafariZoneRestHouse4Text2
+	db $50
+
+SafariZoneRestHouse4Text3: ; 0x45dd4
+	TX_FAR _SafariZoneRestHouse4Text3
+	db $50
+
+SafariZoneRestHouse4Object: ; 0x45dd9 (size=38)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $8, SAFARI_ZONE_NORTH
+	db $7, $3, $8, SAFARI_ZONE_NORTH
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_OAK_AIDE, $3 + 4, $6 + 4, $fe, $2, $1 ; person
+	db SPRITE_WHITE_PLAYER, $4 + 4, $3 + 4, $ff, $ff, $2 ; person
+	db SPRITE_GENTLEMAN, $5 + 4, $1 + 4, $fe, $1, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_NORTH
+	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_NORTH
+
+UnknownDungeon2_h: ; 0x45dff to 0x45e0b (12 bytes) (bank=11) (id=226)
+	db $11 ; tileset
+	db UNKNOWN_DUNGEON_2_HEIGHT, UNKNOWN_DUNGEON_2_WIDTH ; dimensions (y, x)
+	dw UnknownDungeon2Blocks, UnknownDungeon2Texts, UnknownDungeon2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UnknownDungeon2Object ; objects
+
+UnknownDungeon2Script: ; 0x45e0b
+	jp $3c3c
+; 0x45e0e
+
+UnknownDungeon2Texts: ; 0x45e0e
+	dw UnknownDungeon2Text1, UnknownDungeon2Text2, UnknownDungeon2Text3
+
+UnknownDungeon2Object: ; 0x45e14 (size=73)
+	db $7d ; border tile
+
+	db $6 ; warps
+	db $1, $1d, $2, UNKNOWN_DUNGEON_1
+	db $6, $16, $3, UNKNOWN_DUNGEON_1
+	db $7, $13, $4, UNKNOWN_DUNGEON_1
+	db $1, $9, $5, UNKNOWN_DUNGEON_1
+	db $3, $1, $6, UNKNOWN_DUNGEON_1
+	db $b, $3, $7, UNKNOWN_DUNGEON_1
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_BALL, $9 + 4, $1d + 4, $ff, $ff, $81, PP_UP ; item
+	db SPRITE_BALL, $f + 4, $4 + 4, $ff, $ff, $82, ULTRA_BALL ; item
+	db SPRITE_BALL, $6 + 4, $d + 4, $ff, $ff, $83, FULL_RESTORE ; item
+
+	; warp-to
+	EVENT_DISP $f, $1, $1d ; UNKNOWN_DUNGEON_1
+	EVENT_DISP $f, $6, $16 ; UNKNOWN_DUNGEON_1
+	EVENT_DISP $f, $7, $13 ; UNKNOWN_DUNGEON_1
+	EVENT_DISP $f, $1, $9 ; UNKNOWN_DUNGEON_1
+	EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_1
+	EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_1
+
+UnknownDungeon2Blocks: ; 0x45e5d 135
+	INCBIN "maps/unknowndungeon2.blk"
+
+UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227)
+	db $11 ; tileset
+	db UNKNOWN_DUNGEON_3_HEIGHT, UNKNOWN_DUNGEON_3_WIDTH ; dimensions (y, x)
+	dw UnknownDungeon3Blocks, UnknownDungeon3Texts, UnknownDungeon3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UnknownDungeon3Object ; objects
+
+UnknownDungeon3Script: ; 0x45ef0
+	call $3c3c
+	ld hl, UnknownDungeon3TrainerHeaders
+	ld de, UnknownDungeon3Script_Unknown45f03
+	ld a, [$d650]
+	call $3160
+	ld [$d650], a
+	ret
+; 0x45f03
+
+UnknownDungeon3Script_Unknown45f03: ; 0x45f03
+INCBIN "baserom.gbc",$45f03,$6
+
+UnknownDungeon3Texts: ; 0x45f09
+	dw UnknownDungeon3Text1, UnknownDungeon3Text2, UnknownDungeon3Text3
+
+UnknownDungeon3TrainerHeaders:
+TrainerHeader_45f0f: ; 0x45f0f
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d85f ; flag's byte
+	dw UnnamedText_45f26 ; 0x5f26 TextBeforeBattle
+	dw UnnamedText_45f26 ; 0x5f26 TextAfterBattle
+	dw UnnamedText_45f26 ; 0x5f26 TextEndBattle
+	dw UnnamedText_45f26 ; 0x5f26 TextEndBattle
+; 0x45f1b
+
+db $ff
+
+UnknownDungeon3Text1: ; 0x45f1c
+	db $08 ; asm
+	ld hl, TrainerHeader_45f0f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_45f26: ; 0x45f26
+	TX_FAR _UnnamedText_45f26 ; 0x85c72
+	db $8
+	ld a, $83
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+; 0x45f36
+
+UnknownDungeon3Object: ; 0x45f36 (size=34)
+	db $7d ; border tile
+
+	db $1 ; warps
+	db $6, $3, $8, UNKNOWN_DUNGEON_1
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_SLOWBRO, $d + 4, $1b + 4, $ff, $d0, $41, MEWTWO, $46 ; trainer
+	db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $82, ULTRA_BALL ; item
+	db SPRITE_BALL, $1 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item
+
+	; warp-to
+	EVENT_DISP $f, $6, $3 ; UNKNOWN_DUNGEON_1
+
+UnknownDungeon3Blocks: ; 0x45f58 135
+	INCBIN "maps/unknowndungeon3.blk"
+
+RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232)
+	db $11 ; tileset
+	db ROCK_TUNNEL_2_HEIGHT, ROCK_TUNNEL_2_WIDTH ; dimensions (y, x)
+	dw RockTunnel2Blocks, RockTunnel2Texts, RockTunnel2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RockTunnel2Object ; objects
+
+RockTunnel2Script: ; 0x45feb
+	call $3c3c
+	ld hl, RockTunnel2TrainerHeaders
+	ld de, RockTunnel2Script_Unknown45ffe
+	ld a, [$d620]
+	call $3160
+	ld [$d620], a
+	ret
+; 0x45ffe
+
+RockTunnel2Script_Unknown45ffe: ; 0x45ffe
+INCBIN "baserom.gbc",$45ffe,$6
+
+RockTunnel2Texts: ; 0x46004
+	dw RockTunnel2Text1, RockTunnel2Text2, RockTunnel2Text3, RockTunnel2Text4, RockTunnel2Text5, RockTunnel2Text6, RockTunnel2Text7, RockTunnel2Text8
+
+RockTunnel2TrainerHeaders:
+TrainerHeader_46014: ; 0x46014
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_460c5 ; 0x60c5 TextBeforeBattle
+	dw UnnamedText_460cf ; 0x60cf TextAfterBattle
+	dw UnnamedText_460ca ; 0x60ca TextEndBattle
+	dw UnnamedText_460ca ; 0x60ca TextEndBattle
+; 0x46020
+
+TrainerHeader_46020: ; 0x46020
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_460d4 ; 0x60d4 TextBeforeBattle
+	dw UnnamedText_460de ; 0x60de TextAfterBattle
+	dw UnnamedText_460d9 ; 0x60d9 TextEndBattle
+	dw UnnamedText_460d9 ; 0x60d9 TextEndBattle
+; 0x4602c
+
+TrainerHeader_4602c: ; 0x4602c
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_460e3 ; 0x60e3 TextBeforeBattle
+	dw UnnamedText_460ed ; 0x60ed TextAfterBattle
+	dw UnnamedText_460e8 ; 0x60e8 TextEndBattle
+	dw UnnamedText_460e8 ; 0x60e8 TextEndBattle
+; 0x46038
+
+TrainerHeader_46038: ; 0x46038
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_460f2 ; 0x60f2 TextBeforeBattle
+	dw UnnamedText_460fc ; 0x60fc TextAfterBattle
+	dw UnnamedText_460f7 ; 0x60f7 TextEndBattle
+	dw UnnamedText_460f7 ; 0x60f7 TextEndBattle
+; 0x46044
+
+TrainerHeader_46044: ; 0x46044
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_46101 ; 0x6101 TextBeforeBattle
+	dw UnnamedText_4610b ; 0x610b TextAfterBattle
+	dw UnnamedText_46106 ; 0x6106 TextEndBattle
+	dw UnnamedText_46106 ; 0x6106 TextEndBattle
+; 0x46050
+
+TrainerHeader_46050: ; 0x46050
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_46110 ; 0x6110 TextBeforeBattle
+	dw UnnamedText_4611a ; 0x611a TextAfterBattle
+	dw UnnamedText_46115 ; 0x6115 TextEndBattle
+	dw UnnamedText_46115 ; 0x6115 TextEndBattle
+; 0x4605c
+
+TrainerHeader_4605c: ; 0x4605c
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_4611f ; 0x611f TextBeforeBattle
+	dw UnnamedText_46129 ; 0x6129 TextAfterBattle
+	dw UnnamedText_46124 ; 0x6124 TextEndBattle
+	dw UnnamedText_46124 ; 0x6124 TextEndBattle
+; 0x46068
+
+TrainerHeader_46068: ; 0x46068
+	db $8 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d87d ; flag's byte
+	dw UnnamedText_4612e ; 0x612e TextBeforeBattle
+	dw UnnamedText_46138 ; 0x6138 TextAfterBattle
+	dw UnnamedText_46133 ; 0x6133 TextEndBattle
+	dw UnnamedText_46133 ; 0x6133 TextEndBattle
+; 0x46074
+
+db $ff
+
+RockTunnel2Text1: ; 0x46075
+	db $08 ; asm
+	ld hl, TrainerHeader_46014
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text2: ; 0x4607f
+	db $08 ; asm
+	ld hl, TrainerHeader_46020
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text3: ; 0x46089
+	db $08 ; asm
+	ld hl, TrainerHeader_4602c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text4: ; 0x46093
+	db $08 ; asm
+	ld hl, TrainerHeader_46038
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text5: ; 0x4609d
+	db $08 ; asm
+	ld hl, TrainerHeader_46044
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text6: ; 0x460a7
+	db $08 ; asm
+	ld hl, TrainerHeader_46050
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text7: ; 0x460b1
+	db $08 ; asm
+	ld hl, TrainerHeader_4605c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+RockTunnel2Text8: ; 0x460bb
+	db $08 ; asm
+	ld hl, TrainerHeader_46068
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_460c5: ; 0x460c5
+	TX_FAR _UnnamedText_460c5
+	db $50
+; 0x460c5 + 5 bytes
+
+UnnamedText_460ca: ; 0x460ca
+	TX_FAR _UnnamedText_460ca
+	db $50
+; 0x460ca + 5 bytes
+
+UnnamedText_460cf: ; 0x460cf
+	TX_FAR _UnnamedText_460cf
+	db $50
+; 0x460cf + 5 bytes
+
+UnnamedText_460d4: ; 0x460d4
+	TX_FAR _UnnamedText_460d4
+	db $50
+; 0x460d4 + 5 bytes
+
+UnnamedText_460d9: ; 0x460d9
+	TX_FAR _UnnamedText_460d9
+	db $50
+; 0x460d9 + 5 bytes
+
+UnnamedText_460de: ; 0x460de
+	TX_FAR _UnnamedText_460de
+	db $50
+; 0x460de + 5 bytes
+
+UnnamedText_460e3: ; 0x460e3
+	TX_FAR _UnnamedText_460e3
+	db $50
+; 0x460e3 + 5 bytes
+
+UnnamedText_460e8: ; 0x460e8
+	TX_FAR _UnnamedText_460e8
+	db $50
+; 0x460e8 + 5 bytes
+
+UnnamedText_460ed: ; 0x460ed
+	TX_FAR _UnnamedText_460ed
+	db $50
+; 0x460ed + 5 bytes
+
+UnnamedText_460f2: ; 0x460f2
+	TX_FAR _UnnamedText_460f2
+	db $50
+; 0x460f2 + 5 bytes
+
+UnnamedText_460f7: ; 0x460f7
+	TX_FAR _UnnamedText_460f7
+	db $50
+; 0x460f7 + 5 bytes
+
+UnnamedText_460fc: ; 0x460fc
+	TX_FAR _UnnamedText_460fc
+	db $50
+; 0x460fc + 5 bytes
+
+UnnamedText_46101: ; 0x46101
+	TX_FAR _UnnamedText_46101
+	db $50
+; 0x46101 + 5 bytes
+
+UnnamedText_46106: ; 0x46106
+	TX_FAR _UnnamedText_46106
+	db $50
+; 0x46106 + 5 bytes
+
+UnnamedText_4610b: ; 0x4610b
+	TX_FAR _UnnamedText_4610b
+	db $50
+; 0x4610b + 5 bytes
+
+UnnamedText_46110: ; 0x46110
+	TX_FAR _UnnamedText_46110
+	db $50
+; 0x46110 + 5 bytes
+
+UnnamedText_46115: ; 0x46115
+	TX_FAR _UnnamedText_46115
+	db $50
+; 0x46115 + 5 bytes
+
+UnnamedText_4611a: ; 0x4611a
+	TX_FAR _UnnamedText_4611a
+	db $50
+; 0x4611a + 5 bytes
+
+UnnamedText_4611f: ; 0x4611f
+	TX_FAR _UnnamedText_4611f
+	db $50
+; 0x4611f + 5 bytes
+
+UnnamedText_46124: ; 0x46124
+	TX_FAR _UnnamedText_46124
+	db $50
+; 0x46124 + 5 bytes
+
+UnnamedText_46129: ; 0x46129
+	TX_FAR _UnnamedText_46129
+	db $50
+; 0x46129 + 5 bytes
+
+UnnamedText_4612e: ; 0x4612e
+	TX_FAR _UnnamedText_4612e
+	db $50
+; 0x4612e + 5 bytes
+
+UnnamedText_46133: ; 0x46133
+	TX_FAR _UnnamedText_46133
+	db $50
+; 0x46133 + 5 bytes
+
+UnnamedText_46138: ; 0x46138
+	TX_FAR _UnnamedText_46138
+	db $50
+; 0x46138 + 5 bytes
+
+RockTunnel2Object: ; 0x4613d (size=100)
+	db $3 ; border tile
+
+	db $4 ; warps
+	db $19, $21, $4, ROCK_TUNNEL_1
+	db $3, $1b, $5, ROCK_TUNNEL_1
+	db $b, $17, $6, ROCK_TUNNEL_1
+	db $3, $3, $7, ROCK_TUNNEL_1
+
+	db $0 ; signs
+
+	db $8 ; people
+	db SPRITE_LASS, $d + 4, $b + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $9 ; trainer
+	db SPRITE_HIKER, $a + 4, $6 + 4, $ff, $d0, $42, HIKER + $C8, $9 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $3 + 4, $ff, $d0, $43, POKEMANIAC + $C8, $3 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $15 + 4, $14 + 4, $ff, $d3, $44, POKEMANIAC + $C8, $4 ; trainer
+	db SPRITE_HIKER, $a + 4, $1e + 4, $ff, $d0, $45, HIKER + $C8, $a ; trainer
+	db SPRITE_LASS, $1c + 4, $e + 4, $ff, $d3, $46, JR__TRAINER_F + $C8, $a ; trainer
+	db SPRITE_HIKER, $5 + 4, $21 + 4, $ff, $d3, $47, HIKER + $C8, $b ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $1e + 4, $1a + 4, $ff, $d0, $48, POKEMANIAC + $C8, $5 ; trainer
+
+	; warp-to
+	EVENT_DISP $14, $19, $21 ; ROCK_TUNNEL_1
+	EVENT_DISP $14, $3, $1b ; ROCK_TUNNEL_1
+	EVENT_DISP $14, $b, $17 ; ROCK_TUNNEL_1
+	EVENT_DISP $14, $3, $3 ; ROCK_TUNNEL_1
+
+RockTunnel2Blocks: ; 0x461a1 360
+	INCBIN "maps/rocktunnel2.blk"
+
+SeafoamIslands2_h: ; 0x46309 to 0x46315 (12 bytes) (bank=11) (id=159)
+	db $11 ; tileset
+	db SEAFOAM_ISLANDS_2_HEIGHT, SEAFOAM_ISLANDS_2_WIDTH ; dimensions (y, x)
+	dw SeafoamIslands2Blocks, SeafoamIslands2Texts, SeafoamIslands2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SeafoamIslands2Object ; objects
+
+SeafoamIslands2Script: ; 0x46315
+	call $3c3c
+	ld hl, $cd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_46362 ; 0x4631f $41
+	ld hl, SeafoamIslands2Script_Unknown4636d
+	call $34e4
+	ret nc
+	ld hl, $d87f
+	ld a, [$cd3d]
+	cp $1
+	jr nz, .asm_46340 ; 0x46330 $e
+	set 0, [hl]
+	ld a, $d9
+	ld [$d079], a
+	ld a, $db
+	ld [$d07a], a
+	jr .asm_4634c ; 0x4633e $c
+.asm_46340
+	set 1, [hl]
+	ld a, $da
+	ld [$d079], a
+	ld a, $dc
+	ld [$d07a], a
+.asm_4634c
+	ld a, [$d079]
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, [$d07a]
+	ld [$cc4d], a
+	ld a, $15
+	jp $3e6d
+.asm_46362
+	ld a, $a0
+	ld [$d71d], a
+	ld hl, SeafoamIslands2Script_Unknown4636d
+	jp $6981
+; 0x4636d
+
+SeafoamIslands2Script_Unknown4636d: ; 0x4636d
+INCBIN "baserom.gbc",$4636d,$5
+
+SeafoamIslands2Texts: ; 0x46372
+	dw SeafoamIslands2Text1, SeafoamIslands2Text2
+
+SeafoamIslands2Object: ; 0x46376 (size=72)
+	db $7d ; border tile
+
+	db $7 ; warps
+	db $2, $4, $0, SEAFOAM_ISLANDS_3
+	db $5, $7, $4, SEAFOAM_ISLANDS_1
+	db $7, $d, $2, SEAFOAM_ISLANDS_3
+	db $f, $13, $3, SEAFOAM_ISLANDS_3
+	db $f, $17, $6, SEAFOAM_ISLANDS_1
+	db $b, $19, $5, SEAFOAM_ISLANDS_3
+	db $3, $19, $5, SEAFOAM_ISLANDS_1
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BOULDER, $6 + 4, $11 + 4, $ff, $10, $1 ; person
+	db SPRITE_BOULDER, $6 + 4, $16 + 4, $ff, $10, $2 ; person
+
+	; warp-to
+	EVENT_DISP $f, $2, $4 ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $5, $7 ; SEAFOAM_ISLANDS_1
+	EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_1
+	EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_1
+
+SeafoamIslands2Blocks: ; 0x463be 135
+	INCBIN "maps/seafoamislands2.blk"
+
+SeafoamIslands3_h: ; 0x46445 to 0x46451 (12 bytes) (bank=11) (id=160)
+	db $11 ; tileset
+	db SEAFOAM_ISLANDS_3_HEIGHT, SEAFOAM_ISLANDS_3_WIDTH ; dimensions (y, x)
+	dw SeafoamIslands3Blocks, SeafoamIslands3Texts, SeafoamIslands3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SeafoamIslands3Object ; objects
+
+SeafoamIslands3Script: ; 0x46451
+	call $3c3c
+	ld hl, $cd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_4649e ; 0x4645b $41
+	ld hl, SeafoamIslands3Script_Unknown464a9
+	call $34e4
+	ret nc
+	ld hl, $d880
+	ld a, [$cd3d]
+	cp $1
+	jr nz, .asm_4647c ; 0x4646c $e
+	set 0, [hl]
+	ld a, $db
+	ld [$d079], a
+	ld a, $df
+	ld [$d07a], a
+	jr .asm_46488 ; 0x4647a $c
+.asm_4647c
+	set 1, [hl]
+	ld a, $dc
+	ld [$d079], a
+	ld a, $e0
+	ld [$d07a], a
+.asm_46488
+	ld a, [$d079]
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, [$d07a]
+	ld [$cc4d], a
+	ld a, $15
+	jp $3e6d
+.asm_4649e
+	ld a, $a1
+	ld [$d71d], a
+	ld hl, SeafoamIslands3Script_Unknown464a9
+	jp $6981
+; 0x464a9
+
+SeafoamIslands3Script_Unknown464a9: ; 0x464a9
+INCBIN "baserom.gbc",$464a9,$5
+
+SeafoamIslands3Texts: ; 0x464ae
+	dw SeafoamIslands3Text1, SeafoamIslands3Text2
+
+SeafoamIslands3Object: ; 0x464b2 (size=72)
+	db $7d ; border tile
+
+	db $7 ; warps
+	db $3, $5, $0, SEAFOAM_ISLANDS_2
+	db $d, $5, $0, SEAFOAM_ISLANDS_4
+	db $7, $d, $2, SEAFOAM_ISLANDS_2
+	db $f, $13, $3, SEAFOAM_ISLANDS_2
+	db $3, $19, $3, SEAFOAM_ISLANDS_4
+	db $b, $19, $5, SEAFOAM_ISLANDS_2
+	db $e, $19, $4, SEAFOAM_ISLANDS_4
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $10, $1 ; person
+	db SPRITE_BOULDER, $6 + 4, $17 + 4, $ff, $10, $2 ; person
+
+	; warp-to
+	EVENT_DISP $f, $3, $5 ; SEAFOAM_ISLANDS_2
+	EVENT_DISP $f, $d, $5 ; SEAFOAM_ISLANDS_4
+	EVENT_DISP $f, $7, $d ; SEAFOAM_ISLANDS_2
+	EVENT_DISP $f, $f, $13 ; SEAFOAM_ISLANDS_2
+	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_4
+	EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_2
+	EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_4
+
+SeafoamIslands3Blocks: ; 0x464fa 135
+	INCBIN "maps/seafoamislands3.blk"
+
+SeafoamIslands4_h: ; 0x46581 to 0x4658d (12 bytes) (bank=11) (id=161)
+	db $11 ; tileset
+	db SEAFOAM_ISLANDS_4_HEIGHT, SEAFOAM_ISLANDS_4_WIDTH ; dimensions (y, x)
+	dw SeafoamIslands4Blocks, SeafoamIslands4Texts, SeafoamIslands4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SeafoamIslands4Object ; objects
+
+SeafoamIslands4Script: ; 0x4658d
+	call $3c3c
+	ld hl, $cd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_465dc ; 0x46597 $43
+	ld hl, SeafoamIslands4Script_Unknown465f6
+	call $34e4
+	ret nc
+	ld hl, $d881
+	ld a, [$cd3d]
+	cp $1
+	jr nz, .asm_465b8 ; 0x465a8 $e
+	set 0, [hl]
+	ld a, $dd
+	ld [$d079], a
+	ld a, $e1
+	ld [$d07a], a
+	jr .asm_465c4 ; 0x465b6 $c
+.asm_465b8
+	set 1, [hl]
+	ld a, $de
+	ld [$d079], a
+	ld a, $e2
+	ld [$d07a], a
+.asm_465c4
+	ld a, [$d079]
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, [$d07a]
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	jr .asm_465ed ; 0x465da $11
+.asm_465dc
+	ld a, $a2
+	ld [$d71d], a
+	ld hl, SeafoamIslands4Script_Unknown465f6
+	call $6981
+	ld a, [$d732]
+	bit 4, a
+	ret nz
+.asm_465ed
+	ld hl, SeafoamIslands4Scripts
+	ld a, [$d666]
+	jp $3d97
+; 0x465f6
+
+SeafoamIslands4Script_Unknown465f6: ; 0x465f6
+INCBIN "baserom.gbc",$465f6,$465fb - $465f6
+
+SeafoamIslands4Scripts: ; 0x465fb
+	dw SeafoamIslands4Script0, SeafoamIslands4Script1
+
+INCBIN "baserom.gbc",$465ff,$4
+
+SeafoamIslands4Script0: ; 0x46603
+	ld a, [$d880]
+	and $3
+	cp $3
+	ret z
+	ld a, [$d361]
+	cp $8
+	ret nz
+	ld a, [$d362]
+	cp $f
+	ret nz
+	ld hl, $ccd3
+	ld de, SeafoamIslands4Script0_Unknown46632
+	call $350c
+	dec a
+	ld [$cd38], a
+	call $3486
+	ld hl, $d733
+	set 2, [hl]
+	ld a, $1
+	ld [$d666], a
+	ret
+; 0x46632
+
+SeafoamIslands4Script0_Unknown46632: ; 0x46632
+INCBIN "baserom.gbc",$46632,$46639 - $46632
+
+SeafoamIslands4Script1: ; 0x46639
+	ld a, [$cd38]
+	and a
+	ret nz
+	ld a, $0
+	ld [$d666], a
+	ret
+; 0x46644
+
+INCBIN "baserom.gbc",$46644,$56
+
+SeafoamIslands4Texts: ; 0x4669a
+	dw SeafoamIslands4Text1, SeafoamIslands4Text2, SeafoamIslands4Text3, SeafoamIslands4Text4, SeafoamIslands4Text5, SeafoamIslands4Text6
+
+SeafoamIslands4Object: ; 0x466a6 (size=96)
+	db $7d ; border tile
+
+	db $7 ; warps
+	db $c, $5, $1, SEAFOAM_ISLANDS_3
+	db $6, $8, $2, SEAFOAM_ISLANDS_5
+	db $4, $19, $3, SEAFOAM_ISLANDS_5
+	db $3, $19, $4, SEAFOAM_ISLANDS_3
+	db $e, $19, $6, SEAFOAM_ISLANDS_3
+	db $11, $14, $0, SEAFOAM_ISLANDS_5
+	db $11, $15, $1, SEAFOAM_ISLANDS_5
+
+	db $0 ; signs
+
+	db $6 ; people
+	db SPRITE_BOULDER, $e + 4, $5 + 4, $ff, $10, $1 ; person
+	db SPRITE_BOULDER, $f + 4, $3 + 4, $ff, $10, $2 ; person
+	db SPRITE_BOULDER, $e + 4, $8 + 4, $ff, $10, $3 ; person
+	db SPRITE_BOULDER, $e + 4, $9 + 4, $ff, $10, $4 ; person
+	db SPRITE_BOULDER, $6 + 4, $12 + 4, $ff, $ff, $5 ; person
+	db SPRITE_BOULDER, $6 + 4, $13 + 4, $ff, $ff, $6 ; person
+
+	; warp-to
+	EVENT_DISP $f, $c, $5 ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $6, $8 ; SEAFOAM_ISLANDS_5
+	EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_5
+	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_3
+	EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_5
+	EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_5
+
+SeafoamIslands4Blocks: ; 0x46706 135
+	INCBIN "maps/seafoamislands4.blk"
+
+SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162)
+	db $11 ; tileset
+	db SEAFOAM_ISLANDS_5_HEIGHT, SEAFOAM_ISLANDS_5_WIDTH ; dimensions (y, x)
+	dw SeafoamIslands5Blocks, SeafoamIslands5Texts, SeafoamIslands5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SeafoamIslands5Object ; objects
+
+SeafoamIslands5Script: ; 0x46799
+	call $3c3c
+	ld a, [$d668]
+	ld hl, SeafoamIslands5Scripts
+	jp $3d97
+; 0x467a5
+
+INCBIN "baserom.gbc",$467a5,$467ad - $467a5
+
+SeafoamIslands5Scripts: ; 0x467ad
+	dw SeafoamIslands5Script0, SeafoamIslands5Script1
+
+INCBIN "baserom.gbc",$467b1,$16
+
+SeafoamIslands5Script0: ; 0x467c7
+	ld a, [$d880]
+	and $3
+	cp $3
+	ret z
+	ld hl, $67fe
+	call $34bf
+	ret nc
+	ld a, [$cd3d]
+	cp $3
+	jr nc, .asm_467e6 ; 0x467db $9
+	ld a, $40
+	ld [$ccd4], a
+	ld a, $2
+	jr .asm_467e8 ; 0x467e4 $2
+.asm_467e6
+	ld a, $1
+.asm_467e8
+	ld [$cd38], a
+	ld a, $40
+	ld [$ccd3], a
+	call $3486
+	ld hl, $d733
+	res 2, [hl]
+	ld a, $1
+	ld [$d668], a
+	ret
+; 0x467fe
+
+INCBIN "baserom.gbc",$467fe,$46807 - $467fe
+
+SeafoamIslands5Script1: ; 0x46807
+	ld a, [$cd38]
+	and a
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, $0
+	ld [$d668], a
+	ret
+; 0x46816
+
+INCBIN "baserom.gbc",$46816,$66
+
+SeafoamIslands5Texts: ; 0x4687c
+	dw SeafoamIslands5Text1, SeafoamIslands5Text2, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5
+
+SeafoamIslands5TrainerHeaders:
+TrainerHeader_46886: ; 0x46886
+	db $2 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d882 ; flag's byte
+	dw UnnamedText_468a2 ; 0x68a2 TextBeforeBattle
+	dw UnnamedText_468a2 ; 0x68a2 TextAfterBattle
+	dw UnnamedText_468a2 ; 0x68a2 TextEndBattle
+	dw UnnamedText_468a2 ; 0x68a2 TextEndBattle
+; 0x46892
+
+db $ff
+
+SeafoamIslands5Text3: ; 0x46893
+	db $08 ; asm
+	ld hl, TrainerHeader_46886
+	call LoadTrainerHeader
+	ld a, $4
+	ld [$d668], a
+	jp TextScriptEnd
+
+UnnamedText_468a2: ; 0x468a2
+	TX_FAR _UnnamedText_468a2 ; 0x88075
+	db $8
+	ld a, $4a
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+; 0x468b2
+
+SeafoamIslands5Text4: ; 0x468b2
+	TX_FAR _SeafoamIslands5Text4
+	db $50
+
+SeafoamIslands5Text5: ; 0x468b7
+	TX_FAR _SeafoamIslands5Text5
+	db $50
+
+SeafoamIslands5Object: ; 0x468bc (size=62)
+	db $7d ; border tile
+
+	db $4 ; warps
+	db $11, $14, $5, SEAFOAM_ISLANDS_4
+	db $11, $15, $6, SEAFOAM_ISLANDS_4
+	db $7, $b, $1, SEAFOAM_ISLANDS_4
+	db $4, $19, $2, SEAFOAM_ISLANDS_4
+
+	db $2 ; signs
+	db $f, $9, $4 ; SeafoamIslands5Text4
+	db $1, $17, $5 ; SeafoamIslands5Text5
+
+	db $3 ; people
+	db SPRITE_BOULDER, $f + 4, $4 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BIRD, $1 + 4, $6 + 4, $ff, $d0, $43, ARTICUNO, $32 ; trainer
+
+	; warp-to
+	EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_4
+	EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_4
+	EVENT_DISP $f, $7, $b ; SEAFOAM_ISLANDS_4
+	EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_4
+
+SeafoamIslands5Blocks: ; 0x468fa 135
+	INCBIN "maps/seafoamislands5.blk"
+
+INCBIN "baserom.gbc",$46981,$167f
+
+SECTION "bank12",DATA,BANK[$12]
+
+Route7_h: ; 0x48000 to 0x48022 (34 bytes) (bank=12) (id=18)
+	db $00 ; tileset
+	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x)
+	dw Route7Blocks, $4155, Route7Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db CELADON_CITY
+	dw CeladonCityBlocks - 3 + (CELADON_CITY_WIDTH * 2) ; connection strip location
+	dw $C6E8 + (ROUTE_7_WIDTH + 6) * (-3 + 3) ; current map position
+	db $f, CELADON_CITY_WIDTH ; bigness, width
+	db (-4 * -2), (CELADON_CITY_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * CELADON_CITY_WIDTH ; window
+
+	db SAFFRON_CITY
+	dw SaffronCityBlocks + (SAFFRON_CITY_WIDTH) ; connection strip location
+	dw $C6E5 + (ROUTE_7_WIDTH + 6) * (-3 + 4) ; current map position
+	db $f, SAFFRON_CITY_WIDTH ; bigness, width
+	db (-4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + SAFFRON_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route7Object ; objects
+
+Route7Object: ; 0x48022 (size=47)
+	db $f ; border tile
+
+	db $5 ; warps
+	db $9, $12, $2, ROUTE_7_GATE
+	db $a, $12, $3, ROUTE_7_GATE
+	db $9, $b, $0, ROUTE_7_GATE
+	db $a, $b, $1, ROUTE_7_GATE
+	db $d, $5, $0, PATH_ENTRANCE_ROUTE_7
+
+	db $1 ; signs
+	db $d, $3, $1 ; Route7Text1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $a, $9, $12 ; ROUTE_7_GATE
+	EVENT_DISP $a, $a, $12 ; ROUTE_7_GATE
+	EVENT_DISP $a, $9, $b ; ROUTE_7_GATE
+	EVENT_DISP $a, $a, $b ; ROUTE_7_GATE
+	EVENT_DISP $a, $d, $5 ; PATH_ENTRANCE_ROUTE_7
+
+Route7Blocks: ; 4051 90
+	INCBIN "maps/route7.blk"
+
+CeladonPokecenterBlocks:
+RockTunnelPokecenterBlocks:
+MtMoonPokecenterBlocks: ; 40ab 28
+	INCBIN "maps/mtmoonpokecenter.blk"
+
+Route18GateBlocks:
+Route15GateBlocks:
+Route11GateBlocks: ; 40c7 20
+	INCBIN "maps/route11gate.blk"
+
+Route18GateHeaderBlocks:
+Route16GateUpstairsBlocks:
+Route12GateUpstairsBlocks:
+Route11GateUpstairsBlocks: ; 40db 16
+	INCBIN "maps/route11gateupstairs.blk"
+
+INCBIN "baserom.gbc",$480eb,$48152 - $480eb
+
+Route7Script: ; 0x48152
+	jp $3c3c
+; 0x48155
+
+; XXX
+db $57, $41
+
+Route7Text1: ; 0x48157
+	TX_FAR _Route7Text1
+	db $50
+
+RedsHouse1F_h: ; 415C
+	db $01 ; tileset
+	db $04,$04 ; dimensions
+	dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript
+	db 0 ; no connections
+	dw RedsHouse1FObject
+
+RedsHouse1FScript: ; 4168
+	jp $3C3C
+
+RedsHouse1FTexts: ; 416B
+	dw RedsHouse1FText1,RedsHouse1FText2
+
+RedsHouse1FText1: ; 416F Mom
+	db 8
+	ld a, [$D72E]
+	bit 3, a
+	jr nz, .heal\@ ; if player has received a Pokémon from Oak, heal team
+	ld hl, MomWakeUpText
+	call PrintText
+	jr .done\@
+.heal\@
+	call MomHealPokemon
+.done\@
+	jp TextScriptEnd
+
+MomWakeUpText: ; 0x48185
+	TX_FAR _MomWakeUpText
+	db "@"
+
+MomHealPokemon: ; 0x4818a
+	ld hl, MomHealText1
+	call PrintText
+	call GBFadeOut2
+	call $3071
+	ld a, 7
+	call Predef
+	ld a, $E8
+	ld [$C0EE], a
+	call $23B1 ; play sound?
+.next\@
+	ld a, [$C026]
+	cp $E8
+	jr z, .next\@
+	ld a, [$D35B]
+	ld [$C0EE], a
+	call $23B1
+	call GBFadeIn2
+	ld hl, MomHealText2
+	jp PrintText
+
+MomHealText1: ; 0x481bc
+	TX_FAR _MomHealText1
+	db "@"
+MomHealText2: ; 0x481c1
+	TX_FAR _MomHealText2
+	db "@"
+
+RedsHouse1FText2: ; 0x481c6 TV
+	db 8
+	ld a,[$C109]
+	cp 4
+	ld hl,TVWrongSideText
+	jr nz,.done\@ ; if player is not facing up
+	ld hl,StandByMeText
+.done\@
+	call PrintText
+	jp TextScriptEnd
+
+StandByMeText: ; 0x481da
+	TX_FAR _StandByMeText
+	db "@"
+
+TVWrongSideText: ; 0x481df
+	TX_FAR _TVWrongSideText
+	db "@"
+
+RedsHouse1FObject: ; 0x481e4
+	db $0A ; border tile
+
+	db 3 ; warps
+	db 7,2,0,$FF ; exit1
+	db 7,3,0,$FF ; exit2
+	db 1,7,0,$26 ; staircase
+
+	db 1 ; signs
+	db 1,3,2 ; TV
+
+	db 1 ; people
+	db $33,4+4,5+4,$FF,$D2,1 ; Mom
+
+	; warp-to
+
+	dw $C6EF + 4 + (4 + 6) * (3) + 1
+	db 7,2
+
+	dw $C6EF + 4 + (4 + 6) * (3) + 1
+	db 7,3
+
+	dw $C6EF + 4 + (4 + 6) * (0) + 3
+	db 1,7
+
+RedsHouse1FBlocks:
+	INCBIN "maps/redshouse1f.blk"
+
+CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124)
+	db $12 ; tileset
+	db CELADON_MART_3_HEIGHT, CELADON_MART_3_WIDTH ; dimensions (y, x)
+	dw CeladonMart3Blocks, CeladonMart3Texts, CeladonMart3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMart3Object ; objects
+
+CeladonMart3Script: ; 0x48225
+	jp $3c3c
+; 0x48228
+
+CeladonMart3Texts: ; 0x48228
+	dw CeladonMart3Text1, CeladonMart3Text2, CeladonMart3Text3, CeladonMart3Text4, CeladonMart3Text5, CeladonMart3Text6, CeladonMart3Text7, CeladonMart3Text8, CeladonMart3Text9, CeladonMart3Text10, CeladonMart3Text11, CeladonMart3Text12, CeladonMart3Text13, CeladonMart3Text14, CeladonMart3Text15, CeladonMart3Text16, CeladonMart3Text17
+
+CeladonMart3Text1: ; 0x4824a
+	db $08 ; asm
+	ld a, [$d778]
+	bit 7, a
+	jr nz, .asm_a5463 ; 0x48250
+	ld hl, UnnamedText_48278
+	call PrintText
+	ld bc, (TM_18 << 8) | 1
+	call GiveItem
+	jr nc, .asm_95f37 ; 0x4825e
+	ld hl, $d778
+	set 7, [hl]
+	ld hl, ReceivedTM18Text
+	jr .asm_81359 ; 0x48268
+.asm_95f37 ; 0x4826a
+	ld hl, TM18NoRoomText
+	jr .asm_81359 ; 0x4826d
+.asm_a5463 ; 0x4826f
+	ld hl, TM18ExplanationText
+.asm_81359 ; 0x48272
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_48278: ; 0x48278
+	TX_FAR _UnnamedText_48278
+	db $50
+; 0x48278 + 5 bytes
+
+ReceivedTM18Text: ; 0x4827d
+	TX_FAR _ReceivedTM18Text ; 0x9c85a
+	db $0B, $50
+; 0x48283
+
+TM18ExplanationText: ; 0x48283
+	TX_FAR _TM18ExplanationText
+	db $50
+; 0x48283 + 5 bytes
+
+TM18NoRoomText: ; 0x48288
+	TX_FAR _TM18NoRoomText
+	db $50
+; 0x48288 + 5 bytes
+
+CeladonMart3Text2: ; 0x4828d
+	TX_FAR _CeladonMart3Text2
+	db $50
+
+CeladonMart3Text3: ; 0x48292
+	TX_FAR _CeladonMart3Text3
+	db $50
+
+CeladonMart3Text4: ; 0x48297
+	TX_FAR _CeladonMart3Text4
+	db $50
+
+CeladonMart3Text5: ; 0x4829c
+	TX_FAR _CeladonMart3Text5
+	db $50
+
+CeladonMart3Text12
+CeladonMart3Text10:
+CeladonMart3Text8:
+CeladonMart3Text6: ; 0x482a1
+	TX_FAR _CeladonMart3Text6
+	db $50
+
+CeladonMart3Text7: ; 0x482a6
+	TX_FAR _CeladonMart3Text7
+	db $50
+
+CeladonMart3Text9: ; 0x482ab
+	TX_FAR _CeladonMart3Text9
+	db $50
+
+CeladonMart3Text11: ; 0x482b0
+	TX_FAR _CeladonMart3Text11
+	db $50
+
+CeladonMart3Text13: ; 0x482b5
+	TX_FAR _CeladonMart3Text13
+	db $50
+
+CeladonMart3Text14: ; 0x482ba
+	TX_FAR _CeladonMart3Text14
+	db $50
+
+CeladonMart3Text17:
+CeladonMart3Text16:
+CeladonMart3Text15: ; 0x482bf
+	TX_FAR _CeladonMart3Text15
+	db $50
+
+CeladonMart3Object: ; 0x482c4 (size=94)
+	db $f ; border tile
+
+	db $3 ; warps
+	db $1, $c, $0, CELADON_MART_4
+	db $1, $10, $1, CELADON_MART_2
+	db $1, $1, $0, CELADON_MART_ELEVATOR
+
+	db $c ; signs
+	db $4, $2, $6 ; CeladonMart3Text6
+	db $4, $3, $7 ; CeladonMart3Text7
+	db $4, $5, $8 ; CeladonMart3Text8
+	db $4, $6, $9 ; CeladonMart3Text9
+	db $6, $2, $a ; CeladonMart3Text10
+	db $6, $3, $b ; CeladonMart3Text11
+	db $6, $5, $c ; CeladonMart3Text12
+	db $6, $6, $d ; CeladonMart3Text13
+	db $1, $e, $e ; CeladonMart3Text14
+	db $1, $4, $f ; CeladonMart3Text15
+	db $1, $6, $10 ; CeladonMart3Text16
+	db $1, $a, $11 ; CeladonMart3Text17
+
+	db $5 ; people
+	db SPRITE_MART_GUY, $5 + 4, $10 + 4, $ff, $ff, $1 ; person
+	db SPRITE_GAMEBOY_KID_COPY, $6 + 4, $b + 4, $ff, $d3, $2 ; person
+	db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $7 + 4, $ff, $d0, $3 ; person
+	db SPRITE_GAMEBOY_KID_COPY, $2 + 4, $8 + 4, $ff, $d0, $4 ; person
+	db SPRITE_YOUNG_BOY, $5 + 4, $2 + 4, $ff, $d1, $5 ; person
+
+	; warp-to
+	EVENT_DISP $a, $1, $c ; CELADON_MART_4
+	EVENT_DISP $a, $1, $10 ; CELADON_MART_2
+	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
+
+CeladonMart3Blocks: ; 0x48322 40
+	INCBIN "maps/celadonmart3.blk"
+
+CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125)
+	db $12 ; tileset
+	db CELADON_MART_4_HEIGHT, CELADON_MART_4_WIDTH ; dimensions (y, x)
+	dw CeladonMart4Blocks, CeladonMart4Texts, CeladonMart4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMart4Object ; objects
+
+CeladonMart4Script: ; 0x48356
+	jp $3c3c
+; 0x48359
+
+CeladonMart4Texts: ; 0x48359
+	dw CeladonMart4Text1, CeladonMart4Text2, CeladonMart4Text3, CeladonMart4Text4
+
+CeladonMart4Text2: ; 0x48361
+	TX_FAR _CeladonMart4Text2
+	db $50
+
+CeladonMart4Text3: ; 0x48366
+	TX_FAR _CeladonMart4Text3
+	db $50
+
+CeladonMart4Text4: ; 0x4836b
+	TX_FAR _CeladonMart4Text4
+	db $50
+
+CeladonMart4Object: ; 0x48370 (size=49)
+	db $f ; border tile
+
+	db $3 ; warps
+	db $1, $c, $0, CELADON_MART_3
+	db $1, $10, $1, CELADON_MART_5
+	db $1, $1, $0, CELADON_MART_ELEVATOR
+
+	db $1 ; signs
+	db $1, $e, $4 ; CeladonMart4Text4
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $7 + 4, $5 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $f + 4, $fe, $2, $2 ; person
+	db SPRITE_BUG_CATCHER, $2 + 4, $5 + 4, $fe, $2, $3 ; person
+
+	; warp-to
+	EVENT_DISP $a, $1, $c ; CELADON_MART_3
+	EVENT_DISP $a, $1, $10 ; CELADON_MART_5
+	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
+
+CeladonMart4Blocks: ; 0x483a1 40
+	INCBIN "maps/celadonmart4.blk"
+
+CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126)
+	db $12 ; tileset
+	db CELADON_MART_5_HEIGHT, CELADON_MART_5_WIDTH ; dimensions (y, x)
+	dw CeladonMartRoofBlocks, CeladonMartRoofTexts, CeladonMartRoofScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMartRoofObject ; objects
+
+CeladonMartRoofScript: ; 0x483d5
+	jp $3c3c
+; 0x483d8
+
+INCBIN "baserom.gbc",$483d8,$484ee - $483d8
+
+UnnamedText_484ee: ; 0x484ee
+	TX_FAR _UnnamedText_484ee
+	db $50
+; 0x484ee + 5 bytes
+
+INCBIN "baserom.gbc",$484f3,$68
+
+CeladonMartRoofTexts: ; 0x4855b
+	dw CeladonMartRoofText1, CeladonMartRoofText2, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText6
+
+CeladonMartRoofText1: ; 0x48567
+	TX_FAR _CeladonMartRoofText1
+	db $50
+
+CeladonMartRoofText2: ; 0x4856c
+	db $08 ; asm
+	call $43d8
+	ld a, [$cd37]
+	and a
+	jr z, .asm_914b9 ; 0x48574
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, CeladonMartRoofText4
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_05aa4 ; 0x48588
+	call $440c
+	jr .asm_05aa4 ; 0x4858d
+.asm_914b9 ; 0x4858f
+	ld hl, CeladonMartRoofText3
+	call PrintText
+.asm_05aa4 ; 0x48595
+	jp TextScriptEnd
+
+CeladonMartRoofText3: ; 0x48598
+	TX_FAR _UnnamedText_48598
+	db $50
+; 0x48598 + 5 bytes
+
+CeladonMartRoofText4:
+UnnamedText_4859d: ; 0x4859d
+	TX_FAR _UnnamedText_4859d
+	db $50
+; 0x4859d + 5 bytes
+
+CeladonMartRoofText5: ; 0x485a2
+	db $f5
+
+CeladonMartRoofText6: ; 0x485a3
+	TX_FAR _CeladonMartRoofText6
+	db $50
+
+CeladonMartRoofObject: ; 0x485a8 (size=36)
+	db $42 ; border tile
+
+	db $1 ; warps
+	db $2, $f, $0, CELADON_MART_5
+
+	db $4 ; signs
+	db $1, $a, $3 ; CeladonMartRoofText3
+	db $1, $b, $4 ; CeladonMartRoofText4
+	db $2, $c, $5 ; CeladonMartRoofText5
+	db $2, $d, $6 ; CeladonMartRoofText6
+
+	db $2 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $a + 4, $ff, $d2, $1 ; person
+	db SPRITE_LITTLE_GIRL, $5 + 4, $5 + 4, $fe, $0, $2 ; person
+
+	; warp-to
+	EVENT_DISP $a, $2, $f ; CELADON_MART_5
+
+CeladonMartRoofBlocks: ; 0x485cc 40
+	INCBIN "maps/celadonmart5.blk"
+
+CeladonMartElevator_h: ; 0x485f4 to 0x48600 (12 bytes) (bank=12) (id=127)
+	db $12 ; tileset
+	db CELADON_MART_6_HEIGHT, CELADON_MART_6_WIDTH ; dimensions (y, x)
+	dw CeladonMartElevatorBlocks, CeladonMartElevatorTexts, CeladonMartElevatorScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMartElevatorObject ; objects
+
+CeladonMartElevatorScript: ; 0x48600
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, CeladonMartElevatorScript_Unknown4861c
+	pop hl
+	bit 7, [hl]
+	res 7, [hl]
+	call nz, $4654
+	xor a
+	ld [$cf0c], a
+	inc a
+	ld [$cc3c], a
+	ret
+; 0x4861c
+
+CeladonMartElevatorScript_Unknown4861c: ; 0x4861c
+INCBIN "baserom.gbc",$4861c,$40
+
+CeladonMartElevatorTexts: ; 0x4865c
+	dw CeladonMartElevatorText1
+
+CeladonMartElevatorText1: ; 0x4865e
+	db $08 ; asm
+	call $4631
+	ld hl, $464a
+	ld a, $61
+	call Predef
+	jp TextScriptEnd
+
+CeladonMartElevatorObject: ; 0x4866d (size=23)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $3, $1, $5, CELADON_MART_1
+	db $3, $2, $5, CELADON_MART_1
+
+	db $1 ; signs
+	db $0, $3, $1 ; CeladonMartElevatorText1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $2, $3, $1 ; CELADON_MART_1
+	EVENT_DISP $2, $3, $2 ; CELADON_MART_1
+
+CeladonMartElevatorBlocks: ; 0x48684 4
+	INCBIN "maps/celadonmart6.blk"
+
+CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128)
+	db $13 ; tileset
+	db CELADON_MANSION_1_HEIGHT, CELADON_MANSION_1_WIDTH ; dimensions (y, x)
+	dw CeladonMansion1Blocks, CeladonMansion1Texts, CeladonMansion1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMansion1Object ; objects
+
+CeladonMansion1Script: ; 0x48694
+	jp $3c3c
+; 0x48697
+
+CeladonMansion1Texts: ; 0x48697
+	dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5
+
+;0x486a1
+	call $13d0
+	jp TextScriptEnd
+; 0x486a7
+
+CeladonMansion1Text1: ; 0x486a7
+	TX_FAR _CeladonMansion1Text1
+	db $08 ; asm
+	ld a, $4d
+	jp $46a1
+
+CeladonMansion1Text2: ; 0x486b1
+	TX_FAR _CeladonMansion1Text2
+	db $50
+
+CeladonMansion1Text3: ; 0x486b6
+	TX_FAR _CeladonMansion1Text3
+	db $8
+	ld a, $4
+	jp $46a1
+; 0x486c0
+
+CeladonMansion1Text4: ; 0x486c0
+	TX_FAR _CeladonMansion1Text4
+	db $8
+	ld a, $f
+	jp $46a1
+; 0x486ca
+
+CeladonMansion1Text5: ; 0x486ca
+	TX_FAR _CeladonMansion1Text5
+	db $50
+
+CeladonMansion1Object: ; 0x486cf (size=71)
+	db $f ; border tile
+
+	db $5 ; warps
+	db $b, $4, $2, $ff
+	db $b, $5, $2, $ff
+	db $0, $4, $4, $ff
+	db $1, $7, $1, CELADON_MANSION_2
+	db $1, $2, $2, CELADON_MANSION_2
+
+	db $1 ; signs
+	db $9, $4, $5 ; CeladonMansion1Text5
+
+	db $4 ; people
+	db SPRITE_SLOWBRO, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_OLD_MEDIUM_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $2 ; person
+	db SPRITE_CLEFAIRY, $8 + 4, $1 + 4, $fe, $2, $3 ; person
+	db SPRITE_SLOWBRO, $4 + 4, $4 + 4, $fe, $1, $4 ; person
+
+	; warp-to
+	EVENT_DISP $4, $b, $4
+	EVENT_DISP $4, $b, $5
+	EVENT_DISP $4, $0, $4
+	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_2
+	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_2
+
+CeladonMansion1Blocks: ; 0x48716 24
+	INCBIN "maps/celadonmansion1.blk"
+
+CeladonMansion2_h: ; 0x4872e to 0x4873a (12 bytes) (bank=12) (id=129)
+	db $13 ; tileset
+	db CELADON_MANSION_2_HEIGHT, CELADON_MANSION_2_WIDTH ; dimensions (y, x)
+	dw CeladonMansion2Blocks, CeladonMansion2Texts, CeladonMansion2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMansion2Object ; objects
+
+CeladonMansion2Script: ; 0x4873a
+	call $3c3c
+	ret
+; 0x4873e
+
+CeladonMansion2Texts: ; 0x4873e
+	dw CeladonMansion2Text1
+
+CeladonMansion2Text1: ; 0x48740
+	TX_FAR _CeladonMansion2Text1
+	db $50
+
+CeladonMansion2Object: ; 0x48745 (size=39)
+	db $f ; border tile
+
+	db $4 ; warps
+	db $1, $6, $0, CELADON_MANSION_3
+	db $1, $7, $3, CELADON_MANSION_1
+	db $1, $2, $4, CELADON_MANSION_1
+	db $1, $4, $3, CELADON_MANSION_3
+
+	db $1 ; signs
+	db $9, $4, $1 ; CeladonMansion2Text1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3
+	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_1
+	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_1
+	EVENT_DISP $4, $1, $4 ; CELADON_MANSION_3
+
+CeladonMansion2Blocks: ; 0x4876c 24
+	INCBIN "maps/celadonmansion2.blk"
+
+CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130)
+	db $13 ; tileset
+	db CELADON_MANSION_3_HEIGHT, CELADON_MANSION_3_WIDTH ; dimensions (y, x)
+	dw CeladonMansion3Blocks, CeladonMansion3Texts, CeladonMansion3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMansion3Object ; objects
+
+CeladonMansion3Script: ; 0x48790
+	jp $3c3c
+; 0x48793
+
+CeladonMansion3Texts: ; 0x48793
+	dw CeladonMansion3Text1, CeladonMansion3Text2, CeladonMansion3Text3, CeladonMansion3Text4, CeladonMansion3Text5, CeladonMansion3Text6, CeladonMansion3Text7, CeladonMansion3Text8
+
+CeladonMansion3Text1: ; 0x487a3
+	TX_FAR _CeladonMansion3Text1
+	db $50
+
+CeladonMansion3Text2: ; 0x487a8
+	TX_FAR _CeladonMansion3Text2
+	db $50
+
+CeladonMansion3Text3: ; 0x487ad
+	TX_FAR _CeladonMansion3Text3
+	db $50
+
+CeladonMansion3Text4: ; 0x487b2
+	db $08 ; asm
+	ld hl, $d2f7
+	ld b, $13
+	call $2b7f
+	ld a, [$d11e]
+	cp $96
+	jr nc, .asm_f03d0 ; 0x487c0
+	ld hl, UnnamedText_487d0
+	jr .asm_c13f0 ; 0x487c5
+.asm_f03d0 ; 0x487c7
+	ld hl, UnnamedText_487d5
+.asm_c13f0 ; 0x487ca
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_487d0: ; 0x487d0
+	TX_FAR _UnnamedText_487d0
+	db $50
+; 0x487d5
+
+UnnamedText_487d5: ; 0x487d5
+	TX_FAR _UnnamedText_487d5 ; 0x9d0ad
+	db $6
+	db $8
+	ld hl, $66e2
+	ld b, $15
+	call Bankswitch
+	ld a, $1
+	ld [$cc3c], a
+	jp TextScriptEnd
+; 0x487eb
+
+CeladonMansion3Text5: ; 0x487eb
+	TX_FAR _CeladonMansion3Text5
+	db $50
+
+CeladonMansion3Text6: ; 0x487f0
+	TX_FAR _CeladonMansion3Text6
+	db $50
+
+CeladonMansion3Text7: ; 0x487f5
+	TX_FAR _CeladonMansion3Text7
+	db $50
+
+CeladonMansion3Text8: ; 0x487fa
+	TX_FAR _CeladonMansion3Text8
+	db $50
+
+CeladonMansion3Object: ; 0x487ff (size=72)
+	db $f ; border tile
+
+	db $4 ; warps
+	db $1, $6, $0, CELADON_MANSION_2
+	db $1, $7, $0, CELADON_MANSION_4
+	db $1, $2, $1, CELADON_MANSION_4
+	db $1, $4, $3, CELADON_MANSION_2
+
+	db $4 ; signs
+	db $3, $1, $5 ; CeladonMansion3Text5
+	db $3, $4, $6 ; CeladonMansion3Text6
+	db $6, $1, $7 ; CeladonMansion3Text7
+	db $9, $4, $8 ; CeladonMansion3Text8
+
+	db $4 ; people
+	db SPRITE_BIKE_SHOP_GUY, $4 + 4, $0 + 4, $ff, $d1, $1 ; person
+	db SPRITE_MART_GUY, $4 + 4, $3 + 4, $ff, $d1, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $7 + 4, $0 + 4, $ff, $d1, $3 ; person
+	db SPRITE_LAPRAS_GIVER, $3 + 4, $2 + 4, $ff, $ff, $4 ; person
+
+	; warp-to
+	EVENT_DISP $4, $1, $6 ; CELADON_MANSION_2
+	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_4
+	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_4
+	EVENT_DISP $4, $1, $4 ; CELADON_MANSION_2
+
+CeladonMansion3Blocks: ; 0x48847 24
+	INCBIN "maps/celadonmansion3.blk"
+
+CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131)
+	db $13 ; tileset
+	db CELADON_MANSION_4_HEIGHT, CELADON_MANSION_4_WIDTH ; dimensions (y, x)
+	dw CeladonMansion4Blocks, CeladonMansion4Texts, CeladonMansion4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMansion4Object ; objects
+
+CeladonMansion4Script: ; 0x4886b
+	jp $3c3c
+; 0x4886e
+
+CeladonMansion4Texts: ; 0x4886e
+	dw CeladonMansion4Text1
+
+CeladonMansion4Text1: ; 0x48870
+	TX_FAR _CeladonMansion4Text1
+	db $50
+
+CeladonMansion4Object: ; 0x48875 (size=31)
+	db $9 ; border tile
+
+	db $3 ; warps
+	db $1, $6, $1, CELADON_MANSION_3
+	db $1, $2, $2, CELADON_MANSION_3
+	db $7, $2, $0, CELADON_MANSION_5
+
+	db $1 ; signs
+	db $7, $3, $1 ; CeladonMansion4Text1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $4, $1, $6 ; CELADON_MANSION_3
+	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_3
+	EVENT_DISP $4, $7, $2 ; CELADON_MANSION_5
+
+CeladonMansion4Blocks: ; 0x48894 24
+	INCBIN "maps/celadonmansion4.blk"
+
+CeladonPokecenter_h: ; 0x488ac to 0x488b8 (12 bytes) (bank=12) (id=133)
+	db $06 ; tileset
+	db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x)
+	dw CeladonPokecenterBlocks, CeladonPokecenterTexts, CeladonPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonPokecenterObject ; objects
+
+CeladonPokecenterScript: ; 0x488b8
+	call $22fa
+	jp $3c3c
+; 0x488be
+
+CeladonPokecenterTexts:
+	dw CeladonPokecenterText1, CeladonPokecenterText2, CeladonPokecenterText3, CeladonPokecenterText4
+
+CeladonPokecenterText4:
+	db $f6
+
+CeladonPokecenterText1:
+	db $ff
+
+CeladonPokecenterText2: ; 0x488c8
+	TX_FAR _CeladonPokecenterText2
+	db $50
+
+CeladonPokecenterText3: ; 0x488cd
+	TX_FAR _CeladonPokecenterText3
+	db $50
+
+CeladonPokecenterObject: ; 0x488d2 (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $5, $ff
+	db $7, $4, $5, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person
+	db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $fe, $0, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+CeladonGym_h: ; 0x488fe to 0x4890a (12 bytes) (bank=12) (id=134)
+	db $07 ; tileset
+	db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x)
+	dw CeladonGymBlocks, CeladonGymTexts, CeladonGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonGymObject ; objects
+
+CeladonGymScript: ; 0x4890a
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, CeladonGymScript_Unknown48927
+	call $3c3c
+	ld hl, CeladonGymTrainerHeaders
+	ld de, $494e
+	ld a, [$d5ff]
+	call $3160
+	ld [$d5ff], a
+	ret
+; 0x48927
+
+CeladonGymScript_Unknown48927: ; 0x48927
+INCBIN "baserom.gbc",$48927,$7f
+
+CeladonGymTexts: ; 0x489a6
+	dw CeladonGymText1, CeladonGymText2, CeladonGymText3, CeladonGymText4, CeladonGymText5, CeladonGymText6, CeladonGymText7, CeladonGymText8, CeladonGymText9, TM21Text, TM21NoRoomText
+
+CeladonGymTrainerHeaders:
+TrainerHeader_489bc: ; 0x489bc
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48a8b ; 0x4a8b TextBeforeBattle
+	dw UnnamedText_48a95 ; 0x4a95 TextAfterBattle
+	dw UnnamedText_48a90 ; 0x4a90 TextEndBattle
+	dw UnnamedText_48a90 ; 0x4a90 TextEndBattle
+; 0x489c8
+
+TrainerHeader_489c8: ; 0x489c8
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48aa4 ; 0x4aa4 TextBeforeBattle
+	dw UnnamedText_48aae ; 0x4aae TextAfterBattle
+	dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle
+	dw UnnamedText_48aa9 ; 0x4aa9 TextEndBattle
+; 0x489d4
+
+TrainerHeader_489d4: ; 0x489d4
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48abd ; 0x4abd TextBeforeBattle
+	dw UnnamedText_48ac7 ; 0x4ac7 TextAfterBattle
+	dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle
+	dw UnnamedText_48ac2 ; 0x4ac2 TextEndBattle
+; 0x489e0
+
+TrainerHeader_489e0: ; 0x489e0
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48ad6 ; 0x4ad6 TextBeforeBattle
+	dw UnnamedText_48ae0 ; 0x4ae0 TextAfterBattle
+	dw UnnamedText_48adb ; 0x4adb TextEndBattle
+	dw UnnamedText_48adb ; 0x4adb TextEndBattle
+; 0x489ec
+
+TrainerHeader_489ec: ; 0x489ec
+	db $6 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48aef ; 0x4aef TextBeforeBattle
+	dw UnnamedText_48af9 ; 0x4af9 TextAfterBattle
+	dw UnnamedText_48af4 ; 0x4af4 TextEndBattle
+	dw UnnamedText_48af4 ; 0x4af4 TextEndBattle
+; 0x489f8
+
+TrainerHeader_489f8: ; 0x489f8
+	db $7 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48b08 ; 0x4b08 TextBeforeBattle
+	dw UnnamedText_48b12 ; 0x4b12 TextAfterBattle
+	dw UnnamedText_48b0d ; 0x4b0d TextEndBattle
+	dw UnnamedText_48b0d ; 0x4b0d TextEndBattle
+; 0x48a04
+
+TrainerHeader_48a04: ; 0x48a04
+	db $8 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d77c ; flag's byte
+	dw UnnamedText_48b21 ; 0x4b21 TextBeforeBattle
+	dw UnnamedText_48b2b ; 0x4b2b TextAfterBattle
+	dw UnnamedText_48b26 ; 0x4b26 TextEndBattle
+	dw UnnamedText_48b26 ; 0x4b26 TextEndBattle
+; 0x48a10
+
+db $ff
+
+CeladonGymText1: ; 0x48a11
+	db $08 ; asm
+	ld a, [$d77c]
+	bit 1, a
+	jr z, .asm_16064 ; 0x48a17
+	bit 0, a
+	jr nz, .asm_3b22c ; 0x48a1b
+	call z, $4963
+	call $30b6
+	jr .asm_96252 ; 0x48a23
+.asm_3b22c ; 0x48a25
+	ld hl, UnnamedText_48a68
+	call PrintText
+	jr .asm_96252 ; 0x48a2b
+.asm_16064 ; 0x48a2d
+	ld hl, UnnamedText_48a5e
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $4a63
+	ld de, $4a63
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $4
+	ld [$d05c], a
+	ld a, $3
+	ld [$d5ff], a
+	ld [$da39], a
+.asm_96252 ; 0x48a5b
+	jp TextScriptEnd
+
+UnnamedText_48a5e: ; 0x48a5e
+	TX_FAR _UnnamedText_48a5e
+	db $50
+; 0x48a5e + 5 bytes
+
+UnnamedText_48a63: ; 0x48a63
+	TX_FAR _UnnamedText_48a63
+	db $50
+; 0x48a63 + 5 bytes
+
+UnnamedText_48a68: ; 0x48a68
+	TX_FAR _UnnamedText_48a68
+	db $50
+; 0x48a68 + 5 bytes
+
+CeladonGymText9: ; 0x48a6d
+UnnamedText_48a6d: ; 0x48a6d
+	TX_FAR _UnnamedText_48a6d
+	db $50
+; 0x48a6d + 5 bytes
+
+TM21Text: ; 0x48a72
+	TX_FAR _ReceivedTM21Text ; 0x9d50c
+	db $0B
+	TX_FAR _TM21ExplanationText ; 0x9d520
+	db $50
+; 0x48a7c
+
+TM21NoRoomText: ; 0x48a7c
+	TX_FAR _TM21NoRoomText
+	db $50
+; 0x48a7c + 5 bytes
+
+CeladonGymText2: ; 0x48a81
+	db $08 ; asm
+	ld hl, TrainerHeader_489bc
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48a8b: ; 0x48a8b
+	TX_FAR _UnnamedText_48a8b
+	db $50
+; 0x48a8b + 5 bytes
+
+UnnamedText_48a90: ; 0x48a90
+	TX_FAR _UnnamedText_48a90
+	db $50
+; 0x48a90 + 5 bytes
+
+UnnamedText_48a95: ; 0x48a95
+	TX_FAR _UnnamedText_48a95
+	db $50
+; 0x48a95 + 5 bytes
+
+CeladonGymText3: ; 0x48a9a
+	db $08 ; asm
+	ld hl, TrainerHeader_489c8
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48aa4: ; 0x48aa4
+	TX_FAR _UnnamedText_48aa4
+	db $50
+; 0x48aa4 + 5 bytes
+
+UnnamedText_48aa9: ; 0x48aa9
+	TX_FAR _UnnamedText_48aa9
+	db $50
+; 0x48aa9 + 5 bytes
+
+UnnamedText_48aae: ; 0x48aae
+	TX_FAR _UnnamedText_48aae
+	db $50
+; 0x48aae + 5 bytes
+
+CeladonGymText4: ; 0x48ab3
+	db $08 ; asm
+	ld hl, TrainerHeader_489d4
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48abd: ; 0x48abd
+	TX_FAR _UnnamedText_48abd
+	db $50
+; 0x48abd + 5 bytes
+
+UnnamedText_48ac2: ; 0x48ac2
+	TX_FAR _UnnamedText_48ac2
+	db $50
+; 0x48ac2 + 5 bytes
+
+UnnamedText_48ac7: ; 0x48ac7
+	TX_FAR _UnnamedText_48ac7
+	db $50
+; 0x48ac7 + 5 bytes
+
+CeladonGymText5: ; 0x48acc
+	db $08 ; asm
+	ld hl, TrainerHeader_489e0
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48ad6: ; 0x48ad6
+	TX_FAR _UnnamedText_48ad6
+	db $50
+; 0x48ad6 + 5 bytes
+
+UnnamedText_48adb: ; 0x48adb
+	TX_FAR _UnnamedText_48adb
+	db $50
+; 0x48adb + 5 bytes
+
+UnnamedText_48ae0: ; 0x48ae0
+	TX_FAR _UnnamedText_48ae0
+	db $50
+; 0x48ae0 + 5 bytes
+
+CeladonGymText6: ; 0x48ae5
+	db $08 ; asm
+	ld hl, TrainerHeader_489ec
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48aef: ; 0x48aef
+	TX_FAR _UnnamedText_48aef
+	db $50
+; 0x48aef + 5 bytes
+
+UnnamedText_48af4: ; 0x48af4
+	TX_FAR _UnnamedText_48af4
+	db $50
+; 0x48af4 + 5 bytes
+
+UnnamedText_48af9: ; 0x48af9
+	TX_FAR _UnnamedText_48af9
+	db $50
+; 0x48af9 + 5 bytes
+
+CeladonGymText7: ; 0x48afe
+	db $08 ; asm
+	ld hl, TrainerHeader_489f8
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48b08: ; 0x48b08
+	TX_FAR _UnnamedText_48b08
+	db $50
+; 0x48b08 + 5 bytes
+
+UnnamedText_48b0d: ; 0x48b0d
+	TX_FAR _UnnamedText_48b0d
+	db $50
+; 0x48b0d + 5 bytes
+
+UnnamedText_48b12: ; 0x48b12
+	TX_FAR _UnnamedText_48b12
+	db $50
+; 0x48b12 + 5 bytes
+
+CeladonGymText8: ; 0x48b17
+	db $08 ; asm
+	ld hl, TrainerHeader_48a04
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_48b21: ; 0x48b21
+	TX_FAR _UnnamedText_48b21
+	db $50
+; 0x48b21 + 5 bytes
+
+UnnamedText_48b26: ; 0x48b26
+	TX_FAR _UnnamedText_48b26
+	db $50
+; 0x48b26 + 5 bytes
+
+UnnamedText_48b2b: ; 0x48b2b
+	TX_FAR _UnnamedText_48b2b
+	db $50
+; 0x48b2b + 5 bytes
+
+CeladonGymObject: ; 0x48b30 (size=84)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $11, $4, $6, $ff
+	db $11, $5, $6, $ff
+
+	db $0 ; signs
+
+	db $8 ; people
+	db SPRITE_ERIKA, $3 + 4, $4 + 4, $ff, $d0, $41, ERIKA + $C8, $1 ; trainer
+	db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d3, $42, LASS + $C8, $11 ; trainer
+	db SPRITE_FOULARD_WOMAN, $a + 4, $7 + 4, $ff, $d2, $43, BEAUTY + $C8, $1 ; trainer
+	db SPRITE_LASS, $5 + 4, $9 + 4, $ff, $d0, $44, JR__TRAINER_F + $C8, $b ; trainer
+	db SPRITE_FOULARD_WOMAN, $5 + 4, $1 + 4, $ff, $d0, $45, BEAUTY + $C8, $2 ; trainer
+	db SPRITE_LASS, $3 + 4, $6 + 4, $ff, $d0, $46, LASS + $C8, $12 ; trainer
+	db SPRITE_FOULARD_WOMAN, $3 + 4, $3 + 4, $ff, $d0, $47, BEAUTY + $C8, $3 ; trainer
+	db SPRITE_LASS, $3 + 4, $5 + 4, $ff, $d0, $48, COOLTRAINER_F + $C8, $1 ; trainer
+
+	; warp-to
+	EVENT_DISP $5, $11, $4
+	EVENT_DISP $5, $11, $5
+
+CeladonGymBlocks: ; 0x48b84 45
+	INCBIN "maps/celadongym.blk"
+
+CeladonGameCorner_h: ; 0x48bb1 to 0x48bbd (12 bytes) (bank=12) (id=135)
+	db $12 ; tileset
+	db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x)
+	dw CeladonGameCornerBlocks, CeladonGameCornerTexts, CeladonGameCornerScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonGameCornerObject ; objects
+
+CeladonGameCornerScript: ; 0x48bbd
+	call Unknown_48bcf
+	call $4bec
+	call $3c3c
+	ld hl, CeladonGameCornerScripts
+	ld a, [$d65f]
+	jp $3d97
+; 0x48bcf
+
+Unknown_48bcf: ; 0x48bcf
+INCBIN "baserom.gbc",$48bcf,$48c12 - $48bcf
+
+CeladonGameCornerScripts: ; 0x48c12
+	dw CeladonGameCornerScript0, CeladonGameCornerScript1
+
+INCBIN "baserom.gbc",$48c16,$2
+
+CeladonGameCornerScript0: ; 0x48c18
+	ret
+; 0x48c19
+
+CeladonGameCornerScript1: ; 0x48c19
+INCBIN "baserom.gbc",$48c19,$71
+
+CeladonGameCornerTexts: ; 0x48c8a
+	dw CeladonGameCornerText1, CeladonGameCornerText2, CeladonGameCornerText3, CeladonGameCornerText4, CeladonGameCornerText5, CeladonGameCornerText6, CeladonGameCornerText7, CeladonGameCornerText8, CeladonGameCornerText9, CeladonGameCornerText10, CeladonGameCornerText11, CeladonGameCornerText12, CeladonGameCornerText13
+
+CeladonGameCornerText1: ; 0x48ca4
+	TX_FAR _CeladonGameCornerText1
+	db $50
+
+CeladonGameCornerText2: ; 0x48ca9
+	db $08 ; asm
+	call $4f1e
+	ld hl, UnnamedText_48d22
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_c650b ; 0x48cba
+	ld b,COIN_CASE
+	call $3493
+	jr z, .asm_ed086 ; 0x48cc1
+	call $4f95
+	jr nc, .asm_31338 ; 0x48cc6
+	xor a
+	ldh [$9f], a
+	ldh [$a1], a
+	ld a, $10
+	ldh [$a0], a
+	call $35a6
+	jr nc, .asm_b6ef0 ; 0x48cd4
+	ld hl, $4d31
+	jr .asm_e2afd ; 0x48cd9
+.asm_b6ef0 ; 0x48cdb
+	xor a
+	ldh [$9f], a
+	ldh [$a1], a
+	ld a, $10
+	ldh [$a0], a
+	ld hl, $ffa1
+	ld de, $d349
+	ld c, $3
+	ld a, $c
+	call Predef
+	xor a
+	ldh [$9f], a
+	ldh [$a0], a
+	ld a, $50
+	ldh [$a1], a
+	ld de, $d5a5
+	ld hl, $ffa1
+	ld c, $2
+	ld a, $b
+	call Predef
+	call $4f1e
+	ld hl, UnnamedText_48d27
+	jr .asm_e2afd ; 0x48d0d
+.asm_c650b ; 0x48d0f
+	ld hl, UnnamedText_48d2c
+	jr .asm_e2afd ; 0x48d12
+.asm_31338 ; 0x48d14
+	ld hl, UnnamedText_48d36
+	jr .asm_e2afd ; 0x48d17
+.asm_ed086 ; 0x48d19
+	ld hl, UnnamedText_48d3b
+.asm_e2afd ; 0x48d1c
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_48d22: ; 0x48d22
+	TX_FAR _UnnamedText_48d22
+	db $50
+; 0x48d27
+
+UnnamedText_48d27: ; 0x48d27
+	TX_FAR _UnnamedText_48d27
+	db $50
+; 0x48d2c
+
+UnnamedText_48d2c: ; 0x48d2c
+	TX_FAR _UnnamedText_48d2c
+	db $50
+; 0x48d31
+
+UnnamedText_48d31: ; 0x48d31
+	TX_FAR _UnnamedText_48d31
+	db $50
+; 0x48d36
+
+UnnamedText_48d36: ; 0x48d36
+	TX_FAR _UnnamedText_48d36
+	db $50
+; 0x48d3b
+
+UnnamedText_48d3b: ; 0x48d3b
+	TX_FAR _UnnamedText_48d3b
+	db $50
+; 0x48d40
+
+CeladonGameCornerText3: ; 0x48d40
+	TX_FAR _CeladonGameCornerText3
+	db $50
+
+CeladonGameCornerText4: ; 0x48d45
+	TX_FAR _CeladonGameCornerText4
+	db $50
+
+CeladonGameCornerText5: ; 0x48d4a
+	db $08 ; asm
+	ld a, [$d77e]
+	bit 2, a
+	jr nz, .asm_d0957 ; 0x48d50
+	ld hl, UnnamedText_48d9c
+	call PrintText
+	ld b, COIN_CASE
+	call $3493
+	jr z, .asm_5aef9 ; 0x48d5d
+	call $4f95
+	jr nc, .asm_98546 ; 0x48d62
+	xor a
+	ldh [$9f], a
+	ldh [$a0], a
+	ld a, $10
+	ldh [$a1], a
+	ld de, $d5a5
+	ld hl, $ffa1
+	ld c, $2
+	ld a, $b
+	call Predef
+	ld hl, $d77e
+	set 2, [hl]
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, Received10CoinsText
+	jr .asm_c7d1a ; 0x48d87
+.asm_d0957 ; 0x48d89
+	ld hl, UnnamedText_48dac
+	jr .asm_c7d1a ; 0x48d8c
+.asm_98546 ; 0x48d8e
+	ld hl, UnnamedText_48da7
+	jr .asm_c7d1a ; 0x48d91
+.asm_5aef9 ; 0x48d93
+	ld hl, UnnamedText_48f19
+.asm_c7d1a ; 0x48d96
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_48d9c: ; 0x48d9c
+	TX_FAR _UnnamedText_48d9c
+	db $50
+; 0x48d9c + 5 bytes
+
+Received10CoinsText: ; 0x48da1
+	TX_FAR _Received10CoinsText ; 0x9daa9
+	db $0B, $50
+
+UnnamedText_48da7: ; 0x48da7
+	TX_FAR _UnnamedText_48da7
+	db $50
+; 0x48da7 + 5 bytes
+
+UnnamedText_48dac: ; 0x48dac
+	TX_FAR _UnnamedText_48dac
+	db $50
+; 0x48dac + 5 bytes
+
+CeladonGameCornerText6: ; 0x48db1
+	TX_FAR _CeladonGameCornerText6
+	db $50
+
+CeladonGameCornerText7: ; 0x48db6
+	db $08 ; asm
+	ld a, [$d77c]
+	bit 1, a
+	ld hl, $4dca
+	jr z, .asm_be3fd ; 0x48dbf
+	ld hl, $4dcf
+.asm_be3fd ; 0x48dc4
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_48dca: ; 0x48dca
+	TX_FAR _UnnamedText_48dca
+	db $50
+; 0x48dca + 5 bytes
+
+UnnamedText_48dcf: ; 0x48dcf
+	TX_FAR _UnnamedText_48dcf
+	db $50
+; 0x48dcf + 5 bytes
+
+CeladonGameCornerText8: ; 0x48dd4
+	TX_FAR _CeladonGameCornerText8
+	db $50
+
+CeladonGameCornerText9: ; 0x48dd9
+	db $08 ; asm
+	ld a, [$d77e]
+	bit 4, a
+	jr nz, .asm_ed8bc ; 0x48ddf
+	ld hl, UnnamedText_48e26
+	call PrintText
+	ld b, COIN_CASE
+	call $3493
+	jr z, .asm_df794 ; 0x48dec
+	call $4f95
+	jr nc, .asm_f17c3 ; 0x48df1
+	xor a
+	ldh [$9f], a
+	ldh [$a0], a
+	ld a, $20
+	ldh [$a1], a
+	ld de, $d5a5
+	ld hl, $ffa1
+	ld c, $2
+	ld a, $b
+	call Predef
+	ld hl, $d77e
+	set 4, [hl]
+	ld hl, Received20CoinsText
+	jr .asm_0ddc2 ; 0x48e11
+.asm_ed8bc ; 0x48e13
+	ld hl, UnnamedText_48e36
+	jr .asm_0ddc2 ; 0x48e16
+.asm_f17c3 ; 0x48e18
+	ld hl, UnnamedText_48e31
+	jr .asm_0ddc2 ; 0x48e1b
+.asm_df794 ; 0x48e1d
+	ld hl, UnnamedText_48f19
+.asm_0ddc2 ; 0x48e20
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_48e26: ; 0x48e26
+	TX_FAR _UnnamedText_48e26
+	db $50
+; 0x48e26 + 5 bytes
+
+Received20CoinsText: ; 0x48e2b
+	TX_FAR _Received20CoinsText ; 0x9dc4f
+	db $0B, $50
+; 0x48e31
+
+UnnamedText_48e31: ; 0x48e31
+	TX_FAR _UnnamedText_48e31
+	db $50
+; 0x48e31 + 5 bytes
+
+UnnamedText_48e36: ; 0x48e36
+	TX_FAR _UnnamedText_48e36
+	db $50
+; 0x48e36 + 5 bytes
+
+CeladonGameCornerText10: ; 0x48e3b
+	db $08 ; asm
+	ld a, [$d77e]
+	bit 3, a
+	jr nz, .asm_ff080 ; 0x48e41
+	ld hl, $4e88
+	call PrintText
+	ld b,COIN_CASE
+	call $3493
+	jr z, .asm_4fb0c ; 0x48e4e
+	call $4f95
+	jr z, .asm_9505a ; 0x48e53
+	xor a
+	ldh [$9f], a
+	ldh [$a0], a
+	ld a, $20
+	ldh [$a1], a
+	ld de, $d5a5
+	ld hl, $ffa1
+	ld c, $2
+	ld a, $b
+	call Predef
+	ld hl, $d77e
+	set 3, [hl]
+	ld hl, UnnamedText_48e8d
+	jr .asm_78d65 ; 0x48e73
+.asm_ff080 ; 0x48e75
+	ld hl, UnnamedText_48e98
+	jr .asm_78d65 ; 0x48e78
+.asm_9505a ; 0x48e7a
+	ld hl, UnnamedText_48e93
+	jr .asm_78d65 ; 0x48e7d
+.asm_4fb0c ; 0x48e7f
+	ld hl, UnnamedText_48f19
+.asm_78d65 ; 0x48e82
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_48e88: ; 0x48e88
+	TX_FAR _UnnamedText_48e88
+	db $50
+; 0x48e88 + 5 bytes
+
+UnnamedText_48e8d: ; 0x48e8d
+	TX_FAR _UnnamedText_48e8d ; 0x9dceb
+	db $0B, $50
+; 0x48e93
+
+UnnamedText_48e93: ; 0x48e93
+	TX_FAR _UnnamedText_48e93
+	db $50
+; 0x48e93 + 5 bytes
+
+UnnamedText_48e98: ; 0x48e98
+	TX_FAR _UnnamedText_48e98
+	db $50
+; 0x48e98 + 5 bytes
+
+CeladonGameCornerText11: ; 0x48e9d
+	db $08 ; asm
+	ld hl, UnnamedText_48ece
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_48ed3
+	ld de, $4ed3 ; maybe UnnamedText_48ed3
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	xor a
+	ldh [$b4], a
+	ldh [$b3], a
+	ldh [$b2], a
+	ld a, $1
+	ld [$d65f], a
+	jp TextScriptEnd
+
+UnnamedText_48ece: ; 0x48ece
+	TX_FAR _UnnamedText_48ece
+	db $50
+; 0x48ece + 5 bytes
+
+UnnamedText_48ed3: ; 0x48ed3
+	TX_FAR _UnnamedText_48ed3
+	db $50
+; 0x48ed3 + 5 bytes
+
+CeladonGameCornerText13: ; 0x48ed8
+	TX_FAR _UnnamedText_48ed8
+	db $50
+; 0x48ed8 + 5 bytes
+
+CeladonGameCornerText12: ; 0x48edd
+	db $08 ; asm
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, UnnamedText_48f09
+	call PrintText
+	call $3748
+	ld a, $ad
+	call $23b1
+	call $3748
+	ld hl, $d77e
+	set 1, [hl]
+	ld a, $43
+	ld [$d09f], a
+	ld bc, $0208
+	ld a, $17
+	call Predef
+	jp TextScriptEnd
+
+UnnamedText_48f09: ; 0x48f09
+	TX_FAR _UnnamedText_48f09 ; 0x9ddb0
+	db $8
+	ld a, $9d
+	call $23b1
+	call $3748
+	jp TextScriptEnd
+; 0x48f19
+
+UnnamedText_48f19: ; 0x48f19
+	TX_FAR _UnnamedText_48f19
+	db $50
+; 0x48f19 + 5 bytes
+
+INCBIN "baserom.gbc",$48f1e,$82
+
+CeladonGameCornerObject: ; 0x48fa0 (size=99)
+	db $f ; border tile
+
+	db $3 ; warps
+	db $11, $f, $7, $ff
+	db $11, $10, $7, $ff
+	db $4, $11, $1, ROCKET_HIDEOUT_1
+
+	db $1 ; signs
+	db $4, $9, $c ; CeladonGameCornerText12
+
+	db $b ; people
+	db SPRITE_FOULARD_WOMAN, $6 + 4, $2 + 4, $ff, $d0, $1 ; person
+	db SPRITE_MART_GUY, $6 + 4, $5 + 4, $ff, $d0, $2 ; person
+	db SPRITE_FAT_BALD_GUY, $a + 4, $2 + 4, $ff, $d2, $3 ; person
+	db SPRITE_FOULARD_WOMAN, $d + 4, $2 + 4, $ff, $d2, $4 ; person
+	db SPRITE_FISHER, $b + 4, $5 + 4, $ff, $d3, $5 ; person
+	db SPRITE_MOM_GEISHA, $b + 4, $8 + 4, $ff, $d2, $6 ; person
+	db SPRITE_GYM_HELPER, $e + 4, $8 + 4, $ff, $d2, $7 ; person
+	db SPRITE_GAMBLER, $f + 4, $b + 4, $ff, $d3, $8 ; person
+	db SPRITE_MART_GUY, $b + 4, $e + 4, $ff, $d2, $9 ; person
+	db SPRITE_GENTLEMAN, $d + 4, $11 + 4, $ff, $d3, $a ; person
+	db SPRITE_ROCKET, $5 + 4, $9 + 4, $ff, $d1, $4b, ROCKET + $C8, $7 ; trainer
+
+	; warp-to
+	EVENT_DISP $a, $11, $f
+	EVENT_DISP $a, $11, $10
+	EVENT_DISP $a, $4, $11 ; ROCKET_HIDEOUT_1
+
+CeladonGameCornerBlocks: ; 0x49003 90
+	INCBIN "maps/celadongamecorner.blk"
+
+CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136)
+	db $12 ; tileset
+	db CELADON_HOUSE_HEIGHT, CELADON_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeladonMart5Blocks, CeladonMart5Texts, CeladonMart5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMart5Object ; objects
+
+CeladonMart5Script: ; 0x49069
+	jp $3c3c
+; 0x4906c
+
+CeladonMart5Texts: ; 0x4906c
+	dw CeladonMart5Text1, CeladonMart5Text2, CeladonMart5Text3, CeladonMart5Text4, CeladonMart5Text5
+
+CeladonMart5Text1: ; 0x49076
+	TX_FAR _CeladonMart5Text1
+	db $50
+
+CeladonMart5Text2: ; 0x4907b
+	TX_FAR _CeladonMart5Text2
+	db $50
+
+CeladonMart5Text5: ; 0x49080
+	TX_FAR _CeladonMart5Text5
+	db $50
+
+CeladonMart5Object: ; 0x49085 (size=55)
+	db $f ; border tile
+
+	db $3 ; warps
+	db $1, $c, $0, CELADON_MART_ROOF
+	db $1, $10, $1, CELADON_MART_4
+	db $1, $1, $0, CELADON_MART_ELEVATOR
+
+	db $1 ; signs
+	db $1, $e, $5 ; CeladonMart5Text5
+
+	db $4 ; people
+	db SPRITE_GENTLEMAN, $5 + 4, $e + 4, $fe, $1, $1 ; person
+	db SPRITE_SAILOR, $6 + 4, $2 + 4, $ff, $ff, $2 ; person
+	db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $3 ; person
+	db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $a, $1, $c ; CELADON_MART_ROOF
+	EVENT_DISP $a, $1, $10 ; CELADON_MART_4
+	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
+
+CeladonMart5Blocks: ; 0x490bc 40
+	INCBIN "maps/celadonhouse.blk"
+
+CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137)
+	db $12 ; tileset
+	db CELADONPRIZE_ROOM_HEIGHT, CELADONPRIZE_ROOM_WIDTH ; dimensions (y, x)
+	dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTexts, CeladonPrizeRoomScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonPrizeRoomObject ; objects
+
+CeladonPrizeRoomScript: ; 0x490f0
+	jp $3c3c
+; 0x490f3
+
+CeladonPrizeRoomTexts:
+	dw CeladonPrizeRoomText1, CeladonPrizeRoomText2, CeladonPrizeRoomText3, CeladonPrizeRoomText3, CeladonPrizeRoomText3
+
+CeladonPrizeRoomText1: ; 0x490fd
+	TX_FAR _CeladonPrizeRoomText1
+	db $50
+
+CeladonPrizeRoomText2: ; 0x49102
+	TX_FAR _CeladonPrizeRoomText2
+	db $50
+
+CeladonPrizeRoomText3: ; 0x49107
+	db $f7
+
+CeladonPrizeRoomObject: ; 0x49108 (size=41)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $7, $4, $9, $ff
+	db $7, $5, $9, $ff
+
+	db $3 ; signs
+	db $2, $2, $3 ; CeladonPrizeRoomText3
+	db $2, $4, $4 ; CeladonPrizeRoomText4
+	db $2, $6, $5 ; CeladonPrizeRoomText5
+
+	db $2 ; people
+	db SPRITE_BALDING_GUY, $4 + 4, $1 + 4, $ff, $ff, $1 ; person
+	db SPRITE_GAMBLER, $3 + 4, $7 + 4, $fe, $2, $2 ; person
+
+	; warp-to
+	EVENT_DISP $5, $7, $4
+	EVENT_DISP $5, $7, $5
+
+CeladonPrizeRoomBlocks: ; 0x49131 20
+	INCBIN "maps/celadonprizeroom.blk"
+
+CeladonDiner_h: ; 0x49145 to 0x49151 (12 bytes) (bank=12) (id=138)
+	db $12 ; tileset
+	db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x)
+	dw CeladonDinerBlocks, CeladonDinerTexts, CeladonDinerScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonDinerObject ; objects
+
+CeladonDinerScript: ; 0x49151
+	call $3c3c
+	ret
+; 0x49155
+
+CeladonDinerTexts: ; 0x49155
+	dw CeladonDinerText1, CeladonDinerText2, CeladonDinerText3, CeladonDinerText4, CeladonDinerText5
+
+CeladonDinerText1: ; 0x4915f
+	TX_FAR _CeladonDinerText1
+	db $50
+
+CeladonDinerText2: ; 0x49164
+	TX_FAR _CeladonDinerText2
+	db $50
+
+CeladonDinerText3: ; 0x49169
+	TX_FAR _CeladonDinerText3
+	db $50
+
+CeladonDinerText4: ; 0x4916e
+	TX_FAR _CeladonDinerText4
+	db $50
+
+CeladonDinerText5: ; 0x49173
+	db $08 ; asm
+	ld a, [$d783]
+	bit 0, a
+	jr nz, .asm_eb14d ; 0x49179
+	ld hl, UnnamedText_491a7
+	call PrintText
+	ld bc, (COIN_CASE << 8) | 1
+	call GiveItem
+	jr nc, .asm_78e93 ; 0x49187
+	ld hl, $d783
+	set 0, [hl]
+	ld hl, ReceivedCoinCaseText
+	call PrintText
+	jr .asm_68b61 ; 0x49194
+.asm_78e93 ; 0x49196
+	ld hl, CoinCaseNoRoomText
+	call PrintText
+	jr .asm_68b61 ; 0x4919c
+.asm_eb14d ; 0x4919e
+	ld hl, UnnamedText_491b7
+	call PrintText
+.asm_68b61 ; 0x491a4
+	jp TextScriptEnd
+
+UnnamedText_491a7: ; 0x491a7
+	TX_FAR _UnnamedText_491a7
+	db $50
+; 0x491a7 + 5 bytes
+
+ReceivedCoinCaseText: ; 0x491ac
+	TX_FAR _ReceivedCoinCaseText ; 0x9e07a
+	db $11, $50
+; 0x491b2
+
+CoinCaseNoRoomText: ; 0x491b2
+	TX_FAR _CoinCaseNoRoomText
+	db $50
+; 0x491b2 + 5 bytes
+
+UnnamedText_491b7: ; 0x491b7
+	TX_FAR _UnnamedText_491b7
+	db $50
+; 0x491b7 + 5 bytes
+
+CeladonDinerObject: ; 0x491bc (size=50)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $7, $3, $a, $ff
+	db $7, $4, $a, $ff
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_COOK, $5 + 4, $8 + 4, $fe, $2, $1 ; person
+	db SPRITE_MOM_GEISHA, $2 + 4, $7 + 4, $ff, $ff, $2 ; person
+	db SPRITE_FAT_BALD_GUY, $4 + 4, $1 + 4, $ff, $d0, $3 ; person
+	db SPRITE_FISHER2, $3 + 4, $5 + 4, $ff, $d3, $4 ; person
+	db SPRITE_GYM_HELPER, $1 + 4, $0 + 4, $ff, $d0, $5 ; person
+
+	; warp-to
+	EVENT_DISP $5, $7, $3
+	EVENT_DISP $5, $7, $4
+
+CeladonDinerBlocks: ; 0x491ee 20
+	INCBIN "maps/celadondiner.blk"
+
+CeladonHouse_h: ; 0x49202 to 0x4920e (12 bytes) (bank=12) (id=139)
+	db $13 ; tileset
+	db CELADON_HOUSE_2_HEIGHT, CELADON_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw CeladonHouseBlocks, CeladonHouseTexts, CeladonHouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonHouseObject ; objects
+
+CeladonHouseScript: ; 0x4920e
+	call $3c3c
+	ret
+; 0x49212
+
+CeladonHouseTexts: ; 0x49212
+	dw CeladonHouseText1, CeladonHouseText2, CeladonHouseText3
+
+CeladonHouseText1: ; 0x49218
+	TX_FAR _CeladonHouseText1
+	db $50
+
+CeladonHouseText2: ; 0x4921d
+	TX_FAR _CeladonHouseText2
+	db $50
+
+CeladonHouseText3: ; 0x49222
+	TX_FAR _CeladonHouseText3
+	db $50
+
+CeladonHouseObject: ; 0x49227 (size=38)
+	db $f ; border tile
+
+	db $2 ; warps
+	db $7, $2, $b, $ff
+	db $7, $3, $b, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_OLD_PERSON, $2 + 4, $4 + 4, $ff, $d0, $1 ; person
+	db SPRITE_ROCKET, $4 + 4, $1 + 4, $fe, $0, $2 ; person
+	db SPRITE_SAILOR, $6 + 4, $5 + 4, $ff, $d2, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+CeladonHouseBlocks: ; 0x4924d 16
+	INCBIN "maps/celadonhouse2.blk"
+
+CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140)
+	db $06 ; tileset
+	db CELADONHOTEL_HEIGHT, CELADONHOTEL_WIDTH ; dimensions (y, x)
+	dw CeladonHotelBlocks, CeladonHotelTexts, CeladonHotelScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonHotelObject ; objects
+
+CeladonHotelScript: ; 0x49269
+	jp $3c3c
+; 0x4926c
+
+CeladonHotelTexts: ; 0x4926c
+	dw CeladonHotelText1, CeladonHotelText2, CeladonHotelText3
+
+CeladonHotelText1: ; 0x49272
+	TX_FAR _CeladonHotelText1
+	db $50
+
+CeladonHotelText2: ; 0x49277
+	TX_FAR _CeladonHotelText2
+	db $50
+
+CeladonHotelText3: ; 0x4927c
+	TX_FAR _CeladonHotelText3
+	db $50
+
+CeladonHotelObject: ; 0x49281 (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $c, $ff
+	db $7, $4, $c, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_OLD_MEDIUM_WOMAN, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_FOULARD_WOMAN, $4 + 4, $2 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $8 + 4, $fe, $2, $3 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+CeladonHotelBlocks: ; 0x492a7 28
+	INCBIN "maps/celadonhotel.blk"
+
+MtMoonPokecenter_h: ; 0x492c3 to 0x492cf (12 bytes) (bank=12) (id=68)
+	db $06 ; tileset
+	db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x)
+	dw MtMoonPokecenterBlocks, MtMoonPokecenterTexts, MtMoonPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw MtMoonPokecenterObject ; objects
+
+MtMoonPokecenterScript: ; 0x492cf
+	call $22fa
+	jp $3c3c
+; 0x492d5
+
+MtMoonPokecenterTexts:
+	dw MtMoonPokecenterText1, MtMoonPokecenterText2, MtMoonPokecenterText3, MtMoonPokecenterText4, MtMoonPokecenterText5, MtMoonPokecenterText6
+
+MtMoonPokecenterText1: ; 0x492e0
+	db $ff
+
+MtMoonPokecenterText2: ; 0x492e2
+	TX_FAR _MtMoonPokecenterText1
+	db $50
+
+MtMoonPokecenterText3: ; 0x492e7
+	TX_FAR _MtMoonPokecenterText3
+	db $50
+
+MtMoonPokecenterText4: ; 0x492ec
+	db $08 ; asm
+	ld a, [$d7c6]
+	add a
+	jp c, .asm_49353
+	ld hl, UnnamedText_4935c
+	call PrintText
+	ld a, $13
+	ld [$d125], a
+	call $30e8
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jp nz, .asm_4934e
+	ldh [$9f], a
+	ldh [$a1], a
+	ld a, $5
+	ldh [$a0], a
+	call $35a6
+	jr nc, .asm_faa09 ; 0x49317
+	ld hl, UnnamedText_49366
+	jr .asm_49356 ; 0x4931c
+.asm_faa09 ; 0x4931e
+	ld bc,(MAGIKARP << 8) | 5
+	call GivePokemon
+	jr nc, .asm_49359 ; 0x49324
+	xor a
+	ld [W_WHICHTRADE], a
+	ld [$cd3f], a
+	ld a, $5
+	ld [$cd3e], a
+	ld hl, $cd3f
+	ld de, $d349
+	ld c, $3
+	ld a, $c
+	call Predef
+	ld a, $13
+	ld [$d125], a
+	call $30e8
+	ld hl, $d7c6
+	set 7, [hl]
+	jr .asm_49359 ; 0x4934c
+.asm_4934e ; 0x4934e
+	ld hl, UnnamedText_49361
+	jr .asm_49356 ; 0x49351
+.asm_49353 ; 0x49353
+	ld hl, UnnamedText_4936b
+.asm_49356 ; 0x49356
+	call PrintText
+.asm_49359 ; 0x49359
+	jp TextScriptEnd
+
+UnnamedText_4935c: ; 0x4935c
+	TX_FAR _UnnamedText_4935c
+	db $50
+; 0x4935c + 5 bytes
+
+UnnamedText_49361: ; 0x49361
+	TX_FAR _UnnamedText_49361
+	db $50
+; 0x49361 + 5 bytes
+
+UnnamedText_49366: ; 0x49366
+	TX_FAR _UnnamedText_49366
+	db $50
+; 0x49366 + 5 bytes
+
+UnnamedText_4936b: ; 0x4936b
+	TX_FAR _UnnamedText_4936b
+	db $50
+; 0x4936b + 5 bytes
+
+MtMoonPokecenterText5: ; 0x49370
+	TX_FAR _MtMoonPokecenterText5
+	db $50
+
+MtMoonPokecenterText6:
+	db $f6
+
+MtMoonPokecenterObject: ; 0x49376 (size=56)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $0, $ff
+	db $7, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $6 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_BUG_CATCHER, $3 + 4, $4 + 4, $ff, $d1, $2 ; person
+	db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $ff, $d1, $3 ; person
+	db SPRITE_FAT_BALD_GUY, $6 + 4, $a + 4, $fe, $2, $4 ; person
+	db SPRITE_CLIPBOARD, $2 + 4, $7 + 4, $ff, $ff, $5 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $6 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+RockTunnelPokecenter_h: ; 0x493ae to 0x493ba (12 bytes) (id=81)
+	db $06 ; tileset
+	db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x)
+	dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTexts, RockTunnelPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw RockTunnelPokecenterObject ; objects
+
+RockTunnelPokecenterScript: ; 0x493ba
+	call $22fa
+	jp $3c3c
+; 0x493c0
+
+RockTunnelPokecenterTexts:
+	dw RockTunnelPokecenterText1, RockTunnelPokecenterText2, RockTunnelPokecenterText3, RockTunnelPokecenterText4
+
+RockTunnelPokecenterText1: ; 0x493c8
+	db $ff
+
+RockTunnelPokecenterText2: ; 0x493c9
+	TX_FAR _RockTunnelPokecenterText1
+	db $50
+
+RockTunnelPokecenterText3: ; 0x493ce
+	TX_FAR _RockTunnelPokecenterText3
+	db $50
+
+RockTunnelPokecenterText4: ; 0x493d3
+	db $f6
+
+RockTunnelPokecenterObject: ; 0x493d4 (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $0, $ff
+	db $7, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GENTLEMAN, $3 + 4, $7 + 4, $fe, $2, $2 ; person
+	db SPRITE_FISHER2, $5 + 4, $2 + 4, $ff, $ff, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84)
+	db $0c ; tileset
+	db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route11GateBlocks, Route11GateTexts, Route11GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route11GateObject ; objects
+
+Route11GateScript: ; 0x4940c
+	jp $3c3c
+; 0x4940f
+
+Route11GateTexts: ; 0x4940f
+	dw Route11GateText1
+
+Route11GateText1: ; 0x49411
+	TX_FAR _Route11GateText1
+	db $50
+
+Route11GateObject: ; 0x49416 (size=50)
+	db $a ; border tile
+
+	db $5 ; warps
+	db $4, $0, $0, $ff
+	db $5, $0, $1, $ff
+	db $4, $7, $2, $ff
+	db $5, $7, $3, $ff
+	db $8, $6, $0, ROUTE_11_GATE_2F
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $4, $0
+	EVENT_DISP $4, $5, $0
+	EVENT_DISP $4, $4, $7
+	EVENT_DISP $4, $5, $7
+	EVENT_DISP $4, $8, $6 ; ROUTE_11_GATE_2F
+
+Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86)
+	db $0c ; tileset
+	db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route11GateUpstairsBlocks, Route11GateUpstairsTexts, Route11GateUpstairsScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route11GateUpstairsObject ; objects
+
+Route11GateUpstairsScript: ; 0x49454
+	jp $3c3f
+; 0x49457
+
+Route11GateUpstairsTexts:
+	dw Route11GateUpstairsText1, Route11GateUpstairsText2, Route11GateUpstairsText3, Route11GateUpstairsText4
+
+Route11GateUpstairsText1: ; 0x4945f
+	db $08 ; asm
+	xor a
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+asm_49469:
+	jp TextScriptEnd
+
+Route11GateUpstairsText2: ; 0x4946c
+	db $8
+	ld a, [$d7d6]
+	add a
+	jr c, .asm_4949b ; 0x49471 $28
+	ld a, $1e
+	ld [$ff00+$db], a
+	ld a, $47
+	ld [$ff00+$dc], a
+	ld [$d11e], a
+	call $2fcf
+	ld h, d
+	ld l, e
+	ld de, $cc5b
+	ld bc, $000d
+	call CopyData
+	ld a, $62
+	call Predef
+	ld a, [$ff00+$db]
+	dec a
+	jr nz, .asm_494a1 ; 0x49494 $b
+	ld hl, $d7d6
+	set 7, [hl]
+.asm_4949b
+	ld hl, UnnamedText_494a3
+	call PrintText
+.asm_494a1
+	jr asm_49469 ; 0x494a1 $c6
+; 0x494a3
+
+UnnamedText_494a3: ; 0x494a3
+	TX_FAR _UnnamedText_494a3
+	db $50
+; 0x494a3 + 5 bytes
+
+Route11GateUpstairsText3: ; 0x494a8
+	db $08 ; asm
+	ld a, [$c109]
+	cp $4
+	jp nz, Unnamed_55c9
+	ld a, [$d7d8]
+	bit 7, a
+	ld hl, UnnamedText_494c4
+	jr z, .asm_5ac80 ; 0x494b9
+	ld hl, UnnamedText_494c9
+.asm_5ac80 ; 0x494be
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_494c4: ; 0x494c4
+	TX_FAR _UnnamedText_494c4
+	db $50
+; 0x494c4 + 5 bytes
+
+UnnamedText_494c9: ; 0x494c9
+	TX_FAR _UnnamedText_494c9
+	db $50
+; 0x494c9 + 5 bytes
+
+Route11GateUpstairsText4: ; 0x494ce
+	db $8
+	ld hl, $54d5
+	jp Unnamed_55c9
+; 0x494d5
+
+UnnamedText_494d5: ; 0x494d5
+	TX_FAR _UnnamedText_494d5
+	db $50
+; 0x494d5 + 5 bytes
+
+Route11GateUpstairsObject: ; 0x494da (size=30)
+	db $a ; border tile
+
+	db $1 ; warps
+	db $7, $7, $4, ROUTE_11_GATE_1F
+
+	db $2 ; signs
+	db $2, $1, $3 ; Route11GateUpstairsText3
+	db $2, $6, $4 ; Route11GateUpstairsText4
+
+	db $2 ; people
+	db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person
+	db SPRITE_OAK_AIDE, $6 + 4, $2 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $7 ; ROUTE_11_GATE_1F
+
+Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87)
+	db $0c ; tileset
+	db ROUTE_12_GATE_HEIGHT, ROUTE_12_GATE_WIDTH ; dimensions (y, x)
+	dw Route12GateBlocks, Route12GateTexts, Route12GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route12GateObject ; objects
+
+Route12GateScript: ; 0x49504
+	jp $3c3c
+; 0x49507
+
+Route12GateTexts: ; 0x49507
+	dw Route12GateText1
+
+Route12GateText1: ; 0x49509
+	TX_FAR _Route12GateText1
+	db $50
+
+Route12GateObject: ; 0x4950e (size=50)
+	db $a ; border tile
+
+	db $5 ; warps
+	db $0, $4, $0, $ff
+	db $0, $5, $1, $ff
+	db $7, $4, $2, $ff
+	db $7, $5, $2, $ff
+	db $6, $8, $0, ROUTE_12_GATE_2F
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $3 + 4, $1 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $5, $0, $4
+	EVENT_DISP $5, $0, $5
+	EVENT_DISP $5, $7, $4
+	EVENT_DISP $5, $7, $5
+	EVENT_DISP $5, $6, $8 ; ROUTE_12_GATE_2F
+
+Route12GateBlocks: ; 0x49540 20
+	INCBIN "maps/route12gate.blk"
+
+Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195)
+	db $0c ; tileset
+	db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route12GateUpstairsBlocks, Route12GateUpstairsTexts, Route12GateUpstairsScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route12GateUpstairsObject ; objects
+
+Route12GateUpstairsScript: ; 0x49560
+	jp $3c3f
+; 0x49563
+
+Route12GateUpstairsTexts: ; 0x49563
+	dw Route12GateUpstairsText1, Route12GateUpstairsText2, Route12GateUpstairsText3
+
+Route12GateUpstairsText1: ; 0x49569
+	db $08 ; asm
+	ld a, [$d7d7]
+	rrca
+	jr c, .asm_0ad3c ; 0x4956e
+	ld hl, UnnamedText_4959c
+	call PrintText
+	ld bc, (TM_39 << 8) | 1
+	call GiveItem
+	jr nc, .asm_4c2be ; 0x4957c
+	ld hl, ReceivedTM39Text
+	call PrintText
+	ld hl, $d7d7
+	set 0, [hl]
+	jr .asm_4ba56 ; 0x49589
+.asm_4c2be ; 0x4958b
+	ld hl, UnnamedText_495ac
+	call PrintText
+	jr .asm_4ba56 ; 0x49591
+.asm_0ad3c ; 0x49593
+	ld hl, UnnamedText_495a7
+	call PrintText
+.asm_4ba56 ; 0x49599
+	jp TextScriptEnd
+
+UnnamedText_4959c: ; 0x4959c
+	TX_FAR _UnnamedText_4959c
+	db $50
+; 0x4959c + 5 bytes
+
+ReceivedTM39Text: ; 0x495a1
+	TX_FAR _ReceivedTM39Text ; 0x8c8c6
+	db $0B, $50
+; 0x495a7
+
+UnnamedText_495a7: ; 0x495a7
+	TX_FAR _UnnamedText_495a7
+	db $50
+; 0x495a7 + 5 bytes
+
+UnnamedText_495ac: ; 0x495ac
+	TX_FAR _UnnamedText_495ac
+	db $50
+; 0x495ac + 5 bytes
+
+Route12GateUpstairsText2: ; 0x495b1
+	db $08 ; asm
+	ld hl, UnnamedText_495b8
+	jp Unnamed_55c9
+
+UnnamedText_495b8: ; 0x495b8
+	TX_FAR _UnnamedText_495b8 ; 0x8c95a
+	db $50
+; 0x495bd
+
+Route12GateUpstairsText3: ; 0x495bd
+	db $8
+	ld hl, UnnamedText_495c4
+	jp Unnamed_55c9
+; 0x495c4
+
+UnnamedText_495c4: ; 0x495c4
+	TX_FAR _UnnamedText_495c4
+	db $50
+; 0x495c4 + 5 bytes
+
+Unnamed_55c9:
+	ld a, [$c109]
+	cp $4
+	jr z, .asm_495d4 ; 0x495ce $4
+	ld a, $1
+	jr .asm_495d8 ; 0x495d2 $4
+.asm_495d4
+	call PrintText
+	xor a
+.asm_495d8
+	ld [$cc3c], a
+	jp TextScriptEnd
+; 0x495de
+
+Route12GateUpstairsObject: ; 0x495de (size=24)
+	db $a ; border tile
+
+	db $1 ; warps
+	db $7, $7, $4, ROUTE_12_GATE
+
+	db $2 ; signs
+	db $2, $1, $2 ; Route12GateUpstairsText2
+	db $2, $6, $3 ; Route12GateUpstairsText3
+
+	db $1 ; people
+	db SPRITE_BRUNETTE_GIRL, $4 + 4, $3 + 4, $fe, $1, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $7 ; ROUTE_12_GATE
+
+Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184)
+	db $0c ; tileset
+	db ROUTE_15_GATE_HEIGHT, ROUTE_15_GATE_WIDTH ; dimensions (y, x)
+	dw Route15GateBlocks, Route15GateTexts, Route15GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route15GateObject ; objects
+
+Route15GateScript: ; 0x49602
+	jp $3c3c
+; 0x49605
+
+Route15GateTexts: ; 0x49605
+	dw Route15GateText1
+
+Route15GateText1: ; 0x49607
+	TX_FAR _Route15GateText1
+	db $50
+
+Route15GateObject: ; 0x4960c (size=50)
+	db $a ; border tile
+
+	db $5 ; warps
+	db $4, $0, $0, $ff
+	db $5, $0, $1, $ff
+	db $4, $7, $2, $ff
+	db $5, $7, $3, $ff
+	db $8, $6, $0, $b9
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $4, $0
+	EVENT_DISP $4, $5, $0
+	EVENT_DISP $4, $4, $7
+	EVENT_DISP $4, $5, $7
+	EVENT_DISP $4, $8, $6
+
+INCBIN "baserom.gbc",$4963e,$4968c - $4963e
+
+UnnamedText_4968c: ; 0x4968c
+	TX_FAR _UnnamedText_4968c
+	db $50
+; 0x4968c + 5 bytes
+
+INCBIN "baserom.gbc",$49691,$49698 - $49691
+
+UnnamedText_49698: ; 0x49698
+	TX_FAR _UnnamedText_49698
+	db $50
+; 0x49698 + 5 bytes
+
+INCBIN "baserom.gbc",$4969d,$15
+
+Route16GateMap_h: ; 0x496b2 to 0x496be (12 bytes) (id=186)
+	db $0c ; tileset
+	db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route16GateMapBlocks, Route16GateMapTexts, Route16GateMapScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route16GateMapObject ; objects
+
+Route16GateMapScript: ; 0x496be
+	ld hl, $d732
+	res 5, [hl]
+	call $3c3c
+	ld a, [$d660]
+	ld hl, Route16GateMapScripts
+	jp $3d97
+; 0x496cf
+
+Route16GateMapScripts: ; 0x496cf
+	dw Route16GateMapScript0
+
+INCBIN "baserom.gbc",$496d1,$6
+
+Route16GateMapScript0: ; 0x496d7
+	call $5755
+	ret nz
+	ld hl, $5714
+	call $34bf
+	ret nc
+	ld a, $3
+	ld [$ff00+$8c], a
+	call $2920
+	xor a
+	ld [$ff00+$b4], a
+	ld a, [$cd3d]
+	cp $1
+	jr z, .asm_4970e ; 0x496f1 $1b
+	ld a, [$cd3d]
+	dec a
+	ld [$cd38], a
+	ld b, $0
+	ld c, a
+	ld a, $40
+	ld hl, $ccd3
+	call $36e0
+	call $3486
+	ld a, $1
+	ld [$d660], a
+	ret
+.asm_4970e
+	ld a, $2
+	ld [$d660], a
+	ret
+; 0x49714
+
+INCBIN "baserom.gbc",$49714,$46
+
+Route16GateMapTexts: ; 0x4975a
+	dw Route16GateMapText1, Route16GateMapText2, Route16GateMapText3
+
+Route16GateMapText1: ; 0x49760
+	db $08 ; asm
+	call $5755
+	jr z, .asm_0bdf3 ; 0x49764
+	ld hl, UnnamedText_4977c
+	call PrintText
+	jr .asm_56c9d ; 0x4976c
+.asm_0bdf3 ; 0x4976e
+	ld hl, UnnamedText_49777
+	call PrintText
+.asm_56c9d ; 0x49774
+	jp TextScriptEnd
+
+UnnamedText_49777: ; 0x49777
+	TX_FAR _UnnamedText_49777
+	db $50
+; 0x49777 + 5 bytes
+
+UnnamedText_4977c: ; 0x4977c
+	TX_FAR _UnnamedText_4977c
+	db $50
+; 0x4977c + 5 bytes
+
+Route16GateMapText3: ; 0x49781
+	TX_FAR _UnnamedText_49781
+	db $50
+; 0x49781 + 5 bytes
+
+Route16GateMapText2: ; 0x49786
+	TX_FAR _Route16GateMapText2
+	db $50
+
+Route16GateMapObject: ; 0x4978b (size=88)
+	db $a ; border tile
+
+	db $9 ; warps
+	db $8, $0, $0, $ff
+	db $9, $0, $1, $ff
+	db $8, $7, $2, $ff
+	db $9, $7, $2, $ff
+	db $2, $0, $4, $ff
+	db $3, $0, $5, $ff
+	db $2, $7, $6, $ff
+	db $3, $7, $7, $ff
+	db $c, $6, $0, ROUTE_16_GATE_2F
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_GUARD, $5 + 4, $4 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GAMBLER, $3 + 4, $4 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $8, $0
+	EVENT_DISP $4, $9, $0
+	EVENT_DISP $4, $8, $7
+	EVENT_DISP $4, $9, $7
+	EVENT_DISP $4, $2, $0
+	EVENT_DISP $4, $3, $0
+	EVENT_DISP $4, $2, $7
+	EVENT_DISP $4, $3, $7
+	EVENT_DISP $4, $c, $6 ; ROUTE_16_GATE_2F
+
+Route16GateMapBlocks: ; 0x497e3 28
+	INCBIN "maps/route16gatemap.blk"
+
+Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187)
+	db $0c ; tileset
+	db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route16GateUpstairsBlocks, Route16GateUpstairsTexts, Route16GateUpstairsScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route16GateUpstairsObject ; objects
+
+Route16GateUpstairsScript: ; 0x4980b
+	jp $3c3f
+; 0x4980e
+
+Route16GateUpstairsTexts: ; 0x4980e
+	dw Route16GateUpstairsText1, Route16GateUpstairsText2, Route16GateUpstairsText3, Route16GateUpstairsText4
+
+Route16GateUpstairsText1: ; 0x49816
+	db $08 ; asm
+	ld hl, UnnamedText_49820
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_49820: ; 0x49820
+	TX_FAR _UnnamedText_49820
+	db $50
+; 0x49820 + 5 bytes
+
+Route16GateUpstairsText2: ; 0x49825
+	db $08 ; asm
+	ld hl, UnnamedText_4982f
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_4982f: ; 0x4982f
+	TX_FAR _UnnamedText_4982f
+	db $50
+; 0x4982f + 5 bytes
+
+Route16GateUpstairsText3: ; 0x49834
+	db $8
+	ld hl, UnnamedText_4983b
+	jp $55c9
+; 0x4983b
+
+UnnamedText_4983b: ; 0x4983b
+	TX_FAR _UnnamedText_4983b
+	db $50
+; 0x4983b + 5 bytes
+
+Route16GateUpstairsText4: ; 0x49840
+	db $8
+	ld hl, $5847
+	jp $55c9
+; 0x49847
+
+UnnamedText_49847: ; 0x49847
+	TX_FAR _UnnamedText_49847
+	db $50
+; 0x49847 + 5 bytes
+
+Route16GateUpstairsObject: ; 0x4984c (size=30)
+	db $a ; border tile
+
+	db $1 ; warps
+	db $7, $7, $8, ROUTE_16_GATE_1F
+
+	db $2 ; signs
+	db $2, $1, $3 ; Route16GateUpstairsText3
+	db $2, $6, $4 ; Route16GateUpstairsText4
+
+	db $2 ; people
+	db SPRITE_YOUNG_BOY, $2 + 4, $4 + 4, $ff, $ff, $1 ; person
+	db SPRITE_LITTLE_GIRL, $5 + 4, $2 + 4, $fe, $2, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $7 ; ROUTE_16_GATE_1F
+
+Route18Gate_h: ; 0x4986a to 0x49876 (12 bytes) (id=190)
+	db $0c ; tileset
+	db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route18GateBlocks, Route18GateTexts, Route18GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route18GateObject ; objects
+
+Route18GateScript: ; 0x49876
+	ld hl, $d732
+	res 5, [hl]
+	call $3c3c
+	ld a, [$d669]
+	ld hl, Route18GateScripts
+	jp $3d97
+; 0x49887
+
+Route18GateScripts: ; 0x49887
+	dw Route18GateScript0
+
+INCBIN "baserom.gbc",$49889,$6
+
+Route18GateScript0: ; 0x4988f
+	call $5755
+	ret nz
+	ld hl, $58cc
+	call $34bf
+	ret nc
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $2920
+	xor a
+	ld [$ff00+$b4], a
+	ld a, [$cd3d]
+	cp $1
+	jr z, .asm_498c6 ; 0x498a9 $1b
+	ld a, [$cd3d]
+	dec a
+	ld [$cd38], a
+	ld b, $0
+	ld c, a
+	ld a, $40
+	ld hl, $ccd3
+	call $36e0
+	call $3486
+	ld a, $1
+	ld [$d669], a
+	ret
+.asm_498c6
+	ld a, $2
+	ld [$d669], a
+	ret
+; 0x498cc
+
+INCBIN "baserom.gbc",$498cc,$41
+
+Route18GateTexts: ; 0x4990d
+	dw Route18GateText1, Route18GateText2
+
+Route18GateText1: ; 0x49911
+	db $08 ; asm
+	call $5755
+	jr z, .asm_3c84d ; 0x49915
+	ld hl, UnnamedText_4992d
+	call PrintText
+	jr .asm_a8410 ; 0x4991d
+.asm_3c84d ; 0x4991f
+	ld hl, UnnamedText_49928
+	call PrintText
+.asm_a8410 ; 0x49925
+	jp TextScriptEnd
+
+UnnamedText_49928: ; 0x49928
+	TX_FAR _UnnamedText_49928
+	db $50
+; 0x4992d
+
+UnnamedText_4992d: ; 0x4992d
+	TX_FAR _UnnamedText_4992d
+	db $50
+; 0x49932
+
+Route18GateText2: ; 0x49932
+	TX_FAR _UnnamedText_49932
+	db $50
+; 0x49937
+
+Route18GateObject: ; 0x49937 (size=50)
+	db $a ; border tile
+
+	db $5 ; warps
+	db $4, $0, $0, $ff
+	db $5, $0, $1, $ff
+	db $4, $7, $2, $ff
+	db $5, $7, $3, $ff
+	db $8, $6, $0, ROUTE_18_GATE_2F
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GUARD, $1 + 4, $4 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $4, $0
+	EVENT_DISP $4, $5, $0
+	EVENT_DISP $4, $4, $7
+	EVENT_DISP $4, $5, $7
+	EVENT_DISP $4, $8, $6 ; ROUTE_18_GATE_2F
+
+Route18GateHeader_h: ; 0x49969 to 0x49975 (12 bytes) (id=191)
+	db $0c ; tileset
+	db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route18GateHeaderBlocks, Route18GateHeaderTexts, Route18GateHeaderScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route18GateHeaderObject ; objects
+
+Route18GateHeaderScript: ; 0x49975
+	jp $3c3f
+; 0x49978
+
+Route18GateHeaderTexts: ; 0x49978
+	dw Route18GateHeaderText1, Route18GateHeaderText2, Route18GateHeaderText3
+
+Route18GateHeaderText1: ; 0x4997e
+	db $08 ; asm
+	ld a, $5
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+	jp TextScriptEnd
+
+Route18GateHeaderText2: ; 0x4998c
+	db $8
+	ld hl, $5993
+	jp $55c9
+; 0x49993
+
+UnnamedText_49993: ; 0x49993
+	TX_FAR _UnnamedText_49993
+	db $50
+; 0x49993 + 5 bytes
+
+Route18GateHeaderText3: ; 0x49998
+	db $8
+	ld hl, $599f
+	jp $55c9
+; 0x4999f
+
+UnnamedText_4999f: ; 0x4999f
+	TX_FAR _UnnamedText_4999f
+	db $50
+; 0x4999f + 5 bytes
+
+Route18GateHeaderObject: ; 0x499a4 (size=24)
+	db $a ; border tile
+
+	db $1 ; warps
+	db $7, $7, $4, ROUTE_18_GATE_1F
+
+	db $2 ; signs
+	db $2, $1, $2 ; Route18GateHeaderText2
+	db $2, $6, $3 ; Route18GateHeaderText3
+
+	db $1 ; people
+	db SPRITE_BUG_CATCHER, $2 + 4, $4 + 4, $fe, $2, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $7 ; ROUTE_18_GATE_1F
+
+MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59)
+	db $11 ; tileset
+	db MT_MOON_1_HEIGHT, MT_MOON_1_WIDTH ; dimensions (y, x)
+	dw MtMoon1Blocks, MtMoon1Texts, MtMoon1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw MtMoon1Object ; objects
+
+MtMoon1Script: ; 0x499c8
+	call $3c3c
+	ld hl, TrainerHeader_499fd
+	ld de, Unknown_59db
+	ld a, [$d606]
+	call $3160
+	ld [$d606], a
+	ret
+; 0x499db
+
+Unknown_59db: ; 0x59db
+INCBIN "baserom.gbc",$499db,$6
+
+MtMoon1Texts: ; 0x499e1
+	dw MtMoon1Text1, MtMoon1Text2, MtMoon1Text3, MtMoon1Text4, MtMoon1Text5, MtMoon1Text6, MtMoon1Text7, MtMoon1Text8, MtMoon1Text9, MtMoon1Text10, MtMoon1Text11, MtMoon1Text12, MtMoon1Text13, MtMoon1Text14
+
+MtMoon1TrainerHeaders:
+TrainerHeader_499fd: ; 0x499fd
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw UnnamedText_49a98 ; 0x5a98 TextBeforeBattle
+	dw UnnamedText_49aa2 ; 0x5aa2 TextAfterBattle
+	dw UnnamedText_49a9d ; 0x5a9d TextEndBattle
+	dw UnnamedText_49a9d ; 0x5a9d TextEndBattle
+; 0x49a09
+
+TrainerHeader_49a09: ; 0x49a09
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw UnnamedText_49aa7 ; 0x5aa7 TextBeforeBattle
+	dw UnnamedText_49ab1 ; 0x5ab1 TextAfterBattle
+	dw UnnamedText_49aac ; 0x5aac TextEndBattle
+	dw UnnamedText_49aac ; 0x5aac TextEndBattle
+; 0x49a15
+
+TrainerHeader_49a15: ; 0x49a15
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw UnnamedText_49ab6 ; 0x5ab6 TextBeforeBattle
+	dw UnnamedText_49ac0 ; 0x5ac0 TextAfterBattle
+	dw UnnamedText_49abb ; 0x5abb TextEndBattle
+	dw UnnamedText_49abb ; 0x5abb TextEndBattle
+; 0x49a21
+
+TrainerHeader_49a21: ; 0x49a21
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw UnnamedText_49ac5 ; 0x5ac5 TextBeforeBattle
+	dw UnnamedText_49acf ; 0x5acf TextAfterBattle
+	dw UnnamedText_49aca ; 0x5aca TextEndBattle
+	dw UnnamedText_49aca ; 0x5aca TextEndBattle
+; 0x49a2d
+
+TrainerHeader_49a2d: ; 0x49a2d
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw UnnamedText_49ad4 ; 0x5ad4 TextBeforeBattle
+	dw UnnamedText_49ade ; 0x5ade TextAfterBattle
+	dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle
+	dw UnnamedText_49ad9 ; 0x5ad9 TextEndBattle
+; 0x49a39
+
+TrainerHeader_49a39: ; 0x49a39
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw UnnamedText_49ae3 ; 0x5ae3 TextBeforeBattle
+	dw UnnamedText_49aed ; 0x5aed TextAfterBattle
+	dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle
+	dw UnnamedText_49ae8 ; 0x5ae8 TextEndBattle
+; 0x49a45
+
+TrainerHeader_49a45: ; 0x49a45
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f5 ; flag's byte
+	dw MainMenu ; 0x5af2 TextBeforeBattle
+	dw UnnamedText_49afc ; 0x5afc TextAfterBattle
+	dw UnnamedText_49af7 ; 0x5af7 TextEndBattle
+	dw UnnamedText_49af7 ; 0x5af7 TextEndBattle
+; 0x49a51
+
+db $ff
+
+MtMoon1Text1: ; 0x49a52
+	db $08 ; asm
+	ld hl, TrainerHeader_499fd
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon1Text2: ; 0x49a5c
+	db $08 ; asm
+	ld hl, TrainerHeader_49a09
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon1Text3: ; 0x49a66
+	db $08 ; asm
+	ld hl, TrainerHeader_49a15
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon1Text4: ; 0x49a70
+	db $08 ; asm
+	ld hl, TrainerHeader_49a21
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon1Text5: ; 0x49a7a
+	db $08 ; asm
+	ld hl, TrainerHeader_49a2d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon1Text6: ; 0x49a84
+	db $08 ; asm
+	ld hl, TrainerHeader_49a39
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon1Text7: ; 0x49a8e
+	db $08 ; asm
+	ld hl, TrainerHeader_49a45
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_49a98: ; 0x49a98
+	TX_FAR _UnnamedText_49a98
+	db $50
+; 0x49a98 + 5 bytes
+
+UnnamedText_49a9d: ; 0x49a9d
+	TX_FAR _UnnamedText_49a9d
+	db $50
+; 0x49a9d + 5 bytes
+
+UnnamedText_49aa2: ; 0x49aa2
+	TX_FAR _UnnamedText_49aa2
+	db $50
+; 0x49aa2 + 5 bytes
+
+UnnamedText_49aa7: ; 0x49aa7
+	TX_FAR _UnnamedText_49aa7
+	db $50
+; 0x49aa7 + 5 bytes
+
+UnnamedText_49aac: ; 0x49aac
+	TX_FAR _UnnamedText_49aac
+	db $50
+; 0x49aac + 5 bytes
+
+UnnamedText_49ab1: ; 0x49ab1
+	TX_FAR _UnnamedText_49ab1
+	db $50
+; 0x49ab1 + 5 bytes
+
+UnnamedText_49ab6: ; 0x49ab6
+	TX_FAR _UnnamedText_49ab6
+	db $50
+; 0x49ab6 + 5 bytes
+
+UnnamedText_49abb: ; 0x49abb
+	TX_FAR _UnnamedText_49abb
+	db $50
+; 0x49abb + 5 bytes
+
+UnnamedText_49ac0: ; 0x49ac0
+	TX_FAR _UnnamedText_49ac0
+	db $50
+; 0x49ac0 + 5 bytes
+
+UnnamedText_49ac5: ; 0x49ac5
+	TX_FAR _UnnamedText_49ac5
+	db $50
+; 0x49ac5 + 5 bytes
+
+UnnamedText_49aca: ; 0x49aca
+	TX_FAR _UnnamedText_49aca
+	db $50
+; 0x49aca + 5 bytes
+
+UnnamedText_49acf: ; 0x49acf
+	TX_FAR _UnnamedText_49acf
+	db $50
+; 0x49acf + 5 bytes
+
+UnnamedText_49ad4: ; 0x49ad4
+	TX_FAR _UnnamedText_49ad4
+	db $50
+; 0x49ad4 + 5 bytes
+
+UnnamedText_49ad9: ; 0x49ad9
+	TX_FAR _UnnamedText_49ad9
+	db $50
+; 0x49ad9 + 5 bytes
+
+UnnamedText_49ade: ; 0x49ade
+	TX_FAR _UnnamedText_49ade
+	db $50
+; 0x49ade + 5 bytes
+
+UnnamedText_49ae3: ; 0x49ae3
+	TX_FAR _UnnamedText_49ae3
+	db $50
+; 0x49ae3 + 5 bytes
+
+UnnamedText_49ae8: ; 0x49ae8
+	TX_FAR _UnnamedText_49ae8
+	db $50
+; 0x49ae8 + 5 bytes
+
+UnnamedText_49aed: ; 0x49aed
+	TX_FAR _UnnamedText_49aed
+	db $50
+; 0x49aed + 5 bytes
+
+UnnamedText_49af2: ; 0x49af2
+	TX_FAR _UnnamedText_49af2
+	db $50
+; 0x49af2 + 5 bytes
+
+UnnamedText_49af7: ; 0x49af7
+	TX_FAR _UnnamedText_49af7
+	db $50
+; 0x49af7 + 5 bytes
+
+UnnamedText_49afc: ; 0x49afc
+	TX_FAR _UnnamedText_49afc
+	db $50
+; 0x49afc + 5 bytes
+
+MtMoon1Text14: ; 0x49b01
+	TX_FAR _MtMoon1Text14
+	db $50
+
+MtMoon1Object: ; 0x49b06 (size=145)
+	db $3 ; border tile
+
+	db $5 ; warps
+	db $23, $e, $1, $ff
+	db $23, $f, $1, $ff
+	db $5, $5, $0, MT_MOON_2
+	db $b, $11, $2, MT_MOON_2
+	db $f, $19, $3, MT_MOON_2
+
+	db $1 ; signs
+	db $17, $f, $e ; MtMoon1Text14
+
+	db $d ; people
+	db SPRITE_HIKER, $6 + 4, $5 + 4, $ff, $d0, $41, HIKER + $C8, $1 ; trainer
+	db SPRITE_BUG_CATCHER, $10 + 4, $c + 4, $ff, $d3, $42, YOUNGSTER + $C8, $3 ; trainer
+	db SPRITE_LASS, $4 + 4, $1e + 4, $ff, $d0, $43, LASS + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $1f + 4, $18 + 4, $ff, $d1, $44, SUPER_NERD + $C8, $1 ; trainer
+	db SPRITE_LASS, $17 + 4, $10 + 4, $ff, $d0, $45, LASS + $C8, $6 ; trainer
+	db SPRITE_BUG_CATCHER, $16 + 4, $7 + 4, $ff, $d0, $46, BUG_CATCHER + $C8, $7 ; trainer
+	db SPRITE_BUG_CATCHER, $1b + 4, $1e + 4, $ff, $d3, $47, BUG_CATCHER + $C8, $8 ; trainer
+	db SPRITE_BALL, $14 + 4, $2 + 4, $ff, $ff, $88, POTION ; item
+	db SPRITE_BALL, $2 + 4, $2 + 4, $ff, $ff, $89, MOON_STONE ; item
+	db SPRITE_BALL, $1f + 4, $23 + 4, $ff, $ff, $8a, RARE_CANDY ; item
+	db SPRITE_BALL, $17 + 4, $24 + 4, $ff, $ff, $8b, ESCAPE_ROPE ; item
+	db SPRITE_BALL, $21 + 4, $14 + 4, $ff, $ff, $8c, POTION ; item
+	db SPRITE_BALL, $20 + 4, $5 + 4, $ff, $ff, $8d, TM_12 ; item
+
+	; warp-to
+	EVENT_DISP $14, $23, $e
+	EVENT_DISP $14, $23, $f
+	EVENT_DISP $14, $5, $5 ; MT_MOON_2
+	EVENT_DISP $14, $b, $11 ; MT_MOON_2
+	EVENT_DISP $14, $f, $19 ; MT_MOON_2
+
+MtMoon1Blocks: ; 0x49b97 360
+	INCBIN "maps/mtmoon1.blk"
+
+MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61)
+	db $11 ; tileset
+	db MT_MOON_3_HEIGHT, MT_MOON_3_WIDTH ; dimensions (y, x)
+	dw MtMoon3Blocks, MtMoon3Texts, MtMoon3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw MtMoon3Object ; objects
+
+MtMoon3Script: ; 0x49d0b
+	call $3c3c
+	ld hl, $5e48
+	ld de, $5d63
+	ld a, [$d607]
+	call $3160
+	ld [$d607], a
+	ld a, [$d7f6]
+	bit 1, a
+	ret z
+	ld hl, $5d37
+	call $34bf
+	jr nc, .asm_49d31 ; 0x49d29 $6
+	ld hl, $d72e
+	set 4, [hl]
+	ret
+.asm_49d31
+	ld hl, $d72e
+	res 4, [hl]
+	ret
+; 0x49d37
+
+INCBIN "baserom.gbc",$49d37,$fd
+
+MtMoon3Texts: ; 0x49e34
+	dw MtMoon3Text1, MtMoon3Text2, MtMoon3Text3, MtMoon3Text4, MtMoon3Text5, MtMoon3Text6, MtMoon3Text7, MtMoon3Text8, MtMoon3Text9, Unnamed_49f99
+
+MtMoon3TrainerHeaders:
+TrainerHeader_49e48: ; 0x49e48
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f6 ; flag's byte
+	dw UnnamedText_49f9f ; 0x5f9f TextBeforeBattle
+	dw UnnamedText_49fa9 ; 0x5fa9 TextAfterBattle
+	dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle
+	dw UnnamedText_49fa4 ; 0x5fa4 TextEndBattle
+; 0x49e54
+
+TrainerHeader_49e54: ; 0x49e54
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f6 ; flag's byte
+	dw UnnamedText_49fae ; 0x5fae TextBeforeBattle
+	dw UnnamedText_49fb8 ; 0x5fb8 TextAfterBattle
+	dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle
+	dw UnnamedText_49fb3 ; 0x5fb3 TextEndBattle
+; 0x49e60
+
+TrainerHeader_49e60: ; 0x49e60
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f6 ; flag's byte
+	dw UnnamedText_49fbd ; 0x5fbd TextBeforeBattle
+	dw UnnamedText_49fc7 ; 0x5fc7 TextAfterBattle
+	dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle
+	dw UnnamedText_49fc2 ; 0x5fc2 TextEndBattle
+; 0x49e6c
+
+TrainerHeader_49e6c: ; 0x49e6c
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f6 ; flag's byte
+	dw UnnamedText_49fcc ; 0x5fcc TextBeforeBattle
+	dw UnnamedText_49fd6 ; 0x5fd6 TextAfterBattle
+	dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle
+	dw UnnamedText_49fd1 ; 0x5fd1 TextEndBattle
+; 0x49e78
+
+db $ff
+
+MtMoon3Text1: ; 0x49e79
+	db $08 ; asm
+	ld a, [$d7f6]
+	bit 1, a
+	jr z, .asm_be1e0 ; 0x49e7f
+	and $c0
+	jr nz, .asm_f8cd4 ; 0x49e83
+	ld hl, UnnamedText_49f8f
+	call PrintText
+	jr .asm_f1fba ; 0x49e8b
+.asm_be1e0 ; 0x49e8d
+	ld hl, UnnamedText_49f85
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_49f8a
+	ld de, UnnamedText_49f8a
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $3
+	ld [$d607], a
+	ld [$da39], a
+	jr .asm_f1fba ; 0x49eb6
+.asm_f8cd4 ; 0x49eb8
+	ld hl, UnnamedText_49f94
+	call PrintText
+.asm_f1fba ; 0x49ebe
+	jp TextScriptEnd
+
+MtMoon3Text2: ; 0x49ec1
+	db $08 ; asm
+	ld hl, TrainerHeader_49e48
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon3Text3: ; 0x49ecb
+	db $08 ; asm
+	ld hl, TrainerHeader_49e54
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon3Text4: ; 0x49ed5
+	db $08 ; asm
+	ld hl, TrainerHeader_49e60
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon3Text5: ; 0x49edf
+	db $08 ; asm
+	ld hl, $5e6c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+MtMoon3Text6: ; 0x49ee9
+	db $08 ; asm
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, UnnamedText_49f24
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_1fa5e ; 0x49efc
+	ld bc,(DOME_FOSSIL << 8) | 1
+	call GiveItem
+	jp nc, $5f76
+	call $5f69
+	ld a, $6d
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld hl, $d7f6
+	set 6, [hl]
+	ld a, $4
+	ld [$d607], a
+	ld [$da39], a
+.asm_1fa5e ; 0x49f21
+	jp TextScriptEnd
+
+UnnamedText_49f24: ; 0x49f24
+	TX_FAR _UnnamedText_49f24
+	db $50
+; 0x49f24 + 5 bytes
+
+MtMoon3Text7: ; 0x49f29
+	db $08 ; asm
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, UnnamedText_49f64
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_8e988 ; 0x49f3c
+	ld bc, (HELIX_FOSSIL << 8) | 1
+	call GiveItem
+	jp nc, Unnamed_49f76
+	call Unnamed_49f69
+	ld a, $6e
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld hl, $d7f6
+	set 7, [hl]
+	ld a, $4
+	ld [$d607], a
+	ld [$da39], a
+.asm_8e988 ; 0x49f61
+	jp TextScriptEnd
+
+UnnamedText_49f64: ; 0x49f64
+	TX_FAR _UnnamedText_49f64
+	db $50
+; 0x49f64 + 5 bytes
+
+Unnamed_49f69: ; 0x49f69
+	ld hl, UnnamedText_49f6f
+	jp PrintText
+; 0x49f6f
+
+UnnamedText_49f6f: ; 0x49f6f
+	TX_FAR _UnnamedText_49f6f ; 0x80995
+	db $11, $d, $50
+; 0x49f76
+
+Unnamed_49f76: ; 0x49f76
+	ld hl, UnnamedText_49f7f
+	call PrintText
+	jp TextScriptEnd
+; 0x49f7f
+
+UnnamedText_49f7f: ; 0x49f7f
+	TX_FAR _UnnamedText_49f7f ; 0x809a8
+	db $d, $50
+; 0x49f85
+
+UnnamedText_49f85: ; 0x49f85
+	TX_FAR _UnnamedText_49f85
+	db $50
+; 0x49f85 + 5 bytes
+
+UnnamedText_49f8a: ; 0x49f8a
+	TX_FAR _UnnamedText_49f8a
+	db $50
+; 0x49f8a + 5 bytes
+
+UnnamedText_49f8f: ; 0x49f8f
+	TX_FAR _UnnamedText_49f8f
+	db $50
+; 0x49f8f + 5 bytes
+
+UnnamedText_49f94: ; 0x49f94
+	TX_FAR _UnnamedText_49f94
+	db $50
+; 0x49f94 + 5 bytes
+
+Unnamed_49f99: ; 0x49f99
+INCBIN "baserom.gbc",$49f99,$49f9f - $49f99
+
+UnnamedText_49f9f: ; 0x49f9f
+	TX_FAR _UnnamedText_49f9f
+	db $50
+; 0x49f9f + 5 bytes
+
+UnnamedText_49fa4: ; 0x49fa4
+	TX_FAR _UnnamedText_49fa4
+	db $50
+; 0x49fa4 + 5 bytes
+
+UnnamedText_49fa9: ; 0x49fa9
+	TX_FAR _UnnamedText_49fa9
+	db $50
+; 0x49fa9 + 5 bytes
+
+UnnamedText_49fae: ; 0x49fae
+	TX_FAR _UnnamedText_49fae
+	db $50
+; 0x49fae + 5 bytes
+
+UnnamedText_49fb3: ; 0x49fb3
+	TX_FAR _UnnamedText_49fb3
+	db $50
+; 0x49fb3 + 5 bytes
+
+UnnamedText_49fb8: ; 0x49fb8
+	TX_FAR _UnnamedText_49fb8
+	db $50
+; 0x49fb8 + 5 bytes
+
+UnnamedText_49fbd: ; 0x49fbd
+	TX_FAR _UnnamedText_49fbd
+	db $50
+; 0x49fbd + 5 bytes
+
+UnnamedText_49fc2: ; 0x49fc2
+	TX_FAR _UnnamedText_49fc2
+	db $50
+; 0x49fc2 + 5 bytes
+
+UnnamedText_49fc7: ; 0x49fc7
+	TX_FAR _UnnamedText_49fc7
+	db $50
+; 0x49fc7 + 5 bytes
+
+UnnamedText_49fcc: ; 0x49fcc
+	TX_FAR _UnnamedText_49fcc
+	db $50
+; 0x49fcc + 5 bytes
+
+UnnamedText_49fd1: ; 0x49fd1
+	TX_FAR _UnnamedText_49fd1
+	db $50
+; 0x49fd1 + 5 bytes
+
+UnnamedText_49fd6: ; 0x49fd6
+	TX_FAR _UnnamedText_49fd6
+	db $50
+; 0x49fd6 + 5 bytes
+
+MtMoon3Object: ; 0x49fdb (size=102)
+	db $3 ; border tile
+
+	db $4 ; warps
+	db $9, $19, $1, MT_MOON_2
+	db $11, $15, $4, MT_MOON_2
+	db $1b, $f, $5, MT_MOON_2
+	db $7, $5, $6, MT_MOON_2
+
+	db $0 ; signs
+
+	db $9 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $c + 4, $ff, $d3, $41, SUPER_NERD + $C8, $2 ; trainer
+	db SPRITE_ROCKET, $10 + 4, $b + 4, $ff, $d0, $42, ROCKET + $C8, $1 ; trainer
+	db SPRITE_ROCKET, $16 + 4, $f + 4, $ff, $d0, $43, ROCKET + $C8, $2 ; trainer
+	db SPRITE_ROCKET, $b + 4, $1d + 4, $ff, $d1, $44, ROCKET + $C8, $3 ; trainer
+	db SPRITE_ROCKET, $11 + 4, $1d + 4, $ff, $d2, $45, ROCKET + $C8, $4 ; trainer
+	db SPRITE_OMANYTE, $6 + 4, $c + 4, $ff, $ff, $6 ; person
+	db SPRITE_OMANYTE, $6 + 4, $d + 4, $ff, $ff, $7 ; person
+	db SPRITE_BALL, $15 + 4, $19 + 4, $ff, $ff, $88, HP_UP ; item
+	db SPRITE_BALL, $5 + 4, $1d + 4, $ff, $ff, $89, TM_01 ; item
+
+	; warp-to
+	EVENT_DISP $14, $9, $19 ; MT_MOON_2
+	EVENT_DISP $14, $11, $15 ; MT_MOON_2
+	EVENT_DISP $14, $1b, $f ; MT_MOON_2
+	EVENT_DISP $14, $7, $5 ; MT_MOON_2
+
+MtMoon3Blocks: ; 0x4a041 360
+	INCBIN "maps/mtmoon3.blk"
+
+SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219)
+	db $03 ; tileset
+	db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x)
+	dw SafariZoneWestBlocks, SafariZoneWestTexts, SafariZoneWestScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneWestObject ; objects
+
+SafariZoneWestScript: ; 0x4a1b5
+	jp $3c3c
+; 0x4a1b8
+
+SafariZoneWestTexts: ; 0x4a1b8
+	dw SafariZoneWestText1, SafariZoneWestText2, SafariZoneWestText3, SafariZoneWestText4, SafariZoneWestText5, SafariZoneWestText6, SafariZoneWestText7, SafariZoneWestText8
+
+SafariZoneWestText5: ; 0x4a1c8
+	TX_FAR _SafariZoneWestText5
+	db $50
+
+SafariZoneWestText6: ; 0x4a1cd
+	TX_FAR _SafariZoneWestText6
+	db $50
+
+SafariZoneWestText7: ; 0x4a1d2
+	TX_FAR _SafariZoneWestText7
+	db $50
+
+SafariZoneWestText8: ; 0x4a1d7
+	TX_FAR _SafariZoneWestText8
+	db $50
+
+SafariZoneWestObject: ; 0x4a1dc (size=108)
+	db $0 ; border tile
+
+	db $8 ; warps
+	db $0, $14, $0, SAFARI_ZONE_NORTH
+	db $0, $15, $1, SAFARI_ZONE_NORTH
+	db $0, $1a, $2, SAFARI_ZONE_NORTH
+	db $0, $1b, $3, SAFARI_ZONE_NORTH
+	db $16, $1d, $2, SAFARI_ZONE_CENTER
+	db $17, $1d, $3, SAFARI_ZONE_CENTER
+	db $3, $3, $0, SAFARI_ZONE_SECRET_HOUSE
+	db $b, $b, $0, SAFARI_ZONE_REST_HOUSE_2
+
+	db $4 ; signs
+	db $c, $c, $5 ; SafariZoneWestText5
+	db $3, $11, $6 ; SafariZoneWestText6
+	db $4, $1a, $7 ; SafariZoneWestText7
+	db $16, $18, $8 ; SafariZoneWestText8
+
+	db $4 ; people
+	db SPRITE_BALL, $14 + 4, $8 + 4, $ff, $ff, $81, MAX_POTION ; item
+	db SPRITE_BALL, $7 + 4, $9 + 4, $ff, $ff, $82, TM_32 ; item
+	db SPRITE_BALL, $12 + 4, $12 + 4, $ff, $ff, $83, MAX_REVIVE ; item
+	db SPRITE_BALL, $7 + 4, $13 + 4, $ff, $ff, $84, GOLD_TEETH ; item
+
+	; warp-to
+	EVENT_DISP $f, $0, $14 ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $0, $15 ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $0, $1a ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $0, $1b ; SAFARI_ZONE_NORTH
+	EVENT_DISP $f, $16, $1d ; SAFARI_ZONE_CENTER
+	EVENT_DISP $f, $17, $1d ; SAFARI_ZONE_CENTER
+	EVENT_DISP $f, $3, $3 ; SAFARI_ZONE_SECRET_HOUSE
+	EVENT_DISP $f, $b, $b ; SAFARI_ZONE_REST_HOUSE_2
+
+SafariZoneWestBlocks: ; 0x4a248 195
+	INCBIN "maps/safarizonewest.blk"
+
+SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222)
+	db $14 ; tileset
+	db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x)
+	dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTexts, SafariZoneSecretHouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneSecretHouseObject ; objects
+
+SafariZoneSecretHouseScript: ; 0x4a317
+	jp $3c3c
+; 0x4a31a
+
+SafariZoneSecretHouseTexts: ; 0x4a31a
+	dw SafariZoneSecretHouseText1
+
+SafariZoneSecretHouseText1: ; 0x4a31c
+	db $08 ; asm
+	ld a, [$d857]
+	bit 0, a
+	jr nz, .asm_20a9b ; 0x4a322
+	ld hl, UnnamedText_4a350
+	call PrintText
+	ld bc, (HM_03 << 8) | 1
+	call GiveItem
+	jr nc, .asm_a21d2 ; 0x4a330
+	ld hl, UnnamedText_4a355
+	call PrintText
+	ld hl, $d857
+	set 0, [hl]
+	jr .asm_8f1fc ; 0x4a33d
+.asm_a21d2 ; 0x4a33f
+	ld hl, UnnamedText_4a360
+	call PrintText
+	jr .asm_8f1fc ; 0x4a345
+.asm_20a9b ; 0x4a347
+	ld hl, UnnamedText_4a35b
+	call PrintText
+.asm_8f1fc ; 0x4a34d
+	jp TextScriptEnd
+
+UnnamedText_4a350: ; 0x4a350
+	TX_FAR _UnnamedText_4a350
+	db $50
+; 0x4a350 + 5 bytes
+
+UnnamedText_4a355: ; 0x4a355
+	TX_FAR _UnnamedText_4a355 ; 0x85943
+	db $0B, $50
+; 0x4a35b
+
+UnnamedText_4a35b: ; 0x4a35b
+	TX_FAR _UnnamedText_4a35b
+	db $50
+; 0x4a35b + 5 bytes
+
+UnnamedText_4a360: ; 0x4a360
+	TX_FAR _UnnamedText_4a360
+	db $50
+; 0x4a360 + 5 bytes
+
+SafariZoneSecretHouseObject: ; 0x4a365 (size=26)
+	db $17 ; border tile
+
+	db $2 ; warps
+	db $7, $2, $6, SAFARI_ZONE_WEST
+	db $7, $3, $6, SAFARI_ZONE_WEST
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FISHER, $3 + 4, $3 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST
+	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST
+
+SafariZoneSecretHouseBlocks: ; 0x4a37f 16
+	INCBIN "maps/safarizonesecrethouse.blk"
+
+INCBIN "baserom.gbc",$4a38f,$1c71
+
+SECTION "bank13",DATA,BANK[$13]
+
+YoungsterPic:
+	INCBIN "pic/trainer/youngster.pic"
+BugCatcherPic:
+	INCBIN "pic/trainer/bugcatcher.pic"
+LassPic:
+	INCBIN "pic/trainer/lass.pic"
+SailorPic:
+	INCBIN "pic/trainer/sailor.pic"
+JrTrainerMPic:
+	INCBIN "pic/trainer/jr.trainerm.pic"
+JrTrainerFPic:
+	INCBIN "pic/trainer/jr.trainerf.pic"
+PokemaniacPic:
+	INCBIN "pic/trainer/pokemaniac.pic"
+SuperNerdPic:
+	INCBIN "pic/trainer/supernerd.pic"
+HikerPic:
+	INCBIN "pic/trainer/hiker.pic"
+BikerPic:
+	INCBIN "pic/trainer/biker.pic"
+BurglarPic:
+	INCBIN "pic/trainer/burglar.pic"
+EngineerPic:
+	INCBIN "pic/trainer/engineer.pic"
+FisherPic:
+	INCBIN "pic/trainer/fisher.pic"
+SwimmerPic:
+	INCBIN "pic/trainer/swimmer.pic"
+CueBallPic:
+	INCBIN "pic/trainer/cueball.pic"
+GamblerPic:
+	INCBIN "pic/trainer/gambler.pic"
+BeautyPic:
+	INCBIN "pic/trainer/beauty.pic"
+PsychicPic:
+	INCBIN "pic/trainer/psychic.pic"
+RockerPic:
+	INCBIN "pic/trainer/rocker.pic"
+JugglerPic:
+	INCBIN "pic/trainer/juggler.pic"
+TamerPic:
+	INCBIN "pic/trainer/tamer.pic"
+BirdKeeperPic:
+	INCBIN "pic/trainer/birdkeeper.pic"
+BlackbeltPic:
+	INCBIN "pic/trainer/blackbelt.pic"
+Rival1Pic:
+	INCBIN "pic/trainer/rival1.pic"
+ProfOakPic:
+	INCBIN "pic/trainer/prof.oak.pic"
+ChiefPic:
+ScientistPic:
+	INCBIN "pic/trainer/scientist.pic"
+GiovanniPic:
+	INCBIN "pic/trainer/giovanni.pic"
+RocketPic:
+	INCBIN "pic/trainer/rocket.pic"
+CooltrainerMPic:
+	INCBIN "pic/trainer/cooltrainerm.pic"
+CooltrainerFPic:
+	INCBIN "pic/trainer/cooltrainerf.pic"
+BrunoPic:
+	INCBIN "pic/trainer/bruno.pic"
+BrockPic:
+	INCBIN "pic/trainer/brock.pic"
+MistyPic:
+	INCBIN "pic/trainer/misty.pic"
+LtSurgePic:
+	INCBIN "pic/trainer/lt.surge.pic"
+ErikaPic:
+	INCBIN "pic/trainer/erika.pic"
+KogaPic:
+	INCBIN "pic/trainer/koga.pic"
+BlainePic:
+	INCBIN "pic/trainer/blaine.pic"
+SabrinaPic:
+	INCBIN "pic/trainer/sabrina.pic"
+GentlemanPic:
+	INCBIN "pic/trainer/gentleman.pic"
+Rival2Pic:
+	INCBIN "pic/trainer/rival2.pic"
+Rival3Pic:
+	INCBIN "pic/trainer/rival3.pic"
+LoreleiPic:
+	INCBIN "pic/trainer/lorelei.pic"
+ChannelerPic:
+	INCBIN "pic/trainer/channeler.pic"
+AgathaPic:
+	INCBIN "pic/trainer/agatha.pic"
+LancePic:
+	INCBIN "pic/trainer/lance.pic"
+
+BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239)
+	db $15 ; tileset
+	db BATTLE_CENTER_HEIGHT, BATTLE_CENTER_WIDTH ; dimensions (y, x)
+	dw BattleCenterMBlocks, BattleCenterMTexts, BattleCenterMScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw BattleCenterMObject ; objects
+
+BattleCenterMScript: ; 0x4fd10
+	call $3c3c
+	ld a, [$ff00+$aa]
+	cp $2
+	ld a, $8
+	jr z, .asm_4fd1d ; 0x4fd19 $2
+	ld a, $c
+.asm_4fd1d
+	ld [$ff00+$8d], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $34ae
+	ld hl, $d72d
+	bit 0, [hl]
+	set 0, [hl]
+	ret nz
+	ld hl, $c214
+	ld a, $8
+	ld [hli], a
+	ld a, $a
+	ld [hl], a
+	ld a, $8
+	ld [$c119], a
+	ld a, [$ff00+$aa]
+	cp $2
+	ret z
+	ld a, $7
+	ld [$c215], a
+	ld a, $c
+	ld [$c119], a
+	ret
+; 0x4fd4c
+
+BattleCenterMTexts: ; 0x4fd4c
+	dw BattleCenterMText1
+
+BattleCenterMText1: ; 0x4fd4e
+	TX_FAR _BattleCenterMText1
+	db $50
+
+BattleCenterMObject: ; 0x4fd53 (size=10)
+	db $e ; border tile
+
+	db $0 ; warps
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person
+
+BattleCenterMBlocks: ; 0x4fd5d 20
+	INCBIN "maps/battlecenterm.blk"
+
+TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240)
+	db $15 ; tileset
+	db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x)
+	dw TradeCenterMBlocks, TradeCenterMTexts, TradeCenterMScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw TradeCenterMObject ; objects
+
+TradeCenterMScript: ; 0x4fd7d
+	jp $7d10
+; 0x4fd80
+
+TradeCenterMTexts: ; 0x4fd80
+	dw TradeCenterMText1
+
+TradeCenterMText1: ; 0x4fd82
+	TX_FAR _TradeCenterMText1
+	db $50
+
+TradeCenterMObject: ; 0x4fd87 (size=10)
+	db $e ; border tile
+
+	db $0 ; warps
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person
+
+TradeCenterMBlocks: ; 0x4fd91 20
+	INCBIN "maps/tradecenterm.blk"
+
+INCBIN "baserom.gbc",$4fda5,$4fe3f - $4fda5
+
+UnnamedText_4fe3f: ; 0x4fe3f
+	TX_FAR _UnnamedText_4fe3f
+	db $50
+; 0x4fe3f + 5 bytes
+
+UnnamedText_4fe44: ; 0x4fe44
+	TX_FAR _UnnamedText_4fe44
+	db $50
+; 0x4fe44 + 5 bytes
+
+GetPredefPointer: ; 7E49
+; stores hl in $CC4F,$CC50
+; stores de in $CC51,$CC52
+; stores bc in $CC53,$CC54
+; grabs a byte "n" from $CC4E,
+;    and gets the nth (3-byte) pointer in PredefPointers
+; stores the bank of said pointer in [$D0B7]
+; stores the pointer in hl and returns
+	; ld $CC4F,hl
+	ld a,h
+	ld [$CC4F],a
+	ld a,l
+	ld [$CC50],a
+
+	; ld $CC51,de
+	ld hl,$CC51
+	ld a,d
+	ld [hli],a
+	ld a,e
+	ld [hli],a
+
+	; ld $CC53,bc
+	ld a,b
+	ld [hli],a
+	ld [hl],c
+
+	ld hl,PredefPointers
+	ld de,0
+
+	; de = 3 * [$CC4E]
+	ld a,[$CC4E]
+	ld e,a
+	add a,a
+	add a,e
+	ld e,a
+	jr nc,.next\@
+	inc d
+
+.next\@
+	add hl,de
+	ld d,h
+	ld e,l
+
+	; get bank of predef routine
+	ld a,[de]
+	ld [$D0B7],a
+
+	; get pointer
+	inc de
+	ld a,[de]
+	ld l,a
+	inc de
+	ld a,[de]
+	ld h,a
+
+	ret
+
+PredefPointers: ; 7E79
+; these are pointers to ASM routines.
+; they appear to be used in overworld map scripts.
+	dbw $0F,$4D60
+	dbw $0F,$70C6
+	dbw $0F,$7073
+	dbw $0B,$7E40
+	dbw $0F,$7103
+	dbw $1E,$5ABA
+	dbw $03,$7132
+	dbw BANK(HealParty),HealParty
+	dbw BANK(MoveAnimation),MoveAnimation; 08 play move animation
+	dbw $03,$771E
+	dbw $03,$771E
+	dbw $03,$781D
+	dbw $03,$7836
+	dbw $03,$771E
+	dbw $03,$771E
+	dbw $03,$7850
+	dbw $03,$7666
+	dbw $03,$71D7
+	dbw $03,$71A6
+	dbw $03,$469C
+	dbw $0F,$4A83
+	dbw $03,$71C8
+	dbw $03,$71C8
+	dbw $03,$6E9E
+	dbw $03,$7850
+	dbw $03,$4754
+	dbw $0E,$6F5B
+	dbw $01,$6E43
+	dbw $03,$78A5; 1C, used in Pokémon Tower
+	dbw $03,$3EB5
+	dbw $03,$3E2E
+	dbw $12,$40EB
+	dbw $03,$78BA
+	dbw $12,$40FF
+	dbw $03,$7929
+	dbw $03,$79A0
+	dbw $12,$4125
+	dbw $03,$7A1D
+	dbw $03,$79DC
+	dbw $01,$5AB0
+	dbw $0F,$6D02
+	dbw $10,$4000
+	dbw $0E,$6D1C
+	dbw $1C,$778C
+	dbw $0F,$6F18
+	dbw $01,$5A5F
+	dbw $03,$6A03
+	dbw $10,$50F3
+	dbw $1C,$496D
+	dbw $1E,$5DDA
+	dbw $10,$5682
+	dbw $1E,$5869
+	dbw $1C,$4B5D
+	dbw $03,$4586
+	dbw $04,$6953
+	dbw $04,$6B57
+	dbw $10,$50E2
+	dbw $15,$690F
+	dbw $10,$5010
+	dbw BANK(Predef3B),Predef3B; 3B display pic?
+	dbw $03,$6F54
+	dbw $10,$42D1
+	dbw $0E,$6FB8
+	dbw $1C,$770A
+	dbw $1C,$602B
+	dbw $03,$7113
+	dbw $17,$5B5E
+	dbw $04,$773E
+	dbw $04,$7763
+	dbw $1C,$5DDF
+	dbw $17,$40DC; 46 load dex screen
+	dbw $03,$72E5
+	dbw $03,$7A1D
+	dbw $0F,$4DEC
+	dbw $1C,$4F60
+	dbw $09,$7D6B
+	dbw $05,$7C47; 4C player exclamation
+	dbw $01,$5AAF; return immediately
+	dbw $01,$64EB
+	dbw $0D,$7CA1
+	dbw $1C,$780F
+	dbw $1C,$76BD
+	dbw $1C,$75E8
+	dbw $1C,$77E2
+	dbw BANK(Predef54),Predef54 ; 54 initiate trade
+	dbw $1D,$405C
+	dbw $11,$4169
+	dbw $1E,$45BA
+	dbw $1E,$4510
+	dbw $03,$45BE
+	dbw $03,$460B
+	dbw $03,$4D99
+	dbw $01,$4DE1
+	dbw $09,$7D98
+	dbw $03,$7473
+	dbw $04,$68EF
+	dbw $04,$68F6
+	dbw $07,$49C6
+	dbw $16,$5035
+
+SECTION "bank14",DATA,BANK[$14]
+
+Route22_h: ; 0x50000 to 0x50022 (34 bytes) (id=33)
+	db $00 ; tileset
+	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x)
+	dw Route22Blocks, Route22Texts, Route22Script ; blocks, texts, scripts
+	db NORTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_23
+	dw Route23Blocks + (ROUTE_23_HEIGHT - 3) * ROUTE_23_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width
+	db (ROUTE_23_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_23_HEIGHT * (ROUTE_23_WIDTH + 6) ; window
+
+	db VIRIDIAN_CITY
+	dw ViridianCityBlocks + (VIRIDIAN_CITY_WIDTH) ; connection strip location
+	dw $C6E5 + (ROUTE_22_WIDTH + 6) * (-3 + 4) ; current map position
+	db $f, VIRIDIAN_CITY_WIDTH ; bigness, width
+	db (-4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + VIRIDIAN_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route22Object ; objects
+
+Route22Object: ; 0x50022 (size=27)
+	db $2c ; border tile
+
+	db $1 ; warps
+	db $5, $8, $0, ROUTE_22_GATE
+
+	db $1 ; signs
+	db $b, $7, $3 ; Route22Text3
+
+	db $2 ; people
+	db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $14, $5, $8 ; ROUTE_22_GATE
+
+Route22Blocks: ; 0x5003d 180
+	INCBIN "maps/route22.blk"
+
+Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31)
+	db $00 ; tileset
+	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x)
+	dw Route20Blocks, Route20Texts, Route20Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db CINNABAR_ISLAND
+	dw CinnabarIslandBlocks - 3 + (CINNABAR_ISLAND_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_20_WIDTH + 6) * (0 + 3) ; current map position
+	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; bigness, width
+	db (0 * -2), (CINNABAR_ISLAND_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * CINNABAR_ISLAND_WIDTH ; window
+
+	db ROUTE_19
+	dw Route19Blocks + (ROUTE_19_WIDTH * 15) ; connection strip location
+	dw $C6E5 + (ROUTE_20_WIDTH + 6) * (-3 + 4) ; current map position
+	db $c, ROUTE_19_WIDTH ; bigness, width
+	db (-18 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_19_WIDTH ; window
+
+	; end connections data
+
+	dw Route20Object ; objects
+
+Route20Object: ; 0x50113 (size=106)
+	db $43 ; border tile
+
+	db $2 ; warps
+	db $5, $30, $0, SEAFOAM_ISLANDS_1
+	db $9, $3a, $2, SEAFOAM_ISLANDS_1
+
+	db $2 ; signs
+	db $7, $33, $b ; Route20Text11
+	db $b, $39, $c ; Route20Text12
+
+	db $a ; people
+	db SPRITE_SWIMMER, $8 + 4, $57 + 4, $ff, $d1, $41, SWIMMER + $C8, $9 ; trainer
+	db SPRITE_SWIMMER, $b + 4, $44 + 4, $ff, $d1, $42, BEAUTY + $C8, $f ; trainer
+	db SPRITE_SWIMMER, $a + 4, $2d + 4, $ff, $d0, $43, BEAUTY + $C8, $6 ; trainer
+	db SPRITE_SWIMMER, $e + 4, $37 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $18 ; trainer
+	db SPRITE_SWIMMER, $d + 4, $26 + 4, $ff, $d0, $45, SWIMMER + $C8, $a ; trainer
+	db SPRITE_SWIMMER, $d + 4, $57 + 4, $ff, $d1, $46, SWIMMER + $C8, $b ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $9 + 4, $22 + 4, $ff, $d1, $47, BIRD_KEEPER + $C8, $b ; trainer
+	db SPRITE_SWIMMER, $7 + 4, $19 + 4, $ff, $d1, $48, BEAUTY + $C8, $7 ; trainer
+	db SPRITE_SWIMMER, $c + 4, $18 + 4, $ff, $d0, $49, JR__TRAINER_F + $C8, $10 ; trainer
+	db SPRITE_SWIMMER, $8 + 4, $f + 4, $ff, $d1, $4a, BEAUTY + $C8, $8 ; trainer
+
+	; warp-to
+	EVENT_DISP $32, $5, $30 ; SEAFOAM_ISLANDS_1
+	EVENT_DISP $32, $9, $3a ; SEAFOAM_ISLANDS_1
+
+Route20Blocks: ; 0x5017d 450
+	INCBIN "maps/route20.blk"
+
+Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34)
+	db $17 ; tileset
+	db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x)
+	dw Route23Blocks, Route23Texts, Route23Script ; blocks, texts, scripts
+	db NORTH | SOUTH ; connections
+
+	; connections data
+
+	db INDIGO_PLATEAU
+	dw IndigoPlateauBlocks + (INDIGO_PLATEAU_HEIGHT - 3) * INDIGO_PLATEAU_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_WIDTH ; bigness, width
+	db (INDIGO_PLATEAU_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + INDIGO_PLATEAU_HEIGHT * (INDIGO_PLATEAU_WIDTH + 6) ; window
+
+	db ROUTE_22
+	dw Route22Blocks ; connection strip location
+	dw $C6EB + (ROUTE_23_HEIGHT + 3) * (ROUTE_23_WIDTH + 6) + 0 ; current map position
+	db $d, ROUTE_22_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_22_WIDTH ; window
+
+	; end connections data
+
+	dw Route23Object ; objects
+
+Route23Object: ; 0x50361 (size=81)
+	db $f ; border tile
+
+	db $4 ; warps
+	db $8b, $7, $2, ROUTE_22_GATE
+	db $8b, $8, $3, ROUTE_22_GATE
+	db $1f, $4, $0, VICTORY_ROAD_1
+	db $1f, $e, $1, VICTORY_ROAD_2
+
+	db $1 ; signs
+	db $21, $3, $8 ; Route23Text8
+
+	db $7 ; people
+	db SPRITE_GUARD, $23 + 4, $4 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GUARD, $38 + 4, $a + 4, $ff, $d0, $2 ; person
+	db SPRITE_SWIMMER, $55 + 4, $8 + 4, $ff, $d0, $3 ; person
+	db SPRITE_SWIMMER, $60 + 4, $b + 4, $ff, $d0, $4 ; person
+	db SPRITE_GUARD, $69 + 4, $c + 4, $ff, $d0, $5 ; person
+	db SPRITE_GUARD, $77 + 4, $8 + 4, $ff, $d0, $6 ; person
+	db SPRITE_GUARD, $88 + 4, $8 + 4, $ff, $d0, $7 ; person
+
+	; warp-to
+	EVENT_DISP $a, $8b, $7 ; ROUTE_22_GATE
+	EVENT_DISP $a, $8b, $8 ; ROUTE_22_GATE
+	EVENT_DISP $a, $1f, $4 ; VICTORY_ROAD_1
+	EVENT_DISP $a, $1f, $e ; VICTORY_ROAD_2
+
+Route23Blocks: ; 0x503b2 720
+	INCBIN "maps/route23.blk"
+
+Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35)
+	db $00 ; tileset
+	db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x)
+	dw Route24Blocks, Route24Texts, Route24Script ; blocks, texts, scripts
+	db SOUTH | EAST ; connections
+
+	; connections data
+
+	db CERULEAN_CITY
+	dw CeruleanCityBlocks + 2 ; connection strip location
+	dw $C6EB + (ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6) + -3 ; current map position
+	db $10, CERULEAN_CITY_WIDTH ; bigness, width
+	db 0, (-5 * -2) ; alignments (y, x)
+	dw $C6EF + CERULEAN_CITY_WIDTH ; window
+
+	db ROUTE_25
+	dw Route25Blocks + (ROUTE_25_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (ROUTE_24_WIDTH + 6) * (0 + 4) ; current map position
+	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; bigness, width
+	db (0 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_25_WIDTH ; window
+
+	; end connections data
+
+	dw Route24Object ; objects
+
+Route24Object: ; 0x506a4 (size=67)
+	db $2c ; border tile
+
+	db $0 ; warps
+
+	db $0 ; signs
+
+	db $8 ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $b + 4, $ff, $d2, $41, ROCKET + $C8, $6 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $14 + 4, $5 + 4, $ff, $d1, $42, JR__TRAINER_M + $C8, $2 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $13 + 4, $b + 4, $ff, $d2, $43, JR__TRAINER_M + $C8, $3 ; trainer
+	db SPRITE_LASS, $16 + 4, $a + 4, $ff, $d3, $44, LASS + $C8, $7 ; trainer
+	db SPRITE_BUG_CATCHER, $19 + 4, $b + 4, $ff, $d2, $45, YOUNGSTER + $C8, $4 ; trainer
+	db SPRITE_LASS, $1c + 4, $a + 4, $ff, $d3, $46, LASS + $C8, $8 ; trainer
+	db SPRITE_BUG_CATCHER, $1f + 4, $b + 4, $ff, $d2, $47, BUG_CATCHER + $C8, $9 ; trainer
+	db SPRITE_BALL, $5 + 4, $a + 4, $ff, $ff, $88, TM_45 ; item
+
+Route24Blocks: ; 0x506e7 180
+	INCBIN "maps/route24.blk"
+
+Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36)
+	db $00 ; tileset
+	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x)
+	dw Route25Blocks, Route25Texts, Route25Script ; blocks, texts, scripts
+	db WEST ; connections
+
+	; connections data
+
+	db ROUTE_24
+	dw Route24Blocks - 3 + (ROUTE_24_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_25_WIDTH + 6) * (0 + 3) ; current map position
+	db $c, ROUTE_24_WIDTH ; bigness, width
+	db (0 * -2), (ROUTE_24_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_24_WIDTH ; window
+
+	; end connections data
+
+	dw Route25Object ; objects
+
+Route25Object: ; 0x507b2 (size=94)
+	db $2c ; border tile
+
+	db $1 ; warps
+	db $3, $2d, $0, BILLS_HOUSE
+
+	db $1 ; signs
+	db $3, $2b, $b ; Route25Text11
+
+	db $a ; people
+	db SPRITE_BUG_CATCHER, $2 + 4, $e + 4, $ff, $d0, $41, YOUNGSTER + $C8, $5 ; trainer
+	db SPRITE_BUG_CATCHER, $5 + 4, $12 + 4, $ff, $d1, $42, YOUNGSTER + $C8, $6 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $18 + 4, $ff, $d0, $43, JR__TRAINER_M + $C8, $2 ; trainer
+	db SPRITE_LASS, $8 + 4, $12 + 4, $ff, $d3, $44, LASS + $C8, $9 ; trainer
+	db SPRITE_BUG_CATCHER, $3 + 4, $20 + 4, $ff, $d2, $45, YOUNGSTER + $C8, $7 ; trainer
+	db SPRITE_LASS, $4 + 4, $25 + 4, $ff, $d0, $46, LASS + $C8, $a ; trainer
+	db SPRITE_HIKER, $4 + 4, $8 + 4, $ff, $d3, $47, HIKER + $C8, $2 ; trainer
+	db SPRITE_HIKER, $9 + 4, $17 + 4, $ff, $d1, $48, HIKER + $C8, $3 ; trainer
+	db SPRITE_HIKER, $7 + 4, $d + 4, $ff, $d3, $49, HIKER + $C8, $4 ; trainer
+	db SPRITE_BALL, $2 + 4, $16 + 4, $ff, $ff, $8a, TM_19 ; item
+
+	; warp-to
+	EVENT_DISP $1e, $3, $2d ; BILLS_HOUSE
+
+Route25Blocks: ; 0x50810 270
+	INCBIN "maps/route25.blk"
+
+IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9)
+	db $17 ; tileset
+	db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x)
+	dw IndigoPlateauBlocks, IndigoPlateauTexts, IndigoPlateauScript ; blocks, texts, scripts
+	db SOUTH ; connections
+
+	; connections data
+
+	db ROUTE_23
+	dw Route23Blocks ; connection strip location
+	dw $C6EB + (INDIGO_PLATEAU_HEIGHT + 3) * (INDIGO_PLATEAU_WIDTH + 6) + 0 ; current map position
+	db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_23_WIDTH ; window
+
+	; end connections data
+
+	dw IndigoPlateauObject ; objects
+
+IndigoPlateauScript: ; 0x50935
+	ret
+; 0x50936
+
+IndigoPlateauTexts:
+IndigoPlateauObject: ; 0x50936 (size=20)
+	db $e ; border tile
+
+	db $2 ; warps
+	db $5, $9, $0, INDIGO_PLATEAU_LOBBY
+	db $5, $a, $0, INDIGO_PLATEAU_LOBBY
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $a, $5, $9 ; INDIGO_PLATEAU_LOBBY
+	EVENT_DISP $a, $5, $a ; INDIGO_PLATEAU_LOBBY
+
+IndigoPlateauBlocks: ; 0x5094a 90
+	INCBIN "maps/indigoplateau.blk"
+
+SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10)
+	db $00 ; tileset
+	db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x)
+	dw SaffronCityBlocks, SaffronCityTexts, SaffronCityScript ; blocks, texts, scripts
+	db NORTH | SOUTH | WEST | EAST ; connections
+
+	; connections data
+
+	db ROUTE_5
+	dw Route5Blocks + (ROUTE_5_HEIGHT - 3) * ROUTE_5_WIDTH ; connection strip location
+	dw $C6EB + 5 ; current map position
+	db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width
+	db (ROUTE_5_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_5_HEIGHT * (ROUTE_5_WIDTH + 6) ; window
+
+	db ROUTE_6
+	dw Route6Blocks ; connection strip location
+	dw $C6EB + (SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6) + 5 ; current map position
+	db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width
+	db 0, (5 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_6_WIDTH ; window
+
+	db ROUTE_7
+	dw Route7Blocks - 3 + (ROUTE_7_WIDTH) ; connection strip location
+	dw $C6E8 + (SAFFRON_CITY_WIDTH + 6) * (4 + 3) ; current map position
+	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; bigness, width
+	db (4 * -2), (ROUTE_7_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_7_WIDTH ; window
+
+	db ROUTE_8
+	dw Route8Blocks + (ROUTE_8_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (SAFFRON_CITY_WIDTH + 6) * (4 + 4) ; current map position
+	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width
+	db (4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_8_WIDTH ; window
+
+	; end connections data
+
+	dw SaffronCityObject ; objects
+
+SaffronCityObject: ; 0x509dc (size=188)
+	db $f ; border tile
+
+	db $8 ; warps
+	db $5, $7, $0, COPYCATS_HOUSE_1F
+	db $3, $1a, $0, FIGHTINGDOJO
+	db $3, $22, $0, SAFFRON_GYM
+	db $b, $d, $0, SAFFRON_HOUSE_1
+	db $b, $19, $0, SAFFRON_MART
+	db $15, $12, $0, SILPH_CO_1F
+	db $1d, $9, $0, SAFFRON_POKECENTER
+	db $1d, $1d, $0, SAFFRON_HOUSE_2
+
+	db $a ; signs
+	db $5, $11, $10 ; SaffronCityText16
+	db $5, $1b, $11 ; SaffronCityText17
+	db $5, $23, $12 ; SaffronCityText18
+	db $b, $1a, $13 ; SaffronCityText19
+	db $13, $27, $14 ; SaffronCityText20
+	db $15, $5, $15 ; SaffronCityText21
+	db $15, $f, $16 ; SaffronCityText22
+	db $1d, $a, $17 ; SaffronCityText23
+	db $1d, $1b, $18 ; SaffronCityText24
+	db $13, $1, $19 ; SaffronCityText25
+
+	db $f ; people
+	db SPRITE_ROCKET, $6 + 4, $7 + 4, $ff, $ff, $1 ; person
+	db SPRITE_ROCKET, $8 + 4, $14 + 4, $fe, $2, $2 ; person
+	db SPRITE_ROCKET, $4 + 4, $22 + 4, $ff, $ff, $3 ; person
+	db SPRITE_ROCKET, $c + 4, $d + 4, $ff, $ff, $4 ; person
+	db SPRITE_ROCKET, $19 + 4, $b + 4, $fe, $2, $5 ; person
+	db SPRITE_ROCKET, $d + 4, $20 + 4, $fe, $2, $6 ; person
+	db SPRITE_ROCKET, $1e + 4, $12 + 4, $fe, $2, $7 ; person
+	db SPRITE_OAK_AIDE, $e + 4, $8 + 4, $fe, $0, $8 ; person
+	db SPRITE_LAPRAS_GIVER, $17 + 4, $17 + 4, $ff, $ff, $9 ; person
+	db SPRITE_ERIKA, $1e + 4, $11 + 4, $fe, $2, $a ; person
+	db SPRITE_GENTLEMAN, $c + 4, $1e + 4, $ff, $d0, $b ; person
+	db SPRITE_BIRD, $c + 4, $1f + 4, $ff, $d0, $c ; person
+	db SPRITE_ROCKER, $8 + 4, $12 + 4, $ff, $d1, $d ; person
+	db SPRITE_ROCKET, $16 + 4, $12 + 4, $ff, $d0, $e ; person
+	db SPRITE_ROCKET, $16 + 4, $13 + 4, $ff, $d0, $f ; person
+
+	; warp-to
+	EVENT_DISP $14, $5, $7 ; COPYCATS_HOUSE_1F
+	EVENT_DISP $14, $3, $1a ; FIGHTINGDOJO
+	EVENT_DISP $14, $3, $22 ; SAFFRON_GYM
+	EVENT_DISP $14, $b, $d ; SAFFRON_HOUSE_1
+	EVENT_DISP $14, $b, $19 ; SAFFRON_MART
+	EVENT_DISP $14, $15, $12 ; SILPH_CO_1F
+	EVENT_DISP $14, $1d, $9 ; SAFFRON_POKECENTER
+	EVENT_DISP $14, $1d, $1d ; SAFFRON_HOUSE_2
+
+SaffronCityBlocks: ; 0x50a98 360
+	INCBIN "maps/saffroncity.blk"
+
+SaffronCityScript: ; 0x50c00
+	jp $3c3c
+; 0x50c03
+
+SaffronCityTexts: ; 0x50c03
+	dw SaffronCityText1, SaffronCityText2, SaffronCityText3, SaffronCityText4, SaffronCityText5, SaffronCityText6, SaffronCityText7, SaffronCityText8, SaffronCityText9, SaffronCityText10, SaffronCityText11, SaffronCityText12, SaffronCityText13, SaffronCityText14, SaffronCityText15, SaffronCityText16, SaffronCityText17, SaffronCityText18, SaffronCityText19, SaffronCityText20, SaffronCityText21, SaffronCityText22, SaffronCityText23, SaffronCityText24, SaffronCityText25
+
+SaffronCityText1: ; 0x50c35
+	TX_FAR _SaffronCityText1
+	db $50
+
+SaffronCityText2: ; 0x50c3a
+	TX_FAR _SaffronCityText2
+	db $50
+
+SaffronCityText3: ; 0x50c3f
+	TX_FAR _SaffronCityText3
+	db $50
+
+SaffronCityText4: ; 0x50c44
+	TX_FAR _SaffronCityText4
+	db $50
+
+SaffronCityText5: ; 0x50c49
+	TX_FAR _SaffronCityText5
+	db $50
+
+SaffronCityText6: ; 0x50c4e
+	TX_FAR _SaffronCityText6
+	db $50
+
+SaffronCityText7: ; 0x50c53
+	TX_FAR _SaffronCityText7
+	db $50
+
+SaffronCityText8: ; 0x50c58
+	TX_FAR _SaffronCityText8
+	db $50
+
+SaffronCityText9: ; 0x50c5d
+	TX_FAR _SaffronCityText9
+	db $50
+
+SaffronCityText10: ; 0x50c62
+	TX_FAR _SaffronCityText10
+	db $50
+
+SaffronCityText11: ; 0x50c67
+	TX_FAR _SaffronCityText11
+	db $50
+
+SaffronCityText12: ; 0x50c6c
+	TX_FAR _SaffronCityText12
+	db $15, $50
+
+SaffronCityText13: ; 0x50c72
+	TX_FAR _SaffronCityText13
+	db $50
+
+SaffronCityText14: ; 0x50c77
+	TX_FAR _SaffronCityText14
+	db $50
+
+SaffronCityText15: ; 0x50c7c
+	TX_FAR _SaffronCityText15
+	db $50
+
+SaffronCityText16: ; 0x50c81
+	TX_FAR _SaffronCityText16
+	db $50
+
+SaffronCityText17: ; 0x50c86
+	TX_FAR _SaffronCityText17
+	db $50
+
+SaffronCityText18: ; 0x50c8b
+	TX_FAR _SaffronCityText18
+	db $50
+
+SaffronCityText20: ; 0x50c90
+	TX_FAR _SaffronCityText20
+	db $50
+
+SaffronCityText21: ; 0x50c95
+	TX_FAR _SaffronCityText21
+	db $50
+
+SaffronCityText22: ; 0x50c9a
+	TX_FAR _SaffronCityText22
+	db $50
+
+SaffronCityText24: ; 0x50c9f
+	TX_FAR _SaffronCityText24
+	db $50
+
+SaffronCityText25: ; 0x50ca4
+	TX_FAR _SaffronCityText25
+	db $50
+
+Route20Script: ; 0x50ca9
+	ld hl, $d7e7
+	bit 0, [hl]
+	res 0, [hl]
+	call nz, $4cc6
+	call $3c3c
+	ld hl, $4d3a
+	ld de, $4d1c
+	ld a, [$d628]
+	call $3160
+	ld [$d628], a
+	ret
+; 0x50cc6
+
+INCBIN "baserom.gbc",$50cc6,$5c
+
+Route20Texts: ; 0x50d22
+	dw Route20Text1, Route20Text2, Route20Text3, Route20Text4, Route20Text5, Route20Text6, Route20Text7, Route20Text8, Route20Text9, Route20Text10, Route20Text11, Route20Text12
+
+Route20TrainerHeaders:
+Route20TrainerHeader1:
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e17 ; 0x4e17 TextBeforeBattle
+	dw UnnamedText_50e21 ; 0x4e21 TextAfterBattle
+	dw UnnamedText_50e1c ; 0x4e1c TextEndBattle
+	dw UnnamedText_50e1c ; 0x4e1c TextEndBattle
+; 0x50d46
+
+TrainerHeader_50d46: ; 0x50d46
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e26 ; 0x4e26 TextBeforeBattle
+	dw UnnamedText_50e30 ; 0x4e30 TextAfterBattle
+	dw UnnamedText_50e2b ; 0x4e2b TextEndBattle
+	dw UnnamedText_50e2b ; 0x4e2b TextEndBattle
+; 0x50d52
+
+TrainerHeader_50d52: ; 0x50d52
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e35 ; 0x4e35 TextBeforeBattle
+	dw UnnamedText_50e3f ; 0x4e3f TextAfterBattle
+	dw UnnamedText_50e3a ; 0x4e3a TextEndBattle
+	dw UnnamedText_50e3a ; 0x4e3a TextEndBattle
+; 0x50d5e
+
+TrainerHeader_50d5e: ; 0x50d5e
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e44 ; 0x4e44 TextBeforeBattle
+	dw UnnamedText_50e4e ; 0x4e4e TextAfterBattle
+	dw UnnamedText_50e49 ; 0x4e49 TextEndBattle
+	dw UnnamedText_50e49 ; 0x4e49 TextEndBattle
+; 0x50d6a
+
+TrainerHeader_50d6a: ; 0x50d6a
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e53 ; 0x4e53 TextBeforeBattle
+	dw UnnamedText_50e5d ; 0x4e5d TextAfterBattle
+	dw UnnamedText_50e58 ; 0x4e58 TextEndBattle
+	dw UnnamedText_50e58 ; 0x4e58 TextEndBattle
+; 0x50d76
+
+TrainerHeader_50d76: ; 0x50d76
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e62 ; 0x4e62 TextBeforeBattle
+	dw UnnamedText_50e6c ; 0x4e6c TextAfterBattle
+	dw UnnamedText_50e67 ; 0x4e67 TextEndBattle
+	dw UnnamedText_50e67 ; 0x4e67 TextEndBattle
+; 0x50d82
+
+TrainerHeader_50d82: ; 0x50d82
+	db $7 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e71 ; 0x4e71 TextBeforeBattle
+	dw UnnamedText_50e7b ; 0x4e7b TextAfterBattle
+	dw UnnamedText_50e76 ; 0x4e76 TextEndBattle
+	dw UnnamedText_50e76 ; 0x4e76 TextEndBattle
+; 0x50d8e
+
+TrainerHeader_50d8e: ; 0x50d8e
+	db $8 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e80 ; 0x4e80 TextBeforeBattle
+	dw UnnamedText_50e8a ; 0x4e8a TextAfterBattle
+	dw UnnamedText_50e85 ; 0x4e85 TextEndBattle
+	dw UnnamedText_50e85 ; 0x4e85 TextEndBattle
+; 0x50d9a
+
+TrainerHeader_50d9a: ; 0x50d9a
+	db $9 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e8f ; 0x4e8f TextBeforeBattle
+	dw UnnamedText_50e99 ; 0x4e99 TextAfterBattle
+	dw UnnamedText_50e94 ; 0x4e94 TextEndBattle
+	dw UnnamedText_50e94 ; 0x4e94 TextEndBattle
+; 0x50da6
+
+TrainerHeader_50da6: ; 0x50da6
+	db $a ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e7 ; flag's byte
+	dw UnnamedText_50e9e ; 0x4e9e TextBeforeBattle
+	dw UnnamedText_50ea8 ; 0x4ea8 TextAfterBattle
+	dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle
+	dw UnnamedText_50ea3 ; 0x4ea3 TextEndBattle
+; 0x50db2
+
+db $ff
+
+Route20Text1: ; 0x50db3
+	db $08 ; asm
+	ld hl, Route20TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text2: ; 0x50dbd
+	db $08 ; asm
+	ld hl, TrainerHeader_50d46
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text3: ; 0x50dc7
+	db $08 ; asm
+	ld hl, TrainerHeader_50d52
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text4: ; 0x50dd1
+	db $08 ; asm
+	ld hl, TrainerHeader_50d5e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text5: ; 0x50ddb
+	db $08 ; asm
+	ld hl, TrainerHeader_50d6a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text6: ; 0x50de5
+	db $08 ; asm
+	ld hl, TrainerHeader_50d76
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text7: ; 0x50def
+	db $08 ; asm
+	ld hl, TrainerHeader_50d82
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text8: ; 0x50df9
+	db $08 ; asm
+	ld hl, TrainerHeader_50d8e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text9: ; 0x50e03
+	db $08 ; asm
+	ld hl, TrainerHeader_50d9a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route20Text10: ; 0x50e0d
+	db $08 ; asm
+	ld hl, TrainerHeader_50da6
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_50e17: ; 0x50e17
+	TX_FAR _UnnamedText_50e17
+	db $50
+; 0x50e17 + 5 bytes
+
+UnnamedText_50e1c: ; 0x50e1c
+	TX_FAR _UnnamedText_50e1c
+	db $50
+; 0x50e1c + 5 bytes
+
+UnnamedText_50e21: ; 0x50e21
+	TX_FAR _UnnamedText_50e21
+	db $50
+; 0x50e21 + 5 bytes
+
+UnnamedText_50e26: ; 0x50e26
+	TX_FAR _UnnamedText_50e26
+	db $50
+; 0x50e26 + 5 bytes
+
+UnnamedText_50e2b: ; 0x50e2b
+	TX_FAR _UnnamedText_50e2b
+	db $50
+; 0x50e2b + 5 bytes
+
+UnnamedText_50e30: ; 0x50e30
+	TX_FAR _UnnamedText_50e30
+	db $50
+; 0x50e30 + 5 bytes
+
+UnnamedText_50e35: ; 0x50e35
+	TX_FAR _UnnamedText_50e35
+	db $50
+; 0x50e35 + 5 bytes
+
+UnnamedText_50e3a: ; 0x50e3a
+	TX_FAR _UnnamedText_50e3a
+	db $50
+; 0x50e3a + 5 bytes
+
+UnnamedText_50e3f: ; 0x50e3f
+	TX_FAR _UnnamedText_50e3f
+	db $50
+; 0x50e3f + 5 bytes
+
+UnnamedText_50e44: ; 0x50e44
+	TX_FAR _UnnamedText_50e44
+	db $50
+; 0x50e44 + 5 bytes
+
+UnnamedText_50e49: ; 0x50e49
+	TX_FAR _UnnamedText_50e49
+	db $50
+; 0x50e49 + 5 bytes
+
+UnnamedText_50e4e: ; 0x50e4e
+	TX_FAR _UnnamedText_50e4e
+	db $50
+; 0x50e4e + 5 bytes
+
+UnnamedText_50e53: ; 0x50e53
+	TX_FAR _UnnamedText_50e53
+	db $50
+; 0x50e53 + 5 bytes
+
+UnnamedText_50e58: ; 0x50e58
+	TX_FAR _UnnamedText_50e58
+	db $50
+; 0x50e58 + 5 bytes
+
+UnnamedText_50e5d: ; 0x50e5d
+	TX_FAR _UnnamedText_50e5d
+	db $50
+; 0x50e5d + 5 bytes
+
+UnnamedText_50e62: ; 0x50e62
+	TX_FAR _UnnamedText_50e62
+	db $50
+; 0x50e62 + 5 bytes
+
+UnnamedText_50e67: ; 0x50e67
+	TX_FAR _UnnamedText_50e67
+	db $50
+; 0x50e67 + 5 bytes
+
+UnnamedText_50e6c: ; 0x50e6c
+	TX_FAR _UnnamedText_50e6c
+	db $50
+; 0x50e6c + 5 bytes
+
+UnnamedText_50e71: ; 0x50e71
+	TX_FAR _UnnamedText_50e71
+	db $50
+; 0x50e71 + 5 bytes
+
+UnnamedText_50e76: ; 0x50e76
+	TX_FAR _UnnamedText_50e76
+	db $50
+; 0x50e76 + 5 bytes
+
+UnnamedText_50e7b: ; 0x50e7b
+	TX_FAR _UnnamedText_50e7b
+	db $50
+; 0x50e7b + 5 bytes
+
+UnnamedText_50e80: ; 0x50e80
+	TX_FAR _UnnamedText_50e80
+	db $50
+; 0x50e80 + 5 bytes
+
+UnnamedText_50e85: ; 0x50e85
+	TX_FAR _UnnamedText_50e85
+	db $50
+; 0x50e85 + 5 bytes
+
+UnnamedText_50e8a: ; 0x50e8a
+	TX_FAR _UnnamedText_50e8a
+	db $50
+; 0x50e8a + 5 bytes
+
+UnnamedText_50e8f: ; 0x50e8f
+	TX_FAR _UnnamedText_50e8f
+	db $50
+; 0x50e8f + 5 bytes
+
+UnnamedText_50e94: ; 0x50e94
+	TX_FAR _UnnamedText_50e94
+	db $50
+; 0x50e94 + 5 bytes
+
+UnnamedText_50e99: ; 0x50e99
+	TX_FAR _UnnamedText_50e99
+	db $50
+; 0x50e99 + 5 bytes
+
+UnnamedText_50e9e: ; 0x50e9e
+	TX_FAR _UnnamedText_50e9e
+	db $50
+; 0x50e9e + 5 bytes
+
+UnnamedText_50ea3: ; 0x50ea3
+	TX_FAR _UnnamedText_50ea3
+	db $50
+; 0x50ea3 + 5 bytes
+
+UnnamedText_50ea8: ; 0x50ea8
+	TX_FAR _UnnamedText_50ea8
+	db $50
+; 0x50ea8 + 5 bytes
+
+Route20Text12:
+Route20Text11: ; 0x50ead
+	TX_FAR _Route20Text11
+	db $50
+
+Route22Script: ; 0x50eb2
+	call $3c3c
+	ld hl, Route22Scripts
+	ld a, [$d60a]
+	jp $3d97
+; 0x50ebe
+
+Route22Scripts: ; 0x50ebe
+	dw Route22Script0, Route22Script1, Route22Script2, Route22Script3
+
+INCBIN "baserom.gbc",$50ec6,$3a
+
+Route22Script0: ; 0x50f00
+	ld a, [$d7eb]
+	bit 7, a
+	ret z
+	ld hl, $4f2d
+	call $34bf
+	ret nc
+	ld a, [$cd3d]
+	ld [$cf0d], a
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, $2
+	ld [$d528], a
+	ld a, [$d7eb]
+	bit 0, a
+	jr nz, .asm_50f32 ; 0x50f25 $b
+	bit 1, a
+	jp nz, $504e
+	ret
+	inc b
+	dec e
+	dec b
+	dec e
+	rst $38
+.asm_50f32
+	ld a, $1
+	ld [$cd4f], a
+	xor a
+	ld [$cd50], a
+	ld a, $4c
+	call Predef
+	ld a, [$d700]
+	and a
+	jr z, .asm_50f4e ; 0x50f44 $8
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+.asm_50f4e
+	ld c, $2
+	ld a, $de
+	call $23a1
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $4ee6
+	ld a, $1
+	ld [$d60a], a
+	ret
+; 0x50f62
+
+Route22Script1: ; 0x50f62
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	ld a, [$cf0d]
+	cp $1
+	jr nz, .asm_50f78 ; 0x50f6d $9
+	ld a, $4
+	ld [$d528], a
+	ld a, $4
+	jr .asm_50f7a ; 0x50f76 $2
+.asm_50f78
+	ld a, $c
+.asm_50f7a
+	ld [$ff00+$8d], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $34a6
+	xor a
+	ld [$cd6b], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $51b7
+	ld de, $51bc
+	call $3354
+	ld a, $e1
+	ld [$d059], a
+	ld hl, $4faf
+	call $4ed6
+	ld a, $2
+	ld [$d60a], a
+	ret
+; 0x50faf
+
+INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf
+
+Route22Script2: ; 0x50fb5
+	ld a, [$d057]
+	cp $ff
+	jp z, $4ece
+	ld a, [$c109]
+	and a
+	jr nz, .asm_50fc7 ; 0x50fc1 $4
+	ld a, $4
+	jr .asm_50fc9 ; 0x50fc5 $2
+.asm_50fc7
+	ld a, $c
+.asm_50fc9
+	ld [$ff00+$8d], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $34a6
+	ld a, $f0
+	ld [$cd6b], a
+	ld hl, $d7eb
+	set 5, [hl]
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, [$cf0d]
+	cp $1
+	jr nz, .asm_50fff ; 0x50ff8 $5
+	call $5008
+	jr .asm_51002 ; 0x50ffd $3
+.asm_50fff
+	call $500d
+.asm_51002
+	ld a, $3
+	ld [$d60a], a
+	ret
+; 0x51008
+
+INCBIN "baserom.gbc",$51008,$5102a - $51008
+
+Route22Script3: ; 0x5102a
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, $22
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	call $2307
+	ld hl, $d7eb
+	res 0, [hl]
+	res 7, [hl]
+	ld a, $0
+	ld [$d60a], a
+	ret
+; 0x5104e
+
+INCBIN "baserom.gbc",$5104e,$127
+
+Route22Texts: ; 0x51175
+	dw Route22Text1, Route22Text2, Route22Text3
+
+Route22Text1: ; 0x5117b
+	db $08 ; asm
+	ld a, [$d7eb]
+	bit 5, a
+	jr z, .asm_a88cf ; 0x51181
+	ld hl, UnnamedText_511b2
+	call PrintText
+	jr .asm_48088 ; 0x51189
+.asm_a88cf ; 0x5118b
+	ld hl, UnnamedText_511ad
+	call PrintText
+.asm_48088 ; 0x51191
+	jp TextScriptEnd
+
+Route22Text2: ; 0x51194
+	db $08 ; asm
+	ld a, [$d7eb]
+	bit 6, a
+	jr z, .asm_58c0a ; 0x5119a
+	ld hl, UnnamedText_511c6
+	call PrintText
+	jr .asm_673ee ; 0x511a2
+.asm_58c0a ; 0x511a4
+	ld hl, UnnamedText_511c1
+	call PrintText
+.asm_673ee ; 0x511aa
+	jp TextScriptEnd
+
+UnnamedText_511ad: ; 0x511ad
+	TX_FAR _UnnamedText_511ad
+	db $50
+; 0x511ad + 5 bytes
+
+UnnamedText_511b2: ; 0x511b2
+	TX_FAR _UnnamedText_511b2
+	db $50
+; 0x511b2 + 5 bytes
+
+UnnamedText_511b7: ; 0x511b7
+	TX_FAR _UnnamedText_511b7
+	db $50
+; 0x511b7 + 5 bytes
+
+UnnamedText_511bc: ; 0x511bc
+	TX_FAR _UnnamedText_511bc
+	db $50
+; 0x511bc + 5 bytes
+
+UnnamedText_511c1: ; 0x511c1
+	TX_FAR _UnnamedText_511c1
+	db $50
+; 0x511c1 + 5 bytes
+
+UnnamedText_511c6: ; 0x511c6
+	TX_FAR _UnnamedText_511c6
+	db $50
+; 0x511c6 + 5 bytes
+
+UnnamedText_511cb: ; 0x511cb
+	TX_FAR _UnnamedText_511cb
+	db $50
+; 0x511cb + 5 bytes
+
+UnnamedText_511d0: ; 0x511d0
+	TX_FAR _UnnamedText_511d0
+	db $50
+; 0x511d0 + 5 bytes
+
+Route22Text3: ; 0x511d5
+	TX_FAR _Route22Text3
+	db $50
+
+Route23Script: ; 0x511da
+	call $51e9
+	call $3c3c
+	ld hl, Route23Scripts
+	ld a, [$d667]
+	jp $3d97
+; 0x511e9
+
+INCBIN "baserom.gbc",$511e9,$51213 - $511e9
+
+Route23Scripts: ; 0x51213
+	dw Route23Script0
+
+INCBIN "baserom.gbc",$51215,$4
+
+Route23Script0: ; 0x51219
+	ld hl, $5255
+	ld a, [$d361]
+	ld b, a
+	ld e, $0
+	ld c, $7
+.asm_51224
+	ld a, [hli]
+	cp $ff
+	ret z
+	inc e
+	dec c
+	cp b
+	jr nz, .asm_51224 ; 0x5122b $f7
+	cp $23
+	jr nz, .asm_51237 ; 0x5122f $6
+	ld a, [$d362]
+	cp $e
+	ret nc
+.asm_51237
+	ld a, e
+	ld [$ff00+$8c], a
+	ld a, c
+	ld [$cd3d], a
+	ld b, $2
+	ld hl, $d7ed
+	ld a, $10
+	call Predef
+	ld a, c
+	and a
+	ret nz
+	call $525d
+	call $2920
+	xor a
+	ld [$ff00+$b4], a
+	ret
+; 0x51255
+
+INCBIN "baserom.gbc",$51255,$a2
+
+Route23Texts: ; 0x512f7
+	dw Route23Text1, Route23Text2, Route23Text3, Route23Text4, Route23Text5, Route23Text6, Route23Text7, Route23Text8
+
+Route23Text1: ; 0x51307
+	db $08 ; asm
+	ld a, $6
+	call $5346
+	jp TextScriptEnd
+
+Route23Text2: ; 0x51310
+	db $08 ; asm
+	ld a, $5
+	call $5346
+	jp TextScriptEnd
+
+Route23Text3: ; 0x51319
+	db $08 ; asm
+	ld a, $4
+	call $5346
+	jp TextScriptEnd
+
+Route23Text4: ; 0x51322
+	db $08 ; asm
+	ld a, $3
+	call $5346
+	jp TextScriptEnd
+
+Route23Text5: ; 0x5132b
+	db $08 ; asm
+	ld a, $2
+	call $5346
+	jp TextScriptEnd
+
+Route23Text6: ; 0x51334
+	db $08 ; asm
+	ld a, $1
+	call $5346
+	jp TextScriptEnd
+
+Route23Text7: ; 0x5133d
+	db $8
+	ld a, $0
+	call $5346
+	jp TextScriptEnd
+; 0x51346
+
+INCBIN "baserom.gbc",$51346,$513a3 - $51346
+
+UnnamedText_513a3: ; 0x513a3
+	TX_FAR _UnnamedText_513a3
+	db $50
+; 0x513a3 + 5 bytes
+
+Route23Text8: ; 0x513a8
+	TX_FAR _Route23Text8
+	db $50
+
+Route24Script: ; 0x513ad
+	call $3c3c
+	ld hl, $545b
+	ld de, $53cb
+	ld a, [$d602]
+	call $3160
+	ld [$d602], a
+	ret
+; 0x513c0
+
+INCBIN "baserom.gbc",$513c0,$8b
+
+Route24Texts: ; 0x5144b
+	dw Route24Text1, Route24Text2, Route24Text3, Route24Text4, Route24Text5, Route24Text6, Route24Text7, Route24Text8
+
+TrainerHeader_5145b: ; 0x5145b
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7ef ; flag's byte
+	dw UnnamedText_51571 ; 0x5571 TextBeforeBattle
+	dw UnnamedText_5157b ; 0x557b TextAfterBattle
+	dw UnnamedText_51576 ; 0x5576 TextEndBattle
+	dw UnnamedText_51576 ; 0x5576 TextEndBattle
+; 0x51467
+
+TrainerHeader_51467: ; 0x51467
+	db $3 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7ef ; flag's byte
+	dw UnnamedText_51580 ; 0x5580 TextBeforeBattle
+	dw UnnamedText_5158a ; 0x558a TextAfterBattle
+	dw UnnamedText_51585 ; 0x5585 TextEndBattle
+	dw UnnamedText_51585 ; 0x5585 TextEndBattle
+; 0x51473
+
+TrainerHeader_51473: ; 0x51473
+	db $4 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7ef ; flag's byte
+	dw UnnamedText_5158f ; 0x558f TextBeforeBattle
+	dw UnnamedText_51599 ; 0x5599 TextAfterBattle
+	dw UnnamedText_51594 ; 0x5594 TextEndBattle
+	dw UnnamedText_51594 ; 0x5594 TextEndBattle
+; 0x5147f
+
+TrainerHeader_5147f: ; 0x5147f
+	db $5 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7ef ; flag's byte
+	dw UnnamedText_5159e ; 0x559e TextBeforeBattle
+	dw UnnamedText_515a8 ; 0x55a8 TextAfterBattle
+	dw UnnamedText_515a3 ; 0x55a3 TextEndBattle
+	dw UnnamedText_515a3 ; 0x55a3 TextEndBattle
+; 0x5148b
+
+TrainerHeader_5148b: ; 0x5148b
+	db $6 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7ef ; flag's byte
+	dw UnnamedText_515ad ; 0x55ad TextBeforeBattle
+	dw UnnamedText_515b7 ; 0x55b7 TextAfterBattle
+	dw UnnamedText_515b2 ; 0x55b2 TextEndBattle
+	dw UnnamedText_515b2 ; 0x55b2 TextEndBattle
+; 0x51497
+
+TrainerHeader_51497: ; 0x51497
+	db $7 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7ef ; flag's byte
+	dw UnnamedText_515bc ; 0x55bc TextBeforeBattle
+	dw UnnamedText_515c6 ; 0x55c6 TextAfterBattle
+	dw UnnamedText_515c1 ; 0x55c1 TextEndBattle
+	dw UnnamedText_515c1 ; 0x55c1 TextEndBattle
+; 0x514a3
+
+db $ff
+
+Route24Text1: ; 0x514a4
+	db $8
+	ld hl, $d7f0
+	res 1, [hl]
+	ld a, [$d7ef]
+	bit 0, a
+	jr nz, .asm_a03f5 ; 0x514af $48
+	ld hl, UnnamedText_51510
+	call PrintText
+	ld bc, $3101
+	call GiveItem
+	jr nc, .asm_3a23d ; 0x514bd $43
+	ld hl, $d7ef
+	set 0, [hl]
+	ld hl, UnnamedText_5151a
+	call PrintText
+	ld hl, UnnamedText_51526
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_5152b
+	ld de, UnnamedText_5152b
+	call $3354
+	ld a, [$ff00+$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $3
+	ld [$d602], a
+	ld [$da39], a
+	jp TextScriptEnd
+.asm_a03f5 ; 0x514f9
+	ld hl, UnnamedText_51530
+	call PrintText
+	jp TextScriptEnd
+.asm_3a23d ; 0x51502
+	ld hl, UnnamedText_51521
+	call PrintText
+	ld hl, $d7f0
+	set 1, [hl]
+	jp TextScriptEnd
+; 0x51510
+
+UnnamedText_51510: ; 0x51510
+	TX_FAR _UnnamedText_51510 ; 0x92721
+	db $0B
+	TX_FAR _UnnamedText_51515 ; 0x92755
+	db $50
+; 0x5151a
+
+UnnamedText_5151a: ; 0x5151a
+	TX_FAR _UnnamedText_5151a ; 0x92779
+	db $0B, $6, $50
+
+UnnamedText_51521: ; 0x51521
+	TX_FAR _UnnamedText_51521
+	db $50
+; 0x51521 + 5 bytes
+
+UnnamedText_51526: ; 0x51526
+	TX_FAR _UnnamedText_51526
+	db $50
+; 0x51526 + 5 bytes
+
+UnnamedText_5152b: ; 0x5152b
+	TX_FAR _UnnamedText_5152b
+	db $50
+; 0x5152b + 5 bytes
+
+UnnamedText_51530: ; 0x51530
+	TX_FAR _UnnamedText_51530
+	db $50
+; 0x51530 + 5 bytes
+
+Route24Text2: ; 0x51535
+	db $08 ; asm
+	ld hl, TrainerHeader_5145b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route24Text3: ; 0x5153f
+	db $08 ; asm
+	ld hl, TrainerHeader_51467
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route24Text4: ; 0x51549
+	db $08 ; asm
+	ld hl, TrainerHeader_51473
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route24Text5: ; 0x51553
+	db $08 ; asm
+	ld hl, TrainerHeader_5147f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route24Text6: ; 0x5155d
+	db $08 ; asm
+	ld hl, TrainerHeader_5148b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route24Text7: ; 0x51567
+	db $08 ; asm
+	ld hl, TrainerHeader_51497
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_51571: ; 0x51571
+	TX_FAR _UnnamedText_51571
+	db $50
+; 0x51571 + 5 bytes
+
+UnnamedText_51576: ; 0x51576
+	TX_FAR _UnnamedText_51576
+	db $50
+; 0x51576 + 5 bytes
+
+UnnamedText_5157b: ; 0x5157b
+	TX_FAR _UnnamedText_5157b
+	db $50
+; 0x5157b + 5 bytes
+
+UnnamedText_51580: ; 0x51580
+	TX_FAR _UnnamedText_51580
+	db $50
+; 0x51580 + 5 bytes
+
+UnnamedText_51585: ; 0x51585
+	TX_FAR _UnnamedText_51585
+	db $50
+; 0x51585 + 5 bytes
+
+UnnamedText_5158a: ; 0x5158a
+	TX_FAR _UnnamedText_5158a
+	db $50
+; 0x5158a + 5 bytes
+
+UnnamedText_5158f: ; 0x5158f
+	TX_FAR _UnnamedText_5158f
+	db $50
+; 0x5158f + 5 bytes
+
+UnnamedText_51594: ; 0x51594
+	TX_FAR _UnnamedText_51594
+	db $50
+; 0x51594 + 5 bytes
+
+UnnamedText_51599: ; 0x51599
+	TX_FAR _UnnamedText_51599
+	db $50
+; 0x51599 + 5 bytes
+
+UnnamedText_5159e: ; 0x5159e
+	TX_FAR _UnnamedText_5159e
+	db $50
+; 0x5159e + 5 bytes
+
+UnnamedText_515a3: ; 0x515a3
+	TX_FAR _UnnamedText_515a3
+	db $50
+; 0x515a3 + 5 bytes
+
+UnnamedText_515a8: ; 0x515a8
+	TX_FAR _UnnamedText_515a8
+	db $50
+; 0x515a8 + 5 bytes
+
+UnnamedText_515ad: ; 0x515ad
+	TX_FAR _UnnamedText_515ad
+	db $50
+; 0x515ad + 5 bytes
+
+UnnamedText_515b2: ; 0x515b2
+	TX_FAR _UnnamedText_515b2
+	db $50
+; 0x515b2 + 5 bytes
+
+UnnamedText_515b7: ; 0x515b7
+	TX_FAR _UnnamedText_515b7
+	db $50
+; 0x515b7 + 5 bytes
+
+UnnamedText_515bc: ; 0x515bc
+	TX_FAR _UnnamedText_515bc
+	db $50
+; 0x515bc + 5 bytes
+
+UnnamedText_515c1: ; 0x515c1
+	TX_FAR _UnnamedText_515c1
+	db $50
+; 0x515c1 + 5 bytes
+
+UnnamedText_515c6: ; 0x515c6
+	TX_FAR _UnnamedText_515c6
+	db $50
+; 0x515c6 + 5 bytes
+
+Route25Script: ; 0x515cb
+	call Unknown_515e1
+	call $3c3c
+	ld hl, Route25TrainerHeader1
+	ld de, $5622
+	ld a, [$d603]
+	call $3160
+	ld [$d603], a
+	ret
+; 0x515e1
+
+Unknown_515e1: ; 0x515e1
+INCBIN "baserom.gbc",$515e1,$47
+
+Route25Texts: ; 0x51628
+	dw Route25Text1, Route25Text2, Route25Text3, Route25Text4, Route25Text5, Route25Text6, Route25Text7, Route25Text8, Route25Text9, Route25Text10, Route25Text11
+
+Route25TrainerHeaders:
+Route25TrainerHeader1:
+TrainerHeader_5163e: ; 0x5163e
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_51705 ; 0x5705 TextBeforeBattle
+	dw UnnamedText_5170f ; 0x570f TextAfterBattle
+	dw UnnamedText_5170a ; 0x570a TextEndBattle
+	dw UnnamedText_5170a ; 0x570a TextEndBattle
+; 0x5164a
+
+TrainerHeader_5164a: ; 0x5164a
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_51714 ; 0x5714 TextBeforeBattle
+	dw UnnamedText_5171e ; 0x571e TextAfterBattle
+	dw UnnamedText_51719 ; 0x5719 TextEndBattle
+	dw UnnamedText_51719 ; 0x5719 TextEndBattle
+; 0x51656
+
+TrainerHeader_51656: ; 0x51656
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_51723 ; 0x5723 TextBeforeBattle
+	dw UnnamedText_5172d ; 0x572d TextAfterBattle
+	dw UnnamedText_51728 ; 0x5728 TextEndBattle
+	dw UnnamedText_51728 ; 0x5728 TextEndBattle
+; 0x51662
+
+TrainerHeader_51662: ; 0x51662
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_51732 ; 0x5732 TextBeforeBattle
+	dw UnnamedText_5173c ; 0x573c TextAfterBattle
+	dw UnnamedText_51737 ; 0x5737 TextEndBattle
+	dw UnnamedText_51737 ; 0x5737 TextEndBattle
+; 0x5166e
+
+TrainerHeader_5166e: ; 0x5166e
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_51741 ; 0x5741 TextBeforeBattle
+	dw UnnamedText_5174b ; 0x574b TextAfterBattle
+	dw UnnamedText_51746 ; 0x5746 TextEndBattle
+	dw UnnamedText_51746 ; 0x5746 TextEndBattle
+; 0x5167a
+
+TrainerHeader_5167a: ; 0x5167a
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_51750 ; 0x5750 TextBeforeBattle
+	dw UnnamedText_5175a ; 0x575a TextAfterBattle
+	dw UnnamedText_51755 ; 0x5755 TextEndBattle
+	dw UnnamedText_51755 ; 0x5755 TextEndBattle
+; 0x51686
+
+TrainerHeader_51686: ; 0x51686
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_5175f ; 0x575f TextBeforeBattle
+	dw UnnamedText_51769 ; 0x5769 TextAfterBattle
+	dw UnnamedText_51764 ; 0x5764 TextEndBattle
+	dw UnnamedText_51764 ; 0x5764 TextEndBattle
+; 0x51692
+
+TrainerHeader_51692: ; 0x51692
+	db $8 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_5176e ; 0x576e TextBeforeBattle
+	dw UnnamedText_51778 ; 0x5778 TextAfterBattle
+	dw UnnamedText_51773 ; 0x5773 TextEndBattle
+	dw UnnamedText_51773 ; 0x5773 TextEndBattle
+; 0x5169e
+
+TrainerHeader_5169e: ; 0x5169e
+	db $9 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7f1 ; flag's byte
+	dw UnnamedText_5177d ; 0x577d TextBeforeBattle
+	dw UnnamedText_51787 ; 0x5787 TextAfterBattle
+	dw UnnamedText_51782 ; 0x5782 TextEndBattle
+	dw UnnamedText_51782 ; 0x5782 TextEndBattle
+; 0x516aa
+
+db $ff
+
+Route25Text1: ; 0x516ab
+	db $08 ; asm
+	ld hl, TrainerHeader_5163e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text2: ; 0x516b5
+	db $08 ; asm
+	ld hl, TrainerHeader_5164a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text3: ; 0x516bf
+	db $08 ; asm
+	ld hl, TrainerHeader_51656
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text4: ; 0x516c9
+	db $08 ; asm
+	ld hl, TrainerHeader_51662
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text5: ; 0x516d3
+	db $08 ; asm
+	ld hl, TrainerHeader_5166e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text6: ; 0x516dd
+	db $08 ; asm
+	ld hl, TrainerHeader_5167a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text7: ; 0x516e7
+	db $08 ; asm
+	ld hl, TrainerHeader_51686
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text8: ; 0x516f1
+	db $08 ; asm
+	ld hl, TrainerHeader_51692
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route25Text9: ; 0x516fb
+	db $08 ; asm
+	ld hl, TrainerHeader_5169e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_51705: ; 0x51705
+	TX_FAR _UnnamedText_51705
+	db $50
+; 0x51705 + 5 bytes
+
+UnnamedText_5170a: ; 0x5170a
+	TX_FAR _UnnamedText_5170a
+	db $50
+; 0x5170a + 5 bytes
+
+UnnamedText_5170f: ; 0x5170f
+	TX_FAR _UnnamedText_5170f
+	db $50
+; 0x5170f + 5 bytes
+
+UnnamedText_51714: ; 0x51714
+	TX_FAR _UnnamedText_51714
+	db $50
+; 0x51714 + 5 bytes
+
+UnnamedText_51719: ; 0x51719
+	TX_FAR _UnnamedText_51719
+	db $50
+; 0x51719 + 5 bytes
+
+UnnamedText_5171e: ; 0x5171e
+	TX_FAR _UnnamedText_5171e
+	db $50
+; 0x5171e + 5 bytes
+
+UnnamedText_51723: ; 0x51723
+	TX_FAR _UnnamedText_51723
+	db $50
+; 0x51723 + 5 bytes
+
+UnnamedText_51728: ; 0x51728
+	TX_FAR _UnnamedText_51728
+	db $50
+; 0x51728 + 5 bytes
+
+UnnamedText_5172d: ; 0x5172d
+	TX_FAR _UnnamedText_5172d
+	db $50
+; 0x5172d + 5 bytes
+
+UnnamedText_51732: ; 0x51732
+	TX_FAR _UnnamedText_51732
+	db $50
+; 0x51732 + 5 bytes
+
+UnnamedText_51737: ; 0x51737
+	TX_FAR _UnnamedText_51737
+	db $50
+; 0x51737 + 5 bytes
+
+UnnamedText_5173c: ; 0x5173c
+	TX_FAR _UnnamedText_5173c
+	db $50
+; 0x5173c + 5 bytes
+
+UnnamedText_51741: ; 0x51741
+	TX_FAR _UnnamedText_51741
+	db $50
+; 0x51741 + 5 bytes
+
+UnnamedText_51746: ; 0x51746
+	TX_FAR _UnnamedText_51746
+	db $50
+; 0x51746 + 5 bytes
+
+UnnamedText_5174b: ; 0x5174b
+	TX_FAR _UnnamedText_5174b
+	db $50
+; 0x5174b + 5 bytes
+
+UnnamedText_51750: ; 0x51750
+	TX_FAR _UnnamedText_51750
+	db $50
+; 0x51750 + 5 bytes
+
+UnnamedText_51755: ; 0x51755
+	TX_FAR _UnnamedText_51755
+	db $50
+; 0x51755 + 5 bytes
+
+UnnamedText_5175a: ; 0x5175a
+	TX_FAR _UnnamedText_5175a
+	db $50
+; 0x5175a + 5 bytes
+
+UnnamedText_5175f: ; 0x5175f
+	TX_FAR _UnnamedText_5175f
+	db $50
+; 0x5175f + 5 bytes
+
+UnnamedText_51764: ; 0x51764
+	TX_FAR _UnnamedText_51764
+	db $50
+; 0x51764 + 5 bytes
+
+UnnamedText_51769: ; 0x51769
+	TX_FAR _UnnamedText_51769
+	db $50
+; 0x51769 + 5 bytes
+
+UnnamedText_5176e: ; 0x5176e
+	TX_FAR _UnnamedText_5176e
+	db $50
+; 0x5176e + 5 bytes
+
+UnnamedText_51773: ; 0x51773
+	TX_FAR _UnnamedText_51773
+	db $50
+; 0x51773 + 5 bytes
+
+UnnamedText_51778: ; 0x51778
+	TX_FAR _UnnamedText_51778
+	db $50
+; 0x51778 + 5 bytes
+
+UnnamedText_5177d: ; 0x5177d
+	TX_FAR _UnnamedText_5177d
+	db $50
+; 0x5177d + 5 bytes
+
+UnnamedText_51782: ; 0x51782
+	TX_FAR _UnnamedText_51782
+	db $50
+; 0x51782 + 5 bytes
+
+UnnamedText_51787: ; 0x51787
+	TX_FAR _UnnamedText_51787
+	db $50
+; 0x51787 + 5 bytes
+
+Route25Text11: ; 0x5178c
+	TX_FAR _Route25Text11
+	db $50
+
+VictoryRoad2_h: ; 0x51791 to 0x5179d (12 bytes) (id=194)
+	db $11 ; tileset
+	db VICTORY_ROAD_2_HEIGHT, VICTORY_ROAD_2_WIDTH ; dimensions (y, x)
+	dw VictoryRoad2Blocks, VictoryRoad2Texts, VictoryRoad2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VictoryRoad2Object ; objects
+
+VictoryRoad2Script: ; 0x5179d
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, VictoryRoad2Script_Unknown517c4
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, $57c9
+	call $3c3c
+	ld hl, VictoryRoad2TrainerHeaders
+	ld de, $57eb
+	ld a, [$d63f]
+	call $3160
+	ld [$d63f], a
+	ret
+; 0x517c4
+
+VictoryRoad2Script_Unknown517c4: ; 0x517c4
+INCBIN "baserom.gbc",$517c4,$57
+
+VictoryRoad2Texts: ; 0x5181b
+	dw VictoryRoad2Text1, VictoryRoad2Text2, VictoryRoad2Text3, VictoryRoad2Text4, VictoryRoad2Text5, VictoryRoad2Text6, VictoryRoad2Text7, VictoryRoad2Text8, VictoryRoad2Text9, VictoryRoad2Text10, VictoryRoad2Text11, VictoryRoad2Text12, VictoryRoad2Text13
+
+VictoryRoad2TrainerHeaders:
+TrainerHeader_51835: ; 0x51835
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7ee ; flag's byte
+	dw UnnamedText_518ca ; 0x58ca TextBeforeBattle
+	dw UnnamedText_518d4 ; 0x58d4 TextAfterBattle
+	dw UnnamedText_518cf ; 0x58cf TextEndBattle
+	dw UnnamedText_518cf ; 0x58cf TextEndBattle
+; 0x51841
+
+TrainerHeader_51841: ; 0x51841
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7ee ; flag's byte
+	dw UnnamedText_518d9 ; 0x58d9 TextBeforeBattle
+	dw UnnamedText_518e3 ; 0x58e3 TextAfterBattle
+	dw UnnamedText_518de ; 0x58de TextEndBattle
+	dw UnnamedText_518de ; 0x58de TextEndBattle
+; 0x5184d
+
+TrainerHeader_5184d: ; 0x5184d
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7ee ; flag's byte
+	dw UnnamedText_518e8 ; 0x58e8 TextBeforeBattle
+	dw UnnamedText_518f2 ; 0x58f2 TextAfterBattle
+	dw UnnamedText_518ed ; 0x58ed TextEndBattle
+	dw UnnamedText_518ed ; 0x58ed TextEndBattle
+; 0x51859
+
+TrainerHeader_51859: ; 0x51859
+	db $4 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7ee ; flag's byte
+	dw UnnamedText_518f7 ; 0x58f7 TextBeforeBattle
+	dw UnnamedText_51901 ; 0x5901 TextAfterBattle
+	dw UnnamedText_518fc ; 0x58fc TextEndBattle
+	dw UnnamedText_518fc ; 0x58fc TextEndBattle
+; 0x51865
+
+TrainerHeader_51865: ; 0x51865
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7ee ; flag's byte
+	dw UnnamedText_51906 ; 0x5906 TextBeforeBattle
+	dw UnnamedText_51910 ; 0x5910 TextAfterBattle
+	dw UnnamedText_5190b ; 0x590b TextEndBattle
+	dw UnnamedText_5190b ; 0x590b TextEndBattle
+; 0x51871
+
+TrainerHeader_51871: ; 0x51871
+	db $6 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7ee ; flag's byte
+	dw UnnamedText_518ba ; 0x58ba TextBeforeBattle
+	dw UnnamedText_518ba ; 0x58ba TextAfterBattle
+	dw UnnamedText_518ba ; 0x58ba TextEndBattle
+	dw UnnamedText_518ba ; 0x58ba TextEndBattle
+; 0x5187d
+
+db $ff
+
+VictoryRoad2Text1: ; 0x5187e
+	db $08 ; asm
+	ld hl, TrainerHeader_51835
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad2Text2: ; 0x51888
+	db $08 ; asm
+	ld hl, TrainerHeader_51841
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad2Text3: ; 0x51892
+	db $08 ; asm
+	ld hl, TrainerHeader_5184d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad2Text4: ; 0x5189c
+	db $08 ; asm
+	ld hl, TrainerHeader_51859
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad2Text5: ; 0x518a6
+	db $08 ; asm
+	ld hl, TrainerHeader_51865
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad2Text6: ; 0x518b0
+	db $08 ; asm
+	ld hl, TrainerHeader_51871
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_518ba: ; 0x518ba
+	TX_FAR _UnnamedText_518ba ; 0x8d06e
+	db $8
+	ld a, $49
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+; 0x518ca
+
+UnnamedText_518ca: ; 0x518ca
+	TX_FAR _UnnamedText_518ca
+	db $50
+; 0x518ca + 5 bytes
+
+UnnamedText_518cf: ; 0x518cf
+	TX_FAR _UnnamedText_518cf
+	db $50
+; 0x518cf + 5 bytes
+
+UnnamedText_518d4: ; 0x518d4
+	TX_FAR _UnnamedText_518d4
+	db $50
+; 0x518d4 + 5 bytes
+
+UnnamedText_518d9: ; 0x518d9
+	TX_FAR _UnnamedText_518d9
+	db $50
+; 0x518d9 + 5 bytes
+
+UnnamedText_518de: ; 0x518de
+	TX_FAR _UnnamedText_518de
+	db $50
+; 0x518de + 5 bytes
+
+UnnamedText_518e3: ; 0x518e3
+	TX_FAR _UnnamedText_518e3
+	db $50
+; 0x518e3 + 5 bytes
+
+UnnamedText_518e8: ; 0x518e8
+	TX_FAR _UnnamedText_518e8
+	db $50
+; 0x518e8 + 5 bytes
+
+UnnamedText_518ed: ; 0x518ed
+	TX_FAR _UnnamedText_518ed
+	db $50
+; 0x518ed + 5 bytes
+
+UnnamedText_518f2: ; 0x518f2
+	TX_FAR _UnnamedText_518f2
+	db $50
+; 0x518f2 + 5 bytes
+
+UnnamedText_518f7: ; 0x518f7
+	TX_FAR _UnnamedText_518f7
+	db $50
+; 0x518f7 + 5 bytes
+
+UnnamedText_518fc: ; 0x518fc
+	TX_FAR _UnnamedText_518fc
+	db $50
+; 0x518fc + 5 bytes
+
+UnnamedText_51901: ; 0x51901
+	TX_FAR _UnnamedText_51901
+	db $50
+; 0x51901 + 5 bytes
+
+UnnamedText_51906: ; 0x51906
+	TX_FAR _UnnamedText_51906
+	db $50
+; 0x51906 + 5 bytes
+
+UnnamedText_5190b: ; 0x5190b
+	TX_FAR _UnnamedText_5190b
+	db $50
+; 0x5190b + 5 bytes
+
+UnnamedText_51910: ; 0x51910
+	TX_FAR _UnnamedText_51910
+	db $50
+; 0x51910 + 5 bytes
+
+VictoryRoad2Object: ; 0x51915 (size=154)
+	db $7d ; border tile
+
+	db $7 ; warps
+	db $8, $0, $2, VICTORY_ROAD_1
+	db $7, $1d, $3, $ff
+	db $8, $1d, $3, $ff
+	db $7, $17, $0, VICTORY_ROAD_3
+	db $e, $19, $2, VICTORY_ROAD_3
+	db $7, $1b, $1, VICTORY_ROAD_3
+	db $1, $1, $3, VICTORY_ROAD_3
+
+	db $0 ; signs
+
+	db $d ; people
+	db SPRITE_HIKER, $9 + 4, $c + 4, $ff, $d2, $41, BLACKBELT + $C8, $9 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $15 + 4, $ff, $d2, $42, JUGGLER + $C8, $2 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $8 + 4, $13 + 4, $ff, $d0, $43, TAMER + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $d0, $44, POKEMANIAC + $C8, $6 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $3 + 4, $1a + 4, $ff, $d2, $45, JUGGLER + $C8, $5 ; trainer
+	db SPRITE_BIRD, $5 + 4, $b + 4, $ff, $d1, $46, MOLTRES, $32 ; trainer
+	db SPRITE_BALL, $5 + 4, $1b + 4, $ff, $ff, $87, TM_17 ; item
+	db SPRITE_BALL, $9 + 4, $12 + 4, $ff, $ff, $88, FULL_HEAL ; item
+	db SPRITE_BALL, $b + 4, $9 + 4, $ff, $ff, $89, TM_05 ; item
+	db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $8a, GUARD_SPEC_ ; item
+	db SPRITE_BOULDER, $e + 4, $4 + 4, $ff, $10, $b ; person
+	db SPRITE_BOULDER, $5 + 4, $5 + 4, $ff, $10, $c ; person
+	db SPRITE_BOULDER, $10 + 4, $17 + 4, $ff, $10, $d ; person
+
+	; warp-to
+	EVENT_DISP $f, $8, $0 ; VICTORY_ROAD_1
+	EVENT_DISP $f, $7, $1d
+	EVENT_DISP $f, $8, $1d
+	EVENT_DISP $f, $7, $17 ; VICTORY_ROAD_3
+	EVENT_DISP $f, $e, $19 ; VICTORY_ROAD_3
+	EVENT_DISP $f, $7, $1b ; VICTORY_ROAD_3
+	EVENT_DISP $f, $1, $1 ; VICTORY_ROAD_3
+
+VictoryRoad2Blocks: ; 0x519af 135
+	INCBIN "maps/victoryroad2.blk"
+
+MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60)
+	db $11 ; tileset
+	db MT_MOON_2_HEIGHT, MT_MOON_2_WIDTH ; dimensions (y, x)
+	dw MtMoon2Blocks, MtMoon2Texts, MtMoon2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw MtMoon2Object ; objects
+
+MtMoon2Script: ; 0x51a42
+	call $3c3c
+	ret
+; 0x51a46
+
+MtMoon2Texts:
+	dw MtMoonText1
+
+MtMoonText1: ; 0x51a48
+	TX_FAR _UnnamedText_51a48
+	db $50
+; 0x51a48 + 5 bytes
+
+MtMoon2Object: ; 0x51a4d (size=68)
+	db $3 ; border tile
+
+	db $8 ; warps
+	db $5, $5, $2, MT_MOON_1
+	db $b, $11, $0, MT_MOON_3
+	db $9, $19, $3, MT_MOON_1
+	db $f, $19, $4, MT_MOON_1
+	db $11, $15, $1, MT_MOON_3
+	db $1b, $d, $2, MT_MOON_3
+	db $3, $17, $3, MT_MOON_3
+	db $3, $1b, $2, $ff
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $e, $5, $5 ; MT_MOON_1
+	EVENT_DISP $e, $b, $11 ; MT_MOON_3
+	EVENT_DISP $e, $9, $19 ; MT_MOON_1
+	EVENT_DISP $e, $f, $19 ; MT_MOON_1
+	EVENT_DISP $e, $11, $15 ; MT_MOON_3
+	EVENT_DISP $e, $1b, $d ; MT_MOON_3
+	EVENT_DISP $e, $3, $17 ; MT_MOON_3
+	EVENT_DISP $e, $3, $1b
+
+MtMoon2Blocks: ; 0x51a91 196
+	INCBIN "maps/mtmoon2.blk"
+
+SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212)
+	db $16 ; tileset
+	db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x)
+	dw SilphCo7Blocks, SilphCo7Texts, SilphCo7Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo7Object ; objects
+
+SilphCo7Script: ; 0x51b61
+	call SilphCo7Script_Unknown51b77
+	call $3c3c
+	ld hl, SilphCo7TrainerHeaders
+	ld de, $5c17
+	ld a, [$d648]
+	call $3160
+	ld [$d648], a
+	ret
+; 0x51b77
+
+SilphCo7Script_Unknown51b77: ; 0x5177
+INCBIN "baserom.gbc",$51b77,$1c8
+
+SilphCo7Texts: ; 0x51d3f
+	dw SilphCo7Text1, SilphCo7Text2, SilphCo7Text3, SilphCo7Text4, SilphCo7Text5, SilphCo7Text6, SilphCo7Text7, SilphCo7Text8, SilphCo7Text9, SilphCo7Text10, SilphCo7Text11, SilphCo7Text12, SilphCo7Text13, SilphCo7Text14, SilphCo7Text15
+
+SilphCo7TrainerHeaders:
+TrainerHeader_51d5d: ; 0x51d5d
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d82f ; flag's byte
+	dw UnnamedText_51e5a ; 0x5e5a TextBeforeBattle
+	dw UnnamedText_51e64 ; 0x5e64 TextAfterBattle
+	dw UnnamedText_51e5f ; 0x5e5f TextEndBattle
+	dw UnnamedText_51e5f ; 0x5e5f TextEndBattle
+; 0x51d69
+
+TrainerHeader_51d69: ; 0x51d69
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d82f ; flag's byte
+	dw UnnamedText_51e73 ; 0x5e73 TextBeforeBattle
+	dw UnnamedText_51e7d ; 0x5e7d TextAfterBattle
+	dw UnnamedText_51e78 ; 0x5e78 TextEndBattle
+	dw UnnamedText_51e78 ; 0x5e78 TextEndBattle
+; 0x51d75
+
+TrainerHeader_51d75: ; 0x51d75
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d82f ; flag's byte
+	dw UnnamedText_51e8c ; 0x5e8c TextBeforeBattle
+	dw UnnamedText_51e96 ; 0x5e96 TextAfterBattle
+	dw UnnamedText_51e91 ; 0x5e91 TextEndBattle
+	dw UnnamedText_51e91 ; 0x5e91 TextEndBattle
+; 0x51d81
+
+TrainerHeader_51d81: ; 0x51d81
+	db $8 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d82f ; flag's byte
+	dw UnnamedText_51ea5 ; 0x5ea5 TextBeforeBattle
+	dw UnnamedText_51eaf ; 0x5eaf TextAfterBattle
+	dw UnnamedText_51eaa ; 0x5eaa TextEndBattle
+	dw UnnamedText_51eaa ; 0x5eaa TextEndBattle
+; 0x51d8d
+
+db $ff
+
+SilphCo7Text1: ; 0x51d8e
+	db $08 ; asm
+	ld a, [$d72e]
+	bit 0, a
+	jr z, .asm_d7e17 ; 0x51d94
+	ld a, [$d838]
+	bit 7, a
+	jr nz, .asm_688b4 ; 0x51d9b
+	ld hl, UnnamedText_51ddd
+	call PrintText
+	jr .asm_b3069 ; 0x51da3
+.asm_d7e17 ; 0x51da5
+	ld hl, UnnamedText_51dd3
+	call PrintText
+	ld bc, (LAPRAS << 8) | 15
+	call GivePokemon
+	jr nc, .asm_b3069 ; 0x51db1
+	ld a, [$ccd3]
+	and a
+	call z, $3865
+	call $3c3c
+	ld hl, UnnamedText_51dd8
+	call PrintText
+	ld hl, $d72e
+	set 0, [hl]
+	jr .asm_b3069 ; 0x51dc8
+.asm_688b4 ; 0x51dca
+	ld hl, UnnamedText_51de2
+	call PrintText
+.asm_b3069 ; 0x51dd0
+	jp TextScriptEnd
+
+UnnamedText_51dd3: ; 0x51dd3
+	TX_FAR _UnnamedText_51dd3
+	db $50
+; 0x51dd3 + 5 bytes
+
+UnnamedText_51dd8: ; 0x51dd8
+	TX_FAR _UnnamedText_51dd8
+	db $50
+; 0x51dd8 + 5 bytes
+
+UnnamedText_51ddd: ; 0x51ddd
+	TX_FAR _UnnamedText_51ddd
+	db $50
+; 0x51ddd + 5 bytes
+
+UnnamedText_51de2: ; 0x51de2
+	TX_FAR _UnnamedText_51de2
+	db $50
+; 0x51de2 + 5 bytes
+
+SilphCo7Text2: ; 0x51de7
+	db $8
+	ld a, [$d838]
+	bit 7, a
+	jr nz, .asm_892ce ; 0x51ded $8
+	ld hl, UnnamedText_51e00
+	call PrintText
+	jr .asm_e4d89 ; 0x51df5 $6
+.asm_892ce ; 0x51df7
+	ld hl, UnnamedText_51e05
+	call PrintText
+.asm_e4d89 ; 0x51dfd
+	jp TextScriptEnd
+; 0x51e00
+
+UnnamedText_51e00: ; 0x51e00
+	TX_FAR _UnnamedText_51e00
+	db $50
+; 0x51e00 + 5 bytes
+
+UnnamedText_51e05: ; 0x51e05
+	TX_FAR _UnnamedText_51e05
+	db $50
+; 0x51e05 + 5 bytes
+
+SilphCo7Text3: ; 0x51e0a
+	db $08 ; asm
+	ld a, [$d838]
+	bit 7, a
+	jr nz, .asm_254aa ; 0x51e10
+	ld hl, UnnamedText_51e23
+	call PrintText
+	jr .asm_6472b ; 0x51e18
+.asm_254aa ; 0x51e1a
+	ld hl, UnnamedText_51e28
+	call PrintText
+.asm_6472b ; 0x51e20
+	jp TextScriptEnd
+
+UnnamedText_51e23: ; 0x51e23
+	TX_FAR _UnnamedText_51e23
+	db $50
+; 0x51e23 + 5 bytes
+
+UnnamedText_51e28: ; 0x51e28
+	TX_FAR _UnnamedText_51e28
+	db $50
+; 0x51e28 + 5 bytes
+
+SilphCo7Text4: ; 0x51e2d
+	db $08 ; asm
+	ld a, [$d838]
+	bit 7, a
+	jr nz, .asm_0f7ee ; 0x51e33
+	ld hl, UnnamedText_51e46
+	call PrintText
+	jr .asm_27a32 ; 0x51e3b
+.asm_0f7ee ; 0x51e3d
+	ld hl, UnnamedText_51e4b
+	call PrintText
+.asm_27a32 ; 0x51e43
+	jp TextScriptEnd
+
+UnnamedText_51e46: ; 0x51e46
+	TX_FAR _UnnamedText_51e46
+	db $50
+; 0x51e46 + 5 bytes
+
+UnnamedText_51e4b: ; 0x51e4b
+	TX_FAR _UnnamedText_51e4b
+	db $50
+; 0x51e4b + 5 bytes
+
+SilphCo7Text5: ; 0x51e50
+	db $08 ; asm
+	ld hl, TrainerHeader_51d5d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_51e5a: ; 0x51e5a
+	TX_FAR _UnnamedText_51e5a
+	db $50
+; 0x51e5a + 5 bytes
+
+UnnamedText_51e5f: ; 0x51e5f
+	TX_FAR _UnnamedText_51e5f
+	db $50
+; 0x51e5f + 5 bytes
+
+UnnamedText_51e64: ; 0x51e64
+	TX_FAR _UnnamedText_51e64
+	db $50
+; 0x51e64 + 5 bytes
+
+SilphCo7Text6: ; 0x51e69
+	db $08 ; asm
+	ld hl, TrainerHeader_51d69
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_51e73: ; 0x51e73
+	TX_FAR _UnnamedText_51e73
+	db $50
+; 0x51e73 + 5 bytes
+
+UnnamedText_51e78: ; 0x51e78
+	TX_FAR _UnnamedText_51e78
+	db $50
+; 0x51e78 + 5 bytes
+
+UnnamedText_51e7d: ; 0x51e7d
+	TX_FAR _UnnamedText_51e7d
+	db $50
+; 0x51e7d + 5 bytes
+
+SilphCo7Text7: ; 0x51e82
+	db $08 ; asm
+	ld hl, TrainerHeader_51d75
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_51e8c: ; 0x51e8c
+	TX_FAR _UnnamedText_51e8c
+	db $50
+; 0x51e8c + 5 bytes
+
+UnnamedText_51e91: ; 0x51e91
+	TX_FAR _UnnamedText_51e91
+	db $50
+; 0x51e91 + 5 bytes
+
+UnnamedText_51e96: ; 0x51e96
+	TX_FAR _UnnamedText_51e96
+	db $50
+; 0x51e96 + 5 bytes
+
+SilphCo7Text8: ; 0x51e9b
+	db $08 ; asm
+	ld hl, TrainerHeader_51d81
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_51ea5: ; 0x51ea5
+	TX_FAR _UnnamedText_51ea5
+	db $50
+; 0x51ea5 + 5 bytes
+
+UnnamedText_51eaa: ; 0x51eaa
+	TX_FAR _UnnamedText_51eaa
+	db $50
+; 0x51eaa + 5 bytes
+
+UnnamedText_51eaf: ; 0x51eaf
+	TX_FAR _UnnamedText_51eaf
+	db $50
+; 0x51eaf + 5 bytes
+
+SilphCo7Text9: ; 0x51eb4
+	db $08 ; asm
+	ld hl, UnnamedText_51ebe
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_51ebe: ; 0x51ebe
+	TX_FAR _UnnamedText_51ebe
+	db $50
+; 0x51ebe + 5 bytes
+
+SilphCo7Text13: ; 0x51ec3
+	TX_FAR _UnnamedText_51ec3
+	db $50
+; 0x51ec3 + 5 bytes
+
+SilphCo7Text14: ; 0x51ec8
+	TX_FAR _UnnamedText_51ec8
+	db $50
+; 0x51ec8 + 5 bytes
+
+UnnamedText_51ecd: ; 0x51ecd
+	TX_FAR _UnnamedText_51ecd
+	db $50
+; 0x51ecd + 5 bytes
+
+SilphCo7Text15: ; 0x51ed2
+	TX_FAR _UnnamedText_51ed2
+	db $50
+; 0x51ed2 + 5 bytes
+
+SilphCo7Object: ; 0x51ed7 (size=128)
+	db $2e ; border tile
+
+	db $6 ; warps
+	db $0, $10, $1, SILPH_CO_8F
+	db $0, $16, $0, SILPH_CO_6F
+	db $0, $12, $0, SILPH_CO_ELEVATOR
+	db $7, $5, $3, SILPH_CO_11F
+	db $3, $5, $8, SILPH_CO_3F
+	db $f, $15, $3, SILPH_CO_5F
+
+	db $0 ; signs
+
+	db $b ; people
+	db SPRITE_LAPRAS_GIVER, $5 + 4, $1 + 4, $ff, $ff, $1 ; person
+	db SPRITE_LAPRAS_GIVER, $d + 4, $d + 4, $ff, $d1, $2 ; person
+	db SPRITE_LAPRAS_GIVER, $a + 4, $7 + 4, $ff, $ff, $3 ; person
+	db SPRITE_ERIKA, $8 + 4, $a + 4, $ff, $ff, $4 ; person
+	db SPRITE_ROCKET, $1 + 4, $d + 4, $ff, $d0, $45, ROCKET + $C8, $20 ; trainer
+	db SPRITE_OAK_AIDE, $d + 4, $2 + 4, $ff, $d0, $46, SCIENTIST + $C8, $8 ; trainer
+	db SPRITE_ROCKET, $2 + 4, $14 + 4, $ff, $d2, $47, ROCKET + $C8, $21 ; trainer
+	db SPRITE_ROCKET, $e + 4, $13 + 4, $ff, $d3, $48, ROCKET + $C8, $22 ; trainer
+	db SPRITE_BLUE, $7 + 4, $3 + 4, $ff, $d1, $9 ; person
+	db SPRITE_BALL, $9 + 4, $1 + 4, $ff, $ff, $8a, CALCIUM ; item
+	db SPRITE_BALL, $b + 4, $18 + 4, $ff, $ff, $8b, TM_03 ; item
+
+	; warp-to
+	EVENT_DISP $d, $0, $10 ; SILPH_CO_8F
+	EVENT_DISP $d, $0, $16 ; SILPH_CO_6F
+	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $d, $7, $5 ; SILPH_CO_11F
+	EVENT_DISP $d, $3, $5 ; SILPH_CO_3F
+	EVENT_DISP $d, $f, $15 ; SILPH_CO_5F
+
+SilphCo7Blocks: ; 0x51f57 117
+	INCBIN "maps/silphco7.blk"
+
+Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214)
+	db $16 ; tileset
+	db MANSION_2_HEIGHT, MANSION_2_WIDTH ; dimensions (y, x)
+	dw Mansion2Blocks, Mansion2Texts, Mansion2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Mansion2Object ; objects
+
+Mansion2Script:
+	call Mansion2Script_Unknown51fee
+	call $3c3c
+	ld hl, Mansion2TrainerHeaders
+	ld de, $6047
+	ld a, [$d63c]
+	call $3160
+	ld [$d63c], a
+	ret
+; 0x51fee
+
+Mansion2Script_Unknown51fee: ; 0x51fee
+INCBIN "baserom.gbc",$51fee,$5204d - $51fee
+
+Mansion2Texts: ; 0x5204d
+	dw Mansion2Text1, Mansion2Text2, Mansion2Text3, Mansion2Text4, Mansion2Text5
+
+Mansion2TrainerHeaders:
+Mansion2TrainerHeader1: ; 0x52057
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d847 ; flag's byte
+	dw UnnamedText_5206e ; 0x606e TextBeforeBattle
+	dw UnnamedText_52078 ; 0x6078 TextAfterBattle
+	dw UnnamedText_52073 ; 0x6073 TextEndBattle
+	dw UnnamedText_52073 ; 0x6073 TextEndBattle
+; 0x52063
+
+db $ff
+
+Mansion2Text1: ; 0x52064
+	db $08 ; asm
+	ld hl, Mansion2TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5206e: ; 0x5206e
+	TX_FAR _UnnamedText_5206e
+	db $50
+; 0x5206e + 5 bytes
+
+UnnamedText_52073: ; 0x52073
+	TX_FAR _UnnamedText_52073
+	db $50
+; 0x52073 + 5 bytes
+
+UnnamedText_52078: ; 0x52078
+	TX_FAR _UnnamedText_52078
+	db $50
+; 0x52078 + 5 bytes
+
+Mansion2Text3: ; 0x5207d
+	TX_FAR _Mansion2Text3
+	db $50
+
+Mansion2Text4: ; 0x52082
+	TX_FAR _Mansion2Text4
+	db $50
+
+Mansion3Text6:
+Mansion2Text5: ; 0x52087
+	db $8
+	ld hl, UnnamedText_520c2
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_520b9 ; 0x52095 $22
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, $d126
+	set 5, [hl]
+	ld hl, UnnamedText_520c7
+	call PrintText
+	ld a, $ad
+	call $23b1
+	ld hl, $d796
+	bit 0, [hl]
+	set 0, [hl]
+	jr z, .asm_520bf ; 0x520b3 $a
+	res 0, [hl]
+	jr .asm_520bf ; 0x520b7 $6
+.asm_520b9
+	ld hl, UnnamedText_520cc
+	call PrintText
+.asm_520bf
+	jp TextScriptEnd
+; 0x520c2
+
+UnnamedText_520c2: ; 0x520c2
+	TX_FAR _UnnamedText_520c2
+	db $50
+; 0x520c2 + 5 bytes
+
+UnnamedText_520c7: ; 0x520c7
+	TX_FAR _UnnamedText_520c7
+	db $50
+; 0x520c7 + 5 bytes
+
+UnnamedText_520cc: ; 0x520cc
+	TX_FAR _UnnamedText_520cc
+	db $50
+; 0x520cc + 5 bytes
+
+Mansion2Object: ; 0x520d1 (size=63)
+	db $1 ; border tile
+
+	db $4 ; warps
+	db $a, $5, $4, MANSION_1
+	db $a, $7, $0, MANSION_3
+	db $e, $19, $2, MANSION_3
+	db $1, $6, $1, MANSION_3
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $11 + 4, $3 + 4, $fe, $2, $41, BURGLAR + $C8, $7 ; trainer
+	db SPRITE_BALL, $7 + 4, $1c + 4, $ff, $ff, $82, CALCIUM ; item
+	db SPRITE_BOOK_MAP_DEX, $2 + 4, $12 + 4, $ff, $ff, $3 ; person
+	db SPRITE_BOOK_MAP_DEX, $16 + 4, $3 + 4, $ff, $ff, $4 ; person
+
+	; warp-to
+	EVENT_DISP $f, $a, $5 ; MANSION_1
+	EVENT_DISP $f, $a, $7 ; MANSION_3
+	EVENT_DISP $f, $e, $19 ; MANSION_3
+	EVENT_DISP $f, $1, $6 ; MANSION_3
+
+Mansion2Blocks:
+	INCBIN "maps/mansion2.blk"
+
+Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215)
+	db $16 ; tileset
+	db MANSION_3_HEIGHT, MANSION_3_WIDTH ; dimensions (y, x)
+	dw Mansion3Blocks, Mansion3Texts, Mansion3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Mansion3Object ; objects
+
+Mansion3Script:
+	call Unnamed_52204
+	call $3c3c
+	ld hl, Mansion3TrainerHeader1
+	ld de, $6235
+	ld a, [$d63d]
+	call $3160
+	ld [$d63d], a
+	ret
+; 0x52204
+
+Unnamed_52204: ; 0x52204
+INCBIN "baserom.gbc",$52204,$5228a - $52204
+
+Mansion3Texts: ; 0x5228a
+	dw Mansion3Text1, Mansion3Text2, Mansion3Text3, Mansion3Text4, Mansion3Text5, Mansion3Text6
+
+Mansion3TrainerHeaders:
+Mansion3TrainerHeader1: ; 0x52296
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d849 ; flag's byte
+	dw UnnamedText_522c3 ; 0x62c3 TextBeforeBattle
+	dw UnnamedText_522cd ; 0x62cd TextAfterBattle
+	dw UnnamedText_522c8 ; 0x62c8 TextEndBattle
+	dw UnnamedText_522c8 ; 0x62c8 TextEndBattle
+; 0x522a2
+
+TrainerHeader_522a2: ; 0x522a2
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d849 ; flag's byte
+	dw UnnamedText_522d2 ; 0x62d2 TextBeforeBattle
+	dw UnnamedText_522dc ; 0x62dc TextAfterBattle
+	dw UnnamedText_522d7 ; 0x62d7 TextEndBattle
+	dw UnnamedText_522d7 ; 0x62d7 TextEndBattle
+; 0x522ae
+
+db $ff
+
+Mansion3Text1: ; 0x522af
+	db $08 ; asm
+	ld hl, Mansion3TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Mansion3Text2: ; 0x522b9
+	db $08 ; asm
+	ld hl, TrainerHeader_522a2
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_522c3: ; 0x522c3
+	TX_FAR _UnnamedText_522c3
+	db $50
+; 0x522c3 + 5 bytes
+
+UnnamedText_522c8: ; 0x522c8
+	TX_FAR _UnnamedText_522c8
+	db $50
+; 0x522c8 + 5 bytes
+
+UnnamedText_522cd: ; 0x522cd
+	TX_FAR _UnnamedText_522cd
+	db $50
+; 0x522cd + 5 bytes
+
+UnnamedText_522d2: ; 0x522d2
+	TX_FAR _UnnamedText_522d2
+	db $50
+; 0x522d2 + 5 bytes
+
+UnnamedText_522d7: ; 0x522d7
+	TX_FAR _UnnamedText_522d7
+	db $50
+; 0x522d7 + 5 bytes
+
+UnnamedText_522dc: ; 0x522dc
+	TX_FAR _UnnamedText_522dc
+	db $50
+; 0x522dc + 5 bytes
+
+Mansion3Text5: ; 0x522e1
+	TX_FAR _Mansion3Text5
+	db $50
+
+Mansion3Object: ; 0x522e6 (size=64)
+	db $1 ; border tile
+
+	db $3 ; warps
+	db $a, $7, $1, MANSION_2
+	db $1, $6, $3, MANSION_2
+	db $e, $19, $2, MANSION_2
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $5 + 4, $fe, $2, $41, BURGLAR + $C8, $8 ; trainer
+	db SPRITE_OAK_AIDE, $b + 4, $14 + 4, $ff, $d2, $42, SCIENTIST + $C8, $c ; trainer
+	db SPRITE_BALL, $10 + 4, $1 + 4, $ff, $ff, $83, MAX_POTION ; item
+	db SPRITE_BALL, $5 + 4, $19 + 4, $ff, $ff, $84, IRON ; item
+	db SPRITE_BOOK_MAP_DEX, $c + 4, $6 + 4, $ff, $ff, $5 ; person
+
+	; warp-to
+	EVENT_DISP $f, $a, $7 ; MANSION_2
+	EVENT_DISP $f, $1, $6 ; MANSION_2
+	EVENT_DISP $f, $e, $19 ; MANSION_2
+
+Mansion3Blocks:
+	INCBIN "maps/mansion3.blk"
+
+Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216)
+	db $16 ; tileset
+	db MANSION_4_HEIGHT, MANSION_4_WIDTH ; dimensions (y, x)
+	dw Mansion4Blocks, Mansion4Texts, Mansion4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Mansion4Object ; objects
+
+Mansion4Script: ; 0x523b9
+	call Unknown_523cf
+	call $3c3c
+	ld hl, Mansion4TrainerHeader1
+	ld de, $6430
+	ld a, [$d63e]
+	call $3160
+	ld [$d63e], a
+	ret
+; 0x523cf
+
+Unknown_523cf: ; 0x523cf
+INCBIN "baserom.gbc",$523cf,$52436 - $523cf
+
+Mansion4Texts: ; 0x52436
+INCBIN "baserom.gbc",$52436,$52448 - $52436
+
+Mansion4TrainerHeaders:
+Mansion4TrainerHeader1: ; 0x52448
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d84b ; flag's byte
+	dw UnnamedText_52475 ; 0x6475 TextBeforeBattle
+	dw UnnamedText_5247f ; 0x647f TextAfterBattle
+	dw UnnamedText_5247a ; 0x647a TextEndBattle
+	dw UnnamedText_5247a ; 0x647a TextEndBattle
+; 0x52454
+
+TrainerHeader_52454: ; 0x52454
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d84b ; flag's byte
+	dw UnnamedText_52484 ; 0x6484 TextBeforeBattle
+	dw Map03FlyWarp ; 0x648e TextAfterBattle
+	dw UnnamedText_52489 ; 0x6489 TextEndBattle
+	dw UnnamedText_52489 ; 0x6489 TextEndBattle
+; 0x52460
+
+db $ff
+
+Mansion4Text1: ; 0x52461
+	db $08 ; asm
+	ld hl, Mansion4TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Mansion4Text2: ; 0x5246b
+	db $08 ; asm
+	ld hl, TrainerHeader_52454
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_52475: ; 0x52475
+	TX_FAR _UnnamedText_52475
+	db $50
+; 0x52475 + 5 bytes
+
+UnnamedText_5247a: ; 0x5247a
+	TX_FAR _UnnamedText_5247a
+	db $50
+; 0x5247a + 5 bytes
+
+UnnamedText_5247f: ; 0x5247f
+	TX_FAR _UnnamedText_5247f
+	db $50
+; 0x5247f + 5 bytes
+
+UnnamedText_52484: ; 0x52484
+	TX_FAR _UnnamedText_52484
+	db $50
+; 0x52484 + 5 bytes
+
+UnnamedText_52489: ; 0x52489
+	TX_FAR _UnnamedText_52489
+	db $50
+; 0x52489 + 5 bytes
+
+UnnamedText_5248e: ; 0x5248e
+	TX_FAR _UnnamedText_5248e
+	db $50
+; 0x5248e + 5 bytes
+
+Mansion4Text7: ; 0x52493
+	TX_FAR _Mansion4Text7
+	db $50
+
+Mansion4Object: ; 0x52498 (size=69)
+	db $1 ; border tile
+
+	db $1 ; warps
+	db $16, $17, $5, MANSION_1
+
+	db $0 ; signs
+
+	db $8 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $17 + 4, $10 + 4, $ff, $ff, $41, BURGLAR + $C8, $9 ; trainer
+	db SPRITE_OAK_AIDE, $b + 4, $1b + 4, $ff, $d0, $42, SCIENTIST + $C8, $d ; trainer
+	db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $83, RARE_CANDY ; item
+	db SPRITE_BALL, $16 + 4, $1 + 4, $ff, $ff, $84, FULL_RESTORE ; item
+	db SPRITE_BALL, $19 + 4, $13 + 4, $ff, $ff, $85, TM_14 ; item
+	db SPRITE_BALL, $4 + 4, $5 + 4, $ff, $ff, $86, TM_22 ; item
+	db SPRITE_BOOK_MAP_DEX, $14 + 4, $10 + 4, $ff, $ff, $7 ; person
+	db SPRITE_BALL, $d + 4, $5 + 4, $ff, $ff, $88, SECRET_KEY ; item
+
+	; warp-to
+	EVENT_DISP $f, $16, $17 ; MANSION_1
+
+Mansion4Blocks:
+	INCBIN "maps/mansion4.blk"
+
+INCBIN "baserom.gbc",$525af,$526f3 - $525af
+
+UnnamedText_526f3: ; 0x526f3
+	TX_FAR _UnnamedText_526f3
+	db $50
+; 0x526f3 + 5 bytes
+
+UnnamedText_526f8: ; 0x526f8
+	TX_FAR _UnnamedText_526f8
+	db $50
+; 0x526f8 + 5 bytes
+
+INCBIN "baserom.gbc",$526fd,$1e
+
+CeladonPrizeMenu: ; 0x5271b 14:671B
+	ld b,COIN_CASE
+	call IsItemInBag
+	jr nz,.havingCoinCase\@
+	ld hl,RequireCoinCaseTextPtr
+	jp PrintText
+.havingCoinCase\@
+	ld hl,$D730
+	set 6,[hl]
+	ld hl,ExchangeCoinsForPrizesTextPtr
+	call PrintText
+; the following are the menu settings
+	xor a
+	ld [$CC26],a
+	ld [$CC2A],a
+	ld a,$03
+	ld [$CC29],a
+	ld a,$03
+	ld [$CC28],a
+	ld a,$04
+	ld [$CC24],a
+	ld a,$01
+	ld [$CC25],a
+	call PrintPrizePrice ; 687A
+	FuncCoord 0,2
+	ld hl,Coord
+	ld b,$08
+	ld c,$10
+	call TextBoxBorder
+	call GetPrizeMenuId ;678E
+	call $2429
+	ld hl,WhichPrizeTextPtr
+	call PrintText
+	call $3ABE ; menu choice handler
+	bit 1,a ; keypress = B (Cancel)
+	jr nz,.NoChoice\@
+	ld a,[$CC26]
+	cp a,$03 ; "NO,THANKS" choice
+	jr z,.NoChoice\@
+	call HandlePrizeChoice ; 14:68C6
+.NoChoice\@
+	ld hl,$D730
+	res 6,[hl]
+	ret
+
+RequireCoinCaseTextPtr: ; 14:677E
+	TX_FAR _RequireCoinCaseText ; 22:628E
+	db $0D
+	db "@"
+
+ExchangeCoinsForPrizesTextPtr: ; 14:6784
+	TX_FAR _ExchangeCoinsForPrizesText ; 22:62A9
+	db "@"
+
+WhichPrizeTextPtr: ; 14:6789
+	TX_FAR _WhichPrizeText ; 22:62CD
+	db "@"
+
+GetPrizeMenuId: ; 14:678E
+; determine which one among the three
+; prize-texts has been selected
+; using the text ID (stored in [$FF8C])
+; load the three prizes at $D13D-$D13F
+; load the three prices ar $D141-$D146
+; display the three prizes' names
+; (distinguishing between Pokemon names
+; and Items (specifically TMs) names)
+	ld a,[$FF8C]
+	sub a,$03       ; prize-texts' id are 3, 4 and 5
+	ld [$D12F],a    ; prize-texts' id (relative, i.e. 0, 1 or 2)
+	add a
+	add a
+	ld d,$00
+	ld e,a
+	ld hl,PrizeDifferentMenuPtrs
+	add hl,de
+	ld a,[hli]
+	ld d,[hl]
+	ld e,a
+	inc hl
+	push hl
+	ld hl,W_PRIZE1
+	call $3829      ; XXX what does this do
+	pop hl
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	ld de,$D141
+	ld bc,$0006
+	call CopyData
+	ld a,[$D12F]
+	cp a,$02        ;is TM_menu?
+	jr nz,.putMonName\@
+	ld a,[W_PRIZE1]
+	ld [$D11E],a
+	call GetItemName
+	FuncCoord 2,4
+	ld hl,Coord
+	call PlaceString
+	ld a,[W_PRIZE2]
+	ld [$D11E],a
+	call GetItemName
+	FuncCoord 2,6
+	ld hl,Coord
+	call PlaceString
+	ld a,[W_PRIZE3]
+	ld [$D11E],a
+	call GetItemName
+	FuncCoord 2,8
+	ld hl,Coord
+	call PlaceString
+	jr .putNoThanksText\@
+.putMonName\@ ; 14:67EC
+	ld a,[W_PRIZE1]
+	ld [$D11E],a
+	call GetMonName
+	FuncCoord 2,4
+	ld hl,Coord
+	call PlaceString
+	ld a,[W_PRIZE2]
+	ld [$D11E],a
+	call GetMonName
+	FuncCoord 2,6
+	ld hl,Coord
+	call PlaceString
+	ld a,[W_PRIZE3]
+	ld [$D11E],a
+	call GetMonName
+	FuncCoord 2,8
+	ld hl,Coord
+	call PlaceString
+.putNoThanksText\@ ; 14:6819
+	FuncCoord 2,10
+	ld hl,Coord
+	ld de,NoThanksText
+	call PlaceString
+; put prices on the right side of the textbox
+	ld de,$D141
+	FuncCoord 13,5
+	ld hl,Coord
+; reg. c:
+; [low nybble] number of bytes
+; [bit 765 = %100] space-padding (not zero-padding)
+	ld c,(1 << 7 | 2)
+; Function $15CD displays BCD value (same routine
+; used by text-command $02)
+	call $15CD ; Print_BCD
+	ld de,$D143
+	FuncCoord 13,7
+	ld hl,Coord
+	ld c,(%1 << 7 | 2)
+	call $15CD
+	ld de,$D145
+	FuncCoord 13,9
+	ld hl,Coord
+	ld c,(1 << 7 | 2)
+	jp $15CD
+
+PrizeDifferentMenuPtrs: ; 14:6843
+	dw PrizeMenuMon1Entries
+	dw PrizeMenuMon1Cost
+
+	dw PrizeMenuMon2Entries
+	dw PrizeMenuMon2Cost
+
+	dw PrizeMenuTMsEntries
+	dw PrizeMenuTMsCost
+
+NoThanksText: ; 14:684F
+	db "NO THANKS@"
+
+PrizeMenuMon1Entries: ; 14:6859
+	db ABRA
+	db CLEFAIRY
+IF _RED
+	db NIDORINA
+ENDC
+IF _BLUE
+	db NIDORINO
+ENDC
+	db "@"
+PrizeMenuMon1Cost: ; 14:685D
+IF _RED
+	db $01,$80
+	db $05,$00
+ENDC
+IF _BLUE
+	db $01,$20
+	db $07,$50
+ENDC
+	db $12,$00
+	db "@"
+
+PrizeMenuMon2Entries: ; 14:6864
+IF _RED
+	db DRATINI
+	db SCYTHER
+ENDC
+IF _BLUE
+	db PINSIR
+	db DRATINI
+ENDC
+	db PORYGON
+	db "@"
+PrizeMenuMon2Cost: ; 14:6868
+IF _RED
+	db $28,$00
+	db $55,$00
+	db $99,$99
+ENDC
+IF _BLUE
+	db $25,$00
+	db $46,$00
+	db $65,$00
+ENDC
+	db "@"
+
+PrizeMenuTMsEntries: ; 14:686F
+	db TM_23
+	db TM_15
+	db TM_50
+	db "@"
+PrizeMenuTMsCost: ; 14:6873
+	db $33,$00 ; 3300 Coins
+	db $55,$00 ; 5500 Coins
+	db $77,$00 ; 7700 Coins
+	db "@"
+
+PrintPrizePrice: ; 14:687A
+	FuncCoord 11,0
+	ld hl,Coord
+	ld b,$01
+	ld c,$07
+	call TextBoxBorder
+	call $2429      ; XXX save OAM?
+	FuncCoord 12,0
+	ld hl,Coord
+	ld de,.CoinText\@
+	call PlaceString
+	FuncCoord 13,1
+	ld hl,Coord
+	ld de,.SixSpacesText\@
+	call PlaceString
+	FuncCoord 13,1
+	ld hl,Coord
+	ld de,W_PLAYERCOINS1
+	ld c,%10000010
+	call $15CD
+	ret
+
+.CoinText\@ ; 14:68A5
+	db "COIN@"
+
+.SixSpacesText\@ ; 14:68AA
+	db "      @"
+
+LoadCoinsToSubtract: ; 14:68B1
+	ld a,[$D139] ; backup of selected menu_entry
+	add a
+	ld d,$00
+	ld e,a
+	ld hl,$D141 ; first prize's price
+	add hl,de ; get selected prize's price
+	xor a
+	ld [$FF9F],a
+	ld a,[hli]
+	ld [$FFA0],a
+	ld a,[hl]
+	ld [$FFA1],a
+	ret
+
+HandlePrizeChoice: ; 14:68C6
+	ld a,[$CC26] ; selected menu_entry
+	ld [$D139],a
+	ld d,$00
+	ld e,a
+	ld hl,W_PRIZE1
+	add hl,de
+	ld a,[hl]
+	ld [$D11E],a
+	ld a,[$D12F]
+	cp a,$02 ; is prize a TM?
+	jr nz,.GetMonName\@
+	call GetItemName
+	jr .GivePrize\@
+.GetMonName\@ ; 14:68E3
+	call GetMonName
+.GivePrize\@ ; 14:68E6
+	ld hl,SoYouWantPrizeTextPtr
+	call PrintText
+	call $35EC ; yes/no textbox
+	ld a,[$CC26] ; yes/no answer (Y=0, N=1)
+	and a
+	jr nz,.PrintOhFineThen\@
+	call LoadCoinsToSubtract
+	call $35B1 ; subtract COINs from COIN_CASE
+	jr c,.NotEnoughCoins\@
+	ld a,[$D12F]
+	cp a,$02
+	jr nz,.GiveMon\@
+	ld a,[$D11E]
+	ld b,a
+	ld a,$01
+	ld c,a
+	call $3E2E ; GiveItem
+	jr nc,.BagIsFull\@
+	jr .SubtractCoins\@
+.GiveMon\@ ; 14:6912
+	ld a,[$D11E]
+	ld [$CF91],a
+	push af
+	call GetPrizeMonLevel ; 14:6977
+	ld c,a
+	pop af
+	ld b,a
+	call GivePokemon
+	push af
+	ld a,[$CCD3] ; XXX is there room?
+	and a
+	call z,$3865
+	pop af
+	ret nc
+.SubtractCoins\@ ; 14:692C
+	call LoadCoinsToSubtract
+	ld hl,$FFA1
+	ld de,W_PLAYERCOINS2
+	ld c,$02 ; how many bytes
+	ld a,$0C
+	call Predef ; subtract coins (BCD daa operations)
+	jp PrintPrizePrice
+.BagIsFull\@ ; 14:693F
+	ld hl,PrizeRoomBagIsFullTextPtr
+	jp PrintText
+.NotEnoughCoins\@ ; 14:6945
+	ld hl,SorryNeedMoreCoinsTextPtr
+	jp PrintText
+.PrintOhFineThen\@ ; 14:694B
+	ld hl,OhFineThenTextPtr
+	jp PrintText
+
+UnknownData52951: ; 14:6951
+; XXX what's this?
+	db $00,$01,$00,$01,$00,$01,$00,$00,$01
+
+HereYouGoTextPtr:
+	TX_FAR _HereYouGoText ; 22:62E7
+	db $0D
+	db "@"
+
+SoYouWantPrizeTextPtr: ; 14:6960
+	TX_FAR _SoYouWantPrizeText ; 22:62F6
+	db "@"
+
+SorryNeedMoreCoinsTextPtr: ; 14:6965
+	TX_FAR _SorryNeedMoreCoins ; 22:630B
+	db $0D
+	db "@"
+
+PrizeRoomBagIsFullTextPtr: ; 14:696B
+	TX_FAR _OopsYouDontHaveEnoughRoomText ; 22:6329
+	db $0D
+	db "@"
+
+OhFineThenTextPtr: ; 14:6971
+	TX_FAR _OhFineThenText; 22:634C
+	db $0D ; wait keypress (A/B) without blink
+	db "@"
+
+GetPrizeMonLevel: ; 14:6977
+	ld a,[$CF91]
+	ld b,a
+	ld hl,PrizeMonLevelDictionary
+.loop\@ ; 14:697E
+	ld a,[hli]
+	cp b
+	jr z,.matchFound\@
+	inc hl
+	jr .loop\@
+.matchFound\@ ; 14:6985
+	ld a,[hl]
+	ld [$D127],a
+	ret
+
+PrizeMonLevelDictionary: ; 14:698A
+IF _RED
+	db ABRA,9
+	db CLEFAIRY,8
+	db NIDORINA,17
+
+	db DRATINI,18
+	db SCYTHER,25
+	db PORYGON,26
+ENDC
+IF _BLUE
+	db ABRA,6
+	db CLEFAIRY,12
+	db NIDORINO,17
+
+	db PINSIR,20
+	db DRATINI,24
+	db PORYGON,18
+ENDC
+
+INCBIN "baserom.gbc",$52996,$529e9 - $52996
+
+UnnamedText_529e9: ; 0x529e9
+	TX_FAR _UnnamedText_529e9
+	db $50
+; 0x529e9 + 5 bytes
+
+INCBIN "baserom.gbc",$529ee,$529f4 - $529ee
+
+UnnamedText_529f4: ; 0x529f4
+	TX_FAR _UnnamedText_529f4
+	db $50
+; 0x529f4 + 5 bytes
+
+UnnamedText_529f9: ; 0x529f9
+	TX_FAR _UnnamedText_529f9
+	db $50
+; 0x529f9 + 5 bytes
+
+UnnamedText_529fe: ; 0x529fe
+	TX_FAR _UnnamedText_529fe
+	db $50
+; 0x529fe + 5 bytes
+
+UnnamedText_52a03: ; 0x52a03
+	TX_FAR _UnnamedText_52a03
+	db $50
+; 0x52a03 + 5 bytes
+
+INCBIN "baserom.gbc",$52a08,$52a10 - $52a08
+
+UnnamedText_52a10: ; 0x52a10
+	TX_FAR _UnnamedText_52a10
+	db $50
+; 0x52a10 + 5 bytes
+
+INCBIN "baserom.gbc",$52a15,$52a1d - $52a15
+
+UnnamedText_52a1d: ; 0x52a1d
+	TX_FAR _UnnamedText_52a1d
+	db $50
+; 0x52a1d + 5 bytes
+
+INCBIN "baserom.gbc",$52a22,$52a2a - $52a22
+
+UnnamedText_52a2a: ; 0x52a2a
+	TX_FAR _UnnamedText_52a2a
+	db $50
+; 0x52a2a + 5 bytes
+
+INCBIN "baserom.gbc",$52a2f,$52a3d - $52a2f
+
+UnnamedText_52a3d: ; 0x52a3d
+	TX_FAR _UnnamedText_52a3d
+	db $50
+; 0x52a3d + 5 bytes
+
+INCBIN "baserom.gbc",$52a42,$15be
+
+SECTION "bank15",DATA,BANK[$15]
+
+Route2_h:
+	db 00 ; Tileset
+	db ROUTE_2_HEIGHT,ROUTE_2_WIDTH ;Height,Width blocks (1 block = 4x4 tiles)
+	dw Route2Blocks ;Map-Pointer
+	dw Route2Texts ;Maps text pointer
+	dw Route2Script ;Maps script pointer
+	db NORTH | SOUTH ;Connection Byte
+
+	;Connection data
+	db PEWTER_CITY ;Map
+	dw $4714 ;y, x Strip Starting Point
+	dw $C6E8 ;Strip X-Offset to current map
+	db 16 ;"Bigness" (Unsure) ;Something to do with MapData
+	db 20 ;"Map Width" (Unsure) ;Something to do with TileSet
+	db 35 ;Player's new Y-Coordinates
+	db 10 ;Player's new X-Coordinates
+	dw $C8BD ;New UL Block Pos (Window)
+
+	db VIRIDIAN_CITY ;Map
+	dw $43EE ;y, x Strip Starting Point
+	dw $C958 ;Strip X-Offset to current map
+	db 16 ;"Bigness" (Unsure) ;Something to do with MapData
+	db 20 ;"Map Width" (Unsure) ;Something to do with TileSet
+	db 0 ;Player's new Y-Coordinates
+	db 10 ;Player's new X-Coordinates
+	dw $C703 ;New UL Block Pos (Window)
+
+	dw Route2Object ;Object Data Pointer
+
+Route2Object: ; 0x54022 (size=72)
+	db $f ; border tile
+
+	db $6 ; warps
+	db $9, $c, $0, DIGLETTS_CAVE_EXIT
+	db $b, $3, $1, VIRIDIAN_FOREST_EXIT
+	db $13, $f, $0, ROUTE_2_HOUSE
+	db $23, $10, $1, ROUTE_2_GATE
+	db $27, $f, $2, ROUTE_2_GATE
+	db $2b, $3, $2, VIRIDIAN_FOREST_ENTRANCE
+
+	db $2 ; signs
+	db $41, $5, $3 ; Route2Text3
+	db $b, $b, $4 ; Route2Text4
+
+	db $2 ; people
+	db SPRITE_BALL, $36 + 4, $d + 4, $ff, $ff, $81, MOON_STONE ; item
+	db SPRITE_BALL, $2d + 4, $d + 4, $ff, $ff, $82, HP_UP ; item
+
+	; warp-to
+	EVENT_DISP $a, $9, $c ; DIGLETTS_CAVE_EXIT
+	EVENT_DISP $a, $b, $3 ; VIRIDIAN_FOREST_EXIT
+	EVENT_DISP $a, $13, $f ; ROUTE_2_HOUSE
+	EVENT_DISP $a, $23, $10 ; ROUTE_2_GATE
+	EVENT_DISP $a, $27, $f ; ROUTE_2_GATE
+	EVENT_DISP $a, $2b, $3 ; VIRIDIAN_FOREST_ENTRANCE
+
+INCBIN "baserom.gbc",$5406a,$14
+
+Route2Blocks: ; 0x5407e 360
+	INCBIN "maps/route2.blk"
+
+Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14)
+	db $00 ; tileset
+	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x)
+	dw Route3Blocks, Route3Texts, Route3Script ; blocks, texts, scripts
+	db NORTH | WEST ; connections
+
+	; connections data
+
+	db ROUTE_4
+	dw Route4Blocks + (ROUTE_4_HEIGHT - 3) * ROUTE_4_WIDTH ; connection strip location
+	dw $C6EB + 25 ; current map position
+	db $d, ROUTE_4_WIDTH ; bigness, width
+	db (ROUTE_4_HEIGHT * 2) - 1, (25 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_4_HEIGHT * (ROUTE_4_WIDTH + 6) ; window
+
+	db PEWTER_CITY
+	dw PewterCityBlocks - 3 + (PEWTER_CITY_WIDTH * 2) ; connection strip location
+	dw $C6E8 + (ROUTE_3_WIDTH + 6) * (-3 + 3) ; current map position
+	db $f, PEWTER_CITY_WIDTH ; bigness, width
+	db (-4 * -2), (PEWTER_CITY_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * PEWTER_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route3Object ; objects
+
+Route3Object: ; 0x54208 (size=77)
+	db $2c ; border tile
+
+	db $0 ; warps
+
+	db $1 ; signs
+	db $9, $3b, $a ; Route3Text10
+
+	db $9 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $39 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BUG_CATCHER, $6 + 4, $a + 4, $ff, $d3, $42, BUG_CATCHER + $C8, $4 ; trainer
+	db SPRITE_BUG_CATCHER, $4 + 4, $e + 4, $ff, $d0, $43, YOUNGSTER + $C8, $1 ; trainer
+	db SPRITE_LASS, $9 + 4, $10 + 4, $ff, $d2, $44, LASS + $C8, $1 ; trainer
+	db SPRITE_BUG_CATCHER, $5 + 4, $13 + 4, $ff, $d0, $45, BUG_CATCHER + $C8, $5 ; trainer
+	db SPRITE_LASS, $4 + 4, $17 + 4, $ff, $d2, $46, LASS + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $9 + 4, $16 + 4, $ff, $d2, $47, YOUNGSTER + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $6 + 4, $18 + 4, $ff, $d3, $48, BUG_CATCHER + $C8, $6 ; trainer
+	db SPRITE_LASS, $a + 4, $21 + 4, $ff, $d1, $49, LASS + $C8, $3 ; trainer
+
+Route3Blocks: ; 0x54255 315
+	INCBIN "maps/route3.blk"
+
+Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15)
+	db $00 ; tileset
+	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x)
+	dw Route4Blocks, Route4Texts, Route4Script; blocks, texts, scripts
+	db SOUTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_3
+	dw Route3Blocks + 22 ; connection strip location
+	dw $C6EB + (ROUTE_4_HEIGHT + 3) * (ROUTE_4_WIDTH + 6) + -3 ; current map position
+	db $d, ROUTE_3_WIDTH ; bigness, width
+	db 0, (-25 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_3_WIDTH ; window
+
+	db CERULEAN_CITY
+	dw CeruleanCityBlocks + (CERULEAN_CITY_WIDTH) ; connection strip location
+	dw $C6E5 + (ROUTE_4_WIDTH + 6) * (-3 + 4) ; current map position
+	db $f, CERULEAN_CITY_WIDTH ; bigness, width
+	db (-4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + CERULEAN_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route4Object ; objects
+
+Route4Object: ; 0x543b2 (size=58)
+	db $2c ; border tile
+
+	db $3 ; warps
+	db $5, $b, $0, MT_MOON_POKECENTER
+	db $5, $12, $0, MT_MOON_1
+	db $5, $18, $7, MT_MOON_2
+
+	db $3 ; signs
+	db $5, $c, $4 ; Route4Text4
+	db $7, $11, $5 ; Route4Text5
+	db $7, $1b, $6 ; Route4Text6
+
+	db $3 ; people
+	db SPRITE_LASS, $8 + 4, $9 + 4, $fe, $0, $1 ; person
+	db SPRITE_LASS, $3 + 4, $3f + 4, $ff, $d3, $42, LASS + $C8, $4 ; trainer
+	db SPRITE_BALL, $3 + 4, $39 + 4, $ff, $ff, $83, TM_04 ; item
+
+	; warp-to
+	EVENT_DISP $2d, $5, $b ; MT_MOON_POKECENTER
+	EVENT_DISP $2d, $5, $12 ; MT_MOON_1
+	EVENT_DISP $2d, $5, $18 ; MT_MOON_2
+
+Route4Blocks: ; 0x543ec 405
+	INCBIN "maps/route4.blk"
+
+Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16)
+	db $00 ; tileset
+	db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x)
+	dw Route5Blocks, Route5Texts, Route5Script ; blocks, texts, scripts
+	db NORTH | SOUTH ; connections
+
+	; connections data
+
+	db CERULEAN_CITY
+	dw CeruleanCityBlocks + (CERULEAN_CITY_HEIGHT - 3) * CERULEAN_CITY_WIDTH + 2 ; connection strip location
+	dw $C6EB + -3 ; current map position
+	db $10, CERULEAN_CITY_WIDTH ; bigness, width
+	db (CERULEAN_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x)
+	dw $C6E9 + CERULEAN_CITY_HEIGHT * (CERULEAN_CITY_WIDTH + 6) ; window
+
+	db SAFFRON_CITY
+	dw SaffronCityBlocks + 2 ; connection strip location
+	dw $C6EB + (ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6) + -3 ; current map position
+	db $10, SAFFRON_CITY_WIDTH ; bigness, width
+	db 0, (-5 * -2) ; alignments (y, x)
+	dw $C6EF + SAFFRON_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route5Object ; objects
+
+Route5Object: ; 0x545a3 (size=47)
+	db $a ; border tile
+
+	db $5 ; warps
+	db $1d, $a, $3, ROUTE_5_GATE
+	db $1d, $9, $2, ROUTE_5_GATE
+	db $21, $a, $0, ROUTE_5_GATE
+	db $1b, $11, $0, PATH_ENTRANCE_ROUTE_5
+	db $15, $a, $0, DAYCAREM
+
+	db $1 ; signs
+	db $1d, $11, $1 ; Route5Text1
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $a, $1d, $a ; ROUTE_5_GATE
+	EVENT_DISP $a, $1d, $9 ; ROUTE_5_GATE
+	EVENT_DISP $a, $21, $a ; ROUTE_5_GATE
+	EVENT_DISP $a, $1b, $11 ; PATH_ENTRANCE_ROUTE_5
+	EVENT_DISP $a, $15, $a ; DAYCAREM
+
+Route5Blocks: ; 0x545d2 180
+	INCBIN "maps/route5.blk"
+
+Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20)
+	db $00 ; tileset
+	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x)
+	dw Route9Blocks, Route9Texts, Route9Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db CERULEAN_CITY
+	dw CeruleanCityBlocks - 3 + (CERULEAN_CITY_WIDTH * 2) ; connection strip location
+	dw $C6E8 + (ROUTE_9_WIDTH + 6) * (-3 + 3) ; current map position
+	db $f, CERULEAN_CITY_WIDTH ; bigness, width
+	db (-4 * -2), (CERULEAN_CITY_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * CERULEAN_CITY_WIDTH ; window
+
+	db ROUTE_10
+	dw Route10Blocks + (ROUTE_10_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (ROUTE_9_WIDTH + 6) * (0 + 4) ; current map position
+	db $c, ROUTE_10_WIDTH ; bigness, width
+	db (0 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_10_WIDTH ; window
+
+	; end connections data
+
+	dw Route9Object ; objects
+
+Route9Object: ; 0x546a8 (size=86)
+	db $2c ; border tile
+
+	db $0 ; warps
+
+	db $1 ; signs
+	db $7, $19, $b ; Route9Text11
+
+	db $a ; people
+	db SPRITE_LASS, $a + 4, $d + 4, $ff, $d2, $41, JR__TRAINER_F + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $18 + 4, $ff, $d2, $42, JR__TRAINER_M + $C8, $7 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $1f + 4, $ff, $d3, $43, JR__TRAINER_M + $C8, $8 ; trainer
+	db SPRITE_LASS, $8 + 4, $30 + 4, $ff, $d3, $44, JR__TRAINER_F + $C8, $6 ; trainer
+	db SPRITE_HIKER, $f + 4, $10 + 4, $ff, $d2, $45, HIKER + $C8, $b ; trainer
+	db SPRITE_HIKER, $3 + 4, $2b + 4, $ff, $d2, $46, HIKER + $C8, $6 ; trainer
+	db SPRITE_BUG_CATCHER, $2 + 4, $16 + 4, $ff, $d0, $47, BUG_CATCHER + $C8, $d ; trainer
+	db SPRITE_HIKER, $f + 4, $2d + 4, $ff, $d3, $48, HIKER + $C8, $5 ; trainer
+	db SPRITE_BUG_CATCHER, $8 + 4, $28 + 4, $ff, $d3, $49, BUG_CATCHER + $C8, $e ; trainer
+	db SPRITE_BALL, $f + 4, $a + 4, $ff, $ff, $8a, TM_30 ; item
+
+Route9Blocks: ; 0x546fe 270
+	INCBIN "maps/route9.blk"
+
+Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24)
+	db $00 ; tileset
+	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x)
+	dw Route13Blocks, Route13Texts, Route13Script ; blocks, texts, scripts
+	db NORTH | WEST ; connections
+
+	; connections data
+
+	db ROUTE_12
+	dw Route12Blocks + (ROUTE_12_HEIGHT - 3) * ROUTE_12_WIDTH ; connection strip location
+	dw $C6EB + 20 ; current map position
+	db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width
+	db (ROUTE_12_HEIGHT * 2) - 1, (20 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_12_HEIGHT * (ROUTE_12_WIDTH + 6) ; window
+
+	db ROUTE_14
+	dw Route14Blocks - 3 + (ROUTE_14_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_13_WIDTH + 6) * (0 + 3) ; current map position
+	db $c, ROUTE_14_WIDTH ; bigness, width
+	db (0 * -2), (ROUTE_14_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_14_WIDTH ; window
+
+	; end connections data
+
+	dw Route13Object ; objects
+
+Route13Object: ; 0x5482e (size=93)
+	db $43 ; border tile
+
+	db $0 ; warps
+
+	db $3 ; signs
+	db $d, $f, $b ; Route13Text11
+	db $5, $21, $c ; Route13Text12
+	db $b, $1f, $d ; Route13Text13
+
+	db $a ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $a + 4, $31 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $1 ; trainer
+	db SPRITE_LASS, $a + 4, $30 + 4, $ff, $d0, $42, JR__TRAINER_F + $C8, $c ; trainer
+	db SPRITE_LASS, $9 + 4, $1b + 4, $ff, $d0, $43, JR__TRAINER_F + $C8, $d ; trainer
+	db SPRITE_LASS, $a + 4, $17 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $e ; trainer
+	db SPRITE_LASS, $5 + 4, $32 + 4, $ff, $d0, $45, JR__TRAINER_F + $C8, $f ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $c + 4, $ff, $d3, $46, BIRD_KEEPER + $C8, $2 ; trainer
+	db SPRITE_FOULARD_WOMAN, $6 + 4, $21 + 4, $ff, $d0, $47, BEAUTY + $C8, $4 ; trainer
+	db SPRITE_FOULARD_WOMAN, $6 + 4, $20 + 4, $ff, $d0, $48, BEAUTY + $C8, $5 ; trainer
+	db SPRITE_BIKER, $7 + 4, $a + 4, $ff, $d1, $49, BIKER + $C8, $1 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $7 + 4, $ff, $d1, $4a, BIRD_KEEPER + $C8, $3 ; trainer
+
+Route13Blocks: ; 0x5488b 270
+	INCBIN "maps/route13.blk"
+
+Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25)
+	db $00 ; tileset
+	db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x)
+	dw Route14Blocks, Route14Texts, Route14Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db ROUTE_15
+	dw Route15Blocks - 3 + (ROUTE_15_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_14_WIDTH + 6) * (18 + 3) ; current map position
+	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width
+	db (18 * -2), (ROUTE_15_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_15_WIDTH ; window
+
+	db ROUTE_13
+	dw Route13Blocks + (ROUTE_13_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (ROUTE_14_WIDTH + 6) * (0 + 4) ; current map position
+	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; bigness, width
+	db (0 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_13_WIDTH ; window
+
+	; end connections data
+
+	dw Route14Object ; objects
+
+Route14Object: ; 0x549bb (size=87)
+	db $43 ; border tile
+
+	db $0 ; warps
+
+	db $1 ; signs
+	db $d, $11, $b ; Route14Text11
+
+	db $a ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $4 + 4, $ff, $d0, $41, BIRD_KEEPER + $C8, $e ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $f + 4, $ff, $d0, $42, BIRD_KEEPER + $C8, $f ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $c + 4, $ff, $d0, $43, BIRD_KEEPER + $C8, $10 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $e + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $11 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $f + 4, $ff, $d2, $45, BIRD_KEEPER + $C8, $4 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $31 + 4, $6 + 4, $ff, $d1, $46, BIRD_KEEPER + $C8, $5 ; trainer
+	db SPRITE_BIKER, $27 + 4, $5 + 4, $ff, $d0, $47, BIKER + $C8, $d ; trainer
+	db SPRITE_BIKER, $1e + 4, $4 + 4, $ff, $d3, $48, BIKER + $C8, $e ; trainer
+	db SPRITE_BIKER, $1e + 4, $f + 4, $ff, $d2, $49, BIKER + $C8, $f ; trainer
+	db SPRITE_BIKER, $1f + 4, $4 + 4, $ff, $d3, $4a, BIKER + $C8, $2 ; trainer
+
+Route14Blocks: ; 0x54a12 270
+	INCBIN "maps/route14.blk"
+
+Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28)
+	db $00 ; tileset
+	db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x)
+	dw Route17Blocks, Route17Texts, Route17Script ; blocks, texts, scripts
+	db NORTH | SOUTH ; connections
+
+	; connections data
+
+	db ROUTE_16
+	dw Route16Blocks + (ROUTE_16_HEIGHT - 3) * ROUTE_16_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db $d, ROUTE_16_WIDTH ; bigness, width
+	db (ROUTE_16_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_16_HEIGHT * (ROUTE_16_WIDTH + 6) ; window
+
+	db ROUTE_18
+	dw Route18Blocks ; connection strip location
+	dw $C6EB + (ROUTE_17_HEIGHT + 3) * (ROUTE_17_WIDTH + 6) + 0 ; current map position
+	db $d, ROUTE_18_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_18_WIDTH ; window
+
+	; end connections data
+
+	dw Route17Object ; objects
+
+Route17Object: ; 0x54b42 (size=102)
+	db $43 ; border tile
+
+	db $0 ; warps
+
+	db $6 ; signs
+	db $33, $9, $b ; Route17Text11
+	db $3f, $9, $c ; Route17Text12
+	db $4b, $9, $d ; Route17Text13
+	db $57, $9, $e ; Route17Text14
+	db $6f, $9, $f ; Route17Text15
+	db $8d, $9, $10 ; Route17Text16
+
+	db $a ; people
+	db SPRITE_BIKER, $13 + 4, $c + 4, $ff, $d2, $41, CUE_BALL + $C8, $4 ; trainer
+	db SPRITE_BIKER, $10 + 4, $b + 4, $ff, $d3, $42, CUE_BALL + $C8, $5 ; trainer
+	db SPRITE_BIKER, $12 + 4, $4 + 4, $ff, $d1, $43, BIKER + $C8, $8 ; trainer
+	db SPRITE_BIKER, $20 + 4, $7 + 4, $ff, $d2, $44, BIKER + $C8, $9 ; trainer
+	db SPRITE_BIKER, $22 + 4, $e + 4, $ff, $d3, $45, BIKER + $C8, $a ; trainer
+	db SPRITE_BIKER, $3a + 4, $11 + 4, $ff, $d2, $46, CUE_BALL + $C8, $6 ; trainer
+	db SPRITE_BIKER, $44 + 4, $2 + 4, $ff, $d3, $47, CUE_BALL + $C8, $7 ; trainer
+	db SPRITE_BIKER, $62 + 4, $e + 4, $ff, $d3, $48, CUE_BALL + $C8, $8 ; trainer
+	db SPRITE_BIKER, $62 + 4, $5 + 4, $ff, $d2, $49, BIKER + $C8, $b ; trainer
+	db SPRITE_BIKER, $76 + 4, $a + 4, $ff, $d0, $4a, BIKER + $C8, $c ; trainer
+
+Route17Blocks: ; 0x54ba8 720
+	INCBIN "maps/route17.blk"
+
+Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30)
+	db $00 ; tileset
+	db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x)
+	dw Route19Blocks, Route19Texts, Route19Script ; blocks, texts, scripts
+	db NORTH | WEST ; connections
+
+	; connections data
+
+	db FUCHSIA_CITY
+	dw FuchsiaCityBlocks + (FUCHSIA_CITY_HEIGHT - 3) * FUCHSIA_CITY_WIDTH + 2 ; connection strip location
+	dw $C6EB + -3 ; current map position
+	db $10, FUCHSIA_CITY_WIDTH ; bigness, width
+	db (FUCHSIA_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x)
+	dw $C6E9 + FUCHSIA_CITY_HEIGHT * (FUCHSIA_CITY_WIDTH + 6) ; window
+
+	db ROUTE_20
+	dw Route20Blocks - 3 + (ROUTE_20_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_19_WIDTH + 6) * (18 + 3) ; current map position
+	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width
+	db (18 * -2), (ROUTE_20_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_20_WIDTH ; window
+
+	; end connections data
+
+	dw Route19Object ; objects
+
+Route19Object: ; 0x54e9a (size=87)
+	db $43 ; border tile
+
+	db $0 ; warps
+
+	db $1 ; signs
+	db $9, $b, $b ; Route19Text11
+
+	db $a ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $8 + 4, $ff, $d2, $41, SWIMMER + $C8, $2 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $d + 4, $ff, $d2, $42, SWIMMER + $C8, $3 ; trainer
+	db SPRITE_SWIMMER, $19 + 4, $d + 4, $ff, $d2, $43, SWIMMER + $C8, $4 ; trainer
+	db SPRITE_SWIMMER, $1b + 4, $4 + 4, $ff, $d3, $44, SWIMMER + $C8, $5 ; trainer
+	db SPRITE_SWIMMER, $1f + 4, $10 + 4, $ff, $d1, $45, SWIMMER + $C8, $6 ; trainer
+	db SPRITE_SWIMMER, $b + 4, $9 + 4, $ff, $d0, $46, SWIMMER + $C8, $7 ; trainer
+	db SPRITE_SWIMMER, $2b + 4, $8 + 4, $ff, $d2, $47, BEAUTY + $C8, $c ; trainer
+	db SPRITE_SWIMMER, $2b + 4, $b + 4, $ff, $d3, $48, BEAUTY + $C8, $d ; trainer
+	db SPRITE_SWIMMER, $2a + 4, $9 + 4, $ff, $d1, $49, SWIMMER + $C8, $8 ; trainer
+	db SPRITE_SWIMMER, $2c + 4, $a + 4, $ff, $d0, $4a, BEAUTY + $C8, $e ; trainer
+
+Route19Blocks: ; 0x54ef1 270
+	INCBIN "maps/route19.blk"
+
+Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32)
+	db $00 ; tileset
+	db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x)
+	dw Route21Blocks, Route21Texts, Route21Script ; blocks, texts, scripts
+	db NORTH | SOUTH ; connections
+
+	; connections data
+
+	db PALLET_TOWN
+	dw PalletTownBlocks + (PALLET_TOWN_HEIGHT - 3) * PALLET_TOWN_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db PALLET_TOWN_WIDTH, PALLET_TOWN_WIDTH ; bigness, width
+	db (PALLET_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + PALLET_TOWN_HEIGHT * (PALLET_TOWN_WIDTH + 6) ; window
+
+	db CINNABAR_ISLAND
+	dw CinnabarIslandBlocks ; connection strip location
+	dw $C6EB + (ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6) + 0 ; current map position
+	db CINNABAR_ISLAND_WIDTH, CINNABAR_ISLAND_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + CINNABAR_ISLAND_WIDTH ; window
+
+	; end connections data
+
+	dw Route21Object ; objects
+
+Route21Object: ; 0x55021 (size=76)
+	db $43 ; border tile
+
+	db $0 ; warps
+
+	db $0 ; signs
+
+	db $9 ; people
+	db SPRITE_FISHER2, $18 + 4, $4 + 4, $ff, $d2, $41, FISHER + $C8, $7 ; trainer
+	db SPRITE_FISHER2, $19 + 4, $6 + 4, $ff, $d0, $42, FISHER + $C8, $9 ; trainer
+	db SPRITE_SWIMMER, $1f + 4, $a + 4, $ff, $d1, $43, SWIMMER + $C8, $c ; trainer
+	db SPRITE_SWIMMER, $1e + 4, $c + 4, $ff, $d3, $44, CUE_BALL + $C8, $9 ; trainer
+	db SPRITE_SWIMMER, $3f + 4, $10 + 4, $ff, $d0, $45, SWIMMER + $C8, $d ; trainer
+	db SPRITE_SWIMMER, $47 + 4, $5 + 4, $ff, $d3, $46, SWIMMER + $C8, $e ; trainer
+	db SPRITE_SWIMMER, $47 + 4, $f + 4, $ff, $d2, $47, SWIMMER + $C8, $f ; trainer
+	db SPRITE_FISHER2, $38 + 4, $e + 4, $ff, $d2, $48, FISHER + $C8, $8 ; trainer
+	db SPRITE_FISHER2, $39 + 4, $11 + 4, $ff, $d3, $49, FISHER + $C8, $a ; trainer
+
+Route21Blocks: ; 0x5506d 450
+	INCBIN "maps/route21.blk"
+
+VermilionHouse2Blocks:
+Route12HouseBlocks:
+DayCareMBlocks: ; 0x5522f 522F 16
+	INCBIN "maps/daycarem.blk"
+
+FuchsiaHouse3Blocks: ; 0x5523f 16
+	INCBIN "maps/fuchsiahouse3.blk"
+
+INCBIN "baserom.gbc",$5524f,$554d8 - $5524f
+
+UnnamedText_554d8: ; 0x554d8
+	TX_FAR _UnnamedText_554d8 ; 0x89bee
+	db $50
+; 0x554dd
+
+INCBIN "baserom.gbc",$554dd,$554e3 - $554dd
+
+Route2Script: ; 0x554e3
+	jp $3c3c
+; 0x554e6
+
+Route2Texts:
+	dw Route2Text1, Route2Text2, Route2Text3, Route2Text4
+
+Route2Text3: ; 0x554ee
+	TX_FAR _Route2Text3
+	db $50
+
+Route2Text4: ; 0x554f3
+	TX_FAR _Route2Text4
+	db $50
+
+Route3Script: ; 0x554f8
+	call $3c3c
+	ld hl, Route3TrainerHeader1
+	ld de, Unknown_5550b
+	ld a, [$d5f8]
+	call $3160
+	ld [$d5f8], a
+	ret
+; 0x5550b
+
+Unknown_5550b: ; 0x5550b
+INCBIN "baserom.gbc",$5550b,$6
+
+Route3Texts: ; 0x55511
+	dw Route3Text1, Route3Text2, Route3Text3, Route3Text4, Route3Text5, Route3Text6, Route3Text7, Route3Text8, Route3Text9, Route3Text10
+
+Route3TrainerHeaders:
+Route3TrainerHeader1: ; 0x55525
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_55595 ; 0x5595 TextBeforeBattle
+	dw UnnamedText_5559f ; 0x559f TextAfterBattle
+	dw UnnamedText_5559a ; 0x559a TextEndBattle
+	dw UnnamedText_5559a ; 0x559a TextEndBattle
+; 0x55531
+
+TrainerHeader_55531: ; 0x55531
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_555ae ; 0x55ae TextBeforeBattle
+	dw UnnamedText_555b8 ; 0x55b8 TextAfterBattle
+	dw UnnamedText_555b3 ; 0x55b3 TextEndBattle
+	dw UnnamedText_555b3 ; 0x55b3 TextEndBattle
+; 0x5553d
+
+TrainerHeader_5553d: ; 0x5553d
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_555c7 ; 0x55c7 TextBeforeBattle
+	dw UnnamedText_555d1 ; 0x55d1 TextAfterBattle
+	dw UnnamedText_555cc ; 0x55cc TextEndBattle
+	dw UnnamedText_555cc ; 0x55cc TextEndBattle
+; 0x55549
+
+TrainerHeader_55549: ; 0x55549
+	db $5 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_555e0 ; 0x55e0 TextBeforeBattle
+	dw UnnamedText_555ea ; 0x55ea TextAfterBattle
+	dw UnnamedText_555e5 ; 0x55e5 TextEndBattle
+	dw UnnamedText_555e5 ; 0x55e5 TextEndBattle
+; 0x55555
+
+TrainerHeader_55555: ; 0x55555
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_555f9 ; 0x55f9 TextBeforeBattle
+	dw UnnamedText_55603 ; 0x5603 TextAfterBattle
+	dw UnnamedText_555fe ; 0x55fe TextEndBattle
+	dw UnnamedText_555fe ; 0x55fe TextEndBattle
+; 0x55561
+
+TrainerHeader_55561: ; 0x55561
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_55612 ; 0x5612 TextBeforeBattle
+	dw UnnamedText_5561c ; 0x561c TextAfterBattle
+	dw UnnamedText_55617 ; 0x5617 TextEndBattle
+	dw UnnamedText_55617 ; 0x5617 TextEndBattle
+; 0x5556d
+
+TrainerHeader_5556d: ; 0x5556d
+	db $8 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_5562b ; 0x562b TextBeforeBattle
+	dw UnnamedText_55635 ; 0x5635 TextAfterBattle
+	dw UnnamedText_55630 ; 0x5630 TextEndBattle
+	dw UnnamedText_55630 ; 0x5630 TextEndBattle
+; 0x55579
+
+TrainerHeader_55579: ; 0x55579
+	db $9 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7c3 ; flag's byte
+	dw UnnamedText_55644 ; 0x5644 TextBeforeBattle
+	dw UnnamedText_5564e ; 0x564e TextAfterBattle
+	dw UnnamedText_55649 ; 0x5649 TextEndBattle
+	dw UnnamedText_55649 ; 0x5649 TextEndBattle
+; 0x55585
+
+db $ff
+
+Route3Text1: ; 0x55586
+	TX_FAR _Route3Text1
+	db $50
+
+Route3Text2: ; 0x5558b
+	db $08 ; asm
+	ld hl, Route3TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55595: ; 0x55595
+	TX_FAR _UnnamedText_55595
+	db $50
+; 0x55595 + 5 bytes
+
+UnnamedText_5559a: ; 0x5559a
+	TX_FAR _UnnamedText_5559a
+	db $50
+; 0x5559a + 5 bytes
+
+UnnamedText_5559f: ; 0x5559f
+	TX_FAR _UnnamedText_5559f
+	db $50
+; 0x5559f + 5 bytes
+
+Route3Text3: ; 0x555a4
+	db $08 ; asm
+	ld hl, TrainerHeader_55531
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_555ae: ; 0x555ae
+	TX_FAR _UnnamedText_555ae
+	db $50
+; 0x555ae + 5 bytes
+
+UnnamedText_555b3: ; 0x555b3
+	TX_FAR _UnnamedText_555b3
+	db $50
+; 0x555b3 + 5 bytes
+
+UnnamedText_555b8: ; 0x555b8
+	TX_FAR _UnnamedText_555b8
+	db $50
+; 0x555b8 + 5 bytes
+
+Route3Text4: ; 0x555bd
+	db $08 ; asm
+	ld hl, TrainerHeader_5553d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_555c7: ; 0x555c7
+	TX_FAR _UnnamedText_555c7
+	db $50
+; 0x555c7 + 5 bytes
+
+UnnamedText_555cc: ; 0x555cc
+	TX_FAR _UnnamedText_555cc
+	db $50
+; 0x555cc + 5 bytes
+
+UnnamedText_555d1: ; 0x555d1
+	TX_FAR _UnnamedText_555d1
+	db $50
+; 0x555d1 + 5 bytes
+
+Route3Text5: ; 0x555d6
+	db $08 ; asm
+	ld hl, TrainerHeader_55549
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_555e0: ; 0x555e0
+	TX_FAR _UnnamedText_555e0
+	db $50
+; 0x555e0 + 5 bytes
+
+UnnamedText_555e5: ; 0x555e5
+	TX_FAR _UnnamedText_555e5
+	db $50
+; 0x555e5 + 5 bytes
+
+UnnamedText_555ea: ; 0x555ea
+	TX_FAR _UnnamedText_555ea
+	db $50
+; 0x555ea + 5 bytes
+
+Route3Text6: ; 0x555ef
+	db $08 ; asm
+	ld hl, TrainerHeader_55555
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_555f9: ; 0x555f9
+	TX_FAR _UnnamedText_555f9
+	db $50
+; 0x555f9 + 5 bytes
+
+UnnamedText_555fe: ; 0x555fe
+	TX_FAR _UnnamedText_555fe
+	db $50
+; 0x555fe + 5 bytes
+
+UnnamedText_55603: ; 0x55603
+	TX_FAR _UnnamedText_55603
+	db $50
+; 0x55603 + 5 bytes
+
+Route3Text7: ; 0x55608
+	db $08 ; asm
+	ld hl, TrainerHeader_55561
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55612: ; 0x55612
+	TX_FAR _UnnamedText_55612
+	db $50
+; 0x55612 + 5 bytes
+
+UnnamedText_55617: ; 0x55617
+	TX_FAR _UnnamedText_55617
+	db $50
+; 0x55617 + 5 bytes
+
+UnnamedText_5561c: ; 0x5561c
+	TX_FAR _UnnamedText_5561c
+	db $50
+; 0x5561c + 5 bytes
+
+Route3Text8: ; 0x55621
+	db $08 ; asm
+	ld hl, TrainerHeader_5556d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5562b: ; 0x5562b
+	TX_FAR _UnnamedText_5562b
+	db $50
+; 0x5562b + 5 bytes
+
+UnnamedText_55630: ; 0x55630
+	TX_FAR _UnnamedText_55630
+	db $50
+; 0x55630 + 5 bytes
+
+UnnamedText_55635: ; 0x55635
+	TX_FAR _UnnamedText_55635
+	db $50
+; 0x55635 + 5 bytes
+
+Route3Text9: ; 0x5563a
+	db $08 ; asm
+	ld hl, TrainerHeader_55579
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55644: ; 0x55644
+	TX_FAR _UnnamedText_55644
+	db $50
+; 0x55644 + 5 bytes
+
+UnnamedText_55649: ; 0x55649
+	TX_FAR _UnnamedText_55649
+	db $50
+; 0x55649 + 5 bytes
+
+UnnamedText_5564e: ; 0x5564e
+	TX_FAR _UnnamedText_5564e
+	db $50
+; 0x5564e + 5 bytes
+
+Route3Text10: ; 0x55653
+	TX_FAR _Route3Text10
+	db $50
+
+Route4Script: ; 0x55658
+	call $3c3c
+	ld hl, Route4TrainerHeaders
+	ld de, Unknown_5566b
+	ld a, [$d5f9]
+	call $3160
+	ld [$d5f9], a
+	ret
+; 0x5566b
+
+Unknown_5566b: ; 0x5566b
+INCBIN "baserom.gbc",$5566b,$6
+
+Route4Texts: ; 0x55671
+	dw Route4Text1, Route4Text2, Route4Text3, Route4Text4, Route4Text5, Route4Text6
+
+Route4TrainerHeaders:
+Route4TrainerHeader1: ; 0x5567d
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c5 ; flag's byte
+	dw UnnamedText_55699 ; 0x5699 TextBeforeBattle
+	dw UnnamedText_556a3 ; 0x56a3 TextAfterBattle
+	dw UnnamedText_5569e ; 0x569e TextEndBattle
+	dw UnnamedText_5569e ; 0x569e TextEndBattle
+; 0x55689
+
+db $ff
+
+Route4Text1: ; 0x5568a
+	TX_FAR _Route4Text1
+	db $50
+
+Route4Text2: ; 0x5568f
+	db $08 ; asm
+	ld hl, Route4TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55699: ; 0x55699
+	TX_FAR _UnnamedText_55699
+	db $50
+; 0x55699 + 5 bytes
+
+UnnamedText_5569e: ; 0x5569e
+	TX_FAR _UnnamedText_5569e
+	db $50
+; 0x5569e + 5 bytes
+
+UnnamedText_556a3: ; 0x556a3
+	TX_FAR _UnnamedText_556a3
+	db $50
+; 0x556a3 + 5 bytes
+
+Route4Text5: ; 0x556a8
+	TX_FAR _Route4Text5
+	db $50
+
+Route4Text6: ; 0x556ad
+	TX_FAR _Route4Text6
+	db $50
+
+Route5Script: ; 0x556b2
+	jp $3c3c
+; 0x556b5
+
+Route5Texts: ; 0x556b5
+	dw Route5Text1
+
+Route5Text1: ; 0x556b7
+	TX_FAR _Route5Text1
+	db $50
+
+Route9Script: ; 0x556bc
+	call $3c3c
+	ld hl, Route9TrainerHeaders
+	ld de, Unknown_556cf
+	ld a, [$d604]
+	call $3160
+	ld [$d604], a
+	ret
+; 0x556cf
+
+Unknown_556cf: ; 0x556cf
+INCBIN "baserom.gbc",$556cf,$6
+
+Route9Texts: ; 0x556d5
+	dw Route9Text1, Route9Text2, Route9Text3, Route9Text4, Route9Text5, Route9Text6, Route9Text7, Route9Text8, Route9Text9, Route9Text10, Route9Text11
+
+Route9TrainerHeaders:
+Route9TrainerHeader1: ; 0x556eb
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_55792 ; 0x5792 TextBeforeBattle
+	dw UnnamedText_5579c ; 0x579c TextAfterBattle
+	dw UnnamedText_55797 ; 0x5797 TextEndBattle
+	dw UnnamedText_55797 ; 0x5797 TextEndBattle
+; 0x556f7
+
+TrainerHeader_556f7: ; 0x556f7
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557a1 ; 0x57a1 TextBeforeBattle
+	dw UnnamedText_557ab ; 0x57ab TextAfterBattle
+	dw UnnamedText_557a6 ; 0x57a6 TextEndBattle
+	dw UnnamedText_557a6 ; 0x57a6 TextEndBattle
+; 0x55703
+
+TrainerHeader_55703: ; 0x55703
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557b0 ; 0x57b0 TextBeforeBattle
+	dw UnnamedText_557ba ; 0x57ba TextAfterBattle
+	dw UnnamedText_557b5 ; 0x57b5 TextEndBattle
+	dw UnnamedText_557b5 ; 0x57b5 TextEndBattle
+; 0x5570f
+
+TrainerHeader_5570f: ; 0x5570f
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557bf ; 0x57bf TextBeforeBattle
+	dw UnnamedText_557c9 ; 0x57c9 TextAfterBattle
+	dw UnnamedText_557c4 ; 0x57c4 TextEndBattle
+	dw UnnamedText_557c4 ; 0x57c4 TextEndBattle
+; 0x5571b
+
+TrainerHeader_5571b: ; 0x5571b
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557ce ; 0x57ce TextBeforeBattle
+	dw UnnamedText_557d8 ; 0x57d8 TextAfterBattle
+	dw UnnamedText_557d3 ; 0x57d3 TextEndBattle
+	dw UnnamedText_557d3 ; 0x57d3 TextEndBattle
+; 0x55727
+
+TrainerHeader_55727: ; 0x55727
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557dd ; 0x57dd TextBeforeBattle
+	dw UnnamedText_557e7 ; 0x57e7 TextAfterBattle
+	dw UnnamedText_557e2 ; 0x57e2 TextEndBattle
+	dw UnnamedText_557e2 ; 0x57e2 TextEndBattle
+; 0x55733
+
+TrainerHeader_55733: ; 0x55733
+	db $7 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557ec ; 0x57ec TextBeforeBattle
+	dw UnnamedText_557f6 ; 0x57f6 TextAfterBattle
+	dw UnnamedText_557f1 ; 0x57f1 TextEndBattle
+	dw UnnamedText_557f1 ; 0x57f1 TextEndBattle
+; 0x5573f
+
+TrainerHeader_5573f: ; 0x5573f
+	db $8 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_557fb ; 0x57fb TextBeforeBattle
+	dw UnnamedText_55805 ; 0x5805 TextAfterBattle
+	dw UnnamedText_55800 ; 0x5800 TextEndBattle
+	dw UnnamedText_55800 ; 0x5800 TextEndBattle
+; 0x5574b
+
+TrainerHeader_5574b: ; 0x5574b
+	db $9 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cf ; flag's byte
+	dw UnnamedText_5580a ; 0x580a TextBeforeBattle
+	dw UnnamedText_55814 ; 0x5814 TextAfterBattle
+	dw UnnamedText_5580f ; 0x580f TextEndBattle
+	dw UnnamedText_5580f ; 0x580f TextEndBattle
+; 0x55757
+
+db $ff
+
+Route9Text1: ; 0x55758
+	db $8 ; asm
+	ld hl, Route9TrainerHeader1
+	jr asm_8be3d ; 0x5575c $2e
+
+Route9Text2:
+	db $8 ; asm
+	ld hl, TrainerHeader_556f7
+	jr asm_8be3d ; 0x55762 $28
+
+Route9Text3:
+	db $8 ; asm
+	ld hl, TrainerHeader_55703
+	jr asm_8be3d ; 0x55768 $22
+
+Route9Text4:
+	db $8 ; asm
+	ld hl, TrainerHeader_5570f
+	jr asm_8be3d ; 0x5576e $1c
+
+Route9Text5:
+	db $8 ; asm
+	ld hl, TrainerHeader_5571b
+	jr asm_8be3d ; 0x55774 $16
+
+Route9Text6:
+	db $8 ; asm
+	ld hl, TrainerHeader_55727
+	jr asm_8be3d ; 0x5577a $10
+
+Route9Text7:
+	db $8 ; asm
+	ld hl, TrainerHeader_55733
+	jr asm_8be3d ; 0x55780 $a
+
+Route9Text8:
+	db $8 ; asm
+	ld hl, TrainerHeader_5573f
+	jr asm_8be3d ; 0x55786 $4
+
+Route9Text9:
+	db $8 ; asm
+	ld hl, TrainerHeader_5574b
+asm_8be3d: ; 0x5578c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+; 0x55792
+
+UnnamedText_55792: ; 0x55792
+	TX_FAR _UnnamedText_55792
+	db $50
+; 0x55792 + 5 bytes
+
+UnnamedText_55797: ; 0x55797
+	TX_FAR _UnnamedText_55797
+	db $50
+; 0x55797 + 5 bytes
+
+UnnamedText_5579c: ; 0x5579c
+	TX_FAR _UnnamedText_5579c
+	db $50
+; 0x5579c + 5 bytes
+
+UnnamedText_557a1: ; 0x557a1
+	TX_FAR _UnnamedText_557a1
+	db $50
+; 0x557a1 + 5 bytes
+
+UnnamedText_557a6: ; 0x557a6
+	TX_FAR _UnnamedText_557a6
+	db $50
+; 0x557a6 + 5 bytes
+
+UnnamedText_557ab: ; 0x557ab
+	TX_FAR _UnnamedText_557ab
+	db $50
+; 0x557ab + 5 bytes
+
+UnnamedText_557b0: ; 0x557b0
+	TX_FAR _UnnamedText_557b0
+	db $50
+; 0x557b0 + 5 bytes
+
+UnnamedText_557b5: ; 0x557b5
+	TX_FAR _UnnamedText_557b5
+	db $50
+; 0x557b5 + 5 bytes
+
+UnnamedText_557ba: ; 0x557ba
+	TX_FAR _UnnamedText_557ba
+	db $50
+; 0x557ba + 5 bytes
+
+UnnamedText_557bf: ; 0x557bf
+	TX_FAR _UnnamedText_557bf
+	db $50
+; 0x557bf + 5 bytes
+
+UnnamedText_557c4: ; 0x557c4
+	TX_FAR _UnnamedText_557c4
+	db $50
+; 0x557c4 + 5 bytes
+
+UnnamedText_557c9: ; 0x557c9
+	TX_FAR _UnnamedText_557c9
+	db $50
+; 0x557c9 + 5 bytes
+
+UnnamedText_557ce: ; 0x557ce
+	TX_FAR _UnnamedText_557ce
+	db $50
+; 0x557ce + 5 bytes
+
+UnnamedText_557d3: ; 0x557d3
+	TX_FAR _UnnamedText_557d3
+	db $50
+; 0x557d3 + 5 bytes
+
+UnnamedText_557d8: ; 0x557d8
+	TX_FAR _UnnamedText_557d8
+	db $50
+; 0x557d8 + 5 bytes
+
+UnnamedText_557dd: ; 0x557dd
+	TX_FAR _UnnamedText_557dd
+	db $50
+; 0x557dd + 5 bytes
+
+UnnamedText_557e2: ; 0x557e2
+	TX_FAR _UnnamedText_557e2
+	db $50
+; 0x557e2 + 5 bytes
+
+UnnamedText_557e7: ; 0x557e7
+	TX_FAR _UnnamedText_557e7
+	db $50
+; 0x557e7 + 5 bytes
+
+UnnamedText_557ec: ; 0x557ec
+	TX_FAR _UnnamedText_557ec
+	db $50
+; 0x557ec + 5 bytes
+
+UnnamedText_557f1: ; 0x557f1
+	TX_FAR _UnnamedText_557f1
+	db $50
+; 0x557f1 + 5 bytes
+
+UnnamedText_557f6: ; 0x557f6
+	TX_FAR _UnnamedText_557f6
+	db $50
+; 0x557f6 + 5 bytes
+
+UnnamedText_557fb: ; 0x557fb
+	TX_FAR _UnnamedText_557fb
+	db $50
+; 0x557fb + 5 bytes
+
+UnnamedText_55800: ; 0x55800
+	TX_FAR _UnnamedText_55800
+	db $50
+; 0x55800 + 5 bytes
+
+UnnamedText_55805: ; 0x55805
+	TX_FAR _UnnamedText_55805
+	db $50
+; 0x55805 + 5 bytes
+
+UnnamedText_5580a: ; 0x5580a
+	TX_FAR _UnnamedText_5580a
+	db $50
+; 0x5580a + 5 bytes
+
+UnnamedText_5580f: ; 0x5580f
+	TX_FAR _UnnamedText_5580f
+	db $50
+; 0x5580f + 5 bytes
+
+UnnamedText_55814: ; 0x55814
+	TX_FAR _UnnamedText_55814
+	db $50
+; 0x55814 + 5 bytes
+
+Route9Text11: ; 0x55819
+	TX_FAR _Route9Text11
+	db $50
+
+Route13Script: ; 0x5581e
+	call $3c3c
+	ld hl, Route13TrainerHeaders
+	ld de, Route13Script_Unknown55831
+	ld a, [$d61a]
+	call $3160
+	ld [$d61a], a
+	ret
+; 0x55831
+
+Route13Script_Unknown55831: ; 0x55831
+INCBIN "baserom.gbc",$55831,$6
+
+Route13Texts: ; 0x55837
+	dw Route13Text1, Route13Text2, Route13Text3, Route13Text4, Route13Text5, Route13Text6, Route13Text7, Route13Text8, Route13Text9, Route13Text10, Route13Text11, Route13Text12, Route13Text13
+
+Route13TrainerHeaders:
+TrainerHeader_55851: ; 0x55851
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_558d4 ; 0x58d4 TextBeforeBattle
+	dw UnnamedText_558de ; 0x58de TextAfterBattle
+	dw UnnamedText_558d9 ; 0x58d9 TextEndBattle
+	dw UnnamedText_558d9 ; 0x58d9 TextEndBattle
+; 0x5585d
+
+TrainerHeader_5585d: ; 0x5585d
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_558ed ; 0x58ed TextBeforeBattle
+	dw UnnamedText_558f7 ; 0x58f7 TextAfterBattle
+	dw UnnamedText_558f2 ; 0x58f2 TextEndBattle
+	dw UnnamedText_558f2 ; 0x58f2 TextEndBattle
+; 0x55869
+
+TrainerHeader_55869: ; 0x55869
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_55906 ; 0x5906 TextBeforeBattle
+	dw UnnamedText_55910 ; 0x5910 TextAfterBattle
+	dw UnnamedText_5590b ; 0x590b TextEndBattle
+	dw UnnamedText_5590b ; 0x590b TextEndBattle
+; 0x55875
+
+TrainerHeader_55875: ; 0x55875
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_5591f ; 0x591f TextBeforeBattle
+	dw UnnamedText_55929 ; 0x5929 TextAfterBattle
+	dw UnnamedText_55924 ; 0x5924 TextEndBattle
+	dw UnnamedText_55924 ; 0x5924 TextEndBattle
+; 0x55881
+
+TrainerHeader_55881: ; 0x55881
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_55938 ; 0x5938 TextBeforeBattle
+	dw UnnamedText_55942 ; 0x5942 TextAfterBattle
+	dw UnnamedText_5593d ; 0x593d TextEndBattle
+	dw UnnamedText_5593d ; 0x593d TextEndBattle
+; 0x5588d
+
+TrainerHeader_5588d: ; 0x5588d
+	db $6 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_55951 ; 0x5951 TextBeforeBattle
+	dw UnnamedText_5595b ; 0x595b TextAfterBattle
+	dw UnnamedText_55956 ; 0x5956 TextEndBattle
+	dw UnnamedText_55956 ; 0x5956 TextEndBattle
+; 0x55899
+
+TrainerHeader_55899: ; 0x55899
+	db $7 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_5596a ; 0x596a TextBeforeBattle
+	dw UnnamedText_55974 ; 0x5974 TextAfterBattle
+	dw UnnamedText_5596f ; 0x596f TextEndBattle
+	dw UnnamedText_5596f ; 0x596f TextEndBattle
+; 0x558a5
+
+TrainerHeader_558a5: ; 0x558a5
+	db $8 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_55983 ; 0x5983 TextBeforeBattle
+	dw UnnamedText_5598d ; 0x598d TextAfterBattle
+	dw UnnamedText_55988 ; 0x5988 TextEndBattle
+	dw UnnamedText_55988 ; 0x5988 TextEndBattle
+; 0x558b1
+
+TrainerHeader_558b1: ; 0x558b1
+	db $9 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_5599c ; 0x599c TextBeforeBattle
+	dw UnnamedText_559a6 ; 0x59a6 TextAfterBattle
+	dw UnnamedText_559a1 ; 0x59a1 TextEndBattle
+	dw UnnamedText_559a1 ; 0x59a1 TextEndBattle
+; 0x558bd
+
+TrainerHeader_558bd: ; 0x558bd
+	db $a ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d9 ; flag's byte
+	dw UnnamedText_559b5 ; 0x59b5 TextBeforeBattle
+	dw UnnamedText_559bf ; 0x59bf TextAfterBattle
+	dw UnnamedText_559ba ; 0x59ba TextEndBattle
+	dw UnnamedText_559ba ; 0x59ba TextEndBattle
+; 0x558c9
+
+db $ff
+
+Route13Text1: ; 0x558ca
+	db $08 ; asm
+	ld hl, TrainerHeader_55851
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_558d4: ; 0x558d4
+	TX_FAR _UnnamedText_558d4
+	db $50
+; 0x558d4 + 5 bytes
+
+UnnamedText_558d9: ; 0x558d9
+	TX_FAR _UnnamedText_558d9
+	db $50
+; 0x558d9 + 5 bytes
+
+UnnamedText_558de: ; 0x558de
+	TX_FAR _UnnamedText_558de
+	db $50
+; 0x558de + 5 bytes
+
+Route13Text2: ; 0x558e3
+	db $08 ; asm
+	ld hl, TrainerHeader_5585d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_558ed: ; 0x558ed
+	TX_FAR _UnnamedText_558ed
+	db $50
+; 0x558ed + 5 bytes
+
+UnnamedText_558f2: ; 0x558f2
+	TX_FAR _UnnamedText_558f2
+	db $50
+; 0x558f2 + 5 bytes
+
+UnnamedText_558f7: ; 0x558f7
+	TX_FAR _UnnamedText_558f7
+	db $50
+; 0x558f7 + 5 bytes
+
+Route13Text3: ; 0x558fc
+	db $08 ; asm
+	ld hl, TrainerHeader_55869
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55906: ; 0x55906
+	TX_FAR _UnnamedText_55906
+	db $50
+; 0x55906 + 5 bytes
+
+UnnamedText_5590b: ; 0x5590b
+	TX_FAR _UnnamedText_5590b
+	db $50
+; 0x5590b + 5 bytes
+
+UnnamedText_55910: ; 0x55910
+	TX_FAR _UnnamedText_55910
+	db $50
+; 0x55910 + 5 bytes
+
+Route13Text4: ; 0x55915
+	db $08 ; asm
+	ld hl, TrainerHeader_55875
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5591f: ; 0x5591f
+	TX_FAR _UnnamedText_5591f
+	db $50
+; 0x5591f + 5 bytes
+
+UnnamedText_55924: ; 0x55924
+	TX_FAR _UnnamedText_55924
+	db $50
+; 0x55924 + 5 bytes
+
+UnnamedText_55929: ; 0x55929
+	TX_FAR _UnnamedText_55929
+	db $50
+; 0x55929 + 5 bytes
+
+Route13Text5: ; 0x5592e
+	db $08 ; asm
+	ld hl, TrainerHeader_55881
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55938: ; 0x55938
+	TX_FAR _UnnamedText_55938
+	db $50
+; 0x55938 + 5 bytes
+
+UnnamedText_5593d: ; 0x5593d
+	TX_FAR _UnnamedText_5593d
+	db $50
+; 0x5593d + 5 bytes
+
+UnnamedText_55942: ; 0x55942
+	TX_FAR _UnnamedText_55942
+	db $50
+; 0x55942 + 5 bytes
+
+Route13Text6: ; 0x55947
+	db $08 ; asm
+	ld hl, TrainerHeader_5588d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55951: ; 0x55951
+	TX_FAR _UnnamedText_55951
+	db $50
+; 0x55951 + 5 bytes
+
+UnnamedText_55956: ; 0x55956
+	TX_FAR _UnnamedText_55956
+	db $50
+; 0x55956 + 5 bytes
+
+UnnamedText_5595b: ; 0x5595b
+	TX_FAR _UnnamedText_5595b
+	db $50
+; 0x5595b + 5 bytes
+
+Route13Text7: ; 0x55960
+	db $08 ; asm
+	ld hl, TrainerHeader_55899
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5596a: ; 0x5596a
+	TX_FAR _UnnamedText_5596a
+	db $50
+; 0x5596a + 5 bytes
+
+UnnamedText_5596f: ; 0x5596f
+	TX_FAR _UnnamedText_5596f
+	db $50
+; 0x5596f + 5 bytes
+
+UnnamedText_55974: ; 0x55974
+	TX_FAR _UnnamedText_55974
+	db $50
+; 0x55974 + 5 bytes
+
+Route13Text8: ; 0x55979
+	db $08 ; asm
+	ld hl, TrainerHeader_558a5
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55983: ; 0x55983
+	TX_FAR _UnnamedText_55983
+	db $50
+; 0x55983 + 5 bytes
+
+UnnamedText_55988: ; 0x55988
+	TX_FAR _UnnamedText_55988
+	db $50
+; 0x55988 + 5 bytes
+
+UnnamedText_5598d: ; 0x5598d
+	TX_FAR _UnnamedText_5598d
+	db $50
+; 0x5598d + 5 bytes
+
+Route13Text9: ; 0x55992
+	db $08 ; asm
+	ld hl, TrainerHeader_558b1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5599c: ; 0x5599c
+	TX_FAR _UnnamedText_5599c
+	db $50
+; 0x5599c + 5 bytes
+
+UnnamedText_559a1: ; 0x559a1
+	TX_FAR _UnnamedText_559a1
+	db $50
+; 0x559a1 + 5 bytes
+
+UnnamedText_559a6: ; 0x559a6
+	TX_FAR _UnnamedText_559a6
+	db $50
+; 0x559a6 + 5 bytes
+
+Route13Text10: ; 0x559ab
+	db $08 ; asm
+	ld hl, TrainerHeader_558bd
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_559b5: ; 0x559b5
+	TX_FAR _UnnamedText_559b5
+	db $50
+; 0x559b5 + 5 bytes
+
+UnnamedText_559ba: ; 0x559ba
+	TX_FAR _UnnamedText_559ba
+	db $50
+; 0x559ba + 5 bytes
+
+UnnamedText_559bf: ; 0x559bf
+	TX_FAR _UnnamedText_559bf
+	db $50
+; 0x559bf + 5 bytes
+
+Route13Text11: ; 0x559c4
+	TX_FAR _Route13Text11
+	db $50
+
+Route13Text12: ; 0x559c9
+	TX_FAR _Route13Text12
+	db $50
+
+Route13Text13: ; 0x559ce
+	TX_FAR _Route13Text13
+	db $50
+
+Route14Script: ; 0x559d3
+	call $3c3c
+	ld hl, Route14TrainerHeaders
+	ld de, Unknown_559e6
+	ld a, [$d61b]
+	call $3160
+	ld [$d61b], a
+	ret
+; 0x559e6
+
+Unknown_559e6: ; 0x559e6
+INCBIN "baserom.gbc",$559e6,$6
+
+Route14Texts: ; 0x559ec
+	dw Route14Text1, Route14Text2, Route14Text3, Route14Text4, Route14Text5, Route14Text6, Route14Text7, Route14Text8, Route14Text9, Route14Text10, Route14Text11
+
+Route14TrainerHeaders:
+Route14TrainerHeader1: ; 0x55a02
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55a85 ; 0x5a85 TextBeforeBattle
+	dw UnnamedText_55a8f ; 0x5a8f TextAfterBattle
+	dw UnnamedText_55a8a ; 0x5a8a TextEndBattle
+	dw UnnamedText_55a8a ; 0x5a8a TextEndBattle
+; 0x55a0e
+
+TrainerHeader_55a0e: ; 0x55a0e
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55a9e ; 0x5a9e TextBeforeBattle
+	dw UnnamedText_55aa8 ; 0x5aa8 TextAfterBattle
+	dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle
+	dw UnnamedText_55aa3 ; 0x5aa3 TextEndBattle
+; 0x55a1a
+
+TrainerHeader_55a1a: ; 0x55a1a
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55ab7 ; 0x5ab7 TextBeforeBattle
+	dw UnnamedText_55ac1 ; 0x5ac1 TextAfterBattle
+	dw UnnamedText_55abc ; 0x5abc TextEndBattle
+	dw UnnamedText_55abc ; 0x5abc TextEndBattle
+; 0x55a26
+
+TrainerHeader_55a26: ; 0x55a26
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55ad0 ; 0x5ad0 TextBeforeBattle
+	dw UnnamedText_55ada ; 0x5ada TextAfterBattle
+	dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle
+	dw UnnamedText_55ad5 ; 0x5ad5 TextEndBattle
+; 0x55a32
+
+TrainerHeader_55a32: ; 0x55a32
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55ae9 ; 0x5ae9 TextBeforeBattle
+	dw UnnamedText_55af3 ; 0x5af3 TextAfterBattle
+	dw UnnamedText_55aee ; 0x5aee TextEndBattle
+	dw UnnamedText_55aee ; 0x5aee TextEndBattle
+; 0x55a3e
+
+TrainerHeader_55a3e: ; 0x55a3e
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55b02 ; 0x5b02 TextBeforeBattle
+	dw UnnamedText_55b0c ; 0x5b0c TextAfterBattle
+	dw UnnamedText_55b07 ; 0x5b07 TextEndBattle
+	dw UnnamedText_55b07 ; 0x5b07 TextEndBattle
+; 0x55a4a
+
+TrainerHeader_55a4a: ; 0x55a4a
+	db $7 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55b1b ; 0x5b1b TextBeforeBattle
+	dw UnnamedText_55b25 ; 0x5b25 TextAfterBattle
+	dw UnnamedText_55b20 ; 0x5b20 TextEndBattle
+	dw UnnamedText_55b20 ; 0x5b20 TextEndBattle
+; 0x55a56
+
+TrainerHeader_55a56: ; 0x55a56
+	db $8 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55b34 ; 0x5b34 TextBeforeBattle
+	dw UnnamedText_55b3e ; 0x5b3e TextAfterBattle
+	dw UnnamedText_55b39 ; 0x5b39 TextEndBattle
+	dw UnnamedText_55b39 ; 0x5b39 TextEndBattle
+; 0x55a62
+
+TrainerHeader_55a62: ; 0x55a62
+	db $9 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55b4d ; 0x5b4d TextBeforeBattle
+	dw UnnamedText_55b57 ; 0x5b57 TextAfterBattle
+	dw UnnamedText_55b52 ; 0x5b52 TextEndBattle
+	dw UnnamedText_55b52 ; 0x5b52 TextEndBattle
+; 0x55a6e
+
+TrainerHeader_55a6e: ; 0x55a6e
+	db $a ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7db ; flag's byte
+	dw UnnamedText_55b66 ; 0x5b66 TextBeforeBattle
+	dw UnnamedText_55b70 ; 0x5b70 TextAfterBattle
+	dw UnnamedText_55b6b ; 0x5b6b TextEndBattle
+	dw UnnamedText_55b6b ; 0x5b6b TextEndBattle
+; 0x55a7a
+
+db $ff
+
+Route14Text1: ; 0x55a7b
+	db $08 ; asm
+	ld hl, Route14TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55a85: ; 0x55a85
+	TX_FAR _UnnamedText_55a85
+	db $50
+; 0x55a85 + 5 bytes
+
+UnnamedText_55a8a: ; 0x55a8a
+	TX_FAR _UnnamedText_55a8a
+	db $50
+; 0x55a8a + 5 bytes
+
+UnnamedText_55a8f: ; 0x55a8f
+	TX_FAR _UnnamedText_55a8f
+	db $50
+; 0x55a8f + 5 bytes
+
+Route14Text2: ; 0x55a94
+	db $08 ; asm
+	ld hl, TrainerHeader_55a0e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55a9e: ; 0x55a9e
+	TX_FAR _UnnamedText_55a9e
+	db $50
+; 0x55a9e + 5 bytes
+
+UnnamedText_55aa3: ; 0x55aa3
+	TX_FAR _UnnamedText_55aa3
+	db $50
+; 0x55aa3 + 5 bytes
+
+UnnamedText_55aa8: ; 0x55aa8
+	TX_FAR _UnnamedText_55aa8
+	db $50
+; 0x55aa8 + 5 bytes
+
+Route14Text3: ; 0x55aad
+	db $08 ; asm
+	ld hl, TrainerHeader_55a1a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55ab7: ; 0x55ab7
+	TX_FAR _UnnamedText_55ab7
+	db $50
+; 0x55ab7 + 5 bytes
+
+UnnamedText_55abc: ; 0x55abc
+	TX_FAR _UnnamedText_55abc
+	db $50
+; 0x55abc + 5 bytes
+
+UnnamedText_55ac1: ; 0x55ac1
+	TX_FAR _UnnamedText_55ac1
+	db $50
+; 0x55ac1 + 5 bytes
+
+Route14Text4: ; 0x55ac6
+	db $08 ; asm
+	ld hl, TrainerHeader_55a26
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55ad0: ; 0x55ad0
+	TX_FAR _UnnamedText_55ad0
+	db $50
+; 0x55ad0 + 5 bytes
+
+UnnamedText_55ad5: ; 0x55ad5
+	TX_FAR _UnnamedText_55ad5
+	db $50
+; 0x55ad5 + 5 bytes
+
+UnnamedText_55ada: ; 0x55ada
+	TX_FAR _UnnamedText_55ada
+	db $50
+; 0x55ada + 5 bytes
+
+Route14Text5: ; 0x55adf
+	db $08 ; asm
+	ld hl, TrainerHeader_55a32
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55ae9: ; 0x55ae9
+	TX_FAR _UnnamedText_55ae9
+	db $50
+; 0x55ae9 + 5 bytes
+
+UnnamedText_55aee: ; 0x55aee
+	TX_FAR _UnnamedText_55aee
+	db $50
+; 0x55aee + 5 bytes
+
+UnnamedText_55af3: ; 0x55af3
+	TX_FAR _UnnamedText_55af3
+	db $50
+; 0x55af3 + 5 bytes
+
+Route14Text6: ; 0x55af8
+	db $08 ; asm
+	ld hl, TrainerHeader_55a3e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55b02: ; 0x55b02
+	TX_FAR _UnnamedText_55b02
+	db $50
+; 0x55b02 + 5 bytes
+
+UnnamedText_55b07: ; 0x55b07
+	TX_FAR _UnnamedText_55b07
+	db $50
+; 0x55b07 + 5 bytes
+
+UnnamedText_55b0c: ; 0x55b0c
+	TX_FAR _UnnamedText_55b0c
+	db $50
+; 0x55b0c + 5 bytes
+
+Route14Text7: ; 0x55b11
+	db $08 ; asm
+	ld hl, TrainerHeader_55a4a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55b1b: ; 0x55b1b
+	TX_FAR _UnnamedText_55b1b
+	db $50
+; 0x55b1b + 5 bytes
+
+UnnamedText_55b20: ; 0x55b20
+	TX_FAR _UnnamedText_55b20
+	db $50
+; 0x55b20 + 5 bytes
+
+UnnamedText_55b25: ; 0x55b25
+	TX_FAR _UnnamedText_55b25
+	db $50
+; 0x55b25 + 5 bytes
+
+Route14Text8: ; 0x55b2a
+	db $08 ; asm
+	ld hl, TrainerHeader_55a56
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55b34: ; 0x55b34
+	TX_FAR _UnnamedText_55b34
+	db $50
+; 0x55b34 + 5 bytes
+
+UnnamedText_55b39: ; 0x55b39
+	TX_FAR _UnnamedText_55b39
+	db $50
+; 0x55b39 + 5 bytes
+
+UnnamedText_55b3e: ; 0x55b3e
+	TX_FAR _UnnamedText_55b3e
+	db $50
+; 0x55b3e + 5 bytes
+
+Route14Text9: ; 0x55b43
+	db $08 ; asm
+	ld hl, TrainerHeader_55a62
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55b4d: ; 0x55b4d
+	TX_FAR _UnnamedText_55b4d
+	db $50
+; 0x55b4d + 5 bytes
+
+UnnamedText_55b52: ; 0x55b52
+	TX_FAR _UnnamedText_55b52
+	db $50
+; 0x55b52 + 5 bytes
+
+UnnamedText_55b57: ; 0x55b57
+	TX_FAR _UnnamedText_55b57
+	db $50
+; 0x55b57 + 5 bytes
+
+Route14Text10: ; 0x55b5c
+	db $08 ; asm
+	ld hl, TrainerHeader_55a6e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55b66: ; 0x55b66
+	TX_FAR _UnnamedText_55b66
+	db $50
+; 0x55b66 + 5 bytes
+
+UnnamedText_55b6b: ; 0x55b6b
+	TX_FAR _UnnamedText_55b6b
+	db $50
+; 0x55b6b + 5 bytes
+
+UnnamedText_55b70: ; 0x55b70
+	TX_FAR _UnnamedText_55b70
+	db $50
+; 0x55b70 + 5 bytes
+
+Route14Text11: ; 0x55b75
+	TX_FAR _Route14Text11
+	db $50
+
+Route17Script: ; 0x55b7a
+	call $3c3c
+	ld hl, Route17TrainerHeaders
+	ld de, Route17_Unknown55b8d
+	ld a, [$d61c]
+	call $3160
+	ld [$d61c], a
+	ret
+; 0x55b8d
+
+Route17_Unknown55b8d: ; 0x55b8d
+INCBIN "baserom.gbc",$55b8d,$6
+
+Route17Texts: ; 0x55b93
+	dw Route17Text1, Route17Text2, Route17Text3, Route17Text4, Route17Text5, Route17Text6, Route17Text7, Route17Text8, Route17Text9, Route17Text10, Route17Text11, Route17Text12, Route17Text13, Route17Text14, Route17Text15, Route17Text16
+
+Route17TrainerHeaders:
+Route17TrainerHeader1: ; 0x55bb3
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55c36 ; 0x5c36 TextBeforeBattle
+	dw UnnamedText_55c40 ; 0x5c40 TextAfterBattle
+	dw UnnamedText_55c3b ; 0x5c3b TextEndBattle
+	dw UnnamedText_55c3b ; 0x5c3b TextEndBattle
+; 0x55bbf
+
+TrainerHeader_55bbf: ; 0x55bbf
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55c4f ; 0x5c4f TextBeforeBattle
+	dw UnnamedText_55c59 ; 0x5c59 TextAfterBattle
+	dw UnnamedText_55c54 ; 0x5c54 TextEndBattle
+	dw UnnamedText_55c54 ; 0x5c54 TextEndBattle
+; 0x55bcb
+
+TrainerHeader_55bcb: ; 0x55bcb
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55c68 ; 0x5c68 TextBeforeBattle
+	dw UnnamedText_55c72 ; 0x5c72 TextAfterBattle
+	dw UnnamedText_55c6d ; 0x5c6d TextEndBattle
+	dw UnnamedText_55c6d ; 0x5c6d TextEndBattle
+; 0x55bd7
+
+TrainerHeader_55bd7: ; 0x55bd7
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55c81 ; 0x5c81 TextBeforeBattle
+	dw UnnamedText_55c8b ; 0x5c8b TextAfterBattle
+	dw UnnamedText_55c86 ; 0x5c86 TextEndBattle
+	dw UnnamedText_55c86 ; 0x5c86 TextEndBattle
+; 0x55be3
+
+TrainerHeader_55be3: ; 0x55be3
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55c9a ; 0x5c9a TextBeforeBattle
+	dw UnnamedText_55ca4 ; 0x5ca4 TextAfterBattle
+	dw UnnamedText_55c9f ; 0x5c9f TextEndBattle
+	dw UnnamedText_55c9f ; 0x5c9f TextEndBattle
+; 0x55bef
+
+TrainerHeader_55bef: ; 0x55bef
+	db $6 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55cb3 ; 0x5cb3 TextBeforeBattle
+	dw UnnamedText_55cbd ; 0x5cbd TextAfterBattle
+	dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle
+	dw UnnamedText_55cb8 ; 0x5cb8 TextEndBattle
+; 0x55bfb
+
+TrainerHeader_55bfb: ; 0x55bfb
+	db $7 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55ccc ; 0x5ccc TextBeforeBattle
+	dw UnnamedText_55cd6 ; 0x5cd6 TextAfterBattle
+	dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle
+	dw UnnamedText_55cd1 ; 0x5cd1 TextEndBattle
+; 0x55c07
+
+TrainerHeader_55c07: ; 0x55c07
+	db $8 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55ce5 ; 0x5ce5 TextBeforeBattle
+	dw UnnamedText_55cef ; 0x5cef TextAfterBattle
+	dw UnnamedText_55cea ; 0x5cea TextEndBattle
+	dw UnnamedText_55cea ; 0x5cea TextEndBattle
+; 0x55c13
+
+TrainerHeader_55c13: ; 0x55c13
+	db $9 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55cfe ; 0x5cfe TextBeforeBattle
+	dw UnnamedText_55d08 ; 0x5d08 TextAfterBattle
+	dw UnnamedText_55d03 ; 0x5d03 TextEndBattle
+	dw UnnamedText_55d03 ; 0x5d03 TextEndBattle
+; 0x55c1f
+
+TrainerHeader_55c1f: ; 0x55c1f
+	db $a ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e1 ; flag's byte
+	dw UnnamedText_55d17 ; 0x5d17 TextBeforeBattle
+	dw UnnamedText_55d21 ; 0x5d21 TextAfterBattle
+	dw UnnamedText_55d1c ; 0x5d1c TextEndBattle
+	dw UnnamedText_55d1c ; 0x5d1c TextEndBattle
+; 0x55c2b
+
+db $ff
+
+Route17Text1: ; 0x55c2c
+	db $08 ; asm
+	ld hl, Route17TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55c36: ; 0x55c36
+	TX_FAR _UnnamedText_55c36
+	db $50
+; 0x55c36 + 5 bytes
+
+UnnamedText_55c3b: ; 0x55c3b
+	TX_FAR _UnnamedText_55c3b
+	db $50
+; 0x55c3b + 5 bytes
+
+UnnamedText_55c40: ; 0x55c40
+	TX_FAR _UnnamedText_55c40
+	db $50
+; 0x55c40 + 5 bytes
+
+Route17Text2: ; 0x55c45
+	db $08 ; asm
+	ld hl, TrainerHeader_55bbf
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55c4f: ; 0x55c4f
+	TX_FAR _UnnamedText_55c4f
+	db $50
+; 0x55c4f + 5 bytes
+
+UnnamedText_55c54: ; 0x55c54
+	TX_FAR _UnnamedText_55c54
+	db $50
+; 0x55c54 + 5 bytes
+
+UnnamedText_55c59: ; 0x55c59
+	TX_FAR _UnnamedText_55c59
+	db $50
+; 0x55c59 + 5 bytes
+
+Route17Text3: ; 0x55c5e
+	db $08 ; asm
+	ld hl, TrainerHeader_55bcb
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55c68: ; 0x55c68
+	TX_FAR _UnnamedText_55c68
+	db $50
+; 0x55c68 + 5 bytes
+
+UnnamedText_55c6d: ; 0x55c6d
+	TX_FAR _UnnamedText_55c6d
+	db $50
+; 0x55c6d + 5 bytes
+
+UnnamedText_55c72: ; 0x55c72
+	TX_FAR _UnnamedText_55c72
+	db $50
+; 0x55c72 + 5 bytes
+
+Route17Text4: ; 0x55c77
+	db $08 ; asm
+	ld hl, TrainerHeader_55bd7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55c81: ; 0x55c81
+	TX_FAR _UnnamedText_55c81
+	db $50
+; 0x55c81 + 5 bytes
+
+UnnamedText_55c86: ; 0x55c86
+	TX_FAR _UnnamedText_55c86
+	db $50
+; 0x55c86 + 5 bytes
+
+UnnamedText_55c8b: ; 0x55c8b
+	TX_FAR _UnnamedText_55c8b
+	db $50
+; 0x55c8b + 5 bytes
+
+Route17Text5: ; 0x55c90
+	db $08 ; asm
+	ld hl, TrainerHeader_55be3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55c9a: ; 0x55c9a
+	TX_FAR _UnnamedText_55c9a
+	db $50
+; 0x55c9a + 5 bytes
+
+UnnamedText_55c9f: ; 0x55c9f
+	TX_FAR _UnnamedText_55c9f
+	db $50
+; 0x55c9f + 5 bytes
+
+UnnamedText_55ca4: ; 0x55ca4
+	TX_FAR _UnnamedText_55ca4
+	db $50
+; 0x55ca4 + 5 bytes
+
+Route17Text6: ; 0x55ca9
+	db $08 ; asm
+	ld hl, TrainerHeader_55bef
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55cb3: ; 0x55cb3
+	TX_FAR _UnnamedText_55cb3
+	db $50
+; 0x55cb3 + 5 bytes
+
+UnnamedText_55cb8: ; 0x55cb8
+	TX_FAR _UnnamedText_55cb8
+	db $50
+; 0x55cb8 + 5 bytes
+
+UnnamedText_55cbd: ; 0x55cbd
+	TX_FAR _UnnamedText_55cbd
+	db $50
+; 0x55cbd + 5 bytes
+
+Route17Text7: ; 0x55cc2
+	db $08 ; asm
+	ld hl, TrainerHeader_55bfb
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55ccc: ; 0x55ccc
+	TX_FAR _UnnamedText_55ccc
+	db $50
+; 0x55ccc + 5 bytes
+
+UnnamedText_55cd1: ; 0x55cd1
+	TX_FAR _UnnamedText_55cd1
+	db $50
+; 0x55cd1 + 5 bytes
+
+UnnamedText_55cd6: ; 0x55cd6
+	TX_FAR _UnnamedText_55cd6
+	db $50
+; 0x55cd6 + 5 bytes
+
+Route17Text8: ; 0x55cdb
+	db $08 ; asm
+	ld hl, TrainerHeader_55c07
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55ce5: ; 0x55ce5
+	TX_FAR _UnnamedText_55ce5
+	db $50
+; 0x55ce5 + 5 bytes
+
+UnnamedText_55cea: ; 0x55cea
+	TX_FAR _UnnamedText_55cea
+	db $50
+; 0x55cea + 5 bytes
+
+UnnamedText_55cef: ; 0x55cef
+	TX_FAR _UnnamedText_55cef
+	db $50
+; 0x55cef + 5 bytes
+
+Route17Text9: ; 0x55cf4
+	db $08 ; asm
+	ld hl, TrainerHeader_55c13
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55cfe: ; 0x55cfe
+	TX_FAR _UnnamedText_55cfe
+	db $50
+; 0x55cfe + 5 bytes
+
+UnnamedText_55d03: ; 0x55d03
+	TX_FAR _UnnamedText_55d03
+	db $50
+; 0x55d03 + 5 bytes
+
+UnnamedText_55d08: ; 0x55d08
+	TX_FAR _UnnamedText_55d08
+	db $50
+; 0x55d08 + 5 bytes
+
+Route17Text10: ; 0x55d0d
+	db $08 ; asm
+	ld hl, TrainerHeader_55c1f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55d17: ; 0x55d17
+	TX_FAR _UnnamedText_55d17
+	db $50
+; 0x55d17 + 5 bytes
+
+UnnamedText_55d1c: ; 0x55d1c
+	TX_FAR _UnnamedText_55d1c
+	db $50
+; 0x55d1c + 5 bytes
+
+UnnamedText_55d21: ; 0x55d21
+	TX_FAR _UnnamedText_55d21
+	db $50
+; 0x55d21 + 5 bytes
+
+Route17Text11: ; 0x55d26
+	TX_FAR _Route17Text11
+	db $50
+
+Route17Text12: ; 0x55d2b
+	TX_FAR _Route17Text12
+	db $50
+
+Route17Text13: ; 0x55d30
+	TX_FAR _Route17Text13
+	db $50
+
+Route17Text14: ; 0x55d35
+	TX_FAR _Route17Text14
+	db $50
+
+Route17Text15: ; 0x55d3a
+	TX_FAR _Route17Text15
+	db $50
+
+Route17Text16: ; 0x55d3f
+	TX_FAR _Route17Text16
+	db $50
+
+Route19Script: ; 0x55d44
+	call $3c3c
+	ld hl, Route19TrainerHeaders
+	ld de, Route19_Unknown55d57
+	ld a, [$d61d]
+	call $3160
+	ld [$d61d], a
+	ret
+; 0x55d57
+
+Route19_Unknown55d57: ; 0x55d57
+INCBIN "baserom.gbc",$55d57,$6
+
+Route19Texts: ; 0x55d5d
+	dw Route19Text1, Route19Text2, Route19Text3, Route19Text4, Route19Text5, Route19Text6, Route19Text7, Route19Text8, Route19Text9, Route19Text10, Route19Text11
+
+Route19TrainerHeaders:
+Route19TrainerHeader1: ; 0x55d73
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55e50 ; 0x5e50 TextBeforeBattle
+	dw UnnamedText_55e5a ; 0x5e5a TextAfterBattle
+	dw UnnamedText_55e55 ; 0x5e55 TextEndBattle
+	dw UnnamedText_55e55 ; 0x5e55 TextEndBattle
+; 0x55d7f
+
+TrainerHeader_55d7f: ; 0x55d7f
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55e5f ; 0x5e5f TextBeforeBattle
+	dw UnnamedText_55e69 ; 0x5e69 TextAfterBattle
+	dw UnnamedText_55e64 ; 0x5e64 TextEndBattle
+	dw UnnamedText_55e64 ; 0x5e64 TextEndBattle
+; 0x55d8b
+
+TrainerHeader_55d8b: ; 0x55d8b
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55e6e ; 0x5e6e TextBeforeBattle
+	dw UnnamedText_55e78 ; 0x5e78 TextAfterBattle
+	dw UnnamedText_55e73 ; 0x5e73 TextEndBattle
+	dw UnnamedText_55e73 ; 0x5e73 TextEndBattle
+; 0x55d97
+
+TrainerHeader_55d97: ; 0x55d97
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55e7d ; 0x5e7d TextBeforeBattle
+	dw UnnamedText_55e87 ; 0x5e87 TextAfterBattle
+	dw UnnamedText_55e82 ; 0x5e82 TextEndBattle
+	dw UnnamedText_55e82 ; 0x5e82 TextEndBattle
+; 0x55da3
+
+TrainerHeader_55da3: ; 0x55da3
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55e8c ; 0x5e8c TextBeforeBattle
+	dw UnnamedText_55e96 ; 0x5e96 TextAfterBattle
+	dw UnnamedText_55e91 ; 0x5e91 TextEndBattle
+	dw UnnamedText_55e91 ; 0x5e91 TextEndBattle
+; 0x55daf
+
+TrainerHeader_55daf: ; 0x55daf
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55e9b ; 0x5e9b TextBeforeBattle
+	dw UnnamedText_55ea5 ; 0x5ea5 TextAfterBattle
+	dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle
+	dw UnnamedText_55ea0 ; 0x5ea0 TextEndBattle
+; 0x55dbb
+
+TrainerHeader_55dbb: ; 0x55dbb
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55eaa ; 0x5eaa TextBeforeBattle
+	dw UnnamedText_55eb4 ; 0x5eb4 TextAfterBattle
+	dw UnnamedText_55eaf ; 0x5eaf TextEndBattle
+	dw UnnamedText_55eaf ; 0x5eaf TextEndBattle
+; 0x55dc7
+
+TrainerHeader_55dc7: ; 0x55dc7
+	db $8 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55eb9 ; 0x5eb9 TextBeforeBattle
+	dw UnnamedText_55ec3 ; 0x5ec3 TextAfterBattle
+	dw UnnamedText_55ebe ; 0x5ebe TextEndBattle
+	dw UnnamedText_55ebe ; 0x5ebe TextEndBattle
+; 0x55dd3
+
+TrainerHeader_55dd3: ; 0x55dd3
+	db $9 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55ec8 ; 0x5ec8 TextBeforeBattle
+	dw UnnamedText_55ed2 ; 0x5ed2 TextAfterBattle
+	dw UnnamedText_55ecd ; 0x5ecd TextEndBattle
+	dw UnnamedText_55ecd ; 0x5ecd TextEndBattle
+; 0x55ddf
+
+TrainerHeader_55ddf: ; 0x55ddf
+	db $a ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e5 ; flag's byte
+	dw UnnamedText_55ed7 ; 0x5ed7 TextBeforeBattle
+	dw UnnamedText_55ee1 ; 0x5ee1 TextAfterBattle
+	dw UnnamedText_55edc ; 0x5edc TextEndBattle
+	dw UnnamedText_55edc ; 0x5edc TextEndBattle
+; 0x55deb
+
+db $ff
+
+Route19Text1: ; 0x55dec
+	db $08 ; asm
+	ld hl, Route19TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text2: ; 0x55df6
+	db $08 ; asm
+	ld hl, TrainerHeader_55d7f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text3: ; 0x55e00
+	db $08 ; asm
+	ld hl, TrainerHeader_55d8b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text4: ; 0x55e0a
+	db $08 ; asm
+	ld hl, TrainerHeader_55d97
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text5: ; 0x55e14
+	db $08 ; asm
+	ld hl, TrainerHeader_55da3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text6: ; 0x55e1e
+	db $08 ; asm
+	ld hl, TrainerHeader_55daf
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text7: ; 0x55e28
+	db $08 ; asm
+	ld hl, TrainerHeader_55dbb
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text8: ; 0x55e32
+	db $08 ; asm
+	ld hl, TrainerHeader_55dc7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text9: ; 0x55e3c
+	db $08 ; asm
+	ld hl, TrainerHeader_55dd3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route19Text10: ; 0x55e46
+	db $08 ; asm
+	ld hl, TrainerHeader_55ddf
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55e50: ; 0x55e50
+	TX_FAR _UnnamedText_55e50
+	db $50
+; 0x55e50 + 5 bytes
+
+UnnamedText_55e55: ; 0x55e55
+	TX_FAR _UnnamedText_55e55
+	db $50
+; 0x55e55 + 5 bytes
+
+UnnamedText_55e5a: ; 0x55e5a
+	TX_FAR _UnnamedText_55e5a
+	db $50
+; 0x55e5a + 5 bytes
+
+UnnamedText_55e5f: ; 0x55e5f
+	TX_FAR _UnnamedText_55e5f
+	db $50
+; 0x55e5f + 5 bytes
+
+UnnamedText_55e64: ; 0x55e64
+	TX_FAR _UnnamedText_55e64
+	db $50
+; 0x55e64 + 5 bytes
+
+UnnamedText_55e69: ; 0x55e69
+	TX_FAR _UnnamedText_55e69
+	db $50
+; 0x55e69 + 5 bytes
+
+UnnamedText_55e6e: ; 0x55e6e
+	TX_FAR _UnnamedText_55e6e
+	db $50
+; 0x55e6e + 5 bytes
+
+UnnamedText_55e73: ; 0x55e73
+	TX_FAR _UnnamedText_55e73
+	db $50
+; 0x55e73 + 5 bytes
+
+UnnamedText_55e78: ; 0x55e78
+	TX_FAR _UnnamedText_55e78
+	db $50
+; 0x55e78 + 5 bytes
+
+UnnamedText_55e7d: ; 0x55e7d
+	TX_FAR _UnnamedText_55e7d
+	db $50
+; 0x55e7d + 5 bytes
+
+UnnamedText_55e82: ; 0x55e82
+	TX_FAR _UnnamedText_55e82
+	db $50
+; 0x55e82 + 5 bytes
+
+UnnamedText_55e87: ; 0x55e87
+	TX_FAR _UnnamedText_55e87
+	db $50
+; 0x55e87 + 5 bytes
+
+UnnamedText_55e8c: ; 0x55e8c
+	TX_FAR _UnnamedText_55e8c
+	db $50
+; 0x55e8c + 5 bytes
+
+UnnamedText_55e91: ; 0x55e91
+	TX_FAR _UnnamedText_55e91
+	db $50
+; 0x55e91 + 5 bytes
+
+UnnamedText_55e96: ; 0x55e96
+	TX_FAR _UnnamedText_55e96
+	db $50
+; 0x55e96 + 5 bytes
+
+UnnamedText_55e9b: ; 0x55e9b
+	TX_FAR _UnnamedText_55e9b
+	db $50
+; 0x55e9b + 5 bytes
+
+UnnamedText_55ea0: ; 0x55ea0
+	TX_FAR _UnnamedText_55ea0
+	db $50
+; 0x55ea0 + 5 bytes
+
+UnnamedText_55ea5: ; 0x55ea5
+	TX_FAR _UnnamedText_55ea5
+	db $50
+; 0x55ea5 + 5 bytes
+
+UnnamedText_55eaa: ; 0x55eaa
+	TX_FAR _UnnamedText_55eaa
+	db $50
+; 0x55eaa + 5 bytes
+
+UnnamedText_55eaf: ; 0x55eaf
+	TX_FAR _UnnamedText_55eaf
+	db $50
+; 0x55eaf + 5 bytes
+
+UnnamedText_55eb4: ; 0x55eb4
+	TX_FAR _UnnamedText_55eb4
+	db $50
+; 0x55eb4 + 5 bytes
+
+UnnamedText_55eb9: ; 0x55eb9
+	TX_FAR _UnnamedText_55eb9
+	db $50
+; 0x55eb9 + 5 bytes
+
+UnnamedText_55ebe: ; 0x55ebe
+	TX_FAR _UnnamedText_55ebe
+	db $50
+; 0x55ebe + 5 bytes
+
+UnnamedText_55ec3: ; 0x55ec3
+	TX_FAR _UnnamedText_55ec3
+	db $50
+; 0x55ec3 + 5 bytes
+
+UnnamedText_55ec8: ; 0x55ec8
+	TX_FAR _UnnamedText_55ec8
+	db $50
+; 0x55ec8 + 5 bytes
+
+UnnamedText_55ecd: ; 0x55ecd
+	TX_FAR _UnnamedText_55ecd
+	db $50
+; 0x55ecd + 5 bytes
+
+UnnamedText_55ed2: ; 0x55ed2
+	TX_FAR _UnnamedText_55ed2
+	db $50
+; 0x55ed2 + 5 bytes
+
+UnnamedText_55ed7: ; 0x55ed7
+	TX_FAR _UnnamedText_55ed7
+	db $50
+; 0x55ed7 + 5 bytes
+
+UnnamedText_55edc: ; 0x55edc
+	TX_FAR _UnnamedText_55edc
+	db $50
+; 0x55edc + 5 bytes
+
+UnnamedText_55ee1: ; 0x55ee1
+	TX_FAR _UnnamedText_55ee1
+	db $50
+; 0x55ee1 + 5 bytes
+
+Route19Text11: ; 0x55ee6
+	TX_FAR _Route19Text11
+	db $50
+
+Route21Script: ; 0x55eeb
+	call $3c3c
+	ld hl, Route21TrainerHeaders
+	ld de, Route21_Unknown55efe
+	ld a, [$d61e]
+	call $3160
+	ld [$d61e], a
+	ret
+; 0x55efe
+
+Route21_Unknown55efe: ; 0x55efe
+INCBIN "baserom.gbc",$55efe,$6
+
+Route21Texts: ; 0x55f04
+	dw Route21Text1, Route21Text2, Route21Text3, Route21Text4, Route21Text5, Route21Text6, Route21Text7, Route21Text8, Route21Text9
+
+Route21TrainerHeaders:
+Route21TrainerHeader1: ; 0x55f16
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_55fdd ; 0x5fdd TextBeforeBattle
+	dw UnnamedText_55fe7 ; 0x5fe7 TextAfterBattle
+	dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle
+	dw UnnamedText_55fe2 ; 0x5fe2 TextEndBattle
+; 0x55f22
+
+TrainerHeader_55f22: ; 0x55f22
+	db $2 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_55fec ; 0x5fec TextBeforeBattle
+	dw UnnamedText_55ff6 ; 0x5ff6 TextAfterBattle
+	dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle
+	dw UnnamedText_55ff1 ; 0x5ff1 TextEndBattle
+; 0x55f2e
+
+TrainerHeader_55f2e: ; 0x55f2e
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_55ffb ; 0x5ffb TextBeforeBattle
+	dw UnnamedText_56005 ; 0x6005 TextAfterBattle
+	dw UnnamedText_56000 ; 0x6000 TextEndBattle
+	dw UnnamedText_56000 ; 0x6000 TextEndBattle
+; 0x55f3a
+
+TrainerHeader_55f3a: ; 0x55f3a
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_5600a ; 0x600a TextBeforeBattle
+	dw UnnamedText_56014 ; 0x6014 TextAfterBattle
+	dw UnnamedText_5600f ; 0x600f TextEndBattle
+	dw UnnamedText_5600f ; 0x600f TextEndBattle
+; 0x55f46
+
+TrainerHeader_55f46: ; 0x55f46
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_56019 ; 0x6019 TextBeforeBattle
+	dw UnnamedText_56023 ; 0x6023 TextAfterBattle
+	dw UnnamedText_5601e ; 0x601e TextEndBattle
+	dw UnnamedText_5601e ; 0x601e TextEndBattle
+; 0x55f52
+
+TrainerHeader_55f52: ; 0x55f52
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_56028 ; 0x6028 TextBeforeBattle
+	dw UnnamedText_56032 ; 0x6032 TextAfterBattle
+	dw UnnamedText_5602d ; 0x602d TextEndBattle
+	dw UnnamedText_5602d ; 0x602d TextEndBattle
+; 0x55f5e
+
+TrainerHeader_55f5e: ; 0x55f5e
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_56037 ; 0x6037 TextBeforeBattle
+	dw UnnamedText_56041 ; 0x6041 TextAfterBattle
+	dw UnnamedText_5603c ; 0x603c TextEndBattle
+	dw UnnamedText_5603c ; 0x603c TextEndBattle
+; 0x55f6a
+
+TrainerHeader_55f6a: ; 0x55f6a
+	db $8 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_56046 ; 0x6046 TextBeforeBattle
+	dw UnnamedText_56050 ; 0x6050 TextAfterBattle
+	dw UnnamedText_5604b ; 0x604b TextEndBattle
+	dw UnnamedText_5604b ; 0x604b TextEndBattle
+; 0x55f76
+
+TrainerHeader_55f76: ; 0x55f76
+	db $9 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7e9 ; flag's byte
+	dw UnnamedText_56055 ; 0x6055 TextBeforeBattle
+	dw UnnamedText_5605f ; 0x605f TextAfterBattle
+	dw UnnamedText_5605a ; 0x605a TextEndBattle
+	dw UnnamedText_5605a ; 0x605a TextEndBattle
+; 0x55f82
+
+db $ff
+
+Route21Text1: ; 0x55f83
+	db $08 ; asm
+	ld hl, Route21TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text2: ; 0x55f8d
+	db $08 ; asm
+	ld hl, TrainerHeader_55f22
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text3: ; 0x55f97
+	db $08 ; asm
+	ld hl, TrainerHeader_55f2e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text4: ; 0x55fa1
+	db $08 ; asm
+	ld hl, TrainerHeader_55f3a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text5: ; 0x55fab
+	db $08 ; asm
+	ld hl, TrainerHeader_55f46
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text6: ; 0x55fb5
+	db $08 ; asm
+	ld hl, TrainerHeader_55f52
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text7: ; 0x55fbf
+	db $08 ; asm
+	ld hl, TrainerHeader_55f5e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text8: ; 0x55fc9
+	db $08 ; asm
+	ld hl, TrainerHeader_55f6a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+Route21Text9: ; 0x55fd3
+	db $08 ; asm
+	ld hl, TrainerHeader_55f76
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_55fdd: ; 0x55fdd
+	TX_FAR _UnnamedText_55fdd
+	db $50
+; 0x55fdd + 5 bytes
+
+UnnamedText_55fe2: ; 0x55fe2
+	TX_FAR _UnnamedText_55fe2
+	db $50
+; 0x55fe2 + 5 bytes
+
+UnnamedText_55fe7: ; 0x55fe7
+	TX_FAR _UnnamedText_55fe7
+	db $50
+; 0x55fe7 + 5 bytes
+
+UnnamedText_55fec: ; 0x55fec
+	TX_FAR _UnnamedText_55fec
+	db $50
+; 0x55fec + 5 bytes
+
+UnnamedText_55ff1: ; 0x55ff1
+	TX_FAR _UnnamedText_55ff1
+	db $50
+; 0x55ff1 + 5 bytes
+
+UnnamedText_55ff6: ; 0x55ff6
+	TX_FAR _UnnamedText_55ff6
+	db $50
+; 0x55ff6 + 5 bytes
+
+UnnamedText_55ffb: ; 0x55ffb
+	TX_FAR _UnnamedText_55ffb
+	db $50
+; 0x55ffb + 5 bytes
+
+UnnamedText_56000: ; 0x56000
+	TX_FAR _UnnamedText_56000
+	db $50
+; 0x56000 + 5 bytes
+
+UnnamedText_56005: ; 0x56005
+	TX_FAR _UnnamedText_56005
+	db $50
+; 0x56005 + 5 bytes
+
+UnnamedText_5600a: ; 0x5600a
+	TX_FAR _UnnamedText_5600a
+	db $50
+; 0x5600a + 5 bytes
+
+UnnamedText_5600f: ; 0x5600f
+	TX_FAR _UnnamedText_5600f
+	db $50
+; 0x5600f + 5 bytes
+
+UnnamedText_56014: ; 0x56014
+	TX_FAR _UnnamedText_56014
+	db $50
+; 0x56014 + 5 bytes
+
+UnnamedText_56019: ; 0x56019
+	TX_FAR _UnnamedText_56019
+	db $50
+; 0x56019 + 5 bytes
+
+UnnamedText_5601e: ; 0x5601e
+	TX_FAR _UnnamedText_5601e
+	db $50
+; 0x5601e + 5 bytes
+
+UnnamedText_56023: ; 0x56023
+	TX_FAR _UnnamedText_56023
+	db $50
+; 0x56023 + 5 bytes
+
+UnnamedText_56028: ; 0x56028
+	TX_FAR _UnnamedText_56028
+	db $50
+; 0x56028 + 5 bytes
+
+UnnamedText_5602d: ; 0x5602d
+	TX_FAR _UnnamedText_5602d
+	db $50
+; 0x5602d + 5 bytes
+
+UnnamedText_56032: ; 0x56032
+	TX_FAR _UnnamedText_56032
+	db $50
+; 0x56032 + 5 bytes
+
+UnnamedText_56037: ; 0x56037
+	TX_FAR _UnnamedText_56037
+	db $50
+; 0x56037 + 5 bytes
+
+UnnamedText_5603c: ; 0x5603c
+	TX_FAR _UnnamedText_5603c
+	db $50
+; 0x5603c + 5 bytes
+
+UnnamedText_56041: ; 0x56041
+	TX_FAR _UnnamedText_56041
+	db $50
+; 0x56041 + 5 bytes
+
+UnnamedText_56046: ; 0x56046
+	TX_FAR _UnnamedText_56046
+	db $50
+; 0x56046 + 5 bytes
+
+UnnamedText_5604b: ; 0x5604b
+	TX_FAR _UnnamedText_5604b
+	db $50
+; 0x5604b + 5 bytes
+
+UnnamedText_56050: ; 0x56050
+	TX_FAR _UnnamedText_56050
+	db $50
+; 0x56050 + 5 bytes
+
+UnnamedText_56055: ; 0x56055
+	TX_FAR _UnnamedText_56055
+	db $50
+; 0x56055 + 5 bytes
+
+UnnamedText_5605a: ; 0x5605a
+	TX_FAR _UnnamedText_5605a
+	db $50
+; 0x5605a + 5 bytes
+
+UnnamedText_5605f: ; 0x5605f
+	TX_FAR _UnnamedText_5605f
+	db $50
+; 0x5605f + 5 bytes
+
+VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163)
+	db $08 ; tileset
+	db VERMILION_HOUSE_2_HEIGHT, VERMILION_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw VermilionHouse2Blocks, VermilionHouse2Texts, VermilionHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionHouse2Object ; objects
+
+VermilionHouse2Script: ; 0x56070
+	jp $3c3c
+; 0x56073
+
+VermilionHouse2Texts: ; 0x56073
+	dw VermilionHouse2Text1
+
+VermilionHouse2Text1: ; 0x56075
+	db $08 ; asm
+	ld a, [$d728]
+	bit 3, a
+	jr nz, asm_03ef5 ; 0x5607b
+	ld hl, UnnamedText_560b1
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, asm_eb1b7 ; 0x5608a
+	ld bc, (OLD_ROD << 8) | 1
+	call GiveItem
+	jr nc, asm_fd67b ; 0x56092
+	ld hl, $d728
+	set 3, [hl]
+	ld hl, UnnamedText_560b6
+	jr asm_5dd95 ; 0x5609c
+asm_fd67b ; 0x5609e
+	ld hl, UnnamedText_560ca
+	jr asm_5dd95 ; 0x560a1
+asm_eb1b7 ; 0x560a3
+	ld hl, UnnamedText_560c0
+	jr asm_5dd95 ; 0x560a6
+asm_03ef5 ; 0x560a8
+	ld hl, UnnamedText_560c5
+asm_5dd95 ; 0x560ab
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_560b1: ; 0x560b1
+	TX_FAR _UnnamedText_560b1
+	db $50
+; 0x560b1 + 5 bytes
+
+UnnamedText_560b6: ; 0x560b6
+	TX_FAR _UnnamedText_560b6 ; 0x9c554
+	db $0B
+	TX_FAR _UnnamedText_560bb ; 0x9c5a4
+	db $50
+; 0x560c0
+
+UnnamedText_560c0: ; 0x560c0
+	TX_FAR _UnnamedText_560c0
+	db $50
+; 0x560c0 + 5 bytes
+
+UnnamedText_560c5: ; 0x560c5
+	TX_FAR _UnnamedText_560c5
+	db $50
+; 0x560c5 + 5 bytes
+
+UnnamedText_560ca: ; 0x560ca
+	TX_FAR _UnnamedText_560ca
+	db $50
+; 0x560ca + 5 bytes
+
+VermilionHouse2Object: ; 0x560cf (size=26)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $8, $ff
+	db $7, $3, $8, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123)
+	db $12 ; tileset
+	db CELADON_MART_2_HEIGHT, CELADON_MART_2_WIDTH ; dimensions (y, x)
+	dw CeladonMart2Blocks, CeladonMart2Texts, CeladonMart2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMart2Object ; objects
+
+CeladonMart2Script: ; 0x560f5
+	jp $3c3c
+; 0x560f8
+
+CeladonMart2Texts: ; 0x560f8
+	dw CeladonMart2Text1, CeladonMart2Text2, CeladonMart2Text3, CeladonMart2Text4, CeladonMart2Text5
+
+CeladonMart2Text3: ; 0x56102
+	TX_FAR _CeladonMart2Text3
+	db $50
+
+CeladonMart2Text4: ; 0x56107
+	TX_FAR _CeladonMart2Text4
+	db $50
+
+CeladonMart2Text5: ; 0x5610c
+	TX_FAR _CeladonMart2Text5
+	db $50
+
+CeladonMart2Object: ; 0x56111 (size=55)
+	db $f ; border tile
+
+	db $3 ; warps
+	db $1, $c, $4, CELADON_MART_1
+	db $1, $10, $1, CELADON_MART_3
+	db $1, $1, $0, CELADON_MART_ELEVATOR
+
+	db $1 ; signs
+	db $1, $e, $5 ; CeladonMart2Text5
+
+	db $4 ; people
+	db SPRITE_MART_GUY, $3 + 4, $5 + 4, $ff, $d0, $1 ; person
+	db SPRITE_MART_GUY, $3 + 4, $6 + 4, $ff, $d0, $2 ; person
+	db SPRITE_FAT_BALD_GUY, $5 + 4, $13 + 4, $ff, $ff, $3 ; person
+	db SPRITE_GIRL, $4 + 4, $e + 4, $fe, $1, $4 ; person
+
+	; warp-to
+	EVENT_DISP $a, $1, $c ; CELADON_MART_1
+	EVENT_DISP $a, $1, $10 ; CELADON_MART_3
+	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
+
+CeladonMart2Blocks: ; 0x56148 40
+	INCBIN "maps/celadonmart2.blk"
+
+FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164)
+	db $0d ; tileset
+	db FUCHSIA_HOUSE_3_HEIGHT, FUCHSIA_HOUSE_3_WIDTH ; dimensions (y, x)
+	dw FuchsiaHouse3Blocks, FuchsiaHouse3Texts, FuchsiaHouse3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaHouse3Object ; objects
+
+FuchsiaHouse3Script: ; 0x5617c
+	jp $3c3c
+; 0x5617f
+
+FuchsiaHouse3Texts: ; 0x5617f
+	dw FuchsiaHouse3Text1
+
+FuchsiaHouse3Text1: ; 0x56181
+	db $08 ; asm
+	ld a, [$d728]
+	bit 4, a
+	jr nz, asm_6084e ; 0x56187
+	ld hl, UnnamedText_561bd
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, asm_3ace4 ; 0x56196
+	ld bc, (GOOD_ROD << 8) | 1
+	call GiveItem
+	jr nc, asm_628ee ; 0x5619e
+	ld hl, $d728
+	set 4, [hl]
+	ld hl, UnnamedText_561c2
+	jr asm_1b09c ; 0x561a8
+asm_628ee ; 0x561aa
+	ld hl, UnnamedText_5621c
+	jr asm_1b09c ; 0x561ad
+asm_3ace4 ; 0x561af
+	ld hl, UnnamedText_56212
+	jr asm_1b09c ; 0x561b2
+asm_6084e ; 0x561b4
+	ld hl, UnnamedText_56217
+asm_1b09c ; 0x561b7
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_561bd: ; 0x561bd
+	TX_FAR _UnnamedText_561bd
+	db $50
+; 0x561bd + 5 bytes
+
+UnnamedText_561c2: ; 0x561c2
+	TX_FAR _UnnamedText_561c2 ; 0xa06e8
+	db $0B, $50
+; 0x561c8
+
+INCBIN "baserom.gbc",$561c8,$56212 - $561c8
+
+UnnamedText_56212: ; 0x56212
+	TX_FAR _UnnamedText_56212
+	db $50
+; 0x56212 + 5 bytes
+
+UnnamedText_56217: ; 0x56217
+	TX_FAR _UnnamedText_56217
+	db $50
+; 0x56217 + 5 bytes
+
+UnnamedText_5621c: ; 0x5621c
+	TX_FAR _UnnamedText_5621c
+	db $50
+; 0x5621c + 5 bytes
+
+FuchsiaHouse3Object: ; 0x56221 (size=34)
+	db $c ; border tile
+
+	db $3 ; warps
+	db $0, $2, $8, $ff
+	db $7, $2, $7, $ff
+	db $7, $3, $7, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FISHER, $3 + 4, $5 + 4, $ff, $d3, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $0, $2
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72)
+	db $08 ; tileset
+	db DAYCAREM_HEIGHT, DAYCAREM_WIDTH ; dimensions (y, x)
+	dw DayCareMBlocks, DayCareMTexts, DayCareMScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw DayCareMObject ; objects
+
+DayCareMScript: ; 0x5624f
+	jp $3c3c
+; 0x56252
+
+DayCareMTexts: ; 0x56252
+	dw DayCareMText1
+
+DayCareMText1: ; 0x56254
+	db $8
+	call $36f4
+	ld a, [$da48]
+	and a
+	jp nz, Unnamed_562e1
+	ld hl, UnnamedText_5640f
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	ld hl, UnnamedText_5643b
+	jp nz, Unnamed_56409
+	ld a, [$d163]
+	dec a
+	ld hl, UnnamedText_56445
+	jp z, Unnamed_56409
+	ld hl, UnnamedText_56414
+	call PrintText
+	xor a
+	ld [$cfcb], a
+	ld [$d07d], a
+	ld [$cc35], a
+	call $13fc
+	push af
+	call $3dd4
+	call $3dbe
+	call $20ba
+	pop af
+	ld hl, UnnamedText_56437
+	jp c, Unnamed_56409
+	ld hl, TrainerHeader_5571b
+	ld b, $8
+	call Bankswitch
+	ld hl, UnnamedText_5644a
+	jp c, Unnamed_56409
+	xor a
+	ld [$cc2b], a
+	ld a, [$cf92]
+	ld hl, $d2b5
+	call $15ba
+	ld hl, UnnamedText_56419
+	call PrintText
+	ld a, $1
+	ld [$da48], a
+	ld a, $3
+	ld [$cf95], a
+	call $3a68
+	xor a
+	ld [$cf95], a
+	call $391f
+	ld a, [$cf91]
+	call $13d0
+	ld hl, UnnamedText_5641e
+	jp Unnamed_56409
+; 0x562e1
+
+Unnamed_562e1:
+INCBIN "baserom.gbc",$562e1,$56409 - $562e1
+
+Unnamed_56409: ; 0x56409
+	call PrintText
+	jp TextScriptEnd
+; 0x5640f
+
+UnnamedText_5640f: ; 0x5640f
+	TX_FAR _UnnamedText_5640f
+	db $50
+; 0x5640f + 5 bytes
+
+UnnamedText_56414: ; 0x56414
+	TX_FAR _UnnamedText_56414
+	db $50
+; 0x56414 + 5 bytes
+
+UnnamedText_56419: ; 0x56419
+	TX_FAR _UnnamedText_56419
+	db $50
+; 0x56419 + 5 bytes
+
+UnnamedText_5641e: ; 0x5641e
+	TX_FAR _UnnamedText_5641e
+	db $50
+; 0x5641e + 5 bytes
+
+UnnamedText_56423: ; 0x56423
+	TX_FAR _UnnamedText_56423
+	db $50
+; 0x56423 + 5 bytes
+
+UnnamedText_56428: ; 0x56428
+	TX_FAR _UnnamedText_56428
+	db $50
+; 0x56428 + 5 bytes
+
+UnnamedText_5642d: ; 0x5642d
+	TX_FAR _UnnamedText_5642d
+	db $50
+; 0x5642d + 5 bytes
+
+UnnamedText_56432: ; 0x56432
+	TX_FAR _UnnamedText_56432
+	db $50
+; 0x56432 + 5 bytes
+
+UnnamedText_56437: ; 0x56437
+	TX_FAR _UnnamedText_56437 ; 0x8c000
+UnnamedText_5643b: ; 0x5643b
+	TX_FAR _UnnamedText_5643b ; 0x8c013
+	db $50
+; 0x5643b + 5 bytes
+
+UnnamedText_56440: ; 0x56440
+	TX_FAR _UnnamedText_56440
+	db $50
+; 0x56440 + 5 bytes
+
+UnnamedText_56445: ; 0x56445
+	TX_FAR _UnnamedText_56445
+	db $50
+; 0x56445 + 5 bytes
+
+UnnamedText_5644a: ; 0x5644a
+	TX_FAR _UnnamedText_5644a
+	db $50
+; 0x5644a + 5 bytes
+
+UnnamedText_5644f: ; 0x5644f
+	TX_FAR _UnnamedText_5644f
+	db $50
+; 0x5644f + 5 bytes
+
+UnnamedText_56454: ; 0x56454
+	TX_FAR _UnnamedText_56454
+	db $50
+; 0x56454 + 5 bytes
+
+DayCareMObject: ; 0x56459 (size=26)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $4, $ff
+	db $7, $3, $4, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189)
+	db $08 ; tileset
+	db ROUTE_12_HOUSE_HEIGHT, ROUTE_12_HOUSE_WIDTH ; dimensions (y, x)
+	dw Route12HouseBlocks, Route12HouseTexts, Route12HouseScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route12HouseObject ; objects
+
+Route12HouseScript: ; 0x5647f
+	jp $3c3c
+; 0x56482
+
+Route12HouseTexts: ; 0x56482
+	dw Route12HouseText1
+
+Route12HouseText1: ; 0x56484
+	db $08 ; asm
+	ld a, [$d728]
+	bit 5, a
+	jr nz, asm_b4cad ; 0x5648a
+	ld hl, UnnamedText_564c0
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, asm_a2d76 ; 0x56499
+	ld bc, (SUPER_ROD << 8) | 1
+	call GiveItem
+	jr nc, asm_e3b89 ; 0x564a1
+	ld hl, $d728
+	set 5, [hl]
+	ld hl, UnnamedText_564c5
+	jr asm_df984 ; 0x564ab
+asm_e3b89 ; 0x564ad
+	ld hl, UnnamedText_564d9
+	jr asm_df984 ; 0x564b0
+asm_a2d76 ; 0x564b2
+	ld hl, UnnamedText_564cf
+	jr asm_df984 ; 0x564b5
+asm_b4cad ; 0x564b7
+	ld hl, UnnamedText_564d4
+asm_df984 ; 0x564ba
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_564c0: ; 0x564c0
+	TX_FAR _UnnamedText_564c0
+	db $50
+; 0x564c0 + 5 bytes
+
+UnnamedText_564c5: ; 0x564c5
+	TX_FAR _UnnamedText_564c5 ; 0x8ca00
+	db $0B
+	TX_FAR _UnnamedText_564ca ; 0x8ca4f
+	db $50
+; 0x564c5 + 10 bytes = 0x564cf
+
+UnnamedText_564cf: ; 0x564cf
+	TX_FAR _UnnamedText_564cf
+	db $50
+; 0x564cf + 5 bytes
+
+UnnamedText_564d4: ; 0x564d4
+	TX_FAR _UnnamedText_564d4
+	db $50
+; 0x564d4 + 5 bytes
+
+UnnamedText_564d9: ; 0x564d9
+	TX_FAR _UnnamedText_564d9
+	db $50
+; 0x564d9 + 5 bytes
+
+Route12HouseObject: ; 0x564de (size=26)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $3, $ff
+	db $7, $3, $3, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FISHER, $4 + 4, $2 + 4, $ff, $d3, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+SilphCo8_h: ; 0x564f8 to 0x56504 (12 bytes) (id=213)
+	db $16 ; tileset
+	db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x)
+	dw SilphCo8Blocks, SilphCo8Texts, SilphCo8Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo8Object ; objects
+
+SilphCo8Script: ; 0x56504
+	call SilphCo8_Unknown5651a
+	call $3c3c
+	ld hl, SilphCo8TrainerHeader1
+	ld de, $6577
+	ld a, [$d649]
+	call $3160
+	ld [$d649], a
+	ret
+; 0x5651a
+
+SilphCo8_Unknown5651a: ; 0x5651a
+INCBIN "baserom.gbc",$5651a,$63
+
+SilphCo8Texts: ; 0x5657d
+	dw SilphCo8Text1, SilphCo8Text2, SilphCo8Text3, SilphCo8Text4
+
+SilphCo8TrainerHeaders:
+SilphCo8TrainerHeader1: ; 0x56585
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d831 ; flag's byte
+	dw UnnamedText_565e6 ; 0x65e6 TextBeforeBattle
+	dw UnnamedText_565f0 ; 0x65f0 TextAfterBattle
+	dw UnnamedText_565eb ; 0x65eb TextEndBattle
+	dw UnnamedText_565eb ; 0x65eb TextEndBattle
+; 0x56591
+
+TrainerHeader_56591: ; 0x56591
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d831 ; flag's byte
+	dw UnnamedText_565f5 ; 0x65f5 TextBeforeBattle
+	dw UnnamedText_565ff ; 0x65ff TextAfterBattle
+	dw UnnamedText_565fa ; 0x65fa TextEndBattle
+	dw UnnamedText_565fa ; 0x65fa TextEndBattle
+; 0x5659d
+
+TrainerHeader_5659d: ; 0x5659d
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d831 ; flag's byte
+	dw UnnamedText_56604 ; 0x6604 TextBeforeBattle
+	dw UnnamedText_5660e ; 0x660e TextAfterBattle
+	dw UnnamedText_56609 ; 0x6609 TextEndBattle
+	dw UnnamedText_56609 ; 0x6609 TextEndBattle
+; 0x565a9
+
+db $ff
+
+SilphCo8Text1: ; 0x565aa
+	db $08 ; asm
+	ld a, [$d838]
+	bit 7, a
+	ld hl, UnnamedText_565c3
+	jr nz, asm_a468f ; 0x565b3
+	ld hl, UnnamedText_565be
+asm_a468f ; 0x565b8
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_565be: ; 0x565be
+	TX_FAR _UnnamedText_565be
+	db $50
+; 0x565be + 5 bytes
+
+UnnamedText_565c3: ; 0x565c3
+	TX_FAR _UnnamedText_565c3
+	db $50
+; 0x565c3 + 5 bytes
+
+SilphCo8Text2: ; 0x565c8
+	db $08 ; asm
+	ld hl, SilphCo8TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo8Text3: ; 0x565d2
+	db $08 ; asm
+	ld hl, TrainerHeader_56591
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo8Text4: ; 0x565dc
+	db $08 ; asm
+	ld hl, TrainerHeader_5659d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_565e6: ; 0x565e6
+	TX_FAR _UnnamedText_565e6
+	db $50
+; 0x565e6 + 5 bytes
+
+UnnamedText_565eb: ; 0x565eb
+	TX_FAR _UnnamedText_565eb
+	db $50
+; 0x565eb + 5 bytes
+
+UnnamedText_565f0: ; 0x565f0
+	TX_FAR _UnnamedText_565f0
+	db $50
+; 0x565f0 + 5 bytes
+
+UnnamedText_565f5: ; 0x565f5
+	TX_FAR _UnnamedText_565f5
+	db $50
+; 0x565f5 + 5 bytes
+
+UnnamedText_565fa: ; 0x565fa
+	TX_FAR _UnnamedText_565fa
+	db $50
+; 0x565fa + 5 bytes
+
+UnnamedText_565ff: ; 0x565ff
+	TX_FAR _UnnamedText_565ff
+	db $50
+; 0x565ff + 5 bytes
+
+UnnamedText_56604: ; 0x56604
+	TX_FAR _UnnamedText_56604
+	db $50
+; 0x56604 + 5 bytes
+
+UnnamedText_56609: ; 0x56609
+	TX_FAR _UnnamedText_56609
+	db $50
+; 0x56609 + 5 bytes
+
+UnnamedText_5660e: ; 0x5660e
+	TX_FAR _UnnamedText_5660e
+	db $50
+; 0x5660e + 5 bytes
+
+SilphCo8Object: ; 0x56613 (size=90)
+	db $2e ; border tile
+
+	db $7 ; warps
+	db $0, $10, $1, SILPH_CO_9F
+	db $0, $e, $0, SILPH_CO_7F
+	db $0, $12, $0, SILPH_CO_ELEVATOR
+	db $b, $3, $6, SILPH_CO_8F
+	db $f, $3, $4, SILPH_CO_2F
+	db $5, $b, $5, SILPH_CO_2F
+	db $9, $b, $3, SILPH_CO_8F
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_LAPRAS_GIVER, $2 + 4, $4 + 4, $ff, $ff, $1 ; person
+	db SPRITE_ROCKET, $2 + 4, $13 + 4, $ff, $d2, $42, ROCKET + $C8, $23 ; trainer
+	db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d0, $43, SCIENTIST + $C8, $9 ; trainer
+	db SPRITE_ROCKET, $f + 4, $c + 4, $ff, $d3, $44, ROCKET + $C8, $24 ; trainer
+
+	; warp-to
+	EVENT_DISP $d, $0, $10 ; SILPH_CO_9F
+	EVENT_DISP $d, $0, $e ; SILPH_CO_7F
+	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $d, $b, $3 ; SILPH_CO_8F
+	EVENT_DISP $d, $f, $3 ; SILPH_CO_2F
+	EVENT_DISP $d, $5, $b ; SILPH_CO_2F
+	EVENT_DISP $d, $9, $b ; SILPH_CO_8F
+
+SilphCo8Blocks: ; 0x5666d 117
+	INCBIN "maps/silphco8.blk"
+
+INCBIN "baserom.gbc",$566e2,$191e
+
+SECTION "bank16",DATA,BANK[$16]
+
+Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17)
+	db $00 ; tileset
+	db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x)
+	dw Route6Blocks, Route6Texts, Route6Script ; blocks, texts, scripts
+	db NORTH | SOUTH ; connections
+
+	; connections data
+
+	db SAFFRON_CITY
+	dw SaffronCityBlocks + (SAFFRON_CITY_HEIGHT - 3) * SAFFRON_CITY_WIDTH + 2 ; connection strip location
+	dw $C6EB + -3 ; current map position
+	db $10, SAFFRON_CITY_WIDTH ; bigness, width
+	db (SAFFRON_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x)
+	dw $C6E9 + SAFFRON_CITY_HEIGHT * (SAFFRON_CITY_WIDTH + 6) ; window
+
+	db VERMILION_CITY
+	dw VermilionCityBlocks + 2 ; connection strip location
+	dw $C6EB + (ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6) + -3 ; current map position
+	db $10, VERMILION_CITY_WIDTH ; bigness, width
+	db 0, (-5 * -2) ; alignments (y, x)
+	dw $C6EF + VERMILION_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route6Object ; objects
+
+Route6Object: ; 0x58022 (size=87)
+	db $f ; border tile
+
+	db $4 ; warps
+	db $1, $9, $2, ROUTE_6_GATE
+	db $1, $a, $2, ROUTE_6_GATE
+	db $7, $a, $0, ROUTE_6_GATE
+	db $d, $11, $0, PATH_ENTRANCE_ROUTE_6
+
+	db $1 ; signs
+	db $f, $13, $7 ; Route6Text7
+
+	db $6 ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $15 + 4, $a + 4, $ff, $d3, $41, JR__TRAINER_M + $C8, $4 ; trainer
+	db SPRITE_LASS, $15 + 4, $b + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $f + 4, $0 + 4, $ff, $d3, $43, BUG_CATCHER + $C8, $a ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $1f + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $5 ; trainer
+	db SPRITE_LASS, $1e + 4, $b + 4, $ff, $d2, $45, JR__TRAINER_F + $C8, $3 ; trainer
+	db SPRITE_BUG_CATCHER, $1a + 4, $13 + 4, $ff, $d2, $46, BUG_CATCHER + $C8, $b ; trainer
+
+	; warp-to
+	EVENT_DISP $a, $1, $9 ; ROUTE_6_GATE
+	EVENT_DISP $a, $1, $a ; ROUTE_6_GATE
+	EVENT_DISP $a, $7, $a ; ROUTE_6_GATE
+	EVENT_DISP $a, $d, $11 ; PATH_ENTRANCE_ROUTE_6
+
+Route6Blocks: ; 0x58079 180
+	INCBIN "maps/route6.blk"
+
+Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19)
+	db $00 ; tileset
+	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x)
+	dw Route8Blocks, Route8Texts, Route8Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db SAFFRON_CITY
+	dw SaffronCityBlocks - 3 + (SAFFRON_CITY_WIDTH * 2) ; connection strip location
+	dw $C6E8 + (ROUTE_8_WIDTH + 6) * (-3 + 3) ; current map position
+	db $f, SAFFRON_CITY_WIDTH ; bigness, width
+	db (-4 * -2), (SAFFRON_CITY_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * SAFFRON_CITY_WIDTH ; window
+
+	db LAVENDER_TOWN
+	dw LavenderTownBlocks + (LAVENDER_TOWN_WIDTH * 0) ; connection strip location
+	dw $C6E5 + (ROUTE_8_WIDTH + 6) * (0 + 4) ; current map position
+	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; bigness, width
+	db (0 * -2), 0 ; alignments (y, x)
+	dw $C6EF + LAVENDER_TOWN_WIDTH ; window
+
+	; end connections data
+
+	dw Route8Object ; objects
+
+Route8Object: ; 0x5814f (size=119)
+	db $2c ; border tile
+
+	db $5 ; warps
+	db $9, $1, $0, ROUTE_8_GATE
+	db $a, $1, $1, ROUTE_8_GATE
+	db $9, $8, $2, ROUTE_8_GATE
+	db $a, $8, $3, ROUTE_8_GATE
+	db $3, $d, $0, PATH_ENTRANCE_ROUTE_8
+
+	db $1 ; signs
+	db $3, $11, $a ; Route8Text10
+
+	db $9 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $8 + 4, $ff, $d3, $41, SUPER_NERD + $C8, $3 ; trainer
+	db SPRITE_GAMBLER, $9 + 4, $d + 4, $ff, $d1, $42, GAMBLER + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $6 + 4, $2a + 4, $ff, $d1, $43, SUPER_NERD + $C8, $4 ; trainer
+	db SPRITE_LASS, $3 + 4, $1a + 4, $ff, $d2, $44, LASS + $C8, $d ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $1a + 4, $ff, $d3, $45, SUPER_NERD + $C8, $5 ; trainer
+	db SPRITE_LASS, $5 + 4, $1a + 4, $ff, $d2, $46, LASS + $C8, $e ; trainer
+	db SPRITE_LASS, $6 + 4, $1a + 4, $ff, $d3, $47, LASS + $C8, $f ; trainer
+	db SPRITE_GAMBLER, $d + 4, $2e + 4, $ff, $d0, $48, GAMBLER + $C8, $7 ; trainer
+	db SPRITE_LASS, $c + 4, $33 + 4, $ff, $d2, $49, LASS + $C8, $10 ; trainer
+
+	; warp-to
+	EVENT_DISP $1e, $9, $1 ; ROUTE_8_GATE
+	EVENT_DISP $1e, $a, $1 ; ROUTE_8_GATE
+	EVENT_DISP $1e, $9, $8 ; ROUTE_8_GATE
+	EVENT_DISP $1e, $a, $8 ; ROUTE_8_GATE
+	EVENT_DISP $1e, $3, $d ; PATH_ENTRANCE_ROUTE_8
+
+Route8Blocks: ; 0x581c6 270
+	INCBIN "maps/route8.blk"
+
+Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21)
+	db $00 ; tileset
+	db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x)
+	dw Route10Blocks, Route10Texts, Route10Script ; blocks, texts, scripts
+	db SOUTH | WEST ; connections
+
+	; connections data
+
+	db LAVENDER_TOWN
+	dw LavenderTownBlocks ; connection strip location
+	dw $C6EB + (ROUTE_10_HEIGHT + 3) * (ROUTE_10_WIDTH + 6) + 0 ; current map position
+	db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + LAVENDER_TOWN_WIDTH ; window
+
+	db ROUTE_9
+	dw Route9Blocks - 3 + (ROUTE_9_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_10_WIDTH + 6) * (0 + 3) ; current map position
+	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width
+	db (0 * -2), (ROUTE_9_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_9_WIDTH ; window
+
+	; end connections data
+
+	dw Route10Object ; objects
+
+Route10Object: ; 0x582f6 (size=96)
+	db $2c ; border tile
+
+	db $4 ; warps
+	db $13, $b, $0, ROCK_TUNNEL_POKECENTER
+	db $11, $8, $0, ROCK_TUNNEL_1
+	db $35, $8, $2, ROCK_TUNNEL_1
+	db $27, $6, $0, POWER_PLANT
+
+	db $4 ; signs
+	db $13, $7, $7 ; Route10Text7
+	db $13, $c, $8 ; Route10Text8
+	db $37, $9, $9 ; Route10Text9
+	db $29, $5, $a ; Route10Text10
+
+	db $6 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $2c + 4, $a + 4, $ff, $d2, $41, POKEMANIAC + $C8, $1 ; trainer
+	db SPRITE_HIKER, $39 + 4, $3 + 4, $ff, $d1, $42, HIKER + $C8, $7 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $40 + 4, $e + 4, $ff, $d2, $43, POKEMANIAC + $C8, $2 ; trainer
+	db SPRITE_LASS, $19 + 4, $7 + 4, $ff, $d2, $44, JR__TRAINER_F + $C8, $7 ; trainer
+	db SPRITE_HIKER, $3d + 4, $3 + 4, $ff, $d0, $45, HIKER + $C8, $8 ; trainer
+	db SPRITE_LASS, $36 + 4, $7 + 4, $ff, $d0, $46, JR__TRAINER_F + $C8, $8 ; trainer
+
+	; warp-to
+	EVENT_DISP $a, $13, $b ; ROCK_TUNNEL_POKECENTER
+	EVENT_DISP $a, $11, $8 ; ROCK_TUNNEL_1
+	EVENT_DISP $a, $35, $8 ; ROCK_TUNNEL_1
+	EVENT_DISP $a, $27, $6 ; POWER_PLANT
+
+Route10Blocks: ; 0x58356 360
+	INCBIN "maps/route10.blk"
+
+Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22)
+	db $00 ; tileset
+	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x)
+	dw Route11Blocks, Route11Texts, Route11Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db VERMILION_CITY
+	dw VermilionCityBlocks - 3 + (VERMILION_CITY_WIDTH * 2) ; connection strip location
+	dw $C6E8 + (ROUTE_11_WIDTH + 6) * (-3 + 3) ; current map position
+	db $f, VERMILION_CITY_WIDTH ; bigness, width
+	db (-4 * -2), (VERMILION_CITY_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * VERMILION_CITY_WIDTH ; window
+
+	db ROUTE_12
+	dw Route12Blocks + (ROUTE_12_WIDTH * 24) ; connection strip location
+	dw $C6E5 + (ROUTE_11_WIDTH + 6) * (-3 + 4) ; current map position
+	db $f, ROUTE_12_WIDTH ; bigness, width
+	db (-27 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_12_WIDTH ; window
+
+	; end connections data
+
+	dw Route11Object ; objects
+
+Route11Object: ; 0x584e0 (size=127)
+	db $f ; border tile
+
+	db $5 ; warps
+	db $8, $31, $0, ROUTE_11_GATE_1F
+	db $9, $31, $1, ROUTE_11_GATE_1F
+	db $8, $3a, $2, ROUTE_11_GATE_1F
+	db $9, $3a, $3, ROUTE_11_GATE_1F
+	db $5, $4, $0, DIGLETTS_CAVE_ENTRANCE
+
+	db $1 ; signs
+	db $5, $1, $b ; Route11Text11
+
+	db $a ; people
+	db SPRITE_GAMBLER, $e + 4, $a + 4, $ff, $d0, $41, GAMBLER + $C8, $1 ; trainer
+	db SPRITE_GAMBLER, $9 + 4, $1a + 4, $ff, $d0, $42, GAMBLER + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $5 + 4, $d + 4, $ff, $d2, $43, YOUNGSTER + $C8, $9 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $b + 4, $24 + 4, $ff, $d0, $44, ENGINEER + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $4 + 4, $16 + 4, $ff, $d1, $45, YOUNGSTER + $C8, $a ; trainer
+	db SPRITE_GAMBLER, $7 + 4, $2d + 4, $ff, $d0, $46, GAMBLER + $C8, $3 ; trainer
+	db SPRITE_GAMBLER, $3 + 4, $21 + 4, $ff, $d1, $47, GAMBLER + $C8, $4 ; trainer
+	db SPRITE_BUG_CATCHER, $5 + 4, $2b + 4, $ff, $d3, $48, YOUNGSTER + $C8, $b ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $10 + 4, $2d + 4, $ff, $d2, $49, ENGINEER + $C8, $3 ; trainer
+	db SPRITE_BUG_CATCHER, $c + 4, $16 + 4, $ff, $d1, $4a, YOUNGSTER + $C8, $c ; trainer
+
+	; warp-to
+	EVENT_DISP $1e, $8, $31 ; ROUTE_11_GATE_1F
+	EVENT_DISP $1e, $9, $31 ; ROUTE_11_GATE_1F
+	EVENT_DISP $1e, $8, $3a ; ROUTE_11_GATE_1F
+	EVENT_DISP $1e, $9, $3a ; ROUTE_11_GATE_1F
+	EVENT_DISP $1e, $5, $4 ; DIGLETTS_CAVE_ENTRANCE
+
+Route11Blocks: ; 0x5855f 270
+	INCBIN "maps/route11.blk"
+
+Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23)
+	db $00 ; tileset
+	db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x)
+	dw Route12Blocks, Route12Texts, Route12Script ; blocks, texts, scripts
+	db NORTH | SOUTH | WEST ; connections
+
+	; connections data
+
+	db LAVENDER_TOWN
+	dw LavenderTownBlocks + (LAVENDER_TOWN_HEIGHT - 3) * LAVENDER_TOWN_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width
+	db (LAVENDER_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + LAVENDER_TOWN_HEIGHT * (LAVENDER_TOWN_WIDTH + 6) ; window
+
+	db ROUTE_13
+	dw Route13Blocks + 17 ; connection strip location
+	dw $C6EB + (ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6) + -3 ; current map position
+	db $d, ROUTE_13_WIDTH ; bigness, width
+	db 0, (-20 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_13_WIDTH ; window
+
+	db ROUTE_11
+	dw Route11Blocks - 3 + (ROUTE_11_WIDTH) ; connection strip location
+	dw $C6E8 + (ROUTE_12_WIDTH + 6) * (27 + 3) ; current map position
+	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width
+	db (27 * -2), (ROUTE_11_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * ROUTE_11_WIDTH ; window
+
+	; end connections data
+
+	dw Route12Object ; objects
+
+Route12Object: ; 0x5869a (size=118)
+	db $43 ; border tile
+
+	db $4 ; warps
+	db $f, $a, $0, ROUTE_12_GATE
+	db $f, $b, $1, ROUTE_12_GATE
+	db $15, $a, $2, ROUTE_12_GATE
+	db $4d, $b, $0, ROUTE_12_HOUSE
+
+	db $2 ; signs
+	db $d, $d, $b ; Route12Text11
+	db $3f, $b, $c ; Route12Text12
+
+	db $a ; people
+	db SPRITE_SNORLAX, $3e + 4, $a + 4, $ff, $d0, $1 ; person
+	db SPRITE_FISHER2, $1f + 4, $e + 4, $ff, $d2, $42, FISHER + $C8, $3 ; trainer
+	db SPRITE_FISHER2, $27 + 4, $5 + 4, $ff, $d1, $43, FISHER + $C8, $4 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $5c + 4, $b + 4, $ff, $d2, $44, JR__TRAINER_M + $C8, $9 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $4c + 4, $e + 4, $ff, $d1, $45, ROCKER + $C8, $2 ; trainer
+	db SPRITE_FISHER2, $28 + 4, $c + 4, $ff, $d2, $46, FISHER + $C8, $5 ; trainer
+	db SPRITE_FISHER2, $34 + 4, $9 + 4, $ff, $d3, $47, FISHER + $C8, $6 ; trainer
+	db SPRITE_FISHER2, $57 + 4, $6 + 4, $ff, $d0, $48, FISHER + $C8, $b ; trainer
+	db SPRITE_BALL, $23 + 4, $e + 4, $ff, $ff, $89, TM_16 ; item
+	db SPRITE_BALL, $59 + 4, $5 + 4, $ff, $ff, $8a, IRON ; item
+
+	; warp-to
+	EVENT_DISP $a, $f, $a ; ROUTE_12_GATE
+	EVENT_DISP $a, $f, $b ; ROUTE_12_GATE
+	EVENT_DISP $a, $15, $a ; ROUTE_12_GATE
+	EVENT_DISP $a, $4d, $b ; ROUTE_12_HOUSE
+
+Route12Blocks: ; 0x58710 540
+	INCBIN "maps/route12.blk"
+
+Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26)
+	db $00 ; tileset
+	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x)
+	dw Route15Blocks, Route15Texts, Route15Script ; blocks, texts, scripts
+	db WEST | EAST ; connections
+
+	; connections data
+
+	db FUCHSIA_CITY
+	dw FuchsiaCityBlocks - 3 + (FUCHSIA_CITY_WIDTH * 2) ; connection strip location
+	dw $C6E8 + (ROUTE_15_WIDTH + 6) * (-3 + 3) ; current map position
+	db $f, FUCHSIA_CITY_WIDTH ; bigness, width
+	db (-4 * -2), (FUCHSIA_CITY_WIDTH * 2) - 1 ; alignments (y, x)
+	dw $C6EE + 2 * FUCHSIA_CITY_WIDTH ; window
+
+	db ROUTE_14
+	dw Route14Blocks + (ROUTE_14_WIDTH * 15) ; connection strip location
+	dw $C6E5 + (ROUTE_15_WIDTH + 6) * (-3 + 4) ; current map position
+	db $c, ROUTE_14_WIDTH ; bigness, width
+	db (-18 * -2), 0 ; alignments (y, x)
+	dw $C6EF + ROUTE_14_WIDTH ; window
+
+	; end connections data
+
+	dw Route15Object ; objects
+
+Route15Object: ; 0x5894e (size=126)
+	db $43 ; border tile
+
+	db $4 ; warps
+	db $8, $7, $0, ROUTE_15_GATE
+	db $9, $7, $1, ROUTE_15_GATE
+	db $8, $e, $2, ROUTE_15_GATE
+	db $9, $e, $3, ROUTE_15_GATE
+
+	db $1 ; signs
+	db $9, $27, $c ; Route15Text12
+
+	db $b ; people
+	db SPRITE_LASS, $b + 4, $29 + 4, $ff, $d0, $41, JR__TRAINER_F + $C8, $14 ; trainer
+	db SPRITE_LASS, $a + 4, $35 + 4, $ff, $d2, $42, JR__TRAINER_F + $C8, $15 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $1f + 4, $ff, $d1, $43, BIRD_KEEPER + $C8, $6 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $23 + 4, $ff, $d1, $44, BIRD_KEEPER + $C8, $7 ; trainer
+	db SPRITE_FOULARD_WOMAN, $b + 4, $35 + 4, $ff, $d0, $45, BEAUTY + $C8, $9 ; trainer
+	db SPRITE_FOULARD_WOMAN, $a + 4, $29 + 4, $ff, $d3, $46, BEAUTY + $C8, $a ; trainer
+	db SPRITE_BIKER, $a + 4, $30 + 4, $ff, $d0, $47, BIKER + $C8, $3 ; trainer
+	db SPRITE_BIKER, $a + 4, $2e + 4, $ff, $d0, $48, BIKER + $C8, $4 ; trainer
+	db SPRITE_LASS, $5 + 4, $25 + 4, $ff, $d3, $49, JR__TRAINER_F + $C8, $16 ; trainer
+	db SPRITE_LASS, $d + 4, $12 + 4, $ff, $d1, $4a, JR__TRAINER_F + $C8, $17 ; trainer
+	db SPRITE_BALL, $5 + 4, $12 + 4, $ff, $ff, $8b, TM_20 ; item
+
+	; warp-to
+	EVENT_DISP $1e, $8, $7 ; ROUTE_15_GATE
+	EVENT_DISP $1e, $9, $7 ; ROUTE_15_GATE
+	EVENT_DISP $1e, $8, $e ; ROUTE_15_GATE
+	EVENT_DISP $1e, $9, $e ; ROUTE_15_GATE
+
+Route15Blocks: ; 0x589cc 270
+	INCBIN "maps/route15.blk"
+
+Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27)
+	db $00 ; tileset
+	db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x)
+	dw Route16Blocks, Route16Texts, Route16Script ; blocks, texts, scripts
+	db SOUTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_17
+	dw Route17Blocks ; connection strip location
+	dw $C6EB + (ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6) + 0 ; current map position
+	db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width
+	db 0, (0 * -2) ; alignments (y, x)
+	dw $C6EF + ROUTE_17_WIDTH ; window
+
+	db CELADON_CITY
+	dw CeladonCityBlocks + (CELADON_CITY_WIDTH) ; connection strip location
+	dw $C6E5 + (ROUTE_16_WIDTH + 6) * (-3 + 4) ; current map position
+	db $f, CELADON_CITY_WIDTH ; bigness, width
+	db (-4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + CELADON_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route16Object ; objects
+
+Route16Object: ; 0x58afc (size=136)
+	db $f ; border tile
+
+	db $9 ; warps
+	db $a, $11, $0, ROUTE_16_GATE_1F
+	db $b, $11, $1, ROUTE_16_GATE_1F
+	db $a, $18, $2, ROUTE_16_GATE_1F
+	db $b, $18, $3, ROUTE_16_GATE_1F
+	db $4, $11, $4, ROUTE_16_GATE_1F
+	db $5, $11, $5, ROUTE_16_GATE_1F
+	db $4, $18, $6, ROUTE_16_GATE_1F
+	db $5, $18, $7, ROUTE_16_GATE_1F
+	db $5, $7, $0, ROUTE_16_HOUSE
+
+	db $2 ; signs
+	db $b, $1b, $8 ; Route16Text8
+	db $11, $5, $9 ; Route16Text9
+
+	db $7 ; people
+	db SPRITE_BIKER, $c + 4, $11 + 4, $ff, $d2, $41, BIKER + $C8, $5 ; trainer
+	db SPRITE_BIKER, $d + 4, $e + 4, $ff, $d3, $42, CUE_BALL + $C8, $1 ; trainer
+	db SPRITE_BIKER, $c + 4, $b + 4, $ff, $d1, $43, CUE_BALL + $C8, $2 ; trainer
+	db SPRITE_BIKER, $b + 4, $9 + 4, $ff, $d2, $44, BIKER + $C8, $6 ; trainer
+	db SPRITE_BIKER, $a + 4, $6 + 4, $ff, $d3, $45, CUE_BALL + $C8, $3 ; trainer
+	db SPRITE_BIKER, $c + 4, $3 + 4, $ff, $d3, $46, BIKER + $C8, $7 ; trainer
+	db SPRITE_SNORLAX, $a + 4, $1a + 4, $ff, $d0, $7 ; person
+
+	; warp-to
+	EVENT_DISP $14, $a, $11 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $b, $11 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $a, $18 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $b, $18 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $4, $11 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $5, $11 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $4, $18 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $5, $18 ; ROUTE_16_GATE_1F
+	EVENT_DISP $14, $5, $7 ; ROUTE_16_HOUSE
+
+Route16Blocks: ; 0x58b84 180
+	INCBIN "maps/route16.blk"
+
+Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29)
+	db $00 ; tileset
+	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x)
+	dw Route18Blocks, Route18Texts, Route18Script ; blocks, texts, scripts
+	db NORTH | EAST ; connections
+
+	; connections data
+
+	db ROUTE_17
+	dw Route17Blocks + (ROUTE_17_HEIGHT - 3) * ROUTE_17_WIDTH ; connection strip location
+	dw $C6EB + 0 ; current map position
+	db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width
+	db (ROUTE_17_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x)
+	dw $C6E9 + ROUTE_17_HEIGHT * (ROUTE_17_WIDTH + 6) ; window
+
+	db FUCHSIA_CITY
+	dw FuchsiaCityBlocks + (FUCHSIA_CITY_WIDTH) ; connection strip location
+	dw $C6E5 + (ROUTE_18_WIDTH + 6) * (-3 + 4) ; current map position
+	db $f, FUCHSIA_CITY_WIDTH ; bigness, width
+	db (-4 * -2), 0 ; alignments (y, x)
+	dw $C6EF + FUCHSIA_CITY_WIDTH ; window
+
+	; end connections data
+
+	dw Route18Object ; objects
+
+Route18Object: ; 0x58c5a (size=66)
+	db $43 ; border tile
+
+	db $4 ; warps
+	db $8, $21, $0, ROUTE_18_GATE_1F
+	db $9, $21, $1, ROUTE_18_GATE_1F
+	db $8, $28, $2, ROUTE_18_GATE_1F
+	db $9, $28, $3, ROUTE_18_GATE_1F
+
+	db $2 ; signs
+	db $7, $2b, $4 ; Route18Text4
+	db $5, $21, $5 ; Route18Text5
+
+	db $3 ; people
+	db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $24 + 4, $ff, $d3, $41, BIRD_KEEPER + $C8, $8 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $f + 4, $28 + 4, $ff, $d2, $42, BIRD_KEEPER + $C8, $9 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $d + 4, $2a + 4, $ff, $d2, $43, BIRD_KEEPER + $C8, $a ; trainer
+
+	; warp-to
+	EVENT_DISP $19, $8, $21 ; ROUTE_18_GATE_1F
+	EVENT_DISP $19, $9, $21 ; ROUTE_18_GATE_1F
+	EVENT_DISP $19, $8, $28 ; ROUTE_18_GATE_1F
+	EVENT_DISP $19, $9, $28 ; ROUTE_18_GATE_1F
+
+Route18Blocks: ; 0x58c9c 225
+	INCBIN "maps/route18.blk"
+
+INCBIN "baserom.gbc",$58d7d,$58e3b - $58d7d
+
+UnnamedText_58e3b: ; 0x58e3b
+	TX_FAR _UnnamedText_58e3b
+	db $50
+; 0x58e3b + 5 bytes
+
+UnnamedText_58e40: ; 0x58e40
+	TX_FAR _UnnamedText_58e40
+	db $50
+; 0x58e40 + 5 bytes
+
+UnnamedText_58e45: ; 0x58e45
+	TX_FAR _UnnamedText_58e45
+	db $50
+; 0x58e45 + 5 bytes
+
+UnnamedText_58e4a: ; 0x58e4a
+	TX_FAR _UnnamedText_58e4a
+	db $50
+; 0x58e4a + 5 bytes
+
+UnnamedText_58e4f: ; 0x58e4f
+	TX_FAR _UnnamedText_58e4f
+	db $50
+; 0x58e4f + 5 bytes
+
+UnnamedText_58e54: ; 0x58e54
+	TX_FAR _UnnamedText_58e54
+	db $50
+; 0x58e54 + 5 bytes
+
+INCBIN "baserom.gbc",$58e59,$58ecc - $58e59
+
+UnnamedText_58ecc: ; 0x58ecc
+	TX_FAR _UnnamedText_58ecc
+	db $50
+; 0x58ecc + 5 bytes
+
+INCBIN "baserom.gbc",$58ed1,$58f3e - $58ed1
+
+UnnamedText_58f3e: ; 0x58f3e
+	TX_FAR _UnnamedText_58f3e
+	db $50
+; 0x58f3e + 5 bytes
+
+INCBIN "baserom.gbc",$58f43,$59091 - $58f43
+
+UnnamedText_59091: ; 0x59091
+	TX_FAR _UnnamedText_59091
+	db $50
+; 0x59091 + 5 bytes
+
+UnnamedText_59096: ; 0x59096
+	TX_FAR _UnnamedText_59096
+	db $50
+; 0x59096 + 5 bytes
+
+UnnamedText_5909b: ; 0x5909b
+	TX_FAR _UnnamedText_5909b
+	db $50
+; 0x5909b + 5 bytes
+
+UnnamedText_590a0: ; 0x590a0
+	TX_FAR _UnnamedText_590a0
+	db $50
+; 0x590a0 + 5 bytes
+
+INCBIN "baserom.gbc",$590a5,$590ab - $590a5
+
+UnnamedText_590ab: ; 0x590ab
+	TX_FAR _UnnamedText_590ab
+	db $50
+; 0x590ab + 5 bytes
+
+Route6Script: ; 0x590b0
+	call $3c3c
+	ld hl, Route6TrainerHeaders
+	ld de, Route6_Unknown590c3
+	ld a, [$d600]
+	call $3160
+	ld [$d600], a
+	ret
+; 0x590c3
+
+Route6_Unknown590c3: ; 0x590c3
+INCBIN "baserom.gbc",$590c3,$590c9 - $590c3
+
+Route6Texts:
+	dw Route6Text1, Route6Text2, Route6Text3, Route6Text4, Route6Text5, Route6Text6, Route6Text7
+
+Route6TrainerHeaders:
+Route6TrainerHeader1: ; 0x590d7
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7c9 ; flag's byte
+	dw UnnamedText_5912a ; 0x512a TextBeforeBattle
+	dw UnnamedText_59134 ; 0x5134 TextAfterBattle
+	dw UnnamedText_5912f ; 0x512f TextEndBattle
+	dw UnnamedText_5912f ; 0x512f TextEndBattle
+; 0x590e3
+
+TrainerHeader_590e3: ; 0x590e3
+	db $2 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d7c9 ; flag's byte
+	dw UnnamedText_59143 ; 0x5143 TextBeforeBattle
+	dw UnnamedText_59134 ; 0x5134 TextAfterBattle
+	dw UnnamedText_59148 ; 0x5148 TextEndBattle
+	dw UnnamedText_59148 ; 0x5148 TextEndBattle
+; 0x590ef
+
+TrainerHeader_590ef: ; 0x590ef
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7c9 ; flag's byte
+	dw UnnamedText_59157 ; 0x5157 TextBeforeBattle
+	dw UnnamedText_59161 ; 0x5161 TextAfterBattle
+	dw UnnamedText_5915c ; 0x515c TextEndBattle
+	dw UnnamedText_5915c ; 0x515c TextEndBattle
+; 0x590fb
+
+TrainerHeader_590fb: ; 0x590fb
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c9 ; flag's byte
+	dw UnnamedText_59170 ; 0x5170 TextBeforeBattle
+	dw UnnamedText_5917a ; 0x517a TextAfterBattle
+	dw UnnamedText_59175 ; 0x5175 TextEndBattle
+	dw UnnamedText_59175 ; 0x5175 TextEndBattle
+; 0x59107
+
+TrainerHeader_59107: ; 0x59107
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c9 ; flag's byte
+	dw UnnamedText_59189 ; 0x5189 TextBeforeBattle
+	dw UnnamedText_59193 ; 0x5193 TextAfterBattle
+	dw UnnamedText_5918e ; 0x518e TextEndBattle
+	dw UnnamedText_5918e ; 0x518e TextEndBattle
+; 0x59113
+
+TrainerHeader_59113: ; 0x59113
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7c9 ; flag's byte
+	dw UnnamedText_591a2 ; 0x51a2 TextBeforeBattle
+	dw UnnamedText_591ac ; 0x51ac TextAfterBattle
+	dw UnnamedText_591a7 ; 0x51a7 TextEndBattle
+	dw UnnamedText_591a7 ; 0x51a7 TextEndBattle
+; 0x5911e
+
+db $ff
+
+Route6Text1: ; 0x59120
+	db $8
+	ld hl, Route6TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+; 0x5912a
+
+UnnamedText_5912a: ; 0x5912a
+	TX_FAR _UnnamedText_5912a
+	db $50
+; 0x5912a + 5 bytes
+
+UnnamedText_5912f: ; 0x5912f
+	TX_FAR _UnnamedText_5912f
+	db $50
+; 0x5912f + 5 bytes
+
+UnnamedText_59134: ; 0x59134
+	TX_FAR _UnnamedText_59134
+	db $50
+; 0x59134 + 5 bytes
+
+Route6Text2: ; 0x59139
+	db $08 ; asm
+	ld hl, TrainerHeader_590e3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59143: ; 0x59143
+	TX_FAR _UnnamedText_59143
+	db $50
+; 0x59143 + 5 bytes
+
+UnnamedText_59148: ; 0x59148
+	TX_FAR _UnnamedText_59148
+	db $50
+; 0x59148 + 5 bytes
+
+Route6Text3: ; 0x5914d
+	db $08 ; asm
+	ld hl, TrainerHeader_590ef
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59157: ; 0x59157
+	TX_FAR _UnnamedText_59157
+	db $50
+; 0x59157 + 5 bytes
+
+UnnamedText_5915c: ; 0x5915c
+	TX_FAR _UnnamedText_5915c
+	db $50
+; 0x5915c + 5 bytes
+
+UnnamedText_59161: ; 0x59161
+	TX_FAR _UnnamedText_59161
+	db $50
+; 0x59161 + 5 bytes
+
+Route6Text4: ; 0x59166
+	db $08 ; asm
+	ld hl, TrainerHeader_590fb
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59170: ; 0x59170
+	TX_FAR _UnnamedText_59170
+	db $50
+; 0x59170 + 5 bytes
+
+UnnamedText_59175: ; 0x59175
+	TX_FAR _UnnamedText_59175
+	db $50
+; 0x59175 + 5 bytes
+
+UnnamedText_5917a: ; 0x5917a
+	TX_FAR _UnnamedText_5917a
+	db $50
+; 0x5917a + 5 bytes
+
+Route6Text5: ; 0x5917f
+	db $08 ; asm
+	ld hl, TrainerHeader_59107
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59189: ; 0x59189
+	TX_FAR _UnnamedText_59189
+	db $50
+; 0x59189 + 5 bytes
+
+UnnamedText_5918e: ; 0x5918e
+	TX_FAR _UnnamedText_5918e
+	db $50
+; 0x5918e + 5 bytes
+
+UnnamedText_59193: ; 0x59193
+	TX_FAR _UnnamedText_59193
+	db $50
+; 0x59193 + 5 bytes
+
+Route6Text6: ; 0x59198
+	db $08 ; asm
+	ld hl, TrainerHeader_59113
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_591a2: ; 0x591a2
+	TX_FAR _UnnamedText_591a2
+	db $50
+; 0x591a2 + 5 bytes
+
+UnnamedText_591a7: ; 0x591a7
+	TX_FAR _UnnamedText_591a7
+	db $50
+; 0x591a7 + 5 bytes
+
+UnnamedText_591ac: ; 0x591ac
+	TX_FAR _UnnamedText_591ac
+	db $50
+; 0x591ac + 5 bytes
+
+Route6Text7: ; 0x591b1
+	TX_FAR _Route6Text7
+	db $50
+
+Route8Script: ; 0x591b6
+	call $3c3c
+	ld hl, Route8TrainerHeaders
+	ld de, Route8_Unknown591c9
+	ld a, [$d601]
+	call $3160
+	ld [$d601], a
+	ret
+; 0x591c9
+
+Route8_Unknown591c9: ; 0x591c9
+INCBIN "baserom.gbc",$591c9,$591cf - $591c9
+
+Route8Texts: ; 0x591cf
+	dw Route8Text1, Route8Text2, Route8Text3, Route8Text4, Route8Text5, Route8Text6, Route8Text7, Route8Text8, Route8Text9, Route8Text10
+
+Route8TrainerHeaders: ; 0x591e3
+Route8TrainerHeader1: ; 0x591e3
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_5925a ; 0x525a TextBeforeBattle
+	dw UnnamedText_59264 ; 0x5264 TextAfterBattle
+	dw UnnamedText_5925f ; 0x525f TextEndBattle
+	dw UnnamedText_5925f ; 0x525f TextEndBattle
+; 0x591ef
+
+TrainerHeader_591ef: ; 0x591ef
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_59273 ; 0x5273 TextBeforeBattle
+	dw UnnamedText_5927d ; 0x527d TextAfterBattle
+	dw UnnamedText_59278 ; 0x5278 TextEndBattle
+	dw UnnamedText_59278 ; 0x5278 TextEndBattle
+; 0x591fb
+
+TrainerHeader_591fb: ; 0x591fb
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_5928c ; 0x528c TextBeforeBattle
+	dw UnnamedText_59296 ; 0x5296 TextAfterBattle
+	dw UnnamedText_59291 ; 0x5291 TextEndBattle
+	dw UnnamedText_59291 ; 0x5291 TextEndBattle
+; 0x59207
+
+TrainerHeader_59207: ; 0x59207
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_592a5 ; 0x52a5 TextBeforeBattle
+	dw UnnamedText_592af ; 0x52af TextAfterBattle
+	dw UnnamedText_592aa ; 0x52aa TextEndBattle
+	dw UnnamedText_592aa ; 0x52aa TextEndBattle
+; 0x59213
+
+TrainerHeader_59213: ; 0x59213
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_592be ; 0x52be TextBeforeBattle
+	dw UnnamedText_592c8 ; 0x52c8 TextAfterBattle
+	dw UnnamedText_592c3 ; 0x52c3 TextEndBattle
+	dw UnnamedText_592c3 ; 0x52c3 TextEndBattle
+; 0x5921f
+
+TrainerHeader_5921f: ; 0x5921f
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_592d7 ; 0x52d7 TextBeforeBattle
+	dw UnnamedText_592e1 ; 0x52e1 TextAfterBattle
+	dw UnnamedText_592dc ; 0x52dc TextEndBattle
+	dw UnnamedText_592dc ; 0x52dc TextEndBattle
+; 0x5922b
+
+TrainerHeader_5922b: ; 0x5922b
+	db $7 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_592f0 ; 0x52f0 TextBeforeBattle
+	dw UnnamedText_592fa ; 0x52fa TextAfterBattle
+	dw UnnamedText_592f5 ; 0x52f5 TextEndBattle
+	dw UnnamedText_592f5 ; 0x52f5 TextEndBattle
+; 0x59237
+
+TrainerHeader_59237: ; 0x59237
+	db $8 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_59309 ; 0x5309 TextBeforeBattle
+	dw UnnamedText_59313 ; 0x5313 TextAfterBattle
+	dw UnnamedText_5930e ; 0x530e TextEndBattle
+	dw UnnamedText_5930e ; 0x530e TextEndBattle
+; 0x59243
+
+TrainerHeader_59243: ; 0x59243
+	db $9 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7cd ; flag's byte
+	dw UnnamedText_59322 ; 0x5322 TextBeforeBattle
+	dw UnnamedText_5932c ; 0x532c TextAfterBattle
+	dw UnnamedText_59327 ; 0x5327 TextEndBattle
+	dw UnnamedText_59327 ; 0x5327 TextEndBattle
+; 0x5924e
+
+db $ff
+
+Route8Text1: ; 0x59250
+	db $8
+	ld hl, Route8TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+; 0x5925a
+
+UnnamedText_5925a: ; 0x5925a
+	TX_FAR _UnnamedText_5925a
+	db $50
+; 0x5925f
+
+UnnamedText_5925f: ; 0x5925f
+	TX_FAR _UnnamedText_5925f
+	db $50
+; 0x5925f + 5 bytes
+
+UnnamedText_59264: ; 0x59264
+	TX_FAR _UnnamedText_59264
+	db $50
+; 0x59264 + 5 bytes
+
+Route8Text2: ; 0x59269
+	db $08 ; asm
+	ld hl, TrainerHeader_591ef
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59273: ; 0x59273
+	TX_FAR _UnnamedText_59273
+	db $50
+; 0x59273 + 5 bytes
+
+UnnamedText_59278: ; 0x59278
+	TX_FAR _UnnamedText_59278
+	db $50
+; 0x59278 + 5 bytes
+
+UnnamedText_5927d: ; 0x5927d
+	TX_FAR _UnnamedText_5927d
+	db $50
+; 0x5927d + 5 bytes
+
+Route8Text3: ; 0x59282
+	db $08 ; asm
+	ld hl, TrainerHeader_591fb
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5928c: ; 0x5928c
+	TX_FAR _UnnamedText_5928c
+	db $50
+; 0x5928c + 5 bytes
+
+UnnamedText_59291: ; 0x59291
+	TX_FAR _UnnamedText_59291
+	db $50
+; 0x59291 + 5 bytes
+
+UnnamedText_59296: ; 0x59296
+	TX_FAR _UnnamedText_59296
+	db $50
+; 0x59296 + 5 bytes
+
+Route8Text4: ; 0x5929b
+	db $08 ; asm
+	ld hl, TrainerHeader_59207
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_592a5: ; 0x592a5
+	TX_FAR _UnnamedText_592a5
+	db $50
+; 0x592a5 + 5 bytes
+
+UnnamedText_592aa: ; 0x592aa
+	TX_FAR _UnnamedText_592aa
+	db $50
+; 0x592aa + 5 bytes
+
+UnnamedText_592af: ; 0x592af
+	TX_FAR _UnnamedText_592af
+	db $50
+; 0x592af + 5 bytes
+
+Route8Text5: ; 0x592b4
+	db $08 ; asm
+	ld hl, TrainerHeader_59213
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_592be: ; 0x592be
+	TX_FAR _UnnamedText_592be
+	db $50
+; 0x592be + 5 bytes
+
+UnnamedText_592c3: ; 0x592c3
+	TX_FAR _UnnamedText_592c3
+	db $50
+; 0x592c3 + 5 bytes
+
+UnnamedText_592c8: ; 0x592c8
+	TX_FAR _UnnamedText_592c8
+	db $50
+; 0x592c8 + 5 bytes
+
+Route8Text6: ; 0x592cd
+	db $08 ; asm
+	ld hl, TrainerHeader_5921f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_592d7: ; 0x592d7
+	TX_FAR _UnnamedText_592d7
+	db $50
+; 0x592d7 + 5 bytes
+
+UnnamedText_592dc: ; 0x592dc
+	TX_FAR _UnnamedText_592dc
+	db $50
+; 0x592dc + 5 bytes
+
+UnnamedText_592e1: ; 0x592e1
+	TX_FAR _UnnamedText_592e1
+	db $50
+; 0x592e1 + 5 bytes
+
+Route8Text7: ; 0x592e6
+	db $08 ; asm
+	ld hl, TrainerHeader_5922b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_592f0: ; 0x592f0
+	TX_FAR _UnnamedText_592f0
+	db $50
+; 0x592f0 + 5 bytes
+
+UnnamedText_592f5: ; 0x592f5
+	TX_FAR _UnnamedText_592f5
+	db $50
+; 0x592f5 + 5 bytes
+
+UnnamedText_592fa: ; 0x592fa
+	TX_FAR _UnnamedText_592fa
+	db $50
+; 0x592fa + 5 bytes
+
+Route8Text8: ; 0x592ff
+	db $08 ; asm
+	ld hl, TrainerHeader_59237
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59309: ; 0x59309
+	TX_FAR _UnnamedText_59309
+	db $50
+; 0x59309 + 5 bytes
+
+UnnamedText_5930e: ; 0x5930e
+	TX_FAR _UnnamedText_5930e
+	db $50
+; 0x5930e + 5 bytes
+
+UnnamedText_59313: ; 0x59313
+	TX_FAR _UnnamedText_59313
+	db $50
+; 0x59313 + 5 bytes
+
+Route8Text9: ; 0x59318
+	db $08 ; asm
+	ld hl, TrainerHeader_59243
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59322: ; 0x59322
+	TX_FAR _UnnamedText_59322
+	db $50
+; 0x59322 + 5 bytes
+
+UnnamedText_59327: ; 0x59327
+	TX_FAR _UnnamedText_59327
+	db $50
+; 0x59327 + 5 bytes
+
+UnnamedText_5932c: ; 0x5932c
+	TX_FAR _UnnamedText_5932c
+	db $50
+; 0x5932c + 5 bytes
+
+Route8Text10: ; 0x59331
+	TX_FAR _Route8Text10
+	db $50
+
+Route10Script: ; 0x59336
+	call $3c3c
+	ld hl, Route10TrainerHeaders
+	ld de, Route10_Unknown59349
+	ld a, [$d605]
+	call $3160
+	ld [$d605], a
+	ret
+; 0x59349
+
+Route10_Unknown59349: ; 0x59349
+INCBIN "baserom.gbc",$59349,$6
+
+Route10Texts: ; 0x5934f
+	dw Route10Text1, Route10Text2, Route10Text3, Route10Text4, Route10Text5, Route10Text6, Route10Text7, Route10Text8, Route10Text9, Route10Text10
+
+Route10TrainerHeaders:
+Route10TrainerHeader1: ; 0x59363
+	db $1 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d1 ; flag's byte
+	dw UnnamedText_593b6 ; 0x53b6 TextBeforeBattle
+	dw UnnamedText_593c0 ; 0x53c0 TextAfterBattle
+	dw UnnamedText_593bb ; 0x53bb TextEndBattle
+	dw UnnamedText_593bb ; 0x53bb TextEndBattle
+; 0x5936f
+
+TrainerHeader_5936f: ; 0x5936f
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d1 ; flag's byte
+	dw UnnamedText_593cf ; 0x53cf TextBeforeBattle
+	dw UnnamedText_593d9 ; 0x53d9 TextAfterBattle
+	dw UnnamedText_593d4 ; 0x53d4 TextEndBattle
+	dw UnnamedText_593d4 ; 0x53d4 TextEndBattle
+; 0x5937b
+
+TrainerHeader_5937b: ; 0x5937b
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d1 ; flag's byte
+	dw UnnamedText_593e8 ; 0x53e8 TextBeforeBattle
+	dw UnnamedText_593f2 ; 0x53f2 TextAfterBattle
+	dw UnnamedText_593ed ; 0x53ed TextEndBattle
+	dw UnnamedText_593ed ; 0x53ed TextEndBattle
+; 0x59387
+
+TrainerHeader_59387: ; 0x59387
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d1 ; flag's byte
+	dw UnnamedText_59401 ; 0x5401 TextBeforeBattle
+	dw UnnamedText_5940b ; 0x540b TextAfterBattle
+	dw UnnamedText_59406 ; 0x5406 TextEndBattle
+	dw UnnamedText_59406 ; 0x5406 TextEndBattle
+; 0x59393
+
+TrainerHeader_59393: ; 0x59393
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d1 ; flag's byte
+	dw UnnamedText_5941a ; 0x541a TextBeforeBattle
+	dw UnnamedText_59424 ; 0x5424 TextAfterBattle
+	dw UnnamedText_5941f ; 0x541f TextEndBattle
+	dw UnnamedText_5941f ; 0x541f TextEndBattle
+; 0x5939f
+
+TrainerHeader_5939f: ; 0x5939f
+	db $6 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d1 ; flag's byte
+	dw UnnamedText_59433 ; 0x5433 TextBeforeBattle
+	dw UnnamedText_5943d ; 0x543d TextAfterBattle
+	dw UnnamedText_59438 ; 0x5438 TextEndBattle
+	dw UnnamedText_59438 ; 0x5438 TextEndBattle
+; 0x593ab
+
+db $ff
+
+Route10Text1: ; 0x593ac
+	db $08 ; asm
+	ld hl, Route10TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_593b6: ; 0x593b6
+	TX_FAR _UnnamedText_593b6
+	db $50
+; 0x593b6 + 5 bytes
+
+UnnamedText_593bb: ; 0x593bb
+	TX_FAR _UnnamedText_593bb
+	db $50
+; 0x593bb + 5 bytes
+
+UnnamedText_593c0: ; 0x593c0
+	TX_FAR _UnnamedText_593c0
+	db $50
+; 0x593c0 + 5 bytes
+
+Route10Text2: ; 0x593c5
+	db $08 ; asm
+	ld hl, TrainerHeader_5936f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_593cf: ; 0x593cf
+	TX_FAR _UnnamedText_593cf
+	db $50
+; 0x593cf + 5 bytes
+
+UnnamedText_593d4: ; 0x593d4
+	TX_FAR _UnnamedText_593d4
+	db $50
+; 0x593d4 + 5 bytes
+
+UnnamedText_593d9: ; 0x593d9
+	TX_FAR _UnnamedText_593d9
+	db $50
+; 0x593d9 + 5 bytes
+
+Route10Text3: ; 0x593de
+	db $08 ; asm
+	ld hl, TrainerHeader_5937b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_593e8: ; 0x593e8
+	TX_FAR _UnnamedText_593e8
+	db $50
+; 0x593e8 + 5 bytes
+
+UnnamedText_593ed: ; 0x593ed
+	TX_FAR _UnnamedText_593ed
+	db $50
+; 0x593ed + 5 bytes
+
+UnnamedText_593f2: ; 0x593f2
+	TX_FAR _UnnamedText_593f2
+	db $50
+; 0x593f2 + 5 bytes
+
+Route10Text4: ; 0x593f7
+	db $08 ; asm
+	ld hl, TrainerHeader_59387
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59401: ; 0x59401
+	TX_FAR _UnnamedText_59401
+	db $50
+; 0x59401 + 5 bytes
+
+UnnamedText_59406: ; 0x59406
+	TX_FAR _UnnamedText_59406
+	db $50
+; 0x59406 + 5 bytes
+
+UnnamedText_5940b: ; 0x5940b
+	TX_FAR _UnnamedText_5940b
+	db $50
+; 0x5940b + 5 bytes
+
+Route10Text5: ; 0x59410
+	db $08 ; asm
+	ld hl, TrainerHeader_59393
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5941a: ; 0x5941a
+	TX_FAR _UnnamedText_5941a
+	db $50
+; 0x5941a + 5 bytes
+
+UnnamedText_5941f: ; 0x5941f
+	TX_FAR _UnnamedText_5941f
+	db $50
+; 0x5941f + 5 bytes
+
+UnnamedText_59424: ; 0x59424
+	TX_FAR _UnnamedText_59424
+	db $50
+; 0x59424 + 5 bytes
+
+Route10Text6: ; 0x59429
+	db $08 ; asm
+	ld hl, TrainerHeader_5939f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59433: ; 0x59433
+	TX_FAR _UnnamedText_59433
+	db $50
+; 0x59433 + 5 bytes
+
+UnnamedText_59438: ; 0x59438
+	TX_FAR _UnnamedText_59438
+	db $50
+; 0x59438 + 5 bytes
+
+UnnamedText_5943d: ; 0x5943d
+	TX_FAR _UnnamedText_5943d
+	db $50
+; 0x5943d + 5 bytes
+
+Route10Text9: ; 0x59442
+Route10Text7: ; 0x59442
+	TX_FAR _Route10Text7 ; _Route10Text9
+	db $50
+
+Route10Text10: ; 0x59447
+	TX_FAR _Route10Text10
+	db $50
+
+Route11Script: ; 0x5944c
+	call $3c3c
+	ld hl, Route11TrainerHeaders
+	ld de, Route11_Unknown5945f
+	ld a, [$d623]
+	call $3160
+	ld [$d623], a
+	ret
+; 0x5945f
+
+Route11_Unknown5945f: ; 0x5945f
+INCBIN "baserom.gbc",$5945f,$59465 - $5945f
+
+Route11Texts: ; 0x59465
+	dw UnnamedText_594f4, Route11Text2, Route11Text3, Route11Text4, Route11Text5, Route11Text6, Route11Text7, Route11Text8, Route11Text9, Route11Text10, Route11Text11
+
+Route11TrainerHeaders:
+Route11TrainerHeader1: ; 0x5947b
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_594fe ; 0x54fe TextBeforeBattle
+	dw UnnamedText_59508 ; 0x5508 TextAfterBattle
+	dw UnnamedText_59503 ; 0x5503 TextEndBattle
+	dw UnnamedText_59503 ; 0x5503 TextEndBattle
+; 0x59487
+
+TrainerHeader_59487: ; 0x59487
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_59517 ; 0x5517 TextBeforeBattle
+	dw UnnamedText_59521 ; 0x5521 TextAfterBattle
+	dw UnnamedText_5951c ; 0x551c TextEndBattle
+	dw UnnamedText_5951c ; 0x551c TextEndBattle
+; 0x59493
+
+TrainerHeader_59493: ; 0x59493
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_59530 ; 0x5530 TextBeforeBattle
+	dw UnnamedText_5953a ; 0x553a TextAfterBattle
+	dw UnnamedText_59535 ; 0x5535 TextEndBattle
+	dw UnnamedText_59535 ; 0x5535 TextEndBattle
+; 0x5949f
+
+TrainerHeader_5949f: ; 0x5949f
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_59549 ; 0x5549 TextBeforeBattle
+	dw UnnamedText_59553 ; 0x5553 TextAfterBattle
+	dw UnnamedText_5954e ; 0x554e TextEndBattle
+	dw UnnamedText_5954e ; 0x554e TextEndBattle
+; 0x594ab
+
+TrainerHeader_594ab: ; 0x594ab
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_59562 ; 0x5562 TextBeforeBattle
+	dw UnnamedText_5956c ; 0x556c TextAfterBattle
+	dw UnnamedText_59567 ; 0x5567 TextEndBattle
+	dw UnnamedText_59567 ; 0x5567 TextEndBattle
+; 0x594b7
+
+TrainerHeader_594b7: ; 0x594b7
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_5957b ; 0x557b TextBeforeBattle
+	dw UnnamedText_59585 ; 0x5585 TextAfterBattle
+	dw UnnamedText_59580 ; 0x5580 TextEndBattle
+	dw UnnamedText_59580 ; 0x5580 TextEndBattle
+; 0x594c3
+
+TrainerHeader_594c3: ; 0x594c3
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_59594 ; 0x5594 TextBeforeBattle
+	dw UnnamedText_5959e ; 0x559e TextAfterBattle
+	dw UnnamedText_59599 ; 0x5599 TextEndBattle
+	dw UnnamedText_59599 ; 0x5599 TextEndBattle
+; 0x594cf
+
+TrainerHeader_594cf: ; 0x594cf
+	db $8 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_595ad ; 0x55ad TextBeforeBattle
+	dw UnnamedText_595b7 ; 0x55b7 TextAfterBattle
+	dw UnnamedText_595b2 ; 0x55b2 TextEndBattle
+	dw UnnamedText_595b2 ; 0x55b2 TextEndBattle
+; 0x594db
+
+TrainerHeader_594db: ; 0x594db
+	db $9 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_595c6 ; 0x55c6 TextBeforeBattle
+	dw UnnamedText_595d0 ; 0x55d0 TextAfterBattle
+	dw UnnamedText_595cb ; 0x55cb TextEndBattle
+	dw UnnamedText_595cb ; 0x55cb TextEndBattle
+; 0x594e7
+
+TrainerHeader_594e7: ; 0x594e7
+	db $a ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d5 ; flag's byte
+	dw UnnamedText_595df ; 0x55df TextBeforeBattle
+	dw UnnamedText_595e9 ; 0x55e9 TextAfterBattle
+	dw UnnamedText_595e4 ; 0x55e4 TextEndBattle
+	dw UnnamedText_595e4 ; 0x55e4 TextEndBattle
+; 0x594f3
+
+db $ff
+
+UnnamedText_594f4: ; 0x594f4
+	db $8
+	ld hl, Route11TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+; 0x594fe
+
+UnnamedText_594fe: ; 0x594fe
+	TX_FAR _UnnamedText_594fe
+	db $50
+; 0x594fe + 5 bytes
+
+UnnamedText_59503: ; 0x59503
+	TX_FAR _UnnamedText_59503
+	db $50
+; 0x59503 + 5 bytes
+
+UnnamedText_59508: ; 0x59508
+	TX_FAR _UnnamedText_59508
+	db $50
+; 0x59508 + 5 bytes
+
+Route11Text2: ; 0x5950d
+	db $08 ; asm
+	ld hl, TrainerHeader_59487
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59517: ; 0x59517
+	TX_FAR _UnnamedText_59517
+	db $50
+; 0x59517 + 5 bytes
+
+UnnamedText_5951c: ; 0x5951c
+	TX_FAR _UnnamedText_5951c
+	db $50
+; 0x5951c + 5 bytes
+
+UnnamedText_59521: ; 0x59521
+	TX_FAR _UnnamedText_59521
+	db $50
+; 0x59521 + 5 bytes
+
+Route11Text3: ; 0x59526
+	db $08 ; asm
+	ld hl, TrainerHeader_59493
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59530: ; 0x59530
+	TX_FAR _UnnamedText_59530
+	db $50
+; 0x59530 + 5 bytes
+
+UnnamedText_59535: ; 0x59535
+	TX_FAR _UnnamedText_59535
+	db $50
+; 0x59535 + 5 bytes
+
+UnnamedText_5953a: ; 0x5953a
+	TX_FAR _UnnamedText_5953a
+	db $50
+; 0x5953a + 5 bytes
+
+Route11Text4: ; 0x5953f
+	db $08 ; asm
+	ld hl, TrainerHeader_5949f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59549: ; 0x59549
+	TX_FAR _UnnamedText_59549
+	db $50
+; 0x59549 + 5 bytes
+
+UnnamedText_5954e: ; 0x5954e
+	TX_FAR _UnnamedText_5954e
+	db $50
+; 0x5954e + 5 bytes
+
+UnnamedText_59553: ; 0x59553
+	TX_FAR _UnnamedText_59553
+	db $50
+; 0x59553 + 5 bytes
+
+Route11Text5: ; 0x59558
+	db $08 ; asm
+	ld hl, TrainerHeader_594ab
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59562: ; 0x59562
+	TX_FAR _UnnamedText_59562
+	db $50
+; 0x59562 + 5 bytes
+
+UnnamedText_59567: ; 0x59567
+	TX_FAR _UnnamedText_59567
+	db $50
+; 0x59567 + 5 bytes
+
+UnnamedText_5956c: ; 0x5956c
+	TX_FAR _UnnamedText_5956c
+	db $50
+; 0x5956c + 5 bytes
+
+Route11Text6: ; 0x59571
+	db $08 ; asm
+	ld hl, TrainerHeader_594b7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5957b: ; 0x5957b
+	TX_FAR _UnnamedText_5957b
+	db $50
+; 0x5957b + 5 bytes
+
+UnnamedText_59580: ; 0x59580
+	TX_FAR _UnnamedText_59580
+	db $50
+; 0x59580 + 5 bytes
+
+UnnamedText_59585: ; 0x59585
+	TX_FAR _UnnamedText_59585
+	db $50
+; 0x59585 + 5 bytes
+
+Route11Text7: ; 0x5958a
+	db $08 ; asm
+	ld hl, TrainerHeader_594c3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59594: ; 0x59594
+	TX_FAR _UnnamedText_59594
+	db $50
+; 0x59594 + 5 bytes
+
+UnnamedText_59599: ; 0x59599
+	TX_FAR _UnnamedText_59599
+	db $50
+; 0x59599 + 5 bytes
+
+UnnamedText_5959e: ; 0x5959e
+	TX_FAR _UnnamedText_5959e
+	db $50
+; 0x5959e + 5 bytes
+
+Route11Text8: ; 0x595a3
+	db $08 ; asm
+	ld hl, TrainerHeader_594cf
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_595ad: ; 0x595ad
+	TX_FAR _UnnamedText_595ad
+	db $50
+; 0x595ad + 5 bytes
+
+UnnamedText_595b2: ; 0x595b2
+	TX_FAR _UnnamedText_595b2
+	db $50
+; 0x595b2 + 5 bytes
+
+UnnamedText_595b7: ; 0x595b7
+	TX_FAR _UnnamedText_595b7
+	db $50
+; 0x595b7 + 5 bytes
+
+Route11Text9: ; 0x595bc
+	db $08 ; asm
+	ld hl, TrainerHeader_594db
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_595c6: ; 0x595c6
+	TX_FAR _UnnamedText_595c6
+	db $50
+; 0x595c6 + 5 bytes
+
+UnnamedText_595cb: ; 0x595cb
+	TX_FAR _UnnamedText_595cb
+	db $50
+; 0x595cb + 5 bytes
+
+UnnamedText_595d0: ; 0x595d0
+	TX_FAR _UnnamedText_595d0
+	db $50
+; 0x595d0 + 5 bytes
+
+Route11Text10: ; 0x595d5
+	db $08 ; asm
+	ld hl, TrainerHeader_594e7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_595df: ; 0x595df
+	TX_FAR _UnnamedText_595df
+	db $50
+; 0x595df + 5 bytes
+
+UnnamedText_595e4: ; 0x595e4
+	TX_FAR _UnnamedText_595e4
+	db $50
+; 0x595e4 + 5 bytes
+
+UnnamedText_595e9: ; 0x595e9
+	TX_FAR _UnnamedText_595e9
+	db $50
+; 0x595e9 + 5 bytes
+
+Route11Text11: ; 0x595ee
+	TX_FAR _Route11Text11
+	db $50
+
+Route12Script: ; 0x595f3
+	call $3c3c
+	ld hl, Route12TrainerHeaders
+	ld de, $5611
+	ld a, [$d624]
+	call $3160
+	ld [$d624], a
+	ret
+; 0x59606
+
+INCBIN "baserom.gbc",$59606,$6f
+
+Route12Texts: ; 0x59675
+	dw Route12Text1, Route12Text2, Route12Text3, Route12Text4, Route12Text5, Route12Text6, Route12Text7, Route12Text8, Route12Text9, Route12Text10, Route12Text11, Route12Text12, Route12Text13, Route12Text14
+
+Route12TrainerHeaders:
+Route12TrainerHeader1: ; 0x59691
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_596ff ; 0x56ff TextBeforeBattle
+	dw UnnamedText_59709 ; 0x5709 TextAfterBattle
+	dw UnnamedText_59704 ; 0x5704 TextEndBattle
+	dw UnnamedText_59704 ; 0x5704 TextEndBattle
+; 0x5969d
+
+TrainerHeader_5969d: ; 0x5969d
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_59718 ; 0x5718 TextBeforeBattle
+	dw UnnamedText_59722 ; 0x5722 TextAfterBattle
+	dw UnnamedText_5971d ; 0x571d TextEndBattle
+	dw UnnamedText_5971d ; 0x571d TextEndBattle
+; 0x596a9
+
+TrainerHeader_596a9: ; 0x596a9
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_59731 ; 0x5731 TextBeforeBattle
+	dw UnnamedText_5973b ; 0x573b TextAfterBattle
+	dw UnnamedText_59736 ; 0x5736 TextEndBattle
+	dw UnnamedText_59736 ; 0x5736 TextEndBattle
+; 0x596b5
+
+TrainerHeader_596b5: ; 0x596b5
+	db $5 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_5974a ; 0x574a TextBeforeBattle
+	dw UnnamedText_59754 ; 0x5754 TextAfterBattle
+	dw UnnamedText_5974f ; 0x574f TextEndBattle
+	dw UnnamedText_5974f ; 0x574f TextEndBattle
+; 0x596c1
+
+TrainerHeader_596c1: ; 0x596c1
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_59763 ; 0x5763 TextBeforeBattle
+	dw UnnamedText_5976d ; 0x576d TextAfterBattle
+	dw UnnamedText_59768 ; 0x5768 TextEndBattle
+	dw UnnamedText_59768 ; 0x5768 TextEndBattle
+; 0x596cd
+
+TrainerHeader_596cd: ; 0x596cd
+	db $7 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_5977c ; 0x577c TextBeforeBattle
+	dw UnnamedText_59786 ; 0x5786 TextAfterBattle
+	dw UnnamedText_59781 ; 0x5781 TextEndBattle
+	dw UnnamedText_59781 ; 0x5781 TextEndBattle
+; 0x596d9
+
+TrainerHeader_596d9: ; 0x596d9
+	db $8 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7d7 ; flag's byte
+	dw UnnamedText_59795 ; 0x5795 TextBeforeBattle
+	dw UnnamedText_5979f ; 0x579f TextAfterBattle
+	dw UnnamedText_5979a ; 0x579a TextEndBattle
+	dw UnnamedText_5979a ; 0x579a TextEndBattle
+; 0x596e5
+
+db $ff
+
+Route12Text1: ; 0x596e6
+	TX_FAR _Route12Text1
+	db $50
+
+Route12Text13:
+UnnamedText_596eb: ; 0x596eb
+	TX_FAR _UnnamedText_596eb
+	db $50
+; 0x596eb + 5 bytes
+
+Route12Text14:
+UnnamedText_596f0: ; 0x596f0
+	TX_FAR _UnnamedText_596f0
+	db $50
+; 0x596f0 + 5 bytes
+
+Route12Text2: ; 0x596f5
+	db $08 ; asm
+	ld hl, Route12TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_596ff: ; 0x596ff
+	TX_FAR _UnnamedText_596ff
+	db $50
+; 0x596ff + 5 bytes
+
+UnnamedText_59704: ; 0x59704
+	TX_FAR _UnnamedText_59704
+	db $50
+; 0x59704 + 5 bytes
+
+UnnamedText_59709: ; 0x59709
+	TX_FAR _UnnamedText_59709
+	db $50
+; 0x59709 + 5 bytes
+
+Route12Text3: ; 0x5970e
+	db $08 ; asm
+	ld hl, TrainerHeader_5969d
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59718: ; 0x59718
+	TX_FAR _UnnamedText_59718
+	db $50
+; 0x59718 + 5 bytes
+
+UnnamedText_5971d: ; 0x5971d
+	TX_FAR _UnnamedText_5971d
+	db $50
+; 0x5971d + 5 bytes
+
+UnnamedText_59722: ; 0x59722
+	TX_FAR _UnnamedText_59722
+	db $50
+; 0x59722 + 5 bytes
+
+Route12Text4: ; 0x59727
+	db $08 ; asm
+	ld hl, TrainerHeader_596a9
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59731: ; 0x59731
+	TX_FAR _UnnamedText_59731
+	db $50
+; 0x59731 + 5 bytes
+
+UnnamedText_59736: ; 0x59736
+	TX_FAR _UnnamedText_59736
+	db $50
+; 0x59736 + 5 bytes
+
+UnnamedText_5973b: ; 0x5973b
+	TX_FAR _UnnamedText_5973b
+	db $50
+; 0x5973b + 5 bytes
+
+Route12Text5: ; 0x59740
+	db $08 ; asm
+	ld hl, TrainerHeader_596b5
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5974a: ; 0x5974a
+	TX_FAR _UnnamedText_5974a
+	db $50
+; 0x5974a + 5 bytes
+
+UnnamedText_5974f: ; 0x5974f
+	TX_FAR _UnnamedText_5974f
+	db $50
+; 0x5974f + 5 bytes
+
+UnnamedText_59754: ; 0x59754
+	TX_FAR _UnnamedText_59754
+	db $50
+; 0x59754 + 5 bytes
+
+Route12Text6: ; 0x59759
+	db $08 ; asm
+	ld hl, TrainerHeader_596c1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59763: ; 0x59763
+	TX_FAR _UnnamedText_59763
+	db $50
+; 0x59763 + 5 bytes
+
+UnnamedText_59768: ; 0x59768
+	TX_FAR _UnnamedText_59768
+	db $50
+; 0x59768 + 5 bytes
+
+UnnamedText_5976d: ; 0x5976d
+	TX_FAR _UnnamedText_5976d
+	db $50
+; 0x5976d + 5 bytes
+
+Route12Text7: ; 0x59772
+	db $08 ; asm
+	ld hl, TrainerHeader_596cd
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5977c: ; 0x5977c
+	TX_FAR _UnnamedText_5977c
+	db $50
+; 0x5977c + 5 bytes
+
+UnnamedText_59781: ; 0x59781
+	TX_FAR _UnnamedText_59781
+	db $50
+; 0x59781 + 5 bytes
+
+UnnamedText_59786: ; 0x59786
+	TX_FAR _UnnamedText_59786
+	db $50
+; 0x59786 + 5 bytes
+
+Route12Text8: ; 0x5978b
+	db $08 ; asm
+	ld hl, TrainerHeader_596d9
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59795: ; 0x59795
+	TX_FAR _UnnamedText_59795
+	db $50
+; 0x59795 + 5 bytes
+
+UnnamedText_5979a: ; 0x5979a
+	TX_FAR _UnnamedText_5979a
+	db $50
+; 0x5979a + 5 bytes
+
+UnnamedText_5979f: ; 0x5979f
+	TX_FAR _UnnamedText_5979f
+	db $50
+; 0x5979f + 5 bytes
+
+Route12Text11: ; 0x597a4
+	TX_FAR _Route12Text11
+	db $50
+
+Route12Text12: ; 0x597a9
+	TX_FAR _Route12Text12
+	db $50
+
+Route15Script: ; 0x597ae
+	call $3c3c
+	ld hl, Route15TrainerHeaders
+	ld de, Route15_Unknown597c1
+	ld a, [$d625]
+	call $3160
+	ld [$d625], a
+	ret
+; 0x597c1
+
+Route15_Unknown597c1: ; 0x597c1
+INCBIN "baserom.gbc",$597c1,$6
+
+Route15Texts: ; 0x597c7
+	dw Route15Text1, Route15Text2, Route15Text3, Route15Text4, Route15Text5, Route15Text6, Route15Text7, Route15Text8, Route15Text9, Route15Text10, Route15Text11, Route15Text12
+
+Route15TrainerHeaders:
+Route15TrainerHeader1: ; 0x597df
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_59898 ; 0x5898 TextBeforeBattle
+	dw UnnamedText_598a2 ; 0x58a2 TextAfterBattle
+	dw UnnamedText_5989d ; 0x589d TextEndBattle
+	dw UnnamedText_5989d ; 0x589d TextEndBattle
+; 0x597eb
+
+TrainerHeader_597eb: ; 0x597eb
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_598a7 ; 0x58a7 TextBeforeBattle
+	dw UnnamedText_598b1 ; 0x58b1 TextAfterBattle
+	dw UnnamedText_598ac ; 0x58ac TextEndBattle
+	dw UnnamedText_598ac ; 0x58ac TextEndBattle
+; 0x597f7
+
+TrainerHeader_597f7: ; 0x597f7
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_598b6 ; 0x58b6 TextBeforeBattle
+	dw UnnamedText_598c0 ; 0x58c0 TextAfterBattle
+	dw UnnamedText_598bb ; 0x58bb TextEndBattle
+	dw UnnamedText_598bb ; 0x58bb TextEndBattle
+; 0x59803
+
+TrainerHeader_59803: ; 0x59803
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_598c5 ; 0x58c5 TextBeforeBattle
+	dw UnnamedText_598cf ; 0x58cf TextAfterBattle
+	dw UnnamedText_598ca ; 0x58ca TextEndBattle
+	dw UnnamedText_598ca ; 0x58ca TextEndBattle
+; 0x5980f
+
+TrainerHeader_5980f: ; 0x5980f
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_598d4 ; 0x58d4 TextBeforeBattle
+	dw UnnamedText_598de ; 0x58de TextAfterBattle
+	dw UnnamedText_598d9 ; 0x58d9 TextEndBattle
+	dw UnnamedText_598d9 ; 0x58d9 TextEndBattle
+; 0x5981b
+
+TrainerHeader_5981b: ; 0x5981b
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_598e3 ; 0x58e3 TextBeforeBattle
+	dw UnnamedText_598ed ; 0x58ed TextAfterBattle
+	dw UnnamedText_598e8 ; 0x58e8 TextEndBattle
+	dw UnnamedText_598e8 ; 0x58e8 TextEndBattle
+; 0x59827
+
+TrainerHeader_59827: ; 0x59827
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_598f2 ; 0x58f2 TextBeforeBattle
+	dw UnnamedText_598fc ; 0x58fc TextAfterBattle
+	dw UnnamedText_598f7 ; 0x58f7 TextEndBattle
+	dw UnnamedText_598f7 ; 0x58f7 TextEndBattle
+; 0x59833
+
+TrainerHeader_59833: ; 0x59833
+	db $8 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_59901 ; 0x5901 TextBeforeBattle
+	dw UnnamedText_5990b ; 0x590b TextAfterBattle
+	dw UnnamedText_59906 ; 0x5906 TextEndBattle
+	dw UnnamedText_59906 ; 0x5906 TextEndBattle
+; 0x5983f
+
+TrainerHeader_5983f: ; 0x5983f
+	db $9 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_59910 ; 0x5910 TextBeforeBattle
+	dw UnnamedText_5991a ; 0x591a TextAfterBattle
+	dw UnnamedText_59915 ; 0x5915 TextEndBattle
+	dw UnnamedText_59915 ; 0x5915 TextEndBattle
+; 0x5984b
+
+TrainerHeader_5984b: ; 0x5984b
+	db $a ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7dd ; flag's byte
+	dw UnnamedText_5991f ; 0x591f TextBeforeBattle
+	dw UnnamedText_59929 ; 0x5929 TextAfterBattle
+	dw UnnamedText_59924 ; 0x5924 TextEndBattle
+	dw UnnamedText_59924 ; 0x5924 TextEndBattle
+; 0x59857
+
+db $ff
+
+Route15Text1: ; 0x59858
+	db $8 ; asm
+	ld hl, Route15TrainerHeader1
+	jr asm_33cb7 ; 0x5985c $34
+
+Route15Text2:
+	db $8 ; asm
+	ld hl, TrainerHeader_597eb
+	jr asm_33cb7 ; 0x59862 $2e
+
+Route15Text3:
+	db $8 ; asm
+	ld hl, TrainerHeader_597f7
+	jr asm_33cb7 ; 0x59868 $28
+
+Route15Text4:
+	db $8 ; asm
+	ld hl, TrainerHeader_59803
+	jr asm_33cb7 ; 0x5986e $22
+
+Route15Text5:
+	db $8 ; asm
+	ld hl, TrainerHeader_5980f
+	jr asm_33cb7 ; 0x59874 $1c
+
+Route15Text6:
+	db $8 ; asm
+	ld hl, TrainerHeader_5981b
+	jr asm_33cb7 ; 0x5987a $16
+
+Route15Text7:
+	db $8 ; asm
+	ld hl, TrainerHeader_59827
+	jr asm_33cb7 ; 0x59880 $10
+
+Route15Text8:
+	db $8 ; asm
+	ld hl, TrainerHeader_59833
+	jr asm_33cb7 ; 0x59886 $a
+
+Route15Text9:
+	db $8 ; asm
+	ld hl, TrainerHeader_5983f
+	jr asm_33cb7 ; 0x5988c $4
+
+Route15Text10:
+	db $8 ; asm
+	ld hl, TrainerHeader_5984b
+asm_33cb7: ; 0x59892
+	call LoadTrainerHeader
+	jp TextScriptEnd
+; 0x59898
+
+UnnamedText_59898: ; 0x59898
+	TX_FAR _UnnamedText_59898
+	db $50
+; 0x59898 + 5 bytes
+
+UnnamedText_5989d: ; 0x5989d
+	TX_FAR _UnnamedText_5989d
+	db $50
+; 0x5989d + 5 bytes
+
+UnnamedText_598a2: ; 0x598a2
+	TX_FAR _UnnamedText_598a2
+	db $50
+; 0x598a2 + 5 bytes
+
+UnnamedText_598a7: ; 0x598a7
+	TX_FAR _UnnamedText_598a7
+	db $50
+; 0x598a7 + 5 bytes
+
+UnnamedText_598ac: ; 0x598ac
+	TX_FAR _UnnamedText_598ac
+	db $50
+; 0x598ac + 5 bytes
+
+UnnamedText_598b1: ; 0x598b1
+	TX_FAR _UnnamedText_598b1
+	db $50
+; 0x598b1 + 5 bytes
+
+UnnamedText_598b6: ; 0x598b6
+	TX_FAR _UnnamedText_598b6
+	db $50
+; 0x598b6 + 5 bytes
+
+UnnamedText_598bb: ; 0x598bb
+	TX_FAR _UnnamedText_598bb
+	db $50
+; 0x598bb + 5 bytes
+
+UnnamedText_598c0: ; 0x598c0
+	TX_FAR _UnnamedText_598c0
+	db $50
+; 0x598c0 + 5 bytes
+
+UnnamedText_598c5: ; 0x598c5
+	TX_FAR _UnnamedText_598c5
+	db $50
+; 0x598c5 + 5 bytes
+
+UnnamedText_598ca: ; 0x598ca
+	TX_FAR _UnnamedText_598ca
+	db $50
+; 0x598ca + 5 bytes
+
+UnnamedText_598cf: ; 0x598cf
+	TX_FAR _UnnamedText_598cf
+	db $50
+; 0x598cf + 5 bytes
+
+UnnamedText_598d4: ; 0x598d4
+	TX_FAR _UnnamedText_598d4
+	db $50
+; 0x598d4 + 5 bytes
+
+UnnamedText_598d9: ; 0x598d9
+	TX_FAR _UnnamedText_598d9
+	db $50
+; 0x598d9 + 5 bytes
+
+UnnamedText_598de: ; 0x598de
+	TX_FAR _UnnamedText_598de
+	db $50
+; 0x598de + 5 bytes
+
+UnnamedText_598e3: ; 0x598e3
+	TX_FAR _UnnamedText_598e3
+	db $50
+; 0x598e3 + 5 bytes
+
+UnnamedText_598e8: ; 0x598e8
+	TX_FAR _UnnamedText_598e8
+	db $50
+; 0x598e8 + 5 bytes
+
+UnnamedText_598ed: ; 0x598ed
+	TX_FAR _UnnamedText_598ed
+	db $50
+; 0x598ed + 5 bytes
+
+UnnamedText_598f2: ; 0x598f2
+	TX_FAR _UnnamedText_598f2
+	db $50
+; 0x598f2 + 5 bytes
+
+UnnamedText_598f7: ; 0x598f7
+	TX_FAR _UnnamedText_598f7
+	db $50
+; 0x598f7 + 5 bytes
+
+UnnamedText_598fc: ; 0x598fc
+	TX_FAR _UnnamedText_598fc
+	db $50
+; 0x598fc + 5 bytes
+
+UnnamedText_59901: ; 0x59901
+	TX_FAR _UnnamedText_59901
+	db $50
+; 0x59901 + 5 bytes
+
+UnnamedText_59906: ; 0x59906
+	TX_FAR _UnnamedText_59906
+	db $50
+; 0x59906 + 5 bytes
+
+UnnamedText_5990b: ; 0x5990b
+	TX_FAR _UnnamedText_5990b
+	db $50
+; 0x5990b + 5 bytes
+
+UnnamedText_59910: ; 0x59910
+	TX_FAR _UnnamedText_59910
+	db $50
+; 0x59910 + 5 bytes
+
+UnnamedText_59915: ; 0x59915
+	TX_FAR _UnnamedText_59915
+	db $50
+; 0x59915 + 5 bytes
+
+UnnamedText_5991a: ; 0x5991a
+	TX_FAR _UnnamedText_5991a
+	db $50
+; 0x5991a + 5 bytes
+
+UnnamedText_5991f: ; 0x5991f
+	TX_FAR _UnnamedText_5991f
+	db $50
+; 0x5991f + 5 bytes
+
+UnnamedText_59924: ; 0x59924
+	TX_FAR _UnnamedText_59924
+	db $50
+; 0x59924 + 5 bytes
+
+UnnamedText_59929: ; 0x59929
+	TX_FAR _UnnamedText_59929
+	db $50
+; 0x59929 + 5 bytes
+
+Route15Text12: ; 0x5992e
+	TX_FAR _Route15Text12
+	db $50
+
+Route16Script: ; 0x59933
+	call $3c3c
+	ld hl, Route16TrainerHeaders
+	ld de, $5951
+	ld a, [$d626]
+	call $3160
+	ld [$d626], a
+	ret
+; 0x59946
+
+INCBIN "baserom.gbc",$59946,$73
+
+Route16Texts: ; 0x599b9
+	dw Route16Text1, Route16Text2, Route16Text3, Route16Text4, Route16Text5, Route16Text6, Route16Text7, Route16Text8, Route16Text9, Route16Text10, Route16Text11
+
+Route16TrainerHeaders:
+Route16TrainerHeader1: ; 0x599cf
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7df ; flag's byte
+	dw UnnamedText_59a22 ; 0x5a22 TextBeforeBattle
+	dw UnnamedText_59a2c ; 0x5a2c TextAfterBattle
+	dw UnnamedText_59a27 ; 0x5a27 TextEndBattle
+	dw UnnamedText_59a27 ; 0x5a27 TextEndBattle
+; 0x599db
+
+TrainerHeader_599db: ; 0x599db
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7df ; flag's byte
+	dw UnnamedText_59a3b ; 0x5a3b TextBeforeBattle
+	dw UnnamedText_59a45 ; 0x5a45 TextAfterBattle
+	dw UnnamedText_59a40 ; 0x5a40 TextEndBattle
+	dw UnnamedText_59a40 ; 0x5a40 TextEndBattle
+; 0x599e7
+
+TrainerHeader_599e7: ; 0x599e7
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7df ; flag's byte
+	dw UnnamedText_59a54 ; 0x5a54 TextBeforeBattle
+	dw UnnamedText_59a5e ; 0x5a5e TextAfterBattle
+	dw UnnamedText_59a59 ; 0x5a59 TextEndBattle
+	dw UnnamedText_59a59 ; 0x5a59 TextEndBattle
+; 0x599f3
+
+TrainerHeader_599f3: ; 0x599f3
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7df ; flag's byte
+	dw UnnamedText_59a6d ; 0x5a6d TextBeforeBattle
+	dw UnnamedText_59a77 ; 0x5a77 TextAfterBattle
+	dw UnnamedText_59a72 ; 0x5a72 TextEndBattle
+	dw UnnamedText_59a72 ; 0x5a72 TextEndBattle
+; 0x599ff
+
+TrainerHeader_599ff: ; 0x599ff
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d7df ; flag's byte
+	dw UnnamedText_59a86 ; 0x5a86 TextBeforeBattle
+	dw UnnamedText_59a90 ; 0x5a90 TextAfterBattle
+	dw UnnamedText_59a8b ; 0x5a8b TextEndBattle
+	dw UnnamedText_59a8b ; 0x5a8b TextEndBattle
+; 0x59a0b
+
+TrainerHeader_59a0b: ; 0x59a0b
+	db $6 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7df ; flag's byte
+	dw UnnamedText_59a9f ; 0x5a9f TextBeforeBattle
+	dw UnnamedText_59aa9 ; 0x5aa9 TextAfterBattle
+	dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle
+	dw UnnamedText_59aa4 ; 0x5aa4 TextEndBattle
+; 0x59a17
+
+db $ff
+
+Route16Text1: ; 0x59a18
+	db $08 ; asm
+	ld hl, Route16TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59a22: ; 0x59a22
+	TX_FAR _UnnamedText_59a22
+	db $50
+; 0x59a22 + 5 bytes
+
+UnnamedText_59a27: ; 0x59a27
+	TX_FAR _UnnamedText_59a27
+	db $50
+; 0x59a27 + 5 bytes
+
+UnnamedText_59a2c: ; 0x59a2c
+	TX_FAR _UnnamedText_59a2c
+	db $50
+; 0x59a2c + 5 bytes
+
+Route16Text2: ; 0x59a31
+	db $08 ; asm
+	ld hl, TrainerHeader_599db
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59a3b: ; 0x59a3b
+	TX_FAR _UnnamedText_59a3b
+	db $50
+; 0x59a3b + 5 bytes
+
+UnnamedText_59a40: ; 0x59a40
+	TX_FAR _UnnamedText_59a40
+	db $50
+; 0x59a40 + 5 bytes
+
+UnnamedText_59a45: ; 0x59a45
+	TX_FAR _UnnamedText_59a45
+	db $50
+; 0x59a45 + 5 bytes
+
+Route16Text3: ; 0x59a4a
+	db $08 ; asm
+	ld hl, TrainerHeader_599e7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59a54: ; 0x59a54
+	TX_FAR _UnnamedText_59a54
+	db $50
+; 0x59a54 + 5 bytes
+
+UnnamedText_59a59: ; 0x59a59
+	TX_FAR _UnnamedText_59a59
+	db $50
+; 0x59a59 + 5 bytes
+
+UnnamedText_59a5e: ; 0x59a5e
+	TX_FAR _UnnamedText_59a5e
+	db $50
+; 0x59a5e + 5 bytes
+
+Route16Text4: ; 0x59a63
+	db $08 ; asm
+	ld hl, TrainerHeader_599f3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59a6d: ; 0x59a6d
+	TX_FAR _UnnamedText_59a6d
+	db $50
+; 0x59a6d + 5 bytes
+
+UnnamedText_59a72: ; 0x59a72
+	TX_FAR _UnnamedText_59a72
+	db $50
+; 0x59a72 + 5 bytes
+
+UnnamedText_59a77: ; 0x59a77
+	TX_FAR _UnnamedText_59a77
+	db $50
+; 0x59a77 + 5 bytes
+
+Route16Text5: ; 0x59a7c
+	db $08 ; asm
+	ld hl, TrainerHeader_599ff
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59a86: ; 0x59a86
+	TX_FAR _UnnamedText_59a86
+	db $50
+; 0x59a86 + 5 bytes
+
+UnnamedText_59a8b: ; 0x59a8b
+	TX_FAR _UnnamedText_59a8b
+	db $50
+; 0x59a8b + 5 bytes
+
+UnnamedText_59a90: ; 0x59a90
+	TX_FAR _UnnamedText_59a90
+	db $50
+; 0x59a90 + 5 bytes
+
+Route16Text6: ; 0x59a95
+	db $08 ; asm
+	ld hl, TrainerHeader_59a0b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59a9f: ; 0x59a9f
+	TX_FAR _UnnamedText_59a9f
+	db $50
+; 0x59a9f + 5 bytes
+
+UnnamedText_59aa4: ; 0x59aa4
+	TX_FAR _UnnamedText_59aa4
+	db $50
+; 0x59aa4 + 5 bytes
+
+UnnamedText_59aa9: ; 0x59aa9
+	TX_FAR _UnnamedText_59aa9
+	db $50
+; 0x59aa9 + 5 bytes
+
+Route16Text7: ; 0x59aae
+	TX_FAR _Route16Text7
+	db $50
+
+Route16Text10: ; 0x59ab3
+	TX_FAR _UnnamedText_59ab3
+	db $50
+; 0x59ab3 + 5 bytes
+
+Route16Text11: ; 0x59ab8
+	TX_FAR _UnnamedText_59ab8
+	db $50
+; 0x59ab8 + 5 bytes
+
+Route16Text8: ; 0x59abd
+	TX_FAR _Route16Text8
+	db $50
+
+Route16Text9: ; 0x59ac2
+	TX_FAR _Route16Text9
+	db $50
+
+Route18Script: ; 0x59ac7
+	call $3c3c
+	ld hl, Route18TrainerHeaders
+	ld de, Route18_Unknown59ada
+	ld a, [$d627]
+	call $3160
+	ld [$d627], a
+	ret
+; 0x59ada
+
+Route18_Unknown59ada: ; 0x59ada
+INCBIN "baserom.gbc",$59ada,$6
+
+Route18Texts: ; 0x59ae0
+	dw Route18Text1, Route18Text2, Route18Text3, Route18Text4, Route18Text5
+
+Route18TrainerHeaders:
+Route18TrainerHeader1: ; 0x59aea
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e3 ; flag's byte
+	dw UnnamedText_59b19 ; 0x5b19 TextBeforeBattle
+	dw UnnamedText_59b23 ; 0x5b23 TextAfterBattle
+	dw UnnamedText_59b1e ; 0x5b1e TextEndBattle
+	dw UnnamedText_59b1e ; 0x5b1e TextEndBattle
+; 0x59af6
+
+TrainerHeader_59af6: ; 0x59af6
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7e3 ; flag's byte
+	dw UnnamedText_59b32 ; 0x5b32 TextBeforeBattle
+	dw UnnamedText_59b3c ; 0x5b3c TextAfterBattle
+	dw UnnamedText_59b37 ; 0x5b37 TextEndBattle
+	dw UnnamedText_59b37 ; 0x5b37 TextEndBattle
+; 0x59b02
+
+TrainerHeader_59b02: ; 0x59b02
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7e3 ; flag's byte
+	dw UnnamedText_59b4b ; 0x5b4b TextBeforeBattle
+	dw UnnamedText_59b55 ; 0x5b55 TextAfterBattle
+	dw UnnamedText_59b50 ; 0x5b50 TextEndBattle
+	dw UnnamedText_59b50 ; 0x5b50 TextEndBattle
+; 0x59b0e
+
+db $ff
+
+Route18Text1: ; 0x59b0f
+	db $08 ; asm
+	ld hl, Route18TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59b19: ; 0x59b19
+	TX_FAR _UnnamedText_59b19
+	db $50
+; 0x59b19 + 5 bytes
+
+UnnamedText_59b1e: ; 0x59b1e
+	TX_FAR _UnnamedText_59b1e
+	db $50
+; 0x59b1e + 5 bytes
+
+UnnamedText_59b23: ; 0x59b23
+	TX_FAR _UnnamedText_59b23
+	db $50
+; 0x59b23 + 5 bytes
+
+Route18Text2: ; 0x59b28
+	db $08 ; asm
+	ld hl, TrainerHeader_59af6
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59b32: ; 0x59b32
+	TX_FAR _UnnamedText_59b32
+	db $50
+; 0x59b32 + 5 bytes
+
+UnnamedText_59b37: ; 0x59b37
+	TX_FAR _UnnamedText_59b37
+	db $50
+; 0x59b37 + 5 bytes
+
+UnnamedText_59b3c: ; 0x59b3c
+	TX_FAR _UnnamedText_59b3c
+	db $50
+; 0x59b3c + 5 bytes
+
+Route18Text3: ; 0x59b41
+	db $08 ; asm
+	ld hl, TrainerHeader_59b02
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59b4b: ; 0x59b4b
+	TX_FAR _UnnamedText_59b4b
+	db $50
+; 0x59b4b + 5 bytes
+
+UnnamedText_59b50: ; 0x59b50
+	TX_FAR _UnnamedText_59b50
+	db $50
+; 0x59b50 + 5 bytes
+
+UnnamedText_59b55: ; 0x59b55
+	TX_FAR _UnnamedText_59b55
+	db $50
+; 0x59b55 + 5 bytes
+
+Route18Text4: ; 0x59b5a
+	TX_FAR _Route18Text4
+	db $50
+
+Route18Text5: ; 0x59b5f
+	TX_FAR _Route18Text5
+	db $50
+
+FanClub_h: ; 0x59b64 to 0x59b70 (12 bytes) (id=90)
+	db $10 ; tileset
+	db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x)
+	dw FanClubBlocks, FanClubTexts, FanClubScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FanClubObject ; objects
+
+FanClubScript: ; 0x59b70
+	jp $3c3c
+; 0x59b73
+
+INCBIN "baserom.gbc",$59b73,$11
+
+FanClubTexts: ; 0x59b84
+	dw FanClubText1, FanClubText2, FanClubText3, FanClubText4, FanClubText5, FanClubText6, FanClubText7, FanClubText8
+
+FanClubText1: ; 0x59b94
+	db $08 ; asm
+	ld a, [$d771]
+	bit 7, a
+	jr nz, asm_67b22 ; 0x59b9a
+	ld hl, UnnamedText_59bb7
+	call PrintText
+	ld hl, $d771
+	set 6, [hl]
+	jr asm_64f01 ; 0x59ba7
+asm_67b22 ; 0x59ba9
+	ld hl, UnnamedText_59bbc
+	call PrintText
+	ld hl, $d771
+	res 7, [hl]
+asm_64f01 ; 0x59bb4
+	jp TextScriptEnd
+
+UnnamedText_59bb7: ; 0x59bb7
+	TX_FAR _UnnamedText_59bb7
+	db $50
+; 0x59bb7 + 5 bytes
+
+UnnamedText_59bbc: ; 0x59bbc
+	TX_FAR _UnnamedText_59bbc
+	db $50
+; 0x59bbc + 5 bytes
+
+FanClubText2: ; 0x59bc1
+	db $08 ; asm
+	ld a, [$d771]
+	bit 6, a
+	jr nz, asm_5cd59 ; 0x59bc7
+	ld hl, UnnamedText_59be4
+	call PrintText
+	ld hl, $d771
+	set 7, [hl]
+	jr asm_59625 ; 0x59bd4
+asm_5cd59 ; 0x59bd6
+	ld hl, UnnamedText_59be9
+	call PrintText
+	ld hl, $d771
+	res 6, [hl]
+asm_59625 ; 0x59be1
+	jp TextScriptEnd
+
+UnnamedText_59be4: ; 0x59be4
+	TX_FAR _UnnamedText_59be4
+	db $50
+; 0x59be4 + 5 bytes
+
+UnnamedText_59be9: ; 0x59be9
+	TX_FAR _UnnamedText_59be9
+	db $50
+; 0x59be9 + 5 bytes
+
+FanClubText3: ; 0x59bee
+	db $8
+	ld hl, UnnamedText_59c00
+	call PrintText
+	ld a, $54
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+; 0x59c00
+
+UnnamedText_59c00: ; 0x59c00
+	TX_FAR _UnnamedText_59c00
+	db $50
+; 0x59c00 + 5 bytes
+
+FanClubText4: ; 0x59c05
+	db $08 ; asm
+	ld hl, UnnamedText_59c17
+	call PrintText
+	ld a, SEEL
+	call $13d0
+	call $3748
+	jp TextScriptEnd
+
+UnnamedText_59c17: ; 0x59c17
+	TX_FAR _UnnamedText_59c17
+	db $50
+; 0x59c17 + 5 bytes
+
+FanClubText5: ; 0x59c1c
+	db $08 ; asm
+	call $5b73
+	jr nz, asm_38bb3 ; 0x59c20
+	ld hl, UnnamedText_59c65
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, asm_2c8d7 ; 0x59c2f
+	ld hl, UnnamedText_59c6a
+	call PrintText
+	ld bc, (BIKE_VOUCHER << 8) | 1
+	call GiveItem
+	jr nc, asm_867d4 ; 0x59c3d
+	ld hl, ReceivedBikeVoucherText
+	call PrintText
+	ld hl, $d771
+	set 1, [hl]
+	jr asm_d3c26 ; 0x59c4a
+asm_867d4 ; 0x59c4c
+	ld hl, UnnamedText_59c83
+	call PrintText
+	jr asm_d3c26 ; 0x59c52
+asm_2c8d7 ; 0x59c54
+	ld hl, UnnamedText_59c79
+	call PrintText
+	jr asm_d3c26 ; 0x59c5a
+asm_38bb3 ; 0x59c5c
+	ld hl, UnnamedText_59c7e
+	call PrintText
+asm_d3c26 ; 0x59c62
+	jp TextScriptEnd
+
+UnnamedText_59c65: ; 0x59c65
+	TX_FAR _UnnamedText_59c65
+	db $50
+; 0x59c65 + 5 bytes
+
+UnnamedText_59c6a: ; 0x59c6a
+	TX_FAR _UnnamedText_59c6a
+	db $50
+; 0x59c6a + 5 bytes
+
+ReceivedBikeVoucherText: ; 0x59c6f
+	TX_FAR _ReceivedBikeVoucherText ; 0x9a82e
+	db $11
+	TX_FAR _UnnamedText_59c74 ; 0x9a844
+	db $50
+; 0x59c6f + 10 bytes = 0x59c79
+
+UnnamedText_59c79: ; 0x59c79
+	TX_FAR _UnnamedText_59c79
+	db $50
+; 0x59c79 + 5 bytes
+
+UnnamedText_59c7e: ; 0x59c7e
+	TX_FAR _UnnamedText_59c7e
+	db $50
+; 0x59c7e + 5 bytes
+
+UnnamedText_59c83: ; 0x59c83
+	TX_FAR _UnnamedText_59c83
+	db $50
+; 0x59c83 + 5 bytes
+
+FanClubText6:
+	TX_FAR _FanClubText6
+	db $50
+
+FanClubText7:
+	TX_FAR _FanClubText7
+	db $50
+
+FanClubText8: ; 0x59c92
+	TX_FAR _FanClubText8
+	db $50
+
+FanClubObject: ; 0x59c97 (size=62)
+	db $d ; border tile
+
+	db $2 ; warps
+	db $7, $2, $1, $ff
+	db $7, $3, $1, $ff
+
+	db $2 ; signs
+	db $0, $1, $7 ; FanClubText7
+	db $0, $6, $8 ; FanClubText8
+
+	db $6 ; people
+	db SPRITE_FISHER2, $3 + 4, $6 + 4, $ff, $d2, $1 ; person
+	db SPRITE_GIRL, $3 + 4, $1 + 4, $ff, $d3, $2 ; person
+	db SPRITE_CLEFAIRY, $4 + 4, $6 + 4, $ff, $d2, $3 ; person
+	db SPRITE_SEEL, $4 + 4, $1 + 4, $ff, $d3, $4 ; person
+	db SPRITE_GENTLEMAN, $1 + 4, $3 + 4, $ff, $d0, $5 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $1 + 4, $5 + 4, $ff, $d0, $6 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+FanClubBlocks: ; 0x59cd5 16
+	INCBIN "maps/fanclub.blk"
+
+SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207)
+	db $16 ; tileset
+	db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x)
+	dw SilphCo2Blocks, SilphCo2Texts, SilphCo2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo2Object ; objects
+
+SilphCo2Script: ; 0x59cf1
+	call SilphCo2_Unknown59d07
+	call $3c3c
+	ld hl, SilphCo2TrainerHeaders
+	ld de, $5d80
+	ld a, [$d643]
+	call $3160
+	ld [$d643], a
+	ret
+; 0x59d07
+
+SilphCo2_Unknown59d07: ; 0x59d07
+INCBIN "baserom.gbc",$59d07,$7f
+
+SilphCo2Texts: ; 0x59d86
+	dw SilphCo2Text1, SilphCo2Text2, SilphCo2Text3, SilphCo2Text4, SilphCo2Text5
+
+SilphCo2TrainerHeaders:
+SilphCo2TrainerHeader1: ; 0x59d90
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d825 ; flag's byte
+	dw UnnamedText_59e2a ; 0x5e2a TextBeforeBattle
+	dw UnnamedText_59e34 ; 0x5e34 TextAfterBattle
+	dw UnnamedText_59e2f ; 0x5e2f TextEndBattle
+	dw UnnamedText_59e2f ; 0x5e2f TextEndBattle
+; 0x59d9c
+
+TrainerHeader_59d9c: ; 0x59d9c
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d825 ; flag's byte
+	dw UnnamedText_59e39 ; 0x5e39 TextBeforeBattle
+	dw UnnamedText_59e43 ; 0x5e43 TextAfterBattle
+	dw UnnamedText_59e3e ; 0x5e3e TextEndBattle
+	dw UnnamedText_59e3e ; 0x5e3e TextEndBattle
+; 0x59da8
+
+TrainerHeader_59da8: ; 0x59da8
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d825 ; flag's byte
+	dw UnnamedText_59e48 ; 0x5e48 TextBeforeBattle
+	dw UnnamedText_59e52 ; 0x5e52 TextAfterBattle
+	dw UnnamedText_59e4d ; 0x5e4d TextEndBattle
+	dw UnnamedText_59e4d ; 0x5e4d TextEndBattle
+; 0x59db4
+
+TrainerHeader_59db4: ; 0x59db4
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d825 ; flag's byte
+	dw UnnamedText_59e57 ; 0x5e57 TextBeforeBattle
+	dw UnnamedText_59e61 ; 0x5e61 TextAfterBattle
+	dw UnnamedText_59e5c ; 0x5e5c TextEndBattle
+	dw UnnamedText_59e5c ; 0x5e5c TextEndBattle
+; 0x59dc0
+
+db $ff
+
+SilphCo2Text1: ; 0x59dc1
+	db $08 ; asm
+	ld a, [$d826]
+	bit 7, a
+	jr nz, asm_b8a0d ; 0x59dc7
+	ld hl, UnnamedText_59ded
+	call PrintText
+	ld bc, (TM_36 << 8) | 1
+	call GiveItem
+	ld hl, TM36NoRoomText
+	jr nc, asm_2c1e0 ; 0x59dd8
+	ld hl, $d826
+	set 7, [hl]
+	ld hl, ReceivedTM36Text
+	jr asm_2c1e0 ; 0x59de2
+asm_b8a0d ; 0x59de4
+	ld hl, TM36ExplanationText
+asm_2c1e0 ; 0x59de7
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_59ded: ; 0x59ded
+	TX_FAR _UnnamedText_59ded
+	db $50
+; 0x59ded + 5 bytes
+
+ReceivedTM36Text: ; 0x59df2
+	TX_FAR _ReceivedTM36Text ; 0x824ba
+	db $0B, $50
+; 0x59df2 + 6 bytes = 0x59df8
+
+TM36ExplanationText: ; 0x59df8
+	TX_FAR _TM36ExplanationText
+	db $50
+; 0x59df8 + 5 bytes
+
+TM36NoRoomText: ; 0x59dfd
+	TX_FAR _TM36NoRoomText
+	db $50
+; 0x59dfd + 5 bytes
+
+SilphCo2Text2: ; 0x59e02
+	db $08 ; asm
+	ld hl, SilphCo2TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo2Text3: ; 0x59e0c
+	db $08 ; asm
+	ld hl, TrainerHeader_59d9c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo2Text4: ; 0x59e16
+	db $08 ; asm
+	ld hl, TrainerHeader_59da8
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo2Text5: ; 0x59e20
+	db $08 ; asm
+	ld hl, TrainerHeader_59db4
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_59e2a: ; 0x59e2a
+	TX_FAR _UnnamedText_59e2a
+	db $50
+; 0x59e2a + 5 bytes
+
+UnnamedText_59e2f: ; 0x59e2f
+	TX_FAR _UnnamedText_59e2f
+	db $50
+; 0x59e2f + 5 bytes
+
+UnnamedText_59e34: ; 0x59e34
+	TX_FAR _UnnamedText_59e34
+	db $50
+; 0x59e34 + 5 bytes
+
+UnnamedText_59e39: ; 0x59e39
+	TX_FAR _UnnamedText_59e39
+	db $50
+; 0x59e39 + 5 bytes
+
+UnnamedText_59e3e: ; 0x59e3e
+	TX_FAR _UnnamedText_59e3e
+	db $50
+; 0x59e3e + 5 bytes
+
+UnnamedText_59e43: ; 0x59e43
+	TX_FAR _UnnamedText_59e43
+	db $50
+; 0x59e43 + 5 bytes
+
+UnnamedText_59e48: ; 0x59e48
+	TX_FAR _UnnamedText_59e48
+	db $50
+; 0x59e48 + 5 bytes
+
+UnnamedText_59e4d: ; 0x59e4d
+	TX_FAR _UnnamedText_59e4d
+	db $50
+; 0x59e4d + 5 bytes
+
+UnnamedText_59e52: ; 0x59e52
+	TX_FAR _UnnamedText_59e52
+	db $50
+; 0x59e52 + 5 bytes
+
+UnnamedText_59e57: ; 0x59e57
+	TX_FAR _UnnamedText_59e57
+	db $50
+; 0x59e57 + 5 bytes
+
+UnnamedText_59e5c: ; 0x59e5c
+	TX_FAR _UnnamedText_59e5c
+	db $50
+; 0x59e5c + 5 bytes
+
+UnnamedText_59e61: ; 0x59e61
+	TX_FAR _UnnamedText_59e61
+	db $50
+; 0x59e61 + 5 bytes
+
+SilphCo2Object: ; 0x59e66 (size=98)
+	db $2e ; border tile
+
+	db $7 ; warps
+	db $0, $18, $2, SILPH_CO_1F
+	db $0, $1a, $0, SILPH_CO_3F
+	db $0, $14, $0, SILPH_CO_ELEVATOR
+	db $3, $3, $6, SILPH_CO_3F
+	db $3, $d, $4, SILPH_CO_8F
+	db $f, $1b, $5, SILPH_CO_8F
+	db $f, $9, $4, SILPH_CO_6F
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_ERIKA, $1 + 4, $a + 4, $ff, $d1, $1 ; person
+	db SPRITE_OAK_AIDE, $c + 4, $5 + 4, $ff, $d0, $42, SCIENTIST + $C8, $2 ; trainer
+	db SPRITE_OAK_AIDE, $d + 4, $18 + 4, $ff, $d2, $43, SCIENTIST + $C8, $3 ; trainer
+	db SPRITE_ROCKET, $b + 4, $10 + 4, $ff, $d1, $44, ROCKET + $C8, $17 ; trainer
+	db SPRITE_ROCKET, $7 + 4, $18 + 4, $ff, $d1, $45, ROCKET + $C8, $18 ; trainer
+
+	; warp-to
+	EVENT_DISP $f, $0, $18 ; SILPH_CO_1F
+	EVENT_DISP $f, $0, $1a ; SILPH_CO_3F
+	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $f, $3, $3 ; SILPH_CO_3F
+	EVENT_DISP $f, $3, $d ; SILPH_CO_8F
+	EVENT_DISP $f, $f, $1b ; SILPH_CO_8F
+	EVENT_DISP $f, $f, $9 ; SILPH_CO_6F
+
+SilphCo2Blocks: ; 0x59ec8 135
+	INCBIN "maps/silphco2.blk"
+
+SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208)
+	db $16 ; tileset
+	db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x)
+	dw SilphCo3Blocks, SilphCo3Texts, SilphCo3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo3Object ; objects
+
+SilphCo3Script: ; 0x59f5b
+	call SilphCo3Script_Unknown59f71
+	call $3c3c
+	ld hl, SilphCo3TrainerHeaders
+	ld de, $5fbe
+	ld a, [$d644]
+	call $3160
+	ld [$d644], a
+	ret
+; 0x59f71
+
+SilphCo3Script_Unknown59f71: ; 0x59f71
+INCBIN "baserom.gbc",$59f71,$53
+
+SilphCo3Texts: ; 0x59fc4
+	dw SilphCo3Text1, SilphCo3Text2, SilphCo3Text3, SilphCo3Text4
+
+SilphCo3TrainerHeaders:
+SilphCo3TrainerHeader1: ; 0x59fcc
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d827 ; flag's byte
+	dw UnnamedText_5a00d ; 0x600d TextBeforeBattle
+	dw UnnamedText_5a017 ; 0x6017 TextAfterBattle
+	dw UnnamedText_5a012 ; 0x6012 TextEndBattle
+	dw UnnamedText_5a012 ; 0x6012 TextEndBattle
+; 0x59fd8
+
+TrainerHeader_59fd8: ; 0x59fd8
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d827 ; flag's byte
+	dw UnnamedText_5a026 ; 0x6026 TextBeforeBattle
+	dw UnnamedText_5a030 ; 0x6030 TextAfterBattle
+	dw UnnamedText_5a02b ; 0x602b TextEndBattle
+	dw UnnamedText_5a02b ; 0x602b TextEndBattle
+; 0x59fe4
+
+db $ff
+
+SilphCo3Text1: ; 0x59fe5
+	db $08 ; asm
+	ld a, [$d838]
+	bit 7, a
+	ld hl, UnnamedText_59ffe
+	jr nz, asm_8c56f ; 0x59fee
+	ld hl, UnnamedText_59ff9
+asm_8c56f ; 0x59ff3
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_59ff9: ; 0x59ff9
+	TX_FAR _UnnamedText_59ff9
+	db $50
+; 0x59ff9 + 5 bytes
+
+UnnamedText_59ffe: ; 0x59ffe
+	TX_FAR _UnnamedText_59ffe
+	db $50
+; 0x59ffe + 5 bytes
+
+SilphCo3Text2: ; 0x5a003
+	db $08 ; asm
+	ld hl, SilphCo3TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5a00d: ; 0x5a00d
+	TX_FAR _UnnamedText_5a00d
+	db $50
+; 0x5a00d + 5 bytes
+
+UnnamedText_5a012: ; 0x5a012
+	TX_FAR _UnnamedText_5a012
+	db $50
+; 0x5a012 + 5 bytes
+
+UnnamedText_5a017: ; 0x5a017
+	TX_FAR _UnnamedText_5a017
+	db $50
+; 0x5a017 + 5 bytes
+
+SilphCo3Text3: ; 0x5a01c
+	db $08 ; asm
+	ld hl, TrainerHeader_59fd8
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5a026: ; 0x5a026
+	TX_FAR _UnnamedText_5a026
+	db $50
+; 0x5a026 + 5 bytes
+
+UnnamedText_5a02b: ; 0x5a02b
+	TX_FAR _UnnamedText_5a02b
+	db $50
+; 0x5a02b + 5 bytes
+
+UnnamedText_5a030: ; 0x5a030
+	TX_FAR _UnnamedText_5a030
+	db $50
+; 0x5a030 + 5 bytes
+
+SilphCo3Object: ; 0x5a035 (size=113)
+	db $2e ; border tile
+
+	db $a ; warps
+	db $0, $1a, $1, SILPH_CO_2F
+	db $0, $18, $0, SILPH_CO_4F
+	db $0, $14, $0, SILPH_CO_ELEVATOR
+	db $b, $17, $9, SILPH_CO_3F
+	db $3, $3, $5, SILPH_CO_5F
+	db $f, $3, $6, SILPH_CO_5F
+	db $3, $1b, $3, SILPH_CO_2F
+	db $b, $3, $3, SILPH_CO_9F
+	db $b, $b, $4, SILPH_CO_7F
+	db $f, $1b, $3, SILPH_CO_3F
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_LAPRAS_GIVER, $8 + 4, $18 + 4, $ff, $ff, $1 ; person
+	db SPRITE_ROCKET, $7 + 4, $14 + 4, $ff, $d2, $42, ROCKET + $C8, $19 ; trainer
+	db SPRITE_OAK_AIDE, $9 + 4, $7 + 4, $ff, $d0, $43, SCIENTIST + $C8, $4 ; trainer
+	db SPRITE_BALL, $5 + 4, $8 + 4, $ff, $ff, $84, HYPER_POTION ; item
+
+	; warp-to
+	EVENT_DISP $f, $0, $1a ; SILPH_CO_2F
+	EVENT_DISP $f, $0, $18 ; SILPH_CO_4F
+	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $f, $b, $17 ; SILPH_CO_3F
+	EVENT_DISP $f, $3, $3 ; SILPH_CO_5F
+	EVENT_DISP $f, $f, $3 ; SILPH_CO_5F
+	EVENT_DISP $f, $3, $1b ; SILPH_CO_2F
+	EVENT_DISP $f, $b, $3 ; SILPH_CO_9F
+	EVENT_DISP $f, $b, $b ; SILPH_CO_7F
+	EVENT_DISP $f, $f, $1b ; SILPH_CO_3F
+
+SilphCo3Blocks: ; 0x5a0a6 135
+	INCBIN "maps/silphco3.blk"
+
+SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234)
+	db $16 ; tileset
+	db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x)
+	dw SilphCo10Blocks, SilphCo10Texts, SilphCo10Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo10Object ; objects
+
+SilphCo10Script: ; 0x5a139
+	call SilphCo10Script_Unknown5a14f
+	call $3c3c
+	ld hl, SilphCo10TrainerHeaders
+	ld de, $6180
+	ld a, [$d658]
+	call $3160
+	ld [$d658], a
+	ret
+; 0x5a14f
+
+SilphCo10Script_Unknown5a14f: ; 0x5a14f
+INCBIN "baserom.gbc",$5a14f,$37
+
+SilphCo10Texts: ; 0x5a186
+	dw SilphCo10Text1, SilphCo10Text2, SilphCo10Text3, SilphCo10Text4, SilphCo10Text5, SilphCo10Text6
+
+SilphCo10TrainerHeaders:
+SilphCo10TrainerHeader1: ; 0x5a192
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d835 ; flag's byte
+	dw UnnamedText_5a1dd ; 0x61dd TextBeforeBattle
+	dw UnnamedText_5a1e7 ; 0x61e7 TextAfterBattle
+	dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle
+	dw UnnamedText_5a1e2 ; 0x61e2 TextEndBattle
+; 0x5a19e
+
+TrainerHeader_5a19e: ; 0x5a19e
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d835 ; flag's byte
+	dw UnnamedText_5a1ec ; 0x61ec TextBeforeBattle
+	dw UnnamedText_5a1f6 ; 0x61f6 TextAfterBattle
+	dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle
+	dw UnnamedText_5a1f1 ; 0x61f1 TextEndBattle
+; 0x5a1aa
+
+db $ff
+
+SilphCo10Text1: ; 0x5a1ab
+	db $08 ; asm
+	ld hl, SilphCo10TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo10Text2: ; 0x5a1b5
+	db $08 ; asm
+	ld hl, TrainerHeader_5a19e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo10Text3: ; 0x5a1bf
+	db $08 ; asm
+	ld a, [$d838]
+	bit 7, a
+	ld hl, UnnamedText_5a1d8
+	jr nz, asm_cf85f ; 0x5a1c8
+	ld hl, UnnamedText_5a1d3
+asm_cf85f ; 0x5a1cd
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_5a1d3: ; 0x5a1d3
+	TX_FAR _UnnamedText_5a1d3
+	db $50
+; 0x5a1d3 + 5 bytes
+
+UnnamedText_5a1d8: ; 0x5a1d8
+	TX_FAR _UnnamedText_5a1d8
+	db $50
+; 0x5a1d8 + 5 bytes
+
+UnnamedText_5a1dd: ; 0x5a1dd
+	TX_FAR _UnnamedText_5a1dd
+	db $50
+; 0x5a1dd + 5 bytes
+
+UnnamedText_5a1e2: ; 0x5a1e2
+	TX_FAR _UnnamedText_5a1e2
+	db $50
+; 0x5a1e2 + 5 bytes
+
+UnnamedText_5a1e7: ; 0x5a1e7
+	TX_FAR _UnnamedText_5a1e7
+	db $50
+; 0x5a1e7 + 5 bytes
+
+UnnamedText_5a1ec: ; 0x5a1ec
+	TX_FAR _UnnamedText_5a1ec
+	db $50
+; 0x5a1ec + 5 bytes
+
+UnnamedText_5a1f1: ; 0x5a1f1
+	TX_FAR _UnnamedText_5a1f1
+	db $50
+; 0x5a1f1 + 5 bytes
+
+UnnamedText_5a1f6: ; 0x5a1f6
+	TX_FAR _UnnamedText_5a1f6
+	db $50
+; 0x5a1f6 + 5 bytes
+
+SilphCo10Object: ; 0x5a1fb (size=95)
+	db $2e ; border tile
+
+	db $6 ; warps
+	db $0, $8, $0, SILPH_CO_9F
+	db $0, $a, $0, SILPH_CO_11F
+	db $0, $c, $0, SILPH_CO_ELEVATOR
+	db $b, $9, $3, SILPH_CO_4F
+	db $f, $d, $5, SILPH_CO_4F
+	db $7, $d, $6, SILPH_CO_4F
+
+	db $0 ; signs
+
+	db $6 ; people
+	db SPRITE_ROCKET, $9 + 4, $1 + 4, $ff, $d3, $41, ROCKET + $C8, $27 ; trainer
+	db SPRITE_OAK_AIDE, $2 + 4, $a + 4, $ff, $d2, $42, SCIENTIST + $C8, $b ; trainer
+	db SPRITE_ERIKA, $f + 4, $9 + 4, $fe, $0, $3 ; person
+	db SPRITE_BALL, $c + 4, $2 + 4, $ff, $ff, $84, TM_26 ; item
+	db SPRITE_BALL, $e + 4, $4 + 4, $ff, $ff, $85, RARE_CANDY ; item
+	db SPRITE_BALL, $b + 4, $5 + 4, $ff, $ff, $86, CARBOS ; item
+
+	; warp-to
+	EVENT_DISP $8, $0, $8 ; SILPH_CO_9F
+	EVENT_DISP $8, $0, $a ; SILPH_CO_11F
+	EVENT_DISP $8, $0, $c ; SILPH_CO_ELEVATOR
+	EVENT_DISP $8, $b, $9 ; SILPH_CO_4F
+	EVENT_DISP $8, $f, $d ; SILPH_CO_4F
+	EVENT_DISP $8, $7, $d ; SILPH_CO_4F
+
+SilphCo10Blocks: ; 0x5a25a 72
+	INCBIN "maps/silphco10.blk"
+
+Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113)
+	db $05 ; tileset
+	db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x)
+	dw LanceBlocks, LanceTexts, LanceScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw LanceObject ; objects
+
+LanceScript: ; 0x5a2ae
+	call LanceScript_Unknown5a2c4
+	call $3c3c
+	ld hl, LanceTrainerHeaders
+	ld de, $62fa
+	ld a, [$d653]
+	call $3160
+	ld [$d653], a
+	ret
+; 0x5a2c4
+
+LanceScript_Unknown5a2c4: ; 0x5a2c4
+INCBIN "baserom.gbc",$5a2c4,$d1
+
+LanceTexts: ; 0x5a395
+	dw LanceText1
+
+LanceTrainerHeaders:
+LanceTrainerHeader1: ; 0x5a397
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d866 ; flag's byte
+	dw UnnamedText_5a3ae ; 0x63ae TextBeforeBattle
+	dw UnnamedText_5a3b8 ; 0x63b8 TextAfterBattle
+	dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle
+	dw UnnamedText_5a3b3 ; 0x63b3 TextEndBattle
+; 0x5a3a3
+
+db $ff
+
+LanceText1: ; 0x5a3a4
+	db $08 ; asm
+	ld hl, LanceTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5a3ae: ; 0x5a3ae
+	TX_FAR _UnnamedText_5a3ae
+	db $50
+; 0x5a3ae + 5 bytes
+
+UnnamedText_5a3b3: ; 0x5a3b3
+	TX_FAR _UnnamedText_5a3b3
+	db $50
+; 0x5a3b3 + 5 bytes
+
+UnnamedText_5a3b8: ; 0x5a3b8
+	TX_FAR _UnnamedText_5a3b8 ; 0x85e9e
+	db $8
+	ld hl, $d866
+	set 6, [hl]
+	jp TextScriptEnd
+; 0x5a3c5
+
+LanceObject: ; 0x5a3c5 (size=36)
+	db $3 ; border tile
+
+	db $3 ; warps
+	db $10, $18, $2, AGATHAS_ROOM
+	db $0, $5, $0, CHAMPIONS_ROOM
+	db $0, $6, $0, CHAMPIONS_ROOM
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_LANCE, $1 + 4, $6 + 4, $ff, $d0, $41, LANCE + $C8, $1 ; trainer
+
+	; warp-to
+	EVENT_DISP $d, $10, $18 ; AGATHAS_ROOM
+	EVENT_DISP $d, $0, $5 ; CHAMPIONS_ROOM
+	EVENT_DISP $d, $0, $6 ; CHAMPIONS_ROOM
+
+LanceBlocks: ; 0x5a3e9 169
+	INCBIN "maps/lance.blk"
+
+HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118)
+	db $07 ; tileset
+	db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x)
+	dw HallofFameRoomBlocks, HallofFameRoomTexts, HallofFameRoomScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw HallofFameRoomObject ; objects
+
+HallofFameRoomScript: ; 0x5a49e
+	call $3c3c
+	ld hl, HallofFameRoomScripts
+	ld a, [$d64b]
+	jp $3d97
+; 0x5a4aa
+
+INCBIN "baserom.gbc",$5a4aa,$5a4b2 - $5a4aa
+
+HallofFameRoomScripts: ; 0x5a4b2
+	dw HallofFameRoomScript0, HallofFameRoomScript1, HallofFameRoomScript2
+
+INCBIN "baserom.gbc",$5a4b8,$3
+
+HallofFameRoomScript2: ; 0x5a4bb
+	call Delay3
+	ld a, [$d358]
+	push af
+	xor a
+	ld [$cd6b], a
+	ld a, $55
+	call Predef
+	pop af
+	ld [$d358], a
+	ld hl, $d733
+	res 1, [hl]
+	inc hl
+	set 0, [hl]
+	xor a
+	ld hl, $d64d
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld [$d653], a
+	ld [$d64b], a
+	ld hl, $d863
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	xor a
+	ld [$d64b], a
+	ld a, $0
+	ld [$d719], a
+	ld b, $1c
+	ld hl, $7848
+	call Bankswitch
+	ld b, $5
+.asm_5a4ff
+	ld c, $78
+	call $3739
+	dec b
+	jr nz, .asm_5a4ff ; 0x5a505 $f8
+	call $3865
+	jp $1f54
+; 0x5a50d
+
+HallofFameRoomScript0: ; 0x5a50d
+	ld a, $ff
+	ld [$cd6b], a
+	ld hl, $ccd3
+	ld de, $6528
+	call $350c
+	dec a
+	ld [$cd38], a
+	call $3486
+	ld a, $1
+	ld [$d64b], a
+	ret
+; 0x5a528
+
+INCBIN "baserom.gbc",$5a528,$5a52b - $5a528
+
+HallofFameRoomScript1: ; 0x5a52b
+	ld a, [$cd38]
+	and a
+	ret nz
+	ld a, $1
+	ld [$d528], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $3541
+	ld a, $8
+	ld [$ff00+$8d], a
+	call $34a6
+	call Delay3
+	xor a
+	ld [$cd6b], a
+	inc a
+	ld [$d528], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $ff
+	ld [$cd6b], a
+	ld a, $8
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, $2
+	ld [$d64b], a
+	ret
+; 0x5a56a
+
+HallofFameRoomTexts: ; 0x5a56a
+	dw HallofFameRoomText1
+
+HallofFameRoomText1: ; 0x5a56c
+	TX_FAR _HallofFameRoomText1
+	db $50
+
+HallofFameRoomObject: ; 0x5a571 (size=26)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $7, $4, $2, CHAMPIONS_ROOM
+	db $7, $5, $3, CHAMPIONS_ROOM
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_OAK, $2 + 4, $5 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $5, $7, $4 ; CHAMPIONS_ROOM
+	EVENT_DISP $5, $7, $5 ; CHAMPIONS_ROOM
+
+HallofFameRoomBlocks: ; 0x5a58b 20
+	INCBIN "maps/halloffameroom.blk"
+
+INCBIN "baserom.gbc",$5a59f,$1a61
+
+SECTION "bank17",DATA,BANK[$17]
+
+SaffronMartBlocks:
+LavenderMartBlocks:
+CeruleanMartBlocks:
+VermilionMartBlocks: ; 0x5c000 16
+	INCBIN "maps/vermilionmart.blk"
+
+CopycatsHouseF2Blocks:
+RedsHouse2FBlocks: ; 0x5c010 16?
+	INCBIN "maps/redshouse2f.blk"
+
+MuseumF1Blocks: ; 0x5c020 40
+	INCBIN "maps/museumf1.blk"
+
+MuseumF2Blocks: ; 0x5c048 28
+	INCBIN "maps/museumf2.blk"
+
+SaffronPokecenterBlocks:
+VermilionPokecenterBlocks:
+LavenderPokecenterBlocks:
+PewterPokecenterBlocks: ; 0x5c064 28
+	INCBIN "maps/pewterpokecenter.blk"
+
+UndergroundTunnelEntranceRoute7Blocks:
+UndergroundTunnelEntranceRoute6Blocks:
+UndergroundTunnelEntranceRoute5Blocks: ; 0x5c080 16
+	INCBIN "maps/undergroundtunnelentranceroute5.blk"
+
+Route2GateBlocks:
+ViridianForestEntranceBlocks:
+ViridianForestexitBlocks: ; 0x5c090 20
+	INCBIN "maps/viridianforestexit.blk"
+
+RedsHouse2F_h:
+	db $04 ; tileset
+	db $04,$04 ; dimensions
+	dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript
+	db 0 ; no connections
+	dw RedsHouse2FObject
+
+RedsHouse2FScript:
+	call $3C3C
+	ld hl,RedsHouse2FScriptPointers
+	ld a,[$D60C]
+	jp $3D97
+
+RedsHouse2FScriptPointers:
+	dw RedsHouse2FScript1,RedsHouse2FScript2
+
+RedsHouse2FScript1:
+	xor a
+	ld [$FFB4],a
+	ld a,8
+	ld [$D528],a
+	ld a,1
+	ld [$D60C],a
+	ret
+
+RedsHouse2FScript2: ; 0x5c0ed
+	ret
+
+RedsHouse2FTexts: ; 0x5c0ef
+	db "@"
+
+RedsHouse2FObject: ; 0x5c0d0 ?
+	db $0A ; border tile
+
+	db 1 ; warps
+	db 1,7,2,$25
+
+	db 0 ; signs
+
+	db 0 ; people
+
+	dw $C6EF + 4 + (4 + 6) * 0 + 3
+	db 1,7
+
+INCBIN "baserom.gbc",$5c0dc,$5c0eb - $5c0dc
+
+MuseumF1_h: ; 0x5c0eb to 0x5c0f7 (12 bytes) (id=52)
+	db $0a ; tileset
+	db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x)
+	dw MuseumF1Blocks, MuseumF1Texts, MuseumF1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw MuseumF1Object ; objects
+
+MuseumF1Script: ; 0x5c0f7
+	ld a, $1
+	ld [$cf0c], a
+	xor a
+	ld [$cc3c], a
+	ld hl, MuseumF1Scripts
+	ld a, [$d619]
+	jp $3d97
+; 0x5c109
+
+MuseumF1Scripts: ; 0x5c109
+	dw MuseumF1Script0, MuseumF1Script1
+
+MuseumF1Script0: ; 0x5c10d
+	ld a, [$d361]
+	cp $4
+	ret nz
+	ld a, [$d362]
+	cp $9
+	jr z, .asm_5c120 ; 0x5c118 $6
+	ld a, [$d362]
+	cp $a
+	ret nz
+.asm_5c120
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	jp $2920
+; 0x5c12a
+
+MuseumF1Script1: ; 0x5c12a
+	ret
+; 0x5c12b
+
+MuseumF1Texts: ; 0x5c12b
+	dw MuseumF1Text1, MuseumF1Text2, MuseumF1Text3, MuseumF1Text4, MuseumF1Text5
+
+MuseumF1Text1: ; 0x5c135
+	db $8
+	ld a, [$d361]
+	cp $4
+	jr nz, asm_8774b ; 0x5c13b $a
+	ld a, [$d362]
+	cp $d
+	jp z, $41f9
+	jr asm_b8709 ; 0x5c145 $1c
+asm_8774b: ; 0x5c147
+	cp $3
+	jr nz, asm_d49e7 ; 0x5c149 $8
+	ld a, [$d362]
+	cp $c
+	jp z, $41f9
+asm_d49e7: ; 0x5c153
+	ld a, [$d754]
+	bit 0, a
+	jr nz, asm_31a16 ; 0x5c158 $10
+	ld hl, UnnamedText_5c23d
+	call PrintText
+	jp $4217
+asm_b8709: ; 0x5c163
+	ld a, [$d754]
+	bit 0, a
+	jr z, asm_3ded4 ; 0x5c168 $9
+asm_31a16: ; 0x5c16a
+	ld hl, UnnamedText_5c242
+	call PrintText
+	jp $4217
+asm_3ded4: ; 0x5c173
+	ld a, $13
+	ld [$d125], a
+	call $30e8
+	xor a
+	ld [$ff00+$b4], a
+	ld hl, UnnamedText_5c21f
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, asm_de133 ; 0x5c18b $4d
+	xor a
+	ld [$ff00+$9f], a
+	ld [$ff00+$a0], a
+	ld a, $50
+	ld [$ff00+$a1], a
+	call $35a6
+	jr nc, asm_0f3e3 ; 0x5c199 $9
+	ld hl, UnnamedText_5c229
+	call PrintText
+	jp $41da
+asm_0f3e3: ; 0x5c1a4
+	ld hl, UnnamedText_5c224
+	call PrintText
+	ld hl, $d754
+	set 0, [hl]
+	xor a
+	ld [$cd3d], a
+	ld [$cd3e], a
+	ld a, $50
+	ld [$cd3f], a
+	ld hl, $cd3f
+	ld de, $d349
+	ld c, $3
+	ld a, $c
+	call Predef
+	ld a, $13
+	ld [$d125], a
+	call $30e8
+	ld a, $b2
+	call $3740
+	call $3748
+	jr asm_0b094 ; 0x5c1d8 $18
+asm_de133: ; 0x5c1da
+	ld hl, $421a
+	call PrintText
+	ld a, $1
+	ld [$cd38], a
+	ld a, $80
+	ld [$ccd3], a
+	call $3486
+	call $2429
+	jr asm_d1145 ; 0x5c1f0 $25
+asm_0b094: ; 0x5c1f2
+	ld a, $1
+	ld [$d619], a
+	jr asm_d1145 ; 0x5c1f7 $1e
+;XXX what calls this?
+	ld hl, UnnamedText_5c22e
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	cp $0
+	jr nz, asm_d1144
+	ld hl, UnnamedText_5c233
+	call PrintText
+	jr asm_d1145 ; 0x5c20f $6
+asm_d1144:
+	ld hl, UnnamedText_5c238
+	call PrintText
+asm_d1145: ; 0x5c217
+	jp TextScriptEnd
+; 0x5c21a
+
+UnnamedText_5c21a: ; 0x5c21a
+	TX_FAR _UnnamedText_5c21a
+	db $50
+; 0x5c21a + 5 bytes
+
+UnnamedText_5c21f: ; 0x5c21f
+	TX_FAR _UnnamedText_5c21f
+	db $50
+; 0x5c21f + 5 bytes
+
+UnnamedText_5c224: ; 0x5c224
+	TX_FAR _UnnamedText_5c224
+	db $50
+; 0x5c224 + 5 bytes
+
+UnnamedText_5c229: ; 0x5c229
+	TX_FAR _UnnamedText_5c229
+	db $50
+; 0x5c229 + 5 bytes
+
+UnnamedText_5c22e: ; 0x5c22e
+	TX_FAR _UnnamedText_5c22e
+	db $50
+; 0x5c22e + 5 bytes
+
+UnnamedText_5c233: ; 0x5c233
+	TX_FAR _UnnamedText_5c233
+	db $50
+; 0x5c233 + 5 bytes
+
+UnnamedText_5c238: ; 0x5c238
+	TX_FAR _UnnamedText_5c238
+	db $50
+; 0x5c238 + 5 bytes
+
+UnnamedText_5c23d: ; 0x5c23d
+	TX_FAR _UnnamedText_5c23d
+	db $50
+; 0x5c23d + 5 bytes
+
+UnnamedText_5c242: ; 0x5c242
+	TX_FAR _UnnamedText_5c242
+	db $50
+; 0x5c242 + 5 bytes
+
+MuseumF1Text2: ; 0x5c247
+	db $08 ; asm
+	ld hl, UnnamedText_5c251
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_5c251: ; 0x5c251
+	TX_FAR _UnnamedText_5c251
+	db $50
+; 0x5c251 + 5 bytes
+
+MuseumF1Text3: ; 0x5c256
+	db $08 ; asm
+	ld a, [$d754]
+	bit 1, a
+	jr nz, .asm_16599 ; 0x5c25c
+	ld hl, UnnamedText_5c28e
+	call PrintText
+	ld bc, (OLD_AMBER << 8) | 1
+	call GiveItem
+	jr nc, .asm_91ebf ; 0x5c26a
+	ld hl, $d754
+	set 1, [hl]
+	ld a, $34
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld hl, ReceivedOldAmberText
+	jr .asm_52e0f ; 0x5c27e
+.asm_91ebf ; 0x5c280
+	ld hl, UnnamedText_5c29e
+	jr .asm_52e0f ; 0x5c283
+.asm_16599 ; 0x5c285
+	ld hl, UnnamedText_5c299
+.asm_52e0f ; 0x5c288
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_5c28e: ; 0x5c28e
+	TX_FAR _UnnamedText_5c28e
+	db $50
+; 0x5c28e + 5 bytes
+
+ReceivedOldAmberText: ; 0x5c293
+	TX_FAR _ReceivedOldAmberText ; 0x96790
+	db $0B, $50
+; 0x5c293 + 6 bytes = 0x5c299
+
+UnnamedText_5c299: ; 0x5c299
+	TX_FAR _UnnamedText_5c299
+	db $50
+; 0x5c299 + 5 bytes
+
+UnnamedText_5c29e: ; 0x5c29e
+	TX_FAR _UnnamedText_5c29e
+	db $50
+; 0x5c29e + 5 bytes
+
+MuseumF1Text4: ; 0x5c2a3
+	db $08 ; asm
+	ld hl, UnnamedText_5c2ad
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_5c2ad: ; 0x5c2ad
+	TX_FAR _UnnamedText_5c2ad
+	db $50
+; 0x5c2ad + 5 bytes
+
+MuseumF1Text5: ; 0x5c2b2
+	db $08 ; asm
+	ld hl, UnnamedText_5c2bc
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_5c2bc: ; 0x5c2bc
+	TX_FAR _UnnamedText_5c2bc
+	db $50
+; 0x5c2bc + 5 bytes
+
+MuseumF1Object: ; 0x5c2c1 (size=74)
+	db $a ; border tile
+
+	db $5 ; warps
+	db $7, $a, $0, $ff
+	db $7, $b, $0, $ff
+	db $7, $10, $1, $ff
+	db $7, $11, $1, $ff
+	db $7, $7, $0, MUSEUM_2F
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_OAK_AIDE, $4 + 4, $c + 4, $ff, $d2, $1 ; person
+	db SPRITE_GAMBLER, $4 + 4, $1 + 4, $ff, $ff, $2 ; person
+	db SPRITE_OAK_AIDE, $2 + 4, $f + 4, $ff, $d0, $3 ; person
+	db SPRITE_OAK_AIDE, $4 + 4, $11 + 4, $ff, $ff, $4 ; person
+	db SPRITE_OLD_AMBER, $2 + 4, $10 + 4, $ff, $ff, $5 ; person
+
+	; warp-to
+	EVENT_DISP $a, $7, $a
+	EVENT_DISP $a, $7, $b
+	EVENT_DISP $a, $7, $10
+	EVENT_DISP $a, $7, $11
+	EVENT_DISP $a, $7, $7 ; MUSEUM_2F
+
+MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53)
+	db $0a ; tileset
+	db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x)
+	dw MuseumF2Blocks, MuseumF2Texts, MuseumF2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw MuseumF2Object ; objects
+
+MuseumF2Script: ; 0x5c317
+	jp $3c3c
+; 0x5c31a
+
+MuseumF2Texts: ; 0x5c31a
+	dw MuseumF2Text1, MuseumF2Text2, MuseumF2Text3, MuseumF2Text4, MuseumF2Text5, MuseumF2Text6, MuseumF2Text7
+
+MuseumF2Text1: ; 0x5c328
+	TX_FAR _MuseumF2Text1
+	db $50
+
+MuseumF2Text2: ; 0x5c32d
+	TX_FAR _MuseumF2Text2
+	db $50
+
+MuseumF2Text3: ; 0x5c332
+	TX_FAR _MuseumF2Text3
+	db $50
+
+MuseumF2Text4: ; 0x5c337
+	TX_FAR _MuseumF2Text4
+	db $50
+
+MuseumF2Text5: ; 0x5c33c
+	TX_FAR _MuseumF2Text5
+	db $50
+
+MuseumF2Text6: ; 0x5c341
+	TX_FAR _MuseumF2Text6
+	db $50
+
+MuseumF2Text7: ; 0x5c346
+	TX_FAR _MuseumF2Text7
+	db $50
+
+MuseumF2Object: ; 0x5c34b (size=48)
+	db $a ; border tile
+
+	db $1 ; warps
+	db $7, $7, $4, MUSEUM_1F
+
+	db $2 ; signs
+	db $2, $b, $6 ; MuseumF2Text6
+	db $5, $2, $7 ; MuseumF2Text7
+
+	db $5 ; people
+	db SPRITE_BUG_CATCHER, $7 + 4, $1 + 4, $fe, $2, $1 ; person
+	db SPRITE_OLD_PERSON, $5 + 4, $0 + 4, $ff, $d0, $2 ; person
+	db SPRITE_OAK_AIDE, $5 + 4, $7 + 4, $ff, $d0, $3 ; person
+	db SPRITE_BRUNETTE_GIRL, $5 + 4, $b + 4, $ff, $ff, $4 ; person
+	db SPRITE_HIKER, $5 + 4, $c + 4, $ff, $d0, $5 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $7 ; MUSEUM_1F
+
+PewterGym_h: ; 0x5c37b to 0x5c387 (12 bytes) (id=54)
+	db $07 ; tileset
+	db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x)
+	dw PewterGymBlocks, PewterGymTexts, PewterGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PewterGymObject ; objects
+
+PewterGymScript: ; 0x5c387
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, PewterGymScript_Unknown5c3a4
+	call $3c3c
+	ld hl, PewterGymTrainerHeaders
+	ld de, $43ca
+	ld a, [$d5fc]
+	call $3160
+	ld [$d5fc], a
+	ret
+; 0x5c3a4
+
+PewterGymScript_Unknown5c3a4: ; 0x5c3a4
+INCBIN "baserom.gbc",$5c3a4,$91
+
+PewterGymTexts: ; 0x5c435
+	dw PewterGymText1, PewterGymText2, PewterGymText3, PewterGymText4, PewterGymText5, PewterGymText6
+
+PewterGymTrainerHeaders:
+PewterGymTrainerHeader1: ; 0x5c441
+	db $2 ; flag's bit
+	db ($5 << 4) ; trainer's view range
+	dw $d755 ; flag's byte
+	dw UnnamedText_5c4d0 ; 0x44d0 TextBeforeBattle
+	dw UnnamedText_5c4da ; 0x44da TextAfterBattle
+	dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle
+	dw UnnamedText_5c4d5 ; 0x44d5 TextEndBattle
+; 0x5c44d
+
+db $ff
+
+PewterGymText1: ; 0x5c44e
+	db $08 ; asm
+	ld a, [$d755]
+	bit 7, a
+	jr z, .asm_4a735 ; 0x5c454
+	bit 6, a
+	jr nz, .asm_ff7d0 ; 0x5c458
+	call z, $43df
+	call $30b6
+	jr .asm_e0ffb ; 0x5c460
+.asm_ff7d0 ; 0x5c462
+	ld hl, UnnamedText_5c4a3
+	call PrintText
+	jr .asm_e0ffb ; 0x5c468
+.asm_4a735 ; 0x5c46a
+	ld hl, UnnamedText_5c49e
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_5c4bc
+	ld de, UnnamedText_5c4bc
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $1
+	ld [$d05c], a
+	xor a
+	ldh [$b4], a
+	ld a, $3
+	ld [$d5fc], a
+	ld [$da39], a
+.asm_e0ffb ; 0x5c49b
+	jp TextScriptEnd
+
+UnnamedText_5c49e: ; 0x5c49e
+	TX_FAR _UnnamedText_5c49e
+	db $50
+; 0x5c49e + 5 bytes
+
+UnnamedText_5c4a3: ; 0x5c4a3
+	TX_FAR _UnnamedText_5c4a3
+	db $50
+; 0x5c4a3 + 5 bytes
+
+PewterGymText4: ; 0x5c4a8
+	TX_FAR _UnnamedText_5c4a8
+	db $50
+; 0x5c4a8 + 5 bytes
+
+PewterGymText5: ; 0x5c4ad
+	TX_FAR _ReceivedTM34Text ; 0x980ad
+	db $0B
+	TX_FAR _UnnamedText_5c4b2 ; 0x980c0
+	db $50
+; 0x5c4ad + 10 bytes = 0x5c4b7
+
+PewterGymText6: ; 0x5c4b7
+	TX_FAR _UnnamedText_5c4b7
+	db $50
+
+UnnamedText_5c4bc: ; 0x5c4bc
+	TX_FAR _UnnamedText_5c4bc ; 0x981c9
+	db $0B
+	TX_FAR _UnnamedText_5c4c1 ; 0x98232
+	db $50
+; 0x5c4c6
+
+PewterGymText2: ; 0x5c4c6
+	db $08 ; asm
+	ld hl, PewterGymTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5c4d0: ; 0x5c4d0
+	TX_FAR _UnnamedText_5c4d0
+	db $50
+; 0x5c4d0 + 5 bytes
+
+UnnamedText_5c4d5: ; 0x5c4d5
+	TX_FAR _UnnamedText_5c4d5
+	db $50
+; 0x5c4d5 + 5 bytes
+
+UnnamedText_5c4da: ; 0x5c4da
+	TX_FAR _UnnamedText_5c4da
+	db $50
+; 0x5c4da + 5 bytes
+
+PewterGymText3: ; 0x5c4df
+	db $08 ; asm
+	ld a, [$d72a]
+	bit 0, a
+	jr nz, .asm_71369 ; 0x5c4e5
+	ld hl, UnnamedText_5c515
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_6123a ; 0x5c4f4
+	ld hl, UnnamedText_5c51a
+	call PrintText
+	jr .asm_d1578 ; 0x5c4fc
+.asm_6123a ; 0x5c4fe
+	ld hl, UnnamedText_5c524
+	call PrintText
+.asm_d1578 ; 0x5c504
+	ld hl, UnnamedText_5c51f
+	call PrintText
+	jr .asm_07013 ; 0x5c50a
+.asm_71369 ; 0x5c50c
+	ld hl, UnnamedText_5c529
+	call PrintText
+.asm_07013 ; 0x5c512
+	jp TextScriptEnd
+
+UnnamedText_5c515: ; 0x5c515
+	TX_FAR _UnnamedText_5c515
+	db $50
+; 0x5c515 + 5 bytes
+
+UnnamedText_5c51a: ; 0x5c51a
+	TX_FAR _UnnamedText_5c51a
+	db $50
+; 0x5c51a + 5 bytes
+
+UnnamedText_5c51f: ; 0x5c51f
+	TX_FAR _UnnamedText_5c51f
+	db $50
+; 0x5c51f + 5 bytes
+
+UnnamedText_5c524: ; 0x5c524
+	TX_FAR _UnnamedText_5c524
+	db $50
+; 0x5c524 + 5 bytes
+
+UnnamedText_5c529: ; 0x5c529
+	TX_FAR _UnnamedText_5c529
+	db $50
+; 0x5c529 + 5 bytes
+
+PewterGymObject: ; 0x5c52e (size=42)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $d, $4, $2, $ff
+	db $d, $5, $2, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $1 + 4, $4 + 4, $ff, $d0, $41, BROCK + $C8, $1 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $3 + 4, $ff, $d3, $42, JR__TRAINER_M + $C8, $1 ; trainer
+	db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $3 ; person
+
+	; warp-to
+	EVENT_DISP $5, $d, $4
+	EVENT_DISP $5, $d, $5
+
+PewterGymBlocks: ; 0x5c558 35
+	INCBIN "maps/pewtergym.blk"
+
+PewterPokecenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58)
+	db $06 ; tileset
+	db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x)
+	dw PewterPokecenterBlocks, PewterPokecenterTexts, PewterPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PewterPokecenterObject ; objects
+
+PewterPokecenterScript: ; 0x5c587
+	call $22fa
+	jp $3c3c
+; 0x5c58d
+
+PewterPokecenterTexts: ; 0x5c58d
+	dw PewterPokecenterText1, PewterPokecenterText2, PewterPokecenterText3, PewterPokecenterText4
+
+PewterPokecenterText1: ; 0x5c595
+	db $ff
+
+PewterPokecenterText2: ; 0x5c596
+	TX_FAR _PewterPokecenterText1
+	db $50
+
+PewterPokecenterText3: ; 0x5c59b
+	db $8
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, PewterPokecenterText5
+	call PrintText
+	ld a, $ff
+	call $23b1
+	ld c, $20
+	call $3739
+	ld hl, $4608
+	ld de, $cd3f
+	ld bc, $0004
+	call CopyData
+	ld a, [$c132]
+	ld hl, $cd3f
+.asm_5c5c3
+	cp [hl]
+	inc hl
+	jr nz, .asm_5c5c3 ; 0x5c5c5 $fc
+	dec hl
+	push hl
+	ld c, $1f
+	ld a, $d0
+	call $23a1
+	pop hl
+.asm_5c5d1
+	ld a, [hl]
+	ld [$c132], a
+	push hl
+	ld hl, $cd3f
+	ld de, $cd3e
+	ld bc, $0004
+	call CopyData
+	ld a, [$cd3e]
+	ld [$cd42], a
+	pop hl
+	ld c, $18
+	call $3739
+	ld a, [$c026]
+	ld b, a
+	ld a, [$c027]
+	or b
+	jr nz, .asm_5c5d1 ; 0x5c5f6 $d9
+	ld c, $30
+	call $3739
+	call $2307
+	jp TextScriptEnd
+; 0x5c603
+
+PewterPokecenterText5: ; 0x5c603
+	TX_FAR _PewterPokecenterText5 ; 0x98744
+	db $50
+; 0x5c603 + 5 bytes = 0x5c608
+
+; 0x5c608 XXX
+db $30, $38, $34, $3c
+
+PewterPokecenterText4: ; 0x5c60b
+	db $f6
+
+PewterPokecenterObject: ; 0x5c60d (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $6, $ff
+	db $7, $4, $6, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GENTLEMAN, $7 + 4, $b + 4, $ff, $d2, $2 ; person
+	db SPRITE_CLEFAIRY, $3 + 4, $1 + 4, $ff, $d0, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+CeruleanPokecenter_h: ; 0x5c639 to 0x5c645 (12 bytes) (id=64)
+	db $06 ; tileset
+	db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x)
+	dw CeruleanPokecenterBlocks, CeruleanPokecenterTexts, CeruleanPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeruleanPokecenterObject ; objects
+
+CeruleanPokecenterScript: ; 0x5c645
+	call $22fa
+	jp $3c3c
+; 0x5c64b
+
+CeruleanPokecenterTexts:
+	dw CeruleanPokecenterText1, CeruleanPokecenterText2, CeruleanPokecenterText3, CeruleanPokecenterText4
+
+CeruleanPokecenterText4:
+	db $f6
+
+CeruleanPokecenterText1: ; 0x5c654
+	db $ff
+
+CeruleanPokecenterText2: ; 0x5c655
+	TX_FAR _CeruleanPokecenterText1
+	db $50
+
+CeruleanPokecenterText3:
+	TX_FAR _CeruleanPokecenterText3
+	db $50
+
+CeruleanPokecenterObject: ; 0x5c65f (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $2, $ff
+	db $7, $4, $2, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $a + 4, $fe, $0, $2 ; person
+	db SPRITE_GENTLEMAN, $3 + 4, $4 + 4, $ff, $d0, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+CeruleanPokecenterBlocks: ; 0x5c68b 28
+	INCBIN "maps/ceruleanpokecenter.blk"
+
+CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65)
+	db $07 ; tileset
+	db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x)
+	dw CeruleanGymBlocks, CeruleanGymTexts, CeruleanGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeruleanGymObject ; objects
+
+CeruleanGymScript: ; 0x5c6b3
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, CeruleanGymScript_Unknown5c6d0
+	call $3c3c
+	ld hl, CeruleanGymTrainerHeaders
+	ld de, $46f8
+	ld a, [$d5fd]
+	call $3160
+	ld [$d5fd], a
+	ret
+; 0x5c6d0
+
+CeruleanGymScript_Unknown5c6d0: ; 0x5c6d0
+INCBIN "baserom.gbc",$5c6d0,$7a
+
+CeruleanGymTexts: ; 0x5c74a
+	dw CeruleanGymText1, CeruleanGymText2, CeruleanGymText3, CeruleanGymText4, CeruleanGymText5, CeruleanGymText6, CeruleanGymText7
+
+CeruleanGymTrainerHeaders:
+CeruleanGymTrainerHeader1: ; 0x5c758
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d75e ; flag's byte
+	dw UnnamedText_5c7e9 ; 0x47e9 TextBeforeBattle
+	dw UnnamedText_5c7f3 ; 0x47f3 TextAfterBattle
+	dw UnnamedText_5c7ee ; 0x47ee TextEndBattle
+	dw UnnamedText_5c7ee ; 0x47ee TextEndBattle
+; 0x5c764
+
+TrainerHeader_5c764: ; 0x5c764
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d75e ; flag's byte
+	dw UnnamedText_5c802 ; 0x4802 TextBeforeBattle
+	dw UnnamedText_5c80c ; 0x480c TextAfterBattle
+	dw UnnamedText_5c807 ; 0x4807 TextEndBattle
+	dw UnnamedText_5c807 ; 0x4807 TextEndBattle
+; 0x5c770
+
+db $ff
+
+CeruleanGymText1: ; 0x5c771
+	db $08 ; asm
+	ld a, [$d75e]
+	bit 7, a
+	jr z, .asm_10854 ; 0x5c777
+	bit 6, a
+	jr nz, .asm_37a1b ; 0x5c77b
+	call z, $470d
+	call $30b6
+	jr .asm_95b04 ; 0x5c783
+.asm_37a1b ; 0x5c785
+	ld hl, UnnamedText_5c7c3
+	call PrintText
+	jr .asm_95b04 ; 0x5c78b
+.asm_10854 ; 0x5c78d
+	ld hl, UnnamedText_5c7be
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $47d8
+	ld de, $47d8
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $2
+	ld [$d05c], a
+	xor a
+	ldh [$b4], a
+	ld a, $3
+	ld [$d5fd], a
+.asm_95b04 ; 0x5c7bb
+	jp TextScriptEnd
+
+UnnamedText_5c7be: ; 0x5c7be
+	TX_FAR _UnnamedText_5c7be
+	db $50
+; 0x5c7be + 5 bytes
+
+UnnamedText_5c7c3: ; 0x5c7c3
+	TX_FAR _UnnamedText_5c7c3
+	db $50
+; 0x5c7c3 + 5 bytes
+
+CeruleanGymText5: ; 0x5c7c8
+	TX_FAR _UnnamedText_5c7c8
+	db $50
+; 0x5c7c8 + 5 bytes
+
+CeruleanGymText6: ; 0x5c7cd
+ReceivedTM11Text: ; 0x5c7cd
+	TX_FAR _ReceivedTM11Text ; 0x98b7d
+	db $0B, $50
+; 0x5c7cd + 6 bytes = 0x5c7d3
+
+CeruleanGymText7: ; 0x5c7d3
+	TX_FAR _UnnamedText_5c7d3
+	db $50
+; 0x5c7d3 + 5 bytes
+
+UnnamedText_5c7d8: ; 0x5c7d8
+	TX_FAR _UnnamedText_5c7d8 ; 0x98bb0
+	db $11, $6, $50
+; 0x5c7d8 + 7 bytes = 0x5c7df
+
+CeruleanGymText2: ; 0x5c7df
+	db $08 ; asm
+	ld hl, CeruleanGymTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5c7e9: ; 0x5c7e9
+	TX_FAR _UnnamedText_5c7e9
+	db $50
+; 0x5c7e9 + 5 bytes
+
+UnnamedText_5c7ee: ; 0x5c7ee
+	TX_FAR _UnnamedText_5c7ee
+	db $50
+; 0x5c7ee + 5 bytes
+
+UnnamedText_5c7f3: ; 0x5c7f3
+	TX_FAR _UnnamedText_5c7f3
+	db $50
+; 0x5c7f3 + 5 bytes
+
+CeruleanGymText3: ; 0x5c7f8
+	db $08 ; asm
+	ld hl, TrainerHeader_5c764
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5c802: ; 0x5c802
+	TX_FAR _UnnamedText_5c802
+	db $50
+; 0x5c802 + 5 bytes
+
+UnnamedText_5c807: ; 0x5c807
+	TX_FAR _UnnamedText_5c807
+	db $50
+; 0x5c807 + 5 bytes
+
+UnnamedText_5c80c: ; 0x5c80c
+	TX_FAR _UnnamedText_5c80c
+	db $50
+; 0x5c80c + 5 bytes
+
+CeruleanGymText4: ; 0x5c811
+	db $08 ; asm
+	ld a, [$d75e]
+	bit 7, a
+	jr nz, .asm_f80ce ; 0x5c817
+	ld hl, UnnamedText_5c82a
+	call PrintText
+	jr .asm_18a31 ; 0x5c81f
+.asm_f80ce ; 0x5c821
+	ld hl, UnnamedText_5c82f
+	call PrintText
+.asm_18a31 ; 0x5c827
+	jp TextScriptEnd
+
+UnnamedText_5c82a: ; 0x5c82a
+	TX_FAR _UnnamedText_5c82a
+	db $50
+; 0x5c82a + 5 bytes
+
+UnnamedText_5c82f: ; 0x5c82f
+	TX_FAR _UnnamedText_5c82f
+	db $50
+; 0x5c82f + 5 bytes
+
+CeruleanGymObject: ; 0x5c834 (size=50)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $d, $4, $3, $ff
+	db $d, $5, $3, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_BRUNETTE_GIRL, $2 + 4, $4 + 4, $ff, $d0, $41, MISTY + $C8, $1 ; trainer
+	db SPRITE_LASS, $3 + 4, $2 + 4, $ff, $d3, $42, JR__TRAINER_F + $C8, $1 ; trainer
+	db SPRITE_SWIMMER, $7 + 4, $8 + 4, $ff, $d2, $43, SWIMMER + $C8, $1 ; trainer
+	db SPRITE_GYM_HELPER, $a + 4, $7 + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $5, $d, $4
+	EVENT_DISP $5, $d, $5
+
+CeruleanGymBlocks: ; 0x5c866 35
+	INCBIN "maps/ceruleangym.blk"
+
+CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67)
+	db $02 ; tileset
+	db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x)
+	dw CeruleanMartBlocks, CeruleanMartTexts, CeruleanMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeruleanMartObject ; objects
+
+CeruleanMartScript: ; 0x5c895
+	jp $3c3c
+; 0x5c898
+
+CeruleanMartTexts: ; 0x5c898
+	dw CeruleanMartText1, CeruleanMartText2, CeruleanMartText3
+
+CeruleanMartText2: ; 0x5c89e
+	TX_FAR _CeruleanMartText2
+	db $50
+
+CeruleanMartText3: ; 0x5c8a3
+	TX_FAR _CeruleanMartText3
+	db $50
+
+CeruleanMartObject: ; 0x5c8a8 (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $5, $ff
+	db $7, $4, $5, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $4 + 4, $3 + 4, $fe, $1, $2 ; person
+	db SPRITE_LASS, $2 + 4, $6 + 4, $fe, $2, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+LavenderPokecenter_h: ; 0x5c8ce to 0x5c8da (12 bytes) (id=141)
+	db $06 ; tileset
+	db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x)
+	dw LavenderPokecenterBlocks, LavenderPokecenterTexts, LavenderPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw LavenderPokecenterObject ; objects
+
+LavenderPokecenterScript: ; 0x5c8da
+	call $22fa
+	jp $3c3c
+; 0x5c8e0
+
+LavenderPokecenterTexts:
+	dw LavenderPokecenterText1, LavenderPokecenterText2, LavenderPokecenterText3, LavenderPokecenterText4
+
+LavenderPokecenterText4:
+	db $f6
+
+LavenderPokecenterText1: ; 0x5c8ea
+	db $ff
+
+LavenderPokecenterText2: ; 0x5c8eb
+	TX_FAR _LavenderPokecenterText1
+	db $50
+
+LavenderPokecenterText3: ; 0x5c8ef
+	TX_FAR _LavenderPokecenterText3
+	db $50
+
+LavenderPokecenterObject: ; 0x5c8f4 (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $0, $ff
+	db $7, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_GENTLEMAN, $3 + 4, $5 + 4, $ff, $ff, $2 ; person
+	db SPRITE_LITTLE_GIRL, $6 + 4, $2 + 4, $fe, $1, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150)
+	db $02 ; tileset
+	db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x)
+	dw LavenderMartBlocks, LavenderMartTexts, LavenderMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw LavenderMartObject ; objects
+
+LavenderMartScript: ; 0x5c92c
+	jp $3c3c
+; 0x5c92f
+
+LavenderMartTexts: ; 0x5c92f
+	dw LavenderMartText1, LavenderMartText2, LavenderMartText3
+
+LavenderMartText2: ; 0x5c935
+	TX_FAR _LavenderMartText2
+	db $50
+
+LavenderMartText3: ; 0x5c93a
+	db $08 ; asm
+	ld a, [$d7e0]
+	bit 7, a
+	jr nz, .asm_c88d4 ; 0x5c940
+	ld hl, UnnamedText_5c953
+	call PrintText
+	jr .asm_6d225 ; 0x5c948
+.asm_c88d4 ; 0x5c94a
+	ld hl, UnnamedText_5c958
+	call PrintText
+.asm_6d225 ; 0x5c950
+	jp TextScriptEnd
+
+UnnamedText_5c953: ; 0x5c953
+	TX_FAR _UnnamedText_5c953
+	db $50
+; 0x5c953 + 5 bytes
+
+UnnamedText_5c958: ; 0x5c958
+	TX_FAR _UnnamedText_5c958
+	db $50
+; 0x5c958 + 5 bytes
+
+LavenderMartObject: ; 0x5c95d (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $3, $ff
+	db $7, $4, $3, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BALDING_GUY, $4 + 4, $3 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $7 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+VermilionPokecenter_h: ; 0x5c983 to 0x5c98f (12 bytes) (id=89)
+	db $06 ; tileset
+	db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x)
+	dw VermilionPokecenterBlocks, VermilionPokecenterTexts, VermilionPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionPokecenterObject ; objects
+
+VermilionPokecenterScript: ; 0x5c98f
+	call $22fa
+	jp $3c3c
+; 0x5c995
+
+VermilionPokecenterTexts:
+	dw VermilionPokecenterText1, VermilionPokecenterText2, VermilionPokecenterText3, VermilionPokecenterText4
+
+VermilionPokecenterText1: ; 0x5c99d
+	db $ff
+
+VermilionPokecenterText2: ; 0x5c99e
+	TX_FAR _VermilionPokecenterText1
+	db $50
+
+VermilionPokecenterText3: ; 0x5c9a3
+	TX_FAR _VermilionPokecenterText3
+	db $50
+
+VermilionPokecenterText4: ; 0x5c9a8
+	db $f6
+
+VermilionPokecenterObject: ; 0x5c9a9 (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $0, $ff
+	db $7, $4, $0, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_FISHER, $5 + 4, $a + 4, $ff, $ff, $2 ; person
+	db SPRITE_SAILOR, $4 + 4, $5 + 4, $ff, $ff, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91)
+	db $02 ; tileset
+	db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x)
+	dw VermilionMartBlocks, VermilionMartTexts, VermilionMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionMartObject ; objects
+
+VermilionMartScript: ; 0x5c9e1
+	jp $3c3c
+; 0x5c9e4
+
+VermilionMartTexts: ; 0x5c9e4
+	dw VermilionMartText1, VermilionMartText2, VermilionMartText3
+
+VermilionMartText2: ; 0x5c9ea
+	TX_FAR _VermilionMartText2
+	db $50
+
+VermilionMartText3: ; 0x5c9ef
+	TX_FAR _VermilionMartText3
+	db $50
+
+VermilionMartObject: ; 0x5c9f4 (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $2, $ff
+	db $7, $4, $2, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $6 + 4, $5 + 4, $ff, $ff, $2 ; person
+	db SPRITE_LASS, $3 + 4, $3 + 4, $fe, $2, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+VermilionGym_h: ; 0x5ca1a to 0x5ca26 (12 bytes) (id=92)
+	db $07 ; tileset
+	db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x)
+	dw VermilionGymBlocks, VermilionGymTexts, VermilionGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VermilionGymObject ; objects
+
+VermilionGymScript: ; 0x5ca26
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, VermilionGymScript_Unknown5ca4c
+	pop hl
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, $4a6d
+	call $3c3c
+	ld hl, VermilionGymTrainerHeader1
+	ld de, $4a95
+	ld a, [$d5fe]
+	call $3160
+	ld [$d5fe], a
+	ret
+; 0x5ca4c
+
+VermilionGymScript_Unknown5ca4c: ; 0x5ca4c
+INCBIN "baserom.gbc",$5ca4c,$9c
+
+VermilionGymTexts: ; 0x5cae8
+	dw VermilionGymText1, VermilionGymText2, VermilionGymText3, VermilionGymText4, VermilionGymText5, VermilionGymText6, VermilionGymText7, VermilionGymText8
+
+VermilionGymTrainerHeaders:
+VermilionGymTrainerHeader1: ; 0x5caf8
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d773 ; flag's byte
+	dw UnnamedText_5cb9a ; 0x4b9a TextBeforeBattle
+	dw UnnamedText_5cba4 ; 0x4ba4 TextAfterBattle
+	dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle
+	dw UnnamedText_5cb9f ; 0x4b9f TextEndBattle
+; 0x5cb04
+
+TrainerHeader_5cb04: ; 0x5cb04
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d773 ; flag's byte
+	dw UnnamedText_5cbb3 ; 0x4bb3 TextBeforeBattle
+	dw UnnamedText_5cbbd ; 0x4bbd TextAfterBattle
+	dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle
+	dw UnnamedText_5cbb8 ; 0x4bb8 TextEndBattle
+; 0x5cb10
+
+TrainerHeader_5cb10: ; 0x5cb10
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d773 ; flag's byte
+	dw UnnamedText_5cbcc ; 0x4bcc TextBeforeBattle
+	dw UnnamedText_5cbd6 ; 0x4bd6 TextAfterBattle
+	dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle
+	dw UnnamedText_5cbd1 ; 0x4bd1 TextEndBattle
+; 0x5cb1c
+
+db $ff
+
+VermilionGymText1: ; 0x5cb1d
+	db $08 ; asm
+	ld a, [$d773]
+	bit 7, a
+	jr z, .asm_7cc29 ; 0x5cb23
+	bit 6, a
+	jr nz, .asm_41203 ; 0x5cb27
+	call z, $4aaa
+	call $30b6
+	jr .asm_23621 ; 0x5cb2f
+.asm_41203 ; 0x5cb31
+	ld hl, UnnamedText_5cb72
+	call PrintText
+	jr .asm_23621 ; 0x5cb37
+.asm_7cc29 ; 0x5cb39
+	ld hl, UnnamedText_5cb6d
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $4b8b
+	ld de, $4b8b
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $3
+	ld [$d05c], a
+	xor a
+	ldh [$b4], a
+	ld a, $3
+	ld [$d5fe], a
+	ld [$da39], a
+.asm_23621 ; 0x5cb6a
+	jp TextScriptEnd
+
+UnnamedText_5cb6d: ; 0x5cb6d
+	TX_FAR _UnnamedText_5cb6d
+	db $50
+; 0x5cb6d + 5 bytes
+
+UnnamedText_5cb72: ; 0x5cb72
+	TX_FAR _UnnamedText_5cb72
+	db $50
+; 0x5cb72 + 5 bytes
+
+VermilionGymText6:
+	TX_FAR _UnnamedText_5cb77
+	db $50
+; 0x5cb77 + 5 bytes
+
+VermilionGymText7: ; 0x5cb7c
+	TX_FAR _ReceivedTM24Text ; 0x9c0e0
+	db $11
+	TX_FAR _TM24ExplanationText ; 0x9c0f5
+	db $50
+; 0x5cb7c + 10 bytes = 0x5cb86
+
+VermilionGymText8: ; 0x5cb86
+	TX_FAR _TM24NoRoomText
+	db $50
+
+ReceivedThunderbadgeText:
+	TX_FAR _ReceivedThunderbadgeText
+	db $50
+
+VermilionGymText2: ; 0x5cb90
+	db $08 ; asm
+	ld hl, VermilionGymTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5cb9a: ; 0x5cb9a
+	TX_FAR _UnnamedText_5cb9a
+	db $50
+; 0x5cb9a + 5 bytes
+
+UnnamedText_5cb9f: ; 0x5cb9f
+	TX_FAR _UnnamedText_5cb9f
+	db $50
+; 0x5cb9f + 5 bytes
+
+UnnamedText_5cba4: ; 0x5cba4
+	TX_FAR _UnnamedText_5cba4
+	db $50
+; 0x5cba4 + 5 bytes
+
+VermilionGymText3: ; 0x5cba9
+	db $08 ; asm
+	ld hl, TrainerHeader_5cb04
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5cbb3: ; 0x5cbb3
+	TX_FAR _UnnamedText_5cbb3
+	db $50
+; 0x5cbb3 + 5 bytes
+
+UnnamedText_5cbb8: ; 0x5cbb8
+	TX_FAR _UnnamedText_5cbb8
+	db $50
+; 0x5cbb8 + 5 bytes
+
+UnnamedText_5cbbd: ; 0x5cbbd
+	TX_FAR _UnnamedText_5cbbd
+	db $50
+; 0x5cbbd + 5 bytes
+
+VermilionGymText4: ; 0x5cbc2
+	db $08 ; asm
+	ld hl, TrainerHeader_5cb10
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5cbcc: ; 0x5cbcc
+	TX_FAR _UnnamedText_5cbcc
+	db $50
+; 0x5cbcc + 5 bytes
+
+UnnamedText_5cbd1: ; 0x5cbd1
+	TX_FAR _UnnamedText_5cbd1
+	db $50
+; 0x5cbd1 + 5 bytes
+
+UnnamedText_5cbd6: ; 0x5cbd6
+	TX_FAR _UnnamedText_5cbd6
+	db $50
+; 0x5cbd6 + 5 bytes
+
+VermilionGymText5: ; 0x5cbdb
+	db $08 ; asm
+	ld a, [$d72a]
+	bit 2, a
+	jr nz, .asm_13b67 ; 0x5cbe1
+	ld hl, UnnamedText_5cbf4
+	call PrintText
+	jr .asm_c2b38 ; 0x5cbe9
+.asm_13b67 ; 0x5cbeb
+	ld hl, UnnamedText_5cbf9
+	call PrintText
+.asm_c2b38 ; 0x5cbf1
+	jp TextScriptEnd
+
+UnnamedText_5cbf4: ; 0x5cbf4
+	TX_FAR _UnnamedText_5cbf4
+	db $50
+; 0x5cbf4 + 5 bytes
+
+UnnamedText_5cbf9: ; 0x5cbf9
+	TX_FAR _UnnamedText_5cbf9
+	db $50
+; 0x5cbf9 + 5 bytes
+
+VermilionGymObject: ; 0x5cbfe (size=58)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $11, $4, $3, $ff
+	db $11, $5, $3, $ff
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_ROCKER, $1 + 4, $5 + 4, $ff, $d0, $41, LT__SURGE + $C8, $1 ; trainer
+	db SPRITE_GENTLEMAN, $6 + 4, $9 + 4, $ff, $d2, $42, GENTLEMAN + $C8, $3 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d2, $43, ROCKER + $C8, $1 ; trainer
+	db SPRITE_SAILOR, $a + 4, $0 + 4, $ff, $d3, $44, SAILOR + $C8, $8 ; trainer
+	db SPRITE_GYM_HELPER, $e + 4, $4 + 4, $ff, $d0, $5 ; person
+
+	; warp-to
+	EVENT_DISP $5, $11, $4
+	EVENT_DISP $5, $11, $5
+
+VermilionGymBlocks: ; 0x5cc38 45
+	INCBIN "maps/vermiliongym.blk"
+
+CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176)
+	db $04 ; tileset
+	db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x)
+	dw CopycatsHouseF2Blocks, CopycatsHouseF2Texts, CopycatsHouseF2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CopycatsHouseF2Object ; objects
+
+CopycatsHouseF2Script: ; 0x5cc71
+	jp $3c3c
+; 0x5cc74
+
+CopycatsHouseF2Texts: ; 0x5cc74
+	dw CopycatsHouseF2Text1, CopycatsHouseF2Text2, CopycatsHouseF2Text3, CopycatsHouseF2Text4, CopycatsHouseF2Text5, CopycatsHouseF2Text6, CopycatsHouseF2Text7
+
+CopycatsHouseF2Text1: ; 0x5cc82
+	db $08 ; asm
+	ld a, [$d7af]
+	bit 0, a
+	jr nz, .asm_7ccf3 ; 0x5cc88
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, UnnamedText_5ccd4
+	call PrintText
+	ld b, POKE_DOLL
+	call $3493 ; probably check has item or take item
+	jr z, .asm_62ecd ; 0x5cc9a
+	ld hl, UnnamedText_5ccd9
+	call PrintText
+	ld bc, (TM_31 << 8) | 1
+	call GiveItem
+	jr nc, .asm_16690 ; 0x5cca8
+	ld hl, ReceivedTM31Text
+	call PrintText
+	ld a, $33
+	ldh [$db], a
+	ld b, $5 ; BANK(MyFunction)
+	ld hl, $7f37 ; MyFunction
+	call Bankswitch
+	ld hl, $d7af
+	set 0, [hl]
+	jr .asm_62ecd ; 0x5ccc1
+.asm_16690 ; 0x5ccc3
+	ld hl, TM31NoRoomText
+	call PrintText
+	jr .asm_62ecd ; 0x5ccc9
+.asm_7ccf3 ; 0x5cccb
+	ld hl, TM31ExplanationText2
+	call PrintText
+.asm_62ecd ; 0x5ccd1
+	jp TextScriptEnd
+
+UnnamedText_5ccd4: ; 0x5ccd4
+	TX_FAR _UnnamedText_5ccd4
+	db $50
+; 0x5ccd4 + 5 bytes
+
+UnnamedText_5ccd9: ; 0x5ccd9
+	TX_FAR _UnnamedText_5ccd9
+	db $50
+; 0x5ccd9 + 5 bytes
+
+ReceivedTM31Text: ; 0x5ccde
+	TX_FAR _ReceivedTM31Text ; 0xa1675
+	db $0B
+TM31ExplanationText1: ; 0x5cce2
+	TX_FAR _TM31ExplanationText1 ; 0xa1689
+	db $d, $50
+; 0x5cce9
+
+TM31ExplanationText2: ; 0x5cce9
+	TX_FAR _TM31ExplanationText2 ; 0xa16c5
+	db $50
+; 0x5cce9 + 5 bytes = 0x5ccee
+
+TM31NoRoomText: ; 0x5ccee
+	TX_FAR _TM31NoRoomText ; 0xa1733
+	db $d, $50
+; 0x5ccf4
+
+CopycatsHouseF2Text2: ; 0x5ccf4
+	TX_FAR _CopycatsHouseF2Text2
+	db $50
+
+CopycatsHouseF2Text5:
+CopycatsHouseF2Text4:
+CopycatsHouseF2Text3: ; 0x5ccf9
+	TX_FAR _CopycatsHouseF2Text3
+	db $50
+
+CopycatsHouseF2Text6: ; 0x5ccfe
+	TX_FAR _CopycatsHouseF2Text6
+	db $50
+
+CopycatsHouseF2Text7: ; 0x5cd03
+	db $08 ; asm
+	ld a, [$c109]
+	cp $4
+	ld hl, UnnamedText_5cd1c
+	jr nz, .asm_399a4 ; 0x5cd0c
+	ld hl, UnnamedText_5cd17
+.asm_399a4 ; 0x5cd11
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_5cd17: ; 0x5cd17
+	TX_FAR _UnnamedText_5cd17
+	db $50
+; 0x5cd17 + 5 bytes
+
+UnnamedText_5cd1c: ; 0x5cd1c
+	TX_FAR _UnnamedText_5cd1c
+	db $50
+; 0x5cd1c + 5 bytes
+
+CopycatsHouseF2Object: ; 0x5cd21 (size=48)
+	db $a ; border tile
+
+	db $1 ; warps
+	db $1, $7, $2, COPYCATS_HOUSE_1F
+
+	db $2 ; signs
+	db $5, $3, $6 ; CopycatsHouseF2Text6
+	db $1, $0, $7 ; CopycatsHouseF2Text7
+
+	db $5 ; people
+	db SPRITE_BRUNETTE_GIRL, $3 + 4, $4 + 4, $fe, $0, $1 ; person
+	db SPRITE_BIRD, $6 + 4, $4 + 4, $fe, $2, $2 ; person
+	db SPRITE_SLOWBRO, $1 + 4, $5 + 4, $ff, $d0, $3 ; person
+	db SPRITE_BIRD, $0 + 4, $2 + 4, $ff, $d0, $4 ; person
+	db SPRITE_CLEFAIRY, $6 + 4, $1 + 4, $ff, $d3, $5 ; person
+
+	; warp-to
+	EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_1F
+
+FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177)
+	db $05 ; tileset
+	db FIGHTINGDOJO_HEIGHT, FIGHTINGDOJO_WIDTH ; dimensions (y, x)
+	dw FightingDojoBlocks, FightingDojoTexts, FightingDojoScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FightingDojoObject ; objects
+
+FightingDojoScript: ; 0x5cd5d
+	call $3c3c
+	ld hl, FightingDojoTrainerHeaders
+	ld de, $4d7b
+	ld a, [$d642]
+	call $3160
+	ld [$d642], a
+	ret
+; 0x5cd70
+
+INCBIN "baserom.gbc",$5cd70,$93
+
+FightingDojoTexts: ; 0x5ce03
+	dw FightingDojoText1, FightingDojoText2, FightingDojoText3, FightingDojoText4, FightingDojoText5, FightingDojoText6, FightingDojoText7, FightingDojoText8
+
+FightingDojoTrainerHeaders:
+FightingDojoTrainerHeader1: ; 0x5ce13
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7b1 ; flag's byte
+	dw UnnamedText_5ceac ; 0x4eac TextBeforeBattle
+	dw UnnamedText_5ceb6 ; 0x4eb6 TextAfterBattle
+	dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle
+	dw UnnamedText_5ceb1 ; 0x4eb1 TextEndBattle
+; 0x5ce1f
+
+TrainerHeader_5ce1f: ; 0x5ce1f
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7b1 ; flag's byte
+	dw UnnamedText_5cec5 ; 0x4ec5 TextBeforeBattle
+	dw UnnamedText_5cecf ; 0x4ecf TextAfterBattle
+	dw UnnamedText_5ceca ; 0x4eca TextEndBattle
+	dw UnnamedText_5ceca ; 0x4eca TextEndBattle
+; 0x5ce2b
+
+TrainerHeader_5ce2b: ; 0x5ce2b
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b1 ; flag's byte
+	dw UnnamedText_5cede ; 0x4ede TextBeforeBattle
+	dw UnnamedText_5cee8 ; 0x4ee8 TextAfterBattle
+	dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle
+	dw UnnamedText_5cee3 ; 0x4ee3 TextEndBattle
+; 0x5ce37
+
+TrainerHeader_5ce37: ; 0x5ce37
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b1 ; flag's byte
+	dw UnnamedText_5cef7 ; 0x4ef7 TextBeforeBattle
+	dw UnnamedText_5cf01 ; 0x4f01 TextAfterBattle
+	dw UnnamedText_5cefc ; 0x4efc TextEndBattle
+	dw UnnamedText_5cefc ; 0x4efc TextEndBattle
+; 0x5ce43
+
+db $ff
+
+FightingDojoText1: ; 0x5ce44
+	db $08 ; asm
+	ld a, [$d7b1]
+	bit 0, a
+	jp nz, .continue1\@
+	bit 1, a
+	jp nz, .continue2\@
+	ld hl, UnnamedText_5ce8e
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $4e93
+	ld de, $4e93
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $3
+	ld [$d642], a
+	ld [$da39], a
+	jr .asm_9dba4 ; 0x5ce7b
+.continue1\@ ; 0x5ce7d
+	ld hl, UnnamedText_5ce9d
+	call PrintText
+	jr .asm_9dba4 ; 0x5ce83
+.continue2\@ ; 0x5ce85f
+	ld hl, FightingDojoText8
+	call PrintText
+.asm_9dba4 ; 0x5ce8b
+	jp TextScriptEnd
+
+UnnamedText_5ce8e: ; 0x5ce8e
+	TX_FAR _UnnamedText_5ce8e
+	db $50
+; 0x5ce8e + 5 bytes
+
+UnnamedText_5ce93: ; 0x5ce93
+	TX_FAR _UnnamedText_5ce93
+	db $50
+; 0x5ce93 + 5 bytes
+
+FightingDojoText8: ; 0x5ce98
+	TX_FAR _UnnamedText_5ce98
+	db $50
+; 0x5ce98 + 5 bytes
+
+UnnamedText_5ce9d: ; 0x5ce9d
+	TX_FAR _UnnamedText_5ce9d
+	db $50
+; 0x5ce9d + 5 bytes
+
+FightingDojoText2: ; 0x5cea2
+	db $08 ; asm
+	ld hl, FightingDojoTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5ceac: ; 0x5ceac
+	TX_FAR _UnnamedText_5ceac
+	db $50
+; 0x5ceac + 5 bytes
+
+UnnamedText_5ceb1: ; 0x5ceb1
+	TX_FAR _UnnamedText_5ceb1
+	db $50
+; 0x5ceb1 + 5 bytes
+
+UnnamedText_5ceb6: ; 0x5ceb6
+	TX_FAR _UnnamedText_5ceb6
+	db $50
+; 0x5ceb6 + 5 bytes
+
+FightingDojoText3: ; 0x5cebb
+	db $08 ; asm
+	ld hl, TrainerHeader_5ce1f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5cec5: ; 0x5cec5
+	TX_FAR _UnnamedText_5cec5
+	db $50
+; 0x5cec5 + 5 bytes
+
+UnnamedText_5ceca: ; 0x5ceca
+	TX_FAR _UnnamedText_5ceca
+	db $50
+; 0x5ceca + 5 bytes
+
+UnnamedText_5cecf: ; 0x5cecf
+	TX_FAR _UnnamedText_5cecf
+	db $50
+; 0x5cecf + 5 bytes
+
+FightingDojoText4: ; 0x5ced4
+	db $08 ; asm
+	ld hl, TrainerHeader_5ce2b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5cede: ; 0x5cede
+	TX_FAR _UnnamedText_5cede
+	db $50
+; 0x5cede + 5 bytes
+
+UnnamedText_5cee3: ; 0x5cee3
+	TX_FAR _UnnamedText_5cee3
+	db $50
+; 0x5cee3 + 5 bytes
+
+UnnamedText_5cee8: ; 0x5cee8
+	TX_FAR _UnnamedText_5cee8
+	db $50
+; 0x5cee8 + 5 bytes
+
+FightingDojoText5: ; 0x5ceed
+	db $08 ; asm
+	ld hl, TrainerHeader_5ce37
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5cef7: ; 0x5cef7
+	TX_FAR _UnnamedText_5cef7
+	db $50
+; 0x5cef7 + 5 bytes
+
+UnnamedText_5cefc: ; 0x5cefc
+	TX_FAR _UnnamedText_5cefc
+	db $50
+; 0x5cefc + 5 bytes
+
+UnnamedText_5cf01: ; 0x5cf01
+	TX_FAR _UnnamedText_5cf01
+	db $50
+; 0x5cf01 + 5 bytes
+
+FightingDojoText6: ; 0x5cf06
+	db $08 ; asm
+	ld a, [$d7b1]
+	and $c0
+	jr z, .asm_f8e28 ; 0x5cf0c
+	ld hl, UnnamedText_5cf96
+	call PrintText
+	jr .asm_3a2c8 ; 0x5cf14
+.asm_f8e28 ; 0x5cf16
+	ld a, $2b
+	call $349b
+	ld hl, UnnamedText_5cf49
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_3a2c8 ; 0x5cf28
+	ld a, [$cf91]
+	ld b, a
+	ld c, 30
+	call GivePokemon
+	jr nc, .asm_3a2c8 ; 0x5cf33
+	ld a, $4a
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld hl, $d7b1
+	set 6, [hl]
+	set 0, [hl]
+.asm_3a2c8 ; 0x5cf46
+	jp TextScriptEnd
+
+UnnamedText_5cf49: ; 0x5cf49
+	TX_FAR _UnnamedText_5cf49
+	db $50
+; 0x5cf49 + 5 bytes
+
+FightingDojoText7: ; 0x5cf4e
+	db $08 ; asm
+	ld a, [$d7b1]
+	and $c0
+	jr z, .asm_170a9 ; 0x5cf54
+	ld hl, UnnamedText_5cf96
+	call PrintText
+	jr .asm_f1f47 ; 0x5cf5c
+.asm_170a9 ; 0x5cf5e
+	ld a, $2c
+	call $349b
+	ld hl, UnnamedText_5cf91
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_f1f47 ; 0x5cf70
+	ld a, [$cf91]
+	ld b, a
+	ld c,30
+	call GivePokemon
+	jr nc, .asm_f1f47 ; 0x5cf7b
+	ld hl, $d7b1
+	set 7, [hl]
+	set 0, [hl]
+	ld a, $4b
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+.asm_f1f47 ; 0x5cf8e
+	jp TextScriptEnd
+
+UnnamedText_5cf91: ; 0x5cf91
+	TX_FAR _UnnamedText_5cf91
+	db $50
+; 0x5cf91 + 5 bytes
+
+UnnamedText_5cf96: ; 0x5cf96
+	TX_FAR _UnnamedText_5cf96
+	db $50
+; 0x5cf96 + 5 bytes
+
+FightingDojoObject: ; 0x5cf9b (size=72)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $b, $4, $1, $ff
+	db $b, $5, $1, $ff
+
+	db $0 ; signs
+
+	db $7 ; people
+	db SPRITE_HIKER, $3 + 4, $5 + 4, $ff, $d0, $41, BLACKBELT + $C8, $1 ; trainer
+	db SPRITE_HIKER, $4 + 4, $3 + 4, $ff, $d3, $42, BLACKBELT + $C8, $2 ; trainer
+	db SPRITE_HIKER, $6 + 4, $3 + 4, $ff, $d3, $43, BLACKBELT + $C8, $3 ; trainer
+	db SPRITE_HIKER, $5 + 4, $5 + 4, $ff, $d2, $44, BLACKBELT + $C8, $4 ; trainer
+	db SPRITE_HIKER, $7 + 4, $5 + 4, $ff, $d2, $45, BLACKBELT + $C8, $5 ; trainer
+	db SPRITE_BALL, $1 + 4, $4 + 4, $ff, $ff, $6 ; person
+	db SPRITE_BALL, $1 + 4, $5 + 4, $ff, $ff, $7 ; person
+
+	; warp-to
+	EVENT_DISP $5, $b, $4
+	EVENT_DISP $5, $b, $5
+
+FightingDojoBlocks: ; 0x5cfe3 30
+	INCBIN "maps/fightingdojo.blk"
+
+SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178)
+	db $16 ; tileset
+	db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x)
+	dw SaffronGymBlocks, SaffronGymTexts, SaffronGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SaffronGymObject ; objects
+
+SaffronGymScript: ; 0x5d00d
+	ld hl, $d126
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, .extra
+	call $3c3c
+	ld hl, $50c3
+	ld de, $5053
+	ld a, [$d65c]
+	call $3160
+	ld [$d65c], a
+	ret
+; 0x5d02a
+.extra
+INCBIN "baserom.gbc",$5d02a,$81
+
+SaffronGymTexts: ; 0x5d0ab
+	dw SaffronGymText1, SaffronGymText2, SaffronGymText3, SaffronGymText4, SaffronGymText5, SaffronGymText6, SaffronGymText7, SaffronGymText8, SaffronGymText9, SaffronGymText10, SaffronGymText11, SaffronGymText12
+
+SaffronGymTrainerHeaders:
+SaffronGymTrainerHeader1: ; 0x5d0c3
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d1f0 ; 0x51f0 TextBeforeBattle
+	dw UnnamedText_5d1fa ; 0x51fa TextAfterBattle
+	dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle
+	dw UnnamedText_5d1f5 ; 0x51f5 TextEndBattle
+; 0x5d0cf
+
+TrainerHeader_5d0cf: ; 0x5d0cf
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d1ff ; 0x51ff TextBeforeBattle
+	dw UnnamedText_5d209 ; 0x5209 TextAfterBattle
+	dw UnnamedText_5d204 ; 0x5204 TextEndBattle
+	dw UnnamedText_5d204 ; 0x5204 TextEndBattle
+; 0x5d0db
+
+TrainerHeader_5d0db: ; 0x5d0db
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d20e ; 0x520e TextBeforeBattle
+	dw UnnamedText_5d218 ; 0x5218 TextAfterBattle
+	dw UnnamedText_5d213 ; 0x5213 TextEndBattle
+	dw UnnamedText_5d213 ; 0x5213 TextEndBattle
+; 0x5d0e7
+
+TrainerHeader_5d0e7: ; 0x5d0e7
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d21d ; 0x521d TextBeforeBattle
+	dw UnnamedText_5d227 ; 0x5227 TextAfterBattle
+	dw UnnamedText_5d222 ; 0x5222 TextEndBattle
+	dw UnnamedText_5d222 ; 0x5222 TextEndBattle
+; 0x5d0f3
+
+TrainerHeader_5d0f3: ; 0x5d0f3
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d22c ; 0x522c TextBeforeBattle
+	dw UnnamedText_5d236 ; 0x5236 TextAfterBattle
+	dw UnnamedText_5d231 ; 0x5231 TextEndBattle
+	dw UnnamedText_5d231 ; 0x5231 TextEndBattle
+; 0x5d0ff
+
+TrainerHeader_5d0ff: ; 0x5d0ff
+	db $7 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d23b ; 0x523b TextBeforeBattle
+	dw UnnamedText_5d245 ; 0x5245 TextAfterBattle
+	dw UnnamedText_5d240 ; 0x5240 TextEndBattle
+	dw UnnamedText_5d240 ; 0x5240 TextEndBattle
+; 0x5d10b
+
+TrainerHeader_5d10b: ; 0x5d10b
+	db $8 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7b3 ; flag's byte
+	dw UnnamedText_5d24a ; 0x524a TextBeforeBattle
+	dw UnnamedText_5d254 ; 0x5254 TextAfterBattle
+	dw UnnamedText_5d24f ; 0x524f TextEndBattle
+	dw UnnamedText_5d24f ; 0x524f TextEndBattle
+; 0x5d117
+
+db $ff
+
+SaffronGymText1: ; 0x5d118
+	db $08 ; asm
+	ld a, [$d7b3]
+	bit 1, a
+	jr z, .asm_e3544 ; 0x5d11e
+	bit 0, a
+	jr nz, .asm_8d2f6 ; 0x5d122
+	call z, $5068
+	call $30b6
+	jr .asm_34c2c ; 0x5d12a
+.asm_8d2f6 ; 0x5d12c
+	ld hl, UnnamedText_5d16e
+	call PrintText
+	jr .asm_34c2c ; 0x5d132
+.asm_e3544 ; 0x5d134
+	ld hl, UnnamedText_5d162
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_5d167
+	ld de, $5167 ; probably UnnamedText_5d167
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $6
+	ld [$d05c], a
+	ld a, $3
+	ld [$d65c], a
+.asm_34c2c ; 0x5d15f
+	jp TextScriptEnd
+
+UnnamedText_5d162: ; 0x5d162
+	TX_FAR _UnnamedText_5d162
+	db $50
+; 0x5d162 + 5 bytes
+
+UnnamedText_5d167: ; 0x5d167
+	TX_FAR _UnnamedText_5d167 ; 0xa1c73
+	db $11 ; play same sound as red giving oak parcel
+	db $6 ; wait for keypress
+	db $50
+; 0x5d16e
+
+UnnamedText_5d16e: ; 0x5d16e
+	TX_FAR _UnnamedText_5d16e
+	db $50
+; 0x5d16e + 5 bytes
+
+SaffronGymText10: ; 0x5d173
+	TX_FAR _UnnamedText_5d173
+	db $50
+; 0x5d173 + 5 bytes
+
+SaffronGymText11: ; 0x5d178
+	TX_FAR ReceivedTM46Text
+	db $b
+	TX_FAR _UnnamedText_5d17d
+	db $50
+
+SaffronGymText12: ; 0x5d182
+	TX_FAR _UnnamedText_5d182 ; pack full
+	db $50
+; 0x5d182 + 5 bytes
+
+SaffronGymText2: ; 0x5d187
+	db $08 ; asm
+	ld hl, SaffronGymTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText3: ; 0x5d191
+	db $08 ; asm
+	ld hl, TrainerHeader_5d0cf
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText4: ; 0x5d19b
+	db $08 ; asm
+	ld hl, TrainerHeader_5d0db
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText5: ; 0x5d1a5
+	db $08 ; asm
+	ld hl, TrainerHeader_5d0e7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText6: ; 0x5d1af
+	db $08 ; asm
+	ld hl, TrainerHeader_5d0f3
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText7: ; 0x5d1b9
+	db $08 ; asm
+	ld hl, TrainerHeader_5d0ff
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText8: ; 0x5d1c3
+	db $08 ; asm
+	ld hl, TrainerHeader_5d10b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SaffronGymText9: ; 0x5d1cd
+	db $08 ; asm
+	ld a, [$d7b3]
+	bit 1, a
+	jr nz, .asm_13f3c ; 0x5d1d3
+	ld hl, UnnamedText_5d1e6
+	call PrintText
+	jr .asm_e9907 ; 0x5d1db
+.asm_13f3c ; 0x5d1dd
+	ld hl, UnnamedText_5d1eb
+	call PrintText
+.asm_e9907 ; 0x5d1e3
+	jp TextScriptEnd
+
+UnnamedText_5d1e6: ; 0x5d1e6
+	TX_FAR _UnnamedText_5d1e6
+	db $50
+; 0x5d1e6 + 5 bytes
+
+UnnamedText_5d1eb: ; 0x5d1eb
+	TX_FAR _UnnamedText_5d1eb
+	db $50
+; 0x5d1eb + 5 bytes
+
+UnnamedText_5d1f0: ; 0x5d1f0
+	TX_FAR _UnnamedText_5d1f0
+	db $50
+; 0x5d1f0 + 5 bytes
+
+UnnamedText_5d1f5: ; 0x5d1f5
+	TX_FAR _UnnamedText_5d1f5
+	db $50
+; 0x5d1f5 + 5 bytes
+
+UnnamedText_5d1fa: ; 0x5d1fa
+	TX_FAR _UnnamedText_5d1fa
+	db $50
+; 0x5d1fa + 5 bytes
+
+UnnamedText_5d1ff: ; 0x5d1ff
+	TX_FAR _UnnamedText_5d1ff
+	db $50
+; 0x5d1ff + 5 bytes
+
+UnnamedText_5d204: ; 0x5d204
+	TX_FAR _UnnamedText_5d204
+	db $50
+; 0x5d204 + 5 bytes
+
+UnnamedText_5d209: ; 0x5d209
+	TX_FAR _UnnamedText_5d209
+	db $50
+; 0x5d209 + 5 bytes
+
+UnnamedText_5d20e: ; 0x5d20e
+	TX_FAR _UnnamedText_5d20e
+	db $50
+; 0x5d20e + 5 bytes
+
+UnnamedText_5d213: ; 0x5d213
+	TX_FAR _UnnamedText_5d213
+	db $50
+; 0x5d213 + 5 bytes
+
+UnnamedText_5d218: ; 0x5d218
+	TX_FAR _UnnamedText_5d218
+	db $50
+; 0x5d218 + 5 bytes
+
+UnnamedText_5d21d: ; 0x5d21d
+	TX_FAR _UnnamedText_5d21d
+	db $50
+; 0x5d21d + 5 bytes
+
+UnnamedText_5d222: ; 0x5d222
+	TX_FAR _UnnamedText_5d222
+	db $50
+; 0x5d222 + 5 bytes
+
+UnnamedText_5d227: ; 0x5d227
+	TX_FAR _UnnamedText_5d227
+	db $50
+; 0x5d227 + 5 bytes
+
+UnnamedText_5d22c: ; 0x5d22c
+	TX_FAR _UnnamedText_5d22c
+	db $50
+; 0x5d22c + 5 bytes
+
+UnnamedText_5d231: ; 0x5d231
+	TX_FAR _UnnamedText_5d231
+	db $50
+; 0x5d231 + 5 bytes
+
+UnnamedText_5d236: ; 0x5d236
+	TX_FAR _UnnamedText_5d236
+	db $50
+; 0x5d236 + 5 bytes
+
+UnnamedText_5d23b: ; 0x5d23b
+	TX_FAR _UnnamedText_5d23b
+	db $50
+; 0x5d23b + 5 bytes
+
+UnnamedText_5d240: ; 0x5d240
+	TX_FAR _UnnamedText_5d240
+	db $50
+; 0x5d240 + 5 bytes
+
+UnnamedText_5d245: ; 0x5d245
+	TX_FAR _UnnamedText_5d245
+	db $50
+; 0x5d245 + 5 bytes
+
+UnnamedText_5d24a: ; 0x5d24a
+	TX_FAR _UnnamedText_5d24a
+	db $50
+; 0x5d24a + 5 bytes
+
+UnnamedText_5d24f: ; 0x5d24f
+	TX_FAR _UnnamedText_5d24f
+	db $50
+; 0x5d24f + 5 bytes
+
+UnnamedText_5d254: ; 0x5d254
+	TX_FAR _UnnamedText_5d254
+	db $50
+; 0x5d254 + 5 bytes
+
+SaffronGymObject: ; 0x5d259 (size=330)
+	db $2e ; border tile
+
+	db $20 ; warps
+	db $11, $8, $2, $ff
+	db $11, $9, $2, $ff
+	db $3, $1, $16, SAFFRON_GYM
+	db $3, $5, $f, SAFFRON_GYM
+	db $5, $1, $12, SAFFRON_GYM
+	db $5, $5, $8, SAFFRON_GYM
+	db $9, $1, $1b, SAFFRON_GYM
+	db $9, $5, $10, SAFFRON_GYM
+	db $b, $1, $5, SAFFRON_GYM
+	db $b, $5, $d, SAFFRON_GYM
+	db $f, $1, $17, SAFFRON_GYM
+	db $f, $5, $1e, SAFFRON_GYM
+	db $11, $1, $11, SAFFRON_GYM
+	db $11, $5, $9, SAFFRON_GYM
+	db $3, $9, $1a, SAFFRON_GYM
+	db $3, $b, $3, SAFFRON_GYM
+	db $5, $9, $7, SAFFRON_GYM
+	db $5, $b, $c, SAFFRON_GYM
+	db $b, $b, $4, SAFFRON_GYM
+	db $f, $b, $1f, SAFFRON_GYM
+	db $3, $f, $18, SAFFRON_GYM
+	db $3, $13, $1c, SAFFRON_GYM
+	db $5, $f, $2, SAFFRON_GYM
+	db $5, $13, $a, SAFFRON_GYM
+	db $9, $f, $14, SAFFRON_GYM
+	db $9, $13, $1d, SAFFRON_GYM
+	db $b, $f, $e, SAFFRON_GYM
+	db $b, $13, $6, SAFFRON_GYM
+	db $f, $f, $15, SAFFRON_GYM
+	db $f, $13, $19, SAFFRON_GYM
+	db $11, $f, $b, SAFFRON_GYM
+	db $11, $13, $13, SAFFRON_GYM
+
+	db $0 ; signs
+
+	db $9 ; people
+	db SPRITE_GIRL, $8 + 4, $9 + 4, $ff, $d0, $41, SABRINA + $C8, $1 ; trainer
+	db SPRITE_MEDIUM, $1 + 4, $a + 4, $ff, $d0, $42, CHANNELER + $C8, $16 ; trainer
+	db SPRITE_BUG_CATCHER, $1 + 4, $11 + 4, $ff, $d0, $43, PSYCHIC_TR + $C8, $1 ; trainer
+	db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d0, $44, CHANNELER + $C8, $17 ; trainer
+	db SPRITE_BUG_CATCHER, $7 + 4, $11 + 4, $ff, $d0, $45, PSYCHIC_TR + $C8, $2 ; trainer
+	db SPRITE_MEDIUM, $d + 4, $3 + 4, $ff, $d0, $46, CHANNELER + $C8, $18 ; trainer
+	db SPRITE_BUG_CATCHER, $d + 4, $11 + 4, $ff, $d0, $47, PSYCHIC_TR + $C8, $3 ; trainer
+	db SPRITE_BUG_CATCHER, $1 + 4, $3 + 4, $ff, $d0, $48, PSYCHIC_TR + $C8, $4 ; trainer
+	db SPRITE_GYM_HELPER, $f + 4, $a + 4, $ff, $d0, $9 ; person
+
+	; warp-to
+	EVENT_DISP $a, $11, $8
+	EVENT_DISP $a, $11, $9
+	EVENT_DISP $a, $3, $1 ; SAFFRON_GYM
+	EVENT_DISP $a, $3, $5 ; SAFFRON_GYM
+	EVENT_DISP $a, $5, $1 ; SAFFRON_GYM
+	EVENT_DISP $a, $5, $5 ; SAFFRON_GYM
+	EVENT_DISP $a, $9, $1 ; SAFFRON_GYM
+	EVENT_DISP $a, $9, $5 ; SAFFRON_GYM
+	EVENT_DISP $a, $b, $1 ; SAFFRON_GYM
+	EVENT_DISP $a, $b, $5 ; SAFFRON_GYM
+	EVENT_DISP $a, $f, $1 ; SAFFRON_GYM
+	EVENT_DISP $a, $f, $5 ; SAFFRON_GYM
+	EVENT_DISP $a, $11, $1 ; SAFFRON_GYM
+	EVENT_DISP $a, $11, $5 ; SAFFRON_GYM
+	EVENT_DISP $a, $3, $9 ; SAFFRON_GYM
+	EVENT_DISP $a, $3, $b ; SAFFRON_GYM
+	EVENT_DISP $a, $5, $9 ; SAFFRON_GYM
+	EVENT_DISP $a, $5, $b ; SAFFRON_GYM
+	EVENT_DISP $a, $b, $b ; SAFFRON_GYM
+	EVENT_DISP $a, $f, $b ; SAFFRON_GYM
+	EVENT_DISP $a, $3, $f ; SAFFRON_GYM
+	EVENT_DISP $a, $3, $13 ; SAFFRON_GYM
+	EVENT_DISP $a, $5, $f ; SAFFRON_GYM
+	EVENT_DISP $a, $5, $13 ; SAFFRON_GYM
+	EVENT_DISP $a, $9, $f ; SAFFRON_GYM
+	EVENT_DISP $a, $9, $13 ; SAFFRON_GYM
+	EVENT_DISP $a, $b, $f ; SAFFRON_GYM
+	EVENT_DISP $a, $b, $13 ; SAFFRON_GYM
+	EVENT_DISP $a, $f, $f ; SAFFRON_GYM
+	EVENT_DISP $a, $f, $13 ; SAFFRON_GYM
+	EVENT_DISP $a, $11, $f ; SAFFRON_GYM
+	EVENT_DISP $a, $11, $13 ; SAFFRON_GYM
+
+SaffronGymBlocks: ; 0x5d3a3 90
+	INCBIN "maps/saffrongym.blk"
+
+SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180)
+	db $02 ; tileset
+	db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x)
+	dw SaffronMartBlocks, SaffronMartTexts, SaffronMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SaffronMartObject ; objects
+
+SaffronMartScript: ; 0x5d409
+	jp $3c3c
+; 0x5d40c
+
+SaffronMartTexts: ; 0x5d40c
+	dw SaffronMartText1, SaffronMartText2, SaffronMartText3
+
+SaffronMartText2: ; 0x5d412
+	TX_FAR _SaffronMartText2
+	db $50
+
+SaffronMartText3: ; 0x5d417
+	TX_FAR _SaffronMartText3
+	db $50
+
+SaffronMartObject: ; 0x5d41c (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $4, $ff
+	db $7, $4, $4, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $4 + 4, $ff, $ff, $2 ; person
+	db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $0, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+SilphCo1_h: ; 0x5d442 to 0x5d44e (12 bytes) (id=181)
+	db $16 ; tileset
+	db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x)
+	dw SilphCo1Blocks, SilphCo1Texts, SilphCo1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo1Object ; objects
+
+SilphCo1Script: ; 0x5d44e
+	call $3c3c
+	ld a, [$d838]
+	bit 7, a
+	ret z
+	ld hl, $d7b9
+	bit 7, [hl]
+	set 7, [hl]
+	ret nz
+	ld a, $4c
+	ld [$cc4d], a
+	ld a, $15
+	jp $3e6d
+; 0x5d469
+
+SilphCo1Texts: ; 0x5d469
+	dw SilphCo1Text1
+
+SilphCo1Text1: ; 0x5d46b
+	TX_FAR _SilphCo1Text1
+	db $50
+
+SilphCo1Object: ; 0x5d470 (size=50)
+	db $2e ; border tile
+
+	db $5 ; warps
+	db $11, $a, $5, $ff
+	db $11, $b, $5, $ff
+	db $0, $1a, $0, SILPH_CO_2F
+	db $0, $14, $0, SILPH_CO_ELEVATOR
+	db $a, $10, $6, SILPH_CO_3F
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $4 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $f, $11, $a
+	EVENT_DISP $f, $11, $b
+	EVENT_DISP $f, $0, $1a ; SILPH_CO_2F
+	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $f, $a, $10 ; SILPH_CO_3F
+
+SilphCo1Blocks: ; 0x5d4a2 135
+	INCBIN "maps/silphco1.blk"
+
+SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182)
+	db $06 ; tileset
+	db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x)
+	dw SaffronPokecenterBlocks, SaffronPokecenterTexts, SaffronPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SaffronPokecenterObject ; objects
+
+SaffronPokecenterScript: ; 0x5d535
+	call $22fa
+	jp $3c3c
+; 0x5d53b
+
+SaffronPokecenterTexts:
+	dw SaffronPokecenterText1, SaffronPokecenterText2, SaffronPokecenterText3, SaffronPokecenterText4
+
+SaffronPokecenterText1: ; 0x5d542
+	db $ff
+
+SaffronPokecenterText2: ; 0x5d543
+	TX_FAR _SaffronPokecenterText1
+	db $50
+
+SaffronPokecenterText3: ; 0x5d549
+	TX_FAR _SaffronPokecenterText3
+	db $50
+
+SaffronPokecenterText4:
+	db $f6
+
+SaffronPokecenterObject: ; 0x5d54f (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $6, $ff
+	db $7, $4, $6, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $ff, $2 ; person
+	db SPRITE_GENTLEMAN, $3 + 4, $8 + 4, $ff, $d0, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47)
+	db $09 ; tileset
+	db VIRIDIAN_FOREST_EXIT_HEIGHT, VIRIDIAN_FOREST_EXIT_WIDTH ; dimensions (y, x)
+	dw ViridianForestexitBlocks, ViridianForestexitTexts, ViridianForestexitScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianForestexitObject ; objects
+
+ViridianForestexitScript: ; 0x5d587
+	jp $3c3c
+; 0x5d58a
+
+ViridianForestexitTexts: ; 0x5d58a
+	dw ViridianForestexitText1, ViridianForestexitText2
+
+ViridianForestexitText1: ; 0x5d58e
+	TX_FAR _ViridianForestexitText1
+	db $50
+
+ViridianForestexitText2: ; 0x5d593
+	TX_FAR _ViridianForestexitText2
+	db $50
+
+ViridianForestexitObject: ; 0x5d598 (size=48)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $0, $4, $1, $ff
+	db $0, $5, $1, $ff
+	db $7, $4, $0, VIRIDIAN_FOREST
+	db $7, $5, $0, VIRIDIAN_FOREST
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $ff, $1 ; person
+	db SPRITE_OLD_PERSON, $5 + 4, $2 + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $5, $0, $4
+	EVENT_DISP $5, $0, $5
+	EVENT_DISP $5, $7, $4 ; VIRIDIAN_FOREST
+	EVENT_DISP $5, $7, $5 ; VIRIDIAN_FOREST
+
+Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49)
+	db $0c ; tileset
+	db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x)
+	dw Route2GateBlocks, Route2GateTexts, Route2GateScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Route2GateObject ; objects
+
+Route2GateScript: ; 0x5d5d4
+	jp $3c3c
+; 0x5d5d7
+
+Route2GateTexts: ; 0x5d5d7
+	dw Route2GateText1, Route2GateText2
+
+Route2GateText1: ; 0x5d5db
+	db $08 ; asm
+	ld a, [$d7c2]
+	bit 0, a
+	jr nz, .asm_6592c ; 0x5d5e1
+	ld a, $a
+	ldh [$db], a
+	ld a, $c8
+	ldh [$dc], a
+	ld [$d11e], a
+	call GetItemName ; $2fcf
+	ld hl, $cd6d
+	ld de, $cc5b
+	ld bc, $000d
+	call CopyData
+	ld a, $62
+	call Predef
+	ldh a, [$db]
+	cp $1
+	jr nz, .asm_ad646 ; 0x5d606
+	ld hl, $d7c2
+	set 0, [hl]
+.asm_6592c ; 0x5d60d
+	ld hl, UnnamedText_5d616
+	call PrintText
+.asm_ad646 ; 0x5d613
+	jp TextScriptEnd
+
+UnnamedText_5d616: ; 0x5d616
+	TX_FAR _UnnamedText_5d616
+	db $50
+; 0x5d616 + 5 bytes
+
+Route2GateText2: ; 0x5d61b
+	TX_FAR _Route2GateText2
+	db $50
+
+Route2GateObject: ; 0x5d620 (size=48)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $0, $4, $3, $ff
+	db $0, $5, $3, $ff
+	db $7, $4, $4, $ff
+	db $7, $5, $4, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_OAK_AIDE, $4 + 4, $1 + 4, $ff, $d2, $1 ; person
+	db SPRITE_BUG_CATCHER, $4 + 4, $5 + 4, $fe, $2, $2 ; person
+
+	; warp-to
+	EVENT_DISP $5, $0, $4
+	EVENT_DISP $5, $0, $5
+	EVENT_DISP $5, $7, $4
+	EVENT_DISP $5, $7, $5
+
+ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50)
+	db $09 ; tileset
+	db VIRIDIAN_FOREST_ENTRANCE_HEIGHT, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; dimensions (y, x)
+	dw ViridianForestEntranceBlocks, ViridianForestEntranceTexts, ViridianForestEntranceScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianForestEntranceObject ; objects
+
+ViridianForestEntranceScript: ; 0x5d65c
+	jp $3c3c
+; 0x5d65f
+
+ViridianForestEntranceTexts: ; 0x5d65f
+	dw ViridianForestEntranceText1, ViridianForestEntranceText2
+
+ViridianForestEntranceText1: ; 0x5d663
+	TX_FAR _ViridianForestEntranceText1
+	db $50
+
+ViridianForestEntranceText2: ; 0x5d668
+	TX_FAR _ViridianForestEntranceText2
+	db $50
+
+ViridianForestEntranceObject: ; 0x5d66d (size=48)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $0, $4, $3, VIRIDIAN_FOREST
+	db $0, $5, $4, VIRIDIAN_FOREST
+	db $7, $4, $5, $ff
+	db $7, $5, $5, $ff
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_GIRL, $4 + 4, $8 + 4, $ff, $d2, $1 ; person
+	db SPRITE_LITTLE_GIRL, $4 + 4, $2 + 4, $fe, $1, $2 ; person
+
+	; warp-to
+	EVENT_DISP $5, $0, $4 ; VIRIDIAN_FOREST
+	EVENT_DISP $5, $0, $5 ; VIRIDIAN_FOREST
+	EVENT_DISP $5, $7, $4
+	EVENT_DISP $5, $7, $5
+
+UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71)
+	db $0c ; tileset
+	db PATH_ENTRANCE_ROUTE_5_HEIGHT, PATH_ENTRANCE_ROUTE_5_WIDTH ; dimensions (y, x)
+	dw UndergroundTunnelEntranceRoute5Blocks, UndergroundTunnelEntranceRoute5Texts, UndergroundTunnelEntranceRoute5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UndergroundTunnelEntranceRoute5Object ; objects
+
+UndergroundTunnelEntranceRoute5Script: ; 0x5d6a9
+	ld a, $10
+	ld [$d365], a
+	ret
+; 0x5d6af
+
+UndergroundTunnelEntranceRoute5_5d6af: ; 0x5d6af
+	db $50
+
+UndergroundTunnelEntranceRoute5Texts: ; 0x5d6b0
+	dw UndergroundTunnelEntranceRoute5Text1
+
+UndergroundTunnelEntranceRoute5Text1: ; 0x5d6b2
+	db $08 ; asm
+	ld a, $9
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+	ld hl, UndergroundTunnelEntranceRoute5_5d6af
+	ret
+
+UndergroundTunnelEntranceRoute5Object: ; 0x5d6c1 (size=34)
+	db $a ; border tile
+
+	db $3 ; warps
+	db $7, $3, $3, $ff
+	db $7, $4, $3, $ff
+	db $4, $4, $0, UNDERGROUND_PATH_NS
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_LITTLE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS
+
+UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74)
+	db $0c ; tileset
+	db PATH_ENTRANCE_ROUTE_6_HEIGHT, PATH_ENTRANCE_ROUTE_6_WIDTH ; dimensions (y, x)
+	dw UndergroundTunnelEntranceRoute6Blocks, UndergroundTunnelEntranceRoute6Texts, UndergroundTunnelEntranceRoute6Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UndergroundTunnelEntranceRoute6Object ; objects
+
+UndergroundTunnelEntranceRoute6Script: ; 0x5d6ef
+	ld a, $11
+	ld [$d365], a
+	jp $3c3c
+; 0x5d6f7
+
+UndergroundTunnelEntranceRoute6Texts: ; 0x5d6f7
+	dw UndergroundTunnelEntranceRoute6Text1
+
+;XXX wtf? syntax error on TX_FAR?
+UndergroundTunnelEntranceRoute6Text1: ; 0x5d6f9
+	db $17, $cb, $40, $23
+	;TX_FAR _UndergroundTunnelEntranceRoute6Text1 ; $cb, $40, $23
+	db $50
+
+UndergroundTunnelEntranceRoute6Object: ; 0x5d6fe (size=34)
+	db $a ; border tile
+
+	db $3 ; warps
+	db $7, $3, $3, $ff
+	db $7, $4, $3, $ff
+	db $4, $4, $1, UNDERGROUND_PATH_NS
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_GIRL, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_NS
+
+UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77)
+	db $0c ; tileset
+	db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x)
+	dw UndergroundTunnelEntranceRoute7Blocks, UndergroundPathEntranceRoute7Texts, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UndergroundPathEntranceRoute7Object ; objects
+
+UndergroundPathEntranceRoute7Script: ; 0x5d72c
+	ld a, $12
+	ld [$d365], a
+	jp $3c3c
+; 0x5d734
+
+UndergroundPathEntranceRoute7Texts: ; 0x5d734
+	dw UndergroundPathEntranceRoute7Text1
+
+UndergroundPathEntranceRoute7Text1: ; 0x5d736
+	db $17, $ff, $40, $23
+	;TX_FAR _UndergroundPathEntranceRoute7Text1
+	db $50
+
+UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34)
+	db $a ; border tile
+
+	db $3 ; warps
+	db $7, $3, $4, $ff
+	db $7, $4, $4, $ff
+	db $4, $4, $0, UNDERGROUND_PATH_WE
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FAT_BALD_GUY, $4 + 4, $2 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+	EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE
+
+INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d
+
+UnnamedText_5d773: ; 0x5d773
+	TX_FAR _UnnamedText_5d773
+	db $50
+; 0x5d773 + 5 bytes
+
+UnnamedText_5d778: ; 0x5d778
+	TX_FAR _UnnamedText_5d778
+	db $50
+; 0x5d778 + 5 bytes
+
+UnnamedText_5d77d: ; 0x5d77d
+	TX_FAR _UnnamedText_5d77d
+	db $50
+; 0x5d77d + 5 bytes
+
+UnnamedText_5d782: ; 0x5d782
+	TX_FAR _UnnamedText_5d782
+	db $50
+; 0x5d782 + 5 bytes
+
+INCBIN "baserom.gbc",$5d787,$28
+
+SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233)
+	db $16 ; tileset
+	db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x)
+	dw SilphCo9Blocks, SilphCo9Texts, SilphCo9Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo9Object ; objects
+
+SilphCo9Script: ; 0x5d7bb
+	call SilphCo9Script_Unknown5d7d1
+	call $3c3c
+	ld hl, SilphCo9TrainerHeaders
+	ld de, $5885
+	ld a, [$d64a]
+	call $3160
+	ld [$d64a], a
+	ret
+; 0x5d7d1
+
+SilphCo9Script_Unknown5d7d1: ; 0x5d7d1
+INCBIN "baserom.gbc",$5d7d1,$ba
+
+SilphCo9Texts: ; 0x5d88b
+	dw SilphCo9Text1, SilphCo9Text2, SilphCo9Text3, SilphCo9Text4
+
+SilphCo9TrainerHeaders:
+SilphCo9TrainerHeader1: ; 0x5d893
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d833 ; flag's byte
+	dw UnnamedText_5d912 ; 0x5912 TextBeforeBattle
+	dw UnnamedText_5d91c ; 0x591c TextAfterBattle
+	dw UnnamedText_5d917 ; 0x5917 TextEndBattle
+	dw UnnamedText_5d917 ; 0x5917 TextEndBattle
+; 0x5d89f
+
+TrainerHeader_5d89f: ; 0x5d89f
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d833 ; flag's byte
+	dw UnnamedText_5d921 ; 0x5921 TextBeforeBattle
+	dw UnnamedText_5d92b ; 0x592b TextAfterBattle
+	dw UnnamedText_5d926 ; 0x5926 TextEndBattle
+	dw UnnamedText_5d926 ; 0x5926 TextEndBattle
+; 0x5d8ab
+
+TrainerHeader_5d8ab: ; 0x5d8ab
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d833 ; flag's byte
+	dw UnnamedText_5d930 ; 0x5930 TextBeforeBattle
+	dw UnnamedText_5d93a ; 0x593a TextAfterBattle
+	dw UnnamedText_5d935 ; 0x5935 TextEndBattle
+	dw UnnamedText_5d935 ; 0x5935 TextEndBattle
+; 0x5d8b7
+
+db $ff
+
+SilphCo9Text1: ; 0x5d8b8
+	db $08 ; asm
+	ld a, [$d838]
+	bit 7, a
+	jr nz, .asm_a14c3 ; 0x5d8be
+	ld hl, UnnamedText_5d8e5
+	call PrintText
+	ld a, $7
+	call Predef
+	call $20d8
+	call Delay3
+	call $20f6
+	ld hl, UnnamedText_5d8ea
+	call PrintText
+	jr .asm_b6e28 ; 0x5d8da
+.asm_a14c3 ; 0x5d8dc
+	ld hl, UnnamedText_5d8ef
+	call PrintText
+.asm_b6e28 ; 0x5d8e2
+	jp TextScriptEnd
+
+UnnamedText_5d8e5: ; 0x5d8e5
+	TX_FAR _UnnamedText_5d8e5
+	db $50
+; 0x5d8e5 + 5 bytes
+
+UnnamedText_5d8ea: ; 0x5d8ea
+	TX_FAR _UnnamedText_5d8ea
+	db $50
+; 0x5d8ea + 5 bytes
+
+UnnamedText_5d8ef: ; 0x5d8ef
+	TX_FAR _UnnamedText_5d8ef
+	db $50
+; 0x5d8ef + 5 bytes
+
+SilphCo9Text2: ; 0x5d8f4
+	db $08 ; asm
+	ld hl, SilphCo9TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo9Text3: ; 0x5d8fe
+	db $08 ; asm
+	ld hl, TrainerHeader_5d89f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SilphCo9Text4: ; 0x5d908
+	db $08 ; asm
+	ld hl, TrainerHeader_5d8ab
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5d912: ; 0x5d912
+	TX_FAR _UnnamedText_5d912
+	db $50
+; 0x5d912 + 5 bytes
+
+UnnamedText_5d917: ; 0x5d917
+	TX_FAR _UnnamedText_5d917
+	db $50
+; 0x5d917 + 5 bytes
+
+UnnamedText_5d91c: ; 0x5d91c
+	TX_FAR _UnnamedText_5d91c
+	db $50
+; 0x5d91c + 5 bytes
+
+UnnamedText_5d921: ; 0x5d921
+	TX_FAR _UnnamedText_5d921
+	db $50
+; 0x5d921 + 5 bytes
+
+UnnamedText_5d926: ; 0x5d926
+	TX_FAR _UnnamedText_5d926
+	db $50
+; 0x5d926 + 5 bytes
+
+UnnamedText_5d92b: ; 0x5d92b
+	TX_FAR _UnnamedText_5d92b
+	db $50
+; 0x5d92b + 5 bytes
+
+UnnamedText_5d930: ; 0x5d930
+	TX_FAR _UnnamedText_5d930
+	db $50
+; 0x5d930 + 5 bytes
+
+UnnamedText_5d935: ; 0x5d935
+	TX_FAR _UnnamedText_5d935
+	db $50
+; 0x5d935 + 5 bytes
+
+UnnamedText_5d93a: ; 0x5d93a
+	TX_FAR _UnnamedText_5d93a
+	db $50
+; 0x5d93a + 5 bytes
+
+SilphCo9Object: ; 0x5d93f (size=74)
+	db $2e ; border tile
+
+	db $5 ; warps
+	db $0, $e, $0, SILPH_CO_10F
+	db $0, $10, $0, SILPH_CO_8F
+	db $0, $12, $0, SILPH_CO_ELEVATOR
+	db $3, $9, $7, SILPH_CO_3F
+	db $f, $11, $4, SILPH_CO_5F
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $e + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_ROCKET, $4 + 4, $2 + 4, $ff, $d1, $42, ROCKET + $C8, $25 ; trainer
+	db SPRITE_OAK_AIDE, $d + 4, $15 + 4, $ff, $d0, $43, SCIENTIST + $C8, $a ; trainer
+	db SPRITE_ROCKET, $10 + 4, $d + 4, $ff, $d1, $44, ROCKET + $C8, $26 ; trainer
+
+	; warp-to
+	EVENT_DISP $d, $0, $e ; SILPH_CO_10F
+	EVENT_DISP $d, $0, $10 ; SILPH_CO_8F
+	EVENT_DISP $d, $0, $12 ; SILPH_CO_ELEVATOR
+	EVENT_DISP $d, $3, $9 ; SILPH_CO_3F
+	EVENT_DISP $d, $f, $11 ; SILPH_CO_5F
+
+SilphCo9Blocks: ; 0x5d989 117
+	INCBIN "maps/silphco9.blk"
+
+VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108)
+	db $11 ; tileset
+	db VICTORY_ROAD_1_HEIGHT, VICTORY_ROAD_1_WIDTH ; dimensions (y, x)
+	dw VictoryRoad1Blocks, VictoryRoad1Texts, VictoryRoad1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw VictoryRoad1Object ; objects
+
+VictoryRoad1Script: ; 0x5da0a
+	ld hl, $d126
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, .next
+	call $3c3c
+	ld hl, VictoryRoad1TrainerHeaders
+	ld de, $5a3a
+	ld a, [$d651]
+	call $3160
+	ld [$d651], a
+	ret
+; 0x5da27
+.next
+INCBIN "baserom.gbc",$5da27,$38
+
+VictoryRoad1Texts: ; 0x5da5f
+	dw VictoryRoad1Text1, VictoryRoad1Text2, VictoryRoad1Text3, VictoryRoad1Text4, VictoryRoad1Text5, VictoryRoad1Text6, VictoryRoad1Text7
+
+VictoryRoad1TrainerHeaders
+VictoryRoad1TrainerHeader1: ; 0x5da6d
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d869 ; flag's byte
+	dw UnnamedText_5da9a ; 0x5a9a TextBeforeBattle
+	dw UnnamedText_5daa4 ; 0x5aa4 TextAfterBattle
+	dw UnnamedText_5da9f ; 0x5a9f TextEndBattle
+	dw UnnamedText_5da9f ; 0x5a9f TextEndBattle
+; 0x5da79
+
+TrainerHeader_5da79: ; 0x5da79
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d869 ; flag's byte
+	dw UnnamedText_5daa9 ; 0x5aa9 TextBeforeBattle
+	dw UnnamedText_5dab3 ; 0x5ab3 TextAfterBattle
+	dw UnnamedText_5daae ; 0x5aae TextEndBattle
+	dw UnnamedText_5daae ; 0x5aae TextEndBattle
+; 0x5da85
+
+db $ff
+
+VictoryRoad1Text1: ; 0x5da86
+	db $08 ; asm
+	ld hl, VictoryRoad1TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+VictoryRoad1Text2: ; 0x5da90
+	db $08 ; asm
+	ld hl, TrainerHeader_5da79
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_5da9a: ; 0x5da9a
+	TX_FAR _UnnamedText_5da9a
+	db $50
+; 0x5da9a + 5 bytes
+
+UnnamedText_5da9f: ; 0x5da9f
+	TX_FAR _UnnamedText_5da9f
+	db $50
+; 0x5da9f + 5 bytes
+
+UnnamedText_5daa4: ; 0x5daa4
+	TX_FAR _UnnamedText_5daa4
+	db $50
+; 0x5daa4 + 5 bytes
+
+UnnamedText_5daa9: ; 0x5daa9
+	TX_FAR _UnnamedText_5daa9
+	db $50
+; 0x5daa9 + 5 bytes
+
+UnnamedText_5daae: ; 0x5daae
+	TX_FAR _UnnamedText_5daae
+	db $50
+; 0x5daae + 5 bytes
+
+UnnamedText_5dab3: ; 0x5dab3
+	TX_FAR _UnnamedText_5dab3
+	db $50
+; 0x5dab3 + 5 bytes
+
+VictoryRoad1Object: ; 0x5dab8 (size=76)
+	db $7d ; border tile
+
+	db $3 ; warps
+	db $11, $8, $2, $ff
+	db $11, $9, $2, $ff
+	db $1, $1, $0, VICTORY_ROAD_2
+
+	db $0 ; signs
+
+	db $7 ; people
+	db SPRITE_LASS, $5 + 4, $7 + 4, $ff, $d3, $41, COOLTRAINER_F + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $2 + 4, $3 + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $5 ; trainer
+	db SPRITE_BALL, $0 + 4, $b + 4, $ff, $ff, $83, TM_43 ; item
+	db SPRITE_BALL, $2 + 4, $9 + 4, $ff, $ff, $84, RARE_CANDY ; item
+	db SPRITE_BOULDER, $f + 4, $5 + 4, $ff, $10, $5 ; person
+	db SPRITE_BOULDER, $2 + 4, $e + 4, $ff, $10, $6 ; person
+	db SPRITE_BOULDER, $a + 4, $2 + 4, $ff, $10, $7 ; person
+
+	; warp-to
+	EVENT_DISP $a, $11, $8
+	EVENT_DISP $a, $11, $9
+	EVENT_DISP $a, $1, $1 ; VICTORY_ROAD_2
+
+VictoryRoad1Blocks: ; 0x5db04 90
+	INCBIN "maps/victoryroad1.blk"
+
+INCBIN "baserom.gbc",$5db5e,$5db81 - $5db5e
+
+UnnamedText_5db81: ; 0x5db81
+	TX_FAR _UnnamedText_5db81
+	db $50
+; 0x5db81 + 5 bytes
+
+INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86
+
+UnnamedText_5dba8: ; 0x5dba8
+	TX_FAR _UnnamedText_5dba8
+	db $50
+; 0x5dba8 + 5 bytes
+
+INCBIN "baserom.gbc",$5dbad,$5dbbe - $5dbad
+
+UnnamedText_5dbbe: ; 0x5dbbe
+	TX_FAR _UnnamedText_5dbbe
+	db $50
+; 0x5dbbe + 5 bytes
+
+INCBIN "baserom.gbc",$5dbc3,$5dbd4 - $5dbc3
+
+UnnamedText_5dbd4: ; 0x5dbd4
+	TX_FAR _UnnamedText_5dbd4
+	db $50
+; 0x5dbd4 + 5 bytes
+
+INCBIN "baserom.gbc",$5dbd9,$5dc9e - $5dbd9
+
+UnnamedText_5dc9e: ; 0x5dc9e
+	TX_FAR _UnnamedText_5dc9e
+	db $50
+; 0x5dc9e + 5 bytes
+
+UnnamedText_5dca3: ; 0x5dca3
+	TX_FAR _UnnamedText_5dca3
+	db $50
+; 0x5dca3 + 5 bytes
+
+INCBIN "baserom.gbc",$5dca8,$5dcde - $5dca8
+
+UnnamedText_5dcde: ; 0x5dcde
+	TX_FAR _UnnamedText_5dcde
+	db $50
+; 0x5dcde + 5 bytes
+
+UnnamedText_5dce3: ; 0x5dce3
+	TX_FAR _UnnamedText_5dce3
+	db $50
+; 0x5dce3 + 5 bytes
+
+UnnamedText_5dce8: ; 0x5dce8
+	TX_FAR _UnnamedText_5dce8
+	db $50
+; 0x5dce8 + 5 bytes
+
+INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced
+
+UnnamedText_5dda2: ; 0x5dda2
+	TX_FAR _UnnamedText_5dda2
+	db $50
+; 0x5dda2 + 5 bytes
+
+UnnamedText_5dda7: ; 0x5dda7
+	TX_FAR _UnnamedText_5dda7
+	db $50
+; 0x5dda7 + 5 bytes
+
+INCBIN "baserom.gbc",$5ddac,$5ddd6 - $5ddac
+
+UnnamedText_5ddd6: ; 0x5ddd6
+	TX_FAR _UnnamedText_5ddd6
+	db $50
+; 0x5ddd6 + 5 bytes
+
+UnnamedText_5dddb: ; 0x5dddb
+	TX_FAR _UnnamedText_5dddb
+	db $50
+; 0x5dddb + 5 bytes
+
+UnnamedText_5dde0: ; 0x5dde0
+	TX_FAR _UnnamedText_5dde0
+	db $50
+; 0x5dde0 + 5 bytes
+
+UnnamedText_5dde5: ; 0x5dde5
+	TX_FAR _UnnamedText_5dde5
+	db $50
+; 0x5dde5 + 5 bytes
+
+UnnamedText_5ddea: ; 0x5ddea
+	TX_FAR _UnnamedText_5ddea
+	db $50
+; 0x5ddea + 5 bytes
+
+INCBIN "baserom.gbc",$5ddef,$5ddf7 - $5ddef
+
+UnnamedText_5ddf7: ; 0x5ddf7
+	TX_FAR _UnnamedText_5ddf7
+	db $50
+; 0x5ddf7 + 5 bytes
+
+INCBIN "baserom.gbc",$5ddfc,$5dedb - $5ddfc
+
+UnnamedText_5dedb: ; 0x5dedb
+	TX_FAR _UnnamedText_5dedb
+	db $50
+; 0x5dedb + 5 bytes
+
+INCBIN "baserom.gbc",$5dee0,$2120
+
+SECTION "bank18",DATA,BANK[$18]
+
+ViridianForestBlocks:
+	INCBIN "maps/viridianforest.blk"
+
+UndergroundPathNSBlocks: ; 0x60198 96
+	INCBIN "maps/undergroundpathns.blk"
+
+INCBIN "baserom.gbc",$601f8,$1c8
+
+SSAnne10Blocks:
+SSAnne9Blocks: ; 0x603c0 96
+	INCBIN "maps/ssanne9.blk"
+
+PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142)
+	db $0f ; tileset
+	db POKEMONTOWER_1_HEIGHT, POKEMONTOWER_1_WIDTH ; dimensions (y, x)
+	dw PokemonTower1Blocks, PokemonTower1Texts, PokemonTower1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower1Object ; objects
+
+PokemonTower1Script: ; 0x6042c
+	jp $3c3c
+; 0x6042f
+
+PokemonTower1Texts: ; 0x6042f
+	dw PokemonTower1Text1, PokemonTower1Text2, PokemonTower1Text3, PokemonTower1Text4, PokemonTower1Text5
+
+PokemonTower1Text1: ; 0x60439
+	TX_FAR _PokemonTower1Text1
+	db $50
+
+PokemonTower1Text2: ; 0x6043e
+	TX_FAR _PokemonTower1Text2
+	db $50
+
+PokemonTower1Text3: ; 0x60443
+	TX_FAR _PokemonTower1Text3
+	db $50
+
+PokemonTower1Text4: ; 0x60448
+	TX_FAR _PokemonTower1Text4
+	db $50
+
+PokemonTower1Text5: ; 0x6044d
+	TX_FAR _PokemonTower1Text5
+	db $50
+
+PokemonTower1Object: ; 0x60452 (size=58)
+	db $1 ; border tile
+
+	db $3 ; warps
+	db $11, $a, $1, $ff
+	db $11, $b, $1, $ff
+	db $9, $12, $1, POKEMONTOWER_2
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_CABLE_CLUB_WOMAN, $d + 4, $f + 4, $ff, $d1, $1 ; person
+	db SPRITE_MOM_GEISHA, $8 + 4, $6 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BALDING_GUY, $c + 4, $8 + 4, $ff, $ff, $3 ; person
+	db SPRITE_GIRL, $7 + 4, $d + 4, $ff, $ff, $4 ; person
+	db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $5 ; person
+
+	; warp-to
+	EVENT_DISP $a, $11, $a
+	EVENT_DISP $a, $11, $b
+	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_2
+
+PokemonTower1Blocks: ; 0x6048c 90
+	INCBIN "maps/pokemontower1.blk"
+
+PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143)
+	db $0f ; tileset
+	db POKEMONTOWER_2_HEIGHT, POKEMONTOWER_2_WIDTH ; dimensions (y, x)
+	dw PokemonTower2Blocks, PokemonTower2Texts, PokemonTower2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower2Object ; objects
+
+PokemonTower2Script: ; 0x604f2
+	call $3c3c
+	ld hl, PokemonTower2Scripts
+	ld a, [$d62b]
+	jp $3d97
+; 0x604fe
+
+INCBIN "baserom.gbc",$604fe,$60509 - $604fe
+
+PokemonTower2Scripts: ; 0x60509
+	dw PokemonTower2Script0, PokemonTower2Script1, PokemonTower2Script2
+
+PokemonTower2Script0: ; 0x6050f
+	ld a, [$d764]
+	bit 7, a
+	ret nz
+	ld hl, $455e
+	call $34bf
+	ret nc
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld c, $2
+	ld a, $de
+	call $23a1
+	ld hl, $d764
+	res 6, [hl]
+	ld a, [$cd3d]
+	cp $1
+	ld a, $8
+	ld b, $0
+	jr nz, .asm_60544 ; 0x60539 $9
+	ld hl, $d764
+	set 6, [hl]
+	ld a, $2
+	ld b, $c
+.asm_60544
+	ld [$d528], a
+	ld a, $1
+	ld [$ff00+$8c], a
+	ld a, b
+	ld [$ff00+$8d], a
+	call $34a6
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	xor a
+	ld [$ff00+$b4], a
+	ld [$ff00+$b3], a
+	ret
+; 0x6055e
+
+INCBIN "baserom.gbc",$6055e,$60563 - $6055e
+
+PokemonTower2Script1: ; 0x60563
+	ld a, [$d057]
+	cp $ff
+	jp z, $44fe
+	ld a, $f0
+	ld [$cd6b], a
+	ld hl, $d764
+	set 7, [hl]
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	ld de, $45b2
+	ld a, [$d764]
+	bit 6, a
+	jr nz, .asm_60589 ; 0x60584 $3
+	ld de, $45a9
+.asm_60589
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $363a
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, $2
+	ld [$d62b], a
+	ld [$da39], a
+	ret
+; 0x605a9
+
+INCBIN "baserom.gbc",$605a9,$605bb - $605a9
+
+PokemonTower2Script2: ; 0x605bb
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	ld a, $38
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	xor a
+	ld [$cd6b], a
+	call $2307
+	ld a, $0
+	ld [$d62b], a
+	ld [$da39], a
+	ret
+; 0x605db
+
+PokemonTower2Texts: ; 0x605db
+	dw PokemonTower2Text1, PokemonTower2Text2
+
+PokemonTower2Text1: ; 0x605df
+	db $08 ; asm
+	ld a, [$d764]
+	bit 7, a
+	jr z, .asm_16f24 ; 0x605e5
+	ld hl, UnnamedText_6063c
+	call PrintText
+	jr .asm_41852 ; 0x605ed
+.asm_16f24 ; 0x605ef
+	ld hl, UnnamedText_6062d
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_60632
+	ld de, UnnamedText_60637 ; XXX $4637
+	call $3354
+	ld a, $f2
+	ld [$d059], a
+
+	; select which team to use during the encounter
+	ld a, [W_RIVALSTARTER]
+	cp SQUIRTLE
+	jr nz, .NotSquirtle\@ ; 0x6060f
+	ld a, $4
+	jr .done\@
+.NotSquirtle\@ ; 0x60615
+	cp BULBASAUR
+	jr nz, .Charmander\@ ; 0x60617
+	ld a, $5
+	jr .done\@
+.Charmander\@ ; 0x6061d
+	ld a, $6
+.done\@
+	ld [W_TRAINERNO], a
+
+	ld a, $1
+	ld [$d62b], a
+	ld [$da39], a
+.asm_41852 ; 0x6062a
+	jp TextScriptEnd
+
+UnnamedText_6062d: ; 0x6062d
+	TX_FAR _UnnamedText_6062d
+	db $50
+; 0x6062d + 5 bytes
+
+UnnamedText_60632: ; 0x60632
+	TX_FAR _UnnamedText_60632
+	db $50
+; 0x60632 + 5 bytes
+
+UnnamedText_60637: ; 0x60637
+	TX_FAR _UnnamedText_60637
+	db $50
+; 0x60637 + 5 bytes
+
+UnnamedText_6063c: ; 0x6063c
+	TX_FAR _UnnamedText_6063c
+	db $50
+; 0x6063c + 5 bytes
+
+PokemonTower2Text2: ; 0x60641
+	TX_FAR _PokemonTower2Text2
+	db $50
+
+PokemonTower2Object: ; 0x60646 (size=32)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $9, $3, $0, POKEMONTOWER_3
+	db $9, $12, $2, POKEMONTOWER_1
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BLUE, $5 + 4, $e + 4, $ff, $ff, $1 ; person
+	db SPRITE_MEDIUM, $7 + 4, $3 + 4, $ff, $d3, $2 ; person
+
+	; warp-to
+	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_3
+	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_1
+
+PokemonTower2Blocks: ; 0x60666 90
+	INCBIN "maps/pokemontower2.blk"
+
+PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144)
+	db $0f ; tileset
+	db POKEMONTOWER_3_HEIGHT, POKEMONTOWER_3_WIDTH ; dimensions (y, x)
+	dw PokemonTower3Blocks, PokemonTower3Texts, PokemonTower3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower3Object ; objects
+
+PokemonTower3Script: ; 0x606cc
+	call $3c3c
+	ld hl, PokemonTower3TrainerHeaders
+	ld de, Unknown_606df
+	ld a, [$d62c]
+	call $3160
+	ld [$d62c], a
+	ret
+; 0x606df
+
+Unknown_606df: ; 0x606df
+INCBIN "baserom.gbc",$606df,$6
+
+PokemonTower3Texts: ; 0x606e5
+	dw PokemonTower3Text1, PokemonTower3Text2, PokemonTower3Text3, PokemonTower3Text4
+
+PokemonTower3TrainerHeaders:
+PokemonTower3TrainerHeader1: ; 0x606ed
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d765 ; flag's byte
+	dw UnnamedText_60730 ; 0x4730 TextBeforeBattle
+	dw UnnamedText_6073a ; 0x473a TextAfterBattle
+	dw UnnamedText_60735 ; 0x4735 TextEndBattle
+	dw UnnamedText_60735 ; 0x4735 TextEndBattle
+; 0x606f9
+
+TrainerHeader_606f9: ; 0x606f9
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d765 ; flag's byte
+	dw UnnamedText_6073f ; 0x473f TextBeforeBattle
+	dw UnnamedText_60749 ; 0x4749 TextAfterBattle
+	dw UnnamedText_60744 ; 0x4744 TextEndBattle
+	dw UnnamedText_60744 ; 0x4744 TextEndBattle
+; 0x60705
+
+TrainerHeader_60705: ; 0x60705
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d765 ; flag's byte
+	dw UnnamedText_6074e ; 0x474e TextBeforeBattle
+	dw UnnamedText_60758 ; 0x4758 TextAfterBattle
+	dw UnnamedText_60753 ; 0x4753 TextEndBattle
+	dw UnnamedText_60753 ; 0x4753 TextEndBattle
+; 0x60711
+db $ff
+
+PokemonTower3Text1: ; 0x60712
+	db $08 ; asm
+	ld hl, PokemonTower3TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower3Text2: ; 0x6071c
+	db $08 ; asm
+	ld hl, TrainerHeader_606f9
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower3Text3: ; 0x60726
+	db $08 ; asm
+	ld hl, TrainerHeader_60705
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_60730: ; 0x60730
+	TX_FAR _UnnamedText_60730
+	db $50
+; 0x60730 + 5 bytes
+
+UnnamedText_60735: ; 0x60735
+	TX_FAR _UnnamedText_60735
+	db $50
+; 0x60735 + 5 bytes
+
+UnnamedText_6073a: ; 0x6073a
+	TX_FAR _UnnamedText_6073a
+	db $50
+; 0x6073a + 5 bytes
+
+UnnamedText_6073f: ; 0x6073f
+	TX_FAR _UnnamedText_6073f
+	db $50
+; 0x6073f + 5 bytes
+
+UnnamedText_60744: ; 0x60744
+	TX_FAR _UnnamedText_60744
+	db $50
+; 0x60744 + 5 bytes
+
+UnnamedText_60749: ; 0x60749
+	TX_FAR _UnnamedText_60749
+	db $50
+; 0x60749 + 5 bytes
+
+UnnamedText_6074e: ; 0x6074e
+	TX_FAR _UnnamedText_6074e
+	db $50
+; 0x6074e + 5 bytes
+
+UnnamedText_60753: ; 0x60753
+	TX_FAR _UnnamedText_60753
+	db $50
+; 0x60753 + 5 bytes
+
+UnnamedText_60758: ; 0x60758
+	TX_FAR _UnnamedText_60758
+	db $50
+; 0x60758 + 5 bytes
+
+PokemonTower3Object: ; 0x6075d (size=51)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $9, $3, $0, POKEMONTOWER_2
+	db $9, $12, $1, POKEMONTOWER_4
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_MEDIUM, $3 + 4, $c + 4, $ff, $d2, $41, CHANNELER + $C8, $5 ; trainer
+	db SPRITE_MEDIUM, $8 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $6 ; trainer
+	db SPRITE_MEDIUM, $d + 4, $a + 4, $ff, $d0, $43, CHANNELER + $C8, $8 ; trainer
+	db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $84, ESCAPE_ROPE ; item
+
+	; warp-to
+	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_2
+	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_4
+
+PokemonTower3Blocks: ; 0x60790 90
+	INCBIN "maps/pokemontower3.blk"
+
+PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145)
+	db $0f ; tileset
+	db POKEMONTOWER_4_HEIGHT, POKEMONTOWER_4_WIDTH ; dimensions (y, x)
+	dw PokemonTower4Blocks, PokemonTower4Texts, PokemonTower4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower4Object ; objects
+
+PokemonTower4Script: ; 0x607f6
+	call $3c3c
+	ld hl, PokemonTower4TrainerHeaders
+	ld de, PokemonTower4Script_Unknown60809
+	ld a, [$d62d]
+	call $3160
+	ld [$d62d], a
+	ret
+; 0x60809
+
+PokemonTower4Script_Unknown60809: ; 0x60809
+INCBIN "baserom.gbc",$60809,$6
+
+PokemonTower4Texts: ; 0x6080f
+	dw PokemonTower4Text1, PokemonTower4Text2, PokemonTower4Text3, PokemonTower4Text4, PokemonTower4Text5, PokemonTower4Text6
+
+PokemonTower4TrainerHeaders:
+PokemonTower4TrainerHeader1: ; 0x6081b
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d766 ; flag's byte
+	dw UnnamedText_6085e ; 0x485e TextBeforeBattle
+	dw UnnamedText_60868 ; 0x4868 TextAfterBattle
+	dw UnnamedText_60863 ; 0x4863 TextEndBattle
+	dw UnnamedText_60863 ; 0x4863 TextEndBattle
+; 0x60827
+
+TrainerHeader_60827: ; 0x60827
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d766 ; flag's byte
+	dw UnnamedText_6086d ; 0x486d TextBeforeBattle
+	dw UnnamedText_60877 ; 0x4877 TextAfterBattle
+	dw UnnamedText_60872 ; 0x4872 TextEndBattle
+	dw UnnamedText_60872 ; 0x4872 TextEndBattle
+; 0x60833
+
+TrainerHeader_60833: ; 0x60833
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d766 ; flag's byte
+	dw UnnamedText_6087c ; 0x487c TextBeforeBattle
+	dw UnnamedText_60886 ; 0x4886 TextAfterBattle
+	dw UnnamedText_60881 ; 0x4881 TextEndBattle
+	dw UnnamedText_60881 ; 0x4881 TextEndBattle
+; 0x6083f
+
+db $ff
+
+PokemonTower4Text1: ; 0x60840
+	db $08 ; asm
+	ld hl, PokemonTower4TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower4Text2: ; 0x6084a
+	db $08 ; asm
+	ld hl, TrainerHeader_60827
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower4Text3: ; 0x60854
+	db $08 ; asm
+	ld hl, TrainerHeader_60833
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_6085e: ; 0x6085e
+	TX_FAR _UnnamedText_6085e
+	db $50
+; 0x6085e + 5 bytes
+
+UnnamedText_60863: ; 0x60863
+	TX_FAR _UnnamedText_60863
+	db $50
+; 0x60863 + 5 bytes
+
+UnnamedText_60868: ; 0x60868
+	TX_FAR _UnnamedText_60868
+	db $50
+; 0x60868 + 5 bytes
+
+UnnamedText_6086d: ; 0x6086d
+	TX_FAR _UnnamedText_6086d
+	db $50
+; 0x6086d + 5 bytes
+
+UnnamedText_60872: ; 0x60872
+	TX_FAR _UnnamedText_60872
+	db $50
+; 0x60872 + 5 bytes
+
+UnnamedText_60877: ; 0x60877
+	TX_FAR _UnnamedText_60877
+	db $50
+; 0x60877 + 5 bytes
+
+UnnamedText_6087c: ; 0x6087c
+	TX_FAR _UnnamedText_6087c
+	db $50
+; 0x6087c + 5 bytes
+
+UnnamedText_60881: ; 0x60881
+	TX_FAR _UnnamedText_60881
+	db $50
+; 0x60881 + 5 bytes
+
+UnnamedText_60886: ; 0x60886
+	TX_FAR _UnnamedText_60886
+	db $50
+; 0x60886 + 5 bytes
+
+PokemonTower4Object: ; 0x6088b (size=65)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $9, $3, $0, POKEMONTOWER_5
+	db $9, $12, $1, POKEMONTOWER_3
+
+	db $0 ; signs
+
+	db $6 ; people
+	db SPRITE_MEDIUM, $a + 4, $5 + 4, $ff, $d3, $41, CHANNELER + $C8, $9 ; trainer
+	db SPRITE_MEDIUM, $7 + 4, $f + 4, $ff, $d0, $42, CHANNELER + $C8, $a ; trainer
+	db SPRITE_MEDIUM, $c + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $c ; trainer
+	db SPRITE_BALL, $a + 4, $c + 4, $ff, $ff, $84, ELIXER ; item
+	db SPRITE_BALL, $a + 4, $9 + 4, $ff, $ff, $85, AWAKENING ; item
+	db SPRITE_BALL, $10 + 4, $c + 4, $ff, $ff, $86, HP_UP ; item
+
+	; warp-to
+	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_5
+	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_3
+
+PokemonTower4Blocks: ; 0x608cc 90
+	INCBIN "maps/pokemontower4.blk"
+
+PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146)
+	db $0f ; tileset
+	db POKEMONTOWER_5_HEIGHT, POKEMONTOWER_5_WIDTH ; dimensions (y, x)
+	dw PokemonTower5Blocks, PokemonTower5Texts, PokemonTower5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower5Object ; objects
+
+PokemonTower5Script: ; 0x60932
+	call $3c3c
+	ld hl, PokemonTower5TrainerHeaders
+	ld de, PokemonTower5Script_Unknown60945
+	ld a, [$d62e]
+	call $3160
+	ld [$d62e], a
+	ret
+; 0x60945
+
+PokemonTower5Script_Unknown60945: ; 0x60945
+INCBIN "baserom.gbc",$60945,$56
+
+PokemonTower5Texts: ; 0x6099b
+	dw PokemonTower5Text1, PokemonTower5Text2, PokemonTower5Text3, PokemonTower5Text4, PokemonTower5Text5, PokemonTower5Text6, PokemonTower5Text7
+
+PokemonTower5TrainerHeaders:
+PokemonTower5TrainerHeader1: ; 0x609a9
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d767 ; flag's byte
+	dw UnnamedText_609e9 ; 0x49e9 TextBeforeBattle
+	dw UnnamedText_609f3 ; 0x49f3 TextAfterBattle
+	dw UnnamedText_609ee ; 0x49ee TextEndBattle
+	dw UnnamedText_609ee ; 0x49ee TextEndBattle
+; 0x609b5
+
+TrainerHeader_609b5: ; 0x609b5
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d767 ; flag's byte
+	dw UnnamedText_60a02 ; 0x4a02 TextBeforeBattle
+	dw UnnamedText_60a0c ; 0x4a0c TextAfterBattle
+	dw UnnamedText_60a07 ; 0x4a07 TextEndBattle
+	dw UnnamedText_60a07 ; 0x4a07 TextEndBattle
+; 0x609c1
+
+TrainerHeader_609c1: ; 0x609c1
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d767 ; flag's byte
+	dw UnnamedText_60a1b ; 0x4a1b TextBeforeBattle
+	dw UnnamedText_60a25 ; 0x4a25 TextAfterBattle
+	dw UnnamedText_60a20 ; 0x4a20 TextEndBattle
+	dw UnnamedText_60a20 ; 0x4a20 TextEndBattle
+; 0x609cd
+
+TrainerHeader_609cd: ; 0x609cd
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d767 ; flag's byte
+	dw UnnamedText_60a34 ; 0x4a34 TextBeforeBattle
+	dw UnnamedText_60a3e ; 0x4a3e TextAfterBattle
+	dw UnnamedText_60a39 ; 0x4a39 TextEndBattle
+	dw UnnamedText_60a39 ; 0x4a39 TextEndBattle
+; 0x609d9
+
+db $ff
+
+PokemonTower5Text1: ; 0x609da
+	TX_FAR _PokemonTower5Text1
+	db $50
+
+PokemonTower5Text2: ; 0x609df
+	db $08 ; asm
+	ld hl, PokemonTower5TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_609e9: ; 0x609e9
+	TX_FAR _UnnamedText_609e9
+	db $50
+; 0x609e9 + 5 bytes
+
+UnnamedText_609ee: ; 0x609ee
+	TX_FAR _UnnamedText_609ee
+	db $50
+; 0x609ee + 5 bytes
+
+UnnamedText_609f3: ; 0x609f3
+	TX_FAR _UnnamedText_609f3
+	db $50
+; 0x609f3 + 5 bytes
+
+PokemonTower5Text3: ; 0x609f8
+	db $08 ; asm
+	ld hl, TrainerHeader_609b5
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_60a02: ; 0x60a02
+	TX_FAR _UnnamedText_60a02
+	db $50
+; 0x60a02 + 5 bytes
+
+UnnamedText_60a07: ; 0x60a07
+	TX_FAR _UnnamedText_60a07
+	db $50
+; 0x60a07 + 5 bytes
+
+UnnamedText_60a0c: ; 0x60a0c
+	TX_FAR _UnnamedText_60a0c
+	db $50
+; 0x60a0c + 5 bytes
+
+PokemonTower5Text4: ; 0x60a11
+	db $08 ; asm
+	ld hl, TrainerHeader_609c1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_60a1b: ; 0x60a1b
+	TX_FAR _UnnamedText_60a1b
+	db $50
+; 0x60a1b + 5 bytes
+
+UnnamedText_60a20: ; 0x60a20
+	TX_FAR _UnnamedText_60a20
+	db $50
+; 0x60a20 + 5 bytes
+
+UnnamedText_60a25: ; 0x60a25
+	TX_FAR _UnnamedText_60a25
+	db $50
+; 0x60a25 + 5 bytes
+
+PokemonTower5Text5: ; 0x60a2a
+	db $08 ; asm
+	ld hl, $49cd
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_60a34: ; 0x60a34
+	TX_FAR _UnnamedText_60a34
+	db $50
+; 0x60a34 + 5 bytes
+
+UnnamedText_60a39: ; 0x60a39
+	TX_FAR _UnnamedText_60a39
+	db $50
+; 0x60a39 + 5 bytes
+
+UnnamedText_60a3e: ; 0x60a3e
+	TX_FAR _UnnamedText_60a3e
+	db $50
+; 0x60a3e + 5 bytes
+
+PokemonTower5Text7: ; 0x60a43
+	TX_FAR _UnnamedText_60a43
+	db $50
+; 0x60a43 + 5 bytes
+
+PokemonTower5Object: ; 0x60a48 (size=65)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $9, $3, $0, POKEMONTOWER_4
+	db $9, $12, $0, POKEMONTOWER_6
+
+	db $0 ; signs
+
+	db $6 ; people
+	db SPRITE_MEDIUM, $8 + 4, $c + 4, $ff, $ff, $1 ; person
+	db SPRITE_MEDIUM, $7 + 4, $11 + 4, $ff, $d2, $42, CHANNELER + $C8, $e ; trainer
+	db SPRITE_MEDIUM, $3 + 4, $e + 4, $ff, $d2, $43, CHANNELER + $C8, $10 ; trainer
+	db SPRITE_MEDIUM, $a + 4, $6 + 4, $ff, $d3, $44, CHANNELER + $C8, $11 ; trainer
+	db SPRITE_MEDIUM, $10 + 4, $9 + 4, $ff, $d3, $45, CHANNELER + $C8, $12 ; trainer
+	db SPRITE_BALL, $e + 4, $6 + 4, $ff, $ff, $86, NUGGET ; item
+
+	; warp-to
+	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_4
+	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_6
+
+PokemonTower5Blocks: ; 0x60a89 90
+	INCBIN "maps/pokemontower5.blk"
+
+PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147)
+	db $0f ; tileset
+	db POKEMONTOWER_6_HEIGHT, POKEMONTOWER_6_WIDTH ; dimensions (y, x)
+	dw PokemonTower6Blocks, PokemonTower6Texts, PokemonTower6Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower6Object ; objects
+
+PokemonTower6Script: ; 0x60aef
+	call $3c3c
+	ld hl, PokemonTower6TrainerHeaders
+	ld de, $4b0d
+	ld a, [$d62f]
+	call $3160
+	ld [$d62f], a
+	ret
+; 0x60b02
+
+INCBIN "baserom.gbc",$60b02,$af
+
+PokemonTower6Texts: ; 0x60bb1
+	dw PokemonTower6Text1, PokemonTower6Text2, PokemonTower6Text3, PokemonTower6Text4, PokemonTower6Text5, PokemonTower6Text6, PokemonTower6Text7
+
+PokemonTower6TrainerHeaders:
+PokemonTower6TrainerHeader1: ; 0x60bbf
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d768 ; flag's byte
+	dw UnnamedText_60c29 ; 0x4c29 TextBeforeBattle
+	dw UnnamedText_60c33 ; 0x4c33 TextAfterBattle
+	dw UnnamedText_60c2e ; 0x4c2e TextEndBattle
+	dw UnnamedText_60c2e ; 0x4c2e TextEndBattle
+; 0x60bcb
+
+TrainerHeader_60bcb: ; 0x60bcb
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d768 ; flag's byte
+	dw UnnamedText_60c38 ; 0x4c38 TextBeforeBattle
+	dw UnnamedText_60c42 ; 0x4c42 TextAfterBattle
+	dw UnnamedText_60c3d ; 0x4c3d TextEndBattle
+	dw UnnamedText_60c3d ; 0x4c3d TextEndBattle
+; 0x60bd7
+
+TrainerHeader_60bd7: ; 0x60bd7
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d768 ; flag's byte
+	dw UnnamedText_60c47 ; 0x4c47 TextBeforeBattle
+	dw UnnamedText_60c51 ; 0x4c51 TextAfterBattle
+	dw UnnamedText_60c4c ; 0x4c4c TextEndBattle
+	dw UnnamedText_60c4c ; 0x4c4c TextEndBattle
+; 0x60be3
+
+db $ff
+
+PokemonTower6Text1: ; 0x60be4
+	db $08 ; asm
+	ld hl, PokemonTower6TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower6Text2: ; 0x60bee
+	db $08 ; asm
+	ld hl, TrainerHeader_60bcb
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower6Text3: ; 0x60bf8
+	db $08 ; asm
+	ld hl, TrainerHeader_60bd7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower6Text7: ; 0x60c02
+	db $8
+	ld hl, UnnamedText_60c1f
+	call PrintText
+	ld a, $91
+	call $13d0
+	call $3748
+	ld c, $1e
+	call DelayFrames
+	ld hl, UnnamedText_60c24
+	call PrintText
+	jp TextScriptEnd
+; 0x60c1f
+
+UnnamedText_60c1f: ; 0x60c1f
+	TX_FAR _UnnamedText_60c1f
+	db $50
+; 0x60c1f + 5 bytes
+
+UnnamedText_60c24: ; 0x60c24
+	TX_FAR _UnnamedText_60c24
+	db $50
+; 0x60c24 + 5 bytes
+
+UnnamedText_60c29: ; 0x60c29
+	TX_FAR _UnnamedText_60c29
+	db $50
+; 0x60c29 + 5 bytes
+
+UnnamedText_60c2e: ; 0x60c2e
+	TX_FAR _UnnamedText_60c2e
+	db $50
+; 0x60c2e + 5 bytes
+
+UnnamedText_60c33: ; 0x60c33
+	TX_FAR _UnnamedText_60c33
+	db $50
+; 0x60c33 + 5 bytes
+
+UnnamedText_60c38: ; 0x60c38
+	TX_FAR _UnnamedText_60c38
+	db $50
+; 0x60c38 + 5 bytes
+
+UnnamedText_60c3d: ; 0x60c3d
+	TX_FAR _UnnamedText_60c3d
+	db $50
+; 0x60c3d + 5 bytes
+
+UnnamedText_60c42: ; 0x60c42
+	TX_FAR _UnnamedText_60c42
+	db $50
+; 0x60c42 + 5 bytes
+
+UnnamedText_60c47: ; 0x60c47
+	TX_FAR _UnnamedText_60c47
+	db $50
+; 0x60c47 + 5 bytes
+
+UnnamedText_60c4c: ; 0x60c4c
+	TX_FAR _UnnamedText_60c4c
+	db $50
+; 0x60c4c + 5 bytes
+
+UnnamedText_60c51: ; 0x60c51
+	TX_FAR _UnnamedText_60c51
+	db $50
+; 0x60c51 + 5 bytes
+
+PokemonTower6Text6: ; 0x60c56
+	TX_FAR _UnnamedText_60c56
+	db $50
+; 0x60c56 + 5 bytes
+
+PokemonTower6Object: ; 0x60c5b (size=58)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $9, $12, $1, POKEMONTOWER_5
+	db $10, $9, $0, POKEMONTOWER_7
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_MEDIUM, $a + 4, $c + 4, $ff, $d3, $41, CHANNELER + $C8, $13 ; trainer
+	db SPRITE_MEDIUM, $5 + 4, $9 + 4, $ff, $d0, $42, CHANNELER + $C8, $14 ; trainer
+	db SPRITE_MEDIUM, $5 + 4, $10 + 4, $ff, $d2, $43, CHANNELER + $C8, $15 ; trainer
+	db SPRITE_BALL, $8 + 4, $6 + 4, $ff, $ff, $84, RARE_CANDY ; item
+	db SPRITE_BALL, $e + 4, $e + 4, $ff, $ff, $85, X_ACCURACY ; item
+
+	; warp-to
+	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_5
+	EVENT_DISP $a, $10, $9 ; POKEMONTOWER_7
+
+PokemonTower6Blocks: ; 0x60c95 90
+	INCBIN "maps/pokemontower6.blk"
+
+INCBIN "baserom.gbc",$60cef,$a
+
+PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148)
+	db $0f ; tileset
+	db POKEMONTOWER_7_HEIGHT, POKEMONTOWER_7_WIDTH ; dimensions (y, x)
+	dw PokemonTower7Blocks, PokemonTower7Texts, PokemonTower7Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PokemonTower7Object ; objects
+
+PokemonTower7Script: ; 0x60d05
+	call $3c3c
+	ld hl, PokemonTower7TrainerHeaders
+	ld de, $4d23
+	ld a, [$d630]
+	call $3160
+	ld [$d630], a
+	ret
+; 0x60d18
+
+INCBIN "baserom.gbc",$60d18,$127
+
+PokemonTower7Texts: ; 0x60e3f
+	dw PokemonTower7Text1, PokemonTower7Text2, PokemonTower7Text3, PokemonTower7Text4
+
+PokemonTower7TrainerHeaders:
+PokemonTower7TrainerHeader1: ; 0x60e47
+	db $1 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d769 ; flag's byte
+	dw UnnamedText_60ec9 ; 0x4ec9 TextBeforeBattle
+	dw UnnamedText_60ed3 ; 0x4ed3 TextAfterBattle
+	dw UnnamedText_60ece ; 0x4ece TextEndBattle
+	dw UnnamedText_60ece ; 0x4ece TextEndBattle
+; 0x60e53
+
+TrainerHeader_60e53: ; 0x60e53
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d769 ; flag's byte
+	dw UnnamedText_60ed8 ; 0x4ed8 TextBeforeBattle
+	dw UnnamedText_60ee2 ; 0x4ee2 TextAfterBattle
+	dw UnnamedText_60edd ; 0x4edd TextEndBattle
+	dw UnnamedText_60edd ; 0x4edd TextEndBattle
+; 0x60e5f
+
+TrainerHeader_60e5f: ; 0x60e5f
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d769 ; flag's byte
+	dw UnnamedText_60ee7 ; 0x4ee7 TextBeforeBattle
+	dw UnnamedText_60ef1 ; 0x4ef1 TextAfterBattle
+	dw UnnamedText_60eec ; 0x4eec TextEndBattle
+	dw UnnamedText_60eec ; 0x4eec TextEndBattle
+; 0x60e6b
+
+db $ff
+
+PokemonTower7Text1: ; 0x60e6c
+	db $08 ; asm
+	ld hl, PokemonTower7TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower7Text2: ; 0x60e76
+	db $08 ; asm
+	ld hl, TrainerHeader_60e53
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower7Text3: ; 0x60e80
+	db $08 ; asm
+	ld hl, TrainerHeader_60e5f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+PokemonTower7Text4: ; 0x60e8a
+	db $08 ; asm
+	ld hl, UnnamedText_60ec4
+	call PrintText
+	ld hl, $d7e0
+	set 7, [hl]
+	ld hl, $d769
+	set 7, [hl]
+	ld a, $44
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld a, $17
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	ld a, $18
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	ld a, $4
+	ld [$d630], a
+	ld [$da39], a
+	jp TextScriptEnd
+
+UnnamedText_60ec4: ; 0x60ec4
+	TX_FAR _UnnamedText_60ec4
+	db $50
+; 0x60ec4 + 5 bytes
+
+UnnamedText_60ec9: ; 0x60ec9
+	TX_FAR _UnnamedText_60ec9
+	db $50
+; 0x60ec9 + 5 bytes
+
+UnnamedText_60ece: ; 0x60ece
+	TX_FAR _UnnamedText_60ece
+	db $50
+; 0x60ece + 5 bytes
+
+UnnamedText_60ed3: ; 0x60ed3
+	TX_FAR _UnnamedText_60ed3
+	db $50
+; 0x60ed3 + 5 bytes
+
+UnnamedText_60ed8: ; 0x60ed8
+	TX_FAR _UnnamedText_60ed8
+	db $50
+; 0x60ed8 + 5 bytes
+
+UnnamedText_60edd: ; 0x60edd
+	TX_FAR _UnnamedText_60edd
+	db $50
+; 0x60edd + 5 bytes
+
+UnnamedText_60ee2: ; 0x60ee2
+	TX_FAR _UnnamedText_60ee2
+	db $50
+; 0x60ee2 + 5 bytes
+
+UnnamedText_60ee7: ; 0x60ee7
+	TX_FAR _UnnamedText_60ee7
+	db $50
+; 0x60ee7 + 5 bytes
+
+UnnamedText_60eec: ; 0x60eec
+	TX_FAR _UnnamedText_60eec
+	db $50
+; 0x60eec + 5 bytes
+
+UnnamedText_60ef1: ; 0x60ef1
+	TX_FAR _UnnamedText_60ef1
+	db $50
+; 0x60ef1 + 5 bytes
+
+PokemonTower7Object: ; 0x60ef6 (size=42)
+	db $1 ; border tile
+
+	db $1 ; warps
+	db $10, $9, $1, POKEMONTOWER_6
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_ROCKET, $b + 4, $9 + 4, $ff, $d3, $41, ROCKET + $C8, $13 ; trainer
+	db SPRITE_ROCKET, $9 + 4, $c + 4, $ff, $d2, $42, ROCKET + $C8, $14 ; trainer
+	db SPRITE_ROCKET, $7 + 4, $9 + 4, $ff, $d3, $43, ROCKET + $C8, $15 ; trainer
+	db SPRITE_MR_FUJI, $3 + 4, $a + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $a, $10, $9 ; POKEMONTOWER_6
+
+PokemonTower7Blocks: ; 0x60f20 90
+	INCBIN "maps/pokemontower7.blk"
+
+CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122)
+	db $12 ; tileset
+	db CELADON_MART_1_HEIGHT, CELADON_MART_1_WIDTH ; dimensions (y, x)
+	dw CeladonMart1Blocks, CeladonMart1Texts, CeladonMart1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeladonMart1Object ; objects
+
+CeladonMart1Script: ; 0x60f86
+	jp $3c3c
+; 0x60f89
+
+CeladonMart1Texts: ; 0x60f89
+	dw CeladonMart1Text1, CeladonMart1Text2, CeladonMart1Text3
+
+CeladonMart1Text1: ; 0x60f8f
+	TX_FAR _CeladonMart1Text1
+	db $50
+
+CeladonMart1Text2: ; 0x60f94
+	TX_FAR _CeladonMart1Text2
+	db $50
+
+CeladonMart1Text3: ; 0x60f99
+	TX_FAR _CeladonMart1Text3
+	db $50
+
+CeladonMart1Object: ; 0x60f9e (size=64)
+	db $f ; border tile
+
+	db $6 ; warps
+	db $7, $2, $0, $ff
+	db $7, $3, $0, $ff
+	db $7, $10, $1, $ff
+	db $7, $11, $1, $ff
+	db $1, $c, $0, CELADON_MART_2
+	db $1, $1, $0, CELADON_MART_ELEVATOR
+
+	db $2 ; signs
+	db $4, $b, $2 ; CeladonMart1Text2
+	db $1, $e, $3 ; CeladonMart1Text3
+
+	db $1 ; people
+	db SPRITE_CABLE_CLUB_WOMAN, $3 + 4, $8 + 4, $ff, $d0, $1 ; person
+
+	; warp-to
+	EVENT_DISP $a, $7, $2
+	EVENT_DISP $a, $7, $3
+	EVENT_DISP $a, $7, $10
+	EVENT_DISP $a, $7, $11
+	EVENT_DISP $a, $1, $c ; CELADON_MART_2
+	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
+
+CeladonMart1Blocks: ; 0x60fde 40
+	INCBIN "maps/celadonmart1.blk"
+
+INCBIN "baserom.gbc",$61006,$610ae - $61006
+
+UnnamedText_610ae: ; 0x610ae
+	TX_FAR _UnnamedText_610ae
+	db $50
+; 0x610ae + 5 bytes
+
+UnnamedText_610b3: ; 0x610b3
+	TX_FAR _UnnamedText_610b3
+	db $50
+; 0x610b3 + 5 bytes
+
+UnnamedText_610b8: ; 0x610b8
+	TX_FAR _UnnamedText_610b8
+	db $50
+; 0x610b8 + 5 bytes
+
+UnnamedText_610bd: ; 0x610bd
+	TX_FAR _UnnamedText_610bd
+	db $50
+; 0x610bd + 5 bytes
+
+INCBIN "baserom.gbc",$610c2,$3f
+
+ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51)
+	db $03 ; tileset
+	db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x)
+	dw ViridianForestBlocks, ViridianForestTexts, ViridianForestScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianForestObject ; objects
+
+ViridianForestScript: ; 0x6110d
+	call $3c3c
+	ld hl, ViridianForestTrainerHeaders
+	ld de, ViridianForestScript_Unknown61120
+	ld a, [$d618]
+	call $3160
+	ld [$d618], a
+	ret
+; 0x61120
+
+ViridianForestScript_Unknown61120: ; 0x61120
+INCBIN "baserom.gbc",$61120,$6
+
+ViridianForestTexts: ; 0x61126
+	dw ViridianForestText1, ViridianForestText2, ViridianForestText3, ViridianForestText4, ViridianForestText5, ViridianForestText6, ViridianForestText7, ViridianForestText8, ViridianForestText9, ViridianForestText10, ViridianForestText11, ViridianForestText12, ViridianForestText13, ViridianForestText14
+
+ViridianForestTrainerHeaders:
+ViridianForestTrainerHeader1: ; 0x61142
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f3 ; flag's byte
+	dw UnnamedText_6118a ; 0x518a TextBeforeBattle
+	dw UnnamedText_61194 ; 0x5194 TextAfterBattle
+	dw UnnamedText_6118f ; 0x518f TextEndBattle
+	dw UnnamedText_6118f ; 0x518f TextEndBattle
+; 0x6114e
+
+TrainerHeader_6114e: ; 0x6114e
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d7f3 ; flag's byte
+	dw UnnamedText_61199 ; 0x5199 TextBeforeBattle
+	dw UnnamedText_611a3 ; 0x51a3 TextAfterBattle
+	dw UnnamedText_6119e ; 0x519e TextEndBattle
+	dw UnnamedText_6119e ; 0x519e TextEndBattle
+; 0x6115a
+
+TrainerHeader_6115a: ; 0x6115a
+	db $4 ; flag's bit
+	db ($1 << 4) ; trainer's view range
+	dw $d7f3 ; flag's byte
+	dw UnnamedText_611a8 ; 0x51a8 TextBeforeBattle
+	dw UnnamedText_611b2 ; 0x51b2 TextAfterBattle
+	dw UnnamedText_611ad ; 0x51ad TextEndBattle
+	dw UnnamedText_611ad ; 0x51ad TextEndBattle
+; 0x61166
+
+db $ff
+
+ViridianForestText1: ; 0x61167
+	TX_FAR _ViridianForestText1
+	db $50
+
+ViridianForestText2: ; 0x6116c
+	db $08 ; asm
+	ld hl, ViridianForestTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+ViridianForestText3: ; 0x61176
+	db $08 ; asm
+	ld hl, TrainerHeader_6114e
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+ViridianForestText4: ; 0x61180
+	db $08 ; asm
+	ld hl, TrainerHeader_6115a
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_6118a: ; 0x6118a
+	TX_FAR _UnnamedText_6118a
+	db $50
+; 0x6118a + 5 bytes
+
+UnnamedText_6118f: ; 0x6118f
+	TX_FAR _UnnamedText_6118f
+	db $50
+; 0x6118f + 5 bytes
+
+UnnamedText_61194: ; 0x61194
+	TX_FAR _UnnamedText_61194
+	db $50
+; 0x61194 + 5 bytes
+
+UnnamedText_61199: ; 0x61199
+	TX_FAR _UnnamedText_61199
+	db $50
+; 0x61199 + 5 bytes
+
+UnnamedText_6119e: ; 0x6119e
+	TX_FAR _UnnamedText_6119e
+	db $50
+; 0x6119e + 5 bytes
+
+UnnamedText_611a3: ; 0x611a3
+	TX_FAR _UnnamedText_611a3
+	db $50
+; 0x611a3 + 5 bytes
+
+UnnamedText_611a8: ; 0x611a8
+	TX_FAR _UnnamedText_611a8
+	db $50
+; 0x611a8 + 5 bytes
+
+UnnamedText_611ad: ; 0x611ad
+	TX_FAR _UnnamedText_611ad
+	db $50
+; 0x611ad + 5 bytes
+
+UnnamedText_611b2: ; 0x611b2
+	TX_FAR _UnnamedText_611b2
+	db $50
+; 0x611b2 + 5 bytes
+
+ViridianForestText8: ; 0x611b7
+	TX_FAR _ViridianForestText8
+	db $50
+
+ViridianForestText9: ; 0x611bc
+	TX_FAR _ViridianForestText9
+	db $50
+
+ViridianForestText10: ; 0x611c1
+	TX_FAR _ViridianForestText10
+	db $50
+
+ViridianForestText11: ; 0x611c6
+	TX_FAR _ViridianForestText11
+	db $50
+
+ViridianForestText12: ; 0x611cb
+	TX_FAR _ViridianForestText12
+	db $50
+
+ViridianForestText13: ; 0x611d0
+	TX_FAR _ViridianForestText13
+	db $50
+
+ViridianForestText14: ; 0x611d5
+	TX_FAR _ViridianForestText14
+	db $50
+
+ViridianForestObject: ; 0x611da (size=127)
+	db $3 ; border tile
+
+	db $6 ; warps
+	db $0, $1, $2, VIRIDIAN_FOREST_EXIT
+	db $0, $2, $3, VIRIDIAN_FOREST_EXIT
+	db $2f, $f, $1, VIRIDIAN_FOREST_ENTRANCE
+	db $2f, $10, $1, VIRIDIAN_FOREST_ENTRANCE
+	db $2f, $11, $1, VIRIDIAN_FOREST_ENTRANCE
+	db $2f, $12, $1, VIRIDIAN_FOREST_ENTRANCE
+
+	db $6 ; signs
+	db $28, $18, $9 ; ViridianForestText9
+	db $20, $10, $a ; ViridianForestText10
+	db $11, $1a, $b ; ViridianForestText11
+	db $18, $4, $c ; ViridianForestText12
+	db $2d, $12, $d ; ViridianForestText13
+	db $1, $2, $e ; ViridianForestText14
+
+	db $8 ; people
+	db SPRITE_BUG_CATCHER, $2b + 4, $10 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BUG_CATCHER, $21 + 4, $1e + 4, $ff, $d2, $42, BUG_CATCHER + $C8, $1 ; trainer
+	db SPRITE_BUG_CATCHER, $13 + 4, $1e + 4, $ff, $d2, $43, BUG_CATCHER + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $12 + 4, $2 + 4, $ff, $d2, $44, BUG_CATCHER + $C8, $3 ; trainer
+	db SPRITE_BALL, $b + 4, $19 + 4, $ff, $ff, $85, ANTIDOTE ; item
+	db SPRITE_BALL, $1d + 4, $c + 4, $ff, $ff, $86, POTION ; item
+	db SPRITE_BALL, $1f + 4, $1 + 4, $ff, $ff, $87, POKE_BALL ; item
+	db SPRITE_BUG_CATCHER, $28 + 4, $1b + 4, $ff, $ff, $8 ; person
+
+	; warp-to
+	EVENT_DISP $11, $0, $1 ; VIRIDIAN_FOREST_EXIT
+	EVENT_DISP $11, $0, $2 ; VIRIDIAN_FOREST_EXIT
+	EVENT_DISP $11, $2f, $f ; VIRIDIAN_FOREST_ENTRANCE
+	EVENT_DISP $11, $2f, $10 ; VIRIDIAN_FOREST_ENTRANCE
+	EVENT_DISP $11, $2f, $11 ; VIRIDIAN_FOREST_ENTRANCE
+	EVENT_DISP $11, $2f, $12 ; VIRIDIAN_FOREST_ENTRANCE
+
+SSAnne1_h: ; 0x61259 to 0x61265 (12 bytes) (id=95)
+	db $0d ; tileset
+	db SS_ANNE_1_HEIGHT, SS_ANNE_1_WIDTH ; dimensions (y, x)
+	dw SSAnne1Blocks, SSAnne1Texts, SSAnne1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne1Object ; objects
+
+SSAnne1Script: ; 0x61265
+	call $3c3c
+	ret
+; 0x61269
+
+SSAnne1Texts: ; 0x61269
+	dw SSAnne1Text1, SSAnne1Text2
+
+SSAnne1Text1: ; 0x6126d
+	TX_FAR _SSAnne1Text1
+	db $50
+
+SSAnne1Text2: ; 0x61272
+	TX_FAR _SSAnne1Text2
+	db $50
+
+SSAnne1Object: ; 0x61277 (size=104)
+	db $c ; border tile
+
+	db $b ; warps
+	db $0, $1a, $1, VERMILION_DOCK
+	db $0, $1b, $1, VERMILION_DOCK
+	db $8, $1f, $0, SS_ANNE_8
+	db $8, $17, $1, SS_ANNE_8
+	db $8, $13, $2, SS_ANNE_8
+	db $8, $f, $3, SS_ANNE_8
+	db $8, $b, $4, SS_ANNE_8
+	db $8, $7, $5, SS_ANNE_8
+	db $6, $2, $6, SS_ANNE_2
+	db $f, $25, $5, SS_ANNE_4
+	db $10, $3, $0, SS_ANNE_6
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_WAITER, $6 + 4, $c + 4, $fe, $2, $1 ; person
+	db SPRITE_SAILOR, $5 + 4, $1b + 4, $ff, $ff, $2 ; person
+
+	; warp-to
+	EVENT_DISP $14, $0, $1a ; VERMILION_DOCK
+	EVENT_DISP $14, $0, $1b ; VERMILION_DOCK
+	EVENT_DISP $14, $8, $1f ; SS_ANNE_8
+	EVENT_DISP $14, $8, $17 ; SS_ANNE_8
+	EVENT_DISP $14, $8, $13 ; SS_ANNE_8
+	EVENT_DISP $14, $8, $f ; SS_ANNE_8
+	EVENT_DISP $14, $8, $b ; SS_ANNE_8
+	EVENT_DISP $14, $8, $7 ; SS_ANNE_8
+	EVENT_DISP $14, $6, $2 ; SS_ANNE_2
+	EVENT_DISP $14, $f, $25 ; SS_ANNE_4
+	EVENT_DISP $14, $10, $3 ; SS_ANNE_6
+
+SSAnne1Blocks: ; 0x612df 180
+	INCBIN "maps/ssanne1.blk"
+
+SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96)
+	db $0d ; tileset
+	db SS_ANNE_2_HEIGHT, SS_ANNE_2_WIDTH ; dimensions (y, x)
+	dw SSAnne2Blocks, SSAnne2Texts, SSAnne2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne2Object ; objects
+
+SSAnne2Script: ; 0x6139f
+	call $3c3c
+	ld hl, SSAnne2Scripts
+	ld a, [$d665]
+	jp $3d97
+; 0x613ab
+
+INCBIN "baserom.gbc",$613ab,$613b3 - $613ab
+
+SSAnne2Scripts: ; 0x613b3
+	dw SSAnne2Script0, SSAnne2Script1, SSAnne2Script2, SSAnne2Script3, SSAnne2Script4
+
+SSAnne2Script4: ; 0x613bd
+	ret
+; 0x613be
+
+SSAnne2Script0: ; 0x613be
+	ld hl, $5411
+	call $34bf
+	ret nc
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld c, $2
+	ld a, $de
+	call $23a1
+	ld a, [$cd3d]
+	ld [$ff00+$db], a
+	ld a, $71
+	ld [$cc4d], a
+	ld a, $15
+	call Predef
+	call Delay3
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $3541
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, [$ff00+$db]
+	cp $2
+	jr nz, .asm_61400 ; 0x613f9 $5
+	ld de, $540c
+	jr .asm_61403 ; 0x613fe $3
+.asm_61400
+	ld de, $540d
+.asm_61403
+	call $363a
+	ld a, $1
+	ld [$d665], a
+	ret
+; 0x6140c
+
+INCBIN "baserom.gbc",$6140c,$61430 - $6140c
+
+SSAnne2Script1: ; 0x61430
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	call $5416
+	xor a
+	ld [$cd6b], a
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $2920
+	call Delay3
+	ld a, $f2
+	ld [$d059], a
+
+	; select which team to use during the encounter
+	ld a, [W_RIVALSTARTER]
+	cp SQUIRTLE
+	jr nz, .NotSquirtle\@ ; 0x61451 $4
+	ld a, $1
+	jr .done\@
+.NotSquirtle\@
+	cp BULBASAUR
+	jr nz, .Charmander\@ ; 0x61459 $4
+	ld a, $2
+	jr .done\@
+.Charmander\@
+	ld a, $3
+.done\@
+	ld [W_TRAINERNO], a
+
+	call $5416
+	ld a, $2
+	ld [$d665], a
+	ret
+; 0x6146d
+
+SSAnne2Script2: ; 0x6146d
+	ld a, [$d057]
+	cp $ff
+	jp z, $53ab
+	call $5416
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, $3
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $3541
+	ld a, [$d362]
+	cp $25
+	jr nz, .asm_61497 ; 0x61490 $5
+	ld de, $54b9
+	jr .asm_6149a ; 0x61495 $3
+.asm_61497
+	ld de, $54b7
+.asm_6149a
+	ld a, $2
+	ld [$ff00+$8c], a
+	call $363a
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld b, $2
+	ld hl, $5b47
+	call Bankswitch
+	ld a, $3
+	ld [$d665], a
+	ret
+; 0x614b7
+
+INCBIN "baserom.gbc",$614b7,$614be - $614b7
+
+SSAnne2Script3: ; 0x614be
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, $71
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	call $2307
+	ld a, $4
+	ld [$d665], a
+	ret
+; 0x614db
+
+SSAnne2Texts: ; 0x614db
+	dw SSAnne2Text1, SSAnne2Text2, SSAnne2Text3
+
+SSAnne2Text1: ; 0x614e1
+	TX_FAR _SSAnne2Text1
+	db $50
+
+SSAnne2Text2: ; 0x614e6
+	db $8
+	ld hl, UnnamedText_61500
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $5505
+	ld de, $550a
+	call $3354
+	jp TextScriptEnd
+; 0x61500
+
+UnnamedText_61500: ; 0x61500
+	TX_FAR _UnnamedText_61500
+	db $50
+; 0x61500 + 5 bytes
+
+UnnamedText_61505: ; 0x61505
+	TX_FAR _UnnamedText_61505
+	db $50
+; 0x61505 + 5 bytes
+
+UnnamedText_6150a: ; 0x6150a
+	TX_FAR _UnnamedText_6150a
+	db $50
+; 0x6150a + 5 bytes
+
+SSAnne2Text3: ; 0x6150f
+	TX_FAR _UnnamedText_6150f
+	db $50
+; 0x6150f + 5 bytes
+
+SSAnne2Object: ; 0x61514 (size=90)
+	db $c ; border tile
+
+	db $9 ; warps
+	db $b, $9, $0, SS_ANNE_9
+	db $b, $d, $2, SS_ANNE_9
+	db $b, $11, $4, SS_ANNE_9
+	db $b, $15, $6, SS_ANNE_9
+	db $b, $19, $8, SS_ANNE_9
+	db $b, $1d, $a, SS_ANNE_9
+	db $4, $2, $8, SS_ANNE_1
+	db $c, $2, $1, SS_ANNE_3
+	db $4, $24, $0, SS_ANNE_7
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_WAITER, $7 + 4, $3 + 4, $fe, $1, $1 ; person
+	db SPRITE_BLUE, $4 + 4, $24 + 4, $ff, $d0, $42, SONY1 + $C8, $1 ; trainer
+
+	; warp-to
+	EVENT_DISP $14, $b, $9 ; SS_ANNE_9
+	EVENT_DISP $14, $b, $d ; SS_ANNE_9
+	EVENT_DISP $14, $b, $11 ; SS_ANNE_9
+	EVENT_DISP $14, $b, $15 ; SS_ANNE_9
+	EVENT_DISP $14, $b, $19 ; SS_ANNE_9
+	EVENT_DISP $14, $b, $1d ; SS_ANNE_9
+	EVENT_DISP $14, $4, $2 ; SS_ANNE_1
+	EVENT_DISP $14, $c, $2 ; SS_ANNE_3
+	EVENT_DISP $14, $4, $24 ; SS_ANNE_7
+
+SSAnne2Blocks: ; 0x6156e 180
+	INCBIN "maps/ssanne2.blk"
+
+SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98)
+	db $0d ; tileset
+	db SS_ANNE_4_HEIGHT, SS_ANNE_4_WIDTH ; dimensions (y, x)
+	dw SSAnne4Blocks, SSAnne4Texts, SSAnne4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne4Object ; objects
+
+SSAnne4Script: ; 0x6162e
+	jp $3c3c
+; 0x61631
+
+SSAnne4Texts:
+
+INCBIN "baserom.gbc",$61631,$1
+
+SSAnne4Object: ; 0x61632 (size=52)
+	db $c ; border tile
+
+	db $6 ; warps
+	db $3, $17, $8, SS_ANNE_10
+	db $3, $13, $6, SS_ANNE_10
+	db $3, $f, $4, SS_ANNE_10
+	db $3, $b, $2, SS_ANNE_10
+	db $3, $7, $0, SS_ANNE_10
+	db $5, $1b, $9, SS_ANNE_1
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $f, $3, $17 ; SS_ANNE_10
+	EVENT_DISP $f, $3, $13 ; SS_ANNE_10
+	EVENT_DISP $f, $3, $f ; SS_ANNE_10
+	EVENT_DISP $f, $3, $b ; SS_ANNE_10
+	EVENT_DISP $f, $3, $7 ; SS_ANNE_10
+	EVENT_DISP $f, $5, $1b ; SS_ANNE_1
+
+SSAnne4Blocks: ; 0x61666 60
+	INCBIN "maps/ssanne4.blk"
+
+SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99)
+	db $0d ; tileset
+	db SS_ANNE_5_HEIGHT, SS_ANNE_5_WIDTH ; dimensions (y, x)
+	dw SSAnne5Blocks, SSAnne5Texts, SSAnne5Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne5Object ; objects
+
+SSAnne5Script: ; 0x616ae
+	call $3c3c
+	ld hl, $56d1
+	ld de, SSAnne5Script_Unknown616c1
+	ld a, [$d617]
+	call $3160
+	ld [$d617], a
+	ret
+; 0x616c1
+
+SSAnne5Script_Unknown616c1: ; 0x616c1
+INCBIN "baserom.gbc",$616c1,$6
+
+SSAnne5Texts: ; 0x616c7
+	dw SSAnne5Text1, SSAnne5Text2, SSAnne5Text3, SSAnne5Text4, SSAnne5Text5
+
+SSAnneTrainerHeaders:
+SSAnneTrainerHeader1: ; 0x616d1
+	db $4 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7ff ; flag's byte
+	dw UnnamedText_61703 ; 0x5703 TextBeforeBattle
+	dw UnnamedText_6170d ; 0x570d TextAfterBattle
+	dw UnnamedText_61708 ; 0x5708 TextEndBattle
+	dw UnnamedText_61708 ; 0x5708 TextEndBattle
+; 0x616dd
+
+TrainerHeader_616dd: ; 0x616dd
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d7ff ; flag's byte
+	dw UnnamedText_6171c ; 0x571c TextBeforeBattle
+	dw UnnamedText_61726 ; 0x5726 TextAfterBattle
+	dw UnnamedText_61721 ; 0x5721 TextEndBattle
+	dw UnnamedText_61721 ; 0x5721 TextEndBattle
+; 0x616e9
+
+db $ff
+
+SSAnne5Text1: ; 0x616ea
+	TX_FAR _SSAnne5Text1
+	db $50
+
+SSAnne5Text2: ; 0x616ef
+	TX_FAR _SSAnne5Text2
+	db $50
+
+SSAnne5Text3: ; 0x616f4
+	TX_FAR _SSAnne5Text3
+	db $50
+
+SSAnne5Text4: ; 0x616f9
+	db $08 ; asm
+	ld hl, SSAnneTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_61703: ; 0x61703
+	TX_FAR _UnnamedText_61703
+	db $50
+; 0x61703 + 5 bytes
+
+UnnamedText_61708: ; 0x61708
+	TX_FAR _UnnamedText_61708
+	db $50
+; 0x61708 + 5 bytes
+
+UnnamedText_6170d: ; 0x6170d
+	TX_FAR _UnnamedText_6170d
+	db $50
+; 0x6170d + 5 bytes
+
+SSAnne5Text5: ; 0x61712
+	db $08 ; asm
+	ld hl, TrainerHeader_616dd
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_6171c: ; 0x6171c
+	TX_FAR _UnnamedText_6171c
+	db $50
+; 0x6171c + 5 bytes
+
+UnnamedText_61721: ; 0x61721
+	TX_FAR _UnnamedText_61721
+	db $50
+; 0x61721 + 5 bytes
+
+UnnamedText_61726: ; 0x61726
+	TX_FAR _UnnamedText_61726
+	db $50
+; 0x61726 + 5 bytes
+
+SSAnne5Object: ; 0x6172b (size=54)
+	db $23 ; border tile
+
+	db $2 ; warps
+	db $6, $d, $0, SS_ANNE_3
+	db $7, $d, $0, SS_ANNE_3
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $5 + 4, $ff, $d1, $1 ; person
+	db SPRITE_SAILOR, $9 + 4, $4 + 4, $ff, $ff, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_1, $b + 4, $7 + 4, $ff, $ff, $3 ; person
+	db SPRITE_SAILOR, $4 + 4, $4 + 4, $ff, $d0, $44, SAILOR + $C8, $1 ; trainer
+	db SPRITE_SAILOR, $8 + 4, $a + 4, $ff, $d1, $45, SAILOR + $C8, $2 ; trainer
+
+	; warp-to
+	EVENT_DISP $a, $6, $d ; SS_ANNE_3
+	EVENT_DISP $a, $7, $d ; SS_ANNE_3
+
+SSAnne5Blocks: ; 0x61761 70
+	INCBIN "maps/ssanne5.blk"
+
+SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100)
+	db $0d ; tileset
+	db SS_ANNE_6_HEIGHT, SS_ANNE_6_WIDTH ; dimensions (y, x)
+	dw SSAnne6Blocks, SSAnne6Texts, SSAnne6Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne6Object ; objects
+
+SSAnne6Script: ; 0x617b3
+	call $3c3c
+	ret
+; 0x617b7
+
+SSAnne6Texts: ; 0x617b7
+	dw SSAnne6Text1, SSAnne6Text2, SSAnne6Text3, SSAnne6Text4, SSAnne6Text5, SSAnne6Text6, SSAnne6Text7
+
+SSAnne6Text1: ; 0x617c5
+	TX_FAR _SSAnne6Text1
+	db $50
+
+SSAnne6Text2: ; 0x617ca
+	TX_FAR _SSAnne6Text2
+	db $50
+
+SSAnne6Text3: ; 0x617cf
+	TX_FAR _SSAnne6Text3
+	db $50
+
+SSAnne6Text4: ; 0x617d4
+	TX_FAR _SSAnne6Text4
+	db $50
+
+SSAnne6Text5: ; 0x617d9
+	TX_FAR _SSAnne6Text5
+	db $50
+
+SSAnne6Text6: ; 0x617de
+	TX_FAR _SSAnne6Text6
+	db $50
+
+SSAnne6Text7: ; 0x617e3
+	db $08 ; asm
+	ld hl, UnnamedText_61807
+	call PrintText
+	ldh a, [$d3]
+	bit 7, a
+	jr z, .asm_93eb1 ; 0x617ee
+	ld hl, UnnamedText_6180c
+	jr .asm_63292 ; 0x617f3
+.asm_93eb1 ; 0x617f5
+	bit 4, a
+	jr z, .asm_7436c ; 0x617f7
+	ld hl, UnnamedText_61811
+	jr .asm_63292 ; 0x617fc
+.asm_7436c ; 0x617fe
+	ld hl, UnnamedText_61816
+.asm_63292 ; 0x61801
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61807: ; 0x61807
+	TX_FAR _UnnamedText_61807
+	db $50
+; 0x61807 + 5 bytes
+
+UnnamedText_6180c: ; 0x6180c
+	TX_FAR _UnnamedText_6180c
+	db $50
+; 0x6180c + 5 bytes
+
+UnnamedText_61811: ; 0x61811
+	TX_FAR _UnnamedText_61811
+	db $50
+; 0x61811 + 5 bytes
+
+UnnamedText_61816: ; 0x61816
+	TX_FAR _UnnamedText_61816
+	db $50
+; 0x61816 + 5 bytes
+
+SSAnne6Object: ; 0x6181b (size=54)
+	db $c ; border tile
+
+	db $1 ; warps
+	db $0, $6, $a, SS_ANNE_1
+
+	db $0 ; signs
+
+	db $7 ; people
+	db SPRITE_COOK, $8 + 4, $1 + 4, $fe, $1, $1 ; person
+	db SPRITE_COOK, $8 + 4, $5 + 4, $fe, $1, $2 ; person
+	db SPRITE_COOK, $7 + 4, $9 + 4, $fe, $1, $3 ; person
+	db SPRITE_COOK, $6 + 4, $d + 4, $ff, $ff, $4 ; person
+	db SPRITE_COOK, $8 + 4, $d + 4, $ff, $ff, $5 ; person
+	db SPRITE_COOK, $a + 4, $d + 4, $ff, $ff, $6 ; person
+	db SPRITE_COOK, $d + 4, $b + 4, $ff, $d1, $7 ; person
+
+	; warp-to
+	EVENT_DISP $7, $0, $6 ; SS_ANNE_1
+
+SSAnne6Blocks: ; 0x61851 56
+	INCBIN "maps/ssanne6.blk"
+
+SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101)
+	db $0d ; tileset
+	db SS_ANNE_7_HEIGHT, SS_ANNE_7_WIDTH ; dimensions (y, x)
+	dw SSAnne7Blocks, SSAnne7Texts, SSAnne7Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne7Object ; objects
+
+SSAnne7Script: ; 0x61895
+	call SSAnne7Script_Unknown6189b
+	jp $3c3c
+; 0x6189b
+
+SSAnne7Script_Unknown6189b: ; 0x6189b
+INCBIN "baserom.gbc",$6189b,$c
+
+SSAnne7Texts: ; 0x618a7
+	dw SSAnne7Text1, SSAnne7Text2, SSAnne7Text3
+
+SSAnne7Text1: ; 0x618ad
+	db $08 ; asm
+	ld a, [$d803]
+	bit 0, a
+	jr nz, .asm_797c4 ; 0x618b3
+	ld hl, SSAnne7RubText
+	call PrintText
+	ld hl, ReceivingHM01Text
+	call PrintText
+	ld bc, (HM_01 << 8) | 1
+	call GiveItem
+	jr nc, .asm_ccdcd ; 0x618c7
+	ld hl, ReceivedHM01Text
+	call PrintText
+	ld hl, $d803
+	set 0, [hl]
+	jr .asm_0faf5 ; 0x618d4
+.asm_ccdcd ; 0x618d6
+	ld hl, HM01NoRoomText
+	call PrintText
+	ld hl, $d72d
+	set 5, [hl]
+	jr .asm_0faf5 ; 0x618e1
+.asm_797c4 ; 0x618e3
+	ld hl, UnnamedText_61932
+	call PrintText
+.asm_0faf5 ; 0x618e9
+	jp TextScriptEnd
+
+SSAnne7RubText: ; 0x618ec
+	TX_FAR _SSAnne7RubText ; 0x812dd
+	db $8
+	ld a, [$c0ef]
+	cp $1f
+	ld [$c0f0], a
+	jr nz, .asm_61908 ; 0x618f9 $d
+	ld a, $ff
+	ld [$c0ee], a
+	call $23b1
+	ld a, $2
+	ld [$c0ef], a
+.asm_61908
+	ld a, $e8
+	ld [$c0ee], a
+	call $23b1
+.asm_61910
+	ld a, [$c026]
+	cp $e8
+	jr z, .asm_61910 ; 0x61915 $f9
+	call $2307
+	ld hl, $d803
+	set 1, [hl]
+	ld hl, $d72d
+	res 5, [hl]
+	jp TextScriptEnd
+; 0x61927
+
+ReceivingHM01Text: ; 0x61927
+	TX_FAR _ReceivingHM01Text
+	db $50
+; 0x61927 + 5 bytes
+
+ReceivedHM01Text: ; 0x6192c
+	TX_FAR _ReceivedHM01Text ; 0x8140d
+	db $11, $50
+; 0x6192c + 6 bytes = 0x61932
+
+UnnamedText_61932: ; 0x61932
+	TX_FAR _UnnamedText_61932
+	db $50
+; 0x61932 + 5 bytes
+
+HM01NoRoomText: ; 0x61937
+	TX_FAR _HM01NoRoomText
+	db $50
+; 0x61937 + 5 bytes
+
+SSAnne7Text2: ; 0x6193c
+	TX_FAR _SSAnne7Text2
+	db $50
+
+SSAnne7Text3: ; 0x61941
+	TX_FAR _SSAnne7Text3
+	db $50
+
+SSAnne7Object: ; 0x61946 (size=24)
+	db $c ; border tile
+
+	db $1 ; warps
+	db $7, $0, $8, SS_ANNE_2
+
+	db $2 ; signs
+	db $1, $4, $2 ; SSAnne7Text2
+	db $2, $1, $3 ; SSAnne7Text3
+
+	db $1 ; people
+	db SPRITE_SS_CAPTAIN, $2 + 4, $4 + 4, $ff, $d1, $1 ; person
+
+	; warp-to
+	EVENT_DISP $3, $7, $0 ; SS_ANNE_2
+
+SSAnne7Blocks: ; 0x6195e 12
+	INCBIN "maps/ssanne7.blk"
+
+SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102)
+	db $0d ; tileset
+	db SS_ANNE_8_HEIGHT, SS_ANNE_8_WIDTH ; dimensions (y, x)
+	dw SSAnne8Blocks, SSAnne8Texts, SSAnne8Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne8Object ; objects
+
+SSAnne8Script: ; 0x61976
+	call $3c3c
+	ld hl, SSAnne8TrainerHeaders
+	ld de, SSAnne8Script_Unknown61989
+	ld a, [$d608]
+	call $3160
+	ld [$d608], a
+	ret
+; 0x61989
+
+SSAnne8Script_Unknown61989: ; 0x61989
+INCBIN "baserom.gbc",$61989,$6
+
+SSAnne8Texts: ; 0x6198f
+	dw SSAnne8Text1, SSAnne8Text2, SSAnne8Text3, SSAnne8Text4, SSAnne8Text5, SSAnne8Text6, SSAnne8Text7, SSAnne8Text8, SSAnne8Text9, SSAnne8Text10, SSAnne8Text11
+
+SSAnne8TrainerHeaders:
+SSAnne8TrainerHeader1: ; 0x619a5
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d805 ; flag's byte
+	dw UnnamedText_61a0b ; 0x5a0b TextBeforeBattle
+	dw UnnamedText_61a15 ; 0x5a15 TextAfterBattle
+	dw UnnamedText_61a10 ; 0x5a10 TextEndBattle
+	dw UnnamedText_61a10 ; 0x5a10 TextEndBattle
+; 0x619b1
+
+TrainerHeader_619b1: ; 0x619b1
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d805 ; flag's byte
+	dw UnnamedText_61a1a ; 0x5a1a TextBeforeBattle
+	dw UnnamedText_5a24 ; 0x5a24 TextAfterBattle
+	dw UnnamedText_61a1f ; 0x5a1f TextEndBattle
+	dw UnnamedText_61a1f ; 0x5a1f TextEndBattle
+; 0x619bd
+
+TrainerHeader_619bd: ; 0x619bd
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d805 ; flag's byte
+	dw UnnamedText_61a29 ; 0x5a29 TextBeforeBattle
+	dw UnnamedText_61a33 ; 0x5a33 TextAfterBattle
+	dw UnnamedText_61a2e ; 0x5a2e TextEndBattle
+	dw UnnamedText_61a2e ; 0x5a2e TextEndBattle
+; 0x619c9
+
+TrainerHeader_619c9: ; 0x619c9
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d805 ; flag's byte
+	dw UnnamedText_61a38 ; 0x5a38 TextBeforeBattle
+	dw UnnamedText_61a42 ; 0x5a42 TextAfterBattle
+	dw UnnamedText_61a3d ; 0x5a3d TextEndBattle
+	dw UnnamedText_61a3d ; 0x5a3d TextEndBattle
+; 0x619d5
+
+db $ff
+
+SSAnne8Text1: ; 0x619d6
+	db $08 ; asm
+	ld hl, SSAnne8TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne8Text2: ; 0x619e0
+	db $08 ; asm
+	ld hl, TrainerHeader_619b1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne8Text3: ; 0x619ea
+	db $08 ; asm
+	ld hl, TrainerHeader_619bd
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne8Text4: ; 0x619f4
+	db $08 ; asm
+	ld hl, TrainerHeader_619c9
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne8Text8: ; 0x619fe
+	TX_FAR _SSAnne8Text8
+	db $08 ; asm
+	ld a, $65
+	call $13d0
+	jp TextScriptEnd
+
+UnnamedText_61a0b: ; 0x61a0b
+	TX_FAR _UnnamedText_61a0b
+	db $50
+; 0x61a0b + 5 bytes
+
+UnnamedText_61a10: ; 0x61a10
+	TX_FAR _UnnamedText_61a10
+	db $50
+; 0x61a10 + 5 bytes
+
+UnnamedText_61a15: ; 0x61a15
+	TX_FAR _UnnamedText_61a15
+	db $50
+; 0x61a15 + 5 bytes
+
+UnnamedText_61a1a: ; 0x61a1a
+	TX_FAR _UnnamedText_61a1a
+	db $50
+; 0x61a1a + 5 bytes
+
+UnnamedText_61a1f: ; 0x61a1f
+	TX_FAR _UnnamedText_61a1f
+	db $50
+; 0x61a1f + 5 bytes
+
+UnnamedText_61a24: ; 0x61a24
+	TX_FAR _UnnamedText_61a24
+	db $50
+; 0x61a24 + 5 bytes
+
+UnnamedText_61a29: ; 0x61a29
+	TX_FAR _UnnamedText_61a29
+	db $50
+; 0x61a29 + 5 bytes
+
+UnnamedText_61a2e: ; 0x61a2e
+	TX_FAR _UnnamedText_61a2e
+	db $50
+; 0x61a2e + 5 bytes
+
+UnnamedText_61a33: ; 0x61a33
+	TX_FAR _UnnamedText_61a33
+	db $50
+; 0x61a33 + 5 bytes
+
+UnnamedText_61a38: ; 0x61a38
+	TX_FAR _UnnamedText_61a38
+	db $50
+; 0x61a38 + 5 bytes
+
+UnnamedText_61a3d: ; 0x61a3d
+	TX_FAR _UnnamedText_61a3d
+	db $50
+; 0x61a3d + 5 bytes
+
+UnnamedText_61a42: ; 0x61a42
+	TX_FAR _UnnamedText_61a42
+	db $50
+; 0x61a42 + 5 bytes
+
+SSAnne8Text5: ; 0x61a47
+	TX_FAR _SSAnne8Text5
+	db $50
+
+SSAnne8Text6: ; 0x61a4c
+	TX_FAR _SSAnne8Text6
+	db $50
+
+SSAnne8Text7: ; 0x61a51
+	TX_FAR _SSAnne8Text7
+	db $50
+
+SSAnne8Text9: ; 0x61a56
+	TX_FAR _SSAnne8Text9
+	db $50
+
+SSAnne8Text11: ; 0x61a5b
+	TX_FAR _SSAnne8Text11
+	db $50
+
+SSAnne8Object: ; 0x61a60 (size=127)
+	db $c ; border tile
+
+	db $6 ; warps
+	db $0, $0, $2, SS_ANNE_1
+	db $0, $a, $3, SS_ANNE_1
+	db $0, $14, $4, SS_ANNE_1
+	db $a, $0, $5, SS_ANNE_1
+	db $a, $a, $6, SS_ANNE_1
+	db $a, $14, $7, SS_ANNE_1
+
+	db $0 ; signs
+
+	db $b ; people
+	db SPRITE_GENTLEMAN, $3 + 4, $2 + 4, $ff, $d2, $41, GENTLEMAN + $C8, $1 ; trainer
+	db SPRITE_GENTLEMAN, $4 + 4, $b + 4, $ff, $d1, $42, GENTLEMAN + $C8, $2 ; trainer
+	db SPRITE_BUG_CATCHER, $e + 4, $b + 4, $ff, $d1, $43, YOUNGSTER + $C8, $8 ; trainer
+	db SPRITE_LASS, $b + 4, $d + 4, $ff, $d2, $44, LASS + $C8, $b ; trainer
+	db SPRITE_GIRL, $3 + 4, $16 + 4, $fe, $1, $5 ; person
+	db SPRITE_FAT_BALD_GUY, $e + 4, $0 + 4, $ff, $ff, $6 ; person
+	db SPRITE_LITTLE_GIRL, $b + 4, $2 + 4, $ff, $d0, $7 ; person
+	db SPRITE_CLEFAIRY, $b + 4, $3 + 4, $ff, $d0, $8 ; person
+	db SPRITE_GIRL, $d + 4, $a + 4, $ff, $d3, $9 ; person
+	db SPRITE_BALL, $f + 4, $c + 4, $ff, $ff, $8a, TM_08 ; item
+	db SPRITE_GENTLEMAN, $d + 4, $15 + 4, $fe, $2, $b ; person
+
+	; warp-to
+	EVENT_DISP $c, $0, $0 ; SS_ANNE_1
+	EVENT_DISP $c, $0, $a ; SS_ANNE_1
+	EVENT_DISP $c, $0, $14 ; SS_ANNE_1
+	EVENT_DISP $c, $a, $0 ; SS_ANNE_1
+	EVENT_DISP $c, $a, $a ; SS_ANNE_1
+	EVENT_DISP $c, $a, $14 ; SS_ANNE_1
+
+SSAnne8Blocks: ; 0x61adf 96
+	INCBIN "maps/ssanne8.blk"
+
+SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103)
+	db $0d ; tileset
+	db SS_ANNE_9_HEIGHT, SS_ANNE_9_WIDTH ; dimensions (y, x)
+	dw SSAnne9Blocks, SSAnne9Texts, SSAnne9Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne9Object ; objects
+
+SSAnne9Script: ; 0x61b4b
+	ld a, $1
+	ld [$cf0c], a
+	xor a
+	ld [$cc3c], a
+	ld hl, SSAnne9TrainerHeaders
+	ld de, SSAnne9Script_Unknown61b64
+	ld a, [$d609]
+	call $3160
+	ld [$d609], a
+	ret
+; 0x61b64
+
+SSAnne9Script_Unknown61b64: ; 0x61b64
+INCBIN "baserom.gbc",$61b64,$6
+
+SSAnne9Texts: ; 0x61b6a
+	dw SSAnne9Text1, SSAnne9Text2, SSAnne9Text3, SSAnne9Text4, SSAnne9Text5, SSAnne9Text6, SSAnne9Text7, SSAnne9Text8, SSAnne9Text9, SSAnne9Text10, SSAnne9Text11, SSAnne9Text12, SSAnne9Text13
+
+SSAnne9TrainerHeaders:
+SSAnne9TrainerHeader1: ; 0x61b84
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d807 ; flag's byte
+	dw UnnamedText_61c51 ; 0x5c51 TextBeforeBattle
+	dw UnnamedText_61c5b ; 0x5c5b TextAfterBattle
+	dw UnnamedText_61c56 ; 0x5c56 TextEndBattle
+	dw UnnamedText_61c56 ; 0x5c56 TextEndBattle
+; 0x61b90
+
+TrainerHeader_61b90: ; 0x61b90
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d807 ; flag's byte
+	dw UnnamedText_61c60 ; 0x5c60 TextBeforeBattle
+	dw UnnamedText_61c6a ; 0x5c6a TextAfterBattle
+	dw UnnamedText_61c65 ; 0x5c65 TextEndBattle
+	dw UnnamedText_61c65 ; 0x5c65 TextEndBattle
+; 0x61b9c
+
+TrainerHeader_61b9c: ; 0x61b9c
+	db $3 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d807 ; flag's byte
+	dw UnnamedText_61c6f ; 0x5c6f TextBeforeBattle
+	dw UnnamedText_61c79 ; 0x5c79 TextAfterBattle
+	dw UnnamedText_61c74 ; 0x5c74 TextEndBattle
+	dw UnnamedText_61c74 ; 0x5c74 TextEndBattle
+; 0x61ba8
+
+TrainerHeader_61ba8: ; 0x61ba8
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d807 ; flag's byte
+	dw UnnamedText_61c7e ; 0x5c7e TextBeforeBattle
+	dw UnnamedText_61c88 ; 0x5c88 TextAfterBattle
+	dw UnnamedText_61c83 ; 0x5c83 TextEndBattle
+	dw UnnamedText_61c83 ; 0x5c83 TextEndBattle
+; 0x61bb4
+
+
+db $ff
+
+SSAnne9Text1: ; 0x61bb5
+	db $08 ; asm
+	ld hl, SSAnne9TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne9Text2: ; 0x61bbf
+	db $08 ; asm
+	ld hl, TrainerHeader_61b90
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne9Text3: ; 0x61bc9
+	db $08 ; asm
+	ld hl, TrainerHeader_61b9c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne9Text4: ; 0x61bd3
+	db $08 ; asm
+	ld hl, TrainerHeader_61ba8
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne9Text5: ; 0x61bdd
+	db $08 ; asm
+	call $3719
+	ld hl, UnnamedText_61bf2
+	call PrintText
+	call $3725
+	ld a, $84
+	call $349b
+	jp TextScriptEnd
+
+UnnamedText_61bf2: ; 0x61bf2
+	TX_FAR _UnnamedText_61bf2
+	db $50
+; 0x61bf2 + 5 bytes
+
+SSAnne9Text7: ; 0x61bf7
+	db $08 ; asm
+	ld hl, UnnamedText_61c01
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61c01: ; 0x61c01
+	TX_FAR _UnnamedText_61c01
+	db $50
+; 0x61c01 + 5 bytes
+
+SSAnne9Text8: ; 0x61c06
+	db $08 ; asm
+	ld hl, UnnamedText_61c10
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61c10: ; 0x61c10
+	TX_FAR _UnnamedText_61c10
+	db $50
+; 0x61c10 + 5 bytes
+
+SSAnne9Text10: ; 0x61c15
+	db $08 ; asm
+	ld hl, UnnamedText_61c1f
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61c1f: ; 0x61c1f
+	TX_FAR _UnnamedText_61c1f
+	db $50
+; 0x61c1f + 5 bytes
+
+SSAnne9Text11: ; 0x61c24
+	db $08 ; asm
+	ld hl, UnnamedText_61c2e
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61c2e: ; 0x61c2e
+	TX_FAR _UnnamedText_61c2e
+	db $50
+; 0x61c2e + 5 bytes
+
+SSAnne9Text12: ; 0x61c33
+	db $08 ; asm
+	ld hl, UnnamedText_61c3d
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61c3d: ; 0x61c3d
+	TX_FAR _UnnamedText_61c3d
+	db $50
+; 0x61c3d + 5 bytes
+
+SSAnne9Text13: ; 0x61c42
+	db $08 ; asm
+	ld hl, UnnamedText_61c4c
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_61c4c: ; 0x61c4c
+	TX_FAR _UnnamedText_61c4c
+	db $50
+; 0x61c4c + 5 bytes
+
+UnnamedText_61c51: ; 0x61c51
+	TX_FAR _UnnamedText_61c51
+	db $50
+; 0x61c51 + 5 bytes
+
+UnnamedText_61c56: ; 0x61c56
+	TX_FAR _UnnamedText_61c56
+	db $50
+; 0x61c56 + 5 bytes
+
+UnnamedText_61c5b: ; 0x61c5b
+	TX_FAR _UnnamedText_61c5b
+	db $50
+; 0x61c5b + 5 bytes
+
+UnnamedText_61c60: ; 0x61c60
+	TX_FAR _UnnamedText_61c60
+	db $50
+; 0x61c60 + 5 bytes
+
+UnnamedText_61c65: ; 0x61c65
+	TX_FAR _UnnamedText_61c65
+	db $50
+; 0x61c65 + 5 bytes
+
+UnnamedText_61c6a: ; 0x61c6a
+	TX_FAR _UnnamedText_61c6a
+	db $50
+; 0x61c6a + 5 bytes
+
+UnnamedText_61c6f: ; 0x61c6f
+	TX_FAR _UnnamedText_61c6f
+	db $50
+; 0x61c6f + 5 bytes
+
+UnnamedText_61c74: ; 0x61c74
+	TX_FAR _UnnamedText_61c74
+	db $50
+; 0x61c74 + 5 bytes
+
+UnnamedText_61c79: ; 0x61c79
+	TX_FAR _UnnamedText_61c79
+	db $50
+; 0x61c79 + 5 bytes
+
+UnnamedText_61c7e: ; 0x61c7e
+	TX_FAR _UnnamedText_61c7e
+	db $50
+; 0x61c7e + 5 bytes
+
+UnnamedText_61c83: ; 0x61c83
+	TX_FAR _UnnamedText_61c83
+	db $50
+; 0x61c83 + 5 bytes
+
+UnnamedText_61c88: ; 0x61c88
+	TX_FAR _UnnamedText_61c88
+	db $50
+; 0x61c88 + 5 bytes
+
+SSAnne9Object: ; 0x61c8d (size=188)
+	db $c ; border tile
+
+	db $c ; warps
+	db $5, $2, $0, SS_ANNE_2
+	db $5, $3, $0, SS_ANNE_2
+	db $5, $c, $1, SS_ANNE_2
+	db $5, $d, $1, SS_ANNE_2
+	db $5, $16, $2, SS_ANNE_2
+	db $5, $17, $2, SS_ANNE_2
+	db $f, $2, $3, SS_ANNE_2
+	db $f, $3, $3, SS_ANNE_2
+	db $f, $c, $4, SS_ANNE_2
+	db $f, $d, $4, SS_ANNE_2
+	db $f, $16, $5, SS_ANNE_2
+	db $f, $17, $5, SS_ANNE_2
+
+	db $0 ; signs
+
+	db $d ; people
+	db SPRITE_GENTLEMAN, $2 + 4, $a + 4, $ff, $d3, $41, GENTLEMAN + $C8, $3 ; trainer
+	db SPRITE_FISHER2, $4 + 4, $d + 4, $ff, $d2, $42, FISHER + $C8, $1 ; trainer
+	db SPRITE_GENTLEMAN, $e + 4, $0 + 4, $ff, $d3, $43, GENTLEMAN + $C8, $5 ; trainer
+	db SPRITE_LASS, $b + 4, $2 + 4, $ff, $d0, $44, LASS + $C8, $c ; trainer
+	db SPRITE_GENTLEMAN, $2 + 4, $1 + 4, $ff, $d0, $5 ; person
+	db SPRITE_BALL, $1 + 4, $c + 4, $ff, $ff, $86, MAX_ETHER ; item
+	db SPRITE_GENTLEMAN, $2 + 4, $15 + 4, $ff, $d0, $7 ; person
+	db SPRITE_OLD_PERSON, $1 + 4, $16 + 4, $ff, $d0, $8 ; person
+	db SPRITE_BALL, $c + 4, $0 + 4, $ff, $ff, $89, RARE_CANDY ; item
+	db SPRITE_GENTLEMAN, $c + 4, $c + 4, $ff, $d0, $a ; person
+	db SPRITE_YOUNG_BOY, $e + 4, $b + 4, $ff, $ff, $b ; person
+	db SPRITE_BRUNETTE_GIRL, $c + 4, $16 + 4, $ff, $d2, $c ; person
+	db SPRITE_FOULARD_WOMAN, $c + 4, $14 + 4, $ff, $d3, $d ; person
+
+	; warp-to
+	EVENT_DISP $c, $5, $2 ; SS_ANNE_2
+	EVENT_DISP $c, $5, $3 ; SS_ANNE_2
+	EVENT_DISP $c, $5, $c ; SS_ANNE_2
+	EVENT_DISP $c, $5, $d ; SS_ANNE_2
+	EVENT_DISP $c, $5, $16 ; SS_ANNE_2
+	EVENT_DISP $c, $5, $17 ; SS_ANNE_2
+	EVENT_DISP $c, $f, $2 ; SS_ANNE_2
+	EVENT_DISP $c, $f, $3 ; SS_ANNE_2
+	EVENT_DISP $c, $f, $c ; SS_ANNE_2
+	EVENT_DISP $c, $f, $d ; SS_ANNE_2
+	EVENT_DISP $c, $f, $16 ; SS_ANNE_2
+	EVENT_DISP $c, $f, $17 ; SS_ANNE_2
+
+SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104)
+	db $0d ; tileset
+	db SS_ANNE_10_HEIGHT, SS_ANNE_10_WIDTH ; dimensions (y, x)
+	dw SSAnne10Blocks, SSAnne10Texts, SSAnne10Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SSAnne10Object ; objects
+
+SSAnne10Script: ; 0x61d55
+	call $3c3c
+	ld hl, SSAnne10TrainerHeaders
+	ld de, SSAnne10Script_Unknown61d68
+	ld a, [$d629]
+	call $3160
+	ld [$d629], a
+	ret
+; 0x61d68
+
+SSAnne10Script_Unknown61d68: ; 0x61d68
+INCBIN "baserom.gbc",$61d68,$6
+
+SSAnne10Texts: ; 0x61d6e
+	dw SSAnne10Text1, SSAnne10Text2, SSAnne10Text3, SSAnne10Text4, SSAnne10Text5, SSAnne10Text6, SSAnne10Text7, SSAnne10Text8, SSAnne10Text9, SSAnne10Text10, SSAnne10Text11
+
+SSAnne10TrainerHeaders:
+SSAnne10TrainerHeader1: ; 0x61d84
+	db $1 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d809 ; flag's byte
+	dw UnnamedText_61e16 ; 0x5e16 TextBeforeBattle
+	dw UnnamedText_61e20 ; 0x5e20 TextAfterBattle
+	dw UnnamedText_61e1b ; 0x5e1b TextEndBattle
+	dw UnnamedText_61e1b ; 0x5e1b TextEndBattle
+; 0x61d90
+
+TrainerHeader_61d90: ; 0x61d90
+	db $2 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d809 ; flag's byte
+	dw UnnamedText_61e25 ; 0x5e25 TextBeforeBattle
+	dw UnnamedText_61e2f ; 0x5e2f TextAfterBattle
+	dw UnnamedText_61e2a ; 0x5e2a TextEndBattle
+	dw UnnamedText_61e2a ; 0x5e2a TextEndBattle
+; 0x61d9c
+
+TrainerHeader_61d9c: ; 0x61d9c
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d809 ; flag's byte
+	dw UnnamedText_61e34 ; 0x5e34 TextBeforeBattle
+	dw UnnamedText_61e3e ; 0x5e3e TextAfterBattle
+	dw UnnamedText_61e39 ; 0x5e39 TextEndBattle
+	dw UnnamedText_61e39 ; 0x5e39 TextEndBattle
+; 0x61da8
+
+TrainerHeader_61da8: ; 0x61da8
+	db $4 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d809 ; flag's byte
+	dw UnnamedText_61e43 ; 0x5e43 TextBeforeBattle
+	dw UnnamedText_61e4d ; 0x5e4d TextAfterBattle
+	dw UnnamedText_61e48 ; 0x5e48 TextEndBattle
+	dw UnnamedText_61e48 ; 0x5e48 TextEndBattle
+; 0x61db4
+
+TrainerHeader_61db4: ; 0x61db4
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d809 ; flag's byte
+	dw UnnamedText_61e52 ; 0x5e52 TextBeforeBattle
+	dw UnnamedText_61e5c ; 0x5e5c TextAfterBattle
+	dw UnnamedText_61e57 ; 0x5e57 TextEndBattle
+	dw UnnamedText_61e57 ; 0x5e57 TextEndBattle
+; 0x61dc0
+
+TrainerHeader_61dc0: ; 0x61dc0
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d809 ; flag's byte
+	dw UnnamedText_61e61 ; 0x5e61 TextBeforeBattle
+	dw UnnamedText_61e6b ; 0x5e6b TextAfterBattle
+	dw UnnamedText_61e66 ; 0x5e66 TextEndBattle
+	dw UnnamedText_61e66 ; 0x5e66 TextEndBattle
+; 0x61dcc
+
+db $ff
+
+SSAnne10Text1: ; 0x61dcd
+	db $08 ; asm
+	ld hl, SSAnne10TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne10Text2: ; 0x61dd7
+	db $08 ; asm
+	ld hl, TrainerHeader_61d90
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne10Text3: ; 0x61de1
+	db $08 ; asm
+	ld hl, TrainerHeader_61d9c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne10Text4: ; 0x61deb
+	db $08 ; asm
+	ld hl, TrainerHeader_61da8
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne10Text5: ; 0x61df5
+	db $08 ; asm
+	ld hl, TrainerHeader_61db4
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne10Text6: ; 0x61dff
+	db $08 ; asm
+	ld hl, TrainerHeader_61dc0
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+SSAnne10Text8: ; 0x61e09
+	TX_FAR _SSAnne10Text8
+	db $8 ; 0x61e0d
+	ld a, $29
+	call $13d0
+	jp TextScriptEnd
+
+UnnamedText_61e16: ; 0x61e16
+	TX_FAR _UnnamedText_61e16
+	db $50
+; 0x61e16 + 5 bytes
+
+UnnamedText_61e1b: ; 0x61e1b
+	TX_FAR _UnnamedText_61e1b
+	db $50
+; 0x61e1b + 5 bytes
+
+UnnamedText_61e20: ; 0x61e20
+	TX_FAR _UnnamedText_61e20
+	db $50
+; 0x61e20 + 5 bytes
+
+UnnamedText_61e25: ; 0x61e25
+	TX_FAR _UnnamedText_61e25
+	db $50
+; 0x61e25 + 5 bytes
+
+UnnamedText_61e2a: ; 0x61e2a
+	TX_FAR _UnnamedText_61e2a
+	db $50
+; 0x61e2a + 5 bytes
+
+UnnamedText_61e2f: ; 0x61e2f
+	TX_FAR _UnnamedText_61e2f
+	db $50
+; 0x61e2f + 5 bytes
+
+UnnamedText_61e34: ; 0x61e34
+	TX_FAR _UnnamedText_61e34
+	db $50
+; 0x61e34 + 5 bytes
+
+UnnamedText_61e39: ; 0x61e39
+	TX_FAR _UnnamedText_61e39
+	db $50
+; 0x61e39 + 5 bytes
+
+UnnamedText_61e3e: ; 0x61e3e
+	TX_FAR _UnnamedText_61e3e
+	db $50
+; 0x61e3e + 5 bytes
+
+UnnamedText_61e43: ; 0x61e43
+	TX_FAR _UnnamedText_61e43
+	db $50
+; 0x61e43 + 5 bytes
+
+UnnamedText_61e48: ; 0x61e48
+	TX_FAR _UnnamedText_61e48
+	db $50
+; 0x61e48 + 5 bytes
+
+UnnamedText_61e4d: ; 0x61e4d
+	TX_FAR _UnnamedText_61e4d
+	db $50
+; 0x61e4d + 5 bytes
+
+UnnamedText_61e52: ; 0x61e52
+	TX_FAR _UnnamedText_61e52
+	db $50
+; 0x61e52 + 5 bytes
+
+UnnamedText_61e57: ; 0x61e57
+	TX_FAR _UnnamedText_61e57
+	db $50
+; 0x61e57 + 5 bytes
+
+UnnamedText_61e5c: ; 0x61e5c
+	TX_FAR _UnnamedText_61e5c
+	db $50
+; 0x61e5c + 5 bytes
+
+UnnamedText_61e61: ; 0x61e61
+	TX_FAR _UnnamedText_61e61
+	db $50
+; 0x61e61 + 5 bytes
+
+UnnamedText_61e66: ; 0x61e66
+	TX_FAR _UnnamedText_61e66
+	db $50
+; 0x61e66 + 5 bytes
+
+UnnamedText_61e6b: ; 0x61e6b
+	TX_FAR _UnnamedText_61e6b
+	db $50
+; 0x61e6b + 5 bytes
+
+SSAnne10Text7: ; 0x61e70
+	TX_FAR _SSAnne10Text7
+	db $50
+
+SSAnne10Object: ; 0x61e75 (size=165)
+	db $c ; border tile
+
+	db $a ; warps
+	db $5, $2, $4, SS_ANNE_4
+	db $5, $3, $4, SS_ANNE_4
+	db $5, $c, $3, SS_ANNE_4
+	db $5, $d, $3, SS_ANNE_4
+	db $5, $16, $2, SS_ANNE_4
+	db $5, $17, $2, SS_ANNE_4
+	db $f, $2, $1, SS_ANNE_4
+	db $f, $3, $1, SS_ANNE_4
+	db $f, $c, $0, SS_ANNE_4
+	db $f, $d, $0, SS_ANNE_4
+
+	db $0 ; signs
+
+	db $b ; people
+	db SPRITE_SAILOR, $d + 4, $0 + 4, $ff, $d0, $41, SAILOR + $C8, $3 ; trainer
+	db SPRITE_SAILOR, $b + 4, $2 + 4, $ff, $d0, $42, SAILOR + $C8, $4 ; trainer
+	db SPRITE_SAILOR, $3 + 4, $c + 4, $ff, $d2, $43, SAILOR + $C8, $5 ; trainer
+	db SPRITE_SAILOR, $2 + 4, $16 + 4, $ff, $d0, $44, SAILOR + $C8, $6 ; trainer
+	db SPRITE_SAILOR, $2 + 4, $0 + 4, $ff, $d3, $45, SAILOR + $C8, $7 ; trainer
+	db SPRITE_FISHER2, $4 + 4, $0 + 4, $ff, $d3, $46, FISHER + $C8, $2 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $d + 4, $a + 4, $ff, $d3, $7 ; person
+	db SPRITE_SLOWBRO, $c + 4, $b + 4, $ff, $ff, $8 ; person
+	db SPRITE_BALL, $2 + 4, $14 + 4, $ff, $ff, $89, ETHER ; item
+	db SPRITE_BALL, $2 + 4, $a + 4, $ff, $ff, $8a, TM_44 ; item
+	db SPRITE_BALL, $b + 4, $c + 4, $ff, $ff, $8b, MAX_POTION ; item
+
+	; warp-to
+	EVENT_DISP $c, $5, $2 ; SS_ANNE_4
+	EVENT_DISP $c, $5, $3 ; SS_ANNE_4
+	EVENT_DISP $c, $5, $c ; SS_ANNE_4
+	EVENT_DISP $c, $5, $d ; SS_ANNE_4
+	EVENT_DISP $c, $5, $16 ; SS_ANNE_4
+	EVENT_DISP $c, $5, $17 ; SS_ANNE_4
+	EVENT_DISP $c, $f, $2 ; SS_ANNE_4
+	EVENT_DISP $c, $f, $3 ; SS_ANNE_4
+	EVENT_DISP $c, $f, $c ; SS_ANNE_4
+	EVENT_DISP $c, $f, $d ; SS_ANNE_4
+
+UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119)
+	db $0b ; tileset
+	db UNDERGROUND_PATH_NS_HEIGHT, UNDERGROUND_PATH_NS_WIDTH ; dimensions (y, x)
+	dw UndergroundPathNSBlocks, UndergroundPathNSTexts, UndergroundPathNSScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UndergroundPathNSObject ; objects
+
+UndergroundPathNSScript: ; 0x61f26
+	jp $3c3c
+; 0x61f29
+
+UndergroundPathNSTexts:
+	db $50
+
+UndergroundPathNSObject: ; 0x61f2a (size=20)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $4, $5, $2, PATH_ENTRANCE_ROUTE_5
+	db $29, $2, $2, PATH_ENTRANCE_ROUTE_6
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $4, $4, $5 ; PATH_ENTRANCE_ROUTE_5
+	EVENT_DISP $4, $29, $2 ; PATH_ENTRANCE_ROUTE_6
+
+UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121)
+	db $0b ; tileset
+	db UNDERGROUND_PATH_WE_HEIGHT, UNDERGROUND_PATH_WE_WIDTH ; dimensions (y, x)
+	dw $41f4, UndergroundPathWETexts, UndergroundPathWEScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UndergroundPathWEObject ; objects
+
+UndergroundPathWEScript: ; 0x61f4a
+	jp $3c3c
+; 0x61f4d
+
+UndergroundPathWETexts:
+	db $50
+
+UndergroundPathWEObject: ; 0x61f4e (size=20)
+	db $1 ; border tile
+
+	db $2 ; warps
+	db $5, $2, $2, PATH_ENTRANCE_ROUTE_7
+	db $2, $2f, $2, PATH_ENTRANCE_ROUTE_8
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $19, $5, $2 ; PATH_ENTRANCE_ROUTE_7
+	EVENT_DISP $19, $2, $2f ; PATH_ENTRANCE_ROUTE_8
+
+DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197)
+	db $11 ; tileset
+	db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x)
+	dw DiglettsCaveBlocks, DiglettsCaveTexts, DiglettsCaveScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw DiglettsCaveObject ; objects
+
+DiglettsCaveScript: ; 0x61f6e
+	jp $3c3c
+; 0x61f71
+
+DiglettsCaveTexts:
+	db $50
+
+DiglettsCaveObject: ; 0x61f72 (size=20)
+	db $19 ; border tile
+
+	db $2 ; warps
+	db $5, $5, $2, DIGLETTS_CAVE_EXIT
+	db $1f, $25, $2, DIGLETTS_CAVE_ENTRANCE
+
+	db $0 ; signs
+
+	db $0 ; people
+
+	; warp-to
+	EVENT_DISP $14, $5, $5 ; DIGLETTS_CAVE_EXIT
+	EVENT_DISP $14, $1f, $25 ; DIGLETTS_CAVE_ENTRANCE
+
+DiglettsCaveBlocks: ; 0x61f86 360
+	INCBIN "maps/diglettscave.blk"
+
+SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235)
+	db $10 ; tileset
+	db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x)
+	dw SilphCo11Blocks, SilphCo11Texts, SilphCo11Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SilphCo11Object ; objects
+
+SilphCo11Script: ; 0x620fa
+	call SilphCo11Script_Unknown62110
+	call $3c3c
+	ld hl, SilphCo11TrainerHeaders
+	ld de, $61cf
+	ld a, [$d659]
+	call $3160
+	ld [$d659], a
+	ret
+; 0x62110
+
+SilphCo11Script_Unknown62110: ; 0x62110
+INCBIN "baserom.gbc",$62110,$1a7
+
+SilphCo11Texts: ; 0x622b7
+	dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6
+
+SilphCo11TrainerHeaders:
+SilphCo11TrainerHeader1: ; 0x622c3
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d837 ; flag's byte
+	dw UnnamedText_62344 ; 0x6344 TextBeforeBattle
+	dw UnnamedText_6234e ; 0x634e TextAfterBattle
+	dw UnnamedText_62349 ; 0x6349 TextEndBattle
+	dw UnnamedText_62349 ; 0x6349 TextEndBattle
+; 0x622cf
+
+TrainerHeader_622cf: ; 0x622cf
+	db $5 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d837 ; flag's byte
+	dw UnnamedText_6235d ; 0x635d TextBeforeBattle
+	dw UnnamedText_62367 ; 0x6367 TextAfterBattle
+	dw UnnamedText_62362 ; 0x6362 TextEndBattle
+	dw UnnamedText_62362 ; 0x6362 TextEndBattle
+; 0x622db
+
+db $ff
+
+SilphCo11Text1: ; 0x622dc
+	db $08 ; asm
+	ld a, [$d838]
+	bit 5, a
+	jp nz, .asm_62308
+	ld hl, SilphCoPresidentText
+	call PrintText
+	ld bc, (MASTER_BALL << 8) | 1
+	call GiveItem
+	jr nc, .asm_36088 ; 0x622f1
+	ld hl, ReceivedSilphCoMasterBallText
+	call PrintText
+	ld hl, $d838
+	set 5, [hl]
+	jr .asm_fd405 ; 0x622fe
+.asm_36088 ; 0x62300
+	ld hl, SilphCoMasterBallNoRoomText
+	call PrintText
+	jr .asm_fd405 ; 0x62306
+.asm_62308 ; 0x62308
+	ld hl, UnnamedText_6231c
+	call PrintText
+.asm_fd405 ; 0x6230e
+	jp TextScriptEnd
+
+SilphCoPresidentText: ; 0x62311
+	TX_FAR _SilphCoPresidentText
+	db $50
+; 0x62311 + 5 bytes
+
+ReceivedSilphCoMasterBallText: ; 0x62316
+	TX_FAR _ReceivedSilphCoMasterBallText ; 0x84f63
+	db $11, $50
+; 0x62316 + 6 bytes = 0x6231c
+
+UnnamedText_6231c: ; 0x6231c
+	TX_FAR _UnnamedText_6231c
+	db $50
+; 0x6231c + 5 bytes
+
+SilphCoMasterBallNoRoomText: ; 0x62321
+	TX_FAR _SilphCoMasterBallNoRoomText
+	db $50
+; 0x62321 + 5 bytes
+
+SilphCo11Text2: ; 0x62326
+	TX_FAR _SilphCo11Text2
+	db $50
+
+SilphCo11Text3: ; 0x6232b
+	TX_FAR _SilphCo11Text3
+	db $50
+
+UnnamedText_62330: ; 0x62330
+	TX_FAR _UnnamedText_62330
+	db $50
+; 0x62330 + 5 bytes
+
+SilphCo11Text6: ; 0x62335
+	TX_FAR _UnnamedText_62335
+	db $50
+; 0x62335 + 5 bytes
+
+SilphCo11Text4: ; 0x6233a
+	db $08 ; asm
+	ld hl, SilphCo11TrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_62344: ; 0x62344
+	TX_FAR _UnnamedText_62344
+	db $50
+; 0x62344 + 5 bytes
+
+UnnamedText_62349: ; 0x62349
+	TX_FAR _UnnamedText_62349
+	db $50
+; 0x62349 + 5 bytes
+
+UnnamedText_6234e: ; 0x6234e
+	TX_FAR _UnnamedText_6234e
+	db $50
+; 0x6234e + 5 bytes
+
+SilphCo11Text5: ; 0x62353
+	db $08 ; asm
+	ld hl, TrainerHeader_622cf
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_6235d: ; 0x6235d
+	TX_FAR _UnnamedText_6235d
+	db $50
+; 0x6235d + 5 bytes
+
+UnnamedText_62362: ; 0x62362
+	TX_FAR _UnnamedText_62362
+	db $50
+; 0x62362 + 5 bytes
+
+UnnamedText_62367: ; 0x62367
+	TX_FAR _UnnamedText_62367
+	db $50
+; 0x62367 + 5 bytes
+
+UnknownText_6236c: ; 0x6236c
+	db $8
+	ld hl, UnnamedText_6237b
+	call PrintText
+	ld a, $aa
+	call $349b
+	jp TextScriptEnd
+; 0x6237b
+
+UnnamedText_6237b: ; 0x6237b
+	TX_FAR _UnnamedText_6237b
+	db $50
+; 0x6237b + 5 bytes
+
+SilphCo11Object: ; 0x62380 (size=72)
+	db $d ; border tile
+
+	db $4 ; warps
+	db $0, $9, $1, SILPH_CO_10F
+	db $0, $d, $0, SILPH_CO_ELEVATOR
+	db $5, $5, $9, $ff
+	db $2, $3, $3, SILPH_CO_7F
+
+	db $0 ; signs
+
+	db $5 ; people
+	db SPRITE_MR_MASTERBALL, $5 + 4, $7 + 4, $ff, $d0, $1 ; person
+	db SPRITE_FOULARD_WOMAN, $5 + 4, $a + 4, $ff, $d0, $2 ; person
+	db SPRITE_GIOVANNI, $9 + 4, $6 + 4, $ff, $d0, $43, GIOVANNI + $C8, $2 ; trainer
+	db SPRITE_ROCKET, $10 + 4, $3 + 4, $ff, $d1, $44, ROCKET + $C8, $29 ; trainer
+	db SPRITE_ROCKET, $9 + 4, $f + 4, $ff, $d1, $45, ROCKET + $C8, $28 ; trainer
+
+	; warp-to
+	EVENT_DISP $9, $0, $9 ; SILPH_CO_10F
+	EVENT_DISP $9, $0, $d ; SILPH_CO_ELEVATOR
+	EVENT_DISP $9, $5, $5
+	EVENT_DISP $9, $2, $3 ; SILPH_CO_7F
+
+SilphCo11Blocks: ; 0x623c8 81
+	INCBIN "maps/silphco11.blk"
+
+INCBIN "baserom.gbc",$62419,$62453 - $62419
+
+UnnamedText_62453: ; 0x62453
+	TX_FAR _UnnamedText_62453
+	db $50
+; 0x62453 + 5 bytes
+
+UnnamedText_62458: ; 0x62458
+	TX_FAR _UnnamedText_62458
+	db $50
+; 0x62458 + 5 bytes
+
+INCBIN "baserom.gbc",$6245d,$624a3 - $6245d
+
+UnnamedText_624a3: ; 0x624a3
+	TX_FAR _UnnamedText_624a3
+	db $50
+; 0x624a3 + 5 bytes
+
+UnnamedText_624a8: ; 0x624a8
+	TX_FAR _UnnamedText_624a8
+	db $50
+; 0x624a8 + 5 bytes
+
+UnnamedText_624ad: ; 0x624ad
+	TX_FAR _UnnamedText_624ad
+	db $50
+; 0x624ad + 5 bytes
+
+UnnamedText_624b2: ; 0x624b2
+	TX_FAR _UnnamedText_624b2
+	db $50
+; 0x624b2 + 5 bytes
+
+UnnamedText_624b7: ; 0x624b7
+	TX_FAR _UnnamedText_624b7
+	db $50
+; 0x624b7 + 5 bytes
+
+UnnamedText_624bc: ; 0x624bc
+	TX_FAR _UnnamedText_624bc
+	db $50
+; 0x624bc + 5 bytes
+
+UnnamedText_624c1: ; 0x624c1
+	TX_FAR _UnnamedText_624c1
+	db $50
+; 0x624c1 + 5 bytes
+
+UnnamedText_624c6: ; 0x624c6
+	TX_FAR _UnnamedText_624c6
+	db $50
+; 0x624c6 + 5 bytes
+
+UnnamedText_624cb: ; 0x624cb
+	TX_FAR _UnnamedText_624cb
+	db $50
+; 0x624cb + 5 bytes
+
+UnnamedText_624d0: ; 0x624d0
+	TX_FAR _UnnamedText_624d0
+	db $50
+; 0x624d0 + 5 bytes
+
+UnnamedText_624d5: ; 0x624d5
+	TX_FAR _UnnamedText_624d5
+	db $50
+; 0x624d5 + 5 bytes
+
+UnnamedText_624da: ; 0x624da
+	TX_FAR _UnnamedText_624da
+	db $50
+; 0x624da + 5 bytes
+
+UnnamedText_624df: ; 0x624df
+	TX_FAR _UnnamedText_624df
+	db $50
+; 0x624df + 5 bytes
+
+UnnamedText_624e4: ; 0x624e4
+	db $8
+	ld a, [$d838]
+	bit 7, a
+	ld hl, UnnamedText_624fd
+	jr nz, .asm_624f2 ; 0x624ed $3
+	ld hl, UnnamedText_624f8
+.asm_624f2
+	call PrintText
+	jp TextScriptEnd
+; 0x624f8
+
+UnnamedText_624f8: ; 0x624f8
+	TX_FAR _UnnamedText_624f8
+	db $50
+; 0x624f8 + 5 bytes
+
+UnnamedText_624fd: ; 0x624fd
+	TX_FAR _UnnamedText_624fd
+	db $50
+; 0x624fd + 5 bytes
+
+UnnamedText_62502: ; 0x62502
+	TX_FAR _UnnamedText_62502
+	db $50
+; 0x62502 + 5 bytes
+
+INCBIN "baserom.gbc",$62507,$62511 - $62507
+
+UnnamedText_62511: ; 0x62511
+	TX_FAR _UnnamedText_62511
+	db $50
+; 0x62511 + 5 bytes
+
+INCBIN "baserom.gbc",$62516,$1aea
+
+SECTION "bank19",DATA,BANK[$19]
+
+Tset00_GFX:
+	INCBIN "gfx/tilesets/00.2bpp"
+Tset00_Block:
+	INCBIN "gfx/blocksets/00.bst"
+Tset01_GFX:
+	INCBIN "gfx/tilesets/01.2bpp"
+Tset01_Block:
+	INCBIN "gfx/blocksets/01.bst"
+Tset08_GFX:
+	INCBIN "gfx/tilesets/08.2bpp"
+Tset08_Block:
+	INCBIN "gfx/blocksets/08.bst"
+Tset13_GFX:
+	INCBIN "gfx/tilesets/13.2bpp"
+Tset13_Block:
+	INCBIN "gfx/blocksets/13.bst"
+Tset0E_GFX:
+	INCBIN "gfx/tilesets/0e.2bpp"
+Tset0E_Block:
+	INCBIN "gfx/blocksets/0e.bst"
+Tset10_GFX:
+	INCBIN "gfx/tilesets/10.2bpp"
+Tset10_Block:
+	INCBIN "gfx/blocksets/10.bst"
+Tset17_GFX:
+	INCBIN "gfx/tilesets/17.2bpp"
+Tset17_Block:
+	INCBIN "gfx/blocksets/17.bst"
+
+SECTION "bank1A",DATA,BANK[$1A]
+
+DecrementPP: ; 0x68000
+; after using a move, decrement pp in battle and (if not transformed?) in party
+	ld a, [de]
+	cp a, STRUGGLE
+	ret z                ; if the pokemon is using "struggle", there's nothing to do
+                         ; we don't decrement PP for "struggle"
+	ld hl, W_PLAYERBATTSTATUS1
+	ld a, [hli]          ; load the W_PLAYERBATTSTATUS1 pokemon status flags and increment hl to load the
+                         ; W_PLAYERBATTSTATUS2 status flags later
+	and a, 7             ; check to see if bits 0, 1, or 2 are set
+	ret nz               ; if any of these statuses are true, don't decrement PP
+	bit 6, [hl]          ; check 6th bit status flag on W_PLAYERBATTSTATUS2
+	ret nz               ; and return if it is set
+	ld hl, $D02D         ; PP of first move (in battle)
+	call .DecrementPP\@
+
+	ld a, [$D064]        ; load pokemon status bits?
+	bit 3, a             ; XXX transform status?
+	ret nz               ; If it is, return.  Pokemon Red stores the "current pokemon's" PP
+                         ; separately from the "Pokemon in your party's" PP.  This is
+                         ; duplication -- in all cases *other* than Pokemon with Transform.
+                         ; Normally, this means we have to go on and make the same     
+                         ; modification to the "party's pokemon" PP that we made to the
+                         ; "current pokemon's" PP.  But, if we're dealing with a Transformed
+                         ; Pokemon, it has separate PP for the move set that it copied from
+                         ; its opponent, which is *not* the same as its real PP as part of your
+                         ; party.  So we return, and don't do that part.
+
+	ld hl, $D188         ; PP of first move (in party)
+	ld a, [$CC2F]        ; which mon in party is active
+	ld bc, $2C           ; XXX probably size of party pokemon's data structure
+	call AddNTimes       ; calculate address of the mon to modify
+.DecrementPP\@
+	ld a, [$CC2E]        ; which move (0, 1, 2, 3) did we use?
+	ld c, a
+	ld b, 0
+	add hl ,bc           ; calculate the address in memory of the PP we need to decrement
+                         ; based on the move chosen.
+	dec [hl]             ; Decrement PP
+	ret
+; 0x6802f
+
+Version_GFX:
+IF _RED
+	INCBIN "gfx/red/redgreenversion.1bpp"
+	; 80 bytes
+ENDC
+IF _BLUE
+	INCBIN "gfx/blue/blueversion.1bpp"
+	; 64 bytes
+ENDC
+
+Tset05_GFX:
+	INCBIN "gfx/tilesets/05.2bpp"
+Tset05_Block:
+	INCBIN "gfx/blocksets/05.bst"
+Tset02_GFX:
+	INCBIN "gfx/tilesets/02.2bpp"
+Tset02_Block:
+	INCBIN "gfx/blocksets/02.bst"
+Tset09_GFX:
+	INCBIN "gfx/tilesets/09.2bpp"
+Tset09_Block:
+	INCBIN "gfx/blocksets/09.bst"
+Tset03_GFX:
+	INCBIN "gfx/tilesets/03.2bpp"
+Tset03_Block:
+	INCBIN "gfx/blocksets/03.bst"
+Tset16_GFX:
+	INCBIN "gfx/tilesets/16.2bpp"
+Tset16_Block:
+	INCBIN "gfx/blocksets/16.bst"
+
+SECTION "bank1B",DATA,BANK[$1B]
+
+Tset0F_GFX:
+	INCBIN "gfx/tilesets/0f.2bpp"
+Tset0F_Block:
+	INCBIN "gfx/blocksets/0f.bst"
+Tset11_GFX:
+	INCBIN "gfx/tilesets/11.2bpp"
+Tset11_Block:
+	INCBIN "gfx/blocksets/11.bst"
+Tset12_GFX:
+	INCBIN "gfx/tilesets/12.2bpp"
+Tset12_Block:
+	INCBIN "gfx/blocksets/12.bst"
+Tset0D_GFX:
+	INCBIN "gfx/tilesets/0d.2bpp"
+Tset0D_Block:
+	INCBIN "gfx/blocksets/0d.bst"
+Tset14_GFX:
+	INCBIN "gfx/tilesets/14.2bpp"
+Tset14_Block:
+	INCBIN "gfx/blocksets/14.bst"
+Tset15_GFX:
+	INCBIN "gfx/tilesets/15.2bpp"
+Tset15_Block:
+	INCBIN "gfx/blocksets/15.bst"
+Tset0B_GFX:
+	INCBIN "gfx/tilesets/0b.2bpp"
+Tset0B_Block:
+	INCBIN "gfx/blocksets/0b.bst"
+
+SECTION "bank1C",DATA,BANK[$1C]
+
+INCBIN "baserom.gbc",$70000,$703fa - $70000
+
+UnnamedText_703fa: ; 0x703fa
+	TX_FAR _UnnamedText_703fa
+	db $50
+; 0x703fa + 5 bytes
+
+UnnamedText_703ff: ; 0x703ff
+	TX_FAR _UnnamedText_703ff
+	db $50
+; 0x703ff + 5 bytes
+
+INCBIN "baserom.gbc",$70404,$70847 - $70404
+
+UnnamedText_70847: ; 0x70847
+	TX_FAR _UnnamedText_70847
+	db $50
+; 0x70847 + 5 bytes
+
+UnnamedText_7084c: ; 0x7084c
+	TX_FAR _UnnamedText_7084c
+	db $50
+; 0x7084c + 5 bytes
+
+UnnamedText_70851: ; 0x70851
+	TX_FAR _UnnamedText_70851
+	db $50
+; 0x70851 + 5 bytes
+
+INCBIN "baserom.gbc",$70856,$8aa
+
+CompressedMap: ; 5100
+; you can decompress this file with the redrle program in the extras/ dir
+	INCBIN "baserom.gbc",$71100,$711AB-$71100
+
+INCBIN "baserom.gbc",$711AB,$71313-$711AB
+
+ExternalMapEntries: ; 5313
+	EMAP $2,$B,PalletTownName
+	EMAP $2,$8,ViridianCityName
+	EMAP $2,$3,PewterCityName
+	EMAP $A,$2,CeruleanCityName
+	EMAP $E,$5,LavenderTownName
+	EMAP $A,$9,VermilionCityName
+	EMAP $7,$5,CeladonCityName
+	EMAP $8,$D,FuchsiaCityName
+	EMAP $2,$F,CinnabarIslandName
+	EMAP $0,$2,IndigoPlateauName
+	EMAP $A,$5,SaffronCityName
+	EMAP $0,$0,PalletTownName ; unused
+	EMAP $2,$A,Route1Name
+	EMAP $2,$6,Route2Name
+	EMAP $4,$3,Route3Name
+	EMAP $8,$2,Route4Name
+	EMAP $A,$3,Route5Name
+	EMAP $A,$8,Route6Name
+	EMAP $8,$5,Route7Name
+	EMAP $D,$5,Route8Name
+	EMAP $D,$2,Route9Name
+	EMAP $E,$4,Route10Name
+	EMAP $C,$9,Route11Name
+	EMAP $E,$9,Route12Name
+	EMAP $D,$B,Route13Name
+	EMAP $B,$C,Route14Name
+	EMAP $A,$D,Route15Name
+	EMAP $5,$5,Route16Name
+	EMAP $4,$8,Route17Name
+	EMAP $6,$D,Route18Name
+	EMAP $6,$F,Route19Name
+	EMAP $4,$F,Route20Name
+	EMAP $2,$D,Route21Name
+	EMAP $0,$8,Route22Name
+	EMAP $0,$6,Route23Name
+	EMAP $A,$1,Route24Name
+	EMAP $B,$0,Route25Name
+
+InternalMapEntries: ; 5382
+	IMAP $29,$2,$B,PalletTownName
+	IMAP $2E,$2,$8,ViridianCityName
+	IMAP $33,$2,$6,Route2Name
+	IMAP $34,$2,$4,ViridianForestName
+	IMAP $3B,$2,$3,PewterCityName
+	IMAP $3E,$6,$2,MountMoonName
+	IMAP $44,$A,$2,CeruleanCityName
+	IMAP $45,$5,$2,Route4Name
+	IMAP $46,$A,$2,CeruleanCityName
+	IMAP $49,$A,$4,Route5Name
+	IMAP $4C,$A,$6,Route6Name
+	IMAP $4F,$9,$5,Route7Name
+	IMAP $51,$B,$5,Route8Name
+	IMAP $53,$E,$3,RockTunnelName
+	IMAP $54,$F,$4,PowerPlantName
+	IMAP $57,$D,$9,Route11Name
+	IMAP $58,$E,$7,Route12Name
+	IMAP $59,$C,$0,SeaCottageName
+	IMAP $5F,$A,$9,VermilionCityName
+	IMAP $69,$9,$A,SSAnneName
+	IMAP $6D,$0,$4,VictoryRoadName
+	IMAP $77,$0,$2,PokemonLeagueName
+	IMAP $78,$A,$5,UndergroundPathName
+	IMAP $79,$0,$2,PokemonLeagueName
+	IMAP $7A,$A,$5,UndergroundPathName
+	IMAP $8D,$7,$5,CeladonCityName
+	IMAP $8E,$E,$5,LavenderTownName
+	IMAP $95,$F,$5,PokemonTowerName
+	IMAP $98,$E,$5,LavenderTownName
+	IMAP $9C,$8,$D,FuchsiaCityName
+	IMAP $9D,$8,$C,SafariZoneName
+	IMAP $9F,$8,$D,FuchsiaCityName
+	IMAP $A3,$5,$F,SeafoamIslandsName
+	IMAP $A4,$A,$9,VermilionCityName
+	IMAP $A5,$8,$D,FuchsiaCityName
+	IMAP $A6,$2,$F,PokemonMansionName
+	IMAP $AE,$2,$F,CinnabarIslandName
+	IMAP $AF,$0,$2,IndigoPlateauName
+	IMAP $B8,$A,$5,SaffronCityName
+	IMAP $BA,$9,$D,Route15Name
+	IMAP $BD,$4,$5,Route16Name
+	IMAP $BE,$E,$A,Route12Name
+	IMAP $C0,$7,$D,Route18Name
+	IMAP $C1,$5,$F,SeafoamIslandsName
+	IMAP $C2,$0,$7,Route22Name
+	IMAP $C3,$0,$4,VictoryRoadName
+	IMAP $C4,$E,$7,Route12Name
+	IMAP $C5,$A,$9,VermilionCityName
+	IMAP $C6,$3,$4,DiglettsCaveName
+	IMAP $C7,$0,$4,VictoryRoadName
+	IMAP $CF,$7,$5,RocketHQName
+	IMAP $D6,$A,$5,SilphCoName
+	IMAP $D9,$2,$F,PokemonMansionName
+	IMAP $E2,$8,$C,SafariZoneName
+	IMAP $E5,$9,$1,CeruleanCaveName
+	IMAP $E6,$E,$5,LavenderTownName
+	IMAP $E7,$A,$2,CeruleanCityName
+	IMAP $E9,$E,$3,RockTunnelName
+	IMAP $ED,$A,$5,SilphCoName
+	IMAP $F8,$0,$2,PokemonLeagueName
+	db $FF
+
+MapNames: ; 5473
+PalletTownName:
+	db "PALLET TOWN@"
+ViridianCityName:
+	db "VIRIDIAN CITY@"
+PewterCityName:
+	db "PEWTER CITY@"
+CeruleanCityName:
+	db "CERULEAN CITY@"
+LavenderTownName:
+	db "LAVENDER TOWN@"
+VermilionCityName:
+	db "VERMILION CITY@"
+CeladonCityName:
+	db "CELADON CITY@"
+FuchsiaCityName:
+	db "FUCHSIA CITY@"
+CinnabarIslandName:
+	db "CINNABAR ISLAND@"
+IndigoPlateauName:
+	db "INDIGO PLATEAU@"
+SaffronCityName:
+	db "SAFFRON CITY@"
+Route1Name:
+	db "ROUTE 1@"
+Route2Name:
+	db "ROUTE 2@"
+Route3Name:
+	db "ROUTE 3@"
+Route4Name:
+	db "ROUTE 4@"
+Route5Name:
+	db "ROUTE 5@"
+Route6Name:
+	db "ROUTE 6@"
+Route7Name:
+	db "ROUTE 7@"
+Route8Name:
+	db "ROUTE 8@"
+Route9Name:
+	db "ROUTE 9@"
+Route10Name:
+	db "ROUTE 10@"
+Route11Name:
+	db "ROUTE 11@"
+Route12Name:
+	db "ROUTE 12@"
+Route13Name:
+	db "ROUTE 13@"
+Route14Name:
+	db "ROUTE 14@"
+Route15Name:
+	db "ROUTE 15@"
+Route16Name:
+	db "ROUTE 16@"
+Route17Name:
+	db "ROUTE 17@"
+Route18Name:
+	db "ROUTE 18@"
+Route19Name:
+	db "SEA ROUTE 19@"
+Route20Name:
+	db "SEA ROUTE 20@"
+Route21Name:
+	db "SEA ROUTE 21@"
+Route22Name:
+	db "ROUTE 22@"
+Route23Name:
+	db "ROUTE 23@"
+Route24Name:
+	db "ROUTE 24@"
+Route25Name:
+	db "ROUTE 25@"
+ViridianForestName:
+	db "VIRIDIAN FOREST@"
+MountMoonName:
+	db "MT.MOON@"
+RockTunnelName:
+	db "ROCK TUNNEL@"
+SeaCottageName:
+	db "SEA COTTAGE@"
+SSAnneName:
+	db "S.S.ANNE@"
+PokemonLeagueName:
+	db "#MON LEAGUE@"
+UndergroundPathName:
+	db "UNDERGROUND PATH@"
+PokemonTowerName:
+	db "#MON TOWER@"
+SeafoamIslandsName:
+	db "SEAFOAM ISLANDS@"
+VictoryRoadName:
+	db "VICTORY ROAD@"
+DiglettsCaveName:
+	db "DIGLETT's CAVE@"
+RocketHQName:
+	db "ROCKET HQ@"
+SilphCoName:
+	db "SILPH CO.@"
+PokemonMansionName:
+	db $4a," MANSION@"
+SafariZoneName:
+	db "SAFARI ZONE@"
+CeruleanCaveName:
+	db "CERULEAN CAVE@"
+PowerPlantName:
+	db "POWER PLANT@"
+
+INCBIN "baserom.gbc",$716BE,$71AD9-$716BE
+
+Predef54: ; 0x71ad9
+; trigger the trade offer/action specified by W_WHICHTRADE
+	call $36f4
+	ld hl,TradeMons
+	ld a,[W_WHICHTRADE]
+	ld b,a
+	swap a
+	sub b
+	sub b
+	ld c,a
+	ld b,$0
+	add hl,bc
+	ld a,[hli]
+	ld [$cd0f],a
+	ld a,[hli]
+	ld [$cd34],a
+	ld a,[hli]
+	push af
+	ld de,$cd29
+	ld bc,$000b
+	call CopyData
+	pop af
+	ld l,a
+	ld h,$0
+	ld de,$5d64
+	add hl,hl
+	add hl,de
+	ld a,[hli]
+	ld [$cd10],a
+	ld a,[hl]
+	ld [$cd11],a
+	ld a,[$cd0f]
+	ld de,$cd13
+	call Function71b6a
+	ld a,[$cd34]
+	ld de,$cd1e
+	call Function71b6a
+	ld hl,$d737
+	ld a,[W_WHICHTRADE]
+	ld c,a
+	ld b,$2
+	ld a,$10
+	call Predef
+	ld a,c
+	and a
+	ld a,$4
+	ld [$cd12],a
+	jr nz,.asm_99bca ; 0x71b36 $20
+	xor a
+	ld [$cd12],a
+	call .asm_99bca
+	ld a,$1
+	ld [$cd12],a
+	call $35ec
+	ld a,[$cc26]
+	and a
+	jr nz,.asm_99bca ; 0x71b4b $b
+	call Function71c07
+	jr c,.asm_99bca ; 0x71b50 $6
+	ld hl, UnnamedText_71d8d
+	call PrintText
+.asm_99bca ; 0x71b58
+	ld hl,$cd12
+	ld a,[hld]
+	ld e,a
+	ld d,$0
+	ld a,[hld]
+	ld l,[hl]
+	ld h,a
+	add hl,de
+	add hl,de
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	jp PrintText
+
+Function71b6a: ; 0x71b6a
+	push de
+	ld [$d11e],a
+	call GetMonName
+	ld hl,$cd6d
+	pop de
+	ld bc,$b
+	jp CopyData
+
+TradeMons: ; 5B7B
+; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total
+	db NIDORINO,  NIDORINA,  0,"TERRY@@@@@@"
+	db ABRA,      MR_MIME,  0,"MARCEL@@@@@"
+	db BUTTERFREE,BEEDRILL,  2,"CHIKUCHIKU@"
+	db PONYTA,    SEEL,      0,"SAILOR@@@@@"
+	db SPEAROW,   FARFETCH_D,2,"DUX@@@@@@@@"
+	db SLOWBRO,   LICKITUNG, 0,"MARC@@@@@@@"
+	db POLIWHIRL, JYNX,      1,"LOLA@@@@@@@"
+	db RAICHU,    ELECTRODE, 1,"DORIS@@@@@@"
+	db VENONAT,   TANGELA,   2,"CRINKLES@@@"
+	db NIDORAN_M, NIDORAN_F, 2,"SPOT@@@@@@@"
+
+Function71c07: ; 0x71c07
+	xor a
+	ld [$d07d],a
+	dec a
+	ld [$cfcb],a
+	call $13fc
+	push af
+	call $5ca2
+	pop af
+	ld a,$1
+	jp c,.asm_c4bc2
+	ld a,[$cd0f]
+	ld b,a
+	ld a,[$cf91]
+	cp b
+	ld a,$2
+	jr nz,.asm_c4bc2 ; 0x71c26 $75
+	ld a,[$cf92]
+	ld hl,$d18c
+	ld bc,$002c
+	call AddNTimes
+	ld a,[hl]
+	ld [$d127],a
+	ld hl,$d737
+	ld a,[W_WHICHTRADE]
+	ld c,a
+	ld b,$1
+	ld a,$10
+	call Predef
+	ld hl, UnnamedText_71d88
+	call PrintText
+	ld a,[$cf92]
+	push af
+	ld a,[$d127]
+	push af
+	call $36c0
+	call $5cc1
+	ld a,$38
+	call Predef
+	pop af
+	ld [$d127],a
+	pop af
+	ld [$cf92],a
+	ld a,[$cd34]
+	ld [$cf91],a
+	xor a
+	ld [$cc49],a
+	ld [$cf95],a
+	call $391f
+	ld a,$80
+	ld [$cc49],a
+	call AddPokemonToParty
+	call $5d19
+	ld hl,$7d7d
+	ld b,$5
+	call Bankswitch
+	call ClearScreen
+	call $5ca2
+	ld b,$3
+	ld hl,$6edc
+	call Bankswitch
+	and a
+	ld a,$3
+	jr .asm_ee803 ; 0x71c9b $1
+.asm_c4bc2 ; 0x71c9d
+	scf
+.asm_ee803 ; 0x71c9e
+	ld [$cd12],a
+	ret
+
+INCBIN "baserom.gbc",$71ca2,$71d88 - $71ca2
+
+UnnamedText_71d88: ; 0x71d88
+	TX_FAR _UnnamedText_71d88
+	db $50
+; 0x71d88 + 5 bytes
+
+UnnamedText_71d8d: ; 0x71d8d
+	TX_FAR _UnnamedText_71d8d ; 0xa80bc
+	db $11, $a, $50
+
+UnnamedText_71d94: ; 0x71d94
+	TX_FAR _UnnamedText_71d94
+	db $50
+; 0x71d94 + 5 bytes
+
+UnnamedText_71d99: ; 0x71d99
+	TX_FAR _UnnamedText_71d99
+	db $50
+; 0x71d99 + 5 bytes
+
+UnnamedText_71d9e: ; 0x71d9e
+	TX_FAR _UnnamedText_71d9e
+	db $50
+; 0x71d9e + 5 bytes
+
+UnnamedText_71da3: ; 0x71da3
+	TX_FAR _UnnamedText_71da3
+	db $50
+; 0x71da3 + 5 bytes
+
+UnnamedText_71da8: ; 0x71da8
+	TX_FAR _UnnamedText_71da8
+	db $50
+; 0x71da8 + 5 bytes
+
+UnnamedText_71dad: ; 0x71dad
+	TX_FAR _UnnamedText_71dad
+	db $50
+; 0x71dad + 5 bytes
+
+UnnamedText_71db2: ; 0x71db2
+	TX_FAR _UnnamedText_71db2
+	db $50
+; 0x71db2 + 5 bytes
+
+UnnamedText_71db7: ; 0x71db7
+	TX_FAR _UnnamedText_71db7
+	db $50
+; 0x71db7 + 5 bytes
+
+UnnamedText_71dbc: ; 0x71dbc
+	TX_FAR _UnnamedText_71dbc
+	db $50
+; 0x71dbc + 5 bytes
+
+UnnamedText_71dc1: ; 0x71dc1
+	TX_FAR _UnnamedText_71dc1
+	db $50
+; 0x71dc1 + 5 bytes
+
+UnnamedText_71dc6: ; 0x71dc6
+	TX_FAR _UnnamedText_71dc6
+	db $50
+; 0x71dc6 + 5 bytes
+
+UnnamedText_71dcb: ; 0x71dcb
+	TX_FAR _UnnamedText_71dcb
+	db $50
+; 0x71dcb + 5 bytes
+
+UnnamedText_71dd0: ; 0x71dd0
+	TX_FAR _UnnamedText_71dd0
+	db $50
+; 0x71dd0 + 5 bytes
+
+UnnamedText_71dd5: ; 0x71dd5
+	TX_FAR _UnnamedText_71dd5
+	db $50
+; 0x71dd5 + 5 bytes
+
+UnnamedText_71dda: ; 0x71dda
+	TX_FAR _UnnamedText_71dda
+	db $50
+; 0x71dda + 5 bytes
+
+INCBIN "baserom.gbc",$71ddf,$7e9
+
+MonsterPalettes: ; 65C8
+	db PAL_MEWMON    ; MISSINGNO
+	db PAL_GREENMON  ; BULBASAUR
+	db PAL_GREENMON  ; IVYSAUR
+	db PAL_GREENMON  ; VENUSAUR
+	db PAL_REDMON    ; CHARMANDER
+	db PAL_REDMON    ; CHARMELEON
+	db PAL_REDMON    ; CHARIZARD
+	db PAL_CYANMON   ; SQUIRTLE
+	db PAL_CYANMON   ; WARTORTLE
+	db PAL_CYANMON   ; BLASTOISE
+	db PAL_GREENMON  ; CATERPIE
+	db PAL_GREENMON  ; METAPOD
+	db PAL_CYANMON   ; BUTTERFREE
+	db PAL_YELLOWMON ; WEEDLE
+	db PAL_YELLOWMON ; KAKUNA
+	db PAL_YELLOWMON ; BEEDRILL
+	db PAL_BROWNMON  ; PIDGEY
+	db PAL_BROWNMON  ; PIDGEOTTO
+	db PAL_BROWNMON  ; PIDGEOT
+	db PAL_GREYMON   ; RATTATA
+	db PAL_GREYMON   ; RATICATE
+	db PAL_BROWNMON  ; SPEAROW
+	db PAL_BROWNMON  ; FEAROW
+	db PAL_PURPLEMON ; EKANS
+	db PAL_PURPLEMON ; ARBOK
+	db PAL_YELLOWMON ; PIKACHU
+	db PAL_YELLOWMON ; RAICHU
+	db PAL_BROWNMON  ; SANDSHREW
+	db PAL_BROWNMON  ; SANDSLASH
+	db PAL_BLUEMON   ; NIDORAN_F
+	db PAL_BLUEMON   ; NIDORINA
+	db PAL_BLUEMON   ; NIDOQUEEN
+	db PAL_PURPLEMON ; NIDORAN_M
+	db PAL_PURPLEMON ; NIDORINO
+	db PAL_PURPLEMON ; NIDOKING
+	db PAL_PINKMON   ; CLEFAIRY
+	db PAL_PINKMON   ; CLEFABLE
+	db PAL_REDMON    ; VULPIX
+	db PAL_YELLOWMON ; NINETALES
+	db PAL_PINKMON   ; JIGGLYPUFF
+	db PAL_PINKMON   ; WIGGLYTUFF
+	db PAL_BLUEMON   ; ZUBAT
+	db PAL_BLUEMON   ; GOLBAT
+	db PAL_GREENMON  ; ODDISH
+	db PAL_REDMON    ; GLOOM
+	db PAL_REDMON    ; VILEPLUME
+	db PAL_REDMON    ; PARAS
+	db PAL_REDMON    ; PARASECT
+	db PAL_PURPLEMON ; VENONAT
+	db PAL_PURPLEMON ; VENOMOTH
+	db PAL_BROWNMON  ; DIGLETT
+	db PAL_BROWNMON  ; DUGTRIO
+	db PAL_YELLOWMON ; MEOWTH
+	db PAL_YELLOWMON ; PERSIAN
+	db PAL_YELLOWMON ; PSYDUCK
+	db PAL_CYANMON   ; GOLDUCK
+	db PAL_BROWNMON  ; MANKEY
+	db PAL_BROWNMON  ; PRIMEAPE
+	db PAL_BROWNMON  ; GROWLITHE
+	db PAL_REDMON    ; ARCANINE
+	db PAL_BLUEMON   ; POLIWAG
+	db PAL_BLUEMON   ; POLIWHIRL
+	db PAL_BLUEMON   ; POLIWRATH
+	db PAL_YELLOWMON ; ABRA
+	db PAL_YELLOWMON ; KADABRA
+	db PAL_YELLOWMON ; ALAKAZAM
+	db PAL_GREYMON   ; MACHOP
+	db PAL_GREYMON   ; MACHOKE
+	db PAL_GREYMON   ; MACHAMP
+	db PAL_GREENMON  ; BELLSPROUT
+	db PAL_GREENMON  ; WEEPINBELL
+	db PAL_GREENMON  ; VICTREEBEL
+	db PAL_CYANMON   ; TENTACOOL
+	db PAL_CYANMON   ; TENTACRUEL
+	db PAL_GREYMON   ; GEODUDE
+	db PAL_GREYMON   ; GRAVELER
+	db PAL_GREYMON   ; GOLEM
+	db PAL_REDMON    ; PONYTA
+	db PAL_REDMON    ; RAPIDASH
+	db PAL_PINKMON   ; SLOWPOKE
+	db PAL_PINKMON   ; SLOWBRO
+	db PAL_GREYMON   ; MAGNEMITE
+	db PAL_GREYMON   ; MAGNETON
+	db PAL_BROWNMON  ; FARFETCH_D
+	db PAL_BROWNMON  ; DODUO
+	db PAL_BROWNMON  ; DODRIO
+	db PAL_BLUEMON   ; SEEL
+	db PAL_BLUEMON   ; DEWGONG
+	db PAL_PURPLEMON ; GRIMER
+	db PAL_PURPLEMON ; MUK
+	db PAL_GREYMON   ; SHELLDER
+	db PAL_GREYMON   ; CLOYSTER
+	db PAL_PURPLEMON ; GASTLY
+	db PAL_PURPLEMON ; HAUNTER
+	db PAL_PURPLEMON ; GENGAR
+	db PAL_GREYMON   ; ONIX
+	db PAL_YELLOWMON ; DROWZEE
+	db PAL_YELLOWMON ; HYPNO
+	db PAL_REDMON    ; KRABBY
+	db PAL_REDMON    ; KINGLER
+	db PAL_YELLOWMON ; VOLTORB
+	db PAL_YELLOWMON ; ELECTRODE
+	db PAL_PINKMON   ; EXEGGCUTE
+	db PAL_GREENMON  ; EXEGGUTOR
+	db PAL_GREYMON   ; CUBONE
+	db PAL_GREYMON   ; MAROWAK
+	db PAL_BROWNMON  ; HITMONLEE
+	db PAL_BROWNMON  ; HITMONCHAN
+	db PAL_PINKMON   ; LICKITUNG
+	db PAL_PURPLEMON ; KOFFING
+	db PAL_PURPLEMON ; WEEZING
+	db PAL_GREYMON   ; RHYHORN
+	db PAL_GREYMON   ; RHYDON
+	db PAL_PINKMON   ; CHANSEY
+	db PAL_BLUEMON   ; TANGELA
+	db PAL_BROWNMON  ; KANGASKHAN
+	db PAL_CYANMON   ; HORSEA
+	db PAL_CYANMON   ; SEADRA
+	db PAL_REDMON    ; GOLDEEN
+	db PAL_REDMON    ; SEAKING
+	db PAL_REDMON    ; STARYU
+	db PAL_GREYMON   ; STARMIE
+	db PAL_PINKMON   ; MR_MIME
+	db PAL_GREENMON  ; SCYTHER
+	db PAL_MEWMON    ; JYNX
+	db PAL_YELLOWMON ; ELECTABUZZ
+	db PAL_REDMON    ; MAGMAR
+	db PAL_BROWNMON  ; PINSIR
+	db PAL_GREYMON   ; TAUROS
+	db PAL_REDMON    ; MAGIKARP
+	db PAL_BLUEMON   ; GYARADOS
+	db PAL_CYANMON   ; LAPRAS
+	db PAL_GREYMON   ; DITTO
+	db PAL_GREYMON   ; EEVEE
+	db PAL_CYANMON   ; VAPOREON
+	db PAL_YELLOWMON ; JOLTEON
+	db PAL_REDMON    ; FLAREON
+	db PAL_GREYMON   ; PORYGON
+	db PAL_BLUEMON   ; OMANYTE
+	db PAL_BLUEMON   ; OMASTAR
+	db PAL_BROWNMON  ; KABUTO
+	db PAL_BROWNMON  ; KABUTOPS
+	db PAL_GREYMON   ; AERODACTYL
+	db PAL_PINKMON   ; SNORLAX
+	db PAL_BLUEMON   ; ARTICUNO
+	db PAL_YELLOWMON ; ZAPDOS
+	db PAL_REDMON    ; MOLTRES
+	db PAL_GREYMON   ; DRATINI
+	db PAL_BLUEMON   ; DRAGONAIR
+	db PAL_BROWNMON  ; DRAGONITE
+	db PAL_MEWMON    ; MEWTWO
+	db PAL_MEWMON    ; MEW
+
+; palettes for overworlds, title screen, monsters
+SuperPalettes: ; 6660
+	RGB 31,29,31 ; PAL_ROUTE
+	RGB 21,28,11
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_PALLET
+	RGB 25,28,27
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_VIRIDIAN
+	RGB 17,26,3
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_PEWTER
+	RGB 23,25,16
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_CERULEAN
+	RGB 17,20,30
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_LAVENDER
+	RGB 27,20,27
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_VERMILION
+	RGB 30,18,0
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_CELADON
+	RGB 16,30,22
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_FUCHSIA
+	RGB 31,15,22
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_CINNABAR
+	RGB 26,10,6
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_INDIGO
+	RGB 22,14,24
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_SAFFRON
+	RGB 27,27,3
+	RGB 20,26,31
+	RGB 3,2,2
+	RGB 31,29,31 ; XXX
+	RGB 20,26,31
+	RGB 17,23,10
+	RGB 3,2,2
+IF _RED
+	RGB 31,29,31 ; PAL_LOGO1
+	RGB 30,30,17
+	RGB 17,23,10
+	RGB 21,0,4
+ENDC
+IF _BLUE
+	RGB 31,29,31 ; PAL_LOGO1
+	RGB 30,30,17
+	RGB 21,0,4
+	RGB 14,19,29
+ENDC
+	RGB 31,29,31 ; XXX
+	RGB 30,30,17
+	RGB 18,18,24
+	RGB 7,7,16
+	RGB 31,29,31 ; PAL_LOGO2
+	RGB 24,20,30
+	RGB 11,20,30
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_MEWMON
+	RGB 30,22,17
+	RGB 16,14,19
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_BLUEMON
+	RGB 18,20,27
+	RGB 11,15,23
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_REDMON
+	RGB 31,20,10
+	RGB 26,10,6
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_CYANMON
+	RGB 21,25,29
+	RGB 14,19,25
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_PURPLEMON
+	RGB 27,22,24
+	RGB 21,15,23
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_BROWNMON
+	RGB 28,20,15
+	RGB 21,14,9
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_GREENMON
+	RGB 20,26,16
+	RGB 9,20,11
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_PINKMON
+	RGB 30,22,24
+	RGB 28,15,21
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_YELLOWMON
+	RGB 31,28,14
+	RGB 26,20,0
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_GREYMON
+	RGB 26,21,22
+	RGB 15,15,18
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_SLOTS1
+	RGB 26,21,22
+	RGB 27,20,6
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_SLOTS2
+	RGB 31,31,17
+IF _RED
+	RGB 25,17,21
+ENDC
+IF _BLUE
+	RGB 16,19,29
+ENDC
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_SLOTS3
+	RGB 22,31,16
+IF _RED
+	RGB 25,17,21
+ENDC
+IF _BLUE
+	RGB 16,19,29
+ENDC
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_SLOTS4
+IF _RED
+	RGB 16,19,29
+	RGB 25,17,21
+ENDC
+IF _BLUE
+	RGB 25,17,21
+	RGB 16,19,29
+ENDC
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_BLACK
+	RGB 7,7,7
+	RGB 2,3,3
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_GREENBAR
+	RGB 30,26,15
+	RGB 9,20,11
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_YELLOWBAR
+	RGB 30,26,15
+	RGB 26,20,0
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_REDBAR
+	RGB 30,26,15
+	RGB 26,10,6
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_BADGE
+	RGB 30,22,17
+	RGB 11,15,23
+	RGB 3,2,2
+	RGB 31,29,31 ; PAL_CAVE
+	RGB 21,14,9
+	RGB 18,24,22
+	RGB 3,2,2
+	RGB 31,29,31 ; XXX
+	RGB 31,28,14
+	RGB 24,20,10
+	RGB 3,2,2
+BorderPalettes: ; 6788
+
+IF _RED
+	INCBIN "gfx/red/sgbborder.map"
+ENDC
+IF _BLUE
+	INCBIN "gfx/blue/sgbborder.map"
+ENDC
+
+INCBIN "baserom.gbc",$72E88,$2F88 - $2E88 ; All $00s
+IF _RED
+	RGB 30,29,29 ; PAL_SGB1
+	RGB 25,22,25
+	RGB 25,17,21
+	RGB 24,14,12
+ENDC
+IF _BLUE
+	RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O)
+	RGB 10,17,26
+	RGB 5,9,20
+	RGB 16,20,27
+ENDC
+
+INCBIN "baserom.gbc",$72F90,$2FA8 - $2F90 ; All $00s
+
+IF _RED
+	RGB 30,29,29 ; PAL_SGB2
+	RGB 22,31,16
+	RGB 27,20,6
+	RGB 15,15,15
+ENDC
+IF _BLUE
+	RGB 30,29,29 ; PAL_SGB2
+	RGB 27,11,6
+	RGB 5,9,20
+	RGB 28,25,15
+ENDC
+
+INCBIN "baserom.gbc",$72FB0,$2FC8 - $2FB0 ; All $00s
+
+IF _RED
+	RGB 30,29,29 ; PAL_SGB3
+	RGB 31,31,17
+	RGB 18,21,29
+	RGB 15,15,15
+ENDC
+IF _BLUE
+	RGB 30,29,29 ; PAL_SGB3
+	RGB 12,15,11
+	RGB 5,9,20
+	RGB 14,22,17
+ENDC
+
+INCBIN "baserom.gbc",$72FD0,$2FE8 - $2FD0 ; All $00s
+
+IF _RED
+	INCBIN "gfx/red/sgbborder.2bpp"
+ENDC
+IF _BLUE
+	INCBIN "gfx/blue/sgbborder.2bpp"
+ENDC
+
+INCBIN "baserom.gbc",$735e8,$7361e - $735e8
+
+UnnamedText_7361e: ; 0x7361e
+	TX_FAR _UnnamedText_7361e
+	db $50
+; 0x7361e + 5 bytes
+
+INCBIN "baserom.gbc",$73623,$7377d - $73623
+
+UnnamedText_7377d: ; 0x7377d
+	TX_FAR _UnnamedText_7377d
+	db $50
+; 0x7377d + 5 bytes
+
+UnnamedText_73782: ; 0x73782
+	TX_FAR _UnnamedText_73782
+	db $50
+; 0x73782 + 5 bytes
+
+UnnamedText_73787: ; 0x73787
+	TX_FAR _UnnamedText_73787
+	db $50
+; 0x73787 + 5 bytes
+
+INCBIN "baserom.gbc",$7378c,$73909 - $7378c
+
+UnnamedText_73909: ; 0x73909
+	TX_FAR _UnnamedText_73909
+	db $50
+; 0x73909 + 5 bytes
+
+INCBIN "baserom.gbc",$7390e,$739d4 - $7390e
+
+UnnamedText_739d4: ; 0x739d4
+	TX_FAR _UnnamedText_739d4
+	db $50
+; 0x739d4 + 5 bytes
+
+INCBIN "baserom.gbc",$739d9,$627
+
+SECTION "bank1D",DATA,BANK[$1D]
+
+CopycatsHouseF1Blocks: ; 0x74000
+	INCBIN "maps/copycatshousef1.blk"
+
+CinnabarMartBlocks:
+PewterMartBlocks: ; 0x74010 16
+	INCBIN "maps/pewtermart.blk"
+
+FuchsiaHouse1Blocks: ; 0x74020 16
+	INCBIN "maps/fuchsiahouse1.blk"
+
+CinnabarPokecenterBlocks:
+FuchsiaPokecenterBlocks: ; 0x74030 28
+	INCBIN "maps/fuchsiapokecenter.blk"
+
+CeruleanHouse3Blocks: ; 0x7404c 16
+	INCBIN "maps/ceruleanhouse3.blk"
+
+INCBIN "baserom.gbc",$7405c,$6f
+
+Func40CB: ; 40CB
+	xor a
+	ld [$FFBA],a
+	call $3719
+	call $4183
+
+	; display the next monster from CreditsMons
+	ld hl,$CD3E
+	ld c,[hl] ; how many monsters have we displayed so far?
+	inc [hl]
+	ld b,0
+	ld hl,CreditsMons
+	add hl,bc ; go that far in the list of monsters and get the next one
+	ld a,[hl]
+	ld [$CF91],a
+	ld [$D0B5],a
+	ld hl,$C420
+	call $1537
+	call $1389
+	ld hl,$980C
+	call $4164
+	xor a
+	ld [$FFBA],a
+	call $3725
+	ld hl,$9800
+	call $4164
+	ld a,$A7
+	ld [$FF4B],a
+	ld hl,$9C00
+	call $4164
+	call $4183
+	ld a,$FC
+	ld [$FF47],a
+	ld bc,7
+.next\@
+	call $4140
+	dec c
+	jr nz,.next\@
+	ld c,$14
+.next2\@
+	call $4140
+	ld a,[$FF4B]
+	sub 8
+	ld [$FF4B],a
+	dec c
+	jr nz,.next2\@
+	xor a
+	ld [$FFB0],a
+	ld a,$C0
+	ld [$FF47],a
+	ret
+
+CreditsMons: ; 4131
+	db VENUSAUR
+	db ARBOK
+	db RHYHORN
+	db FEAROW
+	db ABRA
+	db GRAVELER
+	db HITMONLEE
+	db TANGELA
+	db STARMIE
+	db GYARADOS
+	db DITTO
+	db OMASTAR
+	db VILEPLUME
+	db NIDOKING
+	db PARASECT
+
+INCBIN "baserom.gbc",$74140,$2C3 - $140
+
+CreditsTextPointers: ; 42C3
+
+	dw CredVersion
+	dw CredTajiri
+	dw CredTaOota
+	dw CredMorimoto
+	dw CredWatanabe
+	dw CredMasuda
+	dw CredNisino
+	dw CredSugimori
+	dw CredNishida
+	dw CredMiyamoto
+	dw CredKawaguchi
+	dw CredIshihara
+	dw CredYamauchi
+	dw CredZinnai
+	dw CredHishida
+	dw CredSakai
+	dw CredYamaguchi
+	dw CredYamamoto
+	dw CredTaniguchi
+	dw CredNonomura
+	dw CredFuziwara
+	dw CredMatsusima
+	dw CredTomisawa
+	dw CredKawamoto
+	dw CredKakei
+	dw CredTsuchiya
+	dw CredTaNakamura
+	dw CredYuda
+	dw CredMon
+	dw CredDirector
+	dw CredProgrammers
+	dw CredCharDesign
+	dw CredMusic
+	dw CredSoundEffects
+	dw CredGameDesign
+	dw CredMonsterDesign
+	dw CredGameScene
+	dw CredParam
+	dw CredMap
+	dw CredTest
+	dw CredSpecial
+	dw CredProducers
+	dw CredProducer
+	dw CredExecutive
+	dw CredTamada
+	dw CredSaOota
+	dw CredYoshikawa
+	dw CredToOota
+	dw CredUSStaff
+	dw CredUSCoord
+	dw CredTilden
+	dw CredKawakami
+	dw CredHiNakamura
+	dw CredGiese
+	dw CredOsborne
+	dw CredTrans
+	dw CredOgasawara
+	dw CredIwata
+	dw CredIzushi
+	dw CredHarada
+	dw CredMurakawa
+	dw CredFukui
+	dw CredClub
+	dw CredPAAD
+
+CredVersion:
+IF _RED
+	db "2RED VERSION STAFF@"
+ENDC
+IF _BLUE
+	db "2BLUE VERSION STAFF@"
+ENDC
+CredTajiri:
+	db "4SATOSHI TAJIRI@"
+CredTaOota:
+	db "4TAKENORI OOTA@"
+CredMorimoto:
+	db "3SHIGEKI MORIMOTO@"
+CredWatanabe:
+	db "3TETSUYA WATANABE@"
+CredMasuda:
+	db "4JUNICHI MASUDA@"
+CredNisino:
+	db "5KOHJI NISINO@"
+CredSugimori:
+	db "5KEN SUGIMORI@"
+CredNishida:
+	db "4ATSUKO NISHIDA@"
+CredMiyamoto:
+	db "3SHIGERU MIYAMOTO@"
+CredKawaguchi:
+	db "2TAKASHI KAWAGUCHI@"
+CredIshihara:
+	db "2TSUNEKAZU ISHIHARA@"
+CredYamauchi:
+	db "3HIROSHI YAMAUCHI@"
+CredZinnai:
+	db "3HIROYUKI ZINNAI@"
+CredHishida:
+	db "3TATSUYA HISHIDA@"
+CredSakai:
+	db "4YASUHIRO SAKAI@"
+CredYamaguchi:
+	db "3WATARU YAMAGUCHI@"
+CredYamamoto:
+	db "2KAZUYUKI YAMAMOTO@"
+CredTaniguchi:
+	db "2RYOHSUKE TANIGUCHI@"
+CredNonomura:
+	db "2FUMIHIRO NONOMURA@"
+CredFuziwara:
+	db "3MOTOFUMI FUZIWARA@"
+CredMatsusima:
+	db "3KENJI MATSUSIMA@"
+CredTomisawa:
+	db "3AKIHITO TOMISAWA@"
+CredKawamoto:
+	db "3HIROSHI KAWAMOTO@"
+CredKakei:
+	db "4AKIYOSHI KAKEI@"
+CredTsuchiya:
+	db "3KAZUKI TSUCHIYA@"
+CredTaNakamura:
+	db "4TAKEO NAKAMURA@"
+CredYuda:
+	db "4MASAMITSU YUDA@"
+CredMon:
+	db "7#MON@"
+CredDirector:
+	db "7DIRECTOR@"
+CredProgrammers:
+	db "5PROGRAMMERS@"
+CredCharDesign:
+	db "3CHARACTER DESIGN@"
+CredMusic:
+	db "8MUSIC@"
+CredSoundEffects:
+	db "4SOUND EFFECTS@"
+CredGameDesign:
+	db "5GAME DESIGN@"
+CredMonsterDesign:
+	db "4MONSTER DESIGN@"
+CredGameScene:
+	db "4GAME SCENARIO@"
+CredParam:
+	db "2PARAMETRIC DESIGN@"
+CredMap:
+	db "6MAP DESIGN@"
+CredTest:
+	db "3PRODUCT TESTING@"
+CredSpecial:
+	db "4SPECIAL THANKS@"
+CredProducers:
+	db "6PRODUCERS@"
+CredProducer:
+	db "6PRODUCER@"
+CredExecutive:
+	db "2EXECUTIVE PRODUCER@"
+CredTamada:
+	db "4SOUSUKE TAMADA@"
+CredSaOota:
+	db "5SATOSHI OOTA@"
+CredYoshikawa:
+	db "4RENA YOSHIKAWA@"
+CredToOota:
+	db "4TOMOMICHI OOTA@"
+CredUSStaff:
+	db "3US VERSION STAFF@"
+CredUSCoord:
+	db "3US COORDINATION@"
+CredTilden:
+	db "5GAIL TILDEN@"
+CredKawakami:
+	db "4NAOKO KAWAKAMI@"
+CredHiNakamura:
+	db "4HIRO NAKAMURA@"
+CredGiese:
+	db "4WILLIAM GIESE@"
+CredOsborne:
+	db "5SARA OSBORNE@"
+CredTrans:
+	db "3TEXT TRANSLATION@"
+CredOgasawara:
+	db "4NOB OGASAWARA@"
+CredIwata:
+	db "5SATORU IWATA@"
+CredIzushi:
+	db "3TAKEHIRO IZUSHI@"
+CredHarada:
+	db "3TAKAHIRO HARADA@"
+CredMurakawa:
+	db "3TERUKI MURAKAWA@"
+CredFukui:
+	db "5KOHTA FUKUI@"
+CredClub:
+	db "1NCL SUPER MARIO CLUB@"
+CredPAAD:
+	db "5PAAD TESTING@"
+
+TheEndGfx: ; 473E
+	INCBIN "gfx/theend.2bpp"
+
+INCBIN "baserom.gbc",$747de,$74872 - $747de
+
+Unnamed_ASM_74872: ; 0x74872
+                    ; code similar to this appears in a lot of banks; this particular
+	call $20EF		; one is called after you beat the Rocket that gives you TM28 DIG
+	ld a, $07		; the screen then fades out, he disappears, and fades back in
+	ld [$CC4D], a
+	ld a, $15
+	call $3E6D
+	ld a, $09
+	ld [$CC4D], a
+	ld a, $11
+	call $3E6D
+	ld a, $06
+	ld [$CC4D], a
+	ld a, $11
+	call Predef
+	call $20D1
+	ret
+
+ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45)
+	db $07 ; tileset
+	db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x)
+	dw ViridianGymBlocks, ViridianGymTexts, ViridianGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw ViridianGymObject ; objects
+
+ViridianGymScript: ; 0x748a3
+	ld hl, Gym8CityName
+	ld de, Gym8LeaderName
+	call $317f
+	call $3c3c
+	ld hl, ViridianGymTrainerHeaders
+	ld de, $48e1
+	ld a, [$d5fb]
+	call $3160
+	ld [$d5fb], a
+	ret
+; 0x748bf
+
+Gym8CityName:
+	db "VIRIDIAN CITY@"
+Gym8LeaderName:
+	db "GIOVANNI@"
+
+INCBIN "baserom.gbc",$748D6,$116
+
+ViridianGymTexts: ; 0x749ec
+	dw ViridianGymText1, ViridianGymText2, ViridianGymText3, ViridianGymText4, ViridianGymText5, ViridianGymText6, ViridianGymText7, ViridianGymText8, ViridianGymText9, ViridianGymText10, ViridianGymText11, ViridianGymText12, ViridianGymText13, ViridianGymText14
+
+ViridianGymTrainerHeaders:
+ViridianGymTrainerHeader1: ; 0x74a08
+	db $2 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74afd ; 0x4afd TextBeforeBattle
+	dw UnnamedText_74b07 ; 0x4b07 TextAfterBattle
+	dw UnnamedText_74b02 ; 0x4b02 TextEndBattle
+	dw UnnamedText_74b02 ; 0x4b02 TextEndBattle
+; 0x74a14
+
+TrainerHeader_74a14: ; 0x74a14
+	db $3 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74b16 ; 0x4b16 TextBeforeBattle
+	dw UnnamedText_74b20 ; 0x4b20 TextAfterBattle
+	dw UnnamedText_74b1b ; 0x4b1b TextEndBattle
+	dw UnnamedText_74b1b ; 0x4b1b TextEndBattle
+; 0x74a20
+
+TrainerHeader_74a20: ; 0x74a20
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74b2f ; 0x4b2f TextBeforeBattle
+	dw UnnamedText_74b39 ; 0x4b39 TextAfterBattle
+	dw UnnamedText_74b34 ; 0x4b34 TextEndBattle
+	dw UnnamedText_74b34 ; 0x4b34 TextEndBattle
+; 0x74a2c
+
+TrainerHeader_74a2c: ; 0x74a2c
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74b48 ; 0x4b48 TextBeforeBattle
+	dw UnnamedText_74b52 ; 0x4b52 TextAfterBattle
+	dw UnnamedText_74b4d ; 0x4b4d TextEndBattle
+	dw UnnamedText_74b4d ; 0x4b4d TextEndBattle
+; 0x74a38
+
+TrainerHeader_74a38: ; 0x74a38
+	db $6 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74b61 ; 0x4b61 TextBeforeBattle
+	dw UnnamedText_74b6b ; 0x4b6b TextAfterBattle
+	dw UnnamedText_74b66 ; 0x4b66 TextEndBattle
+	dw UnnamedText_74b66 ; 0x4b66 TextEndBattle
+; 0x74a44
+
+TrainerHeader_74a44: ; 0x74a44
+	db $7 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74b7a ; 0x4b7a TextBeforeBattle
+	dw UnnamedText_74b84 ; 0x4b84 TextAfterBattle
+	dw UnnamedText_74b7f ; 0x4b7f TextEndBattle
+	dw UnnamedText_74b7f ; 0x4b7f TextEndBattle
+; 0x74a50
+
+TrainerHeader_74a50: ; 0x74a50
+	db $8 ; flag's bit
+	db ($3 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74b93 ; 0x4b93 TextBeforeBattle
+	dw UnnamedText_74b9d ; 0x4b9d TextAfterBattle
+	dw UnnamedText_74b98 ; 0x4b98 TextEndBattle
+	dw UnnamedText_74b98 ; 0x4b98 TextEndBattle
+; 0x74a5c
+
+TrainerHeader_74a5c: ; 0x74a5c
+	db $9 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d751 ; flag's byte
+	dw UnnamedText_74bac ; 0x4bac TextBeforeBattle
+	dw UnnamedText_74bb6 ; 0x4bb6 TextAfterBattle
+	dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle
+	dw UnnamedText_74bb1 ; 0x4bb1 TextEndBattle
+; 0x74a68
+
+db $ff
+
+ViridianGymText1: ; 0x74a69
+	db $08 ; asm
+	ld a, [$d751]
+	bit 1, a
+	jr z, .asm_6de66 ; 0x74a6f
+	bit 0, a
+	jr nz, .asm_9fc95 ; 0x74a73
+	call z, $4995
+	call $30b6
+	jr .asm_6dff7 ; 0x74a7b
+.asm_9fc95 ; 0x74a7d
+	ld a, $1
+	ld [$cc3c], a
+	ld hl, UnnamedText_74ad9
+	call PrintText
+	call $20ef
+	ld a, $32
+	ld [$cc4d], a
+	ld a, $11
+	call Predef
+	call $2429
+	call Delay3
+	call $20d1
+	jr .asm_6dff7 ; 0x74a9e
+.asm_6de66 ; 0x74aa0
+	ld hl, UnnamedText_74ace
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $4ad3
+	ld de, $4ad3
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $8
+	ld [$d05c], a
+	ld a, $3
+	ld [$d5fb], a
+.asm_6dff7 ; 0x74acb
+	jp TextScriptEnd
+
+UnnamedText_74ace: ; 0x74ace
+	TX_FAR _UnnamedText_74ace
+	db $50
+; 0x74ace + 5 bytes
+
+UnnamedText_74ad3: ; 0x74ad3
+	TX_FAR _UnnamedText_74ad3
+	db $0b, $50
+; 0x74ad9
+
+UnnamedText_74ad9: ; 0x74ad9
+	TX_FAR _UnnamedText_74ad9
+	db $0d, $50
+; 0x74add
+
+ViridianGymText12: ; 0x74adf
+	TX_FAR _ViridianGymText12
+	db $50
+; 0x74adf + 5 bytes
+
+ViridianGymText13: ; 0x74ae4
+	TX_FAR _UnnamedText_74ae4
+	db $0b
+
+UnnamedText_74ae9:
+	TX_FAR _UnnamedText_74ae9
+	db $50
+
+ViridianGymText14: ; 0x74aee
+	TX_FAR _UnnamedText_74aee
+	db $50
+; 0x74aee + 5 bytes
+
+ViridianGymText2: ; 0x74af3
+	db $08 ; asm
+	ld hl, ViridianGymTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74afd: ; 0x74afd
+	TX_FAR _UnnamedText_74afd
+	db $50
+; 0x74afd + 5 bytes
+
+UnnamedText_74b02: ; 0x74b02
+	TX_FAR _UnnamedText_74b02
+	db $50
+; 0x74b02 + 5 bytes
+
+UnnamedText_74b07: ; 0x74b07
+	TX_FAR _UnnamedText_74b07
+	db $50
+; 0x74b07 + 5 bytes
+
+ViridianGymText3: ; 0x74b0c
+	db $08 ; asm
+	ld hl, TrainerHeader_74a14
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74b16: ; 0x74b16
+	TX_FAR _UnnamedText_74b16
+	db $50
+; 0x74b16 + 5 bytes
+
+UnnamedText_74b1b: ; 0x74b1b
+	TX_FAR _UnnamedText_74b1b
+	db $50
+; 0x74b1b + 5 bytes
+
+UnnamedText_74b20: ; 0x74b20
+	TX_FAR _UnnamedText_74b20
+	db $50
+; 0x74b20 + 5 bytes
+
+ViridianGymText4: ; 0x74b25
+	db $08 ; asm
+	ld hl, TrainerHeader_74a20
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74b2f: ; 0x74b2f
+	TX_FAR _UnnamedText_74b2f
+	db $50
+; 0x74b2f + 5 bytes
+
+UnnamedText_74b34: ; 0x74b34
+	TX_FAR _UnnamedText_74b34
+	db $50
+; 0x74b34 + 5 bytes
+
+UnnamedText_74b39: ; 0x74b39
+	TX_FAR _UnnamedText_74b39
+	db $50
+; 0x74b39 + 5 bytes
+
+ViridianGymText5: ; 0x74b3e
+	db $08 ; asm
+	ld hl, TrainerHeader_74a2c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74b48: ; 0x74b48
+	TX_FAR _UnnamedText_74b48
+	db $50
+; 0x74b48 + 5 bytes
+
+UnnamedText_74b4d: ; 0x74b4d
+	TX_FAR _UnnamedText_74b4d
+	db $50
+; 0x74b4d + 5 bytes
+
+UnnamedText_74b52: ; 0x74b52
+	TX_FAR _UnnamedText_74b52
+	db $50
+; 0x74b52 + 5 bytes
+
+ViridianGymText6: ; 0x74b57
+	db $08 ; asm
+	ld hl, TrainerHeader_74a38
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74b61: ; 0x74b61
+	TX_FAR _UnnamedText_74b61
+	db $50
+; 0x74b61 + 5 bytes
+
+UnnamedText_74b66: ; 0x74b66
+	TX_FAR _UnnamedText_74b66
+	db $50
+; 0x74b66 + 5 bytes
+
+UnnamedText_74b6b: ; 0x74b6b
+	TX_FAR _UnnamedText_74b6b
+	db $50
+; 0x74b6b + 5 bytes
+
+ViridianGymText7: ; 0x74b70
+	db $08 ; asm
+	ld hl, TrainerHeader_74a44
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74b7a: ; 0x74b7a
+	TX_FAR _UnnamedText_74b7a
+	db $50
+; 0x74b7a + 5 bytes
+
+UnnamedText_74b7f: ; 0x74b7f
+	TX_FAR _UnnamedText_74b7f
+	db $50
+; 0x74b7f + 5 bytes
+
+UnnamedText_74b84: ; 0x74b84
+	TX_FAR _UnnamedText_74b84
+	db $50
+; 0x74b84 + 5 bytes
+
+ViridianGymText8: ; 0x74b89
+	db $08 ; asm
+	ld hl, TrainerHeader_74a50
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74b93: ; 0x74b93
+	TX_FAR _UnnamedText_74b93
+	db $50
+; 0x74b93 + 5 bytes
+
+UnnamedText_74b98: ; 0x74b98
+	TX_FAR _UnnamedText_74b98
+	db $50
+; 0x74b98 + 5 bytes
+
+UnnamedText_74b9d: ; 0x74b9d
+	TX_FAR _UnnamedText_74b9d
+	db $50
+; 0x74b9d + 5 bytes
+
+ViridianGymText9: ; 0x74ba2
+	db $08 ; asm
+	ld hl, TrainerHeader_74a5c
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_74bac: ; 0x74bac
+	TX_FAR _UnnamedText_74bac
+	db $50
+; 0x74bac + 5 bytes
+
+UnnamedText_74bb1: ; 0x74bb1
+	TX_FAR _UnnamedText_74bb1
+	db $50
+; 0x74bb1 + 5 bytes
+
+UnnamedText_74bb6: ; 0x74bb6
+	TX_FAR _UnnamedText_74bb6
+	db $50
+; 0x74bb6 + 5 bytes
+
+ViridianGymText10: ; 0x74bbb
+	db $08 ; asm
+	ld a, [$d751]
+	bit 1, a
+	jr nz, .asm_1abd1 ; 0x74bc1
+	ld hl, UnnamedText_74bd4
+	call PrintText
+	jr .asm_6064d ; 0x74bc9
+.asm_1abd1 ; 0x74bcb
+	ld hl, UnnamedText_74bd9
+	call PrintText
+.asm_6064d ; 0x74bd1
+	jp TextScriptEnd
+
+UnnamedText_74bd4: ; 0x74bd4
+	TX_FAR _UnnamedText_74bd4
+	db $50
+; 0x74bd4 + 5 bytes
+
+UnnamedText_74bd9: ; 0x74bd9
+	TX_FAR _UnnamedText_74bd9
+	db $50
+; 0x74bd9 + 5 bytes
+
+ViridianGymObject: ; 0x74bde (size=105)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $11, $10, $4, $ff
+	db $11, $11, $4, $ff
+
+	db $0 ; signs
+
+	db $b ; people
+	db SPRITE_GIOVANNI, $1 + 4, $2 + 4, $ff, $d0, $41, GIOVANNI + $C8, $3 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $7 + 4, $c + 4, $ff, $d0, $42, COOLTRAINER_M + $C8, $9 ; trainer
+	db SPRITE_HIKER, $b + 4, $b + 4, $ff, $d1, $43, BLACKBELT + $C8, $6 ; trainer
+	db SPRITE_ROCKER, $7 + 4, $a + 4, $ff, $d0, $44, TAMER + $C8, $3 ; trainer
+	db SPRITE_HIKER, $7 + 4, $3 + 4, $ff, $d2, $45, BLACKBELT + $C8, $7 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $d + 4, $ff, $d3, $46, COOLTRAINER_M + $C8, $a ; trainer
+	db SPRITE_HIKER, $1 + 4, $a + 4, $ff, $d0, $47, BLACKBELT + $C8, $8 ; trainer
+	db SPRITE_ROCKER, $10 + 4, $2 + 4, $ff, $d3, $48, TAMER + $C8, $4 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_1, $5 + 4, $6 + 4, $ff, $d0, $49, COOLTRAINER_M + $C8, $1 ; trainer
+	db SPRITE_GYM_HELPER, $f + 4, $10 + 4, $ff, $d0, $a ; person
+	db SPRITE_BALL, $9 + 4, $10 + 4, $ff, $ff, $8b, REVIVE ; item
+
+	; warp-to
+	EVENT_DISP $a, $11, $10
+	EVENT_DISP $a, $11, $11
+
+ViridianGymBlocks: ; 0x74c47 90
+	INCBIN "maps/viridiangym.blk"
+
+PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56)
+	db $02 ; tileset
+	db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x)
+	dw PewterMartBlocks, PewterMartTexts, PewterMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw PewterMartObject ; objects
+
+PewterMartScript: ; 0x74cad
+	call $3c3c
+	ld a, $1
+	ld [$cf0c], a
+	ret
+; 0x74cb6
+
+PewterMartTexts: ; 0x74cb6
+	dw PewterMartText1, PewterMartText2, PewterMartText3
+
+PewterMartText2: ; 0x74cbc
+	db $08 ; asm
+	ld hl, UnnamedText_74cc6
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_74cc6: ; 0x74cc6
+	TX_FAR _UnnamedText_74cc6
+	db $50
+; 0x74cc6 + 5 bytes
+
+PewterMartText3: ; 0x74ccb
+	db $08 ; asm
+	ld hl, UnnamedText_74cd5
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_74cd5: ; 0x74cd5
+	TX_FAR _UnnamedText_74cd5
+	db $50
+; 0x74cd5 + 5 bytes
+
+PewterMartObject: ; 0x74cda (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $4, $ff
+	db $7, $4, $4, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_BUG_CATCHER, $3 + 4, $3 + 4, $fe, $1, $2 ; person
+	db SPRITE_BLACK_HAIR_BOY_2, $5 + 4, $5 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228)
+	db $11 ; tileset
+	db UNKNOWN_DUNGEON_1_HEIGHT, UNKNOWN_DUNGEON_1_WIDTH ; dimensions (y, x)
+	dw UnknownDungeon1Blocks, UnknownDungeon1Texts, UnknownDungeon1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw UnknownDungeon1Object ; objects
+
+UnknownDungeon1Script: ; 0x74d0c
+	jp $3c3c
+; 0x74d0f
+
+UnknownDungeon1Texts: ; 0x74d0f
+	dw UnknownDungeon1Text1, UnknownDungeon1Text2, UnknownDungeon1Text3
+
+UnknownDungeon1Object: ; 0x74d15 (size=97)
+	db $7d ; border tile
+
+	db $9 ; warps
+	db $11, $18, $6, $ff
+	db $11, $19, $6, $ff
+	db $1, $1b, $0, UNKNOWN_DUNGEON_2
+	db $7, $17, $1, UNKNOWN_DUNGEON_2
+	db $9, $12, $2, UNKNOWN_DUNGEON_2
+	db $1, $7, $3, UNKNOWN_DUNGEON_2
+	db $3, $1, $4, UNKNOWN_DUNGEON_2
+	db $b, $3, $5, UNKNOWN_DUNGEON_2
+	db $6, $0, $0, UNKNOWN_DUNGEON_3
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_BALL, $d + 4, $7 + 4, $ff, $ff, $81, FULL_RESTORE ; item
+	db SPRITE_BALL, $3 + 4, $13 + 4, $ff, $ff, $82, MAX_ELIXER ; item
+	db SPRITE_BALL, $0 + 4, $5 + 4, $ff, $ff, $83, NUGGET ; item
+
+	; warp-to
+	EVENT_DISP $f, $11, $18
+	EVENT_DISP $f, $11, $19
+	EVENT_DISP $f, $1, $1b ; UNKNOWN_DUNGEON_2
+	EVENT_DISP $f, $7, $17 ; UNKNOWN_DUNGEON_2
+	EVENT_DISP $f, $9, $12 ; UNKNOWN_DUNGEON_2
+	EVENT_DISP $f, $1, $7 ; UNKNOWN_DUNGEON_2
+	EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_2
+	EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_2
+	EVENT_DISP $f, $6, $0 ; UNKNOWN_DUNGEON_3
+
+UnknownDungeon1Blocks: ; 0x74d76 135
+	INCBIN "maps/unknowndungeon1.blk"
+
+CeruleanHouse3_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230)
+	db $0d ; tileset
+	db CERULEAN_HOUSE_3_HEIGHT, CERULEAN_HOUSE_3_WIDTH ; dimensions (y, x)
+	dw CeruleanHouse3Blocks, CeruleanHouse3Texts, CeruleanHouse3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CeruleanHouse3Object ; objects
+
+CeruleanHouse3Script: ; 0x74e09
+	ld a, $1
+	ld [$cf0c], a
+	dec a
+	ld [$cc3c], a
+	ret
+; 0x74e13
+
+CeruleanHouse3Texts:
+	dw CeruleanHouse3Text1
+
+CeruleanHouse3Text1: ; 0x74e15
+	db $8
+	ld hl, UnnamedText_74e77
+	call PrintText
+	xor a
+	ld [$cc26], a
+	ld [$cc36], a
+.asm_74e23
+	ld hl, UnnamedText_74e7c
+	call PrintText
+	ld hl, UnnamedText_74e6d
+	call $2a5a
+	ld hl, $cf7b
+	ld a, l
+	ld [$cf8b], a
+	ld a, h
+	ld [$cf8c], a
+	xor a
+	ld [$cf93], a
+	ld [$cc35], a
+	ld a, $4
+	ld [$cf94], a
+	call $2be6
+	jr c, .asm_74e60 ; 0x74e49 $15
+	ld hl, $4e86
+	ld a, [$cf91]
+	sub $15
+	add a
+	ld d, $0
+	ld e, a
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call PrintText
+	jr .asm_74e23 ; 0x74e5e $c3
+.asm_74e60
+	xor a
+	ld [$cc36], a
+	ld hl, UnnamedText_74e81
+	call PrintText
+	jp TextScriptEnd
+; 0x74e6d
+
+UnnamedText_74e6d: ; 0x74e6d
+db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
+
+UnnamedText_74e77: ; 0x74e77
+	TX_FAR _UnnamedText_74e77
+	db $50
+; 0x74e77 + 5 bytes
+
+UnnamedText_74e7c: ; 0x74e7c
+	TX_FAR _UnnamedText_74e7c
+	db $50
+; 0x74e7c + 5 bytes
+
+UnnamedText_74e81: ; 0x74e81
+	TX_FAR _UnnamedText_74e81
+	db $50
+; 0x74e81 + 5 bytes
+
+INCBIN "baserom.gbc",$74e86,$74e96 - $74e86
+
+UnnamedText_74e96: ; 0x74e96
+	TX_FAR _UnnamedText_74e96
+	db $50
+; 0x74e96 + 5 bytes
+
+UnnamedText_74e9b: ; 0x74e9b
+	TX_FAR _UnnamedText_74e9b
+	db $50
+; 0x74e9b + 5 bytes
+
+UnnamedText_74ea0: ; 0x74ea0
+	TX_FAR _UnnamedText_74ea0
+	db $50
+; 0x74ea0 + 5 bytes
+
+UnnamedText_74ea5: ; 0x74ea5
+	TX_FAR _UnnamedText_74ea5
+	db $50
+; 0x74ea5 + 5 bytes
+
+UnnamedText_74eaa: ; 0x74eaa
+	TX_FAR _UnnamedText_74eaa
+	db $50
+; 0x74eaa + 5 bytes
+
+UnnamedText_74eaf: ; 0x74eaf
+	TX_FAR _UnnamedText_74eaf
+	db $50
+; 0x74eaf + 5 bytes
+
+UnnamedText_74eb4: ; 0x74eb4
+	TX_FAR _UnnamedText_74eb4
+	db $50
+; 0x74eb4 + 5 bytes
+
+UnnamedText_74eb9: ; 0x74eb9
+	TX_FAR _UnnamedText_74eb9
+	db $50
+; 0x74eb9 + 5 bytes
+
+CeruleanHouse3Object: ; 0x74ebe (size=34)
+	db $c ; border tile
+
+	db $3 ; warps
+	db $0, $2, $9, $ff
+	db $7, $2, $8, $ff
+	db $7, $3, $8, $ff
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_FAT_BALD_GUY, $3 + 4, $5 + 4, $ff, $d3, $1 ; person
+
+	; warp-to
+	EVENT_DISP $4, $0, $2
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+INCBIN "baserom.gbc",$74ee0,$B9
+
+UnnamedText_74f99: ; 0x74f99
+	TX_FAR _UnnamedText_74f99
+	db $50
+; 0x74f99 + 5 bytes
+
+Unnamed_74f9e: ; 0x74f9e
+	db "FRESH WATER",$4E
+	db "SODA POP",$4E
+	db "LEMONADE",$4E
+	db "CANCEL@"
+	db $F0,"200",$4E
+	db $F0,"300",$4E
+	db $F0,"350",$4E,"@"
+
+UnnamedText_74fd3: ; 0x74fd3
+	TX_FAR _UnnamedText_74fd3
+	db $50
+; 0x74fd3 + 5 bytes
+
+UnnamedText_74fd8: ; 0x74fd8
+	TX_FAR _UnnamedText_74fd8
+	db $50
+; 0x74fd8 + 5 bytes
+
+UnnamedText_74fdd: ; 0x74fdd
+	TX_FAR _UnnamedText_74fdd
+	db $50
+; 0x74fdd + 5 bytes
+
+UnnamedText_74fe2: ; 0x74fe2
+	TX_FAR _UnnamedText_74fe2
+	db $50
+; 0x74fe2 + 5 bytes
+
+Unknown_74fe7: ; 0x74fe7
+	ld hl, Unknown_75000
+	ld a, [$cc26]
+	add a
+	add a
+	ld d, $0
+	ld e, a
+	add hl, de
+	ld a, [hli]
+	ld [$ff00+$db], a
+	ld a, [hli]
+	ld [$ff00+$dc], a
+	ld a, [hli]
+	ld [$ff00+$dd], a
+	ld a, [hl]
+	ld [$ff00+$de], a
+	ret
+; 0x75000
+
+Unknown_75000:
+INCBIN "baserom.gbc",$75000,$c
+
+FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153)
+	db $08 ; tileset
+	db FUCHSIA_HOUSE_1_HEIGHT, FUCHSIA_HOUSE_1_WIDTH ; dimensions (y, x)
+	dw FuchsiaHouse1Blocks, FuchsiaHouse1Texts, FuchsiaHouse1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaHouse1Object ; objects
+
+FuchsiaHouse1Script: ; 0x75018
+	call $3c3c
+	ret
+; 0x7501c
+
+FuchsiaHouse1Texts: ; 0x7501c
+	dw FuchsiaHouse1Text1, FuchsiaHouse1Text2, FuchsiaHouse1Text3
+
+FuchsiaHouse1Text1: ; 0x75022
+	TX_FAR _FuchsiaHouse1Text1
+	db $50
+
+FuchsiaHouse1Text2: ; 0x75027
+	TX_FAR _FuchsiaHouse1Text2
+	db $50
+
+FuchsiaHouse1Text3: ; 0x7502c
+	TX_FAR _FuchsiaHouse1Text3
+	db $50
+
+FuchsiaHouse1Object: ; 0x75031 (size=38)
+	db $a ; border tile
+
+	db $2 ; warps
+	db $7, $2, $1, $ff
+	db $7, $3, $1, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MOM_GEISHA, $3 + 4, $2 + 4, $ff, $d3, $1 ; person
+	db SPRITE_GAMBLER, $2 + 4, $7 + 4, $ff, $d1, $2 ; person
+	db SPRITE_BUG_CATCHER, $5 + 4, $5 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+
+FuchsiaPokecenter_h: ; 0x75057 to 0x75063 (12 bytes) (id=154)
+	db $06 ; tileset
+	db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x)
+	dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTexts, FuchsiaPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaPokecenterObject ; objects
+
+FuchsiaPokecenterScript: ; 0x75063
+	call $22fa
+	jp $3c3c
+; 0x75069
+
+FuchsiaPokecenterTexts:
+	dw FuchsiaPokecenterText1, FuchsiaPokecenterText2, FuchsiaPokecenterText3, FuchsiaPokecenterText4
+
+FuchsiaPokecenterText1: ; 0x75071
+	db $ff
+
+FuchsiaPokecenterText2: ; 0x75072
+	TX_FAR _FuchsiaPokecenterText1
+	db $50
+
+FuchsiaPokecenterText3: ; 0x75077
+	TX_FAR _FuchsiaPokecenterText3
+	db $50
+
+FuchsiaPokecenterText4: ; 0x7507c
+	db $f6
+
+FuchsiaPokecenterObject: ; 0x7507d (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $2, $ff
+	db $7, $4, $2, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_ROCKER, $3 + 4, $2 + 4, $ff, $ff, $2 ; person
+	db SPRITE_LASS, $5 + 4, $6 + 4, $fe, $2, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155)
+	db $14 ; tileset
+	db FUCHSIA_HOUSE_2_HEIGHT, FUCHSIA_HOUSE_2_WIDTH ; dimensions (y, x)
+	dw FuchsiaHouse2Blocks, FuchsiaHouse2Texts, FuchsiaHouse2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaHouse2Object ; objects
+
+FuchsiaHouse2Script: ; 0x750b5
+	jp $3c3c
+; 0x750b8
+
+FuchsiaHouse2Texts: ; 0x750b8
+	dw FuchsiaHouse2Text1, FuchsiaHouse2Text2, FuchsiaHouse2Text3, FuchsiaHouse2Text4, FuchsiaHouse2Text5
+
+FuchsiaHouse2Text1: ; 0x750c2
+	db $08 ; asm
+	ld a, [$d78e]
+	bit 0, a
+	jr nz, .asm_58feb ; 0x750c8
+	ld b,GOLD_TEETH
+	call $3493
+	jr nz, .asm_3f30f ; 0x750cf
+	ld a, [$d78e]
+	bit 1, a
+	jr nz, .asm_60cba ; 0x750d6
+	ld hl, UnnamedText_75135
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	ld hl, UnnamedText_7513f
+	jr nz, .asm_61238 ; 0x750e8
+	ld hl, UnnamedText_7513a
+.asm_61238 ; 0x750ed
+	call PrintText
+	jr .asm_52039 ; 0x750f0
+.asm_3f30f ; 0x750f2
+	ld hl, UnnamedText_75144
+	call PrintText
+	ld a, $40
+	ldh [$db], a
+	ld b, $5 ; BANK(MyFunction)
+	ld hl, $7f37 ; MyFunction
+	call Bankswitch
+	ld hl, $d78e
+	set 1, [hl]
+.asm_60cba ; 0x75109
+	ld hl, UnnamedText_7514e
+	call PrintText
+	ld bc,(HM_04 << 8) | 1
+	call GiveItem
+	jr nc, .asm_53b90 ; 0x75115
+	ld hl, UnnamedText_75153
+	call PrintText
+	ld hl, $d78e
+	set 0, [hl]
+	jr .asm_52039 ; 0x75122
+.asm_58feb ; 0x75124
+	ld hl, UnnamedText_75159
+	call PrintText
+	jr .asm_52039 ; 0x7512a
+.asm_53b90 ; 0x7512c
+	ld hl, UnnamedText_7515e
+	call PrintText
+.asm_52039 ; 0x75132
+	jp TextScriptEnd
+
+UnnamedText_75135: ; 0x75135
+	TX_FAR _UnnamedText_75135
+	db $50
+; 0x75135 + 5 bytes
+
+UnnamedText_7513a: ; 0x7513a
+	TX_FAR _UnnamedText_7513a
+	db $50
+; 0x7513a + 5 bytes
+
+UnnamedText_7513f: ; 0x7513f
+	TX_FAR _UnnamedText_7513f
+	db $50
+; 0x7513f + 5 bytes
+
+UnnamedText_75144: ; 0x75144
+	TX_FAR _UnnamedText_75144
+	db $0b
+
+UnnamedText_75149: ; 0x75149
+	TX_FAR _UnnamedText_75149
+	db $50
+; 0x75149 + 5 bytes
+
+UnnamedText_7514e: ; 0x7514e
+	TX_FAR _UnnamedText_7514e
+	db $50
+; 0x7514e + 5 bytes
+
+UnnamedText_75153: ; 0x75153
+	TX_FAR UnnamedText_9e5a2 ; 0x9e5a2
+	db $0B, $50
+; 0x75153 + 6 bytes = 0x75159
+
+UnnamedText_75159: ; 0x75159
+	TX_FAR _UnnamedText_75159
+	db $50
+; 0x75159 + 5 bytes
+
+UnnamedText_7515e: ; 0x7515e
+	TX_FAR _UnnamedText_7515e
+	db $50
+; 0x7515e + 5 bytes
+
+FuchsiaHouse2Text5:
+FuchsiaHouse2Text4: ; 0x75163
+	db $08 ; asm
+	ldh a, [$8c]
+	cp $4
+	ld hl, UnnamedText_7517b
+	jr nz, .asm_4c9a2 ; 0x7516b
+	ld hl, UnnamedText_75176
+.asm_4c9a2 ; 0x75170
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_75176: ; 0x75176
+	TX_FAR _UnnamedText_75176
+	db $50
+; 0x75176 + 5 bytes
+
+UnnamedText_7517b: ; 0x7517b
+	TX_FAR _UnnamedText_7517b
+	db $50
+; 0x7517b + 5 bytes
+
+FuchsiaHouse2Object: ; 0x75180 (size=45)
+	db $17 ; border tile
+
+	db $2 ; warps
+	db $7, $4, $3, $ff
+	db $7, $5, $3, $ff
+
+	db $2 ; signs
+	db $3, $4, $4 ; FuchsiaHouse2Text4
+	db $3, $5, $5 ; FuchsiaHouse2Text5
+
+	db $3 ; people
+	db SPRITE_WARDEN, $3 + 4, $2 + 4, $ff, $ff, $1 ; person
+	db SPRITE_BALL, $3 + 4, $8 + 4, $ff, $ff, $82, RARE_CANDY ; item
+	db SPRITE_BOULDER, $4 + 4, $8 + 4, $ff, $10, $3 ; person
+
+	; warp-to
+	EVENT_DISP $5, $7, $4
+	EVENT_DISP $5, $7, $5
+
+FuchsiaHouse2Blocks: ; 0x751ad 20
+	INCBIN "maps/fuchsiahouse2.blk"
+
+SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156)
+	db $0c ; tileset
+	db SAFARIZONEENTRANCE_HEIGHT, SAFARIZONEENTRANCE_WIDTH ; dimensions (y, x)
+	dw SafariZoneEntranceBlocks, SafariZoneEntranceTexts, SafariZoneEntranceScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw SafariZoneEntranceObject ; objects
+
+SafariZoneEntranceScript: ; 0x751cd
+	call $3c3c
+	ld hl, SafariZoneEntranceScripts
+	ld a, [$d61f]
+	jp $3d97
+; 0x751d9
+
+SafariZoneEntranceScripts: ; 0x751d9
+	dw SafariZoneEntranceScript0, SafariZoneEntranceScript1, SafariZoneEntranceScript2, SafariZoneEntranceScript3, SafariZoneEntranceScript4, SafariZoneEntranceScript5, SafariZoneEntranceScript6
+
+SafariZoneEntranceScript0: ; 0x751e7
+	ld hl, $5221
+	call $34bf
+	ret nc
+	ld a, $3
+	ld [$ff00+$8c], a
+	call DisplayTextID
+	ld a, $ff
+	ld [$cd6b], a
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $c
+	ld [$c109], a
+	ld a, [$cd3d]
+	cp $1
+	jr z, .asm_7520f ; 0x75207 $6
+	ld a, $2
+	ld [$d61f], a
+	ret
+.asm_7520f
+	ld a, $10
+	ld c, $1
+	call $52a3
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, $1
+	ld [$d61f], a
+	ret
+; 0x75221
+
+Unknown_75221: ; 0x75221
+db $2, $3, $2, $4, $ff
+
+SafariZoneEntranceScript1: ; 0x75226
+	call $52b4
+	ret nz
+SafariZoneEntranceScript2: ; 0x7522a
+	xor a
+	ld [$ff00+$b4], a
+	ld [$cd6b], a
+	call $2429
+	ld a, $4
+	ld [$ff00+$8c], a
+	call $2920
+	ld a, $ff
+	ld [$cd6b], a
+	ret
+; 0x75240
+
+SafariZoneEntranceScript3: ; 0x75240
+	call $52b4
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, $5
+	ld [$d61f], a
+	ret
+; 0x7524e
+
+SafariZoneEntranceScript5: ; 0x7524e
+	ld a, $4
+	ld [$d528], a
+	ld hl, $d790
+	bit 6, [hl]
+	res 6, [hl]
+	jr z, .asm_7527f ; 0x7525a $23
+	res 7, [hl]
+	call $2429
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, $6
+	ld [$ff00+$8c], a
+	call $2920
+	xor a
+	ld [$da47], a
+	ld a, $80
+	ld c, $3
+	call $52a3
+	ld a, $4
+	ld [$d61f], a
+	jr .asm_75286 ; 0x7527d $7
+.asm_7527f
+	ld a, $5
+	ld [$ff00+$8c], a
+	call $2920
+.asm_75286
+	ret
+; 0x75287
+
+SafariZoneEntranceScript4: ; 0x75287
+	call $52b4
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, $0
+	ld [$d61f], a
+	ret
+; 0x75295
+
+SafariZoneEntranceScript6: ; 0x75295
+	call $52b4
+	ret nz
+	call Delay3
+	ld a, [$cf0d]
+	ld [$d61f], a
+	ret
+; 0x752a3
+
+Unknown_752a3: ; 0x752a3
+INCBIN "baserom.gbc",$752a3,$752b9 - $752a3
+
+SafariZoneEntranceTexts: ; 0x752b9
+	dw SafariZoneEntranceText1, SafariZoneEntranceText2, SafariZoneEntranceText3, SafariZoneEntranceText4, SafariZoneEntranceText5, SafariZoneEntranceText6
+
+SafariZoneEntranceText3:
+SafariZoneEntranceText1: ; 0x752c5
+	TX_FAR _SafariZoneEntranceText1
+	db $50
+
+SafariZoneEntranceText4: ; 0x752ca
+	TX_FAR UnnamedText_9e6e4 ; 0x9e6e4
+	db $8
+; 0x752cf
+	ld a, $13
+	ld [$d125], a
+	call $30e8
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jp nz, $5346
+	xor a
+	ld [$ff00+$9f], a
+	ld a, $5
+	ld [$ff00+$a0], a
+	ld a, $0
+	ld [$ff00+$a1], a
+	call $35a6
+	jr nc, .asm_752f9 ; 0x752ef $8
+	ld hl, UnnamedText_7536a
+	call PrintText
+	jr .asm_7534c ; 0x752f7 $53
+.asm_752f9
+	xor a
+	ld [$cd3d], a
+	ld a, $5
+	ld [$cd3e], a
+	ld a, $0
+	ld [$cd3f], a
+	ld hl, $cd3f
+	ld de, $d349
+	ld c, $3
+	ld a, $c
+	call Predef
+	ld a, $13
+	ld [$d125], a
+	call $30e8
+	ld hl, UnnamedText_7535b
+	call PrintText
+	ld a, $1e
+	ld [$da47], a
+	ld a, $1
+	ld [$d70d], a
+	ld a, $f6
+	ld [$d70e], a
+	ld a, $40
+	ld c, $3
+	call $52a3
+	ld hl, $d790
+	set 7, [hl]
+	res 6, [hl]
+	ld a, $3
+	ld [$d61f], a
+	jr .asm_75358 ; 0x75344 $12
+	ld hl, UnnamedText_75365
+	call PrintText
+.asm_7534c
+	ld a, $80
+	ld c, $1
+	call $52a3
+	ld a, $4
+	ld [$d61f], a
+.asm_75358
+	jp TextScriptEnd
+; 0x7535b
+
+UnnamedText_7535b: ; 0x7535b
+	TX_FAR UnnamedText_9e747 ; 0x9e747
+	db $0B
+
+UnnamedText_75360: ; 0x75360
+	TX_FAR _UnnamedText_75360
+	db $50
+; 0x75360 + 5 bytes
+
+UnnamedText_75365: ; 0x75365
+	TX_FAR _UnnamedText_75365
+	db $50
+; 0x75365 + 5 bytes
+
+UnnamedText_7536a: ; 0x7536a
+	TX_FAR _UnnamedText_7536a
+	db $50
+; 0x7536a + 5 bytes
+
+SafariZoneEntranceText5: ; 0x7536f
+	TX_FAR UnnamedText_9e814 ; 0x9e814
+	db $8
+	call $35ec
+	ld a, [$cc26]
+	and a
+	jr nz, .asm_7539c ; 0x7537b $1f
+	ld hl, UnnamedText_753bb
+	call PrintText
+	xor a
+	ld [$c109], a
+	ld a, $80
+	ld c, $3
+	call $52a3
+	ld hl, $d790
+	res 6, [hl]
+	res 7, [hl]
+	ld a, $0
+	ld [$cf0d], a
+	jr .asm_753b3 ; 0x7539a $17
+.asm_7539c
+	ld hl, UnnamedText_753c0
+	call PrintText
+	ld a, $4
+	ld [$c109], a
+	ld a, $40
+	ld c, $1
+	call $52a3
+	ld a, $5
+	ld [$cf0d], a
+.asm_753b3
+	ld a, $6
+	ld [$d61f], a
+	jp TextScriptEnd
+; 0x753bb
+
+UnnamedText_753bb: ; 0x753bb
+	TX_FAR _UnnamedText_753bb
+	db $50
+; 0x753bb + 5 bytes
+
+UnnamedText_753c0: ; 0x753c0
+	TX_FAR _UnnamedText_753c0
+	db $50
+; 0x753c0 + 5 bytes
+
+SafariZoneEntranceText6: ; 0x753c5
+	TX_FAR _UnnamedText_753c5
+	db $50
+; 0x753c5 + 5 bytes
+
+SafariZoneEntranceText2: ; 0x753ca
+	db $08 ; asm
+	ld hl, UnnamedText_753e6
+	call PrintText
+	call $35ec
+	ld a, [$cc26]
+	and a
+	ld hl, UnnamedText_753f0
+	jr nz, .asm_278a6 ; 0x753db
+	ld hl, UnnamedText_753eb
+.asm_278a6 ; 0x753e0
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_753e6: ; 0x753e6
+	TX_FAR _UnnamedText_753e6
+	db $50
+; 0x753e6 + 5 bytes
+
+UnnamedText_753eb: ; 0x753eb
+	TX_FAR _UnnamedText_753eb
+	db $50
+; 0x753eb + 5 bytes
+
+UnnamedText_753f0: ; 0x753f0
+	TX_FAR _UnnamedText_753f0
+	db $50
+; 0x753f0 + 5 bytes
+
+SafariZoneEntranceObject: ; 0x753f5 (size=48)
+	db $a ; border tile
+
+	db $4 ; warps
+	db $5, $3, $4, $ff
+	db $5, $4, $4, $ff
+	db $0, $3, $0, SAFARI_ZONE_CENTER
+	db $0, $4, $1, SAFARI_ZONE_CENTER
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_WHITE_PLAYER, $2 + 4, $6 + 4, $ff, $d2, $1 ; person
+	db SPRITE_WHITE_PLAYER, $4 + 4, $1 + 4, $ff, $d3, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $5, $3
+	EVENT_DISP $4, $5, $4
+	EVENT_DISP $4, $0, $3 ; SAFARI_ZONE_CENTER
+	EVENT_DISP $4, $0, $4 ; SAFARI_ZONE_CENTER
+
+SafariZoneEntranceBlocks: ; 0x75425 12
+	INCBIN "maps/safarizoneentrance.blk"
+
+FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157)
+	db $07 ; tileset
+	db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x)
+	dw FuchsiaGymBlocks, FuchsiaGymTexts, FuchsiaGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaGymObject ; objects
+
+FuchsiaGymScript: ; 0x7543d
+	call FuchsiaGymScript_Unknown75453
+	call $3c3c
+	ld hl, FuchsiaGymTrainerHeaders
+	ld de, $5482
+	ld a, [$d65b]
+	call $3160
+	ld [$d65b], a
+	ret
+; 0x75453
+
+FuchsiaGymScript_Unknown75453: ; 0x75453
+INCBIN "baserom.gbc",$75453,$12
+
+Gym5CityName: ; 0x75465
+	db "FUCHSIA CITY@"
+Gym5LeaderName: ; 0x75472
+	db "KOGA@"
+
+INCBIN "baserom.gbc",$75477,$5E
+
+FuchsiaGymTexts: ; 0x754d5
+	dw FuchsiaGymText1, FuchsiaGymText2, FuchsiaGymText3, FuchsiaGymText4, FuchsiaGymText5, FuchsiaGymText6, FuchsiaGymText7, FuchsiaGymText8, FuchsiaGymText9, FuchsiaGymText10, FuchsiaGymText11
+
+FuchsiaGymTrainerHeaders:
+FuchsiaGymTrainerHeader1: ; 0x754eb
+	db $2 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d792 ; flag's byte
+	dw UnnamedText_755ae ; 0x55ae TextBeforeBattle
+	dw UnnamedText_755b8 ; 0x55b8 TextAfterBattle
+	dw UnnamedText_755b3 ; 0x55b3 TextEndBattle
+	dw UnnamedText_755b3 ; 0x55b3 TextEndBattle
+; 0x754f7
+
+TrainerHeader_754f7: ; 0x754f7
+	db $3 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d792 ; flag's byte
+	dw UnnamedText_755c7 ; 0x55c7 TextBeforeBattle
+	dw UnnamedText_755d1 ; 0x55d1 TextAfterBattle
+	dw UnnamedText_755cc ; 0x55cc TextEndBattle
+	dw UnnamedText_755cc ; 0x55cc TextEndBattle
+; 0x75503
+
+TrainerHeader_75503: ; 0x75503
+	db $4 ; flag's bit
+	db ($4 << 4) ; trainer's view range
+	dw $d792 ; flag's byte
+	dw UnnamedText_755e0 ; 0x55e0 TextBeforeBattle
+	dw UnnamedText_755ea ; 0x55ea TextAfterBattle
+	dw UnnamedText_755e5 ; 0x55e5 TextEndBattle
+	dw UnnamedText_755e5 ; 0x55e5 TextEndBattle
+; 0x7550f
+
+TrainerHeader_7550f: ; 0x7550f
+	db $5 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d792 ; flag's byte
+	dw UnnamedText_755f9 ; 0x55f9 TextBeforeBattle
+	dw UnnamedText_75603 ; 0x5603 TextAfterBattle
+	dw UnnamedText_755fe ; 0x55fe TextEndBattle
+	dw UnnamedText_755fe ; 0x55fe TextEndBattle
+; 0x7551b
+
+TrainerHeader_7551b: ; 0x7551b
+	db $6 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d792 ; flag's byte
+	dw UnnamedText_75612 ; 0x5612 TextBeforeBattle
+	dw UnnamedText_7561c ; 0x561c TextAfterBattle
+	dw UnnamedText_75617 ; 0x5617 TextEndBattle
+	dw UnnamedText_75617 ; 0x5617 TextEndBattle
+; 0x75527
+
+TrainerHeader_75527: ; 0x75527
+	db $7 ; flag's bit
+	db ($2 << 4) ; trainer's view range
+	dw $d792 ; flag's byte
+	dw UnnamedText_7562b ; 0x562b TextBeforeBattle
+	dw UnnamedText_75635 ; 0x5635 TextAfterBattle
+	dw UnnamedText_75630 ; 0x5630 TextEndBattle
+	dw UnnamedText_75630 ; 0x5630 TextEndBattle
+; 0x75533
+
+db $ff
+
+FuchsiaGymText1: ; 0x75534
+	db $08 ; asm
+	ld a, [$d792]
+	bit 1, a
+	jr z, .asm_181b6 ; 0x7553a
+	bit 0, a
+	jr nz, .asm_adc3b ; 0x7553e
+	call z, $5497
+	call $30b6
+	jr .asm_e84c6 ; 0x75546
+.asm_adc3b ; 0x75548
+	ld hl, UnnamedText_7558b
+	call PrintText
+	jr .asm_e84c6 ; 0x7554e
+.asm_181b6 ; 0x75550
+	ld hl, UnnamedText_75581
+	call PrintText
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, UnnamedText_75586
+	ld de, $5586 ; probably UnnamedText_75586
+	call $3354
+	ldh a, [$8c]
+	ld [$cf13], a
+	call $336a
+	call $32d7
+	ld a, $5
+	ld [$d05c], a
+	xor a
+	ldh [$b4], a
+	ld a, $3
+	ld [$d65b], a
+.asm_e84c6 ; 0x7557e
+	jp TextScriptEnd
+
+UnnamedText_75581: ; 0x75581
+	TX_FAR _UnnamedText_75581
+	db $50
+; 0x75581 + 5 bytes
+
+UnnamedText_75586: ; 0x75586
+	TX_FAR _UnnamedText_75586
+	db $50
+; 0x75586 + 5 bytes
+
+UnnamedText_7558b: ; 0x7558b
+	TX_FAR _UnnamedText_7558b
+	db $50
+; 0x7558b + 5 bytes
+
+FuchsiaGymText9: ; 0x75590
+	TX_FAR _UnnamedText_75590
+	db $50
+; 0x75590 + 5 bytes
+
+FuchsiaGymText10: ; 0x75595
+	TX_FAR UnnamedText_a00eb ; 0xa00eb
+	db $11
+
+UnnamedText_7559a: ; 0x7559a
+	TX_FAR _UnnamedText_7559a
+	db $50
+; 0x7559a + 5 bytes
+
+FuchsiaGymText11: ; 0x7559f
+	TX_FAR _UnnamedText_7559f
+	db $50
+; 0x7559f + 5 bytes
+
+FuchsiaGymText2: ; 0x755a4
+	db $08 ; asm
+	ld hl, FuchsiaGymTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_755ae: ; 0x755ae
+	TX_FAR _UnnamedText_755ae
+	db $50
+; 0x755ae + 5 bytes
+
+UnnamedText_755b3: ; 0x755b3
+	TX_FAR _UnnamedText_755b3
+	db $50
+; 0x755b3 + 5 bytes
+
+UnnamedText_755b8: ; 0x755b8
+	TX_FAR _UnnamedText_755b8
+	db $50
+; 0x755b8 + 5 bytes
+
+FuchsiaGymText3: ; 0x755bd
+	db $08 ; asm
+	ld hl, TrainerHeader_754f7
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_755c7: ; 0x755c7
+	TX_FAR _UnnamedText_755c7
+	db $50
+; 0x755c7 + 5 bytes
+
+UnnamedText_755cc: ; 0x755cc
+	TX_FAR _UnnamedText_755cc
+	db $50
+; 0x755cc + 5 bytes
+
+UnnamedText_755d1: ; 0x755d1
+	TX_FAR _UnnamedText_755d1
+	db $50
+; 0x755d1 + 5 bytes
+
+FuchsiaGymText4: ; 0x755d6
+	db $08 ; asm
+	ld hl, TrainerHeader_75503
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_755e0: ; 0x755e0
+	TX_FAR _UnnamedText_755e0
+	db $50
+; 0x755e0 + 5 bytes
+
+UnnamedText_755e5: ; 0x755e5
+	TX_FAR _UnnamedText_755e5
+	db $50
+; 0x755e5 + 5 bytes
+
+UnnamedText_755ea: ; 0x755ea
+	TX_FAR _UnnamedText_755ea
+	db $50
+; 0x755ea + 5 bytes
+
+FuchsiaGymText5: ; 0x755ef
+	db $08 ; asm
+	ld hl, TrainerHeader_7550f
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_755f9: ; 0x755f9
+	TX_FAR _UnnamedText_755f9
+	db $50
+; 0x755f9 + 5 bytes
+
+UnnamedText_755fe: ; 0x755fe
+	TX_FAR _UnnamedText_755fe
+	db $50
+; 0x755fe + 5 bytes
+
+UnnamedText_75603: ; 0x75603
+	TX_FAR _UnnamedText_75603
+	db $50
+; 0x75603 + 5 bytes
+
+FuchsiaGymText6: ; 0x75608
+	db $08 ; asm
+	ld hl, TrainerHeader_7551b
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_75612: ; 0x75612
+	TX_FAR _UnnamedText_75612
+	db $50
+; 0x75612 + 5 bytes
+
+UnnamedText_75617: ; 0x75617
+	TX_FAR _UnnamedText_75617
+	db $50
+; 0x75617 + 5 bytes
+
+UnnamedText_7561c: ; 0x7561c
+	TX_FAR _UnnamedText_7561c
+	db $50
+; 0x7561c + 5 bytes
+
+FuchsiaGymText7: ; 0x75621
+	db $08 ; asm
+	ld hl, TrainerHeader_75527
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_7562b: ; 0x7562b
+	TX_FAR _UnnamedText_7562b
+	db $50
+; 0x7562b + 5 bytes
+
+UnnamedText_75630: ; 0x75630
+	TX_FAR _UnnamedText_75630
+	db $50
+; 0x75630 + 5 bytes
+
+UnnamedText_75635: ; 0x75635
+	TX_FAR _UnnamedText_75635
+	db $50
+; 0x75635 + 5 bytes
+
+FuchsiaGymText8: ; 0x7563a
+	db $08 ; asm
+	ld a, [$d792]
+	bit 1, a
+	ld hl, UnnamedText_75653
+	jr nz, .asm_50671 ; 0x75643
+	ld hl, UnnamedText_7564e
+.asm_50671 ; 0x75648
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_7564e: ; 0x7564e
+	TX_FAR _UnnamedText_7564e
+	db $50
+; 0x7564e + 5 bytes
+
+UnnamedText_75653: ; 0x75653
+	TX_FAR _UnnamedText_75653
+	db $50
+; 0x75653 + 5 bytes
+
+FuchsiaGymObject: ; 0x75658 (size=82)
+	db $3 ; border tile
+
+	db $2 ; warps
+	db $11, $4, $5, $ff
+	db $11, $5, $5, $ff
+
+	db $0 ; signs
+
+	db $8 ; people
+	db SPRITE_BLACKBELT, $a + 4, $4 + 4, $ff, $d0, $41, KOGA + $C8, $1 ; trainer
+	db SPRITE_ROCKER, $d + 4, $8 + 4, $ff, $d0, $42, JUGGLER + $C8, $7 ; trainer
+	db SPRITE_ROCKER, $8 + 4, $7 + 4, $ff, $d3, $43, JUGGLER + $C8, $3 ; trainer
+	db SPRITE_ROCKER, $c + 4, $1 + 4, $ff, $d0, $44, JUGGLER + $C8, $8 ; trainer
+	db SPRITE_ROCKER, $5 + 4, $3 + 4, $ff, $d1, $45, TAMER + $C8, $1 ; trainer
+	db SPRITE_ROCKER, $2 + 4, $8 + 4, $ff, $d0, $46, TAMER + $C8, $2 ; trainer
+	db SPRITE_ROCKER, $7 + 4, $2 + 4, $ff, $d2, $47, JUGGLER + $C8, $4 ; trainer
+	db SPRITE_GYM_HELPER, $f + 4, $7 + 4, $ff, $d0, $8 ; person
+
+	; warp-to
+	EVENT_DISP $5, $11, $4
+	EVENT_DISP $5, $11, $5
+
+FuchsiaGymBlocks: ; 0x756aa 45
+	INCBIN "maps/fuchsiagym.blk"
+
+FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158)
+	db $14 ; tileset
+	db FUCHSIAMEETINGROOM_HEIGHT, FUCHSIAMEETINGROOM_WIDTH ; dimensions (y, x)
+	dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTexts, FuchsiaMeetingRoomScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw FuchsiaMeetingRoomObject ; objects
+
+FuchsiaMeetingRoomScript: ; 0x756e3
+	call $3c3c
+	ret
+; 0x756e7
+
+FuchsiaMeetingRoomTexts: ; 0x756e7
+	dw FuchsiaMeetingRoomText1, FuchsiaMeetingRoomText2, FuchsiaMeetingRoomText3
+
+FuchsiaMeetingRoomText1: ; 0x756ed
+	TX_FAR _FuchsiaMeetingRoomText1
+	db $50
+
+FuchsiaMeetingRoomText2: ; 0x756f2
+	TX_FAR _FuchsiaMeetingRoomText2
+	db $50
+
+FuchsiaMeetingRoomText3: ; 0x756f7
+	TX_FAR _FuchsiaMeetingRoomText3
+	db $50
+
+FuchsiaMeetingRoomObject: ; 0x756fc (size=38)
+	db $17 ; border tile
+
+	db $2 ; warps
+	db $7, $4, $6, $ff
+	db $7, $5, $6, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_WHITE_PLAYER, $1 + 4, $4 + 4, $ff, $d0, $1 ; person
+	db SPRITE_WHITE_PLAYER, $2 + 4, $0 + 4, $ff, $d1, $2 ; person
+	db SPRITE_WHITE_PLAYER, $1 + 4, $a + 4, $ff, $d0, $3 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $4
+	EVENT_DISP $7, $7, $5
+
+FuchsiaMeetingRoomBlocks: ; 0x75722 28
+	INCBIN "maps/fuchsiameetingroom.blk"
+
+CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166)
+	db $16 ; tileset
+	db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x)
+	dw CinnabarGymBlocks, CinnabarGymTexts, CinnabarGymScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CinnabarGymObject ; objects
+
+CinnabarGymScript: ; 0x7574a
+	call CinnabarGymScript_Unknown75759
+	call $3c3c
+	ld hl, CinnabarGymScripts
+	ld a, [$d65e]
+	jp $3d97
+; 0x75759
+
+CinnabarGymScript_Unknown75759: ; 0x75759
+INCBIN "baserom.gbc",$75759,$7577B - $75759
+
+Gym7CityName: ; 0x7577B
+	db "CINNABAR ISLAND@"
+Gym7LeaderName: ; 0x7578b
+	db "BLAINE@"
+
+INCBIN "baserom.gbc",$75792,$757a6 - $75792
+
+CinnabarGymScripts: ; 0x757a6
+	dw CinnabarGymScript0, CinnabarGymScript1, CinnabarGymScript2, CinnabarGymScript3
+
+CinnabarGymScript0: ; 0x757ae
+	ld a, [$da38]
+	and a
+	ret z
+	ld [$ff00+$8c], a
+	cp $4
+	jr nz, .asm_757c3 ; 0x757b7 $a
+	ld a, $4
+	ld [$d528], a
+	ld de, $57d7
+	jr .asm_757cb ; 0x757c1 $8
+.asm_757c3
+	ld de, $57da
+	ld a, $1
+	ld [$d528], a
+.asm_757cb
+	call $363a
+	ld a, $1
+	ld [$d65e], a
+	ld [$da39], a
+	ret
+; 0x757d7
+
+INCBIN "baserom.gbc",$757d7,$757dc - $757d7
+
+CinnabarGymScript1: ; 0x757dc
+	ld a, [$d730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [$cd6b], a
+	ld a, [$da38]
+	ld [$cc55], a
+	ld [$ff00+$8c], a
+	jp $2920
+; 0x757f1
+
+INCBIN "baserom.gbc",$757f1,$757f6 - $757f1
+
+CinnabarGymScript2: ; 0x757f6
+	ld a, [$d057]
+	cp $ff
+	jp z, $5792
+	ld a, [$cc55]
+	ld [$ff00+$db], a
+	ld c, a
+	ld b, $2
+	ld hl, $d79a
+	call $57f1
+	ld a, c
+	and a
+	jr nz, .asm_7581b ; 0x7580e $b
+	call $3748
+	ld a, $ad
+	call $23b1
+	call $3748
+.asm_7581b
+	ld a, [$cc55]
+	ld [$ff00+$db], a
+	ld c, a
+	ld b, $1
+	ld hl, $d79a
+	call $57f1
+	ld a, [$cc55]
+	sub $2
+	ld c, a
+	ld b, $1
+	ld hl, $d79c
+	call $57f1
+	call $3ead
+	xor a
+	ld [$cd6b], a
+	ld [$da38], a
+	ld a, $0
+	ld [$d65e], a
+	ld [$da39], a
+	ret
+; 0x7584a
+
+CinnabarGymScript3: ; 0x7584a
+	ld a, [$d057]
+	cp $ff
+	jp z, $5792
+	ld a, $f0
+	ld [$cd6b], a
+	ld a, $a
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d79a
+	set 1, [hl]
+	ld bc, $ee01
+	call GiveItem
+	jr nc, .asm_75879 ; 0x75869 $e
+	ld a, $b
+	ld [$ff00+$8c], a
+	call $2920
+	ld hl, $d79a
+	set 0, [hl]
+	jr .asm_75880 ; 0x75877 $7
+.asm_75879
+	ld a, $c
+	ld [$ff00+$8c], a
+	call $2920
+.asm_75880
+	ld hl, $d356
+	set 6, [hl]
+	ld hl, $d72a
+	set 6, [hl]
+	ld a, [$d79a]
+	or $fc
+	ld [$d79a], a
+	ld hl, $d79b
+	set 0, [hl]
+	ld hl, $d126
+	set 5, [hl]
+	jp $5792
+; 0x7589f
+
+CinnabarGymTexts: ; 0x7589f
+	dw CinnabarGymText1, CinnabarGymText2, CinnabarGymText3, CinnabarGymText4, CinnabarGymText5, CinnabarGymText6, CinnabarGymText7, CinnabarGymText8, CinnabarGymText9
+;CinnabarGymText 10: ; 0x75925
+;CinnabarGymText 11: ; 0x7592a
+;CinnabarGymText 12: ; 0x75934
+
+INCBIN "baserom.gbc",$758b1,$2e
+
+CinnabarGymText1: ; 0x758df
+	db $8
+	ld a, [$d79a]
+	bit 1, a
+	jr z, .asm_d9332 ; 0x758e5 $16
+	bit 0, a
+	jr nz, .asm_3012f ; 0x758e9 $9
+	call z, $5857
+	call $30b6
+	jp TextScriptEnd
+.asm_3012f ; 0x758f4
+	ld hl, UnnamedText_75920
+	call PrintText
+	jp TextScriptEnd
+.asm_d9332 ; 0x758fd
+	ld hl, UnnamedText_75914
+	call PrintText
+	ld hl, UnnamedText_75919
+	ld de, UnnamedText_75919 ; $5919 XXX
+	call $3354
+	ld a, $7
+	ld [$d05c], a
+	jp $58b7
+; 0x75914
+
+UnnamedText_75914: ; 0x75914
+	TX_FAR _UnnamedText_75914
+	db $50
+; 0x75914 + 5 bytes
+
+UnnamedText_75919: ; 0x75919
+	TX_FAR UnnamedText_a08c7
+	db $11
+	db $d
+	db $50
+
+UnnamedText_75920: ; 0x75920
+	TX_FAR _UnnamedText_75920
+	db $50
+; 0x75920 + 5 bytes
+
+UnnamedText_75925: ; 0x75925
+	TX_FAR _UnnamedText_75925
+	db $50
+; 0x75925 + 5 bytes
+
+UnnamedText_7592a: ; 0x7592a
+	TX_FAR UnnamedText_a09a8 ; 0xa09a8
+	db $0B
+	TX_FAR _UnnamedText_7592f
+	db $50
+; 0x75934
+
+UnnamedText_75934: ; 0x75934
+	TX_FAR _UnnamedText_75934
+	db $50
+; 0x75934 + 5 bytes
+
+CinnabarGymText2: ; 0x75939
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79a]
+	bit 2, a
+	jr nz, .asm_46bb4 ; 0x75942
+	ld hl, UnnamedText_7595f
+	call PrintText
+	ld hl, UnnamedText_75964
+	ld de, UnnamedText_75964 ; $5964 XXX
+	call $3354
+	jp $58b7
+.asm_46bb4 ; 0x75956
+	ld hl, UnnamedText_75969
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_7595f: ; 0x7595f
+	TX_FAR _UnnamedText_7595f
+	db $50
+; 0x7595f + 5 bytes
+
+UnnamedText_75964: ; 0x75964
+	TX_FAR _UnnamedText_75964
+	db $50
+; 0x75964 + 5 bytes
+
+UnnamedText_75969: ; 0x75969
+	TX_FAR _UnnamedText_75969
+	db $50
+; 0x75969 + 5 bytes
+
+CinnabarGymText3: ; 0x7596e
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79a]
+	bit 3, a
+	jr nz, .asm_4b406 ; 0x75977
+	ld hl, UnnamedText_75994
+	call PrintText
+	ld hl, UnnamedText_75999
+	ld de, UnnamedText_75999 ; $5999 XXX
+	call $3354
+	jp $58b7
+.asm_4b406 ; 0x7598b
+	ld hl, UnnamedText_7599e
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_75994: ; 0x75994
+	TX_FAR _UnnamedText_75994
+	db $50
+; 0x75994 + 5 bytes
+
+UnnamedText_75999: ; 0x75999
+	TX_FAR _UnnamedText_75999
+	db $50
+; 0x75999 + 5 bytes
+
+UnnamedText_7599e: ; 0x7599e
+	TX_FAR _UnnamedText_7599e
+	db $50
+; 0x7599e + 5 bytes
+
+CinnabarGymText4: ; 0x759a3
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79a]
+	bit 4, a
+	jr nz, .asm_c0673 ; 0x759ac
+	ld hl, UnnamedText_759c9
+	call PrintText
+	ld hl, UnnamedText_759ce
+	ld de, UnnamedText_759ce ; $59ce XXX
+	call $3354
+	jp $58b7
+.asm_c0673 ; 0x759c0
+	ld hl, UnnamedText_759d3
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_759c9: ; 0x759c9
+	TX_FAR _UnnamedText_759c9
+	db $50
+; 0x759c9 + 5 bytes
+
+UnnamedText_759ce: ; 0x759ce
+	TX_FAR _UnnamedText_759ce
+	db $50
+; 0x759ce + 5 bytes
+
+UnnamedText_759d3: ; 0x759d3
+	TX_FAR _UnnamedText_759d3
+	db $50
+; 0x759d3 + 5 bytes
+
+CinnabarGymText5: ; 0x759d8
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79a]
+	bit 5, a
+	jr nz, .asm_5cfd7 ; 0x759e1
+	ld hl, UnnamedText_759fe
+	call PrintText
+	ld hl, UnnamedText_75a03
+	ld de, UnnamedText_75a03 ; $5a03 XXX
+	call $3354
+	jp $58b7
+.asm_5cfd7 ; 0x759f5
+	ld hl, UnnamedText_75a08
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_759fe: ; 0x759fe
+	TX_FAR _UnnamedText_759fe
+	db $50
+; 0x759fe + 5 bytes
+
+UnnamedText_75a03: ; 0x75a03
+	TX_FAR _UnnamedText_75a03
+	db $50
+; 0x75a03 + 5 bytes
+
+UnnamedText_75a08: ; 0x75a08
+	TX_FAR _UnnamedText_75a08
+	db $50
+; 0x75a08 + 5 bytes
+
+CinnabarGymText6: ; 0x75a0d
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79a]
+	bit 6, a
+	jr nz, .asm_776b4 ; 0x75a16
+	ld hl, UnnamedText_75a33
+	call PrintText
+	ld hl, UnnamedText_75a38
+	ld de, UnnamedText_75a38
+	call $3354
+	jp $58b7
+.asm_776b4 ; 0x75a2a
+	ld hl, UnnamedText_75a3d
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_75a33: ; 0x75a33
+	TX_FAR _UnnamedText_75a33
+	db $50
+; 0x75a33 + 5 bytes
+
+UnnamedText_75a38: ; 0x75a38
+	TX_FAR _UnnamedText_75a38
+	db $50
+; 0x75a38 + 5 bytes
+
+UnnamedText_75a3d: ; 0x75a3d
+	TX_FAR _UnnamedText_75a3d
+	db $50
+; 0x75a3d + 5 bytes
+
+CinnabarGymText7: ; 0x75a42
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79a]
+	bit 7, a
+	jr nz, .asm_2f755 ; 0x75a4b
+	ld hl, UnnamedText_75a68
+	call PrintText
+	ld hl, $5a6d
+	ld de, $5a6d
+	call $3354
+	jp $58b7
+.asm_2f755 ; 0x75a5f
+	ld hl, $5a72
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_75a68: ; 0x75a68
+	TX_FAR _UnnamedText_75a68
+	db $50
+; 0x75a68 + 5 bytes
+
+UnnamedText_75a6d: ; 0x75a6d
+	TX_FAR _UnnamedText_75a6d
+	db $50
+; 0x75a6d + 5 bytes
+
+UnnamedText_75a72: ; 0x75a72
+	TX_FAR _UnnamedText_75a72
+	db $50
+; 0x75a72 + 5 bytes
+
+CinnabarGymText8: ; 0x75a77
+	db $08 ; asm
+	call $57a0
+	ld a, [$d79b]
+	bit 0, a
+	jr nz, .asm_d87be ; 0x75a80
+	ld hl, UnnamedText_75a9d
+	call PrintText
+	ld hl, UnnamedText_75aa2
+	ld de, UnnamedText_75aa2 ; $5aa2 XXX
+	call $3354
+	jp $58b7
+.asm_d87be ; 0x75a94
+	ld hl, UnnamedText_75aa7
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_75a9d: ; 0x75a9d
+	TX_FAR _UnnamedText_75a9d
+	db $50
+; 0x75a9d + 5 bytes
+
+UnnamedText_75aa2: ; 0x75aa2
+	TX_FAR _UnnamedText_75aa2
+	db $50
+; 0x75aa2 + 5 bytes
+
+UnnamedText_75aa7: ; 0x75aa7
+	TX_FAR _UnnamedText_75aa7
+	db $50
+; 0x75aa7 + 5 bytes
+
+CinnabarGymText9: ; 0x75aac
+	db $08 ; asm
+	ld a, [$d79a]
+	bit 1, a
+	jr nz, .asm_627d9 ; 0x75ab2
+	ld hl, UnnamedText_75ac2
+	jr .asm_0b11d ; 0x75ab7
+.asm_627d9 ; 0x75ab9
+	ld hl, UnnamedText_75ac7
+.asm_0b11d ; 0x75abc
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_75ac2: ; 0x75ac2
+	TX_FAR _UnnamedText_75ac2
+	db $50
+; 0x75ac2 + 5 bytes
+
+UnnamedText_75ac7: ; 0x75ac7
+	TX_FAR _UnnamedText_75ac7
+	db $50
+; 0x75ac7 + 5 bytes
+
+CinnabarGymObject: ; 0x75acc (size=90)
+	db $2e ; border tile
+
+	db $2 ; warps
+	db $11, $10, $1, $ff
+	db $11, $11, $1, $ff
+
+	db $0 ; signs
+
+	db $9 ; people
+	db SPRITE_FAT_BALD_GUY, $3 + 4, $3 + 4, $ff, $d0, $41, BLAINE + $C8, $1 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $11 + 4, $ff, $d0, $42, SUPER_NERD + $C8, $9 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $11 + 4, $ff, $d0, $43, BURGLAR + $C8, $4 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $4 + 4, $b + 4, $ff, $d0, $44, SUPER_NERD + $C8, $a ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $b + 4, $ff, $d0, $45, BURGLAR + $C8, $5 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $b + 4, $ff, $d0, $46, SUPER_NERD + $C8, $b ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $e + 4, $3 + 4, $ff, $d0, $47, BURGLAR + $C8, $6 ; trainer
+	db SPRITE_BLACK_HAIR_BOY_2, $8 + 4, $3 + 4, $ff, $d0, $48, SUPER_NERD + $C8, $c ; trainer
+	db SPRITE_GYM_HELPER, $d + 4, $10 + 4, $ff, $d0, $9 ; person
+
+	; warp-to
+	EVENT_DISP $a, $11, $10
+	EVENT_DISP $a, $11, $11
+
+CinnabarGymBlocks: ; 0x75b26 90
+	INCBIN "maps/cinnabargym.blk"
+
+Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167)
+	db $14 ; tileset
+	db CINNABAR_LAB_1_HEIGHT, CINNABAR_LAB_1_WIDTH ; dimensions (y, x)
+	dw Lab1Blocks, Lab1Texts, Lab1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Lab1Object ; objects
+
+Lab1Script: ; 0x75b8c
+	call $3c3c
+	ret
+; 0x75b90
+
+Lab1Texts: ; 0x75b90
+	dw Lab1Text1, Lab1Text2, Lab1Text3, Lab1Text4, Lab1Text5
+
+Lab1Text1: ; 0x75b9a
+	TX_FAR _Lab1Text1
+	db $50
+
+Lab1Text2: ; 0x75b9f
+	TX_FAR _Lab1Text2
+	db $50
+
+Lab1Text3: ; 0x75ba4
+	TX_FAR _Lab1Text3
+	db $50
+
+Lab1Text4: ; 0x75ba9
+	TX_FAR _Lab1Text4
+	db $50
+
+Lab1Text5: ; 0x75bae
+	TX_FAR _Lab1Text5
+	db $50
+
+Lab1Object: ; 0x75bb3 (size=62)
+	db $17 ; border tile
+
+	db $5 ; warps
+	db $7, $2, $2, $ff
+	db $7, $3, $2, $ff
+	db $4, $8, $0, CINNABAR_LAB_2
+	db $4, $c, $0, CINNABAR_LAB_3
+	db $4, $10, $0, CINNABAR_LAB_4
+
+	db $4 ; signs
+	db $2, $3, $2 ; Lab1Text2
+	db $4, $9, $3 ; Lab1Text3
+	db $4, $d, $4 ; Lab1Text4
+	db $4, $11, $5 ; Lab1Text5
+
+	db $1 ; people
+	db SPRITE_FISHER, $3 + 4, $1 + 4, $ff, $ff, $1 ; person
+
+	; warp-to
+	EVENT_DISP $9, $7, $2
+	EVENT_DISP $9, $7, $3
+	EVENT_DISP $9, $4, $8 ; CINNABAR_LAB_2
+	EVENT_DISP $9, $4, $c ; CINNABAR_LAB_3
+	EVENT_DISP $9, $4, $10 ; CINNABAR_LAB_4
+
+Lab1Blocks: ; 0x75bf1 36
+	INCBIN "maps/lab1.blk"
+
+Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168)
+	db $14 ; tileset
+	db CINNABAR_LAB_2_HEIGHT, CINNABAR_LAB_2_WIDTH ; dimensions (y, x)
+	dw Lab2Blocks, Lab2Texts, Lab2Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Lab2Object ; objects
+
+Lab2Script: ; 0x75c21
+	jp $3c3c
+; 0x75c24
+
+Lab2Texts: ; 0x75c24
+	dw Lab2Text1, Lab2Text2, Lab2Text3
+
+Lab2Text1: ; 0x75c2a
+	TX_FAR _Lab2Text1
+	db $50
+
+Lab2Text2: ; 0x75c2f
+	db $8
+	ld a, $7
+	ld [W_WHICHTRADE], a
+	jr asm_78552 ; 0x75c35 $6
+
+Lab2Text3: ; 0x75c37
+	db $8
+	ld a, $8
+	ld [W_WHICHTRADE], a
+asm_78552: ; 0x75c3d
+	ld a, $54
+	call Predef
+	jp TextScriptEnd
+
+Lab2Object: ; 0x75c45 (size=38)
+	db $17 ; border tile
+
+	db $2 ; warps
+	db $7, $2, $2, CINNABAR_LAB_1
+	db $7, $3, $2, CINNABAR_LAB_1
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_BLACK_HAIR_BOY_2, $2 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_OLD_PERSON, $4 + 4, $1 + 4, $ff, $ff, $2 ; person
+	db SPRITE_FOULARD_WOMAN, $5 + 4, $5 + 4, $ff, $d1, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
+	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
+
+Lab2Blocks: ; 0x75c6b 16
+	INCBIN "maps/lab2.blk"
+
+Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169)
+	db $14 ; tileset
+	db CINNABAR_LAB_3_HEIGHT, CINNABAR_LAB_3_WIDTH ; dimensions (y, x)
+	dw Lab3Blocks, Lab3Texts, Lab3Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Lab3Object ; objects
+
+Lab3Script: ; 0x75c87
+	jp $3c3c
+; 0x75c8a
+
+Lab3Texts: ; 0x75c8a
+	dw Lab3Text1, Lab3Text2, Lab3Text3, Lab3Text4, Lab3Text5
+
+Lab3Text1: ; 0x75c94
+	db $08 ; asm
+	ld a, [$d7a1]
+	bit 7, a
+	jr nz, .asm_e551a ; 0x75c9a
+	ld hl, UnnamedText_75cc8
+	call PrintText
+	ld bc, (TM_35 << 8) | 1
+	call GiveItem
+	jr nc, .asm_6c187 ; 0x75ca8
+	ld hl, UnnamedText_75ccd
+	call PrintText
+	ld hl, $d7a1
+	set 7, [hl]
+	jr .asm_eb896 ; 0x75cb5
+.asm_6c187 ; 0x75cb7
+	ld hl, UnnamedText_75cd8
+	call PrintText
+	jr .asm_eb896 ; 0x75cbd
+.asm_e551a ; 0x75cbf
+	ld hl, UnnamedText_75cd3
+	call PrintText
+.asm_eb896 ; 0x75cc5
+	jp TextScriptEnd
+
+UnnamedText_75cc8: ; 0x75cc8
+	TX_FAR _UnnamedText_75cc8
+	db $50
+; 0x75cc8 + 5 bytes
+
+UnnamedText_75ccd: ; 0x75ccd
+	TX_FAR UnnamedText_a0f48 ; 0xa0f48
+	db $0B, $50
+; 0x75cd3
+
+UnnamedText_75cd3: ; 0x75cd3
+	TX_FAR _UnnamedText_75cd3
+	db $50
+; 0x75cd3 + 5 bytes
+
+UnnamedText_75cd8: ; 0x75cd8
+	TX_FAR _UnnamedText_75cd8
+	db $50
+; 0x75cd8 + 5 bytes
+
+Lab3Text2: ; 0x75cdd
+	TX_FAR _Lab3Text2
+	db $50
+
+Lab3Text4:
+Lab3Text3: ; 0x75ce2
+	TX_FAR _Lab3Text3
+	db $50
+
+Lab3Text5: ; 0x75ce7
+	TX_FAR _Lab3Text5
+	db $50
+
+Lab3Object: ; 0x75cec (size=41)
+	db $17 ; border tile
+
+	db $2 ; warps
+	db $7, $2, $3, CINNABAR_LAB_1
+	db $7, $3, $3, CINNABAR_LAB_1
+
+	db $3 ; signs
+	db $4, $0, $3 ; Lab3Text3
+	db $4, $1, $4 ; Lab3Text4
+	db $1, $2, $5 ; Lab3Text5
+
+	db $2 ; people
+	db SPRITE_OAK_AIDE, $2 + 4, $7 + 4, $ff, $d0, $1 ; person
+	db SPRITE_OAK_AIDE, $3 + 4, $2 + 4, $fe, $2, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
+	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
+
+Lab3Blocks: ; 0x75d15 16
+	INCBIN "maps/lab3.blk"
+
+Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170)
+	db $14 ; tileset
+	db CINNABAR_LAB_4_HEIGHT, CINNABAR_LAB_4_WIDTH ; dimensions (y, x)
+	dw Lab4Blocks, Lab4Texts, Lab4Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw Lab4Object ; objects
+
+Lab4Script: ; 0x75d31
+	jp $3c3c
+; 0x75d34
+
+Lab4Texts: ; 0x75d34
+	dw Lab4Text1, Lab4Text2
+
+INCBIN "baserom.gbc",$75d34 + 4,$38 -4
+
+Lab4Text1: ; 0x75d6c
+	db $8
+	ld a, [$d7a3]
+	bit 0, a
+	jr nz, .asm_75d96 ; 0x75d72 $22
+	ld hl, UnnamedText_75dc6
+	call PrintText
+	call $5d38
+	ld a, [$cd37]
+	and a
+	jr z, .asm_75d8d ; 0x75d81 $a
+	ld b, $18
+	ld hl, $5006
+	call Bankswitch
+	jr .asm_75d93 ; 0x75d8b $6
+.asm_75d8d
+	ld hl, UnnamedText_75dcb
+	call PrintText
+.asm_75d93
+	jp TextScriptEnd
+.asm_75d96
+	bit 1, a
+	jr z, .asm_75da2 ; 0x75d98 $8
+	ld hl, UnnamedText_75dd0
+	call PrintText
+	jr .asm_75d93 ; 0x75da0 $f1
+.asm_75da2
+	call $5de8
+	ld hl, UnnamedText_75dd5
+	call PrintText
+	ld hl, $d7a3
+	set 2, [hl]
+	ld a, [$d710]
+	ld b, a
+	ld c, $1e
+	call GivePokemon
+	jr nc, .asm_75d93 ; 0x75db9 $d8
+	ld hl, $d7a3
+	res 0, [hl]
+	res 1, [hl]
+	res 2, [hl]
+	jr .asm_75d93 ; 0x75dc4 $cd
+; 0x75dc6
+
+UnnamedText_75dc6: ; 0x75dc6
+	TX_FAR _UnnamedText_75dc6
+	db $50
+; 0x75dc6 + 5 bytes
+
+UnnamedText_75dcb: ; 0x75dcb
+	TX_FAR _UnnamedText_75dcb
+	db $50
+; 0x75dcb + 5 bytes
+
+UnnamedText_75dd0: ; 0x75dd0
+	TX_FAR _UnnamedText_75dd0
+	db $50
+; 0x75dd0 + 5 bytes
+
+UnnamedText_75dd5: ; 0x75dd5
+	TX_FAR _UnnamedText_75dd5
+	db $50
+; 0x75dd5 + 5 bytes
+
+Lab4Text2: ; 0x75dda
+	db $08 ; asm
+	ld a, $3
+	ld [W_WHICHTRADE], a
+	ld a, $54
+	call Predef
+	jp TextScriptEnd
+
+; 0x75de8
+; XXX todo
+;db $6, $18, $21, $eb, $50
+;db $c3, $d6, $35
+	ld b, $18
+	ld hl, $50eb
+	jp $35d6
+; 0x75df0
+
+Lab4Object: ; 0x75df0 (size=32)
+	db $17 ; border tile
+
+	db $2 ; warps
+	db $7, $2, $4, CINNABAR_LAB_1
+	db $7, $3, $4, CINNABAR_LAB_1
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_OAK_AIDE, $2 + 4, $5 + 4, $fe, $2, $1 ; person
+	db SPRITE_OAK_AIDE, $6 + 4, $7 + 4, $ff, $d1, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
+	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
+
+Lab4Blocks: ; 0x75e10 16
+	INCBIN "maps/lab4.blk"
+
+CinnabarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171)
+	db $06 ; tileset
+	db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x)
+	dw CinnabarPokecenterBlocks, CinnabarPokecenterTexts, CinnabarPokecenterScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CinnabarPokecenterObject ; objects
+
+CinnabarPokecenterScript: ; 0x75e2c
+	call $22fa
+	jp $3c3c
+; 0x75e32
+
+CinnabarPokecenterTexts: ; 0x75e32
+	dw CinnabarPokecenterText1, CinnabarPokecenterText2, CinnabarPokecenterText3, CinnabarPokecenterText4
+
+CinnabarPokecenterText1: ; 0x75e3a
+	db $ff
+
+CinnabarPokecenterText2: ; 0x75e3b
+	TX_FAR _CinnabarPokecenterText1
+	db $50
+
+CinnabarPokecenterText3: ; 0x75e40
+	TX_FAR _CinnabarPokecenterText3
+	db $50
+
+CinnabarPokecenterText4: ; 0x75e45
+	db $f6
+
+CinnabarPokecenterObject: ; 0x75e46 (size=44)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $3, $ff
+	db $7, $4, $3, $ff
+
+	db $0 ; signs
+
+	db $4 ; people
+	db SPRITE_NURSE, $1 + 4, $3 + 4, $ff, $d0, $1 ; person
+	db SPRITE_LASS, $4 + 4, $9 + 4, $fe, $0, $2 ; person
+	db SPRITE_GENTLEMAN, $6 + 4, $2 + 4, $ff, $ff, $3 ; person
+	db SPRITE_CABLE_CLUB_WOMAN, $2 + 4, $b + 4, $ff, $d0, $4 ; person
+
+	; warp-to
+	EVENT_DISP $7, $7, $3
+	EVENT_DISP $7, $7, $4
+
+CinnabarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172)
+	db $02 ; tileset
+	db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x)
+	dw CinnabarMartBlocks, CinnabarMartTexts, CinnabarMartScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CinnabarMartObject ; objects
+
+CinnabarMartScript: ; 0x75e7e
+	jp $3c3c
+; 0x75e81
+
+CinnabarMartTexts: ; 0x75e81
+	dw CinnabarMartText1, CinnabarMartText2, CinnabarMartText3
+
+CinnabarMartText2: ; 0x75e87
+	TX_FAR _CinnabarMartText2
+	db $50
+
+CinnabarMartText3: ; 0x75e8c
+	TX_FAR _CinnabarMartText3
+	db $50
+
+CinnabarMartObject: ; 0x75e91 (size=38)
+	db $0 ; border tile
+
+	db $2 ; warps
+	db $7, $3, $4, $ff
+	db $7, $4, $4, $ff
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MART_GUY, $5 + 4, $0 + 4, $ff, $d3, $1 ; person
+	db SPRITE_ERIKA, $2 + 4, $6 + 4, $ff, $ff, $2 ; person
+	db SPRITE_OAK_AIDE, $4 + 4, $3 + 4, $ff, $ff, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $7, $4
+
+CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175)
+	db $01 ; tileset
+	db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x)
+	dw CopycatsHouseF1Blocks, CopycatsHouseF1Texts, CopycatsHouseF1Script ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw CopycatsHouseF1Object ; objects
+
+CopycatsHouseF1Script: ; 0x75ec3
+	jp $3c3c
+; 0x75ec6
+
+CopycatsHouseF1Texts: ; 0x75ec6
+	dw CopycatsHouseF1Text1, CopycatsHouseF1Text2, CopycatsHouseF1Text3
+
+CopycatsHouseF1Text1: ; 0x75ecc
+	TX_FAR _CopycatsHouseF1Text1
+	db $50
+
+CopycatsHouseF1Text2: ; 0x75ed1
+	TX_FAR _CopycatsHouseF1Text2
+	db $50
+
+CopycatsHouseF1Text3: ; 0x75ed6
+	TX_FAR _CopycatsHouseF1Text3
+	db $8
+	ld a, $28
+	call $13d0
+	jp TextScriptEnd
+
+CopycatsHouseF1Object: ; 0x75ee3 (size=46)
+	db $a ; border tile
+
+	db $3 ; warps
+	db $7, $2, $0, $ff
+	db $7, $3, $0, $ff
+	db $1, $7, $0, COPYCATS_HOUSE_2F
+
+	db $0 ; signs
+
+	db $3 ; people
+	db SPRITE_MOM_GEISHA, $2 + 4, $2 + 4, $ff, $d0, $1 ; person
+	db SPRITE_FAT_BALD_GUY, $4 + 4, $5 + 4, $ff, $d2, $2 ; person
+	db SPRITE_CLEFAIRY, $4 + 4, $1 + 4, $fe, $1, $3 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $2
+	EVENT_DISP $4, $7, $3
+	EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_2F
+
+Gary_h: ;0x75f11
+	db $7 ;tileset
+	db $4, $4 ;Height, Width
+	dw GaryBlocks, GaryTexts, GaryScript
+	db $0 ;No Connections
+
+	dw GaryObject
+
+GaryScript: ; 0x75f1d
+	call $3c3c
+	ld hl, GaryScripts
+	ld a, [$d64c]
+	jp $3d97
+; 0x75f29
+
+INCBIN "baserom.gbc",$75f29,$75f31 - $75f29
+
+GaryScripts: ; 0x75f31
+	dw GaryScript0, GaryScript1, GaryScript2
+
+INCBIN "baserom.gbc",$75f33 + 4,$14 - 4
+
+GaryScript0: ; 0x75f47
+	ret
+; 0x75f48
+
+GaryScript1: ; 0x75f48
+	ld a, $ff
+	ld [$cd6b], a
+	ld hl, $ccd3
+	ld de, $5f63
+	call $350c
+	dec a
+	ld [$cd38], a
+	call $3486
+	ld a, $2
+	ld [$d64c], a
+	ret
+; 0x75f63
+
+INCBIN "baserom.gbc",$75f63,$75f6a - $75f63
+
+GaryScript2: ; 0x75f6a 5F6A
+	ld a, [$cd38]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [$cd6b], a
+	ld hl, $d355
+	res 7, [hl]
+	ld a, $1
+	ld [$ff00+$8c], a
+	call $2920
+	call Delay3
+	ld hl, $d72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, $60f9
+	ld de, $60fe
+	call $3354
+	ld a, $f3
+	ld [$d059], a
+
+	; select which team to use during the encounter
+	ld a, [W_RIVALSTARTER]
+	cp SQUIRTLE
+	jr nz, .NotSquirtle\@ ; 0x75f9f $4
+	ld a, $1
+	jr .done\@
+.NotSquirtle\@
+	cp BULBASAUR
+	jr nz, .Charmander\@ ; 0x75fa7 $4
+	ld a, $2
+	jr .done\@
+.Charmander\@
+	ld a, $3
+.done\@
+	ld [W_TRAINERNO], a
+
+	xor a
+	ld [$ff00+$b4], a
+	ld a, $3
+	ld [$d64c], a
+	ret
+; 0x75fbb
+
+INCBIN "baserom.gbc",$75fbb,$760d6 - $75fbb
+
+GaryTexts: ; 0x760d6
+	dw GaryText1, GaryText2, GaryText3, GaryText4, GaryText5
+
+GaryText1: ; 0x760e0
+	db $08 ; asm
+	ld a, [$d867]
+	bit 1, a
+	ld hl, UnnamedText_760f4
+	jr z, .asm_17e9f ; 0x760e9
+	ld hl, UnnamedText_76103
+.asm_17e9f ; 0x760ee
+	call PrintText
+	jp TextScriptEnd
+
+UnnamedText_760f4: ; 0x760f4
+	TX_FAR _UnnamedText_760f4
+	db $50
+; 0x760f4 + 5 bytes
+
+UnnamedText_760f9: ; 0x760f9
+	TX_FAR _UnnamedText_760f9
+	db $50
+; 0x760f9 + 5 bytes
+
+UnnamedText_760fe: ; 0x760fe
+	TX_FAR _UnnamedText_760fe
+	db $50
+; 0x760fe + 5 bytes
+
+UnnamedText_76103: ; 0x76103
+	TX_FAR _UnnamedText_76103
+	db $50
+; 0x76103 + 5 bytes
+
+GaryText2: ; 0x76108
+	TX_FAR _GaryText2
+	db $50
+
+GaryText3: ; 0x7610d
+	db $8
+	ld a, [$d717]
+	ld [$d11e], a
+	call GetMonName
+	ld hl, UnnamedText_76120
+	call PrintText
+	jp TextScriptEnd
+; 0x76120
+
+UnnamedText_76120: ; 0x76120
+	TX_FAR _UnnamedText_76120
+	db $50
+; 0x76120 + 5 bytes
+
+GaryText4: ; 0x76125
+	TX_FAR _UnnamedText_76125
+	db $50
+; 0x76125 + 5 bytes
+
+GaryText5: ; 0x7612a
+	TX_FAR _UnnamedText_7612a
+	db $50
+; 0x7612a + 5 bytes
+
+GaryObject: ; 0x7612f (size=48)
+	db $3 ; border tile
+
+	db $4 ; warps
+	db $7, $3, $1, LANCES_ROOM
+	db $7, $4, $2, LANCES_ROOM
+	db $0, $3, $0, HALL_OF_FAME
+	db $0, $4, $0, HALL_OF_FAME
+
+	db $0 ; signs
+
+	db $2 ; people
+	db SPRITE_BLUE, $2 + 4, $4 + 4, $ff, $d0, $1 ; person
+	db SPRITE_OAK, $7 + 4, $3 + 4, $ff, $d1, $2 ; person
+
+	; warp-to
+	EVENT_DISP $4, $7, $3 ; LANCES_ROOM
+	EVENT_DISP $4, $7, $4 ; LANCES_ROOM
+	EVENT_DISP $4, $0, $3 ; HALL_OF_FAME
+	EVENT_DISP $4, $0, $4 ; HALL_OF_FAME
+
+GaryBlocks: ; 0x7615f 16
+	INCBIN "maps/gary.blk"
+
+Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245)
+	db $07 ; tileset
+	db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x)
+	dw LoreleiBlocks, LoreleiTexts, LoreleiScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw LoreleiObject ; objects
+
+LoreleiScript: ; 0x7617b
+	call LoreleiScript_Unknown76191
+	call $3c3c
+	ld hl, LoreleiTrainerHeaders
+	ld de, $61bb
+	ld a, [$d64d]
+	call $3160
+	ld [$d64d], a
+	ret
+; 0x76191
+
+LoreleiScript_Unknown76191: ; 0x76191
+INCBIN "baserom.gbc",$76191,$c0
+
+LoreleiTexts: ; 0x76251
+	dw LoreleiText1, LoreleiText2
+
+LoreleiTrainerHeaders:
+LoreleiTrainerHeader1: ; 0x76255
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d863 ; flag's byte
+	dw UnnamedText_7626c ; 0x626c TextBeforeBattle
+	dw UnnamedText_76276 ; 0x6276 TextAfterBattle
+	dw UnnamedText_76271 ; 0x6271 TextEndBattle
+	dw UnnamedText_76271 ; 0x6271 TextEndBattle
+; 0x76261
+
+db $ff
+
+LoreleiText1: ; 0x76262
+	db $08 ; asm
+	ld hl, LoreleiTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_7626c: ; 0x7626c
+	TX_FAR _UnnamedText_7626c
+	db $50
+; 0x7626c + 5 bytes
+
+UnnamedText_76271: ; 0x76271
+	TX_FAR _UnnamedText_76271
+	db $50
+; 0x76271 + 5 bytes
+
+UnnamedText_76276: ; 0x76276
+	TX_FAR _UnnamedText_76276
+	db $50
+; 0x76276 + 5 bytes
+
+LoreleiText2: ; 0x7627b
+	TX_FAR _UnnamedText_7627b
+	db $50
+; 0x7627b + 5 bytes
+
+LoreleiObject: ; 0x76280 (size=44)
+	db $3 ; border tile
+
+	db $4 ; warps
+	db $b, $4, $2, INDIGO_PLATEAU_LOBBY
+	db $b, $5, $2, INDIGO_PLATEAU_LOBBY
+	db $0, $4, $0, BRUNOS_ROOM
+	db $0, $5, $1, BRUNOS_ROOM
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_LORELEI, $2 + 4, $5 + 4, $ff, $d0, $41, LORELEI + $C8, $1 ; trainer
+
+	; warp-to
+	EVENT_DISP $5, $b, $4 ; INDIGO_PLATEAU_LOBBY
+	EVENT_DISP $5, $b, $5 ; INDIGO_PLATEAU_LOBBY
+	EVENT_DISP $5, $0, $4 ; BRUNOS_ROOM
+	EVENT_DISP $5, $0, $5 ; BRUNOS_ROOM
+
+LoreleiBlocks: ; 0x762ac 30
+	INCBIN "maps/loreli.blk"
+
+Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246)
+	db $07 ; tileset
+	db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x)
+	dw BrunoBlocks, BrunoTexts, BrunoScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw BrunoObject ; objects
+
+BrunoScript: ; 0x762d6
+	call BrunoScript_Unknown762ec
+	call $3c3c
+	ld hl, BrunoTrainerHeaders
+	ld de, $6312
+	ld a, [$d64e]
+	call $3160
+	ld [$d64e], a
+	ret
+; 0x762ec
+
+BrunoScript_Unknown762ec: ; 0x762ec
+INCBIN "baserom.gbc",$762ec,$bc
+
+BrunoTexts: ; 0x763a8
+	dw BrunoText1, BrunoText2
+
+BrunoTrainerHeaders:
+BrunoTrainerHeader1: ; 0x763ac
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d864 ; flag's byte
+	dw UnnamedText_763c3 ; 0x63c3 TextBeforeBattle
+	dw UnnamedText_763cd ; 0x63cd TextAfterBattle
+	dw UnnamedText_763c8 ; 0x63c8 TextEndBattle
+	dw UnnamedText_763c8 ; 0x63c8 TextEndBattle
+; 0x763b8
+
+db $ff
+
+BrunoText1: ; 0x763b9
+	db $08 ; asm
+	ld hl, BrunoTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_763c3: ; 0x763c3
+	TX_FAR _UnnamedText_763c3
+	db $50
+; 0x763c3 + 5 bytes
+
+UnnamedText_763c8: ; 0x763c8
+	TX_FAR _UnnamedText_763c8
+	db $50
+; 0x763c8 + 5 bytes
+
+UnnamedText_763cd: ; 0x763cd
+	TX_FAR _UnnamedText_763cd
+	db $50
+; 0x763cd + 5 bytes
+
+BrunoText2: ; 0x763d2
+	TX_FAR _UnnamedText_763d2
+	db $50
+; 0x763d2 + 5 bytes
+
+BrunoObject: ; 0x763d7 (size=44)
+	db $3 ; border tile
+
+	db $4 ; warps
+	db $b, $4, $2, LORELEIS_ROOM
+	db $b, $5, $3, LORELEIS_ROOM
+	db $0, $4, $0, AGATHAS_ROOM
+	db $0, $5, $1, AGATHAS_ROOM
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_BRUNO, $2 + 4, $5 + 4, $ff, $d0, $41, BRUNO + $C8, $1 ; trainer
+
+	; warp-to
+	EVENT_DISP $5, $b, $4 ; LORELEIS_ROOM
+	EVENT_DISP $5, $b, $5 ; LORELEIS_ROOM
+	EVENT_DISP $5, $0, $4 ; AGATHAS_ROOM
+	EVENT_DISP $5, $0, $5 ; AGATHAS_ROOM
+
+BrunoBlocks: ; 0x76403 30
+	INCBIN "maps/bruno.blk"
+
+Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247)
+	db $0f ; tileset
+	db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x)
+	dw AgathaBlocks, AgathaTexts, AgathaScript ; blocks, texts, scripts
+	db $00 ; connections
+
+	dw AgathaObject ; objects
+
+AgathaScript: ; 0x7642d
+	call AgathaScript_Unknown76443
+	call $3c3c
+	ld hl, AgathaTrainerHeaders
+	ld de, $6469
+	ld a, [$d64f]
+	call $3160
+	ld [$d64f], a
+	ret
+; 0x76443
+
+AgathaScript_Unknown76443: ; 0x76443
+INCBIN "baserom.gbc",$76443,$c2
+
+AgathaTexts: ; 0x76505
+	dw AgathaText1, AgathaText2
+
+AgathaTrainerHeaders:
+AgathaTrainerHeader1: ; 0x76509
+	db $1 ; flag's bit
+	db ($0 << 4) ; trainer's view range
+	dw $d865 ; flag's byte
+	dw UnnamedText_76520 ; 0x6520 TextBeforeBattle
+	dw UnnamedText_7652a ; 0x652a TextAfterBattle
+	dw UnnamedText_76525 ; 0x6525 TextEndBattle
+	dw UnnamedText_76525 ; 0x6525 TextEndBattle
+; 0x76515
+
+db $ff
+
+AgathaText1: ; 0x76516
+	db $08 ; asm
+	ld hl, AgathaTrainerHeader1
+	call LoadTrainerHeader
+	jp TextScriptEnd
+
+UnnamedText_76520: ; 0x76520
+	TX_FAR _UnnamedText_76520
+	db $50
+; 0x76520 + 5 bytes
+
+UnnamedText_76525: ; 0x76525
+	TX_FAR _UnnamedText_76525
+	db $50
+; 0x76525 + 5 bytes
+
+UnnamedText_7652a: ; 0x7652a
+	TX_FAR _UnnamedText_7652a
+	db $50
+; 0x7652a + 5 bytes
+
+AgathaText2: ; 0x7652f
+	TX_FAR _UnnamedText_7652f
+	db $50
+; 0x7652f + 5 bytes
+
+AgathaObject: ; 0x76534 (size=44)
+	db $0 ; border tile
+
+	db $4 ; warps
+	db $b, $4, $2, BRUNOS_ROOM
+	db $b, $5, $3, BRUNOS_ROOM
+	db $0, $4, $0, LANCES_ROOM
+	db $0, $5, $0, LANCES_ROOM
+
+	db $0 ; signs
+
+	db $1 ; people
+	db SPRITE_AGATHA, $2 + 4, $5 + 4, $ff, $d0, $41, AGATHA + $C8, $1 ; trainer
+
+	; warp-to
+	EVENT_DISP $5, $b, $4 ; BRUNOS_ROOM
+	EVENT_DISP $5, $b, $5 ; BRUNOS_ROOM
+	EVENT_DISP $5, $0, $4 ; LANCES_ROOM
+	EVENT_DISP $5, $0, $5 ; LANCES_ROOM
+
+AgathaBlocks: ; 0x76560 30
+	INCBIN "maps/agatha.blk"
+
+INCBIN "baserom.gbc",$7657e,$76670 - $7657e
+
+HallOfFameNoText: ; 0x76670
+	db "HALL OF FAME No   @"
+
+UnnamedText_76683: ; 0x76683
+	TX_FAR _UnnamedText_76683
+	db $50
+; 0x76683 + 5 bytes
+
+INCBIN "baserom.gbc",$76688,$76794 - $76688
+
+UnnamedText_76794: ; 0x76794
+	TX_FAR _UnnamedText_76794
+	db $50
+; 0x76794 + 5 bytes
+
+INCBIN "baserom.gbc",$76799,$76852 - $76799
+
+UnnamedText_76852: ; 0x76852
+	TX_FAR _UnnamedText_76852
+	db $50
+; 0x76852 + 5 bytes
+
+INCBIN "baserom.gbc",$76857,$76880 - $76857
+
+;I'm pretty sure that the rest of the bank is assembly and thus doesn't use any of the 0s, but I've included some to be sure
+
+SECTION "bank1E",DATA,BANK[$1E]
+
+INCBIN "baserom.gbc",$78000,$F1
+
+PlayAnimation: ; 40F1
+	xor a
+	ld [$FF8B],a
+	ld [$D08B],a
+	ld a,[$D07C] ; get animation number
+	dec a
+	ld l,a
+	ld h,0
+	add hl,hl
+	ld de,$607D
+	add hl,de
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+.next7\@
+	ld a,[hli]
+	cp a,$FF
+	jr z,.AnimationOver\@
+	cp a,$C0 ; is this animation for a monster onscreen?
+	jr c,.next2\@
+	ld c,a
+	ld de,$50DA
+.next4\@
+	ld a,[de]
+	cp c
+	jr z,.next3\@
+	inc de
+	inc de
+	inc de
+	jr .next4\@
+.next3\@
+	ld a,[hli]
+	cp a,$FF
+	jr z,.next5\@
+	ld [$CF07],a
+	push hl
+	push de
+	call $586F
+	call $23B1
+	pop de
+	pop hl
+.next5\@
+	push hl
+	inc de
+	ld a,[de]
+	ld l,a
+	inc de
+	ld a,[de]
+	ld h,a
+	ld de,.next6\@
+	push de
+	jp [hl]
+.next2\@
+	ld c,a
+	and a,$3F
+	ld [$D086],a
+	xor a
+	sla c
+	rla
+	sla c
+	rla
+	ld [$D09F],a
+	ld a,[hli]
+	ld [$CF07],a
+	ld a,[hli]
+	ld c,l
+	ld b,h
+	ld l,a
+	ld h,0
+	add hl,hl
+	ld de,$676D
+	add hl,de
+	ld a,l
+	ld [$D094],a
+	ld a,h
+	ld [$D095],a
+	ld l,c
+	ld h,b
+	push hl
+	ld a,[rOBP0]
+	push af
+	ld a,[$CC79]
+	ld [rOBP0],a
+	call $41D2
+	call $417C
+	call RealPlayAnimation
+	pop af
+	ld [rOBP0],a
+.next6\@
+	pop hl
+	jr .next7\@
+.AnimationOver\@ ; 417B
+	ret
+
+INCBIN "baserom.gbc",$7817C,$78BDE - $7817C
+
+IF _RED
+	INCBIN "gfx/red/slotmachine2.2bpp"
+ENDC
+IF _BLUE
+	INCBIN "gfx/blue/slotmachine2.2bpp"
+ENDC
+
+MoveAnimation: ; 4D5E
+	push hl
+	push de
+	push bc
+	push af
+	call $3748
+	call $4E23
+	ld a,[$D07C]
+	and a
+	jr z,.AnimationFinished\@
+
+	; if throwing a Poké Ball, skip the regular animation code
+	cp a,TOSS_ANIM
+	jr nz,.MoveAnimation\@
+	ld de,.AnimationFinished\@
+	push de
+	jp TossBallAnimation
+
+.MoveAnimation\@
+	; check if battle animations are disabled in the options
+	ld a,[$D355]
+	bit 7,a
+	jr nz,.AnimationsDisabled\@
+	call ShareMoveAnimations
+	call PlayAnimation
+	jr .next4\@
+.AnimationsDisabled\@
+	ld c,30
+	call DelayFrames
+.next4\@
+	call $4DBD ; reload pic and flash the pic in and out (to show damage)
+.AnimationFinished\@
+	call $3748
+	xor a
+	ld [$D096],a
+	ld [$D09B],a
+	ld [$D08B],a
+	dec a
+	ld [$CF07],a
+	pop af
+	pop bc
+	pop de
+	pop hl
+	ret
+
+ShareMoveAnimations: ; 4DA6
+; some moves just reuse animations from status conditions
+	ld a,[H_WHOSETURN]
+	and a
+	ret z
+
+	; opponent’s turn
+
+	ld a,[$D07C]
+
+	cp a,AMNESIA
+	ld b,CONF_ANIM
+	jr z,.Replace\@
+
+	cp a,REST
+	ld b,SLP_ANIM
+	ret nz
+
+.Replace\@
+	ld a,b
+	ld [$D07C],a
+	ret
+
+Function4DBD: ; 4DBD
+	ld a,[$CC5B]
+	and a
+	ret z
+	dec a
+	add a
+	ld c,a
+	ld b,0
+	ld hl,Pointer4DCF
+	add hl,bc
+	ld a,[hli]
+	ld h,[hl]
+	ld l,a
+	jp [hl]
+
+Pointer4DCF: ; 4DCF
+	dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE
+
+INCBIN "baserom.gbc",$78DDB,$78E53-$78DDB
+
+RealPlayAnimation: ; 4E53
+	ld a,[$CF07] ; get animation # − 1
+	cp a,$FF
+	jr z,.Next4E60
+	call $586F
+	call $23B1 ; play sound effect
+.Next4E60
+	ld hl,$C300
+	ld a,l
+	ld [$D09D],a
+	ld a,h
+	ld [$D09C],a
+	ld a,[$D097]
+	ld h,a
+	ld a,[$D096]
+	ld l,a
+	push hl
+	ld c,[hl]
+	ld b,0
+	ld hl,PointerTable6F74
+	add hl,bc
+	add hl,bc
+	ld a,[hli]
+	ld c,a
+	ld a,[hli]
+	ld b,a
+	pop hl
+	inc hl
+	push hl
+	ld e,[hl]
+	ld d,0
+	ld hl,$7C85
+	add hl,de
+	add hl,de
+	ld a,[hli]
+	ld [$D082],a
+	ld a,[hl]
+	ld [$D081],a
+	pop hl
+	inc hl
+	ld a,[hl]
+	ld [$D09E],a
+	call $4000
+	call $4ED7
+	ld a,[$D087]
+	dec a
+	ld [$D087],a
+	ret z
+	ld a,[$D097]
+	ld h,a
+	ld a,[$D096]
+	ld l,a
+	ld a,[$D08B]
+	cp a,4
+	ld bc,3
+	jr nz,.Next4EBC
+	ld bc,$FFFD
+.Next4EBC
+	add hl,bc
+	ld a,h
+	ld [$D097],a
+	ld a,l
+	ld [$D096],a
+	jp $4E73
+
+INCBIN "baserom.gbc",$78EC8,$7986F - $78EC8
+
+Func586F: ; 0x7986F 586F
+	ld hl,MoveSoundTable
+	ld e,a
+	ld d,0
+	add hl,de
+	add hl,de
+	add hl,de
+	ld a,[hli]
+	ld b,a
+	call IsCryMove
+	jr nc,.NotCryMove
+	ld a,[H_WHOSETURN]
+	and a
+	jr nz,.next\@
+	ld a,[$D014] ; get number of current monster
+	jr .Continue\@
+.next\@
+	ld a,[$CFE5]
+.Continue\@
+	push hl
+	call $13D9
+	ld b,a
+	pop hl
+	ld a,[$C0F1]
+	add [hl]
+	ld [$C0F1],a
+	inc hl
+	ld a,[$C0F2]
+	add [hl]
+	ld [$C0F2],a
+	jr .done\@
+.NotCryMove
+	ld a,[hli]
+	ld [$C0F1],a
+	ld a,[hli]
+	ld [$C0F2],a
+.done\@
+	ld a,b
+	ret
+IsCryMove: ; 0x798ad
+; set carry if the move animation involves playing a monster cry
+	ld a,[$D07C]
+	cp a,GROWL
+	jr z,.CryMove
+	cp a,ROAR
+	jr z,.CryMove
+	and a ; clear carry
+	ret
+.CryMove
+	scf
+	ret
+
+MoveSoundTable: ; 0x798bc
+	db $a0,$00,$80
+	db $a2,$10,$80
+	db $b3,$00,$80
+	db $a1,$01,$80
+	db $a3,$00,$40
+	db $e9,$00,$ff
+	db $a3,$10,$60
+	db $a3,$20,$80
+	db $a3,$00,$a0
+	db $a6,$00,$80
+	db $a5,$20,$40
+	db $a5,$00,$80
+	db $a4,$00,$a0
+	db $a7,$10,$c0
+	db $a7,$00,$a0
+	db $a8,$00,$c0
+	db $a8,$10,$a0
+	db $a9,$00,$e0
+	db $a7,$20,$c0
+	db $aa,$00,$80
+	db $b9,$00,$80
+	db $ab,$01,$80
+	db $b7,$00,$80
+	db $ad,$f0,$40
+	db $b0,$00,$80
+	db $ad,$00,$80
+	db $b8,$10,$80
+	db $b1,$01,$a0
+	db $ae,$00,$80
+	db $b4,$00,$60
+	db $b4,$01,$40
+	db $b6,$00,$a0
+	db $b0,$10,$a0
+	db $b7,$00,$c0
+	db $aa,$10,$60
+	db $b0,$00,$a0
+	db $b9,$11,$c0
+	db $b0,$20,$c0
+	db $b8,$00,$80
+	db $b1,$00,$80
+	db $b1,$20,$c0
+	db $af,$00,$80
+	db $db,$ff,$40
+	db $b4,$00,$80
+	db $a1,$00,$c0
+	db $a1,$00,$40
+	db $e4,$00,$80
+	db $bf,$40,$60
+	db $bf,$00,$80
+	db $bf,$ff,$40
+	db $c7,$80,$c0
+	db $af,$10,$a0
+	db $af,$21,$e0
+	db $c5,$00,$80
+	db $bb,$20,$60
+	db $c7,$00,$80
+	db $cc,$00,$80
+	db $c2,$40,$80
+	db $c5,$f0,$e0
+	db $cf,$00,$80
+	db $c7,$f0,$60
+	db $c2,$00,$80
+	db $e6,$00,$80
+	db $9d,$01,$a0
+	db $a9,$f0,$20
+	db $ba,$01,$c0
+	db $ba,$00,$80
+	db $b0,$00,$e0
+	db $be,$01,$60
+	db $be,$20,$40
+	db $bb,$00,$80
+	db $bb,$40,$c0
+	db $b1,$03,$60
+	db $bd,$11,$e0
+	db $a8,$20,$e0
+	db $d2,$00,$80
+	db $b2,$00,$80
+	db $b2,$11,$a0
+	db $b2,$01,$c0
+	db $a9,$14,$c0
+	db $b1,$02,$a0
+	db $c5,$f0,$80
+	db $c5,$20,$c0
+	db $d5,$00,$20
+	db $d5,$20,$80
+	db $d2,$12,$60
+	db $be,$00,$80
+	db $aa,$01,$e0
+	db $c5,$0f,$e0
+	db $c5,$11,$20
+	db $a6,$10,$40
+	db $a5,$10,$c0
+	db $aa,$00,$20
+	db $d8,$00,$80
+	db $e4,$11,$18
+	db $9f,$20,$c0
+	db $9e,$20,$c0
+	db $bd,$00,$10
+	db $be,$f0,$20
+	db $df,$f0,$c0
+	db $a7,$f0,$e0
+	db $9f,$f0,$40
+	db $db,$00,$80
+	db $df,$80,$40
+	db $df,$00,$80
+	db $aa,$11,$20
+	db $aa,$22,$10
+	db $b1,$f1,$ff
+	db $a9,$f1,$ff
+	db $aa,$33,$30
+	db $dd,$40,$c0
+	db $a4,$20,$20
+	db $a4,$f0,$10
+	db $a5,$f8,$10
+	db $a7,$f0,$10
+	db $bd,$00,$80
+	db $ae,$00,$c0
+	db $dd,$c0,$ff
+	db $9f,$f2,$20
+	db $e1,$00,$80
+	db $e1,$00,$40
+	db $9f,$00,$40
+	db $a7,$10,$ff
+	db $c7,$20,$20
+	db $dd,$00,$80
+	db $c5,$1f,$20
+	db $bd,$2f,$80
+	db $a5,$1f,$ff
+	db $ca,$1f,$60
+	db $be,$1e,$20
+	db $be,$1f,$18
+	db $aa,$0f,$80
+	db $9f,$f8,$10
+	db $9e,$18,$20
+	db $dd,$08,$40
+	db $ad,$01,$e0
+	db $a7,$09,$ff
+	db $e4,$42,$01
+	db $b2,$00,$ff
+	db $dd,$08,$e0
+	db $bb,$00,$80
+	db $9f,$88,$10
+	db $bd,$48,$ff
+	db $9e,$ff,$ff
+	db $bb,$ff,$10
+	db $9e,$ff,$04
+	db $b2,$01,$ff
+	db $a9,$f8,$ff
+	db $a2,$f0,$f0
+	db $a5,$08,$10
+	db $a3,$f0,$ff
+	db $b0,$f0,$ff
+	db $e1,$10,$ff
+	db $a4,$f0,$20
+	db $ca,$f0,$60
+	db $b8,$12,$10
+	db $e6,$f0,$20
+	db $b4,$12,$ff
+	db $db,$80,$04
+	db $df,$f0,$10
+	db $c5,$f8,$ff
+	db $be,$f0,$ff
+	db $a7,$01,$ff
+	db $cc,$d8,$04
+	db $a1,$00,$80
+	db $a1,$00,$80
+
+INCBIN "baserom.gbc",$79AAE,$79E16 - $79AAE
+
+TossBallAnimation: ; 5E16
+	ld a,[W_ISINBATTLE]
+	cp a,2
+	jr z,.BlockBall\@ ; if in trainer battle, play different animation
+	ld a,[$D11E]
+	ld b,a
+
+	; upper nybble: how many animations (from PokeBallAnimations) to play
+	; this will be 4 for successful capture, 6 for breakout
+	and a,$F0
+	swap a
+	ld c,a
+
+	; lower nybble: number of shakes
+	; store these for later
+	ld a,b
+	and a,$F
+	ld [$CD3D],a
+
+	ld hl,.PokeBallAnimations
+	; choose which toss animation to use
+	ld a,[$CF91]
+	cp a,POKE_BALL
+	ld b,TOSS_ANIM
+	jr z,.done\@
+	cp a,GREAT_BALL
+	ld b,GREATTOSS_ANIM
+	jr z,.done\@
+	ld b,ULTRATOSS_ANIM
+.done\@
+	ld a,b
+.PlayNextAnimation\@
+	ld [$D07C],a
+	push bc
+	push hl
+	call PlayAnimation
+	pop hl
+	ld a,[hli]
+	pop bc
+	dec c
+	jr nz,.PlayNextAnimation\@
+	ret
+
+.PokeBallAnimations: ; 5E50
+; sequence of animations that make up the Poké Ball toss
+	db POOF_ANIM,HIDEPIC_ANIM,$C2,POOF_ANIM,SHOWPIC_ANIM
+
+.BlockBall\@ ; 5E55
+	ld a,$C1
+	ld [$D07C],a
+	call PlayAnimation
+	ld a,$95
+	call $23B1 ; play sound effect
+	ld a,BLOCKBALL_ANIM
+	ld [$D07C],a
+	jp PlayAnimation
+
+INCBIN "baserom.gbc",$79E6A,$7AF74 - $79E6A
+
+PointerTable6F74: ; 6F74
+	dw $7de7
+	dw $7068
+	dw $708d
+	dw $70ce
+	dw $70df
+	dw $70f0
+	dw $7101
+	dw $7132
+	dw $7173
+	dw $71b4
+	dw $71e5
+	dw $7216
+	dw $7227
+	dw $7238
+	dw $7259
+	dw $726a
+	dw $727b
+	dw $729c
+	dw $72bd
+	dw $72ca
+	dw $72db
+	dw $72fc
+	dw $732d
+	dw $734e
+	dw $735f
+	dw $7364
+	dw $736d
+	dw $7376
+	dw $737f
+	dw $7388
+	dw $7391
+	dw $73ab
+	dw $73b4
+	dw $73cd
+	dw $73fe
+	dw $744b
+	dw $745c
+	dw $7465
+	dw $7496
+	dw $74a7
+	dw $74bc
+	dw $74d5
+	dw $74e6
+	dw $74f7
+	dw $7500
+	dw $7505
+	dw $7526
+	dw $7547
+	dw $7558
+	dw $7569
+	dw $756e
+	dw $758b
+	dw $75a8
+	dw $75ad
+	dw $75c6
+	dw $75d7
+	dw $75e8
+	dw $75f9
+	dw $760a
+	dw $761b
+	dw $7630
+	dw $7649
+	dw $7666
+	dw $7687
+	dw $76a8
+	dw $76b5
+	dw $76c6
+	dw $76f3
+	dw $7720
+	dw $7731
+	dw $7742
+	dw $7753
+	dw $7764
+	dw $7775
+	dw $785a
+	dw $786b
+	dw $787c
+	dw $788d
+	dw $789e
+	dw $78bf
+	dw $78f0
+	dw $7911
+	dw $7932
+	dw $7943
+	dw $7950
+	dw $7961
+	dw $796e
+	dw $7987
+	dw $79ac
+	dw $79c9
+	dw $79ce
+	dw $79ff
+	dw $7a10
+	dw $7a31
+	dw $7a5e
+	dw $7a9b
+	dw $7aac
+	dw $7acd
+	dw $7afe
+	dw $7b3f
+	dw $7b58
+	dw $7b71
+	dw $7b8a
+	dw $7b93
+	dw $7b98
+	dw $7ba9
+	dw $7bae
+	dw $7bcf
+	dw $7bf0
+	dw $7c11
+	dw $7c1a
+	dw $7c2b
+	dw $7c3c
+	dw $77b6
+	dw $77f7
+	dw $7828
+	dw $7849
+	dw $739a
+	dw $7c4d
+	dw $7c6a
+	dw $7c7b
+	dw $7c80
+
+INCBIN "baserom.gbc",$7B068,$7C000 - $7B068
+
+SECTION "bank1F",DATA,BANK[$1F]
+
+INCBIN "baserom.gbc",$7C000,$4000
+
+SECTION "bank20",DATA,BANK[$20]
+
+UnnamedText_80000: ; 0x80000
+	db $0, "Bingo!@@"
+; 0xa80009
+
+_UnnamedText_526f3: ; 0x80009
+	db $0, $4f
+	db "The CARD KEY", $55
+	db "opened the door!", $57
+; 0x80009 + 32 bytes
+
+_UnnamedText_526f8: ; 0x80029
+	db $0, "Darn! It needs a", $4f
+	db "CARD KEY!", $57
+; 0x80029 + 28 bytes
+
+UnnamedText_80045: ; 0x80045
+	TX_RAM $cd6d
+	db $0, ": @@"
+; 0xa8004d
+
+_UnnamedText_70847: ; 0x8004d
+	db $0, "Not even a nibble!", $58
+; 0x8004d + 20 bytes
+
+_UnnamedText_7084c: ; 0x80061
+	db $0, "Looks like there's", $4f
+	db "nothing here.", $58
+; 0x80061 + 33 bytes
+
+_UnnamedText_70851: ; 0x80082
+	db $0, "Oh!", $4f
+	db "It's a bite!", $58
+; 0x80082 + 17 bytes
+
+_UnnamedText_24db: ; 0x80093
+	db $0, "!", $57
+; 0x80093 + 3 bytes
+
+_UnnamedText_24e0: ; 0x80096
+	db $0, "Ground rose up", $4f
+	db "somewhere!", $57
+; 0x80096 + 27 bytes
+
+_VictoryRoad3Text10:
+_VictoryRoad3Text9:
+_VictoryRoad3Text8:
+_VictoryRoad3Text7:
+_VictoryRoad2Text13:
+_VictoryRoad2Text12:
+_VictoryRoad2Text11:
+_SeafoamIslands1Text2:
+_SeafoamIslands1Text1:
+_SeafoamIslands5Text2:
+_SeafoamIslands5Text1:
+_SeafoamIslands4Text6:
+_SeafoamIslands4Text5:
+_SeafoamIslands4Text4:
+_SeafoamIslands4Text3:
+_SeafoamIslands4Text2:
+_SeafoamIslands4Text1:
+_SeafoamIslands3Text2:
+_SeafoamIslands3Text1:
+_SeafoamIslands2Text2:
+_SeafoamIslands2Text1:
+_FuchsiaHouse2Text3:
+_VictoryRoad1Text7:
+_VictoryRoad1Text6:
+_VictoryRoad1Text5: ; 0x800b1
+	db $0, "This requires", $4f
+	db "STRENGTH to move!", $57
+
+_SaffronCityText19:
+_CinnabarIslandText4:
+_FuchsiaCityText14:
+_VermilionCityText9:
+_LavenderTownText6:
+_CeruleanCityText14:
+_PewterCityText8:
+_ViridianCityText11: ; 0x800d2
+	db $0, "All your item", $4f
+	db "needs fulfilled!", $55
+	db "#MON MART", $57
+
+_ViridianCityText12: ; 0x800fc
+	db $0, "Heal Your #MON!", $4f
+	db "#MON CENTER", $57
+
+UnnamedText_80119: ; 0x80119
+	db $0, $52, " found", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x8012a
+
+_UnnamedText_4e2c: ; 0x8012a
+	db $0, "No more room for", $4f
+	db "items!", $57
+; 0x8012a + 25 bytes
+
+_UnnamedText_59091: ; 0x80143
+	db $0, "Hi! Remember me?", $4f
+	db "I'm PROF.OAK's", $55
+	db "AIDE!", $51
+	db "If you caught @"
+; 0x80143 + 52 bytes
+
+UnnamedText_80177: ; 0x80177
+	TX_NUM $ffdb, 1, 3
+	db $0, $4f
+	db "kinds of #MON,", $55
+	db "I'm supposed to", $55
+	db "give you an", $55
+	db "@"
+	TX_RAM $cc5b
+	db $0, "!", $51
+	db "So, ", $52, "! Have", $4f
+	db "you caught at", $55
+	db "least @"
+	TX_NUM $ffdb, 1, 3
+	db $0, " kinds of", $55
+	db "#MON?", $57
+; 0x801e4
+
+_UnnamedText_59096: ; 0x801e4
+	db $0, "Let's see...", $4f
+	db "Uh-oh! You have", $55
+	db "caught only @"
+; 0x801e4 + 42 bytes
+
+UnnamedText_8020e: ; 0x8020e
+	TX_NUM $ffdd, 1, 3
+	db $0, $55
+	db "kinds of #MON!", $51
+	db "You need @"
+	TX_NUM $ffdb, 1, 3
+	db $0, " kinds", $4f
+	db "if you want the", $55
+	db "@"
+	TX_RAM $cc5b
+	db $0, ".", $57
+; 0x80250
+
+_UnnamedText_5909b: ; 0x80250
+	db $0, "Oh. I see.", $51
+	db "When you get @"
+	TX_NUM $ffdb, 1, 3
+	db $0, $4f
+	db "kinds, come back", $55
+	db "for @"
+	TX_RAM $cc5b
+	db $0, ".", $57
+; 0x8028c
+
+_UnnamedText_590a0: ; 0x8028c
+	db $0, "Great! You have", $4f
+	db "caught @"
+; 0x8028c + 25 bytes
+
+UnnamedText_802a5: ; 0x802a5
+	TX_NUM $ffdd, 1, 3
+	db $0, " kinds ", $55
+	db "of #MON!", $55
+	db "Congratulations!", $51
+	db "Here you go!", $58
+; 0x802a5 + 52 bytes = 0x802d9
+
+UnnamedText_802d9: ; 0x802d9
+	db $0, $52, " got the", $4f
+	db "@"
+	TX_RAM $cc5b
+	db $0, "!@@"
+; 0xa802ec
+
+_UnnamedText_590ab: ; 0x802ec
+	db $0, "Oh! I see you", $4f
+	db "don't have any", $55
+	db "room for the", $55
+	db "@"
+; 0x802ec + 43 bytes
+
+UnnamedText_80317: ; 0x80317
+	TX_RAM $cc5b
+	db $0, ".", $57
+; 0x80317 + 6 bytes = 0x8031d
+
+_ViridianForestText1: ; 0x8031d
+	db $0, "I came here with", $4f
+	db "some friends!", $51
+	db "They're out for", $4f
+	db "#MON fights!", $57
+
+_UnnamedText_6118a: ; 0x80359
+	db $0, "Hey! You have", $4f
+	db "#MON! Come on!", $55
+	db "Let's battle'em!", $57
+; 0x80359 + 46 bytes
+
+_UnnamedText_6118f: ; 0x80387
+	db $0, "No!", $4f
+	db "CATERPIE can't", $55
+	db "cut it!", $58
+; 0x80387 + 27 bytes
+
+_UnnamedText_61194: ; 0x803a2
+	db $0, "Ssh! You'll scare", $4f
+	db "the bugs away!", $57
+; 0x803a2 + 33 bytes
+
+_UnnamedText_61199: ; 0x803c3
+	db $0, "Yo! You can't jam", $4f
+	db "out if you're a", $55
+	db "#MON trainer!", $57
+; 0x803c3 + 47 bytes
+
+_UnnamedText_6119e: ; 0x803f2
+	db $0, "Huh?", $4f
+	db "I ran out of", $55
+	db "#MON!", $58
+; 0x803f2 + 25 bytes
+
+_UnnamedText_611a3: ; 0x8040b
+	db $0, "Darn! I'm going", $4f
+	db "to catch some", $55
+	db "stronger ones!", $57
+; 0x8040b + 45 bytes
+
+_UnnamedText_611a8: ; 0x80438
+	db $0, "Hey, wait up!", $4f
+	db "What's the hurry?", $57
+; 0x80438 + 32 bytes
+
+_UnnamedText_611ad: ; 0x80458
+	db $0, "I", $4f
+	db "give! You're good", $55
+	db "at this!", $58
+; 0x80458 + 29 bytes
+
+_UnnamedText_611b2: ; 0x80475
+	db $0, "Sometimes, you", $4f
+	db "can find stuff on", $55
+	db "the ground!", $51
+	db "I'm looking for", $4f
+	db "the stuff I", $55
+	db "dropped!", $57
+; 0x80475 + 82 bytes
+
+_ViridianForestText8: ; 0x804c7
+	db $0, "I ran out of #", $4f
+	db "BALLs to catch", $55
+	db "#MON with!", $51
+	db "You should carry", $4f
+	db "extras!", $57
+
+_ViridianForestText9: ; 0x8050a
+	db $0, "TRAINER TIPS", $51
+	db "If you want to", $4f
+	db "avoid battles,", $55
+	db "stay away from", $55
+	db "grassy areas!", $57
+
+_ViridianForestText10: ; 0x80553
+	db $0, "For poison, use", $4f
+	db "ANTIDOTE! Get it", $55
+	db "at #MON MARTs!", $57
+
+_ViridianForestText11: ; 0x80584
+	db $0, "TRAINER TIPS", $51
+	db "Contact PROF.OAK", $4f
+	db "via PC to get", $55
+	db "your #DEX", $55
+	db "evaluated!", $57
+
+_ViridianForestText12: ; 0x805c6
+	db $0, "TRAINER TIPS", $51
+	db "No stealing of", $4f
+	db "#MON from", $55
+	db "other trainers!", $55
+	db "Catch only wild", $55
+	db "#MON!", $57
+
+_ViridianForestText13: ; 0x80613
+	db $0, "TRAINER TIPS", $51
+	db "Weaken #MON", $4f
+	db "before attempting", $55
+	db "capture!", $51
+	db "When healthy,", $4f
+	db "they may escape!", $57
+
+_ViridianForestText14: ; 0x80667
+	db $0, "LEAVING", $4f
+	db "VIRIDIAN FOREST", $55
+	db "PEWTER CITY AHEAD", $57
+
+_UnnamedText_49a98: ; 0x80692
+	db $0, "WHOA! You shocked", $4f
+	db "me! Oh, you're", $55
+	db "just a kid!", $57
+; 0x80692 + 45 bytes
+
+_UnnamedText_49a9d: ; 0x806bf
+	db $0, "Wow!", $4f
+	db "Shocked again!", $58
+; 0x806bf + 21 bytes
+
+_UnnamedText_49aa2: ; 0x806d4
+	db $0, "Kids like you", $4f
+	db "shouldn't be", $55
+	db "here!", $57
+; 0x806d4 + 33 bytes
+
+_UnnamedText_49aa7: ; 0x806f5
+	db $0, "Did you come to", $4f
+	db "explore too?", $57
+; 0x806f5 + 30 bytes
+
+_UnnamedText_49aac: ; 0x80713
+	db $0, "Losing", $4f
+	db "stinks!", $58
+; 0x80713 + 16 bytes
+
+_UnnamedText_49ab1: ; 0x80723
+	db $0, "I came down here", $4f
+	db "to show off to", $55
+	db "girls.", $57
+; 0x80723 + 40 bytes
+
+_UnnamedText_49ab6: ; 0x8074b
+	db $0, "Wow! It's way", $4f
+	db "bigger in here", $55
+	db "than I thought!", $57
+; 0x8074b + 45 bytes
+
+_UnnamedText_49abb: ; 0x80778
+	db $0, "Oh!", $4f
+	db "I lost it!", $58
+; 0x80778 + 16 bytes
+
+_UnnamedText_49ac0: ; 0x80788
+	db $0, "How do you get", $4f
+	db "out of here?", $57
+; 0x80788 + 29 bytes
+
+_UnnamedText_49ac5: ; 0x807a5
+	db $0, "What! Don't sneak", $4f
+	db "up on me!", $57
+; 0x807a5 + 28 bytes
+
+_UnnamedText_49aca: ; 0x807c1
+	db $0, "My", $4f
+	db "#MON won't do!", $58
+; 0x807c1 + 18 bytes
+
+_UnnamedText_49acf: ; 0x807d3
+	db $0, "I have to find", $4f
+	db "stronger #MON.", $57
+; 0x807d3 + 31 bytes
+
+_UnnamedText_49ad4: ; 0x807f2
+	db $0, "What? I'm waiting", $4f
+	db "for my friends to", $55
+	db "find me here.", $57
+; 0x807f2 + 50 bytes
+
+_UnnamedText_49ad9: ; 0x80824
+	db $0, "I lost?", $58
+; 0x80824 + 9 bytes
+
+_UnnamedText_49ade: ; 0x8082d
+	db $0, "I heard there are", $4f
+	db "some very rare", $55
+	db "fossils here.", $57
+; 0x8082d + 48 bytes
+
+_UnnamedText_49ae3: ; 0x8085d
+	db $0, "Suspicious men", $4f
+	db "are in the cave.", $55
+	db "What about you?", $57
+; 0x8085d + 49 bytes
+
+_UnnamedText_49ae8: ; 0x8088e
+	db $0, "You", $4f
+	db "got me!", $58
+; 0x8088e + 13 bytes
+
+_UnnamedText_49aed: ; 0x8089b
+	db $0, "I saw them! I'm", $4f
+	db "sure they're from", $55
+	db "TEAM ROCKET!", $57
+; 0x8089b + 46 bytes
+
+_UnnamedText_49af2: ; 0x808c9
+	db $0, "Go through this", $4f
+	db "cave to get to", $55
+	db "CERULEAN CITY!", $57
+; 0x808c9 + 47 bytes
+
+_UnnamedText_49af7: ; 0x808f8
+	db $0, "I", $4f
+	db "lost.", $58
+; 0x808f8 + 9 bytes
+
+_UnnamedText_49afc: ; 0x80901
+	db $0, "ZUBAT is tough!", $4f
+	db "But, it can be", $55
+	db "useful if you", $55
+	db "catch one.", $57
+; 0x80901 + 57 bytes
+
+_MtMoon1Text14: ; 0x8093a
+	db $0, "Beware! ZUBAT is", $4f
+	db "a blood sucker!", $57
+
+_UnnamedText_51a48: ; 0x8095c
+	db $0, $57
+; 0x8095c + 2 bytes
+
+_UnnamedText_49f24: ; 0x8095e
+	db $0, "You want the", $4f
+	db "DOME FOSSIL?", $57
+; 0x8095e + 27 bytes
+
+_UnnamedText_49f64: ; 0x80979
+	db $0, "You want the", $4f
+	db "HELIX FOSSIL?", $57
+; 0x80979 + 28 bytes
+
+_UnnamedText_49f6f: ; 0x80995
+	db $0, $52, " got the", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x809a8
+
+_UnnamedText_49f7f: ; 0x809a8
+	db $0, "Look, you've got", $4f
+	db "no room for this.@@"
+; 0x809cc
+
+_UnnamedText_49f85: ; 0x809cc
+	db $0, "Hey, stop!", $51
+	db "I found these", $4f
+	db "fossils! They're", $55
+	db "both mine!", $57
+; 0x809cc + 53 bytes
+
+_UnnamedText_49f8a: ; 0x80a01
+	db $0, "OK!", $4f
+	db "I'll share!", $58
+; 0x80a01 + 16 bytes
+
+_UnnamedText_49f8f: ; 0x80a11
+	db $0, "We'll each take", $4f
+	db "one!", $55
+	db "No being greedy!", $57
+; 0x80a11 + 38 bytes
+
+_UnnamedText_49f94: ; 0x80a37
+	db $0, "Far away, on", $4f
+	db "CINNABAR ISLAND,", $55
+	db "there's a #MON", $55
+	db "LAB.", $51
+	db "They do research", $4f
+	db "on regenerating", $55
+	db "fossils.", $57
+; 0x80a37 + 92 bytes
+
+UnnamedText_80a93: ; 0x80a93
+	db $0, "All right. Then", $4f
+	db "this is mine!@@"
+; 0x80ab3
+
+_UnnamedText_49f9f: ; 0x80ab3
+	db $0, "TEAM ROCKET will", $4f
+	db "find the fossils,", $55
+	db "revive and sell", $55
+	db "them for cash!", $57
+; 0x80ab3 + 67 bytes
+
+_UnnamedText_49fa4: ; 0x80af6
+	db $0, "Urgh!", $4f
+	db "Now I'm mad!", $58
+; 0x80af6 + 19 bytes
+
+_UnnamedText_49fa9: ; 0x80b09
+	db $0, "You made me mad!", $4f
+	db "TEAM ROCKET will", $55
+	db "blacklist you!", $57
+; 0x80b09 + 50 bytes
+
+_UnnamedText_49fae: ; 0x80b3b
+	db $0, "We, TEAM ROCKET,", $4f
+	db "are #MON", $55
+	db "gangsters!", $57
+; 0x80b3b + 38 bytes
+
+_UnnamedText_49fb3: ; 0x80b61
+	db $0, "I blew", $4f
+	db "it!", $58
+; 0x80b61 + 12 bytes
+
+_UnnamedText_49fb8: ; 0x80b6d
+	db $0, "Darn it all! My", $4f
+	db "associates won't", $55
+	db "stand for this!", $57
+; 0x80b6d + 49 bytes
+
+_UnnamedText_49fbd: ; 0x80b9e
+	db $0, "We're pulling a", $4f
+	db "big job here!", $55
+	db "Get lost, kid!", $57
+; 0x80b9e + 45 bytes
+
+_UnnamedText_49fc2: ; 0x80bcb
+	db $0, "So, you", $4f
+	db "are good.", $58
+; 0x80bcb + 19 bytes
+
+_UnnamedText_49fc7: ; 0x80bde
+	db $0, "If you find a", $4f
+	db "fossil, give it", $55
+	db "to me and scram!", $57
+; 0x80bde + 48 bytes
+
+_UnnamedText_49fcc: ; 0x80c0e
+	db $0, "Little kids", $4f
+	db "should leave", $55
+	db "grown-ups alone!", $57
+; 0x80c0e + 43 bytes
+
+_UnnamedText_49fd1: ; 0x80c39
+	db $0, "I'm", $4f
+	db "steamed!", $58
+; 0x80c39 + 13 bytes
+
+_UnnamedText_49fd6: ; 0x80c46
+	db $0, "#MON lived", $4f
+	db "here long before", $55
+	db "people came.", $57
+; 0x80c46 + 42 bytes
+
+_SSAnne1Text1: ; 0x80c70
+	db $0, "Bonjour!", $4f
+	db "I am le waiter on", $55
+	db "this ship!", $51
+	db "I will be happy", $4f
+	db "to serve you any-", $55
+	db "thing you please!", $51
+	db "Ah! Le strong", $4f
+	db "silent type!", $57
+
+_SSAnne1Text2: ; 0x80ce6
+	db $0, "The passengers", $4f
+	db "are restless!", $51
+	db "You might be", $4f
+	db "challenged by the", $55
+	db "more bored ones!", $57
+
+_SSAnne2Text1: ; 0x80d34
+	db $0, "This ship, she is", $4f
+	db "a luxury liner", $55
+	db "for trainers!", $51
+	db "At every port, we", $4f
+	db "hold parties with", $55
+	db "invited trainers!", $57
+
+_UnnamedText_61500: ; 0x80d9a
+	db $0, $53, ": Bonjour!", $4f
+	db $52, "!", $51
+	db "Imagine seeing", $4f
+	db "you here!", $51
+	db $52, ", were you", $4f
+	db "really invited?", $51
+	db "So how's your", $4f
+	db "#DEX coming?", $51
+	db "I already caught", $4f
+	db "40 kinds, pal!", $51
+	db "Different kinds", $4f
+	db "are everywhere!", $51
+	db "Crawl around in", $4f
+	db "grassy areas!", $57
+; 0x80d9a + 189 bytes
+
+_UnnamedText_61505: ; 0x80e57
+	db $0, "Humph!", $51
+	db "At least you're", $4f
+	db "raising your", $55
+	db "#MON!", $58
+; 0x80e57 + 42 bytes
+
+_UnnamedText_6150a: ; 0x80e81
+	db $0, $52, "! What are", $4f
+	db "you, seasick?", $51
+	db "You should shape", $4f
+	db "up, pal!", $58
+; 0x80e81 + 53 bytes
+
+_UnnamedText_6150f: ; 0x80eb6
+	db $0, $53, ": I heard", $4f
+	db "there was a CUT", $55
+	db "master on board.", $51
+	db "But, he was just a", $4f
+	db "seasick, old man!", $51
+	db "But, CUT itself is", $4f
+	db "really useful!", $51
+	db "You should go see", $4f
+	db "him! Smell ya!", $57
+; 0x80eb6 + 149 bytes
+
+_SSAnne3Text1: ; 0x80f4b
+	db $0, "Our CAPTAIN is a", $4f
+	db "sword master!", $51
+	db "He even teaches", $4f
+	db "CUT to #MON!", $57
+
+_SSAnne5Text1: ; 0x80f88
+	db $0, "The party's over.", $4f
+	db "The ship will be", $55
+	db "departing soon.", $57
+
+_SSAnne5Text2: ; 0x80fbb
+	db $0, "Scrubbing decks", $4f
+	db "is hard work!", $57
+
+_SSAnne5Text3: ; 0x80fda
+	db $0, "Urf. I feel ill.", $51
+	db "I stepped out to", $4f
+	db "get some air.", $57
+
+_UnnamedText_61703: ; 0x8100b
+	db $0, "Hey matey!", $51
+	db "Let's do a little", $4f
+	db "jig!", $57
+; 0x8100b + 34 bytes
+
+_UnnamedText_61708: ; 0x8102d
+	db $0, "You're", $4f
+	db "impressive!", $58
+; 0x8102d + 19 bytes
+
+_UnnamedText_6170d: ; 0x81040
+	db $0, "How many kinds of", $4f
+	db "#MON do you", $55
+	db "think there are?", $57
+; 0x81040 + 48 bytes
+
+_UnnamedText_6171c: ; 0x81070
+	db $0, "Ahoy there!", $4f
+	db "Are you seasick?", $57
+; 0x81070 + 30 bytes
+
+_UnnamedText_61721: ; 0x8108e
+	db $0, "I was", $4f
+	db "just careless!", $58
+; 0x8108e + 22 bytes
+
+_UnnamedText_61726: ; 0x810a4
+	db $0, "My Pa said there", $4f
+	db "are 100 kinds of", $55
+	db "#MON. I think", $55
+	db "there are more.", $57
+; 0x810a4 + 65 bytes
+
+_SSAnne6Text1: ; 0x810e5
+	db $0, "You, mon petit!", $4f
+	db "We're busy here!", $55
+	db "Out of the way!", $57
+
+_SSAnne6Text2: ; 0x81116
+	db $0, "I saw an odd ball", $4f
+	db "in the trash.", $57
+
+_SSAnne6Text3: ; 0x81137
+	db $0, "I'm so busy I'm", $4f
+	db "getting dizzy!", $57
+
+_SSAnne6Text4: ; 0x81155
+	db $0, "Hum-de-hum-de-", $4f
+	db "ho...", $51
+	db "I peel spuds", $4f
+	db "every day!", $55
+	db "Hum-hum...", $57
+
+_SSAnne6Text5: ; 0x8118e
+	db $0, "Did you hear about", $4f
+	db "SNORLAX?", $51
+	db "All it does is", $4f
+	db "eat and sleep!", $57
+
+_SSAnne6Text6: ; 0x811c9
+	db $0, "Snivel...Sniff...", $51
+	db "I only get to", $4f
+	db "peel onions...", $55
+	db "Snivel...", $57
+
+_UnnamedText_61807: ; 0x81203
+	db $0, "Er-hem! Indeed I", $4f
+	db "am le CHEF!", $51
+	db "Le main course is", $58
+; 0x81203 + 48 bytes
+
+_UnnamedText_6180c: ; 0x81233
+	db $0, "Salmon du Salad!", $51
+	db "Les guests may", $4f
+	db "gripe it's fish", $55
+	db "again, however!", $57
+; 0x81233 + 64 bytes
+
+_UnnamedText_61811: ; 0x81273
+	db $0, "Eels au Barbecue!", $51
+	db "Les guests will", $4f
+	db "mutiny, I fear.", $57
+; 0x81273 + 51 bytes
+
+_UnnamedText_61816: ; 0x812a6
+	db $0, "Prime Beef Steak!", $51
+	db "But, have I enough", $4f
+	db "fillets du beef?", $57
+; 0x812a6 + 55 bytes
+
+_SSAnne7RubText: ; 0x812dd
+	db $0, "CAPTAIN: Ooargh...", $4f
+	db "I feel hideous...", $55
+	db "Urrp! Seasick...", $51
+	db $52, " rubbed", $4f
+	db "the CAPTAIN's", $55
+	db "back!", $51
+	db "Rub-rub...", $4f
+	db "Rub-rub...@@"
+; 0x81347
+
+_ReceivingHM01Text: ; 0x81347
+	db $0, "CAPTAIN: Whew!", $4f
+	db "Thank you! I", $55
+	db "feel much better!", $51
+	db "You want to see", $4f
+	db "my CUT technique?", $51
+	db "I could show you", $4f
+	db "if I wasn't ill...", $51
+	db "I know! You can", $4f
+	db "have this!", $51
+	db "Teach it to your", $4f
+	db "#MON and you", $55
+	db "can see it CUT", $55
+	db "any time!", $58
+; 0x81347 + 198 bytes
+
+_ReceivedHM01Text: ; 0x8140d
+	db $0, $52, " got", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x8141c
+
+_UnnamedText_61932: ; 0x8141c
+	db $0, "CAPTAIN: Whew!", $51
+	db "Now that I'm not", $4f
+	db "sick any more, I", $55
+	db "guess it's time.", $57
+; 0x8141c + 65 bytes
+
+_HM01NoRoomText: ; 0x8145d
+	db $0, "Oh no! You have", $4f
+	db "no room for this!", $57
+; 0x8145d + 35 bytes
+
+_SSAnne7Text2: ; 0x81480
+	db $0, "Yuck! Shouldn't", $4f
+	db "have looked!", $57
+
+_SSAnne7Text3: ; 0x8149d
+	db $0, "How to Conquer", $4f
+	db "Seasickness...", $55
+	db "The CAPTAIN's", $55
+	db "reading this!", $57
+
+_SSAnne8Text8: ; 0x814d7
+	db $0, "WIGGLYTUFF: Puup", $4f
+	db "pupuu!@@"
+
+_UnnamedText_61a0b: ; 0x814f1
+	db $0, "I travel alone", $4f
+	db "on my journeys!", $51
+	db "My #MON are my", $4f
+	db "only friends!", $57
+; 0x814f1 + 61 bytes
+
+_UnnamedText_61a10: ; 0x8152e
+	db $0, "My, my", $4f
+	db "friends...", $58
+; 0x8152e + 19 bytes
+
+_UnnamedText_61a15: ; 0x81541
+	db $0, "You should be", $4f
+	db "nice to friends!", $57
+; 0x81541 + 32 bytes
+
+_UnnamedText_61a1a: ; 0x81561
+	db $0, "You pup! How dare", $4f
+	db "you barge in!", $57
+; 0x81561 + 33 bytes
+
+_UnnamedText_61a1f: ; 0x81582
+	db $0, "Humph!", $4f
+	db "You rude child!", $58
+; 0x81582 + 24 bytes
+
+_UnnamedText_61a24: ; 0x8159a
+	db $0, "I wish to be left", $4f
+	db "alone! Get out!", $57
+; 0x8159a + 35 bytes
+
+_UnnamedText_61a29: ; 0x815bd
+	db $0, "I love #MON!", $4f
+	db "Do you?", $57
+; 0x815bd + 22 bytes
+
+_UnnamedText_61a2e: ; 0x815d3
+	db $0, "Wow! ", $4f
+	db "You're great!", $58
+; 0x815d3 + 20 bytes
+
+_UnnamedText_61a33: ; 0x815e7
+	db $0, "Let me be your", $4f
+	db "friend, OK?", $51
+	db "Then we can trade", $4f
+	db "#MON!", $57
+; 0x815e7 + 52 bytes
+
+_UnnamedText_61a38: ; 0x8161b
+	db $0, "I collected these", $4f
+	db "#MON from all", $55
+	db "around the world!", $57
+; 0x8161b + 51 bytes
+
+_UnnamedText_61a3d: ; 0x8164e
+	db $0, "Oh no!", $4f
+	db "I went around the", $55
+	db "world for these!", $58
+; 0x8164e + 43 bytes
+
+_UnnamedText_61a42: ; 0x81679
+	db $0, "You hurt my poor", $4f
+	db "worldly #MON!", $51
+	db "I demand that you", $4f
+	db "heal them at a", $55
+	db "#MON CENTER!", $57
+; 0x81679 + 78 bytes
+
+_SSAnne8Text5: ; 0x816c7
+	db $0, "Waiter, I would", $4f
+	db "like a cherry pie", $55
+	db "please!", $57
+
+_SSAnne8Text6: ; 0x816f2
+	db $0, "A cruise is so", $4f
+	db "elegant yet cozy!", $57
+
+_SSAnne8Text7: ; 0x81714
+	db $0, "I always travel", $4f
+	db "with WIGGLYTUFF!", $57
+
+_SSAnne8Text9: ; 0x81736
+	db $0, "We are cruising", $4f
+	db "around the world.", $57
+
+_SSAnne8Text11: ; 0x81759
+	db $0, "Ssh! I'm a GLOBAL", $4f
+	db "POLICE agent!", $51
+	db "I'm on the trail", $4f
+	db "of TEAM ROCKET!", $57
+
+_UnnamedText_61bf2: ; 0x81799
+	db $0, "In all my travels", $4f
+	db "I've never seen", $55
+	db "any #MON sleep", $55
+	db "like this one!", $51
+	db "It was something", $4f
+	db "like this!", $58
+; 0x81799 + 92 bytes
+
+_UnnamedText_61c01: ; 0x817f5
+	db $0, "Ah yes, I have", $4f
+	db "seen some #MON", $55
+	db "ferry people", $55
+	db "across the water!", $57
+; 0x817f5 + 62 bytes
+
+_UnnamedText_61c10: ; 0x81833
+	db $0, "#MON can CUT", $4f
+	db "down small bushes.", $57
+; 0x81833 + 33 bytes
+
+_UnnamedText_61c1f: ; 0x81854
+	db $0, "Have you gone to", $4f
+	db "the SAFARI ZONE", $55
+	db "in FUCHSIA CITY?", $51
+	db "It had many rare", $4f
+	db "kinds of #MON!!", $57
+; 0x81854 + 84 bytes
+
+_UnnamedText_61c2e: ; 0x818a8
+	db $0, "Me and my Daddy", $4f
+	db "think the SAFARI", $55
+	db "ZONE is awesome!", $57
+; 0x818a8 + 51 bytes
+
+_UnnamedText_61c3d: ; 0x818db
+	db $0, "The CAPTAIN looked", $4f
+	db "really sick and", $55
+	db "pale!", $57
+; 0x818db + 42 bytes
+
+_UnnamedText_61c4c: ; 0x81905
+	db $0, "I hear many people", $4f
+	db "get seasick!", $57
+; 0x81905 + 33 bytes
+
+_UnnamedText_61c51: ; 0x81926
+	db $0, "Competing against", $4f
+	db "the young keeps", $55
+	db "me youthful.", $57
+; 0x81926 + 48 bytes
+
+_UnnamedText_61c56: ; 0x81956
+	db $0, "Good", $4f
+	db "fight! Ah, I feel", $55
+	db "young again!", $58
+; 0x81956 + 37 bytes
+
+_UnnamedText_61c5b: ; 0x8197b
+	db $0, "15 years ago, I", $4f
+	db "would have won!", $57
+; 0x8197b + 33 bytes
+
+_UnnamedText_61c60: ; 0x8199c
+	db $0, "Check out what I", $4f
+	db "fished up!", $57
+; 0x8199c + 29 bytes
+
+_UnnamedText_61c65: ; 0x819b9
+	db $0, "I'm", $4f
+	db "all out!", $58
+; 0x819b9 + 13 bytes
+
+_UnnamedText_61c6a: ; 0x819c6
+	db $0, "Party?", $51
+	db "The cruise ship's", $4f
+	db "party should be", $55
+	db "over by now.", $57
+; 0x819c6 + 54 bytes
+
+_UnnamedText_61c6f: ; 0x819fc
+	db $0, "Which do you like,", $4f
+	db "a strong or a", $55
+	db "rare #MON?", $57
+; 0x819fc + 45 bytes
+
+_UnnamedText_61c74: ; 0x81a29
+	db $0, "I must", $4f
+	db "salute you!", $58
+; 0x81a29 + 20 bytes
+
+_UnnamedText_61c79: ; 0x81a3d
+	db $0, "I prefer strong", $4f
+	db "and rare #MON.", $57
+; 0x81a3d + 32 bytes
+
+_UnnamedText_61c7e: ; 0x81a5d
+	db $0, "I never saw you", $4f
+	db "at the party.", $57
+; 0x81a5d + 31 bytes
+
+_UnnamedText_61c83: ; 0x81a7c
+	db $0, "Take", $4f
+	db "it easy!", $58
+; 0x81a7c + 15 bytes
+
+_UnnamedText_61c88: ; 0x81a8b
+	db $0, "Oh, I adore your", $4f
+	db "strong #MON!", $57
+; 0x81a8b + 31 bytes
+
+_SSAnne10Text8: ; 0x81aaa
+	db $0, "MACHOKE: Gwoh!", $4f
+	db "Goggoh!@@"
+
+_UnnamedText_61e16: ; 0x81ac3
+	db $0, "You know what they", $4f
+	db "say about sailors", $55
+	db "and fighting!", $57
+; 0x81ac3 + 52 bytes
+
+_UnnamedText_61e1b: ; 0x81af7
+	db $0, "Right!", $4f
+	db "Good fight, mate!", $58
+; 0x81af7 + 26 bytes
+
+_UnnamedText_61e20: ; 0x81b11
+	db $0, "Haha! Want to be", $4f
+	db "a sailor, mate?", $57
+; 0x81b11 + 34 bytes
+
+_UnnamedText_61e25: ; 0x81b33
+	db $0, "My sailor's pride", $4f
+	db "is at stake!", $57
+; 0x81b33 + 31 bytes
+
+_UnnamedText_61e2a: ; 0x81b52
+	db $0, "Your", $4f
+	db "spirit sank me!", $58
+; 0x81b52 + 22 bytes
+
+_UnnamedText_61e2f: ; 0x81b68
+	db $0, "Did you see the", $4f
+	db "FISHING GURU in", $55
+	db "VERMILION CITY?", $57
+; 0x81b68 + 49 bytes
+
+_UnnamedText_61e34: ; 0x81b99
+	db $0, "Us sailors have", $4f
+	db "#MON too!", $57
+; 0x81b99 + 27 bytes
+
+_UnnamedText_61e39: ; 0x81bb4
+	db $0, "OK, ", $4f
+	db "you're not bad.", $58
+; 0x81bb4 + 21 bytes
+
+_UnnamedText_61e3e: ; 0x81bc9
+	db $0, "We caught all our", $4f
+	db "#MON while", $55
+	db "out at sea!", $57
+; 0x81bc9 + 42 bytes
+
+_UnnamedText_61e43: ; 0x81bf3
+	db $0, "I like feisty", $4f
+	db "kids like you!@@"
+; 0x81bf3 + 31 bytes
+
+_UnnamedText_61e48: ; 0x81c12
+	db $0, "Argh!", $4f
+	db "Lost it!", $58
+; 0x81c12 + 16 bytes
+
+_UnnamedText_61e4d: ; 0x81c22
+	db $0, "Sea #MON live", $4f
+	db "in deep water.", $55
+	db "You'll need a ROD!", $57
+; 0x81c22 + 48 bytes
+
+_UnnamedText_61e52: ; 0x81c52
+	db $0, "Matey, you're", $4f
+	db "walking the plank", $55
+	db "if you lose!", $57
+; 0x81c52 + 45 bytes
+
+_UnnamedText_61e57: ; 0x81c7f
+	db $0, "Argh!", $4f
+	db "Beaten by a kid!", $58
+; 0x81c7f + 24 bytes
+
+_UnnamedText_61e5c: ; 0x81c97
+	db $0, "Jellyfish some-", $4f
+	db "times drift into", $55
+	db "the ship.", $57
+; 0x81c97 + 44 bytes
+
+_UnnamedText_61e61: ; 0x81cc3
+	db $0, "Hello stranger!", $4f
+	db "Stop and chat!", $51
+	db "All my #MON", $4f
+	db "are from the sea!", $57
+; 0x81cc3 + 62 bytes
+
+_UnnamedText_61e66: ; 0x81d01
+	db $0, "Darn!", $4f
+	db "I let that one", $55
+	db "get away!", $58
+; 0x81d01 + 32 bytes
+
+_UnnamedText_61e6b: ; 0x81d21
+	db $0, "I was going to", $4f
+	db "make you my", $55
+	db "assistant too!", $57
+; 0x81d21 + 43 bytes
+
+_SSAnne10Text7: ; 0x81d4c
+	db $0, "My buddy, MACHOKE,", $4f
+	db "is super strong!", $51
+	db "He has enough", $4f
+	db "STRENGTH to move", $55
+	db "big rocks!", $57
+
+_UnnamedText_44a91: ; 0x81d9b
+	db $0, "I heard rumors of", $4f
+	db "a child prodigy!", $57
+; 0x81d9b + 36 bytes
+
+_UnnamedText_44a96: ; 0x81dbf
+	db $0, "The", $4f
+	db "rumors were true!", $58
+; 0x81dbf + 23 bytes
+
+_UnnamedText_44a9b: ; 0x81dd6
+	db $0, "You beat GIOVANNI", $4f
+	db "of TEAM ROCKET?", $57
+; 0x81dd6 + 35 bytes
+
+_UnnamedText_44aa0: ; 0x81df9
+	db $0, "I'll show you just", $4f
+	db "how good you are!", $57
+; 0x81df9 + 37 bytes
+
+_UnnamedText_44aa5: ; 0x81e1e
+	db $0, "I'm", $4f
+	db "furious!", $58
+; 0x81e1e + 13 bytes
+
+_UnnamedText_44aaa: ; 0x81e2b
+	db $0, "You showed me just", $4f
+	db "how good I was!", $57
+; 0x81e2b + 36 bytes
+
+_UnnamedText_44aaf: ; 0x81e4f
+	db $0, "Only the chosen", $4f
+	db "can pass here!", $57
+; 0x81e4f + 32 bytes
+
+_UnnamedText_44ab4: ; 0x81e6f
+	db $0, "I", $4f
+	db "don't believe it!", $58
+; 0x81e6f + 20 bytes
+
+_UnnamedText_44ab9: ; 0x81e83
+	db $0, "All trainers here", $4f
+	db "are headed to the", $55
+	db "#MON LEAGUE!", $55
+	db "Be careful!", $57
+; 0x81e83 + 62 bytes
+
+_UnnamedText_44abe: ; 0x81ec1
+	db $0, "Trainers live to", $4f
+	db "seek stronger", $55
+	db "opponents!", $57
+; 0x81ec1 + 43 bytes
+
+_UnnamedText_44ac3: ; 0x81eec
+	db $0, "Oh!", $4f
+	db "So strong!", $58
+; 0x81eec + 16 bytes
+
+_UnnamedText_44ac8: ; 0x81efc
+	db $0, "By fighting tough", $4f
+	db "battles, you get", $55
+	db "stronger!", $57
+; 0x81efc + 46 bytes
+
+_UnnamedText_44c91: ; 0x81f2a
+	db $0, "Why...?@@"
+; 0x81f34
+
+_UnnamedText_44ca1: ; 0x81f34
+	db $0, "Who are you? How", $4f
+	db "did you get here?", $57
+; 0x81f34 + 36 bytes
+
+_UnnamedText_44ca6: ; 0x81f58
+	db $0, "Oww!", $4f
+	db "Beaten!", $58
+; 0x81f58 + 14 bytes
+
+_UnnamedText_44cab: ; 0x81f66
+	db $0, "Are you dissing", $4f
+	db "TEAM ROCKET?", $57
+; 0x81f66 + 30 bytes
+
+_UnnamedText_44cb0: ; 0x81f84
+	db $0, "You broke into", $4f
+	db "our operation?", $57
+; 0x81f84 + 31 bytes
+
+_UnnamedText_44cb5: ; 0x81fa3
+	db $0, "Burnt!", $58
+; 0x81fa3 + 8 bytes
+
+_UnnamedText_44cba: ; 0x81fab
+	db $0, "You're not going", $4f
+	db "to get away with", $55
+	db "this, brat!", $57
+; 0x81fab + 46 bytes
+
+_UnnamedText_44cbf: ; 0x81fd9
+	db $0, "Intruder alert!", $57
+; 0x81fd9 + 17 bytes
+
+_UnnamedText_44cc4: ; 0x81fea
+	db $0, "I", $4f
+	db "can't do it!", $58
+; 0x81fea + 15 bytes
+
+_UnnamedText_44cc9: ; 0x81ff9
+	db $0, "SILPH SCOPE?", $4f
+	db "I don't know", $55
+	db "where it is!", $57
+; 0x81ff9 + 39 bytes
+
+_UnnamedText_44cce: ; 0x82020
+	db $0, "Why did you come", $4f
+	db "here?", $57
+; 0x82020 + 24 bytes
+
+_UnnamedText_44cd3: ; 0x82038
+	db $0, "This", $4f
+	db "won't do!", $58
+; 0x82038 + 15 bytes
+
+_UnnamedText_44cd8: ; 0x82047
+	db $0, "OK, I'll talk!", $4f
+	db "Take the elevator", $55
+	db "to see my BOSS!", $57
+; 0x82047 + 49 bytes
+
+_UnnamedText_44cdd: ; 0x82078
+	db $0, "Are you lost, you", $4f
+	db "little rat?", $57
+; 0x82078 + 31 bytes
+
+_UnnamedText_44ce2: ; 0x82097
+	db $0, "Uh-oh, that fight", $4f
+	db "opened the door!", $57
+; 0x82097 + 36 bytes
+
+_UnnamedText_450e8: ; 0x820bb
+	db $0, "BOSS said you can", $4f
+	db "see GHOSTs with", $55
+	db "the SILPH SCOPE!", $57
+; 0x820bb + 52 bytes
+
+_UnnamedText_450ed: ; 0x820ef
+	db $0, "I", $4f
+	db "surrender!", $58
+; 0x820ef + 14 bytes
+
+_UnnamedText_450f2: ; 0x820fd
+	db $0, "The TEAM ROCKET", $4f
+	db "HQ has 4 basement", $55
+	db "floors. Can you", $55
+	db "reach the BOSS?", $57
+; 0x820fd + 67 bytes
+
+_UnnamedText_45325: ; 0x82140
+	db $0, "Stop meddling in", $4f
+	db "TEAM ROCKET's", $55
+	db "affairs!", $57
+; 0x82140 + 40 bytes
+
+_UnnamedText_4532a: ; 0x82168
+	db $0, "Oof!", $4f
+	db "Taken down!", $58
+; 0x82168 + 18 bytes
+
+_UnnamedText_4532f: ; 0x8217a
+	db $0, "SILPH SCOPE?", $4f
+	db "The machine the", $55
+	db "BOSS stole. It's", $55
+	db "here somewhere.", $57
+; 0x8217a + 62 bytes
+
+_UnnamedText_4533e: ; 0x821b8
+	db $0, "We got word from", $4f
+	db "upstairs that you", $55
+	db "were coming!", $57
+; 0x821b8 + 49 bytes
+
+_UnnamedText_45343: ; 0x821e9
+	db $0, "What?", $4f
+	db "I lost? No!", $58
+; 0x821e9 + 19 bytes
+
+_UnnamedText_45348: ; 0x821fc
+	db $0, "Go ahead and go!", $4f
+	db "But, you need the", $55
+	db "LIFT KEY to run", $55
+	db "the elevator!", $57
+; 0x821fc + 66 bytes
+
+_UnnamedText_4557a: ; 0x8223e
+	db $0, "So! I must say, I", $4f
+	db "am impressed you", $55
+	db "got here!", $57
+; 0x8223e + 46 bytes
+
+_UnnamedText_4557f: ; 0x8226c
+	db $0, "WHAT!", $4f
+	db "This cannot be!", $58
+; 0x8226c + 23 bytes
+
+_UnnamedText_45584: ; 0x82283
+	db $0, "I see that you", $4f
+	db "raise #MON", $55
+	db "with utmost care.", $51
+	db "A child like you", $4f
+	db "would never", $55
+	db "understand what I", $55
+	db "hope to achieve.", $51
+	db "I shall step", $4f
+	db "aside this time!", $51
+	db "I hope we meet", $4f
+	db "again...", $57
+; 0x82283 + 163 bytes
+
+_UnnamedText_45593: ; 0x82326
+	db $0, "I know you! You", $4f
+	db "ruined our plans", $55
+	db "at MT.MOON!", $57
+; 0x82326 + 46 bytes
+
+_UnnamedText_45598: ; 0x82354
+	db $0, "Burned", $4f
+	db "again!", $58
+; 0x82354 + 15 bytes
+
+_UnnamedText_4559d: ; 0x82363
+	db $0, "Do you have", $4f
+	db "something against", $55
+	db "TEAM ROCKET?", $57
+; 0x82363 + 44 bytes
+
+_UnnamedText_455ac: ; 0x8238f
+	db $0, "How can you not", $4f
+	db "see the beauty of", $55
+	db "our evil?", $57
+; 0x8238f + 45 bytes
+
+_UnnamedText_455b1: ; 0x823bc
+	db $0, "Ayaya!", $58
+; 0x823bc + 8 bytes
+
+_UnnamedText_455b6: ; 0x823c4
+	db $0, "BOSS! I'm sorry I", $4f
+	db "failed you!", $57
+; 0x823c4 + 30 bytes
+
+_UnnamedText_455c5: ; 0x823e2
+	db $0, "The elevator", $4f
+	db "doesn't work? Who", $55
+	db "has the LIFT KEY?", $57
+; 0x823e2 + 49 bytes
+
+_UnnamedText_455ca: ; 0x82413
+	db $0, "No!", $58
+; 0x82413 + 5 bytes
+
+_UnnamedText_455ec: ; 0x82418
+	db $0, "Oh no! I dropped", $4f
+	db "the LIFT KEY!", $57
+; 0x82418 + 32 bytes
+
+_UnnamedText_4578b: ; 0x82438
+	db $0, "It appears to", $4f
+	db "need a key.@@"
+; 0xa82454
+
+_UnnamedText_59ded: ; 0x82454
+	db $0, "Eeek!", $4f
+	db "No! Stop! Help!", $51
+	db "Oh, you're not", $4f
+	db "with TEAM ROCKET.", $55
+	db "I thought...", $55
+	db "I'm sorry. Here,", $55
+	db "please take this!", $58
+; 0x82454 + 102 bytes
+
+_ReceivedTM36Text: ; 0x824ba
+	db $0, $52, " got", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x824c9
+
+_TM36ExplanationText: ; 0x824c9
+	db $0, "TM36 is", $4f
+	db "SELFDESTRUCT!", $51
+	db "It's powerful, but", $4f
+	db "the #MON that", $55
+	db "uses it faints!", $55
+	db "Be careful.", $57
+; 0x824c9 + 83 bytes
+
+_TM36NoRoomText: ; 0x8251c
+	db $0, "You don't have any", $4f
+	db "room for this.", $57
+; 0x8251c + 34 bytes
+
+_UnnamedText_59e2a: ; 0x8253e
+	db $0, "Help! I'm a SILPH", $4f
+	db "employee.", $57
+; 0x8253e + 28 bytes
+
+_UnnamedText_59e2f: ; 0x8255a
+	db $0, "How", $4f
+	db "did you know I", $55
+	db "was a ROCKET?", $58
+; 0x8255a + 34 bytes
+
+_UnnamedText_59e34: ; 0x8257c
+	db $0, "I work for both", $4f
+	db "SILPH and TEAM", $55
+	db "ROCKET!", $57
+; 0x8257c + 40 bytes
+
+_UnnamedText_59e39: ; 0x825a4
+	db $0, "It's off limits", $4f
+	db "here! Go home!", $57
+; 0x825a4 + 31 bytes
+
+_UnnamedText_59e3e: ; 0x825c3
+	db $0, "You're", $4f
+	db "good.", $58
+; 0x825c3 + 13 bytes
+
+_UnnamedText_59e43: ; 0x825d0
+	db $0, "Can you solve the", $4f
+	db "maze in here?", $57
+; 0x825d0 + 33 bytes
+
+_UnnamedText_59e48: ; 0x825f1
+	db $0, "No kids are", $4f
+	db "allowed in here!", $57
+; 0x825f1 + 30 bytes
+
+_UnnamedText_59e4d: ; 0x8260f
+	db $0, "Tough!", $58
+; 0x8260f + 8 bytes
+
+_UnnamedText_59e52: ; 0x82617
+	db $0, "Diamond shaped", $4f
+	db "tiles are", $55
+	db "teleport blocks!", $51
+	db "They're hi-tech", $4f
+	db "transporters!", $57
+; 0x82617 + 72 bytes
+
+_UnnamedText_59e57: ; 0x8265f
+	db $0, "Hey kid! What are", $4f
+	db "you doing here?", $57
+; 0x8265f + 35 bytes
+
+_UnnamedText_59e5c: ; 0x82682
+	db $0, "I goofed!", $58
+; 0x82682 + 11 bytes
+
+_UnnamedText_59e61: ; 0x8268d
+	db $0, "SILPH CO. will", $4f
+	db "be merged with", $55
+	db "TEAM ROCKET!", $57
+; 0x8268d + 44 bytes
+
+_UnnamedText_59ff9: ; 0x826b9
+	db $0, "I work for SILPH.", $4f
+	db "What should I do?", $57
+; 0x826b9 + 37 bytes
+
+_UnnamedText_59ffe: ; 0x826de
+	db $0, $52, "! You and", $4f
+	db "your #MON", $55
+	db "saved us!", $57
+; 0x826de + 32 bytes
+
+_UnnamedText_5a00d: ; 0x826fe
+	db $0, "Quit messing with", $4f
+	db "us, kid!", $57
+; 0x826fe + 28 bytes
+
+_UnnamedText_5a012: ; 0x8271a
+	db $0, "I give", $4f
+	db "up!", $58
+; 0x8271a + 12 bytes
+
+_UnnamedText_5a017: ; 0x82726
+	db $0, "A hint? You can", $4f
+	db "open doors with a", $55
+	db "CARD KEY!", $57
+; 0x82726 + 45 bytes
+
+_UnnamedText_5a026: ; 0x82753
+	db $0, "I support TEAM", $4f
+	db "ROCKET more than", $55
+	db "I support SILPH!", $57
+; 0x82753 + 50 bytes
+
+_UnnamedText_5a02b: ; 0x82785
+	db $0, "You", $4f
+	db "really got me!", $58
+; 0x82785 + 20 bytes
+
+_UnnamedText_5a030: ; 0x82799
+	db $0, "Humph...", $51
+	db "TEAM ROCKET said", $4f
+	db "that if I helped", $55
+	db "them, they'd let", $55
+	db "me study #MON!", $57
+; 0x82799 + 75 bytes
+
+_UnnamedText_19de0: ; 0x827e4
+	db $0, "Sssh! Can't you", $4f
+	db "see I'm hiding?", $57
+; 0x827e4 + 31 bytes
+
+_UnnamedText_19de5: ; 0x82803
+	db $0, "Huh? TEAM ROCKET", $4f
+	db "is gone?", $57
+; 0x82803 + 27 bytes
+
+_UnnamedText_19df4: ; 0x8281e
+	db $0, "TEAM ROCKET has", $4f
+	db "taken command of", $55
+	db "SILPH CO.!", $57
+; 0x8281e + 45 bytes
+
+_UnnamedText_19df9: ; 0x8284b
+	db $0, "Arrgh!", $58
+; 0x8284b + 8 bytes
+
+_UnnamedText_19dfe: ; 0x82853
+	db $0, "Fwahahaha!", $4f
+	db "My BOSS has been", $55
+	db "after this place!", $57
+; 0x82853 + 47 bytes
+
+_UnnamedText_19e0d: ; 0x82882
+	db $0, "My #MON are my", $4f
+	db "loyal soldiers!", $57
+; 0x82882 + 32 bytes
+
+_UnnamedText_19e12: ; 0x828a2
+	db $0, "Darn!", $4f
+	db "You weak #MON!", $58
+; 0x828a2 + 22 bytes
+
+_UnnamedText_19e17: ; 0x828b8
+	db $0, "The doors are", $4f
+	db "electronically", $55
+	db "locked! A CARD", $55
+	db "KEY opens them!", $57
+; 0x828b8 + 61 bytes
+
+_UnnamedText_19e26: ; 0x828f5
+	db $0, "Intruder spotted!", $57
+; 0x828f5 + 19 bytes
+
+_UnnamedText_19e2b: ; 0x82908
+	db $0, "Who", $4f
+	db "are you?", $58
+; 0x82908 + 14 bytes
+
+_UnnamedText_19e30: ; 0x82916
+	db $0, "I better tell the", $4f
+	db "BOSS on 11F!", $57
+; 0x82916 + 32 bytes
+
+_UnnamedText_1a010: ; 0x82936
+	db $0, "TEAM ROCKET is", $4f
+	db "in an uproar over", $55
+	db "some intruder.", $55
+	db "That's you right?", $57
+; 0x82936 + 66 bytes
+
+_UnnamedText_1a015: ; 0x82978
+	db $0, "TEAM ROCKET took", $4f
+	db "off! You're our", $55
+	db "hero! Thank you!", $57
+; 0x82978 + 50 bytes
+
+_UnnamedText_1a024: ; 0x829aa
+	db $0, "I heard a kid was", $4f
+	db "wandering around.", $57
+; 0x829aa + 37 bytes
+
+_UnnamedText_1a029: ; 0x829cf
+	db $0, "Boom!", $58
+; 0x829cf + 7 bytes
+
+_UnnamedText_1a02e: ; 0x829d6
+	db $0, "It's not smart", $4f
+	db "to pick a fight", $55
+	db "with TEAM ROCKET!", $57
+; 0x829d6 + 49 bytes
+
+_UnnamedText_1a03d: ; 0x82a07
+	db $0, "We study #", $4f
+	db "BALL technology", $55
+	db "on this floor!", $57
+; 0x82a07 + 43 bytes
+
+_UnnamedText_1a042: ; 0x82a32
+	db $0, "Dang!", $4f
+	db "Blast it!", $58
+; 0x82a32 + 17 bytes
+
+_UnnamedText_1a047: ; 0x82a43
+	db $0, "We worked on the", $4f
+	db "ultimate #", $55
+	db "BALL which would", $55
+	db "catch anything!", $57
+; 0x82a43 + 62 bytes
+
+_UnnamedText_1a056: ; 0x82a81
+	db $0, "Whaaat? There", $4f
+	db "shouldn't be any", $55
+	db "children here?", $57
+; 0x82a81 + 46 bytes
+
+SECTION "bank21",DATA,BANK[$21]
+
+_UnnamedText_1a05b: ; 0x84000
+	db $0, "Oh", $4f
+	db "goodness!", $58
+; 0x84000 + 14 bytes
+
+_UnnamedText_1a060: ; 0x8400e
+	db $0, "You're only on 5F.", $4f
+	db "It's a long way", $55
+	db "to my BOSS!", $57
+; 0x8400e + 46 bytes
+
+_UnnamedText_1a06f: ; 0x8403c
+	db $0, "Show TEAM ROCKET", $4f
+	db "a little respect!", $57
+; 0x8403c + 36 bytes
+
+_UnnamedText_1a074: ; 0x84060
+	db $0, "Cough...", $4f
+	db "Cough...", $58
+; 0x84060 + 19 bytes
+
+_UnnamedText_1a079: ; 0x84073
+	db $0, "Which reminds me.", $51
+	db "KOFFING evolves", $4f
+	db "into WEEZING!", $57
+; 0x84073 + 49 bytes
+
+_SilphCo5Text9: ; 0x840a4
+	db $0, "It's a #MON", $4f
+	db "REPORT!", $51
+	db "#MON LAB", $4f
+	db "created PORYGON,", $55
+	db "the first virtual", $55
+	db "reality #MON.", $57
+
+_SilphCo5Text10: ; 0x840f2
+	db $0, "It's a #MON", $4f
+	db "REPORT!", $51
+	db "Over 160 #MON", $4f
+	db "techniques have", $55
+	db "been confirmed.", $57
+
+_SilphCo5Text11: ; 0x84134
+	db $0, "It's a #MON", $4f
+	db "REPORT!", $51
+	db "4 #MON evolve", $4f
+	db "only when traded", $55
+	db "by link-cable.", $57
+
+_UnnamedText_1a24a: ; 0x84176
+	db $0, "The ROCKETs came", $4f
+	db "and took over the", $55
+	db "building!", $57
+; 0x84176 + 46 bytes
+
+_UnnamedText_1a24f: ; 0x841a4
+	db $0, "Well, better get", $4f
+	db "back to work!", $57
+; 0x841a4 + 32 bytes
+
+_UnnamedText_1a261: ; 0x841c4
+	db $0, "Oh dear, oh dear.", $4f
+	db "Help me please!", $57
+; 0x841c4 + 35 bytes
+
+_UnnamedText_1a266: ; 0x841e7
+	db $0, "We got engaged!", $4f
+	db "Heheh!", $57
+; 0x841e7 + 24 bytes
+
+_UnnamedText_1a278: ; 0x841ff
+	db $0, "Look at him! He's", $4f
+	db "such a coward!", $57
+; 0x841ff + 33 bytes
+
+_UnnamedText_1a27d: ; 0x84220
+	db $0, "I feel so sorry", $4f
+	db "for him, I have", $55
+	db "to marry him!", $57
+; 0x84220 + 47 bytes
+
+_UnnamedText_1a28f: ; 0x8424f
+	db $0, "TEAM ROCKET is", $4f
+	db "trying to conquer", $55
+	db "the world with", $55
+	db "#MON!", $57
+; 0x8424f + 55 bytes
+
+_UnnamedText_1a294: ; 0x84286
+	db $0, "TEAM ROCKET ran", $4f
+	db "because of you!", $57
+; 0x84286 + 33 bytes
+
+_UnnamedText_1a2a6: ; 0x842a7
+	db $0, "They must have", $4f
+	db "targeted SILPH", $55
+	db "for our #MON", $55
+	db "products.", $57
+; 0x842a7 + 54 bytes
+
+_UnnamedText_1a2ab: ; 0x842dd
+	db $0, "Come work for", $4f
+	db "SILPH when you", $55
+	db "get older!", $57
+; 0x842dd + 41 bytes
+
+_UnnamedText_1a2ba: ; 0x84306
+	db $0, "I am one of the 4", $4f
+	db "ROCKET BROTHERS!", $57
+; 0x84306 + 36 bytes
+
+_UnnamedText_1a2bf: ; 0x8432a
+	db $0, "Flame", $4f
+	db "out!", $58
+; 0x8432a + 12 bytes
+
+_UnnamedText_1a2c4: ; 0x84336
+	db $0, "No matter!", $4f
+	db "My brothers will", $55
+	db "avenge me!", $57
+; 0x84336 + 40 bytes
+
+_UnnamedText_1a2d3: ; 0x8435e
+	db $0, "That rotten", $4f
+	db "PRESIDENT!", $51
+	db "He shouldn't have", $4f
+	db "sent me to the", $55
+	db "TIKSI BRANCH!", $57
+; 0x8435e + 70 bytes
+
+_UnnamedText_1a2d8: ; 0x843a4
+	db $0, "Shoot!", $58
+; 0x843a4 + 8 bytes
+
+_UnnamedText_1a2dd: ; 0x843ac
+	db $0, "TIKSI BRANCH?", $4f
+	db "It's in Russian", $55
+	db "no man's land!", $57
+; 0x843ac + 44 bytes
+
+_UnnamedText_1a2ec: ; 0x843d8
+	db $0, "You dare betray", $4f
+	db "TEAM ROCKET?", $57
+; 0x843d8 + 30 bytes
+
+_UnnamedText_1a2f1: ; 0x843f6
+	db $0, "You", $4f
+	db "traitor!", $58
+; 0x843f6 + 14 bytes
+
+_UnnamedText_1a2f6: ; 0x84404
+	db $0, "If you stand for", $4f
+	db "justice, you", $55
+	db "betray evil!", $57
+; 0x84404 + 44 bytes
+
+_UnnamedText_51dd3: ; 0x84430
+	db $0, "Oh! Hi! You're", $4f
+	db "not a ROCKET! You", $55
+	db "came to save us?", $55
+	db "Why, thank you!", $51
+	db "I want you to", $4f
+	db "have this #MON", $55
+	db "for saving us.", $58
+; 0x84430 + 110 bytes
+
+_UnnamedText_51dd8: ; 0x8449e
+	db $0, "It's LAPRAS. It's", $4f
+	db "very intelligent.", $51
+	db "We kept it in our", $4f
+	db "lab, but it will", $55
+	db "be much better", $55
+	db "off with you!", $51
+	db "I think you will", $4f
+	db "be a good trainer", $55
+	db "for LAPRAS!", $51
+	db "It's a good", $4f
+	db "swimmer. It'll", $55
+	db "give you a lift!", $57
+; 0x8449e + 188 bytes
+
+_UnnamedText_51ddd: ; 0x8455a
+	db $0, "TEAM ROCKET's", $4f
+	db "BOSS went to the", $55
+	db "boardroom! Is our", $55
+	db "PRESIDENT OK?", $57
+; 0x8455a + 63 bytes
+
+_UnnamedText_51de2: ; 0x84599
+	db $0, "Saved at last!", $4f
+	db "Thank you!", $57
+; 0x84599 + 27 bytes
+
+_UnnamedText_51e00: ; 0x845b4
+	db $0, "TEAM ROCKET was", $4f
+	db "after the MASTER", $55
+	db "BALL which will", $55
+	db "catch any #MON!", $57
+; 0x845b4 + 66 bytes
+
+_UnnamedText_51e05: ; 0x845f6
+	db $0, "We canceled the", $4f
+	db "MASTER BALL", $55
+	db "project because", $55
+	db "of TEAM ROCKET.", $57
+; 0x845f6 + 61 bytes
+
+_UnnamedText_51e23: ; 0x84633
+	db $0, "It would be bad", $4f
+	db "if TEAM ROCKET", $55
+	db "took over SILPH", $55
+	db "or our #MON!", $57
+; 0x84633 + 61 bytes
+
+_UnnamedText_51e28: ; 0x84670
+	db $0, "Wow! You chased", $4f
+	db "off TEAM ROCKET", $55
+	db "all by yourself?", $57
+; 0x84670 + 50 bytes
+
+_UnnamedText_51e46: ; 0x846a2
+	db $0, "You! It's really", $4f
+	db "dangerous here!", $55
+	db "You came to save", $55
+	db "me? You can't!", $57
+; 0x846a2 + 64 bytes
+
+_UnnamedText_51e4b: ; 0x846e2
+	db $0, "Safe at last!", $4f
+	db "Oh thank you!", $57
+; 0x846e2 + 29 bytes
+
+_UnnamedText_51e5a: ; 0x846ff
+	db $0, "Oh ho! I smell a", $4f
+	db "little rat!", $57
+; 0x846ff + 30 bytes
+
+_UnnamedText_51e5f: ; 0x8471d
+	db $0, "Lights", $4f
+	db "out!", $58
+; 0x8471d + 13 bytes
+
+_UnnamedText_51e64: ; 0x8472a
+	db $0, "You won't find my", $4f
+	db "BOSS by just", $55
+	db "scurrying around!", $57
+; 0x8472a + 49 bytes
+
+_UnnamedText_51e73: ; 0x8475b
+	db $0, "Heheh!", $51
+	db "You mistook me for", $4f
+	db "a SILPH worker?", $57
+; 0x8475b + 43 bytes
+
+_UnnamedText_51e78: ; 0x84786
+	db $0, "I'm", $4f
+	db "done!", $58
+; 0x84786 + 10 bytes
+
+_UnnamedText_51e7d: ; 0x84790
+	db $0, "Despite your age,", $4f
+	db "you are a skilled", $55
+	db "trainer!", $57
+; 0x84790 + 46 bytes
+
+_UnnamedText_51e8c: ; 0x847be
+	db $0, "I am one of the 4", $4f
+	db "ROCKET BROTHERS!", $57
+; 0x847be + 36 bytes
+
+_UnnamedText_51e91: ; 0x847e2
+	db $0, "Aack!", $4f
+	db "Brothers, I lost!", $58
+; 0x847e2 + 25 bytes
+
+_UnnamedText_51e96: ; 0x847fb
+	db $0, "Doesn't matter.", $4f
+	db "My brothers will", $55
+	db "repay the favor!", $57
+; 0x847fb + 50 bytes
+
+_UnnamedText_51ea5: ; 0x8482d
+	db $0, "A child intruder?", $4f
+	db "That must be you!", $57
+; 0x8482d + 37 bytes
+
+_UnnamedText_51eaa: ; 0x84852
+	db $0, "Fine!", $4f
+	db "I lost!", $58
+; 0x84852 + 15 bytes
+
+_UnnamedText_51eaf: ; 0x84861
+	db $0, "Go on home", $4f
+	db "before my BOSS", $55
+	db "gets ticked off!", $57
+; 0x84861 + 44 bytes
+
+_UnnamedText_51ebe: ; 0x8488d
+	db $0, $53, ": What", $4f
+	db "kept you ", $52, "?", $57
+; 0x8488d + 21 bytes
+
+_UnnamedText_51ec3: ; 0x848a2
+	db $0, $53, ": Hahaha!", $4f
+	db "I thought you'd", $55
+	db "turn up if I", $55
+	db "waited here!", $51
+	db "I guess TEAM", $4f
+	db "ROCKET slowed you", $55
+	db "down! Not that I", $55
+	db "care!", $51
+	db "I saw you in", $4f
+	db "SAFFRON, so I", $55
+	db "decided to see if", $55
+	db "you got better!", $57
+; 0x848a2 + 168 bytes
+
+_UnnamedText_51ec8: ; 0x8494a
+	db $0, "Oh ho!", $4f
+	db "So, you are ready", $55
+	db "for BOSS ROCKET!", $58
+; 0x8494a + 43 bytes
+
+_UnnamedText_51ecd: ; 0x84975
+	db $0, $53, ": How can", $4f
+	db "I put this?", $51
+	db "You're not good", $4f
+	db "enough to play", $55
+	db "with us big boys!", $58
+; 0x84975 + 72 bytes
+
+_UnnamedText_51ed2: ; 0x849bd
+	db $0, "Well, ", $52, "!", $51
+	db "I'm moving on up", $4f
+	db "and ahead!", $51
+	db "By checking my", $4f
+	db "#DEX, I'm", $55
+	db "starting to see", $55
+	db "what's strong and", $55
+	db "how they evolve!", $51
+	db "I'm going to the", $4f
+	db "#MON LEAGUE", $55
+	db "to boot out the", $55
+	db "ELITE FOUR!", $51
+	db "I'll become the", $4f
+	db "world's most", $55
+	db "powerful trainer!", $51
+	db $52, ", well", $4f
+	db "good luck to you!", $55
+	db "Don't sweat it!", $55
+	db "Smell ya!", $57
+; 0x849bd + 263 bytes
+
+_UnnamedText_565be: ; 0x84ac4
+	db $0, "I wonder if SILPH", $4f
+	db "is finished...", $57
+; 0x84ac4 + 34 bytes
+
+_UnnamedText_565c3: ; 0x84ae6
+	db $0, "Thanks for saving", $4f
+	db "us!", $57
+; 0x84ae6 + 23 bytes
+
+_UnnamedText_565e6: ; 0x84afd
+	db $0, "That's as far as", $4f
+	db "you'll go!", $57
+; 0x84afd + 27 bytes
+
+_UnnamedText_565eb: ; 0x84b18
+	db $0, "Not", $4f
+	db "enough grit!", $58
+; 0x84b18 + 18 bytes
+
+_UnnamedText_565f0: ; 0x84b2a
+	db $0, "If you don't turn", $4f
+	db "back, I'll call", $55
+	db "for backup!", $57
+; 0x84b2a + 45 bytes
+
+_UnnamedText_565f5: ; 0x84b57
+	db $0, "You're causing us", $4f
+	db "problems!", $57
+; 0x84b57 + 28 bytes
+
+_UnnamedText_565fa: ; 0x84b73
+	db $0, "Huh?", $4f
+	db "I lost?", $58
+; 0x84b73 + 14 bytes
+
+_UnnamedText_565ff: ; 0x84b81
+	db $0, "So, what do you", $4f
+	db "think of SILPH", $55
+	db "BUILDING's maze?", $57
+; 0x84b81 + 48 bytes
+
+_UnnamedText_56604: ; 0x84bb1
+	db $0, "I am one of the 4", $4f
+	db "ROCKET BROTHERS!", $57
+; 0x84bb1 + 36 bytes
+
+_UnnamedText_56609: ; 0x84bd5
+	db $0, "Whoo!", $4f
+	db "Oh brothers!", $58
+; 0x84bd5 + 20 bytes
+
+_UnnamedText_5660e: ; 0x84be9
+	db $0, "I'll leave you up", $4f
+	db "to my brothers!", $57
+; 0x84be9 + 34 bytes
+
+_UnnamedText_5d8e5: ; 0x84c0b
+	db $0, "You look tired!", $4f
+	db "You should take a", $55
+	db "quick nap!", $58
+; 0x84c0b + 46 bytes
+
+_UnnamedText_5d8ea: ; 0x84c39
+	db $0, "Don't give up!", $57
+; 0x84c39 + 15 bytes
+
+_UnnamedText_5d8ef: ; 0x84c48
+	db $0, "Thank you so", $4f
+	db "much!", $57
+; 0x84c48 + 20 bytes
+
+_UnnamedText_5d912: ; 0x84c5c
+	db $0, "Your #MON seem", $4f
+	db "to adore you, kid!", $57
+; 0x84c5c + 35 bytes
+
+_UnnamedText_5d917: ; 0x84c7f
+	db $0, "Ghaaah!", $58
+; 0x84c7f + 9 bytes
+
+_UnnamedText_5d91c: ; 0x84c88
+	db $0, "If I had started", $4f
+	db "as a trainer at", $55
+	db "your age...", $57
+; 0x84c88 + 46 bytes
+
+_UnnamedText_5d921: ; 0x84cb6
+	db $0, "Your #MON have", $4f
+	db "weak points! I", $55
+	db "can nail them!", $57
+; 0x84cb6 + 46 bytes
+
+_UnnamedText_5d926: ; 0x84ce4
+	db $0, "You", $4f
+	db "hammered me!", $58
+; 0x84ce4 + 18 bytes
+
+_UnnamedText_5d92b: ; 0x84cf6
+	db $0, "Exploiting weak", $4f
+	db "spots does work!", $55
+	db "Think about", $55
+	db "element types!", $57
+; 0x84cf6 + 61 bytes
+
+_UnnamedText_5d930: ; 0x84d33
+	db $0, "I am one of the 4", $4f
+	db "ROCKET BROTHERS!", $57
+; 0x84d33 + 36 bytes
+
+_UnnamedText_5d935: ; 0x84d57
+	db $0, "Warg!", $4f
+	db "Brothers, I lost!", $58
+; 0x84d57 + 25 bytes
+
+_UnnamedText_5d93a: ; 0x84d70
+	db $0, "My brothers will", $4f
+	db "avenge me!", $57
+; 0x84d70 + 29 bytes
+
+_UnnamedText_5a1d3: ; 0x84d8d
+	db $0, "Waaaaa!", $55
+	db "I'm scared!", $57
+; 0x84d8d + 20 bytes
+
+_UnnamedText_5a1d8: ; 0x84da1
+	db $0, "Please keep quiet", $4f
+	db "about my crying!", $57
+; 0x84da1 + 36 bytes
+
+_UnnamedText_5a1dd: ; 0x84dc5
+	db $0, "Welcome to the", $4f
+	db "10F! So good of", $55
+	db "you to join me!", $57
+; 0x84dc5 + 48 bytes
+
+_UnnamedText_5a1e2: ; 0x84df5
+	db $0, "I'm", $4f
+	db "stunned!", $58
+; 0x84df5 + 13 bytes
+
+_UnnamedText_5a1e7: ; 0x84e02
+	db $0, "Nice try, but the", $4f
+	db "boardroom is up", $55
+	db "one more floor!", $57
+; 0x84e02 + 51 bytes
+
+_UnnamedText_5a1ec: ; 0x84e35
+	db $0, "Enough of your", $4f
+	db "silly games!", $57
+; 0x84e35 + 29 bytes
+
+_UnnamedText_5a1f1: ; 0x84e52
+	db $0, "No", $4f
+	db "continues left!", $58
+; 0x84e52 + 20 bytes
+
+_UnnamedText_5a1f6: ; 0x84e66
+	db $0, "Are you satisfied", $4f
+	db "with beating me?", $55
+	db "Then go on home!", $57
+; 0x84e66 + 53 bytes
+
+_SilphCoPresidentText: ; 0x84e9b
+	db $0, "PRESIDENT: Thank", $4f
+	db "you for saving", $55
+	db "SILPH!", $51
+	db "I will never", $4f
+	db "forget you saved", $55
+	db "us in our moment", $55
+	db "of peril!", $51
+	db "I have to thank", $4f
+	db "you in some way!", $51
+	db "Because I am rich,", $4f
+	db "I can give you", $55
+	db "anything!", $51
+	db "Here, maybe this", $4f
+	db "will do!", $58
+; 0x84e9b + 200 bytes
+
+_ReceivedSilphCoMasterBallText: ; 0x84f63
+	db $0, $52, " got a", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x84f74
+
+_UnnamedText_6231c: ; 0x84f74
+	db $0, "PRESIDENT: You", $4f
+	db "can't buy that", $55
+	db "anywhere!", $51
+	db "It's our secret", $4f
+	db "prototype MASTER", $55
+	db "BALL!", $51
+	db "It will catch any", $4f
+	db "#MON without", $55
+	db "fail!", $51
+	db "You should be", $4f
+	db "quiet about using", $55
+	db "it, though.", $57
+; 0x84f74 + 159 bytes
+
+_SilphCoMasterBallNoRoomText: ; 0x85013
+	db $0, "You have no", $4f
+	db "room for this.", $57
+; 0x85013 + 28 bytes
+
+_SilphCo11Text2: ; 0x8502f
+	db $0, "SECRETARY: Thank", $4f
+	db "you for rescuing", $55
+	db "all of us!", $51
+	db "We admire your", $4f
+	db "courage.", $57
+
+_SilphCo11Text3: ; 0x85075
+	db $0, "Ah ", $52, "!", $4f
+	db "So we meet again!", $51
+	db "The PRESIDENT and", $4f
+	db "I are discussing", $55
+	db "a vital business", $55
+	db "proposition.", $51
+	db "Keep your nose", $4f
+	db "out of grown-up", $55
+	db "matters...", $51
+	db "Or, experience a", $4f
+	db "world of pain!", $57
+
+_UnnamedText_62330: ; 0x85119
+	db $0, "Arrgh!!", $4f
+	db "I lost again!?", $58
+; 0x85119 + 24 bytes
+
+_UnnamedText_62335: ; 0x85131
+	db $0, "Blast it all!", $4f
+	db "You ruined our", $55
+	db "plans for SILPH!", $51
+	db "But, TEAM ROCKET", $4f
+	db "will never fall!", $51
+	db $52, "! Never", $4f
+	db "forget that all", $55
+	db "#MON exist", $55
+	db "for TEAM ROCKET!", $51
+	db "I must go, but I", $4f
+	db "shall return!", $57
+; 0x85131 + 165 bytes
+
+_UnnamedText_62344: ; 0x851d6
+	db $0, "Stop right there!", $4f
+	db "Don't you move!", $57
+; 0x851d6 + 34 bytes
+
+_UnnamedText_62349: ; 0x851f8
+	db $0, "Don't...", $4f
+	db "Please!", $58
+; 0x851f8 + 17 bytes
+
+_UnnamedText_6234e: ; 0x85209
+	db $0, "So, you want to", $4f
+	db "see my BOSS?", $57
+; 0x85209 + 30 bytes
+
+_UnnamedText_6235d: ; 0x85227
+	db $0, "Halt! Do you have", $4f
+	db "an appointment", $55
+	db "with my BOSS?", $57
+; 0x85227 + 48 bytes
+
+_UnnamedText_62362: ; 0x85257
+	db $0, "Gaah!", $4f
+	db "Demolished!", $58
+; 0x85257 + 19 bytes
+
+_UnnamedText_62367: ; 0x8526a
+	db $0, "Watch your step,", $4f
+	db "my BOSS likes his", $55
+	db "#MON tough!", $57
+; 0x8526a + 48 bytes
+
+_UnnamedText_6237b: ; 0x8529a
+	db $0, "The monitor has", $4f
+	db "#MON on it!", $57
+; 0x8529a + 29 bytes
+
+_UnnamedText_5206e: ; 0x852b7
+	db $0, "I can't get out!", $4f
+	db "This old place is", $55
+	db "one big puzzle!", $57
+; 0x852b7 + 51 bytes
+
+_UnnamedText_52073: ; 0x852ea
+	db $0, "Oh no!", $4f
+	db "My bag of loot!", $58
+; 0x852ea + 24 bytes
+
+_UnnamedText_52078: ; 0x85302
+	db $0, "Switches open and", $4f
+	db "close alternating", $55
+	db "sets of doors!", $57
+; 0x85302 + 52 bytes
+
+_Mansion2Text3: ; 0x85336
+	db $0, "Diary: July 5", $4f
+	db "Guyana,", $55
+	db "South America", $51
+	db "A new #MON was", $4f
+	db "discovered deep", $55
+	db "in the jungle.", $57
+
+_Mansion2Text4: ; 0x85389
+	db $0, "Diary: July 10", $4f
+	db "We christened the", $55
+	db "newly discovered", $55
+	db "#MON, MEW.", $57
+
+_UnnamedText_520c2: ; 0x853c7
+	db $0, "A secret switch!", $51
+	db "Press it?", $57
+; 0x853c7 + 28 bytes
+
+_UnnamedText_520c7: ; 0x853e3
+	db $0, "Who wouldn't?", $58
+; 0x853e3 + 14 bytes
+
+_UnnamedText_520cc: ; 0x853f1
+	db $0, "Not quite yet!", $57
+; 0x853f1 + 16 bytes
+
+_UnnamedText_522c3: ; 0x85401
+	db $0, "This place is", $4f
+	db "like, huge!", $57
+; 0x85401 + 27 bytes
+
+_UnnamedText_522c8: ; 0x8541c
+	db $0, "Ayah!", $58
+; 0x8541c + 7 bytes
+
+_UnnamedText_522cd: ; 0x85423
+	db $0, "I wonder where", $4f
+	db "my partner went.", $57
+; 0x85423 + 33 bytes
+
+_UnnamedText_522d2: ; 0x85444
+	db $0, "My mentor once", $4f
+	db "lived here.", $57
+; 0x85444 + 28 bytes
+
+_UnnamedText_522d7: ; 0x85460
+	db $0, "Whew!", $4f
+	db "Overwhelming!", $58
+; 0x85460 + 21 bytes
+
+_UnnamedText_522dc: ; 0x85475
+	db $0, "So, you're stuck?", $4f
+	db "Try jumping off", $55
+	db "over there!", $57
+; 0x85475 + 46 bytes
+
+_Mansion3Text5: ; 0x854a3
+	db $0, "Diary: Feb. 6", $4f
+	db "MEW gave birth.", $51
+	db "We named the", $4f
+	db "newborn MEWTWO.", $57
+
+_UnnamedText_52475: ; 0x854df
+	db $0, "Uh-oh. Where am", $4f
+	db "I now?", $57
+; 0x854df + 24 bytes
+
+_UnnamedText_5247a: ; 0x854f7
+	db $0, "Awooh!", $58
+; 0x854f7 + 8 bytes
+
+_UnnamedText_5247f: ; 0x854ff
+	db $0, "You can find stuff", $4f
+	db "lying around.", $57
+; 0x854ff + 34 bytes
+
+_UnnamedText_52484: ; 0x85521
+	db $0, "This place is", $4f
+	db "ideal for a lab.", $57
+; 0x85521 + 32 bytes
+
+_UnnamedText_52489: ; 0x85541
+	db $0, "What", $4f
+	db "was that for?", $58
+; 0x85541 + 20 bytes
+
+_UnnamedText_5248e: ; 0x85555
+	db $0, "I like it here!", $4f
+	db "It's conducive to", $55
+	db "my studies!", $57
+; 0x85555 + 46 bytes
+
+_Mansion4Text7: ; 0x85583
+	db $0, "Diary; Sept. 1", $4f
+	db "MEWTWO is far too", $55
+	db "powerful.", $51
+	db "We have failed to", $4f
+	db "curb its vicious", $55
+	db "tendencies...", $57
+
+_SafariZoneEastText5: ; 0x855e0
+	db $0, "REST HOUSE", $57
+
+_SafariZoneEastText6: ; 0x855ec
+	db $0, "TRAINER TIPS", $51
+	db "The remaining time", $4f
+	db "declines only", $55
+	db "while you walk!", $57
+
+_SafariZoneEastText7: ; 0x8562b
+	db $0, "CENTER AREA", $4f
+	db "NORTH: AREA 2", $57
+
+_SafariZoneNorthText3: ; 0x85646
+	db $0, "REST HOUSE", $57
+
+_SafariZoneNorthText4: ; 0x85652
+	db $0, "TRAINER TIPS", $51
+	db "The SECRET HOUSE", $4f
+	db "is still ahead!", $57
+
+_SafariZoneNorthText5: ; 0x85681
+	db $0, "AREA 2", $57
+
+_SafariZoneNorthText6: ; 0x85689
+	db $0, "TRAINER TIPS", $51
+	db "#MON hide in", $4f
+	db "tall grass!", $51
+	db "Zigzag through", $4f
+	db "grassy areas to", $55
+	db "flush them out.", $57
+
+_SafariZoneNorthText7: ; 0x856df
+	db $0, "TRAINER TIPS", $51
+	db "Win a free HM for", $4f
+	db "finding the", $55
+	db "SECRET HOUSE!", $57
+
+_SafariZoneWestText5: ; 0x85719
+	db $0, "REST HOUSE", $57
+
+_SafariZoneWestText6: ; 0x85725
+	db $0, "REQUEST NOTICE", $51
+	db "Please find the", $4f
+	db "SAFARI WARDEN's", $55
+	db "lost GOLD TEETH.", $55
+	db "They're around", $55
+	db "here somewhere.", $51
+	db "Reward offered!", $4f
+	db "Contact: WARDEN", $57
+
+_SafariZoneWestText7: ; 0x857a3
+	db $0, "TRAINER TIPS", $51
+	db "Zone Exploration", $4f
+	db "Campaign!", $51
+	db "The Search for", $4f
+	db "the SECRET HOUSE!", $57
+
+_SafariZoneWestText8: ; 0x857ed
+	db $0, "AREA 3", $4f
+	db "EAST: CENTER AREA", $57
+
+_SafariZoneCenterText2: ; 0x85807
+	db $0, "REST HOUSE", $57
+
+_SafariZoneCenterText3: ; 0x85813
+	db $0, "TRAINER TIPS", $51
+	db "Press the START", $4f
+	db "Button to check", $55
+	db "remaining time!", $57
+
+_SafariZoneRestHouse1Text1: ; 0x85851
+	db $0, "SARA: Where did", $4f
+	db "my boy friend,", $55
+	db "ERIK, go?", $57
+
+_SafariZoneRestHouse1Text2: ; 0x8587b
+	db $0, "I'm catching", $4f
+	db "#MON to take", $55
+	db "home as gifts!", $57
+
+_UnnamedText_4a350: ; 0x858a4
+	db $0, "Ah! Finally!", $51
+	db "You're the first", $4f
+	db "person to reach", $55
+	db "the SECRET HOUSE!", $51
+	db "I was getting", $4f
+	db "worried that no", $55
+	db "one would win our", $55
+	db "campaign prize.", $51
+	db "Congratulations!", $4f
+	db "You have won!", $58
+; 0x858a4 + 159 bytes
+
+_UnnamedText_4a355: ; 0x85943
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x85957
+
+_UnnamedText_4a35b: ; 0x85957
+	db $0, "HM03 is SURF!", $51
+	db "#MON will be", $4f
+	db "able to ferry you", $55
+	db "across water!", $51
+	db "And, this HM isn't", $4f
+	db "disposable! You", $55
+	db "can use it over", $55
+	db "and over!", $51
+	db "You're super lucky", $4f
+	db "for winning this", $55
+	db "fabulous prize!", $57
+; 0x85957 + 171 bytes
+
+_UnnamedText_4a360: ; 0x85a02
+	db $0, "You don't have", $4f
+	db "room for this", $55
+	db "fabulous prize!", $57
+; 0x85a02 + 45 bytes
+
+_SafariZoneRestHouse2Text1: ; 0x85a2f
+	db $0, "Tossing ROCKs at", $4f
+	db "#MON might", $55
+	db "make them run,", $55
+	db "but they'll be", $55
+	db "easier to catch.", $57
+
+_SafariZoneRestHouse2Text2: ; 0x85a7a
+	db $0, "Using BAIT will", $4f
+	db "make #MON", $55
+	db "easier to catch.", $57
+
+_SafariZoneRestHouse2Text3: ; 0x85aa6
+	db $0, "I hiked a lot, but", $4f
+	db "I didn't see any", $55
+	db "#MON I wanted.", $57
+
+_SafariZoneRestHouse3Text1: ; 0x85ad9
+	db $0, "How many did you", $4f
+	db "catch? I'm bushed", $55
+	db "from the work!", $57
+
+_SafariZoneRestHouse3Text2: ; 0x85b0b
+	db $0, "I caught a", $4f
+	db "CHANSEY!", $51
+	db "That makes this", $4f
+	db "all worthwhile!", $57
+
+_SafariZoneRestHouse3Text3: ; 0x85b40
+	db $0, "Whew! I'm tired", $4f
+	db "from all the fun!", $57
+
+_SafariZoneRestHouse4Text1: ; 0x85b62
+	db $0, "You can keep any", $4f
+	db "item you find on", $55
+	db "the ground here.", $51
+	db "But, you'll run", $4f
+	db "out of time if", $55
+	db "you try for all", $55
+	db "of them at once!", $57
+
+_SafariZoneRestHouse4Text2: ; 0x85bd5
+	db $0, "Go to the deepest", $4f
+	db "part of the", $55
+	db "SAFARI ZONE. You", $55
+	db "will win a prize!", $57
+
+_SafariZoneRestHouse4Text3: ; 0x85c17
+	db $0, "My EEVEE evolved", $4f
+	db "into FLAREON!", $51
+	db "But, a friend's", $4f
+	db "EEVEE turned into", $55
+	db "a VAPOREON!", $55
+	db "I wonder why?", $57
+
+_UnnamedText_45f26: ; 0x85c72
+	db $0, "Mew!@@"
+; 0x85c79
+
+_UnnamedText_5da9a: ; 0x85c79
+	db $0, "I wonder if you", $4f
+	db "are good enough", $55
+	db "for me!", $57
+; 0x85c79 + 41 bytes
+
+_UnnamedText_5da9f: ; 0x85ca2
+	db $0, "I", $4f
+	db "lost out!", $58
+; 0x85ca2 + 13 bytes
+
+_UnnamedText_5daa4: ; 0x85caf
+	db $0, "I never wanted to", $4f
+	db "lose to anybody!", $57
+; 0x85caf + 36 bytes
+
+_UnnamedText_5daa9: ; 0x85cd3
+	db $0, "I can see you're", $4f
+	db "good! Let me see", $55
+	db "exactly how good!", $57
+; 0x85cd3 + 52 bytes
+
+_UnnamedText_5daae: ; 0x85d07
+	db $0, "I", $4f
+	db "had a chance...", $58
+; 0x85d07 + 19 bytes
+
+_UnnamedText_5dab3: ; 0x85d1a
+	db $0, "I concede, you're", $4f
+	db "better than me!", $57
+; 0x85d1a + 34 bytes
+
+_UnnamedText_5a3ae: ; 0x85d3c
+	db $0, "Ah! I heard about", $4f
+	db "you ", $52, "!", $51
+	db "I lead the ELITE", $4f
+	db "FOUR! You can", $55
+	db "call me LANCE the", $55
+	db "dragon trainer!", $51
+	db "You know that", $4f
+	db "dragons are", $55
+	db "mythical #MON!", $51
+	db "They're hard to", $4f
+	db "catch and raise,", $55
+	db "but their powers", $55
+	db "are superior!", $51
+	db "They're virtually", $4f
+	db "indestructible!", $51
+	db "Well, are you", $4f
+	db "ready to lose?", $51
+	db "Your LEAGUE", $4f
+	db "challenge ends", $55
+	db "with me, ", $52, "!", $57
+; 0x85d3c + 296 bytes
+
+_UnnamedText_5a3b3: ; 0x85e64
+	db $0, "That's it!", $51
+	db "I hate to admit", $4f
+	db "it, but you are a", $55
+	db "#MON master!", $58
+; 0x85e64 + 58 bytes
+
+_UnnamedText_5a3b8: ; 0x85e9e
+	db $0, "I still can't", $4f
+	db "believe my", $55
+	db "dragons lost to", $55
+	db "you, ", $52, "!", $51
+	db "You are now the", $4f
+	db "#MON LEAGUE", $55
+	db "champion!", $51
+	db "...Or, you would", $4f
+	db "have been, but", $55
+	db "you have one more", $55
+	db "challenge ahead.", $51
+	db "You have to face", $4f
+	db "another trainer!", $55
+	db "His name is...", $51
+	db $53, "!", $4f
+	db "He beat the ELITE", $55
+	db "FOUR before you!", $51
+	db "He is the real", $4f
+	db "#MON LEAGUE", $55
+	db "champion!@@"
+; 0x85e9e + 279 bytes = 0x85fb5
+
+_HallofFameRoomText1: ; 0x85fb5
+	db $0, "OAK: Er-hem!", $4f
+	db "Congratulations", $55
+	db $52, "!", $51
+	db "This floor is the", $4f
+	db "#MON HALL OF", $55
+	db "FAME!", $51
+	db "#MON LEAGUE", $4f
+	db "champions are", $55
+	db "honored for their", $55
+	db "exploits here!", $51
+	db "Their #MON are", $4f
+	db "also recorded in", $55
+	db "the HALL OF FAME!", $51
+	db $52, "! You have", $4f
+	db "endeavored hard", $55
+	db "to become the new", $55
+	db "LEAGUE champion!", $51
+	db "Congratulations,", $4f
+	db $52, ", you and", $55
+	db "your #MON are", $55
+	db "HALL OF FAMERs!", $57
+
+_UnnamedText_760f4: ; 0x860e1
+	db $0, $53, ": Hey!", $51
+	db "I was looking", $4f
+	db "forward to seeing", $55
+	db "you, ", $52, "!", $51
+	db "My rival should", $4f
+	db "be strong to keep", $55
+	db "me sharp!", $51
+	db "While working on", $4f
+	db "#DEX, I looked", $55
+	db "all over for", $55
+	db "powerful #MON!", $51
+	db "Not only that, I", $4f
+	db "assembled teams", $55
+	db "that would beat", $55
+	db "any #MON type!", $51
+	db "And now!", $51
+	db "I'm the #MON", $4f
+	db "LEAGUE champion!", $51
+	db $52, "! Do you", $4f
+	db "know what that", $55
+	db "means?", $51
+	db "I'll tell you!", $51
+	db "I am the most", $4f
+	db "powerful trainer", $55
+	db "in the world!", $57
+; 0x860e1 + 346 bytes
+
+_UnnamedText_760f9: ; 0x8623b
+	db $0, "NO!", $4f
+	db "That can't be!", $55
+	db "You beat my best!", $51
+	db "After all that", $4f
+	db "work to become", $55
+	db "LEAGUE champ?", $51
+	db "My reign is over", $4f
+	db "already?", $55
+	db "It's not fair!", $58
+; 0x8623b + 121 bytes
+
+_UnnamedText_760fe: ; 0x862b4
+	db $0, "Hahaha!", $4f
+	db "I won, I won!", $51
+	db "I'm too good for", $4f
+	db "you, ", $52, "!", $51
+	db "You did well to", $4f
+	db "even reach me,", $55
+	db $53, ", the", $55
+	db "#MON genius!", $51
+	db "Nice try, loser!", $4f
+	db "Hahaha!", $58
+; 0x862b4 + 123 bytes
+
+_UnnamedText_76103: ; 0x8632f
+	db $0, "Why?", $4f
+	db "Why did I lose?", $51
+	db "I never made any", $4f
+	db "mistakes raising", $55
+	db "my #MON...", $51
+	db "Darn it! You're", $4f
+	db "the new #MON", $55
+	db "LEAGUE champion!", $51
+	db "Although I don't", $4f
+	db "like to admit it.", $57
+; 0x8632f + 146 bytes
+
+_GaryText2: ; 0x863c1
+	db $0, "OAK: ", $52, "!", $57
+
+_UnnamedText_76120: ; 0x863ca
+	db $0, "OAK: So, you won!", $4f
+	db "Congratulations!", $55
+	db "You're the new", $55
+	db "#MON LEAGUE", $55
+	db "champion!", $51
+	db "You've grown up so", $4f
+	db "much since you", $55
+	db "first left with", $55
+	db "@"
+	TX_RAM $cd6d
+	db $0, "!", $51
+	db $52, ", you have", $4f
+	db "come of age!", $57
+; 0xa86463
+
+_UnnamedText_76125: ; 0x86463
+	db $0, "OAK: ", $53, "! I'm", $4f
+	db "disappointed!", $51
+	db "I came when I", $4f
+	db "heard you beat", $55
+	db "the ELITE FOUR!", $51
+	db "But, when I got", $4f
+	db "here, you had", $55
+	db "already lost!", $51
+	db $53, "! Do you", $4f
+	db "understand why", $55
+	db "you lost?", $51
+	db "You have forgotten", $4f
+	db "to treat your", $55
+	db "#MON with", $55
+	db "trust and love!", $51
+	db "Without them, you", $4f
+	db "will never become", $55
+	db "a champ again!", $57
+; 0x86463 + 260 bytes
+
+_UnnamedText_7612a: ; 0x86567
+	db $0, "OAK: ", $52, "!", $51
+	db "You understand", $4f
+	db "that your victory", $55
+	db "was not just your", $55
+	db "own doing!", $51
+	db "The bond you share", $4f
+	db "with your #MON", $55
+	db "is marvelous!", $51
+	db $52, "!", $4f
+	db "Come with me!", $57
+; 0x86567 + 136 bytes
+
+_UnnamedText_7626c: ; 0x865ef
+	db $0, "Welcome to", $4f
+	db "#MON LEAGUE!", $51
+	db "I am LORELEI of", $4f
+	db "the ELITE FOUR!", $51
+	db "No one can best", $4f
+	db "me when it comes", $55
+	db "to icy #MON!", $51
+	db "Freezing moves", $4f
+	db "are powerful!", $51
+	db "Your #MON will", $4f
+	db "be at my mercy", $55
+	db "when they are", $55
+	db "frozen solid!", $51
+	db "Hahaha!", $4f
+	db "Are you ready?", $57
+; 0x865ef + 213 bytes
+
+_UnnamedText_76271: ; 0x866c4
+	db $0, "How", $4f
+	db "dare you!", $58
+; 0x866c4 + 15 bytes
+
+_UnnamedText_76276: ; 0x866d3
+	db $0, "You're better", $4f
+	db "than I thought!", $55
+	db "Go on ahead!", $51
+	db "You only got a", $4f
+	db "taste of #MON", $55
+	db "LEAGUE power!", $57
+; 0x866d3 + 86 bytes
+
+_UnnamedText_7627b: ; 0x86729
+	db $0, "Someone's voice:", $4f
+	db "Don't run away!", $57
+; 0x86729 + 32 bytes
+
+_UnnamedText_763c3: ; 0x86749
+	db $0, "I am BRUNO of", $4f
+	db "the ELITE FOUR!", $51
+	db "Through rigorous", $4f
+	db "training, people", $55
+	db "and #MON can", $55
+	db "become stronger!", $51
+	db "I've weight", $4f
+	db "trained with", $55
+	db "my #MON!", $51
+	db $52, "!", $51
+	db "We will grind you", $4f
+	db "down with our", $55
+	db "superior power!", $51
+	db "Hoo hah!", $57
+; 0x86749 + 188 bytes
+
+_UnnamedText_763c8: ; 0x86805
+	db $0, "Why?", $4f
+	db "How could I lose?", $58
+; 0x86805 + 24 bytes
+
+_UnnamedText_763cd: ; 0x8681d
+	db $0, "My job is done!", $4f
+	db "Go face your next", $55
+	db "challenge!", $57
+; 0x8681d + 46 bytes
+
+_UnnamedText_763d2: ; 0x8684b
+	db $0, "Someone's voice:", $4f
+	db "Don't run away!", $57
+; 0x8684b + 32 bytes
+
+_UnnamedText_76520: ; 0x8686b
+	db $0, "I am AGATHA of", $4f
+	db "the ELITE FOUR!", $51
+	db "OAK's taken a lot", $4f
+	db "of interest in", $55
+	db "you, child!", $51
+	db "That old duff was", $4f
+	db "once tough and", $55
+	db "handsome! That", $55
+	db "was decades ago!", $51
+	db "Now he just wants", $4f
+	db "to fiddle with", $55
+	db "his #DEX! He's", $55
+	db "wrong! #MON", $55
+	db "are for fighting!", $51
+	db $52, "! I'll show", $4f
+	db "you how a real", $55
+	db "trainer fights!", $57
+; 0x8686b + 261 bytes
+
+_UnnamedText_76525: ; 0x86970
+	db $0, "Oh ho!", $4f
+	db "You're something", $55
+	db "special, child!", $58
+; 0x86970 + 40 bytes
+
+_UnnamedText_7652a: ; 0x86998
+	db $0, "You win! I see", $4f
+	db "what the old duff", $55
+	db "sees in you now!", $51
+	db "I have nothing", $4f
+	db "else to say! Run", $55
+	db "along now, child!", $57
+; 0x86998 + 101 bytes
+
+_UnnamedText_7652f: ; 0x869fd
+	db $0, "Someone's voice:", $4f
+	db "Don't run away!", $57
+; 0x869fd + 32 bytes
+
+_UnnamedText_460c5: ; 0x86a1d
+	db $0, "Hikers leave twigs", $4f
+	db "as trail markers.", $57
+; 0x86a1d + 38 bytes
+
+_UnnamedText_460ca: ; 0x86a43
+	db $0, "Ohhh!", $4f
+	db "I did my best!", $58
+; 0x86a43 + 22 bytes
+
+_UnnamedText_460cf: ; 0x86a59
+	db $0, "I want to go ", $4f
+	db "home!", $57
+; 0x86a59 + 21 bytes
+
+_UnnamedText_460d4: ; 0x86a6e
+	db $0, "Hahaha! Can you", $4f
+	db "beat my power?", $57
+; 0x86a6e + 32 bytes
+
+_UnnamedText_460d9: ; 0x86a8e
+	db $0, "Oops!", $4f
+	db "Out-muscled!", $58
+; 0x86a8e + 20 bytes
+
+_UnnamedText_460de: ; 0x86aa2
+	db $0, "I go for power", $4f
+	db "because I hate", $55
+	db "thinking!", $57
+; 0x86aa2 + 41 bytes
+
+_UnnamedText_460e3: ; 0x86acb
+	db $0, "You have a", $4f
+	db "#DEX?", $55
+	db "I want one too!", $57
+; 0x86acb + 34 bytes
+
+_UnnamedText_460e8: ; 0x86aed
+	db $0, "Shoot!", $4f
+	db "I'm so jealous!", $58
+; 0x86aed + 23 bytes
+
+_UnnamedText_460ed: ; 0x86b04
+	db $0, "When you finish", $4f
+	db "your #DEX, can", $55
+	db "I have it?", $57
+; 0x86b04 + 43 bytes
+
+_UnnamedText_460f2: ; 0x86b2f
+	db $0, "Do you know about", $4f
+	db "costume players?", $57
+; 0x86b2f + 36 bytes
+
+_UnnamedText_460f7: ; 0x86b53
+	db $0, "Well,", $4f
+	db "that's that.", $58
+; 0x86b53 + 19 bytes
+
+_UnnamedText_460fc: ; 0x86b66
+	db $0, "Costume players", $4f
+	db "dress up as", $55
+	db "#MON for fun.", $57
+; 0x86b66 + 43 bytes
+
+_UnnamedText_46101: ; 0x86b91
+	db $0, "My #MON", $4f
+	db "techniques will", $55
+	db "leave you crying!", $57
+; 0x86b91 + 43 bytes
+
+_UnnamedText_46106: ; 0x86bbc
+	db $0, "I give!", $4f
+	db "You're a better", $55
+	db "technician!", $58
+; 0x86bbc + 36 bytes
+
+_UnnamedText_4610b: ; 0x86be0
+	db $0, "In mountains,", $4f
+	db "you'll often find", $55
+	db "rock-type #MON.", $57
+; 0x86be0 + 48 bytes
+
+_UnnamedText_46110: ; 0x86c10
+	db $0, "I don't often", $4f
+	db "come here, but I", $55
+	db "will fight you.", $57
+; 0x86c10 + 47 bytes
+
+_UnnamedText_46115: ; 0x86c3f
+	db $0, "Oh!", $4f
+	db "I lost!", $58
+; 0x86c3f + 13 bytes
+
+_UnnamedText_4611a: ; 0x86c4c
+	db $0, "I like tiny", $4f
+	db "#MON, big ones", $55
+	db "are too scary!", $57
+; 0x86c4c + 43 bytes
+
+_UnnamedText_4611f: ; 0x86c77
+	db $0, "Hit me with your", $4f
+	db "best shot!", $57
+; 0x86c77 + 29 bytes
+
+_UnnamedText_46124: ; 0x86c94
+	db $0, "Fired", $4f
+	db "away!", $58
+; 0x86c94 + 13 bytes
+
+SECTION "bank22",DATA,BANK[$22]
+
+_UnnamedText_46129: ; 0x88000
+	db $0, "I'll raise my", $4f
+	db "#MON to beat", $55
+	db "yours, kid!", $57
+; 0x88000 + 39 bytes
+
+_UnnamedText_4612e: ; 0x88027
+	db $0, "I draw #MON", $4f
+	db "when I'm home.", $57
+; 0x88027 + 27 bytes
+
+_UnnamedText_46133: ; 0x88042
+	db $0, "Whew!", $4f
+	db "I'm exhausted!", $58
+; 0x88042 + 21 bytes
+
+_UnnamedText_46138: ; 0x88057
+	db $0, "I'm an artist,", $4f
+	db "not a fighter.", $57
+; 0x88057 + 30 bytes
+
+_UnnamedText_468a2: ; 0x88075
+	db $0, "Gyaoo!@@"
+
+_SeafoamIslands5Text4: ; 0x8807e
+	db $0, "Boulders might", $4f
+	db "change the flow", $55
+	db "of water!", $57
+
+_SeafoamIslands5Text5: ; 0x880a8
+	db $0, "DANGER", $4f
+	db "Fast current!", $57
+
+_AIBattleWithdrawText:
+	db 1
+	dw $D04A
+	db 0," with-",$4F,"drew @",1
+	dw $CFDA
+	db 0,"!",$58
+_AIBattleUseItemText:
+	db 1
+	dw $D04A
+	db 0,$4F,"used @",1
+	dw $CD6D
+	db 0,$55,"on @",1
+	dw $CFDA
+	db 0,"!",$58
+
+_UnnamedText_4160c: ; 0x880ef
+	TX_RAM $cf4b
+	db $0, " went", $4f
+	db "to @"
+	TX_RAM $d887
+	db $0, ".", $57
+; 0x88103
+
+_UnnamedText_41623: ; 0x88103
+	db $0, "For ", $52, "'s", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, ",", $57
+; 0x88112
+
+_UnnamedText_41628: ; 0x88112
+	TX_RAM $d887
+	db $0, " sends", $4f
+	db "@"
+	TX_RAM $cd6d
+	db $0, ".", $57
+; 0x88124
+
+_UnnamedText_41642: ; 0x88124
+	TX_RAM $d887
+	db $0, " waves", $4f
+	db "farewell as", $57
+
+_UnnamedText_41647: ; 0x8813b
+	TX_RAM $cd6d
+	db $0, " is", $4f
+	db "transferred.", $57
+; 0x8813b + 21 bytes
+
+_UnnamedText_41655: ; 0x88150
+	db $0, "Take good care of", $4f
+	db "@"
+; 0x88150 + 20 bytes
+
+UnnamedText_88164: ; 0x88164
+	TX_RAM $cd6d
+	db $0, ".", $57
+; 0x8816a
+
+_UnnamedText_4166c: ; 0x8816a
+	TX_RAM $d887
+	db $0, " will", $4f
+	db "trade @"
+; 0x8816a + 17 bytes
+
+UnnamedText_8817b: ; 0x8817b
+	TX_RAM $cd6d
+	db $0, $57
+
+_UnnamedText_41671: ; 0x88180
+	db $0, "for ", $52, "'s", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, ".", $57
+; 0x8818f
+
+_UnnamedText_37390: ; 0x8818f
+	db $0, "A slot machine!", $4f
+	db "Want to play?", $57
+; 0x8818f + 31 bytes
+
+_UnnamedText_37467: ; 0x881ae
+	db $0, "Darn!", $4f
+	db "Ran out of coins!", $57
+; 0x881ae + 25 bytes
+
+_UnnamedText_3746c: ; 0x881c7
+	db $0, "Bet how many", $4f
+	db "coins?", $57
+; 0x881c7 + 21 bytes
+
+_UnnamedText_37471: ; 0x881dc
+	db $0, "Start!", $57
+; 0x881dc + 8 bytes
+
+_UnnamedText_37476: ; 0x881e4
+	db $0, "Not enough", $4f
+	db "coins!", $58
+; 0x881e4 + 19 bytes
+
+_UnnamedText_3747b: ; 0x881f7
+	db $0, "One more ", $4f
+	db "go?", $57
+; 0x881f7 + 15 bytes
+
+_UnnamedText_37673: ; 0x88206
+	db $0, " lined up!", $4f
+	db "Scored @"
+; 0x88206 + 20 bytes
+
+UnnamedText_8821a: ; 0x8821a
+	TX_RAM $cf4b
+	db $0, " coins!", $57
+; 0x88226
+
+_UnnamedText_3769d: ; 0x88226
+	db $0, "Not this time!", $58
+; 0x88226 + 16 bytes
+
+UnnamedText_88236: ; 0x88236
+	db $0, "Yeah!@@"
+; 0x8823e
+
+_UnnamedText_703fa: ; 0x8823e
+	db $0, "#DEX   Seen:@"
+; 0x8823e + 14 bytes
+
+UnnamedText_8824c: ; 0x8824c
+	TX_NUM $cc5b, 1, 3
+	db $0, $4f
+	db "         Owned:@"
+	TX_NUM $cc5c, 1, 3
+	db $50
+; 0x88267
+
+_UnnamedText_703ff: ; 0x88267
+	db $0, "#DEX Rating", $6d, $57
+; 0x88267 + 14 bytes
+
+_UnnamedText_62453: ; 0x88275
+	TX_RAM $cf5f
+	db $0, $4f
+	db "#MON GYM", $55
+	db "LEADER: @"
+; 0x88275 + 23 bytes
+
+UnnamedText_8828c: ; 0x8828c
+	TX_RAM $cf70
+	db $0, $51
+	db "WINNING TRAINERS:", $4f
+	db $53, $57
+; 0x882a5
+
+_UnnamedText_62458: ; 0x882a5
+	TX_RAM $cf5f
+	db $0, $4f
+	db "#MON GYM", $55
+	db "LEADER: @"
+; 0x882a5 + 23 bytes
+
+UnnamedText_882bc: ; 0x882bc
+	TX_RAM $cf70
+	db $0, $51
+	db "WINNING TRAINERS:", $4f
+	db $53, $55
+	db $52, $57
+; 0x882d7
+
+_UnnamedText_624a3: ; 0x882d7
+	db $0, "#MON CENTERs", $4f
+	db "heal your tired,", $55
+	db "hurt or fainted", $55
+	db "#MON!", $57
+; 0x882d7 + 53 bytes
+
+_UnnamedText_624a8: ; 0x8830c
+	db $0, "Yawn!", $51
+	db "When JIGGLYPUFF", $4f
+	db "sings, #MON", $55
+	db "get drowsy...", $51
+	db "...Me too...", $4f
+	db "Snore...", $57
+; 0x8830c + 71 bytes
+
+_UnnamedText_624ad: ; 0x88353
+	db $0, "BILL has lots of", $4f
+	db "#MON!", $51
+	db "He collects rare", $4f
+	db "ones too!", $57
+; 0x88353 + 51 bytes
+
+_UnnamedText_624b2: ; 0x88386
+	db $0, "CUBONEs wear", $4f
+	db "skulls, right?", $51
+	db "People will pay a", $4f
+	db "lot for one!", $57
+; 0x88386 + 60 bytes
+
+_UnnamedText_624b7: ; 0x883c2
+	db $0, "If you have too", $4f
+	db "many #MON, you", $55
+	db "should store them", $55
+	db "via PC!", $57
+; 0x883c2 + 58 bytes
+
+_UnnamedText_624bc: ; 0x883fc
+	db $0, "I heard that", $4f
+	db "GHOSTs haunt", $55
+	db "LAVENDER TOWN!", $57
+; 0x883fc + 42 bytes
+
+_UnnamedText_624c1: ; 0x88426
+	db $0, "I wish I could", $4f
+	db "catch #MON.", $57
+; 0x88426 + 28 bytes
+
+_UnnamedText_624c6: ; 0x88442
+	db $0, "I'm tired from", $4f
+	db "all the fun...", $57
+; 0x88442 + 30 bytes
+
+_UnnamedText_624cb: ; 0x88460
+	db $0, "SILPH's manager", $4f
+	db "is hiding in the", $55
+	db "SAFARI ZONE.", $57
+; 0x88460 + 46 bytes
+
+_UnnamedText_624d0: ; 0x8848e
+	db $0, "It is true that a", $4f
+	db "higher level", $55
+	db "#MON will be", $55
+	db "more powerful...", $51
+	db "But, all #MON", $4f
+	db "will have weak", $55
+	db "points against", $55
+	db "specific types.", $51
+	db "So, there is no", $4f
+	db "universally", $55
+	db "strong #MON.", $57
+; 0x8848e + 163 bytes
+
+_UnnamedText_624d5: ; 0x88531
+	db $0, "If I had a BIKE,", $4f
+	db "I would go to", $55
+	db "CYCLING ROAD!", $57
+; 0x88531 + 46 bytes
+
+_UnnamedText_624da: ; 0x8855f
+	db $0, "If you're studying ", $4f
+	db "#MON, visit", $55
+	db "the SAFARI ZONE.", $51
+	db "It has all sorts", $4f
+	db "of rare #MON.", $57
+; 0x8855f + 80 bytes
+
+_UnnamedText_624df: ; 0x885af
+	db $0, "#MON can still", $4f
+	db "learn techniques", $55
+	db "after canceling", $55
+	db "evolution.", $51
+	db "Evolution can wait", $4f
+	db "until new moves", $55
+	db "have been learned.", $57
+; 0x885af + 114 bytes
+
+_UnnamedText_624f8: ; 0x88621
+	db $0, "It would be great", $4f
+	db "if the ELITE FOUR", $55
+	db "came and stomped", $55
+	db "TEAM ROCKET!", $57
+; 0x88621 + 67 bytes
+
+_UnnamedText_624fd: ; 0x88664
+	db $0, "TEAM ROCKET took", $4f
+	db "off! We can go", $55
+	db "out safely again!", $55
+	db "That's great!", $57
+; 0x88664 + 64 bytes
+
+_UnnamedText_62502: ; 0x886a4
+	db $0, "My sis brought me", $4f
+	db "on this vacation!", $57
+; 0x886a4 + 37 bytes
+
+_UnnamedText_62511: ; 0x886c9
+	db $0, "Crammed full of", $4f
+	db "#MON books!", $57
+; 0x886c9 + 29 bytes
+
+_UnnamedText_1e953: ; 0x886e6
+	db $0, "A shiny new", $4f
+	db "BICYCLE!", $57
+; 0x886e6 + 22 bytes
+
+_UnnamedText_1e960: ; 0x886fc
+	db $0, "Push START to", $4f
+	db "open the MENU!", $57
+; 0x886fc + 30 bytes
+
+_UnnamedText_1e97e: ; 0x8871a
+	db $0, "The SAVE option is", $4f
+	db "on the MENU", $55
+	db "screen.", $57
+; 0x8871a + 40 bytes
+
+_UnnamedText_1e983: ; 0x88742
+	db $0, "All #MON types", $4f
+	db "have strong and", $55
+	db "weak points", $55
+	db "against others.", $57
+; 0x88742 + 60 bytes
+
+_UnnamedText_1ea0d: ; 0x8877e
+	db $0, "PA: Ding-dong!", $51
+	db "Time's up!", $58
+; 0x8877e + 26 bytes
+
+_UnnamedText_1ea12: ; 0x88798
+	db $0, "PA: Your SAFARI", $4f
+	db "GAME is over!", $57
+; 0x88798 + 31 bytes
+
+_UnnamedText_1ea5b: ; 0x887b7
+	db $0, "#MON Quiz!", $51
+	db "Get it right and", $4f
+	db "the door opens to", $55
+	db "the next room!", $51
+	db "Get it wrong and", $4f
+	db "face a trainer!", $51
+	db "If you want to", $4f
+	db "conserve your", $55
+	db "#MON for the", $55
+	db "GYM LEADER...", $51
+	db "Then get it right!", $4f
+	db "Here we go!", $58
+; 0x887b7 + 182 bytes
+
+_UnnamedText_1ea6c: ; 0x8886d
+	db $0, "CATERPIE evolves", $4f
+	db "into BUTTERFREE?", $57
+; 0x8886d + 35 bytes
+
+_UnnamedText_1ea71: ; 0x88890
+	db $0, "There are 9", $4f
+	db "certified #MON", $55
+	db "LEAGUE BADGEs?", $57
+; 0x88890 + 43 bytes
+
+_UnnamedText_1ea76: ; 0x888bb
+	db $0, "POLIWAG evolves 3", $4f
+	db "times?", $57
+; 0x888bb + 26 bytes
+
+_UnnamedText_1ea7b: ; 0x888d5
+	db $0, "Are thunder moves", $4f
+	db "effective against", $55
+	db "ground element-", $55
+	db "type #MON?", $57
+; 0x888d5 + 64 bytes
+
+_UnnamedText_1ea80: ; 0x88915
+	db $0, "#MON of the", $4f
+	db "same kind and", $55
+	db "level are not", $55
+	db "identical?", $57
+; 0x88915 + 52 bytes
+
+_UnnamedText_1ea85: ; 0x88949
+	db $0, "TM28 contains", $4f
+	db "TOMBSTONER?", $57
+; 0x88949 + 27 bytes
+
+UnnamedText_88964: ; 0x88964
+	db $0, "You're absolutely", $4f
+	db "correct!", $51
+	db "Go on through!@@"
+; 0x8898f
+
+_UnnamedText_1eb05: ; 0x8898f
+	db $0, "Sorry! Bad call!", $58
+; 0x8898f + 18 bytes
+
+_UnnamedText_1eb69: ; 0x889a1
+	db $0, "#MON magazines!", $51
+	db "#MON notebooks!", $51
+	db "#MON graphs!", $57
+; 0x889a1 + 46 bytes
+
+_UnnamedText_1ebdd: ; 0x889cf
+	db $0, "TELEPORTER is", $4f
+	db "displayed on the", $55
+	db "PC monitor.", $57
+; 0x889cf + 44 bytes
+
+UnnamedText_889fb: ; 0x889fb
+	db $0, $52, " initiated", $4f
+	db "TELEPORTER's Cell", $55
+	db "Separator!@@"
+; 0x88a25
+
+_UnnamedText_1ec7f: ; 0x88a25
+	db $0, "BILL's favorite", $4f
+	db "#MON list!", $58
+; 0x88a25 + 27 bytes
+
+_UnnamedText_1ecaa: ; 0x88a40
+	db $0, "Which #MON do", $4f
+	db "you want to see?", $57
+; 0x88a40 + 32 bytes
+
+_UnnamedText_1ecbd: ; 0x88a60
+	db $0, "There's an e-mail", $4f
+	db "message here!", $51
+	db "...", $51
+	db "Calling all", $4f
+	db "#MON trainers!", $51
+	db "The elite trainers", $4f
+	db "of #MON LEAGUE", $55
+	db "are ready to take", $55
+	db "on all comers!", $51
+	db "Bring your best", $4f
+	db "#MON and see", $55
+	db "how you rate as a", $55
+	db "trainer!", $51
+	db "#MON LEAGUE HQ", $4f
+	db "INDIGO PLATEAU", $51
+	db "PS: PROF.OAK,", $4f
+	db "please visit us!", $55
+	db "...", $57
+; 0x88a60 + 251 bytes
+
+_UnnamedText_2ff32: ; 0x88b5b
+	db $0, "A COIN CASE is", $4f
+	db "required!", $57
+; 0x88b5b + 26 bytes
+
+_UnnamedText_2ff37: ; 0x88b75
+	db $0, "You don't have", $4f
+	db "any coins!", $57
+; 0x88b75 + 26 bytes
+
+_UnnamedText_37e79: ; 0x88b8f
+	db $0, "OUT OF ORDER", $4f
+	db "This is broken.", $57
+; 0x88b8f + 30 bytes
+
+_UnnamedText_37e7e: ; 0x88bad
+	db $0, "OUT TO LUNCH", $4f
+	db "This is reserved.", $57
+; 0x88bad + 32 bytes
+
+_UnnamedText_37e83: ; 0x88bcd
+	db $0, "Someone's keys!", $4f
+	db "They'll be back.", $57
+; 0x88bcd + 32 bytes
+
+_UnnamedText_21865: ; 0x88bed
+	db $0, "Just a moment.", $57
+; 0x88bed + 16 bytes
+
+UnnamedText_88bfd: ; 0x88bfd
+	db $0, "It's a pamphlet", $4f
+	db "on TMs.", $51
+	db "...", $51
+	db "There are 50 TMs", $4f
+	db "in all.", $51
+	db "There are also 5", $4f
+	db "HMs that can be", $55
+	db "used repeatedly.", $51
+	db "SILPH CO.@@"
+; 0x88c6f
+
+_UnnamedText_529e9: ; 0x88c6f
+	db $0, "Turn the page?", $57
+; 0x88c6f + 16 bytes
+
+UnnamedText_88c7f: ; 0x88c7f
+	db $0, "GIRL: Hey! Don't", $4f
+	db "look at my notes!@@"
+; 0x88ca3
+
+_UnnamedText_529f4: ; 0x88ca3
+	db $0, "Looked at the", $4f
+	db "notebook!", $51
+	db "First page...", $51
+	db "# BALLs are", $4f
+	db "used to catch", $55
+	db "#MON.", $51
+	db "Up to 6 #MON", $4f
+	db "can be carried.", $51
+	db "People who raise", $4f
+	db "and make #MON", $55
+	db "fight are called", $55
+	db "#MON trainers.", $58
+; 0x88ca3 + 163 bytes
+
+_UnnamedText_529f9: ; 0x88d46
+	db $0, "Second page...", $51
+	db "A healthy #MON", $4f
+	db "may be hard to", $55
+	db "catch, so weaken", $55
+	db "it first!", $51
+	db "Poison, burns and", $4f
+	db "other damage are", $55
+	db "effective!", $58
+; 0x88d46 + 119 bytes
+
+_UnnamedText_529fe: ; 0x88dbd
+	db $0, "Third page...", $51
+	db "#MON trainers", $4f
+	db "seek others to", $55
+	db "engage in #MON", $55
+	db "fights.", $51
+	db "Battles are", $4f
+	db "constantly fought", $55
+	db "at #MON GYMs.", $58
+; 0x88dbd + 111 bytes
+
+_UnnamedText_52a03: ; 0x88e2c
+	db $0, "Fourth page...", $51
+	db "The goal for", $4f
+	db "#MON trainers", $55
+	db "is to beat the ", $55
+	db "top 8 #MON", $55
+	db "GYM LEADERs.", $51
+	db "Do so to earn the", $4f
+	db "right to face...", $51
+	db "The ELITE FOUR of", $4f
+	db "#MON LEAGUE!", $58
+; 0x88e2c + 149 bytes
+
+_UnnamedText_52a10: ; 0x88ec1
+	db $0, "Enemies on every", $4f
+	db "side!", $57
+; 0x88ec1 + 24 bytes
+
+_UnnamedText_52a1d: ; 0x88ed9
+	db $0, "What goes around", $4f
+	db "comes around!", $57
+; 0x88ed9 + 32 bytes
+
+_UnnamedText_52a2a: ; 0x88ef9
+	db $0, "FIGHTING DOJO", $57
+; 0x88ef9 + 15 bytes
+
+_UnnamedText_52a3d: ; 0x88f08
+	db $0, "INDIGO PLATEAU", $4f
+	db "#MON LEAGUE HQ", $57
+; 0x88f08 + 31 bytes
+
+_UnnamedText_5db81: ; 0x88f27
+	db $0, $52, " is", $4f
+	db "playing the SNES!", $55
+	db "...Okay!", $55
+	db "It's time to go!", $57
+; 0x88f27 + 49 bytes
+
+_UnnamedText_5dba8: ; 0x88f58
+	db $0, "Looked into the", $4f
+	db "binoculars...", $51
+	db "A large, shining", $4f
+	db "bird is flying", $55
+	db "toward the sea.", $57
+; 0x88f58 + 79 bytes
+
+_UnnamedText_5dbbe: ; 0x88fa7
+	db $0, "AERODACTYL Fossil", $4f
+	db "A primitive and", $55
+	db "rare #MON.", $57
+; 0x88fa7 + 46 bytes
+
+_UnnamedText_5dbd4: ; 0x88fd5
+	db $0, "KABUTOPS Fossil", $4f
+	db "A primitive and", $55
+	db "rare #MON.", $57
+; 0x88fd5 + 44 bytes
+
+_UnnamedText_5dc9e: ; 0x89001
+	db $0, "TRAINER TIPS", $51
+	db "Using a Game Link", $4f
+	db "Cable", $58
+; 0x89001 + 38 bytes
+
+_UnnamedText_5dca3: ; 0x89027
+	db $0, "Which heading do", $4f
+	db "you want to read?", $57
+; 0x89027 + 36 bytes
+
+_UnnamedText_5dcde: ; 0x8904b
+	db $0, "When you have", $4f
+	db "linked your GAME", $55
+	db "BOY with another", $55
+	db "GAME BOY, talk to", $55
+	db "the attendant on", $55
+	db "the right in any", $55
+	db "#MON CENTER.", $58
+; 0x8904b + 114 bytes
+
+_UnnamedText_5dce3: ; 0x890bd
+	db $0, "COLOSSEUM lets", $4f
+	db "you play against", $55
+	db "a friend.", $58
+; 0x890bd + 43 bytes
+
+_UnnamedText_5dce8: ; 0x890e8
+	db $0, "TRADE CENTER is", $4f
+	db "used for trading", $55
+	db "#MON.", $58
+; 0x890e8 + 40 bytes
+
+_UnnamedText_5dda2: ; 0x89110
+	db $0, "The blackboard", $4f
+	db "describes #MON", $55
+	db "STATUS changes", $55
+	db "during battles.", $58
+; 0x89110 + 62 bytes
+
+_UnnamedText_5dda7: ; 0x8914e
+	db $0, "Which heading do", $4f
+	db "you want to read?", $57
+; 0x8914e + 36 bytes
+
+_UnnamedText_5ddd6: ; 0x89172
+	db $0, "A #MON can't", $4f
+	db "attack if it's", $55
+	db "asleep!", $51
+	db "#MON will stay", $4f
+	db "asleep even after", $55
+	db "battles.", $51
+	db "Use AWAKENING to", $4f
+	db "wake them up!", $58
+; 0x89172 + 108 bytes
+
+_UnnamedText_5dddb: ; 0x891de
+	db $0, "When poisoned, a", $4f
+	db "#MON's health", $55
+	db "steadily drops.", $51
+	db "Poison lingers", $4f
+	db "after battles.", $51
+	db "Use an ANTIDOTE", $4f
+	db "to cure poison!", $58
+; 0x891de + 109 bytes
+
+_UnnamedText_5dde0: ; 0x8924b
+	db $0, "Paralysis could", $4f
+	db "make #MON", $55
+	db "moves misfire!", $51
+	db "Paralysis remains", $4f
+	db "after battles.", $51
+	db "Use PARLYZ HEAL", $4f
+	db "for treatment!", $58
+; 0x8924b + 106 bytes
+
+_UnnamedText_5dde5: ; 0x892b5
+	db $0, "A burn reduces", $4f
+	db "power and speed.", $55
+	db "It also causes", $55
+	db "ongoing damage.", $51
+	db "Burns remain", $4f
+	db "after battles.", $51
+	db "Use BURN HEAL to", $4f
+	db "cure a burn!", $58
+; 0x892b5 + 122 bytes
+
+_UnnamedText_5ddea: ; 0x8932f
+	db $0, "If frozen, a", $4f
+	db "#MON becomes", $55
+	db "totally immobile!", $51
+	db "It stays frozen", $4f
+	db "even after the", $55
+	db "battle ends.", $51
+	db "Use ICE HEAL to", $4f
+	db "thaw out #MON!", $58
+; 0x8932f + 120 bytes
+
+_UnnamedText_5ddf7: ; 0x893a7
+	db $0, "Nope, there's", $4f
+	db "only trash here.", $57
+; 0x893a7 + 31 bytes
+
+UnnamedText_893c6: ; 0x893c6
+	db $0, "Hey! There's a", $4f
+	db "switch under the", $55
+	db "trash!", $55
+	db "Turn it on!", $51
+	db "The 1st electric", $4f
+	db "lock opened!@@"
+; 0x89418
+
+_UnnamedText_5dedb: ; 0x89418
+	db $0, "Hey! There's", $4f
+	db "another switch", $55
+	db "under the trash!", $55
+	db "Turn it on!", $58
+; 0x89418 + 57 bytes
+
+UnnamedText_89451: ; 0x89451
+	db $0, "The 2nd electric", $4f
+	db "lock opened!", $51
+	db "The motorized door", $4f
+	db "opened!@@
+; 0x89451 + 59 bytes = 0x8948c
+
+UnnamedText_8948c: ; 0x8948c
+	db $0, "Nope! There's", $4f
+	db "only trash here.", $55
+	db "Hey! The electric", $55
+	db "locks were reset!@@"
+; 0x8948c + 68 bytes = 0x894d0
+
+UnnamedText_894d0: ; 0x894d0
+	db $0, $52, " found", $4f
+	db "@"
+	TX_RAM $cd6d
+	db $0, "!@@"
+; 0x894e1
+
+_UnnamedText_76794: ; 0x894e1
+	db $0, "But, ", $52, " has", $4f
+	db "no more room for", $55
+	db "other items!", $57
+; 0x894e1 + 42 bytes
+
+UnnamedText_8950b: ; 0x8950b
+	db $0, $52, " found", $4f
+	db "@"
+	db $2, $a0, $ff, $c2 ; XXX $2
+	db $0, " coins!@@"
+; 0x89523
+
+UnnamedText_89523: ; 0x89523
+	db $0, $52, " found", $4f
+	db "@"
+	db $2, $a0, $ff, $c2 ; XXX $2 probably coins
+	db $0, " coins!@@"
+; 0x8953a
+
+_UnnamedText_76852: ; 0x8953b
+	db $0, $51
+	db "Oops! Dropped", $4f
+	db "some coins!", $57
+; 0x8953b + 28 bytes
+
+_UnnamedText_fbd9: ; 0x89557
+	db $0, "INDIGO PLATEAU", $58
+; 0x89557 + 16 bytes
+
+_UnnamedText_fbde: ; 0x89567
+	db $0, "The ultimate goal", $4f
+	db "of trainers!", $55
+	db "#MON LEAGUE HQ", $57
+; 0x89567 + 47 bytes
+
+_UnnamedText_fbe3: ; 0x89596
+	db $0, "The highest", $4f
+	db "#MON authority", $55
+	db "#MON LEAGUE HQ", $57
+; 0x89596 + 43 bytes
+
+_UnnamedText_fc03: ; 0x895c1
+	db $0, "Crammed full of", $4f
+	db "#MON books!", $57
+; 0x895c1 + 29 bytes
+
+_UnnamedText_fc08: ; 0x895de
+	db $0, "It's a sculpture", $4f
+	db "of DIGLETT.", $57
+; 0x895de + 29 bytes
+
+_UnnamedText_fc0d: ; 0x895fb
+	db $0, "This is an", $4f
+	db "elevator.", $57
+; 0x895fb + 22 bytes
+
+UnnamedText_89611: ; 0x89611
+	db $0, "A TOWN MAP.@@"
+; 0x89611 + 14 bytes = 0x8961f
+
+_UnnamedText_fc45: ; 0x8961f
+	db $0, "Wow! Tons of", $4f
+	db "#MON stuff!", $57
+; 0x8961f + 26 bytes
+
+_UnnamedText_3c1a8: ; 0x89639
+	db $0, "PA: Ding-dong!", $51
+	db "You are out of", $4f
+	db "SAFARI BALLs!", $58
+; 0x89639 + 45 bytes
+
+_UnnamedText_3c229: ; 0x89666
+	db $0, "Wild @"
+	TX_RAM $cfda
+	db $0, $4f
+	db "ran!", $58
+; 0x89666 + 17 bytes = 0x89677
+
+_UnnamedText_3c22e: ; 0x89677
+	db $0, "Enemy @"
+	TX_RAM $cfda
+	db $0, $4f
+	db "ran!", $58
+; 0x89677 + 18 bytes = 0x89689
+
+_UnnamedText_3c42e: ; 0x89689
+	db $0, $5a, "'s", $4f
+	db "hurt by poison!", $58
+; 0x89689 + 20 bytes
+
+_UnnamedText_3c433: ; 0x8969d
+	db $0, $5a, "'s", $4f
+	db "hurt by the burn!", $58
+; 0x8969d + 22 bytes
+
+_UnnamedText_3c438: ; 0x896b3
+	db $0, "LEECH SEED saps", $4f
+	db $5a, "!", $58
+; 0x896b3 + 20 bytes
+
+_UnnamedText_3c63e: ; 0x896c7
+	db $0, "Enemy @"
+	TX_RAM $cfda
+	db $0, $4f
+	db "fainted!", $58
+; 0x896c7 + 22 bytes = 0x896dd
+
+_UnnamedText_3c6e4: ; 0x896dd
+	db $0, $52, " got ", $f0, "@"
+	;XXX $2
+	db $2, $79, $d0, $c3
+	db $0, $4f
+	db "for winning!", $58
+; 0x896f9
+
+_UnnamedText_3c6e9: ; 0x896f9
+	db $0, $52, " defeated", $4f
+	db "@"
+	TX_RAM $d04a ; 0x89706
+	db $0, "!", $58
+; 0x896f9 + 19 bytes = 0x8970c
+
+_UnnamedText_3c796: ; 0x8970c
+	TX_RAM $d009
+	db $0, $4f
+	db "fainted!", $58
+; 0x8970c + 14 bytes
+
+_UnnamedText_3c7d3: ; 0x8971a
+	db $0, "Use next #MON?", $57
+; 0x8971a + 16 bytes
+
+_UnnamedText_3c884: ; 0x8972a
+	db $0, $53, ": Yeah! Am", $4f
+	db "I great or what?", $58
+; 0x8972a + 30 bytes
+
+_UnnamedText_3c889: ; 0x89748
+	db $0, $52, " is out of", $4f
+	db "useable #MON!", $51
+	db $52, " blacked", $4f
+	db "out!", $58
+; 0x89748 + 42 bytes
+
+_UnnamedText_3c88e: ; 0x89772
+	db $0, $52, " lost to", $4f
+	db "@"
+	TX_RAM $d04a ; 0x8977e
+	db $0, "!", $58
+; 0x89772 + 18 bytes = 0x89784
+
+_TrainerAboutToUseText:
+	db 1
+	dw $D04A
+	db 0," is",$4F
+	db "about to use",$55,"@",1
+	dw $CFDA
+	db 0,"!",$51
+	db "Will ",$52,$4F
+	db "change #MON?",$57
+
+_TrainerSentOutText:
+	db 1
+	dw $D04A
+	db 0," sent",$4F
+	db "out @",1
+	dw $CFDA
+	db 0,"!",$57
+
+_UnnamedText_3cab4: ; 0x897c9
+	db $0, "There's no will", $4f
+	db "to fight!", $58
+; 0x897c9 + 26 bytes
+
+_UnnamedText_3cb97: ; 0x897e3
+	db $0, "Can't escape!", $58
+; 0x897e3 + 14 bytes
+
+_UnnamedText_3cb9c: ; 0x897f1
+	db $0, "No! There's no", $4f
+	db "running from a", $55
+	db "trainer battle!", $58
+; 0x897f1 + 46 bytes
+
+_UnnamedText_3cba1: ; 0x8981f
+	db $0, "Got away safely!", $58
+; 0x8981f + 18 bytes
+
+_UnnamedText_3d0c5: ; 0x89831
+	db $0, "Items can't be", $4f
+	db "used here.", $58
+; 0x89831 + 26 bytes
+
+_UnnamedText_3d1f5: ; 0x8984b
+	TX_RAM $d009
+	db $0, " is", $4f
+	db "already out!", $58
+; 0x8984b + 21 bytes
+
+_UnnamedText_3d3ae: ; 0x89860
+	db $0, "No PP left for", $4f
+	db "this move!", $58
+; 0x89860 + 27 bytes
+
+_UnnamedText_3d3b3: ; 0x8987b
+	db $0, "The move is", $4f
+	db "disabled!", $58
+; 0x8987b + 23 bytes
+
+_UnnamedText_3d430: ; 0x89892
+	TX_RAM $d009
+	db $0, " has no", $4f
+	db "moves left!", $57
+; 0x89892 + 24 bytes
+
+_MultiHitText:
+	db 0,"Hit the enemy",$4F,"@"
+	TX_NUM W_NUMHITS,1,1
+	db 0," times!",$58
+
+_ScaredText:
+	db 1
+	dw $D009
+	db 0," is too",$4F
+	db "scared to move!",$58
+
+_GetOutText:
+	db 0,"GHOST: Get out...",$4F
+	db "Get out...",$58
+
+_FastAsleepText:
+	db 0,$5A,$4F
+	db "is fast asleep!",$58
+
+_WokeUpText:
+	db 0,$5A,$4F
+	db "woke up!",$58
+
+_FrozenText:
+	db 0,$5A,$4F
+	db "is frozen solid!",$58
+
+_FullyParalyzedText:
+	db 0,$5A,"'s",$4F
+	db "fully paralyzed!",$58
+
+_FlinchedText:
+	db 0,$5A,$4F
+	db "flinched!",$58
+
+_MustRechargeText:
+	db 0,$5A,$4F
+	db "must recharge!",$58
+
+_DisabledNoMoreText:
+	db 0,$5A,"'s",$4F
+	db "disabled no more!",$58
+
+_IsConfusedText:
+	db 0,$5A,$4F
+	db "is confused!",$58
+
+_HurtItselfText:
+	db 0,"It hurt itself in",$4F
+	db "its confusion!",$58
+
+_ConfusedNoMoreText:
+	db 0,$5A,"'s",$4F
+	db "confused no more!",$58
+
+_SavingEnergyText:
+	db 0,$5A,$4F
+	db "is saving energy!",$58
+
+_UnleashedEnergyText:
+	db 0,$5A,$4F
+	db "unleashed energy!",$58
+
+_ThrashingAboutText:
+	db 0,$5A,"'s",$4F
+	db "thrashing about!",$57
+
+_AttackContinuesText:
+	db 0,$5A,"'s",$4F
+	db "attack continues!",$57
+
+_CantMoveText:
+	db 0,$5A,$4F
+	db "can't move!",$58
+
+_UnnamedText_3daa8: ; 0x89a29
+	db $0, $5a, "'s", $4f
+	db "@"
+; 0x89a29 + 5 bytes
+
+UnnamedText_89a2e: ; 0x89a2e
+	TX_RAM $cd6d
+	db $0, " is", $55
+	db "disabled!", $58
+; 0x89a2e + 18 bytes = 0x89a40
+
+UnnamedText_89a40: ; 0x89a40
+	db $0, $5a, "@@"
+; 0x89a40 + 4 bytes = 0x89a44
+
+UnnamedText_89a44: ; 0x89a44
+	db $0, $4f
+	db "used @@"
+; 0x89a44 + 9 bytes = 0x89a4d
+
+UnnamedText_89a4d: ; 0x89a4d
+	db $0, $4f
+	db "used @@"
+; 0x89a4d + 9 bytes = 0x89a56
+
+UnnamedText_89a56: ; 0x89a56
+	db $0, "instead,", $55
+	db "@@
+; 0x89a56 + 12 bytes = 0x89a62
+
+UnnamedText_89a62: ; 0x89a62
+	TX_RAM $cf4b
+	db $0, "@"
+; 0x89a62 + 5 bytes = 0x89a67
+
+_UnnamedText_3db6c: ; 0x89a67
+	db $0, "!", $57
+; 0x89a67 + 3 bytes
+
+_UnnamedText_3db71: ; 0x89a6a
+	db $0, "!", $57
+; 0x89a6a + 3 bytes
+
+_UnnamedText_3db76: ; 0x89a6d
+	db $0, "!", $57
+; 0x89a6d + 3 bytes
+
+_UnnamedText_3db7b: ; 0x89a70
+	db $0, "!", $57
+; 0x89a70 + 3 bytes
+
+_UnnamedText_3db80: ; 0x89a73
+	db $0, "!", $57
+; 0x89a73 + 3 bytes
+
+_UnnamedText_3dc42: ; 0x89a76
+	db $0, $5a, "'s", $4f
+	db "attack missed!", $58
+; 0x89a76 + 19 bytes
+
+_UnnamedText_3dc47: ; 0x89a89
+	db $0, $5a, $4f
+	db "kept going and", $55
+	db "crashed!", $58
+; 0x89a89 + 27 bytes
+
+_UnnamedText_3dc4c: ; 0x89aa4
+	db $0, $59, "'s", $4f
+	db "unaffected!", $58
+; 0x89aa4 + 16 bytes
+
+_UnnamedText_3dc57: ; 0x89ab4
+	db $0, "It doesn't affect", $4f
+	db $59, "!", $58
+; 0x89ab4 + 21 bytes
+
+_UnnamedText_3dc7e: ; 0x89ac9
+	db $0, "Critical hit!", $58
+; 0x89ac9 + 15 bytes
+
+_UnnamedText_3dc83: ; 0x89ad8
+	db $0, "One-hit KO!", $58
+; 0x89ad8 + 13 bytes
+
+_UnnamedText_3ddb6: ; 0x89ae5
+	TX_RAM $d009
+	db $0, " is", $4f
+	db "loafing around.", $58
+; 0x89ae5 + 24 bytes
+
+_UnnamedText_3ddbb: ; 0x89afd
+	TX_RAM $d009
+	db $0, " began", $4f
+	db "to nap!", $58
+; 0x89afd + 19 bytes
+
+_UnnamedText_3ddc0: ; 0x89b10
+	TX_RAM $d009
+	db $0, " won't", $4f
+	db "obey!", $58
+; 0x89b10 + 16 bytes
+
+_UnnamedText_3ddc5: ; 0x89b20
+	TX_RAM $d009
+	db $0, " turned", $4f
+	db "away!", $58
+; 0x89b20 + 18 bytes
+
+_UnnamedText_3ddca: ; 0x89b32
+	TX_RAM $d009
+	db $0, $4f
+	db "ignored orders!", $58
+; 0x89b32 + 21 bytes
+
+_SubstituteTookDamageText: ; 0x89b47
+	db $0, "The SUBSTITUTE", $4f
+	db "took damage for", $55
+	db $59, "!", $58
+; 0x89b47 + 35 bytes
+
+_SubstituteBrokeText: ; 0x89b6a
+	db $0, $59, "'s", $4f
+	db "SUBSTITUTE broke!", $58
+; 0x89b6a + 22 bytes
+
+_BuildingRageText: ; 0x89b80
+	db $0, $5a, "'s", $4f
+	db "RAGE is building!", $58
+; 0x89b80 + 22 bytes
+
+_MirrorMoveFailedText: ; 0x89b96
+	db $0, "The MIRROR MOVE", $4e, "failed!", $58
+; 0x89b96 + 25 bytes
+
+_UnnamedText_3e887: ; 0x89baf
+	db $0, "Hit @"
+; 0x89baf + 6 bytes
+
+UnnamedText_89bb5: ; 0x89bb5
+	TX_NUM $cd05, 1, 1
+	db $0, " times!", $58
+; 0x89bb5 + 13 bytes = 0x89bc2
+
+UnnamedText_89bc2: ; 0x89bc2
+	TX_RAM $cd6d
+	db $0, " gained", $4f
+	db "@@"
+; 0x89bc2 + 14 bytes = 0x89bd0
+
+UnnamedText_89bd0: ; 0x89bd0
+	db $0, "with EXP.ALL,", $55
+	db "@@"
+; 0x89bd0 + 17 bytes = 0x89be1
+
+UnnamedText_89be1: ; 0x89be1
+	db $0, "a boosted", $55
+	db "@@"
+_UnnamedText_554d8:
+	TX_NUM $cf4b, 2, 4
+	db $0, " EXP. Points!", $58
+; 0x89be1 + 32 bytes = 0x89c01
+
+UnnamedText_89c01: ; 0x89c01
+	TX_RAM $cd6d
+	db $0, " grew", $4f
+	db "to level @"
+	TX_NUM $d127, 1, 3
+	db $0, "!@@"
+; 0x89c01 + 28 bytes = 0x89c1d
+
+_UnnamedText_58e3b: ; 0x89c1d
+	db $0, "Wild @"
+	TX_RAM $cfda
+	db $0, $4f
+	db "appeared!", $58
+; 0x89c1d + 22 bytes
+
+_UnnamedText_58e40: ; 0x89c33
+	db $0, "The hooked", $4f
+	db "@"
+	TX_RAM $cfda
+	db $0, $55
+	db "attacked!", $58
+; 0x89c33 + 28 bytes
+
+_UnnamedText_58e45: ; 0x89c4f
+	TX_RAM $cfda
+	db $0, $4f
+	db "appeared!", $58
+; 0x89c4f + 15 bytes
+
+_UnnamedText_58e4a: ; 0x89c5e
+	TX_RAM $d04a
+	db $0, " wants", $4f
+	db "to fight!", $58
+; 0x89c5e + 21 bytes
+
+_UnnamedText_58e4f: ; 0x89c73
+	db $0, "SILPH SCOPE", $4f
+	db "unveiled the", $55
+	db "GHOST's identity!", $58
+; 0x89c73 + 43 bytes
+
+_UnnamedText_58e54: ; 0x89c9e
+	db $0, "Darn! The GHOST", $4f
+	db "can't be ID'd!", $58
+; 0x89c9e + 30 bytes
+
+UnknownText_89cbc: ; 0x89cbc
+	db $0, "Go! @@"
+; 0x89cbc + 7 bytes
+	db $0, "Do it! @@"
+; 0x89cc3 + 10 bytes
+	db $0, "Get'm! @@"
+; 0x89ccd + 9 bytes
+
+UnknownText_89cd6: ; 0x89cd6
+	db $0, "The enemy's weak!", $4f
+	db "Get'm! @@"
+; 0x89cd6 + 26 bytes
+
+_UnnamedText_58ecc: ; 0x89cf0
+	TX_RAM $d009
+	db $0, "!", $57
+; 0x89cf0 + 6 bytes
+	TX_RAM $d009
+	db $0, " @@"
+	db $0, "enough!@@"
+; 0x89cf0 + 23 bytes
+
+_UnnamedText_89d07: ; 0x8d907
+	db $0, "OK!@@"
+; 0x8d907 + 6
+
+UnknownText_89d0d: ; 0x89d0d
+	db $0, "good!@@"
+; 0x89d0d + 8 bytes
+
+_UnnamedText_58f3e: ; 0x89d15
+	db $0, $4f
+	db "Come back!", $57
+; 0x89d15 + 13 bytes
+
+_UnnamedText_2fb8e: ; 0x89d22
+	db $0, "It's super", $4f
+	db "effective!", $58
+; 0x89d22 + 22 bytes
+
+_UnnamedText_2fb93: ; 0x89d38
+	db $0, "It's not very", $4f
+	db "effective...", $58
+; 0x89d38 + 27 bytes
+
+SafariZoneEatingText: ; 0x89d53
+	db $0, "Wild @"
+	TX_RAM $cfda
+	db $0, $4f
+	db "is eating!", $58
+; 0x89d53 + 23 bytes
+
+SafariZoneAngryText: ; 0x89d6a
+	db $0, "Wild @"
+	TX_RAM $cfda
+	db $0, $4f
+	db "is angry!", $58
+; 0x89d6a + 22 bytes
+
+; money related
+; XXX $2 BCD macro
+; $2, pointer, byte
+_UnnamedText_1386b: ; 0x89d80
+	db $0, $52, " picked up", $4f
+	db $f0, "@"
+	db $2, $e5, $cc, $c3
+	db $0, "!", $58
+
+_UnnamedText_1c9c1: ; 0x89d96
+	db $0, "Clear all saved", $4f
+	db "data?", $57
+; 0x89d96 + 23 bytes
+
+_UnnamedText_1ca14: ; 0x89dad
+	db $0, "Which floor do", $4f
+	db "you want? ", $57
+; 0x89dad + 27 bytes
+
+_UnnamedText_12e7f: ; 0x89dc8
+	db $0, "Choose a #MON.", $57
+; 0x89dc8 + 16 bytes
+
+_UnnamedText_12e84: ; 0x89dd8
+	db $0, "Use item on which", $4f
+	db "#MON?", $57
+; 0x89dd8 + 25 bytes
+
+_UnnamedText_12e89: ; 0x89df1
+	db $0, "Bring out which", $4f
+	db "#MON?", $57
+; 0x89df1 + 23 bytes
+
+_UnnamedText_12e8e: ; 0x89e08
+	db $0, "Use TM on which", $4f
+	db "#MON?", $57
+; 0x89e08 + 23 bytes
+
+_UnnamedText_12e93: ; 0x89e1f
+	db $0, "Move #MON", $4f
+	db "where?", $57
+; 0x89e1f + 18 bytes
+
+_UnnamedText_12e98: ; 0x89e31
+	TX_RAM $cd6d
+	db $0, $4f
+	db "recovered by @"
+	TX_NUM $cefd, 2, 3
+	db $0, "!", $57
+; 0x89e31 + 26 bytes
+
+_UnnamedText_12e9d: ; 0x89e4b
+	TX_RAM $cd6d
+	db $0, " was", $4f
+	db "cured of poison!", $57
+; 0x89e4b + 26 bytes
+
+_UnnamedText_12ea2: ; 0x89e65
+	TX_RAM $cd6d
+	db $0, "'s", $4f
+	db "rid of paralysis!", $57
+; 0x89e65 + 24 bytes
+
+_UnnamedText_12ea7: ; 0x89e7d
+	TX_RAM $cd6d
+	db $0, "'s", $4f
+	db "burn was healed!", $57
+; 0x89e7d + 23 bytes
+
+_UnnamedText_12eac: ; 0x89e94
+	TX_RAM $cd6d
+	db $0, " was", $4f
+	db "defrosted!", $57
+; 0x89e94 + 20 bytes
+
+_UnnamedText_12eb1: ; 0x89ea8
+	TX_RAM $cd6d
+	db $0, $4f
+	db "woke up!", $57
+; 0x89ea8 + 14 bytes
+
+_UnnamedText_12eb6: ; 0x89eb6
+	TX_RAM $cd6d
+	db $0, "'s", $4f
+	db "health returned!", $57
+; 0x89eb6 + 23 bytes
+
+_UnnamedText_12ebb: ; 0x89ecd
+	TX_RAM $cd6d
+	db $0, $4f
+	db "is revitalized!", $57
+; 0x89ecd + 21 bytes
+
+LevelUpText: ; 0x89ee2
+	TX_RAM $cd6d
+	db $0, " grew", $4f
+	db "to level @"
+	TX_NUM $d127, $1,$3
+	db $0, "!@@"
+; 0x89ee2 + 28 bytes
+
+_UnnamedText_17f23: ; 0x89efe
+	db $0, $52, " turned on", $4f
+	db "the PC.", $58
+; 0x89efe + 21 bytes
+
+_UnnamedText_17f28: ; 0x89f13
+	db $0, "Accessed BILL's", $4f
+	db "PC.", $51
+	db "Accessed #MON", $4f
+	db "Storage System.", $58
+; 0x89f13 + 50 bytes
+
+_UnnamedText_17f2d: ; 0x89f45
+	db $0, "Accessed someone's", $4f
+	db "PC.", $51
+	db "Accessed #MON", $4f
+	db "Storage System.", $58
+; 0x89f45 + 53 bytes
+
+_UnnamedText_17f32: ; 0x89f7a
+	db $0, "Accessed my PC.", $51
+	db "Accessed Item", $4f
+	db "Storage System.", $58
+; 0x89f7a + 47 bytes
+
+_UnnamedText_7b22: ; 0x89fa9
+	db $0, $52, " turned on", $4f
+	db "the PC.", $58
+; 0x89fa9 + 21 bytes
+
+_UnnamedText_7b27: ; 0x89fbe
+	db $0, "What do you want", $4f
+	db "to do?", $57
+; 0x89fbe + 25 bytes
+
+_UnnamedText_7b2c: ; 0x89fd7
+	db $0, "What do you want", $4f
+	db "to deposit?", $57
+; 0x89fd7 + 30 bytes
+
+_UnnamedText_7b31: ; 0x89ff5
+	db $0, "How many?", $57
+; 0x89ff5 + 11 bytes
+
+_UnnamedText_7b36: ; 0x8a000
+	TX_RAM $cd6d
+	db $0, " was", $4f
+	db "stored via PC.", $58
+; 0x8a000 + 24 bytes
+
+_UnnamedText_7b3b: ; 0x8a018
+	db $0, "You have nothing", $4f
+	db "to deposit.", $58
+; 0x8a018 + 30 bytes
+
+_UnnamedText_7b40: ; 0x8a036
+	db $0, "No room left to", $4f
+	db "store items.", $58
+; 0x8a036 + 30 bytes
+
+_UnnamedText_7b45: ; 0x8a054
+	db $0, "What do you want", $4f
+	db "to withdraw?", $57
+; 0x8a054 + 31 bytes
+
+_UnnamedText_7b4a: ; 0x8a073
+	db $0, "How many?", $57
+; 0x8a073 + 11 bytes
+
+_UnnamedText_7b4f: ; 0x8a07e
+	db $0, "Withdrew", $4f
+	db "@"
+	TX_RAM $cd6d
+	db $0, ".", $58
+; 0x8a07e + 17 bytes
+
+_UnnamedText_7b54: ; 0x8a08f
+	db $0, "There is nothing", $4f
+	db "stored.", $58
+; 0x8a08f + 26 bytes
+
+_UnnamedText_7b59: ; 0x8a0a9
+	db $0, "You can't carry", $4f
+	db "any more items.", $58
+; 0x8a0a9 + 32 bytes
+
+_UnnamedText_7b5e: ; 0x8a0c9
+	db $0, "What do you want", $4f
+	db "to toss away?", $57
+; 0x8a0c9 + 32 bytes
+
+_UnnamedText_7b63: ; 0x8a0e9
+	db $0, "How many?", $57
+; 0x8a0e9 + 11 bytes
+
+_UnnamedText_76683: ; 0x8a0f4
+	db $0, "Accessed #MON", $4f
+	db "LEAGUE's site.", $51
+	db "Accessed the HALL", $4f
+	db "OF FAME List.", $58
+; 0x8a0f4 + 61 bytes
+
+_UnnamedText_217e9: ; 0x8a131
+	db $0, "Switch on!", $58
+; 0x8a131 + 12 bytes
+
+_UnnamedText_217ee: ; 0x8a13d
+	db $0, "What?", $57
+; 0x8a13d + 7 bytes
+
+_UnnamedText_217f3: ; 0x8a144
+	db $0, "Deposit which", $4f
+	db "#MON?", $57
+; 0x8a144 + 21 bytes
+
+_UnnamedText_217f8: ; 0x8a159
+	TX_RAM $cf4b
+	db $0, " was", $4f
+	db "stored in Box @"
+	TX_RAM $cd3d
+	db $0, ".", $58
+; 30 bytes
+
+_UnnamedText_217fd: ; 0x8a177
+	db $0, "You can't deposit", $4f
+	db "the last #MON!", $58
+; 0x8a177 + 33 bytes
+
+_UnnamedText_21802: ; 0x8a198
+	db $0, "Oops! This Box is", $4f
+	db "full of #MON.", $58
+; 0x8a198 + 33 bytes
+
+_UnnamedText_21807: ; 0x8a1b9
+	TX_RAM $cf4b
+	db $0, " is", $4f
+	db "taken out.", $55
+	db "Got @"
+; 0x8a1b9 + 24 bytes
+UnknownText_8a1d1: ; 0x8a1d1
+	TX_RAM $cf4b
+	db $0, ".", $58
+; 0x8a1d1 + 6 bytes
+
+_UnnamedText_2180c: ; 0x8a1d7
+	db $0, "What? There are", $4f
+	db "no #MON here!", $58
+; 0x8a1d7 + 31 bytes
+
+_UnnamedText_21811: ; 0x8a1f6
+	db $0, "You can't take", $4f
+	db "any more #MON.", $51
+	db "Deposit #MON", $4f
+	db "first.", $58
+; 0x8a1f6 + 50 bytes
+
+_UnnamedText_21816: ; 0x8a228
+	db $0, "Release which", $4f
+	db "#MON?", $57
+; 0x8a228 + 21 bytes
+
+_UnnamedText_2181b: ; 0x8a23d
+	db $0, "Once released,", $4f
+	db "@"
+; 0x8a23d + 17 bytes
+
+UnknownText_8a24e: ; 0x8a24e
+	TX_RAM $cf4b
+	db $0, " is", $55
+	db "gone forever. OK?", $57
+; 0x8a24e + 26 bytes
+
+_UnnamedText_21820: ; 0x8a268
+	TX_RAM $cf4b
+	db $0, " was", $4f
+	db "released outside.", $55
+	db "Bye @"
+; 0x8a268 + 32 bytes
+
+_UnnamedText_8a288: ; 0x8a288
+	TX_RAM $cf4b
+	db $0, "!", $58
+
+_RequireCoinCaseText: ; 22:628E
+	db 0,"A COIN CASE is",$4F
+	db "required!@@"
+
+_ExchangeCoinsForPrizesText: ; 22:62A9
+	db 0,"We exchange your",$4F
+	db "coins for prizes.",$58
+
+_WhichPrizeText: ; 22:62CD
+	db 0,"Which prize do",$4F
+	db "you want?",$57
+
+_HereYouGoText: ; 22:62E7
+	db 0,"Here you go!@@"
+
+_SoYouWantPrizeText: ; 22:62F6
+	db 0,"So, you want",$4F
+	db "@"
+	db 1
+	dw $CD6D
+	db 0,"?",$57
+
+_SorryNeedMoreCoins: ; 22:630B
+	db 0,"Sorry, you need",$4F
+	db "more coins.@@"
+
+_OopsYouDontHaveEnoughRoomText: ; 22:6329
+	db 0,"Oops! You don't",$4F
+	db "have enough room.@@"
+
+_OhFineThenText: ; 22:634C
+	db 0,"Oh, fine then.@@"
+;635d
+
+_UnnamedText_1e93b: ; 0x8a35d
+	db $0, "Want to get your", $4f
+	db "#DEX rated?", $57
+; 0x8a35d + 30 bytes
+
+UnknownText_8a37b: ; 0x8a37b
+	db $0, "Closed link to", $4f
+	db "PROF.OAK's PC.@@"
+; 0x8a37b + 31 bytes
+
+_UnnamedText_1e946: ; 0x8a39a
+	db $0, "Accessed PROF.", $4f
+	db "OAK's PC.", $51
+	db "Accessed #DEX", $4f
+	db "Rating System.", $58
+; 0x8a39a + 54 bytes
+
+_UnnamedText_5d43: ; 0x8a3d0
+	db $0, "Where would you", $4f
+	db "like to go?", $57
+; 0x8a3d0 + 29 bytes
+
+_UnnamedText_5d48: ; 0x8a3ed
+	db $0, "OK, please wait", $4f
+	db "just a moment.", $57
+; 0x8a3ed + 32 bytes
+
+_UnnamedText_5d4d: ; 0x8a40d
+	db $0, "The link was", $4f
+	db "canceled.", $57
+; 0x8a40d + 24 bytes
+
+INCLUDE "text/oakspeech.tx"
+
+_UnnamedText_6557: ; 0x8a605
+	db $0, "Do you want to", $4f
+	db "give a nickname", $55
+	db "to @"
+; 0x8a605 + 36 bytes
+
+UnknownText_8a629: ; 0x8a629
+	TX_RAM $cd6d
+	db $0, "?", $57
+; 0x8a629 + 6 bytes
+
+_UnnamedText_699f: ; 0x8a62f
+	db $0, "Right! So your", $4f
+	db "name is ", $52, "!", $58
+; 0x8a62f + 27 bytes
+
+_UnnamedText_69e7: ; 0x8a64a
+	db $0, "That's right! I", $4f
+	db "remember now! His", $55
+	db "name is ", $53, "!", $58
+; 0x8a64a + 45 bytes
+
+_UnnamedText_5a24: ; 0x8a677
+	TX_RAM $cd3f
+	db $0, " and", $4f
+	db "@"
+; 0x8a677 + 10 bytes
+
+UnknownText_8a681: ; 0x8a681
+	TX_RAM $cd6d
+	db $0, " will", $55
+	db "be traded.", $57
+; 0x8a681 + 21 bytes
+
+_Char00Text:
+	TX_NUM $FF8C,1,2
+	db 0," ERROR.",$57
+
+_Char55Text:
+	db 0,$4B,"@@"
+
+_DiglettsCaveRoute2Text1: ; 0x8a6a7
+	db $0, "I went to ROCK", $4f
+	db "TUNNEL, but it's", $55
+	db "dark and scary.", $51
+	db "If a #MON's", $4f
+	db "FLASH could light", $55
+	db "it up...", $57
+
+_ViridianForestexitText1: ; 0x8a6fd
+	db $0, "Many #MON live", $4f
+	db "only in forests ", $55
+	db "and caves.", $51
+	db "You need to look", $4f
+	db "everywhere to get", $55
+	db "different kinds!", $57
+
+_ViridianForestexitText2: ; 0x8a75d
+	db $0, "Have you noticed", $4f
+	db "the bushes on the", $55
+	db "roadside?", $51
+	db "They can be cut", $4f
+	db "down by a special", $55
+	db "#MON move.", $57
+
+_Route2HouseText1: ; 0x8a7b8
+	db $0, "A fainted #MON", $4f
+	db "can't fight. But, ", $55
+	db "it can still use ", $55
+	db "moves like CUT!", $57
+
+_UnnamedText_5d616: ; 0x8a7fc
+	db $0, "The HM FLASH", $4f
+	db "lights even the", $55
+	db "darkest dungeons.", $57
+; 0x8a7fc + 48 bytes
+
+_Route2GateText2: ; 0x8a82c
+	db $0, "Once a #MON", $4f
+	db "learns FLASH, you", $55
+	db "can get through", $55
+	db "ROCK TUNNEL.", $57
+
+_ViridianForestEntranceText1: ; 0x8a868
+	db $0, "Are you going to", $4f
+	db "VIRIDIAN FOREST?", $55
+	db "Be careful, it's", $55
+	db "a natural maze!", $57
+
+_ViridianForestEntranceText2: ; 0x8a8ab
+	db $0, "RATTATA may be", $4f
+	db "small, but its", $55
+	db "bite is wicked!", $55
+	db "Did you get one?", $57
+
+_MtMoonPokecenterText1: ; 0x8a8eb
+	db $0, "I've 6 # BALLs", $4f
+	db "set in my belt.", $51
+	db "At most, you can", $4f
+	db "carry 6 #MON.", $57
+
+_MtMoonPokecenterText3: ; 0x8a929
+	db $0, "TEAM ROCKET", $4f
+	db "attacks CERULEAN", $55
+	db "citizens...", $51
+	db "TEAM ROCKET is", $4f
+	db "always in the", $55
+	db "news!", $57
+
+_UnnamedText_4935c: ; 0x8a976
+	db $0, "MAN: Hello, there!", $4f
+	db "Have I got a deal", $55
+	db "just for you!", $51
+	db "I'll let you have", $4f
+	db "a swell MAGIKARP", $55
+	db "for just ", $f0, "500!", $55
+	db "What do you say?", $57
+; 0x8a976 + 118 bytes
+
+_UnnamedText_49361: ; 0x8a9ec
+	db $0, "No? I'm only", $4f
+	db "doing this as a", $55
+	db "favor to you!", $57
+; 0x8a9ec + 43 bytes
+
+_UnnamedText_49366: ; 0x8aa17
+	db $0, "You'll need more", $4f
+	db "money than that!", $57
+; 0x8aa17 + 34 bytes
+
+_UnnamedText_4936b: ; 0x8aa39
+	db $0, "MAN: Well, I don't", $4f
+	db "give refunds!", $57
+; 0x8aa39 + 33 bytes
+
+_MtMoonPokecenterText5: ; 0x8aa5a
+	db $0, $57
+
+_UnnamedText_1dfe7: ; 0x8aa5c
+	db $0, "I'm on guard duty.", $4f
+	db "Gee, I'm thirsty,", $55
+	db "though!", $51
+	db "Oh wait there,", $4f
+	db "the road's closed.", $57
+; 0x8aa5c + 77 bytes
+
+_UnnamedText_8aaa9: ; 0x8aaa9
+	db $0, "Whoa, boy!", $4f
+	db "I'm parched!", $55
+	db "...", $55
+	db "Huh? I can have", $55
+	db "this drink?", $55
+	db "Gee, thanks!@@"
+; 0x8aaa9 + 70 bytes
+
+_UnnamedText_1dff1: ; 0x8aaef
+	db $0, $51
+	db "...", $4f
+	db "Glug glug...", $55
+	db "...", $55
+	db "Gulp...", $55
+	db "If you want to go", $55
+	db "to SAFFRON CITY...", $55
+	db "...", $55
+	db "You can go on", $55
+	db "through. I'll", $55
+	db "share this with", $55
+	db "the other guards!", $57
+; 0x8aaef + 133 bytes
+
+_UnnamedText_1dff6: ; 0x8ab74
+	db $0, "Hi, thanks for", $4f
+	db "the cool drinks!", $57
+; 0x8ab74 + 33 bytes
+
+_UnnamedText_5640f: ; 0x8ab95
+	db $0, "I run a DAYCARE.", $4f
+	db "Would you like me", $55
+	db "to raise one of", $55
+	db "your #MON?", $57
+; 0x8ab95 + 63 bytes
+
+_UnnamedText_56414: ; 0x8abd4
+	db $0, "Which #MON", $4f
+	db "should I raise?", $58
+; 0x8abd4 + 28 bytes
+
+_UnnamedText_56419: ; 0x8abf0
+	db $0, "Fine, I'll look", $4f
+	db "after @"
+; 0x8abf0 + 23 bytes
+
+UnknownText_8ac07: ; 0x8ac07
+	TX_RAM $cd6d
+	db $0, $55
+	db "for a while.", $58
+; 0x8ac07 + 18 bytes
+
+_UnnamedText_5641e: ; 0x8ac19
+	db $0, "Come see me in", $4f
+	db "a while.", $57
+; 0x8ac19 + 25 bytes
+
+_UnnamedText_56423: ; 0x8ac32
+	db $0, "Your @"
+; 0x8ac32 + 7 bytes
+
+UnknownText_8ac39: ; 0x8ac39
+	TX_RAM $cd6d
+	db $0, $4f
+	db "has grown a lot!", $51
+	db "By level, it's", $4f
+	db "grown by @"
+; 0x8ac39 + 46 bytes
+
+UnknownText_8ac67: ; 0x8ac67
+	TX_NUM $cd3e,$1,$3
+	db $0, "!", $51
+	db "Aren't I great?", $58
+; 0x8ac67 + 22 bytes
+
+_UnnamedText_56428: ; 0x8ac7d
+	db $0, "You owe me ", $f0, "@"
+; 0x8ac7d + 14 bytes
+
+;XXX
+; 0x8ac8b
+db $2, $3f, $cd, $c2
+
+UnknownText_8ac8f: ; 0x8ac8f
+	db $0, $4f
+	db "for the return", $55
+	db "of this #MON.", $57
+; 0x8ac8f + 31 bytes
+
+_UnnamedText_5642d: ; 0x8acae
+	db $0, $52, " got", $4f
+	db "@"
+; 0x8acae + 8 bytes
+
+UnknownText_8acb6: ; 0x8acb6
+	TX_RAM $da49
+	db $0, " back!", $57
+; 0x8acb6 + 11 bytes
+
+_UnnamedText_56432: ; 0x8acc1
+	db $0, "Back already?", $4f
+	db "Your @"
+; 0x8acc1 + 21 bytes
+
+UnknownText_8acd6: ; 0x8acd6
+	TX_RAM $cd6d
+	db $0, $55
+	db "needs some more", $55
+	db "time with me.", $58
+; 0x8acd6 + 35 bytes
+
+SECTION "bank23",DATA,BANK[$23]
+
+_UnnamedText_56437: ; 0x8c000
+	db $0, "All right then,", $4f
+	db "@@"
+; 0x8c000 + 19 bytes
+
+_UnnamedText_5643b: ; 0x8c013
+	db $0, "come again.", $57
+; 0x8c013 + 13 bytes
+
+_UnnamedText_56440: ; 0x8c020
+	db $0, "You have no room", $4f
+	db "for this #MON!", $57
+; 0x8c020 + 33 bytes
+
+_UnnamedText_56445: ; 0x8c041
+	db $0, "You only have one", $4f
+	db "#MON with you.", $57
+; 0x8c041 + 34 bytes
+
+_UnnamedText_5644a: ; 0x8c063
+	db $0, "I can't accept a", $4f
+	db "#MON that", $55
+	db "knows an HM move.", $57
+; 0x8c063 + 45 bytes
+
+_UnnamedText_5644f: ; 0x8c090
+	db $0, "Thank you! Here's", $4f
+	db "your #MON!", $58
+; 0x8c090 + 29 bytes
+
+_UnnamedText_56454: ; 0x8c0ad
+	db $0, "Hey, you don't", $4f
+	db "have enough ", $f0, "!", $57
+; 0x8c0ad + 30 bytes
+
+_UndergroundTunnelEntranceRoute6Text1: ; 0x8c0cb
+	db $0, "People often lose", $4f
+	db "things in that", $55
+	db "UNDERGROUND PATH.", $57
+
+_UndergroundPathEntranceRoute7Text1: ; 0x8c0ff
+	db $0, "I heard a sleepy", $4f
+	db "#MON appeared", $55
+	db "near CELADON CITY.", $57
+
+_UnnamedText_5d773: ; 0x8c132
+	db $0, "I want to shop at", $4f
+	db "the dept. store", $55
+	db "in CELADON but...", $51
+	db "There are so many", $4f
+	db "rough looking", $55
+	db "people there.", $57
+; 0x8c132 + 99 bytes
+
+_UnnamedText_5d778: ; 0x8c195
+	db $0, "TEAM ROCKET had a", $4f
+	db "secret hideout in", $55
+	db "CELADON CITY?", $57
+; 0x8c195 + 51 bytes
+
+_UnnamedText_5d77d: ; 0x8c1c8
+	db $0, "You're here to", $4f
+	db "shop in CELADON?", $51
+	db "Just step outside", $4f
+	db "and head west!", $57
+; 0x8c1c8 + 65 bytes
+
+_UnnamedText_5d782: ; 0x8c209
+	db $0, "The UNDERGROUND", $4f
+	db "PATH goes beneath", $55
+	db "SAFFRON and leads", $55
+	db "to LAVENDER.", $51
+	db "If you're heading", $4f
+	db "to CERULEAN, go", $55
+	db "to the building", $55
+	db "across the road.", $57
+; 0x8c209 + 132 bytes
+
+_UndergroundPathEntranceRoute8Text1: ; 0x8c28d
+	db $0, "The dept. store", $4f
+	db "in CELADON has a", $55
+	db "great selection!", $57
+
+_RockTunnelPokecenterText1: ; 0x8c2c0
+	db $0, "The element types", $4f
+	db "of #MON make", $55
+	db "them stronger", $55
+	db "than some types", $55
+	db "and weaker than", $55
+	db "others!", $57
+
+_RockTunnelPokecenterText3: ; 0x8c316
+	db $0, "I sold a useless", $4f
+	db "NUGGET for ", $f0, "5000!", $57
+
+_UnnamedText_44588: ; 0x8c33a
+	db $0, "This tunnel goes", $4f
+	db "a long way, kid!", $57
+; 0x8c33a + 35 bytes
+
+_UnnamedText_4458d: ; 0x8c35d
+	db $0, "Doh!", $4f
+	db "You win!", $58
+; 0x8c35d + 15 bytes
+
+_UnnamedText_44592: ; 0x8c36c
+	db $0, "Watch for ONIX!", $4f
+	db "It can put the", $55
+	db "squeeze on you!", $57
+; 0x8c36c + 48 bytes
+
+_UnnamedText_44597: ; 0x8c39c
+	db $0, "Hmm. Maybe I'm", $4f
+	db "lost in here...", $57
+; 0x8c39c + 31 bytes
+
+_UnnamedText_4459c: ; 0x8c3bb
+	db $0, "Ease up!", $4f
+	db "What am I doing?", $55
+	db "Which way is out?", $58
+; 0x8c3bb + 45 bytes
+
+_UnnamedText_445a1: ; 0x8c3e8
+	db $0, "That sleeping", $4f
+	db "#MON on ROUTE", $55
+	db "12 forced me to", $55
+	db "take this detour.", $57
+; 0x8c3e8 + 63 bytes
+
+_UnnamedText_445a6: ; 0x8c427
+	db $0, "Outsiders like", $4f
+	db "you need to show", $55
+	db "me some respect!", $57
+; 0x8c427 + 50 bytes
+
+_UnnamedText_445ab: ; 0x8c459
+	db $0, "I give!", $58
+; 0x8c459 + 9 bytes
+
+_UnnamedText_445b0: ; 0x8c462
+	db $0, "You're talented", $4f
+	db "enough to hike!", $57
+; 0x8c462 + 32 bytes
+
+_UnnamedText_445b5: ; 0x8c482
+	db $0, "#MON fight!", $4f
+	db "Ready, go!", $57
+; 0x8c482 + 24 bytes
+
+_UnnamedText_445ba: ; 0x8c49a
+	db $0, "Game", $4f
+	db "over!", $58
+; 0x8c49a + 12 bytes
+
+_UnnamedText_445bf: ; 0x8c4a6
+	db $0, "Oh well, I'll get", $4f
+	db "a ZUBAT as I go!", $57
+; 0x8c4a6 + 35 bytes
+
+_UnnamedText_445c4: ; 0x8c4c9
+	db $0, "Eek! Don't try", $4f
+	db "anything funny in", $55
+	db "the dark!", $57
+; 0x8c4c9 + 43 bytes
+
+_UnnamedText_445c9: ; 0x8c4f4
+	db $0, "It", $4f
+	db "was too dark!", $58
+; 0x8c4f4 + 18 bytes
+
+_UnnamedText_445ce: ; 0x8c506
+	db $0, "I saw a MACHOP", $4f
+	db "in this tunnel!", $57
+; 0x8c506 + 32 bytes
+
+_UnnamedText_445d3: ; 0x8c526
+	db $0, "I came this far", $4f
+	db "for #MON!", $57
+; 0x8c526 + 27 bytes
+
+_UnnamedText_445d8: ; 0x8c541
+	db $0, "I'm", $4f
+	db "out of #MON!", $58
+; 0x8c541 + 17 bytes
+
+_UnnamedText_445dd: ; 0x8c552
+	db $0, "You looked cute", $4f
+	db "and harmless!", $57
+; 0x8c552 + 31 bytes
+
+_UnnamedText_445e2: ; 0x8c571
+	db $0, "You have #MON!", $4f
+	db "Let's start!", $57
+; 0x8c571 + 28 bytes
+
+_UnnamedText_445e7: ; 0x8c58d
+	db $0, "You", $4f
+	db "play hard!", $58
+; 0x8c58d + 16 bytes
+
+_UnnamedText_445ec: ; 0x8c59d
+	db $0, "Whew! I'm all", $4f
+	db "sweaty now!", $57
+; 0x8c59d + 26 bytes
+
+_RockTunnel1Text8: ; 0x8c5b7
+	db $0, "ROCK TUNNEL", $4f
+	db "CERULEAN CITY -", $55
+	db "LAVENDER TOWN", $57
+
+_UnnamedText_1e3aa: ; 0x8c5e2
+	db $0, "Bzzzt!", $57
+; 0x8c5e2 + 8 bytes
+
+_UnnamedText_1e3af: ; 0x8c5ea
+	db $0, "Gyaoo!@@"
+; 0x8c5ea + 9 bytes
+
+_Route11GateText1: ; 0x8c5f3
+	db $0, "When you catch", $4f
+	db "lots of #MON,", $55
+	db "isn't it hard to", $55
+	db "think up names?", $51
+	db "In LAVENDER TOWN,", $4f
+	db "there's a man who", $55
+	db "rates #MON", $55
+	db "nicknames.", $51
+	db "He'll help you", $4f
+	db "rename them too!", $57
+
+_UnnamedText_494a3: ; 0x8c689
+	db $0, "There are items on", $4f
+	db "the ground that", $55
+	db "can't be seen.", $51
+	db "ITEMFINDER will", $4f
+	db "detect an item", $55
+	db "close to you.", $51
+	db "It can't pinpoint", $4f
+	db "it, so you have", $55
+	db "to look yourself!", $57
+; 0x8c689 + 146 bytes
+
+_UnnamedText_494c4: ; 0x8c71b
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "A big #MON is", $4f
+	db "asleep on a road!", $57
+; 0x8c71b + 61 bytes
+
+_UnnamedText_494c9: ; 0x8c758
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "It's a beautiful", $4f
+	db "view!", $57
+; 0x8c758 + 51 bytes
+
+_UnnamedText_494d5: ; 0x8c78b
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "The only way to", $4f
+	db "get from CERULEAN", $55
+	db "CITY to LAVENDER", $55
+	db "is by way of the", $55
+	db "ROCK TUNNEL.", $57
+; 0x8c78b + 110 bytes
+
+_DiglettsCaveEntranceRoute11Text1: ; 0x8c7f9
+	db $0, "What a surprise!", $4f
+	db "DIGLETTs dug this", $55
+	db "long tunnel!", $51
+	db "It goes right to", $4f
+	db "VIRIDIAN CITY!", $57
+
+_Route12GateText1: ; 0x8c84a
+	db $0, "There's a lookout", $4f
+	db "spot upstairs.", $57
+
+_UnnamedText_4959c: ; 0x8c86b
+	db $0, "My #MON's", $4f
+	db "ashes are stored", $55
+	db "in #MON TOWER.", $51
+	db "You can have this", $4f
+	db "TM. I don't need", $55
+	db "it any more...", $58
+; 0x8c86b + 91 bytes
+
+_ReceivedTM39Text: ; 0x8c8c6
+	db $0, $52, " received", $4f
+	db "TM39!@@"
+; 0x8c8c6 + 19 bytes
+
+_UnnamedText_495a7: ; 0x8c8d9
+	db $0, "TM39 is a move", $4f
+	db "called SWIFT.", $51
+	db "It's very accurate,", $4f
+	db "so use it during", $55
+	db "battles you can't", $55
+	db "afford to lose.", $57
+; 0x8c8d9 + 99 bytes
+
+_UnnamedText_495ac: ; 0x8c93c
+	db $0, "You don't have", $4f
+	db "room for this.", $57
+; 0x8c93c + 30 bytes
+
+_UnnamedText_495b8: ; 0x8c95a
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "A man fishing!", $57
+; 0x8c95a + 44 bytes
+
+_UnnamedText_495c4: ; 0x8c986
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "It's #MON TOWER!", $57
+; 0x8c986 + 45 bytes
+
+_UnnamedText_564c0: ; 0x8c9b3
+	db $0, "I'm the FISHING", $4f
+	db "GURU's brother!", $51
+	db "I simply Looove", $4f
+	db "fishing!", $51
+	db "Do you like to", $4f
+	db "fish?", $57
+; 0x8c9b3 + 77 bytes
+
+_UnnamedText_564c5: ; 0x8ca00
+	db $0, "Grand! I like", $4f
+	db "your style!", $51
+	db "Take this and", $4f
+	db "fish, young one!", $51
+	db $52, " received", $4f
+	db "a @"
+; 0x8ca00 + 72 bytes
+
+UnknownText_8ca48: ; 0x8ca48
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x8ca48 + 7 bytes
+
+_UnnamedText_564ca: ; 0x8ca4f
+	db $0, $51
+	db "Fishing is a way", $4f
+	db "of life!", $51
+	db "From the seas to", $4f
+	db "rivers, go out", $55
+	db "and land the big", $55
+	db "one!", $57
+; 0x8ca4f + 82 bytes
+
+_UnnamedText_564cf: ; 0x8caa1
+	db $0, "Oh... That's so", $4f
+	db "disappointing...", $57
+; 0x8caa1 + 33 bytes
+
+_UnnamedText_564d4: ; 0x8cac2
+	db $0, "Hello there,", $4f
+	db $52, "!", $51
+	db "Use the SUPER ROD", $4f
+	db "in any water!", $55
+	db "You can catch", $55
+	db "different kinds", $55
+	db "of #MON.", $51
+	db "Try fishing", $4f
+	db "wherever you can!", $57
+; 0x8cac2 + 118 bytes
+
+_UnnamedText_564d9: ; 0x8cb38
+	db $0, "Oh no!", $51
+	db "I had a gift for", $4f
+	db "you, but you have", $55
+	db "no room for it!", $57
+; 0x8cb38 + 59 bytes
+
+_Route15GateText1: ; 0x8cb73
+	db $0, "Are you working", $4f
+	db "on a #DEX?", $51
+	db "PROF.OAK's AIDE", $4f
+	db "came by here.", $57
+
+_UnnamedText_4968c: ; 0x8cbac
+	db $0, "EXP.ALL gives", $4f
+	db "EXP points to all", $55
+	db "the #MON with", $55
+	db "you, even if they", $55
+	db "don't fight.", $51
+	db "It does, however,", $4f
+	db "reduce the amount", $55
+	db "of EXP for each", $55
+	db "#MON.", $51
+	db "If you don't need", $4f
+	db "it, you should ", $55
+	db "store it via PC.", $57
+; 0x8cbac + 185 bytes
+
+_UnnamedText_49698: ; 0x8cc65
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "It looks like a", $4f
+	db "small island!", $57
+; 0x8cc65 + 59 bytes
+
+_UnnamedText_49777: ; 0x8cca0
+	db $0, "No pedestrians", $4f
+	db "are allowed on", $55
+	db "CYCLING ROAD!", $57
+; 0x8cca0 + 45 bytes
+
+_UnnamedText_4977c: ; 0x8cccd
+	db $0, "CYCLING ROAD is a", $4f
+	db "downhill course", $55
+	db "by the sea. It's", $55
+	db "a great ride.", $57
+; 0x8cccd + 65 bytes
+
+_UnnamedText_49781: ; 0x8cd0e
+	db $0, "Excuse me! Wait", $4f
+	db "up please!", $57
+; 0x8cd0e + 28 bytes
+
+_Route16GateMapText2: ; 0x8cd2a
+	db $0, "How'd you get in?", $4f
+	db "Good effort!", $57
+
+_UnnamedText_49820: ; 0x8cd49
+	db $0, "I'm going for a", $4f
+	db "ride with my girl", $55
+	db "friend!", $57
+; 0x8cd49 + 42 bytes
+
+_UnnamedText_4982f: ; 0x8cd73
+	db $0, "We're going", $4f
+	db "riding together!", $57
+; 0x8cd73 + 29 bytes
+
+_UnnamedText_4983b: ; 0x8cd90
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "It's CELADON DEPT.", $4f
+	db "STORE!", $57
+; 0x8cd90 + 54 bytes
+
+_UnnamedText_49847: ; 0x8cdc6
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "There's a long", $4f
+	db "path over water!", $57
+; 0x8cdc6 + 60 bytes
+
+_Route16HouseText3: ; 0x8ce02
+	db $0, "Oh, you found my", $4f
+	db "secret retreat!", $51
+	db "Please don't tell", $4f
+	db "anyone I'm here.", $55
+	db "I'll make it up", $55
+	db "to you with this!", $58
+; 0x8ce02 + 100 bytes
+
+_ReceivedHM02Text: ; 0x8ce66
+	db $0, $52, " received", $4f
+	db "HM02!@@"
+; 0x8ce66 + 19 bytes
+
+_HM02ExplanationText: ; 0x8ce79
+	db $0, "HM02 is FLY.", $4f
+	db "It will take you", $55
+	db "back to any town.", $51
+	db "Put it to good", $4f
+	db "use!", $57
+; 0x8ce79 + 69 bytes
+
+_HM02NoRoomText: ; 0x8cebe
+	db $0, "You don't have any", $4f
+	db "room for this.", $57
+; 0x8cebe + 34 bytes
+
+_UnnamedText_1e652: ; 0x8cee0
+	db $0, "FEAROW: Kyueen!", $57
+; 0x8cee0 + 17 bytes
+
+_UnnamedText_49928: ; 0x8cef1
+	db $0, "You need a BICYCLE", $4f
+	db "for CYCLING ROAD!", $57
+; 0x8cef1 + 38 bytes
+
+_UnnamedText_4992d: ; 0x8cf17
+	db $0, "CYCLING ROAD is", $4f
+	db "all uphill from", $55
+	db "here.", $57
+; 0x8cf17 + 39 bytes
+
+_UnnamedText_49932: ; 0x8cf3e
+	db $0, "Excuse me!", $57
+; 0x8cf3e + 12 bytes
+
+_UnnamedText_49993: ; 0x8cf4a
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "PALLET TOWN is in", $4f
+	db "the west!", $57
+; 0x8cf4a + 57 bytes
+
+_UnnamedText_4999f: ; 0x8cf83
+	db $0, "Looked into the", $4f
+	db "binoculars.", $51
+	db "There are people", $4f
+	db "swimming!", $57
+; 0x8cf83 + 56 bytes
+
+_UnnamedText_1e704: ; 0x8cfbb
+	db $0, "Only truly skilled", $4f
+	db "trainers are", $55
+	db "allowed through.", $51
+	db "You don't have the", $4f
+	db "BOULDERBADGE yet!@@"
+; 0x8d012
+
+_UnnamedText_1e715: ; 0x8d012
+	db $0, $51
+	db "The rules are", $4f
+	db "rules. I can't", $55
+	db "let you pass.", $57
+; 0x8d012 + 44 bytes
+
+_UnnamedText_1e71a: ; 0x8d03e
+	db $0, "Oh! That is the", $4f
+	db "BOULDERBADGE!", $55
+	db "Go right ahead!@@"
+; 0x8d03e + 48 bytes
+
+_UnnamedText_518ba: ; 0x8d06e
+	db $0, "Gyaoo!@@"
+; 0x8d06e + 9 bytes
+
+_UnnamedText_518ca: ; 0x8d077
+	db $0, "VICTORY ROAD is", $4f
+	db "the final test", $55
+	db "for trainers!", $57
+; 0x8d077 + 46 bytes
+
+_UnnamedText_518cf: ; 0x8d0a5
+	db $0, "Aiyah!", $58
+; 0x8d0a5 + 8 bytes
+
+_UnnamedText_518d4: ; 0x8d0ad
+	db $0, "If you get stuck,", $4f
+	db "try moving some", $55
+	db "boulders around!", $57
+; 0x8d0ad + 52 bytes
+
+_UnnamedText_518d9: ; 0x8d0e1
+	db $0, "Ah, so you wish", $4f
+	db "to challenge the", $55
+	db "ELITE FOUR?", $57
+; 0x8d0e1 + 46 bytes
+
+_UnnamedText_518de: ; 0x8d10f
+	db $0, "You", $4f
+	db "got me!", $58
+; 0x8d10f + 13 bytes
+
+_UnnamedText_518e3: ; 0x8d11c
+	db $0, $53, " also came", $4f
+	db "through here!", $57
+; 0x8d11c + 27 bytes
+
+_UnnamedText_518e8: ; 0x8d137
+	db $0, "Come on!", $4f
+	db "I'll whip you!", $57
+; 0x8d137 + 24 bytes
+
+_UnnamedText_518ed: ; 0x8d14f
+	db $0, "I got", $4f
+	db "whipped!", $58
+; 0x8d14f + 16 bytes
+
+_UnnamedText_518f2: ; 0x8d15f
+	db $0, "You earned the", $4f
+	db "right to be on", $55
+	db "VICTORY ROAD!", $57
+; 0x8d15f + 45 bytes
+
+_UnnamedText_518f7: ; 0x8d18c
+	db $0, "If you can get", $4f
+	db "through here, you", $55
+	db "can go meet the", $55
+	db "ELITE FOUR!", $57
+; 0x8d18c + 62 bytes
+
+_UnnamedText_518fc: ; 0x8d1ca
+	db $0, "No!", $4f
+	db "Unbelievable!", $58
+; 0x8d1ca + 19 bytes
+
+_UnnamedText_51901: ; 0x8d1dd
+	db $0, "I can beat you", $4f
+	db "when it comes to", $55
+	db "knowledge about", $55
+	db "#MON!", $57
+; 0x8d1dd + 55 bytes
+
+_UnnamedText_51906: ; 0x8d214
+	db $0, "Is VICTORY ROAD", $4f
+	db "too tough?", $57
+; 0x8d214 + 28 bytes
+
+_UnnamedText_5190b: ; 0x8d230
+	db $0, "Well", $4f
+	db "done!", $58
+; 0x8d230 + 12 bytes
+
+_UnnamedText_51910: ; 0x8d23c
+	db $0, "Many trainers give", $4f
+	db "up the challenge", $55
+	db "here.", $57
+; 0x8d23c + 43 bytes
+
+_UnnamedText_1e865: ; 0x8d267
+	db $0, "Hiya! I'm a", $4f
+	db "#MON...", $55
+	db "...No I'm not!", $51
+	db "Call me BILL!", $4f
+	db "I'm a true blue", $55
+	db "#MANIAC! Hey!", $55
+	db "What's with that", $55
+	db "skeptical look?", $51
+	db "I'm not joshing", $4f
+	db "you, I screwed up", $55
+	db "an experiment and", $55
+	db "got combined with", $55
+	db "a #MON!", $51
+	db "So, how about it?", $4f
+	db "Help me out here!", $57
+; 0x8d267 + 222 bytes
+
+_UnnamedText_1e86a: ; 0x8d345
+	db $0, "When I'm in the", $4f
+	db "TELEPORTER, go to", $55
+	db "my PC and run the", $55
+	db "Cell Separation", $55
+	db "System!", $57
+; 0x8d345 + 76 bytes
+
+_UnnamedText_1e86f: ; 0x8d391
+	db $0, "No!? Come on, you", $4f
+	db "gotta help a guy", $55
+	db "in deep trouble!", $51
+	db "What do you say,", $4f
+	db "chief? Please?", $55
+	db "OK? All right!", $58
+; 0x8d391 + 100 bytes
+
+_BillThankYouText: ; 0x8d3f5
+	db $0, "BILL: Yeehah!", $4f
+	db "Thanks, bud! I", $55
+	db "owe you one!", $51
+	db "So, did you come", $4f
+	db "to see my #MON", $55
+	db "collection?", $55
+	db "You didn't?", $55
+	db "That's a bummer.", $51
+	db "I've got to thank", $4f
+	db "you... Oh here,", $55
+	db "maybe this'll do.", $58
+; 0x8d3f5 + 164 bytes
+
+_SSTicketReceivedText: ; 0x8d499
+	db $0, $52, " received", $4f
+	db "an @"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x8d4b0
+
+_SSTicketNoRoomText: ; 0x8d4b0
+	db $0, "You've got too", $4f
+	db "much stuff, bud!", $57
+; 0x8d4b0 + 32 bytes
+
+_UnnamedText_1e8cb: ; 0x8d4d0
+	db $0, "That cruise ship,", $4f
+	db "S.S.ANNE, is in", $55
+	db "VERMILION CITY.", $55
+	db "Its passengers", $55
+	db "are all trainers!", $51
+	db "They invited me", $4f
+	db "to their party,", $55
+	db "but I can't stand", $55
+	db "fancy do's. Why", $55
+	db "don't you go", $55
+	db "instead of me?", $57
+; 0x8d4d0 + 175 bytes
+
+_UnnamedText_1e8da: ; 0x8d57f
+	db $0, "BILL: Look, bud,", $4f
+	db "just check out", $55
+	db "some of my rare", $55
+	db "#MON on my PC!", $57
+; 0x8d57f + 64 bytes
+
+_Route1ViridianMartSampleText: ; 0x8d5bf
+	db $0, "Hi! I work at a", $4f
+	db "#MON MART.", $51
+	db "It's a convenient", $4f
+	db "shop, so please", $55
+	db "visit us in", $55
+	db "VIRIDIAN CITY.", $51
+	db "I know, I'll give", $4f
+	db "you a sample!", $55
+	db "Here you go!", $58
+; 0x8d5bf + 132 bytes
+
+UnknownText_8d643: ; 0x8d643
+	db $0, $52, " got", $4f
+	db "@"
+; 0x8d643 + 8 bytes
+
+UnknownText_8d64b: ; 0x8d64b
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x8d64b + 7 bytes
+
+_UnnamedText_1caee: ; 0x8d652
+	db $0, "We also carry", $4f
+	db "# BALLs for", $55
+	db "catching #MON!", $57
+; 0x8d652 + 42 bytes
+
+_UnnamedText_1caf3: ; 0x8d67c
+	db $0, "You have too much", $4f
+	db "stuff with you!", $57
+; 0x8d67c + 35 bytes
+
+_Route1Text2: ; 0x8d69f
+	db $0, "See those ledges", $4f
+	db "along the road?", $51
+	db "It's a bit scary,", $4f
+	db "but you can jump", $55
+	db "from them.", $51
+	db "You can get back", $4f
+	db "to PALLET TOWN", $55
+	db "quicker that way.", $57
+
+_Route1Text3: ; 0x8d720
+	db $0, "ROUTE 1", $4f
+	db "PALLET TOWN -", $55
+	db "VIRIDIAN CITY", $57
+
+_Route2Text3: ; 0x8d745
+	db $0, "ROUTE 2", $4f
+	db "VIRIDIAN CITY -", $55
+	db "PEWTER CITY", $57
+
+_Route2Text4: ; 0x8d76a
+	db $0, "DIGLETT's CAVE", $57
+
+_Route3Text1: ; 0x8d779
+	db $0, "Whew... I better", $4f
+	db "take a rest...", $55
+	db "Groan...", $51
+	db "That tunnel from", $4f
+	db "CERULEAN takes a", $55
+	db "lot out of you!", $57
+
+_UnnamedText_55595: ; 0x8d7d5
+	db $0, "Hey! I met you in", $4f
+	db "VIRIDIAN FOREST!", $57
+; 0x8d7d5 + 36 bytes
+
+_UnnamedText_5559a: ; 0x8d7f9
+	db $0, "You", $4f
+	db "beat me again!", $58
+; 0x8d7f9 + 20 bytes
+
+_UnnamedText_5559f: ; 0x8d80d
+	db $0, "There are other", $4f
+	db "kinds of #MON", $55
+	db "than those found", $55
+	db "in the forest!", $57
+; 0x8d80d + 63 bytes
+
+_UnnamedText_555ae: ; 0x8d84c
+	db $0, "Hi! I like shorts!", $4f
+	db "They're comfy and", $55
+	db "easy to wear!", $57
+; 0x8d84c + 51 bytes
+
+_UnnamedText_555b3: ; 0x8d87f
+	db $0, "I don't", $4f
+	db "believe it!", $58
+; 0x8d87f + 20 bytes
+
+_UnnamedText_555b8: ; 0x8d893
+	db $0, "Are you storing", $4f
+	db "your #MON on", $55
+	db "PC? Each BOX can", $55
+	db "hold 20 #MON!", $57
+; 0x8d893 + 61 bytes
+
+_UnnamedText_555c7: ; 0x8d8d0
+	db $0, "You looked at me,", $4f
+	db "didn't you?", $57
+; 0x8d8d0 + 30 bytes
+
+_UnnamedText_555cc: ; 0x8d8ee
+	db $0, "You're", $4f
+	db "mean!", $58
+; 0x8d8ee + 13 bytes
+
+_UnnamedText_555d1: ; 0x8d8fb
+	db $0, "Quit staring if", $4f
+	db "you don't want to", $55
+	db "fight!", $57
+; 0x8d8fb + 41 bytes
+
+_UnnamedText_555e0: ; 0x8d924
+	db $0, "Are you a trainer?", $4f
+	db "Let's fight!", $57
+; 0x8d924 + 32 bytes
+
+_UnnamedText_555e5: ; 0x8d944
+	db $0, "If I", $4f
+	db "had new #MON I", $55
+	db "would've won!", $58
+; 0x8d944 + 34 bytes
+
+_UnnamedText_555ea: ; 0x8d966
+	db $0, "If a #MON BOX", $4f
+	db "on the PC gets", $55
+	db "full, just switch", $55
+	db "to another BOX!", $57
+; 0x8d966 + 64 bytes
+
+_UnnamedText_555f9: ; 0x8d9a6
+	db $0, "That look you", $4f
+	db "gave me, it's so", $55
+	db "intriguing!", $57
+; 0x8d9a6 + 43 bytes
+
+_UnnamedText_555fe: ; 0x8d9d1
+	db $0, "Be nice!", $58
+; 0x8d9d1 + 10 bytes
+
+_UnnamedText_55603: ; 0x8d9db
+	db $0, "Avoid fights by", $4f
+	db "not letting", $55
+	db "people see you!", $57
+; 0x8d9db + 45 bytes
+
+_UnnamedText_55612: ; 0x8da08
+	db $0, "Hey! You're not", $4f
+	db "wearing shorts!", $57
+; 0x8da08 + 32 bytes
+
+_UnnamedText_55617: ; 0x8da28
+	db $0, "Lost!", $4f
+	db "Lost! Lost!", $58
+; 0x8da28 + 19 bytes
+
+_UnnamedText_5561c: ; 0x8da3b
+	db $0, "I always wear", $4f
+	db "shorts, even in", $55
+	db "winter!", $57
+; 0x8da3b + 39 bytes
+
+_UnnamedText_5562b: ; 0x8da62
+	db $0, "You can fight my", $4f
+	db "new #MON!", $57
+; 0x8da62 + 28 bytes
+
+_UnnamedText_55630: ; 0x8da7e
+	db $0, "Done", $4f
+	db "like dinner!", $58
+; 0x8da7e + 19 bytes
+
+_UnnamedText_55635: ; 0x8da91
+	db $0, "Trained #MON", $4f
+	db "are stronger than", $55
+	db "the wild ones!", $57
+; 0x8da91 + 47 bytes
+
+_UnnamedText_55644: ; 0x8dac0
+	db $0, "Eek! Did you", $4f
+	db "touch me?", $57
+; 0x8dac0 + 24 bytes
+
+_UnnamedText_55649: ; 0x8dad8
+	db $0, "That's it?", $58
+; 0x8dad8 + 11 bytes
+
+_UnnamedText_5564e: ; 0x8dae3
+	db $0, "ROUTE 4 is at the", $4f
+	db "foot of MT.MOON.", $57
+; 0x8dae3 + 36 bytes
+
+_Route3Text10: ; 0x8db07
+	db $0, "ROUTE 3", $4f
+	db "MT.MOON AHEAD", $57
+
+_Route4Text1: ; 0x8db1e
+	db $0, "Ouch! I tripped", $4f
+	db "over a rocky", $55
+	db "#MON, GEODUDE!", $57
+
+_UnnamedText_55699: ; 0x8db4b
+	db $0, "I came to get my", $4f
+	db "mushroom #MON!", $57
+; 0x8db4b + 33 bytes
+
+_UnnamedText_5569e: ; 0x8db6c
+	db $0, "Oh! My cute", $4f
+	db "mushroom #MON!", $58
+; 0x8db6c + 28 bytes
+
+_UnnamedText_556a3: ; 0x8db88
+	db $0, "There might not", $4f
+	db "be any more", $55
+	db "mushrooms here.", $51
+	db "I think I got", $4f
+	db "them all.", $57
+; 0x8db88 + 69 bytes
+
+_Route4Text5: ; 0x8dbcd
+	db $0, "MT.MOON", $4f
+	db "Tunnel Entrance", $57
+
+_Route4Text6: ; 0x8dbe6
+	db $0, "ROUTE 4", $4f
+	db "MT.MOON -", $55
+	db "CERULEAN CITY", $57
+
+_Route5Text1: ; 0x8dc07
+	db $0, "UNDERGROUND PATH", $4f
+	db "CERULEAN CITY -", $55
+	db "VERMILION CITY", $57
+
+_UnnamedText_5912a: ; 0x8dc38
+	db $0, "Who's there?", $4f
+	db "Quit listening in", $55
+	db "on us!", $57
+; 0x8dc38 + 38 bytes
+
+_UnnamedText_5912f: ; 0x8dc5e
+	db $0, "I", $4f
+	db "just can't win!", $58
+; 0x8dc5e + 18 bytes
+
+_UnnamedText_59134: ; 0x8dc70
+	db $0, "Whisper...", $4f
+	db "whisper...", $57
+; 0x8dc70 + 23 bytes
+
+_UnnamedText_59143: ; 0x8dc87
+	db $0, "Excuse me! This", $4f
+	db "is a private", $55
+	db "conversation!", $57
+; 0x8dc87 + 44 bytes
+
+_UnnamedText_59148: ; 0x8dcb3
+	db $0, "Ugh!", $4f
+	db "I hate losing!", $58
+; 0x8dcb3 + 21 bytes
+
+_UnnamedText_59157: ; 0x8dcc8
+	db $0, "There aren't many", $4f
+	db "bugs out here.", $57
+; 0x8dcc8 + 33 bytes
+
+_UnnamedText_5915c: ; 0x8dce9
+	db $0, "No!", $4f
+	db "You're kidding!", $58
+; 0x8dce9 + 20 bytes
+
+_UnnamedText_59161: ; 0x8dcfd
+	db $0, "I like bugs, so", $4f
+	db "I'm going back to", $55
+	db "VIRIDIAN FOREST.", $57
+; 0x8dcfd + 51 bytes
+
+_UnnamedText_59170: ; 0x8dd30
+	db $0, "Huh? You want", $4f
+	db "to talk to me?", $57
+; 0x8dd30 + 30 bytes
+
+_UnnamedText_59175: ; 0x8dd4e
+	db $0, "I", $4f
+	db "didn't start it!", $58
+; 0x8dd4e + 19 bytes
+
+_UnnamedText_5917a: ; 0x8dd61
+	db $0, "I should carry", $4f
+	db "more #MON with", $55
+	db "me for safety.", $57
+; 0x8dd61 + 46 bytes
+
+_UnnamedText_59189: ; 0x8dd8f
+	db $0, "Me? Well, OK.", $4f
+	db "I'll play!", $57
+; 0x8dd8f + 25 bytes
+
+_UnnamedText_5918e: ; 0x8dda8
+	db $0, "Just", $4f
+	db "didn't work!", $58
+; 0x8dda8 + 18 bytes
+
+_UnnamedText_59193: ; 0x8ddba
+	db $0, "I want to get", $4f
+	db "stronger! What's", $55
+	db "your secret?", $57
+; 0x8ddba + 44 bytes
+
+_UnnamedText_591a2: ; 0x8dde6
+	db $0, "I've never seen", $4f
+	db "you around!", $55
+	db "Are you good?", $57
+; 0x8dde6 + 42 bytes
+
+_UnnamedText_591a7: ; 0x8de10
+	db $0, "You", $4f
+	db "are too good!", $58
+; 0x8de10 + 19 bytes
+
+_UnnamedText_591ac: ; 0x8de23
+	db $0, "Are my #MON", $4f
+	db "weak? Or, am I", $55
+	db "just bad?", $57
+; 0x8de23 + 38 bytes
+
+_Route6Text7: ; 0x8de49
+	db $0, "UNDERGROUND PATH", $4f
+	db "CERULEAN CITY -", $55
+	db "VERMILION CITY", $57
+
+_Route7Text1: ; 0x8de7a
+	db $0, "UNDERGROUND PATH", $4f
+	db "CELADON CITY -", $55
+	db "LAVENDER TOWN", $57
+
+_UnnamedText_5925a: ; 0x8dea9
+	db $0, "You look good at", $4f
+	db "#MON, but", $55
+	db "how's your chem?", $57
+; 0x8dea9 + 44 bytes
+
+_UnnamedText_5925f: ; 0x8ded5
+	db $0, "Ow!", $4f
+	db "Meltdown!", $58
+; 0x8ded5 + 15 bytes
+
+_UnnamedText_59264: ; 0x8dee4
+	db $0, "I am better at", $4f
+	db "school than this!", $57
+; 0x8dee4 + 34 bytes
+
+_UnnamedText_59273: ; 0x8df06
+	db $0, "All right! Let's", $4f
+	db "roll the dice!", $57
+; 0x8df06 + 32 bytes
+
+_UnnamedText_59278: ; 0x8df26
+	db $0, "Drat!", $4f
+	db "Came up short!", $58
+; 0x8df26 + 22 bytes
+
+_UnnamedText_5927d: ; 0x8df3c
+	db $0, "Lady Luck's not", $4f
+	db "with me today!", $57
+; 0x8df3c + 31 bytes
+
+_UnnamedText_5928c: ; 0x8df5b
+	db $0, "You need strategy", $4f
+	db "to win at this!", $57
+; 0x8df5b + 35 bytes
+
+_UnnamedText_59291: ; 0x8df7e
+	db $0, "It's", $4f
+	db "not logical!", $58
+; 0x8df7e + 18 bytes
+
+_UnnamedText_59296: ; 0x8df90
+	db $0, "Go with GRIMER", $4f
+	db "first...and...", $55
+	db "...and...then...", $57
+; 0x8df90 + 48 bytes
+
+_UnnamedText_592a5: ; 0x8dfc0
+	db $0, "I like NIDORAN, so", $4f
+	db "I collect them!", $57
+; 0x8dfc0 + 36 bytes
+
+_UnnamedText_592aa: ; 0x8dfe4
+	db $0, "Why? Why??", $58
+; 0x8dfe4 + 12 bytes
+
+_UnnamedText_592af: ; 0x8dff0
+	db $0, "When #MON grow", $4f
+	db "up they get ugly!", $55
+	db "They shouldn't", $55
+	db "evolve!", $57
+; 0x8dff0 + 56 bytes
+
+_UnnamedText_592be: ; 0x8e028
+	db $0, "School is fun, but", $4f
+	db "so are #MON.", $57
+; 0x8e028 + 33 bytes
+
+_UnnamedText_592c3: ; 0x8e049
+	db $0, "I'll", $4f
+	db "stay with school.", $58
+; 0x8e049 + 23 bytes
+
+_UnnamedText_592c8: ; 0x8e060
+	db $0, "We're stuck here", $4f
+	db "because of the", $55
+	db "gates at SAFFRON.", $57
+; 0x8e060 + 50 bytes
+
+_UnnamedText_592d7: ; 0x8e092
+	db $0, "MEOWTH is so cute,", $4f
+	db "meow, meow, meow!", $57
+; 0x8e092 + 38 bytes
+
+_UnnamedText_592dc: ; 0x8e0b8
+	db $0, "Meow!", $58
+; 0x8e0b8 + 7 bytes
+
+_UnnamedText_592e1: ; 0x8e0bf
+	db $0, "I think PIDGEY", $4f
+	db "and RATTATA", $55
+	db "are cute too!", $57
+; 0x8e0bf + 42 bytes
+
+_UnnamedText_592f0: ; 0x8e0e9
+	db $0, "We must look", $4f
+	db "silly standing", $55
+	db "here like this!", $57
+; 0x8e0e9 + 45 bytes
+
+_UnnamedText_592f5: ; 0x8e116
+	db $0, "Look what", $4f
+	db "you did!", $58
+; 0x8e116 + 20 bytes
+
+_UnnamedText_592fa: ; 0x8e12a
+	db $0, "SAFFRON's gate", $4f
+	db "keeper won't let", $55
+	db "us through.", $55
+	db "He's so mean!", $57
+; 0x8e12a + 56 bytes
+
+_UnnamedText_59309: ; 0x8e162
+	db $0, "I'm a rambling,", $4f
+	db "gambling dude!", $57
+; 0x8e162 + 31 bytes
+
+_UnnamedText_5930e: ; 0x8e181
+	db $0, "Missed", $4f
+	db "the big score!", $58
+; 0x8e181 + 23 bytes
+
+_UnnamedText_59313: ; 0x8e198
+	db $0, "Gambling and", $4f
+	db "#MON are like", $55
+	db "eating peanuts!", $55
+	db "Just can't stop!", $57
+; 0x8e198 + 60 bytes
+
+_UnnamedText_59322: ; 0x8e1d4
+	db $0, "What's a cute,", $4f
+	db "round and fluffy", $55
+	db "#MON?", $57
+; 0x8e1d4 + 38 bytes
+
+_UnnamedText_59327: ; 0x8e1fa
+	db $0, "Stop!", $51
+	db "Don't be so mean", $4f
+	db "to my CLEFAIRY!", $58
+; 0x8e1fa + 39 bytes
+
+_UnnamedText_5932c: ; 0x8e221
+	db $0, "I heard that", $4f
+	db "CLEFAIRY evolves", $55
+	db "when it's exposed", $55
+	db "to a MOON STONE.", $57
+; 0x8e221 + 65 bytes
+
+_Route8Text10: ; 0x8e262
+	db $0, "UNDERGROUND PATH", $4f
+	db "CELADON CITY -", $55
+	db "LAVENDER TOWN", $57
+
+_UnnamedText_55792: ; 0x8e291
+	db $0, "You have #MON", $4f
+	db "with you!", $55
+	db "You're mine!", $57
+; 0x8e291 + 37 bytes
+
+_UnnamedText_55797: ; 0x8e2b6
+	db $0, "You", $4f
+	db "deceived me!", $58
+; 0x8e2b6 + 18 bytes
+
+_UnnamedText_5579c: ; 0x8e2c8
+	db $0, "You need light to", $4f
+	db "get through that", $55
+	db "dark tunnel ahead.", $57
+; 0x8e2c8 + 55 bytes
+
+_UnnamedText_557a1: ; 0x8e2ff
+	db $0, "Who's that walking", $4f
+	db "with those good", $55
+	db "looking #MON?", $57
+; 0x8e2ff + 49 bytes
+
+_UnnamedText_557a6: ; 0x8e330
+	db $0, "Out", $4f
+	db "like a light!", $58
+; 0x8e330 + 19 bytes
+
+_UnnamedText_557ab: ; 0x8e343
+	db $0, "Keep walking!", $57
+; 0x8e343 + 15 bytes
+
+_UnnamedText_557b0: ; 0x8e352
+	db $0, "I'm taking ROCK", $4f
+	db "TUNNEL to go to", $55
+	db "LAVENDER...", $57
+; 0x8e352 + 44 bytes
+
+_UnnamedText_557b5: ; 0x8e37e
+	db $0, "Can't", $4f
+	db "measure up!", $58
+; 0x8e37e + 18 bytes
+
+_UnnamedText_557ba: ; 0x8e390
+	db $0, "Are you off to", $4f
+	db "ROCK TUNNEL too?", $57
+; 0x8e390 + 33 bytes
+
+_UnnamedText_557bf: ; 0x8e3b1
+	db $0, "Don't you dare", $4f
+	db "condescend me!", $57
+; 0x8e3b1 + 30 bytes
+
+_UnnamedText_557c4: ; 0x8e3cf
+	db $0, "No!", $4f
+	db "You're too much!", $58
+; 0x8e3cf + 21 bytes
+
+_UnnamedText_557c9: ; 0x8e3e4
+	db $0, "You're obviously", $4f
+	db "talented! Good", $55
+	db "luck to you!", $57
+; 0x8e3e4 + 45 bytes
+
+_UnnamedText_557ce: ; 0x8e411
+	db $0, "Bwahaha!", $4f
+	db "Great! I was", $55
+	db "bored, eh!", $57
+; 0x8e411 + 34 bytes
+
+_UnnamedText_557d3: ; 0x8e433
+	db $0, "Keep it", $4f
+	db "coming, eh!", $51
+	db "Oh wait. I'm out", $4f
+	db "of #MON!", $58
+; 0x8e433 + 46 bytes
+
+_UnnamedText_557d8: ; 0x8e461
+	db $0, "You sure had guts", $4f
+	db "standing up to me", $55
+	db "there, eh?", $57
+; 0x8e461 + 48 bytes
+
+_UnnamedText_557dd: ; 0x8e491
+	db $0, "Hahaha!", $4f
+	db "Aren't you a", $55
+	db "little toughie!", $57
+; 0x8e491 + 37 bytes
+
+_UnnamedText_557e2: ; 0x8e4b6
+	db $0, "What's", $4f
+	db "that?", $58
+; 0x8e4b6 + 13 bytes
+
+_UnnamedText_557e7: ; 0x8e4c3
+	db $0, "Hahaha! Kids", $4f
+	db "should be tough!", $57
+; 0x8e4c3 + 31 bytes
+
+_UnnamedText_557ec: ; 0x8e4e2
+	db $0, "I got up early", $4f
+	db "every day to", $55
+	db "raise my #MON", $55
+	db "from cocoons!", $57
+; 0x8e4e2 + 57 bytes
+
+_UnnamedText_557f1: ; 0x8e51b
+	db $0, "WHAT?", $51
+	db "What a total", $4f
+	db "waste of time!", $58
+; 0x8e51b + 35 bytes
+
+_UnnamedText_557f6: ; 0x8e53e
+	db $0, "I have to collect", $4f
+	db "more than bugs to", $55
+	db "get stronger...", $57
+; 0x8e53e + 53 bytes
+
+_UnnamedText_557fb: ; 0x8e573
+	db $0, "Hahahaha!", $4f
+	db "Come on, dude!", $57
+; 0x8e573 + 26 bytes
+
+_UnnamedText_55800: ; 0x8e58d
+	db $0, "Hahahaha!", $4f
+	db "You beat me fair!", $58
+; 0x8e58d + 29 bytes
+
+_UnnamedText_55805: ; 0x8e5aa
+	db $0, "Hahahaha!", $4f
+	db "Us hearty guys", $55
+	db "always laugh!", $57
+; 0x8e5aa + 40 bytes
+
+_UnnamedText_5580a: ; 0x8e5d2
+	db $0, "Go, my super bug", $4f
+	db "#MON!", $57
+; 0x8e5d2 + 24 bytes
+
+_UnnamedText_5580f: ; 0x8e5ea
+	db $0, "My", $4f
+	db "bugs...", $58
+; 0x8e5ea + 12 bytes
+
+_UnnamedText_55814: ; 0x8e5f6
+	db $0, "If you don't like", $4f
+	db "bug #MON, you", $55
+	db "bug me!", $57
+; 0x8e5f6 + 40 bytes
+
+_Route9Text11: ; 0x8e61e
+	db $0, "ROUTE 9", $4f
+	db "CERULEAN CITY-", $55
+	db "ROCK TUNNEL", $57
+
+_UnnamedText_593b6: ; 0x8e642
+	db $0, "Wow, are you a", $4f
+	db "#MANIAC too?", $55
+	db "Want to see my", $55
+	db "collection?", $57
+; 0x8e642 + 56 bytes
+
+_UnnamedText_593bb: ; 0x8e67a
+	db $0, "Humph.", $4f
+	db "I'm not angry!", $58
+; 0x8e67a + 22 bytes
+
+_UnnamedText_593c0: ; 0x8e690
+	db $0, "I have more rare", $4f
+	db "#MON at home!", $57
+; 0x8e690 + 32 bytes
+
+_UnnamedText_593cf: ; 0x8e6b0
+	db $0, "Ha-hahah-ah-ha!", $57
+; 0x8e6b0 + 17 bytes
+
+_UnnamedText_593d4: ; 0x8e6c1
+	db $0, "Ha-haha!", $4f
+	db "Not laughing!", $55
+	db "Ha-hay fever!", $55
+	db "Haha-ha-choo!", $58
+; 0x8e6c1 + 52 bytes
+
+_UnnamedText_593d9: ; 0x8e6f5
+	db $0, "Haha-ha-choo!", $4f
+	db "Ha-choo!", $55
+	db "Snort! Snivel!", $57
+; 0x8e6f5 + 39 bytes
+
+_UnnamedText_593e8: ; 0x8e71c
+	db $0, "Hi kid, want to", $4f
+	db "see my #MON?", $57
+; 0x8e71c + 30 bytes
+
+_UnnamedText_593ed: ; 0x8e73a
+	db $0, "Oh no!", $4f
+	db "My #MON!", $58
+; 0x8e73a + 17 bytes
+
+_UnnamedText_593f2: ; 0x8e74b
+	db $0, "I don't like you", $4f
+	db "for beating me!", $57
+; 0x8e74b + 33 bytes
+
+_UnnamedText_59401: ; 0x8e76c
+	db $0, "I've been to a", $4f
+	db "#MON GYM a few", $55
+	db "times. But, I", $55
+	db "lost each time.", $57
+; 0x8e76c + 60 bytes
+
+_UnnamedText_59406: ; 0x8e7a8
+	db $0, "Ohh!", $4f
+	db "Blew it again!", $58
+; 0x8e7a8 + 21 bytes
+
+_UnnamedText_5940b: ; 0x8e7bd
+	db $0, "I noticed some", $4f
+	db "#MANIACs", $55
+	db "prowling around.", $57
+; 0x8e7bd + 42 bytes
+
+_UnnamedText_5941a: ; 0x8e7e7
+	db $0, "Ah! This mountain", $4f
+	db "air is delicious!", $57
+; 0x8e7e7 + 37 bytes
+
+_UnnamedText_5941f: ; 0x8e80c
+	db $0, "That", $4f
+	db "cleared my head!", $58
+; 0x8e80c + 23 bytes
+
+_UnnamedText_59424: ; 0x8e823
+	db $0, "I feel bloated on", $4f
+	db "mountain air!", $57
+; 0x8e823 + 33 bytes
+
+_UnnamedText_59433: ; 0x8e844
+	db $0, "I'm feeling a bit", $4f
+	db "faint from this", $55
+	db "tough hike.", $57
+; 0x8e844 + 46 bytes
+
+_UnnamedText_59438: ; 0x8e872
+	db $0, "I'm", $4f
+	db "not up to it!", $58
+; 0x8e872 + 18 bytes
+
+_UnnamedText_5943d: ; 0x8e884
+	db $0, "The #MON here", $4f
+	db "are so chunky!", $55
+	db "There should be a", $55
+	db "pink one with a", $55
+	db "floral pattern!", $57
+; 0x8e884 + 80 bytes
+
+_Route10Text9: ; 0x8e8d4
+_Route10Text7: ; 0x8e8d4
+	db $0, "ROCK TUNNEL", $57
+
+_Route10Text10: ; 0x8e8e1
+	db $0, "POWER PLANT", $57
+
+_UnnamedText_594fe: ; 0x8e8ee
+	db $0, "Win, lose or draw!", $57
+; 0x8e8ee + 20 bytes
+
+_UnnamedText_59503: ; 0x8e902
+	db $0, "Atcha!", $4f
+	db "Didn't go my way!", $58
+; 0x8e902 + 25 bytes
+
+_UnnamedText_59508: ; 0x8e91b
+	db $0, "#MON is life!", $4f
+	db "And to live is to", $55
+	db "gamble!", $57
+; 0x8e91b + 41 bytes
+
+_UnnamedText_59517: ; 0x8e944
+	db $0, "Competition! I", $4f
+	db "can't get enough!", $57
+; 0x8e944 + 33 bytes
+
+_UnnamedText_5951c: ; 0x8e965
+	db $0, "I had", $4f
+	db "a chance!", $58
+; 0x8e965 + 17 bytes
+
+_UnnamedText_59521: ; 0x8e976
+	db $0, "You can't be a", $4f
+	db "coward in the", $55
+	db "world of #MON!", $57
+; 0x8e976 + 44 bytes
+
+_UnnamedText_59530: ; 0x8e9a2
+	db $0, "Let's go, but", $4f
+	db "don't cheat!", $57
+; 0x8e9a2 + 26 bytes
+
+_UnnamedText_59535: ; 0x8e9bc
+	db $0, "Huh?", $4f
+	db "That's not right!", $58
+; 0x8e9bc + 23 bytes
+
+_UnnamedText_5953a: ; 0x8e9d3
+	db $0, "I did my best! I", $4f
+	db "have no regrets!", $57
+; 0x8e9d3 + 35 bytes
+
+_UnnamedText_59549: ; 0x8e9f6
+	db $0, "Careful!", $4f
+	db "I'm laying down", $55
+	db "some cables!", $57
+; 0x8e9f6 + 38 bytes
+
+_UnnamedText_5954e: ; 0x8ea1c
+	db $0, "That", $4f
+	db "was electric!", $58
+; 0x8ea1c + 20 bytes
+
+_UnnamedText_59553: ; 0x8ea30
+	db $0, "Spread the word", $4f
+	db "to save energy!", $57
+; 0x8ea30 + 33 bytes
+
+_UnnamedText_59562: ; 0x8ea51
+	db $0, "I just became a", $4f
+	db "trainer! But, I", $55
+	db "think I can win!", $57
+; 0x8ea51 + 50 bytes
+
+_UnnamedText_59567: ; 0x8ea83
+	db $0, "My", $4f
+	db "#MON couldn't!", $58
+; 0x8ea83 + 18 bytes
+
+_UnnamedText_5956c: ; 0x8ea95
+	db $0, "What do you want?", $4f
+	db "Leave me alone!", $57
+; 0x8ea95 + 35 bytes
+
+_UnnamedText_5957b: ; 0x8eab8
+	db $0, "Fwahaha! I have", $4f
+	db "never lost!", $57
+; 0x8eab8 + 29 bytes
+
+_UnnamedText_59580: ; 0x8ead5
+	db $0, "My", $4f
+	db "first loss!", $58
+; 0x8ead5 + 16 bytes
+
+_UnnamedText_59585: ; 0x8eae5
+	db $0, "Luck of the draw!", $4f
+	db "Just luck!", $57
+; 0x8eae5 + 30 bytes
+
+_UnnamedText_59594: ; 0x8eb03
+	db $0, "I have never won", $4f
+	db "before...", $57
+; 0x8eb03 + 28 bytes
+
+_UnnamedText_59599: ; 0x8eb1f
+	db $0, "I saw", $4f
+	db "this coming...", $58
+; 0x8eb1f + 22 bytes
+
+_UnnamedText_5959e: ; 0x8eb35
+	db $0, "It's just luck.", $4f
+	db "Luck of the draw.", $57
+; 0x8eb35 + 34 bytes
+
+_UnnamedText_595ad: ; 0x8eb57
+	db $0, "I'm the best in", $4f
+	db "my class!", $57
+; 0x8eb57 + 26 bytes
+
+_UnnamedText_595b2: ; 0x8eb71
+	db $0, "Darn!", $4f
+	db "I need to make my", $55
+	db "#MON stronger!", $58
+; 0x8eb71 + 40 bytes
+
+_UnnamedText_595b7: ; 0x8eb99
+	db $0, "There's a fat", $4f
+	db "#MON that", $55
+	db "comes down from", $55
+	db "the mountains.", $51
+	db "It's strong if", $4f
+	db "you can get it.", $57
+; 0x8eb99 + 85 bytes
+
+_UnnamedText_595c6: ; 0x8ebee
+	db $0, "Watch out for", $4f
+	db "live wires!", $57
+; 0x8ebee + 27 bytes
+
+SECTION "bank24",DATA,BANK[$24]
+
+_UnnamedText_595cb: ; 0x90000
+	db $0, "Whoa!", $4f
+	db "You spark plug!", $58
+; 0x90000 + 23 bytes
+
+_UnnamedText_595d0: ; 0x90017
+	db $0, "Well, better get", $4f
+	db "back to work.", $57
+; 0x90017 + 32 bytes
+
+_UnnamedText_595df: ; 0x90037
+	db $0, "My #MON should", $4f
+	db "be ready by now!", $57
+; 0x90037 + 33 bytes
+
+_UnnamedText_595e4: ; 0x90058
+	db $0, "Too", $4f
+	db "much, too young!", $58
+; 0x90058 + 22 bytes
+
+_UnnamedText_595e9: ; 0x9006e
+	db $0, "I better go find", $4f
+	db "stronger ones!", $57
+; 0x9006e + 33 bytes
+
+_Route11Text11: ; 0x9008f
+	db $0, "DIGLETT's CAVE", $57
+
+_Route12Text1: ; 0x9009e
+	db $0, "A sleeping #MON", $4f
+	db "blocks the way!", $57
+
+_UnnamedText_596eb: ; 0x900bf
+	db $0, "SNORLAX woke up!", $51
+	db "It attacked in a", $4f
+	db "grumpy rage!", $57
+; 0x900bf + 48 bytes
+
+_UnnamedText_596f0: ; 0x900ef
+	db $0, "SNORLAX calmed", $4f
+	db "down! With a big", $55
+	db "yawn, it returned", $55
+	db "to the mountains!", $57
+; 0x900ef + 69 bytes
+
+_UnnamedText_596ff: ; 0x90134
+	db $0, "Yeah! I got a", $4f
+	db "bite, here!", $57
+; 0x90134 + 27 bytes
+
+_UnnamedText_59704: ; 0x9014f
+	db $0, "Tch!", $4f
+	db "Just a small fry!", $58
+; 0x9014f + 24 bytes
+
+_UnnamedText_59709: ; 0x90167
+	db $0, "Hang on! My line's", $4f
+	db "snagged!", $57
+; 0x90167 + 28 bytes
+
+_UnnamedText_59718: ; 0x90183
+	db $0, "Be patient!", $4f
+	db "Fishing is a", $55
+	db "waiting game!", $57
+; 0x90183 + 40 bytes
+
+_UnnamedText_5971d: ; 0x901ab
+	db $0, "That", $4f
+	db "one got away!", $58
+; 0x901ab + 20 bytes
+
+_UnnamedText_59722: ; 0x901bf
+	db $0, "With a better ROD,", $4f
+	db "I could catch", $55
+	db "better #MON!", $57
+; 0x901bf + 47 bytes
+
+_UnnamedText_59731: ; 0x901ee
+	db $0, "Have you found a", $4f
+	db "MOON STONE?", $57
+; 0x901ee + 30 bytes
+
+_UnnamedText_59736: ; 0x9020c
+	db $0, "Oww!", $58
+; 0x9020c + 6 bytes
+
+_UnnamedText_5973b: ; 0x90212
+	db $0, "I could have made", $4f
+	db "my #MON evolve", $55
+	db "with MOON STONE!", $57
+; 0x90212 + 51 bytes
+
+_UnnamedText_5974a: ; 0x90245
+	db $0, "Electricity is my", $4f
+	db "specialty!", $57
+; 0x90245 + 30 bytes
+
+_UnnamedText_5974f: ; 0x90263
+	db $0, "Unplugged!", $58
+; 0x90263 + 12 bytes
+
+_UnnamedText_59754: ; 0x9026f
+	db $0, "Water conducts", $4f
+	db "electricity, so", $55
+	db "you should zap", $55
+	db "sea #MON!", $57
+; 0x9026f + 57 bytes
+
+_UnnamedText_59763: ; 0x902a8
+	db $0, "The FISHING FOOL", $4f
+	db "vs. #MON KID!", $57
+; 0x902a8 + 32 bytes
+
+_UnnamedText_59768: ; 0x902c8
+	db $0, "Too", $4f
+	db "much!", $58
+; 0x902c8 + 11 bytes
+
+_UnnamedText_5976d: ; 0x902d3
+	db $0, "You beat me at", $4f
+	db "#MON, but I'm", $55
+	db "good at fishing!", $57
+; 0x902d3 + 46 bytes
+
+_UnnamedText_5977c: ; 0x90301
+	db $0, "I'd rather be", $4f
+	db "working!", $57
+; 0x90301 + 23 bytes
+
+_UnnamedText_59781: ; 0x90318
+	db $0, "It's", $4f
+	db "not easy...", $58
+; 0x90318 + 17 bytes
+
+_UnnamedText_59786: ; 0x90329
+	db $0, "It's all right.", $4f
+	db "Losing doesn't", $55
+	db "bug me any more.", $57
+; 0x90329 + 47 bytes
+
+_UnnamedText_59795: ; 0x90358
+	db $0, "You never know", $4f
+	db "what you could", $55
+	db "catch!", $57
+; 0x90358 + 38 bytes
+
+_UnnamedText_5979a: ; 0x9037e
+	db $0, "Lost", $4f
+	db "it!", $58
+; 0x9037e + 10 bytes
+
+_UnnamedText_5979f: ; 0x90388
+	db $0, "I catch MAGIKARP", $4f
+	db "all the time, but", $55
+	db "they're so weak!", $57
+; 0x90388 + 52 bytes
+
+_Route12Text11: ; 0x903bc
+	db $0, "ROUTE 12 ", $4f
+	db "North to LAVENDER", $57
+
+_Route12Text12: ; 0x903d9
+	db $0, "SPORT FISHING AREA", $57
+
+_UnnamedText_558d4: ; 0x903ed
+	db $0, "My bird #MON", $4f
+	db "want to scrap!", $57
+; 0x903ed + 29 bytes
+
+_UnnamedText_558d9: ; 0x9040a
+	db $0, "My", $4f
+	db "bird combo lost?", $58
+; 0x9040a + 21 bytes
+
+_UnnamedText_558de: ; 0x9041f
+	db $0, "My #MON look", $4f
+	db "happy even though", $55
+	db "they lost.", $57
+; 0x9041f + 43 bytes
+
+_UnnamedText_558ed: ; 0x9044a
+	db $0, "I'm told I'm good", $4f
+	db "for a kid!", $57
+; 0x9044a + 28 bytes
+
+_UnnamedText_558f2: ; 0x90466
+	db $0, "Ohh!", $4f
+	db "I lost!", $58
+; 0x90466 + 14 bytes
+
+_UnnamedText_558f7: ; 0x90474
+	db $0, "I want to become", $4f
+	db "a good trainer.", $55
+	db "I'll train hard.", $57
+; 0x90474 + 50 bytes
+
+_UnnamedText_55906: ; 0x904a6
+	db $0, "Wow! Your BADGEs", $4f
+	db "are too cool!", $57
+; 0x904a6 + 32 bytes
+
+_UnnamedText_5590b: ; 0x904c6
+	db $0, "Not", $4f
+	db "enough!", $58
+; 0x904c6 + 13 bytes
+
+_UnnamedText_55910: ; 0x904d3
+	db $0, "You got those", $4f
+	db "BADGEs from GYM", $55
+	db "LEADERs. I know!", $57
+; 0x904d3 + 48 bytes
+
+_UnnamedText_5591f: ; 0x90503
+	db $0, "My cute #MON", $4f
+	db "wish to make your", $55
+	db "acquaintance.", $57
+; 0x90503 + 46 bytes
+
+_UnnamedText_55924: ; 0x90531
+	db $0, "Wow!", $4f
+	db "You totally won!", $58
+; 0x90531 + 23 bytes
+
+_UnnamedText_55929: ; 0x90548
+	db $0, "You have to make", $4f
+	db "#MON fight to", $55
+	db "toughen them up!", $57
+; 0x90548 + 49 bytes
+
+_UnnamedText_55938: ; 0x90579
+	db $0, "I found CARBOS in", $4f
+	db "a cave once.", $57
+; 0x90579 + 32 bytes
+
+_UnnamedText_5593d: ; 0x90599
+	db $0, "Just", $4f
+	db "messed up!", $58
+; 0x90599 + 17 bytes
+
+_UnnamedText_55942: ; 0x905aa
+	db $0, "CARBOS boosted", $4f
+	db "the SPEED of my", $55
+	db "#MON.", $57
+; 0x905aa + 38 bytes
+
+_UnnamedText_55951: ; 0x905d0
+	db $0, "The wind's blowing", $4f
+	db "my way!", $57
+; 0x905d0 + 27 bytes
+
+_UnnamedText_55956: ; 0x905eb
+	db $0, "The", $4f
+	db "wind turned!", $58
+; 0x905eb + 18 bytes
+
+_UnnamedText_5595b: ; 0x905fd
+	db $0, "I'm beat. I guess", $4f
+	db "I'll FLY home.", $57
+; 0x905fd + 32 bytes
+
+_UnnamedText_5596a: ; 0x9061d
+	db $0, "Sure, I'll play", $4f
+	db "with you!", $57
+; 0x9061d + 26 bytes
+
+_UnnamedText_5596f: ; 0x90637
+	db $0, "Oh!", $4f
+	db "You little brute!", $58
+; 0x90637 + 23 bytes
+
+_UnnamedText_55974: ; 0x9064e
+	db $0, "I wonder which is", $4f
+	db "stronger, male or", $55
+	db "female #MON?", $57
+; 0x9064e + 50 bytes
+
+_UnnamedText_55983: ; 0x90680
+	db $0, "Do you want to", $4f
+	db "#MON with me?", $57
+; 0x90680 + 30 bytes
+
+_UnnamedText_55988: ; 0x9069e
+	db $0, "It's over", $4f
+	db "already?", $58
+; 0x9069e + 19 bytes
+
+_UnnamedText_5598d: ; 0x906b1
+	db $0, "I don't know", $4f
+	db "anything about", $55
+	db "#MON. I just", $55
+	db "like cool ones!", $57
+; 0x906b1 + 57 bytes
+
+_UnnamedText_5599c: ; 0x906ea
+	db $0, "What're you", $4f
+	db "lookin' at?", $57
+; 0x906ea + 24 bytes
+
+_UnnamedText_559a1: ; 0x90702
+	db $0, "Dang!", $4f
+	db "Stripped gears!", $58
+; 0x90702 + 23 bytes
+
+_UnnamedText_559a6: ; 0x90719
+	db $0, "Get lost!", $57
+; 0x90719 + 11 bytes
+
+_UnnamedText_559b5: ; 0x90724
+	db $0, "I always go with", $4f
+	db "bird #MON!", $57
+; 0x90724 + 29 bytes
+
+_UnnamedText_559ba: ; 0x90741
+	db $0, "Out", $4f
+	db "of power!", $58
+; 0x90741 + 15 bytes
+
+_UnnamedText_559bf: ; 0x90750
+	db $0, "I wish I could", $4f
+	db "fly like PIDGEY", $55
+	db "and PIDGEOTTO...", $57
+; 0x90750 + 49 bytes
+
+_Route13Text11: ; 0x90781
+	db $0, "TRAINER TIPS", $51
+	db "Look to the left", $4f
+	db "of that post!", $57
+
+_Route13Text12: ; 0x907ae
+	db $0, "TRAINER TIPS", $51
+	db "Use SELECT to", $4f
+	db "switch items in", $55
+	db "the ITEM window!", $57
+
+_Route13Text13: ; 0x907eb
+	db $0, "ROUTE 13", $4f
+	db "North to SILENCE", $55
+	db "BRIDGE", $57
+
+_UnnamedText_55a85: ; 0x9080d
+	db $0, "You need to use", $4f
+	db "TMs to teach good", $55
+	db "moves to #MON!", $57
+; 0x9080d + 50 bytes
+
+_UnnamedText_55a8a: ; 0x9083f
+	db $0, "Not", $4f
+	db "good enough!", $58
+; 0x9083f + 18 bytes
+
+_UnnamedText_55a8f: ; 0x90851
+	db $0, "You have some HMs", $4f
+	db "right? #MON", $55
+	db "can't ever forget", $55
+	db "those moves.", $57
+; 0x90851 + 61 bytes
+
+_UnnamedText_55a9e: ; 0x9088e
+	db $0, "My bird #MON", $4f
+	db "should be ready", $55
+	db "for battle.", $57
+; 0x9088e + 42 bytes
+
+_UnnamedText_55aa3: ; 0x908b8
+	db $0, "Not", $4f
+	db "ready yet!", $58
+; 0x908b8 + 16 bytes
+
+_UnnamedText_55aa8: ; 0x908c8
+	db $0, "They need to learn", $4f
+	db "better moves.", $57
+; 0x908c8 + 34 bytes
+
+_UnnamedText_55ab7: ; 0x908ea
+	db $0, "TMs are on sale", $4f
+	db "in CELADON!", $55
+	db "But, only a few", $55
+	db "people have HMs!", $57
+; 0x908ea + 62 bytes
+
+_UnnamedText_55abc: ; 0x90928
+	db $0, "Aww,", $4f
+	db "bummer!", $58
+; 0x90928 + 14 bytes
+
+_UnnamedText_55ac1: ; 0x90936
+	db $0, "Teach #MON", $4f
+	db "moves of the same", $55
+	db "element type for", $55
+	db "more power.", $57
+; 0x90936 + 59 bytes
+
+_UnnamedText_55ad0: ; 0x90971
+	db $0, "Have you taught", $4f
+	db "your bird #MON", $55
+	db "how to FLY?", $57
+; 0x90971 + 44 bytes
+
+_UnnamedText_55ad5: ; 0x9099d
+	db $0, "Shot", $4f
+	db "down in flames!", $58
+; 0x9099d + 22 bytes
+
+_UnnamedText_55ada: ; 0x909b3
+	db $0, "Bird #MON are", $4f
+	db "my true love!", $57
+; 0x909b3 + 29 bytes
+
+_UnnamedText_55ae9: ; 0x909d0
+	db $0, "Have you heard of", $4f
+	db "the legendary", $55
+	db "#MON?", $57
+; 0x909d0 + 39 bytes
+
+_UnnamedText_55aee: ; 0x909f7
+	db $0, "Why?", $4f
+	db "Why'd I lose?", $58
+; 0x909f7 + 19 bytes
+
+_UnnamedText_55af3: ; 0x90a0a
+	db $0, "The 3 legendary", $4f
+	db "#MON are all", $55
+	db "birds of prey.", $57
+; 0x90a0a + 45 bytes
+
+_UnnamedText_55b02: ; 0x90a37
+	db $0, "I'm not into it,", $4f
+	db "but OK! Let's go!", $57
+; 0x90a37 + 34 bytes
+
+_UnnamedText_55b07: ; 0x90a59
+	db $0, "I", $4f
+	db "knew it!", $58
+; 0x90a59 + 12 bytes
+
+_UnnamedText_55b0c: ; 0x90a65
+	db $0, "Winning, losing,", $4f
+	db "it doesn't matter", $55
+	db "in the long run!", $57
+; 0x90a65 + 52 bytes
+
+_UnnamedText_55b1b: ; 0x90a99
+	db $0, "C'mon, c'mon.", $4f
+	db "Let's go, let's", $55
+	db "go, let's go!", $57
+; 0x90a99 + 40 bytes
+
+_UnnamedText_55b20: ; 0x90ac1
+	db $0, "Arrg!", $4f
+	db "Lost! Get lost!", $58
+; 0x90ac1 + 23 bytes
+
+_UnnamedText_55b25: ; 0x90ad8
+	db $0, "What, what, what?", $4f
+	db "What do you want?", $57
+; 0x90ad8 + 37 bytes
+
+_UnnamedText_55b34: ; 0x90afd
+	db $0, "Perfect! I need to", $4f
+	db "burn some time!", $57
+; 0x90afd + 36 bytes
+
+_UnnamedText_55b39: ; 0x90b21
+	db $0, "What?", $4f
+	db "You!?", $58
+; 0x90b21 + 13 bytes
+
+_UnnamedText_55b3e: ; 0x90b2e
+	db $0, "Raising #MON", $4f
+	db "is a drag, man.", $57
+; 0x90b2e + 30 bytes
+
+_UnnamedText_55b4d: ; 0x90b4c
+	db $0, "We ride out here", $4f
+	db "because there's", $55
+	db "more room!", $57
+; 0x90b4c + 44 bytes
+
+_UnnamedText_55b52: ; 0x90b78
+	db $0, "Wipe out!", $58
+; 0x90b78 + 11 bytes
+
+_UnnamedText_55b57: ; 0x90b83
+	db $0, "It's cool you", $4f
+	db "made your #MON", $55
+	db "so strong!", $51
+	db "Might is right!", $4f
+	db "And you know it!", $57
+; 0x90b83 + 73 bytes
+
+_UnnamedText_55b66: ; 0x90bcc
+	db $0, "#MON fight?", $4f
+	db "Cool! Rumble!", $57
+; 0x90bcc + 27 bytes
+
+_UnnamedText_55b6b: ; 0x90be7
+	db $0, "Blown", $4f
+	db "away!", $58
+; 0x90be7 + 13 bytes
+
+_UnnamedText_55b70: ; 0x90bf4
+	db $0, "You know who'd", $4f
+	db "win, you and me", $55
+	db "one on one!", $57
+; 0x90bf4 + 43 bytes
+
+_Route14Text11: ; 0x90c1f
+	db $0, "ROUTE 14", $4f
+	db "West to FUCHSIA", $55
+	db "CITY", $57
+
+_UnnamedText_59898: ; 0x90c3e
+	db $0, "Let me try out the", $4f
+	db "#MON I just", $55
+	db "got in a trade!", $57
+; 0x90c3e + 48 bytes
+
+_UnnamedText_5989d: ; 0x90c6e
+	db $0, "Not", $4f
+	db "good enough!", $58
+; 0x90c6e + 18 bytes
+
+_UnnamedText_598a2: ; 0x90c80
+	db $0, "You can't change", $4f
+	db "the nickname of", $55
+	db "any #MON you", $55
+	db "get in a trade.", $51
+	db "Only the Original", $4f
+	db "Trainer can.", $57
+; 0x90c80 + 93 bytes
+
+_UnnamedText_598a7: ; 0x90cdd
+	db $0, "You look gentle,", $4f
+	db "so I think I can", $55
+	db "beat you!", $57
+; 0x90cdd + 45 bytes
+
+_UnnamedText_598ac: ; 0x90d0a
+	db $0, "No,", $4f
+	db "wrong!", $58
+; 0x90d0a + 12 bytes
+
+_UnnamedText_598b1: ; 0x90d16
+	db $0, "I'm afraid of", $4f
+	db "BIKERs, they look", $55
+	db "so ugly and mean!", $57
+; 0x90d16 + 50 bytes
+
+_UnnamedText_598b6: ; 0x90d48
+	db $0, "When I whistle, I", $4f
+	db "can summon bird", $55
+	db "#MON!", $57
+; 0x90d48 + 41 bytes
+
+_UnnamedText_598bb: ; 0x90d71
+	db $0, "Ow!", $4f
+	db "That's tragic!", $58
+; 0x90d71 + 19 bytes
+
+_UnnamedText_598c0: ; 0x90d84
+	db $0, "Maybe I'm not cut", $4f
+	db "out for battles.", $57
+; 0x90d84 + 35 bytes
+
+_UnnamedText_598c5: ; 0x90da7
+	db $0, "Hmm? My birds are", $4f
+	db "shivering! You're", $55
+	db "good, aren't you?", $57
+; 0x90da7 + 53 bytes
+
+_UnnamedText_598ca: ; 0x90ddc
+	db $0, "Just", $4f
+	db "as I thought!", $58
+; 0x90ddc + 20 bytes
+
+_UnnamedText_598cf: ; 0x90df0
+	db $0, "Did you know moves", $4f
+	db "like EARTHQUAKE", $55
+	db "don't have any", $55
+	db "effect on birds?", $57
+; 0x90df0 + 67 bytes
+
+_UnnamedText_598d4: ; 0x90e33
+	db $0, "Oh, you're a", $4f
+	db "little cutie!", $57
+; 0x90e33 + 27 bytes
+
+_UnnamedText_598d9: ; 0x90e4e
+	db $0, "You looked", $4f
+	db "so cute too!", $58
+; 0x90e4e + 25 bytes
+
+_UnnamedText_598de: ; 0x90e67
+	db $0, "I forgive you!", $4f
+	db "I can take it!", $57
+; 0x90e67 + 31 bytes
+
+_UnnamedText_598e3: ; 0x90e86
+	db $0, "I raise #MON", $4f
+	db "because I live", $55
+	db "alone!", $57
+; 0x90e86 + 36 bytes
+
+_UnnamedText_598e8: ; 0x90eaa
+	db $0, "I didn't", $4f
+	db "ask for this!", $58
+; 0x90eaa + 23 bytes
+
+_UnnamedText_598ed: ; 0x90ec1
+	db $0, "I just like going", $4f
+	db "home to be with", $55
+	db "my #MON!", $57
+; 0x90ec1 + 44 bytes
+
+_UnnamedText_598f2: ; 0x90eed
+	db $0, "Hey kid! C'mon!", $4f
+	db "I just got these!", $57
+; 0x90eed + 34 bytes
+
+_UnnamedText_598f7: ; 0x90f0f
+	db $0, "Why", $4f
+	db "not?", $58
+; 0x90f0f + 10 bytes
+
+_UnnamedText_598fc: ; 0x90f19
+	db $0, "You only live", $4f
+	db "once, so I live", $55
+	db "as an outlaw!", $55
+	db "TEAM ROCKET RULES!", $57
+; 0x90f19 + 64 bytes
+
+_UnnamedText_59901: ; 0x90f59
+	db $0, "Fork over all your", $4f
+	db "cash when you", $55
+	db "lose to me, kid!", $57
+; 0x90f59 + 51 bytes
+
+_UnnamedText_59906: ; 0x90f8c
+	db $0, "That", $4f
+	db "can't be true!", $58
+; 0x90f8c + 20 bytes
+
+_UnnamedText_5990b: ; 0x90fa0
+	db $0, "I was just joking", $4f
+	db "about the money!", $57
+; 0x90fa0 + 36 bytes
+
+_UnnamedText_59910: ; 0x90fc4
+	db $0, "What's cool?", $4f
+	db "Trading #MON!", $57
+; 0x90fc4 + 27 bytes
+
+_UnnamedText_59915: ; 0x90fdf
+	db $0, "I", $4f
+	db "said trade!", $58
+; 0x90fdf + 15 bytes
+
+_UnnamedText_5991a: ; 0x90fee
+	db $0, "I trade #MON", $4f
+	db "with my friends!", $57
+; 0x90fee + 31 bytes
+
+_UnnamedText_5991f: ; 0x9100d
+	db $0, "Want to play with", $4f
+	db "my #MON?", $57
+; 0x9100d + 28 bytes
+
+_UnnamedText_59924: ; 0x91029
+	db $0, "I was", $4f
+	db "too impatient!", $58
+; 0x91029 + 22 bytes
+
+_UnnamedText_59929: ; 0x9103f
+	db $0, "I'll go train with", $4f
+	db "weaker people.@"
+	db $50
+; 0x9103f + 34 bytes + 1
+
+_Route15Text12: ; 0x91062
+	db $0, "ROUTE 15", $4f
+	db "West to FUCHSIA", $55
+	db "CITY", $57
+
+_UnnamedText_59a22: ; 0x91081
+	db $0, "What do you want?", $57
+; 0x91081 + 19 bytes
+
+_UnnamedText_59a27: ; 0x91094
+	db $0, "Don't you", $4f
+	db "dare laugh!", $58
+; 0x91094 + 22 bytes
+
+_UnnamedText_59a2c: ; 0x910aa
+	db $0, "We like just", $4f
+	db "hanging here,", $55
+	db "what's it to you?", $57
+; 0x910aa + 45 bytes
+
+_UnnamedText_59a3b: ; 0x910d7
+	db $0, "Nice BIKE!", $4f
+	db "Hand it over!", $57
+; 0x910d7 + 26 bytes
+
+_UnnamedText_59a40: ; 0x910f1
+	db $0, "Knock", $4f
+	db "out!", $58
+; 0x910f1 + 12 bytes
+
+_UnnamedText_59a45: ; 0x910fd
+	db $0, "Forget it, who", $4f
+	db "needs your BIKE!", $57
+; 0x910fd + 33 bytes
+
+_UnnamedText_59a54: ; 0x9111e
+	db $0, "Come out and play,", $4f
+	db "little mouse!", $57
+; 0x9111e + 34 bytes
+
+_UnnamedText_59a59: ; 0x91140
+	db $0, "You", $4f
+	db "little rat!", $58
+; 0x91140 + 17 bytes
+
+_UnnamedText_59a5e: ; 0x91151
+	db $0, "I hate losing!", $4f
+	db "Get away from me!", $57
+; 0x91151 + 34 bytes
+
+_UnnamedText_59a6d: ; 0x91173
+	db $0, "Hey, you just", $4f
+	db "bumped me!", $57
+; 0x91173 + 26 bytes
+
+_UnnamedText_59a72: ; 0x9118d
+	db $0, "Kaboom!", $58
+; 0x9118d + 9 bytes
+
+_UnnamedText_59a77: ; 0x91196
+	db $0, "You can also get", $4f
+	db "to FUCHSIA from", $55
+	db "VERMILION using a", $55
+	db "coastal road.", $57
+; 0x91196 + 66 bytes
+
+_UnnamedText_59a86: ; 0x911d8
+	db $0, "I'm feeling", $4f
+	db "hungry and mean!", $57
+; 0x911d8 + 29 bytes
+
+_UnnamedText_59a8b: ; 0x911f5
+	db $0, "Bad,", $4f
+	db "bad, bad!", $58
+; 0x911f5 + 16 bytes
+
+_UnnamedText_59a90: ; 0x91205
+	db $0, "I like my #MON", $4f
+	db "ferocious! They", $55
+	db "tear up enemies!", $57
+; 0x91205 + 49 bytes
+
+_UnnamedText_59a9f: ; 0x91236
+	db $0, "Sure, I'll go!", $57
+; 0x91236 + 15 bytes
+
+_UnnamedText_59aa4: ; 0x91245
+	db $0, "Don't make", $4f
+	db "me mad!", $58
+; 0x91245 + 19 bytes
+
+_UnnamedText_59aa9: ; 0x91258
+	db $0, "I like harassing", $4f
+	db "people with my", $55
+	db "vicious #MON!", $57
+; 0x91258 + 47 bytes
+
+_Route16Text7: ; 0x91287
+	db $0, "A sleeping #MON", $4f
+	db "blocks the way!", $57
+
+_UnnamedText_59ab3: ; 0x912a8
+	db $0, "SNORLAX woke up!", $51
+	db "It attacked in a", $4f
+	db "grumpy rage!", $57
+; 0x912a8 + 48 bytes
+
+_UnnamedText_59ab8: ; 0x912d8
+	db $0, "With a big yawn,", $4f
+	db "SNORLAX returned", $55
+	db "to the mountains!", $57
+; 0x912d8 + 53 bytes
+
+_Route16Text8: ; 0x9130d
+	db $0, "Enjoy the slope!", $4f
+	db "CYCLING ROAD", $57
+
+_Route16Text9: ; 0x9132c
+	db $0, "ROUTE 16", $4f
+	db "CELADON CITY -", $55
+	db "FUCHSIA CITY", $57
+
+_UnnamedText_55c36: ; 0x91352
+	db $0, "There's no money", $4f
+	db "in fighting kids!", $57
+; 0x91352 + 35 bytes
+
+_UnnamedText_55c3b: ; 0x91375
+	db $0, "Burned", $4f
+	db "out!", $58
+; 0x91375 + 13 bytes
+
+_UnnamedText_55c40: ; 0x91382
+	db $0, "Good stuff is", $4f
+	db "lying around on", $55
+	db "CYCLING ROAD!", $57
+; 0x91382 + 45 bytes
+
+_UnnamedText_55c4f: ; 0x913af
+	db $0, "What do you want,", $4f
+	db "kiddo?", $57
+; 0x913af + 26 bytes
+
+_UnnamedText_55c54: ; 0x913c9
+	db $0, "Whoo!", $58
+; 0x913c9 + 7 bytes
+
+_UnnamedText_55c59: ; 0x913d0
+	db $0, "I could belly-", $4f
+	db "bump you outta", $55
+	db "here!", $57
+; 0x913d0 + 37 bytes
+
+_UnnamedText_55c68: ; 0x913f5
+	db $0, "You heading to", $4f
+	db "FUCHSIA?", $57
+; 0x913f5 + 25 bytes
+
+_UnnamedText_55c6d: ; 0x9140e
+	db $0, "Crash and", $4f
+	db "burn!", $58
+; 0x9140e + 17 bytes
+
+_UnnamedText_55c72: ; 0x9141f
+	db $0, "I love racing", $4f
+	db "downhill!", $57
+; 0x9141f + 25 bytes
+
+_UnnamedText_55c81: ; 0x91438
+	db $0, "We're BIKERs!", $4f
+	db "Highway stars!", $57
+; 0x91438 + 29 bytes
+
+_UnnamedText_55c86: ; 0x91455
+	db $0, "Smoked!", $58
+; 0x91455 + 9 bytes
+
+_UnnamedText_55c8b: ; 0x9145e
+	db $0, "Are you looking", $4f
+	db "for adventure?", $57
+; 0x9145e + 32 bytes
+
+_UnnamedText_55c9a: ; 0x9147e
+	db $0, "Let VOLTORB", $4f
+	db "electrify you!", $57
+; 0x9147e + 28 bytes
+
+_UnnamedText_55c9f: ; 0x9149a
+	db $0, "Grounded", $4f
+	db "out!", $58
+; 0x9149a + 15 bytes
+
+_UnnamedText_55ca4: ; 0x914a9
+	db $0, "I got my VOLTORB", $4f
+	db "at the abandoned", $55
+	db "POWER PLANT.", $57
+; 0x914a9 + 48 bytes
+
+_UnnamedText_55cb3: ; 0x914d9
+	db $0, "My #MON won't", $4f
+	db "evolve! Why?", $57
+; 0x914d9 + 27 bytes
+
+_UnnamedText_55cb8: ; 0x914f4
+	db $0, "Why,", $4f
+	db "you!", $58
+; 0x914f4 + 11 bytes
+
+_UnnamedText_55cbd: ; 0x914ff
+	db $0, "Maybe some #MON", $4f
+	db "need element", $55
+	db "STONEs to evolve.", $57
+; 0x914ff + 48 bytes
+
+_UnnamedText_55ccc: ; 0x9152f
+	db $0, "I need a little", $4f
+	db "exercise!", $57
+; 0x9152f + 27 bytes
+
+_UnnamedText_55cd1: ; 0x9154a
+	db $0, "Whew!", $4f
+	db "Good workout!", $58
+; 0x9154a + 21 bytes
+
+_UnnamedText_55cd6: ; 0x9155f
+	db $0, "I'm sure I lost", $4f
+	db "weight there!", $57
+; 0x9155f + 30 bytes
+
+_UnnamedText_55ce5: ; 0x9157d
+	db $0, "Be a rebel!", $57
+; 0x9157d + 13 bytes
+
+_UnnamedText_55cea: ; 0x9158a
+	db $0, "Aaaargh!", $58
+; 0x9158a + 10 bytes
+
+_UnnamedText_55cef: ; 0x91594
+	db $0, "Be ready to fight", $4f
+	db "for your beliefs!", $57
+; 0x91594 + 37 bytes
+
+_UnnamedText_55cfe: ; 0x915b9
+	db $0, "Nice BIKE!", $4f
+	db "How's it handle?", $57
+; 0x915b9 + 28 bytes
+
+_UnnamedText_55d03: ; 0x915d5
+	db $0, "Shoot!", $58
+; 0x915d5 + 8 bytes
+
+_UnnamedText_55d08: ; 0x915dd
+	db $0, "The slope makes", $4f
+	db "it hard to steer!", $57
+; 0x915dd + 35 bytes
+
+_UnnamedText_55d17: ; 0x91600
+	db $0, "Get lost kid!", $4f
+	db "I'm bushed!", $57
+; 0x91600 + 26 bytes
+
+_UnnamedText_55d1c: ; 0x9161a
+	db $0, "Are you", $4f
+	db "satisfied?", $58
+; 0x9161a + 20 bytes
+
+_UnnamedText_55d21: ; 0x9162e
+	db $0, "I need to catch", $4f
+	db "a few Zs!", $57
+; 0x9162e + 27 bytes
+
+_Route17Text11: ; 0x91649
+	db $0, "It's a notice!", $51
+	db "Watch out for", $4f
+	db "discarded items!", $57
+
+_Route17Text12: ; 0x91677
+	db $0, "TRAINER TIPS", $51
+	db "All #MON are", $4f
+	db "unique.", $51
+	db "Even #MON of", $4f
+	db "the same type and", $55
+	db "level grow at", $55
+	db "different rates.", $57
+
+_Route17Text13: ; 0x916d8
+	db $0, "TRAINER TIPS", $51
+	db "Press the A or B", $4f
+	db "Button to stay in", $55
+	db "place while on a", $55
+	db "slope.", $57
+
+_Route17Text14: ; 0x91721
+	db $0, "ROUTE 17", $4f
+	db "CELADON CITY -", $55
+	db "FUCHSIA CITY", $57
+
+_Route17Text15: ; 0x91747
+	db $0, "It's a notice!", $51
+	db "Don't throw the", $4f
+	db "game, throw #", $55
+	db "BALLs instead!", $57
+
+_Route17Text16: ; 0x91782
+	db $0, "CYCLING ROAD", $4f
+	db "Slope ends here!", $57
+
+_UnnamedText_59b19: ; 0x917a1
+	db $0, "I always check", $4f
+	db "every grassy area", $55
+	db "for new #MON.", $57
+; 0x917a1 + 48 bytes
+
+_UnnamedText_59b1e: ; 0x917d1
+	db $0, "Tch!", $58
+; 0x917d1 + 6 bytes
+
+_UnnamedText_59b23: ; 0x917d7
+	db $0, "I wish I had a", $4f
+	db "BIKE!", $57
+; 0x917d7 + 22 bytes
+
+_UnnamedText_59b32: ; 0x917ed
+	db $0, "Kurukkoo!", $4f
+	db "How do you like", $55
+	db "my bird call?", $57
+; 0x917ed + 41 bytes
+
+_UnnamedText_59b37: ; 0x91816
+	db $0, "I", $4f
+	db "had to bug you!", $58
+; 0x91816 + 19 bytes
+
+_UnnamedText_59b3c: ; 0x91829
+	db $0, "I also collect sea", $4f
+	db "#MON on", $55
+	db "weekends!", $57
+; 0x91829 + 38 bytes
+
+_UnnamedText_59b4b: ; 0x9184f
+	db $0, "This is my turf!", $4f
+	db "Get out of here!", $57
+; 0x9184f + 35 bytes
+
+_UnnamedText_59b50: ; 0x91872
+	db $0, "Darn!", $58
+; 0x91872 + 7 bytes
+
+_UnnamedText_59b55: ; 0x91879
+	db $0, "This is my fave", $4f
+	db "#MON hunting", $55
+	db "area!", $57
+; 0x91879 + 36 bytes
+
+_Route18Text4: ; 0x9189d
+	db $0, "ROUTE 18", $4f
+	db "CELADON CITY -", $55
+	db "FUCHSIA CITY", $57
+
+_Route18Text5: ; 0x918c3
+	db $0, "CYCLING ROAD", $4f
+	db "No pedestrians", $55
+	db "permitted!", $57
+
+_UnnamedText_55e50: ; 0x918eb
+	db $0, "Have to warm up", $4f
+	db "before my swim!", $57
+; 0x918eb + 33 bytes
+
+_UnnamedText_55e55: ; 0x9190c
+	db $0, "All", $4f
+	db "warmed up!", $58
+; 0x9190c + 16 bytes
+
+_UnnamedText_55e5a: ; 0x9191c
+	db $0, "Thanks, kid! I'm", $4f
+	db "ready for a swim!", $57
+; 0x9191c + 35 bytes
+
+_UnnamedText_55e5f: ; 0x9193f
+	db $0, "Wait! You'll have", $4f
+	db "a heart attack!", $57
+; 0x9193f + 34 bytes
+
+_UnnamedText_55e64: ; 0x91961
+	db $0, "Ooh!", $4f
+	db "That's chilly!", $58
+; 0x91961 + 20 bytes
+
+_UnnamedText_55e69: ; 0x91975
+	db $0, "Watch out for", $4f
+	db "TENTACOOL!", $57
+; 0x91975 + 26 bytes
+
+_UnnamedText_55e6e: ; 0x9198f
+	db $0, "I love swimming!", $4f
+	db "What about you?", $57
+; 0x9198f + 34 bytes
+
+_UnnamedText_55e73: ; 0x919b1
+	db $0, "Belly", $4f
+	db "flop!", $58
+; 0x919b1 + 13 bytes
+
+_UnnamedText_55e78: ; 0x919be
+	db $0, "I can beat #MON", $4f
+	db "at swimming!", $57
+; 0x919be + 30 bytes
+
+_UnnamedText_55e7d: ; 0x919dc
+	db $0, "What's beyond the", $4f
+	db "horizon?", $57
+; 0x919dc + 27 bytes
+
+_UnnamedText_55e82: ; 0x919f7
+	db $0, "Glub!", $58
+; 0x919f7 + 7 bytes
+
+_UnnamedText_55e87: ; 0x919fe
+	db $0, "I see a couple of", $4f
+	db "islands!", $57
+; 0x919fe + 28 bytes
+
+_UnnamedText_55e8c: ; 0x91a1a
+	db $0, "I tried diving", $4f
+	db "for #MON, but", $55
+	db "it was a no go!", $57
+; 0x91a1a + 46 bytes
+
+_UnnamedText_55e91: ; 0x91a48
+	db $0, "Help!", $58
+; 0x91a48 + 7 bytes
+
+_UnnamedText_55e96: ; 0x91a4f
+	db $0, "You have to fish", $4f
+	db "for sea #MON!", $57
+; 0x91a4f + 32 bytes
+
+_UnnamedText_55e9b: ; 0x91a6f
+	db $0, "I look at the", $4f
+	db "sea to forget!", $57
+; 0x91a6f + 30 bytes
+
+_UnnamedText_55ea0: ; 0x91a8d
+	db $0, "Ooh!", $4f
+	db "Traumatic!", $58
+; 0x91a8d + 17 bytes
+
+_UnnamedText_55ea5: ; 0x91a9e
+	db $0, "I'm looking at the", $4f
+	db "sea to forget!", $57
+; 0x91a9e + 34 bytes
+
+_UnnamedText_55eaa: ; 0x91ac0
+	db $0, "Oh, I just love", $4f
+	db "your ride! Can I", $55
+	db "have it if I win?", $57
+; 0x91ac0 + 52 bytes
+
+_UnnamedText_55eaf: ; 0x91af4
+	db $0, "Oh!", $4f
+	db "I lost!", $58
+; 0x91af4 + 13 bytes
+
+_UnnamedText_55eb4: ; 0x91b01
+	db $0, "It's still a long", $4f
+	db "way to go to", $55
+	db "SEAFOAM ISLANDS.", $57
+; 0x91b01 + 48 bytes
+
+_UnnamedText_55eb9: ; 0x91b31
+	db $0, "Swimming's great!", $4f
+	db "Sunburns aren't!", $57
+; 0x91b31 + 34 bytes
+
+_UnnamedText_55ebe: ; 0x91b53
+	db $0, "Shocker!", $58
+; 0x91b53 + 10 bytes
+
+_UnnamedText_55ec3: ; 0x91b5d
+	db $0, "My boy friend", $4f
+	db "wanted to swim to", $55
+	db "SEAFOAM ISLANDS.", $57
+; 0x91b5d + 50 bytes
+
+_UnnamedText_55ec8: ; 0x91b8f
+	db $0, "These waters are", $4f
+	db "treacherous!", $57
+; 0x91b8f + 31 bytes
+
+_UnnamedText_55ecd: ; 0x91bae
+	db $0, "Ooh!", $4f
+	db "Dangerous!", $58
+; 0x91bae + 17 bytes
+
+_UnnamedText_55ed2: ; 0x91bbf
+	db $0, "I got a cramp!", $4f
+	db "Glub, glub...", $57
+; 0x91bbf + 30 bytes
+
+_UnnamedText_55ed7: ; 0x91bdd
+	db $0, "I swam here, but", $4f
+	db "I'm tired.", $57
+; 0x91bdd + 28 bytes
+
+_UnnamedText_55edc: ; 0x91bf9
+	db $0, "I'm", $4f
+	db "exhausted...", $58
+; 0x91bf9 + 17 bytes
+
+_UnnamedText_55ee1: ; 0x91c0a
+	db $0, "LAPRAS is so big,", $4f
+	db "it must keep you", $55
+	db "dry on water.", $57
+; 0x91c0a + 50 bytes
+
+_Route19Text11: ; 0x91c3c
+	db $0, "SEA ROUTE 19", $4f
+	db "FUCHSIA CITY -", $55
+	db "SEAFOAM ISLANDS", $57
+
+_UnnamedText_50e17: ; 0x91c69
+	db $0, "The water is", $4f
+	db "shallow here.", $57
+; 0x91c69 + 28 bytes
+
+_UnnamedText_50e1c: ; 0x91c85
+	db $0, "Splash!", $58
+; 0x91c85 + 9 bytes
+
+_UnnamedText_50e21: ; 0x91c8e
+	db $0, "I wish I could", $4f
+	db "ride my #MON.", $57
+; 0x91c8e + 30 bytes
+
+_UnnamedText_50e26: ; 0x91cac
+	db $0, "SEAFOAM is a", $4f
+	db "quiet getaway!", $57
+; 0x91cac + 29 bytes
+
+_UnnamedText_50e2b: ; 0x91cc9
+	db $0, "Quit it!", $58
+; 0x91cc9 + 10 bytes
+
+_UnnamedText_50e30: ; 0x91cd3
+	db $0, "There's a huge", $4f
+	db "cavern underneath", $55
+	db "this island.", $57
+; 0x91cd3 + 46 bytes
+
+_UnnamedText_50e35: ; 0x91d01
+	db $0, "I love floating", $4f
+	db "with the fishes!", $57
+; 0x91d01 + 34 bytes
+
+_UnnamedText_50e3a: ; 0x91d23
+	db $0, "Yowch!", $58
+; 0x91d23 + 8 bytes
+
+_UnnamedText_50e3f: ; 0x91d2b
+	db $0, "Want to float", $4f
+	db "with me?", $57
+; 0x91d2b + 24 bytes
+
+_UnnamedText_50e44: ; 0x91d43
+	db $0, "Are you on", $4f
+	db "vacation too?", $57
+; 0x91d43 + 26 bytes
+
+_UnnamedText_50e49: ; 0x91d5d
+	db $0, "No", $4f
+	db "mercy at all!", $58
+; 0x91d5d + 18 bytes
+
+_UnnamedText_50e4e: ; 0x91d6f
+	db $0, "SEAFOAM used to", $4f
+	db "be one island!", $57
+; 0x91d6f + 32 bytes
+
+_UnnamedText_50e53: ; 0x91d8f
+	db $0, "Check out my buff", $4f
+	db "physique!", $57
+; 0x91d8f + 29 bytes
+
+_UnnamedText_50e58: ; 0x91dac
+	db $0, "Wimpy!", $58
+; 0x91dac + 8 bytes
+
+_UnnamedText_50e5d: ; 0x91db4
+	db $0, "I should've been", $4f
+	db "buffing up my", $55
+	db "#MON, not me!", $57
+; 0x91db4 + 45 bytes
+
+_UnnamedText_50e62: ; 0x91de1
+	db $0, "Why are you", $4f
+	db "riding a #MON?", $55
+	db "Can't you swim?", $57
+; 0x91de1 + 43 bytes
+
+_UnnamedText_50e67: ; 0x91e0c
+	db $0, "Ouch!", $4f
+	db "Torpedoed!", $58
+; 0x91e0c + 18 bytes
+
+_UnnamedText_50e6c: ; 0x91e1e
+	db $0, "Riding a #MON", $4f
+	db "sure looks fun!", $57
+; 0x91e1e + 31 bytes
+
+_UnnamedText_50e71: ; 0x91e3d
+	db $0, "I rode my bird", $4f
+	db "#MON here!", $57
+; 0x91e3d + 27 bytes
+
+_UnnamedText_50e76: ; 0x91e58
+	db $0, "Oh", $4f
+	db "no!", $58
+; 0x91e58 + 8 bytes
+
+_UnnamedText_50e7b: ; 0x91e60
+	db $0, "My birds can't", $4f
+	db "FLY me back!", $57
+; 0x91e60 + 28 bytes
+
+_UnnamedText_50e80: ; 0x91e7c
+	db $0, "My boy friend gave", $4f
+	db "me big pearls!", $57
+; 0x91e7c + 35 bytes
+
+_UnnamedText_50e85: ; 0x91e9f
+	db $0, "Don't", $4f
+	db "touch my pearls!", $58
+; 0x91e9f + 23 bytes
+
+_UnnamedText_50e8a: ; 0x91eb6
+	db $0, "Will my pearls", $4f
+	db "grow bigger", $55
+	db "inside CLOYSTER?", $57
+; 0x91eb6 + 45 bytes
+
+_UnnamedText_50e8f: ; 0x91ee3
+	db $0, "I swam here from", $4f
+	db "CINNABAR ISLAND!", $57
+; 0x91ee3 + 35 bytes
+
+_UnnamedText_50e94: ; 0x91f06
+	db $0, "I'm", $4f
+	db "so disappointed!", $58
+; 0x91f06 + 21 bytes
+
+_UnnamedText_50e99: ; 0x91f1b
+	db $0, "#MON have", $4f
+	db "taken over an", $55
+	db "abandoned mansion", $55
+	db "on CINNABAR!", $57
+; 0x91f1b + 56 bytes
+
+_UnnamedText_50e9e: ; 0x91f53
+	db $0, "CINNABAR, in the", $4f
+	db "west, has a LAB", $55
+	db "for #MON.", $57
+; 0x91f53 + 44 bytes
+
+_UnnamedText_50ea3: ; 0x91f7f
+	db $0, "Wait!", $58
+; 0x91f7f + 7 bytes
+
+_UnnamedText_50ea8: ; 0x91f86
+	db $0, "CINNABAR is a ", $4f
+	db "volcanic island!", $57
+; 0x91f86 + 33 bytes
+
+_Route20Text12: ; 0x91fa7
+_Route20Text11: ; 0x91fa7
+	db $0, "SEAFOAM ISLANDS", $57
+
+_UnnamedText_55fdd: ; 0x91fb8
+	db $0, "You want to know", $4f
+	db "if the fish are", $55
+	db "biting?", $57
+; 0x91fb8 + 42 bytes
+
+_UnnamedText_55fe2: ; 0x91fe2
+	db $0, "Dang!", $58
+; 0x91fe2 + 7 bytes
+
+_UnnamedText_55fe7: ; 0x91fe9
+	db $0, "I can't catch", $4f
+	db "anything good!", $57
+; 0x91fe9 + 29 bytes
+
+_UnnamedText_55fec: ; 0x92006
+	db $0, "I got a big haul!", $4f
+	db "Wanna go for it?", $57
+; 0x92006 + 36 bytes
+
+_UnnamedText_55ff1: ; 0x9202a
+	db $0, "Darn", $4f
+	db "MAGIKARP!", $58
+; 0x9202a + 16 bytes
+
+_UnnamedText_55ff6: ; 0x9203a
+	db $0, "I seem to only", $4f
+	db "catch MAGIKARP!", $57
+; 0x9203a + 32 bytes
+
+_UnnamedText_55ffb: ; 0x9205a
+	db $0, "The sea cleanses", $4f
+	db "my body and soul!", $57
+; 0x9205a + 36 bytes
+
+_UnnamedText_56000: ; 0x9207e
+	db $0, "Ayah!", $58
+; 0x9207e + 7 bytes
+
+_UnnamedText_56005: ; 0x92085
+	db $0, "I like the", $4f
+	db "mountains too!", $57
+; 0x92085 + 27 bytes
+
+_UnnamedText_5600a: ; 0x920a0
+	db $0, "What's wrong with", $4f
+	db "me swimming?", $57
+; 0x920a0 + 31 bytes
+
+_UnnamedText_5600f: ; 0x920bf
+	db $0, "Cheap", $4f
+	db "shot!", $58
+; 0x920bf + 13 bytes
+
+_UnnamedText_56014: ; 0x920cc
+	db $0, "I look like what?", $4f
+	db "A studded inner", $55
+	db "tube? Get lost!", $57
+; 0x920cc + 51 bytes
+
+_UnnamedText_56019: ; 0x920ff
+	db $0, "I caught all my", $4f
+	db "#MON at sea!", $57
+; 0x920ff + 30 bytes
+
+_UnnamedText_5601e: ; 0x9211d
+	db $0, "Diver!!", $4f
+	db "Down!!", $58
+; 0x9211d + 16 bytes
+
+_UnnamedText_56023: ; 0x9212d
+	db $0, "Where'd you catch", $4f
+	db "your #MON?", $57
+; 0x9212d + 29 bytes
+
+_UnnamedText_56028: ; 0x9214a
+	db $0, "Right now, I'm in", $4f
+	db "a triathlon meet!", $57
+; 0x9214a + 36 bytes
+
+_UnnamedText_5602d: ; 0x9216e
+	db $0, "Pant...", $4f
+	db "pant...pant...", $58
+; 0x9216e + 24 bytes
+
+_UnnamedText_56032: ; 0x92186
+	db $0, "I'm beat!", $4f
+	db "But, I still have", $55
+	db "the bike race and", $55
+	db "marathon left!", $57
+; 0x92186 + 61 bytes
+
+_UnnamedText_56037: ; 0x921c3
+	db $0, "Ahh! Feel the sun", $4f
+	db "and the wind!", $57
+; 0x921c3 + 33 bytes
+
+_UnnamedText_5603c: ; 0x921e4
+	db $0, "Yow!", $4f
+	db "I lost!", $58
+; 0x921e4 + 14 bytes
+
+_UnnamedText_56041: ; 0x921f2
+	db $0, "I'm sunburnt to a", $4f
+	db "crisp!", $57
+; 0x921f2 + 25 bytes
+
+_UnnamedText_56046: ; 0x9220b
+	db $0, "Hey, don't scare", $4f
+	db "away the fish!", $57
+; 0x9220b + 32 bytes
+
+_UnnamedText_5604b: ; 0x9222b
+	db $0, "Sorry!", $4f
+	db "I didn't mean it!", $58
+; 0x9222b + 25 bytes
+
+_UnnamedText_56050: ; 0x92244
+	db $0, "I was just angry", $4f
+	db "that I couldn't", $55
+	db "catch anything.", $57
+; 0x92244 + 49 bytes
+
+_UnnamedText_56055: ; 0x92275
+	db $0, "Keep me company", $4f
+	db "'til I get a hit!", $57
+; 0x92275 + 34 bytes
+
+_UnnamedText_5605a: ; 0x92297
+	db $0, "That", $4f
+	db "burned some time.", $58
+; 0x92297 + 24 bytes
+
+_UnnamedText_5605f: ; 0x922af
+	db $0, "Oh wait! I got a", $4f
+	db "bite! Yeah!", $57
+; 0x922af + 30 bytes
+
+_UnnamedText_511ad: ; 0x922cd
+	db $0, $53, ": Hey!", $4f
+	db $52, "!", $51
+	db "You're going to", $4f
+	db "#MON LEAGUE?", $51
+	db "Forget it! You", $4f
+	db "probably don't", $55
+	db "have any BADGEs!", $51
+	db "The guard won't", $4f
+	db "let you through!", $51
+	db "By the way, did", $4f
+	db "your #MON", $55
+	db "get any stronger?", $57
+; 0x922cd + 162 bytes
+
+_UnnamedText_511b2: ; 0x9236f
+	db $0, "I heard #MON", $4f
+	db "LEAGUE has many", $55
+	db "tough trainers!", $51
+	db "I have to figure", $4f
+	db "out how to get", $55
+	db "past them!", $51
+	db "You should quit", $4f
+	db "dawdling and get", $55
+	db "a move on!", $57
+; 0x9236f + 133 bytes
+
+_UnnamedText_511b7: ; 0x923f4
+	db $0, "Awww!", $4f
+	db "You just lucked", $55
+	db "out!", $58
+; 0x923f4 + 28 bytes
+
+_UnnamedText_511bc: ; 0x92410
+	db $0, $53, ": What?", $4f
+	db "Why do I have 2", $55
+	db "#MON?", $51
+	db "You should catch", $55
+	db "some more too!", $58
+; 0x92410 + 64 bytes
+
+_UnnamedText_511c1: ; 0x92450
+	db $0, $53, ": What?", $4f
+	db $52, "! What a", $55
+	db "surprise to see", $55
+	db "you here!", $51
+	db "So you're going to", $4f
+	db "#MON LEAGUE?", $51
+	db "You collected all", $4f
+	db "the BADGEs too?", $55
+	db "That's cool!", $51
+	db "Then I'll whip you", $4f
+	db $52, " as a", $55
+	db "warm up for", $55
+	db "#MON LEAGUE!", $51
+	db "Come on!", $57
+; 0x92450 + 182 bytes
+
+_UnnamedText_511c6: ; 0x92506
+	db $0, "That loosened me", $4f
+	db "up! I'm ready for", $55
+	db "#MON LEAGUE!", $51
+	db $52, ", you need", $4f
+	db "more practice!", $51
+	db "But hey, you know", $4f
+	db "that! I'm out of", $55
+	db "here. Smell ya!", $57
+; 0x92506 + 125 bytes
+
+_UnnamedText_511cb: ; 0x92583
+	db $0, "What!?", $51
+	db "I was just", $4f
+	db "careless!", $58
+; 0x92583 + 29 bytes
+
+_UnnamedText_511d0: ; 0x925a0
+	db $0, $53, ": Hahaha!", $4f
+	db $52, "! That's", $55
+	db "your best? You're", $55
+	db "nowhere near as", $55
+	db "good as me, pal!", $51
+	db "Go train some", $4f
+	db "more! You loser!", $58
+; 0x925a0 + 102 bytes
+
+_Route22Text3: ; 0x92606
+	db $0, "#MON LEAGUE", $4f
+	db "Front Gate", $57
+
+UnknownText_9261e: ; 0x9261e
+	db $0, "You can pass here", $4f
+	db "only if you have", $55
+	db "the @"
+; 0x9261e + 41 bytes
+
+UnknownText_92647: ; 0x92647
+	TX_RAM $cd6d
+	db $0, "!", $51
+	db "You don't have the", $4f
+	db "@"
+; 0x92647 + 25 bytes (0x92660)
+
+UnknownText_92660: ; 0x92660
+	TX_RAM $cd6d
+	db $0, " yet!", $51
+	db "You have to have", $4f
+	db "it to get to", $55
+	db "#MON LEAGUE!@@"
+; 0x92660 + 54 bytes
+
+UnknownText_92696: ; 0x92696
+	db $0, "You can pass here", $4f
+	db "only if you have", $55
+	db "the @"
+; 0x92696 + 41 bytes
+
+UnknownText_926bf: ; 0x926bf
+	TX_RAM $cd6d
+	db $0, "!", $51
+	db "Oh! That is the", $4f
+	db "@"
+; 0x926bf + 23 bytes
+
+UnknownText_926d6: ; 0x926d6
+	TX_RAM $cd6d
+	db $0, "!@@"
+; 0x926d6 + 7 bytes
+
+_UnnamedText_513a3: ; 0x926dd
+	db $0, $51
+	db "OK then! Please,", $4f
+	db "go right ahead!", $57
+; 0x926dd + 35 bytes
+
+_Route23Text8: ; 0x92700
+	db $0, "VICTORY ROAD GATE", $4f
+	db "- #MON LEAGUE", $57
+
+_UnnamedText_51510: ; 0x92721
+	db $0, "Congratulations!", $4f
+	db "You beat our 5", $55
+	db "contest trainers!@@"
+; 0x92721 + 52 bytes
+
+_UnnamedText_51515: ; 0x92755
+	db $0, $51
+	db "You just earned a", $4f
+	db "fabulous prize!", $58
+; 0x92755 + 36 bytes
+
+_UnnamedText_5151a: ; 0x92779
+	db $0, $52, " received", $4f
+	db "a @"
+; 0x92779 + 15 bytes
+
+UnknownText_92788: ; 0x92788
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x92788 + 7 bytes
+
+_UnnamedText_51521: ; 0x9278f
+	db $0, "You don't have", $4f
+	db "any room!", $57
+; 0x9278f + 25 bytes
+
+_UnnamedText_51526: ; 0x927a8
+	db $0, "By the way, would", $4f
+	db "you like to join", $55
+	db "TEAM ROCKET?", $51
+	db "We're a group", $4f
+	db "dedicated to evil", $55
+	db "using #MON!", $51
+	db "Want to join?", $51
+	db "Are you sure?", $51
+	db "Come on, join us!", $51
+	db "I'm telling you", $4f
+	db "to join!", $51
+	db "OK, you need", $4f
+	db "convincing!", $51
+	db "I'll make you an", $4f
+	db "offer you can't", $55
+	db "refuse!", $57
+; 0x927a8 + 226 bytes
+
+_UnnamedText_5152b: ; 0x9288a
+	db $0, "Arrgh!", $4f
+	db "You are good!", $58
+; 0x9288a + 22 bytes
+
+_UnnamedText_51530: ; 0x928a0
+	db $0, "With your ability,", $4f
+	db "you could become", $55
+	db "a top leader in", $55
+	db "TEAM ROCKET!", $57
+; 0x928a0 + 66 bytes
+
+_UnnamedText_51571: ; 0x928e2
+	db $0, "I saw your feat", $4f
+	db "from the grass!", $57
+; 0x928e2 + 33 bytes
+
+SECTION "bank25",DATA,BANK[$25]
+
+_UnnamedText_51576: ; 0x94000
+	db $0, "I", $4f
+	db "thought not!", $58
+; 0x94000 + 16 bytes
+
+_UnnamedText_5157b: ; 0x94010
+	db $0, "I hid because the", $4f
+	db "people on the", $55
+	db "bridge scared me!", $57
+; 0x94010 + 51 bytes
+
+_UnnamedText_51580: ; 0x94043
+	db $0, "OK! I'm No. 5!", $4f
+	db "I'll stomp you!", $57
+; 0x94043 + 30 bytes
+
+_UnnamedText_51585: ; 0x94061
+	db $0, "Whoa!", $4f
+	db "Too much!", $58
+; 0x94061 + 17 bytes
+
+_UnnamedText_5158a: ; 0x94072
+	db $0, "I did my best, I", $4f
+	db "have no regrets!", $57
+; 0x94072 + 35 bytes
+
+_UnnamedText_5158f: ; 0x94095
+	db $0, "I'm No. 4!", $4f
+	db "Getting tired?", $57
+; 0x94095 + 26 bytes
+
+_UnnamedText_51594: ; 0x940af
+	db $0, "I lost", $4f
+	db "too!", $58
+; 0x940af + 13 bytes
+
+_UnnamedText_51599: ; 0x940bc
+	db $0, "I did my best, so", $4f
+	db "I've no regrets!", $57
+; 0x940bc + 35 bytes
+
+_UnnamedText_5159e: ; 0x940df
+	db $0, "Here's No. 3!", $4f
+	db "I won't be easy!", $57
+; 0x940df + 30 bytes
+
+_UnnamedText_515a3: ; 0x940fd
+	db $0, "Ow!", $4f
+	db "Stomped flat!", $58
+; 0x940fd + 19 bytes
+
+_UnnamedText_515a8: ; 0x94110
+	db $0, "I did my best, I", $4f
+	db "have no regrets!", $57
+; 0x94110 + 35 bytes
+
+_UnnamedText_515ad: ; 0x94133
+	db $0, "I'm second!", $4f
+	db "Now it's serious!", $57
+; 0x94133 + 29 bytes
+
+_UnnamedText_515b2: ; 0x94150
+	db $0, "How could I", $4f
+	db "lose?", $58
+; 0x94150 + 19 bytes
+
+_UnnamedText_515b7: ; 0x94163
+	db $0, "I did my best, I", $4f
+	db "have no regrets!", $57
+; 0x94163 + 35 bytes
+
+_UnnamedText_515bc: ; 0x94186
+	db $0, "This is NUGGET", $4f
+	db "BRIDGE! Beat us 5", $55
+	db "trainers and win", $55
+	db "a fabulous prize!", $51
+	db "Think you got", $4f
+	db "what it takes?", $57
+; 0x94186 + 98 bytes
+
+_UnnamedText_515c1: ; 0x941e8
+	db $0, "Whoo!", $4f
+	db "Good stuff!", $58
+; 0x941e8 + 19 bytes
+
+_UnnamedText_515c6: ; 0x941fb
+	db $0, "I did my best, I", $4f
+	db "have no regrets!", $57
+; 0x941fb + 35 bytes
+
+_UnnamedText_51705: ; 0x9421e
+	db $0, "Local trainers", $4f
+	db "come here to", $55
+	db "practice!", $57
+; 0x9421e + 39 bytes
+
+_UnnamedText_5170a: ; 0x94245
+	db $0, "You're", $4f
+	db "decent.", $58
+; 0x94245 + 15 bytes
+
+_UnnamedText_5170f: ; 0x94254
+	db $0, "All #MON have", $4f
+	db "weaknesses. It's", $55
+	db "best to raise", $55
+	db "different kinds.", $57
+; 0x94254 + 62 bytes
+
+_UnnamedText_51714: ; 0x94292
+	db $0, "Dad took me to a", $4f
+	db "great party on", $55
+	db "S.S.ANNE at", $55
+	db "VERMILION CITY!", $57
+; 0x94292 + 61 bytes
+
+_UnnamedText_51719: ; 0x942cf
+	db $0, "I'm", $4f
+	db "not mad!", $58
+; 0x942cf + 13 bytes
+
+_UnnamedText_5171e: ; 0x942dc
+	db $0, "On S.S.ANNE, I", $4f
+	db "saw trainers from", $55
+	db "around the world.", $57
+; 0x942dc + 52 bytes
+
+_UnnamedText_51723: ; 0x94310
+	db $0, "I'm a cool guy.", $4f
+	db "I've got a girl", $55
+	db "friend!", $57
+; 0x94310 + 39 bytes
+
+_UnnamedText_51728: ; 0x94337
+	db $0, "Aww,", $4f
+	db "darn...", $58
+; 0x94337 + 14 bytes
+
+_UnnamedText_5172d: ; 0x94345
+	db $0, "Oh well. My girl", $4f
+	db "will cheer me up.", $57
+; 0x94345 + 36 bytes
+
+_UnnamedText_51732: ; 0x94369
+	db $0, "Hi! My boy", $4f
+	db "friend is cool!", $57
+; 0x94369 + 28 bytes
+
+_UnnamedText_51737: ; 0x94385
+	db $0, "I was in", $4f
+	db "bad condition!", $58
+; 0x94385 + 25 bytes
+
+_UnnamedText_5173c: ; 0x9439e
+	db $0, "I wish my guy was", $4f
+	db "as good as you!", $57
+; 0x9439e + 35 bytes
+
+_UnnamedText_51741: ; 0x943c1
+	db $0, "I knew I had to", $4f
+	db "fight you!", $57
+; 0x943c1 + 28 bytes
+
+_UnnamedText_51746: ; 0x943dd
+	db $0, "I knew", $4f
+	db "I'd lose too!", $58
+; 0x943dd + 21 bytes
+
+_UnnamedText_5174b: ; 0x943f2
+	db $0, "If your #MON", $4f
+	db "gets confused or", $55
+	db "falls asleep,", $55
+	db "switch it!", $57
+; 0x943f2 + 56 bytes
+
+_UnnamedText_51750: ; 0x9442a
+	db $0, "My friend has a", $4f
+	db "cute #MON.", $55
+	db "I'm so jealous!", $57
+; 0x9442a + 43 bytes
+
+_UnnamedText_51755: ; 0x94455
+	db $0, "I'm", $4f
+	db "not so jealous!", $58
+; 0x94455 + 20 bytes
+
+_UnnamedText_5175a: ; 0x94469
+	db $0, "You came from MT.", $4f
+	db "MOON? May I have", $55
+	db "a CLEFAIRY?", $57
+; 0x94469 + 48 bytes
+
+_UnnamedText_5175f: ; 0x94499
+	db $0, "I just got down", $4f
+	db "from MT.MOON,", $55
+	db "but I'm ready!", $57
+; 0x94499 + 45 bytes
+
+_UnnamedText_51764: ; 0x944c6
+	db $0, "You", $4f
+	db "worked hard!", $58
+; 0x944c6 + 18 bytes
+
+_UnnamedText_51769: ; 0x944d8
+	db $0, "Drat!", $4f
+	db "A ZUBAT bit me", $55
+	db "back in there.", $57
+; 0x944d8 + 37 bytes
+
+_UnnamedText_5176e: ; 0x944fd
+	db $0, "I'm off to see a", $4f
+	db "#MON collector", $55
+	db "at the cape!", $57
+; 0x944fd + 45 bytes
+
+_UnnamedText_51773: ; 0x9452a
+	db $0, "You", $4f
+	db "got me.", $58
+; 0x9452a + 13 bytes
+
+_UnnamedText_51778: ; 0x94537
+	db $0, "The collector has", $4f
+	db "many rare kinds", $55
+	db "of #MON.", $57
+; 0x94537 + 44 bytes
+
+_UnnamedText_5177d: ; 0x94563
+	db $0, "You're going to", $4f
+	db "see BILL? First,", $55
+	db "let's fight!", $57
+; 0x94563 + 45 bytes
+
+_UnnamedText_51782: ; 0x94590
+	db $0, "You're", $4f
+	db "something.", $58
+; 0x94590 + 18 bytes
+
+_UnnamedText_51787: ; 0x945a2
+	db $0, "The trail below", $4f
+	db "is a shortcut to", $55
+	db "CERULEAN CITY.", $57
+; 0x945a2 + 49 bytes
+
+_Route25Text11: ; 0x945d3
+	db $0, "SEA COTTAGE", $4f
+	db "BILL lives here!", $57
+
+_UnnamedText_7361e: ; 0x945f1
+	db $0, "The file data is", $4f
+	db "destroyed!", $58
+; 0x945f1 + 29 bytes
+
+_UnnamedText_7377d: ; 0x9460e
+	db $0, "Would you like to", $4f
+	db "SAVE the game?", $57
+; 0x9460e + 34 bytes
+
+_UnnamedText_73782: ; 0x94630
+	db $0, $52, " saved", $4f
+	db "the game!", $57
+; 0x94630 + 19 bytes
+
+_UnnamedText_73787: ; 0x94643
+	db $0, "The older file", $4f
+	db "will be erased to", $55
+	db "save. Okay?", $57
+; 0x94643 + 46 bytes
+
+_UnnamedText_73909: ; 0x94671
+	db $0, "When you change a", $4f
+	db "#MON BOX, data", $55
+	db "will be saved.", $51
+	db "Is that okay?", $57
+; 0x94671 + 63 bytes
+
+_UnnamedText_739d4: ; 0x946b0
+	db $0, "Choose a", $4f
+	db $4a, " BOX.@@"
+; 0x946b0 + 17 bytes
+
+_UnnamedText_3af3e: ; 0x946c2
+	TX_RAM $cf4b
+	db $0, " evolved", $57
+; 0x946c2 + 13 bytes
+
+_UnnamedText_3af43: ; 0x946cf
+	db $0, $4f
+	db "into @"
+; 0x946cf + 8 bytes
+
+UnknownText_946d7: ; 0x946d7
+	TX_RAM $cd6d
+	db $0, "!", $57
+; 0x946d7 + 6 bytes
+
+_UnnamedText_3af48: ; 0x946dd
+	db $0, "Huh? @"
+; 0x946dd + 7 bytes
+
+UnknownText_946e4: ; 0x946e4
+	TX_RAM $cf4b
+	db $0, $4f
+	db "stopped evolving!", $58
+; 0x946e4 + 23 bytes
+
+_UnnamedText_3af4d: ; 0x946fb
+	db $0, "What? @"
+; 0x946fb + 8 bytes
+
+UnknownText_94703: ; 0x94703
+	TX_RAM $cf4b
+	db $0, $4f
+	db "is evolving!", $57
+; 0x94703 + 18 bytes
+
+_UnnamedText_3f245: ; 0x94715
+	db $0, $59, $4f
+	db "fell asleep!", $58
+; 0x94715 + 16 bytes
+
+_UnnamedText_3f24a: ; 0x94725
+	db $0, $59, "'s", $4f
+	db "already asleep!", $58
+; 0x94725 + 20 bytes
+
+_UnnamedText_3f2df: ; 0x94739
+	db $0, $59, $4f
+	db "was poisoned!", $58
+; 0x94739 + 17 bytes
+
+_UnnamedText_3f2e4: ; 0x9474a
+	db $0, $59, "'s", $4f
+	db "badly poisoned!", $58
+; 0x9474a + 20 bytes
+
+_UnnamedText_3f3d8: ; 0x9475e
+	db $0, $59, $4f
+	db "was burned!", $58
+; 0x9475e + 15 bytes
+
+_UnnamedText_3f3dd: ; 0x9476d
+	db $0, $59, $4f
+	db "was frozen solid!", $58
+; 0x9476d + 21 bytes
+
+_UnnamedText_3f423: ; 0x94782
+	db $0, "Fire defrosted", $4f
+	db $59, "!", $58
+; 0x94782 + 19 bytes
+
+UnknownText_94795: ; 0x94795
+	db $0, $5a, "'s", $4f
+	db "@"
+; 0x94795 + 5 bytes
+
+UnknownText_9479a: ; 0x9479a
+	TX_RAM $cf4b
+	db $0, "@@"
+; 0x9479a + 6 bytes
+
+UnknownText_947a0: ; 0x947a0
+	db $0, $4c, "greatly@@"
+; 0x947a0 + 11 bytes
+
+_UnnamedText_3f547: ; 0x947ab
+	db $0, " rose!", $58
+; 0x947ab + 8 bytes
+
+UnknownText_947b3: ; 0x947b3
+	db $0, $59, "'s", $4f
+	db "@"
+; 0x947b3 + 5 bytes
+
+UnknownText_947b8: ; 0x947b8
+	TX_RAM $cf4b
+	db $0, "@@"
+; 0x947b8 + 6 bytes
+
+UnknownText_947be: ; 0x947be
+	db $0, $4c, "greatly@@"
+; 0x947be + 11 bytes
+
+_UnnamedText_3f683: ; 0x947c9
+	db $0, " fell!", $58
+; 0x947c9 + 8 bytes
+
+_UnnamedText_3f802: ; 0x947d1
+	db $0, $5a, $4f
+	db "ran from battle!", $58
+; 0x947d1 + 20 bytes
+
+_UnnamedText_3f807: ; 0x947e5
+	db $0, $59, $4f
+	db "ran away scared!", $58
+; 0x947e5 + 20 bytes
+
+_UnnamedText_3f80c: ; 0x947f9
+	db $0, $59, $4f
+	db "was blown away!", $58
+; 0x947f9 + 19 bytes
+
+UnnamedText_9480c: ; 0x9480c
+	db $0, $5a, "@@"
+; 0x9480c + 4 bytes
+
+_UnnamedText_3f8f9: ; 0x94810
+	db $0, $4f
+	db "made a whirlwind!", $58
+; 0x94810 + 20 bytes
+
+_UnnamedText_3f8fe: ; 0x94824
+	db $0, $4f
+	db "took in sunlight!", $58
+; 0x94824 + 20 bytes
+
+_UnnamedText_3f903: ; 0x94838
+	db $0, $4f
+	db "lowered its head!", $58
+; 0x94838 + 20 bytes
+
+_UnnamedText_3f908: ; 0x9484c
+	db $0, $4f
+	db "is glowing!", $58
+; 0x9484c + 14 bytes
+
+_UnnamedText_3f90d: ; 0x9485a
+	db $0, $4f
+	db "flew up high!", $58
+; 0x9485a + 16 bytes
+
+_UnnamedText_3f912: ; 0x9486a
+	db $0, $4f
+	db "dug a hole!", $58
+; 0x9486a + 14 bytes
+
+_UnnamedText_3f9a1: ; 0x94878
+	db $0, $59, $4f
+	db "became confused!", $58
+; 0x94878 + 20 bytes
+
+_UnnamedText_3fa77: ; 0x9488c
+	db $0, $5a, $4f
+	db "learned", $55
+	db "@"
+; 0x9488c + 12 bytes
+
+UnnamedText_94898: ; 0x94898
+	TX_RAM $cd6d
+	db $0, "!", $58
+; 0x94898 + 6 bytes
+
+_UnnamedText_3fb09: ; 0x9489e
+	db $0, $59, "'s", $4f
+	db "@"
+; 0x9489e + 5 bytes
+
+UnnamedText_948a3: ; 0x948a3
+	TX_RAM $cd6d
+	db $0, " was", $55
+	db "disabled!", $58
+; 0x948a3 + 19 bytes
+
+_UnnamedText_3fb3e: ; 0x948b6
+	db $0, "Nothing happened!", $58
+; 0x948b6 + 19 bytes
+
+_UnnamedText_3fb49: ; 0x948c9
+	db $0, "No effect!", $58
+; 0x948c9 + 12 bytes
+
+_UnnamedText_3fb59: ; 0x948d5
+	db $0, "But, it failed! ", $58
+; 0x948d5 + 18 bytes
+
+_UnnamedText_3fb64: ; 0x948e7
+	db $0, "It didn't affect", $4f
+	db $59, "!", $58
+; 0x948e7 + 20 bytes
+
+_UnnamedText_3fb69: ; 0x948fb
+	db $0, $59, $4f
+	db "is unaffected!", $58
+; 0x948fb + 18 bytes
+
+_UnnamedText_3fb74: ; 0x9490d
+	db $0, $59, "'s", $4f
+	db "paralyzed! It may", $55
+	db "not attack!", $58
+; 0x9490d + 34 bytes
+
+_UnnamedText_17e1d: ; 0x9492f
+	db $0, "It created a", $4f
+	db "SUBSTITUTE!", $58
+; 0x9492f + 26 bytes
+
+_UnnamedText_17e22: ; 0x94949
+	db $0, $5a, $4f
+	db "has a SUBSTITUTE!", $58
+; 0x94949 + 21 bytes
+
+_UnnamedText_17e27: ; 0x9495e
+	db $0, "Too weak to make", $4f
+	db "a SUBSTITUTE!", $58
+; 0x9495e + 32 bytes
+
+_UnnamedText_2ff04: ; 0x9497e
+	db $0, "Coins scattered", $4f
+	db "everywhere!", $58
+; 0x9497e + 29 bytes
+
+_UnnamedText_27fb3: ; 0x9499b
+	db $0, $5a, "'s", $4f
+	db "getting pumped!", $58
+; 0x9499b + 20 bytes
+
+_UnnamedText_2bef2: ; 0x949af
+	db $0, $59, $4f
+	db "was seeded!", $58
+; 0x949af + 15 bytes
+
+_UnnamedText_2bef7: ; 0x949be
+	db $0, $59, $4f
+	db "evaded attack!", $58
+; 0x949be + 18 bytes
+
+_UnnamedText_1399e: ; 0x949d0
+	db $0, $5a, "'s", $4f
+	db "hit with recoil!", $58
+; 0x949d0 + 21 bytes
+
+_UnnamedText_139cd: ; 0x949e5
+	db $0, "Converted type to", $4f
+	db $59, "'s!", $58
+; 0x949e5 + 23 bytes
+
+_UnnamedText_13a53: ; 0x949fc
+	db $0, "All STATUS changes", $4f
+	db "are eliminated!", $58
+; 0x949fc + 36 bytes
+
+_UnnamedText_3baa2: ; 0x94a20
+	db $0, $5a, $4f
+	db "started sleeping!", $57
+; 0x94a20 + 21 bytes
+
+_UnnamedText_3baa7: ; 0x94a35
+	db $0, $5a, $4f
+	db "fell asleep and", $55
+	db "became healthy!", $57
+; 0x94a35 + 35 bytes
+
+_UnnamedText_3baac: ; 0x94a58
+	db $0, $5a, $4f
+	db "regained health!", $58
+; 0x94a58 + 20 bytes
+
+_UnnamedText_3bb92: ; 0x94a6c
+	db $0, $5a, $4f
+	db "transformed into", $55
+	db "@"
+; 0x94a6c + 21 bytes
+
+UnnamedText_94a81: ; 0x94a81
+	TX_RAM $cd6d
+	db $0, "!", $58
+; 0x94a81 + 6 bytes
+
+_UnnamedText_3bbd7: ; 0x94a87
+	db $0, $5a, "'s", $4f
+	db "protected against", $55
+	db "special attacks!", $58
+; 0x94a87 + 39 bytes
+
+_UnnamedText_3bbdc: ; 0x94aae
+	db $0, $5a, $4f
+	db "gained armor!", $58
+; 0x94aae + 17 bytes
+
+_UnnamedText_33f52: ; 0x94abf
+	db $0, $5a, "'s", $4f
+	db "shrouded in mist!", $58
+; 0x94abf + 22 bytes
+
+_UnnamedText_78dc: ; 0x94ad5
+	db $0, "Sucked health from", $4f
+	db $59, "!", $58
+; 0x94ad5 + 23 bytes
+
+_UnnamedText_78e1: ; 0x94aec
+	db $0, $59, "'s", $4f
+	db "dream was eaten!", $58
+; 0x94aec + 21 bytes
+
+_BattleCenterMText1: ; 0x94b01
+	db $0, "!", $57
+
+_TradeCenterMText1: ; 0x94b04
+	db $0, "!", $57
+
+INCLUDE "text/mapRedsHouse1F.tx"
+INCLUDE "text/mapBluesHouse.tx"
+
+_OaksLabGaryText1: ; 0x94d5b
+	db $0, $53, ": Yo", $4f
+	db $52, "! Gramps", $55
+	db "isn't around!", $57
+; 0x94d5b + 30 bytes
+
+_OaksLabText40: ; 0x94d79
+	db $0, $53, ": Heh, I", $4f
+	db "don't need to be", $55
+	db "greedy like you!", $51
+	db "Go ahead and", $4f
+	db "choose, ", $52, "!", $57
+; 0x94d79 + 68 bytes
+
+_OaksLabText41: ; 0x94dbd
+	db $0, $53, ": My", $4f
+	db "#MON looks a", $55
+	db "lot stronger.", $57
+; 0x94dbd + 34 bytes
+
+_OaksLabText39: ; 0x94ddf
+	db $0
+	db "Those are #", $4f
+	db "BALLs. They", $55
+	db "contain #MON!", $57
+; 0x94e06
+
+_OaksLabCharmanderText: ; 0x94e06
+	db $0, "So! You want the", $4f
+	db "fire #MON,", $55
+	db "CHARMANDER?", $57
+; 0x94e2f
+
+_OaksLabSquirtleText: ; 0x94e2f
+	db $0, "So! You want the", $4f
+	db "water #MON,", $55
+	db "SQUIRTLE?", $57
+; 0x94e57
+
+_OaksLabBulbasaurText: ; 0x94e57
+	db $0, "So! You want the", $4f
+	db "plant #MON,", $55
+	db "BULBASAUR?", $57
+; 0x94e80
+
+_OaksLabMonEnergeticText: ; 0x94e80
+	db $0, "This #MON is", $4f
+	db "really energetic!", $58
+; 0x94ea0
+
+_OaksLabReceivedMonText: ; 0x94ea0
+	db $0, $52, " received", $4f
+	db "a @"
+	TX_RAM $cd6d
+	db $0, "!@@"
+; 0x94eb6
+
+_OaksLabLastMonText: ; 0x94eb6
+	db $0, "That's PROF.OAK's", $4f
+	db "last #MON!", $57
+; 0x94ed2
+
+_UnnamedText_1d2f0: ; 0x94ed2
+	db $0, "OAK: Now, ", $52, ",", $4f
+	db "which #MON do", $55
+	db "you want?", $57
+; 0x94ef8
+
+_UnnamedText_1d2f5: ; 0x94ef8
+	db $0, "OAK: If a wild", $4f
+	db "#MON appears,", $55
+	db "your #MON can", $55
+	db "fight against it!", $57
+; 0x94f36
+
+_UnnamedText_1d2fa: ; 0x94f36
+	db $0, "OAK: ", $52, ",", $4f
+	db "raise your young", $55
+	db "#MON by making", $55
+	db "it fight!", $57
+; 0x94f36 + 51 bytes
+
+_OaksLabDeliverParcelText1: ; 0x94f69
+	db $0, "OAK: Oh, ", $52, "!", $51
+	db "How is my old", $4f
+	db "#MON?", $51
+	db "Well, it seems to", $4f
+	db "like you a lot.", $51
+	db "You must be", $4f
+	db "talented as a", $55
+	db "#MON trainer!", $51
+	db "What? You have", $4f
+	db "something for me?", $51
+	db $52, " delivered", $4f
+	db "OAK's PARCEL.@@"
+; 0x94f69 + 166 bytes
+
+_OaksLabDeliverParcelText2: ; 0x9500f
+	db $0, $51
+	db "Ah! This is the", $4f
+	db "custom # BALL", $55
+	db "I ordered!", $55
+	db "Thank you!", $57
+; 0x9500f + 54 bytes
+
+_OaksLabAroundWorldText: ; 0x95045
+	db $0, "#MON around the", $4f
+	db "world wait for", $55
+	db "you, ", $52, "!", $57
+; 0x95045 + 40 bytes
+
+_OaksLabGivePokeballsText1: ; 0x9506d
+	db $0, "OAK: You can't get", $4f
+	db "detailed data on", $55
+	db "#MON by just", $55
+	db "seeing them.", $51
+	db "You must catch", $4f
+	db "them! Use these", $55
+	db "to capture wild", $55
+	db "#MON.", $51
+	db $52, " got 5", $4f
+	db "# BALLs!@@"
+; 0x9506d + 133 bytes
+
+_OaksLabGivePokeballsText2: ; 0x950f2
+	db $0, $51
+	db "When a wild", $4f
+	db "#MON appears,", $55
+	db "it's fair game.", $51
+	db "Just throw a #", $4f
+	db "BALL at it and try", $4f
+	db "to catch it!", $51
+	db "This won't always", $4f
+	db "work, though.", $51
+	db "A healthy #MON", $4f
+	db "could escape. You", $55
+	db "have to be lucky!", $57
+; 0x950f2 + 172 bytes
+
+_OaksLabPleaseVisitText: ; 0x9519e
+	db $0, "OAK: Come see me", $4f
+	db "sometimes.", $51
+	db "I want to know how", $4f
+	db "your #DEX is", $55
+	db "coming along.", $57
+; 0x9519e + 75 bytes
+
+_UnnamedText_1d31d: ; 0x951e9
+	db $0, "OAK: Good to see ", $4f
+	db "you! How is your ", $55
+	db "#DEX coming? ", $55
+	db "Here, let me take", $55
+	db "a look!", $58
+; 0x951e9 + 77 bytes
+
+_UnnamedText_1d32c: ; 0x95236
+	db $0, "It's encyclopedia-", $4f
+	db "like, but the", $55
+	db "pages are blank!", $57
+; 0x95236 + 50 bytes
+
+_OaksLabText8: ; 0x95268
+	db $0, "?", $57
+
+_UnnamedText_1d340: ; 0x9526b
+	db $0, "PROF.OAK is the", $4f
+	db "authority on", $55
+	db "#MON!", $51
+	db "Many #MON", $4f
+	db "trainers hold him", $55
+	db "in high regard!", $57
+; 0x9526b + 80 bytes
+
+_OaksLabRivalWaitingText: ; 0x952bb
+	db $0, $53, ": Gramps!", $4f
+	db "I'm fed up with", $55
+	db "waiting!", $57
+; 0x952bb + 36 bytes
+
+_OaksLabChooseMonText: ; 0x952df
+	db $0, "OAK: ", $53, "?", $4f
+	db "Let me think...", $51
+	db "Oh, that's right,", $4f
+	db "I told you to", $55
+	db "come! Just wait!", $51
+	db "Here, ", $52, "!", $51
+	db "There are 3", $4f
+	db "#MON here!", $51
+	db "Haha!", $51
+	db "They are inside", $4f
+	db "the # BALLs.", $51
+	db "When I was young,", $4f
+	db "I was a serious", $55
+	db "#MON trainer!", $51
+	db "In my old age, I", $4f
+	db "have only 3 left,", $55
+	db "but you can have", $55
+	db "one! Choose!", $57
+; 0x952df + 253 bytes
+
+_OaksLabRivalInterjectionText: ; 0x953dc
+	db $0, $53, ": Hey!", $4f
+	db "Gramps! What", $55
+	db "about me?", $57
+; 0x953dc + 32 bytes
+
+_OaksLabBePatientText: ; 0x953fc
+	db $0, "OAK: Be patient!", $4f
+	db $53, ", you can", $55
+	db "have one too!", $57
+; 0x953fc + 43 bytes
+
+_OaksLabLeavingText: ; 0x95427
+	db $0, "OAK: Hey! Don't go", $4f
+	db "away yet!", $57
+; 0x95427 + 29 bytes
+
+_OaksLabRivalPickingMonText: ; 0x95444
+	db $0, $53, ": I'll take", $4f
+	db "this one, then!", $57
+; 0x95444 + 29 bytes
+
+_OaksLabRivalReceivedMonText: ; 0x95461
+	db $0, $53, " received", $4f
+	db "a @"
+; 0x95470
+
+UnnamedText_95470: ; 0x95470
+	TX_RAM $cd6d
+	db $0, "!@@"
+; 0x95470 + 7 bytes
+
+_OaksLabRivalChallengeText: ; 0x95477
+	db $0, $53, ": Wait", $4f
+	db $52, "!", $55
+	db "Let's check out", $55
+	db "our #MON!", $51
+	db "Come on, I'll take", $4f
+	db "you on!", $57
+; 0x95477 + 63 bytes
+
+_UnnamedText_1d3be: ; 0x954b6
+	db $0, "WHAT?", $4f
+	db "Unbelievable!", $55
+	db "I picked the", $55
+	db "wrong #MON!", $58
+; 0x954b6 + 46 bytes
+
+_UnnamedText_1d3c3: ; 0x954e4
+	db $0, $53, ": Yeah! Am", $4f
+	db "I great or what?", $58
+; 0x954e4 + 30 bytes
+
+_OaksLabRivalToughenUpText: ; 0x95502
+	db $0, $53, ": Okay!", $4f
+	db "I'll make my", $55
+	db "#MON fight to", $55
+	db "toughen it up!", $51
+	db $52, "! Gramps!", $4f
+	db "Smell you later!", $57
+; 0x95502 + 79 bytes
+
+_OaksLabText21: ; 0x95551
+	db $0, $53, ": Gramps!", $57
+; 0x95551 + 12 bytes
+
+_OaksLabText22: ; 0x9555d
+	db $0, $53, ": What did", $4f
+	db "you call me for?", $57
+; 0x9555d + 30 bytes
+
+_OaksLabText23: ; 0x9557b
+	db $0, "OAK: Oh right! I", $4f
+	db "have a request", $55
+	db "of you two.", $57
+; 0x9557b + 45 bytes
+
+_OaksLabText24: ; 0x955a8
+	db $0, "On the desk there", $4f
+	db "is my invention,", $55
+	db "#DEX!", $51
+	db "It automatically", $4f
+	db "records data on", $55
+	db "#MON you've", $55
+	db "seen or caught!", $51
+	db "It's a hi-tech", $4f
+	db "encyclopedia!", $57
+; 0x955a8 + 130 bytes
+
+_OaksLabText25: ; 0x9562a
+	db $0, "OAK: ", $52, " and", $4f
+	db $53, "! Take", $55
+	db "these with you!", $51
+	db $52, " got", $4f
+	db "#DEX from OAK!@@"
+; 0x9562a + 58 bytes
+
+_OaksLabText26: ; 0x95664
+	db $0, "To make a complete", $4f
+	db "guide on all the", $55
+	db "#MON in the", $55
+	db "world...", $51
+	db "That was my dream!", $51
+	db "But, I'm too old!", $4f
+	db "I can't do it!", $51
+	db "So, I want you two", $4f
+	db "to fulfill my", $55
+	db "dream for me!", $51
+	db "Get moving, you", $4f
+	db "two!", $51
+	db "This is a great", $4f
+	db "undertaking in", $55
+	db "#MON history!", $57
+; 0x95664 + 221 bytes
+
+_OaksLabText27: ; 0x95741
+	db $0, $53, ": Alright", $4f
+	db "Gramps! Leave it", $55
+	db "all to me!", $51
+	db $52, ", I hate to", $4f
+	db "say it, but I", $55
+	db "don't need you!", $51
+	db "I know! I'll", $4f
+	db "borrow a TOWN MAP", $55
+	db "from my sis!", $51
+	db "I'll tell her not", $4f
+	db "to lend you one,", $55
+	db $52, "! Hahaha!", $57
+; 0x95741 + 170 bytes
+
+_UnnamedText_1d405: ; 0x957eb
+	db $0, "I study #MON as", $4f
+	db "PROF.OAK's AIDE.", $57
+; 0x957eb + 33 bytes
+
+_UnnamedText_441cc: ; 0x9580c
+	db $0, "#DEX comp-", $4f
+	db "letion is:", $51
+	db "@"
+; 0x9580c + 24 bytes
+
+UnnamedText_95824: ; 0x95824
+	TX_NUM $ffdb, 1, 3
+	db $0, " #MON seen", $4f
+	db "@"
+; 0x95835
+
+UnnamedText_95835: ; 0x95835
+	TX_NUM $ffdc, 1, 3
+	db $0, " #MON owned", $51
+	db "PROF.OAK's", $4f
+	db "Rating:", $58
+; 0x95858
+
+_UnnamedText_44201: ; 0x95858
+	db $0, "You still have", $4f
+	db "lots to do.", $55
+	db "Look for #MON", $55
+	db "in grassy areas!", $57
+; 0x95858 + 59 bytes
+
+_UnnamedText_44206: ; 0x95893
+	db $0, "You're on the", $4f
+	db "right track! ", $55
+	db "Get a FLASH HM", $55
+	db "from my AIDE!", $57
+; 0x95893 + 57 bytes
+
+_UnnamedText_4420b: ; 0x958cc
+	db $0, "You still need", $4f
+	db "more #MON!", $55
+	db "Try to catch", $55
+	db "other species!", $57
+; 0x958cc + 55 bytes
+
+_UnnamedText_44210: ; 0x95903
+	db $0, "Good, you're", $4f
+	db "trying hard!", $55
+	db "Get an ITEMFINDER", $55
+	db "from my AIDE!", $57
+; 0x95903 + 58 bytes
+
+_UnnamedText_44215: ; 0x9593d
+	db $0, "Looking good!", $4f
+	db "Go find my AIDE", $55
+	db "when you get 50!", $57
+; 0x9593d + 48 bytes
+
+_UnnamedText_4421a: ; 0x9596d
+	db $0, "You finally got at", $4f
+	db "least 50 species!", $55
+	db "Be sure to get", $55
+	db "EXP.ALL from my", $55
+	db "AIDE!", $57
+; 0x9596d + 75 bytes
+
+_UnnamedText_4421f: ; 0x959b8
+	db $0, "Ho! This is geting", $4f
+	db "even better!", $57
+; 0x959b8 + 33 bytes
+
+_UnnamedText_44224: ; 0x959d9
+	db $0, "Very good!", $4f
+	db "Go fish for some", $55
+	db "marine #MON!", $57
+; 0x959d9 + 42 bytes
+
+_UnnamedText_44229: ; 0x95a03
+	db $0, "Wonderful!", $4f
+	db "Do you like to", $55
+	db "collect things?", $57
+; 0x95a03 + 43 bytes
+
+_UnnamedText_4422e: ; 0x95a2e
+	db $0, "I'm impressed!", $4f
+	db "It must have been", $55
+	db "difficult to do!", $57
+; 0x95a2e + 50 bytes
+
+_UnnamedText_44233: ; 0x95a60
+	db $0, "You finally got at", $4f
+	db "least 100 species!", $55
+	db "I can't believe", $55
+	db "how good you are!", $57
+; 0x95a60 + 72 bytes
+
+_UnnamedText_44238: ; 0x95aa8
+	db $0, "You even have the", $4f
+	db "evolved forms of", $55
+	db "#MON! Super!", $57
+; 0x95aa8 + 49 bytes
+
+_UnnamedText_4423d: ; 0x95ad9
+	db $0, "Excellent! Trade", $4f
+	db "with friends to", $55
+	db "get some more!", $57
+; 0x95ad9 + 49 bytes
+
+_UnnamedText_44242: ; 0x95b0a
+	db $0, "Outstanding!", $4f
+	db "You've become a", $55
+	db "real pro at this!", $57
+; 0x95b0a + 47 bytes
+
+_UnnamedText_44247: ; 0x95b39
+	db $0, "I have nothing", $4f
+	db "left to say!", $55
+	db "You're the", $55
+	db "authority now!", $57
+; 0x95b39 + 54 bytes
+
+_UnnamedText_4424c: ; 0x95b6f
+	db $0, "Your #DEX is", $4f
+	db "entirely complete!", $55
+	db "Congratulations!", $57
+; 0x95b6f + 50 bytes
+
+_ViridianPokeCenterText2: ; 0x95ba1
+_ViridianPokeCenterText1: ; 0x95ba1
+	db $0, "You can use that", $4f
+	db "PC in the corner.", $51
+	db "The receptionist", $4f
+	db "told me. So kind!", $57
+
+_ViridianPokeCenterText3: ; 0x95be8
+	db $0, "There's a #MON", $4f
+	db "CENTER in every", $55
+	db "town ahead.", $51
+	db "They don't charge", $4f
+	db "any money either!", $57
+
+_ViridianMartText1: ; 0x95c36
+	db $0, "Okay! Say hi to", $4f
+	db "PROF.OAK for me!", $57
+
+_UnnamedText_1d4f5: ; 0x95c58
+	db $0, "Hey! You came from", $4f
+	db "PALLET TOWN?", $57
+; 0x95c58 + 33 bytes
+
+ViridianMartParcelQuestText: ; 0x95c79
+	db $0, "You know PROF.", $4f
+	db "OAK, right?", $51
+	db "His order came in.", $4f
+	db "Will you take it", $55
+	db "to him?", $51
+	db $52, " got", $4f
+	db "OAK's PARCEL!@@"
+; 0x95c79 + 92 bytes
+
+_ViridianMartText2: ; 0x95cd5
+	db $0, "This shop sells", $4f
+	db "many ANTIDOTEs.", $57
+
+_ViridianMartText3: ; 0x95cf6
+	db $0, "No! POTIONs are", $4f
+	db "all sold out.", $57
+
+_SchoolText1: ; 0x95d15
+	db $0, "Whew! I'm trying", $4f
+	db "to memorize all", $55
+	db "my notes.", $57
+
+_SchoolText2: ; 0x95d40
+	db $0, "Okay!", $51
+	db "Be sure to read", $4f
+	db "the blackboard", $55
+	db "carefully!", $57
+
+_ViridianHouseText1: ; 0x95d71
+	db $0, "Coming up with", $4f
+	db "nicknames is fun,", $55
+	db "but hard.", $51
+	db "Simple names are", $4f
+	db "the easiest to", $55
+	db "remember.", $57
+
+_ViridianHouseText2: ; 0x95dc7
+	db $0, "My Daddy loves", $4f
+	db "#MON too.", $57
+
+_UnnamedText_1d5b1: ; 0x95de1
+	db $0, "SPEARY: Tetweet!", $57
+; 0x95de1 + 18 bytes
+
+_ViridianHouseText4: ; 0x95df3
+	db $0, "SPEAROW", $4f
+	db "Name: SPEARY", $57
+
+_UnnamedText_74ace: ; 0x95e09
+	db $0, "Fwahahaha! This is", $4f
+	db "my hideout!", $51
+	db "I planned to", $4f
+	db "resurrect TEAM", $55
+	db "ROCKET here!", $51
+	db "But, you have", $4f
+	db "caught me again!", $55
+	db "So be it! This", $55
+	db "time, I'm not", $55
+	db "holding back!", $51
+	db "Once more, you", $4f
+	db "shall face", $55
+	db "GIOVANNI, the", $55
+	db "greatest trainer!", $57
+; 0x95e09 + 204 bytes
+
+_UnnamedText_74ad3: ; 0x95ed5
+	db $0, "Ha!", $4f
+	db "That was a truly", $55
+	db "intense fight!", $55
+	db "You have won!", $55
+	db "As proof, here is", $55
+	db "the EARTHBADGE!@@"
+; 0x95ed5 + 85 bytes
+
+_UnnamedText_74ad9: ; 0x95f2b
+	db $0, "Having lost, I", $4f
+	db "cannot face my", $55
+	db "underlings!", $55
+	db "TEAM ROCKET is", $55
+	db "finished forever!", $51
+	db "I will dedicate my", $4f
+	db "life to the study", $55
+	db "of #MON!", $51
+	db "Let us meet again", $4f
+	db "some day!", $55
+	db "Farewell!@@"
+; 0x95f2b + 160 bytes
+
+_ViridianGymText12: ; 0x95fcc
+	db $0, "The EARTHBADGE", $4f
+	db "makes #MON of", $55
+	db "any level obey!", $51
+	db "It is evidence of", $4f
+	db "your mastery as a", $55
+	db "#MON trainer!", $51
+	db "With it, you can", $4f
+	db "enter the #MON", $55
+	db "LEAGUE!", $51
+	db "It is my gift for", $4f
+	db "your #MON", $55
+	db "LEAGUE challenge!", $57
+; 0x95fcc + 182 bytes
+
+ReceivedTM27Text: ; 0x96082
+_UnnamedText_74ae4:
+	db $0, $52, " received", $4f
+	db "TM27!@@"
+; 0x96082 + 19 bytes
+
+_UnnamedText_74ae9: ; 0x96095
+	db $0, $51
+	db "TM27 is FISSURE!", $4f
+	db "It will take out", $55
+	db "#MON with just", $55
+	db "one hit!", $51
+	db "I made it when I", $4f
+	db "ran the GYM here,", $55
+	db "too long ago...", $57
+; 0x96095 + 111 bytes
+
+_UnnamedText_74aee: ; 0x96104
+	db $0, "You do not have", $4f
+	db "space for this!", $57
+; 0x96104 + 33 bytes
+
+_UnnamedText_74afd: ; 0x96125
+	db $0, "Heh! You must be", $4f
+	db "running out of", $55
+	db "steam by now!", $57
+; 0x96125 + 47 bytes
+
+_UnnamedText_74b02: ; 0x96154
+	db $0, "I", $4f
+	db "ran out of gas!", $58
+; 0x96154 + 19 bytes
+
+_UnnamedText_74b07: ; 0x96167
+	db $0, "You need power to", $4f
+	db "keep up with our", $55
+	db "GYM LEADER!", $57
+; 0x96167 + 48 bytes
+
+_UnnamedText_74b16: ; 0x96197
+	db $0, "Rrrroar! I'm", $4f
+	db "working myself", $55
+	db "into a rage!", $57
+; 0x96197 + 41 bytes
+
+_UnnamedText_74b1b: ; 0x961c0
+	db $0, "Wargh!", $58
+; 0x961c0 + 8 bytes
+
+_UnnamedText_74b20: ; 0x961c8
+	db $0, "I'm still not", $4f
+	db "worthy!", $57
+; 0x961c8 + 22 bytes
+
+_UnnamedText_74b2f: ; 0x961de
+	db $0, "#MON and I, we", $4f
+	db "make wonderful", $55
+	db "music together!", $57
+; 0x961de + 47 bytes
+
+_UnnamedText_74b34: ; 0x9620d
+	db $0, "You are in", $4f
+	db "perfect harmony!", $58
+; 0x9620d + 29 bytes
+
+_UnnamedText_74b39: ; 0x9622a
+	db $0, "Do you know the", $4f
+	db "identity of our", $55
+	db "GYM LEADER?", $57
+; 0x9622a + 45 bytes
+
+_UnnamedText_74b48: ; 0x96257
+	db $0, "Karate is the", $4f
+	db "ultimate form of", $55
+	db "martial arts!", $57
+; 0x96257 + 46 bytes
+
+_UnnamedText_74b4d: ; 0x96285
+	db $0, "Atcho!", $58
+; 0x96285 + 8 bytes
+
+_UnnamedText_74b52: ; 0x9628d
+	db $0, "If my #MON", $4f
+	db "were as good at", $55
+	db "Karate as I...", $57
+; 0x9628d + 43 bytes
+
+_UnnamedText_74b61: ; 0x962b8
+	db $0, "The truly talented", $4f
+	db "win with style!", $57
+; 0x962b8 + 36 bytes
+
+_UnnamedText_74b66: ; 0x962dc
+	db $0, "I", $4f
+	db "lost my grip!", $58
+; 0x962dc + 17 bytes
+
+_UnnamedText_74b6b: ; 0x962ed
+	db $0, "The LEADER will", $4f
+	db "scold me!", $57
+; 0x962ed + 27 bytes
+
+_UnnamedText_74b7a: ; 0x96308
+	db $0, "I'm the KARATE", $4f
+	db "KING! Your fate", $55
+	db "rests with me!", $57
+; 0x96308 + 46 bytes
+
+_UnnamedText_74b7f: ; 0x96336
+	db $0, "Ayah!", $58
+; 0x96336 + 7 bytes
+
+_UnnamedText_74b84: ; 0x9633d
+	db $0, "#MON LEAGUE?", $4f
+	db "You? Don't get", $55
+	db "cocky!", $57
+; 0x9633d + 35 bytes
+
+_UnnamedText_74b93: ; 0x96360
+	db $0, "Your #MON will", $4f
+	db "cower at the", $55
+	db "crack of my whip!", $57
+; 0x96360 + 47 bytes
+
+_UnnamedText_74b98: ; 0x9638f
+	db $0, "Yowch!", $4f
+	db "Whiplash!", $58
+; 0x9638f + 18 bytes
+
+_UnnamedText_74b9d: ; 0x963a1
+	db $0, "Wait! I was just", $4f
+	db "careless!", $57
+; 0x963a1 + 28 bytes
+
+_UnnamedText_74bac: ; 0x963bd
+	db $0, "VIRIDIAN GYM was", $4f
+	db "closed for a long", $55
+	db "time, but now our", $55
+	db "LEADER is back!", $57
+; 0x963bd + 70 bytes
+
+_UnnamedText_74bb1: ; 0x96403
+	db $0, "I", $4f
+	db "was beaten?", $58
+; 0x96403 + 15 bytes
+
+_UnnamedText_74bb6: ; 0x96412
+	db $0, "You can go onto", $4f
+	db "#MON LEAGUE", $55
+	db "only by defeating", $55
+	db "our GYM LEADER!", $57
+; 0x96412 + 63 bytes
+
+_UnnamedText_74bd4: ; 0x96451
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "Even I don't know", $4f
+	db "VIRIDIAN LEADER's", $55
+	db "identity!", $51
+	db "This will be the", $4f
+	db "toughest of all", $55
+	db "the GYM LEADERs!", $51
+	db "I heard that the", $4f
+	db "trainers here", $55
+	db "like ground-type", $55
+	db "#MON!", $57
+; 0x96451 + 170 bytes
+
+_UnnamedText_74bd9: ; 0x964fb
+	db $0, "Blow me away!", $4f
+	db "GIOVANNI was the", $55
+	db "GYM LEADER here?", $57
+; 0x964fb + 49 bytes
+
+_UnnamedText_5c21a: ; 0x9652c
+	db $0, "Come again!", $57
+; 0x9652c + 13 bytes
+
+_UnnamedText_5c21f: ; 0x96539
+	db $0, "It's ", $f0, "50 for a", $4f
+	db "child's ticket.", $51
+	db "Would you like to", $4f
+	db "come in?", $57
+; 0x96539 + 57 bytes
+
+_UnnamedText_5c224: ; 0x96572
+	db $0, "Right, ", $f0, "50!", $4f
+	db "Thank you!", $57
+; 0x96572 + 24 bytes
+
+_UnnamedText_5c229: ; 0x9658a
+	db $0, "You don't have", $4f
+	db "enough money.", $58
+; 0x9658a + 29 bytes
+
+_UnnamedText_5c22e: ; 0x965a7
+	db $0, "You can't sneak", $4f
+	db "in the back way!", $51
+	db "Oh, whatever!", $4f
+	db "Do you know what", $55
+	db "AMBER is?", $57
+; 0x965a7 + 74 bytes
+
+_UnnamedText_5c233: ; 0x965f1
+	db $0, "There's a lab", $4f
+	db "somewhere trying", $55
+	db "to resurrect", $55
+	db "ancient #MON", $55
+	db "from AMBER.", $57
+; 0x965f1 + 69 bytes
+
+_UnnamedText_5c238: ; 0x96636
+	db $0, "AMBER is fossil-", $4f
+	db "ized tree sap.", $57
+; 0x96636 + 33 bytes
+
+_UnnamedText_5c23d: ; 0x96657
+	db $0, "Please go to the", $4f
+	db "other side!", $57
+; 0x96657 + 30 bytes
+
+_UnnamedText_5c242: ; 0x96675
+	db $0, "Take plenty of", $4f
+	db "time to look!", $57
+; 0x96675 + 30 bytes
+
+_UnnamedText_5c251: ; 0x96693
+	db $0, "That is one", $4f
+	db "magnificent", $55
+	db "fossil!", $57
+; 0x96693 + 33 bytes
+
+_UnnamedText_5c28e: ; 0x966b4
+	db $0, "Ssh! I think that", $4f
+	db "this chunk of", $55
+	db "AMBER contains", $55
+	db "#MON DNA!", $51
+	db "It would be great", $4f
+	db "if #MON could", $55
+	db "be resurrected", $55
+	db "from it!", $51
+	db "But, my colleagues", $4f
+	db "just ignore me!", $51
+	db "So I have a favor", $4f
+	db "to ask!", $51
+	db "Take this to a", $4f
+	db "#MON LAB and", $55
+	db "get it examined!", $58
+; 0x966b4 + 220 bytes
+
+_ReceivedOldAmberText: ; 0x96790
+	db $0, $52, " received", $4f
+	db "OLD AMBER!@@"
+; 0x96790 + 24 bytes
+
+_UnnamedText_5c299: ; 0x967a8
+	db $0, "Ssh! Get the OLD", $4f
+	db "AMBER checked!", $57
+; 0x967a8 + 33 bytes
+
+_UnnamedText_5c29e: ; 0x967c9
+	db $0, "You don't have", $4f
+	db "space for this!", $57
+; 0x967c9 + 31 bytes
+
+_UnnamedText_5c2ad: ; 0x967e8
+	db $0, "We are proud of 2", $4f
+	db "fossils of very", $55
+	db "rare, prehistoric", $55
+	db "#MON!", $57
+; 0x967e8 + 59 bytes
+
+_UnnamedText_5c2bc: ; 0x96823
+	db $0, "The AMBER is", $4f
+	db "clear and gold!", $57
+; 0x96823 + 30 bytes
+
+_MuseumF2Text1: ; 0x96841
+	db $0, "MOON STONE?", $51
+	db "What's so special", $4f
+	db "about it?", $57
+
+_MuseumF2Text2: ; 0x96869
+	db $0, "July 20, 1969!", $51
+	db "The 1st lunar", $4f
+	db "landing!", $51
+	db "I bought a color", $4f
+	db "TV to watch it!", $57
+
+_MuseumF2Text3: ; 0x968b1
+	db $0, "We have a space", $4f
+	db "exhibit now.", $57
+
+_MuseumF2Text4: ; 0x968cf
+	db $0, "I want a PIKACHU!", $4f
+	db "It's so cute!", $51
+	db "I asked my Daddy", $4f
+	db "to catch me one!", $57
+
+_MuseumF2Text5: ; 0x96911
+	db $0, "Yeah, a PIKACHU", $4f
+	db "soon, I promise!", $57
+
+_MuseumF2Text6: ; 0x96933
+	db $0, "SPACE SHUTTLE", $4f
+	db "COLUMBIA", $57
+
+_MuseumF2Text7: ; 0x9694b
+	db $0, "Meteorite that", $4f
+	db "fell on MT.MOON.", $55
+	db "(MOON STONE?)", $57
+
+_UnnamedText_5c49e: ; 0x9697a
+	db $0, "I'm BROCK!", $4f
+	db "I'm PEWTER's GYM", $55
+	db "LEADER!", $51
+	db "I believe in rock", $4f
+	db "hard defense and", $55
+	db "determination!", $51
+	db "That's why my", $4f
+	db "#MON are all", $55
+	db "the rock-type!", $51
+	db "Do you still want", $4f
+	db "to challenge me?", $55
+	db "Fine then! Show", $55
+	db "me your best!", $57
+; 0x9697a + 190 bytes
+
+SECTION "bank26",DATA,BANK[$26]
+
+_UnnamedText_5c4a3: ; 0x98000
+	db $0, "There are all", $4f
+	db "kinds of trainers", $55
+	db "in the world!", $51
+	db "You appear to be", $4f
+	db "very gifted as a", $55
+	db "#MON trainer!", $51
+	db "Go to the GYM in", $4f
+	db "CERULEAN and test", $55
+	db "your abilities!", $57
+; 0x98000 + 146 bytes
+
+_UnnamedText_5c4a8: ; 0x98092
+	db $0, "Wait! Take this", $4f
+	db "with you!", $57
+; 0x98092 + 27 bytes
+
+_ReceivedTM34Text: ; 0x980ad
+	db $0, $52, " received", $4f
+	db "TM34!@@"
+; 0x980c0
+
+_UnnamedText_5c4b2: ; 0x980c0
+	db $0, $51
+	db "A TM contains a", $4f
+	db "technique that", $55
+	db "can be taught to", $55
+	db "#MON!", $51
+	db "A TM is good only", $4f
+	db "once! So when you", $55
+	db "use one to teach", $55
+	db "a new technique,", $55
+	db "pick the #MON", $55
+	db "carefully!", $51
+	db "TM34 contains", $4f
+	db "BIDE!", $51
+	db "Your #MON will", $4f
+	db "absorb damage in", $55
+	db "battle then pay", $55
+	db "it back double!", $57
+; 0x980c0 + 235 bytes
+
+_UnnamedText_5c4b7: ; 0x981ab
+	db $0, "You don't have", $4f
+	db "room for this!", $57
+; 0x981ab + 30 bytes
+
+_UnnamedText_5c4bc: ; 0x981c9
+	db $0, "I took", $4f
+	db "you for granted.", $51
+	db "As proof of your", $4f
+	db "victory, here's", $55
+	db "the BOULDERBADGE!", $51
+	db $52, " received", $4f
+	db "the BOULDERBADGE!@@"
+; 0x98232
+
+_UnnamedText_5c4c1: ; 0x98232
+	db $0, $51
+	db "That's an official", $4f
+	db "#MON LEAGUE", $55
+	db "BADGE!", $51
+	db "Its bearer's", $4f
+	db "#MON become", $55
+	db "more powerful!", $51
+	db "The technique", $4f
+	db "FLASH can now be", $55
+	db "used any time!", $58
+; 0x98232 + 124 bytes
+
+_UnnamedText_5c4d0: ; 0x982ae
+	db $0, "Stop right there,", $4f
+	db "kid!", $51
+	db "You're still light", $4f
+	db "years from facing", $55
+	db "BROCK!", $57
+; 0x982ae + 67 bytes
+
+_UnnamedText_5c4d5: ; 0x982f1
+	db $0, "Darn!", $51
+	db "Light years isn't", $4f
+	db "time! It measures", $55
+	db "distance!", $58
+; 0x982f1 + 52 bytes
+
+_UnnamedText_5c4da: ; 0x98325
+	db $0, "You're pretty hot,", $4f
+	db "but not as hot", $55
+	db "as BROCK!", $57
+; 0x98325 + 44 bytes
+
+_UnnamedText_5c515: ; 0x98351
+	db $0, "Hiya! I can tell", $4f
+	db "you have what it", $55
+	db "takes to become a", $55
+	db "#MON champ!", $51
+	db "I'm no trainer,", $4f
+	db "but I can tell", $55
+	db "you how to win!", $51
+	db "Let me take you", $4f
+	db "to the top!", $57
+; 0x98351 + 139 bytes
+
+_UnnamedText_5c51a: ; 0x983dc
+	db $0, "All right! Let's", $4f
+	db "get happening!", $58
+; 0x983dc + 32 bytes
+
+_UnnamedText_5c51f: ; 0x983fc
+	db $0, "The 1st #MON", $4f
+	db "out in a match is", $55
+	db "at the top of the", $55
+	db "#MON LIST!", $51
+	db "By changing the", $4f
+	db "order of #MON,", $55
+	db "matches could be", $55
+	db "made easier!", $57
+; 0x983fc + 122 bytes
+
+_UnnamedText_5c524: ; 0x98476
+	db $0, "It's a free", $4f
+	db "service! Let's", $55
+	db "get happening!", $58
+; 0x98476 + 41 bytes
+
+_UnnamedText_5c529: ; 0x9849f
+	db $0, "Just as I thought!", $4f
+	db "You're #MON", $55
+	db "champ material!", $57
+; 0x9849f + 47 bytes
+
+_PewterHouse1Text1: ; 0x984ce
+	db $0, "NIDORAN: Bowbow!@@"
+
+_PewterHouse1Text2: ; 0x984e1
+	db $0, "NIDORAN sit!", $57
+
+_PewterHouse1Text3: ; 0x984ef
+	db $0, "Our #MON's an", $4f
+	db "outsider, so it's", $55
+	db "hard to handle.", $51
+	db "An outsider is a", $4f
+	db "#MON that you", $55
+	db "get in a trade.", $51
+	db "It grows fast, but", $4f
+	db "it may ignore an", $55
+	db "unskilled trainer", $55
+	db "in battle!", $51
+	db "If only we had", $4f
+	db "some BADGEs...", $57
+
+_UnnamedText_74cc6: ; 0x985ac
+	db $0, "A shady, old man", $4f
+	db "got me to buy", $55
+	db "this really weird", $55
+	db "fish #MON!", $51
+	db "It's totally weak", $4f
+	db "and it cost ", $f0, "500!", $57
+; 0x985ac + 96 bytes
+
+_UnnamedText_74cd5: ; 0x9860c
+	db $0, "Good things can", $4f
+	db "happen if you", $55
+	db "raise #MON", $55
+	db "diligently, even", $55
+	db "the weak ones!", $57
+; 0x9860c + 74 bytes
+
+_PewterHouse2Text1: ; 0x98656
+	db $0, "#MON learn new", $4f
+	db "techniques as", $55
+	db "they grow!", $51
+	db "But, some moves", $4f
+	db "must be taught by", $55
+	db "the trainer!", $57
+
+_PewterHouse2Text2: ; 0x986ae
+	db $0, "#MON become", $4f
+	db "easier to catch", $55
+	db "when they are", $55
+	db "hurt or asleep!", $51
+	db "But, it's not a", $4f
+	db "sure thing!", $57
+
+_PewterPokecenterText1: ; 0x98704
+	db $0, "What!?", $51
+	db "TEAM ROCKET is", $4f
+	db "at MT.MOON? Huh?", $55
+	db "I'm on the phone!", $51
+	db "Scram!", $57
+
+_PewterPokecenterText5: ; 0x98744
+	db $0, "JIGGLYPUFF: Puu", $4f
+	db "pupuu!", $57
+; 0x9875c
+
+_UnnamedText_1d6ab: ; 0x9875c
+	db $0, "Those miserable", $4f
+	db "ROCKETs!", $51
+	db "Look what they", $4f
+	db "did here!", $51
+	db "They stole a TM", $4f
+	db "for teaching", $55
+	db "#MON how to", $55
+	db "DIG holes!", $51
+	db "That cost me a", $4f
+	db "bundle, it did!", $57
+; 0x9875c + 134 bytes
+
+_UnnamedText_1d6b0: ; 0x987e2
+	db $0, "I figure what's", $4f
+	db "lost is lost!", $51
+	db "I decided to teach", $4f
+	db "DIGLETT how to", $55
+	db "DIG without a TM!", $57
+; 0x987e2 + 82 bytes
+
+_CeruleanHouseTrashedText2: ; 0x98834
+	db $0, "TEAM ROCKET must", $4f
+	db "be trying to DIG", $55
+	db "their way into no", $55
+	db "good!", $57
+
+_CeruleanHouseTrashedText3: ; 0x9886f
+	db $0, "TEAM ROCKET left", $4f
+	db "a way out!", $57
+
+_CeruleanHouse2Text1: ; 0x9888c
+	db $0, "My husband likes", $4f
+	db "trading #MON.", $51
+	db "If you are a", $4f
+	db "collector, would", $55
+	db "you please trade", $55
+	db "with him?", $57
+
+_CeruleanPokecenterText1: ; 0x988e5
+	db $0, "That BILL!", $51
+	db "I heard that", $4f
+	db "he'll do whatever", $55
+	db "it takes to get", $55
+	db "rare #MON!", $57
+
+_CeruleanPokecenterText3: ; 0x9892a
+	db $0, "Have you heard", $4f
+	db "about BILL?", $51
+	db "Everyone calls", $4f
+	db "him a #MANIAC!", $51
+	db "I think people", $4f
+	db "are just jealous", $55
+	db "of BILL, though.", $51
+	db "Who wouldn't want", $4f
+	db "to boast about", $55
+	db "their #MON?", $57
+
+_UnnamedText_5c7be: ; 0x989c1
+	db $0, "Hi, you're a new", $4f
+	db "face!", $51
+	db "Trainers who want", $4f
+	db "to turn pro have", $55
+	db "to have a policy", $55
+	db "about #MON!", $51
+	db "What is your", $4f
+	db "approach when you", $55
+	db "catch #MON?", $51
+	db "My policy is an", $4f
+	db "all-out offensive", $55
+	db "with water-type", $55
+	db "#MON!", $57
+; 0x989c1 + 186 bytes
+
+_UnnamedText_5c7c3: ; 0x98a7b
+	db $0, "TM11 teaches", $4f
+	db "BUBBLEBEAM!", $51
+	db "Use it on an", $4f
+	db "aquatic #MON!", $57
+; 0x98a7b + 53 bytes
+
+_UnnamedText_5c7c8: ; 0x98ab0
+	db $0, "The CASCADEBADGE", $4f
+	db "makes all #MON", $55
+	db "up to L30 obey!", $51
+	db "That includes", $4f
+	db "even outsiders!", $51
+	db "There's more, you", $4f
+	db "can now use CUT", $55
+	db "any time!", $51
+	db "You can CUT down", $4f
+	db "small bushes to", $55
+	db "open new paths!", $51
+	db "You can also have", $4f
+	db "my favorite TM!", $57
+; 0x98ab0 + 205 bytes
+
+_ReceivedTM11Text: ; 0x98b7d
+	db $0, $52, " received", $4f
+	db "TM11!@@"
+; 0x98b90
+
+_UnnamedText_5c7d3: ; 0x98b90
+	db $0, "You better make", $4f
+	db "room for this!", $57
+; 0x98b90 + 32 bytes
+
+_UnnamedText_5c7d8: ; 0x98bb0
+	db $0, "Wow!", $4f
+	db "You're too much!", $51
+	db "All right!", $51
+	db "You can have the", $4f
+	db "CASCADEBADGE to", $55
+	db "show you beat me!@@"
+; 0x98c05
+
+_UnnamedText_5c7e9: ; 0x98c05
+	db $0, "I'm more than good", $4f
+	db "enough for you!", $51
+	db "MISTY can wait!", $57
+; 0x98c05 + 51 bytes
+
+_UnnamedText_5c7ee: ; 0x98c38
+	db $0, "You", $4f
+	db "overwhelmed me!", $58
+; 0x98c38 + 21 bytes
+
+_UnnamedText_5c7f3: ; 0x98c4d
+	db $0, "You have to face", $4f
+	db "other trainers to", $55
+	db "find out how good", $55
+	db "you really are.", $57
+; 0x98c4d + 70 bytes
+
+_UnnamedText_5c802: ; 0x98c93
+	db $0, "Splash!", $51
+	db "I'm first up!", $4f
+	db "Let's do it!", $57
+; 0x98c93 + 34 bytes
+
+_UnnamedText_5c807: ; 0x98cb5
+	db $0, "That", $4f
+	db "can't be!", $58
+; 0x98cb5 + 15 bytes
+
+_UnnamedText_5c80c: ; 0x98cc4
+	db $0, "MISTY is going to", $4f
+	db "keep improving!", $51
+	db "She won't lose to", $4f
+	db "someone like you!", $57
+; 0x98cc4 + 70 bytes
+
+_UnnamedText_5c82a: ; 0x98d0a
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "Here's my advice!", $51
+	db "The LEADER, MISTY,", $4f
+	db "is a pro who uses", $55
+	db "water #MON!", $51
+	db "You can drain all", $4f
+	db "their water with", $55
+	db "plant #MON!", $51
+	db "Or, zap them with", $4f
+	db "electricity!", $57
+; 0x98d0a + 166 bytes
+
+_UnnamedText_5c82f: ; 0x98db0
+	db $0, "You beat MISTY!", $4f
+	db "What'd I tell ya?", $51
+	db "You and me kid,", $4f
+	db "we make a pretty", $55
+	db "darn good team!", $57
+; 0x98db0 + 83 bytes
+
+_UnnamedText_1d810: ; 0x98e03
+	db $0, "Hi! Welcome to", $4f
+	db "our BIKE SHOP.", $51
+	db "Have we got just", $4f
+	db "the BIKE for you!", $58
+; 0x98e03 + 66 bytes
+
+_UnnamedText_1d815: ; 0x98e45
+	db $0, "It's a cool BIKE!", $4f
+	db "Do you want it?", $57
+; 0x98e45 + 34 bytes
+
+_UnnamedText_1d81a: ; 0x98e67
+	db $0, "Sorry! You can't", $4f
+	db "afford it!", $58
+; 0x98e67 + 28 bytes
+
+_UnnamedText_1d81f: ; 0x98e83
+	db $0, "Oh, that's...", $51
+	db "A BIKE VOUCHER!", $51
+	db "OK! Here you go!", $58
+; 0x98e83 + 47 bytes
+
+_UnnamedText_1d824: ; 0x98eb2
+	db $0, $52, " exchanged", $4f
+	db "the BIKE VOUCHER", $55
+	db "for a BICYCLE.@@"
+; 0x98ee0
+
+_UnnamedText_1d82a: ; 0x98ee0
+	db $0, "Come back again", $4f
+	db "some time!", $57
+; 0x98ee0 + 28 bytes
+
+_UnnamedText_1d82f: ; 0x98efc
+	db $0, "How do you like", $4f
+	db "your new BICYCLE?", $51
+	db "You can take it", $4f
+	db "on CYCLING ROAD", $55
+	db "and in caves!", $57
+; 0x98efc + 81 bytes
+
+_UnnamedText_1d834: ; 0x98f4d
+	db $0, "You better make", $4f
+	db "room for this!", $57
+; 0x98f4d + 32 bytes
+
+_UnnamedText_1d843: ; 0x98f6d
+	db $0, "A plain city BIKE", $4f
+	db "is good enough", $55
+	db "for me!", $51
+	db "You can't put a", $4f
+	db "shopping basket", $55
+	db "on an MTB!", $57
+; 0x98f6d + 84 bytes
+
+_UnnamedText_1d85c: ; 0x98fc1
+	db $0, "These BIKEs are", $4f
+	db "cool, but they're", $55
+	db "way expensive!", $57
+; 0x98fc1 + 49 bytes
+
+_UnnamedText_1d861: ; 0x98ff2
+	db $0, "Wow. Your BIKE is", $4f
+	db "really cool!", $57
+; 0x98ff2 + 32 bytes
+
+_CeruleanMartText2: ; 0x99012
+	db $0, "Use REPEL to keep", $4f
+	db "bugs and weak", $55
+	db "#MON away.", $51
+	db "Put your strongest", $4f
+	db "#MON at the", $55
+	db "top of the list", $55
+	db "for best results!", $57
+
+_CeruleanMartText3: ; 0x9907f
+	db $0, "Have you seen any", $4f
+	db "RARE CANDY?", $51
+	db "It's supposed to", $4f
+	db "make #MON go", $55
+	db "up one level!", $57
+
+_UnnamedText_74e77: ; 0x990c9
+	db $0, "#MON BADGEs", $4f
+	db "are owned only by", $55
+	db "skilled trainers.", $51
+	db "I see you have", $4f
+	db "at least one.", $51
+	db "Those BADGEs have", $4f
+	db "amazing secrets!", $58
+; 0x990c9 + 113 bytes
+
+_UnnamedText_74e7c: ; 0x9913a
+	db $0, "Now then...", $51
+	db "Which of the 8", $4f
+	db "BADGEs should I", $55
+	db "describe?", $57
+; 0x9913a + 54 bytes
+
+_UnnamedText_74e81: ; 0x99170
+	db $0, "Come visit me any", $4f
+	db "time you wish.", $57
+; 0x99170 + 34 bytes
+
+_UnnamedText_74e96: ; 0x99192
+	db $0, "The ATTACK of all", $4f
+	db "#MON increases", $55
+	db "a little bit.", $51
+	db "It also lets you", $4f
+	db "use FLASH any", $55
+	db "time you desire.", $58
+; 0x99192 + 96 bytes
+
+_UnnamedText_74e9b: ; 0x991f2
+	db $0, "#MON up to L30", $4f
+	db "will obey you.", $51
+	db "Any higher, they", $4f
+	db "become unruly!", $51
+	db "It also lets you", $4f
+	db "use CUT outside", $55
+	db "of battle.", $58
+; 0x991f2 + 107 bytes
+
+_UnnamedText_74ea0: ; 0x9925d
+	db $0, "The SPEED of all", $4f
+	db "#MON increases", $55
+	db "a little bit.", $51
+	db "It also lets you", $4f
+	db "use FLY outside", $55
+	db "of battle.", $58
+; 0x9925d + 91 bytes
+
+_UnnamedText_74ea5: ; 0x992b8
+	db $0, "#MON up to L50", $4f
+	db "will obey you.", $51
+	db "Any higher, they", $4f
+	db "become unruly!", $51
+	db "It also lets you", $4f
+	db "use STRENGTH out-", $55
+	db "side of battle.", $58
+; 0x992b8 + 114 bytes
+
+_UnnamedText_74eaa: ; 0x9932a
+	db $0, "The DEFENSE of all", $4f
+	db "#MON increases", $55
+	db "a little bit.", $51
+	db "It also lets you", $4f
+	db "use SURF outside", $55
+	db "of battle.", $58
+; 0x9932a + 94 bytes
+
+_UnnamedText_74eaf: ; 0x99388
+	db $0, "#MON up to L70", $4f
+	db "will obey you.", $51
+	db "Any higher, they", $4f
+	db "become unruly!", $58
+; 0x99388 + 63 bytes
+
+_UnnamedText_74eb4: ; 0x993c7
+	db $0, "Your #MON's", $4f
+	db "SPECIAL abilities", $55
+	db "increase a bit.", $58
+; 0x993c7 + 46 bytes
+
+_UnnamedText_74eb9: ; 0x993f5
+	db $0, "All #MON will", $4f
+	db "obey you!", $58
+; 0x993f5 + 25 bytes
+
+_LavenderPokecenterText4:
+_LavenderPokecenterText2:
+_LavenderPokecenterText1: ; 0x9940e
+	db $0, "TEAM ROCKET will", $4f
+	db "do anything for", $55
+	db "the sake of gold!", $57
+
+_LavenderPokecenterText3: ; 0x99442
+	db $0, "I saw CUBONE's", $4f
+	db "mother die trying", $55
+	db "to escape from", $55
+	db "TEAM ROCKET!", $57
+
+_PokemonTower1Text1: ; 0x9947f
+	db $0, "#MON TOWER was", $4f
+	db "erected in the", $55
+	db "memory of #MON", $55
+	db "that had died.", $57
+
+_PokemonTower1Text2: ; 0x994bc
+	db $0, "Did you come to", $4f
+	db "pay respects?", $55
+	db "Bless you!", $57
+
+_PokemonTower1Text3: ; 0x994e6
+	db $0, "I came to pray", $4f
+	db "for my CLEFAIRY.", $51
+	db "Sniff! I can't", $4f
+	db "stop crying...", $57
+
+_PokemonTower1Text4: ; 0x99524
+	db $0, "My GROWLITHE...", $4f
+	db "Why did you die?", $57
+
+_PokemonTower1Text5: ; 0x99546
+	db $0, "I am a CHANNELER!", $4f
+	db "There are spirits", $55
+	db "up to mischief!", $57
+
+_UnnamedText_6062d: ; 0x9957b
+	db $0, $53, ": Hey,", $4f
+	db $52, "! What", $55
+	db "brings you here?", $55
+	db "Your #MON", $55
+	db "don't look dead!", $51
+	db "I can at least", $4f
+	db "make them faint!", $55
+	db "Let's go, pal!", $57
+; 0x9957b + 106 bytes
+
+_UnnamedText_60632: ; 0x995e5
+	db $0, "What?", $4f
+	db "You stinker!", $51
+	db "I took it easy on", $4f
+	db "you too!", $58
+; 0x995e5 + 47 bytes
+
+_UnnamedText_60637: ; 0x99614
+	db $0, $53, ": Well,", $4f
+	db "look at all your", $55
+	db "wimpy #MON!", $51
+	db "Toughen them up a", $4f
+	db "bit more!", $58
+; 0x99614 + 67 bytes
+
+_UnnamedText_6063c: ; 0x99657
+	db $0, "How's your #DEX", $4f
+	db "coming, pal?", $55
+	db "I just caught a", $55
+	db "CUBONE!", $51
+	db "I can't find the", $4f
+	db "grown-up MAROWAK", $55
+	db "yet!", $51
+	db "I doubt there are", $4f
+	db "any left! Well, I", $55
+	db "better get going!", $55
+	db "I've got a lot to", $55
+	db "accomplish, pal!", $51
+	db "Smell ya later!", $57
+; 0x99657 + 195 bytes
+
+_PokemonTower2Text2: ; 0x9971a
+	db $0, "Even we could not", $4f
+	db "identify the", $55
+	db "wayward GHOSTs!", $51
+	db "A SILPH SCOPE", $4f
+	db "might be able to", $55
+	db "unmask them.", $57
+
+_UnnamedText_60730: ; 0x99776
+	db $0, "Urrg...Awaa...", $4f
+	db "Huhu...graa..", $57
+; 0x99776 + 30 bytes
+
+_UnnamedText_60735: ; 0x99794
+	db $0, "Hwa!", $4f
+	db "I'm saved!", $58
+; 0x99794 + 16 bytes
+
+_UnnamedText_6073a: ; 0x997a4
+	db $0, "The GHOSTs can be", $4f
+	db "identified by the", $55
+	db "SILPH SCOPE.", $57
+; 0x997a4 + 50 bytes
+
+_UnnamedText_6073f: ; 0x997d6
+	db $0, "Kekeke....", $4f
+	db "Kwaaah!", $57
+; 0x997d6 + 20 bytes
+
+_UnnamedText_60744: ; 0x997ea
+	db $0, "Hmm?", $4f
+	db "What am I doing?", $58
+; 0x997ea + 23 bytes
+
+_UnnamedText_60749: ; 0x99801
+	db $0, "Sorry! I was", $4f
+	db "possessed!", $57
+; 0x99801 + 25 bytes
+
+_UnnamedText_6074e: ; 0x9981a
+	db $0, "Be gone!", $4f
+	db "Evil spirit!", $57
+; 0x9981a + 23 bytes
+
+_UnnamedText_60753: ; 0x99831
+	db $0, "Whew!", $4f
+	db "The spirit left!", $58
+; 0x99831 + 24 bytes
+
+_UnnamedText_60758: ; 0x99849
+	db $0, "My friends were", $4f
+	db "possessed too!", $57
+; 0x99849 + 32 bytes
+
+_UnnamedText_6085e: ; 0x99869
+	db $0, "GHOST! No!", $4f
+	db "Kwaaah!", $57
+; 0x99869 + 20 bytes
+
+_UnnamedText_60863: ; 0x9987d
+	db $0, "Where", $4f
+	db "is the GHOST?", $58
+; 0x9987d + 21 bytes
+
+_UnnamedText_60868: ; 0x99892
+	db $0, "I must have been", $4f
+	db "dreaming...", $57
+; 0x99892 + 30 bytes
+
+_UnnamedText_6086d: ; 0x998b0
+	db $0, "Be cursed with", $4f
+	db "me! Kwaaah!", $57
+; 0x998b0 + 28 bytes
+
+_UnnamedText_60872: ; 0x998cc
+	db $0, "What!", $58
+; 0x998cc + 7 bytes
+
+_UnnamedText_60877: ; 0x998d3
+	db $0, "We can't crack", $4f
+	db "the identity of", $55
+	db "the GHOSTs.", $57
+; 0x998d3 + 43 bytes
+
+_UnnamedText_6087c: ; 0x998fe
+	db $0, "Huhuhu...", $4f
+	db "Beat me not!", $57
+; 0x998fe + 24 bytes
+
+_UnnamedText_60881: ; 0x99916
+	db $0, "Huh?", $4f
+	db "Who? What?", $58
+; 0x99916 + 17 bytes
+
+_UnnamedText_60886: ; 0x99927
+	db $0, "May the departed", $4f
+	db "souls of #MON", $55
+	db "rest in peace...", $57
+; 0x99927 + 49 bytes
+
+_PokemonTower5Text1: ; 0x99958
+	db $0, "Come, child! I", $4f
+	db "sealed this space", $55
+	db "with white magic!", $51
+	db "You can rest here!", $57
+
+_UnnamedText_609e9: ; 0x9999f
+	db $0, "Give...me...", $4f
+	db "your...soul...", $57
+; 0x9999f + 29 bytes
+
+_UnnamedText_609ee: ; 0x999bc
+	db $0, "Gasp!", $58
+; 0x999bc + 7 bytes
+
+_UnnamedText_609f3: ; 0x999c3
+	db $0, "I was under", $4f
+	db "possession!", $57
+; 0x999c3 + 25 bytes
+
+_UnnamedText_60a02: ; 0x999dc
+	db $0, "You...shall...", $4f
+	db "join...us...", $57
+; 0x999dc + 29 bytes
+
+_UnnamedText_60a07: ; 0x999f9
+	db $0, "What", $4f
+	db "a nightmare!", $58
+; 0x999f9 + 19 bytes
+
+_UnnamedText_60a0c: ; 0x99a0c
+	db $0, "I was possessed!", $57
+; 0x99a0c + 18 bytes
+
+_UnnamedText_60a1b: ; 0x99a1e
+	db $0, "Zombies!", $57
+; 0x99a1e + 10 bytes
+
+_UnnamedText_60a20: ; 0x99a28
+	db $0, "Ha?", $58
+; 0x99a28 + 5 bytes
+
+_UnnamedText_60a25: ; 0x99a2d
+	db $0, "I regained my", $4f
+	db "senses!", $57
+; 0x99a2d + 23 bytes
+
+_UnnamedText_60a34: ; 0x99a44
+	db $0, "Urgah...", $4f
+	db "Urff....", $57
+; 0x99a44 + 19 bytes
+
+_UnnamedText_60a39: ; 0x99a57
+	db $0, "Whoo!", $58
+; 0x99a57 + 7 bytes
+
+_UnnamedText_60a3e: ; 0x99a5e
+	db $0, "I fell to evil", $4f
+	db "spirits despite", $55
+	db "my training!", $57
+; 0x99a5e + 45 bytes
+
+_UnnamedText_60a43: ; 0x99a8b
+	db $0, "Entered purified,", $4f
+	db "protected zone!", $51
+	db $52, "'s #MON", $4f
+	db "are fully healed!", $57
+; 0x99a8b + 61 bytes
+
+_UnnamedText_60c1f: ; 0x99ac8
+	db $0, "The GHOST was the", $4f
+	db "restless soul of", $55
+	db "CUBONE's mother!", $57
+; 0x99ac8 + 52 bytes
+
+_UnnamedText_60c24: ; 0x99afc
+	db $0, "The mother's soul", $4f
+	db "was calmed.", $51
+	db "It departed to", $4f
+	db "the afterlife!", $57
+; 0x99afc + 60 bytes
+
+_UnnamedText_60c29: ; 0x99b38
+	db $0, "Give...me...", $4f
+	db "blood...", $57
+; 0x99b38 + 23 bytes
+
+_UnnamedText_60c2e: ; 0x99b4f
+	db $0, "Groan!", $58
+; 0x99b4f + 8 bytes
+
+_UnnamedText_60c33: ; 0x99b57
+	db $0, "I feel anemic and", $4f
+	db "weak...", $57
+; 0x99b57 + 27 bytes
+
+_UnnamedText_60c38: ; 0x99b72
+	db $0, "Urff... Kwaah!", $57
+; 0x99b72 + 16 bytes
+
+_UnnamedText_60c3d: ; 0x99b82
+	db $0, "Some-", $4f
+	db "thing fell out!", $58
+; 0x99b82 + 23 bytes
+
+_UnnamedText_60c42: ; 0x99b99
+	db $0, "Hair didn't fall", $4f
+	db "out! It was an", $55
+	db "evil spirit!", $57
+; 0x99b99 + 45 bytes
+
+_UnnamedText_60c47: ; 0x99bc6
+	db $0, "Ke..ke...ke...", $4f
+	db "ke..ke...ke!!", $57
+; 0x99bc6 + 30 bytes
+
+_UnnamedText_60c4c: ; 0x99be4
+	db $0, "Keee!", $58
+; 0x99be4 + 7 bytes
+
+_UnnamedText_60c51: ; 0x99beb
+	db $0, "What's going on", $4f
+	db "here?", $57
+; 0x99beb + 22 bytes
+
+_UnnamedText_60c56: ; 0x99c01
+	db $0, "Be gone...", $4f
+	db "Intruders...", $57
+; 0x99c01 + 25 bytes
+
+_UnnamedText_60ec4: ; 0x99c1a
+	db $0, "MR.FUJI: Heh? You", $4f
+	db "came to save me?", $51
+	db "Thank you. But, I", $4f
+	db "came here of my", $55
+	db "own free will.", $51
+	db "I came to calm", $4f
+	db "the soul of", $55
+	db "CUBONE's mother.", $51
+	db "I think MAROWAK's", $4f
+	db "spirit has gone", $55
+	db "to the afterlife.", $51
+	db "I must thank you", $4f
+	db "for your kind", $55
+	db "concern!", $51
+	db "Follow me to my", $4f
+	db "home, #MON", $55
+	db "HOUSE at the foot", $55
+	db "of this tower.", $57
+; 0x99c1a + 279 bytes
+
+_UnnamedText_60ec9: ; 0x99d31
+	db $0, "What do you want?", $4f
+	db "Why are you here?", $57
+; 0x99d31 + 37 bytes
+
+_UnnamedText_60ece: ; 0x99d56
+	db $0, "I give up!", $58
+; 0x99d56 + 12 bytes
+
+_UnnamedText_60ed3: ; 0x99d62
+	db $0, "I'm not going to", $4f
+	db "forget this!", $57
+; 0x99d62 + 30 bytes
+
+_UnnamedText_60ed8: ; 0x99d80
+	db $0, "This old guy came", $4f
+	db "and complained", $55
+	db "about us harming", $55
+	db "useless #MON!", $51
+	db "We're talking it", $4f
+	db "over as adults!", $57
+; 0x99d80 + 97 bytes
+
+_UnnamedText_60edd: ; 0x99de1
+	db $0, "Please!", $4f
+	db "No more!", $58
+; 0x99de1 + 18 bytes
+
+_UnnamedText_60ee2: ; 0x99df3
+	db $0, "#MON are only", $4f
+	db "good for making", $55
+	db "money!", $51
+	db "Stay out of our", $4f
+	db "business!", $57
+; 0x99df3 + 64 bytes
+
+_UnnamedText_60ee7: ; 0x99e33
+	db $0, "You're not saving", $4f
+	db "anyone, kid!", $57
+; 0x99e33 + 31 bytes
+
+_UnnamedText_60eec: ; 0x99e52
+	db $0, "Don't", $4f
+	db "fight us ROCKETs!", $58
+; 0x99e52 + 24 bytes
+
+_UnnamedText_60ef1: ; 0x99e6a
+	db $0, "You're not getting", $4f
+	db "away with this!", $57
+; 0x99e6a + 35 bytes
+
+_UnnamedText_1d8d1: ; 0x99e8d
+	db $0, "That's odd, MR.FUJI", $4f
+	db "isn't here.", $55
+	db "Where'd he go?", $57
+; 0x99e8d + 45 bytes
+
+_UnnamedText_1d8d6: ; 0x99eba
+	db $0, "MR.FUJI had been", $4f
+	db "praying alone for", $55
+	db "CUBONE's mother.", $57
+; 0x99eba + 52 bytes
+
+_UnnamedText_1d8f4: ; 0x99eee
+	db $0, "This is really", $4f
+	db "MR.FUJI's house.", $51
+	db "He's really kind!", $51
+	db "He looks after", $4f
+	db "abandoned and", $55
+	db "orphaned #MON!", $57
+; 0x99eee + 93 bytes
+
+_UnnamedText_1d8f9: ; 0x99f4b
+	db $0, "It's so warm!", $4f
+	db "#MON are so", $55
+	db "nice to hug!", $57
+; 0x99f4b + 39 bytes
+
+_LavenderHouse1Text3: ; 0x99f72
+	db $0, "PSYDUCK: Gwappa!@@"
+
+_LavenderHouse1Text4: ; 0x99f85
+	db $0, "NIDORINO: Gaoo!@@"
+
+_UnnamedText_1d94c: ; 0x99f97
+	db $0, "MR.FUJI: ", $52, ".", $51
+	db "Your #DEX quest", $4f
+	db "may fail without", $55
+	db "love for your", $55
+	db "#MON.", $51
+	db "I think this may", $4f
+	db "help your quest.", $58
+; 0x99f97 + 100 bytes
+
+_UnnamedText_1d951: ; 0x99ffb
+	db $0, $52, " received", $4f
+	db "a @"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9a011
+
+_UnnamedText_1d956: ; 0x9a011
+	db $0, $51
+	db "Upon hearing #", $4f
+	db "FLUTE, sleeping", $55
+	db "#MON will", $55
+	db "spring awake.", $51
+	db "It works on all", $4f
+	db "sleeping #MON.", $57
+; 0x9a011 + 88 bytes
+
+_UnnamedText_1d95b: ; 0x9a069
+	db $0, "You must make", $4f
+	db "room for this!", $57
+; 0x9a069 + 30 bytes
+
+_UnnamedText_1d960: ; 0x9a087
+	db $0, "MR.FUJI: Has my", $4f
+	db "FLUTE helped you?", $57
+; 0x9a087 + 35 bytes
+
+_LavenderHouse1Text6: ; 0x9a0aa
+	db $0, "#MON Monthly", $4f
+	db "Grand Prize", $55
+	db "Drawing!", $51
+	db "The application", $4f
+	db "form is...", $51
+	db "Gone! It's been", $4f
+	db "clipped out!", $57
+
+_LavenderMartText2: ; 0x9a104
+	db $0, "I'm searching for", $4f
+	db "items that raise", $55
+	db "the abilities of", $55
+	db "#MON during a", $55
+	db "single battle.", $51
+	db "X ATTACK, X", $4f
+	db "DEFEND, X SPEED", $55
+	db "and X SPECIAL are", $55
+	db "what I'm after.", $51
+	db "Do you know where", $4f
+	db "I can get them?", $57
+
+_UnnamedText_5c953: ; 0x9a1b4
+	db $0, "You know REVIVE?", $4f
+	db "It revives any", $55
+	db "fainted #MON!", $57
+; 0x9a1b4 + 47 bytes
+
+_UnnamedText_5c958: ; 0x9a1e3
+	db $0, "I found a NUGGET", $4f
+	db "in the mountains.", $51
+	db "I thought it was", $4f
+	db "useless, but it", $55
+	db "sold for ", $f0, "5000!", $57
+; 0x9a1e3 + 85 bytes
+
+_LavenderHouse2Text1: ; 0x9a238
+	db $0, "CUBONE: Kyarugoo!@@"
+
+_UnnamedText_1d9dc: ; 0x9a24c
+	db $0, "I hate those", $4f
+	db "horrible ROCKETs!", $51
+	db "That poor CUBONE's", $4f
+	db "mother...", $51
+	db "It was killed", $4f
+	db "trying to escape", $55
+	db "from TEAM ROCKET!", $57
+; 0x9a24c + 109 bytes
+
+_UnnamedText_1d9e1: ; 0x9a2b9
+	db $0, "The GHOST of", $4f
+	db "#MON TOWER is", $55
+	db "gone!", $51
+	db "Someone must have", $4f
+	db "soothed its", $55
+	db "restless soul!", $57
+; 0x9a2b9 + 79 bytes
+
+_UnnamedText_1dab3: ; 0x9a308
+	db $0, "Hello, hello!", $4f
+	db "I am the official", $55
+	db "NAME RATER!", $51
+	db "Want me to rate", $4f
+	db "the nicknames of", $55
+	db "your #MON?", $57
+; 0x9a308 + 89 bytes
+
+_UnnamedText_1dab8: ; 0x9a361
+	db $0, "Which #MON", $4f
+	db "should I look at?", $58
+; 0x9a361 + 30 bytes
+
+_UnnamedText_1dabd: ; 0x9a37f
+	TX_RAM $cd6d
+	db $0, ", is it?", $4f
+	db "That is a decent", $55
+	db "nickname!", $51
+	db "But, would you", $4f
+	db "like me to give", $55
+	db "it a nicer name?", $51
+	db "How about it?", $57
+; 0x9a37f + 102 bytes
+
+_UnnamedText_1dac2: ; 0x9a3e5
+	db $0, "Fine! What should", $4f
+	db "we name it?", $58
+; 0x9a3e5 + 31 bytes
+
+_UnnamedText_1dac7: ; 0x9a404
+	db $0, "OK! This #MON", $4f
+	db "has been renamed", $55
+	db "@"
+; 0x9a404 + 33 bytes
+
+UnnamedText_9a425: ; 0x9a425
+	TX_RAM $cee9
+	db $0, "!", $51
+	db "That's a better", $4f
+	db "name than before!", $57
+; 0x9a44c
+
+_UnnamedText_1dacc: ; 0x9a44c
+	db $0, "Fine! Come any", $4f
+	db "time you like!", $57
+; 0x9a44c + 31 bytes
+
+_UnnamedText_1dad1: ; 0x9a46b
+	TX_RAM $cd6d
+	db $0, ", is it?", $4f
+	db "That is a truly", $55
+	db "impeccable name!", $51
+	db "Take good care of", $4f
+	db "@"
+	TX_RAM $cd6d
+	db $0, "!", $57
+; 0x9a4b2
+
+_VermilionPokecenterText2:
+_VermilionPokecenterText1: ; 0x9a4b2
+	db $0, "Even if they are", $4f
+	db "the same level,", $55
+	db "#MON can have", $55
+	db "very different", $55
+	db "abilities.", $51
+	db "A #MON raised", $4f
+	db "by a trainer is", $55
+	db "stronger than one", $55
+	db "in the wild.", $57
+
+_VermilionPokecenterText3: ; 0x9a539
+	db $0, "My #MON was", $4f
+	db "poisoned! It", $55
+	db "fainted while we", $55
+	db "were walking!", $57
+
+_UnnamedText_59bb7: ; 0x9a572
+	db $0, "Won't you admire", $4f
+	db "my PIKACHU's", $55
+	db "adorable tail?", $57
+; 0x9a572 + 44 bytes
+
+_UnnamedText_59bbc: ; 0x9a59e
+	db $0, "Humph! My PIKACHU", $4f
+	db "is twice as cute", $55
+	db "as that one!", $57
+; 0x9a59e + 49 bytes
+
+_UnnamedText_59be4: ; 0x9a5cf
+	db $0, "I just love my", $4f
+	db "SEEL!", $51
+	db "It squeals when I", $4f
+	db "hug it!", $57
+; 0x9a5cf + 48 bytes
+
+_UnnamedText_59be9: ; 0x9a5ff
+	db $0, "Oh dear!", $51
+	db "My SEEL is far", $4f
+	db "more attractive!", $57
+; 0x9a5ff + 42 bytes
+
+_UnnamedText_59c00: ; 0x9a629
+	db $0, "PIKACHU: Chu!", $4f
+	db "Pikachu!", $57
+; 0x9a629 + 24 bytes
+
+_UnnamedText_59c17: ; 0x9a641
+	db $0, "SEEL: Kyuoo!", $57
+; 0x9a641 + 14 bytes
+
+_UnnamedText_59c65: ; 0x9a64f
+	db $0, "I chair the", $4f
+	db "#MON Fan Club!", $51
+	db "I have collected", $4f
+	db "over 100 #MON!", $51
+	db "I'm very fussy", $4f
+	db "when it comes to", $55
+	db "#MON!", $51
+	db "So...", $51
+	db "Did you come", $4f
+	db "visit to hear", $55
+	db "about my #MON?", $57
+; 0x9a64f + 145 bytes
+
+_UnnamedText_59c6a: ; 0x9a6e0
+	db $0, "Good!", $4f
+	db "Then listen up!", $51
+	db "My favorite", $4f
+	db "RAPIDASH...", $51
+	db "It...cute...", $4f
+	db "lovely...smart...", $55
+	db "plus...amazing...", $55
+	db "you think so?...", $55
+	db "oh yes...it...", $55
+	db "stunning...", $55
+	db "kindly...", $55
+	db "love it!", $51
+	db "Hug it...when...", $55
+	db "sleeping...warm", $55
+	db "and cuddly...", $55
+	db "spectacular...", $55
+	db "ravishing...", $55
+	db "...Oops! Look at", $55
+	db "the time! I kept", $55
+	db "you too long!", $51
+	db "Thanks for hearing", $4f
+	db "me out! I want", $55
+	db "you to have this!", $58
+; 0x9a6e0 + 334 bytes
+
+_ReceivedBikeVoucherText: ; 0x9a82e
+	db $0, $52, " received", $4f
+	db "a @"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9a844
+
+_UnnamedText_59c74: ; 0x9a844
+	db $0, $51
+	db "Exchange that for", $4f
+	db "a BICYCLE!", $51
+	db "Don't worry, my", $4f
+	db "FEAROW will FLY", $55
+	db "me anywhere!", $51
+	db "So, I don't need a", $4f
+	db "BICYCLE!", $51
+	db "I hope you like", $4f
+	db "cycling!", $57
+; 0x9a844 + 127 bytes
+
+_UnnamedText_59c79: ; 0x9a8c3
+	db $0, "Oh. Come back", $4f
+	db "when you want to", $55
+	db "hear my story!", $57
+; 0x9a8c3 + 47 bytes
+
+_UnnamedText_59c7e: ; 0x9a8f2
+	db $0, "Hello, ", $52, "!", $51
+	db "Did you come see", $4f
+	db "me about my", $55
+	db "#MON again?", $51
+	db "No? Too bad!", $57
+; 0x9a8f2 + 65 bytes
+
+_UnnamedText_59c83: ; 0x9a933
+	db $0, "Make room for", $4f
+	db "this!", $57
+; 0x9a933 + 21 bytes
+
+_FanClubText6: ; 0x9a948
+	db $0, "Our Chairman is", $4f
+	db "very vocal about", $55
+	db "#MON.", $57
+
+_FanClubText7: ; 0x9a970
+	db $0, "Let's all listen", $4f
+	db "politely to other", $55
+	db "trainers!", $57
+
+_FanClubText8: ; 0x9a99d
+	db $0, "If someone brags,", $4f
+	db "brag right back!", $57
+
+_VermilionMartText2: ; 0x9a9c1
+	db $0, "There are evil", $4f
+	db "people who will", $55
+	db "use #MON for", $55
+	db "criminal acts.", $51
+	db "TEAM ROCKET", $4f
+	db "traffics in rare", $55
+	db "#MON.", $51
+	db "They also abandon", $4f
+	db "#MON that they", $55
+	db "consider not to", $55
+	db "be popular or", $55
+	db "useful.", $57
+
+_VermilionMartText3: ; 0x9aa67
+	db $0, "I think #MON", $4f
+	db "can be good or", $55
+	db "evil. It depends", $55
+	db "on the trainer.", $57
+
+_UnnamedText_5cb6d: ; 0x9aaa5
+	db $0, "Hey, kid! What do", $4f
+	db "you think you're", $55
+	db "doing here?", $51
+	db "You won't live", $4f
+	db "long in combat!", $55
+	db "That's for sure!", $51
+	db "I tell you kid,", $4f
+	db "electric #MON", $55
+	db "saved me during", $55
+	db "the war!", $51
+	db "They zapped my", $4f
+	db "enemies into", $55
+	db "paralysis!", $51
+	db "The same as I'll", $4f
+	db "do to you!", $57
+; 0x9aaa5 + 214 bytes
+
+SECTION "bank27",DATA,BANK[$27]
+
+_UnnamedText_5cb72: ; 0x9c000
+	db $0, "A little word of", $4f
+	db "advice, kid!", $51
+	db "Electricity is", $4f
+	db "sure powerful!", $51
+	db "But, it's useless", $4f
+	db "against ground-", $55
+	db "type #MON!", $57
+; 0x9c000 + 105 bytes
+
+_UnnamedText_5cb77: ; 0x9c069
+	db $0, "The THUNDERBADGE", $4f
+	db "cranks up your", $55
+	db "#MON's SPEED!", $51
+	db "It also lets your", $4f
+	db "#MON FLY any", $55
+	db "time, kid!", $51
+	db "You're special,", $4f
+	db "kid! Take this!", $57
+; 0x9c069 + 119 bytes
+
+_ReceivedTM24Text: ; 0x9c0e0
+	db $0, $52, " received ", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9c0f5
+
+_TM24ExplanationText: ; 0x9c0f5
+	db $0, $51
+	db "TM24 contains", $4f
+	db "THUNDERBOLT!", $51
+	db "Teach it to an", $4f
+	db "electric #MON!", $57
+; 0x9c0f5 + 59 bytes
+
+_TM24NoRoomText: ; 0x9c130
+	db $0, "Yo kid, make room", $4f
+	db "in your pack!", $57
+; 0x9c130 + 33 bytes
+
+_ReceivedThunderbadgeText: ; 0x9c151
+	db $0, "Whoa!", $51
+	db "You're the real", $4f
+	db "deal, kid!", $51
+	db "Fine then, take", $4f
+	db "the THUNDERBADGE!", $58
+; 0x9c151 + 67 bytes
+
+_UnnamedText_5cb9a: ; 0x9c194
+	db $0, "When I was in the", $4f
+	db "Army, LT.SURGE", $55
+	db "was my strict CO!", $57
+; 0x9c194 + 52 bytes
+
+_UnnamedText_5cb9f: ; 0x9c1c8
+	db $0, "Stop!", $4f
+	db "You're very good!", $58
+; 0x9c1c8 + 24 bytes
+
+_UnnamedText_5cba4: ; 0x9c1e0
+	db $0, "The door won't", $4f
+	db "open?", $51
+	db "LT.SURGE always", $4f
+	db "was cautious!", $57
+; 0x9c1e0 + 51 bytes
+
+_UnnamedText_5cbb3: ; 0x9c213
+	db $0, "I'm a lightweight,", $4f
+	db "but I'm good with", $55
+	db "electricity!", $57
+; 0x9c213 + 49 bytes
+
+_UnnamedText_5cbb8: ; 0x9c244
+	db $0, "Fried!", $58
+; 0x9c244 + 8 bytes
+
+_UnnamedText_5cbbd: ; 0x9c24c
+	db $0, "OK, I'll talk!", $51
+	db "LT.SURGE said he", $4f
+	db "hid door switches", $55
+	db "inside something!", $57
+; 0x9c24c + 68 bytes
+
+_UnnamedText_5cbcc: ; 0x9c290
+	db $0, "This is no place", $4f
+	db "for kids!", $57
+; 0x9c290 + 28 bytes
+
+_UnnamedText_5cbd1: ; 0x9c2ac
+	db $0, "Wow!", $4f
+	db "Surprised me!", $58
+; 0x9c2ac + 20 bytes
+
+_UnnamedText_5cbd6: ; 0x9c2c0
+	db $0, "LT.SURGE set up", $4f
+	db "double locks!", $55
+	db "Here's a hint!", $51
+	db "When you open the", $4f
+	db "1st lock, the 2nd", $55
+	db "lock is right", $55
+	db "next to it!", $57
+; 0x9c2c0 + 107 bytes
+
+_UnnamedText_5cbf4: ; 0x9c32b
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "LT.SURGE has a", $4f
+	db "nickname. People", $55
+	db "refer to him as", $55
+	db "the Lightning", $55
+	db "American!", $51
+	db "He's an expert on", $4f
+	db "electric #MON!", $51
+	db "Birds and water", $4f
+	db "#MON are at", $55
+	db "risk! Beware of", $55
+	db "paralysis too!", $51
+	db "LT.SURGE is very", $4f
+	db "cautious!", $51
+	db "You'll have to", $4f
+	db "break a code to", $55
+	db "get to him!", $57
+; 0x9c32b + 254 bytes
+
+_UnnamedText_5cbf9: ; 0x9c429
+	db $0, "Whew! That match", $4f
+	db "was electric!", $57
+; 0x9c429 + 32 bytes
+
+_VermilionHouse1Text1: ; 0x9c449
+	db $0, "I'm getting my", $4f
+	db "PIDGEY to fly a", $55
+	db "letter to SAFFRON", $55
+	db "in the north!", $57
+
+_VermilionHouse1Text2: ; 0x9c488
+	db $0, "PIDGEY: Kurukkoo!@@"
+
+_VermilionHouse1Text3: ; 0x9c49c
+	db $0, "Dear PIPPI, I hope", $4f
+	db "to see you soon.", $51
+	db "I heard SAFFRON", $4f
+	db "has problems with", $55
+	db "TEAM ROCKET.", $51
+	db "VERMILION appears", $4f
+	db "to be safe.", $57
+
+_UnnamedText_1dcc1: ; 0x9c50e
+	db $0, $57
+; 0x9c50e + 2 bytes
+
+_UnnamedText_560b1: ; 0x9c510
+	db $0, "I'm the FISHING", $4f
+	db "GURU!", $51
+	db "I simply Looove", $4f
+	db "fishing!", $51
+	db "Do you like to", $4f
+	db "fish?", $57
+; 0x9c510 + 68 bytes
+
+_UnnamedText_560b6: ; 0x9c554
+	db $0, "Grand! I like", $4f
+	db "your style!", $51
+	db "Take this and", $4f
+	db "fish, young one!", $51
+	db $52, " received", $4f
+	db "an @"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9c5a4
+
+_UnnamedText_560bb: ; 0x9c5a4
+	db $0, $51
+	db "Fishing is a way", $4f
+	db "of life!", $51
+	db "From the seas to", $4f
+	db "rivers, go out", $55
+	db "and land the big", $55
+	db "one, young one!", $57
+; 0x9c5a4 + 93 bytes
+
+_UnnamedText_560c0: ; 0x9c601
+	db $0, "Oh... That's so", $4f
+	db "disappointing...", $57
+; 0x9c601 + 33 bytes
+
+_UnnamedText_560c5: ; 0x9c622
+	db $0, "Hello there,", $4f
+	db $52, "!", $51
+	db "How are the fish", $4f
+	db "biting?", $57
+; 0x9c622 + 42 bytes
+
+_UnnamedText_560ca: ; 0x9c64c
+	db $0, "Oh no!", $51
+	db "You have no room", $4f
+	db "for my gift!", $57
+; 0x9c64c + 38 bytes
+
+_CeladonMart1Text1: ; 0x9c672
+	db $0, "Hello! Welcome to", $4f
+	db "CELADON DEPT.", $55
+	db "STORE.", $51
+	db "The board on the", $4f
+	db "right describes", $55
+	db "the store layout.", $57
+
+_CeladonMart1Text2: ; 0x9c6cd
+	db $0, "1F: SERVICE", $4f
+	db "    COUNTER", $51
+	db "2F: TRAINER'S", $4f
+	db "    MARKET", $51
+	db "3F: TV GAME SHOP", $51
+	db "4F: WISEMAN GIFTS", $51
+	db "5F: DRUG STORE", $51
+	db "ROOFTOP SQUARE:", $4f
+	db "VENDING MACHINES", $57
+
+_CeladonMart1Text3: ; 0x9c752
+	db $0, "1F: SERVICE", $4f
+	db "    COUNTER", $57
+
+_CeladonMart2Text3: ; 0x9c76b
+	db $0, "SUPER REPEL keeps", $4f
+	db "weak #MON at", $55
+	db "bay...", $51
+	db "Hmm, it's a more", $4f
+	db "powerful REPEL!", $57
+
+_CeladonMart2Text4: ; 0x9c7b2
+	db $0, "For long outings,", $4f
+	db "you should buy", $55
+	db "REVIVE.", $57
+
+_CeladonMart2Text5: ; 0x9c7dc
+	db $0, "Top Grade Items", $4f
+	db "for Trainers!", $51
+	db "2F: TRAINER'S", $4f
+	db "    MARKET", $57
+
+_UnnamedText_48278: ; 0x9c814
+	db $0, "Oh, hi! I finally", $4f
+	db "finished #MON!", $51
+	db "Not done yet?", $4f
+	db "This might be", $55
+	db "useful!", $58
+; 0x9c814 + 70 bytes
+
+_ReceivedTM18Text: ; 0x9c85a
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9c86e
+
+_TM18ExplanationText: ; 0x9c86e
+	db $0, "TM18 is COUNTER!", $4f
+	db "Not like the one", $55
+	db "I'm leaning on,", $55
+	db "mind you!", $57
+; 0x9c86e + 60 bytes
+
+_TM18NoRoomText: ; 0x9c8aa
+	db $0, "Your pack is full", $4f
+	db "of items!", $57
+; 0x9c8aa + 29 bytes
+
+_CeladonMart3Text2: ; 0x9c8c7
+	db $0, "Captured #MON", $4f
+	db "are registered", $55
+	db "with an ID No.", $55
+	db "and OT, the name", $55
+	db "of the Original", $55
+	db "Trainer that", $55
+	db "caught it!", $57
+
+_CeladonMart3Text3: ; 0x9c92d
+	db $0, "All right!", $51
+	db "My buddy's going", $4f
+	db "to trade me his", $55
+	db "KANGASKHAN for my", $55
+	db "GRAVELER!", $57
+
+_CeladonMart3Text4: ; 0x9c975
+	db $0, "Come on GRAVELER!", $51
+	db "I love GRAVELER!", $4f
+	db "I collect them!", $51
+	db "Huh?", $51
+	db "GRAVELER turned", $4f
+	db "into a different", $55
+	db "#MON!", $57
+
+_CeladonMart3Text5: ; 0x9c9d5
+	db $0, "You can identify", $4f
+	db "#MON you got", $55
+	db "in trades by", $55
+	db "their ID Numbers!", $57
+
+_CeladonMart3Text6: ; 0x9ca13
+	db $0, "It's an SNES!", $57
+
+_CeladonMart3Text7: ; 0x9ca21
+	db $0, "An RPG! There's", $4f
+	db "no time for that!", $57
+
+_CeladonMart3Text9: ; 0x9ca43
+	db $0, "A sports game!", $4f
+	db "Dad'll like that!", $57
+
+_CeladonMart3Text11: ; 0x9ca64
+	db $0, "A puzzle game!", $4f
+	db "Looks addictive!", $57
+
+_CeladonMart3Text13: ; 0x9ca85
+	db $0, "A fighting game!", $4f
+	db "Looks tough!", $57
+
+_CeladonMart3Text14: ; 0x9caa4
+	db $0, "3F: TV GAME SHOP", $57
+
+_CeladonMart3Text15: ; 0x9cab6
+	db $0, "Red and Blue!", $4f
+	db "Both are #MON!", $57
+
+_CeladonMart4Text2: ; 0x9cad4
+	db $0, "I'm getting a", $4f
+	db "# DOLL for my", $55
+	db "girl friend!", $57
+
+_CeladonMart4Text3: ; 0x9cafd
+	db $0, "I heard something", $4f
+	db "useful.", $51
+	db "You can run from", $4f
+	db "wild #MON by", $55
+	db "distracting them", $55
+	db "with a # DOLL!", $57
+
+_CeladonMart4Text4: ; 0x9cb56
+	db $0, "Express yourself", $4f
+	db "with gifts!", $51
+	db "4F: WISEMAN GIFTS", $51
+	db "Evolution Special!", $4f
+	db "Element STONEs on", $55
+	db "sale now!", $57
+
+_UnnamedText_484ee: ; 0x9cbb5
+	db $0, "Give her which", $4f
+	db "drink?", $57
+; 0x9cbb5 + 23 bytes
+
+UnnamedText_9cbcc: ; 0x9cbcc
+	db $0, "Yay!", $51
+	db "FRESH WATER!", $51
+	db "Thank you!", $51
+	db "You can have this", $4f
+	db "from me!@@"
+; 0x9cc06
+
+UnnamedText_9cc06: ; 0x9cc06
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9cc1a
+
+UnnamedText_9cc1a: ; 0x9cc1a
+	db $0, $51
+	db "@"
+	TX_RAM $cf4b
+	db $0, " contains", $4f
+	db "ICE BEAM!", $51
+	db "It can freeze the", $4f
+	db "target sometimes!@@"
+; 0x9cc5a
+
+UnnamedText_9cc5a: ; 0x9cc5a
+	db $0, "Yay!", $51
+	db "SODA POP!", $51
+	db "Thank you!", $51
+	db "You can have this", $4f
+	db "from me!@@"
+; 0x9cc91
+
+UnnamedText_9cc91: ; 0x9cc91
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9cca4
+
+UnnamedText_9cca5: ; 0x9cca5
+	db $0, $51
+	db "@"
+	TX_RAM $cf4b
+	db $0, " contains", $4f
+	db "ROCK SLIDE!", $51
+	db "It can spook the", $4f
+	db "target sometimes!@@"
+; 0x9cce6
+
+UnnamedText_9cce6: ; 0x9cce6
+	db $0, "Yay!", $51
+	db "LEMONADE!", $51
+	db "Thank you!", $51
+	db "You can have this", $4f
+	db "from me!@@"
+; 0x9cd1d
+
+ReceivedTM49Text: ; 0x9cd1d
+	db $0, $52, " received", $4f
+	db "TM49!@@"
+; 0x9cd30
+
+UnnamedText_9cd30: ; 0x9cd30
+	db $0, $51
+	db "TM49 contains", $4f
+	db "TRI ATTACK!@@"
+; 0x9cd4d
+
+UnnamedText_9cd4d: ; 0x9cd4d
+	db $0, "You don't have", $4f
+	db "space for this!@@"
+; 0x9cd6d
+
+UnnamedText_9cd6d: ; 0x9cd6d
+	db $0, "No thank you!", $4f
+	db "I'm not thirsty", $55
+	db "after all!@@"
+; 0x9cd97
+
+_CeladonMartRoofText1: ; 0x9cd97
+	db $0, "My sister is a", $4f
+	db "trainer, believe", $55
+	db "it or not.", $51
+	db "But, she's so", $4f
+	db "immature, she", $55
+	db "drives me nuts!", $57
+
+_UnnamedText_48598: ; 0x9cdee
+	db $0, "I'm thirsty!", $4f
+	db "I want something", $55
+	db "to drink!", $57
+; 0x9cdee + 40 bytes
+
+_UnnamedText_4859d: ; 0x9ce16
+	db $0, "I'm thirsty!", $4f
+	db "I want something", $55
+	db "to drink!", $51
+	db "Give her a drink?", $57
+; 0x9ce16 + 58 bytes
+
+_CeladonMartRoofText6: ; 0x9ce50
+	db $0, "ROOFTOP SQUARE:", $4f
+	db "VENDING MACHINES", $57
+
+_UnnamedText_74f99: ; 0x9ce72
+	db $0, "A vending machine!", $4f
+	db "Here's the menu!", $58
+; 0x9ce72 + 36 bytes
+
+_UnnamedText_74fd3: ; 0x9ce96
+	db $0, "Oops, not enough", $4f
+	db "money!", $57
+; 0x9ce96 + 25 bytes
+
+_UnnamedText_74fd8: ; 0x9ceaf
+	TX_RAM $cf4b
+	db $0, $4f
+	db "popped out!", $57
+; 0x9ceaf + 17 bytes
+
+_UnnamedText_74fdd: ; 0x9cec0
+	db $0, "There's no more", $4f
+	db "room for stuff!", $57
+; 0x9cec0 + 32 bytes
+
+_UnnamedText_74fe2: ; 0x9cee0
+	db $0, "Not thirsty!", $57
+; 0x9cee0 + 14 bytes
+
+_CeladonMansion1Text1: ; 0x9ceee
+	db $0, "MEOWTH: Meow!@@"
+
+_CeladonMansion1Text2: ; 0x9cefe
+	db $0, "My dear #MON", $4f
+	db "keep me company.", $51
+	db "MEOWTH even brings", $4f
+	db "money home!", $57
+
+_CeladonMansion1Text3: ; 0x9cf3c
+	db $0, "CLEFAIRY: Pi", $4f
+	db "pippippi!@@"
+
+_CeladonMansion1Text4: ; 0x9cf55
+	db $0, "NIDORAN: Kya", $4f
+	db "kyaoo!@@"
+
+_CeladonMansion1Text5: ; 0x9cf6b
+	db $0, "CELADON MANSION", $4f
+	db "Manager's Suite", $57
+
+_CeladonMansion2Text1: ; 0x9cf8b
+	db $0, "GAME FREAK", $4f
+	db "Meeting Room", $57
+
+_CeladonMansion3Text1: ; 0x9cfa4
+	db $0, "Me? I'm the", $4f
+	db "programmer!", $57
+
+_CeladonMansion3Text2: ; 0x9cfbc
+	db $0, "I'm the graphic", $4f
+	db "artist!", $55
+	db "I drew you!", $57
+
+_CeladonMansion3Text3: ; 0x9cfe0
+	db $0, "I wrote the story!", $4f
+	db "Isn't ERIKA cute?", $51
+	db "I like MISTY a", $4f
+	db "lot too!", $51
+	db "Oh, and SABRINA,", $4f
+	db "I like her!", $57
+
+_UnnamedText_487d0: ; 0x9d03a
+	db $0, "Is that right?", $51
+	db "I'm the game", $4f
+	db "designer!", $51
+	db "Filling up your", $4f
+	db "#DEX is tough,", $55
+	db "but don't quit!", $51
+	db "When you finish,", $4f
+	db "come tell me!", $57
+; 0x9d03a + 115 bytes
+
+_UnnamedText_487d5: ; 0x9d0ad
+	db $0, "Wow! Excellent!", $4f
+	db "You completed", $55
+	db "your #DEX!", $55
+	db "Congratulations!", $55
+	db "...@@"
+; 0x9d0ed
+
+_CeladonMansion3Text5: ; 0x9d0ed
+	db $0, "It's the game", $4f
+	db "program! Messing", $55
+	db "with it could bug", $55
+	db "out the game!", $57
+
+_CeladonMansion3Text6: ; 0x9d12c
+	db $0, "Someone's playing", $4f
+	db "a game instead of", $55
+	db "working!", $57
+
+_CeladonMansion3Text7: ; 0x9d159
+	db $0, "It's the script!", $4f
+	db "Better not look", $55
+	db "at the ending!", $57
+
+_CeladonMansion3Text8: ; 0x9d189
+	db $0, "GAME FREAK", $4f
+	db "Development Room", $57
+
+_CeladonMansion4Text1: ; 0x9d1a6
+	db $0, "I KNOW EVERYTHING!", $57
+
+_CeladonMansion5Text1: ; 0x9d1ba
+	db $0, "I know everything", $4f
+	db "about the world", $55
+	db "of #MON in", $55
+	db "your GAME BOY!", $51
+	db "Get together with", $4f
+	db "your friends and", $55
+	db "trade #MON!", $57
+
+_CeladonPokecenterText2: ; 0x9d226
+	db $0, "# FLUTE awakens", $4f
+	db "#MON with a", $55
+	db "sound that only", $55
+	db "they can hear!", $57
+
+_CeladonPokecenterText3: ; 0x9d262
+	db $0, "I rode uphill on", $4f
+	db "CYCLING ROAD from", $55
+	db "FUCHSIA!", $57
+
+_UnnamedText_48a5e: ; 0x9d28f
+	db $0, "Hello. Lovely", $4f
+	db "weather isn't it?", $55
+	db "It's so pleasant.", $51
+	db "...Oh dear...", $4f
+	db "I must have dozed", $55
+	db "off. Welcome.", $51
+	db "My name is ERIKA.", $4f
+	db "I am the LEADER", $55
+	db "of CELADON GYM.", $51
+	db "I teach the art of", $4f
+	db "flower arranging.", $55
+	db "My #MON are of", $55
+	db "the grass-type.", $51
+	db "Oh, I'm sorry, I", $4f
+	db "had no idea that", $55
+	db "you wished to", $55
+	db "challenge me.", $51
+	db "Very well, but I", $4f
+	db "shall not lose.", $57
+; 0x9d28f + 307 bytes
+
+_UnnamedText_48a63: ; 0x9d3c2
+	db $0, "Oh!", $4f
+	db "I concede defeat.", $51
+	db "You are remarkably", $4f
+	db "strong.", $51
+	db "I must confer you", $4f
+	db "the RAINBOWBADGE.", $58
+; 0x9d3c2 + 86 bytes
+
+_UnnamedText_48a68: ; 0x9d418
+	db $0, "You are cataloging", $4f
+	db "#MON? I must", $55
+	db "say I'm impressed.", $51
+	db "I would never", $4f
+	db "collect #MON", $55
+	db "if they were", $55
+	db "unattractive.", $57
+; 0x9d418 + 105 bytes
+
+_UnnamedText_48a6d: ; 0x9d481
+	db $0, "The RAINBOWBADGE", $4f
+	db "will make #MON", $55
+	db "up to L50 obey.", $51
+	db "It also allows", $4f
+	db "#MON to use", $55
+	db "STRENGTH in and", $55
+	db "out of battle.", $51
+	db "Please also take", $4f
+	db "this with you.", $57
+; 0x9d481 + 139 bytes
+
+_ReceivedTM21Text: ; 0x9d50c
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9d520
+
+_TM21ExplanationText: ; 0x9d520
+	db $0, $51
+	db "TM21 contains", $4f
+	db "MEGA DRAIN.", $51
+	db "Half the damage", $4f
+	db "it inflicts is", $55
+	db "drained to heal", $55
+	db "your #MON!", $57
+; 0x9d520 + 86 bytes
+
+_TM21NoRoomText: ; 0x9d576
+	db $0, "You should make", $4f
+	db "room for this.", $57
+; 0x9d576 + 32 bytes
+
+_UnnamedText_48a8b: ; 0x9d596
+	db $0, "Hey!", $51
+	db "You are not", $4f
+	db "allowed in here!", $57
+; 0x9d596 + 35 bytes
+
+_UnnamedText_48a90: ; 0x9d5b9
+	db $0, "You're", $4f
+	db "too rough!", $58
+; 0x9d5b9 + 18 bytes
+
+_UnnamedText_48a95: ; 0x9d5cb
+	db $0, "Bleaah!", $4f
+	db "I hope ERIKA", $55
+	db "wipes you out!", $57
+; 0x9d5cb + 37 bytes
+
+_UnnamedText_48aa4: ; 0x9d5f0
+	db $0, "I was getting", $4f
+	db "bored.", $57
+; 0x9d5f0 + 22 bytes
+
+_UnnamedText_48aa9: ; 0x9d606
+	db $0, "My", $4f
+	db "makeup!", $58
+; 0x9d606 + 12 bytes
+
+_UnnamedText_48aae: ; 0x9d612
+	db $0, "Grass-type #MON", $4f
+	db "are tough against", $55
+	db "the water-type!", $51
+	db "They also have an", $4f
+	db "edge on rock and", $55
+	db "ground #MON!", $57
+; 0x9d612 + 99 bytes
+
+_UnnamedText_48abd: ; 0x9d675
+	db $0, "Aren't you the", $4f
+	db "peeping Tom?", $57
+; 0x9d675 + 28 bytes
+
+_UnnamedText_48ac2: ; 0x9d691
+	db $0, "I'm", $4f
+	db "in shock!", $58
+; 0x9d691 + 14 bytes
+
+_UnnamedText_48ac7: ; 0x9d69f
+	db $0, "Oh, you weren't", $4f
+	db "peeping? We get a", $55
+	db "lot of gawkers!", $57
+; 0x9d69f + 50 bytes
+
+_UnnamedText_48ad6: ; 0x9d6d1
+	db $0, "Look at my grass", $4f
+	db "#MON!", $51
+	db "They're so easy", $4f
+	db "to raise!", $57
+; 0x9d6d1 + 49 bytes
+
+_UnnamedText_48adb: ; 0x9d702
+	db $0, "No!", $58
+; 0x9d702 + 5 bytes
+
+_UnnamedText_48ae0: ; 0x9d707
+	db $0, "We only use grass-", $4f
+	db "type #MON at", $55
+	db "our GYM!", $51
+	db "We also use them", $4f
+	db "for making flower", $55
+	db "arrangements!", $57
+; 0x9d707 + 91 bytes
+
+_UnnamedText_48aef: ; 0x9d762
+	db $0, "Don't bring any", $4f
+	db "bugs or fire", $55
+	db "#MON in here!", $57
+; 0x9d762 + 43 bytes
+
+_UnnamedText_48af4: ; 0x9d78d
+	db $0, "Oh!", $4f
+	db "You!", $58
+; 0x9d78d + 10 bytes
+
+_UnnamedText_48af9: ; 0x9d797
+	db $0, "Our LEADER, ERIKA,", $4f
+	db "might be quiet,", $55
+	db "but she's also", $55
+	db "very skilled!", $57
+; 0x9d797 + 64 bytes
+
+_UnnamedText_48b08: ; 0x9d7d7
+	db $0, "Pleased to meet", $4f
+	db "you. My hobby is", $55
+	db "#MON training.", $57
+; 0x9d7d7 + 49 bytes
+
+_UnnamedText_48b0d: ; 0x9d808
+	db $0, "Oh!", $4f
+	db "Splendid!", $58
+; 0x9d808 + 15 bytes
+
+_UnnamedText_48b12: ; 0x9d817
+	db $0, "I have a blind", $4f
+	db "date coming up.", $55
+	db "I have to learn", $55
+	db "to be polite.", $57
+; 0x9d817 + 62 bytes
+
+_UnnamedText_48b21: ; 0x9d855
+	db $0, "Welcome to", $4f
+	db "CELADON GYM!", $51
+	db "You better not", $4f
+	db "underestimate", $55
+	db "girl power!", $57
+; 0x9d855 + 66 bytes
+
+_UnnamedText_48b26: ; 0x9d897
+	db $0, "Oh!", $4f
+	db "Beaten!", $58
+; 0x9d897 + 13 bytes
+
+_UnnamedText_48b2b: ; 0x9d8a4
+	db $0, "I didn't bring my", $4f
+	db "best #MON!", $51
+	db "Wait 'til next", $4f
+	db "time!", $57
+; 0x9d8a4 + 49 bytes
+
+_CeladonGameCornerText1: ; 0x9d8d5
+	db $0, "Welcome!", $51
+	db "You can exchange", $4f
+	db "your coins for", $55
+	db "fabulous prizes", $55
+	db "next door.", $57
+
+_UnnamedText_48d22: ; 0x9d91a
+	db $0, "Welcome to ROCKET", $4f
+	db "GAME CORNER!", $51
+	db "Do you need some", $4f
+	db "game coins?", $51
+	db "It's ", $f0, "1000 for 50", $4f
+	db "coins. Would you", $55
+	db "like some?", $57
+; 0x9d91a + 106 bytes
+
+_UnnamedText_48d27: ; 0x9d984
+	db $0, "Thanks! Here are", $4f
+	db "your 50 coins!", $57
+; 0x9d984 + 33 bytes
+
+_UnnamedText_48d2c: ; 0x9d9a5
+	db $0, "No? Please come", $4f
+	db "play sometime!", $57
+; 0x9d9a5 + 32 bytes
+
+_UnnamedText_48d31: ; 0x9d9c5
+	db $0, "You can't afford", $4f
+	db "the coins!", $57
+; 0x9d9c5 + 28 bytes
+
+_UnnamedText_48d36: ; 0x9d9e1
+	db $0, "Oops! Your COIN", $4f
+	db "CASE is full.", $57
+; 0x9d9e1 + 31 bytes
+
+_UnnamedText_48d3b: ; 0x9da00
+	db $0, "You don't have a", $4f
+	db "COIN CASE!", $57
+; 0x9da00 + 28 bytes
+
+_CeladonGameCornerText3: ; 0x9da1c
+	db $0, "Keep this quiet.", $51
+	db "It's rumored that", $4f
+	db "this place is run", $55
+	db "by TEAM ROCKET.", $57
+
+_CeladonGameCornerText4: ; 0x9da61
+	db $0, "I think these", $4f
+	db "machines have", $55
+	db "different odds.", $57
+
+_UnnamedText_48d9c: ; 0x9da8e
+	db $0, "Kid, do you want", $4f
+	db "to play?", $58
+; 0x9da8e + 27 bytes
+
+_Received10CoinsText: ; 0x9daa9
+	db $0, $52, " received", $4f
+	db "10 coins!@@"
+; 0x9dac0
+
+_UnnamedText_48da7: ; 0x9dac0
+	db $0, "You don't need my", $4f
+	db "coins!", $57
+; 0x9dac0 + 25 bytes
+
+_UnnamedText_48dac: ; 0x9dad9
+	db $0, "Wins seem to come", $4f
+	db "and go.", $57
+; 0x9dad9 + 27 bytes
+
+_CeladonGameCornerText6: ; 0x9daf4
+	db $0, "I'm having a", $4f
+	db "wonderful time!", $57
+
+_UnnamedText_48dca: ; 0x9db11
+	db $0, "Hey!", $51
+	db "You have better", $4f
+	db "things to do,", $55
+	db "champ in making!", $51
+	db "CELADON GYM's", $4f
+	db "LEADER is ERIKA!", $55
+	db "She uses grass-", $55
+	db "type #MON!", $51
+	db "She might appear", $4f
+	db "docile, but don't", $55
+	db "be fooled!", $57
+; 0x9db11 + 155 bytes
+
+_UnnamedText_48dcf: ; 0x9dbac
+	db $0, "They offer rare", $4f
+	db "#MON that can", $55
+	db "be exchanged for", $55
+	db "your coins.", $51
+	db "But, I just can't", $4f
+	db "seem to win!", $57
+; 0x9dbac + 90 bytes
+
+_CeladonGameCornerText8: ; 0x9dc06
+	db $0, "Games are scary!", $4f
+	db "It's so easy to", $55
+	db "get hooked!", $57
+
+_UnnamedText_48e26: ; 0x9dc33
+	db $0, "What's up? Want", $4f
+	db "some coins?", $58
+; 0x9dc33 + 28 bytes
+
+_Received20CoinsText: ; 0x9dc4f
+	db $0, $52, " received", $4f
+	db "20 coins!@@"
+; 0x9dc66
+
+_UnnamedText_48e31: ; 0x9dc66
+	db $0, "You have lots of", $4f
+	db "coins!", $57
+; 0x9dc66 + 25 bytes
+
+_UnnamedText_48e36: ; 0x9dc7f
+	db $0, "Darn! I need more", $4f
+	db "coins for the", $55
+	db "#MON I want!", $57
+; 0x9dc7f + 46 bytes
+
+_UnnamedText_48e88: ; 0x9dcad
+	db $0, "Hey, what? You're", $4f
+	db "throwing me off!", $55
+	db "Here are some", $55
+	db "coins, shoo!", $58
+; 0x9dcad + 62 bytes
+
+_UnnamedText_48e8d: ; 0x9dceb
+	db $0, $52, " received", $4f
+	db "20 coins!@@"
+; 0x9dd02
+
+_UnnamedText_48e93: ; 0x9dd02
+	db $0, "You've got your", $4f
+	db "own coins!", $57
+; 0x9dd02 + 27 bytes
+
+_UnnamedText_48e98: ; 0x9dd1d
+	db $0, "The trick is to", $4f
+	db "watch the reels", $55
+	db "closely!", $57
+; 0x9dd1d + 42 bytes
+
+_UnnamedText_48ece: ; 0x9dd47
+	db $0, "I'm guarding this", $4f
+	db "poster!", $55
+	db "Go away, or else!", $57
+; 0x9dd47 + 44 bytes
+
+_UnnamedText_48ed3: ; 0x9dd73
+	db $0, "Dang!", $58
+; 0x9dd73 + 7 bytes
+
+_UnnamedText_48ed8: ; 0x9dd7a
+	db $0, "Our hideout might", $4f
+	db "be discovered! I", $55
+	db "better tell BOSS!", $57
+; 0x9dd7a + 54 bytes
+
+_UnnamedText_48f09: ; 0x9ddb0
+	db $0, "Hey!", $51
+	db "A switch behind", $4f
+	db "the poster!?", $55
+	db "Let's push it!@@"
+; 0x9dde2
+
+_UnnamedText_48f19: ; 0x9dde2
+	db $0, "Oops! Forgot the", $4f
+	db "COIN CASE!", $57
+; 0x9dde2 + 29 bytes
+
+_CeladonMart5Text1: ; 0x9ddff
+	db $0, "#MON ability", $4f
+	db "enhancers can be", $55
+	db "bought only here.", $51
+	db "Use CALCIUM to", $4f
+	db "increase SPECIAL", $55
+	db "abilities.", $51
+	db "Use CARBOS to", $4f
+	db "increase SPEED.", $57
+
+_CeladonMart5Text2: ; 0x9de79
+	db $0, "I'm here for", $4f
+	db "#MON ability", $55
+	db "enhancers.", $51
+	db "PROTEIN increases", $4f
+	db "ATTACK power.", $51
+	db "IRON increases", $4f
+	db "DEFENSE!", $57
+
+_CeladonMart5Text5: ; 0x9ded6
+	db $0, "5F: DRUG STORE", $57
+
+_CeladonPrizeRoomText1: ; 0x9dee6
+	db $0, "I sure do fancy", $4f
+	db "that PORYGON!", $51
+	db "But, it's hard to", $4f
+	db "win at slots!", $57
+
+_CeladonPrizeRoomText2: ; 0x9df24
+	db $0, "I had a major", $4f
+	db "haul today!", $57
+
+_CeladonDinerText1: ; 0x9df3f
+	db $0, "Hi!", $51
+	db "We're taking a", $4f
+	db "break now.", $57
+
+_CeladonDinerText2: ; 0x9df5d
+	db $0, "My #MON are", $4f
+	db "weak, so I often", $55
+	db "have to go to the", $55
+	db "DRUG STORE.", $57
+
+_CeladonDinerText3: ; 0x9df99
+	db $0, "Psst! There's a", $4f
+	db "basement under", $55
+	db "the GAME CORNER.", $57
+
+_CeladonDinerText4: ; 0x9dfc9
+	db $0, "Munch...", $51
+	db "The man at that", $4f
+	db "table lost it all", $55
+	db "at the slots.", $57
+
+_UnnamedText_491a7: ; 0x9e003
+	db $0, "Go ahead! Laugh!", $51
+	db "I'm flat out", $4f
+	db "busted!", $51
+	db "No more slots for", $4f
+	db "me! I'm going", $55
+	db "straight!", $51
+	db "Here! I won't be", $4f
+	db "needing this any-", $55
+	db "more!", $58
+; 0x9e003 + 119 bytes
+
+_ReceivedCoinCaseText: ; 0x9e07a
+	db $0, $52, " received", $4f
+	db "a @"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9e090
+
+_CoinCaseNoRoomText: ; 0x9e090
+	db $0, "Make room for", $4f
+	db "this!", $57
+; 0x9e090 + 21 bytes
+
+_UnnamedText_491b7: ; 0x9e0a5
+	db $0, "I always thought", $4f
+	db "I was going to", $55
+	db "win it back...", $57
+; 0x9e0a5 + 48 bytes
+
+_CeladonHouseText1: ; 0x9e0d5
+	db $0, "Hehehe! The slots", $4f
+	db "just reel in the", $55
+	db "dough, big time!", $57
+
+_CeladonHouseText2: ; 0x9e10a
+	db $0, "CHIEF!", $51
+	db "We just shipped", $4f
+	db "2000 #MON as", $55
+	db "slot prizes!", $57
+
+_CeladonHouseText3: ; 0x9e13c
+	db $0, "Don't touch the", $4f
+	db "poster at the", $55
+	db "GAME CORNER!", $51
+	db "There's no secret", $4f
+	db "switch behind it!", $57
+
+_CeladonHotelText1: ; 0x9e18a
+	db $0, "#MON? No, this", $4f
+	db "is a hotel for", $55
+	db "people.", $51
+	db "We're full up.", $57
+
+_CeladonHotelText2: ; 0x9e1bf
+	db $0, "I'm on vacation", $4f
+	db "with my brother", $55
+	db "and boy friend.", $51
+	db "CELADON is such a", $4f
+	db "pretty city!", $57
+
+_CeladonHotelText3: ; 0x9e20e
+	db $0, "Why did she bring", $4f
+	db "her brother?", $57
+
+_FuchsiaMartText2: ; 0x9e22e
+	db $0, "Do you have a", $4f
+	db "SAFARI ZONE flag?", $51
+	db "What about cards", $4f
+	db "or calendars?", $57
+
+_FuchsiaMartText3: ; 0x9e26e
+	db $0, "Did you try X", $4f
+	db "SPEED? It speeds", $55
+	db "up a #MON in", $55
+	db "battle!", $57
+
+_FuchsiaHouse1Text1: ; 0x9e2a3
+	db $0, "SAFARI ZONE's", $4f
+	db "WARDEN is old,", $55
+	db "but still active!", $51
+	db "All his teeth are", $4f
+	db "false, though.", $57
+
+_FuchsiaHouse1Text2: ; 0x9e2f3
+	db $0, "Hmm? You've met", $4f
+	db "BILL?", $51
+	db "He's my grandson!", $51
+	db "He always liked", $4f
+	db "collecting things", $55
+	db "even as a child!", $57
+
+_FuchsiaHouse1Text3: ; 0x9e34d
+	db $0, "BILL files his", $4f
+	db "own #MON data", $55
+	db "on his PC!", $51
+	db "Did he show you?", $57
+
+_FuchsiaPokecenterText1: ; 0x9e387
+	db $0, "You can't win", $4f
+	db "with just one", $55
+	db "strong #MON.", $51
+	db "It's tough, but", $4f
+	db "you have to raise", $55
+	db "them evenly.", $57
+
+_FuchsiaPokecenterText3: ; 0x9e3de
+	db $0, "There's a narrow", $4f
+	db "trail west of", $55
+	db "VIRIDIAN CITY.", $51
+	db "It goes to #MON", $4f
+	db "LEAGUE HQ.", $55
+	db "The HQ governs", $55
+	db "all trainers.", $57
+
+_UnnamedText_75135: ; 0x9e444
+	db $0, "WARDEN: Hif fuff", $4f
+	db "hefifoo!", $51
+	db "Ha lof ha feef ee", $4f
+	db "hafahi ho. Heff", $55
+	db "hee fwee!", $57
+; 0x9e444 + 71 bytes
+
+_UnnamedText_7513a: ; 0x9e48b
+	db $0, "Ah howhee ho hoo!", $4f
+	db "Eef ee hafahi ho!", $57
+; 0x9e48b + 37 bytes
+
+_UnnamedText_7513f: ; 0x9e4b0
+	db $0, "Ha? He ohay heh", $4f
+	db "ha hoo ee haheh!", $57
+; 0x9e4b0 + 34 bytes
+
+_UnnamedText_75144: ; 0x9e4d2
+	db $0, $52, " gave the", $4f
+	db "GOLD TEETH to the", $55
+	db "WARDEN!@@"
+; 0x9e4f9
+
+_UnnamedText_75149: ; 0x9e4f9
+	db $0, $51
+	db "The WARDEN popped", $4f
+	db "in his teeth!", $58
+; 0x9e4f9 + 34 bytes
+
+_UnnamedText_7514e: ; 0x9e51b
+	db $0, "WARDEN: Thanks,", $4f
+	db "kid! No one could", $55
+	db "understand a word", $55
+	db "that I said.", $51
+	db "I couldn't work", $4f
+	db "that way.", $55
+	db "Let me give you", $55
+	db "something for", $55
+	db "your trouble.", $58
+; 0x9e51b + 135 bytes
+
+UnnamedText_9e5a2: ; 0x9e5a2
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0x9e5b6
+
+_UnnamedText_75159: ; 0x9e5b6
+	db $0, "WARDEN: HM04", $4f
+	db "teaches STRENGTH!", $51
+	db "It lets #MON", $4f
+	db "move boulders", $55
+	db "when you're out-", $55
+	db "side of battle.", $51
+	db "Oh yes, did you", $4f
+	db "find SECRET HOUSE", $55
+	db "in SAFARI ZONE?", $51
+	db "If you do, you", $4f
+	db "win an HM!", $51
+	db "I hear it's the", $4f
+	db "rare SURF HM.", $57
+; 0x9e5b6 + 196 bytes
+
+_UnnamedText_7515e: ; 0x9e67a
+	db $0, "Your pack is", $4f
+	db "stuffed full!", $57
+; 0x9e67a + 28 bytes
+
+_UnnamedText_75176: ; 0x9e696
+	db $0, "#MON photos", $4f
+	db "and fossils.", $57
+; 0x9e696 + 26 bytes
+
+_UnnamedText_7517b: ; 0x9e6b0
+	db $0, "Old #MON", $4f
+	db "merchandise.", $57
+; 0x9e6b0 + 23 bytes
+
+_SafariZoneEntranceText1: ; 0x9e6c7
+	db $0, "Welcome to the", $4f
+	db "SAFARI ZONE!", $57
+
+UnnamedText_9e6e4: ; 0x9e6e4
+	db $0, "For just ", $f0, "500,", $4f
+	db "you can catch all", $55
+	db "the #MON you", $55
+	db "want in the park!", $51
+	db "Would you like to", $4f
+	db "join the hunt?@@"
+; 0x9e747
+
+UnnamedText_9e747: ; 0x9e747
+	db $0, "That'll be ", $f0, "500", $4f
+	db "please!", $51
+	db "We only use a", $4f
+	db "special # BALL", $55
+	db "here.", $51
+	db $52, " received", $4f
+	db "30 SAFARI BALLs!@@"
+; 0x9e79f
+
+_UnnamedText_75360: ; 0x9e79f
+	db $0, $51
+	db "We'll call you on", $4f
+	db "the PA when you", $55
+	db "run out of time", $55
+	db "or SAFARI BALLs!", $57
+; 0x9e79f + 68 bytes
+
+_UnnamedText_75365: ; 0x9e7e3
+	db $0, "OK! Please come", $4f
+	db "again!", $57
+; 0x9e7e3 + 24 bytes
+
+_UnnamedText_7536a: ; 0x9e7fb
+	db $0, "Oops! Not enough", $4f
+	db "money!", $57
+; 0x9e7fb + 25 bytes
+
+UnnamedText_9e814: ; 0x9e814
+	db $0, "Leaving early?@@"
+; 0x9e825
+
+_UnnamedText_753bb: ; 0x9e825
+	db $0, "Please return any", $4f
+	db "SAFARI BALLs you", $55
+	db "have left.", $57
+; 0x9e825 + 47 bytes
+
+_UnnamedText_753c0: ; 0x9e854
+	db $0, "Good Luck!", $57
+; 0x9e854 + 12 bytes
+
+_UnnamedText_753c5: ; 0x9e860
+	db $0, "Did you get a", $4f
+	db "good haul?", $55
+	db "Come again!", $57
+; 0x9e860 + 38 bytes
+
+_UnnamedText_753e6: ; 0x9e886
+	db $0, "Hi! Is it your", $4f
+	db "first time here?", $57
+; 0x9e886 + 33 bytes
+
+_UnnamedText_753eb: ; 0x9e8a7
+	db $0, "SAFARI ZONE has 4", $4f
+	db "zones in it.", $51
+	db "Each zone has", $4f
+	db "different kinds", $55
+	db "of #MON. Use", $55
+	db "SAFARI BALLs to", $55
+	db "catch them!", $51
+	db "When you run out", $4f
+	db "of time or SAFARI", $55
+	db "BALLs, it's game", $55
+	db "over for you!", $51
+	db "Before you go,", $4f
+	db "open an unused", $55
+	db "#MON BOX so", $55
+	db "there's room for", $55
+	db "new #MON!", $57
+; 0x9e8a7 + 236 bytes
+
+_UnnamedText_753f0: ; 0x9e993
+	db $0, "Sorry, you're a", $4f
+	db "regular here!", $57
+; 0x9e993 + 30 bytes
+
+_UnnamedText_75581: ; 0x9e9b1
+	db $0, "KOGA: Fwahahaha!", $51
+	db "A mere child like", $4f
+	db "you dares to", $55
+	db "challenge me?", $51
+	db "Very well, I", $4f
+	db "shall show you", $55
+	db "true terror as a", $55
+	db "ninja master!", $51
+	db "You shall feel", $4f
+	db "the despair of", $55
+	db "poison and sleep", $55
+	db "techniques!", $57
+; 0x9e9b1 + 181 bytes
+
+_UnnamedText_75586: ; 0x9ea66
+	db $0, "Humph!", $4f
+	db "You have proven", $55
+	db "your worth!", $51
+	db "Here! Take the", $4f
+	db "SOULBADGE!", $58
+; 0x9ea66 + 62 bytes
+
+SECTION "bank28",DATA,BANK[$28]
+
+_UnnamedText_7558b: ; 0xa0000
+	db $0, "When afflicted by", $4f
+	db "TOXIC, #MON", $55
+	db "suffer more and", $55
+	db "more as battle", $55
+	db "progresses!", $51
+	db "It will surely", $4f
+	db "terrorize foes!", $57
+; 0xa0000 + 105 bytes
+
+_UnnamedText_75590: ; 0xa0069
+	db $0, "Now that you have", $4f
+	db "the SOULBADGE,", $55
+	db "the DEFENSE of", $55
+	db "your #MON", $55
+	db "increases!", $51
+	db "It also lets you", $4f
+	db "SURF outside of", $55
+	db "battle!", $51
+	db "Ah! Take this", $4f
+	db "too!", $57
+; 0xa0069 + 130 bytes
+
+UnnamedText_a00eb: ; 0xa00eb
+	db $0, $52, " received", $4f
+	db "@"
+; 0xa00eb + 13 bytes = 0xa00f8
+
+UnnamedText_a00f8: ; 0xa00f8
+	TX_RAM $cf4b
+	db $0, "!@@"
+
+_UnnamedText_7559a: ; 0xa00ff
+	db $0, $51
+	db "TM06 contains", $4f
+	db "TOXIC!", $51
+	db "It is a secret", $4f
+	db "technique over", $55
+	db "400 years old!", $57
+; 0xa00ff + 68 bytes
+
+_UnnamedText_7559f: ; 0xa0143
+	db $0, "Make space for", $4f
+	db "this, child!", $57
+; 0xa0143 + 29 bytes
+
+_UnnamedText_755ae: ; 0xa0160
+	db $0, "Strength isn't", $4f
+	db "the key for", $55
+	db "#MON!", $51
+	db "It's strategy!", $51
+	db "I'll show you how", $4f
+	db "strategy can beat", $55
+	db "brute strength!", $57
+; 0xa0160 + 98 bytes
+
+_UnnamedText_755b3: ; 0xa01c2
+	db $0, "What?", $4f
+	db "Extraordinary!", $58
+; 0xa01c2 + 22 bytes
+
+_UnnamedText_755b8: ; 0xa01d8
+	db $0, "So, you mix brawn", $4f
+	db "with brains?", $55
+	db "Good strategy!", $57
+; 0xa01d8 + 47 bytes
+
+_UnnamedText_755c7: ; 0xa0207
+	db $0, "I wanted to become", $4f
+	db "a ninja, so I", $55
+	db "joined this GYM!", $57
+; 0xa0207 + 51 bytes
+
+_UnnamedText_755cc: ; 0xa023a
+	db $0, "I'm done", $4f
+	db "for!", $58
+; 0xa023a + 14 bytes
+
+_UnnamedText_755d1: ; 0xa0248
+	db $0, "I will keep on", $4f
+	db "training under", $55
+	db "KOGA, my ninja", $55
+	db "master!", $57
+; 0xa0248 + 54 bytes
+
+_UnnamedText_755e0: ; 0xa027e
+	db $0, "Let's see you", $4f
+	db "beat my special", $55
+	db "techniques!", $57
+; 0xa027e + 42 bytes
+
+_UnnamedText_755e5: ; 0xa02a8
+	db $0, "You", $4f
+	db "had me fooled!", $58
+; 0xa02a8 + 20 bytes
+
+_UnnamedText_755ea: ; 0xa02bc
+	db $0, "I like poison and", $4f
+	db "sleep techniques,", $55
+	db "as they linger", $55
+	db "after battle!", $57
+; 0xa02bc + 66 bytes
+
+_UnnamedText_755f9: ; 0xa02fe
+	db $0, "Stop right there!", $51
+	db "Our invisible", $4f
+	db "walls have you", $55
+	db "frustrated?", $57
+; 0xa02fe + 60 bytes
+
+_UnnamedText_755fe: ; 0xa033a
+	db $0, "Whoa!", $4f
+	db "He's got it!", $58
+; 0xa033a + 19 bytes
+
+_UnnamedText_75603: ; 0xa034d
+	db $0, "You impressed me!", $4f
+	db "Here's a hint!", $51
+	db "Look very closely", $4f
+	db "for gaps in the", $55
+	db "invisible walls!", $57
+; 0xa034d + 84 bytes
+
+_UnnamedText_75612: ; 0xa03a1
+	db $0, "I also study the", $4f
+	db "way of the ninja", $55
+	db "with master KOGA!", $51
+	db "Ninja have a long", $4f
+	db "history of using", $55
+	db "animals!", $57
+; 0xa03a1 + 97 bytes
+
+_UnnamedText_75617: ; 0xa0402
+	db $0, "Awoo!", $58
+; 0xa0402 + 7 bytes
+
+_UnnamedText_7561c: ; 0xa0409
+	db $0, "I still have much", $4f
+	db "to learn!", $57
+; 0xa0409 + 29 bytes
+
+_UnnamedText_7562b: ; 0xa0426
+	db $0, "Master KOGA comes", $4f
+	db "from a long line", $55
+	db "of ninjas!", $51
+	db "What did you", $4f
+	db "descend from?", $57
+; 0xa0426 + 74 bytes
+
+_UnnamedText_75630: ; 0xa0470
+	db $0, "Dropped", $4f
+	db "my balls!", $58
+; 0xa0470 + 19 bytes
+
+_UnnamedText_75635: ; 0xa0483
+	db $0, "Where there is", $4f
+	db "light, there is", $55
+	db "shadow!", $51
+	db "Light and shadow!", $4f
+	db "Which do you", $55
+	db "choose?", $57
+; 0xa0483 + 79 bytes
+
+_UnnamedText_7564e: ; 0xa04d2
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "FUCHSIA GYM is", $4f
+	db "riddled with", $55
+	db "invisible walls!", $51
+	db "KOGA might appear", $4f
+	db "close, but he's", $55
+	db "blocked off!", $51
+	db "You have to find", $4f
+	db "gaps in the walls", $55
+	db "to reach him!", $57
+; 0xa04d2 + 162 bytes
+
+_UnnamedText_75653: ; 0xa0574
+	db $0, "It's amazing how", $4f
+	db "ninja can terrify", $55
+	db "even now!", $57
+; 0xa0574 + 45 bytes
+
+_FuchsiaMeetingRoomText1: ; 0xa05a1
+	db $0, "We nicknamed the", $4f
+	db "WARDEN SLOWPOKE.", $51
+	db "He and SLOWPOKE", $4f
+	db "both look vacant!", $57
+
+_FuchsiaMeetingRoomText2: ; 0xa05e6
+	db $0, "SLOWPOKE is very", $4f
+	db "knowledgeable", $55
+	db "about #MON!", $51
+	db "He even has some", $4f
+	db "fossils of rare,", $55
+	db "extinct #MON!", $57
+
+_FuchsiaMeetingRoomText3: ; 0xa0642
+	db $0, "SLOWPOKE came in,", $4f
+	db "but I couldn't", $55
+	db "understand him.", $51
+	db "I think he's got", $4f
+	db "a speech problem!", $57
+
+_UnnamedText_561bd: ; 0xa0695
+	db $0, "I'm the FISHING", $4f
+	db "GURU's older", $55
+	db "brother!", $51
+	db "I simply Looove", $4f
+	db "fishing!", $51
+	db "Do you like to", $4f
+	db "fish?", $57
+; 0xa0695 + 83 bytes
+
+_UnnamedText_561c2: ; 0xa06e8
+	db $0, "Grand! I like", $4f
+	db "your style!", $51
+	db "Take this and", $4f
+	db "fish, young one!", $51
+	db $52, " received", $4f
+	db "a @"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa0737
+
+_UnnamedText_56212: ; 0xa0737
+	db $0, "Oh... That's so", $4f
+	db "disappointing...", $57
+; 0xa0737 + 33 bytes
+
+_UnnamedText_56217: ; 0xa0758
+	db $0, "Hello there,", $4f
+	db $52, "!", $51
+	db "How are the fish", $4f
+	db "biting?", $57
+; 0xa0758 + 42 bytes
+
+_UnnamedText_5621c: ; 0xa0782
+	db $0, "Oh no!", $51
+	db "You have no room", $4f
+	db "for my gift!", $57
+; 0xa0782 + 38 bytes
+
+_UnnamedText_4434b: ; 0xa07a8
+	db $0, "Who are you? There", $4f
+	db "shouldn't be", $55
+	db "anyone here.", $57
+; 0xa07a8 + 45 bytes
+
+_UnnamedText_44350: ; 0xa07d5
+	db $0, "Ouch!", $58
+; 0xa07d5 + 7 bytes
+
+_UnnamedText_44355: ; 0xa07dc
+	db $0, "A key? I don't", $4f
+	db "know what you're", $55
+	db "talking about.", $57
+; 0xa07dc + 46 bytes
+
+_UnnamedText_44395: ; 0xa080a
+	db $0, "A secret switch!", $51
+	db "Press it?", $57
+; 0xa080a + 28 bytes
+
+_UnnamedText_4439a: ; 0xa0826
+	db $0, "Who wouldn't?", $58
+; 0xa0826 + 14 bytes
+
+_UnnamedText_4439f: ; 0xa0834
+	db $0, "Not quite yet!", $57
+; 0xa0834 + 16 bytes
+
+_UnnamedText_75914: ; 0xa0844
+	db $0, "Hah!", $51
+	db "I am BLAINE! I", $4f
+	db "am the LEADER of", $55
+	db "CINNABAR GYM!", $51
+	db "My fiery #MON", $4f
+	db "will incinerate", $55
+	db "all challengers!", $51
+	db "Hah! You better", $4f
+	db "have BURN HEAL!", $57
+; 0xa0844 + 131 bytes
+
+UnnamedText_a08c7: ; 0xa08c7
+	db $0, "I have", $4f
+	db "burnt out!", $51
+	db "You have earned", $4f
+	db "the VOLCANOBADGE!@@"
+; 0xa08fd
+
+_UnnamedText_75920: ; 0xa08fd
+	db $0, "FIRE BLAST is the", $4f
+	db "ultimate fire", $55
+	db "technique!", $51
+	db "Don't waste it on", $4f
+	db "water #MON!", $57
+; 0xa08fd + 73 bytes
+
+_UnnamedText_75925: ; 0xa0946
+	db $0, "Hah!", $51
+	db "The VOLCANOBADGE", $4f
+	db "heightens the", $55
+	db "SPECIAL abilities", $55
+	db "of your #MON!", $51
+	db "Here, you can", $4f
+	db "have this too!", $57
+; 0xa0946 + 98 bytes
+
+UnnamedText_a09a8: ; 0xa09a8
+	db $0, $52, " received", $4f
+	db "@"
+; 0xa09a8 + 13 bytes = 0xa09b5
+
+UnnamedText_a09b5: ; 0xa09b5
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa09b5 + 7 bytes = 0xa09bc
+
+_UnnamedText_7592f: ; 0xa09bc
+	db $0, $51
+	db "TM38 contains", $4f
+	db "FIRE BLAST!", $51
+	db "Teach it to fire-", $4f
+	db "type #MON!", $51
+	db "CHARMELEON or", $4f
+	db "PONYTA would be", $55
+	db "good bets!", $57
+; 0xa09bc + 98 bytes
+
+_UnnamedText_75934: ; 0xa0a1e
+	db $0, "Make room for my", $4f
+	db "gift!", $57
+; 0xa0a1e + 24 bytes
+
+_UnnamedText_7595f: ; 0xa0a36
+	db $0, "Do you know how", $4f
+	db "hot #MON fire", $55
+	db "breath can get?", $57
+; 0xa0a36 + 47 bytes
+
+_UnnamedText_75964: ; 0xa0a65
+	db $0, "Yow!", $4f
+	db "Hot, hot, hot!", $58
+; 0xa0a65 + 21 bytes
+
+_UnnamedText_75969: ; 0xa0a7a
+	db $0, "Fire, or to be", $4f
+	db "more precise,", $55
+	db "combustion...", $51
+	db "Blah, blah, blah,", $4f
+	db "blah...", $57
+; 0xa0a7a + 70 bytes
+
+_UnnamedText_75994: ; 0xa0ac0
+	db $0, "I was a thief, but", $4f
+	db "I became straight", $55
+	db "as a trainer!", $57
+; 0xa0ac0 + 52 bytes
+
+_UnnamedText_75999: ; 0xa0af4
+	db $0, "I", $4f
+	db "surrender!", $58
+; 0xa0af4 + 14 bytes
+
+_UnnamedText_7599e: ; 0xa0b02
+	db $0, "I can't help", $4f
+	db "stealing other", $55
+	db "people's #MON!", $57
+; 0xa0b02 + 42 bytes
+
+_UnnamedText_759c9: ; 0xa0b2c
+	db $0, "You can't win!", $4f
+	db "I have studied", $55
+	db "#MON totally!", $57
+; 0xa0b2c + 44 bytes
+
+_UnnamedText_759ce: ; 0xa0b58
+	db $0, "Waah!", $4f
+	db "My studies!", $58
+; 0xa0b58 + 19 bytes
+
+_UnnamedText_759d3: ; 0xa0b6b
+	db $0, "My theories are", $4f
+	db "too complicated", $55
+	db "for you!", $57
+; 0xa0b6b + 42 bytes
+
+_UnnamedText_759fe: ; 0xa0b95
+	db $0, "I just like using", $4f
+	db "fire #MON!", $57
+; 0xa0b95 + 30 bytes
+
+_UnnamedText_75a03: ; 0xa0bb3
+	db $0, "Too hot", $4f
+	db "to handle!", $58
+; 0xa0bb3 + 20 bytes
+
+_UnnamedText_75a08: ; 0xa0bc7
+	db $0, "I wish there was", $4f
+	db "a thief #MON!", $55
+	db "I'd use that!", $57
+; 0xa0bc7 + 45 bytes
+
+_UnnamedText_75a33: ; 0xa0bf4
+	db $0, "I know why BLAINE", $4f
+	db "became a trainer!", $57
+; 0xa0bf4 + 37 bytes
+
+_UnnamedText_75a38: ; 0xa0c19
+	db $0, "Ow!", $58
+; 0xa0c19 + 5 bytes
+
+_UnnamedText_75a3d: ; 0xa0c1e
+	db $0, "BLAINE was lost", $4f
+	db "in the mountains", $55
+	db "when a fiery bird", $55
+	db "#MON appeared.", $51
+	db "Its light enabled", $4f
+	db "BLAINE to find", $55
+	db "his way down!", $57
+; 0xa0c1e + 114 bytes
+
+_UnnamedText_75a68: ; 0xa0c90
+	db $0, "I've been to many", $4f
+	db "GYMs, but this is", $55
+	db "my favorite!", $57
+; 0xa0c90 + 49 bytes
+
+_UnnamedText_75a6d: ; 0xa0cc1
+	db $0, "Yowza!", $4f
+	db "Too hot!", $58
+; 0xa0cc1 + 17 bytes
+
+_UnnamedText_75a72: ; 0xa0cd2
+	db $0, "Us fire #MON", $4f
+	db "fans like PONYTA", $55
+	db "and NINETALES!", $57
+; 0xa0cd2 + 46 bytes
+
+_UnnamedText_75a9d: ; 0xa0d00
+	db $0, "Fire is weak", $4f
+	db "against H2O!", $57
+; 0xa0d00 + 27 bytes
+
+_UnnamedText_75aa2: ; 0xa0d1b
+	db $0, "Oh!", $4f
+	db "Snuffed out!", $58
+; 0xa0d1b + 18 bytes
+
+_UnnamedText_75aa7: ; 0xa0d2d
+	db $0, "Water beats fire!", $4f
+	db "But, fire melts", $55
+	db "ice #MON!", $57
+; 0xa0d2d + 45 bytes
+
+_UnnamedText_75ac2: ; 0xa0d5a
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "The hot-headed", $4f
+	db "BLAINE is a fire", $55
+	db "#MON pro!", $51
+	db "Douse his spirits", $4f
+	db "with water!", $51
+	db "You better take", $4f
+	db "some BURN HEALs!", $57
+; 0xa0d5a + 127 bytes
+
+_UnnamedText_75ac7: ; 0xa0dd9
+	db $0, $52, "! You beat", $4f
+	db "that fire brand!", $57
+; 0xa0dd9 + 30 bytes
+
+_Lab1Text1: ; 0xa0df7
+	db $0, "We study #MON", $4f
+	db "extensively here.", $51
+	db "People often bring", $4f
+	db "us rare #MON", $55
+	db "for examination.", $57
+
+_Lab1Text2: ; 0xa0e49
+	db $0, "A photo of the", $4f
+	db "LAB's founder,", $55
+	db "DR.FUJI!", $57
+
+_Lab1Text3: ; 0xa0e70
+	db $0, "#MON LAB", $4f
+	db "Meeting Room", $57
+
+_Lab1Text4: ; 0xa0e87
+	db $0, "#MON LAB", $4f
+	db "R-and-D Room", $57
+
+_Lab1Text5: ; 0xa0e9e
+	db $0, "#MON LAB", $4f
+	db "Testing Room", $57
+
+_Lab2Text1: ; 0xa0eb5
+	db $0, "I found this very", $4f
+	db "strange fossil in", $55
+	db "MT.MOON!", $51
+	db "I think it's a", $4f
+	db "rare, prehistoric", $55
+	db "#MON!", $57
+
+_UnnamedText_75cc8: ; 0xa0f09
+	db $0, "Tch-tch-tch!", $4f
+	db "I made a cool TM!", $51
+	db "It can cause all", $4f
+	db "kinds of fun!", $58
+; 0xa0f09 + 63 bytes
+
+UnnamedText_a0f48: ; 0xa0f48
+	db $0, $52, " received ", $4f
+	db "@"
+; 0xa0f56
+
+UnnamedText_a0f56: ; 0xa0f56
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa0f5d
+
+_UnnamedText_75cd3: ; 0xa0f5d
+	db $0, "Tch-tch-tch!", $4f
+	db "That's the sound", $55
+	db "of a METRONOME!", $51
+	db "It tweaks your", $4f
+	db "#MON's brain", $55
+	db "into using moves", $55
+	db "it doesn't know!", $57
+; 0xa0f5d + 106 bytes
+
+_UnnamedText_75cd8: ; 0xa0fc7
+	db $0, "Your pack is", $4f
+	db "crammed full!", $57
+; 0xa0fc7 + 28 bytes
+
+_Lab3Text2: ; 0xa0fe3
+	db $0, "EEVEE can evolve", $4f
+	db "into 1 of 3 kinds", $55
+	db "of #MON.", $57
+
+_Lab3Text3: ; 0xa1010
+	db $0, "There's an e-mail", $4f
+	db "message!", $51
+	db "...", $51
+	db "The 3 legendary", $4f
+	db "bird #MON are", $55
+	db "ARTICUNO, ZAPDOS", $55
+	db "and MOLTRES.", $51
+	db "Their whereabouts", $4f
+	db "are unknown.", $51
+	db "We plan to explore", $4f
+	db "the cavern close", $55
+	db "to CERULEAN.", $51
+	db "From: #MON", $4f
+	db "RESEARCH TEAM", $51
+	db "...", $57
+
+_Lab3Text5: ; 0xa10d8
+	db $0, "An amber pipe!", $57
+
+_UnnamedText_75dc6: ; 0xa10e8
+	db $0, "Hiya!", $51
+	db "I am important", $4f
+	db "doctor!", $51
+	db "I study here rare", $4f
+	db "#MON fossils!", $51
+	db "You! Have you a", $4f
+	db "fossil for me?", $58
+; 0xa10e8 + 93 bytes
+
+_UnnamedText_75dcb: ; 0xa1145
+	db $0, "No! Is too bad!", $57
+; 0xa1145 + 17 bytes
+
+_UnnamedText_75dd0: ; 0xa1156
+	db $0, "I take a little", $4f
+	db "time!", $51
+	db "You go for walk a", $4f
+	db "little while!", $57
+; 0xa1156 + 55 bytes
+
+_UnnamedText_75dd5: ; 0xa118d
+	db $0, "Where were you?", $51
+	db "Your fossil is", $4f
+	db "back to life!", $51
+	db "It was @"
+; 0xa118d + 54 bytes
+
+UnnamedText_a11c3: ; 0xa11c3
+	TX_RAM $cf4b
+	db $0, $4f
+	db "like I think!", $58
+; 0xa11d6
+
+_UnnamedText_610ae: ; 0xa11d6
+	db $0, "Oh! That is", $4f
+	db "@"
+; 0xa11d6 + 14 bytes
+
+UnnamedText_a11e4: ; 0xa11e4
+	TX_RAM $cd6d
+	db $0, "!", $51
+	db "It is fossil of", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, ", a", $55
+	db "#MON that is", $55
+	db "already extinct!", $51
+	db "My Resurrection", $4f
+	db "Machine will make", $55
+	db "that #MON live", $55
+	db "again!", $57
+; 0xa1259
+
+_UnnamedText_610b3: ; 0xa1259
+	db $0, "So! You hurry and", $4f
+	db "give me that!", $51
+	db $52, " handed", $4f
+	db "over @"
+	TX_RAM $cd6d
+	db $0, "!", $58
+; 0xa128f
+
+_UnnamedText_610b8: ; 0xa128f
+	db $0, "I take a little", $4f
+	db "time!", $51
+	db "You go for walk a", $4f
+	db "little while!", $57
+; 0xa128f + 55 bytes
+
+_UnnamedText_610bd: ; 0xa12c6
+	db $0, "Aiyah! You come", $4f
+	db "again!", $57
+; 0xa12c6 + 24 bytes
+
+_CinnabarPokecenterText2:
+_CinnabarPokecenterText1: ; 0xa12de
+	db $0, "You can cancel", $4f
+	db "evolution.", $51
+	db "When a #MON is", $4f
+	db "evolving, you can", $55
+	db "stop it and leave", $55
+	db "it the way it is.", $57
+
+_CinnabarPokecenterText3: ; 0xa133e
+	db $0, "Do you have any", $4f
+	db "friends?", $51
+	db "#MON you get", $4f
+	db "in trades grow", $55
+	db "very quickly.", $51
+	db "I think it's", $4f
+	db "worth a try!", $57
+
+_CinnabarMartText2: ; 0xa139b
+	db $0, "Don't they have X", $4f
+	db "ATTACK? It's good", $55
+	db "for battles!", $57
+
+_CinnabarMartText3: ; 0xa13cb
+	db $0, "It never hurts to", $4f
+	db "have extra items!", $57
+
+_IndigoPlateauLobbyText1: ; 0xa13f0
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "At #MON LEAGUE,", $4f
+	db "you have to face", $55
+	db "the ELITE FOUR in", $55
+	db "succession.", $51
+	db "If you lose, you", $4f
+	db "have to start all", $55
+	db "over again! This", $55
+	db "is it! Go for it!", $57
+
+_IndigoPlateauLobbyText3: ; 0xa148b
+	db $0, "From here on, you", $4f
+	db "face the ELITE", $55
+	db "FOUR one by one!", $51
+	db "If you win, a", $4f
+	db "door opens to the", $55
+	db "next trainer!", $55
+	db "Good luck!", $57
+
+_CopycatsHouseF1Text1: ; 0xa14f7
+	db $0, "My daughter is so", $4f
+	db "self-centered.", $55
+	db "She only has a", $55
+	db "few friends.", $57
+
+_CopycatsHouseF1Text2: ; 0xa1535
+	db $0, "My daughter likes", $4f
+	db "to mimic people.", $51
+	db "Her mimicry has", $4f
+	db "earned her the", $55
+	db "nickname COPYCAT", $55
+	db "around here!", $57
+
+_CopycatsHouseF1Text3: ; 0xa1596
+	db $0, "CHANSEY: Chaan!", $4f
+	db "Sii!@@"
+
+_UnnamedText_5ccd4: ; 0xa15ad
+	db $0, $52, ": Hi! Do", $4f
+	db "you like #MON?", $51
+	db $52, ": Uh no, I", $4f
+	db "just asked you.", $51
+	db $52, ": Huh?", $4f
+	db "You're strange!", $51
+	db "COPYCAT: Hmm?", $4f
+	db "Quit mimicking?", $51
+	db "But, that's my", $4f
+	db "favorite hobby!", $58
+; 0xa15ad + 137 bytes
+
+_UnnamedText_5ccd9: ; 0xa1636
+	db $0, "Oh wow!", $4f
+	db "A # DOLL!", $51
+	db "For me?", $4f
+	db "Thank you!", $51
+	db "You can have", $4f
+	db "this, then!", $58
+; 0xa1636 + 63 bytes
+
+_ReceivedTM31Text: ; 0xa1675
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa1689
+
+_TM31ExplanationText1: ; 0xa1689
+	db $0, $51
+	db "TM31 contains my", $4f
+	db "favorite, MIMIC!", $51
+	db "Use it on a good", $4f
+	db "#MON!@@"
+; 0xa16c5
+
+_TM31ExplanationText2: ; 0xa16c5
+	db $0, $52, ": Hi!", $4f
+	db "Thanks for TM31!", $51
+	db $52, ": Pardon?", $51
+	db $52, ": Is it", $4f
+	db "that fun to mimic", $55
+	db "my every move?", $51
+	db "COPYCAT: You bet!", $4f
+	db "It's a scream!", $57
+; 0xa16c5 + 110 bytes
+
+_TM31NoRoomText: ; 0xa1733
+	db $0, "Don't you want", $4f
+	db "this?@@"
+; 0xa1749
+
+_CopycatsHouseF2Text2: ; 0xa1749
+	db $0, "DODUO: Giiih!", $51
+	db "MIRROR MIRROR ON", $4f
+	db "THE WALL, WHO IS", $55
+	db "THE FAIREST ONE", $55
+	db "OF ALL?", $57
+
+_CopycatsHouseF2Text3: ; 0xa1792
+	db $0, "This is a rare", $4f
+	db "#MON! Huh?", $55
+	db "It's only a doll!", $57
+
+_CopycatsHouseF2Text6: ; 0xa17be
+	db $0, "A game with MARIO", $4f
+	db "wearing a bucket", $55
+	db "on his head!", $57
+
+_UnnamedText_5cd17: ; 0xa17ef
+	db $0, "...", $51
+	db "My Secrets!", $51
+	db "Skill: Mimicry!", $4f
+	db "Hobby: Collecting", $55
+	db "dolls!", $55
+	db "Favorite #MON:", $55
+	db "CLEFAIRY!", $57
+; 0xa17ef + 83 bytes
+
+_UnnamedText_5cd1c: ; 0xa1842
+	db $0, "Huh? Can't see!", $57
+; 0xa1842 + 16 bytes
+
+_UnnamedText_5ce8e: ; 0xa1852
+	db $0, "Grunt!", $51
+	db "I am the KARATE", $4f
+	db "MASTER! I am the", $55
+	db "LEADER here!", $51
+	db "You wish to", $4f
+	db "challenge us?", $55
+	db "Expect no mercy!", $51
+	db "Fwaaa!", $57
+; 0xa1852 + 104 bytes
+
+_UnnamedText_5ce93: ; 0xa18ba
+	db $0, "Hwa!", $4f
+	db "Arrgh! Beaten!", $58
+; 0xa18ba + 21 bytes
+
+_UnnamedText_5ce98: ; 0xa18cf
+	db $0, "Indeed, I have", $4f
+	db "lost!", $51
+	db "But, I beseech", $4f
+	db "you, do not take", $55
+	db "our emblem as", $55
+	db "your trophy!", $51
+	db "In return, I will", $4f
+	db "give you a prized", $55
+	db "fighting #MON!", $51
+	db "Choose whichever", $4f
+	db "one you like!", $57
+; 0xa18cf + 163 bytes
+
+_UnnamedText_5ce9d: ; 0xa1972
+	db $0, "Ho!", $51
+	db "Stay and train at", $4f
+	db "Karate with us!", $57
+; 0xa1972 + 39 bytes
+
+_UnnamedText_5ceac: ; 0xa1999
+	db $0, "Hoargh! Take your", $4f
+	db "shoes off!", $57
+; 0xa1999 + 30 bytes
+
+_UnnamedText_5ceb1: ; 0xa19b7
+	db $0, "I give", $4f
+	db "up!", $58
+; 0xa19b7 + 12 bytes
+
+_UnnamedText_5ceb6: ; 0xa19c3
+	db $0, "You wait 'til you", $4f
+	db "see our Master!", $51
+	db "I'm a small fry", $4f
+	db "compared to him!", $57
+; 0xa19c3 + 66 bytes
+
+_UnnamedText_5cec5: ; 0xa1a05
+	db $0, "I hear you're", $4f
+	db "good! Show me!", $57
+; 0xa1a05 + 29 bytes
+
+_UnnamedText_5ceca: ; 0xa1a22
+	db $0, "Judge!", $4f
+	db "1 point!", $58
+; 0xa1a22 + 17 bytes
+
+_UnnamedText_5cecf: ; 0xa1a33
+	db $0, "Our Master is a", $4f
+	db "pro fighter!", $57
+; 0xa1a33 + 30 bytes
+
+_UnnamedText_5cede: ; 0xa1a51
+	db $0, "Nothing tough", $4f
+	db "frightens me!", $51
+	db "I break boulders", $4f
+	db "for training!", $57
+; 0xa1a51 + 60 bytes
+
+_UnnamedText_5cee3: ; 0xa1a8d
+	db $0, "Yow!", $4f
+	db "Stubbed fingers!", $58
+; 0xa1a8d + 23 bytes
+
+_UnnamedText_5cee8: ; 0xa1aa4
+	db $0, "The only thing", $4f
+	db "that frightens us", $55
+	db "is psychic power!", $57
+; 0xa1aa4 + 52 bytes
+
+_UnnamedText_5cef7: ; 0xa1ad8
+	db $0, "Hoohah!", $51
+	db "You're trespassing", $4f
+	db "in our FIGHTING", $55
+	db "DOJO!", $57
+; 0xa1ad8 + 49 bytes
+
+_UnnamedText_5cefc: ; 0xa1b09
+	db $0, "Oof!", $4f
+	db "I give up!", $58
+; 0xa1b09 + 17 bytes
+
+_UnnamedText_5cf01: ; 0xa1b1a
+	db $0, "The prime fighters", $4f
+	db "across the land", $55
+	db "train here.", $57
+; 0xa1b1a + 48 bytes
+
+_UnnamedText_5cf49: ; 0xa1b4a
+	db $0, "You want the", $4f
+	db "hard kicking", $55
+	db "HITMONLEE?", $57
+; 0xa1b4a + 38 bytes
+
+_UnnamedText_5cf91: ; 0xa1b70
+	db $0, "You want the", $4f
+	db "piston punching", $55
+	db "HITMONCHAN?", $57
+; 0xa1b70 + 42 bytes
+
+_UnnamedText_5cf96: ; 0xa1b9a
+	db $0, "Better not get", $4f
+	db "greedy...", $57
+; 0xa1b9a + 26 bytes
+
+_UnnamedText_5d162: ; 0xa1bb4
+	db $0, "I had a vision of", $4f
+	db "your arrival!", $51
+	db "I have had psychic", $4f
+	db "powers since I", $55
+	db "was a child.", $51
+	db "I first learned", $4f
+	db "to bend spoons", $55
+	db "with my mind.", $51
+	db "I dislike fight-", $4f
+	db "ing, but if you", $55
+	db "wish, I will show", $55
+	db "you my powers!", $57
+; 0xa1bb4 + 191 bytes
+
+_UnnamedText_5d167: ; 0xa1c73
+	db $0, "I'm", $4f
+	db "shocked!", $55
+	db "But, a loss is a", $55
+	db "loss.", $51
+	db "I admit I didn't", $4f
+	db "work hard enough", $55
+	db "to win!", $51
+	db "You earned the", $4f
+	db "MARSHBADGE!@@"
+; 0xa1cdc
+
+_UnnamedText_5d16e: ; 0xa1cdc
+	db $0, "Everyone has", $4f
+	db "psychic power!", $55
+	db "People just don't", $55
+	db "realize it!", $57
+; 0xa1cdc + 58 bytes
+
+_UnnamedText_5d173: ; 0xa1d16
+	db $0, "The MARSHBADGE", $4f
+	db "makes #MON up", $55
+	db "to L70 obey you!", $51
+	db "Stronger #MON", $4f
+	db "will become wild,", $55
+	db "ignoring your", $55
+	db "orders in battle!", $51
+	db "Just don't raise", $4f
+	db "your #MON too", $55
+	db "much!", $51
+	db "Wait, please take", $4f
+	db "this TM with you!", $57
+; 0xa1d16 + 183 bytes
+
+ReceivedTM46Text: ; 0xa1dcd
+	db $0, $52, " received", $4f
+	db "TM46!@@"
+; 0xa1de0
+
+_UnnamedText_5d17d: ; 0xa1de0
+	db $0, $51
+	db "TM46 is PSYWAVE!", $4f
+	db "It uses powerful", $55
+	db "psychic waves to", $55
+	db "inflict damage!", $57
+; 0xa1de0 + 69 bytes
+
+_UnnamedText_5d182: ; 0xa1e25
+	db $0, "Your pack is full", $4f
+	db "of other items!", $57
+; 0xa1e25 + 35 bytes
+
+_UnnamedText_5d1e6: ; 0xa1e48
+	db $0, "Yo! Champ in", $4f
+	db "making!", $51
+	db "SABRINA's #MON", $4f
+	db "use psychic power", $55
+	db "instead of force!", $51
+	db "Fighting #MON", $4f
+	db "are weak against", $55
+	db "psychic #MON!", $51
+	db "They get creamed", $4f
+	db "before they can", $55
+	db "even aim a punch!", $57
+; 0xa1e48 + 168 bytes
+
+_UnnamedText_5d1eb: ; 0xa1ef0
+	db $0, "Psychic power,", $4f
+	db "huh?", $51
+	db "If I had that,", $4f
+	db "I'd make a bundle", $55
+	db "at the slots!", $57
+; 0xa1ef0 + 67 bytes
+
+_UnnamedText_5d1f0: ; 0xa1f33
+	db $0, "SABRINA is younger", $4f
+	db "than I, but I", $55
+	db "respect her!", $57
+; 0xa1f33 + 47 bytes
+
+_UnnamedText_5d1f5: ; 0xa1f62
+	db $0, "Not", $4f
+	db "good enough!", $58
+; 0xa1f62 + 18 bytes
+
+_UnnamedText_5d1fa: ; 0xa1f74
+	db $0, "In a battle of", $4f
+	db "equals, the one", $55
+	db "with the stronger", $55
+	db "will wins!", $51
+	db "If you wish", $4f
+	db "to beat SABRINA,", $55
+	db "focus on winning!", $57
+; 0xa1f74 + 108 bytes
+
+_UnnamedText_5d1ff: ; 0xa1fe0
+	db $0, "Does our unseen", $4f
+	db "power scare you?", $57
+; 0xa1fe0 + 34 bytes
+
+_UnnamedText_5d204: ; 0xa2002
+	db $0, "I never", $4f
+	db "foresaw this!", $58
+; 0xa2002 + 23 bytes
+
+_UnnamedText_5d209: ; 0xa2019
+	db $0, "Psychic #MON", $4f
+	db "fear only ghosts", $55
+	db "and bugs!", $57
+; 0xa2019 + 41 bytes
+
+_UnnamedText_5d20e: ; 0xa2042
+	db $0, "#MON take on", $4f
+	db "the appearance of", $55
+	db "their trainers.", $51
+	db "Your #MON must", $4f
+	db "be tough, then!", $57
+; 0xa2042 + 79 bytes
+
+_UnnamedText_5d213: ; 0xa2091
+	db $0, "I knew", $4f
+	db "it!", $58
+; 0xa2091 + 12 bytes
+
+_UnnamedText_5d218: ; 0xa209d
+	db $0, "I must teach", $4f
+	db "better techniques", $55
+	db "to my #MON!", $57
+; 0xa209d + 44 bytes
+
+_UnnamedText_5d21d: ; 0xa20c9
+	db $0, "You know that", $4f
+	db "power alone isn't", $55
+	db "enough!", $57
+; 0xa20c9 + 40 bytes
+
+_UnnamedText_5d222: ; 0xa20f1
+	db $0, "I don't", $4f
+	db "believe this!", $58
+; 0xa20f1 + 22 bytes
+
+_UnnamedText_5d227: ; 0xa2107
+	db $0, "SABRINA just wiped", $4f
+	db "out the KARATE", $55
+	db "MASTER next door!", $57
+; 0xa2107 + 53 bytes
+
+_UnnamedText_5d22c: ; 0xa213c
+	db $0, "You and I, our", $4f
+	db "#MON shall", $55
+	db "fight!", $57
+; 0xa213c + 34 bytes
+
+_UnnamedText_5d231: ; 0xa215e
+	db $0, "I lost", $4f
+	db "after all!", $58
+; 0xa215e + 19 bytes
+
+_UnnamedText_5d236: ; 0xa2171
+	db $0, "I knew that this", $4f
+	db "was going to take", $55
+	db "place.", $57
+; 0xa2171 + 43 bytes
+
+_UnnamedText_5d23b: ; 0xa219c
+	db $0, "SABRINA is young,", $4f
+	db "but she's also", $55
+	db "our LEADER!", $51
+	db "You won't reach", $4f
+	db "her easily!", $57
+; 0xa219c + 72 bytes
+
+_UnnamedText_5d240: ; 0xa21e4
+	db $0, "I lost", $4f
+	db "my concentration!", $58
+; 0xa21e4 + 26 bytes
+
+_UnnamedText_5d245: ; 0xa21fe
+	db $0, "There used to be", $4f
+	db "2 #MON GYMs in", $55
+	db "SAFFRON.", $51
+	db "The FIGHTING DOJO", $4f
+	db "next door lost", $55
+	db "its GYM status", $55
+	db "when we went and", $55
+	db "creamed them!", $57
+; 0xa21fe + 121 bytes
+
+_UnnamedText_5d24a: ; 0xa2277
+	db $0, "SAFFRON #MON", $4f
+	db "GYM is famous for", $55
+	db "its psychics!", $51
+	db "You want to see", $4f
+	db "SABRINA!", $55
+	db "I can tell!", $57
+; 0xa2277 + 83 bytes
+
+_UnnamedText_5d24f: ; 0xa22ca
+	db $0, "Arrrgh!", $58
+; 0xa22ca + 9 bytes
+
+_UnnamedText_5d254: ; 0xa22d3
+	db $0, "That's right! I", $4f
+	db "used telepathy to", $55
+	db "read your mind!", $57
+; 0xa22d3 + 50 bytes
+
+_SaffronHouse1Text1: ; 0xa2305
+	db $0, "Thank you for", $4f
+	db "writing. I hope", $55
+	db "to see you soon!", $51
+	db "Hey! Don't look", $4f
+	db "at my letter!", $57
+
+_SaffronHouse1Text2: ; 0xa2352
+	db $0, "PIDGEY: Kurukkoo!@@"
+
+_SaffronHouse1Text3: ; 0xa2366
+	db $0, "The COPYCAT is", $4f
+	db "cute! I'm getting", $55
+	db "her a # DOLL!", $57
+
+_SaffronHouse1Text4: ; 0xa2395
+	db $0, "I was given a PP", $4f
+	db "UP as a gift.", $51
+	db "It's used for", $4f
+	db "increasing the PP", $55
+	db "of techniques!", $57
+
+_SaffronMartText2: ; 0xa23e3
+	db $0, "MAX REPEL lasts", $4f
+	db "longer than SUPER", $55
+	db "REPEL for keeping", $55
+	db "weaker #MON", $55
+	db "away!", $57
+
+_SaffronMartText3: ; 0xa242a
+	db $0, "REVIVE is costly,", $4f
+	db "but it revives", $55
+	db "fainted #MON!", $57
+
+_SilphCo1Text1: ; 0xa245a
+	db $0, "Welcome!", $51
+	db "The PRESIDENT is", $4f
+	db "in the boardroom", $55
+	db "on 11F!", $57
+
+_SaffronPokecenterText1: ; 0xa248e
+	db $0, "#MON growth", $4f
+	db "rates differ from", $55
+	db "specie to specie.", $57
+
+_SaffronPokecenterText3: ; 0xa24bf
+	db $0, "SILPH CO. is very", $4f
+	db "famous. That's", $55
+	db "why it attracted", $55
+	db "TEAM ROCKET!", $57
+
+_UnnamedText_1de75: ; 0xa24fe
+	db $0, "...Wait! Don't", $4f
+	db "say a word!", $51
+	db "You wanted this!", $58
+; 0xa24fe + 44 bytes
+
+_UnnamedText_1de7a: ; 0xa252a
+	db $0, $52, " received", $4f
+	db "@"
+; 0xa2537
+
+UnnamedText_a2537: ; 0xa2537
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa253e
+
+_UnnamedText_1de80: ; 0xa253e
+	db $0, "TM29 is PSYCHIC!", $51
+	db "It can lower the", $4f
+	db "target's SPECIAL", $55
+	db "abilities.", $57
+; 0xa253e + 62 bytes
+
+_UnnamedText_1de85: ; 0xa257c
+	db $0, "Where do you plan", $4f
+	db "to put this?", $57
+; 0xa257c + 32 bytes
+
+_UnnamedText_2a55: ; 0xa259c
+	db $0, "Hi there!", $4e, "May I help you?", $57
+; 0xa259c + 27 bytes
+
+_UnnamedText_2aa4: ; 0xa25b7
+	TX_RAM $cd6d
+	db $0, $4f
+	db "fainted!", $57
+; 0xa25b7 + 14 bytes
+
+_UnnamedText_2aba: ; 0xa25c5
+	db $0, $52, " is out of", $4f
+	db "useable #MON!", $51
+	db $52, " blacked", $4f
+	db "out!", $58
+; 0xa25c5 + 42 bytes
+
+_UnnamedText_2ac8: ; 0xa25ef
+	db $0, "REPEL's effect", $4f
+	db "wore off.", $57
+; 0xa25ef + 25 bytes
+
+_UnnamedText_6e0c: ; 0xa2608
+	db $0, "Take your time.", $57
+; 0xa2608 + 17 bytes
+
+_UnnamedText_6e11: ; 0xa2619
+	TX_RAM $cf4b
+	db $0, "?", $4f
+	db "That will be", $55
+	db $f0, "@"
+	db $2, $9f, $ff, $c3
+	db $0, ". OK?", $57
+; 0xa2639
+
+_UnnamedText_6e16: ; 0xa2639
+	db $0, "Here you are!", $4f
+	db "Thank you!", $58
+; 0xa2639 + 26 bytes
+
+_UnnamedText_6e1b: ; 0xa2653
+	db $0, "You don't have", $4f
+	db "enough money.", $58
+; 0xa2653 + 29 bytes
+
+_UnnamedText_6e20: ; 0xa2670
+	db $0, "You can't carry", $4f
+	db "any more items.", $58
+; 0xa2670 + 32 bytes
+
+_UnnamedText_6e25: ; 0xa2690
+	db $0, "What would you", $4f
+	db "like to sell?", $57
+; 0xa2690 + 30 bytes
+
+_UnnamedText_6e2a: ; 0xa26ae
+	db $0, "I can pay you", $4f
+	db $f0, "@"
+	db $2, $9f, $ff, $c3 ; XXX
+	db $0, " for that.", $57
+; 0xa26cf
+
+_UnnamedText_6e2f: ; 0xa26cf
+	db $0, "You don't have", $4f
+	db "anything to sell.", $58
+; 0xa26cf + 33 bytes
+
+_UnnamedText_6e34: ; 0xa26f0
+	db $0, "I can't put a", $4f
+	db "price on that.", $58
+; 0xa26f0 + 29 bytes
+
+_UnnamedText_6e39: ; 0xa270d
+	db $0, "Thank you!", $57
+; 0xa270d + 12 bytes
+
+_UnnamedText_6e3e: ; 0xa2719
+	db $0, "Is there anything", $4f
+	db "else I can do?", $57
+; 0xa2719 + 34 bytes
+
+UnnamedText_a273b: ; 0xa273b
+	TX_RAM $d036
+	db $0, " learned", $4f
+	db "@"
+; 0xa2749
+
+UnnamedText_a2749: ; 0xa2749
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa2750
+
+_UnnamedText_6fb4: ; 0xa2750
+	db $0, "Which move should", $4e, "be forgotten?", $57
+; 0xa2750 + 33 bytes
+
+_UnnamedText_6fb9: ; 0xa2771
+	db $0, "Abandon learning", $4f
+	db "@"
+; 0xa2771 + 19 bytes
+
+UnnamedText_a2784: ; 0xa2784
+	TX_RAM $cf4b
+	db $0, "?", $57
+; 0xa278a
+
+_UnnamedText_6fbe: ; 0xa278a
+	TX_RAM $d036
+	db $0, $4f
+	db "did not learn", $55
+	db "@"
+; 0xa278a + 20 bytes
+
+UnnamedText_a279e: ; 0xa279e
+	TX_RAM $cf4b
+	db $0, "!", $58
+; 0xa27a4
+
+_UnnamedText_6fc3: ; 0xa27a4
+	TX_RAM $d036
+	db $0, " is", $4f
+	db "trying to learn", $55
+	db "@"
+; 0xa27a4 + 25 bytes
+
+UnnamedText_a27bd: ; 0xa27bd
+	TX_RAM $cf4b
+	db $0, "!", $51
+	db "But, @"
+	TX_RAM $d036
+	db $0, $4f
+	db "can't learn more", $55
+	db "than 4 moves!", $51
+	db "Delete an older", $4f
+	db "move to make room", $55
+	db "for @"
+; 0xa2813
+
+UnnamedText_a2813: ; 0xa2813
+	TX_RAM $cf4b
+	db $0, "?", $57
+; 0xa2819
+
+_UnnamedText_6fc8: ; 0xa2819
+	db $0, "1, 2 and...@@"
+; 0xa2827
+
+_UnnamedText_6fd7: ; 0xa2827
+	db $0, " Poof!@@"
+; 0xa2830
+
+_UnnamedText_6fdc: ; 0xa2830
+	db $0, $51
+	db "@"
+; 0xa2830 + 3 bytes
+
+UnnamedText_a2833: ; 0xa2833
+	TX_RAM $d036
+	db $0, " forgot", $4f
+	db "@"
+	TX_RAM $cd6d
+	db $0, "!", $51
+	db "And...", $58
+; 0xa284d
+
+_UnnamedText_6fe1: ; 0xa284d
+	db $0, "HM techniques", $4f
+	db "can't be deleted!", $58
+; 0xa284d + 32 bytes
+
+_UnnamedText_705d: ; 0xa286d
+	db $0, "Welcome to our", $4f
+	db "#MON CENTER!", $51
+	db "We heal your", $4f
+	db "#MON back to", $55
+	db "perfect health!", $58
+; 0xa286d + 71 bytes
+
+_UnnamedText_7063: ; 0xa28b4
+	db $0, "Shall we heal your", $4f
+	db "#MON?", $57
+; 0xa28b4 + 26 bytes
+
+_UnnamedText_7068: ; 0xa28ce
+	db $0, "OK. We'll need", $4f
+	db "your #MON.", $57
+; 0xa28ce + 26 bytes
+
+_UnnamedText_706d: ; 0xa28e8
+	db $0, "Thank you!", $4f
+	db "Your #MON are", $55
+	db "fighting fit!", $58
+; 0xa28e8 + 40 bytes
+
+_UnnamedText_7073: ; 0xa2910
+	db $0, "We hope to see", $4f
+	db "you again!", $57
+; 0xa2910 + 27 bytes
+
+_UnnamedText_72b3: ; 0xa292b
+	db $0, "This area is", $4f
+	db "reserved for 2", $55
+	db "friends who are", $55
+	db "linked by cable.", $57
+; 0xa292b + 62 bytes
+
+_UnnamedText_72b8: ; 0xa2969
+	db $0, "Welcome to the", $4f
+	db "Cable Club!", $57
+; 0xa2969 + 28 bytes
+
+_UnnamedText_72bd: ; 0xa2985
+	db $0, "Please apply here.", $51
+	db "Before opening", $4f
+	db "the link, we have", $55
+	db "to save the game.", $57
+; 0xa2985 + 71 bytes
+
+UnnamedText_a29cc: ; 0xa29cc
+	db $0, "Please wait.@@"
+; 0xa29b
+
+_UnnamedText_72c8: ; 0xa29db
+	db $0, "The link has been", $4f
+	db "closed because of", $55
+	db "inactivity.", $51
+	db "Please contact", $4f
+	db "your friend and", $55
+	db "come again!", $57
+; 0xa29db + 92 bytes
+
+SECTION "bank29",DATA,BANK[$29]
+
+_UnnamedText_72cd: ; 0xa4000
+	db $0, "Please come again!", $57
+; 0xa4000 + 20 bytes
+
+_UnnamedText_72d2: ; 0xa4014
+	db $0, "We're making", $4f
+	db "preparations.", $55
+	db "Please wait.", $57
+; 0xa4014 + 40 bytes
+
+UnnamedText_a403c: ; 0xa403c
+	TX_RAM $cd6d
+	db $0, " used", $4f
+	db "STRENGTH.@@"
+; 0xa4051
+
+_UnnamedText_cdbb: ; 0xa4051
+	TX_RAM $cd6d
+	db $0, " can", $4f
+	db "move boulders.", $58
+; 0xa4051 + 24 bytes
+
+_UnnamedText_cdfa: ; 0xa4069
+	db $0, "The current is", $4f
+	db "much too fast!", $58
+; 0xa4069 + 31 bytes
+
+_UnnamedText_cdff: ; 0xa4088
+	db $0, "Cycling is fun!", $4f
+	db "Forget SURFing!", $58
+; 0xa4088 + 33 bytes
+
+_UnnamedText_13228: ; 0xa40a9
+	db $0, "A blinding FLASH", $4f
+	db "lights the area!", $58
+; 0xa40a9 + 35 bytes
+
+_UnnamedText_1327b: ; 0xa40cc
+	db $0, "Warp to the last", $4f
+	db "#MON CENTER.", $57
+; 0xa40cc + 31 bytes
+
+_UnnamedText_13280: ; 0xa40eb
+	TX_RAM $cd6d
+	db $0, " can't", $4f
+	db "use TELEPORT now.", $58
+; 0xa40eb + 28 bytes
+
+_UnnamedText_13285: ; 0xa4107
+	TX_RAM $cd6d
+	db $0, " can't", $4f
+	db "FLY here.", $58
+; 0xa4107 + 20 bytes
+
+_UnnamedText_132d4: ; 0xa411b
+	db $0, "Not healthy", $4f
+	db "enough.", $58
+; 0xa411b + 21 bytes
+
+_UnnamedText_132e8: ; 0xa4130
+	db $0, "No! A new BADGE", $4f
+	db "is required.", $58
+; 0xa4130 + 30 bytes
+
+_UnnamedText_1342a: ; 0xa414e
+	db $0, "You can't use items", $4f
+	db "here.", $58
+; 0xa414e + 26 bytes
+
+_UnnamedText_1342f: ; 0xa4168
+	db $0, "You can't get off", $4f
+	db "here.", $58
+; 0xa4168 + 24 bytes
+
+UnnamedText_a4180: ; 0xa4180
+	db $0, $52, " got", $4f
+	db "@"
+	TX_RAM $cd6d
+	db $0, "!@@"
+; 0xa418f
+
+_UnnamedText_4fe3f: ; 0xa418f
+	db $0, "There's no more", $4f
+	db "room for #MON!", $55
+	db "@"
+; 0xa418f + 32 bytes
+
+UnnamedText_a41af: ; 0xa41af
+	TX_RAM $de06
+	db $0, " was", $55
+	db "sent to #MON", $55
+	db "BOX @"
+	TX_RAM $cf4b
+	db $0, " on PC!", $57
+; 0xa41ca + 12 bytes = 0xa41d6
+
+_UnnamedText_4fe44: ; 0xa41d6
+	db $0, "There's no more", $4f
+	db "room for #MON!", $51
+	db "The #MON BOX", $4f
+	db "is full and can't", $55
+	db "accept any more!", $51
+	db "Change the BOX at", $4f
+	db "a #MON CENTER!", $57
+; 0xa41d6 + 111 bytes
+
+INCLUDE "text/mapPalletTown.tx"
+
+_ViridianCityText1:
+	db $0, "Those # BALLs", $4f
+	db "at your waist!", $55
+	db "You have #MON!", $51
+	db "It's great that", $4f
+	db "you can carry and", $55
+	db "use #MON any", $55
+	db "time, anywhere!", $57
+
+_UnnamedText_19122: ; 0xa4437
+	db $0, "This #MON GYM", $4f
+	db "is always closed.", $51
+	db "I wonder who the", $4f
+	db "LEADER is?", $57
+; 0xa4437 + 61 bytes
+
+_UnnamedText_19127: ; 0xa4474
+	db $0, "VIRIDIAN GYM's", $4f
+	db "LEADER returned!", $57
+; 0xa4474 + 32 bytes
+
+_UnnamedText_1914d: ; 0xa4494
+	db $0, "You want to know", $4f
+	db "about the 2 kinds", $55
+	db "of caterpillar", $55
+	db "#MON?", $57
+; 0xa4494 + 57 bytes
+
+_UnnamedText_19152: ; 0xa44cd
+	db $0, "Oh, OK then!", $57
+; 0xa44cd + 14 bytes
+
+_UnnamedText_19157: ; 0xa44db
+	db $0, "CATERPIE has no", $4f
+	db "poison, but", $55
+	db "WEEDLE does.", $51
+	db "Watch out for its", $4f
+	db "POISON STING!", $57
+; 0xa44db + 74 bytes
+
+_UnnamedText_19175: ; 0xa4525
+	db $0, "Oh Grandpa! Don't", $4f
+	db "be so mean!", $55
+	db "He hasn't had his", $55
+	db "coffee yet.", $57
+; 0xa4525 + 59 bytes
+
+_UnnamedText_1917a: ; 0xa4560
+	db $0, "When I go shop in", $4f
+	db "PEWTER CITY, I", $55
+	db "have to take the", $55
+	db "winding trail in", $55
+	db "VIRIDIAN FOREST.", $57
+; 0xa4560 + 85 bytes
+
+_UnnamedText_19191: ; 0xa45b5
+	db $0, "You can't go", $4f
+	db "through here!", $51
+	db "This is private", $4f
+	db "property!", $57
+; 0xa45b5 + 53 bytes
+
+_UnnamedText_191ca: ; 0xa45ea
+	db $0, "Yawn!", $4f
+	db "I must have dozed", $55
+	db "off in the sun.", $51
+	db "I had this dream", $4f
+	db "about a DROWZEE", $55
+	db "eating my dream.", $55
+	db "What's this?", $55
+	db "Where did this TM", $55
+	db "come from?", $51
+	db "This is spooky!", $4f
+	db "Here, you can", $55
+	db "have this TM.", $58
+; 0xa45ea + 176 bytes
+
+_ReceivedTM42Text: ; 0xa469a
+	db $0, $52, " received", $4f
+	db "TM42!@@"
+; 0xa46ad
+
+_UnnamedText_191d5: ; 0xa46ad
+	db $0, "TM42 contains", $4f
+	db "DREAM EATER...", $55
+	db "...Snore...", $57
+; 0xa46ad + 42 bytes
+
+_UnnamedText_191da: ; 0xa46d7
+	db $0, "You have too much", $4f
+	db "stuff already.", $57
+; 0xa46d7 + 34 bytes
+
+_UnnamedText_1920a: ; 0xa46f9
+	db $0, "Ahh, I've had my", $4f
+	db "coffee now and I", $55
+	db "feel great!", $51
+	db "Sure you can go", $4f
+	db "through!", $51
+	db "Are you in a", $4f
+	db "hurry?", $57
+; 0xa46f9 + 91 bytes
+
+_UnnamedText_1920f: ; 0xa4754
+	db $0, "I see you're using", $4f
+	db "a #DEX.", $51
+	db "When you catch a", $4f
+	db "#MON, #DEX", $55
+	db "is automatically", $55
+	db "updated.", $51
+	db "What? Don't you", $4f
+	db "know how to catch", $55
+	db "#MON?", $51
+	db "I'll show you", $4f
+	db "how to then.", $57
+; 0xa4754 + 146 bytes
+
+_UnnamedText_19214: ; 0xa47e6
+	db $0, "Time is money...", $4f
+	db "Go along then.", $57
+; 0xa47e6 + 33 bytes
+
+_UnnamedText_19219: ; 0xa4807
+	db $0, "First, you need", $4f
+	db "to weaken the", $55
+	db "target #MON.", $57
+; 0xa4807 + 44 bytes
+
+_ViridianCityText8: ; 0xa4833
+	db $0, "VIRIDIAN CITY ", $4f
+	db "The Eternally", $55
+	db "Green Paradise", $57
+
+_ViridianCityText9: ; 0xa4860
+	db $0, "TRAINER TIPS", $51
+	db "Catch #MON", $4f
+	db "and expand your", $55
+	db "collection!", $51
+	db "The more you have,", $4f
+	db "the easier it is", $55
+	db "to fight!", $57
+
+_ViridianCityText10: ; 0xa48c3
+	db $0, "TRAINER TIPS", $51
+	db "The battle moves", $4f
+	db "of #MON are", $55
+	db "limited by their", $55
+	db "POWER POINTs, PP.", $51
+	db "To replenish PP,", $4f
+	db "rest your tired", $55
+	db "#MON at a", $55
+	db "#MON CENTER!", $57
+
+_ViridianCityText13: ; 0xa4949
+	db $0, "VIRIDIAN CITY", $4f
+	db "#MON GYM", $57
+
+_UnnamedText_19232: ; 0xa4961
+	db $0, "The GYM's doors", $4f
+	db "are locked...", $57
+; 0xa4961 + 30 bytes
+
+_PewterCityText1: ; 0xa497f
+	db $0, "It's rumored that", $4f
+	db "CLEFAIRYs came", $55
+	db "from the moon!", $51
+	db "They appeared ", $4f
+	db "after MOON STONE", $55
+	db "fell on MT.MOON.", $57
+
+_PewterCityText2: ; 0xa49e0
+	db $0, "There aren't many", $4f
+	db "serious #MON", $55
+	db "trainers here!", $51
+	db "They're all like", $4f
+	db "BUG CATCHERs,", $55
+	db "but PEWTER GYM's", $55
+	db "BROCK is totally", $55
+	db "into it!", $57
+
+_UnnamedText_193f1: ; 0xa4a56
+	db $0, "Did you check out", $4f
+	db "the MUSEUM?", $57
+; 0xa4a56 + 31 bytes
+
+_UnnamedText_193f6: ; 0xa4a75
+	db $0, "Weren't those", $4f
+	db "fossils from MT.", $55
+	db "MOON amazing?", $57
+; 0xa4a75 + 45 bytes
+
+_UnnamedText_193fb: ; 0xa4aa2
+	db $0, "Really?", $4f
+	db "You absolutely", $55
+	db "have to go!", $57
+; 0xa4aa2 + 36 bytes
+
+_UnnamedText_19400: ; 0xa4ac6
+	db $0, "It's right here!", $4f
+	db "You have to pay", $55
+	db "to get in, but", $55
+	db "it's worth it!", $55
+	db "See you around!", $57
+; 0xa4ac6 + 78 bytes
+
+_UnnamedText_19427: ; 0xa4b14
+	db $0, "Psssst!", $4f
+	db "Do you know what", $55
+	db "I'm doing?", $57
+; 0xa4b14 + 36 bytes
+
+_UnnamedText_1942c: ; 0xa4b38
+	db $0, "That's right!", $4f
+	db "It's hard work!", $57
+; 0xa4b38 + 29 bytes
+
+_UnnamedText_19431: ; 0xa4b55
+	db $0, "I'm spraying REPEL", $4f
+	db "to keep #MON", $55
+	db "out of my garden!", $57
+; 0xa4b55 + 50 bytes
+
+_UnnamedText_1945d: ; 0xa4b87
+	db $0, "You're a trainer", $4f
+	db "right? BROCK's", $55
+	db "looking for new", $55
+	db "challengers!", $55
+	db "Follow me!", $57
+; 0xa4b87 + 71 bytes
+
+_UnnamedText_19462: ; 0xa4bce
+	db $0, "If you have the", $4f
+	db "right stuff, go", $55
+	db "take on BROCK!", $57
+; 0xa4bce + 48 bytes
+
+_PewterCityText6: ; 0xa4bfe
+	db $0, "TRAINER TIPS", $51
+	db "Any #MON that", $4f
+	db "takes part in", $55
+	db "battle, however", $55
+	db "short, earns EXP!", $57
+
+_PewterCityText7: ; 0xa4c4a
+	db $0, "NOTICE!", $51
+	db "Thieves have been", $4f
+	db "stealing #MON", $55
+	db "fossils at MT.", $55
+	db "MOON! Please call", $55
+	db "PEWTER POLICE", $55
+	db "with any info!", $57
+
+_PewterCityText10: ; 0xa4cb1
+	db $0, "PEWTER MUSEUM", $4f
+	db "OF SCIENCE", $57
+
+_PewterCityText11: ; 0xa4ccb
+	db $0, "PEWTER CITY", $4f
+	db "#MON GYM", $55
+	db "LEADER: BROCK", $51
+	db "The Rock Solid", $4f
+	db "#MON Trainer!", $57
+
+_PewterCityText12: ; 0xa4d0c
+	db $0, "PEWTER CITY", $4f
+	db "A Stone Gray", $55
+	db "City", $57
+
+_UnnamedText_19668: ; 0xa4d2b
+	db $0, $53, ": Yo!", $4f
+	db $52, "!", $51
+	db "You're still", $4f
+	db "struggling along", $55
+	db "back here?", $51
+	db "I'm doing great!", $4f
+	db "I caught a bunch", $55
+	db "of strong and", $55
+	db "smart #MON!", $51
+	db "Here, let me see", $4f
+	db "what you caught,", $55
+	db $52, "!", $57
+; 0xa4d2b + 147 bytes
+
+_UnnamedText_1966d: ; 0xa4dbe
+	db $0, "Hey!", $4f
+	db "Take it easy!", $55
+	db "You won already!", $58
+; 0xa4dbe + 37 bytes
+
+_UnnamedText_19672: ; 0xa4de3
+	db $0, "Heh!", $4f
+	db "You're no match", $55
+	db "for my genius!", $58
+; 0xa4de3 + 36 bytes
+
+_UnnamedText_19677: ; 0xa4e07
+	db $0, $53, ": Hey,", $4f
+	db "guess what?", $51
+	db "I went to BILL's", $4f
+	db "and got him to", $55
+	db "show me his rare", $55
+	db "#MON!", $51
+	db "That added a lot", $4f
+	db "of pages to my", $55
+	db "#DEX!", $51
+	db "After all, BILL's", $4f
+	db "world famous as a", $55
+	db "#MANIAC!", $51
+	db "He invented the", $4f
+	db "#MON Storage", $55
+	db "System on PC!", $51
+	db "Since you're using", $4f
+	db "his system, go", $55
+	db "thank him!", $51
+	db "Well, I better", $4f
+	db "get rolling!", $55
+	db "Smell ya later!", $57
+; 0xa4e07 + 288 bytes
+
+_UnnamedText_196d9: ; 0xa4f27
+	db $0, "Hey! Stay out!", $4f
+	db "It's not your", $55
+	db "yard! Huh? Me?", $51
+	db "I'm an innocent", $4f
+	db "bystander! Don't", $55
+	db "you believe me?", $57
+; 0xa4f27 + 91 bytes
+
+ReceivedTM28Text: ; 0xa4f82
+	db $0, $52, " recovered", $4f
+	db "TM28!@@"
+; 0xa4f96
+
+UnnamedText_a4f96: ; 0xa4f96
+	db $0, $51
+	db "I better get", $4f
+	db "moving! Bye!@@"
+; 0xa4fb3
+
+_UnnamedText_196e9: ; 0xa4fb3
+	db $0, "Make room for", $4f
+	db "this!", $51
+	db "I can't run until", $4f
+	db "I give it to you!", $57
+; 0xa4fb3 + 56 bytes
+
+_UnnamedText_196ee: ; 0xa4feb
+	db $0, "Stop!", $4f
+	db "I give up! I'll", $55
+	db "leave quietly!", $58
+; 0xa4feb + 37 bytes
+
+_UnnamedText_196f3: ; 0xa5010
+	db $0, "OK! I'll return", $4f
+	db "the TM I stole!", $58
+; 0xa5010 + 32 bytes
+
+_CeruleanCityText3: ; 0xa5030
+	db $0, "You're a trainer", $4f
+	db "too? Collecting,", $55
+	db "fighting, it's a", $55
+	db "tough life.", $57
+
+_CeruleanCityText4: ; 0xa506e
+	db $0, "That bush in", $4f
+	db "front of the shop", $55
+	db "is in the way.", $51
+	db "There might be a", $4f
+	db "way around.", $57
+
+_CeruleanCityText5: ; 0xa50ba
+	db $0, "You're making an", $4f
+	db "encyclopedia on", $55
+	db "#MON? That", $55
+	db "sounds amusing.", $57
+
+_CeruleanCityText6: ; 0xa50f6
+	db $0, "The people here", $4f
+	db "were robbed.", $51
+	db "It's obvious that", $4f
+	db "TEAM ROCKET is", $55
+	db "behind this most", $55
+	db "heinous crime!", $51
+	db "Even our POLICE", $4f
+	db "force has trouble", $55
+	db "with the ROCKETs!", $57
+
+_UnnamedText_19730: ; 0xa5188
+	db $0, "OK! SLOWBRO!", $4f
+	db "Use SONICBOOM!", $55
+	db "Come on, SLOWBRO", $55
+	db "pay attention!", $57
+; 0xa5188 + 61 bytes
+
+_UnnamedText_19735: ; 0xa51c5
+	db $0, "SLOWBRO punch!", $4f
+	db "No! You blew it", $55
+	db "again!", $57
+; 0xa51c5 + 39 bytes
+
+_UnnamedText_1973a: ; 0xa51ec
+	db $0, "SLOWBRO, WITHDRAW!", $4f
+	db "No! That's wrong!", $51
+	db "It's so hard to", $4f
+	db "control #MON!", $51
+	db "Your #MON's", $4f
+	db "obedience depends", $55
+	db "on your abilities", $55
+	db "as a trainer!", $57
+; 0xa51ec + 127 bytes
+
+_UnnamedText_1976f: ; 0xa526b
+	db $0, "SLOWBRO took a", $4f
+	db "snooze...", $57
+; 0xa526b + 26 bytes
+
+_UnnamedText_19774: ; 0xa5285
+	db $0, "SLOWBRO is", $4f
+	db "loafing around...", $57
+; 0xa5285 + 30 bytes
+
+_UnnamedText_19779: ; 0xa52a3
+	db $0, "SLOWBRO turned", $4f
+	db "away...", $57
+; 0xa52a3 + 24 bytes
+
+_UnnamedText_1977e: ; 0xa52bb
+	db $0, "SLOWBRO", $4f
+	db "ignored orders...", $57
+; 0xa52bb + 27 bytes
+
+_CeruleanCityText9: ; 0xa52d6
+	db $0, "I want a bright", $4f
+	db "red BICYCLE!", $51
+	db "I'll keep it at", $4f
+	db "home, so it won't", $55
+	db "get dirty!", $57
+
+_CeruleanCityText10: ; 0xa531f
+	db $0, "This is CERULEAN", $4f
+	db "CAVE! Horribly", $55
+	db "strong #MON", $55
+	db "live in there!", $51
+	db "The #MON LEAGUE", $4f
+	db "champion is the", $55
+	db "only person who", $55
+	db "is allowed in!", $57
+
+_CeruleanCityText12: ; 0xa539a
+	db $0, "CERULEAN CITY", $4f
+	db "A Mysterious,", $55
+	db "Blue Aura", $55
+	db "Surrounds It", $57
+
+_CeruleanCityText13: ; 0xa53ce
+	db $0, "TRAINER TIPS", $51
+	db "Pressing B Button", $4f
+	db "during evolution", $55
+	db "cancels the whole", $55
+	db "process.", $57
+
+_CeruleanCityText16: ; 0xa541a
+	db $0, "Grass and caves", $4f
+	db "handled easily!", $55
+	db "BIKE SHOP", $57
+
+_CeruleanCityText17: ; 0xa5445
+	db $0, "CERULEAN CITY", $4f
+	db "#MON GYM", $55
+	db "LEADER: MISTY", $51
+	db "The Tomboyish", $4f
+	db "Mermaid!", $57
+
+_UnnamedText_4413c: ; 0xa5482
+	db $0, "Do you believe in", $4f
+	db "GHOSTs?", $57
+; 0xa5482 + 27 bytes
+
+_UnnamedText_44141: ; 0xa549d
+	db $0, "Really? So there", $4f
+	db "are believers...", $57
+; 0xa549d + 35 bytes
+
+_UnnamedText_44146: ; 0xa54c0
+	db $0, "Hahaha, I guess", $4f
+	db "not.", $51
+	db "That white hand", $4f
+	db "on your shoulder,", $55
+	db "it's not real.", $57
+; 0xa54c0 + 70 bytes
+
+_LavenderTownText2: ; 0xa5506
+	db $0, "This town is known", $4f
+	db "as the grave site", $55
+	db "of #MON.", $51
+	db "Memorial services", $4f
+	db "are held in", $55
+	db "#MON TOWER.", $57
+
+_LavenderTownText3: ; 0xa555f
+	db $0, "GHOSTs appeared", $4f
+	db "in #MON TOWER.", $51
+	db "I think they're", $4f
+	db "the spirits of", $55
+	db "#MON that the", $55
+	db "ROCKETs killed.", $57
+
+_LavenderTownText4: ; 0xa55bb
+	db $0, "LAVENDER TOWN", $4f
+	db "The Noble Purple", $55
+	db "Town", $57
+
+_LavenderTownText5: ; 0xa55e0
+	db $0, "New SILPH SCOPE!", $51
+	db "Make the Invisible", $4f
+	db "Plain to See!", $51
+	db "SILPH CO.", $57
+
+_LavenderTownText8: ; 0xa561d
+	db $0, "LAVENDER VOLUNTEER", $4f
+	db "#MON HOUSE", $57
+
+_LavenderTownText9: ; 0xa563c
+	db $0, "May the Souls of", $4f
+	db "#MON Rest Easy", $55
+	db "#MON TOWER", $57
+
+_VermilionCityText1: ; 0xa5668
+	db $0, "We're careful", $4f
+	db "about pollution!", $51
+	db "We've heard GRIMER", $4f
+	db "multiplies in", $55
+	db "toxic sludge!", $57
+
+_UnnamedText_198a7: ; 0xa56b5
+	db $0, "Did you see S.S.", $4f
+	db "ANNE moored in", $55
+	db "the harbor?", $57
+; 0xa56b5 + 45 bytes
+
+_UnnamedText_198ac: ; 0xa56e2
+	db $0, "So, S.S.ANNE has", $4f
+	db "departed!", $51
+	db "She'll be back in", $4f
+	db "about a year.", $57
+; 0xa56e2 + 59 bytes
+
+_UnnamedText_19904: ; 0xa571d
+	db $0, "Welcome to S.S.", $4f
+	db "ANNE!", $57
+; 0xa571d + 23 bytes
+
+_UnnamedText_19909: ; 0xa5734
+	db $0, "Welcome to S.S.", $4f
+	db "ANNE!", $51
+	db "Excuse me, do you", $4f
+	db "have a ticket?", $58
+; 0xa5734 + 56 bytes
+
+_UnnamedText_1990e: ; 0xa576c
+	db $0, $52, " flashed", $4f
+	db "the S.S.TICKET!", $51
+	db "Great! Welcome to", $4f
+	db "S.S.ANNE!", $57
+; 0xa576c + 55 bytes
+
+_UnnamedText_19913: ; 0xa57a3
+	db $0, $52, " doesn't", $4f
+	db "have the needed", $55
+	db "S.S.TICKET.", $51
+	db "Sorry!", $51
+	db "You need a ticket", $4f
+	db "to get aboard.", $57
+; 0xa57a3 + 78 bytes
+
+_UnnamedText_19918: ; 0xa57f1
+	db $0, "The ship set sail.", $57
+; 0xa57f1 + 20 bytes
+
+_VermilionCityText4: ; 0xa5805
+	db $0, "I'm putting up a", $4f
+	db "building on this", $55
+	db "plot of land.", $51
+	db "My #MON is", $4f
+	db "tamping the land.", $57
+
+_VermilionCityText5: ; 0xa5852
+	db $0, "MACHOP: Guoh!", $4f
+	db "Gogogoh!@@"
+
+_VermilionCityText14: ; 0xa586b
+	db $0, $51
+	db "A MACHOP is", $4f
+	db "stomping the land", $55
+	db "flat.", $57
+
+_VermilionCityText6: ; 0xa5891
+	db $0, "S.S.ANNE is a", $4f
+	db "famous luxury", $55
+	db "cruise ship.", $51
+	db "We visit VERMILION", $4f
+	db "once a year.", $57
+
+_VermilionCityText7: ; 0xa58db
+	db $0, "VERMILION CITY", $4f
+	db "The Port of", $55
+	db "Exquisite Sunsets", $57
+
+_VermilionCityText8: ; 0xa5909
+	db $0, "NOTICE!", $51
+	db "ROUTE 12 may be", $4f
+	db "blocked off by a", $55
+	db "sleeping #MON.", $51
+	db "Detour through", $4f
+	db "ROCK TUNNEL to", $55
+	db "LAVENDER TOWN.", $51
+	db "VERMILION POLICE", $57
+
+_VermilionCityText11: ; 0xa5980
+	db $0, "#MON FAN CLUB", $4f
+	db "All #MON fans", $55
+	db "welcome!", $57
+
+_VermilionCityText12: ; 0xa59a6
+	db $0, "VERMILION CITY", $4f
+	db "#MON GYM", $55
+	db "LEADER: LT.SURGE", $51
+	db "The Lightning ", $4f
+	db "American!", $57
+
+_VermilionCityText13: ; 0xa59e9
+	db $0, "VERMILION HARBOR", $57
+
+_CeladonCityText1: ; 0xa59fb
+	db $0, "I got my KOFFING", $4f
+	db "in CINNABAR!", $51
+	db "It's nice, but it", $4f
+	db "breathes poison", $55
+	db "when it's angry!", $57
+
+_CeladonCityText2: ; 0xa5a4b
+	db $0, "Heheh! This GYM", $4f
+	db "is great! It's", $55
+	db "full of women!", $57
+
+_CeladonCityText3: ; 0xa5a79
+	db $0, "The GAME CORNER", $4f
+	db "is bad for our", $55
+	db "city's image!", $57
+
+_CeladonCityText4: ; 0xa5aa6
+	db $0, "Moan! I blew it", $4f
+	db "all at the slots!", $51
+	db "I knew I should", $4f
+	db "have cashed in my", $55
+	db "coins for prizes!", $57
+
+_UnnamedText_199d2: ; 0xa5afd
+	db $0, "Hello, there!", $51
+	db "I've seen you,", $4f
+	db "but I never had a", $55
+	db "chance to talk!", $51
+	db "Here's a gift for", $4f
+	db "dropping by!", $58
+; 0xa5afd + 93 bytes
+
+_UnnamedText_199d7: ; 0xa5b5a
+	db $0, $52, " received", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!@@"
+; 0xa5b6e
+
+_UnnamedText_199dd: ; 0xa5b6e
+	db $0, "TM41 teaches", $4f
+	db "SOFTBOILED!", $51
+	db "Only one #MON", $4f
+	db "can use it!", $51
+	db "That #MON is", $4f
+	db "CHANSEY!", $57
+; 0xa5b6e + 74 bytes
+
+_UnnamedText_199e2: ; 0xa5bb8
+	db $0, "Oh, your pack is", $4f
+	db "full of items!", $57
+; 0xa5bb8 + 33 bytes
+
+_CeladonCityText6: ; 0xa5bd9
+	db $0, "This is my trusted", $4f
+	db "pal, POLIWRATH!", $51
+	db "It evolved from", $4f
+	db "POLIWHIRL when I", $55
+	db "used WATER STONE!", $57
+
+_CeladonCityText7: ; 0xa5c30
+	db $0, "POLIWRATH: Ribi", $4f
+	db "ribit!@@"
+
+_CeladonCityText8: ; 0xa5c49
+	db $0, "What are you", $4f
+	db "staring at?", $57
+
+_CeladonCityText9: ; 0xa5c63
+	db $0, "Keep out of TEAM", $4f
+	db "ROCKET's way!", $57
+
+_CeladonCityText10: ; 0xa5c82
+	db $0, "TRAINER TIPS", $51
+	db "X ACCURACY boosts", $4f
+	db "the accuracy of", $55
+	db "techniques!", $51
+	db "DIRE HIT jacks up", $4f
+	db "the likelihood of", $55
+	db "critical hits!", $51
+	db "Get your items at", $4f
+	db "CELADON DEPT.", $55
+	db "STORE!", $57
+
+_CeladonCityText11: ; 0xa5d18
+	db $0, "CELADON CITY", $4f
+	db "The City of", $55
+	db "Rainbow Dreams", $57
+
+_CeladonCityText13: ; 0xa5d41
+	db $0, "CELADON CITY", $4f
+	db "#MON GYM", $55
+	db "LEADER: ERIKA", $51
+	db "The Nature Loving", $4f
+	db "Princess!", $57
+
+_CeladonCityText14: ; 0xa5d82
+	db $0, "CELADON MANSION", $57
+
+_CeladonCityText15: ; 0xa5d93
+	db $0, "Find what you", $4f
+	db "need at CELADON", $55
+	db "DEPT. STORE!", $57
+
+_CeladonCityText16: ; 0xa5dbf
+	db $0, "TRAINER TIPS", $51
+	db "GUARD SPEC.", $4f
+	db "protects #MON", $55
+	db "against SPECIAL", $55
+	db "attacks such as", $55
+	db "fire and water!", $51
+	db "Get your items at", $4f
+	db "CELADON DEPT.", $55
+	db "STORE!", $57
+
+_CeladonCityText17: ; 0xa5e3e
+	db $0, "Coins exchanged", $4f
+	db "for prizes!", $55
+	db "PRIZE EXCHANGE", $57
+
+_CeladonCityText18: ; 0xa5e6a
+	db $0, "ROCKET GAME CORNER", $4f
+	db "The playground", $55
+	db "for grown-ups!", $57
+
+_FuchsiaCityText1: ; 0xa5e9c
+	db $0, "Did you try the", $4f
+	db "SAFARI GAME? Some", $55
+	db "#MON can only", $55
+	db "be caught there.", $57
+
+_FuchsiaCityText2: ; 0xa5ede
+	db $0, "SAFARI ZONE has a", $4f
+	db "zoo in front of", $55
+	db "the entrance.", $51
+	db "Out back is the", $4f
+	db "SAFARI GAME for", $55
+	db "catching #MON.", $57
+
+_FuchsiaCityText3: ; 0xa5f3e
+	db $0, "ERIK: Where's", $4f
+	db "SARA? I said I'd", $55
+	db "meet her here.", $57
+
+_FuchsiaCityText4: ; 0xa5f6b
+	db $0, "That item ball in", $4f
+	db "there is really a", $55
+	db "#MON.", $57
+
+_FuchsiaCityText5: ; 0xa5f96
+	db $0, "!", $57
+
+_FuchsiaCityText11: ; 0xa5f99
+	db $0, "FUCHSIA CITY", $4f
+	db "Behold! It's", $55
+	db "Passion Pink!", $57
+
+_FuchsiaCityText13: ; 0xa5fc1
+	db $0, "SAFARI GAME", $4f
+	db "#MON-U-CATCH!", $57
+
+_FuchsiaCityText16: ; 0xa5fdc
+	db $0, "SAFARI ZONE", $4f
+	db "WARDEN's HOME", $57
+
+_FuchsiaCityText17: ; 0xa5ff6
+	db $0, "#MON PARADISE", $4f
+	db "SAFARI ZONE", $57
+
+_FuchsiaCityText18: ; 0xa6011
+	db $0, "FUCHSIA CITY", $4f
+	db "#MON GYM", $55
+	db "LEADER: KOGA", $51
+	db "The Poisonous", $4f
+	db "Ninja Master", $57
+
+_UnnamedText_19a9f: ; 0xa6050
+	db $0, "Name: CHANSEY", $51
+	db "Catching one is", $4f
+	db "all up to chance.", $58
+; 0xa6050 + 49 bytes
+
+_UnnamedText_19ab3: ; 0xa6081
+	db $0, "Name: VOLTORB", $51
+	db "The very image of", $4f
+	db "a # BALL.", $58
+; 0xa6081 + 43 bytes
+
+_UnnamedText_19ac7: ; 0xa60ac
+	db $0, "Name: KANGASKHAN", $51
+	db "A maternal #MON", $4f
+	db "that raises its", $55
+	db "young in a pouch", $55
+	db "on its belly.", $58
+; 0xa60ac + 81 bytes
+
+_UnnamedText_19adb: ; 0xa60fd
+	db $0, "Name: SLOWPOKE", $51
+	db "Friendly and very", $4f
+	db "slow moving.", $58
+; 0xa60fd + 47 bytes
+
+_UnnamedText_19aef: ; 0xa612c
+	db $0, "Name: LAPRAS", $51
+	db "A.K.A. the king", $4f
+	db "of the seas.", $58
+; 0xa612c + 43 bytes
+
+_UnnamedText_19b20: ; 0xa6157
+	db $0, "Name: OMANYTE", $51
+	db "A #MON that", $4f
+	db "was resurrected", $55
+	db "from a fossil.", $58
+; 0xa6157 + 58 bytes
+
+_UnnamedText_19b25: ; 0xa6191
+	db $0, "Name: KABUTO", $51
+	db "A #MON that", $4f
+	db "was resurrected", $55
+	db "from a fossil.", $58
+; 0xa6191 + 57 bytes
+
+_UnnamedText_19b2a: ; 0xa61ca
+	db $0, "...", $57
+; 0xa61ca + 5 bytes
+
+_CinnabarIslandText8: ; 0xa61cf
+	db $0, "The door is", $4f
+	db "locked...", $57
+; 0xa61cf + 23 bytes
+
+_CinnabarIslandText1: ; 0xa61e6
+	db $0, "CINNABAR GYM's", $4f
+	db "BLAINE is an odd", $55
+	db "man who has lived", $55
+	db "here for decades.", $57
+
+_CinnabarIslandText2: ; 0xa622a
+	db $0, "Scientists conduct", $4f
+	db "experiments in", $55
+	db "the burned out", $55
+	db "building.", $57
+
+_CinnabarIslandText3: ; 0xa6266
+	db $0, "CINNABAR ISLAND", $4f
+	db "The Fiery Town of", $55
+	db "Burning Desire", $57
+
+_CinnabarIslandText6: ; 0xa6298
+	db $0, "#MON LAB", $57
+
+_CinnabarIslandText7: ; 0xa62a2
+	db $0, "CINNABAR ISLAND", $4f
+	db "#MON GYM", $55
+	db "LEADER: BLAINE", $51
+	db "The Hot-Headed", $4f
+	db "Quiz Master!", $57
+
+_SaffronCityText1: ; 0xa62e7
+	db $0, "What do you want?", $4f
+	db "Get lost!", $57
+
+_SaffronCityText2: ; 0xa6304
+	db $0, "BOSS said he'll", $4f
+	db "take this town!", $57
+
+_SaffronCityText3: ; 0xa6324
+	db $0, "Get out of the", $4f
+	db "way!", $57
+
+_SaffronCityText4: ; 0xa6339
+	db $0, "SAFFRON belongs", $4f
+	db "to TEAM ROCKET!", $57
+
+_SaffronCityText5: ; 0xa635a
+	db $0, "Being evil makes", $4f
+	db "me feel so alive!", $57
+
+_SaffronCityText6: ; 0xa637e
+	db $0, "Ow! Watch where", $4f
+	db "you're walking!", $57
+
+_SaffronCityText7: ; 0xa639e
+	db $0, "With SILPH under", $4f
+	db "control, we can", $55
+	db "exploit #MON", $55
+	db "around the world!", $57
+
+_SaffronCityText8: ; 0xa63df
+	db $0, "You beat TEAM", $4f
+	db "ROCKET all alone?", $55
+	db "That's amazing!", $57
+
+_SaffronCityText9: ; 0xa640f
+	db $0, "Yeah! TEAM ROCKET", $4f
+	db "is gone!", $55
+	db "It's safe to go", $55
+	db "out again!", $57
+
+_SaffronCityText10: ; 0xa6445
+	db $0, "People should be", $4f
+	db "flocking back to", $55
+	db "SAFFRON now.", $57
+
+_SaffronCityText11: ; 0xa6475
+	db $0, "I flew here on my", $4f
+	db "PIDGEOT when I", $55
+	db "read about SILPH.", $51
+	db "It's already over?", $4f
+	db "I missed the", $55
+	db "media action.", $57
+
+_SaffronCityText12: ; 0xa64d6
+	db $0, "PIDGEOT: Bi bibii!@@"
+
+_SaffronCityText13: ; 0xa64eb
+	db $0, "I saw ROCKET", $4f
+	db "BOSS escaping", $55
+	db "SILPH's building.", $57
+
+_SaffronCityText14: ; 0xa6518
+	db $0, "I'm a security", $4f
+	db "guard.", $51
+	db "Suspicious kids I", $4f
+	db "don't allow in!", $57
+
+_SaffronCityText15: ; 0xa654f
+	db $0, "...", $4f
+	db "Snore...", $51
+	db "Hah! He's taking", $4f
+	db "a snooze!", $57
+
+_SaffronCityText16: ; 0xa6577
+	db $0, "SAFFRON CITY", $4f
+	db "Shining, Golden", $55
+	db "Land of Commerce", $57
+
+_SaffronCityText17: ; 0xa65a6
+	db $0, "FIGHTING DOJO", $57
+
+_SaffronCityText18: ; 0xa65b5
+	db $0, "SAFFRON CITY", $4f
+	db "#MON GYM", $55
+	db "LEADER: SABRINA", $51
+	db "The Master of", $4f
+	db "Psychic #MON!", $57
+
+_SaffronCityText20: ; 0xa65f8
+	db $0, "TRAINER TIPS", $51
+	db "FULL HEAL cures", $4f
+	db "all ailments like", $55
+	db "sleep and burns.", $51
+	db "It costs a bit", $4f
+	db "more, but it's", $55
+	db "more convenient.", $57
+
+_SaffronCityText21: ; 0xa6667
+	db $0, "TRAINER TIPS", $51
+	db "New GREAT BALL", $4f
+	db "offers improved", $55
+	db "capture rates.", $51
+	db "Try it on those", $4f
+	db "hard-to-catch", $55
+	db "#MON.", $57
+
+_SaffronCityText22: ; 0xa66c7
+	db $0, "SILPH CO.", $4f
+	db "OFFICE BUILDING", $57
+
+_SaffronCityText24: ; 0xa66e2
+	db $0, "MR.PSYCHIC's", $4f
+	db "HOUSE", $57
+
+_SaffronCityText25: ; 0xa66f5
+	db $0, "SILPH's latest", $4f
+	db "product!", $51
+	db "Release to be", $4f
+	db "determined...", $57
+
+_ItemUseBallText00:
+	db 0,"It dodged the",$4F
+	db "thrown BALL!",$51
+	db "This #MON",$4F
+	db "can't be caught!",$58
+
+_ItemUseBallText01:
+	db 0,"You missed the",$4F
+	db "#MON!",$58
+
+_ItemUseBallText02:
+	db 0,"Darn! The #MON",$4F
+	db "broke free!",$58
+
+_ItemUseBallText03:
+	db 0,"Aww! It appeared",$4F
+	db "to be caught! ",$58
+
+_ItemUseBallText04:
+	db 0,"Shoot! It was so",$4F
+	db "close too!",$58
+
+_ItemUseBallText05:
+	db 0,"All right!",$4F,"@",1
+	dw $CFDA
+	db 0," was",$55
+	db "caught!@@"
+
+_ItemUseBallText07:
+	db 1
+	dw $DE06
+	db 0," was",$4F
+	db "transferred to",$55
+	db "BILL's PC!",$58
+
+_ItemUseBallText08:
+	db 1
+	dw $DE06
+	db 0," was",$4F
+	db "transferred to",$55
+	db "someone's PC!",$58
+
+_ItemUseBallText06:
+	db 0,"New #DEX data",$4F
+	db "will be added for",$55,"@",1
+	dw $CFDA
+	db 0,"!@@"
+
+_UnnamedText_da4c: ; 0xa685e
+	db $0, $52, " got on", $4f
+	db "@"
+; 0xa685e + 11 bytes
+
+UnnamedText_a6869: ; 0xa6869
+	TX_RAM $cd6d
+	db $0, "!", $58
+; 0xa686f
+
+_UnnamedText_da51: ; 0xa686f
+	db $0, "There's no place", $4f
+	db "to get off!", $58
+; 0xa686f + 29 bytes
+
+_UnnamedText_df24: ; 0xa688c
+	TX_RAM $cd6d
+	db $0, "'s", $4f
+	db "@"
+; 0xa688c + 7 bytes
+
+UnnamedText_a6893: ; 0xa6893
+	TX_RAM $cf4b
+	db $0, " rose.", $58
+; 0xa689e
+
+_UnnamedText_df29: ; 0xa689e
+	db $0, "It won't have any", $4f
+	db "effect.", $58
+; 0xa689e + 26 bytes
+
+_UnnamedText_dfa5: ; 0xa68b8
+	db $0, $52, " threw", $4f
+	db "some BAIT.", $57
+; 0xa68b8 + 20 bytes
+
+_UnnamedText_dfaa: ; 0xa68cc
+	db $0, $52, " threw a", $4f
+	db "ROCK.", $57
+; 0xa68cc + 17 bytes
+
+_UnnamedText_e20b: ; 0xa68dd
+	db $0, "Played the #", $4f
+	db "FLUTE.", $51
+	db "Now, that's a", $4f
+	db "catchy tune!", $58
+; 0xa68dd + 47 bytes
+
+_UnnamedText_e210: ; 0xa690c
+	db $0, "All sleeping", $4f
+	db "#MON woke up.", $58
+; 0xa690c + 28 bytes
+
+UnnamedText_a6928: ; 0xa6928
+	db $0, $52, " played the", $4f
+	db "# FLUTE.@@"
+; 0xa6940
+
+_UnnamedText_e247: ; 0xa6940
+	db $0, "Coins", $4f
+	db "@"
+; 0xa6940 + 8 bytes
+	db $2, $a4, $d5, $c2
+; 0xa694c
+	db $0, " ", $58
+; 0xa694f
+
+_UnnamedText_e30d: ; 0xa694f
+	db $0, "Yes! ITEMFINDER", $4f
+	db "indicates there's", $55
+	db "an item nearby.", $58
+; 0xa694f + 50 bytes
+
+_UnnamedText_e312: ; 0xa6981
+	db $0, "Nope! ITEMFINDER", $4f
+	db "isn't responding.", $58
+; 0xa6981 + 35 bytes
+
+_UnnamedText_e45d: ; 0xa69a4
+	db $0, "Raise PP of which", $4f
+	db "technique?", $57
+; 0xa69a4 + 30 bytes
+
+_UnnamedText_e462: ; 0xa69c2
+	db $0, "Restore PP of", $4f
+	db "which technique?", $57
+; 0xa69c2 + 32 bytes
+
+_UnnamedText_e467: ; 0xa69e2
+	TX_RAM $cf4b
+	db $0, "'s PP", $4f
+	db "is maxed out.", $58
+; 0xa69e2 + 23 bytes
+
+_UnnamedText_e46c: ; 0xa69f9
+	TX_RAM $cf4b
+	db $0, "'s PP", $4f
+	db "increased.", $58
+; 0xa69f9 + 20 bytes
+
+_UnnamedText_e471: ; 0xa6a0d
+	db $0, "PP was restored.", $58
+; 0xa6a0d + 18 bytes
+
+UnnamedText_a6a1f: ; 0xa6a1f
+	db $0, "Booted up a TM!", $58
+; 0xa6a30
+
+UnnamedText_a6a30: ; 0xa6a30
+	db $0, "Booted up an HM!", $58
+; 0xa6a42
+
+UnnamedText_a6a42: ; 0xa6a42
+	db $0, "It contained", $4f
+	db "@"
+	TX_RAM $cf4b
+	db $0, "!", $51
+	db "Teach @"
+	TX_RAM $cf4b
+	db $0, $4f
+	db "to a #MON?", $57
+; 0xa6a6e
+
+UnnamedText_a6a6e: ; 0xa6a6e
+	TX_RAM $cd6d
+	db $0, " is not", $4f
+	db "compatible with", $55
+	db "@"
+	TX_RAM $cf4b
+	db $0, ".", $51
+	db "It can't learn", $4f
+	db "@"
+; 0xa6a8b + 21 bytes = 0xa6aa0
+
+UnnamedText_a6aa0: ; 0xa6aa0
+	TX_RAM $cf4b
+	db $0, ".", $58
+; 0xa6aa0 + 6 bytes = 0xa6aa6
+
+UnnamedText_a6aa6: ; 0xa6aa6
+	db $0, "OAK: ", $52, "!", $4f
+	db "This isn't the", $55
+	db "time to use that! ", $58
+; 0xa6aa6 + 42 bytes = 0xa6ad0
+
+UnnamedText_a6ad0: ; 0xa6ad0
+	db $0, "This isn't yours", $4f
+	db "to use!", $58
+; 0xa6ad0 + 25 bytes = 0xa6ae9
+
+UnnamedText_a6ae9: ; 0xa6ae9
+	db $0, "It won't have any", $4f
+	db "effect.", $58
+; 0xa6ae9 + 26 bytes = 0xa6b03
+
+UnnamedText_a6b03: ; 0xa6b03
+	db $0, "The trainer", $4f
+	db "blocked the BALL!", $58
+; 0xa6b03 + 31 bytes = 0xa6b22
+
+UnnamedText_a6b22: ; 0xa6b22
+	db $0, "Don't be a thief!", $58
+; 0xa6b22 + 18 bytes = 0xa6b34
+
+UnnamedText_a6b34: ; 0xa6b34
+	db $0, "No cycling", $4e, "allowed here.", $58
+; 0xa6b34 + 26 bytes = 0xa6b4e
+
+UnnamedText_a6b4e: ; 0xa6b4e
+	db $0, "No SURFing on", $4f
+	db "@"
+; 0xa6b4e + 16 bytes = 0xa6b5e
+
+UnnamedText_a6b5e: ; 0xa6b5e
+	TX_RAM $cd6d
+	db $0, " here!", $58
+; 0xa6b5e + 11 bytes = 0xa6b69
+
+UnnamedText_a6b69: ; 0xa6b69
+	db $0, "The #MON BOX", $4f
+	db "is full! Can't", $55
+	db "use that item!", $58
+; 0xa6b69 + 43 bytes = 0xa6b94
+
+SECTION "bank2A",DATA,BANK[$2A]
+
+_ItemUseText001:
+	db 0,$52," used@@"
+
+_ItemUseText002: ; 0xa8009
+	TX_RAM $cf4b
+	db $0, "!", $57
+; 0xa800e
+
+UnnamedText_a800f: ; 0xa800f
+	db $0, $52, " got on the@@"
+; 0xa801e
+
+_UnnamedText_e5f7: ; 0xa801e
+	TX_RAM $cf4b
+	db $0, "!", $58
+; 0xa801e + 6 bytes
+
+UnnamedText_a8024: ; 0xa8024
+	db $0, $52, " got off@@"
+; 0xa8030
+
+_UnnamedText_e601: ; 0xa8030
+	db $0, "the @"
+	TX_RAM $cf4b
+	db $0, ".", $58
+; 0xa803c
+
+_UnnamedText_e755: ; 0xa803c
+	db $0, "Threw away", $4f
+	db "@"
+; 0xa803c + 13 bytes
+
+UnnamedText_a8049: ; 0xa8049
+	TX_RAM $cd6d
+	db $0, ".", $58
+; 0xa804f
+
+_UnnamedText_e75a: ; 0xa804f
+	db $0, "Is it OK to toss", $4f
+	db "@"
+; 0xa804f + 19 bytes
+
+UnnamedText_a8062: ; 0xa8062
+	TX_RAM $cf4b
+	db $0, "?", $58
+; 0xa8068
+
+_UnnamedText_e75f: ; 0xa8068
+	db $0, "That's too impor-", $4f
+	db "tant to toss!", $58
+; 0xa8068 + 32 bytes
+
+_UnnamedText_2fe3b: ; 0xa8088
+	TX_RAM $cd6d
+	db $0, " knows", $4f
+	db "@"
+; 0xa8088 + 12 bytes
+
+UnnamedText_a8094: ; 0xa8094
+	TX_RAM $cf4b
+	db $0, "!", $58
+; 0xa809a
+
+_UnnamedText_71d88: ; 0xa809a
+	db $0, "Okay, connect the", $4f
+	db "cable like so!", $58
+; 0xa809a + 34 bytes
+
+_UnnamedText_71d8d: ; 0xa80bc
+	db $0, $52, " traded", $4f
+	db "@"
+
+UnnamedText_a80c7: ; 0xa80c7
+	TX_RAM $cd13
+	db $0, " for", $55
+	db "@"
+	TX_RAM $cd1e
+	db $0, "!@@"
+; 0xa80d8
+
+_UnnamedText_71d94: ; 0xa80d8
+	db $0, "I'm looking for", $4f
+	db "@"
+; 0xa80d8 + 17 bytes
+
+UnnamedText_a80e9: ; 0xa80e9
+	TX_RAM $cd13
+	db $0, "! Wanna", $51
+	db "trade one for", $4f
+	db "@"
+	TX_RAM $cd1e
+	db $0, "? ", $57
+; 0xa810b
+
+_UnnamedText_71d99: ; 0xa810b
+	db $0, "Awww!", $4f
+	db "Oh well...", $57
+; 0xa810b + 18 bytes
+
+_UnnamedText_71d9e: ; 0xa811d
+	db $0, "What? That's not", $4f
+	db "@"
+; 0xa811d + 18 bytes
+
+UnnamedText_a812f: ; 0xa812f
+	TX_RAM $cd13
+	db $0, "!", $51
+	db "If you get one,", $4f
+	db "come back here!", $57
+; 0xa8155
+
+_UnnamedText_71da3: ; 0xa8155
+	db $0, "Hey thanks!", $57
+; 0xa8155 + 13 bytes
+
+_UnnamedText_71da8: ; 0xa8162
+	db $0, "Isn't my old", $4f
+	db "@"
+; 0xa8162 + 14 bytes
+
+UnnamedText_a8170: ; 0xa8170
+	TX_RAM $cd1e
+	db $0, " great?", $57
+; 0xa8170
+
+_UnnamedText_71dad: ; 0xa817c
+	db $0, "Hello there! Do", $4f
+	db "you want to trade", $51
+	db "your @"
+; 0xa817c + 41 bytes
+
+UnnamedText_a81a5: ; 0xa81a5
+	TX_RAM $cd13
+	db $0, $4f
+	db "for @"
+	TX_RAM $cd1e
+	db $0, "?", $57
+; 0xa81b5
+
+_UnnamedText_71db2: ; 0xa81b5
+	db $0, "Well, if you", $4f
+	db "don't want to...", $57
+; 0xa81b5 + 30 bytes
+
+_UnnamedText_71db7: ; 0xa81d3
+	db $0, "Hmmm? This isn't", $4f
+	db "@"
+	TX_RAM $cd13
+	db $0, ".", $51
+	db "Think of me when", $4f
+	db "you get one.", $57
+; 0xa8209
+
+_UnnamedText_71dbc: ; 0xa8209
+	db $0, "Thanks!", $57
+; 0xa8209 + 9 bytes
+
+_UnnamedText_71dc1: ; 0xa8212
+	db $0, "The @"
+	TX_RAM $cd13
+	db $0, " you", $4f
+	db "traded to me", $51
+	db "went and evolved!", $57
+; 0xa8240
+
+_UnnamedText_71dc6: ; 0xa8240
+	db $0, "Hi! Do you have", $4f
+	db "@"
+	TX_RAM $cd13
+	db $0, "?", $51
+	db "Want to trade it", $4f
+	db "for @"
+	TX_RAM $cd1e
+	db $0, "?", $57
+; 0xa8274
+
+_UnnamedText_71dcb: ; 0xa8274
+	db $0, "That's too bad.", $57
+; 0xa8274 + 16 bytes
+
+_UnnamedText_71dd0: ; 0xa8284
+	db $0, "...This is no", $4f
+	db "@"
+	TX_RAM $cd13
+	db $0, ".", $51
+	db "If you get one,", $4f
+	db "trade it with me!", $57
+; 0xa82bc
+
+_UnnamedText_71dd5: ; 0xa82bc
+	db $0, "Thanks pal!", $57
+; 0xa82bc + 13 bytes
+
+_UnnamedText_71dda: ; 0xa82c9
+	db $0, "How is my old", $4f
+	db "@"
+	TX_RAM $cd1e
+	db $0, "?", $51
+	db "My @"
+	TX_RAM $cd13
+	db $0, " is", $4f
+	db "doing great!", $57
+; 0xa82f8
+
+; XXX
+db $0, $93, $a7, $a4, $b1, $a4, $7f, $a8, $b2, $ad, $be, $4f
+db $a0, $ad, $b8, $b3, $a7, $a8, $ad, $a6, $7f, $b3, $ae, $7f, $82, $94, $93, $e7, $58
+db $1, $6d, $cd
+db $0, $7f, $a7, $a0, $a2, $aa, $a4, $a3, $4f
+db $a0, $b6, $a0, $b8, $7f, $b6, $a8, $b3, $a7, $7f, $82, $94, $93, $e7, $58
+
+SECTION "bank2B",DATA,BANK[$2B]
+
+INCLUDE "text/pokedex.tx"
+
+SECTION "bank2C",DATA,BANK[$2C]
+
+MoveNames: ; 4000
+	db "POUND@"
+	db "KARATE CHOP@"
+	db "DOUBLESLAP@"
+	db "COMET PUNCH@"
+	db "MEGA PUNCH@"
+	db "PAY DAY@"
+	db "FIRE PUNCH@"
+	db "ICE PUNCH@"
+	db "THUNDERPUNCH@"
+	db "SCRATCH@"
+	db "VICEGRIP@"
+	db "GUILLOTINE@"
+	db "RAZOR WIND@"
+	db "SWORDS DANCE@"
+	db "CUT@"
+	db "GUST@"
+	db "WING ATTACK@"
+	db "WHIRLWIND@"
+	db "FLY@"
+	db "BIND@"
+	db "SLAM@"
+	db "VINE WHIP@"
+	db "STOMP@"
+	db "DOUBLE KICK@"
+	db "MEGA KICK@"
+	db "JUMP KICK@"
+	db "ROLLING KICK@"
+	db "SAND-ATTACK@"
+	db "HEADBUTT@"
+	db "HORN ATTACK@"
+	db "FURY ATTACK@"
+	db "HORN DRILL@"
+	db "TACKLE@"
+	db "BODY SLAM@"
+	db "WRAP@"
+	db "TAKE DOWN@"
+	db "THRASH@"
+	db "DOUBLE-EDGE@"
+	db "TAIL WHIP@"
+	db "POISON STING@"
+	db "TWINEEDLE@"
+	db "PIN MISSILE@"
+	db "LEER@"
+	db "BITE@"
+	db "GROWL@"
+	db "ROAR@"
+	db "SING@"
+	db "SUPERSONIC@"
+	db "SONICBOOM@"
+	db "DISABLE@"
+	db "ACID@"
+	db "EMBER@"
+	db "FLAMETHROWER@"
+	db "MIST@"
+	db "WATER GUN@"
+	db "HYDRO PUMP@"
+	db "SURF@"
+	db "ICE BEAM@"
+	db "BLIZZARD@"
+	db "PSYBEAM@"
+	db "BUBBLEBEAM@"
+	db "AURORA BEAM@"
+	db "HYPER BEAM@"
+	db "PECK@"
+	db "DRILL PECK@"
+	db "SUBMISSION@"
+	db "LOW KICK@"
+	db "COUNTER@"
+	db "SEISMIC TOSS@"
+	db "STRENGTH@"
+	db "ABSORB@"
+	db "MEGA DRAIN@"
+	db "LEECH SEED@"
+	db "GROWTH@"
+	db "RAZOR LEAF@"
+	db "SOLARBEAM@"
+	db "POISONPOWDER@"
+	db "STUN SPORE@"
+	db "SLEEP POWDER@"
+	db "PETAL DANCE@"
+	db "STRING SHOT@"
+	db "DRAGON RAGE@"
+	db "FIRE SPIN@"
+	db "THUNDERSHOCK@"
+	db "THUNDERBOLT@"
+	db "THUNDER WAVE@"
+	db "THUNDER@"
+	db "ROCK THROW@"
+	db "EARTHQUAKE@"
+	db "FISSURE@"
+	db "DIG@"
+	db "TOXIC@"
+	db "CONFUSION@"
+	db "PSYCHIC@"
+	db "HYPNOSIS@"
+	db "MEDITATE@"
+	db "AGILITY@"
+	db "QUICK ATTACK@"
+	db "RAGE@"
+	db "TELEPORT@"
+	db "NIGHT SHADE@"
+	db "MIMIC@"
+	db "SCREECH@"
+	db "DOUBLE TEAM@"
+	db "RECOVER@"
+	db "HARDEN@"
+	db "MINIMIZE@"
+	db "SMOKESCREEN@"
+	db "CONFUSE RAY@"
+	db "WITHDRAW@"
+	db "DEFENSE CURL@"
+	db "BARRIER@"
+	db "LIGHT SCREEN@"
+	db "HAZE@"
+	db "REFLECT@"
+	db "FOCUS ENERGY@"
+	db "BIDE@"
+	db "METRONOME@"
+	db "MIRROR MOVE@"
+	db "SELFDESTRUCT@"
+	db "EGG BOMB@"
+	db "LICK@"
+	db "SMOG@"
+	db "SLUDGE@"
+	db "BONE CLUB@"
+	db "FIRE BLAST@"
+	db "WATERFALL@"
+	db "CLAMP@"
+	db "SWIFT@"
+	db "SKULL BASH@"
+	db "SPIKE CANNON@"
+	db "CONSTRICT@"
+	db "AMNESIA@"
+	db "KINESIS@"
+	db "SOFTBOILED@"
+	db "HI JUMP KICK@"
+	db "GLARE@"
+	db "DREAM EATER@"
+	db "POISON GAS@"
+	db "BARRAGE@"
+	db "LEECH LIFE@"
+	db "LOVELY KISS@"
+	db "SKY ATTACK@"
+	db "TRANSFORM@"
+	db "BUBBLE@"
+	db "DIZZY PUNCH@"
+	db "SPORE@"
+	db "FLASH@"
+	db "PSYWAVE@"
+	db "SPLASH@"
+	db "ACID ARMOR@"
+	db "CRABHAMMER@"
+	db "EXPLOSION@"
+	db "FURY SWIPES@"
+	db "BONEMERANG@"
+	db "REST@"
+	db "ROCK SLIDE@"
+	db "HYPER FANG@"
+	db "SHARPEN@"
+	db "CONVERSION@"
+	db "TRI ATTACK@"
+	db "SUPER FANG@"
+	db "SLASH@"
+	db "SUBSTITUTE@"
+	db "STRUGGLE@"
--- a/pokeblue.asm
+++ b/pokeblue.asm
@@ -1,3 +1,3 @@
 _RED EQU 0
 _BLUE EQU 1
-INCLUDE "common.tx"
+INCLUDE "main.tx"
--- a/pokered.asm
+++ b/pokered.asm
@@ -1,3 +1,3 @@
 _RED EQU 1
 _BLUE EQU 0
-INCLUDE "common.tx"
+INCLUDE "main.tx"