shithub: pokered

Download patch

ref: 2cc0aef0e98f4e47e724e9e5d739a5f50b765a39
parent: fa32624e79e1fb11f22de9461c50e0cb45a82350
author: Mr Wint <MrWint42@gmail.com>
date: Sun Apr 7 00:01:08 EDT 2013

* add known hard-coded memory locations are labels now
* all global labels now have a comment indicating their ROM address
* all references to tile buffer locations are using the FuncCoords marco now
* added some comments and assembly analysis

--- a/constants.asm
+++ b/constants.asm
@@ -124,7 +124,7 @@
 ; C1xD
 ; C1xE
 ; C1xF
-W_SPRITESTATEDATA1 EQU $C100
+W_SPRITESTATEDATA1 EQU $C100 ; to $C200
 
 ; more data for all sprites on the current map
 ; holds info for 16 sprites with $10 bytes each
@@ -145,8 +145,17 @@
 ; C2xD
 ; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2)
 ; C2xF
-W_SPRITESTATEDATA2 EQU $C200
+W_SPRITESTATEDATA2 EQU $C200 ; to $C300
 
+; buffer for OAM data. Is copied to OAM RAM by OAM DMA
+W_OAMBUFFER EQU $C300 ; size $a0, to $C3A0
+
+; buffer for tiles that are visible on screen (20 columns by 18 rows = $168 bytes)
+W_SCREENTILESBUFFER EQU $C3A0 ; size $168, to $C508
+
+; buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
+W_SCREENTILESBACKBUFFER EQU $C508 ; size $168, to $C670
+
 ; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge
 W_SCREENEDGETILES EQU $CBFC
 
@@ -186,6 +195,8 @@
 ; set to 0 if you can't go past the top or bottom of the menu
 W_MENUWRAPPINGENABLED EQU $CC4A
 
+W_TRAINERHEADERFLAGBIT EQU $CC55
+
 W_RLEBYTECOUNTER      EQU $CCD2
 
 ; current HP of player and enemy substitutes
@@ -210,6 +221,10 @@
 W_PLAYERMONACCURACYMOD EQU $CD1E
 W_PLAYERMONEVASIONMOD  EQU $CD1F
 
+
+W_ENGAGEDTRAINERCLASS  EQU $CD2D
+W_ENGAGEDTRAINERSETNUM EQU $CD2E
+
 ; stat modifiers for the enemy's current pokemon
 ; value can range from 1 - 13 ($1 to $D)
 ; 7 is normal
@@ -221,12 +236,36 @@
 W_ENEMYMONEVASIONMOD  EQU $CD33
 
 W_WHICHTRADE EQU $CD3D ; which entry from TradeMons to select
+W_TRAINERSPRITEOFFSET   EQU $CD3D
+W_TRAINERENGAGEDISTANCE EQU $CD3E
+W_TRAINERFACINGDIR      EQU $CD3F
+W_TRAINERSCREENYPOS     EQU $CD40
+W_TRAINERSCREENXPOS     EQU $CD41
 
+; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaniously)
+W_FLAGS_CD60 EQU $CD60
+
+; bit 1 means button presses will be ignored for that futton
+W_JOYPADFORBIDDENBUTTONSMASK EQU $CD6B
+
+; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
+W_SCREENTILESBACKBUFFER2 EQU $CD81 ; size $168, to $CEE9
+
+W_HPBARMAXHP   EQU $CEE9
+W_HPBAROLDHP   EQU $CEEB
+W_HPBARNEWHP   EQU $CEED
+W_HPBARDELTA   EQU $CEEF
+
+W_HPBARHPDIFFERENCE EQU $CEFD
+
 W_ANIMSOUNDID EQU $CF07 ; sound ID during battle animations
 
 ; movement byte 2 of current sprite
 W_CURSPRITEMOVEMENT2 EQU $CF14
 
+W_GYMCITYNAME   EQU $CF5F
+W_GYMLEADERNAME EQU $CF70
+
 W_WHICHPOKEMON EQU $CF92 ; which pokemon you selected
 
 W_LISTMENUID EQU $CF94 ; ID used by DisplayListMenuID
@@ -247,6 +286,8 @@
 W_PLAYERMOVEACCURACY EQU $CFD6
 W_PLAYERMOVEMAXPP    EQU $CFD7
 
+W_ENEMYMONID    EQU $CFD8
+
 W_ENEMYMONNAME  EQU $CFDA
 
 W_ENEMYMONCURHP EQU $CFE6 ; active opponent's hp (16 bits)
@@ -260,16 +301,23 @@
 	; bit 5 frz
 	; bit 6 par
 	; unused? (XXX confirm)
-W_ENEMYMONTYPES   EQU $CFEA
-W_ENEMYMONTYPE1   EQU $CFEA
-W_ENEMYMONTYPE2   EQU $CFEB
-W_ENEMYMONLEVEL   EQU $CFF3
-W_ENEMYMONMAXHP   EQU $CFF4 ; (16 bits)
-W_ENEMYMONDEFENSE EQU $CFF8
-W_ENEMYMONSPECIAL EQU $CFFC
-W_ENEMYMONPP      EQU $CFFE
+W_ENEMYMONTYPES    EQU $CFEA
+W_ENEMYMONTYPE1    EQU $CFEA
+W_ENEMYMONTYPE2    EQU $CFEB
+W_ENEMYMONMOVES    EQU $CFED
+W_ENEMYMONATKDEFIV EQU $CFF1
+W_ENEMYMONSPDSPCIV EQU $CFF2
+W_ENEMYMONLEVEL    EQU $CFF3
+W_ENEMYMONMAXHP    EQU $CFF4 ; (16 bits)
+W_ENEMYMONATTACK   EQU $CFF6
+W_ENEMYMONDEFENSE  EQU $CFF8
+W_ENEMYMONSPEED    EQU $CFFA
+W_ENEMYMONSPECIAL  EQU $CFFC
+W_ENEMYMONPP       EQU $CFFE
 
-W_PLAYERMONCURHP EQU $D015 ; active opponent's hp (16 bits)
+W_PLAYERMONNAME   EQU $D009
+W_PLAYERMONID     EQU $D014
+W_PLAYERMONCURHP  EQU $D015 ; active opponent's hp (16 bits)
 W_PLAYERMONSTATUS EQU $D018 ; the status of the player’s current monster
 	; bit 0 slp
 	; bit 1 slp
@@ -279,12 +327,18 @@
 	; bit 5 frz
 	; bit 6 par
 	; unused? (XXX confirm)
-W_PLAYERMONTYPES EQU $D019
-W_PLAYERMONTYPE1 EQU $D019
-W_PLAYERMONTYPE2 EQU $D01A
-W_PLAYERMONLEVEL EQU $D022
-W_PLAYERMONMAXHP EQU $D023 ; (16 bits)
-W_PLAYERMONPP    EQU $D02D
+W_PLAYERMONTYPES    EQU $D019
+W_PLAYERMONTYPE1    EQU $D019
+W_PLAYERMONTYPE2    EQU $D01A
+W_PLAYERMONMOVES    EQU $D01C
+W_PLAYERMONIVS      EQU $D020 ; 4x 4 bit: atk, def, spd, spc
+W_PLAYERMONLEVEL    EQU $D022
+W_PLAYERMONMAXHP    EQU $D023 ; (16 bits)
+W_PLAYERMONATK      EQU $D025
+W_PLAYERMONDEF      EQU $D027
+W_PLAYERMONSPEED    EQU $D029
+W_PLAYERMONSPECIAL  EQU $D02B
+W_PLAYERMONPP       EQU $D02D
 
 W_TRAINERCLASS EQU $D031
 
@@ -292,6 +346,8 @@
                        ; wild battle, this is 1
                        ; trainer battle, this is 2
 
+W_PLAYERMONSALIVEFLAGS EQU $D058 ; 6 bit array, 1 if player mon is alive
+
 W_CUROPPONENT EQU $D059 ; in a wild battle, this is the species of pokemon
                         ; in a trainer battle, this is the trainer class + $C8
 
@@ -355,7 +411,6 @@
 W_FBTILECOUNTER EQU $D084 ; counts how many tiles of the current frame block have been drawn
 
 W_SUBANIMFRAMEDELAY EQU $D086 ; duration of each frame of the current subanimation in terms of screen refreshes
-
 W_SUBANIMCOUNTER EQU $D087 ; counts the number of subentries left in the current subanimation
 
 W_NUMFBTILES EQU $D089 ; number of tiles in current battle animation frame block
@@ -366,6 +421,12 @@
 ; 03: translate base coordinates of frame blocks, but don't change their internal coordinates or flip their tiles
 ; 04: reverse the subanimation
 
+W_PBSTOREDREGISTERH  EQU $D08C
+W_PBSTOREDREGISTERL  EQU $D08D
+W_PBSTOREDREGISTERD  EQU $D08E
+W_PBSTOREDREGISTERE  EQU $D08F
+W_PBSTOREDROMBANK    EQU $D092
+
 W_SUBANIMADDRPTR EQU $D094 ; the address _of the address_ of the current subanimation entry (2 bytes)
 
 W_SUBANIMSUBENTRYADDR EQU $D096 ; the address of the current subentry of the current subanimation (2 bytes)
@@ -476,60 +537,6 @@
 
 W_NUMINPARTY EQU $D163
 
-W_OWNEDPOKEMON EQU $D2F7 ; bit field, 19 bytes
-
-W_SEENPOKEMON EQU $D30A ; bit field, 19 bytes
-
-;number of items in bag
-W_NUMBAGITEMS     EQU $D31D
-; BAGITEM01  is an item id
-; BAGCOUNT01 is how many of this item
-W_BAGITEM01         EQU $D31E
-W_BAGITEM01QTY      EQU $D31F
-W_BAGITEM02         EQU $D320
-W_BAGITEM02QTY      EQU $D321
-W_BAGITEM03         EQU $D322
-W_BAGITEM03QTY      EQU $D323
-W_BAGITEM04         EQU $D324
-W_BAGITEM04QTY      EQU $D325
-W_BAGITEM05         EQU $D326
-W_BAGITEM05QTY      EQU $D327
-W_BAGITEM06         EQU $D328
-W_BAGITEM06QTY      EQU $D329
-W_BAGITEM07         EQU $D32A
-W_BAGITEM07QTY      EQU $D32B
-W_BAGITEM08         EQU $D32C
-W_BAGITEM08QTY      EQU $D32D
-W_BAGITEM09         EQU $D32E
-W_BAGITEM09QTY      EQU $D32F
-W_BAGITEM10         EQU $D330
-W_BAGITEM10QTY      EQU $D331
-W_BAGITEM11         EQU $D332
-W_BAGITEM11QTY      EQU $D333
-W_BAGITEM12         EQU $D334
-W_BAGITEM12QTY      EQU $D335
-W_BAGITEM13         EQU $D336
-W_BAGITEM13QTY      EQU $D337
-W_BAGITEM14         EQU $D338
-W_BAGITEM14QTY      EQU $D339
-W_BAGITEM15         EQU $D33A
-W_BAGITEM15QTY      EQU $D33B
-W_BAGITEM16         EQU $D33C
-W_BAGITEM16QTY      EQU $D33D
-W_BAGITEM17         EQU $D33E
-W_BAGITEM17QTY      EQU $D33F
-W_BAGITEM18         EQU $D340
-W_BAGITEM18QTY      EQU $D341
-W_BAGITEM19         EQU $D342
-W_BAGITEM19QTY      EQU $D343
-W_BAGITEM20         EQU $D344
-W_BAGITEM20QTY      EQU $D345
-
-; money is in decimal
-W_PLAYERMONEY3 EQU $D347
-W_PLAYERMONEY2 EQU $D348
-W_PLAYERMONEY1 EQU $D349
-
 W_PARTYMON1 EQU $D164
 W_PARTYMON2 EQU $D165
 W_PARTYMON3 EQU $D166
@@ -738,6 +745,60 @@
 W_PARTYMON5NAME EQU $D2E1
 W_PARTYMON6NAME EQU $D2EC
 
+W_OWNEDPOKEMON EQU $D2F7 ; bit field, 19 bytes
+
+W_SEENPOKEMON EQU $D30A ; bit field, 19 bytes
+
+;number of items in bag
+W_NUMBAGITEMS     EQU $D31D
+; BAGITEM01  is an item id
+; BAGCOUNT01 is how many of this item
+W_BAGITEM01         EQU $D31E
+W_BAGITEM01QTY      EQU $D31F
+W_BAGITEM02         EQU $D320
+W_BAGITEM02QTY      EQU $D321
+W_BAGITEM03         EQU $D322
+W_BAGITEM03QTY      EQU $D323
+W_BAGITEM04         EQU $D324
+W_BAGITEM04QTY      EQU $D325
+W_BAGITEM05         EQU $D326
+W_BAGITEM05QTY      EQU $D327
+W_BAGITEM06         EQU $D328
+W_BAGITEM06QTY      EQU $D329
+W_BAGITEM07         EQU $D32A
+W_BAGITEM07QTY      EQU $D32B
+W_BAGITEM08         EQU $D32C
+W_BAGITEM08QTY      EQU $D32D
+W_BAGITEM09         EQU $D32E
+W_BAGITEM09QTY      EQU $D32F
+W_BAGITEM10         EQU $D330
+W_BAGITEM10QTY      EQU $D331
+W_BAGITEM11         EQU $D332
+W_BAGITEM11QTY      EQU $D333
+W_BAGITEM12         EQU $D334
+W_BAGITEM12QTY      EQU $D335
+W_BAGITEM13         EQU $D336
+W_BAGITEM13QTY      EQU $D337
+W_BAGITEM14         EQU $D338
+W_BAGITEM14QTY      EQU $D339
+W_BAGITEM15         EQU $D33A
+W_BAGITEM15QTY      EQU $D33B
+W_BAGITEM16         EQU $D33C
+W_BAGITEM16QTY      EQU $D33D
+W_BAGITEM17         EQU $D33E
+W_BAGITEM17QTY      EQU $D33F
+W_BAGITEM18         EQU $D340
+W_BAGITEM18QTY      EQU $D341
+W_BAGITEM19         EQU $D342
+W_BAGITEM19QTY      EQU $D343
+W_BAGITEM20         EQU $D344
+W_BAGITEM20QTY      EQU $D345
+
+; money is in decimal
+W_PLAYERMONEY3 EQU $D347
+W_PLAYERMONEY2 EQU $D348
+W_PLAYERMONEY1 EQU $D349
+
 W_RIVALNAME  EQU $D34A ; 11 characters, including null
 
 W_OPTIONS EQU $D355
@@ -795,62 +856,6 @@
 W_TILESETTALKINGOVERTILES EQU $D532 ; 3 bytes
 W_GRASSTILE               EQU $D535
 
-; coins are in decimal
-W_PLAYERCOINS1 EQU $D5A4
-W_PLAYERCOINS2 EQU $D5A5
-
-W_OAKSLABCURSCRIPT EQU $D5F0
-
-W_RIVALSTARTER EQU $D715
-
-W_PLAYERSTARTER EQU $D717
-
-W_GRASSRATE EQU $D887
-W_GRASSMONS EQU $D888
-W_WATERRATE EQU $D8A4 ; OVERLOADED
-W_WATERMONS EQU $D8A5 ; OVERLOADED
-
-W_ENEMYMONCOUNT  EQU $D89C
-
-W_ENEMYMON1HP EQU $D8A5 ; 16 bits
-
-W_ENEMYMON1MOVE3 EQU $D8AE
-
-W_ENEMYMON2MOVE3 EQU $D8DA
-
-W_ENEMYMON3MOVE3 EQU $D906
-
-W_ENEMYMON4MOVE3 EQU $D932
-
-W_ENEMYMON5MOVE3 EQU $D95E
-
-W_ENEMYMON6MOVE3 EQU $D98A
-
-W_ENEMYMON1OT    EQU $D9AC
-W_ENEMYMON2OT    EQU $D9B7
-W_ENEMYMON3OT    EQU $D9C2
-W_ENEMYMON4OT    EQU $D9CD
-W_ENEMYMON5OT    EQU $D9D8
-W_ENEMYMON6OT    EQU $D9E3
-
-W_ENEMYMON1NAME  EQU $D9EE
-W_ENEMYMON2NAME  EQU $D9F9
-W_ENEMYMON3NAME  EQU $DA04
-W_ENEMYMON4NAME  EQU $DA0F
-W_ENEMYMON5NAME  EQU $DA1A
-W_ENEMYMON6NAME  EQU $DA25 ; to $da2f
-
-
-W_PLAYTIMEHOURS     EQU $DA40 ; two bytes
-W_PLAYTIMEMINUTES   EQU $DA42 ; two bytes
-W_PLAYTIMESECONDS   EQU $DA44 ; one byte
-W_PLAYTIMEFRAMES    EQU $DA45 ; one byte
-
-W_NUMSAFARIBALLS EQU $DA47
-
-; number of mons in current box
-W_NUMINBOX EQU $DA80
-
 ;number of items in box
 W_NUMBOXITEMS EQU $D53A
 ; BOXITEM01    is an item id
@@ -957,6 +962,9 @@
 W_BOXITEM50QTY    EQU $D59E
 ;box end of list $D59F
 
+; coins are in decimal
+W_PLAYERCOINS1 EQU $D5A4
+W_PLAYERCOINS2 EQU $D5A5
 W_MISSABLEOBJECTFLAGS EQU $D5A6 ; $20 bytes, bit array of missable objects. bit 1 = removed
 
 ; each entry consists of 2 bytes
@@ -965,16 +973,193 @@
 ; terminated with $FF
 W_MISSABLEOBJECTLIST EQU $D5CE
 
-W_GAMEPROGRESSFLAGS EQU $D5F0 ; $c8 bytes
+W_GAMEPROGRESSFLAGS           EQU $D5F0 ; $c8 bytes
+W_OAKSLABCURSCRIPT            EQU $D5F0
+W_PALLETTOWNCURSCRIPT         EQU $D5F1
 
+W_BLUESHOUSECURSCRIPT         EQU $D5F3
+W_VIRIDIANCITYCURSCRIPT       EQU $D5F4
+
+W_PEWTERCITYCURSCRIPT         EQU $D5F7
+W_ROUTE3CURSCRIPT             EQU $D5F8
+W_ROUTE4CURSCRIPT             EQU $D5F9
+
+W_VIRIDIANGYMCURSCRIPT        EQU $D5FB
+W_PEWTERGYMCURSCRIPT          EQU $D5FC
+W_CERULEANGYMCURSCRIPT        EQU $D5FD
+W_VERMILIONGYMCURSCRIPT       EQU $D5FE
+W_CELADONGYMCURSCRIPT         EQU $D5FF
+W_ROUTE6CURSCRIPT             EQU $D600
+W_ROUTE8CURSCRIPT             EQU $D601
+W_ROUTE24CURSCRIPT            EQU $D602
+W_ROUTE25CURSCRIPT            EQU $D603
+W_ROUTE9CURSCRIPT             EQU $D604
+W_ROUTE10CURSCRIPT            EQU $D605
+W_MTMOON1CURSCRIPT            EQU $D606
+W_MTMOON3CURSCRIPT            EQU $D607
+W_SSANNE8CURSCRIPT            EQU $D608
+W_SSANNE9CURSCRIPT            EQU $D609
+W_ROUTE22CURSCRIPT            EQU $D60A
+
+W_REDSHOUSE2CURSCRIPT         EQU $D60C
+W_VIRIDIANMARKETCURSCRIPT     EQU $D60D
+W_ROUTE22GATECURSCRIPT        EQU $D60E
+W_CERULEANCITYCURSCRIPT       EQU $D60F
+
+W_SSANNE5CURSCRIPT            EQU $D617
+W_VIRIDIANFORESTCURSCRIPT     EQU $D618
+W_MUSEUMF1CURSCRIPT           EQU $D619
+W_ROUTE13CURSCRIPT            EQU $D61A
+W_ROUTE14CURSCRIPT            EQU $D61B
+W_ROUTE17CURSCRIPT            EQU $D61C
+W_ROUTE19CURSCRIPT            EQU $D61D
+W_ROUTE21CURSCRIPT            EQU $D61E
+W_SAFARIZONEENTRANCECURSCRIPT EQU $D61F
+W_ROCKTUNNEL2CURSCRIPT        EQU $D620
+W_ROCKTUNNEL1CURSCRIPT        EQU $D621
+
+W_ROUTE11CURSCRIPT            EQU $D623
+W_ROUTE12CURSCRIPT            EQU $D624
+W_ROUTE15CURSCRIPT            EQU $D625
+W_ROUTE16CURSCRIPT            EQU $D626
+W_ROUTE18CURSCRIPT            EQU $D627
+W_ROUTE20CURSCRIPT            EQU $D628
+W_SSANNE10CURSCRIPT           EQU $D629
+W_VERMILIONCITYCURSCRIPT      EQU $D62A
+W_POKEMONTOWER2CURSCRIPT      EQU $D62B
+W_POKEMONTOWER3CURSCRIPT      EQU $D62C
+W_POKEMONTOWER4CURSCRIPT      EQU $D62D
+W_POKEMONTOWER5CURSCRIPT      EQU $D62E
+W_POKEMONTOWER6CURSCRIPT      EQU $D62F
+W_POKEMONTOWER7CURSCRIPT      EQU $D630
+W_ROCKETHIDEOUT1CURSCRIPT     EQU $D631
+W_ROCKETHIDEOUT2CURSCRIPT     EQU $D632
+W_ROCKETHIDEOUT3CURSCRIPT     EQU $D633
+W_ROCKETHIDEOUT4CURSCRIPT     EQU $D634
+
+W_ROUTE6GATECURSCRIPT         EQU $D636
+W_ROUTE8GATECURSCRIPT         EQU $D637
+
+W_CINNABARISLANDCURSCRIPT     EQU $D639
+W_MANSION1CURSCRIPT           EQU $D63A
+
+W_MANSION2CURSCRIPT           EQU $D63C
+W_MANSION3CURSCRIPT           EQU $D63D
+W_MANSION4CURSCRIPT           EQU $D63E
+W_VICTORYROAD2CURSCRIPT       EQU $D63F
+W_VICTORYROAD3CURSCRIPT       EQU $D640
+
+W_FIGHTINGDOJOCURSCRIPT       EQU $D642
+W_SILPHCO2CURSCRIPT           EQU $D643
+W_SILPHCO3CURSCRIPT           EQU $D644
+W_SILPHCO4CURSCRIPT           EQU $D645
+W_SILPHCO5CURSCRIPT           EQU $D646
+W_SILPHCO6CURSCRIPT           EQU $D647
+W_SILPHCO7CURSCRIPT           EQU $D648
+W_SILPHCO8CURSCRIPT           EQU $D649
+W_SILPHCO9CURSCRIPT           EQU $D64A
+W_HALLOFFAMEROOMCURSCRIPT     EQU $D64B
+W_GARYCURSCRIPT               EQU $D64C
+W_LORELEICURSCRIPT            EQU $D64D
+W_BRUNOCURSCRIPT              EQU $D64E
+W_AGATHACURSCRIPT             EQU $D64F
+W_UNKNOWNDUNGEON3CURSCRIPT    EQU $D650
+W_VICTORYROAD1CURSCRIPT       EQU $D651
+
+W_LANCECURSCRIPT              EQU $D653
+
+W_SILPHCO10CURSCRIPT          EQU $D658
+W_SILPHCO11CURSCRIPT          EQU $D659
+
+W_FUCHSIAGYMCURSCRIPT         EQU $D65B
+W_SAFFRONGYMCURSCRIPT         EQU $D65C
+
+W_CINNABARGYMCURSCRIPT        EQU $D65E
+W_CELADONGAMECORNERCURSCRIPT  EQU $D65F
+W_ROUTE16GATECURSCRIPT        EQU $D660
+W_BILLSHOUSECURSCRIPT         EQU $D661
+W_ROUTE5GATECURSCRIPT         EQU $D662
+W_POWERPLANTCURSCRIPT         EQU $D663 ; overload
+W_ROUTE7GATECURSCRIPT         EQU $D663 ; overload
+
+W_SSANNE2CURSCRIPT            EQU $D665
+W_SEAFOAMISLANDS4CURSCRIPT    EQU $D666
+W_ROUTE23CURSCRIPT            EQU $D667
+W_SEAFOAMISLANDS5CURSCRIPT    EQU $D668
+W_ROUTE18GATECURSCRIPT        EQU $D669
+
 W_TOWNVISITEDFLAG EQU $D70B ; 2 bytes bit array, 1 means visited
 
 W_SAFARITIMER1 EQU $D70D ; use 01 for maximum
 W_SAFARITIMER2 EQU $D70E ; use F4 for maximum
-
 W_FOSSILITEM   EQU $D70F ; item given to cinnabar lab
 W_FOSSILMON    EQU $D710 ; mon that will result from the item
 
+W_ENEMYMONORTRAINERCLASS EQU $D713 ; trainer classes start at $c8
+
+W_RIVALSTARTER EQU $D715
+
+W_PLAYERSTARTER EQU $D717
+
+; bit 4: use variable [W_CURMAPSCRIPT] instead of the provided index for next frame's map script (used to start battle when talking to trainers)
+W_FLAGS_D733 EQU $D733
+
+
+W_GRASSRATE EQU $D887
+W_GRASSMONS EQU $D888
+W_WATERRATE EQU $D8A4 ; OVERLOADED
+W_WATERMONS EQU $D8A5 ; OVERLOADED
+
+W_ENEMYMONCOUNT  EQU $D89C
+
+W_ENEMYMON1HP EQU $D8A5 ; 16 bits
+
+W_ENEMYMON1MOVE3 EQU $D8AE
+
+W_ENEMYMON2MOVE3 EQU $D8DA
+
+W_ENEMYMON3MOVE3 EQU $D906
+
+W_ENEMYMON4MOVE3 EQU $D932
+
+W_ENEMYMON5MOVE3 EQU $D95E
+
+W_ENEMYMON6MOVE3 EQU $D98A
+
+W_ENEMYMON1OT    EQU $D9AC
+W_ENEMYMON2OT    EQU $D9B7
+W_ENEMYMON3OT    EQU $D9C2
+W_ENEMYMON4OT    EQU $D9CD
+W_ENEMYMON5OT    EQU $D9D8
+W_ENEMYMON6OT    EQU $D9E3
+
+W_ENEMYMON1NAME     EQU $D9EE
+W_ENEMYMON2NAME     EQU $D9F9
+W_ENEMYMON3NAME     EQU $DA04
+W_ENEMYMON4NAME     EQU $DA0F
+W_ENEMYMON5NAME     EQU $DA1A
+W_ENEMYMON6NAME     EQU $DA25 ; to $da2f
+W_TRAINERHEADERPTR  EQU $DA30
+
+; index of current map script, mostly used as index for function pointer array
+; mostly copied from map-specific map script pointer and wirtten back later
+W_CURMAPSCRIPT      EQU $DA39
+
+W_PLAYTIMEHOURS     EQU $DA40 ; two bytes
+W_PLAYTIMEMINUTES   EQU $DA42 ; two bytes
+W_PLAYTIMESECONDS   EQU $DA44 ; one byte
+W_PLAYTIMEFRAMES    EQU $DA45 ; one byte
+
+W_NUMSAFARIBALLS EQU $DA47
+
+; number of mons in current box
+W_NUMINBOX    EQU $DA80
+W_BOXMON1DATA EQU $DA96
+W_BOXMON2DATA EQU $DAB7
+
+
+H_SOFTRESETCOUNTER EQU $FF8A ; initialized to 16, decremented each input iteration if the user presses the reset sequence (A+B+S+s). Soft reset when 0 is reached.
+
 ; counters for blinking down arrow
 H_DOWNARROWBLINKCNT1 EQU $FF8B
 H_DOWNARROWBLINKCNT2 EQU $FF8C
@@ -997,6 +1182,11 @@
 H_POWEROFTEN        EQU $FF99 ; 3 bytes, big endian order
 H_SAVEDNUMTOPRINT   EQU $FF9C ; 3 bytes, big endian order (to back out of a subtraction)
 
+H_OLDPRESSEDBUTTONS     EQU $FFB1
+H_NEWLYRELEASEDBUTTONS  EQU $FFB2
+H_NEWLYPRESSEDBUTTONS   EQU $FFB3
+H_CURRENTPRESSEDBUTTONS EQU $FFB4
+
 H_LOADEDROMBANK     EQU $FFB8
 
 ; is automatic background transfer during V-blank enabled?
@@ -1076,6 +1266,8 @@
 
 H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn
 
+H_JOYPADSTATE EQU $FFF8
+
 ; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
 rJOYP EQU $FF00
 rDIV EQU $FF04
@@ -1089,6 +1281,15 @@
 rWX EQU $FF4B
 rIE EQU $FFFF
 
+BTN_A      EQU %00000001
+BTN_B      EQU %00000010
+BTN_SELECT EQU %00000100
+BTN_START  EQU %00001000
+BTN_RIGHT  EQU %00010000
+BTN_LEFT   EQU %00100000
+BTN_UP     EQU %01000000
+BTN_DOWN   EQU %10000000
+
 ; OAM attribute flags
 OAM_HFLIP EQU %00100000 ; horizontal flip
 OAM_VFLIP EQU %01000000 ; vertical flip
@@ -1529,7 +1730,7 @@
 X_SPEED       EQU $43
 X_SPECIAL     EQU $44
 COIN_CASE     EQU $45
-OAKS_PARCEL  EQU $46
+OAKS_PARCEL   EQU $46
 ITEMFINDER    EQU $47
 SILPH_SCOPE   EQU $48
 POKE_FLUTE    EQU $49
--- a/main.asm
+++ b/main.asm
@@ -32,7 +32,7 @@
 
 SECTION "bank0",HOME[$61]
 
-DisableLCD: ; $0061
+DisableLCD: ; 0061 (0:0061)
 	xor a
 	ld [$ff0f],a
 	ld a,[$ffff]
@@ -50,15 +50,15 @@
 	ld [$ffff],a
 	ret
 
-EnableLCD: ; $007b
+EnableLCD: ; 007b (0:007b)
 	ld a,[$ff40]
 	set 7,a
 	ld [$ff40],a
 	ret
 
-CleanLCD_OAM: ; $0082
+CleanLCD_OAM: ; 0082 (0:0082)
 	xor a
-	ld hl,$c300
+	ld hl,W_OAMBUFFER
 	ld b,$a0
 .loop
 	ld [hli],a
@@ -66,9 +66,9 @@
 	jr nz,.loop
 	ret
 
-ResetLCD_OAM: ; $008d
+ResetLCD_OAM: ; 008d (0:008d)
 	ld a,$a0
-	ld hl,$c300
+	ld hl,W_OAMBUFFER
 	ld de,$0004
 	ld b,$28
 .loop
@@ -78,7 +78,7 @@
 	jr nz,.loop
 	ret
 
-FarCopyData: ; 009D
+FarCopyData: ; 009d (0:009d)
 ; copy bc bytes of data from a:hl to de
 	ld [$CEE9],a ; save future bank # for later
 	ld a,[H_LOADEDROMBANK] ; get current bank #
@@ -91,7 +91,7 @@
 	ld [H_LOADEDROMBANK],a
 	ld [$2000],a
 	ret
-CopyData: ; 00B5
+CopyData: ; 00b5 (0:00b5)
 ; copy bc bytes of data from hl to de
 	ld a,[hli]
 	ld [de],a
@@ -107,7 +107,7 @@
 jp Start
 
 Section "start",HOME[$150]
-Start: ; 0x150
+Start: ; 0150 (0:0150)
 	cp $11 ; value that indicates Gameboy Color
 	jr z,.gbcDetected
 	xor a
@@ -130,7 +130,7 @@
 ; bit 5 - Left
 ; bit 6 - Up
 ; bit 7 - Down
-ReadJoypadRegister: ; 15F
+ReadJoypadRegister: ; 015f (0:015f)
 	ld a,%00100000 ; select direction keys
 	ld c,$00
 	ld [rJOYP],a
@@ -159,7 +159,7 @@
 	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 [H_JOYPADSTATE],a ; save joypad state
 	ld a,%00110000 ; unselect all keys
 	ld [rJOYP],a
 	ret
@@ -166,16 +166,16 @@
 
 ; 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
+; [H_NEWLYRELEASEDBUTTONS] = keys released since last time
+; [H_NEWLYPRESSEDBUTTONS] = keys pressed since last time
+; [H_CURRENTPRESSEDBUTTONS] = currently pressed keys
+GetJoypadState: ; 019a (0:019a)
 	ld a, [H_LOADEDROMBANK]
 	push af
 	ld a,$3
 	ld [H_LOADEDROMBANK],a
 	ld [$2000],a
-	call Func_c000
+	call _GetJoypadState
 	pop af
 	ld [H_LOADEDROMBANK],a
 	ld [$2000],a
@@ -182,7 +182,7 @@
 	ret
 
 ; see also MapHeaderBanks
-MapHeaderPointers: ; $01AE
+MapHeaderPointers: ; 01ae (0:01ae)
 	dw PalletTown_h
 	dw ViridianCity_h
 	dw PewterCity_h
@@ -436,15 +436,15 @@
 ; 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, BANK(Func_7087e)
-	ld hl, Func_7087e
+HandleMidJump: ; 039e (0:039e)
+	ld b, BANK(_HandleMidJump)
+	ld hl, _HandleMidJump
 	jp Bankswitch
 
 ; this is jumped to immediately after loading a save / starting a new game / loading a new map
-EnterMap: ; 3A6
+EnterMap: ; 03a6 (0:03a6)
 	ld a,$ff
-	ld [$cd6b],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	call LoadMapData ; load map data
 	ld b,BANK(Func_c335)
 	ld hl,Func_c335
@@ -458,7 +458,7 @@
 	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 z,Func_12e7
 	call nz,MapEntryAfterBattle
 	ld hl,$d732
 	ld a,[hl]
@@ -480,11 +480,11 @@
 	set 5,[hl]
 	set 6,[hl]
 	xor a
-	ld [$cd6b],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 
-OverworldLoop: ; 3FF
+OverworldLoop: ; 03ff (0:03ff)
 	call DelayFrame
-OverworldLoopLessDelay: ; 402
+OverworldLoopLessDelay: ; 0402 (0:0402)
 	call DelayFrame
 	call LoadGBPal
 	ld a,[$d736]
@@ -513,10 +513,10 @@
 	ld a,[$d730]
 	bit 7,a ; are we simulating button presses?
 	jr z,.notSimulating
-	ld a,[$ffb4]
+	ld a,[H_CURRENTPRESSEDBUTTONS]
 	jr .checkIfStartIsPressed
 .notSimulating
-	ld a,[$ffb3]
+	ld a,[H_NEWLYPRESSEDBUTTONS]
 .checkIfStartIsPressed
 	bit 3,a ; start button
 	jr z,.startButtonNotPressed
@@ -545,12 +545,13 @@
 	ld a,$35
 	call Predef ; check what is in front of the player
 	call UpdateSprites ; move sprites
-	ld a,[$cd60]
+	ld a,[W_FLAGS_CD60]
 	bit 2,a
 	jr nz,.checkForOpponent
 	bit 0,a
 	jr nz,.checkForOpponent
-	ld a,[$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a,[Coord]
 	ld [$cf0e],a
 	call DisplayTextID ; display either the start menu or the NPC/sign text
 	ld a,[$cc47]
@@ -577,7 +578,7 @@
 	jp nz,.newBattle
 	jp OverworldLoop
 .noDirectionButtonsPressed
-	ld hl,$cd60
+	ld hl,W_FLAGS_CD60
 	res 2,[hl]
 	call UpdateSprites ; move sprites
 	ld a,$01
@@ -591,7 +592,7 @@
 	ld [$d528],a ; zero the direction
 	jp OverworldLoop
 .checkIfDownButtonIsPressed
-	ld a,[$ffb4] ; current joypad state
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; current joypad state
 	bit 7,a ; down button
 	jr z,.checkIfUpButtonIsPressed
 	ld a,$01
@@ -658,7 +659,7 @@
 	ld a,$08
 	ld [$d528],a
 .oddLoop
-	ld hl,$cd60
+	ld hl,W_FLAGS_CD60
 	set 2,[hl]
 	ld hl,$cc4b
 	dec [hl]
@@ -705,7 +706,7 @@
 .noSpinning
 	call UpdateSprites ; move sprites
 .moveAhead2
-	ld hl,$cd60
+	ld hl,W_FLAGS_CD60
 	res 2,[hl]
 	ld a,[$d700]
 	dec a ; riding a bike?
@@ -761,13 +762,13 @@
 .battleOccurred
 	ld hl,$d72d
 	res 6,[hl]
-	ld hl,$d733
+	ld hl,W_FLAGS_D733
 	res 3,[hl]
 	ld hl,$d126
 	set 5,[hl]
 	set 6,[hl]
 	xor a
-	ld [$ffb4],a ; clear joypad state
+	ld [H_CURRENTPRESSEDBUTTONS],a ; clear joypad state
 	ld a,[W_CURMAP]
 	cp a,CINNABAR_GYM
 	jr nz,.notCinnabarGym
@@ -779,8 +780,8 @@
 	ld a,[W_CURMAP]
 	cp a,OAKS_LAB
 	jp z,.noFaintCheck
-	ld hl, Func_3ca83
-	ld b, BANK(Func_3ca83)
+	ld hl, AnyPokemonAliveCheck
+	ld b, BANK(AnyPokemonAliveCheck)
 	call Bankswitch ; check if all the player's pokemon fainted
 	ld a,d
 	and a
@@ -797,7 +798,7 @@
 
 ; 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
+NewBattle: ; 0683 (0:0683)
 	ld a,[$d72d]
 	bit 4,a
 	jr nz,.noBattle
@@ -814,7 +815,7 @@
 	ret
 
 ; function to make bikes twice as fast as walking
-BikeSpeedup: ; 6A0
+BikeSpeedup: ; 06a0 (0:06a0)
 	ld a,[$cc57]
 	and a
 	ret nz
@@ -821,7 +822,7 @@
 	ld a,[W_CURMAP]
 	cp a,ROUTE_17 ; Cycling Road
 	jr nz,.goFaster
-	ld a,[$ffb4] ; current joypad state
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; current joypad state
 	and a,%01110000 ; bit mask for up, left, right buttons
 	ret nz
 .goFaster
@@ -828,7 +829,7 @@
 	jp AdvancePlayerSprite
 
 ; check if the player has stepped onto a warp after having not collided
-CheckWarpsNoCollision: ; 6B4
+CheckWarpsNoCollision: ; 06b4 (0:06b4)
 	ld a,[$d3ae] ; number of warps
 	and a
 	jp z,CheckMapConnections
@@ -840,7 +841,7 @@
 	ld a,[W_XCOORD]
 	ld e,a
 	ld hl,$d3af ; start of warp entries
-CheckWarpsNoCollisionLoop: ; 6CC
+CheckWarpsNoCollisionLoop: ; 06cc (0:06cc)
 	ld a,[hli] ; check if the warp's Y position matches
 	cp d
 	jr nz,CheckWarpsNoCollisionRetry1
@@ -865,7 +866,7 @@
 	pop hl
 	jr nc,CheckWarpsNoCollisionRetry2
 ; if the extra check passed
-	ld a,[$d733]
+	ld a,[W_FLAGS_D733]
 	bit 2,a
 	jr nz,WarpFound1
 	push de
@@ -873,13 +874,13 @@
 	call GetJoypadState
 	pop bc
 	pop de
-	ld a,[$ffb4] ; current joypad state
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; 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
+CheckWarpsCollision: ; 0706 (0:0706)
 	ld a,[$d3ae] ; number of warps
 	ld c,a
 	ld hl,$d3af ; start of warp entries
@@ -908,20 +909,20 @@
 	jr nz,.loop
 	jp OverworldLoop
 
-CheckWarpsNoCollisionRetry1: ; 72F
+CheckWarpsNoCollisionRetry1: ; 072f (0:072f)
 	inc hl
-CheckWarpsNoCollisionRetry2: ; 730
+CheckWarpsNoCollisionRetry2: ; 0730 (0:0730)
 	inc hl
 	inc hl
 	jp ContinueCheckWarpsNoCollisionLoop
 
-WarpFound1: ; 735
+WarpFound1: ; 0735 (0:0735)
 	ld a,[hli]
 	ld [$d42f],a ; save target warp ID
 	ld a,[hli]
 	ld [$ff8b],a ; save target map
 
-WarpFound2: ; 73C
+WarpFound2: ; 073c (0:073c)
 	ld a,[$d3ae] ; number of warps
 	sub c
 	ld [$d73b],a ; save ID of used warp
@@ -981,13 +982,13 @@
 	call Func_12da
 	jp EnterMap
 
-ContinueCheckWarpsNoCollisionLoop: ; 7B5
+ContinueCheckWarpsNoCollisionLoop: ; 07b5 (0:07b5)
 	inc b ; increment warp number
 	dec c ; decrement number of warps
 	jp nz,CheckWarpsNoCollisionLoop
 
 ; if no matching warp was found
-CheckMapConnections: ; 7BA
+CheckMapConnections: ; 07ba (0:07ba)
 .checkWestMap
 	ld a,[W_XCOORD]
 	cp a,$ff
@@ -1127,8 +1128,9 @@
 	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
+PlayMapChangeSound: ; 08c9 (0:08c9)
+	FuncCoord 8, 8 ; $c448
+	ld a,[Coord] ; 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
@@ -1144,7 +1146,7 @@
 
 ; 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
+CheckIfInOutsideMap: ; 08e1 (0:08e1)
 	ld a,[W_CURMAPTILESET]
 	and a
 	ret z
@@ -1157,7 +1159,7 @@
 ; "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
+ExtraWarpCheck: ; 08e9 (0:08e9)
 	ld a,[W_CURMAP]
 	cp a,SS_ANNE_3
 	jr z,.useFunction1
@@ -1187,7 +1189,7 @@
 	ld b, BANK(Func_c44e)
 	jp Bankswitch
 
-MapEntryAfterBattle: ; 91F
+MapEntryAfterBattle: ; 091f (0:091f)
 	ld b, BANK(Func_c35f)
 	ld hl, Func_c35f
 	call Bankswitch ; function that appears to disable warp testing after collisions if the player is standing on a warp
@@ -1198,7 +1200,7 @@
 
 ; for when all the player's pokemon faint
 ; other code prints the "you blacked out" message before this is called
-HandleBlackOut: ; 931
+HandleBlackOut: ; 0931 (0:0931)
 	call GBFadeIn1
 	ld a,$08
 	call StopMusic
@@ -1212,7 +1214,7 @@
 	call Func_2312
 	jp Func_5d5f
 
-StopMusic: ; 951
+StopMusic: ; 0951 (0:0951)
 	ld [$cfc7],a
 	ld a,$ff
 	ld [$c0ee],a
@@ -1221,9 +1223,9 @@
 	ld a,[$cfc7]
 	and a
 	jr nz,.waitLoop
-	jp Func_200e
+	jp StopAllSounds
 
-HandleFlyOrTeleportAway: ; 965
+HandleFlyOrTeleportAway: ; 0965 (0:0965)
 	call UpdateSprites ; move sprites
 	call Delay3
 	xor a
@@ -1242,13 +1244,13 @@
 	jp Func_5d5f
 
 ; function that calls a function to do fly away or teleport away graphics
-DoFlyOrTeleportAwayGraphics: ; 98F
-	ld b, BANK(Func_705ba)
-	ld hl, Func_705ba
+DoFlyOrTeleportAwayGraphics: ; 098f (0:098f)
+	ld b, BANK(_DoFlyOrTeleportAwayGraphics)
+	ld hl, _DoFlyOrTeleportAwayGraphics
 	jp Bankswitch
 
 ; load sprite graphics based on whether the player is standing, biking, or surfing
-LoadPlayerSpriteGraphics: ; 997
+LoadPlayerSpriteGraphics: ; 0997 (0:0997)
 	ld a,[$d700]
 	dec a
 	jr z,.ridingBike
@@ -1276,7 +1278,7 @@
 
 ; function to check if bike riding is allowed on the current map
 ; sets carry if bike is allowed, clears carry otherwise
-IsBikeRidingAllowed: ; 9c5
+IsBikeRidingAllowed: ; 09c5 (0:09c5)
 	ld a,[W_CURMAP]
 	cp a,ROUTE_23
 	jr z,.allowed
@@ -1297,11 +1299,11 @@
 	scf
 	ret
 
-BikeRidingTilesets: ; 9E2
+BikeRidingTilesets: ; 09e2 (0:09e2)
 db $00, $03, $0B, $0E, $11, $FF
 
 ; load the tile pattern data of the current tileset into VRAM
-LoadTilesetTilePatternData: ; 9E8
+LoadTilesetTilePatternData: ; 09e8 (0:09e8)
 	ld a,[$d52e]
 	ld l,a
 	ld a,[$d52f]
@@ -1313,7 +1315,7 @@
 
 ; 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
+LoadTileBlockMap: ; 09fc (0:09fc)
 ; fill C6E8-CBFB with the background tile
 	ld hl,$c6e8
 	ld a,[$d3ad] ; background tile number
@@ -1442,7 +1444,7 @@
 .done
 	ret
 
-LoadNorthSouthConnectionsTileMap: ; ADE
+LoadNorthSouthConnectionsTileMap: ; 0ade (0:0ade)
 	ld c,$03
 .loop
 	push de
@@ -1474,7 +1476,7 @@
 	jr nz,.loop
 	ret
 
-LoadEastWestConnectionsTileMap: ; B02
+LoadEastWestConnectionsTileMap: ; 0b02 (0:0b02)
 	push hl
 	push de
 	ld c,$03
@@ -1506,7 +1508,7 @@
 ; 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
+IsSpriteOrSignInFrontOfPlayer: ; 0b23 (0:0b23)
 	xor a
 	ld [$ff8c],a
 	ld a,[$d4b0] ; number of signs in the map
@@ -1562,9 +1564,9 @@
 
 ; part of the above function, but sometimes its called on its own, when signs are irrelevant
 ; the caller must zero [$FF8C]
-IsSpriteInFrontOfPlayer: ; B6B
+IsSpriteInFrontOfPlayer: ; 0b6b (0:0b6b)
 	ld d,$10 ; talking range in pixels (normal range)
-IsSpriteInFrontOfPlayer2: ; B6D
+IsSpriteInFrontOfPlayer2: ; 0b6d (0:0b6d)
 	ld bc,$3c40 ; Y and X position of player sprite
 	ld a,[$c109] ; direction the player is facing
 .checkIfPlayerFacingUp
@@ -1648,7 +1650,7 @@
 
 ; 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
+CollisionCheckOnLand: ; 0bd1 (0:0bd1)
 	ld a,[$d736]
 	bit 6,a ; is the player jumping?
 	jr nz,.noCollision
@@ -1688,7 +1690,7 @@
 
 ; function that checks if the tile in front of the player is passable
 ; clears carry if it is, sets carry if not
-CheckTilePassable: ; C10
+CheckTilePassable: ; 0c10 (0:0c10)
 	ld a,$35
 	call Predef ; get tile in front of player
 	ld a,[$cfc6] ; tile in front of player
@@ -1712,7 +1714,7 @@
 ; 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
+CheckForJumpingAndTilePairCollisions: ; 0c2a (0:0c2a)
 	push hl
 	ld a,$35
 	call Predef ; get the tile in front of the player
@@ -1729,11 +1731,13 @@
 	bit 6,a ; is the player jumping?
 	ret nz
 ; if not jumping
-Func_c44:
-	ld a,[$c45c] ; tile the player is on
+
+Func_c44: ; 0c44 (0:0c44)
+	FuncCoord 8, 9 ; $c45c
+	ld a,[Coord] ; tile the player is on
 	ld [$cf0e],a
 
-CheckForTilePairCollisions: ; C4A
+CheckForTilePairCollisions: ; 0c4a (0:0c4a)
 	ld a,[$cfc6] ; tile in front of the player
 	ld c,a
 .tilePairCollisionLoop
@@ -1783,7 +1787,7 @@
 ; 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
+TilePairCollisionsLand: ; 0c7e (0:0c7e)
 db $11, $20, $05;
 db $11, $41, $05;
 db $03, $30, $2E;
@@ -1797,7 +1801,7 @@
 db $03, $5F, $2E;
 db $FF;
 
-TilePairCollisionsWater: ; CA0
+TilePairCollisionsWater: ; 0ca0 (0:0ca0)
 db $03, $14, $2E;
 db $03, $48, $2E;
 db $11, $14, $05;
@@ -1804,7 +1808,7 @@
 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
+LoadCurrentMapView: ; 0caa (0:0caa)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,[$d52b] ; tile data ROM bank
@@ -1814,7 +1818,7 @@
 	ld e,a
 	ld a,[$d360]
 	ld d,a
-	ld hl,$c508
+	ld hl,W_SCREENTILESBACKBUFFER
 	ld b,$05
 .rowLoop ; each loop iteration fills in one row of tile blocks
 	push hl
@@ -1856,7 +1860,7 @@
 .noCarry2
 	dec b
 	jr nz,.rowLoop
-	ld hl,$c508
+	ld hl,W_SCREENTILESBACKBUFFER
 	ld bc,$0000
 .adjustForYCoordWithinTileBlock
 	ld a,[W_YBLOCKCOORD]
@@ -1871,7 +1875,7 @@
 	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 de,W_SCREENTILESBUFFER ; base address for the tiles that are directly transfered to VRAM during V-blank
 	ld b,$12
 .rowLoop2
 	ld c,$14
@@ -1894,7 +1898,7 @@
 	ld [$2000],a ; restore previous ROM bank
 	ret
 
-AdvancePlayerSprite: ; D27
+AdvancePlayerSprite: ; 0d27 (0:0d27)
 	ld a,[$c103] ; delta Y
 	ld b,a
 	ld a,[$c105] ; delta X
@@ -2092,7 +2096,7 @@
 ; 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
+MoveTileBlockMapPointerEast: ; 0e65 (0:0e65)
 	ld a,[de]
 	add a,$01
 	ld [de],a
@@ -2103,7 +2107,7 @@
 	ld [de],a
 	ret
 
-MoveTileBlockMapPointerWest: ; E6F
+MoveTileBlockMapPointerWest: ; 0e6f (0:0e6f)
 	ld a,[de]
 	sub a,$01
 	ld [de],a
@@ -2114,7 +2118,7 @@
 	ld [de],a
 	ret
 
-MoveTileBlockMapPointerSouth: ; E79
+MoveTileBlockMapPointerSouth: ; 0e79 (0:0e79)
 	add a,$06
 	ld b,a
 	ld a,[de]
@@ -2127,7 +2131,7 @@
 	ld [de],a
 	ret
 
-MoveTileBlockMapPointerNorth: ; E85
+MoveTileBlockMapPointerNorth: ; 0e85 (0:0e85)
 	add a,$06
 	ld b,a
 	ld a,[de]
@@ -2143,7 +2147,7 @@
 ; 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
+ScheduleNorthRowRedraw: ; 0e91 (0:0e91)
 	FuncCoord 0, 0
 	ld hl,Coord
 	call ScheduleRowRedrawHelper
@@ -2155,7 +2159,7 @@
 	ld [H_SCREENEDGEREDRAW],a
 	ret
 
-ScheduleRowRedrawHelper: ; EA6
+ScheduleRowRedrawHelper: ; 0ea6 (0:0ea6)
 	ld de,W_SCREENEDGETILES
 	ld c,$28
 .loop
@@ -2166,7 +2170,7 @@
 	jr nz,.loop
 	ret
 
-ScheduleSouthRowRedraw: ; EB2
+ScheduleSouthRowRedraw: ; 0eb2 (0:0eb2)
 	FuncCoord 0,16
 	ld hl,Coord
 	call ScheduleRowRedrawHelper
@@ -2186,7 +2190,7 @@
 	ld [H_SCREENEDGEREDRAW],a
 	ret
 
-ScheduleEastColumnRedraw: ; ED3
+ScheduleEastColumnRedraw: ; 0ed3 (0:0ed3)
 	FuncCoord 18,0
 	ld hl,Coord
 	call ScheduleColumnRedrawHelper
@@ -2205,7 +2209,7 @@
 	ld [H_SCREENEDGEREDRAW],a
 	ret
 
-ScheduleColumnRedrawHelper: ; EF2
+ScheduleColumnRedrawHelper: ; 0ef2 (0:0ef2)
 	ld de,W_SCREENEDGETILES
 	ld c,$12
 .loop
@@ -2225,7 +2229,7 @@
 	jr nz,.loop
 	ret
 
-ScheduleWestColumnRedraw: ; F08
+ScheduleWestColumnRedraw: ; 0f08 (0:0f08)
 	FuncCoord 0,0
 	ld hl,Coord
 	call ScheduleColumnRedrawHelper
@@ -2239,7 +2243,7 @@
 
 ; function to write the tiles that make up a tile block to memory
 ; Input: c = tile block ID, hl = destination address
-DrawTileBlock: ; F1D
+DrawTileBlock: ; 0f1d (0:0f1d)
 	push hl
 	ld a,[$d52c] ; pointer to tiles
 	ld l,a
@@ -2280,29 +2284,29 @@
 	ret
 
 ; function to update joypad state and simulate button presses
-GetJoypadStateOverworld: ; F4D
+GetJoypadStateOverworld: ; 0f4d (0:0f4d)
 	xor a
 	ld [$c103],a
 	ld [$c105],a
 	call RunMapScript
 	call GetJoypadState
-	ld a,[$d733]
+	ld a,[W_FLAGS_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
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; 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
+	ld [H_CURRENTPRESSEDBUTTONS],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 a,[H_CURRENTPRESSEDBUTTONS] ; current joypad state
 	ld b,a
 	ld a,[$cd3b] ; bit mask for button presses that override simulated ones
 	and b
@@ -2320,11 +2324,11 @@
 	inc h
 .noCarry
 	ld a,[hl]
-	ld [$ffb4],a ; store simulated button press in joypad state
+	ld [H_CURRENTPRESSEDBUTTONS],a ; store simulated button press in joypad state
 	and a
 	ret nz
-	ld [$ffb3],a
-	ld [$ffb2],a
+	ld [H_NEWLYPRESSEDBUTTONS],a
+	ld [H_NEWLYRELEASEDBUTTONS],a
 	ret
 ; if done simulating button presses
 .doneSimulating
@@ -2332,8 +2336,8 @@
 	ld [$cd3a],a
 	ld [$cd38],a
 	ld [$ccd3],a
-	ld [$cd6b],a
-	ld [$ffb4],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+	ld [H_CURRENTPRESSEDBUTTONS],a
 	ld hl,$d736
 	ld a,[hl]
 	and a,$f8
@@ -2351,7 +2355,7 @@
 ; 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
+CollisionCheckOnWater: ; 0fb7 (0:0fb7)
 	ld a,[$d730]
 	bit 7,a
 	jp nz,.noCollision ; return and clear carry if button presses are being simulated
@@ -2411,7 +2415,7 @@
 	jr .stopSurfing ; if it is the boarding platform tile, stop surfing
 
 ; function to run the current map's script
-RunMapScript: ; 101B
+RunMapScript: ; 101b (0:101b)
 	push hl
 	push de
 	push bc
@@ -2418,7 +2422,7 @@
 	ld b, BANK(Func_f225)
 	ld hl, Func_f225
 	call Bankswitch ; check if the player is pushing a boulder
-	ld a,[$cd60]
+	ld a,[W_FLAGS_CD60]
 	bit 1,a ; is the player pushing a boulder?
 	jr z,.afterBoulderEffect
 	ld b, BANK(Func_f2b5)
@@ -2441,24 +2445,24 @@
 .return
 	ret
 
-LoadWalkingPlayerSpriteGraphics: ; 0x104d
-	ld de,$4180
+LoadWalkingPlayerSpriteGraphics: ; 104d (0:104d)
+	ld de,RedSprite ; $4180
 	ld hl,$8000
 	jr LoadPlayerSpriteGraphicsCommon
 
-LoadSurfingPlayerSpriteGraphics: ; 0x1055
-	ld de,$76c0
+LoadSurfingPlayerSpriteGraphics: ; 1055 (0:1055)
+	ld de,SeelSprite
 	ld hl,$8000
 	jr LoadPlayerSpriteGraphicsCommon
 
-LoadBikePlayerSpriteGraphics: ; 0x105d
-	ld de,$4000
+LoadBikePlayerSpriteGraphics: ; 105d (0:105d)
+	ld de,RedCyclingSprite
 	ld hl,$8000
 
-LoadPlayerSpriteGraphicsCommon: ; 0x1063
+LoadPlayerSpriteGraphicsCommon: ; 1063 (0:1063)
 	push de
 	push hl
-	ld bc,$050c
+	ld bc,(BANK(RedSprite) << 8) + $0c
 	call CopyVideoData
 	pop hl
 	pop de
@@ -2473,7 +2477,7 @@
 	jp CopyVideoData
 
 ; function to load data from the map header
-LoadMapHeader: ; 107C
+LoadMapHeader: ; 107c (0:107c)
 	ld b, BANK(Func_f113)
 	ld hl, Func_f113
 	call Bankswitch
@@ -2757,7 +2761,7 @@
 
 ; function to copy map connection data from ROM to WRAM
 ; Input: hl = source, de = destination
-CopyMapConnectionHeader: ; 1238
+CopyMapConnectionHeader: ; 1238 (0:1238)
 	ld c,$0b
 .loop
 	ld a,[hli]
@@ -2768,7 +2772,7 @@
 	ret
 
 ; function to load map data
-LoadMapData: ; 1241
+LoadMapData: ; 1241 (0:1241)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	call DisableLCD
@@ -2791,7 +2795,7 @@
 	call LoadTilesetTilePatternData
 	call LoadCurrentMapView
 ; copy current map view to VRAM
-	ld hl,$c3a0
+	ld hl,W_SCREENTILESBUFFER
 	ld de,$9800
 	ld b,$12
 .vramCopyLoop
@@ -2819,7 +2823,7 @@
 	ld a,[$d732]
 	and a,$18 ; did the player fly or teleport in?
 	jr nz,.restoreRomBank
-	ld a,[$d733]
+	ld a,[W_FLAGS_D733]
 	bit 1,a
 	jr nz,.restoreRomBank
 	call Func_235f ; music related
@@ -2832,7 +2836,7 @@
 
 ; function to switch to the ROM bank that a map is stored in
 ; Input: a = map number
-SwitchToMapRomBank: ; 12BC
+SwitchToMapRomBank: ; 12bc (0:12bc)
 	push hl
 	push bc
 	ld c,a
@@ -2870,7 +2874,7 @@
 ;appears to be called twice inside function $C38B
 ;if $d700,$d11a == $1 then biking
 ;if $d700,$d11a == $2 then surfing
-ForceBikeOrSurf: ; 12ED
+ForceBikeOrSurf: ; 12ed (0:12ed)
 	ld b,5 ;graphics bank 5
 	ld hl,LoadPlayerSpriteGraphics ;load player sprite graphics
 	call Bankswitch ;loads bank 5 and then calls LoadPlayerSpriteGraphics
@@ -2882,12 +2886,12 @@
 ; c = number of frames to wait
 ; sets carry if Up+Select+B, Start, or A is pressed within c frames
 ; unsets carry otherwise
-CheckForUserInterruption: ; 12F8
+CheckForUserInterruption: ; 12f8 (0:12f8)
 	call DelayFrame
 	push bc
 	call GetJoypadStateLowSensitivity
 	pop bc
-	ld a,[$ffb4] ; currently pressed buttons
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; currently pressed buttons
 	cp a,%01000110 ; Up, Select button, B button
 	jr z,.setCarry ; if all three keys are pressed
 	ld a,[$ffb5] ; either newly pressed buttons or currently pressed buttons at low sampling rate
@@ -2905,7 +2909,7 @@
 ; function to load position data for destination warp when switching maps
 ; INPUT:
 ; a = ID of destination warp within destination map
-LoadDestinationWarpPosition: ; 1313
+LoadDestinationWarpPosition: ; 1313 (0:1313)
 	ld b,a
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -2930,7 +2934,7 @@
 ; c: if nonzero, show at least a sliver of health
 ; d = number of HP bar sections (normally 6)
 ; e = health (in eighths of bar sections) (normally out of 48)
-DrawHPBar: ; 1336
+DrawHPBar: ; 1336 (0:1336)
 	push hl
 	push de
 	push bc
@@ -2996,7 +3000,7 @@
 ; [$cf91] = pokemon ID
 ; $cf98 = base address of pokemon data
 ; $d0b8 = base address of base stats
-LoadMonData: ; 1372
+LoadMonData: ; 1372 (0:1372)
 	ld hl,LoadMonData_
 	ld b,BANK(LoadMonData_)
 	jp Bankswitch
@@ -3013,12 +3017,12 @@
 	ret
 
 ; known jump sources: 617a (1:617a), 12a6e (4:6a6e), 403b0 (10:43b0), 415c0 (10:55c0), 7bebf (1e:7ebf)
-Func_1384: ; 1384 (0:1384)
+LoadFlippedFrontSpriteByMonIndex: ; 1384 (0:1384)
 	ld a, $1
 	ld [W_SPRITEFLIPPED], a
 
 ; known jump sources: 4530 (1:4530), 702a3 (1c:42a3), 740ec (1d:40ec), 76643 (1d:6643), 797ab (1e:57ab)
-Func_1389: ; 1389 (0:1389)
+LoadFrontSpriteByMonIndex: ; 1389 (0:1389)
 	push hl
 	ld a, [$d11e]
 	push af
@@ -3032,14 +3036,14 @@
 	ld [hl], b
 	and a
 	pop hl
-	jr z, .asm_13a7
+	jr z, .invalidDexNumber  ; dex #0 invalid
 	cp $98
-	jr c, .asm_13ad
-.asm_13a7
-	ld a, $1
+	jr c, .validDexNumber    ; dex >#151 invalid
+.invalidDexNumber
+	ld a, RHYDON ; $1
 	ld [$cf91], a
 	ret
-.asm_13ad
+.validDexNumber
 	push hl
 	ld de, $9000
 	call LoadMonFrontSprite
@@ -3059,18 +3063,19 @@
 	ld [$2000], a
 	ret
 ; 13d0 (0:13d0)
+
 ; plays the cry of a pokemon
 ; INPUT:
 ; a = pokemon ID
-PlayCry: ; 13D0
+PlayCry: ; 13d0 (0:13d0)
 	call GetCryData
 	call PlaySound ; play cry
-	jp Func_3748 ; wait for sound to be done playing
+	jp WaitForSoundToFinish ; wait for sound to be done playing
 
 ; gets a pokemon's cry data
 ; INPUT:
 ; a = pokemon ID
-GetCryData: ; 13D9
+GetCryData: ; 13d9 (0:13d9)
 	dec a
 	ld c,a
 	ld b,0
@@ -3094,7 +3099,7 @@
 	add c ; a = $14 + cryID * 3
 	ret
 
-DisplayPartyMenu: ; 13FC
+DisplayPartyMenu: ; 13fc (0:13fc)
 	ld a,[$ffd7]
 	push af
 	xor a
@@ -3105,7 +3110,7 @@
 	call DrawPartyMenu
 	jp HandlePartyMenuInput
 
-GoBackToPartyMenu: ; 1411
+GoBackToPartyMenu: ; 1411 (0:1411)
 	ld a,[$ffd7]
 	push af
 	xor a
@@ -3114,7 +3119,7 @@
 	call RedrawPartyMenu
 	jp HandlePartyMenuInput
 
-PartyMenuInit: ; 1420
+PartyMenuInit: ; 1420 (0:1420)
 	ld a,$01
 	call BankswitchHome
 	call LoadHpBarAndStatusTilePatterns
@@ -3153,7 +3158,7 @@
 	ld [hl],a ; old menu item ID
 	ret
 
-HandlePartyMenuInput: ; 145A
+HandlePartyMenuInput: ; 145a (0:145a)
 	ld a,1
 	ld [$cc4a],a
 	ld a,$40
@@ -3213,14 +3218,14 @@
 	call Bankswitch
 	jr HandlePartyMenuInput
 
-DrawPartyMenu: ; 14D4
+DrawPartyMenu: ; 14d4 (0:14d4)
 	ld hl,$6cd2
 	jr DrawPartyMenuCommon
 
-RedrawPartyMenu: ; 14D9
+RedrawPartyMenu: ; 14d9 (0:14d9)
 	ld hl, RedrawPartyMenu_
 
-DrawPartyMenuCommon: ; 14DC
+DrawPartyMenuCommon: ; 14dc (0:14dc)
 	ld b, BANK(RedrawPartyMenu_)
 	jp Bankswitch
 
@@ -3228,7 +3233,7 @@
 ; INPUT:
 ; de = address of status condition
 ; hl = destination address
-PrintStatusCondition: ; 14E1
+PrintStatusCondition: ; 14e1 (0:14e1)
 	push de
 	dec de
 	dec de ; de = address of current HP
@@ -3264,7 +3269,7 @@
 ; INPUT:
 ; hl = destination address
 ; [$cfb9] = level
-PrintLevel: ; 150B
+PrintLevel: ; 150b (0:150b)
 	ld a,$6e ; ":L" tile ID
 	ld [hli],a
 	ld c,2 ; number of digits
@@ -3280,13 +3285,13 @@
 ; INPUT:
 ; hl = destination address
 ; [$cfb9] = level
-PrintLevelFull: ; 151B
+PrintLevelFull: ; 151b (0:151b)
 	ld a,$6e ; ":L" tile ID
 	ld [hli],a
 	ld c,3 ; number of digits
 	ld a,[$cfb9] ; level
 
-PrintLevelCommon: ; 1523
+PrintLevelCommon: ; 1523 (0:1523)
 	ld [$d11e],a
 	ld de,$d11e
 	ld b,$41 ; no leading zeroes, left-aligned, one byte
@@ -3293,7 +3298,7 @@
 	jp PrintNumber
 
 ; XXX does anything call this?
-Unknown152E: ; 152E
+Unknown152E: ; 152e (0:152e)
 	ld hl,$d0dc
 	ld c,a
 	ld b,0
@@ -3304,7 +3309,7 @@
 ; copies the base stat data of a pokemon to $D0B8 (W_MONHEADER)
 ; INPUT:
 ; [$D0B5] = pokemon ID
-GetMonHeader: ; 1537
+GetMonHeader: ; 1537 (0:1537)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,BANK(BulbasaurBaseStats)
@@ -3369,12 +3374,12 @@
 	ret
 
 ; copy party pokemon's name to $CD6D
-GetPartyMonName2: ; 15B4
+GetPartyMonName2: ; 15b4 (0:15b4)
 	ld a,[$cf92] ; index within party
 	ld hl,W_PARTYMON1NAME
 
 ; this is called more often
-GetPartyMonName: ; 15BA
+GetPartyMonName: ; 15ba (0:15ba)
 	push hl
 	push bc
 	call SkipFixedLengthTextEntries ; add 11 to hl, a times
@@ -3400,7 +3405,7 @@
 ; bits 0-4: length of BCD number in bytes
 ; Note that bits 5 and 7 are modified during execution. The above reflects
 ; their meaning at the beginning of the functions's execution.
-PrintBCDNumber: ; 15CD
+PrintBCDNumber: ; 15cd (0:15cd)
 	ld b,c ; save flags in b
 	res 7,c
 	res 6,c
@@ -3438,7 +3443,7 @@
 .done
 	ret
 
-PrintBCDDigit: ; 1604
+PrintBCDDigit: ; 1604 (0:1604)
 	and a,%00001111
 	and a
 	jr z,.zeroDigit
@@ -3468,7 +3473,7 @@
 ; uncompresses the front or back sprite of the specified mon
 ; assumes the corresponding mon header is already loaded
 ; hl contains offset to sprite pointer ($b for front or $d for back)
-UncompressMonSprite: ; 0x1627
+UncompressMonSprite: ; 1627 (0:1627)
 	ld bc,W_MONHEADER
 	add hl,bc
 	ld a,[hli]
@@ -3667,43 +3672,43 @@
 	jp CopyVideoData
 ; 172f (0:172f)
 
-Tset0B_Coll: ; 0x172F
+Tset0B_Coll: ; 172f (0:172f)
 	INCBIN "gfx/tilesets/0b.tilecoll"
-Tset00_Coll: ; 0x1735
+Tset00_Coll: ; 1735 (0:1735)
 	INCBIN "gfx/tilesets/00.tilecoll"
-Tset01_Coll: ; 0x1749
+Tset01_Coll: ; 1749 (0:1749)
 	INCBIN "gfx/tilesets/01.tilecoll"
-Tset02_Coll: ; 0x1753
+Tset02_Coll: ; 1753 (0:1753)
 	INCBIN "gfx/tilesets/02.tilecoll"
-Tset05_Coll: ; 0x1759
+Tset05_Coll: ; 1759 (0:1759)
 	INCBIN "gfx/tilesets/05.tilecoll"
-Tset03_Coll: ; 0x1765
+Tset03_Coll: ; 1765 (0:1765)
 	INCBIN "gfx/tilesets/03.tilecoll"
-Tset08_Coll: ; 0x1775
+Tset08_Coll: ; 1775 (0:1775)
 	INCBIN "gfx/tilesets/08.tilecoll"
-Tset09_Coll: ; 0x177f
+Tset09_Coll: ; 177f (0:177f)
 	INCBIN "gfx/tilesets/09.tilecoll"
-Tset0D_Coll: ; 0x178a
+Tset0D_Coll: ; 178a (0:178a)
 	INCBIN "gfx/tilesets/0d.tilecoll"
-Tset0E_Coll: ; 0x1795
+Tset0E_Coll: ; 1795 (0:1795)
 	INCBIN "gfx/tilesets/0e.tilecoll"
-Tset0F_Coll: ; 0x179a
+Tset0F_Coll: ; 179a (0:179a)
 	INCBIN "gfx/tilesets/0f.tilecoll"
-Tset10_Coll: ; 0x17a2
+Tset10_Coll: ; 17a2 (0:17a2)
 	INCBIN "gfx/tilesets/10.tilecoll"
-Tset11_Coll: ; 0x17ac
+Tset11_Coll: ; 17ac (0:17ac)
 	INCBIN "gfx/tilesets/11.tilecoll"
-Tset12_Coll: ; 0x17b8
+Tset12_Coll: ; 17b8 (0:17b8)
 	INCBIN "gfx/tilesets/12.tilecoll"
-Tset13_Coll: ; 0x17c0
+Tset13_Coll: ; 17c0 (0:17c0)
 	INCBIN "gfx/tilesets/13.tilecoll"
-Tset14_Coll: ; 0x17ca
+Tset14_Coll: ; 17ca (0:17ca)
 	INCBIN "gfx/tilesets/14.tilecoll"
-Tset15_Coll: ; 0x17d1
+Tset15_Coll: ; 17d1 (0:17d1)
 	INCBIN "gfx/tilesets/15.tilecoll"
-Tset16_Coll: ; 0x17dd
+Tset16_Coll: ; 17dd (0:17dd)
 	INCBIN "gfx/tilesets/16.tilecoll"
-Tset17_Coll: ; 0x17f0
+Tset17_Coll: ; 17f0 (0:17f0)
 	INCBIN "gfx/tilesets/17.tilecoll"
 ;Tile Collision ends 0x17f7
 
@@ -3710,7 +3715,7 @@
 ; does the same thing as FarCopyData at 009D
 ; only difference is that it uses [$ff8b] instead of [$cee9] for a temp value
 ; copy bc bytes of data from a:hl to de
-FarCopyData2: ; 17F7
+FarCopyData2: ; 17f7 (0:17f7)
 	ld [$ff8b],a
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -3725,7 +3730,7 @@
 
 ; does a far copy but the source is de and the destination is hl
 ; copy bc bytes of data from a:de to hl
-FarCopyData3: ; 180D
+FarCopyData3: ; 180d (0:180d)
 	ld [$ff8b],a
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -3748,7 +3753,7 @@
 
 ; copies each source byte to the destination twice (next to each other)
 ; copy bc source bytes from a:hl to de
-FarCopyDataDouble: ; 182B
+FarCopyDataDouble: ; 182b (0:182b)
 	ld [$ff8b],a
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -3772,7 +3777,7 @@
 
 ; copy (c * 16) bytes from b:de to hl during V-blank
 ; transfers up to 128 bytes per V-blank
-CopyVideoData: ; 1848
+CopyVideoData: ; 1848 (0:1848)
 	ld a,[H_AUTOBGTRANSFERENABLED] ; save auto-transfer enabled flag
 	push af
 	xor a
@@ -3815,7 +3820,7 @@
 ; copy (c * 8) source bytes from b:de to hl during V-blank
 ; copies each source byte to the destination twice (next to each other)
 ; transfers up to 64 source bytes per V-blank
-CopyVideoDataDouble: ; 1886
+CopyVideoDataDouble: ; 1886 (0:1886)
 	ld a,[H_AUTOBGTRANSFERENABLED] ; save auto-transfer enabled flag
 	push af
 	xor a
@@ -3860,7 +3865,7 @@
 ; hl = address of upper left corner of the area
 ; b = height
 ; c = width
-ClearScreenArea: ; 18C4
+ClearScreenArea: ; 18c4 (0:18c4)
 	ld   a,$7F ; blank tile
 	ld   de,20 ; screen width
 .loop
@@ -3878,30 +3883,32 @@
 	ret
 
 ; known jump sources: 70fd (1:70fd), 1dbc2 (7:5bc2), 41265 (10:5265), 4129d (10:529d), 41324 (10:5324)
-Func_18d6: ; 18d6 (0:18d6)
+; copies the screen tile buffer from WRAM to VRAM
+; copying is done in 3 chunks of 6 rows each
+; b: high byte of VRAM destination address ($98 or $9c for window tile map 0 or 1 resp.)
+CopyScreenTileBufferToVRAM: ; 18d6 (0:18d6)
 	ld c, $6
-	ld hl, $0
-	ld de, $c3a0
-	call Func_18fc
+	ld hl, $0000
+	ld de, W_SCREENTILESBUFFER
+	call InitScreenTileBufferTransferParameters
 	call DelayFrame
 	ld hl, $600
-	ld de, $c418
-	call Func_18fc
+	ld de, W_SCREENTILESBUFFER + 20 * 6 ; $c418
+	call InitScreenTileBufferTransferParameters
 	call DelayFrame
 	ld hl, $c00
-	ld de, $c490
-	call Func_18fc
+	ld de, W_SCREENTILESBUFFER + 20 * 12 ; $c490
+	call InitScreenTileBufferTransferParameters
 	jp DelayFrame
 
-; known jump sources: 18de (0:18de), 18ea (0:18ea), 18f6 (0:18f6)
-Func_18fc: ; 18fc (0:18fc)
+InitScreenTileBufferTransferParameters: ; 18fc (0:18fc)
 	ld a, d
-	ld [$FF00+$c2], a
+	ld [H_VBCOPYBGSRC+1], a
 	call GetRowColAddressBgMap
 	ld a, l
 	ld [H_VBCOPYBGDEST], a ; $FF00+$c3
 	ld a, h
-	ld [$FF00+$c4], a
+	ld [H_VBCOPYBGDEST+1], a
 	ld a, c
 	ld [H_VBCOPYBGNUMROWS], a ; $FF00+$c5
 	ld a, e
@@ -3908,12 +3915,12 @@
 	ld [H_VBCOPYBGSRC], a ; $FF00+$c1
 	ret
 ; 190f (0:190f)
-ClearScreen: ; 190F
+ClearScreen: ; 190f (0:190f)
 ; clears all tiles in the tilemap,
 ; then wait three frames
 	ld bc,$0168 ; tilemap size
 	inc b
-	ld hl,$C3A0 ; TILEMAP_START
+	ld hl,W_SCREENTILESBUFFER ; TILEMAP_START
 	ld a,$7F    ; $7F is blank tile
 .loop
 	ld [hli],a
@@ -3923,7 +3930,7 @@
 	jr nz,.loop
 	jp Delay3
 
-TextBoxBorder: ; 1922
+TextBoxBorder: ; 1922 (0:1922)
 ; draw a text box
 ; upper-left corner at coordinates hl
 ; height b
@@ -3965,7 +3972,7 @@
 	ld [hl],"┘"
 	ret
 ;
-NPlaceChar: ; 0x194f
+NPlaceChar: ; 194f (0:194f)
 ; place a row of width c of identical characters
 	ld d,c
 .loop
@@ -3974,9 +3981,9 @@
 	jr nz,.loop
 	ret
 
-PlaceString: ; 1955
+PlaceString: ; 1955 (0:1955)
 	push hl
-PlaceNextChar: ; 1956
+PlaceNextChar: ; 1956 (0:1956)
 	ld a,[de]
 
 	cp "@"
@@ -4004,7 +4011,8 @@
 	cp $4F
 	jr nz,.next3
 	pop hl
-	ld hl,$C4E1
+	FuncCoord 1, 16 ; $c4e1
+	ld hl,Coord
 	push hl
 	jp Next19E8
 
@@ -4012,7 +4020,7 @@
 	and a
 	jp z,Char00
 	cp $4C
-	jp z,$1B0A
+	jp z,Char4C
 	cp $4B
 	jp z,Char4B
 	cp $51
@@ -4034,11 +4042,11 @@
 	cp $5D
 	jp z,Char5D
 	cp $55
-	jp z,$1A7C
+	jp z,Char55
 	cp $56
 	jp z,Char56
 	cp $57
-	jp z,$1AAD
+	jp z,Char57
 	cp $58
 	jp z,Char58
 	cp $4A
@@ -4051,11 +4059,11 @@
 	jp z,Char5A
 	ld [hli],a
 	call PrintLetterDelay
-Next19E8: ; 0x19e8
+Next19E8: ; 19e8 (0:19e8)
 	inc de
 	jp PlaceNextChar
 
-Char00: ; 0x19ec
+Char00: ; 19ec (0:19ec)
 	ld b,h
 	ld c,l
 	pop hl
@@ -4072,47 +4080,47 @@
 	ld de,W_PLAYERNAME
 	jr FinishDTE
 
-Char53: ; rival’s name
+Char53: ; 19ff (0:19ff) ; rival’s name
 	push de
 	ld de,W_RIVALNAME
 	jr FinishDTE
 
-Char5D: ; TRAINER
+Char5D: ; 1a05 (0:1a05) ; TRAINER
 	push de
 	ld de,Char5DText
 	jr FinishDTE
 
-Char5C: ; TM
+Char5C: ; 1a0b (0:1a0b) ; TM
 	push de
 	ld de,Char5CText
 	jr FinishDTE
 
-Char5B: ; PC
+Char5B: ; 1a11 (0:1a11) ; PC
 	push de
 	ld de,Char5BText
 	jr FinishDTE
 
-Char5E: ; ROCKET
+Char5E: ; 1a17 (0:1a17) ; ROCKET
 	push de
 	ld de,Char5EText
 	jr FinishDTE
 
-Char54: ; POKé
+Char54: ; 1a1d (0:1a1d) ; POKé
 	push de
 	ld de,Char54Text
 	jr FinishDTE
 
-Char56: ; ……
+Char56: ; 1a23 (0:1a23) ; ……
 	push de
 	ld de,Char56Text
 	jr FinishDTE
 
-Char4A: ; PKMN
+Char4A: ; 1a29 (0:1a29) ; PKMN
 	push de
 	ld de,Char4AText
 	jr FinishDTE
 
-Char59:
+Char59: ; 1a2f (0:1a2f)
 ; depending on whose turn it is, print
 ; enemy active monster’s name, prefixed with “Enemy ”
 ; or
@@ -4122,17 +4130,17 @@
 	xor 1
 	jr MonsterNameCharsCommon
 
-Char5A:
+Char5A: ; 1a35 (0:1a35)
 ; 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:
+MonsterNameCharsCommon: ; 1a37 (0:1a37)
 	push de
 	and a
 	jr nz,.Enemy
-	ld de,$D009 ; player active monster name
+	ld de,W_PLAYERMONNAME ; player active monster name
 	jr FinishDTE
 
 .Enemy ; 1A40
@@ -4144,7 +4152,7 @@
 	ld l,c
 	ld de,W_ENEMYMONNAME ; enemy active monster name
 
-FinishDTE:
+FinishDTE: ; 1a4b (0:1a4b)
 	call PlaceString
 	ld h,b
 	ld l,c
@@ -4152,24 +4160,24 @@
 	inc de
 	jp PlaceNextChar
 
-Char5CText: ; 0x1a55
+Char5CText: ; 1a55 (0:1a55)
 	db "TM@"
-Char5DText: ; 0x1a58
+Char5DText: ; 1a58 (0:1a58)
 	db "TRAINER@"
-Char5BText: ; 0x1a60
+Char5BText: ; 1a60 (0:1a60)
 	db "PC@"
-Char5EText: ; 0x1a63
+Char5EText: ; 1a63 (0:1a63)
 	db "ROCKET@"
-Char54Text: ; 0x1a6a
+Char54Text: ; 1a6a (0:1a6a)
 	db "POKé@"
-Char56Text: ; 0x1a70
+Char56Text: ; 1a6f (0:1a6f)
 	db "……@"
-Char5AText: ; 0x1a72
+Char5AText: ; 1a72 (0:1a72)
 	db "Enemy @"
-Char4AText: ; 0x1a79
+Char4AText: ; 1a79 (0:1a79)
 	db $E1,$E2,"@" ; PKMN
 
-Char55: ; 0x1a7c
+Char55: ; 1a7c (0:1a7c)
 	push de
 	ld b,h
 	ld c,l
@@ -4181,58 +4189,66 @@
 	inc de
 	jp PlaceNextChar
 
-Char55Text: ; 0x1a8c
+Char55Text: ; 1a8c (0:1a8c)
 ; equivalent to Char4B
 	TX_FAR _Char55Text
 	db "@"
 
-Char5F: ; 0x1a91
+Char5F: ; 1a91 (0:1a91)
 ; ends a Pokédex entry
 	ld [hl],"."
 	pop hl
 	ret
 
-Char58: ; 0x1a95
+Char58: ; 1a95 (0:1a95)
 	ld a,[$D12B]
 	cp 4
 	jp z,Next1AA2
 	ld a,$EE
-	ld [$C4F2],a
-Next1AA2: ; 0x1aa2
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a
+Next1AA2: ; 1aa2 (0:1aa2)
 	call ProtectedDelay3
-	call Func_3898
+	call ManualTextScroll
 	ld a,$7F
-	ld [$C4F2],a
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a
+Char57: ; 1aad (0:1aad)
 	pop hl
 	ld de,Char58Text
 	dec de
 	ret
 
-Char58Text: ; 0x1ab3
+Char58Text: ; 1ab3 (0:1ab3)
 	db "@"
 
-Char51: ; 0x1ab4
+Char51: ; 1ab4 (0:1ab4)
 	push de
 	ld a,$EE
-	ld [$C4F2],a
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a
 	call ProtectedDelay3
-	call Func_3898
-	ld hl,$C4A5
+	call ManualTextScroll
+	FuncCoord 1, 13 ; $c4a5
+	ld hl,Coord
 	ld bc,$0412
 	call ClearScreenArea
 	ld c,$14
 	call DelayFrames
 	pop de
-	ld hl,$C4B9
+	FuncCoord 1, 14 ; $c4b9
+	ld hl,Coord
 	jp Next19E8
 
-Char49: ; 0x1ad5
+Char49: ; 1ad5 (0:1ad5)
 	push de
 	ld a,$EE
-	ld [$C4F2],a
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a
 	call ProtectedDelay3
-	call Func_3898
-	ld hl,$C469
+	call ManualTextScroll
+	FuncCoord 1, 10 ; $c469
+	ld hl,Coord
 	ld bc,$0712
 	call ClearScreenArea
 	ld c,$14
@@ -4239,29 +4255,37 @@
 	call DelayFrames
 	pop de
 	pop hl
-	ld hl,$C47D
+	FuncCoord 1, 11 ; $c47d
+	ld hl,Coord
 	push hl
 	jp Next19E8
 
-Char4B: ; 0x1af8
+Char4B: ; 1af8 (0:1af8)
 	ld a,$EE
-	ld [$C4F2],a
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a
 	call ProtectedDelay3
 	push de
-	call Func_3898
+	call ManualTextScroll
 	pop de
 	ld a,$7F
-	ld [$C4F2],a
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a
+	;fall through
+Char4C: ; 1b0a (0:1b0a)
 	push de
 	call Next1B18
 	call Next1B18
-	ld hl,$C4E1
+	FuncCoord 1, 16 ; $c4e1
+	ld hl,Coord
 	pop de
 	jp Next19E8
 
-Next1B18: ; 0x1b18
-	ld hl,$C4B8
-	ld de,$C4A4
+Next1B18: ; 1b18 (0:1b18)
+	FuncCoord 0, 14 ; $c4b8
+	ld hl,Coord
+	FuncCoord 0, 13 ; $c4a4
+	ld de,Coord
 	ld b,$3C
 .next
 	ld a,[hli]
@@ -4269,7 +4293,8 @@
 	inc de
 	dec b
 	jr nz,.next
-	ld hl,$C4E1
+	FuncCoord 1, 16 ; $c4e1
+	ld hl,Coord
 	ld a,$7F
 	ld b,$12
 .next2
@@ -4286,13 +4311,13 @@
 
 	ret
 
-ProtectedDelay3: ; 0x1b3a
+ProtectedDelay3: ; 1b3a (0:1b3a)
 	push bc
 	call Delay3
 	pop bc
 	ret
 
-TextCommandProcessor: ; 1B40
+TextCommandProcessor: ; 1b40 (0:1b40)
 	ld a,[$d358]
 	push af
 	set 1,a
@@ -4305,7 +4330,7 @@
 	ld a,b
 	ld [$cc3b],a
 
-NextTextCommand: ; 1B55
+NextTextCommand: ; 1b55 (0:1b55)
 	ld a,[hli]
 	cp a,$50 ; terminator
 	jr nz,.doTextCommand
@@ -4336,7 +4361,7 @@
 ; AAAA = address of upper left corner
 ; BB = height
 ; CC = width
-TextCommand04: ; 1B78
+TextCommand04: ; 1b78 (0:1b78)
 	pop hl
 	ld a,[hli]
 	ld e,a
@@ -4355,7 +4380,7 @@
 
 ; place string inline
 ; 00{string}
-TextCommand00: ; 1B8A
+TextCommand00: ; 1b8a (0:1b8a)
 	pop hl
 	ld d,h
 	ld e,l
@@ -4370,7 +4395,7 @@
 ; place string from RAM
 ; 01AAAA
 ; AAAA = address of string
-TextCommand01: ; 1B97
+TextCommand01: ; 1b97 (0:1b97)
 	pop hl
 	ld a,[hli]
 	ld e,a
@@ -4389,7 +4414,7 @@
 ; BB
 ; bits 0-4 = length in bytes
 ; bits 5-7 = unknown flags
-TextCommand02: ; 1BA5
+TextCommand02: ; 1ba5 (0:1ba5)
 	pop hl
 	ld a,[hli]
 	ld e,a
@@ -4409,7 +4434,7 @@
 ; repoint destination address
 ; 03AAAA
 ; AAAA = new destination address
-TextCommand03: ; 1BB7
+TextCommand03: ; 1bb7 (0:1bb7)
 	pop hl
 	ld a,[hli]
 	ld [$cc3a],a
@@ -4422,25 +4447,28 @@
 ; repoint destination to second line of dialogue text box
 ; 05
 ; (no arguments)
-TextCommand05: ; 1BC5
+TextCommand05: ; 1bc5 (0:1bc5)
 	pop hl
-	ld bc,$c4e1 ; address of second line of dialogue text box
+	FuncCoord 1, 16 ; $c4e1
+	ld bc,Coord ; 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
+TextCommand06: ; 1bcc (0: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
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a ; place down arrow in lower right corner of dialogue text box
 	push bc
-	call Func_3898 ; blink arrow and wait for A or B to be pressed
+	call ManualTextScroll ; blink arrow and wait for A or B to be pressed
 	pop bc
 	ld a," "
-	ld [$c4f2],a ; overwrite down arrow with blank space
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a ; overwrite down arrow with blank space
 	pop hl
 	jp NextTextCommand
 
@@ -4447,18 +4475,20 @@
 ; scroll text up one line
 ; 07
 ; (no arguments)
-TextCommand07: ; 1BE7
+TextCommand07: ; 1be7 (0:1be7)
 	ld a," "
-	ld [$c4f2],a ; place blank space in lower right corner of dialogue text box
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord],a ; place blank space in lower right corner of dialogue text box
 	call Next1B18 ; scroll up text
 	call Next1B18
 	pop hl
-	ld bc,$c4e1 ; address of second line of dialogue text box
+	FuncCoord 1, 16 ; $c4e1
+	ld bc,Coord ; address of second line of dialogue text box
 	jp NextTextCommand
 
 ; execute asm inline
 ; 08{code}
-TextCommand08: ; 1BF9
+TextCommand08: ; 1bf9 (0:1bf9)
 	pop hl
 	ld de,NextTextCommand
 	push de ; return address
@@ -4470,7 +4500,7 @@
 ; BB
 ; bits 0-3 = how many digits to display
 ; bits 4-7 = how long the number is in bytes
-TextCommand09: ; 1BFF
+TextCommand09: ; 1bff (0:1bff)
 	pop hl
 	ld a,[hli]
 	ld e,a
@@ -4497,10 +4527,10 @@
 ; wait half a second if the user doesn't hold A or B
 ; 0A
 ; (no arguments)
-TextCommand0A: ; 1C1D
+TextCommand0A: ; 1c1d (0:1c1d)
 	push bc
 	call GetJoypadState
-	ld a,[$ffb4]
+	ld a,[H_CURRENTPRESSEDBUTTONS]
 	and a,%00000011 ; A and B buttons
 	jr nz,.skipDelay
 	ld c,30
@@ -4513,7 +4543,7 @@
 ; plays sounds
 ; this actually handles various command ID's, not just 0B
 ; (no arguments)
-TextCommand0B: ; 1C31
+TextCommand0B: ; 1c31 (0:1c31)
 	pop hl
 	push bc
 	dec hl
@@ -4536,7 +4566,7 @@
 	jr z,.pokemonCry
 	ld a,[hl]
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	pop hl
 	pop bc
 	jp NextTextCommand
@@ -4550,7 +4580,7 @@
 	jp NextTextCommand
 
 ; format: text command ID, sound ID or cry ID
-TextCommandSounds: ; 1C64
+TextCommandSounds: ; 1c64 (0:1c64)
 db $0B,$86
 db $12,$9A
 db $0E,$91
@@ -4565,7 +4595,7 @@
 ; draw ellipses
 ; 0CAA
 ; AA = number of ellipses to draw
-TextCommand0C: ; 1C78
+TextCommand0C: ; 1c78 (0:1c78)
 	pop hl
 	ld a,[hli]
 	ld d,a
@@ -4578,7 +4608,7 @@
 	push de
 	call GetJoypadState
 	pop de
-	ld a,[$ffb4] ; joypad state
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; joypad state
 	and a,%00000011 ; is A or B button pressed?
 	jr nz,.skipDelay ; if so, skip the delay
 	ld c,10
@@ -4594,9 +4624,9 @@
 ; wait for A or B to be pressed
 ; 0D
 ; (no arguments)
-TextCommand0D: ; 1C9A
+TextCommand0D: ; 1c9a (0:1c9a)
 	push bc
-	call Func_3898 ; wait for A or B to be pressed
+	call ManualTextScroll ; wait for A or B to be pressed
 	pop bc
 	pop hl
 	jp NextTextCommand
@@ -4605,7 +4635,7 @@
 ; 17AAAABB
 ; AAAA = address of text commands
 ; BB = bank
-TextCommand17: ; 1CA3
+TextCommand17: ; 1ca3 (0:1ca3)
 	pop hl
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -4626,7 +4656,7 @@
 	ld [$2000],a
 	jp NextTextCommand
 
-TextCommandJumpTable: ; 1CC1
+TextCommandJumpTable: ; 1cc1 (0:1cc1)
 dw TextCommand00
 dw TextCommand01
 dw TextCommand02
@@ -4645,7 +4675,7 @@
 ; 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
+GetRowColAddressBgMap: ; 1cdd (0:1cdd)
 	xor a
 	srl h
 	rr a
@@ -4662,7 +4692,7 @@
 
 ; clears a VRAM background map with blank space tiles
 ; INPUT: h - high byte of background tile map address in VRAM
-ClearBgMap: ; 1CF0
+ClearBgMap: ; 1cf0 (0:1cf0)
 	ld a," "
 	jr .next
 	ld a,l ; XXX does anything call this?
@@ -4680,7 +4710,7 @@
 ; When the player takes a step, a row or column of 2x2 tile blocks at the edge
 ; of the screen toward which they moved is exposed and has to be redrawn.
 ; This function does the redrawing.
-RedrawExposedScreenEdge: ; 1D01
+RedrawExposedScreenEdge: ; 1d01 (0:1d01)
 	ld a,[H_SCREENEDGEREDRAW]
 	and a
 	ret z
@@ -4759,7 +4789,7 @@
 ; on when talking to sprites, battling, using menus, etc. This is because
 ; the above function, RedrawExposedScreenEdge, is used when walking to
 ; improve efficiency.
-AutoBgMapTransfer: ; 1D57
+AutoBgMapTransfer: ; 1d57 (0:1d57)
 	ld a,[H_AUTOBGTRANSFERENABLED]
 	and a
 	ret z
@@ -4811,7 +4841,7 @@
 	ld b,6
 
 ; unrolled loop and using pop for speed
-TransferBgRows: ; 1D9E
+TransferBgRows: ; 1d9e (0:1d9e)
 	pop de
 	ld [hl],e
 	inc l
@@ -4878,7 +4908,7 @@
 
 ; Copies [H_VBCOPYBGNUMROWS] rows from H_VBCOPYBGSRC to H_VBCOPYBGDEST.
 ; If H_VBCOPYBGSRC is XX00, the transfer is disabled.
-VBlankCopyBgMap: ; 1DE1
+VBlankCopyBgMap: ; 1de1 (0:1de1)
 	ld a,[H_VBCOPYBGSRC] ; doubles as enabling byte
 	and a
 	ret z
@@ -4907,7 +4937,7 @@
 ; It copies each source byte to the destination twice (next to each other).
 ; The function updates the source and destination addresses, so the transfer
 ; can be continued easily by repeatingly calling this function.
-VBlankCopyDouble: ; 1E02
+VBlankCopyDouble: ; 1e02 (0:1e02)
 	ld a,[H_VBCOPYDOUBLESIZE]
 	and a ; are there any bytes to copy?
 	ret z
@@ -4987,7 +5017,7 @@
 ; Copies ([H_VBCOPYSIZE] * 16) bytes from H_VBCOPYSRC to H_VBCOPYDEST.
 ; The function updates the source and destination addresses, so the transfer
 ; can be continued easily by repeatingly calling this function.
-VBlankCopy: ; 1E5E
+VBlankCopy: ; 1e5e (0:1e5e)
 	ld a,[H_VBCOPYSIZE]
 	and a ; are there any bytes to copy?
 	ret z
@@ -5069,7 +5099,7 @@
 	ret
 
 ; This function updates the moving water and flower background tiles.
-UpdateMovingBgTiles: ; 1EBE
+UpdateMovingBgTiles: ; 1ebe (0:1ebe)
 	ld a,[$ffd7]
 	and a
 	ret z
@@ -5130,21 +5160,23 @@
 	jr nz,.flowerTileLoop
 	ret
 
-FlowerTilePattern1: ; 1F19
+FlowerTilePattern1: ; 1f19 (0:1f19)
 INCBIN "gfx/tilesets/flower/flower1.2bpp"
 
-FlowerTilePattern2: ; 1F29
+FlowerTilePattern2: ; 1f29 (0:1f29)
 INCBIN "gfx/tilesets/flower/flower2.2bpp"
 
-FlowerTilePattern3: ; 1F39
+FlowerTilePattern3: ; 1f39 (0:1f39)
 INCBIN "gfx/tilesets/flower/flower3.2bpp"
 
 ; known jump sources: c047 (3:4047)
-Func_1f49: ; 1f49 (0:1f49)
-	call Func_200e
+SoftReset: ; 1f49 (0:1f49)
+	call StopAllSounds
 	call GBPalWhiteOut
 	ld c, $20
 	call DelayFrames
+	;fall through
+
 ; 1f54 (0:1f54)
 ; initialization code
 ; explanation for %11100011 (value stored in rLCDC)
@@ -5156,7 +5188,7 @@
 ; * 8x8 OBJ size
 ; * OBJ display enabled
 ; * BG display enabled
-InitGame: ; 1F54
+InitGame: ; 1f54 (0:1f54)
 	di
 ; zero I/O registers
 	xor a
@@ -5217,8 +5249,8 @@
 	ld a,%11100011
 	ld [rLCDC],a ; enabled LCD
 	ld a,$10
-	ld [$ff8a],a
-	call Func_200e
+	ld [H_SOFTRESETCOUNTER],a
+	call StopAllSounds
 	ei
 	ld a,$40
 	call Predef ; SGB border
@@ -5242,7 +5274,7 @@
 	jp Func_42b7
 
 ; zeroes all VRAM
-ZeroVram: ; 2004
+ZeroVram: ; 2004 (0:2004)
 	ld hl,$8000
 	ld bc,$2000
 	xor a
@@ -5249,7 +5281,8 @@
 	jp FillMemory
 
 ; known jump sources: 962 (0:962), 1f49 (0:1f49), 1fd0 (0:1fd0)
-Func_200e: ; 200e (0:200e)
+; immediately stops all sounds
+StopAllSounds: ; 200e (0:200e)
 	ld a, $2
 	ld [$c0ef], a
 	ld [$c0f0], a
@@ -5261,7 +5294,7 @@
 	jp PlaySound
 ; 2024 (0:2024)
 
-VBlankHandler: ; 2024
+VBlankHandler: ; 2024 (0:2024)
 	push af
 	push bc
 	push de
@@ -5336,7 +5369,7 @@
 	pop af
 	reti
 
-DelayFrame: ; 20AF
+DelayFrame: ; 20af (0:20af)
 ; delay for one frame
 	ld a,1
 	ld [H_VBLANKOCCURRED],a
@@ -5352,7 +5385,7 @@
 
 ; These routines manage gradual fading
 ; (e.g., entering a doorway)
-LoadGBPal: ; 20BA
+LoadGBPal: ; 20ba (0:20ba)
 	ld a,[$d35d] ;tells if cur.map is dark (requires HM5_FLASH?)
 	ld b,a
 	ld hl,GBPalTable_00	;16
@@ -5370,16 +5403,16 @@
 	ld [rOBP1],a
 	ret
 
-GBFadeOut1: ; 20D1
+GBFadeOut1: ; 20d1 (0:20d1)
 	ld hl,IncGradGBPalTable_01	;0d
 	ld b,$04
 	jr GBFadeOutCommon
 
-GBFadeOut2: ; 20D8
+GBFadeOut2: ; 20d8 (0:20d8)
 	ld hl,IncGradGBPalTable_02	;1c
 	ld b,$03
 
-GBFadeOutCommon: ; 0x20dd
+GBFadeOutCommon: ; 20dd (0:20dd)
 	ld a,[hli]
 	ld [rBGP],a
 	ld a,[hli]
@@ -5392,16 +5425,16 @@
 	jr nz,GBFadeOutCommon
 	ret
 
-GBFadeIn1: ; 20EF
+GBFadeIn1: ; 20ef (0:20ef)
 	ld hl,DecGradGBPalTable_01	;18
 	ld b,$04
 	jr GBFadeInCommon
 
-GBFadeIn2: ; 20F6
+GBFadeIn2: ; 20f6 (0:20f6)
 	ld hl,DecGradGBPalTable_02	;21
 	ld b,$03
 
-GBFadeInCommon: ; 0x20fb
+GBFadeInCommon: ; 20fb (0:20fb)
 	ld a,[hld]
 	ld [rOBP1],a
 	ld a,[hld]
@@ -5414,7 +5447,7 @@
 	jr nz,GBFadeInCommon
 	ret
 
-IncGradGBPalTable_01: ; 210D
+IncGradGBPalTable_01: ; 210d (0:210d)
 	db %11111111 ;BG Pal
 	db %11111111 ;OBJ Pal 1
 	db %11111111 ;OBJ Pal 2
@@ -5426,16 +5459,16 @@
 	db %11111001
 	db %11100100
 	db %11100100
-GBPalTable_00: ; 0x2116 16
+GBPalTable_00: ; 2116 (0:2116)
 	db %11100100
 	db %11010000
-DecGradGBPalTable_01: ; 0x2118 18
+DecGradGBPalTable_01: ; 2118 (0:2118)
 	db %11100000
 	;19
 	db %11100100
 	db %11010000
 	db %11100000
-IncGradGBPalTable_02: ; 0x211c
+IncGradGBPalTable_02: ; 211c (0:211c)
 	db %10010000
 	db %10000000
 	db %10010000
@@ -5442,7 +5475,7 @@
 
 	db %01000000
 	db %01000000
-DecGradGBPalTable_02: ; 0x2121
+DecGradGBPalTable_02: ; 2121 (0:2121)
 	db %01000000
 
 	db %00000000
@@ -5675,12 +5708,12 @@
 
 ; no known jump sources (dead code?)
 Func_226e: ; 226e (0:226e)
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld hl, Func_4c05
 	ld b, BANK(Func_4c05)
 	call Bankswitch
 	call Func_227f
-	jp Func_3725
+	jp LoadScreenTilesFromBuffer1
 
 ; known jump sources: 53b5 (1:53b5), 7263 (1:7263)
 Func_227f: ; 227f (0:227f)
@@ -5769,12 +5802,12 @@
 	ret
 
 ; timer interrupt is apparently not invoked anyway
-TimerHandler: ; 0x2306
+TimerHandler: ; 2306 (0:2306)
 	reti
 
 ; known jump sources: 100d (0:100d), 12f5 (0:12f5), d993 (3:5993), d9ae (3:59ae), d9da (3:59da), da22 (3:5a22), e234 (3:6234), 17daa (5:7daa), 19624 (6:5624), 1cbf4 (7:4bf4), 1ce82 (7:4e82), 1cf1b (7:4f1b), 1cfda (7:4fda), 1ebc9 (7:6bc9), 3aef3 (e:6ef3), 51165 (14:5165), 51d35 (14:5d35), 605cf (18:45cf), 614d2 (18:54d2), 61917 (18:5917), 70558 (1c:4558), 7bf61 (1e:7f61), 7d15f (1f:515f)
 Func_2307: ; 2307 (0:2307)
-	call Func_3748
+	call WaitForSoundToFinish
 	xor a
 	ld c, a
 	ld d, a
@@ -5981,16 +6014,16 @@
 ; first byte $FE, next byte # of items, last byte $FF
 
 ; Viridian
-ViridianMartText6: ; 2442
+ViridianMartText6: ; 2442 (0:2442)
 	db $FE,4,POKE_BALL,ANTIDOTE,PARLYZ_HEAL,BURN_HEAL,$FF
 
 ; Pewter
-PewterMartText1: ; 2449
+PewterMartText1: ; 2449 (0:2449)
 	db $FE,7,POKE_BALL,POTION,ESCAPE_ROPE,ANTIDOTE,BURN_HEAL,AWAKENING
 	db PARLYZ_HEAL,$FF
 
 ; Cerulean
-CeruleanMartText1: ; 2453
+CeruleanMartText1: ; 2453 (0:2453)
 	db $FE,7,POKE_BALL,POTION,REPEL,ANTIDOTE,BURN_HEAL,AWAKENING
 	db PARLYZ_HEAL,$FF
 
@@ -5998,39 +6031,39 @@
 	db $FE,1,BICYCLE,$FF
 
 ; Vermilion
-VermilionMartText1: ; 2461
+VermilionMartText1: ; 2461 (0:2461)
 	db $FE,6,POKE_BALL,SUPER_POTION,ICE_HEAL,AWAKENING,PARLYZ_HEAL
 	db REPEL,$FF
 
 ; Lavender
-LavenderMartText1: ; 246a
+LavenderMartText1: ; 246a (0: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
+CeladonMart2Text1: ; 2476 (0: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
+CeladonMart2Text2: ; 2482 (0: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
+CeladonMart4Text1: ; 248e (0:248e)
 	db $FE,5,POKE_DOLL,FIRE_STONE,THUNDER_STONE,WATER_STONE,LEAF_STONE,$FF
 
 ; Celadon Dept. Store 5F (1)
-CeladonMart5Text3: ; 2496
+CeladonMart5Text3: ; 2496 (0: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
+CeladonMart5Text4: ; 24a0 (0:24a0)
 	db $FE,5,HP_UP,PROTEIN,IRON,CARBOS,CALCIUM,$FF
 
 ; Fuchsia
-FuchsiaMartText1: ; 24a8
+FuchsiaMartText1: ; 24a8 (0:24a8)
 	db $FE,6,ULTRA_BALL,GREAT_BALL,SUPER_POTION,REVIVE,FULL_HEAL
 	db SUPER_REPEL,$FF
 
@@ -6038,49 +6071,49 @@
 	db $FE,5,GREAT_BALL,HYPER_POTION,SUPER_POTION,FULL_HEAL,REVIVE,$FF
 
 ; Cinnabar
-CinnabarMartText1: ; 24b9
+CinnabarMartText1: ; 24b9 (0:24b9)
 	db $FE,7,ULTRA_BALL,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE
 	db FULL_HEAL,REVIVE,$FF
 
 ; Saffron
-SaffronMartText1: ; 24c3
+SaffronMartText1: ; 24c3 (0:24c3)
 	db $FE,6,GREAT_BALL,HYPER_POTION,MAX_REPEL,ESCAPE_ROPE,FULL_HEAL
 	db REVIVE,$FF
 
 ; Indigo
-IndigoPlateauLobbyText4: ; 24cc
+IndigoPlateauLobbyText4: ; 24cc (0:24cc)
 	db $FE,7,ULTRA_BALL,GREAT_BALL,FULL_RESTORE,MAX_POTION,FULL_HEAL
 	db REVIVE,MAX_REPEL,$FF
 
-TextScriptEndingChar: ; 24D6
+TextScriptEndingChar: ; 24d6 (0:24d6)
 	db "@"
-TextScriptEnd: ; 24D7 24d7
+TextScriptEnd: ; 24d7 (0:24d7)
 	ld hl,TextScriptEndingChar
 	ret
 
-UnnamedText_24db: ; 0x24db
+UnnamedText_24db: ; 24db (0:24db)
 	TX_FAR _UnnamedText_24db
 	db "@"
 ; 0x24db + 5 bytes
 
-UnnamedText_24e0: ; 0x24e0
+UnnamedText_24e0: ; 24e0 (0:24e0)
 	TX_FAR _UnnamedText_24e0
 	db "@"
 ; 0x24e0 + 5 bytes
 
-BoulderText: ; 0x24e5
+BoulderText: ; 24e5 (0:24e5)
 	TX_FAR _BoulderText
 	db "@"
 
-MartSignText: ; 0x24ea
+MartSignText: ; 24ea (0:24ea)
 	TX_FAR _MartSignText
 	db "@"
 
-PokeCenterSignText: ; 0x24ef
+PokeCenterSignText: ; 24ef (0:24ef)
 	TX_FAR _PokeCenterSignText
 	db "@"
 
-Predef5CText: ; 0x24f4
+Predef5CText: ; 24f4 (0:24f4)
 ; XXX better label (what does predef $5C do?)
 	db $08 ; asm
 	ld a, $5c
@@ -6354,7 +6387,7 @@
 	ret
 
 ; the nth item is 2^n - 1
-LengthEncodingOffsetList:
+LengthEncodingOffsetList: ; 269f (0:269f)
 	dw $0001
 	dw $0003
 	dw $0007
@@ -6513,7 +6546,7 @@
 	ld e, a ; update last decoded data
 	ret
 
-DecodeNybble0Table: ; 0x27a7
+DecodeNybble0Table: ; 27a7 (0:27a7)
 	dn $0, $1
 	dn $3, $2
 	dn $7, $6
@@ -6522,7 +6555,7 @@
 	dn $c, $d
 	dn $8, $9
 	dn $b, $a
-DecodeNybble1Table: ; 0x27af
+DecodeNybble1Table: ; 27af (0:27af)
 	dn $f, $e
 	dn $c, $d
 	dn $8, $9
@@ -6531,7 +6564,7 @@
 	dn $3, $2
 	dn $7, $6
 	dn $4, $5
-DecodeNybble0TableFlipped: ; 0x27b7
+DecodeNybble0TableFlipped: ; 27b7 (0:27b7)
 	dn $0, $8
 	dn $c, $4
 	dn $e, $6
@@ -6540,7 +6573,7 @@
 	dn $3, $b
 	dn $1, $9
 	dn $d, $5
-DecodeNybble1TableFlipped: ; 0x27bf
+DecodeNybble1TableFlipped: ; 27bf (0:27bf)
 	dn $f, $7
 	dn $3, $b
 	dn $1, $9
@@ -6649,7 +6682,7 @@
 	ret
 
 ; maps each nybble to its reverse
-NybbleReverseTable: ; 0x2867
+NybbleReverseTable: ; 2867 (0:2867)
 	db $0, $8, $4, $c, $2, $a, $6 ,$e, $1, $9, $5, $d, $3, $b, $7 ,$f
 
 ; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand.
@@ -6680,23 +6713,24 @@
 	ret
 
 ; known jump sources: 5d6e (1:5d6e), 6210 (1:6210)
-Func_28a6: ; 28a6 (0:28a6)
+ResetPlayerSpriteData: ; 28a6 (0:28a6)
 	ld hl, $c100
-	call Func_28c4
+	call ResetPlayerSpriteData_ClearSpriteData
 	ld hl, $c200
-	call Func_28c4
+	call ResetPlayerSpriteData_ClearSpriteData
 	ld a, $1
 	ld [$c100], a
 	ld [$c20e], a
 	ld hl, $c104
-	ld [hl], $3c
+	ld [hl], $3c     ; set Y screen pos
 	inc hl
 	inc hl
-	ld [hl], $40
+	ld [hl], $40     ; set X screen pos
 	ret
 
 ; known jump sources: 28a9 (0:28a9), 28af (0:28af)
-Func_28c4: ; 28c4 (0:28c4)
+; overwrites sprite data with zeroes
+ResetPlayerSpriteData_ClearSpriteData: ; 28c4 (0:28c4)
 	ld bc, $10
 	xor a
 	jp FillMemory
@@ -6754,7 +6788,7 @@
 ; 2920 (0:2920)
 ; this function is used to display sign messages, sprite dialog, etc.
 ; INPUT: [$ff8c] = sprite ID or text ID
-DisplayTextID: ; 2920
+DisplayTextID: ; 2920 (0:2920)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld b,BANK(DisplayTextIDInit)
@@ -6856,20 +6890,20 @@
 	and a
 	jr nz,HoldTextDisplayOpen
 
-AfterDisplayingTextID: ; 29D6
+AfterDisplayingTextID: ; 29d6 (0:29d6)
 	ld a,[$cc47]
 	and a
 	jr nz,HoldTextDisplayOpen
-	call Func_3865 ; wait for a button press after displaying all the text
+	call WaitForTextScrollButtonPress ; 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
-HoldTextDisplayOpen: ; 29DF
+HoldTextDisplayOpen: ; 29df (0:29df)
 	call GetJoypadState
-	ld a,[$ffb4]
+	ld a,[H_CURRENTPRESSEDBUTTONS]
 	bit 0,a ; is the A button being pressed?
 	jr nz,HoldTextDisplayOpen
 
-CloseTextDisplay: ; 29E8
+CloseTextDisplay: ; 29e8 (0:29e8)
 	ld a,[W_CURMAP]
 	call SwitchToMapRomBank
 	ld a,$90
@@ -6905,7 +6939,7 @@
 	ld [$2000],a
 	jp UpdateSprites ; move sprites
 
-DisplayPokemartDialogue: ; 2A2E
+DisplayPokemartDialogue: ; 2a2e (0:2a2e)
 	push hl
 	ld hl,PokemartGreetingText
 	call PrintText
@@ -6925,11 +6959,11 @@
 	ld [$2000],a
 	jp AfterDisplayingTextID
 
-PokemartGreetingText: ; 0x2a55
+PokemartGreetingText: ; 2a55 (0:2a55)
 	TX_FAR _PokemartGreetingText
 	db $50
 
-LoadItemList: ; 2A5A
+LoadItemList: ; 2a5a (0:2a5a)
 	ld a,$01
 	ld [$cfcb],a
 	ld a,h
@@ -6945,7 +6979,7 @@
 	jr nz,.loop
 	ret
 
-DisplayPokemonCenterDialogue: ; 2A72
+DisplayPokemonCenterDialogue: ; 2a72 (0:2a72)
 	xor a
 	ld [$ff8b],a
 	ld [$ff8c],a
@@ -6962,22 +6996,22 @@
 	ld [$2000],a
 	jp AfterDisplayingTextID
 
-DisplaySafariGameOverText: ; 2A90
+DisplaySafariGameOverText: ; 2a90 (0:2a90)
 	ld hl, Func_1e9ed
 	ld b, BANK(Func_1e9ed)
 	call Bankswitch
 	jp AfterDisplayingTextID
 
-DisplayPokemonFaintedText: ; 2A9B
+DisplayPokemonFaintedText: ; 2a9b (0:2a9b)
 	ld hl,PokemonFaintedText
 	call PrintText
 	jp AfterDisplayingTextID
 
-PokemonFaintedText: ; 0x2aa4
+PokemonFaintedText: ; 2aa4 (0:2aa4)
 	TX_FAR _PokemonFaintedText
 	db $50
 
-DisplayPlayerBlackedOutText: ; 2AA9
+DisplayPlayerBlackedOutText: ; 2aa9 (0:2aa9)
 	ld hl,PlayerBlackedOutText
 	call PrintText
 	ld a,[$d732]
@@ -6985,20 +7019,20 @@
 	ld [$d732],a
 	jp HoldTextDisplayOpen
 
-PlayerBlackedOutText: ; 0x2aba
+PlayerBlackedOutText: ; 2aba (0:2aba)
 	TX_FAR _PlayerBlackedOutText
 	db $50
 
-DisplayRepelWoreOffText: ; 2ABF
+DisplayRepelWoreOffText: ; 2abf (0:2abf)
 	ld hl,RepelWoreOffText
 	call PrintText
 	jp AfterDisplayingTextID
 
-RepelWoreOffText: ; 0x2ac8
+RepelWoreOffText: ; 2ac8 (0:2ac8)
 	TX_FAR _RepelWoreOffText
 	db $50
 
-DisplayStartMenu: ; 2ACD
+DisplayStartMenu: ; 2acd (0:2acd)
 	ld a,$04
 	ld [H_LOADEDROMBANK],a
 	ld [$2000],a ; ROM bank 4
@@ -7007,7 +7041,7 @@
 	ld a,$8f ; Start menu sound
 	call PlaySound
 
-RedisplayStartMenu: ; 2ADF
+RedisplayStartMenu: ; 2adf (0:2adf)
 	ld b,BANK(DrawStartMenu)
 	ld hl,DrawStartMenu
 	call Bankswitch
@@ -7062,7 +7096,7 @@
 	ld a,b
 	and a,%00001010 ; was the Start button or B button pressed?
 	jp nz,CloseStartMenu
-	call Func_36f4 ; copy background from $C3A0 to $CD81
+	call SaveScreenTilesToBuffer2 ; copy background from W_SCREENTILESBUFFER to W_SCREENTILESBACKBUFFER2
 	ld a,[$d74b]
 	bit 5,a ; does the player have the pokedex?
 	ld a,[W_CURMENUITEMID]
@@ -7083,9 +7117,9 @@
 	jp z,StartMenu_Option
 
 ; EXIT falls through to here
-CloseStartMenu: ; 2B70
+CloseStartMenu: ; 2b70 (0:2b70)
 	call GetJoypadState
-	ld a,[$ffb3]
+	ld a,[H_NEWLYPRESSEDBUTTONS]
 	bit 0,a ; was A button newly pressed?
 	jr nz,CloseStartMenu
 	call LoadTextBoxTilePatterns
@@ -7097,7 +7131,7 @@
 ; b = length of string of bytes
 ; OUTPUT:
 ; [$D11E] = number of set bits
-CountSetBits: ; 2B7F
+CountSetBits: ; 2b7f (0:2b7f)
 	ld c,0
 .loop
 	ld a,[hli]
@@ -7118,13 +7152,13 @@
 
 ; subtracts the amount the player paid from their money
 ; sets carry flag if there is enough money and unsets carry flag if not
-SubtractAmountPaidFromMoney: ; 2B96
+SubtractAmountPaidFromMoney: ; 2b96 (0:2b96)
 	ld b,BANK(SubtractAmountPaidFromMoney_)
 	ld hl,SubtractAmountPaidFromMoney_
 	jp Bankswitch
 
 ; adds the amount the player sold to their money
-AddAmountSoldToMoney: ; 2B9E
+AddAmountSoldToMoney: ; 2b9e (0:2b9e)
 	ld de,W_PLAYERMONEY1
 	ld hl,$ffa1 ; total price of items
 	ld c,3 ; length of money in bytes
@@ -7134,8 +7168,8 @@
 	ld [$d125],a
 	call DisplayTextBoxID ; redraw money text box
 	ld a,$b2
-	call Func_3740 ; play sound
-	jp Func_3748 ; wait until sound is done playing
+	call PlaySoundWaitForCurrent ; play sound
+	jp WaitForSoundToFinish ; wait until sound is done playing
 
 ; function to remove an item (in varying quantities) from the player's bag or PC box
 ; INPUT:
@@ -7142,7 +7176,7 @@
 ; HL = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
 ; [$CF92] = index (within the inventory) of the item to remove
 ; [$CF96] = quantity to remove
-RemoveItemFromInventory: ; 2BBB
+RemoveItemFromInventory: ; 2bbb (0:2bbb)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,BANK(RemoveItemFromInventory_)
@@ -7160,7 +7194,7 @@
 ; [$CF91] = item ID
 ; [$CF96] = item quantity
 ; sets carry flag if successful, unsets carry flag if unsuccessful
-AddItemToInventory: ; 2BCF
+AddItemToInventory: ; 2bcf (0:2bcf)
 	push bc
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -7178,7 +7212,7 @@
 ; INPUT:
 ; [W_LISTMENUID] = list menu ID
 ; [$cf8b] = address of the list (2 bytes)
-DisplayListMenuID: ; 2BE6
+DisplayListMenuID: ; 2be6 (0:2be6)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a ; disable auto-transfer
 	ld a,1
@@ -7232,7 +7266,7 @@
 	ld c,10
 	call DelayFrames
 
-DisplayListMenuIDLoop: ; 2C53
+DisplayListMenuIDLoop: ; 2c53 (0:2c53)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a ; disable transfer
 	call PrintListMenuEntries
@@ -7367,7 +7401,7 @@
 	dec [hl]
 	jp DisplayListMenuIDLoop
 
-DisplayChooseQuantityMenu: ; 2D57
+DisplayChooseQuantityMenu: ; 2d57 (0:2d57)
 ; text box dimensions/coordinates for just quantity
 	FuncCoord 15,9
 	ld hl,Coord
@@ -7398,7 +7432,7 @@
 	jp .incrementQuantity
 .waitForKeyPressLoop
 	call GetJoypadStateLowSensitivity
-	ld a,[$ffb3] ; newly pressed buttons
+	ld a,[H_NEWLYPRESSEDBUTTONS] ; newly pressed buttons
 	bit 0,a ; was the A button pressed?
 	jp nz,.buttonAPressed
 	bit 1,a ; was the B button pressed?
@@ -7495,13 +7529,13 @@
 	ld a,$ff
 	ret
 
-InitialQuantityText: ; 2E30
+InitialQuantityText: ; 2e30 (0:2e30)
 	db "×01@"
 
-SpacesBetweenQuantityAndPriceText: ; 2E34
+SpacesBetweenQuantityAndPriceText: ; 2e34 (0:2e34)
 	db "      @"
 
-ExitListMenu: ; 2E3B
+ExitListMenu: ; 2e3b (0:2e3b)
 	ld a,[W_CURMENUITEMID]
 	ld [$d12d],a
 	ld a,$02
@@ -7517,8 +7551,9 @@
 	scf
 	ret
 
-PrintListMenuEntries: ; 2E5A
-	ld hl,$c3e1
+PrintListMenuEntries: ; 2e5a (0:2e5a)
+	FuncCoord 5, 3 ; $c3e1
+	ld hl,Coord
 	ld b,$09
 	ld c,$0e
 	call ClearScreenArea
@@ -7597,7 +7632,7 @@
 .printItemPrice
 	push hl
 	ld a,[de]
-	ld de,$4608
+	ld de,ItemPrices
 	ld [$cf91],a
 	call Func_37df ; get price
 	pop hl
@@ -7707,10 +7742,10 @@
 	ld de,ListMenuCancelText
 	jp PlaceString
 
-ListMenuCancelText: ; 2F97
+ListMenuCancelText: ; 2f97 (0:2f97)
 	db "CANCEL@"
 
-GetMonName: ; 2F9E
+GetMonName: ; 2f9e (0:2f9e)
 	push hl
 	ld a,[H_LOADEDROMBANK]
 	push af
@@ -7736,7 +7771,7 @@
 	pop hl
 	ret
 
-GetItemName: ; 2FCF
+GetItemName: ; 2fcf (0:2fcf)
 ; given an item ID at [$D11E], store the name of the item into a string
 ;     starting at $CD6D
 	push hl
@@ -7761,7 +7796,7 @@
 	pop hl
 	ret
 
-GetMachineName: ; 2ff3
+GetMachineName: ; 2ff3 (0:2ff3)
 ; copies the name of the TM/HM in [$D11E] to $CD6D
 	push hl
 	push de
@@ -7814,14 +7849,14 @@
 	pop hl
 	ret
 
-TechnicalPrefix: ; 303c
+TechnicalPrefix: ; 303c (0:303c)
 	db "TM"
-HiddenPrefix: ; 303e
+HiddenPrefix: ; 303e (0:303e)
 	db "HM"
 
 ; sets carry if item is HM, clears carry if item is not HM
 ; Input: a = item ID
-IsItemHM: ; 3040
+IsItemHM: ; 3040 (0:3040)
 	cp a,HM_01
 	jr c,.notHM
 	cp a,TM_01
@@ -7832,16 +7867,16 @@
 
 ; sets carry if move is an HM, clears carry if move is not an HM
 ; Input: a = move ID
-IsMoveHM: ; 3049
+IsMoveHM: ; 3049 (0:3049)
 	ld hl,HMMoves
 	ld de,1
 	jp IsInArray
 
-HMMoves: ; 3052
+HMMoves: ; 3052 (0:3052)
 	db CUT,FLY,SURF,STRENGTH,FLASH
 	db $ff ; terminator
 
-GetMoveName: ; 3058
+GetMoveName: ; 3058 (0:3058)
 	push hl
 	ld a,MOVE_NAME
 	ld [W_LISTTYPE],a
@@ -7855,7 +7890,7 @@
 	ret
 
 ; reloads text box tile patterns, current map view, and tileset tile patterns
-ReloadMapData: ; 3071
+ReloadMapData: ; 3071 (0:3071)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,[W_CURMAP]
@@ -7871,7 +7906,7 @@
 	ret
 
 ; reloads tileset tile patterns
-ReloadTilesetTilePatterns: ; 3090
+ReloadTilesetTilePatterns: ; 3090 (0:3090)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,[W_CURMAP]
@@ -7885,7 +7920,7 @@
 	ret
 
 ; shows the town map and lets the player choose a destination to fly to
-ChooseFlyDestination: ; 30A9
+ChooseFlyDestination: ; 30a9 (0:30a9)
 	ld hl,$d72e
 	res 4,[hl]
 	ld b, BANK(Func_70f90)
@@ -7893,7 +7928,7 @@
 	jp Bankswitch
 
 ; causes the text box to close waithout waiting for a button press after displaying text
-DisableWaitingAfterTextDisplay: ; 30B6
+DisableWaitingAfterTextDisplay: ; 30b6 (0:30b6)
 	ld a,$01
 	ld [$cc3c],a
 	ret
@@ -7907,7 +7942,7 @@
 ; 00: unsucessful
 ; 01: successful
 ; 02: not able to be used right now, no extra menu displayed (only certain items use this)
-UseItem: ; 30BC
+UseItem: ; 30bc (0:30bc)
 	ld b,BANK(UseItem_)
 	ld hl,UseItem_
 	jp Bankswitch
@@ -7920,7 +7955,7 @@
 ; [$cf96] = quantity to toss
 ; OUTPUT:
 ; clears carry flag if the item is tossed, sets carry flag if not
-TossItem: ; 30C4
+TossItem: ; 30c4 (0:30c4)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,BANK(TossItem_)
@@ -7940,7 +7975,7 @@
 ; [$d124] = result
 ; 00: item is not key item
 ; 01: item is key item
-IsKeyItem: ; 30D9
+IsKeyItem: ; 30d9 (0:30d9)
 	push hl
 	push de
 	push bc
@@ -7955,7 +7990,7 @@
 ; function to draw various text boxes
 ; INPUT:
 ; [$D125] = text box ID
-DisplayTextBoxID: ; 30E8
+DisplayTextBoxID: ; 30e8 (0:30e8)
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,BANK(DisplayTextBoxID_)
@@ -8025,55 +8060,61 @@
 	jp Bankswitch ; indirect jump to Func_1a41d (1a41d (6:641d))
 
 ; no known jump sources
-Func_3156: ; 0x3156
+Func_3156: ; 3156 (0:3156)
 	ret
 
-; known jump sources: 3162 (0:3162), 31cc (0:31cc), 330c (0:330c)
-Func_3157: ; 3157 (0:3157)
+; stores hl in [W_TRAINERHEADERPTR]
+StoreTrainerHeaderPointer: ; 3157 (0:3157)
 	ld a, h
-	ld [$da30], a
+	ld [W_TRAINERHEADERPTR], a
 	ld a, l
-	ld [$da31], a
+	ld [W_TRAINERHEADERPTR+1], a
 	ret
 
-; known jump sources: 19f46 (6:5f46), 1a1b8 (6:61b8), 442be (11:42be), 444e8 (11:44e8), 4498f (11:498f), 45efc (11:5efc), 45ff7 (11:5ff7), 48920 (12:4920), 499d4 (12:59d4), 49d17 (12:5d17), 50cbf (14:4cbf), 513b9 (14:53b9), 515da (14:55da), 517bd (14:57bd), 51b70 (14:5b70), 51fe7 (14:5fe7), 521fd (14:61fd), 523c8 (14:63c8), 55504 (15:5504), 55664 (15:5664), 556c8 (15:56c8), 5582a (15:582a), 559df (15:59df), 55b86 (15:5b86), 55d50 (15:5d50), 55ef7 (15:5ef7), 56513 (15:6513), 590bc (16:50bc), 591c2 (16:51c2), 59342 (16:5342), 59458 (16:5458), 595ff (16:55ff), 597ba (16:57ba), 5993f (16:593f), 59ad3 (16:5ad3), 59f6a (16:5f6a), 5a148 (16:6148), 5a2bd (16:62bd), 5c39d (17:439d), 5c6c9 (17:46c9), 5ca45 (17:4a45), 5d023 (17:5023), 5d7ca (17:57ca), 5da20 (17:5a20), 606d8 (18:46d8), 60802 (18:4802), 6093e (18:493e), 60afb (18:4afb), 60d11 (18:4d11), 61119 (18:5119), 62109 (18:6109), 748b8 (1d:48b8), 7544c (1d:544c), 7618a (1d:618a), 762e5 (1d:62e5), 7643c (1d:643c)
-Func_3160: ; 3160 (0:3160)
+; executes the current map script from the function pointer array provided in hl.
+; a: map script index to execute (unless overridden by [$d733] bit 4)
+ExecuteCurMapScriptInTable: ; 3160 (0:3160)
 	push af
 	push de
-	call Func_3157
+	call StoreTrainerHeaderPointer
 	pop hl
 	pop af
 	push hl
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	bit 4, [hl]
 	res 4, [hl]
-	jr z, .asm_3174
-	ld a, [$da39]
-.asm_3174
+	jr z, .useProvidedIndex   ; test if map script index was overridden manually
+	ld a, [W_CURMAPSCRIPT]
+.useProvidedIndex
 	pop hl
-	ld [$da39], a
+	ld [W_CURMAPSCRIPT], a
 	call CallFunctionInTable
-	ld a, [$da39]
+	ld a, [W_CURMAPSCRIPT]
 	ret
 
-; known jump sources: 4892d (12:492d), 5c3aa (17:43aa), 5c6d6 (17:46d6), 5ca52 (17:4a52), 5d030 (17:5030), 748a9 (1d:48a9), 75461 (1d:5461), 75778 (1d:5778)
-Func_317f: ; 317f (0:317f)
+LoadGymLeaderAndCityName: ; 317f (0:317f)
 	push de
-	ld de, $cf5f
+	ld de, W_GYMCITYNAME
 	ld bc, $11
-	call CopyData
+	call CopyData   ; load city name
 	pop hl
-	ld de, $cf70
+	ld de, W_GYMLEADERNAME
 	ld bc, $b
-	jp CopyData
+	jp CopyData     ; load gym leader name
 
-; known jump sources: 31d0 (0:31d0), 31d5 (0:31d5), 31e7 (0:31e7), 31ef (0:31ef), 31f7 (0:31f7), 31fd (0:31fd), 3290 (0:3290), 3307 (0:3307), 331b (0:331b), 332f (0:332f)
-Func_3193: ; 3193 (0:3193)
+; reads specific information from trainer header (pointed to at W_TRAINERHEADERPTR)
+; a: offset in header data
+;    0 -> flag's bit (into W_TRAINERHEADERFLAGBIT)
+;    2 -> flag's byte ptr (into hl)
+;    4 -> before battle text (into hl)
+;    6 -> after battle text (into hl)
+;    8 -> end battle text (into hl)
+ReadTrainerHeaderInfo: ; 3193 (0:3193)
 	push de
 	push af
 	ld d, $0
 	ld e, a
-	ld hl, $da30
+	ld hl, W_TRAINERHEADERPTR
 	ld a, [hli]
 	ld l, [hl]
 	ld h, a
@@ -8080,86 +8121,89 @@
 	add hl, de
 	pop af
 	and a
-	jr nz, .asm_31a9
+	jr nz, .nonZeroOffset
 	ld a, [hl]
-	ld [$cc55], a
-	jr .asm_31c5
-.asm_31a9
+	ld [W_TRAINERHEADERFLAGBIT], a  ; store flag's bit
+	jr .done
+.nonZeroOffset
 	cp $2
-	jr z, .asm_31c2
+	jr z, .readPointer ; read flag's byte ptr
 	cp $4
-	jr z, .asm_31c2
+	jr z, .readPointer ; read before battle text
 	cp $6
-	jr z, .asm_31c2
+	jr z, .readPointer ; read after battle text
 	cp $8
-	jr z, .asm_31c2
+	jr z, .readPointer ; read end battle text
 	cp $a
-	jr nz, .asm_31c5
-	ld a, [hli]
+	jr nz, .done
+	ld a, [hli]        ; read end battle text (2) but override the result afterwards (XXX why, bug?)
 	ld d, [hl]
 	ld e, a
-	jr .asm_31c5
-.asm_31c2
+	jr .done
+.readPointer
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-.asm_31c5
+.done
 	pop de
 	ret
 
-; known jump sources: 31de (0:31de), 3299 (0:3299), 3324 (0:3324)
-Func_31c7: ; 31c7 (0:31c7)
+; calls HandleBitArray
+HandleBitArray_Bank0: ; 31c7 (0:31c7)
 	ld a, $10
 	jp Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 ; 31cc (0:31cc)
-LoadTrainerHeader: ; 0x31cc
-	call Func_3157
+
+; direct talking to a trainer (rather than getting seen by one)
+TalkToTrainer: ; 31cc (0:31cc)
+	call StoreTrainerHeaderPointer
 	xor a
-	call Func_3193
+	call ReadTrainerHeaderInfo     ; read flag's bit
 	ld a, $2
-	call Func_3193
-	ld a, [$cc55]
+	call ReadTrainerHeaderInfo     ; read flag's byte ptr
+	ld a, [W_TRAINERHEADERFLAGBIT]
 	ld c, a
 	ld b, $2
-	call Func_31c7
+	call HandleBitArray_Bank0      ; read trainer's flag
 	ld a, c
 	and a
-	jr z, .asm_c2964 ; 0x31e3 $8
+	jr z, .trainerNotYetFought     ; test trainer's flag
 	ld a, $6
-	call Func_3193
+	call ReadTrainerHeaderInfo     ; print after battle text
 	jp PrintText
-.asm_c2964 ; 0x31ed
+.trainerNotYetFought ; 0x31ed
 	ld a, $4
-	call Func_3193
+	call ReadTrainerHeaderInfo     ; print before battle text
 	call PrintText
 	ld a, $a
-	call Func_3193
+	call ReadTrainerHeaderInfo     ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo)
 	push de
 	ld a, $8
-	call Func_3193
+	call ReadTrainerHeaderInfo     ; read end battle text
 	pop de
-	call Func_3354
-	ld hl, $d733
-	set 4, [hl]
-	ld hl, $cd60
-	bit 0, [hl]
+	call PreBattleSaveRegisters
+	ld hl, W_FLAGS_D733
+	set 4, [hl]                    ; activate map script index override (index is set below)
+	ld hl, W_FLAGS_CD60
+	bit 0, [hl]                    ; test if player is already being engaged by another trainer
 	ret nz
 	call EngageMapTrainer
-	ld hl, $da39
-	inc [hl]
+	ld hl, W_CURMAPSCRIPT
+	inc [hl]      ; progress map script index (assuming it was 0 before) to start pre-battle routines
 	jp Func_325d
 
-Func_3219:
-	call Func_3306
+; checks if any trainers are seeing the player and wanting to fight
+CheckFightingMapTrainers: ; 3219 (0:3219)
+	call CheckForEngagingTrainers
 	ld a, [$cf13]
 	cp $ff
-	jr nz, .asm_76c22 ; 0x3221 $8
+	jr nz, .trainerEngaging
 	xor a
 	ld [$cf13], a
-	ld [$cc55], a
+	ld [W_TRAINERHEADERFLAGBIT], a
 	ret
-.asm_76c22 ; 0x322b
-	ld hl, $d733
+.trainerEngaging
+	ld hl, W_FLAGS_D733
 	set 3, [hl]
 	ld [$cd4f], a
 	xor a
@@ -8166,20 +8210,20 @@
 	ld [$cd50], a
 	ld a, $4c
 	call Predef
-	ld a, $f0
-	ld [$cd6b], a
+	ld a, BTN_RIGHT | BTN_LEFT | BTN_UP | BTN_DOWN
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	xor a
 	ldh [$b4], a
-	call Func_32cf
-	ld hl, $da39
-	inc [hl]
+	call TrainerWalkUpToPlayer_Bank0
+	ld hl, W_CURMAPSCRIPT
+	inc [hl]      ; progress to battle phase 1 (engaging)
 	ret
 
-Func_324c:
+Func_324c: ; 324c (0:324c)
 	ld a, [$d730]
 	and $1
 	ret nz
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$cf13]
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -8187,48 +8231,48 @@
 ; known jump sources: 3216 (0:3216)
 Func_325d: ; 325d (0:325d)
 	xor a
-	ld [$cd6b], a
-	call Func_32d7
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	call InitBattleEnemyParameters
 	ld hl, $d72d
 	set 6, [hl]
 	set 7, [hl]
 	ld hl, $d72e
 	set 1, [hl]
-	ld hl, $da39
-	inc [hl]
+	ld hl, W_CURMAPSCRIPT
+	inc [hl]        ; progress to battle phase 2 (battling)
 	ret
 
 ; known jump sources: 5a349 (16:6349), 60d3a (18:4d3a), 7623f (1d:623f), 76396 (1d:6396), 764ed (1d:64ed)
-Func_3275: ; 3275 (0:3275)
+EndTrainerBattle: ; 3275 (0:3275)
 	ld hl, $d126
 	set 5, [hl]
 	set 6, [hl]
 	ld hl, $d72d
 	res 7, [hl]
-	ld hl, $cd60
-	res 0, [hl]
+	ld hl, W_FLAGS_CD60
+	res 0, [hl]                  ; player is no longer engaged by any trainer
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
-	jp z, Func_32c1
+	jp z, ResetButtonPressedAndMapScript
 	ld a, $2
-	call Func_3193
-	ld a, [$cc55]
+	call ReadTrainerHeaderInfo
+	ld a, [W_TRAINERHEADERFLAGBIT]
 	ld c, a
 	ld b, $1
-	call Func_31c7
-	ld a, [$d713]
+	call HandleBitArray_Bank0   ; flag trainer as fought
+	ld a, [W_ENEMYMONORTRAINERCLASS]
 	cp $c8
-	jr nc, .asm_32b9
+	jr nc, .skipRemoveSprite    ; test if trainer was fought (in that case skip removing the corresponding sprite)
 	ld hl, W_MISSABLEOBJECTLIST
 	ld de, $2
 	ld a, [$cf13]
-	call IsInArray         ; search for sprite ID
+	call IsInArray              ; search for sprite ID
 	inc hl
 	ld a, [hl]
-	ld [$cc4d], a          ; loas corresponding missable object index and remove it
+	ld [$cc4d], a               ; load corresponding missable object index and remove it
 	ld a, $11
 	call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
-.asm_32b9
+.skipRemoveSprite
 	ld hl, $d730
 	bit 4, [hl]
 	res 4, [hl]
@@ -8235,32 +8279,32 @@
 	ret nz
 
 ; known jump sources: 328b (0:328b)
-Func_32c1: ; 32c1 (0:32c1)
+ResetButtonPressedAndMapScript: ; 32c1 (0:32c1)
 	xor a
-	ld [$cd6b], a
-	ld [$FF00+$b4], a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b2], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_NEWLYRELEASEDBUTTONS], a
+	ld [W_CURMAPSCRIPT], a               ; reset battle status
 	ret
 
-; known jump sources: 3244 (0:3244)
-Func_32cf: ; 32cf (0:32cf)
-	ld b, BANK(Func_56881)
-	ld hl, Func_56881
-	jp Bankswitch ; indirect jump to Func_56881 (56881 (15:6881))
+; calls TrainerWalkUpToPlayer
+TrainerWalkUpToPlayer_Bank0: ; 32cf (0:32cf)
+	ld b, BANK(TrainerWalkUpToPlayer)
+	ld hl, TrainerWalkUpToPlayer
+	jp Bankswitch ; indirect jump to TrainerWalkUpToPlayer (56881 (15:6881))
 
-; known jump sources: 3261 (0:3261), 196a2 (6:56a2), 48a4b (12:4a4b), 49eab (12:5eab), 514e8 (14:54e8), 5c488 (17:4488), 5c7ab (17:47ab), 5cb57 (17:4b57), 5d152 (17:5152), 622ab (18:62ab), 74abe (1d:4abe), 7556e (1d:556e), 758bf (1d:58bf)
-Func_32d7: ; 32d7 (0:32d7)
-	ld a, [$cd2d]
+; sets opponent type and mon set/lvl based on the engaging trainer data
+InitBattleEnemyParameters: ; 32d7 (0:32d7)
+	ld a, [W_ENGAGEDTRAINERCLASS]
 	ld [W_CUROPPONENT], a ; $d059
-	ld [$d713], a
+	ld [W_ENEMYMONORTRAINERCLASS], a
 	cp $c8
-	ld a, [W_ENEMYMONATTACKMOD] ; $cd2e
-	jr c, .asm_32eb
+	ld a, [W_ENGAGEDTRAINERSETNUM] ; $cd2e
+	jr c, .noTrainer
 	ld [W_TRAINERNO], a ; $d05d
 	ret
-.asm_32eb
+.noTrainer
 	ld [W_CURENEMYLVL], a ; $d127
 	ret
 
@@ -8269,7 +8313,7 @@
 	ld hl, Func_567f9
 	jr asm_3301
 
-Func_32f4: ; 32f9 (0:32f9)
+Func_32f4: ; 32f4 (0:32f4)
 	ld hl, Func_56819
 	jr asm_3301 ; 0x32f7 $8
 
@@ -8278,7 +8322,7 @@
 	ld hl, Func_5683d
 	jr asm_3301
 
-Func_32fe: ; 0x32fe
+Func_32fe: ; 32fe (0:32fe)
 	ld hl, Func_5685d
 asm_3301: ; 3301 (0:3301)
 	ld b, $15
@@ -8285,65 +8329,65 @@
 	jp Bankswitch ; indirect jump to one of the four functions
 
 ; known jump sources: 3219 (0:3219)
-Func_3306: ; 3306 (0:3306)
+CheckForEngagingTrainers: ; 3306 (0:3306)
 	xor a
-	call Func_3193
-	ld d, h
+	call ReadTrainerHeaderInfo       ; read trainer flag's bit (unused)
+	ld d, h                          ; store trainer header address in de
 	ld e, l
-.asm_330c
-	call Func_3157
+.trainerLoop
+	call StoreTrainerHeaderPointer   ; set trainer header pointer to current trainer
 	ld a, [de]
-	ld [$cf13], a
-	ld [$cc55], a
+	ld [$cf13], a                     ; store trainer flag's bit
+	ld [W_TRAINERHEADERFLAGBIT], a
 	cp $ff
 	ret z
 	ld a, $2
-	call Func_3193
+	call ReadTrainerHeaderInfo       ; read trainer flag's byte ptr
 	ld b, $2
-	ld a, [$cc55]
+	ld a, [W_TRAINERHEADERFLAGBIT]
 	ld c, a
-	call Func_31c7
+	call HandleBitArray_Bank0        ; read trainer flag
 	ld a, c
 	and a
-	jr nz, .asm_334c
+	jr nz, .trainerAlreadyFought
 	push hl
 	push de
 	push hl
 	xor a
-	call Func_3193
+	call ReadTrainerHeaderInfo       ; get trainer header pointer
 	inc hl
-	ld a, [hl]
+	ld a, [hl]                       ; read trainer engage distance
 	pop hl
-	ld [$cd3e], a
+	ld [W_TRAINERENGAGEDISTANCE], a
 	ld a, [$cf13]
 	swap a
-	ld [W_WHICHTRADE], a ; $cd3d
+	ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
 	ld a, $39
-	call Predef ; indirect jump to Func_5690f (5690f (15:690f))
+	call Predef ; indirect jump to CheckEngagePlayer (5690f (15:690f))
 	pop de
 	pop hl
-	ld a, [W_WHICHTRADE] ; $cd3d
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	and a
-	ret nz
-.asm_334c
+	ret nz        ; break if the trainer is engaging
+.trainerAlreadyFought
 	ld hl, $c
 	add hl, de
 	ld d, h
 	ld e, l
-	jr .asm_330c
+	jr .trainerLoop
 
-; known jump sources: 3201 (0:3201), 19585 (6:5585), 19697 (6:5697), 1cdea (7:4dea), 48a40 (12:4a40), 49ea0 (12:5ea0), 510c5 (14:50c5), 514dd (14:54dd), 51ca3 (14:5ca3), 5c47d (17:447d), 5c7a0 (17:47a0), 5cb4c (17:4b4c), 5d147 (17:5147), 60602 (18:4602), 614fa (18:54fa), 622a0 (18:62a0), 74ab3 (1d:4ab3), 75563 (1d:5563), 75909 (1d:5909), 75985 (1d:5985), 75f92 (1d:5f92)
-Func_3354: ; 3354 (0:3354)
+; saves loaded rom bank and hl as well as de registers
+PreBattleSaveRegisters: ; 3354 (0:3354)
 	ld a, [H_LOADEDROMBANK]
-	ld [$d092], a
+	ld [W_PBSTOREDROMBANK], a
 	ld a, h
-	ld [$d08c], a
+	ld [W_PBSTOREDREGISTERH], a
 	ld a, l
-	ld [$d08d], a
+	ld [W_PBSTOREDREGISTERL], a
 	ld a, d
-	ld [$d08e], a
+	ld [W_PBSTOREDREGISTERD], a
 	ld a, e
-	ld [$d08f], a
+	ld [W_PBSTOREDREGISTERE], a
 	ret
 
 ; loads data of some trainer on the current map and plays pre-battle music
@@ -8357,7 +8401,7 @@
 	ld e, a
 	add hl, de     ; seek to engaged trainer data
 	ld a, [hli]    ; load trainer class
-	ld [$cd2d], a
+	ld [W_ENGAGEDTRAINERCLASS], a
 	ld a, [hl]     ; load trainer mon set
 	ld [W_ENEMYMONATTACKMOD], a ; $cd2e
 	jp PlayTrainerMusic
@@ -8372,7 +8416,7 @@
 	ret z
 	ld a, [H_LOADEDROMBANK]
 	push af
-	ld a, [$d092]
+	ld a, [W_PBSTOREDROMBANK]
 	ld [H_LOADEDROMBANK], a
 	ld [$2000], a
 	push hl
@@ -8388,7 +8432,7 @@
 	ld b, BANK(Func_1a5e7)
 	ld hl, Func_1a5e7
 	call Bankswitch ; indirect jump to Func_1a5e7 (1a5e7 (6:65e7))
-	jp Func_3748
+	jp WaitForSoundToFinish
 
 ; known jump sources: 33d4 (0:33d4)
 Func_33b7: ; 33b7 (0:33b7)
@@ -8395,30 +8439,30 @@
 	ld a, [$cf0b]
 	and a
 	jr nz, .asm_33c6
-	ld a, [$d08c]
+	ld a, [W_PBSTOREDREGISTERH]
 	ld h, a
-	ld a, [$d08d]
+	ld a, [W_PBSTOREDREGISTERL]
 	ld l, a
 	ret
 .asm_33c6
-	ld a, [$d08e]
+	ld a, [W_PBSTOREDREGISTERD]
 	ld h, a
-	ld a, [$d08f]
+	ld a, [W_PBSTOREDREGISTERE]
 	ld l, a
 	ret
 
-UnnamedText_33cf: ; 0x33cf
+UnnamedText_33cf: ; 33cf (0:33cf)
 	TX_FAR _UnnamedText_33cf
 	db $08
 
-Func_33d4: ; 0x33d4
+Func_33d4: ; 33d4 (0:33d4)
 	call Func_33b7
 	call TextCommandProcessor
 	jp TextScriptEnd
 
 ; no known jump sources
-Func_33dd: ; 0x33dd
-	ld a, [$cd60]
+Func_33dd: ; 33dd (0:33dd)
+	ld a, [W_FLAGS_CD60]
 	bit 0, a
 	ret nz
 	call EngageMapTrainer
@@ -8428,7 +8472,7 @@
 
 ; known jump sources: 337e (0:337e)
 PlayTrainerMusic: ; 33e8 (0:33e8)
-	ld a, [$cd2d]
+	ld a, [W_ENGAGEDTRAINERCLASS]
 	cp $c8 + SONY1
 	ret z
 	cp $c8 + SONY2
@@ -8445,7 +8489,7 @@
 	ld a, $1f
 	ld [$c0ef], a
 	ld [$c0f0], a
-	ld a, [$cd2d]
+	ld a, [W_ENGAGEDTRAINERCLASS]
 	ld b, a
 	ld hl, EvilTrainerList
 .evilTrainerListLoop
@@ -8472,7 +8516,7 @@
 	ld [$c0ee], a
 	jp PlaySound
 
-FemaleTrainerList: ; 0x3434
+FemaleTrainerList: ; 3434 (0:3434)
 db $c8+LASS
 db $c8+JR__TRAINER_F
 db $c8+BEAUTY
@@ -8479,7 +8523,7 @@
 db $c8+COOLTRAINER_F
 db $FF
 
-EvilTrainerList: ; 0x3439
+EvilTrainerList: ; 3439 (0:3439)
 db $c8+JUGGLER_X
 db $c8+GAMBLER
 db $c8+ROCKER
@@ -8517,7 +8561,7 @@
 
 ; known jump sources: 299f (0:299f)
 FuncTX_ItemStoragePC: ; 3460 (0:3460)
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld b, BANK(Func_78e6)
 	ld hl, Func_78e6
 	jr bankswitchAndContinue
@@ -8524,18 +8568,18 @@
 
 ; known jump sources: 29a4 (0:29a4)
 FuncTX_BillsPC: ; 346a (0:346a)
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld b, BANK(Func_214c2)
 	ld hl, Func_214c2
 	jr bankswitchAndContinue
 ; 3474 (0:3474)
 
-FuncTX_SlotMachine: ; 3474
+FuncTX_SlotMachine: ; 3474 (0:3474)
 ; XXX find a better name for this function
 ; special_F7
 	ld b,BANK(CeladonPrizeMenu)
 	ld hl,CeladonPrizeMenu
-bankswitchAndContinue:
+bankswitchAndContinue: ; 3479 (0:3479)
 	call Bankswitch
 	jp HoldTextDisplayOpen        ; continue to main text-engine function
 
@@ -8555,7 +8599,7 @@
 	ret
 ; 3493 (0:3493)
 
-IsItemInBag: ; 3493
+IsItemInBag: ; 3493 (0:3493)
 ; given an item_id in b
 ; set zero flag if item isn't in player's bag
 ; else reset zero flag
@@ -8566,7 +8610,7 @@
 	and a
 	ret
 
-Func_349b: ; 0x349b
+Func_349b: ; 349b (0:349b)
 	ld [$d11e], a
 	ld b, BANK(Func_7c18)
 	ld hl, Func_7c18
@@ -8588,7 +8632,7 @@
 	ld [hl], a
 	ret
 
-Func_34b9: ; 0x34b9
+Func_34b9: ; 34b9 (0:34b9)
 	ld de, $fff9
 	add hl, de
 	ld [hl], a
@@ -8601,7 +8645,7 @@
 ; OUTPUT:
 ; [$cd3d] = if there is match, the matching array index
 ; sets carry if the coordinates are in the array, clears carry if not
-ArePlayerCoordsInArray: ; 0x34bf
+ArePlayerCoordsInArray: ; 34bf (0:34bf)
 	ld a,[W_YCOORD]
 	ld b,a
 	ld a,[W_XCOORD]
@@ -8608,7 +8652,7 @@
 	ld c,a
 	; fallthrough
 
-CheckCoords: ; 0x34c7
+CheckCoords: ; 34c7 (0:34c7)
 	xor a
 	ld [$cd3d],a
 .loop
@@ -8642,7 +8686,7 @@
 ; OUTPUT:
 ; [$cd3d] = if there is match, the matching array index
 ; sets carry if the coordinates are in the array, clears carry if not
-CheckBoulderCoords: ; 0x34e4
+CheckBoulderCoords: ; 34e4 (0:34e4)
 	push hl
 	ld hl, $c204
 	ld a, [$ff00+$8c]
@@ -8710,7 +8754,7 @@
 	ret
 
 ; sets movement byte 1 for sprite [$FF8C] to $FE and byte 2 to [$FF8D]
-SetSpriteMovementBytesToFE: ; 3533
+SetSpriteMovementBytesToFE: ; 3533 (0:3533)
 	push hl
 	call GetSpriteMovementByte1Pointer
 	ld [hl], $fe
@@ -8722,7 +8766,7 @@
 ; 0x3541
 
 ; sets both movement bytes for sprite [$FF8C] to $FF
-SetSpriteMovementBytesToFF: ; 3541
+SetSpriteMovementBytesToFF: ; 3541 (0:3541)
 	push hl
 	call GetSpriteMovementByte1Pointer
 	ld [hl],$FF
@@ -8732,7 +8776,7 @@
 	ret
 
 ; returns the sprite movement byte 1 pointer for sprite [$FF8C] in hl
-GetSpriteMovementByte1Pointer: ; 354E
+GetSpriteMovementByte1Pointer: ; 354e (0:354e)
 	ld h,$C2
 	ld a,[$FF8C] ; the sprite to move
 	swap a
@@ -8741,7 +8785,7 @@
 	ret
 
 ; returns the sprite movement byte 2 pointer for sprite [$FF8C] in hl
-GetSpriteMovementByte2Pointer: ; 3558
+GetSpriteMovementByte2Pointer: ; 3558 (0:3558)
 	push de
 	ld hl,W_MAPSPRITEDATA
 	ld a,[$FF8C] ; the sprite to move
@@ -8805,7 +8849,7 @@
 ; tests if player's game corner coins are at least as many as [$ffa0]
 ; sets carry flag if not enough coins
 ; sets zero flag if amounts match exactly
-HasEnoughCoins: ; 0x35b1
+HasEnoughCoins: ; 35b1 (0:35b1)
 	ld de, W_PLAYERCOINS1
 	ld hl, $ffa0
 	ld c, $2
@@ -8812,7 +8856,7 @@
 	jp StringCmp
 ; 0x35bc
 
-BankswitchHome: ; 35BC
+BankswitchHome: ; 35bc (0:35bc)
 ; switches to bank # in a
 ; Only use this when in the home bank!
 	ld [$CF09],a
@@ -8823,7 +8867,7 @@
 	ld [$2000],a
 	ret
 
-BankswitchBack: ; 35CD
+BankswitchBack: ; 35cd (0:35cd)
 ; returns from BankswitchHome
 	ld a,[$CF08]
 	ld [H_LOADEDROMBANK],a
@@ -8830,7 +8874,7 @@
 	ld [$2000],a
 	ret
 
-Bankswitch: ; 0x35d6
+Bankswitch: ; 35d6 (0:35d6)
 ; self-contained bankswitch, use this when not in the home bank
 ; switches to the bank in b
 	ld a,[H_LOADEDROMBANK]
@@ -8848,52 +8892,55 @@
 	ld [$2000],a
 	ret
 
-; known jump sources: 7232 (1:7232), 1d1bb (7:51bb), 1da18 (7:5a18), 1e844 (7:6844), 1e924 (7:6924), 1ea92 (7:6a92), 21691 (8:5691), 48581 (12:4581), 49f35 (12:5f35), 5208e (14:608e), 56083 (15:6083), 59c28 (16:5c28), 5c184 (17:4184), 5c1ff (17:41ff), 6107d (18:507d), 71b44 (1c:5b44), 738a7 (1c:78a7), 750de (1d:50de), 752d7 (1d:52d7), 75374 (1d:5374)
-Func_35ec: ; 35ec (0:35ec)
-	call Func_3719
-	call Func_35ff
-	jr asm_3628
+; displays yes/no choice
+; yes -> set carry
+YesNoChoice: ; 35ec (0:35ec)
+	call SaveScreenTilesToBuffer1
+	call InitYesNoTextBoxParameters
+	jr DisplayYesNoChoice
 
 ; no known jump sources
 Func_35f4: ; 35f4 (0:35f4)
 	ld a, $14
 	ld [$d125], a
-	call Func_35ff
+	call InitYesNoTextBoxParameters
 	jp DisplayTextBoxID
 ; 0x35ff
 
-; known jump sources: 35ef (0:35ef)
-Func_35ff: ; 35ff (0:35ff)
+InitYesNoTextBoxParameters: ; 35ff (0:35ff)
 	xor a
 	ld [$d12c], a
-	ld hl, $c43a
+	FuncCoord 14, 7 ; $c43a
+	ld hl, Coord
 	ld bc, $80f
 	ret
 
 ; known jump sources: 7000 (1:7000)
-Func_360a: ; 360a (0:360a)
-	call Func_3719
+YesNoChoicePokeCenter: ; 360a (0:360a)
+	call SaveScreenTilesToBuffer1
 	ld a, $6
 	ld [$d12c], a
-	ld hl, $c423
+	FuncCoord 11, 6 ; $c423
+	ld hl, Coord
 	ld bc, $80c
-	jr asm_3628
+	jr DisplayYesNoChoice
 
 ; no known jump sources
 Func_361a: ; 361a (0:361a)
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, $3
 	ld [$d12c], a
-	ld hl, $c438
+	FuncCoord 12, 7 ; $c438
+	ld hl, Coord
 	ld bc, $080d
-asm_3628: ; 3628 (0:3628)
+DisplayYesNoChoice: ; 3628 (0:3628)
 	ld a, $14
 	ld [$d125], a
 	call DisplayTextBoxID
-	jp Func_3725
+	jp LoadScreenTilesFromBuffer1
 
-; known jump sources: f8cd (3:78cd), f8df (3:78df), f943 (3:7943), f96e (3:796e), 568a2 (15:68a2), 568b6 (15:68b6), 568cc (15:68cc), 568e2 (15:68e2), 56954 (15:6954), 56967 (15:6967)
-Func_3633: ; 3633 (0:3633)
+; calculates the difference |a-b|, setting carry flag if a<b
+CalcDifference: ; 3633 (0:3633)
 	sub b
 	ret nc
 	cpl
@@ -8902,11 +8949,11 @@
 	ret
 ; 363a (0:363a)
 
-MoveSprite: ; 363a
+MoveSprite: ; 363a (0:363a)
 ; move the sprite [$FF8C] with the movement pointed to by de
 ; actually only copies the movement data to $CC5B for later
 	call SetSpriteMovementBytesToFF
-Func_363d:
+MoveSprite_: ; 363d (0:363d)
 	push hl
 	push bc
 	call GetSpriteMovementByte1Pointer
@@ -8934,7 +8981,7 @@
 	ld [$CD3B],a
 	ld [$CCD3],a
 	dec a
-	ld [$CD6B],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	ld [$CD3A],a
 	ret
 
@@ -8960,7 +9007,7 @@
 	ret
 ; 3680 (0:3680)
 ; copies the tile patterns for letters and numbers into VRAM
-LoadFontTilePatterns: ; 3680
+LoadFontTilePatterns: ; 3680 (0:3680)
 	ld a,[rLCDC]
 	bit 7,a ; is the LCD enabled?
 	jr nz,.lcdEnabled
@@ -8967,8 +9014,8 @@
 .lcdDisabled
 	ld hl,FontGraphics
 	ld de,$8800
-	ld bc,(BANK(FontGraphics) << 8 | $00)
-	ld a,$04
+	ld bc,$400
+	ld a,BANK(FontGraphics)
 	jp FarCopyDataDouble ; if LCD is off, transfer all at once
 .lcdEnabled
 	ld de,FontGraphics
@@ -8977,7 +9024,7 @@
 	jp CopyVideoDataDouble ; if LCD is on, transfer during V-blank
 
 ; copies the text box tile patterns into VRAM
-LoadTextBoxTilePatterns: ; 36A0
+LoadTextBoxTilePatterns: ; 36a0 (0:36a0)
 	ld a,[rLCDC]
 	bit 7,a ; is the LCD enabled?
 	jr nz,.lcdEnabled
@@ -8994,7 +9041,7 @@
 	jp CopyVideoData ; if LCD is on, transfer during V-blank
 
 ; copies HP bar and status display tile patterns into VRAM
-LoadHpBarAndStatusTilePatterns: ; 36C0
+LoadHpBarAndStatusTilePatterns: ; 36c0 (0:36c0)
 	ld a,[rLCDC]
 	bit 7,a ; is the LCD enabled?
 	jr nz,.lcdEnabled
@@ -9012,7 +9059,7 @@
 
 ;Fills memory range with the specified byte.
 ;input registers a = fill_byte, bc = length, hl = address
-FillMemory: ;36E0
+FillMemory: ; 36e0 (0:36e0)
 	push de
 	ld d, a
 .loop
@@ -9034,44 +9081,40 @@
 	ld [hl], d
 	jp UncompressSpriteData
 
-; known jump sources: 2b44 (0:2b44), 3460 (0:3460), 346a (0:346a), 438f (1:438f), efae (3:6fae), 17e2c (5:7e2c), 1da57 (7:5a57), 1e915 (7:6915), 213cb (8:53cb), 3cffd (f:4ffd), 3d0ce (f:50ce), 71ad9 (1c:5ad9)
-Func_36f4: ; 36f4 (0:36f4)
-	ld hl, $c3a0
-	ld de, $cd81
+SaveScreenTilesToBuffer2: ; 36f4 (0:36f4)
+	ld hl, W_SCREENTILESBUFFER
+	ld de, W_SCREENTILESBACKBUFFER2
 	ld bc, $168
 	call CopyData
 	ret
 
-; known jump sources: 3dc9 (0:3dc9), 4392 (1:4392), 43ac (1:43ac), 4423 (1:4423), 7917 (1:7917), 7981 (1:7981), e1b4 (3:61b4), efbd (3:6fbd), 1309a (4:709a), 13333 (4:7333), 13488 (4:7488), 13607 (4:7607), 17e42 (5:7e42), 1e938 (7:6938), 2159f (8:559f), 3d0f9 (f:50f9), 71cab (1c:5cab)
-Func_3701: ; 3701 (0:3701)
-	call Func_3709
+LoadScreenTilesFromBuffer2: ; 3701 (0:3701)
+	call LoadScreenTilesFromBuffer2DisableBGTransfer
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ret
 
-; known jump sources: 3701 (0:3701), 132fc (4:72fc), 214fa (8:54fa)
-Func_3709: ; 3709 (0:3709)
+; loads screen tiles stored in W_SCREENTILESBACKBUFFER2 but leaves H_AUTOBGTRANSFERENABLED disabled
+LoadScreenTilesFromBuffer2DisableBGTransfer: ; 3709 (0:3709)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $cd81
-	ld de, $c3a0
+	ld hl, W_SCREENTILESBACKBUFFER2
+	ld de, W_SCREENTILESBUFFER
 	ld bc, $168
 	call CopyData
 	ret
 
-; known jump sources: 35ec (0:35ec), 360a (0:360a), 43a5 (1:43a5), 5c19 (1:5c19), 64eb (1:64eb), 6c86 (1:6c86), 6d18 (1:6d18), 6d36 (1:6d36), 6e43 (1:6e43), 6fe6 (1:6fe6), 78f0 (1:78f0), 130d7 (4:70d7), 217a3 (8:57a3), 3c14c (f:414c), 3c1dc (f:41dc), 3c246 (f:4246), 3c5fa (f:45fa), 3c79e (f:479e), 3c955 (f:4955), 3ca73 (f:4a73), 3cb57 (f:4b57), 3cb65 (f:4b65), 3cb92 (f:4b92), 3ccf7 (f:4cf7), 3cec2 (f:4ec2), 3d1eb (f:51eb), 3d56b (f:556b), 3effc (f:6ffc), 553f4 (15:53f4), 5dbe3 (17:5be3), 740ce (1d:40ce)
-Func_3719: ; 3719 (0:3719)
-	ld hl, $c3a0
-	ld de, $c508
+SaveScreenTilesToBuffer1: ; 3719 (0:3719)
+	ld hl, W_SCREENTILESBUFFER
+	ld de, W_SCREENTILESBACKBUFFER
 	ld bc, $168
 	jp CopyData
 
-; known jump sources: 3630 (0:3630), 42a0 (1:42a0), 43f4 (1:43f4), 5cdd (1:5cdd), 653e (1:653e), 6c89 (1:6c89), 6d39 (1:6d39), 6dc8 (1:6dc8), 6f82 (1:6f82), 700c (1:700c), 7051 (1:7051), d6be (3:56be), e129 (3:6129), e507 (3:6507), e58e (3:658e), 1310c (4:710c), 217bd (8:57bd), 3c157 (f:4157), 3c171 (f:4171), 3c1d1 (f:41d1), 3c1fa (f:41fa), 3c202 (f:4202), 3c29d (f:429d), 3c684 (f:4684), 3c825 (f:4825), 3ca23 (f:4a23), 3cae9 (f:4ae9), 3cb74 (f:4b74), 3ceb3 (f:4eb3), 3cfde (f:4fde), 3d00e (f:500e), 3d0a9 (f:50a9), 3d0e0 (f:50e0), 3d1b1 (f:51b1), 3d1fa (f:51fa), 3d3a8 (f:53a8), 3d571 (f:5571), 3f011 (f:7011), 55411 (15:5411), 5dc0f (17:5c0f), 740f8 (1d:40f8)
-Func_3725: ; 3725 (0:3725)
+LoadScreenTilesFromBuffer1: ; 3725 (0:3725)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c508
-	ld de, $c3a0
+	ld hl, W_SCREENTILESBACKBUFFER
+	ld de, W_SCREENTILESBUFFER
 	ld bc, $168
 	call CopyData
 	ld a, $1
@@ -9078,7 +9121,8 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ret
 ; 3739 (0:3739)
-DelayFrames: ; 3739
+
+DelayFrames: ; 3739 (0:3739)
 ; wait n frames, where n is the value in c
 	call DelayFrame
 	dec c
@@ -9085,15 +9129,14 @@
 	jr nz,DelayFrames
 	ret
 
-; known jump sources: 2bb5 (0:2bb5), 6db9 (1:6db9), 6fd0 (1:6fd0), 724d (1:724d), dc9d (3:5c9d), dd91 (3:5d91), ddc3 (3:5dc3), e520 (3:6520), 1dbee (7:5bee), 215e0 (8:55e0), 21655 (8:5655), 22308 (8:6308), 3a69d (e:669d), 3ae24 (e:6e24), 3c21b (f:421b), 3c5bf (f:45bf), 3c6f4 (f:46f4), 3cb86 (f:4b86), 5c1d2 (17:41d2), 73902 (1c:7902), 740a1 (1d:40a1), 7677b (1d:677b), 7d14f (1f:514f)
-Func_3740: ; 3740 (0:3740)
+PlaySoundWaitForCurrent: ; 3740 (0:3740)
 	push af
-	call Func_3748
+	call WaitForSoundToFinish
 	pop af
 	jp PlaySound
 
-; known jump sources: 13d6 (0:13d6), 1c51 (0:1c51), 2307 (0:2307), 2bb8 (0:2bb8), 33b4 (0:33b4), 3741 (0:3741), 442c (1:442c), 445f (1:445f), 6dbc (1:6dbc), 7248 (1:7248), 7979 (1:7979), 79fe (1:79fe), 7a06 (1:7a06), 7a7b (1:7a7b), 7a83 (1:7a83), e1ce (3:61ce), 1364b (4:764b), 13847 (4:7847), 17e3a (5:7e3a), 17ead (5:7ead), 17ec5 (5:7ec5), 17ed7 (5:7ed7), 17ee9 (5:7ee9), 17f18 (5:7f18), 1eab8 (7:6ab8), 1eac0 (7:6ac0), 1eaf7 (7:6af7), 1eaff (7:6aff), 1eb9f (7:6b9f), 1ebac (7:6bac), 1ebb9 (7:6bb9), 1ebc6 (7:6bc6), 1ebfa (7:6bfa), 21597 (8:5597), 215f2 (8:55f2), 21667 (8:5667), 216a1 (8:56a1), 3ae27 (e:6e27), 3c5ce (f:45ce), 3c760 (f:4760), 3cb8f (f:4b8f), 45f30 (11:5f30), 58e37 (16:4e37), 5c1d5 (17:41d5), 5decd (17:5ecd), 5ded5 (17:5ed5), 5def4 (17:5ef4), 5defc (17:5efc), 5df07 (17:5f07), 5df0f (17:5f0f), 60c0e (18:4c0e), 73905 (1c:7905), 75810 (1d:5810), 75818 (1d:5818), 7677e (1d:677e), 78d62 (1e:4d62), 78d90 (1e:4d90), 79e6a (1e:5e6a), 7be4c (1e:7e4c)
-Func_3748: ; 3748 (0:3748)
+; Wait for sound to finish playing
+WaitForSoundToFinish: ; 3748 (0:3748)
 	ld a, [$d083]
 	and $80
 	ret nz
@@ -9111,7 +9154,8 @@
 	pop hl
 	ret
 ; 375d (0:375d)
-NamePointers: ; 375D
+
+NamePointers: ; 375d (0:375d)
 	dw MonsterNames
 	dw MoveNames
 	dw UnusedNames
@@ -9120,7 +9164,7 @@
 	dw $D9AC ; enemy's OT names list
 	dw TrainerNames
 
-GetName: ; 376B
+GetName: ; 376b (0:376b)
 ; arguments:
 ; [$D0B5] = which name
 ; [$D0B6] = which list (W_LISTTYPE)
@@ -9266,7 +9310,7 @@
 ; there are esentially three modes of operation
 ; 1. Get newly pressed buttons only
 ;    ([$ffb7] == 0, [$ffb6] == any)
-;    Just copies [$ffb3] to [$ffb5].
+;    Just copies [H_NEWLYPRESSEDBUTTONS] to [$ffb5].
 ; 2. Get currently pressed buttons at low sample rate with delay
 ;    ([$ffb7] == 1, [$ffb6] != 0)
 ;    If the user holds down buttons for more than half a second,
@@ -9275,16 +9319,16 @@
 ;    report only one button press.
 ; 3. Same as 2, but report no buttons as pressed if A or B is held down.
 ;    ([$ffb7] == 1, [$ffb6] == 0)
-GetJoypadStateLowSensitivity: ; 3831
+GetJoypadStateLowSensitivity: ; 3831 (0: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
+	ld a,[H_NEWLYPRESSEDBUTTONS] ; newly pressed buttons
 	jr z,.storeButtonState
-	ld a,[$ffb4] ; all currently pressed buttons
+	ld a,[H_CURRENTPRESSEDBUTTONS] ; all currently pressed buttons
 .storeButtonState
 	ld [$ffb5],a
-	ld a,[$ffb3] ; newly pressed buttons
+	ld a,[H_NEWLYPRESSEDBUTTONS] ; newly pressed buttons
 	and a ; have any buttons been newly pressed since last check?
 	jr z,.noNewlyPressedButtons
 .newlyPressedButtons
@@ -9301,7 +9345,7 @@
 	ret
 .delayOver
 ; if [$ffb6] = 0 and A or B is pressed, report no buttons as pressed
-	ld a,[$ffb4]
+	ld a,[H_CURRENTPRESSEDBUTTONS]
 	and a,%00000011 ; A and B buttons
 	jr z,.setShortDelay
 	ld a,[$ffb6] ; flag
@@ -9314,8 +9358,7 @@
 	ld [H_FRAMECOUNTER],a
 	ret
 
-; known jump sources: 29dc (0:29dc), 389f (0:389f), dddc (3:5ddc), defc (3:5efc), e56e (3:656e), 12a77 (4:6a77), 12c71 (4:6c71), 1347f (4:747f), 441b3 (11:41b3), 5540e (15:540e), 5a507 (16:6507), 5dc0c (17:5c0c), 70f7f (1c:4f7f), 765eb (1d:65eb), 76784 (1d:6784)
-Func_3865: ; 3865 (0:3865)
+WaitForTextScrollButtonPress: ; 3865 (0:3865)
 	ld a, [H_DOWNARROWBLINKCNT1] ; $FF00+$8b
 	push af
 	ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c
@@ -9331,7 +9374,8 @@
 	jr z, .asm_387c
 	call Func_716c6
 .asm_387c
-	ld hl, $c4f2
+	FuncCoord 18, 16 ; $c4f2
+	ld hl, Coord
 	call HandleDownArrowBlinkTiming
 	pop hl
 	call GetJoypadStateLowSensitivity
@@ -9338,7 +9382,7 @@
 	ld a, $2d
 	call Predef ; indirect jump to Func_5a5f (5a5f (1:5a5f))
 	ld a, [$FF00+$b5]
-	and $3
+	and BTN_A | BTN_B ; $3
 	jr z, .asm_3872
 	pop af
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -9346,18 +9390,19 @@
 	ld [H_DOWNARROWBLINKCNT1], a ; $FF00+$8b
 	ret
 
-; known jump sources: 1aa5 (0:1aa5), 1abd (0:1abd), 1ade (0:1ade), 1b01 (0:1b01), 1bda (0:1bda), 1c9b (0:1c9b)
-Func_3898: ; 3898 (0:3898)
+; (unlass in link battle) waits for A or B being pressed and outputs the scrolling sound effect
+ManualTextScroll: ; 3898 (0:3898)
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
-	jr z, .asm_38a7
-	call Func_3865
+	jr z, .inLinkBattle
+	call WaitForTextScrollButtonPress
 	ld a, $90
 	jp PlaySound
-.asm_38a7
+.inLinkBattle
 	ld c, $41
 	jp DelayFrames
 ; 38ac (0:38ac)
+
 ; function to do multiplication
 ; all values are big endian
 ; INPUT
@@ -9365,11 +9410,11 @@
 ; FF99 = multiplier
 ; OUTPUT
 ; FF95-FF98 = product
-Multiply: ; 38AC
+Multiply: ; 38ac (0:38ac)
 	push hl
 	push bc
-	ld hl, Func_37d41
-	ld b, BANK(Func_37d41)
+	ld hl, _Multiply
+	ld b, BANK(_Multiply)
 	call Bankswitch
 	pop bc
 	pop hl
@@ -9384,7 +9429,7 @@
 ; OUTPUT
 ; FF95-FF98 = quotient
 ; FF99 = remainder
-Divide: ; 38B9
+Divide: ; 38b9 (0:38b9)
 	push hl
 	push de
 	push bc
@@ -9393,7 +9438,7 @@
 	ld a,$0d
 	ld [H_LOADEDROMBANK],a
 	ld [$2000],a
-	call Func_37da5
+	call _Divide
 	pop af
 	ld [H_LOADEDROMBANK],a
 	ld [$2000],a
@@ -9405,7 +9450,7 @@
 ; This function is used to wait a short period after printing a letter to the
 ; screen unless the player presses the A/B button or the delay is turned off
 ; through the [$d730] or [$d358] flags.
-PrintLetterDelay: ; 38D3
+PrintLetterDelay: ; 38d3 (0:38d3)
 	ld a,[$d730]
 	bit 6,a
 	ret nz
@@ -9427,7 +9472,7 @@
 	ld [H_FRAMECOUNTER],a
 .checkButtons
 	call GetJoypadState
-	ld a,[$ffb4]
+	ld a,[H_CURRENTPRESSEDBUTTONS]
 .checkAButton
 	bit 0,a ; is the A button pressed?
 	jr z,.checkBButton
@@ -9451,7 +9496,7 @@
 ; Copies [hl, bc) to [de, bc - hl).
 ; In other words, the source data is from hl up to but not including bc,
 ; and the destination is de.
-CopyDataUntil: ; 3913
+CopyDataUntil: ; 3913 (0:3913)
 	ld a,[hli]
 	ld [de],a
 	inc de
@@ -9467,17 +9512,17 @@
 ; W_WHICHPOKEMON determines the pokemon.
 ; [$cf95] == 0 specifies the party.
 ; [$cf95] != 0 specifies the current box.
-RemovePokemon: ; 391F
-	ld hl, Func_7b68
-	ld b, BANK(Func_7b68)
+RemovePokemon: ; 391f (0:391f)
+	ld hl, _RemovePokemon
+	ld b, BANK(_RemovePokemon)
 	jp Bankswitch
 
-AddPokemonToParty: ; 0x3927
+AddPokemonToParty: ; 3927 (0:3927)
 	push hl
 	push de
 	push bc
-	ld b, BANK(Func_f2e5) ; BANK(MyFunction)
-	ld hl, Func_f2e5 ; MyFunction
+	ld b, BANK(_AddPokemonToParty)
+	ld hl, _AddPokemonToParty
 	call Bankswitch
 	pop bc
 	pop de
@@ -9484,25 +9529,28 @@
 	pop hl
 	ret
 
-; known jump sources: de80 (3:5e80), f46e (3:746e), f661 (3:7661), 1296e (4:696e), 3ae69 (e:6e69), 3eb46 (f:6b46), 55382 (15:5382)
-Func_3936: ; 3936 (0:3936)
+; calculates all 5 stats of current mon and writes them to [de]
+CalcStats: ; 3936 (0:3936)
 	ld c, $0
-.asm_3938
+.statsLoop
 	inc c
-	call Func_394a
-	ld a, [$FF00+$97]
+	call CalcStat
+	ld a, [H_MULTIPLICAND+1]
 	ld [de], a
 	inc de
-	ld a, [$FF00+$98]
+	ld a, [H_MULTIPLICAND+2]
 	ld [de], a
 	inc de
 	ld a, c
 	cp $5
-	jr nz, .asm_3938
+	jr nz, .statsLoop
 	ret
 
-; known jump sources: 3939 (0:3939), f3c4 (3:73c4), 3df60 (f:5f60)
-Func_394a: ; 394a (0:394a)
+; calculates stat c of current mon
+; c: stat to calc (HP=1,Atk=2,Def=3,Spd=4,Spc=5)
+; b: consider stat exp?
+; hl: base ptr to stat exp values ([hl + 2*c - 1] and [hl + 2*c])
+CalcStat: ; 394a (0:394a)
 	push hl
 	push de
 	push bc
@@ -9512,7 +9560,7 @@
 	ld hl, W_MONHEADER
 	ld b, $0
 	add hl, bc
-	ld a, [hl]
+	ld a, [hl]          ; read base value of stat
 	ld e, a
 	pop hl
 	push hl
@@ -9519,18 +9567,18 @@
 	sla c
 	ld a, d
 	and a
-	jr z, .asm_397f
-	add hl, bc
-.asm_3961
+	jr z, .statExpDone  ; consider stat exp?
+	add hl, bc          ; skip to corresponding stat exp value
+.statExpLoop            ; calculates ceil(Sqrt(stat exp)) in b
 	xor a
-	ld [H_NUMTOPRINT], a ; $FF00+$96 (aliases: H_MULTIPLICAND)
-	ld [$FF00+$97], a
-	inc b
+	ld [H_MULTIPLICAND], a
+	ld [H_MULTIPLICAND+1], a
+	inc b               ; increment current stat exp bonus
 	ld a, b
 	cp $ff
-	jr z, .asm_397f
-	ld [$FF00+$98], a
-	ld [H_REMAINDER], a ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+	jr z, .statExpDone
+	ld [H_MULTIPLICAND+2], a
+	ld [H_MULTIPLIER], a
 	call Multiply
 	ld a, [hld]
 	ld d, a
@@ -9539,26 +9587,27 @@
 	ld a, [hli]
 	ld d, a
 	ld a, [$FF00+$97]
-	sbc d
-	jr c, .asm_3961
-.asm_397f
+	sbc d               ; test if (current stat exp bonus)^2 < stat exp
+	jr c, .statExpLoop
+.statExpDone
 	srl c
 	pop hl
 	push bc
-	ld bc, $b
+	ld bc, $b           ; skip to stat IV values
 	add hl, bc
 	pop bc
 	ld a, c
 	cp $2
-	jr z, .asm_39bf
+	jr z, .getAttackIV
 	cp $3
-	jr z, .asm_39c6
+	jr z, .getDefenseIV
 	cp $4
-	jr z, .asm_39cb
+	jr z, .getSpeedIV
 	cp $5
-	jr z, .asm_39d3
+	jr z, .getSpecialIV
+.getHpIV
 	push bc
-	ld a, [hl]
+	ld a, [hl]  ; Atk IV
 	swap a
 	and $1
 	sla a
@@ -9565,116 +9614,116 @@
 	sla a
 	sla a
 	ld b, a
-	ld a, [hli]
+	ld a, [hli] ; Def IV
 	and $1
 	sla a
 	sla a
 	add b
 	ld b, a
-	ld a, [hl]
+	ld a, [hl] ; Spd IV
 	swap a
 	and $1
 	sla a
 	add b
 	ld b, a
-	ld a, [hl]
+	ld a, [hl] ; Spc IV
 	and $1
-	add b
+	add b      ; HP IV: LSB of the other 4 IVs
 	pop bc
-	jr .asm_39d7
-.asm_39bf
+	jr .calcStatFromIV
+.getAttackIV
 	ld a, [hl]
 	swap a
 	and $f
-	jr .asm_39d7
-.asm_39c6
+	jr .calcStatFromIV
+.getDefenseIV
 	ld a, [hl]
 	and $f
-	jr .asm_39d7
-.asm_39cb
+	jr .calcStatFromIV
+.getSpeedIV
 	inc hl
 	ld a, [hl]
 	swap a
 	and $f
-	jr .asm_39d7
-.asm_39d3
+	jr .calcStatFromIV
+.getSpecialIV
 	inc hl
 	ld a, [hl]
 	and $f
-.asm_39d7
+.calcStatFromIV
 	ld d, $0
 	add e
 	ld e, a
-	jr nc, .asm_39de
-	inc d
-.asm_39de
+	jr nc, .noCarry
+	inc d                     ; de = Base + IV
+.noCarry
 	sla e
-	rl d
+	rl d                      ; de = (Base + IV) * 2
 	srl b
-	srl b
+	srl b                     ; b = ceil(Sqrt(stat exp)) / 4
 	ld a, b
 	add e
-	jr nc, .asm_39eb
-	inc d
-.asm_39eb
-	ld [$FF00+$98], a
+	jr nc, .noCarry2
+	inc d                     ; da = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4
+.noCarry2
+	ld [H_MULTIPLICAND+2], a
 	ld a, d
-	ld [$FF00+$97], a
+	ld [H_MULTIPLICAND+1], a
 	xor a
-	ld [H_NUMTOPRINT], a ; $FF00+$96 (aliases: H_MULTIPLICAND)
+	ld [H_MULTIPLICAND], a
 	ld a, [W_CURENEMYLVL] ; $d127
-	ld [H_REMAINDER], a ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
-	call Multiply
-	ld a, [H_NUMTOPRINT] ; $FF00+$96 (aliases: H_MULTIPLICAND)
-	ld [H_DIVIDEND], a ; $FF00+$95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
-	ld a, [$FF00+$97]
-	ld [H_NUMTOPRINT], a ; $FF00+$96 (aliases: H_MULTIPLICAND)
-	ld a, [$FF00+$98]
-	ld [$FF00+$97], a
+	ld [H_MULTIPLIER], a
+	call Multiply            ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level
+	ld a, [H_MULTIPLICAND]
+	ld [H_DIVIDEND], a
+	ld a, [H_MULTIPLICAND+1]
+	ld [H_DIVIDEND+1], a
+	ld a, [H_MULTIPLICAND+2]
+	ld [H_DIVIDEND+2], a
 	ld a, $64
-	ld [H_REMAINDER], a ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+	ld [H_DIVISOR], a
 	ld a, $3
 	ld b, a
-	call Divide
+	call Divide             ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100
 	ld a, c
 	cp $1
 	ld a, $5
-	jr nz, .asm_3a2a
+	jr nz, .notHPStat
 	ld a, [W_CURENEMYLVL] ; $d127
 	ld b, a
-	ld a, [$FF00+$98]
+	ld a, [H_MULTIPLICAND+2]
 	add b
-	ld [$FF00+$98], a
-	jr nc, .asm_3a28
-	ld a, [$FF00+$97]
+	ld [H_MULTIPLICAND+2], a
+	jr nc, .noCarry3
+	ld a, [H_MULTIPLICAND+1]
 	inc a
-	ld [$FF00+$97], a
-.asm_3a28
+	ld [H_MULTIPLICAND+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level
+.noCarry3
 	ld a, $a
-.asm_3a2a
+.notHPStat
 	ld b, a
-	ld a, [$FF00+$98]
+	ld a, [H_MULTIPLICAND+2]
 	add b
-	ld [$FF00+$98], a
-	jr nc, .asm_3a37
-	ld a, [$FF00+$97]
-	inc a
-	ld [$FF00+$97], a
-.asm_3a37
-	ld a, [$FF00+$97]
+	ld [H_MULTIPLICAND+2], a
+	jr nc, .noCarry4
+	ld a, [H_MULTIPLICAND+1]
+	inc a                    ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5
+	ld [H_MULTIPLICAND+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10
+.noCarry4
+	ld a, [H_MULTIPLICAND+1] ; check for overflow (>999)
 	cp $4
-	jr nc, .asm_3a47
+	jr nc, .overflow
 	cp $3
-	jr c, .asm_3a4f
-	ld a, [$FF00+$98]
+	jr c, .noOverflow
+	ld a, [H_MULTIPLICAND+2]
 	cp $e8
-	jr c, .asm_3a4f
-.asm_3a47
-	ld a, $3
-	ld [$FF00+$97], a
+	jr c, .noOverflow
+.overflow
+	ld a, $3                 ; overflow: cap at 999
+	ld [H_MULTIPLICAND+1], a
 	ld a, $e7
-	ld [$FF00+$98], a
-.asm_3a4f
+	ld [H_MULTIPLICAND+2], a
+.noOverflow
 	pop bc
 	pop de
 	pop hl
@@ -9722,7 +9771,7 @@
 	ret
 ; 3a87 (0:3a87)
 
-AddNTimes: ; 3A87
+AddNTimes: ; 3a87 (0:3a87)
 ; add bc to hl a times
 	and a
 	ret z
@@ -9734,7 +9783,7 @@
 
 ; Compare strings, c bytes in length, at de and hl.
 ; Often used to compare big endian numbers in battle calculations.
-StringCmp: ; 3A8E
+StringCmp: ; 3a8e (0:3a8e)
 	ld a,[de]
 	cp [hl]
 	ret nz
@@ -9749,7 +9798,7 @@
 ; b = Y coordinate of upper left corner of sprite
 ; c = X coordinate of upper left corner of sprite
 ; de = base address of 4 tile number and attribute pairs
-WriteOAMBlock: ; 3A97
+WriteOAMBlock: ; 3a97 (0:3a97)
 	ld h,$c3
 	swap a ; multiply by 16
 	ld l,a
@@ -9781,11 +9830,11 @@
 	ld [hli],a
 	ret
 
-HandleMenuInput: ; 3ABE
+HandleMenuInput: ; 3abe (0:3abe)
 	xor a
 	ld [$d09b],a
 
-HandleMenuInputPokemonSelection: ; 3AC2
+HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
 	ld a,[H_DOWNARROWBLINKCNT1]
 	push af
 	ld a,[H_DOWNARROWBLINKCNT2]
@@ -9881,7 +9930,7 @@
 	jr z,.skipPlayingSound
 .AButtonOrBButtonPressed
 	push hl
-	ld hl,$cd60
+	ld hl,W_FLAGS_CD60
 	bit 5,[hl]
 	pop hl
 	jr nz,.skipPlayingSound
@@ -9902,11 +9951,11 @@
 	jr z,.checkOtherKeys
 	jr .checkIfAButtonOrBButtonPressed
 
-PlaceMenuCursor: ; 3B7C
+PlaceMenuCursor: ; 3b7c (0:3b7c)
 	ld a,[W_TOPMENUITEMY]
 	and a ; is the y coordinate 0?
 	jr z,.adjustForXCoord
-	ld hl,$c3a0
+	ld hl,W_SCREENTILESBUFFER
 	ld bc,20 ; screen width
 .topMenuItemLoop
 	add hl,bc
@@ -9981,7 +10030,7 @@
 ; manipulated. In the case of submenus, this is used to show the location of
 ; the menu cursor in the parent menu. In the case of swapping items in list,
 ; this is used to mark the item that was first chosen to be swapped.
-PlaceUnfilledArrowMenuCursor: ; 3BEC
+PlaceUnfilledArrowMenuCursor: ; 3bec (0:3bec)
 	ld b,a
 	ld a,[W_MENUCURSORLOCATION]
 	ld l,a
@@ -9992,7 +10041,7 @@
 	ret
 
 ; Replaces the menu cursor with a blank space.
-EraseMenuCursor: ; 3BF9
+EraseMenuCursor: ; 3bf9 (0:3bf9)
 	ld a,[W_MENUCURSORLOCATION]
 	ld l,a
 	ld a,[W_MENUCURSORLOCATION + 1]
@@ -10008,7 +10057,7 @@
 ; initliazed with a down arrow, this function does nothing.
 ; That allows this to be called without worrying about if a down arrow should
 ; be blinking.
-HandleDownArrowBlinkTiming: ; 3C04
+HandleDownArrowBlinkTiming: ; 3c04 (0:3c04)
 	ld a,[hl]
 	ld b,a
 	ld a,$ee ; down arrow
@@ -10053,20 +10102,20 @@
 ; text boxes by DisplayTextID. Both functions cause DisplayTextID to wait
 ; for a button press after displaying text (unless [$cc47] is set).
 
-EnableAutoTextBoxDrawing: ; 0x3c3c
+EnableAutoTextBoxDrawing: ; 3c3c (0:3c3c)
 	xor a
 	jr AutoTextBoxDrawingCommon
 
-DisableAutoTextBoxDrawing: ; 0x3c3f
+DisableAutoTextBoxDrawing: ; 3c3f (0:3c3f)
 	ld a,$01
 
-AutoTextBoxDrawingCommon: ; 0x3c41
+AutoTextBoxDrawingCommon: ; 3c41 (0:3c41)
 	ld [$cf0c],a ; control text box drawing
 	xor a
 	ld [$cc3c],a ; make DisplayTextID wait for button press
 	ret
 
-PrintText: ; 0x3c49
+PrintText: ; 3c49 (0:3c49)
 ; given a pointer in hl, print the text there
 	push hl
 	ld a,1
@@ -10075,7 +10124,7 @@
 	call UpdateSprites
 	call Delay3
 	pop hl
-Func_3c59:
+Func_3c59: ; 3c59 (0:3c59)
 	FuncCoord 1,14
 	ld bc,Coord ;$C4B9
 	jp TextCommandProcessor
@@ -10091,7 +10140,7 @@
 ; bits 0-3: number of bytes (only 1 - 3 bytes supported)
 ; c = number of decimal digits
 ; de = address of the number (big-endian)
-PrintNumber: ; 0x3c5f
+PrintNumber: ; 3c5f (0:3c5f)
 	push bc
 	xor a
 	ld [H_PASTLEADINGZEROES],a
@@ -10224,7 +10273,7 @@
 ; The last value that the number had before becoming negative is kept as the new value of the number.
 ; A more succinct description is that the number is divided by a power of ten
 ; and the quotient becomes the digit while the remainder is stored as the new value of the number.
-PrintNumber_PrintDigit: ; 3D25
+PrintNumber_PrintDigit: ; 3d25 (0:3d25)
 	ld c,0 ; counts number of loop iterations to determine the decimal digit
 .loop
 	ld a,[H_POWEROFTEN]
@@ -10294,7 +10343,7 @@
 	ret
 
 ; prints a leading zero unless they are turned off in the flags
-PrintNumber_PrintLeadingZero: ; 3D83
+PrintNumber_PrintLeadingZero: ; 3d83 (0:3d83)
 	bit 7,d ; print leading zeroes?
 	ret z
 	ld [hl],"0"
@@ -10302,7 +10351,7 @@
 
 ; increments the pointer unless leading zeroes are not being printed,
 ; the number is left-aligned, and no nonzero digits have been printed yet
-PrintNumber_AdvancePointer: ; 3D89
+PrintNumber_AdvancePointer: ; 3d89 (0:3d89)
 	bit 7,d ; print leading zeroes?
 	jr nz,.incrementPointer
 	bit 6,d ; left alignment or right alignment?
@@ -10318,7 +10367,7 @@
 ; INPUT:
 ; a = index within table
 ; hl = address of function pointer table
-CallFunctionInTable: ; 3D97
+CallFunctionInTable: ; 3d97 (0:3d97)
 	push hl
 	push de
 	push bc
@@ -10341,11 +10390,11 @@
 ; 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.
-IsInArray: ; 3DAB
+IsInArray: ; 3dab (0:3dab)
 	ld b,0
 	; fall through
 
-IsInArrayCummulativeCount: ; 0x3dad
+IsInArrayCummulativeCount: ; 3dad (0:3dad)
 	ld c,a
 .loop
 	ld a,[hl]
@@ -10369,22 +10418,22 @@
 	ld a, $1
 	ld [$cfcb], a
 	call Func_3e08
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	call LoadTextBoxTilePatterns
 	call GoPAL_SET_CF1C
 	jr Delay3
 ; 3dd4 (0:3dd4)
 ; calls GBPalWhiteOut and then Delay3
-GBPalWhiteOutWithDelay3: ; 3DD4
+GBPalWhiteOutWithDelay3: ; 3dd4 (0:3dd4)
 	call GBPalWhiteOut
 
-Delay3: ; 0x3dd7
+Delay3: ; 3dd7 (0:3dd7)
 ; call Delay with a parameter of 3
 	ld c,3
 	jp DelayFrames
 
 ; resets BGP and OBP0 to their usual colors
-GBPalNormal: ; 3DDC
+GBPalNormal: ; 3ddc (0:3ddc)
 	ld a,%11100100
 	ld [rBGP],a
 	ld a,%11010000
@@ -10392,7 +10441,7 @@
 	ret
 
 ; makes all palette colors white
-GBPalWhiteOut: ; 3DE5
+GBPalWhiteOut: ; 3de5 (0:3de5)
 	xor a
 	ld [rBGP],a
 	ld [rOBP0],a
@@ -10399,9 +10448,9 @@
 	ld [rOBP1],a
 	ret
 
-GoPAL_SET_CF1C: ; 3ded
+GoPAL_SET_CF1C: ; 3ded (0:3ded)
 	ld b,$ff
-GoPAL_SET: 	; 3def
+GoPAL_SET: ; 3def (0:3def)
 	ld a,[$cf1b]
 	and a
 	ret z
@@ -10444,7 +10493,7 @@
 	jp UpdateSprites
 ; 3e2e (0:3e2e)
 
-GiveItem: ; 0x3e2e
+GiveItem: ; 3e2e (0:3e2e)
 	ld a, b
 	ld [$d11e], a
 	ld [$cf91], a
@@ -10458,7 +10507,7 @@
 	scf
 	ret
 
-GivePokemon: ; 0x3e48
+GivePokemon: ; 3e48 (0:3e48)
 	ld a, b
 	ld [$cf91], a
 	ld a, c
@@ -10469,7 +10518,7 @@
 	ld hl, Func_4fda5
 	jp Bankswitch
 
-GenRandom: ; 0x3e5c
+GenRandom: ; 3e5c (0:3e5c)
 ; store a random 8-bit value in a
 	push hl
 	push de
@@ -10483,7 +10532,7 @@
 	pop hl
 	ret
 
-Predef: ; 0x3e6d
+Predef: ; 3e6d (0:3e6d)
 ; runs a predefined ASM command, where the command ID is read from $D0B7
 ; $3E6D grabs the ath pointer from PredefPointers and executes it
 
@@ -10516,7 +10565,7 @@
 
 ;loads hl from cc4f, de from cc51, and bc from cc53
 
-Load16BitRegisters: ;3e94
+Load16BitRegisters: ; 3e94 (0:3e94)
 	ld a, [$cc4f]
 	ld h, a
 	ld a, [$cc50]
@@ -10542,7 +10591,7 @@
 Func_3eb5: ; 3eb5 (0:3eb5)
 	ld a, [H_LOADEDROMBANK]
 	push af
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	bit 0, a
 	jr z, .asm_3eea
 	ld a, $11
@@ -10676,7 +10725,7 @@
 
 SECTION "bank1",DATA,BANK[$1]
 
-SpriteFacingAndAnimationTable: ; 0x4000
+SpriteFacingAndAnimationTable: ; 4000 (1:4000)
 dw SpriteFacingDownAndStanding, SpriteOAMParameters        ; facing down, walk animation frame 0
 dw SpriteFacingDownAndWalking, SpriteOAMParameters         ; facing down, walk animation frame 1
 dw SpriteFacingDownAndStanding, SpriteOAMParameters        ; facing down, walk animation frame 2
@@ -10710,25 +10759,25 @@
 dw SpriteFacingDownAndStanding, SpriteOAMParameters
 dw SpriteFacingDownAndStanding, SpriteOAMParameters
 
-SpriteFacingDownAndStanding: ; 0x4080
+SpriteFacingDownAndStanding: ; 4080 (1:4080)
 	db $00,$01,$02,$03
-SpriteFacingDownAndWalking:
+SpriteFacingDownAndWalking: ; 4084 (1:4084)
 	db $80,$81,$82,$83
-SpriteFacingUpAndStanding:
+SpriteFacingUpAndStanding: ; 4088 (1:4088)
 	db $04,$05,$06,$07
-SpriteFacingUpAndWalking:
+SpriteFacingUpAndWalking: ; 408c (1:408c)
 	db $84,$85,$86,$87
-SpriteFacingLeftAndStanding:
+SpriteFacingLeftAndStanding: ; 4090 (1:4090)
 	db $08,$09,$0a,$0b
-SpriteFacingLeftAndWalking:
+SpriteFacingLeftAndWalking: ; 4094 (1:4094)
 	db $88,$89,$8a,$8b
 
-SpriteOAMParameters: ; 0x4098
+SpriteOAMParameters: ; 4098 (1:4098)
 	db $00,$00, $00                                      ; top left
 	db $00,$08, $00                                      ; top right
 	db $08,$00, OAMFLAG_CANBEMASKED                      ; bottom left
 	db $08,$08, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right
-SpriteOAMParametersFlipped: ; 0x40a4
+SpriteOAMParametersFlipped: ; 40a4 (1:40a4)
 	db $00,$08, OAMFLAG_VFLIPPED
 	db $00,$00, OAMFLAG_VFLIPPED
 	db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED
@@ -10742,9 +10791,9 @@
 	ld [W_ISINBATTLE], a ; $d057
 	ld [$d35d], a
 	ld [$cf10], a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$cc57], a
-	ld [$cd60], a
+	ld [W_FLAGS_CD60], a
 	ld [$FF00+$9f], a
 	ld [$FF00+$a0], a
 	ld [$FF00+$a1], a
@@ -10775,17 +10824,17 @@
 	res 3, [hl]
 	set 6, [hl]
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $7
 	jp Predef ; indirect jump to HealParty (f6a5 (3:76a5))
 ; 4112 (1:4112)
-MewPicFront: ; 0x4112
+MewPicFront: ; 4112 (1:4112)
 	INCBIN "pic/bmon/mew.pic"
-MewPicBack: ; 0x4205
+MewPicBack: ; 4205 (1:4205)
 	INCBIN "pic/monback/mewb.pic"
 ; 0x425b
 
-MewBaseStats: ; 0x425b
+MewBaseStats: ; 425b (1:425b)
 	db DEX_MEW ; pokedex id
 	db 100 ; base hp
 	db 100 ; base attack
@@ -10828,7 +10877,7 @@
 	and a
 	jr z, .asm_4284
 	dec [hl]
-	ld hl, $42a7
+	ld hl, UnnamedText_42a7 ; $42a7
 	jr .asm_429f
 .asm_4284
 	dec hl
@@ -10836,7 +10885,7 @@
 	and a
 	ret z
 	dec [hl]
-	ld hl, $42ac
+	ld hl, UnnamedText_42ac ; $42ac
 	jr nz, .asm_429f
 	push hl
 	ld a, [$cfe5]
@@ -10847,16 +10896,16 @@
 	pop hl
 .asm_429f
 	push hl
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	pop hl
 	jp PrintText
 ; 42a7 (1:42a7)
-UnnamedText_42a7: ; 0x42a7
+UnnamedText_42a7: ; 42a7 (1:42a7)
 	TX_FAR SafariZoneEatingText
 	db $50
 ; 0x42a7 + 5 bytes
 
-UnnamedText_42ac: ; 0x42ac
+UnnamedText_42ac: ; 42ac (1:42ac)
 	TX_FAR SafariZoneAngryText
 	db $50
 ; 0x42ac + 5 bytes
@@ -10899,27 +10948,27 @@
 	call ClearScreen
 	call DisableLCD
 	call LoadFontTilePatterns
-	ld hl, $60c8
+	ld hl, NintendoCopyrightLogoGraphics ; $60c8
 	ld de, $9410
 	ld bc, $50
-	ld a, $4
+	ld a, BANK(NintendoCopyrightLogoGraphics)
 	call FarCopyData2
-	ld hl, $61f8
+	ld hl, GamefreakLogoGraphics ; $61f8
 	ld de, $9460
 	ld bc, $90
-	ld a, $4
+	ld a, BANK(GamefreakLogoGraphics)
 	call FarCopyData2
-	ld hl, $5380
+	ld hl, PokemonLogoGraphics ; $5380
 	ld de, $8800
 	ld bc, $600
-	ld a, $4
-	call FarCopyData2
-	ld hl, $5980
+	ld a, BANK(PokemonLogoGraphics)
+	call FarCopyData2          ; first chunk
+	ld hl, PokemonLogoGraphics+$600 ; $5980
 	ld de, $9310
 	ld bc, $100
-	ld a, $4
-	call FarCopyData2
-	ld hl, $402f
+	ld a, BANK(PokemonLogoGraphics)
+	call FarCopyData2          ; second chunk
+	ld hl, Version_GFX ; $402f
 ; 4335 (1:4335)
 ; 0x4335
 IF _RED
@@ -10931,10 +10980,11 @@
 	ld bc,$40 ; how big that file is
 ENDC
 
-	ld a, $1a
+	ld a, BANK(Version_GFX)
 	call FarCopyDataDouble
 	call Func_4519
-	ld hl, $c3b6
+	FuncCoord 2, 1 ; $c3b6
+	ld hl, Coord
 	ld a, $80
 	ld de, $14
 	ld c, $6
@@ -10950,7 +11000,8 @@
 	add hl, de
 	dec c
 	jr nz, .asm_434d
-	ld hl, $c42e
+	FuncCoord 2, 7 ; $c42e
+	ld hl, Coord
 	ld a, $31
 	ld b, $10
 .asm_4361
@@ -10962,8 +11013,9 @@
 	ld hl, $c328
 	ld a, $74
 	ld [hl], a
-	ld hl, $c4f6
-	ld de, $437f
+	FuncCoord 2, 17 ; $c4f6
+	ld hl, Coord
+	ld de, .unknown_437f ; $437f
 	ld b, $10
 .asm_4377
 	ld a, [de]
@@ -10973,10 +11025,12 @@
 	jr nz, .asm_4377
 	jr .asm_438f
 
+.unknown_437f ; 437f (1:437f)
 INCBIN "baserom.gbc",$437f,$438f - $437f
+
 .asm_438f
-	call Func_36f4
-	call Func_3701
+	call SaveScreenTilesToBuffer2
+	call LoadScreenTilesFromBuffer2
 	call EnableLCD
 ; 4398 (1:4398)
 IF _RED
@@ -10990,10 +11044,10 @@
 	call Func_4524
 	ld a, $9b
 	call Func_4533
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, $40
 	ld [$FF00+$b0], a
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	ld a, $98
 	call Func_4533
 	ld b, $6
@@ -11002,7 +11056,7 @@
 	ld a, $e4
 	ld [rOBP0], a ; $FF00+$48
 	ld bc, $ffaf
-	ld hl, $43db
+	ld hl, .unknown_43db ; $43db
 .asm_43c6
 	ld a, [hli]
 	and a
@@ -11018,7 +11072,9 @@
 	call .asm_43ea
 	jr .asm_43c6
 
+.unknown_43db: ; 43db (1:43db)
 INCBIN "baserom.gbc",$43db,$43ea - $43db
+
 .asm_43ea
 	call DelayFrame
 	ld a, [bc]
@@ -11028,12 +11084,12 @@
 	jr nz, .asm_43ea
 	ret
 .asm_43f4
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld c, $24
 	call DelayFrames
 	ld a, $bd
 	call PlaySound
-	call Func_4598
+	call PrintGameVersionOnTitleScreen
 	ld a, $90
 	ld [$FF00+$b0], a
 	ld d, $90
@@ -11051,10 +11107,10 @@
 	jr nz, .asm_440a
 	ld a, $9c
 	call Func_4533
-	call Func_3701
-	call Func_4598
+	call LoadScreenTilesFromBuffer2
+	call PrintGameVersionOnTitleScreen
 	call Delay3
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $c3
 	ld [$c0ee], a
 	call PlaySound
@@ -11076,7 +11132,7 @@
 .asm_4459
 	ld a, [W_WHICHTRADE] ; $cd3d
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	call GBPalWhiteOutWithDelay3
 	call CleanLCD_OAM
 	xor a
@@ -11090,7 +11146,7 @@
 	call Func_4533
 	call Delay3
 	call LoadGBPal
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	ld b, a
 	and $46
 	cp $46
@@ -11112,7 +11168,7 @@
 	and $f
 	ld c, a
 	ld b, $0
-	ld hl, $4588
+	ld hl, TitleMons ; $4588
 	add hl, bc
 	ld a, [hl]
 	ld hl, W_WHICHTRADE ; $cd3d
@@ -11123,17 +11179,17 @@
 	ld a, $90
 	ld [$FF00+$b0], a
 	ld d, $1
-	ld b, BANK(Func_37258)
-	ld hl, Func_37258
-	call Bankswitch ; indirect jump to Func_37258 (37258 (d:7258))
+	ld b, BANK(LoadScreenTilesFromBuffer18)
+	ld hl, LoadScreenTilesFromBuffer18
+	call Bankswitch ; indirect jump to LoadScreenTilesFromBuffer18 (37258 (d:7258))
 	ret
 
 ; known jump sources: 4442 (1:4442)
 Func_44c1: ; 44c1 (1:44c1)
 	ld d, $0
-	ld b, BANK(Func_37258)
-	ld hl, Func_37258
-	call Bankswitch ; indirect jump to Func_37258 (37258 (d:7258))
+	ld b, BANK(LoadScreenTilesFromBuffer18)
+	ld hl, LoadScreenTilesFromBuffer18
+	call Bankswitch ; indirect jump to LoadScreenTilesFromBuffer18 (37258 (d:7258))
 	xor a
 	ld [$FF00+$b0], a
 	ret
@@ -11153,15 +11209,15 @@
 
 ; known jump sources: 4366 (1:4366)
 Func_44dd: ; 44dd (1:44dd)
-	ld hl, $66a8
+	ld hl, PlayerCharacterTitleGraphics ; $66a8
 	ld de, $8000
 	ld bc, $230
-	ld a, $4
+	ld a, BANK(PlayerCharacterTitleGraphics)
 	call FarCopyData2
 	call CleanLCD_OAM
 	xor a
 	ld [W_WHICHTRADE], a ; $cd3d
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld de, $605a
 	ld b, $7
 .asm_44fa
@@ -11200,9 +11256,10 @@
 Func_4524: ; 4524 (1:4524)
 	ld [$cf91], a
 	ld [$d0b5], a
-	ld hl, $c46d
+	FuncCoord 5, 10 ; $c46d
+	ld hl, Coord
 	call GetMonHeader
-	jp Func_1389
+	jp LoadFrontSpriteByMonIndex
 
 ; known jump sources: 43a2 (1:43a2), 43b1 (1:43b1), 4420 (1:4420), 4473 (1:4473), 4478 (1:4478), 4498 (1:4498)
 Func_4533: ; 4533 (1:4533)
@@ -11218,17 +11275,19 @@
 
 ; known jump sources: 741fa (1d:41fa)
 Func_4541: ; 4541 (1:4541)
-	ld de, $60c8
+	ld de, NintendoCopyrightLogoGraphics ; $60c8
 	ld hl, $9600
-	ld bc, $41c
+	ld bc, (BANK(NintendoCopyrightLogoGraphics) << 8) + $1c
 	call CopyVideoData
-	ld hl, $c42e
-	ld de, $4556
+	FuncCoord 2, 7 ; $c42e
+	ld hl, Coord
+	ld de, Unknown_4556 ; $4556
 	jp PlaceString
 
+Unknown_4556: ; 4556 (1:4556)
 INCBIN "baserom.gbc",$4556,$4588 - $4556
 
-TitleMons: ; 4588
+TitleMons: ; 4588 (1:4588)
 ; mons on the title screen are randomly chosen from here
 IF _RED
 	db CHARMANDER
@@ -11285,24 +11344,27 @@
 	db RAICHU
 ENDC
 
-; known jump sources: 4401 (1:4401), 4426 (1:4426)
-Func_4598: ; 4598 (1:4598)
-	ld hl, $c447
-	ld de, $45a1
+; prints version text (red, blue)
+PrintGameVersionOnTitleScreen: ; 4598 (1:4598)
+	FuncCoord 7, 8 ; $c447
+	ld hl, Coord
+	ld de, VersionOnTitleScreenText ; $45a1
 	jp PlaceString
 ; 45a1 (1:45a1)
-; xxx Version tilemap on the title screen
+
+; these point to special tiles specifically loaded for that purpose ad are no usual text
+VersionOnTitleScreenText: ; 45a1 (1:45a1)
 IF _RED
-	db $60,$61,$7F,$65,$66,$67,$68,$69,$50
+	db $60,$61,$7F,$65,$66,$67,$68,$69,$50 ; "Red Version"
 ENDC
 IF _BLUE
-	db $61,$62,$63,$64,$65,$66,$67,$68,$50
+	db $61,$62,$63,$64,$65,$66,$67,$68,$50 ; "Blue Version"
 ENDC
 
-NintenText: ; 45AA
+NintenText: ; 45aa (1:45aa)
 	db "NINTEN@"
 
-SonyText: ; 45B1
+SonyText: ; 45b1 (1:45b1)
 	db "SONY@"
 
 ; loads pokemon data from one of multiple sources to $cf98
@@ -11318,7 +11380,7 @@
 ; [$cf91] = pokemon ID
 ; $cf98 = base address of pokemon data
 ; $d0b8 = base address of base stats
-LoadMonData_: ; 45B6
+LoadMonData_: ; 45b6 (1:45b6)
 	ld a,[$da5f] ; daycare pokemon ID
 	ld [$cf91],a
 	ld a,[$cc49]
@@ -11341,7 +11403,7 @@
 	ld hl,$d8a4 ; enemy pokemon 1 data
 	jr z,.getMonEntry
 	cp a,$02
-	ld hl,$da96 ; box pokemon 1 data
+	ld hl,W_BOXMON1DATA ; box pokemon 1 data
 	ld bc,33
 	jr z,.getMonEntry
 	ld hl,$da5f ; daycare pokemon data
@@ -11354,9 +11416,106 @@
 	ld bc,44
 	jp CopyData
 
-INCBIN "baserom.gbc",$4608,$472B-$4608
+ItemPrices: ; 4608 (1:4608)
+	db $00,$00,$00
+	db $00,$12,$00
+	db $00,$06,$00
+	db $00,$02,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$10,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$01,$00
+	db $00,$02,$50
+	db $00,$02,$50
+	db $00,$02,$00
+	db $00,$02,$00
+	db $00,$30,$00
+	db $00,$25,$00
+	db $00,$15,$00
+	db $00,$07,$00
+	db $00,$03,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$05,$50
+	db $00,$03,$50
+	db $00,$00,$00
+	db $00,$21,$00
+	db $00,$21,$00
+	db $00,$21,$00
+	db $00,$98,$00
+	db $00,$98,$00
+	db $00,$98,$00
+	db $00,$98,$00
+	db $00,$98,$00
+	db $00,$48,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$09,$50
+	db $00,$21,$00
+	db $00,$00,$00
+	db $01,$00,$00
+	db $00,$98,$00
+	db $00,$10,$00
+	db $00,$06,$00
+	db $00,$15,$00
+	db $00,$40,$00
+	db $00,$07,$00
+	db $00,$05,$00
+	db $00,$07,$00
+	db $00,$06,$50
+	db $00,$00,$10
+	db $00,$02,$00
+	db $00,$03,$00
+	db $00,$03,$50
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$05,$00
+	db $00,$05,$50
+	db $00,$03,$50
+	db $00,$03,$50
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
+	db $00,$00,$00
 
-ItemNames: ; 472B
+ItemNames: ; 472b (1:472b)
 	db "MASTER BALL@"
 	db "ULTRA BALL@"
 	db "GREAT BALL@"
@@ -11455,7 +11614,7 @@
 	db "11F@"
 	db "B4F@"
 
-UnusedNames: ; 4A92
+UnusedNames: ; 4a92 (1:4a92)
 	db "かみなりバッヂ@"
 	db "かいがらバッヂ@"
 	db "おじぞうバッヂ@"
@@ -11477,7 +11636,7 @@
 
 INCBIN "baserom.gbc",$4b09,$4b0f - $4b09
 
-; calculates the OAM data for all currently visible sprites and writes it to $c300
+; calculates the OAM data for all currently visible sprites and writes it to W_OAMBUFFER
 PrepareOAMData: ; 4b0f (1:4b0f)
 	ld a, [$cfcb]
 	dec a
@@ -11539,7 +11698,7 @@
 	call Func_4bd1
 	ld a, [$FF00+$90]
 	ld e, a
-	ld d, $c3                ; $c300+x is buffer for OAM data
+	ld d, $c3                ; W_OAMBUFFER+x is buffer for OAM data
 .spriteTilesLoop             ; loops 4 times for the 4 tiles a sprite consists of
 	ld a, [$FF00+$92]        ; temp for sprite Y position
 	add $10                  ; Y=16 is top of screen (Y=0 is invisible)
@@ -11648,7 +11807,7 @@
 	ret
 
 ; this routine is copied to HRAM and executed there on every VBlank
-DMARoutine: ; 0x4bfb
+DMARoutine: ; 4bfb (1:4bfb)
 	ld a, $c3
 	ld [$ff00+$46], a   ; start DMA
 	ld a, $28
@@ -11660,7 +11819,8 @@
 
 ; known jump sources: 3d638 (f:5638)
 Func_4c05: ; 4c05 (1:4c05)
-	ld hl, $c46b
+	FuncCoord 3, 10 ; $c46b
+	ld hl, Coord
 	ld b, $1
 	ld c, $b
 	ld a, [W_ISINBATTLE] ; $d057
@@ -11671,12 +11831,14 @@
 .asm_4c17
 	call Func_5ab3
 .asm_4c1a
-	ld hl, $c480
-	ld de, $4c28
+	FuncCoord 4, 11 ; $c480
+	ld hl, Coord
+	ld de, Unknown_4c28 ; $4c28
 	call PlaceString
 	ld c, $32
 	jp DelayFrames
 
+Unknown_4c28: ; 4c28 (1:4c28)
 INCBIN "baserom.gbc",$4c28,$4c34 - $4c28
 
 ; known jump sources: 2438 (0:2438)
@@ -11895,7 +12057,7 @@
 	inc l
 	inc l
 	ld a, [$FF00+$8f]
-	ld de, $4d85
+	ld de, Unknown_4d85 ; $4d85
 	add a
 	add e
 	ld e, a
@@ -11932,6 +12094,7 @@
 .asm_4d84
 	ret
 
+Unknown_4d85: ; 4d85 (1:4d85)
 INCBIN "baserom.gbc",$4d85,$4de1 - $4d85
 
 ; known jump sources: 24f7 (0:24f7)
@@ -11977,13 +12140,13 @@
 	call PrintText
 	ret
 
-FoundItemText: ; 0x4e26
+FoundItemText: ; 4e26 (1:4e26)
 	TX_FAR _FoundItemText
 	db $0B
 	db $50
 ; 0x4e26 + 5 bytes
 
-NoMoreRoomForItemText: ; 0x4e2c
+NoMoreRoomForItemText: ; 4e2c (1:4e2c)
 	TX_FAR _NoMoreRoomForItemText
 	db $50
 ; 0x4e2c + 5 bytes
@@ -11999,7 +12162,8 @@
 	ld [$c200], a
 	jr .asm_4e4a
 .asm_4e41
-	ld a, [$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a, [Coord]
 	ld [$FF00+$93], a
 	cp $60
 	jr c, .asm_4e50
@@ -12683,13 +12847,13 @@
 	add $14         ; screen X tile + 20
 	ld d, $0
 	ld e, a
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	add hl, bc
 	add hl, bc
 	add hl, bc
 	add hl, bc
 	add hl, bc
-	add hl, de     ; $c3a0 + 20*(screen Y tile + 1) + screen X tile
+	add hl, de     ; W_SCREENTILESBUFFER + 20*(screen Y tile + 1) + screen X tile
 	ret
 
 ; loads [de+a] into a
@@ -12864,12 +13028,14 @@
 	call LoadFontTilePatterns
 	call LoadHpBarAndStatusTilePatterns
 	call Func_5ae6
-	ld hl, $c443
+	FuncCoord 3, 8 ; $c443
+	ld hl, Coord
 	ld b, $2
 	ld c, $c
 	call Func_5ab3
-	ld hl, $c46c
-	ld de, $550f
+	FuncCoord 4, 10 ; $c46c
+	ld hl, Coord
+	ld de, .unknown_550f ; $550f
 	call PlaceString
 	ld hl, W_NUMHITS ; $d074
 	xor a
@@ -12897,7 +13063,7 @@
 	ld [hli], a
 	dec b
 	jr nz, .asm_535d
-	ld hl, $c508
+	ld hl, W_SCREENTILESBACKBUFFER
 	ld a, $fd
 	ld [hli], a
 	ld [hli], a
@@ -12969,7 +13135,7 @@
 	ld a, $8
 	ld [rIE], a ; $FF00+$ff
 	ld hl, $d141
-	ld de, $cd81
+	ld de, W_SCREENTILESBACKBUFFER2
 	ld bc, $11
 	call Func_216f
 	ld a, $fe
@@ -12980,7 +13146,7 @@
 	call Func_216f
 	ld a, $fe
 	ld [de], a
-	ld hl, $c508
+	ld hl, W_SCREENTILESBACKBUFFER
 	ld de, $c5d0
 	ld bc, $c8
 	call Func_216f
@@ -12991,7 +13157,7 @@
 	ld a, [$FF00+$aa]
 	cp $2
 	jr z, .asm_5431
-	ld hl, $cd81
+	ld hl, W_SCREENTILESBACKBUFFER2
 .asm_5415
 	ld a, [hli]
 	and a
@@ -13044,7 +13210,7 @@
 	ld a, b
 	or c
 	jr nz, .asm_5456
-	ld de, $c508
+	ld de, W_SCREENTILESBACKBUFFER
 	ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
 	ld c, $2
 .asm_546a
@@ -13138,9 +13304,11 @@
 	call PlayMusic
 	jr .asm_551c
 
+.unknown_550f: ; 550f (1:550f)
 INCBIN "baserom.gbc",$550f,$551c - $550f
+
 .asm_551c
-	ld hl, $5a5b
+	ld hl, Unknown_5a5b ; $5a5b
 	ld b, $0
 	ld a, [$cc38]
 	cp $ff
@@ -13179,13 +13347,16 @@
 
 INCBIN "baserom.gbc",$57a2,$5a24 - $57a2
 
-SSAnne8AfterBattleText2: ; 0x5a24
+SSAnne8AfterBattleText2: ; 5a24 (1:5a24)
 	TX_FAR _SSAnne8AfterBattleText2
 	db $50
 ; 0x5a24 + 5 bytes
 
-INCBIN "baserom.gbc",$5a29,$5a5f - $5a29
+INCBIN "baserom.gbc",$5a29,$5a5b - $5a29
 
+Unknown_5a5b: ; 5a5b (1:5a5b)
+INCBIN "baserom.gbc",$5a5b,$5a5f - $5a5b
+
 ; known jump sources: 3888 (0:3888)
 Func_5a5f: ; 5a5f (1:5a5f)
 	ld a, [W_ISLINKBATTLE] ; $d12b
@@ -13273,12 +13444,13 @@
 
 ; known jump sources: 5328 (1:5328)
 Func_5ae6: ; 5ae6 (1:5ae6)
-	ld de, $7b98
+	ld de, TrainerInfoTextBoxTileGraphics ; $7b98
 	ld hl, $9760
-	ld bc, $b09
+	ld bc, (BANK(TrainerInfoTextBoxTileGraphics) << 8) +$09
 	jp CopyVideoData
 ; 5af2 (1:5af2)
-MainMenu: ; 0x5af2
+
+MainMenu: ; 5af2 (1:5af2)
 ; Check save file
 	call Func_5bff
 	xor a
@@ -13321,7 +13493,7 @@
 	call TextBoxBorder
 	FuncCoord 2,2
 	ld hl,Coord
-	ld de,$5D7E
+	ld de,Unknown_5d7e ; $5d7e
 	call PlaceString
 	jr .next2
 .next1
@@ -13332,7 +13504,7 @@
 	call TextBoxBorder
 	FuncCoord 2,2
 	ld hl,Coord
-	ld de,$5D87
+	ld de,Unknown_5d87 ; $5d87
 	call PlaceString
 .next2
 	ld hl,$D730
@@ -13352,7 +13524,7 @@
 	ld [$CC28],a
 	call HandleMenuInput
 	bit 1,a
-	jp nz,$42DD ; load title screen (gfx and arrangement)
+	jp nz,Func_42dd ; load title screen (gfx and arrangement)
 	ld c,20
 	call DelayFrames
 	ld a,[$CC26]
@@ -13366,7 +13538,7 @@
 	and a
 	jr z,.next4 ; if press_A on Continue
 	cp a,1
-	jp z,$5D52 ; if press_A on NewGame
+	jp z,Func_5d52 ; if press_A on NewGame
 	call DisplayOptionMenu ; if press_a on Options
 	ld a,1
 	ld [$D08A],a
@@ -13377,11 +13549,11 @@
 	set 5,[hl]
 .next6
 	xor a
-	ld [$FFB3],a
-	ld [$FFB2],a
-	ld [$FFB4],a
+	ld [H_NEWLYPRESSEDBUTTONS],a
+	ld [H_NEWLYRELEASEDBUTTONS],a
+	ld [H_CURRENTPRESSEDBUTTONS],a
 	call GetJoypadState
-	ld a,[$FFB4]
+	ld a,[H_CURRENTPRESSEDBUTTONS]
 	bit 0,a
 	jr nz,.next5
 	bit 1,a
@@ -13406,7 +13578,7 @@
 	set 2,[hl]
 	call Function62CE
 	jp Func_5d5f
-Func_5bff: ; 0x5bff
+Func_5bff: ; 5bff (1:5bff)
 	ld a,1
 	ld [$D358],a
 	ld a,3
@@ -13420,18 +13592,20 @@
 	ld [$d358], a
 	ld hl, $d72e
 	set 6, [hl]
-	ld hl, $6b20
+	ld hl, Unknown_6b20 ; $6b20
 	call PrintText
-	call Func_3719
-	ld hl, $5d43
+	call SaveScreenTilesToBuffer1
+	ld hl, UnnamedText_5d43 ; $5d43
 	call PrintText
-	ld hl, $c409
+	FuncCoord 5, 5 ; $c409
+	ld hl, Coord
 	ld b, $6
 	ld c, $d
 	call TextBoxBorder
 	call UpdateSprites
-	ld hl, $c433
-	ld de, $5d97
+	FuncCoord 7, 7 ; $c433
+	ld hl, Coord
+	ld de, Unknown_5d97 ; $5d97
 	call PlaceString
 	xor a
 	ld [$cd37], a
@@ -13519,14 +13693,17 @@
 	ld c, d
 .asm_5ccc
 	ld a, b
-	ld [$c432], a
+	FuncCoord 6, 7 ; $c432
+	ld [Coord], a
 	ld a, c
-	ld [$c45a], a
+	FuncCoord 6, 9 ; $c45a
+	ld [Coord], a
 	ld a, d
-	ld [$c482], a
+	FuncCoord 6, 11 ; $c482
+	ld [Coord], a
 	ld c, $28
 	call DelayFrames
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, [$cc42]
 	and $8
 	jr nz, .asm_5d2d
@@ -13542,7 +13719,7 @@
 	ld a, $ef
 .asm_5cfc
 	ld [$d72d], a
-	ld hl, $5d48
+	ld hl, UnnamedText_5d48 ; $5d48
 	call PrintText
 	ld c, $32
 	call DelayFrames
@@ -13565,23 +13742,23 @@
 	ld [W_MENUJOYPADPOLLCOUNT], a ; $cc34
 	call Delay3
 	call Func_72d7
-	ld hl, $5d4d
+	ld hl, UnnamedText_5d4d ; $5d4d
 	call PrintText
 	ld hl, $d72e
 	res 6, [hl]
 	ret
 ; 5d43 (1:5d43)
-UnnamedText_5d43: ; 0x5d43
+UnnamedText_5d43: ; 5d43 (1:5d43)
 	TX_FAR _UnnamedText_5d43
 	db $50
 ; 0x5d43 + 5 bytes
 
-UnnamedText_5d48: ; 0x5d48
+UnnamedText_5d48: ; 5d48 (1:5d48)
 	TX_FAR _UnnamedText_5d48
 	db $50
 ; 0x5d48 + 5 bytes
 
-UnnamedText_5d4d: ; 0x5d4d
+UnnamedText_5d4d: ; 5d4d (1:5d4d)
 	TX_FAR _UnnamedText_5d4d
 	db $50
 ; 0x5d4d + 5 bytes
@@ -13597,13 +13774,13 @@
 ; known jump sources: 5be5 (1:5be5), 5bed (1:5bed), 5bfc (1:5bfc), 5d2b (1:5d2b)
 Func_5d5f: ; 5d5f (1:5d5f)
 	xor a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b4], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$FF00+$b5], a
 	ld [$d72d], a
 	ld hl, $d732
 	set 0, [hl]
-	call Func_28a6
+	call ResetPlayerSpriteData
 	ld c, $14
 	call DelayFrames
 	ld a, [$cc47]
@@ -13611,27 +13788,40 @@
 	ret nz
 	jp EnterMap
 
-INCBIN "baserom.gbc",$5d7e,$5db5 - $5d7e
+Unknown_5d7e: ; 5d7e (1:5d7e)
+INCBIN "baserom.gbc",$5d7e,$5d87 - $5d7e
 
+Unknown_5d87: ; 5d87 (1:5d87)
+INCBIN "baserom.gbc",$5d87,$5d97 - $5d87
+
+Unknown_5d97: ; 5d97 (1:5d97)
+INCBIN "baserom.gbc",$5d97,$5db5 - $5d97
+
 ; known jump sources: 5bb2 (1:5bb2)
 Func_5db5: ; 5db5 (1:5db5)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c430
+	FuncCoord 4, 7 ; $c430
+	ld hl, Coord
 	ld b, $8
 	ld c, $e
 	call TextBoxBorder
-	ld hl, $c459
-	ld de, $5e6a
+	FuncCoord 5, 9 ; $c459
+	ld hl, Coord
+	ld de, Unknown_5e6a ; $5e6a
 	call PlaceString
-	ld hl, $c460
+	FuncCoord 12, 9 ; $c460
+	ld hl, Coord
 	ld de, W_PLAYERNAME ; $d158
 	call PlaceString
-	ld hl, $c48d
+	FuncCoord 17, 11 ; $c48d
+	ld hl, Coord
 	call Func_5e2f
-	ld hl, $c4b4
+	FuncCoord 16, 13 ; $c4b4
+	ld hl, Coord
 	call Func_5e42
-	ld hl, $c4d9
+	FuncCoord 13, 15 ; $c4d9
+	ld hl, Coord
 	call Func_5e55
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
@@ -13673,9 +13863,10 @@
 	ld bc, $8102
 	jp PrintNumber
 
+Unknown_5e6a: ; 5e6a (1:5e6a)
 INCBIN "baserom.gbc",$5e6a,$5e8a - $5e6a
 
-DisplayOptionMenu: ; 5E8A
+DisplayOptionMenu: ; 5e8a (1:5e8a)
 	FuncCoord 0,0
 	ld hl,Coord
 	ld b,3
@@ -13834,23 +14025,23 @@
 	ld [$cd3d],a ; text speed cursor X coordinate
 	jp .eraseOldMenuCursor
 
-TextSpeedOptionText: ; 5FC0
+TextSpeedOptionText: ; 5fc0 (1:5fc0)
 	db "TEXT SPEED",$4E
 	db " FAST  MEDIUM SLOW@"
 
-BattleAnimationOptionText: ; 5FDE
+BattleAnimationOptionText: ; 5fde (1:5fde)
 	db "BATTLE ANIMATION",$4E
 	db " ON       OFF@"
 
-BattleStyleOptionText: ; 5FFD
+BattleStyleOptionText: ; 5ffd (1:5ffd)
 	db "BATTLE STYLE",$4E
 	db " SHIFT    SET@"
 
-OptionMenuCancelText: ; 6018
+OptionMenuCancelText: ; 6018 (1:6018)
 	db "CANCEL@"
 
 ; sets the options variable according to the current placement of the menu cursors in the options menu
-SetOptionsFromCursorPositions: ; 601F
+SetOptionsFromCursorPositions: ; 601f (1:601f)
 	ld hl,TextSpeedOptionData
 	ld a,[$cd3d] ; text speed cursor X coordinate
 	ld c,a
@@ -13886,7 +14077,7 @@
 	ret
 
 ; reads the options variable and places menu cursors in the correct positions within the options menu
-SetCursorPositionsFromOptions: ; 604C
+SetCursorPositionsFromOptions: ; 604c (1:604c)
 	ld hl,TextSpeedOptionData + 1
 	ld a,[W_OPTIONS]
 	ld c,a
@@ -13934,7 +14125,7 @@
 ; Format:
 ; 00: X coordinate of menu cursor
 ; 01: delay after printing a letter (in frames)
-TextSpeedOptionData: ; 6096
+TextSpeedOptionData: ; 6096 (1:6096)
 	db 14,5 ; Slow
 	db  7,3 ; Medium
 	db  1,1 ; Fast
@@ -13993,17 +14184,17 @@
 	ld a, [$d08a]
 	and a
 	call z, Func_5bff
-	ld hl, $45aa
+	ld hl, NintenText ; $45aa
 	ld de, W_PLAYERNAME ; $d158
 	ld bc, $b
 	call CopyData
-	ld hl, $45b1
+	ld hl, SonyText ; $45b1
 	ld de, W_RIVALNAME ; $d34a
 	ld bc, $b
 	jp CopyData
 ; 6115 (1:6115)
 
-OakSpeech: ; 6115
+OakSpeech: ; 6115 (1:6115)
 	ld a,$FF
 	call PlaySound ; stop music
 	ld a,2     ; bank of song
@@ -14041,8 +14232,9 @@
 	ld [$D0B5],a    ; pic displayed is stored at this location
 	ld [$CF91],a
 	call GetMonHeader      ; this is also related to the pic
-	ld hl,$C3F6     ; position on tilemap the pic is displayed
-	call Func_1384      ; displays pic?
+	FuncCoord 6, 4 ; $c3f6
+	ld hl,Coord     ; position on tilemap the pic is displayed
+	call LoadFlippedFrontSpriteByMonIndex      ; displays pic?
 	call MovePicLeft
 	ld hl,OakSpeechText2
 	call PrintText      ; Prints text box
@@ -14064,7 +14256,7 @@
 	ld hl,IntroduceRivalText
 	call PrintText
 	call Func_69a4
-Function61BC: ; 0x61bc
+Function61BC: ; 61bc (1:61bc)
 	call GBFadeOut2
 	call ClearScreen
 	ld de,RedPicFront
@@ -14085,9 +14277,9 @@
 	ld [$2000],a
 	ld c,4
 	call DelayFrames
-	ld de,$4180
+	ld de,RedSprite ; $4180
 	ld hl,$8000
-	ld bc,$050C
+	ld bc,(BANK(RedSprite) << 8) +$0C
 	call CopyVideoData
 	ld de,ShrinkPic1
 	ld bc,$0400
@@ -14097,7 +14289,7 @@
 	ld de,ShrinkPic2
 	ld bc,$0400
 	call IntroPredef3B
-	call Func_28a6
+	call ResetPlayerSpriteData
 	ld a,[H_LOADEDROMBANK]
 	push af
 	ld a,2
@@ -14113,7 +14305,8 @@
 	ld [$2000],a
 	ld c,$14
 	call DelayFrames
-	ld hl,$C40A
+	FuncCoord 6, 5 ; $c40a
+	ld hl,Coord
 	ld b,7
 	ld c,7
 	call ClearScreenArea
@@ -14124,25 +14317,25 @@
 	call DelayFrames
 	call GBFadeOut2
 	jp ClearScreen
-OakSpeechText1: ; 0x6253
+OakSpeechText1: ; 6253 (1:6253)
 	TX_FAR _OakSpeechText1
 	db "@"
-OakSpeechText2: ; 0x6258
+OakSpeechText2: ; 6258 (1:6258)
 	TX_FAR _OakSpeechText2A
 	db $14
 	TX_FAR _OakSpeechText2B
 	db "@"
-IntroducePlayerText: ; 0x6262
+IntroducePlayerText: ; 6262 (1:6262)
 	TX_FAR _IntroducePlayerText
 	db "@"
-IntroduceRivalText: ; 0x6267
+IntroduceRivalText: ; 6267 (1:6267)
 	TX_FAR _IntroduceRivalText
 	db "@"
-OakSpeechText3: ; 0x626c
+OakSpeechText3: ; 626c (1:626c)
 	TX_FAR _OakSpeechText3
 	db "@"
 
-FadeInIntroPic: ; 0x6271
+FadeInIntroPic: ; 6271 (1:6271)
 	ld hl,IntroFadePalettes
 	ld b,6
 .next
@@ -14154,7 +14347,7 @@
 	jr nz,.next
 	ret
 
-IntroFadePalettes: ; 0x6282
+IntroFadePalettes: ; 6282 (1:6282)
 	db %01010100
 	db %10101000
 	db %11111100
@@ -14162,7 +14355,7 @@
 	db %11110100
 	db %11100100
 
-MovePicLeft: ; 0x6288
+MovePicLeft: ; 6288 (1:6288)
 	ld a,119
 	ld [$FF4B],a
 	call DelayFrame
@@ -14178,9 +14371,9 @@
 	ld [$FF4B],a
 	jr .next
 
-Predef3B: ; 62A1
+Predef3B: ; 62a1 (1:62a1)
 	call Load16BitRegisters
-IntroPredef3B: ; 62A4
+IntroPredef3B: ; 62a4 (1:62a4)
 	push bc
 	ld a,b
 	call UncompressSpriteFromDE
@@ -14193,9 +14386,11 @@
 	pop bc
 	ld a,c
 	and a
-	ld hl,$C3C3
+	FuncCoord 15, 1 ; $c3c3
+	ld hl,Coord
 	jr nz,.next
-	ld hl,$C3F6
+	FuncCoord 6, 4 ; $c3f6
+	ld hl,Coord
 .next
 	xor a
 	ld [$FFE1],a
@@ -14236,20 +14431,20 @@
 	ld a, [$d72d]
 	cp $ef
 	jr nz, .asm_6314
-	ld hl, $6428
+	ld hl, Unknown_6428 ; $6428
 	ld a, [$FF00+$aa]
 	cp $2
 	jr z, .asm_6334
-	ld hl, $6430
+	ld hl, Unknown_6430 ; $6430
 	jr .asm_6334
 .asm_6314
 	cp $f0
 	jr nz, .asm_6326
-	ld hl, $6438
+	ld hl, Unknown_6438 ; $6438
 	ld a, [$FF00+$aa]
 	cp $2
 	jr z, .asm_6334
-	ld hl, $6440
+	ld hl, Unknown_6440 ; $6440
 	jr .asm_6334
 .asm_6326
 	ld a, [$d732]
@@ -14257,7 +14452,7 @@
 	jr nz, .asm_6346
 	bit 2, a
 	jr nz, .asm_6346
-	ld hl, $6420
+	ld hl, FirstMapSpec ; $6420
 .asm_6334
 	ld de, W_CURMAP ; $d35e
 	ld c, $7
@@ -14289,7 +14484,7 @@
 	ld [W_CURMAP], a ; $d35e
 	ld a, [$d71e]
 	ld c, a
-	ld hl, $63bf
+	ld hl, Unknown_63bf ; $63bf
 	ld de, $0
 	ld a, $6
 	ld [$d12f], a
@@ -14309,7 +14504,7 @@
 	ld e, a
 	jr .asm_6376
 .asm_6388
-	ld hl, $63d8
+	ld hl, Unknown_63d8 ; $63d8
 	add hl, de
 	jr .asm_63a4
 .asm_638e
@@ -14317,7 +14512,7 @@
 .asm_6391
 	ld b, a
 	ld [W_CURMAP], a ; $d35e
-	ld hl, $6448
+	ld hl, FlyWarpDataPtr ; $6448
 .asm_6398
 	ld a, [hli]
 	inc hl
@@ -14348,9 +14543,13 @@
 	ld [$d42f], a
 	ret
 
-INCBIN "baserom.gbc",$63bf,$6420 - $63bf
+Unknown_63bf: ; 63bf (1:63bf)
+INCBIN "baserom.gbc",$63bf,$63d8 - $63bf
 
-FirstMapSpec: ; 0x6420
+Unknown_63d8: ; 63d8 (1:63d8)
+INCBIN "baserom.gbc",$63d8,$6420 - $63d8
+
+FirstMapSpec: ; 6420 (1:6420)
 	db REDS_HOUSE_2F ; RedsHouse2F
 ; Original Format:
 ;   [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
@@ -14359,9 +14558,19 @@
 	FLYWARP_DATA 4,6,3
 	db $04 ;Tileset_id
 
-INCBIN "baserom.gbc",$6428,$6448-$6428
+Unknown_6428: ; 6428 (1:6428)
+INCBIN "baserom.gbc",$6428,$6430 - $6428
 
-FlyWarpDataPtr: ; 0x6448
+Unknown_6430: ; 6430 (1:6430)
+INCBIN "baserom.gbc",$6430,$6438 - $6430
+
+Unknown_6438: ; 6438 (1:6438)
+INCBIN "baserom.gbc",$6438,$6440 - $6438
+
+Unknown_6440: ; 6440 (1:6440)
+INCBIN "baserom.gbc",$6440,$6448 - $6440
+
+FlyWarpDataPtr: ; 6448 (1:6448)
 	db $00,0
 	dw Map00FlyWarp
 	db $01,0
@@ -14393,31 +14602,31 @@
 ;   [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
 ; Macro Format:
 ;   FLYWARP_DATA [Map Width][Y-pos][X-pos]
-Map00FlyWarp: ; 0x647c
+Map00FlyWarp: ; 647c (1:647c)
 	FLYWARP_DATA 10,6,5
-Map01FlyWarp: ; 0x6482
+Map01FlyWarp: ; 6482 (1:6482)
 	FLYWARP_DATA 20,26,23
-Map02FlyWarp: ; 0x6488
+Map02FlyWarp: ; 6488 (1:6488)
 	FLYWARP_DATA 20,26,13
-Map03FlyWarp: ; 0x648e
+Map03FlyWarp: ; 648e (1:648e)
 	FLYWARP_DATA 20,18,19
-Map04FlyWarp: ; 0x6494
+Map04FlyWarp: ; 6494 (1:6494)
 	FLYWARP_DATA 10,6,3
-Map05FlyWarp: ; 0x649a
+Map05FlyWarp: ; 649a (1:649a)
 	FLYWARP_DATA 20,4,11
-Map06FlyWarp: ; 0x64a0
+Map06FlyWarp: ; 64a0 (1:64a0)
 	FLYWARP_DATA 25,10,41
-Map07FlyWarp: ; 0x64a6
+Map07FlyWarp: ; 64a6 (1:64a6)
 	FLYWARP_DATA 20,28,19
-Map08FlyWarp: ; 0x64ac
+Map08FlyWarp: ; 64ac (1:64ac)
 	FLYWARP_DATA 10,12,11
-Map09FlyWarp: ; 0x64b2
+Map09FlyWarp: ; 64b2 (1:64b2)
 	FLYWARP_DATA 10,6,9
-Map0aFlyWarp: ; 0x64b8
+Map0aFlyWarp: ; 64b8 (1:64b8)
 	FLYWARP_DATA 20,30,9
-Map0fFlyWarp: ; 0x64be
+Map0fFlyWarp: ; 64be (1:64be)
 	FLYWARP_DATA 45,6,11
-Map15FlyWarp: ; 0x64c4
+Map15FlyWarp: ; 64c4 (1:64c4)
 	FLYWARP_DATA 10,20,11
 
 INCBIN "baserom.gbc",$64ca,$64ea - $64ca
@@ -14428,12 +14637,12 @@
 
 ; known jump sources: e834 (3:6834), f33c (3:733c)
 Func_64eb: ; 64eb (1:64eb)
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	call Load16BitRegisters
 	push hl
 	ld a, [W_ISINBATTLE] ; $d057
 	dec a
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $4
 	ld c, $b
 	call z, ClearScreenArea
@@ -14440,9 +14649,10 @@
 	ld a, [$cf91]
 	ld [$d11e], a
 	call GetMonName
-	ld hl, $6557
+	ld hl, UnnamedText_6557 ; $6557
 	call PrintText
-	ld hl, $c43a
+	FuncCoord 14, 7 ; $c43a
+	ld hl, Coord
 	ld bc, $80f
 	ld a, $14
 	ld [$d125], a
@@ -14464,7 +14674,7 @@
 	jr nz, .asm_653e
 	call Func_3e08
 .asm_653e
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	pop hl
 	pop af
 	ld [$cfcb], a
@@ -14478,7 +14688,7 @@
 	ld bc, $b
 	jp CopyData
 ; 6557 (1:6557)
-UnnamedText_6557: ; 0x6557
+UnnamedText_6557: ; 6557 (1:6557)
 	TX_FAR _UnnamedText_6557
 	db $50
 ; 0x6557 + 5 bytes
@@ -14527,7 +14737,8 @@
 	ld b, BANK(Func_7176c)
 	ld hl, Func_7176c
 	call Bankswitch ; indirect jump to Func_7176c (7176c (1c:576c))
-	ld hl, $c3f0
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	ld b, $9
 	ld c, $12
 	call TextBoxBorder
@@ -14549,6 +14760,7 @@
 	ld [hli], a
 	ld [hli], a
 	ld [W_SUBANIMTRANSFORM], a ; $d08b
+.asm_65ed
 	call Func_676f
 	call GBPalNormal
 	ld a, [$ceea]
@@ -14565,10 +14777,10 @@
 	pop af
 	ld [W_CURMENUITEMID], a ; $cc26
 	call GetJoypadStateLowSensitivity
-	ld a, [$FF00+$b3]
+	ld a, [H_NEWLYPRESSEDBUTTONS]
 	and a
 	jr z, .asm_65ff
-	ld hl, $665e
+	ld hl, .unknown_665e ; $665e
 .asm_661a
 	sla a
 	jr c, .asm_6624
@@ -14608,10 +14820,12 @@
 	ld b, BANK(Func_3ee5b)
 	jp Bankswitch ; indirect jump to Func_3ee5b (3ee5b (f:6e5b))
 
+.unknown_665e: ; 665e (1:665e)
 INCBIN "baserom.gbc",$665e,$667e - $665e
+
 .asm_667e
 	pop de
-	ld de, $65ed
+	ld de, .asm_65ed ; $65ed
 	push de
 	ld a, [$ceeb]
 	xor $1
@@ -14645,10 +14859,10 @@
 	call Func_68eb
 	ld a, [$ceed]
 	cp $e5
-	ld de, $6885
+	ld de, Unknown_6885 ; $6885
 	jr z, .asm_66e3
 	cp $e4
-	ld de, $68d6
+	ld de, Unknown_68d6 ; $68d6
 	jr z, .asm_66e3
 	ld a, [$d07d]
 	cp $2
@@ -14736,11 +14950,12 @@
 
 ; known jump sources: 65ad (1:65ad)
 Func_675b: ; 675b (1:675b)
-	ld de, $6767
+	ld de, Unknown_6767 ; $6767
 	ld hl, $8f00
 	ld bc, $1
 	jp CopyVideoDataDouble
 
+Unknown_6767: ; 6767 (1:6767)
 INCBIN "baserom.gbc",$6767,$676f - $6767
 
 ; known jump sources: 65ed (1:65ed)
@@ -14749,11 +14964,12 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ld a, [$ceeb]
 	and a
-	ld de, $679e
+	ld de, Unknown_679e ; $679e
 	jr nz, .asm_677e
-	ld de, $67d6
+	ld de, Unknown_67d6 ; $67d6
 .asm_677e
-	ld hl, $c406
+	FuncCoord 2, 5 ; $c406
+	ld hl, Coord
 	ld bc, $509
 .asm_6784
 	push bc
@@ -14774,20 +14990,27 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	jp Delay3
 
-INCBIN "baserom.gbc",$679e,$680e - $679e
+Unknown_679e: ; 679e (1:679e)
+INCBIN "baserom.gbc",$679e,$67d6 - $679e
 
+Unknown_67d6: ; 67d6 (1:67d6)
+INCBIN "baserom.gbc",$67d6,$680e - $67d6
+
 ; known jump sources: 65f9 (1:65f9)
 Func_680e: ; 680e (1:680e)
 	call Func_68eb
 	ld a, c
 	ld [$cee9], a
-	ld hl, $c3d2
+	FuncCoord 10, 2 ; $c3d2
+	ld hl, Coord
 	ld bc, $10a
 	call ClearScreenArea
-	ld hl, $c3d2
+	FuncCoord 10, 2 ; $c3d2
+	ld hl, Coord
 	ld de, $cf4b
 	call PlaceString
-	ld hl, $c3e6
+	FuncCoord 10, 3 ; $c3e6
+	ld hl, Coord
 	ld a, [$d07d]
 	cp $2
 	jr nc, .asm_6835
@@ -14824,7 +15047,8 @@
 .asm_6867
 	ld c, a
 	ld b, $0
-	ld hl, $c3e6
+	FuncCoord 10, 3 ; $c3e6
+	ld hl, Coord
 	add hl, bc
 	ld [hl], $77
 	ret
@@ -14844,8 +15068,12 @@
 	ld [$ceed], a
 	ret
 
-INCBIN "baserom.gbc",$6885,$68eb - $6885
+Unknown_6885: ; 6885 (1:6885)
+INCBIN "baserom.gbc",$6885,$68d6 - $6885
 
+Unknown_68d6: ; 68d6 (1:68d6)
+INCBIN "baserom.gbc",$68d6,$68eb - $68d6
+
 ; known jump sources: 66b9 (1:66b9), 66fb (1:66fb), 680e (1:680e), 6872 (1:6872)
 Func_68eb: ; 68eb (1:68eb)
 	ld hl, $cf4b
@@ -14860,12 +15088,13 @@
 
 ; known jump sources: 65c2 (1:65c2)
 Func_68f8: ; 68f8 (1:68f8)
-	ld hl, $c3b4
+	FuncCoord 0, 1 ; $c3b4
+	ld hl, Coord
 	ld a, [$d07d]
-	ld de, $693f
+	ld de, Unknown_693f ; $693f
 	and a
 	jr z, .asm_6934
-	ld de, $6945
+	ld de, Unknown_6945 ; $6945
 	dec a
 	jr z, .asm_6934
 	ld a, [$cf91]
@@ -14877,33 +15106,45 @@
 	pop af
 	ld [$d11e], a
 	call GetMonName
-	ld hl, $c3b8
+	FuncCoord 4, 1 ; $c3b8
+	ld hl, Coord
 	call PlaceString
 	ld hl, $1
 	add hl, bc
 	ld [hl], $c9
-	ld hl, $c3dd
-	ld de, $6953
+	FuncCoord 1, 3 ; $c3dd
+	ld hl, Coord
+	ld de, Unknown_6953 ; $6953
 	jr .asm_693c
 .asm_6934
 	call PlaceString
 	ld l, c
 	ld h, b
-	ld de, $694d
+	ld de, Unknown_694d ; $694d
 .asm_693c
 	jp PlaceString
 
-INCBIN "baserom.gbc",$693f,$695d - $693f
+Unknown_693f: ; 693f (1:693f)
+INCBIN "baserom.gbc",$693f,$6945 - $693f
 
+Unknown_6945: ; 6945 (1:6945)
+INCBIN "baserom.gbc",$6945,$694d - $6945
+
+Unknown_694d: ; 694d (1:694d)
+INCBIN "baserom.gbc",$694d,$6953 - $694d
+
+Unknown_6953: ; 6953 (1:6953)
+INCBIN "baserom.gbc",$6953,$695d - $6953
+
 ; known jump sources: 619e (1:619e)
 Func_695d: ; 695d (1:695d)
 	call Unnamed_6a12
-	ld de, $6aa8
+	ld de, DefaultNamesPlayer ; $6aa8
 	call Func_6a6c
 	ld a, [W_CURMENUITEMID] ; $cc26
 	and a
 	jr z, .asm_697a
-	ld hl, $6af2
+	ld hl, DefaultNamesPlayerList ; $6af2
 	call Func_6ad6
 	ld de, W_PLAYERNAME ; $d158
 	call Func_69ec
@@ -14918,19 +15159,19 @@
 	jr z, .asm_697a
 	call ClearScreen
 	call Delay3
-	ld de, $6ede
+	ld de, RedPicFront ; $6ede
 	ld b, $4
 	call IntroPredef3B
 .asm_6999
-	ld hl, $699f
+	ld hl, UnnamedText_699f ; $699f
 	jp PrintText
 ; 699f (1:699f)
-UnnamedText_699f: ; 0x699f
+UnnamedText_699f: ; 699f (1:699f)
 	TX_FAR _UnnamedText_699f
 	db $50
 ; 0x699f + 5 bytes
 
-Func_69a4: ; 0x69a4
+Func_69a4: ; 69a4 (1:69a4)
 	call Unnamed_6a12 ; 0x69a4 call 0x6a12
 	ld de, DefaultNamesRival
 	call Func_6a6c
@@ -14952,14 +15193,14 @@
 	jr z, .asm_69c1
 	call ClearScreen
 	call Delay3
-	ld de, $6049
+	ld de, Rival1Pic ; $6049
 	ld b, $13
 	call IntroPredef3B
 .asm_69e1
-	ld hl, $69e7
+	ld hl, UnnamedText_69e7 ; $69e7
 	jp PrintText
 ; 69e7 (1:69e7)
-UnnamedText_69e7: ; 0x69e7
+UnnamedText_69e7: ; 69e7 (1:69e7)
 	TX_FAR _UnnamedText_69e7
 	db $50
 ; 0x69e7 + 5 bytes
@@ -14967,7 +15208,7 @@
 ; known jump sources: 6975 (1:6975), 69bc (1:69bc)
 Func_69ec: ; 69ec (1:69ec)
 	push de
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $c0b
 	call ClearScreenArea
 	ld c, $a
@@ -14977,13 +15218,15 @@
 	ld bc, $b
 	call CopyData
 	call Delay3
-	ld hl, $c3fc
+	FuncCoord 12, 4 ; $c3fc
+	ld hl, Coord
 	ld de, $67d
 	ld a, $ff
 	jr asm_6a19
 ; 6a12 (1:6a12)
-Unnamed_6a12: ; 0x6a12
-	ld hl, $c3f5
+Unnamed_6a12: ; 6a12 (1:6a12)
+	FuncCoord 5, 4 ; $c3f5
+	ld hl, Coord
 	ld de, $67d
 	xor a
 asm_6a19: ; 6a19 (1:6a19)
@@ -15057,15 +15300,17 @@
 ; known jump sources: 6963 (1:6963), 69aa (1:69aa)
 Func_6a6c: ; 6a6c (1:6a6c)
 	push de
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $a
 	ld c, $9
 	call TextBoxBorder
-	ld hl, $c3a3
-	ld de, $6aa3
+	FuncCoord 3, 0 ; $c3a3
+	ld hl, Coord
+	ld de, Unknown_6aa3 ; $6aa3
 	call PlaceString
 	pop de
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	call PlaceString
 	call UpdateSprites
 	xor a
@@ -15080,18 +15325,19 @@
 	ld [W_MAXMENUITEMID], a ; $cc28
 	jp HandleMenuInput
 
+Unknown_6aa3: ; 6aa3 (1:6aa3)
 INCBIN "baserom.gbc",$6aa3,$6aa8 - $6aa3
 
 IF _RED
-DefaultNamesPlayer: ; 0x6aa8 22
+DefaultNamesPlayer: ; 6aa8 (1:6aa8)
 	db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
-DefaultNamesRival: ; 0x6abe 24
+DefaultNamesRival: ; 6abe (1:6abe)
 	db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
 ENDC
 IF _BLUE
-DefaultNamesPlayer:
+DefaultNamesPlayer: ; 6aa8 (1:6aa8)
 	db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
-DefaultNamesRival:
+DefaultNamesRival: ; 6abe (1:6abe)
 	db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
 ENDC
 
@@ -15119,21 +15365,24 @@
 	jp CopyData
 ; 6af2 (1:6af2)
 IF _RED
-DefaultNamesPlayerList: ; 0x6AF2 22
+DefaultNamesPlayerList: ; 6af2 (1:6af2)
 	db "NEW NAME@RED@ASH@JACK@"
-DefaultNamesRivalList: ; 0x6b08 25
-	db "NEW NAME@BLUE@GARY@JOHN@@"
+DefaultNamesRivalList: ; 6b08 (1:6b08)
+	db "NEW NAME@BLUE@GARY@JOHN@"
 ENDC
 IF _BLUE
-DefaultNamesPlayerList:
+DefaultNamesPlayerList: ; 6af2 (1:6af2)
 	db "NEW NAME@BLUE@GARY@JOHN@"
-DefaultNamesRivalList:
-	db "NEW NAME@RED@ASH@JACK@@"
+DefaultNamesRivalList: ; 6b08 (1:6b08)
+	db "NEW NAME@RED@ASH@JACK@"
 ENDC
 
+Unknown_6b20: ; 6b20 (1:6b20)
+	db "@"
+
 ; subtracts the amount the player paid from their money
 ; sets carry flag if there is enough money and unsets carry flag if not
-SubtractAmountPaidFromMoney_: ; 6B21
+SubtractAmountPaidFromMoney_: ; 6b21 (1:6b21)
 	ld de,W_PLAYERMONEY3
 	ld hl,$ff9f ; total price of items
 	ld c,3 ; length of money in bytes
@@ -15150,7 +15399,7 @@
 	and a
 	ret
 
-HandleItemListSwapping: ; 6B44
+HandleItemListSwapping: ; 6b44 (1:6b44)
 	ld a,[W_LISTMENUID]
 	cp a,ITEMLISTMENU
 	jp nz,DisplayListMenuIDLoop ; only rearrange item list menus
@@ -15300,7 +15549,7 @@
 	pop hl
 	jp DisplayListMenuIDLoop
 
-DisplayPokemartDialogue_: ; 6C20
+DisplayPokemartDialogue_: ; 6c20 (1:6c20)
 	ld a,[W_LISTSCROLLOFFSET]
 	ld [$d07e],a
 	call UpdateSprites ; move sprites
@@ -15346,9 +15595,9 @@
 	jp z,.bagEmpty
 	ld hl,PokemonSellingGreetingText
 	call PrintText
-	call Func_3719 ; save screen
+	call SaveScreenTilesToBuffer1 ; save screen
 .sellMenuLoop
-	call Func_3725 ; restore saved screen
+	call LoadScreenTilesFromBuffer1 ; restore saved screen
 	ld a,$13
 	ld [$d125],a
 	call DisplayTextBoxID ; draw money text box
@@ -15411,7 +15660,7 @@
 .bagEmpty
 	ld hl,PokemartItemBagEmptyText
 	call PrintText
-	call Func_3719 ; save screen
+	call SaveScreenTilesToBuffer1 ; save screen
 	jp .returnToMainPokemartMenu
 .buyMenu
 	ld a,$01
@@ -15423,9 +15672,9 @@
 	call Bankswitch
 	ld hl,PokemartBuyingGreetingText
 	call PrintText
-	call Func_3719 ; save screen
+	call SaveScreenTilesToBuffer1 ; save screen
 .buyMenuLoop
-	call Func_3725 ; restore saved screen
+	call LoadScreenTilesFromBuffer1 ; restore saved screen
 	ld a,$13
 	ld [$d125],a
 	call DisplayTextBoxID ; draw money text box
@@ -15481,13 +15730,13 @@
 	ld [$cf0a],a
 .skipSettingFlag2
 	ld a,$b2
-	call Func_3740 ; play sound
-	call Func_3748 ; wait until sound is done playing
+	call PlaySoundWaitForCurrent ; play sound
+	call WaitForSoundToFinish ; wait until sound is done playing
 	ld hl,PokemartBoughtItemText
 	call PrintText
 	jp .buyMenuLoop
 .returnToMainPokemartMenu
-	call Func_3725 ; restore save screen
+	call LoadScreenTilesFromBuffer1 ; restore save screen
 	ld a,$13
 	ld [$d125],a
 	call DisplayTextBoxID ; draw money text box
@@ -15517,53 +15766,53 @@
 	ld [W_LISTSCROLLOFFSET],a
 	ret
 
-PokemartBuyingGreetingText: ; 0x6e0c
+PokemartBuyingGreetingText: ; 6e0c (1:6e0c)
 	TX_FAR _PokemartBuyingGreetingText
 	db $50
 
-PokemartTellBuyPrice: ; 0x6e11
+PokemartTellBuyPrice: ; 6e11 (1:6e11)
 	TX_FAR _PokemartTellBuyPrice
 	db $50
 
-PokemartBoughtItemText: ; 0x6e16
+PokemartBoughtItemText: ; 6e16 (1:6e16)
 	TX_FAR _PokemartBoughtItemText
 	db $50
 
-PokemartNotEnoughMoneyText: ; 0x6e1b
+PokemartNotEnoughMoneyText: ; 6e1b (1:6e1b)
 	TX_FAR _PokemartNotEnoughMoneyText
 	db $50
 
-PokemartItemBagFullText: ; 0x6e20
+PokemartItemBagFullText: ; 6e20 (1:6e20)
 	TX_FAR _PokemartItemBagFullText
 	db $50
 
-PokemonSellingGreetingText: ; 0x6e25
+PokemonSellingGreetingText: ; 6e25 (1:6e25)
 	TX_FAR _PokemonSellingGreetingText
 	db $50
 
-PokemartTellSellPrice: ; 0x6e2a
+PokemartTellSellPrice: ; 6e2a (1:6e2a)
 	TX_FAR _PokemartTellSellPrice
 	db $50
 
-PokemartItemBagEmptyText: ; 0x6e2f
+PokemartItemBagEmptyText: ; 6e2f (1:6e2f)
 	TX_FAR _PokemartItemBagEmptyText
 	db $50
 
-PokemartUnsellableItemText: ; 0x6e34
+PokemartUnsellableItemText: ; 6e34 (1:6e34)
 	TX_FAR _PokemartUnsellableItemText
 	db $50
 
-PokemartThankYouText: ; 0x6e39
+PokemartThankYouText: ; 6e39 (1:6e39)
 	TX_FAR _PokemartThankYouText
 	db $50
 
-PokemartAnythingElseText: ; 0x6e3e
+PokemartAnythingElseText: ; 6e3e (1:6e3e)
 	TX_FAR _PokemartAnythingElseText
 	db $50
 
 ; known jump sources: e537 (3:6537), 3afae (e:6fae)
 Func_6e43: ; 6e43 (1:6e43)
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	ld hl, W_PARTYMON1NAME ; $d2b5
 	call GetPartyMonName
@@ -15596,7 +15845,7 @@
 	push de
 	ld [$d11e], a
 	call GetMoveName
-	ld hl, $6fc8
+	ld hl, UnnamedText_6fc8 ; $6fc8
 	call PrintText
 	pop de
 	pop hl
@@ -15608,11 +15857,11 @@
 	push hl
 	push de
 	dec a
-	ld hl, $4000
+	ld hl, Moves ; $4000
 	ld bc, $6
 	call AddNTimes
 	ld de, $cee9
-	ld a, $e
+	ld a, BANK(Moves)
 	call FarCopyData
 	ld a, [$ceee]
 	pop de
@@ -15628,7 +15877,7 @@
 	jp nz, Func_6efe
 	ld h, d
 	ld l, e
-	ld de, $d01c
+	ld de, W_PLAYERMONMOVES
 	ld bc, $4
 	call CopyData
 	ld bc, $11
@@ -15640,9 +15889,10 @@
 
 ; known jump sources: 6e78 (1:6e78)
 Func_6eda: ; 6eda (1:6eda)
-	ld hl, $6fb9
+	ld hl, UnnamedText_6fb9 ; $6fb9
 	call PrintText
-	ld hl, $c43a
+	FuncCoord 14, 7 ; $c43a
+	ld hl, Coord
 	ld bc, $80f
 	ld a, $14
 	ld [$d125], a
@@ -15650,7 +15900,7 @@
 	ld a, [W_CURMENUITEMID] ; $cc26
 	and a
 	jp nz, Func_6e5b
-	ld hl, $6fbe
+	ld hl, UnnamedText_6fbe ; $6fbe
 	call PrintText
 	ld b, $0
 	ret
@@ -15657,7 +15907,7 @@
 
 ; known jump sources: 6eb1 (1:6eb1), 6ebc (1:6ebc), 6ed7 (1:6ed7)
 Func_6efe: ; 6efe (1:6efe)
-	ld hl, $6fad
+	ld hl, Unknown_6fad ; $6fad
 	call PrintText
 	ld b, $1
 	ret
@@ -15665,9 +15915,10 @@
 ; known jump sources: 6e74 (1:6e74)
 Func_6f07: ; 6f07 (1:6f07)
 	push hl
-	ld hl, $6fc3
+	ld hl, UnnamedText_6fc3 ; $6fc3
 	call PrintText
-	ld hl, $c43a
+	FuncCoord 14, 7 ; $c43a
+	ld hl, Coord
 	ld bc, $80f
 	ld a, $14
 	ld [$d125], a
@@ -15688,13 +15939,15 @@
 	pop hl
 .asm_6f39
 	push hl
-	ld hl, $6fb4
+	ld hl, UnnamedText_6fb4 ; $6fb4
 	call PrintText
-	ld hl, $c430
+	FuncCoord 4, 7 ; $c430
+	ld hl, Coord
 	ld b, $4
 	ld c, $e
 	call TextBoxBorder
-	ld hl, $c446
+	FuncCoord 6, 8 ; $c446
+	ld hl, Coord
 	ld de, $d0e1
 	ld a, [$FF00+$f6]
 	set 2, a
@@ -15722,7 +15975,7 @@
 	ld hl, $fff6
 	res 1, [hl]
 	push af
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	pop af
 	pop hl
 	bit 1, a
@@ -15745,7 +15998,7 @@
 	and a
 	ret
 .asm_6fa2
-	ld hl, $6fe1
+	ld hl, UnnamedText_6fe1 ; $6fe1
 	call PrintText
 	pop hl
 	jr .asm_6f39
@@ -15753,53 +16006,54 @@
 	scf
 	ret
 
+Unknown_6fad: ; 6fad (1:6fad)
 INCBIN "baserom.gbc",$6fad,$6fb4 - $6fad
 
-UnnamedText_6fb4: ; 0x6fb4
+UnnamedText_6fb4: ; 6fb4 (1:6fb4)
 	TX_FAR _UnnamedText_6fb4
 	db $50
 ; 0x6fb4 + 5 bytes
 
-UnnamedText_6fb9: ; 0x6fb9
+UnnamedText_6fb9: ; 6fb9 (1:6fb9)
 	TX_FAR _UnnamedText_6fb9
 	db $50
 ; 0x6fb9 + 5 bytes
 
-UnnamedText_6fbe: ; 0x6fbe
+UnnamedText_6fbe: ; 6fbe (1:6fbe)
 	TX_FAR _UnnamedText_6fbe
 	db $50
 ; 0x6fbe + 5 bytes
 
-UnnamedText_6fc3: ; 0x6fc3
+UnnamedText_6fc3: ; 6fc3 (1:6fc3)
 	TX_FAR _UnnamedText_6fc3
 	db $50
 ; 0x6fc3 + 5 bytes
 
-UnnamedText_6fc8: ; 0x6fc8
+UnnamedText_6fc8: ; 6fc8 (1:6fc8)
 	TX_FAR _UnnamedText_6fc8 ; 0xa2819
 	db $a
 	db $8
 	ld a, $ae
-	call Func_3740
-	ld hl, $6fd7
+	call PlaySoundWaitForCurrent
+	ld hl, UnnamedText_6fd7 ; $6fd7
 	ret
 ; 0x6fd7
 
-UnnamedText_6fd7: ; 0x6fd7
+UnnamedText_6fd7: ; 6fd7 (1:6fd7)
 	TX_FAR _UnnamedText_6fd7 ; 0xa2827
 	db $a ; 0x6fdb
-UnnamedText_6fdc: ; 0x6fdc
+UnnamedText_6fdc: ; 6fdc (1:6fdc)
 	TX_FAR _UnnamedText_6fdc
 	db $50
 ; 0x6fe1
 
-UnnamedText_6fe1: ; 0x6fe1
+UnnamedText_6fe1: ; 6fe1 (1:6fe1)
 	TX_FAR _UnnamedText_6fe1
 	db $50
 ; 0x6fe1 + 5 bytes
 
-DisplayPokemonCenterDialogue_: ; 0x6fe6
-	call Func_3719 ; save screen
+DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
+	call SaveScreenTilesToBuffer1 ; save screen
 	ld hl, PokemonCenterWelcomeText
 	call PrintText
 	ld hl, $d72e
@@ -15810,12 +16064,12 @@
 	ld hl, ShallWeHealYourPokemonText
 	call PrintText
 .skipShallWeHealYourPokemon
-	call Func_360a ; yes/no menu
+	call YesNoChoicePokeCenter ; yes/no menu
 	ld a, [W_CURMENUITEMID]
 	and a
 	jr nz, .declinedHealing ; if the player chose No
 	call Unknown_7078
-	call Func_3725 ; restore screen
+	call LoadScreenTilesFromBuffer1 ; restore screen
 	ld hl, NeedYourPokemonText
 	call PrintText
 	ld a, $18
@@ -15841,35 +16095,35 @@
 	call DelayFrames
 	jr .done
 .declinedHealing
-	call Func_3725 ; restore screen
+	call LoadScreenTilesFromBuffer1 ; restore screen
 .done
 	ld hl, PokemonCenterFarewellText
 	call PrintText
 	jp UpdateSprites ; move sprites
 
-PokemonCenterWelcomeText: ; 0x705d
+PokemonCenterWelcomeText: ; 705d (1:705d)
 	TX_FAR _PokemonCenterWelcomeText
 	db $50
 
-ShallWeHealYourPokemonText: ; 0x7062
+ShallWeHealYourPokemonText: ; 7062 (1:7062)
 	db $a
 	TX_FAR _ShallWeHealYourPokemonText
 	db $50
 
-NeedYourPokemonText: ; 0x7068
+NeedYourPokemonText: ; 7068 (1:7068)
 	TX_FAR _NeedYourPokemonText
 	db $50
 
-PokemonFightingFitText: ; 0x706d
+PokemonFightingFitText: ; 706d (1:706d)
 	TX_FAR _PokemonFightingFitText
 	db $50
 
-PokemonCenterFarewellText: ; 0x7073
+PokemonCenterFarewellText: ; 7072 (1:7072)
 	db $a
 	TX_FAR _PokemonCenterFarewellText
 	db $50
 
-Unknown_7078: ; 0x7078
+Unknown_7078: ; 7078 (1:7078)
 	push hl
 	ld hl, SafariZoneRestHouses
 	ld a, [W_CURMAP]
@@ -15889,7 +16143,7 @@
 	ret
 ; 0x7092
 
-SafariZoneRestHouses: ; 0x7092
+SafariZoneRestHouses: ; 7092 (1:7092)
 	db SAFARI_ZONE_REST_HOUSE_2
 	db SAFARI_ZONE_REST_HOUSE_3
 	db SAFARI_ZONE_REST_HOUSE_4
@@ -15896,7 +16150,7 @@
 	db $ff ; terminator
 
 ; function that performs initialization for DisplayTextID
-DisplayTextIDInit: ; 7096
+DisplayTextIDInit: ; 7096 (1:7096)
 	xor a
 	ld [$cf94],a
 	ld a,[$cf0c]
@@ -15911,18 +16165,21 @@
 	ld a,[$d74b]
 	bit 5,a ; does the player have the pokedex?
 ; start menu with pokedex
-	ld hl,$c3aa
+	FuncCoord 10, 0 ; $c3aa
+	ld hl,Coord
 	ld b,$0e
 	ld c,$08
 	jr nz,.drawTextBoxBorder
 ; start menu without pokedex
-	ld hl,$c3aa
+	FuncCoord 10, 0 ; $c3aa
+	ld hl,Coord
 	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
+	FuncCoord 0, 12 ; $c490
+	ld hl,Coord
 	ld b,$04
 	ld c,$12
 .drawTextBoxBorder
@@ -15930,7 +16187,7 @@
 .skipDrawingTextBoxBorder
 	ld hl,$cfc4
 	set 0,[hl]
-	ld hl,$cd60
+	ld hl,W_FLAGS_CD60
 	bit 4,[hl]
 	res 4,[hl]
 	jr nz,.skipMovingSprites
@@ -15967,7 +16224,7 @@
 	dec c
 	jr nz,.spriteStandStillLoop
 	ld b,$9c ; window background address
-	call Func_18d6 ; transfer background in WRAM to VRAM
+	call CopyScreenTileBufferToVRAM ; transfer background in WRAM to VRAM
 	xor a
 	ld [$ffb0],a ; put the window on the screen
 	call LoadFontTilePatterns
@@ -15976,16 +16233,18 @@
 	ret
 
 ; function that displays the start menu
-DrawStartMenu: ; 710B
+DrawStartMenu: ; 710b (1:710b)
 	ld a,[$d74b]
 	bit 5,a ; does the player have the pokedex?
 ; menu with pokedex
-	ld hl,$c3aa
+	FuncCoord 10, 0 ; $c3aa
+	ld hl,Coord
 	ld b,$0e
 	ld c,$08
 	jr nz,.drawTextBoxBorder
 ; shorter menu if the player doesn't have the pokedex
-	ld hl,$c3aa
+	FuncCoord 10, 0 ; $c3aa
+	ld hl,Coord
 	ld b,$0c
 	ld c,$08
 .drawTextBoxBorder
@@ -16003,7 +16262,8 @@
 	ld [$cc37],a
 	ld hl,$d730
 	set 6,[hl] ; no pauses between printing each letter
-	ld hl,$c3d4
+	FuncCoord 12, 2 ; $c3d4
+	ld hl,Coord
 	ld a,[$d74b]
 	bit 5,a ; does the player have the pokedex?
 ; case for not having pokdex
@@ -16038,28 +16298,28 @@
 	res 6,[hl] ; turn pauses between printing letters back on
 	ret
 
-StartMenuPokedexText: ; 718F
+StartMenuPokedexText: ; 718f (1:718f)
 db "POKéDEX@"
 
-StartMenuPokemonText: ; 7197
+StartMenuPokemonText: ; 7197 (1:7197)
 db "POKéMON@"
 
-StartMenuItemText: ; 719F
+StartMenuItemText: ; 719f (1:719f)
 db "ITEM@"
 
-StartMenuSaveText: ; 71A4
+StartMenuSaveText: ; 71a4 (1:71a4)
 db "SAVE@"
 
-StartMenuResetText: ; 71A9
+StartMenuResetText: ; 71a9 (1:71a9)
 db "RESET@"
 
-StartMenuExitText: ; 71AF
+StartMenuExitText: ; 71af (1:71af)
 db "EXIT@"
 
-StartMenuOptionText: ; 71B4
+StartMenuOptionText: ; 71b4 (1:71b4)
 db "OPTION@"
 
-PrintStartMenuItem: ; 71BB
+PrintStartMenuItem: ; 71bb (1:71bb)
 	push hl
 	call PlaceString
 	pop hl
@@ -16067,8 +16327,8 @@
 	add hl,de
 	ret
 
-Unknown_71c5: ; 0x71c5
-	ld hl, $72b8
+Unknown_71c5: ; 71c5 (1:71c5)
+	ld hl, UnnamedText_72b8 ; $72b8
 	call PrintText
 	ld a, [$d74b]
 	bit 5, a
@@ -16075,12 +16335,12 @@
 	jp nz, Unknown_71e1
 	ld c, $3c
 	call DelayFrames
-	ld hl, $72d2
+	ld hl, UnnamedText_72d2 ; $72d2
 	call PrintText
 	jp Func_7298
 ; 0x71e1
 
-Unknown_71e1: ; 0x71e1
+Unknown_71e1: ; 71e1 (1:71e1)
 	ld a, $1
 	ld [$cc34], a
 	ld a, $5a
@@ -16115,11 +16375,11 @@
 	call Func_22ed
 	ld c, $32
 	call DelayFrames
-	ld hl, $72bd
+	ld hl, UnnamedText_72bd ; $72bd
 	call PrintText
 	xor a
 	ld [$cc34], a
-	call Func_35ec
+	call YesNoChoice
 	ld a, $1
 	ld [$cc34], a
 	ld a, [$cc26]
@@ -16128,10 +16388,10 @@
 	ld hl, Func_73848
 	ld b, BANK(Func_73848)
 	call Bankswitch
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $b6
-	call Func_3740
-	ld hl, $72c2
+	call PlaySoundWaitForCurrent
+	ld hl, UnnamedText_72c2 ; $72c2
 	call PrintText
 	ld hl, $cc47
 	ld a, $3
@@ -16155,20 +16415,20 @@
 	dec b
 	jr nz, .asm_7273 ; 0x727a $f7
 	call Func_72d7
-	ld hl, $72c8
+	ld hl, UnnamedText_72c8 ; $72c8
 	call PrintText
 	jr Func_7298 ; 0x7285 $11
 .asm_7287
-	ld hl, $72b3
+	ld hl, UnnamedText_72b3 ; $72b3
 	call PrintText
 	jr Func_7298 ; 0x728d $9
 .asm_728f
 	call Func_72d7
-	ld hl, $72cd
+	ld hl, UnnamedText_72cd ; $72cd
 	call PrintText
 	; fall through
 
-Func_7298: ; 0x7298
+Func_7298: ; 7298 (1:7298)
 	xor a
 	ld hl, $cc47
 	ld [hli], a
@@ -16179,7 +16439,7 @@
 	ld [$cc34], a
 	ret
 
-Func_72a8: ; 0x72a8
+Func_72a8: ; 72a8 (1:72a8)
 	xor a
 	ld [hld], a
 	ld [hl], a
@@ -16188,36 +16448,36 @@
 	jp Bankswitch
 ; 0x72b3
 
-UnnamedText_72b3: ; 0x72b3
+UnnamedText_72b3: ; 72b3 (1:72b3)
 	TX_FAR _UnnamedText_72b3
 	db $50
 ; 0x72b3 + 5 bytes
 
-UnnamedText_72b8: ; 0x72b8
+UnnamedText_72b8: ; 72b8 (1:72b8)
 	TX_FAR _UnnamedText_72b8
 	db $50
 ; 0x72b8 + 5 bytes
 
-UnnamedText_72bd: ; 0x72bd
+UnnamedText_72bd: ; 72bd (1:72bd)
 	TX_FAR _UnnamedText_72bd
 	db $50
 ; 0x72bd + 5 bytes
 
-UnnamedText_72c2: ; 0x72c2
+UnnamedText_72c2: ; 72c2 (1:72c2)
 	TX_FAR UnnamedText_a29cc
 	db $a, $50
 
-UnnamedText_72c8: ; 0x72c8
+UnnamedText_72c8: ; 72c8 (1:72c8)
 	TX_FAR _UnnamedText_72c8
 	db $50
 ; 0x72c8 + 5 bytes
 
-UnnamedText_72cd: ; 0x72cd
+UnnamedText_72cd: ; 72cd (1:72cd)
 	TX_FAR _UnnamedText_72cd
 	db $50
 ; 0x72cd + 5 bytes
 
-UnnamedText_72d2: ; 0x72d2
+UnnamedText_72d2: ; 72d2 (1:72d2)
 	TX_FAR _UnnamedText_72d2
 	db $50
 ; 0x72d2 + 5 bytes
@@ -16235,13 +16495,14 @@
 	ld [$FF00+$2], a
 	ret
 ; 72ea (1:72ea)
+
 ; function to draw various text boxes
 ; INPUT:
 ; [$D125] = text box ID
-DisplayTextBoxID_: ; 72EA
+DisplayTextBoxID_: ; 72ea (1:72ea)
 	ld a,[$d125] ; a = text box ID
 	cp a,$14
-	jp z,$7559
+	jp z,DisplayYesNoTextBox
 	ld c,a
 	ld hl,TextBoxFunctionTable
 	ld de,3
@@ -16289,7 +16550,7 @@
 
 ; function to search a table terminated with $ff for a byte matching c in increments of de
 ; sets carry flag if a match is found and clears carry flag if not
-SearchTextBoxTable: ; 734C
+SearchTextBoxTable: ; 734c (1:734c)
 	dec de
 .loop
 	ld a,[hli]
@@ -16312,7 +16573,7 @@
 ; c = width
 ; d = row of upper left corner
 ; e = column of upper left corner
-GetTextBoxIDCoords: ; 735A
+GetTextBoxIDCoords: ; 735a (1:735a)
 	ld a,[hli] ; column of upper left corner
 	ld e,a
 	ld a,[hli] ; row of upper left corner
@@ -16328,7 +16589,7 @@
 	ret
 
 ; function to load a text address and text coordinates from the TextBoxTextAndCoordTable
-GetTextBoxIDText: ; 7367
+GetTextBoxIDText: ; 7367 (1:7367)
 	ld a,[hli]
 	ld e,a
 	ld a,[hli]
@@ -16348,9 +16609,9 @@
 ; e = column
 ; OUTPUT:
 ; hl = address of upper left corner of text box
-GetAddressOfScreenCoords: ; 7375
+GetAddressOfScreenCoords: ; 7375 (1:7375)
 	push bc
-	ld hl,$c3a0
+	ld hl,W_SCREENTILESBUFFER
 	ld bc,20
 .loop ; loop to add d rows to the base address
 	ld a,d
@@ -16367,7 +16628,7 @@
 ; Format:
 ; 00: text box ID
 ; 01-02: function address
-TextBoxFunctionTable: ; 7387
+TextBoxFunctionTable: ; 7387 (1:7387)
 	db $13
 	dw $74ba
 
@@ -16385,7 +16646,7 @@
 ; 02: row of upper left corner
 ; 03: column of lower right corner
 ; 04: row of lower right corner
-TextBoxCoordTable: ; 7391
+TextBoxCoordTable: ; 7391 (1:7391)
 	db $01,  0, 12, 19, 17
 	db $03,  0,  0, 19, 14
 	db $07,  0,  0, 11,  6
@@ -16404,7 +16665,7 @@
 ; 07: column of beginning of text
 ; 08: row of beginning of text
 ; table of window positions and corresponding text [key, start column, start row, end column, end row, text pointer [2 bytes], text column, text row]
-TextBoxTextAndCoordTable: ; 73B0
+TextBoxTextAndCoordTable: ; 73b0 (1:73b0)
 	db $05 ; text box ID
 	db 0,0,14,17   ; text box coordinates
 	dw JapaneseMochimonoText
@@ -16462,50 +16723,50 @@
 
 ; note that there is no terminator
 
-BuySellQuitText: ; 7413
+BuySellQuitText: ; 7413 (1:7413)
 	db "BUY",$4E
 	db "SELL",$4E
 	db "QUIT@@"
 
-UseTossText: ; 7422
+UseTossText: ; 7422 (1:7422)
 	db "USE",$4E
 	db "TOSS@"
 
-JapaneseSaveMessageText: ; 742B
+JapaneseSaveMessageText: ; 742b (1:742b)
 	db "きろく",$4E
 	db "メッセージ@"
 
-JapaneseSpeedOptionsText: ; 7435
+JapaneseSpeedOptionsText: ; 7435 (1:7435)
 	db "はやい",$4E
 	db "おそい@"
 
-MoneyText: ; 743D
+MoneyText: ; 743d (1:743d)
 	db "MONEY@"
 
-JapaneseMochimonoText: ; 7443
+JapaneseMochimonoText: ; 7443 (1:7443)
 	db "もちもの@"
 
-JapaneseMainMenuText: ; 7448
+JapaneseMainMenuText: ; 7448 (1:7448)
 	db "つづきから",$4E
 	db "さいしょから@"
 
-BattleMenuText: ; 7455
+BattleMenuText: ; 7455 (1:7455)
 	db "FIGHT ",$E1,$E2,$4E
 	db "ITEM  RUN@"
 
-SafariZoneBattleMenuText: ; 7468
+SafariZoneBattleMenuText: ; 7468 (1:7468)
 	db "BALL",$F1,"       BAIT",$4E
 	db "THROW ROCK  RUN@"
 
-SwitchStatsCancelText: ; 7489
+SwitchStatsCancelText: ; 7489 (1:7489)
 	db "SWITCH",$4E
 	db "STATS",$4E
 	db "CANCEL@"
 
-JapaneseAhText: ; 749D
+JapaneseAhText: ; 749d (1:749d)
 	db "アッ!@"
 
-JapanesePokedexMenu: ; 74A1
+JapanesePokedexMenu: ; 74a1 (1:74a1)
 	db "データをみる",$4E
 	db "なきごえ",$4E
 	db "ぶんぷをみる",$4E
@@ -16516,11 +16777,13 @@
 	ld a, $f
 	ld [$d125], a
 	call DisplayTextBoxID
-	ld hl, $c3c1
+	FuncCoord 13, 1 ; $c3c1
+	ld hl, Coord
 	ld b, $1
 	ld c, $6
 	call ClearScreenArea
-	ld hl, $c3c0
+	FuncCoord 12, 1 ; $c3c0
+	ld hl, Coord
 	ld de, W_PLAYERMONEY3 ; $d347
 	ld c, $a3
 	call PrintBCDNumber
@@ -16580,7 +16843,7 @@
 	ret
 
 ; known jump sources: 72ef (1:72ef)
-Func_7559: ; 7559 (1:7559)
+DisplayYesNoTextBox: ; 7559 (1:7559)
 	push hl
 	ld a, [$d730]
 	set 6, a
@@ -16612,7 +16875,7 @@
 	push hl
 	call Func_763e
 	ld a, [$d12c]
-	ld hl, $7671
+	ld hl, Unknown_7671 ; $7671
 	ld e, a
 	ld d, $0
 	ld a, $5
@@ -16658,10 +16921,10 @@
 	jr nz, .asm_7603
 	xor a
 	ld [$d12c], a
-	ld a, [$cd60]
+	ld a, [W_FLAGS_CD60]
 	push af
 	push hl
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 5, [hl]
 	set 5, [hl]
 	pop hl
@@ -16671,7 +16934,7 @@
 	jr nz, .asm_75f0
 	pop af
 	pop hl
-	ld [$cd60], a
+	ld [W_FLAGS_CD60], a
 	ld a, $90
 	call PlaySound
 	jr .asm_760f
@@ -16745,6 +17008,7 @@
 	call UpdateSprites
 	ret
 
+Unknown_7671: ; 7671 (1:7671)
 INCBIN "baserom.gbc",$7671,$76e1 - $7671
 	xor a
 	ld hl, W_WHICHTRADE ; $cd3d
@@ -16758,7 +17022,8 @@
 	ld a, [$cd41]
 	and a
 	jr nz, .asm_770f
-	ld hl, $c487
+	FuncCoord 11, 11 ; $c487
+	ld hl, Coord
 	ld b, $5
 	ld c, $7
 	call TextBoxBorder
@@ -16765,12 +17030,14 @@
 	call UpdateSprites
 	ld a, $c
 	ld [$FF00+$f7], a
-	ld hl, $c49d
-	ld de, $77c2
+	FuncCoord 13, 12 ; $c49d
+	ld hl, Coord
+	ld de, PokemonMenuEntries ; $77c2
 	jp PlaceString
 .asm_770f
 	push af
-	ld hl, $c47c
+	FuncCoord 0, 11 ; $c47c
+	ld hl, Coord
 	ld a, [$cd42]
 	dec a
 	ld e, a
@@ -16793,7 +17060,8 @@
 	inc b
 	call TextBoxBorder
 	call UpdateSprites
-	ld hl, $c490
+	FuncCoord 0, 12 ; $c490
+	ld hl, Coord
 	ld a, [$cd42]
 	inc a
 	ld e, a
@@ -16810,7 +17078,7 @@
 	ld de, W_WHICHTRADE ; $cd3d
 .asm_7752
 	push hl
-	ld hl, $778d
+	ld hl, FieldMoveNames ; $778d
 	ld a, [de]
 	and a
 	jr z, .asm_7776
@@ -16840,16 +17108,17 @@
 	pop hl
 	ld a, [$cd42]
 	ld [$FF00+$f7], a
-	ld hl, $c490
+	FuncCoord 0, 12 ; $c490
+	ld hl, Coord
 	ld a, [$cd42]
 	inc a
 	ld e, a
 	ld d, $0
 	add hl, de
-	ld de, $77c2
+	ld de, PokemonMenuEntries ; $77c2
 	jp PlaceString
 ; 778d (1:778d)
-FieldMoveNames: ; 778D
+FieldMoveNames: ; 778d (1:778d)
 	db "CUT@"
 	db "FLY@"
 	db "@"
@@ -16860,7 +17129,7 @@
 	db "TELEPORT@"
 	db "SOFTBOILED@"
 
-PokemonMenuEntries: ; 77C2
+PokemonMenuEntries: ; 77c2 (1:77c2)
 	db "STATS",$4E
 	db "SWITCH",$4E
 	db "CANCEL@"
@@ -16885,7 +17154,7 @@
 	jr z, .asm_7821
 	ld b, a
 	inc de
-	ld hl, $7823
+	ld hl, Unknown_7823 ; $7823
 .asm_77f6
 	ld a, [hli]
 	cp $ff
@@ -16918,6 +17187,7 @@
 	pop hl
 	ret
 
+Unknown_7823: ; 7823 (1:7823)
 INCBIN "baserom.gbc",$7823,$783f - $7823
 
 ; known jump sources: 3f2ee (f:72ee)
@@ -16944,7 +17214,7 @@
 
 ; known jump sources: 7858 (1:7858)
 Func_7861: ; 7861 (1:7861)
-	ld bc, $ceec
+	ld bc, W_HPBAROLDHP+1
 	ld a, [hli]
 	ld [bc], a
 	ld a, [hl]
@@ -16961,12 +17231,12 @@
 	ld b, [hl]
 	add b
 	ld [hld], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	ld a, [W_DAMAGE] ; $d0d7
 	ld b, [hl]
 	adc b
 	ld [hli], a
-	ld [$ceee], a
+	ld [W_HPBARNEWHP+1], a
 	jr c, .asm_7890
 	ld a, [hld]
 	ld b, a
@@ -16982,32 +17252,34 @@
 .asm_7890
 	ld a, [de]
 	ld [hld], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	dec de
 	ld a, [de]
 	ld [hli], a
-	ld [$ceee], a
+	ld [W_HPBARNEWHP+1], a
 	inc de
 .asm_789c
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	ld hl, $c45e
+	FuncCoord 10, 9 ; $c45e
+	ld hl, Coord
 	ld a, $1
 	jr z, .asm_78aa
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	xor a
 .asm_78aa
 	ld [W_LISTMENUID], a ; $cf94
 	ld a, $48
-	call Predef ; indirect jump to Func_fa1d (fa1d (3:7a1d))
+	call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
 	ld a, $0
 	call Predef ; indirect jump to Func_3cd60 (3cd60 (f:4d60))
 	ld a, $49
 	call Predef ; indirect jump to Func_3cdec (3cdec (f:4dec))
-	ld hl, Func_3cd43
-	ld b, BANK(Func_3cd43)
-	call Bankswitch ; indirect jump to Func_3cd43 (3cd43 (f:4d43))
-	ld hl, $78dc
+	ld hl, ReadPlayerMonCurHPAndStatus
+	ld b, BANK(ReadPlayerMonCurHPAndStatus)
+	call Bankswitch ; indirect jump to ReadPlayerMonCurHPAndStatus (3cd43 (f:4d43))
+	ld hl, UnnamedText_78dc ; $78dc
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
@@ -17016,16 +17288,16 @@
 .asm_78d2
 	cp $8
 	jr nz, .asm_78d9
-	ld hl, $78e1
+	ld hl, UnnamedText_78e1 ; $78e1
 .asm_78d9
 	jp PrintText
 ; 78dc (1:78dc)
-UnnamedText_78dc: ; 0x78dc
+UnnamedText_78dc: ; 78dc (1:78dc)
 	TX_FAR _UnnamedText_78dc
 	db $50
 ; 0x78dc + 5 bytes
 
-UnnamedText_78e1: ; 0x78e1
+UnnamedText_78e1: ; 78e1 (1:78e1)
 	TX_FAR _UnnamedText_78e1
 	db $50
 ; 0x78e1 + 5 bytes
@@ -17036,16 +17308,16 @@
 	set 6, [hl]
 	ld a, ITEM_NAME
 	ld [W_LISTTYPE], a
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	xor a
 	ld [$cc2c], a
 	ld [$ccd3], a
-	ld a, [$cd60]
+	ld a, [W_FLAGS_CD60]
 	bit 3, a
 	jr nz, Func_790c
 	ld a, $99
 	call PlaySound
-	ld hl, $7b22
+	ld hl, UnnamedText_7b22 ; $7b22
 	call PrintText
 
 ; known jump sources: 78ff (1:78ff), 79a8 (1:79a8), 79c8 (1:79c8), 7a25 (1:7a25), 7a45 (1:7a45), 7aa2 (1:7aa2), 7ac4 (1:7ac4)
@@ -17052,16 +17324,17 @@
 Func_790c: ; 790c (1:790c)
 	ld a, [$ccd3]
 	ld [W_CURMENUITEMID], a ; $cc26
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	set 5, [hl]
-	call Func_3701
-	ld hl, $c3a0
+	call LoadScreenTilesFromBuffer2
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $8
 	ld c, $e
 	call TextBoxBorder
 	call UpdateSprites
-	ld hl, $c3ca
-	ld de, $7af5
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
+	ld de, PlayersPCMenuEntries ; $7af5
 	call PlaceString
 	ld hl, W_TOPMENUITEMY ; $cc24
 	ld a, $2
@@ -17080,7 +17353,7 @@
 	ld [hli], a
 	ld [hl], a
 	ld [W_PLAYERMONNUMBER], a ; $cc2f
-	ld hl, $7b27
+	ld hl, UnnamedText_7b27 ; $7b27
 	call PrintText
 	call HandleMenuInput
 	bit 1, a
@@ -17097,16 +17370,16 @@
 
 ; known jump sources: 7955 (1:7955)
 Func_796d: ; 796d (1:796d)
-	ld a, [$cd60]
+	ld a, [W_FLAGS_CD60]
 	bit 3, a
 	jr nz, .asm_797c
 	ld a, $9a
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 .asm_797c
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	res 5, [hl]
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	xor a
 	ld [W_LISTSCROLLOFFSET], a ; $cc36
 	ld [$cc2c], a
@@ -17124,13 +17397,13 @@
 	ld a, [W_NUMBAGITEMS] ; $d31d
 	and a
 	jr nz, Func_79ab
-	ld hl, $7b3b
+	ld hl, UnnamedText_7b3b ; $7b3b
 	call PrintText
 	jp Func_790c
 
 ; known jump sources: 79a0 (1:79a0), 79e4 (1:79e4), 79f5 (1:79f5), 7a0f (1:7a0f)
 Func_79ab: ; 79ab (1:79ab)
-	ld hl, $7b2c
+	ld hl, UnnamedText_7b2c ; $7b2c
 	call PrintText
 	ld hl, W_NUMBAGITEMS ; $d31d
 	ld a, l
@@ -17149,7 +17422,7 @@
 	ld a, [$d124]
 	and a
 	jr nz, .asm_79e7
-	ld hl, $7b31
+	ld hl, UnnamedText_7b31 ; $7b31
 	call PrintText
 	call DisplayChooseQuantityMenu
 	cp $ff
@@ -17158,17 +17431,17 @@
 	ld hl, W_NUMBOXITEMS ; $d53a
 	call AddItemToInventory
 	jr c, .asm_79f8
-	ld hl, $7b40
+	ld hl, UnnamedText_7b40 ; $7b40
 	call PrintText
 	jp Func_79ab
 .asm_79f8
 	ld hl, W_NUMBAGITEMS ; $d31d
 	call RemoveItemFromInventory
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ab
 	call PlaySound
-	call Func_3748
-	ld hl, $7b36
+	call WaitForSoundToFinish
+	ld hl, UnnamedText_7b36 ; $7b36
 	call PrintText
 	jp Func_79ab
 
@@ -17180,13 +17453,13 @@
 	ld a, [W_NUMBOXITEMS] ; $d53a
 	and a
 	jr nz, Func_7a28
-	ld hl, $7b54
+	ld hl, UnnamedText_7b54 ; $7b54
 	call PrintText
 	jp Func_790c
 
 ; known jump sources: 7a1d (1:7a1d), 7a61 (1:7a61), 7a72 (1:7a72), 7a8c (1:7a8c)
 Func_7a28: ; 7a28 (1:7a28)
-	ld hl, $7b45
+	ld hl, UnnamedText_7b45 ; $7b45
 	call PrintText
 	ld hl, W_NUMBOXITEMS ; $d53a
 	ld a, l
@@ -17205,7 +17478,7 @@
 	ld a, [$d124]
 	and a
 	jr nz, .asm_7a64
-	ld hl, $7b4a
+	ld hl, UnnamedText_7b4a ; $7b4a
 	call PrintText
 	call DisplayChooseQuantityMenu
 	cp $ff
@@ -17214,17 +17487,17 @@
 	ld hl, W_NUMBAGITEMS ; $d31d
 	call AddItemToInventory
 	jr c, .asm_7a75
-	ld hl, $7b59
+	ld hl, UnnamedText_7b59 ; $7b59
 	call PrintText
 	jp Func_7a28
 .asm_7a75
 	ld hl, W_NUMBOXITEMS ; $d53a
 	call RemoveItemFromInventory
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ab
 	call PlaySound
-	call Func_3748
-	ld hl, $7b4f
+	call WaitForSoundToFinish
+	ld hl, UnnamedText_7b4f ; $7b4f
 	call PrintText
 	jp Func_7a28
 
@@ -17236,13 +17509,13 @@
 	ld a, [W_NUMBOXITEMS] ; $d53a
 	and a
 	jr nz, Func_7aa5
-	ld hl, $7b54
+	ld hl, UnnamedText_7b54 ; $7b54
 	call PrintText
 	jp Func_790c
 
 ; known jump sources: 7a9a (1:7a9a), 7aec (1:7aec), 7af2 (1:7af2)
 Func_7aa5: ; 7aa5 (1:7aa5)
-	ld hl, $7b5e
+	ld hl, UnnamedText_7b5e ; $7b5e
 	call PrintText
 	ld hl, W_NUMBOXITEMS ; $d53a
 	ld a, l
@@ -17269,7 +17542,7 @@
 	call IsItemHM
 	jr c, .asm_7aef
 	push hl
-	ld hl, $7b63
+	ld hl, UnnamedText_7b63 ; $7b63
 	call PrintText
 	call DisplayChooseQuantityMenu
 	pop hl
@@ -17279,84 +17552,84 @@
 	call TossItem
 	jp Func_7aa5
 ; 7af5 (1:7af5)
-PlayersPCMenuEntries: ; 7AF5
+PlayersPCMenuEntries: ; 7af5 (1:7af5)
 	db "WITHDRAW ITEM",$4E
 	db "DEPOSIT ITEM",$4E
 	db "TOSS ITEM",$4E
 	db "LOG OFF@"
 
-UnnamedText_7b22: ; 0x7b22
+UnnamedText_7b22: ; 7b22 (1:7b22)
 	TX_FAR _UnnamedText_7b22
 	db $50
 ; 0x7b22 + 5 bytes
 
-UnnamedText_7b27: ; 0x7b27
+UnnamedText_7b27: ; 7b27 (1:7b27)
 	TX_FAR _UnnamedText_7b27
 	db $50
 ; 0x7b27 + 5 bytes
 
-UnnamedText_7b2c: ; 0x7b2c
+UnnamedText_7b2c: ; 7b2c (1:7b2c)
 	TX_FAR _UnnamedText_7b2c
 	db $50
 ; 0x7b2c + 5 bytes
 
-UnnamedText_7b31: ; 0x7b31
+UnnamedText_7b31: ; 7b31 (1:7b31)
 	TX_FAR _UnnamedText_7b31
 	db $50
 ; 0x7b31 + 5 bytes
 
-UnnamedText_7b36: ; 0x7b36
+UnnamedText_7b36: ; 7b36 (1:7b36)
 	TX_FAR _UnnamedText_7b36
 	db $50
 ; 0x7b36 + 5 bytes
 
-UnnamedText_7b3b: ; 0x7b3b
+UnnamedText_7b3b: ; 7b3b (1:7b3b)
 	TX_FAR _UnnamedText_7b3b
 	db $50
 ; 0x7b3b + 5 bytes
 
-UnnamedText_7b40: ; 0x7b40
+UnnamedText_7b40: ; 7b40 (1:7b40)
 	TX_FAR _UnnamedText_7b40
 	db $50
 ; 0x7b40 + 5 bytes
 
-UnnamedText_7b45: ; 0x7b45
+UnnamedText_7b45: ; 7b45 (1:7b45)
 	TX_FAR _UnnamedText_7b45
 	db $50
 ; 0x7b45 + 5 bytes
 
-UnnamedText_7b4a: ; 0x7b4a
+UnnamedText_7b4a: ; 7b4a (1:7b4a)
 	TX_FAR _UnnamedText_7b4a
 	db $50
 ; 0x7b4a + 5 bytes
 
-UnnamedText_7b4f: ; 0x7b4f
+UnnamedText_7b4f: ; 7b4f (1:7b4f)
 	TX_FAR _UnnamedText_7b4f
 	db $50
 ; 0x7b4f + 5 bytes
 
-UnnamedText_7b54: ; 0x7b54
+UnnamedText_7b54: ; 7b54 (1:7b54)
 	TX_FAR _UnnamedText_7b54
 	db $50
 ; 0x7b54 + 5 bytes
 
-UnnamedText_7b59: ; 0x7b59
+UnnamedText_7b59: ; 7b59 (1:7b59)
 	TX_FAR _UnnamedText_7b59
 	db $50
 ; 0x7b59 + 5 bytes
 
-UnnamedText_7b5e: ; 0x7b5e
+UnnamedText_7b5e: ; 7b5e (1:7b5e)
 	TX_FAR _UnnamedText_7b5e
 	db $50
 ; 0x7b5e + 5 bytes
 
-UnnamedText_7b63: ; 0x7b63
+UnnamedText_7b63: ; 7b63 (1:7b63)
 	TX_FAR _UnnamedText_7b63
 	db $50
 ; 0x7b63 + 5 bytes
 
 ; known jump sources: 3924 (0:3924)
-Func_7b68: ; 7b68 (1:7b68)
+_RemovePokemon: ; 7b68 (1:7b68)
 	ld hl, W_NUMINPARTY ; $d163
 	ld a, [$cf95]
 	and a
@@ -17411,7 +17684,7 @@
 	ld a, [$cf95]
 	and a
 	jr z, .asm_7bcd
-	ld hl, $da96
+	ld hl, W_BOXMON1DATA
 	ld bc, $21
 .asm_7bcd
 	ld a, [W_WHICHPOKEMON] ; $cf92
@@ -17452,7 +17725,7 @@
 .asm_7c15
 	jp CopyDataUntil
 
-Func_7c18: ; 0x7c18
+Func_7c18: ; 7c18 (1:7c18)
 	ld hl, $d730
 	set 6, [hl]
 	ld a, $3d
@@ -17478,7 +17751,7 @@
 
 SECTION "bank2",DATA,BANK[$2]
 
-INCBIN "baserom.gbc",$8000,$822E - $8000
+INCBIN "baserom.gbc",$8000,$822e - $8000
 
 ;Music Headers
 ;Pallet Town
@@ -17684,62 +17957,62 @@
 SECTION "bank3",DATA,BANK[$3]
 
 ; known jump sources: 1a4 (0:1a4)
-Func_c000: ; c000 (3:4000)
-	ld a, [$FF00+$f8]
-	cp $f
-	jp z, Func_c03c
+_GetJoypadState: ; c000 (3:4000)
+	ld a, [H_JOYPADSTATE]
+	cp BTN_A | BTN_B | BTN_SELECT | BTN_START ; soft reset sequence
+	jp z, HandleJoypadResetButtons
 	ld b, a
-	ld a, [$FF00+$b1]
+	ld a, [H_OLDPRESSEDBUTTONS]
 	ld e, a
 	xor b
 	ld d, a
 	and e
-	ld [$FF00+$b2], a
+	ld [H_NEWLYRELEASEDBUTTONS], a
 	ld a, d
 	and b
-	ld [$FF00+$b3], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
 	ld a, b
-	ld [$FF00+$b1], a
+	ld [H_OLDPRESSEDBUTTONS], a
 	ld a, [$d730]
 	bit 5, a
-	jr nz, Func_c034
-	ld a, [$FF00+$b1]
-	ld [$FF00+$b4], a
-	ld a, [$cd6b]
+	jr nz, DiscardButtonPresses
+	ld a, [H_OLDPRESSEDBUTTONS]
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld a, [W_JOYPADFORBIDDENBUTTONSMASK]
 	and a
 	ret z
 	cpl
 	ld b, a
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	and b
-	ld [$FF00+$b4], a
-	ld a, [$FF00+$b3]
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld a, [H_NEWLYPRESSEDBUTTONS]
 	and b
-	ld [$FF00+$b3], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
 	ret
 
-; known jump sources: c01c (3:401c), f2c3 (3:72c3)
-Func_c034: ; c034 (3:4034)
+; clears all button presses
+DiscardButtonPresses: ; c034 (3:4034)
 	xor a
-	ld [$FF00+$b4], a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b2], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_NEWLYRELEASEDBUTTONS], a
 	ret
 
 ; known jump sources: c004 (3:4004)
-Func_c03c: ; c03c (3:403c)
+HandleJoypadResetButtons: ; c03c (3:403c)
 	call DelayFrame
 	ld a, $30
-	ld [rJOYP], a ; $FF00+$0
-	ld hl, $ff8a
+	ld [rJOYP], a ; reset joypad state (to enusre the user really intends to reset)
+	ld hl, H_SOFTRESETCOUNTER
 	dec [hl]
-	jp z, Func_1f49
+	jp z, SoftReset
 	jp GetJoypadState
 
 INCBIN "baserom.gbc",$c04d,$c23d - $c04d
 
 ; see also MapHeaderPointers
-MapHeaderBanks: ; 423D
+MapHeaderBanks: ; c23d (3:423d)
 	db BANK(PalletTown_h) ;PALLET_TOWN
 	db BANK(ViridianCity_h) ; VIRIDIAN_CITY
 	db BANK(PewterCity_h) ; PEWTER_CITY
@@ -17998,9 +18271,9 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ld [$d13b], a
 	ld [W_LONEATTACKNO], a ; $d05c
-	ld [$FF00+$b3], a
-	ld [$FF00+$b2], a
-	ld [$FF00+$b4], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_NEWLYRELEASEDBUTTONS], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$cd6a], a
 	ld [$d5a3], a
 	ld hl, $d73f
@@ -18044,7 +18317,7 @@
 	jr nz, .asm_c368
 	ret
 ; c38b (3:438b)
-CheckForceBikeOrSurf: ; C38B
+CheckForceBikeOrSurf: ; c38b (3:438b)
 	ld hl, $D732
 	bit 5, [hl]
 	ret nz
@@ -18070,12 +18343,12 @@
 	ld a, [W_CURMAP]
 	cp SEAFOAM_ISLANDS_4
 	ld a, $2
-	ld [$d666], a
+	ld [W_SEAFOAMISLANDS4CURSCRIPT], a
 	jr z, .forceSurfing
 	ld a, [$d35e]
 	cp SEAFOAM_ISLANDS_5
 	ld a, $2
-	ld [$d668], a
+	ld [W_SEAFOAMISLANDS5CURSCRIPT], a
 	jr z, .forceSurfing
 	;force bike riding
 	ld hl, $d732
@@ -18096,7 +18369,7 @@
 	jp ForceBikeOrSurf
 ; 0xc3e6
 
-ForcedBikeOrSurfMaps: ;C3e6
+ForcedBikeOrSurfMaps: ; c3e6 (3:43e6)
 ; map id, y, x
 db ROUTE_16,$0A,$11 
 db ROUTE_16,$0B,$11
@@ -18118,7 +18391,7 @@
 	srl a
 	ld c, a
 	ld b, $0
-	ld hl, $4422
+	ld hl, Unknown_c422 ; $4422
 	add hl, bc
 	ld a, [hli]
 	ld h, [hl]
@@ -18127,17 +18400,19 @@
 	ld b, a
 	ld a, [W_XCOORD] ; $d362
 	ld c, a
-	ld de, $441e
+	ld de, .asm_c41e ; $441e
 	push de
 	jp [hl]
+.asm_c41e
 	pop bc
 	pop de
 	pop hl
 	ret
 
+Unknown_c422: ; c422 (3:4422)
 INCBIN "baserom.gbc",$c422,$c42a - $c422
 
-Func_c422: ; 0xc422
+Func_c422: ; c42a (3:442a)
 	ld a, [W_CURMAPHEIGHT] ; $d368
 	add a
 	dec a
@@ -18165,7 +18440,7 @@
 	scf
 	ret
 
-Func_c44e: ; 0xc44e
+Func_c44e: ; c44e (3:444e)
 	push hl
 	push de
 	push bc
@@ -18177,7 +18452,7 @@
 	srl a
 	ld c, a
 	ld b, $0
-	ld hl, $4477
+	ld hl, .unknown_c477 ; $4477
 	add hl, bc
 	ld a, [hli]
 	ld h, [hl]
@@ -18191,7 +18466,9 @@
 	pop hl
 	ret
 
+.unknown_c477: ; c477 (3:4477)
 INCBIN "baserom.gbc",$c477,$c490 - $c477
+
 .asm_c490
 	ld a, [$cfc6]
 	cp $15
@@ -18215,13 +18492,14 @@
 	add a
 	ld c, a
 	ld b, $0
-	ld hl, $44cc
+	ld hl, Unknown_c4cc ; $44cc
 	add hl, bc
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
 	ld de, $1
-	ld a, [$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a, [Coord]
 	call IsInArray
 	jr nc, .asm_c4c8
 	ld hl, $d736
@@ -18232,6 +18510,7 @@
 	pop hl
 	ret
 
+Unknown_c4cc: ; c4cc (3:44cc)
 INCBIN "baserom.gbc",$c4cc,$c52f - $c4cc
 
 ; known jump sources: 2aec (0:2aec)
@@ -18241,34 +18520,43 @@
 	ret c
 	cp $e2
 	ret nc
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $3
 	ld c, $7
 	call TextBoxBorder
-	ld hl, $c3b5
+	FuncCoord 1, 1 ; $c3b5
+	ld hl, Coord
 	ld de, W_SAFARITIMER1 ; $d70d
 	ld bc, $203
 	call PrintNumber
-	ld hl, $c3b8
-	ld de, $4579
+	FuncCoord 4, 1 ; $c3b8
+	ld hl, Coord
+	ld de, Unknown_c579 ; $4579
 	call PlaceString
-	ld hl, $c3dd
-	ld de, $457e
+	FuncCoord 1, 3 ; $c3dd
+	ld hl, Coord
+	ld de, Unknown_c57e ; $457e
 	call PlaceString
 	ld a, [W_NUMSAFARIBALLS] ; $da47
 	cp $a
 	jr nc, .asm_c56d
-	ld hl, $c3e1
+	FuncCoord 5, 3 ; $c3e1
+	ld hl, Coord
 	ld a, $7f
 	ld [hl], a
 .asm_c56d
-	ld hl, $c3e2
+	FuncCoord 6, 3 ; $c3e2
+	ld hl, Coord
 	ld de, W_NUMSAFARIBALLS ; $da47
 	ld bc, $102
 	jp PrintNumber
 
-INCBIN "baserom.gbc",$c579,$c586 - $c579
+Unknown_c579: ; c579 (3:4579)
+INCBIN "baserom.gbc",$c579,$c57e - $c579
 
+Unknown_c57e: ; c57e (3:457e)
+INCBIN "baserom.gbc",$c57e,$c586 - $c57e
+
 ; known jump sources: 47f (0:47f), b2e (0:b2e), b5a (0:b5a), c12 (0:c12), c2d (0:c2d), fd3 (0:fd3), 1a67f (6:667f), 52683 (14:6683)
 Func_c586: ; c586 (3:4586)
 	call Load16BitRegisters
@@ -18282,25 +18570,29 @@
 	ld a, [$c109]
 	and a
 	jr nz, .asm_c59d
-	ld a, [$c484]
+	FuncCoord 8, 11 ; $c484
+	ld a, [Coord]
 	inc d
 	jr .asm_c5b9
 .asm_c59d
 	cp $4
 	jr nz, .asm_c5a7
-	ld a, [$c434]
+	FuncCoord 8, 7 ; $c434
+	ld a, [Coord]
 	dec d
 	jr .asm_c5b9
 .asm_c5a7
 	cp $8
 	jr nz, .asm_c5b1
-	ld a, [$c45a]
+	FuncCoord 6, 9 ; $c45a
+	ld a, [Coord]
 	dec e
 	jr .asm_c5b9
 .asm_c5b1
 	cp $c
 	jr nz, .asm_c5b9
-	ld a, [$c45e]
+	FuncCoord 10, 9 ; $c45e
+	ld a, [Coord]
 	inc e
 .asm_c5b9
 	ld c, a
@@ -18320,7 +18612,8 @@
 	jr nz, .asm_c5d8
 	ld hl, $ffdb
 	set 0, [hl]
-	ld a, [$c4ac]
+	FuncCoord 8, 13 ; $c4ac
+	ld a, [Coord]
 	inc d
 	jr .asm_c603
 .asm_c5d8
@@ -18328,7 +18621,8 @@
 	jr nz, .asm_c5e7
 	ld hl, $ffdb
 	set 1, [hl]
-	ld a, [$c40c]
+	FuncCoord 8, 5 ; $c40c
+	ld a, [Coord]
 	dec d
 	jr .asm_c603
 .asm_c5e7
@@ -18336,7 +18630,8 @@
 	jr nz, .asm_c5f6
 	ld hl, $ffdb
 	set 2, [hl]
-	ld a, [$c458]
+	FuncCoord 4, 9 ; $c458
+	ld a, [Coord]
 	dec e
 	jr .asm_c603
 .asm_c5f6
@@ -18344,7 +18639,8 @@
 	jr nz, .asm_c603
 	ld hl, $ffdb
 	set 3, [hl]
-	ld a, [$c460]
+	FuncCoord 12, 9 ; $c460
+	ld a, [Coord]
 	inc e
 .asm_c603
 	ld c, a
@@ -18503,7 +18799,7 @@
 	ld hl, W_PARTYMON1NAME ; $d2b5
 	call GetPartyMonName
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call EnableAutoTextBoxDrawing
 	ld a, $d0
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -18549,7 +18845,7 @@
 	call PlaySound
 .asm_c733
 	ld a, $14
-	call Predef ; indirect jump to Func_3ca83 (3ca83 (f:4a83))
+	call Predef ; indirect jump to AnyPokemonAliveCheck (3ca83 (f:4a83))
 	ld a, d
 	and a
 	jr nz, .asm_c74f
@@ -18602,7 +18898,7 @@
 	ld a, [W_CURMAPTILESET] ; $d367
 	push hl
 	push de
-	ld hl, $47b2
+	ld hl, Unknown_c7b2 ; $47b2
 	ld de, $1
 	call IsInArray
 	pop de
@@ -18627,9 +18923,10 @@
 .asm_c7b1
 	ret
 
+Unknown_c7b2: ; c7b2 (3:47b2)
 INCBIN "baserom.gbc",$c7b2,$c7be - $c7b2
 
-TilesetsHeadPtr: ; 0xC7BE
+TilesetsHeadPtr: ; c7be (3:47be)
 	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
@@ -18682,7 +18979,7 @@
 ; Table of 2-Byte pointers, one pointer per map,
 ; goes up to Map_F7, ends with $FFFF.
 ; points to table listing all missable object in the area
-MapHSPointers: ; 48F5
+MapHSPointers: ; c8f5 (3:48f5)
 	dw MapHS00
 	dw MapHS01
 	dw MapHS02
@@ -18947,23 +19244,23 @@
 Hide	equ $11
 Show	equ $15
 
-MapHSXX:
+MapHSXX: ; cae7 (3:4ae7)
 	db $FF,$FF,$FF
-MapHS00: ; 0xcaea
+MapHS00: ; caea (3:4aea)
 	db PALLET_TOWN,$01,Hide
-MapHS01:
+MapHS01: ; caed (3:4aed)
 	db VIRIDIAN_CITY,$05,Show
 	db VIRIDIAN_CITY,$07,Hide
-MapHS02:
+MapHS02: ; caf3 (3:4af3)
 	db PEWTER_CITY,$03,Show
 	db PEWTER_CITY,$05,Show
-MapHS03:
+MapHS03: ; caf9 (3:4af9)
 	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:
+MapHS0A: ; cb08 (3:4b08)
 	db SAFFRON_CITY,$01,Show
 	db SAFFRON_CITY,$02,Show
 	db SAFFRON_CITY,$03,Show
@@ -18979,34 +19276,34 @@
 	db SAFFRON_CITY,$0D,Hide
 	db SAFFRON_CITY,$0E,Show
 	db SAFFRON_CITY,$0F,Hide
-MapHS0D:
+MapHS0D: ; cb35 (3:4b35)
 	db ROUTE_2,$01,Show
 	db ROUTE_2,$02,Show
-MapHS0F:
+MapHS0F: ; cb3b (3:4b3b)
 	db ROUTE_4,$03,Show
-MapHS14:
+MapHS14: ; cb3e (3:4b3e)
 	db ROUTE_9,$0A,Show
-MapHS17:
+MapHS17: ; cb41 (3:4b41)
 	db ROUTE_12,$01,Show
 	db ROUTE_12,$09,Show
 	db ROUTE_12,$0A,Show
-MapHS1A:
+MapHS1A: ; cb4a (3:4b4a)
 	db ROUTE_15,$0B,Show
-MapHS1B:
+MapHS1B: ; cb4d (3:4b4d)
 	db ROUTE_16,$07,Show
-MapHS21:
+MapHS21: ; cb50 (3:4b50)
 	db ROUTE_22,$01,Hide
 	db ROUTE_22,$02,Hide
-MapHS23:
+MapHS23: ; cb56 (3:4b56)
 	db ROUTE_24,$01,Show
 	db ROUTE_24,$08,Show
-MapHS24:
+MapHS24: ; cb5c (3:4b5c)
 	db ROUTE_25,$0A,Show
-MapHS27:
+MapHS27: ; cb5f (3:4b5f)
 	db BLUES_HOUSE,$01,Show
 	db BLUES_HOUSE,$02,Hide
 	db BLUES_HOUSE,$03,Show
-MapHS28:
+MapHS28: ; cb68 (3:4b68)
 	db OAKS_LAB,$01,Show
 	db OAKS_LAB,$02,Show
 	db OAKS_LAB,$03,Show
@@ -19015,50 +19312,50 @@
 	db OAKS_LAB,$06,Show
 	db OAKS_LAB,$07,Show
 	db OAKS_LAB,$08,Hide
-MapHS2D:
+MapHS2D: ; cb80 (3:4b80)
 	db VIRIDIAN_GYM,$01,Show
 	db VIRIDIAN_GYM,$0B,Show
-MapHS34:
+MapHS34: ; cb86 (3:4b86)
 	db MUSEUM_1F,$05,Show
-MapHSE4:
+MapHSE4: ; cb89 (3:4b89)
 	db UNKNOWN_DUNGEON_1,$01,Show
 	db UNKNOWN_DUNGEON_1,$02,Show
 	db UNKNOWN_DUNGEON_1,$03,Show
-MapHS8F:
+MapHS8F: ; cb92 (3:4b92)
 	db POKEMONTOWER_2,$01,Show
-MapHS90:
+MapHS90: ; cb95 (3:4b95)
 	db POKEMONTOWER_3,$04,Show
-MapHS91:
+MapHS91: ; cb98 (3:4b98)
 	db POKEMONTOWER_4,$04,Show
 	db POKEMONTOWER_4,$05,Show
 	db POKEMONTOWER_4,$06,Show
-MapHS92:
+MapHS92: ; cba1 (3:4ba1)
 	db POKEMONTOWER_5,$06,Show
-MapHS93:
+MapHS93: ; cba4 (3:4ba4)
 	db POKEMONTOWER_6,$04,Show
 	db POKEMONTOWER_6,$05,Show
-MapHS94:
+MapHS94: ; cbaa (3:4baa)
 	db POKEMONTOWER_7,$01,Show
 	db POKEMONTOWER_7,$02,Show
 	db POKEMONTOWER_7,$03,Show
 	db POKEMONTOWER_7,$04,Show
-MapHS95:
+MapHS95: ; cbb6 (3:4bb6)
 	db LAVENDER_HOUSE_1,$05,Hide
-MapHS84:
+MapHS84: ; cbb9 (3:4bb9)
 	db CELADON_MANSION_5,$02,Show
-MapHS87:
+MapHS87: ; cbbc (3:4bbc)
 	db GAME_CORNER,$0B,Show
-MapHS9B:
+MapHS9B: ; cbbf (3:4bbf)
 	db FUCHSIA_HOUSE_2,$02,Show
-MapHSA5:
+MapHSA5: ; cbc2 (3:4bc2)
 	db MANSION_1,$02,Show
 	db MANSION_1,$03,Show
-MapHSB1:
+MapHSB1: ; cbc8 (3:4bc8)
 	db FIGHTINGDOJO,$06,Show
 	db FIGHTINGDOJO,$07,Show
-MapHSB5:
+MapHSB5: ; cbce (3:4bce)
 	db SILPH_CO_1F,$01,Hide
-MapHS53:
+MapHS53: ; cbd1 (3:4bd1)
 	db POWER_PLANT,$01,Show
 	db POWER_PLANT,$02,Show
 	db POWER_PLANT,$03,Show
@@ -19073,7 +19370,7 @@
 	db POWER_PLANT,$0C,Show
 	db POWER_PLANT,$0D,Show
 	db POWER_PLANT,$0E,Show
-MapHSC2:
+MapHSC2: ; cbfb (3:4bfb)
 	db VICTORY_ROAD_2,$06,Show
 	db VICTORY_ROAD_2,$07,Show
 	db VICTORY_ROAD_2,$08,Show
@@ -19080,15 +19377,15 @@
 	db VICTORY_ROAD_2,$09,Show
 	db VICTORY_ROAD_2,$0A,Show
 	db VICTORY_ROAD_2,$0D,Show
-MapHS58:
+MapHS58: ; cc0d (3:4c0d)
 	db BILLS_HOUSE,$01,Show
 	db BILLS_HOUSE,$02,Hide
 	db BILLS_HOUSE,$03,Hide
-MapHS33:
+MapHS33: ; cc16 (3:4c16)
 	db VIRIDIAN_FOREST,$05,Show
 	db VIRIDIAN_FOREST,$06,Show
 	db VIRIDIAN_FOREST,$07,Show
-MapHS3B:
+MapHS3B: ; cc1f (3:4c1f)
 	db MT_MOON_1,$08,Show
 	db MT_MOON_1,$09,Show
 	db MT_MOON_1,$0A,Show
@@ -19095,38 +19392,38 @@
 	db MT_MOON_1,$0B,Show
 	db MT_MOON_1,$0C,Show
 	db MT_MOON_1,$0D,Show
-MapHS3D:
+MapHS3D: ; cc31 (3:4c31)
 	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:
+MapHS60: ; cc3d (3:4c3d)
 	db SS_ANNE_2,$02,Hide
-MapHS66:
+MapHS66: ; cc40 (3:4c40)
 	db SS_ANNE_8,$0A,Show
-MapHS67:
+MapHS67: ; cc43 (3:4c43)
 	db SS_ANNE_9,$06,Show
 	db SS_ANNE_9,$09,Show
-MapHS68:
+MapHS68: ; cc49 (3:4c49)
 	db SS_ANNE_10,$09,Show
 	db SS_ANNE_10,$0A,Show
 	db SS_ANNE_10,$0B,Show
-MapHSC6:
+MapHSC6: ; cc52 (3:4c52)
 	db VICTORY_ROAD_3,$05,Show
 	db VICTORY_ROAD_3,$06,Show
 	db VICTORY_ROAD_3,$0A,Show
-MapHSC7:
+MapHSC7: ; cc5b (3:4c5b)
 	db ROCKET_HIDEOUT_1,$06,Show
 	db ROCKET_HIDEOUT_1,$07,Show
-MapHSC8:
+MapHSC8: ; cc61 (3:4c61)
 	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:
+MapHSC9: ; cc6d (3:4c6d)
 	db ROCKET_HIDEOUT_3,$03,Show
 	db ROCKET_HIDEOUT_3,$04,Show
-MapHSCA:
+MapHSCA: ; cc73 (3:4c73)
 	db ROCKET_HIDEOUT_4,$01,Show
 	db ROCKET_HIDEOUT_4,$05,Show
 	db ROCKET_HIDEOUT_4,$06,Show
@@ -19133,17 +19430,17 @@
 	db ROCKET_HIDEOUT_4,$07,Show
 	db ROCKET_HIDEOUT_4,$08,Hide
 	db ROCKET_HIDEOUT_4,$09,Hide
-MapHSCF:
+MapHSCF: ; cc85 (3:4c85)
 	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:
+MapHSD0: ; cc94 (3:4c94)
 	db SILPH_CO_3F,$02,Show
 	db SILPH_CO_3F,$03,Show
 	db SILPH_CO_3F,$04,Show
-MapHSD1:
+MapHSD1: ; cc9d (3:4c9d)
 	db SILPH_CO_4F,$02,Show
 	db SILPH_CO_4F,$03,Show
 	db SILPH_CO_4F,$04,Show
@@ -19150,7 +19447,7 @@
 	db SILPH_CO_4F,$05,Show
 	db SILPH_CO_4F,$06,Show
 	db SILPH_CO_4F,$07,Show
-MapHSD2:
+MapHSD2: ; ccaf (3:4caf)
 	db SILPH_CO_5F,$02,Show
 	db SILPH_CO_5F,$03,Show
 	db SILPH_CO_5F,$04,Show
@@ -19158,13 +19455,13 @@
 	db SILPH_CO_5F,$06,Show
 	db SILPH_CO_5F,$07,Show
 	db SILPH_CO_5F,$08,Show
-MapHSD3:
+MapHSD3: ; ccc4 (3:4cc4)
 	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:
+MapHSD4: ; ccd3 (3:4cd3)
 	db SILPH_CO_7F,$05,Show
 	db SILPH_CO_7F,$06,Show
 	db SILPH_CO_7F,$07,Show
@@ -19173,15 +19470,15 @@
 	db SILPH_CO_7F,$0A,Show
 	db SILPH_CO_7F,$0B,Show
 	db SILPH_CO_7F,$0C,Show
-MapHSD5:
+MapHSD5: ; cceb (3:4ceb)
 	db SILPH_CO_8F,$02,Show
 	db SILPH_CO_8F,$03,Show
 	db SILPH_CO_8F,$04,Show
-MapHSE9:
+MapHSE9: ; ccf4 (3:4cf4)
 	db SILPH_CO_9F,$02,Show
 	db SILPH_CO_9F,$03,Show
 	db SILPH_CO_9F,$04,Show
-MapHSEA:
+MapHSEA: ; ccfd (3:4cfd)
 	db SILPH_CO_10F,$01,Show
 	db SILPH_CO_10F,$02,Show
 	db SILPH_CO_10F,$03,Show
@@ -19188,66 +19485,66 @@
 	db SILPH_CO_10F,$04,Show
 	db SILPH_CO_10F,$05,Show
 	db SILPH_CO_10F,$06,Show
-MapHSEB:
+MapHSEB: ; cd0f (3:4d0f)
 	db SILPH_CO_11F,$03,Show
 	db SILPH_CO_11F,$04,Show
 	db SILPH_CO_11F,$05,Show
-MapHSF4:
+MapHSF4: ; cd18 (3:4d18)
 	db $F4,$02,Show
-MapHSD6:
+MapHSD6: ; cd1b (3:4d1b)
 	db MANSION_2,$02,Show
-MapHSD7:
+MapHSD7: ; cd1e (3:4d1e)
 	db MANSION_3,$03,Show
 	db MANSION_3,$04,Show
-MapHSD8:
+MapHSD8: ; cd24 (3:4d24)
 	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:
+MapHSD9: ; cd33 (3:4d33)
 	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:
+MapHSDA: ; cd3f (3:4d3f)
 	db SAFARI_ZONE_NORTH,$01,Show
 	db SAFARI_ZONE_NORTH,$02,Show
-MapHSDB:
+MapHSDB: ; cd45 (3:4d45)
 	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:
+MapHSDC: ; cd51 (3:4d51)
 	db SAFARI_ZONE_CENTER,$01,Show
-MapHSE2:
+MapHSE2: ; cd54 (3:4d54)
 	db UNKNOWN_DUNGEON_2,$01,Show
 	db UNKNOWN_DUNGEON_2,$02,Show
 	db UNKNOWN_DUNGEON_2,$03,Show
-MapHSE3:
+MapHSE3: ; cd5d (3:4d5d)
 	db UNKNOWN_DUNGEON_3,$01,Show
 	db UNKNOWN_DUNGEON_3,$02,Show
 	db UNKNOWN_DUNGEON_3,$03,Show
-MapHS6C:
+MapHS6C: ; cd66 (3:4d66)
 	db VICTORY_ROAD_1,$03,Show
 	db VICTORY_ROAD_1,$04,Show
-MapHS78:
+MapHS78: ; cd6c (3:4d6c)
 	db CHAMPIONS_ROOM,$02,Hide
-MapHSC0:
+MapHSC0: ; cd6f (3:4d6f)
 	db SEAFOAM_ISLANDS_1,$01,Show
 	db SEAFOAM_ISLANDS_1,$02,Show
-MapHS9F:
+MapHS9F: ; cd75 (3:4d75)
 	db SEAFOAM_ISLANDS_2,$01,Hide
 	db SEAFOAM_ISLANDS_2,$02,Hide
-MapHSA0:
+MapHSA0: ; cd7b (3:4d7b)
 	db SEAFOAM_ISLANDS_3,$01,Hide
 	db SEAFOAM_ISLANDS_3,$02,Hide
-MapHSA1:
+MapHSA1: ; cd81 (3:4d81)
 	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:
+MapHSA2: ; cd8d (3:4d8d)
 	db SEAFOAM_ISLANDS_5,$01,Hide
 	db SEAFOAM_ISLANDS_5,$02,Hide
 	db SEAFOAM_ISLANDS_5,$03,Show
@@ -19258,11 +19555,12 @@
 Func_cd99: ; cd99 (3:4d99)
 	ld hl, $d728
 	set 0, [hl]
-	ld hl, $4daa
+	ld hl, Unknown_cdaa ; $4daa
 	call PrintText
-	ld hl, $4dbb
+	ld hl, UnnamedText_cdbb ; $4dbb
 	jp PrintText
 
+Unknown_cdaa: ; cdaa (3:4daa)
 INCBIN "baserom.gbc",$cdaa,$cdaf - $cdaa
 	ld a, [$cf91]
 	call PlayCry
@@ -19269,7 +19567,7 @@
 	call Delay3
 	jp TextScriptEnd
 ; cdbb (3:4dbb)
-UnnamedText_cdbb: ; 0xcdbb
+UnnamedText_cdbb: ; cdbb (3:4dbb)
 	TX_FAR _UnnamedText_cdbb
 	db $50
 ; 0xcdbb + 5 bytes
@@ -19288,27 +19586,28 @@
 	and $3
 	cp $3
 	ret z
-	ld hl, $4df7
+	ld hl, Unknown_cdf7 ; $4df7
 	call ArePlayerCoordsInArray
 	ret nc
 	ld hl, $d728
 	res 1, [hl]
-	ld hl, $4dfa
+	ld hl, UnnamedText_cdfa ; $4dfa
 	jp PrintText
 .asm_cdec
 	ld hl, $d728
 	res 1, [hl]
-	ld hl, $4dff
+	ld hl, UnnamedText_cdff ; $4dff
 	jp PrintText
 
+Unknown_cdf7: ; cdf7 (3:4df7)
 INCBIN "baserom.gbc",$cdf7,$cdfa - $cdf7
 
-UnnamedText_cdfa: ; 0xcdfa
+UnnamedText_cdfa: ; cdfa (3:4dfa)
 	TX_FAR _UnnamedText_cdfa
 	db $50
 ; 0xcdfa + 5 bytes
 
-UnnamedText_cdff: ; 0xcdff
+UnnamedText_cdff: ; cdff (3:4dff)
 	TX_FAR _UnnamedText_cdff
 	db $50
 ; 0xcdff + 5 bytes
@@ -19320,7 +19619,7 @@
 ; [$CF91] = item ID
 ; [$CF96] = item quantity
 ; sets carry flag if successful, unsets carry flag if unsuccessful
-AddItemToInventory_: ; 4E04
+AddItemToInventory_: ; ce04 (3:4e04)
 	ld a,[$cf96] ; a = item quantity
 	push af
 	push bc
@@ -19413,7 +19712,7 @@
 ; hl = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
 ; [$CF92] = index (within the inventory) of the item to remove
 ; [$CF96] = quantity to remove
-RemoveItemFromInventory_: ; 4E74
+RemoveItemFromInventory_: ; ce74 (3:4e74)
 	push hl
 	inc hl
 	ld a,[$cf92] ; index (within the inventory) of the item being removed
@@ -19467,7 +19766,7 @@
 
 ; wild pokemon data: from 4EB8 to 55C7
 
-LoadWildData: ; 4EB8
+LoadWildData: ; ceb8 (3:4eb8)
 	ld hl,WildDataPointers
 	ld a,[W_CURMAP]
 
@@ -19499,7 +19798,7 @@
 	ld bc,$0014
 	jp CopyData
 
-WildDataPointers: ; 4EEB
+WildDataPointers: ; ceeb (3:4eeb)
 	dw NoMons      ; PALLET_TOWN
 	dw NoMons      ; VIRIDIAN_CITY
 	dw NoMons      ; PEWTER_CITY
@@ -19762,12 +20061,12 @@
 		; level, species (ten times)
 
 IF _RED
-NoMons:
+NoMons: ; d0dd (3:50dd)
 	db $00
 
 	db $00
 
-Route1Mons:
+Route1Mons: ; d0df (3:50df)
 	db $19
 	db 3,PIDGEY
 	db 3,RATTATA
@@ -19782,7 +20081,7 @@
 
 	db $00
 
-Route2Mons:
+Route2Mons: ; d0f5 (3:50f5)
 	db $19
 	db 3,RATTATA
 	db 3,PIDGEY
@@ -19797,7 +20096,7 @@
 
 	db $00
 
-Route22Mons:
+Route22Mons: ; d10b (3:510b)
 	db $19
 	db 3,RATTATA
 	db 3,NIDORAN_M
@@ -19812,7 +20111,7 @@
 
 	db $00
 
-ForestMons:
+ForestMons: ; d121 (3:5121)
 	db $08
 	db 4,WEEDLE
 	db 5,KAKUNA
@@ -19827,7 +20126,7 @@
 
 	db $00
 
-Route3Mons:
+Route3Mons: ; d137 (3:5137)
 	db $14
 	db 6,PIDGEY
 	db 5,SPEAROW
@@ -19842,7 +20141,7 @@
 
 	db $00
 
-MoonMons1:
+MoonMons1: ; d14d (3:514d)
 	db $0A
 	db 8,ZUBAT
 	db 7,ZUBAT
@@ -19857,7 +20156,7 @@
 
 	db $00
 
-MoonMonsB1:
+MoonMonsB1: ; d163 (3:5163)
 	db $0A
 	db 8,ZUBAT
 	db 7,ZUBAT
@@ -19872,7 +20171,7 @@
 
 	db $00
 
-MoonMonsB2:
+MoonMonsB2: ; d179 (3:5179)
 	db $0A
 	db 9,ZUBAT
 	db 9,GEODUDE
@@ -19887,7 +20186,7 @@
 
 	db $00
 
-Route4Mons:
+Route4Mons: ; d18f (3:518f)
 	db $14
 	db 10,RATTATA
 	db 10,SPEAROW
@@ -19902,7 +20201,7 @@
 
 	db $00
 
-Route24Mons:
+Route24Mons: ; d1a5 (3:51a5)
 	db $19
 	db 7,WEEDLE
 	db 8,KAKUNA
@@ -19917,7 +20216,7 @@
 
 	db $00
 
-Route25Mons:
+Route25Mons: ; d1bb (3:51bb)
 	db $0F
 	db 8,WEEDLE
 	db 9,KAKUNA
@@ -19932,7 +20231,7 @@
 
 	db $00
 
-Route9Mons:
+Route9Mons: ; d1d1 (3:51d1)
 	db $0F
 	db 16,RATTATA
 	db 16,SPEAROW
@@ -19947,7 +20246,7 @@
 
 	db $00
 
-Route5Mons:
+Route5Mons: ; d1e7 (3:51e7)
 	db $0F
 	db 13,ODDISH
 	db 13,PIDGEY
@@ -19962,7 +20261,7 @@
 
 	db $00
 
-Route6Mons:
+Route6Mons: ; d1fd (3:51fd)
 	db $0F
 	db 13,ODDISH
 	db 13,PIDGEY
@@ -19977,7 +20276,7 @@
 
 	db $00
 
-Route11Mons:
+Route11Mons: ; d213 (3:5213)
 	db $0F
 	db 14,EKANS
 	db 15,SPEAROW
@@ -19992,7 +20291,7 @@
 
 	db $00
 
-TunnelMonsB1:
+TunnelMonsB1: ; d229 (3:5229)
 	db $0F
 	db 16,ZUBAT
 	db 17,ZUBAT
@@ -20007,7 +20306,7 @@
 
 	db $00
 
-TunnelMonsB2:
+TunnelMonsB2: ; d23f (3:523f)
 	db $0F
 	db 16,ZUBAT
 	db 17,ZUBAT
@@ -20022,7 +20321,7 @@
 
 	db $00
 
-Route10Mons:
+Route10Mons: ; d255 (3:5255)
 	db $0F
 	db 16,VOLTORB
 	db 16,SPEAROW
@@ -20037,7 +20336,7 @@
 
 	db $00
 
-Route12Mons:
+Route12Mons: ; d26b (3:526b)
 	db $0F
 	db 24,ODDISH
 	db 25,PIDGEY
@@ -20052,7 +20351,7 @@
 
 	db $00
 
-Route8Mons:
+Route8Mons: ; d281 (3:5281)
 	db $0F
 	db 18,PIDGEY
 	db 18,MANKEY
@@ -20067,7 +20366,7 @@
 
 	db $00
 
-Route7Mons:
+Route7Mons: ; d297 (3:5297)
 	db $0F
 	db 19,PIDGEY
 	db 19,ODDISH
@@ -20082,17 +20381,17 @@
 
 	db $00
 
-TowerMons1:
+TowerMons1: ; d2ad (3:52ad)
 	db $00
 
 	db $00
 
-TowerMons2:
+TowerMons2: ; d2af (3:52af)
 	db $00
 
 	db $00
 
-TowerMons3:
+TowerMons3: ; d2b1 (3:52b1)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -20107,7 +20406,7 @@
 
 	db $00
 
-TowerMons4:
+TowerMons4: ; d2c7 (3:52c7)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -20122,7 +20421,7 @@
 
 	db $00
 
-TowerMons5:
+TowerMons5: ; d2dd (3:52dd)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -20137,7 +20436,7 @@
 
 	db $00
 
-TowerMons6:
+TowerMons6: ; d2f3 (3:52f3)
 	db $0F
 	db 21,GASTLY
 	db 22,GASTLY
@@ -20152,7 +20451,7 @@
 
 	db $00
 
-TowerMons7:
+TowerMons7: ; d309 (3:5309)
 	db $0F
 	db 21,GASTLY
 	db 22,GASTLY
@@ -20167,7 +20466,7 @@
 
 	db $00
 
-Route13Mons:
+Route13Mons: ; d31f (3:531f)
 	db $14
 	db 24,ODDISH
 	db 25,PIDGEY
@@ -20182,7 +20481,7 @@
 
 	db $00
 
-Route14Mons:
+Route14Mons: ; d335 (3:5335)
 	db $0F
 	db 24,ODDISH
 	db 26,PIDGEY
@@ -20197,7 +20496,7 @@
 
 	db $00
 
-Route15Mons:
+Route15Mons: ; d34b (3:534b)
 	db $0F
 	db 24,ODDISH
 	db 26,DITTO
@@ -20212,7 +20511,7 @@
 
 	db $00
 
-Route16Mons:
+Route16Mons: ; d361 (3:5361)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -20227,7 +20526,7 @@
 
 	db $00
 
-Route17Mons:
+Route17Mons: ; d377 (3:5377)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -20242,7 +20541,7 @@
 
 	db $00
 
-Route18Mons:
+Route18Mons: ; d38d (3:538d)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -20257,7 +20556,7 @@
 
 	db $00
 
-ZoneMonsCenter:
+ZoneMonsCenter: ; d3a3 (3:53a3)
 	db $1E
 	db 22,NIDORAN_M
 	db 25,RHYHORN
@@ -20272,7 +20571,7 @@
 
 	db $00
 
-ZoneMons1:
+ZoneMons1: ; d3b9 (3:53b9)
 	db $1E
 	db 24,NIDORAN_M
 	db 26,DODUO
@@ -20287,7 +20586,7 @@
 
 	db $00
 
-ZoneMons2:
+ZoneMons2: ; d3cf (3:53cf)
 	db $1E
 	db 22,NIDORAN_M
 	db 26,RHYHORN
@@ -20302,7 +20601,7 @@
 
 	db $00
 
-ZoneMons3:
+ZoneMons3: ; d3e5 (3:53e5)
 	db $1E
 	db 25,NIDORAN_M
 	db 26,DODUO
@@ -20317,7 +20616,7 @@
 
 	db $00
 
-WaterMons:
+WaterMons: ; d3fb (3:53fb)
 	db $00
 
 	db $05
@@ -20332,7 +20631,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-IslandMons1:
+IslandMons1: ; d411 (3:5411)
 	db $0F
 	db 30,SEEL
 	db 30,SLOWPOKE
@@ -20347,7 +20646,7 @@
 
 	db $00
 
-IslandMonsB1:
+IslandMonsB1: ; d427 (3:5427)
 	db $0A
 	db 30,STARYU
 	db 30,HORSEA
@@ -20362,7 +20661,7 @@
 
 	db $00
 
-IslandMonsB2:
+IslandMonsB2: ; d43d (3:543d)
 	db $0A
 	db 30,SEEL
 	db 30,SLOWPOKE
@@ -20377,7 +20676,7 @@
 
 	db $00
 
-IslandMonsB3:
+IslandMonsB3: ; d453 (3:5453)
 	db $0A
 	db 31,SLOWPOKE
 	db 31,SEEL
@@ -20392,7 +20691,7 @@
 
 	db $00
 
-IslandMonsB4:
+IslandMonsB4: ; d469 (3:5469)
 	db $0A
 	db 31,HORSEA
 	db 31,SHELLDER
@@ -20407,7 +20706,7 @@
 
 	db $00
 
-MansionMons1:
+MansionMons1: ; d47f (3:547f)
 	db $0A
 	db 32,KOFFING
 	db 30,KOFFING
@@ -20422,7 +20721,7 @@
 
 	db $00
 
-MansionMons2:
+MansionMons2: ; d495 (3:5495)
 	db $0A
 	db 32,GROWLITHE
 	db 34,KOFFING
@@ -20437,7 +20736,7 @@
 
 	db $00
 
-MansionMons3:
+MansionMons3: ; d4ab (3:54ab)
 	db $0A
 	db 31,KOFFING
 	db 33,GROWLITHE
@@ -20452,7 +20751,7 @@
 
 	db $00
 
-MansionMonsB1:
+MansionMonsB1: ; d4c1 (3:54c1)
 	db $0A
 	db 33,KOFFING
 	db 31,KOFFING
@@ -20467,7 +20766,7 @@
 
 	db $00
 
-Route21Mons:
+Route21Mons: ; d4d7 (3:54d7)
 	db $19
 	db 21,RATTATA
 	db 23,PIDGEY
@@ -20492,7 +20791,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-DungeonMons1:
+DungeonMons1: ; d501 (3:5501)
 	db $0A
 	db 46,GOLBAT
 	db 46,HYPNO
@@ -20507,7 +20806,7 @@
 
 	db $00
 
-DungeonMons2:
+DungeonMons2: ; d517 (3:5517)
 	db $0F
 	db 51,DODRIO
 	db 51,VENOMOTH
@@ -20522,7 +20821,7 @@
 
 	db $00
 
-DungeonMonsB1:
+DungeonMonsB1: ; d52d (3:552d)
 	db $19
 	db 55,RHYDON
 	db 55,MAROWAK
@@ -20537,7 +20836,7 @@
 
 	db $00
 
-PowerPlantMons:
+PowerPlantMons: ; d543 (3:5543)
 	db $0A
 	db 21,VOLTORB
 	db 21,MAGNEMITE
@@ -20552,7 +20851,7 @@
 
 	db $00
 
-Route23Mons:
+Route23Mons: ; d559 (3:5559)
 	db $0A
 	db 26,EKANS
 	db 33,DITTO
@@ -20567,7 +20866,7 @@
 
 	db $00
 
-PlateauMons2:
+PlateauMons2: ; d56f (3:556f)
 	db $0A
 	db 22,MACHOP
 	db 24,GEODUDE
@@ -20582,7 +20881,7 @@
 
 	db $00
 
-PlateauMons3:
+PlateauMons3: ; d585 (3:5585)
 	db $0F
 	db 24,MACHOP
 	db 26,GEODUDE
@@ -20597,7 +20896,7 @@
 
 	db $00
 
-PlateauMons1:
+PlateauMons1: ; d59b (3:559b)
 	db $0F
 	db 24,MACHOP
 	db 26,GEODUDE
@@ -20612,7 +20911,7 @@
 
 	db $00
 
-CaveMons:
+CaveMons: ; d5b1 (3:55b1)
 	db $14
 	db 18,DIGLETT
 	db 19,DIGLETT
@@ -20629,12 +20928,12 @@
 
 ENDC
 IF _GREEN || !_JAPAN && _BLUE
-NoMons:
+NoMons: ; d0dd (3:50dd)
 	db $00
 
 	db $00
 
-Route1Mons:
+Route1Mons: ; d0df (3:50df)
 	db $19
 	db 3,PIDGEY
 	db 3,RATTATA
@@ -20649,7 +20948,7 @@
 
 	db $00
 
-Route2Mons:
+Route2Mons: ; d0f5 (3:50f5)
 	db $19
 	db 3,RATTATA
 	db 3,PIDGEY
@@ -20664,7 +20963,7 @@
 
 	db $00
 
-Route22Mons:
+Route22Mons: ; d10b (3:510b)
 	db $19
 	db 3,RATTATA
 	db 3,NIDORAN_F
@@ -20679,7 +20978,7 @@
 
 	db $00
 
-ForestMons:
+ForestMons: ; d121 (3:5121)
 	db $08
 	db 4,CATERPIE
 	db 5,METAPOD
@@ -20694,7 +20993,7 @@
 
 	db $00
 
-Route3Mons:
+Route3Mons: ; d137 (3:5137)
 	db $14
 	db 6,PIDGEY
 	db 5,SPEAROW
@@ -20709,7 +21008,7 @@
 
 	db $00
 
-MoonMons1:
+MoonMons1: ; d14d (3:514d)
 	db $0A
 	db 8,ZUBAT
 	db 7,ZUBAT
@@ -20724,7 +21023,7 @@
 
 	db $00
 
-MoonMonsB1:
+MoonMonsB1: ; d163 (3:5163)
 	db $0A
 	db 8,ZUBAT
 	db 7,ZUBAT
@@ -20739,7 +21038,7 @@
 
 	db $00
 
-MoonMonsB2:
+MoonMonsB2: ; d179 (3:5179)
 	db $0A
 	db 9,ZUBAT
 	db 9,GEODUDE
@@ -20754,7 +21053,7 @@
 
 	db $00
 
-Route4Mons:
+Route4Mons: ; d18f (3:518f)
 	db $14
 	db 10,RATTATA
 	db 10,SPEAROW
@@ -20769,7 +21068,7 @@
 
 	db $00
 
-Route24Mons:
+Route24Mons: ; d1a5 (3:51a5)
 	db $19
 	db 7,CATERPIE
 	db 8,METAPOD
@@ -20784,7 +21083,7 @@
 
 	db $00
 
-Route25Mons:
+Route25Mons: ; d1bb (3:51bb)
 	db $0F
 	db 8,CATERPIE
 	db 9,METAPOD
@@ -20799,7 +21098,7 @@
 
 	db $00
 
-Route9Mons:
+Route9Mons: ; d1d1 (3:51d1)
 	db $0F
 	db 16,RATTATA
 	db 16,SPEAROW
@@ -20814,7 +21113,7 @@
 
 	db $00
 
-Route5Mons:
+Route5Mons: ; d1e7 (3:51e7)
 	db $0F
 	db 13,BELLSPROUT
 	db 13,PIDGEY
@@ -20829,7 +21128,7 @@
 
 	db $00
 
-Route6Mons:
+Route6Mons: ; d1fd (3:51fd)
 	db $0F
 	db 13,BELLSPROUT
 	db 13,PIDGEY
@@ -20844,7 +21143,7 @@
 
 	db $00
 
-Route11Mons:
+Route11Mons: ; d213 (3:5213)
 	db $0F
 	db 14,SANDSHREW
 	db 15,SPEAROW
@@ -20859,7 +21158,7 @@
 
 	db $00
 
-TunnelMonsB1:
+TunnelMonsB1: ; d229 (3:5229)
 	db $0F
 	db 16,ZUBAT
 	db 17,ZUBAT
@@ -20874,7 +21173,7 @@
 
 	db $00
 
-TunnelMonsB2:
+TunnelMonsB2: ; d23f (3:523f)
 	db $0F
 	db 16,ZUBAT
 	db 17,ZUBAT
@@ -20889,7 +21188,7 @@
 
 	db $00
 
-Route10Mons:
+Route10Mons: ; d255 (3:5255)
 	db $0F
 	db 16,VOLTORB
 	db 16,SPEAROW
@@ -20904,7 +21203,7 @@
 
 	db $00
 
-Route12Mons:
+Route12Mons: ; d26b (3:526b)
 	db $0F
 	db 24,BELLSPROUT
 	db 25,PIDGEY
@@ -20919,7 +21218,7 @@
 
 	db $00
 
-Route8Mons:
+Route8Mons: ; d281 (3:5281)
 	db $0F
 	db 18,PIDGEY
 	db 18,MEOWTH
@@ -20934,7 +21233,7 @@
 
 	db $00
 
-Route7Mons:
+Route7Mons: ; d297 (3:5297)
 	db $0F
 	db 19,PIDGEY
 	db 19,BELLSPROUT
@@ -20949,17 +21248,17 @@
 
 	db $00
 
-TowerMons1:
+TowerMons1: ; d2ad (3:52ad)
 	db $00
 
 	db $00
 
-TowerMons2:
+TowerMons2: ; d2af (3:52af)
 	db $00
 
 	db $00
 
-TowerMons3:
+TowerMons3: ; d2b1 (3:52b1)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -20974,7 +21273,7 @@
 
 	db $00
 
-TowerMons4:
+TowerMons4: ; d2c7 (3:52c7)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -20989,7 +21288,7 @@
 
 	db $00
 
-TowerMons5:
+TowerMons5: ; d2dd (3:52dd)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -21004,7 +21303,7 @@
 
 	db $00
 
-TowerMons6:
+TowerMons6: ; d2f3 (3:52f3)
 	db $0F
 	db 21,GASTLY
 	db 22,GASTLY
@@ -21019,7 +21318,7 @@
 
 	db $00
 
-TowerMons7:
+TowerMons7: ; d309 (3:5309)
 	db $0F
 	db 21,GASTLY
 	db 22,GASTLY
@@ -21034,7 +21333,7 @@
 
 	db $00
 
-Route13Mons:
+Route13Mons: ; d31f (3:531f)
 	db $14
 	db 24,BELLSPROUT
 	db 25,PIDGEY
@@ -21049,7 +21348,7 @@
 
 	db $00
 
-Route14Mons:
+Route14Mons: ; d335 (3:5335)
 	db $0F
 	db 24,BELLSPROUT
 	db 26,PIDGEY
@@ -21064,7 +21363,7 @@
 
 	db $00
 
-Route15Mons:
+Route15Mons: ; d34b (3:534b)
 	db $0F
 	db 24,BELLSPROUT
 	db 26,DITTO
@@ -21079,7 +21378,7 @@
 
 	db $00
 
-Route16Mons:
+Route16Mons: ; d361 (3:5361)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -21094,7 +21393,7 @@
 
 	db $00
 
-Route17Mons:
+Route17Mons: ; d377 (3:5377)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -21109,7 +21408,7 @@
 
 	db $00
 
-Route18Mons:
+Route18Mons: ; d38d (3:538d)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -21124,7 +21423,7 @@
 
 	db $00
 
-ZoneMonsCenter:
+ZoneMonsCenter: ; d3a3 (3:53a3)
 	db $1E
 	db 22,NIDORAN_F
 	db 25,RHYHORN
@@ -21139,7 +21438,7 @@
 
 	db $00
 
-ZoneMons1:
+ZoneMons1: ; d3b9 (3:53b9)
 	db $1E
 	db 24,NIDORAN_F
 	db 26,DODUO
@@ -21154,7 +21453,7 @@
 
 	db $00
 
-ZoneMons2:
+ZoneMons2: ; d3cf (3:53cf)
 	db $1E
 	db 22,NIDORAN_F
 	db 26,RHYHORN
@@ -21169,7 +21468,7 @@
 
 	db $00
 
-ZoneMons3:
+ZoneMons3: ; d3e5 (3:53e5)
 	db $1E
 	db 25,NIDORAN_F
 	db 26,DODUO
@@ -21184,7 +21483,7 @@
 
 	db $00
 
-WaterMons:
+WaterMons: ; d3fb (3:53fb)
 	db $00
 
 	db $05
@@ -21199,7 +21498,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-IslandMons1:
+IslandMons1: ; d411 (3:5411)
 	db $0F
 	db 30,SEEL
 	db 30,PSYDUCK
@@ -21214,7 +21513,7 @@
 
 	db $00
 
-IslandMonsB1:
+IslandMonsB1: ; d427 (3:5427)
 	db $0A
 	db 30,SHELLDER
 	db 30,KRABBY
@@ -21229,7 +21528,7 @@
 
 	db $00
 
-IslandMonsB2:
+IslandMonsB2: ; d43d (3:543d)
 	db $0A
 	db 30,SEEL
 	db 30,PSYDUCK
@@ -21244,7 +21543,7 @@
 
 	db $00
 
-IslandMonsB3:
+IslandMonsB3: ; d453 (3:5453)
 	db $0A
 	db 31,PSYDUCK
 	db 31,SEEL
@@ -21259,7 +21558,7 @@
 
 	db $00
 
-IslandMonsB4:
+IslandMonsB4: ; d469 (3:5469)
 	db $0A
 	db 31,KRABBY
 	db 31,STARYU
@@ -21274,7 +21573,7 @@
 
 	db $00
 
-MansionMons1:
+MansionMons1: ; d47f (3:547f)
 	db $0A
 	db 32,GRIMER
 	db 30,GRIMER
@@ -21289,7 +21588,7 @@
 
 	db $00
 
-MansionMons2:
+MansionMons2: ; d495 (3:5495)
 	db $0A
 	db 32,VULPIX
 	db 34,GRIMER
@@ -21304,7 +21603,7 @@
 
 	db $00
 
-MansionMons3:
+MansionMons3: ; d4ab (3:54ab)
 	db $0A
 	db 31,GRIMER
 	db 33,VULPIX
@@ -21319,7 +21618,7 @@
 
 	db $00
 
-MansionMonsB1:
+MansionMonsB1: ; d4c1 (3:54c1)
 	db $0A
 	db 33,GRIMER
 	db 31,GRIMER
@@ -21334,7 +21633,7 @@
 
 	db $00
 
-Route21Mons:
+Route21Mons: ; d4d7 (3:54d7)
 	db $19
 	db 21,RATTATA
 	db 23,PIDGEY
@@ -21359,7 +21658,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-DungeonMons1:
+DungeonMons1: ; d501 (3:5501)
 	db $0A
 	db 46,GOLBAT
 	db 46,HYPNO
@@ -21374,7 +21673,7 @@
 
 	db $00
 
-DungeonMons2:
+DungeonMons2: ; d517 (3:5517)
 	db $0F
 	db 51,DODRIO
 	db 51,VENOMOTH
@@ -21389,7 +21688,7 @@
 
 	db $00
 
-DungeonMonsB1:
+DungeonMonsB1: ; d52d (3:552d)
 	db $19
 	db 55,RHYDON
 	db 55,MAROWAK
@@ -21404,7 +21703,7 @@
 
 	db $00
 
-PowerPlantMons:
+PowerPlantMons: ; d543 (3:5543)
 	db $0A
 	db 21,VOLTORB
 	db 21,MAGNEMITE
@@ -21419,7 +21718,7 @@
 
 	db $00
 
-Route23Mons:
+Route23Mons: ; d559 (3:5559)
 	db $0A
 	db 26,SANDSHREW
 	db 33,DITTO
@@ -21434,7 +21733,7 @@
 
 	db $00
 
-PlateauMons2:
+PlateauMons2: ; d56f (3:556f)
 	db $0A
 	db 22,MACHOP
 	db 24,GEODUDE
@@ -21449,7 +21748,7 @@
 
 	db $00
 
-PlateauMons3:
+PlateauMons3: ; d585 (3:5585)
 	db $0F
 	db 24,MACHOP
 	db 26,GEODUDE
@@ -21464,7 +21763,7 @@
 
 	db $00
 
-PlateauMons1:
+PlateauMons1: ; d59b (3:559b)
 	db $0F
 	db 24,MACHOP
 	db 26,GEODUDE
@@ -21479,7 +21778,7 @@
 
 	db $00
 
-CaveMons:
+CaveMons: ; d5b1 (3:55b1)
 	db $14
 	db 18,DIGLETT
 	db 19,DIGLETT
@@ -21496,12 +21795,12 @@
 
 ENDC
 IF _JAPAN && _BLUE
-NoMons:
+NoMons: ; d0dd (3:50dd)
 	db $00
 
 	db $00
 
-Route1Mons:
+Route1Mons: ; d0df (3:50df)
 	db $19
 	db 3,PIDGEY
 	db 3,RATTATA
@@ -21516,7 +21815,7 @@
 
 	db $00
 
-Route2Mons:
+Route2Mons: ; d0f5 (3:50f5)
 	db $19
 	db 3,RATTATA
 	db 3,PIDGEY
@@ -21531,7 +21830,7 @@
 
 	db $00
 
-Route22Mons:
+Route22Mons: ; d10b (3:510b)
 	db $19
 	db 3,RATTATA
 	db 3,NIDORAN_M
@@ -21546,7 +21845,7 @@
 
 	db $00
 
-ForestMons:
+ForestMons: ; d121 (3:5121)
 	db $08
 	db 4,CATERPIE
 	db 5,METAPOD
@@ -21561,7 +21860,7 @@
 
 	db $00
 
-Route3Mons:
+Route3Mons: ; d137 (3:5137)
 	db $14
 	db 6,PIDGEY
 	db 5,SPEAROW
@@ -21576,7 +21875,7 @@
 
 	db $00
 
-MoonMons1:
+MoonMons1: ; d14d (3:514d)
 	db $0A
 	db 8,ZUBAT
 	db 7,ZUBAT
@@ -21591,7 +21890,7 @@
 
 	db $00
 
-MoonMonsB1:
+MoonMonsB1: ; d163 (3:5163)
 	db $0A
 	db 8,ZUBAT
 	db 7,ZUBAT
@@ -21606,7 +21905,7 @@
 
 	db $00
 
-MoonMonsB2:
+MoonMonsB2: ; d179 (3:5179)
 	db $0A
 	db 9,ZUBAT
 	db 9,GEODUDE
@@ -21621,7 +21920,7 @@
 
 	db $00
 
-Route4Mons:
+Route4Mons: ; d18f (3:518f)
 	db $14
 	db 10,RATTATA
 	db 10,SPEAROW
@@ -21636,7 +21935,7 @@
 
 	db $00
 
-Route24Mons:
+Route24Mons: ; d1a5 (3:51a5)
 	db $19
 	db 7,CATERPIE
 	db 8,METAPOD
@@ -21651,7 +21950,7 @@
 
 	db $00
 
-Route25Mons:
+Route25Mons: ; d1bb (3:51bb)
 	db $0F
 	db 8,CATERPIE
 	db 9,METAPOD
@@ -21666,7 +21965,7 @@
 
 	db $00
 
-Route9Mons:
+Route9Mons: ; d1d1 (3:51d1)
 	db $0F
 	db 16,RATTATA
 	db 16,SPEAROW
@@ -21681,7 +21980,7 @@
 
 	db $00
 
-Route5Mons:
+Route5Mons: ; d1e7 (3:51e7)
 	db $0F
 	db 13,ODDISH
 	db 13,PIDGEY
@@ -21696,7 +21995,7 @@
 
 	db $00
 
-Route6Mons:
+Route6Mons: ; d1fd (3:51fd)
 	db $0F
 	db 13,ODDISH
 	db 13,PIDGEY
@@ -21711,7 +22010,7 @@
 
 	db $00
 
-Route11Mons:
+Route11Mons: ; d213 (3:5213)
 	db $0F
 	db 14,SANDSHREW
 	db 15,SPEAROW
@@ -21726,7 +22025,7 @@
 
 	db $00
 
-TunnelMonsB1:
+TunnelMonsB1: ; d229 (3:5229)
 	db $0F
 	db 16,ZUBAT
 	db 17,ZUBAT
@@ -21741,7 +22040,7 @@
 
 	db $00
 
-TunnelMonsB2:
+TunnelMonsB2: ; d23f (3:523f)
 	db $0F
 	db 16,ZUBAT
 	db 17,ZUBAT
@@ -21756,7 +22055,7 @@
 
 	db $00
 
-Route10Mons:
+Route10Mons: ; d255 (3:5255)
 	db $0F
 	db 16,VOLTORB
 	db 16,SPEAROW
@@ -21771,7 +22070,7 @@
 
 	db $00
 
-Route12Mons:
+Route12Mons: ; d26b (3:526b)
 	db $0F
 	db 24,ODDISH
 	db 25,PIDGEY
@@ -21786,7 +22085,7 @@
 
 	db $00
 
-Route8Mons:
+Route8Mons: ; d281 (3:5281)
 	db $0F
 	db 18,PIDGEY
 	db 18,MEOWTH
@@ -21801,7 +22100,7 @@
 
 	db $00
 
-Route7Mons:
+Route7Mons: ; d297 (3:5297)
 	db $0F
 	db 19,PIDGEY
 	db 19,ODDISH
@@ -21816,17 +22115,17 @@
 
 	db $00
 
-TowerMons1:
+TowerMons1: ; d2ad (3:52ad)
 	db $00
 
 	db $00
 
-TowerMons2:
+TowerMons2: ; d2af (3:52af)
 	db $00
 
 	db $00
 
-TowerMons3:
+TowerMons3: ; d2b1 (3:52b1)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -21841,7 +22140,7 @@
 
 	db $00
 
-TowerMons4:
+TowerMons4: ; d2c7 (3:52c7)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -21856,7 +22155,7 @@
 
 	db $00
 
-TowerMons5:
+TowerMons5: ; d2dd (3:52dd)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -21871,7 +22170,7 @@
 
 	db $00
 
-TowerMons6:
+TowerMons6: ; d2f3 (3:52f3)
 	db $0F
 	db 21,GASTLY
 	db 22,GASTLY
@@ -21886,7 +22185,7 @@
 
 	db $00
 
-TowerMons7:
+TowerMons7: ; d309 (3:5309)
 	db $0F
 	db 21,GASTLY
 	db 22,GASTLY
@@ -21901,7 +22200,7 @@
 
 	db $00
 
-Route13Mons:
+Route13Mons: ; d31f (3:531f)
 	db $14
 	db 24,ODDISH
 	db 25,PIDGEY
@@ -21916,7 +22215,7 @@
 
 	db $00
 
-Route14Mons:
+Route14Mons: ; d335 (3:5335)
 	db $0F
 	db 24,ODDISH
 	db 26,PIDGEY
@@ -21931,7 +22230,7 @@
 
 	db $00
 
-Route15Mons:
+Route15Mons: ; d34b (3:534b)
 	db $0F
 	db 24,ODDISH
 	db 26,DITTO
@@ -21946,7 +22245,7 @@
 
 	db $00
 
-Route16Mons:
+Route16Mons: ; d361 (3:5361)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -21961,7 +22260,7 @@
 
 	db $00
 
-Route17Mons:
+Route17Mons: ; d377 (3:5377)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -21976,7 +22275,7 @@
 
 	db $00
 
-Route18Mons:
+Route18Mons: ; d38d (3:538d)
 	db $19
 	db 20,SPEAROW
 	db 22,SPEAROW
@@ -21991,7 +22290,7 @@
 
 	db $00
 
-ZoneMonsCenter:
+ZoneMonsCenter: ; d3a3 (3:53a3)
 	db $1E
 	db 22,NIDORAN_M
 	db 25,RHYHORN
@@ -22006,7 +22305,7 @@
 
 	db $00
 
-ZoneMons1:
+ZoneMons1: ; d3b9 (3:53b9)
 	db $1E
 	db 24,NIDORAN_M
 	db 26,DODUO
@@ -22021,7 +22320,7 @@
 
 	db $00
 
-ZoneMons2:
+ZoneMons2: ; d3cf (3:53cf)
 	db $1E
 	db 22,NIDORAN_M
 	db 26,RHYHORN
@@ -22036,7 +22335,7 @@
 
 	db $00
 
-ZoneMons3:
+ZoneMons3: ; d3e5 (3:53e5)
 	db $1E
 	db 25,NIDORAN_M
 	db 26,DODUO
@@ -22051,7 +22350,7 @@
 
 	db $00
 
-WaterMons:
+WaterMons: ; d3fb (3:53fb)
 	db $00
 
 	db $05
@@ -22066,7 +22365,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-WaterMons:
+WaterMons: ; d3fb (3:53fb)
 	db $00
 
 	db $05
@@ -22081,7 +22380,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-IslandMons1:
+IslandMons1: ; d411 (3:5411)
 	db $0F
 	db 30,SEEL
 	db 30,HORSEA
@@ -22096,7 +22395,7 @@
 
 	db $00
 
-IslandMonsB1:
+IslandMonsB1: ; d427 (3:5427)
 	db $0A
 	db 30,SHELLDER
 	db 30,KRABBY
@@ -22111,7 +22410,7 @@
 
 	db $00
 
-IslandMonsB2:
+IslandMonsB2: ; d43d (3:543d)
 	db $0A
 	db 30,SEEL
 	db 30,HORSEA
@@ -22126,7 +22425,7 @@
 
 	db $00
 
-IslandMonsB3:
+IslandMonsB3: ; d453 (3:5453)
 	db $0A
 	db 31,HORSEA
 	db 31,SEEL
@@ -22141,7 +22440,7 @@
 
 	db $00
 
-IslandMonsB4:
+IslandMonsB4: ; d469 (3:5469)
 	db $0A
 	db 31,KRABBY
 	db 31,STARYU
@@ -22156,7 +22455,7 @@
 
 	db $00
 
-MansionMons1:
+MansionMons1: ; d47f (3:547f)
 	db $0A
 	db 32,GRIMER
 	db 30,GRIMER
@@ -22171,7 +22470,7 @@
 
 	db $00
 
-MansionMons2:
+MansionMons2: ; d495 (3:5495)
 	db $0A
 	db 32,GROWLITHE
 	db 34,GRIMER
@@ -22186,7 +22485,7 @@
 
 	db $00
 
-MansionMons3:
+MansionMons3: ; d4ab (3:54ab)
 	db $0A
 	db 31,GRIMER
 	db 33,GROWLITHE
@@ -22201,7 +22500,7 @@
 
 	db $00
 
-MansionMonsB1:
+MansionMonsB1: ; d4c1 (3:54c1)
 	db $0A
 	db 33,GRIMER
 	db 31,GRIMER
@@ -22216,7 +22515,7 @@
 
 	db $00
 
-Route21Mons:
+Route21Mons: ; d4d7 (3:54d7)
 	db $19
 	db 21,RATTATA
 	db 23,PIDGEY
@@ -22241,7 +22540,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-DungeonMons1:
+DungeonMons1: ; d501 (3:5501)
 	db $0A
 	db 46,GOLBAT
 	db 46,HYPNO
@@ -22256,7 +22555,7 @@
 
 	db $00
 
-DungeonMons2:
+DungeonMons2: ; d517 (3:5517)
 	db $0F
 	db 51,DODRIO
 	db 51,VENOMOTH
@@ -22271,7 +22570,7 @@
 
 	db $00
 
-DungeonMonsB1:
+DungeonMonsB1: ; d52d (3:552d)
 	db $19
 	db 55,RHYDON
 	db 55,MAROWAK
@@ -22286,7 +22585,7 @@
 
 	db $00
 
-PowerPlantMons:
+PowerPlantMons: ; d543 (3:5543)
 	db $0A
 	db 21,VOLTORB
 	db 21,MAGNEMITE
@@ -22301,7 +22600,7 @@
 
 	db $00
 
-Route23Mons:
+Route23Mons: ; d559 (3:5559)
 	db $0A
 	db 26,SANDSHREW
 	db 33,DITTO
@@ -22316,7 +22615,7 @@
 
 	db $00
 
-PlateauMons2:
+PlateauMons2: ; d56f (3:556f)
 	db $0A
 	db 22,MACHOP
 	db 24,GEODUDE
@@ -22331,7 +22630,7 @@
 
 	db $00
 
-PlateauMons3:
+PlateauMons3: ; d585 (3:5585)
 	db $0F
 	db 24,MACHOP
 	db 26,GEODUDE
@@ -22346,7 +22645,7 @@
 
 	db $00
 
-PlateauMons1:
+PlateauMons1: ; d59b (3:559b)
 	db $0F
 	db 24,MACHOP
 	db 26,GEODUDE
@@ -22361,7 +22660,7 @@
 
 	db $00
 
-CaveMons:
+CaveMons: ; d5b1 (3:55b1)
 	db $14
 	db 18,DIGLETT
 	db 19,DIGLETT
@@ -22378,12 +22677,12 @@
 
 ENDC
 IF _YELLOW
-NoMons:
+NoMons: ; d0dd (3:50dd)
 	db $00
 
 	db $00
 
-Route1Mons:
+Route1Mons: ; d0df (3:50df)
 	db $19
 	db 3,PIDGEY
 	db 4,PIDGEY
@@ -22398,7 +22697,7 @@
 
 	db $00
 
-Route2Mons:
+Route2Mons: ; d0f5 (3:50f5)
 	db $19
 	db 3,RATTATA
 	db 3,PIDGEY
@@ -22413,7 +22712,7 @@
 
 	db $00
 
-Route22Mons:
+Route22Mons: ; d10b (3:510b)
 	db $19
 	db 2,NIDORAN_M
 	db 2,NIDORAN_F
@@ -22428,7 +22727,7 @@
 
 	db $00
 
-ForestMons:
+ForestMons: ; d121 (3:5121)
 	db $19
 	db 3,CATERPIE
 	db 4,METAPOD
@@ -22443,7 +22742,7 @@
 
 	db $00
 
-Route3Mons:
+Route3Mons: ; d137 (3:5137)
 	db $14
 	db 8,SPEAROW
 	db 9,SPEAROW
@@ -22458,7 +22757,7 @@
 
 	db $00
 
-MoonMons1:
+MoonMons1: ; d14d (3:514d)
 	db $0A
 	db 8,ZUBAT
 	db 9,ZUBAT
@@ -22473,7 +22772,7 @@
 
 	db $00
 
-MoonMonsB1:
+MoonMonsB1: ; d163 (3:5163)
 	db $0A
 	db 8,ZUBAT
 	db 9,ZUBAT
@@ -22488,7 +22787,7 @@
 
 	db $00
 
-MoonMonsB2:
+MoonMonsB2: ; d179 (3:5179)
 	db $0A
 	db 10,ZUBAT
 	db 11,GEODUDE
@@ -22503,7 +22802,7 @@
 
 	db $00
 
-Route4Mons:
+Route4Mons: ; d18f (3:518f)
 	db $14
 	db 8,SPEAROW
 	db 9,SPEAROW
@@ -22518,7 +22817,7 @@
 
 	db $00
 
-Route24Mons:
+Route24Mons: ; d1a5 (3:51a5)
 	db $19
 	db 12,ODDISH
 	db 12,BELLSPROUT
@@ -22533,7 +22832,7 @@
 
 	db $00
 
-Route25Mons:
+Route25Mons: ; d1bb (3:51bb)
 	db $0F
 	db 12,ODDISH
 	db 12,BELLSPROUT
@@ -22548,7 +22847,7 @@
 
 	db $00
 
-Route9Mons:
+Route9Mons: ; d1d1 (3:51d1)
 	db $0F
 	db 16,NIDORAN_M
 	db 16,NIDORAN_F
@@ -22563,7 +22862,7 @@
 
 	db $00
 
-Route5Mons:
+Route5Mons: ; d1e7 (3:51e7)
 	db $0F
 	db 15,PIDGEY
 	db 14,RATTATA
@@ -22578,7 +22877,7 @@
 
 	db $00
 
-Route6Mons:
+Route6Mons: ; d1fd (3:51fd)
 	db $0F
 	db 15,PIDGEY
 	db 14,RATTATA
@@ -22603,7 +22902,7 @@
 	db 15,GOLDUCK
 	db 20,GOLDUCK
 
-Route11Mons:
+Route11Mons: ; d213 (3:5213)
 	db $0F
 	db 16,PIDGEY
 	db 15,RATTATA
@@ -22618,7 +22917,7 @@
 
 	db $00
 
-TunnelMonsB1:
+TunnelMonsB1: ; d229 (3:5229)
 	db $0F
 	db 15,ZUBAT
 	db 16,GEODUDE
@@ -22633,7 +22932,7 @@
 
 	db $00
 
-TunnelMonsB2:
+TunnelMonsB2: ; d23f (3:523f)
 	db $0F
 	db 20,ZUBAT
 	db 17,GEODUDE
@@ -22648,7 +22947,7 @@
 
 	db $00
 
-Route10Mons:
+Route10Mons: ; d255 (3:5255)
 	db $0F
 	db 16,MAGNEMITE
 	db 18,RATTATA
@@ -22663,7 +22962,7 @@
 
 	db $00
 
-Route12Mons:
+Route12Mons: ; d26b (3:526b)
 	db $0F
 	db 25,ODDISH
 	db 25,BELLSPROUT
@@ -22688,7 +22987,7 @@
 	db 15,SLOWBRO
 	db 20,SLOWBRO
 
-Route8Mons:
+Route8Mons: ; d281 (3:5281)
 	db $0F
 	db 20,PIDGEY
 	db 22,PIDGEY
@@ -22703,7 +23002,7 @@
 
 	db $00
 
-Route7Mons:
+Route7Mons: ; d297 (3:5297)
 	db $0F
 	db 20,PIDGEY
 	db 22,PIDGEY
@@ -22718,17 +23017,17 @@
 
 	db $00
 
-TowerMons1:
+TowerMons1: ; d2ad (3:52ad)
 	db $00
 
 	db $00
 
-TowerMons2:
+TowerMons2: ; d2af (3:52af)
 	db $00
 
 	db $00
 
-TowerMons3:
+TowerMons3: ; d2b1 (3:52b1)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -22743,7 +23042,7 @@
 
 	db $00
 
-TowerMons4:
+TowerMons4: ; d2c7 (3:52c7)
 	db $0A
 	db 20,GASTLY
 	db 21,GASTLY
@@ -22758,7 +23057,7 @@
 
 	db $00
 
-TowerMons5:
+TowerMons5: ; d2dd (3:52dd)
 	db $0F
 	db 22,GASTLY
 	db 23,GASTLY
@@ -22773,7 +23072,7 @@
 
 	db $00
 
-TowerMons6:
+TowerMons6: ; d2f3 (3:52f3)
 	db $0F
 	db 22,GASTLY
 	db 23,GASTLY
@@ -22788,7 +23087,7 @@
 
 	db $00
 
-TowerMons7:
+TowerMons7: ; d309 (3:5309)
 	db $14
 	db 24,GASTLY
 	db 25,GASTLY
@@ -22803,7 +23102,7 @@
 
 	db $00
 
-Route13Mons:
+Route13Mons: ; d31f (3:531f)
 	db $0F
 	db 25,ODDISH
 	db 25,BELLSPROUT
@@ -22828,7 +23127,7 @@
 	db 15,SLOWBRO
 	db 20,SLOWBRO
 
-Route14Mons:
+Route14Mons: ; d335 (3:5335)
 	db $0F
 	db 26,ODDISH
 	db 26,BELLSPROUT
@@ -22843,7 +23142,7 @@
 
 	db $00
 
-Route15Mons:
+Route15Mons: ; d34b (3:534b)
 	db $0F
 	db 26,ODDISH
 	db 26,BELLSPROUT
@@ -22858,7 +23157,7 @@
 
 	db $00
 
-Route16Mons:
+Route16Mons: ; d361 (3:5361)
 	db $19
 	db 22,SPEAROW
 	db 22,DODUO
@@ -22873,7 +23172,7 @@
 
 	db $00
 
-Route17Mons:
+Route17Mons: ; d377 (3:5377)
 	db $19
 	db 26,DODUO
 	db 27,FEAROW
@@ -22888,7 +23187,7 @@
 
 	db $00
 
-Route18Mons:
+Route18Mons: ; d38d (3:538d)
 	db $19
 	db 22,SPEAROW
 	db 22,DODUO
@@ -22903,7 +23202,7 @@
 
 	db $00
 
-ZoneMonsCenter:
+ZoneMonsCenter: ; d3a3 (3:53a3)
 	db $1E
 	db 14,NIDORAN_M
 	db 36,NIDORAN_F
@@ -22918,7 +23217,7 @@
 
 	db $00
 
-ZoneMons1:
+ZoneMons1: ; d3b9 (3:53b9)
 	db $1E
 	db 21,NIDORAN_M
 	db 29,NIDORAN_F
@@ -22933,7 +23232,7 @@
 
 	db $00
 
-ZoneMons2:
+ZoneMons2: ; d3cf (3:53cf)
 	db $1E
 	db 36,NIDORAN_M
 	db 14,NIDORAN_F
@@ -22948,7 +23247,7 @@
 
 	db $00
 
-ZoneMons3:
+ZoneMons3: ; d3e5 (3:53e5)
 	db $1E
 	db 29,NIDORAN_M
 	db 21,NIDORAN_F
@@ -22963,7 +23262,7 @@
 
 	db $00
 
-WaterMons:
+WaterMons: ; d3fb (3:53fb)
 	db $00
 
 	db $05
@@ -22978,7 +23277,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-WaterMons:
+WaterMons: ; d3fb (3:53fb)
 	db $00
 
 	db $05
@@ -22993,7 +23292,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-IslandMons1:
+IslandMons1: ; d411 (3:5411)
 	db $0F
 	db 18,ZUBAT
 	db 25,KRABBY
@@ -23008,7 +23307,7 @@
 
 	db $00
 
-IslandMonsB1:
+IslandMonsB1: ; d427 (3:5427)
 	db $0A
 	db 27,ZUBAT
 	db 26,KRABBY
@@ -23023,7 +23322,7 @@
 
 	db $00
 
-IslandMonsB2:
+IslandMonsB2: ; d43d (3:543d)
 	db $0A
 	db 27,ZUBAT
 	db 27,KRABBY
@@ -23038,7 +23337,7 @@
 
 	db $00
 
-IslandMonsB3:
+IslandMonsB3: ; d453 (3:5453)
 	db $0A
 	db 27,GOLBAT
 	db 36,ZUBAT
@@ -23063,7 +23362,7 @@
 	db 30,STARYU
 	db 30,STARYU
 
-IslandMonsB4:
+IslandMonsB4: ; d469 (3:5469)
 	db $0A
 	db 36,GOLBAT
 	db 36,ZUBAT
@@ -23088,7 +23387,7 @@
 	db 30,STARYU
 	db 30,STARYU
 
-MansionMons1:
+MansionMons1: ; d47f (3:547f)
 	db $0A
 	db 34,RATTATA
 	db 34,RATICATE
@@ -23103,7 +23402,7 @@
 
 	db $00
 
-MansionMons2:
+MansionMons2: ; d495 (3:5495)
 	db $0A
 	db 37,RATTATA
 	db 37,RATICATE
@@ -23118,7 +23417,7 @@
 
 	db $00
 
-MansionMons3:
+MansionMons3: ; d4ab (3:54ab)
 	db $0A
 	db 40,RATTATA
 	db 40,RATICATE
@@ -23133,7 +23432,7 @@
 
 	db $00
 
-MansionMonsB1:
+MansionMonsB1: ; d4c1 (3:54c1)
 	db $0A
 	db 35,GRIMER
 	db 38,GRIMER
@@ -23148,7 +23447,7 @@
 
 	db $00
 
-Route21Mons:
+Route21Mons: ; d4d7 (3:54d7)
 	db $19
 	db 15,PIDGEY
 	db 13,RATTATA
@@ -23173,7 +23472,7 @@
 	db 35,TENTACOOL
 	db 40,TENTACOOL
 
-DungeonMons1:
+DungeonMons1: ; d501 (3:5501)
 	db $0A
 	db 50,GOLBAT
 	db 55,GOLBAT
@@ -23188,7 +23487,7 @@
 
 	db $00
 
-DungeonMons2:
+DungeonMons2: ; d517 (3:5517)
 	db $0F
 	db 52,GOLBAT
 	db 57,GOLBAT
@@ -23203,7 +23502,7 @@
 
 	db $00
 
-DungeonMonsB1:
+DungeonMonsB1: ; d52d (3:552d)
 	db $19
 	db 54,GOLBAT
 	db 59,GOLBAT
@@ -23218,7 +23517,7 @@
 
 	db $00
 
-PowerPlantMons:
+PowerPlantMons: ; d543 (3:5543)
 	db $0A
 	db 30,MAGNEMITE
 	db 35,MAGNEMITE
@@ -23233,7 +23532,7 @@
 
 	db $00
 
-Route23Mons:
+Route23Mons: ; d559 (3:5559)
 	db $0A
 	db 41,NIDORINO
 	db 41,NIDORINA
@@ -23248,7 +23547,7 @@
 
 	db $00
 
-PlateauMons2:
+PlateauMons2: ; d56f (3:556f)
 	db $0A
 	db 31,GEODUDE
 	db 36,GEODUDE
@@ -23263,7 +23562,7 @@
 
 	db $00
 
-PlateauMons3:
+PlateauMons3: ; d585 (3:5585)
 	db $0F
 	db 36,GEODUDE
 	db 44,GOLBAT
@@ -23278,7 +23577,7 @@
 
 	db $00
 
-PlateauMons1:
+PlateauMons1: ; d59b (3:559b)
 	db $0F
 	db 26,GEODUDE
 	db 31,GEODUDE
@@ -23293,7 +23592,7 @@
 
 	db $00
 
-CaveMons:
+CaveMons: ; d5b1 (3:55b1)
 	db $14
 	db 18,DIGLETT
 	db 19,DIGLETT
@@ -23310,7 +23609,7 @@
 
 ENDC
 
-UseItem_: ; $D5C7
+UseItem_: ; d5c7 (3:55c7)
 	ld a,1
 	ld [$cd6a],a
 	ld a,[$cf91]	;contains item_ID
@@ -23327,7 +23626,7 @@
 	ld l,a
 	jp [hl]
 
-ItemUsePtrTable: ; $D5E1
+ItemUsePtrTable: ; d5e1 (3:55e1)
 	dw ItemUseBall       ; MASTER_BALL
 	dw ItemUseBall       ; ULTRA_BALL
 	dw ItemUseBall       ; GREAT_BALL
@@ -23412,7 +23711,7 @@
 	dw ItemUsePPRestore  ; ELIXER
 	dw ItemUsePPRestore  ; MAX_ELIXER
 
-ItemUseBall: ; 03:5687
+ItemUseBall: ; d687 (3:5687)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp z,ItemUseNotTime ; not in battle
@@ -23442,7 +23741,7 @@
 	call GoPAL_SET_CF1C
 	ld a,$43
 	ld [$d11e],a
-	call Func_3725	;restore screenBuffer from Backup
+	call LoadScreenTilesFromBuffer1	;restore screenBuffer from Backup
 	ld hl,ItemUseText00
 	call PrintText
 	ld hl, Function583A
@@ -23449,7 +23748,7 @@
 	ld b, BANK(Function583A)
 	call Bankswitch
 	ld b,$10
-	jp z,$5801
+	jp z,.next12
 	ld a,[W_BATTLETYPE]
 	dec a
 	jr nz,.notOldManBattle
@@ -23463,10 +23762,10 @@
 	ld a,[W_CURMAP]
 	cp a,POKEMONTOWER_6
 	jr nz,.loop
-	ld a,[$cfd8]
+	ld a,[W_ENEMYMONID]
 	cp a,MAROWAK
 	ld b,$10
-	jp z,$5801
+	jp z,.next12
 ; if not fighting ghost Marowak, loop until a random number in the current
 ; pokeball's allowed range is found
 .loop	;$56fa
@@ -23675,7 +23974,7 @@
 	bit 3,[hl]
 	jr z,.next15
 	ld a,$4c
-	ld [$cfd8],a
+	ld [W_ENEMYMONID],a
 	jr .next16
 .next15	;$5871
 	set 3,[hl]
@@ -23687,7 +23986,7 @@
 .next16	;$587e
 	ld a,[$cf91]
 	push af
-	ld a,[$cfd8]
+	ld a,[W_ENEMYMONID]
 	ld [$cf91],a
 	ld a,[$cff3]
 	ld [$d127],a
@@ -23773,43 +24072,43 @@
 	inc a
 	ld [$cf96],a
 	jp RemoveItemFromInventory	;remove ITEM (XXX)
-ItemUseBallText00:
+ItemUseBallText00: ; d937 (3:5937)
 ;"It dodged the thrown ball!"
 ;"This pokemon can't be caught"
 	TX_FAR _ItemUseBallText00
 	db "@"
-ItemUseBallText01:
+ItemUseBallText01: ; d93c (3:593c)
 ;"You missed the pokemon!"
 	TX_FAR _ItemUseBallText01
 	db "@"
-ItemUseBallText02:
+ItemUseBallText02: ; d941 (3:5941)
 ;"Darn! The pokemon broke free!"
 	TX_FAR _ItemUseBallText02
 	db "@"
-ItemUseBallText03:
+ItemUseBallText03: ; d946 (3:5946)
 ;"Aww! It appeared to be caught!"
 	TX_FAR _ItemUseBallText03
 	db "@"
-ItemUseBallText04:
+ItemUseBallText04: ; d94b (3:594b)
 ;"Shoot! It was so close too!"
 	TX_FAR _ItemUseBallText04
 	db "@"
-ItemUseBallText05:
+ItemUseBallText05: ; d950 (3:5950)
 ;"All right! {MonName} was caught!"
 ;play sound
 	TX_FAR _ItemUseBallText05
 	db $12,$06
 	db "@"
-ItemUseBallText07:
+ItemUseBallText07: ; d957 (3:5957)
 ;"X was transferred to Bill's PC"
 	TX_FAR _ItemUseBallText07
 	db "@"
-ItemUseBallText08:
+ItemUseBallText08: ; d95c (3:595c)
 ;"X was transferred to someone's PC"
 	TX_FAR _ItemUseBallText08
 	db "@"
 
-ItemUseBallText06:
+ItemUseBallText06: ; d961 (3:5961)
 ;"New DEX data will be added..."
 ;play sound
 	TX_FAR _ItemUseBallText06
@@ -23816,7 +24115,7 @@
 	db $13,$06
 	db "@"
 
-ItemUseTownMap: ; 5968
+ItemUseTownMap: ; d968 (3:5968)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -23824,7 +24123,7 @@
 	ld hl, Func_70e3e
 	jp Bankswitch ; display Town Map
 
-ItemUseBicycle: ; 5977
+ItemUseBicycle: ; d977 (3:5977)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -23846,7 +24145,7 @@
 	jp nc,NoCyclingAllowedHere
 	call ItemUseReloadOverworldData
 	xor a ; no keys pressed
-	ld [$ffb4],a ; current joypad state
+	ld [H_CURRENTPRESSEDBUTTONS],a ; current joypad state
 	inc a
 	ld [$d700],a ; change player state to bicycling
 	ld hl,GotOnBicycleText
@@ -23855,7 +24154,7 @@
 	jp PrintText
 
 ; used for Surf out-of-battle effect
-ItemUseSurfboard: ; 59B4
+ItemUseSurfboard: ; d9b4 (3:59b4)
 	ld a,[$d700]
 	ld [$d11a],a
 	cp a,2 ; is the player already surfing?
@@ -23909,7 +24208,7 @@
 	xor a
 	ld [$d700],a ; change player state to walking
 	dec a
-	ld [$cd6b],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	call Func_2307 ; play walking music
 	jp LoadWalkingPlayerSpriteGraphics
 ; uses a simulated button press to make the player move forward
@@ -23934,19 +24233,19 @@
 	ld [$cd38],a ; index of current simulated button press
 	ret
 
-SurfingGotOnText: ; 5A4C
+SurfingGotOnText: ; da4c (3:5a4c)
 	TX_FAR _SurfingGotOnText
 	db $50
 
-SurfingNoPlaceToGetOffText: ; 5A51
+SurfingNoPlaceToGetOffText: ; da51 (3:5a51)
 	TX_FAR _SurfingNoPlaceToGetOffText
 	db $50
 
-ItemUsePokedex: ; 5A56
+ItemUsePokedex: ; da56 (3:5a56)
 	ld a,$29
 	jp Predef
 
-ItemUseEvoStone: ; 5A5B
+ItemUseEvoStone: ; da5b (3:5a5b)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -23967,8 +24266,8 @@
 	ld a,$01
 	ld [$ccd4],a
 	ld a,$8e
-	call Func_3740 ; play sound
-	call Func_3748 ; wait for sound to end
+	call PlaySoundWaitForCurrent ; play sound
+	call WaitForSoundToFinish ; wait for sound to end
 	ld hl, Func_3ad0e
 	ld b, BANK(Func_3ad0e)
 	call Bankswitch ; try to evolve pokemon
@@ -23989,12 +24288,12 @@
 	pop af
 	ret
 
-ItemUseVitamin: ; 5AB4
+ItemUseVitamin: ; dab4 (3:5ab4)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
 
-ItemUseMedicine: ; 5ABB
+ItemUseMedicine: ; dabb (3:5abb)
 	ld a,[W_NUMINPARTY]
 	and a
 	jp z,.emptyParty
@@ -24107,10 +24406,10 @@
 	inc hl ; hl = address of current HP
 	ld a,[hli]
 	ld b,a
-	ld [$ceec],a
+	ld [W_HPBAROLDHP+1],a
 	ld a,[hl]
 	ld c,a
-	ld [$ceeb],a ; current HP stored at $ceeb (2 bytes, big-endian)
+	ld [W_HPBAROLDHP],a ; current HP stored at $ceeb (2 bytes, big-endian)
 	or b
 	jr nz,.notFainted
 .fainted
@@ -24138,7 +24437,7 @@
 	jr z,.next
 	ld a,[$cf06]
 	ld c,a
-	ld hl,$d058
+	ld hl,W_PLAYERMONSALIVEFLAGS
 	ld b,$01
 	ld a,$10
 	call Predef
@@ -24191,14 +24490,14 @@
 	ld bc,32
 	add hl,bc ; hl now points to max HP
 	ld a,[hli]
-	ld [$ceea],a
+	ld [W_HPBARMAXHP+1],a
 	ld a,[hl]
-	ld [$cee9],a ; max HP stored at $cee9 (2 bytes, big-endian)
+	ld [W_HPBARMAXHP],a ; max HP stored at $cee9 (2 bytes, big-endian)
 	ld a,[$d152]
 	and a ; using Softboiled?
 	jp z,.notUsingSoftboiled2
 ; if using softboiled
-	ld hl,$cee9
+	ld hl,W_HPBARMAXHP
 	ld a,[hli]
 	push af
 	ld a,[hli]
@@ -24215,7 +24514,7 @@
 	ld [$ceea],a
 	ld [H_DIVIDEND],a
 	ld a,[hl]
-	ld [$cee9],a
+	ld [W_HPBARMAXHP],a
 	ld [H_DIVIDEND + 1],a
 	ld a,5
 	ld [H_DIVISOR],a
@@ -24228,23 +24527,24 @@
 	push af
 	ld b,a
 	ld a,[hl]
-	ld [$ceeb],a
+	ld [W_HPBAROLDHP],a
 	sub b
 	ld [hld],a
-	ld [$ceed],a
+	ld [W_HPBARNEWHP],a
 	ld a,[H_QUOTIENT + 2]
 	ld b,a
 	ld a,[hl]
-	ld [$ceec],a
+	ld [W_HPBAROLDHP+1],a
 	sbc b
 	ld [hl],a
-	ld [$ceee],a
-	ld hl,$c3b8
+	ld [W_HPBARNEWHP+1],a
+	FuncCoord 4, 1 ; $c3b8
+	ld hl,Coord
 	ld a,[$cf92]
 	ld bc,2 * 20
 	call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled
 	ld a,$8d
-	call Func_3740 ; play sound
+	call PlaySoundWaitForCurrent ; play sound
 	ld a,[$fff6]
 	set 0,a
 	ld [$fff6],a
@@ -24289,9 +24589,9 @@
 	ld a,[hl]
 	add b
 	ld [hld],a
-	ld [$ceed],a
+	ld [W_HPBARNEWHP],a
 	ld a,[hl]
-	ld [$ceee],a
+	ld [W_HPBARNEWHP+1],a
 	jr nc,.noCarry
 	inc [hl]
 	ld a,[hl]
@@ -24327,22 +24627,22 @@
 	ld a,[hli]
 	srl a
 	ld [de],a
-	ld [$ceee],a
+	ld [W_HPBARNEWHP+1],a
 	ld a,[hl]
 	rr a
 	inc de
 	ld [de],a
-	ld [$ceed],a
+	ld [W_HPBARNEWHP],a
 	dec de
 	jr .doneHealingPartyHP
 .setCurrentHPToMaxHp
 	ld a,[hli]
 	ld [de],a
-	ld [$ceee],a
+	ld [W_HPBARNEWHP+1],a
 	inc de
 	ld a,[hl]
 	ld [de],a
-	ld [$ceed],a
+	ld [W_HPBARNEWHP],a
 	dec de
 .doneHealingPartyHP ; done updating the pokemon's current HP in the party data structure
 	ld a,[$cf91]
@@ -24395,7 +24695,7 @@
 	cp a,FULL_HEAL
 	jr z,.playStatusAilmentCuringSound
 	ld a,$8d ; HP healing sound
-	call Func_3740 ; play sound
+	call PlaySoundWaitForCurrent ; play sound
 	ld a,[$fff6]
 	set 0,a
 	ld [$fff6],a
@@ -24418,7 +24718,7 @@
 	jr .showHealingItemMessage
 .playStatusAilmentCuringSound
 	ld a,$8e ; status ailment curing sound
-	call Func_3740 ; play sound
+	call PlaySoundWaitForCurrent ; play sound
 .showHealingItemMessage
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a
@@ -24430,7 +24730,7 @@
 	ld [H_AUTOBGTRANSFERENABLED],a
 	ld c,50
 	call DelayFrames
-	call Func_3865 ; wait for a button press
+	call WaitForTextScrollButtonPress ; wait for a button press
 	jr .done
 .canceledItemUse
 	xor a
@@ -24524,7 +24824,7 @@
 	ld bc,-18
 	add hl,bc ; hl now points to byte 3 of experience
 	ld b,1
-	jp Func_3936 ; recalculate stats
+	jp CalcStats ; recalculate stats
 .useRareCandy
 	push hl
 	ld bc,33
@@ -24602,7 +24902,7 @@
 	ld hl, PrintStatsBox
 	ld b, BANK(PrintStatsBox)
 	call Bankswitch ; display new stats text box
-	call Func_3865 ; wait for button press
+	call WaitForTextScrollButtonPress ; wait for button press
 	xor a
 	ld [$cc49],a
 	ld a,$1a
@@ -24620,15 +24920,15 @@
 	ld [$cf92],a
 	jp RemoveUsedItem
 
-VitaminStatRoseText: ; 5F24
+VitaminStatRoseText: ; df24 (3:5f24)
 	TX_FAR _VitaminStatRoseText
 	db $50
 
-VitaminNoEffectText: ; 5F29
+VitaminNoEffectText: ; df29 (3:5f29)
 	TX_FAR _VitaminNoEffectText
 	db $50
 
-VitaminText: ; 5F2E
+VitaminText: ; df2e (3:5f2e)
 	db "HEALTH@"
 	db "ATTACK@"
 	db "DEFENSE@"
@@ -24635,7 +24935,7 @@
 	db "SPEED@"
 	db "SPECIAL@"
 
-ItemUseBait: ; 5F52
+ItemUseBait: ; df52 (3:5f52)
 	ld hl,ThrewBaitText
 	call PrintText
 	ld hl,$d007 ; catch rate
@@ -24645,7 +24945,7 @@
 	ld de,$cce8 ; escape factor
 	jr BaitRockCommon
 
-ItemUseRock: ; 5F67
+ItemUseRock: ; df67 (3:5f67)
 	ld hl,ThrewRockText
 	call PrintText
 	ld hl,$d007 ; catch rate
@@ -24659,7 +24959,7 @@
 	ld hl,$cce8 ; escape factor
 	ld de,$cce9 ; bait factor
 
-BaitRockCommon: ; 5F7F
+BaitRockCommon: ; df7f (3:5f7f)
 	ld [W_ANIMATIONID],a
 	xor a
 	ld [$cc5b],a
@@ -24683,16 +24983,16 @@
 	ld c,70
 	jp DelayFrames
 
-ThrewBaitText: ; 5FA5
+ThrewBaitText: ; dfa5 (3:5fa5)
 	TX_FAR _ThrewBaitText
 	db $50
 
-ThrewRockText: ; 5FAA
+ThrewRockText: ; dfaa (3:5faa)
 	TX_FAR _ThrewRockText
 	db $50
 
 ; also used for Dig out-of-battle effect
-ItemUseEscapeRope: ; 5FAF
+ItemUseEscapeRope: ; dfaf (3:5faf)
 	ld a,[W_ISINBATTLE]
 	and a
 	jr nz,.notUsable
@@ -24717,7 +25017,7 @@
 	res 7,[hl] ; unset Safari Zone bit
 	xor a
 	ld [$da47],a
-	ld [$d61f],a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT],a
 	inc a
 	ld [$d078],a
 	ld [$cd6a],a ; item used
@@ -24731,14 +25031,14 @@
 .notUsable
 	jp ItemUseNotTime
 
-EscapeRopeTilesets: ; 5FFD
+EscapeRopeTilesets: ; dffd (3:5ffd)
 	db $03,$0f,$11,$16,$10
 	db $ff ; terminator
 
-ItemUseRepel: ; 6003
+ItemUseRepel: ; e003 (3:6003)
 	ld b,100
 
-ItemUseRepelCommon: ; 6005
+ItemUseRepelCommon: ; e005 (3:6005)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -24747,7 +25047,7 @@
 	jp PrintItemUseTextAndRemoveItem
 
 ; handles X Accuracy item
-ItemUseXAccuracy: ; 6013
+ItemUseXAccuracy: ; e013 (3:6013)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp z,ItemUseNotTime
@@ -24757,11 +25057,11 @@
 
 ; This function is bugged and never works. It always jumps to ItemUseNotTime.
 ; The Card Key is handled in a different way.
-ItemUseCardKey: ; 6022
+ItemUseCardKey: ; e022 (3:6022)
 	xor a
 	ld [$d71f],a
 	call Func_c586
-	ld a,[$4586]
+	ld a,[Func_c586] ; $4586
 	cp a,$18
 	jr nz,.next0
 	ld hl,CardKeyTable1
@@ -24817,7 +25117,7 @@
 ; 02: X
 ; 03: ID?
 
-CardKeyTable1: ; 6072
+CardKeyTable1: ; e072 (3:6072)
 	db  SILPH_CO_2F,$04,$04,$00
 	db  SILPH_CO_2F,$04,$05,$01
 	db  SILPH_CO_4F,$0C,$04,$02
@@ -24830,7 +25130,7 @@
 	db SILPH_CO_10F,$08,$0B,$09
 	db $ff
 
-CardKeyTable2: ; 609B
+CardKeyTable2: ; e09b (3:609b)
 	db SILPH_CO_3F,$08,$09,$0A
 	db SILPH_CO_3F,$09,$09,$0B
 	db SILPH_CO_5F,$04,$07,$0C
@@ -24843,12 +25143,12 @@
 	db SILPH_CO_9F,$09,$03,$13
 	db $ff
 
-CardKeyTable3: ; 60C4
+CardKeyTable3: ; e0c4 (3:60c4)
 	db SILPH_CO_11F,$08,$09,$14
 	db SILPH_CO_11F,$09,$09,$15
 	db $ff
 
-ItemUsePokedoll: ; 60CD
+ItemUsePokedoll: ; e0cd (3:60cd)
 	ld a,[W_ISINBATTLE]
 	dec a
 	jp nz,ItemUseNotTime
@@ -24856,7 +25156,7 @@
 	ld [$d078],a
 	jp PrintItemUseTextAndRemoveItem
 
-ItemUseGuardSpec: ; 60DC
+ItemUseGuardSpec: ; e0dc (3:60dc)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp z,ItemUseNotTime
@@ -24864,15 +25164,15 @@
 	set 1,[hl] ; Mist bit
 	jp PrintItemUseTextAndRemoveItem
 
-ItemUseSuperRepel: ; 60EB
+ItemUseSuperRepel: ; e0eb (3:60eb)
 	ld b,200
 	jp ItemUseRepelCommon
 
-ItemUseMaxRepel: ; 60F0
+ItemUseMaxRepel: ; e0f0 (3:60f0)
 	ld b,250
 	jp ItemUseRepelCommon
 
-ItemUseDireHit: ; 60F5
+ItemUseDireHit: ; e0f5 (3:60f5)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp z,ItemUseNotTime
@@ -24880,7 +25180,7 @@
 	set 2,[hl] ; Focus Energy bit
 	jp PrintItemUseTextAndRemoveItem
 
-ItemUseXStat: ; 6104
+ItemUseXStat: ; e104 (3:6104)
 	ld a,[W_ISINBATTLE]
 	and a
 	jr nz,.inBattle
@@ -24901,7 +25201,7 @@
 	call PrintItemUseTextAndRemoveItem
 	ld a,XSTATITEM_ANIM ; X stat item animation ID
 	ld [W_PLAYERMOVENUM],a
-	call Func_3725 ; restore saved screen
+	call LoadScreenTilesFromBuffer1 ; restore saved screen
 	call Delay3
 	xor a
 	ld [H_WHOSETURN],a ; set turn to player's turn
@@ -24915,7 +25215,7 @@
 	ld [hl],a ; restore [W_PLAYERMOVENUM]
 	ret
 
-ItemUsePokeflute: ; 6140
+ItemUsePokeflute: ; e140 (3:6140)
 	ld a,[W_ISINBATTLE]
 	and a
 	jr nz,.inBattle
@@ -24975,7 +25275,7 @@
 	ld a,[hl]
 	and b ; remove Sleep status
 	ld [hl],a
-	call Func_3701 ; restore saved screen
+	call LoadScreenTilesFromBuffer2 ; restore saved screen
 	ld a,[$cd3d]
 	and a ; were any pokemon asleep before playing the flute?
 	ld hl,PlayedFluteNoEffectText
@@ -24986,7 +25286,7 @@
 	ld a,[$d083]
 	and a,$80
 	jr nz,.skipMusic
-	call Func_3748 ; wait for sound to end
+	call WaitForSoundToFinish ; wait for sound to end
 	ld b, BANK(Func_22306)
 	ld hl, Func_22306
 	call Bankswitch ; play in-battle pokeflute music
@@ -25005,7 +25305,7 @@
 ; [$cd3d] should be initialized to 0
 ; OUTPUT:
 ; [$cd3d]: set to 1 if any pokemon were asleep
-WakeUpEntireParty: ; 61E5
+WakeUpEntireParty: ; e1e5 (3:61e5)
 	ld de,44
 	ld c,6
 .loop
@@ -25027,7 +25327,7 @@
 ; Format:
 ; 00: Y
 ; 01: X
-Route12SnorlaxFluteCoords: ; 61FD
+Route12SnorlaxFluteCoords: ; e1fd (3:61fd)
 	db 62,9  ; one space West of Snorlax
 	db 61,10 ; one space North of Snorlax
 	db 63,10 ; one space South of Snorlax
@@ -25037,20 +25337,20 @@
 ; Format:
 ; 00: Y
 ; 01: X
-Route16SnorlaxFluteCoords: ; 6206
+Route16SnorlaxFluteCoords: ; e206 (3:6206)
 	db 10,27 ; one space East of Snorlax
 	db 10,25 ; one space West of Snorlax
 	db $ff ; terminator
 
-PlayedFluteNoEffectText: ; 620B
+PlayedFluteNoEffectText: ; e20b (3:620b)
 	TX_FAR _PlayedFluteNoEffectText
 	db $50
 
-FluteWokeUpText: ; 6210
+FluteWokeUpText: ; e210 (3:6210)
 	TX_FAR _FluteWokeUpText
 	db $50
 
-PlayedFluteHadEffectText: ; 6215
+PlayedFluteHadEffectText: ; e215 (3:6215)
 	TX_FAR _PlayedFluteHadEffectText
 	db $06
 	db $08
@@ -25071,7 +25371,7 @@
 .done
 	jp TextScriptEnd ; end text
 
-ItemUseCoinCase: ; 623A
+ItemUseCoinCase: ; e23a (3:623a)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -25078,11 +25378,11 @@
 	ld hl,CoinCaseNumCoinsText
 	jp PrintText
 
-CoinCaseNumCoinsText: ; 6247
+CoinCaseNumCoinsText: ; e247 (3:6247)
 	TX_FAR _CoinCaseNumCoinsText
 	db $50
 
-OldRodCode: ; 0xe24c
+OldRodCode: ; e24c (3:624c)
 	call FishingInit
 	jp c, ItemUseNotTime
 	ld bc, (5 << 8) | MAGIKARP
@@ -25089,7 +25389,7 @@
 	ld a, $1 ; set bite
 	jr RodResponse ; 0xe257 $34
 
-GoodRodCode: ; 6259 0xe259
+GoodRodCode: ; e259 (3:6259)
 	call FishingInit
 	jp c,ItemUseNotTime
 .RandomLoop
@@ -25115,16 +25415,16 @@
 	xor 1
 	jr RodResponse
 
-GoodRodMons:
+GoodRodMons: ; e27f (3:627f)
 	db 10,GOLDEEN
 	db 10,POLIWAG
 
-SuperRodCode: ; $6283 0xe283
+SuperRodCode: ; e283 (3:6283)
 	call FishingInit
 	jp c, ItemUseNotTime
 	call ReadSuperRodData ; 0xe8ea
 	ld a, e
-RodResponse:
+RodResponse: ; e28d (3:628d)
 	ld [$CD3D], a
 
 	dec a ; is there a bite?
@@ -25153,7 +25453,7 @@
 
 ; checks if fishing is possible and if so, runs initialization code common to all rods
 ; unsets carry if fishing is possible, sets carry if not
-FishingInit: ; 62B4
+FishingInit: ; e2b4 (3:62b4)
 	ld a,[W_ISINBATTLE]
 	and a
 	jr z,.notInBattle
@@ -25178,10 +25478,10 @@
 	scf ; can't fish when surfing
 	ret
 
-ItemUseOaksParcel: ; 62DE
+ItemUseOaksParcel: ; e2de (3:62de)
 	jp ItemUseNotYoursToUse
 
-ItemUseItemfinder: ; 62E1
+ItemUseItemfinder: ; e2e1 (3:62e1)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -25194,9 +25494,9 @@
 	ld c,4
 .loop
 	ld a,$9e
-	call Func_3740 ; play sound
+	call PlaySoundWaitForCurrent ; play sound
 	ld a,$b2
-	call Func_3740 ; play sound
+	call PlaySoundWaitForCurrent ; play sound
 	dec c
 	jr nz,.loop
 	ld hl,ItemfinderFoundItemText
@@ -25203,20 +25503,20 @@
 .printText
 	jp PrintText
 
-ItemfinderFoundItemText: ; 630D
+ItemfinderFoundItemText: ; e30d (3:630d)
 	TX_FAR _ItemfinderFoundItemText
 	db $50
 
-ItemfinderFoundNothingText: ; 6312
+ItemfinderFoundNothingText: ; e312 (3:6312)
 	TX_FAR _ItemfinderFoundNothingText
 	db $50
 
-ItemUsePPUp: ; 6317
+ItemUsePPUp: ; e317 (3:6317)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
 
-ItemUsePPRestore: ; 631E
+ItemUsePPRestore: ; e31e (3:631e)
 	ld a,[$cf92]
 	push af
 	ld a,[$cf91]
@@ -25394,31 +25694,31 @@
 	ld [$cd6a],a ; item use failed
 	ret
 
-RaisePPWhichTechniqueText: ; 645D
+RaisePPWhichTechniqueText: ; e45d (3:645d)
 	TX_FAR _RaisePPWhichTechniqueText
 	db $50
 
-RestorePPWhichTechniqueText: ; 6462
+RestorePPWhichTechniqueText: ; e462 (3:6462)
 	TX_FAR _RestorePPWhichTechniqueText
 	db $50
 
-PPMaxedOutText: ; 6467
+PPMaxedOutText: ; e467 (3:6467)
 	TX_FAR _PPMaxedOutText
 	db $50
 
-PPIncreasedText: ; 646C
+PPIncreasedText: ; e46c (3:646c)
 	TX_FAR _PPIncreasedText
 	db $50
 
-PPRestoredText: ; 6471
+PPRestoredText: ; e471 (3:6471)
 	TX_FAR _PPRestoredText
 	db $50
 
 ; for items that can't be used from the Item menu
-UnusableItem: ; 6476
+UnusableItem: ; e476 (3:6476)
 	jp ItemUseNotTime
 
-ItemUseTMHM: ; 6479
+ItemUseTMHM: ; e479 (3:6479)
 	ld a,[W_ISINBATTLE]
 	and a
 	jp nz,ItemUseNotTime
@@ -25484,7 +25784,7 @@
 	call GBPalWhiteOutWithDelay3
 	call CleanLCD_OAM
 	call GoPAL_SET_CF1C
-	jp Func_3725 ; restore saved screen
+	jp LoadScreenTilesFromBuffer1 ; restore saved screen
 .checkIfAbleToLearnMove
 	ld a,$43
 	call Predef ; check if the pokemon can learn the move
@@ -25498,7 +25798,7 @@
 	jr nz,.checkIfAlreadyLearnedMove
 ; if the pokemon can't learn the move
 	ld a,$a5
-	call Func_3740 ; play sound
+	call PlaySoundWaitForCurrent ; play sound
 	ld hl,MonCannotLearnMachineMoveText
 	call PrintText
 	jr .chooseMon
@@ -25521,50 +25821,50 @@
 	ret c
 	jp RemoveUsedItem
 
-BootedUpTMText: ; 654F
+BootedUpTMText: ; e54f (3:654f)
 	TX_FAR _BootedUpTMText
 	db $50
 
-BootedUpHMText: ; 6554
+BootedUpHMText: ; e554 (3:6554)
 	TX_FAR _BootedUpHMText
 	db $50
 
-TeachMachineMoveText: ; 6559
+TeachMachineMoveText: ; e559 (3:6559)
 	TX_FAR _TeachMachineMoveText
 	db $50
 
-MonCannotLearnMachineMoveText: ; 655E
+MonCannotLearnMachineMoveText: ; e55e (3:655e)
 	TX_FAR _MonCannotLearnMachineMoveText
 	db $50
 
-PrintItemUseTextAndRemoveItem: ; 6563
+PrintItemUseTextAndRemoveItem: ; e563 (3:6563)
 	ld hl,ItemUseText00
 	call PrintText
 	ld a,$8e
 	call PlaySound ; play sound
-	call Func_3865 ; wait for button press
+	call WaitForTextScrollButtonPress ; wait for button press
 
-RemoveUsedItem: ; 6571
+RemoveUsedItem: ; e571 (3:6571)
 	ld hl,W_NUMBAGITEMS
 	ld a,1 ; one item
 	ld [$cf96],a ; store quantity
 	jp RemoveItemFromInventory
 
-ItemUseNoEffect: ; 657C
+ItemUseNoEffect: ; e57c (3:657c)
 	ld hl,ItemUseNoEffectText
 	jr ItemUseFailed
 
-ItemUseNotTime: ; 6581
+ItemUseNotTime: ; e581 (3:6581)
 	ld hl,ItemUseNotTimeText
 	jr ItemUseFailed
 
-ItemUseNotYoursToUse: ; 6586
+ItemUseNotYoursToUse: ; e586 (3:6586)
 	ld hl,ItemUseNotYoursToUseText
 	jr ItemUseFailed
 
-ThrowBallAtTrainerMon: ; 658B
+ThrowBallAtTrainerMon: ; e58b (3:658b)
 	call GoPAL_SET_CF1C
-	call Func_3725 ; restore saved screen
+	call LoadScreenTilesFromBuffer1 ; restore saved screen
 	call Delay3
 	ld a,TOSS_ANIM
 	ld [W_ANIMATIONID],a
@@ -25576,67 +25876,67 @@
 	call PrintText
 	jr RemoveUsedItem
 
-NoCyclingAllowedHere: ; 65AC
+NoCyclingAllowedHere: ; e5ac (3:65ac)
 	ld hl,NoCyclingAllowedHereText
 	jr ItemUseFailed
 
-BoxFullCannotThrowBall: ; 65B1
+BoxFullCannotThrowBall: ; e5b1 (3:65b1)
 	ld hl,BoxFullCannotThrowBallText
 	jr ItemUseFailed
 
-SurfingAttemptFailed: ; 65B6
+SurfingAttemptFailed: ; e5b6 (3:65b6)
 	ld hl,NoSurfingHereText
 
-ItemUseFailed: ; 65B9
+ItemUseFailed: ; e5b9 (3:65b9)
 	xor a
 	ld [$cd6a],a ; item use failed
 	jp PrintText
 
-ItemUseNotTimeText: ; 65C0
+ItemUseNotTimeText: ; e5c0 (3:65c0)
 	TX_FAR _ItemUseNotTimeText
 	db $50
 
-ItemUseNotYoursToUseText: ; 65C5
+ItemUseNotYoursToUseText: ; e5c5 (3:65c5)
 	TX_FAR _ItemUseNotYoursToUseText
 	db $50
 
-ItemUseNoEffectText: ; 65CA
+ItemUseNoEffectText: ; e5ca (3:65ca)
 	TX_FAR _ItemUseNoEffectText
 	db $50
 
-ThrowBallAtTrainerMonText1: ; 65CF
+ThrowBallAtTrainerMonText1: ; e5cf (3:65cf)
 	TX_FAR _ThrowBallAtTrainerMonText1
 	db $50
 
-ThrowBallAtTrainerMonText2: ; 65D4
+ThrowBallAtTrainerMonText2: ; e5d4 (3:65d4)
 	TX_FAR _ThrowBallAtTrainerMonText2
 	db $50
 
-NoCyclingAllowedHereText: ; 65D9
+NoCyclingAllowedHereText: ; e5d9 (3:65d9)
 	TX_FAR _NoCyclingAllowedHereText
 	db $50
 
-NoSurfingHereText: ; 65DE
+NoSurfingHereText: ; e5de (3:65de)
 	TX_FAR _NoSurfingHereText
 	db $50
 
-BoxFullCannotThrowBallText: ; 65E3
+BoxFullCannotThrowBallText: ; e5e3 (3:65e3)
 	TX_FAR _BoxFullCannotThrowBallText
 	db $50
 
-ItemUseText00: ; 65E8
+ItemUseText00: ; e5e8 (3:65e8)
 	TX_FAR _ItemUseText001
 	db $05
 	TX_FAR _ItemUseText002
 	db $50
 
-GotOnBicycleText: ; 65F2
+GotOnBicycleText: ; e5f2 (3:65f2)
 	TX_FAR _GotOnBicycleText1
 	db $05
 	TX_FAR _GotOnBicycleText2
 	db $50
 
-GotOffBicycleText: ; 65FC
+GotOffBicycleText: ; e5fc (3:65fc)
 	TX_FAR _GotOffBicycleText1
 	db $05
 	TX_FAR _GotOffBicycleText2
@@ -25650,7 +25950,7 @@
 ; 0: Pokemon Center healing
 ; 1: using a PP Up
 ; [CURMENUITEMID] = index of move (when using a PP Up)
-RestoreBonusPP: ; 6606
+RestoreBonusPP: ; e606 (3:6606)
 	ld hl,W_PARTYMON1_MOVE1
 	ld bc,44
 	ld a,[$cf92]
@@ -25695,7 +25995,7 @@
 ; [hl] = move PP
 ; [$d11e] = max number of times to add bonus
 ; set to 1 when using a PP Up, set to 255 otherwise
-AddBonusPP: ; 6642
+AddBonusPP: ; e642 (3:6642)
 	push bc
 	ld a,[de] ; normal max PP of move
 	ld [H_DIVIDEND + 3],a
@@ -25744,7 +26044,7 @@
 ; [W_CURMENUITEMID] = move index
 ; OUTPUT:
 ; [$d11e] = max PP
-GetMaxPP: ; 6677
+GetMaxPP: ; e677 (3:6677)
 	ld a,[$cc49]
 	and a
 	ld hl,W_PARTYMON1_MOVE1
@@ -25760,7 +26060,7 @@
 	ld hl,$da67 ; daycare
 	dec a
 	jr z,.sourceWithOneMon
-	ld hl,$d01c ; player's in-battle pokemon
+	ld hl,W_PLAYERMONMOVES ; player's in-battle pokemon
 .sourceWithOneMon
 	call GetSelectedMoveOffset2
 	jr .next
@@ -25804,11 +26104,11 @@
 	ld [$d11e],a ; store max PP
 	ret
 
-GetSelectedMoveOffset: ; 66E3
+GetSelectedMoveOffset: ; e6e3 (3:66e3)
 	ld a,[$cf92]
 	call AddNTimes
 
-GetSelectedMoveOffset2: ; 66E9
+GetSelectedMoveOffset2: ; e6e9 (3:66e9)
 	ld a,[W_CURMENUITEMID]
 	ld c,a
 	ld b,0
@@ -25823,7 +26123,7 @@
 ; [$cf96] = quantity to toss
 ; OUTPUT:
 ; clears carry flag if the item is tossed, sets carry flag if not
-TossItem_: ; 66F1
+TossItem_: ; e6f1 (3:66f1)
 	push hl
 	ld a,[$cf91]
 	call IsItemHM
@@ -25874,15 +26174,15 @@
 	scf
 	ret
 
-ThrewAwayItemText: ; 0xe755
+ThrewAwayItemText: ; e755 (3:6755)
 	TX_FAR _ThrewAwayItemText
 	db $50
 
-IsItOKToTossItemText: ; 0xe75a
+IsItOKToTossItemText: ; e75a (3:675a)
 	TX_FAR _IsItOKToTossItemText
 	db $50
 
-TooImportantToTossText: ; 0xe75f
+TooImportantToTossText: ; e75f (3:675f)
 	TX_FAR _TooImportantToTossText
 	db $50
 
@@ -25893,7 +26193,7 @@
 ; [$d124] = result
 ; 00: item is not key item
 ; 01: item is key item
-IsKeyItem_: ; 6764
+IsKeyItem_: ; e764 (3:6764)
 	ld a,$01
 	ld [$d124],a
 	ld a,[$cf91]
@@ -25923,7 +26223,7 @@
 	ld [$d124],a
 	ret
 
-KeyItemBitfield: ; 6799
+KeyItemBitfield: ; e799 (3:6799)
 	db %11110000
 	db %00000001
 	db %11110000
@@ -26027,7 +26327,7 @@
 	ld a, [W_NUMINBOX] ; $da80
 	dec a
 	jr z, .asm_e867
-	ld hl, $da96
+	ld hl, W_BOXMON1DATA
 	ld bc, $21
 	dec a
 	call AddNTimes
@@ -26057,7 +26357,7 @@
 	ld a, [W_ENEMYMONLEVEL] ; $cff3
 	ld [W_ENEMYMONNUMBER], a ; $cfe8
 	ld hl, $cfe5
-	ld de, $da96
+	ld de, W_BOXMON1DATA
 	ld bc, $c
 	call CopyData
 	ld hl, W_PLAYERIDHI ; $d359
@@ -26109,7 +26409,7 @@
 ; checks if the tile in front of the player is a shore or water tile
 ; used for surfing and fishing
 ; unsets carry if it is, sets carry if not
-IsNextTileShoreOrWater: ; 68B8
+IsNextTileShoreOrWater: ; e8b8 (3:68b8)
 	ld a,[W_CURMAPTILESET]
 	ld hl,WaterTilesets
 	ld de,1
@@ -26134,12 +26434,12 @@
 	ret
 
 ; tilesets with water
-WaterTilesets: ; 68E0
+WaterTilesets: ; e8e0 (3:68e0)
 	db $00,$03,$05,$07,$0d,$0e,$11,$16,$17
 	db $ff ; terminator
 
 ; 68EA 0xe8ea
-ReadSuperRodData:
+ReadSuperRodData: ; e8ea (3:68ea)
 ; return e = 2 if no fish on this map
 ; return e = 1 if a bite, bc = level,species
 ; return e = 0 if no bite
@@ -26187,7 +26487,7 @@
 
 ; super rod data
 ; format: map, pointer to fishing group
-SuperRodData: ; 6919
+SuperRodData: ; e919 (3:6919)
 	dbw PALLET_TOWN, FishingGroup1
 	dbw VIRIDIAN_CITY, FishingGroup1
 	dbw CERULEAN_CITY, FishingGroup3
@@ -26226,33 +26526,33 @@
 
 ; fishing groups
 ; number of monsters, followed by level/monster pairs
-FishingGroup1:
+FishingGroup1: ; e97d (3:697d)
 	db 2
 	db 15,TENTACOOL
 	db 15,POLIWAG
 
-FishingGroup2:
+FishingGroup2: ; e982 (3:6982)
 	db 2
 	db 15,GOLDEEN
 	db 15,POLIWAG
 
-FishingGroup3:
+FishingGroup3: ; e987 (3:6987)
 	db 3
 	db 15,PSYDUCK
 	db 15,GOLDEEN
 	db 15,KRABBY
 
-FishingGroup4:
+FishingGroup4: ; e98e (3:698e)
 	db 2
 	db 15,KRABBY
 	db 15,SHELLDER
 
-FishingGroup5:
+FishingGroup5: ; e993 (3:6993)
 	db 2
 	db 23,POLIWHIRL
 	db 15,SLOWPOKE
 
-FishingGroup6:
+FishingGroup6: ; e998 (3:6998)
 	db 4
 	db 15,DRATINI
 	db 15,KRABBY
@@ -26259,7 +26559,7 @@
 	db 15,PSYDUCK
 	db 15,SLOWPOKE
 
-FishingGroup7:
+FishingGroup7: ; e9a1 (3:69a1)
 	db 4
 	db 5,TENTACOOL
 	db 15,KRABBY
@@ -26266,7 +26566,7 @@
 	db 15,GOLDEEN
 	db 15,MAGIKARP
 
-FishingGroup8:
+FishingGroup8: ; e9aa (3:69aa)
 	db 4
 	db 15,STARYU
 	db 15,HORSEA
@@ -26273,7 +26573,7 @@
 	db 15,SHELLDER
 	db 15,GOLDEEN
 
-FishingGroup9:
+FishingGroup9: ; e9b3 (3:69b3)
 	db 4
 	db 23,SLOWBRO
 	db 23,SEAKING
@@ -26280,7 +26580,7 @@
 	db 23,KINGLER
 	db 23,SEADRA
 
-FishingGroup10:
+FishingGroup10: ; e9bc (3:69bc)
 	db 4
 	db 23,SEAKING
 	db 15,KRABBY
@@ -26289,13 +26589,13 @@
 
 ; reloads map view and processes sprite data
 ; for items that cause the overworld to be displayed
-ItemUseReloadOverworldData: ; 69C5
+ItemUseReloadOverworldData: ; e9c5 (3:69c5)
 	call LoadCurrentMapView
 	jp UpdateSprites
 
 ; known jump sources: 711f4 (1c:51f4)
 Func_e9cb: ; e9cb (3:69cb)
-	ld hl, $4eeb
+	ld hl, WildDataPointers ; $4eeb
 	ld de, $cee9
 	ld c, $0
 .asm_e9d3
@@ -26345,7 +26645,7 @@
 ; known jump sources: 13474 (4:7474)
 Func_ea03: ; ea03 (3:6a03)
 	ld de, $cd3f
-	ld hl, $6a96
+	ld hl, Unknown_ea96 ; $6a96
 	ld bc, $8
 	call CopyData
 	ld hl, $cd49
@@ -26374,10 +26674,12 @@
 	ld a, $d8
 	ld [hli], a
 	ld [hl], $60
-	ld hl, $c47e
+	FuncCoord 2, 11 ; $c47e
+	ld hl, Coord
 	ld de, $cd49
 	call Func_ea4c
-	ld hl, $c4ba
+	FuncCoord 2, 14 ; $c4ba
+	ld hl, Coord
 	ld de, $cd4d
 
 ; known jump sources: ea43 (3:6a43)
@@ -26431,8 +26733,12 @@
 	inc a
 	ret
 
-INCBIN "baserom.gbc",$ea96,$ee9e - $ea96
+Unknown_ea96: ; ea96 (3:6a96)
+INCBIN "baserom.gbc",$ea96,$ea9e - $ea96
 
+GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e)
+INCBIN "baserom.gbc",$ea9e,$ee9e - $ea9e
+
 ; known jump sources: 19f70 (6:5f70), 19f83 (6:5f83), 19f94 (6:5f94), 1a1e0 (6:61e0), 1eb3e (7:6b3e), 44312 (11:4312), 449ae (11:49ae), 517e7 (14:57e7), 51b9a (14:5b9a), 51bad (14:5bad), 51bbe (14:5bbe), 52034 (14:6034), 526cf (14:66cf), 5653b (15:653b), 59f94 (16:5f94), 59fa5 (16:5fa5), 5a170 (16:6170), 5a2f2 (16:62f2), 5ca87 (17:4a87), 5d7f4 (17:57f4), 5d807 (17:5807), 5d81a (17:581a), 5d82b (17:582b), 5da37 (17:5a37), 62131 (18:6131), 761b3 (1d:61b3), 7630a (1d:630a), 76461 (1d:6461)
 Func_ee9e: ; ee9e (3:6e9e)
 	call Load16BitRegisters
@@ -26579,10 +26885,10 @@
 	cp $52
 	jr z, asm_ef82
 .asm_ef77
-	ld hl, $6f7d
+	ld hl, _UnnamedText_ef7d ; $6f7d
 	jp PrintText
 ; ef7d (3:6f7d)
-_UnnamedText_ef7d: ; 0xef7d
+_UnnamedText_ef7d: ; ef7d (3:6f7d)
 	db $17, $f8, $42, $2a
 	db $50
 ; 0xef7d + 5 bytes
@@ -26604,19 +26910,19 @@
 	call Delay3
 	call LoadGBPal
 	call LoadCurrentMapView
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	call Delay3
 	xor a
 	ld [$FF00+$b0], a
-	ld hl, $6ff2
+	ld hl, Unknown_eff2 ; $6ff2
 	call PrintText
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	ld hl, $d730
 	res 6, [hl]
 	ld a, $ff
 	ld [$cfcb], a
 	call Func_eff7
-	ld de, $7100
+	ld de, Unknown_f100 ; $7100
 	call Func_f09f
 	call Func_eedc
 	ld b, BANK(Func_79e96)
@@ -26631,6 +26937,7 @@
 	call UpdateSprites
 	jp Func_eedc
 
+Unknown_eff2: ; eff2 (3:6ff2)
 INCBIN "baserom.gbc",$eff2,$eff7 - $eff2
 
 ; known jump sources: efca (3:6fca)
@@ -26642,13 +26949,13 @@
 	ld a, [$cd4d]
 	cp $52
 	jr z, .asm_f020
-	ld de, $42d0
+	ld de, Tset00_GFX + $2d0 ; $42d0 ; cuttable tree sprite top row
 	ld hl, $8fc0
-	ld bc, $1902
+	ld bc, (BANK(Tset00_GFX) << 8) + $02
 	call CopyVideoData
-	ld de, $43d0
+	ld de, Tset00_GFX + $3d0 ; $43d0 ; cuttable tree sprite bottom row
 	ld hl, $8fe0
-	ld bc, $1902
+	ld bc, (BANK(Tset00_GFX) << 8) + $02
 	call CopyVideoData
 	jr asm_f055
 .asm_f020
@@ -26675,15 +26982,16 @@
 
 ; known jump sources: f023 (3:7023), f029 (3:7029), f02f (3:702f), f035 (3:7035)
 Func_f04c: ; f04c (3:704c)
-	ld de, $474e
-	ld bc, $1e01
+	ld de, AnimationTileset2 + $60 ; $474e ; tile depicting a leaf
+	ld bc, (BANK(AnimationTileset2) << 8) + $01
 	jp CopyVideoData
 asm_f055: ; f055 (3:7055)
 	call Func_f068
 	ld a, $9
-	ld de, $7060
+	ld de, Unknown_f060 ; $7060
 	jp WriteOAMBlock
 
+Unknown_f060: ; f060 (3:7060)
 INCBIN "baserom.gbc",$f060,$f068 - $f060
 
 ; known jump sources: f055 (3:7055)
@@ -26702,9 +27010,9 @@
 	ld d, $0
 	ld a, [$cd50]
 	and a
-	ld hl, $708f
+	ld hl, Unknown_f08f ; $708f
 	jr z, .asm_f084
-	ld hl, $7097
+	ld hl, Unknown_f097 ; $7097
 .asm_f084
 	add hl, de
 	ld e, [hl]
@@ -26718,8 +27026,12 @@
 	ld c, a
 	ret
 
-INCBIN "baserom.gbc",$f08f,$f09f - $f08f
+Unknown_f08f: ; f08f (3:708f)
+INCBIN "baserom.gbc",$f08f,$f097 - $f08f
 
+Unknown_f097: ; f097 (3:7097)
+INCBIN "baserom.gbc",$f097,$f09f - $f097
+
 ; known jump sources: efd0 (3:6fd0)
 Func_f09f: ; f09f (3:709f)
 	push de
@@ -26793,6 +27105,7 @@
 	ld [hl], a
 	ret
 
+Unknown_f100: ; f100 (3:7100)
 INCBIN "baserom.gbc",$f100,$f113 - $f100
 
 ; known jump sources: 1081 (0:1081)
@@ -27011,7 +27324,7 @@
 	ld a, [$d728]
 	bit 0, a
 	ret z
-	ld a, [$cd60]
+	ld a, [W_FLAGS_CD60]
 	bit 1, a
 	ret nz
 	xor a
@@ -27032,11 +27345,11 @@
 	ld a, [hl]
 	cp $10
 	jp nz, Func_f2dd
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 6, [hl]
 	set 6, [hl]
 	ret z
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	and $f0
 	ret z
 	ld a, $5a
@@ -27044,7 +27357,7 @@
 	ld a, [$d71c]
 	and a
 	jp nz, Func_f2dd
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	ld b, a
 	ld a, [$c109]
 	cp $4
@@ -27055,32 +27368,42 @@
 	jr z, .asm_f299
 	bit 7, b
 	ret z
-	ld de, $72af
+	ld de, Unknown_f2af ; $72af
 	jr .asm_f29f
 .asm_f289
 	bit 6, b
 	ret z
-	ld de, $72ad
+	ld de, Unknown_f2ad ; $72ad
 	jr .asm_f29f
 .asm_f291
 	bit 5, b
 	ret z
-	ld de, $72b1
+	ld de, Unknown_f2b1 ; $72b1
 	jr .asm_f29f
 .asm_f299
 	bit 4, b
 	ret z
-	ld de, $72b3
+	ld de, Unknown_f2b3 ; $72b3
 .asm_f29f
 	call MoveSprite
 	ld a, $a8
 	call PlaySound
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	set 1, [hl]
 	ret
 
-INCBIN "baserom.gbc",$f2ad,$f2b5 - $f2ad
+Unknown_f2ad: ; f2ad (3:72ad)
+INCBIN "baserom.gbc",$f2ad,$f2af - $f2ad
 
+Unknown_f2af: ; f2af (3:72af)
+INCBIN "baserom.gbc",$f2af,$f2b1 - $f2af
+
+Unknown_f2b1: ; f2b1 (3:72b1)
+INCBIN "baserom.gbc",$f2b1,$f2b3 - $f2b1
+
+Unknown_f2b3: ; f2b3 (3:72b3)
+INCBIN "baserom.gbc",$f2b3,$f2b5 - $f2b3
+
 ; known jump sources: 1032 (0:1032)
 Func_f2b5: ; f2b5 (3:72b5)
 	ld a, [$d730]
@@ -27089,8 +27412,8 @@
 	ld hl, Func_79f54
 	ld b, BANK(Func_79f54)
 	call Bankswitch ; indirect jump to Func_79f54 (79f54 (1e:5f54))
-	call Func_c034
-	ld [$cd6b], a
+	call DiscardButtonPresses
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call Func_f2dd
 	set 7, [hl]
 	ld a, [$d718]
@@ -27102,13 +27425,13 @@
 
 ; known jump sources: f23d (3:723d), f253 (3:7253), f26c (3:726c), f2c9 (3:72c9)
 Func_f2dd: ; f2dd (3:72dd)
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	res 1, [hl]
 	res 6, [hl]
 	ret
 
 ; known jump sources: 392f (0:392f)
-Func_f2e5: ; f2e5 (3:72e5)
+_AddPokemonToParty: ; f2e5 (3:72e5)
 	ld de, W_NUMINPARTY ; $d163
 	ld a, [$cc49]
 	and $f
@@ -27182,9 +27505,9 @@
 	push hl
 	ld a, [$cc49]
 	and $f
-	ld a, $98
+	ld a, $98     ; set enemy trainer mon IVs to fixed average values
 	ld b, $88
-	jr nz, .asm_f3b3
+	jr nz, .writeFreshMonData
 	ld a, [$cf91]
 	ld [$d11e], a
 	push de
@@ -27212,17 +27535,17 @@
 	push hl
 	ld a, [W_ISINBATTLE] ; $d057
 	and a
-	jr nz, .asm_f3d6
-	call GenRandom
+	jr nz, .copyEnemyMonData
+	call GenRandom     ; generate random IVs
 	ld b, a
 	call GenRandom
-.asm_f3b3
+.writeFreshMonData ; f3b3
 	push bc
 	ld bc, $1b
 	add hl, bc
 	pop bc
 	ld [hli], a
-	ld [hl], b
+	ld [hl], b         ; write IVs
 	ld bc, $fff4
 	add hl, bc
 	ld a, $1
@@ -27229,47 +27552,47 @@
 	ld c, a
 	xor a
 	ld b, a
-	call Func_394a
-	ld a, [$FF00+$97]
+	call CalcStat      ; calc HP stat (set cur Hp to max HP)
+	ld a, [H_MULTIPLICAND+1]
 	ld [de], a
 	inc de
-	ld a, [$FF00+$98]
+	ld a, [H_MULTIPLICAND+2]
 	ld [de], a
 	inc de
 	xor a
-	ld [de], a
+	ld [de], a         ; level (?)
 	inc de
-	ld [de], a
+	ld [de], a         ; status ailments
 	inc de
-	jr .asm_f3f4
-.asm_f3d6
+	jr .copyMonTypesAndMoves
+.copyEnemyMonData
 	ld bc, $1b
 	add hl, bc
-	ld a, [$cff1]
+	ld a, [W_ENEMYMONATKDEFIV] ; copy IVs from cur enemy mon
 	ld [hli], a
-	ld a, [$cff2]
+	ld a, [W_ENEMYMONSPDSPCIV]
 	ld [hl], a
-	ld a, [W_ENEMYMONCURHP] ; $cfe6
+	ld a, [W_ENEMYMONCURHP]    ; copy HP from cur enemy mon
 	ld [de], a
 	inc de
-	ld a, [$cfe7]
+	ld a, [W_ENEMYMONCURHP+1]
 	ld [de], a
 	inc de
 	xor a
-	ld [de], a
+	ld [de], a                 ; level (?)
 	inc de
-	ld a, [W_ENEMYMONSTATUS] ; $cfe9
+	ld a, [W_ENEMYMONSTATUS]   ; copy status ailments from cur enemy mon
 	ld [de], a
 	inc de
-.asm_f3f4
+.copyMonTypesAndMoves
 	ld hl, W_MONHTYPES
-	ld a, [hli]
+	ld a, [hli]       ; type 1
 	ld [de], a
 	inc de
-	ld a, [hli]
+	ld a, [hli]       ; type 2
 	ld [de], a
 	inc de
-	ld a, [hli]
+	ld a, [hli]       ; unused (?)
 	ld [de], a
 	ld hl, W_MONHMOVES
 	ld a, [hli]
@@ -27292,16 +27615,16 @@
 	xor a
 	ld [$cee9], a
 	ld a, $3e
-	call Predef ; indirect jump to Func_3afb8 (3afb8 (e:6fb8))
+	call Predef ; indirect jump to WriteMonMoves (3afb8 (e:6fb8))
 	pop de
-	ld a, [W_PLAYERIDHI] ; $d359
+	ld a, [W_PLAYERIDHI]  ; set trainer ID to player ID
 	inc de
 	ld [de], a
-	ld a, [W_PLAYERIDLO] ; $d35a
+	ld a, [W_PLAYERIDLO]
 	inc de
 	ld [de], a
 	push de
-	ld a, [W_CURENEMYLVL] ; $d127
+	ld a, [W_CURENEMYLVL]
 	ld d, a
 	ld hl, CalcExperience
 	ld b, BANK(CalcExperience)
@@ -27308,25 +27631,25 @@
 	call Bankswitch ; indirect jump to CalcExperience (58f6a (16:4f6a))
 	pop de
 	inc de
-	ld a, [H_NUMTOPRINT] ; $FF00+$96 (aliases: H_MULTIPLICAND)
+	ld a, [H_MULTIPLICAND] ; write experience
 	ld [de], a
 	inc de
-	ld a, [$FF00+$97]
+	ld a, [H_MULTIPLICAND+1]
 	ld [de], a
 	inc de
-	ld a, [$FF00+$98]
+	ld a, [H_MULTIPLICAND+2]
 	ld [de], a
 	xor a
 	ld b, $a
-.asm_f444
+.writeEVsLoop              ; set all EVs to 0
 	inc de
 	ld [de], a
 	dec b
-	jr nz, .asm_f444
+	jr nz, .writeEVsLoop
 	inc de
 	inc de
 	pop hl
-	call Func_f476
+	call AddPokemonToParty_WriteMovePP
 	inc de
 	ld a, [W_CURENEMYLVL] ; $d127
 	ld [de], a
@@ -27333,19 +27656,19 @@
 	inc de
 	ld a, [W_ISINBATTLE] ; $d057
 	dec a
-	jr nz, .asm_f467
+	jr nz, .calcFreshStats
 	ld hl, W_ENEMYMONMAXHP ; $cff4
 	ld bc, $a
-	call CopyData
+	call CopyData          ; copy stats of cur enemy mon
 	pop hl
-	jr .asm_f471
-.asm_f467
+	jr .done
+.calcFreshStats
 	pop hl
 	ld bc, $10
 	add hl, bc
 	ld b, $0
-	call Func_3936
-.asm_f471
+	call CalcStats         ; calculate fresh set of stats
+.done
 	scf
 	ret
 
@@ -27354,36 +27677,36 @@
 	call Load16BitRegisters
 
 ; known jump sources: f44c (3:744c)
-Func_f476: ; f476 (3:7476)
+AddPokemonToParty_WriteMovePP: ; f476 (3:7476)
 	ld b, $4
-.asm_f478
-	ld a, [hli]
+.movePPLoop
+	ld a, [hli]     ; read move ID
 	and a
-	jr z, .asm_f497
+	jr z, .skipMove
 	dec a
 	push hl
 	push de
 	push bc
-	ld hl, $4000
+	ld hl, Moves
 	ld bc, $6
 	call AddNTimes
 	ld de, $cd6d
-	ld a, $e
+	ld a, BANK(Moves)
 	call FarCopyData
 	pop bc
 	pop de
 	pop hl
 	ld a, [$cd72]
-.asm_f497
+.skipMove
 	inc de
 	ld [de], a
 	dec b
-	jr nz, .asm_f478
+	jr nz, .movePPLoop
 	ret
 
 ; adds enemy mon [$cf91] (at position [$cf92] in enemy list) to own party
 ; no known uses in the game
-_AddEnemyMonToPlayerParty: ; 0xf49d (3:749d)
+_AddEnemyMonToPlayerParty: ; f49d (3:749d)
 	ld hl, W_NUMINPARTY
 	ld a, [hl]
 	cp $6
@@ -27450,9 +27773,9 @@
 Func_f51e: ; f51e (3:751e)
 	ld a, [$cf95]
 	and a
-	jr z, .asm_f539
+	jr z, .checkPartyMonSlots
 	cp $2
-	jr z, .asm_f539
+	jr z, .checkPartyMonSlots
 	cp $3
 	ld hl, $da5f
 	jr z, .asm_f575
@@ -27459,19 +27782,19 @@
 	ld hl, W_NUMINBOX ; $da80
 	ld a, [hl]
 	cp $14
-	jr nz, .asm_f543
-	jr .asm_f541
-.asm_f539
+	jr nz, .partyOrBoxNotFull
+	jr .boxFull
+.checkPartyMonSlots
 	ld hl, W_NUMINPARTY ; $d163
 	ld a, [hl]
 	cp $6
-	jr nz, .asm_f543
-.asm_f541
+	jr nz, .partyOrBoxNotFull
+.boxFull
 	scf
 	ret
-.asm_f543
+.partyOrBoxNotFull
 	inc a
-	ld [hl], a
+	ld [hl], a           ; increment number of mons in party/box
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -27481,18 +27804,18 @@
 	jr z, .asm_f556
 	ld a, [$cf91]
 .asm_f556
-	ld [hli], a
-	ld [hl], $ff
+	ld [hli], a          ; write new mon ID
+	ld [hl], $ff         ; write new sentinel
 	ld a, [$cf95]
 	dec a
-	ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
-	ld bc, $2c
+	ld hl, W_PARTYMON1DATA ; $d16b
+	ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA ; $2c
 	ld a, [W_NUMINPARTY] ; $d163
-	jr nz, .asm_f571
-	ld hl, $da96
-	ld bc, $21
+	jr nz, .skipToNewMonEntry
+	ld hl, W_BOXMON1DATA
+	ld bc, W_BOXMON2DATA - W_BOXMON1DATA ; $21
 	ld a, [W_NUMINBOX] ; $da80
-.asm_f571
+.skipToNewMonEntry
 	dec a
 	call AddNTimes
 .asm_f575
@@ -27501,14 +27824,14 @@
 	ld d, h
 	ld a, [$cf95]
 	and a
-	ld hl, $da96
-	ld bc, $21
+	ld hl, W_BOXMON1DATA
+	ld bc, W_BOXMON2DATA - W_BOXMON1DATA ; $21
 	jr z, .asm_f591
 	cp $2
 	ld hl, $da5f
 	jr z, .asm_f597
-	ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
-	ld bc, $2c
+	ld hl, W_PARTYMON1DATA ; $d16b
+	ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA ; $2c
 .asm_f591
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	call AddNTimes
@@ -27617,7 +27940,7 @@
 	ld bc, $ffee
 	add hl, bc
 	ld b, $1
-	call Func_3936
+	call CalcStats
 .asm_f664
 	and a
 	ret
@@ -27687,10 +28010,10 @@
 	ret
 ; f6a5 (3:76a5)
 
-HealParty:
+HealParty: ; f6a5 (3:76a5)
 	ld hl, W_PARTYMON1
 	ld de, W_PARTYMON1_HP
-.HealPokemon: ; 0xf704
+.HealPokemon: ; f6ab (3:76ab)
 	ld a, [hli]
 	cp $ff
 	jr z, .DoneHealing ; End if there's no Pokémon
@@ -27702,7 +28025,7 @@
 	ld [hl], a ; Clean status conditions
 	push de
 	ld b, $4 ; A Pokémon has 4 moves
-.RestorePP:
+.RestorePP: ; f6bb (3:76bb)
 	ld hl, $0007 ; Move offset
 	add hl, de
 	ld a, [hl]
@@ -27732,7 +28055,7 @@
 	add b
 	ld [hl], a
 	pop bc
-.HealNext:
+.HealNext: ; f6eb (3:76eb)
 	dec b
 	jr nz, .RestorePP ; Continue if there's still moves
 	pop de
@@ -28063,7 +28386,7 @@
 	ld a, [H_REMAINDER] ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
 	ld b, a
 	ld a, [H_DIVIDEND] ; $FF00+$95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
-	call Func_3633
+	call CalcDifference
 	ld d, a
 	and a
 	jr nz, .asm_f8da
@@ -28074,7 +28397,7 @@
 	ld a, [$FF00+$9a]
 	ld b, a
 	ld a, [H_NUMTOPRINT] ; $FF00+$96 (aliases: H_MULTIPLICAND)
-	call Func_3633
+	call CalcDifference
 	ld e, a
 	and a
 	jr nz, .asm_f8ec
@@ -28142,7 +28465,7 @@
 	ld a, d
 	ld b, a
 	ld a, [hli]
-	call Func_3633
+	call CalcDifference
 	jr nc, .asm_f953
 	push hl
 	ld hl, $ff9d
@@ -28169,7 +28492,7 @@
 	inc hl
 	ld b, e
 	ld a, [hl]
-	call Func_3633
+	call CalcDifference
 	jr nc, .asm_f97e
 	push hl
 	ld hl, $ff9d
@@ -28205,11 +28528,12 @@
 Func_f9dc: ; f9dc (3:79dc)
 	call Load16BitRegisters
 
-; known jump sources: fb41 (3:7b41), fb48 (3:7b48)
-Func_f9df: ; f9df (3:79df)
+; calculates bc * 48 / de, the number of pixels the HP bar has
+; the result is always at least 1
+UpdateHPBar_CalcNumberOfHPBarPixels: ; f9df (3:79df)
 	push hl
 	xor a
-	ld hl, H_NUMTOPRINT ; $ff96 (aliases: H_MULTIPLICAND)
+	ld hl, H_MULTIPLICAND
 	ld [hli], a
 	ld a, b
 	ld [hli], a
@@ -28216,129 +28540,133 @@
 	ld a, c
 	ld [hli], a
 	ld [hl], $30
-	call Multiply
+	call Multiply      ; 48 * bc (hp bar is 48 pixels long)
 	ld a, d
 	and a
-	jr z, .asm_fa0c
-	srl d
+	jr z, .maxHPSmaller256
+	srl d              ; make HP in de fit into 1 byte by dividing by 4
 	rr e
 	srl d
 	rr e
-	ld a, [$FF00+$97]
+	ld a, [H_MULTIPLICAND+1]
 	ld b, a
-	ld a, [$FF00+$98]
-	srl b
+	ld a, [H_MULTIPLICAND+2]
+	srl b              ; divide multiplication result as well
 	rr a
 	srl b
 	rr a
-	ld [$FF00+$98], a
+	ld [H_MULTIPLICAND+2], a
 	ld a, b
-	ld [$FF00+$97], a
-.asm_fa0c
+	ld [H_MULTIPLICAND+1], a
+.maxHPSmaller256
 	ld a, e
-	ld [H_REMAINDER], a ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+	ld [H_DIVISOR], a
 	ld b, $4
 	call Divide
-	ld a, [$FF00+$98]
-	ld e, a
+	ld a, [H_MULTIPLICAND+2]
+	ld e, a            ; e = bc * 48 / de (num of pixels of HP bar)
 	pop hl
 	and a
 	ret nz
-	ld e, $1
+	ld e, $1           ; make result at least 1
 	ret
 
 ; known jump sources: 78af (1:78af), dcad (3:5cad), dda1 (3:5da1), 13995 (4:7995), 3a724 (e:6724), 3ba88 (e:7a88), 3c50a (f:450a), 3e19a (f:619a), 3e258 (f:6258)
-Func_fa1d: ; fa1d (3:7a1d)
+; predef $48
+UpdateHPBar: ; fa1d (3:7a1d)
 	push hl
-	ld hl, $ceeb
+	ld hl, W_HPBAROLDHP
 	ld a, [hli]
-	ld c, a
+	ld c, a      ; old HP into bc
 	ld a, [hli]
 	ld b, a
 	ld a, [hli]
-	ld e, a
+	ld e, a      ; new HP into de
 	ld d, [hl]
 	pop hl
 	push de
 	push bc
-	call Func_fad7
+	call UpdateHPBar_CalcHPDifference
 	ld a, e
-	ld [$cefe], a
+	ld [W_HPBARHPDIFFERENCE+1], a
 	ld a, d
-	ld [$cefd], a
+	ld [W_HPBARHPDIFFERENCE], a
 	pop bc
 	pop de
-	call Func_fad1
+	call UpdateHPBar_CompareNewHPToOldHP
 	ret z
 	ld a, $ff
-	jr c, .asm_fa42
+	jr c, .HPdecrease
 	ld a, $1
-.asm_fa42
-	ld [$ceef], a
+.HPdecrease
+	ld [W_HPBARDELTA], a
 	call Load16BitRegisters
-	ld a, [$ceed]
+	ld a, [W_HPBARNEWHP]
 	ld e, a
-	ld a, [$ceee]
+	ld a, [W_HPBARNEWHP+1]
 	ld d, a
-.asm_fa50
+.animateHPBarLoop
 	push de
-	ld a, [$ceeb]
+	ld a, [W_HPBAROLDHP]
 	ld c, a
-	ld a, [$ceec]
+	ld a, [W_HPBAROLDHP+1]
 	ld b, a
-	call Func_fad1
-	jr z, .asm_fa96
-	jr nc, .asm_fa70
-	dec bc
+	call UpdateHPBar_CompareNewHPToOldHP
+	jr z, .animateHPBarDone
+	jr nc, .HPIncrease
+	dec bc        ; subtract 1 HP
 	ld a, c
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	ld a, b
-	ld [$ceee], a
-	call Func_fb30
+	ld [W_HPBARNEWHP+1], a
+	call UpdateHPBar_CalcOldNewHPBarPixels
 	ld a, e
-	sub d
+	sub d         ; calc pixel difference
 	jr .asm_fa7e
-.asm_fa70
-	inc bc
+.HPIncrease
+	inc bc        ; add 1 HP
 	ld a, c
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	ld a, b
-	ld [$ceee], a
-	call Func_fb30
+	ld [W_HPBARNEWHP+1], a
+	call UpdateHPBar_CalcOldNewHPBarPixels
 	ld a, d
-	sub e
+	sub e         ; calc pixel difference
 .asm_fa7e
-	call Func_faf5
+	call UpdateHPBar_PrintHPNumber
 	and a
-	jr z, .asm_fa87
-	call Func_fab1
-.asm_fa87
-	ld a, [$ceed]
-	ld [$ceeb], a
-	ld a, [$ceee]
-	ld [$ceec], a
+	jr z, .noPixelDifference
+	call UpdateHPBar_AnimateHPBar
+.noPixelDifference
+	ld a, [W_HPBARNEWHP]
+	ld [W_HPBAROLDHP], a
+	ld a, [W_HPBARNEWHP+1]
+	ld [W_HPBAROLDHP+1], a
 	pop de
-	jr .asm_fa50
-.asm_fa96
+	jr .animateHPBarLoop
+.animateHPBarDone
 	pop de
 	ld a, e
-	ld [$ceeb], a
+	ld [W_HPBAROLDHP], a
 	ld a, d
-	ld [$ceec], a
+	ld [W_HPBAROLDHP+1], a
 	or e
-	jr z, .asm_faa6
-	call Func_fb30
+	jr z, .monFainted
+	call UpdateHPBar_CalcOldNewHPBarPixels
 	ld d, e
-.asm_faa6
-	call Func_faf5
+.monFainted
+	call UpdateHPBar_PrintHPNumber
 	ld a, $1
-	call Func_fab1
+	call UpdateHPBar_AnimateHPBar
 	jp Delay3
 
 ; known jump sources: fa84 (3:7a84), faab (3:7aab)
-Func_fab1: ; fab1 (3:7ab1)
+; animates the HP bar going up or down for (a) ticks (two waiting frames each)
+; stops prematurely if bar is filled up
+; e: current health (in pixels) to start with
+UpdateHPBar_AnimateHPBar: ; fab1 (3:7ab1)
 	push hl
-.asm_fab2
+.barAnimationLoop
 	push af
 	push de
 	ld d, $6
@@ -28346,23 +28674,23 @@
 	ld c, $2
 	call DelayFrames
 	pop de
-	ld a, [$ceef]
+	ld a, [W_HPBARDELTA] ; +1 or -1
 	add e
 	cp $31
-	jr nc, .asm_face
+	jr nc, .barFilledUp
 	ld e, a
 	pop af
 	dec a
-	jr nz, .asm_fab2
+	jr nz, .barAnimationLoop
 	pop hl
 	ret
-.asm_face
+.barFilledUp
 	pop af
 	pop hl
 	ret
 
-; known jump sources: fa38 (3:7a38), fa59 (3:7a59)
-Func_fad1: ; fad1 (3:7ad1)
+; compares old HP and new HP and sets c and z flags accordingly
+UpdateHPBar_CompareNewHPToOldHP: ; fad1 (3:7ad1)
 	ld a, d
 	sub b
 	ret nz
@@ -28371,12 +28699,13 @@
 	ret
 
 ; known jump sources: fa2b (3:7a2b)
-Func_fad7: ; fad7 (3:7ad7)
+; calcs HP difference between bc and de (into de)
+UpdateHPBar_CalcHPDifference: ; fad7 (3:7ad7)
 	ld a, d
 	sub b
-	jr c, .asm_fae4
-	jr z, .asm_faeb
-.asm_fadd
+	jr c, .oldHPGreater
+	jr z, .testLowerByte
+.newHPGreater
 	ld a, e
 	sub c
 	ld e, a
@@ -28384,7 +28713,7 @@
 	sbc b
 	ld d, a
 	ret
-.asm_fae4
+.oldHPGreater
 	ld a, c
 	sub e
 	ld e, a
@@ -28392,24 +28721,24 @@
 	sbc d
 	ld d, a
 	ret
-.asm_faeb
+.testLowerByte
 	ld a, e
 	sub c
-	jr c, .asm_fae4
-	jr nz, .asm_fadd
+	jr c, .oldHPGreater
+	jr nz, .newHPGreater
 	ld de, $0
 	ret
 
 ; known jump sources: fa7e (3:7a7e), faa6 (3:7aa6)
-Func_faf5: ; faf5 (3:7af5)
+UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
 	push af
 	push de
 	ld a, [W_LISTMENUID] ; $cf94
 	and a
 	jr z, .asm_fb2d
-	ld a, [$ceeb]
+	ld a, [W_HPBAROLDHP]
 	ld [$cef1], a
-	ld a, [$ceec]
+	ld a, [W_HPBAROLDHP+1]
 	ld [$cef0], a
 	push hl
 	ld a, [$FF00+$f6]
@@ -28438,28 +28767,31 @@
 	ret
 
 ; known jump sources: fa69 (3:7a69), fa79 (3:7a79), faa2 (3:7aa2)
-Func_fb30: ; fb30 (3:7b30)
+; calcs number of HP bar pixels for old and new HP value
+; d: new pixels
+; e: old pixels
+UpdateHPBar_CalcOldNewHPBarPixels: ; fb30 (3:7b30)
 	push hl
-	ld hl, $cee9
-	ld a, [hli]
+	ld hl, W_HPBARMAXHP
+	ld a, [hli]  ; max HP into de
 	ld e, a
 	ld a, [hli]
 	ld d, a
-	ld a, [hli]
+	ld a, [hli]  ; old HP into bc
 	ld c, a
 	ld a, [hli]
 	ld b, a
-	ld a, [hli]
+	ld a, [hli]  ; new HP into hl
 	ld h, [hl]
 	ld l, a
 	push hl
 	push de
-	call Func_f9df
+	call UpdateHPBar_CalcNumberOfHPBarPixels ; calc num pixels for old HP
 	ld a, e
 	pop de
 	pop bc
 	push af
-	call Func_f9df
+	call UpdateHPBar_CalcNumberOfHPBarPixels ; calc num pixels for new HP
 	pop af
 	ld d, e
 	ld e, a
@@ -28473,9 +28805,10 @@
 	jr nz, .asm_fb7f
 	ld a, [W_CURMAPTILESET] ; $d367
 	ld b, a
-	ld a, [$c434]
+	FuncCoord 8, 7 ; $c434
+	ld a, [Coord]
 	ld c, a
-	ld hl, $7b8b
+	ld hl, Unknown_fb8b ; $7b8b
 .asm_fb62
 	ld a, [hli]
 	cp $ff
@@ -28505,19 +28838,20 @@
 	ld hl, Func_52673
 	jp Bankswitch ; indirect jump to Func_52673 (52673 (14:6673))
 
+Unknown_fb8b: ; fb8b (3:7b8b)
 INCBIN "baserom.gbc",$fb8b,$fbd9 - $fb8b
 
-UnnamedText_fbd9: ; 0xfbd9
+UnnamedText_fbd9: ; fbd9 (3:7bd9)
 	TX_FAR _UnnamedText_fbd9
 	db $50
 ; 0xfbd9 + 5 bytes
 
-UnnamedText_fbde: ; 0xfbde
+UnnamedText_fbde: ; fbde (3:7bde)
 	TX_FAR _UnnamedText_fbde
 	db $50
 ; 0xfbde + 5 bytes
 
-UnnamedText_fbe3: ; 0xfbe3
+UnnamedText_fbe3: ; fbe3 (3:7be3)
 	TX_FAR _UnnamedText_fbe3
 	db $50
 ; 0xfbe3 + 5 bytes
@@ -28524,17 +28858,17 @@
 
 INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8
 
-UnnamedText_fc03: ; 0xfc03
+UnnamedText_fc03: ; fc03 (3:7c03)
 	TX_FAR _UnnamedText_fc03
 	db $50
 ; 0xfc03 + 5 bytes
 
-UnnamedText_fc08: ; 0xfc08
+UnnamedText_fc08: ; fc08 (3:7c08)
 	TX_FAR _UnnamedText_fc08
 	db $50
 ; 0xfc08 + 5 bytes
 
-UnnamedText_fc0d: ; 0xfc0d
+UnnamedText_fc0d: ; fc0d (3:7c0d)
 	TX_FAR _UnnamedText_fc0d
 	db $50
 ; 0xfc0d + 5 bytes
@@ -28541,7 +28875,7 @@
 
 INCBIN "baserom.gbc",$fc12,$fc45 - $fc12
 
-UnnamedText_fc45: ; 0xfc45
+UnnamedText_fc45: ; fc45 (3:7c45)
 	TX_FAR _UnnamedText_fc45
 	db $50
 ; 0xfc45 + 5 bytes
@@ -28548,78 +28882,98 @@
 
 SECTION "bank4",DATA,BANK[$4]
 
-OakAideSprite: ; 0x10000
+OakAideSprite: ; 10000 (4:4000)
 	INCBIN "gfx/sprites/oak_aide.2bpp" ; was $10000
-RockerSprite: ; 0x10180
+RockerSprite: ; 10180 (4:4180)
 	INCBIN "gfx/sprites/rocker.2bpp" ; was $10180
-SwimmerSprite: ; 0x10300
+SwimmerSprite: ; 10300 (4:4300)
 	INCBIN "gfx/sprites/swimmer.2bpp" ; was $10300
-WhitePlayerSprite: ; 0x10480
+WhitePlayerSprite: ; 10480 (4:4480)
 	INCBIN "gfx/sprites/white_player.2bpp" ; was $10480
-GymHelperSprite: ; 0x10540
+GymHelperSprite: ; 10540 (4:4540)
 	INCBIN "gfx/sprites/gym_helper.2bpp" ; was $10540
-OldPersonSprite: ; 0x10600
+OldPersonSprite: ; 10600 (4:4600)
 	INCBIN "gfx/sprites/old_person.2bpp" ; was $10600
-MartGuySprite: ; 0x106c0
+MartGuySprite: ; 106c0 (4:46c0)
 	INCBIN "gfx/sprites/mart_guy.2bpp" ; was $106c0
-FisherSprite: ; 0x10780
+FisherSprite: ; 10780 (4:4780)
 	INCBIN "gfx/sprites/fisher.2bpp" ; was $10780
-OldMediumWomanSprite: ; 0x10840
+OldMediumWomanSprite: ; 10840 (4:4840)
 	INCBIN "gfx/sprites/old_medium_woman.2bpp" ; was $10840
-NurseSprite: ; 0x10900
+NurseSprite: ; 10900 (4:4900)
 	INCBIN "gfx/sprites/nurse.2bpp" ; was $10900
-CableClubWomanSprite: ; 0x109c0
+CableClubWomanSprite: ; 109c0 (4:49c0)
 	INCBIN "gfx/sprites/cable_club_woman.2bpp" ; was $109c0
-MrMasterballSprite: ; 0x10a80
+MrMasterballSprite: ; 10a80 (4:4a80)
 	INCBIN "gfx/sprites/mr_masterball.2bpp" ; was $10a80
-LaprasGiverSprite: ; 0x10b40
+LaprasGiverSprite: ; 10b40 (4:4b40)
 	INCBIN "gfx/sprites/lapras_giver.2bpp" ; was $10b40
-WardenSprite: ; 0x10c00
+WardenSprite: ; 10c00 (4:4c00)
 	INCBIN "gfx/sprites/warden.2bpp" ; was $10c00
-SsCaptainSprite: ; 0x10cc0
+SsCaptainSprite: ; 10cc0 (4:4cc0)
 	INCBIN "gfx/sprites/ss_captain.2bpp" ; was $10cc0
-Fisher2Sprite: ; 0x10d80
+Fisher2Sprite: ; 10d80 (4:4d80)
 	INCBIN "gfx/sprites/fisher2.2bpp" ; was $10d80
-BlackbeltSprite: ; 0x10f00
+BlackbeltSprite: ; 10f00 (4:4f00)
 	INCBIN "gfx/sprites/blackbelt.2bpp" ; was $10f00
-GuardSprite: ; 0x11080
+GuardSprite: ; 11080 (4:5080)
 	INCBIN "gfx/sprites/guard.2bpp" ; was $11080
-BallSprite: ; 0x11140
+BallSprite: ; 11140 (4:5140)
 	INCBIN "gfx/sprites/ball.2bpp" ; was $11140
-OmanyteSprite: ; 0x11180
+OmanyteSprite: ; 11180 (4:5180)
 	INCBIN "gfx/sprites/omanyte.2bpp" ; was $11180
-BoulderSprite: ; 0x111c0
+BoulderSprite: ; 111c0 (4:51c0)
 	INCBIN "gfx/sprites/boulder.2bpp" ; was $111c0
-PaperSheetSprite: ; 0x11200
+PaperSheetSprite: ; 11200 (4:5200)
 	INCBIN "gfx/sprites/paper_sheet.2bpp" ; was $11200
-BookMapDexSprite: ; 0x11240
+BookMapDexSprite: ; 11240 (4:5240)
 	INCBIN "gfx/sprites/book_map_dex.2bpp" ; was $11240
-ClipboardSprite: ; 0x11280
+ClipboardSprite: ; 11280 (4:5280)
 	INCBIN "gfx/sprites/clipboard.2bpp" ; was $11280
-SnorlaxSprite: ; 0x112c0
+SnorlaxSprite: ; 112c0 (4:52c0)
 	INCBIN "gfx/sprites/snorlax.2bpp" ; was $112c0
-OldAmberSprite: ; 0x11300
+OldAmberSprite: ; 11300 (4:5300)
 	INCBIN "gfx/sprites/old_amber.2bpp" ; was $11300
-LyingOldManSprite: ; 0x11340
+LyingOldManSprite: ; 11340 (4:5340)
 	INCBIN "gfx/sprites/lying_old_man.2bpp" ; was $11340
 	
-PokemonLogoGraphics: ; 0x11380
+PokemonLogoGraphics: ; 11380 (4:5380)
 	INCBIN "gfx/pokemon_logo.2bpp"
-FontGraphics: ; 0x11a80
+FontGraphics: ; 11a80 (4:5a80)
 	INCBIN "gfx/font.1bpp"
 
 INCBIN "baserom.gbc",$11e80,$11ea0 - $11e80
 
-HpBarAndStatusGraphics: ; 0x11ea0
+HpBarAndStatusGraphics: ; 11ea0 (4:5ea0)
 	INCBIN "gfx/hp_bar_and_status.2bpp"
 
-INCBIN "baserom.gbc",$12080,$12288 - $12080 ; FIXME
+Unknown_12080: ; 12080 (4:6080)
+INCBIN "baserom.gbc",$12080,$12098 - $12080
 
-TextBoxGraphics: ; 0x12288
+Unknown_12098: ; 12098 (4:6098)
+INCBIN "baserom.gbc",$12098,$120b0 - $12098
+
+Unknown_120b0: ; 120b0 (4:60b0)
+INCBIN "baserom.gbc",$120b0,$120c8 - $120b0
+
+NintendoCopyrightLogoGraphics: ; 120c8 (4:60c8)
+INCBIN "baserom.gbc",$120c8,$121f8 - $120c8
+
+GamefreakLogoGraphics: ; 121f8 (4:61f8)
+INCBIN "baserom.gbc",$121f8,$12288 - $121f8
+
+TextBoxGraphics: ; 12288 (4:6288)
 	INCBIN "gfx/text_box.2bpp"
 
-INCBIN "baserom.gbc",$12488,$128d8 - $12488
+PokedexTileGraphics: ; 12488 (4:6488)
+INCBIN "baserom.gbc",$12488,$125a8 - $12488
 
+WorldMapTileGraphics: ; 125a8 (4:65a8)
+INCBIN "baserom.gbc",$125a8,$126a8 - $125a8
+
+PlayerCharacterTitleGraphics: ; 126a8 (4:66a8)
+INCBIN "baserom.gbc",$126a8,$128d8 - $126a8
+
 ; known jump sources: 1388d (4:788d)
 Func_128d8: ; 128d8 (4:68d8)
 	ld a, [W_YCOORD] ; $d361
@@ -28705,7 +29059,7 @@
 	ret
 ; 12953 (4:6953)
 ; Predef 0x37
-StatusScreen: ; 0x12953
+StatusScreen: ; 12953 (4:6953)
 	call LoadMonData
 	ld a, [$cc49]
 	cp $2 ; 2 means we're in a PC box
@@ -28716,7 +29070,7 @@
 	ld hl, $cfa8
 	ld de, $cfba
 	ld b, $1
-	call Func_3936 ; Recalculate stats
+	call CalcStats ; Recalculate stats
 .DontRecalculate
 	ld hl, $d72c
 	set 1, [hl]
@@ -28726,17 +29080,17 @@
 	call ClearScreen
 	call UpdateSprites ; move sprites (?)
 	call LoadHpBarAndStatusTilePatterns
-	ld de, $6080 ; source
+	ld de, Unknown_12080  ; $6080 ; source
 	ld hl, $96d0 ; dest
-	ld bc, $0403 ; bank bytes/8
+	ld bc, (BANK(Unknown_12080) << 8) + $03 ; bank bytes/8
 	call CopyVideoDataDouble ; ·│ :L and halfarrow line end
-	ld de, $6098
+	ld de, Unknown_12098 ; $6098
 	ld hl, $9780
-	ld bc, $0401
+	ld bc, (BANK(Unknown_12098) << 8) + $01
 	call CopyVideoDataDouble ; │
-	ld de, $60b0
+	ld de, Unknown_120b0 ; $60b0
 	ld hl, $9760
-	ld bc, $0402
+	ld bc, (BANK(Unknown_120b0) << 8) + $02
 	call CopyVideoDataDouble ; ─┘
 	ld de, PTile
 	ld hl, $9720
@@ -28801,7 +29155,7 @@
 	ld hl, Coord
 	ld a, $4b
 	call Predef ; Prints the type (?)
-	ld hl, $6a9d
+	ld hl, Unknown_12a9d ; $6a9d
 	call .unk_12a7e
 	ld d, h
 	ld e, l
@@ -28808,7 +29162,7 @@
 	FuncCoord 9,1
 	ld hl, Coord
 	call PlaceString ; Pokémon name
-	ld hl, $6a95
+	ld hl, Unknown_12a95 ; $6a95
 	call .unk_12a7e
 	ld d, h
 	ld e, l
@@ -28824,11 +29178,12 @@
 	call PrintStatsBox
 	call Delay3
 	call GBPalNormal
-	ld hl, $c3a1
-	call Func_1384 ; draw Pokémon picture
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
+	call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture
 	ld a, [$cf91]
 	call PlayCry ; play Pokémon cry
-	call Func_3865 ; wait for button
+	call WaitForTextScrollButtonPress ; wait for button
 	pop af
 	ld [$ff00+$d7], a
 	ret
@@ -28848,24 +29203,28 @@
 	jp SkipFixedLengthTextEntries
 ; 0x12a95
 
-INCBIN "baserom.gbc",$12a95,$12aa5 - $12a95 ; This is some pointers..
+Unknown_12a95: ; 12a95 (4:6a95)
+INCBIN "baserom.gbc",$12a95,$12a9d - $12a95
 
-Type1Text: ; 0x12aa5
+Unknown_12a9d: ; 12a9d (4:6a9d)
+INCBIN "baserom.gbc",$12a9d,$12aa5 - $12a9d
+
+Type1Text: ; 12aa5 (4:6aa5)
 	db "TYPE1/", $4e
 
-Type2Text: ; 
+Type2Text: ; 12aac (4:6aac)
 	db "TYPE2/", $4e
 
-IDNoText:
+IDNoText: ; 12ab3 (4:6ab3)
 	db $73, $74, "/", $4e
 
-OTText:
+OTText: ; 12ab7 (4:6ab7)
 	db "OT/", $4e, "@"
 
-StatusText:
+StatusText: ; 12abc (4:6abc)
 	db "STATUS/@"
 
-OKText: ; 0x12ac4
+OKText: ; 12ac4 (4:6ac4)
 	db "OK@"
 
 ; Draws a line starting from hl high b and wide c
@@ -28886,10 +29245,10 @@
 	ld [hl], $6f ; ← (halfarrow ending)
 	ret
 
-PTile: ; This is a single 1bpp "P" tile
+PTile: ; 12adc (4:6adc) ; This is a single 1bpp "P" tile
 	INCBIN "gfx/p_tile.1bpp"
 
-PrintStatsBox: ; 12ae4
+PrintStatsBox: ; 12ae4 (4:6ae4)
 	ld a, d
 	and a ; a is 0 from the status screen
 	jr nz, .DifferentBox ; 0x12ae6 $12
@@ -28908,7 +29267,8 @@
 	ld b, $8
 	ld c, $9
 	call TextBoxBorder
-	ld hl, $c3e7
+	FuncCoord 11, 3 ; $c3e7
+	ld hl, Coord
 	ld bc, $0018
 .PrintStats
 	push bc
@@ -28935,13 +29295,13 @@
 	add hl, de
 	ret
 
-StatsText:
+StatsText: ; 12b3a (4:6b3a)
 	db "ATTACK", $4e
 	db "DEFENSE", $4e
 	db "SPEED", $4e
 	db "SPECIAL", $50
 
-StatusScreen2: ; 12b57
+StatusScreen2: ; 12b57 (4:6b57)
 	ld a, [$ff00+$d7]
 	push af
 	xor a
@@ -28961,7 +29321,8 @@
 	ld hl, Coord
 	ld bc, $050a
 	call ClearScreenArea ; Clear under name
-	ld hl, $c3ef
+	FuncCoord 19, 3 ; $c3ef
+	ld hl, Coord
 	ld [hl], $78
 	FuncCoord 0,8
 	ld hl, Coord
@@ -29089,7 +29450,7 @@
 	ld a, $1
 	ld [$ff00+$ba], a
 	call Delay3
-	call Func_3865 ; wait for button
+	call WaitForTextScrollButtonPress ; wait for button
 	pop af
 	ld [$ff00+$d7], a
 	ld hl, $d72c
@@ -29126,10 +29487,10 @@
 	ld [hl], a
 	ret
 
-EXPPointsText:
+EXPPointsText: ; 12caf (4:6caf)
 	db "EXP POINTS", $4e
 
-LevelUpText:
+LevelUpText: ; 12cba (4:6cba)
 	db "LEVEL UP", $50
 
 ; known jump sources: 12c52 (4:6c52), 12c58 (4:6c58)
@@ -29166,7 +29527,7 @@
 ; f6: health returned
 ; f7: revitalized
 ; f8: leveled up
-DrawPartyMenu_: ; 6CD2
+DrawPartyMenu_: ; 12cd2 (4:6cd2)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a
 	call ClearScreen
@@ -29175,7 +29536,7 @@
 	ld hl, Func_71791
 	call Bankswitch ; load pokemon icon graphics
 
-RedrawPartyMenu_: ; 6CE3
+RedrawPartyMenu_: ; 12ce3 (4:6ce3)
 	ld a,[$D07D]
 	cp a,$04
 	jp z,.printMessage
@@ -29392,7 +29753,7 @@
 	call PrintText
 	jr .done
 
-PartyMenuItemUseMessagePointers: ; 6E61
+PartyMenuItemUseMessagePointers: ; 12e61 (4:6e61)
 	dw AntidoteText
 	dw BurnHealText
 	dw IceHealText
@@ -29403,7 +29764,7 @@
 	dw ReviveText
 	dw RareCandyText
 
-PartyMenuMessagePointers: ; 6E73
+PartyMenuMessagePointers: ; 12e73 (4:6e73)
 	dw PartyMenuNormalText
 	dw PartyMenuItemUseText
 	dw PartyMenuBattleText
@@ -29411,59 +29772,59 @@
 	dw PartyMenuSwapMonText
 	dw PartyMenuItemUseText
 
-PartyMenuNormalText: ; 0x12e7f
+PartyMenuNormalText: ; 12e7f (4:6e7f)
 	TX_FAR _PartyMenuNormalText
 	db $50
 
-PartyMenuItemUseText: ; 0x12e84
+PartyMenuItemUseText: ; 12e84 (4:6e84)
 	TX_FAR _PartyMenuItemUseText
 	db $50
 
-PartyMenuBattleText: ; 0x12e89
+PartyMenuBattleText: ; 12e89 (4:6e89)
 	TX_FAR _PartyMenuBattleText
 	db $50
 
-PartyMenuUseTMText: ; 0x12e8e
+PartyMenuUseTMText: ; 12e8e (4:6e8e)
 	TX_FAR _PartyMenuUseTMText
 	db $50
 
-PartyMenuSwapMonText: ; 0x12e93
+PartyMenuSwapMonText: ; 12e93 (4:6e93)
 	TX_FAR _PartyMenuSwapMonText
 	db $50
 
-PotionText: ; 0x12e98
+PotionText: ; 12e98 (4:6e98)
 	TX_FAR _PotionText
 	db $50
 
-AntidoteText: ; 0x12e9d
+AntidoteText: ; 12e9d (4:6e9d)
 	TX_FAR _AntidoteText
 	db $50
 
-ParlyzHealText: ; 0x12ea2
+ParlyzHealText: ; 12ea2 (4:6ea2)
 	TX_FAR _ParlyzHealText
 	db $50
 
-BurnHealText: ; 0x12ea7
+BurnHealText: ; 12ea7 (4:6ea7)
 	TX_FAR _BurnHealText
 	db $50
 
-IceHealText: ; 0x12eac
+IceHealText: ; 12eac (4:6eac)
 	TX_FAR _IceHealText
 	db $50
 
-AwakeningText: ; 0x12eb1
+AwakeningText: ; 12eb1 (4:6eb1)
 	TX_FAR _AwakeningText
 	db $50
 
-FullHealText: ; 0x12eb6
+FullHealText: ; 12eb6 (4:6eb6)
 	TX_FAR _FullHealText
 	db $50
 
-ReviveText: ; 0x12ebb
+ReviveText: ; 12ebb (4:6ebb)
 	TX_FAR _ReviveText
 	db $50
 
-RareCandyText: ; 0x12ec0
+RareCandyText: ; 12ec0 (4:6ec0)
 	TX_FAR _RareCandyText
 	db $0B
 	db $06
@@ -29483,11 +29844,12 @@
 	inc [hl]
 	ret
 ; 12ede (4:6ede)
-RedPicFront:
+
+RedPicFront: ; 12ede (4:6ede)
 	INCBIN "pic/trainer/red.pic"
-ShrinkPic1:
+ShrinkPic1: ; 12fe8 (4:6fe8)
 	INCBIN "pic/trainer/shrink1.pic"
-ShrinkPic2:
+ShrinkPic2: ; 13042 (4:7042)
 	INCBIN "pic/trainer/shrink2.pic"
 
 ; known jump sources: 2976 (0:2976)
@@ -29517,16 +29879,16 @@
 	ld [hl], a
 	ret
 ; 13095 (4:7095)
-StartMenu_Pokedex: ; 7095
+StartMenu_Pokedex: ; 13095 (4:7095)
 	ld a,$29
 	call Predef
-	call Func_3701 ; restore saved screen
+	call LoadScreenTilesFromBuffer2 ; restore saved screen
 	call Delay3
 	call LoadGBPal
 	call UpdateSprites
 	jp RedisplayStartMenu
 
-StartMenu_Pokemon: ; 70A9
+StartMenu_Pokemon: ; 130a9 (4:70a9)
 	ld a,[W_NUMINPARTY]
 	and a
 	jp z,RedisplayStartMenu
@@ -29549,7 +29911,7 @@
 	call LoadGBPal
 	jp RedisplayStartMenu
 .chosePokemon
-	call Func_3719 ; save screen
+	call SaveScreenTilesToBuffer1 ; save screen
 	ld a,$04
 	ld [$d125],a
 	call DisplayTextBoxID ; display pokemon menu options
@@ -29583,7 +29945,7 @@
 	ld [hl],a
 	call HandleMenuInput
 	push af
-	call Func_3725 ; restore saved screen
+	call LoadScreenTilesFromBuffer1 ; restore saved screen
 	pop af
 	bit 1,a ; was the B button pressed?
 	jp nz,.loop
@@ -29810,7 +30172,7 @@
 	db $50
 
 ; writes a blank tile to all possible menu cursor positions on the party menu
-ErasePartyMenuCursors: ; 72ED
+ErasePartyMenuCursors: ; 132ed (4:72ed)
 	FuncCoord 0,1
 	ld hl,Coord
 	ld bc,2 * 20 ; menu cursor positions are 2 rows apart
@@ -29822,11 +30184,11 @@
 	jr nz,.loop
 	ret
 
-ItemMenuLoop: ; 72FC
-	call Func_3709 ; restore saved screen
+ItemMenuLoop: ; 132fc (4:72fc)
+	call LoadScreenTilesFromBuffer2DisableBGTransfer ; restore saved screen
 	call GoPAL_SET_CF1C
 
-StartMenu_Item: ; 7302
+StartMenu_Item: ; 13302 (4:7302)
 	ld a,[W_ISLINKBATTLE]
 	dec a
 	jr nz,.notInLinkBattle
@@ -29850,7 +30212,7 @@
 	ld [$cc2c],a
 	jr nc,.choseItem
 .exitMenu
-	call Func_3701 ; restore saved screen
+	call LoadScreenTilesFromBuffer2 ; restore saved screen
 	call LoadTextBoxTilePatterns
 	call UpdateSprites ; move sprites
 	jp RedisplayStartMenu
@@ -29969,16 +30331,16 @@
 .tossZeroItems
 	jp ItemMenuLoop
 
-CannotUseItemsHereText: ; 742A
+CannotUseItemsHereText: ; 1342a (4:742a)
 	TX_FAR _CannotUseItemsHereText
 	db $50
 
-CannotGetOffHereText: ; 742F
+CannotGetOffHereText: ; 1342f (4:742f)
 	TX_FAR _CannotGetOffHereText
 	db $50
 
 ; items which bring up the party menu when used
-UsableItems_PartyMenu: ; 7434
+UsableItems_PartyMenu: ; 13434 (4:7434)
 	db MOON_STONE
 	db ANTIDOTE
 	db BURN_HEAL
@@ -30018,7 +30380,7 @@
 	db $ff
 
 ; items which close the item menu when used
-UsableItems_CloseMenu: ; 7459
+UsableItems_CloseMenu: ; 13459 (4:7459)
 	db ESCAPE_ROPE
 	db ITEMFINDER
 	db POKE_FLUTE
@@ -30027,7 +30389,7 @@
 	db SUPER_ROD
 	db $ff
 
-StartMenu_TrainerInfo: ; 7460
+StartMenu_TrainerInfo: ; 13460 (4:7460)
 	call GBPalWhiteOut
 	call ClearScreen
 	call UpdateSprites ; move sprites
@@ -30041,10 +30403,10 @@
 	ld b,$0d
 	call GoPAL_SET
 	call GBPalNormal
-	call Func_3865 ; wait for button press
+	call WaitForTextScrollButtonPress ; wait for button press
 	call GBPalWhiteOut
 	call LoadFontTilePatterns
-	call Func_3701 ; restore saved screen
+	call LoadScreenTilesFromBuffer2 ; restore saved screen
 	call GoPAL_SET_CF1C
 	call ReloadMapData
 	call LoadGBPal
@@ -30053,7 +30415,7 @@
 	jp RedisplayStartMenu
 
 ; loads tile patterns and draws everything except for gym leader faces / badges
-DrawTrainerInfo: ; 749A
+DrawTrainerInfo: ; 1349a (4:749a)
 	ld de,RedPicFront
 	ld bc,$0401
 	ld a,$3b
@@ -30070,25 +30432,25 @@
 	ld de,$9000
 	ld bc,$01c0
 	call CopyData
-	ld hl,$7b98 ; trainer info text box tile patterns
+	ld hl,TrainerInfoTextBoxTileGraphics ; $7b98 ; trainer info text box tile patterns
 	ld de,$9770
 	ld bc,$0080
 	push bc
 	call TrainerInfo_FarCopyData
-	ld hl,$7c28
+	ld hl,UnknownGFX_2fc28 ; $7c28
 	ld de,$9600
 	ld bc,$0170
 	call TrainerInfo_FarCopyData
 	pop bc
-	ld hl,$7d98 ; badge number tile patterns
+	ld hl,BadgeNumbersTileGraphics  ; $7d98 ; badge number tile patterns
 	ld de,$8d80
 	call TrainerInfo_FarCopyData
-	ld hl,$6a9e ; gym leader face and badge tile patterns
+	ld hl,GymLeaderFaceAndBadgeTileGraphics  ; $6a9e ; gym leader face and badge tile patterns
 	ld de,$9200
 	ld bc,$0400
 	ld a,$03
 	call FarCopyData2
-	ld hl,$6288
+	ld hl,TextBoxGraphics ; $6288
 	ld de,$00d0
 	add hl,de ; hl = colon tile pattern
 	ld de,$8d60
@@ -30097,7 +30459,7 @@
 	push bc
 	call FarCopyData2
 	pop bc
-	ld hl,$7c18 ; background tile pattern
+	ld hl,TrainerInfoTextBoxTileGraphics + $80  ; $7c18 ; background tile pattern
 	ld de,$8d70
 	call TrainerInfo_FarCopyData
 	call EnableLCD
@@ -30154,17 +30516,17 @@
 	ld bc,$8102
 	jp PrintNumber
 
-TrainerInfo_FarCopyData: ; 757F
+TrainerInfo_FarCopyData: ; 1357f (4:757f)
 	ld a,$0b
 	jp FarCopyData2
 
-TrainerInfo_NameMoneyTimeText: ; 7584
+TrainerInfo_NameMoneyTimeText: ; 13584 (4:7584)
 	db "NAME/",$4E
 	db "MONEY/",$4E
 	db "TIME/@"
 
 ; $76 is a circle tile
-TrainerInfo_BadgesText: ; 7597
+TrainerInfo_BadgesText: ; 13597 (4:7597)
 	db $76,"BADGES",$76,"@"
 
 ; draws a text box on the trainer info screen
@@ -30174,7 +30536,7 @@
 ; [$cd3d] = width + 1
 ; [$cd3e] = width
 ; [$cd3f] = distance from the end of a text box row to the start of the next
-TrainerInfo_DrawTextBox: ; 75A0
+TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
 	ld a,$79 ; upper left corner tile ID
 	ld de,$7a7b ; top edge and upper right corner tile ID's
 	call TrainerInfo_DrawHorizontalEdge ; draw top edge
@@ -30193,7 +30555,7 @@
 	ld a,$7d ; lower left corner tile ID
 	ld de,$777e ; bottom edge and lower right corner tile ID's
 
-TrainerInfo_DrawHorizontalEdge: ; 75C3
+TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
 	ld [hli],a ; place left corner tile
 	ld a,[$cd3e] ; width of the text box
 	ld c,a
@@ -30206,7 +30568,7 @@
 	ld [hl],a ; place right corner tile
 	ret
 
-TrainerInfo_NextTextBoxRow: ; 75D0
+TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0)
 	ld a,[$cd3f] ; distance to the start of the next row
 .loop
 	inc hl
@@ -30218,7 +30580,7 @@
 ; INPUT:
 ; hl = address of top tile in the line
 ; a = tile ID
-TrainerInfo_DrawVerticalLine: ; 75D8
+TrainerInfo_DrawVerticalLine: ; 135d8 (4:75d8)
 	ld de,20
 	ld c,8
 .loop
@@ -30228,16 +30590,16 @@
 	jr nz,.loop
 	ret
 
-StartMenu_SaveReset: ; 75E3
+StartMenu_SaveReset: ; 135e3 (4:75e3)
 	ld a,[$d72e]
 	bit 6,a ; is the player using the link feature?
 	jp nz,InitGame
 	ld a,$3f
 	call Predef ; save the game
-	call Func_3701 ; restore saved screen
+	call LoadScreenTilesFromBuffer2 ; restore saved screen
 	jp HoldTextDisplayOpen
 
-StartMenu_Option: ; 75F6
+StartMenu_Option: ; 135f6 (4:75f6)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a
 	call ClearScreen
@@ -30245,7 +30607,7 @@
 	ld hl,DisplayOptionMenu
 	ld b,BANK(DisplayOptionMenu)
 	call Bankswitch
-	call Func_3701 ; restore saved screen
+	call LoadScreenTilesFromBuffer2 ; restore saved screen
 	call LoadTextBoxTilePatterns
 	call UpdateSprites
 	jp RedisplayStartMenu
@@ -30262,7 +30624,7 @@
 ; known jump sources: 13619 (4:7619), 1361f (4:761f)
 Func_13625: ; 13625 (4:7625)
 	push af
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $28
 	call AddNTimes
 	ld c, $28
@@ -30272,7 +30634,7 @@
 	dec c
 	jr nz, .asm_13633
 	pop af
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld bc, $10
 	call AddNTimes
 	ld de, $4
@@ -30282,7 +30644,7 @@
 	add hl, de
 	dec c
 	jr nz, .asm_13645
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ae
 	jp PlaySound
 
@@ -30439,7 +30801,7 @@
 	ret
 ; 13773 (4:7773)
 
-TechnicalMachines: ; 0x13773
+TechnicalMachines: ; 13773 (4:7773)
 	db MEGA_PUNCH
 	db RAZOR_WIND
 	db SWORDS_DANCE
@@ -30513,13 +30875,14 @@
 	call Bankswitch ; indirect jump to Func_372d6 (372d6 (d:72d6))
 	ld a, [$cf0b]
 	cp $1
-	ld de, $7853
+	ld de, Unknown_13853 ; $7853
 	jr c, .asm_137de
-	ld de, $785b
+	ld de, Unknown_1385b ; $785b
 	jr z, .asm_137de
-	ld de, $7864
+	ld de, Unknown_13864 ; $7864
 .asm_137de
-	ld hl, $c446
+	FuncCoord 6, 8 ; $c446
+	ld hl, Coord
 	call PlaceString
 	ld c, $c8
 	call DelayFrames
@@ -30538,7 +30901,7 @@
 	ld c, $3
 	ld a, $b
 	call Predef ; indirect jump to Func_f81d (f81d (3:781d))
-	ld hl, $786b
+	ld hl, UnnamedText_1386b ; $786b
 	call PrintText
 .asm_1380a
 	xor a
@@ -30570,15 +30933,22 @@
 	jr nz, .asm_1383e
 	ld hl, $d72c
 	set 0, [hl]
-	call Func_3748
+	call WaitForSoundToFinish
 	call GBPalWhiteOut
 	ld a, $ff
 	ld [$d42f], a
 	ret
 
-INCBIN "baserom.gbc",$13853,$1386b - $13853
+Unknown_13853: ; 13853 (4:7853)
+INCBIN "baserom.gbc",$13853,$1385b - $13853
 
-UnnamedText_1386b: ; 0x1386b
+Unknown_1385b: ; 1385b (4:785b)
+INCBIN "baserom.gbc",$1385b,$13864 - $1385b
+
+Unknown_13864: ; 13864 (4:7864)
+INCBIN "baserom.gbc",$13864,$1386b - $13864
+
+UnnamedText_1386b: ; 1386b (4:786b)
 	TX_FAR _UnnamedText_1386b
 	db $50
 ; 0x1386b + 5 bytes
@@ -30611,7 +30981,8 @@
 	jr z, .asm_13905
 	ld [$d0db], a
 .asm_1389e
-	ld hl, $c45d
+	FuncCoord 9, 9 ; $c45d
+	ld hl, Coord
 	ld c, [hl]
 	ld a, [W_GRASSTILE]
 	cp c
@@ -30635,7 +31006,7 @@
 	jr nc, .asm_13912
 	ld a, [H_RAND2] ; $FF00+$d4
 	ld b, a
-	ld hl, $7918
+	ld hl, Unknown_13918 ; $7918
 .asm_138d0
 	ld a, [hli]
 	cp b
@@ -30645,7 +31016,8 @@
 .asm_138d7
 	ld c, [hl]
 	ld hl, W_GRASSMONS ; $d888
-	ld a, [$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a, [Coord]
 	cp $14
 	jr nz, .asm_138e5
 	ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP)
@@ -30656,7 +31028,7 @@
 	ld [W_CURENEMYLVL], a ; $d127
 	ld a, [hl]
 	ld [$cf91], a
-	ld [$cfd8], a
+	ld [W_ENEMYMONID], a
 	ld a, [$d0db]
 	and a
 	jr z, .asm_13916
@@ -30680,6 +31052,7 @@
 	xor a
 	ret
 
+Unknown_13918: ; 13918 (4:7918)
 INCBIN "baserom.gbc",$13918,$1392c - $13918
 
 ; known jump sources: 3f956 (f:7956)
@@ -30711,46 +31084,48 @@
 	inc c
 .asm_13958
 	ld a, [hli]
-	ld [$ceea], a
+	ld [W_HPBARMAXHP+1], a
 	ld a, [hl]
-	ld [$cee9], a
+	ld [W_HPBARMAXHP], a
 	push bc
 	ld bc, $fff2
 	add hl, bc
 	pop bc
 	ld a, [hl]
-	ld [$ceeb], a
+	ld [W_HPBAROLDHP], a
 	sub c
 	ld [hld], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	ld a, [hl]
-	ld [$ceec], a
+	ld [W_HPBAROLDHP+1], a
 	sbc b
 	ld [hl], a
-	ld [$ceee], a
+	ld [W_HPBARNEWHP+1], a
 	jr nc, .asm_13982
 	xor a
 	ld [hli], a
 	ld [hl], a
-	ld hl, $ceed
+	ld hl, W_HPBARNEWHP
 	ld [hli], a
 	ld [hl], a
 .asm_13982
-	ld hl, $c45e
+	FuncCoord 10, 9 ; $c45e
+	ld hl, Coord
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	ld a, $1
 	jr z, .asm_13990
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	xor a
 .asm_13990
 	ld [W_LISTMENUID], a ; $cf94
 	ld a, $48
-	call Predef ; indirect jump to Func_fa1d (fa1d (3:7a1d))
-	ld hl, $799e
+	call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
+	ld hl, UnnamedText_1399e ; $799e
 	jp PrintText
 ; 1399e (4:799e)
-UnnamedText_1399e: ; 0x1399e
+UnnamedText_1399e: ; 1399e (4:799e)
 	TX_FAR _UnnamedText_1399e
 	db $50
 ; 0x1399e + 5 bytes
@@ -30757,7 +31132,7 @@
 
 INCBIN "baserom.gbc",$139a3,$139cd - $139a3
 
-UnnamedText_139cd: ; 0x139cd
+UnnamedText_139cd: ; 139cd (4:79cd)
 	TX_FAR _UnnamedText_139cd
 	db $50
 ; 0x139cd + 5 bytes
@@ -30764,7 +31139,7 @@
 
 INCBIN "baserom.gbc",$139d2,$13a53 - $139d2
 
-UnnamedText_13a53: ; 0x13a53
+UnnamedText_13a53: ; 13a53 (4:7a53)
 	TX_FAR _UnnamedText_13a53
 	db $50
 ; 0x13a53 + 5 bytes
@@ -30795,7 +31170,7 @@
 	ld bc, $d
 	jp CopyData
 ; 13a8f (4:7a8f)
-GenRandom_: ; 7A8F
+GenRandom_: ; 13a8f (4:7a8f)
 ; generate a random 16-bit integer and store it at $FFD3,$FFD4
 	ld a,[rDIV]
 	ld b,a
@@ -30811,98 +31186,99 @@
 
 SECTION "bank5",DATA,BANK[$5]
 
+RedCyclingSprite: ; 14000 (5:4000)
 INCBIN "baserom.gbc",$14000,$14180 - $14000
 
-RedSprite: ; 0x14180
+RedSprite: ; 14180 (5:4180)
 	INCBIN "gfx/sprites/red.2bpp" ; was $14180
-BlueSprite: ; 0x14300
+BlueSprite: ; 14300 (5:4300)
 	INCBIN "gfx/sprites/blue.2bpp" ; was $14300
-OakSprite: ; 0x14480
+OakSprite: ; 14480 (5:4480)
 	INCBIN "gfx/sprites/oak.2bpp" ; was $14480
-BugCatcherSprite: ; 0x14600
+BugCatcherSprite: ; 14600 (5:4600)
 	INCBIN "gfx/sprites/bug_catcher.2bpp" ; was $14600
-SlowbroSprite: ; 0x14780
+SlowbroSprite: ; 14780 (5:4780)
 	INCBIN "gfx/sprites/slowbro.2bpp" ; was $14780
-LassSprite: ; 0x14900
+LassSprite: ; 14900 (5:4900)
 	INCBIN "gfx/sprites/lass.2bpp" ; was $14900
-BlackHairBoy1Sprite: ; 0x14a80
+BlackHairBoy1Sprite: ; 14a80 (5:4a80)
 	INCBIN "gfx/sprites/black_hair_boy_1.2bpp" ; was $14a80
-LittleGirlSprite: ; 0x14c00
+LittleGirlSprite: ; 14c00 (5:4c00)
 	INCBIN "gfx/sprites/little_girl.2bpp" ; was $14c00
-BirdSprite: ; 0x14d80
+BirdSprite: ; 14d80 (5:4d80)
 	INCBIN "gfx/sprites/bird.2bpp" ; was $14d80
-FatBaldGuySprite: ; 0x14f00
+FatBaldGuySprite: ; 14f00 (5:4f00)
 	INCBIN "gfx/sprites/fat_bald_guy.2bpp" ; was $14f00
-GamblerSprite: ; 0x15080
+GamblerSprite: ; 15080 (5:5080)
 	INCBIN "gfx/sprites/gambler.2bpp" ; was $15080
-BlackHairBoy2Sprite: ; 0x15200
+BlackHairBoy2Sprite: ; 15200 (5:5200)
 	INCBIN "gfx/sprites/black_hair_boy_2.2bpp" ; was $15200
-GirlSprite: ; 0x15380
+GirlSprite: ; 15380 (5:5380)
 	INCBIN "gfx/sprites/girl.2bpp" ; was $15380
-HikerSprite: ; 0x15500
+HikerSprite: ; 15500 (5:5500)
 	INCBIN "gfx/sprites/hiker.2bpp" ; was $15500
-FoulardWomanSprite: ; 0x15680
+FoulardWomanSprite: ; 15680 (5:5680)
 	INCBIN "gfx/sprites/foulard_woman.2bpp" ; was $15680
-GentlemanSprite: ; 0x15800
+GentlemanSprite: ; 15800 (5:5800)
 	INCBIN "gfx/sprites/gentleman.2bpp" ; was $15800
-DaisySprite: ; 0x15980
+DaisySprite: ; 15980 (5:5980)
 	INCBIN "gfx/sprites/daisy.2bpp" ; was $15980
-BikerSprite: ; 0x15b00
+BikerSprite: ; 15b00 (5:5b00)
 	INCBIN "gfx/sprites/biker.2bpp" ; was $15b00
-SailorSprite: ; 0x15c80
+SailorSprite: ; 15c80 (5:5c80)
 	INCBIN "gfx/sprites/sailor.2bpp" ; was $15c80
-CookSprite: ; 0x15e00
+CookSprite: ; 15e00 (5:5e00)
 	INCBIN "gfx/sprites/cook.2bpp" ; was $15e00
-BikeShopGuySprite: ; 0x15f80
+BikeShopGuySprite: ; 15f80 (5:5f80)
 	INCBIN "gfx/sprites/bike_shop_guy.2bpp" ; was $15f80
-MrFujiSprite: ; 0x16040
+MrFujiSprite: ; 16040 (5:6040)
 	INCBIN "gfx/sprites/mr_fuji.2bpp" ; was $16040
-GiovanniSprite: ; 0x161c0
+GiovanniSprite: ; 161c0 (5:61c0)
 	INCBIN "gfx/sprites/giovanni.2bpp" ; was $161c0
-RocketSprite: ; 0x16340
+RocketSprite: ; 16340 (5:6340)
 	INCBIN "gfx/sprites/rocket.2bpp" ; was $16340
-MediumSprite: ; 0x164c0
+MediumSprite: ; 164c0 (5:64c0)
 	INCBIN "gfx/sprites/medium.2bpp" ; was $164c0
-WaiterSprite: ; 0x16640
+WaiterSprite: ; 16640 (5:6640)
 	INCBIN "gfx/sprites/waiter.2bpp" ; was $16640
-ErikaSprite: ; 0x167c0
+ErikaSprite: ; 167c0 (5:67c0)
 	INCBIN "gfx/sprites/erika.2bpp" ; was $167c0
-MomGeishaSprite: ; 0x16940
+MomGeishaSprite: ; 16940 (5:6940)
 	INCBIN "gfx/sprites/mom_geisha.2bpp" ; was $16940
-BrunetteGirlSprite: ; 0x16ac0
+BrunetteGirlSprite: ; 16ac0 (5:6ac0)
 	INCBIN "gfx/sprites/brunette_girl.2bpp" ; was $16ac0
-LanceSprite: ; 0x16c40
+LanceSprite: ; 16c40 (5:6c40)
 	INCBIN "gfx/sprites/lance.2bpp" ; was $16c40
-MomSprite: ; 0x16dc0
+MomSprite: ; 16dc0 (5:6dc0)
 	INCBIN "gfx/sprites/mom.2bpp" ; was $16dc0
-BaldingGuySprite: ; 0x16e80
+BaldingGuySprite: ; 16e80 (5:6e80)
 	INCBIN "gfx/sprites/balding_guy.2bpp" ; was $16e80
-YoungBoySprite: ; 0x16f40
+YoungBoySprite: ; 16f40 (5:6f40)
 	INCBIN "gfx/sprites/young_boy.2bpp" ; was $16f40
-GameboyKidSprite: ; 0x17000
+GameboyKidSprite: ; 17000 (5:7000)
 	INCBIN "gfx/sprites/gameboy_kid.2bpp" ; was $17000
-ClefairySprite: ; 0x170c0
+ClefairySprite: ; 170c0 (5:70c0)
 	INCBIN "gfx/sprites/clefairy.2bpp" ; was $170c0
-AgathaSprite: ; 0x17240
+AgathaSprite: ; 17240 (5:7240)
 	INCBIN "gfx/sprites/agatha.2bpp" ; was $17240
-BrunoSprite: ; 0x173c0
+BrunoSprite: ; 173c0 (5:73c0)
 	INCBIN "gfx/sprites/bruno.2bpp" ; was $173c0
-LoreleiSprite: ; 0x17540
+LoreleiSprite: ; 17540 (5:7540)
 	INCBIN "gfx/sprites/lorelei.2bpp" ; was $17540
-SeelSprite: ; 0x176c0
+SeelSprite: ; 176c0 (5:76c0)
 	INCBIN "gfx/sprites/seel.2bpp" ; was $176c0
 
 ; Loads tile patterns for tiles used in the pokedex.
-LoadPokedexTilePatterns: ; 7840
+LoadPokedexTilePatterns: ; 17840 (5:7840)
 	call LoadHpBarAndStatusTilePatterns
-	ld de,$6488
+	ld de,PokedexTileGraphics ; $6488
 	ld hl,$9600
-	ld bc,$0412
+	ld bc,(BANK(PokedexTileGraphics) << 8) + $12 
 	call CopyVideoData
-	ld de,$697e
+	ld de,PokeballTileGraphics ; $697e
 	ld hl,$9720
-	ld bc,$0e01
-	jp CopyVideoData
+	ld bc,(BANK(PokeballTileGraphics) << 8) + $01
+	jp CopyVideoData ; load pokeball tile for marking cought mons
 
 ; Loads tile patterns for map's sprites.
 ; For outside maps, it loads one of several fixed sets of sprites.
@@ -30914,7 +31290,7 @@
 ; fields, respectively, within loops. The X is the loop index.
 ; If there is an inner loop, Y is the inner loop index, i.e. $C1Y* and $C2Y*
 ; denote fields of the sprite slots interated over in the inner loop.
-InitMapSprites: ; 785B
+InitMapSprites: ; 1785b (5:785b)
 	call InitOutsideMapSprites
 	ret c ; return if the map is an outside map (already handled by above call)
 ; if the map is an inside map (i.e. mapID >= $25)
@@ -30935,7 +31311,7 @@
 ; This is used for both inside and outside maps, since it is called by
 ; InitOutsideMapSprites.
 ; Loads tile pattern data for sprites into VRAM.
-LoadMapSpriteTilePatterns: ; 7871
+LoadMapSpriteTilePatterns: ; 17871 (5:7871)
 	ld a,[W_NUMSPRITES]
 	and a ; are there any sprites?
 	jr nz,.spritesExist
@@ -31142,7 +31518,7 @@
 ; de = pointer to sprite sheet
 ; bc = length in bytes
 ; a = ROM bank
-ReadSpriteSheetData: ; 7971
+ReadSpriteSheetData: ; 17971 (5:7971)
 	ld a,[hli]
 	ld e,a
 	ld a,[hli]
@@ -31156,7 +31532,7 @@
 
 ; Loads sprite set for outside maps (cities and routes) and sets VRAM slots.
 ; sets carry if the map is a city or route, unsets carry if not
-InitOutsideMapSprites: ; 797B
+InitOutsideMapSprites: ; 1797b (5:797b)
 	ld a,[W_CURMAP]
 	cp a,$25 ; is the map a city or a route (map ID less than $25)?
 	ret nc ; if not, return
@@ -31286,7 +31662,7 @@
 
 ; Chooses the correct sprite set ID depending on the player's position within
 ; the map for maps with two sprite sets.
-GetSplitMapSpriteSetID: ; 7A1A
+GetSplitMapSpriteSetID: ; 17a1a (5:7a1a)
 	cp a,$f8
 	jr z,.route20
 	ld hl,SplitMapSpriteSets
@@ -31343,7 +31719,7 @@
 	ld a,$01
 	ret
 
-MapSpriteSets: ; 7A64
+MapSpriteSets: ; 17a64 (5:7a64)
 	db $01 ; PALLET_TOWN
 	db $01 ; VIRIDIAN_CITY
 	db $02 ; PEWTER_CITY
@@ -31389,7 +31765,7 @@
 ; 01: coordinate of dividing line
 ; 02: sprite set ID if in the West or North side
 ; 03: sprite set ID if in the East or South side
-SplitMapSpriteSets: ; 7A89
+SplitMapSpriteSets: ; 17a89 (5:7a89)
 	db $02,$25,$02,$01 ; $f1
 	db $02,$32,$02,$03 ; $f2
 	db $01,$39,$04,$08 ; $f3
@@ -31403,7 +31779,7 @@
 	db $01,$11,$05,$07 ; $fb
 	db $01,$03,$07,$03 ; $fc
 
-SpriteSets: ; 7AB9
+SpriteSets: ; 17ab9 (5:7ab9)
 ; sprite set $01
 	db SPRITE_BLUE
 	db SPRITE_BUG_CATCHER
@@ -31534,7 +31910,7 @@
 	db SPRITE_BALL
 	db SPRITE_OMANYTE
 
-SpriteSheetPointerTable: ; 0x17b27
+SpriteSheetPointerTable: ; 17b27 (5:7b27)
 	; SPRITE_RED
 	dw RedSprite
 	db $c0 ; byte count
@@ -31901,7 +32277,7 @@
 	ld a, [$cd50]
 	ld c, a
 	ld b, $0
-	ld hl, $7caf
+	ld hl, Unknown_17caf ; $7caf
 	add hl, bc
 	add hl, bc
 	ld e, [hl]
@@ -31908,7 +32284,7 @@
 	inc hl
 	ld d, [hl]
 	ld hl, $8f80
-	ld bc, $504
+	ld bc, (BANK(Unknown_17caf) << 8) + $04
 	call CopyVideoData
 	ld a, [$cfcb]
 	push af
@@ -31944,7 +32320,7 @@
 	ld a, [hl]
 	add $8
 	ld c, a
-	ld de, $7cb5
+	ld de, Unknown_17cb5 ; $7cb5
 	xor a
 	call WriteOAMBlock
 	ld c, $3c
@@ -31954,8 +32330,12 @@
 	call DelayFrame
 	jp UpdateSprites
 
-INCBIN "baserom.gbc",$17caf,$17d7d - $17caf
+Unknown_17caf: ; 17caf (5:7caf)
+INCBIN "baserom.gbc",$17caf,$17cb5 - $17caf
 
+Unknown_17cb5: ; 17cb5 (5:7cb5)
+INCBIN "baserom.gbc",$17cb5,$17d7d - $17cb5
+
 ; known jump sources: 71c87 (1c:5c87)
 Func_17d7d: ; 17d7d (5:7d7d)
 	ld a, [W_PLAYERMONACCURACYMOD] ; $cd1e
@@ -31981,7 +32361,7 @@
 	ld [W_ISLINKBATTLE], a ; $d12b
 	jp Func_2307
 ; 17dad (5:7dad)
-SubstituteEffectHandler:  ;0x17DAD
+SubstituteEffectHandler: ; 17dad (5:7dad)
 	ld c, 50
 	call DelayFrames		
 	ld hl, W_PLAYERMONMAXHP		
@@ -32027,8 +32407,8 @@
 	set 4, [hl]    ;set bit 4 of flags, user now has substitute
 	ld a, [$d355]  ;load options
 	bit 7, a       ;battle animation is enabled?
-	ld hl, $7ba8   ;animation enabled: 0F:7BA8
-	ld b, $0f
+	ld hl, Func_3fba8    ; $7ba8 ;animation enabled: 0F:7BA8
+	ld b, BANK(Func_3fba8)
 	jr z, .animationEnabled
 	ld hl, Func_796e0   ;animation disabled: 1E:56E0
 	ld b, BANK(Func_796e0)
@@ -32047,37 +32427,37 @@
 .printText
 	jp PrintText
 
-UnnamedText_17e1d: ; 0x17e1d
+UnnamedText_17e1d: ; 17e1d (5:7e1d)
 	TX_FAR _UnnamedText_17e1d
 	db $50
 ; 0x17e1d + 5 bytes
 
-UnnamedText_17e22: ; 0x17e22
+UnnamedText_17e22: ; 17e22 (5:7e22)
 	TX_FAR _UnnamedText_17e22
 	db $50
 ; 0x17e22 + 5 bytes
 
-UnnamedText_17e27: ; 0x17e27
+UnnamedText_17e27: ; 17e27 (5:7e27)
 	TX_FAR _UnnamedText_17e27
 	db $50
 ; 0x17e27 + 5 bytes
 
-ActivatePC:     ;0x17e2c
-	call Func_36f4  ;XXX: copy background from $C3A0 to $CD81
+ActivatePC: ; 17e2c (5:7e2c)
+	call SaveScreenTilesToBuffer2  ;XXX: copy background from W_SCREENTILESBUFFER to W_SCREENTILESBACKBUFFER2
 	ld a, $99
 	call PlaySound  ;XXX: play sound or stop music
 	ld hl, UnnamedText_17f23  ;player turned on PC
 	call PrintText
-	call Func_3748  ;XXX: wait for sound to be done
-	ld hl, $CD60
+	call WaitForSoundToFinish  ;XXX: wait for sound to be done
+	ld hl, W_FLAGS_CD60
 	set 3, [hl]
-	call Func_3701  ;XXX: restore saved screen
+	call LoadScreenTilesFromBuffer2  ;XXX: restore saved screen
 	call Delay3
-PCMainMenu:
+PCMainMenu: ; 17e48 (5:7e48)
 	ld b, BANK(Func_213c8)
 	ld hl, Func_213c8
 	call Bankswitch
-	ld hl, $CD60
+	ld hl, W_FLAGS_CD60
 	set 5, [hl]
 	call HandleMenuInput
 	bit 1, a              ;if player pressed B
@@ -32114,12 +32494,12 @@
 	jp z, PKMNLeague ;if current menu item id is 3, it's pkmnleague
 	jp LogOff        ;otherwise, it's 4, and you're logging off
 .playersPC
-	ld hl, $CD60
+	ld hl, W_FLAGS_CD60
 	res 5, [hl]
 	set 3, [hl]
 	ld a, $9B
 	call PlaySound  ;XXX: play sound or stop music
-	call Func_3748  ;XXX: wait for sound to be done
+	call WaitForSoundToFinish  ;XXX: wait for sound to be done
 	ld hl, UnnamedText_17f32  ;accessed players pc
 	call PrintText
 	ld b, BANK(Func_78e6)
@@ -32126,26 +32506,26 @@
 	ld hl, Func_78e6
 	call Bankswitch
 	jr ReloadMainMenu
-OaksPC:
+OaksPC: ; 17ec0 (5:7ec0)
 	ld a, $9B
 	call PlaySound  ;XXX: play sound or stop music
-	call Func_3748  ;XXX: wait for sound to be done
+	call WaitForSoundToFinish  ;XXX: wait for sound to be done
 	ld b, BANK(Func_1e915)
 	ld hl, Func_1e915
 	call Bankswitch
 	jr ReloadMainMenu
-PKMNLeague:
+PKMNLeague: ; 17ed2 (5:7ed2)
 	ld a, $9B
 	call PlaySound  ;XXX: play sound or stop music
-	call Func_3748  ;XXX: wait for sound to be done
+	call WaitForSoundToFinish  ;XXX: wait for sound to be done
 	ld b, BANK(Unknown_7657e)
 	ld hl, Unknown_7657e
 	call Bankswitch
 	jr ReloadMainMenu
-BillsPC:
+BillsPC: ; 17ee4 (5:7ee4)
 	ld a, $9B
 	call PlaySound    ;XXX: play sound or stop music
-	call Func_3748    ;XXX: wait for sound to be done
+	call WaitForSoundToFinish    ;XXX: wait for sound to be done
 	ld a, [$D7F1] ;has to do with having met Bill
 	bit 0, a
 	jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's
@@ -32158,37 +32538,37 @@
 	ld b, BANK(Func_214c2)
 	ld hl, Func_214c2
 	call Bankswitch
-ReloadMainMenu:
+ReloadMainMenu: ; 17f06 (5:7f06)
 	xor a
 	ld [$CC3C], a
 	call ReloadMapData
 	call UpdateSprites  ;XXX: moves sprites
 	jp PCMainMenu
-LogOff:
+LogOff: ; 17f13 (5:7f13)
 	ld a, $9A
 	call PlaySound  ;XXX: play sound or stop music
-	call Func_3748  ;XXX: wait for sound to be done
-	ld hl, $CD60
+	call WaitForSoundToFinish  ;XXX: wait for sound to be done
+	ld hl, W_FLAGS_CD60
 	res 3, [hl]
 	res 5, [hl]
 	ret
 
-UnnamedText_17f23: ; 0x17f23
+UnnamedText_17f23: ; 17f23 (5:7f23)
 	TX_FAR _UnnamedText_17f23
 	db $50
 ; 0x17f23 + 5 bytes
 
-UnnamedText_17f28: ; 0x17f28
+UnnamedText_17f28: ; 17f28 (5:7f28)
 	TX_FAR _UnnamedText_17f28
 	db $50
 ; 0x17f28 + 5 bytes
 
-UnnamedText_17f2d: ; 0x17f2d
+UnnamedText_17f2d: ; 17f2d (5:7f2d)
 	TX_FAR _UnnamedText_17f2d
 	db $50
 ; 0x17f2d + 5 bytes
 
-UnnamedText_17f32: ; 0x17f32
+UnnamedText_17f32: ; 17f32 (5:7f32)
 	TX_FAR _UnnamedText_17f32
 	db $50
 ; 0x17f32 + 5 bytes
@@ -32222,7 +32602,7 @@
 ; 17f5f (5:7f5f)
 SECTION "bank6",DATA,BANK[$6]
 
-CeladonCity_h: ; 0x18000
+CeladonCity_h: ; 18000 (6:4000)
 	db $00 ; tileset
 	db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x)
 	dw CeladonCityBlocks, CeladonCityTexts, CeladonCityScript ; blocks, texts, scripts
@@ -32301,10 +32681,10 @@
 	EVENT_DISP $19, $1b, $23 ; CELADON_HOUSE
 	EVENT_DISP $19, $1b, $2b ; CELADON_HOTEL
 
-CeladonCityBlocks: ; 0x180df 450
+CeladonCityBlocks: ; 180df (6:40df)
 	INCBIN "maps/celadoncity.blk"
 
-PalletTown_h: ; 0x182a1
+PalletTown_h: ; 182a1 (6:42a1)
 	db $00 ; tileset
 	db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions
 	dw PalletTownBlocks, PalletTownTexts, PalletTownScript
@@ -32351,7 +32731,7 @@
 	EVENT_DISP $a, $5, $d ; BLUES_HOUSE
 	EVENT_DISP $a, $b, $c ; OAKS_LAB
 
-PalletTownBlocks: ; 0x182fd
+PalletTownBlocks: ; 182fd (6:42fd)
 	INCBIN "maps/pallettown.blk"
 
 ViridianCity_h: ; 0x18357 to 0x18384 (45 bytes) (bank=6) (id=1)
@@ -32421,7 +32801,7 @@
 	EVENT_DISP $14, $9, $15 ; VIRIDIAN_HOUSE
 	EVENT_DISP $14, $7, $20 ; VIRIDIAN_GYM
 
-ViridianCityBlocks: ; 0x183ec 360
+ViridianCityBlocks: ; 183ec (6:43ec)
 	INCBIN "maps/viridiancity.blk"
 
 PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2)
@@ -32490,7 +32870,7 @@
 	EVENT_DISP $14, $1d, $7 ; PEWTER_HOUSE_2
 	EVENT_DISP $14, $19, $d ; PEWTER_POKECENTER
 
-PewterCityBlocks: ; 0x185e6 360
+PewterCityBlocks: ; 185e6 (6:45e6)
 	INCBIN "maps/pewtercity.blk"
 
 CeruleanCity_h: ; 0x1874e to 0x18786 (56 bytes) (bank=6) (id=3)
@@ -32581,7 +32961,7 @@
 	EVENT_DISP $14, $b, $9 ; CERULEAN_HOUSE_3
 	EVENT_DISP $14, $9, $9 ; CERULEAN_HOUSE_3
 
-CeruleanCityBlocks: ; 0x18830 360
+CeruleanCityBlocks: ; 18830 (6:4830)
 	INCBIN "maps/ceruleancity.blk"
 
 VermilionCity_h: ; 0x18998 to 0x189ba (34 bytes) (bank=6) (id=5)
@@ -32652,7 +33032,7 @@
 	EVENT_DISP $14, $d, $f ; VERMILION_HOUSE_3
 	EVENT_DISP $14, $3, $7 ; VERMILION_HOUSE_2
 
-VermilionCityBlocks: ; 0x18a3f 360
+VermilionCityBlocks: ; 18a3f (6:4a3f)
 	INCBIN "maps/vermilioncity.blk"
 
 FuchsiaCity_h: ; 0x18ba7 to 0x18bd4 (45 bytes) (bank=6) (id=7)
@@ -32741,7 +33121,7 @@
 	EVENT_DISP $14, $1b, $1f ; FUCHSIA_HOUSE_3
 	EVENT_DISP $14, $18, $1f ; FUCHSIA_HOUSE_3
 
-FuchsiaCityBlocks: ; 0x18c86 360
+FuchsiaCityBlocks: ; 18c86 (6:4c86)
 	INCBIN "maps/fuchsiacity.blk"
 
 ; known jump sources: 2099 (0:2099)
@@ -32804,11 +33184,11 @@
 	ld [$d730], a
 	ret z
 	xor a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b4], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ret
 ; 18e5b (6:4e5b)
-PalletTownScript:
+PalletTownScript: ; 18e5b (6:4e5b)
 	ld a,[$D74B]
 	bit 4,a
 	jr z,.next
@@ -32817,14 +33197,14 @@
 .next
 	call EnableAutoTextBoxDrawing
 	ld hl,PalletTownScriptPointers
-	ld a,[$D5F1]
+	ld a,[W_PALLETTOWNCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x18e73
 
-PalletTownScriptPointers:
+PalletTownScriptPointers: ; 18e73 (6:4e73)
 	dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7
 
-PalletTownScript1:
+PalletTownScript1: ; 18e81 (6:4e81)
 	ld a,[$D747]
 	bit 0,a
 	ret nz
@@ -32832,7 +33212,7 @@
 	cp 1 ; is player near north exit?
 	ret nz
 	xor a
-	ld [$FFB4],a
+	ld [H_CURRENTPRESSEDBUTTONS],a
 	ld a,4
 	ld [$D528],a
 	ld a,$FF
@@ -32842,16 +33222,16 @@
 	ld a,$DB ; “oak appears” music
 	call PlayMusic ; plays music
 	ld a,$FC
-	ld [$CD6B],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	ld hl,$D74B
 	set 7,[hl]
 
 	; trigger the next script
 	ld a,1
-	ld [$D5F1],a
+	ld [W_PALLETTOWNCURSCRIPT],a
 	ret
 
-PalletTownScript2:
+PalletTownScript2: ; 18eb2 (6:4eb2)
 	xor a
 	ld [$CF0D],a
 	ld a,1
@@ -32858,7 +33238,7 @@
 	ld [$FF8C],a
 	call DisplayTextID
 	ld a,$FF
-	ld [$CD6B],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	ld a,0
 	ld [$CC4D],a
 	ld a,$15
@@ -32866,10 +33246,10 @@
 
 	; trigger the next script
 	ld a,2
-	ld [$D5F1],a
+	ld [W_PALLETTOWNCURSCRIPT],a
 	ret
 
-PalletTownScript3:
+PalletTownScript3: ; 18ed2 (6:4ed2)
 	ld a,1
 	ld [$FF8C],a
 	ld a,4
@@ -32894,14 +33274,14 @@
 	ld [$FF8C],a
 	call MoveSprite
 	ld a,$FF
-	ld [$CD6B],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 
 	; trigger the next script
 	ld a,3
-	ld [$D5F1],a
+	ld [W_PALLETTOWNCURSCRIPT],a
 	ret
 
-PalletTownScript4:
+PalletTownScript4: ; 18f12 (6:4f12)
 	ld a,[$D730]
 	bit 0,a
 	ret nz
@@ -32910,12 +33290,12 @@
 	ld a,1
 	ld [$CF0D],a
 	ld a,$FC
-	ld [$CD6B],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	ld a,1
 	ld [$FF8C],a
 	call DisplayTextID
 	ld a,$FF
-	ld [$CD6B],a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK],a
 	ld a,1
 	ld [$CF13],a
 	xor a
@@ -32927,10 +33307,10 @@
 
 	; trigger the next script
 	ld a,4
-	ld [$D5F1],a
+	ld [W_PALLETTOWNCURSCRIPT],a
 	ret
 
-PalletTownScript5:
+PalletTownScript5: ; 18f4b (6:4f4b)
 	ld a,[$CC57]
 	and a
 	ret nz
@@ -32937,10 +33317,10 @@
 
 	; trigger the next script
 	ld a,5
-	ld [$D5F1],a
+	ld [W_PALLETTOWNCURSCRIPT],a
 	ret
 
-PalletTownScript6:
+PalletTownScript6: ; 18f56 (6:4f56)
 	ld a,[$D74A]
 	bit 2,a
 	jr nz,.next
@@ -32963,13 +33343,13 @@
 	ret z
 	ld hl,$D74B
 	set 6,[hl]
-PalletTownScript7:
+PalletTownScript7: ; 18f87 (6:4f87)
 	ret
 
-PalletTownTexts: ; 0x18f88
+PalletTownTexts: ; 18f88 (6:4f88)
 	dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7
 
-PalletTownText1: ; 4F96 0x18f96
+PalletTownText1: ; 18f96 (6:4f96)
 	db 8
 	ld a,[$CF0D]
 	and a
@@ -32984,7 +33364,7 @@
 	call PrintText
 	jp TextScriptEnd
 
-OakAppearsText:
+OakAppearsText: ; 18fb0 (6:4fb0)
 	TX_FAR _OakAppearsText
 	db 8
 	ld c,10
@@ -32998,7 +33378,7 @@
 	ld [$D528],a
 	jp TextScriptEnd
 
-OakWalksUpText:
+OakWalksUpText: ; 18fce (6:4fce)
 	TX_FAR _OakWalksUpText
 	db "@"
 
@@ -33031,24 +33411,24 @@
 	TX_FAR _PalletTownText7
 	db "@"
 
-ViridianCityScript: ; 0x18ff1
+ViridianCityScript: ; 18ff1 (6:4ff1)
 	call EnableAutoTextBoxDrawing
 	ld hl, ViridianCityScripts
-	ld a, [$d5f4]
+	ld a, [W_VIRIDIANCITYCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x18ffd
 
-ViridianCityScripts: ; 0x18ffd
+ViridianCityScripts: ; 18ffd (6:4ffd)
 	dw ViridianCityScript0
 	dw ViridianCityScript1
 	dw ViridianCityScript2
 	dw ViridianCityScript3
 
-ViridianCityScript0: ; 0x19005
+ViridianCityScript0: ; 19005 (6:5005)
 	call Function1900b
 	jp Function1903d
 
-Function1900b: ; 0x1900b
+Function1900b: ; 1900b (6:500b)
 	ld a, [$d74c]
 	bit 0, a
 	ret nz
@@ -33069,13 +33449,13 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	call Function190cf
 	ld a, $3
-	ld [$d5f4], a
+	ld [W_VIRIDIANCITYCURSCRIPT], a
 	ret
 
-Function1903d: ; 0x1903d
+Function1903d: ; 1903d (6:503d)
 	ld a, [$d74b]
 	bit 5, a
 	ret nz
@@ -33089,13 +33469,13 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	call Function190cf
 	ld a, $3
-	ld [$d5f4], a
+	ld [W_VIRIDIANCITYCURSCRIPT], a
 	ret
 
-ViridianCityScript1: ; 0x19062
+ViridianCityScript1: ; 19062 (6:5062)
 	ld a, [$c134]
 	ld [$ff00+$eb], a
 	ld a, [$c136]
@@ -33115,10 +33495,10 @@
 	ld a, WEEDLE
 	ld [W_CUROPPONENT], a
 	ld a, $2
-	ld [$d5f4], a ; XXX what is this
+	ld [W_VIRIDIANCITYCURSCRIPT], a ; XXX what is this
 	ret
 
-ViridianCityScript2: ; 0x1908f
+ViridianCityScript2: ; 1908f (6:508f)
 	ld a, [$ff00+$eb]
 	ld [$c134], a
 	ld a, [$ff00+$ec]
@@ -33130,27 +33510,27 @@
 	call UpdateSprites
 	call Delay3
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $f
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
 	ld [W_BATTLETYPE], a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d5f4], a
+	ld [W_VIRIDIANCITYCURSCRIPT], a
 	ret
 
-ViridianCityScript3: ; 0x190c1
+ViridianCityScript3: ; 190c1 (6:50c1)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	ld a, 0
-	ld [$d5f4], a
+	ld [W_VIRIDIANCITYCURSCRIPT], a
 	ret
 
-Function190cf: ; 0x190cf
+Function190cf: ; 190cf (6:50cf)
 	call Func_3486
 	ld a, $1
 	ld [$cd38], a
@@ -33158,17 +33538,17 @@
 	ld [$ccd3], a
 	xor a
 	ld [$c109], a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 
-ViridianCityTexts: ; 0x190e4
+ViridianCityTexts: ; 190e4 (6:50e4)
 	dw ViridianCityText1, ViridianCityText2, ViridianCityText3, ViridianCityText4, ViridianCityText5, ViridianCityText6, ViridianCityText7, ViridianCityText8, ViridianCityText9, ViridianCityText10, MartSignText, PokeCenterSignText, ViridianCityText13, ViridianCityText14, ViridianCityText15
 
-ViridianCityText1: ; 0x19102
+ViridianCityText1: ; 19102 (6:5102)
 	TX_FAR _ViridianCityText1
 	db $50
 
-ViridianCityText2: ; 0x19107
+ViridianCityText2: ; 19107 (6:5107)
 	db $08 ; asm
 	ld a, [$d356]
 	cp $7f
@@ -33182,21 +33562,21 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_19122: ; 0x19122
+UnnamedText_19122: ; 19122 (6:5122)
 	TX_FAR _UnnamedText_19122
 	db $50
 ; 0x19122 + 5 bytes
 
-UnnamedText_19127: ; 0x19127
+UnnamedText_19127: ; 19127 (6:5127)
 	TX_FAR _UnnamedText_19127
 	db $50
 ; 0x19127 + 5 bytes
 
-ViridianCityText3: ; 0x1912c
+ViridianCityText3: ; 1912c (6:512c)
 	db $08 ; asm
 	ld hl, UnnamedText_1914d
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_6dfea ; 0x1913a
@@ -33209,22 +33589,22 @@
 .asm_d611f ; 0x1914a
 	jp TextScriptEnd
 
-UnnamedText_1914d: ; 0x1914d
+UnnamedText_1914d: ; 1914d (6:514d)
 	TX_FAR _UnnamedText_1914d
 	db $50
 ; 0x1914d + 5 bytes
 
-UnnamedText_19152: ; 0x19152
+UnnamedText_19152: ; 19152 (6:5152)
 	TX_FAR _UnnamedText_19152
 	db $50
 ; 0x19152 + 5 bytes
 
-UnnamedText_19157: ; 0x19157
+UnnamedText_19157: ; 19157 (6:5157)
 	TX_FAR _UnnamedText_19157
 	db $50
 ; 0x19157 + 5 bytes
 
-ViridianCityText4: ; 0x1915c
+ViridianCityText4: ; 1915c (6:515c)
 	db $08 ; asm
 	ld a, [$d74b]
 	bit 5, a
@@ -33238,31 +33618,31 @@
 .asm_700a6 ; 0x19172
 	jp TextScriptEnd
 
-UnnamedText_19175: ; 0x19175
+UnnamedText_19175: ; 19175 (6:5175)
 	TX_FAR _UnnamedText_19175
 	db $50
 ; 0x19175 + 5 bytes
 
-UnnamedText_1917a: ; 0x1917a
+UnnamedText_1917a: ; 1917a (6:517a)
 	TX_FAR _UnnamedText_1917a
 	db $50
 ; 0x1917a + 5 bytes
 
-ViridianCityText5: ; 0x1917f
+ViridianCityText5: ; 1917f (6:517f)
 	db $08 ; asm
 	ld hl, UnnamedText_19191
 	call PrintText
 	call Function190cf
 	ld a, $3
-	ld [$d5f4], a
+	ld [W_VIRIDIANCITYCURSCRIPT], a
 	jp TextScriptEnd
 
-UnnamedText_19191: ; 0x19191
+UnnamedText_19191: ; 19191 (6:5191)
 	TX_FAR _UnnamedText_19191
 	db $50
 ; 0x19191 + 5 bytes
 
-ViridianCityText6: ; 0x19196
+ViridianCityText6: ; 19196 (6:5196)
 	db $08 ; asm
 	ld a, [$d74c]
 	bit 1, a
@@ -33287,33 +33667,33 @@
 .asm_3c73c ; 0x191c7
 	jp TextScriptEnd
 
-UnnamedText_191ca: ; 0x191ca
+UnnamedText_191ca: ; 191ca (6:51ca)
 	TX_FAR _UnnamedText_191ca
 	db $50
 ; 0x191ca + 5 bytes
 
-ReceivedTM42Text: ; 0x191cf
+ReceivedTM42Text: ; 191cf (6:51cf)
 	TX_FAR _ReceivedTM42Text ; 0xa469a
 	db $10, $50
 ; 0x191cf + 6 bytes = 0x191d5
 
-TM42Explanation: ; 0x191d5
+TM42Explanation: ; 191d5 (6:51d5)
 	TX_FAR _TM42Explanation
 	db $50
 ; 0x191d5 + 5 bytes
 
-TM42NoRoomText: ; 0x191da
+TM42NoRoomText: ; 191da (6:51da)
 	TX_FAR _TM42NoRoomText
 	db $50
 ; 0x191da + 5 bytes
 
-ViridianCityText7: ; 0x191df
+ViridianCityText7: ; 191df (6:51df)
 	db $08 ; asm
 	ld hl, UnnamedText_1920a
 	call PrintText
 	ld c, $2
 	call DelayFrames
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr z, .asm_42f68 ; 0x191f2
@@ -33320,7 +33700,7 @@
 	ld hl, UnnamedText_1920f
 	call PrintText
 	ld a, $1
-	ld [$d5f4], a
+	ld [W_VIRIDIANCITYCURSCRIPT], a
 	jr .asm_2413a ; 0x191ff
 .asm_42f68 ; 0x19201
 	ld hl, UnnamedText_19214
@@ -33328,55 +33708,55 @@
 .asm_2413a ; 0x19207
 	jp TextScriptEnd
 
-UnnamedText_1920a: ; 0x1920a
+UnnamedText_1920a: ; 1920a (6:520a)
 	TX_FAR _UnnamedText_1920a
 	db $50
 ; 0x1920a + 5 bytes
 
-UnnamedText_1920f: ; 0x1920f
+UnnamedText_1920f: ; 1920f (6:520f)
 	TX_FAR _UnnamedText_1920f
 	db $50
 ; 0x1920f + 5 bytes
 
-UnnamedText_19214: ; 0x19214
+UnnamedText_19214: ; 19214 (6:5214)
 	TX_FAR _UnnamedText_19214
 	db $50
 ; 0x19214 + 5 bytes
 
-ViridianCityText15: ; 0x19219
+ViridianCityText15: ; 19219 (6:5219)
 	TX_FAR _UnnamedText_19219
 	db $50
 ; 0x19219 + 5 bytes
 
-ViridianCityText8: ; 0x1921e
+ViridianCityText8: ; 1921e (6:521e)
 	TX_FAR _ViridianCityText8
 	db $50
 
-ViridianCityText9: ; 0x19223
+ViridianCityText9: ; 19223 (6:5223)
 	TX_FAR _ViridianCityText9
 	db $50
 
-ViridianCityText10: ; 0x19228
+ViridianCityText10: ; 19228 (6:5228)
 	TX_FAR _ViridianCityText10
 	db $50
 
-ViridianCityText13: ; 0x1922d
+ViridianCityText13: ; 1922d (6:522d)
 	TX_FAR _ViridianCityText13
 	db $50
 
-ViridianCityText14: ; 0x19232
+ViridianCityText14: ; 19232 (6:5232)
 	TX_FAR _ViridianCityText14
 	db $50
 ; 0x19232 + 5 bytes
 
-PewterCityScript: ; 0x19237
+PewterCityScript: ; 19237 (6:5237)
 	call EnableAutoTextBoxDrawing
 	ld hl, PewterCityScripts
-	ld a, [$d5f7]
+	ld a, [W_PEWTERCITYCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x19243
 
-PewterCityScripts: ; 0x19243
+PewterCityScripts: ; 19243 (6:5243)
 	dw PewterCityScript0
 	dw PewterCityScript1
 	dw PewterCityScript2
@@ -33385,9 +33765,9 @@
 	dw PewterCityScript5
 	dw PewterCityScript6
 
-PewterCityScript0: ; 0x19251
+PewterCityScript0: ; 19251 (6:5251)
 	xor a
-	ld [$d619], a
+	ld [W_MUSEUMF1CURSCRIPT], a
 	ld hl, $d754
 	res 0, [hl]
 	call Function1925e
@@ -33394,7 +33774,7 @@
 	ret
 ; 0x1925e
 
-Function1925e: ; 0x1925e
+Function1925e: ; 1925e (6:525e)
 	ld a, [$d755]
 	bit 7, a
 	ret nz
@@ -33402,12 +33782,12 @@
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $5
 	ld [$ff00+$8c], a
 	jp DisplayTextID
 
-CoordsData19277: ; 0x19277
+CoordsData19277: ; 19277 (6:5277)
 	db $11,$23
 	db $11,$24
 	db $12,$25
@@ -33414,7 +33794,7 @@
 	db $13,$25
 	db $ff
 
-PewterCityScript1: ; 0x19280
+PewterCityScript1: ; 19280 (6:5280)
 	ld a, [$cc57]
 	and a
 	ret nz
@@ -33427,7 +33807,7 @@
 	ld [$ff00+$8d], a
 	call Func_34b9
 	call Func_2307
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	set 4, [hl]
 	ld a, $d
 	ld [$ff00+$8c], a
@@ -33445,17 +33825,17 @@
 	call Func_32f9
 	ld a, $3
 	ld [$ff00+$8c], a
-	ld de, $52ce
+	ld de, MovementData192ce ; $52ce
 	call MoveSprite
 	ld a, $2
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	ret
 ; 0x192ce
 
-MovementData192ce: ; 0x192ce
+MovementData192ce: ; 192ce (6:52ce)
 	db 0,0,0,0,$ff
 
-PewterCityScript2: ; 0x192d3
+PewterCityScript2: ; 192d3 (6:52d3)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -33464,10 +33844,10 @@
 	ld a, $11
 	call Predef
 	ld a, $3
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	ret
 
-PewterCityScript3: ; 0x192e9
+PewterCityScript3: ; 192e9 (6:52e9)
 	ld a, $3
 	ld [$cf13], a
 	call Func_32fe
@@ -33476,12 +33856,12 @@
 	ld a, $15
 	call Predef
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	ret
 
-PewterCityScript4: ; 0x19305
+PewterCityScript4: ; 19305 (6:5305)
 	ld a, [$cc57]
 	and a
 	ret nz
@@ -33494,7 +33874,7 @@
 	ld [$ff00+$8d], a
 	call Func_34b9
 	call Func_2307
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	set 4, [hl]
 	ld a, $e
 	ld [$ff00+$8c], a
@@ -33515,13 +33895,13 @@
 	ld de, MovementData19353
 	call MoveSprite
 	ld a, $5
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	ret
 
-MovementData19353: ; 0x19353
+MovementData19353: ; 19353 (6:5353)
 	db $c0,$c0,$c0,$c0,$c0,$ff
 
-PewterCityScript5: ; 0x19359
+PewterCityScript5: ; 19359 (6:5359)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -33530,10 +33910,10 @@
 	ld a, $11
 	call Predef
 	ld a, $6
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	ret
 
-PewterCityScript6: ; 0x1936f
+PewterCityScript6: ; 1936f (6:536f)
 	ld a, $5
 	ld [$cf13], a
 	call Func_32fe
@@ -33542,27 +33922,27 @@
 	ld a, $15
 	call Predef
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	ret
 
-PewterCityTexts: ; 0x1938b
+PewterCityTexts: ; 1938b (6:538b)
 	dw PewterCityText1, PewterCityText2, PewterCityText3, PewterCityText4, PewterCityText5, PewterCityText6, PewterCityText7, MartSignText, PokeCenterSignText, PewterCityText10, PewterCityText11, PewterCityText12, PewterCityText13, PewterCityText14
 
-PewterCityText1: ; 0x193a7
+PewterCityText1: ; 193a7 (6:53a7)
 	TX_FAR _PewterCityText1
 	db $50
 
-PewterCityText2: ; 0x193ac
+PewterCityText2: ; 193ac (6:53ac)
 	TX_FAR _PewterCityText2
 	db $50
 
-PewterCityText3: ; 0x193b1
+PewterCityText3: ; 193b1 (6:53b1)
 	db $08 ; asm
 	ld hl, UnnamedText_193f1
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_f46a9 ; 0x193bf
@@ -33584,37 +33964,37 @@
 	ld [$cf13], a
 	call Func_32f4
 	ld a, $1
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 .asm_ac429 ; 0x193ee
 	jp TextScriptEnd
 
-UnnamedText_193f1: ; 0x193f1
+UnnamedText_193f1: ; 193f1 (6:53f1)
 	TX_FAR _UnnamedText_193f1
 	db $50
 ; 0x193f1 + 5 bytes
 
-UnnamedText_193f6: ; 0x193f6
+UnnamedText_193f6: ; 193f6 (6:53f6)
 	TX_FAR _UnnamedText_193f6
 	db $50
 ; 0x193f6 + 5 bytes
 
-UnnamedText_193fb: ; 0x193fb
+UnnamedText_193fb: ; 193fb (6:53fb)
 	TX_FAR _UnnamedText_193fb
 	db $50
 ; 0x193fb + 5 bytes
 
-PewterCityText13:
+PewterCityText13: ; 19400 (6:5400)
 
-UnnamedText_19400: ; 0x19400
+UnnamedText_19400: ; 19400 (6:5400)
 	TX_FAR _UnnamedText_19400
 	db $50
 ; 0x19400 + 5 bytes
 
-PewterCityText4: ; 0x19405
+PewterCityText4: ; 19405 (6:5405)
 	db $8
 	ld hl, UnnamedText_19427
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	cp $0
 	jr nz, .asm_e4603
@@ -33628,22 +34008,22 @@
 	jp TextScriptEnd
 ; 0x19427
 
-UnnamedText_19427: ; 0x19427
+UnnamedText_19427: ; 19427 (6:5427)
 	TX_FAR _UnnamedText_19427
 	db $50
 ; 0x19427 + 5 bytes
 
-UnnamedText_1942c: ; 0x1942c
+UnnamedText_1942c: ; 1942c (6:542c)
 	TX_FAR _UnnamedText_1942c
 	db $50
 ; 0x1942c + 5 bytes
 
-UnnamedText_19431: ; 0x19431
+UnnamedText_19431: ; 19431 (6:5431)
 	TX_FAR _UnnamedText_19431
 	db $50
 ; 0x19431 + 5 bytes
 
-PewterCityText5: ; 0x19436
+PewterCityText5: ; 19436 (6:5436)
 	db $08 ; asm
 	ld hl, UnnamedText_1945d
 	call PrintText
@@ -33658,52 +34038,52 @@
 	ld [$cf13], a
 	call Func_32f4
 	ld a, $4
-	ld [$d5f7], a
+	ld [W_PEWTERCITYCURSCRIPT], a
 	jp TextScriptEnd
 
-UnnamedText_1945d: ; 0x1945d
+UnnamedText_1945d: ; 1945d (6:545d)
 	TX_FAR _UnnamedText_1945d
 	db $50
 ; 0x1945d + 5 bytes
 
-PewterCityText14: ; 0x19462
+PewterCityText14: ; 19462 (6:5462)
 
-UnnamedText_19462: ; 0x19462
+UnnamedText_19462: ; 19462 (6:5462)
 	TX_FAR _UnnamedText_19462
 	db $50
 ; 0x19462 + 5 bytes
 
-PewterCityText6: ; 0x19467
+PewterCityText6: ; 19467 (6:5467)
 	TX_FAR _PewterCityText6
 	db $50
 
-PewterCityText7: ; 0x1946c
+PewterCityText7: ; 1946c (6:546c)
 	TX_FAR _PewterCityText7
 	db $50
 
-PewterCityText10: ; 0x19471
+PewterCityText10: ; 19471 (6:5471)
 	TX_FAR _PewterCityText10
 	db $50
 
-PewterCityText11: ; 0x19476
+PewterCityText11: ; 19476 (6:5476)
 	TX_FAR _PewterCityText11
 	db $50
 
-PewterCityText12: ; 0x1947b
+PewterCityText12: ; 1947b (6:547b)
 	TX_FAR _PewterCityText12
 	db $50
 
-CeruleanCityScript: ; 0x19480
+CeruleanCityScript: ; 19480 (6:5480)
 	call EnableAutoTextBoxDrawing
 	ld hl, CeruleanCityScripts
-	ld a, [$d60f]
+	ld a, [W_CERULEANCITYCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x1948c
 
-CeruleanCity_Unknown1948c: ; 0x1948c
+CeruleanCity_Unknown1948c: ; 1948c (6:548c)
 	xor a
-	ld [$cd6b], a
-	ld [$d60f], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	ld a, $5
 	ld [$cc4d], a
 	ld a, $11
@@ -33710,7 +34090,7 @@
 	jp Predef
 ; 0x1949d
 
-CeruleanCityScripts: ; 0x1949d
+CeruleanCityScripts: ; 1949d (6:549d)
 	dw CeruleanCityScript0
 	dw CeruleanCityScript1
 	dw CeruleanCityScript2
@@ -33717,12 +34097,12 @@
 	dw CeruleanCityScript3
 	dw CeruleanCityScript4
 
-CeruleanCityScript4: ; 0x194a7
+CeruleanCityScript4: ; 194a7 (6:54a7)
 	ld a, [W_ISINBATTLE]
 	cp $ff
 	jp z, CeruleanCity_Unknown1948c
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d75b
 	set 7, [hl]
 	ld a, $2
@@ -33729,11 +34109,11 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$cd6b], a
-	ld [$d60f], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	ret
 
-CeruleanCityScript0: ; 0x194c8
+CeruleanCityScript0: ; 194c8 (6:54c8)
 	ld a, [$d75b]
 	bit 7, a
 	jr nz, .asm_194f7 ; 0x194cd $28
@@ -33773,9 +34153,9 @@
 	ld a, $de
 	call PlayMusic
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$d362]
 	cp $14
 	jr z, .asm_19535 ; 0x19526 $d
@@ -33795,24 +34175,24 @@
 	ld [$ff00+$8c], a
 	call MoveSprite
 	ld a, $1
-	ld [$d60f], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	ret
 ; 0x1954f
 
-CeruleanCityCoords1:
+CeruleanCityCoords1: ; 1954f (6:554f)
 	db $07,$1e
 	db $09,$1e
 	db $ff
 
-CeruleanCityCoords2:
+CeruleanCityCoords2: ; 19554 (6:5554)
 	db $06,$14
 	db $06,$15
 	db $ff
 
-CeruleanCityMovement1:
+CeruleanCityMovement1: ; 19559 (6:5559)
 	db 0,0,0,$ff
 
-CeruleanCityFunction1955d:
+CeruleanCityFunction1955d: ; 1955d (6:555d)
 	ld a,1
 	ld [$ff8c],a
 	xor a
@@ -33819,12 +34199,12 @@
 	ld [$ff8d],a
 	jp Func_34a6 ; face object
 
-CeruleanCityScript1: ; 0x19567
+CeruleanCityScript1: ; 19567 (6:5567)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -33833,7 +34213,7 @@
 	set 7, [hl]
 	ld hl, UnnamedText_1966d
 	ld de, UnnamedText_19672
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, $e1
 	ld [$d059], a
 
@@ -33854,20 +34234,20 @@
 	ld [W_TRAINERNO], a
 
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	call CeruleanCityFunction1955d
 	ld a, $2
-	ld [$d60f], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	ret
 ; 0x195b1
 
-CeruleanCityScript2: ; 0x195b1
+CeruleanCityScript2: ; 195b1 (6:55b1)
 	ld a, [$d057]
 	cp $ff
 	jp z, CeruleanCity_Unknown1948c
 	call CeruleanCityFunction1955d
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d75a
 	set 0, [hl]
 	ld a, $1
@@ -33894,16 +34274,16 @@
 	ld [$ff00+$8c], a
 	call MoveSprite
 	ld a, $3
-	ld [$d60f], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	ret
 
-CeruleanCityMovement3:
+CeruleanCityMovement3: ; 19600 (6:5600)
 	db $80, $00, $00, $00, $00, $00, $00, $ff
 
-CeruleanCityMovement4:
+CeruleanCityMovement4: ; 19608 (6:5608)
 	db $c0, $00, $00, $00, $00, $00, $00, $ff
 
-CeruleanCityScript3: ; 0x19610
+CeruleanCityScript3: ; 19610 (6:5610)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -33912,17 +34292,17 @@
 	ld a, $11
 	call Predef
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call Func_2307
 	ld a, $0
-	ld [$d60f], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	ret
 ; 0x1962d
 
-CeruleanCityTexts: ; 0x1962d
+CeruleanCityTexts: ; 1962d (6:562d)
 	dw CeruleanCityText1, CeruleanCityText2, CeruleanCityText3, CeruleanCityText4, CeruleanCityText5, CeruleanCityText6, CeruleanCityText7, CeruleanCityText8, CeruleanCityText9, CeruleanCityText10, CeruleanCityText11, CeruleanCityText12, CeruleanCityText13, MartSignText, PokeCenterSignText, CeruleanCityText16, CeruleanCityText17
 
-CeruleanCityText1: ; 0x1964f
+CeruleanCityText1: ; 1964f (6:564f)
 	db $08 ; asm
 	ld a, [$d75a] ; rival battle flag
 	bit 0, a
@@ -33938,27 +34318,27 @@
 .end ; 0x19665
 	jp TextScriptEnd
 
-UnnamedText_19668: ; 0x19668
+UnnamedText_19668: ; 19668 (6:5668)
 	TX_FAR _UnnamedText_19668
 	db $50
 ; 0x19668 + 5 bytes
 
-UnnamedText_1966d: ; 0x1966d
+UnnamedText_1966d: ; 1966d (6:566d)
 	TX_FAR _UnnamedText_1966d
 	db $50
 ; 0x1966d + 5 bytes
 
-UnnamedText_19672: ; 0x19672
+UnnamedText_19672: ; 19672 (6:5672)
 	TX_FAR _UnnamedText_19672
 	db $50
 ; 0x19672 + 5 bytes
 
-UnnamedText_19677: ; 0x19677
+UnnamedText_19677: ; 19677 (6:5677)
 	TX_FAR _UnnamedText_19677
 	db $50
 ; 0x19677 + 5 bytes
 
-CeruleanCityText2: ; 0x1967c
+CeruleanCityText2: ; 1967c (6:567c)
 	db $8
 	ld a, [$d75b]
 	bit 7, a
@@ -33970,13 +34350,13 @@
 	set 7, [hl]
 	ld hl, UnnamedText_196ee
 	ld de, UnnamedText_196ee
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, [$ff00+$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $4
-	ld [$d60f], a
+	ld [W_CERULEANCITYCURSCRIPT], a
 	jp TextScriptEnd
 .asm_4ca20 ; 0x196ad
 	ld hl, UnnamedText_196f3
@@ -33999,12 +34379,12 @@
 	jp TextScriptEnd
 ; 0x196d9
 
-UnnamedText_196d9: ; 0x196d9
+UnnamedText_196d9: ; 196d9 (6:56d9)
 	TX_FAR _UnnamedText_196d9
 	db $50
 ; 0x196d9 + 5 bytes
 
-ReceivedTM28Text: ; 0x196de
+ReceivedTM28Text: ; 196de (6:56de)
 	TX_FAR _ReceivedTM28Text ; 0xa4f82
 	db $0B
 	TX_FAR _ReceivedTM28Text2 ; 0xa4f96
@@ -34011,39 +34391,39 @@
 	db $0D, $50
 ; 0x196e9
 
-TM28NoRoomText: ; 0x196e9
+TM28NoRoomText: ; 196e9 (6:56e9)
 	TX_FAR _TM28NoRoomText
 	db $50
 ; 0x196e9 + 5 bytes
 
-UnnamedText_196ee: ; 0x196ee
+UnnamedText_196ee: ; 196ee (6:56ee)
 	TX_FAR _UnnamedText_196ee
 	db $50
 ; 0x196ee + 5 bytes
 
-UnnamedText_196f3: ; 0x196f3
+UnnamedText_196f3: ; 196f3 (6:56f3)
 	TX_FAR _UnnamedText_196f3
 	db $50
 ; 0x196f3 + 5 bytes
 
-CeruleanCityText3: ; 0x196f8
+CeruleanCityText3: ; 196f8 (6:56f8)
 	TX_FAR _CeruleanCityText3
 	db $50
 
-CeruleanCityText4: ; 0x196fd
+CeruleanCityText4: ; 196fd (6:56fd)
 	TX_FAR _CeruleanCityText4
 	db $50
 
-CeruleanCityText5: ; 0x19702
+CeruleanCityText5: ; 19702 (6:5702)
 	TX_FAR _CeruleanCityText5
 	db $50
 
-CeruleanCityText11:
-CeruleanCityText6: ; 0x19707
+CeruleanCityText11: ; 19707 (6:5707)
+CeruleanCityText6: ; 19707 (6:5707)
 	TX_FAR _CeruleanCityText6
 	db $50
 
-CeruleanCityText7: ; 0x1970c
+CeruleanCityText7: ; 1970c (6:570c)
 	db $08 ; asm
 	ldh a, [$d3]
 	cp $b4
@@ -34063,22 +34443,22 @@
 .asm_d486e ; 0x1972d
 	jp TextScriptEnd
 
-UnnamedText_19730: ; 0x19730
+UnnamedText_19730: ; 19730 (6:5730)
 	TX_FAR _UnnamedText_19730
 	db $50
 ; 0x19730 + 5 bytes
 
-UnnamedText_19735: ; 0x19735
+UnnamedText_19735: ; 19735 (6:5735)
 	TX_FAR _UnnamedText_19735
 	db $50
 ; 0x19735 + 5 bytes
 
-UnnamedText_1973a: ; 0x1973a
+UnnamedText_1973a: ; 1973a (6:573a)
 	TX_FAR _UnnamedText_1973a
 	db $50
 ; 0x1973a + 5 bytes
 
-CeruleanCityText8: ; 0x1973f
+CeruleanCityText8: ; 1973f (6:573f)
 	db $08 ; asm
 	ldh a, [$d3]
 	cp $b4
@@ -34104,51 +34484,51 @@
 .asm_f2f38 ; 0x1976c
 	jp TextScriptEnd
 
-UnnamedText_1976f: ; 0x1976f
+UnnamedText_1976f: ; 1976f (6:576f)
 	TX_FAR _UnnamedText_1976f
 	db $50
 ; 0x1976f + 5 bytes
 
-UnnamedText_19774: ; 0x19774
+UnnamedText_19774: ; 19774 (6:5774)
 	TX_FAR _UnnamedText_19774
 	db $50
 ; 0x19774 + 5 bytes
 
-UnnamedText_19779: ; 0x19779
+UnnamedText_19779: ; 19779 (6:5779)
 	TX_FAR _UnnamedText_19779
 	db $50
 ; 0x19779 + 5 bytes
 
-UnnamedText_1977e: ; 0x1977e
+UnnamedText_1977e: ; 1977e (6:577e)
 	TX_FAR _UnnamedText_1977e
 	db $50
 ; 0x1977e + 5 bytes
 
-CeruleanCityText9: ; 0x19783
+CeruleanCityText9: ; 19783 (6:5783)
 	TX_FAR _CeruleanCityText9
 	db $50
 
-CeruleanCityText10: ; 0x19788
+CeruleanCityText10: ; 19788 (6:5788)
 	TX_FAR _CeruleanCityText10
 	db $50
 
-CeruleanCityText12: ; 0x1978d
+CeruleanCityText12: ; 1978d (6:578d)
 	TX_FAR _CeruleanCityText12
 	db $50
 
-CeruleanCityText13: ; 0x19792
+CeruleanCityText13: ; 19792 (6:5792)
 	TX_FAR _CeruleanCityText13
 	db $50
 
-CeruleanCityText16: ; 0x19797
+CeruleanCityText16: ; 19797 (6:5797)
 	TX_FAR _CeruleanCityText16
 	db $50
 
-CeruleanCityText17: ; 0x1979c
+CeruleanCityText17: ; 1979c (6:579c)
 	TX_FAR _CeruleanCityText17
 	db $50
 
-VermilionCityScript: ; 0x197a1
+VermilionCityScript: ; 197a1 (6:57a1)
 	call EnableAutoTextBoxDrawing
 	ld hl, $d126
 	bit 6, [hl]
@@ -34160,11 +34540,11 @@
 	res 5, [hl]
 	call nz, VermilionCityScript_Unknown197c0
 	ld hl, VermilionCityScripts
-	ld a, [$d62a]
+	ld a, [W_VERMILIONCITYCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x197c0
 
-VermilionCityScript_Unknown197c0: ; 0x197c0
+VermilionCityScript_Unknown197c0: ; 197c0 (6:57c0)
 	call GenRandom
 	ld a, [$ff00+$d4]
 	and $e
@@ -34171,7 +34551,7 @@
 	ld [$d743], a
 	ret
 
-Function197cb: ; 0x197cb
+Function197cb: ; 197cb (6:57cb)
 	ld hl, $d803
 	bit 2, [hl]
 	ret z
@@ -34179,10 +34559,10 @@
 	set 3, [hl]
 	ret nz
 	ld a, $2
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	ret
 
-VermilionCityScripts: ; 0x197dc
+VermilionCityScripts: ; 197dc (6:57dc)
 	dw VermilionCityScript0
 	dw VermilionCityScript1
 	dw VermilionCityScript2
@@ -34189,7 +34569,7 @@
 	dw VermilionCityScript3
 	dw VermilionCityScript4
 
-VermilionCityScript0: ; 0x197e6
+VermilionCityScript0: ; 197e6 (6:57e6)
 	ld a, [$c109]
 	and a
 	ret nz
@@ -34197,7 +34577,7 @@
 	call ArePlayerCoordsInArray
 	ret nc
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$cf0d], a
 	ld a, $3
 	ld [$ff00+$8c], a
@@ -34218,24 +34598,24 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $1
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	ret
 
-Coords19823: ; 0x19823
+Coords19823: ; 19823 (6:5823)
 	db $1e,$12
 	db $ff
 
-VermilionCityScript4: ; 0x19826
+VermilionCityScript4: ; 19826 (6:5826)
 	ld hl, Coords19823
 	call ArePlayerCoordsInArray
 	ret c
 	ld a, $0
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	ret
 
-VermilionCityScript2: ; 0x19833
+VermilionCityScript2: ; 19833 (6:5833)
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $40
 	ld [$ccd3], a
 	ld [$ccd4], a
@@ -34243,21 +34623,21 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	ret
 
-VermilionCityScript3: ; 0x1984e
+VermilionCityScript3: ; 1984e (6:584e)
 	ld a, [$cd38]
 	and a
 	ret nz
 	xor a
-	ld [$cd6b], a
-	ld [$ff00+$b4], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $0
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	ret
 
-VermilionCityScript1: ; 0x1985f
+VermilionCityScript1: ; 1985f (6:585f)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -34264,18 +34644,18 @@
 	ld c, $a
 	call DelayFrames
 	ld a, $0
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	ret
 ; 0x1986f
 
-VermilionCityTexts: ; 0x1986f
+VermilionCityTexts: ; 1986f (6:586f)
 	dw VermilionCityText1, VermilionCityText2, VermilionCityText3, VermilionCityText4, VermilionCityText5, VermilionCityText6, VermilionCityText7, VermilionCityText8, MartSignText, PokeCenterSignText, VermilionCityText11, VermilionCityText12, VermilionCityText13
 
-VermilionCityText1: ; 0x19889
+VermilionCityText1: ; 19889 (6:5889)
 	TX_FAR _VermilionCityText1
 	db $50
 
-VermilionCityText2: ; 0x1988e
+VermilionCityText2: ; 1988e (6:588e)
 	db $08 ; asm
 	ld a, [$d803]
 	bit 2, a
@@ -34289,17 +34669,17 @@
 .asm_735d9 ; 0x198a4
 	jp TextScriptEnd
 
-UnnamedText_198a7: ; 0x198a7
+UnnamedText_198a7: ; 198a7 (6:58a7)
 	TX_FAR _UnnamedText_198a7
 	db $50
 ; 0x198a7 + 5 bytes
 
-UnnamedText_198ac: ; 0x198ac
+UnnamedText_198ac: ; 198ac (6:58ac)
 	TX_FAR _UnnamedText_198ac
 	db $50
 ; 0x198ac + 5 bytes
 
-VermilionCityText3: ; 0x198b1
+VermilionCityText3: ; 198b1 (6:58b1)
 	db $08 ; asm
 	ld a, [$d803]
 	bit 2, a
@@ -34330,7 +34710,7 @@
 	ld hl, SSAnneFlashedTicketText
 	call PrintText
 	ld a, $4
-	ld [$d62a], a
+	ld [W_VERMILIONCITYCURSCRIPT], a
 	jr .asm_79bd1 ; 0x198f4
 .asm_3e0e9 ; 0x198f6
 	ld hl, SSAnneNotHereText
@@ -34338,78 +34718,78 @@
 .asm_79bd1 ; 0x198fc
 	jp TextScriptEnd
 
-VermilionCityCoords1:
+VermilionCityCoords1: ; 198ff (6:58ff)
 	db $1d,$13
 	db $1f,$13
 	db $ff
 
-SSAnneWelcomeText4: ; 0x19904
+SSAnneWelcomeText4: ; 19904 (6:5904)
 	TX_FAR _SSAnneWelcomeText4
 	db $50
 ; 0x19904 + 5 bytes
 
-SSAnneWelcomeText9: ; 0x19909
+SSAnneWelcomeText9: ; 19909 (6:5909)
 	TX_FAR _SSAnneWelcomeText9
 	db $50
 ; 0x19909 + 5 bytes
 
-SSAnneFlashedTicketText: ; 0x1990e
+SSAnneFlashedTicketText: ; 1990e (6:590e)
 	TX_FAR _SSAnneFlashedTicketText
 	db $50
 ; 0x1990e + 5 bytes
 
-SSAnneNoTicketText: ; 0x19913
+SSAnneNoTicketText: ; 19913 (6:5913)
 	TX_FAR _SSAnneNoTicketText
 	db $50
 ; 0x19913 + 5 bytes
 
-SSAnneNotHereText: ; 0x19918
+SSAnneNotHereText: ; 19918 (6:5918)
 	TX_FAR _SSAnneNotHereText
 	db $50
 ; 0x19918 + 5 bytes
 
-VermilionCityText4: ; 0x1991d
+VermilionCityText4: ; 1991d (6:591d)
 	TX_FAR _VermilionCityText4
 	db $50
 
-VermilionCityText5: ; 0x19922
+VermilionCityText5: ; 19922 (6:5922)
 	TX_FAR _VermilionCityText5
 	db $08 ; asm
 	ld a, MACHOP
 	call PlayCry
-	call Func_3748
-	ld hl, $5933
+	call WaitForSoundToFinish
+	ld hl, VermilionCityText14 ; $5933
 	ret
 
-VermilionCityText14: ; 0x19933
+VermilionCityText14: ; 19933 (6:5933)
 	TX_FAR _VermilionCityText14
 	db $50
 
-VermilionCityText6: ; 0x19938
+VermilionCityText6: ; 19938 (6:5938)
 	TX_FAR _VermilionCityText6
 	db $50
 
-VermilionCityText7: ; 0x1993d
+VermilionCityText7: ; 1993d (6:593d)
 	TX_FAR _VermilionCityText7
 	db $50
 
-VermilionCityText8: ; 0x19942
+VermilionCityText8: ; 19942 (6:5942)
 	TX_FAR _VermilionCityText8
 	db $50
 
-VermilionCityText11: ; 0x19947
+VermilionCityText11: ; 19947 (6:5947)
 	TX_FAR _VermilionCityText11
 	db $50
 
-VermilionCityText12: ; 0x1994c
+VermilionCityText12: ; 1994c (6:594c)
 	TX_FAR _VermilionCityText12
 	db $50
 
-VermilionCityText13: ; 0x19951
+VermilionCityText13: ; 19951 (6:5951)
 	TX_FAR _VermilionCityText13
 	db $50
 
-CeladonCityScript: ; 0x19956
+CeladonCityScript: ; 19956 (6:5956)
 	call EnableAutoTextBoxDrawing
 	ld hl, $d77e
 	res 0, [hl]
@@ -34419,26 +34799,26 @@
 	ret
 ; 0x19966
 
-CeladonCityTexts: ; 0x19966
+CeladonCityTexts: ; 19966 (6:5966)
 	dw CeladonCityText1, CeladonCityText2, CeladonCityText3, CeladonCityText4, CeladonCityText5, CeladonCityText6, CeladonCityText7, CeladonCityText8, CeladonCityText9, CeladonCityText10, CeladonCityText11, PokeCenterSignText, CeladonCityText13, CeladonCityText14, CeladonCityText15, CeladonCityText16, CeladonCityText17, CeladonCityText18
 
-CeladonCityText1: ; 0x1998a
+CeladonCityText1: ; 1998a (6:598a)
 	TX_FAR _CeladonCityText1
 	db $50
 
-CeladonCityText2: ; 0x1998f
+CeladonCityText2: ; 1998f (6:598f)
 	TX_FAR _CeladonCityText2
 	db $50
 
-CeladonCityText3: ; 0x19994
+CeladonCityText3: ; 19994 (6:5994)
 	TX_FAR _CeladonCityText3
 	db $50
 
-CeladonCityText4: ; 0x19999
+CeladonCityText4: ; 19999 (6:5999)
 	TX_FAR _CeladonCityText4
 	db $50
 
-CeladonCityText5: ; 0x1999e
+CeladonCityText5: ; 1999e (6:599e)
 	db $08 ; asm
 	ld a, [$d777]
 	bit 0, a
@@ -34463,31 +34843,31 @@
 .asm_c765a ; 0x199cf
 	jp TextScriptEnd
 
-TM41PreText: ; 0x199d2
+TM41PreText: ; 199d2 (6:59d2)
 	TX_FAR _TM41PreText
 	db $50
 ; 0x199d2 + 5 bytes
 
-ReceivedTM41Text: ; 0x199d7
+ReceivedTM41Text: ; 199d7 (6:59d7)
 	TX_FAR _ReceivedTM41Text ; 0xa5b5a
 	db $0B, $50
 ; 0x199d7 + 6 bytes = 0x199dd
 
-TM41ExplanationText: ; 0x199dd
+TM41ExplanationText: ; 199dd (6:59dd)
 	TX_FAR _TM41ExplanationText
 	db $50
 ; 0x199dd + 5 bytes
 
-TM41NoRoomText: ; 0x199e2
+TM41NoRoomText: ; 199e2 (6:59e2)
 	TX_FAR _TM41NoRoomText
 	db $50
 ; 0x199e2 + 5 bytes
 
-CeladonCityText6: ; 0x199e7
+CeladonCityText6: ; 199e7 (6:59e7)
 	TX_FAR _CeladonCityText6
 	db $50
 
-CeladonCityText7: ; 0x199ec
+CeladonCityText7: ; 199ec (6:59ec)
 	TX_FAR _CeladonCityText7
 	db $08 ; asm
 	ld a, POLIWRATH
@@ -34494,100 +34874,100 @@
 	call PlayCry
 	jp TextScriptEnd
 
-CeladonCityText8: ; 0x199f9
+CeladonCityText8: ; 199f9 (6:59f9)
 	TX_FAR _CeladonCityText8
 	db $50
 
-CeladonCityText9: ; 0x199fe
+CeladonCityText9: ; 199fe (6:59fe)
 	TX_FAR _CeladonCityText9
 	db $50
 
-CeladonCityText10: ; 0x19a03
+CeladonCityText10: ; 19a03 (6:5a03)
 	TX_FAR _CeladonCityText10
 	db $50
 
-CeladonCityText11: ; 0x19a08
+CeladonCityText11: ; 19a08 (6:5a08)
 	TX_FAR _CeladonCityText11
 	db $50
 
-CeladonCityText13: ; 0x19a0d
+CeladonCityText13: ; 19a0d (6:5a0d)
 	TX_FAR _CeladonCityText13
 	db $50
 
-CeladonCityText14: ; 0x19a12
+CeladonCityText14: ; 19a12 (6:5a12)
 	TX_FAR _CeladonCityText14
 	db $50
 
-CeladonCityText15: ; 0x19a17
+CeladonCityText15: ; 19a17 (6:5a17)
 	TX_FAR _CeladonCityText15
 	db $50
 
-CeladonCityText16: ; 0x19a1c
+CeladonCityText16: ; 19a1c (6:5a1c)
 	TX_FAR _CeladonCityText16
 	db $50
 
-CeladonCityText17: ; 0x19a21
+CeladonCityText17: ; 19a21 (6:5a21)
 	TX_FAR _CeladonCityText17
 	db $50
 
-CeladonCityText18: ; 0x19a26
+CeladonCityText18: ; 19a26 (6:5a26)
 	TX_FAR _CeladonCityText18
 	db $50
 
-FuchsiaCityScript: ; 0x19a2b
+FuchsiaCityScript: ; 19a2b (6:5a2b)
 	jp EnableAutoTextBoxDrawing
 ; 0x19a2e
 
-FuchsiaCityTexts: ; 0x19a2e
+FuchsiaCityTexts: ; 19a2e (6:5a2e)
 	dw FuchsiaCityText1, FuchsiaCityText2, FuchsiaCityText3, FuchsiaCityText4, FuchsiaCityText5, FuchsiaCityText6, FuchsiaCityText7, FuchsiaCityText8, FuchsiaCityText9, FuchsiaCityText10, FuchsiaCityText11, FuchsiaCityText12, FuchsiaCityText13, MartSignText, PokeCenterSignText, FuchsiaCityText16, FuchsiaCityText17, FuchsiaCityText18, FuchsiaCityText19, FuchsiaCityText20, FuchsiaCityText21, FuchsiaCityText22, FuchsiaCityText23, FuchsiaCityText24
 
-FuchsiaCityText1: ; 0x19a5e
+FuchsiaCityText1: ; 19a5e (6:5a5e)
 	TX_FAR _FuchsiaCityText1
 	db $50
 
-FuchsiaCityText2: ; 0x19a63
+FuchsiaCityText2: ; 19a63 (6:5a63)
 	TX_FAR _FuchsiaCityText2
 	db $50
 
-FuchsiaCityText3: ; 0x19a68
+FuchsiaCityText3: ; 19a68 (6:5a68)
 	TX_FAR _FuchsiaCityText3
 	db $50
 
-FuchsiaCityText4: ; 0x19a6d
+FuchsiaCityText4: ; 19a6d (6:5a6d)
 	TX_FAR _FuchsiaCityText4
 	db $50
 
-FuchsiaCityText5: ; 0x19a72
-FuchsiaCityText6:
-FuchsiaCityText7:
-FuchsiaCityText8:
-FuchsiaCityText9:
-FuchsiaCityText10: ; 0x19a72
+FuchsiaCityText5: ; 19a72 (6:5a72)
+FuchsiaCityText6: ; 19a72 (6:5a72)
+FuchsiaCityText7: ; 19a72 (6:5a72)
+FuchsiaCityText8: ; 19a72 (6:5a72)
+FuchsiaCityText9: ; 19a72 (6:5a72)
+FuchsiaCityText10: ; 19a72 (6:5a72)
 	TX_FAR _FuchsiaCityText5
 	db $50
 
-FuchsiaCityText12:
-FuchsiaCityText11: ; 0x19a77
+FuchsiaCityText12: ; 19a77 (6:5a77)
+FuchsiaCityText11: ; 19a77 (6:5a77)
 	TX_FAR _FuchsiaCityText11
 	db $50
 
-FuchsiaCityText13: ; 0x19a7c
+FuchsiaCityText13: ; 19a7c (6:5a7c)
 	TX_FAR _FuchsiaCityText13
 	db $50
 
-FuchsiaCityText16: ; 0x19a81
+FuchsiaCityText16: ; 19a81 (6:5a81)
 	TX_FAR _FuchsiaCityText16
 	db $50
 
-FuchsiaCityText17: ; 0x19a86
+FuchsiaCityText17: ; 19a86 (6:5a86)
 	TX_FAR _FuchsiaCityText17
 	db $50
 
-FuchsiaCityText18: ; 0x19a8b
+FuchsiaCityText18: ; 19a8b (6:5a8b)
 	TX_FAR _FuchsiaCityText18
 	db $50
 
-FuchsiaCityText19: ; 0x19a90
+FuchsiaCityText19: ; 19a90 (6:5a90)
 	db $08 ; asm
 	ld hl, FuchsiaCityChanseyText
 	call PrintText
@@ -34595,12 +34975,12 @@
 	call Func_349b
 	jp TextScriptEnd
 
-FuchsiaCityChanseyText: ; 0x19a9f
+FuchsiaCityChanseyText: ; 19a9f (6:5a9f)
 	TX_FAR _FuchsiaCityChanseyText
 	db $50
 ; 0x19a9f + 5 bytes
 
-FuchsiaCityText20: ; 0x19aa4
+FuchsiaCityText20: ; 19aa4 (6:5aa4)
 	db $08 ; asm
 	ld hl, FuchsiaCityVoltorbText
 	call PrintText
@@ -34608,12 +34988,12 @@
 	call Func_349b
 	jp TextScriptEnd
 
-FuchsiaCityVoltorbText: ; 0x19ab3
+FuchsiaCityVoltorbText: ; 19ab3 (6:5ab3)
 	TX_FAR _FuchsiaCityVoltorbText
 	db $50
 ; 0x19ab3 + 5 bytes
 
-FuchsiaCityText21: ; 0x19ab8
+FuchsiaCityText21: ; 19ab8 (6:5ab8)
 	db $08 ; asm
 	ld hl, FuchsiaCityKangaskhanText
 	call PrintText
@@ -34621,12 +35001,12 @@
 	call Func_349b
 	jp TextScriptEnd
 
-FuchsiaCityKangaskhanText: ; 0x19ac7
+FuchsiaCityKangaskhanText: ; 19ac7 (6:5ac7)
 	TX_FAR _FuchsiaCityKangaskhanText
 	db $50
 ; 0x19ac7 + 5 bytes
 
-FuchsiaCityText22: ; 0x19acc
+FuchsiaCityText22: ; 19acc (6:5acc)
 	db $08 ; asm
 	ld hl, FuchsiaCitySlowpokeText
 	call PrintText
@@ -34634,12 +35014,12 @@
 	call Func_349b
 	jp TextScriptEnd
 
-FuchsiaCitySlowpokeText: ; 0x19adb
+FuchsiaCitySlowpokeText: ; 19adb (6:5adb)
 	TX_FAR _FuchsiaCitySlowpokeText
 	db $50
 ; 0x19adb + 5 bytes
 
-FuchsiaCityText23: ; 0x19ae0
+FuchsiaCityText23: ; 19ae0 (6:5ae0)
 	db $08 ; asm
 	ld hl, FuchsiaCityLaprasText
 	call PrintText
@@ -34647,12 +35027,12 @@
 	call Func_349b
 	jp TextScriptEnd
 
-FuchsiaCityLaprasText: ; 0x19aef
+FuchsiaCityLaprasText: ; 19aef (6:5aef)
 	TX_FAR _FuchsiaCityLaprasText
 	db $50
 ; 0x19aef + 5 bytes
 
-FuchsiaCityText24: ; 0x19af4
+FuchsiaCityText24: ; 19af4 (6:5af4)
 	db $08 ; asm
 	ld a, [$d7f6]
 	bit 6, a
@@ -34676,17 +35056,17 @@
 .asm_4343f ; 0x19b1d
 	jp TextScriptEnd
 
-FuchsiaCityOmanyteText: ; 0x19b20
+FuchsiaCityOmanyteText: ; 19b20 (6:5b20)
 	TX_FAR _FuchsiaCityOmanyteText
 	db $50
 ; 0x19b20 + 5 bytes
 
-FuchsiaCityKabutoText: ; 0x19b25
+FuchsiaCityKabutoText: ; 19b25 (6:5b25)
 	TX_FAR _FuchsiaCityKabutoText
 	db $50
 ; 0x19b25 + 5 bytes
 
-UnnamedText_19b2a: ; 0x19b2a
+UnnamedText_19b2a: ; 19b2a (6:5b2a)
 	TX_FAR _UnnamedText_19b2a
 	db $50
 ; 0x19b2a + 5 bytes
@@ -34698,31 +35078,31 @@
 	db 0
 	dw BluesHouseObject
 
-BluesHouseScript: ; 0x19b3b
+BluesHouseScript: ; 19b3b (6:5b3b)
 	call EnableAutoTextBoxDrawing
 	ld hl,BluesHouseScriptPointers
-	ld a,[$D5F3]
+	ld a,[W_BLUESHOUSECURSCRIPT]
 	jp CallFunctionInTable
 
-BluesHouseScriptPointers: ; 0x19b47
+BluesHouseScriptPointers: ; 19b47 (6:5b47)
 	dw BluesHouseScript1,BluesHouseScript2
 
-BluesHouseScript1: ; 0x19b4a
+BluesHouseScript1: ; 19b4b (6:5b4b)
 	ld hl,$D74A
 	set 1,[hl]
 
 	; trigger the next script
 	ld a,1
-	ld [$D5F3],a
+	ld [W_BLUESHOUSECURSCRIPT],a
 	ret
 
-BluesHouseScript2: ; 0x19B56
+BluesHouseScript2: ; 19b56 (6:5b56)
 	ret
 
-BluesHouseTexts: ; 0x19B57
+BluesHouseTexts: ; 19b57 (6:5b57)
 	dw BluesHouseText1,BluesHouseText2,BluesHouseText3
 
-BluesHouseText1: ; 5B5D 0x19B5D
+BluesHouseText1: ; 19b5d (6:5b5d)
 	db 8
 	ld a,[$D74A]
 	bit 0,a
@@ -34758,23 +35138,23 @@
 .done
 	jp TextScriptEnd
 
-DaisyInitialText: ; 0x19baa
+DaisyInitialText: ; 19baa (6:5baa)
 	TX_FAR _DaisyInitialText
 	db "@"
 
-DaisyOfferMapText: ; 0x19baf
+DaisyOfferMapText: ; 19baf (6:5baf)
 	TX_FAR _DaisyOfferMapText
 	db "@"
 
-GotMapText: ; 0x19bb4
+GotMapText: ; 19bb4 (6:5bb4)
 	TX_FAR _GotMapText
 	db $11,"@"
 
-DaisyBagFullText: ; 0x19bba
+DaisyBagFullText: ; 19bba (6:5bba)
 	TX_FAR _DaisyBagFullText
 	db "@"
 
-DaisyUseMapText: ; 0x19bbf
+DaisyUseMapText: ; 19bbf (6:5bbf)
 	TX_FAR _DaisyUseMapText
 	db "@"
 
@@ -34786,7 +35166,7 @@
 	TX_FAR _BluesHouseText3
 	db "@"
 
-BluesHouseObject: ; 0x19bce
+BluesHouseObject: ; 19bce (6:5bce)
 	db $0A ; border tile
 
 	db 2 ; warps
@@ -34807,7 +35187,7 @@
 	dw $C712
 	db 7,3
 
-BluesHouseBlocks: ; 0x19bf6
+BluesHouseBlocks: ; 19bf6 (6:5bf6)
 	INCBIN "maps/blueshouse.blk"
 
 VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196)
@@ -34818,14 +35198,14 @@
 
 	dw VermilionHouse3Object ; objects
 
-VermilionHouse3Script: ; 0x19c12
+VermilionHouse3Script: ; 19c12 (6:5c12)
 	jp EnableAutoTextBoxDrawing
 ; 0x19c15
 
-VermilionHouse3Texts: ; 0x19c15
+VermilionHouse3Texts: ; 19c15 (6:5c15)
 	dw VermilionHouse3Text1
 
-VermilionHouse3Text1: ; 0x19c17
+VermilionHouse3Text1: ; 19c17 (6:5c17)
 	db $08 ; asm
 	ld a, $4
 	ld [W_WHICHTRADE], a
@@ -34849,7 +35229,7 @@
 	EVENT_DISP $4, $7, $2
 	EVENT_DISP $4, $7, $3
 
-VermilionHouse3Blocks: ; 0x19c3f 16
+VermilionHouse3Blocks: ; 19c3f (6:5c3f)
 	INCBIN "maps/vermilionhouse3.blk"
 
 IndigoPlateauLobby_h: ; 0x19c4f to 0x19c5b (12 bytes) (bank=6) (id=174)
@@ -34860,7 +35240,7 @@
 
 	dw IndigoPlateauLobbyObject ; objects
 
-IndigoPlateauLobbyScript: ; 0x19c5b
+IndigoPlateauLobbyScript: ; 19c5b (6:5c5b)
 	call Func_22fa
 	call EnableAutoTextBoxDrawing
 	ld hl, $d126
@@ -34882,21 +35262,21 @@
 	ret
 ; 0x19c7f
 
-IndigoPlateauLobbyTexts: ; 0x19c7f
+IndigoPlateauLobbyTexts: ; 19c7f (6:5c7f)
 	dw IndigoPlateauLobbyText1, IndigoPlateauLobbyText2, IndigoPlateauLobbyText3, IndigoPlateauLobbyText4, IndigoPlateauLobbyText5
 
-IndigoPlateauLobbyText1: ; 0x19c8a
+IndigoPlateauLobbyText1: ; 19c89 (6:5c89)
 	db $ff
 
-IndigoPlateauLobbyText2: ; 0x19c8b
+IndigoPlateauLobbyText2: ; 19c8a (6:5c8a)
 	TX_FAR _IndigoPlateauLobbyText1
 	db $50
 
-IndigoPlateauLobbyText3: ; 0x19c8f
+IndigoPlateauLobbyText3: ; 19c8f (6:5c8f)
 	TX_FAR _IndigoPlateauLobbyText3
 	db $50
 
-IndigoPlateauLobbyText5: ; 0x19c94
+IndigoPlateauLobbyText5: ; 19c94 (6:5c94)
 	db $f6
 
 IndigoPlateauLobbyObject: ; 0x19c95 (size=58)
@@ -34921,7 +35301,7 @@
 	EVENT_DISP $8, $b, $8
 	EVENT_DISP $8, $0, $8 ; LORELEIS_ROOM
 
-IndigoPlateauLobbyBlocks: ; 0x19ccf 48
+IndigoPlateauLobbyBlocks: ; 19ccf (6:5ccf)
 	INCBIN "maps/indigoplateaulobby.blk"
 
 SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209)
@@ -34932,18 +35312,18 @@
 
 	dw SilphCo4Object ; objects
 
-SilphCo4Script: ; 0x19d0b
+SilphCo4Script: ; 19d0b (6:5d0b)
 	call SilphCo4Script_Unknown19d21
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo4TrainerHeaders
 	ld de, SilphCo4ScriptPointers
-	ld a, [$d645]
-	call Func_3160
-	ld [$d645], a
+	ld a, [W_SILPHCO4CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO4CURSCRIPT], a
 	ret
 ; 0x19d21
 
-SilphCo4Script_Unknown19d21: ; 0x19d21
+SilphCo4Script_Unknown19d21: ; 19d21 (6:5d21)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -34970,10 +35350,10 @@
 	ld a, $17
 	jp Predef
 
-SilphCo4Data19d58: ; 0x19d58
+SilphCo4Data19d58: ; 19d58 (6:5d58)
 	db $06, $02, $04, $06, $ff
 
-SilphCo4Function19d5d: ; 0x19d5d
+SilphCo4Function19d5d: ; 19d5d (6:5d5d)
 	push hl
 	ld hl, $d73f
 	ld a, [hli]
@@ -35009,7 +35389,7 @@
 	ld [$ff00+$e0], a
 	ret
 
-SilphCo4Function19d89: ; 0x19d89
+SilphCo4Function19d89: ; 19d89 (6:5d89)
 	ld hl, $d82a
 	ld a, [$ff00+$e0]
 	and a
@@ -35022,14 +35402,16 @@
 	set 1, [hl]
 	ret
 
-SilphCo4ScriptPointers:
-	dw $3219, $324c, $3275
+SilphCo4ScriptPointers: ; 19d9a (6:5d9a)
+	dw CheckFightingMapTrainers
+	dw Func_324c
+	dw EndTrainerBattle
 
-SilphCo4Texts: ; 0x19da0
+SilphCo4Texts: ; 19da0 (6:5da0)
 	dw SilphCo4Text1, SilphCo4Text2, SilphCo4Text3, SilphCo4Text4, Predef5CText, Predef5CText, Predef5CText
 
-SilphCo4TrainerHeaders:
-SilphCo4TrainerHeader0: ; 0x19dae
+SilphCo4TrainerHeaders: ; 19dae (6:5dae)
+SilphCo4TrainerHeader0: ; 19dae (6:5dae)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d829 ; flag's byte
@@ -35039,7 +35421,7 @@
 	dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle
 ; 0x19dba
 
-SilphCo4TrainerHeader2: ; 0x19dba
+SilphCo4TrainerHeader2: ; 19dba (6:5dba)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d829 ; flag's byte
@@ -35049,7 +35431,7 @@
 	dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle
 ; 0x19dc4
 
-SilphCo4TrainerHeader3: ; 0x19dc6
+SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d829 ; flag's byte
@@ -35061,82 +35443,82 @@
 
 db $ff
 
-SilphCo4Text1: ; 0x19dd3
+SilphCo4Text1: ; 19dd3 (6:5dd3)
 	db $08 ; asm
-	ld hl, $5de0
-	ld de, $5de5
+	ld hl, UnnamedText_19de0 ; $5de0
+	ld de, UnnamedText_19de5 ; $5de5
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_19de0: ; 0x19de0
+UnnamedText_19de0: ; 19de0 (6:5de0)
 	TX_FAR _UnnamedText_19de0
 	db $50
 ; 0x19de0 + 5 bytes
 
-UnnamedText_19de5: ; 0x19de5
+UnnamedText_19de5: ; 19de5 (6:5de5)
 	TX_FAR _UnnamedText_19de5
 	db $50
 ; 0x19de5 + 5 bytes
 
-SilphCo4Text2: ; 0x19dea
+SilphCo4Text2: ; 19dea (6:5dea)
 	db $08 ; asm
 	ld hl, SilphCo4TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo4BattleText2: ; 0x19df4
+SilphCo4BattleText2: ; 19df4 (6:5df4)
 	TX_FAR _SilphCo4BattleText2
 	db $50
 ; 0x19df4 + 5 bytes
 
-SilphCo4EndBattleText2: ; 0x19df9
+SilphCo4EndBattleText2: ; 19df9 (6:5df9)
 	TX_FAR _SilphCo4EndBattleText2
 	db $50
 ; 0x19df9 + 5 bytes
 
-SilphCo4AfterBattleText2: ; 0x19dfe
+SilphCo4AfterBattleText2: ; 19dfe (6:5dfe)
 	TX_FAR _SilphCo4AfterBattleText2
 	db $50
 ; 0x19dfe + 5 bytes
 
-SilphCo4Text3: ; 0x19e03
+SilphCo4Text3: ; 19e03 (6:5e03)
 	db $08 ; asm
 	ld hl, SilphCo4TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo4BattleText3: ; 0x19e0d
+SilphCo4BattleText3: ; 19e0d (6:5e0d)
 	TX_FAR _SilphCo4BattleText3
 	db $50
 ; 0x19e0d + 5 bytes
 
-SilphCo4EndBattleText3: ; 0x19e12
+SilphCo4EndBattleText3: ; 19e12 (6:5e12)
 	TX_FAR _SilphCo4EndBattleText3
 	db $50
 ; 0x19e12 + 5 bytes
 
-SilphCo4AfterBattleText3: ; 0x19e17
+SilphCo4AfterBattleText3: ; 19e17 (6:5e17)
 	TX_FAR _SilphCo4AfterBattleText3
 	db $50
 ; 0x19e17 + 5 bytes
 
-SilphCo4Text4: ; 0x19e1c
+SilphCo4Text4: ; 19e1c (6:5e1c)
 	db $08 ; asm
 	ld hl, SilphCo4TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo4BattleText4: ; 0x19e26
+SilphCo4BattleText4: ; 19e26 (6:5e26)
 	TX_FAR _SilphCo4BattleText4
 	db $50
 ; 0x19e26 + 5 bytes
 
-SilphCo4EndBattleText4: ; 0x19e2b
+SilphCo4EndBattleText4: ; 19e2b (6:5e2b)
 	TX_FAR _SilphCo4EndBattleText4
 	db $50
 ; 0x19e2b + 5 bytes
 
-SilphCo4AfterBattleText4: ; 0x19e30
+SilphCo4AfterBattleText4: ; 19e30 (6:5e30)
 	TX_FAR _SilphCo4AfterBattleText4
 	db $50
 ; 0x19e30 + 5 bytes
@@ -35173,7 +35555,7 @@
 	EVENT_DISP $f, $f, $3 ; SILPH_CO_10F
 	EVENT_DISP $f, $b, $11 ; SILPH_CO_10F
 
-SilphCo4Blocks: ; 0x19ea4 135
+SilphCo4Blocks: ; 19ea4 (6:5ea4)
 	INCBIN "maps/silphco4.blk"
 
 SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210)
@@ -35184,18 +35566,18 @@
 
 	dw SilphCo5Object ; objects
 
-SilphCo5Script: ; 0x19f37
+SilphCo5Script: ; 19f37 (6:5f37)
 	call Unnamed_19f4d
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo5TrainerHeaders
 	ld de, SilphCo5ScriptPointers
-	ld a, [$d646]
-	call Func_3160
-	ld [$d646], a
+	ld a, [W_SILPHCO5CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO5CURSCRIPT], a
 	ret
 ; 0x19f4d
 
-Unnamed_19f4d: ; 0x19f4d
+Unnamed_19f4d: ; 19f4d (6:5f4d)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -35233,10 +35615,10 @@
 	jp Predef
 ; 0x19f97
 
-SilphCo5Coords: ; coords?
+SilphCo5Coords: ; 19f97 (6:5f97) ; coords?
 	db $02, $03, $06, $03, $05, $07, $ff
 
-SilphCo5Function19f9e:
+SilphCo5Function19f9e: ; 19f9e (6:5f9e)
 	ld hl, $d82c
 	ld a, [$ff00+$e0]
 	and a
@@ -35254,14 +35636,16 @@
 	set 2, [hl]
 	ret
 
-SilphCo5ScriptPointers:
-	dw $3219, $324c, $3275
+SilphCo5ScriptPointers: ; 19fb6 (6:5fb6)
+	dw CheckFightingMapTrainers
+	dw Func_324c
+	dw EndTrainerBattle
 
-SilphCo5Texts: ; 0x19fbc
+SilphCo5Texts: ; 19fbc (6:5fbc)
 	dw SilphCo5Text1, SilphCo5Text2, SilphCo5Text3, SilphCo5Text4, SilphCo5Text5, Predef5CText, Predef5CText, Predef5CText, SilphCo5Text9, SilphCo5Text10, SilphCo5Text11
 
-SilphCo5TrainerHeaders:
-Silphco5TrainerHeader0: ; 0x19fd2
+SilphCo5TrainerHeaders: ; 19fd2 (6:5fd2)
+Silphco5TrainerHeader0: ; 19fd2 (6:5fd2)
 	db $2 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d82b ; flag's byte
@@ -35271,7 +35655,7 @@
 	dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle
 ; 0x19fde
 
-Silphco5TrainerHeader2: ; 0x19fde
+Silphco5TrainerHeader2: ; 19fde (6:5fde)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d82b ; flag's byte
@@ -35281,7 +35665,7 @@
 	dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle
 ; 0x19fea
 
-Silphco5TrainerHeader3: ; 0x19fea
+Silphco5TrainerHeader3: ; 19fea (6:5fea)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d82b ; flag's byte
@@ -35291,7 +35675,7 @@
 	dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle
 ; 0x19ff4
 
-Silphco5TrainerHeader4: ; 0x19ff6
+Silphco5TrainerHeader4: ; 19ff6 (6:5ff6)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d82b ; flag's byte
@@ -35303,116 +35687,116 @@
 
 db $ff
 
-SilphCo5Text1: ; 0x1a003
+SilphCo5Text1: ; 1a003 (6:6003)
 	db $08 ; asm
-	ld hl, $6010
-	ld de, $6015
+	ld hl, UnnamedText_1a010 ; $6010
+	ld de, UnnamedText_1a015 ; $6015
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_1a010: ; 0x1a010
+UnnamedText_1a010: ; 1a010 (6:6010)
 	TX_FAR _UnnamedText_1a010
 	db $50
 ; 0x1a010 + 5 bytes
 
-UnnamedText_1a015: ; 0x1a015
+UnnamedText_1a015: ; 1a015 (6:6015)
 	TX_FAR _UnnamedText_1a015
 	db $50
 ; 0x1a015 + 5 bytes
 
-SilphCo5Text2: ; 0x1a01a
+SilphCo5Text2: ; 1a01a (6:601a)
 	db $08 ; asm
 	ld hl, Silphco5TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo5BattleText2: ; 0x1a024
+SilphCo5BattleText2: ; 1a024 (6:6024)
 	TX_FAR _SilphCo5BattleText2
 	db $50
 ; 0x1a024 + 5 bytes
 
-SilphCo5EndBattleText2: ; 0x1a029
+SilphCo5EndBattleText2: ; 1a029 (6:6029)
 	TX_FAR _SilphCo5EndBattleText2
 	db $50
 ; 0x1a029 + 5 bytes
 
-SilphCo5AfterBattleText2: ; 0x1a02e
+SilphCo5AfterBattleText2: ; 1a02e (6:602e)
 	TX_FAR _SilphCo5AfterBattleText2
 	db $50
 ; 0x1a02e + 5 bytes
 
-SilphCo5Text3: ; 0x1a033
+SilphCo5Text3: ; 1a033 (6:6033)
 	db $08 ; asm
 	ld hl, Silphco5TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo5BattleText3: ; 0x1a03d
+SilphCo5BattleText3: ; 1a03d (6:603d)
 	TX_FAR _SilphCo5BattleText3
 	db $50
 ; 0x1a03d + 5 bytes
 
-SilphCo5EndBattleText3: ; 0x1a042
+SilphCo5EndBattleText3: ; 1a042 (6:6042)
 	TX_FAR _SilphCo5EndBattleText3
 	db $50
 ; 0x1a042 + 5 bytes
 
-SilphCo5AfterBattleText3: ; 0x1a047
+SilphCo5AfterBattleText3: ; 1a047 (6:6047)
 	TX_FAR _SilphCo5AfterBattleText3
 	db $50
 ; 0x1a047 + 5 bytes
 
-SilphCo5Text4: ; 0x1a04c
+SilphCo5Text4: ; 1a04c (6:604c)
 	db $08 ; asm
 	ld hl, Silphco5TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo5BattleText4: ; 0x1a056
+SilphCo5BattleText4: ; 1a056 (6:6056)
 	TX_FAR _SilphCo5BattleText4
 	db $50
 ; 0x1a056 + 5 bytes
 
-SilphCo5EndBattleText4: ; 0x1a05b
+SilphCo5EndBattleText4: ; 1a05b (6:605b)
 	TX_FAR _SilphCo5EndBattleText4
 	db $50
 ; 0x1a05b + 5 bytes
 
-SilphCo5AfterBattleText4: ; 0x1a060
+SilphCo5AfterBattleText4: ; 1a060 (6:6060)
 	TX_FAR _SilphCo5AfterBattleText4
 	db $50
 ; 0x1a060 + 5 bytes
 
-SilphCo5Text5: ; 0x1a065
+SilphCo5Text5: ; 1a065 (6:6065)
 	db $08 ; asm
 	ld hl, Silphco5TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo5BattleText5: ; 0x1a06f
+SilphCo5BattleText5: ; 1a06f (6:606f)
 	TX_FAR _SilphCo5BattleText5
 	db $50
 ; 0x1a06f + 5 bytes
 
-SilphCo5EndBattleText5: ; 0x1a074
+SilphCo5EndBattleText5: ; 1a074 (6:6074)
 	TX_FAR _SilphCo5EndBattleText5
 	db $50
 ; 0x1a074 + 5 bytes
 
-SilphCo5AfterBattleText5: ; 0x1a079
+SilphCo5AfterBattleText5: ; 1a079 (6:6079)
 	TX_FAR _SilphCo5AfterBattleText5
 	db $50
 ; 0x1a079 + 5 bytes
 
-SilphCo5Text9: ; 0x1a07e
+SilphCo5Text9: ; 1a07e (6:607e)
 	TX_FAR _SilphCo5Text9
 	db $50
 
-SilphCo5Text10: ; 0x1a083
+SilphCo5Text10: ; 1a083 (6:6083)
 	TX_FAR _SilphCo5Text10
 	db $50
 
-SilphCo5Text11: ; 0x1a088
+SilphCo5Text11: ; 1a088 (6:6088)
 	TX_FAR _SilphCo5Text11
 	db $50
 
@@ -35452,7 +35836,7 @@
 	EVENT_DISP $f, $5, $b ; SILPH_CO_3F
 	EVENT_DISP $f, $f, $3 ; SILPH_CO_3F
 
-SilphCo5Blocks: ; 0x1a116 135
+SilphCo5Blocks: ; 1a116 (6:6116)
 	INCBIN "maps/silphco5.blk"
 
 SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211)
@@ -35463,18 +35847,18 @@
 
 	dw SilphCo6Object ; objects
 
-SilphCo6Script: ; 0x1a1a9
+SilphCo6Script: ; 1a1a9 (6:61a9)
 	call Unnamed_1a1bf
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo6TrainerHeaders
 	ld de, SilphCo6ScriptPointers
-	ld a, [$d647]
-	call Func_3160
-	ld [$d647], a
+	ld a, [W_SILPHCO6CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO6CURSCRIPT], a
 	ret
 ; 0x1a1bf
 
-Unnamed_1a1bf: ; 0x1a1bf
+Unnamed_1a1bf: ; 1a1bf (6:61bf)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -35491,11 +35875,11 @@
 	ld a, $17
 	jp Predef
 
-SilphCo6Coords1:
+SilphCo6Coords1: ; 1a1e3 (6:61e3)
 	db $06, $02
 	db $ff
 
-Unknown_1a1e6:
+Unknown_1a1e6: ; 1a1e6 (6:61e6)
 	ld a, [$ff00+$e0]
 	and a
 	ret z
@@ -35503,16 +35887,16 @@
 	set 7, [hl]
 	ret
 
-SilphCo6ScriptPointers:
-	dw $3219
-	dw $324c
-	dw $3275
+SilphCo6ScriptPointers: ; 1a1f0 (6:61f0)
+	dw CheckFightingMapTrainers
+	dw Func_324c
+	dw EndTrainerBattle
 
-SilphCo6Texts: ; 0x1a1f6
+SilphCo6Texts: ; 1a1f6 (6:61f6)
 	dw SilphCo6Text1, SilphCo6Text2, SilphCo6Text3, SilphCo6Text4, SilphCo6Text5, SilphCo6Text6, SilphCo6Text7, SilphCo6Text8, Predef5CText, Predef5CText
 
-SilphCo6TrainerHeaders:
-SilphCo6TrainerHeader0: ; 0x1a20a
+SilphCo6TrainerHeaders: ; 1a20a (6:620a)
+SilphCo6TrainerHeader0: ; 1a20a (6:620a)
 	db $6 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d82d ; flag's byte
@@ -35522,7 +35906,7 @@
 	dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle
 ; 0x1a216
 
-SilphCo6TrainerHeader2: ; 0x1a216
+SilphCo6TrainerHeader2: ; 1a216 (6:6216)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d82d ; flag's byte
@@ -35532,7 +35916,7 @@
 	dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle
 ; 0x1a222
 
-SilphCo6TrainerHeader3: ; 0x1a222
+SilphCo6TrainerHeader3: ; 1a222 (6:6222)
 	db $8 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d82d ; flag's byte
@@ -35544,7 +35928,7 @@
 
 db $ff
 
-Unnamed_622f: ; 0x1a22f
+Unnamed_622f: ; 1a22f (6:622f)
 	ld a, [$d838]
 	bit 7, a
 	jr nz, .asm_1a238 ; 0x1a234 $2
@@ -35555,7 +35939,7 @@
 .asm_1a23a
 	jp PrintText
 
-SilphCo6Text1: ; 0x1a23d
+SilphCo6Text1: ; 1a23d (6:623d)
 	db $08 ; asm
 	ld hl, UnnamedText_1a24a
 	ld de, UnnamedText_1a24f
@@ -35562,17 +35946,17 @@
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_1a24a: ; 0x1a24a
+UnnamedText_1a24a: ; 1a24a (6:624a)
 	TX_FAR _UnnamedText_1a24a
 	db $50
 ; 0x1a24a + 5 bytes
 
-UnnamedText_1a24f: ; 0x1a24f
+UnnamedText_1a24f: ; 1a24f (6:624f)
 	TX_FAR _UnnamedText_1a24f
 	db $50
 ; 0x1a24f + 5 bytes
 
-SilphCo6Text2: ; 0x1a254
+SilphCo6Text2: ; 1a254 (6:6254)
 	db $08 ; asm
 	ld hl, UnnamedText_1a261
 	ld de, UnnamedText_1a266
@@ -35579,17 +35963,17 @@
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_1a261: ; 0x1a261
+UnnamedText_1a261: ; 1a261 (6:6261)
 	TX_FAR _UnnamedText_1a261
 	db $50
 ; 0x1a261 + 5 bytes
 
-UnnamedText_1a266: ; 0x1a266
+UnnamedText_1a266: ; 1a266 (6:6266)
 	TX_FAR _UnnamedText_1a266
 	db $50
 ; 0x1a266 + 5 bytes
 
-SilphCo6Text3: ; 0x1a26b
+SilphCo6Text3: ; 1a26b (6:626b)
 	db $08 ; asm
 	ld hl, UnnamedText_1a278
 	ld de, UnnamedText_1a27d
@@ -35596,17 +35980,17 @@
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_1a278: ; 0x1a278
+UnnamedText_1a278: ; 1a278 (6:6278)
 	TX_FAR _UnnamedText_1a278
 	db $50
 ; 0x1a278 + 5 bytes
 
-UnnamedText_1a27d: ; 0x1a27d
+UnnamedText_1a27d: ; 1a27d (6:627d)
 	TX_FAR _UnnamedText_1a27d
 	db $50
 ; 0x1a27d + 5 bytes
 
-SilphCo6Text4: ; 0x1a282
+SilphCo6Text4: ; 1a282 (6:6282)
 	db $08 ; asm
 	ld hl, UnnamedText_1a28f
 	ld de, UnnamedText_1a294
@@ -35613,17 +35997,17 @@
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_1a28f: ; 0x1a28f
+UnnamedText_1a28f: ; 1a28f (6:628f)
 	TX_FAR _UnnamedText_1a28f
 	db $50
 ; 0x1a28f + 5 bytes
 
-UnnamedText_1a294: ; 0x1a294
+UnnamedText_1a294: ; 1a294 (6:6294)
 	TX_FAR _UnnamedText_1a294
 	db $50
 ; 0x1a294 + 5 bytes
 
-SilphCo6Text5: ; 0x1a299
+SilphCo6Text5: ; 1a299 (6:6299)
 	db $08 ; asm
 	ld hl, UnnamedText_1a2a6
 	ld de, UnnamedText_1a2ab
@@ -35630,75 +36014,75 @@
 	call Unnamed_622f
 	jp TextScriptEnd
 
-UnnamedText_1a2a6: ; 0x1a2a6
+UnnamedText_1a2a6: ; 1a2a6 (6:62a6)
 	TX_FAR _UnnamedText_1a2a6
 	db $50
 ; 0x1a2a6 + 5 bytes
 
-UnnamedText_1a2ab: ; 0x1a2ab
+UnnamedText_1a2ab: ; 1a2ab (6:62ab)
 	TX_FAR _UnnamedText_1a2ab
 	db $50
 ; 0x1a2ab + 5 bytes
 
-SilphCo6Text6: ; 0x1a2b0
+SilphCo6Text6: ; 1a2b0 (6:62b0)
 	db $08 ; asm
 	ld hl, SilphCo6TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo6BattleText2: ; 0x1a2ba
+SilphCo6BattleText2: ; 1a2ba (6:62ba)
 	TX_FAR _SilphCo6BattleText2
 	db $50
 ; 0x1a2ba + 5 bytes
 
-SilphCo6EndBattleText2: ; 0x1a2bf
+SilphCo6EndBattleText2: ; 1a2bf (6:62bf)
 	TX_FAR _SilphCo6EndBattleText2
 	db $50
 ; 0x1a2bf + 5 bytes
 
-SilphCo6AfterBattleText2: ; 0x1a2c4
+SilphCo6AfterBattleText2: ; 1a2c4 (6:62c4)
 	TX_FAR _SilphCo6AfterBattleText2
 	db $50
 ; 0x1a2c4 + 5 bytes
 
-SilphCo6Text7: ; 0x1a2c9
+SilphCo6Text7: ; 1a2c9 (6:62c9)
 	db $08 ; asm
 	ld hl, SilphCo6TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo6BattleText3: ; 0x1a2d3
+SilphCo6BattleText3: ; 1a2d3 (6:62d3)
 	TX_FAR _SilphCo6BattleText3
 	db $50
 ; 0x1a2d3 + 5 bytes
 
-SilphCo6EndBattleText3: ; 0x1a2d8
+SilphCo6EndBattleText3: ; 1a2d8 (6:62d8)
 	TX_FAR _SilphCo6EndBattleText3
 	db $50
 ; 0x1a2d8 + 5 bytes
 
-SilphCo6AfterBattleText3: ; 0x1a2dd
+SilphCo6AfterBattleText3: ; 1a2dd (6:62dd)
 	TX_FAR _SilphCo6AfterBattleText3
 	db $50
 ; 0x1a2dd + 5 bytes
 
-SilphCo6Text8: ; 0x1a2e2
+SilphCo6Text8: ; 1a2e2 (6:62e2)
 	db $08 ; asm
 	ld hl, SilphCo6TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo6BattleText4: ; 0x1a2ec
+SilphCo6BattleText4: ; 1a2ec (6:62ec)
 	TX_FAR _SilphCo6BattleText4
 	db $50
 ; 0x1a2ec + 5 bytes
 
-SilphCo6EndBattleText4: ; 0x1a2f1
+SilphCo6EndBattleText4: ; 1a2f1 (6:62f1)
 	TX_FAR _SilphCo6EndBattleText4
 	db $50
 ; 0x1a2f1 + 5 bytes
 
-SilphCo6AfterBattleText4: ; 0x1a2f6
+SilphCo6AfterBattleText4: ; 1a2f6 (6:62f6)
 	TX_FAR _SilphCo6AfterBattleText4
 	db $50
 ; 0x1a2f6 + 5 bytes
@@ -35734,7 +36118,7 @@
 	EVENT_DISP $d, $3, $3 ; SILPH_CO_4F
 	EVENT_DISP $d, $3, $17 ; SILPH_CO_2F
 
-SilphCo6Blocks: ; 0x1a36b 117
+SilphCo6Blocks: ; 1a36b (6:636b)
 	INCBIN "maps/silphco6.blk"
 
 ; known jump sources: 314b (0:314b)
@@ -35744,7 +36128,7 @@
 	call Func_1a609
 	jr nc, .asm_1a406
 	ld a, $fc
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d736
 	set 1, [hl]
 	ld a, $1
@@ -35785,7 +36169,7 @@
 	ld [$ccd3], a
 	ret
 
-Unknown_1a442: ; 0x1a442
+Unknown_1a442: ; 1a442 (6:6442)
 	dw Func_1a44c
 	dw Func_1a485
 	dw Func_1a4a1
@@ -35792,7 +36176,7 @@
 	dw Func_1a4a6
 	dw Func_1a4f4
 
-Func_1a44c: ; 0x1a44c
+Func_1a44c: ; 1a44c (6:644c)
 	ld a, [W_XCOORD] ; $d362
 	sub $a
 	ld [$cca1], a
@@ -35814,13 +36198,13 @@
 	ld a, $3
 	ld [$cf10], a
 .asm_1a47a
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	set 1, [hl]
 	ld a, $fc
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 
-Func_1a485: ; 0x1a485
+Func_1a485: ; 1a485 (6:6485)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -35835,12 +36219,12 @@
 	ret
 ; 0x1a4a1
 
-Func_1a4a1: ; 0x1a4a1
+Func_1a4a1: ; 1a4a1 (6:64a1)
 	ld a, [$cd38]
 	and a
 	ret nz
 
-Func_1a4a6: ; 0x1a4a6
+Func_1a4a6: ; 1a4a6 (6:64a6)
 	xor a
 	ld [$cd3b], a
 	ld a, [$cf13]
@@ -35864,7 +36248,7 @@
 	ld [$cf10], a
 	ret
 
-RLEList_1a4dc: ; 0x1a4dc
+RLEList_1a4dc: ; 1a4dc (6:64dc)
 db $00, $05
 db $80, $01
 db $00, $05
@@ -35873,7 +36257,7 @@
 db $E0, $01
 db $FF
 
-RLEList_1a4e9: ; 0x1a4e9
+RLEList_1a4e9: ; 1a4e9 (6:64e9)
 db $40, $02
 db $10, $03
 db $80, $05
@@ -35881,7 +36265,7 @@
 db $80, $06
 db $FF
 
-Func_1a4f4: ; 0x1a4f4
+Func_1a4f4: ; 1a4f4 (6:64f4)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -35895,11 +36279,11 @@
 	res 7, [hl]
 	jp Func_314e
 
-Unknown_1a510: ; 0x1a510
+Unknown_1a510: ; 1a510 (6:6510)
 	dw Func_1a514
 	dw Func_1a56b
 
-Func_1a514: ; 0x1a514
+Func_1a514: ; 1a514 (6:6514)
 	ld a, $2
 	ld [$c0ef], a
 	ld [$c0f0], a
@@ -35929,7 +36313,7 @@
 	ret
 ; 0x1a559
 
-RLEList_1a559: ; 0x1a559
+RLEList_1a559: ; 1a559 (6:6559)
 db $00, $01
 db $40, $03
 db $20, $0D
@@ -35936,7 +36320,7 @@
 db $40, $06
 db $FF
 
-RLEList_1a562: ; 0x1a562
+RLEList_1a562: ; 1a562 (6:6562)
 db $40, $06
 db $80, $0D
 db $40, $03
@@ -35943,7 +36327,7 @@
 db $80, $01
 db $FF
 
-Func_1a56b: ; 0x1a56b
+Func_1a56b: ; 1a56b (6:656b)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -35954,11 +36338,11 @@
 	jp Func_314e
 ; 0x1a57d
 
-Unknown_1a57d: ; 0x1a57d
+Unknown_1a57d: ; 1a57d (6:657d)
 	dw Func_1a581
 	dw Func_1a56b
 
-Func_1a581: ; 0x1a581
+Func_1a581: ; 1a581 (6:6581)
 	ld a, $2
 	ld [$c0ef], a
 	ld [$c0f0], a
@@ -35991,7 +36375,7 @@
 	ret
 ; 0x1a5cd
 
-RLEList_1a5cd: ; 0x1a5cd
+RLEList_1a5cd: ; 1a5cd (6:65cd)
 db $00, $01
 db $10, $02
 db $80, $05
@@ -36000,7 +36384,7 @@
 db $20, $0F
 db $FF
 
-RLEList_1a5da: ; 0x1a5da
+RLEList_1a5da: ; 1a5da (6:65da)
 db $00, $02
 db $80, $0F
 db $40, $05
@@ -36014,8 +36398,8 @@
 	ld a, [W_CURMAP] ; $d35e
 	cp $94
 	ret z
-	ld hl, $6605
-	ld a, [$cd2d]
+	ld hl, Unknown_1a605 ; $6605
+	ld a, [W_ENGAGEDTRAINERCLASS]
 	ld b, a
 .asm_1a5f4
 	ld a, [hli]
@@ -36029,12 +36413,13 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp SetSpriteMovementBytesToFF
 
+Unknown_1a605: ; 1a605 (6:6605)
 INCBIN "baserom.gbc",$1a605,$1a609 - $1a605
 
 ; known jump sources: c4a5 (3:44a5), 1a3e5 (6:63e5)
 Func_1a609: ; 1a609 (6:6609)
 	push de
-	ld hl, $662c
+	ld hl, Unknown_1a62c ; $662c
 	ld a, [W_CURMAPTILESET] ; $d367
 	ld de, $3
 	call IsInArray
@@ -36044,7 +36429,8 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld a, [$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a, [Coord]
 	ld b, a
 .asm_1a621
 	ld a, [hli]
@@ -36058,6 +36444,7 @@
 	and a
 	ret
 
+Unknown_1a62c: ; 1a62c (6:662c)
 INCBIN "baserom.gbc",$1a62c,$1a672 - $1a62c
 
 ; known jump sources: c37 (0:c37)
@@ -36072,11 +36459,12 @@
 	call Predef ; indirect jump to Func_c586 (c586 (3:4586))
 	ld a, [$c109]
 	ld b, a
-	ld a, [$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a, [Coord]
 	ld c, a
 	ld a, [$cfc6]
 	ld d, a
-	ld hl, $66cf
+	ld hl, Unknown_1a6cf ; $66cf
 .asm_1a691
 	ld a, [hli]
 	cp $ff
@@ -36100,11 +36488,11 @@
 	inc hl
 	jr .asm_1a691
 .asm_1a6a9
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	and e
 	ret z
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d736
 	set 6, [hl]
 	call Func_3486
@@ -36118,22 +36506,27 @@
 	call PlaySound
 	ret
 
+Unknown_1a6cf: ; 1a6cf (6:66cf)
 INCBIN "baserom.gbc",$1a6cf,$1a6f0 - $1a6cf
 
 ; known jump sources: 1a6c6 (6:66c6)
 Func_1a6f0: ; 1a6f0 (6:66f0)
 	ld hl, $8ff0
-	ld de, $6708
-	ld bc, $601
+	ld de, Unknown_1a708 ; $6708
+	ld bc, (BANK(Unknown_1a708) << 8) + $01
 	call CopyVideoDataDouble
 	ld a, $9
 	ld bc, $5448
-	ld de, $6710
+	ld de, Unknown_1a710 ; $6710
 	call WriteOAMBlock
 	ret
 
-INCBIN "baserom.gbc",$1a708,$1bcc8 - $1a708
+Unknown_1a708: ; 1a708 (6:6708)
+INCBIN "baserom.gbc",$1a708,$1a710 - $1a708
 
+Unknown_1a710: ; 1a710 (6:6710)
+INCBIN "baserom.gbc",$1a710,$1bcc8 - $1a710
+
 SECTION "bank7",DATA,BANK[$7]
 
 CinnabarIsland_h: ; 0x1c000 to 0x1c022 (34 bytes) (bank=7) (id=8)
@@ -36190,7 +36583,7 @@
 	EVENT_DISP $a, $b, $b ; CINNABAR_POKECENTER
 	EVENT_DISP $a, $b, $f ; CINNABAR_MART
 
-CinnabarIslandBlocks: ; 0x1c069 90
+CinnabarIslandBlocks: ; 1c069 (7:4069)
 	INCBIN "maps/cinnabarisland.blk"
 
 Route1_h: ; 0x1c0c3 to 0x1c0e5 (34 bytes) (bank=7) (id=12)
@@ -36230,33 +36623,33 @@
 	db SPRITE_BUG_CATCHER, $d + 4, $f + 4, $fe, $2, $2 ; person
 
 ; XXX what is this?
-Unknown_1c0f8: ; 0x1c0f8
+Unknown_1c0f8: ; 1c0f8 (7:40f8)
 	db $12, $c7, $7, $2
 
-Route1Blocks: ; 0x1c0fc 180
+Route1Blocks: ; 1c0fc (7:40fc)
 	INCBIN "maps/route1.blk"
 
-UndergroundPathEntranceRoute8Blocks: ; 0x1c1b0 16
+UndergroundPathEntranceRoute8Blocks: ; 1c1b0 (7:41b0)
 	INCBIN "maps/undergroundpathentranceroute8.blk"
 
-OaksLabBlocks: ; 0x1c1c0 30
+OaksLabBlocks: ; 1c1c0 (7:41c0)
 	INCBIN "maps/oakslab.blk"
 
-Route16HouseBlocks:
-Route2HouseBlocks:
-SaffronHouse1Blocks:
-SaffronHouse2Blocks:
-VermilionHouse1Blocks:
-NameRaterBlocks:
-LavenderHouse1Blocks:
-LavenderHouse2Blocks:
-CeruleanHouse2Blocks:
-PewterHouse1Blocks:
-PewterHouse2Blocks:
+Route16HouseBlocks: ; 1c1de (7:41de)
+Route2HouseBlocks: ; 1c1de (7:41de)
+SaffronHouse1Blocks: ; 1c1de (7:41de)
+SaffronHouse2Blocks: ; 1c1de (7:41de)
+VermilionHouse1Blocks: ; 1c1de (7:41de)
+NameRaterBlocks: ; 1c1de (7:41de)
+LavenderHouse1Blocks: ; 1c1de (7:41de)
+LavenderHouse2Blocks: ; 1c1de (7:41de)
+CeruleanHouse2Blocks: ; 1c1de (7:41de)
+PewterHouse1Blocks: ; 1c1de (7:41de)
+PewterHouse2Blocks: ; 1c1de (7:41de)
 ViridianHouseBlocks: ; 0x1c1de 41DE size=16
 	INCBIN "maps/viridianhouse.blk"
 
-CeladonMansion5Blocks:
+CeladonMansion5Blocks: ; 1c1ee (7:41ee)
 SchoolBlocks: ; 0x1c1ee 41EE size=16
 	INCBIN "maps/school.blk"
 
@@ -36263,11 +36656,11 @@
 CeruleanHouseTrashedBlocks: ; 0x1c1fe size=16
 	INCBIN "maps/ceruleanhousetrashed.blk"
 
-DiglettsCaveEntranceRoute11Blocks:
+DiglettsCaveEntranceRoute11Blocks: ; 1c20e (7:420e)
 DiglettsCaveRoute2Blocks: ; 0x1c20e size=16
 	INCBIN "maps/diglettscaveroute2.blk"
 
-MonsterNames: ; 421E
+MonsterNames: ; 1c21e (7:421e)
 	db "RHYDON@@@@"
 	db "KANGASKHAN"
 	db "NIDORAN♂@@"
@@ -36465,9 +36858,10 @@
 	call GoPAL_SET_CF1C
 	call LoadFontTilePatterns
 	call LoadTextBoxTilePatterns
-	ld hl, $49c1
+	ld hl, UnnamedText_1c9c1 ; $49c1
 	call PrintText
-	ld hl, $c43a
+	FuncCoord 14, 7 ; $c43a
+	ld hl, Coord
 	ld bc, $80f
 	ld a, $7
 	ld [$d12c], a
@@ -36482,7 +36876,7 @@
 	call Bankswitch ; indirect jump to Func_73b6a (73b6a (1c:7b6a))
 	jp InitGame
 ; 1c9c1 (7:49c1)
-UnnamedText_1c9c1: ; 0x1c9c1
+UnnamedText_1c9c1: ; 1c9c1 (7:49c1)
 	TX_FAR _UnnamedText_1c9c1
 	db $50
 ; 0x1c9c1 + 5 bytes
@@ -36489,7 +36883,7 @@
 
 ; known jump sources: 4583e (11:583e)
 Func_1c9c6: ; 1c9c6 (7:49c6)
-	ld hl, $4a14
+	ld hl, UnnamedText_1ca14 ; $4a14
 	call PrintText
 	ld hl, $cf7b
 	ld a, l
@@ -36534,12 +36928,12 @@
 	ld [hli], a
 	ret
 ; 1ca14 (7:4a14)
-UnnamedText_1ca14: ; 0x1ca14
+UnnamedText_1ca14: ; 1ca14 (7:4a14)
 	TX_FAR _UnnamedText_1ca14
 	db $50
 ; 0x1ca14 + 5 bytes
 
-CinnabarIslandScript: ; 0x1ca19
+CinnabarIslandScript: ; 1ca19 (7:4a19)
 	call EnableAutoTextBoxDrawing
 	ld hl, $d126
 	set 5, [hl]
@@ -36548,14 +36942,14 @@
 	ld hl, $d7a3
 	res 1, [hl]
 	ld hl, CinnabarIslandScripts
-	ld a, [$d639]
+	ld a, [W_CINNABARISLANDCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x1ca34
 
-CinnabarIslandScripts: ; 0x1ca34
+CinnabarIslandScripts: ; 1ca34 (7:4a34)
 	dw CinnabarIslandScript0, CinnabarIslandScript1
 
-CinnabarIslandScript0: ; 0x1ca38
+CinnabarIslandScript0: ; 1ca38 (7:4a38)
 	ld b, $2b
 	call IsItemInBag
 	ret nz
@@ -36571,7 +36965,7 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $1
 	ld [$cd38], a
 	ld a, $80
@@ -36579,58 +36973,58 @@
 	call Func_3486
 	xor a
 	ld [$c109], a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
-	ld [$d639], a
+	ld [W_CINNABARISLANDCURSCRIPT], a
 	ret
 ; 0x1ca73
 
-CinnabarIslandScript1: ; 0x1ca73
+CinnabarIslandScript1: ; 1ca73 (7:4a73)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	ld a, $0
-	ld [$d639], a
+	ld [W_CINNABARISLANDCURSCRIPT], a
 	ret
 ; 0x1ca81
 
-CinnabarIslandTexts: ; 0x1ca81
+CinnabarIslandTexts: ; 1ca81 (7:4a81)
 	dw CinnabarIslandText1, CinnabarIslandText2, CinnabarIslandText3, MartSignText, PokeCenterSignText, CinnabarIslandText6, CinnabarIslandText7, CinnabarIslandText8
 
-CinnabarIslandText8: ; 0x1ca91
+CinnabarIslandText8: ; 1ca91 (7:4a91)
 	TX_FAR _CinnabarIslandText8
 	db $50
 ; 0x1ca91 + 5 bytes
 
-CinnabarIslandText1: ; 0x1ca96
+CinnabarIslandText1: ; 1ca96 (7:4a96)
 	TX_FAR _CinnabarIslandText1
 	db $50
 
-CinnabarIslandText2: ; 0x1ca9b
+CinnabarIslandText2: ; 1ca9b (7:4a9b)
 	TX_FAR _CinnabarIslandText2
 	db $50
 
-CinnabarIslandText3: ; 0x1caa0
+CinnabarIslandText3: ; 1caa0 (7:4aa0)
 	TX_FAR _CinnabarIslandText3
 	db $50
 
-CinnabarIslandText6: ; 0x1caa5
+CinnabarIslandText6: ; 1caa5 (7:4aa5)
 	TX_FAR _CinnabarIslandText6
 	db $50
 
-CinnabarIslandText7: ; 0x1caaa
+CinnabarIslandText7: ; 1caaa (7:4aaa)
 	TX_FAR _CinnabarIslandText7
 	db $50
 
-Route1Script: ; 0x1caaf
+Route1Script: ; 1caaf (7:4aaf)
 	jp EnableAutoTextBoxDrawing
 ; 0x1cab2
 
-Route1Texts: ; 0x1cab2
+Route1Texts: ; 1cab2 (7:4ab2)
 	dw Route1Text1, Route1Text2, Route1Text3
 
-Route1Text1: ; 0x1cab8
+Route1Text1: ; 1cab8 (7:4ab8)
 	db $08 ; asm
 	ld hl, $d7bf
 	bit 0, [hl]
@@ -36641,39 +37035,40 @@
 	ld bc, (POTION << 8) | 1
 	call GiveItem
 	jr nc, .asm_a630e ; 0x1cace
-	ld hl, $4ae8
+	ld hl, Unknown_1cae8 ; $4ae8
 	jr .asm_46d43 ; 0x1cad3
 .asm_a630e ; 0x1cad5
-	ld hl, $4af3
+	ld hl, UnnamedText_1caf3 ; $4af3
 	jr .asm_46d43 ; 0x1cad8
 .asm_02840 ; 0x1cada
-	ld hl, $4aee
+	ld hl, UnnamedText_1caee ; $4aee
 .asm_46d43 ; 0x1cadd
 	call PrintText
 	jp TextScriptEnd
 
-Route1ViridianMartSampleText: ; 0x1cae3
+Route1ViridianMartSampleText: ; 1cae3 (7:4ae3)
 	TX_FAR _Route1ViridianMartSampleText
 	db $50
 ; 0x1cae3 + 5 bytes
 
+Unknown_1cae8: ; 1cae8 (7:4ae8)
 INCBIN "baserom.gbc",$1cae8,$1caee - $1cae8
 
-UnnamedText_1caee: ; 0x1caee
+UnnamedText_1caee: ; 1caee (7:4aee)
 	TX_FAR _UnnamedText_1caee
 	db $50
 ; 0x1caee + 5 bytes
 
-UnnamedText_1caf3: ; 0x1caf3
+UnnamedText_1caf3: ; 1caf3 (7:4af3)
 	TX_FAR _UnnamedText_1caf3
 	db $50
 ; 0x1caf3 + 5 bytes
 
-Route1Text2: ; 0x1caf8
+Route1Text2: ; 1caf8 (7:4af8)
 	TX_FAR _Route1Text2
 	db $50
 
-Route1Text3: ; 0x1cafd
+Route1Text3: ; 1cafd (7:4afd)
 	TX_FAR _Route1Text3
 	db $50
 
@@ -36685,7 +37080,7 @@
 
 	dw OaksLabObject ; objects
 
-OaksLabScript: ; 0x1cb0e
+OaksLabScript: ; 1cb0e (7:4b0e)
 	ld a, [$d74b]
 	bit 6, a
 	call nz, Unknown_1d076
@@ -36698,10 +37093,10 @@
 	jp CallFunctionInTable
 ; 0x1cb28
 
-OaksLabScripts: ; 0x1cb28
+OaksLabScripts: ; 1cb28 (7:4b28)
 	dw OaksLabScript0, OaksLabScript1, OaksLabScript2, OaksLabScript3, OaksLabScript4, OaksLabScript5, OaksLabScript6, OaksLabScript7, OaksLabScript8, OaksLabScript9, OaksLabScript10, OaksLabScript11, OaksLabScript12, OaksLabScript13, OaksLabScript14, OaksLabScript15, OaksLabScript16, OaksLabScript17, OaksLabScript18
 
-OaksLabScript0: ; 0x1cb4e
+OaksLabScript0: ; 1cb4e (7:4b4e)
 	ld a, [$d74b]
 	bit 7, a
 	ret z
@@ -36720,7 +37115,7 @@
 	ret
 ; 0x1cb6e
 
-OaksLabScript1: ; 0x1cb6e
+OaksLabScript1: ; 1cb6e (7:4b6e)
 	ld a, $8
 	ld [$ff00+$8c], a
 	ld de, OakEntryMovement
@@ -36731,10 +37126,10 @@
 	ret
 ; 0x1cb7e
 
-OakEntryMovement: ; 0x1cb7e
+OakEntryMovement: ; 1cb7e (7:4b7e)
 	db $40, $40, $40, $ff
 
-OaksLabScript2: ; 0x1cb82
+OaksLabScript2: ; 1cb82 (7:4b82)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -36752,7 +37147,7 @@
 	ret
 ; 0x1cba2
 
-OaksLabScript3: ; 0x1cba2
+OaksLabScript3: ; 1cba2 (7:4ba2)
 	call Delay3
 	ld hl, $ccd3
 	ld de, PlayerEntryMovementRLE
@@ -36776,10 +37171,10 @@
 	ret
 ; 0x1cbcf
 
-PlayerEntryMovementRLE: ; 0x1cbcf
+PlayerEntryMovementRLE: ; 1cbcf (7:4bcf)
 	db $40, $8, $ff
 
-OaksLabScript4: ; 0x1cbd2
+OaksLabScript4: ; 1cbd2 (7:4bd2)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -36793,7 +37188,7 @@
 	ld [$ff00+$8d], a
 	call Func_34a6 ; face object
 	call UpdateSprites
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	res 1, [hl]
 	call Func_2307
 
@@ -36802,9 +37197,9 @@
 	ret
 ; 0x1cbfd
 
-OaksLabScript5: ; 0x1cbfd
+OaksLabScript5: ; 1cbfd (7:4bfd)
 	ld a, $fc
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $11
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -36823,7 +37218,7 @@
 	ld hl, $d74b
 	set 1, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 	ld a, $6
 	ld [W_OAKSLABCURSCRIPT], a
@@ -36830,7 +37225,7 @@
 	ret
 ; 0x1cc36
 
-OaksLabScript6: ; 0x1cc36
+OaksLabScript6: ; 1cc36 (7:4c36)
 	ld a, [W_YCOORD]
 	cp $6
 	ret nz
@@ -36861,7 +37256,7 @@
 	ret
 ; 0x1cc72
 
-OaksLabScript7: ; 0x1cc72
+OaksLabScript7: ; 1cc72 (7:4c72)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -36872,7 +37267,7 @@
 	ret
 ; 0x1cc80
 
-OaksLabScript8: ; 0x1cc80
+OaksLabScript8: ; 1cc80 (7:4c80)
 	ld a, [W_PLAYERSTARTER]
 	cp CHARMANDER
 	jr z, .Charmander ; 0x1cc85 $6
@@ -36945,12 +37340,12 @@
 	ret
 ; 0x1cd00
 
-OaksLabScript9: ; 0x1cd00
+OaksLabScript9: ; 1cd00 (7:4d00)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	ld a, $fc
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
 	ld [$ff00+$8c], a
 	ld a, $4
@@ -36992,7 +37387,7 @@
 	ld hl, $d74b
 	set 2, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 	ld a, $a
 	ld [W_OAKSLABCURSCRIPT], a
@@ -36999,7 +37394,7 @@
 	ret
 ; 0x1cd6d
 
-OaksLabScript10: ; 0x1cd6d
+OaksLabScript10: ; 1cd6d (7:4d6d)
 	ld a, [W_YCOORD]
 	cp $6
 	ret nz
@@ -37038,7 +37433,7 @@
 	ret
 ; 0x1cdb9
 
-OaksLabScript11: ; 0x1cdb9
+OaksLabScript11: ; 1cdb9 (7:4db9)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -37065,12 +37460,12 @@
 	call Func_32ef
 	ld hl, UnnamedText_1d3be
 	ld de, UnnamedText_1d3c3
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld hl, $d72d
 	set 6, [hl]
 	set 7, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $8
 	ld [$d528], a
 
@@ -37079,9 +37474,9 @@
 	ret
 ; 0x1ce03
 
-OaksLabScript12: ; 0x1ce03
+OaksLabScript12: ; 1ce03 (7:4e03)
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $8
 	ld [$d528], a
 	call UpdateSprites
@@ -37103,7 +37498,7 @@
 	ret
 ; 0x1ce32
 
-OaksLabScript13: ; 0x1ce32
+OaksLabScript13: ; 1ce32 (7:4e32)
 	ld c, $14
 	call DelayFrames
 	ld a, $10
@@ -37135,7 +37530,7 @@
 .RivalExitMovement
 	db $E0,0,0,0,0,0,$FF
 
-OaksLabScript14: ; 0x1ce6d
+OaksLabScript14: ; 1ce6d (7:4e6d)
 	ld a, [$d730]
 	bit 0, a
 	jr nz, .asm_1ce8c ; 0x1ce72 $18
@@ -37144,7 +37539,7 @@
 	ld a, $11
 	call Predef
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call Func_2307 ; reset to map music
 	ld a, $12
 	ld [W_OAKSLABCURSCRIPT], a
@@ -37172,9 +37567,9 @@
 	ret
 ; 0x1ceb0
 
-OaksLabScript15: ; 0x1ceb0
+OaksLabScript15: ; 1ceb0 (7:4eb0)
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	call EnableAutoTextBoxDrawing
 	ld a, $ff
 	ld [$c0ee], a
@@ -37221,7 +37616,7 @@
 	jp Func_34a6 ; face object
 ; 0x1cf12
 
-OaksLabScript16: ; 0x1cf12
+OaksLabScript16: ; 1cf12 (7:4f12)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -37228,7 +37623,7 @@
 	call EnableAutoTextBoxDrawing
 	call Func_2307
 	ld a, $fc
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call Function1CEFD
 	ld a, $16
 	ld [$ff00+$8c], a
@@ -37304,7 +37699,7 @@
 	ret
 ; 0x1cfd4
 
-OaksLabScript17: ; 0x1cfd4
+OaksLabScript17: ; 1cfd4 (7:4fd4)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -37322,9 +37717,9 @@
 	ld a, $15
 	call Predef
 	ld a, $5
-	ld [$d5f1], a
+	ld [W_PALLETTOWNCURSCRIPT], a
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 	ld a, $12
 	ld [W_OAKSLABCURSCRIPT], a
@@ -37331,11 +37726,11 @@
 	ret
 ; 0x1d009
 
-OaksLabScript18: ; 0x1d009
+OaksLabScript18: ; 1d009 (7:5009)
 	ret
 ; 0x1d00a
 
-Function1D00A: ; 0x1d00a
+Function1D00A: ; 1d00a (7:500a)
 	ld hl, W_BAGITEM01
 	ld bc, $0000
 .asm_1d010
@@ -37355,7 +37750,7 @@
 	ld [$cf96], a
 	jp RemoveItemFromInventory
 
-Unknown_1d02b:
+Unknown_1d02b: ; 1d02b (7:502b)
 	ld a, $7c
 	ld [$ff00+$eb], a
 	ld a, $8
@@ -37396,19 +37791,19 @@
 	call Func_32f9
 	ret
 
-Unknown_1d076:
-	ld hl, $50b8
+Unknown_1d076: ; 1d076 (7:5076)
+	ld hl, OaksLabTexts + $36 ; $50b8 ; starts at OaksLabText28
 	ld a, l
-	ld [$d36c], a
+	ld [W_MAPTEXTPTR], a
 	ld a, h
-	ld [$d36d], a
+	ld [W_MAPTEXTPTR+1], a
 	ret
 
-OaksLabTexts: ; 0x1d082
+OaksLabTexts: ; 1d082 (7:5082)
 	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
+OaksLabText28: ; 1d0ce (7:50ce)
+OaksLabText1: ; 1d0ce (7:50ce)
 	db $08 ; asm
 	ld a, [$d74b]
 	bit 0, a
@@ -37428,23 +37823,23 @@
 .asm_1d0f0 ; 0x1d0f0
 	jp TextScriptEnd
 
-OaksLabGaryText1: ; 0x1d0f3
+OaksLabGaryText1: ; 1d0f3 (7:50f3)
 	TX_FAR _OaksLabGaryText1
 	db $50
 ; 0x1d0f8
 
-OaksLabText40: ; 0x1d0f8
+OaksLabText40: ; 1d0f8 (7:50f8)
 	TX_FAR _OaksLabText40
 	db $50
 ; 0x1d0f8 + 5 bytes
 
-OaksLabText41: ; 0x1d0fd
+OaksLabText41: ; 1d0fd (7:50fd)
 	TX_FAR _OaksLabText41
 	db $50
 ; 0x1d0fd + 5 bytes
 
-OaksLabText29:
-OaksLabText2: ; 0x1d102
+OaksLabText29: ; 1d102 (7:5102)
+OaksLabText2: ; 1d102 (7:5102)
 	db $8
 	ld a, $b1
 	ld [$cd3d], a
@@ -37454,8 +37849,8 @@
 	ld b, $2
 	jr asm_1d133 ; 0x1d111 $20
 
-OaksLabText30:
-OaksLabText3: ; 0x1d113
+OaksLabText30: ; 1d113 (7:5113)
+OaksLabText3: ; 1d113 (7:5113)
 	db $8
 	ld a, $99
 	ld [$cd3d], a
@@ -37465,8 +37860,8 @@
 	ld b, $3
 	jr asm_1d133 ; 0x1d122 $f
 
-OaksLabText31:
-OaksLabText4: ; 0x1d124
+OaksLabText31: ; 1d124 (7:5124)
+OaksLabText4: ; 1d124 (7:5124)
 	db $8
 	ld a, $b0
 	ld [$cd3d], a
@@ -37475,7 +37870,7 @@
 	ld a, $99
 	ld b, $4
 
-asm_1d133: ; 0x1d133
+asm_1d133: ; 1d133 (7:5133)
 	ld [$cf91], a
 	ld [$d11e], a
 	ld a, b
@@ -37490,11 +37885,11 @@
 	jp TextScriptEnd
 ; 0x1d152
 
-OaksLabText39: ; 0x1d152
+OaksLabText39: ; 1d152 (7:5152)
 	TX_FAR _OaksLabText39
 	db $50
 
-asm_1d157: ; 0x1d157
+asm_1d157: ; 1d157 (7:5157)
 	ld a, $5
 	ld [$ff00+$8c], a
 	ld a, $9
@@ -37527,32 +37922,32 @@
 OaksLabLookAtCharmander ; 0x1d195
 	ld hl, OaksLabCharmanderText
 	jr OaksLabMonChoiceMenu
-OaksLabCharmanderText: ; 0x1d19a
+OaksLabCharmanderText: ; 1d19a (7:519a)
 	TX_FAR _OaksLabCharmanderText ; 0x94e06
 	db $50
 ; 0x1d19f
 
-OaksLabLookAtSquirtle: ; 0x1d19f
+OaksLabLookAtSquirtle: ; 1d19f (7:519f)
 	ld hl, OaksLabSquirtleText
 	jr OaksLabMonChoiceMenu
-OaksLabSquirtleText: ; 0x1d1a4
+OaksLabSquirtleText: ; 1d1a4 (7:51a4)
 	TX_FAR _OaksLabSquirtleText ; 0x94e2f
 	db $50
 ; 0x1d1a9
 
-OaksLabLookAtBulbasaur: ; 0x1d1a9
+OaksLabLookAtBulbasaur: ; 1d1a9 (7:51a9)
 	ld hl, OaksLabBulbasaurText
 	jr OaksLabMonChoiceMenu
-OaksLabBulbasaurText: ; 0x1d1ae
+OaksLabBulbasaurText: ; 1d1ae (7:51ae)
 	TX_FAR _OaksLabBulbasaurText ; 0x94e57
 	db $50
 ; 0x1d1b3
 
-OaksLabMonChoiceMenu: ; 0x1d1b3
+OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3)
 	call PrintText
 	ld a, $1
 	ld [$cc3c], a
-	call Func_35ec ; yes/no menu
+	call YesNoChoice ; yes/no menu
 	ld a, [$cc26]
 	and a
 	jr nz, OaksLabMonChoiceEnd
@@ -37565,14 +37960,14 @@
 	jr nz, asm_1d1db ; 0x1d1d5 $4
 	ld a, $2b
 	jr asm_1d1e5 ; 0x1d1d9 $a
-asm_1d1db: ; 0x1d1db
+asm_1d1db: ; 1d1db (7:51db)
 	cp $3
 	jr nz, asm_1d1e3 ; 0x1d1dd $4
 	ld a, $2c
 	jr asm_1d1e5 ; 0x1d1e1 $2
-asm_1d1e3: ; 0x1d1e3
+asm_1d1e3: ; 1d1e3 (7:51e3)
 	ld a, $2d
-asm_1d1e5: ; 0x1d1e5
+asm_1d1e5: ; 1d1e5 (7:51e5)
 	ld [$cc4d], a
 	ld a, $11
 	call Predef
@@ -37592,24 +37987,24 @@
 	ld hl, $d72e
 	set 3, [hl]
 	ld a, $fc
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $8
 	ld [W_OAKSLABCURSCRIPT], a
-OaksLabMonChoiceEnd: ; 0x1d21f
+OaksLabMonChoiceEnd: ; 1d21f (7:521f)
 	jp TextScriptEnd
 ; 0x1d222
 
-OaksLabMonEnergeticText: ; 0x1d222
+OaksLabMonEnergeticText: ; 1d222 (7:5222)
 	TX_FAR _OaksLabMonEnergeticText
 	db $50
 ; 0x1d222 + 5 bytes
 
-OaksLabReceivedMonText: ; 0x1d227
+OaksLabReceivedMonText: ; 1d227 (7:5227)
 	TX_FAR _OaksLabReceivedMonText ; 0x94ea0
 	db $11, $50
 ; 0x1d22d
 
-Unknown_1d22d:
+Unknown_1d22d: ; 1d22d (7:522d)
 	ld a, $5
 	ld [$ff00+$8c], a
 	ld a, $9
@@ -37616,17 +38011,17 @@
 	ld [$ff00+$8b], a
 	call Func_34fc
 	ld [hl], $0
-	ld hl, $5243
+	ld hl, OaksLabLastMonText ; $5243
 	call PrintText
 	jp TextScriptEnd
 
-OaksLabLastMonText: ; 0x1d243
+OaksLabLastMonText: ; 1d243 (7:5243)
 	TX_FAR _OaksLabLastMonText
 	db $50
 ; 0x1d248
 
-OaksLabText32:
-OaksLabText5: ; 0x1d248
+OaksLabText32: ; 1d248 (7:5248)
+OaksLabText5: ; 1d248 (7:5248)
 	db $08 ; asm
 	ld a, [$d747]
 	bit 6, a
@@ -37705,22 +38100,22 @@
 	jp TextScriptEnd
 ; 0x1d2f0
 
-UnnamedText_1d2f0: ; 0x1d2f0
+UnnamedText_1d2f0: ; 1d2f0 (7:52f0)
 	TX_FAR _UnnamedText_1d2f0
 	db $50
 ; 0x1d2f5
 
-UnnamedText_1d2f5: ; 0x1d2f5
+UnnamedText_1d2f5: ; 1d2f5 (7:52f5)
 	TX_FAR _UnnamedText_1d2f5
 	db $50
 ; 0x1d2fa
 
-UnnamedText_1d2fa: ; 0x1d2fa
+UnnamedText_1d2fa: ; 1d2fa (7:52fa)
 	TX_FAR _UnnamedText_1d2fa
 	db $50
 ; 0x1d2ff
 
-OaksLabDeliverParcelText: ; 0x1d2ff
+OaksLabDeliverParcelText: ; 1d2ff (7:52ff)
 	TX_FAR _OaksLabDeliverParcelText1 ; 0x94f69
 	db $11
 	TX_FAR _OaksLabDeliverParcelText2
@@ -37727,12 +38122,12 @@
 	db $50
 ; 0x1d309
 
-OaksLabAroundWorldText: ; 0x1d309
+OaksLabAroundWorldText: ; 1d309 (7:5309)
 	TX_FAR _OaksLabAroundWorldText
 	db $50
 ; 0x1d30e
 
-OaksLabGivePokeballsText: ; 0x1d30e
+OaksLabGivePokeballsText: ; 1d30e (7:530e)
 	TX_FAR _OaksLabGivePokeballsText1 ; 0x9506d
 	db $11
 	TX_FAR _OaksLabGivePokeballsText2
@@ -37739,48 +38134,48 @@
 	db $50
 ; 0x1d318
 
-OaksLabPleaseVisitText: ; 0x1d318
+OaksLabPleaseVisitText: ; 1d318 (7:5318)
 	TX_FAR _OaksLabPleaseVisitText
 	db $50
 ; 0x1d318 + 5 bytes
 
-UnnamedText_1d31d: ; 0x1d31d
+UnnamedText_1d31d: ; 1d31d (7:531d)
 	TX_FAR _UnnamedText_1d31d
 	db $50
 ; 0x1d31d + 5 bytes
 
-OaksLabText34:
-OaksLabText33:
-OaksLabText7: ; 0x1d322
-OaksLabText6: ; 0x1d322
+OaksLabText34: ; 1d322 (7:5322)
+OaksLabText33: ; 1d322 (7:5322)
+OaksLabText7: ; 1d322 (7:5322)
+OaksLabText6: ; 1d322 (7:5322)
 	db $08 ; asm
 	ld hl, UnnamedText_1d32c
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_1d32c: ; 0x1d32c
+UnnamedText_1d32c: ; 1d32c (7:532c)
 	TX_FAR _UnnamedText_1d32c
 	db $50
 ; 0x1d32c + 5 bytes
 
-OaksLabText35:
-OaksLabText8: ; 0x1d331
+OaksLabText35: ; 1d331 (7:5331)
+OaksLabText8: ; 1d331 (7:5331)
 	TX_FAR _OaksLabText8
 	db $50
 
-OaksLabText36:
-OaksLabText9: ; 0x1d336
+OaksLabText36: ; 1d336 (7:5336)
+OaksLabText9: ; 1d336 (7:5336)
 	db $08 ; asm
 	ld hl, UnnamedText_1d340
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_1d340: ; 0x1d340
+UnnamedText_1d340: ; 1d340 (7:5340)
 	TX_FAR _UnnamedText_1d340
 	db $50
 ; 0x1d340 + 5 bytes
 
-OaksLabText17: ; 0x1d345
+OaksLabText17: ; 1d345 (7:5345)
 	db $8
 	ld hl, OaksLabRivalWaitingText
 	call PrintText
@@ -37787,12 +38182,12 @@
 	jp TextScriptEnd
 ; 0x1d34f
 
-OaksLabRivalWaitingText: ; 0x1d34f
+OaksLabRivalWaitingText: ; 1d34f (7:534f)
 	TX_FAR _OaksLabRivalWaitingText
 	db $50
 ; 0x1d34f + 5 bytes
 
-OaksLabText18: ; 0x1d354
+OaksLabText18: ; 1d354 (7:5354)
 	db $8
 	ld hl, OaksLabChooseMonText
 	call PrintText
@@ -37799,12 +38194,12 @@
 	jp TextScriptEnd
 ; 0x1d35e
 
-OaksLabChooseMonText: ; 0x1d35e
+OaksLabChooseMonText: ; 1d35e (7:535e)
 	TX_FAR _OaksLabChooseMonText
 	db $50
 ; 0x1d35e + 5 bytes
 
-OaksLabText19: ; 0x1d363
+OaksLabText19: ; 1d363 (7:5363)
 	db $8
 	ld hl, OaksLabRivalInterjectionText
 	call PrintText
@@ -37811,12 +38206,12 @@
 	jp TextScriptEnd
 ; 0x1d36d
 
-OaksLabRivalInterjectionText: ; 0x1d36d
+OaksLabRivalInterjectionText: ; 1d36d (7:536d)
 	TX_FAR _OaksLabRivalInterjectionText
 	db $50
 ; 0x1d36d + 5 bytes
 
-OaksLabText20: ; 0x1d372
+OaksLabText20: ; 1d372 (7:5372)
 	db $8
 	ld hl, OaksLabBePatientText
 	call PrintText
@@ -37823,12 +38218,12 @@
 	jp TextScriptEnd
 ; 0x1d37c
 
-OaksLabBePatientText: ; 0x1d37c
+OaksLabBePatientText: ; 1d37c (7:537c)
 	TX_FAR _OaksLabBePatientText
 	db $50
 ; 0x1d37c + 5 bytes
 
-OaksLabText12: ; 0x1d381
+OaksLabText12: ; 1d381 (7:5381)
 	db $8
 	ld hl, OaksLabLeavingText
 	call PrintText
@@ -37835,12 +38230,12 @@
 	jp TextScriptEnd
 ; 0x1d38b
 
-OaksLabLeavingText: ; 0x1d38b
+OaksLabLeavingText: ; 1d38b (7:538b)
 	TX_FAR _OaksLabLeavingText
 	db $50
 ; 0x1d38b + 5 bytes
 
-OaksLabText13: ; 0x1d390
+OaksLabText13: ; 1d390 (7:5390)
 	db $8
 	ld hl, OaksLabRivalPickingMonText
 	call PrintText
@@ -37847,12 +38242,12 @@
 	jp TextScriptEnd
 ; 0x1d39a
 
-OaksLabRivalPickingMonText: ; 0x1d39a
+OaksLabRivalPickingMonText: ; 1d39a (7:539a)
 	TX_FAR _OaksLabRivalPickingMonText
 	db $50
 ; 0x1d39f
 
-OaksLabText14: ; 0x1d39f
+OaksLabText14: ; 1d39f (7:539f)
 	db $8
 	ld hl, OaksLabRivalReceivedMonText
 	call PrintText
@@ -37859,12 +38254,12 @@
 	jp TextScriptEnd
 ; 0x1d3a9
 
-OaksLabRivalReceivedMonText: ; 0x1d3a9
+OaksLabRivalReceivedMonText: ; 1d3a9 (7:53a9)
 	TX_FAR _OaksLabRivalReceivedMonText ; 0x95461
 	db $11, $50
 ; 0x1d3af
 
-OaksLabText15: ; 0x1d3af
+OaksLabText15: ; 1d3af (7:53af)
 	db $8
 	ld hl, OaksLabRivalChallengeText
 	call PrintText
@@ -37871,22 +38266,22 @@
 	jp TextScriptEnd
 ; 0x1d3b9
 
-OaksLabRivalChallengeText: ; 0x1d3b9
+OaksLabRivalChallengeText: ; 1d3b9 (7:53b9)
 	TX_FAR _OaksLabRivalChallengeText
 	db $50
 ; 0x1d3be
 
-UnnamedText_1d3be: ; 0x1d3be
+UnnamedText_1d3be: ; 1d3be (7:53be)
 	TX_FAR _UnnamedText_1d3be
 	db $50
 ; 0x1d3c3
 
-UnnamedText_1d3c3: ; 0x1d3c3
+UnnamedText_1d3c3: ; 1d3c3 (7:53c3)
 	TX_FAR _UnnamedText_1d3c3
 	db $50
 ; 0x1d3c8
 
-OaksLabText16: ; 0x1d3c8
+OaksLabText16: ; 1d3c8 (7:53c8)
 	db $8
 	ld hl, OaksLabRivalToughenUpText
 	call PrintText
@@ -37893,56 +38288,56 @@
 	jp TextScriptEnd
 ; 0x1d3d2
 
-OaksLabRivalToughenUpText: ; 0x1d3d2
+OaksLabRivalToughenUpText: ; 1d3d2 (7:53d2)
 	TX_FAR _OaksLabRivalToughenUpText
 	db $50
 ; 0x1d3d7
 
-OaksLabText21: ; 0x1d3d7
+OaksLabText21: ; 1d3d7 (7:53d7)
 	TX_FAR _OaksLabText21
 	db $50
 ; 0x1d3dc
 
-OaksLabText22: ; 0x1d3dc
+OaksLabText22: ; 1d3dc (7:53dc)
 	TX_FAR _OaksLabText22
 	db $50
 ; 0x1d3e1
 
-OaksLabText23: ; 0x1d3e1
+OaksLabText23: ; 1d3e1 (7:53e1)
 	TX_FAR _OaksLabText23
 	db $50
 ; 0x1d3e6
 
-OaksLabText24: ; 0x1d3e6
+OaksLabText24: ; 1d3e6 (7:53e6)
 	TX_FAR _OaksLabText24
 	db $50
 ; 0x1d3eb
 
-OaksLabText25: ; 0x1d3eb
+OaksLabText25: ; 1d3eb (7:53eb)
 	TX_FAR _OaksLabText25
 	db $11, $50
 ; 0x1d3f1
 
-OaksLabText26: ; 0x1d3f1
+OaksLabText26: ; 1d3f1 (7:53f1)
 	TX_FAR _OaksLabText26
 	db $50
 ; 0x1d3f6
 
-OaksLabText27: ; 0x1d3f6
+OaksLabText27: ; 1d3f6 (7:53f6)
 	TX_FAR _OaksLabText27
 	db $50
 ; 0x1d3fb
 
-OaksLabText38:
-OaksLabText37:
-OaksLabText11:
-OaksLabText10: ; 0x1d3fb
+OaksLabText38: ; 1d3fb (7:53fb)
+OaksLabText37: ; 1d3fb (7:53fb)
+OaksLabText11: ; 1d3fb (7:53fb)
+OaksLabText10: ; 1d3fb (7:53fb)
 	db $08 ; asm
 	ld hl, UnnamedText_1d405
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_1d405: ; 0x1d405
+UnnamedText_1d405: ; 1d405 (7:5405)
 	TX_FAR _UnnamedText_1d405
 	db $50
 ; 0x1d405 + 5 bytes
@@ -37981,35 +38376,35 @@
 
 	dw ViridianMartObject ; objects
 
-ViridianMartScript: ; 0x1d46e
+ViridianMartScript: ; 1d46e (7:546e)
 	call ViridianMartScript_Unknown1d47d
 	call EnableAutoTextBoxDrawing
 	ld hl, ViridianMartScriptPointers
-	ld a, [$d60d]
+	ld a, [W_VIRIDIANMARKETCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x1d47d
 
-ViridianMartScript_Unknown1d47d: ; 0x1d47d
+ViridianMartScript_Unknown1d47d: ; 1d47d (7:547d)
 	ld a, [$d74e]
 	bit 0, a
 	jr nz, .asm_1d489 ; 0x1d482 $5
-	ld hl, $54e0
+	ld hl, ViridianMartTexts ; $54e0
 	jr .asm_1d48c ; 0x1d487 $3
 .asm_1d489
-	ld hl, $54ea
+	ld hl, ViridianMartTexts + $a ; $54ea ; starts at ViridianMartText6
 .asm_1d48c
 	ld a, l
-	ld [$d36c], a
+	ld [W_MAPTEXTPTR], a
 	ld a, h
-	ld [$d36d], a
+	ld [W_MAPTEXTPTR+1], a
 	ret
 
-ViridianMartScriptPointers:
+ViridianMartScriptPointers: ; 1d495 (7:5495)
 	dw ViridianMartScript0
 	dw ViridianMartScript1
 	dw ViridianMartScript2
 
-ViridianMartScript0: ; 0x1d49b
+ViridianMartScript0: ; 1d49b (7:549b)
 	call UpdateSprites
 	ld a, $4
 	ld [$ff00+$8c], a
@@ -38021,15 +38416,15 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $1
-	ld [$d60d], a
+	ld [W_VIRIDIANMARKETCURSCRIPT], a
 	ret
 
-RLEMovement1d4bb: ; 0x1d4bb
+RLEMovement1d4bb: ; 1d4bb (7:54bb)
 	db $20
 	TX_RAM $0240
 	db $ff
 
-ViridianMartScript1: ; 0x1d4c0
+ViridianMartScript1: ; 1d4c0 (7:54c0)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -38037,18 +38432,18 @@
 	ld a, $5
 	ld [$ff00+$8c], a
 	call DisplayTextID
-	ld bc, $4601
+	ld bc, (OAKS_PARCEL << 8) + 1 ; 1x OAKS_PARCEL
 	call GiveItem
 	ld hl, $d74e
 	set 1, [hl]
 	ld a, $2
-	ld [$d60d], a
+	ld [W_VIRIDIANMARKETCURSCRIPT], a
 	; fallthrough
-ViridianMartScript2:
+ViridianMartScript2: ; 1d4df (7:54df)
 	ret
 ; 0x1d4e0
 
-ViridianMartTexts: ; 0x1d4e0
+ViridianMartTexts: ; 1d4e0 (7:54e0)
 	dw ViridianMartText1
 	dw ViridianMartText2
 	dw ViridianMartText3
@@ -38058,24 +38453,24 @@
 	dw ViridianMartText2
 	dw ViridianMartText3
 
-ViridianMartText1: ; 0x1d4f0
+ViridianMartText1: ; 1d4f0 (7:54f0)
 	TX_FAR _ViridianMartText1
 	db $50
 
-ViridianMartText4: ; 0x1d4f5
+ViridianMartText4: ; 1d4f5 (7:54f5)
 	TX_FAR _ViridianMartText4
 	db $50
 
-ViridianMartText5:
+ViridianMartText5: ; 1d4fa (7:54fa)
 	TX_FAR ViridianMartParcelQuestText
 	db $11
 	db $50
 
-ViridianMartText2: ; 0x1d500
+ViridianMartText2: ; 1d500 (7:5500)
 	TX_FAR _ViridianMartText2
 	db $50
 
-ViridianMartText3: ; 0x1d505
+ViridianMartText3: ; 1d505 (7:5505)
 	TX_FAR _ViridianMartText3
 	db $50
 
@@ -38097,7 +38492,7 @@
 	EVENT_DISP $4, $7, $3
 	EVENT_DISP $4, $7, $4
 
-ViridianMartBlocks: ; 0x1d530 16
+ViridianMartBlocks: ; 1d530 (7:5530)
 	INCBIN "maps/viridianmart.blk"
 
 School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43)
@@ -38108,18 +38503,18 @@
 
 	dw SchoolObject ; objects
 
-SchoolScript: ; 0x1d54c
+SchoolScript: ; 1d54c (7:554c)
 	jp EnableAutoTextBoxDrawing
 ; 0x1d54f
 
-SchoolTexts: ; 0x1d54f
+SchoolTexts: ; 1d54f (7:554f)
 	dw SchoolText1, SchoolText2
 
-SchoolText1: ; 0x1d553
+SchoolText1: ; 1d553 (7:5553)
 	TX_FAR _SchoolText1
 	db $50
 
-SchoolText2: ; 0x1d558
+SchoolText2: ; 1d558 (7:5558)
 	TX_FAR _SchoolText2
 	db $50
 
@@ -38151,36 +38546,36 @@
 ; 0x1d589
 db $0
 
-ViridianHouseScript: ; 0x1d58a
+ViridianHouseScript: ; 1d58a (7:558a)
 	jp EnableAutoTextBoxDrawing
 ; 0x1d58d
 
-ViridianHouseTexts: ; 0x1d58d
+ViridianHouseTexts: ; 1d58d (7:558d)
 	dw ViridianHouseText1, ViridianHouseText2, ViridianHouseText3, ViridianHouseText4
 
-ViridianHouseText1: ; 0x1d595
+ViridianHouseText1: ; 1d595 (7:5595)
 	TX_FAR _ViridianHouseText1
 	db $50
 
-ViridianHouseText2: ; 0x1d59a
+ViridianHouseText2: ; 1d59a (7:559a)
 	TX_FAR _ViridianHouseText2
 	db $50
 
-ViridianHouseText3: ; 0x1d59f
+ViridianHouseText3: ; 1d59f (7:559f)
 	db $08 ; asm
 	ld hl, UnnamedText_1d5b1
 	call PrintText
 	ld a, SPEAROW
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 
-UnnamedText_1d5b1: ; 0x1d5b1
+UnnamedText_1d5b1: ; 1d5b1 (7:55b1)
 	TX_FAR _UnnamedText_1d5b1
 	db $50
 ; 0x1d5b1 + 5 bytes
 
-ViridianHouseText4: ; 0x1d5b6
+ViridianHouseText4: ; 1d5b6 (7:55b6)
 	TX_FAR _ViridianHouseText4
 	db $50
 
@@ -38211,26 +38606,26 @@
 
 	dw PewterHouse1Object ; objects
 
-PewterHouse1Script: ; 0x1d5f3
+PewterHouse1Script: ; 1d5f3 (7:55f3)
 	jp EnableAutoTextBoxDrawing
 ; 0x1d5f6
 
-PewterHouse1Texts: ; 0x1d5f6
+PewterHouse1Texts: ; 1d5f6 (7:55f6)
 	dw PewterHouse1Text1, PewterHouse1Text2, PewterHouse1Text3
 
-PewterHouse1Text1: ; 0x1d5fc
+PewterHouse1Text1: ; 1d5fc (7:55fc)
 	TX_FAR _PewterHouse1Text1
 	db $08 ; asm
 	ld a, NIDORAN_M
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 
-PewterHouse1Text2: ; 0x1d60c
+PewterHouse1Text2: ; 1d60c (7:560c)
 	TX_FAR _PewterHouse1Text2
 	db $50
 
-PewterHouse1Text3: ; 0x1d611
+PewterHouse1Text3: ; 1d611 (7:5611)
 	TX_FAR _PewterHouse1Text3
 	db $50
 
@@ -38260,18 +38655,18 @@
 
 	dw PewterHouse2Object ; objects
 
-PewterHouse2Script: ; 0x1d648
+PewterHouse2Script: ; 1d648 (7:5648)
 	jp EnableAutoTextBoxDrawing
 ; 0x1d64b
 
-PewterHouse2Texts: ; 0x1d64b
+PewterHouse2Texts: ; 1d64b (7:564b)
 	dw PewterHouse2Text1, PewterHouse2Text2
 
-PewterHouse2Text1: ; 0x1d64f
+PewterHouse2Text1: ; 1d64f (7:564f)
 	TX_FAR _PewterHouse2Text1
 	db $50
 
-PewterHouse2Text2: ; 0x1d654
+PewterHouse2Text2: ; 1d654 (7:5654)
 	TX_FAR _PewterHouse2Text2
 	db $50
 
@@ -38300,15 +38695,15 @@
 
 	dw CeruleanHouseTrashedObject ; objects
 
-CeruleanHouseTrashedScript: ; 0x1d685
+CeruleanHouseTrashedScript: ; 1d685 (7:5685)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x1d689
 
-CeruleanHouseTrashedTexts: ; 0x1d689
+CeruleanHouseTrashedTexts: ; 1d689 (7:5689)
 	dw CeruleanHouseTrashedText1, CeruleanHouseTrashedText2, CeruleanHouseTrashedText3
 
-CeruleanHouseTrashedText1: ; 0x1d68f
+CeruleanHouseTrashedText1: ; 1d68f (7:568f)
 	db $08 ; asm
 	ld b, $e4
 	ld a, $1c
@@ -38324,21 +38719,21 @@
 .asm_8dfe9 ; 0x1d6a8
 	jp TextScriptEnd
 
-UnnamedText_1d6ab: ; 0x1d6ab
+UnnamedText_1d6ab: ; 1d6ab (7:56ab)
 	TX_FAR _UnnamedText_1d6ab
 	db $50
 ; 0x1d6ab + 5 bytes
 
-UnnamedText_1d6b0: ; 0x1d6b0
+UnnamedText_1d6b0: ; 1d6b0 (7:56b0)
 	TX_FAR _UnnamedText_1d6b0
 	db $50
 ; 0x1d6b0 + 5 bytes
 
-CeruleanHouseTrashedText2: ; 0x1d6b5
+CeruleanHouseTrashedText2: ; 1d6b5 (7:56b5)
 	TX_FAR _CeruleanHouseTrashedText2
 	db $50
 
-CeruleanHouseTrashedText3: ; 0x1d6ba
+CeruleanHouseTrashedText3: ; 1d6ba (7:56ba)
 	TX_FAR _CeruleanHouseTrashedText3
 	db $50
 
@@ -38370,18 +38765,18 @@
 
 	dw CeruleanHouse2Object ; objects
 
-CeruleanHouse2Script: ; 0x1d6f6
+CeruleanHouse2Script: ; 1d6f6 (7:56f6)
 	jp EnableAutoTextBoxDrawing
 ; 0x1d6f9
 
-CeruleanHouse2Texts: ; 0x1d6f9
+CeruleanHouse2Texts: ; 1d6f9 (7:56f9)
 	dw CeruleanHouse2Text1, CeruleanHouse2Text2
 
-CeruleanHouse2Text1: ; 0x1d6fd
+CeruleanHouse2Text1: ; 1d6fd (7:56fd)
 	TX_FAR _CeruleanHouse2Text1
 	db $50
 
-CeruleanHouse2Text2: ; 0x1d702
+CeruleanHouse2Text2: ; 1d702 (7:5702)
 	db $08 ; asm
 	ld a, $6
 	ld [W_WHICHTRADE], a
@@ -38414,14 +38809,14 @@
 
 	dw BikeShopObject ; objects
 
-BikeShopScript: ; 0x1d73c
+BikeShopScript: ; 1d73c (7:573c)
 	jp EnableAutoTextBoxDrawing
 ; 0x1d73f
 
-BikeShopTexts: ; 0x1d73f
+BikeShopTexts: ; 1d73f (7:573f)
 	dw BikeShopText1, BikeShopText2, BikeShopText3
 
-BikeShopText1: ; 0x1d745
+BikeShopText1: ; 1d745 (7:5745)
 	db $08 ; asm
 	ld a, [$d75f]
 	bit 0, a
@@ -38468,15 +38863,17 @@
 	ld [$cc25], a
 	ld hl, $d730
 	set 6, [hl]
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $4
 	ld c, $f
 	call TextBoxBorder
 	call UpdateSprites
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	ld de, BikeShopMenuText
 	call PlaceString
-	ld hl, $c3e4
+	FuncCoord 8, 3 ; $c3e4
+	ld hl, Coord
 	ld de, BikeShopMenuPrice
 	call PlaceString
 	ld hl, UnnamedText_1d815
@@ -38497,64 +38894,64 @@
 .asm_99ef2 ; 0x1d7f5
 	jp TextScriptEnd
 
-BikeShopMenuText:
+BikeShopMenuText: ; 1d7f8 (7:57f8)
 	db "BICYCLE", $4e
 	db "CANCEL@"
 
-BikeShopMenuPrice:
+BikeShopMenuPrice: ; 1d807 (7:5807)
 	db "¥1000000@"
 
-UnnamedText_1d810: ; 0x1d810
+UnnamedText_1d810: ; 1d810 (7:5810)
 	TX_FAR _UnnamedText_1d810
 	db $50
 ; 0x1d810 + 5 bytes
 
-UnnamedText_1d815: ; 0x1d815
+UnnamedText_1d815: ; 1d815 (7:5815)
 	TX_FAR _UnnamedText_1d815
 	db $50
 ; 0x1d815 + 5 bytes
 
-UnnamedText_1d81a: ; 0x1d81a
+UnnamedText_1d81a: ; 1d81a (7:581a)
 	TX_FAR _UnnamedText_1d81a
 	db $50
 ; 0x1d81a + 5 bytes
 
-UnnamedText_1d81f: ; 0x1d81f
+UnnamedText_1d81f: ; 1d81f (7:581f)
 	TX_FAR _UnnamedText_1d81f
 	db $50
 ; 0x1d81f + 5 bytes
 
-UnnamedText_1d824: ; 0x1d824
+UnnamedText_1d824: ; 1d824 (7:5824)
 	TX_FAR _UnnamedText_1d824 ; 0x98eb2
 	db $11, $50
 
-UnnamedText_1d82a: ; 0x1d82a
+UnnamedText_1d82a: ; 1d82a (7:582a)
 	TX_FAR _UnnamedText_1d82a
 	db $50
 ; 0x1d82a + 5 bytes
 
-UnnamedText_1d82f: ; 0x1d82f
+UnnamedText_1d82f: ; 1d82f (7:582f)
 	TX_FAR _UnnamedText_1d82f
 	db $50
 ; 0x1d82f + 5 bytes
 
-UnnamedText_1d834: ; 0x1d834
+UnnamedText_1d834: ; 1d834 (7:5834)
 	TX_FAR _UnnamedText_1d834
 	db $50
 ; 0x1d834 + 5 bytes
 
-BikeShopText2: ; 0x1d839
+BikeShopText2: ; 1d839 (7:5839)
 	db $08 ; asm
 	ld hl, UnnamedText_1d843
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_1d843: ; 0x1d843
+UnnamedText_1d843: ; 1d843 (7:5843)
 	TX_FAR _UnnamedText_1d843
 	db $50
 ; 0x1d843 + 5 bytes
 
-BikeShopText3: ; 0x1d848
+BikeShopText3: ; 1d848 (7:5848)
 	db $08 ; asm
 	ld a, [$d75f]
 	bit 0, a
@@ -38565,12 +38962,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_1d85c: ; 0x1d85c
+UnnamedText_1d85c: ; 1d85c (7:585c)
 	TX_FAR _UnnamedText_1d85c
 	db $50
 ; 0x1d85c + 5 bytes
 
-UnnamedText_1d861: ; 0x1d861
+UnnamedText_1d861: ; 1d861 (7:5861)
 	TX_FAR _UnnamedText_1d861
 	db $50
 ; 0x1d861 + 5 bytes
@@ -38593,7 +38990,7 @@
 	EVENT_DISP $4, $7, $2
 	EVENT_DISP $4, $7, $3
 
-BikeShopBlocks: ; 0x1d88c 16
+BikeShopBlocks: ; 1d88c (7:588c)
 	INCBIN "maps/bikeshop.blk"
 
 LavenderHouse1_h: ; 0x1d89c to 0x1d8a8 (12 bytes) (bank=7) (id=149)
@@ -38604,15 +39001,15 @@
 
 	dw LavenderHouse1Object ; objects
 
-LavenderHouse1Script: ; 0x1d8a8
+LavenderHouse1Script: ; 1d8a8 (7:58a8)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x1d8ac
 
-LavenderHouse1Texts: ; 0x1d8ac
+LavenderHouse1Texts: ; 1d8ac (7:58ac)
 	dw LavenderHouse1Text1, LavenderHouse1Text2, LavenderHouse1Text3, LavenderHouse1Text4, LavenderHouse1Text5, LavenderHouse1Text6
 
-LavenderHouse1Text1: ; 0x1d8b8
+LavenderHouse1Text1: ; 1d8b8 (7:58b8)
 	db $08 ; asm
 	ld a, [$d7e0]
 	bit 7, a
@@ -38626,17 +39023,17 @@
 .asm_6957f ; 0x1d8ce
 	jp TextScriptEnd
 
-UnnamedText_1d8d1: ; 0x1d8d1
+UnnamedText_1d8d1: ; 1d8d1 (7:58d1)
 	TX_FAR _UnnamedText_1d8d1
 	db $50
 ; 0x1d8d1 + 5 bytes
 
-UnnamedText_1d8d6: ; 0x1d8d6
+UnnamedText_1d8d6: ; 1d8d6 (7:58d6)
 	TX_FAR _UnnamedText_1d8d6
 	db $50
 ; 0x1d8d6 + 5 bytes
 
-LavenderHouse1Text2: ; 0x1d8db
+LavenderHouse1Text2: ; 1d8db (7:58db)
 	db $08 ; asm
 	ld a, [$d7e0]
 	bit 7, a
@@ -38650,17 +39047,17 @@
 .asm_3d208 ; 0x1d8f1
 	jp TextScriptEnd
 
-UnnamedText_1d8f4: ; 0x1d8f4
+UnnamedText_1d8f4: ; 1d8f4 (7:58f4)
 	TX_FAR _UnnamedText_1d8f4
 	db $50
 ; 0x1d8f4 + 5 bytes
 
-UnnamedText_1d8f9: ; 0x1d8f9
+UnnamedText_1d8f9: ; 1d8f9 (7:58f9)
 	TX_FAR _UnnamedText_1d8f9
 	db $50
 ; 0x1d8f9 + 5 bytes
 
-LavenderHouse1Text3: ; 0x1d8fe
+LavenderHouse1Text3: ; 1d8fe (7:58fe)
 	TX_FAR _LavenderHouse1Text3
 	db $8
 	ld a, PSYDUCK
@@ -38667,7 +39064,7 @@
 	call PlayCry
 	jp TextScriptEnd
 
-LavenderHouse1Text4: ; 0x1d90b
+LavenderHouse1Text4: ; 1d90b (7:590b)
 	TX_FAR _LavenderHouse1Text4
 	db $8
 	ld a, NIDORINO
@@ -38675,7 +39072,7 @@
 	jp TextScriptEnd
 ; 0x1d918
 
-LavenderHouse1Text5: ; 0x1d918
+LavenderHouse1Text5: ; 1d918 (7:5918)
 	db $08 ; asm
 	ld a, [$d76c]
 	bit 0, a
@@ -38700,12 +39097,12 @@
 .asm_da749 ; 0x1d949
 	jp TextScriptEnd
 
-UnnamedText_1d94c: ; 0x1d94c
+UnnamedText_1d94c: ; 1d94c (7:594c)
 	TX_FAR _UnnamedText_1d94c
 	db $50
 ; 0x1d94c + 5 bytes
 
-ReceivedFluteText: ; 0x1d951
+ReceivedFluteText: ; 1d951 (7:5951)
 	TX_FAR _ReceivedFluteText ; 0x99ffb
 	db $11
 	TX_FAR _FluteExplanationText ; 0x9a011
@@ -38712,17 +39109,17 @@
 	db $50
 ; 0x1d95b
 
-FluteNoRoomText: ; 0x1d95b
+FluteNoRoomText: ; 1d95b (7:595b)
 	TX_FAR _FluteNoRoomText
 	db $50
 ; 0x1d95b + 5 bytes
 
-MrFujiAfterFluteText: ; 0x1d960
+MrFujiAfterFluteText: ; 1d960 (7:5960)
 	TX_FAR _MrFujiAfterFluteText
 	db $50
 ; 0x1d960 + 5 bytes
 
-LavenderHouse1Text6: ; 0x1d965
+LavenderHouse1Text6: ; 1d965 (7:5965)
 	TX_FAR _LavenderHouse1Text6
 	db $50
 
@@ -38755,15 +39152,15 @@
 
 	dw LavenderHouse2Object ; objects
 
-LavenderHouse2Script: ; 0x1d9ae
+LavenderHouse2Script: ; 1d9ae (7:59ae)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x1d9b2
 
-LavenderHouse2Texts: ; 0x1d9b2
+LavenderHouse2Texts: ; 1d9b2 (7:59b2)
 	dw LavenderHouse2Text1, LavenderHouse2Text2
 
-LavenderHouse2Text1: ; 0x1d9b6
+LavenderHouse2Text1: ; 1d9b6 (7:59b6)
 	TX_FAR _LavenderHouse2Text1
 	db $8
 	ld a, CUBONE
@@ -38771,7 +39168,7 @@
 	jp TextScriptEnd
 ; 0x1d9c3
 
-LavenderHouse2Text2: ; 0x1d9c3
+LavenderHouse2Text2: ; 1d9c3 (7:59c3)
 	db $08 ; asm
 	ld a, [$d7e0]
 	bit 7, a
@@ -38785,12 +39182,12 @@
 .asm_64be1 ; 0x1d9d9
 	jp TextScriptEnd
 
-UnnamedText_1d9dc: ; 0x1d9dc
+UnnamedText_1d9dc: ; 1d9dc (7:59dc)
 	TX_FAR _UnnamedText_1d9dc
 	db $50
 ; 0x1d9dc + 5 bytes
 
-UnnamedText_1d9e1: ; 0x1d9e1
+UnnamedText_1d9e1: ; 1d9e1 (7:59e1)
 	TX_FAR _UnnamedText_1d9e1
 	db $50
 ; 0x1d9e1 + 5 bytes
@@ -38820,18 +39217,18 @@
 
 	dw NameRaterObject ; objects
 
-NameRaterScript: ; 0x1da12
+NameRaterScript: ; 1da12 (7:5a12)
 	jp EnableAutoTextBoxDrawing
 ; 0x1da15
 
-Unknown_1da15:
+Unknown_1da15: ; 1da15 (7:5a15)
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	ret
 
-Unknown_1da20:
+Unknown_1da20: ; 1da20 (7:5a20)
 	ld hl, $d273
 	ld bc, $000b
 	ld a, [$cf92]
@@ -38860,12 +39257,12 @@
 	scf
 	ret
 
-NameRaterTexts:
+NameRaterTexts: ; 1da54 (7:5a54)
 	dw NameRaterText1
 
-NameRaterText1: ; 0x1da56
+NameRaterText1: ; 1da56 (7:5a56)
 	db $8
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld hl, UnnamedText_1dab3
 	call Unknown_1da15
 	jr nz, .asm_1daae ; 0x1da60 $4c
@@ -38904,37 +39301,37 @@
 	jr .asm_1daa8 ; 0x1dab1 $f5
 ; 0x1dab3
 
-UnnamedText_1dab3: ; 0x1dab3
+UnnamedText_1dab3: ; 1dab3 (7:5ab3)
 	TX_FAR _UnnamedText_1dab3
 	db $50
 ; 0x1dab3 + 5 bytes
 
-UnnamedText_1dab8: ; 0x1dab8
+UnnamedText_1dab8: ; 1dab8 (7:5ab8)
 	TX_FAR _UnnamedText_1dab8
 	db $50
 ; 0x1dab8 + 5 bytes
 
-UnnamedText_1dabd: ; 0x1dabd
+UnnamedText_1dabd: ; 1dabd (7:5abd)
 	TX_FAR _UnnamedText_1dabd
 	db $50
 ; 0x1dabd + 5 bytes
 
-UnnamedText_1dac2: ; 0x1dac2
+UnnamedText_1dac2: ; 1dac2 (7:5ac2)
 	TX_FAR _UnnamedText_1dac2
 	db $50
 ; 0x1dac2 + 5 bytes
 
-UnnamedText_1dac7: ; 0x1dac7
+UnnamedText_1dac7: ; 1dac7 (7:5ac7)
 	TX_FAR _UnnamedText_1dac7
 	db $50
 ; 0x1dac7 + 5 bytes
 
-UnnamedText_1dacc: ; 0x1dacc
+UnnamedText_1dacc: ; 1dacc (7:5acc)
 	TX_FAR _UnnamedText_1dacc
 	db $50
 ; 0x1dacc + 5 bytes
 
-UnnamedText_1dad1: ; 0x1dad1
+UnnamedText_1dad1: ; 1dad1 (7:5ad1)
 	TX_FAR _UnnamedText_1dad1
 	db $50
 ; 0x1dad1 + 5 bytes
@@ -38963,27 +39360,27 @@
 
 	dw VermilionHouse1Object ; objects
 
-VermilionHouse1Script: ; 0x1dafc
+VermilionHouse1Script: ; 1dafc (7:5afc)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x1db00
 
-VermilionHouse1Texts: ; 0x1db00
+VermilionHouse1Texts: ; 1db00 (7:5b00)
 	dw VermilionHouse1Text1, VermilionHouse1Text2, VermilionHouse1Text3
 
-VermilionHouse1Text1: ; 0x1db06
+VermilionHouse1Text1: ; 1db06 (7:5b06)
 	TX_FAR _VermilionHouse1Text1
 	db $50
 
-VermilionHouse1Text2: ; 0x1db0b
+VermilionHouse1Text2: ; 1db0b (7:5b0b)
 	TX_FAR _VermilionHouse1Text2
 	db $08 ; asm
 	ld a, PIDGEY
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 
-VermilionHouse1Text3: ; 0x1db1b
+VermilionHouse1Text3: ; 1db1b (7:5b1b)
 	TX_FAR _VermilionHouse1Text3
 	db $50
 
@@ -39013,7 +39410,7 @@
 
 	dw VermilionDockObject ; objects
 
-VermilionDockScript: ; 0x1db52
+VermilionDockScript: ; 1db52 (7:5b52)
 	call EnableAutoTextBoxDrawing
 	ld hl, $d803
 	bit 4, [hl]
@@ -39040,7 +39437,7 @@
 	ld [$c206], a
 	ld [$cd3b], a
 	dec a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 .asm_1db8d
 	bit 5, [hl]
@@ -39048,15 +39445,15 @@
 	ld a, [$cd38]
 	and a
 	ret nz
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	set 5, [hl]
 	ret
 ; 0x1db9b
 
-VermilionDock_1db9b:
+VermilionDock_1db9b: ; 1db9b (7:5b9b)
 	set 2, [hl]
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld [$c0ee], a
 	call PlaySound
 	ld c, $1f
@@ -39070,8 +39467,9 @@
 	ld c, $78
 	call DelayFrames
 	ld b, $9c
-	call Func_18d6
-	ld hl, $c468
+	call CopyScreenTileBufferToVRAM
+	FuncCoord 0, 10 ; $c468
+	ld hl, Coord
 	ld bc, $0078
 	ld a, $14
 	call FillMemory
@@ -39091,7 +39489,7 @@
 	push bc
 	push hl
 	ld a, $a9
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	ld a, $ff
 	ld [$cfcb], a
 	ld d, $0
@@ -39140,7 +39538,7 @@
 	dec [hl]
 	ret
 
-VermilionDock_1dc42:
+VermilionDock_1dc42: ; 1dc42 (7:5c42)
 	push bc
 	push de
 	ld hl, $c311
@@ -39158,7 +39556,7 @@
 	pop bc
 	ret
 
-VermilionDock_1dc59:
+VermilionDock_1dc59: ; 1dc59 (7:5c59)
 	ld a, [$cd3e]
 	sub $10
 	ld [$cd3e], a
@@ -39172,13 +39570,13 @@
 	call WriteOAMBlock
 	ret
 
-VermilionDockOAMBlock:
+VermilionDockOAMBlock: ; 1dc74 (7:5c74)
 	db $fc, $10
 	db $fd, $10
 	db $fe, $10
 	db $ff, $10
 
-VermilionDock_1dc7c:
+VermilionDock_1dc7c: ; 1dc7c (7:5c7c)
 	ld h, d
 	ld l, $50
 	call .asm_1dc86
@@ -39196,7 +39594,7 @@
 	jr z, .asm_1dc8e ; 0x1dc91 $fb
 	ret
 
-VermilionDock_1dc94:
+VermilionDock_1dc94: ; 1dc94 (7:5c94)
 	ld hl, $cc5b
 	ld bc, $00b4
 	ld a, $14
@@ -39217,10 +39615,10 @@
 	call DelayFrames
 	ret
 
-VermilionDockTexts: ; 0x1dcbf
+VermilionDockTexts: ; 1dcbf (7:5cbf)
 	db $c1, $5c
 
-UnnamedText_1dcc1: ; 0x1dcc1
+UnnamedText_1dcc1: ; 1dcc1 (7:5cc1)
 	TX_FAR _UnnamedText_1dcc1
 	db $50
 ; 0x1dcc1 + 5 bytes
@@ -39240,7 +39638,7 @@
 	EVENT_DISP $e, $0, $e
 	EVENT_DISP $e, $2, $e ; SS_ANNE_1
 
-VermilionDockBlocks: ; 0x1dcda 84
+VermilionDockBlocks: ; 1dcda (7:5cda)
 	INCBIN "maps/vermiliondock.blk"
 
 CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132)
@@ -39251,18 +39649,18 @@
 
 	dw CeladonMansion5Object ; objects
 
-CeladonMansion5Script: ; 0x1dd3a
+CeladonMansion5Script: ; 1dd3a (7:5d3a)
 	jp EnableAutoTextBoxDrawing
 ; 0x1dd3d
 
-CeladonMansion5Texts: ; 0x1dd3d
+CeladonMansion5Texts: ; 1dd3d (7:5d3d)
 	dw CeladonMansion5Text1, CeladonMansion5Text2
 
-CeladonMansion5Text1: ; 0x1dd41
+CeladonMansion5Text1: ; 1dd41 (7:5d41)
 	TX_FAR _CeladonMansion5Text1
 	db $50
 
-CeladonMansion5Text2: ; 0x1dd46
+CeladonMansion5Text2: ; 1dd46 (7:5d46)
 	db $08 ; asm
 	ld bc,(EEVEE << 8) | 25
 	call GivePokemon
@@ -39299,18 +39697,18 @@
 
 	dw FuchsiaMartObject ; objects
 
-FuchsiaMartScript: ; 0x1dd88
+FuchsiaMartScript: ; 1dd88 (7:5d88)
 	jp EnableAutoTextBoxDrawing
 ; 0x1dd8b
 
-FuchsiaMartTexts: ; 0x1dd8b
+FuchsiaMartTexts: ; 1dd8b (7:5d8b)
 	dw FuchsiaMartText1, FuchsiaMartText2, FuchsiaMartText3
 
-FuchsiaMartText2: ; 0x1dd91
+FuchsiaMartText2: ; 1dd91 (7:5d91)
 	TX_FAR _FuchsiaMartText2
 	db $50
 
-FuchsiaMartText3: ; 0x1dd96
+FuchsiaMartText3: ; 1dd96 (7:5d96)
 	TX_FAR _FuchsiaMartText3
 	db $50
 
@@ -39332,7 +39730,7 @@
 	EVENT_DISP $4, $7, $3
 	EVENT_DISP $4, $7, $4
 
-FuchsiaMartBlocks: ; 0x1ddc1 16
+FuchsiaMartBlocks: ; 1ddc1 (7:5dc1)
 	INCBIN "maps/fuchsiamart.blk"
 
 SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179)
@@ -39343,18 +39741,18 @@
 
 	dw SaffronHouse1Object ; objects
 
-SaffronHouse1Script: ; 0x1dddd
+SaffronHouse1Script: ; 1dddd (7:5ddd)
 	jp EnableAutoTextBoxDrawing
 ; 0x1dde0
 
-SaffronHouse1Texts: ; 0x1dde0
+SaffronHouse1Texts: ; 1dde0 (7:5de0)
 	dw SaffronHouse1Text1, SaffronHouse1Text2, SaffronHouse1Text3, SaffronHouse1Text4
 
-SaffronHouse1Text1: ; 0x1dde8
+SaffronHouse1Text1: ; 1dde8 (7:5de8)
 	TX_FAR _SaffronHouse1Text1
 	db $50
 
-SaffronHouse1Text2: ; 0x1dded
+SaffronHouse1Text2: ; 1dded (7:5ded)
 	TX_FAR _SaffronHouse1Text2
 	db $8
 	ld a, PIDGEY
@@ -39362,11 +39760,11 @@
 	jp TextScriptEnd
 ; 0x1ddfa
 
-SaffronHouse1Text3: ; 0x1ddfa
+SaffronHouse1Text3: ; 1ddfa (7:5dfa)
 	TX_FAR _SaffronHouse1Text3
 	db $50
 
-SaffronHouse1Text4: ; 0x1ddff
+SaffronHouse1Text4: ; 1ddff (7:5dff)
 	TX_FAR _SaffronHouse1Text4
 	db $50
 
@@ -39397,14 +39795,14 @@
 
 	dw SaffronHouse2Object ; objects
 
-SaffronHouse2Script: ; 0x1de3c
+SaffronHouse2Script: ; 1de3c (7:5e3c)
 	jp EnableAutoTextBoxDrawing
 ; 0x1de3f
 
-SaffronHouse2Texts: ; 0x1de3f
+SaffronHouse2Texts: ; 1de3f (7:5e3f)
 	dw SaffronHouse2Text1
 
-SaffronHouse2Text1: ; 0x1de41
+SaffronHouse2Text1: ; 1de41 (7:5e41)
 	db $08 ; asm
 	ld a, [$d7bd]
 	bit 0, a
@@ -39429,22 +39827,22 @@
 .asm_fe4e1 ; 0x1de72
 	jp TextScriptEnd
 
-TM29PreReceiveText: ; 0x1de75
+TM29PreReceiveText: ; 1de75 (7:5e75)
 	TX_FAR _TM29PreReceiveText
 	db $50
 ; 0x1de75 + 5 bytes
 
-ReceivedTM29Text: ; 0x1de7a
+ReceivedTM29Text: ; 1de7a (7:5e7a)
 	TX_FAR _ReceivedTM29Text ; 0xa252a
 	db $0B, $50
 ; 0x1de80
 
-TM29ExplanationText: ; 0x1de80
+TM29ExplanationText: ; 1de80 (7:5e80)
 	TX_FAR _TM29ExplanationText
 	db $50
 ; 0x1de80 + 5 bytes
 
-TM29NoRoomText: ; 0x1de85
+TM29NoRoomText: ; 1de85 (7:5e85)
 	TX_FAR _TM29NoRoomText
 	db $50
 ; 0x1de85 + 5 bytes
@@ -39473,16 +39871,16 @@
 
 	dw DiglettsCaveRoute2Object ; objects
 
-DiglettsCaveRoute2Script: ; 0x1deb0
+DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0)
 	ld a, $d
 	ld [$d365], a
 	jp EnableAutoTextBoxDrawing
 ; 0x1deb8
 
-DiglettsCaveRoute2Texts: ; 0x1deb8
+DiglettsCaveRoute2Texts: ; 1deb8 (7:5eb8)
 	dw DiglettsCaveRoute2Text1
 
-DiglettsCaveRoute2Text1: ; 0x1deba
+DiglettsCaveRoute2Text1: ; 1deba (7:5eba)
 	TX_FAR _DiglettsCaveRoute2Text1
 	db $50
 
@@ -39512,18 +39910,18 @@
 
 	dw Route2HouseObject ; objects
 
-Route2HouseScript: ; 0x1deed
+Route2HouseScript: ; 1deed (7:5eed)
 	jp EnableAutoTextBoxDrawing
 ; 0x1def0
 
-Route2HouseTexts: ; 0x1def0
+Route2HouseTexts: ; 1def0 (7:5ef0)
 	dw Route2HouseText1, Route2HouseText2
 
-Route2HouseText1: ; 0x1def4
+Route2HouseText1: ; 1def4 (7:5ef4)
 	TX_FAR _Route2HouseText1
 	db $50
 
-Route2HouseText2: ; 0x1def9
+Route2HouseText2: ; 1def9 (7:5ef9)
 	db $08 ; asm
 	ld a, $1
 	ld [W_WHICHTRADE], a
@@ -39556,18 +39954,18 @@
 
 	dw Route5GateObject ; objects
 
-Route5GateScript: ; 0x1df33
+Route5GateScript: ; 1df33 (7:5f33)
 	call EnableAutoTextBoxDrawing
-	ld a, [$d662]
+	ld a, [W_ROUTE5GATECURSCRIPT]
 	ld hl, Route5GateScripts
 	jp CallFunctionInTable
 ; 0x1df3f
 
-Route5GateScripts: ; 0x1df3f
+Route5GateScripts: ; 1df3f (7:5f3f)
 	dw Route5GateScript0
 	dw Route5GateScript1
 
-Function1df43: ; 0x1df43
+Function1df43: ; 1df43 (7:5f43)
 	ld a, $40
 	ld [$ccd3], a
 	ld a, $1
@@ -39574,7 +39972,7 @@
 	ld [$cd38], a
 	jp Func_3486
 
-Route5GateScript0: ; 0x1df50
+Route5GateScript0: ; 1df50 (7:5f50)
 	ld a, [$d728]
 	bit 6, a
 	ret nz
@@ -39584,7 +39982,7 @@
 	ld a, $2
 	ld [$d528], a
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld b, BANK(RemoveGuardDrink)
 	ld hl, RemoveGuardDrink
 	call Bankswitch
@@ -39596,7 +39994,7 @@
 	call DisplayTextID
 	call Function1df43
 	ld a, $1
-	ld [$d662], a
+	ld [W_ROUTE5GATECURSCRIPT], a
 	ret
 .asm_1df82
 	ld a, $3
@@ -39606,28 +40004,28 @@
 	set 6, [hl]
 	ret
 
-Coords1df8f: ; 0x1df8f
+Coords1df8f: ; 1df8f (7:5f8f)
 	db 3,3
 	db 3,4
 	db $ff
 
-Route5GateScript1: ; 0x1df94
+Route5GateScript1: ; 1df94 (7:5f94)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d662], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE5GATECURSCRIPT], a
 	ret
 
-Route5GateTexts: ; 0x1dfa4
+Route5GateTexts: ; 1dfa4 (7:5fa4)
 	dw Route5GateText1, Route5GateText2, Route5GateText3
 
-Route8GateText1:
-Route7GateText1:
-Route6GateText1:
-Route5GateText1: ; 0x1dfaa
+Route8GateText1: ; 1dfaa (7:5faa)
+Route7GateText1: ; 1dfaa (7:5faa)
+Route6GateText1: ; 1dfaa (7:5faa)
+Route5GateText1: ; 1dfaa (7:5faa)
 	db $8
 	ld a, [$d728]
 	bit 6, a
@@ -39642,7 +40040,7 @@
 	call PrintText
 	call Function1df43
 	ld a, $1
-	ld [$d662], a
+	ld [W_ROUTE5GATECURSCRIPT], a
 	jp TextScriptEnd
 .asm_768a2 ; 0x1dfd0
 	ld hl, UnnamedText_1dfec
@@ -39656,20 +40054,20 @@
 	jp TextScriptEnd
 ; 0x1dfe7
 
-Route8GateText2:
-Route7GateText2:
-Route6GateText2:
-Route5GateText2: ; 0x1dfe7
-UnnamedText_1dfe7: ; 0x1dfe7
+Route8GateText2: ; 1dfe7 (7:5fe7)
+Route7GateText2: ; 1dfe7 (7:5fe7)
+Route6GateText2: ; 1dfe7 (7:5fe7)
+Route5GateText2: ; 1dfe7 (7:5fe7)
+UnnamedText_1dfe7: ; 1dfe7 (7:5fe7)
 	TX_FAR _UnnamedText_1dfe7
 	db $50
 ; 0x1dfe7 + 5 bytes
 
-Route8GateText3:
-Route7GateText3:
-Route6GateText3:
-Route5GateText3: ; 0x1dfec
-UnnamedText_1dfec: ; 0x1dfec
+Route8GateText3: ; 1dfec (7:5fec)
+Route7GateText3: ; 1dfec (7:5fec)
+Route6GateText3: ; 1dfec (7:5fec)
+Route5GateText3: ; 1dfec (7:5fec)
+UnnamedText_1dfec: ; 1dfec (7:5fec)
 	TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9
 	db $11
 	TX_FAR _UnnamedText_1dff1 ; 0x8aaef
@@ -39676,7 +40074,7 @@
 	db $50
 ; 0x1dff6
 
-UnnamedText_1dff6: ; 0x1dff6
+UnnamedText_1dff6: ; 1dff6 (7:5ff6)
 	TX_FAR _UnnamedText_1dff6
 	db $50
 ; 0x1dff6 + 5 bytes
@@ -39701,7 +40099,7 @@
 	EVENT_DISP $4, $0, $3
 	EVENT_DISP $4, $0, $4
 
-Route5GateBlocks: ; 0x1e025 12
+Route5GateBlocks: ; 1e025 (7:6025)
 	INCBIN "maps/route5gate.blk"
 
 Route6Gate_h: ; 0x1e031 to 0x1e03d (12 bytes) (bank=7) (id=73)
@@ -39712,18 +40110,18 @@
 
 	dw Route6GateObject ; objects
 
-Route6GateScript: ; 0x1e03d
+Route6GateScript: ; 1e03d (7:603d)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route6GateScripts
-	ld a, [$d636]
+	ld a, [W_ROUTE6GATECURSCRIPT]
 	call CallFunctionInTable
 	ret
 ; 0x1e04a
 
-Route6GateScripts: ; 0x1e04a
+Route6GateScripts: ; 1e04a (7:604a)
 	dw Route6GateScript0, Route6GateScript1
 
-Route6GateScript0: ; 0x1e04e
+Route6GateScript0: ; 1e04e (7:604e)
 	ld a, [$d728]
 	bit 6, a
 	ret nz
@@ -39733,7 +40131,7 @@
 	ld a, $1
 	ld [$d528], a
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld b, BANK(RemoveGuardDrink)
 	ld hl, RemoveGuardDrink
 	call Bankswitch
@@ -39745,7 +40143,7 @@
 	call DisplayTextID
 	call Unknown_1e0a1
 	ld a, $1
-	ld [$d636], a
+	ld [W_ROUTE6GATECURSCRIPT], a
 	ret
 .asm_1e080
 	ld hl, $d728
@@ -39755,7 +40153,7 @@
 	jp DisplayTextID
 ; 0x1e08c
 
-Unknown_1e08c: ; 0x1e08c
+Unknown_1e08c: ; 1e08c (7:608c)
 	ld [bc], a
 	inc bc
 	ld [bc], a
@@ -39762,18 +40160,18 @@
 	inc b
 	rst $38
 
-Route6GateScript1: ; 0x1e091
+Route6GateScript1: ; 1e091 (7:6091)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d636], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE6GATECURSCRIPT], a
 	ret
 ; 0x1e0a1
 
-Unknown_1e0a1: ; 0x1e0a1
+Unknown_1e0a1: ; 1e0a1 (7:60a1)
 	ld hl, $d730
 	set 7, [hl]
 	ld a, $80
@@ -39786,7 +40184,7 @@
 	ret
 ; 0x1e0b8
 
-Route6GateTexts: ; 0x1e0b8
+Route6GateTexts: ; 1e0b8 (7:60b8)
 	dw Route6GateText1, Route6GateText2, Route6GateText3
 
 Route6GateObject: ; 0x1e0be (size=42)
@@ -39809,7 +40207,7 @@
 	EVENT_DISP $4, $0, $3
 	EVENT_DISP $4, $0, $4
 
-Route6GateBlocks: ; 0x1e0e8 12
+Route6GateBlocks: ; 1e0e8 (7:60e8)
 	INCBIN "maps/route6gate.blk"
 
 Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76)
@@ -39820,19 +40218,19 @@
 
 	dw Route7GateObject ; objects
 
-Route7GateScript: ; 0x1e100
+Route7GateScript: ; 1e100 (7:6100)
 	call EnableAutoTextBoxDrawing
-	ld a, [$d663]
+	ld a, [W_ROUTE7GATECURSCRIPT]
 	ld hl, Route7GateScripts
 	call CallFunctionInTable
 	ret
 ; 0x1e10d
 
-Route7GateScripts: ; 0x1e10d
+Route7GateScripts: ; 1e10d (7:610d)
 	dw Route7GateScript0
 	dw Route7GateScript1
 
-Function1e111: ; 0x1e111
+Function1e111: ; 1e111 (7:6111)
 	ld hl, $d730
 	set 7, [hl]
 	ld a, $20
@@ -39844,7 +40242,7 @@
 	ld [$cd3b], a
 	ret
 
-Route7GateScript0: ; 0x1e128
+Route7GateScript0: ; 1e128 (7:6128)
 	ld a, [$d728]
 	bit 6, a
 	ret nz
@@ -39854,7 +40252,7 @@
 	ld a, $8
 	ld [$d528], a
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld b, BANK(RemoveGuardDrink)
 	ld hl, RemoveGuardDrink
 	call Bankswitch
@@ -39866,7 +40264,7 @@
 	call DisplayTextID
 	call Function1e111
 	ld a, $1
-	ld [$d663], a
+	ld [W_ROUTE7GATECURSCRIPT], a
 	ret
 .asm_1e15a
 	ld a, $3
@@ -39877,23 +40275,23 @@
 	ret
 
 
-Coords1e167: ; 0x1e167
+Coords1e167: ; 1e167 (7:6167)
 	db 3,3
 	db 4,3
 	db $ff
 
-Route7GateScript1: ; 0x1e16c
+Route7GateScript1: ; 1e16c (7:616c)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d663], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE7GATECURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-Route7GateTexts: ; 0x1e17f
+Route7GateTexts: ; 1e17f (7:617f)
 	dw Route7GateText1, Route7GateText2, Route7GateText3
 
 Route7GateObject: ; 0x1e185 (size=42)
@@ -39916,7 +40314,7 @@
 	EVENT_DISP $3, $3, $5
 	EVENT_DISP $3, $4, $5
 
-Route7GateBlocks: ; 0x1e1af 12
+Route7GateBlocks: ; 1e1af (7:61af)
 	INCBIN "maps/route7gate.blk"
 
 Route8Gate_h: ; 0x1e1bb to 0x1e1c7 (12 bytes) (bank=7) (id=79)
@@ -39927,18 +40325,18 @@
 
 	dw Route8GateObject ; objects
 
-Route8GateScript: ; 0x1e1c7
+Route8GateScript: ; 1e1c7 (7:61c7)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route8GateScripts
-	ld a, [$d637]
+	ld a, [W_ROUTE8GATECURSCRIPT]
 	jp CallFunctionInTable
 ; 0x1e1d3
 
-Route8GateScripts: ; 0x1e1d3
+Route8GateScripts: ; 1e1d3 (7:61d3)
 	dw Route8GateScript0
 	dw Route8GateScript1
 
-Function1e1d7: ; 0x1e1d7
+Function1e1d7: ; 1e1d7 (7:61d7)
 	ld hl, $d730
 	set 7, [hl]
 	ld a, $10
@@ -39950,7 +40348,7 @@
 	ld [$cd3b], a
 	ret
 
-Route8GateScript0: ; 0x1e1ee
+Route8GateScript0: ; 1e1ee (7:61ee)
 	ld a, [$d728]
 	bit 6, a
 	ret nz
@@ -39960,7 +40358,7 @@
 	ld a, $2
 	ld [$d528], a
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld b, BANK(RemoveGuardDrink)
 	ld hl, RemoveGuardDrink
 	call Bankswitch
@@ -39972,7 +40370,7 @@
 	call DisplayTextID
 	call Function1e1d7
 	ld a, $1
-	ld [$d637], a
+	ld [W_ROUTE8GATECURSCRIPT], a
 	ret
 .asm_1e220
 	ld hl, $d728
@@ -39982,22 +40380,22 @@
 	jp DisplayTextID
 ; 0x1e22c
 
-Coords1e22c: ; 0x1e22c
+Coords1e22c: ; 1e22c (7:622c)
 	db 3,2
 	db 4,2
 	db $ff
 
-Route8GateScript1: ; 0x1e231
+Route8GateScript1: ; 1e231 (7:6231)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d637], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE8GATECURSCRIPT], a
 	ret
 
-Route8GateTexts: ; 0x1e241
+Route8GateTexts: ; 1e241 (7:6241)
 	dw Route8GateText1, Route8GateText2, Route8GateText3
 
 Route8GateObject: ; 0x1e247 (size=42)
@@ -40020,7 +40418,7 @@
 	EVENT_DISP $3, $3, $5
 	EVENT_DISP $3, $4, $5
 
-Route8GateBlocks: ; 0x1e271 12
+Route8GateBlocks: ; 1e271 (7:6271)
 	INCBIN "maps/route8gate.blk"
 
 UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80)
@@ -40031,17 +40429,17 @@
 
 	dw UndergroundPathEntranceRoute8Object ; objects
 
-UndergroundPathEntranceRoute8Script: ; 0x1e289
+UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289)
 	ld a, $13
 	ld [$d365], a
 	jp EnableAutoTextBoxDrawing
 ; 0x1e291
 
-UndergroundPathEntranceRoute8Texts: ; 0x1e291
+UndergroundPathEntranceRoute8Texts: ; 1e291 (7:6291)
 	dw UndergroundPathEntranceRoute8Text1
 
 ;XXX wtf? syntax error
-UndergroundPathEntranceRoute8Text1: ; 0x1e293
+UndergroundPathEntranceRoute8Text1: ; 1e293 (7:6293)
 	db $17, $8d, $42, $23
 	;TX_FAR _UndergroundPathEntranceRoute8Text1
 	db $50
@@ -40072,26 +40470,26 @@
 
 	dw PowerPlantObject ; objects
 
-PowerPlantScript: ; 0x1e2c6
+PowerPlantScript: ; 1e2c6 (7:62c6)
 	call EnableAutoTextBoxDrawing
 	ld hl, PowerPlantTrainerHeaders
 	ld de, PowerPlantScriptPointers
-	ld a, [$d663]
-	call Func_3160
-	ld [$d663], a
+	ld a, [W_POWERPLANTCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_POWERPLANTCURSCRIPT], a
 	ret
 ; 0x1e2d9
 
-PowerPlantScriptPointers: ; 0x1e2d9
-	dw $3219
-	dw $324c
-	dw $3275
+PowerPlantScriptPointers: ; 1e2d9 (7:62d9)
+	dw CheckFightingMapTrainers
+	dw Func_324c
+	dw EndTrainerBattle
 
-PowerPlantTexts: ; 0x1e2df
+PowerPlantTexts: ; 1e2df (7:62df)
 	dw PowerPlantText1, PowerPlantText2, PowerPlantText3, PowerPlantText4, PowerPlantText5, PowerPlantText6, PowerPlantText7, PowerPlantText8, PowerPlantText9, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText
 
-PowerPlantTrainerHeaders:
-PowerPlantTrainerHeader0:
+PowerPlantTrainerHeaders: ; 1e2fb (7:62fb)
+PowerPlantTrainerHeader0: ; 1e2fb (7:62fb)
 	db 1 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40100,7 +40498,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader1:
+PowerPlantTrainerHeader1: ; 1e307 (7:6307)
 	db 2 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40109,7 +40507,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader2:
+PowerPlantTrainerHeader2: ; 1e313 (7:6313)
 	db 3 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40118,7 +40516,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader3:
+PowerPlantTrainerHeader3: ; 1e31f (7:631f)
 	db 4 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40127,7 +40525,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader4:
+PowerPlantTrainerHeader4: ; 1e32b (7:632b)
 	db 5 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40136,7 +40534,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader5:
+PowerPlantTrainerHeader5: ; 1e337 (7:6337)
 	db 6 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40145,7 +40543,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader6:
+PowerPlantTrainerHeader6: ; 1e343 (7:6343)
 	db 7 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40154,7 +40552,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader7:
+PowerPlantTrainerHeader7: ; 1e34f (7:634f)
 	db 8 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40163,7 +40561,7 @@
 	dw VoltorbBattleText ; TextEndBattle
 	dw VoltorbBattleText ; TextEndBattle
 
-PowerPlantTrainerHeader8:
+PowerPlantTrainerHeader8: ; 1e35b (7:635b)
 	db 9 ; flag's bit
 	db 0 ; view range
 	dw $d7d3 ; flag's byte
@@ -40174,70 +40572,70 @@
 
 	db $ff
 
-asm_234cc:
-	call LoadTrainerHeader
-	ld a, [$da39]
-	ld [$d663], a
+asm_234cc: ; 1e368 (7:6368)
+	call TalkToTrainer
+	ld a, [W_CURMAPSCRIPT]
+	ld [W_POWERPLANTCURSCRIPT], a
 	jp TextScriptEnd
 ; 0x1e374
 
-PowerPlantText1: ; 0x1e374
+PowerPlantText1: ; 1e374 (7:6374)
 	db $8 ; asm
-	ld hl, $62fb
+	ld hl, PowerPlantTrainerHeader0 ; $62fb
 	jr asm_234cc ; 0x1e378 $ee
 
-PowerPlantText2: ; 0x1e37a
+PowerPlantText2: ; 1e37a (7:637a)
 	db $8 ; asm
-	ld hl, $6307
+	ld hl, PowerPlantTrainerHeader1 ; $6307
 	jr asm_234cc ; 0x1e37e $e8
 
-PowerPlantText3: ; 0x1e380
+PowerPlantText3: ; 1e380 (7:6380)
 	db $8 ; asm
-	ld hl, $6313
+	ld hl, PowerPlantTrainerHeader2 ; $6313
 	jr asm_234cc ; 0x1e384 $e2
 
-PowerPlantText4: ; 0x1e386
+PowerPlantText4: ; 1e386 (7:6386)
 	db $8 ; asm
-	ld hl, $631f
+	ld hl, PowerPlantTrainerHeader3 ; $631f
 	jr asm_234cc ; 0x1e38a $dc
 
-PowerPlantText5:
+PowerPlantText5: ; 1e38c (7:638c)
 	db $8 ; asm
-	ld hl, $632b
+	ld hl, PowerPlantTrainerHeader4 ; $632b
 	jr asm_234cc ; 0x1e390 $d6
 
-PowerPlantText6: ; 0x1e392
+PowerPlantText6: ; 1e392 (7:6392)
 	db $8 ; asm
-	ld hl, $6337
+	ld hl, PowerPlantTrainerHeader5 ; $6337
 	jr asm_234cc ; 0x1e396 $d0
 
-PowerPlantText7: ; 0x1e398
+PowerPlantText7: ; 1e398 (7:6398)
 	db $8 ; asm
-	ld hl, $6343
+	ld hl, PowerPlantTrainerHeader6 ; $6343
 	jr asm_234cc ; 0x1e39c $ca
 
-PowerPlantText8: ; 0x1e39e
+PowerPlantText8: ; 1e39e (7:639e)
 	db $8 ; asm
-	ld hl, $634f
+	ld hl, PowerPlantTrainerHeader7 ; $634f
 	jr asm_234cc ; 0x1e3a2 $c4
 
-PowerPlantText9: ; 0x1e3a4
+PowerPlantText9: ; 1e3a4 (7:63a4)
 	db $8 ; asm
-	ld hl, $635b
+	ld hl, PowerPlantTrainerHeader8 ; $635b
 	jr asm_234cc ; 0x1e3a8 $be
 ; 0x1e3aa
 
-VoltorbBattleText: ; 0x1e3aa
+VoltorbBattleText: ; 1e3aa (7:63aa)
 	TX_FAR _VoltorbBattleText ; 0x8c5e2
 	db $50
 ; 0x1e3af
 
-ZapdosBattleText: ; 0x1e3af
+ZapdosBattleText: ; 1e3af (7:63af)
 	TX_FAR _ZapdosBattleText ; 0x8c5ea
 	db $8
 	ld a, ZAPDOS
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 0x1e3bf
 
@@ -40272,7 +40670,7 @@
 	EVENT_DISP $14, $23, $5
 	EVENT_DISP $14, $b, $0
 
-PowerPlantBlocks: ; 0x1e446 360
+PowerPlantBlocks: ; 1e446 (7:6446)
 	INCBIN "maps/powerplant.blk"
 
 DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85)
@@ -40283,7 +40681,7 @@
 
 	dw DiglettsCaveEntranceRoute11Object ; objects
 
-DiglettsCaveEntranceRoute11Script: ; 0x1e5ba
+DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba)
 	call EnableAutoTextBoxDrawing
 	ld a, $16
 	ld [$d365], a
@@ -40290,11 +40688,11 @@
 	ret
 ; 0x1e5c3
 
-DiglettsCaveEntranceRoute11Texts: ; 0x1e5c3
+DiglettsCaveEntranceRoute11Texts: ; 1e5c3 (7:65c3)
 	dw DiglettsCaveEntranceRoute11Text1
 
 ; XXX wtf? syntax error
-DiglettsCaveEntranceRoute11Text1: ; 0x1e5c5
+DiglettsCaveEntranceRoute11Text1: ; 1e5c5 (7:65c5)
 	db $17, $f9, $47, $23
 	;TX_FAR _DiglettsCaveEntranceRoute11Text1
 	db $50
@@ -40325,14 +40723,14 @@
 
 	dw Route16HouseObject ; objects
 
-Route16HouseScript: ; 0x1e5f8
+Route16HouseScript: ; 1e5f8 (7:65f8)
 	jp EnableAutoTextBoxDrawing
 ; 0x1e5fb
 
-Route16HouseTexts: ; 0x1e5fb
+Route16HouseTexts: ; 1e5fb (7:65fb)
 	dw Route16HouseText1, Route16HouseText2
 
-Route16HouseText1: ; 0x1e5ff
+Route16HouseText1: ; 1e5ff (7:65ff)
 	db $08 ; asm
 	ld a, [$d7e0]
 	bit 6, a
@@ -40353,35 +40751,35 @@
 	call PrintText
 	jp TextScriptEnd
 
-Route16HouseText3: ; 0x1e62b
+Route16HouseText3: ; 1e62b (7:662b)
 	TX_FAR _Route16HouseText3
 	db $50
 ; 0x1e62b + 5 bytes
 
-ReceivedHM02Text: ; 0x1e630
+ReceivedHM02Text: ; 1e630 (7:6630)
 	TX_FAR _ReceivedHM02Text ; 0x8ce66
 	db $11, $50
 
-HM02ExplanationText: ; 0x1e636
+HM02ExplanationText: ; 1e636 (7:6636)
 	TX_FAR _HM02ExplanationText
 	db $50
 ; 0x1e636 + 5 bytes
 
-HM02NoRoomText: ; 0x1e63b
+HM02NoRoomText: ; 1e63b (7:663b)
 	TX_FAR _HM02NoRoomText
 	db $50
 ; 0x1e63b + 5 bytes
 
-Route16HouseText2: ; 0x1e640
+Route16HouseText2: ; 1e640 (7:6640)
 	db $08 ; asm
 	ld hl, UnnamedText_1e652
 	call PrintText
 	ld a, FEAROW
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 
-UnnamedText_1e652: ; 0x1e652
+UnnamedText_1e652: ; 1e652 (7:6652)
 	TX_FAR _UnnamedText_1e652
 	db $50
 ; 0x1e652 + 5 bytes
@@ -40411,10 +40809,10 @@
 
 	dw Route22GateObject ; objects
 
-Route22GateScript: ; 0x1e683
+Route22GateScript: ; 1e683 (7:6683)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route22GateScripts
-	ld a, [$d60e]
+	ld a, [W_ROUTE22GATECURSCRIPT]
 	call CallFunctionInTable
 	ld a, [$d361]
 	cp $4
@@ -40426,52 +40824,52 @@
 	ret
 ; 0x1e69e
 
-Route22GateScripts: ; 0x1e69e
+Route22GateScripts: ; 1e69e (7:669e)
 	dw Route22GateScript0, Route22GateScript1, Route22GateScript2
 
-Route22GateScript0: ; 0x1e6a4
+Route22GateScript0: ; 1e6a4 (7:66a4)
 	ld hl, Route22GateScriptCoords
 	call ArePlayerCoordsInArray
 	ret nc
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $1
 	ld [$ff00+$8c], a
 	jp DisplayTextID
 ; 0x1e6b5
 
-Route22GateScriptCoords: ; 0x1e6b5
+Route22GateScriptCoords: ; 1e6b5 (7:66b5)
 	db 2,4
 	db 2,5
 	db $ff
 
-Func_1e6ba: ; 0x1e6ba
+Func_1e6ba: ; 1e6ba (7:66ba)
 	ld a, $1
 	ld [$cd38], a
 	ld a, $80
 	ld [$ccd3], a
 	ld [$c109], a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	jp Func_3486
 ; 0x1e6cd
 
-Route22GateScript1: ; 0x1e6cd
+Route22GateScript1: ; 1e6cd (7:66cd)
 	ld a, [$cd38]
 	and a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call Delay3
 	ld a, $0
-	ld [$d60e], a
-Route22GateScript2: ; 0x1e6de
+	ld [W_ROUTE22GATECURSCRIPT], a
+Route22GateScript2: ; 1e6de (7:66de)
 	ret
 ; 0x1e6df
 
-Route22GateTexts: ; 0x1e6df
+Route22GateTexts: ; 1e6df (7:66df)
 	dw Route22GateText1
 
-Route22GateText1: ; 0x1e6e1
+Route22GateText1: ; 1e6e1 (7:66e1)
 	db $8
 	ld a, [$d356]
 	bit 0, a
@@ -40486,26 +40884,26 @@
 	call PrintText
 	ld a, $2
 .asm_20f7e ; 0x1e6fe
-	ld [$d60e], a
+	ld [W_ROUTE22GATECURSCRIPT], a
 	jp TextScriptEnd
 ; 0x1e704
 
-UnnamedText_1e704: ; 0x1e704
+UnnamedText_1e704: ; 1e704 (7:6704)
 	TX_FAR _UnnamedText_1e704 ; 0x8cfbb
 	db $8
 	ld a, $a5
-	call Func_3740
-	call Func_3748
-	ld hl, $6715
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
+	ld hl, UnnamedText_1e715 ; $6715
 	ret
 ; 0x1e715
 
-UnnamedText_1e715: ; 0x1e715
+UnnamedText_1e715: ; 1e715 (7:6715)
 	TX_FAR _UnnamedText_1e715
 	db $50
 ; 0x1e71a
 
-UnnamedText_1e71a: ; 0x1e71a
+UnnamedText_1e71a: ; 1e71a (7:671a)
 	TX_FAR _UnnamedText_1e71a ; 0x8d03e
 	db $0B, $50
 ; 0x1e720
@@ -40530,7 +40928,7 @@
 	EVENT_DISP $5, $0, $4
 	EVENT_DISP $5, $0, $5
 
-Route22GateBlocks: ; 0x1e74a 20
+Route22GateBlocks: ; 1e74a (7:674a)
 	INCBIN "maps/route22gate.blk"
 
 BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88)
@@ -40541,14 +40939,14 @@
 
 	dw BillsHouseObject ; objects
 
-BillsHouseScript: ; 0x1e76a
+BillsHouseScript: ; 1e76a (7:676a)
 	call EnableAutoTextBoxDrawing
-	ld a, [$d661]
+	ld a, [W_BILLSHOUSECURSCRIPT]
 	ld hl, BillsHouseScripts
 	jp CallFunctionInTable
 ; 0x1e776
 
-BillsHouseScripts: ; 0x1e776
+BillsHouseScripts: ; 1e776 (7:6776)
 	dw BillsHouseScript0
 	dw BillsHouseScript1
 	dw BillsHouseScript2
@@ -40556,10 +40954,10 @@
 	dw BillsHouseScript4
 	dw BillsHouseScript5
 
-BillsHouseScript0: ; 0x1e782
+BillsHouseScript0: ; 1e782 (7:6782)
 	ret
 
-BillsHouseScript1: ; 0x1e783
+BillsHouseScript1: ; 1e783 (7:6783)
 	ld a, [$c109]
 	and a
 	ld de, MovementData1e79c
@@ -40570,16 +40968,16 @@
 	ld [$ff00+$8c], a
 	call MoveSprite
 	ld a, $2
-	ld [$d661], a
+	ld [W_BILLSHOUSECURSCRIPT], a
 	ret
 
-MovementData1e79c: ; 0x1e79c
+MovementData1e79c: ; 1e79c (7:679c)
 	db $40,$40,$40,$ff
 
-MovementData1e7a0: ; 0x1e7a0
+MovementData1e7a0: ; 1e7a0 (7:67a0)
 	db $c0,$40,$40,$80,$40,$ff
 
-BillsHouseScript2: ; 0x1e7a6
+BillsHouseScript2: ; 1e7a6 (7:67a6)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -40590,17 +40988,17 @@
 	ld hl, $d7f2
 	set 6, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $3
-	ld [$d661], a
+	ld [W_BILLSHOUSECURSCRIPT], a
 	ret
 
-BillsHouseScript3: ; 0x1e7c5
+BillsHouseScript3: ; 1e7c5 (7:67c5)
 	ld a, [$d7f2]
 	bit 3, a
 	ret z
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $2
 	ld [$cf13], a
 	ld a, $c
@@ -40623,55 +41021,55 @@
 	ld de, MovementData1e807
 	call MoveSprite
 	ld a, $4
-	ld [$d661], a
+	ld [W_BILLSHOUSECURSCRIPT], a
 	ret
 
-MovementData1e807: ; 0x1e807
+MovementData1e807: ; 1e807 (7:6807)
 	db $00,$c0,$c0,$c0,$00,$ff
 
-BillsHouseScript4: ; 0x1e80d
+BillsHouseScript4: ; 1e80d (7:680d)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d7f2
 	set 5, [hl]
 	ld hl, $d7f1
 	set 0, [hl]
 	ld a, $0
-	ld [$d661], a
+	ld [W_BILLSHOUSECURSCRIPT], a
 	ret
 
-BillsHouseScript5: ; 0x1e827
+BillsHouseScript5: ; 1e827 (7:6827)
 	ld a, $4
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	ld a, $0
-	ld [$d661], a
+	ld [W_BILLSHOUSECURSCRIPT], a
 	ret
 
-BillsHouseTexts: ; 0x1e834
+BillsHouseTexts: ; 1e834 (7:6834)
 	dw BillsHouseText1, BillsHouseText2, BillsHouseText3, BillsHouseText4
 
-BillsHouseText4: ; 0x1e83c
+BillsHouseText4: ; 1e83c (7:683c)
 	db $fd
 
-BillsHouseText1: ; 0x1e83d
+BillsHouseText1: ; 1e83d (7:683d)
 	db $8
 	ld hl, UnnamedText_1e865
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, asm_6b196 ; 0x1e84b $d
-asm_4d03c:
+asm_4d03c: ; 1e84d (7:684d)
 	ld hl, UnnamedText_1e86a
 	call PrintText
 	ld a, $1
-	ld [$d661], a
+	ld [W_BILLSHOUSECURSCRIPT], a
 	jr asm_fd4e2 ; 0x1e858 $8
-asm_6b196: ; 0x1e85a
+asm_6b196: ; 1e85a (7:685a)
 	ld hl, UnnamedText_1e86f
 	call PrintText
 	jr asm_4d03c ; 0x1e860 $eb
@@ -40678,22 +41076,22 @@
 asm_fd4e2 ; 0x1e862
 	jp TextScriptEnd
 
-UnnamedText_1e865: ; 0x1e865
+UnnamedText_1e865: ; 1e865 (7:6865)
 	TX_FAR _UnnamedText_1e865 ; 0x8d267
 	db $50
 ; 0x1e86a
 
-UnnamedText_1e86a: ; 0x1e86a
+UnnamedText_1e86a: ; 1e86a (7:686a)
 	TX_FAR _UnnamedText_1e86a ; 0x8d345
 	db $50
 ; 0x1e86f
 
-UnnamedText_1e86f: ; 0x1e86f
+UnnamedText_1e86f: ; 1e86f (7:686f)
 	TX_FAR _UnnamedText_1e86f ; 0x8d391
 	db $50
 ; 0x1e874
 
-BillsHouseText2: ; 0x1e874
+BillsHouseText2: ; 1e874 (7:6874)
 	db $08 ; asm
 	ld a, [$d7f2]
 	bit 4, a
@@ -40725,26 +41123,26 @@
 .asm_bd408 ; 0x1e8b7
 	jp TextScriptEnd
 
-BillThankYouText: ; 0x1e8ba
+BillThankYouText: ; 1e8ba (7:68ba)
 	TX_FAR _BillThankYouText
 	db $50
 ; 0x1e8ba + 5 bytes
 
-SSTicketReceivedText: ; 0x1e8bf
+SSTicketReceivedText: ; 1e8bf (7:68bf)
 	TX_FAR _SSTicketReceivedText ; 0x8d499
 	db $11, $6, $50
 
-SSTicketNoRoomText: ; 0x1e8c6
+SSTicketNoRoomText: ; 1e8c6 (7:68c6)
 	TX_FAR _SSTicketNoRoomText
 	db $50
 ; 0x1e8c6 + 5 bytes
 
-UnnamedText_1e8cb: ; 0x1e8cb
+UnnamedText_1e8cb: ; 1e8cb (7:68cb)
 	TX_FAR _UnnamedText_1e8cb
 	db $50
 ; 0x1e8cb + 5 bytes
 
-BillsHouseText3: ; 0x1e8d0
+BillsHouseText3: ; 1e8d0 (7:68d0)
 	db $08 ; asm
 	ld hl, UnnamedText_1e8da
 	call PrintText
@@ -40751,7 +41149,7 @@
 	jp TextScriptEnd
 ; 0x1e8da
 
-UnnamedText_1e8da: ; 0x1e8da
+UnnamedText_1e8da: ; 1e8da (7:68da)
 	TX_FAR _UnnamedText_1e8da
 	db $50
 ; 0x1e8da + 5 bytes
@@ -40774,17 +41172,17 @@
 	EVENT_DISP $4, $7, $2
 	EVENT_DISP $4, $7, $3
 
-BillsHouseBlocks: ; 0x1e905
+BillsHouseBlocks: ; 1e905 (7:6905)
 	INCBIN "maps/billshouse.blk"
 
 ; known jump sources: 17ecd (5:7ecd)
 Func_1e915: ; 1e915 (7:6915)
-	call Func_36f4
-	ld hl, $6946
+	call SaveScreenTilesToBuffer2
+	ld hl, UnnamedText_1e946 ; $6946
 	call PrintText
-	ld hl, $693b
+	ld hl, UnnamedText_1e93b ; $693b
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [W_CURMENUITEMID] ; $cc26
 	and a
 	jr nz, .asm_1e932
@@ -40791,18 +41189,19 @@
 	ld a, $56
 	call Predef ; indirect jump to DisplayDexRating (44169 (11:4169))
 .asm_1e932
-	ld hl, $6940
+	ld hl, Unknown_1e940 ; $6940
 	call PrintText
-	jp Func_3701
+	jp LoadScreenTilesFromBuffer2
 ; 1e93b (7:693b)
-UnnamedText_1e93b: ; 0x1e93b
+UnnamedText_1e93b: ; 1e93b (7:693b)
 	TX_FAR _UnnamedText_1e93b
 	db $50
 ; 0x1e93b + 5 bytes
 
+Unknown_1e940: ; 1e940 (7:6940)
 INCBIN "baserom.gbc",$1e940,$1e946 - $1e940
 
-UnnamedText_1e946: ; 0x1e946
+UnnamedText_1e946: ; 1e946 (7:6946)
 	TX_FAR _UnnamedText_1e946
 	db $50
 ; 0x1e946 + 5 bytes
@@ -40809,7 +41208,7 @@
 
 INCBIN "baserom.gbc",$1e94b,$1e953 - $1e94b
 
-UnnamedText_1e953: ; 0x1e953
+UnnamedText_1e953: ; 1e953 (7:6953)
 	TX_FAR _UnnamedText_1e953
 	db $50
 ; 0x1e953 + 5 bytes
@@ -40816,7 +41215,7 @@
 
 INCBIN "baserom.gbc",$1e958,$1e960 - $1e958
 
-UnnamedText_1e960: ; 0x1e960
+UnnamedText_1e960: ; 1e960 (7:6960)
 	TX_FAR _UnnamedText_1e960
 	db $50
 ; 0x1e960 + 5 bytes
@@ -40823,12 +41222,12 @@
 
 INCBIN "baserom.gbc",$1e965,$1e97e - $1e965
 
-UnnamedText_1e97e: ; 0x1e97e
+UnnamedText_1e97e: ; 1e97e (7:697e)
 	TX_FAR _UnnamedText_1e97e
 	db $50
 ; 0x1e97e + 5 bytes
 
-UnnamedText_1e983: ; 0x1e983
+UnnamedText_1e983: ; 1e983 (7:6983)
 	TX_FAR _UnnamedText_1e983
 	db $50
 ; 0x1e983 + 5 bytes
@@ -40883,7 +41282,7 @@
 	ld a, $3
 	ld [$d42f], a
 	ld a, $5
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	ld hl, $d790
 	set 6, [hl]
 	ld a, $1
@@ -40893,27 +41292,28 @@
 ; known jump sources: 2a95 (0:2a95)
 Func_1e9ed: ; 1e9ed (7:69ed)
 	xor a
-	ld [$cd6b], a
-	ld hl, $69f7
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld hl, Unknown_1e9f7 ; $69f7
 	jp PrintText
 
+Unknown_1e9f7: ; 1e9f7 (7:69f7)
 INCBIN "baserom.gbc",$1e9f7,$1e9f8 - $1e9f7
 	ld a, [W_NUMSAFARIBALLS] ; $da47
 	and a
 	jr z, .asm_1ea04
-	ld hl, $6a0d
+	ld hl, UnnamedText_1ea0d ; $6a0d
 	call PrintText
 .asm_1ea04
-	ld hl, $6a12
+	ld hl, UnnamedText_1ea12 ; $6a12
 	call PrintText
 	jp TextScriptEnd
 ; 1ea0d (7:6a0d)
-UnnamedText_1ea0d: ; 0x1ea0d
+UnnamedText_1ea0d: ; 1ea0d (7:6a0d)
 	TX_FAR _UnnamedText_1ea0d
 	db $50
 ; 0x1ea0d + 5 bytes
 
-UnnamedText_1ea12: ; 0x1ea12
+UnnamedText_1ea12: ; 1ea12 (7:6a12)
 	TX_FAR _UnnamedText_1ea12
 	db $50
 ; 0x1ea12 + 5 bytes
@@ -40936,7 +41336,7 @@
 	and $f0
 	swap a
 	ld [$FF00+$dc], a
-	ld hl, $6a5b
+	ld hl, UnnamedText_1ea5b ; $6a5b
 	call PrintText
 	ld a, [$FF00+$db]
 	dec a
@@ -40943,7 +41343,7 @@
 	add a
 	ld d, $0
 	ld e, a
-	ld hl, $6a60
+	ld hl, Unknown_1ea60 ; $6a60
 	add hl, de
 	ld a, [hli]
 	ld h, [hl]
@@ -40954,39 +41354,40 @@
 	call Func_1ea92
 	jp TextScriptEnd
 ; 1ea5b (7:6a5b)
-UnnamedText_1ea5b: ; 0x1ea5b
+UnnamedText_1ea5b: ; 1ea5b (7:6a5b)
 	TX_FAR _UnnamedText_1ea5b
 	db $50
 ; 0x1ea5b + 5 bytes
 
+Unknown_1ea60: ; 1ea60 (7:6a60)
 INCBIN "baserom.gbc",$1ea60,$1ea6c - $1ea60
 
-UnnamedText_1ea6c: ; 0x1ea6c
+UnnamedText_1ea6c: ; 1ea6c (7:6a6c)
 	TX_FAR _UnnamedText_1ea6c
 	db $50
 ; 0x1ea6c + 5 bytes
 
-UnnamedText_1ea71: ; 0x1ea71
+UnnamedText_1ea71: ; 1ea71 (7:6a71)
 	TX_FAR _UnnamedText_1ea71
 	db $50
 ; 0x1ea71 + 5 bytes
 
-UnnamedText_1ea76: ; 0x1ea76
+UnnamedText_1ea76: ; 1ea76 (7:6a76)
 	TX_FAR _UnnamedText_1ea76
 	db $50
 ; 0x1ea76 + 5 bytes
 
-UnnamedText_1ea7b: ; 0x1ea7b
+UnnamedText_1ea7b: ; 1ea7b (7:6a7b)
 	TX_FAR _UnnamedText_1ea7b
 	db $50
 ; 0x1ea7b + 5 bytes
 
-UnnamedText_1ea80: ; 0x1ea80
+UnnamedText_1ea80: ; 1ea80 (7:6a80)
 	TX_FAR _UnnamedText_1ea80
 	db $50
 ; 0x1ea80 + 5 bytes
 
-UnnamedText_1ea85: ; 0x1ea85
+UnnamedText_1ea85: ; 1ea85 (7:6a85)
 	TX_FAR _UnnamedText_1ea85
 	db $50
 ; 0x1ea85 + 5 bytes
@@ -40999,7 +41400,7 @@
 
 ; known jump sources: 1ea55 (7:6a55)
 Func_1ea92: ; 1ea92 (7:6a92)
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$FF00+$dc]
 	ld c, a
 	ld a, [W_CURMENUITEMID] ; $cc26
@@ -41009,7 +41410,7 @@
 	set 5, [hl]
 	ld a, [$FF00+$db]
 	ld [$FF00+$e0], a
-	ld hl, $6ae3
+	ld hl, Unknown_1eae3 ; $6ae3
 	call PrintText
 	ld a, [$FF00+$e0]
 	ld c, a
@@ -41017,11 +41418,11 @@
 	call Func_1ea8a
 	jp Func_1eb0a
 .asm_1eab8
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $a5
 	call PlaySound
-	call Func_3748
-	ld hl, $6b05
+	call WaitForSoundToFinish
+	ld hl, UnnamedText_1eb05 ; $6b05
 	call PrintText
 	ld a, [$FF00+$db]
 	add $2
@@ -41038,6 +41439,7 @@
 	ld [$da38], a
 	ret
 
+Unknown_1eae3: ; 1eae3 (7:6ae3)
 INCBIN "baserom.gbc",$1eae3,$1eaea - $1eae3
 	ld a, [$FF00+$e0]
 	ld c, a
@@ -41046,13 +41448,13 @@
 	ld a, c
 	and a
 	jp nz, TextScriptEnd
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ad
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 1eb05 (7:6b05)
-UnnamedText_1eb05: ; 0x1eb05
+UnnamedText_1eb05: ; 1eb05 (7:6b05)
 	TX_FAR _UnnamedText_1eb05
 	db $50
 ; 0x1eb05 + 5 bytes
@@ -41068,7 +41470,7 @@
 	add a
 	ld d, $0
 	ld e, a
-	ld hl, $6b48
+	ld hl, Unknown_1eb48 ; $6b48
 	add hl, de
 	ld a, [hli]
 	ld b, [hl]
@@ -41099,9 +41501,10 @@
 	jr nz, .asm_1eb0e
 	ret
 
+Unknown_1eb48: ; 1eb48 (7:6b48)
 INCBIN "baserom.gbc",$1eb48,$1eb69 - $1eb48
 
-UnnamedText_1eb69: ; 0x1eb69
+UnnamedText_1eb69: ; 1eb69 (7:6b69)
 	TX_FAR _UnnamedText_1eb69
 	db $50
 ; 0x1eb69 + 5 bytes
@@ -41129,22 +41532,22 @@
 	call DelayFrames
 	ld a, $8c
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	ld c, $50
 	call DelayFrames
 	ld a, $9c
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	ld c, $30
 	call DelayFrames
 	ld a, $8c
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	ld c, $20
 	call DelayFrames
 	ld a, $86
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	call Func_2307
 	ld hl, $d7f2
 	set 3, [hl]
@@ -41156,7 +41559,7 @@
 	call Func_3ef5
 	ret
 ; 1ebdd (7:6bdd)
-UnnamedText_1ebdd: ; 0x1ebdd
+UnnamedText_1ebdd: ; 1ebdd (7:6bdd)
 	TX_FAR _UnnamedText_1ebdd
 	db $50
 ; 0x1ebdd + 5 bytes
@@ -41169,7 +41572,7 @@
 	call DelayFrames
 	ld a, $9d
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	ld c, $3c
 	call DelayFrames
 	jp TextScriptEnd
@@ -41176,7 +41579,7 @@
 
 INCBIN "baserom.gbc",$1ec05,$1ec7f - $1ec05
 
-UnnamedText_1ec7f: ; 0x1ec7f
+UnnamedText_1ec7f: ; 1ec7f (7:6c7f)
 	TX_FAR _UnnamedText_1ec7f
 	db $50
 ; 0x1ec7f + 5 bytes
@@ -41183,7 +41586,7 @@
 
 INCBIN "baserom.gbc",$1ec84,$1ecaa - $1ec84
 
-UnnamedText_1ecaa: ; 0x1ecaa
+UnnamedText_1ecaa: ; 1ecaa (7:6caa)
 	TX_FAR _UnnamedText_1ecaa
 	db $50
 ; 0x1ecaa + 5 bytes
@@ -41190,7 +41593,7 @@
 
 INCBIN "baserom.gbc",$1ecaf,$1ecbd - $1ecaf
 
-UnnamedText_1ecbd: ; 0x1ecbd
+UnnamedText_1ecbd: ; 1ecbd (7:6cbd)
 	TX_FAR _UnnamedText_1ecbd
 	db $50
 ; 0x1ecbd + 5 bytes
@@ -41197,9 +41600,16 @@
 
 SECTION "bank8",DATA,BANK[$8]
 
-INCBIN "baserom.gbc",$20000,$2136e - $20000
+Unknown_20000: ; 20000 (8:4000)
+INCBIN "baserom.gbc",$20000,$20361 - $20000
 
-Func_2136e: ; 0x2136e
+Unknown_20361: ; 20361 (8:4361)
+INCBIN "baserom.gbc",$20361,$2049b - $20361
+
+Unknown_2049b: ; 2049b (8:449b)
+INCBIN "baserom.gbc",$2049b,$2136e - $2049b
+
+Func_2136e: ; 2136e (8:536e)
 	ld a, [$d083]
 	cp $ff
 	jr z, .asm_2139b
@@ -41228,17 +41638,17 @@
 	xor a
 	ld [$d083], a
 	ld [$c02a], a
-	ld de, $53c4
+	ld de, Unknown_213c4 ; $53c4
 	jr asm_213af
 
 ; known jump sources: 2137c (8:537c)
 Func_213a7: ; 213a7 (8:53a7)
-	ld de, $53bc
+	ld de, Unknown_213bc ; $53bc
 	jr asm_213af
 
 ; known jump sources: 21387 (8:5387)
 Func_213ac: ; 213ac (8:53ac)
-	ld de, $53c0
+	ld de, Unknown_213c0 ; $53c0
 asm_213af: ; 213af (8:53af)
 	ld hl, $ff10
 	ld c, $5
@@ -41251,13 +41661,20 @@
 	jr nz, .asm_213b5
 	ret
 
-INCBIN "baserom.gbc",$213bc,$213c8 - $213bc
+Unknown_213bc: ; 213bc (8:53bc)
+INCBIN "baserom.gbc",$213bc,$213c0 - $213bc
 
+Unknown_213c0: ; 213c0 (8:53c0)
+INCBIN "baserom.gbc",$213c0,$213c4 - $213c0
+
+Unknown_213c4: ; 213c4 (8:53c4)
+INCBIN "baserom.gbc",$213c4,$213c8 - $213c4
+
 ; known jump sources: 17e4d (5:7e4d)
 Func_213c8: ; 213c8 (8:53c8)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld a, [$d5a2]
 	and a
 	jr nz, .asm_213f3
@@ -41267,17 +41684,17 @@
 	ld a, [$d5a2]
 	and a
 	jr nz, .asm_213f3
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $8
 	ld c, $e
 	jr .asm_213fa
 .asm_213ea
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $6
 	ld c, $e
 	jr .asm_213fa
 .asm_213f3
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $a
 	ld c, $e
 .asm_213fa
@@ -41288,26 +41705,30 @@
 	ld a, [$d7f1]
 	bit 0, a
 	jr nz, .asm_21414
-	ld hl, $c3ca
-	ld de, $548b
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
+	ld de, Unknown_2148b ; $548b
 	jr .asm_2141a
 .asm_21414
-	ld hl, $c3ca
-	ld de, $5497
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
+	ld de, Unknown_21497 ; $5497
 .asm_2141a
 	call PlaceString
-	ld hl, $c3f2
+	FuncCoord 2, 4 ; $c3f2
+	ld hl, Coord
 	ld de, W_PLAYERNAME ; $d158
 	call PlaceString
 	ld l, c
 	ld h, b
-	ld de, $54a0
+	ld de, Unknown_214a0 ; $54a0
 	call PlaceString
 	ld a, [$d74b]
 	bit 5, a
 	jr z, .asm_21462
-	ld hl, $c41a
-	ld de, $54a5
+	FuncCoord 2, 6 ; $c41a
+	ld hl, Coord
+	ld de, Unknown_214a5 ; $54a5
 	call PlaceString
 	ld a, [$d5a2]
 	and a
@@ -41314,21 +41735,25 @@
 	jr z, .asm_2145a
 	ld a, $4
 	ld [W_MAXMENUITEMID], a ; $cc28
-	ld hl, $c442
-	ld de, $54b2
+	FuncCoord 2, 8 ; $c442
+	ld hl, Coord
+	ld de, Unknown_214b2 ; $54b2
 	call PlaceString
-	ld hl, $c46a
-	ld de, $54ba
+	FuncCoord 2, 10 ; $c46a
+	ld hl, Coord
+	ld de, Unknown_214ba ; $54ba
 	jr .asm_2146d
 .asm_2145a
-	ld hl, $c442
-	ld de, $54ba
+	FuncCoord 2, 8 ; $c442
+	ld hl, Coord
+	ld de, Unknown_214ba ; $54ba
 	jr .asm_2146d
 .asm_21462
 	ld a, $2
 	ld [W_MAXMENUITEMID], a ; $cc28
-	ld hl, $c41a
-	ld de, $54ba
+	FuncCoord 2, 6 ; $c41a
+	ld hl, Coord
+	ld de, Unknown_214ba ; $54ba
 .asm_2146d
 	call PlaceString
 	ld a, $3
@@ -41344,8 +41769,24 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ret
 
-INCBIN "baserom.gbc",$2148b,$214c2 - $2148b
+Unknown_2148b: ; 2148b (8:548b)
+INCBIN "baserom.gbc",$2148b,$21497 - $2148b
 
+Unknown_21497: ; 21497 (8:5497)
+INCBIN "baserom.gbc",$21497,$214a0 - $21497
+
+Unknown_214a0: ; 214a0 (8:54a0)
+INCBIN "baserom.gbc",$214a0,$214a5 - $214a0
+
+Unknown_214a5: ; 214a5 (8:54a5)
+INCBIN "baserom.gbc",$214a5,$214b2 - $214a5
+
+Unknown_214b2: ; 214b2 (8:54b2)
+INCBIN "baserom.gbc",$214b2,$214ba - $214b2
+
+Unknown_214ba: ; 214ba (8:54ba)
+INCBIN "baserom.gbc",$214ba,$214c2 - $214ba
+
 ; known jump sources: 17f03 (5:7f03)
 Func_214c2: ; 214c2 (8:54c2)
 	ld hl, $d730
@@ -41357,12 +41798,12 @@
 	call LoadHpBarAndStatusTilePatterns
 	ld a, [W_LISTSCROLLOFFSET] ; $cc36
 	push af
-	ld a, [$cd60]
+	ld a, [W_FLAGS_CD60]
 	bit 3, a
 	jr nz, Func_214e8
 	ld a, $99
 	call PlaySound
-	ld hl, $57e9
+	ld hl, UnnamedText_217e9 ; $57e9
 	call PrintText
 
 ; known jump sources: 214db (8:54db), 215b8 (8:55b8), 215c8 (8:55c8), 215d1 (8:55d1), 215d7 (8:55d7), 21615 (8:5615), 21624 (8:5624), 21634 (8:5634), 2163d (8:563d), 21643 (8:5643), 21670 (8:5670), 2167f (8:567f), 21688 (8:5688), 216b0 (8:56b0), 216bb (8:56bb)
@@ -41370,16 +41811,17 @@
 	ld a, [$ccd3]
 	ld [W_CURMENUITEMID], a ; $cc26
 	ld hl, $9780
-	ld de, $697e
-	ld bc, $e01
+	ld de, PokeballTileGraphics ; $697e
+	ld bc, (BANK(PokeballTileGraphics) << 8) + $01
 	call CopyVideoData
-	call Func_3709
-	ld hl, $c3a0
+	call LoadScreenTilesFromBuffer2DisableBGTransfer
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $a
 	ld c, $c
 	call TextBoxBorder
-	ld hl, $c3ca
-	ld de, $56e1
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
+	ld de, Unknown_216e1 ; $56e1
 	call PlaceString
 	ld hl, W_TOPMENUITEMY ; $cc24
 	ld a, $2
@@ -41399,9 +41841,10 @@
 	ld [hli], a
 	ld [hl], a
 	ld [W_PLAYERMONNUMBER], a ; $cc2f
-	ld hl, $57ee
+	ld hl, UnnamedText_217ee ; $57ee
 	call PrintText
-	ld hl, $c4c1
+	FuncCoord 9, 14 ; $c4c1
+	ld hl, Coord
 	ld b, $2
 	ld c, $9
 	call TextBoxBorder
@@ -41410,7 +41853,8 @@
 	cp $9
 	jr c, .asm_2154f
 	sub $9
-	ld hl, $c4f1
+	FuncCoord 17, 16 ; $c4f1
+	ld hl, Coord
 	ld [hl], $f7
 	add $f6
 	jr .asm_21551
@@ -41417,9 +41861,11 @@
 .asm_2154f
 	add $f7
 .asm_21551
-	ld [$c4f2], a
-	ld hl, $c4ea
-	ld de, $5713
+	FuncCoord 18, 16 ; $c4f2
+	ld [Coord], a
+	FuncCoord 10, 16 ; $c4ea
+	ld hl, Coord
+	ld de, Unknown_21713 ; $5713
 	call PlaceString
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
@@ -41441,17 +41887,17 @@
 
 ; known jump sources: 21569 (8:5569)
 Func_21588: ; 21588 (8:5588)
-	ld a, [$cd60]
+	ld a, [W_FLAGS_CD60]
 	bit 3, a
 	jr nz, .asm_2159a
 	call LoadTextBoxTilePatterns
 	ld a, $9a
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 .asm_2159a
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	res 5, [hl]
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	pop af
 	ld [W_LISTSCROLLOFFSET], a ; $cc36
 	ld hl, $d730
@@ -41463,7 +41909,7 @@
 	ld a, [W_NUMINPARTY] ; $d163
 	dec a
 	jr nz, .asm_215bb
-	ld hl, $57fd
+	ld hl, UnnamedText_217fd ; $57fd
 	call PrintText
 	jp Func_214e8
 .asm_215bb
@@ -41470,7 +41916,7 @@
 	ld a, [W_NUMINBOX] ; $da80
 	cp $14
 	jr nz, .asm_215cb
-	ld hl, $5802
+	ld hl, UnnamedText_21802 ; $5802
 	call PrintText
 	jp Func_214e8
 .asm_215cb
@@ -41481,7 +41927,7 @@
 	jp nc, Func_214e8
 	ld a, [$cf91]
 	call GetCryData
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	ld a, $1
 	ld [$cf95], a
 	call Func_3a68
@@ -41488,7 +41934,7 @@
 	xor a
 	ld [$cf95], a
 	call RemovePokemon
-	call Func_3748
+	call WaitForSoundToFinish
 	ld hl, W_WHICHTRADE ; $cd3d
 	ld a, [$d5a0]
 	and $7f
@@ -41504,7 +41950,7 @@
 .asm_2160c
 	ld [hli], a
 	ld [hl], $50
-	ld hl, $57f8
+	ld hl, UnnamedText_217f8 ; $57f8
 	call PrintText
 	jp Func_214e8
 
@@ -41513,7 +41959,7 @@
 	ld a, [W_NUMINBOX] ; $da80
 	and a
 	jr nz, .asm_21627
-	ld hl, $580c
+	ld hl, UnnamedText_2180c ; $580c
 	call PrintText
 	jp Func_214e8
 .asm_21627
@@ -41520,7 +41966,7 @@
 	ld a, [W_NUMINPARTY] ; $d163
 	cp $6
 	jr nz, .asm_21637
-	ld hl, $5811
+	ld hl, UnnamedText_21811 ; $5811
 	call PrintText
 	jp Func_214e8
 .asm_21637
@@ -41534,7 +41980,7 @@
 	call GetPartyMonName
 	ld a, [$cf91]
 	call GetCryData
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	xor a
 	ld [$cf95], a
 	call Func_3a68
@@ -41541,8 +41987,8 @@
 	ld a, $1
 	ld [$cf95], a
 	call RemovePokemon
-	call Func_3748
-	ld hl, $5807
+	call WaitForSoundToFinish
+	ld hl, UnnamedText_21807 ; $5807
 	call PrintText
 	jp Func_214e8
 
@@ -41551,7 +41997,7 @@
 	ld a, [W_NUMINBOX] ; $da80
 	and a
 	jr nz, .asm_21682
-	ld hl, $580c
+	ld hl, UnnamedText_2180c ; $580c
 	call PrintText
 	jp Func_214e8
 .asm_21682
@@ -41558,9 +42004,9 @@
 	ld hl, W_NUMINBOX ; $da80
 	call Func_216be
 	jp c, Func_214e8
-	ld hl, $581b
+	ld hl, UnnamedText_2181b ; $581b
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [W_CURMENUITEMID] ; $cc26
 	and a
 	jr nz, .asm_21682
@@ -41567,10 +42013,10 @@
 	inc a
 	ld [$cf95], a
 	call RemovePokemon
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, [$cf91]
 	call PlayCry
-	ld hl, $5820
+	ld hl, UnnamedText_21820 ; $5820
 	call PrintText
 	jp Func_214e8
 
@@ -41599,9 +42045,13 @@
 	ld [$cc2b], a
 	ret
 
-INCBIN "baserom.gbc",$216e1,$2171b - $216e1
+Unknown_216e1: ; 216e1 (8:56e1)
+INCBIN "baserom.gbc",$216e1,$21713 - $216e1
 
-Func_2171b: ; 0x2171b
+Unknown_21713: ; 21713 (8:5713)
+INCBIN "baserom.gbc",$21713,$2171b - $21713
+
+Func_2171b: ; 2171b (8:571b)
 	ld hl, $d173
 	ld bc, $002c
 	jr .asm_21729 ; 0x21721 $6
@@ -41615,7 +42065,7 @@
 	ld a, [hli]
 	push hl
 	push bc
-	ld hl, $5745
+	ld hl, Unknown_21745 ; $5745
 	ld de, $0001
 	call IsInArray
 	pop bc
@@ -41627,24 +42077,28 @@
 	ret
 ; 0x21745
 
+Unknown_21745: ; 21745 (8:5745)
 INCBIN "baserom.gbc",$21745,$2174b - $21745
 
 ; known jump sources: 215d4 (8:55d4), 21640 (8:5640)
 Func_2174b: ; 2174b (8:574b)
-	ld hl, $c471
+	FuncCoord 9, 10 ; $c471
+	ld hl, Coord
 	ld b, $6
 	ld c, $9
 	call TextBoxBorder
 	ld a, [$ccd3]
 	and a
-	ld de, $57cb
+	ld de, Unknown_217cb ; $57cb
 	jr nz, .asm_21761
-	ld de, $57d3
+	ld de, Unknown_217d3 ; $57d3
 .asm_21761
-	ld hl, $c49b
+	FuncCoord 11, 12 ; $c49b
+	ld hl, Coord
 	call PlaceString
-	ld hl, $c4c3
-	ld de, $57dc
+	FuncCoord 11, 14 ; $c4c3
+	ld hl, Coord
+	ld de, Unknown_217dc ; $57dc
 	call PlaceString
 	ld hl, W_TOPMENUITEMY ; $cc24
 	ld a, $c
@@ -41681,7 +42135,7 @@
 	scf
 	ret
 .asm_217a3
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, [$ccd3]
 	and a
 	ld a, $0
@@ -41693,70 +42147,77 @@
 	call Predef ; indirect jump to StatusScreen (12953 (4:6953))
 	ld a, $37
 	call Predef ; indirect jump to StatusScreen2 (12b57 (4:6b57))
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	call ReloadTilesetTilePatterns
 	call GoPAL_SET_CF1C
 	call LoadGBPal
 	jr .asm_2178f
 
-INCBIN "baserom.gbc",$217cb,$217e9 - $217cb
+Unknown_217cb: ; 217cb (8:57cb)
+INCBIN "baserom.gbc",$217cb,$217d3 - $217cb
 
-UnnamedText_217e9: ; 0x217e9
+Unknown_217d3: ; 217d3 (8:57d3)
+INCBIN "baserom.gbc",$217d3,$217dc - $217d3
+
+Unknown_217dc: ; 217dc (8:57dc)
+INCBIN "baserom.gbc",$217dc,$217e9 - $217dc
+
+UnnamedText_217e9: ; 217e9 (8:57e9)
 	TX_FAR _UnnamedText_217e9
 	db $50
 ; 0x217e9 + 5 bytes
 
-UnnamedText_217ee: ; 0x217ee
+UnnamedText_217ee: ; 217ee (8:57ee)
 	TX_FAR _UnnamedText_217ee
 	db $50
 ; 0x217ee + 5 bytes
 
-UnnamedText_217f3: ; 0x217f3
+UnnamedText_217f3: ; 217f3 (8:57f3)
 	TX_FAR _UnnamedText_217f3
 	db $50
 ; 0x217f3 + 5 bytes
 
-UnnamedText_217f8: ; 0x217f8
+UnnamedText_217f8: ; 217f8 (8:57f8)
 	TX_FAR _UnnamedText_217f8
 	db $50
 ; 0x217f8 + 5 bytes
 
-UnnamedText_217fd: ; 0x217fd
+UnnamedText_217fd: ; 217fd (8:57fd)
 	TX_FAR _UnnamedText_217fd
 	db $50
 ; 0x217fd + 5 bytes
 
-UnnamedText_21802: ; 0x21802
+UnnamedText_21802: ; 21802 (8:5802)
 	TX_FAR _UnnamedText_21802
 	db $50
 ; 0x21802 + 5 bytes
 
-UnnamedText_21807: ; 0x21807
+UnnamedText_21807: ; 21807 (8:5807)
 	TX_FAR _UnnamedText_21807
 	db $50
 ; 0x21807 + 5 bytes
 
-UnnamedText_2180c: ; 0x2180c
+UnnamedText_2180c: ; 2180c (8:580c)
 	TX_FAR _UnnamedText_2180c
 	db $50
 ; 0x2180c + 5 bytes
 
-UnnamedText_21811: ; 0x21811
+UnnamedText_21811: ; 21811 (8:5811)
 	TX_FAR _UnnamedText_21811
 	db $50
 ; 0x21811 + 5 bytes
 
-UnnamedText_21816: ; 0x21816
+UnnamedText_21816: ; 21816 (8:5816)
 	TX_FAR _UnnamedText_21816
 	db $50
 ; 0x21816 + 5 bytes
 
-UnnamedText_2181b: ; 0x2181b
+UnnamedText_2181b: ; 2181b (8:581b)
 	TX_FAR _UnnamedText_2181b
 	db $50
 ; 0x2181b + 5 bytes
 
-UnnamedText_21820: ; 0x21820
+UnnamedText_21820: ; 21820 (8:5820)
 	TX_FAR _UnnamedText_21820
 	db $50
 ; 0x21820 + 5 bytes
@@ -41763,7 +42224,7 @@
 
 INCBIN "baserom.gbc",$21825,$21865 - $21825
 
-UnnamedText_21865: ; 0x21865
+UnnamedText_21865: ; 21865 (8:5865)
 	TX_FAR _UnnamedText_21865
 	db $50
 ; 0x21865 + 5 bytes
@@ -41770,7 +42231,7 @@
 
 INCBIN "baserom.gbc",$2186a,$21879 - $2186a
 
-Func_21879: ; 0x21879
+Func_21879: ; 21879 (8:5879)
 	ld c, $0
 .asm_2187b
 	ld b, $0
@@ -41987,7 +42448,7 @@
 	ld [hl], a
 	jp Func_21967
 .asm_219c0
-	ld hl, $62de
+	ld hl, Unknown_222de ; $62de
 	add hl, bc
 	ld a, [$FF00+$25]
 	and [hl]
@@ -42488,7 +42949,7 @@
 	jr nz, .asm_21d13
 .asm_21d06
 	ld b, $0
-	ld hl, $62de
+	ld hl, Unknown_222de ; $62de
 	add hl, bc
 	ld a, [$FF00+$25]
 	and [hl]
@@ -42562,7 +43023,7 @@
 ; known jump sources: 21c38 (8:5c38), 21d5e (8:5d5e)
 Func_21d79: ; 21d79 (8:5d79)
 	ld b, $0
-	ld hl, $62e6
+	ld hl, Unknown_222e6 ; $62e6
 	add hl, bc
 	ld a, [$FF00+$25]
 	or [hl]
@@ -42579,12 +43040,12 @@
 	jr nz, .asm_21da6
 .asm_21d94
 	ld a, [$c004]
-	ld hl, $62e6
+	ld hl, Unknown_222e6 ; $62e6
 	add hl, bc
 	and [hl]
 	ld d, a
 	ld a, [$FF00+$25]
-	ld hl, $62de
+	ld hl, Unknown_222de ; $62de
 	add hl, bc
 	and [hl]
 	or d
@@ -42637,7 +43098,7 @@
 	add a
 	ld d, $0
 	ld e, a
-	ld hl, $4361
+	ld hl, Unknown_20361 ; $4361
 	add hl, de
 	ld e, [hl]
 	inc hl
@@ -43022,7 +43483,7 @@
 ; known jump sources: 21941 (8:5941), 21c15 (8:5c15), 21c1f (8:5c1f), 21d15 (8:5d15), 21d57 (8:5d57), 21dc7 (8:5dc7), 21e0a (8:5e0a), 21f3e (8:5f3e), 21fdb (8:5fdb)
 Func_21ff7: ; 21ff7 (8:5ff7)
 	ld a, c
-	ld hl, $62d6
+	ld hl, Unknown_222d6 ; $62d6
 	add l
 	jr nc, .asm_21fff
 	inc h
@@ -43057,7 +43518,7 @@
 	add hl, hl
 	ld d, h
 	ld e, l
-	ld hl, $62ee
+	ld hl, Unknown_222ee ; $62ee
 	add hl, de
 	ld e, [hl]
 	inc hl
@@ -43168,7 +43629,7 @@
 	ld d, h
 	add hl, hl
 	add hl, de
-	ld de, $4000
+	ld de, Unknown_20000 ; $4000
 	add hl, de
 	ld a, h
 	ld [$c0ec], a
@@ -43372,7 +43833,7 @@
 	ld d, h
 	add hl, hl
 	add hl, de
-	ld de, $4000
+	ld de, Unknown_20000 ; $4000
 	add hl, de
 	ld e, l
 	ld d, h
@@ -43445,7 +43906,7 @@
 	ld [hli], a
 	ld [hl], a
 	ld hl, $c012
-	ld de, $62d5
+	ld de, Unknown_222d5 ; $62d5
 	ld [hl], e
 	inc hl
 	ld [hl], d
@@ -43459,18 +43920,31 @@
 .asm_222d4
 	ret
 
-INCBIN "baserom.gbc",$222d5,$22306 - $222d5
+Unknown_222d5: ; 222d5 (8:62d5)
+INCBIN "baserom.gbc",$222d5,$222d6 - $222d5
 
+Unknown_222d6: ; 222d6 (8:62d6)
+INCBIN "baserom.gbc",$222d6,$222de - $222d6
+
+Unknown_222de: ; 222de (8:62de)
+INCBIN "baserom.gbc",$222de,$222e6 - $222de
+
+Unknown_222e6: ; 222e6 (8:62e6)
+INCBIN "baserom.gbc",$222e6,$222ee - $222e6
+
+Unknown_222ee: ; 222ee (8:62ee)
+INCBIN "baserom.gbc",$222ee,$22306 - $222ee
+
 ; known jump sources: e1d6 (3:61d6)
 Func_22306: ; 22306 (8:6306)
 	ld a, $9a
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	ld hl, $c00e
-	ld de, $6322
+	ld de, Unknown_22322 ; $6322
 	call Func_2231d
-	ld de, $6325
+	ld de, Unknown_22325 ; $6325
 	call Func_2231d
-	ld de, $449b
+	ld de, Unknown_2049b ; $449b
 
 ; known jump sources: 22311 (8:6311), 22317 (8:6317)
 Func_2231d: ; 2231d (8:631d)
@@ -43480,125 +43954,129 @@
 	ld [hli], a
 	ret
 
-INCBIN "baserom.gbc",$22322,$23f52 - $22322
+Unknown_22322: ; 22322 (8:6322)
+INCBIN "baserom.gbc",$22322,$22325 - $22322
 
+Unknown_22325: ; 22325 (8:6325)
+INCBIN "baserom.gbc",$22325,$23f52 - $22325
+
 SECTION "bank9",DATA,BANK[$9]
 
-RhydonPicFront:
+RhydonPicFront: ; 24000 (9:4000)
 	INCBIN "pic/bmon/rhydon.pic"
-RhydonPicBack:
+RhydonPicBack: ; 24202 (9:4202)
 	INCBIN "pic/monback/rhydonb.pic"
-KangaskhanPicFront:
+KangaskhanPicFront: ; 2429a (9:429a)
 	INCBIN "pic/bmon/kangaskhan.pic"
-KangaskhanPicBack:
+KangaskhanPicBack: ; 244a6 (9:44a6)
 	INCBIN "pic/monback/kangaskhanb.pic"
-NidoranMPicFront:
+NidoranMPicFront: ; 2453c (9:453c)
 	INCBIN "pic/bmon/nidoranm.pic"
-NidoranMPicBack:
+NidoranMPicBack: ; 24623 (9:4623)
 	INCBIN "pic/monback/nidoranmb.pic"
-ClefairyPicFront:
+ClefairyPicFront: ; 24682 (9:4682)
 	INCBIN "pic/bmon/clefairy.pic"
-ClefairyPicBack:
+ClefairyPicBack: ; 24785 (9:4785)
 	INCBIN "pic/monback/clefairyb.pic"
-SpearowPicFront:
+SpearowPicFront: ; 247df (9:47df)
 	INCBIN "pic/bmon/spearow.pic"
-SpearowPicBack:
+SpearowPicBack: ; 248c2 (9:48c2)
 	INCBIN "pic/monback/spearowb.pic"
-VoltorbPicFront:
+VoltorbPicFront: ; 24911 (9:4911)
 	INCBIN "pic/bmon/voltorb.pic"
-VoltorbPicBack:
+VoltorbPicBack: ; 2499a (9:499a)
 	INCBIN "pic/monback/voltorbb.pic"
-NidokingPicFront:
+NidokingPicFront: ; 249f8 (9:49f8)
 	INCBIN "pic/bmon/nidoking.pic"
-NidokingPicBack:
+NidokingPicBack: ; 24c60 (9:4c60)
 	INCBIN "pic/monback/nidokingb.pic"
-SlowbroPicFront:
+SlowbroPicFront: ; 24d0a (9:4d0a)
 	INCBIN "pic/bmon/slowbro.pic"
-SlowbroPicBack:
+SlowbroPicBack: ; 24f87 (9:4f87)
 	INCBIN "pic/monback/slowbrob.pic"
-IvysaurPicFront:
+IvysaurPicFront: ; 2502b (9:502b)
 	INCBIN "pic/bmon/ivysaur.pic"
-IvysaurPicBack:
+IvysaurPicBack: ; 25157 (9:5157)
 	INCBIN "pic/monback/ivysaurb.pic"
-ExeggutorPicFront:
+ExeggutorPicFront: ; 251d6 (9:51d6)
 	INCBIN "pic/bmon/exeggutor.pic"
-ExeggutorPicBack:
+ExeggutorPicBack: ; 253f8 (9:53f8)
 	INCBIN "pic/monback/exeggutorb.pic"
-LickitungPicFront:
+LickitungPicFront: ; 254a7 (9:54a7)
 	INCBIN "pic/bmon/lickitung.pic"
-LickitungPicBack:
+LickitungPicBack: ; 2563e (9:563e)
 	INCBIN "pic/monback/lickitungb.pic"
-ExeggcutePicFront:
+ExeggcutePicFront: ; 256d7 (9:56d7)
 	INCBIN "pic/bmon/exeggcute.pic"
-ExeggcutePicBack:
+ExeggcutePicBack: ; 258f0 (9:58f0)
 	INCBIN "pic/monback/exeggcuteb.pic"
-GrimerPicFront:
+GrimerPicFront: ; 25973 (9:5973)
 	INCBIN "pic/bmon/grimer.pic"
-GrimerPicBack:
+GrimerPicBack: ; 25ab0 (9:5ab0)
 	INCBIN "pic/monback/grimerb.pic"
-GengarPicFront:
+GengarPicFront: ; 25b76 (9:5b76)
 	INCBIN "pic/bmon/gengar.pic"
-GengarPicBack:
+GengarPicBack: ; 25cc6 (9:5cc6)
 	INCBIN "pic/monback/gengarb.pic"
-NidoranFPicFront:
+NidoranFPicFront: ; 25d28 (9:5d28)
 	INCBIN "pic/bmon/nidoranf.pic"
-NidoranFPicBack:
+NidoranFPicBack: ; 25dc2 (9:5dc2)
 	INCBIN "pic/monback/nidoranfb.pic"
-NidoqueenPicFront:
+NidoqueenPicFront: ; 25e09 (9:5e09)
 	INCBIN "pic/bmon/nidoqueen.pic"
-NidoqueenPicBack:
+NidoqueenPicBack: ; 25fef (9:5fef)
 	INCBIN "pic/monback/nidoqueenb.pic"
-CubonePicFront:
+CubonePicFront: ; 260a8 (9:60a8)
 	INCBIN "pic/bmon/cubone.pic"
-CubonePicBack:
+CubonePicBack: ; 26196 (9:6196)
 	INCBIN "pic/monback/cuboneb.pic"
-RhyhornPicFront:
+RhyhornPicFront: ; 26208 (9:6208)
 	INCBIN "pic/bmon/rhyhorn.pic"
-RhyhornPicBack:
+RhyhornPicBack: ; 2640f (9:640f)
 	INCBIN "pic/monback/rhyhornb.pic"
-LaprasPicFront:
+LaprasPicFront: ; 264c1 (9:64c1)
 	INCBIN "pic/bmon/lapras.pic"
-LaprasPicBack:
+LaprasPicBack: ; 2667c (9:667c)
 	INCBIN "pic/monback/laprasb.pic"
-ArcaninePicFront:
+ArcaninePicFront: ; 266ff (9:66ff)
 	INCBIN "pic/bmon/arcanine.pic"
-ArcaninePicBack:
+ArcaninePicBack: ; 2693d (9:693d)
 	INCBIN "pic/monback/arcanineb.pic"
-GyaradosPicFront:
+GyaradosPicFront: ; 269d4 (9:69d4)
 	INCBIN "pic/bmon/gyarados.pic"
-GyaradosPicBack:
+GyaradosPicBack: ; 26c25 (9:6c25)
 	INCBIN "pic/monback/gyaradosb.pic"
-ShellderPicFront:
+ShellderPicFront: ; 26cb6 (9:6cb6)
 	INCBIN "pic/bmon/shellder.pic"
-ShellderPicBack:
+ShellderPicBack: ; 26dc3 (9:6dc3)
 	INCBIN "pic/monback/shellderb.pic"
-TentacoolPicFront:
+TentacoolPicFront: ; 26e2a (9:6e2a)
 	INCBIN "pic/bmon/tentacool.pic"
-TentacoolPicBack:
+TentacoolPicBack: ; 26f1c (9:6f1c)
 	INCBIN "pic/monback/tentacoolb.pic"
-GastlyPicFront:
+GastlyPicFront: ; 26f77 (9:6f77)
 	INCBIN "pic/bmon/gastly.pic"
-GastlyPicBack:
+GastlyPicBack: ; 27190 (9:7190)
 	INCBIN "pic/monback/gastlyb.pic"
-ScytherPicFront:
+ScytherPicFront: ; 2721c (9:721c)
 	INCBIN "pic/bmon/scyther.pic"
-ScytherPicBack:
+ScytherPicBack: ; 2743c (9:743c)
 	INCBIN "pic/monback/scytherb.pic"
-StaryuPicFront:
+StaryuPicFront: ; 274e0 (9:74e0)
 	INCBIN "pic/bmon/staryu.pic"
-StaryuPicBack:
+StaryuPicBack: ; 275ec (9:75ec)
 	INCBIN "pic/monback/staryub.pic"
-BlastoisePicFront:
+BlastoisePicFront: ; 27637 (9:7637)
 	INCBIN "pic/bmon/blastoise.pic"
-BlastoisePicBack:
+BlastoisePicBack: ; 27851 (9:7851)
 	INCBIN "pic/monback/blastoiseb.pic"
-PinsirPicFront:
+PinsirPicFront: ; 278da (9:78da)
 	INCBIN "pic/bmon/pinsir.pic"
-PinsirPicBack: ; 0x27aaa
+PinsirPicBack: ; 27aaa (9:7aaa)
 	INCBIN "pic/monback/pinsirb.pic"
-TangelaPicFront: ; 0x27b39
+TangelaPicFront: ; 27b39 (9:7b39)
 	INCBIN "pic/bmon/tangela.pic"
-TangelaPicBack: ; 0x27ce7
+TangelaPicBack: ; 27ce7 (9:7ce7)
 	INCBIN "pic/monback/tangelab.pic"
 
 ; known jump sources: 12a35 (4:6a35), 70320 (1c:4320)
@@ -43637,7 +44115,7 @@
 	ld a, [W_PLAYERMOVETYPE] ; $cfd5
 asm_27d9f: ; 27d9f (9:7d9f)
 	add a
-	ld hl, $7dae
+	ld hl, TypeNamePointers ; $7dae
 	ld e, a
 	ld d, $0
 	add hl, de
@@ -43647,7 +44125,7 @@
 	pop hl
 	jp PlaceString
 ; 27dae (9:7dae)
-TypeNamePointers: ; 7DAE
+TypeNamePointers: ; 27dae (9:7dae)
 	dw Type00Name
 	dw Type01Name
 	dw Type02Name
@@ -43676,40 +44154,40 @@
 	dw Type19Name
 	dw Type1AName
 
-Type00Name:
+Type00Name: ; 27de4 (9:7de4)
 	db "NORMAL@"
-Type01Name:
+Type01Name: ; 27deb (9:7deb)
 	db "FIGHTING@"
-Type02Name:
+Type02Name: ; 27df4 (9:7df4)
 	db "FLYING@"
-Type03Name:
+Type03Name: ; 27dfb (9:7dfb)
 	db "POISON@"
-Type14Name:
+Type14Name: ; 27e02 (9:7e02)
 	db "FIRE@"
-Type15Name:
+Type15Name: ; 27e07 (9:7e07)
 	db "WATER@"
-Type16Name:
+Type16Name: ; 27e0d (9:7e0d)
 	db "GRASS@"
-Type17Name:
+Type17Name: ; 27e13 (9:7e13)
 	db "ELECTRIC@"
-Type18Name:
+Type18Name: ; 27e1c (9:7e1c)
 	db "PSYCHIC@"
-Type19Name:
+Type19Name: ; 27e24 (9:7e24)
 	db "ICE@"
-Type04Name:
+Type04Name: ; 27e28 (9:7e28)
 	db "GROUND@"
-Type05Name:
+Type05Name: ; 27e2f (9:7e2f)
 	db "ROCK@"
-Type06Name:
+Type06Name: ; 27e34 (9:7e34)
 	db "BIRD@"
-Type07Name:
+Type07Name: ; 27e39 (9:7e39)
 	db "BUG@"
-Type08Name:
+Type08Name: ; 27e3d (9:7e3d)
 	db "GHOST@"
-Type1AName:
+Type1AName: ; 27e43 (9:7e43)
 	db "DRAGON@"
 
-SaveTrainerName: ; 7E4A
+SaveTrainerName: ; 27e4a (9:7e4a)
 	ld hl,TrainerNamePointers
 	ld a,[W_TRAINERCLASS]
 	dec a
@@ -43729,7 +44207,7 @@
 	jr nz,.CopyCharacter
 	ret
 
-TrainerNamePointers: ; 0x27e64
+TrainerNamePointers: ; 27e64 (9:7e64)
 ; what is the point of these?
 	dw YoungsterName
 	dw BugCatcherName
@@ -43779,47 +44257,47 @@
 	dw $D04A
 	dw $D04A
 
-YoungsterName:
+YoungsterName: ; 27ec2 (9:7ec2)
 	db "YOUNGSTER@"
-BugCatcherName:
+BugCatcherName: ; 27ecc (9:7ecc)
 	db "BUG CATCHER@"
-LassName:
+LassName: ; 27ed8 (9:7ed8)
 	db "LASS@"
-JrTrainerMName:
+JrTrainerMName: ; 27edd (9:7edd)
 	db "JR.TRAINER♂@"
-JrTrainerFName:
+JrTrainerFName: ; 27ee9 (9:7ee9)
 	db "JR.TRAINER♀@"
-PokemaniacName:
+PokemaniacName: ; 27ef5 (9:7ef5)
 	db "POKéMANIAC@"
-SuperNerdName:
+SuperNerdName: ; 27f00 (9:7f00)
 	db "SUPER NERD@"
-BurglarName:
+BurglarName: ; 27f0b (9:7f0b)
 	db "BURGLAR@"
-EngineerName:
+EngineerName: ; 27f13 (9:7f13)
 	db "ENGINEER@"
-JugglerXName:
+JugglerXName: ; 27f1c (9:7f1c)
 	db "JUGGLER@"
-SwimmerName:
+SwimmerName: ; 27f24 (9:7f24)
 	db "SWIMMER@"
-BeautyName:
+BeautyName: ; 27f2c (9:7f2c)
 	db "BEAUTY@"
-RockerName:
+RockerName: ; 27f33 (9:7f33)
 	db "ROCKER@"
-JugglerName:
+JugglerName: ; 27f3a (9:7f3a)
 	db "JUGGLER@"
-BlackbeltName:
+BlackbeltName: ; 27f42 (9:7f42)
 	db "BLACKBELT@"
-ProfOakName:
+ProfOakName: ; 27f4c (9:7f4c)
 	db "PROF.OAK@"
-ChiefName:
+ChiefName: ; 27f55 (9:7f55)
 	db "CHIEF@"
-ScientistName:
+ScientistName: ; 27f5b (9:7f5b)
 	db "SCIENTIST@"
-RocketName:
+RocketName: ; 27f65 (9:7f65)
 	db "ROCKET@"
-CooltrainerMName:
+CooltrainerMName: ; 27f6c (9:7f6c)
 	db "COOLTRAINER♂@"
-CooltrainerFName:
+CooltrainerFName: ; 27f79 (9:7f79)
 	db "COOLTRAINER♀@"
 
 ; known jump sources: 3f94e (f:794e)
@@ -43836,7 +44314,7 @@
 	ld hl, Func_3fba8
 	ld b, BANK(Func_3fba8)
 	call Bankswitch ; indirect jump to Func_3fba8 (3fba8 (f:7ba8))
-	ld hl, $7fb2
+	ld hl, Unknown_27fb2 ; $7fb2
 	jp PrintText
 .asm_27fa5
 	ld c, $32
@@ -43845,141 +44323,142 @@
 	ld b, BANK(Func_3fb53)
 	jp Bankswitch ; indirect jump to Func_3fb53 (3fb53 (f:7b53))
 
+Unknown_27fb2: ; 27fb2 (9:7fb2)
 INCBIN "baserom.gbc",$27fb2,$27fb3 - $27fb2
 
-UnnamedText_27fb3: ; 0x27fb3
+UnnamedText_27fb3: ; 27fb3 (9:7fb3)
 	TX_FAR _UnnamedText_27fb3
 	db $50
 ; 0x27fb3 + 5 bytes
 
 SECTION "bankA",DATA,BANK[$A]
-GrowlithePicFront:
+GrowlithePicFront: ; 28000 (a:4000)
 	INCBIN "pic/bmon/growlithe.pic"
-GrowlithePicBack:
+GrowlithePicBack: ; 28101 (a:4101)
 	INCBIN "pic/monback/growlitheb.pic"
-OnixPicFront:
+OnixPicFront: ; 28164 (a:4164)
 	INCBIN "pic/bmon/onix.pic"
-OnixPicBack:
+OnixPicBack: ; 28300 (a:4300)
 	INCBIN "pic/monback/onixb.pic"
-FearowPicFront:
+FearowPicFront: ; 28383 (a:4383)
 	INCBIN "pic/bmon/fearow.pic"
-FearowPicBack:
+FearowPicBack: ; 28529 (a:4529)
 	INCBIN "pic/monback/fearowb.pic"
-PidgeyPicFront:
+PidgeyPicFront: ; 285a7 (a:45a7)
 	INCBIN "pic/bmon/pidgey.pic"
-PidgeyPicBack:
+PidgeyPicBack: ; 2865b (a:465b)
 	INCBIN "pic/monback/pidgeyb.pic"
-SlowpokePicFront:
+SlowpokePicFront: ; 286a0 (a:46a0)
 	INCBIN "pic/bmon/slowpoke.pic"
-SlowpokePicBack:
+SlowpokePicBack: ; 287c2 (a:47c2)
 	INCBIN "pic/monback/slowpokeb.pic"
-KadabraPicFront:
+KadabraPicFront: ; 28830 (a:4830)
 	INCBIN "pic/bmon/kadabra.pic"
-KadabraPicBack:
+KadabraPicBack: ; 289b9 (a:49b9)
 	INCBIN "pic/monback/kadabrab.pic"
-GravelerPicFront:
+GravelerPicFront: ; 28a4c (a:4a4c)
 	INCBIN "pic/bmon/graveler.pic"
-GravelerPicBack:
+GravelerPicBack: ; 28c00 (a:4c00)
 	INCBIN "pic/monback/gravelerb.pic"
-ChanseyPicFront:
+ChanseyPicFront: ; 28cae (a:4cae)
 	INCBIN "pic/bmon/chansey.pic"
-ChanseyPicBack:
+ChanseyPicBack: ; 28e21 (a:4e21)
 	INCBIN "pic/monback/chanseyb.pic"
-MachokePicFront:
+MachokePicFront: ; 28e85 (a:4e85)
 	INCBIN "pic/bmon/machoke.pic"
-MachokePicBack:
+MachokePicBack: ; 29063 (a:5063)
 	INCBIN "pic/monback/machokeb.pic"
-MrMimePicFront:
+MrMimePicFront: ; 290f3 (a:50f3)
 	INCBIN "pic/bmon/mr.mime.pic"
-MrMimePicBack:
+MrMimePicBack: ; 29247 (a:5247)
 	INCBIN "pic/monback/mr.mimeb.pic"
-HitmonleePicFront:
+HitmonleePicFront: ; 292bf (a:52bf)
 	INCBIN "pic/bmon/hitmonlee.pic"
-HitmonleePicBack:
+HitmonleePicBack: ; 2945e (a:545e)
 	INCBIN "pic/monback/hitmonleeb.pic"
-HitmonchanPicFront:
+HitmonchanPicFront: ; 294bc (a:54bc)
 	INCBIN "pic/bmon/hitmonchan.pic"
-HitmonchanPicBack:
+HitmonchanPicBack: ; 29643 (a:5643)
 	INCBIN "pic/monback/hitmonchanb.pic"
-ArbokPicFront:
+ArbokPicFront: ; 296b4 (a:56b4)
 	INCBIN "pic/bmon/arbok.pic"
-ArbokPicBack:
+ArbokPicBack: ; 29911 (a:5911)
 	INCBIN "pic/monback/arbokb.pic"
-ParasectPicFront:
+ParasectPicFront: ; 299a8 (a:59a8)
 	INCBIN "pic/bmon/parasect.pic"
-ParasectPicBack:
+ParasectPicBack: ; 29b8c (a:5b8c)
 	INCBIN "pic/monback/parasectb.pic"
-PsyduckPicFront:
+PsyduckPicFront: ; 29c0a (a:5c0a)
 	INCBIN "pic/bmon/psyduck.pic"
-PsyduckPicBack:
+PsyduckPicBack: ; 29d3e (a:5d3e)
 	INCBIN "pic/monback/psyduckb.pic"
-DrowzeePicFront:
+DrowzeePicFront: ; 29da9 (a:5da9)
 	INCBIN "pic/bmon/drowzee.pic"
-DrowzeePicBack:
+DrowzeePicBack: ; 29f05 (a:5f05)
 	INCBIN "pic/monback/drowzeeb.pic"
-GolemPicFront:
+GolemPicFront: ; 29f74 (a:5f74)
 	INCBIN "pic/bmon/golem.pic"
-GolemPicBack:
+GolemPicBack: ; 2a0f2 (a:60f2)
 	INCBIN "pic/monback/golemb.pic"
-MagmarPicFront:
+MagmarPicFront: ; 2a161 (a:6161)
 	INCBIN "pic/bmon/magmar.pic"
-MagmarPicBack:
+MagmarPicBack: ; 2a2bf (a:62bf)
 	INCBIN "pic/monback/magmarb.pic"
-ElectabuzzPicFront:
+ElectabuzzPicFront: ; 2a367 (a:6367)
 	INCBIN "pic/bmon/electabuzz.pic"
-ElectabuzzPicBack:
+ElectabuzzPicBack: ; 2a4ef (a:64ef)
 	INCBIN "pic/monback/electabuzzb.pic"
-MagnetonPicFront:
+MagnetonPicFront: ; 2a588 (a:6588)
 	INCBIN "pic/bmon/magneton.pic"
-MagnetonPicBack:
+MagnetonPicBack: ; 2a723 (a:6723)
 	INCBIN "pic/monback/magnetonb.pic"
-KoffingPicFront:
+KoffingPicFront: ; 2a7a6 (a:67a6)
 	INCBIN "pic/bmon/koffing.pic"
-KoffingPicBack:
+KoffingPicBack: ; 2a974 (a:6974)
 	INCBIN "pic/monback/koffingb.pic"
-MankeyPicFront:
+MankeyPicFront: ; 2aa11 (a:6a11)
 	INCBIN "pic/bmon/mankey.pic"
-MankeyPicBack:
+MankeyPicBack: ; 2ab16 (a:6b16)
 	INCBIN "pic/monback/mankeyb.pic"
-SeelPicFront:
+SeelPicFront: ; 2ab84 (a:6b84)
 	INCBIN "pic/bmon/seel.pic"
-SeelPicBack:
+SeelPicBack: ; 2ace8 (a:6ce8)
 	INCBIN "pic/monback/seelb.pic"
-DiglettPicFront:
+DiglettPicFront: ; 2ad33 (a:6d33)
 	INCBIN "pic/bmon/diglett.pic"
-DiglettPicBack:
+DiglettPicBack: ; 2ae10 (a:6e10)
 	INCBIN "pic/monback/diglettb.pic"
-TaurosPicFront:
+TaurosPicFront: ; 2ae7e (a:6e7e)
 	INCBIN "pic/bmon/tauros.pic"
-TaurosPicBack:
+TaurosPicBack: ; 2b054 (a:7054)
 	INCBIN "pic/monback/taurosb.pic"
-FarfetchdPicFront:
+FarfetchdPicFront: ; 2b0e9 (a:70e9)
 	INCBIN "pic/bmon/farfetchd.pic"
-FarfetchdPicBack:
+FarfetchdPicBack: ; 2b2c6 (a:72c6)
 	INCBIN "pic/monback/farfetchdb.pic"
-VenonatPicFront:
+VenonatPicFront: ; 2b357 (a:7357)
 	INCBIN "pic/bmon/venonat.pic"
-VenonatPicBack:
+VenonatPicBack: ; 2b45c (a:745c)
 	INCBIN "pic/monback/venonatb.pic"
-DragonitePicFront:
+DragonitePicFront: ; 2b4aa (a:74aa)
 	INCBIN "pic/bmon/dragonite.pic"
-DragonitePicBack:
+DragonitePicBack: ; 2b67f (a:767f)
 	INCBIN "pic/monback/dragoniteb.pic"
-DoduoPicFront:
+DoduoPicFront: ; 2b72c (a:772c)
 	INCBIN "pic/bmon/doduo.pic"
-DoduoPicBack:
+DoduoPicBack: ; 2b80d (a:780d)
 	INCBIN "pic/monback/doduob.pic"
-PoliwagPicFront:
+PoliwagPicFront: ; 2b875 (a:7875)
 	INCBIN "pic/bmon/poliwag.pic"
-PoliwagPicBack:
+PoliwagPicBack: ; 2b947 (a:7947)
 	INCBIN "pic/monback/poliwagb.pic"
-JynxPicFront:
+JynxPicFront: ; 2b98e (a:798e)
 	INCBIN "pic/bmon/jynx.pic"
-JynxPicBack:
+JynxPicBack: ; 2bb42 (a:7b42)
 	INCBIN "pic/monback/jynxb.pic"
-MoltresPicFront:
+MoltresPicFront: ; 2bbac (a:7bac)
 	INCBIN "pic/bmon/moltres.pic"
-MoltresPicBack:
+MoltresPicBack: ; 2be02 (a:7e02)
 	INCBIN "pic/monback/moltresb.pic"
 
 ; known jump sources: 3fa81 (f:7a81)
@@ -44011,165 +44490,165 @@
 	ld hl, Func_3fba8
 	ld b, BANK(Func_3fba8)
 	call Bankswitch ; indirect jump to Func_3fba8 (3fba8 (f:7ba8))
-	ld hl, $7ef2
+	ld hl, UnnamedText_2bef2 ; $7ef2
 	jp PrintText
 .asm_2bee7
 	ld c, $32
 	call DelayFrames
-	ld hl, $7ef7
+	ld hl, UnnamedText_2bef7 ; $7ef7
 	jp PrintText
 ; 2bef2 (a:7ef2)
-UnnamedText_2bef2: ; 0x2bef2
+UnnamedText_2bef2: ; 2bef2 (a:7ef2)
 	TX_FAR _UnnamedText_2bef2
 	db $50
 ; 0x2bef2 + 5 bytes
 
-UnnamedText_2bef7: ; 0x2bef7
+UnnamedText_2bef7: ; 2bef7 (a:7ef7)
 	TX_FAR _UnnamedText_2bef7
 	db $50
 ; 0x2bef7 + 5 bytes
 
 SECTION "bankB",DATA,BANK[$B]
-ArticunoPicFront:
+ArticunoPicFront: ; 2c000 (b:4000)
 	INCBIN "pic/bmon/articuno.pic"
-ArticunoPicBack:
+ArticunoPicBack: ; 2c238 (b:4238)
 	INCBIN "pic/monback/articunob.pic"
-ZapdosPicFront:
+ZapdosPicFront: ; 2c29d (b:429d)
 	INCBIN "pic/bmon/zapdos.pic"
-ZapdosPicBack:
+ZapdosPicBack: ; 2c484 (b:4484)
 	INCBIN "pic/monback/zapdosb.pic"
-DittoPicFront:
+DittoPicFront: ; 2c514 (b:4514)
 	INCBIN "pic/bmon/ditto.pic"
-DittoPicBack:
+DittoPicBack: ; 2c5bd (b:45bd)
 	INCBIN "pic/monback/dittob.pic"
-MeowthPicFront:
+MeowthPicFront: ; 2c609 (b:4609)
 	INCBIN "pic/bmon/meowth.pic"
-MeowthPicBack:
+MeowthPicBack: ; 2c71f (b:471f)
 	INCBIN "pic/monback/meowthb.pic"
-KrabbyPicFront:
+KrabbyPicFront: ; 2c777 (b:4777)
 	INCBIN "pic/bmon/krabby.pic"
-KrabbyPicBack:
+KrabbyPicBack: ; 2c8b0 (b:48b0)
 	INCBIN "pic/monback/krabbyb.pic"
-VulpixPicFront:
+VulpixPicFront: ; 2c924 (b:4924)
 	INCBIN "pic/bmon/vulpix.pic"
-VulpixPicBack:
+VulpixPicBack: ; 2ca9a (b:4a9a)
 	INCBIN "pic/monback/vulpixb.pic"
-NinetalesPicFront:
+NinetalesPicFront: ; 2caff (b:4aff)
 	INCBIN "pic/bmon/ninetales.pic"
-NinetalesPicBack:
+NinetalesPicBack: ; 2ccfb (b:4cfb)
 	INCBIN "pic/monback/ninetalesb.pic"
-PikachuPicFront:
+PikachuPicFront: ; 2cd7d (b:4d7d)
 	INCBIN "pic/bmon/pikachu.pic"
-PikachuPicBack:
+PikachuPicBack: ; 2ce8b (b:4e8b)
 	INCBIN "pic/monback/pikachub.pic"
-RaichuPicFront:
+RaichuPicFront: ; 2cf03 (b:4f03)
 	INCBIN "pic/bmon/raichu.pic"
-RaichuPicBack:
+RaichuPicBack: ; 2d0c3 (b:50c3)
 	INCBIN "pic/monback/raichub.pic"
-DratiniPicFront:
+DratiniPicFront: ; 2d151 (b:5151)
 	INCBIN "pic/bmon/dratini.pic"
-DratiniPicBack:
+DratiniPicBack: ; 2d234 (b:5234)
 	INCBIN "pic/monback/dratinib.pic"
-DragonairPicFront:
+DragonairPicFront: ; 2d297 (b:5297)
 	INCBIN "pic/bmon/dragonair.pic"
-DragonairPicBack:
+DragonairPicBack: ; 2d3d9 (b:53d9)
 	INCBIN "pic/monback/dragonairb.pic"
-KabutoPicFront:
+KabutoPicFront: ; 2d464 (b:5464)
 	INCBIN "pic/bmon/kabuto.pic"
-KabutoPicBack:
+KabutoPicBack: ; 2d529 (b:5529)
 	INCBIN "pic/monback/kabutob.pic"
-KabutopsPicFront:
+KabutopsPicFront: ; 2d583 (b:5583)
 	INCBIN "pic/bmon/kabutops.pic"
-KabutopsPicBack:
+KabutopsPicBack: ; 2d73c (b:573c)
 	INCBIN "pic/monback/kabutopsb.pic"
-HorseaPicFront:
+HorseaPicFront: ; 2d7c1 (b:57c1)
 	INCBIN "pic/bmon/horsea.pic"
-HorseaPicBack:
+HorseaPicBack: ; 2d873 (b:5873)
 	INCBIN "pic/monback/horseab.pic"
-SeadraPicFront:
+SeadraPicFront: ; 2d8c4 (b:58c4)
 	INCBIN "pic/bmon/seadra.pic"
-SeadraPicBack:
+SeadraPicBack: ; 2da2b (b:5a2b)
 	INCBIN "pic/monback/seadrab.pic"
-SandshrewPicFront:
+SandshrewPicFront: ; 2dac9 (b:5ac9)
 	INCBIN "pic/bmon/sandshrew.pic"
-SandshrewPicBack:
+SandshrewPicBack: ; 2dbe7 (b:5be7)
 	INCBIN "pic/monback/sandshrewb.pic"
-SandslashPicFront:
+SandslashPicFront: ; 2dc6b (b:5c6b)
 	INCBIN "pic/bmon/sandslash.pic"
-SandslashPicBack:
+SandslashPicBack: ; 2de04 (b:5e04)
 	INCBIN "pic/monback/sandslashb.pic"
-OmanytePicFront:
+OmanytePicFront: ; 2de9d (b:5e9d)
 	INCBIN "pic/bmon/omanyte.pic"
-OmanytePicBack:
+OmanytePicBack: ; 2df76 (b:5f76)
 	INCBIN "pic/monback/omanyteb.pic"
-OmastarPicFront:
+OmastarPicFront: ; 2dfd3 (b:5fd3)
 	INCBIN "pic/bmon/omastar.pic"
-OmastarPicBack:
+OmastarPicBack: ; 2e18b (b:618b)
 	INCBIN "pic/monback/omastarb.pic"
-JigglypuffPicFront:
+JigglypuffPicFront: ; 2e22f (b:622f)
 	INCBIN "pic/bmon/jigglypuff.pic"
-JigglypuffPicBack:
+JigglypuffPicBack: ; 2e30f (b:630f)
 	INCBIN "pic/monback/jigglypuffb.pic"
-WigglytuffPicFront:
+WigglytuffPicFront: ; 2e348 (b:6348)
 	INCBIN "pic/bmon/wigglytuff.pic"
-WigglytuffPicBack:
+WigglytuffPicBack: ; 2e4bf (b:64bf)
 	INCBIN "pic/monback/wigglytuffb.pic"
-EeveePicFront:
+EeveePicFront: ; 2e531 (b:6531)
 	INCBIN "pic/bmon/eevee.pic"
-EeveePicBack:
+EeveePicBack: ; 2e625 (b:6625)
 	INCBIN "pic/monback/eeveeb.pic"
-FlareonPicFront:
+FlareonPicFront: ; 2e68d (b:668d)
 	INCBIN "pic/bmon/flareon.pic"
-FlareonPicBack:
+FlareonPicBack: ; 2e806 (b:6806)
 	INCBIN "pic/monback/flareonb.pic"
-JolteonPicFront:
+JolteonPicFront: ; 2e88f (b:688f)
 	INCBIN "pic/bmon/jolteon.pic"
-JolteonPicBack:
+JolteonPicBack: ; 2ea0a (b:6a0a)
 	INCBIN "pic/monback/jolteonb.pic"
-VaporeonPicFront:
+VaporeonPicFront: ; 2eaae (b:6aae)
 	INCBIN "pic/bmon/vaporeon.pic"
-VaporeonPicBack:
+VaporeonPicBack: ; 2ec02 (b:6c02)
 	INCBIN "pic/monback/vaporeonb.pic"
-MachopPicFront:
+MachopPicFront: ; 2ec9f (b:6c9f)
 	INCBIN "pic/bmon/machop.pic"
-MachopPicBack:
+MachopPicBack: ; 2eda2 (b:6da2)
 	INCBIN "pic/monback/machopb.pic"
-ZubatPicFront:
+ZubatPicFront: ; 2ee0c (b:6e0c)
 	INCBIN "pic/bmon/zubat.pic"
-ZubatPicBack:
+ZubatPicBack: ; 2ef17 (b:6f17)
 	INCBIN "pic/monback/zubatb.pic"
-EkansPicFront:
+EkansPicFront: ; 2ef6b (b:6f6b)
 	INCBIN "pic/bmon/ekans.pic"
-EkansPicBack:
+EkansPicBack: ; 2f06d (b:706d)
 	INCBIN "pic/monback/ekansb.pic"
-ParasPicFront:
+ParasPicFront: ; 2f0b4 (b:70b4)
 	INCBIN "pic/bmon/paras.pic"
-ParasPicBack:
+ParasPicBack: ; 2f177 (b:7177)
 	INCBIN "pic/monback/parasb.pic"
-PoliwhirlPicFront:
+PoliwhirlPicFront: ; 2f1ed (b:71ed)
 	INCBIN "pic/bmon/poliwhirl.pic"
-PoliwhirlPicBack:
+PoliwhirlPicBack: ; 2f35e (b:735e)
 	INCBIN "pic/monback/poliwhirlb.pic"
-PoliwrathPicFront:
+PoliwrathPicFront: ; 2f3c1 (b:73c1)
 	INCBIN "pic/bmon/poliwrath.pic"
-PoliwrathPicBack:
+PoliwrathPicBack: ; 2f52c (b:752c)
 	INCBIN "pic/monback/poliwrathb.pic"
-WeedlePicFront:
+WeedlePicFront: ; 2f57d (b:757d)
 	INCBIN "pic/bmon/weedle.pic"
-WeedlePicBack:
+WeedlePicBack: ; 2f624 (b:7624)
 	INCBIN "pic/monback/weedleb.pic"
-KakunaPicFront:
+KakunaPicFront: ; 2f677 (b:7677)
 	INCBIN "pic/bmon/kakuna.pic"
-KakunaPicBack:
+KakunaPicBack: ; 2f736 (b:7736)
 	INCBIN "pic/monback/kakunab.pic"
-BeedrillPicFront:
+BeedrillPicFront: ; 2f788 (b:7788)
 	INCBIN "pic/bmon/beedrill.pic"
-BeedrillPicBack:
+BeedrillPicBack: ; 2f980 (b:7980)
 	INCBIN "pic/monback/beedrillb.pic"
-FossilKabutopsPic:
+FossilKabutopsPic: ; 2f9e8 (b:79e8)
 	INCBIN "pic/bmon/fossilkabutops.pic"
 
-DisplayEffectiveness:
+DisplayEffectiveness: ; 2fb7b (b:7b7b)
 	ld a, [$D05B]
 	and a, $7F
 	cp a, $0A
@@ -44180,18 +44659,26 @@
 .done
 	jp PrintText
 
-UnnamedText_2fb8e: ; 0x2fb8e
+UnnamedText_2fb8e: ; 2fb8e (b:7b8e)
 	TX_FAR _UnnamedText_2fb8e
 	db $50
 ; 0x2fb8e + 5 bytes
 
-UnnamedText_2fb93: ; 0x2fb93
+UnnamedText_2fb93: ; 2fb93 (b:7b93)
 	TX_FAR _UnnamedText_2fb93
 	db $50
 ; 0x2fb93 + 5 bytes
 
-INCBIN "baserom.gbc",$2fb98,$2fe18 - $2fb98
+TrainerInfoTextBoxTileGraphics: ; 2fb98 (b:7b98)
+INCBIN "baserom.gbc",$2fb98,$2fc28 - $2fb98
 
+; mostly empty, last tile contains circle
+UnknownGFX_2fc28: ; 2fc28 (b:7c28)
+INCBIN "baserom.gbc",$2fc28,$2fd98 - $2fc28
+
+BadgeNumbersTileGraphics: ; 2fd98 (b:7d98)
+INCBIN "baserom.gbc",$2fd98,$2fe18 - $2fd98
+
 ; known jump sources: e530 (3:6530)
 Func_2fe18: ; 2fe18 (b:7e18)
 	ld a, [W_WHICHPOKEMON] ; $cf92
@@ -44210,12 +44697,12 @@
 	and a
 	ret
 .asm_2fe33
-	ld hl, $7e3b
+	ld hl, UnnamedText_2fe3b ; $7e3b
 	call PrintText
 	scf
 	ret
 ; 2fe3b (b:7e3b)
-UnnamedText_2fe3b: ; 0x2fe3b
+UnnamedText_2fe3b: ; 2fe3b (b:7e3b)
 	TX_FAR _UnnamedText_2fe3b
 	db $50
 ; 0x2fe3b + 5 bytes
@@ -44304,7 +44791,7 @@
 	ret
 
 ; repeats each input bit twice
-DuplicateBitsTable: ; 0x2fea8
+DuplicateBitsTable: ; 2fea8 (b:7ea8)
 db $00, $03, $0c, $0f
 db $30, $33, $3c, $3f
 db $c0, $c3, $cc, $cf
@@ -44349,11 +44836,11 @@
 	ld c, $3
 	ld a, $b
 	call Predef
-	ld hl, $7f04
+	ld hl, UnnamedText_2ff04 ; $7f04
 	jp PrintText
 ; 0x2ff04
 
-UnnamedText_2ff04: ; 0x2ff04
+UnnamedText_2ff04: ; 2ff04 (b:7f04)
 	TX_FAR _UnnamedText_2ff04
 	db $50
 ; 0x2ff04 + 5 bytes
@@ -44360,141 +44847,141 @@
 
 INCBIN "baserom.gbc",$2ff09,$2ff32 - $2ff09
 
-UnnamedText_2ff32: ; 0x2ff32
+UnnamedText_2ff32: ; 2ff32 (b:7f32)
 	TX_FAR _UnnamedText_2ff32
 	db $50
 ; 0x2ff32 + 5 bytes
 
-UnnamedText_2ff37: ; 0x2ff37
+UnnamedText_2ff37: ; 2ff37 (b:7f37)
 	TX_FAR _UnnamedText_2ff37
 	db $50
 ; 0x2ff37 + 5 bytes
 
 SECTION "bankC",DATA,BANK[$C]
-DodrioPicFront:
+DodrioPicFront: ; 30000 (c:4000)
 	INCBIN "pic/bmon/dodrio.pic"
-DodrioPicBack:
+DodrioPicBack: ; 301a2 (c:41a2)
 	INCBIN "pic/monback/dodriob.pic"
-PrimeapePicFront:
+PrimeapePicFront: ; 30247 (c:4247)
 	INCBIN "pic/bmon/primeape.pic"
-PrimeapePicBack:
+PrimeapePicBack: ; 30408 (c:4408)
 	INCBIN "pic/monback/primeapeb.pic"
-DugtrioPicFront:
+DugtrioPicFront: ; 30480 (c:4480)
 	INCBIN "pic/bmon/dugtrio.pic"
-DugtrioPicBack:
+DugtrioPicBack: ; 3062a (c:462a)
 	INCBIN "pic/monback/dugtriob.pic"
-VenomothPicFront:
+VenomothPicFront: ; 306a9 (c:46a9)
 	INCBIN "pic/bmon/venomoth.pic"
-VenomothPicBack:
+VenomothPicBack: ; 30841 (c:4841)
 	INCBIN "pic/monback/venomothb.pic"
-DewgongPicFront:
+DewgongPicFront: ; 30899 (c:4899)
 	INCBIN "pic/bmon/dewgong.pic"
-DewgongPicBack:
+DewgongPicBack: ; 309e2 (c:49e2)
 	INCBIN "pic/monback/dewgongb.pic"
-CaterpiePicFront:
+CaterpiePicFront: ; 30a49 (c:4a49)
 	INCBIN "pic/bmon/caterpie.pic"
-CaterpiePicBack:
+CaterpiePicBack: ; 30ae1 (c:4ae1)
 	INCBIN "pic/monback/caterpieb.pic"
-MetapodPicFront:
+MetapodPicFront: ; 30b3a (c:4b3a)
 	INCBIN "pic/bmon/metapod.pic"
-MetapodPicBack:
+MetapodPicBack: ; 30bc8 (c:4bc8)
 	INCBIN "pic/monback/metapodb.pic"
-ButterfreePicFront:
+ButterfreePicFront: ; 30c37 (c:4c37)
 	INCBIN "pic/bmon/butterfree.pic"
-ButterfreePicBack:
+ButterfreePicBack: ; 30e0e (c:4e0e)
 	INCBIN "pic/monback/butterfreeb.pic"
-MachampPicFront:
+MachampPicFront: ; 30e93 (c:4e93)
 	INCBIN "pic/bmon/machamp.pic"
-MachampPicBack:
+MachampPicBack: ; 3108c (c:508c)
 	INCBIN "pic/monback/machampb.pic"
-GolduckPicFront:
+GolduckPicFront: ; 31108 (c:5108)
 	INCBIN "pic/bmon/golduck.pic"
-GolduckPicBack:
+GolduckPicBack: ; 312c2 (c:52c2)
 	INCBIN "pic/monback/golduckb.pic"
-HypnoPicFront:
+HypnoPicFront: ; 3135d (c:535d)
 	INCBIN "pic/bmon/hypno.pic"
-HypnoPicBack:
+HypnoPicBack: ; 31552 (c:5552)
 	INCBIN "pic/monback/hypnob.pic"
-GolbatPicFront:
+GolbatPicFront: ; 315e0 (c:55e0)
 	INCBIN "pic/bmon/golbat.pic"
-GolbatPicBack:
+GolbatPicBack: ; 3180a (c:580a)
 	INCBIN "pic/monback/golbatb.pic"
-MewtwoPicFront:
+MewtwoPicFront: ; 3187f (c:587f)
 	INCBIN "pic/bmon/mewtwo.pic"
-MewtwoPicBack:
+MewtwoPicBack: ; 31a85 (c:5a85)
 	INCBIN "pic/monback/mewtwob.pic"
-SnorlaxPicFront:
+SnorlaxPicFront: ; 31b19 (c:5b19)
 	INCBIN "pic/bmon/snorlax.pic"
-SnorlaxPicBack:
+SnorlaxPicBack: ; 31ce5 (c:5ce5)
 	INCBIN "pic/monback/snorlaxb.pic"
-MagikarpPicFront:
+MagikarpPicFront: ; 31d31 (c:5d31)
 	INCBIN "pic/bmon/magikarp.pic"
-MagikarpPicBack:
+MagikarpPicBack: ; 31ec3 (c:5ec3)
 	INCBIN "pic/monback/magikarpb.pic"
-MukPicFront:
+MukPicFront: ; 31f56 (c:5f56)
 	INCBIN "pic/bmon/muk.pic"
-MukPicBack:
+MukPicBack: ; 3215f (c:615f)
 	INCBIN "pic/monback/mukb.pic"
-KinglerPicFront:
+KinglerPicFront: ; 321ec (c:61ec)
 	INCBIN "pic/bmon/kingler.pic"
-KinglerPicBack:
+KinglerPicBack: ; 323de (c:63de)
 	INCBIN "pic/monback/kinglerb.pic"
-CloysterPicFront:
+CloysterPicFront: ; 3247f (c:647f)
 	INCBIN "pic/bmon/cloyster.pic"
-CloysterPicBack:
+CloysterPicBack: ; 326ab (c:66ab)
 	INCBIN "pic/monback/cloysterb.pic"
-ElectrodePicFront:
+ElectrodePicFront: ; 32760 (c:6760)
 	INCBIN "pic/bmon/electrode.pic"
-ElectrodePicBack:
+ElectrodePicBack: ; 32827 (c:6827)
 	INCBIN "pic/monback/electrodeb.pic"
-ClefablePicFront:
+ClefablePicFront: ; 3288c (c:688c)
 	INCBIN "pic/bmon/clefable.pic"
-ClefablePicBack:
+ClefablePicBack: ; 329b8 (c:69b8)
 	INCBIN "pic/monback/clefableb.pic"
-WeezingPicFront:
+WeezingPicFront: ; 32a44 (c:6a44)
 	INCBIN "pic/bmon/weezing.pic"
-WeezingPicBack:
+WeezingPicBack: ; 32c76 (c:6c76)
 	INCBIN "pic/monback/weezingb.pic"
-PersianPicFront:
+PersianPicFront: ; 32d1e (c:6d1e)
 	INCBIN "pic/bmon/persian.pic"
-PersianPicBack:
+PersianPicBack: ; 32f04 (c:6f04)
 	INCBIN "pic/monback/persianb.pic"
-MarowakPicFront:
+MarowakPicFront: ; 32f8f (c:6f8f)
 	INCBIN "pic/bmon/marowak.pic"
-MarowakPicBack:
+MarowakPicBack: ; 33101 (c:7101)
 	INCBIN "pic/monback/marowakb.pic"
-HaunterPicFront:
+HaunterPicFront: ; 3318a (c:718a)
 	INCBIN "pic/bmon/haunter.pic"
-HaunterPicBack:
+HaunterPicBack: ; 33345 (c:7345)
 	INCBIN "pic/monback/haunterb.pic"
-AbraPicFront:
+AbraPicFront: ; 333cc (c:73cc)
 	INCBIN "pic/bmon/abra.pic"
-AbraPicBack:
+AbraPicBack: ; 334cf (c:74cf)
 	INCBIN "pic/monback/abrab.pic"
-AlakazamPicFront:
+AlakazamPicFront: ; 3355a (c:755a)
 	INCBIN "pic/bmon/alakazam.pic"
-AlakazamPicBack:
+AlakazamPicBack: ; 33779 (c:7779)
 	INCBIN "pic/monback/alakazamb.pic"
-PidgeottoPicFront:
+PidgeottoPicFront: ; 3380a (c:780a)
 	INCBIN "pic/bmon/pidgeotto.pic"
-PidgeottoPicBack:
+PidgeottoPicBack: ; 3395b (c:795b)
 	INCBIN "pic/monback/pidgeottob.pic"
-PidgeotPicFront:
+PidgeotPicFront: ; 339c2 (c:79c2)
 	INCBIN "pic/bmon/pidgeot.pic"
-PidgeotPicBack:
+PidgeotPicBack: ; 33b79 (c:7b79)
 	INCBIN "pic/monback/pidgeotb.pic"
-StarmiePicFront:
+StarmiePicFront: ; 33c1c (c:7c1c)
 	INCBIN "pic/bmon/starmie.pic"
-StarmiePicBack:
+StarmiePicBack: ; 33dac (c:7dac)
 	INCBIN "pic/monback/starmieb.pic"
-RedPicBack:
+RedPicBack: ; 33e0a (c:7e0a)
 	INCBIN "pic/trainer/redb.pic"
-OldManPic:
+OldManPic: ; 33e9a (c:7e9a)
 	INCBIN "pic/trainer/oldman.pic"
 
 INCBIN "baserom.gbc",$33f2b,$33f52 - $33f2b
 
-UnnamedText_33f52: ; 0x33f52
+UnnamedText_33f52: ; 33f52 (c:7f52)
 	TX_FAR _UnnamedText_33f52
 	db $50
 ; 0x33f52 + 5 bytes
@@ -44538,126 +45025,133 @@
 	ret
 ; 33f90 (c:7f90)
 SECTION "bankD",DATA,BANK[$D]
-BulbasaurPicFront:
+BulbasaurPicFront: ; 34000 (d:4000)
 	INCBIN "pic/bmon/bulbasaur.pic"
-BulbasaurPicBack:
+BulbasaurPicBack: ; 340e5 (d:40e5)
 	INCBIN "pic/monback/bulbasaurb.pic"
-VenusaurPicFront:
+VenusaurPicFront: ; 34162 (d:4162)
 	INCBIN "pic/bmon/venusaur.pic"
-VenusaurPicBack:
+VenusaurPicBack: ; 34397 (d:4397)
 	INCBIN "pic/monback/venusaurb.pic"
-TentacruelPicFront:
+TentacruelPicFront: ; 34455 (d:4455)
 	INCBIN "pic/bmon/tentacruel.pic"
-TentacruelPicBack:
+TentacruelPicBack: ; 345c3 (d:45c3)
 	INCBIN "pic/monback/tentacruelb.pic"
-GoldeenPicFront:
+GoldeenPicFront: ; 3466f (d:466f)
 	INCBIN "pic/bmon/goldeen.pic"
-GoldeenPicBack:
+GoldeenPicBack: ; 34796 (d:4796)
 	INCBIN "pic/monback/goldeenb.pic"
-SeakingPicFront:
+SeakingPicFront: ; 34803 (d:4803)
 	INCBIN "pic/bmon/seaking.pic"
-SeakingPicBack:
+SeakingPicBack: ; 34a03 (d:4a03)
 	INCBIN "pic/monback/seakingb.pic"
-PonytaPicFront:
+PonytaPicFront: ; 34ab1 (d:4ab1)
 	INCBIN "pic/bmon/ponyta.pic"
-RapidashPicFront:
+RapidashPicFront: ; 34c10 (d:4c10)
 	INCBIN "pic/bmon/rapidash.pic"
-PonytaPicBack:
+PonytaPicBack: ; 34e32 (d:4e32)
 	INCBIN "pic/monback/ponytab.pic"
-RapidashPicBack:
+RapidashPicBack: ; 34eba (d:4eba)
 	INCBIN "pic/monback/rapidashb.pic"
-RattataPicFront:
+RattataPicFront: ; 34f6a (d:4f6a)
 	INCBIN "pic/bmon/rattata.pic"
-RattataPicBack:
+RattataPicBack: ; 35041 (d:5041)
 	INCBIN "pic/monback/rattatab.pic"
-RaticatePicFront:
+RaticatePicFront: ; 3507a (d:507a)
 	INCBIN "pic/bmon/raticate.pic"
-RaticatePicBack:
+RaticatePicBack: ; 3520d (d:520d)
 	INCBIN "pic/monback/raticateb.pic"
-NidorinoPicFront:
+NidorinoPicFront: ; 35282 (d:5282)
 	INCBIN "pic/bmon/nidorino.pic"
-NidorinoPicBack:
+NidorinoPicBack: ; 353f0 (d:53f0)
 	INCBIN "pic/monback/nidorinob.pic"
-NidorinaPicFront:
+NidorinaPicFront: ; 3548b (d:548b)
 	INCBIN "pic/bmon/nidorina.pic"
-NidorinaPicBack:
+NidorinaPicBack: ; 355c8 (d:55c8)
 	INCBIN "pic/monback/nidorinab.pic"
-GeodudePicFront:
+GeodudePicFront: ; 3564f (d:564f)
 	INCBIN "pic/bmon/geodude.pic"
-GeodudePicBack:
+GeodudePicBack: ; 35729 (d:5729)
 	INCBIN "pic/monback/geodudeb.pic"
-PorygonPicFront:
+PorygonPicFront: ; 35784 (d:5784)
 	INCBIN "pic/bmon/porygon.pic"
-PorygonPicBack:
+PorygonPicBack: ; 358d1 (d:58d1)
 	INCBIN "pic/monback/porygonb.pic"
-AerodactylPicFront:
+AerodactylPicFront: ; 35931 (d:5931)
 	INCBIN "pic/bmon/aerodactyl.pic"
-AerodactylPicBack:
+AerodactylPicBack: ; 35aec (d:5aec)
 	INCBIN "pic/monback/aerodactylb.pic"
-MagnemitePicFront:
+MagnemitePicFront: ; 35b87 (d:5b87)
 	INCBIN "pic/bmon/magnemite.pic"
-MagnemitePicBack:
+MagnemitePicBack: ; 35c0d (d:5c0d)
 	INCBIN "pic/monback/magnemiteb.pic"
-CharmanderPicFront:
+CharmanderPicFront: ; 35c5c (d:5c5c)
 	INCBIN "pic/bmon/charmander.pic"
-CharmanderPicBack:
+CharmanderPicBack: ; 35d5c (d:5d5c)
 	INCBIN "pic/monback/charmanderb.pic"
-SquirtlePicFront:
+SquirtlePicFront: ; 35db8 (d:5db8)
 	INCBIN "pic/bmon/squirtle.pic"
-SquirtlePicBack:
+SquirtlePicBack: ; 35e8f (d:5e8f)
 	INCBIN "pic/monback/squirtleb.pic"
-CharmeleonPicFront:
+CharmeleonPicFront: ; 35f0c (d:5f0c)
 	INCBIN "pic/bmon/charmeleon.pic"
-CharmeleonPicBack:
+CharmeleonPicBack: ; 36048 (d:6048)
 	INCBIN "pic/monback/charmeleonb.pic"
-WartortlePicFront:
+WartortlePicFront: ; 360b1 (d:60b1)
 	INCBIN "pic/bmon/wartortle.pic"
-WartortlePicBack:
+WartortlePicBack: ; 361f1 (d:61f1)
 	INCBIN "pic/monback/wartortleb.pic"
-CharizardPicFront:
+CharizardPicFront: ; 36286 (d:6286)
 	INCBIN "pic/bmon/charizard.pic"
-CharizardPicBack:
+CharizardPicBack: ; 36495 (d:6495)
 	INCBIN "pic/monback/charizardb.pic"
-FossilAerodactylPic:
+FossilAerodactylPic: ; 36536 (d:6536)
 	INCBIN "pic/bmon/fossilaerodactyl.pic"
-GhostPic:
+GhostPic: ; 366b5 (d:66b5)
 	INCBIN "pic/other/ghost.pic"
-OddishPicFront:
+OddishPicFront: ; 3680b (d:680b)
 	INCBIN "pic/bmon/oddish.pic"
-OddishPicBack:
+OddishPicBack: ; 368a9 (d:68a9)
 	INCBIN "pic/monback/oddishb.pic"
-GloomPicFront:
+GloomPicFront: ; 36941 (d:6941)
 	INCBIN "pic/bmon/gloom.pic"
-GloomPicBack:
+GloomPicBack: ; 36a78 (d:6a78)
 	INCBIN "pic/monback/gloomb.pic"
-VileplumePicFront:
+VileplumePicFront: ; 36b21 (d:6b21)
 	INCBIN "pic/bmon/vileplume.pic"
-VileplumePicBack:
+VileplumePicBack: ; 36c82 (d:6c82)
 	INCBIN "pic/monback/vileplumeb.pic"
-BellsproutPicFront:
+BellsproutPicFront: ; 36d00 (d:6d00)
 	INCBIN "pic/bmon/bellsprout.pic"
-BellsproutPicBack:
+BellsproutPicBack: ; 36dba (d:6dba)
 	INCBIN "pic/monback/bellsproutb.pic"
-WeepinbellPicFront:
+WeepinbellPicFront: ; 36e30 (d:6e30)
 	INCBIN "pic/bmon/weepinbell.pic"
-WeepinbellPicBack:
+WeepinbellPicBack: ; 36f6f (d:6f6f)
 	INCBIN "pic/monback/weepinbellb.pic"
-VictreebelPicFront:
+VictreebelPicFront: ; 36fea (d:6fea)
 	INCBIN "pic/bmon/victreebel.pic"
-VictreebelPicBack:
+VictreebelPicBack: ; 371b2 (d:71b2)
 	INCBIN "pic/monback/victreebelb.pic"
 
-INCBIN "baserom.gbc",$37244,$37258 - $37244
+Unknown_37244: ; 37244 (d:7244)
+INCBIN "baserom.gbc",$37244,$37247 - $37244
 
+Unknown_37247: ; 37247 (d:7247)
+INCBIN "baserom.gbc",$37247,$3724f - $37247
+
+Unknown_3724f: ; 3724f (d:724f)
+INCBIN "baserom.gbc",$3724f,$37258 - $3724f
+
 ; known jump sources: 44bd (1:44bd), 44c8 (1:44c8)
-Func_37258: ; 37258 (d:7258)
+LoadScreenTilesFromBuffer18: ; 37258 (d:7258)
 	ld a, d
-	ld bc, $7247
+	ld bc, Unknown_37247 ; $7247
 	ld d, $88
 	ld e, $0
 	and a
 	jr nz, Func_3726a
-	ld bc, $724f
+	ld bc, Unknown_3724f ; $724f
 	ld d, $0
 	ld e, $0
 
@@ -44704,6 +45198,7 @@
 	jr z, .asm_3729a
 	ret
 
+Unknown_372a0: ; 372a0 (d:72a0)
 INCBIN "baserom.gbc",$372a0,$372ac - $372a0
 
 ; known jump sources: 4451 (1:4451)
@@ -44717,7 +45212,7 @@
 	ret nz
 .asm_372ba
 	ld e, $1
-	ld bc, $7244
+	ld bc, Unknown_37244 ; $7244
 	ld d, $0
 	jp Func_3726a
 
@@ -44727,7 +45222,7 @@
 	push hl
 	xor a
 	ld d, a
-	ld hl, $72a0
+	ld hl, Unknown_372a0 ; $72a0
 	add hl, de
 	ld a, [hl]
 	pop hl
@@ -44741,17 +45236,21 @@
 ; known jump sources: 137c9 (4:77c9), 3ec42 (f:6c42)
 Func_372d6: ; 372d6 (d:72d6)
 	call LoadTextBoxTilePatterns
-	ld hl, $c3f3
+	FuncCoord 3, 4 ; $c3f3
+	ld hl, Coord
 	ld b, $7
 	ld c, $c
 	call TextBoxBorder
-	ld hl, $c408
+	FuncCoord 4, 5 ; $c408
+	ld hl, Coord
 	ld de, W_PLAYERNAME ; $d158
 	call PlaceString
-	ld hl, $c46c
+	FuncCoord 4, 10 ; $c46c
+	ld hl, Coord
 	ld de, W_GRASSRATE ; $d887
 	call PlaceString
-	ld hl, $c449
+	FuncCoord 9, 8 ; $c449
+	ld hl, Coord
 	ld a, $69
 	ld [hli], a
 	ld [hl], $6a
@@ -44765,7 +45264,7 @@
 
 INCBIN "baserom.gbc",$3730e,$37390 - $3730e
 
-UnnamedText_37390: ; 0x37390
+UnnamedText_37390: ; 37390 (d:7390)
 	TX_FAR _UnnamedText_37390
 	db $50
 ; 0x37390 + 5 bytes
@@ -44772,27 +45271,27 @@
 
 INCBIN "baserom.gbc",$37395,$37467 - $37395
 
-UnnamedText_37467: ; 0x37467
+UnnamedText_37467: ; 37467 (d:7467)
 	TX_FAR _UnnamedText_37467
 	db $50
 ; 0x37467 + 5 bytes
 
-UnnamedText_3746c: ; 0x3746c
+UnnamedText_3746c: ; 3746c (d:746c)
 	TX_FAR _UnnamedText_3746c
 	db $50
 ; 0x3746c + 5 bytes
 
-UnnamedText_37471: ; 0x37471
+UnnamedText_37471: ; 37471 (d:7471)
 	TX_FAR _UnnamedText_37471
 	db $50
 ; 0x37471 + 5 bytes
 
-UnnamedText_37476: ; 0x37476
+UnnamedText_37476: ; 37476 (d:7476)
 	TX_FAR _UnnamedText_37476
 	db $50
 ; 0x37476 + 5 bytes
 
-UnnamedText_3747b: ; 0x3747b
+UnnamedText_3747b: ; 3747b (d:747b)
 	TX_FAR _UnnamedText_3747b
 	db $50
 ; 0x3747b + 5 bytes
@@ -44799,7 +45298,7 @@
 
 INCBIN "baserom.gbc",$37480,$37673 - $37480
 
-UnnamedText_37673: ; 0x37673
+UnnamedText_37673: ; 37673 (d:7673)
 	TX_FAR _UnnamedText_37673
 	db $50
 ; 0x37673 + 5 bytes
@@ -44806,7 +45305,7 @@
 
 INCBIN "baserom.gbc",$37678,$3769d - $37678
 
-UnnamedText_3769d: ; 0x3769d
+UnnamedText_3769d: ; 3769d (d:769d)
 	TX_FAR _UnnamedText_3769d
 	db $50
 ; 0x3769d + 5 bytes
@@ -44813,7 +45312,7 @@
 
 INCBIN "baserom.gbc",$376a2,$378f5 - $376a2
 
-SlotMachineMap: ; 0x378f5
+SlotMachineMap: ; 378f5 (d:78f5)
 INCBIN "gfx/tilemaps/slotmachine.map"
 
 INCBIN "baserom.gbc",$379e5,$37af1 - $379e5
@@ -44829,7 +45328,7 @@
 INCBIN "baserom.gbc",$37ca1,$37d41 - $37ca1
 
 ; known jump sources: 38b3 (0:38b3)
-Func_37d41: ; 37d41 (d:7d41)
+_Multiply: ; 37d41 (d:7d41)
 	ld a, $8
 	ld b, a
 	xor a
@@ -44891,7 +45390,7 @@
 	ret
 
 ; known jump sources: 38c6 (0:38c6)
-Func_37da5: ; 37da5 (d:7da5)
+_Divide: ; 37da5 (d:7da5)
 	xor a
 	ld [$FF00+$9a], a
 	ld [$FF00+$9b], a
@@ -44976,17 +45475,17 @@
 
 INCBIN "baserom.gbc",$37e2d,$37e79 - $37e2d
 
-UnnamedText_37e79: ; 0x37e79
+UnnamedText_37e79: ; 37e79 (d:7e79)
 	TX_FAR _UnnamedText_37e79
 	db $50
 ; 0x37e79 + 5 bytes
 
-UnnamedText_37e7e: ; 0x37e7e
+UnnamedText_37e7e: ; 37e7e (d:7e7e)
 	TX_FAR _UnnamedText_37e7e
 	db $50
 ; 0x37e7e + 5 bytes
 
-UnnamedText_37e83: ; 0x37e83
+UnnamedText_37e83: ; 37e83 (d:7e83)
 	TX_FAR _UnnamedText_37e83
 	db $50
 ; 0x37e83 + 5 bytes
@@ -44993,7 +45492,7 @@
 
 SECTION "bankE",DATA,BANK[$E]
 
-Moves: ; 4000
+Moves: ; 38000 (e:4000)
 ; characteristics of each move
 ; animation, effect, power, type, accuracy, PP
 db POUND       ,NO_ADDITIONAL_EFFECT      ,$28,NORMAL,  $FF,35
@@ -45163,7 +45662,7 @@
 db STRUGGLE    ,RECOIL_EFFECT             ,$32,NORMAL,  $FF,10
 
 
-BulbasaurBaseStats: ; 0x383de
+BulbasaurBaseStats: ; 383de (e:43de)
 	db DEX_BULBASAUR ; pokedex id
 	db 45 ; base hp
 	db 49 ; base attack
@@ -45200,7 +45699,7 @@
 
 	db 0 ; padding
 
-IvysaurBaseStats: ; 0x383fa
+IvysaurBaseStats: ; 383fa (e:43fa)
 	db DEX_IVYSAUR ; pokedex id
 	db 60 ; base hp
 	db 62 ; base attack
@@ -45237,7 +45736,7 @@
 
 	db 0 ; padding
 
-VenusaurBaseStats: ; 0x38416
+VenusaurBaseStats: ; 38416 (e:4416)
 	db DEX_VENUSAUR ; pokedex id
 	db 80 ; base hp
 	db 82 ; base attack
@@ -45274,7 +45773,7 @@
 
 	db 0 ; padding
 
-CharmanderBaseStats: ; 0x38432
+CharmanderBaseStats: ; 38432 (e:4432)
 	db DEX_CHARMANDER ; pokedex id
 	db 39 ; base hp
 	db 52 ; base attack
@@ -45311,7 +45810,7 @@
 
 	db 0 ; padding
 
-CharmeleonBaseStats: ; 0x3844e
+CharmeleonBaseStats: ; 3844e (e:444e)
 	db DEX_CHARMELEON ; pokedex id
 	db 58 ; base hp
 	db 64 ; base attack
@@ -45348,7 +45847,7 @@
 
 	db 0 ; padding
 
-CharizardBaseStats: ; 0x3846a
+CharizardBaseStats: ; 3846a (e:446a)
 	db DEX_CHARIZARD ; pokedex id
 	db 78 ; base hp
 	db 84 ; base attack
@@ -45385,7 +45884,7 @@
 
 	db 0 ; padding
 
-SquirtleBaseStats: ; 0x38486
+SquirtleBaseStats: ; 38486 (e:4486)
 	db DEX_SQUIRTLE ; pokedex id
 	db 44 ; base hp
 	db 48 ; base attack
@@ -45422,7 +45921,7 @@
 
 	db 0 ; padding
 
-WartortleBaseStats: ; 0x384a2
+WartortleBaseStats: ; 384a2 (e:44a2)
 	db DEX_WARTORTLE ; pokedex id
 	db 59 ; base hp
 	db 63 ; base attack
@@ -45459,7 +45958,7 @@
 
 	db 0 ; padding
 
-BlastoiseBaseStats: ; 0x384be
+BlastoiseBaseStats: ; 384be (e:44be)
 	db DEX_BLASTOISE ; pokedex id
 	db 79 ; base hp
 	db 83 ; base attack
@@ -45496,7 +45995,7 @@
 
 	db 0 ; padding
 
-CaterpieBaseStats: ; 0x384da
+CaterpieBaseStats: ; 384da (e:44da)
 	db DEX_CATERPIE ; pokedex id
 	db 45 ; base hp
 	db 30 ; base attack
@@ -45533,7 +46032,7 @@
 
 	db 0 ; padding
 
-MetapodBaseStats: ; 0x384f6
+MetapodBaseStats: ; 384f6 (e:44f6)
 	db DEX_METAPOD ; pokedex id
 	db 50 ; base hp
 	db 20 ; base attack
@@ -45570,7 +46069,7 @@
 
 	db 0 ; padding
 
-ButterfreeBaseStats: ; 0x38512
+ButterfreeBaseStats: ; 38512 (e:4512)
 	db DEX_BUTTERFREE ; pokedex id
 	db 60 ; base hp
 	db 45 ; base attack
@@ -45607,7 +46106,7 @@
 
 	db 0 ; padding
 
-WeedleBaseStats: ; 0x3852e
+WeedleBaseStats: ; 3852e (e:452e)
 	db DEX_WEEDLE ; pokedex id
 	db 40 ; base hp
 	db 35 ; base attack
@@ -45644,7 +46143,7 @@
 
 	db 0 ; padding
 
-KakunaBaseStats: ; 0x3854a
+KakunaBaseStats: ; 3854a (e:454a)
 	db DEX_KAKUNA ; pokedex id
 	db 45 ; base hp
 	db 25 ; base attack
@@ -45681,7 +46180,7 @@
 
 	db 0 ; padding
 
-BeedrillBaseStats: ; 0x38566
+BeedrillBaseStats: ; 38566 (e:4566)
 	db DEX_BEEDRILL ; pokedex id
 	db 65 ; base hp
 	db 80 ; base attack
@@ -45718,7 +46217,7 @@
 
 	db 0 ; padding
 
-PidgeyBaseStats: ; 0x38582
+PidgeyBaseStats: ; 38582 (e:4582)
 	db DEX_PIDGEY ; pokedex id
 	db 40 ; base hp
 	db 45 ; base attack
@@ -45755,7 +46254,7 @@
 
 	db 0 ; padding
 
-PidgeottoBaseStats: ; 0x3859e
+PidgeottoBaseStats: ; 3859e (e:459e)
 	db DEX_PIDGEOTTO ; pokedex id
 	db 63 ; base hp
 	db 60 ; base attack
@@ -45792,7 +46291,7 @@
 
 	db 0 ; padding
 
-PidgeotBaseStats: ; 0x385ba
+PidgeotBaseStats: ; 385ba (e:45ba)
 	db DEX_PIDGEOT ; pokedex id
 	db 83 ; base hp
 	db 80 ; base attack
@@ -45829,7 +46328,7 @@
 
 	db 0 ; padding
 
-RattataBaseStats: ; 0x385d6
+RattataBaseStats: ; 385d6 (e:45d6)
 	db DEX_RATTATA ; pokedex id
 	db 30 ; base hp
 	db 56 ; base attack
@@ -45866,7 +46365,7 @@
 
 	db 0 ; padding
 
-RaticateBaseStats: ; 0x385f2
+RaticateBaseStats: ; 385f2 (e:45f2)
 	db DEX_RATICATE ; pokedex id
 	db 55 ; base hp
 	db 81 ; base attack
@@ -45903,7 +46402,7 @@
 
 	db 0 ; padding
 
-SpearowBaseStats: ; 0x3860e
+SpearowBaseStats: ; 3860e (e:460e)
 	db DEX_SPEAROW ; pokedex id
 	db 40 ; base hp
 	db 60 ; base attack
@@ -45940,7 +46439,7 @@
 
 	db 0 ; padding
 
-FearowBaseStats: ; 0x3862a
+FearowBaseStats: ; 3862a (e:462a)
 	db DEX_FEAROW ; pokedex id
 	db 65 ; base hp
 	db 90 ; base attack
@@ -45977,7 +46476,7 @@
 
 	db 0 ; padding
 
-EkansBaseStats: ; 0x38646
+EkansBaseStats: ; 38646 (e:4646)
 	db DEX_EKANS ; pokedex id
 	db 35 ; base hp
 	db 60 ; base attack
@@ -46014,7 +46513,7 @@
 
 	db 0 ; padding
 
-ArbokBaseStats: ; 0x38662
+ArbokBaseStats: ; 38662 (e:4662)
 	db DEX_ARBOK ; pokedex id
 	db 60 ; base hp
 	db 85 ; base attack
@@ -46051,7 +46550,7 @@
 
 	db 0 ; padding
 
-PikachuBaseStats: ; 0x3867e
+PikachuBaseStats: ; 3867e (e:467e)
 	db DEX_PIKACHU ; pokedex id
 	db 35 ; base hp
 	db 55 ; base attack
@@ -46088,7 +46587,7 @@
 
 	db 0 ; padding
 
-RaichuBaseStats: ; 0x3869a
+RaichuBaseStats: ; 3869a (e:469a)
 	db DEX_RAICHU ; pokedex id
 	db 60 ; base hp
 	db 90 ; base attack
@@ -46125,7 +46624,7 @@
 
 	db 0 ; padding
 
-SandshrewBaseStats: ; 0x386b6
+SandshrewBaseStats: ; 386b6 (e:46b6)
 	db DEX_SANDSHREW ; pokedex id
 	db 50 ; base hp
 	db 75 ; base attack
@@ -46162,7 +46661,7 @@
 
 	db 0 ; padding
 
-SandslashBaseStats: ; 0x386d2
+SandslashBaseStats: ; 386d2 (e:46d2)
 	db DEX_SANDSLASH ; pokedex id
 	db 75 ; base hp
 	db 100 ; base attack
@@ -46199,7 +46698,7 @@
 
 	db 0 ; padding
 
-NidoranFBaseStats: ; 0x386ee
+NidoranFBaseStats: ; 386ee (e:46ee)
 	db DEX_NIDORAN_F ; pokedex id
 	db 55 ; base hp
 	db 47 ; base attack
@@ -46236,7 +46735,7 @@
 
 	db 0 ; padding
 
-NidorinaBaseStats: ; 0x3870a
+NidorinaBaseStats: ; 3870a (e:470a)
 	db DEX_NIDORINA ; pokedex id
 	db 70 ; base hp
 	db 62 ; base attack
@@ -46273,7 +46772,7 @@
 
 	db 0 ; padding
 
-NidoqueenBaseStats: ; 0x38726
+NidoqueenBaseStats: ; 38726 (e:4726)
 	db DEX_NIDOQUEEN ; pokedex id
 	db 90 ; base hp
 	db 82 ; base attack
@@ -46310,7 +46809,7 @@
 
 	db 0 ; padding
 
-NidoranMBaseStats: ; 0x38742
+NidoranMBaseStats: ; 38742 (e:4742)
 	db DEX_NIDORAN_M ; pokedex id
 	db 46 ; base hp
 	db 57 ; base attack
@@ -46347,7 +46846,7 @@
 
 	db 0 ; padding
 
-NidorinoBaseStats: ; 0x3875e
+NidorinoBaseStats: ; 3875e (e:475e)
 	db DEX_NIDORINO ; pokedex id
 	db 61 ; base hp
 	db 72 ; base attack
@@ -46384,7 +46883,7 @@
 
 	db 0 ; padding
 
-NidokingBaseStats: ; 0x3877a
+NidokingBaseStats: ; 3877a (e:477a)
 	db DEX_NIDOKING ; pokedex id
 	db 81 ; base hp
 	db 92 ; base attack
@@ -46421,7 +46920,7 @@
 
 	db 0 ; padding
 
-ClefairyBaseStats: ; 0x38796
+ClefairyBaseStats: ; 38796 (e:4796)
 	db DEX_CLEFAIRY ; pokedex id
 	db 70 ; base hp
 	db 45 ; base attack
@@ -46458,7 +46957,7 @@
 
 	db 0 ; padding
 
-ClefableBaseStats: ; 0x387b2
+ClefableBaseStats: ; 387b2 (e:47b2)
 	db DEX_CLEFABLE ; pokedex id
 	db 95 ; base hp
 	db 70 ; base attack
@@ -46495,7 +46994,7 @@
 
 	db 0 ; padding
 
-VulpixBaseStats: ; 0x387ce
+VulpixBaseStats: ; 387ce (e:47ce)
 	db DEX_VULPIX ; pokedex id
 	db 38 ; base hp
 	db 41 ; base attack
@@ -46532,7 +47031,7 @@
 
 	db 0 ; padding
 
-NinetalesBaseStats: ; 0x387ea
+NinetalesBaseStats: ; 387ea (e:47ea)
 	db DEX_NINETALES ; pokedex id
 	db 73 ; base hp
 	db 76 ; base attack
@@ -46569,7 +47068,7 @@
 
 	db 0 ; padding
 
-JigglypuffBaseStats: ; 0x38806
+JigglypuffBaseStats: ; 38806 (e:4806)
 	db DEX_JIGGLYPUFF ; pokedex id
 	db 115 ; base hp
 	db 45 ; base attack
@@ -46606,7 +47105,7 @@
 
 	db 0 ; padding
 
-WigglytuffBaseStats: ; 0x38822
+WigglytuffBaseStats: ; 38822 (e:4822)
 	db DEX_WIGGLYTUFF ; pokedex id
 	db 140 ; base hp
 	db 70 ; base attack
@@ -46643,7 +47142,7 @@
 
 	db 0 ; padding
 
-ZubatBaseStats: ; 0x3883e
+ZubatBaseStats: ; 3883e (e:483e)
 	db DEX_ZUBAT ; pokedex id
 	db 40 ; base hp
 	db 45 ; base attack
@@ -46680,7 +47179,7 @@
 
 	db 0 ; padding
 
-GolbatBaseStats: ; 0x3885a
+GolbatBaseStats: ; 3885a (e:485a)
 	db DEX_GOLBAT ; pokedex id
 	db 75 ; base hp
 	db 80 ; base attack
@@ -46717,7 +47216,7 @@
 
 	db 0 ; padding
 
-OddishBaseStats: ; 0x38876
+OddishBaseStats: ; 38876 (e:4876)
 	db DEX_ODDISH ; pokedex id
 	db 45 ; base hp
 	db 50 ; base attack
@@ -46754,7 +47253,7 @@
 
 	db 0 ; padding
 
-GloomBaseStats: ; 0x38892
+GloomBaseStats: ; 38892 (e:4892)
 	db DEX_GLOOM ; pokedex id
 	db 60 ; base hp
 	db 65 ; base attack
@@ -46791,7 +47290,7 @@
 
 	db 0 ; padding
 
-VileplumeBaseStats: ; 0x388ae
+VileplumeBaseStats: ; 388ae (e:48ae)
 	db DEX_VILEPLUME ; pokedex id
 	db 75 ; base hp
 	db 80 ; base attack
@@ -46828,7 +47327,7 @@
 
 	db 0 ; padding
 
-ParasBaseStats: ; 0x388ca
+ParasBaseStats: ; 388ca (e:48ca)
 	db DEX_PARAS ; pokedex id
 	db 35 ; base hp
 	db 70 ; base attack
@@ -46865,7 +47364,7 @@
 
 	db 0 ; padding
 
-ParasectBaseStats: ; 0x388e6
+ParasectBaseStats: ; 388e6 (e:48e6)
 	db DEX_PARASECT ; pokedex id
 	db 60 ; base hp
 	db 95 ; base attack
@@ -46902,7 +47401,7 @@
 
 	db 0 ; padding
 
-VenonatBaseStats: ; 0x38902
+VenonatBaseStats: ; 38902 (e:4902)
 	db DEX_VENONAT ; pokedex id
 	db 60 ; base hp
 	db 55 ; base attack
@@ -46939,7 +47438,7 @@
 
 	db 0 ; padding
 
-VenomothBaseStats: ; 0x3891e
+VenomothBaseStats: ; 3891e (e:491e)
 	db DEX_VENOMOTH ; pokedex id
 	db 70 ; base hp
 	db 65 ; base attack
@@ -46976,7 +47475,7 @@
 
 	db 0 ; padding
 
-DiglettBaseStats: ; 0x3893a
+DiglettBaseStats: ; 3893a (e:493a)
 	db DEX_DIGLETT ; pokedex id
 	db 10 ; base hp
 	db 55 ; base attack
@@ -47013,7 +47512,7 @@
 
 	db 0 ; padding
 
-DugtrioBaseStats: ; 0x38956
+DugtrioBaseStats: ; 38956 (e:4956)
 	db DEX_DUGTRIO ; pokedex id
 	db 35 ; base hp
 	db 80 ; base attack
@@ -47050,7 +47549,7 @@
 
 	db 0 ; padding
 
-MeowthBaseStats: ; 0x38972
+MeowthBaseStats: ; 38972 (e:4972)
 	db DEX_MEOWTH ; pokedex id
 	db 40 ; base hp
 	db 45 ; base attack
@@ -47087,7 +47586,7 @@
 
 	db 0 ; padding
 
-PersianBaseStats: ; 0x3898e
+PersianBaseStats: ; 3898e (e:498e)
 	db DEX_PERSIAN ; pokedex id
 	db 65 ; base hp
 	db 70 ; base attack
@@ -47124,7 +47623,7 @@
 
 	db 0 ; padding
 
-PsyduckBaseStats: ; 0x389aa
+PsyduckBaseStats: ; 389aa (e:49aa)
 	db DEX_PSYDUCK ; pokedex id
 	db 50 ; base hp
 	db 52 ; base attack
@@ -47161,7 +47660,7 @@
 
 	db 0 ; padding
 
-GolduckBaseStats: ; 0x389c6
+GolduckBaseStats: ; 389c6 (e:49c6)
 	db DEX_GOLDUCK ; pokedex id
 	db 80 ; base hp
 	db 82 ; base attack
@@ -47198,7 +47697,7 @@
 
 	db 0 ; padding
 
-MankeyBaseStats: ; 0x389e2
+MankeyBaseStats: ; 389e2 (e:49e2)
 	db DEX_MANKEY ; pokedex id
 	db 40 ; base hp
 	db 80 ; base attack
@@ -47235,7 +47734,7 @@
 
 	db 0 ; padding
 
-PrimeapeBaseStats: ; 0x389fe
+PrimeapeBaseStats: ; 389fe (e:49fe)
 	db DEX_PRIMEAPE ; pokedex id
 	db 65 ; base hp
 	db 105 ; base attack
@@ -47272,7 +47771,7 @@
 
 	db 0 ; padding
 
-GrowlitheBaseStats: ; 0x38a1a
+GrowlitheBaseStats: ; 38a1a (e:4a1a)
 	db DEX_GROWLITHE ; pokedex id
 	db 55 ; base hp
 	db 70 ; base attack
@@ -47309,7 +47808,7 @@
 
 	db 0 ; padding
 
-ArcanineBaseStats: ; 0x38a36
+ArcanineBaseStats: ; 38a36 (e:4a36)
 	db DEX_ARCANINE ; pokedex id
 	db 90 ; base hp
 	db 110 ; base attack
@@ -47346,7 +47845,7 @@
 
 	db 0 ; padding
 
-PoliwagBaseStats: ; 0x38a52
+PoliwagBaseStats: ; 38a52 (e:4a52)
 	db DEX_POLIWAG ; pokedex id
 	db 40 ; base hp
 	db 50 ; base attack
@@ -47383,7 +47882,7 @@
 
 	db 0 ; padding
 
-PoliwhirlBaseStats: ; 0x38a6e
+PoliwhirlBaseStats: ; 38a6e (e:4a6e)
 	db DEX_POLIWHIRL ; pokedex id
 	db 65 ; base hp
 	db 65 ; base attack
@@ -47420,7 +47919,7 @@
 
 	db 0 ; padding
 
-PoliwrathBaseStats: ; 0x38a8a
+PoliwrathBaseStats: ; 38a8a (e:4a8a)
 	db DEX_POLIWRATH ; pokedex id
 	db 90 ; base hp
 	db 85 ; base attack
@@ -47457,7 +47956,7 @@
 
 	db 0 ; padding
 
-AbraBaseStats: ; 0x38aa6
+AbraBaseStats: ; 38aa6 (e:4aa6)
 	db DEX_ABRA ; pokedex id
 	db 25 ; base hp
 	db 20 ; base attack
@@ -47494,7 +47993,7 @@
 
 	db 0 ; padding
 
-KadabraBaseStats: ; 0x38ac2
+KadabraBaseStats: ; 38ac2 (e:4ac2)
 	db DEX_KADABRA ; pokedex id
 	db 40 ; base hp
 	db 35 ; base attack
@@ -47531,7 +48030,7 @@
 
 	db 0 ; padding
 
-AlakazamBaseStats: ; 0x38ade
+AlakazamBaseStats: ; 38ade (e:4ade)
 	db DEX_ALAKAZAM ; pokedex id
 	db 55 ; base hp
 	db 50 ; base attack
@@ -47568,7 +48067,7 @@
 
 	db 0 ; padding
 
-MachopBaseStats: ; 0x38afa
+MachopBaseStats: ; 38afa (e:4afa)
 	db DEX_MACHOP ; pokedex id
 	db 70 ; base hp
 	db 80 ; base attack
@@ -47605,7 +48104,7 @@
 
 	db 0 ; padding
 
-MachokeBaseStats: ; 0x38b16
+MachokeBaseStats: ; 38b16 (e:4b16)
 	db DEX_MACHOKE ; pokedex id
 	db 80 ; base hp
 	db 100 ; base attack
@@ -47642,7 +48141,7 @@
 
 	db 0 ; padding
 
-MachampBaseStats: ; 0x38b32
+MachampBaseStats: ; 38b32 (e:4b32)
 	db DEX_MACHAMP ; pokedex id
 	db 90 ; base hp
 	db 130 ; base attack
@@ -47679,7 +48178,7 @@
 
 	db 0 ; padding
 
-BellsproutBaseStats: ; 0x38b4e
+BellsproutBaseStats: ; 38b4e (e:4b4e)
 	db DEX_BELLSPROUT ; pokedex id
 	db 50 ; base hp
 	db 75 ; base attack
@@ -47716,7 +48215,7 @@
 
 	db 0 ; padding
 
-WeepinbellBaseStats: ; 0x38b6a
+WeepinbellBaseStats: ; 38b6a (e:4b6a)
 	db DEX_WEEPINBELL ; pokedex id
 	db 65 ; base hp
 	db 90 ; base attack
@@ -47753,7 +48252,7 @@
 
 	db 0 ; padding
 
-VictreebelBaseStats: ; 0x38b86
+VictreebelBaseStats: ; 38b86 (e:4b86)
 	db DEX_VICTREEBEL ; pokedex id
 	db 80 ; base hp
 	db 105 ; base attack
@@ -47790,7 +48289,7 @@
 
 	db 0 ; padding
 
-TentacoolBaseStats: ; 0x38ba2
+TentacoolBaseStats: ; 38ba2 (e:4ba2)
 	db DEX_TENTACOOL ; pokedex id
 	db 40 ; base hp
 	db 40 ; base attack
@@ -47827,7 +48326,7 @@
 
 	db 0 ; padding
 
-TentacruelBaseStats: ; 0x38bbe
+TentacruelBaseStats: ; 38bbe (e:4bbe)
 	db DEX_TENTACRUEL ; pokedex id
 	db 80 ; base hp
 	db 70 ; base attack
@@ -47864,7 +48363,7 @@
 
 	db 0 ; padding
 
-GeodudeBaseStats: ; 0x38bda
+GeodudeBaseStats: ; 38bda (e:4bda)
 	db DEX_GEODUDE ; pokedex id
 	db 40 ; base hp
 	db 80 ; base attack
@@ -47901,7 +48400,7 @@
 
 	db 0 ; padding
 
-GravelerBaseStats: ; 0x38bf6
+GravelerBaseStats: ; 38bf6 (e:4bf6)
 	db DEX_GRAVELER ; pokedex id
 	db 55 ; base hp
 	db 95 ; base attack
@@ -47938,7 +48437,7 @@
 
 	db 0 ; padding
 
-GolemBaseStats: ; 0x38c12
+GolemBaseStats: ; 38c12 (e:4c12)
 	db DEX_GOLEM ; pokedex id
 	db 80 ; base hp
 	db 110 ; base attack
@@ -47975,7 +48474,7 @@
 
 	db 0 ; padding
 
-PonytaBaseStats: ; 0x38c2e
+PonytaBaseStats: ; 38c2e (e:4c2e)
 	db DEX_PONYTA ; pokedex id
 	db 50 ; base hp
 	db 85 ; base attack
@@ -48012,7 +48511,7 @@
 
 	db 0 ; padding
 
-RapidashBaseStats: ; 0x38c4a
+RapidashBaseStats: ; 38c4a (e:4c4a)
 	db DEX_RAPIDASH ; pokedex id
 	db 65 ; base hp
 	db 100 ; base attack
@@ -48049,7 +48548,7 @@
 
 	db 0 ; padding
 
-SlowpokeBaseStats: ; 0x38c66
+SlowpokeBaseStats: ; 38c66 (e:4c66)
 	db DEX_SLOWPOKE ; pokedex id
 	db 90 ; base hp
 	db 65 ; base attack
@@ -48086,7 +48585,7 @@
 
 	db 0 ; padding
 
-SlowbroBaseStats: ; 0x38c82
+SlowbroBaseStats: ; 38c82 (e:4c82)
 	db DEX_SLOWBRO ; pokedex id
 	db 95 ; base hp
 	db 75 ; base attack
@@ -48123,7 +48622,7 @@
 
 	db 0 ; padding
 
-MagnemiteBaseStats: ; 0x38c9e
+MagnemiteBaseStats: ; 38c9e (e:4c9e)
 	db DEX_MAGNEMITE ; pokedex id
 	db 25 ; base hp
 	db 35 ; base attack
@@ -48160,7 +48659,7 @@
 
 	db 0 ; padding
 
-MagnetonBaseStats: ; 0x38cba
+MagnetonBaseStats: ; 38cba (e:4cba)
 	db DEX_MAGNETON ; pokedex id
 	db 50 ; base hp
 	db 60 ; base attack
@@ -48197,7 +48696,7 @@
 
 	db 0 ; padding
 
-FarfetchdBaseStats: ; 0x38cd6
+FarfetchdBaseStats: ; 38cd6 (e:4cd6)
 	db DEX_FARFETCH_D ; pokedex id
 	db 52 ; base hp
 	db 65 ; base attack
@@ -48234,7 +48733,7 @@
 
 	db 0 ; padding
 
-DoduoBaseStats: ; 0x38cf2
+DoduoBaseStats: ; 38cf2 (e:4cf2)
 	db DEX_DODUO ; pokedex id
 	db 35 ; base hp
 	db 85 ; base attack
@@ -48271,7 +48770,7 @@
 
 	db 0 ; padding
 
-DodrioBaseStats: ; 0x38d0e
+DodrioBaseStats: ; 38d0e (e:4d0e)
 	db DEX_DODRIO ; pokedex id
 	db 60 ; base hp
 	db 110 ; base attack
@@ -48308,7 +48807,7 @@
 
 	db 0 ; padding
 
-SeelBaseStats: ; 0x38d2a
+SeelBaseStats: ; 38d2a (e:4d2a)
 	db DEX_SEEL ; pokedex id
 	db 65 ; base hp
 	db 45 ; base attack
@@ -48345,7 +48844,7 @@
 
 	db 0 ; padding
 
-DewgongBaseStats: ; 0x38d46
+DewgongBaseStats: ; 38d46 (e:4d46)
 	db DEX_DEWGONG ; pokedex id
 	db 90 ; base hp
 	db 70 ; base attack
@@ -48382,7 +48881,7 @@
 
 	db 0 ; padding
 
-GrimerBaseStats: ; 0x38d62
+GrimerBaseStats: ; 38d62 (e:4d62)
 	db DEX_GRIMER ; pokedex id
 	db 80 ; base hp
 	db 80 ; base attack
@@ -48419,7 +48918,7 @@
 
 	db 0 ; padding
 
-MukBaseStats: ; 0x38d7e
+MukBaseStats: ; 38d7e (e:4d7e)
 	db DEX_MUK ; pokedex id
 	db 105 ; base hp
 	db 105 ; base attack
@@ -48456,7 +48955,7 @@
 
 	db 0 ; padding
 
-ShellderBaseStats: ; 0x38d9a
+ShellderBaseStats: ; 38d9a (e:4d9a)
 	db DEX_SHELLDER ; pokedex id
 	db 30 ; base hp
 	db 65 ; base attack
@@ -48493,7 +48992,7 @@
 
 	db 0 ; padding
 
-CloysterBaseStats: ; 0x38db6
+CloysterBaseStats: ; 38db6 (e:4db6)
 	db DEX_CLOYSTER ; pokedex id
 	db 50 ; base hp
 	db 95 ; base attack
@@ -48530,7 +49029,7 @@
 
 	db 0 ; padding
 
-GastlyBaseStats: ; 0x38dd2
+GastlyBaseStats: ; 38dd2 (e:4dd2)
 	db DEX_GASTLY ; pokedex id
 	db 30 ; base hp
 	db 35 ; base attack
@@ -48567,7 +49066,7 @@
 
 	db 0 ; padding
 
-HaunterBaseStats: ; 0x38dee
+HaunterBaseStats: ; 38dee (e:4dee)
 	db DEX_HAUNTER ; pokedex id
 	db 45 ; base hp
 	db 50 ; base attack
@@ -48604,7 +49103,7 @@
 
 	db 0 ; padding
 
-GengarBaseStats: ; 0x38e0a
+GengarBaseStats: ; 38e0a (e:4e0a)
 	db DEX_GENGAR ; pokedex id
 	db 60 ; base hp
 	db 65 ; base attack
@@ -48641,7 +49140,7 @@
 
 	db 0 ; padding
 
-OnixBaseStats: ; 0x38e26
+OnixBaseStats: ; 38e26 (e:4e26)
 	db DEX_ONIX ; pokedex id
 	db 35 ; base hp
 	db 45 ; base attack
@@ -48678,7 +49177,7 @@
 
 	db 0 ; padding
 
-DrowzeeBaseStats: ; 0x38e42
+DrowzeeBaseStats: ; 38e42 (e:4e42)
 	db DEX_DROWZEE ; pokedex id
 	db 60 ; base hp
 	db 48 ; base attack
@@ -48715,7 +49214,7 @@
 
 	db 0 ; padding
 
-HypnoBaseStats: ; 0x38e5e
+HypnoBaseStats: ; 38e5e (e:4e5e)
 	db DEX_HYPNO ; pokedex id
 	db 85 ; base hp
 	db 73 ; base attack
@@ -48752,7 +49251,7 @@
 
 	db 0 ; padding
 
-KrabbyBaseStats: ; 0x38e7a
+KrabbyBaseStats: ; 38e7a (e:4e7a)
 	db DEX_KRABBY ; pokedex id
 	db 30 ; base hp
 	db 105 ; base attack
@@ -48789,7 +49288,7 @@
 
 	db 0 ; padding
 
-KinglerBaseStats: ; 0x38e96
+KinglerBaseStats: ; 38e96 (e:4e96)
 	db DEX_KINGLER ; pokedex id
 	db 55 ; base hp
 	db 130 ; base attack
@@ -48826,7 +49325,7 @@
 
 	db 0 ; padding
 
-VoltorbBaseStats: ; 0x38eb2
+VoltorbBaseStats: ; 38eb2 (e:4eb2)
 	db DEX_VOLTORB ; pokedex id
 	db 40 ; base hp
 	db 30 ; base attack
@@ -48863,7 +49362,7 @@
 
 	db 0 ; padding
 
-ElectrodeBaseStats: ; 0x38ece
+ElectrodeBaseStats: ; 38ece (e:4ece)
 	db DEX_ELECTRODE ; pokedex id
 	db 60 ; base hp
 	db 50 ; base attack
@@ -48900,7 +49399,7 @@
 
 	db 0 ; padding
 
-ExeggcuteBaseStats: ; 0x38eea
+ExeggcuteBaseStats: ; 38eea (e:4eea)
 	db DEX_EXEGGCUTE ; pokedex id
 	db 60 ; base hp
 	db 40 ; base attack
@@ -48937,7 +49436,7 @@
 
 	db 0 ; padding
 
-ExeggutorBaseStats: ; 0x38f06
+ExeggutorBaseStats: ; 38f06 (e:4f06)
 	db DEX_EXEGGUTOR ; pokedex id
 	db 95 ; base hp
 	db 95 ; base attack
@@ -48974,7 +49473,7 @@
 
 	db 0 ; padding
 
-CuboneBaseStats: ; 0x38f22
+CuboneBaseStats: ; 38f22 (e:4f22)
 	db DEX_CUBONE ; pokedex id
 	db 50 ; base hp
 	db 50 ; base attack
@@ -49011,7 +49510,7 @@
 
 	db 0 ; padding
 
-MarowakBaseStats: ; 0x38f3e
+MarowakBaseStats: ; 38f3e (e:4f3e)
 	db DEX_MAROWAK ; pokedex id
 	db 60 ; base hp
 	db 80 ; base attack
@@ -49048,7 +49547,7 @@
 
 	db 0 ; padding
 
-HitmonleeBaseStats: ; 0x38f5a
+HitmonleeBaseStats: ; 38f5a (e:4f5a)
 	db DEX_HITMONLEE ; pokedex id
 	db 50 ; base hp
 	db 120 ; base attack
@@ -49085,7 +49584,7 @@
 
 	db 0 ; padding
 
-HitmonchanBaseStats: ; 0x38f76
+HitmonchanBaseStats: ; 38f76 (e:4f76)
 	db DEX_HITMONCHAN ; pokedex id
 	db 50 ; base hp
 	db 105 ; base attack
@@ -49122,7 +49621,7 @@
 
 	db 0 ; padding
 
-LickitungBaseStats: ; 0x38f92
+LickitungBaseStats: ; 38f92 (e:4f92)
 	db DEX_LICKITUNG ; pokedex id
 	db 90 ; base hp
 	db 55 ; base attack
@@ -49159,7 +49658,7 @@
 
 	db 0 ; padding
 
-KoffingBaseStats: ; 0x38fae
+KoffingBaseStats: ; 38fae (e:4fae)
 	db DEX_KOFFING ; pokedex id
 	db 40 ; base hp
 	db 65 ; base attack
@@ -49196,7 +49695,7 @@
 
 	db 0 ; padding
 
-WeezingBaseStats: ; 0x38fca
+WeezingBaseStats: ; 38fca (e:4fca)
 	db DEX_WEEZING ; pokedex id
 	db 65 ; base hp
 	db 90 ; base attack
@@ -49233,7 +49732,7 @@
 
 	db 0 ; padding
 
-RhyhornBaseStats: ; 0x38fe6
+RhyhornBaseStats: ; 38fe6 (e:4fe6)
 	db DEX_RHYHORN ; pokedex id
 	db 80 ; base hp
 	db 85 ; base attack
@@ -49270,7 +49769,7 @@
 
 	db 0 ; padding
 
-RhydonBaseStats: ; 0x39002
+RhydonBaseStats: ; 39002 (e:5002)
 	db DEX_RHYDON ; pokedex id
 	db 105 ; base hp
 	db 130 ; base attack
@@ -49307,7 +49806,7 @@
 
 	db 0 ; padding
 
-ChanseyBaseStats: ; 0x3901e
+ChanseyBaseStats: ; 3901e (e:501e)
 	db DEX_CHANSEY ; pokedex id
 	db 250 ; base hp
 	db 5 ; base attack
@@ -49344,7 +49843,7 @@
 
 	db 0 ; padding
 
-TangelaBaseStats: ; 0x3903a
+TangelaBaseStats: ; 3903a (e:503a)
 	db DEX_TANGELA ; pokedex id
 	db 65 ; base hp
 	db 55 ; base attack
@@ -49381,7 +49880,7 @@
 
 	db 0 ; padding
 
-KangaskhanBaseStats: ; 0x39056
+KangaskhanBaseStats: ; 39056 (e:5056)
 	db DEX_KANGASKHAN ; pokedex id
 	db 105 ; base hp
 	db 95 ; base attack
@@ -49418,7 +49917,7 @@
 
 	db 0 ; padding
 
-HorseaBaseStats: ; 0x39072
+HorseaBaseStats: ; 39072 (e:5072)
 	db DEX_HORSEA ; pokedex id
 	db 30 ; base hp
 	db 40 ; base attack
@@ -49455,7 +49954,7 @@
 
 	db 0 ; padding
 
-SeadraBaseStats: ; 0x3908e
+SeadraBaseStats: ; 3908e (e:508e)
 	db DEX_SEADRA ; pokedex id
 	db 55 ; base hp
 	db 65 ; base attack
@@ -49492,7 +49991,7 @@
 
 	db 0 ; padding
 
-GoldeenBaseStats: ; 0x390aa
+GoldeenBaseStats: ; 390aa (e:50aa)
 	db DEX_GOLDEEN ; pokedex id
 	db 45 ; base hp
 	db 67 ; base attack
@@ -49529,7 +50028,7 @@
 
 	db 0 ; padding
 
-SeakingBaseStats: ; 0x390c6
+SeakingBaseStats: ; 390c6 (e:50c6)
 	db DEX_SEAKING ; pokedex id
 	db 80 ; base hp
 	db 92 ; base attack
@@ -49566,7 +50065,7 @@
 
 	db 0 ; padding
 
-StaryuBaseStats: ; 0x390e2
+StaryuBaseStats: ; 390e2 (e:50e2)
 	db DEX_STARYU ; pokedex id
 	db 30 ; base hp
 	db 45 ; base attack
@@ -49603,7 +50102,7 @@
 
 	db 0 ; padding
 
-StarmieBaseStats: ; 0x390fe
+StarmieBaseStats: ; 390fe (e:50fe)
 	db DEX_STARMIE ; pokedex id
 	db 60 ; base hp
 	db 75 ; base attack
@@ -49640,7 +50139,7 @@
 
 	db 0 ; padding
 
-MrMimeBaseStats: ; 0x3911a
+MrMimeBaseStats: ; 3911a (e:511a)
 	db DEX_MR_MIME ; pokedex id
 	db 40 ; base hp
 	db 45 ; base attack
@@ -49677,7 +50176,7 @@
 
 	db 0 ; padding
 
-ScytherBaseStats: ; 0x39136
+ScytherBaseStats: ; 39136 (e:5136)
 	db DEX_SCYTHER ; pokedex id
 	db 70 ; base hp
 	db 110 ; base attack
@@ -49714,7 +50213,7 @@
 
 	db 0 ; padding
 
-JynxBaseStats: ; 0x39152
+JynxBaseStats: ; 39152 (e:5152)
 	db DEX_JYNX ; pokedex id
 	db 65 ; base hp
 	db 50 ; base attack
@@ -49751,7 +50250,7 @@
 
 	db 0 ; padding
 
-ElectabuzzBaseStats: ; 0x3916e
+ElectabuzzBaseStats: ; 3916e (e:516e)
 	db DEX_ELECTABUZZ ; pokedex id
 	db 65 ; base hp
 	db 83 ; base attack
@@ -49788,7 +50287,7 @@
 
 	db 0 ; padding
 
-MagmarBaseStats: ; 0x3918a
+MagmarBaseStats: ; 3918a (e:518a)
 	db DEX_MAGMAR ; pokedex id
 	db 65 ; base hp
 	db 95 ; base attack
@@ -49825,7 +50324,7 @@
 
 	db 0 ; padding
 
-PinsirBaseStats: ; 0x391a6
+PinsirBaseStats: ; 391a6 (e:51a6)
 	db DEX_PINSIR ; pokedex id
 	db 65 ; base hp
 	db 125 ; base attack
@@ -49862,7 +50361,7 @@
 
 	db 0 ; padding
 
-TaurosBaseStats: ; 0x391c2
+TaurosBaseStats: ; 391c2 (e:51c2)
 	db DEX_TAUROS ; pokedex id
 	db 75 ; base hp
 	db 100 ; base attack
@@ -49899,7 +50398,7 @@
 
 	db 0 ; padding
 
-MagikarpBaseStats: ; 0x391de
+MagikarpBaseStats: ; 391de (e:51de)
 	db DEX_MAGIKARP ; pokedex id
 	db 20 ; base hp
 	db 10 ; base attack
@@ -49936,7 +50435,7 @@
 
 	db 0 ; padding
 
-GyaradosBaseStats: ; 0x391fa
+GyaradosBaseStats: ; 391fa (e:51fa)
 	db DEX_GYARADOS ; pokedex id
 	db 95 ; base hp
 	db 125 ; base attack
@@ -49973,7 +50472,7 @@
 
 	db 0 ; padding
 
-LaprasBaseStats: ; 0x39216
+LaprasBaseStats: ; 39216 (e:5216)
 	db DEX_LAPRAS ; pokedex id
 	db 130 ; base hp
 	db 85 ; base attack
@@ -50010,7 +50509,7 @@
 
 	db 0 ; padding
 
-DittoBaseStats: ; 0x39232
+DittoBaseStats: ; 39232 (e:5232)
 	db DEX_DITTO ; pokedex id
 	db 48 ; base hp
 	db 48 ; base attack
@@ -50047,7 +50546,7 @@
 
 	db 0 ; padding
 
-EeveeBaseStats: ; 0x3924e
+EeveeBaseStats: ; 3924e (e:524e)
 	db DEX_EEVEE ; pokedex id
 	db 55 ; base hp
 	db 55 ; base attack
@@ -50084,7 +50583,7 @@
 
 	db 0 ; padding
 
-VaporeonBaseStats: ; 0x3926a
+VaporeonBaseStats: ; 3926a (e:526a)
 	db DEX_VAPOREON ; pokedex id
 	db 130 ; base hp
 	db 65 ; base attack
@@ -50121,7 +50620,7 @@
 
 	db 0 ; padding
 
-JolteonBaseStats: ; 0x39286
+JolteonBaseStats: ; 39286 (e:5286)
 	db DEX_JOLTEON ; pokedex id
 	db 65 ; base hp
 	db 65 ; base attack
@@ -50158,7 +50657,7 @@
 
 	db 0 ; padding
 
-FlareonBaseStats: ; 0x392a2
+FlareonBaseStats: ; 392a2 (e:52a2)
 	db DEX_FLAREON ; pokedex id
 	db 65 ; base hp
 	db 130 ; base attack
@@ -50195,7 +50694,7 @@
 
 	db 0 ; padding
 
-PorygonBaseStats: ; 0x392be
+PorygonBaseStats: ; 392be (e:52be)
 	db DEX_PORYGON ; pokedex id
 	db 65 ; base hp
 	db 60 ; base attack
@@ -50232,7 +50731,7 @@
 
 	db 0 ; padding
 
-OmanyteBaseStats: ; 0x392da
+OmanyteBaseStats: ; 392da (e:52da)
 	db DEX_OMANYTE ; pokedex id
 	db 35 ; base hp
 	db 40 ; base attack
@@ -50269,7 +50768,7 @@
 
 	db 0 ; padding
 
-OmastarBaseStats: ; 0x392f6
+OmastarBaseStats: ; 392f6 (e:52f6)
 	db DEX_OMASTAR ; pokedex id
 	db 70 ; base hp
 	db 60 ; base attack
@@ -50306,7 +50805,7 @@
 
 	db 0 ; padding
 
-KabutoBaseStats: ; 0x39312
+KabutoBaseStats: ; 39312 (e:5312)
 	db DEX_KABUTO ; pokedex id
 	db 30 ; base hp
 	db 80 ; base attack
@@ -50343,7 +50842,7 @@
 
 	db 0 ; padding
 
-KabutopsBaseStats: ; 0x3932e
+KabutopsBaseStats: ; 3932e (e:532e)
 	db DEX_KABUTOPS ; pokedex id
 	db 60 ; base hp
 	db 115 ; base attack
@@ -50380,7 +50879,7 @@
 
 	db 0 ; padding
 
-AerodactylBaseStats: ; 0x3934a
+AerodactylBaseStats: ; 3934a (e:534a)
 	db DEX_AERODACTYL ; pokedex id
 	db 80 ; base hp
 	db 105 ; base attack
@@ -50417,7 +50916,7 @@
 
 	db 0 ; padding
 
-SnorlaxBaseStats: ; 0x39366
+SnorlaxBaseStats: ; 39366 (e:5366)
 	db DEX_SNORLAX ; pokedex id
 	db 160 ; base hp
 	db 110 ; base attack
@@ -50454,7 +50953,7 @@
 
 	db 0 ; padding
 
-ArticunoBaseStats: ; 0x39382
+ArticunoBaseStats: ; 39382 (e:5382)
 	db DEX_ARTICUNO ; pokedex id
 	db 90 ; base hp
 	db 85 ; base attack
@@ -50491,7 +50990,7 @@
 
 	db 0 ; padding
 
-ZapdosBaseStats: ; 0x3939e
+ZapdosBaseStats: ; 3939e (e:539e)
 	db DEX_ZAPDOS ; pokedex id
 	db 90 ; base hp
 	db 90 ; base attack
@@ -50528,7 +51027,7 @@
 
 	db 0 ; padding
 
-MoltresBaseStats: ; 0x393ba
+MoltresBaseStats: ; 393ba (e:53ba)
 	db DEX_MOLTRES ; pokedex id
 	db 90 ; base hp
 	db 100 ; base attack
@@ -50565,7 +51064,7 @@
 
 	db 0 ; padding
 
-DratiniBaseStats: ; 0x393d6
+DratiniBaseStats: ; 393d6 (e:53d6)
 	db DEX_DRATINI ; pokedex id
 	db 41 ; base hp
 	db 64 ; base attack
@@ -50602,7 +51101,7 @@
 
 	db 0 ; padding
 
-DragonairBaseStats: ; 0x393f2
+DragonairBaseStats: ; 393f2 (e:53f2)
 	db DEX_DRAGONAIR ; pokedex id
 	db 61 ; base hp
 	db 84 ; base attack
@@ -50639,7 +51138,7 @@
 
 	db 0 ; padding
 
-DragoniteBaseStats: ; 0x3940e
+DragoniteBaseStats: ; 3940e (e:540e)
 	db DEX_DRAGONITE ; pokedex id
 	db 91 ; base hp
 	db 134 ; base attack
@@ -50676,7 +51175,7 @@
 
 	db 0 ; padding
 
-MewtwoBaseStats: ; 0x3942a
+MewtwoBaseStats: ; 3942a (e:542a)
 	db DEX_MEWTWO ; pokedex id
 	db 106 ; base hp
 	db 110 ; base attack
@@ -50713,7 +51212,7 @@
 
 	db 0 ; padding
 
-CryData:
+CryData: ; 39446 (e:5446)
 	;$BaseCry, $Pitch, $Length
 	db $11, $00, $80; Rhydon
 	db $03, $00, $80; Kangaskhan
@@ -50942,10 +51441,10 @@
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	ld a, [$d061]
-	ld hl, $d025
+	ld hl, W_PLAYERMONATK
 	jr z, .asm_396b8
 	ld a, [$d066]
-	ld hl, $cff6
+	ld hl, W_ENEMYMONATTACK
 .asm_396b8
 	ld c, $4
 	ld b, a
@@ -50974,13 +51473,14 @@
 ; known jump sources: 3ed17 (f:6d17)
 Func_396d3: ; 396d3 (e:56d3)
 	xor a
-	ld [$cfd8], a
+	ld [W_ENEMYMONID], a
 	ld b, $1
 	call GoPAL_SET
 	ld hl, Func_3f04b
 	ld b, BANK(Func_3f04b)
 	call Bankswitch ; indirect jump to Func_3f04b (3f04b (f:704b))
-	ld hl, $c3b3
+	FuncCoord 19, 0 ; $c3b3
+	ld hl, Coord
 	ld c, $0
 .asm_396e9
 	inc c
@@ -51025,7 +51525,7 @@
 ; 39719 (e:5719)
 ; creates a set of moves that may be used and returns its address in hl
 ; unused slots are filled with 0, all used slots may be chosen with equal probability
-AIEnemyTrainerChooseMoves: ; 5719 0x39719
+AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
 	ld a, $a
 	ld hl, $cee9  ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
 	ld [hli], a   ; move 1
@@ -51079,7 +51579,7 @@
 	jp [hl]       ; execute modification function
 .loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero
 	ld hl, $cee9  ; temp move selection array
-	ld de, $cfed  ; enemy moves
+	ld de, W_ENEMYMONMOVES  ; enemy moves
 	ld c, $4
 .loopDecrementEntries
 	ld a, [de]
@@ -51101,7 +51601,7 @@
 	cp $5
 	jr nz, .loopUndoPartialIteration
 	ld hl, $cee9  ; temp move selection array
-	ld de, $cfed  ; enemy moves
+	ld de, W_ENEMYMONMOVES  ; enemy moves
 	ld c, $4
 .filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0)
 	ld a, [de]
@@ -51125,10 +51625,10 @@
 	ld hl, $cee9    ; use created temporary array as move set
 	ret
 .useOriginalMoveSet
-	ld hl, $cfed    ; use original move set
+	ld hl, W_ENEMYMONMOVES    ; use original move set
 	ret
 
-AIMoveChoiceModificationFunctionPointers: ; 57a3
+AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3)
 dw AIMoveChoiceModification1
 dw AIMoveChoiceModification2
 dw AIMoveChoiceModification3
@@ -51135,12 +51635,12 @@
 dw AIMoveChoiceModification4 ; unused, does nothing
 
 ; discourages moves that cause no damage but only a status ailment if player's mon already has one
-AIMoveChoiceModification1: ; 57ab
+AIMoveChoiceModification1: ; 397ab (e:57ab)
 	ld a, [W_PLAYERMONSTATUS]
 	and a
 	ret z       ; return if no status ailment on player's mon
 	ld hl, $cee8  ; temp move selection array (-1 byte offest)
-	ld de, $cfed  ; enemy moves
+	ld de, W_ENEMYMONMOVES  ; enemy moves
 	ld b, $5
 .nextMove
 	dec b
@@ -51178,12 +51678,12 @@
 db $FF
 
 ; slightly encourage moves with specific effects
-AIMoveChoiceModification2: ; 57e7
+AIMoveChoiceModification2: ; 397e7 (e:57e7)
 	ld a, [$ccd5]
 	cp $1
 	ret nz
 	ld hl, $cee8  ; temp move selection array (-1 byte offest)
-	ld de, $cfed  ; enemy moves
+	ld de, W_ENEMYMONMOVES  ; enemy moves
 	ld b, $5
 .nextMove
 	dec b
@@ -51209,9 +51709,9 @@
 	jr .nextMove
 
 ; encourages moves that are effective against the player's mon
-AIMoveChoiceModification3: ; 5817
+AIMoveChoiceModification3: ; 39817 (e:5817)
 	ld hl, $cee8  ; temp move selection array (-1 byte offest)
-	ld de, $cfed  ; enemy moves
+	ld de, W_ENEMYMONMOVES  ; enemy moves
 	ld b, $5
 .nextMove
 	dec b
@@ -51243,7 +51743,7 @@
 	push bc
 	ld a, [W_ENEMYMOVETYPE]
 	ld d, a
-	ld hl, $cfed  ; enemy moves
+	ld hl, W_ENEMYMONMOVES  ; enemy moves
 	ld b, $5
 	ld c, $0
 .loopMoves
@@ -51278,10 +51778,10 @@
 	jr z, .nextMove
 	inc [hl]       ; slighly discourage this move
 	jr .nextMove
-AIMoveChoiceModification4: ; 5883
+AIMoveChoiceModification4: ; 39883 (e:5883)
 	ret
 
-ReadMove: ; 5884
+ReadMove: ; 39884 (e:5884)
 	push hl
 	push de
 	push bc
@@ -51298,7 +51798,7 @@
 
 ; move choice modifiaction methods that are applied for each trainer class
 ; 0 is sentinel value
-TrainerClassMoveChoiceModifications: ; 589B
+TrainerClassMoveChoiceModifications: ; 3989b (e:589b)
 db 0      ; YOUNGSTER
 db 1,0    ; BUG CATCHER
 db 1,0    ; LASS
@@ -51494,7 +51994,7 @@
 dw LancePic
 db 0,$99,0
 
-TrainerNames: ; 59FF
+TrainerNames: ; 399ff (e:59ff)
 	db "YOUNGSTER@"
 	db "BUG CATCHER@"
 	db "LASS@"
@@ -51607,16 +52107,16 @@
 	jr .asm_39c18
 .asm_39be6
 	cp $4
-	jr nz, .asm_39bf4
+	jr nz, .calcAttackStat4
 	ld hl, W_NUMINPARTY ; $d163
 	ld de, W_PARTYMON1OT ; $d273
 	ld a, $5
 	jr .asm_39c18
-.asm_39bf4
+.calcAttackStat4
 	cp $5
 	jr nz, .asm_39c02
 	ld hl, $cf7b
-	ld de, $421e
+	ld de, MonsterNames ; $421e
 	ld a, $1
 	jr .asm_39c18
 .asm_39c02
@@ -51623,12 +52123,12 @@
 	cp $2
 	jr nz, .asm_39c10
 	ld hl, W_NUMBAGITEMS ; $d31d
-	ld de, $472b
+	ld de, ItemNames ; $472b
 	ld a, $4
 	jr .asm_39c18
 .asm_39c10
 	ld hl, $cf7b
-	ld de, $472b
+	ld de, ItemNames ; $472b
 	ld a, ITEM_NAME
 .asm_39c18
 	ld [W_LISTTYPE], a
@@ -51640,7 +52140,7 @@
 	ld [$cf8d], a
 	ld a, d
 	ld [$cf8e], a
-	ld bc, $4608
+	ld bc, ItemPrices ; $4608
 	ld a, c
 	ld [$cf8f], a
 	ld a, b
@@ -51666,7 +52166,7 @@
 	ld [$cf91], a
 	ret
 ; 39c53 (e:5c53)
-ReadTrainer: ; 5C53
+ReadTrainer: ; 39c53 (e:5c53)
 
 ; don't change any moves in a link battle
 	ld a,[W_ISLINKBATTLE]
@@ -51832,7 +52332,7 @@
 	jr nz,.LastLoop
 	ret
 
-LoneMoves: ; 5D22
+LoneMoves: ; 39d22 (e: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,
@@ -51850,7 +52350,7 @@
 	db 3,FIRE_BLAST
 	db 4,FISSURE
 
-TeamMoves: ; 5D32
+TeamMoves: ; 39d32 (e: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
@@ -52027,7 +52527,7 @@
 	db $ff
 endc
 
-TrainerDataPointers: ; 5D3B
+TrainerDataPointers: ; 39d3b (e:5d3b)
 	dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData
 	dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData
 	dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData
@@ -52048,7 +52548,7 @@
 	; every next two bytes are a level and species
 	; null-terminated
 
-YoungsterData:
+YoungsterData: ; 39d99 (e:5d99)
 	db 11,RATTATA,EKANS,0
 	db 14,SPEAROW,0
 	db 10,RATTATA,RATTATA,ZUBAT,0
@@ -52065,7 +52565,7 @@
 if _YELLOW
 	db 24,SANDSHREW,0
 endc
-BugCatcherData:
+BugCatcherData: ; 39dce (e:5dce)
 if _YELLOW
 	db 7,CATERPIE,CATERPIE,0
 	db 6,METAPOD,CATERPIE,METAPOD,0
@@ -52089,7 +52589,7 @@
 if _YELLOW
 	db 8,CATERPIE,METAPOD,0
 endc
-LassData:
+LassData: ; 39e0c (e:5e0c)
 	db 9,PIDGEY,PIDGEY,0
 	db 10,RATTATA,NIDORAN_M,0
 	db 14,JIGGLYPUFF,0
@@ -52119,7 +52619,7 @@
 if _YELLOW
 	db 6,NIDORAN_F,NIDORAN_M,0
 endc
-SailorData:
+SailorData: ; 39e58 (e:5e58)
 	db 18,MACHOP,SHELLDER,0
 	db 17,MACHOP,TENTACOOL,0
 	db 21,SHELLDER,0
@@ -52132,7 +52632,7 @@
 else
 	db 21,PIKACHU,PIKACHU,0
 endc
-JrTrainerMData:
+JrTrainerMData: ; 39e78 (e:5e78)
 if _YELLOW
 	db 9,DIGLETT,SANDSHREW,0
 else
@@ -52149,7 +52649,7 @@
 if _YELLOW
 	db 16,WEEPINBELL,0
 endc
-JrTrainerFData:
+JrTrainerFData: ; 39e9d (e:5e9d)
 	db 19,GOLDEEN,0
 if _YELLOW
 	db 16,ODDISH,BELLSPROUT,0
@@ -52193,7 +52693,7 @@
 if _YELLOW
 	db 20,CUBONE,0
 endc
-PokemaniacData:
+PokemaniacData: ; 39f09 (e:5f09)
 	db 30,RHYHORN,LICKITUNG,0
 	db 20,CUBONE,SLOWPOKE,0
 	db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0
@@ -52201,7 +52701,7 @@
 	db 25,SLOWPOKE,0
 	db 40,CHARMELEON,LAPRAS,LICKITUNG,0
 	db 23,CUBONE,SLOWPOKE,0
-SuperNerdData:
+SuperNerdData: ; 39f26 (e:5f26)
 	db 11,MAGNEMITE,VOLTORB,0
 	db 12,GRIMER,VOLTORB,KOFFING,0
 	db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0
@@ -52214,7 +52714,7 @@
 	db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0
 	db 41,RAPIDASH,0
 	db 37,GROWLITHE,VULPIX,0
-HikerData:
+HikerData: ; 39f5e (e:5f5e)
 	db 10,GEODUDE,GEODUDE,ONIX,0
 	db 15,MACHOP,GEODUDE,0
 	db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0
@@ -52229,7 +52729,7 @@
 	db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0
 	db 20,ONIX,ONIX,GEODUDE,0
 	db 21,GEODUDE,GRAVELER,0
-BikerData:
+BikerData: ; 39f9c (e:5f9c)
 	db 28,KOFFING,KOFFING,KOFFING,0
 	db 29,KOFFING,GRIMER,0
 	db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0
@@ -52245,7 +52745,7 @@
 	db 26,KOFFING,KOFFING,GRIMER,KOFFING,0
 	db 28,GRIMER,GRIMER,KOFFING,0
 	db 29,KOFFING,MUK,0
-BurglarData:
+BurglarData: ; 39fe4 (e:5fe4)
 	db 29,GROWLITHE,VULPIX,0
 	db 33,GROWLITHE,0
 	db 28,VULPIX,CHARMANDER,PONYTA,0
@@ -52255,13 +52755,13 @@
 	db 34,CHARMANDER,CHARMELEON,0
 	db 38,NINETALES,0
 	db 34,GROWLITHE,PONYTA,0
-EngineerData:
+EngineerData: ; 3a007 (e:6007)
 	db 21,VOLTORB,MAGNEMITE,0
 	db 21,MAGNEMITE,0
 	db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0
-Juggler1Data:
+Juggler1Data: ; 3a013 (e:6013)
 ; none
-FisherData:
+FisherData: ; 3a013 (e:6013)
 	db 17,GOLDEEN,TENTACOOL,GOLDEEN,0
 	db 17,TENTACOOL,STARYU,SHELLDER,0
 	db 22,GOLDEEN,POLIWAG,GOLDEEN,0
@@ -52273,7 +52773,7 @@
 	db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0
 	db 33,SEAKING,GOLDEEN,0
 	db 24,MAGIKARP,MAGIKARP,0
-SwimmerData:
+SwimmerData: ; 3a049 (e:6049)
 	db 16,HORSEA,SHELLDER,0
 	db 30,TENTACOOL,SHELLDER,0
 	db 29,GOLDEEN,HORSEA,STARYU,0
@@ -52289,7 +52789,7 @@
 	db 37,STARMIE,0
 	db 33,STARYU,WARTORTLE,0
 	db 32,POLIWHIRL,TENTACOOL,SEADRA,0
-CueBallData:
+CueBallData: ; 3a08d (e:608d)
 	db 28,MACHOP,MANKEY,MACHOP,0
 	db 29,MANKEY,MACHOP,0
 	db 33,MACHOP,0
@@ -52299,7 +52799,7 @@
 	db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0
 	db 29,PRIMEAPE,MACHOKE,0
 	db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0
-GamblerData:
+GamblerData: ; 3a0b3 (e:60b3)
 	db 18,POLIWAG,HORSEA,0
 	db 18,BELLSPROUT,ODDISH,0
 	db 18,VOLTORB,MAGNEMITE,0
@@ -52307,7 +52807,7 @@
 	db 22,POLIWAG,POLIWAG,POLIWHIRL,0
 	db 22,ONIX,GEODUDE,GRAVELER,0
 	db 24,GROWLITHE,VULPIX,0
-BeautyData:
+BeautyData: ; 3a0d1 (e:60d1)
 	db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0
 	db 24,BELLSPROUT,BELLSPROUT,0
 	db 26,EXEGGCUTE,0
@@ -52327,12 +52827,12 @@
 	db 30,GOLDEEN,SEAKING,0
 	db 29,STARYU,STARYU,STARYU,0
 	db 30,SEADRA,HORSEA,SEADRA,0
-PsychicData:
+PsychicData: ; 3a115 (e:6115)
 	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:
+RockerData: ; 3a127 (e:6127)
 if _YELLOW
 	db 20,VOLTORB,VOLTORB,VOLTORB,0
 else
@@ -52339,7 +52839,7 @@
 	db 20,VOLTORB,MAGNEMITE,VOLTORB,0
 endc
 	db 29,VOLTORB,ELECTRODE,0
-JugglerData:
+JugglerData: ; 3a130 (e:6130)
 	db 29,KADABRA,MR_MIME,0
 	db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0
 	db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0
@@ -52348,7 +52848,7 @@
 	db 33,HYPNO,0
 	db 38,HYPNO,0
 	db 34,DROWZEE,KADABRA,0
-TamerData:
+TamerData: ; 3a151 (e:6151)
 	db 34,SANDSLASH,ARBOK,0
 	db 33,ARBOK,SANDSLASH,ARBOK,0
 	db 43,RHYHORN,0
@@ -52355,7 +52855,7 @@
 	db 39,ARBOK,TAUROS,0
 	db 44,PERSIAN,GOLDUCK,0
 	db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0
-BirdKeeperData:
+BirdKeeperData: ; 3a16b (e:616b)
 	db 29,PIDGEY,PIDGEOTTO,0
 	db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0
 	db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0
@@ -52373,7 +52873,7 @@
 	db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0
 	db 29,PIDGEOTTO,FEAROW,0
 	db 28,SPEAROW,DODUO,FEAROW,0
-BlackbeltData:
+BlackbeltData: ; 3a1be (e:61be)
 	db 37,HITMONLEE,HITMONCHAN,0
 	db 31,MANKEY,MANKEY,PRIMEAPE,0
 	db 32,MACHOP,MACHOKE,0
@@ -52383,7 +52883,7 @@
 	db 43,MACHOKE,0
 	db 38,MACHOKE,MACHOP,MACHOKE,0
 	db 43,MACHOKE,MACHOP,MACHOKE,0
-Green1Data:
+Green1Data: ; 3a1e4 (e:61e4)
 if _YELLOW
 	db 5,EEVEE,0
 	db $FF,9,SPEAROW,8,EEVEE,0
@@ -52399,13 +52899,13 @@
 	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0
 	db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0
 endc
-ProfOakData:
+ProfOakData: ; 3a21d (e:621d)
 	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:
+ChiefData: ; 3a241 (e:6241)
 ; none
-ScientistData:
+ScientistData: ; 3a241 (e:6241)
 	db 34,KOFFING,VOLTORB,0
 	db 26,GRIMER,WEEZING,KOFFING,WEEZING,0
 	db 28,MAGNEMITE,VOLTORB,MAGNETON,0
@@ -52419,7 +52919,7 @@
 	db 29,MAGNEMITE,KOFFING,0
 	db 33,MAGNEMITE,MAGNETON,VOLTORB,0
 	db 34,MAGNEMITE,ELECTRODE,0
-GiovanniData:
+GiovanniData: ; 3a27e (e:627e)
 if _YELLOW
 	db $FF,25,ONIX,24,RHYHORN,29,PERSIAN,0
 	db $FF,37,NIDORINO,35,PERSIAN,37,RHYHORN,41,NIDOQUEEN,0
@@ -52429,7 +52929,7 @@
 	db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0
 	db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0
 endc
-RocketData:
+RocketData: ; 3a29c (e:629c)
 	db 13,RATTATA,ZUBAT,0
 	db 11,SANDSHREW,RATTATA,ZUBAT,0
 	db 12,ZUBAT,EKANS,0
@@ -52482,7 +52982,7 @@
 	db 29,WEEZING,0
 	db 33,WEEZING,0
 endc
-CooltrainerMData:
+CooltrainerMData: ; 3a35a (e:635a)
 	db 39,NIDORINO,NIDOKING,0
 	db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0
 	db 43,KINGLER,TENTACRUEL,BLASTOISE,0
@@ -52493,7 +52993,7 @@
 	db 44,KINGLER,CLOYSTER,0
 	db 39,SANDSLASH,DUGTRIO,0
 	db 43,RHYHORN,0
-CooltrainerFData:
+CooltrainerFData: ; 3a385 (e:6385)
 	db 24,WEEPINBELL,GLOOM,IVYSAUR,0
 	db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0
 	db 43,PARASECT,DEWGONG,CHANSEY,0
@@ -52502,47 +53002,47 @@
 	db 45,IVYSAUR,VENUSAUR,0
 	db 45,NIDORINA,NIDOQUEEN,0
 	db 43,PERSIAN,NINETALES,RAICHU,0
-BrunoData:
+BrunoData: ; 3a3a9 (e:63a9)
 	db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0
-BrockData:
+BrockData: ; 3a3b5 (e:63b5)
 if _YELLOW
 	db $FF,10,GEODUDE,12,ONIX,0
 else
 	db $FF,12,GEODUDE,14,ONIX,0
 endc
-MistyData:
+MistyData: ; 3a3bb (e:63bb)
 	db $FF,18,STARYU,21,STARMIE,0
-LtSurgeData:
+LtSurgeData: ; 3a3c1 (e:63c1)
 if _YELLOW
 	db $FF,28,RAICHU,0
 else
 	db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0
 endc
-ErikaData:
+ErikaData: ; 3a3c9 (e:63c9)
 if _YELLOW
 	db $FF,30,TANGELA,32,WEEPINBELL,32,GLOOM,0
 else
 	db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0
 endc
-KogaData:
+KogaData: ; 3a3d1 (e:63d1)
 if _YELLOW
 	db $FF,44,VENONAT,46,VENONAT,48,VENONAT,50,VENOMOTH,0
 else
 	db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0
 endc
-BlaineData:
+BlaineData: ; 3a3db (e:63db)
 if _YELLOW
 	db $FF,48,NINETALES,50,RAPIDASH,54,ARCANINE,0
 else
 	db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0
 endc
-SabrinaData:
+SabrinaData: ; 3a3e5 (e:63e5)
 if _YELLOW
 	db $FF,50,ABRA,50,KADABRA,50,ALAKAZAM,0
 else
 	db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0
 endc
-GentlemanData:
+GentlemanData: ; 3a3ef (e:63ef)
 	db 18,GROWLITHE,GROWLITHE,0
 	db 19,NIDORAN_M,NIDORAN_F,0
 if _YELLOW
@@ -52552,7 +53052,7 @@
 endc
 	db 48,PRIMEAPE,0
 	db 17,GROWLITHE,PONYTA,0
-Green2Data:
+Green2Data: ; 3a401 (e:6401)
 if _YELLOW
 	db $FF,19,SPEAROW,16,RATTATA,18,SANDSHREW,20,EEVEE,0
 	db $FF,25,FEAROW,23,SHELLDER,22,VULPIX,20,SANDSHREW,25,EEVEE,0
@@ -52578,7 +53078,7 @@
 	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
 endc
-Green3Data:
+Green3Data: ; 3a491 (e:6491)
 if _YELLOW
 	db $FF,61,SANDSLASH,59,ALAKAZAM,61,EXEGGUTOR,61,CLOYSTER,63,NINETALES,65,JOLTEON,0
 	db $FF,61,SANDSLASH,59,ALAKAZAM,61,EXEGGUTOR,61,MAGNETON,63,CLOYSTER,65,FLAREON,0
@@ -52588,9 +53088,9 @@
 	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
 endc
-LoreleiData:
+LoreleiData: ; 3a4bb (e:64bb)
 	db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0
-ChannelerData:
+ChannelerData: ; 3a4c7 (e:64c7)
 	db 22,GASTLY,0
 	db 24,GASTLY,0
 	db 23,GASTLY,GASTLY,0
@@ -52615,12 +53115,12 @@
 	db 34,GASTLY,HAUNTER,0
 	db 38,HAUNTER,0
 	db 33,GASTLY,GASTLY,HAUNTER,0
-AgathaData:
+AgathaData: ; 3a516 (e:6516)
 	db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0
-LanceData:
+LanceData: ; 3a522 (e:6522)
 	db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0
 
-TrainerAI: ; 652E
+TrainerAI: ; 3a52e (e:652e)
 ;XXX called at 34964, 3c342, 3c398
 	and a
 	ld a,[W_ISINBATTLE]
@@ -52653,7 +53153,7 @@
 	call GenRandom
 	jp [hl]
 
-TrainerAIPointers: ; 655C
+TrainerAIPointers: ; 3a55c (e: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
@@ -52705,27 +53205,27 @@
 	dbw 2,AgathaAI ; agatha
 	dbw 1,LanceAI ; lance
 
-JugglerAI:
+JugglerAI: ; 3a5e9 (e:65e9)
 	cp $40
 	ret nc
 	jp Function672A
 
-BlackbeltAI:
+BlackbeltAI: ; 3a5ef (e:65ef)
 	cp $20
 	ret nc
 	jp AIUseXAttack
 
-GiovanniAI:
+GiovanniAI: ; 3a5f5 (e:65f5)
 	cp $40
 	ret nc
 	jp AIUseGuardSpec
 
-CooltrainerMAI:
+CooltrainerMAI: ; 3a5fb (e:65fb)
 	cp $40
 	ret nc
 	jp AIUseXAttack
 
-CooltrainerFAI:
+CooltrainerFAI: ; 3a601 (e:6601)
 	cp $40
 	ld a,$A
 	call Function67CF
@@ -52735,7 +53235,7 @@
 	ret nc
 	jp Function672A
 
-BrockAI:
+BrockAI: ; 3a614 (e:6614)
 ; if his active monster has a status condition, use a full heal
 	ld a,[W_ENEMYMONSTATUS]
 	and a
@@ -52742,17 +53242,17 @@
 	ret z
 	jp AIUseFullHeal
 
-MistyAI:
+MistyAI: ; 3a61c (e:661c)
 	cp $40
 	ret nc
 	jp AIUseXDefend
 
-LtSurgeAI:
+LtSurgeAI: ; 3a622 (e:6622)
 	cp $40
 	ret nc
 	jp AIUseXSpeed
 
-ErikaAI:
+ErikaAI: ; 3a628 (e:6628)
 	cp $80
 	ret nc
 	ld a,$A
@@ -52760,17 +53260,17 @@
 	ret nc
 	jp AIUseSuperPotion
 
-KogaAI:
+KogaAI: ; 3a634 (e:6634)
 	cp $40
 	ret nc
 	jp AIUseXAttack
 
-BlaineAI:
+BlaineAI: ; 3a63a (e:663a)
 	cp $40
 	ret nc
 	jp AIUseSuperPotion
 
-SabrinaAI:
+SabrinaAI: ; 3a640 (e:6640)
 	cp $40
 	ret nc
 	ld a,$A
@@ -52778,7 +53278,7 @@
 	ret nc
 	jp AIUseHyperPotion
 
-Sony2AI:
+Sony2AI: ; 3a64c (e:664c)
 	cp $20
 	ret nc
 	ld a,5
@@ -52786,7 +53286,7 @@
 	ret nc
 	jp AIUsePotion
 
-Sony3AI:
+Sony3AI: ; 3a658 (e:6658)
 	cp $20
 	ret nc
 	ld a,5
@@ -52794,7 +53294,7 @@
 	ret nc
 	jp AIUseFullRestore
 
-LoreleiAI:
+LoreleiAI: ; 3a664 (e:6664)
 	cp $80
 	ret nc
 	ld a,5
@@ -52802,14 +53302,14 @@
 	ret nc
 	jp AIUseSuperPotion
 
-BrunoAI:
+BrunoAI: ; 3a670 (e:6670)
 	cp $40
 	ret nc
 	jp AIUseXDefend
 
-AgathaAI:
+AgathaAI: ; 3a676 (e:6676)
 	cp $14
-	jp c,$672A
+	jp c,Function672A
 	cp $80
 	ret nc
 	ld a,4
@@ -52817,7 +53317,7 @@
 	ret nc
 	jp AIUseSuperPotion
 
-LanceAI:
+LanceAI: ; 3a687 (e:6687)
 	cp $80
 	ret nc
 	ld a,5
@@ -52825,28 +53325,28 @@
 	ret nc
 	jp AIUseHyperPotion
 
-GenericAI:
+GenericAI: ; 3a693 (e:6693)
 	and a ; clear carry
 	ret
 
 ; end of individual trainer AI routines
 
-DecrementAICount: ; 6695
+DecrementAICount: ; 3a695 (e:6695)
 	ld hl,W_AICOUNT
 	dec [hl]
 	scf
 	ret
 
-Function669B: ; 669B
+Function669B: ; 3a69b (e:669b)
 ; XXX what does this do
 	ld a,$8E
-	jp Func_3740
+	jp PlaySoundWaitForCurrent
 
-AIUseFullRestore: ; 0x3a6a0
+AIUseFullRestore: ; 3a6a0 (e:66a0)
 	call AICureStatus
 	ld a,FULL_RESTORE
 	ld [$CF05],a
-	ld de,$CEEB
+	ld de,W_HPBAROLDHP
 	ld hl,$CFE7
 	ld a,[hld]
 	ld [de],a
@@ -52858,49 +53358,49 @@
 	ld a,[hld]
 	ld [de],a
 	inc de
-	ld [$CEE9],a
+	ld [W_HPBARMAXHP],a
 	ld [$CFE7],a
 	ld a,[hl]
 	ld [de],a
-	ld [$CEEA],a
+	ld [W_HPBARMAXHP+1],a
 	ld [W_ENEMYMONCURHP],a
 	jr Function6718
 ; 0x3a6ca
 
-AIUsePotion: ; 0x3a6ca
+AIUsePotion: ; 3a6ca (e:66ca)
 ; enemy trainer heals his monster with a potion
 	ld a,POTION
 	ld b,20
 	jr AIRecoverHP
 
-AIUseSuperPotion: ; 0x3a6d0
+AIUseSuperPotion: ; 3a6d0 (e:66d0)
 ; enemy trainer heals his monster with a super potion
 	ld a,SUPER_POTION
 	ld b,50
 	jr AIRecoverHP
 
-AIUseHyperPotion: ; 0x3a6d6
+AIUseHyperPotion: ; 3a6d6 (e:66d6)
 ; enemy trainer heals his monster with a hyper potion
 	ld a,HYPER_POTION
 	ld b,200
 	; fallthrough
 
-AIRecoverHP: ; 66DA
+AIRecoverHP: ; 3a6da (e:66da)
 ; heal b HP and print "trainer used $(a) on pokemon!"
 	ld [$CF05],a
 	ld hl,$CFE7
 	ld a,[hl]
-	ld [$CEEB],a
+	ld [W_HPBAROLDHP],a
 	add b
 	ld [hld],a
-	ld [$CEED],a
+	ld [W_HPBARNEWHP],a
 	ld a,[hl]
-	ld [$CEEC],a
-	ld [$CEEE],a
+	ld [W_HPBAROLDHP+1],a
+	ld [W_HPBARNEWHP+1],a
 	jr nc,.next
 	inc a
 	ld [hl],a
-	ld [$CEEE],a
+	ld [W_HPBARNEWHP+1],a
 .next
 	inc hl
 	ld a,[hld]
@@ -52908,12 +53408,12 @@
 	ld de,$CFF5
 	ld a,[de]
 	dec de
-	ld [$CEE9],a
+	ld [W_HPBARMAXHP],a
 	sub b
 	ld a,[hli]
 	ld b,a
 	ld a,[de]
-	ld [$CEEA],a
+	ld [W_HPBARMAXHP+1],a
 	sbc b
 	jr nc,Function6718
 	inc de
@@ -52920,15 +53420,16 @@
 	ld a,[de]
 	dec de
 	ld [hld],a
-	ld [$CEED],a
+	ld [W_HPBARNEWHP],a
 	ld a,[de]
 	ld [hl],a
-	ld [$CEEE],a
+	ld [W_HPBARNEWHP+1],a
 	; fallthrough
 
-Function6718: ; 6718
+Function6718: ; 3a718 (e:6718)
 	call AIPrintItemUse_
-	ld hl,$C3CA
+	FuncCoord 2, 2 ; $c3ca
+	ld hl,Coord
 	xor a
 	ld [$CF94],a
 	ld a,$48
@@ -52935,7 +53436,7 @@
 	call Predef
 	jp DecrementAICount
 
-Function672A: ; 672A
+Function672A: ; 3a72a (e:672a)
 	ld a,[W_ENEMYMONCOUNT]
 	ld c,a
 	ld hl,W_ENEMYMON1HP
@@ -52964,7 +53465,7 @@
 	and a
 	ret
 
-Function674B: ; 674B
+Function674B: ; 3a74b (e:674b)
 
 ; prepare to withdraw the active monster: copy hp, number, and status to roster
 
@@ -52995,17 +53496,17 @@
 	scf
 	ret
 
-AIBattleWithdrawText: ; 0x3a781
+AIBattleWithdrawText: ; 3a781 (e:6781)
 	TX_FAR _AIBattleWithdrawText
 	db "@"
 
-AIUseFullHeal: ; 0x3a786
+AIUseFullHeal: ; 3a786 (e:6786)
 	call Function669B
 	call AICureStatus
 	ld a,FULL_HEAL
 	jp AIPrintItemUse
 
-AICureStatus: ; 0x3a791
+AICureStatus: ; 3a791 (e:6791)
 ; cures the status of enemy's active pokemon
 	ld a,[W_ENEMYMONNUMBER]
 	ld hl,$D8A8
@@ -53025,7 +53526,7 @@
 	ld a,X_ACCURACY
 	jp AIPrintItemUse
 
-AIUseGuardSpec: ; 0x3a7b5
+AIUseGuardSpec: ; 3a7b5 (e:67b5)
 	call Function669B
 	ld hl,$D068
 	set 1,[hl]
@@ -53039,7 +53540,7 @@
 	ld a,DIRE_HIT
 	jp AIPrintItemUse
 
-Function67CF: ; 0x3a7cf 67CF
+Function67CF: ; 3a7cf (e:67cf)
 	ld [H_DIVISOR],a
 	ld hl,$CFF4
 	ld a,[hli]
@@ -53064,27 +53565,27 @@
 	sub c
 	ret
 
-AIUseXAttack: ; 0x3a7f2
+AIUseXAttack: ; 3a7f2 (e:67f2)
 	ld b,$A
 	ld a,X_ATTACK
 	jr AIIncreaseStat
 
-AIUseXDefend: ; 0x3a7f8
+AIUseXDefend: ; 3a7f8 (e:67f8)
 	ld b,$B
 	ld a,X_DEFEND
 	jr AIIncreaseStat
 
-AIUseXSpeed: ; 0x3a7fe
+AIUseXSpeed: ; 3a7fe (e:67fe)
 	ld b,$C
 	ld a,X_SPEED
 	jr AIIncreaseStat
 
-AIUseXSpecial: ; 0x3a804
+AIUseXSpecial: ; 3a804 (e:6804)
 	ld b,$D
 	ld a,X_SPECIAL
 	; fallthrough
 
-AIIncreaseStat: ; 0x3a808
+AIIncreaseStat: ; 3a808 (e:6808)
 	ld [$CF05],a
 	push bc
 	call AIPrintItemUse_
@@ -53108,12 +53609,12 @@
 	ld [hl],a
 	jp DecrementAICount
 
-AIPrintItemUse: ; 0x3a82c
+AIPrintItemUse: ; 3a82c (e:682c)
 	ld [$CF05],a
 	call AIPrintItemUse_
 	jp DecrementAICount
 
-AIPrintItemUse_: ; 0x3a835
+AIPrintItemUse_: ; 3a835 (e:6835)
 ; print "x used [$CF05] on z!"
 	ld a,[$CF05]
 	ld [$D11E],a
@@ -53121,7 +53622,7 @@
 	ld hl, AIBattleUseItemText
 	jp PrintText
 
-AIBattleUseItemText: ; 0x3a844
+AIBattleUseItemText: ; 3a844 (e:6844)
 	TX_FAR _AIBattleUseItemText
 	db "@"
 
@@ -53141,9 +53642,9 @@
 
 ; known jump sources: 3a849 (e:6849), 3a857 (e:6857), 3a948 (e:6948)
 Func_3a85d: ; 3a85d (e:685d)
-	ld de, $697e
+	ld de, PokeballTileGraphics ; $697e
 	ld hl, $8310
-	ld bc, $e04
+	ld bc, (BANK(PokeballTileGraphics) << 8) + $04
 	jp CopyVideoData
 
 ; known jump sources: 3a84c (e:684c)
@@ -53158,7 +53659,7 @@
 	ld [hl], a
 	ld a, $8
 	ld [$cd3e], a
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	jp Func_3a8e1
 
 ; known jump sources: 3a854 (e:6854), 3a85a (e:685a)
@@ -53253,26 +53754,30 @@
 
 ; known jump sources: 3a869 (e:6869), 3cd71 (f:4d71)
 Func_3a902: ; 3a902 (e:6902)
-	ld hl, $6916
+	ld hl, Unknown_3a916 ; $6916
 	ld de, $cd3f
 	ld bc, $3
 	call CopyData
-	ld hl, $c47a
+	FuncCoord 18, 10 ; $c47a
+	ld hl, Coord
 	ld de, rIE ; $ffff
 	jr asm_3a930
 
+Unknown_3a916: ; 3a916 (e:6916)
 INCBIN "baserom.gbc",$3a916,$3a919 - $3a916
 
 ; known jump sources: 3a887 (e:6887), 3cdfd (f:4dfd)
 Func_3a919: ; 3a919 (e:6919)
-	ld hl, $692d
+	ld hl, Unknown_3a92d ; $692d
 	ld de, $cd3f
 	ld bc, $3
 	call CopyData
-	ld hl, $c3c9
+	FuncCoord 1, 2 ; $c3c9
+	ld hl, Coord
 	ld de, $1
 	jr asm_3a930
 
+Unknown_3a92d: ; 3a92d (e:692d)
 INCBIN "baserom.gbc",$3a92d,$3a930 - $3a92d
 asm_3a930: ; 3a930 (e:6930)
 	ld [hl], $73
@@ -53303,7 +53808,7 @@
 	ld [hl], $40
 	ld a, $8
 	ld [$cd3e], a
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	call Func_3a8e1
 	ld hl, W_WATERRATE ; $d8a4
 	ld de, W_ENEMYMONCOUNT ; $d89c
@@ -53315,8 +53820,18 @@
 	ld hl, $c318
 	jp Func_3a8e1
 
-INCBIN "baserom.gbc",$3a97e,$3ad0e - $3a97e
+; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon)
+PokeballTileGraphics: ; 3a97e (e:697e)
+INCBIN "baserom.gbc",$3a97e,$3a9be - $3a97e
 
+; tiles for gameboy and link cable graphics used for trading sequence animation
+TradingAnimationGraphics: ; 3a9be (e:69be)
+INCBIN "baserom.gbc",$3a9be,$3acce - $3a9be
+
+; 4 tiles for actual wire transfer animation (pokeball wandering inside wire)
+TradingAnimationGraphics2: ; 3acce (e:6cce)
+INCBIN "baserom.gbc",$3acce,$3ad0e - $3acce
+
 ; known jump sources: df11 (3:5f11), 17da3 (5:7da3)
 Func_3ad0e: ; 3ad0e (e:6d0e)
 	ld hl, $ccd3
@@ -53361,7 +53876,7 @@
 	ld a, [$cee9]
 	dec a
 	ld b, $0
-	ld hl, $705c
+	ld hl, EvosMovesPointerTable
 	add a
 	rl b
 	ld c, a
@@ -53432,13 +53947,13 @@
 	ld hl, W_PARTYMON1NAME ; $d2b5
 	call GetPartyMonName
 	call CopyStringToCF4B
-	ld hl, $6f4d
+	ld hl, UnnamedText_3af4d ; $6f4d
 	call PrintText
 	ld c, $32
 	call DelayFrames
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $c14
 	call ClearScreenArea
 	ld a, $1
@@ -53450,7 +53965,7 @@
 	ld b, BANK(Func_7bde9)
 	call Bankswitch ; indirect jump to Func_7bde9 (7bde9 (1e:7de9))
 	jp c, Func_3af2e
-	ld hl, $6f3e
+	ld hl, UnnamedText_3af3e ; $6f3e
 	call PrintText
 	pop hl
 	ld a, [hl]
@@ -53463,11 +53978,11 @@
 	ld [$d0b7], a
 	call GetName
 	push hl
-	ld hl, $6f43
+	ld hl, UnnamedText_3af43 ; $6f43
 	call Func_3c59
 	ld a, $89
-	call Func_3740
-	call Func_3748
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
 	ld c, $28
 	call DelayFrames
 	call ClearScreen
@@ -53480,7 +53995,7 @@
 	call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
 	ld a, [$d11e]
 	dec a
-	ld hl, $43de
+	ld hl, BulbasaurBaseStats ; $43de
 	ld bc, $1c
 	call AddNTimes
 	ld de, W_MONHEADER
@@ -53492,7 +54007,7 @@
 	ld hl, $cfa8
 	ld de, $cfba
 	ld b, $1
-	call Func_3936
+	call CalcStats
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
 	ld bc, $2c
@@ -53613,7 +54128,7 @@
 
 ; known jump sources: 3adfa (e:6dfa)
 Func_3af2e: ; 3af2e (e:6f2e)
-	ld hl, $6f48
+	ld hl, UnnamedText_3af48 ; $6f48
 	call PrintText
 	call ClearScreen
 	pop hl
@@ -53620,22 +54135,22 @@
 	call Func_3af52
 	jp asm_3ad2e
 ; 3af3e (e:6f3e)
-UnnamedText_3af3e: ; 0x3af3e
+UnnamedText_3af3e: ; 3af3e (e:6f3e)
 	TX_FAR _UnnamedText_3af3e
 	db $50
 ; 0x3af3e + 5 bytes
 
-UnnamedText_3af43: ; 0x3af43
+UnnamedText_3af43: ; 3af43 (e:6f43)
 	TX_FAR _UnnamedText_3af43
 	db $50
 ; 0x3af43 + 5 bytes
 
-UnnamedText_3af48: ; 0x3af48
+UnnamedText_3af48: ; 3af48 (e:6f48)
 	TX_FAR _UnnamedText_3af48
 	db $50
 ; 0x3af48 + 5 bytes
 
-UnnamedText_3af4d: ; 0x3af4d
+UnnamedText_3af4d: ; 3af4d (e:6f4d)
 	TX_FAR _UnnamedText_3af4d
 	db $50
 ; 0x3af4d + 5 bytes
@@ -53649,12 +54164,12 @@
 
 ; known jump sources: df05 (3:5f05), 3aea4 (e:6ea4), 55420 (15:5420)
 Func_3af5b: ; 3af5b (e:6f5b)
-	ld hl, $705c
+	ld hl, EvosMovesPointerTable
 	ld a, [$d11e]
 	ld [$cf91], a
 	dec a
 	ld bc, $0
-	ld hl, $705c
+	ld hl, EvosMovesPointerTable
 	add a
 	rl b
 	ld c, a
@@ -53704,14 +54219,17 @@
 	ret
 
 ; known jump sources: f419 (3:7419), 3ebc7 (f:6bc7)
-Func_3afb8: ; 3afb8 (e:6fb8)
+; writes the moves a mon has at level [W_CURENEMYLVL] to [de]
+; move slots are being filled up sequentially and shifted if all slots are full
+; [$cee9]: (?)
+WriteMonMoves: ; 3afb8 (e:6fb8)
 	call Load16BitRegisters
 	push hl
 	push de
 	push bc
-	ld hl, $705c
+	ld hl, EvosMovesPointerTable
 	ld b, $0
-	ld a, [$cf91]
+	ld a, [$cf91]  ; cur mon ID
 	dec a
 	add a
 	rl b
@@ -53720,100 +54238,98 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-.asm_3afcf
+.skipEvoEntriesLoop
 	ld a, [hli]
 	and a
-	jr nz, .asm_3afcf
-	jr .asm_3afd7
-.asm_3afd5
+	jr nz, .skipEvoEntriesLoop
+	jr .firstMove
+.nextMove
 	pop de
-.asm_3afd6
+.nextMove2
 	inc hl
-.asm_3afd7
-	ld a, [hli]
+.firstMove
+	ld a, [hli]       ; read level of next move in learnset
 	and a
-	jp z, Func_3b04a
+	jp z, .done       ; end of list
 	ld b, a
 	ld a, [W_CURENEMYLVL] ; $d127
 	cp b
-	jp c, Func_3b04a
+	jp c, .done       ; mon level < move level (assumption: learnset is sorted by level)
 	ld a, [$cee9]
 	and a
-	jr z, .asm_3aff0
-	ld a, [W_WHICHTRADE] ; $cd3d
+	jr z, .skipMinLevelCheck
+	ld a, [W_WHICHTRADE] ; $cd3d (min move level)
 	cp b
-	jr nc, .asm_3afd6
-.asm_3aff0
+	jr nc, .nextMove2 ; min level >= move level
+.skipMinLevelCheck
 	push de
 	ld c, $4
-.asm_3aff3
+.moveAlreadyLearnedCheckLoop
 	ld a, [de]
 	inc de
 	cp [hl]
-	jr z, .asm_3afd5
+	jr z, .nextMove
 	dec c
-	jr nz, .asm_3aff3
+	jr nz, .moveAlreadyLearnedCheckLoop
 	pop de
 	push de
 	ld c, $4
-.asm_3afff
+.findEmptySlotLoop
 	ld a, [de]
 	and a
-	jr z, .asm_3b021
+	jr z, .writeMoveToSlot2
 	inc de
 	dec c
-	jr nz, .asm_3afff
-	pop de
+	jr nz, .findEmptySlotLoop
+	pop de                        ; no empty move slots found
 	push de
 	push hl
 	ld h, d
 	ld l, e
-	call Func_3b04e
+	call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1)
 	ld a, [$cee9]
 	and a
-	jr z, .asm_3b020
+	jr z, .writeMoveToSlot
 	push de
 	ld bc, $12
 	add hl, bc
 	ld d, h
 	ld e, l
-	call Func_3b04e
+	call WriteMonMoves_ShiftMoveData ; shift all move PP data one up
 	pop de
-.asm_3b020
+.writeMoveToSlot
 	pop hl
-.asm_3b021
+.writeMoveToSlot2
 	ld a, [hl]
 	ld [de], a
 	ld a, [$cee9]
 	and a
-	jr z, .asm_3afd5
-	push hl
+	jr z, .nextMove
+	push hl            ; write move PP value
 	ld a, [hl]
 	ld hl, $15
 	add hl, de
 	push hl
 	dec a
-	ld hl, $4000
+	ld hl, Moves
 	ld bc, $6
 	call AddNTimes
 	ld de, $cee9
-	ld a, $e
+	ld a, BANK(Moves)
 	call FarCopyData
 	ld a, [$ceee]
 	pop hl
 	ld [hl], a
 	pop hl
-	jr .asm_3afd5
-
-; known jump sources: 3afd9 (e:6fd9), 3afe1 (e:6fe1)
-Func_3b04a: ; 3b04a (e:704a)
+	jr .nextMove
+.done
 	pop bc
 	pop de
 	pop hl
 	ret
 
-; known jump sources: 3b00c (e:700c), 3b01c (e:701c)
-Func_3b04e: ; 3b04e (e:704e)
+; shifts all move data one up (freeing 4th move slot)
+WriteMonMoves_ShiftMoveData: ; 3b04e (e:704e)
 	ld c, $3
 .asm_3b050
 	inc de
@@ -53828,7 +54344,8 @@
 	ld a, $10
 	jp Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 ; 3b05c (e:705c)
-EvosMovesPointerTable: ; 705C
+
+EvosMovesPointerTable: ; 3b05c (e:705c)
 	dw Mon112_EvosMoves
 	dw Mon115_EvosMoves
 	dw Mon032_EvosMoves
@@ -54020,7 +54537,7 @@
 	dw Mon070_EvosMoves
 	dw Mon071_EvosMoves
 
-Mon112_EvosMoves:
+Mon112_EvosMoves: ; 3b1d8 (e:71d8)
 ;RHYDON
 ;Evolutions
 	db 0
@@ -54032,7 +54549,7 @@
 	db 55,LEER
 	db 64,TAKE_DOWN
 	db 0
-Mon115_EvosMoves:
+Mon115_EvosMoves: ; 3b1e6 (e:71e6)
 ;KANGASKHAN
 ;Evolutions
 	db 0
@@ -54043,7 +54560,7 @@
 	db 41,LEER
 	db 46,DIZZY_PUNCH
 	db 0
-Mon032_EvosMoves:
+Mon032_EvosMoves: ; 3b1f2 (e:71f2)
 ;NIDORAN_M
 ;Evolutions
 	db EV_LEVEL,16,NIDORINO
@@ -54056,7 +54573,7 @@
 	db 36,HORN_DRILL
 	db 43,DOUBLE_KICK
 	db 0
-Mon035_EvosMoves:
+Mon035_EvosMoves: ; 3b203 (e:7203)
 ;CLEFAIRY
 ;Evolutions
 	db EV_ITEM,MOON_STONE,1,CLEFABLE
@@ -54069,7 +54586,7 @@
 	db 39,DEFENSE_CURL
 	db 48,LIGHT_SCREEN
 	db 0
-Mon021_EvosMoves:
+Mon021_EvosMoves: ; 3b215 (e:7215)
 ;SPEAROW
 ;Evolutions
 	db EV_LEVEL,20,FEAROW
@@ -54081,7 +54598,7 @@
 	db 29,DRILL_PECK
 	db 36,AGILITY
 	db 0
-Mon100_EvosMoves:
+Mon100_EvosMoves: ; 3b224 (e:7224)
 ;VOLTORB
 ;Evolutions
 	db EV_LEVEL,30,ELECTRODE
@@ -54093,7 +54610,7 @@
 	db 36,SWIFT
 	db 43,EXPLOSION
 	db 0
-Mon034_EvosMoves:
+Mon034_EvosMoves: ; 3b233 (e:7233)
 ;NIDOKING
 ;Evolutions
 	db 0
@@ -54102,7 +54619,7 @@
 	db 14,POISON_STING
 	db 23,THRASH
 	db 0
-Mon080_EvosMoves:
+Mon080_EvosMoves: ; 3b23b (e:723b)
 ;SLOWBRO
 ;Evolutions
 	db 0
@@ -54115,7 +54632,7 @@
 	db 44,AMNESIA
 	db 55,PSYCHIC_M
 	db 0
-Mon002_EvosMoves:
+Mon002_EvosMoves: ; 3b24b (e:724b)
 ;IVYSAUR
 ;Evolutions
 	db EV_LEVEL,32,VENUSAUR
@@ -54129,7 +54646,7 @@
 	db 46,SLEEP_POWDER
 	db 54,SOLARBEAM
 	db 0
-Mon103_EvosMoves:
+Mon103_EvosMoves: ; 3b25e (e:725e)
 ;EXEGGUTOR
 ;Evolutions
 	db 0
@@ -54136,7 +54653,7 @@
 ;Learnset
 	db 28,STOMP
 	db 0
-Mon108_EvosMoves:
+Mon108_EvosMoves: ; 3b262 (e:7262)
 ;LICKITUNG
 ;Evolutions
 	db 0
@@ -54147,7 +54664,7 @@
 	db 31,SLAM
 	db 39,SCREECH
 	db 0
-Mon102_EvosMoves:
+Mon102_EvosMoves: ; 3b26e (e:726e)
 ;EXEGGCUTE
 ;Evolutions
 	db EV_ITEM,LEAF_STONE ,1,EXEGGUTOR
@@ -54160,7 +54677,7 @@
 	db 42,SOLARBEAM
 	db 48,SLEEP_POWDER
 	db 0
-Mon088_EvosMoves:
+Mon088_EvosMoves: ; 3b280 (e:7280)
 ;GRIMER
 ;Evolutions
 	db EV_LEVEL,38,MUK
@@ -54173,7 +54690,7 @@
 	db 48,SCREECH
 	db 55,ACID_ARMOR
 	db 0
-Mon094_EvosMoves:
+Mon094_EvosMoves: ; 3b291 (e:7291)
 ;GENGAR
 ;Evolutions
 	db 0
@@ -54181,7 +54698,7 @@
 	db 29,HYPNOSIS
 	db 38,DREAM_EATER
 	db 0
-Mon029_EvosMoves:
+Mon029_EvosMoves: ; 3b297 (e:7297)
 ;NIDORAN_F
 ;Evolutions
 	db EV_LEVEL,16,NIDORINA
@@ -54194,7 +54711,7 @@
 	db 36,FURY_SWIPES
 	db 43,DOUBLE_KICK
 	db 0
-Mon031_EvosMoves:
+Mon031_EvosMoves: ; 3b2a8 (e:72a8)
 ;NIDOQUEEN
 ;Evolutions
 	db 0
@@ -54203,7 +54720,7 @@
 	db 14,POISON_STING
 	db 23,BODY_SLAM
 	db 0
-Mon104_EvosMoves:
+Mon104_EvosMoves: ; 3b2b0 (e:72b0)
 ;CUBONE
 ;Evolutions
 	db EV_LEVEL,28,MAROWAK
@@ -54215,7 +54732,7 @@
 	db 43,BONEMERANG
 	db 46,RAGE
 	db 0
-Mon111_EvosMoves:
+Mon111_EvosMoves: ; 3b2bf (e:72bf)
 ;RHYHORN
 ;Evolutions
 	db EV_LEVEL,42,RHYDON
@@ -54228,7 +54745,7 @@
 	db 50,LEER
 	db 55,TAKE_DOWN
 	db 0
-Mon131_EvosMoves:
+Mon131_EvosMoves: ; 3b2d0 (e:72d0)
 ;LAPRAS
 ;Evolutions
 	db 0
@@ -54240,13 +54757,13 @@
 	db 38,ICE_BEAM
 	db 46,HYDRO_PUMP
 	db 0
-Mon059_EvosMoves:
+Mon059_EvosMoves: ; 3b2de (e:72de)
 ;ARCANINE
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon151_EvosMoves:
+Mon151_EvosMoves: ; 3b2e0 (e:72e0)
 ;MEW
 ;Evolutions
 	db 0
@@ -54256,7 +54773,7 @@
 	db 30,METRONOME
 	db 40,PSYCHIC_M
 	db 0
-Mon130_EvosMoves:
+Mon130_EvosMoves: ; 3b2ea (e:72ea)
 ;GYARADOS
 ;Evolutions
 	db 0
@@ -54267,7 +54784,7 @@
 	db 41,HYDRO_PUMP
 	db 52,HYPER_BEAM
 	db 0
-Mon090_EvosMoves:
+Mon090_EvosMoves: ; 3b2f6 (e:72f6)
 ;SHELLDER
 ;Evolutions
 	db EV_ITEM,WATER_STONE ,1,CLOYSTER
@@ -54279,7 +54796,7 @@
 	db 39,LEER
 	db 50,ICE_BEAM
 	db 0
-Mon072_EvosMoves:
+Mon072_EvosMoves: ; 3b306 (e:7306)
 ;TENTACOOL
 ;Evolutions
 	db EV_LEVEL,30,TENTACRUEL
@@ -54294,7 +54811,7 @@
 	db 40,SCREECH
 	db 48,HYDRO_PUMP
 	db 0
-Mon092_EvosMoves:
+Mon092_EvosMoves: ; 3b31b (e:731b)
 ;GASTLY
 ;Evolutions
 	db EV_LEVEL,25,HAUNTER
@@ -54303,7 +54820,7 @@
 	db 27,HYPNOSIS
 	db 35,DREAM_EATER
 	db 0
-Mon123_EvosMoves:
+Mon123_EvosMoves: ; 3b324 (e:7324)
 ;SCYTHER
 ;Evolutions
 	db 0
@@ -54315,7 +54832,7 @@
 	db 35,SWORDS_DANCE
 	db 42,AGILITY
 	db 0
-Mon120_EvosMoves:
+Mon120_EvosMoves: ; 3b332 (e:7332)
 ;STARYU
 ;Evolutions
 	db EV_ITEM,WATER_STONE ,1,STARMIE
@@ -54329,7 +54846,7 @@
 	db 42,LIGHT_SCREEN
 	db 47,HYDRO_PUMP
 	db 0
-Mon009_EvosMoves:
+Mon009_EvosMoves: ; 3b346 (e:7346)
 ;BLASTOISE
 ;Evolutions
 	db 0
@@ -54341,7 +54858,7 @@
 	db 42,SKULL_BASH
 	db 52,HYDRO_PUMP
 	db 0
-Mon127_EvosMoves:
+Mon127_EvosMoves: ; 3b354 (e:7354)
 ;PINSIR
 ;Evolutions
 	db 0
@@ -54353,7 +54870,7 @@
 	db 49,SLASH
 	db 54,SWORDS_DANCE
 	db 0
-Mon114_EvosMoves:
+Mon114_EvosMoves: ; 3b362 (e:7362)
 ;TANGELA
 ;Evolutions
 	db 0
@@ -54366,7 +54883,7 @@
 	db 49,GROWTH
 	db 0
 
-Mon152_EvosMoves:
+Mon152_EvosMoves: ; 3b370 (e:7370)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54373,13 +54890,13 @@
 ;Learnset
 	db 0
 
-Mon153_EvosMoves:
+Mon153_EvosMoves: ; 3b372 (e:7372)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon058_EvosMoves:
+Mon058_EvosMoves: ; 3b374 (e:7374)
 ;GROWLITHE
 ;Evolutions
 	db EV_ITEM,FIRE_STONE,1,ARCANINE
@@ -54391,7 +54908,7 @@
 	db 39,AGILITY
 	db 50,FLAMETHROWER
 	db 0
-Mon095_EvosMoves:
+Mon095_EvosMoves: ; 3b384 (e:7384)
 ;ONIX
 ;Evolutions
 	db 0
@@ -54402,7 +54919,7 @@
 	db 33,SLAM
 	db 43,HARDEN
 	db 0
-Mon022_EvosMoves:
+Mon022_EvosMoves: ; 3b390 (e:7390)
 ;FEAROW
 ;Evolutions
 	db 0
@@ -54413,7 +54930,7 @@
 	db 34,DRILL_PECK
 	db 43,AGILITY
 	db 0
-Mon016_EvosMoves:
+Mon016_EvosMoves: ; 3b39c (e:739c)
 ;PIDGEY
 ;Evolutions
 	db EV_LEVEL,18,PIDGEOTTO
@@ -54426,7 +54943,7 @@
 	db 36,AGILITY
 	db 44,MIRROR_MOVE
 	db 0
-Mon079_EvosMoves:
+Mon079_EvosMoves: ; 3b3ad (e:73ad)
 ;SLOWPOKE
 ;Evolutions
 	db EV_LEVEL,37,SLOWBRO
@@ -54439,7 +54956,7 @@
 	db 40,AMNESIA
 	db 48,PSYCHIC_M
 	db 0
-Mon064_EvosMoves:
+Mon064_EvosMoves: ; 3b3be (e:73be)
 ;KADABRA
 ;Evolutions
 	db EV_TRADE,1,ALAKAZAM
@@ -54452,7 +54969,7 @@
 	db 38,PSYCHIC_M
 	db 42,REFLECT
 	db 0
-Mon075_EvosMoves:
+Mon075_EvosMoves: ; 3b3cf (e:73cf)
 ;GRAVELER
 ;Evolutions
 	db EV_TRADE,1,GOLEM
@@ -54465,7 +54982,7 @@
 	db 36,EARTHQUAKE
 	db 43,EXPLOSION
 	db 0
-Mon113_EvosMoves:
+Mon113_EvosMoves: ; 3b3e0 (e:73e0)
 ;CHANSEY
 ;Evolutions
 	db 0
@@ -54477,7 +54994,7 @@
 	db 48,LIGHT_SCREEN
 	db 54,DOUBLE_EDGE
 	db 0
-Mon067_EvosMoves:
+Mon067_EvosMoves: ; 3b3ee (e:73ee)
 ;MACHOKE
 ;Evolutions
 	db EV_TRADE,1,MACHAMP
@@ -54489,7 +55006,7 @@
 	db 44,SEISMIC_TOSS
 	db 52,SUBMISSION
 	db 0
-Mon122_EvosMoves:
+Mon122_EvosMoves: ; 3b3fd (e:73fd)
 ;MR_MIME
 ;Evolutions
 	db 0
@@ -54500,7 +55017,7 @@
 	db 39,MEDITATE
 	db 47,SUBSTITUTE
 	db 0
-Mon106_EvosMoves:
+Mon106_EvosMoves: ; 3b409 (e:7409)
 ;HITMONLEE
 ;Evolutions
 	db 0
@@ -54511,7 +55028,7 @@
 	db 48,HI_JUMP_KICK
 	db 53,MEGA_KICK
 	db 0
-Mon107_EvosMoves:
+Mon107_EvosMoves: ; 3b415 (e:7415)
 ;HITMONCHAN
 ;Evolutions
 	db 0
@@ -54522,7 +55039,7 @@
 	db 48,MEGA_PUNCH
 	db 53,COUNTER
 	db 0
-Mon024_EvosMoves:
+Mon024_EvosMoves: ; 3b421 (e:7421)
 ;ARBOK
 ;Evolutions
 	db 0
@@ -54533,7 +55050,7 @@
 	db 36,SCREECH
 	db 47,ACID
 	db 0
-Mon047_EvosMoves:
+Mon047_EvosMoves: ; 3b42d (e:742d)
 ;PARASECT
 ;Evolutions
 	db 0
@@ -54544,7 +55061,7 @@
 	db 39,SLASH
 	db 48,GROWTH
 	db 0
-Mon054_EvosMoves:
+Mon054_EvosMoves: ; 3b439 (e:7439)
 ;PSYDUCK
 ;Evolutions
 	db EV_LEVEL,33,GOLDUCK
@@ -54556,7 +55073,7 @@
 	db 43,FURY_SWIPES
 	db 52,HYDRO_PUMP
 	db 0
-Mon096_EvosMoves:
+Mon096_EvosMoves: ; 3b448 (e:7448)
 ;DROWZEE
 ;Evolutions
 	db EV_LEVEL,26,HYPNO
@@ -54569,7 +55086,7 @@
 	db 32,PSYCHIC_M
 	db 37,MEDITATE
 	db 0
-Mon076_EvosMoves:
+Mon076_EvosMoves: ; 3b459 (e:7459)
 ;GOLEM
 ;Evolutions
 	db 0
@@ -54582,13 +55099,13 @@
 	db 43,EXPLOSION
 	db 0
 
-Mon154_EvosMoves:
+Mon154_EvosMoves: ; 3b467 (e:7467)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon126_EvosMoves:
+Mon126_EvosMoves: ; 3b469 (e:7469)
 ;MAGMAR
 ;Evolutions
 	db 0
@@ -54601,13 +55118,13 @@
 	db 55,FLAMETHROWER
 	db 0
 
-Mon155_EvosMoves:
+Mon155_EvosMoves: ; 3b477 (e:7477)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon125_EvosMoves:
+Mon125_EvosMoves: ; 3b479 (e:7479)
 ;ELECTABUZZ
 ;Evolutions
 	db 0
@@ -54618,7 +55135,7 @@
 	db 49,LIGHT_SCREEN
 	db 54,THUNDER
 	db 0
-Mon082_EvosMoves:
+Mon082_EvosMoves: ; 3b485 (e:7485)
 ;MAGNETON
 ;Evolutions
 	db 0
@@ -54630,7 +55147,7 @@
 	db 46,SWIFT
 	db 54,SCREECH
 	db 0
-Mon109_EvosMoves:
+Mon109_EvosMoves: ; 3b493 (e:7493)
 ;KOFFING
 ;Evolutions
 	db EV_LEVEL,35,WEEZING
@@ -54643,13 +55160,13 @@
 	db 48,EXPLOSION
 	db 0
 
-Mon156_EvosMoves:
+Mon156_EvosMoves: ; 3b4a2 (e:74a2)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon056_EvosMoves:
+Mon056_EvosMoves: ; 3b4a4 (e:74a4)
 ;MANKEY
 ;Evolutions
 	db EV_LEVEL,28,PRIMEAPE
@@ -54661,7 +55178,7 @@
 	db 33,SEISMIC_TOSS
 	db 39,THRASH
 	db 0
-Mon086_EvosMoves:
+Mon086_EvosMoves: ; 3b4b3 (e:74b3)
 ;SEEL
 ;Evolutions
 	db EV_LEVEL,34,DEWGONG
@@ -54673,7 +55190,7 @@
 	db 45,TAKE_DOWN
 	db 50,ICE_BEAM
 	db 0
-Mon050_EvosMoves:
+Mon050_EvosMoves: ; 3b4c2 (e:74c2)
 ;DIGLETT
 ;Evolutions
 	db EV_LEVEL,26,DUGTRIO
@@ -54685,7 +55202,7 @@
 	db 31,SLASH
 	db 40,EARTHQUAKE
 	db 0
-Mon128_EvosMoves:
+Mon128_EvosMoves: ; 3b4d1 (e:74d1)
 ;TAUROS
 ;Evolutions
 	db 0
@@ -54697,7 +55214,7 @@
 	db 51,TAKE_DOWN
 	db 0
 
-Mon157_EvosMoves:
+Mon157_EvosMoves: ; 3b4dd (e:74dd)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54704,7 +55221,7 @@
 ;Learnset
 	db 0
 
-Mon158_EvosMoves:
+Mon158_EvosMoves: ; 3b4df (e:74df)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54711,13 +55228,13 @@
 ;Learnset
 	db 0
 
-Mon159_EvosMoves:
+Mon159_EvosMoves: ; 3b4e1 (e:74e1)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon083_EvosMoves:
+Mon083_EvosMoves: ; 3b4e3 (e:74e3)
 ;FARFETCH_D
 ;Evolutions
 	db 0
@@ -54728,7 +55245,7 @@
 	db 31,AGILITY
 	db 39,SLASH
 	db 0
-Mon048_EvosMoves:
+Mon048_EvosMoves: ; 3b4ef (e:74ef)
 ;VENONAT
 ;Evolutions
 	db EV_LEVEL,31,VENOMOTH
@@ -54741,7 +55258,7 @@
 	db 38,SLEEP_POWDER
 	db 43,PSYCHIC_M
 	db 0
-Mon149_EvosMoves:
+Mon149_EvosMoves: ; 3b500 (e:7500)
 ;DRAGONITE
 ;Evolutions
 	db 0
@@ -54753,7 +55270,7 @@
 	db 60,HYPER_BEAM
 	db 0
 
-Mon160_EvosMoves:
+Mon160_EvosMoves: ; 3b50c (e:750c)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54760,7 +55277,7 @@
 ;Learnset
 	db 0
 
-Mon161_EvosMoves:
+Mon161_EvosMoves: ; 3b50e (e:750e)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54767,13 +55284,13 @@
 ;Learnset
 	db 0
 
-Mon162_EvosMoves:
+Mon162_EvosMoves: ; 3b510 (e:7510)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon084_EvosMoves:
+Mon084_EvosMoves: ; 3b512 (e:7512)
 ;DODUO
 ;Evolutions
 	db EV_LEVEL,31,DODRIO
@@ -54786,7 +55303,7 @@
 	db 40,TRI_ATTACK
 	db 44,AGILITY
 	db 0
-Mon060_EvosMoves:
+Mon060_EvosMoves: ; 3b523 (e:7523)
 ;POLIWAG
 ;Evolutions
 	db EV_LEVEL,25,POLIWHIRL
@@ -54799,7 +55316,7 @@
 	db 38,AMNESIA
 	db 45,HYDRO_PUMP
 	db 0
-Mon124_EvosMoves:
+Mon124_EvosMoves: ; 3b534 (e:7534)
 ;JYNX
 ;Evolutions
 	db 0
@@ -54811,7 +55328,7 @@
 	db 47,THRASH
 	db 58,BLIZZARD
 	db 0
-Mon146_EvosMoves:
+Mon146_EvosMoves: ; 3b542 (e:7542)
 ;MOLTRES
 ;Evolutions
 	db 0
@@ -54820,7 +55337,7 @@
 	db 55,AGILITY
 	db 60,SKY_ATTACK
 	db 0
-Mon144_EvosMoves:
+Mon144_EvosMoves: ; 3b54a (e:754a)
 ;ARTICUNO
 ;Evolutions
 	db 0
@@ -54829,7 +55346,7 @@
 	db 55,AGILITY
 	db 60,MIST
 	db 0
-Mon145_EvosMoves:
+Mon145_EvosMoves: ; 3b552 (e:7552)
 ;ZAPDOS
 ;Evolutions
 	db 0
@@ -54838,13 +55355,13 @@
 	db 55,AGILITY
 	db 60,LIGHT_SCREEN
 	db 0
-Mon132_EvosMoves:
+Mon132_EvosMoves: ; 3b55a (e:755a)
 ;DITTO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon052_EvosMoves:
+Mon052_EvosMoves: ; 3b55c (e:755c)
 ;MEOWTH
 ;Evolutions
 	db EV_LEVEL,28,PERSIAN
@@ -54856,7 +55373,7 @@
 	db 33,FURY_SWIPES
 	db 44,SLASH
 	db 0
-Mon098_EvosMoves:
+Mon098_EvosMoves: ; 3b56b (e:756b)
 ;KRABBY
 ;Evolutions
 	db EV_LEVEL,28,KINGLER
@@ -54869,7 +55386,7 @@
 	db 40,HARDEN
 	db 0
 
-Mon163_EvosMoves:
+Mon163_EvosMoves: ; 3b57a (e:757a)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54876,7 +55393,7 @@
 ;Learnset
 	db 0
 
-Mon164_EvosMoves:
+Mon164_EvosMoves: ; 3b57c (e:757c)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54883,13 +55400,13 @@
 ;Learnset
 	db 0
 
-Mon165_EvosMoves:
+Mon165_EvosMoves: ; 3b57e (e:757e)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon037_EvosMoves:
+Mon037_EvosMoves: ; 3b580 (e:7580)
 ;VULPIX
 ;Evolutions
 	db EV_ITEM,FIRE_STONE,1,NINETALES
@@ -54901,13 +55418,13 @@
 	db 35,FLAMETHROWER
 	db 42,FIRE_SPIN
 	db 0
-Mon038_EvosMoves:
+Mon038_EvosMoves: ; 3b590 (e:7590)
 ;NINETALES
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon025_EvosMoves:
+Mon025_EvosMoves: ; 3b592 (e:7592)
 ;PIKACHU
 ;Evolutions
 	db EV_ITEM,THUNDER_STONE ,1,RAICHU
@@ -54919,7 +55436,7 @@
 	db 33,AGILITY
 	db 43,THUNDER
 	db 0
-Mon026_EvosMoves:
+Mon026_EvosMoves: ; 3b5a2 (e:75a2)
 ;RAICHU
 ;Evolutions
 	db 0
@@ -54926,7 +55443,7 @@
 ;Learnset
 	db 0
 
-Mon166_EvosMoves:
+Mon166_EvosMoves: ; 3b5a4 (e:75a4)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -54933,13 +55450,13 @@
 ;Learnset
 	db 0
 
-Mon167_EvosMoves:
+Mon167_EvosMoves: ; 3b5a6 (e:75a6)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon147_EvosMoves:
+Mon147_EvosMoves: ; 3b5a8 (e:75a8)
 ;DRATINI
 ;Evolutions
 	db EV_LEVEL,30,DRAGONAIR
@@ -54951,7 +55468,7 @@
 	db 40,DRAGON_RAGE
 	db 50,HYPER_BEAM
 	db 0
-Mon148_EvosMoves:
+Mon148_EvosMoves: ; 3b5b7 (e:75b7)
 ;DRAGONAIR
 ;Evolutions
 	db EV_LEVEL,55,DRAGONITE
@@ -54963,7 +55480,7 @@
 	db 45,DRAGON_RAGE
 	db 55,HYPER_BEAM
 	db 0
-Mon140_EvosMoves:
+Mon140_EvosMoves: ; 3b5c6 (e:75c6)
 ;KABUTO
 ;Evolutions
 	db EV_LEVEL,40,KABUTOPS
@@ -54974,7 +55491,7 @@
 	db 44,LEER
 	db 49,HYDRO_PUMP
 	db 0
-Mon141_EvosMoves:
+Mon141_EvosMoves: ; 3b5d3 (e:75d3)
 ;KABUTOPS
 ;Evolutions
 	db 0
@@ -54984,7 +55501,7 @@
 	db 46,LEER
 	db 53,HYDRO_PUMP
 	db 0
-Mon116_EvosMoves:
+Mon116_EvosMoves: ; 3b5dd (e:75dd)
 ;HORSEA
 ;Evolutions
 	db EV_LEVEL,32,SEADRA
@@ -54996,7 +55513,7 @@
 	db 37,AGILITY
 	db 45,HYDRO_PUMP
 	db 0
-Mon117_EvosMoves:
+Mon117_EvosMoves: ; 3b5ec (e:75ec)
 ;SEADRA
 ;Evolutions
 	db 0
@@ -55008,7 +55525,7 @@
 	db 52,HYDRO_PUMP
 	db 0
 
-Mon168_EvosMoves:
+Mon168_EvosMoves: ; 3b5f8 (e:75f8)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55015,13 +55532,13 @@
 ;Learnset
 	db 0
 
-Mon169_EvosMoves:
+Mon169_EvosMoves: ; 3b5fa (e:75fa)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon027_EvosMoves:
+Mon027_EvosMoves: ; 3b5fc (e:75fc)
 ;SANDSHREW
 ;Evolutions
 	db EV_LEVEL,22,SANDSLASH
@@ -55033,7 +55550,7 @@
 	db 31,SWIFT
 	db 38,FURY_SWIPES
 	db 0
-Mon028_EvosMoves:
+Mon028_EvosMoves: ; 3b60b (e:760b)
 ;SANDSLASH
 ;Evolutions
 	db 0
@@ -55044,7 +55561,7 @@
 	db 36,SWIFT
 	db 47,FURY_SWIPES
 	db 0
-Mon138_EvosMoves:
+Mon138_EvosMoves: ; 3b617 (e:7617)
 ;OMANYTE
 ;Evolutions
 	db EV_LEVEL,40,OMASTAR
@@ -55055,7 +55572,7 @@
 	db 46,SPIKE_CANNON
 	db 53,HYDRO_PUMP
 	db 0
-Mon139_EvosMoves:
+Mon139_EvosMoves: ; 3b624 (e:7624)
 ;OMASTAR
 ;Evolutions
 	db 0
@@ -55065,7 +55582,7 @@
 	db 44,SPIKE_CANNON
 	db 49,HYDRO_PUMP
 	db 0
-Mon039_EvosMoves:
+Mon039_EvosMoves: ; 3b62e (e:762e)
 ;JIGGLYPUFF
 ;Evolutions
 	db EV_ITEM,MOON_STONE,1,WIGGLYTUFF
@@ -55079,13 +55596,13 @@
 	db 34,BODY_SLAM
 	db 39,DOUBLE_EDGE
 	db 0
-Mon040_EvosMoves:
+Mon040_EvosMoves: ; 3b642 (e:7642)
 ;WIGGLYTUFF
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon133_EvosMoves:
+Mon133_EvosMoves: ; 3b644 (e:7644)
 ;EEVEE
 ;Evolutions
 	db EV_ITEM,FIRE_STONE,1,FLAREON
@@ -55098,7 +55615,7 @@
 	db 37,BITE
 	db 45,TAKE_DOWN
 	db 0
-Mon136_EvosMoves:
+Mon136_EvosMoves: ; 3b65a (e:765a)
 ;FLAREON
 ;Evolutions
 	db 0
@@ -55112,7 +55629,7 @@
 	db 48,RAGE
 	db 54,FLAMETHROWER
 	db 0
-Mon135_EvosMoves:
+Mon135_EvosMoves: ; 3b66c (e:766c)
 ;JOLTEON
 ;Evolutions
 	db 0
@@ -55126,7 +55643,7 @@
 	db 48,PIN_MISSILE
 	db 54,THUNDER
 	db 0
-Mon134_EvosMoves:
+Mon134_EvosMoves: ; 3b67e (e:767e)
 ;VAPOREON
 ;Evolutions
 	db 0
@@ -55140,7 +55657,7 @@
 	db 48,MIST
 	db 54,HYDRO_PUMP
 	db 0
-Mon066_EvosMoves:
+Mon066_EvosMoves: ; 3b690 (e:7690)
 ;MACHOP
 ;Evolutions
 	db EV_LEVEL,28,MACHOKE
@@ -55152,7 +55669,7 @@
 	db 39,SEISMIC_TOSS
 	db 46,SUBMISSION
 	db 0
-Mon041_EvosMoves:
+Mon041_EvosMoves: ; 3b69f (e:769f)
 ;ZUBAT
 ;Evolutions
 	db EV_LEVEL,22,GOLBAT
@@ -55164,7 +55681,7 @@
 	db 28,WING_ATTACK
 	db 36,HAZE
 	db 0
-Mon023_EvosMoves:
+Mon023_EvosMoves: ; 3b6ae (e:76ae)
 ;EKANS
 ;Evolutions
 	db EV_LEVEL,22,ARBOK
@@ -55176,7 +55693,7 @@
 	db 31,SCREECH
 	db 38,ACID
 	db 0
-Mon046_EvosMoves:
+Mon046_EvosMoves: ; 3b6bd (e:76bd)
 ;PARAS
 ;Evolutions
 	db EV_LEVEL,24,PARASECT
@@ -55188,7 +55705,7 @@
 	db 34,SLASH
 	db 41,GROWTH
 	db 0
-Mon061_EvosMoves:
+Mon061_EvosMoves: ; 3b6cc (e:76cc)
 ;POLIWHIRL
 ;Evolutions
 	db EV_ITEM,WATER_STONE ,1,POLIWRATH
@@ -55201,7 +55718,7 @@
 	db 41,AMNESIA
 	db 49,HYDRO_PUMP
 	db 0
-Mon062_EvosMoves:
+Mon062_EvosMoves: ; 3b6de (e:76de)
 ;POLIWRATH
 ;Evolutions
 	db 0
@@ -55209,7 +55726,7 @@
 	db 16,HYPNOSIS
 	db 19,WATER_GUN
 	db 0
-Mon013_EvosMoves:
+Mon013_EvosMoves: ; 3b6e4 (e:76e4)
 ;WEEDLE
 ;Evolutions
 	db EV_LEVEL,7,KAKUNA
@@ -55216,7 +55733,7 @@
 	db 0
 ;Learnset
 	db 0
-Mon014_EvosMoves:
+Mon014_EvosMoves: ; 3b6e9 (e:76e9)
 ;KAKUNA
 ;Evolutions
 	db EV_LEVEL,10,BEEDRILL
@@ -55223,7 +55740,7 @@
 	db 0
 ;Learnset
 	db 0
-Mon015_EvosMoves:
+Mon015_EvosMoves: ; 3b6ee (e:76ee)
 ;BEEDRILL
 ;Evolutions
 	db 0
@@ -55236,13 +55753,13 @@
 	db 35,AGILITY
 	db 0
 
-Mon170_EvosMoves:
+Mon170_EvosMoves: ; 3b6fc (e:76fc)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon085_EvosMoves:
+Mon085_EvosMoves: ; 3b6fe (e:76fe)
 ;DODRIO
 ;Evolutions
 	db 0
@@ -55254,7 +55771,7 @@
 	db 45,TRI_ATTACK
 	db 51,AGILITY
 	db 0
-Mon057_EvosMoves:
+Mon057_EvosMoves: ; 3b70c (e:770c)
 ;PRIMEAPE
 ;Evolutions
 	db 0
@@ -55265,7 +55782,7 @@
 	db 37,SEISMIC_TOSS
 	db 46,THRASH
 	db 0
-Mon051_EvosMoves:
+Mon051_EvosMoves: ; 3b718 (e:7718)
 ;DUGTRIO
 ;Evolutions
 	db 0
@@ -55276,7 +55793,7 @@
 	db 35,SLASH
 	db 47,EARTHQUAKE
 	db 0
-Mon049_EvosMoves:
+Mon049_EvosMoves: ; 3b724 (e:7724)
 ;VENOMOTH
 ;Evolutions
 	db 0
@@ -55288,7 +55805,7 @@
 	db 43,SLEEP_POWDER
 	db 50,PSYCHIC_M
 	db 0
-Mon087_EvosMoves:
+Mon087_EvosMoves: ; 3b732 (e:7732)
 ;DEWGONG
 ;Evolutions
 	db 0
@@ -55300,7 +55817,7 @@
 	db 56,ICE_BEAM
 	db 0
 
-Mon171_EvosMoves:
+Mon171_EvosMoves: ; 3b73e (e:773e)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55307,13 +55824,13 @@
 ;Learnset
 	db 0
 
-Mon172_EvosMoves:
+Mon172_EvosMoves: ; 3b740 (e:7740)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon010_EvosMoves:
+Mon010_EvosMoves: ; 3b742 (e:7742)
 ;CATERPIE
 ;Evolutions
 	db EV_LEVEL,7,METAPOD
@@ -55320,7 +55837,7 @@
 	db 0
 ;Learnset
 	db 0
-Mon011_EvosMoves:
+Mon011_EvosMoves: ; 3b747 (e:7747)
 ;METAPOD
 ;Evolutions
 	db EV_LEVEL,10,BUTTERFREE
@@ -55327,7 +55844,7 @@
 	db 0
 ;Learnset
 	db 0
-Mon012_EvosMoves:
+Mon012_EvosMoves: ; 3b74c (e:774c)
 ;BUTTERFREE
 ;Evolutions
 	db 0
@@ -55340,7 +55857,7 @@
 	db 26,WHIRLWIND
 	db 32,PSYBEAM
 	db 0
-Mon068_EvosMoves:
+Mon068_EvosMoves: ; 3b75c (e:775c)
 ;MACHAMP
 ;Evolutions
 	db 0
@@ -55352,13 +55869,13 @@
 	db 52,SUBMISSION
 	db 0
 
-Mon173_EvosMoves:
+Mon173_EvosMoves: ; 3b768 (e:7768)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon055_EvosMoves:
+Mon055_EvosMoves: ; 3b76a (e:776a)
 ;GOLDUCK
 ;Evolutions
 	db 0
@@ -55369,7 +55886,7 @@
 	db 48,FURY_SWIPES
 	db 59,HYDRO_PUMP
 	db 0
-Mon097_EvosMoves:
+Mon097_EvosMoves: ; 3b776 (e:7776)
 ;HYPNO
 ;Evolutions
 	db 0
@@ -55381,7 +55898,7 @@
 	db 37,PSYCHIC_M
 	db 43,MEDITATE
 	db 0
-Mon042_EvosMoves:
+Mon042_EvosMoves: ; 3b784 (e:7784)
 ;GOLBAT
 ;Evolutions
 	db 0
@@ -55392,7 +55909,7 @@
 	db 32,WING_ATTACK
 	db 43,HAZE
 	db 0
-Mon150_EvosMoves:
+Mon150_EvosMoves: ; 3b790 (e:7790)
 ;MEWTWO
 ;Evolutions
 	db 0
@@ -55403,7 +55920,7 @@
 	db 75,MIST
 	db 81,AMNESIA
 	db 0
-Mon143_EvosMoves:
+Mon143_EvosMoves: ; 3b79c (e:779c)
 ;SNORLAX
 ;Evolutions
 	db 0
@@ -55413,7 +55930,7 @@
 	db 48,DOUBLE_EDGE
 	db 56,HYPER_BEAM
 	db 0
-Mon129_EvosMoves:
+Mon129_EvosMoves: ; 3b7a6 (e:77a6)
 ;MAGIKARP
 ;Evolutions
 	db EV_LEVEL,20,GYARADOS
@@ -55422,7 +55939,7 @@
 	db 15,TACKLE
 	db 0
 
-Mon174_EvosMoves:
+Mon174_EvosMoves: ; 3b7ad (e:77ad)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55429,13 +55946,13 @@
 ;Learnset
 	db 0
 
-Mon175_EvosMoves:
+Mon175_EvosMoves: ; 3b7af (e:77af)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon089_EvosMoves:
+Mon089_EvosMoves: ; 3b7b1 (e:77b1)
 ;MUK
 ;Evolutions
 	db 0
@@ -55448,13 +55965,13 @@
 	db 60,ACID_ARMOR
 	db 0
 
-Mon176_EvosMoves:
+Mon176_EvosMoves: ; 3b7bf (e:77bf)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon099_EvosMoves:
+Mon099_EvosMoves: ; 3b7c1 (e:77c1)
 ;KINGLER
 ;Evolutions
 	db 0
@@ -55465,7 +55982,7 @@
 	db 42,CRABHAMMER
 	db 49,HARDEN
 	db 0
-Mon091_EvosMoves:
+Mon091_EvosMoves: ; 3b7cd (e:77cd)
 ;CLOYSTER
 ;Evolutions
 	db 0
@@ -55473,13 +55990,13 @@
 	db 50,SPIKE_CANNON
 	db 0
 
-Mon177_EvosMoves:
+Mon177_EvosMoves: ; 3b7d1 (e:77d1)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon101_EvosMoves:
+Mon101_EvosMoves: ; 3b7d3 (e:77d3)
 ;ELECTRODE
 ;Evolutions
 	db 0
@@ -55490,13 +56007,13 @@
 	db 40,SWIFT
 	db 50,EXPLOSION
 	db 0
-Mon036_EvosMoves:
+Mon036_EvosMoves: ; 3b7df (e:77df)
 ;CLEFABLE
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon110_EvosMoves:
+Mon110_EvosMoves: ; 3b7e1 (e:77e1)
 ;WEEZING
 ;Evolutions
 	db 0
@@ -55507,7 +56024,7 @@
 	db 49,HAZE
 	db 53,EXPLOSION
 	db 0
-Mon053_EvosMoves:
+Mon053_EvosMoves: ; 3b7ed (e:77ed)
 ;PERSIAN
 ;Evolutions
 	db 0
@@ -55518,7 +56035,7 @@
 	db 37,FURY_SWIPES
 	db 51,SLASH
 	db 0
-Mon105_EvosMoves:
+Mon105_EvosMoves: ; 3b7f9 (e:77f9)
 ;MAROWAK
 ;Evolutions
 	db 0
@@ -55530,13 +56047,13 @@
 	db 55,RAGE
 	db 0
 
-Mon178_EvosMoves:
+Mon178_EvosMoves: ; 3b805 (e:7805)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon093_EvosMoves:
+Mon093_EvosMoves: ; 3b807 (e:7807)
 ;HAUNTER
 ;Evolutions
 	db EV_TRADE,1,GENGAR
@@ -55545,7 +56062,7 @@
 	db 29,HYPNOSIS
 	db 38,DREAM_EATER
 	db 0
-Mon063_EvosMoves:
+Mon063_EvosMoves: ; 3b810 (e:7810)
 ;ABRA
 ;Evolutions
 	db EV_LEVEL,16,KADABRA
@@ -55552,7 +56069,7 @@
 	db 0
 ;Learnset
 	db 0
-Mon065_EvosMoves:
+Mon065_EvosMoves: ; 3b815 (e:7815)
 ;ALAKAZAM
 ;Evolutions
 	db 0
@@ -55564,7 +56081,7 @@
 	db 38,PSYCHIC_M
 	db 42,REFLECT
 	db 0
-Mon017_EvosMoves:
+Mon017_EvosMoves: ; 3b823 (e:7823)
 ;PIDGEOTTO
 ;Evolutions
 	db EV_LEVEL,36,PIDGEOT
@@ -55577,7 +56094,7 @@
 	db 40,AGILITY
 	db 49,MIRROR_MOVE
 	db 0
-Mon018_EvosMoves:
+Mon018_EvosMoves: ; 3b834 (e:7834)
 ;PIDGEOT
 ;Evolutions
 	db 0
@@ -55589,13 +56106,13 @@
 	db 44,AGILITY
 	db 54,MIRROR_MOVE
 	db 0
-Mon121_EvosMoves:
+Mon121_EvosMoves: ; 3b842 (e:7842)
 ;STARMIE
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon001_EvosMoves:
+Mon001_EvosMoves: ; 3b844 (e:7844)
 ;BULBASAUR
 ;Evolutions
 	db EV_LEVEL,16,IVYSAUR
@@ -55609,7 +56126,7 @@
 	db 41,SLEEP_POWDER
 	db 48,SOLARBEAM
 	db 0
-Mon003_EvosMoves:
+Mon003_EvosMoves: ; 3b857 (e:7857)
 ;VENUSAUR
 ;Evolutions
 	db 0
@@ -55622,7 +56139,7 @@
 	db 55,SLEEP_POWDER
 	db 65,SOLARBEAM
 	db 0
-Mon073_EvosMoves:
+Mon073_EvosMoves: ; 3b867 (e:7867)
 ;TENTACRUEL
 ;Evolutions
 	db 0
@@ -55637,13 +56154,13 @@
 	db 50,HYDRO_PUMP
 	db 0
 
-Mon179_EvosMoves:
+Mon179_EvosMoves: ; 3b879 (e:7879)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon118_EvosMoves:
+Mon118_EvosMoves: ; 3b87b (e:787b)
 ;GOLDEEN
 ;Evolutions
 	db EV_LEVEL,33,SEAKING
@@ -55656,7 +56173,7 @@
 	db 45,HORN_DRILL
 	db 54,AGILITY
 	db 0
-Mon119_EvosMoves:
+Mon119_EvosMoves: ; 3b88c (e:788c)
 ;SEAKING
 ;Evolutions
 	db 0
@@ -55669,7 +56186,7 @@
 	db 54,AGILITY
 	db 0
 
-Mon180_EvosMoves:
+Mon180_EvosMoves: ; 3b89a (e:789a)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55676,7 +56193,7 @@
 ;Learnset
 	db 0
 
-Mon181_EvosMoves:
+Mon181_EvosMoves: ; 3b89c (e:789c)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55683,7 +56200,7 @@
 ;Learnset
 	db 0
 
-Mon182_EvosMoves:
+Mon182_EvosMoves: ; 3b89e (e:789e)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55690,13 +56207,13 @@
 ;Learnset
 	db 0
 
-Mon183_EvosMoves:
+Mon183_EvosMoves: ; 3b8a0 (e:78a0)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon077_EvosMoves:
+Mon077_EvosMoves: ; 3b8a2 (e:78a2)
 ;PONYTA
 ;Evolutions
 	db EV_LEVEL,40,RAPIDASH
@@ -55709,7 +56226,7 @@
 	db 43,TAKE_DOWN
 	db 48,AGILITY
 	db 0
-Mon078_EvosMoves:
+Mon078_EvosMoves: ; 3b8b3 (e:78b3)
 ;RAPIDASH
 ;Evolutions
 	db 0
@@ -55721,7 +56238,7 @@
 	db 47,TAKE_DOWN
 	db 55,AGILITY
 	db 0
-Mon019_EvosMoves:
+Mon019_EvosMoves: ; 3b8c1 (e:78c1)
 ;RATTATA
 ;Evolutions
 	db EV_LEVEL,20,RATICATE
@@ -55732,7 +56249,7 @@
 	db 23,FOCUS_ENERGY
 	db 34,SUPER_FANG
 	db 0
-Mon020_EvosMoves:
+Mon020_EvosMoves: ; 3b8ce (e:78ce)
 ;RATICATE
 ;Evolutions
 	db 0
@@ -55742,7 +56259,7 @@
 	db 27,FOCUS_ENERGY
 	db 41,SUPER_FANG
 	db 0
-Mon033_EvosMoves:
+Mon033_EvosMoves: ; 3b8d8 (e:78d8)
 ;NIDORINO
 ;Evolutions
 	db EV_ITEM,MOON_STONE,1,NIDOKING
@@ -55755,7 +56272,7 @@
 	db 41,HORN_DRILL
 	db 50,DOUBLE_KICK
 	db 0
-Mon030_EvosMoves:
+Mon030_EvosMoves: ; 3b8ea (e:78ea)
 ;NIDORINA
 ;Evolutions
 	db EV_ITEM,MOON_STONE,1,NIDOQUEEN
@@ -55768,7 +56285,7 @@
 	db 41,FURY_SWIPES
 	db 50,DOUBLE_KICK
 	db 0
-Mon074_EvosMoves:
+Mon074_EvosMoves: ; 3b8fc (e:78fc)
 ;GEODUDE
 ;Evolutions
 	db EV_LEVEL,25,GRAVELER
@@ -55781,7 +56298,7 @@
 	db 31,EARTHQUAKE
 	db 36,EXPLOSION
 	db 0
-Mon137_EvosMoves:
+Mon137_EvosMoves: ; 3b90d (e:790d)
 ;PORYGON
 ;Evolutions
 	db 0
@@ -55791,7 +56308,7 @@
 	db 35,AGILITY
 	db 42,TRI_ATTACK
 	db 0
-Mon142_EvosMoves:
+Mon142_EvosMoves: ; 3b917 (e:7917)
 ;AERODACTYL
 ;Evolutions
 	db 0
@@ -55802,13 +56319,13 @@
 	db 54,HYPER_BEAM
 	db 0
 
-Mon184_EvosMoves:
+Mon184_EvosMoves: ; 3b921 (e:7921)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon081_EvosMoves:
+Mon081_EvosMoves: ; 3b923 (e:7923)
 ;MAGNEMITE
 ;Evolutions
 	db EV_LEVEL,30,MAGNETON
@@ -55822,7 +56339,7 @@
 	db 47,SCREECH
 	db 0
 
-Mon185_EvosMoves:
+Mon185_EvosMoves: ; 3b934 (e:7934)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55829,13 +56346,13 @@
 ;Learnset
 	db 0
 
-Mon186_EvosMoves:
+Mon186_EvosMoves: ; 3b936 (e:7936)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon004_EvosMoves:
+Mon004_EvosMoves: ; 3b938 (e:7938)
 ;CHARMANDER
 ;Evolutions
 	db EV_LEVEL,16,CHARMELEON
@@ -55848,7 +56365,7 @@
 	db 38,FLAMETHROWER
 	db 46,FIRE_SPIN
 	db 0
-Mon007_EvosMoves:
+Mon007_EvosMoves: ; 3b949 (e:7949)
 ;SQUIRTLE
 ;Evolutions
 	db EV_LEVEL,16,WARTORTLE
@@ -55861,7 +56378,7 @@
 	db 35,SKULL_BASH
 	db 42,HYDRO_PUMP
 	db 0
-Mon005_EvosMoves:
+Mon005_EvosMoves: ; 3b95a (e:795a)
 ;CHARMELEON
 ;Evolutions
 	db EV_LEVEL,36,CHARIZARD
@@ -55874,7 +56391,7 @@
 	db 42,FLAMETHROWER
 	db 56,FIRE_SPIN
 	db 0
-Mon008_EvosMoves:
+Mon008_EvosMoves: ; 3b96b (e:796b)
 ;WARTORTLE
 ;Evolutions
 	db EV_LEVEL,36,BLASTOISE
@@ -55887,7 +56404,7 @@
 	db 39,SKULL_BASH
 	db 47,HYDRO_PUMP
 	db 0
-Mon006_EvosMoves:
+Mon006_EvosMoves: ; 3b97c (e:797c)
 ;CHARIZARD
 ;Evolutions
 	db 0
@@ -55900,7 +56417,7 @@
 	db 55,FIRE_SPIN
 	db 0
 
-Mon187_EvosMoves:
+Mon187_EvosMoves: ; 3b98a (e:798a)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55907,7 +56424,7 @@
 ;Learnset
 	db 0
 
-Mon188_EvosMoves:
+Mon188_EvosMoves: ; 3b98c (e:798c)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55914,7 +56431,7 @@
 ;Learnset
 	db 0
 
-Mon189_EvosMoves:
+Mon189_EvosMoves: ; 3b98e (e:798e)
 ;MISSINGNO
 ;Evolutions
 	db 0
@@ -55921,13 +56438,13 @@
 ;Learnset
 	db 0
 
-Mon190_EvosMoves:
+Mon190_EvosMoves: ; 3b990 (e:7990)
 ;MISSINGNO
 ;Evolutions
 	db 0
 ;Learnset
 	db 0
-Mon043_EvosMoves:
+Mon043_EvosMoves: ; 3b992 (e:7992)
 ;ODDISH
 ;Evolutions
 	db EV_LEVEL,21,GLOOM
@@ -55940,7 +56457,7 @@
 	db 33,PETAL_DANCE
 	db 46,SOLARBEAM
 	db 0
-Mon044_EvosMoves:
+Mon044_EvosMoves: ; 3b9a3 (e:79a3)
 ;GLOOM
 ;Evolutions
 	db EV_ITEM,LEAF_STONE ,1,VILEPLUME
@@ -55953,7 +56470,7 @@
 	db 38,PETAL_DANCE
 	db 52,SOLARBEAM
 	db 0
-Mon045_EvosMoves:
+Mon045_EvosMoves: ; 3b9b5 (e:79b5)
 ;VILEPLUME
 ;Evolutions
 	db 0
@@ -55962,7 +56479,7 @@
 	db 17,STUN_SPORE
 	db 19,SLEEP_POWDER
 	db 0
-Mon069_EvosMoves:
+Mon069_EvosMoves: ; 3b9bd (e:79bd)
 ;BELLSPROUT
 ;Evolutions
 	db EV_LEVEL,21,WEEPINBELL
@@ -55976,7 +56493,7 @@
 	db 33,RAZOR_LEAF
 	db 42,SLAM
 	db 0
-Mon070_EvosMoves:
+Mon070_EvosMoves: ; 3b9d0 (e:79d0)
 ;WEEPINBELL
 ;Evolutions
 	db EV_ITEM,LEAF_STONE ,1,VICTREEBEL
@@ -55990,7 +56507,7 @@
 	db 38,RAZOR_LEAF
 	db 49,SLAM
 	db 0
-Mon071_EvosMoves:
+Mon071_EvosMoves: ; 3b9e4 (e:79e4)
 ;VICTREEBEL
 ;Evolutions
 	db 0
@@ -56037,9 +56554,9 @@
 	ld a, [hl]
 	and a
 	ld [hl], $2
-	ld hl, $7aa2
+	ld hl, UnnamedText_3baa2 ; $7aa2
 	jr z, .asm_3ba31
-	ld hl, $7aa7
+	ld hl, UnnamedText_3baa7 ; $7aa7
 .asm_3ba31
 	call PrintText
 	pop af
@@ -56047,10 +56564,10 @@
 	pop hl
 .asm_3ba37
 	ld a, [hld]
-	ld [$cee9], a
+	ld [W_HPBARMAXHP], a
 	ld c, a
 	ld a, [hl]
-	ld [$ceea], a
+	ld [W_HPBARMAXHP+1], a
 	ld b, a
 	jr z, .asm_3ba47
 	srl b
@@ -56057,16 +56574,16 @@
 	rr c
 .asm_3ba47
 	ld a, [de]
-	ld [$ceeb], a
+	ld [W_HPBAROLDHP], a
 	add c
 	ld [de], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	dec de
 	ld a, [de]
-	ld [$ceec], a
+	ld [W_HPBAROLDHP+1], a
 	adc b
 	ld [de], a
-	ld [$ceee], a
+	ld [W_HPBARNEWHP+1], a
 	inc hl
 	inc de
 	ld a, [de]
@@ -56078,28 +56595,30 @@
 	jr c, .asm_3ba6f
 	ld a, [hli]
 	ld [de], a
-	ld [$ceee], a
+	ld [W_HPBARNEWHP+1], a
 	inc de
 	ld a, [hl]
 	ld [de], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 .asm_3ba6f
-	ld hl, $7ba8
-	call Unnamed_3bbe1
+	ld hl, Func_3fba8 ; $7ba8
+	call BankswitchEtoF
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	ld hl, $c45e
+	FuncCoord 10, 9 ; $c45e
+	ld hl, Coord
 	ld a, $1
 	jr z, .asm_3ba83
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	xor a
 .asm_3ba83
 	ld [W_LISTMENUID], a ; $cf94
 	ld a, $48
-	call Predef ; indirect jump to Func_fa1d (fa1d (3:7a1d))
-	ld hl, $4d5a
-	call Unnamed_3bbe1
-	ld hl, $7aac
+	call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
+	ld hl, Func_3cd5a ; $4d5a
+	call BankswitchEtoF
+	ld hl, UnnamedText_3baac ; $7aac
 	jp PrintText
 
 ; known jump sources: 3ba0a (e:7a0a)
@@ -56107,19 +56626,19 @@
 	ld c, $32
 	call DelayFrames
 	ld hl, Func_3fb53
-	jp Unnamed_3bbe1
+	jp BankswitchEtoF
 ; 3baa2 (e:7aa2)
-UnnamedText_3baa2: ; 0x3baa2
+UnnamedText_3baa2: ; 3baa2 (e:7aa2)
 	TX_FAR _UnnamedText_3baa2
 	db $50
 ; 0x3baa2 + 5 bytes
 
-UnnamedText_3baa7: ; 0x3baa7
+UnnamedText_3baa7: ; 3baa7 (e:7aa7)
 	TX_FAR _UnnamedText_3baa7
 	db $50
 ; 0x3baa7 + 5 bytes
 
-UnnamedText_3baac: ; 0x3baac
+UnnamedText_3baac: ; 3baac (e:7aac)
 	TX_FAR _UnnamedText_3baac
 	db $50
 ; 0x3baac + 5 bytes
@@ -56126,7 +56645,7 @@
 
 ; known jump sources: 3fb33 (f:7b33)
 Func_3bab1: ; 3bab1 (e:7ab1)
-	ld hl, $d014
+	ld hl, W_PLAYERMONID
 	ld de, $cfe5
 	ld bc, W_ENEMYBATTSTATUS3 ; $d069
 	ld a, [W_ENEMYBATTSTATUS1] ; $d067
@@ -56134,7 +56653,7 @@
 	and a
 	jr nz, .asm_3bad1
 	ld hl, $cfe5
-	ld de, $d014
+	ld de, W_PLAYERMONID
 	ld bc, W_PLAYERBATTSTATUS3 ; $d064
 	ld [W_PLAYERMOVELISTINDEX], a ; $cc2e
 	ld a, [W_PLAYERBATTSTATUS1] ; $d062
@@ -56157,8 +56676,8 @@
 	call nz, Bankswitch
 	ld a, [W_OPTIONS] ; $d355
 	add a
-	ld hl, $7ba8
-	ld b, $f
+	ld hl, Func_3fba8 ; $7ba8
+	ld b, BANK(Func_3fba8)
 	jr nc, .asm_3baff
 	ld hl, Func_79787
 	ld b, BANK(Func_79787)
@@ -56241,7 +56760,7 @@
 	ld hl, W_ENEMYMONATTACKMOD ; $cd2e
 	ld de, W_PLAYERMONATTACKMOD ; $cd1a
 	call Func_3bb7d
-	ld hl, $7b92
+	ld hl, UnnamedText_3bb92 ; $7b92
 	jp PrintText
 
 ; known jump sources: 3bb6b (e:7b6b), 3bb74 (e:7b74)
@@ -56259,10 +56778,10 @@
 
 ; known jump sources: 3bad3 (e:7ad3)
 Func_3bb8c: ; 3bb8c (e:7b8c)
-	ld hl, $7b53
-	jp Unnamed_3bbe1
+	ld hl, Func_3fb53 ; $7b53
+	jp BankswitchEtoF
 ; 3bb92 (e:7b92)
-UnnamedText_3bb92: ; 0x3bb92
+UnnamedText_3bb92: ; 3bb92 (e:7b92)
 	TX_FAR _UnnamedText_3bb92
 	db $50
 ; 0x3bb92 + 5 bytes
@@ -56283,56 +56802,58 @@
 	bit 1, [hl]
 	jr nz, .asm_3bbcc
 	set 1, [hl]
-	ld hl, $7bd7
+	ld hl, UnnamedText_3bbd7 ; $7bd7
 	jr .asm_3bbc1
 .asm_3bbb8
 	bit 2, [hl]
 	jr nz, .asm_3bbcc
 	set 2, [hl]
-	ld hl, $7bdc
+	ld hl, UnnamedText_3bbdc ; $7bdc
 .asm_3bbc1
 	push hl
-	ld hl, $7ba8
-	call Unnamed_3bbe1
+	ld hl, Func_3fba8 ; $7ba8
+	call BankswitchEtoF
 	pop hl
 	jp PrintText
 .asm_3bbcc
 	ld c, $32
 	call DelayFrames
-	ld hl, $7b53
-	jp Unnamed_3bbe1
+	ld hl, Func_3fb53 ; $7b53
+	jp BankswitchEtoF
 ; 3bbd7 (e:7bd7)
-UnnamedText_3bbd7: ; 0x3bbd7
+UnnamedText_3bbd7: ; 3bbd7 (e:7bd7)
 	TX_FAR _UnnamedText_3bbd7
 	db $50
 ; 0x3bbd7 + 5 bytes
 
-UnnamedText_3bbdc: ; 0x3bbdc
+UnnamedText_3bbdc: ; 3bbdc (e:7bdc)
 	TX_FAR _UnnamedText_3bbdc
 	db $50
 ; 0x3bbdc + 5 bytes
 
-Unnamed_3bbe1: ; 0x3bbe1
-	db $6, $f, $c3, $d6, $35
+BankswitchEtoF: ; 3bbe1 (e:7be1)
+	ld b, $f
+	jp Bankswitch
+; 0x3bbe6
 
 SECTION "bankF",DATA,BANK[$F]
 
 ; These are move effects (second value from the Moves table in bank $E).
-EffectsArray1: ; 4000
+EffectsArray1: ; 3c000 (f:4000)
 	db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF
-EffectsArray2: ; 4011
+EffectsArray2: ; 3c011 (f:4011)
 ; moves that do damage but not through normal calculations
 ; e.g., Super Fang, Psywave
 	db $28,$29,$FF
-EffectsArray3: ; 4014
+EffectsArray3: ; 3c014 (f: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
+EffectsArray4: ; 3c030 (f:4030)
 	db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF
-EffectsArray5: ; 403B
+EffectsArray5: ; 3c03b (f:403b)
 	db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru
-EffectsArray5B: ; 4049
+EffectsArray5B: ; 3c049 (f:4049)
 ; moves that prevent the player from switching moves?
 	db $1B,$2A,$FF
 
@@ -56342,7 +56863,8 @@
 	ld a, $1
 	ld [$d125], a
 	call DisplayTextBoxID
-	ld hl, $c405
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld bc, $307
 	call ClearScreenArea
 	call DisableLCD
@@ -56357,7 +56879,7 @@
 	ld a, b
 	or c
 	jr nz, .asm_3c06f
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld de, $9800
 	ld b, $12
 .asm_3c07f
@@ -56416,7 +56938,8 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ld a, $31
 	ld [$FF00+$e1], a
-	ld hl, $c405
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld a, $1
 	call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
 	xor a
@@ -56463,7 +56986,7 @@
 ; known jump sources: 3f030 (f:7030)
 Func_3c11e: ; 3c11e (f:411e)
 	xor a
-	ld [$d058], a
+	ld [W_PLAYERMONSALIVEFLAGS], a
 	ld [$ccf5], a
 	ld [$cd6a], a
 	inc a
@@ -56486,13 +57009,13 @@
 	call nz, Func_3c92a
 	ld c, $28
 	call DelayFrames
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 .asm_3c14f
-	call Func_3ca83
+	call AnyPokemonAliveCheck
 	ld a, d
 	and a
-	jp z, Func_3c837
-	call Func_3725
+	jp z, HandlePlayerBlackOut
+	call LoadScreenTilesFromBuffer1
 	ld a, [W_BATTLETYPE] ; $d05a
 	and a
 	jp z, Func_3c1ad
@@ -56505,8 +57028,8 @@
 	ld a, [W_NUMSAFARIBALLS] ; $da47
 	and a
 	jr nz, .asm_3c17a
-	call Func_3725
-	ld hl, $41a8
+	call LoadScreenTilesFromBuffer1
+	ld hl, UnnamedText_3c1a8 ; $41a8
 	jp PrintText
 .asm_3c17a
 	ld hl, Func_4277
@@ -56534,7 +57057,7 @@
 	jr nc, .asm_3c14f
 	jr asm_3c202
 ; 3c1a8 (f:41a8)
-UnnamedText_3c1a8: ; 0x3c1a8
+UnnamedText_3c1a8: ; 3c1a8 (f:41a8)
 	TX_FAR _UnnamedText_3c1a8
 	db $50
 ; 0x3c1a8 + 5 bytes
@@ -56560,16 +57083,17 @@
 	ld a, [hl]
 	ld [$cf91], a
 	ld [$cfd9], a
-	call Func_3725
-	ld hl, $c405
+	call LoadScreenTilesFromBuffer1
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld a, $9
 	call Func_3c8df
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	ld c, a
 	ld b, $1
 	push bc
-	ld hl, $d058
+	ld hl, W_PLAYERMONSALIVEFLAGS
 	ld a, $10
 	call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 	ld hl, $ccf5
@@ -56577,22 +57101,22 @@
 	ld a, $10
 	call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 	call Func_3cba6
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	call Func_3cc91
 	jr MainInBattleLoop
 asm_3c202: ; 3c202 (f:4202)
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
-	ld hl, $4229
+	ld hl, UnnamedText_3c229 ; $4229
 	jr nz, .asm_3c216
 	xor a
 	ld [$cf0b], a
-	ld hl, $422e
+	ld hl, UnnamedText_3c22e ; $422e
 .asm_3c216
 	call PrintText
 	ld a, $97
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	xor a
 	ld [H_WHOSETURN], a ; $FF00+$f3
 	ld hl, Func_792b9
@@ -56599,28 +57123,28 @@
 	ld b, BANK(Func_792b9)
 	jp Bankswitch ; indirect jump to Func_792b9 (792b9 (1e:52b9))
 ; 3c229 (f:4229)
-UnnamedText_3c229: ; 0x3c229
+UnnamedText_3c229: ; 3c229 (f:4229)
 	TX_FAR _UnnamedText_3c229
 	db $50
 ; 0x3c229 + 5 bytes
 
-UnnamedText_3c22e: ; 0x3c22e
+UnnamedText_3c22e: ; 3c22e (f:422e)
 	TX_FAR _UnnamedText_3c22e
 	db $50
 ; 0x3c22e + 5 bytes
 
 
-MainInBattleLoop: ; 4233
-	call Func_3cd43
-	ld hl, $d015
+MainInBattleLoop: ; 3c233 (f:4233)
+	call ReadPlayerMonCurHPAndStatus
+	ld hl, W_PLAYERMONCURHP
 	ld a, [hli]
 	or [hl]
-	jp z, Func_3c700
+	jp z, HandlePlayerMonFainted  ; test if current player mon is fainted
 	ld hl, $cfe6
 	ld a, [hli]
 	or [hl]
 	jp z, Func_3c525
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	xor a
 	ld [$d11d], a
 	ld a, [$d063]
@@ -56661,7 +57185,7 @@
 	ld [$cc35], a
 	call Func_3d219
 	push af
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	call Func_3cd5a
 	pop af
 	jr nz, MainInBattleLoop
@@ -56683,7 +57207,7 @@
 	bit 5, a
 	jr z, .asm_3c2dd ; 0x3c2c9 $12
 	ld a, [$cc2e]
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -56719,8 +57243,8 @@
 	cp COUNTER
 	jr z, .playerMovesFirst
 .compareSpeed
-	ld de, $d029 ; player speed value
-	ld hl, $cffa ; enemy speed value
+	ld de, W_PLAYERMONSPEED ; player speed value
+	ld hl, W_ENEMYMONSPEED ; enemy speed value
 	ld c, $2
 	call StringCmp ; compare speed values
 	jr z, .speedEqual
@@ -56752,9 +57276,9 @@
 	ret nz
 	ld a, b
 	and a
-	jp z, Func_3c700
+	jp z, HandlePlayerMonFainted
 .AIActionUsedEnemyFirst
-	call Func_3c3bd
+	call HandlePoisonBurnLeechSeed
 	jp z, Func_3c525
 	call Func_3cd5a
 	call Func_3d65e ; execute player move
@@ -56764,8 +57288,8 @@
 	ld a, b
 	and a
 	jp z, Func_3c525
-	call Func_3c3bd
-	jp z, Func_3c700
+	call HandlePoisonBurnLeechSeed
+	jp z, HandlePlayerMonFainted
 	call Func_3cd5a
 	call Func_3c50f
 	jp MainInBattleLoop
@@ -56777,8 +57301,8 @@
 	ld a, b
 	and a
 	jp z, Func_3c525
-	call Func_3c3bd
-	jp z, Func_3c700
+	call HandlePoisonBurnLeechSeed
+	jp z, HandlePlayerMonFainted
 	call Func_3cd5a
 	ld a, $1
 	ld [H_WHOSETURN], a
@@ -56792,9 +57316,9 @@
 	ret nz
 	ld a, b
 	and a
-	jp z, Func_3c700
+	jp z, HandlePlayerMonFainted
 .AIActionUsedPlayerFirst
-	call Func_3c3bd
+	call HandlePoisonBurnLeechSeed
 	jp z, Func_3c525
 	call Func_3cd5a
 	call Func_3c50f
@@ -56801,42 +57325,42 @@
 	jp MainInBattleLoop
 
 ; known jump sources: 3c358 (f:4358), 3c36e (f:436e), 3c38a (f:438a), 3c3ae (f:43ae)
-Func_3c3bd: ; 3c3bd (f:43bd)
+HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd)
 	ld hl, W_PLAYERMONCURHP ; $d015
 	ld de, W_PLAYERMONSTATUS ; $d018
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	jr z, .asm_3c3ce
+	jr z, .playersTurn
 	ld hl, W_ENEMYMONCURHP ; $cfe6
 	ld de, W_ENEMYMONSTATUS ; $cfe9
-.asm_3c3ce
+.playersTurn
 	ld a, [de]
-	and $18
-	jr z, .asm_3c3ef
+	and BRN | PSN
+	jr z, .notBurnedOrPoisoned
 	push hl
-	ld hl, $442e
+	ld hl, HurtByPoisonText
 	ld a, [de]
-	and $10
-	jr z, .asm_3c3df
-	ld hl, $4433
-.asm_3c3df
+	and BRN
+	jr z, .poisoned
+	ld hl, HurtByBurnText
+.poisoned
 	call PrintText
 	xor a
 	ld [$cc5b], a
 	ld a, $ba
-	call PlayMoveAnimation
+	call PlayMoveAnimation   ; play burn/poison animation
 	pop hl
-	call Func_3c43d
-.asm_3c3ef
+	call HandlePoisonBurnLeechSeed_DecreaseOwnHP
+.notBurnedOrPoisoned
 	ld de, W_PLAYERBATTSTATUS2 ; $d063
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	jr z, .asm_3c3fa
+	jr z, .playersTurn2
 	ld de, W_ENEMYBATTSTATUS2 ; $d068
-.asm_3c3fa
+.playersTurn2
 	ld a, [de]
 	add a
-	jr nc, .asm_3c421
+	jr nc, .notLeechSeeded
 	push hl
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	push af
@@ -56845,20 +57369,20 @@
 	xor a
 	ld [$cc5b], a
 	ld a, $47
-	call PlayMoveAnimation
+	call PlayMoveAnimation ; play leech seed animation (from opposing mon)
 	pop af
 	ld [H_WHOSETURN], a ; $FF00+$f3
 	pop hl
-	call Func_3c43d
-	call Func_3c4a3
+	call HandlePoisonBurnLeechSeed_DecreaseOwnHP
+	call HandlePoisonBurnLeechSeed_IncreaseEnemyHP
 	push hl
-	ld hl, $4438
+	ld hl, HurtByLeechSeedText
 	call PrintText
 	pop hl
-.asm_3c421
+.notLeechSeeded
 	ld a, [hli]
 	or [hl]
-	ret nz
+	ret nz          ; test if fainted
 	call Func_3cd5a
 	ld c, $14
 	call DelayFrames
@@ -56865,32 +57389,37 @@
 	xor a
 	ret
 ; 3c42e (f:442e)
-UnnamedText_3c42e: ; 0x3c42e
-	TX_FAR _UnnamedText_3c42e
+
+HurtByPoisonText: ; 3c42e (f:442e)
+	TX_FAR _HurtByPoisonText
 	db $50
 ; 0x3c42e + 5 bytes
 
-UnnamedText_3c433: ; 0x3c433
-	TX_FAR _UnnamedText_3c433
+HurtByBurnText: ; 3c433 (f:4433)
+	TX_FAR _HurtByBurnText
 	db $50
 ; 0x3c433 + 5 bytes
 
-UnnamedText_3c438: ; 0x3c438
-	TX_FAR _UnnamedText_3c438
+HurtByLeechSeedText: ; 3c438 (f:4438)
+	TX_FAR _HurtByLeechSeedText
 	db $50
 ; 0x3c438 + 5 bytes
 
 ; known jump sources: 3c3ec (f:43ec), 3c413 (f:4413)
-Func_3c43d: ; 3c43d (f:443d)
+; decreases the mon's current HP by 1/16 of the Max HP (multiplied by number of toxic ticks if active)
+; note that the toxic ticks are considered even if the damage is not poison (hence the Leech Seed glitch)
+; hl: HP pointer
+; bc (out): total damage
+HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d)
 	push hl
 	push hl
-	ld bc, $e
+	ld bc, $e      ; skip to max HP
 	add hl, bc
-	ld a, [hli]
-	ld [$ceea], a
+	ld a, [hli]    ; load max HP
+	ld [W_HPBARMAXHP+1], a
 	ld b, a
 	ld a, [hl]
-	ld [$cee9], a
+	ld [W_HPBARMAXHP], a
 	ld c, a
 	srl b
 	rr c
@@ -56897,101 +57426,102 @@
 	srl b
 	rr c
 	srl c
-	srl c
+	srl c         ; c = max HP/16 (assumption: HP < 1024)
 	ld a, c
 	and a
-	jr nz, .asm_3c45e
-	inc c
-.asm_3c45e
+	jr nz, .nonZeroDamage
+	inc c         ; damage is at least 1
+.nonZeroDamage
 	ld hl, W_PLAYERBATTSTATUS3 ; $d064
 	ld de, W_PLAYERTOXICCOUNTER ; $d06c
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	jr z, .asm_3c46f
+	jr z, .playersTurn
 	ld hl, W_ENEMYBATTSTATUS3 ; $d069
 	ld de, W_ENEMYTOXICCOUNTER ; $d071
-.asm_3c46f
+.playersTurn
 	bit 0, [hl]
-	jr z, .asm_3c47f
-	ld a, [de]
+	jr z, .noToxic
+	ld a, [de]    ; increment toxic counter
 	inc a
 	ld [de], a
-	ld hl, $0
-.asm_3c479
+	ld hl, $0000
+.toxicTicksLoop
 	add hl, bc
 	dec a
-	jr nz, .asm_3c479
-	ld b, h
+	jr nz, .toxicTicksLoop
+	ld b, h       ; bc = damage * toxic counter
 	ld c, l
-.asm_3c47f
+.noToxic
 	pop hl
 	inc hl
-	ld a, [hl]
-	ld [$ceeb], a
+	ld a, [hl]    ; subtract total damage from current HP
+	ld [W_HPBAROLDHP], a
 	sub c
 	ld [hld], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	ld a, [hl]
-	ld [$ceec], a
+	ld [W_HPBAROLDHP+1], a
 	sbc b
 	ld [hl], a
-	ld [$ceee], a
-	jr nc, .asm_3c49e
-	xor a
+	ld [W_HPBARNEWHP+1], a
+	jr nc, .noOverkill
+	xor a         ; overkill: zero HP
 	ld [hli], a
 	ld [hl], a
-	ld [$ceed], a
-	ld [$ceee], a
-.asm_3c49e
-	call Func_3c4f6
+	ld [W_HPBARNEWHP], a
+	ld [W_HPBARNEWHP+1], a
+.noOverkill
+	call UpdateCurMonHPBar
 	pop hl
 	ret
 
 ; known jump sources: 3c416 (f:4416)
-Func_3c4a3: ; 3c4a3 (f:44a3)
+; adds bc to enemy HP
+HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3)
 	push hl
 	ld hl, W_ENEMYMONMAXHP ; $cff4
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	jr z, .asm_3c4af
+	jr z, .playersTurn
 	ld hl, W_PLAYERMONMAXHP ; $d023
-.asm_3c4af
+.playersTurn
 	ld a, [hli]
-	ld [$ceea], a
+	ld [W_HPBARMAXHP+1], a
 	ld a, [hl]
-	ld [$cee9], a
+	ld [W_HPBARMAXHP], a
 	ld de, $fff2
-	add hl, de
+	add hl, de           ; skip back fomr max hp to current hp
 	ld a, [hl]
-	ld [$ceeb], a
+	ld [W_HPBAROLDHP], a ; add bc to current HP
 	add c
 	ld [hld], a
-	ld [$ceed], a
+	ld [W_HPBARNEWHP], a
 	ld a, [hl]
-	ld [$ceec], a
+	ld [W_HPBAROLDHP+1], a
 	adc b
 	ld [hli], a
-	ld [$ceee], a
-	ld a, [$cee9]
+	ld [W_HPBARNEWHP+1], a
+	ld a, [W_HPBARMAXHP]
 	ld c, a
 	ld a, [hld]
 	sub c
-	ld a, [$ceea]
+	ld a, [W_HPBARMAXHP+1]
 	ld b, a
 	ld a, [hl]
 	sbc b
-	jr c, .asm_3c4e5
-	ld a, b
+	jr c, .noOverfullHeal
+	ld a, b                ; overfull heal, set HP to max HP
 	ld [hli], a
-	ld [$ceee], a
+	ld [W_HPBARNEWHP+1], a
 	ld a, c
 	ld [hl], a
-	ld [$ceed], a
-.asm_3c4e5
+	ld [W_HPBARNEWHP], a
+.noOverfullHeal
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	xor $1
 	ld [H_WHOSETURN], a ; $FF00+$f3
-	call Func_3c4f6
+	call UpdateCurMonHPBar
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	xor $1
 	ld [H_WHOSETURN], a ; $FF00+$f3
@@ -56999,19 +57529,21 @@
 	ret
 
 ; known jump sources: 3c49e (f:449e), 3c4eb (f:44eb)
-Func_3c4f6: ; 3c4f6 (f:44f6)
-	ld hl, $c45e
+UpdateCurMonHPBar: ; 3c4f6 (f:44f6)
+	FuncCoord 10, 9 ; $c45e
+	ld hl, Coord    ; tile pointer to player HP bar
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	ld a, $1
-	jr z, .asm_3c504
-	ld hl, $c3ca
+	jr z, .playersTurn
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord    ; tile pointer to enemy HP bar
 	xor a
-.asm_3c504
+.playersTurn
 	push bc
 	ld [W_LISTMENUID], a ; $cf94
 	ld a, $48
-	call Predef ; indirect jump to Func_fa1d (fa1d (3:7a1d))
+	call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
 	pop bc
 	ret
 
@@ -57035,10 +57567,10 @@
 	xor a
 	ld [$ccf0], a
 	call Func_3c567
-	call Func_3ca83
+	call AnyPokemonAliveCheck
 	ld a, d
 	and a
-	jp z, Func_3c837
+	jp z, HandlePlayerBlackOut
 	ld hl, W_PLAYERMONCURHP ; $d015
 	ld a, [hli]
 	or [hl]
@@ -57066,7 +57598,7 @@
 
 ; known jump sources: 3c529 (f:4529), 3c717 (f:4717)
 Func_3c567: ; 3c567 (f:4567)
-	call Func_3cd43
+	call ReadPlayerMonCurHPAndStatus
 	ld a, [W_ISINBATTLE] ; $d057
 	dec a
 	jr z, .asm_3c57f
@@ -57094,10 +57626,12 @@
 	ld hl, $ccf1
 	ld [hli], a
 	ld [hl], a
-	ld hl, $c410
-	ld de, $c424
+	FuncCoord 12, 5 ; $c410
+	ld hl, Coord
+	FuncCoord 12, 6 ; $c424
+	ld de, Coord
 	call Func_3c893
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $40b
 	call ClearScreenArea
 	ld a, [W_ISINBATTLE] ; $d057
@@ -57107,7 +57641,7 @@
 	ld [$c0f1], a
 	ld [$c0f2], a
 	ld a, $9e
-	call Func_3740
+	call PlaySoundWaitForCurrent
 .asm_3c5c2
 	ld a, [$c02a]
 	cp $9e
@@ -57114,7 +57648,7 @@
 	jr z, .asm_3c5c2
 	ld a, $95
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	jr .asm_3c5db
 .asm_3c5d3
 	call Func_3c643
@@ -57130,14 +57664,14 @@
 	jr nz, .asm_3c5eb
 	call Func_3c741
 .asm_3c5eb
-	call Func_3ca83
+	call AnyPokemonAliveCheck
 	ld a, d
 	and a
 	ret z
-	ld hl, $463e
+	ld hl, UnnamedText_3c63e ; $463e
 	call PrintText
 	call Func_3ee94
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	xor a
 	ld [$cf0b], a
 	ld b, $4b
@@ -57169,12 +57703,12 @@
 	dec a
 	jr nz, .asm_3c62c
 	ld a, b
-	ld [$d058], a
+	ld [W_PLAYERMONSALIVEFLAGS], a
 	ld hl, Func_5524f
 	ld b, BANK(Func_5524f)
 	jp Bankswitch ; indirect jump to Func_5524f (5524f (15:524f))
 ; 3c63e (f:463e)
-UnnamedText_3c63e: ; 0x3c63e
+UnnamedText_3c63e: ; 3c63e (f:463e)
 	TX_FAR _UnnamedText_3c63e
 	db $50
 ; 0x3c63e + 5 bytes
@@ -57221,7 +57755,7 @@
 	ld a, [$cc3e]
 	cp $f
 	ret z
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 .asm_3c687
 	call EnemySendOut
 	xor a
@@ -57244,7 +57778,7 @@
 	cp $2b
 	jr nz, .asm_3c6b1
 	ld b, $fc
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	set 1, [hl]
 .asm_3c6b1
 	ld a, [W_ISLINKBATTLE] ; $d12b
@@ -57251,7 +57785,7 @@
 	cp $4
 	ld a, b
 	call nz, Func_3c6ee
-	ld hl, $46e9
+	ld hl, UnnamedText_3c6e9 ; $46e9
 	call PrintText
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
@@ -57260,7 +57794,7 @@
 	ld c, $28
 	call DelayFrames
 	call Func_3381
-	ld hl, $46e4
+	ld hl, UnnamedText_3c6e4 ; $46e4
 	call PrintText
 	ld de, W_PLAYERMONEY1 ; $d349
 	ld hl, $d07b
@@ -57268,12 +57802,12 @@
 	ld a, $b
 	jp Predef ; indirect jump to Func_f81d (f81d (3:781d))
 ; 3c6e4 (f:46e4)
-UnnamedText_3c6e4: ; 0x3c6e4
+UnnamedText_3c6e4: ; 3c6e4 (f:46e4)
 	TX_FAR _UnnamedText_3c6e4
 	db $50
 ; 0x3c6e4 + 5 bytes
 
-UnnamedText_3c6e9: ; 0x3c6e9
+UnnamedText_3c6e9: ; 3c6e9 (f:46e9)
 	TX_FAR _UnnamedText_3c6e9
 	db $50
 ; 0x3c6e9 + 5 bytes
@@ -57283,7 +57817,7 @@
 	push af
 	ld a, $ff
 	ld [$c0ee], a
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	ld c, $8
 	pop af
 	call PlayMusic
@@ -57290,25 +57824,25 @@
 	jp Delay3
 
 ; known jump sources: 3c23b (f:423b), 3c355 (f:4355), 3c371 (f:4371), 3c38d (f:438d), 3c3ab (f:43ab)
-Func_3c700: ; 3c700 (f:4700)
+HandlePlayerMonFainted: ; 3c700 (f:4700)
 	ld a, $1
 	ld [$ccf0], a
 	call Func_3c741
-	call Func_3ca83
+	call AnyPokemonAliveCheck     ; test if any more mons are alive
 	ld a, d
 	and a
-	jp z, Func_3c837
+	jp z, HandlePlayerBlackOut
 	ld hl, W_ENEMYMONCURHP ; $cfe6
 	ld a, [hli]
 	or [hl]
-	jr nz, .asm_3c725
+	jr nz, .enemyMonNotFainted
 	call Func_3c567
 	ld a, [W_ISINBATTLE] ; $d057
 	dec a
-	ret z
+	ret z            ; if wild encounter, battle is over
 	call Func_3c64f
 	jp z, Func_3c696
-.asm_3c725
+.enemyMonNotFainted
 	call Func_3c79b
 	ret c
 	call Func_3c7d8
@@ -57325,29 +57859,32 @@
 Func_3c741: ; 3c741 (f:4741)
 	ld a, [W_PLAYERMONNUMBER] ; $cc2f
 	ld c, a
-	ld hl, $d058
+	ld hl, W_PLAYERMONSALIVEFLAGS ; clear fainted mon's alive flag
 	ld b, $0
 	ld a, $10
 	call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 	ld hl, W_ENEMYBATTSTATUS1 ; $d067
-	res 2, [hl]
+	res 2, [hl]   ; reset "attacking multiple times" flag
 	ld a, [$d083]
-	bit 7, a
-	jr z, .asm_3c763
+	bit 7, a      ; skip sound flag (red bar (?))
+	jr z, .skipWaitForSound
 	ld a, $ff
 	ld [$d083], a
-	call Func_3748
-.asm_3c763
+	call WaitForSoundToFinish
+.skipWaitForSound
 	ld hl, $cd05
 	ld [hli], a
 	ld [hl], a
 	ld [W_PLAYERMONSTATUS], a ; $d018
-	call Func_3cd43
-	ld hl, $c435
+	call ReadPlayerMonCurHPAndStatus
+	FuncCoord 9, 7 ; $c435
+	ld hl, Coord
 	ld bc, $50b
 	call ClearScreenArea
-	ld hl, $c469
-	ld de, $c47d
+	FuncCoord 1, 10 ; $c469
+	ld hl, Coord
+	FuncCoord 1, 11 ; $c47d
+	ld de, Coord
 	call Func_3c893
 	ld a, $1
 	ld [$cf0b], a
@@ -57354,13 +57891,14 @@
 	ld a, [$ccf0]
 	and a
 	ret z
-	ld a, [$d014]
+	ld a, [W_PLAYERMONID]
 	call PlayCry
-	ld hl, $4796
+	ld hl, PlayerMonFaintedText
 	jp PrintText
 ; 3c796 (f:4796)
-UnnamedText_3c796: ; 0x3c796
-	TX_FAR _UnnamedText_3c796
+
+PlayerMonFaintedText: ; 3c796 (f:4796)
+	TX_FAR _PlayerMonFaintedText
 	db $50
 ; 0x3c796 + 5 bytes
 
@@ -57367,15 +57905,16 @@
 ; known jump sources: 3c54e (f:454e), 3c725 (f:4725)
 Func_3c79b: ; 3c79b (f:479b)
 	call Func_3ee94
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, [W_ISINBATTLE] ; $d057
 	and a
 	dec a
 	ret nz
-	ld hl, $47d3
+	ld hl, UnnamedText_3c7d3 ; $47d3
 	call PrintText
 .asm_3c7ad
-	ld hl, $c461
+	FuncCoord 13, 9 ; $c461
+	ld hl, Coord
 	ld bc, $a0e
 	ld a, $14
 	ld [$d125], a
@@ -57390,10 +57929,10 @@
 	and a
 	jr z, .asm_3c7ad
 	ld hl, W_PARTYMON1_SPEED ; $d193
-	ld de, $cffa
+	ld de, W_ENEMYMONSPEED
 	jp Func_3cab9
 ; 3c7d3 (f:47d3)
-UnnamedText_3c7d3: ; 0x3c7d3
+UnnamedText_3c7d3: ; 3c7d3 (f:47d3)
 	TX_FAR _UnnamedText_3c7d3
 	db $50
 ; 0x3c7d3 + 5 bytes
@@ -57424,7 +57963,7 @@
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	ld [W_PLAYERMONNUMBER], a ; $cc2f
 	ld c, a
-	ld hl, $d058
+	ld hl, W_PLAYERMONSALIVEFLAGS
 	ld b, $1
 	push bc
 	ld a, $10
@@ -57436,7 +57975,7 @@
 	call Func_3cba6
 	call GBPalWhiteOut
 	call Func_3ee5b
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	call GoPAL_SET_CF1C
 	call GBPalNormal
 	call Func_3cc91
@@ -57446,33 +57985,35 @@
 	ret
 
 ; known jump sources: 3c154 (f:4154), 3c531 (f:4531), 3c70d (f:470d)
-Func_3c837: ; 3c837 (f:4837)
+; called when player is out of usable mons.
+; prints approriate lose message, sets carry flag if player blacked out (special case for initial rival fight)
+HandlePlayerBlackOut: ; 3c837 (f:4837)
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
-	jr z, .asm_3c862
+	jr z, .notSony1Battle
 	ld a, [W_CUROPPONENT] ; $d059
-	cp $e1
-	jr nz, .asm_3c862
-	ld hl, $c3a0
+	cp $c8 + SONY1
+	jr nz, .notSony1Battle
+	ld hl, W_SCREENTILESBUFFER  ; sony 1 battle
 	ld bc, $815
 	call ClearScreenArea
 	call Func_3ed12
 	ld c, $28
 	call DelayFrames
-	ld hl, $4884
+	ld hl, Sony1WinText
 	call PrintText
-	ld a, [W_CURMAP] ; $d35e
-	cp $28
-	ret z
-.asm_3c862
+	ld a, [W_CURMAP]
+	cp OAKS_LAB
+	ret z            ; starter battle in oak's lab: don't black out
+.notSony1Battle
 	ld b, $0
 	call GoPAL_SET
-	ld hl, $4889
+	ld hl, PlayerBlackedOutText2
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
-	jr nz, .asm_3c874
-	ld hl, $488e
-.asm_3c874
+	jr nz, .noLinkBattle
+	ld hl, LinkBattleLostText
+.noLinkBattle
 	call PrintText
 	ld a, [$d732]
 	res 5, a
@@ -57481,18 +58022,19 @@
 	scf
 	ret
 ; 3c884 (f:4884)
-UnnamedText_3c884: ; 0x3c884
-	TX_FAR _UnnamedText_3c884
+
+Sony1WinText: ; 3c884 (f:4884)
+	TX_FAR _Sony1WinText
 	db $50
 ; 0x3c884 + 5 bytes
 
-UnnamedText_3c889: ; 0x3c889
-	TX_FAR _UnnamedText_3c889
+PlayerBlackedOutText2: ; 3c889 (f:4889)
+	TX_FAR _PlayerBlackedOutText2
 	db $50
 ; 0x3c889 + 5 bytes
 
-UnnamedText_3c88e: ; 0x3c88e
-	TX_FAR _UnnamedText_3c88e
+LinkBattleLostText: ; 3c88e (f:488e)
+	TX_FAR _LinkBattleLostText
 	db $50
 ; 0x3c88e + 5 bytes
 
@@ -57530,7 +58072,7 @@
 	jr nz, .asm_3c8a3
 	ld bc, $14
 	add hl, bc
-	ld de, $48d7
+	ld de, Unknown_3c8d7 ; $48d7
 	call PlaceString
 	ld c, $2
 	call DelayFrames
@@ -57543,6 +58085,7 @@
 	ld [$d730], a
 	ret
 
+Unknown_3c8d7: ; 3c8d7 (f:48d7)
 INCBIN "baserom.gbc",$3c8d7,$3c8df - $3c8d7
 
 ; known jump sources: 3c1d9 (f:41d9), 3c94f (f:494f)
@@ -57585,9 +58128,10 @@
 	jr nz, .asm_3c8e2
 	ret
 ; 3c90e (f:490e)
+
 ; XXX this needs cleaning up. it's what runs when a juggler switches pokemon
-EnemySendOut: ; 490E
-	ld hl,$D058
+EnemySendOut: ; 3c90e (f:490e)
+	ld hl,W_PLAYERMONSALIVEFLAGS
 	xor a
 	ld [hl],a
 	ld a,[$CC2F]
@@ -57602,7 +58146,7 @@
 	pop bc
 	ld a,$10
 	call Predef
-Func_3c92a:
+Func_3c92a: ; 3c92a (f:492a)
 	xor a
 	ld hl,$D065
 	ld [hli],a
@@ -57620,11 +58164,12 @@
 	ld [W_AICOUNT],a
 	ld hl,W_PLAYERBATTSTATUS1
 	res 5,[hl]
-	ld hl,$C3B2
+	FuncCoord 18, 0 ; $c3b2
+	ld hl,Coord
 	ld a,8
 	call Func_3c8df
 	call Func_3ee94
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a,[$D12B]
 	cp 4
 	jr nz,.next
@@ -57666,7 +58211,7 @@
 	ld b,0
 	add hl,bc
 	ld a,[hl]
-	ld [$CFD8],a
+	ld [W_ENEMYMONID],a
 	ld [$CF91],a
 	call Func_3eb01
 	ld hl,$CFE6
@@ -57690,7 +58235,8 @@
 	jr nz,.next4
 	ld hl, TrainerAboutToUseText
 	call PrintText
-	ld hl,$C42C
+	FuncCoord 0, 7 ; $c42c
+	ld hl,Coord
 	ld bc,$0801
 	ld a,$14
 	ld [$D125],a
@@ -57709,7 +58255,7 @@
 	ld a,[$CF92]
 	cp [hl]
 	jr nz,.next6
-	ld hl,$51F5
+	ld hl,UnnamedText_3d1f5 ; $51f5
 	call PrintText
 .next8
 	call GoBackToPartyMenu
@@ -57722,10 +58268,10 @@
 .next7
 	call GBPalWhiteOut
 	call Func_3ee5b
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 .next4
 	call CleanLCD_OAM
-	ld hl,$C3A0
+	ld hl,W_SCREENTILESBUFFER
 	ld bc,$040B
 	call ClearScreenArea
 	ld b,1
@@ -57733,7 +58279,7 @@
 	call GBPalNormal
 	ld hl,TrainerSentOutText
 	call PrintText
-	ld a,[$CFD8]
+	ld a,[W_ENEMYMONID]
 	ld [$CF91],a
 	ld [$D0B5],a
 	call GetMonHeader
@@ -57741,10 +58287,11 @@
 	call LoadMonFrontSprite
 	ld a,$CF
 	ld [$FFE1],a
-	ld hl,$C427
+	FuncCoord 15, 6 ; $c427
+	ld hl,Coord
 	ld a,2
 	call Predef
-	ld a,[$CFD8]
+	ld a,[W_ENEMYMONID]
 	call PlayCry
 	call Func_3cdec
 	ld a,[$CC26]
@@ -57751,33 +58298,34 @@
 	and a
 	ret nz
 	xor a
-	ld [$D058],a
+	ld [W_PLAYERMONSALIVEFLAGS],a
 	ld [$CCF5],a
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	jp Func_3d1ba
 
-TrainerAboutToUseText: ; 0x3ca79
+TrainerAboutToUseText: ; 3ca79 (f:4a79)
 	TX_FAR _TrainerAboutToUseText
 	db "@"
 
-TrainerSentOutText: ; 0x3ca7e
+TrainerSentOutText: ; 3ca7e (f:4a7e)
 	TX_FAR _TrainerSentOutText
 	db "@"
 
-; known jump sources: 669 (0:669), c735 (3:4735), 3c14f (f:414f), 3c52c (f:452c), 3c5eb (f:45eb), 3c708 (f:4708)
-Func_3ca83: ; 3ca83 (f:4a83)
+; tests if the player has any pokemon that are not fainted
+; sets d = 0 if all fainted, d != 0 if some mons are still alive
+AnyPokemonAliveCheck: ; 3ca83 (f:4a83)
 	ld a, [W_NUMINPARTY] ; $d163
 	ld e, a
 	xor a
 	ld hl, W_PARTYMON1_HP ; $d16c
-	ld bc, $2b
-.asm_3ca8e
+	ld bc, W_PARTYMON2_HP - W_PARTYMON1_HP - 1  ; $2b
+.partyMonsLoop
 	or [hl]
 	inc hl
 	or [hl]
 	add hl, bc
 	dec e
-	jr nz, .asm_3ca8e
+	jr nz, .partyMonsLoop
 	ld d, a
 	ret
 
@@ -57793,13 +58341,13 @@
 	ld a, [$d11d]
 	and a
 	jr nz, .asm_3cab2
-	ld hl, $4ab4
+	ld hl, UnnamedText_3cab4 ; $4ab4
 	call PrintText
 .asm_3cab2
 	xor a
 	ret
 ; 3cab4 (f:4ab4)
-UnnamedText_3cab4: ; 0x3cab4
+UnnamedText_3cab4: ; 3cab4 (f:4ab4)
 	TX_FAR _UnnamedText_3cab4
 	db $50
 ; 0x3cab4 + 5 bytes
@@ -57829,7 +58377,7 @@
 	inc de
 	ld a, [de]
 	ld [$FF00+$8e], a
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld de, $ff97
 	ld hl, $ff8d
 	ld c, $2
@@ -57878,15 +58426,15 @@
 	jr nc, .asm_3cb5c
 	ld a, $1
 	ld [$cd6a], a
-	ld hl, $4b97
+	ld hl, UnnamedText_3cb97 ; $4b97
 	jr .asm_3cb4f
 .asm_3cb4c
-	ld hl, $4b9c
+	ld hl, UnnamedText_3cb9c ; $4b9c
 .asm_3cb4f
 	call PrintText
 	ld a, $1
 	ld [$d11f], a
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	and a
 	ret
 .asm_3cb5c
@@ -57894,13 +58442,13 @@
 	cp $4
 	ld a, $2
 	jr nz, .asm_3cb81
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	xor a
 	ld [$cd6a], a
 	ld a, $f
 	ld [W_PLAYERMOVELISTINDEX], a ; $cc2e
 	call Func_3d605
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, [$cc3e]
 	cp $f
 	ld a, $2
@@ -57909,25 +58457,25 @@
 .asm_3cb81
 	ld [$cf0b], a
 	ld a, $97
-	call Func_3740
-	ld hl, $4ba1
+	call PlaySoundWaitForCurrent
+	ld hl, UnnamedText_3cba1 ; $4ba1
 	call PrintText
-	call Func_3748
-	call Func_3719
+	call WaitForSoundToFinish
+	call SaveScreenTilesToBuffer1
 	scf
 	ret
 ; 3cb97 (f:4b97)
-UnnamedText_3cb97: ; 0x3cb97
+UnnamedText_3cb97: ; 3cb97 (f:4b97)
 	TX_FAR _UnnamedText_3cb97
 	db $50
 ; 0x3cb97 + 5 bytes
 
-UnnamedText_3cb9c: ; 0x3cb9c
+UnnamedText_3cb9c: ; 3cb9c (f:4b9c)
 	TX_FAR _UnnamedText_3cb9c
 	db $50
 ; 0x3cb9c + 5 bytes
 
-UnnamedText_3cba1: ; 0x3cba1
+UnnamedText_3cba1: ; 3cba1 (f:4ba1)
 	TX_FAR _UnnamedText_3cba1
 	db $50
 ; 0x3cba1 + 5 bytes
@@ -57938,12 +58486,12 @@
 	ld bc, $2c
 	ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
 	call AddNTimes
-	ld de, $d014
+	ld de, W_PLAYERMONID
 	ld bc, $c
 	call CopyData
 	ld bc, $f
 	add hl, bc
-	ld de, $d020
+	ld de, W_PLAYERMONIVS
 	ld bc, $2
 	call CopyData
 	ld de, W_PLAYERMONPP ; $d02d
@@ -57958,7 +58506,7 @@
 	ld hl, W_PARTYMON1NAME ; $d2b5
 	ld a, [W_PLAYERMONNUMBER] ; $cc2f
 	call SkipFixedLengthTextEntries
-	ld de, $d009
+	ld de, W_PLAYERMONNAME
 	ld bc, $b
 	call CopyData
 	ld hl, W_PLAYERMONLEVEL ; $d022
@@ -58074,20 +58622,23 @@
 	ld [H_WHOSETURN], a ; $FF00+$f3
 	ld a, $c3
 	call PlayMoveAnimation
-	ld hl, $c480
+	FuncCoord 4, 11 ; $c480
+	ld hl, Coord
 	ld a, $2
 	call Predef ; indirect jump to Func_3f073 (3f073 (f:7073))
 	ld a, [$cf91]
 	call PlayCry
 	call Func_3ee94
-	jp Func_3719
+	jp SaveScreenTilesToBuffer1
 
 ; known jump sources: 3d1c7 (f:51c7)
 Func_3ccfa: ; 3ccfa (f:4cfa)
-	ld hl, $c405
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld bc, $707
 	call ClearScreenArea
-	ld hl, $c42f
+	FuncCoord 3, 7 ; $c42f
+	ld hl, Coord
 	ld bc, $505
 	xor a
 	ld [$cd6c], a
@@ -58097,7 +58648,8 @@
 	ld c, $4
 	call DelayFrames
 	call Func_3cd3a
-	ld hl, $c458
+	FuncCoord 4, 9 ; $c458
+	ld hl, Coord
 	ld bc, $303
 	ld a, $1
 	ld [$cd6c], a
@@ -58108,24 +58660,27 @@
 	call Delay3
 	call Func_3cd3a
 	ld a, $4c
-	ld [$c481], a
+	FuncCoord 5, 11 ; $c481
+	ld [Coord], a
 
 ; known jump sources: 3cd19 (f:4d19), 3cd32 (f:4d32)
 Func_3cd3a: ; 3cd3a (f:4d3a)
-	ld hl, $c405
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld bc, $707
 	jp ClearScreenArea
 
 ; known jump sources: 78c1 (1:78c1), 3c233 (f:4233), 3c567 (f:4567), 3c76b (f:476b), 3f76e (f:776e), 3f7c1 (f:77c1)
-Func_3cd43: ; 3cd43 (f:4d43)
+; reads player's current mon's HP into W_PLAYERMONCURHP
+ReadPlayerMonCurHPAndStatus: ; 3cd43 (f:4d43)
 	ld a, [W_PLAYERMONNUMBER] ; $cc2f
 	ld hl, W_PARTYMON1_HP ; $d16c
-	ld bc, $2c
+	ld bc, W_PARTYMON2_HP - W_PARTYMON1_HP ; $2c
 	call AddNTimes
 	ld d, h
 	ld e, l
 	ld hl, W_PLAYERMONCURHP ; $d015
-	ld bc, $4
+	ld bc, $4               ; 2 bytes HP, 1 byte unknown (unused?), 1 byte status
 	jp CopyData
 
 ; known jump sources: 3c2a0 (f:42a0), 3c35e (f:435e), 3c374 (f:4374), 3c390 (f:4390), 3c3b4 (f:43b4), 3c424 (f:4424), 3cebc (f:4ebc), 3d017 (f:5017), 3d0ac (f:50ac), 3e19d (f:619d), 3e25b (f:625b), 3e2a9 (f:62a9)
@@ -58137,19 +58692,22 @@
 Func_3cd60: ; 3cd60 (f:4d60)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c435
+	FuncCoord 9, 7 ; $c435
+	ld hl, Coord
 	ld bc, $50b
 	call ClearScreenArea
 	ld hl, Func_3a902
 	ld b, BANK(Func_3a902)
 	call Bankswitch ; indirect jump to Func_3a902 (3a902 (e:6902))
-	ld hl, $c466
+	FuncCoord 18, 9 ; $c466
+	ld hl, Coord
 	ld [hl], $73
-	ld de, $d009
-	ld hl, $c436
+	ld de, W_PLAYERMONNAME
+	FuncCoord 10, 7 ; $c436
+	ld hl, Coord
 	call Func_3ce9c
 	call PlaceString
-	ld hl, $d014
+	ld hl, W_PLAYERMONID
 	ld de, $cf98
 	ld bc, $c
 	call CopyData
@@ -58157,7 +58715,8 @@
 	ld de, $cfb9
 	ld bc, $b
 	call CopyData
-	ld hl, $c44e
+	FuncCoord 14, 8 ; $c44e
+	ld hl, Coord
 	push hl
 	inc hl
 	ld de, $cf9c
@@ -58168,7 +58727,8 @@
 .asm_3cdae
 	ld a, [$cf98]
 	ld [$cf91], a
-	ld hl, $c45e
+	FuncCoord 10, 9 ; $c45e
+	ld hl, Coord
 	ld a, $5f
 	call Predef ; indirect jump to Func_128ef (128ef (4:68ef))
 	ld a, $1
@@ -58202,7 +58762,7 @@
 Func_3cdec: ; 3cdec (f:4dec)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $40c
 	call ClearScreenArea
 	ld hl, Func_3a919
@@ -58209,10 +58769,12 @@
 	ld b, BANK(Func_3a919)
 	call Bankswitch ; indirect jump to Func_3a919 (3a919 (e:6919))
 	ld de, W_ENEMYMONNAME
-	ld hl, $c3a1
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
 	call Func_3ce9c
 	call PlaceString
-	ld hl, $c3b8
+	FuncCoord 4, 1 ; $c3b8
+	ld hl, Coord
 	push hl
 	inc hl
 	ld de, W_ENEMYMONSTATUS ; $cfe9
@@ -58282,7 +58844,8 @@
 Func_3ce7f: ; 3ce7f (f:4e7f)
 	xor a
 	ld [W_LISTMENUID], a ; $cf94
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	call DrawHPBar
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
@@ -58322,13 +58885,13 @@
 
 ; known jump sources: 3c161 (f:4161), 3c263 (f:4263), 3cffa (f:4ffa), 3d05c (f:505c), 3d102 (f:5102), 3d216 (f:5216)
 Func_3ceb3: ; 3ceb3 (f:4eb3)
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, [W_BATTLETYPE] ; $d05a
 	and a
 	jr nz, .asm_3cec5
 	call Func_3cd5a
 	call Func_3ee94
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 .asm_3cec5
 	ld a, [W_BATTLETYPE] ; $d05a
 	cp $2
@@ -58345,16 +58908,18 @@
 	ld de, W_GRASSRATE ; $d887
 	ld bc, $b
 	call CopyData
-	ld hl, $4f12
+	ld hl, Unknown_3cf12 ; $4f12
 	ld de, W_PLAYERNAME ; $d158
 	ld bc, $b
 	call CopyData
-	ld hl, $c4c1
+	FuncCoord 9, 14 ; $c4c1
+	ld hl, Coord
 	ld [hl], $ed
 	ld c, $50
 	call DelayFrames
 	ld [hl], $7f
-	ld hl, $c4e9
+	FuncCoord 9, 16 ; $c4e9
+	ld hl, Coord
 	ld [hl], $ed
 	ld c, $32
 	call DelayFrames
@@ -58362,6 +58927,7 @@
 	ld a, $2
 	jp Func_3cfe8
 
+Unknown_3cf12: ; 3cf12 (f:4f12)
 INCBIN "baserom.gbc",$3cf12,$3cf1a - $3cf12
 
 ; known jump sources: 3ceda (f:4eda)
@@ -58379,14 +58945,19 @@
 	cp $2
 	ld a, $7f
 	jr z, .asm_3cf42
-	ld [$c4c7], a
-	ld [$c4ef], a
+	FuncCoord 15, 14 ; $c4c7
+	ld [Coord], a
+	FuncCoord 15, 16 ; $c4ef
+	ld [Coord], a
 	ld b, $9
 	jr .asm_3cf56
 .asm_3cf42
-	ld [$c4c5], a
-	ld [$c4ed], a
-	ld hl, $c4bf
+	FuncCoord 13, 14 ; $c4c5
+	ld [Coord], a
+	FuncCoord 13, 16 ; $c4ed
+	ld [Coord], a
+	FuncCoord 7, 14 ; $c4bf
+	ld hl, Coord
 	ld de, W_NUMSAFARIBALLS ; $da47
 	ld bc, $102
 	call PrintNumber
@@ -58411,14 +58982,19 @@
 	cp $2
 	ld a, $7f
 	jr z, .asm_3cf81
-	ld [$c4c1], a
-	ld [$c4e9], a
+	FuncCoord 9, 14 ; $c4c1
+	ld [Coord], a
+	FuncCoord 9, 16 ; $c4e9
+	ld [Coord], a
 	ld b, $f
 	jr .asm_3cf95
 .asm_3cf81
-	ld [$c4b9], a
-	ld [$c4e1], a
-	ld hl, $c4bf
+	FuncCoord 1, 14 ; $c4b9
+	ld [Coord], a
+	FuncCoord 1, 16 ; $c4e1
+	ld [Coord], a
+	FuncCoord 7, 14 ; $c4bf
+	ld hl, Coord
 	ld de, W_NUMSAFARIBALLS ; $da47
 	ld bc, $102
 	call PrintNumber
@@ -58464,7 +59040,7 @@
 	jr z, .asm_3cfe1
 	xor a
 	ld [$d120], a
-	jp Func_3725
+	jp LoadScreenTilesFromBuffer1
 .asm_3cfe1
 	ld a, $8
 	ld [$cf91], a
@@ -58477,11 +59053,11 @@
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
 	jr nz, .asm_3cffd
-	ld hl, $50c5
+	ld hl, UnnamedText_3d0c5 ; $50c5
 	call PrintText
 	jp Func_3ceb3
 .asm_3cffd
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld a, [W_BATTLETYPE] ; $d05a
 	cp $2
 	jr nz, asm_3d00e
@@ -58489,7 +59065,7 @@
 	ld [$cf91], a
 	jr asm_3d05f
 asm_3d00e: ; 3d00e (f:500e)
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, [W_BATTLETYPE] ; $d05a
 	and a
 	jr nz, .asm_3d01a
@@ -58498,7 +59074,7 @@
 	ld a, [W_BATTLETYPE] ; $d05a
 	dec a
 	jr nz, .asm_3d031
-	ld hl, $502d
+	ld hl, .unknown_3d02d ; $502d
 	ld a, l
 	ld [$cf8b], a
 	ld a, h
@@ -58505,7 +59081,9 @@
 	ld [$cf8c], a
 	jr .asm_3d03c
 
+.unknown_3d02d: ; 3d02d (f:502d)
 INCBIN "baserom.gbc",$3d02d,$3d031 - $3d02d
+
 .asm_3d031
 	ld hl, W_NUMBAGITEMS ; $d31d
 	ld a, l
@@ -58559,7 +59137,7 @@
 	ld a, [W_BATTLETYPE] ; $d05a
 	cp $2
 	jr z, .asm_3d0b2
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	call Func_3cd5a
 	call Delay3
 .asm_3d0b2
@@ -58575,7 +59153,7 @@
 	scf
 	ret
 ; 3d0c5 (f:50c5)
-UnnamedText_3d0c5: ; 0x3d0c5
+UnnamedText_3d0c5: ; 3d0c5 (f:50c5)
 	TX_FAR _UnnamedText_3d0c5
 	db $50
 ; 0x3d0c5 + 5 bytes
@@ -58584,7 +59162,7 @@
 Func_3d0ca: ; 3d0ca (f:50ca)
 	dec a
 	jp nz, Func_3d1fa
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld a, [W_BATTLETYPE] ; $d05a
 	cp $2
 	jr nz, Func_3d0e0
@@ -58594,7 +59172,7 @@
 
 ; known jump sources: 3d0d6 (f:50d6), 3d187 (f:5187)
 Func_3d0e0: ; 3d0e0 (f:50e0)
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	xor a
 	ld [$d07d], a
 	ld [$cc35], a
@@ -58605,7 +59183,7 @@
 	call CleanLCD_OAM
 	call GBPalWhiteOut
 	call Func_3ee5b
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	call GoPAL_SET_CF1C
 	call GBPalNormal
 	jp Func_3ceb3
@@ -58612,7 +59190,8 @@
 
 ; known jump sources: 3d138 (f:5138), 3d19a (f:519a), 3d1a0 (f:51a0)
 Func_3d105: ; 3d105 (f:5105)
-	ld hl, $c487
+	FuncCoord 11, 11 ; $c487
+	ld hl, Coord
 	ld bc, $81
 	ld a, $7f
 	call FillMemory
@@ -58682,7 +59261,7 @@
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	cp d
 	jr nz, .asm_3d19d
-	ld hl, $51f5
+	ld hl, UnnamedText_3d1f5 ; $51f5
 	call PrintText
 	jp Func_3d105
 .asm_3d19d
@@ -58693,7 +59272,7 @@
 	call GBPalWhiteOut
 	call CleanLCD_OAM
 	call Func_3ee5b
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	call GoPAL_SET_CF1C
 	call GBPalNormal
 
@@ -58710,7 +59289,7 @@
 	ld c, a
 	ld b, $1
 	push bc
-	ld hl, $d058
+	ld hl, W_PLAYERMONSALIVEFLAGS
 	ld a, $10
 	call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 	pop bc
@@ -58719,13 +59298,13 @@
 	call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 	call Func_3cba6
 	call Func_3cc91
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, $2
 	ld [W_CURMENUITEMID], a ; $cc26
 	and a
 	ret
 ; 3d1f5 (f:51f5)
-UnnamedText_3d1f5: ; 0x3d1f5
+UnnamedText_3d1f5: ; 3d1f5 (f:51f5)
 	TX_FAR _UnnamedText_3d1f5
 	db $50
 ; 0x3d1f5 + 5 bytes
@@ -58732,11 +59311,11 @@
 
 ; known jump sources: 3d0cb (f:50cb)
 Func_3d1fa: ; 3d1fa (f:51fa)
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, $3
 	ld [W_CURMENUITEMID], a ; $cc26
-	ld hl, $d029
-	ld de, $cffa
+	ld hl, W_PLAYERMONSPEED
+	ld de, W_ENEMYMONSPEED
 	call Func_3cab9
 	ld a, $0
 	ld [$d11f], a
@@ -58779,31 +59358,37 @@
 asm_3d249: ; 3d249 (f:5249)
 	call Func_3d3f5
 	ret z
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 	call Func_3d224
-	ld hl, $c494
+	FuncCoord 4, 12 ; $c494
+	ld hl, Coord
 	ld b, $4
 	ld c, $e
 	di
 	call TextBoxBorder
-	ld hl, $c494
+	FuncCoord 4, 12 ; $c494
+	ld hl, Coord
 	ld [hl], $7a
-	ld hl, $c49a
+	FuncCoord 10, 12 ; $c49a
+	ld hl, Coord
 	ld [hl], $7e
 	ei
-	ld hl, $c4aa
+	FuncCoord 6, 13 ; $c4aa
+	ld hl, Coord
 	call Func_3d236
 	ld b, $5
 	ld a, $c
 	jr asm_3d2b4
 asm_3d275: ; 3d275 (f:5275)
-	ld hl, $cfed
+	ld hl, W_ENEMYMONMOVES
 	call Func_3d224
-	ld hl, $c42c
+	FuncCoord 0, 7 ; $c42c
+	ld hl, Coord
 	ld b, $4
 	ld c, $e
 	call TextBoxBorder
-	ld hl, $c442
+	FuncCoord 2, 8 ; $c442
+	ld hl, Coord
 	call Func_3d236
 	ld b, $1
 	ld a, $7
@@ -58814,11 +59399,13 @@
 	ld bc, $2c
 	call AddNTimes
 	call Func_3d224
-	ld hl, $c430
+	FuncCoord 4, 7 ; $c430
+	ld hl, Coord
 	ld b, $4
 	ld c, $e
 	call TextBoxBorder
-	ld hl, $c446
+	FuncCoord 6, 8 ; $c446
+	ld hl, Coord
 	call Func_3d236
 	ld b, $5
 	ld a, $7
@@ -58851,7 +59438,7 @@
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
 	jr z, .asm_3d2f0
-	ld a, [$d733]
+	ld a, [W_FLAGS_D733]
 	bit 0, a
 	ld b, $c7
 	jr z, .asm_3d2f0
@@ -58874,12 +59461,13 @@
 	jr z, .asm_3d312
 	dec a
 	jr nz, .asm_3d32e
-	ld hl, $c4b9
-	ld de, $53b8
+	FuncCoord 1, 14 ; $c4b9
+	ld hl, Coord
+	ld de, Unknown_3d3b8 ; $53b8
 	call PlaceString
 	jr .asm_3d32e
 .asm_3d312
-	ld a, [$d733]
+	ld a, [W_FLAGS_D733]
 	bit 0, a
 	jr nz, .asm_3d32e
 	call Func_3d4b6
@@ -58886,7 +59474,8 @@
 	ld a, [$cc35]
 	and a
 	jr z, .asm_3d32e
-	ld hl, $c4a9
+	FuncCoord 5, 13 ; $c4a9
+	ld hl, Coord
 	dec a
 	ld bc, $14
 	call AddNTimes
@@ -58945,7 +59534,7 @@
 	jr nz, .asm_3d38d
 .asm_3d38d
 	ld a, [W_CURMENUITEMID] ; $cc26
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -58954,25 +59543,26 @@
 	xor a
 	ret
 .asm_3d39d
-	ld hl, $53b3
+	ld hl, UnnamedText_3d3b3 ; $53b3
 	jr .asm_3d3a5
 .asm_3d3a2
-	ld hl, $53ae
+	ld hl, UnnamedText_3d3ae ; $53ae
 .asm_3d3a5
 	call PrintText
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	jp Func_3d219
 ; 3d3ae (f:53ae)
-UnnamedText_3d3ae: ; 0x3d3ae
+UnnamedText_3d3ae: ; 3d3ae (f:53ae)
 	TX_FAR _UnnamedText_3d3ae
 	db $50
 ; 0x3d3ae + 5 bytes
 
-UnnamedText_3d3b3: ; 0x3d3b3
+UnnamedText_3d3b3: ; 3d3b3 (f:53b3)
 	TX_FAR _UnnamedText_3d3b3
 	db $50
 ; 0x3d3b3 + 5 bytes
 
+Unknown_3d3b8: ; 3d3b8 (f:53b8)
 INCBIN "baserom.gbc",$3d3b8,$3d3c9 - $3d3b8
 
 ; known jump sources: 3d33d (f:533d)
@@ -59036,7 +59626,7 @@
 	and a
 	ret nz
 .asm_3d423
-	ld hl, $5430
+	ld hl, UnnamedText_3d430 ; $5430
 	call PrintText
 	ld c, $3c
 	call DelayFrames
@@ -59043,7 +59633,7 @@
 	xor a
 	ret
 ; 3d430 (f:5430)
-UnnamedText_3d430: ; 0x3d430
+UnnamedText_3d430: ; 3d430 (f:5430)
 	TX_FAR _UnnamedText_3d430
 	db $50
 ; 0x3d430 + 5 bytes
@@ -59053,7 +59643,7 @@
 	ld a, [$cc35]
 	and a
 	jr z, asm_3d4ad
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 	call Func_3d493
 	ld hl, W_PLAYERMONPP ; $d02d
 	call Func_3d493
@@ -59130,7 +59720,8 @@
 Func_3d4b6: ; 3d4b6 (f:54b6)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c440
+	FuncCoord 0, 8 ; $c440
+	ld hl, Coord
 	ld b, $3
 	ld c, $9
 	call TextBoxBorder
@@ -59143,8 +59734,9 @@
 	ld a, [W_CURMENUITEMID] ; $cc26
 	cp b
 	jr nz, .asm_3d4df
-	ld hl, $c469
-	ld de, $5555
+	FuncCoord 1, 10 ; $c469
+	ld hl, Coord
+	ld de, Unknown_3d555 ; $5555
 	call PlaceString
 	jr .asm_3d54e
 .asm_3d4df
@@ -59152,7 +59744,7 @@
 	dec [hl]
 	xor a
 	ld [H_WHOSETURN], a ; $FF00+$f3
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 	ld a, [W_CURMENUITEMID] ; $cc26
 	ld c, a
 	ld b, $0
@@ -59175,23 +59767,29 @@
 	ld a, [hl]
 	and $3f
 	ld [$cd6d], a
-	ld hl, $c455
-	ld de, $555f
+	FuncCoord 1, 9 ; $c455
+	ld hl, Coord
+	ld de, Unknown_3d55f ; $555f
 	call PlaceString
-	ld hl, $c483
+	FuncCoord 7, 11 ; $c483
+	ld hl, Coord
 	ld [hl], $f3
-	ld hl, $c459
+	FuncCoord 5, 9 ; $c459
+	ld hl, Coord
 	ld [hl], $f3
-	ld hl, $c481
+	FuncCoord 5, 11 ; $c481
+	ld hl, Coord
 	ld de, $cd6d
 	ld bc, $102
 	call PrintNumber
-	ld hl, $c484
+	FuncCoord 8, 11 ; $c484
+	ld hl, Coord
 	ld de, $d11e
 	ld bc, $102
 	call PrintNumber
 	call Func_3eabe
-	ld hl, $c46a
+	FuncCoord 2, 10 ; $c46a
+	ld hl, Coord
 	ld a, $5d
 	call Predef ; indirect jump to Func_27d98 (27d98 (9:7d98))
 .asm_3d54e
@@ -59199,15 +59797,19 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	jp Delay3
 
-INCBIN "baserom.gbc",$3d555,$3d564 - $3d555
+Unknown_3d555: ; 3d555 (f:5555)
+INCBIN "baserom.gbc",$3d555,$3d55f - $3d555
 
-SelectEnemyMove: ; 5564 0x3d564
+Unknown_3d55f: ; 3d55f (f:555f)
+INCBIN "baserom.gbc",$3d55f,$3d564 - $3d55f
+
+SelectEnemyMove: ; 3d564 (f:5564)
 	ld a, [W_ISLINKBATTLE]
 	sub $4
 	jr nz, .noLinkBattle
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	call Func_3d605
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, [$cc3e]
 	cp $e
 	jp z, .asm_3d601
@@ -59217,7 +59819,7 @@
 	ret nc
 	ld [$cce2], a
 	ld c, a
-	ld hl, $cfed
+	ld hl, W_ENEMYMONMOVES
 	ld b, $0
 	add hl, bc
 	ld a, [hl]
@@ -59243,7 +59845,7 @@
 	ld a, $ff
 	jr .done
 .notCaughtInWrap
-	ld hl, $cfee ; 2nd enemy move
+	ld hl, W_ENEMYMONMOVES+1 ; 2nd enemy move
 	ld a, [hld]
 	and a
 	jr nz, .atLeastTwoMovesAvailable
@@ -59383,11 +59985,11 @@
 	jr asm_3d6b0
 ; 3d6a9 (f:56a9)
 ; in-battle stuff
-asm_3d6a9:
+asm_3d6a9: ; 3d6a9 (f:56a9)
 	ld hl,W_PLAYERBATTSTATUS1
 	res 4,[hl]
 	res 6,[hl]
-asm_3d6b0:
+asm_3d6b0: ; 3d6b0 (f:56b0)
 	call Func_3daf5
 	ld hl,DecrementPP
 	ld de,$CCDC ; pointer to the move just used
@@ -59397,41 +59999,43 @@
 	ld hl,EffectsArray1
 	ld de,1
 	call IsInArray
-	jp c,$7132
+	jp c,Func_3f132
 	ld a,[W_PLAYERMOVEEFFECT]
 	ld hl,EffectsArray5B
 	ld de,1
 	call IsInArray
-	call c,$7132
+	call c,Func_3f132
+asm_3d6dc: ; 3d6dc (f:56dc)
 	ld a,[W_PLAYERMOVEEFFECT]
 	ld hl,EffectsArray2
 	ld de,1
 	call IsInArray
-	jp c,$5702
+	jp c,.asm_3d702
 	call CriticalHitTest
 	call HandleCounterMove
-	jr z,.next11
+	jr z,asm_3d705
 	call CalculateDamage
 	call MoreCalculateDamage
-	jp z,$574B
+	jp z,asm_3d74b
 	call AdjustDamageForMoveType
 	call Func_3e687
+.asm_3d702
 	call MoveHitTest
-.next11
+asm_3d705
 	ld a,[W_MOVEMISSED]
 	and a
-	jr z,.next
+	jr z,asm_3d714
 	ld a,[W_PLAYERMOVEEFFECT]
 	sub a,7
-	jr z,.next2
-	jr .next3 ; 574B
-.next
+	jr z,asm_3d71e
+	jr asm_3d74b ; 574B
+asm_3d714
 	ld a,[W_PLAYERMOVEEFFECT]
 	and a
 	ld a,4
-	jr z,.next2
+	jr z,asm_3d71e
 	ld a,5
-.next2
+asm_3d71e
 	push af
 	ld a,[W_PLAYERBATTSTATUS2]
 	bit 4,a
@@ -59449,8 +60053,8 @@
 	ld hl,Func_79771
 	ld b,BANK(Func_79771)
 	call nz,Bankswitch
-	jr .next4
-.next3
+	jr asm_3d766
+asm_3d74b
 	ld c,$1E
 	call DelayFrames
 	ld a,[W_PLAYERMOVEEFFECT]
@@ -59458,13 +60062,13 @@
 	jr z,.next5
 	cp a,$27 ; XXX SLP | FRZ ?
 	jr z,.next5
-	jr .next4
+	jr asm_3d766
 .next5
 	xor a
 	ld [$CC5B],a
 	ld a,$A7
 	call PlayMoveAnimation
-.next4
+asm_3d766
 	ld a,[W_PLAYERMOVEEFFECT]
 	cp a,9
 	jr nz,.next6 ; 577A
@@ -59483,7 +60087,7 @@
 	ld hl,EffectsArray3
 	ld de,1
 	call IsInArray
-	jp c,$7132
+	jp c,Func_3f132
 	ld a,[W_MOVEMISSED]
 	and a
 	jr z,.next8 ; 57A6
@@ -59505,7 +60109,7 @@
 	ld hl,EffectsArray4
 	ld de,1
 	call IsInArray
-	call c,$7132
+	call c,Func_3f132
 	ld hl,$CFE6
 	ld a,[hli]
 	ld b,[hl]
@@ -59519,7 +60123,7 @@
 	ld a,[$D06A]
 	dec a
 	ld [$D06A],a
-	jp nz,$5714
+	jp nz,asm_3d714
 
 	res 2,[hl]
 	ld hl,MultiHitText
@@ -59533,20 +60137,20 @@
 	ld hl,EffectsArray5
 	ld de,1
 	call IsInArray
-	call nc,$7132
+	call nc,Func_3f132
 	jp Function580A
 
-MultiHitText: ; 0x3d805
+MultiHitText: ; 3d805 (f:5805)
 	TX_FAR _MultiHitText
 	db "@"
 
-Function580A: ; 0x3d80a 580A
+Function580A: ; 3d80a (f:580a)
 	xor a
 	ld [$CD6A],a
 	ld b,1
 	ret
 
-Function5811: ; 0x3d811 5811
+Function5811: ; 3d811 (f:5811)
 ; print the ghost battle messages
 	call Function583A
 	ret nz
@@ -59566,15 +60170,15 @@
 	xor a
 	ret
 
-ScaredText: ; 0x3d830
+ScaredText: ; 3d830 (f:5830)
 	TX_FAR _ScaredText
 	db "@"
 
-GetOutText: ; 0x3d835
+GetOutText: ; 3d835 (f:5835)
 	TX_FAR _GetOutText
 	db "@"
 
-Function583A: ; 0x3d83a 583A
+Function583A: ; 3d83a (f:583a)
 	ld a,[W_ISINBATTLE]
 	dec a
 	ret nz
@@ -59591,7 +60195,7 @@
 	and a
 	ret
 
-Function5854: ; 5854
+Function5854: ; 3d854 (f:5854)
 	ld hl,W_PLAYERMONSTATUS
 	ld a,[hl]
 	and a,SLP
@@ -59637,7 +60241,7 @@
 	ld hl,Function580A
 	jp Func_3da37
 
-FlinchedCheck: ; 58AC
+FlinchedCheck: ; 3d8ac (f:58ac)
 	ld hl,W_PLAYERBATTSTATUS1
 	bit 3,[hl]
 	jp z,HyperBeamCheck
@@ -59647,7 +60251,7 @@
 	ld hl,Function580A
 	jp Func_3da37
 
-HyperBeamCheck: ; 58C2
+HyperBeamCheck: ; 3d8c2 (f:58c2)
 	ld hl,W_PLAYERBATTSTATUS2
 	bit 5,[hl]
 	jr z,.next ; 58D7
@@ -59654,7 +60258,7 @@
 	res 5,[hl]
 	ld hl,MustRechargeText
 	call PrintText
-	ld hl,$580A
+	ld hl,Function580A ; $580a
 	jp Func_3da37
 .next
 	ld hl,$D06D
@@ -59705,7 +60309,7 @@
 	cp [hl]
 	jr nz,.ParalysisCheck
 	call Func_3da88
-	ld hl,$580A
+	ld hl,Function580A ; $580a
 	jp Func_3da37
 .ParalysisCheck
 	ld hl,W_PLAYERMONSTATUS
@@ -59733,7 +60337,7 @@
 	ld a,$A7
 	call PlayMoveAnimation
 .next9
-	ld hl,$580A
+	ld hl,Function580A ; $580a
 	jp Func_3da37
 .next7
 	ld hl,W_PLAYERBATTSTATUS1
@@ -59755,7 +60359,7 @@
 	ld hl,$D06A
 	dec [hl]
 	jr z,.next11 ; 599B
-	ld hl,$580A
+	ld hl,Function580A ; $580a
 	jp Func_3da37
 .next11
 	ld hl,W_PLAYERBATTSTATUS1
@@ -59782,7 +60386,7 @@
 	ld [hl],a
 	ld a,$75
 	ld [W_PLAYERMOVENUM],a
-	ld hl,$5705
+	ld hl,asm_3d705 ; $5705
 	jp Func_3da37
 .next10
 	bit 1,[hl]
@@ -59793,8 +60397,8 @@
 	call PrintText
 	ld hl,$D06A
 	dec [hl]
-	ld hl,$56DC
-	jp nz,$5A37
+	ld hl,asm_3d6dc ; $56dc
+	jp nz,Func_3da37
 	push hl
 	ld hl,W_PLAYERBATTSTATUS1
 	res 1,[hl]
@@ -59808,14 +60412,14 @@
 	jp Func_3da37
 .next13
 	bit 5,[hl]
-	jp z,$5A1A
+	jp z,Func_3da1a
 	ld hl,AttackContinuesText
 	call PrintText
 	ld a,[$D06A]
 	dec a
 	ld [$D06A],a
-	ld hl,$5714
-	jp nz,$5A37
+	ld hl,asm_3d714 ; $5714
+	jp nz,Func_3da37
 	jp Func_3da37
 
 ; known jump sources: 3da01 (f:5a01)
@@ -59829,7 +60433,7 @@
 	call CopyStringToCF4B
 	xor a
 	ld [W_PLAYERMOVEEFFECT], a ; $cfd3
-	ld hl, $56b0
+	ld hl, asm_3d6b0 ; $56b0
 	jp Func_3da37
 
 ; known jump sources: 3d881 (f:5881), 3d895 (f:5895), 3d8a9 (f:58a9), 3d8bf (f:58bf), 3d8d4 (f:58d4), 3d93b (f:593b), 3d972 (f:5972), 3d998 (f:5998), 3d9cd (f:59cd), 3d9e6 (f:59e6), 3d9fc (f:59fc), 3da14 (f:5a14), 3da17 (f:5a17), 3da34 (f:5a34)
@@ -59843,63 +60447,63 @@
 	and a
 	ret
 ; 3da3d (f:5a3d)
-FastAsleepText:
+FastAsleepText: ; 3da3d (f:5a3d)
 	TX_FAR _FastAsleepText
 	db "@"
 
-WokeUpText:
+WokeUpText: ; 3da42 (f:5a42)
 	TX_FAR _WokeUpText
 	db "@"
 
-FrozenText:
+FrozenText: ; 3da47 (f:5a47)
 	TX_FAR _FrozenText
 	db "@"
 
-FullyParalyzedText:
+FullyParalyzedText: ; 3da4c (f:5a4c)
 	TX_FAR _FullyParalyzedText
 	db "@"
 
-FlinchedText:
+FlinchedText: ; 3da51 (f:5a51)
 	TX_FAR _FlinchedText
 	db "@"
 
-MustRechargeText:
+MustRechargeText: ; 3da56 (f:5a56)
 	TX_FAR _MustRechargeText
 	db "@"
 
-DisabledNoMoreText:
+DisabledNoMoreText: ; 3da5b (f:5a5b)
 	TX_FAR _DisabledNoMoreText
 	db "@"
 
-IsConfusedText:
+IsConfusedText: ; 3da60 (f:5a60)
 	TX_FAR _IsConfusedText
 	db "@"
 
-HurtItselfText:
+HurtItselfText: ; 3da65 (f:5a65)
 	TX_FAR _HurtItselfText
 	db "@"
 
-ConfusedNoMoreText:
+ConfusedNoMoreText: ; 3da6a (f:5a6a)
 	TX_FAR _ConfusedNoMoreText
 	db "@"
 
-SavingEnergyText:
+SavingEnergyText: ; 3da6f (f:5a6f)
 	TX_FAR _SavingEnergyText
 	db "@"
 
-UnleashedEnergyText:
+UnleashedEnergyText: ; 3da74 (f:5a74)
 	TX_FAR _UnleashedEnergyText
 	db "@"
 
-ThrashingAboutText:
+ThrashingAboutText: ; 3da79 (f:5a79)
 	TX_FAR _ThrashingAboutText
 	db "@"
 
-AttackContinuesText:
+AttackContinuesText: ; 3da7e (f:5a7e)
 	TX_FAR _AttackContinuesText
 	db "@"
 
-CantMoveText:
+CantMoveText: ; 3da83 (f:5a83)
 	TX_FAR _CantMoveText
 	db "@"
 
@@ -59919,10 +60523,10 @@
 	ld a, [hl]
 	ld [$d11e], a
 	call GetMoveName
-	ld hl, $5aa8
+	ld hl, UnnamedText_3daa8 ; $5aa8
 	jp PrintText
 ; 3daa8 (f:5aa8)
-UnnamedText_3daa8: ; 0x3daa8
+UnnamedText_3daa8: ; 3daa8 (f:5aa8)
 	TX_FAR _UnnamedText_3daa8
 	db $50
 ; 0x3daa8 + 5 bytes
@@ -59929,7 +60533,7 @@
 
 ; known jump sources: 3d924 (f:5924), 3dd08 (f:5d08)
 Func_3daad: ; 3daad (f:5aad)
-	ld hl, $5a65
+	ld hl, HurtItselfText ; $5a65
 	call PrintText
 	ld hl, W_ENEMYMONDEFENSE ; $cff8
 	ld a, [hli]
@@ -59936,7 +60540,7 @@
 	push af
 	ld a, [hld]
 	push af
-	ld a, [$d027]
+	ld a, [W_PLAYERMONDEF]
 	ld [hli], a
 	ld a, [$d028]
 	ld [hl], a
@@ -59973,9 +60577,10 @@
 
 ; known jump sources: 3d6b0 (f:56b0), 3e72f (f:672f)
 Func_3daf5: ; 3daf5 (f:5af5)
-	ld hl, $5afb
+	ld hl, Unknown_3dafb ; $5afb
 	jp PrintText
 
+Unknown_3dafb: ; 3dafb (f:5afb)
 INCBIN "baserom.gbc",$3dafb,$3db00 - $3dafb
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
@@ -59990,33 +60595,39 @@
 	call Func_3db85
 	ld a, [$cced]
 	and a
-	ld hl, $5b34
+	ld hl, Unknown_3db34 ; $5b34
 	ret nz
 	ld a, [$d11e]
 	cp $3
-	ld hl, $5b34
+	ld hl, Unknown_3db34 ; $5b34
 	ret c
-	ld hl, $5b2d
+	ld hl, Unknown_3db2d ; $5b2d
 	ret
 
+Unknown_3db2d: ; 3db2d (f:5b2d)
 INCBIN "baserom.gbc",$3db2d,$3db32 - $3db2d
-	jr .asm_3db39
+	jr asm_3db39
 
+Unknown_3db34: ; 3db34 (f:5b34)
 INCBIN "baserom.gbc",$3db34,$3db39 - $3db34
-.asm_3db39
+
+asm_3db39
 	ld a, [$cced]
 	and a
 	jr z, .asm_3db48
-	ld hl, $5b43
+	ld hl, .unknown_3db43 ; $5b43
 	ret
 
+.unknown_3db43: ; 3db43 (f:5b43)
 INCBIN "baserom.gbc",$3db43,$3db48 - $3db43
+
 .asm_3db48
-	ld hl, $5b4c
+	ld hl, Unknown_3db4c ; $5b4c
 	ret
 
+Unknown_3db4c: ; 3db4c (f:5b4c)
 INCBIN "baserom.gbc",$3db4c,$3db51 - $3db4c
-	ld hl, $5b62
+	ld hl, Unknown_3db62 ; $5b62
 	ld a, [$d11e]
 	add a
 	push bc
@@ -60029,29 +60640,30 @@
 	ld l, a
 	ret
 
+Unknown_3db62: ; 3db62 (f:5b62)
 INCBIN "baserom.gbc",$3db62,$3db6c - $3db62
 
-UnnamedText_3db6c: ; 0x3db6c
+UnnamedText_3db6c: ; 3db6c (f:5b6c)
 	TX_FAR _UnnamedText_3db6c
 	db $50
 ; 0x3db6c + 5 bytes
 
-UnnamedText_3db71: ; 0x3db71
+UnnamedText_3db71: ; 3db71 (f:5b71)
 	TX_FAR _UnnamedText_3db71
 	db $50
 ; 0x3db71 + 5 bytes
 
-UnnamedText_3db76: ; 0x3db76
+UnnamedText_3db76: ; 3db76 (f:5b76)
 	TX_FAR _UnnamedText_3db76
 	db $50
 ; 0x3db76 + 5 bytes
 
-UnnamedText_3db7b: ; 0x3db7b
+UnnamedText_3db7b: ; 3db7b (f:5b7b)
 	TX_FAR _UnnamedText_3db7b
 	db $50
 ; 0x3db7b + 5 bytes
 
-UnnamedText_3db80: ; 0x3db80
+UnnamedText_3db80: ; 3db80 (f:5b80)
 	TX_FAR _UnnamedText_3db80
 	db $50
 ; 0x3db80 + 5 bytes
@@ -60062,7 +60674,7 @@
 	ld a, [$d11e]
 	ld c, a
 	ld b, $0
-	ld hl, $5ba3
+	ld hl, Unknown_3dba3 ; $5ba3
 .asm_3db8f
 	ld a, [hli]
 	cp $ff
@@ -60079,6 +60691,7 @@
 	pop bc
 	ret
 
+Unknown_3dba3: ; 3dba3 (f:5ba3)
 INCBIN "baserom.gbc",$3dba3,$3dbe2 - $3dba3
 
 ; known jump sources: 3d799 (f:5799), 3e81e (f:681e)
@@ -60089,15 +60702,15 @@
 	jr z, .asm_3dbed
 	ld de, W_ENEMYMOVEEFFECT ; $cfcd
 .asm_3dbed
-	ld hl, $5c57
+	ld hl, UnnamedText_3dc57 ; $5c57
 	ld a, [$d05b]
 	and $7f
 	jr z, .asm_3dc04
-	ld hl, $5c42
+	ld hl, UnnamedText_3dc42 ; $5c42
 	ld a, [$d05e]
 	cp $ff
 	jr nz, .asm_3dc04
-	ld hl, $5c4c
+	ld hl, UnnamedText_3dc4c ; $5c4c
 .asm_3dc04
 	push de
 	call PrintText
@@ -60124,7 +60737,7 @@
 	inc a
 	ld [hl], a
 .asm_3dc2a
-	ld hl, $5c47
+	ld hl, UnnamedText_3dc47 ; $5c47
 	call PrintText
 	ld b, $4
 	ld a, $24
@@ -60136,17 +60749,17 @@
 .asm_3dc3f
 	jp ApplyDamageToEnemyPokemon
 ; 3dc42 (f:5c42)
-UnnamedText_3dc42: ; 0x3dc42
+UnnamedText_3dc42: ; 3dc42 (f:5c42)
 	TX_FAR _UnnamedText_3dc42
 	db $50
 ; 0x3dc42 + 5 bytes
 
-UnnamedText_3dc47: ; 0x3dc47
+UnnamedText_3dc47: ; 3dc47 (f:5c47)
 	TX_FAR _UnnamedText_3dc47
 	db $50
 ; 0x3dc47 + 5 bytes
 
-UnnamedText_3dc4c: ; 0x3dc4c
+UnnamedText_3dc4c: ; 3dc4c (f:5c4c)
 	TX_FAR _UnnamedText_3dc4c
 	db $50
 ; 0x3dc4c + 5 bytes
@@ -60153,10 +60766,10 @@
 
 ; known jump sources: 52670 (14:6670)
 Func_3dc51: ; 3dc51 (f:5c51)
-	ld hl, $5c57
+	ld hl, UnnamedText_3dc57 ; $5c57
 	jp PrintText
 ; 3dc57 (f:5c57)
-UnnamedText_3dc57: ; 0x3dc57
+UnnamedText_3dc57: ; 3dc57 (f:5c57)
 	TX_FAR _UnnamedText_3dc57
 	db $50
 ; 0x3dc57 + 5 bytes
@@ -60168,7 +60781,7 @@
 	jr z, .asm_3dc75
 	dec a
 	add a
-	ld hl, $5c7a
+	ld hl, Unknown_3dc7a ; $5c7a
 	ld b, $0
 	ld c, a
 	add hl, bc
@@ -60182,14 +60795,15 @@
 	ld c, $14
 	jp DelayFrames
 
+Unknown_3dc7a: ; 3dc7a (f:5c7a)
 INCBIN "baserom.gbc",$3dc7a,$3dc7e - $3dc7a
 
-UnnamedText_3dc7e: ; 0x3dc7e
+UnnamedText_3dc7e: ; 3dc7e (f:5c7e)
 	TX_FAR _UnnamedText_3dc7e
 	db $50
 ; 0x3dc7e + 5 bytes
 
-UnnamedText_3dc83: ; 0x3dc83
+UnnamedText_3dc83: ; 3dc83 (f:5c83)
 	TX_FAR _UnnamedText_3dc83
 	db $50
 ; 0x3dc83 + 5 bytes
@@ -60266,7 +60880,7 @@
 	jr c, .asm_3dd0e
 	cp b
 	jr nc, .asm_3dd20
-	ld hl, $5dc0
+	ld hl, UnnamedText_3ddc0 ; $5dc0
 	call PrintText
 	call Func_3daad
 	jp Func_3ddb4
@@ -60277,21 +60891,21 @@
 	and $7
 	jr z, .asm_3dd0e
 	ld [W_PLAYERMONSTATUS], a ; $d018
-	ld hl, $5dbb
+	ld hl, UnnamedText_3ddbb ; $5dbb
 	jr .asm_3dd3a
 .asm_3dd20
 	call GenRandomInBattle
 	and $3
-	ld hl, $5db6
+	ld hl, UnnamedText_3ddb6 ; $5db6
 	and a
 	jr z, .asm_3dd3a
-	ld hl, $5dc0
+	ld hl, UnnamedText_3ddc0 ; $5dc0
 	dec a
 	jr z, .asm_3dd3a
-	ld hl, $5dc5
+	ld hl, UnnamedText_3ddc5 ; $5dc5
 	dec a
 	jr z, .asm_3dd3a
-	ld hl, $5dca
+	ld hl, UnnamedText_3ddca ; $5dca
 .asm_3dd3a
 	call PrintText
 	jr Func_3ddb4
@@ -60357,7 +60971,7 @@
 	ld a, [W_CURMENUITEMID] ; $cc26
 	ld c, a
 	ld b, $0
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 	add hl, bc
 	ld a, [hl]
 	ld [W_PLAYERSELECTEDMOVE], a ; $ccdc
@@ -60374,32 +60988,32 @@
 	xor a
 	ret
 ; 3ddb6 (f:5db6)
-UnnamedText_3ddb6: ; 0x3ddb6
+UnnamedText_3ddb6: ; 3ddb6 (f:5db6)
 	TX_FAR _UnnamedText_3ddb6
 	db $50
 ; 0x3ddb6 + 5 bytes
 
-UnnamedText_3ddbb: ; 0x3ddbb
+UnnamedText_3ddbb: ; 3ddbb (f:5dbb)
 	TX_FAR _UnnamedText_3ddbb
 	db $50
 ; 0x3ddbb + 5 bytes
 
-UnnamedText_3ddc0: ; 0x3ddc0
+UnnamedText_3ddc0: ; 3ddc0 (f:5dc0)
 	TX_FAR _UnnamedText_3ddc0
 	db $50
 ; 0x3ddc0 + 5 bytes
 
-UnnamedText_3ddc5: ; 0x3ddc5
+UnnamedText_3ddc5: ; 3ddc5 (f:5dc5)
 	TX_FAR _UnnamedText_3ddc5
 	db $50
 ; 0x3ddc5 + 5 bytes
 
-UnnamedText_3ddca: ; 0x3ddca
+UnnamedText_3ddca: ; 3ddca (f:5dca)
 	TX_FAR _UnnamedText_3ddca
 	db $50
 ; 0x3ddca + 5 bytes
 
-CalculateDamage: ; 0x3ddcf
+CalculateDamage: ; 3ddcf (f:5dcf)
 	xor a
 	ld hl, W_DAMAGE ;damage to eventually inflict, intitialise to zero
 	ldi [hl], a
@@ -60424,7 +61038,7 @@
 	sla c  ;x2 defense if bit2 of D069 is set
 	rl b
 .next
-	ld hl, $d025  ;attack pointer
+	ld hl, W_PLAYERMONATK  ;attack pointer
 	ld a, [$d05e]
 	and a
 	jr z, .next3
@@ -60453,7 +61067,7 @@
 	sla c           ;x2 special defense if bit1 of D069 set
 	rl b
 .next2
-	ld hl, $d02b
+	ld hl, W_PLAYERMONSPECIAL
 	ld a, [$d05e]   ;XXX
 	and a
 	jr z, .next3  ;skip portion of code that pulls up inactive pokemon
@@ -60515,7 +61129,7 @@
 	ld a, [hl]
 	cp $14
 	jr nc, .asm_3debc
-	ld hl, $d027
+	ld hl, W_PLAYERMONDEF
 	ld a, [hli]
 	ld b, a
 	ld c, [hl]
@@ -60525,7 +61139,7 @@
 	sla c
 	rl b
 .asm_3de98
-	ld hl, $cff6
+	ld hl, W_ENEMYMONATTACK
 	ld a, [$d05e]
 	and a
 	jr z, .asm_3deef
@@ -60543,7 +61157,7 @@
 	pop bc
 	jr .asm_3deef
 .asm_3debc
-	ld hl, $d02b
+	ld hl, W_PLAYERMONSPECIAL
 	ld a, [hli]
 	ld b, a
 	ld c, [hl]
@@ -60639,11 +61253,11 @@
 	pop bc
 	ld b, $0
 	ld hl, $cfa4
-	call Func_394a
+	call CalcStat
 	pop de
 	ret
 ; 3df65 (f:5f65)
-MoreCalculateDamage:   ;$3df65
+MoreCalculateDamage: ; 3df65 (f:5f65)
 	ld a, [$ff00+$f3]  ;FFF3 decides which address to use
 	and a
 	ld a, [W_PLAYERMOVEEFFECT]
@@ -60784,7 +61398,7 @@
 	and a
 	ld a, [$cfe5]
 	jr nz, .asm_3e032
-	ld a, [$d014]
+	ld a, [W_PLAYERMONID]
 .asm_3e032
 	ld [$d0b5], a
 	call GetMonHeader
@@ -60845,7 +61459,7 @@
 ; 0x3e08e
 
 ; high critical hit moves
-HighCriticalMoves: ; 0x3e08e
+HighCriticalMoves: ; 3e08e (f:608e)
 	db KARATE_CHOP
 	db RAZOR_LEAF
 	db CRABHAMMER
@@ -60854,7 +61468,7 @@
 ; 0x3e093
 
 ; function to determine if Counter hits and if so, how much damage it does
-HandleCounterMove: ; 6093
+HandleCounterMove: ; 3e093 (f:6093)
 	ld a,[H_WHOSETURN] ; whose turn
 	and a
 ; player's turn
@@ -60911,7 +61525,7 @@
 	xor a
 	ret
 
-ApplyAttackToEnemyPokemon: ; 60DF
+ApplyAttackToEnemyPokemon: ; 3e0df (f:60df)
 	ld a,[W_PLAYERMOVEEFFECT]
 	cp a,OHKO_EFFECT
 	jr z,ApplyDamageToEnemyPokemon
@@ -60977,7 +61591,7 @@
 	ld a,b
 	ld [hl],a
 
-ApplyDamageToEnemyPokemon:
+ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)
 	ld hl,W_DAMAGE
 	ld a,[hli]
 	ld b,a
@@ -60988,25 +61602,25 @@
 	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
+; also, save the current HP at W_HPBAROLDHP
 	ld a,[hld]
 	ld b,a
 	ld a,[W_ENEMYMONCURHP + 1]
-	ld [$ceeb],a
+	ld [W_HPBAROLDHP],a
 	sub b
 	ld [W_ENEMYMONCURHP + 1],a
 	ld a,[hl]
 	ld b,a
 	ld a,[W_ENEMYMONCURHP]
-	ld [$ceec],a
+	ld [W_HPBAROLDHP+1],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 a,[W_HPBAROLDHP+1]
 	ld [hli],a
-	ld a,[$ceeb]
+	ld a,[W_HPBAROLDHP]
 	ld [hl],a
 	xor a
 	ld hl,W_ENEMYMONCURHP
@@ -61015,23 +61629,24 @@
 .animateHpBar
 	ld hl,W_ENEMYMONMAXHP
 	ld a,[hli]
-	ld [$ceea],a
+	ld [W_HPBARMAXHP+1],a
 	ld a,[hl]
-	ld [$cee9],a
+	ld [W_HPBARMAXHP],a
 	ld hl,W_ENEMYMONCURHP
 	ld a,[hli]
-	ld [$ceee],a
+	ld [W_HPBARNEWHP+1],a
 	ld a,[hl]
-	ld [$ceed],a
-	ld hl,$c3ca
+	ld [W_HPBARNEWHP],a
+	FuncCoord 2, 2 ; $c3ca
+	ld hl,Coord
 	xor a
 	ld [$cf94],a
 	ld a,$48
 	call Predef ; animate the HP bar shortening
-ApplyAttackToEnemyPokemonDone:
+ApplyAttackToEnemyPokemonDone: ; 3e19d (f:619d)
 	jp Func_3cd5a ; redraw pokemon names and HP bars
 
-ApplyAttackToPlayerPokemon: ; 61A0
+ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0)
 	ld a,[W_ENEMYMOVEEFFECT]
 	cp a,OHKO_EFFECT
 	jr z,ApplyDamageToPlayerPokemon
@@ -61097,7 +61712,7 @@
 	ld a,b
 	ld [hl],a
 
-ApplyDamageToPlayerPokemon:
+ApplyDamageToPlayerPokemon: ; 3e200 (f:6200)
 	ld hl,W_DAMAGE
 	ld a,[hli]
 	ld b,a
@@ -61108,41 +61723,42 @@
 	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
+; also, save the current HP at W_HPBAROLDHP and the new HP at W_HPBARNEWHP
 	ld a,[hld]
 	ld b,a
 	ld a,[W_PLAYERMONCURHP + 1]
-	ld [$ceeb],a
+	ld [W_HPBAROLDHP],a
 	sub b
 	ld [W_PLAYERMONCURHP + 1],a
-	ld [$ceed],a
+	ld [W_HPBARNEWHP],a
 	ld b,[hl]
 	ld a,[W_PLAYERMONCURHP]
-	ld [$ceec],a
+	ld [W_HPBAROLDHP+1],a
 	sbc b
 	ld [W_PLAYERMONCURHP],a
-	ld [$ceee],a
+	ld [W_HPBARNEWHP+1],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 a,[W_HPBAROLDHP+1]
 	ld [hli],a
-	ld a,[$ceeb]
+	ld a,[W_HPBAROLDHP]
 	ld [hl],a
 	xor a
 	ld hl,W_PLAYERMONCURHP
 	ld [hli],a
 	ld [hl],a
-	ld hl,$ceed
+	ld hl,W_HPBARNEWHP
 	ld [hli],a
 	ld [hl],a
 .animateHpBar
 	ld hl,W_PLAYERMONMAXHP
 	ld a,[hli]
-	ld [$ceea],a
+	ld [W_HPBARMAXHP+1],a
 	ld a,[hl]
-	ld [$cee9],a
-	ld hl,$c45e
+	ld [W_HPBARMAXHP],a
+	FuncCoord 10, 9 ; $c45e
+	ld hl,Coord
 	ld a,$01
 	ld [$cf94],a
 	ld a,$48
@@ -61150,7 +61766,7 @@
 ApplyAttackToPlayerPokemonDone
 	jp Func_3cd5a ; redraw pokemon names and HP bars
 
-AttackSubstitute: ; 625E
+AttackSubstitute: ; 3e25e (f:625e)
 	ld hl,SubstituteTookDamageText
 	call PrintText
 ; values for player turn
@@ -61198,18 +61814,18 @@
 	ld [hl],a ; zero the effect of the attacker's move
 	jp Func_3cd5a ; redraw pokemon names and HP bars
 
-SubstituteTookDamageText: ; 0x3e2ac
+SubstituteTookDamageText: ; 3e2ac (f:62ac)
 	TX_FAR _SubstituteTookDamageText
 	db $50
 ; 0x3e2ac + 5 bytes
 
-SubstituteBrokeText: ; 0x3e2b1
+SubstituteBrokeText: ; 3e2b1 (f:62b1)
 	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
+HandleBuildingRage: ; 3e2b6 (f:62b6)
 ; values for the player turn
 	ld hl,W_ENEMYBATTSTATUS2
 	ld de,W_ENEMYMONATTACKMOD
@@ -61251,7 +61867,7 @@
 	ld [H_WHOSETURN],a
 	ret
 
-BuildingRageText: ; 0x3e2f8
+BuildingRageText: ; 3e2f8 (f:62f8)
 	TX_FAR _BuildingRageText
 	db $50
 ; 0x3e2f8 + 5 bytes
@@ -61258,7 +61874,7 @@
 
 ; copy last move for Mirror Move
 ; sets zero flag on failure and unsets zero flag on success
-MirrorMoveCopyMove: ; 62FD
+MirrorMoveCopyMove: ; 3e2fd (f:62fd)
 	ld a,[H_WHOSETURN]
 	and a
 ; values for player turn
@@ -61283,13 +61899,13 @@
 	xor a
 	ret
 
-MirrorMoveFailedText: ; 0x3e324
+MirrorMoveFailedText: ; 3e324 (f:6324)
 	TX_FAR _MirrorMoveFailedText
 	db $50
 ; 0x3e324 + 5 bytes
 
 ; function used to reload move data for moves like Mirror Move and Metronome
-ReloadMoveData: ; 6329
+ReloadMoveData: ; 3e329 (f:6329)
 	ld [$d11e],a
 	dec a
 	ld hl,Moves
@@ -61306,7 +61922,7 @@
 	ret
 
 ; function that picks a random move for metronome
-MetronomePickMove: ; 6348
+MetronomePickMove: ; 3e348 (f:6348)
 	xor a
 	ld [$cc5b],a
 	ld a,METRONOME
@@ -61335,7 +61951,7 @@
 ; 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
+IncrementMovePP: ; 3e373 (f:6373)
 	ld a,[H_WHOSETURN]
 	and a
 ; values for player turn
@@ -61367,7 +61983,7 @@
 	ret
 
 ; function to adjust the base damage of an attack to account for type effectiveness
-AdjustDamageForMoveType: ; 63A5
+AdjustDamageForMoveType: ; 3e3a5 (f:63a5)
 ; values for player turn
 	ld hl,W_PLAYERMONTYPES
 	ld a,[hli]
@@ -61485,7 +62101,7 @@
 ; 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
+AIGetTypeEffectiveness: ; 3e449 (f:6449)
 	ld a,[W_ENEMYMOVETYPE]
 	ld d,a                 ; d = type of enemy move
 	ld hl,W_PLAYERMONTYPES
@@ -61517,7 +62133,7 @@
 	ld [$d11e],a           ; store damage multiplier
 	ret
 
-TypeEffects: ; 6474
+TypeEffects: ; 3e474 (f:6474)
 ; format: attacking type, defending type, damage multiplier
 ; the multiplier is a (decimal) fixed-point number:
 ;     20 is ×2.0
@@ -61608,7 +62224,7 @@
 	db $FF
 
 ; some tests that need to pass for a move to hit
-MoveHitTest: ; 656B
+MoveHitTest: ; 3e56b (f:656b)
 ; player's turn
 	ld hl,W_ENEMYBATTSTATUS1
 	ld de,W_PLAYERMOVEEFFECT
@@ -61729,7 +62345,7 @@
 	ret
 
 ; values for player turn
-CalcHitChance: ; 6624
+CalcHitChance: ; 3e624 (f:6624)
 	ld hl,W_PLAYERMOVEACCURACY
 	ld a,[H_WHOSETURN]
 	and a
@@ -61759,7 +62375,7 @@
 ; 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
+	ld hl,Unknown_3f6cb  ; $76cb ; stat modifier ratios
 	dec b
 	sla b
 	ld c,b
@@ -61891,18 +62507,19 @@
 	ld [$cced], a
 	call Func_3daf5
 	ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
-	ld hl, $4000
+	ld hl, EffectsArray1 ; $4000
 	ld de, $1
 	call IsInArray
 	jp c, Func_3f132
 	ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
-	ld hl, $4049
+	ld hl, EffectsArray5B ; $4049
 	ld de, $1
 	call IsInArray
 	call c, Func_3f132
+asm_3e750: ; 3e750 (f:6750)
 	call Func_3ec81
 	ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
-	ld hl, $4011
+	ld hl, EffectsArray2 ; $4011
 	ld de, $1
 	call IsInArray
 	jp c, Func_3e77f
@@ -61992,7 +62609,7 @@
 	jp Func_3e6fc
 .asm_3e809
 	ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
-	ld hl, $4014
+	ld hl, EffectsArray3 ; $4014
 	ld de, $1
 	call IsInArray
 	jp c, Func_3f132
@@ -62014,7 +62631,7 @@
 	ld [$ccf4], a
 .asm_3e83e
 	ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
-	ld hl, $4030
+	ld hl, EffectsArray4 ; $4030
 	ld de, $1
 	call IsInArray
 	call c, Func_3f132
@@ -62033,7 +62650,7 @@
 	pop hl
 	jp nz, Func_3e794
 	res 2, [hl]
-	ld hl, $6887
+	ld hl, UnnamedText_3e887 ; $6887
 	call PrintText
 	xor a
 	ld [$cd05], a
@@ -62041,13 +62658,13 @@
 	ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
 	and a
 	jr z, Func_3e88c
-	ld hl, $403b
+	ld hl, EffectsArray5 ; $403b
 	ld de, $1
 	call IsInArray
 	call nc, Func_3f132
 	jr Func_3e88c
 ; 3e887 (f:6887)
-UnnamedText_3e887: ; 0x3e887
+UnnamedText_3e887: ; 3e887 (f:6887)
 	TX_FAR _UnnamedText_3e887
 	db $50
 ; 0x3e887 + 5 bytes
@@ -62067,7 +62684,7 @@
 	ld [W_ENEMYMONSTATUS], a ; $cfe9
 	and a
 	jr z, .asm_3e8af
-	ld hl, $5a3d
+	ld hl, FastAsleepText ; $5a3d
 	call PrintText
 	xor a
 	ld [$cc5b], a
@@ -62075,29 +62692,29 @@
 	call PlayMoveAnimation
 	jr .asm_3e8b5
 .asm_3e8af
-	ld hl, $5a42
+	ld hl, WokeUpText ; $5a42
 	call PrintText
 .asm_3e8b5
 	xor a
 	ld [$ccf2], a
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 .asm_3e8bf
 	bit 5, [hl]
 	jr z, .asm_3e8d3
-	ld hl, $5a47
+	ld hl, FrozenText ; $5a47
 	call PrintText
 	xor a
 	ld [$ccf2], a
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 .asm_3e8d3
 	ld a, [W_PLAYERBATTSTATUS1] ; $d062
 	bit 5, a
 	jp z, Func_3e8e7
-	ld hl, $5a83
+	ld hl, CantMoveText ; $5a83
 	call PrintText
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 
 ; known jump sources: 3e8d8 (f:68d8)
@@ -62106,9 +62723,9 @@
 	bit 3, [hl]
 	jp z, Func_3e8fd
 	res 3, [hl]
-	ld hl, $5a51
+	ld hl, FlinchedText ; $5a51
 	call PrintText
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 
 ; known jump sources: 3e8ec (f:68ec)
@@ -62117,9 +62734,9 @@
 	bit 5, [hl]
 	jr z, .asm_3e912
 	res 5, [hl]
-	ld hl, $5a56
+	ld hl, MustRechargeText ; $5a56
 	call PrintText
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 .asm_3e912
 	ld hl, W_ENEMYDISABLEDMOVE ; $d072
@@ -62132,7 +62749,7 @@
 	jr nz, .asm_3e929
 	ld [hl], a
 	ld [$ccef], a
-	ld hl, $5a5b
+	ld hl, DisabledNoMoreText ; $5a5b
 	call PrintText
 .asm_3e929
 	ld a, [W_ENEMYBATTSTATUS1] ; $d067
@@ -62143,11 +62760,11 @@
 	jr nz, .asm_3e944
 	ld hl, W_ENEMYBATTSTATUS1 ; $d067
 	res 7, [hl]
-	ld hl, $5a6a
+	ld hl, ConfusedNoMoreText ; $5a6a
 	call PrintText
 	jp Func_3e9aa
 .asm_3e944
-	ld hl, $5a60
+	ld hl, IsConfusedText ; $5a60
 	call PrintText
 	xor a
 	ld [$cc5b], a
@@ -62160,9 +62777,9 @@
 	ld a, [hl]
 	and $80
 	ld [hl], a
-	ld hl, $5a65
+	ld hl, HurtItselfText ; $5a65
 	call PrintText
-	ld hl, $d027
+	ld hl, W_PLAYERMONDEF
 	ld a, [hli]
 	push af
 	ld a, [hld]
@@ -62211,7 +62828,7 @@
 	cp [hl]
 	jr nz, .asm_3e9bf
 	call Func_3da88
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 .asm_3e9bf
 	ld hl, W_ENEMYMONSTATUS ; $cfe9
@@ -62220,7 +62837,7 @@
 	call GenRandomInBattle
 	cp $3f
 	jr nc, asm_3e9f6
-	ld hl, $5a4c
+	ld hl, FullyParalyzedText ; $5a4c
 	call PrintText
 asm_3e9d3: ; 3e9d3 (f:69d3)
 	ld hl, W_ENEMYBATTSTATUS1 ; $d067
@@ -62239,7 +62856,7 @@
 	ld a, $a7
 	call PlayMoveAnimation
 .asm_3e9f0
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 asm_3e9f6: ; 3e9f6 (f:69f6)
 	ld hl, W_ENEMYBATTSTATUS1 ; $d067
@@ -62261,12 +62878,12 @@
 	ld hl, $d06f
 	dec [hl]
 	jr z, .asm_3ea1c
-	ld hl, $688c
+	ld hl, Func_3e88c ; $688c
 	jp Func_3eab8
 .asm_3ea1c
 	ld hl, W_ENEMYBATTSTATUS1 ; $d067
 	res 0, [hl]
-	ld hl, $5a74
+	ld hl, UnleashedEnergyText ; $5a74
 	call PrintText
 	ld a, $1
 	ld [W_ENEMYMOVEPOWER], a ; $cfce
@@ -62289,7 +62906,7 @@
 	ld a, $75
 	ld [W_ENEMYMOVENUM], a ; $cfcc
 	call Func_3ec81
-	ld hl, $6782
+	ld hl, asm_3e782 ; $6782
 	jp Func_3eab8
 .asm_3ea54
 	bit 1, [hl]
@@ -62296,11 +62913,11 @@
 	jr z, .asm_3ea83
 	ld a, $25
 	ld [W_ENEMYMOVENUM], a ; $cfcc
-	ld hl, $5a79
+	ld hl, ThrashingAboutText ; $5a79
 	call PrintText
 	ld hl, $d06f
 	dec [hl]
-	ld hl, $6750
+	ld hl, asm_3e750 ; $6750
 	jp nz, Func_3eab8
 	push hl
 	ld hl, W_ENEMYBATTSTATUS1 ; $d067
@@ -62316,11 +62933,11 @@
 .asm_3ea83
 	bit 5, [hl]
 	jp z, Func_3ea9b
-	ld hl, $5a7e
+	ld hl, AttackContinuesText ; $5a7e
 	call PrintText
 	ld hl, $d06f
 	dec [hl]
-	ld hl, $6794
+	ld hl, Func_3e794 ; $6794
 	jp nz, Func_3eab8
 	jp Func_3eab8
 
@@ -62335,7 +62952,7 @@
 	call CopyStringToCF4B
 	xor a
 	ld [W_ENEMYMOVEEFFECT], a ; $cfcd
-	ld hl, $672b
+	ld hl, asm_3e72b ; $672b
 	jp Func_3eab8
 
 ; known jump sources: 3e8bc (f:68bc), 3e8d0 (f:68d0), 3e8e4 (f:68e4), 3e8fa (f:68fa), 3e90f (f:690f), 3e9bc (f:69bc), 3e9f3 (f:69f3), 3ea19 (f:6a19), 3ea51 (f:6a51), 3ea6a (f:6a6a), 3ea80 (f:6a80), 3ea95 (f:6a95), 3ea98 (f:6a98), 3eab5 (f:6ab5)
@@ -62361,7 +62978,7 @@
 ; known jump sources: 3eac1 (f:6ac1)
 Func_3eacc: ; 3eacc (f:6acc)
 	ld de, W_PLAYERMOVENUM ; $cfd2
-	ld a, [$d733]
+	ld a, [W_FLAGS_D733]
 	bit 0, a
 	ld a, [$ccd9]
 	jr nz, asm_3eadc
@@ -62369,10 +62986,10 @@
 asm_3eadc: ; 3eadc (f:6adc)
 	ld [$d0b5], a
 	dec a
-	ld hl, $4000
+	ld hl, Moves ; $4000
 	ld bc, $6
 	call AddNTimes
-	ld a, $e
+	ld a, BANK(Moves)
 	call FarCopyData
 	ld a, $2c
 	ld [$d0b7], a
@@ -62387,7 +63004,7 @@
 	ld a, [W_ISLINKBATTLE] ; $d12b
 	cp $4
 	jp z, Func_3cc13
-	ld a, [$cfd8]
+	ld a, [W_ENEMYMONID]
 	ld [$cfe5], a
 	ld [$d0b5], a
 	call GetMonHeader
@@ -62416,7 +63033,7 @@
 	ld b, $0
 	ld hl, W_ENEMYMONCURHP ; $cfe6
 	push hl
-	call Func_3936
+	call CalcStats
 	pop hl
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $2
@@ -62488,9 +63105,9 @@
 	xor a
 	ld [$cee9], a
 	ld a, $3e
-	call Predef ; indirect jump to Func_3afb8 (3afb8 (e:6fb8))
+	call Predef ; indirect jump to WriteMonMoves (3afb8 (e:6fb8))
 .asm_3ebca
-	ld hl, $cfed
+	ld hl, W_ENEMYMONMOVES
 	ld de, $cffd
 	ld a, $5e
 	call Predef ; indirect jump to Func_f473 (f473 (3:7473))
@@ -62509,7 +63126,7 @@
 	inc de
 	ld a, [hl]     ; base exp
 	ld [de], a
-	ld a, [$cfd8]
+	ld a, [W_ENEMYMONID]
 	ld [$d11e], a
 	call GetMonName
 	ld hl, $cd6d
@@ -62516,7 +63133,7 @@
 	ld de, W_ENEMYMONNAME
 	ld bc, $b
 	call CopyData
-	ld a, [$cfd8]
+	ld a, [W_ENEMYMONID]
 	ld [$d11e], a
 	ld a, $3a
 	call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
@@ -62596,15 +63213,15 @@
 Func_3ec92: ; 3ec92 (f:6c92)
 	ld a, [W_BATTLETYPE] ; $d05a
 	dec a
-	ld de, $7e0a
+	ld de, RedPicBack ; $7e0a
 	jr nz, .asm_3ec9e
-	ld de, $7e9a
+	ld de, OldManPic ; $7e9a
 .asm_3ec9e
-	ld a, $c
+	ld a, BANK(RedPicBack)
 	call UncompressSpriteFromDE
 	ld a, $3
 	call Predef ; indirect jump to ScaleSpriteByTwo (2fe40 (b:7e40))
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	xor a
 	ld [H_DOWNARROWBLINKCNT1], a ; $FF00+$8b
 	ld b, $7
@@ -62651,7 +63268,8 @@
 	ld [$0], a
 	ld a, $31
 	ld [$FF00+$e1], a
-	ld hl, $c405
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld a, $1
 	jp Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
 
@@ -62783,11 +63401,11 @@
 	ld a, [$d11e]
 	and a
 	ld a, c
-	ld hl, $d025
+	ld hl, W_PLAYERMONATK
 	ld de, $cd12
 	ld bc, W_PLAYERMONATTACKMOD ; $cd1a
 	jr z, .asm_3edc0
-	ld hl, $cff6
+	ld hl, W_ENEMYMONATTACK
 	ld de, $cd26
 	ld bc, W_ENEMYMONATTACKMOD ; $cd2e
 .asm_3edc0
@@ -62811,7 +63429,7 @@
 .asm_3edd4
 	pop bc
 	push hl
-	ld hl, $76cb
+	ld hl, Unknown_3f6cb ; $76cb
 	dec b
 	sla b
 	ld c, b
@@ -62863,7 +63481,7 @@
 	ret z
 	ld a, [W_OBTAINEDBADGES] ; $d356
 	ld b, a
-	ld hl, $d025
+	ld hl, W_PLAYERMONATK
 	ld c, $4
 .asm_3ee28
 	srl b
@@ -62912,36 +63530,37 @@
 	ld a, [rLCDC] ; $FF00+$40
 	add a
 	jr c, .asm_3ee7c
-	ld hl, $6080
+	ld hl, Unknown_12080 ; $6080
 	ld de, $96d0
 	ld bc, $18
-	ld a, $4
+	ld a, BANK(Unknown_12080)
 	call FarCopyDataDouble
-	ld hl, $6098
+	ld hl, Unknown_12098 ; $6098
 	ld de, $9730
 	ld bc, $30
-	ld a, $4
+	ld a, BANK(Unknown_12098)
 	jp FarCopyDataDouble
 .asm_3ee7c
-	ld de, $6080
+	ld de, Unknown_12080 ; $6080
 	ld hl, $96d0
-	ld bc, $403
+	ld bc, (BANK(Unknown_12080) << 8) + $03
 	call CopyVideoDataDouble
-	ld de, $6098
+	ld de, Unknown_12098 ; $6098
 	ld hl, $9730
-	ld bc, $406
+	ld bc, (BANK(Unknown_12098) << 8) + $06
 	jp CopyVideoDataDouble
 
 ; known jump sources: 3c5f7 (f:45f7), 3c79b (f:479b), 3c952 (f:4952), 3ccf4 (f:4cf4), 3cebf (f:4ebf), 553f1 (15:53f1)
 Func_3ee94: ; 3ee94 (f:6e94)
-	ld hl, $6e9a
+	ld hl, Unknown_3ee9a ; $6e9a
 	jp PrintText
 
+Unknown_3ee9a: ; 3ee9a (f:6e9a)
 INCBIN "baserom.gbc",$3ee9a,$3ee9b - $3ee9a
 
 ; generates a random number unless in link battle
 ; stores random number in A
-GenRandomInBattle: ; 6e9b
+GenRandomInBattle: ; 3ee9b (f:6e9b)
 	ld a, [W_ISLINKBATTLE]
 	cp $4
 	jp nz, GenRandom
@@ -63014,7 +63633,7 @@
 	ld a, $5
 	ld [$cc5b], a
 ; 3ef07 (f:6f07)
-PlayMoveAnimation: ; 6F07
+PlayMoveAnimation: ; 3ef07 (f:6f07)
 	ld [$D07C],a
 	call Delay3
 	PREDEF_JUMP MoveAnimationPredef ; predef 8
@@ -63029,13 +63648,13 @@
 Func_3ef18: ; 3ef18 (f:6f18)
 	ld a, [W_CUROPPONENT] ; $d059
 	ld [$cf91], a
-	ld [$cfd8], a
+	ld [W_ENEMYMONID], a
 	jr asm_3ef3d
 asm_3ef23: ; 3ef23 (f:6f23)
 	ld a, [$d732]
 	bit 1, a
 	jr z, .asm_3ef2f
-	ld a, [$FF00+$b4]
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	bit 1, a
 	ret nz
 .asm_3ef2f
@@ -63056,7 +63675,7 @@
 	ld hl, Func_525af
 	ld b, BANK(Func_525af)
 	call Bankswitch ; indirect jump to Func_525af (525af (14:65af))
-	ld a, [$cfd8]
+	ld a, [W_ENEMYMONID]
 	sub $c8
 	jp c, Func_3ef8b
 	ld [W_TRAINERCLASS], a ; $d031
@@ -63067,11 +63686,12 @@
 	call Func_3ec32
 	call Func_3f04b
 	xor a
-	ld [$cfd8], a
+	ld [W_ENEMYMONID], a
 	ld [$FF00+$e1], a
 	dec a
 	ld [W_AICOUNT], a ; $ccdf
-	ld hl, $c3ac
+	FuncCoord 12, 0 ; $c3ac
+	ld hl, Coord
 	ld a, $1
 	call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
 	ld a, $ff
@@ -63095,7 +63715,7 @@
 	ld hl, W_MONHSPRITEDIM
 	ld a, $66
 	ld [hli], a   ; write sprite dimensions
-	ld bc, $66b5
+	ld bc, GhostPic ; $66b5
 	ld a, c
 	ld [hli], a   ; write  front sprite pointer
 	ld [hl], b
@@ -63127,7 +63747,8 @@
 	xor a
 	ld [W_TRAINERCLASS], a ; $d031
 	ld [$FF00+$e1], a
-	ld hl, $c3ac
+	FuncCoord 12, 0 ; $c3ac
+	ld hl, Coord
 	ld a, $1
 	call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
 
@@ -63140,7 +63761,7 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ld hl, Unknown_3f04a
 	call PrintText
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	call ClearScreen
 	ld a, $98
 	ld [$FF00+$bd], a
@@ -63149,11 +63770,13 @@
 	call Delay3
 	ld a, $9c
 	ld [$FF00+$bd], a
-	call Func_3725
-	ld hl, $c435
+	call LoadScreenTilesFromBuffer1
+	FuncCoord 9, 7 ; $c435
+	ld hl, Coord
 	ld bc, $50a
 	call ClearScreenArea
-	ld hl, $c3a1
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
 	ld bc, $40a
 	call ClearScreenArea
 	call CleanLCD_OAM
@@ -63173,7 +63796,7 @@
 	scf
 	ret
 
-Unknown_3f04a:
+Unknown_3f04a: ; 3f04a (f:704a)
 	db $50
 
 ; known jump sources: 396e1 (e:56e1), 3ef69 (f:6f69)
@@ -63298,7 +63921,8 @@
 LoadMonBackSprite: ; 3f103 (f:7103)
 	ld a, [$cfd9]
 	ld [$cf91], a
-	ld hl, $c405
+	FuncCoord 1, 5 ; $c405
+	ld hl, Coord
 	ld b, $7
 	ld c, $8
 	call ClearScreenArea
@@ -63321,7 +63945,7 @@
 	ld b, $1
 	ret
 ; 3f138 (f:7138)
-JumpMoveEffect:  ;$3f138
+JumpMoveEffect: ; 3f138 (f:7138)
 	ld a, [$ff00+$f3]  ;whose turn?
 	and a
 	ld a, [W_PLAYERMOVEEFFECT]
@@ -63330,7 +63954,7 @@
 .next1
 	dec a         ;subtract 1, there is no special effect for 00
 	add a         ;x2, 16bit pointers
-	ld hl, $7150  ;pointer table at 7150
+	ld hl, Unknown_3f150   ; $7150 ;pointer table at 7150
 	ld b, 0
 	ld c, a
 	add hl, bc
@@ -63339,6 +63963,7 @@
 	ld l, a
 	jp [hl]       ;jump to special effect handler
 
+Unknown_3f150: ; 3f150 (f:7150)
 INCBIN "baserom.gbc",$3f150,$3f1fc - $3f150
 	ld de, W_ENEMYMONSTATUS ; $cfe9
 	ld bc, W_ENEMYBATTSTATUS2 ; $d068
@@ -63359,7 +63984,7 @@
 	ld b, a
 	and $7
 	jr z, .asm_3f222
-	ld hl, $724a
+	ld hl, UnnamedText_3f24a ; $724a
 	jp PrintText
 .asm_3f222
 	ld a, b
@@ -63377,17 +64002,17 @@
 	jr z, .asm_3f231
 	ld [de], a
 	call Func_3fb89
-	ld hl, $7245
+	ld hl, UnnamedText_3f245 ; $7245
 	jp PrintText
 .asm_3f242
 	jp Func_3fb5e
 ; 3f245 (f:7245)
-UnnamedText_3f245: ; 0x3f245
+UnnamedText_3f245: ; 3f245 (f:7245)
 	TX_FAR _UnnamedText_3f245
 	db $50
 ; 0x3f245 + 5 bytes
 
-UnnamedText_3f24a: ; 0x3f24a
+UnnamedText_3f24a: ; 3f24a (f:724a)
 	TX_FAR _UnnamedText_3f24a
 	db $50
 ; 0x3f24a + 5 bytes
@@ -63453,10 +64078,10 @@
 	set 0, [hl]
 	xor a
 	ld [de], a
-	ld hl, $72e4
+	ld hl, UnnamedText_3f2e4 ; $72e4
 	jr .asm_3f2c0
 .asm_3f2bd
-	ld hl, $72df
+	ld hl, UnnamedText_3f2df ; $72df
 .asm_3f2c0
 	pop de
 	ld a, [de]
@@ -63477,12 +64102,12 @@
 	call DelayFrames
 	jp Func_3fb5e
 ; 3f2df (f:72df)
-UnnamedText_3f2df: ; 0x3f2df
+UnnamedText_3f2df: ; 3f2df (f:72df)
 	TX_FAR _UnnamedText_3f2df
 	db $50
 ; 0x3f2df + 5 bytes
 
-UnnamedText_3f2e4: ; 0x3f2e4
+UnnamedText_3f2e4: ; 3f2e4 (f:72e4)
 	TX_FAR _UnnamedText_3f2e4
 	db $50
 ; 0x3f2e4 + 5 bytes
@@ -63508,7 +64133,7 @@
 	ld [de], a
 	ret
 ; 3f30c (f:730c)
-FreezeBurnParalyzeEffect: ;0x3f30c
+FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
 	xor a
 	ld [$cc5b], a
 	call CheckTargetSubstitute         ;test bit 4 of d063/d068 flags [target has substitute flag]
@@ -63568,7 +64193,7 @@
 	call Func_3fbb9  ;animation
 	ld hl, UnnamedText_3f3dd
 	jp PrintText
-opponentAttacker:  ;0x3f382
+opponentAttacker: ; 3f382 (f:7382)
 	ld a, [W_PLAYERMONSTATUS]  ;this appears to the same as above with addresses swapped for opponent
 	and a
 	jp nz, CheckDefrost
@@ -63613,17 +64238,17 @@
 	ld hl, UnnamedText_3f3dd
 	jp PrintText
 
-UnnamedText_3f3d8: ; 0x3f3d8
+UnnamedText_3f3d8: ; 3f3d8 (f:73d8)
 	TX_FAR _UnnamedText_3f3d8
 	db $50
 ; 0x3f3d8 + 5 bytes
 
-UnnamedText_3f3dd: ; 0x3f3dd
+UnnamedText_3f3dd: ; 3f3dd (f:73dd)
 	TX_FAR _UnnamedText_3f3dd
 	db $50
 ; 0x3f3dd + 5 bytes
 
-CheckDefrost:	;0x3f3e2
+CheckDefrost: ; 3f3e2 (f:73e2)
 	and a, FRZ			;are they frozen?
 	ret z				;return if so
 						;not frozen
@@ -63659,7 +64284,7 @@
 .common
 	jp PrintText
 
-UnnamedText_3f423: ; 0x3f423
+UnnamedText_3f423: ; 3f423 (f:7423)
 	TX_FAR _UnnamedText_3f423
 	db $50
 ; 0x3f423 + 5 bytes
@@ -63730,7 +64355,7 @@
 .asm_3f48a
 	push hl
 	push bc
-	ld hl, $76cb
+	ld hl, Unknown_3f6cb ; $76cb
 	dec b
 	sla b
 	ld c, b
@@ -63810,7 +64435,7 @@
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	call z, Func_3ee19
-	ld hl, $7528
+	ld hl, Unknown_3f528 ; $7528
 	call PrintText
 	call Func_3ed27
 	jp Func_3ed64
@@ -63822,11 +64447,12 @@
 
 ; known jump sources: 3f44b (f:744b)
 Func_3f522: ; 3f522 (f:7522)
-	ld hl, $7b3e
+	ld hl, UnnamedText_3fb3e ; $7b3e
 	jp PrintText
 
+Unknown_3f528: ; 3f528 (f:7528)
 INCBIN "baserom.gbc",$3f528,$3f52d - $3f528
-	ld hl, $7542
+	ld hl, Unknown_3f542 ; $7542
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
@@ -63835,12 +64461,13 @@
 .asm_3f53b
 	cp $12
 	ret nc
-	ld hl, $7547
+	ld hl, UnnamedText_3f547 ; $7547
 	ret
 
+Unknown_3f542: ; 3f542 (f:7542)
 INCBIN "baserom.gbc",$3f542,$3f547 - $3f542
 
-UnnamedText_3f547: ; 0x3f547
+UnnamedText_3f547: ; 3f547 (f:7547)
 	TX_FAR _UnnamedText_3f547
 	db $50
 ; 0x3f547 + 5 bytes
@@ -63941,7 +64568,7 @@
 .asm_3f5ef
 	push hl
 	push bc
-	ld hl, $76cb
+	ld hl, Unknown_3f6cb ; $76cb
 	dec b
 	sla b
 	ld c, b
@@ -63994,7 +64621,7 @@
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	call nz, Func_3ee19
-	ld hl, $7661
+	ld hl, Unknown_3f661 ; $7661
 	call PrintText
 	call Func_3ed27
 	jp Func_3ed64
@@ -64010,7 +64637,7 @@
 	ld a, [de]
 	cp $44
 	ret nc
-	ld hl, $7b3e
+	ld hl, UnnamedText_3fb3e ; $7b3e
 	jp PrintText
 
 ; known jump sources: 3f56f (f:756f), 3f575 (f:7575), 3f597 (f:7597), 3f59d (f:759d)
@@ -64020,8 +64647,9 @@
 	ret nc
 	jp Func_3fb4e
 
+Unknown_3f661: ; 3f661 (f:7661)
 INCBIN "baserom.gbc",$3f661,$3f666 - $3f661
-	ld hl, $7683
+	ld hl, UnnamedText_3f683 ; $7683
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
@@ -64032,12 +64660,13 @@
 	ret c
 	cp $44
 	ret nc
-	ld hl, $767e
+	ld hl, Unknown_3f67e ; $767e
 	ret
 
+Unknown_3f67e: ; 3f67e (f:767e)
 INCBIN "baserom.gbc",$3f67e,$3f683 - $3f67e
 
-UnnamedText_3f683: ; 0x3f683
+UnnamedText_3f683: ; 3f683 (f:7683)
 	TX_FAR _UnnamedText_3f683
 	db $50
 ; 0x3f683 + 5 bytes
@@ -64044,7 +64673,7 @@
 
 ; known jump sources: 3f4cc (f:74cc), 3f62f (f:762f)
 Func_3f688: ; 3f688 (f:7688)
-	ld hl, $769f
+	ld hl, Unknown_3f69f ; $769f
 	ld c, $50
 .asm_3f68d
 	dec b
@@ -64059,7 +64688,11 @@
 	ld bc, $a
 	jp CopyData
 
-INCBIN "baserom.gbc",$3f69f,$3f717 - $3f69f
+Unknown_3f69f: ; 3f69f (f:769f)
+INCBIN "baserom.gbc",$3f69f,$3f6cb - $3f69f
+
+Unknown_3f6cb: ; 3f6cb (f:76cb)
+INCBIN "baserom.gbc",$3f6cb,$3f717 - $3f6cb
 	ld hl, W_PLAYERBATTSTATUS1 ; $d062
 	ld de, $d06a
 	ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -64106,7 +64739,7 @@
 	jp nz, Func_3fb5e
 	jp Func_3fb53
 .asm_3f76e
-	call Func_3cd43
+	call ReadPlayerMonCurHPAndStatus
 	xor a
 	ld [$cc5b], a
 	inc a
@@ -64116,7 +64749,7 @@
 .asm_3f77e
 	ld c, $32
 	call DelayFrames
-	ld hl, $7b69
+	ld hl, UnnamedText_3fb69 ; $7b69
 	ld a, [W_PLAYERMOVENUM] ; $cfd2
 	cp $64
 	jp nz, PrintText
@@ -64148,7 +64781,7 @@
 	jp nz, Func_3fb5e
 	jp Func_3fb53
 .asm_3f7c1
-	call Func_3cd43
+	call ReadPlayerMonCurHPAndStatus
 	xor a
 	ld [$cc5b], a
 	inc a
@@ -64158,7 +64791,7 @@
 .asm_3f7d1
 	ld c, $32
 	call DelayFrames
-	ld hl, $7b69
+	ld hl, UnnamedText_3fb69 ; $7b69
 	ld a, [W_ENEMYMOVENUM] ; $cfcc
 	cp $64
 	jp nz, PrintText
@@ -64169,27 +64802,27 @@
 	ld c, $14
 	call DelayFrames
 	pop af
-	ld hl, $7802
+	ld hl, UnnamedText_3f802 ; $7802
 	cp $64
 	jr z, .asm_3f7ff
-	ld hl, $7807
+	ld hl, UnnamedText_3f807 ; $7807
 	cp $2e
 	jr z, .asm_3f7ff
-	ld hl, $780c
+	ld hl, UnnamedText_3f80c ; $780c
 .asm_3f7ff
 	jp PrintText
 ; 3f802 (f:7802)
-UnnamedText_3f802: ; 0x3f802
+UnnamedText_3f802: ; 3f802 (f:7802)
 	TX_FAR _UnnamedText_3f802
 	db $50
 ; 0x3f802 + 5 bytes
 
-UnnamedText_3f807: ; 0x3f807
+UnnamedText_3f807: ; 3f807 (f:7807)
 	TX_FAR _UnnamedText_3f807
 	db $50
 ; 0x3f807 + 5 bytes
 
-UnnamedText_3f80c: ; 0x3f80c
+UnnamedText_3f80c: ; 3f80c (f:780c)
 	TX_FAR _UnnamedText_3f80c
 	db $50
 ; 0x3f80c + 5 bytes
@@ -64291,57 +64924,58 @@
 	call Func_3fbb9
 	ld a, [de]
 	ld [W_WHICHTRADE], a ; $cd3d
-	ld hl, $78c8
+	ld hl, Unknown_3f8c8 ; $78c8
 	jp PrintText
 
+Unknown_3f8c8: ; 3f8c8 (f:78c8)
 INCBIN "baserom.gbc",$3f8c8,$3f8cd - $3f8c8
 	ld a, [W_WHICHTRADE] ; $cd3d
 	cp $d
-	ld hl, $78f9
+	ld hl, UnnamedText_3f8f9 ; $78f9
 	jr z, .asm_3f8f8
 	cp $4c
-	ld hl, $78fe
+	ld hl, UnnamedText_3f8fe ; $78fe
 	jr z, .asm_3f8f8
 	cp $82
-	ld hl, $7903
+	ld hl, UnnamedText_3f903 ; $7903
 	jr z, .asm_3f8f8
 	cp $8f
-	ld hl, $7908
+	ld hl, UnnamedText_3f908 ; $7908
 	jr z, .asm_3f8f8
 	cp $13
-	ld hl, $790d
+	ld hl, UnnamedText_3f90d ; $790d
 	jr z, .asm_3f8f8
 	cp $5b
-	ld hl, $7912
+	ld hl, UnnamedText_3f912 ; $7912
 .asm_3f8f8
 	ret
 ; 3f8f9 (f:78f9)
-UnnamedText_3f8f9: ; 0x3f8f9
+UnnamedText_3f8f9: ; 3f8f9 (f:78f9)
 	TX_FAR _UnnamedText_3f8f9
 	db $50
 ; 0x3f8f9 + 5 bytes
 
-UnnamedText_3f8fe: ; 0x3f8fe
+UnnamedText_3f8fe: ; 3f8fe (f:78fe)
 	TX_FAR _UnnamedText_3f8fe
 	db $50
 ; 0x3f8fe + 5 bytes
 
-UnnamedText_3f903: ; 0x3f903
+UnnamedText_3f903: ; 3f903 (f:7903)
 	TX_FAR _UnnamedText_3f903
 	db $50
 ; 0x3f903 + 5 bytes
 
-UnnamedText_3f908: ; 0x3f908
+UnnamedText_3f908: ; 3f908 (f:7908)
 	TX_FAR _UnnamedText_3f908
 	db $50
 ; 0x3f908 + 5 bytes
 
-UnnamedText_3f90d: ; 0x3f90d
+UnnamedText_3f90d: ; 3f90d (f:790d)
 	TX_FAR _UnnamedText_3f90d
 	db $50
 ; 0x3f90d + 5 bytes
 
-UnnamedText_3f912: ; 0x3f912
+UnnamedText_3f912: ; 3f912 (f:7912)
 	TX_FAR _UnnamedText_3f912
 	db $50
 ; 0x3f912 + 5 bytes
@@ -64409,10 +65043,10 @@
 	pop af
 	cp $4c
 	call nz, Func_3fb89
-	ld hl, $79a1
+	ld hl, UnnamedText_3f9a1 ; $79a1
 	jp PrintText
 ; 3f9a1 (f:79a1)
-UnnamedText_3f9a1: ; 0x3f9a1
+UnnamedText_3f9a1: ; 3f9a1 (f:79a1)
 	TX_FAR _UnnamedText_3f9a1
 	db $50
 ; 0x3f9a1 + 5 bytes
@@ -64452,7 +65086,7 @@
 
 INCBIN "baserom.gbc",$3f9df,$3fa77 - $3f9df
 
-UnnamedText_3fa77: ; 0x3fa77
+UnnamedText_3fa77: ; 3fa77 (f:7a77)
 	TX_FAR _UnnamedText_3fa77
 	db $50
 ; 0x3fa77 + 5 bytes
@@ -64467,12 +65101,12 @@
 	and a
 	jr nz, .asm_3fb06
 	ld de, W_ENEMYDISABLEDMOVE ; $d072
-	ld hl, $cfed
+	ld hl, W_ENEMYMONMOVES
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	jr z, .asm_3faa4
 	ld de, W_PLAYERDISABLEDMOVE ; $d06d
-	ld hl, $d01c
+	ld hl, W_PLAYERMONMOVES
 .asm_3faa4
 	ld a, [de]
 	and a
@@ -64534,7 +65168,7 @@
 	ld a, [$d11e]
 	ld [hl], a
 	call GetMoveName
-	ld hl, $7b09
+	ld hl, UnnamedText_3fb09 ; $7b09
 	jp PrintText
 .asm_3fb05
 	pop hl
@@ -64541,7 +65175,7 @@
 .asm_3fb06
 	jp Func_3fb53
 ; 3fb09 (f:7b09)
-UnnamedText_3fb09: ; 0x3fb09
+UnnamedText_3fb09: ; 3fb09 (f:7b09)
 	TX_FAR _UnnamedText_3fb09
 	db $50
 ; 0x3fb09 + 5 bytes
@@ -64557,7 +65191,7 @@
 	ld b, BANK(Func_3bb97)
 	jp Bankswitch ; indirect jump to Func_3bb97 (3bb97 (e:7b97))
 ; 3fb3e (f:7b3e)
-UnnamedText_3fb3e: ; 0x3fb3e
+UnnamedText_3fb3e: ; 3fb3e (f:7b3e)
 	TX_FAR _UnnamedText_3fb3e
 	db $50
 ; 0x3fb3e + 5 bytes
@@ -64564,7 +65198,7 @@
 
 INCBIN "baserom.gbc",$3fb43,$3fb49 - $3fb43
 
-UnnamedText_3fb49: ; 0x3fb49
+UnnamedText_3fb49: ; 3fb49 (f:7b49)
 	TX_FAR _UnnamedText_3fb49
 	db $50
 ; 0x3fb49 + 5 bytes
@@ -64577,10 +65211,10 @@
 
 ; known jump sources: 27faf (9:7faf), 3bbe3 (e:7be3), 3f76b (f:776b), 3f78e (f:778e), 3f7be (f:77be), 3fb06 (f:7b06)
 Func_3fb53: ; 3fb53 (f:7b53)
-	ld hl, $7b59
+	ld hl, UnnamedText_3fb59 ; $7b59
 	jp PrintText
 ; 3fb59 (f:7b59)
-UnnamedText_3fb59: ; 0x3fb59
+UnnamedText_3fb59: ; 3fb59 (f:7b59)
 	TX_FAR _UnnamedText_3fb59
 	db $50
 ; 0x3fb59 + 5 bytes
@@ -64587,15 +65221,15 @@
 
 ; known jump sources: 3f242 (f:7242), 3f2dc (f:72dc), 3f768 (f:7768), 3f7bb (f:77bb), 52663 (14:6663)
 Func_3fb5e: ; 3fb5e (f:7b5e)
-	ld hl, $7b64
+	ld hl, UnnamedText_3fb64 ; $7b64
 	jp PrintText
 ; 3fb64 (f:7b64)
-UnnamedText_3fb64: ; 0x3fb64
+UnnamedText_3fb64: ; 3fb64 (f:7b64)
 	TX_FAR _UnnamedText_3fb64
 	db $50
 ; 0x3fb64 + 5 bytes
 
-UnnamedText_3fb69: ; 0x3fb69
+UnnamedText_3fb69: ; 3fb69 (f:7b69)
 	TX_FAR _UnnamedText_3fb69
 	db $50
 ; 0x3fb69 + 5 bytes
@@ -64602,15 +65236,15 @@
 
 ; known jump sources: 3f359 (f:7359), 3f3bc (f:73bc), 52656 (14:6656)
 Func_3fb6e: ; 3fb6e (f:7b6e)
-	ld hl, $7b74
+	ld hl, UnnamedText_3fb74 ; $7b74
 	jp PrintText
 ; 3fb74 (f:7b74)
-UnnamedText_3fb74: ; 0x3fb74
+UnnamedText_3fb74: ; 3fb74 (f:7b74)
 	TX_FAR _UnnamedText_3fb74
 	db $50
 ; 0x3fb74 + 5 bytes
 
-CheckTargetSubstitute:  ;0x3fb79
+CheckTargetSubstitute: ; 3fb79 (f:7b79)
 	push hl
 	ld hl, $d068
 	ld a, [$ff00+$f3]   ;whose turn?
@@ -64676,7 +65310,7 @@
 ; 3fbc8 (f:7bc8)
 SECTION "bank10",DATA,BANK[$10]
 
-DisplayPokedexMenu_: ; 4000
+DisplayPokedexMenu_: ; 40000 (10:4000)
 	call GBPalWhiteOut
 	call ClearScreen
 	call UpdateSprites ; move sprites
@@ -64737,7 +65371,7 @@
 ; 00: showed pokemon data or area
 ; 01: the player chose Quit
 ; 02: the pokemon has not been seen yet or the player pressed the B button
-HandlePokedexSideMenu: ; 406D
+HandlePokedexSideMenu: ; 4006d (10:406d)
 	call PlaceUnfilledArrowMenuCursor
 	ld a,[W_CURMENUITEMID]
 	push af
@@ -64832,7 +65466,7 @@
 
 ; handles the list of pokemon on the left of the pokedex screen
 ; sets carry flag if player presses A, unsets carry flag if player presses B
-HandlePokedexListMenu: ; 4111
+HandlePokedexListMenu: ; 40111 (10:4111)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a
 ; draw the horizontal line separating the seen and owned amounts from the menu
@@ -65036,7 +65670,7 @@
 	and a
 	ret
 
-DrawPokedexVerticalLine: ; 428E
+DrawPokedexVerticalLine: ; 4028e (10:428e)
 	ld c,9 ; height of line
 	ld de,20 ; width of screen
 	ld a,$71 ; vertical line tile
@@ -65048,16 +65682,16 @@
 	jr nz,.loop
 	ret
 
-PokedexSeenText: ; 429D
+PokedexSeenText: ; 4029d (10:429d)
 	db "SEEN@"
 
-PokedexOwnText: ; 42A2
+PokedexOwnText: ; 402a2 (10:42a2)
 	db "OWN@"
 
-PokedexContentsText: ; 42A6
+PokedexContentsText: ; 402a6 (10:42a6)
 	db "CONTENTS@"
 
-PokedexMenuItemsText: ; 42AF
+PokedexMenuItemsText: ; 402af (10:42af)
 	db "DATA",$4E
 	db "CRY",$4E
 	db "AREA",$4E
@@ -65067,7 +65701,7 @@
 ; INPUT:
 ; [$d11e] = pokedex number
 ; hl = address of bit field
-IsPokemonBitSet: ; 42C2
+IsPokemonBitSet: ; 402c2 (10:42c2)
 	ld a,[$d11e]
 	dec a
 	ld c,a
@@ -65079,7 +65713,7 @@
 	ret
 
 ; function to display pokedex data from outside the pokedex
-ShowPokedexData: ; 42D1
+ShowPokedexData: ; 402d1 (10:42d1)
 	call GBPalWhiteOutWithDelay3
 	call ClearScreen
 	call UpdateSprites
@@ -65088,7 +65722,7 @@
 	call Bankswitch ; load pokedex tiles
 
 ; function to display pokedex data from inside the pokedex
-ShowPokedexDataInternal: ; 42E2
+ShowPokedexDataInternal: ; 402e2 (10:42e2)
 	ld hl,$d72c
 	set 1,[hl]
 	ld a,$33 ; 3/7 volume
@@ -65192,7 +65826,7 @@
 	call GetMonHeader ; load pokemon picture location
 	FuncCoord 1,1
 	ld hl,Coord
-	call Func_1384 ; draw pokemon picture
+	call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture
 	ld a,[$cf91]
 	call PlayCry ; play pokemon cry
 	pop hl
@@ -65283,15 +65917,15 @@
 	ld [$ff24],a
 	ret
 
-HeightWeightText: ; 4448
+HeightWeightText: ; 40448 (10:4448)
 	db "HT  ?",$60,"??",$61,$4E,"WT   ???lb@"
 
 ; XXX does anything point to this?
-Unknown4445D: ; 445D
+Unknown4445D: ; 4045d (10:445d)
 	db $54,$50
 
 ; horizontal line that divides the pokedex text description from the rest of the data
-PokedexDataDividerLine: ; 445F
+PokedexDataDividerLine: ; 4045f (10:445f)
 	db $68,$69,$6B,$69,$6B
 	db $69,$6B,$69,$6B,$6B
 	db $6B,$6B,$69,$6B,$69
@@ -65304,7 +65938,7 @@
 ; c = number of tile ID's to write
 ; de = amount to destination address after each tile (1 for horizontal, 20 for vertical)
 ; hl = destination address
-DrawTileLine: ; 4474
+DrawTileLine: ; 40474 (10:4474)
 	push bc
 	push de
 .loop
@@ -65316,7 +65950,7 @@
 	pop bc
 	ret
 
-PokedexEntryPointers: ; 447E
+PokedexEntryPointers: ; 4047e (10:447e)
 	dw RhydonDexEntry
 	dw KangaskhanDexEntry
 	dw NidoranMDexEntry
@@ -65513,7 +66147,7 @@
 ; weight in pounds
 ; text entry
 
-RhydonDexEntry:
+RhydonDexEntry: ; 405fa (10:45fa)
 	db "DRILL@"
 	db 6,3
 	dw 2650
@@ -65520,7 +66154,7 @@
 	TX_FAR _RhydonDexEntry
 	db "@"
 
-KangaskhanDexEntry:
+KangaskhanDexEntry: ; 40609 (10:4609)
 	db "PARENT@"
 	db 7,3
 	dw 1760
@@ -65527,7 +66161,7 @@
 	TX_FAR _KangaskhanDexEntry
 	db "@"
 
-NidoranMDexEntry:
+NidoranMDexEntry: ; 40619 (10:4619)
 	db "POISON PIN@"
 	db 1,8
 	dw 200
@@ -65534,7 +66168,7 @@
 	TX_FAR _NidoranMDexEntry
 	db "@"
 
-ClefairyDexEntry:
+ClefairyDexEntry: ; 4062d (10:462d)
 	db "FAIRY@"
 	db 2,0
 	dw 170
@@ -65541,7 +66175,7 @@
 	TX_FAR _ClefairyDexEntry
 	db "@"
 
-SpearowDexEntry:
+SpearowDexEntry: ; 4063c (10:463c)
 	db "TINY BIRD@"
 	db 1,0
 	dw 40
@@ -65548,7 +66182,7 @@
 	TX_FAR _SpearowDexEntry
 	db "@"
 
-VoltorbDexEntry:
+VoltorbDexEntry: ; 4064f (10:464f)
 	db "BALL@"
 	db 1,8
 	dw 230
@@ -65555,7 +66189,7 @@
 	TX_FAR _VoltorbDexEntry
 	db "@"
 
-NidokingDexEntry:
+NidokingDexEntry: ; 4065d (10:465d)
 	db "DRILL@"
 	db 4,7
 	dw 1370
@@ -65562,7 +66196,7 @@
 	TX_FAR _NidokingDexEntry
 	db "@"
 
-SlowbroDexEntry:
+SlowbroDexEntry: ; 4066c (10:466c)
 	db "HERMITCRAB@"
 	db 5,3
 	dw 1730
@@ -65569,7 +66203,7 @@
 	TX_FAR _SlowbroDexEntry
 	db "@"
 
-IvysaurDexEntry:
+IvysaurDexEntry: ; 40680 (10:4680)
 	db "SEED@"
 	db 3,3
 	dw 290
@@ -65576,7 +66210,7 @@
 	TX_FAR _IvysaurDexEntry
 	db "@"
 
-ExeggutorDexEntry:
+ExeggutorDexEntry: ; 4068e (10:468e)
 	db "COCONUT@"
 	db 6,7
 	dw 2650
@@ -65583,7 +66217,7 @@
 	TX_FAR _ExeggutorDexEntry
 	db "@"
 
-LickitungDexEntry:
+LickitungDexEntry: ; 4069f (10:469f)
 	db "LICKING@"
 	db 3,11
 	dw 1440
@@ -65590,7 +66224,7 @@
 	TX_FAR _LickitungDexEntry
 	db "@"
 
-ExeggcuteDexEntry:
+ExeggcuteDexEntry: ; 406b0 (10:46b0)
 	db "EGG@"
 	db 1,4
 	dw 60
@@ -65597,7 +66231,7 @@
 	TX_FAR _ExeggcuteDexEntry
 	db "@"
 
-GrimerDexEntry:
+GrimerDexEntry: ; 406bd (10:46bd)
 	db "SLUDGE@"
 	db 2,11
 	dw 660
@@ -65604,7 +66238,7 @@
 	TX_FAR _GrimerDexEntry
 	db "@"
 
-GengarDexEntry:
+GengarDexEntry: ; 406cd (10:46cd)
 	db "SHADOW@"
 	db 4,11
 	dw 890
@@ -65611,7 +66245,7 @@
 	TX_FAR _GengarDexEntry
 	db "@"
 
-NidoranFDexEntry:
+NidoranFDexEntry: ; 406dd (10:46dd)
 	db "POISON PIN@"
 	db 1,4
 	dw 150
@@ -65618,7 +66252,7 @@
 	TX_FAR _NidoranFDexEntry
 	db "@"
 
-NidoqueenDexEntry:
+NidoqueenDexEntry: ; 406f1 (10:46f1)
 	db "DRILL@"
 	db 4,3
 	dw 1320
@@ -65625,7 +66259,7 @@
 	TX_FAR _NidoqueenDexEntry
 	db "@"
 
-CuboneDexEntry:
+CuboneDexEntry: ; 40700 (10:4700)
 	db "LONELY@"
 	db 1,4
 	dw 140
@@ -65632,7 +66266,7 @@
 	TX_FAR _CuboneDexEntry
 	db "@"
 
-RhyhornDexEntry:
+RhyhornDexEntry: ; 40710 (10:4710)
 	db "SPIKES@"
 	db 3,3
 	dw 2540
@@ -65639,7 +66273,7 @@
 	TX_FAR _RhyhornDexEntry
 	db "@"
 
-LaprasDexEntry:
+LaprasDexEntry: ; 40720 (10:4720)
 	db "TRANSPORT@"
 	db 8,2
 	dw 4850
@@ -65646,7 +66280,7 @@
 	TX_FAR _LaprasDexEntry
 	db "@"
 
-ArcanineDexEntry:
+ArcanineDexEntry: ; 40733 (10:4733)
 	db "LEGENDARY@"
 	db 6,3
 	dw 3420
@@ -65653,7 +66287,7 @@
 	TX_FAR _ArcanineDexEntry
 	db "@"
 
-MewDexEntry:
+MewDexEntry: ; 40746 (10:4746)
 	db "NEW SPECIE@"
 	db 1,4
 	dw 90
@@ -65660,7 +66294,7 @@
 	TX_FAR _MewDexEntry
 	db "@"
 
-GyaradosDexEntry:
+GyaradosDexEntry: ; 4075a (10:475a)
 	db "ATROCIOUS@"
 	db 21,4
 	dw 5180
@@ -65667,7 +66301,7 @@
 	TX_FAR _GyaradosDexEntry
 	db "@"
 
-ShellderDexEntry:
+ShellderDexEntry: ; 4076d (10:476d)
 	db "BIVALVE@"
 	db 1,0
 	dw 90
@@ -65674,7 +66308,7 @@
 	TX_FAR _ShellderDexEntry
 	db "@"
 
-TentacoolDexEntry:
+TentacoolDexEntry: ; 4077e (10:477e)
 	db "JELLYFISH@"
 	db 2,11
 	dw 1000
@@ -65681,7 +66315,7 @@
 	TX_FAR _TentacoolDexEntry
 	db "@"
 
-GastlyDexEntry:
+GastlyDexEntry: ; 40791 (10:4791)
 	db "GAS@"
 	db 4,3
 	dw 2
@@ -65688,7 +66322,7 @@
 	TX_FAR _GastlyDexEntry
 	db "@"
 
-ScytherDexEntry:
+ScytherDexEntry: ; 4079e (10:479e)
 	db "MANTIS@"
 	db 4,11
 	dw 1230
@@ -65695,7 +66329,7 @@
 	TX_FAR _ScytherDexEntry
 	db "@"
 
-StaryuDexEntry:
+StaryuDexEntry: ; 407ae (10:47ae)
 	db "STARSHAPE@"
 	db 2,7
 	dw 760
@@ -65702,7 +66336,7 @@
 	TX_FAR _StaryuDexEntry
 	db "@"
 
-BlastoiseDexEntry:
+BlastoiseDexEntry: ; 407c1 (10:47c1)
 	db "SHELLFISH@"
 	db 5,3
 	dw 1890
@@ -65709,7 +66343,7 @@
 	TX_FAR _BlastoiseDexEntry
 	db "@"
 
-PinsirDexEntry:
+PinsirDexEntry: ; 407d4 (10:47d4)
 	db "STAGBEETLE@"
 	db 4,11
 	dw 1210
@@ -65716,7 +66350,7 @@
 	TX_FAR _PinsirDexEntry
 	db "@"
 
-TangelaDexEntry:
+TangelaDexEntry: ; 407e8 (10:47e8)
 	db "VINE@"
 	db 3,3
 	dw 770
@@ -65723,7 +66357,7 @@
 	TX_FAR _TangelaDexEntry
 	db "@"
 
-GrowlitheDexEntry:
+GrowlitheDexEntry: ; 407f6 (10:47f6)
 	db "PUPPY@"
 	db 2,4
 	dw 420
@@ -65730,7 +66364,7 @@
 	TX_FAR _GrowlitheDexEntry
 	db "@"
 
-OnixDexEntry:
+OnixDexEntry: ; 40805 (10:4805)
 	db "ROCK SNAKE@"
 	db 28,10
 	dw 4630
@@ -65737,7 +66371,7 @@
 	TX_FAR _OnixDexEntry
 	db "@"
 
-FearowDexEntry:
+FearowDexEntry: ; 40819 (10:4819)
 	db "BEAK@"
 	db 3,11
 	dw 840
@@ -65744,7 +66378,7 @@
 	TX_FAR _FearowDexEntry
 	db "@"
 
-PidgeyDexEntry:
+PidgeyDexEntry: ; 40827 (10:4827)
 	db "TINY BIRD@"
 	db 1,0
 	dw 40
@@ -65751,7 +66385,7 @@
 	TX_FAR _PidgeyDexEntry
 	db "@"
 
-SlowpokeDexEntry:
+SlowpokeDexEntry: ; 4083a (10:483a)
 	db "DOPEY@"
 	db 3,11
 	dw 790
@@ -65758,7 +66392,7 @@
 	TX_FAR _SlowpokeDexEntry
 	db "@"
 
-KadabraDexEntry:
+KadabraDexEntry: ; 40849 (10:4849)
 	db "PSI@"
 	db 4,3
 	dw 1250
@@ -65765,7 +66399,7 @@
 	TX_FAR _KadabraDexEntry
 	db "@"
 
-GravelerDexEntry:
+GravelerDexEntry: ; 40856 (10:4856)
 	db "ROCK@"
 	db 3,3
 	dw 2320
@@ -65772,7 +66406,7 @@
 	TX_FAR _GravelerDexEntry
 	db "@"
 
-ChanseyDexEntry:
+ChanseyDexEntry: ; 40864 (10:4864)
 	db "EGG@"
 	db 3,7
 	dw 760
@@ -65779,7 +66413,7 @@
 	TX_FAR _ChanseyDexEntry
 	db "@"
 
-MachokeDexEntry:
+MachokeDexEntry: ; 40871 (10:4871)
 	db "SUPERPOWER@"
 	db 4,11
 	dw 1550
@@ -65786,7 +66420,7 @@
 	TX_FAR _MachokeDexEntry
 	db "@"
 
-MrMimeDexEntry:
+MrMimeDexEntry: ; 40885 (10:4885)
 	db "BARRIER@"
 	db 4,3
 	dw 1200
@@ -65793,7 +66427,7 @@
 	TX_FAR _MrMimeDexEntry
 	db "@"
 
-HitmonleeDexEntry:
+HitmonleeDexEntry: ; 40896 (10:4896)
 	db "KICKING@"
 	db 4,11
 	dw 1100
@@ -65800,7 +66434,7 @@
 	TX_FAR _HitmonleeDexEntry
 	db "@"
 
-HitmonchanDexEntry:
+HitmonchanDexEntry: ; 408a7 (10:48a7)
 	db "PUNCHING@"
 	db 4,7
 	dw 1110
@@ -65807,7 +66441,7 @@
 	TX_FAR _HitmonchanDexEntry
 	db "@"
 
-ArbokDexEntry:
+ArbokDexEntry: ; 408b9 (10:48b9)
 	db "COBRA@"
 	db 11,6
 	dw 1430
@@ -65814,7 +66448,7 @@
 	TX_FAR _ArbokDexEntry
 	db "@"
 
-ParasectDexEntry:
+ParasectDexEntry: ; 408c8 (10:48c8)
 	db "MUSHROOM@"
 	db 3,3
 	dw 650
@@ -65821,7 +66455,7 @@
 	TX_FAR _ParasectDexEntry
 	db "@"
 
-PsyduckDexEntry:
+PsyduckDexEntry: ; 408da (10:48da)
 	db "DUCK@"
 	db 2,7
 	dw 430
@@ -65828,7 +66462,7 @@
 	TX_FAR _PsyduckDexEntry
 	db "@"
 
-DrowzeeDexEntry:
+DrowzeeDexEntry: ; 408e8 (10:48e8)
 	db "HYPNOSIS@"
 	db 3,3
 	dw 710
@@ -65835,7 +66469,7 @@
 	TX_FAR _DrowzeeDexEntry
 	db "@"
 
-GolemDexEntry:
+GolemDexEntry: ; 408fa (10:48fa)
 	db "MEGATON@"
 	db 4,7
 	dw 6620
@@ -65842,7 +66476,7 @@
 	TX_FAR _GolemDexEntry
 	db "@"
 
-MagmarDexEntry:
+MagmarDexEntry: ; 4090b (10:490b)
 	db "SPITFIRE@"
 	db 4,3
 	dw 980
@@ -65849,7 +66483,7 @@
 	TX_FAR _MagmarDexEntry
 	db "@"
 
-ElectabuzzDexEntry:
+ElectabuzzDexEntry: ; 4091d (10:491d)
 	db "ELECTRIC@"
 	db 3,7
 	dw 660
@@ -65856,7 +66490,7 @@
 	TX_FAR _ElectabuzzDexEntry
 	db "@"
 
-MagnetonDexEntry:
+MagnetonDexEntry: ; 4092f (10:492f)
 	db "MAGNET@"
 	db 3,3
 	dw 1320
@@ -65863,7 +66497,7 @@
 	TX_FAR _MagnetonDexEntry
 	db "@"
 
-KoffingDexEntry:
+KoffingDexEntry: ; 4093f (10:493f)
 	db "POISON GAS@"
 	db 2,0
 	dw 20
@@ -65870,7 +66504,7 @@
 	TX_FAR _KoffingDexEntry
 	db "@"
 
-MankeyDexEntry:
+MankeyDexEntry: ; 40953 (10:4953)
 	db "PIG MONKEY@"
 	db 1,8
 	dw 620
@@ -65877,7 +66511,7 @@
 	TX_FAR _MankeyDexEntry
 	db "@"
 
-SeelDexEntry:
+SeelDexEntry: ; 40967 (10:4967)
 	db "SEA LION@"
 	db 3,7
 	dw 1980
@@ -65884,7 +66518,7 @@
 	TX_FAR _SeelDexEntry
 	db "@"
 
-DiglettDexEntry:
+DiglettDexEntry: ; 40979 (10:4979)
 	db "MOLE@"
 	db 0,8
 	dw 20
@@ -65891,7 +66525,7 @@
 	TX_FAR _DiglettDexEntry
 	db "@"
 
-TaurosDexEntry:
+TaurosDexEntry: ; 40987 (10:4987)
 	db "WILD BULL@"
 	db 4,7
 	dw 1950
@@ -65898,7 +66532,7 @@
 	TX_FAR _TaurosDexEntry
 	db "@"
 
-FarfetchdDexEntry:
+FarfetchdDexEntry: ; 4099a (10:499a)
 	db "WILD DUCK@"
 	db 2,7
 	dw 330
@@ -65905,7 +66539,7 @@
 	TX_FAR _FarfetchdDexEntry
 	db "@"
 
-VenonatDexEntry:
+VenonatDexEntry: ; 409ad (10:49ad)
 	db "INSECT@"
 	db 3,3
 	dw 660
@@ -65912,7 +66546,7 @@
 	TX_FAR _VenonatDexEntry
 	db "@"
 
-DragoniteDexEntry:
+DragoniteDexEntry: ; 409bd (10:49bd)
 	db "DRAGON@"
 	db 7,3
 	dw 4630
@@ -65919,7 +66553,7 @@
 	TX_FAR _DragoniteDexEntry
 	db "@"
 
-DoduoDexEntry:
+DoduoDexEntry: ; 409cd (10:49cd)
 	db "TWIN BIRD@"
 	db 4,7
 	dw 860
@@ -65926,7 +66560,7 @@
 	TX_FAR _DoduoDexEntry
 	db "@"
 
-PoliwagDexEntry:
+PoliwagDexEntry: ; 409e0 (10:49e0)
 	db "TADPOLE@"
 	db 2,0
 	dw 270
@@ -65933,7 +66567,7 @@
 	TX_FAR _PoliwagDexEntry
 	db "@"
 
-JynxDexEntry:
+JynxDexEntry: ; 409f1 (10:49f1)
 	db "HUMANSHAPE@"
 	db 4,7
 	dw 900
@@ -65940,7 +66574,7 @@
 	TX_FAR _JynxDexEntry
 	db "@"
 
-MoltresDexEntry:
+MoltresDexEntry: ; 40a05 (10:4a05)
 	db "FLAME@"
 	db 6,7
 	dw 1320
@@ -65947,7 +66581,7 @@
 	TX_FAR _MoltresDexEntry
 	db "@"
 
-ArticunoDexEntry:
+ArticunoDexEntry: ; 40a14 (10:4a14)
 	db "FREEZE@"
 	db 5,7
 	dw 1220
@@ -65954,7 +66588,7 @@
 	TX_FAR _ArticunoDexEntry
 	db "@"
 
-ZapdosDexEntry:
+ZapdosDexEntry: ; 40a24 (10:4a24)
 	db "ELECTRIC@"
 	db 5,3
 	dw 1160
@@ -65961,7 +66595,7 @@
 	TX_FAR _ZapdosDexEntry
 	db "@"
 
-DittoDexEntry:
+DittoDexEntry: ; 40a36 (10:4a36)
 	db "TRANSFORM@"
 	db 1,0
 	dw 90
@@ -65968,7 +66602,7 @@
 	TX_FAR _DittoDexEntry
 	db "@"
 
-MeowthDexEntry:
+MeowthDexEntry: ; 40a49 (10:4a49)
 	db "SCRATCHCAT@"
 	db 1,4
 	dw 90
@@ -65975,7 +66609,7 @@
 	TX_FAR _MeowthDexEntry
 	db "@"
 
-KrabbyDexEntry:
+KrabbyDexEntry: ; 40a5d (10:4a5d)
 	db "RIVER CRAB@"
 	db 1,4
 	dw 140
@@ -65982,7 +66616,7 @@
 	TX_FAR _KrabbyDexEntry
 	db "@"
 
-VulpixDexEntry:
+VulpixDexEntry: ; 40a71 (10:4a71)
 	db "FOX@"
 	db 2,0
 	dw 220
@@ -65989,7 +66623,7 @@
 	TX_FAR _VulpixDexEntry
 	db "@"
 
-NinetalesDexEntry:
+NinetalesDexEntry: ; 40a7e (10:4a7e)
 	db "FOX@"
 	db 3,7
 	dw 440
@@ -65996,7 +66630,7 @@
 	TX_FAR _NinetalesDexEntry
 	db "@"
 
-PikachuDexEntry:
+PikachuDexEntry: ; 40a8b (10:4a8b)
 	db "MOUSE@"
 	db 1,4
 	dw 130
@@ -66003,7 +66637,7 @@
 	TX_FAR _PikachuDexEntry
 	db "@"
 
-RaichuDexEntry:
+RaichuDexEntry: ; 40a9a (10:4a9a)
 	db "MOUSE@"
 	db 2,7
 	dw 660
@@ -66010,7 +66644,7 @@
 	TX_FAR _RaichuDexEntry
 	db "@"
 
-DratiniDexEntry:
+DratiniDexEntry: ; 40aa9 (10:4aa9)
 	db "DRAGON@"
 	db 5,11
 	dw 70
@@ -66017,7 +66651,7 @@
 	TX_FAR _DratiniDexEntry
 	db "@"
 
-DragonairDexEntry:
+DragonairDexEntry: ; 40ab9 (10:4ab9)
 	db "DRAGON@"
 	db 13,1
 	dw 360
@@ -66024,7 +66658,7 @@
 	TX_FAR _DragonairDexEntry
 	db "@"
 
-KabutoDexEntry:
+KabutoDexEntry: ; 40ac9 (10:4ac9)
 	db "SHELLFISH@"
 	db 1,8
 	dw 250
@@ -66031,7 +66665,7 @@
 	TX_FAR _KabutoDexEntry
 	db "@"
 
-KabutopsDexEntry:
+KabutopsDexEntry: ; 40adc (10:4adc)
 	db "SHELLFISH@"
 	db 4,3
 	dw 890
@@ -66038,7 +66672,7 @@
 	TX_FAR _KabutopsDexEntry
 	db "@"
 
-HorseaDexEntry:
+HorseaDexEntry: ; 40aef (10:4aef)
 	db "DRAGON@"
 	db 1,4
 	dw 180
@@ -66045,7 +66679,7 @@
 	TX_FAR _HorseaDexEntry
 	db "@"
 
-SeadraDexEntry:
+SeadraDexEntry: ; 40aff (10:4aff)
 	db "DRAGON@"
 	db 3,11
 	dw 550
@@ -66052,7 +66686,7 @@
 	TX_FAR _SeadraDexEntry
 	db "@"
 
-SandshrewDexEntry:
+SandshrewDexEntry: ; 40b0f (10:4b0f)
 	db "MOUSE@"
 	db 2,0
 	dw 260
@@ -66059,7 +66693,7 @@
 	TX_FAR _SandshrewDexEntry
 	db "@"
 
-SandslashDexEntry:
+SandslashDexEntry: ; 40b1e (10:4b1e)
 	db "MOUSE@"
 	db 3,3
 	dw 650
@@ -66066,7 +66700,7 @@
 	TX_FAR _SandslashDexEntry
 	db "@"
 
-OmanyteDexEntry:
+OmanyteDexEntry: ; 40b2d (10:4b2d)
 	db "SPIRAL@"
 	db 1,4
 	dw 170
@@ -66073,7 +66707,7 @@
 	TX_FAR _OmanyteDexEntry
 	db "@"
 
-OmastarDexEntry:
+OmastarDexEntry: ; 40b3d (10:4b3d)
 	db "SPIRAL@"
 	db 3,3
 	dw 770
@@ -66080,7 +66714,7 @@
 	TX_FAR _OmastarDexEntry
 	db "@"
 
-JigglypuffDexEntry:
+JigglypuffDexEntry: ; 40b4d (10:4b4d)
 	db "BALLOON@"
 	db 1,8
 	dw 120
@@ -66087,7 +66721,7 @@
 	TX_FAR _JigglypuffDexEntry
 	db "@"
 
-WigglytuffDexEntry:
+WigglytuffDexEntry: ; 40b5e (10:4b5e)
 	db "BALLOON@"
 	db 3,3
 	dw 260
@@ -66094,7 +66728,7 @@
 	TX_FAR _WigglytuffDexEntry
 	db "@"
 
-EeveeDexEntry:
+EeveeDexEntry: ; 40b6f (10:4b6f)
 	db "EVOLUTION@"
 	db 1,0
 	dw 140
@@ -66101,7 +66735,7 @@
 	TX_FAR _EeveeDexEntry
 	db "@"
 
-FlareonDexEntry:
+FlareonDexEntry: ; 40b82 (10:4b82)
 	db "FLAME@"
 	db 2,11
 	dw 550
@@ -66108,7 +66742,7 @@
 	TX_FAR _FlareonDexEntry
 	db "@"
 
-JolteonDexEntry:
+JolteonDexEntry: ; 40b91 (10:4b91)
 	db "LIGHTNING@"
 	db 2,7
 	dw 540
@@ -66115,7 +66749,7 @@
 	TX_FAR _JolteonDexEntry
 	db "@"
 
-VaporeonDexEntry:
+VaporeonDexEntry: ; 40ba4 (10:4ba4)
 	db "BUBBLE JET@"
 	db 3,3
 	dw 640
@@ -66122,7 +66756,7 @@
 	TX_FAR _VaporeonDexEntry
 	db "@"
 
-MachopDexEntry:
+MachopDexEntry: ; 40bb8 (10:4bb8)
 	db "SUPERPOWER@"
 	db 2,7
 	dw 430
@@ -66129,7 +66763,7 @@
 	TX_FAR _MachopDexEntry
 	db "@"
 
-ZubatDexEntry:
+ZubatDexEntry: ; 40bcc (10:4bcc)
 	db "BAT@"
 	db 2,7
 	dw 170
@@ -66136,7 +66770,7 @@
 	TX_FAR _ZubatDexEntry
 	db "@"
 
-EkansDexEntry:
+EkansDexEntry: ; 40bd9 (10:4bd9)
 	db "SNAKE@"
 	db 6,7
 	dw 150
@@ -66143,7 +66777,7 @@
 	TX_FAR _EkansDexEntry
 	db "@"
 
-ParasDexEntry:
+ParasDexEntry: ; 40be8 (10:4be8)
 	db "MUSHROOM@"
 	db 1,0
 	dw 120
@@ -66150,7 +66784,7 @@
 	TX_FAR _ParasDexEntry
 	db "@"
 
-PoliwhirlDexEntry:
+PoliwhirlDexEntry: ; 40bfa (10:4bfa)
 	db "TADPOLE@"
 	db 3,3
 	dw 440
@@ -66157,7 +66791,7 @@
 	TX_FAR _PoliwhirlDexEntry
 	db "@"
 
-PoliwrathDexEntry:
+PoliwrathDexEntry: ; 40c0b (10:4c0b)
 	db "TADPOLE@"
 	db 4,3
 	dw 1190
@@ -66164,7 +66798,7 @@
 	TX_FAR _PoliwrathDexEntry
 	db "@"
 
-WeedleDexEntry:
+WeedleDexEntry: ; 40c1c (10:4c1c)
 	db "HAIRY BUG@"
 	db 1,0
 	dw 70
@@ -66171,7 +66805,7 @@
 	TX_FAR _WeedleDexEntry
 	db "@"
 
-KakunaDexEntry:
+KakunaDexEntry: ; 40c2f (10:4c2f)
 	db "COCOON@"
 	db 2,0
 	dw 220
@@ -66178,7 +66812,7 @@
 	TX_FAR _KakunaDexEntry
 	db "@"
 
-BeedrillDexEntry:
+BeedrillDexEntry: ; 40c3f (10:4c3f)
 	db "POISON BEE@"
 	db 3,3
 	dw 650
@@ -66185,7 +66819,7 @@
 	TX_FAR _BeedrillDexEntry
 	db "@"
 
-DodrioDexEntry:
+DodrioDexEntry: ; 40c53 (10:4c53)
 	db "TRIPLEBIRD@"
 	db 5,11
 	dw 1880
@@ -66192,7 +66826,7 @@
 	TX_FAR _DodrioDexEntry
 	db "@"
 
-PrimeapeDexEntry:
+PrimeapeDexEntry: ; 40c67 (10:4c67)
 	db "PIG MONKEY@"
 	db 3,3
 	dw 710
@@ -66199,7 +66833,7 @@
 	TX_FAR _PrimeapeDexEntry
 	db "@"
 
-DugtrioDexEntry:
+DugtrioDexEntry: ; 40c7b (10:4c7b)
 	db "MOLE@"
 	db 2,4
 	dw 730
@@ -66206,7 +66840,7 @@
 	TX_FAR _DugtrioDexEntry
 	db "@"
 
-VenomothDexEntry:
+VenomothDexEntry: ; 40c89 (10:4c89)
 	db "POISONMOTH@"
 	db 4,11
 	dw 280
@@ -66213,7 +66847,7 @@
 	TX_FAR _VenomothDexEntry
 	db "@"
 
-DewgongDexEntry:
+DewgongDexEntry: ; 40c9d (10:4c9d)
 	db "SEA LION@"
 	db 5,7
 	dw 2650
@@ -66220,7 +66854,7 @@
 	TX_FAR _DewgongDexEntry
 	db "@"
 
-CaterpieDexEntry:
+CaterpieDexEntry: ; 40caf (10:4caf)
 	db "WORM@"
 	db 1,0
 	dw 60
@@ -66227,7 +66861,7 @@
 	TX_FAR _CaterpieDexEntry
 	db "@"
 
-MetapodDexEntry:
+MetapodDexEntry: ; 40cbd (10:4cbd)
 	db "COCOON@"
 	db 2,4
 	dw 220
@@ -66234,7 +66868,7 @@
 	TX_FAR _MetapodDexEntry
 	db "@"
 
-ButterfreeDexEntry:
+ButterfreeDexEntry: ; 40ccd (10:4ccd)
 	db "BUTTERFLY@"
 	db 3,7
 	dw 710
@@ -66241,7 +66875,7 @@
 	TX_FAR _ButterfreeDexEntry
 	db "@"
 
-MachampDexEntry:
+MachampDexEntry: ; 40ce0 (10:4ce0)
 	db "SUPERPOWER@"
 	db 5,3
 	dw 2870
@@ -66248,7 +66882,7 @@
 	TX_FAR _MachampDexEntry
 	db "@"
 
-GolduckDexEntry:
+GolduckDexEntry: ; 40cf4 (10:4cf4)
 	db "DUCK@"
 	db 5,7
 	dw 1690
@@ -66255,7 +66889,7 @@
 	TX_FAR _GolduckDexEntry
 	db "@"
 
-HypnoDexEntry:
+HypnoDexEntry: ; 40d02 (10:4d02)
 	db "HYPNOSIS@"
 	db 5,3
 	dw 1670
@@ -66262,7 +66896,7 @@
 	TX_FAR _HypnoDexEntry
 	db "@"
 
-GolbatDexEntry:
+GolbatDexEntry: ; 40d14 (10:4d14)
 	db "BAT@"
 	db 5,3
 	dw 1210
@@ -66269,7 +66903,7 @@
 	TX_FAR _GolbatDexEntry
 	db "@"
 
-MewtwoDexEntry:
+MewtwoDexEntry: ; 40d21 (10:4d21)
 	db "GENETIC@"
 	db 6,7
 	dw 2690
@@ -66276,7 +66910,7 @@
 	TX_FAR _MewtwoDexEntry
 	db "@"
 
-SnorlaxDexEntry:
+SnorlaxDexEntry: ; 40d32 (10:4d32)
 	db "SLEEPING@"
 	db 6,11
 	dw 10140
@@ -66283,7 +66917,7 @@
 	TX_FAR _SnorlaxDexEntry
 	db "@"
 
-MagikarpDexEntry:
+MagikarpDexEntry: ; 40d44 (10:4d44)
 	db "FISH@"
 	db 2,11
 	dw 220
@@ -66290,7 +66924,7 @@
 	TX_FAR _MagikarpDexEntry
 	db "@"
 
-MukDexEntry:
+MukDexEntry: ; 40d52 (10:4d52)
 	db "SLUDGE@"
 	db 3,11
 	dw 660
@@ -66297,7 +66931,7 @@
 	TX_FAR _MukDexEntry
 	db "@"
 
-KinglerDexEntry:
+KinglerDexEntry: ; 40d62 (10:4d62)
 	db "PINCER@"
 	db 4,3
 	dw 1320
@@ -66304,7 +66938,7 @@
 	TX_FAR _KinglerDexEntry
 	db "@"
 
-CloysterDexEntry:
+CloysterDexEntry: ; 40d72 (10:4d72)
 	db "BIVALVE@"
 	db 4,11
 	dw 2920
@@ -66311,7 +66945,7 @@
 	TX_FAR _CloysterDexEntry
 	db "@"
 
-ElectrodeDexEntry:
+ElectrodeDexEntry: ; 40d83 (10:4d83)
 	db "BALL@"
 	db 3,11
 	dw 1470
@@ -66318,7 +66952,7 @@
 	TX_FAR _ElectrodeDexEntry
 	db "@"
 
-ClefableDexEntry:
+ClefableDexEntry: ; 40d91 (10:4d91)
 	db "FAIRY@"
 	db 4,3
 	dw 880
@@ -66325,7 +66959,7 @@
 	TX_FAR _ClefableDexEntry
 	db "@"
 
-WeezingDexEntry:
+WeezingDexEntry: ; 40da0 (10:4da0)
 	db "POISON GAS@"
 	db 3,11
 	dw 210
@@ -66332,7 +66966,7 @@
 	TX_FAR _WeezingDexEntry
 	db "@"
 
-PersianDexEntry:
+PersianDexEntry: ; 40db4 (10:4db4)
 	db "CLASSY CAT@"
 	db 3,3
 	dw 710
@@ -66339,7 +66973,7 @@
 	TX_FAR _PersianDexEntry
 	db "@"
 
-MarowakDexEntry:
+MarowakDexEntry: ; 40dc8 (10:4dc8)
 	db "BONEKEEPER@"
 	db 3,3
 	dw 990
@@ -66346,7 +66980,7 @@
 	TX_FAR _MarowakDexEntry
 	db "@"
 
-HaunterDexEntry:
+HaunterDexEntry: ; 40ddc (10:4ddc)
 	db "GAS@"
 	db 5,3
 	dw 2
@@ -66353,7 +66987,7 @@
 	TX_FAR _HaunterDexEntry
 	db "@"
 
-AbraDexEntry:
+AbraDexEntry: ; 40de9 (10:4de9)
 	db "PSI@"
 	db 2,11
 	dw 430
@@ -66360,7 +66994,7 @@
 	TX_FAR _AbraDexEntry
 	db "@"
 
-AlakazamDexEntry:
+AlakazamDexEntry: ; 40df6 (10:4df6)
 	db "PSI@"
 	db 4,11
 	dw 1060
@@ -66367,7 +67001,7 @@
 	TX_FAR _AlakazamDexEntry
 	db "@"
 
-PidgeottoDexEntry:
+PidgeottoDexEntry: ; 40e03 (10:4e03)
 	db "BIRD@"
 	db 3,7
 	dw 660
@@ -66374,7 +67008,7 @@
 	TX_FAR _PidgeottoDexEntry
 	db "@"
 
-PidgeotDexEntry:
+PidgeotDexEntry: ; 40e11 (10:4e11)
 	db "BIRD@"
 	db 4,11
 	dw 870
@@ -66381,7 +67015,7 @@
 	TX_FAR _PidgeotDexEntry
 	db "@"
 
-StarmieDexEntry:
+StarmieDexEntry: ; 40e1f (10:4e1f)
 	db "MYSTERIOUS@"
 	db 3,7
 	dw 1760
@@ -66388,7 +67022,7 @@
 	TX_FAR _StarmieDexEntry
 	db "@"
 
-BulbasaurDexEntry:
+BulbasaurDexEntry: ; 40e33 (10:4e33)
 	db "SEED@"
 	db 2,4
 	dw 150
@@ -66395,7 +67029,7 @@
 	TX_FAR _BulbasaurDexEntry
 	db "@"
 
-VenusaurDexEntry:
+VenusaurDexEntry: ; 40e41 (10:4e41)
 	db "SEED@"
 	db 6,7
 	dw 2210
@@ -66402,7 +67036,7 @@
 	TX_FAR _VenusaurDexEntry
 	db "@"
 
-TentacruelDexEntry:
+TentacruelDexEntry: ; 40e4f (10:4e4f)
 	db "JELLYFISH@"
 	db 5,3
 	dw 1210
@@ -66409,7 +67043,7 @@
 	TX_FAR _TentacruelDexEntry
 	db "@"
 
-GoldeenDexEntry:
+GoldeenDexEntry: ; 40e62 (10:4e62)
 	db "GOLDFISH@"
 	db 2,0
 	dw 330
@@ -66416,7 +67050,7 @@
 	TX_FAR _GoldeenDexEntry
 	db "@"
 
-SeakingDexEntry:
+SeakingDexEntry: ; 40e74 (10:4e74)
 	db "GOLDFISH@"
 	db 4,3
 	dw 860
@@ -66423,7 +67057,7 @@
 	TX_FAR _SeakingDexEntry
 	db "@"
 
-PonytaDexEntry:
+PonytaDexEntry: ; 40e86 (10:4e86)
 	db "FIRE HORSE@"
 	db 3,3
 	dw 660
@@ -66430,7 +67064,7 @@
 	TX_FAR _PonytaDexEntry
 	db "@"
 
-RapidashDexEntry:
+RapidashDexEntry: ; 40e9a (10:4e9a)
 	db "FIRE HORSE@"
 	db 5,7
 	dw 2090
@@ -66437,7 +67071,7 @@
 	TX_FAR _RapidashDexEntry
 	db "@"
 
-RattataDexEntry:
+RattataDexEntry: ; 40eae (10:4eae)
 	db "RAT@"
 	db 1,0
 	dw 80
@@ -66444,7 +67078,7 @@
 	TX_FAR _RattataDexEntry
 	db "@"
 
-RaticateDexEntry:
+RaticateDexEntry: ; 40ebb (10:4ebb)
 	db "RAT@"
 	db 2,4
 	dw 410
@@ -66451,7 +67085,7 @@
 	TX_FAR _RaticateDexEntry
 	db "@"
 
-NidorinoDexEntry:
+NidorinoDexEntry: ; 40ec8 (10:4ec8)
 	db "POISON PIN@"
 	db 2,11
 	dw 430
@@ -66458,7 +67092,7 @@
 	TX_FAR _NidorinoDexEntry
 	db "@"
 
-NidorinaDexEntry:
+NidorinaDexEntry: ; 40edc (10:4edc)
 	db "POISON PIN@"
 	db 2,7
 	dw 440
@@ -66465,7 +67099,7 @@
 	TX_FAR _NidorinaDexEntry
 	db "@"
 
-GeodudeDexEntry:
+GeodudeDexEntry: ; 40ef0 (10:4ef0)
 	db "ROCK@"
 	db 1,4
 	dw 440
@@ -66472,7 +67106,7 @@
 	TX_FAR _GeodudeDexEntry
 	db "@"
 
-PorygonDexEntry:
+PorygonDexEntry: ; 40efe (10:4efe)
 	db "VIRTUAL@"
 	db 2,7
 	dw 800
@@ -66479,7 +67113,7 @@
 	TX_FAR _PorygonDexEntry
 	db "@"
 
-AerodactylDexEntry:
+AerodactylDexEntry: ; 40f0f (10:4f0f)
 	db "FOSSIL@"
 	db 5,11
 	dw 1300
@@ -66486,7 +67120,7 @@
 	TX_FAR _AerodactylDexEntry
 	db "@"
 
-MagnemiteDexEntry:
+MagnemiteDexEntry: ; 40f1f (10:4f1f)
 	db "MAGNET@"
 	db 1,0
 	dw 130
@@ -66493,7 +67127,7 @@
 	TX_FAR _MagnemiteDexEntry
 	db "@"
 
-CharmanderDexEntry:
+CharmanderDexEntry: ; 40f2f (10:4f2f)
 	db "LIZARD@"
 	db 2,0
 	dw 190
@@ -66500,7 +67134,7 @@
 	TX_FAR _CharmanderDexEntry
 	db "@"
 
-SquirtleDexEntry:
+SquirtleDexEntry: ; 40f3f (10:4f3f)
 	db "TINYTURTLE@"
 	db 1,8
 	dw 200
@@ -66507,7 +67141,7 @@
 	TX_FAR _SquirtleDexEntry
 	db "@"
 
-CharmeleonDexEntry:
+CharmeleonDexEntry: ; 40f53 (10:4f53)
 	db "FLAME@"
 	db 3,7
 	dw 420
@@ -66514,7 +67148,7 @@
 	TX_FAR _CharmeleonDexEntry
 	db "@"
 
-WartortleDexEntry:
+WartortleDexEntry: ; 40f62 (10:4f62)
 	db "TURTLE@"
 	db 3,3
 	dw 500
@@ -66521,7 +67155,7 @@
 	TX_FAR _WartortleDexEntry
 	db "@"
 
-CharizardDexEntry:
+CharizardDexEntry: ; 40f72 (10:4f72)
 	db "FLAME@"
 	db 5,7
 	dw 2000
@@ -66528,7 +67162,7 @@
 	TX_FAR _CharizardDexEntry
 	db "@"
 
-OddishDexEntry:
+OddishDexEntry: ; 40f81 (10:4f81)
 	db "WEED@"
 	db 1,8
 	dw 120
@@ -66535,7 +67169,7 @@
 	TX_FAR _OddishDexEntry
 	db "@"
 
-GloomDexEntry:
+GloomDexEntry: ; 40f8f (10:4f8f)
 	db "WEED@"
 	db 2,7
 	dw 190
@@ -66542,7 +67176,7 @@
 	TX_FAR _GloomDexEntry
 	db "@"
 
-VileplumeDexEntry:
+VileplumeDexEntry: ; 40f9d (10:4f9d)
 	db "FLOWER@"
 	db 3,11
 	dw 410
@@ -66549,7 +67183,7 @@
 	TX_FAR _VileplumeDexEntry
 	db "@"
 
-BellsproutDexEntry:
+BellsproutDexEntry: ; 40fad (10:4fad)
 	db "FLOWER@"
 	db 2,4
 	dw 90
@@ -66556,7 +67190,7 @@
 	TX_FAR _BellsproutDexEntry
 	db "@"
 
-WeepinbellDexEntry:
+WeepinbellDexEntry: ; 40fbd (10:4fbd)
 	db "FLYCATCHER@"
 	db 3,3
 	dw 140
@@ -66563,7 +67197,7 @@
 	TX_FAR _WeepinbellDexEntry
 	db "@"
 
-VictreebelDexEntry:
+VictreebelDexEntry: ; 40fd1 (10:4fd1)
 	db "FLYCATCHER@"
 	db 5,7
 	dw 340
@@ -66570,13 +67204,13 @@
 	TX_FAR _VictreebelDexEntry
 	db "@"
 
-MissingNoDexEntry:
+MissingNoDexEntry: ; 40fe5 (10:4fe5)
 	db "???@"
 	db 10 ; 1.0 m
 	db 100 ; 10.0 kg
 	db 0,"コメント さくせいちゅう@" ; コメント作成中 (Comment to be written)
 
-PokedexToIndex: ; 4FF9
+PokedexToIndex: ; 40ff9 (10:4ff9)
 	; converts the Pokédex number at $D11E to an index
 	push bc
 	push hl
@@ -66597,7 +67231,7 @@
 	pop bc
 	ret
 
-IndexToPokedex: ; 5010
+IndexToPokedex: ; 41010 (10:5010)
 	; converts the indexédex number at $D11E to a Pokédex number
 	push bc
 	push hl
@@ -66613,7 +67247,7 @@
 	pop bc
 	ret
 
-PokedexOrder: ; 5024
+PokedexOrder: ; 41024 (10:5024)
 	db DEX_RHYDON
 	db DEX_KANGASKHAN
 	db DEX_NIDORAN_M
@@ -66811,7 +67445,7 @@
 	ld [$cd5e], a
 	ld a, [$cd3e]
 	ld [$cd5f], a
-	ld de, $5138
+	ld de, Unknown_41138 ; $5138
 	jr .asm_41102
 
 INCBIN "baserom.gbc",$410f3,$41102 - $410f3
@@ -66827,6 +67461,7 @@
 	ld [$FF00+$af], a
 	ld [$FF00+$ae], a
 	push de
+.asm_41115
 	pop de
 	ld a, [de]
 	cp $ff
@@ -66833,7 +67468,7 @@
 	jr z, .asm_4112d
 	inc de
 	push de
-	ld hl, $515f
+	ld hl, Unknown_4115f ; $515f
 	add a
 	ld c, a
 	ld b, $0
@@ -66841,7 +67476,7 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld de, $5115
+	ld de, .asm_41115 ; $5115
 	push de
 	jp [hl]
 .asm_4112d
@@ -66853,8 +67488,12 @@
 	ld [W_OPTIONS], a ; $d355
 	ret
 
-INCBIN "baserom.gbc",$41138,$41181 - $41138
+Unknown_41138: ; 41138 (10:5138)
+INCBIN "baserom.gbc",$41138,$4115f - $41138
 
+Unknown_4115f: ; 4115f (10:515f)
+INCBIN "baserom.gbc",$4115f,$41181 - $4115f
+
 ; known jump sources: 41367 (10:5367)
 Func_41181: ; 41181 (10:5181)
 	ld c, $64
@@ -66876,21 +67515,21 @@
 
 ; known jump sources: 411a1 (10:51a1), 41298 (10:5298), 4142d (10:542d), 4145c (10:545c), 4149f (10:549f), 415f1 (10:55f1)
 Func_41196: ; 41196 (10:5196)
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $168
 	ld a, $7f
 	jp FillMemory
 	call Func_41196
 	call DisableLCD
-	ld hl, $69be
+	ld hl, TradingAnimationGraphics ; $69be
 	ld de, $9310
 	ld bc, $310
-	ld a, $e
+	ld a, BANK(TradingAnimationGraphics)
 	call FarCopyData2
-	ld hl, $6cce
+	ld hl, TradingAnimationGraphics2 ; $6cce
 	ld de, $87c0
 	ld bc, $40
-	ld a, $e
+	ld a, BANK(TradingAnimationGraphics2)
 	call FarCopyData2
 	ld hl, $9800
 	ld bc, $800
@@ -66945,13 +67584,14 @@
 	ld [$FF00+$ae], a
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c3a4
+	FuncCoord 4, 0 ; $c3a4
+	ld hl, Coord
 	ld b, $6
 	ld c, $a
 	call TextBoxBorder
 	call Func_42769
 	ld b, $98
-	call Func_18d6
+	call CopyScreenTileBufferToVRAM
 	call ClearScreen
 	ld a, [W_WHICHTRADE] ; $cd3d
 	call Func_415a4
@@ -66978,7 +67618,7 @@
 	ret
 	call Func_41196
 	ld b, $98
-	call Func_18d6
+	call CopyScreenTileBufferToVRAM
 	ld b, $8
 	call GoPAL_SET
 	ld hl, $9c8c
@@ -66988,7 +67628,8 @@
 	call DelayFrame
 	ld a, $8b
 	ld [rLCDC], a ; $FF00+$40
-	ld hl, $c3ce
+	FuncCoord 6, 2 ; $c3ce
+	ld hl, Coord
 	ld b, $7
 	call Func_41842
 	call Func_41186
@@ -67014,7 +67655,7 @@
 .asm_412e7
 	push bc
 	xor a
-	ld de, $532e
+	ld de, Unknown_4132e ; $532e
 	call WriteOAMBlock
 	ld a, [$d09f]
 	xor $1
@@ -67044,17 +67685,19 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	call ClearScreen
 	ld b, $98
-	call Func_18d6
+	call CopyScreenTileBufferToVRAM
 	call Delay3
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ret
 
+Unknown_4132e: ; 4132e (10:532e)
 INCBIN "baserom.gbc",$4132e,$41336 - $4132e
 	ld a, $ac
 	call Func_41676
 	call Func_415c8
-	ld hl, $c46c
+	FuncCoord 4, 10 ; $c46c
+	ld hl, Coord
 	ld b, $6
 	ld c, $a
 	call TextBoxBorder
@@ -67071,7 +67714,8 @@
 	ld a, [$cd3e]
 	call PlayCry
 	call Func_41181
-	ld hl, $c46c
+	FuncCoord 4, 10 ; $c46c
+	ld hl, Coord
 	ld bc, $80c
 	call ClearScreenArea
 	jp Func_4164c
@@ -67156,7 +67800,8 @@
 ; known jump sources: 41395 (10:5395), 41403 (10:5403)
 Func_4142d: ; 4142d (10:542d)
 	call Func_41196
-	ld hl, $c3fb
+	FuncCoord 11, 4 ; $c3fb
+	ld hl, Coord
 	ld a, $5d
 	ld [hli], a
 	ld a, $5e
@@ -67165,14 +67810,17 @@
 	ld [hli], a
 	dec c
 	jr nz, .asm_4143a
-	ld hl, $c3e1
+	FuncCoord 5, 3 ; $c3e1
+	ld hl, Coord
 	ld b, $6
 	call Func_41842
-	ld hl, $c494
+	FuncCoord 4, 12 ; $c494
+	ld hl, Coord
 	ld b, $2
 	ld c, $7
 	call TextBoxBorder
-	ld hl, $c4bd
+	FuncCoord 5, 14 ; $c4bd
+	ld hl, Coord
 	ld de, W_PLAYERNAME ; $d158
 	call PlaceString
 	jp DelayFrame
@@ -67180,7 +67828,8 @@
 ; known jump sources: 413b5 (10:53b5), 413e0 (10:53e0)
 Func_4145c: ; 4145c (10:545c)
 	call Func_41196
-	ld hl, $c3f0
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	ld a, $5e
 	ld c, $e
 .asm_41466
@@ -67204,14 +67853,17 @@
 	ld [hld], a
 	ld a, $5d
 	ld [hl], a
-	ld hl, $c447
+	FuncCoord 7, 8 ; $c447
+	ld hl, Coord
 	ld b, $6
 	call Func_41842
-	ld hl, $c3a6
+	FuncCoord 6, 0 ; $c3a6
+	ld hl, Coord
 	ld b, $2
 	ld c, $7
 	call TextBoxBorder
-	ld hl, $c3cf
+	FuncCoord 7, 2 ; $c3cf
+	ld hl, Coord
 	ld de, W_GRASSRATE ; $d887
 	call PlaceString
 	jp DelayFrame
@@ -67219,7 +67871,8 @@
 ; known jump sources: 4139b (10:539b), 413ad (10:53ad), 413e6 (10:53e6), 413fb (10:53fb)
 Func_4149f: ; 4149f (10:549f)
 	call Func_41196
-	ld hl, $c3f0
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	ld a, $5e
 	ld c, $14
 .asm_414a9
@@ -67231,7 +67884,8 @@
 ; known jump sources: 412a8 (10:52a8), 413a1 (10:53a1), 413ec (10:53ec)
 Func_414ae: ; 414ae (10:54ae)
 	push hl
-	ld hl, $c3f0
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	call ScheduleRowRedrawHelper
 	pop hl
 	ld a, h
@@ -67300,7 +67954,7 @@
 
 ; known jump sources: 41549 (10:5549)
 Func_41510: ; 41510 (10:5510)
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld c, $14
 .asm_41515
 	ld a, [W_BASECOORDY] ; $d082
@@ -67345,7 +67999,7 @@
 
 ; known jump sources: 4150d (10:550d)
 Func_41558: ; 41558 (10:5558)
-	ld hl, $5574
+	ld hl, Unknown_41574 ; $5574
 	ld c, $4
 	xor a
 .asm_4155e
@@ -67369,6 +68023,7 @@
 	jr nz, .asm_4155e
 	ret
 
+Unknown_41574: ; 41574 (10:5574)
 INCBIN "baserom.gbc",$41574,$415a4 - $41574
 
 ; known jump sources: 4126e (10:526e), 41355 (10:5355)
@@ -67383,8 +68038,9 @@
 	xor $1
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	call GetMonHeader
-	ld hl, $c3cf
-	call Func_1384
+	FuncCoord 7, 2 ; $c3cf
+	ld hl, Coord
+	call LoadFlippedFrontSpriteByMonIndex
 	ld c, $a
 	jp DelayFrames
 
@@ -67421,48 +68077,48 @@
 	ld a, $7
 	ld [rWX], a ; $FF00+$4b
 	ret
-	ld hl, $560c
+	ld hl, UnnamedText_4160c ; $560c
 	call PrintText
 	ld c, $c8
 	call DelayFrames
 	jp Func_415df
 ; 4160c (10:560c)
-UnnamedText_4160c: ; 0x4160c
+UnnamedText_4160c: ; 4160c (10:560c)
 	TX_FAR _UnnamedText_4160c
 	db $50
 ; 0x4160c + 5 bytes
 
-	ld hl, $5623
+	ld hl, UnnamedText_41623 ; $5623
 	call PrintText
 	call Func_41191
-	ld hl, $5628
+	ld hl, UnnamedText_41628 ; $5628
 	call PrintText
 	jp Func_41191
 ; 41623 (10:5623)
-UnnamedText_41623: ; 0x41623
+UnnamedText_41623: ; 41623 (10:5623)
 	TX_FAR _UnnamedText_41623
 	db $50
 ; 0x41623 + 5 bytes
 
-UnnamedText_41628: ; 0x41628
+UnnamedText_41628: ; 41628 (10:5628)
 	TX_FAR _UnnamedText_41628
 	db $50
 ; 0x41628 + 5 bytes
 
-	ld hl, $5642
+	ld hl, UnnamedText_41642 ; $5642
 	call PrintText
 	call Func_41191
-	ld hl, $5647
+	ld hl, UnnamedText_41647 ; $5647
 	call PrintText
 	call Func_41191
 	jp Func_415df
 ; 41642 (10:5642)
-UnnamedText_41642: ; 0x41642
+UnnamedText_41642: ; 41642 (10:5642)
 	TX_FAR _UnnamedText_41642
 	db $50
 ; 0x41642 + 5 bytes
 
-UnnamedText_41647: ; 0x41647
+UnnamedText_41647: ; 41647 (10:5647)
 	TX_FAR _UnnamedText_41647
 	db $50
 ; 0x41647 + 5 bytes
@@ -67469,11 +68125,11 @@
 
 ; known jump sources: 41373 (10:5373)
 Func_4164c: ; 4164c (10:564c)
-	ld hl, $5655
+	ld hl, UnnamedText_41655 ; $5655
 	call PrintText
 	jp Func_41191
 ; 41655 (10:5655)
-UnnamedText_41655: ; 0x41655
+UnnamedText_41655: ; 41655 (10:5655)
 	TX_FAR _UnnamedText_41655
 	db $50
 ; 0x41655 + 5 bytes
@@ -67480,12 +68136,12 @@
 
 INCBIN "baserom.gbc",$4165a,$4166c - $4165a
 
-UnnamedText_4166c: ; 0x4166c
+UnnamedText_4166c: ; 4166c (10:566c)
 	TX_FAR _UnnamedText_4166c
 	db $50
 ; 0x4166c + 5 bytes
 
-UnnamedText_41671: ; 0x41671
+UnnamedText_41671: ; 41671 (10:5671)
 	TX_FAR _UnnamedText_41671
 	db $50
 ; 0x41671 + 5 bytes
@@ -67501,7 +68157,7 @@
 ; known jump sources: 1fee (0:1fee)
 Func_41682: ; 41682 (10:5682)
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	inc a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	call Func_4188a
@@ -67539,11 +68195,11 @@
 	call PlaySound
 	xor a
 	ld [$d09f], a
-	ld de, $5910
+	ld de, Unknown_41910 ; $5910
 	call Func_41793
 	ld a, $ba
 	call PlaySound
-	ld de, $591b
+	ld de, Unknown_4191b ; $591b
 	call Func_41793
 	ld c, $a
 	call CheckForUserInterruption
@@ -67550,11 +68206,11 @@
 	ret c
 	ld a, $b9
 	call PlaySound
-	ld de, $5910
+	ld de, Unknown_41910 ; $5910
 	call Func_41793
 	ld a, $ba
 	call PlaySound
-	ld de, $591b
+	ld de, Unknown_4191b ; $591b
 	call Func_41793
 	ld c, $1e
 	call CheckForUserInterruption
@@ -67578,7 +68234,7 @@
 	call PlaySound
 	ld a, $24
 	ld [$d09f], a
-	ld de, $5926
+	ld de, Unknown_41926 ; $5926
 	call Func_41793
 	ld c, $1e
 	call CheckForUserInterruption
@@ -67594,11 +68250,11 @@
 	call PlaySound
 	xor a
 	ld [$d09f], a
-	ld de, $5931
+	ld de, Unknown_41931 ; $5931
 	call Func_41793
 	ld a, $ba
 	call PlaySound
-	ld de, $593c
+	ld de, Unknown_4193c ; $593c
 	call Func_41793
 	ld c, $14
 	call CheckForUserInterruption
@@ -67605,7 +68261,7 @@
 	ret c
 	ld a, $24
 	ld [$d09f], a
-	ld de, $5947
+	ld de, Unknown_41947 ; $5947
 	call Func_41793
 	ld c, $1e
 	call CheckForUserInterruption
@@ -67614,7 +68270,7 @@
 	call PlaySound
 	ld a, $48
 	ld [$d09f], a
-	ld de, $5950
+	ld de, Unknown_41950 ; $5950
 	jp Func_41793
 
 ; known jump sources: 416d5 (10:56d5), 416e0 (10:56e0), 416f1 (10:56f1), 416fc (10:56fc), 41738 (10:5738), 4175e (10:575e), 41769 (10:5769), 4177a (10:577a), 41790 (10:5790), 417ac (10:57ac)
@@ -67637,7 +68293,7 @@
 
 ; known jump sources: 417a2 (10:57a2), 41829 (10:5829)
 Func_417ae: ; 417ae (10:57ae)
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld a, [$d09f]
 	ld d, a
 .asm_417b5
@@ -67657,7 +68313,7 @@
 
 ; known jump sources: 416bf (10:56bf)
 Func_417c7: ; 417c7 (10:57c7)
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld d, $0
 .asm_417cc
 	push bc
@@ -67693,7 +68349,8 @@
 
 ; known jump sources: 418e0 (10:58e0)
 Func_417f8: ; 417f8 (10:57f8)
-	ld hl, $c3f0
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	ld bc, $c8
 asm_417fe: ; 417fe (10:57fe)
 	ld [hl], $0
@@ -67750,7 +68407,8 @@
 
 ; known jump sources: 416af (10:56af), 41707 (10:5707), 4171d (10:571d), 41749 (10:5749)
 Func_4183f: ; 4183f (10:583f)
-	ld hl, $c439
+	FuncCoord 13, 7 ; $c439
+	ld hl, Coord
 
 ; known jump sources: 412bb (10:52bb), 41443 (10:5443), 41486 (10:5486)
 Func_41842: ; 41842 (10:5842)
@@ -67762,25 +68420,25 @@
 
 ; known jump sources: 418ad (10:58ad)
 Func_41852: ; 41852 (10:5852)
-	ld hl, $5a99
+	ld hl, Unknown_41a99 ; $5a99
 	ld de, $9000
 	ld bc, $600
-	ld a, $10
+	ld a, BANK(Unknown_41a99)
 	call FarCopyData2
-	ld hl, $5959
+	ld hl, Unknown_41959 ; $5959
 	ld de, $9600
 	ld bc, $140
-	ld a, $10
+	ld a, BANK(Unknown_41959)
 	call FarCopyData2
-	ld hl, $5959
+	ld hl, Unknown_41959 ; $5959
 	ld de, $8800
 	ld bc, $140
-	ld a, $10
+	ld a, BANK(Unknown_41959)
 	call FarCopyData2
-	ld hl, $6099
+	ld hl, Unknown_42099 ; $6099
 	ld de, $8000
 	ld bc, $6c0
-	ld a, $10
+	ld a, BANK(Unknown_42099)
 	jp FarCopyData2
 
 ; known jump sources: 41688 (10:5688)
@@ -67828,10 +68486,11 @@
 ; known jump sources: 418aa (10:58aa)
 Func_418e9: ; 418e9 (10:58e9)
 	call Func_417f0
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld c, $50
 	call Func_41807
-	ld hl, $c4b8
+	FuncCoord 0, 14 ; $c4b8
+	ld hl, Coord
 	ld c, $50
 	call Func_41807
 	ld hl, $9c00
@@ -67841,8 +68500,38 @@
 	ld c, $80
 	jp Func_41807
 
-INCBIN "baserom.gbc",$4190c,$420d9 - $4190c
+INCBIN "baserom.gbc",$4190c,$41910 - $4190c
 
+Unknown_41910: ; 41910 (10:5910)
+INCBIN "baserom.gbc",$41910,$4191b - $41910
+
+Unknown_4191b: ; 4191b (10:591b)
+INCBIN "baserom.gbc",$4191b,$41926 - $4191b
+
+Unknown_41926: ; 41926 (10:5926)
+INCBIN "baserom.gbc",$41926,$41931 - $41926
+
+Unknown_41931: ; 41931 (10:5931)
+INCBIN "baserom.gbc",$41931,$4193c - $41931
+
+Unknown_4193c: ; 4193c (10:593c)
+INCBIN "baserom.gbc",$4193c,$41947 - $4193c
+
+Unknown_41947: ; 41947 (10:5947)
+INCBIN "baserom.gbc",$41947,$41950 - $41947
+
+Unknown_41950: ; 41950 (10:5950)
+INCBIN "baserom.gbc",$41950,$41959 - $41950
+
+Unknown_41959: ; 41959 (10:5959)
+INCBIN "baserom.gbc",$41959,$41a99 - $41959
+
+Unknown_41a99: ; 41a99 (10:5a99)
+INCBIN "baserom.gbc",$41a99,$42099 - $41a99
+
+Unknown_42099: ; 42099 (10:6099)
+INCBIN "baserom.gbc",$42099,$420d9 - $42099
+
 IF _RED
 	INCBIN "gfx/red/introfight.2bpp"
 ENDC
@@ -67851,7 +68540,7 @@
 ENDC
 
 ; XXX what do these do
-Func_42769:
+Func_42769: ; 42769 (10:6769)
 	FuncCoord 5,0
 	ld hl,Coord
 	ld de,OTString67E5
@@ -67860,7 +68549,8 @@
 	ld [$D11E],a
 	ld a,$3A
 	call Predef
-	ld hl,$C3A9
+	FuncCoord 9, 0 ; $c3a9
+	ld hl,Coord
 	ld de,$D11E
 	ld bc,$8103
 	call PrintNumber
@@ -67872,12 +68562,13 @@
 	ld hl,Coord
 	ld de,$CD41
 	call PlaceString
-	ld hl,$C420
+	FuncCoord 8, 6 ; $c420
+	ld hl,Coord
 	ld de,$CD4C
 	ld bc,$8205
 	jp PrintNumber
 
-Func_427a7:
+Func_427a7: ; 427a7 (10:67a7)
 	FuncCoord 5,10
 	ld hl,Coord
 	ld de,OTString67E5
@@ -67886,7 +68577,8 @@
 	ld [$D11E],a
 	ld a,$3A
 	call Predef
-	ld hl,$C471
+	FuncCoord 9, 10 ; $c471
+	ld hl,Coord
 	ld de,$D11E
 	ld bc,$8103
 	call PrintNumber
@@ -67898,12 +68590,13 @@
 	ld hl,Coord
 	ld de,$CD4E
 	call PlaceString
-	ld hl,$C4E8
+	FuncCoord 8, 16 ; $c4e8
+	ld hl,Coord
 	ld de,$CD59
 	ld bc,$8205
 	jp PrintNumber
 
-OTString67E5: ; 67E5
+OTString67E5: ; 427e5 (10:67e5)
 	db "──",$74,$F2,$4E
 	db $4E
 	db "OT/",$4E
@@ -67976,27 +68669,27 @@
 	EVENT_DISP $a, $d, $3 ; LAVENDER_HOUSE_2
 	EVENT_DISP $a, $d, $7 ; NAME_RATERS_HOUSE
 
-LavenderTownBlocks: ; 0x44085 90
+LavenderTownBlocks: ; 44085 (11:4085)
 	INCBIN "maps/lavendertown.blk"
 
-ViridianPokecenterBlocks: ; 0x440df 28
+ViridianPokecenterBlocks: ; 440df (11:40df)
 	INCBIN "maps/viridianpokecenter.blk"
 
-SafariZoneRestHouse1Blocks: ; 0x440fb 16
+SafariZoneRestHouse1Blocks: ; 440fb (11:40fb)
 	INCBIN "maps/safarizoneresthouse1.blk"
 
-LavenderTownScript: ; 0x4410b
+LavenderTownScript: ; 4410b (11:410b)
 	jp EnableAutoTextBoxDrawing
 ; 0x4410e
 
-LavenderTownTexts: ; 0x4410e
+LavenderTownTexts: ; 4410e (11:410e)
 	dw LavenderTownText1, LavenderTownText2, LavenderTownText3, LavenderTownText4, LavenderTownText5, MartSignText, PokeCenterSignText, LavenderTownText8, LavenderTownText9
 
-LavenderTownText1: ; 0x44120
+LavenderTownText1: ; 44120 (11:4120)
 	db $08 ; asm
 	ld hl, UnnamedText_4413c
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	ld hl, UnnamedText_44146
@@ -68006,46 +68699,46 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_4413c: ; 0x4413c
+UnnamedText_4413c: ; 4413c (11:413c)
 	TX_FAR _UnnamedText_4413c
 	db $50
 ; 0x4413c + 5 bytes
 
-UnnamedText_44141: ; 0x44141
+UnnamedText_44141: ; 44141 (11:4141)
 	TX_FAR _UnnamedText_44141
 	db $50
 ; 0x44141 + 5 bytes
 
-UnnamedText_44146: ; 0x44146
+UnnamedText_44146: ; 44146 (11:4146)
 	TX_FAR _UnnamedText_44146
 	db $50
 ; 0x44146 + 5 bytes
 
-LavenderTownText2: ; 0x4414b
+LavenderTownText2: ; 4414b (11:414b)
 	TX_FAR _LavenderTownText2
 	db $50
 
-LavenderTownText3: ; 0x44150
+LavenderTownText3: ; 44150 (11:4150)
 	TX_FAR _LavenderTownText3
 	db $50
 
-LavenderTownText4: ; 0x44155
+LavenderTownText4: ; 44155 (11:4155)
 	TX_FAR _LavenderTownText4
 	db $50
 
-LavenderTownText5: ; 0x4415a
+LavenderTownText5: ; 4415a (11:415a)
 	TX_FAR _LavenderTownText5
 	db $50
 
-LavenderTownText8: ; 0x4415f
+LavenderTownText8: ; 4415f (11:415f)
 	TX_FAR _LavenderTownText8
 	db $50
 
-LavenderTownText9: ; 0x44164
+LavenderTownText9: ; 44164 (11:4164)
 	TX_FAR _LavenderTownText9
 	db $50
 
-DisplayDexRating: ; 0x44169
+DisplayDexRating: ; 44169 (11:4169)
 	ld hl, W_SEENPOKEMON
 	ld b, $13
 	call CountSetBits
@@ -68083,7 +68776,7 @@
 	ld b, BANK(Func_7d13b)
 	ld hl, Func_7d13b
 	call Bankswitch
-	jp Func_3865 ; wait for button press
+	jp WaitForTextScrollButtonPress ; wait for button press
 .label3
 	ld de, $CC5B
 	ld a, [$FFDB]
@@ -68103,12 +68796,12 @@
 	ld [de], a
 	ret
 
-UnnamedText_441cc: ; 0x441cc
+UnnamedText_441cc: ; 441cc (11:41cc)
 	TX_FAR _UnnamedText_441cc
 	db $50
 ; 0x441cc + 5 bytes
 
-DexRatingsTable:
+DexRatingsTable: ; 441d1 (11:41d1)
 	db 10
 	dw UnnamedText_44201
 	db 20
@@ -68142,82 +68835,82 @@
 	db 152
 	dw UnnamedText_4424c
 
-UnnamedText_44201: ; 0x44201
+UnnamedText_44201: ; 44201 (11:4201)
 	TX_FAR _UnnamedText_44201
 	db $50
 ; 0x44201 + 5 bytes
 
-UnnamedText_44206: ; 0x44206
+UnnamedText_44206: ; 44206 (11:4206)
 	TX_FAR _UnnamedText_44206
 	db $50
 ; 0x44206 + 5 bytes
 
-UnnamedText_4420b: ; 0x4420b
+UnnamedText_4420b: ; 4420b (11:420b)
 	TX_FAR _UnnamedText_4420b
 	db $50
 ; 0x4420b + 5 bytes
 
-UnnamedText_44210: ; 0x44210
+UnnamedText_44210: ; 44210 (11:4210)
 	TX_FAR _UnnamedText_44210
 	db $50
 ; 0x44210 + 5 bytes
 
-UnnamedText_44215: ; 0x44215
+UnnamedText_44215: ; 44215 (11:4215)
 	TX_FAR _UnnamedText_44215
 	db $50
 ; 0x44215 + 5 bytes
 
-UnnamedText_4421a: ; 0x4421a
+UnnamedText_4421a: ; 4421a (11:421a)
 	TX_FAR _UnnamedText_4421a
 	db $50
 ; 0x4421a + 5 bytes
 
-UnnamedText_4421f: ; 0x4421f
+UnnamedText_4421f: ; 4421f (11:421f)
 	TX_FAR _UnnamedText_4421f
 	db $50
 ; 0x4421f + 5 bytes
 
-UnnamedText_44224: ; 0x44224
+UnnamedText_44224: ; 44224 (11:4224)
 	TX_FAR _UnnamedText_44224
 	db $50
 ; 0x44224 + 5 bytes
 
-UnnamedText_44229: ; 0x44229
+UnnamedText_44229: ; 44229 (11:4229)
 	TX_FAR _UnnamedText_44229
 	db $50
 ; 0x44229 + 5 bytes
 
-UnnamedText_4422e: ; 0x4422e
+UnnamedText_4422e: ; 4422e (11:422e)
 	TX_FAR _UnnamedText_4422e
 	db $50
 ; 0x4422e + 5 bytes
 
-UnnamedText_44233: ; 0x44233
+UnnamedText_44233: ; 44233 (11:4233)
 	TX_FAR _UnnamedText_44233
 	db $50
 ; 0x44233 + 5 bytes
 
-UnnamedText_44238: ; 0x44238
+UnnamedText_44238: ; 44238 (11:4238)
 	TX_FAR _UnnamedText_44238
 	db $50
 ; 0x44238 + 5 bytes
 
-UnnamedText_4423d: ; 0x4423d
+UnnamedText_4423d: ; 4423d (11:423d)
 	TX_FAR _UnnamedText_4423d
 	db $50
 ; 0x4423d + 5 bytes
 
-UnnamedText_44242: ; 0x44242
+UnnamedText_44242: ; 44242 (11:4242)
 	TX_FAR _UnnamedText_44242
 	db $50
 ; 0x44242 + 5 bytes
 
-UnnamedText_44247: ; 0x44247
+UnnamedText_44247: ; 44247 (11:4247)
 	TX_FAR _UnnamedText_44247
 	db $50
 ; 0x44247 + 5 bytes
 
-UnnamedText_4424c: ; 0x4424c
+UnnamedText_4424c: ; 4424c (11:424c)
 	TX_FAR _UnnamedText_4424c
 	db $50
 ; 0x4424c + 5 bytes
@@ -68230,28 +68923,27 @@
 
 	dw ViridianPokecenterObject ; objects
 
-ViridianPokeCenterScript: ; 0x4425d
+ViridianPokeCenterScript: ; 4425d (11:425d)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x44263
 
-ViridianPokecenterTexts: ; 0x44263
+ViridianPokecenterTexts: ; 44263 (11:4263)
 	dw ViridianPokeCenterText1, ViridianPokeCenterText2, ViridianPokeCenterText3, ViridianPokeCenterText4
 
-ViridianPokeCenterText1: ; 0x4426b
+ViridianPokeCenterText1: ; 4426b (11:426b)
 	db $ff
 
-ViridianPokeCenterText2: ; 0x4426c
+ViridianPokeCenterText2: ; 4426c (11:426c)
 	TX_FAR _ViridianPokeCenterText1
 	db $50
 
-INCBIN "baserom.gbc",$44271,$44271 - $44271
 
-ViridianPokeCenterText3: ; 0x44271
+ViridianPokeCenterText3: ; 44271 (11:4271)
 	TX_FAR _ViridianPokeCenterText3
 	db $50
 
-ViridianPokeCenterText4:
+ViridianPokeCenterText4: ; 44276 (11:4276)
 	db $f6
 
 ViridianPokecenterObject: ; 0x44277 (size=44)
@@ -68281,18 +68973,18 @@
 
 	dw Mansion1Object ; objects
 
-Mansion1Script:
+Mansion1Script: ; 442af (11:42af)
 	call Mansion1Subscript1
 	call EnableAutoTextBoxDrawing
 	ld hl, Mansion1TrainerHeaders
-	ld de, $4326
-	ld a, [$d63a]
-	call Func_3160
-	ld [$d63a], a
+	ld de, Unknown_44326 ; $4326
+	ld a, [W_MANSION1CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_MANSION1CURSCRIPT], a
 	ret
 ; 0x442c5
 
-Mansion1Subscript1: ; 0x442c5
+Mansion1Subscript1: ; 442c5 (11:42c5)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -68334,13 +69026,16 @@
 	call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 	ret
 
-INCBIN "baserom.gbc",$44316,$4432c - $44316
+INCBIN "baserom.gbc",$44316,$44326 - $44316
 
-Mansion1Texts: ; 0x4432c
+Unknown_44326: ; 44326 (11:4326)
+INCBIN "baserom.gbc",$44326,$4432c - $44326
+
+Mansion1Texts: ; 4432c (11:432c)
 	dw Mansion1Text1, Predef5CText, Predef5CText, Mansion1Text4
 
-Mansion1TrainerHeaders:
-Mansion1TrainerHeader0: ; 0x44334
+Mansion1TrainerHeaders: ; 44334 (11:4334)
+Mansion1TrainerHeader0: ; 44334 (11:4334)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d798 ; flag's byte
@@ -68352,32 +69047,32 @@
 
 db $ff
 
-Mansion1Text1: ; 0x44341
+Mansion1Text1: ; 44341 (11:4341)
 	db $08 ; asm
 	ld hl, Mansion1TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Mansion1BattleText2: ; 0x4434b
+Mansion1BattleText2: ; 4434b (11:434b)
 	TX_FAR _Mansion1BattleText2
 	db $50
 ; 0x4434b + 5 bytes
 
-Mansion1EndBattleText2: ; 0x44350
+Mansion1EndBattleText2: ; 44350 (11:4350)
 	TX_FAR _Mansion1EndBattleText2
 	db $50
 ; 0x44350 + 5 bytes
 
-Mansion1AfterBattleText2: ; 0x44355
+Mansion1AfterBattleText2: ; 44355 (11:4355)
 	TX_FAR _Mansion1AfterBattleText2
 	db $50
 ; 0x44355 + 5 bytes
 
-Mansion1Text4: ; 0x4435a
+Mansion1Text4: ; 4435a (11:435a)
 	db $8
 	ld hl, UnnamedText_44395
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_4438c ; 0x44368 $22
@@ -68402,17 +69097,17 @@
 	jp TextScriptEnd
 ; 0x44395
 
-UnnamedText_44395: ; 0x44395
+UnnamedText_44395: ; 44395 (11:4395)
 	TX_FAR _UnnamedText_44395
 	db $50
 ; 0x44395 + 5 bytes
 
-UnnamedText_4439a: ; 0x4439a
+UnnamedText_4439a: ; 4439a (11:439a)
 	TX_FAR _UnnamedText_4439a
 	db $50
 ; 0x4439a + 5 bytes
 
-UnnamedText_4439f: ; 0x4439f
+UnnamedText_4439f: ; 4439f (11:439f)
 	TX_FAR _UnnamedText_4439f
 	db $50
 ; 0x4439f + 5 bytes
@@ -68447,7 +69142,7 @@
 	EVENT_DISP $f, $1b, $1a
 	EVENT_DISP $f, $1b, $1b
 
-Mansion1Blocks: ; 0x44405 203
+Mansion1Blocks: ; 443fe (11:43fe)
 	INCBIN "maps/mansion1.blk"
 
 RockTunnel1_h: ; 0x444d0 to 0x444dc (12 bytes) (bank=11) (id=82)
@@ -68458,168 +69153,186 @@
 
 	dw RockTunnel1Object ; objects
 
-RockTunnel1Script: ; 0x444dc
+RockTunnel1Script: ; 444dc (11:44dc)
 	call EnableAutoTextBoxDrawing
 	ld hl, Unnamed_44505 ; $4505
 	ld de, Unnamed_444ef ; $44ef
-	ld a, [$d621]
-	call Func_3160
-	ld [$d621], a
+	ld a, [W_ROCKTUNNEL1CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROCKTUNNEL1CURSCRIPT], a
 	ret
 ; 0x444ef
 
-Unnamed_444ef:
-INCBIN "baserom.gbc",$444ef,$6
+Unnamed_444ef: ; 444ef (11:44ef)
+INCBIN "baserom.gbc",$444ef,$444f5 - $444ef
 
-RockTunnel1Texts: ; 0x444f5
+RockTunnel1Texts: ; 444f5 (11:44f5)
 	dw RockTunnel1Text1, RockTunnel1Text2, RockTunnel1Text3, RockTunnel1Text4, RockTunnel1Text5, RockTunnel1Text6, RockTunnel1Text7, RockTunnel1Text8
 
-Unnamed_44505:
-INCBIN "baserom.gbc",$44505,$55
+Unnamed_44505: ; 44505 (11:4505)
+INCBIN "baserom.gbc",$44505,$44511 - $44505
 
-RockTunnel1Text1: ; 0x4455a
+Unknown_44511: ; 44511 (11:4511)
+INCBIN "baserom.gbc",$44511,$4451d - $44511
+
+Unknown_4451d: ; 4451d (11:451d)
+INCBIN "baserom.gbc",$4451d,$44529 - $4451d
+
+Unknown_44529: ; 44529 (11:4529)
+INCBIN "baserom.gbc",$44529,$44535 - $44529
+
+Unknown_44535: ; 44535 (11:4535)
+INCBIN "baserom.gbc",$44535,$44541 - $44535
+
+Unknown_44541: ; 44541 (11:4541)
+INCBIN "baserom.gbc",$44541,$4454d - $44541
+
+Unknown_4454d: ; 4454d (11:454d)
+INCBIN "baserom.gbc",$4454d,$4455a - $4454d
+
+RockTunnel1Text1: ; 4455a (11:455a)
 	db $8
-	ld hl, $4505
+	ld hl, Unnamed_44505 ; $4505
 	jr asm_0c916 ; 0x4455e $22
 
-RockTunnel1Text2:
+RockTunnel1Text2: ; 44560 (11:4560)
 	db $8
-	ld hl, $4511
+	ld hl, Unknown_44511 ; $4511
 	jr asm_0c916 ; 0x44564 $1c
 
-RockTunnel1Text3:
+RockTunnel1Text3: ; 44566 (11:4566)
 	db $8
-	ld hl, $451d
+	ld hl, Unknown_4451d ; $451d
 	jr asm_0c916 ; 0x4456a $16
 
-RockTunnel1Text4:
+RockTunnel1Text4: ; 4456c (11:456c)
 	db $8
-	ld hl, $4529
+	ld hl, Unknown_44529 ; $4529
 	jr asm_0c916 ; 0x44570 $10
 
-RockTunnel1Text5:
+RockTunnel1Text5: ; 44572 (11:4572)
 	db $8
-	ld hl, $4535
+	ld hl, Unknown_44535 ; $4535
 	jr asm_0c916 ; 0x44576 $a
 
-RockTunnel1Text6:
+RockTunnel1Text6: ; 44578 (11:4578)
 	db $8
-	ld hl, $4541
+	ld hl, Unknown_44541 ; $4541
 	jr asm_0c916 ; 0x4457c $4
 
-RockTunnel1Text7:
+RockTunnel1Text7: ; 4457e (11:457e)
 	db $8
-	ld hl, $454d
-asm_0c916: ; 0x44582
-	call LoadTrainerHeader
+	ld hl, Unknown_4454d ; $454d
+asm_0c916: ; 44582 (11:4582)
+	call TalkToTrainer
 	jp TextScriptEnd
 
-UnnamedText_44588: ; 0x44588
+UnnamedText_44588: ; 44588 (11:4588)
 	TX_FAR _UnnamedText_44588
 	db $50
 ; 0x44588 + 5 bytes
 
-UnnamedText_4458d: ; 0x4458d
+UnnamedText_4458d: ; 4458d (11:458d)
 	TX_FAR _UnnamedText_4458d
 	db $50
 ; 0x4458d + 5 bytes
 
-UnnamedText_44592: ; 0x44592
+UnnamedText_44592: ; 44592 (11:4592)
 	TX_FAR _UnnamedText_44592
 	db $50
 ; 0x44592 + 5 bytes
 
-UnnamedText_44597: ; 0x44597
+UnnamedText_44597: ; 44597 (11:4597)
 	TX_FAR _UnnamedText_44597
 	db $50
 ; 0x44597 + 5 bytes
 
-UnnamedText_4459c: ; 0x4459c
+UnnamedText_4459c: ; 4459c (11:459c)
 	TX_FAR _UnnamedText_4459c
 	db $50
 ; 0x4459c + 5 bytes
 
-UnnamedText_445a1: ; 0x445a1
+UnnamedText_445a1: ; 445a1 (11:45a1)
 	TX_FAR _UnnamedText_445a1
 	db $50
 ; 0x445a1 + 5 bytes
 
-UnnamedText_445a6: ; 0x445a6
+UnnamedText_445a6: ; 445a6 (11:45a6)
 	TX_FAR _UnnamedText_445a6
 	db $50
 ; 0x445a6 + 5 bytes
 
-UnnamedText_445ab: ; 0x445ab
+UnnamedText_445ab: ; 445ab (11:45ab)
 	TX_FAR _UnnamedText_445ab
 	db $50
 ; 0x445ab + 5 bytes
 
-UnnamedText_445b0: ; 0x445b0
+UnnamedText_445b0: ; 445b0 (11:45b0)
 	TX_FAR _UnnamedText_445b0
 	db $50
 ; 0x445b0 + 5 bytes
 
-UnnamedText_445b5: ; 0x445b5
+UnnamedText_445b5: ; 445b5 (11:45b5)
 	TX_FAR _UnnamedText_445b5
 	db $50
 ; 0x445b5 + 5 bytes
 
-UnnamedText_445ba: ; 0x445ba
+UnnamedText_445ba: ; 445ba (11:45ba)
 	TX_FAR _UnnamedText_445ba
 	db $50
 ; 0x445ba + 5 bytes
 
-UnnamedText_445bf: ; 0x445bf
+UnnamedText_445bf: ; 445bf (11:45bf)
 	TX_FAR _UnnamedText_445bf
 	db $50
 ; 0x445bf + 5 bytes
 
-UnnamedText_445c4: ; 0x445c4
+UnnamedText_445c4: ; 445c4 (11:45c4)
 	TX_FAR _UnnamedText_445c4
 	db $50
 ; 0x445c4 + 5 bytes
 
-UnnamedText_445c9: ; 0x445c9
+UnnamedText_445c9: ; 445c9 (11:45c9)
 	TX_FAR _UnnamedText_445c9
 	db $50
 ; 0x445c9 + 5 bytes
 
-UnnamedText_445ce: ; 0x445ce
+UnnamedText_445ce: ; 445ce (11:45ce)
 	TX_FAR _UnnamedText_445ce
 	db $50
 ; 0x445ce + 5 bytes
 
-UnnamedText_445d3: ; 0x445d3
+UnnamedText_445d3: ; 445d3 (11:45d3)
 	TX_FAR _UnnamedText_445d3
 	db $50
 ; 0x445d3 + 5 bytes
 
-UnnamedText_445d8: ; 0x445d8
+UnnamedText_445d8: ; 445d8 (11:45d8)
 	TX_FAR _UnnamedText_445d8
 	db $50
 ; 0x445d8 + 5 bytes
 
-UnnamedText_445dd: ; 0x445dd
+UnnamedText_445dd: ; 445dd (11:45dd)
 	TX_FAR _UnnamedText_445dd
 	db $50
 ; 0x445dd + 5 bytes
 
-UnnamedText_445e2: ; 0x445e2
+UnnamedText_445e2: ; 445e2 (11:45e2)
 	TX_FAR _UnnamedText_445e2
 	db $50
 ; 0x445e2 + 5 bytes
 
-UnnamedText_445e7: ; 0x445e7
+UnnamedText_445e7: ; 445e7 (11:45e7)
 	TX_FAR _UnnamedText_445e7
 	db $50
 ; 0x445e7 + 5 bytes
 
-UnnamedText_445ec: ; 0x445ec
+UnnamedText_445ec: ; 445ec (11:45ec)
 	TX_FAR _UnnamedText_445ec
 	db $50
 ; 0x445ec + 5 bytes
 
-RockTunnel1Text8: ; 0x445f1
+RockTunnel1Text8: ; 445f1 (11:45f1)
 	TX_FAR _RockTunnel1Text8
 	db $50
 
@@ -68658,7 +69371,7 @@
 	EVENT_DISP $14, $b, $11 ; ROCK_TUNNEL_2
 	EVENT_DISP $14, $11, $25 ; ROCK_TUNNEL_2
 
-RockTunnel1Blocks: ; 0x44675 360
+RockTunnel1Blocks: ; 44675 (11:4675)
 	INCBIN "maps/rocktunnel1.blk"
 
 SeafoamIslands1_h: ; 0x447dd to 0x447e9 (12 bytes) (bank=11) (id=192)
@@ -68669,11 +69382,11 @@
 
 	dw SeafoamIslands1Object ; objects
 
-SeafoamIslands1Script: ; 0x447e9
+SeafoamIslands1Script: ; 447e9 (11:47e9)
 	call EnableAutoTextBoxDrawing
 	ld hl, $d7e7
 	set 0, [hl]
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 7, [hl]
 	res 7, [hl]
 	jr z, .asm_4483b ; 0x447f8 $41
@@ -68712,12 +69425,12 @@
 	jp Func_46981
 ; 0x44846
 
-Seafoam1HolesCoords: ; 0x44846
+Seafoam1HolesCoords: ; 44846 (11:4846)
 	db $06,$11
 	db $06,$18
 	db $ff
 
-SeafoamIslands1Texts: ; 0x4484b
+SeafoamIslands1Texts: ; 4484b (11:484b)
 	dw BoulderText, BoulderText
 
 SeafoamIslands1Object: ; 0x4484f (size=72)
@@ -68747,9 +69460,9 @@
 	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_2
 	EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_2
 
-INCBIN "baserom.gbc",$44897,$8
+INCBIN "baserom.gbc",$44897,$4489f - $44897
 
-SeafoamIslands1Blocks: ; 0x4489f 135
+SeafoamIslands1Blocks: ; 4489f (11:489f)
 	INCBIN "maps/seafoamislands1.blk"
 
 SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97)
@@ -68760,14 +69473,14 @@
 
 	dw SSAnne3Object ; objects
 
-SSAnne3Script: ; 0x44932
+SSAnne3Script: ; 44932 (11:4932)
 	jp EnableAutoTextBoxDrawing
 ; 0x44935
 
-SSAnne3Texts: ; 0x44935
+SSAnne3Texts: ; 44935 (11:4935)
 	dw SSAnne3Text1
 
-SSAnne3Text1: ; 0x44937
+SSAnne3Text1: ; 44937 (11:4937)
 	TX_FAR _SSAnne3Text1
 	db $50
 
@@ -68787,7 +69500,7 @@
 	EVENT_DISP $a, $3, $0 ; SS_ANNE_5
 	EVENT_DISP $a, $3, $13 ; SS_ANNE_2
 
-SSAnne3Blocks: ; 0x44956 30
+SSAnne3Blocks: ; 44956 (11:4956)
 	INCBIN "maps/ssanne3.blk"
 
 VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198)
@@ -68798,18 +69511,18 @@
 
 	dw VictoryRoad3Object ; objects
 
-VictoryRoad3Script: ; 0x44980
+VictoryRoad3Script: ; 44980 (11:4980)
 	call VictoryRoad3Script_Unknown44996
 	call EnableAutoTextBoxDrawing
 	ld hl, VictoryRoad3TrainerHeaders
-	ld de, $49b1
-	ld a, [$d640]
-	call Func_3160
-	ld [$d640], a
+	ld de, Unknown_449b1 ; $49b1
+	ld a, [W_VICTORYROAD3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_VICTORYROAD3CURSCRIPT], a
 	ret
 ; 0x44996
 
-VictoryRoad3Script_Unknown44996: ; 0x44996
+VictoryRoad3Script_Unknown44996: ; 44996 (11:4996)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -68823,12 +69536,13 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_449b1: ; 449b1 (11:49b1)
 INCBIN "baserom.gbc",$449b1,$449b7 - $449b1
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 7, [hl]
 	res 7, [hl]
 	jp z, .asm_449fe
-	ld hl, $49f9
+	ld hl, .unknown_449f9 ; $49f9
 	call CheckBoulderCoords
 	jp nc, .asm_449fe
 	ld a, [W_WHICHTRADE] ; $cd3d
@@ -68853,11 +69567,13 @@
 	ld a, $15
 	jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8))
 
+.unknown_449f9: ; 449f9 (11:49f9)
 INCBIN "baserom.gbc",$449f9,$449fe - $449f9
+
 .asm_449fe
 	ld a, $c2
 	ld [$d71d], a
-	ld hl, $49f9
+	ld hl, .unknown_449f9 ; $49f9
 	call Func_46981
 	ld a, [W_WHICHTRADE] ; $cd3d
 	cp $1
@@ -68870,14 +69586,14 @@
 .asm_44a1b
 	ld a, [$d72d]
 	bit 4, a
-	jp z, Func_3219
+	jp z, CheckFightingMapTrainers
 	ret
 ; 44a24 (11:4a24)
-VictoryRoad3Texts: ; 0x44a24
+VictoryRoad3Texts: ; 44a24 (11:4a24)
 	dw VictoryRoad3Text1, VictoryRoad3Text2, VictoryRoad3Text3, VictoryRoad3Text4, Predef5CText, Predef5CText, BoulderText, BoulderText, BoulderText, BoulderText
 
-VictoryRoad3TrainerHeaders:
-VictoryRoad3TrainerHeader0: ; 0x44a38
+VictoryRoad3TrainerHeaders: ; 44a38 (11:4a38)
+VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38)
 	db $1 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d813 ; flag's byte
@@ -68887,7 +69603,7 @@
 	dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle
 ; 0x44a44
 
-VictoryRoad3TrainerHeader2: ; 0x44a44
+VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d813 ; flag's byte
@@ -68897,7 +69613,7 @@
 	dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle
 ; 0x44a50
 
-VictoryRoad3TrainerHeader3: ; 0x44a50
+VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d813 ; flag's byte
@@ -68907,7 +69623,7 @@
 	dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle
 ; 0x44a5c
 
-VictoryRoad3TrainerHeader4: ; 0x44a5c
+VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d813 ; flag's byte
@@ -68919,86 +69635,86 @@
 
 db $ff
 
-VictoryRoad3Text1: ; 0x44a69
+VictoryRoad3Text1: ; 44a69 (11:4a69)
 	db $08 ; asm
 	ld hl, VictoryRoad3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad3Text2: ; 0x44a73
+VictoryRoad3Text2: ; 44a73 (11:4a73)
 	db $08 ; asm
 	ld hl, VictoryRoad3TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad3Text3: ; 0x44a7d
+VictoryRoad3Text3: ; 44a7d (11:4a7d)
 	db $08 ; asm
 	ld hl, VictoryRoad3TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad3Text4: ; 0x44a87
+VictoryRoad3Text4: ; 44a87 (11:4a87)
 	db $08 ; asm
 	ld hl, VictoryRoad3TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad3BattleText2: ; 0x44a91
+VictoryRoad3BattleText2: ; 44a91 (11:4a91)
 	TX_FAR _VictoryRoad3BattleText2
 	db $50
 ; 0x44a91 + 5 bytes
 
-VictoryRoad3EndBattleText2: ; 0x44a96
+VictoryRoad3EndBattleText2: ; 44a96 (11:4a96)
 	TX_FAR _VictoryRoad3EndBattleText2
 	db $50
 ; 0x44a96 + 5 bytes
 
-VictoryRoad3AfterBattleText2: ; 0x44a9b
+VictoryRoad3AfterBattleText2: ; 44a9b (11:4a9b)
 	TX_FAR _VictoryRoad3AfterBattleText2
 	db $50
 ; 0x44a9b + 5 bytes
 
-VictoryRoad3BattleText3: ; 0x44aa0
+VictoryRoad3BattleText3: ; 44aa0 (11:4aa0)
 	TX_FAR _VictoryRoad3BattleText3
 	db $50
 ; 0x44aa0 + 5 bytes
 
-VictoryRoad3EndBattleText3: ; 0x44aa5
+VictoryRoad3EndBattleText3: ; 44aa5 (11:4aa5)
 	TX_FAR _VictoryRoad3EndBattleText3
 	db $50
 ; 0x44aa5 + 5 bytes
 
-VictoryRoad3AfterBattleText3: ; 0x44aaa
+VictoryRoad3AfterBattleText3: ; 44aaa (11:4aaa)
 	TX_FAR _VictoryRoad3AfterBattleText3
 	db $50
 ; 0x44aaa + 5 bytes
 
-VictoryRoad3BattleText4: ; 0x44aaf
+VictoryRoad3BattleText4: ; 44aaf (11:4aaf)
 	TX_FAR _VictoryRoad3BattleText4
 	db $50
 ; 0x44aaf + 5 bytes
 
-VictoryRoad3EndBattleText4: ; 0x44ab4
+VictoryRoad3EndBattleText4: ; 44ab4 (11:4ab4)
 	TX_FAR _VictoryRoad3EndBattleText4
 	db $50
 ; 0x44ab4 + 5 bytes
 
-VictoryRoad3AfterBattleText4: ; 0x44ab9
+VictoryRoad3AfterBattleText4: ; 44ab9 (11:4ab9)
 	TX_FAR _VictoryRoad3AfterBattleText4
 	db $50
 ; 0x44ab9 + 5 bytes
 
-VictoryRoad3BattleText5: ; 0x44abe
+VictoryRoad3BattleText5: ; 44abe (11:4abe)
 	TX_FAR _VictoryRoad3BattleText5
 	db $50
 ; 0x44abe + 5 bytes
 
-VictoryRoad3EndBattleText5: ; 0x44ac3
+VictoryRoad3EndBattleText5: ; 44ac3 (11:4ac3)
 	TX_FAR _VictoryRoad3EndBattleText5
 	db $50
 ; 0x44ac3 + 5 bytes
 
-VictoryRoad3AfterBattleText5: ; 0x44ac8
+VictoryRoad3AfterBattleText5: ; 44ac8 (11:4ac8)
 	TX_FAR _VictoryRoad3AfterBattleText5
 	db $50
 ; 0x44ac8 + 5 bytes
@@ -69032,7 +69748,7 @@
 	EVENT_DISP $f, $f, $1b ; VICTORY_ROAD_2
 	EVENT_DISP $f, $0, $2 ; VICTORY_ROAD_2
 
-VictoryRoad3Blocks: ; 0x44b37 135
+VictoryRoad3Blocks: ; 44b37 (11:4b37)
 	INCBIN "maps/victoryroad3.blk"
 
 RocketHideout1_h: ; 0x44bbe to 0x44bca (12 bytes) (bank=11) (id=199)
@@ -69043,25 +69759,28 @@
 
 	dw RocketHideout1Object ; objects
 
-RocketHideout1Script: ; 0x44bca
+RocketHideout1Script: ; 44bca (11:4bca)
 	call Unknown_44be0
 	call EnableAutoTextBoxDrawing
 	ld hl, RocketHideout1TrainerHeaders
-	ld de, $4c0e
-	ld a, [$d631]
-	call Func_3160
-	ld [$d631], a
+	ld de, Unknown_44c0e ; $4c0e
+	ld a, [W_ROCKETHIDEOUT1CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROCKETHIDEOUT1CURSCRIPT], a
 	ret
 ; 0x44be0
 
-Unknown_44be0: ; 0x44be0
-INCBIN "baserom.gbc",$44be0,$34
+Unknown_44be0: ; 44be0 (11:4be0)
+INCBIN "baserom.gbc",$44be0,$44c0e - $44be0
 
-RocketHideout1Texts: ; 0x44c14
+Unknown_44c0e: ; 44c0e (11:4c0e)
+INCBIN "baserom.gbc",$44c0e,$44c14 - $44c0e
+
+RocketHideout1Texts: ; 44c14 (11:4c14)
 	dw RocketHideout1Text1, RocketHideout1Text2, RocketHideout1Text3, RocketHideout1Text4, RocketHideout1Text5, Predef5CText, Predef5CText
 
-RocketHideout1TrainerHeaders:
-RocketHideout1TrainerHeader0: ; 0x44c22
+RocketHideout1TrainerHeaders: ; 44c22 (11:4c22)
+RocketHideout1TrainerHeader0: ; 44c22 (11:4c22)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d815 ; flag's byte
@@ -69071,7 +69790,7 @@
 	dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle
 ; 0x44c2e
 
-RocketHideout1TrainerHeader2: ; 0x44c2e
+RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d815 ; flag's byte
@@ -69081,7 +69800,7 @@
 	dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle
 ; 0x44c3a
 
-RocketHideout1TrainerHeader3: ; 0x44c3a
+RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d815 ; flag's byte
@@ -69091,7 +69810,7 @@
 	dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle
 ; 0x44c46
 
-RocketHideout1TrainerHeader4: ; 0x44c46
+RocketHideout1TrainerHeader4: ; 44c46 (11:4c46)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d815 ; flag's byte
@@ -69101,7 +69820,7 @@
 	dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle
 ; 0x44c52
 
-RocketHideout1TrainerHeader5: ; 0x44c52
+RocketHideout1TrainerHeader5: ; 44c52 (11:4c52)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d815 ; flag's byte
@@ -69113,37 +69832,37 @@
 
 db $ff
 
-RocketHideout1Text1: ; 0x44c5f
+RocketHideout1Text1: ; 44c5f (11:4c5f)
 	db $08 ; asm
 	ld hl, RocketHideout1TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout1Text2: ; 0x44c69
+RocketHideout1Text2: ; 44c69 (11:4c69)
 	db $08 ; asm
 	ld hl, RocketHideout1TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout1Text3: ; 0x44c73
+RocketHideout1Text3: ; 44c73 (11:4c73)
 	db $08 ; asm
 	ld hl, RocketHideout1TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout1Text4: ; 0x44c7d
+RocketHideout1Text4: ; 44c7d (11:4c7d)
 	db $08 ; asm
 	ld hl, RocketHideout1TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout1Text5: ; 0x44c87
+RocketHideout1Text5: ; 44c87 (11:4c87)
 	db $08 ; asm
 	ld hl, RocketHideout1TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout1EndBattleText6: ; 0x44c91
+RocketHideout1EndBattleText6: ; 44c91 (11:4c91)
 	TX_FAR _RocketHideout1EndBattleText6 ; 0x81f2a
 	db $8
 	ld hl, $d815
@@ -69152,76 +69871,76 @@
 	ret
 ; 0x44c9f
 
-UnnamedText_44c9f: ; 0x44c9f
+UnnamedText_44c9f: ; 44c9f (11:4c9f)
 	db $6, $50
 ; 0x44ca1
 
-RocketHideout1BattleText2: ; 0x44ca1
+RocketHideout1BattleText2: ; 44ca1 (11:4ca1)
 	TX_FAR _RocketHideout1BattleText2
 	db $50
 ; 0x44ca1 + 5 bytes
 
-RocketHideout1EndBattleText2: ; 0x44ca6
+RocketHideout1EndBattleText2: ; 44ca6 (11:4ca6)
 	TX_FAR _RocketHideout1EndBattleText2
 	db $50
 ; 0x44ca6 + 5 bytes
 
-RocketHideout1AfterBattleTxt2: ; 0x44cab
+RocketHideout1AfterBattleTxt2: ; 44cab (11:4cab)
 	TX_FAR _RocketHideout1AfterBattleTxt2
 	db $50
 ; 0x44cab + 5 bytes
 
-RocketHideout1BattleText3: ; 0x44cb0
+RocketHideout1BattleText3: ; 44cb0 (11:4cb0)
 	TX_FAR _RocketHideout1BattleText3
 	db $50
 ; 0x44cb0 + 5 bytes
 
-RocketHideout1EndBattleText3: ; 0x44cb5
+RocketHideout1EndBattleText3: ; 44cb5 (11:4cb5)
 	TX_FAR _RocketHideout1EndBattleText3
 	db $50
 ; 0x44cb5 + 5 bytes
 
-RocketHideout1AfterBattleTxt3: ; 0x44cba
+RocketHideout1AfterBattleTxt3: ; 44cba (11:4cba)
 	TX_FAR _RocketHideout1AfterBattleTxt3
 	db $50
 ; 0x44cba + 5 bytes
 
-RocketHideout1BattleText4: ; 0x44cbf
+RocketHideout1BattleText4: ; 44cbf (11:4cbf)
 	TX_FAR _RocketHideout1BattleText4
 	db $50
 ; 0x44cbf + 5 bytes
 
-RocketHideout1EndBattleText4: ; 0x44cc4
+RocketHideout1EndBattleText4: ; 44cc4 (11:4cc4)
 	TX_FAR _RocketHideout1EndBattleText4
 	db $50
 ; 0x44cc4 + 5 bytes
 
-RocketHideout1AfterBattleTxt4: ; 0x44cc9
+RocketHideout1AfterBattleTxt4: ; 44cc9 (11:4cc9)
 	TX_FAR _RocketHideout1AfterBattleTxt4
 	db $50
 ; 0x44cc9 + 5 bytes
 
-RocketHideout1BattleText5: ; 0x44cce
+RocketHideout1BattleText5: ; 44cce (11:4cce)
 	TX_FAR _RocketHideout1BattleText5
 	db $50
 ; 0x44cce + 5 bytes
 
-RocketHideout1EndBattleText5: ; 0x44cd3
+RocketHideout1EndBattleText5: ; 44cd3 (11:4cd3)
 	TX_FAR _RocketHideout1EndBattleText5
 	db $50
 ; 0x44cd3 + 5 bytes
 
-RocketHideout1AfterBattleTxt5: ; 0x44cd8
+RocketHideout1AfterBattleTxt5: ; 44cd8 (11:4cd8)
 	TX_FAR _RocketHideout1AfterBattleTxt5
 	db $50
 ; 0x44cd8 + 5 bytes
 
-RocketHideout1BattleText6: ; 0x44cdd
+RocketHideout1BattleText6: ; 44cdd (11:4cdd)
 	TX_FAR _RocketHideout1BattleText6
 	db $50
 ; 0x44cdd + 5 bytes
 
-RocketHideout1AfterBattleTxt6: ; 0x44ce2
+RocketHideout1AfterBattleTxt6: ; 44ce2 (11:4ce2)
 	TX_FAR _RocketHideout1AfterBattleTxt6
 	db $50
 ; 0x44ce2 + 5 bytes
@@ -69254,7 +69973,7 @@
 	EVENT_DISP $f, $18, $15 ; ROCKET_HIDEOUT_2
 	EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR
 
-RocketHideout1Blocks: ; 0x44d49 210
+RocketHideout1Blocks: ; 44d49 (11:4d49)
 	INCBIN "maps/rockethideout1.blk"
 
 RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200)
@@ -69265,17 +69984,17 @@
 
 	dw RocketHideout2Object ; objects
 
-RocketHideout2Script: ; 0x44e27
+RocketHideout2Script: ; 44e27 (11:4e27)
 	call EnableAutoTextBoxDrawing
 	ld hl, RocketHideout2TrainerHeaders
 	ld de, RocketHideout2_Unknown44e3a
-	ld a, [$d632]
-	call Func_3160
-	ld [$d632], a
+	ld a, [W_ROCKETHIDEOUT2CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROCKETHIDEOUT2CURSCRIPT], a
 	ret
 ; 0x44e3a
 
-RocketHideout2_Unknown44e3a: ; 0x44e3a
+RocketHideout2_Unknown44e3a: ; 44e3a (11:4e3a)
 INCBIN "baserom.gbc",$44e3a,$44fd7 - $44e3a
 
 ; known jump sources: 5c1 (0:5c1), 74985 (1d:4985)
@@ -69283,7 +70002,7 @@
 	ld a, [$c102]
 	srl a
 	srl a
-	ld hl, $5083
+	ld hl, Unknown_45083 ; $5083
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -69291,9 +70010,9 @@
 	ld [$c102], a
 	ld a, [W_CURMAPTILESET] ; $d367
 	cp $16
-	ld hl, $5023
+	ld hl, Unknown_45023 ; $5023
 	jr z, .asm_44ff6
-	ld hl, $5053
+	ld hl, Unknown_45053 ; $5053
 .asm_44ff6
 	ld a, [$cd38]
 	bit 0, a
@@ -69330,25 +70049,27 @@
 	jr nz, .asm_45006
 	ret
 ; 45023 (11:5023)
+
+Unknown_45023: ; 45023 (11:5023)
 ; 0x45023 XXX: it looks to me this is probably data for copying tiles into memory, maybe to mix and match a few tilesets, but I don't really know for sure
-	dw $5087 ;address from within tileset graphics
-	db 1     ;number of tiles to copy?
-	db $11   ;bank of tileset graphics
-	dw $9200 ;where to load in VRAM
+	dw UnknownGFX_45087       ;address from within tileset graphics
+	db 1                      ;number of tiles to copy?
+	db BANK(UnknownGFX_45087) ;bank of tileset graphics
+	dw $9200                  ;where to load in VRAM
 	
-	dw $5097
+	dw UnknownGFX_45087 + $10
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $9210
 	
-	dw $50A7
+	dw UnknownGFX_45087 + $20
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $9300
 	
-	dw $50B7
+	dw UnknownGFX_45087 + $30
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $9310
 	
 	dw Tset16_GFX + $200
@@ -69371,24 +70092,25 @@
 	db $1A
 	dw $9310
 	
-	dw $5097
+Unknown_45053: ; 45053 (11:5053)
+	dw UnknownGFX_45087 + $10
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $93C0
 	
-	dw $50B7
+	dw UnknownGFX_45087 + $30
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $93D0
 	
-	dw $5087
+	dw UnknownGFX_45087
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $94C0
 	
-	dw $50A7
+	dw UnknownGFX_45087 + $20
 	db 1
-	db $11
+	db BANK(UnknownGFX_45087)
 	dw $94D0
 	
 	dw Tset05_GFX + $3C0
@@ -69411,13 +70133,18 @@
 	db $1A
 	dw $94D0
 
-INCBIN "baserom.gbc",$45083,$450c7-$45083
+Unknown_45083: ; 45083 (11:5083)
+INCBIN "baserom.gbc",$45083,$45087 - $45083
 
-RocketHideout2Texts: ; 0x450c7
+; four tiles apparently forming a 2x2 diamond shaped pattern
+UnknownGFX_45087: ; 45087 (11:5087)
+INCBIN "baserom.gbc",$45087,$450c7 - $45087
+
+RocketHideout2Texts: ; 450c7 (11:50c7)
 	dw RocketHideout2Text1, Predef5CText, Predef5CText, Predef5CText, Predef5CText
 
-RocketHideout2TrainerHeaders:
-RocketHideout2TrainerHeader0: ; 0x450d1
+RocketHideout2TrainerHeaders: ; 450d1 (11:50d1)
+RocketHideout2TrainerHeader0: ; 450d1 (11:50d1)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d817 ; flag's byte
@@ -69429,23 +70156,23 @@
 
 db $ff
 
-RocketHideout2Text1: ; 0x450de
+RocketHideout2Text1: ; 450de (11:50de)
 	db $08 ; asm
 	ld hl, RocketHideout2TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout2BattleText2: ; 0x450e8
+RocketHideout2BattleText2: ; 450e8 (11:50e8)
 	TX_FAR _RocketHideout2BattleText2
 	db $50
 ; 0x450e8 + 5 bytes
 
-RocketHideout2EndBattleText2: ; 0x450ed
+RocketHideout2EndBattleText2: ; 450ed (11:50ed)
 	TX_FAR _RocketHideout2EndBattleText2
 	db $50
 ; 0x450ed + 5 bytes
 
-RocketHideout2AfterBattleTxt2: ; 0x450f2
+RocketHideout2AfterBattleTxt2: ; 450f2 (11:50f2)
 	TX_FAR _RocketHideout2AfterBattleTxt2
 	db $50
 ; 0x450f2 + 5 bytes
@@ -69476,7 +70203,7 @@
 	EVENT_DISP $f, $16, $15 ; ROCKET_HIDEOUT_1
 	EVENT_DISP $f, $13, $19 ; ROCKET_HIDEOUT_ELEVATOR
 
-RocketHideout2Blocks: ; 0x45147 210
+RocketHideout2Blocks: ; 45147 (11:5147)
 	INCBIN "maps/rockethideout2.blk"
 
 RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201)
@@ -69487,24 +70214,24 @@
 
 	dw RocketHideout3Object ; objects
 
-RocketHideout3Script: ; 0x45225
+RocketHideout3Script: ; 45225 (11:5225)
 	call EnableAutoTextBoxDrawing
 	ld hl, RocketHideout3TrainerHeaders
 	ld de, RocketHideout3Script_Unknown45238
-	ld a, [$d633]
-	call Func_3160
-	ld [$d633], a
+	ld a, [W_ROCKETHIDEOUT3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROCKETHIDEOUT3CURSCRIPT], a
 	ret
 ; 0x45238
 
-RocketHideout3Script_Unknown45238: ; 0x45238
-INCBIN "baserom.gbc",$45238,$c2
+RocketHideout3Script_Unknown45238: ; 45238 (11:5238)
+INCBIN "baserom.gbc",$45238,$452fa - $45238
 
-RocketHideout3Texts: ; 0x452fa
+RocketHideout3Texts: ; 452fa (11:52fa)
 	dw RocketHideout3Text1, RocketHideout3Text2, Predef5CText, Predef5CText
 
-RocketHideout3TrainerHeaders:
-RocketHideout3TrainerHeader0: ; 0x45302
+RocketHideout3TrainerHeaders: ; 45302 (11:5302)
+RocketHideout3TrainerHeader0: ; 45302 (11:5302)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d819 ; flag's byte
@@ -69514,7 +70241,7 @@
 	dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle
 ; 0x4530e
 
-RocketHideout3TrainerHeader2: ; 0x4530e
+RocketHideout3TrainerHeader2: ; 4530e (11:530e)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d819 ; flag's byte
@@ -69526,44 +70253,44 @@
 
 db $ff
 
-RocketHideout3Text1: ; 0x4531b
+RocketHideout3Text1: ; 4531b (11:531b)
 	db $08 ; asm
 	ld hl, RocketHideout3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout3BattleText2: ; 0x45325
+RocketHideout3BattleText2: ; 45325 (11:5325)
 	TX_FAR _RocketHideout3BattleText2
 	db $50
 ; 0x45325 + 5 bytes
 
-RocketHideout3EndBattleText2: ; 0x4532a
+RocketHideout3EndBattleText2: ; 4532a (11:532a)
 	TX_FAR _RocketHideout3EndBattleText2
 	db $50
 ; 0x4532a + 5 bytes
 
-RocketHideout3AfterBattleTxt2: ; 0x4532f
+RocketHideout3AfterBattleTxt2: ; 4532f (11:532f)
 	TX_FAR _RocketHideout3AfterBattleTxt2
 	db $50
 ; 0x4532f + 5 bytes
 
-RocketHideout3Text2: ; 0x45334
+RocketHideout3Text2: ; 45334 (11:5334)
 	db $08 ; asm
 	ld hl, RocketHideout3TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout3BattleTxt: ; 0x4533e
+RocketHideout3BattleTxt: ; 4533e (11:533e)
 	TX_FAR _RocketHideout3BattleTxt
 	db $50
 ; 0x4533e + 5 bytes
 
-RocketHideout3EndBattleText3: ; 0x45343
+RocketHideout3EndBattleText3: ; 45343 (11:5343)
 	TX_FAR _RocketHideout3EndBattleText3
 	db $50
 ; 0x45343 + 5 bytes
 
-RocketHideout3AfterBattleText3: ; 0x45348
+RocketHideout3AfterBattleText3: ; 45348 (11:5348)
 	;TX_FAR _RocketHideout3AfterBattleText3
 	db $17
 	dw _RocketHideout3AfterBattleText3
@@ -69590,7 +70317,7 @@
 	EVENT_DISP $f, $6, $19 ; ROCKET_HIDEOUT_2
 	EVENT_DISP $f, $12, $13 ; ROCKET_HIDEOUT_4
 
-RocketHideout3Blocks: ; 0x4537f 210
+RocketHideout3Blocks: ; 4537f (11:537f)
 	INCBIN "maps/rockethideout3.blk"
 
 RocketHideout4_h: ; 0x45451 to 0x4545d (12 bytes) (bank=11) (id=202)
@@ -69601,25 +70328,28 @@
 
 	dw RocketHideout4Object ; objects
 
-RocketHideout4Script: ; 0x4545d
+RocketHideout4Script: ; 4545d (11:545d)
 	call Unnamed_45473
 	call EnableAutoTextBoxDrawing
 	ld hl, RocketHideout4TrainerHeader0
-	ld de, $54ae
-	ld a, [$d634]
-	call Func_3160
-	ld [$d634], a
+	ld de, Unknown_454ae ; $54ae
+	ld a, [W_ROCKETHIDEOUT4CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROCKETHIDEOUT4CURSCRIPT], a
 	ret
 ; 0x45473
 
-Unnamed_45473: ; 0x45473
-INCBIN "baserom.gbc",$45473,$8e
+Unnamed_45473: ; 45473 (11:5473)
+INCBIN "baserom.gbc",$45473,$454ae - $45473
 
-RocketHideout4Texts: ; 0x45501
+Unknown_454ae: ; 454ae (11:54ae)
+INCBIN "baserom.gbc",$454ae,$45501 - $454ae
+
+RocketHideout4Texts: ; 45501 (11:5501)
 	dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, RocketHideout4Text10
 
-RocketHideout4TrainerHeaders:
-RocketHideout4TrainerHeader0: ; 0x45515
+RocketHideout4TrainerHeaders: ; 45515 (11:5515)
+RocketHideout4TrainerHeader0: ; 45515 (11:5515)
 	db $2 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d81b ; flag's byte
@@ -69629,7 +70359,7 @@
 	dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle
 ; 0x45521
 
-RocketHideout4TrainerHeader2: ; 0x45521
+RocketHideout4TrainerHeader2: ; 45521 (11:5521)
 	db $3 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d81b ; flag's byte
@@ -69639,7 +70369,7 @@
 	dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle
 ; 0x4552d
 
-RocketHideout4TrainerHeader3: ; 0x4552d
+RocketHideout4TrainerHeader3: ; 4552d (11:552d)
 	db $4 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d81b ; flag's byte
@@ -69651,7 +70381,7 @@
 
 db $ff
 
-RocketHideout4Text1: ; 0x4553a
+RocketHideout4Text1: ; 4553a (11:553a)
 	db $08 ; asm
 	ld a, [$d81b]
 	bit 7, a
@@ -69663,16 +70393,16 @@
 	set 7, [hl]
 	ld hl, UnnamedText_4557f
 	ld de, UnnamedText_4557f
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	xor a
 	ldh [$b4], a
 	ld a, $3
-	ld [$d634], a
-	ld [$da39], a
+	ld [W_ROCKETHIDEOUT4CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	jr .asm_209f0 ; 0x4556f
 .asm_545571
 	ld hl, RocketHideout4Text10
@@ -69680,38 +70410,38 @@
 .asm_209f0 ; 0x45577
 	jp TextScriptEnd
 
-UnnamedText_4557a: ; 0x4557a
+UnnamedText_4557a: ; 4557a (11:557a)
 	TX_FAR _UnnamedText_4557a
 	db $50
 ; 0x4557a + 5 bytes
 
-UnnamedText_4557f: ; 0x4557f
+UnnamedText_4557f: ; 4557f (11:557f)
 	TX_FAR _UnnamedText_4557f
 	db $50
 ; 0x4557f + 5 bytes
 
-RocketHideout4Text10: ; 0x45584
+RocketHideout4Text10: ; 45584 (11:5584)
 	TX_FAR _UnnamedText_45584
 	db $50
 ; 0x45584 + 5 bytes
 
-RocketHideout4Text2: ; 0x45589
+RocketHideout4Text2: ; 45589 (11:5589)
 	db $08 ; asm
 	ld hl, RocketHideout4TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout4BattleText2: ; 0x45593
+RocketHideout4BattleText2: ; 45593 (11:5593)
 	TX_FAR _RocketHideout4BattleText2
 	db $50
 ; 0x45593 + 5 bytes
 
-RocketHideout4EndBattleText2: ; 0x45598
+RocketHideout4EndBattleText2: ; 45598 (11:5598)
 	TX_FAR _RocketHideout4EndBattleText2
 	db $50
 ; 0x45598 + 5 bytes
 
-RocketHideout4AfterBattleText2: ; 0x4559d
+RocketHideout4AfterBattleText2: ; 4559d (11:559d)
 	;TX_FAR _RocketHideout4AfterBattleText2
 	db $17
 	dw _RocketHideout4AfterBattleText2
@@ -69719,23 +70449,23 @@
 	db $50
 ; 0x4559d + 5 bytes
 
-RocketHideout4Text3: ; 0x455a2
+RocketHideout4Text3: ; 455a2 (11:55a2)
 	db $08 ; asm
 	ld hl, RocketHideout4TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout4BattleText3: ; 0x455ac
+RocketHideout4BattleText3: ; 455ac (11:55ac)
 	TX_FAR _RocketHideout4BattleText3
 	db $50
 ; 0x455ac + 5 bytes
 
-RocketHideout4EndBattleText3: ; 0x455b1
+RocketHideout4EndBattleText3: ; 455b1 (11:55b1)
 	TX_FAR _RocketHideout4EndBattleText3
 	db $50
 ; 0x455b1 + 5 bytes
 
-RocketHideout4AfterBattleText3: ; 0x455b6
+RocketHideout4AfterBattleText3: ; 455b6 (11:55b6)
 	;TX_FAR _RocketHideout4AfterBattleText3
 	db $17
 	dw _RocketHideout4AfterBattleText3
@@ -69743,25 +70473,25 @@
 	db $50
 ; 0x455b6 + 5 bytes
 
-RocketHideout4Text4: ; 0x455bb
+RocketHideout4Text4: ; 455bb (11:55bb)
 	db $08 ; asm
 	ld hl, RocketHideout4TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RocketHideout4BattleText4: ; 0x455c5
+RocketHideout4BattleText4: ; 455c5 (11:55c5)
 	TX_FAR _RocketHideout4BattleText4
 	db $50
 ; 0x455c5 + 5 bytes
 
-RocketHideout4EndBattleText4: ; 0x455ca
+RocketHideout4EndBattleText4: ; 455ca (11:55ca)
 	TX_FAR _RocketHideout4EndBattleText4
 	db $50
 ; 0x455ca + 5 bytes
 
-RocketHideout4AfterBattleText4: ; 0x455cf
+RocketHideout4AfterBattleText4: ; 455cf (11:55cf)
 	db $8
-	ld hl, $55ec
+	ld hl, UnnamedText_455ec ; $55ec
 	call PrintText
 	ld hl, $d81b
 	bit 6, [hl]
@@ -69775,7 +70505,7 @@
 	jp TextScriptEnd
 ; 0x455ec
 
-UnnamedText_455ec: ; 0x455ec
+UnnamedText_455ec: ; 455ec (11:55ec)
 	TX_FAR _UnnamedText_455ec
 	db $50
 ; 0x455ec + 5 bytes
@@ -69806,7 +70536,7 @@
 	EVENT_DISP $f, $f, $18 ; ROCKET_HIDEOUT_ELEVATOR
 	EVENT_DISP $f, $f, $19 ; ROCKET_HIDEOUT_ELEVATOR
 
-RocketHideout4Blocks: ; 0x45650 180
+RocketHideout4Blocks: ; 45650 (11:5650)
 	INCBIN "maps/rockethideout4.blk"
 
 RocketHideoutElevator_h: ; 0x45704 to 0x45710 (12 bytes) (bank=11) (id=203)
@@ -69817,7 +70547,7 @@
 
 	dw RocketHideoutElevatorObject ; objects
 
-RocketHideoutElevatorScript: ; 0x45710
+RocketHideoutElevatorScript: ; 45710 (11:5710)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -69834,13 +70564,13 @@
 	ret
 ; 0x4572c
 
-RocketHideoutElevatorScript_Unknown4572c: ; 0x4572c
+RocketHideoutElevatorScript_Unknown4572c: ; 4572c (11:572c)
 INCBIN "baserom.gbc",$4572c,$45741 - $4572c
 
-Func_45741: ; 0x45741
-	ld hl, $5754
+Func_45741: ; 45741 (11:5741)
+	ld hl, Unknown_45754 ; $5754
 	call LoadItemList
-	ld hl, $5759
+	ld hl, Unknown_45759 ; $5759
 	ld de, $cc5b
 	ld bc, $0006
 	call CopyData
@@ -69847,9 +70577,13 @@
 	ret
 ; 0x45754
 
-INCBIN "baserom.gbc",$45754,$4575f - $45754
+Unknown_45754: ; 45754 (11:5754)
+INCBIN "baserom.gbc",$45754,$45759 - $45754
 
-Func_4575f: ; 0x4575f
+Unknown_45759: ; 45759 (11:5759)
+INCBIN "baserom.gbc",$45759,$4575f - $45759
+
+Func_4575f: ; 4575f (11:575f)
 	call Delay3
 	ld b, BANK(Func_7bf15)
 	ld hl, Func_7bf15
@@ -69857,16 +70591,16 @@
 	ret
 ; 0x4576b
 
-RocketHideoutElevatorTexts: ; 0x4576b
+RocketHideoutElevatorTexts: ; 4576b (11:576b)
 	dw RocketHideoutElevatorText1
 
-RocketHideoutElevatorText1: ; 0x4576d
+RocketHideoutElevatorText1: ; 4576d (11:576d)
 	db $08 ; asm
 	ld b, LIFT_KEY
 	call IsItemInBag
 	jr z, .asm_8d8f0 ; 0x45773
 	call Func_45741
-	ld hl, $5759
+	ld hl, Unknown_45759 ; $5759
 	ld a, $61
 	call Predef
 	jr .asm_46c43 ; 0x45780
@@ -69876,7 +70610,7 @@
 .asm_46c43 ; 0x45788
 	jp TextScriptEnd
 
-UnnamedText_4578b: ; 0x4578b
+UnnamedText_4578b: ; 4578b (11:578b)
 	TX_FAR _UnnamedText_4578b ; 0x82438
 	db $d, $50
 
@@ -69896,7 +70630,7 @@
 	EVENT_DISP $3, $1, $2 ; ROCKET_HIDEOUT_1
 	EVENT_DISP $3, $1, $3 ; ROCKET_HIDEOUT_1
 
-RocketHideoutElevatorBlocks: ; 0x457a8 12
+RocketHideoutElevatorBlocks: ; 457a8 (11:57a8)
 	INCBIN "maps/rockethideoutelevator.blk"
 
 SilphCoElevator_h: ; 0x457b4 to 0x457c0 (12 bytes) (bank=11) (id=236)
@@ -69907,7 +70641,7 @@
 
 	dw SilphCoElevatorObject ; objects
 
-SilphCoElevatorScript: ; 0x457c0
+SilphCoElevatorScript: ; 457c0 (11:57c0)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -69924,7 +70658,7 @@
 	ret
 ; 0x457dc
 
-SilphCoElevatorScript_Unknown457dc: ; 0x457dc
+SilphCoElevatorScript_Unknown457dc: ; 457dc (11:57dc)
 	ld hl, $d3af
 	ld a, [$d73b]
 	ld b, a
@@ -69944,16 +70678,20 @@
 
 ; known jump sources: 45836 (11:5836)
 Func_457f1: ; 457f1 (11:57f1)
-	ld hl, $5804
+	ld hl, Unknown_45804 ; $5804
 	call LoadItemList
-	ld hl, $5811
+	ld hl, Unknown_45811 ; $5811
 	ld de, $cc5b
 	ld bc, $16
 	call CopyData
 	ret
 
-INCBIN "baserom.gbc",$45804,$45827 - $45804
+Unknown_45804: ; 45804 (11:5804)
+INCBIN "baserom.gbc",$45804,$45811 - $45804
 
+Unknown_45811: ; 45811 (11:5811)
+INCBIN "baserom.gbc",$45811,$45827 - $45811
+
 ; known jump sources: 457d0 (11:57d0)
 Func_45827: ; 45827 (11:5827)
 	call Delay3
@@ -69962,13 +70700,13 @@
 	call Bankswitch ; indirect jump to Func_7bf15 (7bf15 (1e:7f15))
 	ret
 ; 45833 (11:5833)
-SilphCoElevatorTexts: ; 0x45833
+SilphCoElevatorTexts: ; 45833 (11:5833)
 	dw SilphCoElevatorText1
 
-SilphCoElevatorText1: ; 0x45835
+SilphCoElevatorText1: ; 45835 (11:5835)
 	db $08 ; asm
 	call Func_457f1
-	ld hl, $5811
+	ld hl, Unknown_45811 ; $5811
 	ld a, $61
 	call Predef
 	jp TextScriptEnd
@@ -69989,7 +70727,7 @@
 	EVENT_DISP $2, $3, $1
 	EVENT_DISP $2, $3, $2
 
-SilphCoElevatorBlocks: ; 0x4585b 4
+SilphCoElevatorBlocks: ; 4585b (11:585b)
 	INCBIN "maps/silphcoelevator.blk"
 
 SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217)
@@ -70000,22 +70738,22 @@
 
 	dw SafariZoneEastObject ; objects
 
-SafariZoneEastScript: ; 0x4586b
+SafariZoneEastScript: ; 4586b (11:586b)
 	jp EnableAutoTextBoxDrawing
 ; 0x4586e
 
-SafariZoneEastTexts: ; 0x4586e
+SafariZoneEastTexts: ; 4586e (11:586e)
 	dw Predef5CText, Predef5CText, Predef5CText, Predef5CText, SafariZoneEastText5, SafariZoneEastText6, SafariZoneEastText7
 
-SafariZoneEastText5: ; 0x4587c
+SafariZoneEastText5: ; 4587c (11:587c)
 	TX_FAR _SafariZoneEastText5
 	db $50
 
-SafariZoneEastText6: ; 0x45881
+SafariZoneEastText6: ; 45881 (11:5881)
 	TX_FAR _SafariZoneEastText6
 	db $50
 
-SafariZoneEastText7: ; 0x45886
+SafariZoneEastText7: ; 45886 (11:5886)
 	TX_FAR _SafariZoneEastText7
 	db $50
 
@@ -70047,7 +70785,7 @@
 	EVENT_DISP $f, $17, $0 ; SAFARI_ZONE_CENTER
 	EVENT_DISP $f, $9, $19 ; SAFARI_ZONE_REST_HOUSE_3
 
-SafariZoneEastBlocks: ; 0x458dc 195
+SafariZoneEastBlocks: ; 458dc (11:58dc)
 	INCBIN "maps/safarizoneeast.blk"
 
 SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218)
@@ -70058,30 +70796,30 @@
 
 	dw SafariZoneNorthObject ; objects
 
-SafariZoneNorthScript: ; 0x459ab
+SafariZoneNorthScript: ; 459ab (11:59ab)
 	jp EnableAutoTextBoxDrawing
 ; 0x459ae
 
-SafariZoneNorthTexts: ; 0x459ae
+SafariZoneNorthTexts: ; 459ae (11:59ae)
 	dw Predef5CText, Predef5CText, SafariZoneNorthText3, SafariZoneNorthText4, SafariZoneNorthText5, SafariZoneNorthText6, SafariZoneNorthText7
 
-SafariZoneNorthText3: ; 0x459bc
+SafariZoneNorthText3: ; 459bc (11:59bc)
 	TX_FAR _SafariZoneNorthText3
 	db $50
 
-SafariZoneNorthText4: ; 0x459c1
+SafariZoneNorthText4: ; 459c1 (11:59c1)
 	TX_FAR _SafariZoneNorthText4
 	db $50
 
-SafariZoneNorthText5: ; 0x459c6
+SafariZoneNorthText5: ; 459c6 (11:59c6)
 	TX_FAR _SafariZoneNorthText5
 	db $50
 
-SafariZoneNorthText6: ; 0x459cb
+SafariZoneNorthText6: ; 459cb (11:59cb)
 	TX_FAR _SafariZoneNorthText6
 	db $50
 
-SafariZoneNorthText7: ; 0x459d0
+SafariZoneNorthText7: ; 459d0 (11:59d0)
 	TX_FAR _SafariZoneNorthText7
 	db $50
 
@@ -70121,7 +70859,7 @@
 	EVENT_DISP $14, $1f, $27 ; SAFARI_ZONE_EAST
 	EVENT_DISP $14, $3, $23 ; SAFARI_ZONE_REST_HOUSE_4
 
-SafariZoneNorthBlocks: ; 0x45a3e 360
+SafariZoneNorthBlocks: ; 45a3e (11:5a3e)
 	INCBIN "maps/safarizonenorth.blk"
 
 SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220)
@@ -70132,18 +70870,18 @@
 
 	dw SafariZoneCenterObject ; objects
 
-SafariZoneCenterScript: ; 0x45bb2
+SafariZoneCenterScript: ; 45bb2 (11:5bb2)
 	jp EnableAutoTextBoxDrawing
 ; 0x45bb5
 
-SafariZoneCenterTexts: ; 0x45bb5
+SafariZoneCenterTexts: ; 45bb5 (11:5bb5)
 	dw Predef5CText, SafariZoneCenterText2, SafariZoneCenterText3
 
-SafariZoneCenterText2: ; 0x45bbb
+SafariZoneCenterText2: ; 45bbb (11:5bbb)
 	TX_FAR _SafariZoneCenterText2
 	db $50
 
-SafariZoneCenterText3: ; 0x45bc0
+SafariZoneCenterText3: ; 45bc0 (11:5bc0)
 	TX_FAR _SafariZoneCenterText3
 	db $50
 
@@ -70179,7 +70917,7 @@
 	EVENT_DISP $f, $b, $1d ; SAFARI_ZONE_EAST
 	EVENT_DISP $f, $13, $11 ; SAFARI_ZONE_REST_HOUSE_1
 
-SafariZoneCenterBlocks: ; 0x45c1e 195
+SafariZoneCenterBlocks: ; 45c1e (11:5c1e)
 	INCBIN "maps/safarizonecenter.blk"
 
 SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221)
@@ -70190,18 +70928,18 @@
 
 	dw SafariZoneRestHouse1Object ; objects
 
-SafariZoneRestHouse1Script: ; 0x45ced
+SafariZoneRestHouse1Script: ; 45ced (11:5ced)
 	jp EnableAutoTextBoxDrawing
 ; 0x45cf0
 
-SafariZoneRestHouse1Texts: ; 0x45cf0
+SafariZoneRestHouse1Texts: ; 45cf0 (11:5cf0)
 	dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2
 
-SafariZoneRestHouse1Text1: ; 0x45cf4
+SafariZoneRestHouse1Text1: ; 45cf4 (11:5cf4)
 	TX_FAR _SafariZoneRestHouse1Text1
 	db $50
 
-SafariZoneRestHouse1Text2: ; 0x45cf9
+SafariZoneRestHouse1Text2: ; 45cf9 (11:5cf9)
 	TX_FAR _SafariZoneRestHouse1Text2
 	db $50
 
@@ -70230,23 +70968,23 @@
 
 	dw SafariZoneRestHouse2Object ; objects
 
-SafariZoneRestHouse2Script: ; 0x45d2a
+SafariZoneRestHouse2Script: ; 45d2a (11:5d2a)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x45d2e
 
-SafariZoneRestHouse2Texts: ; 0x45d2e
+SafariZoneRestHouse2Texts: ; 45d2e (11:5d2e)
 	dw SafariZoneRestHouse2Text1, SafariZoneRestHouse2Text2, SafariZoneRestHouse2Text3
 
-SafariZoneRestHouse2Text1: ; 0x45d34
+SafariZoneRestHouse2Text1: ; 45d34 (11:5d34)
 	TX_FAR _SafariZoneRestHouse2Text1
 	db $50
 
-SafariZoneRestHouse2Text2: ; 0x45d39
+SafariZoneRestHouse2Text2: ; 45d39 (11:5d39)
 	TX_FAR _SafariZoneRestHouse2Text2
 	db $50
 
-SafariZoneRestHouse2Text3: ; 0x45d3e
+SafariZoneRestHouse2Text3: ; 45d3e (11:5d3e)
 	TX_FAR _SafariZoneRestHouse2Text3
 	db $50
 
@@ -70276,23 +71014,23 @@
 
 	dw SafariZoneRestHouse3Object ; objects
 
-SafariZoneRestHouse3Script: ; 0x45d75
+SafariZoneRestHouse3Script: ; 45d75 (11:5d75)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x45d79
 
-SafariZoneRestHouse3Texts: ; 0x45d79
+SafariZoneRestHouse3Texts: ; 45d79 (11:5d79)
 	dw SafariZoneRestHouse3Text1, SafariZoneRestHouse3Text2, SafariZoneRestHouse3Text3
 
-SafariZoneRestHouse3Text1: ; 0x45d7f
+SafariZoneRestHouse3Text1: ; 45d7f (11:5d7f)
 	TX_FAR _SafariZoneRestHouse3Text1
 	db $50
 
-SafariZoneRestHouse3Text2: ; 0x45d84
+SafariZoneRestHouse3Text2: ; 45d84 (11:5d84)
 	TX_FAR _SafariZoneRestHouse3Text2
 	db $50
 
-SafariZoneRestHouse3Text3: ; 0x45d89
+SafariZoneRestHouse3Text3: ; 45d89 (11:5d89)
 	TX_FAR _SafariZoneRestHouse3Text3
 	db $50
 
@@ -70322,23 +71060,23 @@
 
 	dw SafariZoneRestHouse4Object ; objects
 
-SafariZoneRestHouse4Script: ; 0x45dc0
+SafariZoneRestHouse4Script: ; 45dc0 (11:5dc0)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x45dc4
 
-SafariZoneRestHouse4Texts: ; 0x45dc4
+SafariZoneRestHouse4Texts: ; 45dc4 (11:5dc4)
 	dw SafariZoneRestHouse4Text1, SafariZoneRestHouse4Text2, SafariZoneRestHouse4Text3
 
-SafariZoneRestHouse4Text1: ; 0x45dca
+SafariZoneRestHouse4Text1: ; 45dca (11:5dca)
 	TX_FAR _SafariZoneRestHouse4Text1
 	db $50
 
-SafariZoneRestHouse4Text2: ; 0x45dcf
+SafariZoneRestHouse4Text2: ; 45dcf (11:5dcf)
 	TX_FAR _SafariZoneRestHouse4Text2
 	db $50
 
-SafariZoneRestHouse4Text3: ; 0x45dd4
+SafariZoneRestHouse4Text3: ; 45dd4 (11:5dd4)
 	TX_FAR _SafariZoneRestHouse4Text3
 	db $50
 
@@ -70368,11 +71106,11 @@
 
 	dw UnknownDungeon2Object ; objects
 
-UnknownDungeon2Script: ; 0x45e0b
+UnknownDungeon2Script: ; 45e0b (11:5e0b)
 	jp EnableAutoTextBoxDrawing
 ; 0x45e0e
 
-UnknownDungeon2Texts: ; 0x45e0e
+UnknownDungeon2Texts: ; 45e0e (11:5e0e)
 	dw Predef5CText, Predef5CText, Predef5CText
 
 UnknownDungeon2Object: ; 0x45e14 (size=73)
@@ -70401,7 +71139,7 @@
 	EVENT_DISP $f, $3, $1 ; UNKNOWN_DUNGEON_1
 	EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_1
 
-UnknownDungeon2Blocks: ; 0x45e5d 135
+UnknownDungeon2Blocks: ; 45e5d (11:5e5d)
 	INCBIN "maps/unknowndungeon2.blk"
 
 UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227)
@@ -70412,24 +71150,24 @@
 
 	dw UnknownDungeon3Object ; objects
 
-UnknownDungeon3Script: ; 0x45ef0
+UnknownDungeon3Script: ; 45ef0 (11:5ef0)
 	call EnableAutoTextBoxDrawing
 	ld hl, UnknownDungeon3TrainerHeaders
 	ld de, UnknownDungeon3Script_Unknown45f03
-	ld a, [$d650]
-	call Func_3160
-	ld [$d650], a
+	ld a, [W_UNKNOWNDUNGEON3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_UNKNOWNDUNGEON3CURSCRIPT], a
 	ret
 ; 0x45f03
 
-UnknownDungeon3Script_Unknown45f03: ; 0x45f03
-INCBIN "baserom.gbc",$45f03,$6
+UnknownDungeon3Script_Unknown45f03: ; 45f03 (11:5f03)
+INCBIN "baserom.gbc",$45f03,$45f09 - $45f03
 
-UnknownDungeon3Texts: ; 0x45f09
+UnknownDungeon3Texts: ; 45f09 (11:5f09)
 	dw UnknownDungeon3Text1, Predef5CText, Predef5CText
 
-UnknownDungeon3TrainerHeaders:
-UnknownDungeon3TrainerHeader0: ; 0x45f0f
+UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f)
+UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d85f ; flag's byte
@@ -70441,18 +71179,18 @@
 
 db $ff
 
-UnknownDungeon3Text1: ; 0x45f1c
+UnknownDungeon3Text1: ; 45f1c (11:5f1c)
 	db $08 ; asm
 	ld hl, UnknownDungeon3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-UnknownDungeon3MewtwoText: ; 0x45f26
+UnknownDungeon3MewtwoText: ; 45f26 (11:5f26)
 	TX_FAR _UnknownDungeon3MewtwoText ; 0x85c72
 	db $8
 	ld a, MEWTWO
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 0x45f36
 
@@ -70472,7 +71210,7 @@
 	; warp-to
 	EVENT_DISP $f, $6, $3 ; UNKNOWN_DUNGEON_1
 
-UnknownDungeon3Blocks: ; 0x45f58 135
+UnknownDungeon3Blocks: ; 45f58 (11:5f58)
 	INCBIN "maps/unknowndungeon3.blk"
 
 RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232)
@@ -70483,24 +71221,24 @@
 
 	dw RockTunnel2Object ; objects
 
-RockTunnel2Script: ; 0x45feb
+RockTunnel2Script: ; 45feb (11:5feb)
 	call EnableAutoTextBoxDrawing
 	ld hl, RockTunnel2TrainerHeaders
 	ld de, RockTunnel2Script_Unknown45ffe
-	ld a, [$d620]
-	call Func_3160
-	ld [$d620], a
+	ld a, [W_ROCKTUNNEL2CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROCKTUNNEL2CURSCRIPT], a
 	ret
 ; 0x45ffe
 
-RockTunnel2Script_Unknown45ffe: ; 0x45ffe
-INCBIN "baserom.gbc",$45ffe,$6
+RockTunnel2Script_Unknown45ffe: ; 45ffe (11:5ffe)
+INCBIN "baserom.gbc",$45ffe,$46004 - $45ffe
 
-RockTunnel2Texts: ; 0x46004
+RockTunnel2Texts: ; 46004 (11:6004)
 	dw RockTunnel2Text1, RockTunnel2Text2, RockTunnel2Text3, RockTunnel2Text4, RockTunnel2Text5, RockTunnel2Text6, RockTunnel2Text7, RockTunnel2Text8
 
-RockTunnel2TrainerHeaders:
-RockTunnel2TrainerHeader0: ; 0x46014
+RockTunnel2TrainerHeaders: ; 46014 (11:6014)
+RockTunnel2TrainerHeader0: ; 46014 (11:6014)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70510,7 +71248,7 @@
 	dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle
 ; 0x46020
 
-RockTunnel2TrainerHeader2: ; 0x46020
+RockTunnel2TrainerHeader2: ; 46020 (11:6020)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70520,7 +71258,7 @@
 	dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle
 ; 0x4602c
 
-RockTunnel2TrainerHeader3: ; 0x4602c
+RockTunnel2TrainerHeader3: ; 4602c (11:602c)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70530,7 +71268,7 @@
 	dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle
 ; 0x46038
 
-RockTunnel2TrainerHeader4: ; 0x46038
+RockTunnel2TrainerHeader4: ; 46038 (11:6038)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70540,7 +71278,7 @@
 	dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle
 ; 0x46044
 
-RockTunnel2TrainerHeader5: ; 0x46044
+RockTunnel2TrainerHeader5: ; 46044 (11:6044)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70550,7 +71288,7 @@
 	dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle
 ; 0x46050
 
-RockTunnel2TrainerHeader6: ; 0x46050
+RockTunnel2TrainerHeader6: ; 46050 (11:6050)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70560,7 +71298,7 @@
 	dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle
 ; 0x4605c
 
-RockTunnel2TrainerHeader7: ; 0x4605c
+RockTunnel2TrainerHeader7: ; 4605c (11:605c)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70570,7 +71308,7 @@
 	dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle
 ; 0x46068
 
-RockTunnel2TrainerHeader8: ; 0x46068
+RockTunnel2TrainerHeader8: ; 46068 (11:6068)
 	db $8 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d87d ; flag's byte
@@ -70582,170 +71320,170 @@
 
 db $ff
 
-RockTunnel2Text1: ; 0x46075
+RockTunnel2Text1: ; 46075 (11:6075)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text2: ; 0x4607f
+RockTunnel2Text2: ; 4607f (11:607f)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text3: ; 0x46089
+RockTunnel2Text3: ; 46089 (11:6089)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text4: ; 0x46093
+RockTunnel2Text4: ; 46093 (11:6093)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text5: ; 0x4609d
+RockTunnel2Text5: ; 4609d (11:609d)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text6: ; 0x460a7
+RockTunnel2Text6: ; 460a7 (11:60a7)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text7: ; 0x460b1
+RockTunnel2Text7: ; 460b1 (11:60b1)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2Text8: ; 0x460bb
+RockTunnel2Text8: ; 460bb (11:60bb)
 	db $08 ; asm
 	ld hl, RockTunnel2TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-RockTunnel2BattleText2: ; 0x460c5
+RockTunnel2BattleText2: ; 460c5 (11:60c5)
 	TX_FAR _RockTunnel2BattleText2
 	db $50
 ; 0x460c5 + 5 bytes
 
-RockTunnel2EndBattleText2: ; 0x460ca
+RockTunnel2EndBattleText2: ; 460ca (11:60ca)
 	TX_FAR _RockTunnel2EndBattleText2
 	db $50
 ; 0x460ca + 5 bytes
 
-RockTunnel2AfterBattleText2: ; 0x460cf
+RockTunnel2AfterBattleText2: ; 460cf (11:60cf)
 	TX_FAR _RockTunnel2AfterBattleText2
 	db $50
 ; 0x460cf + 5 bytes
 
-RockTunnel2BattleText3: ; 0x460d4
+RockTunnel2BattleText3: ; 460d4 (11:60d4)
 	TX_FAR _RockTunnel2BattleText3
 	db $50
 ; 0x460d4 + 5 bytes
 
-RockTunnel2EndBattleText3: ; 0x460d9
+RockTunnel2EndBattleText3: ; 460d9 (11:60d9)
 	TX_FAR _RockTunnel2EndBattleText3
 	db $50
 ; 0x460d9 + 5 bytes
 
-RockTunnel2AfterBattleText3: ; 0x460de
+RockTunnel2AfterBattleText3: ; 460de (11:60de)
 	TX_FAR _RockTunnel2AfterBattleText3
 	db $50
 ; 0x460de + 5 bytes
 
-RockTunnel2BattleText4: ; 0x460e3
+RockTunnel2BattleText4: ; 460e3 (11:60e3)
 	TX_FAR _RockTunnel2BattleText4
 	db $50
 ; 0x460e3 + 5 bytes
 
-RockTunnel2EndBattleText4: ; 0x460e8
+RockTunnel2EndBattleText4: ; 460e8 (11:60e8)
 	TX_FAR _RockTunnel2EndBattleText4
 	db $50
 ; 0x460e8 + 5 bytes
 
-RockTunnel2AfterBattleText4: ; 0x460ed
+RockTunnel2AfterBattleText4: ; 460ed (11:60ed)
 	TX_FAR _RockTunnel2AfterBattleText4
 	db $50
 ; 0x460ed + 5 bytes
 
-RockTunnel2BattleText5: ; 0x460f2
+RockTunnel2BattleText5: ; 460f2 (11:60f2)
 	TX_FAR _RockTunnel2BattleText5
 	db $50
 ; 0x460f2 + 5 bytes
 
-RockTunnel2EndBattleText5: ; 0x460f7
+RockTunnel2EndBattleText5: ; 460f7 (11:60f7)
 	TX_FAR _RockTunnel2EndBattleText5
 	db $50
 ; 0x460f7 + 5 bytes
 
-RockTunnel2AfterBattleText5: ; 0x460fc
+RockTunnel2AfterBattleText5: ; 460fc (11:60fc)
 	TX_FAR _RockTunnel2AfterBattleText5
 	db $50
 ; 0x460fc + 5 bytes
 
-RockTunnel2BattleText6: ; 0x46101
+RockTunnel2BattleText6: ; 46101 (11:6101)
 	TX_FAR _RockTunnel2BattleText6
 	db $50
 ; 0x46101 + 5 bytes
 
-RockTunnel2EndBattleText6: ; 0x46106
+RockTunnel2EndBattleText6: ; 46106 (11:6106)
 	TX_FAR _RockTunnel2EndBattleText6
 	db $50
 ; 0x46106 + 5 bytes
 
-RockTunnel2AfterBattleText6: ; 0x4610b
+RockTunnel2AfterBattleText6: ; 4610b (11:610b)
 	TX_FAR _RockTunnel2AfterBattleText6
 	db $50
 ; 0x4610b + 5 bytes
 
-RockTunnel2BattleText7: ; 0x46110
+RockTunnel2BattleText7: ; 46110 (11:6110)
 	TX_FAR _RockTunnel2BattleText7
 	db $50
 ; 0x46110 + 5 bytes
 
-RockTunnel2EndBattleText7: ; 0x46115
+RockTunnel2EndBattleText7: ; 46115 (11:6115)
 	TX_FAR _RockTunnel2EndBattleText7
 	db $50
 ; 0x46115 + 5 bytes
 
-RockTunnel2AfterBattleText7: ; 0x4611a
+RockTunnel2AfterBattleText7: ; 4611a (11:611a)
 	TX_FAR _RockTunnel2AfterBattleText7
 	db $50
 ; 0x4611a + 5 bytes
 
-RockTunnel2BattleText8: ; 0x4611f
+RockTunnel2BattleText8: ; 4611f (11:611f)
 	TX_FAR _RockTunnel2BattleText8
 	db $50
 ; 0x4611f + 5 bytes
 
-RockTunnel2EndBattleText8: ; 0x46124
+RockTunnel2EndBattleText8: ; 46124 (11:6124)
 	TX_FAR _RockTunnel2EndBattleText8
 	db $50
 ; 0x46124 + 5 bytes
 
-RockTunnel2AfterBattleText8: ; 0x46129
+RockTunnel2AfterBattleText8: ; 46129 (11:6129)
 	TX_FAR _RockTunnel2AfterBattleText8
 	db $50
 ; 0x46129 + 5 bytes
 
-RockTunnel2BattleText9: ; 0x4612e
+RockTunnel2BattleText9: ; 4612e (11:612e)
 	TX_FAR _RockTunnel2BattleText9
 	db $50
 ; 0x4612e + 5 bytes
 
-RockTunnel2EndBattleText9: ; 0x46133
+RockTunnel2EndBattleText9: ; 46133 (11:6133)
 	TX_FAR _RockTunnel2EndBattleText9
 	db $50
 ; 0x46133 + 5 bytes
 
-RockTunnel2AfterBattleText9: ; 0x46138
+RockTunnel2AfterBattleText9: ; 46138 (11:6138)
 	TX_FAR _RockTunnel2AfterBattleText9
 	db $50
 ; 0x46138 + 5 bytes
@@ -70777,7 +71515,7 @@
 	EVENT_DISP $14, $b, $17 ; ROCK_TUNNEL_1
 	EVENT_DISP $14, $3, $3 ; ROCK_TUNNEL_1
 
-RockTunnel2Blocks: ; 0x461a1 360
+RockTunnel2Blocks: ; 461a1 (11:61a1)
 	INCBIN "maps/rocktunnel2.blk"
 
 SeafoamIslands2_h: ; 0x46309 to 0x46315 (12 bytes) (bank=11) (id=159)
@@ -70788,9 +71526,9 @@
 
 	dw SeafoamIslands2Object ; objects
 
-SeafoamIslands2Script: ; 0x46315
+SeafoamIslands2Script: ; 46315 (11:6315)
 	call EnableAutoTextBoxDrawing
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 7, [hl]
 	res 7, [hl]
 	jr z, .asm_46362 ; 0x4631f $41
@@ -70829,12 +71567,12 @@
 	jp Func_46981
 ; 0x4636d
 
-Seafoam2HolesCoords: ; 0x4636d
+Seafoam2HolesCoords: ; 4636d (11:636d)
 	db $06,$12
 	db $06,$17
 	db $ff
 
-SeafoamIslands2Texts: ; 0x46372
+SeafoamIslands2Texts: ; 46372 (11:6372)
 	dw BoulderText, BoulderText
 
 SeafoamIslands2Object: ; 0x46376 (size=72)
@@ -70864,7 +71602,7 @@
 	EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_3
 	EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_1
 
-SeafoamIslands2Blocks: ; 0x463be 135
+SeafoamIslands2Blocks: ; 463be (11:63be)
 	INCBIN "maps/seafoamislands2.blk"
 
 SeafoamIslands3_h: ; 0x46445 to 0x46451 (12 bytes) (bank=11) (id=160)
@@ -70875,9 +71613,9 @@
 
 	dw SeafoamIslands3Object ; objects
 
-SeafoamIslands3Script: ; 0x46451
+SeafoamIslands3Script: ; 46451 (11:6451)
 	call EnableAutoTextBoxDrawing
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 7, [hl]
 	res 7, [hl]
 	jr z, .asm_4649e ; 0x4645b $41
@@ -70916,12 +71654,12 @@
 	jp Func_46981
 ; 0x464a9
 
-Seafoam3HolesCoords: ; 0x464a9
+Seafoam3HolesCoords: ; 464a9 (11:64a9)
 	db $06,$13
 	db $06,$16
 	db $ff
 
-SeafoamIslands3Texts: ; 0x464ae
+SeafoamIslands3Texts: ; 464ae (11:64ae)
 	dw BoulderText, BoulderText
 
 SeafoamIslands3Object: ; 0x464b2 (size=72)
@@ -70951,7 +71689,7 @@
 	EVENT_DISP $f, $b, $19 ; SEAFOAM_ISLANDS_2
 	EVENT_DISP $f, $e, $19 ; SEAFOAM_ISLANDS_4
 
-SeafoamIslands3Blocks: ; 0x464fa 135
+SeafoamIslands3Blocks: ; 464fa (11:64fa)
 	INCBIN "maps/seafoamislands3.blk"
 
 SeafoamIslands4_h: ; 0x46581 to 0x4658d (12 bytes) (bank=11) (id=161)
@@ -70962,9 +71700,9 @@
 
 	dw SeafoamIslands4Object ; objects
 
-SeafoamIslands4Script: ; 0x4658d
+SeafoamIslands4Script: ; 4658d (11:658d)
 	call EnableAutoTextBoxDrawing
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	bit 7, [hl]
 	res 7, [hl]
 	jr z, .asm_465dc ; 0x46597 $43
@@ -71007,19 +71745,19 @@
 	ret nz
 .asm_465ed
 	ld hl, SeafoamIslands4Scripts
-	ld a, [$d666]
+	ld a, [W_SEAFOAMISLANDS4CURSCRIPT]
 	jp CallFunctionInTable
 ; 0x465f6
 
-Seafoam4HolesCoords: ; 0x465f6
+Seafoam4HolesCoords: ; 465f6 (11:65f6)
 	db $10,$03
 	db $10,$06
 	db $ff
 
-SeafoamIslands4Scripts: ; 0x465fb
+SeafoamIslands4Scripts: ; 465fb (11:65fb)
 	dw SeafoamIslands4Script0, SeafoamIslands4Script1, SeafoamIslands4Script2, SeafoamIslands4Script3
 
-SeafoamIslands4Script0: ; 0x46603
+SeafoamIslands4Script0: ; 46603 (11:6603)
 	ld a, [$d880]
 	and $3
 	cp $3
@@ -71036,41 +71774,41 @@
 	dec a
 	ld [$cd38], a
 	call Func_3486
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	set 2, [hl]
 	ld a, $1
-	ld [$d666], a
+	ld [W_SEAFOAMISLANDS4CURSCRIPT], a
 	ret
 ; 0x46632
 
-RLEMovement46632: ; 0x46632
+RLEMovement46632: ; 46632 (11:6632)
 	db $80,6
 	db $10,5
 	db $80,3
 	db $ff
 
-SeafoamIslands4Script1: ; 0x46639
+SeafoamIslands4Script1: ; 46639 (11:6639)
 	ld a, [$cd38]
 	and a
 	ret nz
 	ld a, $0
-	ld [$d666], a
+	ld [W_SEAFOAMISLANDS4CURSCRIPT], a
 	ret
 ; 0x46644
 
-SeafoamIslands4Script2: ; 0x46644
+SeafoamIslands4Script2: ; 46644 (11:6644)
 INCBIN "baserom.gbc",$46644,$4668f - $46644
 
-SeafoamIslands4Script3: ; 0x4668f
+SeafoamIslands4Script3: ; 4668f (11:668f)
 	ld a, [$cd38]
 	and a
 	ret nz
 	ld a, $0
-	ld [$d666], a
+	ld [W_SEAFOAMISLANDS4CURSCRIPT], a
 	ret
 ; 0x4669a
 
-SeafoamIslands4Texts: ; 0x4669a
+SeafoamIslands4Texts: ; 4669a (11:669a)
 	dw BoulderText, BoulderText, BoulderText, BoulderText, BoulderText, BoulderText
 
 SeafoamIslands4Object: ; 0x466a6 (size=96)
@@ -71104,7 +71842,7 @@
 	EVENT_DISP $f, $11, $14 ; SEAFOAM_ISLANDS_5
 	EVENT_DISP $f, $11, $15 ; SEAFOAM_ISLANDS_5
 
-SeafoamIslands4Blocks: ; 0x46706 135
+SeafoamIslands4Blocks: ; 46706 (11:6706)
 	INCBIN "maps/seafoamislands4.blk"
 
 SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162)
@@ -71115,9 +71853,9 @@
 
 	dw SeafoamIslands5Object ; objects
 
-SeafoamIslands5Script: ; 0x46799
+SeafoamIslands5Script: ; 46799 (11:6799)
 	call EnableAutoTextBoxDrawing
-	ld a, [$d668]
+	ld a, [W_SEAFOAMISLANDS5CURSCRIPT]
 	ld hl, SeafoamIslands5Scripts
 	jp CallFunctionInTable
 ; 0x467a5
@@ -71124,17 +71862,17 @@
 
 INCBIN "baserom.gbc",$467a5,$467ad - $467a5
 
-SeafoamIslands5Scripts: ; 0x467ad
+SeafoamIslands5Scripts: ; 467ad (11:67ad)
 	dw SeafoamIslands5Script0, SeafoamIslands5Script1
 
-INCBIN "baserom.gbc",$467b1,$16
+INCBIN "baserom.gbc",$467b1,$467c7 - $467b1
 
-SeafoamIslands5Script0: ; 0x467c7
+SeafoamIslands5Script0: ; 467c7 (11:67c7)
 	ld a, [$d880]
 	and $3
 	cp $3
 	ret z
-	ld hl, $67fe
+	ld hl, Unknown_467fe ; $67fe
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, [$cd3d]
@@ -71151,33 +71889,34 @@
 	ld a, $40
 	ld [$ccd3], a
 	call Func_3486
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	res 2, [hl]
 	ld a, $1
-	ld [$d668], a
+	ld [W_SEAFOAMISLANDS5CURSCRIPT], a
 	ret
 ; 0x467fe
 
+Unknown_467fe: ; 467fe (11:67fe)
 INCBIN "baserom.gbc",$467fe,$46807 - $467fe
 
-SeafoamIslands5Script1: ; 0x46807
+SeafoamIslands5Script1: ; 46807 (11:6807)
 	ld a, [$cd38]
 	and a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d668], a
+	ld [W_SEAFOAMISLANDS5CURSCRIPT], a
 	ret
 ; 0x46816
 
-INCBIN "baserom.gbc",$46816,$66
+INCBIN "baserom.gbc",$46816,$4687c - $46816
 
-SeafoamIslands5Texts: ; 0x4687c
+SeafoamIslands5Texts: ; 4687c (11:687c)
 	dw BoulderText, BoulderText, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5
 
-SeafoamIslands5TrainerHeaders:
-SeafoamIslands5TrainerHeader0: ; 0x46886
+SeafoamIslands5TrainerHeaders: ; 46886 (11:6886)
+SeafoamIslands5TrainerHeader0: ; 46886 (11:6886)
 	db $2 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d882 ; flag's byte
@@ -71189,28 +71928,28 @@
 
 db $ff
 
-SeafoamIslands5Text3: ; 0x46893
+SeafoamIslands5Text3: ; 46893 (11:6893)
 	db $08 ; asm
 	ld hl, SeafoamIslands5TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	ld a, $4
-	ld [$d668], a
+	ld [W_SEAFOAMISLANDS5CURSCRIPT], a
 	jp TextScriptEnd
 
-SeafoamIslands5BattleText2: ; 0x468a2
+SeafoamIslands5BattleText2: ; 468a2 (11:68a2)
 	TX_FAR _SeafoamIslands5BattleText2 ; 0x88075
 	db $8
 	ld a, ARTICUNO
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 0x468b2
 
-SeafoamIslands5Text4: ; 0x468b2
+SeafoamIslands5Text4: ; 468b2 (11:68b2)
 	TX_FAR _SeafoamIslands5Text4
 	db $50
 
-SeafoamIslands5Text5: ; 0x468b7
+SeafoamIslands5Text5: ; 468b7 (11:68b7)
 	TX_FAR _SeafoamIslands5Text5
 	db $50
 
@@ -71238,7 +71977,7 @@
 	EVENT_DISP $f, $7, $b ; SEAFOAM_ISLANDS_4
 	EVENT_DISP $f, $4, $19 ; SEAFOAM_ISLANDS_4
 
-SeafoamIslands5Blocks: ; 0x468fa 135
+SeafoamIslands5Blocks: ; 468fa (11:68fa)
 	INCBIN "maps/seafoamislands5.blk"
 
 ; known jump sources: 44843 (11:4843), 44a06 (11:4a06), 4636a (11:636a)
@@ -71267,7 +72006,7 @@
 	ld [hli], a
 	ld [hl], a
 	ld de, $0
-	ld hl, $6a40
+	ld hl, HiddenObjectMaps ; $6a40
 .asm_469ae
 	ld a, [hli]
 	ld b, a
@@ -71280,7 +72019,7 @@
 	inc de
 	jr .asm_469ae
 .asm_469be
-	ld hl, $6a96
+	ld hl, HiddenObjectPointers ; $6a96
 	add hl, de
 	ld a, [hli]
 	ld h, [hl]
@@ -71372,7 +72111,7 @@
 	ld [$FF00+$ea], a
 	ret
 ; 46a40 (11:6a40)
-HiddenObjectMaps: ; 0x46a40
+HiddenObjectMaps: ; 46a40 (11:6a40)
 	db REDS_HOUSE_2F
 	db BLUES_HOUSE
 	db OAKS_LAB
@@ -71460,7 +72199,7 @@
 	db ROUTE_4
 	db $FF
 
-HiddenObjectPointers: ; 0x46a96
+HiddenObjectPointers: ; 46a96 (11:6a96)
 ; each of these pointers is for the corresponding map in HiddenObjectMaps
 	dw RedsHouse2FHiddenObjects
 	dw BluesHouseHiddenObjects
@@ -71548,25 +72287,25 @@
 	dw CeruleanCityHiddenObjects
 	dw Route4HiddenObjects
 
-BattleCenterHiddenObjects:
+BattleCenterHiddenObjects: ; 46b40 (11:6b40)
 	db $04,$05,$d0 ; XXX, y, x
 	dbw $08,$5845
 	db $04,$04,$d0 ; XXX, y, x
 	dbw $08,$5825
 	db $FF
-TradeCenterHiddenObjects:
+TradeCenterHiddenObjects: ; 46b4d (11:6b4d)
 	db $04,$05,$d0 ; XXX, y, x
 	dbw $08,$5845
 	db $04,$04,$d0 ; XXX, y, x
 	dbw $08,$5825
 	db $FF
-RedsHouse2FHiddenObjects:
+RedsHouse2FHiddenObjects: ; 46b5a (11:6b5a)
 	db $01,$00,$04 ; XXX, y, x
 	dbw $17,$5b86
 	db $05,$03,$d0 ; XXX, y, x
 	dbw $17,$5b79
 	db $FF
-BluesHouseHiddenObjects:
+BluesHouseHiddenObjects: ; 46b67 (11:6b67)
 	db $01,$00,$04 ; XXX, y, x
 	dbw $18,$6509
 	db $01,$01,$04 ; XXX, y, x
@@ -71574,7 +72313,7 @@
 	db $01,$07,$04 ; XXX, y, x
 	dbw $18,$6509
 	db $FF
-OaksLabHiddenObjects:
+OaksLabHiddenObjects: ; 46b7a (11:6b7a)
 	db $00,$04,$04 ; XXX, y, x
 	dbw $07,$6958
 	db $00,$05,$04 ; XXX, y, x
@@ -71584,73 +72323,73 @@
 	db $01,$01,$04 ; XXX, y, x
 	dbw $07,$6caf
 	db $FF
-ViridianPokecenterHiddenObjects:
+ViridianPokecenterHiddenObjects: ; 46b93 (11:6b93)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-ViridianMartHiddenObjects:
+ViridianMartHiddenObjects: ; 46ba0 (11:6ba0)
 	db $FF
-ViridianSchoolHiddenObjects:
+ViridianSchoolHiddenObjects: ; 46ba1 (11:6ba1)
 	db $04,$03,$20 ; XXX, y, x
 	dbw $14,$6996
 	db $00,$03,$21 ; XXX, y, x
 	dbw $17,$5c1a
 	db $FF
-ViridianGymHiddenObjects:
+ViridianGymHiddenObjects: ; 46bae (11:6bae)
 	db $0f,$0f,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $0f,$12,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $FF
-Museum1FHiddenObjects:
+Museum1FHiddenObjects: ; 46bbb (11:6bbb)
 	db $03,$02,$04 ; XXX, y, x
 	dbw $17,$5bad
 	db $06,$02,$04 ; XXX, y, x
 	dbw $17,$5bc3
 	db $FF
-PewterGymHiddenObjects:
+PewterGymHiddenObjects: ; 46bc8 (11:6bc8)
 	db $0a,$03,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $0a,$06,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $FF
-PewterMartHiddenObjects:
+PewterMartHiddenObjects: ; 46bd5 (11:6bd5)
 	db $FF
-PewterPokecenterHiddenObjects:
+PewterPokecenterHiddenObjects: ; 46bd6 (11:6bd6)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-CeruleanPokecenterHiddenObjects:
+CeruleanPokecenterHiddenObjects: ; 46be3 (11:6be3)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-CeruleanGymHiddenObjects:
+CeruleanGymHiddenObjects: ; 46bf0 (11:6bf0)
 	db $0b,$03,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $0b,$06,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $FF
-CeruleanMartHiddenObjects:
+CeruleanMartHiddenObjects: ; 46bfd (11:6bfd)
 	db $FF
-LavenderPokecenterHiddenObjects:
+LavenderPokecenterHiddenObjects: ; 46bfe (11:6bfe)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-VermilionPokecenterHiddenObjects:
+VermilionPokecenterHiddenObjects: ; 46c0b (11:6c0b)
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $04,$00,$04 ; XXX, y, x
 	dbw $18,$645d
 	db $FF
-VermilionGymHiddenObjects:
+VermilionGymHiddenObjects: ; 46c18 (11:6c18)
 	db $0e,$03,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $0e,$06,$04 ; XXX, y, x
@@ -71688,23 +72427,23 @@
 	db $0b,$09,$0e ; XXX, y, x
 	dbw $17,$5dfc
 	db $FF
-CeladonMansion2HiddenObjects:
+CeladonMansion2HiddenObjects: ; 46c85 (11:6c85)
 	db $05,$00,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-CeladonPokecenterHiddenObjects:
+CeladonPokecenterHiddenObjects: ; 46c8c (11:6c8c)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-CeladonGymHiddenObjects:
+CeladonGymHiddenObjects: ; 46c99 (11:6c99)
 	db $0f,$03,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $0f,$06,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $FF
-GameCornerHiddenObjects:
+GameCornerHiddenObjects: ; 46ca6 (11:6ca6)
 	db $0f,$12,$d0 ; XXX, y, x
 	dbw $0d,$7e2d
 	db $0e,$12,$d0 ; XXX, y, x
@@ -71802,25 +72541,25 @@
 	db $0f,$0c,COIN+10
 	dbw BANK(HiddenCoins),HiddenCoins
 	db $FF
-CeladonHotelHiddenObjects:
+CeladonHotelHiddenObjects: ; 46dc7 (11:6dc7)
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $FF
-FuchsiaPokecenterHiddenObjects:
+FuchsiaPokecenterHiddenObjects: ; 46dd4 (11:6dd4)
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $04,$00,$04 ; XXX, y, x
 	dbw $18,$645d
 	db $FF
-FuchsiaGymHiddenObjects:
+FuchsiaGymHiddenObjects: ; 46de1 (11:6de1)
 	db $0f,$03,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $0f,$06,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $FF
-CinnabarGymHiddenObjects:
+CinnabarGymHiddenObjects: ; 46dee (11:6dee)
 	db $0d,$11,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $07,$0f,$01 ; XXX, y, x
@@ -71836,57 +72575,57 @@
 	db $07,$01,$16 ; XXX, y, x
 	dbw $07,$6a17
 	db $FF
-CinnabarPokecenterHiddenObjects:
+CinnabarPokecenterHiddenObjects: ; 46e19 (11:6e19)
 	db $04,$00,$04 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-SaffronGymHiddenObjects:
+SaffronGymHiddenObjects: ; 46e26 (11:6e26)
 	db $0f,$09,$04 ; XXX, y, x
 	dbw BANK(GymStatues),GymStatues
 	db $FF
-MtMoonPokecenterHiddenObjects:
+MtMoonPokecenterHiddenObjects: ; 46e2d (11:6e2d)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-RockTunnelPokecenterHiddenObjects:
+RockTunnelPokecenterHiddenObjects: ; 46e3a (11:6e3a)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-ViridianForestHiddenObjects:
+ViridianForestHiddenObjects: ; 46e47 (11:6e47)
 	db $12,$01,POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $2a,$10,ANTIDOTE
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-MtMoon3HiddenObjects:
+MtMoon3HiddenObjects: ; 46e54 (11:6e54)
 	db $0c,$12,MOON_STONE
 	dbw BANK(HiddenItems),HiddenItems
 	db $09,$21,ETHER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-IndigoPlateauHiddenObjects:
+IndigoPlateauHiddenObjects: ; 46e61 (11:6e61)
 	db $0d,$08,$ff ; XXX, y, x
 	dbw $14,$6a2f
 	db $0d,$0b,$00 ; XXX, y, x
 	dbw $14,$6a2f
 	db $FF
-Route25HiddenObjects:
+Route25HiddenObjects: ; 46e6e (11:6e6e)
 	db $03,$26,ETHER
 	dbw BANK(HiddenItems),HiddenItems
 	db $01,$0a,ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Route9HiddenObjects:
+Route9HiddenObjects: ; 46e7b (11:6e7b)
 	db $07,$0e,ETHER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SSAnne6HiddenObjects:
+SSAnne6HiddenObjects: ; 46e82 (11:6e82)
 	db $05,$0d,$00 ; XXX, y, x
 	dbw $17,$5def
 	db $07,$0d,$00 ; XXX, y, x
@@ -71894,103 +72633,103 @@
 	db $09,$0d,GREAT_BALL
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SSAnne10HiddenObjects:
+SSAnne10HiddenObjects: ; 46e95 (11:6e95)
 	db $01,$03,HYPER_POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Route10HiddenObjects:
+Route10HiddenObjects: ; 46e9c (11:6e9c)
 	db $11,$09,SUPER_POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $35,$10,MAX_ETHER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-RocketHideout1HiddenObjects:
+RocketHideout1HiddenObjects: ; 46ea9 (11:6ea9)
 	db $0f,$15,PP_UP
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-RocketHideout3HiddenObjects:
+RocketHideout3HiddenObjects: ; 46eb0 (11:6eb0)
 	db $11,$1b,NUGGET
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-RocketHideout4HiddenObjects:
+RocketHideout4HiddenObjects: ; 46eb7 (11:6eb7)
 	db $01,$19,SUPER_POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SaffronPokecenterHiddenObjects:
+SaffronPokecenterHiddenObjects: ; 46ebe (11:6ebe)
 	db $04,$00,$04 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-PokemonTower5HiddenObjects:
+PokemonTower5HiddenObjects: ; 46ecb (11:6ecb)
 	db $0c,$04,ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Route13HiddenObjects:
+Route13HiddenObjects: ; 46ed2 (11:6ed2)
 	db $0e,$01,PP_UP
 	dbw BANK(HiddenItems),HiddenItems
 	db $0d,$10,CALCIUM
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SafariZoneEntranceHiddenObjects:
+SafariZoneEntranceHiddenObjects: ; 46edf (11:6edf)
 	db $01,$0a,NUGGET
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SafariZoneWestHiddenObjects:
+SafariZoneWestHiddenObjects: ; 46ee6 (11:6ee6)
 	db $05,$06,REVIVE
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SilphCo5FHiddenObjects:
+SilphCo5FHiddenObjects: ; 46eed (11:6eed)
 	db $03,$0c,ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SilphCo9FHiddenObjects:
+SilphCo9FHiddenObjects: ; 46ef4 (11:6ef4)
 	db $0f,$02,MAX_POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-CopycatsHouse2FHiddenObjects:
+CopycatsHouse2FHiddenObjects: ; 46efb (11:6efb)
 	db $01,$01,NUGGET
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-UnknownDungeon1HiddenObjects:
+UnknownDungeon1HiddenObjects: ; 46f02 (11:6f02)
 	db $0b,$0e,RARE_CANDY
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-UnknownDungeon3HiddenObjects:
+UnknownDungeon3HiddenObjects: ; 46f09 (11:6f09)
 	db $03,$1b,ULTRA_BALL
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-PowerPlantHiddenObjects:
+PowerPlantHiddenObjects: ; 46f10 (11:6f10)
 	db $10,$11,MAX_ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $01,$0c,PP_UP
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SeafoamIslands3HiddenObjects:
+SeafoamIslands3HiddenObjects: ; 46f1d (11:6f1d)
 	db $0f,$0f,NUGGET
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SeafoamIslands5HiddenObjects:
+SeafoamIslands5HiddenObjects: ; 46f24 (11:6f24)
 	db $11,$19,ULTRA_BALL
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Mansion1HiddenObjects:
+Mansion1HiddenObjects: ; 46f2b (11:6f2b)
 	db $10,$08,MOON_STONE
 	dbw BANK(HiddenItems),HiddenItems
 	db $05,$02,$04 ; XXX, y, x
 	dbw $11,$4316
 	db $FF
-Mansion2HiddenObjects:
+Mansion2HiddenObjects: ; 46f38 (11:6f38)
 	db $0b,$02,$04 ; XXX, y, x
 	dbw $14,$6037
 	db $FF
-Mansion3HiddenObjects:
+Mansion3HiddenObjects: ; 46f3f (11:6f3f)
 	db $09,$01,MAX_REVIVE
 	dbw BANK(HiddenItems),HiddenItems
 	db $05,$0a,$04 ; XXX, y, x
 	dbw $14,$627a
 	db $FF
-Mansion4HiddenObjects:
+Mansion4HiddenObjects: ; 46f4c (11:6f4c)
 	db $09,$01,RARE_CANDY
 	dbw BANK(HiddenItems),HiddenItems
 	db $03,$14,$04 ; XXX, y, x
@@ -71998,7 +72737,7 @@
 	db $19,$12,$04 ; XXX, y, x
 	dbw $14,$6420
 	db $FF
-Route23HiddenObjects:
+Route23HiddenObjects: ; 46f5f (11:6f5f)
 	db $2c,$09,FULL_RESTORE
 	dbw BANK(HiddenItems),HiddenItems
 	db $46,$13,ULTRA_BALL
@@ -72006,47 +72745,47 @@
 	db $5a,$08,MAX_ETHER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-VictoryRoad2HiddenObjects:
+VictoryRoad2HiddenObjects: ; 46f72 (11:6f72)
 	db $02,$05,ULTRA_BALL
 	dbw BANK(HiddenItems),HiddenItems
 	db $07,$1a,FULL_RESTORE
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Unused6FHiddenObjects:
+Unused6FHiddenObjects: ; 46f7f (11:6f7f)
 	db $0b,$0e,MAX_ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-BillsHouseHiddenObjects:
+BillsHouseHiddenObjects: ; 46f86 (11:6f86)
 	db $04,$01,$04 ; XXX, y, x
 	dbw $07,$6b6e
 	db $FF
-ViridianCityHiddenObjects:
+ViridianCityHiddenObjects: ; 46f8d (11:6f8d)
 	db $04,$0e,POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SafariZoneRestHouse2HiddenObjects:
+SafariZoneRestHouse2HiddenObjects: ; 46f94 (11:6f94)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-SafariZoneRestHouse3HiddenObjects:
+SafariZoneRestHouse3HiddenObjects: ; 46fa1 (11:6fa1)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-SafariZoneRestHouse4HiddenObjects:
+SafariZoneRestHouse4HiddenObjects: ; 46fae (11:6fae)
 	db $04,$00,$08 ; XXX, y, x
 	dbw $18,$645d
 	db $03,$0d,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-UnusedB9HiddenObjects:
+UnusedB9HiddenObjects: ; 46fbb (11:6fbb)
 	db $02,$01,$04 ; XXX, y, x
 	dbw $17,$5b8f
 	db $FF
-LavenderHouse1HiddenObjects:
+LavenderHouse1HiddenObjects: ; 46fc2 (11:6fc2)
 	db $01,$00,$00 ; XXX, y, x
 	dbw $07,$6b60
 	db $01,$01,$00 ; XXX, y, x
@@ -72054,7 +72793,7 @@
 	db $01,$07,$00 ; XXX, y, x
 	dbw $07,$6b60
 	db $FF
-CeladonMansion5HiddenObjects:
+CeladonMansion5HiddenObjects: ; 46fd5 (11:6fd5)
 	db $00,$03,$34 ; XXX, y, x
 	dbw $17,$5c1a
 	db $00,$04,$34 ; XXX, y, x
@@ -72062,7 +72801,7 @@
 	db $04,$03,$35 ; XXX, y, x
 	dbw $14,$6996
 	db $FF
-FightingDojoHiddenObjects:
+FightingDojoHiddenObjects: ; 46fe8 (11:6fe8)
 	db $09,$03,$04 ; XXX, y, x
 	dbw $14,$6a22
 	db $09,$06,$04 ; XXX, y, x
@@ -72072,17 +72811,17 @@
 	db $00,$05,$04 ; XXX, y, x
 	dbw $14,$6a15
 	db $FF
-IndigoPlateauLobbyHiddenObjects:
+IndigoPlateauLobbyHiddenObjects: ; 47001 (11:7001)
 	db $07,$0f,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-CinnabarLab4HiddenObjects:
+CinnabarLab4HiddenObjects: ; 47008 (11:7008)
 	db $04,$00,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $04,$02,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-BikeShopHiddenObjects:
+BikeShopHiddenObjects: ; 47015 (11:7015)
 	db $00,$01,$d0 ; XXX, y, x
 	dbw $07,$694b
 	db $01,$02,$d0 ; XXX, y, x
@@ -72096,19 +72835,19 @@
 	db $05,$01,$d0 ; XXX, y, x
 	dbw $07,$694b
 	db $FF
-Route11HiddenObjects:
+Route11HiddenObjects: ; 4703a (11:703a)
 	db $05,$30,ESCAPE_ROPE
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Route12HiddenObjects:
+Route12HiddenObjects: ; 47041 (11:7041)
 	db $3f,$02,HYPER_POTION
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SilphCo11FHiddenObjects:
+SilphCo11FHiddenObjects: ; 47048 (11:7048)
 	db $0c,$0a,$04 ; XXX, y, x
 	dbw $18,$6516
 	db $FF
-Route17HiddenObjects:
+Route17HiddenObjects: ; 4704f (11:704f)
 	db $0e,$0f,RARE_CANDY
 	dbw BANK(HiddenItems),HiddenItems
 	db $2d,$08,FULL_RESTORE
@@ -72120,40 +72859,40 @@
 	db $79,$08,MAX_ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-UndergroundPathNsHiddenObjects:
+UndergroundPathNsHiddenObjects: ; 4706e (11:706e)
 	db $04,$03,FULL_RESTORE
 	dbw BANK(HiddenItems),HiddenItems
 	db $22,$04,X_SPECIAL
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-UndergroundPathWeHiddenObjects:
+UndergroundPathWeHiddenObjects: ; 4707b (11:707b)
 	db $02,$0c,NUGGET
 	dbw BANK(HiddenItems),HiddenItems
 	db $05,$15,ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-CeladonCityHiddenObjects:
+CeladonCityHiddenObjects: ; 47088 (11:7088)
 	db $0f,$30,PP_UP
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-SeafoamIslands4HiddenObjects:
+SeafoamIslands4HiddenObjects: ; 4708f (11:708f)
 	db $10,$09,MAX_ELIXER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-VermilionCityHiddenObjects:
+VermilionCityHiddenObjects: ; 47096 (11:7096)
 	db $0b,$0e,MAX_ETHER
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-CeruleanCityHiddenObjects:
+CeruleanCityHiddenObjects: ; 4709d (11:709d)
 	db $08,$0f,RARE_CANDY
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
-Route4HiddenObjects:
+Route4HiddenObjects: ; 470a4 (11:70a4)
 	db $03,$28,GREAT_BALL
 	dbw BANK(HiddenItems),HiddenItems
 	db $FF
 
-INCBIN "baserom.gbc",$470ab,$48000-$470ab
+INCBIN "baserom.gbc",$470ab,$48000 - $470ab
 
 SECTION "bank12",DATA,BANK[$12]
 
@@ -72205,24 +72944,24 @@
 	EVENT_DISP $a, $a, $b ; ROUTE_7_GATE
 	EVENT_DISP $a, $d, $5 ; PATH_ENTRANCE_ROUTE_7
 
-Route7Blocks: ; 4051 90
+Route7Blocks: ; 48051 (12:4051)
 	INCBIN "maps/route7.blk"
 
-CeladonPokecenterBlocks:
-RockTunnelPokecenterBlocks:
-MtMoonPokecenterBlocks: ; 40ab 28
+CeladonPokecenterBlocks: ; 480ab (12:40ab)
+RockTunnelPokecenterBlocks: ; 480ab (12:40ab)
+MtMoonPokecenterBlocks: ; 480ab (12:40ab)
 	INCBIN "maps/mtmoonpokecenter.blk"
 
-Route18GateBlocks:
-Route15GateBlocks:
-Route11GateBlocks: ; 40c7 20
+Route18GateBlocks: ; 480c7 (12:40c7)
+Route15GateBlocks: ; 480c7 (12:40c7)
+Route11GateBlocks: ; 480c7 (12:40c7)
 	INCBIN "maps/route11gate.blk"
 
-Route18GateHeaderBlocks:
-Route16GateUpstairsBlocks:
-Route12GateUpstairsBlocks:
-Route15GateUpstairsBlocks:
-Route11GateUpstairsBlocks: ; 40db 16
+Route18GateHeaderBlocks: ; 480db (12:40db)
+Route16GateUpstairsBlocks: ; 480db (12:40db)
+Route12GateUpstairsBlocks: ; 480db (12:40db)
+Route15GateUpstairsBlocks: ; 480db (12:40db)
+Route11GateUpstairsBlocks: ; 480db (12:40db)
 	INCBIN "maps/route11gateupstairs.blk"
 
 ; known jump sources: c72b (3:472b)
@@ -72295,7 +73034,7 @@
 	ld c, $4
 	jp DelayFrames
 ; 48152 (12:4152)
-Route7Script: ; 0x48152
+Route7Script: ; 48152 (12:4152)
 	jp EnableAutoTextBoxDrawing
 ; 0x48155
 
@@ -72302,11 +73041,11 @@
 ; XXX
 db $57, $41
 
-Route7Text1: ; 0x48157
+Route7Text1: ; 48157 (12:4157)
 	TX_FAR _Route7Text1
 	db $50
 
-RedsHouse1F_h: ; 415C
+RedsHouse1F_h: ; 4815c (12:415c)
 	db $01 ; tileset
 	db $04,$04 ; dimensions
 	dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript
@@ -72313,13 +73052,13 @@
 	db 0 ; no connections
 	dw RedsHouse1FObject
 
-RedsHouse1FScript: ; 4168
+RedsHouse1FScript: ; 48168 (12:4168)
 	jp EnableAutoTextBoxDrawing
 
-RedsHouse1FTexts: ; 416B
+RedsHouse1FTexts: ; 4816b (12:416b)
 	dw RedsHouse1FText1,RedsHouse1FText2
 
-RedsHouse1FText1: ; 416F Mom
+RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom
 	db 8
 	ld a, [$D72E]
 	bit 3, a
@@ -72332,11 +73071,11 @@
 .done
 	jp TextScriptEnd
 
-MomWakeUpText: ; 0x48185
+MomWakeUpText: ; 48185 (12:4185)
 	TX_FAR _MomWakeUpText
 	db "@"
 
-MomHealPokemon: ; 0x4818a
+MomHealPokemon: ; 4818a (12:418a)
 	ld hl, MomHealText1
 	call PrintText
 	call GBFadeOut2
@@ -72356,10 +73095,10 @@
 	ld hl, MomHealText2
 	jp PrintText
 
-MomHealText1: ; 0x481bc
+MomHealText1: ; 481bc (12:41bc)
 	TX_FAR _MomHealText1
 	db "@"
-MomHealText2: ; 0x481c1
+MomHealText2: ; 481c1 (12:41c1)
 	TX_FAR _MomHealText2
 	db "@"
 
@@ -72374,15 +73113,15 @@
 	call PrintText
 	jp TextScriptEnd
 
-StandByMeText: ; 0x481da
+StandByMeText: ; 481da (12:41da)
 	TX_FAR _StandByMeText
 	db "@"
 
-TVWrongSideText: ; 0x481df
+TVWrongSideText: ; 481df (12:41df)
 	TX_FAR _TVWrongSideText
 	db "@"
 
-RedsHouse1FObject: ; 0x481e4
+RedsHouse1FObject: ; 481e4 (12:41e4)
 	db $0A ; border tile
 
 	db 3 ; warps
@@ -72407,7 +73146,7 @@
 	dw $C6EF + 4 + (4 + 6) * (0) + 3
 	db 1,7
 
-RedsHouse1FBlocks:
+RedsHouse1FBlocks: ; 48209 (12:4209)
 	INCBIN "maps/redshouse1f.blk"
 
 CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124)
@@ -72418,14 +73157,14 @@
 
 	dw CeladonMart3Object ; objects
 
-CeladonMart3Script: ; 0x48225
+CeladonMart3Script: ; 48225 (12:4225)
 	jp EnableAutoTextBoxDrawing
 ; 0x48228
 
-CeladonMart3Texts: ; 0x48228
+CeladonMart3Texts: ; 48228 (12:4228)
 	dw CeladonMart3Text1, CeladonMart3Text2, CeladonMart3Text3, CeladonMart3Text4, CeladonMart3Text5, CeladonMart3Text6, CeladonMart3Text7, CeladonMart3Text8, CeladonMart3Text9, CeladonMart3Text10, CeladonMart3Text11, CeladonMart3Text12, CeladonMart3Text13, CeladonMart3Text14, CeladonMart3Text15, CeladonMart3Text16, CeladonMart3Text17
 
-CeladonMart3Text1: ; 0x4824a
+CeladonMart3Text1: ; 4824a (12:424a)
 	db $08 ; asm
 	ld a, [$d778]
 	bit 7, a
@@ -72448,72 +73187,72 @@
 	call PrintText
 	jp TextScriptEnd
 
-TM18PreReceiveText: ; 0x48278
+TM18PreReceiveText: ; 48278 (12:4278)
 	TX_FAR _TM18PreReceiveText
 	db $50
 ; 0x48278 + 5 bytes
 
-ReceivedTM18Text: ; 0x4827d
+ReceivedTM18Text: ; 4827d (12:427d)
 	TX_FAR _ReceivedTM18Text ; 0x9c85a
 	db $0B, $50
 ; 0x48283
 
-TM18ExplanationText: ; 0x48283
+TM18ExplanationText: ; 48283 (12:4283)
 	TX_FAR _TM18ExplanationText
 	db $50
 ; 0x48283 + 5 bytes
 
-TM18NoRoomText: ; 0x48288
+TM18NoRoomText: ; 48288 (12:4288)
 	TX_FAR _TM18NoRoomText
 	db $50
 ; 0x48288 + 5 bytes
 
-CeladonMart3Text2: ; 0x4828d
+CeladonMart3Text2: ; 4828d (12:428d)
 	TX_FAR _CeladonMart3Text2
 	db $50
 
-CeladonMart3Text3: ; 0x48292
+CeladonMart3Text3: ; 48292 (12:4292)
 	TX_FAR _CeladonMart3Text3
 	db $50
 
-CeladonMart3Text4: ; 0x48297
+CeladonMart3Text4: ; 48297 (12:4297)
 	TX_FAR _CeladonMart3Text4
 	db $50
 
-CeladonMart3Text5: ; 0x4829c
+CeladonMart3Text5: ; 4829c (12:429c)
 	TX_FAR _CeladonMart3Text5
 	db $50
 
 CeladonMart3Text12
-CeladonMart3Text10:
-CeladonMart3Text8:
-CeladonMart3Text6: ; 0x482a1
+CeladonMart3Text10: ; 482a1 (12:42a1)
+CeladonMart3Text8: ; 482a1 (12:42a1)
+CeladonMart3Text6: ; 482a1 (12:42a1)
 	TX_FAR _CeladonMart3Text6
 	db $50
 
-CeladonMart3Text7: ; 0x482a6
+CeladonMart3Text7: ; 482a6 (12:42a6)
 	TX_FAR _CeladonMart3Text7
 	db $50
 
-CeladonMart3Text9: ; 0x482ab
+CeladonMart3Text9: ; 482ab (12:42ab)
 	TX_FAR _CeladonMart3Text9
 	db $50
 
-CeladonMart3Text11: ; 0x482b0
+CeladonMart3Text11: ; 482b0 (12:42b0)
 	TX_FAR _CeladonMart3Text11
 	db $50
 
-CeladonMart3Text13: ; 0x482b5
+CeladonMart3Text13: ; 482b5 (12:42b5)
 	TX_FAR _CeladonMart3Text13
 	db $50
 
-CeladonMart3Text14: ; 0x482ba
+CeladonMart3Text14: ; 482ba (12:42ba)
 	TX_FAR _CeladonMart3Text14
 	db $50
 
-CeladonMart3Text17:
-CeladonMart3Text16:
-CeladonMart3Text15: ; 0x482bf
+CeladonMart3Text17: ; 482bf (12:42bf)
+CeladonMart3Text16: ; 482bf (12:42bf)
+CeladonMart3Text15: ; 482bf (12:42bf)
 	TX_FAR _CeladonMart3Text15
 	db $50
 
@@ -72551,7 +73290,7 @@
 	EVENT_DISP $a, $1, $10 ; CELADON_MART_2
 	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
 
-CeladonMart3Blocks: ; 0x48322 40
+CeladonMart3Blocks: ; 48322 (12:4322)
 	INCBIN "maps/celadonmart3.blk"
 
 CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125)
@@ -72562,22 +73301,22 @@
 
 	dw CeladonMart4Object ; objects
 
-CeladonMart4Script: ; 0x48356
+CeladonMart4Script: ; 48356 (12:4356)
 	jp EnableAutoTextBoxDrawing
 ; 0x48359
 
-CeladonMart4Texts: ; 0x48359
+CeladonMart4Texts: ; 48359 (12:4359)
 	dw CeladonMart4Text1, CeladonMart4Text2, CeladonMart4Text3, CeladonMart4Text4
 
-CeladonMart4Text2: ; 0x48361
+CeladonMart4Text2: ; 48361 (12:4361)
 	TX_FAR _CeladonMart4Text2
 	db $50
 
-CeladonMart4Text3: ; 0x48366
+CeladonMart4Text3: ; 48366 (12:4366)
 	TX_FAR _CeladonMart4Text3
 	db $50
 
-CeladonMart4Text4: ; 0x4836b
+CeladonMart4Text4: ; 4836b (12:436b)
 	TX_FAR _CeladonMart4Text4
 	db $50
 
@@ -72602,7 +73341,7 @@
 	EVENT_DISP $a, $1, $10 ; CELADON_MART_5
 	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
 
-CeladonMart4Blocks: ; 0x483a1 40
+CeladonMart4Blocks: ; 483a1 (12:43a1)
 	INCBIN "maps/celadonmart4.blk"
 
 CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126)
@@ -72613,7 +73352,7 @@
 
 	dw CeladonMartRoofObject ; objects
 
-CeladonMartRoofScript: ; 0x483d5
+CeladonMartRoofScript: ; 483d5 (12:43d5)
 	jp EnableAutoTextBoxDrawing
 ; 0x483d8
 
@@ -72622,7 +73361,7 @@
 	xor a
 	ld [$cd37], a
 	ld de, $cc5b
-	ld hl, $4408
+	ld hl, Unknown_48408 ; $4408
 .asm_483e2
 	ld a, [hli]
 	and a
@@ -72651,6 +73390,7 @@
 	ld [de], a
 	ret
 
+Unknown_48408: ; 48408 (12:4408)
 INCBIN "baserom.gbc",$48408,$4840c - $48408
 
 ; known jump sources: 4858a (12:458a)
@@ -72657,7 +73397,7 @@
 Func_4840c: ; 4840c (12:440c)
 	ld hl, $d730
 	set 6, [hl]
-	ld hl, $44ee
+	ld hl, UnnamedText_484ee ; $44ee
 	call PrintText
 	xor a
 	ld [W_CURMENUITEMID], a ; $cc26
@@ -72678,7 +73418,7 @@
 	dec l
 	ld b, l
 	ld c, $c
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	call TextBoxBorder
 	call UpdateSprites
 	call Func_48532
@@ -72701,13 +73441,13 @@
 	ld a, [$d778]
 	bit 6, a
 	jr nz, .asm_484e0
-	ld hl, $4515
+	ld hl, Unknown_48515 ; $4515
 	call PrintText
 	call RemoveItemByIDBank12
 	ld bc, $f901 ; 1x TM_49
 	call GiveItem
 	jr nc, .asm_484da
-	ld hl, $451b
+	ld hl, Unknown_4851b ; $451b
 	call PrintText
 	ld hl, $d778
 	set 6, [hl]
@@ -72716,13 +73456,13 @@
 	ld a, [$d778]
 	bit 5, a
 	jr nz, .asm_484e0
-	ld hl, $4504
+	ld hl, Unknown_48504 ; $4504
 	call PrintText
 	call RemoveItemByIDBank12
 	ld bc, $f801 ; 1x TM_48
 	call GiveItem
 	jr nc, .asm_484da
-	ld hl, $450a
+	ld hl, Unknown_4850a ; $450a
 	call PrintText
 	ld hl, $d778
 	set 5, [hl]
@@ -72731,22 +73471,22 @@
 	ld a, [$d778]
 	bit 4, a
 	jr nz, .asm_484e0
-	ld hl, $44f3
+	ld hl, Unknown_484f3 ; $44f3
 	call PrintText
 	call RemoveItemByIDBank12
 	ld bc, $d501 ; 1x TM_13
 	call GiveItem
 	jr nc, .asm_484da
-	ld hl, $44f9
+	ld hl, Unknown_484f9 ; $44f9
 	call PrintText
 	ld hl, $d778
 	set 4, [hl]
 	ret
 .asm_484da
-	ld hl, $4526
+	ld hl, Unknown_48526 ; $4526
 	jp PrintText
 .asm_484e0
-	ld hl, $452c
+	ld hl, Unknown_4852c ; $452c
 	jp PrintText
 
 ; known jump sources: 4847b (12:447b), 4849f (12:449f), 484c3 (12:44c3)
@@ -72756,13 +73496,35 @@
 	jp Bankswitch ; indirect jump to RemoveItemByID (17f37 (5:7f37))
 ; 484ee (12:44ee)
 
-UnnamedText_484ee: ; 0x484ee
+UnnamedText_484ee: ; 484ee (12:44ee)
 	TX_FAR _UnnamedText_484ee
 	db $50
 ; 0x484ee + 5 bytes
 
-INCBIN "baserom.gbc",$484f3,$48532 - $484f3
+Unknown_484f3: ; 484f3 (12:44f3)
+INCBIN "baserom.gbc",$484f3,$484f9 - $484f3
 
+Unknown_484f9: ; 484f9 (12:44f9)
+INCBIN "baserom.gbc",$484f9,$48504 - $484f9
+
+Unknown_48504: ; 48504 (12:4504)
+INCBIN "baserom.gbc",$48504,$4850a - $48504
+
+Unknown_4850a: ; 4850a (12:450a)
+INCBIN "baserom.gbc",$4850a,$48515 - $4850a
+
+Unknown_48515: ; 48515 (12:4515)
+INCBIN "baserom.gbc",$48515,$4851b - $48515
+
+Unknown_4851b: ; 4851b (12:451b)
+INCBIN "baserom.gbc",$4851b,$48526 - $4851b
+
+Unknown_48526: ; 48526 (12:4526)
+INCBIN "baserom.gbc",$48526,$4852c - $48526
+
+Unknown_4852c: ; 4852c (12:452c)
+INCBIN "baserom.gbc",$4852c,$48532 - $4852c
+
 ; known jump sources: 4844b (12:444b)
 Func_48532: ; 48532 (12:4532)
 	ld hl, $cc5b
@@ -72775,7 +73537,8 @@
 	push hl
 	ld [$d11e], a
 	call GetItemName
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	ld a, [$FF00+$db]
 	ld bc, $28
 	call AddNTimes
@@ -72786,14 +73549,14 @@
 	pop hl
 	jr .asm_48538
 ; 4855b (12:455b)
-CeladonMartRoofTexts: ; 0x4855b
+CeladonMartRoofTexts: ; 4855b (12:455b)
 	dw CeladonMartRoofText1, CeladonMartRoofText2, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText6
 
-CeladonMartRoofText1: ; 0x48567
+CeladonMartRoofText1: ; 48567 (12:4567)
 	TX_FAR _CeladonMartRoofText1
 	db $50
 
-CeladonMartRoofText2: ; 0x4856c
+CeladonMartRoofText2: ; 4856c (12:456c)
 	db $08 ; asm
 	call Func_483d8
 	ld a, [$cd37]
@@ -72803,7 +73566,7 @@
 	ld [$cc3c], a
 	ld hl, CeladonMartRoofText4
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_05aa4 ; 0x48588
@@ -72815,21 +73578,21 @@
 .asm_05aa4 ; 0x48595
 	jp TextScriptEnd
 
-CeladonMartRoofText3: ; 0x48598
+CeladonMartRoofText3: ; 48598 (12:4598)
 	TX_FAR _UnnamedText_48598
 	db $50
 ; 0x48598 + 5 bytes
 
-CeladonMartRoofText4:
-UnnamedText_4859d: ; 0x4859d
+CeladonMartRoofText4: ; 4859d (12:459d)
+UnnamedText_4859d: ; 4859d (12:459d)
 	TX_FAR _UnnamedText_4859d
 	db $50
 ; 0x4859d + 5 bytes
 
-CeladonMartRoofText5: ; 0x485a2
+CeladonMartRoofText5: ; 485a2 (12:45a2)
 	db $f5
 
-CeladonMartRoofText6: ; 0x485a3
+CeladonMartRoofText6: ; 485a3 (12:45a3)
 	TX_FAR _CeladonMartRoofText6
 	db $50
 
@@ -72852,7 +73615,7 @@
 	; warp-to
 	EVENT_DISP $a, $2, $f ; CELADON_MART_5
 
-CeladonMartRoofBlocks: ; 0x485cc 40
+CeladonMartRoofBlocks: ; 485cc (12:45cc)
 	INCBIN "maps/celadonmart5.blk"
 
 CeladonMartElevator_h: ; 0x485f4 to 0x48600 (12 bytes) (bank=12) (id=127)
@@ -72863,7 +73626,7 @@
 
 	dw CeladonMartElevatorObject ; objects
 
-CeladonMartElevatorScript: ; 0x48600
+CeladonMartElevatorScript: ; 48600 (12:4600)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -72880,33 +73643,37 @@
 	ret
 ; 0x4861c
 
-CeladonMartElevatorScript_Unknown4861c: ; 0x4861c
+CeladonMartElevatorScript_Unknown4861c: ; 4861c (12:461c)
 INCBIN "baserom.gbc",$4861c,$48631 - $4861c
 
-Func_48631: ; 0x48631
-	ld hl, $4643
+Func_48631: ; 48631 (12:4631)
+	ld hl, Unknown_48643 ; $4643
 	call LoadItemList
-	ld hl, $464a
+	ld hl, Unknown_4864a ; $464a
 	ld de, $cc5b
 	ld bc, $000a
 	jp CopyData
 ; 0x48643
 
-INCBIN "baserom.gbc",$48643,$48654 - $48643
+Unknown_48643: ; 48643 (12:4643)
+INCBIN "baserom.gbc",$48643,$4864a - $48643
 
-Func_48654: ; 0x48654
+Unknown_4864a: ; 4864a (12:464a)
+INCBIN "baserom.gbc",$4864a,$48654 - $4864a
+
+Func_48654: ; 48654 (12:4654)
 	ld b, BANK(Func_7bf15)
 	ld hl, Func_7bf15
 	jp Bankswitch
 ; 0x4865c
 
-CeladonMartElevatorTexts: ; 0x4865c
+CeladonMartElevatorTexts: ; 4865c (12:465c)
 	dw CeladonMartElevatorText1
 
-CeladonMartElevatorText1: ; 0x4865e
+CeladonMartElevatorText1: ; 4865e (12:465e)
 	db $08 ; asm
 	call Func_48631
-	ld hl, $464a
+	ld hl, Unknown_4864a ; $464a
 	ld a, $61
 	call Predef
 	jp TextScriptEnd
@@ -72927,7 +73694,7 @@
 	EVENT_DISP $2, $3, $1 ; CELADON_MART_1
 	EVENT_DISP $2, $3, $2 ; CELADON_MART_1
 
-CeladonMartElevatorBlocks: ; 0x48684 4
+CeladonMartElevatorBlocks: ; 48684 (12:4684)
 	INCBIN "maps/celadonmart6.blk"
 
 CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128)
@@ -72938,30 +73705,30 @@
 
 	dw CeladonMansion1Object ; objects
 
-CeladonMansion1Script: ; 0x48694
+CeladonMansion1Script: ; 48694 (12:4694)
 	jp EnableAutoTextBoxDrawing
 ; 0x48697
 
-CeladonMansion1Texts: ; 0x48697
+CeladonMansion1Texts: ; 48697 (12:4697)
 	dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5
 ;0x486a1
 
-Func_486a1: ; 0x486a1
+Func_486a1: ; 486a1 (12:46a1)
 	call PlayCry
 	jp TextScriptEnd
 ; 0x486a7
 
-CeladonMansion1Text1: ; 0x486a7
+CeladonMansion1Text1: ; 486a7 (12:46a7)
 	TX_FAR _CeladonMansion1Text1
 	db $08 ; asm
 	ld a, $4d
 	jp Func_486a1
 
-CeladonMansion1Text2: ; 0x486b1
+CeladonMansion1Text2: ; 486b1 (12:46b1)
 	TX_FAR _CeladonMansion1Text2
 	db $50
 
-CeladonMansion1Text3: ; 0x486b6
+CeladonMansion1Text3: ; 486b6 (12:46b6)
 	TX_FAR _CeladonMansion1Text3
 	db $8
 	ld a, $4
@@ -72968,7 +73735,7 @@
 	jp Func_486a1
 ; 0x486c0
 
-CeladonMansion1Text4: ; 0x486c0
+CeladonMansion1Text4: ; 486c0 (12:46c0)
 	TX_FAR _CeladonMansion1Text4
 	db $8
 	ld a, $f
@@ -72975,7 +73742,7 @@
 	jp Func_486a1
 ; 0x486ca
 
-CeladonMansion1Text5: ; 0x486ca
+CeladonMansion1Text5: ; 486ca (12:46ca)
 	TX_FAR _CeladonMansion1Text5
 	db $50
 
@@ -73005,7 +73772,7 @@
 	EVENT_DISP $4, $1, $7 ; CELADON_MANSION_2
 	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_2
 
-CeladonMansion1Blocks: ; 0x48716 24
+CeladonMansion1Blocks: ; 48716 (12:4716)
 	INCBIN "maps/celadonmansion1.blk"
 
 CeladonMansion2_h: ; 0x4872e to 0x4873a (12 bytes) (bank=12) (id=129)
@@ -73016,15 +73783,15 @@
 
 	dw CeladonMansion2Object ; objects
 
-CeladonMansion2Script: ; 0x4873a
+CeladonMansion2Script: ; 4873a (12:473a)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x4873e
 
-CeladonMansion2Texts: ; 0x4873e
+CeladonMansion2Texts: ; 4873e (12:473e)
 	dw CeladonMansion2Text1
 
-CeladonMansion2Text1: ; 0x48740
+CeladonMansion2Text1: ; 48740 (12:4740)
 	TX_FAR _CeladonMansion2Text1
 	db $50
 
@@ -73048,7 +73815,7 @@
 	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_1
 	EVENT_DISP $4, $1, $4 ; CELADON_MANSION_3
 
-CeladonMansion2Blocks: ; 0x4876c 24
+CeladonMansion2Blocks: ; 4876c (12:476c)
 	INCBIN "maps/celadonmansion2.blk"
 
 CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130)
@@ -73059,26 +73826,26 @@
 
 	dw CeladonMansion3Object ; objects
 
-CeladonMansion3Script: ; 0x48790
+CeladonMansion3Script: ; 48790 (12:4790)
 	jp EnableAutoTextBoxDrawing
 ; 0x48793
 
-CeladonMansion3Texts: ; 0x48793
+CeladonMansion3Texts: ; 48793 (12:4793)
 	dw CeladonMansion3Text1, CeladonMansion3Text2, CeladonMansion3Text3, CeladonMansion3Text4, CeladonMansion3Text5, CeladonMansion3Text6, CeladonMansion3Text7, CeladonMansion3Text8
 
-CeladonMansion3Text1: ; 0x487a3
+CeladonMansion3Text1: ; 487a3 (12:47a3)
 	TX_FAR _CeladonMansion3Text1
 	db $50
 
-CeladonMansion3Text2: ; 0x487a8
+CeladonMansion3Text2: ; 487a8 (12:47a8)
 	TX_FAR _CeladonMansion3Text2
 	db $50
 
-CeladonMansion3Text3: ; 0x487ad
+CeladonMansion3Text3: ; 487ad (12:47ad)
 	TX_FAR _CeladonMansion3Text3
 	db $50
 
-CeladonMansion3Text4: ; 0x487b2
+CeladonMansion3Text4: ; 487b2 (12:47b2)
 	db $08 ; asm
 	ld hl, $d2f7
 	ld b, $13
@@ -73094,12 +73861,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_487d0: ; 0x487d0
+UnnamedText_487d0: ; 487d0 (12:47d0)
 	TX_FAR _UnnamedText_487d0
 	db $50
 ; 0x487d5
 
-UnnamedText_487d5: ; 0x487d5
+UnnamedText_487d5: ; 487d5 (12:47d5)
 	TX_FAR _UnnamedText_487d5 ; 0x9d0ad
 	db $6
 	db $8
@@ -73111,19 +73878,19 @@
 	jp TextScriptEnd
 ; 0x487eb
 
-CeladonMansion3Text5: ; 0x487eb
+CeladonMansion3Text5: ; 487eb (12:47eb)
 	TX_FAR _CeladonMansion3Text5
 	db $50
 
-CeladonMansion3Text6: ; 0x487f0
+CeladonMansion3Text6: ; 487f0 (12:47f0)
 	TX_FAR _CeladonMansion3Text6
 	db $50
 
-CeladonMansion3Text7: ; 0x487f5
+CeladonMansion3Text7: ; 487f5 (12:47f5)
 	TX_FAR _CeladonMansion3Text7
 	db $50
 
-CeladonMansion3Text8: ; 0x487fa
+CeladonMansion3Text8: ; 487fa (12:47fa)
 	TX_FAR _CeladonMansion3Text8
 	db $50
 
@@ -73154,7 +73921,7 @@
 	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_4
 	EVENT_DISP $4, $1, $4 ; CELADON_MANSION_2
 
-CeladonMansion3Blocks: ; 0x48847 24
+CeladonMansion3Blocks: ; 48847 (12:4847)
 	INCBIN "maps/celadonmansion3.blk"
 
 CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131)
@@ -73165,14 +73932,14 @@
 
 	dw CeladonMansion4Object ; objects
 
-CeladonMansion4Script: ; 0x4886b
+CeladonMansion4Script: ; 4886b (12:486b)
 	jp EnableAutoTextBoxDrawing
 ; 0x4886e
 
-CeladonMansion4Texts: ; 0x4886e
+CeladonMansion4Texts: ; 4886e (12:486e)
 	dw CeladonMansion4Text1
 
-CeladonMansion4Text1: ; 0x48870
+CeladonMansion4Text1: ; 48870 (12:4870)
 	TX_FAR _CeladonMansion4Text1
 	db $50
 
@@ -73194,7 +73961,7 @@
 	EVENT_DISP $4, $1, $2 ; CELADON_MANSION_3
 	EVENT_DISP $4, $7, $2 ; CELADON_MANSION_5
 
-CeladonMansion4Blocks: ; 0x48894 24
+CeladonMansion4Blocks: ; 48894 (12:4894)
 	INCBIN "maps/celadonmansion4.blk"
 
 CeladonPokecenter_h: ; 0x488ac to 0x488b8 (12 bytes) (bank=12) (id=133)
@@ -73205,25 +73972,25 @@
 
 	dw CeladonPokecenterObject ; objects
 
-CeladonPokecenterScript: ; 0x488b8
+CeladonPokecenterScript: ; 488b8 (12:48b8)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x488be
 
-CeladonPokecenterTexts:
+CeladonPokecenterTexts: ; 488be (12:48be)
 	dw CeladonPokecenterText1, CeladonPokecenterText2, CeladonPokecenterText3, CeladonPokecenterText4
 
-CeladonPokecenterText4:
+CeladonPokecenterText4: ; 488c6 (12:48c6)
 	db $f6
 
-CeladonPokecenterText1:
+CeladonPokecenterText1: ; 488c7 (12:48c7)
 	db $ff
 
-CeladonPokecenterText2: ; 0x488c8
+CeladonPokecenterText2: ; 488c8 (12:48c8)
 	TX_FAR _CeladonPokecenterText2
 	db $50
 
-CeladonPokecenterText3: ; 0x488cd
+CeladonPokecenterText3: ; 488cd (12:48cd)
 	TX_FAR _CeladonPokecenterText3
 	db $50
 
@@ -73254,7 +74021,7 @@
 
 	dw CeladonGymObject ; objects
 
-CeladonGymScript: ; 0x4890a
+CeladonGymScript: ; 4890a (12:490a)
 	ld hl, $d126
 	bit 6, [hl]
 	res 6, [hl]
@@ -73261,34 +74028,39 @@
 	call nz, CeladonGymScript_Unknown48927
 	call EnableAutoTextBoxDrawing
 	ld hl, CeladonGymTrainerHeaders
-	ld de, $494e
-	ld a, [$d5ff]
-	call Func_3160
-	ld [$d5ff], a
+	ld de, Unknown_4894e ; $494e
+	ld a, [W_CELADONGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_CELADONGYMCURSCRIPT], a
 	ret
 ; 0x48927
 
-CeladonGymScript_Unknown48927: ; 0x48927
-	ld hl, $4930
-	ld de, $493d
-	jp Func_317f
+CeladonGymScript_Unknown48927: ; 48927 (12:4927)
+	ld hl, Unknown_48930 ; $4930
+	ld de, Unknown_4893d ; $493d
+	jp LoadGymLeaderAndCityName
 
-INCBIN "baserom.gbc",$48930,$48943 - $48930
+Unknown_48930: ; 48930 (12:4930)
+INCBIN "baserom.gbc",$48930,$4893d - $48930
 
+Unknown_4893d: ; 4893d (12:493d)
+INCBIN "baserom.gbc",$4893d,$48943 - $4893d
+
 ; known jump sources: 4895b (12:495b), 489a3 (12:49a3)
 Func_48943: ; 48943 (12:4943)
 	xor a
-	ld [$cd6b], a
-	ld [$d5ff], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_CELADONGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_4894e: ; 4894e (12:494e)
 INCBIN "baserom.gbc",$4894e,$48956 - $4894e
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_48943
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 48a1d (12:4a1d)
 Func_48963: ; 48963 (12:4963)
@@ -73322,11 +74094,11 @@
 	set 0, [hl]
 	jp Func_48943
 ; 489a6 (12:49a6)
-CeladonGymTexts: ; 0x489a6
+CeladonGymTexts: ; 489a6 (12:49a6)
 	dw CeladonGymText1, CeladonGymText2, CeladonGymText3, CeladonGymText4, CeladonGymText5, CeladonGymText6, CeladonGymText7, CeladonGymText8, CeladonGymText9, TM21Text, TM21NoRoomText
 
-CeladonGymTrainerHeaders:
-CeladonGymTrainerHeader0: ; 0x489bc
+CeladonGymTrainerHeaders: ; 489bc (12:49bc)
+CeladonGymTrainerHeader0: ; 489bc (12:49bc)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73336,7 +74108,7 @@
 	dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle
 ; 0x489c8
 
-CeladonGymTrainerHeader2: ; 0x489c8
+CeladonGymTrainerHeader2: ; 489c8 (12:49c8)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73346,7 +74118,7 @@
 	dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle
 ; 0x489d4
 
-CeladonGymTrainerHeader3: ; 0x489d4
+CeladonGymTrainerHeader3: ; 489d4 (12:49d4)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73356,7 +74128,7 @@
 	dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle
 ; 0x489e0
 
-CeladonGymTrainerHeader4: ; 0x489e0
+CeladonGymTrainerHeader4: ; 489e0 (12:49e0)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73366,7 +74138,7 @@
 	dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle
 ; 0x489ec
 
-CeladonGymTrainerHeader5: ; 0x489ec
+CeladonGymTrainerHeader5: ; 489ec (12:49ec)
 	db $6 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73376,7 +74148,7 @@
 	dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle
 ; 0x489f8
 
-CeladonGymTrainerHeader6: ; 0x489f8
+CeladonGymTrainerHeader6: ; 489f8 (12:49f8)
 	db $7 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73386,7 +74158,7 @@
 	dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle
 ; 0x48a04
 
-CeladonGymTrainerHeader7: ; 0x48a04
+CeladonGymTrainerHeader7: ; 48a04 (12:4a04)
 	db $8 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d77c ; flag's byte
@@ -73398,7 +74170,7 @@
 
 db $ff
 
-CeladonGymText1: ; 0x48a11
+CeladonGymText1: ; 48a11 (12:4a11)
 	db $08 ; asm
 	ld a, [$d77c]
 	bit 1, a
@@ -73420,41 +74192,41 @@
 	set 7, [hl]
 	ld hl, UnnamedText_48a63
 	ld de, UnnamedText_48a63
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $4
 	ld [$d05c], a
 	ld a, $3
-	ld [$d5ff], a
-	ld [$da39], a
+	ld [W_CELADONGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 .asm_96252 ; 0x48a5b
 	jp TextScriptEnd
 
-UnnamedText_48a5e: ; 0x48a5e
+UnnamedText_48a5e: ; 48a5e (12:4a5e)
 	TX_FAR _UnnamedText_48a5e
 	db $50
 ; 0x48a5e + 5 bytes
 
-UnnamedText_48a63: ; 0x48a63
+UnnamedText_48a63: ; 48a63 (12:4a63)
 	TX_FAR _UnnamedText_48a63
 	db $50
 ; 0x48a63 + 5 bytes
 
-UnnamedText_48a68: ; 0x48a68
+UnnamedText_48a68: ; 48a68 (12:4a68)
 	TX_FAR _UnnamedText_48a68
 	db $50
 ; 0x48a68 + 5 bytes
 
-CeladonGymText9: ; 0x48a6d
-UnnamedText_48a6d: ; 0x48a6d
+CeladonGymText9: ; 48a6d (12:4a6d)
+UnnamedText_48a6d: ; 48a6d (12:4a6d)
 	TX_FAR _UnnamedText_48a6d
 	db $50
 ; 0x48a6d + 5 bytes
 
-TM21Text: ; 0x48a72
+TM21Text: ; 48a72 (12:4a72)
 	TX_FAR _ReceivedTM21Text ; 0x9d50c
 	db $0B
 	TX_FAR _TM21ExplanationText ; 0x9d520
@@ -73461,154 +74233,154 @@
 	db $50
 ; 0x48a7c
 
-TM21NoRoomText: ; 0x48a7c
+TM21NoRoomText: ; 48a7c (12:4a7c)
 	TX_FAR _TM21NoRoomText
 	db $50
 ; 0x48a7c + 5 bytes
 
-CeladonGymText2: ; 0x48a81
+CeladonGymText2: ; 48a81 (12:4a81)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText2: ; 0x48a8b
+CeladonGymBattleText2: ; 48a8b (12:4a8b)
 	TX_FAR _CeladonGymBattleText2
 	db $50
 ; 0x48a8b + 5 bytes
 
-CeladonGymEndBattleText2: ; 0x48a90
+CeladonGymEndBattleText2: ; 48a90 (12:4a90)
 	TX_FAR _CeladonGymEndBattleText2
 	db $50
 ; 0x48a90 + 5 bytes
 
-CeladonGymAfterBattleText2: ; 0x48a95
+CeladonGymAfterBattleText2: ; 48a95 (12:4a95)
 	TX_FAR _CeladonGymAfterBattleText2
 	db $50
 ; 0x48a95 + 5 bytes
 
-CeladonGymText3: ; 0x48a9a
+CeladonGymText3: ; 48a9a (12:4a9a)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText3: ; 0x48aa4
+CeladonGymBattleText3: ; 48aa4 (12:4aa4)
 	TX_FAR _CeladonGymBattleText3
 	db $50
 ; 0x48aa4 + 5 bytes
 
-CeladonGymEndBattleText3: ; 0x48aa9
+CeladonGymEndBattleText3: ; 48aa9 (12:4aa9)
 	TX_FAR _CeladonGymEndBattleText3
 	db $50
 ; 0x48aa9 + 5 bytes
 
-CeladonGymAfterBattleText3: ; 0x48aae
+CeladonGymAfterBattleText3: ; 48aae (12:4aae)
 	TX_FAR _CeladonGymAfterBattleText3
 	db $50
 ; 0x48aae + 5 bytes
 
-CeladonGymText4: ; 0x48ab3
+CeladonGymText4: ; 48ab3 (12:4ab3)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText4: ; 0x48abd
+CeladonGymBattleText4: ; 48abd (12:4abd)
 	TX_FAR _CeladonGymBattleText4
 	db $50
 ; 0x48abd + 5 bytes
 
-CeladonGymEndBattleText4: ; 0x48ac2
+CeladonGymEndBattleText4: ; 48ac2 (12:4ac2)
 	TX_FAR _CeladonGymEndBattleText4
 	db $50
 ; 0x48ac2 + 5 bytes
 
-CeladonGymAfterBattleText4: ; 0x48ac7
+CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7)
 	TX_FAR _CeladonGymAfterBattleText4
 	db $50
 ; 0x48ac7 + 5 bytes
 
-CeladonGymText5: ; 0x48acc
+CeladonGymText5: ; 48acc (12:4acc)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText5: ; 0x48ad6
+CeladonGymBattleText5: ; 48ad6 (12:4ad6)
 	TX_FAR _CeladonGymBattleText5
 	db $50
 ; 0x48ad6 + 5 bytes
 
-CeladonGymEndBattleText5: ; 0x48adb
+CeladonGymEndBattleText5: ; 48adb (12:4adb)
 	TX_FAR _CeladonGymEndBattleText5
 	db $50
 ; 0x48adb + 5 bytes
 
-CeladonGymAfterBattleText5: ; 0x48ae0
+CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0)
 	TX_FAR _CeladonGymAfterBattleText5
 	db $50
 ; 0x48ae0 + 5 bytes
 
-CeladonGymText6: ; 0x48ae5
+CeladonGymText6: ; 48ae5 (12:4ae5)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText6: ; 0x48aef
+CeladonGymBattleText6: ; 48aef (12:4aef)
 	TX_FAR _CeladonGymBattleText6
 	db $50
 ; 0x48aef + 5 bytes
 
-CeladonGymEndBattleText6: ; 0x48af4
+CeladonGymEndBattleText6: ; 48af4 (12:4af4)
 	TX_FAR _CeladonGymEndBattleText6
 	db $50
 ; 0x48af4 + 5 bytes
 
-CeladonGymAfterBattleText6: ; 0x48af9
+CeladonGymAfterBattleText6: ; 48af9 (12:4af9)
 	TX_FAR _CeladonGymAfterBattleText6
 	db $50
 ; 0x48af9 + 5 bytes
 
-CeladonGymText7: ; 0x48afe
+CeladonGymText7: ; 48afe (12:4afe)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText7: ; 0x48b08
+CeladonGymBattleText7: ; 48b08 (12:4b08)
 	TX_FAR _CeladonGymBattleText7
 	db $50
 ; 0x48b08 + 5 bytes
 
-CeladonGymEndBattleText7: ; 0x48b0d
+CeladonGymEndBattleText7: ; 48b0d (12:4b0d)
 	TX_FAR _CeladonGymEndBattleText7
 	db $50
 ; 0x48b0d + 5 bytes
 
-CeladonGymAfterBattleText7: ; 0x48b12
+CeladonGymAfterBattleText7: ; 48b12 (12:4b12)
 	TX_FAR _CeladonGymAfterBattleText7
 	db $50
 ; 0x48b12 + 5 bytes
 
-CeladonGymText8: ; 0x48b17
+CeladonGymText8: ; 48b17 (12:4b17)
 	db $08 ; asm
 	ld hl, CeladonGymTrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeladonGymBattleText8: ; 0x48b21
+CeladonGymBattleText8: ; 48b21 (12:4b21)
 	TX_FAR _CeladonGymBattleText8
 	db $50
 ; 0x48b21 + 5 bytes
 
-CeladonGymEndBattleText8: ; 0x48b26
+CeladonGymEndBattleText8: ; 48b26 (12:4b26)
 	TX_FAR _CeladonGymEndBattleText8
 	db $50
 ; 0x48b26 + 5 bytes
 
-CeladonGymAfterBattleText8: ; 0x48b2b
+CeladonGymAfterBattleText8: ; 48b2b (12:4b2b)
 	TX_FAR _CeladonGymAfterBattleText8
 	db $50
 ; 0x48b2b + 5 bytes
@@ -73636,7 +74408,7 @@
 	EVENT_DISP $5, $11, $4
 	EVENT_DISP $5, $11, $5
 
-CeladonGymBlocks: ; 0x48b84 45
+CeladonGymBlocks: ; 48b84 (12:4b84)
 	INCBIN "maps/celadongym.blk"
 
 CeladonGameCorner_h: ; 0x48bb1 to 0x48bbd (12 bytes) (bank=12) (id=135)
@@ -73647,19 +74419,19 @@
 
 	dw CeladonGameCornerObject ; objects
 
-CeladonGameCornerScript: ; 0x48bbd
+CeladonGameCornerScript: ; 48bbd (12:4bbd)
 	call Unknown_48bcf
 	call Func_48bec
 	call EnableAutoTextBoxDrawing
 	ld hl, CeladonGameCornerScripts
-	ld a, [$d65f]
+	ld a, [W_CELADONGAMECORNERCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x48bcf
 
-Unknown_48bcf: ; 0x48bcf
+Unknown_48bcf: ; 48bcf (12:4bcf)
 INCBIN "baserom.gbc",$48bcf,$48bec - $48bcf
 
-Func_48bec: ; 0x48bec
+Func_48bec: ; 48bec (12:4bec)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -73676,35 +74448,35 @@
 
 INCBIN "baserom.gbc",$48c07,$48c12 - $48c07
 
-CeladonGameCornerScripts: ; 0x48c12
+CeladonGameCornerScripts: ; 48c12 (12:4c12)
 	dw CeladonGameCornerScript0, CeladonGameCornerScript1, CeladonGameCornerScript2
 
-CeladonGameCornerScript0: ; 0x48c18
+CeladonGameCornerScript0: ; 48c18 (12:4c18)
 	ret
 ; 0x48c19
 
-CeladonGameCornerScript1: ; 0x48c19
+CeladonGameCornerScript1: ; 48c19 (12:4c19)
 INCBIN "baserom.gbc",$48c19,$48c5a - $48c19
 ; 0x48c5a
 
 INCBIN "baserom.gbc",$48c5a,$48c69 - $48c5a
 
-CeladonGameCornerScript2: ; 0x48c69
+CeladonGameCornerScript2: ; 48c69 (12:4c69)
 INCBIN "baserom.gbc",$48c69,$48c8a - $48c69
 
-CeladonGameCornerTexts: ; 0x48c8a
+CeladonGameCornerTexts: ; 48c8a (12:4c8a)
 	dw CeladonGameCornerText1, CeladonGameCornerText2, CeladonGameCornerText3, CeladonGameCornerText4, CeladonGameCornerText5, CeladonGameCornerText6, CeladonGameCornerText7, CeladonGameCornerText8, CeladonGameCornerText9, CeladonGameCornerText10, CeladonGameCornerText11, CeladonGameCornerText12, CeladonGameCornerText13
 
-CeladonGameCornerText1: ; 0x48ca4
+CeladonGameCornerText1: ; 48ca4 (12:4ca4)
 	TX_FAR _CeladonGameCornerText1
 	db $50
 
-CeladonGameCornerText2: ; 0x48ca9
+CeladonGameCornerText2: ; 48ca9 (12:4ca9)
 	db $08 ; asm
 	call Func_48f1e
 	ld hl, UnnamedText_48d22
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_c650b ; 0x48cba
@@ -73720,7 +74492,7 @@
 	ldh [$a0], a
 	call HasEnoughMoney
 	jr nc, .asm_b6ef0 ; 0x48cd4
-	ld hl, $4d31
+	ld hl, UnnamedText_48d31 ; $4d31
 	jr .asm_e2afd ; 0x48cd9
 .asm_b6ef0 ; 0x48cdb
 	xor a
@@ -73758,45 +74530,45 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_48d22: ; 0x48d22
+UnnamedText_48d22: ; 48d22 (12:4d22)
 	TX_FAR _UnnamedText_48d22
 	db $50
 ; 0x48d27
 
-UnnamedText_48d27: ; 0x48d27
+UnnamedText_48d27: ; 48d27 (12:4d27)
 	TX_FAR _UnnamedText_48d27
 	db $50
 ; 0x48d2c
 
-UnnamedText_48d2c: ; 0x48d2c
+UnnamedText_48d2c: ; 48d2c (12:4d2c)
 	TX_FAR _UnnamedText_48d2c
 	db $50
 ; 0x48d31
 
-UnnamedText_48d31: ; 0x48d31
+UnnamedText_48d31: ; 48d31 (12:4d31)
 	TX_FAR _UnnamedText_48d31
 	db $50
 ; 0x48d36
 
-UnnamedText_48d36: ; 0x48d36
+UnnamedText_48d36: ; 48d36 (12:4d36)
 	TX_FAR _UnnamedText_48d36
 	db $50
 ; 0x48d3b
 
-UnnamedText_48d3b: ; 0x48d3b
+UnnamedText_48d3b: ; 48d3b (12:4d3b)
 	TX_FAR _UnnamedText_48d3b
 	db $50
 ; 0x48d40
 
-CeladonGameCornerText3: ; 0x48d40
+CeladonGameCornerText3: ; 48d40 (12:4d40)
 	TX_FAR _CeladonGameCornerText3
 	db $50
 
-CeladonGameCornerText4: ; 0x48d45
+CeladonGameCornerText4: ; 48d45 (12:4d45)
 	TX_FAR _CeladonGameCornerText4
 	db $50
 
-CeladonGameCornerText5: ; 0x48d4a
+CeladonGameCornerText5: ; 48d4a (12:4d4a)
 	db $08 ; asm
 	ld a, [$d77e]
 	bit 2, a
@@ -73836,55 +74608,55 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_48d9c: ; 0x48d9c
+UnnamedText_48d9c: ; 48d9c (12:4d9c)
 	TX_FAR _UnnamedText_48d9c
 	db $50
 ; 0x48d9c + 5 bytes
 
-Received10CoinsText: ; 0x48da1
+Received10CoinsText: ; 48da1 (12:4da1)
 	TX_FAR _Received10CoinsText ; 0x9daa9
 	db $0B, $50
 
-UnnamedText_48da7: ; 0x48da7
+UnnamedText_48da7: ; 48da7 (12:4da7)
 	TX_FAR _UnnamedText_48da7
 	db $50
 ; 0x48da7 + 5 bytes
 
-UnnamedText_48dac: ; 0x48dac
+UnnamedText_48dac: ; 48dac (12:4dac)
 	TX_FAR _UnnamedText_48dac
 	db $50
 ; 0x48dac + 5 bytes
 
-CeladonGameCornerText6: ; 0x48db1
+CeladonGameCornerText6: ; 48db1 (12:4db1)
 	TX_FAR _CeladonGameCornerText6
 	db $50
 
-CeladonGameCornerText7: ; 0x48db6
+CeladonGameCornerText7: ; 48db6 (12:4db6)
 	db $08 ; asm
 	ld a, [$d77c]
 	bit 1, a
-	ld hl, $4dca
+	ld hl, UnnamedText_48dca ; $4dca
 	jr z, .asm_be3fd ; 0x48dbf
-	ld hl, $4dcf
+	ld hl, UnnamedText_48dcf ; $4dcf
 .asm_be3fd ; 0x48dc4
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_48dca: ; 0x48dca
+UnnamedText_48dca: ; 48dca (12:4dca)
 	TX_FAR _UnnamedText_48dca
 	db $50
 ; 0x48dca + 5 bytes
 
-UnnamedText_48dcf: ; 0x48dcf
+UnnamedText_48dcf: ; 48dcf (12:4dcf)
 	TX_FAR _UnnamedText_48dcf
 	db $50
 ; 0x48dcf + 5 bytes
 
-CeladonGameCornerText8: ; 0x48dd4
+CeladonGameCornerText8: ; 48dd4 (12:4dd4)
 	TX_FAR _CeladonGameCornerText8
 	db $50
 
-CeladonGameCornerText9: ; 0x48dd9
+CeladonGameCornerText9: ; 48dd9 (12:4dd9)
 	db $08 ; asm
 	ld a, [$d77e]
 	bit 4, a
@@ -73922,32 +74694,32 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_48e26: ; 0x48e26
+UnnamedText_48e26: ; 48e26 (12:4e26)
 	TX_FAR _UnnamedText_48e26
 	db $50
 ; 0x48e26 + 5 bytes
 
-Received20CoinsText: ; 0x48e2b
+Received20CoinsText: ; 48e2b (12:4e2b)
 	TX_FAR _Received20CoinsText ; 0x9dc4f
 	db $0B, $50
 ; 0x48e31
 
-UnnamedText_48e31: ; 0x48e31
+UnnamedText_48e31: ; 48e31 (12:4e31)
 	TX_FAR _UnnamedText_48e31
 	db $50
 ; 0x48e31 + 5 bytes
 
-UnnamedText_48e36: ; 0x48e36
+UnnamedText_48e36: ; 48e36 (12:4e36)
 	TX_FAR _UnnamedText_48e36
 	db $50
 ; 0x48e36 + 5 bytes
 
-CeladonGameCornerText10: ; 0x48e3b
+CeladonGameCornerText10: ; 48e3b (12:4e3b)
 	db $08 ; asm
 	ld a, [$d77e]
 	bit 3, a
 	jr nz, .asm_ff080 ; 0x48e41
-	ld hl, $4e88
+	ld hl, UnnamedText_48e88 ; $4e88
 	call PrintText
 	ld b,COIN_CASE
 	call IsItemInBag
@@ -73980,27 +74752,27 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_48e88: ; 0x48e88
+UnnamedText_48e88: ; 48e88 (12:4e88)
 	TX_FAR _UnnamedText_48e88
 	db $50
 ; 0x48e88 + 5 bytes
 
-UnnamedText_48e8d: ; 0x48e8d
+UnnamedText_48e8d: ; 48e8d (12:4e8d)
 	TX_FAR _UnnamedText_48e8d ; 0x9dceb
 	db $0B, $50
 ; 0x48e93
 
-UnnamedText_48e93: ; 0x48e93
+UnnamedText_48e93: ; 48e93 (12:4e93)
 	TX_FAR _UnnamedText_48e93
 	db $50
 ; 0x48e93 + 5 bytes
 
-UnnamedText_48e98: ; 0x48e98
+UnnamedText_48e98: ; 48e98 (12:4e98)
 	TX_FAR _UnnamedText_48e98
 	db $50
 ; 0x48e98 + 5 bytes
 
-CeladonGameCornerText11: ; 0x48e9d
+CeladonGameCornerText11: ; 48e9d (12:4e9d)
 	db $08 ; asm
 	ld hl, UnnamedText_48ece
 	call PrintText
@@ -74009,44 +74781,44 @@
 	set 7, [hl]
 	ld hl, UnnamedText_48ed3
 	ld de, UnnamedText_48ed3
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	xor a
 	ldh [$b4], a
 	ldh [$b3], a
 	ldh [$b2], a
 	ld a, $1
-	ld [$d65f], a
+	ld [W_CELADONGAMECORNERCURSCRIPT], a
 	jp TextScriptEnd
 
-UnnamedText_48ece: ; 0x48ece
+UnnamedText_48ece: ; 48ece (12:4ece)
 	TX_FAR _UnnamedText_48ece
 	db $50
 ; 0x48ece + 5 bytes
 
-UnnamedText_48ed3: ; 0x48ed3
+UnnamedText_48ed3: ; 48ed3 (12:4ed3)
 	TX_FAR _UnnamedText_48ed3
 	db $50
 ; 0x48ed3 + 5 bytes
 
-CeladonGameCornerText13: ; 0x48ed8
+CeladonGameCornerText13: ; 48ed8 (12:4ed8)
 	TX_FAR _UnnamedText_48ed8
 	db $50
 ; 0x48ed8 + 5 bytes
 
-CeladonGameCornerText12: ; 0x48edd
+CeladonGameCornerText12: ; 48edd (12:4edd)
 	db $08 ; asm
 	ld a, $1
 	ld [$cc3c], a
 	ld hl, UnnamedText_48f09
 	call PrintText
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ad
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	ld hl, $d77e
 	set 1, [hl]
 	ld a, $43
@@ -74056,49 +74828,57 @@
 	call Predef
 	jp TextScriptEnd
 
-UnnamedText_48f09: ; 0x48f09
+UnnamedText_48f09: ; 48f09 (12:4f09)
 	TX_FAR _UnnamedText_48f09 ; 0x9ddb0
 	db $8
 	ld a, $9d
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 0x48f19
 
-UnnamedText_48f19: ; 0x48f19
+UnnamedText_48f19: ; 48f19 (12:4f19)
 	TX_FAR _UnnamedText_48f19
 	db $50
 ; 0x48f19 + 5 bytes
 
-Func_48f1e: ; 0x48f1e
+Func_48f1e: ; 48f1e (12:4f1e)
 	ld hl, $d730
 	set 6, [hl]
-	ld hl, $c3ab
+	FuncCoord 11, 0 ; $c3ab
+	ld hl, Coord
 	ld b, $5
 	ld c, $7
 	call TextBoxBorder
 	call UpdateSprites
-	ld hl, $c3c0
+	FuncCoord 12, 1 ; $c3c0
+	ld hl, Coord
 	ld b, $4
 	ld c, $7
 	call ClearScreenArea
-	ld hl, $c3d4
-	ld de, $4f7a
+	FuncCoord 12, 2 ; $c3d4
+	ld hl, Coord
+	ld de, Unknown_48f7a ; $4f7a
 	call PlaceString
-	ld hl, $c3e8
-	ld de, $4f85
+	FuncCoord 12, 3 ; $c3e8
+	ld hl, Coord
+	ld de, Unknown_48f85 ; $4f85
 	call PlaceString
-	ld hl, $c3e8
+	FuncCoord 12, 3 ; $c3e8
+	ld hl, Coord
 	ld de, $d347
 	ld c, $a3
 	call PrintBCDNumber
-	ld hl, $c3fc
-	ld de, $4f80
+	FuncCoord 12, 4 ; $c3fc
+	ld hl, Coord
+	ld de, Unknown_48f80 ; $4f80
 	call PlaceString
-	ld hl, $c410
-	ld de, $4f8d
+	FuncCoord 12, 5 ; $c410
+	ld hl, Coord
+	ld de, Unknown_48f8d ; $4f8d
 	call PlaceString
-	ld hl, $c413
+	FuncCoord 15, 5 ; $c413
+	ld hl, Coord
 	ld de, $d5a4
 	ld c, $82
 	call PrintBCDNumber
@@ -74107,9 +74887,19 @@
 	ret
 ; 0x48f7a
 
-INCBIN "baserom.gbc",$48f7a,$48f95 - $48f7a
+Unknown_48f7a: ; 48f7a (12:4f7a)
+INCBIN "baserom.gbc",$48f7a,$48f80 - $48f7a
 
-Has9990Coins: ; 0x48f95
+Unknown_48f80: ; 48f80 (12:4f80)
+INCBIN "baserom.gbc",$48f80,$48f85 - $48f80
+
+Unknown_48f85: ; 48f85 (12:4f85)
+INCBIN "baserom.gbc",$48f85,$48f8d - $48f85
+
+Unknown_48f8d: ; 48f8d (12:4f8d)
+INCBIN "baserom.gbc",$48f8d,$48f95 - $48f8d
+
+Has9990Coins: ; 48f95 (12:4f95)
 	ld a, $99
 	ld [$ff00+$a0], a
 	ld a, $90
@@ -74146,7 +74936,7 @@
 	EVENT_DISP $a, $11, $10
 	EVENT_DISP $a, $4, $11 ; ROCKET_HIDEOUT_1
 
-CeladonGameCornerBlocks: ; 0x49003 90
+CeladonGameCornerBlocks: ; 49003 (12:5003)
 	INCBIN "maps/celadongamecorner.blk"
 
 CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136)
@@ -74157,22 +74947,22 @@
 
 	dw CeladonMart5Object ; objects
 
-CeladonMart5Script: ; 0x49069
+CeladonMart5Script: ; 49069 (12:5069)
 	jp EnableAutoTextBoxDrawing
 ; 0x4906c
 
-CeladonMart5Texts: ; 0x4906c
+CeladonMart5Texts: ; 4906c (12:506c)
 	dw CeladonMart5Text1, CeladonMart5Text2, CeladonMart5Text3, CeladonMart5Text4, CeladonMart5Text5
 
-CeladonMart5Text1: ; 0x49076
+CeladonMart5Text1: ; 49076 (12:5076)
 	TX_FAR _CeladonMart5Text1
 	db $50
 
-CeladonMart5Text2: ; 0x4907b
+CeladonMart5Text2: ; 4907b (12:507b)
 	TX_FAR _CeladonMart5Text2
 	db $50
 
-CeladonMart5Text5: ; 0x49080
+CeladonMart5Text5: ; 49080 (12:5080)
 	TX_FAR _CeladonMart5Text5
 	db $50
 
@@ -74198,7 +74988,7 @@
 	EVENT_DISP $a, $1, $10 ; CELADON_MART_4
 	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
 
-CeladonMart5Blocks: ; 0x490bc 40
+CeladonMart5Blocks: ; 490bc (12:50bc)
 	INCBIN "maps/celadonhouse.blk"
 
 CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137)
@@ -74209,22 +74999,22 @@
 
 	dw CeladonPrizeRoomObject ; objects
 
-CeladonPrizeRoomScript: ; 0x490f0
+CeladonPrizeRoomScript: ; 490f0 (12:50f0)
 	jp EnableAutoTextBoxDrawing
 ; 0x490f3
 
-CeladonPrizeRoomTexts:
+CeladonPrizeRoomTexts: ; 490f3 (12:50f3)
 	dw CeladonPrizeRoomText1, CeladonPrizeRoomText2, CeladonPrizeRoomText3, CeladonPrizeRoomText3, CeladonPrizeRoomText3
 
-CeladonPrizeRoomText1: ; 0x490fd
+CeladonPrizeRoomText1: ; 490fd (12:50fd)
 	TX_FAR _CeladonPrizeRoomText1
 	db $50
 
-CeladonPrizeRoomText2: ; 0x49102
+CeladonPrizeRoomText2: ; 49102 (12:5102)
 	TX_FAR _CeladonPrizeRoomText2
 	db $50
 
-CeladonPrizeRoomText3: ; 0x49107
+CeladonPrizeRoomText3: ; 49107 (12:5107)
 	db $f7
 
 CeladonPrizeRoomObject: ; 0x49108 (size=41)
@@ -74247,7 +75037,7 @@
 	EVENT_DISP $5, $7, $4
 	EVENT_DISP $5, $7, $5
 
-CeladonPrizeRoomBlocks: ; 0x49131 20
+CeladonPrizeRoomBlocks: ; 49131 (12:5131)
 	INCBIN "maps/celadonprizeroom.blk"
 
 CeladonDiner_h: ; 0x49145 to 0x49151 (12 bytes) (bank=12) (id=138)
@@ -74258,31 +75048,31 @@
 
 	dw CeladonDinerObject ; objects
 
-CeladonDinerScript: ; 0x49151
+CeladonDinerScript: ; 49151 (12:5151)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x49155
 
-CeladonDinerTexts: ; 0x49155
+CeladonDinerTexts: ; 49155 (12:5155)
 	dw CeladonDinerText1, CeladonDinerText2, CeladonDinerText3, CeladonDinerText4, CeladonDinerText5
 
-CeladonDinerText1: ; 0x4915f
+CeladonDinerText1: ; 4915f (12:515f)
 	TX_FAR _CeladonDinerText1
 	db $50
 
-CeladonDinerText2: ; 0x49164
+CeladonDinerText2: ; 49164 (12:5164)
 	TX_FAR _CeladonDinerText2
 	db $50
 
-CeladonDinerText3: ; 0x49169
+CeladonDinerText3: ; 49169 (12:5169)
 	TX_FAR _CeladonDinerText3
 	db $50
 
-CeladonDinerText4: ; 0x4916e
+CeladonDinerText4: ; 4916e (12:516e)
 	TX_FAR _CeladonDinerText4
 	db $50
 
-CeladonDinerText5: ; 0x49173
+CeladonDinerText5: ; 49173 (12:5173)
 	db $08 ; asm
 	ld a, [$d783]
 	bit 0, a
@@ -74307,22 +75097,22 @@
 .asm_68b61 ; 0x491a4
 	jp TextScriptEnd
 
-UnnamedText_491a7: ; 0x491a7
+UnnamedText_491a7: ; 491a7 (12:51a7)
 	TX_FAR _UnnamedText_491a7
 	db $50
 ; 0x491a7 + 5 bytes
 
-ReceivedCoinCaseText: ; 0x491ac
+ReceivedCoinCaseText: ; 491ac (12:51ac)
 	TX_FAR _ReceivedCoinCaseText ; 0x9e07a
 	db $11, $50
 ; 0x491b2
 
-CoinCaseNoRoomText: ; 0x491b2
+CoinCaseNoRoomText: ; 491b2 (12:51b2)
 	TX_FAR _CoinCaseNoRoomText
 	db $50
 ; 0x491b2 + 5 bytes
 
-UnnamedText_491b7: ; 0x491b7
+UnnamedText_491b7: ; 491b7 (12:51b7)
 	TX_FAR _UnnamedText_491b7
 	db $50
 ; 0x491b7 + 5 bytes
@@ -74347,7 +75137,7 @@
 	EVENT_DISP $5, $7, $3
 	EVENT_DISP $5, $7, $4
 
-CeladonDinerBlocks: ; 0x491ee 20
+CeladonDinerBlocks: ; 491ee (12:51ee)
 	INCBIN "maps/celadondiner.blk"
 
 CeladonHouse_h: ; 0x49202 to 0x4920e (12 bytes) (bank=12) (id=139)
@@ -74358,23 +75148,23 @@
 
 	dw CeladonHouseObject ; objects
 
-CeladonHouseScript: ; 0x4920e
+CeladonHouseScript: ; 4920e (12:520e)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x49212
 
-CeladonHouseTexts: ; 0x49212
+CeladonHouseTexts: ; 49212 (12:5212)
 	dw CeladonHouseText1, CeladonHouseText2, CeladonHouseText3
 
-CeladonHouseText1: ; 0x49218
+CeladonHouseText1: ; 49218 (12:5218)
 	TX_FAR _CeladonHouseText1
 	db $50
 
-CeladonHouseText2: ; 0x4921d
+CeladonHouseText2: ; 4921d (12:521d)
 	TX_FAR _CeladonHouseText2
 	db $50
 
-CeladonHouseText3: ; 0x49222
+CeladonHouseText3: ; 49222 (12:5222)
 	TX_FAR _CeladonHouseText3
 	db $50
 
@@ -74396,7 +75186,7 @@
 	EVENT_DISP $4, $7, $2
 	EVENT_DISP $4, $7, $3
 
-CeladonHouseBlocks: ; 0x4924d 16
+CeladonHouseBlocks: ; 4924d (12:524d)
 	INCBIN "maps/celadonhouse2.blk"
 
 CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140)
@@ -74407,22 +75197,22 @@
 
 	dw CeladonHotelObject ; objects
 
-CeladonHotelScript: ; 0x49269
+CeladonHotelScript: ; 49269 (12:5269)
 	jp EnableAutoTextBoxDrawing
 ; 0x4926c
 
-CeladonHotelTexts: ; 0x4926c
+CeladonHotelTexts: ; 4926c (12:526c)
 	dw CeladonHotelText1, CeladonHotelText2, CeladonHotelText3
 
-CeladonHotelText1: ; 0x49272
+CeladonHotelText1: ; 49272 (12:5272)
 	TX_FAR _CeladonHotelText1
 	db $50
 
-CeladonHotelText2: ; 0x49277
+CeladonHotelText2: ; 49277 (12:5277)
 	TX_FAR _CeladonHotelText2
 	db $50
 
-CeladonHotelText3: ; 0x4927c
+CeladonHotelText3: ; 4927c (12:527c)
 	TX_FAR _CeladonHotelText3
 	db $50
 
@@ -74444,7 +75234,7 @@
 	EVENT_DISP $7, $7, $3
 	EVENT_DISP $7, $7, $4
 
-CeladonHotelBlocks: ; 0x492a7 28
+CeladonHotelBlocks: ; 492a7 (12:52a7)
 	INCBIN "maps/celadonhotel.blk"
 
 MtMoonPokecenter_h: ; 0x492c3 to 0x492cf (12 bytes) (bank=12) (id=68)
@@ -74455,26 +75245,26 @@
 
 	dw MtMoonPokecenterObject ; objects
 
-MtMoonPokecenterScript: ; 0x492cf
+MtMoonPokecenterScript: ; 492cf (12:52cf)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x492d5
 
-MtMoonPokecenterTexts:
+MtMoonPokecenterTexts: ; 492d5 (12:52d5)
 	dw MtMoonPokecenterText1, MtMoonPokecenterText2, MtMoonPokecenterText3, MtMoonPokecenterText4, MtMoonPokecenterText5, MtMoonPokecenterText6
 
-MtMoonPokecenterText1: ; 0x492e0
+MtMoonPokecenterText1: ; 492e1 (12:52e1)
 	db $ff
 
-MtMoonPokecenterText2: ; 0x492e2
+MtMoonPokecenterText2: ; 492e2 (12:52e2)
 	TX_FAR _MtMoonPokecenterText1
 	db $50
 
-MtMoonPokecenterText3: ; 0x492e7
+MtMoonPokecenterText3: ; 492e7 (12:52e7)
 	TX_FAR _MtMoonPokecenterText3
 	db $50
 
-MtMoonPokecenterText4: ; 0x492ec
+MtMoonPokecenterText4: ; 492ec (12:52ec)
 	db $08 ; asm
 	ld a, [$d7c6]
 	add a
@@ -74484,7 +75274,7 @@
 	ld a, $13
 	ld [$d125], a
 	call DisplayTextBoxID
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jp nz, .asm_4934e
@@ -74526,31 +75316,31 @@
 .asm_49359 ; 0x49359
 	jp TextScriptEnd
 
-UnnamedText_4935c: ; 0x4935c
+UnnamedText_4935c: ; 4935c (12:535c)
 	TX_FAR _UnnamedText_4935c
 	db $50
 ; 0x4935c + 5 bytes
 
-UnnamedText_49361: ; 0x49361
+UnnamedText_49361: ; 49361 (12:5361)
 	TX_FAR _UnnamedText_49361
 	db $50
 ; 0x49361 + 5 bytes
 
-UnnamedText_49366: ; 0x49366
+UnnamedText_49366: ; 49366 (12:5366)
 	TX_FAR _UnnamedText_49366
 	db $50
 ; 0x49366 + 5 bytes
 
-UnnamedText_4936b: ; 0x4936b
+UnnamedText_4936b: ; 4936b (12:536b)
 	TX_FAR _UnnamedText_4936b
 	db $50
 ; 0x4936b + 5 bytes
 
-MtMoonPokecenterText5: ; 0x49370
+MtMoonPokecenterText5: ; 49370 (12:5370)
 	TX_FAR _MtMoonPokecenterText5
 	db $50
 
-MtMoonPokecenterText6:
+MtMoonPokecenterText6: ; 49375 (12:5375)
 	db $f6
 
 MtMoonPokecenterObject: ; 0x49376 (size=56)
@@ -74582,26 +75372,26 @@
 
 	dw RockTunnelPokecenterObject ; objects
 
-RockTunnelPokecenterScript: ; 0x493ba
+RockTunnelPokecenterScript: ; 493ba (12:53ba)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x493c0
 
-RockTunnelPokecenterTexts:
+RockTunnelPokecenterTexts: ; 493c0 (12:53c0)
 	dw RockTunnelPokecenterText1, RockTunnelPokecenterText2, RockTunnelPokecenterText3, RockTunnelPokecenterText4
 
-RockTunnelPokecenterText1: ; 0x493c8
+RockTunnelPokecenterText1: ; 493c8 (12:53c8)
 	db $ff
 
-RockTunnelPokecenterText2: ; 0x493c9
+RockTunnelPokecenterText2: ; 493c9 (12:53c9)
 	TX_FAR _RockTunnelPokecenterText1
 	db $50
 
-RockTunnelPokecenterText3: ; 0x493ce
+RockTunnelPokecenterText3: ; 493ce (12:53ce)
 	TX_FAR _RockTunnelPokecenterText3
 	db $50
 
-RockTunnelPokecenterText4: ; 0x493d3
+RockTunnelPokecenterText4: ; 493d3 (12:53d3)
 	db $f6
 
 RockTunnelPokecenterObject: ; 0x493d4 (size=44)
@@ -74631,14 +75421,14 @@
 
 	dw Route11GateObject ; objects
 
-Route11GateScript: ; 0x4940c
+Route11GateScript: ; 4940c (12:540c)
 	jp EnableAutoTextBoxDrawing
 ; 0x4940f
 
-Route11GateTexts: ; 0x4940f
+Route11GateTexts: ; 4940f (12:540f)
 	dw Route11GateText1
 
-Route11GateText1: ; 0x49411
+Route11GateText1: ; 49411 (12:5411)
 	TX_FAR _Route11GateText1
 	db $50
 
@@ -74672,23 +75462,23 @@
 
 	dw Route11GateUpstairsObject ; objects
 
-Route11GateUpstairsScript: ; 0x49454
+Route11GateUpstairsScript: ; 49454 (12:5454)
 	jp DisableAutoTextBoxDrawing
 ; 0x49457
 
-Route11GateUpstairsTexts:
+Route11GateUpstairsTexts: ; 49457 (12:5457)
 	dw Route11GateUpstairsText1, Route11GateUpstairsText2, Route11GateUpstairsText3, Route11GateUpstairsText4
 
-Route11GateUpstairsText1: ; 0x4945f
+Route11GateUpstairsText1: ; 4945f (12:545f)
 	db $08 ; asm
 	xor a
 	ld [W_WHICHTRADE], a
 	ld a, $54
 	call Predef
-asm_49469:
+asm_49469: ; 49469 (12:5469)
 	jp TextScriptEnd
 
-Route11GateUpstairsText2: ; 0x4946c
+Route11GateUpstairsText2: ; 4946c (12:546c)
 	db $8
 	ld a, [$d7d6]
 	add a
@@ -74718,12 +75508,12 @@
 	jr asm_49469 ; 0x494a1 $c6
 ; 0x494a3
 
-UnnamedText_494a3: ; 0x494a3
+UnnamedText_494a3: ; 494a3 (12:54a3)
 	TX_FAR _UnnamedText_494a3
 	db $50
 ; 0x494a3 + 5 bytes
 
-Route11GateUpstairsText3: ; 0x494a8
+Route11GateUpstairsText3: ; 494a8 (12:54a8)
 	db $08 ; asm
 	ld a, [$c109]
 	cp $4
@@ -74737,23 +75527,23 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_494c4: ; 0x494c4
+UnnamedText_494c4: ; 494c4 (12:54c4)
 	TX_FAR _UnnamedText_494c4
 	db $50
 ; 0x494c4 + 5 bytes
 
-UnnamedText_494c9: ; 0x494c9
+UnnamedText_494c9: ; 494c9 (12:54c9)
 	TX_FAR _UnnamedText_494c9
 	db $50
 ; 0x494c9 + 5 bytes
 
-Route11GateUpstairsText4: ; 0x494ce
+Route11GateUpstairsText4: ; 494ce (12:54ce)
 	db $8
-	ld hl, $54d5
+	ld hl, UnnamedText_494d5 ; $54d5
 	jp Unnamed_55c9
 ; 0x494d5
 
-UnnamedText_494d5: ; 0x494d5
+UnnamedText_494d5: ; 494d5 (12:54d5)
 	TX_FAR _UnnamedText_494d5
 	db $50
 ; 0x494d5 + 5 bytes
@@ -74783,14 +75573,14 @@
 
 	dw Route12GateObject ; objects
 
-Route12GateScript: ; 0x49504
+Route12GateScript: ; 49504 (12:5504)
 	jp EnableAutoTextBoxDrawing
 ; 0x49507
 
-Route12GateTexts: ; 0x49507
+Route12GateTexts: ; 49507 (12:5507)
 	dw Route12GateText1
 
-Route12GateText1: ; 0x49509
+Route12GateText1: ; 49509 (12:5509)
 	TX_FAR _Route12GateText1
 	db $50
 
@@ -74816,7 +75606,7 @@
 	EVENT_DISP $5, $7, $5
 	EVENT_DISP $5, $6, $8 ; ROUTE_12_GATE_2F
 
-Route12GateBlocks: ; 0x49540 20
+Route12GateBlocks: ; 49540 (12:5540)
 	INCBIN "maps/route12gate.blk"
 
 Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195)
@@ -74827,14 +75617,14 @@
 
 	dw Route12GateUpstairsObject ; objects
 
-Route12GateUpstairsScript: ; 0x49560
+Route12GateUpstairsScript: ; 49560 (12:5560)
 	jp DisableAutoTextBoxDrawing
 ; 0x49563
 
-Route12GateUpstairsTexts: ; 0x49563
+Route12GateUpstairsTexts: ; 49563 (12:5563)
 	dw Route12GateUpstairsText1, Route12GateUpstairsText2, Route12GateUpstairsText3
 
-Route12GateUpstairsText1: ; 0x49569
+Route12GateUpstairsText1: ; 49569 (12:5569)
 	db $08 ; asm
 	ld a, [$d7d7]
 	rrca
@@ -74859,48 +75649,48 @@
 .asm_4ba56 ; 0x49599
 	jp TextScriptEnd
 
-TM39PreReceiveText: ; 0x4959c
+TM39PreReceiveText: ; 4959c (12:559c)
 	TX_FAR _TM39PreReceiveText
 	db $50
 ; 0x4959c + 5 bytes
 
-ReceivedTM39Text: ; 0x495a1
+ReceivedTM39Text: ; 495a1 (12:55a1)
 	TX_FAR _ReceivedTM39Text ; 0x8c8c6
 	db $0B, $50
 ; 0x495a7
 
-TM39ExplanationText: ; 0x495a7
+TM39ExplanationText: ; 495a7 (12:55a7)
 	TX_FAR _TM39ExplanationText
 	db $50
 ; 0x495a7 + 5 bytes
 
-TM39NoRoomText: ; 0x495ac
+TM39NoRoomText: ; 495ac (12:55ac)
 	TX_FAR _TM39NoRoomText
 	db $50
 ; 0x495ac + 5 bytes
 
-Route12GateUpstairsText2: ; 0x495b1
+Route12GateUpstairsText2: ; 495b1 (12:55b1)
 	db $08 ; asm
 	ld hl, UnnamedText_495b8
 	jp Unnamed_55c9
 
-UnnamedText_495b8: ; 0x495b8
+UnnamedText_495b8: ; 495b8 (12:55b8)
 	TX_FAR _UnnamedText_495b8 ; 0x8c95a
 	db $50
 ; 0x495bd
 
-Route12GateUpstairsText3: ; 0x495bd
+Route12GateUpstairsText3: ; 495bd (12:55bd)
 	db $8
 	ld hl, UnnamedText_495c4
 	jp Unnamed_55c9
 ; 0x495c4
 
-UnnamedText_495c4: ; 0x495c4
+UnnamedText_495c4: ; 495c4 (12:55c4)
 	TX_FAR _UnnamedText_495c4
 	db $50
 ; 0x495c4 + 5 bytes
 
-Unnamed_55c9:
+Unnamed_55c9: ; 495c9 (12:55c9)
 	ld a, [$c109]
 	cp $4
 	jr z, .asm_495d4 ; 0x495ce $4
@@ -74938,14 +75728,14 @@
 
 	dw Route15GateObject ; objects
 
-Route15GateScript: ; 0x49602
+Route15GateScript: ; 49602 (12:5602)
 	jp EnableAutoTextBoxDrawing
 ; 0x49605
 
-Route15GateTexts: ; 0x49605
+Route15GateTexts: ; 49605 (12:5605)
 	dw Route15GateText1
 
-Route15GateText1: ; 0x49607
+Route15GateText1: ; 49607 (12:5607)
 	TX_FAR _Route15GateText1
 	db $50
 
@@ -74971,7 +75761,7 @@
 	EVENT_DISP $4, $5, $7
 	EVENT_DISP $4, $8, $6
 
-Route15GateUpstairs_h: ; 0x4963e
+Route15GateUpstairs_h: ; 4963e (12:563e)
 	db $0c ; tileset
 	db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x)
 	dw Route15GateUpstairsBlocks, Route15GateUpstairsTexts, Route15GateUpstairsScript ; blocks, texts, scripts
@@ -74979,14 +75769,14 @@
 	db $00 ; connections
 	dw Route15GateUpstairsObject ; objects
 
-Route15GateUpstairsScript: ; 0x4964a
+Route15GateUpstairsScript: ; 4964a (12:564a)
 	jp DisableAutoTextBoxDrawing
 
-Route15GateUpstairsTexts: ; 0x4964d
+Route15GateUpstairsTexts: ; 4964d (12:564d)
 	dw Route15GateUpstairsText1
 	dw Route15GateUpstairsText2
 
-Route15GateUpstairsText1: ; 0x49651
+Route15GateUpstairsText1: ; 49651 (12:5651)
 	db $8
 	ld a, [$d7dd]
 	bit 0, a
@@ -75015,23 +75805,23 @@
 	jp TextScriptEnd
 ; 0x4968c
 
-UnnamedText_4968c: ; 0x4968c
+UnnamedText_4968c: ; 4968c (12:568c)
 	TX_FAR _UnnamedText_4968c
 	db $50
 ; 0x4968c + 5 bytes
 
-Route15GateUpstairsText2:
+Route15GateUpstairsText2: ; 49691 (12:5691)
 	db $8
 	ld hl, UnnamedText_49698
 	jp Unnamed_55c9
 ; 0x49698
 
-UnnamedText_49698: ; 0x49698
+UnnamedText_49698: ; 49698 (12:5698)
 	TX_FAR _UnnamedText_49698
 	db $50
 ; 0x49698 + 5 bytes
 
-Route15GateUpstairsObject: ; 0x4969d
+Route15GateUpstairsObject: ; 4969d (12:569d)
 	db $a ; border tile
 
 	db $1 ; warps
@@ -75054,24 +75844,24 @@
 
 	dw Route16GateMapObject ; objects
 
-Route16GateMapScript: ; 0x496be
+Route16GateMapScript: ; 496be (12:56be)
 	ld hl, $d732
 	res 5, [hl]
 	call EnableAutoTextBoxDrawing
-	ld a, [$d660]
+	ld a, [W_ROUTE16GATECURSCRIPT]
 	ld hl, Route16GateMapScripts
 	jp CallFunctionInTable
 ; 0x496cf
 
-Route16GateMapScripts: ; 0x496cf
+Route16GateMapScripts: ; 496cf (12:56cf)
 	dw Route16GateMapScript0
 
-INCBIN "baserom.gbc",$496d1,$6
+INCBIN "baserom.gbc",$496d1,$496d7 - $496d1
 
-Route16GateMapScript0: ; 0x496d7
+Route16GateMapScript0: ; 496d7 (12:56d7)
 	call Func_49755
 	ret nz
-	ld hl, $5714
+	ld hl, Unknown_49714 ; $5714
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, $3
@@ -75078,7 +75868,7 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, [$cd3d]
 	cp $1
 	jr z, .asm_4970e ; 0x496f1 $1b
@@ -75092,14 +75882,15 @@
 	call FillMemory
 	call Func_3486
 	ld a, $1
-	ld [$d660], a
+	ld [W_ROUTE16GATECURSCRIPT], a
 	ret
 .asm_4970e
 	ld a, $2
-	ld [$d660], a
+	ld [W_ROUTE16GATECURSCRIPT], a
 	ret
 ; 0x49714
 
+Unknown_49714: ; 49714 (12:5714)
 INCBIN "baserom.gbc",$49714,$49755 - $49714
 
 ; known jump sources: 496d7 (12:56d7), 4988f (12:588f)
@@ -75107,10 +75898,10 @@
 	ld b, $6
 	jp IsItemInBag
 ; 4975a (12:575a)
-Route16GateMapTexts: ; 0x4975a
+Route16GateMapTexts: ; 4975a (12:575a)
 	dw Route16GateMapText1, Route16GateMapText2, Route16GateMapText3
 
-Route16GateMapText1: ; 0x49760
+Route16GateMapText1: ; 49760 (12:5760)
 	db $08 ; asm
 	call Func_49755
 	jr z, .asm_0bdf3 ; 0x49764
@@ -75123,22 +75914,22 @@
 .asm_56c9d ; 0x49774
 	jp TextScriptEnd
 
-UnnamedText_49777: ; 0x49777
+UnnamedText_49777: ; 49777 (12:5777)
 	TX_FAR _UnnamedText_49777
 	db $50
 ; 0x49777 + 5 bytes
 
-UnnamedText_4977c: ; 0x4977c
+UnnamedText_4977c: ; 4977c (12:577c)
 	TX_FAR _UnnamedText_4977c
 	db $50
 ; 0x4977c + 5 bytes
 
-Route16GateMapText3: ; 0x49781
+Route16GateMapText3: ; 49781 (12:5781)
 	TX_FAR _UnnamedText_49781
 	db $50
 ; 0x49781 + 5 bytes
 
-Route16GateMapText2: ; 0x49786
+Route16GateMapText2: ; 49786 (12:5786)
 	TX_FAR _Route16GateMapText2
 	db $50
 
@@ -75173,7 +75964,7 @@
 	EVENT_DISP $4, $3, $7
 	EVENT_DISP $4, $c, $6 ; ROUTE_16_GATE_2F
 
-Route16GateMapBlocks: ; 0x497e3 28
+Route16GateMapBlocks: ; 497e3 (12:57e3)
 	INCBIN "maps/route16gatemap.blk"
 
 Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187)
@@ -75184,53 +75975,53 @@
 
 	dw Route16GateUpstairsObject ; objects
 
-Route16GateUpstairsScript: ; 0x4980b
+Route16GateUpstairsScript: ; 4980b (12:580b)
 	jp DisableAutoTextBoxDrawing
 ; 0x4980e
 
-Route16GateUpstairsTexts: ; 0x4980e
+Route16GateUpstairsTexts: ; 4980e (12:580e)
 	dw Route16GateUpstairsText1, Route16GateUpstairsText2, Route16GateUpstairsText3, Route16GateUpstairsText4
 
-Route16GateUpstairsText1: ; 0x49816
+Route16GateUpstairsText1: ; 49816 (12:5816)
 	db $08 ; asm
 	ld hl, UnnamedText_49820
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_49820: ; 0x49820
+UnnamedText_49820: ; 49820 (12:5820)
 	TX_FAR _UnnamedText_49820
 	db $50
 ; 0x49820 + 5 bytes
 
-Route16GateUpstairsText2: ; 0x49825
+Route16GateUpstairsText2: ; 49825 (12:5825)
 	db $08 ; asm
 	ld hl, UnnamedText_4982f
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_4982f: ; 0x4982f
+UnnamedText_4982f: ; 4982f (12:582f)
 	TX_FAR _UnnamedText_4982f
 	db $50
 ; 0x4982f + 5 bytes
 
-Route16GateUpstairsText3: ; 0x49834
+Route16GateUpstairsText3: ; 49834 (12:5834)
 	db $8
 	ld hl, UnnamedText_4983b
 	jp Unnamed_55c9
 ; 0x4983b
 
-UnnamedText_4983b: ; 0x4983b
+UnnamedText_4983b: ; 4983b (12:583b)
 	TX_FAR _UnnamedText_4983b
 	db $50
 ; 0x4983b + 5 bytes
 
-Route16GateUpstairsText4: ; 0x49840
+Route16GateUpstairsText4: ; 49840 (12:5840)
 	db $8
-	ld hl, $5847
+	ld hl, UnnamedText_49847 ; $5847
 	jp Unnamed_55c9
 ; 0x49847
 
-UnnamedText_49847: ; 0x49847
+UnnamedText_49847: ; 49847 (12:5847)
 	TX_FAR _UnnamedText_49847
 	db $50
 ; 0x49847 + 5 bytes
@@ -75260,24 +76051,24 @@
 
 	dw Route18GateObject ; objects
 
-Route18GateScript: ; 0x49876
+Route18GateScript: ; 49876 (12:5876)
 	ld hl, $d732
 	res 5, [hl]
 	call EnableAutoTextBoxDrawing
-	ld a, [$d669]
+	ld a, [W_ROUTE18GATECURSCRIPT]
 	ld hl, Route18GateScripts
 	jp CallFunctionInTable
 ; 0x49887
 
-Route18GateScripts: ; 0x49887
+Route18GateScripts: ; 49887 (12:5887)
 	dw Route18GateScript0
 
-INCBIN "baserom.gbc",$49889,$6
+INCBIN "baserom.gbc",$49889,$4988f - $49889
 
-Route18GateScript0: ; 0x4988f
+Route18GateScript0: ; 4988f (12:588f)
 	call Func_49755
 	ret nz
-	ld hl, $58cc
+	ld hl, Unknown_498cc ; $58cc
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, $2
@@ -75284,7 +76075,7 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, [$cd3d]
 	cp $1
 	jr z, .asm_498c6 ; 0x498a9 $1b
@@ -75298,20 +76089,21 @@
 	call FillMemory
 	call Func_3486
 	ld a, $1
-	ld [$d669], a
+	ld [W_ROUTE18GATECURSCRIPT], a
 	ret
 .asm_498c6
 	ld a, $2
-	ld [$d669], a
+	ld [W_ROUTE18GATECURSCRIPT], a
 	ret
 ; 0x498cc
 
-INCBIN "baserom.gbc",$498cc,$41
+Unknown_498cc: ; 498cc (12:58cc)
+INCBIN "baserom.gbc",$498cc,$4990d - $498cc
 
-Route18GateTexts: ; 0x4990d
+Route18GateTexts: ; 4990d (12:590d)
 	dw Route18GateText1, Route18GateText2
 
-Route18GateText1: ; 0x49911
+Route18GateText1: ; 49911 (12:5911)
 	db $08 ; asm
 	call Func_49755
 	jr z, .asm_3c84d ; 0x49915
@@ -75324,17 +76116,17 @@
 .asm_a8410 ; 0x49925
 	jp TextScriptEnd
 
-UnnamedText_49928: ; 0x49928
+UnnamedText_49928: ; 49928 (12:5928)
 	TX_FAR _UnnamedText_49928
 	db $50
 ; 0x4992d
 
-UnnamedText_4992d: ; 0x4992d
+UnnamedText_4992d: ; 4992d (12:592d)
 	TX_FAR _UnnamedText_4992d
 	db $50
 ; 0x49932
 
-Route18GateText2: ; 0x49932
+Route18GateText2: ; 49932 (12:5932)
 	TX_FAR _UnnamedText_49932
 	db $50
 ; 0x49937
@@ -75369,14 +76161,14 @@
 
 	dw Route18GateHeaderObject ; objects
 
-Route18GateHeaderScript: ; 0x49975
+Route18GateHeaderScript: ; 49975 (12:5975)
 	jp DisableAutoTextBoxDrawing
 ; 0x49978
 
-Route18GateHeaderTexts: ; 0x49978
+Route18GateHeaderTexts: ; 49978 (12:5978)
 	dw Route18GateHeaderText1, Route18GateHeaderText2, Route18GateHeaderText3
 
-Route18GateHeaderText1: ; 0x4997e
+Route18GateHeaderText1: ; 4997e (12:597e)
 	db $08 ; asm
 	ld a, $5
 	ld [W_WHICHTRADE], a
@@ -75384,24 +76176,24 @@
 	call Predef
 	jp TextScriptEnd
 
-Route18GateHeaderText2: ; 0x4998c
+Route18GateHeaderText2: ; 4998c (12:598c)
 	db $8
-	ld hl, $5993
+	ld hl, UnnamedText_49993 ; $5993
 	jp Unnamed_55c9
 ; 0x49993
 
-UnnamedText_49993: ; 0x49993
+UnnamedText_49993: ; 49993 (12:5993)
 	TX_FAR _UnnamedText_49993
 	db $50
 ; 0x49993 + 5 bytes
 
-Route18GateHeaderText3: ; 0x49998
+Route18GateHeaderText3: ; 49998 (12:5998)
 	db $8
-	ld hl, $599f
+	ld hl, UnnamedText_4999f ; $599f
 	jp Unnamed_55c9
 ; 0x4999f
 
-UnnamedText_4999f: ; 0x4999f
+UnnamedText_4999f: ; 4999f (12:599f)
 	TX_FAR _UnnamedText_4999f
 	db $50
 ; 0x4999f + 5 bytes
@@ -75430,24 +76222,24 @@
 
 	dw MtMoon1Object ; objects
 
-MtMoon1Script: ; 0x499c8
+MtMoon1Script: ; 499c8 (12:59c8)
 	call EnableAutoTextBoxDrawing
 	ld hl, MtMoon1TrainerHeader0
 	ld de, Unknown_59db
-	ld a, [$d606]
-	call Func_3160
-	ld [$d606], a
+	ld a, [W_MTMOON1CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_MTMOON1CURSCRIPT], a
 	ret
 ; 0x499db
 
-Unknown_59db: ; 0x59db
-INCBIN "baserom.gbc",$499db,$6
+Unknown_59db: ; 499db (12:59db)
+INCBIN "baserom.gbc",$499db,$499e1 - $499db
 
-MtMoon1Texts: ; 0x499e1
+MtMoon1Texts: ; 499e1 (12:59e1)
 	dw MtMoon1Text1, MtMoon1Text2, MtMoon1Text3, MtMoon1Text4, MtMoon1Text5, MtMoon1Text6, MtMoon1Text7, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, MtMoon1Text14
 
-MtMoon1TrainerHeaders:
-MtMoon1TrainerHeader0: ; 0x499fd
+MtMoon1TrainerHeaders: ; 499fd (12:59fd)
+MtMoon1TrainerHeader0: ; 499fd (12:59fd)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75457,7 +76249,7 @@
 	dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle
 ; 0x49a09
 
-MtMoon1TrainerHeader2: ; 0x49a09
+MtMoon1TrainerHeader2: ; 49a09 (12:5a09)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75467,7 +76259,7 @@
 	dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle
 ; 0x49a15
 
-MtMoon1TrainerHeader3: ; 0x49a15
+MtMoon1TrainerHeader3: ; 49a15 (12:5a15)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75477,7 +76269,7 @@
 	dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle
 ; 0x49a21
 
-MtMoon1TrainerHeader4: ; 0x49a21
+MtMoon1TrainerHeader4: ; 49a21 (12:5a21)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75487,7 +76279,7 @@
 	dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle
 ; 0x49a2d
 
-MtMoon1TrainerHeader5: ; 0x49a2d
+MtMoon1TrainerHeader5: ; 49a2d (12:5a2d)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75497,7 +76289,7 @@
 	dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle
 ; 0x49a39
 
-MtMoon1TrainerHeader6: ; 0x49a39
+MtMoon1TrainerHeader6: ; 49a39 (12:5a39)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75507,7 +76299,7 @@
 	dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle
 ; 0x49a45
 
-MtMoon1TrainerHeader7: ; 0x49a45
+MtMoon1TrainerHeader7: ; 49a45 (12:5a45)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f5 ; flag's byte
@@ -75519,154 +76311,154 @@
 
 db $ff
 
-MtMoon1Text1: ; 0x49a52
+MtMoon1Text1: ; 49a52 (12:5a52)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1Text2: ; 0x49a5c
+MtMoon1Text2: ; 49a5c (12:5a5c)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1Text3: ; 0x49a66
+MtMoon1Text3: ; 49a66 (12:5a66)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1Text4: ; 0x49a70
+MtMoon1Text4: ; 49a70 (12:5a70)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1Text5: ; 0x49a7a
+MtMoon1Text5: ; 49a7a (12:5a7a)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1Text6: ; 0x49a84
+MtMoon1Text6: ; 49a84 (12:5a84)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1Text7: ; 0x49a8e
+MtMoon1Text7: ; 49a8e (12:5a8e)
 	db $08 ; asm
 	ld hl, MtMoon1TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon1BattleText2: ; 0x49a98
+MtMoon1BattleText2: ; 49a98 (12:5a98)
 	TX_FAR _MtMoon1BattleText2
 	db $50
 ; 0x49a98 + 5 bytes
 
-MtMoon1EndBattleText2: ; 0x49a9d
+MtMoon1EndBattleText2: ; 49a9d (12:5a9d)
 	TX_FAR _MtMoon1EndBattleText2
 	db $50
 ; 0x49a9d + 5 bytes
 
-MtMoon1AfterBattleText2: ; 0x49aa2
+MtMoon1AfterBattleText2: ; 49aa2 (12:5aa2)
 	TX_FAR _MtMoon1AfterBattleText2
 	db $50
 ; 0x49aa2 + 5 bytes
 
-MtMoon1BattleText3: ; 0x49aa7
+MtMoon1BattleText3: ; 49aa7 (12:5aa7)
 	TX_FAR _MtMoon1BattleText3
 	db $50
 ; 0x49aa7 + 5 bytes
 
-MtMoon1EndBattleText3: ; 0x49aac
+MtMoon1EndBattleText3: ; 49aac (12:5aac)
 	TX_FAR _MtMoon1EndBattleText3
 	db $50
 ; 0x49aac + 5 bytes
 
-MtMoon1AfterBattleText3: ; 0x49ab1
+MtMoon1AfterBattleText3: ; 49ab1 (12:5ab1)
 	TX_FAR _MtMoon1AfterBattleText3
 	db $50
 ; 0x49ab1 + 5 bytes
 
-MtMoon1BattleText4: ; 0x49ab6
+MtMoon1BattleText4: ; 49ab6 (12:5ab6)
 	TX_FAR _MtMoon1BattleText4
 	db $50
 ; 0x49ab6 + 5 bytes
 
-MtMoon1EndBattleText4: ; 0x49abb
+MtMoon1EndBattleText4: ; 49abb (12:5abb)
 	TX_FAR _MtMoon1EndBattleText4
 	db $50
 ; 0x49abb + 5 bytes
 
-MtMoon1AfterBattleText4: ; 0x49ac0
+MtMoon1AfterBattleText4: ; 49ac0 (12:5ac0)
 	TX_FAR _MtMoon1AfterBattleText4
 	db $50
 ; 0x49ac0 + 5 bytes
 
-MtMoon1BattleText5: ; 0x49ac5
+MtMoon1BattleText5: ; 49ac5 (12:5ac5)
 	TX_FAR _MtMoon1BattleText5
 	db $50
 ; 0x49ac5 + 5 bytes
 
-MtMoon1EndBattleText5: ; 0x49aca
+MtMoon1EndBattleText5: ; 49aca (12:5aca)
 	TX_FAR _MtMoon1EndBattleText5
 	db $50
 ; 0x49aca + 5 bytes
 
-MtMoon1AfterBattleText5: ; 0x49acf
+MtMoon1AfterBattleText5: ; 49acf (12:5acf)
 	TX_FAR _MtMoon1AfterBattleText5
 	db $50
 ; 0x49acf + 5 bytes
 
-MtMoon1BattleText6: ; 0x49ad4
+MtMoon1BattleText6: ; 49ad4 (12:5ad4)
 	TX_FAR _MtMoon1BattleText6
 	db $50
 ; 0x49ad4 + 5 bytes
 
-MtMoon1EndBattleText6: ; 0x49ad9
+MtMoon1EndBattleText6: ; 49ad9 (12:5ad9)
 	TX_FAR _MtMoon1EndBattleText6
 	db $50
 ; 0x49ad9 + 5 bytes
 
-MtMoon1AfterBattleText6: ; 0x49ade
+MtMoon1AfterBattleText6: ; 49ade (12:5ade)
 	TX_FAR _MtMoon1AfterBattleText6
 	db $50
 ; 0x49ade + 5 bytes
 
-MtMoon1BattleText7: ; 0x49ae3
+MtMoon1BattleText7: ; 49ae3 (12:5ae3)
 	TX_FAR _MtMoon1BattleText7
 	db $50
 ; 0x49ae3 + 5 bytes
 
-MtMoon1EndBattleText7: ; 0x49ae8
+MtMoon1EndBattleText7: ; 49ae8 (12:5ae8)
 	TX_FAR _MtMoon1EndBattleText7
 	db $50
 ; 0x49ae8 + 5 bytes
 
-MtMoon1AfterBattleText7: ; 0x49aed
+MtMoon1AfterBattleText7: ; 49aed (12:5aed)
 	TX_FAR _MtMoon1AfterBattleText7
 	db $50
 ; 0x49aed + 5 bytes
 
-MtMoon1BattleText8: ; 0x49af2
+MtMoon1BattleText8: ; 49af2 (12:5af2)
 	TX_FAR _MtMoon1BattleText8
 	db $50
 ; 0x49af2 + 5 bytes
 
-MtMoon1EndBattleText8: ; 0x49af7
+MtMoon1EndBattleText8: ; 49af7 (12:5af7)
 	TX_FAR _MtMoon1EndBattleText8
 	db $50
 ; 0x49af7 + 5 bytes
 
-MtMoon1AfterBattleText8: ; 0x49afc
+MtMoon1AfterBattleText8: ; 49afc (12:5afc)
 	TX_FAR _MtMoon1AfterBattleText8
 	db $50
 ; 0x49afc + 5 bytes
 
-MtMoon1Text14: ; 0x49b01
+MtMoon1Text14: ; 49b01 (12:5b01)
 	TX_FAR _MtMoon1Text14
 	db $50
 
@@ -75705,7 +76497,7 @@
 	EVENT_DISP $14, $b, $11 ; MT_MOON_2
 	EVENT_DISP $14, $f, $19 ; MT_MOON_2
 
-MtMoon1Blocks: ; 0x49b97 360
+MtMoon1Blocks: ; 49b97 (12:5b97)
 	INCBIN "maps/mtmoon1.blk"
 
 MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61)
@@ -75716,17 +76508,17 @@
 
 	dw MtMoon3Object ; objects
 
-MtMoon3Script: ; 0x49d0b
+MtMoon3Script: ; 49d0b (12:5d0b)
 	call EnableAutoTextBoxDrawing
-	ld hl, $5e48
-	ld de, $5d63
-	ld a, [$d607]
-	call Func_3160
-	ld [$d607], a
+	ld hl, MtMoon3TrainerHeader0 ; $5e48
+	ld de, Unknown_49d63 ; $5d63
+	ld a, [W_MTMOON3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_MTMOON3CURSCRIPT], a
 	ld a, [$d7f6]
 	bit 1, a
 	ret z
-	ld hl, $5d37
+	ld hl, Unknown_49d37 ; $5d37
 	call ArePlayerCoordsInArray
 	jr nc, .asm_49d31 ; 0x49d29 $6
 	ld hl, $d72e
@@ -75738,16 +76530,18 @@
 	ret
 ; 0x49d37
 
+Unknown_49d37: ; 49d37 (12:5d37)
 INCBIN "baserom.gbc",$49d37,$49d58 - $49d37
 
 ; known jump sources: 49d9f (12:5d9f)
 Func_49d58: ; 49d58 (12:5d58)
 	xor a
-	ld [$cd6b], a
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_49d63: ; 49d63 (12:5d63)
 INCBIN "baserom.gbc",$49d63,$49d6f - $49d63
 	ld a, [$d7f6]
 	bit 1, a
@@ -75759,7 +76553,7 @@
 	cp $d
 	jp nz, Func_49d91
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $1
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp DisplayTextID
@@ -75768,7 +76562,7 @@
 Func_49d91: ; 49d91 (12:5d91)
 	ld a, [$d7f6]
 	and $c0
-	jp z, Func_3219
+	jp z, CheckFightingMapTrainers
 	ret
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
@@ -75778,39 +76572,49 @@
 	ld hl, $d7f6
 	set 1, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 	ld a, $1
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call SetSpriteMovementBytesToFF
-	ld hl, $5dea
+	ld hl, Unknown_49dea ; $5dea
 	call ArePlayerCoordsInArray
 	jr c, .asm_49dd7
-	ld hl, $5df1
+	ld hl, Unknown_49df1 ; $5df1
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
-	ld de, $5df9
+	jp nc, CheckFightingMapTrainers
+	ld de, Unknown_49df9 ; $5df9
 	jr .asm_49dda
 .asm_49dd7
-	ld de, $5df8
+	ld de, Unknown_49df8 ; $5df8
 .asm_49dda
 	ld a, $1
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call MoveSprite
 	ld a, $5
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-INCBIN "baserom.gbc",$49dea,$49dfb - $49dea
+Unknown_49dea: ; 49dea (12:5dea)
+INCBIN "baserom.gbc",$49dea,$49df1 - $49dea
+
+Unknown_49df1: ; 49df1 (12:5df1)
+INCBIN "baserom.gbc",$49df1,$49df8 - $49df1
+
+Unknown_49df8: ; 49df8 (12:5df8)
+INCBIN "baserom.gbc",$49df8,$49df9 - $49df8
+
+Unknown_49df9: ; 49df9 (12:5df9)
+INCBIN "baserom.gbc",$49df9,$49dfb - $49df9
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
 	ld [$cc3c], a
 	ld a, $a
@@ -75828,17 +76632,17 @@
 	ld a, $11
 	call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 49e34 (12:5e34)
-MtMoon3Texts: ; 0x49e34
+MtMoon3Texts: ; 49e34 (12:5e34)
 	dw MtMoon3Text1, MtMoon3Text2, MtMoon3Text3, MtMoon3Text4, MtMoon3Text5, MtMoon3Text6, MtMoon3Text7, Predef5CText, Predef5CText, Unnamed_49f99
 
-MtMoon3TrainerHeaders:
-MtMoon3TrainerHeader0: ; 0x49e48
+MtMoon3TrainerHeaders: ; 49e48 (12:5e48)
+MtMoon3TrainerHeader0: ; 49e48 (12:5e48)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f6 ; flag's byte
@@ -75848,7 +76652,7 @@
 	dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle
 ; 0x49e54
 
-MtMoon3TrainerHeader2: ; 0x49e54
+MtMoon3TrainerHeader2: ; 49e54 (12:5e54)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f6 ; flag's byte
@@ -75858,7 +76662,7 @@
 	dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle
 ; 0x49e60
 
-MtMoon3TrainerHeader3: ; 0x49e60
+MtMoon3TrainerHeader3: ; 49e60 (12:5e60)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f6 ; flag's byte
@@ -75868,7 +76672,7 @@
 	dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle
 ; 0x49e6c
 
-MtMoon3TrainerHeader4: ; 0x49e6c
+MtMoon3TrainerHeader4: ; 49e6c (12:5e6c)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f6 ; flag's byte
@@ -75880,7 +76684,7 @@
 
 db $ff
 
-MtMoon3Text1: ; 0x49e79
+MtMoon3Text1: ; 49e79 (12:5e79)
 	db $08 ; asm
 	ld a, [$d7f6]
 	bit 1, a
@@ -75898,14 +76702,14 @@
 	set 7, [hl]
 	ld hl, UnnamedText_49f8a
 	ld de, UnnamedText_49f8a
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $3
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	jr .asm_f1fba ; 0x49eb6
 .asm_f8cd4 ; 0x49eb8
 	ld hl, UnnamedText_49f94
@@ -75913,37 +76717,37 @@
 .asm_f1fba ; 0x49ebe
 	jp TextScriptEnd
 
-MtMoon3Text2: ; 0x49ec1
+MtMoon3Text2: ; 49ec1 (12:5ec1)
 	db $08 ; asm
 	ld hl, MtMoon3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon3Text3: ; 0x49ecb
+MtMoon3Text3: ; 49ecb (12:5ecb)
 	db $08 ; asm
 	ld hl, MtMoon3TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon3Text4: ; 0x49ed5
+MtMoon3Text4: ; 49ed5 (12:5ed5)
 	db $08 ; asm
 	ld hl, MtMoon3TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon3Text5: ; 0x49edf
+MtMoon3Text5: ; 49edf (12:5edf)
 	db $08 ; asm
-	ld hl, $5e6c
-	call LoadTrainerHeader
+	ld hl, MtMoon3TrainerHeader4 ; $5e6c
+	call TalkToTrainer
 	jp TextScriptEnd
 
-MtMoon3Text6: ; 0x49ee9
+MtMoon3Text6: ; 49ee9 (12:5ee9)
 	db $08 ; asm
 	ld a, $1
 	ld [$cc3c], a
 	ld hl, UnnamedText_49f24
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_1fa5e ; 0x49efc
@@ -75958,23 +76762,23 @@
 	ld hl, $d7f6
 	set 6, [hl]
 	ld a, $4
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 .asm_1fa5e ; 0x49f21
 	jp TextScriptEnd
 
-UnnamedText_49f24: ; 0x49f24
+UnnamedText_49f24: ; 49f24 (12:5f24)
 	TX_FAR _UnnamedText_49f24
 	db $50
 ; 0x49f24 + 5 bytes
 
-MtMoon3Text7: ; 0x49f29
+MtMoon3Text7: ; 49f29 (12:5f29)
 	db $08 ; asm
 	ld a, $1
 	ld [$cc3c], a
 	ld hl, UnnamedText_49f64
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_8e988 ; 0x49f3c
@@ -75989,116 +76793,116 @@
 	ld hl, $d7f6
 	set 7, [hl]
 	ld a, $4
-	ld [$d607], a
-	ld [$da39], a
+	ld [W_MTMOON3CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 .asm_8e988 ; 0x49f61
 	jp TextScriptEnd
 
-UnnamedText_49f64: ; 0x49f64
+UnnamedText_49f64: ; 49f64 (12:5f64)
 	TX_FAR _UnnamedText_49f64
 	db $50
 ; 0x49f64 + 5 bytes
 
-Unnamed_49f69: ; 0x49f69
+Unnamed_49f69: ; 49f69 (12:5f69)
 	ld hl, UnnamedText_49f6f
 	jp PrintText
 ; 0x49f6f
 
-UnnamedText_49f6f: ; 0x49f6f
+UnnamedText_49f6f: ; 49f6f (12:5f6f)
 	TX_FAR _UnnamedText_49f6f ; 0x80995
 	db $11, $d, $50
 ; 0x49f76
 
-Unnamed_49f76: ; 0x49f76
+Unnamed_49f76: ; 49f76 (12:5f76)
 	ld hl, UnnamedText_49f7f
 	call PrintText
 	jp TextScriptEnd
 ; 0x49f7f
 
-UnnamedText_49f7f: ; 0x49f7f
+UnnamedText_49f7f: ; 49f7f (12:5f7f)
 	TX_FAR _UnnamedText_49f7f ; 0x809a8
 	db $d, $50
 ; 0x49f85
 
-UnnamedText_49f85: ; 0x49f85
+UnnamedText_49f85: ; 49f85 (12:5f85)
 	TX_FAR _UnnamedText_49f85
 	db $50
 ; 0x49f85 + 5 bytes
 
-UnnamedText_49f8a: ; 0x49f8a
+UnnamedText_49f8a: ; 49f8a (12:5f8a)
 	TX_FAR _UnnamedText_49f8a
 	db $50
 ; 0x49f8a + 5 bytes
 
-UnnamedText_49f8f: ; 0x49f8f
+UnnamedText_49f8f: ; 49f8f (12:5f8f)
 	TX_FAR _UnnamedText_49f8f
 	db $50
 ; 0x49f8f + 5 bytes
 
-UnnamedText_49f94: ; 0x49f94
+UnnamedText_49f94: ; 49f94 (12:5f94)
 	TX_FAR _UnnamedText_49f94
 	db $50
 ; 0x49f94 + 5 bytes
 
-Unnamed_49f99: ; 0x49f99
+Unnamed_49f99: ; 49f99 (12:5f99)
 INCBIN "baserom.gbc",$49f99,$49f9f - $49f99
 
-MtMoon3BattleText2: ; 0x49f9f
+MtMoon3BattleText2: ; 49f9f (12:5f9f)
 	TX_FAR _MtMoon3BattleText2
 	db $50
 ; 0x49f9f + 5 bytes
 
-MtMoon3EndBattleText2: ; 0x49fa4
+MtMoon3EndBattleText2: ; 49fa4 (12:5fa4)
 	TX_FAR _MtMoon3EndBattleText2
 	db $50
 ; 0x49fa4 + 5 bytes
 
-MtMoon3AfterBattleText2: ; 0x49fa9
+MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9)
 	TX_FAR _MtMoon3AfterBattleText2
 	db $50
 ; 0x49fa9 + 5 bytes
 
-MtMoon3BattleText3: ; 0x49fae
+MtMoon3BattleText3: ; 49fae (12:5fae)
 	TX_FAR _MtMoon3BattleText3
 	db $50
 ; 0x49fae + 5 bytes
 
-MtMoon3EndBattleText3: ; 0x49fb3
+MtMoon3EndBattleText3: ; 49fb3 (12:5fb3)
 	TX_FAR _MtMoon3EndBattleText3
 	db $50
 ; 0x49fb3 + 5 bytes
 
-MtMoon3AfterBattleText3: ; 0x49fb8
+MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8)
 	TX_FAR _MtMoon3AfterBattleText3
 	db $50
 ; 0x49fb8 + 5 bytes
 
-MtMoon3BattleText4: ; 0x49fbd
+MtMoon3BattleText4: ; 49fbd (12:5fbd)
 	TX_FAR _MtMoon3BattleText4
 	db $50
 ; 0x49fbd + 5 bytes
 
-MtMoon3EndBattleText4: ; 0x49fc2
+MtMoon3EndBattleText4: ; 49fc2 (12:5fc2)
 	TX_FAR _MtMoon3EndBattleText4
 	db $50
 ; 0x49fc2 + 5 bytes
 
-MtMoon3AfterBattleText4: ; 0x49fc7
+MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7)
 	TX_FAR _MtMoon3AfterBattleText4
 	db $50
 ; 0x49fc7 + 5 bytes
 
-MtMoon3BattleText5: ; 0x49fcc
+MtMoon3BattleText5: ; 49fcc (12:5fcc)
 	TX_FAR _MtMoon3BattleText5
 	db $50
 ; 0x49fcc + 5 bytes
 
-MtMoon3EndBattleText5: ; 0x49fd1
+MtMoon3EndBattleText5: ; 49fd1 (12:5fd1)
 	TX_FAR _MtMoon3EndBattleText5
 	db $50
 ; 0x49fd1 + 5 bytes
 
-MtMoon3AfterBattleText5: ; 0x49fd6
+MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6)
 	TX_FAR _MtMoon3AfterBattleText5
 	db $50
 ; 0x49fd6 + 5 bytes
@@ -76131,7 +76935,7 @@
 	EVENT_DISP $14, $1b, $f ; MT_MOON_2
 	EVENT_DISP $14, $7, $5 ; MT_MOON_2
 
-MtMoon3Blocks: ; 0x4a041 360
+MtMoon3Blocks: ; 4a041 (12:6041)
 	INCBIN "maps/mtmoon3.blk"
 
 SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219)
@@ -76142,26 +76946,26 @@
 
 	dw SafariZoneWestObject ; objects
 
-SafariZoneWestScript: ; 0x4a1b5
+SafariZoneWestScript: ; 4a1b5 (12:61b5)
 	jp EnableAutoTextBoxDrawing
 ; 0x4a1b8
 
-SafariZoneWestTexts: ; 0x4a1b8
+SafariZoneWestTexts: ; 4a1b8 (12:61b8)
 	dw Predef5CText, Predef5CText, Predef5CText, Predef5CText, SafariZoneWestText5, SafariZoneWestText6, SafariZoneWestText7, SafariZoneWestText8
 
-SafariZoneWestText5: ; 0x4a1c8
+SafariZoneWestText5: ; 4a1c8 (12:61c8)
 	TX_FAR _SafariZoneWestText5
 	db $50
 
-SafariZoneWestText6: ; 0x4a1cd
+SafariZoneWestText6: ; 4a1cd (12:61cd)
 	TX_FAR _SafariZoneWestText6
 	db $50
 
-SafariZoneWestText7: ; 0x4a1d2
+SafariZoneWestText7: ; 4a1d2 (12:61d2)
 	TX_FAR _SafariZoneWestText7
 	db $50
 
-SafariZoneWestText8: ; 0x4a1d7
+SafariZoneWestText8: ; 4a1d7 (12:61d7)
 	TX_FAR _SafariZoneWestText8
 	db $50
 
@@ -76200,7 +77004,7 @@
 	EVENT_DISP $f, $3, $3 ; SAFARI_ZONE_SECRET_HOUSE
 	EVENT_DISP $f, $b, $b ; SAFARI_ZONE_REST_HOUSE_2
 
-SafariZoneWestBlocks: ; 0x4a248 195
+SafariZoneWestBlocks: ; 4a248 (12:6248)
 	INCBIN "maps/safarizonewest.blk"
 
 SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222)
@@ -76211,14 +77015,14 @@
 
 	dw SafariZoneSecretHouseObject ; objects
 
-SafariZoneSecretHouseScript: ; 0x4a317
+SafariZoneSecretHouseScript: ; 4a317 (12:6317)
 	jp EnableAutoTextBoxDrawing
 ; 0x4a31a
 
-SafariZoneSecretHouseTexts: ; 0x4a31a
+SafariZoneSecretHouseTexts: ; 4a31a (12:631a)
 	dw SafariZoneSecretHouseText1
 
-SafariZoneSecretHouseText1: ; 0x4a31c
+SafariZoneSecretHouseText1: ; 4a31c (12:631c)
 	db $08 ; asm
 	ld a, [$d857]
 	bit 0, a
@@ -76243,22 +77047,22 @@
 .asm_8f1fc ; 0x4a34d
 	jp TextScriptEnd
 
-UnnamedText_4a350: ; 0x4a350
+UnnamedText_4a350: ; 4a350 (12:6350)
 	TX_FAR _UnnamedText_4a350
 	db $50
 ; 0x4a350 + 5 bytes
 
-ReceivedHM03Text: ; 0x4a355
+ReceivedHM03Text: ; 4a355 (12:6355)
 	TX_FAR _ReceivedHM03Text ; 0x85943
 	db $0B, $50
 ; 0x4a35b
 
-HM03ExplanationText: ; 0x4a35b
+HM03ExplanationText: ; 4a35b (12:635b)
 	TX_FAR _HM03ExplanationText
 	db $50
 ; 0x4a35b + 5 bytes
 
-HM03NoRoomText: ; 0x4a360
+HM03NoRoomText: ; 4a360 (12:6360)
 	TX_FAR _HM03NoRoomText
 	db $50
 ; 0x4a360 + 5 bytes
@@ -76279,101 +77083,101 @@
 	EVENT_DISP $4, $7, $2 ; SAFARI_ZONE_WEST
 	EVENT_DISP $4, $7, $3 ; SAFARI_ZONE_WEST
 
-SafariZoneSecretHouseBlocks: ; 0x4a37f 16
+SafariZoneSecretHouseBlocks: ; 4a37f (12:637f)
 	INCBIN "maps/safarizonesecrethouse.blk"
 
 SECTION "bank13",DATA,BANK[$13]
 
-YoungsterPic:
+YoungsterPic: ; 4c000 (13:4000)
 	INCBIN "pic/trainer/youngster.pic"
-BugCatcherPic:
+BugCatcherPic: ; 4c0c6 (13:40c6)
 	INCBIN "pic/trainer/bugcatcher.pic"
-LassPic:
+LassPic: ; 4c200 (13:4200)
 	INCBIN "pic/trainer/lass.pic"
-SailorPic:
+SailorPic: ; 4c2db (13:42db)
 	INCBIN "pic/trainer/sailor.pic"
-JrTrainerMPic:
+JrTrainerMPic: ; 4c450 (13:4450)
 	INCBIN "pic/trainer/jr.trainerm.pic"
-JrTrainerFPic:
+JrTrainerFPic: ; 4c588 (13:4588)
 	INCBIN "pic/trainer/jr.trainerf.pic"
-PokemaniacPic:
+PokemaniacPic: ; 4c6c9 (13:46c9)
 	INCBIN "pic/trainer/pokemaniac.pic"
-SuperNerdPic:
+SuperNerdPic: ; 4c7f1 (13:47f1)
 	INCBIN "pic/trainer/supernerd.pic"
-HikerPic:
+HikerPic: ; 4c8e7 (13:48e7)
 	INCBIN "pic/trainer/hiker.pic"
-BikerPic:
+BikerPic: ; 4cabe (13:4abe)
 	INCBIN "pic/trainer/biker.pic"
-BurglarPic:
+BurglarPic: ; 4cc91 (13:4c91)
 	INCBIN "pic/trainer/burglar.pic"
-EngineerPic:
+EngineerPic: ; 4ce0a (13:4e0a)
 	INCBIN "pic/trainer/engineer.pic"
-FisherPic:
+FisherPic: ; 4cf87 (13:4f87)
 	INCBIN "pic/trainer/fisher.pic"
-SwimmerPic:
+SwimmerPic: ; 4d133 (13:5133)
 	INCBIN "pic/trainer/swimmer.pic"
-CueBallPic:
+CueBallPic: ; 4d24f (13:524f)
 	INCBIN "pic/trainer/cueball.pic"
-GamblerPic:
+GamblerPic: ; 4d421 (13:5421)
 	INCBIN "pic/trainer/gambler.pic"
-BeautyPic:
+BeautyPic: ; 4d5df (13:55df)
 	INCBIN "pic/trainer/beauty.pic"
-PsychicPic:
+PsychicPic: ; 4d728 (13:5728)
 	INCBIN "pic/trainer/psychic.pic"
-RockerPic:
+RockerPic: ; 4d843 (13:5843)
 	INCBIN "pic/trainer/rocker.pic"
-JugglerPic:
+JugglerPic: ; 4d97d (13:597d)
 	INCBIN "pic/trainer/juggler.pic"
-TamerPic:
+TamerPic: ; 4db4e (13:5b4e)
 	INCBIN "pic/trainer/tamer.pic"
-BirdKeeperPic:
+BirdKeeperPic: ; 4dcdb (13:5cdb)
 	INCBIN "pic/trainer/birdkeeper.pic"
-BlackbeltPic:
+BlackbeltPic: ; 4de76 (13:5e76)
 	INCBIN "pic/trainer/blackbelt.pic"
-Rival1Pic:
+Rival1Pic: ; 4e049 (13:6049)
 	INCBIN "pic/trainer/rival1.pic"
-ProfOakPic:
+ProfOakPic: ; 4e15f (13:615f)
 	INCBIN "pic/trainer/prof.oak.pic"
-ChiefPic:
-ScientistPic:
+ChiefPic: ; 4e27d (13:627d)
+ScientistPic: ; 4e27d (13:627d)
 	INCBIN "pic/trainer/scientist.pic"
-GiovanniPic:
+GiovanniPic: ; 4e3be (13:63be)
 	INCBIN "pic/trainer/giovanni.pic"
-RocketPic:
+RocketPic: ; 4e49f (13:649f)
 	INCBIN "pic/trainer/rocket.pic"
-CooltrainerMPic:
+CooltrainerMPic: ; 4e635 (13:6635)
 	INCBIN "pic/trainer/cooltrainerm.pic"
-CooltrainerFPic:
+CooltrainerFPic: ; 4e7be (13:67be)
 	INCBIN "pic/trainer/cooltrainerf.pic"
-BrunoPic:
+BrunoPic: ; 4e943 (13:6943)
 	INCBIN "pic/trainer/bruno.pic"
-BrockPic:
+BrockPic: ; 4eb3e (13:6b3e)
 	INCBIN "pic/trainer/brock.pic"
-MistyPic:
+MistyPic: ; 4ec40 (13:6c40)
 	INCBIN "pic/trainer/misty.pic"
-LtSurgePic:
+LtSurgePic: ; 4ed30 (13:6d30)
 	INCBIN "pic/trainer/lt.surge.pic"
-ErikaPic:
+ErikaPic: ; 4eeb5 (13:6eb5)
 	INCBIN "pic/trainer/erika.pic"
-KogaPic:
+KogaPic: ; 4efd6 (13:6fd6)
 	INCBIN "pic/trainer/koga.pic"
-BlainePic:
+BlainePic: ; 4f150 (13:7150)
 	INCBIN "pic/trainer/blaine.pic"
-SabrinaPic:
+SabrinaPic: ; 4f252 (13:7252)
 	INCBIN "pic/trainer/sabrina.pic"
-GentlemanPic:
+GentlemanPic: ; 4f3d0 (13:73d0)
 	INCBIN "pic/trainer/gentleman.pic"
-Rival2Pic:
+Rival2Pic: ; 4f4cf (13:74cf)
 	INCBIN "pic/trainer/rival2.pic"
-Rival3Pic:
+Rival3Pic: ; 4f623 (13:7623)
 	INCBIN "pic/trainer/rival3.pic"
-LoreleiPic:
+LoreleiPic: ; 4f779 (13:7779)
 	INCBIN "pic/trainer/lorelei.pic"
-ChannelerPic:
+ChannelerPic: ; 4f8a4 (13:78a4)
 	INCBIN "pic/trainer/channeler.pic"
-AgathaPic:
+AgathaPic: ; 4fa71 (13:7a71)
 	INCBIN "pic/trainer/agatha.pic"
-LancePic:
+LancePic: ; 4fba2 (13:7ba2)
 	INCBIN "pic/trainer/lance.pic"
 
 BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239)
@@ -76384,7 +77188,7 @@
 
 	dw BattleCenterMObject ; objects
 
-BattleCenterMScript: ; 0x4fd10
+BattleCenterMScript: ; 4fd10 (13:7d10)
 	call EnableAutoTextBoxDrawing
 	ld a, [$ff00+$aa]
 	cp $2
@@ -76417,10 +77221,10 @@
 	ret
 ; 0x4fd4c
 
-BattleCenterMTexts: ; 0x4fd4c
+BattleCenterMTexts: ; 4fd4c (13:7d4c)
 	dw BattleCenterMText1
 
-BattleCenterMText1: ; 0x4fd4e
+BattleCenterMText1: ; 4fd4e (13:7d4e)
 	TX_FAR _BattleCenterMText1
 	db $50
 
@@ -76434,7 +77238,7 @@
 	db $1 ; people
 	db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person
 
-BattleCenterMBlocks: ; 0x4fd5d 20
+BattleCenterMBlocks: ; 4fd5d (13:7d5d)
 	INCBIN "maps/battlecenterm.blk"
 
 TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240)
@@ -76445,14 +77249,14 @@
 
 	dw TradeCenterMObject ; objects
 
-TradeCenterMScript: ; 0x4fd7d
+TradeCenterMScript: ; 4fd7d (13:7d7d)
 	jp BattleCenterMScript
 ; 0x4fd80
 
-TradeCenterMTexts: ; 0x4fd80
+TradeCenterMTexts: ; 4fd80 (13:7d80)
 	dw TradeCenterMText1
 
-TradeCenterMText1: ; 0x4fd82
+TradeCenterMText1: ; 4fd82 (13:7d82)
 	TX_FAR _TradeCenterMText1
 	db $50
 
@@ -76466,7 +77270,7 @@
 	db $1 ; people
 	db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person
 
-TradeCenterMBlocks: ; 0x4fd91 20
+TradeCenterMBlocks: ; 4fd91 (13:7d91)
 	INCBIN "maps/tradecenterm.blk"
 
 ; known jump sources: 3e59 (0:3e59)
@@ -76483,7 +77287,7 @@
 	xor a
 	ld [W_ENEMYBATTSTATUS3], a ; $d069
 	ld a, [$cf91]
-	ld [$cfd8], a
+	ld [W_ENEMYMONID], a
 	ld hl, Func_3eb01
 	ld b, BANK(Func_3eb01)
 	call Bankswitch ; indirect jump to Func_3eb01 (3eb01 (f:6b01))
@@ -76506,12 +77310,12 @@
 .asm_4fdee
 	ld [hli], a
 	ld [hl], $50
-	ld hl, $7e3f
+	ld hl, UnnamedText_4fe3f ; $7e3f
 	call PrintText
 	scf
 	ret
 .asm_4fdf9
-	ld hl, $7e44
+	ld hl, UnnamedText_4fe44 ; $7e44
 	call PrintText
 	and a
 	ret
@@ -76541,22 +77345,23 @@
 	pop af
 	ld [$d11e], a
 	call GetMonName
-	ld hl, $7e39
+	ld hl, Unknown_4fe39 ; $7e39
 	jp PrintText
 
+Unknown_4fe39: ; 4fe39 (13:7e39)
 INCBIN "baserom.gbc",$4fe39,$4fe3f - $4fe39
 
-UnnamedText_4fe3f: ; 0x4fe3f
+UnnamedText_4fe3f: ; 4fe3f (13:7e3f)
 	TX_FAR _UnnamedText_4fe3f
 	db $50
 ; 0x4fe3f + 5 bytes
 
-UnnamedText_4fe44: ; 0x4fe44
+UnnamedText_4fe44: ; 4fe44 (13:7e44)
 	TX_FAR _UnnamedText_4fe44
 	db $50
 ; 0x4fe44 + 5 bytes
 
-GetPredefPointer: ; 7E49
+GetPredefPointer: ; 4fe49 (13:7e49)
 ; stores hl in $CC4F,$CC50
 ; stores de in $CC51,$CC52
 ; stores bc in $CC53,$CC54
@@ -76613,7 +77418,7 @@
 
 	ret
 
-PredefPointers: ; 7E79
+PredefPointers: ; 4fe79 (13:7e79)
 ; these are pointers to ASM routines.
 ; they appear to be used in overworld map scripts.
 	dbw BANK(Func_3cd60),Func_3cd60
@@ -76624,9 +77429,9 @@
 	dw LoadMonBackSprite
 	dbw BANK(Func_79aba),Func_79aba
 	dbw $03,$7132
-HealPartyPredef:
+HealPartyPredef: ; 4fe8e (13:7e8e)
 	dbw BANK(HealParty),HealParty
-MoveAnimationPredef:
+MoveAnimationPredef: ; 4fe91 (13:7e91)
 	dbw BANK(MoveAnimation),MoveAnimation; 08 play move animation
 	dbw BANK(Func_f71e),Func_f71e
 	dbw BANK(Func_f71e),Func_f71e
@@ -76675,14 +77480,14 @@
 	dbw $1E,$5869
 	dbw $1C,$4B5D
 	dbw $03,$4586
-StatusScreenPredef:
+StatusScreenPredef: ; 4ff1b (13:7f1b)
 	dbw BANK(StatusScreen),StatusScreen ; 37 0x12953
-StatusSceren2Predef:
+StatusSceren2Predef: ; 4ff1e (13:7f1e)
 	dbw BANK(StatusScreen2),StatusScreen2 ; 38
 	dbw $10,$50E2
 	dbw $15,$690F
 	dbw $10,$5010
-Predef3BPredef:
+Predef3BPredef: ; 4ff2a (13:7f2a)
 	dbw BANK(Predef3B),Predef3B; 3B display pic?
 	dbw $03,$6F54
 	dbw $10,$42D1
@@ -76708,7 +77513,7 @@
 	dbw $1C,$76BD
 	dbw $1C,$75E8
 	dbw $1C,$77E2
-Predef54Predef:
+Predef54Predef: ; 4ff75 (13:7f75)
 	dbw BANK(Predef54),Predef54 ; 54 initiate trade
 	dbw $1D,$405C
 	dbw $11,$4169
@@ -76720,7 +77525,7 @@
 	dbw $01,$4DE1
 	dbw $09,$7D98
 	dbw $03,$7473
-DrawHPBarPredef:
+DrawHPBarPredef: ; 4ff96 (13:7f96)
 	dbw $04,$68EF ; 5F draw HP bar
 	dbw $04,$68F6
 	dbw $07,$49C6
@@ -76770,7 +77575,7 @@
 	; warp-to
 	EVENT_DISP $14, $5, $8 ; ROUTE_22_GATE
 
-Route22Blocks: ; 0x5003d 180
+Route22Blocks: ; 5003d (14:403d)
 	INCBIN "maps/route22.blk"
 
 Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31)
@@ -76826,7 +77631,7 @@
 	EVENT_DISP $32, $5, $30 ; SEAFOAM_ISLANDS_1
 	EVENT_DISP $32, $9, $3a ; SEAFOAM_ISLANDS_1
 
-Route20Blocks: ; 0x5017d 450
+Route20Blocks: ; 5017d (14:417d)
 	INCBIN "maps/route20.blk"
 
 Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34)
@@ -76882,7 +77687,7 @@
 	EVENT_DISP $a, $1f, $4 ; VICTORY_ROAD_1
 	EVENT_DISP $a, $1f, $e ; VICTORY_ROAD_2
 
-Route23Blocks: ; 0x503b2 720
+Route23Blocks: ; 503b2 (14:43b2)
 	INCBIN "maps/route23.blk"
 
 Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35)
@@ -76928,7 +77733,7 @@
 	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
+Route24Blocks: ; 506e7 (14:46e7)
 	INCBIN "maps/route24.blk"
 
 Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36)
@@ -76974,7 +77779,7 @@
 	; warp-to
 	EVENT_DISP $1e, $3, $2d ; BILLS_HOUSE
 
-Route25Blocks: ; 0x50810 270
+Route25Blocks: ; 50810 (14:4810)
 	INCBIN "maps/route25.blk"
 
 IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9)
@@ -76996,11 +77801,11 @@
 
 	dw IndigoPlateauObject ; objects
 
-IndigoPlateauScript: ; 0x50935
+IndigoPlateauScript: ; 50935 (14:4935)
 	ret
 ; 0x50936
 
-IndigoPlateauTexts:
+IndigoPlateauTexts: ; 50936 (14:4936)
 IndigoPlateauObject: ; 0x50936 (size=20)
 	db $e ; border tile
 
@@ -77016,7 +77821,7 @@
 	EVENT_DISP $a, $5, $9 ; INDIGO_PLATEAU_LOBBY
 	EVENT_DISP $a, $5, $a ; INDIGO_PLATEAU_LOBBY
 
-IndigoPlateauBlocks: ; 0x5094a 90
+IndigoPlateauBlocks: ; 5094a (14:494a)
 	INCBIN "maps/indigoplateau.blk"
 
 SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10)
@@ -77111,119 +77916,119 @@
 	EVENT_DISP $14, $1d, $9 ; SAFFRON_POKECENTER
 	EVENT_DISP $14, $1d, $1d ; SAFFRON_HOUSE_2
 
-SaffronCityBlocks: ; 0x50a98 360
+SaffronCityBlocks: ; 50a98 (14:4a98)
 	INCBIN "maps/saffroncity.blk"
 
-SaffronCityScript: ; 0x50c00
+SaffronCityScript: ; 50c00 (14:4c00)
 	jp EnableAutoTextBoxDrawing
 ; 0x50c03
 
-SaffronCityTexts: ; 0x50c03
+SaffronCityTexts: ; 50c03 (14:4c03)
 	dw SaffronCityText1, SaffronCityText2, SaffronCityText3, SaffronCityText4, SaffronCityText5, SaffronCityText6, SaffronCityText7, SaffronCityText8, SaffronCityText9, SaffronCityText10, SaffronCityText11, SaffronCityText12, SaffronCityText13, SaffronCityText14, SaffronCityText15, SaffronCityText16, SaffronCityText17, SaffronCityText18, MartSignText, SaffronCityText20, SaffronCityText21, SaffronCityText22, PokeCenterSignText, SaffronCityText24, SaffronCityText25
 
-SaffronCityText1: ; 0x50c35
+SaffronCityText1: ; 50c35 (14:4c35)
 	TX_FAR _SaffronCityText1
 	db $50
 
-SaffronCityText2: ; 0x50c3a
+SaffronCityText2: ; 50c3a (14:4c3a)
 	TX_FAR _SaffronCityText2
 	db $50
 
-SaffronCityText3: ; 0x50c3f
+SaffronCityText3: ; 50c3f (14:4c3f)
 	TX_FAR _SaffronCityText3
 	db $50
 
-SaffronCityText4: ; 0x50c44
+SaffronCityText4: ; 50c44 (14:4c44)
 	TX_FAR _SaffronCityText4
 	db $50
 
-SaffronCityText5: ; 0x50c49
+SaffronCityText5: ; 50c49 (14:4c49)
 	TX_FAR _SaffronCityText5
 	db $50
 
-SaffronCityText6: ; 0x50c4e
+SaffronCityText6: ; 50c4e (14:4c4e)
 	TX_FAR _SaffronCityText6
 	db $50
 
-SaffronCityText7: ; 0x50c53
+SaffronCityText7: ; 50c53 (14:4c53)
 	TX_FAR _SaffronCityText7
 	db $50
 
-SaffronCityText8: ; 0x50c58
+SaffronCityText8: ; 50c58 (14:4c58)
 	TX_FAR _SaffronCityText8
 	db $50
 
-SaffronCityText9: ; 0x50c5d
+SaffronCityText9: ; 50c5d (14:4c5d)
 	TX_FAR _SaffronCityText9
 	db $50
 
-SaffronCityText10: ; 0x50c62
+SaffronCityText10: ; 50c62 (14:4c62)
 	TX_FAR _SaffronCityText10
 	db $50
 
-SaffronCityText11: ; 0x50c67
+SaffronCityText11: ; 50c67 (14:4c67)
 	TX_FAR _SaffronCityText11
 	db $50
 
-SaffronCityText12: ; 0x50c6c
+SaffronCityText12: ; 50c6c (14:4c6c)
 	TX_FAR _SaffronCityText12
 	db $15, $50
 
-SaffronCityText13: ; 0x50c72
+SaffronCityText13: ; 50c72 (14:4c72)
 	TX_FAR _SaffronCityText13
 	db $50
 
-SaffronCityText14: ; 0x50c77
+SaffronCityText14: ; 50c77 (14:4c77)
 	TX_FAR _SaffronCityText14
 	db $50
 
-SaffronCityText15: ; 0x50c7c
+SaffronCityText15: ; 50c7c (14:4c7c)
 	TX_FAR _SaffronCityText15
 	db $50
 
-SaffronCityText16: ; 0x50c81
+SaffronCityText16: ; 50c81 (14:4c81)
 	TX_FAR _SaffronCityText16
 	db $50
 
-SaffronCityText17: ; 0x50c86
+SaffronCityText17: ; 50c86 (14:4c86)
 	TX_FAR _SaffronCityText17
 	db $50
 
-SaffronCityText18: ; 0x50c8b
+SaffronCityText18: ; 50c8b (14:4c8b)
 	TX_FAR _SaffronCityText18
 	db $50
 
-SaffronCityText20: ; 0x50c90
+SaffronCityText20: ; 50c90 (14:4c90)
 	TX_FAR _SaffronCityText20
 	db $50
 
-SaffronCityText21: ; 0x50c95
+SaffronCityText21: ; 50c95 (14:4c95)
 	TX_FAR _SaffronCityText21
 	db $50
 
-SaffronCityText22: ; 0x50c9a
+SaffronCityText22: ; 50c9a (14:4c9a)
 	TX_FAR _SaffronCityText22
 	db $50
 
-SaffronCityText24: ; 0x50c9f
+SaffronCityText24: ; 50c9f (14:4c9f)
 	TX_FAR _SaffronCityText24
 	db $50
 
-SaffronCityText25: ; 0x50ca4
+SaffronCityText25: ; 50ca4 (14:4ca4)
 	TX_FAR _SaffronCityText25
 	db $50
 
-Route20Script: ; 0x50ca9
+Route20Script: ; 50ca9 (14:4ca9)
 	ld hl, $d7e7
 	bit 0, [hl]
 	res 0, [hl]
 	call nz, Func_50cc6
 	call EnableAutoTextBoxDrawing
-	ld hl, $4d3a
-	ld de, $4d1c
-	ld a, [$d628]
-	call Func_3160
-	ld [$d628], a
+	ld hl, Route20TrainerHeader0 ; $4d3a
+	ld de, Unknown_50d1c ; $4d1c
+	ld a, [W_ROUTE20CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE20CURSCRIPT], a
 	ret
 ; 0x50cc6
 
@@ -77237,7 +78042,7 @@
 	call Func_50d0c
 	ld a, $d8
 	call Func_50d0c
-	ld hl, $4ce8
+	ld hl, .unknown_50ce8 ; $4ce8
 .asm_50cdc
 	ld a, [hli]
 	cp $ff
@@ -77247,7 +78052,9 @@
 	pop hl
 	jr .asm_50cdc
 
+.unknown_50ce8: ; 50ce8 (14:4ce8)
 INCBIN "baserom.gbc",$50ce8,$50cef - $50ce8
+
 .asm_50cef
 	ld a, [$d881]
 	and $3
@@ -77275,13 +78082,14 @@
 	ld a, $11
 	jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 
+Unknown_50d1c: ; 50d1c (14:4d1c)
 INCBIN "baserom.gbc",$50d1c,$50d22 - $50d1c
 
-Route20Texts: ; 0x50d22
+Route20Texts: ; 50d22 (14:4d22)
 	dw Route20Text1, Route20Text2, Route20Text3, Route20Text4, Route20Text5, Route20Text6, Route20Text7, Route20Text8, Route20Text9, Route20Text10, Route20Text11, Route20Text12
 
-Route20TrainerHeaders:
-Route20TrainerHeader0:
+Route20TrainerHeaders: ; 50d3a (14:4d3a)
+Route20TrainerHeader0: ; 50d3a (14:4d3a)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77291,7 +78099,7 @@
 	dw Route20EndBattleText1 ; 0x4e1c TextEndBattle
 ; 0x50d46
 
-Route20TrainerHeader2: ; 0x50d46
+Route20TrainerHeader2: ; 50d46 (14:4d46)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77301,7 +78109,7 @@
 	dw Route20EndBattleText2 ; 0x4e2b TextEndBattle
 ; 0x50d52
 
-Route20TrainerHeader3: ; 0x50d52
+Route20TrainerHeader3: ; 50d52 (14:4d52)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77311,7 +78119,7 @@
 	dw Route20EndBattleText3 ; 0x4e3a TextEndBattle
 ; 0x50d5e
 
-Route20TrainerHeader4: ; 0x50d5e
+Route20TrainerHeader4: ; 50d5e (14:4d5e)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77321,7 +78129,7 @@
 	dw Route20EndBattleText4 ; 0x4e49 TextEndBattle
 ; 0x50d6a
 
-Route20TrainerHeader5: ; 0x50d6a
+Route20TrainerHeader5: ; 50d6a (14:4d6a)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77331,7 +78139,7 @@
 	dw Route20EndBattleText5 ; 0x4e58 TextEndBattle
 ; 0x50d76
 
-Route20TrainerHeader6: ; 0x50d76
+Route20TrainerHeader6: ; 50d76 (14:4d76)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77341,7 +78149,7 @@
 	dw Route20EndBattleText6 ; 0x4e67 TextEndBattle
 ; 0x50d82
 
-Route20TrainerHeader7: ; 0x50d82
+Route20TrainerHeader7: ; 50d82 (14:4d82)
 	db $7 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77351,7 +78159,7 @@
 	dw Route20EndBattleText7 ; 0x4e76 TextEndBattle
 ; 0x50d8e
 
-Route20TrainerHeader8: ; 0x50d8e
+Route20TrainerHeader8: ; 50d8e (14:4d8e)
 	db $8 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77361,7 +78169,7 @@
 	dw Route20EndBattleText8 ; 0x4e85 TextEndBattle
 ; 0x50d9a
 
-Route20TrainerHeader9: ; 0x50d9a
+Route20TrainerHeader9: ; 50d9a (14:4d9a)
 	db $9 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77371,7 +78179,7 @@
 	dw Route20EndBattleText9 ; 0x4e94 TextEndBattle
 ; 0x50da6
 
-Route20TrainerHeader10: ; 0x50da6
+Route20TrainerHeader10: ; 50da6 (14:4da6)
 	db $a ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e7 ; flag's byte
@@ -77383,229 +78191,229 @@
 
 db $ff
 
-Route20Text1: ; 0x50db3
+Route20Text1: ; 50db3 (14:4db3)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text2: ; 0x50dbd
+Route20Text2: ; 50dbd (14:4dbd)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text3: ; 0x50dc7
+Route20Text3: ; 50dc7 (14:4dc7)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text4: ; 0x50dd1
+Route20Text4: ; 50dd1 (14:4dd1)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text5: ; 0x50ddb
+Route20Text5: ; 50ddb (14:4ddb)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text6: ; 0x50de5
+Route20Text6: ; 50de5 (14:4de5)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text7: ; 0x50def
+Route20Text7: ; 50def (14:4def)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text8: ; 0x50df9
+Route20Text8: ; 50df9 (14:4df9)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text9: ; 0x50e03
+Route20Text9: ; 50e03 (14:4e03)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20Text10: ; 0x50e0d
+Route20Text10: ; 50e0d (14:4e0d)
 	db $08 ; asm
 	ld hl, Route20TrainerHeader10
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route20BattleText1: ; 0x50e17
+Route20BattleText1: ; 50e17 (14:4e17)
 	TX_FAR _Route20BattleText1
 	db $50
 ; 0x50e17 + 5 bytes
 
-Route20EndBattleText1: ; 0x50e1c
+Route20EndBattleText1: ; 50e1c (14:4e1c)
 	TX_FAR _Route20EndBattleText1
 	db $50
 ; 0x50e1c + 5 bytes
 
-Route20AfterBattleText1: ; 0x50e21
+Route20AfterBattleText1: ; 50e21 (14:4e21)
 	TX_FAR _Route20AfterBattleText1
 	db $50
 ; 0x50e21 + 5 bytes
 
-Route20BattleText2: ; 0x50e26
+Route20BattleText2: ; 50e26 (14:4e26)
 	TX_FAR _Route20BattleText2
 	db $50
 ; 0x50e26 + 5 bytes
 
-Route20EndBattleText2: ; 0x50e2b
+Route20EndBattleText2: ; 50e2b (14:4e2b)
 	TX_FAR _Route20EndBattleText2
 	db $50
 ; 0x50e2b + 5 bytes
 
-Route20AfterBattleText2: ; 0x50e30
+Route20AfterBattleText2: ; 50e30 (14:4e30)
 	TX_FAR _Route20AfterBattleText2
 	db $50
 ; 0x50e30 + 5 bytes
 
-Route20BattleText3: ; 0x50e35
+Route20BattleText3: ; 50e35 (14:4e35)
 	TX_FAR _Route20BattleText3
 	db $50
 ; 0x50e35 + 5 bytes
 
-Route20EndBattleText3: ; 0x50e3a
+Route20EndBattleText3: ; 50e3a (14:4e3a)
 	TX_FAR _Route20EndBattleText3
 	db $50
 ; 0x50e3a + 5 bytes
 
-Route20AfterBattleText3: ; 0x50e3f
+Route20AfterBattleText3: ; 50e3f (14:4e3f)
 	TX_FAR _Route20AfterBattleText3
 	db $50
 ; 0x50e3f + 5 bytes
 
-Route20BattleText4: ; 0x50e44
+Route20BattleText4: ; 50e44 (14:4e44)
 	TX_FAR _Route20BattleText4
 	db $50
 ; 0x50e44 + 5 bytes
 
-Route20EndBattleText4: ; 0x50e49
+Route20EndBattleText4: ; 50e49 (14:4e49)
 	TX_FAR _Route20EndBattleText4
 	db $50
 ; 0x50e49 + 5 bytes
 
-Route20AfterBattleText4: ; 0x50e4e
+Route20AfterBattleText4: ; 50e4e (14:4e4e)
 	TX_FAR _Route20AfterBattleText4
 	db $50
 ; 0x50e4e + 5 bytes
 
-Route20BattleText5: ; 0x50e53
+Route20BattleText5: ; 50e53 (14:4e53)
 	TX_FAR _Route20BattleText5
 	db $50
 ; 0x50e53 + 5 bytes
 
-Route20EndBattleText5: ; 0x50e58
+Route20EndBattleText5: ; 50e58 (14:4e58)
 	TX_FAR _Route20EndBattleText5
 	db $50
 ; 0x50e58 + 5 bytes
 
-Route20AfterBattleText5: ; 0x50e5d
+Route20AfterBattleText5: ; 50e5d (14:4e5d)
 	TX_FAR _Route20AfterBattleText5
 	db $50
 ; 0x50e5d + 5 bytes
 
-Route20BattleText6: ; 0x50e62
+Route20BattleText6: ; 50e62 (14:4e62)
 	TX_FAR _Route20BattleText6
 	db $50
 ; 0x50e62 + 5 bytes
 
-Route20EndBattleText6: ; 0x50e67
+Route20EndBattleText6: ; 50e67 (14:4e67)
 	TX_FAR _Route20EndBattleText6
 	db $50
 ; 0x50e67 + 5 bytes
 
-Route20AfterBattleText6: ; 0x50e6c
+Route20AfterBattleText6: ; 50e6c (14:4e6c)
 	TX_FAR _Route20AfterBattleText6
 	db $50
 ; 0x50e6c + 5 bytes
 
-Route20BattleText7: ; 0x50e71
+Route20BattleText7: ; 50e71 (14:4e71)
 	TX_FAR _Route20BattleText7
 	db $50
 ; 0x50e71 + 5 bytes
 
-Route20EndBattleText7: ; 0x50e76
+Route20EndBattleText7: ; 50e76 (14:4e76)
 	TX_FAR _Route20EndBattleText7
 	db $50
 ; 0x50e76 + 5 bytes
 
-Route20AfterBattleText7: ; 0x50e7b
+Route20AfterBattleText7: ; 50e7b (14:4e7b)
 	TX_FAR _Route20AfterBattleText7
 	db $50
 ; 0x50e7b + 5 bytes
 
-Route20BattleText8: ; 0x50e80
+Route20BattleText8: ; 50e80 (14:4e80)
 	TX_FAR _Route20BattleText8
 	db $50
 ; 0x50e80 + 5 bytes
 
-Route20EndBattleText8: ; 0x50e85
+Route20EndBattleText8: ; 50e85 (14:4e85)
 	TX_FAR _Route20EndBattleText8
 	db $50
 ; 0x50e85 + 5 bytes
 
-Route20AfterBattleText8: ; 0x50e8a
+Route20AfterBattleText8: ; 50e8a (14:4e8a)
 	TX_FAR _Route20AfterBattleText8
 	db $50
 ; 0x50e8a + 5 bytes
 
-Route20BattleText9: ; 0x50e8f
+Route20BattleText9: ; 50e8f (14:4e8f)
 	TX_FAR _Route20BattleText9
 	db $50
 ; 0x50e8f + 5 bytes
 
-Route20EndBattleText9: ; 0x50e94
+Route20EndBattleText9: ; 50e94 (14:4e94)
 	TX_FAR _Route20EndBattleText9
 	db $50
 ; 0x50e94 + 5 bytes
 
-Route20AfterBattleText9: ; 0x50e99
+Route20AfterBattleText9: ; 50e99 (14:4e99)
 	TX_FAR _Route20AfterBattleText9
 	db $50
 ; 0x50e99 + 5 bytes
 
-Route20BattleText10: ; 0x50e9e
+Route20BattleText10: ; 50e9e (14:4e9e)
 	TX_FAR _Route20BattleText10
 	db $50
 ; 0x50e9e + 5 bytes
 
-Route20EndBattleText10: ; 0x50ea3
+Route20EndBattleText10: ; 50ea3 (14:4ea3)
 	TX_FAR _Route20EndBattleText10
 	db $50
 ; 0x50ea3 + 5 bytes
 
-Route20AfterBattleText10: ; 0x50ea8
+Route20AfterBattleText10: ; 50ea8 (14:4ea8)
 	TX_FAR _Route20AfterBattleText10
 	db $50
 ; 0x50ea8 + 5 bytes
 
-Route20Text12:
-Route20Text11: ; 0x50ead
+Route20Text12: ; 50ead (14:4ead)
+Route20Text11: ; 50ead (14:4ead)
 	TX_FAR _Route20Text11
 	db $50
 
-Route22Script: ; 0x50eb2
+Route22Script: ; 50eb2 (14:4eb2)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route22Scripts
-	ld a, [$d60a]
+	ld a, [W_ROUTE22CURSCRIPT]
 	jp CallFunctionInTable
 ; 0x50ebe
 
-Route22Scripts: ; 0x50ebe
+Route22Scripts: ; 50ebe (14:4ebe)
 	dw Route22Script0, Route22Script1, Route22Script2, Route22Script3
 
 INCBIN "baserom.gbc",$50ec6,$50ece - $50ec6
@@ -77613,8 +78421,8 @@
 ; known jump sources: 510e4 (14:50e4)
 Func_50ece: ; 50ece (14:4ece)
 	xor a
-	ld [$cd6b], a
-	ld [$d60a], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 
 ; known jump sources: 510d0 (14:50d0)
@@ -77634,7 +78442,7 @@
 
 ; known jump sources: 50f59 (14:4f59), 5107e (14:507e)
 Func_50ee6: ; 50ee6 (14:4ee6)
-	ld de, $4efb
+	ld de, Unknown_50efb ; $4efb
 	ld a, [$cf0d]
 	cp $1
 	jr z, .asm_50ef1
@@ -77645,21 +78453,22 @@
 	ld [$FF00+$8d], a
 	jp Func_34a6
 
+Unknown_50efb: ; 50efb (14:4efb)
 INCBIN "baserom.gbc",$50efb,$50f00 - $50efb
 
-Route22Script0: ; 0x50f00
+Route22Script0: ; 50f00 (14:4f00)
 	ld a, [$d7eb]
 	bit 7, a
 	ret z
-	ld hl, $4f2d
+	ld hl, .unknown_50f2d ; $4f2d
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, [$cd3d]
 	ld [$cf0d], a
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $2
 	ld [$d528], a
 	ld a, [$d7eb]
@@ -77668,11 +78477,12 @@
 	bit 1, a
 	jp nz, Func_5104e
 	ret
-	inc b
-	dec e
-	dec b
-	dec e
-	rst $38
+
+.unknown_50f2d
+	db $04, $1D
+	db $05, $1D
+	db $FF
+
 .asm_50f32
 	ld a, $1
 	ld [$cd4f], a
@@ -77694,11 +78504,11 @@
 	ld [$ff00+$8c], a
 	call Func_50ee6
 	ld a, $1
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 ; 0x50f62
 
-Route22Script1: ; 0x50f62
+Route22Script1: ; 50f62 (14:4f62)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -77717,7 +78527,7 @@
 	ld [$ff00+$8c], a
 	call Func_34a6
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -77726,19 +78536,20 @@
 	set 7, [hl]
 	ld hl, UnnamedText_511b7
 	ld de, UnnamedText_511bc
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, $e1
 	ld [$d059], a
-	ld hl, $4faf
+	ld hl, Unknown_50faf ; $4faf
 	call Func_50ed6
 	ld a, $2
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 ; 0x50faf
 
+Unknown_50faf: ; 50faf (14:4faf)
 INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf
 
-Route22Script2: ; 0x50fb5
+Route22Script2: ; 50fb5 (14:4fb5)
 	ld a, [$d057]
 	cp $ff
 	jp z, Func_50ece
@@ -77755,7 +78566,7 @@
 	ld [$ff00+$8c], a
 	call Func_34a6
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d7eb
 	set 5, [hl]
 	ld a, $1
@@ -77776,16 +78587,16 @@
 	call Func_5100d
 .asm_51002
 	ld a, $3
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 ; 0x51008
 
-Func_51008: ; 0x51008
-	ld de, $5017
+Func_51008: ; 51008 (14:5008)
+	ld de, Unknown_51017 ; $5017
 	jr asm_51010
 
-Func_5100d: ; 0x5100d
-	ld de, $501f
+Func_5100d: ; 5100d (14:500d)
+	ld de, Unknown_5101f ; $501f
 asm_51010
 	ld a, $1
 	ld [H_SPRITEHEIGHT], a
@@ -77792,14 +78603,18 @@
 	jp MoveSprite
 ; 0x51017
 
-INCBIN "baserom.gbc",$51017,$5102a - $51017
+Unknown_51017: ; 51017 (14:5017)
+INCBIN "baserom.gbc",$51017,$5101f - $51017
 
-Route22Script3: ; 0x5102a
+Unknown_5101f: ; 5101f (14:501f)
+INCBIN "baserom.gbc",$5101f,$5102a - $5101f
+
+Route22Script3: ; 5102a (14:502a)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $22
 	ld [$cc4d], a
 	ld a, $11
@@ -77809,7 +78624,7 @@
 	res 0, [hl]
 	res 7, [hl]
 	ld a, $0
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 ; 0x5104e
 
@@ -77838,7 +78653,7 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call Func_50ee6
 	ld a, $4
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 	ld a, [$d730]
 	bit 0, a
@@ -77860,7 +78675,7 @@
 	ld [$FF00+$8d], a
 	call Func_34a6
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $2
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -77867,17 +78682,18 @@
 	ld hl, $d72d
 	set 6, [hl]
 	set 7, [hl]
-	ld hl, $51cb
-	ld de, $51d0
-	call Func_3354
+	ld hl, UnnamedText_511cb ; $51cb
+	ld de, UnnamedText_511d0 ; $51d0
+	call PreBattleSaveRegisters
 	ld a, $f2
 	ld [W_CUROPPONENT], a ; $d059
-	ld hl, $50d9
+	ld hl, Unknown_510d9 ; $50d9
 	call Func_50ed6
 	ld a, $5
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 
+Unknown_510d9: ; 510d9 (14:50d9)
 INCBIN "baserom.gbc",$510d9,$510df - $510d9
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
@@ -77899,7 +78715,7 @@
 	ld [$FF00+$8d], a
 	call Func_34a6
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d7eb
 	set 6, [hl]
 	ld a, $2
@@ -77920,28 +78736,32 @@
 	call Func_51142
 .asm_51137
 	ld a, $6
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 
 ; known jump sources: 5112f (14:512f)
 Func_5113d: ; 5113d (14:513d)
-	ld de, $514c
+	ld de, Unknown_5114c ; $514c
 	jr asm_51145
 
 ; known jump sources: 51134 (14:5134)
 Func_51142: ; 51142 (14:5142)
-	ld de, $514d
+	ld de, Unknown_5114d ; $514d
 asm_51145: ; 51145 (14:5145)
 	ld a, $2
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp MoveSprite
 
-INCBIN "baserom.gbc",$5114c,$51151 - $5114c
+Unknown_5114c: ; 5114c (14:514c)
+INCBIN "baserom.gbc",$5114c,$5114d - $5114c
+
+Unknown_5114d: ; 5114d (14:514d)
+INCBIN "baserom.gbc",$5114d,$51151 - $5114d
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $23
 	ld [$cc4d], a
 	ld a, $11
@@ -77951,13 +78771,13 @@
 	res 1, [hl]
 	res 7, [hl]
 	ld a, $7
-	ld [$d60a], a
+	ld [W_ROUTE22CURSCRIPT], a
 	ret
 ; 51175 (14:5175)
-Route22Texts: ; 0x51175
+Route22Texts: ; 51175 (14:5175)
 	dw Route22Text1, Route22Text2, Route22Text3
 
-Route22Text1: ; 0x5117b
+Route22Text1: ; 5117b (14:517b)
 	db $08 ; asm
 	ld a, [$d7eb]
 	bit 5, a
@@ -77971,7 +78791,7 @@
 .asm_48088 ; 0x51191
 	jp TextScriptEnd
 
-Route22Text2: ; 0x51194
+Route22Text2: ; 51194 (14:5194)
 	db $08 ; asm
 	ld a, [$d7eb]
 	bit 6, a
@@ -77985,55 +78805,55 @@
 .asm_673ee ; 0x511aa
 	jp TextScriptEnd
 
-UnnamedText_511ad: ; 0x511ad
+UnnamedText_511ad: ; 511ad (14:51ad)
 	TX_FAR _UnnamedText_511ad
 	db $50
 ; 0x511ad + 5 bytes
 
-UnnamedText_511b2: ; 0x511b2
+UnnamedText_511b2: ; 511b2 (14:51b2)
 	TX_FAR _UnnamedText_511b2
 	db $50
 ; 0x511b2 + 5 bytes
 
-UnnamedText_511b7: ; 0x511b7
+UnnamedText_511b7: ; 511b7 (14:51b7)
 	TX_FAR _UnnamedText_511b7
 	db $50
 ; 0x511b7 + 5 bytes
 
-UnnamedText_511bc: ; 0x511bc
+UnnamedText_511bc: ; 511bc (14:51bc)
 	TX_FAR _UnnamedText_511bc
 	db $50
 ; 0x511bc + 5 bytes
 
-UnnamedText_511c1: ; 0x511c1
+UnnamedText_511c1: ; 511c1 (14:51c1)
 	TX_FAR _UnnamedText_511c1
 	db $50
 ; 0x511c1 + 5 bytes
 
-UnnamedText_511c6: ; 0x511c6
+UnnamedText_511c6: ; 511c6 (14:51c6)
 	TX_FAR _UnnamedText_511c6
 	db $50
 ; 0x511c6 + 5 bytes
 
-UnnamedText_511cb: ; 0x511cb
+UnnamedText_511cb: ; 511cb (14:51cb)
 	TX_FAR _UnnamedText_511cb
 	db $50
 ; 0x511cb + 5 bytes
 
-UnnamedText_511d0: ; 0x511d0
+UnnamedText_511d0: ; 511d0 (14:51d0)
 	TX_FAR _UnnamedText_511d0
 	db $50
 ; 0x511d0 + 5 bytes
 
-Route22Text3: ; 0x511d5
+Route22Text3: ; 511d5 (14:51d5)
 	TX_FAR _Route22Text3
 	db $50
 
-Route23Script: ; 0x511da
+Route23Script: ; 511da (14:51da)
 	call Func_511e9
 	call EnableAutoTextBoxDrawing
 	ld hl, Route23Scripts
-	ld a, [$d667]
+	ld a, [W_ROUTE23CURSCRIPT]
 	jp CallFunctionInTable
 ; 0x511e9
 
@@ -78058,11 +78878,11 @@
 	ld a, $11
 	jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 ; 51213 (14:5213)
-Route23Scripts: ; 0x51213
+Route23Scripts: ; 51213 (14:5213)
 	dw Route23Script0, Route23Script1, Route23Script2
 
-Route23Script0: ; 0x51219
-	ld hl, $5255
+Route23Script0: ; 51219 (14:5219)
+	ld hl, Unknown_51255 ; $5255
 	ld a, [$d361]
 	ld b, a
 	ld e, $0
@@ -78095,15 +78915,16 @@
 	call Func_5125d
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ret
 ; 0x51255
 
+Unknown_51255: ; 51255 (14:5255)
 INCBIN "baserom.gbc",$51255,$5125d - $51255
 
 ; known jump sources: 5124b (14:524b), 51349 (14:5349)
 Func_5125d: ; 5125d (14:525d)
-	ld hl, $5276
+	ld hl, Unknown_51276 ; $5276
 	ld a, [W_WHICHTRADE] ; $cd3d
 	ld c, a
 	ld b, $0
@@ -78121,6 +78942,7 @@
 	jr nz, .asm_5126e
 	ret
 
+Unknown_51276: ; 51276 (14:5276)
 INCBIN "baserom.gbc",$51276,$512d8 - $51276
 
 ; known jump sources: 51365 (14:5365)
@@ -78131,59 +78953,59 @@
 	ld [$ccd3], a
 	xor a
 	ld [$c109], a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	jp Func_3486
 ; 512ec (14:52ec)
-Route23Script1: ; 0x512ec
+Route23Script1: ; 512ec (14:52ec)
 	ld a, [$cd38]
 	and a
 	ret nz
-Route23Script2: ; 0x512f1
+Route23Script2: ; 512f1 (14:52f1)
 	ld a, $0
-	ld [$d667], a
+	ld [W_ROUTE23CURSCRIPT], a
 	ret
 ; 0x512f7
 
-Route23Texts: ; 0x512f7
+Route23Texts: ; 512f7 (14:52f7)
 	dw Route23Text1, Route23Text2, Route23Text3, Route23Text4, Route23Text5, Route23Text6, Route23Text7, Route23Text8
 
-Route23Text1: ; 0x51307
+Route23Text1: ; 51307 (14:5307)
 	db $08 ; asm
 	ld a, $6
 	call Func_51346
 	jp TextScriptEnd
 
-Route23Text2: ; 0x51310
+Route23Text2: ; 51310 (14:5310)
 	db $08 ; asm
 	ld a, $5
 	call Func_51346
 	jp TextScriptEnd
 
-Route23Text3: ; 0x51319
+Route23Text3: ; 51319 (14:5319)
 	db $08 ; asm
 	ld a, $4
 	call Func_51346
 	jp TextScriptEnd
 
-Route23Text4: ; 0x51322
+Route23Text4: ; 51322 (14:5322)
 	db $08 ; asm
 	ld a, $3
 	call Func_51346
 	jp TextScriptEnd
 
-Route23Text5: ; 0x5132b
+Route23Text5: ; 5132b (14:532b)
 	db $08 ; asm
 	ld a, $2
 	call Func_51346
 	jp TextScriptEnd
 
-Route23Text6: ; 0x51334
+Route23Text6: ; 51334 (14:5334)
 	db $08 ; asm
 	ld a, $1
 	call Func_51346
 	jp TextScriptEnd
 
-Route23Text7: ; 0x5133d
+Route23Text7: ; 5133d (14:533d)
 	db $8
 	ld a, $0
 	call Func_51346
@@ -78204,14 +79026,14 @@
 	ld a, c
 	and a
 	jr nz, .asm_5136e
-	ld hl, $538e
+	ld hl, Unknown_5138e ; $538e
 	call PrintText
 	call Func_512d8
 	ld a, $1
-	ld [$d667], a
+	ld [W_ROUTE23CURSCRIPT], a
 	ret
 .asm_5136e
-	ld hl, $539e
+	ld hl, Unknown_5139e ; $539e
 	call PrintText
 	ld a, [W_WHICHTRADE] ; $cd3d
 	ld c, a
@@ -78220,27 +79042,33 @@
 	ld a, $10
 	call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 	ld a, $2
-	ld [$d667], a
+	ld [W_ROUTE23CURSCRIPT], a
 	ret
 
-INCBIN "baserom.gbc",$51388,$513a3 - $51388
+INCBIN "baserom.gbc",$51388,$5138e - $51388
 
-UnnamedText_513a3: ; 0x513a3
+Unknown_5138e: ; 5138e (14:538e)
+INCBIN "baserom.gbc",$5138e,$5139e - $5138e
+
+Unknown_5139e: ; 5139e (14:539e)
+INCBIN "baserom.gbc",$5139e,$513a3 - $5139e
+
+UnnamedText_513a3: ; 513a3 (14:53a3)
 	TX_FAR _UnnamedText_513a3
 	db $50
 ; 0x513a3 + 5 bytes
 
-Route23Text8: ; 0x513a8
+Route23Text8: ; 513a8 (14:53a8)
 	TX_FAR _Route23Text8
 	db $50
 
-Route24Script: ; 0x513ad
+Route24Script: ; 513ad (14:53ad)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route24TrainerHeaders
-	ld de, $53cb
-	ld a, [$d602]
-	call Func_3160
-	ld [$d602], a
+	ld de, Unknown_513cb ; $53cb
+	ld a, [W_ROUTE24CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE24CURSCRIPT], a
 	ret
 ; 0x513c0
 
@@ -78247,20 +79075,21 @@
 ; known jump sources: 51427 (14:5427)
 Func_513c0: ; 513c0 (14:53c0)
 	xor a
-	ld [$cd6b], a
-	ld [$d602], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE24CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_513cb: ; 513cb (14:53cb)
 INCBIN "baserom.gbc",$513cb,$513d5 - $513cb
 	ld a, [$d7ef]
 	bit 0, a
-	jp nz, Func_3219
-	ld hl, $540e
+	jp nz, CheckFightingMapTrainers
+	ld hl, Unknown_5140e ; $540e
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $1
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -78274,10 +79103,11 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $4
-	ld [$d602], a
-	ld [$da39], a
+	ld [W_ROUTE24CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_5140e: ; 5140e (14:540e)
 INCBIN "baserom.gbc",$5140e,$51422 - $5140e
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
@@ -78284,7 +79114,7 @@
 	jp z, Func_513c0
 	call UpdateSprites
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d7ef
 	set 1, [hl]
 	ld a, $1
@@ -78291,17 +79121,17 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d602], a
-	ld [$da39], a
+	ld [W_ROUTE24CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 5144b (14:544b)
-Route24Texts: ; 0x5144b
+Route24Texts: ; 5144b (14:544b)
 	dw Route24Text1, Route24Text2, Route24Text3, Route24Text4, Route24Text5, Route24Text6, Route24Text7, Predef5CText
 
-Route24TrainerHeaders:
-Route24TrainerHeader0: ; 0x5145b
+Route24TrainerHeaders: ; 5145b (14:545b)
+Route24TrainerHeader0: ; 5145b (14:545b)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7ef ; flag's byte
@@ -78311,7 +79141,7 @@
 	dw Route24EndBattleText1 ; 0x5576 TextEndBattle
 ; 0x51467
 
-Route24TrainerHeader2: ; 0x51467
+Route24TrainerHeader2: ; 51467 (14:5467)
 	db $3 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7ef ; flag's byte
@@ -78321,7 +79151,7 @@
 	dw Route24EndBattleText2 ; 0x5585 TextEndBattle
 ; 0x51473
 
-Route24TrainerHeader3: ; 0x51473
+Route24TrainerHeader3: ; 51473 (14:5473)
 	db $4 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7ef ; flag's byte
@@ -78331,7 +79161,7 @@
 	dw Route24EndBattleText3 ; 0x5594 TextEndBattle
 ; 0x5147f
 
-Route24TrainerHeader4: ; 0x5147f
+Route24TrainerHeader4: ; 5147f (14:547f)
 	db $5 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7ef ; flag's byte
@@ -78341,7 +79171,7 @@
 	dw Route24EndBattleText4 ; 0x55a3 TextEndBattle
 ; 0x5148b
 
-Route24TrainerHeader5: ; 0x5148b
+Route24TrainerHeader5: ; 5148b (14:548b)
 	db $6 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7ef ; flag's byte
@@ -78351,7 +79181,7 @@
 	dw Route24EndBattleText5 ; 0x55b2 TextEndBattle
 ; 0x51497
 
-Route24TrainerHeader6: ; 0x51497
+Route24TrainerHeader6: ; 51497 (14:5497)
 	db $7 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7ef ; flag's byte
@@ -78363,7 +79193,7 @@
 
 db $ff
 
-Route24Text1: ; 0x514a4
+Route24Text1: ; 514a4 (14:54a4)
 	db $8
 	ld hl, $d7f0
 	res 1, [hl]
@@ -78386,16 +79216,16 @@
 	set 7, [hl]
 	ld hl, UnnamedText_5152b
 	ld de, UnnamedText_5152b
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, [$ff00+$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $3
-	ld [$d602], a
-	ld [$da39], a
+	ld [W_ROUTE24CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	jp TextScriptEnd
 .asm_a03f5 ; 0x514f9
 	ld hl, UnnamedText_51530
@@ -78409,7 +79239,7 @@
 	jp TextScriptEnd
 ; 0x51510
 
-UnnamedText_51510: ; 0x51510
+UnnamedText_51510: ; 51510 (14:5510)
 	TX_FAR _UnnamedText_51510 ; 0x92721
 	db $0B
 	TX_FAR _UnnamedText_51515 ; 0x92755
@@ -78416,168 +79246,168 @@
 	db $50
 ; 0x5151a
 
-UnnamedText_5151a: ; 0x5151a
+UnnamedText_5151a: ; 5151a (14:551a)
 	TX_FAR _UnnamedText_5151a ; 0x92779
 	db $0B, $6, $50
 
-UnnamedText_51521: ; 0x51521
+UnnamedText_51521: ; 51521 (14:5521)
 	TX_FAR _UnnamedText_51521
 	db $50
 ; 0x51521 + 5 bytes
 
-UnnamedText_51526: ; 0x51526
+UnnamedText_51526: ; 51526 (14:5526)
 	TX_FAR _UnnamedText_51526
 	db $50
 ; 0x51526 + 5 bytes
 
-UnnamedText_5152b: ; 0x5152b
+UnnamedText_5152b: ; 5152b (14:552b)
 	TX_FAR _UnnamedText_5152b
 	db $50
 ; 0x5152b + 5 bytes
 
-UnnamedText_51530: ; 0x51530
+UnnamedText_51530: ; 51530 (14:5530)
 	TX_FAR _UnnamedText_51530
 	db $50
 ; 0x51530 + 5 bytes
 
-Route24Text2: ; 0x51535
+Route24Text2: ; 51535 (14:5535)
 	db $08 ; asm
 	ld hl, Route24TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route24Text3: ; 0x5153f
+Route24Text3: ; 5153f (14:553f)
 	db $08 ; asm
 	ld hl, Route24TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route24Text4: ; 0x51549
+Route24Text4: ; 51549 (14:5549)
 	db $08 ; asm
 	ld hl, Route24TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route24Text5: ; 0x51553
+Route24Text5: ; 51553 (14:5553)
 	db $08 ; asm
 	ld hl, Route24TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route24Text6: ; 0x5155d
+Route24Text6: ; 5155d (14:555d)
 	db $08 ; asm
 	ld hl, Route24TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route24Text7: ; 0x51567
+Route24Text7: ; 51567 (14:5567)
 	db $08 ; asm
 	ld hl, Route24TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route24BattleText1: ; 0x51571
+Route24BattleText1: ; 51571 (14:5571)
 	TX_FAR _Route24BattleText1
 	db $50
 ; 0x51571 + 5 bytes
 
-Route24EndBattleText1: ; 0x51576
+Route24EndBattleText1: ; 51576 (14:5576)
 	TX_FAR _Route24EndBattleText1
 	db $50
 ; 0x51576 + 5 bytes
 
-Route24AfterBattleText1: ; 0x5157b
+Route24AfterBattleText1: ; 5157b (14:557b)
 	TX_FAR _Route24AfterBattleText1
 	db $50
 ; 0x5157b + 5 bytes
 
-Route24BattleText2: ; 0x51580
+Route24BattleText2: ; 51580 (14:5580)
 	TX_FAR _Route24BattleText2
 	db $50
 ; 0x51580 + 5 bytes
 
-Route24EndBattleText2: ; 0x51585
+Route24EndBattleText2: ; 51585 (14:5585)
 	TX_FAR _Route24EndBattleText2
 	db $50
 ; 0x51585 + 5 bytes
 
-Route24AfterBattleText2: ; 0x5158a
+Route24AfterBattleText2: ; 5158a (14:558a)
 	TX_FAR _Route24AfterBattleText2
 	db $50
 ; 0x5158a + 5 bytes
 
-Route24BattleText3: ; 0x5158f
+Route24BattleText3: ; 5158f (14:558f)
 	TX_FAR _Route24BattleText3
 	db $50
 ; 0x5158f + 5 bytes
 
-Route24EndBattleText3: ; 0x51594
+Route24EndBattleText3: ; 51594 (14:5594)
 	TX_FAR _Route24EndBattleText3
 	db $50
 ; 0x51594 + 5 bytes
 
-Route24AfterBattleText3: ; 0x51599
+Route24AfterBattleText3: ; 51599 (14:5599)
 	TX_FAR _Route24AfterBattleText3
 	db $50
 ; 0x51599 + 5 bytes
 
-Route24BattleText4: ; 0x5159e
+Route24BattleText4: ; 5159e (14:559e)
 	TX_FAR _Route24BattleText4
 	db $50
 ; 0x5159e + 5 bytes
 
-Route24EndBattleText4: ; 0x515a3
+Route24EndBattleText4: ; 515a3 (14:55a3)
 	TX_FAR _Route24EndBattleText4
 	db $50
 ; 0x515a3 + 5 bytes
 
-Route24AfterBattleText4: ; 0x515a8
+Route24AfterBattleText4: ; 515a8 (14:55a8)
 	TX_FAR _Route24AfterBattleText4
 	db $50
 ; 0x515a8 + 5 bytes
 
-Route24BattleText5: ; 0x515ad
+Route24BattleText5: ; 515ad (14:55ad)
 	TX_FAR _Route24BattleText5
 	db $50
 ; 0x515ad + 5 bytes
 
-Route24EndBattleText5: ; 0x515b2
+Route24EndBattleText5: ; 515b2 (14:55b2)
 	TX_FAR _Route24EndBattleText5
 	db $50
 ; 0x515b2 + 5 bytes
 
-Route24AfterBattleText5: ; 0x515b7
+Route24AfterBattleText5: ; 515b7 (14:55b7)
 	TX_FAR _Route24AfterBattleText5
 	db $50
 ; 0x515b7 + 5 bytes
 
-Route24BattleText6: ; 0x515bc
+Route24BattleText6: ; 515bc (14:55bc)
 	TX_FAR _Route24BattleText6
 	db $50
 ; 0x515bc + 5 bytes
 
-Route24EndBattleText6: ; 0x515c1
+Route24EndBattleText6: ; 515c1 (14:55c1)
 	TX_FAR _Route24EndBattleText6
 	db $50
 ; 0x515c1 + 5 bytes
 
-Route24AfterBattleText6: ; 0x515c6
+Route24AfterBattleText6: ; 515c6 (14:55c6)
 	TX_FAR _Route24AfterBattleText6
 	db $50
 ; 0x515c6 + 5 bytes
 
-Route25Script: ; 0x515cb
+Route25Script: ; 515cb (14:55cb)
 	call Unknown_515e1
 	call EnableAutoTextBoxDrawing
 	ld hl, Route25TrainerHeaders
-	ld de, $5622
-	ld a, [$d603]
-	call Func_3160
-	ld [$d603], a
+	ld de, Unknown_51622 ; $5622
+	ld a, [W_ROUTE25CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE25CURSCRIPT], a
 	ret
 ; 0x515e1
 
-Unknown_515e1: ; 0x515e1
+Unknown_515e1: ; 515e1 (14:55e1)
 	ld hl, $d126
 	bit 6, [hl]
 	res 6, [hl]
@@ -78609,13 +79439,14 @@
 	ld a, $15
 	jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8))
 
+Unknown_51622: ; 51622 (14:5622)
 INCBIN "baserom.gbc",$51622,$51628 - $51622
 
-Route25Texts: ; 0x51628
+Route25Texts: ; 51628 (14:5628)
 	dw Route25Text1, Route25Text2, Route25Text3, Route25Text4, Route25Text5, Route25Text6, Route25Text7, Route25Text8, Route25Text9, Predef5CText, Route25Text11
 
-Route25TrainerHeaders:
-Route25TrainerHeader0: ; 0x5163e
+Route25TrainerHeaders: ; 5163e (14:563e)
+Route25TrainerHeader0: ; 5163e (14:563e)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78625,7 +79456,7 @@
 	dw Route25EndBattleText1 ; 0x570a TextEndBattle
 ; 0x5164a
 
-Route25TrainerHeader2: ; 0x5164a
+Route25TrainerHeader2: ; 5164a (14:564a)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78635,7 +79466,7 @@
 	dw Route25EndBattleText2 ; 0x5719 TextEndBattle
 ; 0x51656
 
-Route25TrainerHeader3: ; 0x51656
+Route25TrainerHeader3: ; 51656 (14:5656)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78645,7 +79476,7 @@
 	dw Route25EndBattleText3 ; 0x5728 TextEndBattle
 ; 0x51662
 
-Route25TrainerHeader4: ; 0x51662
+Route25TrainerHeader4: ; 51662 (14:5662)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78655,7 +79486,7 @@
 	dw Route25EndBattleText4 ; 0x5737 TextEndBattle
 ; 0x5166e
 
-Route25TrainerHeader5: ; 0x5166e
+Route25TrainerHeader5: ; 5166e (14:566e)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78665,7 +79496,7 @@
 	dw Route25EndBattleText5 ; 0x5746 TextEndBattle
 ; 0x5167a
 
-Route25TrainerHeader6: ; 0x5167a
+Route25TrainerHeader6: ; 5167a (14:567a)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78675,7 +79506,7 @@
 	dw Route25EndBattleText6 ; 0x5755 TextEndBattle
 ; 0x51686
 
-Route25TrainerHeader7: ; 0x51686
+Route25TrainerHeader7: ; 51686 (14:5686)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78685,7 +79516,7 @@
 	dw Route25EndBattleText7 ; 0x5764 TextEndBattle
 ; 0x51692
 
-Route25TrainerHeader8: ; 0x51692
+Route25TrainerHeader8: ; 51692 (14:5692)
 	db $8 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78695,7 +79526,7 @@
 	dw Route25EndBattleText8 ; 0x5773 TextEndBattle
 ; 0x5169e
 
-Route25TrainerHeader9: ; 0x5169e
+Route25TrainerHeader9: ; 5169e (14:569e)
 	db $9 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7f1 ; flag's byte
@@ -78707,196 +79538,196 @@
 
 db $ff
 
-Route25Text1: ; 0x516ab
+Route25Text1: ; 516ab (14:56ab)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text2: ; 0x516b5
+Route25Text2: ; 516b5 (14:56b5)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text3: ; 0x516bf
+Route25Text3: ; 516bf (14:56bf)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text4: ; 0x516c9
+Route25Text4: ; 516c9 (14:56c9)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text5: ; 0x516d3
+Route25Text5: ; 516d3 (14:56d3)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text6: ; 0x516dd
+Route25Text6: ; 516dd (14:56dd)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text7: ; 0x516e7
+Route25Text7: ; 516e7 (14:56e7)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text8: ; 0x516f1
+Route25Text8: ; 516f1 (14:56f1)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25Text9: ; 0x516fb
+Route25Text9: ; 516fb (14:56fb)
 	db $08 ; asm
 	ld hl, Route25TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route25BattleText1: ; 0x51705
+Route25BattleText1: ; 51705 (14:5705)
 	TX_FAR _Route25BattleText1
 	db $50
 ; 0x51705 + 5 bytes
 
-Route25EndBattleText1: ; 0x5170a
+Route25EndBattleText1: ; 5170a (14:570a)
 	TX_FAR _Route25EndBattleText1
 	db $50
 ; 0x5170a + 5 bytes
 
-Route25AfterBattleText1: ; 0x5170f
+Route25AfterBattleText1: ; 5170f (14:570f)
 	TX_FAR _Route25AfterBattleText1
 	db $50
 ; 0x5170f + 5 bytes
 
-Route25BattleText2: ; 0x51714
+Route25BattleText2: ; 51714 (14:5714)
 	TX_FAR _Route25BattleText2
 	db $50
 ; 0x51714 + 5 bytes
 
-Route25EndBattleText2: ; 0x51719
+Route25EndBattleText2: ; 51719 (14:5719)
 	TX_FAR _Route25EndBattleText2
 	db $50
 ; 0x51719 + 5 bytes
 
-Route25AfterBattleText2: ; 0x5171e
+Route25AfterBattleText2: ; 5171e (14:571e)
 	TX_FAR _Route25AfterBattleText2
 	db $50
 ; 0x5171e + 5 bytes
 
-Route25BattleText3: ; 0x51723
+Route25BattleText3: ; 51723 (14:5723)
 	TX_FAR _Route25BattleText3
 	db $50
 ; 0x51723 + 5 bytes
 
-Route25EndBattleText3: ; 0x51728
+Route25EndBattleText3: ; 51728 (14:5728)
 	TX_FAR _Route25EndBattleText3
 	db $50
 ; 0x51728 + 5 bytes
 
-Route25AfterBattleText3: ; 0x5172d
+Route25AfterBattleText3: ; 5172d (14:572d)
 	TX_FAR _Route25AfterBattleText3
 	db $50
 ; 0x5172d + 5 bytes
 
-Route25BattleText4: ; 0x51732
+Route25BattleText4: ; 51732 (14:5732)
 	TX_FAR _Route25BattleText4
 	db $50
 ; 0x51732 + 5 bytes
 
-Route25EndBattleText4: ; 0x51737
+Route25EndBattleText4: ; 51737 (14:5737)
 	TX_FAR _Route25EndBattleText4
 	db $50
 ; 0x51737 + 5 bytes
 
-Route25AfterBattleText4: ; 0x5173c
+Route25AfterBattleText4: ; 5173c (14:573c)
 	TX_FAR _Route25AfterBattleText4
 	db $50
 ; 0x5173c + 5 bytes
 
-Route25BattleText5: ; 0x51741
+Route25BattleText5: ; 51741 (14:5741)
 	TX_FAR _Route25BattleText5
 	db $50
 ; 0x51741 + 5 bytes
 
-Route25EndBattleText5: ; 0x51746
+Route25EndBattleText5: ; 51746 (14:5746)
 	TX_FAR _Route25EndBattleText5
 	db $50
 ; 0x51746 + 5 bytes
 
-Route25AfterBattleText5: ; 0x5174b
+Route25AfterBattleText5: ; 5174b (14:574b)
 	TX_FAR _Route25AfterBattleText5
 	db $50
 ; 0x5174b + 5 bytes
 
-Route25BattleText6: ; 0x51750
+Route25BattleText6: ; 51750 (14:5750)
 	TX_FAR _Route25BattleText6
 	db $50
 ; 0x51750 + 5 bytes
 
-Route25EndBattleText6: ; 0x51755
+Route25EndBattleText6: ; 51755 (14:5755)
 	TX_FAR _Route25EndBattleText6
 	db $50
 ; 0x51755 + 5 bytes
 
-Route25AfterBattleText6: ; 0x5175a
+Route25AfterBattleText6: ; 5175a (14:575a)
 	TX_FAR _Route25AfterBattleText6
 	db $50
 ; 0x5175a + 5 bytes
 
-Route25BattleText7: ; 0x5175f
+Route25BattleText7: ; 5175f (14:575f)
 	TX_FAR _Route25BattleText7
 	db $50
 ; 0x5175f + 5 bytes
 
-Route25EndBattleText7: ; 0x51764
+Route25EndBattleText7: ; 51764 (14:5764)
 	TX_FAR _Route25EndBattleText7
 	db $50
 ; 0x51764 + 5 bytes
 
-Route25AfterBattleText7: ; 0x51769
+Route25AfterBattleText7: ; 51769 (14:5769)
 	TX_FAR _Route25AfterBattleText7
 	db $50
 ; 0x51769 + 5 bytes
 
-Route25BattleText8: ; 0x5176e
+Route25BattleText8: ; 5176e (14:576e)
 	TX_FAR _Route25BattleText8
 	db $50
 ; 0x5176e + 5 bytes
 
-Route25EndBattleText8: ; 0x51773
+Route25EndBattleText8: ; 51773 (14:5773)
 	TX_FAR _Route25EndBattleText8
 	db $50
 ; 0x51773 + 5 bytes
 
-Route25AfterBattleText8: ; 0x51778
+Route25AfterBattleText8: ; 51778 (14:5778)
 	TX_FAR _Route25AfterBattleText8
 	db $50
 ; 0x51778 + 5 bytes
 
-Route25BattleText9: ; 0x5177d
+Route25BattleText9: ; 5177d (14:577d)
 	TX_FAR _Route25BattleText9
 	db $50
 ; 0x5177d + 5 bytes
 
-Route25EndBattleText9: ; 0x51782
+Route25EndBattleText9: ; 51782 (14:5782)
 	TX_FAR _Route25EndBattleText9
 	db $50
 ; 0x51782 + 5 bytes
 
-Route25AfterBattleText9: ; 0x51787
+Route25AfterBattleText9: ; 51787 (14:5787)
 	TX_FAR _Route25AfterBattleText9
 	db $50
 ; 0x51787 + 5 bytes
 
-Route25Text11: ; 0x5178c
+Route25Text11: ; 5178c (14:578c)
 	TX_FAR _Route25Text11
 	db $50
 
@@ -78908,7 +79739,7 @@
 
 	dw VictoryRoad2Object ; objects
 
-VictoryRoad2Script: ; 0x5179d
+VictoryRoad2Script: ; 5179d (14:579d)
 	ld hl, $d126
 	bit 6, [hl]
 	res 6, [hl]
@@ -78919,14 +79750,14 @@
 	call nz, Func_517c9
 	call EnableAutoTextBoxDrawing
 	ld hl, VictoryRoad2TrainerHeaders
-	ld de, $57eb
-	ld a, [$d63f]
-	call Func_3160
-	ld [$d63f], a
+	ld de, Unknown_517eb ; $57eb
+	ld a, [W_VICTORYROAD2CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_VICTORYROAD2CURSCRIPT], a
 	ret
 ; 0x517c4
 
-VictoryRoad2Script_Unknown517c4: ; 0x517c4
+VictoryRoad2Script_Unknown517c4: ; 517c4 (14:57c4)
 	ld hl, $d869
 	res 7, [hl]
 
@@ -78953,10 +79784,11 @@
 	call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 	ret
 
+Unknown_517eb: ; 517eb (14:57eb)
 INCBIN "baserom.gbc",$517eb,$517f1 - $517eb
-	ld hl, $5816
+	ld hl, Unknown_51816 ; $5816
 	call CheckBoulderCoords
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	ld hl, $d7ee
 	ld a, [W_WHICHTRADE] ; $cd3d
 	cp $2
@@ -78974,13 +79806,14 @@
 	set 5, [hl]
 	ret
 
+Unknown_51816: ; 51816 (14:5816)
 INCBIN "baserom.gbc",$51816,$5181b - $51816
 
-VictoryRoad2Texts: ; 0x5181b
+VictoryRoad2Texts: ; 5181b (14:581b)
 	dw VictoryRoad2Text1, VictoryRoad2Text2, VictoryRoad2Text3, VictoryRoad2Text4, VictoryRoad2Text5, VictoryRoad2Text6, Predef5CText, Predef5CText, Predef5CText, Predef5CText, BoulderText, BoulderText, BoulderText
 
-VictoryRoad2TrainerHeaders:
-VictoryRoad2TrainerHeader0: ; 0x51835
+VictoryRoad2TrainerHeaders: ; 51835 (14:5835)
+VictoryRoad2TrainerHeader0: ; 51835 (14:5835)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7ee ; flag's byte
@@ -78990,7 +79823,7 @@
 	dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle
 ; 0x51841
 
-VictoryRoad2TrainerHeader2: ; 0x51841
+VictoryRoad2TrainerHeader2: ; 51841 (14:5841)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7ee ; flag's byte
@@ -79000,7 +79833,7 @@
 	dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle
 ; 0x5184d
 
-VictoryRoad2TrainerHeader3: ; 0x5184d
+VictoryRoad2TrainerHeader3: ; 5184d (14:584d)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7ee ; flag's byte
@@ -79010,7 +79843,7 @@
 	dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle
 ; 0x51859
 
-VictoryRoad2TrainerHeader4: ; 0x51859
+VictoryRoad2TrainerHeader4: ; 51859 (14:5859)
 	db $4 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7ee ; flag's byte
@@ -79020,7 +79853,7 @@
 	dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle
 ; 0x51865
 
-VictoryRoad2TrainerHeader5: ; 0x51865
+VictoryRoad2TrainerHeader5: ; 51865 (14:5865)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7ee ; flag's byte
@@ -79030,7 +79863,7 @@
 	dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle
 ; 0x51871
 
-VictoryRoad2TrainerHeader6: ; 0x51871
+VictoryRoad2TrainerHeader6: ; 51871 (14:5871)
 	db $6 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7ee ; flag's byte
@@ -79042,122 +79875,122 @@
 
 db $ff
 
-VictoryRoad2Text1: ; 0x5187e
+VictoryRoad2Text1: ; 5187e (14:587e)
 	db $08 ; asm
 	ld hl, VictoryRoad2TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad2Text2: ; 0x51888
+VictoryRoad2Text2: ; 51888 (14:5888)
 	db $08 ; asm
 	ld hl, VictoryRoad2TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad2Text3: ; 0x51892
+VictoryRoad2Text3: ; 51892 (14:5892)
 	db $08 ; asm
 	ld hl, VictoryRoad2TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad2Text4: ; 0x5189c
+VictoryRoad2Text4: ; 5189c (14:589c)
 	db $08 ; asm
 	ld hl, VictoryRoad2TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad2Text5: ; 0x518a6
+VictoryRoad2Text5: ; 518a6 (14:58a6)
 	db $08 ; asm
 	ld hl, VictoryRoad2TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad2Text6: ; 0x518b0
+VictoryRoad2Text6: ; 518b0 (14:58b0)
 	db $08 ; asm
 	ld hl, VictoryRoad2TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad2BattleText6: ; 0x518ba
+VictoryRoad2BattleText6: ; 518ba (14:58ba)
 	TX_FAR _VictoryRoad2BattleText6 ; 0x8d06e
 	db $8
 	ld a, MOLTRES
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 0x518ca
 
-VictoryRoad2BattleText1: ; 0x518ca
+VictoryRoad2BattleText1: ; 518ca (14:58ca)
 	TX_FAR _VictoryRoad2BattleText1
 	db $50
 ; 0x518ca + 5 bytes
 
-VictoryRoad2EndBattleText1: ; 0x518cf
+VictoryRoad2EndBattleText1: ; 518cf (14:58cf)
 	TX_FAR _VictoryRoad2EndBattleText1
 	db $50
 ; 0x518cf + 5 bytes
 
-VictoryRoad2AfterBattleText1: ; 0x518d4
+VictoryRoad2AfterBattleText1: ; 518d4 (14:58d4)
 	TX_FAR _VictoryRoad2AfterBattleText1
 	db $50
 ; 0x518d4 + 5 bytes
 
-VictoryRoad2BattleText2: ; 0x518d9
+VictoryRoad2BattleText2: ; 518d9 (14:58d9)
 	TX_FAR _VictoryRoad2BattleText2
 	db $50
 ; 0x518d9 + 5 bytes
 
-VictoryRoad2EndBattleText2: ; 0x518de
+VictoryRoad2EndBattleText2: ; 518de (14:58de)
 	TX_FAR _VictoryRoad2EndBattleText2
 	db $50
 ; 0x518de + 5 bytes
 
-VictoryRoad2AfterBattleText2: ; 0x518e3
+VictoryRoad2AfterBattleText2: ; 518e3 (14:58e3)
 	TX_FAR _VictoryRoad2AfterBattleText2
 	db $50
 ; 0x518e3 + 5 bytes
 
-VictoryRoad2BattleText3: ; 0x518e8
+VictoryRoad2BattleText3: ; 518e8 (14:58e8)
 	TX_FAR _VictoryRoad2BattleText3
 	db $50
 ; 0x518e8 + 5 bytes
 
-VictoryRoad2EndBattleText3: ; 0x518ed
+VictoryRoad2EndBattleText3: ; 518ed (14:58ed)
 	TX_FAR _VictoryRoad2EndBattleText3
 	db $50
 ; 0x518ed + 5 bytes
 
-VictoryRoad2AfterBattleText3: ; 0x518f2
+VictoryRoad2AfterBattleText3: ; 518f2 (14:58f2)
 	TX_FAR _VictoryRoad2AfterBattleText3
 	db $50
 ; 0x518f2 + 5 bytes
 
-VictoryRoad2BattleText4: ; 0x518f7
+VictoryRoad2BattleText4: ; 518f7 (14:58f7)
 	TX_FAR _VictoryRoad2BattleText4
 	db $50
 ; 0x518f7 + 5 bytes
 
-VictoryRoad2EndBattleText4: ; 0x518fc
+VictoryRoad2EndBattleText4: ; 518fc (14:58fc)
 	TX_FAR _VictoryRoad2EndBattleText4
 	db $50
 ; 0x518fc + 5 bytes
 
-VictoryRoad2AfterBattleText4: ; 0x51901
+VictoryRoad2AfterBattleText4: ; 51901 (14:5901)
 	TX_FAR _VictoryRoad2AfterBattleText4
 	db $50
 ; 0x51901 + 5 bytes
 
-VictoryRoad2BattleText5: ; 0x51906
+VictoryRoad2BattleText5: ; 51906 (14:5906)
 	TX_FAR _VictoryRoad2BattleText5
 	db $50
 ; 0x51906 + 5 bytes
 
-VictoryRoad2EndBattleText5: ; 0x5190b
+VictoryRoad2EndBattleText5: ; 5190b (14:590b)
 	TX_FAR _VictoryRoad2EndBattleText5
 	db $50
 ; 0x5190b + 5 bytes
 
-VictoryRoad2AfterBattleText5: ; 0x51910
+VictoryRoad2AfterBattleText5: ; 51910 (14:5910)
 	TX_FAR _VictoryRoad2AfterBattleText5
 	db $50
 ; 0x51910 + 5 bytes
@@ -79200,7 +80033,7 @@
 	EVENT_DISP $f, $7, $1b ; VICTORY_ROAD_3
 	EVENT_DISP $f, $1, $1 ; VICTORY_ROAD_3
 
-VictoryRoad2Blocks: ; 0x519af 135
+VictoryRoad2Blocks: ; 519af (14:59af)
 	INCBIN "maps/victoryroad2.blk"
 
 MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60)
@@ -79211,15 +80044,15 @@
 
 	dw MtMoon2Object ; objects
 
-MtMoon2Script: ; 0x51a42
+MtMoon2Script: ; 51a42 (14:5a42)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x51a46
 
-MtMoon2Texts:
+MtMoon2Texts: ; 51a46 (14:5a46)
 	dw MtMoonText1
 
-MtMoonText1: ; 0x51a48
+MtMoonText1: ; 51a48 (14:5a48)
 	TX_FAR _UnnamedText_51a48
 	db $50
 ; 0x51a48 + 5 bytes
@@ -79251,7 +80084,7 @@
 	EVENT_DISP $e, $3, $17 ; MT_MOON_3
 	EVENT_DISP $e, $3, $1b
 
-MtMoon2Blocks: ; 0x51a91 196
+MtMoon2Blocks: ; 51a91 (14:5a91)
 	INCBIN "maps/mtmoon2.blk"
 
 SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212)
@@ -79262,23 +80095,23 @@
 
 	dw SilphCo7Object ; objects
 
-SilphCo7Script: ; 0x51b61
+SilphCo7Script: ; 51b61 (14:5b61)
 	call SilphCo7Script_Unknown51b77
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo7TrainerHeaders
-	ld de, $5c17
-	ld a, [$d648]
-	call Func_3160
-	ld [$d648], a
+	ld de, Unknown_51c17 ; $5c17
+	ld a, [W_SILPHCO7CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO7CURSCRIPT], a
 	ret
 ; 0x51b77
 
-SilphCo7Script_Unknown51b77: ; 0x5177
+SilphCo7Script_Unknown51b77: ; 51b77 (14:5b77)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
 	ret z
-	ld hl, $5bc1
+	ld hl, Unknown_51bc1 ; $5bc1
 	call Func_51bc8
 	call Func_51bf4
 	ld a, [$d830]
@@ -79310,6 +80143,7 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_51bc1: ; 51bc1 (14:5bc1)
 INCBIN "baserom.gbc",$51bc1,$51bc8 - $51bc1
 
 ; known jump sources: 51b82 (14:5b82)
@@ -79371,25 +80205,26 @@
 ; known jump sources: 51ccd (14:5ccd)
 Func_51c0c: ; 51c0c (14:5c0c)
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 51c75 (14:5c75), 51cc5 (14:5cc5), 51d17 (14:5d17), 51d3c (14:5d3c)
 Func_51c10: ; 51c10 (14:5c10)
-	ld [$d648], a
-	ld [$da39], a
+	ld [W_SILPHCO7CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_51c17: ; 51c17 (14:5c17)
 INCBIN "baserom.gbc",$51c17,$51c23 - $51c17
 	ld a, [$d82f]
 	bit 0, a
-	jp nz, Func_3219
-	ld hl, $5c78
+	jp nz, CheckFightingMapTrainers
+	ld hl, Unknown_51c78 ; $5c78
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $4
 	ld [$d528], a
 	ld a, $ff
@@ -79404,7 +80239,7 @@
 	ld a, $9
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call SetSpriteMovementBytesToFF
-	ld de, $5c7d
+	ld de, Unknown_51c7d ; $5c7d
 	ld a, [W_WHICHTRADE] ; $cd3d
 	ld [$cf0d], a
 	cp $1
@@ -79417,12 +80252,16 @@
 	ld a, $3
 	jp Func_51c10
 
-INCBIN "baserom.gbc",$51c78,$51c82 - $51c78
+Unknown_51c78: ; 51c78 (14:5c78)
+INCBIN "baserom.gbc",$51c78,$51c7d - $51c78
+
+Unknown_51c7d: ; 51c7d (14:5c7d)
+INCBIN "baserom.gbc",$51c7d,$51c82 - $51c7d
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $d
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -79430,9 +80269,9 @@
 	ld hl, $d72d
 	set 6, [hl]
 	set 7, [hl]
-	ld hl, $5ec8
-	ld de, $5ecd
-	call Func_3354
+	ld hl, SilphCo7Text14 ; $5ec8
+	ld de, UnnamedText_51ecd ; $5ecd
+	call PreBattleSaveRegisters
 	ld a, $f2
 	ld [W_CUROPPONENT], a ; $d059
 	ld a, [W_RIVALSTARTER] ; $d715
@@ -79455,7 +80294,7 @@
 	cp $ff
 	jp z, Func_51c0c
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d82f
 	set 0, [hl]
 	ld a, $4
@@ -79474,11 +80313,11 @@
 	ld b, BANK(Func_9b47)
 	ld hl, Func_9b47
 	call Bankswitch ; indirect jump to Func_9b47 (9b47 (2:5b47))
-	ld de, $5d1d
+	ld de, Unknown_51d1d ; $5d1d
 	ld a, [$cf0d]
 	cp $1
 	jr nz, .asm_51d0e
-	ld de, $5d1a
+	ld de, Unknown_51d1a ; $5d1a
 .asm_51d0e
 	ld a, $9
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -79486,7 +80325,11 @@
 	ld a, $5
 	jp Func_51c10
 
-INCBIN "baserom.gbc",$51d1a,$51d25 - $51d1a
+Unknown_51d1a: ; 51d1a (14:5d1a)
+INCBIN "baserom.gbc",$51d1a,$51d1d - $51d1a
+
+Unknown_51d1d: ; 51d1d (14:5d1d)
+INCBIN "baserom.gbc",$51d1d,$51d25 - $51d1d
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -79496,14 +80339,14 @@
 	call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 	call Func_2307
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	jp Func_51c10
 ; 51d3f (14:5d3f)
-SilphCo7Texts: ; 0x51d3f
+SilphCo7Texts: ; 51d3f (14:5d3f)
 	dw SilphCo7Text1, SilphCo7Text2, SilphCo7Text3, SilphCo7Text4, SilphCo7Text5, SilphCo7Text6, SilphCo7Text7, SilphCo7Text8, SilphCo7Text9, Predef5CText, Predef5CText, Predef5CText, SilphCo7Text13, SilphCo7Text14, SilphCo7Text15
 
-SilphCo7TrainerHeaders:
-SilphCo7TrainerHeader0: ; 0x51d5d
+SilphCo7TrainerHeaders: ; 51d5d (14:5d5d)
+SilphCo7TrainerHeader0: ; 51d5d (14:5d5d)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d82f ; flag's byte
@@ -79513,7 +80356,7 @@
 	dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle
 ; 0x51d69
 
-SilphCo7TrainerHeader2: ; 0x51d69
+SilphCo7TrainerHeader2: ; 51d69 (14:5d69)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d82f ; flag's byte
@@ -79523,7 +80366,7 @@
 	dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle
 ; 0x51d75
 
-SilphCo7TrainerHeader3: ; 0x51d75
+SilphCo7TrainerHeader3: ; 51d75 (14:5d75)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d82f ; flag's byte
@@ -79533,7 +80376,7 @@
 	dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle
 ; 0x51d81
 
-SilphCo7TrainerHeader4: ; 0x51d81
+SilphCo7TrainerHeader4: ; 51d81 (14:5d81)
 	db $8 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d82f ; flag's byte
@@ -79545,7 +80388,7 @@
 
 db $ff
 
-SilphCo7Text1: ; 0x51d8e
+SilphCo7Text1: ; 51d8e (14:5d8e)
 	db $08 ; asm
 	ld a, [$d72e]
 	bit 0, a
@@ -79564,7 +80407,7 @@
 	jr nc, .asm_b3069 ; 0x51db1
 	ld a, [$ccd3]
 	and a
-	call z, Func_3865
+	call z, WaitForTextScrollButtonPress
 	call EnableAutoTextBoxDrawing
 	ld hl, UnnamedText_51dd8
 	call PrintText
@@ -79577,27 +80420,27 @@
 .asm_b3069 ; 0x51dd0
 	jp TextScriptEnd
 
-UnnamedText_51dd3: ; 0x51dd3
+UnnamedText_51dd3: ; 51dd3 (14:5dd3)
 	TX_FAR _UnnamedText_51dd3
 	db $50
 ; 0x51dd3 + 5 bytes
 
-UnnamedText_51dd8: ; 0x51dd8
+UnnamedText_51dd8: ; 51dd8 (14:5dd8)
 	TX_FAR _UnnamedText_51dd8
 	db $50
 ; 0x51dd8 + 5 bytes
 
-UnnamedText_51ddd: ; 0x51ddd
+UnnamedText_51ddd: ; 51ddd (14:5ddd)
 	TX_FAR _UnnamedText_51ddd
 	db $50
 ; 0x51ddd + 5 bytes
 
-UnnamedText_51de2: ; 0x51de2
+UnnamedText_51de2: ; 51de2 (14:5de2)
 	TX_FAR _UnnamedText_51de2
 	db $50
 ; 0x51de2 + 5 bytes
 
-SilphCo7Text2: ; 0x51de7
+SilphCo7Text2: ; 51de7 (14:5de7)
 	db $8
 	ld a, [$d838]
 	bit 7, a
@@ -79612,17 +80455,17 @@
 	jp TextScriptEnd
 ; 0x51e00
 
-UnnamedText_51e00: ; 0x51e00
+UnnamedText_51e00: ; 51e00 (14:5e00)
 	TX_FAR _UnnamedText_51e00
 	db $50
 ; 0x51e00 + 5 bytes
 
-UnnamedText_51e05: ; 0x51e05
+UnnamedText_51e05: ; 51e05 (14:5e05)
 	TX_FAR _UnnamedText_51e05
 	db $50
 ; 0x51e05 + 5 bytes
 
-SilphCo7Text3: ; 0x51e0a
+SilphCo7Text3: ; 51e0a (14:5e0a)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 7, a
@@ -79636,17 +80479,17 @@
 .asm_6472b ; 0x51e20
 	jp TextScriptEnd
 
-UnnamedText_51e23: ; 0x51e23
+UnnamedText_51e23: ; 51e23 (14:5e23)
 	TX_FAR _UnnamedText_51e23
 	db $50
 ; 0x51e23 + 5 bytes
 
-UnnamedText_51e28: ; 0x51e28
+UnnamedText_51e28: ; 51e28 (14:5e28)
 	TX_FAR _UnnamedText_51e28
 	db $50
 ; 0x51e28 + 5 bytes
 
-SilphCo7Text4: ; 0x51e2d
+SilphCo7Text4: ; 51e2d (14:5e2d)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 7, a
@@ -79660,127 +80503,127 @@
 .selectLowNybble2 ; 0x51e43
 	jp TextScriptEnd
 
-UnnamedText_51e46: ; 0x51e46
+UnnamedText_51e46: ; 51e46 (14:5e46)
 	TX_FAR _UnnamedText_51e46
 	db $50
 ; 0x51e46 + 5 bytes
 
-UnnamedText_51e4b: ; 0x51e4b
+UnnamedText_51e4b: ; 51e4b (14:5e4b)
 	TX_FAR _UnnamedText_51e4b
 	db $50
 ; 0x51e4b + 5 bytes
 
-SilphCo7Text5: ; 0x51e50
+SilphCo7Text5: ; 51e50 (14:5e50)
 	db $08 ; asm
 	ld hl, SilphCo7TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo7BattleText1: ; 0x51e5a
+SilphCo7BattleText1: ; 51e5a (14:5e5a)
 	TX_FAR _SilphCo7BattleText1
 	db $50
 ; 0x51e5a + 5 bytes
 
-SilphCo7EndBattleText1: ; 0x51e5f
+SilphCo7EndBattleText1: ; 51e5f (14:5e5f)
 	TX_FAR _SilphCo7EndBattleText1
 	db $50
 ; 0x51e5f + 5 bytes
 
-SilphCo7AfterBattleText1: ; 0x51e64
+SilphCo7AfterBattleText1: ; 51e64 (14:5e64)
 	TX_FAR _SilphCo7AfterBattleText1
 	db $50
 ; 0x51e64 + 5 bytes
 
-SilphCo7Text6: ; 0x51e69
+SilphCo7Text6: ; 51e69 (14:5e69)
 	db $08 ; asm
 	ld hl, SilphCo7TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo7BattleText2: ; 0x51e73
+SilphCo7BattleText2: ; 51e73 (14:5e73)
 	TX_FAR _SilphCo7BattleText2
 	db $50
 ; 0x51e73 + 5 bytes
 
-SilphCo7EndBattleText2: ; 0x51e78
+SilphCo7EndBattleText2: ; 51e78 (14:5e78)
 	TX_FAR _SilphCo7EndBattleText2
 	db $50
 ; 0x51e78 + 5 bytes
 
-SilphCo7AfterBattleText2: ; 0x51e7d
+SilphCo7AfterBattleText2: ; 51e7d (14:5e7d)
 	TX_FAR _SilphCo7AfterBattleText2
 	db $50
 ; 0x51e7d + 5 bytes
 
-SilphCo7Text7: ; 0x51e82
+SilphCo7Text7: ; 51e82 (14:5e82)
 	db $08 ; asm
 	ld hl, SilphCo7TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo7BattleText3: ; 0x51e8c
+SilphCo7BattleText3: ; 51e8c (14:5e8c)
 	TX_FAR _SilphCo7BattleText3
 	db $50
 ; 0x51e8c + 5 bytes
 
-SilphCo7EndBattleText3: ; 0x51e91
+SilphCo7EndBattleText3: ; 51e91 (14:5e91)
 	TX_FAR _SilphCo7EndBattleText3
 	db $50
 ; 0x51e91 + 5 bytes
 
-SilphCo7AfterBattleText3: ; 0x51e96
+SilphCo7AfterBattleText3: ; 51e96 (14:5e96)
 	TX_FAR _SilphCo7AfterBattleText3
 	db $50
 ; 0x51e96 + 5 bytes
 
-SilphCo7Text8: ; 0x51e9b
+SilphCo7Text8: ; 51e9b (14:5e9b)
 	db $08 ; asm
 	ld hl, SilphCo7TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo7BattleText4: ; 0x51ea5
+SilphCo7BattleText4: ; 51ea5 (14:5ea5)
 	TX_FAR _SilphCo7BattleText4
 	db $50
 ; 0x51ea5 + 5 bytes
 
-SilphCo7EndBattleText4: ; 0x51eaa
+SilphCo7EndBattleText4: ; 51eaa (14:5eaa)
 	TX_FAR _SilphCo7EndBattleText4
 	db $50
 ; 0x51eaa + 5 bytes
 
-SilphCo7AfterBattleText4: ; 0x51eaf
+SilphCo7AfterBattleText4: ; 51eaf (14:5eaf)
 	TX_FAR _SilphCo7AfterBattleText4
 	db $50
 ; 0x51eaf + 5 bytes
 
-SilphCo7Text9: ; 0x51eb4
+SilphCo7Text9: ; 51eb4 (14:5eb4)
 	db $08 ; asm
 	ld hl, UnnamedText_51ebe
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_51ebe: ; 0x51ebe
+UnnamedText_51ebe: ; 51ebe (14:5ebe)
 	TX_FAR _UnnamedText_51ebe
 	db $50
 ; 0x51ebe + 5 bytes
 
-SilphCo7Text13: ; 0x51ec3
+SilphCo7Text13: ; 51ec3 (14:5ec3)
 	TX_FAR _UnnamedText_51ec3
 	db $50
 ; 0x51ec3 + 5 bytes
 
-SilphCo7Text14: ; 0x51ec8
+SilphCo7Text14: ; 51ec8 (14:5ec8)
 	TX_FAR _UnnamedText_51ec8
 	db $50
 ; 0x51ec8 + 5 bytes
 
-UnnamedText_51ecd: ; 0x51ecd
+UnnamedText_51ecd: ; 51ecd (14:5ecd)
 	TX_FAR _UnnamedText_51ecd
 	db $50
 ; 0x51ecd + 5 bytes
 
-SilphCo7Text15: ; 0x51ed2
+SilphCo7Text15: ; 51ed2 (14:5ed2)
 	TX_FAR _UnnamedText_51ed2
 	db $50
 ; 0x51ed2 + 5 bytes
@@ -79819,7 +80662,7 @@
 	EVENT_DISP $d, $3, $5 ; SILPH_CO_3F
 	EVENT_DISP $d, $f, $15 ; SILPH_CO_5F
 
-SilphCo7Blocks: ; 0x51f57 117
+SilphCo7Blocks: ; 51f57 (14:5f57)
 	INCBIN "maps/silphco7.blk"
 
 Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214)
@@ -79830,18 +80673,18 @@
 
 	dw Mansion2Object ; objects
 
-Mansion2Script:
+Mansion2Script: ; 51fd8 (14:5fd8)
 	call Mansion2Script_Unknown51fee
 	call EnableAutoTextBoxDrawing
 	ld hl, Mansion2TrainerHeaders
-	ld de, $6047
-	ld a, [$d63c]
-	call Func_3160
-	ld [$d63c], a
+	ld de, Unknown_52047 ; $6047
+	ld a, [W_MANSION2CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_MANSION2CURSCRIPT], a
 	ret
 ; 0x51fee
 
-Mansion2Script_Unknown51fee: ; 0x51fee
+Mansion2Script_Unknown51fee: ; 51fee (14:5fee)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -79877,13 +80720,16 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
-INCBIN "baserom.gbc",$52037,$5204d - $52037
+INCBIN "baserom.gbc",$52037,$52047 - $52037
 
-Mansion2Texts: ; 0x5204d
+Unknown_52047: ; 52047 (14:6047)
+INCBIN "baserom.gbc",$52047,$5204d - $52047
+
+Mansion2Texts: ; 5204d (14:604d)
 	dw Mansion2Text1, Predef5CText, Mansion2Text3, Mansion2Text4, Mansion2Text5
 
-Mansion2TrainerHeaders:
-Mansion2TrainerHeader0: ; 0x52057
+Mansion2TrainerHeaders: ; 52057 (14:6057)
+Mansion2TrainerHeader0: ; 52057 (14:6057)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d847 ; flag's byte
@@ -79895,41 +80741,41 @@
 
 db $ff
 
-Mansion2Text1: ; 0x52064
+Mansion2Text1: ; 52064 (14:6064)
 	db $08 ; asm
 	ld hl, Mansion2TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Mansion2BattleText1: ; 0x5206e
+Mansion2BattleText1: ; 5206e (14:606e)
 	TX_FAR _Mansion2BattleText1
 	db $50
 ; 0x5206e + 5 bytes
 
-Mansion2EndBattleText1: ; 0x52073
+Mansion2EndBattleText1: ; 52073 (14:6073)
 	TX_FAR _Mansion2EndBattleText1
 	db $50
 ; 0x52073 + 5 bytes
 
-Mansion2AfterBattleText1: ; 0x52078
+Mansion2AfterBattleText1: ; 52078 (14:6078)
 	TX_FAR _Mansion2AfterBattleText1
 	db $50
 ; 0x52078 + 5 bytes
 
-Mansion2Text3: ; 0x5207d
+Mansion2Text3: ; 5207d (14:607d)
 	TX_FAR _Mansion2Text3
 	db $50
 
-Mansion2Text4: ; 0x52082
+Mansion2Text4: ; 52082 (14:6082)
 	TX_FAR _Mansion2Text4
 	db $50
 
-Mansion3Text6:
-Mansion2Text5: ; 0x52087
+Mansion3Text6: ; 52087 (14:6087)
+Mansion2Text5: ; 52087 (14:6087)
 	db $8
 	ld hl, UnnamedText_520c2
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_520b9 ; 0x52095 $22
@@ -79954,17 +80800,17 @@
 	jp TextScriptEnd
 ; 0x520c2
 
-UnnamedText_520c2: ; 0x520c2
+UnnamedText_520c2: ; 520c2 (14:60c2)
 	TX_FAR _UnnamedText_520c2
 	db $50
 ; 0x520c2 + 5 bytes
 
-UnnamedText_520c7: ; 0x520c7
+UnnamedText_520c7: ; 520c7 (14:60c7)
 	TX_FAR _UnnamedText_520c7
 	db $50
 ; 0x520c7 + 5 bytes
 
-UnnamedText_520cc: ; 0x520cc
+UnnamedText_520cc: ; 520cc (14:60cc)
 	TX_FAR _UnnamedText_520cc
 	db $50
 ; 0x520cc + 5 bytes
@@ -79992,7 +80838,7 @@
 	EVENT_DISP $f, $e, $19 ; MANSION_3
 	EVENT_DISP $f, $1, $6 ; MANSION_3
 
-Mansion2Blocks:
+Mansion2Blocks: ; 52110 (14:6110)
 	INCBIN "maps/mansion2.blk"
 
 Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215)
@@ -80003,18 +80849,18 @@
 
 	dw Mansion3Object ; objects
 
-Mansion3Script:
+Mansion3Script: ; 521ee (14:61ee)
 	call Unnamed_52204
 	call EnableAutoTextBoxDrawing
 	ld hl, Mansion3TrainerHeader0
-	ld de, $6235
-	ld a, [$d63d]
-	call Func_3160
-	ld [$d63d], a
+	ld de, Unknown_52235 ; $6235
+	ld a, [W_MANSION3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_MANSION3CURSCRIPT], a
 	ret
 ; 0x52204
 
-Unnamed_52204: ; 0x52204
+Unnamed_52204: ; 52204 (14:6204)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -80038,12 +80884,13 @@
 	call Func_5202f
 	ret
 
+Unknown_52235: ; 52235 (14:6235)
 INCBIN "baserom.gbc",$52235,$5223b - $52235
-	ld hl, $6254
+	ld hl, Unknown_52254 ; $6254
 	call Func_5225b
 	ld a, [$d71e]
 	and a
-	jp z, Func_3219
+	jp z, CheckFightingMapTrainers
 	cp $3
 	ld a, $a5
 	jr nz, .asm_52250
@@ -80052,6 +80899,7 @@
 	ld [$d71d], a
 	ret
 
+Unknown_52254: ; 52254 (14:6254)
 INCBIN "baserom.gbc",$52254,$5225b - $52254
 
 ; known jump sources: 5223e (14:623e)
@@ -80074,16 +80922,16 @@
 	cp $4
 	ret nz
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $6
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp DisplayTextID
 ; 5228a (14:628a)
-Mansion3Texts: ; 0x5228a
+Mansion3Texts: ; 5228a (14:628a)
 	dw Mansion3Text1, Mansion3Text2, Predef5CText, Predef5CText, Mansion3Text5, Mansion3Text6
 
-Mansion3TrainerHeaders:
-Mansion3TrainerHeader0: ; 0x52296
+Mansion3TrainerHeaders: ; 52296 (14:6296)
+Mansion3TrainerHeader0: ; 52296 (14:6296)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d849 ; flag's byte
@@ -80093,7 +80941,7 @@
 	dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle
 ; 0x522a2
 
-Mansion3TrainerHeader2: ; 0x522a2
+Mansion3TrainerHeader2: ; 522a2 (14:62a2)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d849 ; flag's byte
@@ -80105,49 +80953,49 @@
 
 db $ff
 
-Mansion3Text1: ; 0x522af
+Mansion3Text1: ; 522af (14:62af)
 	db $08 ; asm
 	ld hl, Mansion3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Mansion3Text2: ; 0x522b9
+Mansion3Text2: ; 522b9 (14:62b9)
 	db $08 ; asm
 	ld hl, Mansion3TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Mansion3BattleText1: ; 0x522c3
+Mansion3BattleText1: ; 522c3 (14:62c3)
 	TX_FAR _Mansion3BattleText1
 	db $50
 ; 0x522c3 + 5 bytes
 
-Mansion3EndBattleText1: ; 0x522c8
+Mansion3EndBattleText1: ; 522c8 (14:62c8)
 	TX_FAR _Mansion3EndBattleText1
 	db $50
 ; 0x522c8 + 5 bytes
 
-Mansion3AfterBattleText1: ; 0x522cd
+Mansion3AfterBattleText1: ; 522cd (14:62cd)
 	TX_FAR _Mansion3AfterBattleText1
 	db $50
 ; 0x522cd + 5 bytes
 
-Mansion3BattleText2: ; 0x522d2
+Mansion3BattleText2: ; 522d2 (14:62d2)
 	TX_FAR _Mansion3BattleText2
 	db $50
 ; 0x522d2 + 5 bytes
 
-Mansion3EndBattleText2: ; 0x522d7
+Mansion3EndBattleText2: ; 522d7 (14:62d7)
 	TX_FAR _Mansion3EndBattleText2
 	db $50
 ; 0x522d7 + 5 bytes
 
-Mansion3AfterBattleText2: ; 0x522dc
+Mansion3AfterBattleText2: ; 522dc (14:62dc)
 	TX_FAR _Mansion3AfterBattleText2
 	db $50
 ; 0x522dc + 5 bytes
 
-Mansion3Text5: ; 0x522e1
+Mansion3Text5: ; 522e1 (14:62e1)
 	TX_FAR _Mansion3Text5
 	db $50
 
@@ -80173,7 +81021,7 @@
 	EVENT_DISP $f, $1, $6 ; MANSION_2
 	EVENT_DISP $f, $e, $19 ; MANSION_2
 
-Mansion3Blocks:
+Mansion3Blocks: ; 52326 (14:6326)
 	INCBIN "maps/mansion3.blk"
 
 Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216)
@@ -80184,18 +81032,18 @@
 
 	dw Mansion4Object ; objects
 
-Mansion4Script: ; 0x523b9
+Mansion4Script: ; 523b9 (14:63b9)
 	call Unknown_523cf
 	call EnableAutoTextBoxDrawing
 	ld hl, Mansion4TrainerHeader0
-	ld de, $6430
-	ld a, [$d63e]
-	call Func_3160
-	ld [$d63e], a
+	ld de, Unknown_52430 ; $6430
+	ld a, [W_MANSION4CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_MANSION4CURSCRIPT], a
 	ret
 ; 0x523cf
 
-Unknown_523cf: ; 0x523cf
+Unknown_523cf: ; 523cf (14:63cf)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -80234,18 +81082,19 @@
 	cp $4
 	ret nz
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $9
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp DisplayTextID
 
+Unknown_52430: ; 52430 (14:6430)
 INCBIN "baserom.gbc",$52430,$52436 - $52430
 
-Mansion4Texts: ; 0x52436
+Mansion4Texts: ; 52436 (14:6436)
 INCBIN "baserom.gbc",$52436,$52448 - $52436
 
-Mansion4TrainerHeaders:
-Mansion4TrainerHeader0: ; 0x52448
+Mansion4TrainerHeaders: ; 52448 (14:6448)
+Mansion4TrainerHeader0: ; 52448 (14:6448)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d84b ; flag's byte
@@ -80255,7 +81104,7 @@
 	dw Mansion4EndBattleText1 ; 0x647a TextEndBattle
 ; 0x52454
 
-Mansion4TrainerHeader2: ; 0x52454
+Mansion4TrainerHeader2: ; 52454 (14:6454)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d84b ; flag's byte
@@ -80267,49 +81116,49 @@
 
 db $ff
 
-Mansion4Text1: ; 0x52461
+Mansion4Text1: ; 52461 (14:6461)
 	db $08 ; asm
 	ld hl, Mansion4TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Mansion4Text2: ; 0x5246b
+Mansion4Text2: ; 5246b (14:646b)
 	db $08 ; asm
 	ld hl, Mansion4TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Mansion4BattleText1: ; 0x52475
+Mansion4BattleText1: ; 52475 (14:6475)
 	TX_FAR _Mansion4BattleText1
 	db $50
 ; 0x52475 + 5 bytes
 
-Mansion4EndBattleText1: ; 0x5247a
+Mansion4EndBattleText1: ; 5247a (14:647a)
 	TX_FAR _Mansion4EndBattleText1
 	db $50
 ; 0x5247a + 5 bytes
 
-Mansion4AfterBattleText1: ; 0x5247f
+Mansion4AfterBattleText1: ; 5247f (14:647f)
 	TX_FAR _Mansion4AfterBattleText1
 	db $50
 ; 0x5247f + 5 bytes
 
-Mansion4BattleText2: ; 0x52484
+Mansion4BattleText2: ; 52484 (14:6484)
 	TX_FAR _Mansion4BattleText2
 	db $50
 ; 0x52484 + 5 bytes
 
-Mansion4EndBattleText2: ; 0x52489
+Mansion4EndBattleText2: ; 52489 (14:6489)
 	TX_FAR _Mansion4EndBattleText2
 	db $50
 ; 0x52489 + 5 bytes
 
-Mansion4AfterBattleText2: ; 0x5248e
+Mansion4AfterBattleText2: ; 5248e (14:648e)
 	TX_FAR _Mansion4AfterBattleText2
 	db $50
 ; 0x5248e + 5 bytes
 
-Mansion4Text7: ; 0x52493
+Mansion4Text7: ; 52493 (14:6493)
 	TX_FAR _Mansion4Text7
 	db $50
 
@@ -80334,7 +81183,7 @@
 	; warp-to
 	EVENT_DISP $f, $16, $17 ; MANSION_1
 
-Mansion4Blocks:
+Mansion4Blocks: ; 524dd (14:64dd)
 	INCBIN "maps/mansion4.blk"
 
 ; known jump sources: 3ef4d (f:6f4d)
@@ -80351,8 +81200,8 @@
 	ld [hl], a
 	ld [W_LISTSCROLLOFFSET], a ; $cc36
 	ld [$d05e], a
-	ld [$d014], a
-	ld [$d058], a
+	ld [W_PLAYERMONID], a
+	ld [W_PLAYERMONSALIVEFLAGS], a
 	ld [W_PLAYERMONNUMBER], a ; $cc2f
 	ld [$d078], a
 	ld [$d35d], a
@@ -80443,7 +81292,7 @@
 
 ; known jump sources: fb88 (3:7b88)
 Func_52673: ; 52673 (14:6673)
-	ld hl, $66e3
+	ld hl, Unknown_526e3 ; $66e3
 	ld a, [W_CURMAP] ; $d35e
 	ld b, a
 .asm_5267a
@@ -80504,14 +81353,15 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp Func_3ef5
 
+Unknown_526e3: ; 526e3 (14:66e3)
 INCBIN "baserom.gbc",$526e3,$526f3 - $526e3
 
-UnnamedText_526f3: ; 0x526f3
+UnnamedText_526f3: ; 526f3 (14:66f3)
 	TX_FAR _UnnamedText_526f3
 	db $50
 ; 0x526f3 + 5 bytes
 
-UnnamedText_526f8: ; 0x526f8
+UnnamedText_526f8: ; 526f8 (14:66f8)
 	TX_FAR _UnnamedText_526f8
 	db $50
 ; 0x526f8 + 5 bytes
@@ -80541,7 +81391,7 @@
 	inc e
 	ret
 ; 5271b (14:671b)
-CeladonPrizeMenu: ; 0x5271b 14:671B
+CeladonPrizeMenu: ; 5271b (14:671b)
 	ld b,COIN_CASE
 	call IsItemInBag
 	jr nz,.havingCoinCase
@@ -80586,20 +81436,20 @@
 	res 6,[hl]
 	ret
 
-RequireCoinCaseTextPtr: ; 14:677E
+RequireCoinCaseTextPtr: ; 5277e (14:677e)
 	TX_FAR _RequireCoinCaseText ; 22:628E
 	db $0D
 	db "@"
 
-ExchangeCoinsForPrizesTextPtr: ; 14:6784
+ExchangeCoinsForPrizesTextPtr: ; 52784 (14:6784)
 	TX_FAR _ExchangeCoinsForPrizesText ; 22:62A9
 	db "@"
 
-WhichPrizeTextPtr: ; 14:6789
+WhichPrizeTextPtr: ; 52789 (14:6789)
 	TX_FAR _WhichPrizeText ; 22:62CD
 	db "@"
 
-GetPrizeMenuId: ; 14:678E
+GetPrizeMenuId: ; 5278e (14:678e)
 ; determine which one among the three
 ; prize-texts has been selected
 ; using the text ID (stored in [$FF8C])
@@ -80699,7 +81549,7 @@
 	ld c,(1 << 7 | 2)
 	jp PrintBCDNumber
 
-PrizeDifferentMenuPtrs: ; 14:6843
+PrizeDifferentMenuPtrs: ; 52843 (14:6843)
 	dw PrizeMenuMon1Entries
 	dw PrizeMenuMon1Cost
 
@@ -80709,10 +81559,10 @@
 	dw PrizeMenuTMsEntries
 	dw PrizeMenuTMsCost
 
-NoThanksText: ; 14:684F
+NoThanksText: ; 5284f (14:684f)
 	db "NO THANKS@"
 
-PrizeMenuMon1Entries: ; 14:6859
+PrizeMenuMon1Entries: ; 52859 (14:6859)
 	db ABRA
 	db CLEFAIRY
 IF _RED
@@ -80722,7 +81572,7 @@
 	db NIDORINO
 ENDC
 	db "@"
-PrizeMenuMon1Cost: ; 14:685D
+PrizeMenuMon1Cost: ; 5285d (14:685d)
 IF _RED
 	db $01,$80
 	db $05,$00
@@ -80734,7 +81584,7 @@
 	db $12,$00
 	db "@"
 
-PrizeMenuMon2Entries: ; 14:6864
+PrizeMenuMon2Entries: ; 52864 (14:6864)
 IF _RED
 	db DRATINI
 	db SCYTHER
@@ -80745,7 +81595,7 @@
 ENDC
 	db PORYGON
 	db "@"
-PrizeMenuMon2Cost: ; 14:6868
+PrizeMenuMon2Cost: ; 52868 (14:6868)
 IF _RED
 	db $28,$00
 	db $55,$00
@@ -80758,18 +81608,18 @@
 ENDC
 	db "@"
 
-PrizeMenuTMsEntries: ; 14:686F
+PrizeMenuTMsEntries: ; 5286f (14:686f)
 	db TM_23
 	db TM_15
 	db TM_50
 	db "@"
-PrizeMenuTMsCost: ; 14:6873
+PrizeMenuTMsCost: ; 52873 (14:6873)
 	db $33,$00 ; 3300 Coins
 	db $55,$00 ; 5500 Coins
 	db $77,$00 ; 7700 Coins
 	db "@"
 
-PrintPrizePrice: ; 14:687A
+PrintPrizePrice: ; 5287a (14:687a)
 	FuncCoord 11,0
 	ld hl,Coord
 	ld b,$01
@@ -80797,7 +81647,7 @@
 .SixSpacesText ; 14:68AA
 	db "      @"
 
-LoadCoinsToSubtract: ; 14:68B1
+LoadCoinsToSubtract: ; 528b1 (14:68b1)
 	ld a,[$D139] ; backup of selected menu_entry
 	add a
 	ld d,$00
@@ -80812,7 +81662,7 @@
 	ld [$FFA1],a
 	ret
 
-HandlePrizeChoice: ; 14:68C6
+HandlePrizeChoice: ; 528c6 (14:68c6)
 	ld a,[$CC26] ; selected menu_entry
 	ld [$D139],a
 	ld d,$00
@@ -80831,7 +81681,7 @@
 .GivePrize ; 14:68E6
 	ld hl,SoYouWantPrizeTextPtr
 	call PrintText
-	call Func_35ec ; yes/no textbox
+	call YesNoChoice ; yes/no textbox
 	ld a,[$CC26] ; yes/no answer (Y=0, N=1)
 	and a
 	jr nz,.PrintOhFineThen
@@ -80860,7 +81710,7 @@
 	push af
 	ld a,[$CCD3] ; XXX is there room?
 	and a
-	call z,$3865
+	call z,WaitForTextScrollButtonPress
 	pop af
 	ret nc
 .SubtractCoins ; 14:692C
@@ -80881,35 +81731,35 @@
 	ld hl,OhFineThenTextPtr
 	jp PrintText
 
-UnknownData52951: ; 14:6951
+UnknownData52951: ; 52951 (14:6951)
 ; XXX what's this?
 	db $00,$01,$00,$01,$00,$01,$00,$00,$01
 
-HereYouGoTextPtr:
+HereYouGoTextPtr: ; 5295a (14:695a)
 	TX_FAR _HereYouGoText ; 22:62E7
 	db $0D
 	db "@"
 
-SoYouWantPrizeTextPtr: ; 14:6960
+SoYouWantPrizeTextPtr: ; 52960 (14:6960)
 	TX_FAR _SoYouWantPrizeText ; 22:62F6
 	db "@"
 
-SorryNeedMoreCoinsTextPtr: ; 14:6965
+SorryNeedMoreCoinsTextPtr: ; 52965 (14:6965)
 	TX_FAR _SorryNeedMoreCoins ; 22:630B
 	db $0D
 	db "@"
 
-PrizeRoomBagIsFullTextPtr: ; 14:696B
+PrizeRoomBagIsFullTextPtr: ; 5296b (14:696b)
 	TX_FAR _OopsYouDontHaveEnoughRoomText ; 22:6329
 	db $0D
 	db "@"
 
-OhFineThenTextPtr: ; 14:6971
+OhFineThenTextPtr: ; 52971 (14:6971)
 	TX_FAR _OhFineThenText; 22:634C
 	db $0D ; wait keypress (A/B) without blink
 	db "@"
 
-GetPrizeMonLevel: ; 14:6977
+GetPrizeMonLevel: ; 52977 (14:6977)
 	ld a,[$CF91]
 	ld b,a
 	ld hl,PrizeMonLevelDictionary
@@ -80924,7 +81774,7 @@
 	ld [$D127],a
 	ret
 
-PrizeMonLevelDictionary: ; 14:698A
+PrizeMonLevelDictionary: ; 5298a (14:698a)
 IF _RED
 	db ABRA,9
 	db CLEFAIRY,8
@@ -80946,7 +81796,7 @@
 
 INCBIN "baserom.gbc",$52996,$529e9 - $52996
 
-UnnamedText_529e9: ; 0x529e9
+UnnamedText_529e9: ; 529e9 (14:69e9)
 	TX_FAR _UnnamedText_529e9
 	db $50
 ; 0x529e9 + 5 bytes
@@ -80953,22 +81803,22 @@
 
 INCBIN "baserom.gbc",$529ee,$529f4 - $529ee
 
-UnnamedText_529f4: ; 0x529f4
+UnnamedText_529f4: ; 529f4 (14:69f4)
 	TX_FAR _UnnamedText_529f4
 	db $50
 ; 0x529f4 + 5 bytes
 
-UnnamedText_529f9: ; 0x529f9
+UnnamedText_529f9: ; 529f9 (14:69f9)
 	TX_FAR _UnnamedText_529f9
 	db $50
 ; 0x529f9 + 5 bytes
 
-UnnamedText_529fe: ; 0x529fe
+UnnamedText_529fe: ; 529fe (14:69fe)
 	TX_FAR _UnnamedText_529fe
 	db $50
 ; 0x529fe + 5 bytes
 
-UnnamedText_52a03: ; 0x52a03
+UnnamedText_52a03: ; 52a03 (14:6a03)
 	TX_FAR _UnnamedText_52a03
 	db $50
 ; 0x52a03 + 5 bytes
@@ -80975,7 +81825,7 @@
 
 INCBIN "baserom.gbc",$52a08,$52a10 - $52a08
 
-UnnamedText_52a10: ; 0x52a10
+UnnamedText_52a10: ; 52a10 (14:6a10)
 	TX_FAR _UnnamedText_52a10
 	db $50
 ; 0x52a10 + 5 bytes
@@ -80982,7 +81832,7 @@
 
 INCBIN "baserom.gbc",$52a15,$52a1d - $52a15
 
-UnnamedText_52a1d: ; 0x52a1d
+UnnamedText_52a1d: ; 52a1d (14:6a1d)
 	TX_FAR _UnnamedText_52a1d
 	db $50
 ; 0x52a1d + 5 bytes
@@ -80989,7 +81839,7 @@
 
 INCBIN "baserom.gbc",$52a22,$52a2a - $52a22
 
-UnnamedText_52a2a: ; 0x52a2a
+UnnamedText_52a2a: ; 52a2a (14:6a2a)
 	TX_FAR _UnnamedText_52a2a
 	db $50
 ; 0x52a2a + 5 bytes
@@ -80996,7 +81846,7 @@
 
 INCBIN "baserom.gbc",$52a2f,$52a3d - $52a2f
 
-UnnamedText_52a3d: ; 0x52a3d
+UnnamedText_52a3d: ; 52a3d (14:6a3d)
 	TX_FAR _UnnamedText_52a3d
 	db $50
 ; 0x52a3d + 5 bytes
@@ -81003,7 +81853,7 @@
 
 SECTION "bank15",DATA,BANK[$15]
 
-Route2_h:
+Route2_h: ; 54000 (15:4000)
 	db 00 ; Tileset
 	db ROUTE_2_HEIGHT,ROUTE_2_WIDTH ;Height,Width blocks (1 block = 4x4 tiles)
 	dw Route2Blocks ;Map-Pointer
@@ -81059,9 +81909,9 @@
 	EVENT_DISP $a, $27, $f ; ROUTE_2_GATE
 	EVENT_DISP $a, $2b, $3 ; VIRIDIAN_FOREST_ENTRANCE
 
-INCBIN "baserom.gbc",$5406a,$14
+INCBIN "baserom.gbc",$5406a,$5407e - $5406a
 
-Route2Blocks: ; 0x5407e 360
+Route2Blocks: ; 5407e (15:407e)
 	INCBIN "maps/route2.blk"
 
 Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14)
@@ -81109,7 +81959,7 @@
 	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
+Route3Blocks: ; 54255 (15:4255)
 	INCBIN "maps/route3.blk"
 
 Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15)
@@ -81161,7 +82011,7 @@
 	EVENT_DISP $2d, $5, $12 ; MT_MOON_1
 	EVENT_DISP $2d, $5, $18 ; MT_MOON_2
 
-Route4Blocks: ; 0x543ec 405
+Route4Blocks: ; 543ec (15:43ec)
 	INCBIN "maps/route4.blk"
 
 Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16)
@@ -81212,7 +82062,7 @@
 	EVENT_DISP $a, $1b, $11 ; PATH_ENTRANCE_ROUTE_5
 	EVENT_DISP $a, $15, $a ; DAYCAREM
 
-Route5Blocks: ; 0x545d2 180
+Route5Blocks: ; 545d2 (15:45d2)
 	INCBIN "maps/route5.blk"
 
 Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20)
@@ -81261,7 +82111,7 @@
 	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
+Route9Blocks: ; 546fe (15:46fe)
 	INCBIN "maps/route9.blk"
 
 Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24)
@@ -81312,7 +82162,7 @@
 	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
+Route13Blocks: ; 5488b (15:488b)
 	INCBIN "maps/route13.blk"
 
 Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25)
@@ -81361,7 +82211,7 @@
 	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
+Route14Blocks: ; 54a12 (15:4a12)
 	INCBIN "maps/route14.blk"
 
 Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28)
@@ -81415,7 +82265,7 @@
 	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
+Route17Blocks: ; 54ba8 (15:4ba8)
 	INCBIN "maps/route17.blk"
 
 Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30)
@@ -81464,7 +82314,7 @@
 	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
+Route19Blocks: ; 54ef1 (15:4ef1)
 	INCBIN "maps/route19.blk"
 
 Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32)
@@ -81511,15 +82361,15 @@
 	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
+Route21Blocks: ; 5506d (15:506d)
 	INCBIN "maps/route21.blk"
 
-VermilionHouse2Blocks:
-Route12HouseBlocks:
-DayCareMBlocks: ; 0x5522f 522F 16
+VermilionHouse2Blocks: ; 5522f (15:522f)
+Route12HouseBlocks: ; 5522f (15:522f)
+DayCareMBlocks: ; 5522f (15:522f)
 	INCBIN "maps/daycarem.blk"
 
-FuchsiaHouse3Blocks: ; 0x5523f 16
+FuchsiaHouse3Blocks: ; 5523f (15:523f)
 	INCBIN "maps/fuchsiahouse3.blk"
 
 ; known jump sources: 3c61d (f:461d), 3c63b (f:463b)
@@ -81539,7 +82389,7 @@
 	or [hl]
 	jp z, Func_55436
 	push hl
-	ld hl, $d058
+	ld hl, W_PLAYERMONSALIVEFLAGS
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	ld c, a
 	ld b, $2
@@ -81671,7 +82521,7 @@
 	ld a, [W_WHICHPOKEMON] ; $cf92
 	ld hl, W_PARTYMON1NAME ; $d2b5
 	call GetPartyMonName
-	ld hl, $54b2
+	ld hl, Unknown_554b2 ; $54b2
 	call PrintText
 	xor a
 	ld [$cc49], a
@@ -81711,7 +82561,7 @@
 	ld bc, $ffee
 	add hl, bc
 	ld b, $1
-	call Func_3936
+	call CalcStats
 	pop bc
 	pop hl
 	ld a, [hld]
@@ -81770,9 +82620,9 @@
 	ld hl, Func_3ee94
 	ld b, BANK(Func_3ee94)
 	call Bankswitch ; indirect jump to Func_3ee94 (3ee94 (f:6e94))
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 .asm_553f7
-	ld hl, $54dd
+	ld hl, Unknown_554dd ; $54dd
 	call PrintText
 	xor a
 	ld [$cc49], a
@@ -81781,8 +82631,8 @@
 	ld hl, PrintStatsBox
 	ld b, BANK(PrintStatsBox)
 	call Bankswitch ; indirect jump to PrintStatsBox (12ae4 (4:6ae4))
-	call Func_3865
-	call Func_3725
+	call WaitForTextScrollButtonPress
+	call LoadScreenTilesFromBuffer1
 	xor a
 	ld [$cc49], a
 	ld a, [$d0b5]
@@ -81813,7 +82663,7 @@
 	call AddNTimes
 	jp Func_5525f
 .asm_55450
-	ld hl, $d058
+	ld hl, W_PLAYERMONSALIVEFLAGS
 	xor a
 	ld [hl], a
 	ld a, [W_PLAYERMONNUMBER] ; $cc2f
@@ -81831,7 +82681,7 @@
 
 ; known jump sources: 55255 (15:5255)
 Func_5546c: ; 5546c (15:546c)
-	ld a, [$d058]
+	ld a, [W_PLAYERMONSALIVEFLAGS]
 	ld b, a
 	xor a
 	ld c, $8
@@ -81878,60 +82728,66 @@
 	ld [$FF00+$97], a
 	ret
 
+Unknown_554b2: ; 554b2 (15:54b2)
 INCBIN "baserom.gbc",$554b2,$554b7 - $554b2
 	ld a, [$cc5b]
-	ld hl, $54cb
+	ld hl, Unknown_554cb ; $54cb
 	and a
 	ret nz
-	ld hl, $54d8
+	ld hl, UnnamedText_554d8 ; $54d8
 	ld a, [$cf4d]
 	and a
 	ret z
-	ld hl, $54d4
+	ld hl, Unknown_554d4 ; $54d4
 	ret
 
-INCBIN "baserom.gbc",$554cb,$554d8 - $554cb
+Unknown_554cb: ; 554cb (15:54cb)
+INCBIN "baserom.gbc",$554cb,$554d4 - $554cb
 
-UnnamedText_554d8: ; 0x554d8
+Unknown_554d4: ; 554d4 (15:54d4)
+INCBIN "baserom.gbc",$554d4,$554d8 - $554d4
+
+UnnamedText_554d8: ; 554d8 (15:54d8)
 	TX_FAR _UnnamedText_554d8 ; 0x89bee
 	db $50
 ; 0x554dd
 
+Unknown_554dd: ; 554dd (15:54dd)
 INCBIN "baserom.gbc",$554dd,$554e3 - $554dd
 
-Route2Script: ; 0x554e3
+Route2Script: ; 554e3 (15:54e3)
 	jp EnableAutoTextBoxDrawing
 ; 0x554e6
 
-Route2Texts:
+Route2Texts: ; 554e6 (15:54e6)
 	dw Predef5CText, Predef5CText, Route2Text3, Route2Text4
 
-Route2Text3: ; 0x554ee
+Route2Text3: ; 554ee (15:54ee)
 	TX_FAR _Route2Text3
 	db $50
 
-Route2Text4: ; 0x554f3
+Route2Text4: ; 554f3 (15:54f3)
 	TX_FAR _Route2Text4
 	db $50
 
-Route3Script: ; 0x554f8
+Route3Script: ; 554f8 (15:54f8)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route3TrainerHeader0
 	ld de, Unknown_5550b
-	ld a, [$d5f8]
-	call Func_3160
-	ld [$d5f8], a
+	ld a, [W_ROUTE3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE3CURSCRIPT], a
 	ret
 ; 0x5550b
 
-Unknown_5550b: ; 0x5550b
-INCBIN "baserom.gbc",$5550b,$6
+Unknown_5550b: ; 5550b (15:550b)
+INCBIN "baserom.gbc",$5550b,$55511 - $5550b
 
-Route3Texts: ; 0x55511
+Route3Texts: ; 55511 (15:5511)
 	dw Route3Text1, Route3Text2, Route3Text3, Route3Text4, Route3Text5, Route3Text6, Route3Text7, Route3Text8, Route3Text9, Route3Text10
 
-Route3TrainerHeaders:
-Route3TrainerHeader0: ; 0x55525
+Route3TrainerHeaders: ; 55525 (15:5525)
+Route3TrainerHeader0: ; 55525 (15:5525)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -81941,7 +82797,7 @@
 	dw Route3EndBattleText1 ; 0x559a TextEndBattle
 ; 0x55531
 
-Route3TrainerHeader2: ; 0x55531
+Route3TrainerHeader2: ; 55531 (15:5531)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -81951,7 +82807,7 @@
 	dw Route3EndBattleText2 ; 0x55b3 TextEndBattle
 ; 0x5553d
 
-Route3TrainerHeader3: ; 0x5553d
+Route3TrainerHeader3: ; 5553d (15:553d)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -81961,7 +82817,7 @@
 	dw Route3EndBattleText3 ; 0x55cc TextEndBattle
 ; 0x55549
 
-Route3TrainerHeader4: ; 0x55549
+Route3TrainerHeader4: ; 55549 (15:5549)
 	db $5 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -81971,7 +82827,7 @@
 	dw Route3EndBattleText4 ; 0x55e5 TextEndBattle
 ; 0x55555
 
-Route3TrainerHeader5: ; 0x55555
+Route3TrainerHeader5: ; 55555 (15:5555)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -81981,7 +82837,7 @@
 	dw Route3EndBattleText5 ; 0x55fe TextEndBattle
 ; 0x55561
 
-Route3TrainerHeader6: ; 0x55561
+Route3TrainerHeader6: ; 55561 (15:5561)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -81991,7 +82847,7 @@
 	dw Route3EndBattleText6 ; 0x5617 TextEndBattle
 ; 0x5556d
 
-Route3TrainerHeader7: ; 0x5556d
+Route3TrainerHeader7: ; 5556d (15:556d)
 	db $8 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -82001,7 +82857,7 @@
 	dw Route3EndBattleText7 ; 0x5630 TextEndBattle
 ; 0x55579
 
-Route3TrainerHeader8: ; 0x55579
+Route3TrainerHeader8: ; 55579 (15:5579)
 	db $9 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7c3 ; flag's byte
@@ -82013,200 +82869,200 @@
 
 db $ff
 
-Route3Text1: ; 0x55586
+Route3Text1: ; 55586 (15:5586)
 	TX_FAR _Route3Text1
 	db $50
 
-Route3Text2: ; 0x5558b
+Route3Text2: ; 5558b (15:558b)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText1: ; 0x55595
+Route3BattleText1: ; 55595 (15:5595)
 	TX_FAR _Route3BattleText1
 	db $50
 ; 0x55595 + 5 bytes
 
-Route3EndBattleText1: ; 0x5559a
+Route3EndBattleText1: ; 5559a (15:559a)
 	TX_FAR _Route3EndBattleText1
 	db $50
 ; 0x5559a + 5 bytes
 
-Route3AfterBattleText1: ; 0x5559f
+Route3AfterBattleText1: ; 5559f (15:559f)
 	TX_FAR _Route3AfterBattleText1
 	db $50
 ; 0x5559f + 5 bytes
 
-Route3Text3: ; 0x555a4
+Route3Text3: ; 555a4 (15:55a4)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText2: ; 0x555ae
+Route3BattleText2: ; 555ae (15:55ae)
 	TX_FAR _Route3BattleText2
 	db $50
 ; 0x555ae + 5 bytes
 
-Route3EndBattleText2: ; 0x555b3
+Route3EndBattleText2: ; 555b3 (15:55b3)
 	TX_FAR _Route3EndBattleText2
 	db $50
 ; 0x555b3 + 5 bytes
 
-Route3AfterBattleText2: ; 0x555b8
+Route3AfterBattleText2: ; 555b8 (15:55b8)
 	TX_FAR _Route3AfterBattleText2
 	db $50
 ; 0x555b8 + 5 bytes
 
-Route3Text4: ; 0x555bd
+Route3Text4: ; 555bd (15:55bd)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText3: ; 0x555c7
+Route3BattleText3: ; 555c7 (15:55c7)
 	TX_FAR _Route3BattleText3
 	db $50
 ; 0x555c7 + 5 bytes
 
-Route3EndBattleText3: ; 0x555cc
+Route3EndBattleText3: ; 555cc (15:55cc)
 	TX_FAR _Route3EndBattleText3
 	db $50
 ; 0x555cc + 5 bytes
 
-Route3AfterBattleText3: ; 0x555d1
+Route3AfterBattleText3: ; 555d1 (15:55d1)
 	TX_FAR _Route3AfterBattleText3
 	db $50
 ; 0x555d1 + 5 bytes
 
-Route3Text5: ; 0x555d6
+Route3Text5: ; 555d6 (15:55d6)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText4: ; 0x555e0
+Route3BattleText4: ; 555e0 (15:55e0)
 	TX_FAR _Route3BattleText4
 	db $50
 ; 0x555e0 + 5 bytes
 
-Route3EndBattleText4: ; 0x555e5
+Route3EndBattleText4: ; 555e5 (15:55e5)
 	TX_FAR _Route3EndBattleText4
 	db $50
 ; 0x555e5 + 5 bytes
 
-Route3AfterBattleText4: ; 0x555ea
+Route3AfterBattleText4: ; 555ea (15:55ea)
 	TX_FAR _Route3AfterBattleText4
 	db $50
 ; 0x555ea + 5 bytes
 
-Route3Text6: ; 0x555ef
+Route3Text6: ; 555ef (15:55ef)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText5: ; 0x555f9
+Route3BattleText5: ; 555f9 (15:55f9)
 	TX_FAR _Route3BattleText5
 	db $50
 ; 0x555f9 + 5 bytes
 
-Route3EndBattleText5: ; 0x555fe
+Route3EndBattleText5: ; 555fe (15:55fe)
 	TX_FAR _Route3EndBattleText5
 	db $50
 ; 0x555fe + 5 bytes
 
-Route3AfterBattleText5: ; 0x55603
+Route3AfterBattleText5: ; 55603 (15:5603)
 	TX_FAR _Route3AfterBattleText5
 	db $50
 ; 0x55603 + 5 bytes
 
-Route3Text7: ; 0x55608
+Route3Text7: ; 55608 (15:5608)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText6: ; 0x55612
+Route3BattleText6: ; 55612 (15:5612)
 	TX_FAR _Route3BattleText6
 	db $50
 ; 0x55612 + 5 bytes
 
-Route3EndBattleText6: ; 0x55617
+Route3EndBattleText6: ; 55617 (15:5617)
 	TX_FAR _Route3EndBattleText6
 	db $50
 ; 0x55617 + 5 bytes
 
-Route3AfterBattleText6: ; 0x5561c
+Route3AfterBattleText6: ; 5561c (15:561c)
 	TX_FAR _Route3AfterBattleText6
 	db $50
 ; 0x5561c + 5 bytes
 
-Route3Text8: ; 0x55621
+Route3Text8: ; 55621 (15:5621)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText7: ; 0x5562b
+Route3BattleText7: ; 5562b (15:562b)
 	TX_FAR _Route3BattleText7
 	db $50
 ; 0x5562b + 5 bytes
 
-Route3EndBattleText7: ; 0x55630
+Route3EndBattleText7: ; 55630 (15:5630)
 	TX_FAR _Route3EndBattleText7
 	db $50
 ; 0x55630 + 5 bytes
 
-Route3AfterBattleText7: ; 0x55635
+Route3AfterBattleText7: ; 55635 (15:5635)
 	TX_FAR _Route3AfterBattleText7
 	db $50
 ; 0x55635 + 5 bytes
 
-Route3Text9: ; 0x5563a
+Route3Text9: ; 5563a (15:563a)
 	db $08 ; asm
 	ld hl, Route3TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route3BattleText8: ; 0x55644
+Route3BattleText8: ; 55644 (15:5644)
 	TX_FAR _Route3BattleText8
 	db $50
 ; 0x55644 + 5 bytes
 
-Route3EndBattleText8: ; 0x55649
+Route3EndBattleText8: ; 55649 (15:5649)
 	TX_FAR _Route3EndBattleText8
 	db $50
 ; 0x55649 + 5 bytes
 
-Route3AfterBattleText8: ; 0x5564e
+Route3AfterBattleText8: ; 5564e (15:564e)
 	TX_FAR _Route3AfterBattleText8
 	db $50
 ; 0x5564e + 5 bytes
 
-Route3Text10: ; 0x55653
+Route3Text10: ; 55653 (15:5653)
 	TX_FAR _Route3Text10
 	db $50
 
-Route4Script: ; 0x55658
+Route4Script: ; 55658 (15:5658)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route4TrainerHeaders
 	ld de, Unknown_5566b
-	ld a, [$d5f9]
-	call Func_3160
-	ld [$d5f9], a
+	ld a, [W_ROUTE4CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE4CURSCRIPT], a
 	ret
 ; 0x5566b
 
-Unknown_5566b: ; 0x5566b
-INCBIN "baserom.gbc",$5566b,$6
+Unknown_5566b: ; 5566b (15:566b)
+INCBIN "baserom.gbc",$5566b,$55671 - $5566b
 
-Route4Texts: ; 0x55671
+Route4Texts: ; 55671 (15:5671)
 	dw Route4Text1, Route4Text2, Predef5CText, PokeCenterSignText, Route4Text5, Route4Text6
 
-Route4TrainerHeaders:
-Route4TrainerHeader0: ; 0x5567d
+Route4TrainerHeaders: ; 5567d (15:567d)
+Route4TrainerHeader0: ; 5567d (15:567d)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c5 ; flag's byte
@@ -82218,68 +83074,68 @@
 
 db $ff
 
-Route4Text1: ; 0x5568a
+Route4Text1: ; 5568a (15:568a)
 	TX_FAR _Route4Text1
 	db $50
 
-Route4Text2: ; 0x5568f
+Route4Text2: ; 5568f (15:568f)
 	db $08 ; asm
 	ld hl, Route4TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route4BattleText1: ; 0x55699
+Route4BattleText1: ; 55699 (15:5699)
 	TX_FAR _Route4BattleText1
 	db $50
 ; 0x55699 + 5 bytes
 
-Route4EndBattleText1: ; 0x5569e
+Route4EndBattleText1: ; 5569e (15:569e)
 	TX_FAR _Route4EndBattleText1
 	db $50
 ; 0x5569e + 5 bytes
 
-Route4AfterBattleText1: ; 0x556a3
+Route4AfterBattleText1: ; 556a3 (15:56a3)
 	TX_FAR _Route4AfterBattleText1
 	db $50
 ; 0x556a3 + 5 bytes
 
-Route4Text5: ; 0x556a8
+Route4Text5: ; 556a8 (15:56a8)
 	TX_FAR _Route4Text5
 	db $50
 
-Route4Text6: ; 0x556ad
+Route4Text6: ; 556ad (15:56ad)
 	TX_FAR _Route4Text6
 	db $50
 
-Route5Script: ; 0x556b2
+Route5Script: ; 556b2 (15:56b2)
 	jp EnableAutoTextBoxDrawing
 ; 0x556b5
 
-Route5Texts: ; 0x556b5
+Route5Texts: ; 556b5 (15:56b5)
 	dw Route5Text1
 
-Route5Text1: ; 0x556b7
+Route5Text1: ; 556b7 (15:56b7)
 	TX_FAR _Route5Text1
 	db $50
 
-Route9Script: ; 0x556bc
+Route9Script: ; 556bc (15:56bc)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route9TrainerHeaders
 	ld de, Unknown_556cf
-	ld a, [$d604]
-	call Func_3160
-	ld [$d604], a
+	ld a, [W_ROUTE9CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE9CURSCRIPT], a
 	ret
 ; 0x556cf
 
-Unknown_556cf: ; 0x556cf
-INCBIN "baserom.gbc",$556cf,$6
+Unknown_556cf: ; 556cf (15:56cf)
+INCBIN "baserom.gbc",$556cf,$556d5 - $556cf
 
-Route9Texts: ; 0x556d5
+Route9Texts: ; 556d5 (15:56d5)
 	dw Route9Text1, Route9Text2, Route9Text3, Route9Text4, Route9Text5, Route9Text6, Route9Text7, Route9Text8, Route9Text9, Predef5CText, Route9Text11
 
-Route9TrainerHeaders:
-Route9TrainerHeader0: ; 0x556eb
+Route9TrainerHeaders: ; 556eb (15:56eb)
+Route9TrainerHeader0: ; 556eb (15:56eb)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82289,7 +83145,7 @@
 	dw Route9EndBattleText1 ; 0x5797 TextEndBattle
 ; 0x556f7
 
-Route9TrainerHeader2: ; 0x556f7
+Route9TrainerHeader2: ; 556f7 (15:56f7)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82299,7 +83155,7 @@
 	dw Route9EndBattleText2 ; 0x57a6 TextEndBattle
 ; 0x55703
 
-Route9TrainerHeader3: ; 0x55703
+Route9TrainerHeader3: ; 55703 (15:5703)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82309,7 +83165,7 @@
 	dw Route9EndBattleText3 ; 0x57b5 TextEndBattle
 ; 0x5570f
 
-Route9TrainerHeader4: ; 0x5570f
+Route9TrainerHeader4: ; 5570f (15:570f)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82319,7 +83175,7 @@
 	dw Route9EndBattleText4 ; 0x57c4 TextEndBattle
 ; 0x5571b
 
-Route9TrainerHeader5: ; 0x5571b
+Route9TrainerHeader5: ; 5571b (15:571b)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82329,7 +83185,7 @@
 	dw Route9EndBattleText5 ; 0x57d3 TextEndBattle
 ; 0x55727
 
-Route9TrainerHeader6: ; 0x55727
+Route9TrainerHeader6: ; 55727 (15:5727)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82339,7 +83195,7 @@
 	dw Route9EndBattleText6 ; 0x57e2 TextEndBattle
 ; 0x55733
 
-Route9TrainerHeader7: ; 0x55733
+Route9TrainerHeader7: ; 55733 (15:5733)
 	db $7 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82349,7 +83205,7 @@
 	dw Route9EndBattleText7 ; 0x57f1 TextEndBattle
 ; 0x5573f
 
-Route9TrainerHeader8: ; 0x5573f
+Route9TrainerHeader8: ; 5573f (15:573f)
 	db $8 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82359,7 +83215,7 @@
 	dw Route9EndBattleText8 ; 0x5800 TextEndBattle
 ; 0x5574b
 
-Route9TrainerHeader9: ; 0x5574b
+Route9TrainerHeader9: ; 5574b (15:574b)
 	db $9 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cf ; flag's byte
@@ -82371,211 +83227,211 @@
 
 db $ff
 
-Route9Text1: ; 0x55758
+Route9Text1: ; 55758 (15:5758)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader0
 	jr asm_8be3d ; 0x5575c $2e
 
-Route9Text2:
+Route9Text2: ; 5575e (15:575e)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader2
 	jr asm_8be3d ; 0x55762 $28
 
-Route9Text3:
+Route9Text3: ; 55764 (15:5764)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader3
 	jr asm_8be3d ; 0x55768 $22
 
-Route9Text4:
+Route9Text4: ; 5576a (15:576a)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader4
 	jr asm_8be3d ; 0x5576e $1c
 
-Route9Text5:
+Route9Text5: ; 55770 (15:5770)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader5
 	jr asm_8be3d ; 0x55774 $16
 
-Route9Text6:
+Route9Text6: ; 55776 (15:5776)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader6
 	jr asm_8be3d ; 0x5577a $10
 
-Route9Text7:
+Route9Text7: ; 5577c (15:577c)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader7
 	jr asm_8be3d ; 0x55780 $a
 
-Route9Text8:
+Route9Text8: ; 55782 (15:5782)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader8
 	jr asm_8be3d ; 0x55786 $4
 
-Route9Text9:
+Route9Text9: ; 55788 (15:5788)
 	db $8 ; asm
 	ld hl, Route9TrainerHeader9
-asm_8be3d: ; 0x5578c
-	call LoadTrainerHeader
+asm_8be3d: ; 5578c (15:578c)
+	call TalkToTrainer
 	jp TextScriptEnd
 ; 0x55792
 
-Route9BattleText1: ; 0x55792
+Route9BattleText1: ; 55792 (15:5792)
 	TX_FAR _Route9BattleText1
 	db $50
 ; 0x55792 + 5 bytes
 
-Route9EndBattleText1: ; 0x55797
+Route9EndBattleText1: ; 55797 (15:5797)
 	TX_FAR _Route9EndBattleText1
 	db $50
 ; 0x55797 + 5 bytes
 
-Route9AfterBattleText1: ; 0x5579c
+Route9AfterBattleText1: ; 5579c (15:579c)
 	TX_FAR _Route9AfterBattleText1
 	db $50
 ; 0x5579c + 5 bytes
 
-Route9BattleText2: ; 0x557a1
+Route9BattleText2: ; 557a1 (15:57a1)
 	TX_FAR _Route9BattleText2
 	db $50
 ; 0x557a1 + 5 bytes
 
-Route9EndBattleText2: ; 0x557a6
+Route9EndBattleText2: ; 557a6 (15:57a6)
 	TX_FAR _Route9EndBattleText2
 	db $50
 ; 0x557a6 + 5 bytes
 
-Route9AfterBattleText2: ; 0x557ab
+Route9AfterBattleText2: ; 557ab (15:57ab)
 	TX_FAR _Route9AfterBattleText2
 	db $50
 ; 0x557ab + 5 bytes
 
-Route9BattleText3: ; 0x557b0
+Route9BattleText3: ; 557b0 (15:57b0)
 	TX_FAR _Route9BattleText3
 	db $50
 ; 0x557b0 + 5 bytes
 
-Route9EndBattleText3: ; 0x557b5
+Route9EndBattleText3: ; 557b5 (15:57b5)
 	TX_FAR _Route9EndBattleText3
 	db $50
 ; 0x557b5 + 5 bytes
 
-Route9AfterBattleText3: ; 0x557ba
+Route9AfterBattleText3: ; 557ba (15:57ba)
 	TX_FAR _Route9AfterBattleText3
 	db $50
 ; 0x557ba + 5 bytes
 
-Route9BattleText4: ; 0x557bf
+Route9BattleText4: ; 557bf (15:57bf)
 	TX_FAR _Route9BattleText4
 	db $50
 ; 0x557bf + 5 bytes
 
-Route9EndBattleText4: ; 0x557c4
+Route9EndBattleText4: ; 557c4 (15:57c4)
 	TX_FAR _Route9EndBattleText4
 	db $50
 ; 0x557c4 + 5 bytes
 
-Route9AfterBattleText4: ; 0x557c9
+Route9AfterBattleText4: ; 557c9 (15:57c9)
 	TX_FAR _Route9AfterBattleText4
 	db $50
 ; 0x557c9 + 5 bytes
 
-Route9BattleText5: ; 0x557ce
+Route9BattleText5: ; 557ce (15:57ce)
 	TX_FAR _Route9BattleText5
 	db $50
 ; 0x557ce + 5 bytes
 
-Route9EndBattleText5: ; 0x557d3
+Route9EndBattleText5: ; 557d3 (15:57d3)
 	TX_FAR _Route9EndBattleText5
 	db $50
 ; 0x557d3 + 5 bytes
 
-Route9AfterBattleText5: ; 0x557d8
+Route9AfterBattleText5: ; 557d8 (15:57d8)
 	TX_FAR _Route9AfterBattleText5
 	db $50
 ; 0x557d8 + 5 bytes
 
-Route9BattleText6: ; 0x557dd
+Route9BattleText6: ; 557dd (15:57dd)
 	TX_FAR _Route9BattleText6
 	db $50
 ; 0x557dd + 5 bytes
 
-Route9EndBattleText6: ; 0x557e2
+Route9EndBattleText6: ; 557e2 (15:57e2)
 	TX_FAR _Route9EndBattleText6
 	db $50
 ; 0x557e2 + 5 bytes
 
-Route9AfterBattleText6: ; 0x557e7
+Route9AfterBattleText6: ; 557e7 (15:57e7)
 	TX_FAR _Route9AfterBattleText6
 	db $50
 ; 0x557e7 + 5 bytes
 
-Route9BattleText7: ; 0x557ec
+Route9BattleText7: ; 557ec (15:57ec)
 	TX_FAR _Route9BattleText7
 	db $50
 ; 0x557ec + 5 bytes
 
-Route9EndBattleText7: ; 0x557f1
+Route9EndBattleText7: ; 557f1 (15:57f1)
 	TX_FAR _Route9EndBattleText7
 	db $50
 ; 0x557f1 + 5 bytes
 
-Route9AfterBattleText7: ; 0x557f6
+Route9AfterBattleText7: ; 557f6 (15:57f6)
 	TX_FAR _Route9AfterBattleText7
 	db $50
 ; 0x557f6 + 5 bytes
 
-Route9BattleText8: ; 0x557fb
+Route9BattleText8: ; 557fb (15:57fb)
 	TX_FAR _Route9BattleText8
 	db $50
 ; 0x557fb + 5 bytes
 
-Route9EndBattleText8: ; 0x55800
+Route9EndBattleText8: ; 55800 (15:5800)
 	TX_FAR _Route9EndBattleText8
 	db $50
 ; 0x55800 + 5 bytes
 
-Route9AfterBattleText8: ; 0x55805
+Route9AfterBattleText8: ; 55805 (15:5805)
 	TX_FAR _Route9AfterBattleText8
 	db $50
 ; 0x55805 + 5 bytes
 
-Route9BattleText9: ; 0x5580a
+Route9BattleText9: ; 5580a (15:580a)
 	TX_FAR _Route9BattleText9
 	db $50
 ; 0x5580a + 5 bytes
 
-Route9EndBattleText9: ; 0x5580f
+Route9EndBattleText9: ; 5580f (15:580f)
 	TX_FAR _Route9EndBattleText9
 	db $50
 ; 0x5580f + 5 bytes
 
-Route9AfterBattleText9: ; 0x55814
+Route9AfterBattleText9: ; 55814 (15:5814)
 	TX_FAR _Route9AfterBattleText9
 	db $50
 ; 0x55814 + 5 bytes
 
-Route9Text11: ; 0x55819
+Route9Text11: ; 55819 (15:5819)
 	TX_FAR _Route9Text11
 	db $50
 
-Route13Script: ; 0x5581e
+Route13Script: ; 5581e (15:581e)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route13TrainerHeaders
 	ld de, Route13Script_Unknown55831
-	ld a, [$d61a]
-	call Func_3160
-	ld [$d61a], a
+	ld a, [W_ROUTE13CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE13CURSCRIPT], a
 	ret
 ; 0x55831
 
-Route13Script_Unknown55831: ; 0x55831
-INCBIN "baserom.gbc",$55831,$6
+Route13Script_Unknown55831: ; 55831 (15:5831)
+INCBIN "baserom.gbc",$55831,$55837 - $55831
 
-Route13Texts: ; 0x55837
+Route13Texts: ; 55837 (15:5837)
 	dw Route13Text1, Route13Text2, Route13Text3, Route13Text4, Route13Text5, Route13Text6, Route13Text7, Route13Text8, Route13Text9, Route13Text10, Route13Text11, Route13Text12, Route13Text13
 
-Route13TrainerHeaders:
-Route13TrainerHeader0: ; 0x55851
+Route13TrainerHeaders: ; 55851 (15:5851)
+Route13TrainerHeader0: ; 55851 (15:5851)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82585,7 +83441,7 @@
 	dw Route13EndBattleText2 ; 0x58d9 TextEndBattle
 ; 0x5585d
 
-Route13TrainerHeader2: ; 0x5585d
+Route13TrainerHeader2: ; 5585d (15:585d)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82595,7 +83451,7 @@
 	dw Route13EndBattleText3 ; 0x58f2 TextEndBattle
 ; 0x55869
 
-Route13TrainerHeader3: ; 0x55869
+Route13TrainerHeader3: ; 55869 (15:5869)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82605,7 +83461,7 @@
 	dw Route13EndBattleText4 ; 0x590b TextEndBattle
 ; 0x55875
 
-Route13TrainerHeader4: ; 0x55875
+Route13TrainerHeader4: ; 55875 (15:5875)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82615,7 +83471,7 @@
 	dw Route13EndBattleText5 ; 0x5924 TextEndBattle
 ; 0x55881
 
-Route13TrainerHeader5: ; 0x55881
+Route13TrainerHeader5: ; 55881 (15:5881)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82625,7 +83481,7 @@
 	dw Route13EndBattleText6 ; 0x593d TextEndBattle
 ; 0x5588d
 
-Route13TrainerHeader6: ; 0x5588d
+Route13TrainerHeader6: ; 5588d (15:588d)
 	db $6 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82635,7 +83491,7 @@
 	dw Route13EndBattleText7 ; 0x5956 TextEndBattle
 ; 0x55899
 
-Route13TrainerHeader7: ; 0x55899
+Route13TrainerHeader7: ; 55899 (15:5899)
 	db $7 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82645,7 +83501,7 @@
 	dw Route13EndBattleText8 ; 0x596f TextEndBattle
 ; 0x558a5
 
-Route13TrainerHeader8: ; 0x558a5
+Route13TrainerHeader8: ; 558a5 (15:58a5)
 	db $8 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82655,7 +83511,7 @@
 	dw Route13EndBattleText9 ; 0x5988 TextEndBattle
 ; 0x558b1
 
-Route13TrainerHeader9: ; 0x558b1
+Route13TrainerHeader9: ; 558b1 (15:58b1)
 	db $9 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82665,7 +83521,7 @@
 	dw Route13EndBattleText10 ; 0x59a1 TextEndBattle
 ; 0x558bd
 
-Route13TrainerHeader10: ; 0x558bd
+Route13TrainerHeader10: ; 558bd (15:58bd)
 	db $a ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d9 ; flag's byte
@@ -82677,246 +83533,246 @@
 
 db $ff
 
-Route13Text1: ; 0x558ca
+Route13Text1: ; 558ca (15:58ca)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText2: ; 0x558d4
+Route13BattleText2: ; 558d4 (15:58d4)
 	TX_FAR _Route13BattleText2
 	db $50
 ; 0x558d4 + 5 bytes
 
-Route13EndBattleText2: ; 0x558d9
+Route13EndBattleText2: ; 558d9 (15:58d9)
 	TX_FAR _Route13EndBattleText2
 	db $50
 ; 0x558d9 + 5 bytes
 
-Route13AfterBattleText2: ; 0x558de
+Route13AfterBattleText2: ; 558de (15:58de)
 	TX_FAR _Route13AfterBattleText2
 	db $50
 ; 0x558de + 5 bytes
 
-Route13Text2: ; 0x558e3
+Route13Text2: ; 558e3 (15:58e3)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText3: ; 0x558ed
+Route13BattleText3: ; 558ed (15:58ed)
 	TX_FAR _Route13BattleText3
 	db $50
 ; 0x558ed + 5 bytes
 
-Route13EndBattleText3: ; 0x558f2
+Route13EndBattleText3: ; 558f2 (15:58f2)
 	TX_FAR _Route13EndBattleText3
 	db $50
 ; 0x558f2 + 5 bytes
 
-Route13AfterBattleText3: ; 0x558f7
+Route13AfterBattleText3: ; 558f7 (15:58f7)
 	TX_FAR _Route13AfterBattleText3
 	db $50
 ; 0x558f7 + 5 bytes
 
-Route13Text3: ; 0x558fc
+Route13Text3: ; 558fc (15:58fc)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText4: ; 0x55906
+Route13BattleText4: ; 55906 (15:5906)
 	TX_FAR _Route13BattleText4
 	db $50
 ; 0x55906 + 5 bytes
 
-Route13EndBattleText4: ; 0x5590b
+Route13EndBattleText4: ; 5590b (15:590b)
 	TX_FAR _Route13EndBattleText4
 	db $50
 ; 0x5590b + 5 bytes
 
-Route13AfterBattleText4: ; 0x55910
+Route13AfterBattleText4: ; 55910 (15:5910)
 	TX_FAR _Route13AfterBattleText4
 	db $50
 ; 0x55910 + 5 bytes
 
-Route13Text4: ; 0x55915
+Route13Text4: ; 55915 (15:5915)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText5: ; 0x5591f
+Route13BattleText5: ; 5591f (15:591f)
 	TX_FAR _Route13BattleText5
 	db $50
 ; 0x5591f + 5 bytes
 
-Route13EndBattleText5: ; 0x55924
+Route13EndBattleText5: ; 55924 (15:5924)
 	TX_FAR _Route13EndBattleText5
 	db $50
 ; 0x55924 + 5 bytes
 
-Route13AfterBattleText5: ; 0x55929
+Route13AfterBattleText5: ; 55929 (15:5929)
 	TX_FAR _Route13AfterBattleText5
 	db $50
 ; 0x55929 + 5 bytes
 
-Route13Text5: ; 0x5592e
+Route13Text5: ; 5592e (15:592e)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText6: ; 0x55938
+Route13BattleText6: ; 55938 (15:5938)
 	TX_FAR _Route13BattleText6
 	db $50
 ; 0x55938 + 5 bytes
 
-Route13EndBattleText6: ; 0x5593d
+Route13EndBattleText6: ; 5593d (15:593d)
 	TX_FAR _Route13EndBattleText6
 	db $50
 ; 0x5593d + 5 bytes
 
-Route13AfterBattleText6: ; 0x55942
+Route13AfterBattleText6: ; 55942 (15:5942)
 	TX_FAR _Route13AfterBattleText6
 	db $50
 ; 0x55942 + 5 bytes
 
-Route13Text6: ; 0x55947
+Route13Text6: ; 55947 (15:5947)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText7: ; 0x55951
+Route13BattleText7: ; 55951 (15:5951)
 	TX_FAR _Route13BattleText7
 	db $50
 ; 0x55951 + 5 bytes
 
-Route13EndBattleText7: ; 0x55956
+Route13EndBattleText7: ; 55956 (15:5956)
 	TX_FAR _Route13EndBattleText7
 	db $50
 ; 0x55956 + 5 bytes
 
-Route13AfterBattleText7: ; 0x5595b
+Route13AfterBattleText7: ; 5595b (15:595b)
 	TX_FAR _Route13AfterBattleText7
 	db $50
 ; 0x5595b + 5 bytes
 
-Route13Text7: ; 0x55960
+Route13Text7: ; 55960 (15:5960)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText8: ; 0x5596a
+Route13BattleText8: ; 5596a (15:596a)
 	TX_FAR _Route13BattleText8
 	db $50
 ; 0x5596a + 5 bytes
 
-Route13EndBattleText8: ; 0x5596f
+Route13EndBattleText8: ; 5596f (15:596f)
 	TX_FAR _Route13EndBattleText8
 	db $50
 ; 0x5596f + 5 bytes
 
-Route13AfterBattleText8: ; 0x55974
+Route13AfterBattleText8: ; 55974 (15:5974)
 	TX_FAR _Route13AfterBattleText8
 	db $50
 ; 0x55974 + 5 bytes
 
-Route13Text8: ; 0x55979
+Route13Text8: ; 55979 (15:5979)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText9: ; 0x55983
+Route13BattleText9: ; 55983 (15:5983)
 	TX_FAR _Route13BattleText9
 	db $50
 ; 0x55983 + 5 bytes
 
-Route13EndBattleText9: ; 0x55988
+Route13EndBattleText9: ; 55988 (15:5988)
 	TX_FAR _Route13EndBattleText9
 	db $50
 ; 0x55988 + 5 bytes
 
-Route13AfterBattleText9: ; 0x5598d
+Route13AfterBattleText9: ; 5598d (15:598d)
 	TX_FAR _Route13AfterBattleText9
 	db $50
 ; 0x5598d + 5 bytes
 
-Route13Text9: ; 0x55992
+Route13Text9: ; 55992 (15:5992)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText10: ; 0x5599c
+Route13BattleText10: ; 5599c (15:599c)
 	TX_FAR _Route13BattleText10
 	db $50
 ; 0x5599c + 5 bytes
 
-Route13EndBattleText10: ; 0x559a1
+Route13EndBattleText10: ; 559a1 (15:59a1)
 	TX_FAR _Route13EndBattleText10
 	db $50
 ; 0x559a1 + 5 bytes
 
-Route13AfterBattleText10: ; 0x559a6
+Route13AfterBattleText10: ; 559a6 (15:59a6)
 	TX_FAR _Route13AfterBattleText10
 	db $50
 ; 0x559a6 + 5 bytes
 
-Route13Text10: ; 0x559ab
+Route13Text10: ; 559ab (15:59ab)
 	db $08 ; asm
 	ld hl, Route13TrainerHeader10
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route13BattleText11: ; 0x559b5
+Route13BattleText11: ; 559b5 (15:59b5)
 	TX_FAR _Route13BattleText11
 	db $50
 ; 0x559b5 + 5 bytes
 
-Route13EndBattleText11: ; 0x559ba
+Route13EndBattleText11: ; 559ba (15:59ba)
 	TX_FAR _Route13EndBattleText11
 	db $50
 ; 0x559ba + 5 bytes
 
-Route13AfterBattleText11: ; 0x559bf
+Route13AfterBattleText11: ; 559bf (15:59bf)
 	TX_FAR _Route13AfterBattleText11
 	db $50
 ; 0x559bf + 5 bytes
 
-Route13Text11: ; 0x559c4
+Route13Text11: ; 559c4 (15:59c4)
 	TX_FAR _Route13Text11
 	db $50
 
-Route13Text12: ; 0x559c9
+Route13Text12: ; 559c9 (15:59c9)
 	TX_FAR _Route13Text12
 	db $50
 
-Route13Text13: ; 0x559ce
+Route13Text13: ; 559ce (15:59ce)
 	TX_FAR _Route13Text13
 	db $50
 
-Route14Script: ; 0x559d3
+Route14Script: ; 559d3 (15:59d3)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route14TrainerHeaders
 	ld de, Unknown_559e6
-	ld a, [$d61b]
-	call Func_3160
-	ld [$d61b], a
+	ld a, [W_ROUTE14CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE14CURSCRIPT], a
 	ret
 ; 0x559e6
 
-Unknown_559e6: ; 0x559e6
-INCBIN "baserom.gbc",$559e6,$6
+Unknown_559e6: ; 559e6 (15:59e6)
+INCBIN "baserom.gbc",$559e6,$559ec - $559e6
 
-Route14Texts: ; 0x559ec
+Route14Texts: ; 559ec (15:59ec)
 	dw Route14Text1, Route14Text2, Route14Text3, Route14Text4, Route14Text5, Route14Text6, Route14Text7, Route14Text8, Route14Text9, Route14Text10, Route14Text11
 
-Route14TrainerHeaders:
-Route14TrainerHeader0: ; 0x55a02
+Route14TrainerHeaders: ; 55a02 (15:5a02)
+Route14TrainerHeader0: ; 55a02 (15:5a02)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82926,7 +83782,7 @@
 	dw Route14EndBattleText1 ; 0x5a8a TextEndBattle
 ; 0x55a0e
 
-Route14TrainerHeader1: ; 0x55a0e
+Route14TrainerHeader1: ; 55a0e (15:5a0e)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82936,7 +83792,7 @@
 	dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle
 ; 0x55a1a
 
-Route14TrainerHeader2: ; 0x55a1a
+Route14TrainerHeader2: ; 55a1a (15:5a1a)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82946,7 +83802,7 @@
 	dw Route14EndBattleText3 ; 0x5abc TextEndBattle
 ; 0x55a26
 
-Route14TrainerHeader3: ; 0x55a26
+Route14TrainerHeader3: ; 55a26 (15:5a26)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82956,7 +83812,7 @@
 	dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle
 ; 0x55a32
 
-Route14TrainerHeader4: ; 0x55a32
+Route14TrainerHeader4: ; 55a32 (15:5a32)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82966,7 +83822,7 @@
 	dw Route14EndBattleText5 ; 0x5aee TextEndBattle
 ; 0x55a3e
 
-Route14TrainerHeader5: ; 0x55a3e
+Route14TrainerHeader5: ; 55a3e (15:5a3e)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82976,7 +83832,7 @@
 	dw Route14EndBattleText6 ; 0x5b07 TextEndBattle
 ; 0x55a4a
 
-Route14TrainerHeader6: ; 0x55a4a
+Route14TrainerHeader6: ; 55a4a (15:5a4a)
 	db $7 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82986,7 +83842,7 @@
 	dw Route14EndBattleText7 ; 0x5b20 TextEndBattle
 ; 0x55a56
 
-Route14TrainerHeader7: ; 0x55a56
+Route14TrainerHeader7: ; 55a56 (15:5a56)
 	db $8 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -82996,7 +83852,7 @@
 	dw Route14EndBattleText8 ; 0x5b39 TextEndBattle
 ; 0x55a62
 
-Route14TrainerHeader8: ; 0x55a62
+Route14TrainerHeader8: ; 55a62 (15:5a62)
 	db $9 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -83006,7 +83862,7 @@
 	dw Route14EndBattleText9 ; 0x5b52 TextEndBattle
 ; 0x55a6e
 
-Route14TrainerHeader9: ; 0x55a6e
+Route14TrainerHeader9: ; 55a6e (15:5a6e)
 	db $a ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7db ; flag's byte
@@ -83018,238 +83874,238 @@
 
 db $ff
 
-Route14Text1: ; 0x55a7b
+Route14Text1: ; 55a7b (15:5a7b)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText1: ; 0x55a85
+Route14BattleText1: ; 55a85 (15:5a85)
 	TX_FAR _Route14BattleText1
 	db $50
 ; 0x55a85 + 5 bytes
 
-Route14EndBattleText1: ; 0x55a8a
+Route14EndBattleText1: ; 55a8a (15:5a8a)
 	TX_FAR _Route14EndBattleText1
 	db $50
 ; 0x55a8a + 5 bytes
 
-Route14AfterBattleText1: ; 0x55a8f
+Route14AfterBattleText1: ; 55a8f (15:5a8f)
 	TX_FAR _Route14AfterBattleText1
 	db $50
 ; 0x55a8f + 5 bytes
 
-Route14Text2: ; 0x55a94
+Route14Text2: ; 55a94 (15:5a94)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText2: ; 0x55a9e
+Route14BattleText2: ; 55a9e (15:5a9e)
 	TX_FAR _Route14BattleText2
 	db $50
 ; 0x55a9e + 5 bytes
 
-Route14EndBattleText2: ; 0x55aa3
+Route14EndBattleText2: ; 55aa3 (15:5aa3)
 	TX_FAR _Route14EndBattleText2
 	db $50
 ; 0x55aa3 + 5 bytes
 
-Route14AfterBattleText2: ; 0x55aa8
+Route14AfterBattleText2: ; 55aa8 (15:5aa8)
 	TX_FAR _Route14AfterBattleText2
 	db $50
 ; 0x55aa8 + 5 bytes
 
-Route14Text3: ; 0x55aad
+Route14Text3: ; 55aad (15:5aad)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText3: ; 0x55ab7
+Route14BattleText3: ; 55ab7 (15:5ab7)
 	TX_FAR _Route14BattleText3
 	db $50
 ; 0x55ab7 + 5 bytes
 
-Route14EndBattleText3: ; 0x55abc
+Route14EndBattleText3: ; 55abc (15:5abc)
 	TX_FAR _Route14EndBattleText3
 	db $50
 ; 0x55abc + 5 bytes
 
-Route14AfterBattleText3: ; 0x55ac1
+Route14AfterBattleText3: ; 55ac1 (15:5ac1)
 	TX_FAR _Route14AfterBattleText3
 	db $50
 ; 0x55ac1 + 5 bytes
 
-Route14Text4: ; 0x55ac6
+Route14Text4: ; 55ac6 (15:5ac6)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText4: ; 0x55ad0
+Route14BattleText4: ; 55ad0 (15:5ad0)
 	TX_FAR _Route14BattleText4
 	db $50
 ; 0x55ad0 + 5 bytes
 
-Route14EndBattleText4: ; 0x55ad5
+Route14EndBattleText4: ; 55ad5 (15:5ad5)
 	TX_FAR _Route14EndBattleText4
 	db $50
 ; 0x55ad5 + 5 bytes
 
-Route14AfterBattleText4: ; 0x55ada
+Route14AfterBattleText4: ; 55ada (15:5ada)
 	TX_FAR _Route14AfterBattleText4
 	db $50
 ; 0x55ada + 5 bytes
 
-Route14Text5: ; 0x55adf
+Route14Text5: ; 55adf (15:5adf)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText5: ; 0x55ae9
+Route14BattleText5: ; 55ae9 (15:5ae9)
 	TX_FAR _Route14BattleText5
 	db $50
 ; 0x55ae9 + 5 bytes
 
-Route14EndBattleText5: ; 0x55aee
+Route14EndBattleText5: ; 55aee (15:5aee)
 	TX_FAR _Route14EndBattleText5
 	db $50
 ; 0x55aee + 5 bytes
 
-Route14AfterBattleText5: ; 0x55af3
+Route14AfterBattleText5: ; 55af3 (15:5af3)
 	TX_FAR _Route14AfterBattleText5
 	db $50
 ; 0x55af3 + 5 bytes
 
-Route14Text6: ; 0x55af8
+Route14Text6: ; 55af8 (15:5af8)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText6: ; 0x55b02
+Route14BattleText6: ; 55b02 (15:5b02)
 	TX_FAR _Route14BattleText6
 	db $50
 ; 0x55b02 + 5 bytes
 
-Route14EndBattleText6: ; 0x55b07
+Route14EndBattleText6: ; 55b07 (15:5b07)
 	TX_FAR _Route14EndBattleText6
 	db $50
 ; 0x55b07 + 5 bytes
 
-Route14AfterBattleText6: ; 0x55b0c
+Route14AfterBattleText6: ; 55b0c (15:5b0c)
 	TX_FAR _Route14AfterBattleText6
 	db $50
 ; 0x55b0c + 5 bytes
 
-Route14Text7: ; 0x55b11
+Route14Text7: ; 55b11 (15:5b11)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText7: ; 0x55b1b
+Route14BattleText7: ; 55b1b (15:5b1b)
 	TX_FAR _Route14BattleText7
 	db $50
 ; 0x55b1b + 5 bytes
 
-Route14EndBattleText7: ; 0x55b20
+Route14EndBattleText7: ; 55b20 (15:5b20)
 	TX_FAR _Route14EndBattleText7
 	db $50
 ; 0x55b20 + 5 bytes
 
-Route14AfterBattleText7: ; 0x55b25
+Route14AfterBattleText7: ; 55b25 (15:5b25)
 	TX_FAR _Route14AfterBattleText7
 	db $50
 ; 0x55b25 + 5 bytes
 
-Route14Text8: ; 0x55b2a
+Route14Text8: ; 55b2a (15:5b2a)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText8: ; 0x55b34
+Route14BattleText8: ; 55b34 (15:5b34)
 	TX_FAR _Route14BattleText8
 	db $50
 ; 0x55b34 + 5 bytes
 
-Route14EndBattleText8: ; 0x55b39
+Route14EndBattleText8: ; 55b39 (15:5b39)
 	TX_FAR _Route14EndBattleText8
 	db $50
 ; 0x55b39 + 5 bytes
 
-Route14AfterBattleText8: ; 0x55b3e
+Route14AfterBattleText8: ; 55b3e (15:5b3e)
 	TX_FAR _Route14AfterBattleText8
 	db $50
 ; 0x55b3e + 5 bytes
 
-Route14Text9: ; 0x55b43
+Route14Text9: ; 55b43 (15:5b43)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText9: ; 0x55b4d
+Route14BattleText9: ; 55b4d (15:5b4d)
 	TX_FAR _Route14BattleText9
 	db $50
 ; 0x55b4d + 5 bytes
 
-Route14EndBattleText9: ; 0x55b52
+Route14EndBattleText9: ; 55b52 (15:5b52)
 	TX_FAR _Route14EndBattleText9
 	db $50
 ; 0x55b52 + 5 bytes
 
-Route14AfterBattleText9: ; 0x55b57
+Route14AfterBattleText9: ; 55b57 (15:5b57)
 	TX_FAR _Route14AfterBattleText9
 	db $50
 ; 0x55b57 + 5 bytes
 
-Route14Text10: ; 0x55b5c
+Route14Text10: ; 55b5c (15:5b5c)
 	db $08 ; asm
 	ld hl, Route14TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route14BattleText10: ; 0x55b66
+Route14BattleText10: ; 55b66 (15:5b66)
 	TX_FAR _Route14BattleText10
 	db $50
 ; 0x55b66 + 5 bytes
 
-Route14EndBattleText10: ; 0x55b6b
+Route14EndBattleText10: ; 55b6b (15:5b6b)
 	TX_FAR _Route14EndBattleText10
 	db $50
 ; 0x55b6b + 5 bytes
 
-Route14AfterBattleText10: ; 0x55b70
+Route14AfterBattleText10: ; 55b70 (15:5b70)
 	TX_FAR _Route14AfterBattleText10
 	db $50
 ; 0x55b70 + 5 bytes
 
-Route14Text11: ; 0x55b75
+Route14Text11: ; 55b75 (15:5b75)
 	TX_FAR _Route14Text11
 	db $50
 
-Route17Script: ; 0x55b7a
+Route17Script: ; 55b7a (15:5b7a)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route17TrainerHeaders
 	ld de, Route17_Unknown55b8d
-	ld a, [$d61c]
-	call Func_3160
-	ld [$d61c], a
+	ld a, [W_ROUTE17CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE17CURSCRIPT], a
 	ret
 ; 0x55b8d
 
-Route17_Unknown55b8d: ; 0x55b8d
-INCBIN "baserom.gbc",$55b8d,$6
+Route17_Unknown55b8d: ; 55b8d (15:5b8d)
+INCBIN "baserom.gbc",$55b8d,$55b93 - $55b8d
 
-Route17Texts: ; 0x55b93
+Route17Texts: ; 55b93 (15:5b93)
 	dw Route17Text1, Route17Text2, Route17Text3, Route17Text4, Route17Text5, Route17Text6, Route17Text7, Route17Text8, Route17Text9, Route17Text10, Route17Text11, Route17Text12, Route17Text13, Route17Text14, Route17Text15, Route17Text16
 
-Route17TrainerHeaders:
-Route17TrainerHeader0: ; 0x55bb3
+Route17TrainerHeaders: ; 55bb3 (15:5bb3)
+Route17TrainerHeader0: ; 55bb3 (15:5bb3)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83259,7 +84115,7 @@
 	dw Route17EndBattleText1 ; 0x5c3b TextEndBattle
 ; 0x55bbf
 
-Route17TrainerHeader1: ; 0x55bbf
+Route17TrainerHeader1: ; 55bbf (15:5bbf)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83269,7 +84125,7 @@
 	dw Route17EndBattleText2 ; 0x5c54 TextEndBattle
 ; 0x55bcb
 
-Route17TrainerHeader2: ; 0x55bcb
+Route17TrainerHeader2: ; 55bcb (15:5bcb)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83279,7 +84135,7 @@
 	dw Route17EndBattleText3 ; 0x5c6d TextEndBattle
 ; 0x55bd7
 
-Route17TrainerHeader3: ; 0x55bd7
+Route17TrainerHeader3: ; 55bd7 (15:5bd7)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83289,7 +84145,7 @@
 	dw Route17EndBattleText4 ; 0x5c86 TextEndBattle
 ; 0x55be3
 
-Route17TrainerHeader4: ; 0x55be3
+Route17TrainerHeader4: ; 55be3 (15:5be3)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83299,7 +84155,7 @@
 	dw Route17EndBattleText5 ; 0x5c9f TextEndBattle
 ; 0x55bef
 
-Route17TrainerHeader5: ; 0x55bef
+Route17TrainerHeader5: ; 55bef (15:5bef)
 	db $6 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83309,7 +84165,7 @@
 	dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle
 ; 0x55bfb
 
-Route17TrainerHeader6: ; 0x55bfb
+Route17TrainerHeader6: ; 55bfb (15:5bfb)
 	db $7 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83319,7 +84175,7 @@
 	dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle
 ; 0x55c07
 
-Route17TrainerHeader7: ; 0x55c07
+Route17TrainerHeader7: ; 55c07 (15:5c07)
 	db $8 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83329,7 +84185,7 @@
 	dw Route17EndBattleText8 ; 0x5cea TextEndBattle
 ; 0x55c13
 
-Route17TrainerHeader8: ; 0x55c13
+Route17TrainerHeader8: ; 55c13 (15:5c13)
 	db $9 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83339,7 +84195,7 @@
 	dw Route17EndBattleText9 ; 0x5d03 TextEndBattle
 ; 0x55c1f
 
-Route17TrainerHeader9: ; 0x55c1f
+Route17TrainerHeader9: ; 55c1f (15:5c1f)
 	db $a ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e1 ; flag's byte
@@ -83351,258 +84207,258 @@
 
 db $ff
 
-Route17Text1: ; 0x55c2c
+Route17Text1: ; 55c2c (15:5c2c)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText1: ; 0x55c36
+Route17BattleText1: ; 55c36 (15:5c36)
 	TX_FAR _Route17BattleText1
 	db $50
 ; 0x55c36 + 5 bytes
 
-Route17EndBattleText1: ; 0x55c3b
+Route17EndBattleText1: ; 55c3b (15:5c3b)
 	TX_FAR _Route17EndBattleText1
 	db $50
 ; 0x55c3b + 5 bytes
 
-Route17AfterBattleText1: ; 0x55c40
+Route17AfterBattleText1: ; 55c40 (15:5c40)
 	TX_FAR _Route17AfterBattleText1
 	db $50
 ; 0x55c40 + 5 bytes
 
-Route17Text2: ; 0x55c45
+Route17Text2: ; 55c45 (15:5c45)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText2: ; 0x55c4f
+Route17BattleText2: ; 55c4f (15:5c4f)
 	TX_FAR _Route17BattleText2
 	db $50
 ; 0x55c4f + 5 bytes
 
-Route17EndBattleText2: ; 0x55c54
+Route17EndBattleText2: ; 55c54 (15:5c54)
 	TX_FAR _Route17EndBattleText2
 	db $50
 ; 0x55c54 + 5 bytes
 
-Route17AfterBattleText2: ; 0x55c59
+Route17AfterBattleText2: ; 55c59 (15:5c59)
 	TX_FAR _Route17AfterBattleText2
 	db $50
 ; 0x55c59 + 5 bytes
 
-Route17Text3: ; 0x55c5e
+Route17Text3: ; 55c5e (15:5c5e)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText3: ; 0x55c68
+Route17BattleText3: ; 55c68 (15:5c68)
 	TX_FAR _Route17BattleText3
 	db $50
 ; 0x55c68 + 5 bytes
 
-Route17EndBattleText3: ; 0x55c6d
+Route17EndBattleText3: ; 55c6d (15:5c6d)
 	TX_FAR _Route17EndBattleText3
 	db $50
 ; 0x55c6d + 5 bytes
 
-Route17AfterBattleText3: ; 0x55c72
+Route17AfterBattleText3: ; 55c72 (15:5c72)
 	TX_FAR _Route17AfterBattleText3
 	db $50
 ; 0x55c72 + 5 bytes
 
-Route17Text4: ; 0x55c77
+Route17Text4: ; 55c77 (15:5c77)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText4: ; 0x55c81
+Route17BattleText4: ; 55c81 (15:5c81)
 	TX_FAR _Route17BattleText4
 	db $50
 ; 0x55c81 + 5 bytes
 
-Route17EndBattleText4: ; 0x55c86
+Route17EndBattleText4: ; 55c86 (15:5c86)
 	TX_FAR _Route17EndBattleText4
 	db $50
 ; 0x55c86 + 5 bytes
 
-Route17AfterBattleText4: ; 0x55c8b
+Route17AfterBattleText4: ; 55c8b (15:5c8b)
 	TX_FAR _Route17AfterBattleText4
 	db $50
 ; 0x55c8b + 5 bytes
 
-Route17Text5: ; 0x55c90
+Route17Text5: ; 55c90 (15:5c90)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText5: ; 0x55c9a
+Route17BattleText5: ; 55c9a (15:5c9a)
 	TX_FAR _Route17BattleText5
 	db $50
 ; 0x55c9a + 5 bytes
 
-Route17EndBattleText5: ; 0x55c9f
+Route17EndBattleText5: ; 55c9f (15:5c9f)
 	TX_FAR _Route17EndBattleText5
 	db $50
 ; 0x55c9f + 5 bytes
 
-Route17AfterBattleText5: ; 0x55ca4
+Route17AfterBattleText5: ; 55ca4 (15:5ca4)
 	TX_FAR _Route17AfterBattleText5
 	db $50
 ; 0x55ca4 + 5 bytes
 
-Route17Text6: ; 0x55ca9
+Route17Text6: ; 55ca9 (15:5ca9)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText6: ; 0x55cb3
+Route17BattleText6: ; 55cb3 (15:5cb3)
 	TX_FAR _Route17BattleText6
 	db $50
 ; 0x55cb3 + 5 bytes
 
-Route17EndBattleText6: ; 0x55cb8
+Route17EndBattleText6: ; 55cb8 (15:5cb8)
 	TX_FAR _Route17EndBattleText6
 	db $50
 ; 0x55cb8 + 5 bytes
 
-Route17AfterBattleText6: ; 0x55cbd
+Route17AfterBattleText6: ; 55cbd (15:5cbd)
 	TX_FAR _Route17AfterBattleText6
 	db $50
 ; 0x55cbd + 5 bytes
 
-Route17Text7: ; 0x55cc2
+Route17Text7: ; 55cc2 (15:5cc2)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText7: ; 0x55ccc
+Route17BattleText7: ; 55ccc (15:5ccc)
 	TX_FAR _Route17BattleText7
 	db $50
 ; 0x55ccc + 5 bytes
 
-Route17EndBattleText7: ; 0x55cd1
+Route17EndBattleText7: ; 55cd1 (15:5cd1)
 	TX_FAR _Route17EndBattleText7
 	db $50
 ; 0x55cd1 + 5 bytes
 
-Route17AfterBattleText7: ; 0x55cd6
+Route17AfterBattleText7: ; 55cd6 (15:5cd6)
 	TX_FAR _Route17AfterBattleText7
 	db $50
 ; 0x55cd6 + 5 bytes
 
-Route17Text8: ; 0x55cdb
+Route17Text8: ; 55cdb (15:5cdb)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText8: ; 0x55ce5
+Route17BattleText8: ; 55ce5 (15:5ce5)
 	TX_FAR _Route17BattleText8
 	db $50
 ; 0x55ce5 + 5 bytes
 
-Route17EndBattleText8: ; 0x55cea
+Route17EndBattleText8: ; 55cea (15:5cea)
 	TX_FAR _Route17EndBattleText8
 	db $50
 ; 0x55cea + 5 bytes
 
-Route17AfterBattleText8: ; 0x55cef
+Route17AfterBattleText8: ; 55cef (15:5cef)
 	TX_FAR _Route17AfterBattleText8
 	db $50
 ; 0x55cef + 5 bytes
 
-Route17Text9: ; 0x55cf4
+Route17Text9: ; 55cf4 (15:5cf4)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText9: ; 0x55cfe
+Route17BattleText9: ; 55cfe (15:5cfe)
 	TX_FAR _Route17BattleText9
 	db $50
 ; 0x55cfe + 5 bytes
 
-Route17EndBattleText9: ; 0x55d03
+Route17EndBattleText9: ; 55d03 (15:5d03)
 	TX_FAR _Route17EndBattleText9
 	db $50
 ; 0x55d03 + 5 bytes
 
-Route17AfterBattleText9: ; 0x55d08
+Route17AfterBattleText9: ; 55d08 (15:5d08)
 	TX_FAR _Route17AfterBattleText9
 	db $50
 ; 0x55d08 + 5 bytes
 
-Route17Text10: ; 0x55d0d
+Route17Text10: ; 55d0d (15:5d0d)
 	db $08 ; asm
 	ld hl, Route17TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route17BattleText10: ; 0x55d17
+Route17BattleText10: ; 55d17 (15:5d17)
 	TX_FAR _Route17BattleText10
 	db $50
 ; 0x55d17 + 5 bytes
 
-Route17EndBattleText10: ; 0x55d1c
+Route17EndBattleText10: ; 55d1c (15:5d1c)
 	TX_FAR _Route17EndBattleText10
 	db $50
 ; 0x55d1c + 5 bytes
 
-Route17AfterBattleText10: ; 0x55d21
+Route17AfterBattleText10: ; 55d21 (15:5d21)
 	TX_FAR _Route17AfterBattleText10
 	db $50
 ; 0x55d21 + 5 bytes
 
-Route17Text11: ; 0x55d26
+Route17Text11: ; 55d26 (15:5d26)
 	TX_FAR _Route17Text11
 	db $50
 
-Route17Text12: ; 0x55d2b
+Route17Text12: ; 55d2b (15:5d2b)
 	TX_FAR _Route17Text12
 	db $50
 
-Route17Text13: ; 0x55d30
+Route17Text13: ; 55d30 (15:5d30)
 	TX_FAR _Route17Text13
 	db $50
 
-Route17Text14: ; 0x55d35
+Route17Text14: ; 55d35 (15:5d35)
 	TX_FAR _Route17Text14
 	db $50
 
-Route17Text15: ; 0x55d3a
+Route17Text15: ; 55d3a (15:5d3a)
 	TX_FAR _Route17Text15
 	db $50
 
-Route17Text16: ; 0x55d3f
+Route17Text16: ; 55d3f (15:5d3f)
 	TX_FAR _Route17Text16
 	db $50
 
-Route19Script: ; 0x55d44
+Route19Script: ; 55d44 (15:5d44)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route19TrainerHeaders
 	ld de, Route19_Unknown55d57
-	ld a, [$d61d]
-	call Func_3160
-	ld [$d61d], a
+	ld a, [W_ROUTE19CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE19CURSCRIPT], a
 	ret
 ; 0x55d57
 
-Route19_Unknown55d57: ; 0x55d57
-INCBIN "baserom.gbc",$55d57,$6
+Route19_Unknown55d57: ; 55d57 (15:5d57)
+INCBIN "baserom.gbc",$55d57,$55d5d - $55d57
 
-Route19Texts: ; 0x55d5d
+Route19Texts: ; 55d5d (15:5d5d)
 	dw Route19Text1, Route19Text2, Route19Text3, Route19Text4, Route19Text5, Route19Text6, Route19Text7, Route19Text8, Route19Text9, Route19Text10, Route19Text11
 
-Route19TrainerHeaders:
-Route19TrainerHeader0: ; 0x55d73
+Route19TrainerHeaders: ; 55d73 (15:5d73)
+Route19TrainerHeader0: ; 55d73 (15:5d73)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83612,7 +84468,7 @@
 	dw Route19EndBattleText1 ; 0x5e55 TextEndBattle
 ; 0x55d7f
 
-Route19TrainerHeader1: ; 0x55d7f
+Route19TrainerHeader1: ; 55d7f (15:5d7f)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83622,7 +84478,7 @@
 	dw Route19EndBattleText2 ; 0x5e64 TextEndBattle
 ; 0x55d8b
 
-Route19TrainerHeader2: ; 0x55d8b
+Route19TrainerHeader2: ; 55d8b (15:5d8b)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83632,7 +84488,7 @@
 	dw Route19EndBattleText3 ; 0x5e73 TextEndBattle
 ; 0x55d97
 
-Route19TrainerHeader3: ; 0x55d97
+Route19TrainerHeader3: ; 55d97 (15:5d97)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83642,7 +84498,7 @@
 	dw Route19EndBattleText4 ; 0x5e82 TextEndBattle
 ; 0x55da3
 
-Route19TrainerHeader4: ; 0x55da3
+Route19TrainerHeader4: ; 55da3 (15:5da3)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83652,7 +84508,7 @@
 	dw Route19EndBattleText5 ; 0x5e91 TextEndBattle
 ; 0x55daf
 
-Route19TrainerHeader5: ; 0x55daf
+Route19TrainerHeader5: ; 55daf (15:5daf)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83662,7 +84518,7 @@
 	dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle
 ; 0x55dbb
 
-Route19TrainerHeader6: ; 0x55dbb
+Route19TrainerHeader6: ; 55dbb (15:5dbb)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83672,7 +84528,7 @@
 	dw Route19EndBattleText7 ; 0x5eaf TextEndBattle
 ; 0x55dc7
 
-Route19TrainerHeader7: ; 0x55dc7
+Route19TrainerHeader7: ; 55dc7 (15:5dc7)
 	db $8 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83682,7 +84538,7 @@
 	dw Route19EndBattleText8 ; 0x5ebe TextEndBattle
 ; 0x55dd3
 
-Route19TrainerHeader8: ; 0x55dd3
+Route19TrainerHeader8: ; 55dd3 (15:5dd3)
 	db $9 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83692,7 +84548,7 @@
 	dw Route19EndBattleText9 ; 0x5ecd TextEndBattle
 ; 0x55ddf
 
-Route19TrainerHeader9: ; 0x55ddf
+Route19TrainerHeader9: ; 55ddf (15:5ddf)
 	db $a ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e5 ; flag's byte
@@ -83704,238 +84560,238 @@
 
 db $ff
 
-Route19Text1: ; 0x55dec
+Route19Text1: ; 55dec (15:5dec)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text2: ; 0x55df6
+Route19Text2: ; 55df6 (15:5df6)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text3: ; 0x55e00
+Route19Text3: ; 55e00 (15:5e00)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text4: ; 0x55e0a
+Route19Text4: ; 55e0a (15:5e0a)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text5: ; 0x55e14
+Route19Text5: ; 55e14 (15:5e14)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text6: ; 0x55e1e
+Route19Text6: ; 55e1e (15:5e1e)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text7: ; 0x55e28
+Route19Text7: ; 55e28 (15:5e28)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text8: ; 0x55e32
+Route19Text8: ; 55e32 (15:5e32)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text9: ; 0x55e3c
+Route19Text9: ; 55e3c (15:5e3c)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19Text10: ; 0x55e46
+Route19Text10: ; 55e46 (15:5e46)
 	db $08 ; asm
 	ld hl, Route19TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route19BattleText1: ; 0x55e50
+Route19BattleText1: ; 55e50 (15:5e50)
 	TX_FAR _Route19BattleText1
 	db $50
 ; 0x55e50 + 5 bytes
 
-Route19EndBattleText1: ; 0x55e55
+Route19EndBattleText1: ; 55e55 (15:5e55)
 	TX_FAR _Route19EndBattleText1
 	db $50
 ; 0x55e55 + 5 bytes
 
-Route19AfterBattleText1: ; 0x55e5a
+Route19AfterBattleText1: ; 55e5a (15:5e5a)
 	TX_FAR _Route19AfterBattleText1
 	db $50
 ; 0x55e5a + 5 bytes
 
-Route19BattleText2: ; 0x55e5f
+Route19BattleText2: ; 55e5f (15:5e5f)
 	TX_FAR _Route19BattleText2
 	db $50
 ; 0x55e5f + 5 bytes
 
-Route19EndBattleText2: ; 0x55e64
+Route19EndBattleText2: ; 55e64 (15:5e64)
 	TX_FAR _Route19EndBattleText2
 	db $50
 ; 0x55e64 + 5 bytes
 
-Route19AfterBattleText2: ; 0x55e69
+Route19AfterBattleText2: ; 55e69 (15:5e69)
 	TX_FAR _Route19AfterBattleText2
 	db $50
 ; 0x55e69 + 5 bytes
 
-Route19BattleText3: ; 0x55e6e
+Route19BattleText3: ; 55e6e (15:5e6e)
 	TX_FAR _Route19BattleText3
 	db $50
 ; 0x55e6e + 5 bytes
 
-Route19EndBattleText3: ; 0x55e73
+Route19EndBattleText3: ; 55e73 (15:5e73)
 	TX_FAR _Route19EndBattleText3
 	db $50
 ; 0x55e73 + 5 bytes
 
-Route19AfterBattleText3: ; 0x55e78
+Route19AfterBattleText3: ; 55e78 (15:5e78)
 	TX_FAR _Route19AfterBattleText3
 	db $50
 ; 0x55e78 + 5 bytes
 
-Route19BattleText4: ; 0x55e7d
+Route19BattleText4: ; 55e7d (15:5e7d)
 	TX_FAR _Route19BattleText4
 	db $50
 ; 0x55e7d + 5 bytes
 
-Route19EndBattleText4: ; 0x55e82
+Route19EndBattleText4: ; 55e82 (15:5e82)
 	TX_FAR _Route19EndBattleText4
 	db $50
 ; 0x55e82 + 5 bytes
 
-Route19AfterBattleText4: ; 0x55e87
+Route19AfterBattleText4: ; 55e87 (15:5e87)
 	TX_FAR _Route19AfterBattleText4
 	db $50
 ; 0x55e87 + 5 bytes
 
-Route19BattleText5: ; 0x55e8c
+Route19BattleText5: ; 55e8c (15:5e8c)
 	TX_FAR _Route19BattleText5
 	db $50
 ; 0x55e8c + 5 bytes
 
-Route19EndBattleText5: ; 0x55e91
+Route19EndBattleText5: ; 55e91 (15:5e91)
 	TX_FAR _Route19EndBattleText5
 	db $50
 ; 0x55e91 + 5 bytes
 
-Route19AfterBattleText5: ; 0x55e96
+Route19AfterBattleText5: ; 55e96 (15:5e96)
 	TX_FAR _Route19AfterBattleText5
 	db $50
 ; 0x55e96 + 5 bytes
 
-Route19BattleText6: ; 0x55e9b
+Route19BattleText6: ; 55e9b (15:5e9b)
 	TX_FAR _Route19BattleText6
 	db $50
 ; 0x55e9b + 5 bytes
 
-Route19EndBattleText6: ; 0x55ea0
+Route19EndBattleText6: ; 55ea0 (15:5ea0)
 	TX_FAR _Route19EndBattleText6
 	db $50
 ; 0x55ea0 + 5 bytes
 
-Route19AfterBattleText6: ; 0x55ea5
+Route19AfterBattleText6: ; 55ea5 (15:5ea5)
 	TX_FAR _Route19AfterBattleText6
 	db $50
 ; 0x55ea5 + 5 bytes
 
-Route19BattleText7: ; 0x55eaa
+Route19BattleText7: ; 55eaa (15:5eaa)
 	TX_FAR _Route19BattleText7
 	db $50
 ; 0x55eaa + 5 bytes
 
-Route19EndBattleText7: ; 0x55eaf
+Route19EndBattleText7: ; 55eaf (15:5eaf)
 	TX_FAR _Route19EndBattleText7
 	db $50
 ; 0x55eaf + 5 bytes
 
-Route19AfterBattleText7: ; 0x55eb4
+Route19AfterBattleText7: ; 55eb4 (15:5eb4)
 	TX_FAR _Route19AfterBattleText7
 	db $50
 ; 0x55eb4 + 5 bytes
 
-Route19BattleText8: ; 0x55eb9
+Route19BattleText8: ; 55eb9 (15:5eb9)
 	TX_FAR _Route19BattleText8
 	db $50
 ; 0x55eb9 + 5 bytes
 
-Route19EndBattleText8: ; 0x55ebe
+Route19EndBattleText8: ; 55ebe (15:5ebe)
 	TX_FAR _Route19EndBattleText8
 	db $50
 ; 0x55ebe + 5 bytes
 
-Route19AfterBattleText8: ; 0x55ec3
+Route19AfterBattleText8: ; 55ec3 (15:5ec3)
 	TX_FAR _Route19AfterBattleText8
 	db $50
 ; 0x55ec3 + 5 bytes
 
-Route19BattleText9: ; 0x55ec8
+Route19BattleText9: ; 55ec8 (15:5ec8)
 	TX_FAR _Route19BattleText9
 	db $50
 ; 0x55ec8 + 5 bytes
 
-Route19EndBattleText9: ; 0x55ecd
+Route19EndBattleText9: ; 55ecd (15:5ecd)
 	TX_FAR _Route19EndBattleText9
 	db $50
 ; 0x55ecd + 5 bytes
 
-Route19AfterBattleText9: ; 0x55ed2
+Route19AfterBattleText9: ; 55ed2 (15:5ed2)
 	TX_FAR _Route19AfterBattleText9
 	db $50
 ; 0x55ed2 + 5 bytes
 
-Route19BattleText10: ; 0x55ed7
+Route19BattleText10: ; 55ed7 (15:5ed7)
 	TX_FAR _Route19BattleText10
 	db $50
 ; 0x55ed7 + 5 bytes
 
-Route19EndBattleText10: ; 0x55edc
+Route19EndBattleText10: ; 55edc (15:5edc)
 	TX_FAR _Route19EndBattleText10
 	db $50
 ; 0x55edc + 5 bytes
 
-Route19AfterBattleText10: ; 0x55ee1
+Route19AfterBattleText10: ; 55ee1 (15:5ee1)
 	TX_FAR _Route19AfterBattleText10
 	db $50
 ; 0x55ee1 + 5 bytes
 
-Route19Text11: ; 0x55ee6
+Route19Text11: ; 55ee6 (15:5ee6)
 	TX_FAR _Route19Text11
 	db $50
 
-Route21Script: ; 0x55eeb
+Route21Script: ; 55eeb (15:5eeb)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route21TrainerHeaders
 	ld de, Route21_Unknown55efe
-	ld a, [$d61e]
-	call Func_3160
-	ld [$d61e], a
+	ld a, [W_ROUTE21CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE21CURSCRIPT], a
 	ret
 ; 0x55efe
 
-Route21_Unknown55efe: ; 0x55efe
-INCBIN "baserom.gbc",$55efe,$6
+Route21_Unknown55efe: ; 55efe (15:5efe)
+INCBIN "baserom.gbc",$55efe,$55f04 - $55efe
 
-Route21Texts: ; 0x55f04
+Route21Texts: ; 55f04 (15:5f04)
 	dw Route21Text1, Route21Text2, Route21Text3, Route21Text4, Route21Text5, Route21Text6, Route21Text7, Route21Text8, Route21Text9
 
-Route21TrainerHeaders:
-Route21TrainerHeader0: ; 0x55f16
+Route21TrainerHeaders: ; 55f16 (15:5f16)
+Route21TrainerHeader0: ; 55f16 (15:5f16)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -83945,7 +84801,7 @@
 	dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle
 ; 0x55f22
 
-Route21TrainerHeader1: ; 0x55f22
+Route21TrainerHeader1: ; 55f22 (15:5f22)
 	db $2 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -83955,7 +84811,7 @@
 	dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle
 ; 0x55f2e
 
-Route21TrainerHeader2: ; 0x55f2e
+Route21TrainerHeader2: ; 55f2e (15:5f2e)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -83965,7 +84821,7 @@
 	dw Route21EndBattleText3 ; 0x6000 TextEndBattle
 ; 0x55f3a
 
-Route21TrainerHeader3: ; 0x55f3a
+Route21TrainerHeader3: ; 55f3a (15:5f3a)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -83975,7 +84831,7 @@
 	dw Route21EndBattleText4 ; 0x600f TextEndBattle
 ; 0x55f46
 
-Route21TrainerHeader4: ; 0x55f46
+Route21TrainerHeader4: ; 55f46 (15:5f46)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -83985,7 +84841,7 @@
 	dw Route21EndBattleText5 ; 0x601e TextEndBattle
 ; 0x55f52
 
-Route21TrainerHeader5: ; 0x55f52
+Route21TrainerHeader5: ; 55f52 (15:5f52)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -83995,7 +84851,7 @@
 	dw Route21EndBattleText6 ; 0x602d TextEndBattle
 ; 0x55f5e
 
-Route21TrainerHeader6: ; 0x55f5e
+Route21TrainerHeader6: ; 55f5e (15:5f5e)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -84005,7 +84861,7 @@
 	dw Route21EndBattleText7 ; 0x603c TextEndBattle
 ; 0x55f6a
 
-Route21TrainerHeader7: ; 0x55f6a
+Route21TrainerHeader7: ; 55f6a (15:5f6a)
 	db $8 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -84015,7 +84871,7 @@
 	dw Route21EndBattleText8 ; 0x604b TextEndBattle
 ; 0x55f76
 
-Route21TrainerHeader8: ; 0x55f76
+Route21TrainerHeader8: ; 55f76 (15:5f76)
 	db $9 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7e9 ; flag's byte
@@ -84027,191 +84883,191 @@
 
 db $ff
 
-Route21Text1: ; 0x55f83
+Route21Text1: ; 55f83 (15:5f83)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text2: ; 0x55f8d
+Route21Text2: ; 55f8d (15:5f8d)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text3: ; 0x55f97
+Route21Text3: ; 55f97 (15:5f97)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text4: ; 0x55fa1
+Route21Text4: ; 55fa1 (15:5fa1)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text5: ; 0x55fab
+Route21Text5: ; 55fab (15:5fab)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text6: ; 0x55fb5
+Route21Text6: ; 55fb5 (15:5fb5)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text7: ; 0x55fbf
+Route21Text7: ; 55fbf (15:5fbf)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text8: ; 0x55fc9
+Route21Text8: ; 55fc9 (15:5fc9)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21Text9: ; 0x55fd3
+Route21Text9: ; 55fd3 (15:5fd3)
 	db $08 ; asm
 	ld hl, Route21TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route21BattleText1: ; 0x55fdd
+Route21BattleText1: ; 55fdd (15:5fdd)
 	TX_FAR _Route21BattleText1
 	db $50
 ; 0x55fdd + 5 bytes
 
-Route21EndBattleText1: ; 0x55fe2
+Route21EndBattleText1: ; 55fe2 (15:5fe2)
 	TX_FAR _Route21EndBattleText1
 	db $50
 ; 0x55fe2 + 5 bytes
 
-Route21AfterBattleText1: ; 0x55fe7
+Route21AfterBattleText1: ; 55fe7 (15:5fe7)
 	TX_FAR _Route21AfterBattleText1
 	db $50
 ; 0x55fe7 + 5 bytes
 
-Route21BattleText2: ; 0x55fec
+Route21BattleText2: ; 55fec (15:5fec)
 	TX_FAR _Route21BattleText2
 	db $50
 ; 0x55fec + 5 bytes
 
-Route21EndBattleText2: ; 0x55ff1
+Route21EndBattleText2: ; 55ff1 (15:5ff1)
 	TX_FAR _Route21EndBattleText2
 	db $50
 ; 0x55ff1 + 5 bytes
 
-Route21AfterBattleText2: ; 0x55ff6
+Route21AfterBattleText2: ; 55ff6 (15:5ff6)
 	TX_FAR _Route21AfterBattleText2
 	db $50
 ; 0x55ff6 + 5 bytes
 
-Route21BattleText3: ; 0x55ffb
+Route21BattleText3: ; 55ffb (15:5ffb)
 	TX_FAR _Route21BattleText3
 	db $50
 ; 0x55ffb + 5 bytes
 
-Route21EndBattleText3: ; 0x56000
+Route21EndBattleText3: ; 56000 (15:6000)
 	TX_FAR _Route21EndBattleText3
 	db $50
 ; 0x56000 + 5 bytes
 
-Route21AfterBattleText3: ; 0x56005
+Route21AfterBattleText3: ; 56005 (15:6005)
 	TX_FAR _Route21AfterBattleText3
 	db $50
 ; 0x56005 + 5 bytes
 
-Route21BattleText4: ; 0x5600a
+Route21BattleText4: ; 5600a (15:600a)
 	TX_FAR _Route21BattleText4
 	db $50
 ; 0x5600a + 5 bytes
 
-Route21EndBattleText4: ; 0x5600f
+Route21EndBattleText4: ; 5600f (15:600f)
 	TX_FAR _Route21EndBattleText4
 	db $50
 ; 0x5600f + 5 bytes
 
-Route21AfterBattleText4: ; 0x56014
+Route21AfterBattleText4: ; 56014 (15:6014)
 	TX_FAR _Route21AfterBattleText4
 	db $50
 ; 0x56014 + 5 bytes
 
-Route21BattleText5: ; 0x56019
+Route21BattleText5: ; 56019 (15:6019)
 	TX_FAR _Route21BattleText5
 	db $50
 ; 0x56019 + 5 bytes
 
-Route21EndBattleText5: ; 0x5601e
+Route21EndBattleText5: ; 5601e (15:601e)
 	TX_FAR _Route21EndBattleText5
 	db $50
 ; 0x5601e + 5 bytes
 
-Route21AfterBattleText5: ; 0x56023
+Route21AfterBattleText5: ; 56023 (15:6023)
 	TX_FAR _Route21AfterBattleText5
 	db $50
 ; 0x56023 + 5 bytes
 
-Route21BattleText6: ; 0x56028
+Route21BattleText6: ; 56028 (15:6028)
 	TX_FAR _Route21BattleText6
 	db $50
 ; 0x56028 + 5 bytes
 
-Route21EndBattleText6: ; 0x5602d
+Route21EndBattleText6: ; 5602d (15:602d)
 	TX_FAR _Route21EndBattleText6
 	db $50
 ; 0x5602d + 5 bytes
 
-Route21AfterBattleText6: ; 0x56032
+Route21AfterBattleText6: ; 56032 (15:6032)
 	TX_FAR _Route21AfterBattleText6
 	db $50
 ; 0x56032 + 5 bytes
 
-Route21BattleText7: ; 0x56037
+Route21BattleText7: ; 56037 (15:6037)
 	TX_FAR _Route21BattleText7
 	db $50
 ; 0x56037 + 5 bytes
 
-Route21EndBattleText7: ; 0x5603c
+Route21EndBattleText7: ; 5603c (15:603c)
 	TX_FAR _Route21EndBattleText7
 	db $50
 ; 0x5603c + 5 bytes
 
-Route21AfterBattleText7: ; 0x56041
+Route21AfterBattleText7: ; 56041 (15:6041)
 	TX_FAR _Route21AfterBattleText7
 	db $50
 ; 0x56041 + 5 bytes
 
-Route21BattleText8: ; 0x56046
+Route21BattleText8: ; 56046 (15:6046)
 	TX_FAR _Route21BattleText8
 	db $50
 ; 0x56046 + 5 bytes
 
-Route21EndBattleText8: ; 0x5604b
+Route21EndBattleText8: ; 5604b (15:604b)
 	TX_FAR _Route21EndBattleText8
 	db $50
 ; 0x5604b + 5 bytes
 
-Route21AfterBattleText8: ; 0x56050
+Route21AfterBattleText8: ; 56050 (15:6050)
 	TX_FAR _Route21AfterBattleText8
 	db $50
 ; 0x56050 + 5 bytes
 
-Route21BattleText9: ; 0x56055
+Route21BattleText9: ; 56055 (15:6055)
 	TX_FAR _Route21BattleText9
 	db $50
 ; 0x56055 + 5 bytes
 
-Route21EndBattleText9: ; 0x5605a
+Route21EndBattleText9: ; 5605a (15:605a)
 	TX_FAR _Route21EndBattleText9
 	db $50
 ; 0x5605a + 5 bytes
 
-Route21AfterBattleText9: ; 0x5605f
+Route21AfterBattleText9: ; 5605f (15:605f)
 	TX_FAR _Route21AfterBattleText9
 	db $50
 ; 0x5605f + 5 bytes
@@ -84224,14 +85080,14 @@
 
 	dw VermilionHouse2Object ; objects
 
-VermilionHouse2Script: ; 0x56070
+VermilionHouse2Script: ; 56070 (15:6070)
 	jp EnableAutoTextBoxDrawing
 ; 0x56073
 
-VermilionHouse2Texts: ; 0x56073
+VermilionHouse2Texts: ; 56073 (15:6073)
 	dw VermilionHouse2Text1
 
-VermilionHouse2Text1: ; 0x56075
+VermilionHouse2Text1: ; 56075 (15:6075)
 	db $08 ; asm
 	ld a, [$d728]
 	bit 3, a
@@ -84238,7 +85094,7 @@
 	jr nz, asm_03ef5 ; 0x5607b
 	ld hl, UnnamedText_560b1
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, asm_eb1b7 ; 0x5608a
@@ -84261,12 +85117,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_560b1: ; 0x560b1
+UnnamedText_560b1: ; 560b1 (15:60b1)
 	TX_FAR _UnnamedText_560b1
 	db $50
 ; 0x560b1 + 5 bytes
 
-UnnamedText_560b6: ; 0x560b6
+UnnamedText_560b6: ; 560b6 (15:60b6)
 	TX_FAR _UnnamedText_560b6 ; 0x9c554
 	db $0B
 	TX_FAR _UnnamedText_560bb ; 0x9c5a4
@@ -84273,17 +85129,17 @@
 	db $50
 ; 0x560c0
 
-UnnamedText_560c0: ; 0x560c0
+UnnamedText_560c0: ; 560c0 (15:60c0)
 	TX_FAR _UnnamedText_560c0
 	db $50
 ; 0x560c0 + 5 bytes
 
-UnnamedText_560c5: ; 0x560c5
+UnnamedText_560c5: ; 560c5 (15:60c5)
 	TX_FAR _UnnamedText_560c5
 	db $50
 ; 0x560c5 + 5 bytes
 
-UnnamedText_560ca: ; 0x560ca
+UnnamedText_560ca: ; 560ca (15:60ca)
 	TX_FAR _UnnamedText_560ca
 	db $50
 ; 0x560ca + 5 bytes
@@ -84312,22 +85168,22 @@
 
 	dw CeladonMart2Object ; objects
 
-CeladonMart2Script: ; 0x560f5
+CeladonMart2Script: ; 560f5 (15:60f5)
 	jp EnableAutoTextBoxDrawing
 ; 0x560f8
 
-CeladonMart2Texts: ; 0x560f8
+CeladonMart2Texts: ; 560f8 (15:60f8)
 	dw CeladonMart2Text1, CeladonMart2Text2, CeladonMart2Text3, CeladonMart2Text4, CeladonMart2Text5
 
-CeladonMart2Text3: ; 0x56102
+CeladonMart2Text3: ; 56102 (15:6102)
 	TX_FAR _CeladonMart2Text3
 	db $50
 
-CeladonMart2Text4: ; 0x56107
+CeladonMart2Text4: ; 56107 (15:6107)
 	TX_FAR _CeladonMart2Text4
 	db $50
 
-CeladonMart2Text5: ; 0x5610c
+CeladonMart2Text5: ; 5610c (15:610c)
 	TX_FAR _CeladonMart2Text5
 	db $50
 
@@ -84353,7 +85209,7 @@
 	EVENT_DISP $a, $1, $10 ; CELADON_MART_3
 	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
 
-CeladonMart2Blocks: ; 0x56148 40
+CeladonMart2Blocks: ; 56148 (15:6148)
 	INCBIN "maps/celadonmart2.blk"
 
 FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164)
@@ -84364,14 +85220,14 @@
 
 	dw FuchsiaHouse3Object ; objects
 
-FuchsiaHouse3Script: ; 0x5617c
+FuchsiaHouse3Script: ; 5617c (15:617c)
 	jp EnableAutoTextBoxDrawing
 ; 0x5617f
 
-FuchsiaHouse3Texts: ; 0x5617f
+FuchsiaHouse3Texts: ; 5617f (15:617f)
 	dw FuchsiaHouse3Text1
 
-FuchsiaHouse3Text1: ; 0x56181
+FuchsiaHouse3Text1: ; 56181 (15:6181)
 	db $08 ; asm
 	ld a, [$d728]
 	bit 4, a
@@ -84378,7 +85234,7 @@
 	jr nz, asm_6084e ; 0x56187
 	ld hl, UnnamedText_561bd
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, asm_3ace4 ; 0x56196
@@ -84401,12 +85257,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_561bd: ; 0x561bd
+UnnamedText_561bd: ; 561bd (15:61bd)
 	TX_FAR _UnnamedText_561bd
 	db $50
 ; 0x561bd + 5 bytes
 
-UnnamedText_561c2: ; 0x561c2
+UnnamedText_561c2: ; 561c2 (15:61c2)
 	TX_FAR _UnnamedText_561c2 ; 0xa06e8
 	db $0B, $50
 ; 0x561c8
@@ -84413,17 +85269,17 @@
 
 INCBIN "baserom.gbc",$561c8,$56212 - $561c8
 
-UnnamedText_56212: ; 0x56212
+UnnamedText_56212: ; 56212 (15:6212)
 	TX_FAR _UnnamedText_56212
 	db $50
 ; 0x56212 + 5 bytes
 
-UnnamedText_56217: ; 0x56217
+UnnamedText_56217: ; 56217 (15:6217)
 	TX_FAR _UnnamedText_56217
 	db $50
 ; 0x56217 + 5 bytes
 
-UnnamedText_5621c: ; 0x5621c
+UnnamedText_5621c: ; 5621c (15:621c)
 	TX_FAR _UnnamedText_5621c
 	db $50
 ; 0x5621c + 5 bytes
@@ -84454,22 +85310,22 @@
 
 	dw DayCareMObject ; objects
 
-DayCareMScript: ; 0x5624f
+DayCareMScript: ; 5624f (15:624f)
 	jp EnableAutoTextBoxDrawing
 ; 0x56252
 
-DayCareMTexts: ; 0x56252
+DayCareMTexts: ; 56252 (15:6252)
 	dw DayCareMText1
 
-DayCareMText1: ; 0x56254
+DayCareMText1: ; 56254 (15:6254)
 	db $8
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld a, [$da48]
 	and a
 	jp nz, Unnamed_562e1
 	ld hl, UnnamedText_5640f
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	ld hl, UnnamedText_5643b
@@ -84518,82 +85374,82 @@
 	jp Unnamed_56409
 ; 0x562e1
 
-Unnamed_562e1:
+Unnamed_562e1: ; 562e1 (15:62e1)
 INCBIN "baserom.gbc",$562e1,$56409 - $562e1
 
-Unnamed_56409: ; 0x56409
+Unnamed_56409: ; 56409 (15:6409)
 	call PrintText
 	jp TextScriptEnd
 ; 0x5640f
 
-UnnamedText_5640f: ; 0x5640f
+UnnamedText_5640f: ; 5640f (15:640f)
 	TX_FAR _UnnamedText_5640f
 	db $50
 ; 0x5640f + 5 bytes
 
-UnnamedText_56414: ; 0x56414
+UnnamedText_56414: ; 56414 (15:6414)
 	TX_FAR _UnnamedText_56414
 	db $50
 ; 0x56414 + 5 bytes
 
-UnnamedText_56419: ; 0x56419
+UnnamedText_56419: ; 56419 (15:6419)
 	TX_FAR _UnnamedText_56419
 	db $50
 ; 0x56419 + 5 bytes
 
-UnnamedText_5641e: ; 0x5641e
+UnnamedText_5641e: ; 5641e (15:641e)
 	TX_FAR _UnnamedText_5641e
 	db $50
 ; 0x5641e + 5 bytes
 
-UnnamedText_56423: ; 0x56423
+UnnamedText_56423: ; 56423 (15:6423)
 	TX_FAR _UnnamedText_56423
 	db $50
 ; 0x56423 + 5 bytes
 
-UnnamedText_56428: ; 0x56428
+UnnamedText_56428: ; 56428 (15:6428)
 	TX_FAR _UnnamedText_56428
 	db $50
 ; 0x56428 + 5 bytes
 
-UnnamedText_5642d: ; 0x5642d
+UnnamedText_5642d: ; 5642d (15:642d)
 	TX_FAR _UnnamedText_5642d
 	db $50
 ; 0x5642d + 5 bytes
 
-UnnamedText_56432: ; 0x56432
+UnnamedText_56432: ; 56432 (15:6432)
 	TX_FAR _UnnamedText_56432
 	db $50
 ; 0x56432 + 5 bytes
 
-UnnamedText_56437: ; 0x56437
+UnnamedText_56437: ; 56437 (15:6437)
 	TX_FAR _UnnamedText_56437 ; 0x8c000
-UnnamedText_5643b: ; 0x5643b
+UnnamedText_5643b: ; 5643b (15:643b)
 	TX_FAR _UnnamedText_5643b ; 0x8c013
 	db $50
 ; 0x5643b + 5 bytes
 
-UnnamedText_56440: ; 0x56440
+UnnamedText_56440: ; 56440 (15:6440)
 	TX_FAR _UnnamedText_56440
 	db $50
 ; 0x56440 + 5 bytes
 
-UnnamedText_56445: ; 0x56445
+UnnamedText_56445: ; 56445 (15:6445)
 	TX_FAR _UnnamedText_56445
 	db $50
 ; 0x56445 + 5 bytes
 
-UnnamedText_5644a: ; 0x5644a
+UnnamedText_5644a: ; 5644a (15:644a)
 	TX_FAR _UnnamedText_5644a
 	db $50
 ; 0x5644a + 5 bytes
 
-UnnamedText_5644f: ; 0x5644f
+UnnamedText_5644f: ; 5644f (15:644f)
 	TX_FAR _UnnamedText_5644f
 	db $50
 ; 0x5644f + 5 bytes
 
-UnnamedText_56454: ; 0x56454
+UnnamedText_56454: ; 56454 (15:6454)
 	TX_FAR _UnnamedText_56454
 	db $50
 ; 0x56454 + 5 bytes
@@ -84622,14 +85478,14 @@
 
 	dw Route12HouseObject ; objects
 
-Route12HouseScript: ; 0x5647f
+Route12HouseScript: ; 5647f (15:647f)
 	jp EnableAutoTextBoxDrawing
 ; 0x56482
 
-Route12HouseTexts: ; 0x56482
+Route12HouseTexts: ; 56482 (15:6482)
 	dw Route12HouseText1
 
-Route12HouseText1: ; 0x56484
+Route12HouseText1: ; 56484 (15:6484)
 	db $08 ; asm
 	ld a, [$d728]
 	bit 5, a
@@ -84636,7 +85492,7 @@
 	jr nz, asm_b4cad ; 0x5648a
 	ld hl, UnnamedText_564c0
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, asm_a2d76 ; 0x56499
@@ -84659,12 +85515,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_564c0: ; 0x564c0
+UnnamedText_564c0: ; 564c0 (15:64c0)
 	TX_FAR _UnnamedText_564c0
 	db $50
 ; 0x564c0 + 5 bytes
 
-UnnamedText_564c5: ; 0x564c5
+UnnamedText_564c5: ; 564c5 (15:64c5)
 	TX_FAR _UnnamedText_564c5 ; 0x8ca00
 	db $0B
 	TX_FAR _UnnamedText_564ca ; 0x8ca4f
@@ -84671,17 +85527,17 @@
 	db $50
 ; 0x564c5 + 10 bytes = 0x564cf
 
-UnnamedText_564cf: ; 0x564cf
+UnnamedText_564cf: ; 564cf (15:64cf)
 	TX_FAR _UnnamedText_564cf
 	db $50
 ; 0x564cf + 5 bytes
 
-UnnamedText_564d4: ; 0x564d4
+UnnamedText_564d4: ; 564d4 (15:64d4)
 	TX_FAR _UnnamedText_564d4
 	db $50
 ; 0x564d4 + 5 bytes
 
-UnnamedText_564d9: ; 0x564d9
+UnnamedText_564d9: ; 564d9 (15:64d9)
 	TX_FAR _UnnamedText_564d9
 	db $50
 ; 0x564d9 + 5 bytes
@@ -84710,23 +85566,23 @@
 
 	dw SilphCo8Object ; objects
 
-SilphCo8Script: ; 0x56504
+SilphCo8Script: ; 56504 (15:6504)
 	call SilphCo8_Unknown5651a
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo8TrainerHeader0
-	ld de, $6577
-	ld a, [$d649]
-	call Func_3160
-	ld [$d649], a
+	ld de, Unknown_56577 ; $6577
+	ld a, [W_SILPHCO8CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO8CURSCRIPT], a
 	ret
 ; 0x5651a
 
-SilphCo8_Unknown5651a: ; 0x5651a
+SilphCo8_Unknown5651a: ; 5651a (15:651a)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
 	ret z
-	ld hl, $653e
+	ld hl, Unknown_5653e ; $653e
 	call Func_56541
 	call Func_5656d
 	ld a, [$d832]
@@ -84738,6 +85594,7 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_5653e: ; 5653e (15:653e)
 INCBIN "baserom.gbc",$5653e,$56541 - $5653e
 
 ; known jump sources: 56525 (15:6525)
@@ -84786,13 +85643,14 @@
 	set 0, [hl]
 	ret
 
+Unknown_56577: ; 56577 (15:6577)
 INCBIN "baserom.gbc",$56577,$5657d - $56577
 
-SilphCo8Texts: ; 0x5657d
+SilphCo8Texts: ; 5657d (15:657d)
 	dw SilphCo8Text1, SilphCo8Text2, SilphCo8Text3, SilphCo8Text4
 
-SilphCo8TrainerHeaders:
-SilphCo8TrainerHeader0: ; 0x56585
+SilphCo8TrainerHeaders: ; 56585 (15:6585)
+SilphCo8TrainerHeader0: ; 56585 (15:6585)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d831 ; flag's byte
@@ -84802,7 +85660,7 @@
 	dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle
 ; 0x56591
 
-SilphCo8TrainerHeader1: ; 0x56591
+SilphCo8TrainerHeader1: ; 56591 (15:6591)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d831 ; flag's byte
@@ -84812,7 +85670,7 @@
 	dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle
 ; 0x5659d
 
-SilphCo8TrainerHeader2: ; 0x5659d
+SilphCo8TrainerHeader2: ; 5659d (15:659d)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d831 ; flag's byte
@@ -84824,7 +85682,7 @@
 
 db $ff
 
-SilphCo8Text1: ; 0x565aa
+SilphCo8Text1: ; 565aa (15:65aa)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 7, a
@@ -84835,75 +85693,75 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_565be: ; 0x565be
+UnnamedText_565be: ; 565be (15:65be)
 	TX_FAR _UnnamedText_565be
 	db $50
 ; 0x565be + 5 bytes
 
-UnnamedText_565c3: ; 0x565c3
+UnnamedText_565c3: ; 565c3 (15:65c3)
 	TX_FAR _UnnamedText_565c3
 	db $50
 ; 0x565c3 + 5 bytes
 
-SilphCo8Text2: ; 0x565c8
+SilphCo8Text2: ; 565c8 (15:65c8)
 	db $08 ; asm
 	ld hl, SilphCo8TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo8Text3: ; 0x565d2
+SilphCo8Text3: ; 565d2 (15:65d2)
 	db $08 ; asm
 	ld hl, SilphCo8TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo8Text4: ; 0x565dc
+SilphCo8Text4: ; 565dc (15:65dc)
 	db $08 ; asm
 	ld hl, SilphCo8TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo8BattleText1: ; 0x565e6
+SilphCo8BattleText1: ; 565e6 (15:65e6)
 	TX_FAR _SilphCo8BattleText1
 	db $50
 ; 0x565e6 + 5 bytes
 
-SilphCo8EndBattleText1: ; 0x565eb
+SilphCo8EndBattleText1: ; 565eb (15:65eb)
 	TX_FAR _SilphCo8EndBattleText1
 	db $50
 ; 0x565eb + 5 bytes
 
-SilphCo8AfterBattleText1: ; 0x565f0
+SilphCo8AfterBattleText1: ; 565f0 (15:65f0)
 	TX_FAR _SilphCo8AfterBattleText1
 	db $50
 ; 0x565f0 + 5 bytes
 
-SilphCo8BattleText2: ; 0x565f5
+SilphCo8BattleText2: ; 565f5 (15:65f5)
 	TX_FAR _SilphCo8BattleText2
 	db $50
 ; 0x565f5 + 5 bytes
 
-SilphCo8EndBattleText2: ; 0x565fa
+SilphCo8EndBattleText2: ; 565fa (15:65fa)
 	TX_FAR _SilphCo8EndBattleText2
 	db $50
 ; 0x565fa + 5 bytes
 
-SilphCo8AfterBattleText2: ; 0x565ff
+SilphCo8AfterBattleText2: ; 565ff (15:65ff)
 	TX_FAR _SilphCo8AfterBattleText2
 	db $50
 ; 0x565ff + 5 bytes
 
-SilphCo8BattleText3: ; 0x56604
+SilphCo8BattleText3: ; 56604 (15:6604)
 	TX_FAR _SilphCo8BattleText3
 	db $50
 ; 0x56604 + 5 bytes
 
-SilphCo8EndBattleText3: ; 0x56609
+SilphCo8EndBattleText3: ; 56609 (15:6609)
 	TX_FAR _SilphCo8EndBattleText3
 	db $50
 ; 0x56609 + 5 bytes
 
-SilphCo8AfterBattleText3: ; 0x5660e
+SilphCo8AfterBattleText3: ; 5660e (15:660e)
 	TX_FAR _SilphCo8AfterBattleText3
 	db $50
 ; 0x5660e + 5 bytes
@@ -84937,11 +85795,11 @@
 	EVENT_DISP $d, $5, $b ; SILPH_CO_2F
 	EVENT_DISP $d, $9, $b ; SILPH_CO_8F
 
-SilphCo8Blocks: ; 0x5666d 117
+SilphCo8Blocks: ; 5666d (15:666d)
 	INCBIN "maps/silphco8.blk"
 
 Func_566e2: ; 566e2 (15:66e2)
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	call GBPalWhiteOutWithDelay3
 	call ClearScreen
 	xor a
@@ -84949,16 +85807,16 @@
 	ld hl, $d730
 	set 6, [hl]
 	call DisableLCD
-	ld hl, $7d88
+	ld hl, UnknownGFX_2fc28 + $160 ; $7d88 ; circle tile
 	ld de, $9700
 	ld bc, $0010
-	ld a, $b
+	ld a, BANK(UnknownGFX_2fc28)
 	call FarCopyData2
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $1012
 	ld a, $27
 	call Predef
-	ld hl, $6784
+	ld hl, Unknown_56784 ; $6784
 	ld c, $5
 .asm_56715
 	push bc
@@ -84976,7 +85834,8 @@
 	pop bc
 	dec c
 	jr nz, .asm_56715 ; 0x56725 $ee
-	ld hl, $c3fa
+	FuncCoord 10, 4 ; $c3fa
+	ld hl, Coord
 	ld de, $d158
 	call PlaceString
 	ld b, BANK(Func_44dd)
@@ -85004,7 +85863,7 @@
 	call GBPalNormal
 	ld a, $90
 	ld [$ff00+$48], a
-	call Func_3865
+	call WaitForTextScrollButtonPress
 	ld hl, $d730
 	res 6, [hl]
 	call GBPalWhiteOutWithDelay3
@@ -85023,6 +85882,7 @@
 	dec c
 	jr .asm_5677d ; 0x56782 $f9
 
+Unknown_56784: ; 56784 (15:6784)
 INCBIN "baserom.gbc",$56784,$567f9 - $56784
 
 ; known jump sources: 3303 (0:3303)
@@ -85045,7 +85905,7 @@
 	ld [$FF00+$ee], a
 	ret
 
-Func_56819: ; 0x56819
+Func_56819: ; 56819 (15:6819)
 	ld hl, $c100
 	ld de, $0004
 	ld a, [$cf13]
@@ -85065,7 +85925,7 @@
 	ret
 ; 0x5683d
 
-Func_5683d: ; 0x5683d
+Func_5683d: ; 5683d (15:683d)
 	ld hl, $c100
 	ld de, $4
 	ld a, [$cf13]
@@ -85084,7 +85944,7 @@
 	ld [hl], a
 	ret
 
-Func_5685d: ; 0x5685d
+Func_5685d: ; 5685d (15:685d)
 	ld hl, $c100
 	ld de, $0004
 	ld a, [$cf13]
@@ -85105,78 +85965,78 @@
 ; 0x56881
 
 ; known jump sources: 32d4 (0:32d4)
-Func_56881: ; 56881 (15:6881)
+TrainerWalkUpToPlayer: ; 56881 (15:6881)
 	ld a, [$cf13]
 	swap a
-	ld [W_WHICHTRADE], a ; $cd3d
-	call Func_5698e
-	ld a, [$cd3f]
+	ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
+	call ReadTrainerScreenPosition
+	ld a, [W_TRAINERFACINGDIR]
 	and a
-	jr z, .asm_5689c
+	jr z, .facingDown
 	cp $4
-	jr z, .asm_568b0
+	jr z, .facingUp
 	cp $8
-	jr z, .asm_568dc
-	jr .asm_568c6
-.asm_5689c
-	ld a, [$cd40]
+	jr z, .facingLeft
+	jr .facingRight
+.facingDown
+	ld a, [W_TRAINERSCREENYPOS]
 	ld b, a
-	ld a, $3c
-	call Func_3633
-	cp $10
+	ld a, $3c           ; (fixed) player screen Y pos
+	call CalcDifference
+	cp $10              ; trainer is right above player
 	ret z
 	swap a
 	dec a
-	ld c, a
+	ld c, a             ; bc = steps yet to go to reach player
 	xor a
+	ld b, a           ; a = direction to go to
+	jr .writeWalkScript
+.facingUp
+	ld a, [W_TRAINERSCREENYPOS]
 	ld b, a
-	jr .asm_568f0
-.asm_568b0
-	ld a, [$cd40]
-	ld b, a
-	ld a, $3c
-	call Func_3633
-	cp $10
+	ld a, $3c           ; (fixed) player screen Y pos
+	call CalcDifference
+	cp $10              ; trainer is right below player
 	ret z
 	swap a
 	dec a
-	ld c, a
+	ld c, a             ; bc = steps yet to go to reach player
 	ld b, $0
-	ld a, $40
-	jr .asm_568f0
-.asm_568c6
-	ld a, [$cd41]
+	ld a, $40           ; a = direction to go to
+	jr .writeWalkScript
+.facingRight
+	ld a, [W_TRAINERSCREENXPOS]
 	ld b, a
-	ld a, $40
-	call Func_3633
-	cp $10
+	ld a, $40           ; (fixed) player screen X pos
+	call CalcDifference
+	cp $10              ; trainer is directly left of player
 	ret z
 	swap a
 	dec a
-	ld c, a
+	ld c, a             ; bc = steps yet to go to reach player
 	ld b, $0
-	ld a, $c0
-	jr .asm_568f0
-.asm_568dc
+	ld a, $c0           ; a = direction to go to
+	jr .writeWalkScript
+.facingLeft
 	ld a, [$cd41]
 	ld b, a
-	ld a, $40
-	call Func_3633
-	cp $10
+	ld a, $40           ; (fixed) player screen X pos
+	call CalcDifference
+	cp $10              ; trainer is directly right of player
 	ret z
 	swap a
 	dec a
-	ld c, a
+	ld c, a             ; bc = steps yet to go to reach player
 	ld b, $0
-	ld a, $80
-.asm_568f0
+	ld a, $80           ; a = direction to go to
+.writeWalkScript
 	ld hl, $cc97
 	ld de, $cc97
-	call FillMemory
-	ld [hl], $ff
+	call FillMemory     ; write the necessary steps to reach player
+	ld [hl], $ff        ; write end of list sentinel
 	ld a, [$cf13]
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
-	jp Func_363d
+	jp MoveSprite_
 
 ; known jump sources: 56804 (15:6804), 56848 (15:6848)
 Func_56903: ; 56903 (15:6903)
@@ -85190,82 +86050,80 @@
 	pop de
 	ret
 
-; known jump sources: 3342 (0:3342)
-Func_5690f: ; 5690f (15:690f)
+; tests if this trainer is in the right position to engage the player and do so if she is.
+CheckEngagePlayer: ; 5690f (15:690f)
 	push hl
 	push de
-	ld a, [W_WHICHTRADE] ; $cd3d
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	add $2
 	ld d, $0
 	ld e, a
 	ld hl, $c100
 	add hl, de
-	ld a, [hl]
+	ld a, [hl]             ; c1x2: sprite image index
 	sub $ff
-	jr nz, .asm_56925
-	jp Func_56988
-.asm_56925
-	ld a, [W_WHICHTRADE] ; $cd3d
+	jr nz, .spriteOnScreen ; test if sprite is on screen
+	jp .noEngage
+.spriteOnScreen
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	add $9
 	ld d, $0
 	ld e, a
 	ld hl, $c100
 	add hl, de
-	ld a, [hl]
+	ld a, [hl]             ; c1x9: facing direction
 	ld [$cd3f], a
-	call Func_5698e
-	ld a, [$cd40]
+	call ReadTrainerScreenPosition
+	ld a, [$cd40]          ; sprite screen Y pos
 	ld b, a
 	ld a, $3c
 	cp b
-	jr z, .asm_5694e
-	ld a, [$cd41]
+	jr z, .linedUpY
+	ld a, [$cd41]          ; sprite screen X pos
 	ld b, a
 	ld a, $40
 	cp b
-	jr z, .asm_56961
+	jr z, .linedUpX
 	xor a
-	jp Func_56988
-.asm_5694e
-	ld a, [$cd41]
+	jp .noEngage
+.linedUpY
+	ld a, [$cd41]        ; sprite screen X pos
 	ld b, a
-	ld a, $40
-	call Func_3633
-	jr z, Func_56988
-	call Func_569af
-	jr c, .asm_56975
+	ld a, $40            ; (fixed) player X position
+	call CalcDifference  ; calc distance
+	jr z, .noEngage      ; exact same position as player
+	call CheckSpriteCanSeePlayer
+	jr c, .engage
 	xor a
-	jr Func_56988
-.asm_56961
-	ld a, [$cd40]
+	jr .noEngage
+.linedUpX
+	ld a, [$cd40]        ; sprite screen Y pos
 	ld b, a
-	ld a, $3c
-	call Func_3633
-	jr z, Func_56988
-	call Func_569af
-	jr c, .asm_56975
+	ld a, $3c            ; (fixed) player Y position
+	call CalcDifference  ; calc distance
+	jr z, .noEngage      ; exact same position as player
+	call CheckSpriteCanSeePlayer
+	jr c, .engage
 	xor a
-	jp Func_56988
-.asm_56975
-	call Func_569e3
-	ld a, [W_WHICHTRADE] ; $cd3d
+	jp .noEngage
+.engage
+	call CheckPlayerIsInFrontOfSprite
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	and a
-	jr z, Func_56988
-	ld hl, $cd60
+	jr z, .noEngage
+	ld hl, W_FLAGS_CD60
 	set 0, [hl]
 	call EngageMapTrainer
 	ld a, $ff
-
-; known jump sources: 56922 (15:6922), 5694b (15:694b), 56957 (15:6957), 5695f (15:695f), 5696a (15:696a), 56972 (15:6972), 5697c (15:697c)
-Func_56988: ; 56988 (15:6988)
-	ld [W_WHICHTRADE], a ; $cd3d
+.noEngage: ; 56988 (15:6988)
+	ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
 	pop de
 	pop hl
 	ret
 
-; known jump sources: 56889 (15:6889), 56935 (15:6935)
-Func_5698e: ; 5698e (15:698e)
-	ld a, [W_WHICHTRADE] ; $cd3d
+; reads trainer's Y position to $cd40 and X position to $cd41
+ReadTrainerScreenPosition: ; 5698e (15:698e)
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	add $4
 	ld d, $0
 	ld e, a
@@ -85273,7 +86131,7 @@
 	add hl, de
 	ld a, [hl]
 	ld [$cd40], a
-	ld a, [W_WHICHTRADE] ; $cd3d
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	add $6
 	ld d, $0
 	ld e, a
@@ -85283,101 +86141,104 @@
 	ld [$cd41], a
 	ret
 
-; known jump sources: 56959 (15:6959), 5696c (15:696c)
-Func_569af: ; 569af (15:69af)
+; checks if the sprite is properly lined up with the player with respect to the direction it's looking. Also checks the distance between player and sprite
+; note that this does not necessarily mean the sprite is seeing the player, he could be behind it's back
+; a: distance player to sprite
+CheckSpriteCanSeePlayer: ; 569af (15:69af)
 	ld b, a
-	ld a, [$cd3e]
+	ld a, [W_TRAINERENGAGEDISTANCE]  ; sprite line of sight (engage distance)
 	cp b
-	jr nc, .asm_569b8
-	jr .asm_569e1
-.asm_569b8
-	ld a, [$cd3f]
-	cp $0
-	jr z, .asm_569cd
-	cp $4
-	jr z, .asm_569cd
-	cp $8
-	jr z, .asm_569d7
-	cp $c
-	jr z, .asm_569d7
-	jr .asm_569e1
-.asm_569cd
-	ld a, [$cd41]
+	jr nc, .checkIfLinedUp
+	jr .notInLine         ; player too far away
+.checkIfLinedUp
+	ld a, [$cd3f]         ; sprite facing direction
+	cp $0                 ; down
+	jr z, .checkXCoord
+	cp $4                 ; up
+	jr z, .checkXCoord
+	cp $8                 ; left
+	jr z, .checkYCoord
+	cp $c                 ; right
+	jr z, .checkYCoord
+	jr .notInLine
+.checkXCoord
+	ld a, [$cd41]         ; sprite screen X position
 	ld b, a
 	cp $40
-	jr z, .asm_569df
-	jr .asm_569e1
-.asm_569d7
-	ld a, [$cd40]
+	jr z, .inLine
+	jr .notInLine
+.checkYCoord
+	ld a, [$cd40]         ; sprite screen Y position
 	ld b, a
 	cp $3c
-	jr nz, .asm_569e1
-.asm_569df
+	jr nz, .notInLine
+.inLine
 	scf
 	ret
-.asm_569e1
+.notInLine
 	and a
 	ret
 
-; known jump sources: 56975 (15:6975)
-Func_569e3: ; 569e3 (15:69e3)
+; tests if the player is in front of the sprite (rather than behind it)
+CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
 	ld a, [W_CURMAP] ; $d35e
-	cp $53
-	jp z, .asm_56a42
-	ld a, [W_WHICHTRADE] ; $cd3d
+	cp POWER_PLANT
+	jp z, .engage       ; XXX not sure why bypass this for power plant (maybe to get voltorb fake items to work?)
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	add $4
 	ld d, $0
 	ld e, a
 	ld hl, $c100
 	add hl, de
-	ld a, [hl]
+	ld a, [hl]          ; c1x4 (sprite screen Y pos)
 	cp $fc
-	jr nz, .asm_569fe
+	jr nz, .notOnTopmostTile ; special case if sprite is on topmost tile (Y = $fc (-4)), make it come down a block
 	ld a, $c
-.asm_569fe
+.notOnTopmostTile
 	ld [$cd40], a
-	ld a, [W_WHICHTRADE] ; $cd3d
+	ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
 	add $6
 	ld d, $0
 	ld e, a
 	ld hl, $c100
 	add hl, de
-	ld a, [hl]
+	ld a, [hl]          ; c1x6 (sprite screen X pos)
 	ld [$cd41], a
-	ld a, [$cd3f]
+	ld a, [$cd3f]       ; facing direction
 	cp $0
-	jr nz, .asm_56a21
-	ld a, [$cd40]
+	jr nz, .notFacingDown
+	ld a, [$cd40]       ; sprite screen Y pos
 	cp $3c
-	jr c, .asm_56a42
-	jr .asm_56a46
-.asm_56a21
+	jr c, .engage       ; sprite above player
+	jr .noEngage        ; sprite below player
+.notFacingDown
 	cp $4
-	jr nz, .asm_56a2e
-	ld a, [$cd40]
+	jr nz, .notFacingUp
+	ld a, [$cd40]       ; sprite screen Y pos
 	cp $3c
-	jr nc, .asm_56a42
-	jr .asm_56a46
-.asm_56a2e
+	jr nc, .engage      ; sprite below player
+	jr .noEngage        ; sprite above player
+.notFacingUp
 	cp $8
-	jr nz, .asm_56a3b
-	ld a, [$cd41]
+	jr nz, .notFacingLeft
+	ld a, [$cd41]       ; sprite screen X pos
 	cp $40
-	jr nc, .asm_56a42
-	jr .asm_56a46
-.asm_56a3b
-	ld a, [$cd41]
+	jr nc, .engage      ; sprite right of player
+	jr .noEngage        ; sprite left of player
+.notFacingLeft
+	ld a, [$cd41]       ; sprite screen X pos
 	cp $40
-	jr nc, .asm_56a46
-.asm_56a42
+	jr nc, .noEngage    ; sprite right of player
+.engage
 	ld a, $ff
-	jr .asm_56a47
-.asm_56a46
+	jr .done
+.noEngage
 	xor a
-.asm_56a47
-	ld [W_WHICHTRADE], a ; $cd3d
+.done
+	ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
 	ret
 ; 56a4b (15:6a4b)
+
 SECTION "bank16",DATA,BANK[$16]
 
 Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17)
@@ -85432,7 +86293,7 @@
 	EVENT_DISP $a, $7, $a ; ROUTE_6_GATE
 	EVENT_DISP $a, $d, $11 ; PATH_ENTRANCE_ROUTE_6
 
-Route6Blocks: ; 0x58079 180
+Route6Blocks: ; 58079 (16:4079)
 	INCBIN "maps/route6.blk"
 
 Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19)
@@ -85492,7 +86353,7 @@
 	EVENT_DISP $1e, $a, $8 ; ROUTE_8_GATE
 	EVENT_DISP $1e, $3, $d ; PATH_ENTRANCE_ROUTE_8
 
-Route8Blocks: ; 0x581c6 270
+Route8Blocks: ; 581c6 (16:41c6)
 	INCBIN "maps/route8.blk"
 
 Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21)
@@ -85550,7 +86411,7 @@
 	EVENT_DISP $a, $35, $8 ; ROCK_TUNNEL_1
 	EVENT_DISP $a, $27, $6 ; POWER_PLANT
 
-Route10Blocks: ; 0x58356 360
+Route10Blocks: ; 58356 (16:4356)
 	INCBIN "maps/route10.blk"
 
 Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22)
@@ -85611,7 +86472,7 @@
 	EVENT_DISP $1e, $9, $3a ; ROUTE_11_GATE_1F
 	EVENT_DISP $1e, $5, $4 ; DIGLETTS_CAVE_ENTRANCE
 
-Route11Blocks: ; 0x5855f 270
+Route11Blocks: ; 5855f (16:455f)
 	INCBIN "maps/route11.blk"
 
 Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23)
@@ -85678,7 +86539,7 @@
 	EVENT_DISP $a, $15, $a ; ROUTE_12_GATE
 	EVENT_DISP $a, $4d, $b ; ROUTE_12_HOUSE
 
-Route12Blocks: ; 0x58710 540
+Route12Blocks: ; 58710 (16:4710)
 	INCBIN "maps/route12.blk"
 
 Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26)
@@ -85738,7 +86599,7 @@
 	EVENT_DISP $1e, $8, $e ; ROUTE_15_GATE_1F
 	EVENT_DISP $1e, $9, $e ; ROUTE_15_GATE_1F
 
-Route15Blocks: ; 0x589cc 270
+Route15Blocks: ; 589cc (16:49cc)
 	INCBIN "maps/route15.blk"
 
 Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27)
@@ -85805,7 +86666,7 @@
 	EVENT_DISP $14, $5, $18 ; ROUTE_16_GATE_1F
 	EVENT_DISP $14, $5, $7 ; ROUTE_16_HOUSE
 
-Route16Blocks: ; 0x58b84 180
+Route16Blocks: ; 58b84 (16:4b84)
 	INCBIN "maps/route16.blk"
 
 Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29)
@@ -85858,7 +86719,7 @@
 	EVENT_DISP $19, $8, $28 ; ROUTE_18_GATE_1F
 	EVENT_DISP $19, $9, $28 ; ROUTE_18_GATE_1F
 
-Route18Blocks: ; 0x58c9c 225
+Route18Blocks: ; 58c9c (16:4c9c)
 	INCBIN "maps/route18.blk"
 
 INCBIN "baserom.gbc",$58d7d,$58d99 - $58d7d
@@ -85874,13 +86735,13 @@
 	cp $95
 	jr c, .asm_58dd8
 .asm_58daa
-	ld a, [$cfd8]
+	ld a, [W_ENEMYMONID]
 	call PlayCry
-	ld hl, $4e3b
+	ld hl, UnnamedText_58e3b ; $4e3b
 	ld a, [W_MOVEMISSED] ; $d05f
 	and a
 	jr z, .asm_58dbc
-	ld hl, $4e40
+	ld hl, UnnamedText_58e40 ; $4e40
 .asm_58dbc
 	jr .asm_58dc9
 .asm_58dbe
@@ -85887,7 +86748,7 @@
 	call Func_58e29
 	ld c, $14
 	call DelayFrames
-	ld hl, $4e4a
+	ld hl, UnnamedText_58e4a ; $4e4a
 .asm_58dc9
 	push hl
 	ld hl, Func_3a849
@@ -85899,7 +86760,7 @@
 .asm_58dd8
 	ld b, $48
 	call IsItemInBag
-	ld a, [$cfd8]
+	ld a, [W_ENEMYMONID]
 	ld [$cf91], a
 	cp $91
 	jr z, .asm_58e03
@@ -85911,9 +86772,9 @@
 	call Bankswitch ; indirect jump to Func_3eb01 (3eb01 (f:6b01))
 	jr .asm_58daa
 .asm_58df5
-	ld hl, $4e45
+	ld hl, UnnamedText_58e45 ; $4e45
 	call PrintText
-	ld hl, $4e54
+	ld hl, UnnamedText_58e54 ; $4e54
 	call PrintText
 	jr asm_58e3a
 .asm_58e03
@@ -85920,9 +86781,9 @@
 	ld a, b
 	and a
 	jr z, .asm_58df5
-	ld hl, $4e45
+	ld hl, UnnamedText_58e45 ; $4e45
 	call PrintText
-	ld hl, $4e4f
+	ld hl, UnnamedText_58e4f ; $4e4f
 	call PrintText
 	ld hl, Func_3eb01
 	ld b, BANK(Func_3eb01)
@@ -85930,7 +86791,7 @@
 	ld hl, Func_708ca
 	ld b, BANK(Func_708ca)
 	call Bankswitch ; indirect jump to Func_708ca (708ca (1c:48ca))
-	ld hl, $4e3b
+	ld hl, UnnamedText_58e3b ; $4e3b
 	call PrintText
 
 ; known jump sources: 58dbe (16:4dbe)
@@ -85941,36 +86802,36 @@
 	ld [$c0f2], a
 	ld a, $e9
 	call PlaySound
-	jp Func_3748
+	jp WaitForSoundToFinish
 asm_58e3a: ; 58e3a (16:4e3a)
 	ret
 ; 58e3b (16:4e3b)
-UnnamedText_58e3b: ; 0x58e3b
+UnnamedText_58e3b: ; 58e3b (16:4e3b)
 	TX_FAR _UnnamedText_58e3b
 	db $50
 ; 0x58e3b + 5 bytes
 
-UnnamedText_58e40: ; 0x58e40
+UnnamedText_58e40: ; 58e40 (16:4e40)
 	TX_FAR _UnnamedText_58e40
 	db $50
 ; 0x58e40 + 5 bytes
 
-UnnamedText_58e45: ; 0x58e45
+UnnamedText_58e45: ; 58e45 (16:4e45)
 	TX_FAR _UnnamedText_58e45
 	db $50
 ; 0x58e45 + 5 bytes
 
-UnnamedText_58e4a: ; 0x58e4a
+UnnamedText_58e4a: ; 58e4a (16:4e4a)
 	TX_FAR _UnnamedText_58e4a
 	db $50
 ; 0x58e4a + 5 bytes
 
-UnnamedText_58e4f: ; 0x58e4f
+UnnamedText_58e4f: ; 58e4f (16:4e4f)
 	TX_FAR _UnnamedText_58e4f
 	db $50
 ; 0x58e4f + 5 bytes
 
-UnnamedText_58e54: ; 0x58e54
+UnnamedText_58e54: ; 58e54 (16:4e54)
 	TX_FAR _UnnamedText_58e54
 	db $50
 ; 0x58e54 + 5 bytes
@@ -85980,7 +86841,7 @@
 	ld hl, W_ENEMYMONCURHP ; $cfe6
 	ld a, [hli]
 	or [hl]
-	ld hl, $4eae
+	ld hl, .unknown_58eae ; $4eae
 	jr z, .asm_58eab
 	xor a
 	ld [H_NUMTOPRINT], a ; $FF00+$96 (aliases: H_MULTIPLICAND)
@@ -86006,31 +86867,41 @@
 	ld [H_REMAINDER], a ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
 	call Divide
 	ld a, [$FF00+$98]
-	ld hl, $4eae
+	ld hl, .unknown_58eae ; $4eae
 	cp $46
 	jr nc, .asm_58eab
-	ld hl, $4eb5
+	ld hl, .unknown_58eb5 ; $4eb5
 	cp $28
 	jr nc, .asm_58eab
-	ld hl, $4ebc
+	ld hl, .unknown_58ebc ; $4ebc
 	cp $a
 	jr nc, .asm_58eab
-	ld hl, $4ec3
+	ld hl, .unknown_58ec3 ; $4ec3
 .asm_58eab
 	jp PrintText
 
+.unknown_58eae: ; 58eae (16:4eae)
 INCBIN "baserom.gbc",$58eae,$58eb3 - $58eae
+
 	jr .asm_58ec8
 
+.unknown_58eb5: ; 58eb5 (16:4eb5)
 INCBIN "baserom.gbc",$58eb5,$58eba - $58eb5
+
 	jr .asm_58ec8
 
-INCBIN "baserom.gbc",$58ebc,$58ec8 - $58ebc
+.unknown_58ebc: ; 58ebc (16:4ebc)
+INCBIN "baserom.gbc",$58ebc,$58ec3 - $58ebc
+
+.unknown_58ec3: ; 58ec3 (16:4ec3)
+INCBIN "baserom.gbc",$58ec3,$58ec8 - $58ec3
+
 .asm_58ec8
-	ld hl, $4ecc
+	ld hl, UnnamedText_58ecc ; $4ecc
 	ret
 ; 58ecc (16:4ecc)
-UnnamedText_58ecc: ; 0x58ecc
+
+UnnamedText_58ecc: ; 58ecc (16:4ecc)
 	TX_FAR _UnnamedText_58ecc
 	db $50
 ; 0x58ecc + 5 bytes
@@ -86037,12 +86908,13 @@
 
 ; known jump sources: 3d1bf (f:51bf)
 Func_58ed1: ; 58ed1 (16:4ed1)
-	ld hl, $4ed7
+	ld hl, Unknown_58ed7 ; $4ed7
 	jp PrintText
 
+Unknown_58ed7: ; 58ed7 (16:4ed7)
 INCBIN "baserom.gbc",$58ed7,$58f3e - $58ed7
 
-UnnamedText_58f3e: ; 0x58f3e
+UnnamedText_58f3e: ; 58f3e (16:4f3e)
 	TX_FAR _UnnamedText_58f3e
 	db $50
 ; 0x58f3e + 5 bytes
@@ -86197,7 +87069,7 @@
 ; resulting in 
 ;  (a*n^3)/b + sign*c*n^2 + d*n - e
 ; where sign = -1 <=> S=1
-GrowthRateTable: ; 0x5901d
+GrowthRateTable: ; 5901d (16:501d)
 db $11,$00,$00,$00 ; medium fast      n^3
 db $34,$0A,$00,$1E ; (unused?)    3/4 n^3 + 10 n^2         - 30
 db $34,$14,$00,$46 ; (unused?)    3/4 n^3 + 20 n^2         - 70
@@ -86207,9 +87079,9 @@
 
 ; no known jump sources
 Func_59035 ; 0x59035
-	ld hl, $5091
+	ld hl, UnnamedText_59091 ; $5091
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_59086 ; 0x59042 $42
@@ -86224,7 +87096,7 @@
 	jr z, .asm_59059 ; 0x59055 $2
 	jr nc, .asm_5907c ; 0x59057 $23
 .asm_59059
-	ld hl, $50a0
+	ld hl, UnnamedText_590a0 ; $50a0
 	call PrintText
 	ld a, [$ff00+$dc]
 	ld b, a
@@ -86231,22 +87103,22 @@
 	ld c, $1
 	call GiveItem
 	jr nc, .asm_59073 ; 0x59067 $a
-	ld hl, $50a5
+	ld hl, Unknown_590a5 ; $50a5
 	call PrintText
 	ld a, $1
 	jr .asm_5908e ; 0x59071 $1b
 .asm_59073
-	ld hl, $50ab
+	ld hl, UnnamedText_590ab ; $50ab
 	call PrintText
 	xor a
 	jr .asm_5908e ; 0x5907a $12
 .asm_5907c
-	ld hl, $5096
+	ld hl, UnnamedText_59096 ; $5096
 	call PrintText
 	ld a, $80
 	jr .asm_5908e ; 0x59084 $8
 .asm_59086
-	ld hl, $509b
+	ld hl, UnnamedText_5909b ; $509b
 	call PrintText
 	ld a, $ff
 .asm_5908e
@@ -86254,51 +87126,52 @@
 	ret
 ; 0x59091
 
-UnnamedText_59091: ; 0x59091
+UnnamedText_59091: ; 59091 (16:5091)
 	TX_FAR _UnnamedText_59091
 	db $50
 ; 0x59091 + 5 bytes
 
-UnnamedText_59096: ; 0x59096
+UnnamedText_59096: ; 59096 (16:5096)
 	TX_FAR _UnnamedText_59096
 	db $50
 ; 0x59096 + 5 bytes
 
-UnnamedText_5909b: ; 0x5909b
+UnnamedText_5909b: ; 5909b (16:509b)
 	TX_FAR _UnnamedText_5909b
 	db $50
 ; 0x5909b + 5 bytes
 
-UnnamedText_590a0: ; 0x590a0
+UnnamedText_590a0: ; 590a0 (16:50a0)
 	TX_FAR _UnnamedText_590a0
 	db $50
 ; 0x590a0 + 5 bytes
 
+Unknown_590a5: ; 590a5 (16:50a5)
 INCBIN "baserom.gbc",$590a5,$590ab - $590a5
 
-UnnamedText_590ab: ; 0x590ab
+UnnamedText_590ab: ; 590ab (16:50ab)
 	TX_FAR _UnnamedText_590ab
 	db $50
 ; 0x590ab + 5 bytes
 
-Route6Script: ; 0x590b0
+Route6Script: ; 590b0 (16:50b0)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route6TrainerHeaders
 	ld de, Route6_Unknown590c3
-	ld a, [$d600]
-	call Func_3160
-	ld [$d600], a
+	ld a, [W_ROUTE6CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE6CURSCRIPT], a
 	ret
 ; 0x590c3
 
-Route6_Unknown590c3: ; 0x590c3
+Route6_Unknown590c3: ; 590c3 (16:50c3)
 INCBIN "baserom.gbc",$590c3,$590c9 - $590c3
 
-Route6Texts:
+Route6Texts: ; 590c9 (16:50c9)
 	dw Route6Text1, Route6Text2, Route6Text3, Route6Text4, Route6Text5, Route6Text6, Route6Text7
 
-Route6TrainerHeaders:
-Route6TrainerHeader0: ; 0x590d7
+Route6TrainerHeaders: ; 590d7 (16:50d7)
+Route6TrainerHeader0: ; 590d7 (16:50d7)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7c9 ; flag's byte
@@ -86308,7 +87181,7 @@
 	dw Route6EndBattleText1 ; 0x512f TextEndBattle
 ; 0x590e3
 
-Route6TrainerHeader1: ; 0x590e3
+Route6TrainerHeader1: ; 590e3 (16:50e3)
 	db $2 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d7c9 ; flag's byte
@@ -86318,7 +87191,7 @@
 	dw Route6EndBattleText2 ; 0x5148 TextEndBattle
 ; 0x590ef
 
-Route6TrainerHeader2: ; 0x590ef
+Route6TrainerHeader2: ; 590ef (16:50ef)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7c9 ; flag's byte
@@ -86328,7 +87201,7 @@
 	dw Route6EndBattleText3 ; 0x515c TextEndBattle
 ; 0x590fb
 
-Route6TrainerHeader3: ; 0x590fb
+Route6TrainerHeader3: ; 590fb (16:50fb)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c9 ; flag's byte
@@ -86338,7 +87211,7 @@
 	dw Route6EndBattleText4 ; 0x5175 TextEndBattle
 ; 0x59107
 
-Route6TrainerHeader4: ; 0x59107
+Route6TrainerHeader4: ; 59107 (16:5107)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c9 ; flag's byte
@@ -86348,7 +87221,7 @@
 	dw Route6EndBattleText5 ; 0x518e TextEndBattle
 ; 0x59113
 
-Route6TrainerHeader5: ; 0x59113
+Route6TrainerHeader5: ; 59113 (16:5113)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7c9 ; flag's byte
@@ -86360,150 +87233,150 @@
 
 db $ff
 
-Route6Text1: ; 0x59120
+Route6Text1: ; 59120 (16:5120)
 	db $8
 	ld hl, Route6TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 ; 0x5912a
 
-Route6BattleText1: ; 0x5912a
+Route6BattleText1: ; 5912a (16:512a)
 	TX_FAR _Route6BattleText1
 	db $50
 ; 0x5912a + 5 bytes
 
-Route6EndBattleText1: ; 0x5912f
+Route6EndBattleText1: ; 5912f (16:512f)
 	TX_FAR _Route6EndBattleText1
 	db $50
 ; 0x5912f + 5 bytes
 
-Route6AfterBattleText1: ; 0x59134
+Route6AfterBattleText1: ; 59134 (16:5134)
 	TX_FAR _Route6AfterBattleText1
 	db $50
 ; 0x59134 + 5 bytes
 
-Route6Text2: ; 0x59139
+Route6Text2: ; 59139 (16:5139)
 	db $08 ; asm
 	ld hl, Route6TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route6BattleText2: ; 0x59143
+Route6BattleText2: ; 59143 (16:5143)
 	TX_FAR _Route6BattleText2
 	db $50
 ; 0x59143 + 5 bytes
 
-Route6EndBattleText2: ; 0x59148
+Route6EndBattleText2: ; 59148 (16:5148)
 	TX_FAR _Route6EndBattleText2
 	db $50
 ; 0x59148 + 5 bytes
 
-Route6Text3: ; 0x5914d
+Route6Text3: ; 5914d (16:514d)
 	db $08 ; asm
 	ld hl, Route6TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route6BattleText3: ; 0x59157
+Route6BattleText3: ; 59157 (16:5157)
 	TX_FAR _Route6BattleText3
 	db $50
 ; 0x59157 + 5 bytes
 
-Route6EndBattleText3: ; 0x5915c
+Route6EndBattleText3: ; 5915c (16:515c)
 	TX_FAR _Route6EndBattleText3
 	db $50
 ; 0x5915c + 5 bytes
 
-Route6AfterBattleText3: ; 0x59161
+Route6AfterBattleText3: ; 59161 (16:5161)
 	TX_FAR _Route6AfterBattleText3
 	db $50
 ; 0x59161 + 5 bytes
 
-Route6Text4: ; 0x59166
+Route6Text4: ; 59166 (16:5166)
 	db $08 ; asm
 	ld hl, Route6TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route6BattleText4: ; 0x59170
+Route6BattleText4: ; 59170 (16:5170)
 	TX_FAR _Route6BattleText4
 	db $50
 ; 0x59170 + 5 bytes
 
-Route6EndBattleText4: ; 0x59175
+Route6EndBattleText4: ; 59175 (16:5175)
 	TX_FAR _Route6EndBattleText4
 	db $50
 ; 0x59175 + 5 bytes
 
-Route6AfterBattleText4: ; 0x5917a
+Route6AfterBattleText4: ; 5917a (16:517a)
 	TX_FAR _Route6AfterBattleText4
 	db $50
 ; 0x5917a + 5 bytes
 
-Route6Text5: ; 0x5917f
+Route6Text5: ; 5917f (16:517f)
 	db $08 ; asm
 	ld hl, Route6TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route6BattleText5: ; 0x59189
+Route6BattleText5: ; 59189 (16:5189)
 	TX_FAR _Route6BattleText5
 	db $50
 ; 0x59189 + 5 bytes
 
-Route6EndBattleText5: ; 0x5918e
+Route6EndBattleText5: ; 5918e (16:518e)
 	TX_FAR _Route6EndBattleText5
 	db $50
 ; 0x5918e + 5 bytes
 
-Route6AfterBattleText5: ; 0x59193
+Route6AfterBattleText5: ; 59193 (16:5193)
 	TX_FAR _Route6AfterBattleText5
 	db $50
 ; 0x59193 + 5 bytes
 
-Route6Text6: ; 0x59198
+Route6Text6: ; 59198 (16:5198)
 	db $08 ; asm
 	ld hl, Route6TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route6BattleText6: ; 0x591a2
+Route6BattleText6: ; 591a2 (16:51a2)
 	TX_FAR _Route6BattleText6
 	db $50
 ; 0x591a2 + 5 bytes
 
-Route6EndBattleText6: ; 0x591a7
+Route6EndBattleText6: ; 591a7 (16:51a7)
 	TX_FAR _Route6EndBattleText6
 	db $50
 ; 0x591a7 + 5 bytes
 
-Route6AfterBattleText6: ; 0x591ac
+Route6AfterBattleText6: ; 591ac (16:51ac)
 	TX_FAR _Route6AfterBattleText6
 	db $50
 ; 0x591ac + 5 bytes
 
-Route6Text7: ; 0x591b1
+Route6Text7: ; 591b1 (16:51b1)
 	TX_FAR _Route6Text7
 	db $50
 
-Route8Script: ; 0x591b6
+Route8Script: ; 591b6 (16:51b6)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route8TrainerHeaders
 	ld de, Route8_Unknown591c9
-	ld a, [$d601]
-	call Func_3160
-	ld [$d601], a
+	ld a, [W_ROUTE8CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE8CURSCRIPT], a
 	ret
 ; 0x591c9
 
-Route8_Unknown591c9: ; 0x591c9
+Route8_Unknown591c9: ; 591c9 (16:51c9)
 INCBIN "baserom.gbc",$591c9,$591cf - $591c9
 
-Route8Texts: ; 0x591cf
+Route8Texts: ; 591cf (16:51cf)
 	dw Route8Text1, Route8Text2, Route8Text3, Route8Text4, Route8Text5, Route8Text6, Route8Text7, Route8Text8, Route8Text9, Route8Text10
 
-Route8TrainerHeaders: ; 0x591e3
-Route8TrainerHeader0: ; 0x591e3
+Route8TrainerHeaders: ; 591e3 (16:51e3)
+Route8TrainerHeader0: ; 591e3 (16:51e3)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86513,7 +87386,7 @@
 	dw Route8EndBattleText1 ; 0x525f TextEndBattle
 ; 0x591ef
 
-Route8TrainerHeader1: ; 0x591ef
+Route8TrainerHeader1: ; 591ef (16:51ef)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86523,7 +87396,7 @@
 	dw Route8EndBattleText2 ; 0x5278 TextEndBattle
 ; 0x591fb
 
-Route8TrainerHeader2: ; 0x591fb
+Route8TrainerHeader2: ; 591fb (16:51fb)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86533,7 +87406,7 @@
 	dw Route8EndBattleText3 ; 0x5291 TextEndBattle
 ; 0x59207
 
-Route8TrainerHeader3: ; 0x59207
+Route8TrainerHeader3: ; 59207 (16:5207)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86543,7 +87416,7 @@
 	dw Route8EndBattleText4 ; 0x52aa TextEndBattle
 ; 0x59213
 
-Route8TrainerHeader4: ; 0x59213
+Route8TrainerHeader4: ; 59213 (16:5213)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86553,7 +87426,7 @@
 	dw Route8EndBattleText5 ; 0x52c3 TextEndBattle
 ; 0x5921f
 
-Route8TrainerHeader5: ; 0x5921f
+Route8TrainerHeader5: ; 5921f (16:521f)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86563,7 +87436,7 @@
 	dw Route8EndBattleText6 ; 0x52dc TextEndBattle
 ; 0x5922b
 
-Route8TrainerHeader6: ; 0x5922b
+Route8TrainerHeader6: ; 5922b (16:522b)
 	db $7 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86573,7 +87446,7 @@
 	dw Route8EndBattleText7 ; 0x52f5 TextEndBattle
 ; 0x59237
 
-Route8TrainerHeader7: ; 0x59237
+Route8TrainerHeader7: ; 59237 (16:5237)
 	db $8 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86583,7 +87456,7 @@
 	dw Route8EndBattleText8 ; 0x530e TextEndBattle
 ; 0x59243
 
-Route8TrainerHeader8: ; 0x59243
+Route8TrainerHeader8: ; 59243 (16:5243)
 	db $9 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7cd ; flag's byte
@@ -86595,218 +87468,218 @@
 
 db $ff
 
-Route8Text1: ; 0x59250
+Route8Text1: ; 59250 (16:5250)
 	db $8
 	ld hl, Route8TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 ; 0x5925a
 
-Route8BattleText1: ; 0x5925a
+Route8BattleText1: ; 5925a (16:525a)
 	TX_FAR _Route8BattleText1
 	db $50
 ; 0x5925f
 
-Route8EndBattleText1: ; 0x5925f
+Route8EndBattleText1: ; 5925f (16:525f)
 	TX_FAR _Route8EndBattleText1
 	db $50
 ; 0x5925f + 5 bytes
 
-Route8AfterBattleText1: ; 0x59264
+Route8AfterBattleText1: ; 59264 (16:5264)
 	TX_FAR _Route8AfterBattleText1
 	db $50
 ; 0x59264 + 5 bytes
 
-Route8Text2: ; 0x59269
+Route8Text2: ; 59269 (16:5269)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText2: ; 0x59273
+Route8BattleText2: ; 59273 (16:5273)
 	TX_FAR _Route8BattleText2
 	db $50
 ; 0x59273 + 5 bytes
 
-Route8EndBattleText2: ; 0x59278
+Route8EndBattleText2: ; 59278 (16:5278)
 	TX_FAR _Route8EndBattleText2
 	db $50
 ; 0x59278 + 5 bytes
 
-Route8AfterBattleText2: ; 0x5927d
+Route8AfterBattleText2: ; 5927d (16:527d)
 	TX_FAR _Route8AfterBattleText2
 	db $50
 ; 0x5927d + 5 bytes
 
-Route8Text3: ; 0x59282
+Route8Text3: ; 59282 (16:5282)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText3: ; 0x5928c
+Route8BattleText3: ; 5928c (16:528c)
 	TX_FAR _Route8BattleText3
 	db $50
 ; 0x5928c + 5 bytes
 
-Route8EndBattleText3: ; 0x59291
+Route8EndBattleText3: ; 59291 (16:5291)
 	TX_FAR _Route8EndBattleText3
 	db $50
 ; 0x59291 + 5 bytes
 
-Route8AfterBattleText3: ; 0x59296
+Route8AfterBattleText3: ; 59296 (16:5296)
 	TX_FAR _Route8AfterBattleText3
 	db $50
 ; 0x59296 + 5 bytes
 
-Route8Text4: ; 0x5929b
+Route8Text4: ; 5929b (16:529b)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText4: ; 0x592a5
+Route8BattleText4: ; 592a5 (16:52a5)
 	TX_FAR _Route8BattleText4
 	db $50
 ; 0x592a5 + 5 bytes
 
-Route8EndBattleText4: ; 0x592aa
+Route8EndBattleText4: ; 592aa (16:52aa)
 	TX_FAR _Route8EndBattleText4
 	db $50
 ; 0x592aa + 5 bytes
 
-Route8AfterBattleText4: ; 0x592af
+Route8AfterBattleText4: ; 592af (16:52af)
 	TX_FAR _Route8AfterBattleText4
 	db $50
 ; 0x592af + 5 bytes
 
-Route8Text5: ; 0x592b4
+Route8Text5: ; 592b4 (16:52b4)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText5: ; 0x592be
+Route8BattleText5: ; 592be (16:52be)
 	TX_FAR _Route8BattleText5
 	db $50
 ; 0x592be + 5 bytes
 
-Route8EndBattleText5: ; 0x592c3
+Route8EndBattleText5: ; 592c3 (16:52c3)
 	TX_FAR _Route8EndBattleText5
 	db $50
 ; 0x592c3 + 5 bytes
 
-Route8AfterBattleText5: ; 0x592c8
+Route8AfterBattleText5: ; 592c8 (16:52c8)
 	TX_FAR _Route8AfterBattleText5
 	db $50
 ; 0x592c8 + 5 bytes
 
-Route8Text6: ; 0x592cd
+Route8Text6: ; 592cd (16:52cd)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText6: ; 0x592d7
+Route8BattleText6: ; 592d7 (16:52d7)
 	TX_FAR _Route8BattleText6
 	db $50
 ; 0x592d7 + 5 bytes
 
-Route8EndBattleText6: ; 0x592dc
+Route8EndBattleText6: ; 592dc (16:52dc)
 	TX_FAR _Route8EndBattleText6
 	db $50
 ; 0x592dc + 5 bytes
 
-Route8AfterBattleText6: ; 0x592e1
+Route8AfterBattleText6: ; 592e1 (16:52e1)
 	TX_FAR _Route8AfterBattleText6
 	db $50
 ; 0x592e1 + 5 bytes
 
-Route8Text7: ; 0x592e6
+Route8Text7: ; 592e6 (16:52e6)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText7: ; 0x592f0
+Route8BattleText7: ; 592f0 (16:52f0)
 	TX_FAR _Route8BattleText7
 	db $50
 ; 0x592f0 + 5 bytes
 
-Route8EndBattleText7: ; 0x592f5
+Route8EndBattleText7: ; 592f5 (16:52f5)
 	TX_FAR _Route8EndBattleText7
 	db $50
 ; 0x592f5 + 5 bytes
 
-Route8AfterBattleText7: ; 0x592fa
+Route8AfterBattleText7: ; 592fa (16:52fa)
 	TX_FAR _Route8AfterBattleText7
 	db $50
 ; 0x592fa + 5 bytes
 
-Route8Text8: ; 0x592ff
+Route8Text8: ; 592ff (16:52ff)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText8: ; 0x59309
+Route8BattleText8: ; 59309 (16:5309)
 	TX_FAR _Route8BattleText8
 	db $50
 ; 0x59309 + 5 bytes
 
-Route8EndBattleText8: ; 0x5930e
+Route8EndBattleText8: ; 5930e (16:530e)
 	TX_FAR _Route8EndBattleText8
 	db $50
 ; 0x5930e + 5 bytes
 
-Route8AfterBattleText8: ; 0x59313
+Route8AfterBattleText8: ; 59313 (16:5313)
 	TX_FAR _Route8AfterBattleText8
 	db $50
 ; 0x59313 + 5 bytes
 
-Route8Text9: ; 0x59318
+Route8Text9: ; 59318 (16:5318)
 	db $08 ; asm
 	ld hl, Route8TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route8BattleText9: ; 0x59322
+Route8BattleText9: ; 59322 (16:5322)
 	TX_FAR _Route8BattleText9
 	db $50
 ; 0x59322 + 5 bytes
 
-Route8EndBattleText9: ; 0x59327
+Route8EndBattleText9: ; 59327 (16:5327)
 	TX_FAR _Route8EndBattleText9
 	db $50
 ; 0x59327 + 5 bytes
 
-Route8AfterBattleText9: ; 0x5932c
+Route8AfterBattleText9: ; 5932c (16:532c)
 	TX_FAR _Route8AfterBattleText9
 	db $50
 ; 0x5932c + 5 bytes
 
-Route8Text10: ; 0x59331
+Route8Text10: ; 59331 (16:5331)
 	TX_FAR _Route8Text10
 	db $50
 
-Route10Script: ; 0x59336
+Route10Script: ; 59336 (16:5336)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route10TrainerHeaders
 	ld de, Route10_Unknown59349
-	ld a, [$d605]
-	call Func_3160
-	ld [$d605], a
+	ld a, [W_ROUTE10CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE10CURSCRIPT], a
 	ret
 ; 0x59349
 
-Route10_Unknown59349: ; 0x59349
-INCBIN "baserom.gbc",$59349,$6
+Route10_Unknown59349: ; 59349 (16:5349)
+INCBIN "baserom.gbc",$59349,$5934f - $59349
 
-Route10Texts: ; 0x5934f
+Route10Texts: ; 5934f (16:534f)
 	dw Route10Text1, Route10Text2, Route10Text3, Route10Text4, Route10Text5, Route10Text6, Route10Text7, PokeCenterSignText, Route10Text9, Route10Text10
 
-Route10TrainerHeaders:
-Route10TrainerHeader0: ; 0x59363
+Route10TrainerHeaders: ; 59363 (16:5363)
+Route10TrainerHeader0: ; 59363 (16:5363)
 	db $1 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d1 ; flag's byte
@@ -86816,7 +87689,7 @@
 	dw Route10EndBattleText1 ; 0x53bb TextEndBattle
 ; 0x5936f
 
-Route10TrainerHeader1: ; 0x5936f
+Route10TrainerHeader1: ; 5936f (16:536f)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d1 ; flag's byte
@@ -86826,7 +87699,7 @@
 	dw Route10EndBattleText2 ; 0x53d4 TextEndBattle
 ; 0x5937b
 
-Route10TrainerHeader2: ; 0x5937b
+Route10TrainerHeader2: ; 5937b (16:537b)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d1 ; flag's byte
@@ -86836,7 +87709,7 @@
 	dw Route10EndBattleText3 ; 0x53ed TextEndBattle
 ; 0x59387
 
-Route10TrainerHeader3: ; 0x59387
+Route10TrainerHeader3: ; 59387 (16:5387)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d1 ; flag's byte
@@ -86846,7 +87719,7 @@
 	dw Route10EndBattleText4 ; 0x5406 TextEndBattle
 ; 0x59393
 
-Route10TrainerHeader4: ; 0x59393
+Route10TrainerHeader4: ; 59393 (16:5393)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d1 ; flag's byte
@@ -86856,7 +87729,7 @@
 	dw Route10EndBattleText5 ; 0x541f TextEndBattle
 ; 0x5939f
 
-Route10TrainerHeader5: ; 0x5939f
+Route10TrainerHeader5: ; 5939f (16:539f)
 	db $6 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d1 ; flag's byte
@@ -86868,159 +87741,161 @@
 
 db $ff
 
-Route10Text1: ; 0x593ac
+Route10Text1: ; 593ac (16:53ac)
 	db $08 ; asm
 	ld hl, Route10TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route10BattleText1: ; 0x593b6
+Route10BattleText1: ; 593b6 (16:53b6)
 	TX_FAR _Route10BattleText1
 	db $50
 ; 0x593b6 + 5 bytes
 
-Route10EndBattleText1: ; 0x593bb
+Route10EndBattleText1: ; 593bb (16:53bb)
 	TX_FAR _Route10EndBattleText1
 	db $50
 ; 0x593bb + 5 bytes
 
-Route10AfterBattleText1: ; 0x593c0
+Route10AfterBattleText1: ; 593c0 (16:53c0)
 	TX_FAR _Route10AfterBattleText1
 	db $50
 ; 0x593c0 + 5 bytes
 
-Route10Text2: ; 0x593c5
+Route10Text2: ; 593c5 (16:53c5)
 	db $08 ; asm
 	ld hl, Route10TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route10BattleText2: ; 0x593cf
+Route10BattleText2: ; 593cf (16:53cf)
 	TX_FAR _Route10BattleText2
 	db $50
 ; 0x593cf + 5 bytes
 
-Route10EndBattleText2: ; 0x593d4
+Route10EndBattleText2: ; 593d4 (16:53d4)
 	TX_FAR _Route10EndBattleText2
 	db $50
 ; 0x593d4 + 5 bytes
 
-Route10AfterBattleText2: ; 0x593d9
+Route10AfterBattleText2: ; 593d9 (16:53d9)
 	TX_FAR _Route10AfterBattleText2
 	db $50
 ; 0x593d9 + 5 bytes
 
-Route10Text3: ; 0x593de
+Route10Text3: ; 593de (16:53de)
 	db $08 ; asm
 	ld hl, Route10TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route10BattleText3: ; 0x593e8
+Route10BattleText3: ; 593e8 (16:53e8)
 	TX_FAR _Route10BattleText3
 	db $50
 ; 0x593e8 + 5 bytes
 
-Route10EndBattleText3: ; 0x593ed
+Route10EndBattleText3: ; 593ed (16:53ed)
 	TX_FAR _Route10EndBattleText3
 	db $50
 ; 0x593ed + 5 bytes
 
-Route10AfterBattleText3: ; 0x593f2
+Route10AfterBattleText3: ; 593f2 (16:53f2)
 	TX_FAR _Route10AfterBattleText3
 	db $50
 ; 0x593f2 + 5 bytes
 
-Route10Text4: ; 0x593f7
+Route10Text4: ; 593f7 (16:53f7)
 	db $08 ; asm
 	ld hl, Route10TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route10BattleText4: ; 0x59401
+Route10BattleText4: ; 59401 (16:5401)
 	TX_FAR _Route10BattleText4
 	db $50
 ; 0x59401 + 5 bytes
 
-Route10EndBattleText4: ; 0x59406
+Route10EndBattleText4: ; 59406 (16:5406)
 	TX_FAR _Route10EndBattleText4
 	db $50
 ; 0x59406 + 5 bytes
 
-Route10AfterBattleText4: ; 0x5940b
+Route10AfterBattleText4: ; 5940b (16:540b)
 	TX_FAR _Route10AfterBattleText4
 	db $50
 ; 0x5940b + 5 bytes
 
-Route10Text5: ; 0x59410
+Route10Text5: ; 59410 (16:5410)
 	db $08 ; asm
 	ld hl, Route10TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route10BattleText5: ; 0x5941a
+Route10BattleText5: ; 5941a (16:541a)
 	TX_FAR _Route10BattleText5
 	db $50
 ; 0x5941a + 5 bytes
 
-Route10EndBattleText5: ; 0x5941f
+Route10EndBattleText5: ; 5941f (16:541f)
 	TX_FAR _Route10EndBattleText5
 	db $50
 ; 0x5941f + 5 bytes
 
-Route10AfterBattleText5: ; 0x59424
+Route10AfterBattleText5: ; 59424 (16:5424)
 	TX_FAR _Route10AfterBattleText5
 	db $50
 ; 0x59424 + 5 bytes
 
-Route10Text6: ; 0x59429
+Route10Text6: ; 59429 (16:5429)
 	db $08 ; asm
 	ld hl, Route10TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route10BattleText6: ; 0x59433
+Route10BattleText6: ; 59433 (16:5433)
 	TX_FAR _Route10BattleText6
 	db $50
 ; 0x59433 + 5 bytes
 
-Route10EndBattleText6: ; 0x59438
+Route10EndBattleText6: ; 59438 (16:5438)
 	TX_FAR _Route10EndBattleText6
 	db $50
 ; 0x59438 + 5 bytes
 
-Route10AfterBattleText6: ; 0x5943d
+Route10AfterBattleText6: ; 5943d (16:543d)
 	TX_FAR _Route10AfterBattleText6
 	db $50
 ; 0x5943d + 5 bytes
 
-Route10Text9: ; 0x59442
-Route10Text7: ; 0x59442
+Route10Text9: ; 59442 (16:5442)
+Route10Text7: ; 59442 (16:5442)
 	TX_FAR _Route10Text7 ; _Route10Text9
 	db $50
 
-Route10Text10: ; 0x59447
+Route10Text10: ; 59447 (16:5447)
 	TX_FAR _Route10Text10
 	db $50
 
-Route11Script: ; 0x5944c
+Route11Script: ; 5944c (16:544c)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route11TrainerHeaders
 	ld de, Route11_Unknown5945f
-	ld a, [$d623]
-	call Func_3160
-	ld [$d623], a
+	ld a, [W_ROUTE11CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE11CURSCRIPT], a
 	ret
 ; 0x5945f
 
-Route11_Unknown5945f: ; 0x5945f
-INCBIN "baserom.gbc",$5945f,$59465 - $5945f
+Route11_Unknown5945f: ; 5945f (16:545f)
+	dw CheckFightingMapTrainers
+	dw Func_324c
+	dw EndTrainerBattle
 
-Route11Texts: ; 0x59465
+Route11Texts: ; 59465 (16:5465)
 	dw UnnamedText_594f4, Route11Text2, Route11Text3, Route11Text4, Route11Text5, Route11Text6, Route11Text7, Route11Text8, Route11Text9, Route11Text10, Route11Text11
 
-Route11TrainerHeaders:
-Route11TrainerHeader0: ; 0x5947b
+Route11TrainerHeaders: ; 5947b (16:547b)
+Route11TrainerHeader0: ; 5947b (16:547b)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87030,7 +87905,7 @@
 	dw Route11EndBattleText1 ; 0x5503 TextEndBattle
 ; 0x59487
 
-Route11TrainerHeader1: ; 0x59487
+Route11TrainerHeader1: ; 59487 (16:5487)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87040,7 +87915,7 @@
 	dw Route11EndBattleText2 ; 0x551c TextEndBattle
 ; 0x59493
 
-Route11TrainerHeader2: ; 0x59493
+Route11TrainerHeader2: ; 59493 (16:5493)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87050,7 +87925,7 @@
 	dw Route11EndBattleText3 ; 0x5535 TextEndBattle
 ; 0x5949f
 
-Route11TrainerHeader3: ; 0x5949f
+Route11TrainerHeader3: ; 5949f (16:549f)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87060,7 +87935,7 @@
 	dw Route11EndBattleText4 ; 0x554e TextEndBattle
 ; 0x594ab
 
-Route11TrainerHeader4: ; 0x594ab
+Route11TrainerHeader4: ; 594ab (16:54ab)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87070,7 +87945,7 @@
 	dw Route11EndBattleText5 ; 0x5567 TextEndBattle
 ; 0x594b7
 
-Route11TrainerHeader5: ; 0x594b7
+Route11TrainerHeader5: ; 594b7 (16:54b7)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87080,7 +87955,7 @@
 	dw Route11EndBattleText6 ; 0x5580 TextEndBattle
 ; 0x594c3
 
-Route11TrainerHeader6: ; 0x594c3
+Route11TrainerHeader6: ; 594c3 (16:54c3)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87090,7 +87965,7 @@
 	dw Route11EndBattleText7 ; 0x5599 TextEndBattle
 ; 0x594cf
 
-Route11TrainerHeader7: ; 0x594cf
+Route11TrainerHeader7: ; 594cf (16:54cf)
 	db $8 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87100,7 +87975,7 @@
 	dw Route11EndBattleText8 ; 0x55b2 TextEndBattle
 ; 0x594db
 
-Route11TrainerHeader8: ; 0x594db
+Route11TrainerHeader8: ; 594db (16:54db)
 	db $9 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87110,7 +87985,7 @@
 	dw Route11EndBattleText9 ; 0x55cb TextEndBattle
 ; 0x594e7
 
-Route11TrainerHeader9: ; 0x594e7
+Route11TrainerHeader9: ; 594e7 (16:54e7)
 	db $a ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d5 ; flag's byte
@@ -87122,245 +87997,245 @@
 
 db $ff
 
-UnnamedText_594f4: ; 0x594f4
+UnnamedText_594f4: ; 594f4 (16:54f4)
 	db $8
 	ld hl, Route11TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 ; 0x594fe
 
-Route11BattleText1: ; 0x594fe
+Route11BattleText1: ; 594fe (16:54fe)
 	TX_FAR _Route11BattleText1
 	db $50
 ; 0x594fe + 5 bytes
 
-Route11EndBattleText1: ; 0x59503
+Route11EndBattleText1: ; 59503 (16:5503)
 	TX_FAR _Route11EndBattleText1
 	db $50
 ; 0x59503 + 5 bytes
 
-Route11AfterBattleText1: ; 0x59508
+Route11AfterBattleText1: ; 59508 (16:5508)
 	TX_FAR _Route11AfterBattleText1
 	db $50
 ; 0x59508 + 5 bytes
 
-Route11Text2: ; 0x5950d
+Route11Text2: ; 5950d (16:550d)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText2: ; 0x59517
+Route11BattleText2: ; 59517 (16:5517)
 	TX_FAR _Route11BattleText2
 	db $50
 ; 0x59517 + 5 bytes
 
-Route11EndBattleText2: ; 0x5951c
+Route11EndBattleText2: ; 5951c (16:551c)
 	TX_FAR _Route11EndBattleText2
 	db $50
 ; 0x5951c + 5 bytes
 
-Route11AfterBattleText2: ; 0x59521
+Route11AfterBattleText2: ; 59521 (16:5521)
 	TX_FAR _Route11AfterBattleText2
 	db $50
 ; 0x59521 + 5 bytes
 
-Route11Text3: ; 0x59526
+Route11Text3: ; 59526 (16:5526)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText3: ; 0x59530
+Route11BattleText3: ; 59530 (16:5530)
 	TX_FAR _Route11BattleText3
 	db $50
 ; 0x59530 + 5 bytes
 
-Route11EndBattleText3: ; 0x59535
+Route11EndBattleText3: ; 59535 (16:5535)
 	TX_FAR _Route11EndBattleText3
 	db $50
 ; 0x59535 + 5 bytes
 
-Route11AfterBattleText3: ; 0x5953a
+Route11AfterBattleText3: ; 5953a (16:553a)
 	TX_FAR _Route11AfterBattleText3
 	db $50
 ; 0x5953a + 5 bytes
 
-Route11Text4: ; 0x5953f
+Route11Text4: ; 5953f (16:553f)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText4: ; 0x59549
+Route11BattleText4: ; 59549 (16:5549)
 	TX_FAR _Route11BattleText4
 	db $50
 ; 0x59549 + 5 bytes
 
-Route11EndBattleText4: ; 0x5954e
+Route11EndBattleText4: ; 5954e (16:554e)
 	TX_FAR _Route11EndBattleText4
 	db $50
 ; 0x5954e + 5 bytes
 
-Route11AfterBattleText4: ; 0x59553
+Route11AfterBattleText4: ; 59553 (16:5553)
 	TX_FAR _Route11AfterBattleText4
 	db $50
 ; 0x59553 + 5 bytes
 
-Route11Text5: ; 0x59558
+Route11Text5: ; 59558 (16:5558)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText5: ; 0x59562
+Route11BattleText5: ; 59562 (16:5562)
 	TX_FAR _Route11BattleText5
 	db $50
 ; 0x59562 + 5 bytes
 
-Route11EndBattleText5: ; 0x59567
+Route11EndBattleText5: ; 59567 (16:5567)
 	TX_FAR _Route11EndBattleText5
 	db $50
 ; 0x59567 + 5 bytes
 
-Route11AfterBattleText5: ; 0x5956c
+Route11AfterBattleText5: ; 5956c (16:556c)
 	TX_FAR _Route11AfterBattleText5
 	db $50
 ; 0x5956c + 5 bytes
 
-Route11Text6: ; 0x59571
+Route11Text6: ; 59571 (16:5571)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText6: ; 0x5957b
+Route11BattleText6: ; 5957b (16:557b)
 	TX_FAR _Route11BattleText6
 	db $50
 ; 0x5957b + 5 bytes
 
-Route11EndBattleText6: ; 0x59580
+Route11EndBattleText6: ; 59580 (16:5580)
 	TX_FAR _Route11EndBattleText6
 	db $50
 ; 0x59580 + 5 bytes
 
-Route11AfterBattleText6: ; 0x59585
+Route11AfterBattleText6: ; 59585 (16:5585)
 	TX_FAR _Route11AfterBattleText6
 	db $50
 ; 0x59585 + 5 bytes
 
-Route11Text7: ; 0x5958a
+Route11Text7: ; 5958a (16:558a)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText7: ; 0x59594
+Route11BattleText7: ; 59594 (16:5594)
 	TX_FAR _Route11BattleText7
 	db $50
 ; 0x59594 + 5 bytes
 
-Route11EndBattleText7: ; 0x59599
+Route11EndBattleText7: ; 59599 (16:5599)
 	TX_FAR _Route11EndBattleText7
 	db $50
 ; 0x59599 + 5 bytes
 
-Route11AfterBattleText7: ; 0x5959e
+Route11AfterBattleText7: ; 5959e (16:559e)
 	TX_FAR _Route11AfterBattleText7
 	db $50
 ; 0x5959e + 5 bytes
 
-Route11Text8: ; 0x595a3
+Route11Text8: ; 595a3 (16:55a3)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText8: ; 0x595ad
+Route11BattleText8: ; 595ad (16:55ad)
 	TX_FAR _Route11BattleText8
 	db $50
 ; 0x595ad + 5 bytes
 
-Route11EndBattleText8: ; 0x595b2
+Route11EndBattleText8: ; 595b2 (16:55b2)
 	TX_FAR _Route11EndBattleText8
 	db $50
 ; 0x595b2 + 5 bytes
 
-Route11AfterBattleText8: ; 0x595b7
+Route11AfterBattleText8: ; 595b7 (16:55b7)
 	TX_FAR _Route11AfterBattleText8
 	db $50
 ; 0x595b7 + 5 bytes
 
-Route11Text9: ; 0x595bc
+Route11Text9: ; 595bc (16:55bc)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader8
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText9: ; 0x595c6
+Route11BattleText9: ; 595c6 (16:55c6)
 	TX_FAR _Route11BattleText9
 	db $50
 ; 0x595c6 + 5 bytes
 
-Route11EndBattleText9: ; 0x595cb
+Route11EndBattleText9: ; 595cb (16:55cb)
 	TX_FAR _Route11EndBattleText9
 	db $50
 ; 0x595cb + 5 bytes
 
-Route11AfterBattleText9: ; 0x595d0
+Route11AfterBattleText9: ; 595d0 (16:55d0)
 	TX_FAR _Route11AfterBattleText9
 	db $50
 ; 0x595d0 + 5 bytes
 
-Route11Text10: ; 0x595d5
+Route11Text10: ; 595d5 (16:55d5)
 	db $08 ; asm
 	ld hl, Route11TrainerHeader9
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route11BattleText10: ; 0x595df
+Route11BattleText10: ; 595df (16:55df)
 	TX_FAR _Route11BattleText10
 	db $50
 ; 0x595df + 5 bytes
 
-Route11EndBattleText10: ; 0x595e4
+Route11EndBattleText10: ; 595e4 (16:55e4)
 	TX_FAR _Route11EndBattleText10
 	db $50
 ; 0x595e4 + 5 bytes
 
-Route11AfterBattleText10: ; 0x595e9
+Route11AfterBattleText10: ; 595e9 (16:55e9)
 	TX_FAR _Route11AfterBattleText10
 	db $50
 ; 0x595e9 + 5 bytes
 
-Route11Text11: ; 0x595ee
+Route11Text11: ; 595ee (16:55ee)
 	TX_FAR _Route11Text11
 	db $50
 
-Route12Script: ; 0x595f3
+Route12Script: ; 595f3 (16:55f3)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route12TrainerHeaders
-	ld de, $5611
-	ld a, [$d624]
-	call Func_3160
-	ld [$d624], a
+	ld de, .unknown_59611 ; $5611
+	ld a, [W_ROUTE12CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE12CURSCRIPT], a
 	ret
-; 0x59606
-
 .asm_59606
 	xor a
-	ld [$cd6b], a
-	ld [$d624], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE12CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+.unknown_59611: ; 59611 (16:5611)
 INCBIN "baserom.gbc",$59611,$59619 - $59611
+
 	ld hl, $d7d8
 	bit 7, [hl]
-	jp nz, Func_3219
+	jp nz, CheckFightingMapTrainers
 	bit 6, [hl]
 	res 6, [hl]
-	jp z, Func_3219
+	jp z, CheckFightingMapTrainers
 	ld a, $d
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -87373,8 +88248,8 @@
 	ld a, $11
 	call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 	ld a, $3
-	ld [$d624], a
-	ld [$da39], a
+	ld [W_ROUTE12CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
@@ -87391,15 +88266,15 @@
 	set 7, [hl]
 	call Delay3
 	ld a, $0
-	ld [$d624], a
-	ld [$da39], a
+	ld [W_ROUTE12CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 59675 (16:5675)
-Route12Texts: ; 0x59675
+Route12Texts: ; 59675 (16:5675)
 	dw Route12Text1, Route12Text2, Route12Text3, Route12Text4, Route12Text5, Route12Text6, Route12Text7, Route12Text8, Predef5CText, Predef5CText, Route12Text11, Route12Text12, Route12Text13, Route12Text14
 
-Route12TrainerHeaders:
-Route12TrainerHeader0: ; 0x59691
+Route12TrainerHeaders: ; 59691 (16:5691)
+Route12TrainerHeader0: ; 59691 (16:5691)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87409,7 +88284,7 @@
 	dw Route12EndBattleText1 ; 0x5704 TextEndBattle
 ; 0x5969d
 
-Route12TrainerHeader1: ; 0x5969d
+Route12TrainerHeader1: ; 5969d (16:569d)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87419,7 +88294,7 @@
 	dw Route12EndBattleText2 ; 0x571d TextEndBattle
 ; 0x596a9
 
-Route12TrainerHeader2: ; 0x596a9
+Route12TrainerHeader2: ; 596a9 (16:56a9)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87429,7 +88304,7 @@
 	dw Route12EndBattleText3 ; 0x5736 TextEndBattle
 ; 0x596b5
 
-Route12TrainerHeader3: ; 0x596b5
+Route12TrainerHeader3: ; 596b5 (16:56b5)
 	db $5 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87439,7 +88314,7 @@
 	dw Route12EndBattleText4 ; 0x574f TextEndBattle
 ; 0x596c1
 
-Route12TrainerHeader4: ; 0x596c1
+Route12TrainerHeader4: ; 596c1 (16:56c1)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87449,7 +88324,7 @@
 	dw Route12EndBattleText5 ; 0x5768 TextEndBattle
 ; 0x596cd
 
-Route12TrainerHeader5: ; 0x596cd
+Route12TrainerHeader5: ; 596cd (16:56cd)
 	db $7 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87459,7 +88334,7 @@
 	dw Route12EndBattleText6 ; 0x5781 TextEndBattle
 ; 0x596d9
 
-Route12TrainerHeader6: ; 0x596d9
+Route12TrainerHeader6: ; 596d9 (16:56d9)
 	db $8 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7d7 ; flag's byte
@@ -87471,195 +88346,195 @@
 
 db $ff
 
-Route12Text1: ; 0x596e6
+Route12Text1: ; 596e6 (16:56e6)
 	TX_FAR _Route12Text1
 	db $50
 
-Route12Text13:
-UnnamedText_596eb: ; 0x596eb
+Route12Text13: ; 596eb (16:56eb)
+UnnamedText_596eb: ; 596eb (16:56eb)
 	TX_FAR _UnnamedText_596eb
 	db $50
 ; 0x596eb + 5 bytes
 
-Route12Text14:
-UnnamedText_596f0: ; 0x596f0
+Route12Text14: ; 596f0 (16:56f0)
+UnnamedText_596f0: ; 596f0 (16:56f0)
 	TX_FAR _UnnamedText_596f0
 	db $50
 ; 0x596f0 + 5 bytes
 
-Route12Text2: ; 0x596f5
+Route12Text2: ; 596f5 (16:56f5)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText1: ; 0x596ff
+Route12BattleText1: ; 596ff (16:56ff)
 	TX_FAR _Route12BattleText1
 	db $50
 ; 0x596ff + 5 bytes
 
-Route12EndBattleText1: ; 0x59704
+Route12EndBattleText1: ; 59704 (16:5704)
 	TX_FAR _Route12EndBattleText1
 	db $50
 ; 0x59704 + 5 bytes
 
-Route12AfterBattleText1: ; 0x59709
+Route12AfterBattleText1: ; 59709 (16:5709)
 	TX_FAR _Route12AfterBattleText1
 	db $50
 ; 0x59709 + 5 bytes
 
-Route12Text3: ; 0x5970e
+Route12Text3: ; 5970e (16:570e)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText2: ; 0x59718
+Route12BattleText2: ; 59718 (16:5718)
 	TX_FAR _Route12BattleText2
 	db $50
 ; 0x59718 + 5 bytes
 
-Route12EndBattleText2: ; 0x5971d
+Route12EndBattleText2: ; 5971d (16:571d)
 	TX_FAR _Route12EndBattleText2
 	db $50
 ; 0x5971d + 5 bytes
 
-Route12AfterBattleText2: ; 0x59722
+Route12AfterBattleText2: ; 59722 (16:5722)
 	TX_FAR _Route12AfterBattleText2
 	db $50
 ; 0x59722 + 5 bytes
 
-Route12Text4: ; 0x59727
+Route12Text4: ; 59727 (16:5727)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText3: ; 0x59731
+Route12BattleText3: ; 59731 (16:5731)
 	TX_FAR _Route12BattleText3
 	db $50
 ; 0x59731 + 5 bytes
 
-Route12EndBattleText3: ; 0x59736
+Route12EndBattleText3: ; 59736 (16:5736)
 	TX_FAR _Route12EndBattleText3
 	db $50
 ; 0x59736 + 5 bytes
 
-Route12AfterBattleText3: ; 0x5973b
+Route12AfterBattleText3: ; 5973b (16:573b)
 	TX_FAR _Route12AfterBattleText3
 	db $50
 ; 0x5973b + 5 bytes
 
-Route12Text5: ; 0x59740
+Route12Text5: ; 59740 (16:5740)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText4: ; 0x5974a
+Route12BattleText4: ; 5974a (16:574a)
 	TX_FAR _Route12BattleText4
 	db $50
 ; 0x5974a + 5 bytes
 
-Route12EndBattleText4: ; 0x5974f
+Route12EndBattleText4: ; 5974f (16:574f)
 	TX_FAR _Route12EndBattleText4
 	db $50
 ; 0x5974f + 5 bytes
 
-Route12AfterBattleText4: ; 0x59754
+Route12AfterBattleText4: ; 59754 (16:5754)
 	TX_FAR _Route12AfterBattleText4
 	db $50
 ; 0x59754 + 5 bytes
 
-Route12Text6: ; 0x59759
+Route12Text6: ; 59759 (16:5759)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText5: ; 0x59763
+Route12BattleText5: ; 59763 (16:5763)
 	TX_FAR _Route12BattleText5
 	db $50
 ; 0x59763 + 5 bytes
 
-Route12EndBattleText5: ; 0x59768
+Route12EndBattleText5: ; 59768 (16:5768)
 	TX_FAR _Route12EndBattleText5
 	db $50
 ; 0x59768 + 5 bytes
 
-Route12AfterBattleText5: ; 0x5976d
+Route12AfterBattleText5: ; 5976d (16:576d)
 	TX_FAR _Route12AfterBattleText5
 	db $50
 ; 0x5976d + 5 bytes
 
-Route12Text7: ; 0x59772
+Route12Text7: ; 59772 (16:5772)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText6: ; 0x5977c
+Route12BattleText6: ; 5977c (16:577c)
 	TX_FAR _Route12BattleText6
 	db $50
 ; 0x5977c + 5 bytes
 
-Route12EndBattleText6: ; 0x59781
+Route12EndBattleText6: ; 59781 (16:5781)
 	TX_FAR _Route12EndBattleText6
 	db $50
 ; 0x59781 + 5 bytes
 
-Route12AfterBattleText6: ; 0x59786
+Route12AfterBattleText6: ; 59786 (16:5786)
 	TX_FAR _Route12AfterBattleText6
 	db $50
 ; 0x59786 + 5 bytes
 
-Route12Text8: ; 0x5978b
+Route12Text8: ; 5978b (16:578b)
 	db $08 ; asm
 	ld hl, Route12TrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route12BattleText7: ; 0x59795
+Route12BattleText7: ; 59795 (16:5795)
 	TX_FAR _Route12BattleText7
 	db $50
 ; 0x59795 + 5 bytes
 
-Route12EndBattleText7: ; 0x5979a
+Route12EndBattleText7: ; 5979a (16:579a)
 	TX_FAR _Route12EndBattleText7
 	db $50
 ; 0x5979a + 5 bytes
 
-Route12AfterBattleText7: ; 0x5979f
+Route12AfterBattleText7: ; 5979f (16:579f)
 	TX_FAR _Route12AfterBattleText7
 	db $50
 ; 0x5979f + 5 bytes
 
-Route12Text11: ; 0x597a4
+Route12Text11: ; 597a4 (16:57a4)
 	TX_FAR _Route12Text11
 	db $50
 
-Route12Text12: ; 0x597a9
+Route12Text12: ; 597a9 (16:57a9)
 	TX_FAR _Route12Text12
 	db $50
 
-Route15Script: ; 0x597ae
+Route15Script: ; 597ae (16:57ae)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route15TrainerHeaders
 	ld de, Route15_Unknown597c1
-	ld a, [$d625]
-	call Func_3160
-	ld [$d625], a
+	ld a, [W_ROUTE15CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE15CURSCRIPT], a
 	ret
 ; 0x597c1
 
-Route15_Unknown597c1: ; 0x597c1
-INCBIN "baserom.gbc",$597c1,$6
+Route15_Unknown597c1: ; 597c1 (16:57c1)
+INCBIN "baserom.gbc",$597c1,$597c7 - $597c1
 
-Route15Texts: ; 0x597c7
+Route15Texts: ; 597c7 (16:57c7)
 	dw Route15Text1, Route15Text2, Route15Text3, Route15Text4, Route15Text5, Route15Text6, Route15Text7, Route15Text8, Route15Text9, Route15Text10, Predef5CText, Route15Text12
 
-Route15TrainerHeaders:
-Route15TrainerHeader0: ; 0x597df
+Route15TrainerHeaders: ; 597df (16:57df)
+Route15TrainerHeader0: ; 597df (16:57df)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87669,7 +88544,7 @@
 	dw Route15EndBattleText1 ; 0x589d TextEndBattle
 ; 0x597eb
 
-Route15TrainerHeader1: ; 0x597eb
+Route15TrainerHeader1: ; 597eb (16:57eb)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87679,7 +88554,7 @@
 	dw Route15EndBattleText2 ; 0x58ac TextEndBattle
 ; 0x597f7
 
-Route15TrainerHeader2: ; 0x597f7
+Route15TrainerHeader2: ; 597f7 (16:57f7)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87689,7 +88564,7 @@
 	dw Route15EndBattleText3 ; 0x58bb TextEndBattle
 ; 0x59803
 
-Route15TrainerHeader3: ; 0x59803
+Route15TrainerHeader3: ; 59803 (16:5803)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87699,7 +88574,7 @@
 	dw Route15EndBattleText4 ; 0x58ca TextEndBattle
 ; 0x5980f
 
-Route15TrainerHeader4: ; 0x5980f
+Route15TrainerHeader4: ; 5980f (16:580f)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87709,7 +88584,7 @@
 	dw Route15EndBattleText5 ; 0x58d9 TextEndBattle
 ; 0x5981b
 
-Route15TrainerHeader5: ; 0x5981b
+Route15TrainerHeader5: ; 5981b (16:581b)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87719,7 +88594,7 @@
 	dw Route15EndBattleText6 ; 0x58e8 TextEndBattle
 ; 0x59827
 
-Route15TrainerHeader6: ; 0x59827
+Route15TrainerHeader6: ; 59827 (16:5827)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87729,7 +88604,7 @@
 	dw Route15EndBattleText7 ; 0x58f7 TextEndBattle
 ; 0x59833
 
-Route15TrainerHeader7: ; 0x59833
+Route15TrainerHeader7: ; 59833 (16:5833)
 	db $8 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87739,7 +88614,7 @@
 	dw Route15EndBattleText8 ; 0x5906 TextEndBattle
 ; 0x5983f
 
-Route15TrainerHeader8: ; 0x5983f
+Route15TrainerHeader8: ; 5983f (16:583f)
 	db $9 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87749,7 +88624,7 @@
 	dw Route15EndBattleText9 ; 0x5915 TextEndBattle
 ; 0x5984b
 
-Route15TrainerHeader9: ; 0x5984b
+Route15TrainerHeader9: ; 5984b (16:584b)
 	db $a ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7dd ; flag's byte
@@ -87761,220 +88636,220 @@
 
 db $ff
 
-Route15Text1: ; 0x59858
+Route15Text1: ; 59858 (16:5858)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader0
 	jr asm_33cb7 ; 0x5985c $34
 
-Route15Text2:
+Route15Text2: ; 5985e (16:585e)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader1
 	jr asm_33cb7 ; 0x59862 $2e
 
-Route15Text3:
+Route15Text3: ; 59864 (16:5864)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader2
 	jr asm_33cb7 ; 0x59868 $28
 
-Route15Text4:
+Route15Text4: ; 5986a (16:586a)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader3
 	jr asm_33cb7 ; 0x5986e $22
 
-Route15Text5:
+Route15Text5: ; 59870 (16:5870)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader4
 	jr asm_33cb7 ; 0x59874 $1c
 
-Route15Text6:
+Route15Text6: ; 59876 (16:5876)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader5
 	jr asm_33cb7 ; 0x5987a $16
 
-Route15Text7:
+Route15Text7: ; 5987c (16:587c)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader6
 	jr asm_33cb7 ; 0x59880 $10
 
-Route15Text8:
+Route15Text8: ; 59882 (16:5882)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader7
 	jr asm_33cb7 ; 0x59886 $a
 
-Route15Text9:
+Route15Text9: ; 59888 (16:5888)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader8
 	jr asm_33cb7 ; 0x5988c $4
 
-Route15Text10:
+Route15Text10: ; 5988e (16:588e)
 	db $8 ; asm
 	ld hl, Route15TrainerHeader9
-asm_33cb7: ; 0x59892
-	call LoadTrainerHeader
+asm_33cb7: ; 59892 (16:5892)
+	call TalkToTrainer
 	jp TextScriptEnd
 ; 0x59898
 
-Route15BattleText1: ; 0x59898
+Route15BattleText1: ; 59898 (16:5898)
 	TX_FAR _Route15BattleText1
 	db $50
 ; 0x59898 + 5 bytes
 
-Route15EndBattleText1: ; 0x5989d
+Route15EndBattleText1: ; 5989d (16:589d)
 	TX_FAR _Route15EndBattleText1
 	db $50
 ; 0x5989d + 5 bytes
 
-Route15AfterBattleText1: ; 0x598a2
+Route15AfterBattleText1: ; 598a2 (16:58a2)
 	TX_FAR _Route15AfterBattleText1
 	db $50
 ; 0x598a2 + 5 bytes
 
-Route15BattleText2: ; 0x598a7
+Route15BattleText2: ; 598a7 (16:58a7)
 	TX_FAR _Route15BattleText2
 	db $50
 ; 0x598a7 + 5 bytes
 
-Route15EndBattleText2: ; 0x598ac
+Route15EndBattleText2: ; 598ac (16:58ac)
 	TX_FAR _Route15EndBattleText2
 	db $50
 ; 0x598ac + 5 bytes
 
-Route15AfterBattleText2: ; 0x598b1
+Route15AfterBattleText2: ; 598b1 (16:58b1)
 	TX_FAR _Route15AfterBattleText2
 	db $50
 ; 0x598b1 + 5 bytes
 
-Route15BattleText3: ; 0x598b6
+Route15BattleText3: ; 598b6 (16:58b6)
 	TX_FAR _Route15BattleText3
 	db $50
 ; 0x598b6 + 5 bytes
 
-Route15EndBattleText3: ; 0x598bb
+Route15EndBattleText3: ; 598bb (16:58bb)
 	TX_FAR _Route15EndBattleText3
 	db $50
 ; 0x598bb + 5 bytes
 
-Route15AfterBattleText3: ; 0x598c0
+Route15AfterBattleText3: ; 598c0 (16:58c0)
 	TX_FAR _Route15AfterBattleText3
 	db $50
 ; 0x598c0 + 5 bytes
 
-Route15BattleText4: ; 0x598c5
+Route15BattleText4: ; 598c5 (16:58c5)
 	TX_FAR _Route15BattleText4
 	db $50
 ; 0x598c5 + 5 bytes
 
-Route15EndBattleText4: ; 0x598ca
+Route15EndBattleText4: ; 598ca (16:58ca)
 	TX_FAR _Route15EndBattleText4
 	db $50
 ; 0x598ca + 5 bytes
 
-Route15AfterBattleText4: ; 0x598cf
+Route15AfterBattleText4: ; 598cf (16:58cf)
 	TX_FAR _Route15AfterBattleText4
 	db $50
 ; 0x598cf + 5 bytes
 
-Route15BattleText5: ; 0x598d4
+Route15BattleText5: ; 598d4 (16:58d4)
 	TX_FAR _Route15BattleText5
 	db $50
 ; 0x598d4 + 5 bytes
 
-Route15EndBattleText5: ; 0x598d9
+Route15EndBattleText5: ; 598d9 (16:58d9)
 	TX_FAR _Route15EndBattleText5
 	db $50
 ; 0x598d9 + 5 bytes
 
-Route15AfterBattleText5: ; 0x598de
+Route15AfterBattleText5: ; 598de (16:58de)
 	TX_FAR _Route15AfterBattleText5
 	db $50
 ; 0x598de + 5 bytes
 
-Route15BattleText6: ; 0x598e3
+Route15BattleText6: ; 598e3 (16:58e3)
 	TX_FAR _Route15BattleText6
 	db $50
 ; 0x598e3 + 5 bytes
 
-Route15EndBattleText6: ; 0x598e8
+Route15EndBattleText6: ; 598e8 (16:58e8)
 	TX_FAR _Route15EndBattleText6
 	db $50
 ; 0x598e8 + 5 bytes
 
-Route15AfterBattleText6: ; 0x598ed
+Route15AfterBattleText6: ; 598ed (16:58ed)
 	TX_FAR _Route15AfterBattleText6
 	db $50
 ; 0x598ed + 5 bytes
 
-Route15BattleText7: ; 0x598f2
+Route15BattleText7: ; 598f2 (16:58f2)
 	TX_FAR _Route15BattleText7
 	db $50
 ; 0x598f2 + 5 bytes
 
-Route15EndBattleText7: ; 0x598f7
+Route15EndBattleText7: ; 598f7 (16:58f7)
 	TX_FAR _Route15EndBattleText7
 	db $50
 ; 0x598f7 + 5 bytes
 
-Route15AfterBattleText7: ; 0x598fc
+Route15AfterBattleText7: ; 598fc (16:58fc)
 	TX_FAR _Route15AfterBattleText7
 	db $50
 ; 0x598fc + 5 bytes
 
-Route15BattleText8: ; 0x59901
+Route15BattleText8: ; 59901 (16:5901)
 	TX_FAR _Route15BattleText8
 	db $50
 ; 0x59901 + 5 bytes
 
-Route15EndBattleText8: ; 0x59906
+Route15EndBattleText8: ; 59906 (16:5906)
 	TX_FAR _Route15EndBattleText8
 	db $50
 ; 0x59906 + 5 bytes
 
-Route15AfterBattleText8: ; 0x5990b
+Route15AfterBattleText8: ; 5990b (16:590b)
 	TX_FAR _Route15AfterBattleText8
 	db $50
 ; 0x5990b + 5 bytes
 
-Route15BattleText9: ; 0x59910
+Route15BattleText9: ; 59910 (16:5910)
 	TX_FAR _Route15BattleText9
 	db $50
 ; 0x59910 + 5 bytes
 
-Route15EndBattleText9: ; 0x59915
+Route15EndBattleText9: ; 59915 (16:5915)
 	TX_FAR _Route15EndBattleText9
 	db $50
 ; 0x59915 + 5 bytes
 
-Route15AfterBattleText9: ; 0x5991a
+Route15AfterBattleText9: ; 5991a (16:591a)
 	TX_FAR _Route15AfterBattleText9
 	db $50
 ; 0x5991a + 5 bytes
 
-Route15BattleText10: ; 0x5991f
+Route15BattleText10: ; 5991f (16:591f)
 	TX_FAR _Route15BattleText10
 	db $50
 ; 0x5991f + 5 bytes
 
-Route15EndBattleText10: ; 0x59924
+Route15EndBattleText10: ; 59924 (16:5924)
 	TX_FAR _Route15EndBattleText10
 	db $50
 ; 0x59924 + 5 bytes
 
-Route15AfterBattleText10: ; 0x59929
+Route15AfterBattleText10: ; 59929 (16:5929)
 	TX_FAR _Route15AfterBattleText10
 	db $50
 ; 0x59929 + 5 bytes
 
-Route15Text12: ; 0x5992e
+Route15Text12: ; 5992e (16:592e)
 	TX_FAR _Route15Text12
 	db $50
 
-Route16Script: ; 0x59933
+Route16Script: ; 59933 (16:5933)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route16TrainerHeaders
-	ld de, $5951
-	ld a, [$d626]
-	call Func_3160
-	ld [$d626], a
+	ld de, Unknown_59951 ; $5951
+	ld a, [W_ROUTE16CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE16CURSCRIPT], a
 	ret
 ; 0x59946
 
@@ -87981,18 +88856,19 @@
 ; known jump sources: 59994 (16:5994)
 Func_59946: ; 59946 (16:5946)
 	xor a
-	ld [$cd6b], a
-	ld [$d626], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_ROUTE16CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_59951: ; 59951 (16:5951)
 INCBIN "baserom.gbc",$59951,$59959 - $59951
 	ld hl, $d7e0
 	bit 1, [hl]
-	jp nz, Func_3219
+	jp nz, CheckFightingMapTrainers
 	bit 0, [hl]
 	res 0, [hl]
-	jp z, Func_3219
+	jp z, CheckFightingMapTrainers
 	ld a, $a
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -88006,8 +88882,8 @@
 	call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 	call UpdateSprites
 	ld a, $3
-	ld [$d626], a
-	ld [$da39], a
+	ld [W_ROUTE16CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
@@ -88024,15 +88900,15 @@
 	set 1, [hl]
 	call Delay3
 	ld a, $0
-	ld [$d626], a
-	ld [$da39], a
+	ld [W_ROUTE16CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 599b9 (16:59b9)
-Route16Texts: ; 0x599b9
+Route16Texts: ; 599b9 (16:59b9)
 	dw Route16Text1, Route16Text2, Route16Text3, Route16Text4, Route16Text5, Route16Text6, Route16Text7, Route16Text8, Route16Text9, Route16Text10, Route16Text11
 
-Route16TrainerHeaders:
-Route16TrainerHeader0: ; 0x599cf
+Route16TrainerHeaders: ; 599cf (16:59cf)
+Route16TrainerHeader0: ; 599cf (16:59cf)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7df ; flag's byte
@@ -88042,7 +88918,7 @@
 	dw Route16EndBattleText1 ; 0x5a27 TextEndBattle
 ; 0x599db
 
-Route16TrainerHeader1: ; 0x599db
+Route16TrainerHeader1: ; 599db (16:59db)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7df ; flag's byte
@@ -88052,7 +88928,7 @@
 	dw Route16EndBattleText2 ; 0x5a40 TextEndBattle
 ; 0x599e7
 
-Route16TrainerHeader2: ; 0x599e7
+Route16TrainerHeader2: ; 599e7 (16:59e7)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7df ; flag's byte
@@ -88062,7 +88938,7 @@
 	dw Route16EndBattleText3 ; 0x5a59 TextEndBattle
 ; 0x599f3
 
-Route16TrainerHeader3: ; 0x599f3
+Route16TrainerHeader3: ; 599f3 (16:59f3)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7df ; flag's byte
@@ -88072,7 +88948,7 @@
 	dw Route16EndBattleText4 ; 0x5a72 TextEndBattle
 ; 0x599ff
 
-Route16TrainerHeader4: ; 0x599ff
+Route16TrainerHeader4: ; 599ff (16:59ff)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d7df ; flag's byte
@@ -88082,7 +88958,7 @@
 	dw Route16EndBattleText5 ; 0x5a8b TextEndBattle
 ; 0x59a0b
 
-Route16TrainerHeader5: ; 0x59a0b
+Route16TrainerHeader5: ; 59a0b (16:5a0b)
 	db $6 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7df ; flag's byte
@@ -88094,172 +88970,172 @@
 
 db $ff
 
-Route16Text1: ; 0x59a18
+Route16Text1: ; 59a18 (16:5a18)
 	db $08 ; asm
 	ld hl, Route16TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route16BattleText1: ; 0x59a22
+Route16BattleText1: ; 59a22 (16:5a22)
 	TX_FAR _Route16BattleText1
 	db $50
 ; 0x59a22 + 5 bytes
 
-Route16EndBattleText1: ; 0x59a27
+Route16EndBattleText1: ; 59a27 (16:5a27)
 	TX_FAR _Route16EndBattleText1
 	db $50
 ; 0x59a27 + 5 bytes
 
-Route16AfterBattleText1: ; 0x59a2c
+Route16AfterBattleText1: ; 59a2c (16:5a2c)
 	TX_FAR _Route16AfterBattleText1
 	db $50
 ; 0x59a2c + 5 bytes
 
-Route16Text2: ; 0x59a31
+Route16Text2: ; 59a31 (16:5a31)
 	db $08 ; asm
 	ld hl, Route16TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route16BattleText2: ; 0x59a3b
+Route16BattleText2: ; 59a3b (16:5a3b)
 	TX_FAR _Route16BattleText2
 	db $50
 ; 0x59a3b + 5 bytes
 
-Route16EndBattleText2: ; 0x59a40
+Route16EndBattleText2: ; 59a40 (16:5a40)
 	TX_FAR _Route16EndBattleText2
 	db $50
 ; 0x59a40 + 5 bytes
 
-Route16AfterBattleText2: ; 0x59a45
+Route16AfterBattleText2: ; 59a45 (16:5a45)
 	TX_FAR _Route16AfterBattleText2
 	db $50
 ; 0x59a45 + 5 bytes
 
-Route16Text3: ; 0x59a4a
+Route16Text3: ; 59a4a (16:5a4a)
 	db $08 ; asm
 	ld hl, Route16TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route16BattleText3: ; 0x59a54
+Route16BattleText3: ; 59a54 (16:5a54)
 	TX_FAR _Route16BattleText3
 	db $50
 ; 0x59a54 + 5 bytes
 
-Route16EndBattleText3: ; 0x59a59
+Route16EndBattleText3: ; 59a59 (16:5a59)
 	TX_FAR _Route16EndBattleText3
 	db $50
 ; 0x59a59 + 5 bytes
 
-Route16AfterBattleText3: ; 0x59a5e
+Route16AfterBattleText3: ; 59a5e (16:5a5e)
 	TX_FAR _Route16AfterBattleText3
 	db $50
 ; 0x59a5e + 5 bytes
 
-Route16Text4: ; 0x59a63
+Route16Text4: ; 59a63 (16:5a63)
 	db $08 ; asm
 	ld hl, Route16TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route16BattleText4: ; 0x59a6d
+Route16BattleText4: ; 59a6d (16:5a6d)
 	TX_FAR _Route16BattleText4
 	db $50
 ; 0x59a6d + 5 bytes
 
-Route16EndBattleText4: ; 0x59a72
+Route16EndBattleText4: ; 59a72 (16:5a72)
 	TX_FAR _Route16EndBattleText4
 	db $50
 ; 0x59a72 + 5 bytes
 
-Route16AfterBattleText4: ; 0x59a77
+Route16AfterBattleText4: ; 59a77 (16:5a77)
 	TX_FAR _Route16AfterBattleText4
 	db $50
 ; 0x59a77 + 5 bytes
 
-Route16Text5: ; 0x59a7c
+Route16Text5: ; 59a7c (16:5a7c)
 	db $08 ; asm
 	ld hl, Route16TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route16BattleText5: ; 0x59a86
+Route16BattleText5: ; 59a86 (16:5a86)
 	TX_FAR _Route16BattleText5
 	db $50
 ; 0x59a86 + 5 bytes
 
-Route16EndBattleText5: ; 0x59a8b
+Route16EndBattleText5: ; 59a8b (16:5a8b)
 	TX_FAR _Route16EndBattleText5
 	db $50
 ; 0x59a8b + 5 bytes
 
-Route16AfterBattleText5: ; 0x59a90
+Route16AfterBattleText5: ; 59a90 (16:5a90)
 	TX_FAR _Route16AfterBattleText5
 	db $50
 ; 0x59a90 + 5 bytes
 
-Route16Text6: ; 0x59a95
+Route16Text6: ; 59a95 (16:5a95)
 	db $08 ; asm
 	ld hl, Route16TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route16BattleText6: ; 0x59a9f
+Route16BattleText6: ; 59a9f (16:5a9f)
 	TX_FAR _Route16BattleText6
 	db $50
 ; 0x59a9f + 5 bytes
 
-Route16EndBattleText6: ; 0x59aa4
+Route16EndBattleText6: ; 59aa4 (16:5aa4)
 	TX_FAR _Route16EndBattleText6
 	db $50
 ; 0x59aa4 + 5 bytes
 
-Route16AfterBattleText6: ; 0x59aa9
+Route16AfterBattleText6: ; 59aa9 (16:5aa9)
 	TX_FAR _Route16AfterBattleText6
 	db $50
 ; 0x59aa9 + 5 bytes
 
-Route16Text7: ; 0x59aae
+Route16Text7: ; 59aae (16:5aae)
 	TX_FAR _Route16Text7
 	db $50
 
-Route16Text10: ; 0x59ab3
+Route16Text10: ; 59ab3 (16:5ab3)
 	TX_FAR _UnnamedText_59ab3
 	db $50
 ; 0x59ab3 + 5 bytes
 
-Route16Text11: ; 0x59ab8
+Route16Text11: ; 59ab8 (16:5ab8)
 	TX_FAR _UnnamedText_59ab8
 	db $50
 ; 0x59ab8 + 5 bytes
 
-Route16Text8: ; 0x59abd
+Route16Text8: ; 59abd (16:5abd)
 	TX_FAR _Route16Text8
 	db $50
 
-Route16Text9: ; 0x59ac2
+Route16Text9: ; 59ac2 (16:5ac2)
 	TX_FAR _Route16Text9
 	db $50
 
-Route18Script: ; 0x59ac7
+Route18Script: ; 59ac7 (16:5ac7)
 	call EnableAutoTextBoxDrawing
 	ld hl, Route18TrainerHeaders
 	ld de, Route18_Unknown59ada
-	ld a, [$d627]
-	call Func_3160
-	ld [$d627], a
+	ld a, [W_ROUTE18CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_ROUTE18CURSCRIPT], a
 	ret
 ; 0x59ada
 
-Route18_Unknown59ada: ; 0x59ada
-INCBIN "baserom.gbc",$59ada,$6
+Route18_Unknown59ada: ; 59ada (16:5ada)
+INCBIN "baserom.gbc",$59ada,$59ae0 - $59ada
 
-Route18Texts: ; 0x59ae0
+Route18Texts: ; 59ae0 (16:5ae0)
 	dw Route18Text1, Route18Text2, Route18Text3, Route18Text4, Route18Text5
 
-Route18TrainerHeaders:
-Route18TrainerHeader0: ; 0x59aea
+Route18TrainerHeaders: ; 59aea (16:5aea)
+Route18TrainerHeader0: ; 59aea (16:5aea)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e3 ; flag's byte
@@ -88269,7 +89145,7 @@
 	dw Route18EndBattleText1 ; 0x5b1e TextEndBattle
 ; 0x59af6
 
-Route18TrainerHeader1: ; 0x59af6
+Route18TrainerHeader1: ; 59af6 (16:5af6)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7e3 ; flag's byte
@@ -88279,7 +89155,7 @@
 	dw Route18EndBattleText2 ; 0x5b37 TextEndBattle
 ; 0x59b02
 
-Route18TrainerHeader2: ; 0x59b02
+Route18TrainerHeader2: ; 59b02 (16:5b02)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7e3 ; flag's byte
@@ -88291,74 +89167,74 @@
 
 db $ff
 
-Route18Text1: ; 0x59b0f
+Route18Text1: ; 59b0f (16:5b0f)
 	db $08 ; asm
 	ld hl, Route18TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route18BattleText1: ; 0x59b19
+Route18BattleText1: ; 59b19 (16:5b19)
 	TX_FAR _Route18BattleText1
 	db $50
 ; 0x59b19 + 5 bytes
 
-Route18EndBattleText1: ; 0x59b1e
+Route18EndBattleText1: ; 59b1e (16:5b1e)
 	TX_FAR _Route18EndBattleText1
 	db $50
 ; 0x59b1e + 5 bytes
 
-Route18AfterBattleText1: ; 0x59b23
+Route18AfterBattleText1: ; 59b23 (16:5b23)
 	TX_FAR _Route18AfterBattleText1
 	db $50
 ; 0x59b23 + 5 bytes
 
-Route18Text2: ; 0x59b28
+Route18Text2: ; 59b28 (16:5b28)
 	db $08 ; asm
 	ld hl, Route18TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route18BattleText2: ; 0x59b32
+Route18BattleText2: ; 59b32 (16:5b32)
 	TX_FAR _Route18BattleText2
 	db $50
 ; 0x59b32 + 5 bytes
 
-Route18EndBattleText2: ; 0x59b37
+Route18EndBattleText2: ; 59b37 (16:5b37)
 	TX_FAR _Route18EndBattleText2
 	db $50
 ; 0x59b37 + 5 bytes
 
-Route18AfterBattleText2: ; 0x59b3c
+Route18AfterBattleText2: ; 59b3c (16:5b3c)
 	TX_FAR _Route18AfterBattleText2
 	db $50
 ; 0x59b3c + 5 bytes
 
-Route18Text3: ; 0x59b41
+Route18Text3: ; 59b41 (16:5b41)
 	db $08 ; asm
 	ld hl, Route18TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-Route18BattleText3: ; 0x59b4b
+Route18BattleText3: ; 59b4b (16:5b4b)
 	TX_FAR _Route18BattleText3
 	db $50
 ; 0x59b4b + 5 bytes
 
-Route18EndBattleText3: ; 0x59b50
+Route18EndBattleText3: ; 59b50 (16:5b50)
 	TX_FAR _Route18EndBattleText3
 	db $50
 ; 0x59b50 + 5 bytes
 
-Route18AfterBattleText3: ; 0x59b55
+Route18AfterBattleText3: ; 59b55 (16:5b55)
 	TX_FAR _Route18AfterBattleText3
 	db $50
 ; 0x59b55 + 5 bytes
 
-Route18Text4: ; 0x59b5a
+Route18Text4: ; 59b5a (16:5b5a)
 	TX_FAR _Route18Text4
 	db $50
 
-Route18Text5: ; 0x59b5f
+Route18Text5: ; 59b5f (16:5b5f)
 	TX_FAR _Route18Text5
 	db $50
 
@@ -88370,7 +89246,7 @@
 
 	dw FanClubObject ; objects
 
-FanClubScript: ; 0x59b70
+FanClubScript: ; 59b70 (16:5b70)
 	jp EnableAutoTextBoxDrawing
 ; 0x59b73
 
@@ -88385,10 +89261,10 @@
 	ld b, $2d
 	jp IsItemInBag
 ; 59b84 (16:5b84)
-FanClubTexts: ; 0x59b84
+FanClubTexts: ; 59b84 (16:5b84)
 	dw FanClubText1, FanClubText2, FanClubText3, FanClubText4, FanClubText5, FanClubText6, FanClubText7, FanClubText8
 
-FanClubText1: ; 0x59b94
+FanClubText1: ; 59b94 (16:5b94)
 	db $08 ; asm
 	ld a, [$d771]
 	bit 7, a
@@ -88406,17 +89282,17 @@
 asm_64f01 ; 0x59bb4
 	jp TextScriptEnd
 
-UnnamedText_59bb7: ; 0x59bb7
+UnnamedText_59bb7: ; 59bb7 (16:5bb7)
 	TX_FAR _UnnamedText_59bb7
 	db $50
 ; 0x59bb7 + 5 bytes
 
-UnnamedText_59bbc: ; 0x59bbc
+UnnamedText_59bbc: ; 59bbc (16:5bbc)
 	TX_FAR _UnnamedText_59bbc
 	db $50
 ; 0x59bbc + 5 bytes
 
-FanClubText2: ; 0x59bc1
+FanClubText2: ; 59bc1 (16:5bc1)
 	db $08 ; asm
 	ld a, [$d771]
 	bit 6, a
@@ -88434,52 +89310,52 @@
 asm_59625 ; 0x59be1
 	jp TextScriptEnd
 
-UnnamedText_59be4: ; 0x59be4
+UnnamedText_59be4: ; 59be4 (16:5be4)
 	TX_FAR _UnnamedText_59be4
 	db $50
 ; 0x59be4 + 5 bytes
 
-UnnamedText_59be9: ; 0x59be9
+UnnamedText_59be9: ; 59be9 (16:5be9)
 	TX_FAR _UnnamedText_59be9
 	db $50
 ; 0x59be9 + 5 bytes
 
-FanClubText3: ; 0x59bee
+FanClubText3: ; 59bee (16:5bee)
 	db $8
 	ld hl, UnnamedText_59c00
 	call PrintText
 	ld a, PIKACHU
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 0x59c00
 
-UnnamedText_59c00: ; 0x59c00
+UnnamedText_59c00: ; 59c00 (16:5c00)
 	TX_FAR _UnnamedText_59c00
 	db $50
 ; 0x59c00 + 5 bytes
 
-FanClubText4: ; 0x59c05
+FanClubText4: ; 59c05 (16:5c05)
 	db $08 ; asm
 	ld hl, UnnamedText_59c17
 	call PrintText
 	ld a, SEEL
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 
-UnnamedText_59c17: ; 0x59c17
+UnnamedText_59c17: ; 59c17 (16:5c17)
 	TX_FAR _UnnamedText_59c17
 	db $50
 ; 0x59c17 + 5 bytes
 
-FanClubText5: ; 0x59c1c
+FanClubText5: ; 59c1c (16:5c1c)
 	db $08 ; asm
 	call Func_59b73
 	jr nz, asm_38bb3 ; 0x59c20
 	ld hl, UnnamedText_59c65
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, asm_2c8d7 ; 0x59c2f
@@ -88507,17 +89383,17 @@
 asm_d3c26 ; 0x59c62
 	jp TextScriptEnd
 
-UnnamedText_59c65: ; 0x59c65
+UnnamedText_59c65: ; 59c65 (16:5c65)
 	TX_FAR _UnnamedText_59c65
 	db $50
 ; 0x59c65 + 5 bytes
 
-UnnamedText_59c6a: ; 0x59c6a
+UnnamedText_59c6a: ; 59c6a (16:5c6a)
 	TX_FAR _UnnamedText_59c6a
 	db $50
 ; 0x59c6a + 5 bytes
 
-ReceivedBikeVoucherText: ; 0x59c6f
+ReceivedBikeVoucherText: ; 59c6f (16:5c6f)
 	TX_FAR _ReceivedBikeVoucherText ; 0x9a82e
 	db $11
 	TX_FAR _UnnamedText_59c74 ; 0x9a844
@@ -88524,30 +89400,30 @@
 	db $50
 ; 0x59c6f + 10 bytes = 0x59c79
 
-UnnamedText_59c79: ; 0x59c79
+UnnamedText_59c79: ; 59c79 (16:5c79)
 	TX_FAR _UnnamedText_59c79
 	db $50
 ; 0x59c79 + 5 bytes
 
-UnnamedText_59c7e: ; 0x59c7e
+UnnamedText_59c7e: ; 59c7e (16:5c7e)
 	TX_FAR _UnnamedText_59c7e
 	db $50
 ; 0x59c7e + 5 bytes
 
-UnnamedText_59c83: ; 0x59c83
+UnnamedText_59c83: ; 59c83 (16:5c83)
 	TX_FAR _UnnamedText_59c83
 	db $50
 ; 0x59c83 + 5 bytes
 
-FanClubText6:
+FanClubText6: ; 59c88 (16:5c88)
 	TX_FAR _FanClubText6
 	db $50
 
-FanClubText7:
+FanClubText7: ; 59c8d (16:5c8d)
 	TX_FAR _FanClubText7
 	db $50
 
-FanClubText8: ; 0x59c92
+FanClubText8: ; 59c92 (16:5c92)
 	TX_FAR _FanClubText8
 	db $50
 
@@ -88574,7 +89450,7 @@
 	EVENT_DISP $4, $7, $2
 	EVENT_DISP $4, $7, $3
 
-FanClubBlocks: ; 0x59cd5 16
+FanClubBlocks: ; 59cd5 (16:5cd5)
 	INCBIN "maps/fanclub.blk"
 
 SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207)
@@ -88585,18 +89461,18 @@
 
 	dw SilphCo2Object ; objects
 
-SilphCo2Script: ; 0x59cf1
+SilphCo2Script: ; 59cf1 (16:5cf1)
 	call SilphCo2_Unknown59d07
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo2TrainerHeaders
-	ld de, $5d80
-	ld a, [$d643]
-	call Func_3160
-	ld [$d643], a
+	ld de, Unknown_59d80 ; $5d80
+	ld a, [W_SILPHCO2CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO2CURSCRIPT], a
 	ret
 ; 0x59d07
 
-SilphCo2_Unknown59d07: ; 0x59d07
+SilphCo2_Unknown59d07: ; 59d07 (16:5d07)
 INCBIN "baserom.gbc",$59d07,$59d43 - $59d07
 
 ; known jump sources: 59f7c (16:5f7c), 5a15a (16:615a)
@@ -88636,13 +89512,16 @@
 	ld [$FF00+$e0], a
 	ret
 
-INCBIN "baserom.gbc",$59d6f,$59d86 - $59d6f
+INCBIN "baserom.gbc",$59d6f,$59d80 - $59d6f
 
-SilphCo2Texts: ; 0x59d86
+Unknown_59d80: ; 59d80 (16:5d80)
+INCBIN "baserom.gbc",$59d80,$59d86 - $59d80
+
+SilphCo2Texts: ; 59d86 (16:5d86)
 	dw SilphCo2Text1, SilphCo2Text2, SilphCo2Text3, SilphCo2Text4, SilphCo2Text5
 
-SilphCo2TrainerHeaders:
-SilphCo2TrainerHeader0: ; 0x59d90
+SilphCo2TrainerHeaders: ; 59d90 (16:5d90)
+SilphCo2TrainerHeader0: ; 59d90 (16:5d90)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d825 ; flag's byte
@@ -88652,7 +89531,7 @@
 	dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle
 ; 0x59d9c
 
-SilphCo2TrainerHeader1: ; 0x59d9c
+SilphCo2TrainerHeader1: ; 59d9c (16:5d9c)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d825 ; flag's byte
@@ -88662,7 +89541,7 @@
 	dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle
 ; 0x59da8
 
-SilphCo2TrainerHeader2: ; 0x59da8
+SilphCo2TrainerHeader2: ; 59da8 (16:5da8)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d825 ; flag's byte
@@ -88672,7 +89551,7 @@
 	dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle
 ; 0x59db4
 
-SilphCo2TrainerHeader3: ; 0x59db4
+SilphCo2TrainerHeader3: ; 59db4 (16:5db4)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d825 ; flag's byte
@@ -88684,7 +89563,7 @@
 
 db $ff
 
-SilphCo2Text1: ; 0x59dc1
+SilphCo2Text1: ; 59dc1 (16:5dc1)
 	db $08 ; asm
 	ld a, [$d826]
 	bit 7, a
@@ -88705,106 +89584,106 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_59ded: ; 0x59ded
+UnnamedText_59ded: ; 59ded (16:5ded)
 	TX_FAR _UnnamedText_59ded
 	db $50
 ; 0x59ded + 5 bytes
 
-ReceivedTM36Text: ; 0x59df2
+ReceivedTM36Text: ; 59df2 (16:5df2)
 	TX_FAR _ReceivedTM36Text ; 0x824ba
 	db $0B, $50
 ; 0x59df2 + 6 bytes = 0x59df8
 
-TM36ExplanationText: ; 0x59df8
+TM36ExplanationText: ; 59df8 (16:5df8)
 	TX_FAR _TM36ExplanationText
 	db $50
 ; 0x59df8 + 5 bytes
 
-TM36NoRoomText: ; 0x59dfd
+TM36NoRoomText: ; 59dfd (16:5dfd)
 	TX_FAR _TM36NoRoomText
 	db $50
 ; 0x59dfd + 5 bytes
 
-SilphCo2Text2: ; 0x59e02
+SilphCo2Text2: ; 59e02 (16:5e02)
 	db $08 ; asm
 	ld hl, SilphCo2TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo2Text3: ; 0x59e0c
+SilphCo2Text3: ; 59e0c (16:5e0c)
 	db $08 ; asm
 	ld hl, SilphCo2TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo2Text4: ; 0x59e16
+SilphCo2Text4: ; 59e16 (16:5e16)
 	db $08 ; asm
 	ld hl, SilphCo2TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo2Text5: ; 0x59e20
+SilphCo2Text5: ; 59e20 (16:5e20)
 	db $08 ; asm
 	ld hl, SilphCo2TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo2BattleText1: ; 0x59e2a
+SilphCo2BattleText1: ; 59e2a (16:5e2a)
 	TX_FAR _SilphCo2BattleText1
 	db $50
 ; 0x59e2a + 5 bytes
 
-SilphCo2EndBattleText1: ; 0x59e2f
+SilphCo2EndBattleText1: ; 59e2f (16:5e2f)
 	TX_FAR _SilphCo2EndBattleText1
 	db $50
 ; 0x59e2f + 5 bytes
 
-SilphCo2AfterBattleText1: ; 0x59e34
+SilphCo2AfterBattleText1: ; 59e34 (16:5e34)
 	TX_FAR _SilphCo2AfterBattleText1
 	db $50
 ; 0x59e34 + 5 bytes
 
-SilphCo2BattleText2: ; 0x59e39
+SilphCo2BattleText2: ; 59e39 (16:5e39)
 	TX_FAR _SilphCo2BattleText2
 	db $50
 ; 0x59e39 + 5 bytes
 
-SilphCo2EndBattleText2: ; 0x59e3e
+SilphCo2EndBattleText2: ; 59e3e (16:5e3e)
 	TX_FAR _SilphCo2EndBattleText2
 	db $50
 ; 0x59e3e + 5 bytes
 
-SilphCo2AfterBattleText2: ; 0x59e43
+SilphCo2AfterBattleText2: ; 59e43 (16:5e43)
 	TX_FAR _SilphCo2AfterBattleText2
 	db $50
 ; 0x59e43 + 5 bytes
 
-SilphCo2BattleText3: ; 0x59e48
+SilphCo2BattleText3: ; 59e48 (16:5e48)
 	TX_FAR _SilphCo2BattleText3
 	db $50
 ; 0x59e48 + 5 bytes
 
-SilphCo2EndBattleText3: ; 0x59e4d
+SilphCo2EndBattleText3: ; 59e4d (16:5e4d)
 	TX_FAR _SilphCo2EndBattleText3
 	db $50
 ; 0x59e4d + 5 bytes
 
-SilphCo2AfterBattleText3: ; 0x59e52
+SilphCo2AfterBattleText3: ; 59e52 (16:5e52)
 	TX_FAR _SilphCo2AfterBattleText3
 	db $50
 ; 0x59e52 + 5 bytes
 
-SilphCo2BattleText4: ; 0x59e57
+SilphCo2BattleText4: ; 59e57 (16:5e57)
 	TX_FAR _SilphCo2BattleText4
 	db $50
 ; 0x59e57 + 5 bytes
 
-SilphCo2EndBattleText4: ; 0x59e5c
+SilphCo2EndBattleText4: ; 59e5c (16:5e5c)
 	TX_FAR _SilphCo2EndBattleText4
 	db $50
 ; 0x59e5c + 5 bytes
 
-SilphCo2AfterBattleText4: ; 0x59e61
+SilphCo2AfterBattleText4: ; 59e61 (16:5e61)
 	TX_FAR _SilphCo2AfterBattleText4
 	db $50
 ; 0x59e61 + 5 bytes
@@ -88839,7 +89718,7 @@
 	EVENT_DISP $f, $f, $1b ; SILPH_CO_8F
 	EVENT_DISP $f, $f, $9 ; SILPH_CO_6F
 
-SilphCo2Blocks: ; 0x59ec8 135
+SilphCo2Blocks: ; 59ec8 (16:5ec8)
 	INCBIN "maps/silphco2.blk"
 
 SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208)
@@ -88850,23 +89729,23 @@
 
 	dw SilphCo3Object ; objects
 
-SilphCo3Script: ; 0x59f5b
+SilphCo3Script: ; 59f5b (16:5f5b)
 	call SilphCo3Script_Unknown59f71
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo3TrainerHeaders
-	ld de, $5fbe
-	ld a, [$d644]
-	call Func_3160
-	ld [$d644], a
+	ld de, Unknown_59fbe ; $5fbe
+	ld a, [W_SILPHCO3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO3CURSCRIPT], a
 	ret
 ; 0x59f71
 
-SilphCo3Script_Unknown59f71: ; 0x59f71
+SilphCo3Script_Unknown59f71: ; 59f71 (16:5f71)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
 	ret z
-	ld hl, $5fa8
+	ld hl, Unknown_59fa8 ; $5fa8
 	call Func_59d43
 	call Func_59fad
 	ld a, [$d828]
@@ -88888,6 +89767,7 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_59fa8: ; 59fa8 (16:5fa8)
 INCBIN "baserom.gbc",$59fa8,$59fad - $59fa8
 
 ; known jump sources: 59f7f (16:5f7f)
@@ -88904,13 +89784,14 @@
 	set 1, [hl]
 	ret
 
+Unknown_59fbe: ; 59fbe (16:5fbe)
 INCBIN "baserom.gbc",$59fbe,$59fc4 - $59fbe
 
-SilphCo3Texts: ; 0x59fc4
+SilphCo3Texts: ; 59fc4 (16:5fc4)
 	dw SilphCo3Text1, SilphCo3Text2, SilphCo3Text3, Predef5CText
 
-SilphCo3TrainerHeaders:
-SilphCo3TrainerHeader0: ; 0x59fcc
+SilphCo3TrainerHeaders: ; 59fcc (16:5fcc)
+SilphCo3TrainerHeader0: ; 59fcc (16:5fcc)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d827 ; flag's byte
@@ -88920,7 +89801,7 @@
 	dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle
 ; 0x59fd8
 
-SilphCo3TrainerHeader1: ; 0x59fd8
+SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d827 ; flag's byte
@@ -88932,7 +89813,7 @@
 
 db $ff
 
-SilphCo3Text1: ; 0x59fe5
+SilphCo3Text1: ; 59fe5 (16:5fe5)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 7, a
@@ -88943,54 +89824,54 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_59ff9: ; 0x59ff9
+UnnamedText_59ff9: ; 59ff9 (16:5ff9)
 	TX_FAR _UnnamedText_59ff9
 	db $50
 ; 0x59ff9 + 5 bytes
 
-UnnamedText_59ffe: ; 0x59ffe
+UnnamedText_59ffe: ; 59ffe (16:5ffe)
 	TX_FAR _UnnamedText_59ffe
 	db $50
 ; 0x59ffe + 5 bytes
 
-SilphCo3Text2: ; 0x5a003
+SilphCo3Text2: ; 5a003 (16:6003)
 	db $08 ; asm
 	ld hl, SilphCo3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo3BattleText1: ; 0x5a00d
+SilphCo3BattleText1: ; 5a00d (16:600d)
 	TX_FAR _SilphCo3BattleText1
 	db $50
 ; 0x5a00d + 5 bytes
 
-SilphCo3EndBattleText1: ; 0x5a012
+SilphCo3EndBattleText1: ; 5a012 (16:6012)
 	TX_FAR _SilphCo3EndBattleText1
 	db $50
 ; 0x5a012 + 5 bytes
 
-SilphCo3AfterBattleText1: ; 0x5a017
+SilphCo3AfterBattleText1: ; 5a017 (16:6017)
 	TX_FAR _SilphCo3AfterBattleText1
 	db $50
 ; 0x5a017 + 5 bytes
 
-SilphCo3Text3: ; 0x5a01c
+SilphCo3Text3: ; 5a01c (16:601c)
 	db $08 ; asm
 	ld hl, SilphCo3TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo3BattleText2: ; 0x5a026
+SilphCo3BattleText2: ; 5a026 (16:6026)
 	TX_FAR _SilphCo3BattleText2
 	db $50
 ; 0x5a026 + 5 bytes
 
-SilphCo3EndBattleText2: ; 0x5a02b
+SilphCo3EndBattleText2: ; 5a02b (16:602b)
 	TX_FAR _SilphCo3EndBattleText2
 	db $50
 ; 0x5a02b + 5 bytes
 
-SilphCo3AfterBattleText2: ; 0x5a030
+SilphCo3AfterBattleText2: ; 5a030 (16:6030)
 	TX_FAR _SilphCo3AfterBattleText2
 	db $50
 ; 0x5a030 + 5 bytes
@@ -89030,7 +89911,7 @@
 	EVENT_DISP $f, $b, $b ; SILPH_CO_7F
 	EVENT_DISP $f, $f, $1b ; SILPH_CO_3F
 
-SilphCo3Blocks: ; 0x5a0a6 135
+SilphCo3Blocks: ; 5a0a6 (16:60a6)
 	INCBIN "maps/silphco3.blk"
 
 SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234)
@@ -89041,23 +89922,23 @@
 
 	dw SilphCo10Object ; objects
 
-SilphCo10Script: ; 0x5a139
+SilphCo10Script: ; 5a139 (16:6139)
 	call SilphCo10Script_Unknown5a14f
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo10TrainerHeaders
-	ld de, $6180
-	ld a, [$d658]
-	call Func_3160
-	ld [$d658], a
+	ld de, Unknown_5a180 ; $6180
+	ld a, [W_SILPHCO10CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO10CURSCRIPT], a
 	ret
 ; 0x5a14f
 
-SilphCo10Script_Unknown5a14f: ; 0x5a14f
+SilphCo10Script_Unknown5a14f: ; 5a14f (16:614f)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
 	ret z
-	ld hl, $6173
+	ld hl, Unknown_5a173 ; $6173
 	call Func_59d43
 	call Func_5a176
 	ld a, [$d836]
@@ -89069,6 +89950,7 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_5a173: ; 5a173 (16:6173)
 INCBIN "baserom.gbc",$5a173,$5a176 - $5a173
 
 ; known jump sources: 5a15d (16:615d)
@@ -89080,13 +89962,14 @@
 	set 0, [hl]
 	ret
 
+Unknown_5a180: ; 5a180 (16:6180)
 INCBIN "baserom.gbc",$5a180,$5a186 - $5a180
 
-SilphCo10Texts: ; 0x5a186
+SilphCo10Texts: ; 5a186 (16:6186)
 	dw SilphCo10Text1, SilphCo10Text2, SilphCo10Text3, Predef5CText, Predef5CText, Predef5CText
 
-SilphCo10TrainerHeaders:
-SilphCo10TrainerHeader0: ; 0x5a192
+SilphCo10TrainerHeaders: ; 5a192 (16:6192)
+SilphCo10TrainerHeader0: ; 5a192 (16:6192)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d835 ; flag's byte
@@ -89096,7 +89979,7 @@
 	dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle
 ; 0x5a19e
 
-SilphCo10TrainerHeader1: ; 0x5a19e
+SilphCo10TrainerHeader1: ; 5a19e (16:619e)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d835 ; flag's byte
@@ -89108,19 +89991,19 @@
 
 db $ff
 
-SilphCo10Text1: ; 0x5a1ab
+SilphCo10Text1: ; 5a1ab (16:61ab)
 	db $08 ; asm
 	ld hl, SilphCo10TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo10Text2: ; 0x5a1b5
+SilphCo10Text2: ; 5a1b5 (16:61b5)
 	db $08 ; asm
 	ld hl, SilphCo10TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo10Text3: ; 0x5a1bf
+SilphCo10Text3: ; 5a1bf (16:61bf)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 7, a
@@ -89131,42 +90014,42 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_5a1d3: ; 0x5a1d3
+UnnamedText_5a1d3: ; 5a1d3 (16:61d3)
 	TX_FAR _UnnamedText_5a1d3
 	db $50
 ; 0x5a1d3 + 5 bytes
 
-UnnamedText_5a1d8: ; 0x5a1d8
+UnnamedText_5a1d8: ; 5a1d8 (16:61d8)
 	TX_FAR _UnnamedText_5a1d8
 	db $50
 ; 0x5a1d8 + 5 bytes
 
-SilphCo10BattleText1: ; 0x5a1dd
+SilphCo10BattleText1: ; 5a1dd (16:61dd)
 	TX_FAR _SilphCo10BattleText1
 	db $50
 ; 0x5a1dd + 5 bytes
 
-SilphCo10EndBattleText1: ; 0x5a1e2
+SilphCo10EndBattleText1: ; 5a1e2 (16:61e2)
 	TX_FAR _SilphCo10EndBattleText1
 	db $50
 ; 0x5a1e2 + 5 bytes
 
-SilphCo10AfterBattleText1: ; 0x5a1e7
+SilphCo10AfterBattleText1: ; 5a1e7 (16:61e7)
 	TX_FAR _SilphCo10AfterBattleText1
 	db $50
 ; 0x5a1e7 + 5 bytes
 
-SilphCo10BattleText2: ; 0x5a1ec
+SilphCo10BattleText2: ; 5a1ec (16:61ec)
 	TX_FAR _SilphCo10BattleText2
 	db $50
 ; 0x5a1ec + 5 bytes
 
-SilphCo10EndBattleText2: ; 0x5a1f1
+SilphCo10EndBattleText2: ; 5a1f1 (16:61f1)
 	TX_FAR _SilphCo10EndBattleText2
 	db $50
 ; 0x5a1f1 + 5 bytes
 
-SilphCo10AfterBattleText2: ; 0x5a1f6
+SilphCo10AfterBattleText2: ; 5a1f6 (16:61f6)
 	TX_FAR _SilphCo10AfterBattleText2
 	db $50
 ; 0x5a1f6 + 5 bytes
@@ -89200,7 +90083,7 @@
 	EVENT_DISP $8, $f, $d ; SILPH_CO_4F
 	EVENT_DISP $8, $7, $d ; SILPH_CO_4F
 
-SilphCo10Blocks: ; 0x5a25a 72
+SilphCo10Blocks: ; 5a25a (16:625a)
 	INCBIN "maps/silphco10.blk"
 
 Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113)
@@ -89211,18 +90094,18 @@
 
 	dw LanceObject ; objects
 
-LanceScript: ; 0x5a2ae
+LanceScript: ; 5a2ae (16:62ae)
 	call LanceScript_Unknown5a2c4
 	call EnableAutoTextBoxDrawing
 	ld hl, LanceTrainerHeaders
-	ld de, $62fa
-	ld a, [$d653]
-	call Func_3160
-	ld [$d653], a
+	ld de, Unknown_5a2fa ; $62fa
+	ld a, [W_LANCECURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_LANCECURSCRIPT], a
 	ret
 ; 0x5a2c4
 
-LanceScript_Unknown5a2c4: ; 0x5a2c4
+LanceScript_Unknown5a2c4: ; 5a2c4 (16:62c4)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -89256,18 +90139,19 @@
 ; known jump sources: 5a351 (16:6351)
 Func_5a2f5: ; 5a2f5 (16:62f5)
 	xor a
-	ld [$d653], a
+	ld [W_LANCECURSCRIPT], a
 	ret
 
+Unknown_5a2fa: ; 5a2fa (16:62fa)
 INCBIN "baserom.gbc",$5a2fa,$5a305 - $5a2fa
 	ld a, [$d866]
 	bit 6, a
 	ret nz
-	ld hl, $633e
+	ld hl, .unknown_5a33e ; $633e
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, [W_WHICHTRADE] ; $cd3d
 	cp $3
 	jr nc, .asm_5a325
@@ -89287,8 +90171,10 @@
 	call PlaySound
 	jp LanceScript_Unknown5a2c4
 
+.unknown_5a33e: ; 5a33e (16:633e)
 INCBIN "baserom.gbc",$5a33e,$5a349 - $5a33e
-	call Func_3275
+
+	call EndTrainerBattle
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_5a2f5
@@ -89297,7 +90183,7 @@
 	jp DisplayTextID
 .asm_5a35b
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $ccd3
 	ld de, RLEList_5a379
 	call DecodeRLEList
@@ -89305,11 +90191,11 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d653], a
-	ld [$da39], a
+	ld [W_LANCECURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-RLEList_5a379: ; 0x5a379
+RLEList_5a379: ; 5a379 (16:6379)
 db $40, $0C
 db $20, $0C
 db $80, $07
@@ -89316,22 +90202,22 @@
 db $20, $06
 db $FF
 
-Func_5a382: ; 0x5a382
+Func_5a382: ; 5a382 (16:6382)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d653], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_LANCECURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 5a395 (16:6395)
-LanceTexts: ; 0x5a395
+LanceTexts: ; 5a395 (16:6395)
 	dw LanceText1
 
-LanceTrainerHeaders:
-LanceTrainerHeader0: ; 0x5a397
+LanceTrainerHeaders: ; 5a397 (16:6397)
+LanceTrainerHeader0: ; 5a397 (16:6397)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d866 ; flag's byte
@@ -89343,23 +90229,23 @@
 
 db $ff
 
-LanceText1: ; 0x5a3a4
+LanceText1: ; 5a3a4 (16:63a4)
 	db $08 ; asm
 	ld hl, LanceTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-LanceBeforeBattleText: ; 0x5a3ae
+LanceBeforeBattleText: ; 5a3ae (16:63ae)
 	TX_FAR _LanceBeforeBattleText
 	db $50
 ; 0x5a3ae + 5 bytes
 
-LanceEndBattleText: ; 0x5a3b3
+LanceEndBattleText: ; 5a3b3 (16:63b3)
 	TX_FAR _LanceEndBattleText
 	db $50
 ; 0x5a3b3 + 5 bytes
 
-LanceAfterBattleText: ; 0x5a3b8
+LanceAfterBattleText: ; 5a3b8 (16:63b8)
 	TX_FAR _LanceAfterBattleText ; 0x85e9e
 	db $8
 	ld hl, $d866
@@ -89385,7 +90271,7 @@
 	EVENT_DISP $d, $0, $5 ; CHAMPIONS_ROOM
 	EVENT_DISP $d, $0, $6 ; CHAMPIONS_ROOM
 
-LanceBlocks: ; 0x5a3e9 169
+LanceBlocks: ; 5a3e9 (16:63e9)
 	INCBIN "maps/lance.blk"
 
 HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118)
@@ -89396,42 +90282,42 @@
 
 	dw HallofFameRoomObject ; objects
 
-HallofFameRoomScript: ; 0x5a49e
+HallofFameRoomScript: ; 5a49e (16:649e)
 	call EnableAutoTextBoxDrawing
 	ld hl, HallofFameRoomScripts
-	ld a, [$d64b]
+	ld a, [W_HALLOFFAMEROOMCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x5a4aa
 
 INCBIN "baserom.gbc",$5a4aa,$5a4b2 - $5a4aa
 
-HallofFameRoomScripts: ; 0x5a4b2
+HallofFameRoomScripts: ; 5a4b2 (16:64b2)
 	dw HallofFameRoomScript0, HallofFameRoomScript1, HallofFameRoomScript2, HallofFameRoomScript3
 
-HallofFameRoomScript3: ; 0x5a4ba
+HallofFameRoomScript3: ; 5a4ba (16:64ba)
 	db $c9
 
-HallofFameRoomScript2: ; 0x5a4bb
+HallofFameRoomScript2: ; 5a4bb (16:64bb)
 	call Delay3
 	ld a, [$d358]
 	push af
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $55
 	call Predef
 	pop af
 	ld [$d358], a
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	res 1, [hl]
 	inc hl
 	set 0, [hl]
 	xor a
-	ld hl, $d64d
+	ld hl, W_LORELEICURSCRIPT
 	ld [hli], a
 	ld [hli], a
 	ld [hl], a
-	ld [$d653], a
-	ld [$d64b], a
+	ld [W_LANCECURSCRIPT], a
+	ld [W_HALLOFFAMEROOMCURSCRIPT], a
 	ld hl, $d863
 	ld [hli], a
 	ld [hli], a
@@ -89439,7 +90325,7 @@
 	ld [hli], a
 	ld [hl], a
 	xor a
-	ld [$d64b], a
+	ld [W_HALLOFFAMEROOMCURSCRIPT], a
 	ld a, $0
 	ld [$d719], a
 	ld b, BANK(Func_73848)
@@ -89451,13 +90337,13 @@
 	call DelayFrames
 	dec b
 	jr nz, .asm_5a4ff ; 0x5a505 $f8
-	call Func_3865
+	call WaitForTextScrollButtonPress
 	jp InitGame
 ; 0x5a50d
 
-HallofFameRoomScript0: ; 0x5a50d
+HallofFameRoomScript0: ; 5a50d (16:650d)
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $ccd3
 	ld de, RLEMovement5a528
 	call DecodeRLEList
@@ -89465,15 +90351,15 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $1
-	ld [$d64b], a
+	ld [W_HALLOFFAMEROOMCURSCRIPT], a
 	ret
 ; 0x5a528
 
-RLEMovement5a528: ; 0x5a528
+RLEMovement5a528: ; 5a528 (16:6528)
 	db $40,$5
 	db $ff
 
-HallofFameRoomScript1: ; 0x5a52b
+HallofFameRoomScript1: ; 5a52b (16:652b)
 	ld a, [$cd38]
 	and a
 	ret nz
@@ -89487,7 +90373,7 @@
 	call Func_34a6
 	call Delay3
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	inc a
 	ld [$d528], a
 	ld a, $1
@@ -89494,20 +90380,20 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $8
 	ld [$cc4d], a
 	ld a, $11
 	call Predef
 	ld a, $2
-	ld [$d64b], a
+	ld [W_HALLOFFAMEROOMCURSCRIPT], a
 	ret
 ; 0x5a56a
 
-HallofFameRoomTexts: ; 0x5a56a
+HallofFameRoomTexts: ; 5a56a (16:656a)
 	dw HallofFameRoomText1
 
-HallofFameRoomText1: ; 0x5a56c
+HallofFameRoomText1: ; 5a56c (16:656c)
 	TX_FAR _HallofFameRoomText1
 	db $50
 
@@ -89527,7 +90413,7 @@
 	EVENT_DISP $5, $7, $4 ; CHAMPIONS_ROOM
 	EVENT_DISP $5, $7, $5 ; CHAMPIONS_ROOM
 
-HallofFameRoomBlocks: ; 0x5a58b 20
+HallofFameRoomBlocks: ; 5a58b (16:658b)
 	INCBIN "maps/halloffameroom.blk"
 
 ; known jump sources: 1e142 (7:6142)
@@ -89547,44 +90433,44 @@
 	ld hl, RemoveItemByID
 	jp Bankswitch ; indirect jump to RemoveItemByID (17f37 (5:7f37))
 
-GuardDrinksList: ; 0x5a5b7
+GuardDrinksList: ; 5a5b7 (16:65b7)
 	db FRESH_WATER, SODA_POP, LEMONADE, $00
 
 SECTION "bank17",DATA,BANK[$17]
 
-SaffronMartBlocks:
-LavenderMartBlocks:
-CeruleanMartBlocks:
-VermilionMartBlocks: ; 0x5c000 16
+SaffronMartBlocks: ; 5c000 (17:4000)
+LavenderMartBlocks: ; 5c000 (17:4000)
+CeruleanMartBlocks: ; 5c000 (17:4000)
+VermilionMartBlocks: ; 5c000 (17:4000)
 	INCBIN "maps/vermilionmart.blk"
 
-CopycatsHouseF2Blocks:
+CopycatsHouseF2Blocks: ; 5c010 (17:4010)
 RedsHouse2FBlocks: ; 0x5c010 16?
 	INCBIN "maps/redshouse2f.blk"
 
-MuseumF1Blocks: ; 0x5c020 40
+MuseumF1Blocks: ; 5c020 (17:4020)
 	INCBIN "maps/museumf1.blk"
 
-MuseumF2Blocks: ; 0x5c048 28
+MuseumF2Blocks: ; 5c048 (17:4048)
 	INCBIN "maps/museumf2.blk"
 
-SaffronPokecenterBlocks:
-VermilionPokecenterBlocks:
-LavenderPokecenterBlocks:
-PewterPokecenterBlocks: ; 0x5c064 28
+SaffronPokecenterBlocks: ; 5c064 (17:4064)
+VermilionPokecenterBlocks: ; 5c064 (17:4064)
+LavenderPokecenterBlocks: ; 5c064 (17:4064)
+PewterPokecenterBlocks: ; 5c064 (17:4064)
 	INCBIN "maps/pewterpokecenter.blk"
 
-UndergroundTunnelEntranceRoute7Blocks:
-UndergroundTunnelEntranceRoute6Blocks:
-UndergroundTunnelEntranceRoute5Blocks: ; 0x5c080 16
+UndergroundTunnelEntranceRoute7Blocks: ; 5c080 (17:4080)
+UndergroundTunnelEntranceRoute6Blocks: ; 5c080 (17:4080)
+UndergroundTunnelEntranceRoute5Blocks: ; 5c080 (17:4080)
 	INCBIN "maps/undergroundtunnelentranceroute5.blk"
 
-Route2GateBlocks:
-ViridianForestEntranceBlocks:
-ViridianForestexitBlocks: ; 0x5c090 20
+Route2GateBlocks: ; 5c090 (17:4090)
+ViridianForestEntranceBlocks: ; 5c090 (17:4090)
+ViridianForestexitBlocks: ; 5c090 (17:4090)
 	INCBIN "maps/viridianforestexit.blk"
 
-RedsHouse2F_h:
+RedsHouse2F_h: ; 5c0a4 (17:40a4)
 	db $04 ; tileset
 	db $04,$04 ; dimensions
 	dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript
@@ -89591,28 +90477,28 @@
 	db 0 ; no connections
 	dw RedsHouse2FObject
 
-RedsHouse2FScript:
+RedsHouse2FScript: ; 5c0b0 (17:40b0)
 	call EnableAutoTextBoxDrawing
 	ld hl,RedsHouse2FScriptPointers
-	ld a,[$D60C]
+	ld a,[W_REDSHOUSE2CURSCRIPT]
 	jp CallFunctionInTable
 
-RedsHouse2FScriptPointers:
+RedsHouse2FScriptPointers: ; 5c0bc (17:40bc)
 	dw RedsHouse2FScript1,RedsHouse2FScript2
 
-RedsHouse2FScript1:
+RedsHouse2FScript1: ; 5c0c0 (17:40c0)
 	xor a
-	ld [$FFB4],a
+	ld [H_CURRENTPRESSEDBUTTONS],a
 	ld a,8
 	ld [$D528],a
 	ld a,1
-	ld [$D60C],a
+	ld [W_REDSHOUSE2CURSCRIPT],a
 	ret
 
-RedsHouse2FScript2: ; 0x5c0ed
+RedsHouse2FScript2: ; 5c0ce (17:40ce)
 	ret
 
-RedsHouse2FTexts: ; 0x5c0ef
+RedsHouse2FTexts: ; 5c0cf (17:40cf)
 	db "@"
 
 RedsHouse2FObject: ; 0x5c0d0 ?
@@ -89646,20 +90532,20 @@
 
 	dw MuseumF1Object ; objects
 
-MuseumF1Script: ; 0x5c0f7
+MuseumF1Script: ; 5c0f7 (17:40f7)
 	ld a, $1
 	ld [$cf0c], a
 	xor a
 	ld [$cc3c], a
 	ld hl, MuseumF1Scripts
-	ld a, [$d619]
+	ld a, [W_MUSEUMF1CURSCRIPT]
 	jp CallFunctionInTable
 ; 0x5c109
 
-MuseumF1Scripts: ; 0x5c109
+MuseumF1Scripts: ; 5c109 (17:4109)
 	dw MuseumF1Script0, MuseumF1Script1
 
-MuseumF1Script0: ; 0x5c10d
+MuseumF1Script0: ; 5c10d (17:410d)
 	ld a, [$d361]
 	cp $4
 	ret nz
@@ -89671,20 +90557,20 @@
 	ret nz
 .asm_5c120
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $1
 	ld [$ff00+$8c], a
 	jp DisplayTextID
 ; 0x5c12a
 
-MuseumF1Script1: ; 0x5c12a
+MuseumF1Script1: ; 5c12a (17:412a)
 	ret
 ; 0x5c12b
 
-MuseumF1Texts: ; 0x5c12b
+MuseumF1Texts: ; 5c12b (17:412b)
 	dw MuseumF1Text1, MuseumF1Text2, MuseumF1Text3, MuseumF1Text4, MuseumF1Text5
 
-MuseumF1Text1: ; 0x5c135
+MuseumF1Text1: ; 5c135 (17:4135)
 	db $8
 	ld a, [$d361]
 	cp $4
@@ -89693,13 +90579,13 @@
 	cp $d
 	jp z, Func_5c1f9
 	jr asm_b8709 ; 0x5c145 $1c
-asm_8774b: ; 0x5c147
+asm_8774b: ; 5c147 (17:4147)
 	cp $3
 	jr nz, asm_d49e7 ; 0x5c149 $8
 	ld a, [$d362]
 	cp $c
 	jp z, Func_5c1f9
-asm_d49e7: ; 0x5c153
+asm_d49e7: ; 5c153 (17:4153)
 	ld a, [$d754]
 	bit 0, a
 	jr nz, asm_31a16 ; 0x5c158 $10
@@ -89706,23 +90592,23 @@
 	ld hl, UnnamedText_5c23d
 	call PrintText
 	jp asm_d1145
-asm_b8709: ; 0x5c163
+asm_b8709: ; 5c163 (17:4163)
 	ld a, [$d754]
 	bit 0, a
 	jr z, asm_3ded4 ; 0x5c168 $9
-asm_31a16: ; 0x5c16a
+asm_31a16: ; 5c16a (17:416a)
 	ld hl, UnnamedText_5c242
 	call PrintText
 	jp asm_d1145
-asm_3ded4: ; 0x5c173
+asm_3ded4: ; 5c173 (17:4173)
 	ld a, $13
 	ld [$d125], a
 	call DisplayTextBoxID
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld hl, UnnamedText_5c21f
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, asm_de133 ; 0x5c18b $4d
@@ -89736,7 +90622,7 @@
 	ld hl, UnnamedText_5c229
 	call PrintText
 	jp asm_de133
-asm_0f3e3: ; 0x5c1a4
+asm_0f3e3: ; 5c1a4 (17:41a4)
 	ld hl, UnnamedText_5c224
 	call PrintText
 	ld hl, $d754
@@ -89755,11 +90641,11 @@
 	ld [$d125], a
 	call DisplayTextBoxID
 	ld a, $b2
-	call Func_3740
-	call Func_3748
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
 	jr asm_0b094 ; 0x5c1d8 $18
-asm_de133: ; 0x5c1da
-	ld hl, $421a
+asm_de133: ; 5c1da (17:41da)
+	ld hl, UnnamedText_5c21a ; $421a
 	call PrintText
 	ld a, $1
 	ld [$cd38], a
@@ -89768,15 +90654,15 @@
 	call Func_3486
 	call UpdateSprites
 	jr asm_d1145 ; 0x5c1f0 $25
-asm_0b094: ; 0x5c1f2
+asm_0b094: ; 5c1f2 (17:41f2)
 	ld a, $1
-	ld [$d619], a
+	ld [W_MUSEUMF1CURSCRIPT], a
 	jr asm_d1145 ; 0x5c1f7 $1e
 
-Func_5c1f9: ; 0x5c1f9
+Func_5c1f9: ; 5c1f9 (17:41f9)
 	ld hl, UnnamedText_5c22e
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	cp $0
 	jr nz, asm_d1144
@@ -89783,70 +90669,70 @@
 	ld hl, UnnamedText_5c233
 	call PrintText
 	jr asm_d1145 ; 0x5c20f $6
-asm_d1144:
+asm_d1144: ; 5c211 (17:4211)
 	ld hl, UnnamedText_5c238
 	call PrintText
-asm_d1145: ; 0x5c217
+asm_d1145: ; 5c217 (17:4217)
 	jp TextScriptEnd
 ; 0x5c21a
 
-UnnamedText_5c21a: ; 0x5c21a
+UnnamedText_5c21a: ; 5c21a (17:421a)
 	TX_FAR _UnnamedText_5c21a
 	db $50
 ; 0x5c21a + 5 bytes
 
-UnnamedText_5c21f: ; 0x5c21f
+UnnamedText_5c21f: ; 5c21f (17:421f)
 	TX_FAR _UnnamedText_5c21f
 	db $50
 ; 0x5c21f + 5 bytes
 
-UnnamedText_5c224: ; 0x5c224
+UnnamedText_5c224: ; 5c224 (17:4224)
 	TX_FAR _UnnamedText_5c224
 	db $50
 ; 0x5c224 + 5 bytes
 
-UnnamedText_5c229: ; 0x5c229
+UnnamedText_5c229: ; 5c229 (17:4229)
 	TX_FAR _UnnamedText_5c229
 	db $50
 ; 0x5c229 + 5 bytes
 
-UnnamedText_5c22e: ; 0x5c22e
+UnnamedText_5c22e: ; 5c22e (17:422e)
 	TX_FAR _UnnamedText_5c22e
 	db $50
 ; 0x5c22e + 5 bytes
 
-UnnamedText_5c233: ; 0x5c233
+UnnamedText_5c233: ; 5c233 (17:4233)
 	TX_FAR _UnnamedText_5c233
 	db $50
 ; 0x5c233 + 5 bytes
 
-UnnamedText_5c238: ; 0x5c238
+UnnamedText_5c238: ; 5c238 (17:4238)
 	TX_FAR _UnnamedText_5c238
 	db $50
 ; 0x5c238 + 5 bytes
 
-UnnamedText_5c23d: ; 0x5c23d
+UnnamedText_5c23d: ; 5c23d (17:423d)
 	TX_FAR _UnnamedText_5c23d
 	db $50
 ; 0x5c23d + 5 bytes
 
-UnnamedText_5c242: ; 0x5c242
+UnnamedText_5c242: ; 5c242 (17:4242)
 	TX_FAR _UnnamedText_5c242
 	db $50
 ; 0x5c242 + 5 bytes
 
-MuseumF1Text2: ; 0x5c247
+MuseumF1Text2: ; 5c247 (17:4247)
 	db $08 ; asm
 	ld hl, UnnamedText_5c251
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_5c251: ; 0x5c251
+UnnamedText_5c251: ; 5c251 (17:4251)
 	TX_FAR _UnnamedText_5c251
 	db $50
 ; 0x5c251 + 5 bytes
 
-MuseumF1Text3: ; 0x5c256
+MuseumF1Text3: ; 5c256 (17:4256)
 	db $08 ; asm
 	ld a, [$d754]
 	bit 1, a
@@ -89873,44 +90759,44 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_5c28e: ; 0x5c28e
+UnnamedText_5c28e: ; 5c28e (17:428e)
 	TX_FAR _UnnamedText_5c28e
 	db $50
 ; 0x5c28e + 5 bytes
 
-ReceivedOldAmberText: ; 0x5c293
+ReceivedOldAmberText: ; 5c293 (17:4293)
 	TX_FAR _ReceivedOldAmberText ; 0x96790
 	db $0B, $50
 ; 0x5c293 + 6 bytes = 0x5c299
 
-UnnamedText_5c299: ; 0x5c299
+UnnamedText_5c299: ; 5c299 (17:4299)
 	TX_FAR _UnnamedText_5c299
 	db $50
 ; 0x5c299 + 5 bytes
 
-UnnamedText_5c29e: ; 0x5c29e
+UnnamedText_5c29e: ; 5c29e (17:429e)
 	TX_FAR _UnnamedText_5c29e
 	db $50
 ; 0x5c29e + 5 bytes
 
-MuseumF1Text4: ; 0x5c2a3
+MuseumF1Text4: ; 5c2a3 (17:42a3)
 	db $08 ; asm
 	ld hl, UnnamedText_5c2ad
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_5c2ad: ; 0x5c2ad
+UnnamedText_5c2ad: ; 5c2ad (17:42ad)
 	TX_FAR _UnnamedText_5c2ad
 	db $50
 ; 0x5c2ad + 5 bytes
 
-MuseumF1Text5: ; 0x5c2b2
+MuseumF1Text5: ; 5c2b2 (17:42b2)
 	db $08 ; asm
 	ld hl, UnnamedText_5c2bc
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_5c2bc: ; 0x5c2bc
+UnnamedText_5c2bc: ; 5c2bc (17:42bc)
 	TX_FAR _UnnamedText_5c2bc
 	db $50
 ; 0x5c2bc + 5 bytes
@@ -89949,38 +90835,38 @@
 
 	dw MuseumF2Object ; objects
 
-MuseumF2Script: ; 0x5c317
+MuseumF2Script: ; 5c317 (17:4317)
 	jp EnableAutoTextBoxDrawing
 ; 0x5c31a
 
-MuseumF2Texts: ; 0x5c31a
+MuseumF2Texts: ; 5c31a (17:431a)
 	dw MuseumF2Text1, MuseumF2Text2, MuseumF2Text3, MuseumF2Text4, MuseumF2Text5, MuseumF2Text6, MuseumF2Text7
 
-MuseumF2Text1: ; 0x5c328
+MuseumF2Text1: ; 5c328 (17:4328)
 	TX_FAR _MuseumF2Text1
 	db $50
 
-MuseumF2Text2: ; 0x5c32d
+MuseumF2Text2: ; 5c32d (17:432d)
 	TX_FAR _MuseumF2Text2
 	db $50
 
-MuseumF2Text3: ; 0x5c332
+MuseumF2Text3: ; 5c332 (17:4332)
 	TX_FAR _MuseumF2Text3
 	db $50
 
-MuseumF2Text4: ; 0x5c337
+MuseumF2Text4: ; 5c337 (17:4337)
 	TX_FAR _MuseumF2Text4
 	db $50
 
-MuseumF2Text5: ; 0x5c33c
+MuseumF2Text5: ; 5c33c (17:433c)
 	TX_FAR _MuseumF2Text5
 	db $50
 
-MuseumF2Text6: ; 0x5c341
+MuseumF2Text6: ; 5c341 (17:4341)
 	TX_FAR _MuseumF2Text6
 	db $50
 
-MuseumF2Text7: ; 0x5c346
+MuseumF2Text7: ; 5c346 (17:4346)
 	TX_FAR _MuseumF2Text7
 	db $50
 
@@ -90012,7 +90898,7 @@
 
 	dw PewterGymObject ; objects
 
-PewterGymScript: ; 0x5c387
+PewterGymScript: ; 5c387 (17:4387)
 	ld hl, $d126
 	bit 6, [hl]
 	res 6, [hl]
@@ -90019,34 +90905,39 @@
 	call nz, PewterGymScript_Unknown5c3a4
 	call EnableAutoTextBoxDrawing
 	ld hl, PewterGymTrainerHeaders
-	ld de, $43ca
-	ld a, [$d5fc]
-	call Func_3160
-	ld [$d5fc], a
+	ld de, Unknown_5c3ca ; $43ca
+	ld a, [W_PEWTERGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_PEWTERGYMCURSCRIPT], a
 	ret
 ; 0x5c3a4
 
-PewterGymScript_Unknown5c3a4: ; 0x5c3a4
-	ld hl, $43ad
-	ld de, $43b9
-	jp Func_317f
+PewterGymScript_Unknown5c3a4: ; 5c3a4 (17:43a4)
+	ld hl, Unknown_5c3ad ; $43ad
+	ld de, Unknown_5c3b9 ; $43b9
+	jp LoadGymLeaderAndCityName
 
-INCBIN "baserom.gbc",$5c3ad,$5c3bf - $5c3ad
+Unknown_5c3ad: ; 5c3ad (17:43ad)
+INCBIN "baserom.gbc",$5c3ad,$5c3b9 - $5c3ad
 
+Unknown_5c3b9: ; 5c3b9 (17:43b9)
+INCBIN "baserom.gbc",$5c3b9,$5c3bf - $5c3b9
+
 ; known jump sources: 5c3d7 (17:43d7), 5c432 (17:4432)
 Func_5c3bf: ; 5c3bf (17:43bf)
 	xor a
-	ld [$cd6b], a
-	ld [$d5fc], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_PEWTERGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_5c3ca: ; 5c3ca (17:43ca)
 INCBIN "baserom.gbc",$5c3ca,$5c3d2 - $5c3ca
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_5c3bf
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 5c45a (17:445a)
 Func_5c3df: ; 5c3df (17:43df)
@@ -90088,11 +90979,11 @@
 	set 2, [hl]
 	jp Func_5c3bf
 ; 5c435 (17:4435)
-PewterGymTexts: ; 0x5c435
+PewterGymTexts: ; 5c435 (17:4435)
 	dw PewterGymText1, PewterGymText2, PewterGymText3, PewterGymText4, PewterGymText5, PewterGymText6
 
-PewterGymTrainerHeaders:
-PewterGymTrainerHeader0: ; 0x5c441
+PewterGymTrainerHeaders: ; 5c441 (17:4441)
+PewterGymTrainerHeader0: ; 5c441 (17:4441)
 	db $2 ; flag's bit
 	db ($5 << 4) ; trainer's view range
 	dw $d755 ; flag's byte
@@ -90104,7 +90995,7 @@
 
 db $ff
 
-PewterGymText1: ; 0x5c44e
+PewterGymText1: ; 5c44e (17:444e)
 	db $08 ; asm
 	ld a, [$d755]
 	bit 7, a
@@ -90126,37 +91017,37 @@
 	set 7, [hl]
 	ld hl, UnnamedText_5c4bc
 	ld de, UnnamedText_5c4bc
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $1
 	ld [$d05c], a
 	xor a
 	ldh [$b4], a
 	ld a, $3
-	ld [$d5fc], a
-	ld [$da39], a
+	ld [W_PEWTERGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 .asm_e0ffb ; 0x5c49b
 	jp TextScriptEnd
 
-UnnamedText_5c49e: ; 0x5c49e
+UnnamedText_5c49e: ; 5c49e (17:449e)
 	TX_FAR _UnnamedText_5c49e
 	db $50
 ; 0x5c49e + 5 bytes
 
-UnnamedText_5c4a3: ; 0x5c4a3
+UnnamedText_5c4a3: ; 5c4a3 (17:44a3)
 	TX_FAR _UnnamedText_5c4a3
 	db $50
 ; 0x5c4a3 + 5 bytes
 
-PewterGymText4: ; 0x5c4a8
+PewterGymText4: ; 5c4a8 (17:44a8)
 	TX_FAR _TM34PreReceiveText
 	db $50
 ; 0x5c4a8 + 5 bytes
 
-PewterGymText5: ; 0x5c4ad
+PewterGymText5: ; 5c4ad (17:44ad)
 	TX_FAR _ReceivedTM34Text ; 0x980ad
 	db $0B
 	TX_FAR _TM34ExplanationText ; 0x980c0
@@ -90163,11 +91054,11 @@
 	db $50
 ; 0x5c4ad + 10 bytes = 0x5c4b7
 
-PewterGymText6: ; 0x5c4b7
+PewterGymText6: ; 5c4b7 (17:44b7)
 	TX_FAR _TM34NoRoomText
 	db $50
 
-UnnamedText_5c4bc: ; 0x5c4bc
+UnnamedText_5c4bc: ; 5c4bc (17:44bc)
 	TX_FAR _UnnamedText_5c4bc ; 0x981c9
 	db $0B
 	TX_FAR _UnnamedText_5c4c1 ; 0x98232
@@ -90174,28 +91065,28 @@
 	db $50
 ; 0x5c4c6
 
-PewterGymText2: ; 0x5c4c6
+PewterGymText2: ; 5c4c6 (17:44c6)
 	db $08 ; asm
 	ld hl, PewterGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PewterGymBattleText1: ; 0x5c4d0
+PewterGymBattleText1: ; 5c4d0 (17:44d0)
 	TX_FAR _PewterGymBattleText1
 	db $50
 ; 0x5c4d0 + 5 bytes
 
-PewterGymEndBattleText1: ; 0x5c4d5
+PewterGymEndBattleText1: ; 5c4d5 (17:44d5)
 	TX_FAR _PewterGymEndBattleText1
 	db $50
 ; 0x5c4d5 + 5 bytes
 
-PewterGymAfterBattleText1: ; 0x5c4da
+PewterGymAfterBattleText1: ; 5c4da (17:44da)
 	TX_FAR _PewterGymAfterBattleText1
 	db $50
 ; 0x5c4da + 5 bytes
 
-PewterGymText3: ; 0x5c4df
+PewterGymText3: ; 5c4df (17:44df)
 	db $08 ; asm
 	ld a, [$d72a]
 	bit 0, a
@@ -90202,7 +91093,7 @@
 	jr nz, .asm_71369 ; 0x5c4e5
 	ld hl, UnnamedText_5c515
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_6123a ; 0x5c4f4
@@ -90222,27 +91113,27 @@
 .asm_07013 ; 0x5c512
 	jp TextScriptEnd
 
-UnnamedText_5c515: ; 0x5c515
+UnnamedText_5c515: ; 5c515 (17:4515)
 	TX_FAR _UnnamedText_5c515
 	db $50
 ; 0x5c515 + 5 bytes
 
-UnnamedText_5c51a: ; 0x5c51a
+UnnamedText_5c51a: ; 5c51a (17:451a)
 	TX_FAR _UnnamedText_5c51a
 	db $50
 ; 0x5c51a + 5 bytes
 
-UnnamedText_5c51f: ; 0x5c51f
+UnnamedText_5c51f: ; 5c51f (17:451f)
 	TX_FAR _UnnamedText_5c51f
 	db $50
 ; 0x5c51f + 5 bytes
 
-UnnamedText_5c524: ; 0x5c524
+UnnamedText_5c524: ; 5c524 (17:4524)
 	TX_FAR _UnnamedText_5c524
 	db $50
 ; 0x5c524 + 5 bytes
 
-UnnamedText_5c529: ; 0x5c529
+UnnamedText_5c529: ; 5c529 (17:4529)
 	TX_FAR _UnnamedText_5c529
 	db $50
 ; 0x5c529 + 5 bytes
@@ -90265,7 +91156,7 @@
 	EVENT_DISP $5, $d, $4
 	EVENT_DISP $5, $d, $5
 
-PewterGymBlocks: ; 0x5c558 35
+PewterGymBlocks: ; 5c558 (17:4558)
 	INCBIN "maps/pewtergym.blk"
 
 PewterPokecenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58)
@@ -90276,22 +91167,22 @@
 
 	dw PewterPokecenterObject ; objects
 
-PewterPokecenterScript: ; 0x5c587
+PewterPokecenterScript: ; 5c587 (17:4587)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x5c58d
 
-PewterPokecenterTexts: ; 0x5c58d
+PewterPokecenterTexts: ; 5c58d (17:458d)
 	dw PewterPokecenterText1, PewterPokecenterText2, PewterPokecenterText3, PewterPokecenterText4
 
-PewterPokecenterText1: ; 0x5c595
+PewterPokecenterText1: ; 5c595 (17:4595)
 	db $ff
 
-PewterPokecenterText2: ; 0x5c596
+PewterPokecenterText2: ; 5c596 (17:4596)
 	TX_FAR _PewterPokecenterText1
 	db $50
 
-PewterPokecenterText3: ; 0x5c59b
+PewterPokecenterText3: ; 5c59b (17:459b)
 	db $8
 	ld a, $1
 	ld [$cc3c], a
@@ -90301,7 +91192,7 @@
 	call PlaySound
 	ld c, $20
 	call DelayFrames
-	ld hl, $4608
+	ld hl, Unknown_5c608 ; $4608
 	ld de, $cd3f
 	ld bc, $0004
 	call CopyData
@@ -90341,15 +91232,15 @@
 	jp TextScriptEnd
 ; 0x5c603
 
-PewterPokecenterText5: ; 0x5c603
+PewterPokecenterText5: ; 5c603 (17:4603)
 	TX_FAR _PewterPokecenterText5 ; 0x98744
 	db $50
 ; 0x5c603 + 5 bytes = 0x5c608
 
-; 0x5c608 XXX
+Unknown_5c608: ; 5c608 (17:4608)
 db $30, $38, $34, $3c
 
-PewterPokecenterText4: ; 0x5c60b
+PewterPokecenterText4: ; 5c60c (17:460c)
 	db $f6
 
 PewterPokecenterObject: ; 0x5c60d (size=44)
@@ -90379,25 +91270,25 @@
 
 	dw CeruleanPokecenterObject ; objects
 
-CeruleanPokecenterScript: ; 0x5c645
+CeruleanPokecenterScript: ; 5c645 (17:4645)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x5c64b
 
-CeruleanPokecenterTexts:
+CeruleanPokecenterTexts: ; 5c64b (17:464b)
 	dw CeruleanPokecenterText1, CeruleanPokecenterText2, CeruleanPokecenterText3, CeruleanPokecenterText4
 
-CeruleanPokecenterText4:
+CeruleanPokecenterText4: ; 5c653 (17:4653)
 	db $f6
 
-CeruleanPokecenterText1: ; 0x5c654
+CeruleanPokecenterText1: ; 5c654 (17:4654)
 	db $ff
 
-CeruleanPokecenterText2: ; 0x5c655
+CeruleanPokecenterText2: ; 5c655 (17:4655)
 	TX_FAR _CeruleanPokecenterText1
 	db $50
 
-CeruleanPokecenterText3:
+CeruleanPokecenterText3: ; 5c65a (17:465a)
 	TX_FAR _CeruleanPokecenterText3
 	db $50
 
@@ -90420,7 +91311,7 @@
 	EVENT_DISP $7, $7, $3
 	EVENT_DISP $7, $7, $4
 
-CeruleanPokecenterBlocks: ; 0x5c68b 28
+CeruleanPokecenterBlocks: ; 5c68b (17:468b)
 	INCBIN "maps/ceruleanpokecenter.blk"
 
 CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65)
@@ -90431,7 +91322,7 @@
 
 	dw CeruleanGymObject ; objects
 
-CeruleanGymScript: ; 0x5c6b3
+CeruleanGymScript: ; 5c6b3 (17:46b3)
 	ld hl, $d126
 	bit 6, [hl]
 	res 6, [hl]
@@ -90438,34 +91329,39 @@
 	call nz, CeruleanGymScript_Unknown5c6d0
 	call EnableAutoTextBoxDrawing
 	ld hl, CeruleanGymTrainerHeaders
-	ld de, $46f8
-	ld a, [$d5fd]
-	call Func_3160
-	ld [$d5fd], a
+	ld de, Unknown_5c6f8 ; $46f8
+	ld a, [W_CERULEANGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_CERULEANGYMCURSCRIPT], a
 	ret
 ; 0x5c6d0
 
-CeruleanGymScript_Unknown5c6d0: ; 0x5c6d0
-	ld hl, $46d9
-	ld de, $46e7
-	jp Func_317f
+CeruleanGymScript_Unknown5c6d0: ; 5c6d0 (17:46d0)
+	ld hl, Unknown_5c6d9 ; $46d9
+	ld de, Unknown_5c6e7 ; $46e7
+	jp LoadGymLeaderAndCityName
 
-INCBIN "baserom.gbc",$5c6d9,$5c6ed - $5c6d9
+Unknown_5c6d9: ; 5c6d9 (17:46d9)
+INCBIN "baserom.gbc",$5c6d9,$5c6e7 - $5c6d9
 
+Unknown_5c6e7: ; 5c6e7 (17:46e7)
+INCBIN "baserom.gbc",$5c6e7,$5c6ed - $5c6e7
+
 ; known jump sources: 5c705 (17:4705), 5c747 (17:4747)
 Func_5c6ed: ; 5c6ed (17:46ed)
 	xor a
-	ld [$cd6b], a
-	ld [$d5fd], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_CERULEANGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_5c6f8: ; 5c6f8 (17:46f8)
 INCBIN "baserom.gbc",$5c6f8,$5c700 - $5c6f8
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_5c6ed
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 5c77d (17:477d)
 Func_5c70d: ; 5c70d (17:470d)
@@ -90497,11 +91393,11 @@
 	set 3, [hl]
 	jp Func_5c6ed
 ; 5c74a (17:474a)
-CeruleanGymTexts: ; 0x5c74a
+CeruleanGymTexts: ; 5c74a (17:474a)
 	dw CeruleanGymText1, CeruleanGymText2, CeruleanGymText3, CeruleanGymText4, CeruleanGymText5, CeruleanGymText6, CeruleanGymText7
 
-CeruleanGymTrainerHeaders:
-CeruleanGymTrainerHeader0: ; 0x5c758
+CeruleanGymTrainerHeaders: ; 5c758 (17:4758)
+CeruleanGymTrainerHeader0: ; 5c758 (17:4758)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d75e ; flag's byte
@@ -90511,7 +91407,7 @@
 	dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle
 ; 0x5c764
 
-CeruleanGymTrainerHeader1: ; 0x5c764
+CeruleanGymTrainerHeader1: ; 5c764 (17:4764)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d75e ; flag's byte
@@ -90523,7 +91419,7 @@
 
 db $ff
 
-CeruleanGymText1: ; 0x5c771
+CeruleanGymText1: ; 5c771 (17:4771)
 	db $08 ; asm
 	ld a, [$d75e]
 	bit 7, a
@@ -90545,94 +91441,94 @@
 	set 7, [hl]
 	ld hl, UnnamedText_5c7d8
 	ld de, UnnamedText_5c7d8
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $2
 	ld [$d05c], a
 	xor a
 	ldh [$b4], a
 	ld a, $3
-	ld [$d5fd], a
+	ld [W_CERULEANGYMCURSCRIPT], a
 .asm_95b04 ; 0x5c7bb
 	jp TextScriptEnd
 
-UnnamedText_5c7be: ; 0x5c7be
+UnnamedText_5c7be: ; 5c7be (17:47be)
 	TX_FAR _UnnamedText_5c7be
 	db $50
 ; 0x5c7be + 5 bytes
 
-UnnamedText_5c7c3: ; 0x5c7c3
+UnnamedText_5c7c3: ; 5c7c3 (17:47c3)
 	TX_FAR _UnnamedText_5c7c3
 	db $50
 ; 0x5c7c3 + 5 bytes
 
-CeruleanGymText5: ; 0x5c7c8
+CeruleanGymText5: ; 5c7c8 (17:47c8)
 	TX_FAR _UnnamedText_5c7c8
 	db $50
 ; 0x5c7c8 + 5 bytes
 
-CeruleanGymText6: ; 0x5c7cd
-ReceivedTM11Text: ; 0x5c7cd
+CeruleanGymText6: ; 5c7cd (17:47cd)
+ReceivedTM11Text: ; 5c7cd (17:47cd)
 	TX_FAR _ReceivedTM11Text ; 0x98b7d
 	db $0B, $50
 ; 0x5c7cd + 6 bytes = 0x5c7d3
 
-CeruleanGymText7: ; 0x5c7d3
+CeruleanGymText7: ; 5c7d3 (17:47d3)
 	TX_FAR _UnnamedText_5c7d3
 	db $50
 ; 0x5c7d3 + 5 bytes
 
-UnnamedText_5c7d8: ; 0x5c7d8
+UnnamedText_5c7d8: ; 5c7d8 (17:47d8)
 	TX_FAR _UnnamedText_5c7d8 ; 0x98bb0
 	db $11, $6, $50
 ; 0x5c7d8 + 7 bytes = 0x5c7df
 
-CeruleanGymText2: ; 0x5c7df
+CeruleanGymText2: ; 5c7df (17:47df)
 	db $08 ; asm
 	ld hl, CeruleanGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeruleanGymBattleText1: ; 0x5c7e9
+CeruleanGymBattleText1: ; 5c7e9 (17:47e9)
 	TX_FAR _CeruleanGymBattleText1
 	db $50
 ; 0x5c7e9 + 5 bytes
 
-CeruleanGymEndBattleText1: ; 0x5c7ee
+CeruleanGymEndBattleText1: ; 5c7ee (17:47ee)
 	TX_FAR _CeruleanGymEndBattleText1
 	db $50
 ; 0x5c7ee + 5 bytes
 
-CeruleanGymAfterBattleText1: ; 0x5c7f3
+CeruleanGymAfterBattleText1: ; 5c7f3 (17:47f3)
 	TX_FAR _CeruleanGymAfterBattleText1
 	db $50
 ; 0x5c7f3 + 5 bytes
 
-CeruleanGymText3: ; 0x5c7f8
+CeruleanGymText3: ; 5c7f8 (17:47f8)
 	db $08 ; asm
 	ld hl, CeruleanGymTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-CeruleanGymBattleText2: ; 0x5c802
+CeruleanGymBattleText2: ; 5c802 (17:4802)
 	TX_FAR _CeruleanGymBattleText2
 	db $50
 ; 0x5c802 + 5 bytes
 
-CeruleanGymEndBattleText2: ; 0x5c807
+CeruleanGymEndBattleText2: ; 5c807 (17:4807)
 	TX_FAR _CeruleanGymEndBattleText2
 	db $50
 ; 0x5c807 + 5 bytes
 
-CeruleanGymAfterBattleText2: ; 0x5c80c
+CeruleanGymAfterBattleText2: ; 5c80c (17:480c)
 	TX_FAR _CeruleanGymAfterBattleText2
 	db $50
 ; 0x5c80c + 5 bytes
 
-CeruleanGymText4: ; 0x5c811
+CeruleanGymText4: ; 5c811 (17:4811)
 	db $08 ; asm
 	ld a, [$d75e]
 	bit 7, a
@@ -90646,12 +91542,12 @@
 .asm_18a31 ; 0x5c827
 	jp TextScriptEnd
 
-UnnamedText_5c82a: ; 0x5c82a
+UnnamedText_5c82a: ; 5c82a (17:482a)
 	TX_FAR _UnnamedText_5c82a
 	db $50
 ; 0x5c82a + 5 bytes
 
-UnnamedText_5c82f: ; 0x5c82f
+UnnamedText_5c82f: ; 5c82f (17:482f)
 	TX_FAR _UnnamedText_5c82f
 	db $50
 ; 0x5c82f + 5 bytes
@@ -90675,7 +91571,7 @@
 	EVENT_DISP $5, $d, $4
 	EVENT_DISP $5, $d, $5
 
-CeruleanGymBlocks: ; 0x5c866 35
+CeruleanGymBlocks: ; 5c866 (17:4866)
 	INCBIN "maps/ceruleangym.blk"
 
 CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67)
@@ -90686,18 +91582,18 @@
 
 	dw CeruleanMartObject ; objects
 
-CeruleanMartScript: ; 0x5c895
+CeruleanMartScript: ; 5c895 (17:4895)
 	jp EnableAutoTextBoxDrawing
 ; 0x5c898
 
-CeruleanMartTexts: ; 0x5c898
+CeruleanMartTexts: ; 5c898 (17:4898)
 	dw CeruleanMartText1, CeruleanMartText2, CeruleanMartText3
 
-CeruleanMartText2: ; 0x5c89e
+CeruleanMartText2: ; 5c89e (17:489e)
 	TX_FAR _CeruleanMartText2
 	db $50
 
-CeruleanMartText3: ; 0x5c8a3
+CeruleanMartText3: ; 5c8a3 (17:48a3)
 	TX_FAR _CeruleanMartText3
 	db $50
 
@@ -90727,25 +91623,25 @@
 
 	dw LavenderPokecenterObject ; objects
 
-LavenderPokecenterScript: ; 0x5c8da
+LavenderPokecenterScript: ; 5c8da (17:48da)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x5c8e0
 
-LavenderPokecenterTexts:
+LavenderPokecenterTexts: ; 5c8e0 (17:48e0)
 	dw LavenderPokecenterText1, LavenderPokecenterText2, LavenderPokecenterText3, LavenderPokecenterText4
 
-LavenderPokecenterText4:
+LavenderPokecenterText4: ; 5c8e8 (17:48e8)
 	db $f6
 
-LavenderPokecenterText1: ; 0x5c8ea
+LavenderPokecenterText1: ; 5c8e9 (17:48e9)
 	db $ff
 
-LavenderPokecenterText2: ; 0x5c8eb
+LavenderPokecenterText2: ; 5c8ea (17:48ea)
 	TX_FAR _LavenderPokecenterText1
 	db $50
 
-LavenderPokecenterText3: ; 0x5c8ef
+LavenderPokecenterText3: ; 5c8ef (17:48ef)
 	TX_FAR _LavenderPokecenterText3
 	db $50
 
@@ -90776,18 +91672,18 @@
 
 	dw LavenderMartObject ; objects
 
-LavenderMartScript: ; 0x5c92c
+LavenderMartScript: ; 5c92c (17:492c)
 	jp EnableAutoTextBoxDrawing
 ; 0x5c92f
 
-LavenderMartTexts: ; 0x5c92f
+LavenderMartTexts: ; 5c92f (17:492f)
 	dw LavenderMartText1, LavenderMartText2, LavenderMartText3
 
-LavenderMartText2: ; 0x5c935
+LavenderMartText2: ; 5c935 (17:4935)
 	TX_FAR _LavenderMartText2
 	db $50
 
-LavenderMartText3: ; 0x5c93a
+LavenderMartText3: ; 5c93a (17:493a)
 	db $08 ; asm
 	ld a, [$d7e0]
 	bit 7, a
@@ -90801,12 +91697,12 @@
 .asm_6d225 ; 0x5c950
 	jp TextScriptEnd
 
-UnnamedText_5c953: ; 0x5c953
+UnnamedText_5c953: ; 5c953 (17:4953)
 	TX_FAR _UnnamedText_5c953
 	db $50
 ; 0x5c953 + 5 bytes
 
-UnnamedText_5c958: ; 0x5c958
+UnnamedText_5c958: ; 5c958 (17:4958)
 	TX_FAR _UnnamedText_5c958
 	db $50
 ; 0x5c958 + 5 bytes
@@ -90837,26 +91733,26 @@
 
 	dw VermilionPokecenterObject ; objects
 
-VermilionPokecenterScript: ; 0x5c98f
+VermilionPokecenterScript: ; 5c98f (17:498f)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x5c995
 
-VermilionPokecenterTexts:
+VermilionPokecenterTexts: ; 5c995 (17:4995)
 	dw VermilionPokecenterText1, VermilionPokecenterText2, VermilionPokecenterText3, VermilionPokecenterText4
 
-VermilionPokecenterText1: ; 0x5c99d
+VermilionPokecenterText1: ; 5c99d (17:499d)
 	db $ff
 
-VermilionPokecenterText2: ; 0x5c99e
+VermilionPokecenterText2: ; 5c99e (17:499e)
 	TX_FAR _VermilionPokecenterText1
 	db $50
 
-VermilionPokecenterText3: ; 0x5c9a3
+VermilionPokecenterText3: ; 5c9a3 (17:49a3)
 	TX_FAR _VermilionPokecenterText3
 	db $50
 
-VermilionPokecenterText4: ; 0x5c9a8
+VermilionPokecenterText4: ; 5c9a8 (17:49a8)
 	db $f6
 
 VermilionPokecenterObject: ; 0x5c9a9 (size=44)
@@ -90886,18 +91782,18 @@
 
 	dw VermilionMartObject ; objects
 
-VermilionMartScript: ; 0x5c9e1
+VermilionMartScript: ; 5c9e1 (17:49e1)
 	jp EnableAutoTextBoxDrawing
 ; 0x5c9e4
 
-VermilionMartTexts: ; 0x5c9e4
+VermilionMartTexts: ; 5c9e4 (17:49e4)
 	dw VermilionMartText1, VermilionMartText2, VermilionMartText3
 
-VermilionMartText2: ; 0x5c9ea
+VermilionMartText2: ; 5c9ea (17:49ea)
 	TX_FAR _VermilionMartText2
 	db $50
 
-VermilionMartText3: ; 0x5c9ef
+VermilionMartText3: ; 5c9ef (17:49ef)
 	TX_FAR _VermilionMartText3
 	db $50
 
@@ -90927,7 +91823,7 @@
 
 	dw VermilionGymObject ; objects
 
-VermilionGymScript: ; 0x5ca26
+VermilionGymScript: ; 5ca26 (17:4a26)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -90939,20 +91835,24 @@
 	call nz, Func_5ca6d
 	call EnableAutoTextBoxDrawing
 	ld hl, VermilionGymTrainerHeader0
-	ld de, $4a95
-	ld a, [$d5fe]
-	call Func_3160
-	ld [$d5fe], a
+	ld de, Unknown_5ca95 ; $4a95
+	ld a, [W_VERMILIONGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_VERMILIONGYMCURSCRIPT], a
 	ret
 ; 0x5ca4c
 
-VermilionGymScript_Unknown5ca4c: ; 0x5ca4c
-	ld hl, $4a55
-	ld de, $4a64
-	jp Func_317f
+VermilionGymScript_Unknown5ca4c: ; 5ca4c (17:4a4c)
+	ld hl, Unknown_5ca55 ; $4a55
+	ld de, Unknown_5ca64 ; $4a64
+	jp LoadGymLeaderAndCityName
 
-INCBIN "baserom.gbc",$5ca55,$5ca6d - $5ca55
+Unknown_5ca55: ; 5ca55 (17:4a55)
+INCBIN "baserom.gbc",$5ca55,$5ca64 - $5ca55
 
+Unknown_5ca64: ; 5ca64 (17:4a64)
+INCBIN "baserom.gbc",$5ca64,$5ca6d - $5ca64
+
 ; known jump sources: 5ca36 (17:4a36)
 Func_5ca6d: ; 5ca6d (17:4a6d)
 	ld a, [$d773]
@@ -90973,17 +91873,18 @@
 ; known jump sources: 5caa2 (17:4aa2), 5cae5 (17:4ae5)
 Func_5ca8a: ; 5ca8a (17:4a8a)
 	xor a
-	ld [$cd6b], a
-	ld [$d5fe], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_VERMILIONGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_5ca95: ; 5ca95 (17:4a95)
 INCBIN "baserom.gbc",$5ca95,$5ca9d - $5ca95
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_5ca8a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 5cb29 (17:4b29)
 Func_5caaa: ; 5caaa (17:4aaa)
@@ -91015,11 +91916,11 @@
 	ld [$d773], a
 	jp Func_5ca8a
 ; 5cae8 (17:4ae8)
-VermilionGymTexts: ; 0x5cae8
+VermilionGymTexts: ; 5cae8 (17:4ae8)
 	dw VermilionGymText1, VermilionGymText2, VermilionGymText3, VermilionGymText4, VermilionGymText5, VermilionGymText6, VermilionGymText7, VermilionGymText8
 
-VermilionGymTrainerHeaders:
-VermilionGymTrainerHeader0: ; 0x5caf8
+VermilionGymTrainerHeaders: ; 5caf8 (17:4af8)
+VermilionGymTrainerHeader0: ; 5caf8 (17:4af8)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d773 ; flag's byte
@@ -91029,7 +91930,7 @@
 	dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle
 ; 0x5cb04
 
-VermilionGymTrainerHeader1: ; 0x5cb04
+VermilionGymTrainerHeader1: ; 5cb04 (17:4b04)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d773 ; flag's byte
@@ -91039,7 +91940,7 @@
 	dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle
 ; 0x5cb10
 
-VermilionGymTrainerHeader2: ; 0x5cb10
+VermilionGymTrainerHeader2: ; 5cb10 (17:4b10)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d773 ; flag's byte
@@ -91051,7 +91952,7 @@
 
 db $ff
 
-VermilionGymText1: ; 0x5cb1d
+VermilionGymText1: ; 5cb1d (17:4b1d)
 	db $08 ; asm
 	ld a, [$d773]
 	bit 7, a
@@ -91073,37 +91974,37 @@
 	set 7, [hl]
 	ld hl, ReceivedThunderbadgeText
 	ld de, ReceivedThunderbadgeText
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $3
 	ld [$d05c], a
 	xor a
 	ldh [$b4], a
 	ld a, $3
-	ld [$d5fe], a
-	ld [$da39], a
+	ld [W_VERMILIONGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 .asm_23621 ; 0x5cb6a
 	jp TextScriptEnd
 
-UnnamedText_5cb6d: ; 0x5cb6d
+UnnamedText_5cb6d: ; 5cb6d (17:4b6d)
 	TX_FAR _UnnamedText_5cb6d
 	db $50
 ; 0x5cb6d + 5 bytes
 
-UnnamedText_5cb72: ; 0x5cb72
+UnnamedText_5cb72: ; 5cb72 (17:4b72)
 	TX_FAR _UnnamedText_5cb72
 	db $50
 ; 0x5cb72 + 5 bytes
 
-VermilionGymText6:
+VermilionGymText6: ; 5cb77 (17:4b77)
 	TX_FAR _UnnamedText_5cb77
 	db $50
 ; 0x5cb77 + 5 bytes
 
-VermilionGymText7: ; 0x5cb7c
+VermilionGymText7: ; 5cb7c (17:4b7c)
 	TX_FAR _ReceivedTM24Text ; 0x9c0e0
 	db $11
 	TX_FAR _TM24ExplanationText ; 0x9c0f5
@@ -91110,78 +92011,78 @@
 	db $50
 ; 0x5cb7c + 10 bytes = 0x5cb86
 
-VermilionGymText8: ; 0x5cb86
+VermilionGymText8: ; 5cb86 (17:4b86)
 	TX_FAR _TM24NoRoomText
 	db $50
 
-ReceivedThunderbadgeText:
+ReceivedThunderbadgeText: ; 5cb8b (17:4b8b)
 	TX_FAR _ReceivedThunderbadgeText
 	db $50
 
-VermilionGymText2: ; 0x5cb90
+VermilionGymText2: ; 5cb90 (17:4b90)
 	db $08 ; asm
 	ld hl, VermilionGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VermilionGymBattleText1: ; 0x5cb9a
+VermilionGymBattleText1: ; 5cb9a (17:4b9a)
 	TX_FAR _VermilionGymBattleText1
 	db $50
 ; 0x5cb9a + 5 bytes
 
-VermilionGymEndBattleText1: ; 0x5cb9f
+VermilionGymEndBattleText1: ; 5cb9f (17:4b9f)
 	TX_FAR _VermilionGymEndBattleText1
 	db $50
 ; 0x5cb9f + 5 bytes
 
-VermilionGymAfterBattleText1: ; 0x5cba4
+VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4)
 	TX_FAR _VermilionGymAfterBattleText1
 	db $50
 ; 0x5cba4 + 5 bytes
 
-VermilionGymText3: ; 0x5cba9
+VermilionGymText3: ; 5cba9 (17:4ba9)
 	db $08 ; asm
 	ld hl, VermilionGymTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VermilionGymBattleText2: ; 0x5cbb3
+VermilionGymBattleText2: ; 5cbb3 (17:4bb3)
 	TX_FAR _VermilionGymBattleText2
 	db $50
 ; 0x5cbb3 + 5 bytes
 
-VermilionGymEndBattleText2: ; 0x5cbb8
+VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8)
 	TX_FAR _VermilionGymEndBattleText2
 	db $50
 ; 0x5cbb8 + 5 bytes
 
-VermilionGymAfterBattleText2: ; 0x5cbbd
+VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd)
 	TX_FAR _VermilionGymAfterBattleText2
 	db $50
 ; 0x5cbbd + 5 bytes
 
-VermilionGymText4: ; 0x5cbc2
+VermilionGymText4: ; 5cbc2 (17:4bc2)
 	db $08 ; asm
 	ld hl, VermilionGymTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VermilionGymBattleText3: ; 0x5cbcc
+VermilionGymBattleText3: ; 5cbcc (17:4bcc)
 	TX_FAR _VermilionGymBattleText3
 	db $50
 ; 0x5cbcc + 5 bytes
 
-VermilionGymEndBattleText3: ; 0x5cbd1
+VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1)
 	TX_FAR _VermilionGymEndBattleText3
 	db $50
 ; 0x5cbd1 + 5 bytes
 
-VermilionGymAfterBattleText3: ; 0x5cbd6
+VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6)
 	TX_FAR _VermilionGymAfterBattleText3
 	db $50
 ; 0x5cbd6 + 5 bytes
 
-VermilionGymText5: ; 0x5cbdb
+VermilionGymText5: ; 5cbdb (17:4bdb)
 	db $08 ; asm
 	ld a, [$d72a]
 	bit 2, a
@@ -91195,12 +92096,12 @@
 .asm_c2b38 ; 0x5cbf1
 	jp TextScriptEnd
 
-UnnamedText_5cbf4: ; 0x5cbf4
+UnnamedText_5cbf4: ; 5cbf4 (17:4bf4)
 	TX_FAR _UnnamedText_5cbf4
 	db $50
 ; 0x5cbf4 + 5 bytes
 
-UnnamedText_5cbf9: ; 0x5cbf9
+UnnamedText_5cbf9: ; 5cbf9 (17:4bf9)
 	TX_FAR _UnnamedText_5cbf9
 	db $50
 ; 0x5cbf9 + 5 bytes
@@ -91225,7 +92126,7 @@
 	EVENT_DISP $5, $11, $4
 	EVENT_DISP $5, $11, $5
 
-VermilionGymBlocks: ; 0x5cc38 45
+VermilionGymBlocks: ; 5cc38 (17:4c38)
 	INCBIN "maps/vermiliongym.blk"
 
 CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176)
@@ -91236,14 +92137,14 @@
 
 	dw CopycatsHouseF2Object ; objects
 
-CopycatsHouseF2Script: ; 0x5cc71
+CopycatsHouseF2Script: ; 5cc71 (17:4c71)
 	jp EnableAutoTextBoxDrawing
 ; 0x5cc74
 
-CopycatsHouseF2Texts: ; 0x5cc74
+CopycatsHouseF2Texts: ; 5cc74 (17:4c74)
 	dw CopycatsHouseF2Text1, CopycatsHouseF2Text2, CopycatsHouseF2Text3, CopycatsHouseF2Text4, CopycatsHouseF2Text5, CopycatsHouseF2Text6, CopycatsHouseF2Text7
 
-CopycatsHouseF2Text1: ; 0x5cc82
+CopycatsHouseF2Text1: ; 5cc82 (17:4c82)
 	db $08 ; asm
 	ld a, [$d7af]
 	bit 0, a
@@ -91280,49 +92181,49 @@
 .asm_62ecd ; 0x5ccd1
 	jp TextScriptEnd
 
-UnnamedText_5ccd4: ; 0x5ccd4
+UnnamedText_5ccd4: ; 5ccd4 (17:4cd4)
 	TX_FAR _UnnamedText_5ccd4
 	db $50
 ; 0x5ccd4 + 5 bytes
 
-TM31PreReceiveText: ; 0x5ccd9
+TM31PreReceiveText: ; 5ccd9 (17:4cd9)
 	TX_FAR _TM31PreReceiveText
 	db $50
 ; 0x5ccd9 + 5 bytes
 
-ReceivedTM31Text: ; 0x5ccde
+ReceivedTM31Text: ; 5ccde (17:4cde)
 	TX_FAR _ReceivedTM31Text ; 0xa1675
 	db $0B
-TM31ExplanationText1: ; 0x5cce2
+TM31ExplanationText1: ; 5cce3 (17:4ce3)
 	TX_FAR _TM31ExplanationText1 ; 0xa1689
 	db $d, $50
 ; 0x5cce9
 
-TM31ExplanationText2: ; 0x5cce9
+TM31ExplanationText2: ; 5cce9 (17:4ce9)
 	TX_FAR _TM31ExplanationText2 ; 0xa16c5
 	db $50
 ; 0x5cce9 + 5 bytes = 0x5ccee
 
-TM31NoRoomText: ; 0x5ccee
+TM31NoRoomText: ; 5ccee (17:4cee)
 	TX_FAR _TM31NoRoomText ; 0xa1733
 	db $d, $50
 ; 0x5ccf4
 
-CopycatsHouseF2Text2: ; 0x5ccf4
+CopycatsHouseF2Text2: ; 5ccf4 (17:4cf4)
 	TX_FAR _CopycatsHouseF2Text2
 	db $50
 
-CopycatsHouseF2Text5:
-CopycatsHouseF2Text4:
-CopycatsHouseF2Text3: ; 0x5ccf9
+CopycatsHouseF2Text5: ; 5ccf9 (17:4cf9)
+CopycatsHouseF2Text4: ; 5ccf9 (17:4cf9)
+CopycatsHouseF2Text3: ; 5ccf9 (17:4cf9)
 	TX_FAR _CopycatsHouseF2Text3
 	db $50
 
-CopycatsHouseF2Text6: ; 0x5ccfe
+CopycatsHouseF2Text6: ; 5ccfe (17:4cfe)
 	TX_FAR _CopycatsHouseF2Text6
 	db $50
 
-CopycatsHouseF2Text7: ; 0x5cd03
+CopycatsHouseF2Text7: ; 5cd03 (17:4d03)
 	db $08 ; asm
 	ld a, [$c109]
 	cp $4
@@ -91333,12 +92234,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_5cd17: ; 0x5cd17
+UnnamedText_5cd17: ; 5cd17 (17:4d17)
 	TX_FAR _UnnamedText_5cd17
 	db $50
 ; 0x5cd17 + 5 bytes
 
-UnnamedText_5cd1c: ; 0x5cd1c
+UnnamedText_5cd1c: ; 5cd1c (17:4d1c)
 	TX_FAR _UnnamedText_5cd1c
 	db $50
 ; 0x5cd1c + 5 bytes
@@ -91371,23 +92272,26 @@
 
 	dw FightingDojoObject ; objects
 
-FightingDojoScript: ; 0x5cd5d
+FightingDojoScript: ; 5cd5d (17:4d5d)
 	call EnableAutoTextBoxDrawing
 	ld hl, FightingDojoTrainerHeaders
-	ld de, $4d7b
-	ld a, [$d642]
-	call Func_3160
-	ld [$d642], a
+	ld de, Unknown_5cd7b ; $4d7b
+	ld a, [W_FIGHTINGDOJOCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_FIGHTINGDOJOCURSCRIPT], a
 	ret
 ; 0x5cd70
 
-INCBIN "baserom.gbc",$5cd70,$93
+INCBIN "baserom.gbc",$5cd70,$5cd7b - $5cd70
 
-FightingDojoTexts: ; 0x5ce03
+Unknown_5cd7b: ; 5cd7b (17:4d7b)
+INCBIN "baserom.gbc",$5cd7b,$5ce03 - $5cd7b
+
+FightingDojoTexts: ; 5ce03 (17:4e03)
 	dw FightingDojoText1, FightingDojoText2, FightingDojoText3, FightingDojoText4, FightingDojoText5, FightingDojoText6, FightingDojoText7, FightingDojoText8
 
-FightingDojoTrainerHeaders:
-FightingDojoTrainerHeader0: ; 0x5ce13
+FightingDojoTrainerHeaders: ; 5ce13 (17:4e13)
+FightingDojoTrainerHeader0: ; 5ce13 (17:4e13)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7b1 ; flag's byte
@@ -91397,7 +92301,7 @@
 	dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle
 ; 0x5ce1f
 
-FightingDojoTrainerHeader1: ; 0x5ce1f
+FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7b1 ; flag's byte
@@ -91407,7 +92311,7 @@
 	dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle
 ; 0x5ce2b
 
-FightingDojoTrainerHeader2: ; 0x5ce2b
+FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b1 ; flag's byte
@@ -91417,7 +92321,7 @@
 	dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle
 ; 0x5ce37
 
-FightingDojoTrainerHeader3: ; 0x5ce37
+FightingDojoTrainerHeader3: ; 5ce37 (17:4e37)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b1 ; flag's byte
@@ -91429,7 +92333,7 @@
 
 db $ff
 
-FightingDojoText1: ; 0x5ce44
+FightingDojoText1: ; 5ce44 (17:4e44)
 	db $08 ; asm
 	ld a, [$d7b1]
 	bit 0, a
@@ -91443,14 +92347,14 @@
 	set 7, [hl]
 	ld hl, UnnamedText_5ce93
 	ld de, UnnamedText_5ce93
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $3
-	ld [$d642], a
-	ld [$da39], a
+	ld [W_FIGHTINGDOJOCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	jr .asm_9dba4 ; 0x5ce7b
 .continue1 ; 0x5ce7d
 	ld hl, UnnamedText_5ce9d
@@ -91462,111 +92366,111 @@
 .asm_9dba4 ; 0x5ce8b
 	jp TextScriptEnd
 
-UnnamedText_5ce8e: ; 0x5ce8e
+UnnamedText_5ce8e: ; 5ce8e (17:4e8e)
 	TX_FAR _UnnamedText_5ce8e
 	db $50
 ; 0x5ce8e + 5 bytes
 
-UnnamedText_5ce93: ; 0x5ce93
+UnnamedText_5ce93: ; 5ce93 (17:4e93)
 	TX_FAR _UnnamedText_5ce93
 	db $50
 ; 0x5ce93 + 5 bytes
 
-FightingDojoText8: ; 0x5ce98
+FightingDojoText8: ; 5ce98 (17:4e98)
 	TX_FAR _UnnamedText_5ce98
 	db $50
 ; 0x5ce98 + 5 bytes
 
-UnnamedText_5ce9d: ; 0x5ce9d
+UnnamedText_5ce9d: ; 5ce9d (17:4e9d)
 	TX_FAR _UnnamedText_5ce9d
 	db $50
 ; 0x5ce9d + 5 bytes
 
-FightingDojoText2: ; 0x5cea2
+FightingDojoText2: ; 5cea2 (17:4ea2)
 	db $08 ; asm
 	ld hl, FightingDojoTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FightingDojoBattleText1: ; 0x5ceac
+FightingDojoBattleText1: ; 5ceac (17:4eac)
 	TX_FAR _FightingDojoBattleText1
 	db $50
 ; 0x5ceac + 5 bytes
 
-FightingDojoEndBattleText1: ; 0x5ceb1
+FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1)
 	TX_FAR _FightingDojoEndBattleText1
 	db $50
 ; 0x5ceb1 + 5 bytes
 
-FightingDojoAfterBattleText1: ; 0x5ceb6
+FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6)
 	TX_FAR _FightingDojoAfterBattleText1
 	db $50
 ; 0x5ceb6 + 5 bytes
 
-FightingDojoText3: ; 0x5cebb
+FightingDojoText3: ; 5cebb (17:4ebb)
 	db $08 ; asm
 	ld hl, FightingDojoTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FightingDojoBattleText2: ; 0x5cec5
+FightingDojoBattleText2: ; 5cec5 (17:4ec5)
 	TX_FAR _FightingDojoBattleText2
 	db $50
 ; 0x5cec5 + 5 bytes
 
-FightingDojoEndBattleText2: ; 0x5ceca
+FightingDojoEndBattleText2: ; 5ceca (17:4eca)
 	TX_FAR _FightingDojoEndBattleText2
 	db $50
 ; 0x5ceca + 5 bytes
 
-FightingDojoAfterBattleText2: ; 0x5cecf
+FightingDojoAfterBattleText2: ; 5cecf (17:4ecf)
 	TX_FAR _FightingDojoAfterBattleText2
 	db $50
 ; 0x5cecf + 5 bytes
 
-FightingDojoText4: ; 0x5ced4
+FightingDojoText4: ; 5ced4 (17:4ed4)
 	db $08 ; asm
 	ld hl, FightingDojoTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FightingDojoBattleText3: ; 0x5cede
+FightingDojoBattleText3: ; 5cede (17:4ede)
 	TX_FAR _FightingDojoBattleText3
 	db $50
 ; 0x5cede + 5 bytes
 
-FightingDojoEndBattleText3: ; 0x5cee3
+FightingDojoEndBattleText3: ; 5cee3 (17:4ee3)
 	TX_FAR _FightingDojoEndBattleText3
 	db $50
 ; 0x5cee3 + 5 bytes
 
-FightingDojoAfterBattleText3: ; 0x5cee8
+FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8)
 	TX_FAR _FightingDojoAfterBattleText3
 	db $50
 ; 0x5cee8 + 5 bytes
 
-FightingDojoText5: ; 0x5ceed
+FightingDojoText5: ; 5ceed (17:4eed)
 	db $08 ; asm
 	ld hl, FightingDojoTrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FightingDojoBattleText4: ; 0x5cef7
+FightingDojoBattleText4: ; 5cef7 (17:4ef7)
 	TX_FAR _FightingDojoBattleText4
 	db $50
 ; 0x5cef7 + 5 bytes
 
-FightingDojoEndBattleText4: ; 0x5cefc
+FightingDojoEndBattleText4: ; 5cefc (17:4efc)
 	TX_FAR _FightingDojoEndBattleText4
 	db $50
 ; 0x5cefc + 5 bytes
 
-FightingDojoAfterBattleText4: ; 0x5cf01
+FightingDojoAfterBattleText4: ; 5cf01 (17:4f01)
 	TX_FAR _FightingDojoAfterBattleText4
 	db $50
 ; 0x5cf01 + 5 bytes
 
-FightingDojoText6: ; 0x5cf06
+FightingDojoText6: ; 5cf06 (17:4f06)
 	db $08 ; asm
 	ld a, [$d7b1]
 	and $c0
@@ -91579,7 +92483,7 @@
 	call Func_349b
 	ld hl, UnnamedText_5cf49
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_3a2c8 ; 0x5cf28
@@ -91598,12 +92502,12 @@
 .asm_3a2c8 ; 0x5cf46
 	jp TextScriptEnd
 
-UnnamedText_5cf49: ; 0x5cf49
+UnnamedText_5cf49: ; 5cf49 (17:4f49)
 	TX_FAR _UnnamedText_5cf49
 	db $50
 ; 0x5cf49 + 5 bytes
 
-FightingDojoText7: ; 0x5cf4e
+FightingDojoText7: ; 5cf4e (17:4f4e)
 	db $08 ; asm
 	ld a, [$d7b1]
 	and $c0
@@ -91616,7 +92520,7 @@
 	call Func_349b
 	ld hl, UnnamedText_5cf91
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_f1f47 ; 0x5cf70
@@ -91635,12 +92539,12 @@
 .asm_f1f47 ; 0x5cf8e
 	jp TextScriptEnd
 
-UnnamedText_5cf91: ; 0x5cf91
+UnnamedText_5cf91: ; 5cf91 (17:4f91)
 	TX_FAR _UnnamedText_5cf91
 	db $50
 ; 0x5cf91 + 5 bytes
 
-UnnamedText_5cf96: ; 0x5cf96
+UnnamedText_5cf96: ; 5cf96 (17:4f96)
 	TX_FAR _UnnamedText_5cf96
 	db $50
 ; 0x5cf96 + 5 bytes
@@ -91667,7 +92571,7 @@
 	EVENT_DISP $5, $b, $4
 	EVENT_DISP $5, $b, $5
 
-FightingDojoBlocks: ; 0x5cfe3 30
+FightingDojoBlocks: ; 5cfe3 (17:4fe3)
 	INCBIN "maps/fightingdojo.blk"
 
 SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178)
@@ -91678,40 +92582,45 @@
 
 	dw SaffronGymObject ; objects
 
-SaffronGymScript: ; 0x5d00d
+SaffronGymScript: ; 5d00d (17:500d)
 	ld hl, $d126
 	bit 6, [hl]
 	res 6, [hl]
 	call nz, .extra
 	call EnableAutoTextBoxDrawing
-	ld hl, $50c3
-	ld de, $5053
-	ld a, [$d65c]
-	call Func_3160
-	ld [$d65c], a
+	ld hl, SaffronGymTrainerHeader0 ; $50c3
+	ld de, Unknown_5d053 ; $5053
+	ld a, [W_SAFFRONGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SAFFRONGYMCURSCRIPT], a
 	ret
 ; 0x5d02a
 .extra
-	ld hl, $5033
-	ld de, $5040
-	jp Func_317f
+	ld hl, Unknown_5d033 ; $5033
+	ld de, Unknown_5d040 ; $5040
+	jp LoadGymLeaderAndCityName
 
-INCBIN "baserom.gbc",$5d033,$5d048 - $5d033
+Unknown_5d033: ; 5d033 (17:5033)
+INCBIN "baserom.gbc",$5d033,$5d040 - $5d033
 
+Unknown_5d040: ; 5d040 (17:5040)
+INCBIN "baserom.gbc",$5d040,$5d048 - $5d040
+
 ; known jump sources: 5d060 (17:5060), 5d0a8 (17:50a8)
 Func_5d048: ; 5d048 (17:5048)
 	xor a
-	ld [$cd6b], a
-	ld [$d65c], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_SAFFRONGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_5d053: ; 5d053 (17:5053)
 INCBIN "baserom.gbc",$5d053,$5d05b - $5d053
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_5d048
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 5d124 (17:5124)
 Func_5d068: ; 5d068 (17:5068)
@@ -91745,11 +92654,11 @@
 	set 0, [hl]
 	jp Func_5d048
 ; 5d0ab (17:50ab)
-SaffronGymTexts: ; 0x5d0ab
+SaffronGymTexts: ; 5d0ab (17:50ab)
 	dw SaffronGymText1, SaffronGymText2, SaffronGymText3, SaffronGymText4, SaffronGymText5, SaffronGymText6, SaffronGymText7, SaffronGymText8, SaffronGymText9, SaffronGymText10, SaffronGymText11, SaffronGymText12
 
-SaffronGymTrainerHeaders:
-SaffronGymTrainerHeader0: ; 0x5d0c3
+SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3)
+SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91759,7 +92668,7 @@
 	dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle
 ; 0x5d0cf
 
-SaffronGymTrainerHeader1: ; 0x5d0cf
+SaffronGymTrainerHeader1: ; 5d0cf (17:50cf)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91769,7 +92678,7 @@
 	dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle
 ; 0x5d0db
 
-SaffronGymTrainerHeader2: ; 0x5d0db
+SaffronGymTrainerHeader2: ; 5d0db (17:50db)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91779,7 +92688,7 @@
 	dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle
 ; 0x5d0e7
 
-SaffronGymTrainerHeader3: ; 0x5d0e7
+SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91789,7 +92698,7 @@
 	dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle
 ; 0x5d0f3
 
-SaffronGymTrainerHeader4: ; 0x5d0f3
+SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91799,7 +92708,7 @@
 	dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle
 ; 0x5d0ff
 
-SaffronGymTrainerHeader5: ; 0x5d0ff
+SaffronGymTrainerHeader5: ; 5d0ff (17:50ff)
 	db $7 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91809,7 +92718,7 @@
 	dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle
 ; 0x5d10b
 
-SaffronGymTrainerHeader6: ; 0x5d10b
+SaffronGymTrainerHeader6: ; 5d10b (17:510b)
 	db $8 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7b3 ; flag's byte
@@ -91821,7 +92730,7 @@
 
 db $ff
 
-SaffronGymText1: ; 0x5d118
+SaffronGymText1: ; 5d118 (17:5118)
 	db $08 ; asm
 	ld a, [$d7b3]
 	bit 1, a
@@ -91843,24 +92752,24 @@
 	set 7, [hl]
 	ld hl, UnnamedText_5d167
 	ld de, UnnamedText_5d167
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $6
 	ld [$d05c], a
 	ld a, $3
-	ld [$d65c], a
+	ld [W_SAFFRONGYMCURSCRIPT], a
 .asm_34c2c ; 0x5d15f
 	jp TextScriptEnd
 
-UnnamedText_5d162: ; 0x5d162
+UnnamedText_5d162: ; 5d162 (17:5162)
 	TX_FAR _UnnamedText_5d162
 	db $50
 ; 0x5d162 + 5 bytes
 
-UnnamedText_5d167: ; 0x5d167
+UnnamedText_5d167: ; 5d167 (17:5167)
 	TX_FAR _UnnamedText_5d167 ; 0xa1c73
 	db $11 ; play same sound as red giving oak parcel
 	db $6 ; wait for keypress
@@ -91867,70 +92776,70 @@
 	db $50
 ; 0x5d16e
 
-UnnamedText_5d16e: ; 0x5d16e
+UnnamedText_5d16e: ; 5d16e (17:516e)
 	TX_FAR _UnnamedText_5d16e
 	db $50
 ; 0x5d16e + 5 bytes
 
-SaffronGymText10: ; 0x5d173
+SaffronGymText10: ; 5d173 (17:5173)
 	TX_FAR _UnnamedText_5d173
 	db $50
 ; 0x5d173 + 5 bytes
 
-SaffronGymText11: ; 0x5d178
+SaffronGymText11: ; 5d178 (17:5178)
 	TX_FAR ReceivedTM46Text
 	db $b
 	TX_FAR _TM46ExplanationText
 	db $50
 
-SaffronGymText12: ; 0x5d182
+SaffronGymText12: ; 5d182 (17:5182)
 	TX_FAR _TM46NoRoomText ; pack full
 	db $50
 ; 0x5d182 + 5 bytes
 
-SaffronGymText2: ; 0x5d187
+SaffronGymText2: ; 5d187 (17:5187)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText3: ; 0x5d191
+SaffronGymText3: ; 5d191 (17:5191)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText4: ; 0x5d19b
+SaffronGymText4: ; 5d19b (17:519b)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText5: ; 0x5d1a5
+SaffronGymText5: ; 5d1a5 (17:51a5)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText6: ; 0x5d1af
+SaffronGymText6: ; 5d1af (17:51af)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText7: ; 0x5d1b9
+SaffronGymText7: ; 5d1b9 (17:51b9)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText8: ; 0x5d1c3
+SaffronGymText8: ; 5d1c3 (17:51c3)
 	db $08 ; asm
 	ld hl, SaffronGymTrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SaffronGymText9: ; 0x5d1cd
+SaffronGymText9: ; 5d1cd (17:51cd)
 	db $08 ; asm
 	ld a, [$d7b3]
 	bit 1, a
@@ -91944,117 +92853,117 @@
 .asm_e9907 ; 0x5d1e3
 	jp TextScriptEnd
 
-UnnamedText_5d1e6: ; 0x5d1e6
+UnnamedText_5d1e6: ; 5d1e6 (17:51e6)
 	TX_FAR _UnnamedText_5d1e6
 	db $50
 ; 0x5d1e6 + 5 bytes
 
-UnnamedText_5d1eb: ; 0x5d1eb
+UnnamedText_5d1eb: ; 5d1eb (17:51eb)
 	TX_FAR _UnnamedText_5d1eb
 	db $50
 ; 0x5d1eb + 5 bytes
 
-SaffronGymBattleText1: ; 0x5d1f0
+SaffronGymBattleText1: ; 5d1f0 (17:51f0)
 	TX_FAR _SaffronGymBattleText1
 	db $50
 ; 0x5d1f0 + 5 bytes
 
-SaffronGymEndBattleText1: ; 0x5d1f5
+SaffronGymEndBattleText1: ; 5d1f5 (17:51f5)
 	TX_FAR _SaffronGymEndBattleText1
 	db $50
 ; 0x5d1f5 + 5 bytes
 
-SaffronGymAfterBattleText1: ; 0x5d1fa
+SaffronGymAfterBattleText1: ; 5d1fa (17:51fa)
 	TX_FAR _SaffronGymAfterBattleText1
 	db $50
 ; 0x5d1fa + 5 bytes
 
-SaffronGymBattleText2: ; 0x5d1ff
+SaffronGymBattleText2: ; 5d1ff (17:51ff)
 	TX_FAR _SaffronGymBattleText2
 	db $50
 ; 0x5d1ff + 5 bytes
 
-SaffronGymEndBattleText2: ; 0x5d204
+SaffronGymEndBattleText2: ; 5d204 (17:5204)
 	TX_FAR _SaffronGymEndBattleText2
 	db $50
 ; 0x5d204 + 5 bytes
 
-SaffronGymAfterBattleText2: ; 0x5d209
+SaffronGymAfterBattleText2: ; 5d209 (17:5209)
 	TX_FAR _SaffronGymAfterBattleText2
 	db $50
 ; 0x5d209 + 5 bytes
 
-SaffronGymBattleText3: ; 0x5d20e
+SaffronGymBattleText3: ; 5d20e (17:520e)
 	TX_FAR _SaffronGymBattleText3
 	db $50
 ; 0x5d20e + 5 bytes
 
-SaffronGymEndBattleText3: ; 0x5d213
+SaffronGymEndBattleText3: ; 5d213 (17:5213)
 	TX_FAR _SaffronGymEndBattleText3
 	db $50
 ; 0x5d213 + 5 bytes
 
-SaffronGymAfterBattleText3: ; 0x5d218
+SaffronGymAfterBattleText3: ; 5d218 (17:5218)
 	TX_FAR _SaffronGymAfterBattleText3
 	db $50
 ; 0x5d218 + 5 bytes
 
-SaffronGymBattleText4: ; 0x5d21d
+SaffronGymBattleText4: ; 5d21d (17:521d)
 	TX_FAR _SaffronGymBattleText4
 	db $50
 ; 0x5d21d + 5 bytes
 
-SaffronGymEndBattleText4: ; 0x5d222
+SaffronGymEndBattleText4: ; 5d222 (17:5222)
 	TX_FAR _SaffronGymEndBattleText4
 	db $50
 ; 0x5d222 + 5 bytes
 
-SaffronGymAfterBattleText4: ; 0x5d227
+SaffronGymAfterBattleText4: ; 5d227 (17:5227)
 	TX_FAR _SaffronGymAfterBattleText4
 	db $50
 ; 0x5d227 + 5 bytes
 
-SaffronGymBattleText5: ; 0x5d22c
+SaffronGymBattleText5: ; 5d22c (17:522c)
 	TX_FAR _SaffronGymBattleText5
 	db $50
 ; 0x5d22c + 5 bytes
 
-SaffronGymEndBattleText5: ; 0x5d231
+SaffronGymEndBattleText5: ; 5d231 (17:5231)
 	TX_FAR _SaffronGymEndBattleText5
 	db $50
 ; 0x5d231 + 5 bytes
 
-SaffronGymAfterBattleText5: ; 0x5d236
+SaffronGymAfterBattleText5: ; 5d236 (17:5236)
 	TX_FAR _SaffronGymAfterBattleText5
 	db $50
 ; 0x5d236 + 5 bytes
 
-SaffronGymBattleText6: ; 0x5d23b
+SaffronGymBattleText6: ; 5d23b (17:523b)
 	TX_FAR _SaffronGymBattleText6
 	db $50
 ; 0x5d23b + 5 bytes
 
-SaffronGymEndBattleText6: ; 0x5d240
+SaffronGymEndBattleText6: ; 5d240 (17:5240)
 	TX_FAR _SaffronGymEndBattleText6
 	db $50
 ; 0x5d240 + 5 bytes
 
-SaffronGymAfterBattleText6: ; 0x5d245
+SaffronGymAfterBattleText6: ; 5d245 (17:5245)
 	TX_FAR _SaffronGymAfterBattleText6
 	db $50
 ; 0x5d245 + 5 bytes
 
-SaffronGymBattleText7: ; 0x5d24a
+SaffronGymBattleText7: ; 5d24a (17:524a)
 	TX_FAR _SaffronGymBattleText7
 	db $50
 ; 0x5d24a + 5 bytes
 
-SaffronGymEndBattleText7: ; 0x5d24f
+SaffronGymEndBattleText7: ; 5d24f (17:524f)
 	TX_FAR _SaffronGymEndBattleText7
 	db $50
 ; 0x5d24f + 5 bytes
 
-SaffronGymAfterBattleText7: ; 0x5d254
+SaffronGymAfterBattleText7: ; 5d254 (17:5254)
 	TX_FAR _SaffronGymAfterBattleText7
 	db $50
 ; 0x5d254 + 5 bytes
@@ -92143,7 +93052,7 @@
 	EVENT_DISP $a, $11, $f ; SAFFRON_GYM
 	EVENT_DISP $a, $11, $13 ; SAFFRON_GYM
 
-SaffronGymBlocks: ; 0x5d3a3 90
+SaffronGymBlocks: ; 5d3a3 (17:53a3)
 	INCBIN "maps/saffrongym.blk"
 
 SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180)
@@ -92154,18 +93063,18 @@
 
 	dw SaffronMartObject ; objects
 
-SaffronMartScript: ; 0x5d409
+SaffronMartScript: ; 5d409 (17:5409)
 	jp EnableAutoTextBoxDrawing
 ; 0x5d40c
 
-SaffronMartTexts: ; 0x5d40c
+SaffronMartTexts: ; 5d40c (17:540c)
 	dw SaffronMartText1, SaffronMartText2, SaffronMartText3
 
-SaffronMartText2: ; 0x5d412
+SaffronMartText2: ; 5d412 (17:5412)
 	TX_FAR _SaffronMartText2
 	db $50
 
-SaffronMartText3: ; 0x5d417
+SaffronMartText3: ; 5d417 (17:5417)
 	TX_FAR _SaffronMartText3
 	db $50
 
@@ -92195,7 +93104,7 @@
 
 	dw SilphCo1Object ; objects
 
-SilphCo1Script: ; 0x5d44e
+SilphCo1Script: ; 5d44e (17:544e)
 	call EnableAutoTextBoxDrawing
 	ld a, [$d838]
 	bit 7, a
@@ -92210,10 +93119,10 @@
 	jp Predef
 ; 0x5d469
 
-SilphCo1Texts: ; 0x5d469
+SilphCo1Texts: ; 5d469 (17:5469)
 	dw SilphCo1Text1
 
-SilphCo1Text1: ; 0x5d46b
+SilphCo1Text1: ; 5d46b (17:546b)
 	TX_FAR _SilphCo1Text1
 	db $50
 
@@ -92239,7 +93148,7 @@
 	EVENT_DISP $f, $0, $14 ; SILPH_CO_ELEVATOR
 	EVENT_DISP $f, $a, $10 ; SILPH_CO_3F
 
-SilphCo1Blocks: ; 0x5d4a2 135
+SilphCo1Blocks: ; 5d4a2 (17:54a2)
 	INCBIN "maps/silphco1.blk"
 
 SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182)
@@ -92250,26 +93159,26 @@
 
 	dw SaffronPokecenterObject ; objects
 
-SaffronPokecenterScript: ; 0x5d535
+SaffronPokecenterScript: ; 5d535 (17:5535)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x5d53b
 
-SaffronPokecenterTexts:
+SaffronPokecenterTexts: ; 5d53b (17:553b)
 	dw SaffronPokecenterText1, SaffronPokecenterText2, SaffronPokecenterText3, SaffronPokecenterText4
 
-SaffronPokecenterText1: ; 0x5d542
+SaffronPokecenterText1: ; 5d543 (17:5543)
 	db $ff
 
-SaffronPokecenterText2: ; 0x5d543
+SaffronPokecenterText2: ; 5d544 (17:5544)
 	TX_FAR _SaffronPokecenterText1
 	db $50
 
-SaffronPokecenterText3: ; 0x5d549
+SaffronPokecenterText3: ; 5d549 (17:5549)
 	TX_FAR _SaffronPokecenterText3
 	db $50
 
-SaffronPokecenterText4:
+SaffronPokecenterText4: ; 5d54e (17:554e)
 	db $f6
 
 SaffronPokecenterObject: ; 0x5d54f (size=44)
@@ -92299,18 +93208,18 @@
 
 	dw ViridianForestexitObject ; objects
 
-ViridianForestexitScript: ; 0x5d587
+ViridianForestexitScript: ; 5d587 (17:5587)
 	jp EnableAutoTextBoxDrawing
 ; 0x5d58a
 
-ViridianForestexitTexts: ; 0x5d58a
+ViridianForestexitTexts: ; 5d58a (17:558a)
 	dw ViridianForestexitText1, ViridianForestexitText2
 
-ViridianForestexitText1: ; 0x5d58e
+ViridianForestexitText1: ; 5d58e (17:558e)
 	TX_FAR _ViridianForestexitText1
 	db $50
 
-ViridianForestexitText2: ; 0x5d593
+ViridianForestexitText2: ; 5d593 (17:5593)
 	TX_FAR _ViridianForestexitText2
 	db $50
 
@@ -92343,14 +93252,14 @@
 
 	dw Route2GateObject ; objects
 
-Route2GateScript: ; 0x5d5d4
+Route2GateScript: ; 5d5d4 (17:55d4)
 	jp EnableAutoTextBoxDrawing
 ; 0x5d5d7
 
-Route2GateTexts: ; 0x5d5d7
+Route2GateTexts: ; 5d5d7 (17:55d7)
 	dw Route2GateText1, Route2GateText2
 
-Route2GateText1: ; 0x5d5db
+Route2GateText1: ; 5d5db (17:55db)
 	db $08 ; asm
 	ld a, [$d7c2]
 	bit 0, a
@@ -92378,12 +93287,12 @@
 .asm_ad646 ; 0x5d613
 	jp TextScriptEnd
 
-UnnamedText_5d616: ; 0x5d616
+UnnamedText_5d616: ; 5d616 (17:5616)
 	TX_FAR _UnnamedText_5d616
 	db $50
 ; 0x5d616 + 5 bytes
 
-Route2GateText2: ; 0x5d61b
+Route2GateText2: ; 5d61b (17:561b)
 	TX_FAR _Route2GateText2
 	db $50
 
@@ -92416,18 +93325,18 @@
 
 	dw ViridianForestEntranceObject ; objects
 
-ViridianForestEntranceScript: ; 0x5d65c
+ViridianForestEntranceScript: ; 5d65c (17:565c)
 	jp EnableAutoTextBoxDrawing
 ; 0x5d65f
 
-ViridianForestEntranceTexts: ; 0x5d65f
+ViridianForestEntranceTexts: ; 5d65f (17:565f)
 	dw ViridianForestEntranceText1, ViridianForestEntranceText2
 
-ViridianForestEntranceText1: ; 0x5d663
+ViridianForestEntranceText1: ; 5d663 (17:5663)
 	TX_FAR _ViridianForestEntranceText1
 	db $50
 
-ViridianForestEntranceText2: ; 0x5d668
+ViridianForestEntranceText2: ; 5d668 (17:5668)
 	TX_FAR _ViridianForestEntranceText2
 	db $50
 
@@ -92460,19 +93369,19 @@
 
 	dw UndergroundTunnelEntranceRoute5Object ; objects
 
-UndergroundTunnelEntranceRoute5Script: ; 0x5d6a9
+UndergroundTunnelEntranceRoute5Script: ; 5d6a9 (17:56a9)
 	ld a, $10
 	ld [$d365], a
 	ret
 ; 0x5d6af
 
-UndergroundTunnelEntranceRoute5_5d6af: ; 0x5d6af
+UndergroundTunnelEntranceRoute5_5d6af: ; 5d6af (17:56af)
 	db $50
 
-UndergroundTunnelEntranceRoute5Texts: ; 0x5d6b0
+UndergroundTunnelEntranceRoute5Texts: ; 5d6b0 (17:56b0)
 	dw UndergroundTunnelEntranceRoute5Text1
 
-UndergroundTunnelEntranceRoute5Text1: ; 0x5d6b2
+UndergroundTunnelEntranceRoute5Text1: ; 5d6b2 (17:56b2)
 	db $08 ; asm
 	ld a, $9
 	ld [W_WHICHTRADE], a
@@ -92507,17 +93416,17 @@
 
 	dw UndergroundTunnelEntranceRoute6Object ; objects
 
-UndergroundTunnelEntranceRoute6Script: ; 0x5d6ef
+UndergroundTunnelEntranceRoute6Script: ; 5d6ef (17:56ef)
 	ld a, $11
 	ld [$d365], a
 	jp EnableAutoTextBoxDrawing
 ; 0x5d6f7
 
-UndergroundTunnelEntranceRoute6Texts: ; 0x5d6f7
+UndergroundTunnelEntranceRoute6Texts: ; 5d6f7 (17:56f7)
 	dw UndergroundTunnelEntranceRoute6Text1
 
 ;XXX wtf? syntax error on TX_FAR?
-UndergroundTunnelEntranceRoute6Text1: ; 0x5d6f9
+UndergroundTunnelEntranceRoute6Text1: ; 5d6f9 (17:56f9)
 	db $17, $cb, $40, $23
 	;TX_FAR _UndergroundTunnelEntranceRoute6Text1 ; $cb, $40, $23
 	db $50
@@ -92548,16 +93457,16 @@
 
 	dw UndergroundPathEntranceRoute7Object ; objects
 
-UndergroundPathEntranceRoute7Script: ; 0x5d72c
+UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c)
 	ld a, $12
 	ld [$d365], a
 	jp EnableAutoTextBoxDrawing
 ; 0x5d734
 
-UndergroundPathEntranceRoute7Texts: ; 0x5d734
+UndergroundPathEntranceRoute7Texts: ; 5d734 (17:5734)
 	dw UndergroundPathEntranceRoute7Text1
 
-UndergroundPathEntranceRoute7Text1: ; 0x5d736
+UndergroundPathEntranceRoute7Text1: ; 5d736 (17:5736)
 	db $17, $ff, $40, $23
 	;TX_FAR _UndergroundPathEntranceRoute7Text1
 	db $50
@@ -92582,27 +93491,27 @@
 
 INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d
 
-UnnamedText_5d773: ; 0x5d773
+UnnamedText_5d773: ; 5d773 (17:5773)
 	TX_FAR _UnnamedText_5d773
 	db $50
 ; 0x5d773 + 5 bytes
 
-UnnamedText_5d778: ; 0x5d778
+UnnamedText_5d778: ; 5d778 (17:5778)
 	TX_FAR _UnnamedText_5d778
 	db $50
 ; 0x5d778 + 5 bytes
 
-UnnamedText_5d77d: ; 0x5d77d
+UnnamedText_5d77d: ; 5d77d (17:577d)
 	TX_FAR _UnnamedText_5d77d
 	db $50
 ; 0x5d77d + 5 bytes
 
-UnnamedText_5d782: ; 0x5d782
+UnnamedText_5d782: ; 5d782 (17:5782)
 	TX_FAR _UnnamedText_5d782
 	db $50
 ; 0x5d782 + 5 bytes
 
-INCBIN "baserom.gbc",$5d787,$28
+INCBIN "baserom.gbc",$5d787,$5d7af - $5d787
 
 SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233)
 	db $16 ; tileset
@@ -92612,23 +93521,23 @@
 
 	dw SilphCo9Object ; objects
 
-SilphCo9Script: ; 0x5d7bb
+SilphCo9Script: ; 5d7bb (17:57bb)
 	call SilphCo9Script_Unknown5d7d1
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo9TrainerHeaders
-	ld de, $5885
-	ld a, [$d64a]
-	call Func_3160
-	ld [$d64a], a
+	ld de, Unknown_5d885 ; $5885
+	ld a, [W_SILPHCO9CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO9CURSCRIPT], a
 	ret
 ; 0x5d7d1
 
-SilphCo9Script_Unknown5d7d1: ; 0x5d7d1
+SilphCo9Script_Unknown5d7d1: ; 5d7d1 (17:57d1)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
 	ret z
-	ld hl, $582e
+	ld hl, Unknown_5d82e ; $582e
 	call Func_5d837
 	call Func_5d863
 	ld a, [$d834]
@@ -92670,6 +93579,7 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_5d82e: ; 5d82e (17:582e)
 INCBIN "baserom.gbc",$5d82e,$5d837 - $5d82e
 
 ; known jump sources: 5d7dc (17:57dc)
@@ -92735,13 +93645,14 @@
 	set 3, [hl]
 	ret
 
+Unknown_5d885: ; 5d885 (17:5885)
 INCBIN "baserom.gbc",$5d885,$5d88b - $5d885
 
-SilphCo9Texts: ; 0x5d88b
+SilphCo9Texts: ; 5d88b (17:588b)
 	dw SilphCo9Text1, SilphCo9Text2, SilphCo9Text3, SilphCo9Text4
 
-SilphCo9TrainerHeaders:
-SilphCo9TrainerHeader0: ; 0x5d893
+SilphCo9TrainerHeaders: ; 5d893 (17:5893)
+SilphCo9TrainerHeader0: ; 5d893 (17:5893)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d833 ; flag's byte
@@ -92751,7 +93662,7 @@
 	dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle
 ; 0x5d89f
 
-SilphCo9TrainerHeader1: ; 0x5d89f
+SilphCo9TrainerHeader1: ; 5d89f (17:589f)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d833 ; flag's byte
@@ -92761,7 +93672,7 @@
 	dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle
 ; 0x5d8ab
 
-SilphCo9TrainerHeader2: ; 0x5d8ab
+SilphCo9TrainerHeader2: ; 5d8ab (17:58ab)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d833 ; flag's byte
@@ -92773,7 +93684,7 @@
 
 db $ff
 
-SilphCo9Text1: ; 0x5d8b8
+SilphCo9Text1: ; 5d8b8 (17:58b8)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 7, a
@@ -92794,80 +93705,80 @@
 .asm_b6e28 ; 0x5d8e2
 	jp TextScriptEnd
 
-UnnamedText_5d8e5: ; 0x5d8e5
+UnnamedText_5d8e5: ; 5d8e5 (17:58e5)
 	TX_FAR _UnnamedText_5d8e5
 	db $50
 ; 0x5d8e5 + 5 bytes
 
-UnnamedText_5d8ea: ; 0x5d8ea
+UnnamedText_5d8ea: ; 5d8ea (17:58ea)
 	TX_FAR _UnnamedText_5d8ea
 	db $50
 ; 0x5d8ea + 5 bytes
 
-UnnamedText_5d8ef: ; 0x5d8ef
+UnnamedText_5d8ef: ; 5d8ef (17:58ef)
 	TX_FAR _UnnamedText_5d8ef
 	db $50
 ; 0x5d8ef + 5 bytes
 
-SilphCo9Text2: ; 0x5d8f4
+SilphCo9Text2: ; 5d8f4 (17:58f4)
 	db $08 ; asm
 	ld hl, SilphCo9TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo9Text3: ; 0x5d8fe
+SilphCo9Text3: ; 5d8fe (17:58fe)
 	db $08 ; asm
 	ld hl, SilphCo9TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo9Text4: ; 0x5d908
+SilphCo9Text4: ; 5d908 (17:5908)
 	db $08 ; asm
 	ld hl, SilphCo9TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo9BattleText1: ; 0x5d912
+SilphCo9BattleText1: ; 5d912 (17:5912)
 	TX_FAR _SilphCo9BattleText1
 	db $50
 ; 0x5d912 + 5 bytes
 
-SilphCo9EndBattleText1: ; 0x5d917
+SilphCo9EndBattleText1: ; 5d917 (17:5917)
 	TX_FAR _SilphCo9EndBattleText1
 	db $50
 ; 0x5d917 + 5 bytes
 
-SilphCo9AfterBattleText1: ; 0x5d91c
+SilphCo9AfterBattleText1: ; 5d91c (17:591c)
 	TX_FAR _SilphCo9AfterBattleText1
 	db $50
 ; 0x5d91c + 5 bytes
 
-SilphCo9BattleText2: ; 0x5d921
+SilphCo9BattleText2: ; 5d921 (17:5921)
 	TX_FAR _SilphCo9BattleText2
 	db $50
 ; 0x5d921 + 5 bytes
 
-SilphCo9EndBattleText2: ; 0x5d926
+SilphCo9EndBattleText2: ; 5d926 (17:5926)
 	TX_FAR _SilphCo9EndBattleText2
 	db $50
 ; 0x5d926 + 5 bytes
 
-SilphCo9AfterBattleText2: ; 0x5d92b
+SilphCo9AfterBattleText2: ; 5d92b (17:592b)
 	TX_FAR _SilphCo9AfterBattleText2
 	db $50
 ; 0x5d92b + 5 bytes
 
-SilphCo9BattleText3: ; 0x5d930
+SilphCo9BattleText3: ; 5d930 (17:5930)
 	TX_FAR _SilphCo9BattleText3
 	db $50
 ; 0x5d930 + 5 bytes
 
-SilphCo9EndBattleText3: ; 0x5d935
+SilphCo9EndBattleText3: ; 5d935 (17:5935)
 	TX_FAR _SilphCo9EndBattleText3
 	db $50
 ; 0x5d935 + 5 bytes
 
-SilphCo9AfterBattleText3: ; 0x5d93a
+SilphCo9AfterBattleText3: ; 5d93a (17:593a)
 	TX_FAR _SilphCo9AfterBattleText3
 	db $50
 ; 0x5d93a + 5 bytes
@@ -92897,7 +93808,7 @@
 	EVENT_DISP $d, $3, $9 ; SILPH_CO_3F
 	EVENT_DISP $d, $f, $11 ; SILPH_CO_5F
 
-SilphCo9Blocks: ; 0x5d989 117
+SilphCo9Blocks: ; 5d989 (17:5989)
 	INCBIN "maps/silphco9.blk"
 
 VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108)
@@ -92908,7 +93819,7 @@
 
 	dw VictoryRoad1Object ; objects
 
-VictoryRoad1Script: ; 0x5da0a
+VictoryRoad1Script: ; 5da0a (17:5a0a)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -92915,10 +93826,10 @@
 	call nz, .next
 	call EnableAutoTextBoxDrawing
 	ld hl, VictoryRoad1TrainerHeaders
-	ld de, $5a3a
-	ld a, [$d651]
-	call Func_3160
-	ld [$d651], a
+	ld de, Unknown_5da3a ; $5a3a
+	ld a, [W_VICTORYROAD1CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_VICTORYROAD1CURSCRIPT], a
 	ret
 ; 0x5da27
 .next
@@ -92931,13 +93842,14 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_5da3a: ; 5da3a (17:5a3a)
 INCBIN "baserom.gbc",$5da3a,$5da40 - $5da3a
 	ld a, [$d869]
 	bit 7, a
-	jp nz, Func_3219
-	ld hl, $5a5c
+	jp nz, CheckFightingMapTrainers
+	ld hl, Unknown_5da5c ; $5a5c
 	call CheckBoulderCoords
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	ld hl, $d126
 	set 5, [hl]
 	ld hl, $d869
@@ -92944,13 +93856,14 @@
 	set 7, [hl]
 	ret
 
+Unknown_5da5c: ; 5da5c (17:5a5c)
 INCBIN "baserom.gbc",$5da5c,$5da5f - $5da5c
 
-VictoryRoad1Texts: ; 0x5da5f
+VictoryRoad1Texts: ; 5da5f (17:5a5f)
 	dw VictoryRoad1Text1, VictoryRoad1Text2, Predef5CText, Predef5CText, BoulderText, BoulderText, BoulderText
 
-VictoryRoad1TrainerHeaders:
-VictoryRoad1TrainerHeader0: ; 0x5da6d
+VictoryRoad1TrainerHeaders: ; 5da6d (17:5a6d)
+VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d869 ; flag's byte
@@ -92960,7 +93873,7 @@
 	dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle
 ; 0x5da79
 
-VictoryRoad1TrainerHeader1: ; 0x5da79
+VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d869 ; flag's byte
@@ -92972,44 +93885,44 @@
 
 db $ff
 
-VictoryRoad1Text1: ; 0x5da86
+VictoryRoad1Text1: ; 5da86 (17:5a86)
 	db $08 ; asm
 	ld hl, VictoryRoad1TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad1Text2: ; 0x5da90
+VictoryRoad1Text2: ; 5da90 (17:5a90)
 	db $08 ; asm
 	ld hl, VictoryRoad1TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-VictoryRoad1BattleText1: ; 0x5da9a
+VictoryRoad1BattleText1: ; 5da9a (17:5a9a)
 	TX_FAR _VictoryRoad1BattleText1
 	db $50
 ; 0x5da9a + 5 bytes
 
-VictoryRoad1EndBattleText1: ; 0x5da9f
+VictoryRoad1EndBattleText1: ; 5da9f (17:5a9f)
 	TX_FAR _VictoryRoad1EndBattleText1
 	db $50
 ; 0x5da9f + 5 bytes
 
-VictoryRoad1AfterBattleText1: ; 0x5daa4
+VictoryRoad1AfterBattleText1: ; 5daa4 (17:5aa4)
 	TX_FAR _VictoryRoad1AfterBattleText1
 	db $50
 ; 0x5daa4 + 5 bytes
 
-VictoryRoad1BattleText2: ; 0x5daa9
+VictoryRoad1BattleText2: ; 5daa9 (17:5aa9)
 	TX_FAR _VictoryRoad1BattleText2
 	db $50
 ; 0x5daa9 + 5 bytes
 
-VictoryRoad1EndBattleText2: ; 0x5daae
+VictoryRoad1EndBattleText2: ; 5daae (17:5aae)
 	TX_FAR _VictoryRoad1EndBattleText2
 	db $50
 ; 0x5daae + 5 bytes
 
-VictoryRoad1AfterBattleText2: ; 0x5dab3
+VictoryRoad1AfterBattleText2: ; 5dab3 (17:5ab3)
 	TX_FAR _VictoryRoad1AfterBattleText2
 	db $50
 ; 0x5dab3 + 5 bytes
@@ -93038,7 +93951,7 @@
 	EVENT_DISP $a, $11, $9
 	EVENT_DISP $a, $1, $1 ; VICTORY_ROAD_2
 
-VictoryRoad1Blocks: ; 0x5db04 90
+VictoryRoad1Blocks: ; 5db04 (17:5b04)
 	INCBIN "maps/victoryroad1.blk"
 
 ; known jump sources: 3aeaa (e:6eaa)
@@ -93060,7 +93973,7 @@
 
 INCBIN "baserom.gbc",$5db79,$5db81 - $5db79
 
-UnnamedText_5db81: ; 0x5db81
+UnnamedText_5db81: ; 5db81 (17:5b81)
 	TX_FAR _UnnamedText_5db81
 	db $50
 ; 0x5db81 + 5 bytes
@@ -93067,7 +93980,7 @@
 
 INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86
 
-UnnamedText_5dba8: ; 0x5dba8
+UnnamedText_5dba8: ; 5dba8 (17:5ba8)
 	TX_FAR _UnnamedText_5dba8
 	db $50
 ; 0x5dba8 + 5 bytes
@@ -93080,7 +93993,7 @@
 	call Func_3ef5
 	ret
 ; 5dbbe (17:5bbe)
-UnnamedText_5dbbe: ; 0x5dbbe
+UnnamedText_5dbbe: ; 5dbbe (17:5bbe)
 	TX_FAR _UnnamedText_5dbbe
 	db $50
 ; 0x5dbbe + 5 bytes
@@ -93093,7 +94006,7 @@
 	call Func_3ef5
 	ret
 ; 5dbd4 (17:5bd4)
-UnnamedText_5dbd4: ; 0x5dbd4
+UnnamedText_5dbd4: ; 5dbd4 (17:5bd4)
 	TX_FAR _UnnamedText_5dbd4
 	db $50
 ; 0x5dbd4 + 5 bytes
@@ -93105,7 +94018,7 @@
 	call Delay3
 	xor a
 	ld [$FF00+$b0], a
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld a, $11
 	ld [$d125], a
 	call DisplayTextBoxID
@@ -93117,11 +94030,12 @@
 	call LoadMonFrontSprite
 	ld a, $80
 	ld [$FF00+$e1], a
-	ld hl, $c486
+	FuncCoord 10, 11 ; $c486
+	ld hl, Coord
 	ld a, $2
 	call Predef ; indirect jump to Func_3f073 (3f073 (f:7073))
-	call Func_3865
-	call Func_3725
+	call WaitForTextScrollButtonPress
+	call LoadScreenTilesFromBuffer1
 	call Delay3
 	ld a, $90
 	ld [$FF00+$b0], a
@@ -93129,12 +94043,12 @@
 
 INCBIN "baserom.gbc",$5dc1a,$5dc9e - $5dc1a
 
-UnnamedText_5dc9e: ; 0x5dc9e
+UnnamedText_5dc9e: ; 5dc9e (17:5c9e)
 	TX_FAR _UnnamedText_5dc9e
 	db $50
 ; 0x5dc9e + 5 bytes
 
-UnnamedText_5dca3: ; 0x5dca3
+UnnamedText_5dca3: ; 5dca3 (17:5ca3)
 	TX_FAR _UnnamedText_5dca3
 	db $50
 ; 0x5dca3 + 5 bytes
@@ -93141,17 +94055,17 @@
 
 INCBIN "baserom.gbc",$5dca8,$5dcde - $5dca8
 
-UnnamedText_5dcde: ; 0x5dcde
+UnnamedText_5dcde: ; 5dcde (17:5cde)
 	TX_FAR _UnnamedText_5dcde
 	db $50
 ; 0x5dcde + 5 bytes
 
-UnnamedText_5dce3: ; 0x5dce3
+UnnamedText_5dce3: ; 5dce3 (17:5ce3)
 	TX_FAR _UnnamedText_5dce3
 	db $50
 ; 0x5dce3 + 5 bytes
 
-UnnamedText_5dce8: ; 0x5dce8
+UnnamedText_5dce8: ; 5dce8 (17:5ce8)
 	TX_FAR _UnnamedText_5dce8
 	db $50
 ; 0x5dce8 + 5 bytes
@@ -93158,12 +94072,12 @@
 
 INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced
 
-UnnamedText_5dda2: ; 0x5dda2
+UnnamedText_5dda2: ; 5dda2 (17:5da2)
 	TX_FAR _UnnamedText_5dda2
 	db $50
 ; 0x5dda2 + 5 bytes
 
-UnnamedText_5dda7: ; 0x5dda7
+UnnamedText_5dda7: ; 5dda7 (17:5da7)
 	TX_FAR _UnnamedText_5dda7
 	db $50
 ; 0x5dda7 + 5 bytes
@@ -93170,27 +94084,27 @@
 
 INCBIN "baserom.gbc",$5ddac,$5ddd6 - $5ddac
 
-UnnamedText_5ddd6: ; 0x5ddd6
+UnnamedText_5ddd6: ; 5ddd6 (17:5dd6)
 	TX_FAR _UnnamedText_5ddd6
 	db $50
 ; 0x5ddd6 + 5 bytes
 
-UnnamedText_5dddb: ; 0x5dddb
+UnnamedText_5dddb: ; 5dddb (17:5ddb)
 	TX_FAR _UnnamedText_5dddb
 	db $50
 ; 0x5dddb + 5 bytes
 
-UnnamedText_5dde0: ; 0x5dde0
+UnnamedText_5dde0: ; 5dde0 (17:5de0)
 	TX_FAR _UnnamedText_5dde0
 	db $50
 ; 0x5dde0 + 5 bytes
 
-UnnamedText_5dde5: ; 0x5dde5
+UnnamedText_5dde5: ; 5dde5 (17:5de5)
 	TX_FAR _UnnamedText_5dde5
 	db $50
 ; 0x5dde5 + 5 bytes
 
-UnnamedText_5ddea: ; 0x5ddea
+UnnamedText_5ddea: ; 5ddea (17:5dea)
 	TX_FAR _UnnamedText_5ddea
 	db $50
 ; 0x5ddea + 5 bytes
@@ -93197,7 +94111,7 @@
 
 INCBIN "baserom.gbc",$5ddef,$5ddf7 - $5ddef
 
-UnnamedText_5ddf7: ; 0x5ddf7
+UnnamedText_5ddf7: ; 5ddf7 (17:5df7)
 	TX_FAR _UnnamedText_5ddf7
 	db $50
 ; 0x5ddf7 + 5 bytes
@@ -93223,7 +94137,7 @@
 .asm_5de23
 	ld hl, $d773
 	set 1, [hl]
-	ld hl, $5e7d
+	ld hl, Unknown_5de7d ; $5e7d
 	ld a, [$cd5b]
 	ld b, a
 	add a
@@ -93272,44 +94186,45 @@
 .asm_5de7a
 	jp Func_3ef5
 
+Unknown_5de7d: ; 5de7d (17:5e7d)
 INCBIN "baserom.gbc",$5de7d,$5decd - $5de7d
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $9d
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 5dedb (17:5edb)
-UnnamedText_5dedb: ; 0x5dedb
+UnnamedText_5dedb: ; 5dedb (17:5edb)
 	TX_FAR _UnnamedText_5dedb
 	db $50
 ; 0x5dedb + 5 bytes
 
 INCBIN "baserom.gbc",$5dee0,$5def4 - $5dee0
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ad
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 
 INCBIN "baserom.gbc",$5df02,$5df07 - $5df02
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $a5
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 	jp TextScriptEnd
 ; 5df15 (17:5f15)
 SECTION "bank18",DATA,BANK[$18]
 
-ViridianForestBlocks:
+ViridianForestBlocks: ; 60000 (18:4000)
 	INCBIN "maps/viridianforest.blk"
 
-UndergroundPathNSBlocks: ; 0x60198 96
+UndergroundPathNSBlocks: ; 60198 (18:4198)
 	INCBIN "maps/undergroundpathns.blk"
 
-INCBIN "baserom.gbc",$601f8,$1c8
+INCBIN "baserom.gbc",$601f8,$603c0 - $601f8
 
-SSAnne10Blocks:
-SSAnne9Blocks: ; 0x603c0 96
+SSAnne10Blocks: ; 603c0 (18:43c0)
+SSAnne9Blocks: ; 603c0 (18:43c0)
 	INCBIN "maps/ssanne9.blk"
 
 PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142)
@@ -93320,30 +94235,30 @@
 
 	dw PokemonTower1Object ; objects
 
-PokemonTower1Script: ; 0x6042c
+PokemonTower1Script: ; 6042c (18:442c)
 	jp EnableAutoTextBoxDrawing
 ; 0x6042f
 
-PokemonTower1Texts: ; 0x6042f
+PokemonTower1Texts: ; 6042f (18:442f)
 	dw PokemonTower1Text1, PokemonTower1Text2, PokemonTower1Text3, PokemonTower1Text4, PokemonTower1Text5
 
-PokemonTower1Text1: ; 0x60439
+PokemonTower1Text1: ; 60439 (18:4439)
 	TX_FAR _PokemonTower1Text1
 	db $50
 
-PokemonTower1Text2: ; 0x6043e
+PokemonTower1Text2: ; 6043e (18:443e)
 	TX_FAR _PokemonTower1Text2
 	db $50
 
-PokemonTower1Text3: ; 0x60443
+PokemonTower1Text3: ; 60443 (18:4443)
 	TX_FAR _PokemonTower1Text3
 	db $50
 
-PokemonTower1Text4: ; 0x60448
+PokemonTower1Text4: ; 60448 (18:4448)
 	TX_FAR _PokemonTower1Text4
 	db $50
 
-PokemonTower1Text5: ; 0x6044d
+PokemonTower1Text5: ; 6044d (18:444d)
 	TX_FAR _PokemonTower1Text5
 	db $50
 
@@ -93369,7 +94284,7 @@
 	EVENT_DISP $a, $11, $b
 	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_2
 
-PokemonTower1Blocks: ; 0x6048c 90
+PokemonTower1Blocks: ; 6048c (18:448c)
 	INCBIN "maps/pokemontower1.blk"
 
 PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143)
@@ -93380,10 +94295,10 @@
 
 	dw PokemonTower2Object ; objects
 
-PokemonTower2Script: ; 0x604f2
+PokemonTower2Script: ; 604f2 (18:44f2)
 	call EnableAutoTextBoxDrawing
 	ld hl, PokemonTower2Scripts
-	ld a, [$d62b]
+	ld a, [W_POKEMONTOWER2CURSCRIPT]
 	jp CallFunctionInTable
 ; 0x604fe
 
@@ -93390,19 +94305,19 @@
 ; known jump sources: 60568 (18:4568)
 Func_604fe: ; 604fe (18:44fe)
 	xor a
-	ld [$cd6b], a
-	ld [$d62b], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_POKEMONTOWER2CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 60509 (18:4509)
-PokemonTower2Scripts: ; 0x60509
+PokemonTower2Scripts: ; 60509 (18:4509)
 	dw PokemonTower2Script0, PokemonTower2Script1, PokemonTower2Script2
 
-PokemonTower2Script0: ; 0x6050f
+PokemonTower2Script0: ; 6050f (18:450f)
 	ld a, [$d764]
 	bit 7, a
 	ret nz
-	ld hl, $455e
+	ld hl, Unknown_6055e ; $455e
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, $ff
@@ -93433,29 +94348,30 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	xor a
-	ld [$ff00+$b4], a
-	ld [$ff00+$b3], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
 	ret
 ; 0x6055e
 
+Unknown_6055e: ; 6055e (18:455e)
 INCBIN "baserom.gbc",$6055e,$60563 - $6055e
 
-PokemonTower2Script1: ; 0x60563
+PokemonTower2Script1: ; 60563 (18:4563)
 	ld a, [$d057]
 	cp $ff
 	jp z, Func_604fe
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d764
 	set 7, [hl]
 	ld a, $1
 	ld [$ff00+$8c], a
 	call DisplayTextID
-	ld de, $45b2
+	ld de, Unknown_605b2 ; $45b2
 	ld a, [$d764]
 	bit 6, a
 	jr nz, .asm_60589 ; 0x60584 $3
-	ld de, $45a9
+	ld de, Unknown_605a9 ; $45a9
 .asm_60589
 	ld a, $1
 	ld [$ff00+$8c], a
@@ -93467,14 +94383,18 @@
 	ld hl, Func_9b47
 	call Bankswitch
 	ld a, $2
-	ld [$d62b], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER2CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 0x605a9
 
-INCBIN "baserom.gbc",$605a9,$605bb - $605a9
+Unknown_605a9: ; 605a9 (18:45a9)
+INCBIN "baserom.gbc",$605a9,$605b2 - $605a9
 
-PokemonTower2Script2: ; 0x605bb
+Unknown_605b2: ; 605b2 (18:45b2)
+INCBIN "baserom.gbc",$605b2,$605bb - $605b2
+
+PokemonTower2Script2: ; 605bb (18:45bb)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -93483,18 +94403,18 @@
 	ld a, $11
 	call Predef
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call Func_2307
 	ld a, $0
-	ld [$d62b], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER2CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 0x605db
 
-PokemonTower2Texts: ; 0x605db
+PokemonTower2Texts: ; 605db (18:45db)
 	dw PokemonTower2Text1, PokemonTower2Text2
 
-PokemonTower2Text1: ; 0x605df
+PokemonTower2Text1: ; 605df (18:45df)
 	db $08 ; asm
 	ld a, [$d764]
 	bit 7, a
@@ -93510,7 +94430,7 @@
 	set 7, [hl]
 	ld hl, UnnamedText_60632
 	ld de, UnnamedText_60637 ; XXX $4637
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, $f2
 	ld [$d059], a
 
@@ -93531,32 +94451,32 @@
 	ld [W_TRAINERNO], a
 
 	ld a, $1
-	ld [$d62b], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER2CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 .asm_41852 ; 0x6062a
 	jp TextScriptEnd
 
-UnnamedText_6062d: ; 0x6062d
+UnnamedText_6062d: ; 6062d (18:462d)
 	TX_FAR _UnnamedText_6062d
 	db $50
 ; 0x6062d + 5 bytes
 
-UnnamedText_60632: ; 0x60632
+UnnamedText_60632: ; 60632 (18:4632)
 	TX_FAR _UnnamedText_60632
 	db $50
 ; 0x60632 + 5 bytes
 
-UnnamedText_60637: ; 0x60637
+UnnamedText_60637: ; 60637 (18:4637)
 	TX_FAR _UnnamedText_60637
 	db $50
 ; 0x60637 + 5 bytes
 
-UnnamedText_6063c: ; 0x6063c
+UnnamedText_6063c: ; 6063c (18:463c)
 	TX_FAR _UnnamedText_6063c
 	db $50
 ; 0x6063c + 5 bytes
 
-PokemonTower2Text2: ; 0x60641
+PokemonTower2Text2: ; 60641 (18:4641)
 	TX_FAR _PokemonTower2Text2
 	db $50
 
@@ -93577,7 +94497,7 @@
 	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_3
 	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_1
 
-PokemonTower2Blocks: ; 0x60666 90
+PokemonTower2Blocks: ; 60666 (18:4666)
 	INCBIN "maps/pokemontower2.blk"
 
 PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144)
@@ -93588,24 +94508,24 @@
 
 	dw PokemonTower3Object ; objects
 
-PokemonTower3Script: ; 0x606cc
+PokemonTower3Script: ; 606cc (18:46cc)
 	call EnableAutoTextBoxDrawing
 	ld hl, PokemonTower3TrainerHeaders
 	ld de, Unknown_606df
-	ld a, [$d62c]
-	call Func_3160
-	ld [$d62c], a
+	ld a, [W_POKEMONTOWER3CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_POKEMONTOWER3CURSCRIPT], a
 	ret
 ; 0x606df
 
-Unknown_606df: ; 0x606df
-INCBIN "baserom.gbc",$606df,$6
+Unknown_606df: ; 606df (18:46df)
+INCBIN "baserom.gbc",$606df,$606e5 - $606df
 
-PokemonTower3Texts: ; 0x606e5
+PokemonTower3Texts: ; 606e5 (18:46e5)
 	dw PokemonTower3Text1, PokemonTower3Text2, PokemonTower3Text3, Predef5CText
 
-PokemonTower3TrainerHeaders:
-PokemonTower3TrainerHeader0: ; 0x606ed
+PokemonTower3TrainerHeaders: ; 606ed (18:46ed)
+PokemonTower3TrainerHeader0: ; 606ed (18:46ed)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d765 ; flag's byte
@@ -93615,7 +94535,7 @@
 	dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle
 ; 0x606f9
 
-PokemonTower3TrainerHeader1: ; 0x606f9
+PokemonTower3TrainerHeader1: ; 606f9 (18:46f9)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d765 ; flag's byte
@@ -93625,7 +94545,7 @@
 	dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle
 ; 0x60705
 
-PokemonTower3TrainerHeader2: ; 0x60705
+PokemonTower3TrainerHeader2: ; 60705 (18:4705)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d765 ; flag's byte
@@ -93636,65 +94556,65 @@
 ; 0x60711
 db $ff
 
-PokemonTower3Text1: ; 0x60712
+PokemonTower3Text1: ; 60712 (18:4712)
 	db $08 ; asm
 	ld hl, PokemonTower3TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower3Text2: ; 0x6071c
+PokemonTower3Text2: ; 6071c (18:471c)
 	db $08 ; asm
 	ld hl, PokemonTower3TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower3Text3: ; 0x60726
+PokemonTower3Text3: ; 60726 (18:4726)
 	db $08 ; asm
 	ld hl, PokemonTower3TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower3BattleText1: ; 0x60730
+PokemonTower3BattleText1: ; 60730 (18:4730)
 	TX_FAR _PokemonTower3BattleText1
 	db $50
 ; 0x60730 + 5 bytes
 
-PokemonTower3EndBattleText1: ; 0x60735
+PokemonTower3EndBattleText1: ; 60735 (18:4735)
 	TX_FAR _PokemonTower3EndBattleText1
 	db $50
 ; 0x60735 + 5 bytes
 
-PokemonTower3AfterBattleText1: ; 0x6073a
+PokemonTower3AfterBattleText1: ; 6073a (18:473a)
 	TX_FAR _PokemonTower3AfterBattleText1
 	db $50
 ; 0x6073a + 5 bytes
 
-PokemonTower3BattleText2: ; 0x6073f
+PokemonTower3BattleText2: ; 6073f (18:473f)
 	TX_FAR _PokemonTower3BattleText2
 	db $50
 ; 0x6073f + 5 bytes
 
-PokemonTower3EndBattleText2: ; 0x60744
+PokemonTower3EndBattleText2: ; 60744 (18:4744)
 	TX_FAR _PokemonTower3EndBattleText2
 	db $50
 ; 0x60744 + 5 bytes
 
-PokemonTower3AfterBattleText2: ; 0x60749
+PokemonTower3AfterBattleText2: ; 60749 (18:4749)
 	TX_FAR _PokemonTower3AfterBattleText2
 	db $50
 ; 0x60749 + 5 bytes
 
-PokemonTower3BattleText3: ; 0x6074e
+PokemonTower3BattleText3: ; 6074e (18:474e)
 	TX_FAR _PokemonTower3BattleText3
 	db $50
 ; 0x6074e + 5 bytes
 
-PokemonTower3EndBattleText3: ; 0x60753
+PokemonTower3EndBattleText3: ; 60753 (18:4753)
 	TX_FAR _PokemonTower3EndBattleText3
 	db $50
 ; 0x60753 + 5 bytes
 
-PokemonTower3AfterBattleText3: ; 0x60758
+PokemonTower3AfterBattleText3: ; 60758 (18:4758)
 	TX_FAR _PokemonTower3AfterBattleText3
 	db $50
 ; 0x60758 + 5 bytes
@@ -93718,7 +94638,7 @@
 	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_2
 	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_4
 
-PokemonTower3Blocks: ; 0x60790 90
+PokemonTower3Blocks: ; 60790 (18:4790)
 	INCBIN "maps/pokemontower3.blk"
 
 PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145)
@@ -93729,24 +94649,24 @@
 
 	dw PokemonTower4Object ; objects
 
-PokemonTower4Script: ; 0x607f6
+PokemonTower4Script: ; 607f6 (18:47f6)
 	call EnableAutoTextBoxDrawing
 	ld hl, PokemonTower4TrainerHeaders
 	ld de, PokemonTower4Script_Unknown60809
-	ld a, [$d62d]
-	call Func_3160
-	ld [$d62d], a
+	ld a, [W_POKEMONTOWER4CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_POKEMONTOWER4CURSCRIPT], a
 	ret
 ; 0x60809
 
-PokemonTower4Script_Unknown60809: ; 0x60809
-INCBIN "baserom.gbc",$60809,$6
+PokemonTower4Script_Unknown60809: ; 60809 (18:4809)
+INCBIN "baserom.gbc",$60809,$6080f - $60809
 
-PokemonTower4Texts: ; 0x6080f
+PokemonTower4Texts: ; 6080f (18:480f)
 	dw PokemonTower4Text1, PokemonTower4Text2, PokemonTower4Text3, Predef5CText, Predef5CText, Predef5CText
 
-PokemonTower4TrainerHeaders:
-PokemonTower4TrainerHeader0: ; 0x6081b
+PokemonTower4TrainerHeaders: ; 6081b (18:481b)
+PokemonTower4TrainerHeader0: ; 6081b (18:481b)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d766 ; flag's byte
@@ -93756,7 +94676,7 @@
 	dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle
 ; 0x60827
 
-PokemonTower4TrainerHeader1: ; 0x60827
+PokemonTower4TrainerHeader1: ; 60827 (18:4827)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d766 ; flag's byte
@@ -93766,7 +94686,7 @@
 	dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle
 ; 0x60833
 
-PokemonTower4TrainerHeader2: ; 0x60833
+PokemonTower4TrainerHeader2: ; 60833 (18:4833)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d766 ; flag's byte
@@ -93778,65 +94698,65 @@
 
 db $ff
 
-PokemonTower4Text1: ; 0x60840
+PokemonTower4Text1: ; 60840 (18:4840)
 	db $08 ; asm
 	ld hl, PokemonTower4TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower4Text2: ; 0x6084a
+PokemonTower4Text2: ; 6084a (18:484a)
 	db $08 ; asm
 	ld hl, PokemonTower4TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower4Text3: ; 0x60854
+PokemonTower4Text3: ; 60854 (18:4854)
 	db $08 ; asm
 	ld hl, PokemonTower4TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower4BattleText1: ; 0x6085e
+PokemonTower4BattleText1: ; 6085e (18:485e)
 	TX_FAR _PokemonTower4BattleText1
 	db $50
 ; 0x6085e + 5 bytes
 
-PokemonTower4EndBattleText1: ; 0x60863
+PokemonTower4EndBattleText1: ; 60863 (18:4863)
 	TX_FAR _PokemonTower4EndBattleText1
 	db $50
 ; 0x60863 + 5 bytes
 
-PokemonTower4AfterBattleText1: ; 0x60868
+PokemonTower4AfterBattleText1: ; 60868 (18:4868)
 	TX_FAR _PokemonTower4AfterBattleText1
 	db $50
 ; 0x60868 + 5 bytes
 
-PokemonTower4BattleText2: ; 0x6086d
+PokemonTower4BattleText2: ; 6086d (18:486d)
 	TX_FAR _PokemonTower4BattleText2
 	db $50
 ; 0x6086d + 5 bytes
 
-PokemonTower4EndBattleText2: ; 0x60872
+PokemonTower4EndBattleText2: ; 60872 (18:4872)
 	TX_FAR _PokemonTower4EndBattleText2
 	db $50
 ; 0x60872 + 5 bytes
 
-PokemonTower4AfterBattleText2: ; 0x60877
+PokemonTower4AfterBattleText2: ; 60877 (18:4877)
 	TX_FAR _PokemonTower4AfterBattleText2
 	db $50
 ; 0x60877 + 5 bytes
 
-PokemonTower4BattleText3: ; 0x6087c
+PokemonTower4BattleText3: ; 6087c (18:487c)
 	TX_FAR _PokemonTower4BattleText3
 	db $50
 ; 0x6087c + 5 bytes
 
-PokemonTower4EndBattleText3: ; 0x60881
+PokemonTower4EndBattleText3: ; 60881 (18:4881)
 	TX_FAR _PokemonTower4EndBattleText3
 	db $50
 ; 0x60881 + 5 bytes
 
-PokemonTower4AfterBattleText3: ; 0x60886
+PokemonTower4AfterBattleText3: ; 60886 (18:4886)
 	TX_FAR _PokemonTower4AfterBattleText3
 	db $50
 ; 0x60886 + 5 bytes
@@ -93862,7 +94782,7 @@
 	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_5
 	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_3
 
-PokemonTower4Blocks: ; 0x608cc 90
+PokemonTower4Blocks: ; 608cc (18:48cc)
 	INCBIN "maps/pokemontower4.blk"
 
 PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146)
@@ -93873,19 +94793,19 @@
 
 	dw PokemonTower5Object ; objects
 
-PokemonTower5Script: ; 0x60932
+PokemonTower5Script: ; 60932 (18:4932)
 	call EnableAutoTextBoxDrawing
 	ld hl, PokemonTower5TrainerHeaders
 	ld de, PokemonTower5Script_Unknown60945
-	ld a, [$d62e]
-	call Func_3160
-	ld [$d62e], a
+	ld a, [W_POKEMONTOWER5CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_POKEMONTOWER5CURSCRIPT], a
 	ret
 ; 0x60945
 
-PokemonTower5Script_Unknown60945: ; 0x60945
+PokemonTower5Script_Unknown60945: ; 60945 (18:4945)
 INCBIN "baserom.gbc",$60945,$6094b - $60945
-	ld hl, $4992
+	ld hl, Unknown_60992 ; $4992
 	call ArePlayerCoordsInArray
 	jr c, .asm_60960
 	ld hl, $d72e
@@ -93892,7 +94812,7 @@
 	res 4, [hl]
 	ld hl, $d767
 	res 7, [hl]
-	jp Func_3219
+	jp CheckFightingMapTrainers
 .asm_60960
 	ld hl, $d767
 	bit 7, [hl]
@@ -93899,9 +94819,9 @@
 	set 7, [hl]
 	ret nz
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d72e
 	set 4, [hl]
 	ld a, $7
@@ -93914,16 +94834,17 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 
+Unknown_60992: ; 60992 (18:4992)
 INCBIN "baserom.gbc",$60992,$6099b - $60992
 
-PokemonTower5Texts: ; 0x6099b
+PokemonTower5Texts: ; 6099b (18:499b)
 	dw PokemonTower5Text1, PokemonTower5Text2, PokemonTower5Text3, PokemonTower5Text4, PokemonTower5Text5, Predef5CText, PokemonTower5Text7
 
-PokemonTower5TrainerHeaders:
-PokemonTower5TrainerHeader0: ; 0x609a9
+PokemonTower5TrainerHeaders: ; 609a9 (18:49a9)
+PokemonTower5TrainerHeader0: ; 609a9 (18:49a9)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d767 ; flag's byte
@@ -93933,7 +94854,7 @@
 	dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle
 ; 0x609b5
 
-PokemonTower5TrainerHeader1: ; 0x609b5
+PokemonTower5TrainerHeader1: ; 609b5 (18:49b5)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d767 ; flag's byte
@@ -93943,7 +94864,7 @@
 	dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle
 ; 0x609c1
 
-PokemonTower5TrainerHeader2: ; 0x609c1
+PokemonTower5TrainerHeader2: ; 609c1 (18:49c1)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d767 ; flag's byte
@@ -93953,7 +94874,7 @@
 	dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle
 ; 0x609cd
 
-PokemonTower5TrainerHeader3: ; 0x609cd
+PokemonTower5TrainerHeader3: ; 609cd (18:49cd)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d767 ; flag's byte
@@ -93965,95 +94886,95 @@
 
 db $ff
 
-PokemonTower5Text1: ; 0x609da
+PokemonTower5Text1: ; 609da (18:49da)
 	TX_FAR _PokemonTower5Text1
 	db $50
 
-PokemonTower5Text2: ; 0x609df
+PokemonTower5Text2: ; 609df (18:49df)
 	db $08 ; asm
 	ld hl, PokemonTower5TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower5BattleText1: ; 0x609e9
+PokemonTower5BattleText1: ; 609e9 (18:49e9)
 	TX_FAR _PokemonTower5BattleText1
 	db $50
 ; 0x609e9 + 5 bytes
 
-PokemonTower5EndBattleText1: ; 0x609ee
+PokemonTower5EndBattleText1: ; 609ee (18:49ee)
 	TX_FAR _PokemonTower5EndBattleText1
 	db $50
 ; 0x609ee + 5 bytes
 
-PokemonTower5AfterBattleText1: ; 0x609f3
+PokemonTower5AfterBattleText1: ; 609f3 (18:49f3)
 	TX_FAR _PokemonTower5AfterBattleText1
 	db $50
 ; 0x609f3 + 5 bytes
 
-PokemonTower5Text3: ; 0x609f8
+PokemonTower5Text3: ; 609f8 (18:49f8)
 	db $08 ; asm
 	ld hl, PokemonTower5TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower5BattleText2: ; 0x60a02
+PokemonTower5BattleText2: ; 60a02 (18:4a02)
 	TX_FAR _PokemonTower5BattleText2
 	db $50
 ; 0x60a02 + 5 bytes
 
-PokemonTower5EndBattleText2: ; 0x60a07
+PokemonTower5EndBattleText2: ; 60a07 (18:4a07)
 	TX_FAR _PokemonTower5EndBattleText2
 	db $50
 ; 0x60a07 + 5 bytes
 
-PokemonTower5AfterBattleText2: ; 0x60a0c
+PokemonTower5AfterBattleText2: ; 60a0c (18:4a0c)
 	TX_FAR _PokemonTower5AfterBattleText2
 	db $50
 ; 0x60a0c + 5 bytes
 
-PokemonTower5Text4: ; 0x60a11
+PokemonTower5Text4: ; 60a11 (18:4a11)
 	db $08 ; asm
 	ld hl, PokemonTower5TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower5BattleText3: ; 0x60a1b
+PokemonTower5BattleText3: ; 60a1b (18:4a1b)
 	TX_FAR _PokemonTower5BattleText3
 	db $50
 ; 0x60a1b + 5 bytes
 
-PokemonTower5EndBattleText3: ; 0x60a20
+PokemonTower5EndBattleText3: ; 60a20 (18:4a20)
 	TX_FAR _PokemonTower5EndBattleText3
 	db $50
 ; 0x60a20 + 5 bytes
 
-PokemonTower5AfterBattleText3: ; 0x60a25
+PokemonTower5AfterBattleText3: ; 60a25 (18:4a25)
 	TX_FAR _PokemonTower5AfterBattleText3
 	db $50
 ; 0x60a25 + 5 bytes
 
-PokemonTower5Text5: ; 0x60a2a
+PokemonTower5Text5: ; 60a2a (18:4a2a)
 	db $08 ; asm
-	ld hl, $49cd
-	call LoadTrainerHeader
+	ld hl, PokemonTower5TrainerHeader3 ; $49cd
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower5BattleText4: ; 0x60a34
+PokemonTower5BattleText4: ; 60a34 (18:4a34)
 	TX_FAR _PokemonTower5BattleText4
 	db $50
 ; 0x60a34 + 5 bytes
 
-PokemonTower5EndBattleText4: ; 0x60a39
+PokemonTower5EndBattleText4: ; 60a39 (18:4a39)
 	TX_FAR _PokemonTower5EndBattleText4
 	db $50
 ; 0x60a39 + 5 bytes
 
-PokemonTower5AfterBattleText4: ; 0x60a3e
+PokemonTower5AfterBattleText4: ; 60a3e (18:4a3e)
 	TX_FAR _PokemonTower5AfterBattleText4
 	db $50
 ; 0x60a3e + 5 bytes
 
-PokemonTower5Text7: ; 0x60a43
+PokemonTower5Text7: ; 60a43 (18:4a43)
 	TX_FAR _UnnamedText_60a43
 	db $50
 ; 0x60a43 + 5 bytes
@@ -94079,7 +95000,7 @@
 	EVENT_DISP $a, $9, $3 ; POKEMONTOWER_4
 	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_6
 
-PokemonTower5Blocks: ; 0x60a89 90
+PokemonTower5Blocks: ; 60a89 (18:4a89)
 	INCBIN "maps/pokemontower5.blk"
 
 PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147)
@@ -94090,13 +95011,13 @@
 
 	dw PokemonTower6Object ; objects
 
-PokemonTower6Script: ; 0x60aef
+PokemonTower6Script: ; 60aef (18:4aef)
 	call EnableAutoTextBoxDrawing
 	ld hl, PokemonTower6TrainerHeaders
-	ld de, $4b0d
-	ld a, [$d62f]
-	call Func_3160
-	ld [$d62f], a
+	ld de, Unknown_60b0d ; $4b0d
+	ld a, [W_POKEMONTOWER6CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_POKEMONTOWER6CURSCRIPT], a
 	ret
 ; 0x60b02
 
@@ -94103,20 +95024,21 @@
 ; known jump sources: 60b4d (18:4b4d)
 Func_60b02: ; 60b02 (18:4b02)
 	xor a
-	ld [$cd6b], a
-	ld [$d62f], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_POKEMONTOWER6CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_60b0d: ; 60b0d (18:4b0d)
 INCBIN "baserom.gbc",$60b0d,$60b17 - $60b0d
 	ld a, [$d768]
 	bit 7, a
-	jp nz, Func_3219
-	ld hl, $4b45
+	jp nz, CheckFightingMapTrainers
+	ld hl, Unknown_60b45 ; $4b45
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $6
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -94125,22 +95047,23 @@
 	ld a, $1e
 	ld [W_CURENEMYLVL], a ; $d127
 	ld a, $4
-	ld [$d62f], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER6CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_60b45: ; 60b45 (18:4b45)
 INCBIN "baserom.gbc",$60b45,$60b48 - $60b45
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_60b02
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$d72d]
 	bit 6, a
 	ret nz
 	call UpdateSprites
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$cf0b]
 	and a
 	jr nz, .asm_60b82
@@ -94150,10 +95073,10 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d62f], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER6CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 .asm_60b82
 	ld a, $1
@@ -94166,17 +95089,17 @@
 	ld hl, $d730
 	set 7, [hl]
 	ld a, $3
-	ld [$d62f], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER6CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
 INCBIN "baserom.gbc",$60ba1,$60bb1 - $60ba1
 
-PokemonTower6Texts: ; 0x60bb1
+PokemonTower6Texts: ; 60bb1 (18:4bb1)
 	dw PokemonTower6Text1, PokemonTower6Text2, PokemonTower6Text3, Predef5CText, Predef5CText, PokemonTower6Text6, PokemonTower6Text7
 
-PokemonTower6TrainerHeaders:
-PokemonTower6TrainerHeader0: ; 0x60bbf
+PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf)
+PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d768 ; flag's byte
@@ -94186,7 +95109,7 @@
 	dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle
 ; 0x60bcb
 
-PokemonTower6TrainerHeader1: ; 0x60bcb
+PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d768 ; flag's byte
@@ -94196,7 +95119,7 @@
 	dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle
 ; 0x60bd7
 
-PokemonTower6TrainerHeader2: ; 0x60bd7
+PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d768 ; flag's byte
@@ -94208,31 +95131,31 @@
 
 db $ff
 
-PokemonTower6Text1: ; 0x60be4
+PokemonTower6Text1: ; 60be4 (18:4be4)
 	db $08 ; asm
 	ld hl, PokemonTower6TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower6Text2: ; 0x60bee
+PokemonTower6Text2: ; 60bee (18:4bee)
 	db $08 ; asm
 	ld hl, PokemonTower6TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower6Text3: ; 0x60bf8
+PokemonTower6Text3: ; 60bf8 (18:4bf8)
 	db $08 ; asm
 	ld hl, PokemonTower6TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower6Text7: ; 0x60c02
+PokemonTower6Text7: ; 60c02 (18:4c02)
 	db $8
 	ld hl, UnnamedText_60c1f
 	call PrintText
 	ld a, MAROWAK
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	ld c, $1e
 	call DelayFrames
 	ld hl, UnnamedText_60c24
@@ -94240,62 +95163,62 @@
 	jp TextScriptEnd
 ; 0x60c1f
 
-UnnamedText_60c1f: ; 0x60c1f
+UnnamedText_60c1f: ; 60c1f (18:4c1f)
 	TX_FAR _UnnamedText_60c1f
 	db $50
 ; 0x60c1f + 5 bytes
 
-UnnamedText_60c24: ; 0x60c24
+UnnamedText_60c24: ; 60c24 (18:4c24)
 	TX_FAR _UnnamedText_60c24
 	db $50
 ; 0x60c24 + 5 bytes
 
-PokemonTower6BattleText1: ; 0x60c29
+PokemonTower6BattleText1: ; 60c29 (18:4c29)
 	TX_FAR _PokemonTower6BattleText1
 	db $50
 ; 0x60c29 + 5 bytes
 
-PokemonTower6EndBattleText1: ; 0x60c2e
+PokemonTower6EndBattleText1: ; 60c2e (18:4c2e)
 	TX_FAR _PokemonTower6EndBattleText1
 	db $50
 ; 0x60c2e + 5 bytes
 
-PokemonTower6AfterBattleText1: ; 0x60c33
+PokemonTower6AfterBattleText1: ; 60c33 (18:4c33)
 	TX_FAR _PokemonTower6AfterBattleText1
 	db $50
 ; 0x60c33 + 5 bytes
 
-PokemonTower6BattleText2: ; 0x60c38
+PokemonTower6BattleText2: ; 60c38 (18:4c38)
 	TX_FAR _PokemonTower6BattleText2
 	db $50
 ; 0x60c38 + 5 bytes
 
-PokemonTower6EndBattleText2: ; 0x60c3d
+PokemonTower6EndBattleText2: ; 60c3d (18:4c3d)
 	TX_FAR _PokemonTower6EndBattleText2
 	db $50
 ; 0x60c3d + 5 bytes
 
-PokemonTower6AfterBattleText2: ; 0x60c42
+PokemonTower6AfterBattleText2: ; 60c42 (18:4c42)
 	TX_FAR _PokemonTower6AfterBattleText2
 	db $50
 ; 0x60c42 + 5 bytes
 
-PokemonTower6BattleText3: ; 0x60c47
+PokemonTower6BattleText3: ; 60c47 (18:4c47)
 	TX_FAR _PokemonTower6BattleText3
 	db $50
 ; 0x60c47 + 5 bytes
 
-PokemonTower6EndBattleText3: ; 0x60c4c
+PokemonTower6EndBattleText3: ; 60c4c (18:4c4c)
 	TX_FAR _PokemonTower6EndBattleText3
 	db $50
 ; 0x60c4c + 5 bytes
 
-PokemonTower6AfterBattleText3: ; 0x60c51
+PokemonTower6AfterBattleText3: ; 60c51 (18:4c51)
 	TX_FAR _PokemonTower6AfterBattleText3
 	db $50
 ; 0x60c51 + 5 bytes
 
-PokemonTower6Text6: ; 0x60c56
+PokemonTower6Text6: ; 60c56 (18:4c56)
 	TX_FAR _UnnamedText_60c56
 	db $50
 ; 0x60c56 + 5 bytes
@@ -94320,10 +95243,10 @@
 	EVENT_DISP $a, $9, $12 ; POKEMONTOWER_5
 	EVENT_DISP $a, $10, $9 ; POKEMONTOWER_7
 
-PokemonTower6Blocks: ; 0x60c95 90
+PokemonTower6Blocks: ; 60c95 (18:4c95)
 	INCBIN "maps/pokemontower6.blk"
 
-INCBIN "baserom.gbc",$60cef,$a
+INCBIN "baserom.gbc",$60cef,$60cf9 - $60cef
 
 PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148)
 	db $0f ; tileset
@@ -94333,13 +95256,13 @@
 
 	dw PokemonTower7Object ; objects
 
-PokemonTower7Script: ; 0x60d05
+PokemonTower7Script: ; 60d05 (18:4d05)
 	call EnableAutoTextBoxDrawing
 	ld hl, PokemonTower7TrainerHeaders
-	ld de, $4d23
-	ld a, [$d630]
-	call Func_3160
-	ld [$d630], a
+	ld de, Unknown_60d23 ; $4d23
+	ld a, [W_POKEMONTOWER7CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_POKEMONTOWER7CURSCRIPT], a
 	ret
 ; 0x60d18
 
@@ -94346,27 +95269,28 @@
 ; known jump sources: 60d37 (18:4d37)
 Func_60d18: ; 60d18 (18:4d18)
 	xor a
-	ld [$cd6b], a
-	ld [$d630], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_POKEMONTOWER7CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_60d23: ; 60d23 (18:4d23)
 INCBIN "baserom.gbc",$60d23,$60d2d - $60d23
-	ld hl, $cd60
+	ld hl, W_FLAGS_CD60
 	res 0, [hl]
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_60d18
-	call Func_3275
+	call EndTrainerBattle
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$cf13]
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
 	call Func_60db6
 	ld a, $3
-	ld [$d630], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER7CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 	ld a, [$d730]
 	bit 0, a
@@ -94383,16 +95307,16 @@
 	ld a, $11
 	call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld [$cf13], a
-	ld [$cc55], a
+	ld [W_TRAINERHEADERFLAGBIT], a
 	ld [$da38], a
 	ld a, $0
-	ld [$d630], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER7CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $43
 	ld [$cc4d], a
 	ld a, $11
@@ -94408,13 +95332,13 @@
 	ld hl, $d72d
 	set 3, [hl]
 	ld a, $0
-	ld [$d630], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER7CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
 ; known jump sources: 60d4a (18:4d4a)
 Func_60db6: ; 60db6 (18:4db6)
-	ld hl, $4de3
+	ld hl, Unknown_60de3 ; $4de3
 	ld a, [$cf13]
 	dec a
 	swap a
@@ -94445,13 +95369,14 @@
 	inc hl
 	jr .asm_60dcb
 
+Unknown_60de3: ; 60de3 (18:4de3)
 INCBIN "baserom.gbc",$60de3,$60e3f - $60de3
 
-PokemonTower7Texts: ; 0x60e3f
+PokemonTower7Texts: ; 60e3f (18:4e3f)
 	dw PokemonTower7Text1, PokemonTower7Text2, PokemonTower7Text3, PokemonTower7Text4
 
-PokemonTower7TrainerHeaders:
-PokemonTower7TrainerHeader0: ; 0x60e47
+PokemonTower7TrainerHeaders: ; 60e47 (18:4e47)
+PokemonTower7TrainerHeader0: ; 60e47 (18:4e47)
 	db $1 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d769 ; flag's byte
@@ -94461,7 +95386,7 @@
 	dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle
 ; 0x60e53
 
-PokemonTower7TrainerHeader1: ; 0x60e53
+PokemonTower7TrainerHeader1: ; 60e53 (18:4e53)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d769 ; flag's byte
@@ -94471,7 +95396,7 @@
 	dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle
 ; 0x60e5f
 
-PokemonTower7TrainerHeader2: ; 0x60e5f
+PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d769 ; flag's byte
@@ -94483,25 +95408,25 @@
 
 db $ff
 
-PokemonTower7Text1: ; 0x60e6c
+PokemonTower7Text1: ; 60e6c (18:4e6c)
 	db $08 ; asm
 	ld hl, PokemonTower7TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower7Text2: ; 0x60e76
+PokemonTower7Text2: ; 60e76 (18:4e76)
 	db $08 ; asm
 	ld hl, PokemonTower7TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower7Text3: ; 0x60e80
+PokemonTower7Text3: ; 60e80 (18:4e80)
 	db $08 ; asm
 	ld hl, PokemonTower7TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-PokemonTower7Text4: ; 0x60e8a
+PokemonTower7Text4: ; 60e8a (18:4e8a)
 	db $08 ; asm
 	ld hl, UnnamedText_60ec4
 	call PrintText
@@ -94522,56 +95447,56 @@
 	ld a, $15
 	call Predef
 	ld a, $4
-	ld [$d630], a
-	ld [$da39], a
+	ld [W_POKEMONTOWER7CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	jp TextScriptEnd
 
-UnnamedText_60ec4: ; 0x60ec4
+UnnamedText_60ec4: ; 60ec4 (18:4ec4)
 	TX_FAR _UnnamedText_60ec4
 	db $50
 ; 0x60ec4 + 5 bytes
 
-PokemonTower7BattleText1: ; 0x60ec9
+PokemonTower7BattleText1: ; 60ec9 (18:4ec9)
 	TX_FAR _PokemonTower7BattleText1
 	db $50
 ; 0x60ec9 + 5 bytes
 
-PokemonTower7EndBattleText1: ; 0x60ece
+PokemonTower7EndBattleText1: ; 60ece (18:4ece)
 	TX_FAR _PokemonTower7EndBattleText1
 	db $50
 ; 0x60ece + 5 bytes
 
-PokemonTower7AfterBattleText1: ; 0x60ed3
+PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3)
 	TX_FAR _PokemonTower7AfterBattleText1
 	db $50
 ; 0x60ed3 + 5 bytes
 
-PokemonTower7BattleText2: ; 0x60ed8
+PokemonTower7BattleText2: ; 60ed8 (18:4ed8)
 	TX_FAR _PokemonTower7BattleText2
 	db $50
 ; 0x60ed8 + 5 bytes
 
-PokemonTower7EndBattleText2: ; 0x60edd
+PokemonTower7EndBattleText2: ; 60edd (18:4edd)
 	TX_FAR _PokemonTower7EndBattleText2
 	db $50
 ; 0x60edd + 5 bytes
 
-PokemonTower7AfterBattleText2: ; 0x60ee2
+PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2)
 	TX_FAR _PokemonTower7AfterBattleText2
 	db $50
 ; 0x60ee2 + 5 bytes
 
-PokemonTower7BattleText3: ; 0x60ee7
+PokemonTower7BattleText3: ; 60ee7 (18:4ee7)
 	TX_FAR _PokemonTower7BattleText3
 	db $50
 ; 0x60ee7 + 5 bytes
 
-PokemonTower7EndBattleText3: ; 0x60eec
+PokemonTower7EndBattleText3: ; 60eec (18:4eec)
 	TX_FAR _PokemonTower7EndBattleText3
 	db $50
 ; 0x60eec + 5 bytes
 
-PokemonTower7AfterBattleText3: ; 0x60ef1
+PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1)
 	TX_FAR _PokemonTower7AfterBattleText3
 	db $50
 ; 0x60ef1 + 5 bytes
@@ -94593,7 +95518,7 @@
 	; warp-to
 	EVENT_DISP $a, $10, $9 ; POKEMONTOWER_6
 
-PokemonTower7Blocks: ; 0x60f20 90
+PokemonTower7Blocks: ; 60f20 (18:4f20)
 	INCBIN "maps/pokemontower7.blk"
 
 CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122)
@@ -94604,22 +95529,22 @@
 
 	dw CeladonMart1Object ; objects
 
-CeladonMart1Script: ; 0x60f86
+CeladonMart1Script: ; 60f86 (18:4f86)
 	jp EnableAutoTextBoxDrawing
 ; 0x60f89
 
-CeladonMart1Texts: ; 0x60f89
+CeladonMart1Texts: ; 60f89 (18:4f89)
 	dw CeladonMart1Text1, CeladonMart1Text2, CeladonMart1Text3
 
-CeladonMart1Text1: ; 0x60f8f
+CeladonMart1Text1: ; 60f8f (18:4f8f)
 	TX_FAR _CeladonMart1Text1
 	db $50
 
-CeladonMart1Text2: ; 0x60f94
+CeladonMart1Text2: ; 60f94 (18:4f94)
 	TX_FAR _CeladonMart1Text2
 	db $50
 
-CeladonMart1Text3: ; 0x60f99
+CeladonMart1Text3: ; 60f99 (18:4f99)
 	TX_FAR _CeladonMart1Text3
 	db $50
 
@@ -94649,7 +95574,7 @@
 	EVENT_DISP $a, $1, $c ; CELADON_MART_2
 	EVENT_DISP $a, $1, $1 ; CELADON_MART_ELEVATOR
 
-CeladonMart1Blocks: ; 0x60fde 40
+CeladonMart1Blocks: ; 60fde (18:4fde)
 	INCBIN "maps/celadonmart1.blk"
 
 ; known jump sources: 75d88 (1d:5d88)
@@ -94675,7 +95600,7 @@
 	dec l
 	ld b, l
 	ld c, $d
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	call TextBoxBorder
 	call UpdateSprites
 	call Func_610c2
@@ -94709,7 +95634,7 @@
 	call LoadFossilItemAndMonName
 	ld hl, UnnamedText_610ae
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [W_CURMENUITEMID] ; $cc26
 	and a
 	jr nz, .asm_610a7
@@ -94732,22 +95657,22 @@
 	ret
 ; 610ae (18:50ae)
 
-UnnamedText_610ae: ; 0x610ae
+UnnamedText_610ae: ; 610ae (18:50ae)
 	TX_FAR _UnnamedText_610ae
 	db $50
 ; 0x610ae + 5 bytes
 
-UnnamedText_610b3: ; 0x610b3
+UnnamedText_610b3: ; 610b3 (18:50b3)
 	TX_FAR _UnnamedText_610b3
 	db $50
 ; 0x610b3 + 5 bytes
 
-UnnamedText_610b8: ; 0x610b8
+UnnamedText_610b8: ; 610b8 (18:50b8)
 	TX_FAR _UnnamedText_610b8
 	db $50
 ; 0x610b8 + 5 bytes
 
-UnnamedText_610bd: ; 0x610bd
+UnnamedText_610bd: ; 610bd (18:50bd)
 	TX_FAR _UnnamedText_610bd
 	db $50
 ; 0x610bd + 5 bytes
@@ -94764,7 +95689,8 @@
 	push hl
 	ld [$d11e], a
 	call GetItemName
-	ld hl, $c3ca
+	FuncCoord 2, 2 ; $c3ca
+	ld hl, Coord
 	ld a, [$FF00+$db]
 	ld bc, $28
 	call AddNTimes
@@ -94796,24 +95722,24 @@
 
 	dw ViridianForestObject ; objects
 
-ViridianForestScript: ; 0x6110d
+ViridianForestScript: ; 6110d (18:510d)
 	call EnableAutoTextBoxDrawing
 	ld hl, ViridianForestTrainerHeaders
 	ld de, ViridianForestScript_Unknown61120
-	ld a, [$d618]
-	call Func_3160
-	ld [$d618], a
+	ld a, [W_VIRIDIANFORESTCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_VIRIDIANFORESTCURSCRIPT], a
 	ret
 ; 0x61120
 
-ViridianForestScript_Unknown61120: ; 0x61120
-INCBIN "baserom.gbc",$61120,$6
+ViridianForestScript_Unknown61120: ; 61120 (18:5120)
+INCBIN "baserom.gbc",$61120,$61126 - $61120
 
-ViridianForestTexts: ; 0x61126
+ViridianForestTexts: ; 61126 (18:5126)
 	dw ViridianForestText1, ViridianForestText2, ViridianForestText3, ViridianForestText4, Predef5CText, Predef5CText, Predef5CText, ViridianForestText8, ViridianForestText9, ViridianForestText10, ViridianForestText11, ViridianForestText12, ViridianForestText13, ViridianForestText14
 
-ViridianForestTrainerHeaders:
-ViridianForestTrainerHeader0: ; 0x61142
+ViridianForestTrainerHeaders: ; 61142 (18:5142)
+ViridianForestTrainerHeader0: ; 61142 (18:5142)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f3 ; flag's byte
@@ -94823,7 +95749,7 @@
 	dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle
 ; 0x6114e
 
-ViridianForestTrainerHeader1: ; 0x6114e
+ViridianForestTrainerHeader1: ; 6114e (18:514e)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d7f3 ; flag's byte
@@ -94833,7 +95759,7 @@
 	dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle
 ; 0x6115a
 
-ViridianForestTrainerHeader2: ; 0x6115a
+ViridianForestTrainerHeader2: ; 6115a (18:515a)
 	db $4 ; flag's bit
 	db ($1 << 4) ; trainer's view range
 	dw $d7f3 ; flag's byte
@@ -94845,39 +95771,39 @@
 
 db $ff
 
-ViridianForestText1: ; 0x61167
+ViridianForestText1: ; 61167 (18:5167)
 	TX_FAR _ViridianForestText1
 	db $50
 
-ViridianForestText2: ; 0x6116c
+ViridianForestText2: ; 6116c (18:516c)
 	db $08 ; asm
 	ld hl, ViridianForestTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianForestText3: ; 0x61176
+ViridianForestText3: ; 61176 (18:5176)
 	db $08 ; asm
 	ld hl, ViridianForestTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianForestText4: ; 0x61180
+ViridianForestText4: ; 61180 (18:5180)
 	db $08 ; asm
 	ld hl, ViridianForestTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianForestBattleText1: ; 0x6118a
+ViridianForestBattleText1: ; 6118a (18:518a)
 	TX_FAR _ViridianForestBattleText1
 	db $50
 ; 0x6118a + 5 bytes
 
-ViridianForestEndBattleText1: ; 0x6118f
+ViridianForestEndBattleText1: ; 6118f (18:518f)
 	TX_FAR _ViridianForestEndBattleText1
 	db $50
 ; 0x6118f + 5 bytes
 
-ViridianForestAfterBattleText1: ; 0x61194
+ViridianForestAfterBattleText1: ; 61194 (18:5194)
 	;TX_FAR _ViridianForestAfterBattleText1
 	db $17
 	dw _ViridianForestAfterBattleText1
@@ -94885,17 +95811,17 @@
 	db $50
 ; 0x61194 + 5 bytes
 
-ViridianForestBattleText2: ; 0x61199
+ViridianForestBattleText2: ; 61199 (18:5199)
 	TX_FAR _ViridianForestBattleText2
 	db $50
 ; 0x61199 + 5 bytes
 
-ViridianForestEndBattleText2: ; 0x6119e
+ViridianForestEndBattleText2: ; 6119e (18:519e)
 	TX_FAR _ViridianForestEndBattleText2
 	db $50
 ; 0x6119e + 5 bytes
 
-ViridianForestAfterBattleText2: ; 0x611a3
+ViridianForestAfterBattleText2: ; 611a3 (18:51a3)
 	;TX_FAR _ViridianForestAfterBattleText2
 	db $17
 	dw _ViridianForestAfterBattleText2
@@ -94903,17 +95829,17 @@
 	db $50
 ; 0x611a3 + 5 bytes
 
-ViridianForestBattleText3: ; 0x611a8
+ViridianForestBattleText3: ; 611a8 (18:51a8)
 	TX_FAR _ViridianForestBattleText3
 	db $50
 ; 0x611a8 + 5 bytes
 
-ViridianForestEndBattleText3: ; 0x611ad
+ViridianForestEndBattleText3: ; 611ad (18:51ad)
 	TX_FAR _ViridianForestEndBattleText3
 	db $50
 ; 0x611ad + 5 bytes
 
-ViridianForestAfterBattleText3: ; 0x611b2
+ViridianForestAfterBattleText3: ; 611b2 (18:51b2)
 	;TX_FAR _ViridianForestAfterBattleText3
 	db $17
 	dw _ViridianForestAfterBattleText3
@@ -94921,31 +95847,31 @@
 	db $50
 ; 0x611b2 + 5 bytes
 
-ViridianForestText8: ; 0x611b7
+ViridianForestText8: ; 611b7 (18:51b7)
 	TX_FAR _ViridianForestText8
 	db $50
 
-ViridianForestText9: ; 0x611bc
+ViridianForestText9: ; 611bc (18:51bc)
 	TX_FAR _ViridianForestText9
 	db $50
 
-ViridianForestText10: ; 0x611c1
+ViridianForestText10: ; 611c1 (18:51c1)
 	TX_FAR _ViridianForestText10
 	db $50
 
-ViridianForestText11: ; 0x611c6
+ViridianForestText11: ; 611c6 (18:51c6)
 	TX_FAR _ViridianForestText11
 	db $50
 
-ViridianForestText12: ; 0x611cb
+ViridianForestText12: ; 611cb (18:51cb)
 	TX_FAR _ViridianForestText12
 	db $50
 
-ViridianForestText13: ; 0x611d0
+ViridianForestText13: ; 611d0 (18:51d0)
 	TX_FAR _ViridianForestText13
 	db $50
 
-ViridianForestText14: ; 0x611d5
+ViridianForestText14: ; 611d5 (18:51d5)
 	TX_FAR _ViridianForestText14
 	db $50
 
@@ -94994,19 +95920,19 @@
 
 	dw SSAnne1Object ; objects
 
-SSAnne1Script: ; 0x61265
+SSAnne1Script: ; 61265 (18:5265)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x61269
 
-SSAnne1Texts: ; 0x61269
+SSAnne1Texts: ; 61269 (18:5269)
 	dw SSAnne1Text1, SSAnne1Text2
 
-SSAnne1Text1: ; 0x6126d
+SSAnne1Text1: ; 6126d (18:526d)
 	TX_FAR _SSAnne1Text1
 	db $50
 
-SSAnne1Text2: ; 0x61272
+SSAnne1Text2: ; 61272 (18:5272)
 	TX_FAR _SSAnne1Text2
 	db $50
 
@@ -95045,7 +95971,7 @@
 	EVENT_DISP $14, $f, $25 ; SS_ANNE_4
 	EVENT_DISP $14, $10, $3 ; SS_ANNE_6
 
-SSAnne1Blocks: ; 0x612df 180
+SSAnne1Blocks: ; 612df (18:52df)
 	INCBIN "maps/ssanne1.blk"
 
 SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96)
@@ -95056,10 +95982,10 @@
 
 	dw SSAnne2Object ; objects
 
-SSAnne2Script: ; 0x6139f
+SSAnne2Script: ; 6139f (18:539f)
 	call EnableAutoTextBoxDrawing
 	ld hl, SSAnne2Scripts
-	ld a, [$d665]
+	ld a, [W_SSANNE2CURSCRIPT]
 	jp CallFunctionInTable
 ; 0x613ab
 
@@ -95066,19 +95992,19 @@
 ; known jump sources: 61472 (18:5472)
 Func_613ab: ; 613ab (18:53ab)
 	xor a
-	ld [$cd6b], a
-	ld [$d665], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_SSANNE2CURSCRIPT], a
 	ret
 ; 613b3 (18:53b3)
-SSAnne2Scripts: ; 0x613b3
+SSAnne2Scripts: ; 613b3 (18:53b3)
 	dw SSAnne2Script0, SSAnne2Script1, SSAnne2Script2, SSAnne2Script3, SSAnne2Script4
 
-SSAnne2Script4: ; 0x613bd
+SSAnne2Script4: ; 613bd (18:53bd)
 	ret
 ; 0x613be
 
-SSAnne2Script0: ; 0x613be
-	ld hl, $5411
+SSAnne2Script0: ; 613be (18:53be)
+	ld hl, Unknown_61411 ; $5411
 	call ArePlayerCoordsInArray
 	ret nc
 	ld a, $ff
@@ -95098,25 +96024,32 @@
 	ld [$ff00+$8c], a
 	call SetSpriteMovementBytesToFF
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$ff00+$db]
 	cp $2
 	jr nz, .asm_61400 ; 0x613f9 $5
-	ld de, $540c
+	ld de, Unknown_6140c ; $540c
 	jr .asm_61403 ; 0x613fe $3
 .asm_61400
-	ld de, $540d
+	ld de, Unknown_6140d ; $540d
 .asm_61403
 	call MoveSprite
 	ld a, $1
-	ld [$d665], a
+	ld [W_SSANNE2CURSCRIPT], a
 	ret
 ; 0x6140c
 
-INCBIN "baserom.gbc",$6140c,$61416 - $6140c
+Unknown_6140c: ; 6140c (18:540c)
+INCBIN "baserom.gbc",$6140c,$6140d - $6140c
 
+Unknown_6140d: ; 6140d (18:540d)
+INCBIN "baserom.gbc",$6140d,$61411 - $6140d
+
+Unknown_61411: ; 61411 (18:5411)
+INCBIN "baserom.gbc",$61411,$61416 - $61411
+
 ; known jump sources: 61436 (18:5436), 61464 (18:5464), 61475 (18:5475)
 Func_61416: ; 61416 (18:5416)
 	ld a, [W_XCOORD] ; $d362
@@ -95134,13 +96067,13 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp Func_34a6
 ; 61430 (18:5430)
-SSAnne2Script1: ; 0x61430
+SSAnne2Script1: ; 61430 (18:5430)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	call Func_61416
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $2
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -95166,17 +96099,17 @@
 
 	call Func_61416
 	ld a, $2
-	ld [$d665], a
+	ld [W_SSANNE2CURSCRIPT], a
 	ret
 ; 0x6146d
 
-SSAnne2Script2: ; 0x6146d
+SSAnne2Script2: ; 6146d (18:546d)
 	ld a, [$d057]
 	cp $ff
 	jp z, Func_613ab
 	call Func_61416
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $3
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -95186,10 +96119,10 @@
 	ld a, [$d362]
 	cp $25
 	jr nz, .asm_61497 ; 0x61490 $5
-	ld de, $54b9
+	ld de, Unknown_614b9 ; $54b9
 	jr .asm_6149a ; 0x61495 $3
 .asm_61497
-	ld de, $54b7
+	ld de, Unknown_614b7 ; $54b7
 .asm_6149a
 	ld a, $2
 	ld [$ff00+$8c], a
@@ -95201,18 +96134,22 @@
 	ld hl, Func_9b47
 	call Bankswitch
 	ld a, $3
-	ld [$d665], a
+	ld [W_SSANNE2CURSCRIPT], a
 	ret
 ; 0x614b7
 
-INCBIN "baserom.gbc",$614b7,$614be - $614b7
+Unknown_614b7: ; 614b7 (18:54b7)
+INCBIN "baserom.gbc",$614b7,$614b9 - $614b7
 
-SSAnne2Script3: ; 0x614be
+Unknown_614b9: ; 614b9 (18:54b9)
+INCBIN "baserom.gbc",$614b9,$614be - $614b9
+
+SSAnne2Script3: ; 614be (18:54be)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $71
 	ld [$cc4d], a
 	ld a, $11
@@ -95219,18 +96156,18 @@
 	call Predef
 	call Func_2307
 	ld a, $4
-	ld [$d665], a
+	ld [W_SSANNE2CURSCRIPT], a
 	ret
 ; 0x614db
 
-SSAnne2Texts: ; 0x614db
+SSAnne2Texts: ; 614db (18:54db)
 	dw SSAnne2Text1, SSAnne2Text2, SSAnne2Text3
 
-SSAnne2Text1: ; 0x614e1
+SSAnne2Text1: ; 614e1 (18:54e1)
 	TX_FAR _SSAnne2Text1
 	db $50
 
-SSAnne2Text2: ; 0x614e6
+SSAnne2Text2: ; 614e6 (18:54e6)
 	db $8
 	ld hl, SSAnneRivalBeforeBattleText
 	call PrintText
@@ -95239,26 +96176,26 @@
 	set 7, [hl]
 	ld hl, SSAnneRivalDefeatedText
 	ld de, SSAnneRivalWonText
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp TextScriptEnd
 ; 0x61500
 
-SSAnneRivalBeforeBattleText: ; 0x61500
+SSAnneRivalBeforeBattleText: ; 61500 (18:5500)
 	TX_FAR _SSAnneRivalBeforeBattleText
 	db $50
 ; 0x61500 + 5 bytes
 
-SSAnneRivalDefeatedText: ; 0x61505
+SSAnneRivalDefeatedText: ; 61505 (18:5505)
 	TX_FAR _SSAnneRivalDefeatedText
 	db $50
 ; 0x61505 + 5 bytes
 
-SSAnneRivalWonText: ; 0x6150a
+SSAnneRivalWonText: ; 6150a (18:550a)
 	TX_FAR _SSAnneRivalWonText
 	db $50
 ; 0x6150a + 5 bytes
 
-SSAnne2Text3: ; 0x6150f
+SSAnne2Text3: ; 6150f (18:550f)
 	TX_FAR _SSAnneRivalCaptainText
 	db $50
 ; 0x6150f + 5 bytes
@@ -95294,7 +96231,7 @@
 	EVENT_DISP $14, $c, $2 ; SS_ANNE_3
 	EVENT_DISP $14, $4, $24 ; SS_ANNE_7
 
-SSAnne2Blocks: ; 0x6156e 180
+SSAnne2Blocks: ; 6156e (18:556e)
 	INCBIN "maps/ssanne2.blk"
 
 SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98)
@@ -95305,11 +96242,11 @@
 
 	dw SSAnne4Object ; objects
 
-SSAnne4Script: ; 0x6162e
+SSAnne4Script: ; 6162e (18:562e)
 	jp EnableAutoTextBoxDrawing
 ; 0x61631
 
-SSAnne4Texts: ; 0x61631
+SSAnne4Texts: ; 61631 (18:5631)
 	db $50
 
 SSAnne4Object: ; 0x61632 (size=52)
@@ -95335,7 +96272,7 @@
 	EVENT_DISP $f, $3, $7 ; SS_ANNE_10
 	EVENT_DISP $f, $5, $1b ; SS_ANNE_1
 
-SSAnne4Blocks: ; 0x61666 60
+SSAnne4Blocks: ; 61666 (18:5666)
 	INCBIN "maps/ssanne4.blk"
 
 SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99)
@@ -95346,24 +96283,24 @@
 
 	dw SSAnne5Object ; objects
 
-SSAnne5Script: ; 0x616ae
+SSAnne5Script: ; 616ae (18:56ae)
 	call EnableAutoTextBoxDrawing
-	ld hl, $56d1
+	ld hl, SSAnneTrainerHeader0 ; $56d1
 	ld de, SSAnne5Script_Unknown616c1
-	ld a, [$d617]
-	call Func_3160
-	ld [$d617], a
+	ld a, [W_SSANNE5CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SSANNE5CURSCRIPT], a
 	ret
 ; 0x616c1
 
-SSAnne5Script_Unknown616c1: ; 0x616c1
-INCBIN "baserom.gbc",$616c1,$6
+SSAnne5Script_Unknown616c1: ; 616c1 (18:56c1)
+INCBIN "baserom.gbc",$616c1,$616c7 - $616c1
 
-SSAnne5Texts: ; 0x616c7
+SSAnne5Texts: ; 616c7 (18:56c7)
 	dw SSAnne5Text1, SSAnne5Text2, SSAnne5Text3, SSAnne5Text4, SSAnne5Text5
 
-SSAnneTrainerHeaders:
-SSAnneTrainerHeader0: ; 0x616d1
+SSAnneTrainerHeaders: ; 616d1 (18:56d1)
+SSAnneTrainerHeader0: ; 616d1 (18:56d1)
 	db $4 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7ff ; flag's byte
@@ -95373,7 +96310,7 @@
 	dw SSAnneEndBattleText1 ; 0x5708 TextEndBattle
 ; 0x616dd
 
-SSAnneTrainerHeader1: ; 0x616dd
+SSAnneTrainerHeader1: ; 616dd (18:56dd)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d7ff ; flag's byte
@@ -95385,56 +96322,56 @@
 
 db $ff
 
-SSAnne5Text1: ; 0x616ea
+SSAnne5Text1: ; 616ea (18:56ea)
 	TX_FAR _SSAnne5Text1
 	db $50
 
-SSAnne5Text2: ; 0x616ef
+SSAnne5Text2: ; 616ef (18:56ef)
 	TX_FAR _SSAnne5Text2
 	db $50
 
-SSAnne5Text3: ; 0x616f4
+SSAnne5Text3: ; 616f4 (18:56f4)
 	TX_FAR _SSAnne5Text3
 	db $50
 
-SSAnne5Text4: ; 0x616f9
+SSAnne5Text4: ; 616f9 (18:56f9)
 	db $08 ; asm
 	ld hl, SSAnneTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnneBattleText1: ; 0x61703
+SSAnneBattleText1: ; 61703 (18:5703)
 	TX_FAR _SSAnneBattleText1
 	db $50
 ; 0x61703 + 5 bytes
 
-SSAnneEndBattleText1: ; 0x61708
+SSAnneEndBattleText1: ; 61708 (18:5708)
 	TX_FAR _SSAnneEndBattleText1
 	db $50
 ; 0x61708 + 5 bytes
 
-SSAnneAfterBattleText1: ; 0x6170d
+SSAnneAfterBattleText1: ; 6170d (18:570d)
 	TX_FAR _SSAnneAfterBattleText1
 	db $50
 ; 0x6170d + 5 bytes
 
-SSAnne5Text5: ; 0x61712
+SSAnne5Text5: ; 61712 (18:5712)
 	db $08 ; asm
 	ld hl, SSAnneTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnneBattleText2: ; 0x6171c
+SSAnneBattleText2: ; 6171c (18:571c)
 	TX_FAR _SSAnneBattleText2
 	db $50
 ; 0x6171c + 5 bytes
 
-SSAnneEndBattleText2: ; 0x61721
+SSAnneEndBattleText2: ; 61721 (18:5721)
 	TX_FAR _SSAnneEndBattleText2
 	db $50
 ; 0x61721 + 5 bytes
 
-SSAnneAfterBattleText2: ; 0x61726
+SSAnneAfterBattleText2: ; 61726 (18:5726)
 	TX_FAR _SSAnneAfterBattleText2
 	db $50
 ; 0x61726 + 5 bytes
@@ -95459,7 +96396,7 @@
 	EVENT_DISP $a, $6, $d ; SS_ANNE_3
 	EVENT_DISP $a, $7, $d ; SS_ANNE_3
 
-SSAnne5Blocks: ; 0x61761 70
+SSAnne5Blocks: ; 61761 (18:5761)
 	INCBIN "maps/ssanne5.blk"
 
 SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100)
@@ -95470,39 +96407,39 @@
 
 	dw SSAnne6Object ; objects
 
-SSAnne6Script: ; 0x617b3
+SSAnne6Script: ; 617b3 (18:57b3)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x617b7
 
-SSAnne6Texts: ; 0x617b7
+SSAnne6Texts: ; 617b7 (18:57b7)
 	dw SSAnne6Text1, SSAnne6Text2, SSAnne6Text3, SSAnne6Text4, SSAnne6Text5, SSAnne6Text6, SSAnne6Text7
 
-SSAnne6Text1: ; 0x617c5
+SSAnne6Text1: ; 617c5 (18:57c5)
 	TX_FAR _SSAnne6Text1
 	db $50
 
-SSAnne6Text2: ; 0x617ca
+SSAnne6Text2: ; 617ca (18:57ca)
 	TX_FAR _SSAnne6Text2
 	db $50
 
-SSAnne6Text3: ; 0x617cf
+SSAnne6Text3: ; 617cf (18:57cf)
 	TX_FAR _SSAnne6Text3
 	db $50
 
-SSAnne6Text4: ; 0x617d4
+SSAnne6Text4: ; 617d4 (18:57d4)
 	TX_FAR _SSAnne6Text4
 	db $50
 
-SSAnne6Text5: ; 0x617d9
+SSAnne6Text5: ; 617d9 (18:57d9)
 	TX_FAR _SSAnne6Text5
 	db $50
 
-SSAnne6Text6: ; 0x617de
+SSAnne6Text6: ; 617de (18:57de)
 	TX_FAR _SSAnne6Text6
 	db $50
 
-SSAnne6Text7: ; 0x617e3
+SSAnne6Text7: ; 617e3 (18:57e3)
 	db $08 ; asm
 	ld hl, UnnamedText_61807
 	call PrintText
@@ -95522,22 +96459,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61807: ; 0x61807
+UnnamedText_61807: ; 61807 (18:5807)
 	TX_FAR _UnnamedText_61807
 	db $50
 ; 0x61807 + 5 bytes
 
-UnnamedText_6180c: ; 0x6180c
+UnnamedText_6180c: ; 6180c (18:580c)
 	TX_FAR _UnnamedText_6180c
 	db $50
 ; 0x6180c + 5 bytes
 
-UnnamedText_61811: ; 0x61811
+UnnamedText_61811: ; 61811 (18:5811)
 	TX_FAR _UnnamedText_61811
 	db $50
 ; 0x61811 + 5 bytes
 
-UnnamedText_61816: ; 0x61816
+UnnamedText_61816: ; 61816 (18:5816)
 	TX_FAR _UnnamedText_61816
 	db $50
 ; 0x61816 + 5 bytes
@@ -95562,7 +96499,7 @@
 	; warp-to
 	EVENT_DISP $7, $0, $6 ; SS_ANNE_1
 
-SSAnne6Blocks: ; 0x61851 56
+SSAnne6Blocks: ; 61851 (18:5851)
 	INCBIN "maps/ssanne6.blk"
 
 SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101)
@@ -95573,12 +96510,12 @@
 
 	dw SSAnne7Object ; objects
 
-SSAnne7Script: ; 0x61895
+SSAnne7Script: ; 61895 (18:5895)
 	call SSAnne7Script_Unknown6189b
 	jp EnableAutoTextBoxDrawing
 ; 0x6189b
 
-SSAnne7Script_Unknown6189b: ; 0x6189b
+SSAnne7Script_Unknown6189b: ; 6189b (18:589b)
 	ld a, [$d803]
 	bit 1, a
 	ret nz
@@ -95586,10 +96523,10 @@
 	set 5, [hl]
 	ret
 ; 618a7 (18:58a7)
-SSAnne7Texts: ; 0x618a7
+SSAnne7Texts: ; 618a7 (18:58a7)
 	dw SSAnne7Text1, SSAnne7Text2, SSAnne7Text3
 
-SSAnne7Text1: ; 0x618ad
+SSAnne7Text1: ; 618ad (18:58ad)
 	db $08 ; asm
 	ld a, [$d803]
 	bit 0, a
@@ -95618,7 +96555,7 @@
 .asm_0faf5 ; 0x618e9
 	jp TextScriptEnd
 
-SSAnne7RubText: ; 0x618ec
+SSAnne7RubText: ; 618ec (18:58ec)
 	TX_FAR _SSAnne7RubText ; 0x812dd
 	db $8
 	ld a, [$c0ef]
@@ -95646,31 +96583,31 @@
 	jp TextScriptEnd
 ; 0x61927
 
-ReceivingHM01Text: ; 0x61927
+ReceivingHM01Text: ; 61927 (18:5927)
 	TX_FAR _ReceivingHM01Text
 	db $50
 ; 0x61927 + 5 bytes
 
-ReceivedHM01Text: ; 0x6192c
+ReceivedHM01Text: ; 6192c (18:592c)
 	TX_FAR _ReceivedHM01Text ; 0x8140d
 	db $11, $50
 ; 0x6192c + 6 bytes = 0x61932
 
-UnnamedText_61932: ; 0x61932
+UnnamedText_61932: ; 61932 (18:5932)
 	TX_FAR _UnnamedText_61932
 	db $50
 ; 0x61932 + 5 bytes
 
-HM01NoRoomText: ; 0x61937
+HM01NoRoomText: ; 61937 (18:5937)
 	TX_FAR _HM01NoRoomText
 	db $50
 ; 0x61937 + 5 bytes
 
-SSAnne7Text2: ; 0x6193c
+SSAnne7Text2: ; 6193c (18:593c)
 	TX_FAR _SSAnne7Text2
 	db $50
 
-SSAnne7Text3: ; 0x61941
+SSAnne7Text3: ; 61941 (18:5941)
 	TX_FAR _SSAnne7Text3
 	db $50
 
@@ -95690,7 +96627,7 @@
 	; warp-to
 	EVENT_DISP $3, $7, $0 ; SS_ANNE_2
 
-SSAnne7Blocks: ; 0x6195e 12
+SSAnne7Blocks: ; 6195e (18:595e)
 	INCBIN "maps/ssanne7.blk"
 
 SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102)
@@ -95701,24 +96638,24 @@
 
 	dw SSAnne8Object ; objects
 
-SSAnne8Script: ; 0x61976
+SSAnne8Script: ; 61976 (18:5976)
 	call EnableAutoTextBoxDrawing
 	ld hl, SSAnne8TrainerHeaders
 	ld de, SSAnne8Script_Unknown61989
-	ld a, [$d608]
-	call Func_3160
-	ld [$d608], a
+	ld a, [W_SSANNE8CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SSANNE8CURSCRIPT], a
 	ret
 ; 0x61989
 
-SSAnne8Script_Unknown61989: ; 0x61989
-INCBIN "baserom.gbc",$61989,$6
+SSAnne8Script_Unknown61989: ; 61989 (18:5989)
+INCBIN "baserom.gbc",$61989,$6198f - $61989
 
-SSAnne8Texts: ; 0x6198f
+SSAnne8Texts: ; 6198f (18:598f)
 	dw SSAnne8Text1, SSAnne8Text2, SSAnne8Text3, SSAnne8Text4, SSAnne8Text5, SSAnne8Text6, SSAnne8Text7, SSAnne8Text8, SSAnne8Text9, Predef5CText, SSAnne8Text11
 
-SSAnne8TrainerHeaders:
-SSAnne8TrainerHeader0: ; 0x619a5
+SSAnne8TrainerHeaders: ; 619a5 (18:59a5)
+SSAnne8TrainerHeader0: ; 619a5 (18:59a5)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d805 ; flag's byte
@@ -95728,7 +96665,7 @@
 	dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle
 ; 0x619b1
 
-SSAnne8TrainerHeader1: ; 0x619b1
+SSAnne8TrainerHeader1: ; 619b1 (18:59b1)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d805 ; flag's byte
@@ -95738,7 +96675,7 @@
 	dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle
 ; 0x619bd
 
-SSAnne8TrainerHeader2: ; 0x619bd
+SSAnne8TrainerHeader2: ; 619bd (18:59bd)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d805 ; flag's byte
@@ -95748,7 +96685,7 @@
 	dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle
 ; 0x619c9
 
-SSAnne8TrainerHeader3: ; 0x619c9
+SSAnne8TrainerHeader3: ; 619c9 (18:59c9)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d805 ; flag's byte
@@ -95760,31 +96697,31 @@
 
 db $ff
 
-SSAnne8Text1: ; 0x619d6
+SSAnne8Text1: ; 619d6 (18:59d6)
 	db $08 ; asm
 	ld hl, SSAnne8TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne8Text2: ; 0x619e0
+SSAnne8Text2: ; 619e0 (18:59e0)
 	db $08 ; asm
 	ld hl, SSAnne8TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne8Text3: ; 0x619ea
+SSAnne8Text3: ; 619ea (18:59ea)
 	db $08 ; asm
 	ld hl, SSAnne8TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne8Text4: ; 0x619f4
+SSAnne8Text4: ; 619f4 (18:59f4)
 	db $08 ; asm
 	ld hl, SSAnne8TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne8Text8: ; 0x619fe
+SSAnne8Text8: ; 619fe (18:59fe)
 	TX_FAR _SSAnne8Text8
 	db $08 ; asm
 	ld a, WIGGLYTUFF
@@ -95791,83 +96728,83 @@
 	call PlayCry
 	jp TextScriptEnd
 
-SSAnne8BattleText1: ; 0x61a0b
+SSAnne8BattleText1: ; 61a0b (18:5a0b)
 	TX_FAR _SSAnne8BattleText1
 	db $50
 ; 0x61a0b + 5 bytes
 
-SSAnne8EndBattleText1: ; 0x61a10
+SSAnne8EndBattleText1: ; 61a10 (18:5a10)
 	TX_FAR _SSAnne8EndBattleText1
 	db $50
 ; 0x61a10 + 5 bytes
 
-SSAnne8AfterBattleText1: ; 0x61a15
+SSAnne8AfterBattleText1: ; 61a15 (18:5a15)
 	TX_FAR _SSAnne8AfterBattleText1
 	db $50
 ; 0x61a15 + 5 bytes
 
-SSAnne8BattleText2: ; 0x61a1a
+SSAnne8BattleText2: ; 61a1a (18:5a1a)
 	TX_FAR _SSAnne8BattleText2
 	db $50
 ; 0x61a1a + 5 bytes
 
-SSAnne8EndBattleText2: ; 0x61a1f
+SSAnne8EndBattleText2: ; 61a1f (18:5a1f)
 	TX_FAR _SSAnne8EndBattleText2
 	db $50
 ; 0x61a1f + 5 bytes
 
-UnnamedText_61a24: ; 0x61a24
+UnnamedText_61a24: ; 61a24 (18:5a24)
 	TX_FAR _UnnamedText_61a24
 	db $50
 ; 0x61a24 + 5 bytes
 
-SSAnne8BattleText3: ; 0x61a29
+SSAnne8BattleText3: ; 61a29 (18:5a29)
 	TX_FAR _SSAnne8BattleText3
 	db $50
 ; 0x61a29 + 5 bytes
 
-SSAnne8EndBattleText3: ; 0x61a2e
+SSAnne8EndBattleText3: ; 61a2e (18:5a2e)
 	TX_FAR _SSAnne8EndBattleText3
 	db $50
 ; 0x61a2e + 5 bytes
 
-SSAnne8AfterBattleText3: ; 0x61a33
+SSAnne8AfterBattleText3: ; 61a33 (18:5a33)
 	TX_FAR _SSAnne8AfterBattleText3
 	db $50
 ; 0x61a33 + 5 bytes
 
-SSAnne8BattleText4: ; 0x61a38
+SSAnne8BattleText4: ; 61a38 (18:5a38)
 	TX_FAR _SSAnne8BattleText4
 	db $50
 ; 0x61a38 + 5 bytes
 
-SSAnne8EndBattleText4: ; 0x61a3d
+SSAnne8EndBattleText4: ; 61a3d (18:5a3d)
 	TX_FAR _SSAnne8EndBattleText4
 	db $50
 ; 0x61a3d + 5 bytes
 
-SSAnne8AfterBattleText4: ; 0x61a42
+SSAnne8AfterBattleText4: ; 61a42 (18:5a42)
 	TX_FAR _SSAnne8AfterBattleText4
 	db $50
 ; 0x61a42 + 5 bytes
 
-SSAnne8Text5: ; 0x61a47
+SSAnne8Text5: ; 61a47 (18:5a47)
 	TX_FAR _SSAnne8Text5
 	db $50
 
-SSAnne8Text6: ; 0x61a4c
+SSAnne8Text6: ; 61a4c (18:5a4c)
 	TX_FAR _SSAnne8Text6
 	db $50
 
-SSAnne8Text7: ; 0x61a51
+SSAnne8Text7: ; 61a51 (18:5a51)
 	TX_FAR _SSAnne8Text7
 	db $50
 
-SSAnne8Text9: ; 0x61a56
+SSAnne8Text9: ; 61a56 (18:5a56)
 	TX_FAR _SSAnne8Text9
 	db $50
 
-SSAnne8Text11: ; 0x61a5b
+SSAnne8Text11: ; 61a5b (18:5a5b)
 	TX_FAR _SSAnne8Text11
 	db $50
 
@@ -95905,7 +96842,7 @@
 	EVENT_DISP $c, $a, $a ; SS_ANNE_1
 	EVENT_DISP $c, $a, $14 ; SS_ANNE_1
 
-SSAnne8Blocks: ; 0x61adf 96
+SSAnne8Blocks: ; 61adf (18:5adf)
 	INCBIN "maps/ssanne8.blk"
 
 SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103)
@@ -95916,7 +96853,7 @@
 
 	dw SSAnne9Object ; objects
 
-SSAnne9Script: ; 0x61b4b
+SSAnne9Script: ; 61b4b (18:5b4b)
 	ld a, $1
 	ld [$cf0c], a
 	xor a
@@ -95923,20 +96860,20 @@
 	ld [$cc3c], a
 	ld hl, SSAnne9TrainerHeaders
 	ld de, SSAnne9Script_Unknown61b64
-	ld a, [$d609]
-	call Func_3160
-	ld [$d609], a
+	ld a, [W_SSANNE9CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SSANNE9CURSCRIPT], a
 	ret
 ; 0x61b64
 
-SSAnne9Script_Unknown61b64: ; 0x61b64
-INCBIN "baserom.gbc",$61b64,$6
+SSAnne9Script_Unknown61b64: ; 61b64 (18:5b64)
+INCBIN "baserom.gbc",$61b64,$61b6a - $61b64
 
-SSAnne9Texts: ; 0x61b6a
+SSAnne9Texts: ; 61b6a (18:5b6a)
 	dw SSAnne9Text1, SSAnne9Text2, SSAnne9Text3, SSAnne9Text4, SSAnne9Text5, Predef5CText, SSAnne9Text7, SSAnne9Text8, Predef5CText, SSAnne9Text10, SSAnne9Text11, SSAnne9Text12, SSAnne9Text13
 
-SSAnne9TrainerHeaders:
-SSAnne9TrainerHeader0: ; 0x61b84
+SSAnne9TrainerHeaders: ; 61b84 (18:5b84)
+SSAnne9TrainerHeader0: ; 61b84 (18:5b84)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d807 ; flag's byte
@@ -95946,7 +96883,7 @@
 	dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle
 ; 0x61b90
 
-SSAnne9TrainerHeader1: ; 0x61b90
+SSAnne9TrainerHeader1: ; 61b90 (18:5b90)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d807 ; flag's byte
@@ -95956,7 +96893,7 @@
 	dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle
 ; 0x61b9c
 
-SSAnne9TrainerHeader2: ; 0x61b9c
+SSAnne9TrainerHeader2: ; 61b9c (18:5b9c)
 	db $3 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d807 ; flag's byte
@@ -95966,7 +96903,7 @@
 	dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle
 ; 0x61ba8
 
-SSAnne9TrainerHeader3: ; 0x61ba8
+SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d807 ; flag's byte
@@ -95979,167 +96916,167 @@
 
 db $ff
 
-SSAnne9Text1: ; 0x61bb5
+SSAnne9Text1: ; 61bb5 (18:5bb5)
 	db $08 ; asm
 	ld hl, SSAnne9TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne9Text2: ; 0x61bbf
+SSAnne9Text2: ; 61bbf (18:5bbf)
 	db $08 ; asm
 	ld hl, SSAnne9TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne9Text3: ; 0x61bc9
+SSAnne9Text3: ; 61bc9 (18:5bc9)
 	db $08 ; asm
 	ld hl, SSAnne9TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne9Text4: ; 0x61bd3
+SSAnne9Text4: ; 61bd3 (18:5bd3)
 	db $08 ; asm
 	ld hl, SSAnne9TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne9Text5: ; 0x61bdd
+SSAnne9Text5: ; 61bdd (18:5bdd)
 	db $08 ; asm
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	ld hl, UnnamedText_61bf2
 	call PrintText
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld a, $84
 	call Func_349b
 	jp TextScriptEnd
 
-UnnamedText_61bf2: ; 0x61bf2
+UnnamedText_61bf2: ; 61bf2 (18:5bf2)
 	TX_FAR _UnnamedText_61bf2
 	db $50
 ; 0x61bf2 + 5 bytes
 
-SSAnne9Text7: ; 0x61bf7
+SSAnne9Text7: ; 61bf7 (18:5bf7)
 	db $08 ; asm
 	ld hl, UnnamedText_61c01
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61c01: ; 0x61c01
+UnnamedText_61c01: ; 61c01 (18:5c01)
 	TX_FAR _UnnamedText_61c01
 	db $50
 ; 0x61c01 + 5 bytes
 
-SSAnne9Text8: ; 0x61c06
+SSAnne9Text8: ; 61c06 (18:5c06)
 	db $08 ; asm
 	ld hl, UnnamedText_61c10
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61c10: ; 0x61c10
+UnnamedText_61c10: ; 61c10 (18:5c10)
 	TX_FAR _UnnamedText_61c10
 	db $50
 ; 0x61c10 + 5 bytes
 
-SSAnne9Text10: ; 0x61c15
+SSAnne9Text10: ; 61c15 (18:5c15)
 	db $08 ; asm
 	ld hl, UnnamedText_61c1f
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61c1f: ; 0x61c1f
+UnnamedText_61c1f: ; 61c1f (18:5c1f)
 	TX_FAR _UnnamedText_61c1f
 	db $50
 ; 0x61c1f + 5 bytes
 
-SSAnne9Text11: ; 0x61c24
+SSAnne9Text11: ; 61c24 (18:5c24)
 	db $08 ; asm
 	ld hl, UnnamedText_61c2e
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61c2e: ; 0x61c2e
+UnnamedText_61c2e: ; 61c2e (18:5c2e)
 	TX_FAR _UnnamedText_61c2e
 	db $50
 ; 0x61c2e + 5 bytes
 
-SSAnne9Text12: ; 0x61c33
+SSAnne9Text12: ; 61c33 (18:5c33)
 	db $08 ; asm
 	ld hl, UnnamedText_61c3d
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61c3d: ; 0x61c3d
+UnnamedText_61c3d: ; 61c3d (18:5c3d)
 	TX_FAR _UnnamedText_61c3d
 	db $50
 ; 0x61c3d + 5 bytes
 
-SSAnne9Text13: ; 0x61c42
+SSAnne9Text13: ; 61c42 (18:5c42)
 	db $08 ; asm
 	ld hl, UnnamedText_61c4c
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_61c4c: ; 0x61c4c
+UnnamedText_61c4c: ; 61c4c (18:5c4c)
 	TX_FAR _UnnamedText_61c4c
 	db $50
 ; 0x61c4c + 5 bytes
 
-SSAnne9BattleText1: ; 0x61c51
+SSAnne9BattleText1: ; 61c51 (18:5c51)
 	TX_FAR _SSAnne9BattleText1
 	db $50
 ; 0x61c51 + 5 bytes
 
-SSAnne9EndBattleText1: ; 0x61c56
+SSAnne9EndBattleText1: ; 61c56 (18:5c56)
 	TX_FAR _SSAnne9EndBattleText1
 	db $50
 ; 0x61c56 + 5 bytes
 
-SSAnne9AfterBattleText1: ; 0x61c5b
+SSAnne9AfterBattleText1: ; 61c5b (18:5c5b)
 	TX_FAR _SSAnne9AfterBattleText1
 	db $50
 ; 0x61c5b + 5 bytes
 
-SSAnne9BattleText2: ; 0x61c60
+SSAnne9BattleText2: ; 61c60 (18:5c60)
 	TX_FAR _SSAnne9BattleText2
 	db $50
 ; 0x61c60 + 5 bytes
 
-SSAnne9EndBattleText2: ; 0x61c65
+SSAnne9EndBattleText2: ; 61c65 (18:5c65)
 	TX_FAR _SSAnne9EndBattleText2
 	db $50
 ; 0x61c65 + 5 bytes
 
-SSAnne9AfterBattleText2: ; 0x61c6a
+SSAnne9AfterBattleText2: ; 61c6a (18:5c6a)
 	TX_FAR _SSAnne9AfterBattleText2
 	db $50
 ; 0x61c6a + 5 bytes
 
-SSAnne9BattleText3: ; 0x61c6f
+SSAnne9BattleText3: ; 61c6f (18:5c6f)
 	TX_FAR _SSAnne9BattleText3
 	db $50
 ; 0x61c6f + 5 bytes
 
-SSAnne9EndBattleText3: ; 0x61c74
+SSAnne9EndBattleText3: ; 61c74 (18:5c74)
 	TX_FAR _SSAnne9EndBattleText3
 	db $50
 ; 0x61c74 + 5 bytes
 
-SSAnne9AfterBattleText3: ; 0x61c79
+SSAnne9AfterBattleText3: ; 61c79 (18:5c79)
 	TX_FAR _SSAnne9AfterBattleText3
 	db $50
 ; 0x61c79 + 5 bytes
 
-SSAnne9BattleText4: ; 0x61c7e
+SSAnne9BattleText4: ; 61c7e (18:5c7e)
 	TX_FAR _SSAnne9BattleText4
 	db $50
 ; 0x61c7e + 5 bytes
 
-SSAnne9EndBattleText4: ; 0x61c83
+SSAnne9EndBattleText4: ; 61c83 (18:5c83)
 	TX_FAR _SSAnne9EndBattleText4
 	db $50
 ; 0x61c83 + 5 bytes
 
-SSAnne9AfterBattleText4: ; 0x61c88
+SSAnne9AfterBattleText4: ; 61c88 (18:5c88)
 	TX_FAR _SSAnne9AfterBattleText4
 	db $50
 ; 0x61c88 + 5 bytes
@@ -96200,24 +97137,24 @@
 
 	dw SSAnne10Object ; objects
 
-SSAnne10Script: ; 0x61d55
+SSAnne10Script: ; 61d55 (18:5d55)
 	call EnableAutoTextBoxDrawing
 	ld hl, SSAnne10TrainerHeaders
 	ld de, SSAnne10Script_Unknown61d68
-	ld a, [$d629]
-	call Func_3160
-	ld [$d629], a
+	ld a, [W_SSANNE10CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SSANNE10CURSCRIPT], a
 	ret
 ; 0x61d68
 
-SSAnne10Script_Unknown61d68: ; 0x61d68
-INCBIN "baserom.gbc",$61d68,$6
+SSAnne10Script_Unknown61d68: ; 61d68 (18:5d68)
+INCBIN "baserom.gbc",$61d68,$61d6e - $61d68
 
-SSAnne10Texts: ; 0x61d6e
+SSAnne10Texts: ; 61d6e (18:5d6e)
 	dw SSAnne10Text1, SSAnne10Text2, SSAnne10Text3, SSAnne10Text4, SSAnne10Text5, SSAnne10Text6, SSAnne10Text7, SSAnne10Text8, Predef5CText, Predef5CText, Predef5CText
 
-SSAnne10TrainerHeaders:
-SSAnne10TrainerHeader0: ; 0x61d84
+SSAnne10TrainerHeaders: ; 61d84 (18:5d84)
+SSAnne10TrainerHeader0: ; 61d84 (18:5d84)
 	db $1 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d809 ; flag's byte
@@ -96227,7 +97164,7 @@
 	dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle
 ; 0x61d90
 
-SSAnne10TrainerHeader1: ; 0x61d90
+SSAnne10TrainerHeader1: ; 61d90 (18:5d90)
 	db $2 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d809 ; flag's byte
@@ -96237,7 +97174,7 @@
 	dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle
 ; 0x61d9c
 
-SSAnne10TrainerHeader2: ; 0x61d9c
+SSAnne10TrainerHeader2: ; 61d9c (18:5d9c)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d809 ; flag's byte
@@ -96247,7 +97184,7 @@
 	dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle
 ; 0x61da8
 
-SSAnne10TrainerHeader3: ; 0x61da8
+SSAnne10TrainerHeader3: ; 61da8 (18:5da8)
 	db $4 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d809 ; flag's byte
@@ -96257,7 +97194,7 @@
 	dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle
 ; 0x61db4
 
-SSAnne10TrainerHeader4: ; 0x61db4
+SSAnne10TrainerHeader4: ; 61db4 (18:5db4)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d809 ; flag's byte
@@ -96267,7 +97204,7 @@
 	dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle
 ; 0x61dc0
 
-SSAnne10TrainerHeader5: ; 0x61dc0
+SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d809 ; flag's byte
@@ -96279,43 +97216,43 @@
 
 db $ff
 
-SSAnne10Text1: ; 0x61dcd
+SSAnne10Text1: ; 61dcd (18:5dcd)
 	db $08 ; asm
 	ld hl, SSAnne10TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne10Text2: ; 0x61dd7
+SSAnne10Text2: ; 61dd7 (18:5dd7)
 	db $08 ; asm
 	ld hl, SSAnne10TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne10Text3: ; 0x61de1
+SSAnne10Text3: ; 61de1 (18:5de1)
 	db $08 ; asm
 	ld hl, SSAnne10TrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne10Text4: ; 0x61deb
+SSAnne10Text4: ; 61deb (18:5deb)
 	db $08 ; asm
 	ld hl, SSAnne10TrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne10Text5: ; 0x61df5
+SSAnne10Text5: ; 61df5 (18:5df5)
 	db $08 ; asm
 	ld hl, SSAnne10TrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne10Text6: ; 0x61dff
+SSAnne10Text6: ; 61dff (18:5dff)
 	db $08 ; asm
 	ld hl, SSAnne10TrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SSAnne10Text8: ; 0x61e09
+SSAnne10Text8: ; 61e09 (18:5e09)
 	TX_FAR _SSAnne10Text8
 	db $8 ; 0x61e0d
 	ld a, MACHOKE
@@ -96322,97 +97259,97 @@
 	call PlayCry
 	jp TextScriptEnd
 
-SSAnne10BattleText1: ; 0x61e16
+SSAnne10BattleText1: ; 61e16 (18:5e16)
 	TX_FAR _SSAnne10BattleText1
 	db $50
 ; 0x61e16 + 5 bytes
 
-SSAnne10EndBattleText1: ; 0x61e1b
+SSAnne10EndBattleText1: ; 61e1b (18:5e1b)
 	TX_FAR _SSAnne10EndBattleText1
 	db $50
 ; 0x61e1b + 5 bytes
 
-SSAnne10AfterBattleText1: ; 0x61e20
+SSAnne10AfterBattleText1: ; 61e20 (18:5e20)
 	TX_FAR _SSAnne10AfterBattleText1
 	db $50
 ; 0x61e20 + 5 bytes
 
-SSAnne10BattleText2: ; 0x61e25
+SSAnne10BattleText2: ; 61e25 (18:5e25)
 	TX_FAR _SSAnne10BattleText2
 	db $50
 ; 0x61e25 + 5 bytes
 
-SSAnne10EndBattleText2: ; 0x61e2a
+SSAnne10EndBattleText2: ; 61e2a (18:5e2a)
 	TX_FAR _SSAnne10EndBattleText2
 	db $50
 ; 0x61e2a + 5 bytes
 
-SSAnne10AfterBattleText2: ; 0x61e2f
+SSAnne10AfterBattleText2: ; 61e2f (18:5e2f)
 	TX_FAR _SSAnne10AfterBattleText2
 	db $50
 ; 0x61e2f + 5 bytes
 
-SSAnne10BattleText3: ; 0x61e34
+SSAnne10BattleText3: ; 61e34 (18:5e34)
 	TX_FAR _SSAnne10BattleText3
 	db $50
 ; 0x61e34 + 5 bytes
 
-SSAnne10EndBattleText3: ; 0x61e39
+SSAnne10EndBattleText3: ; 61e39 (18:5e39)
 	TX_FAR _SSAnne10EndBattleText3
 	db $50
 ; 0x61e39 + 5 bytes
 
-SSAnne10AfterBattleText3: ; 0x61e3e
+SSAnne10AfterBattleText3: ; 61e3e (18:5e3e)
 	TX_FAR _SSAnne10AfterBattleText3
 	db $50
 ; 0x61e3e + 5 bytes
 
-SSAnne10BattleText4: ; 0x61e43
+SSAnne10BattleText4: ; 61e43 (18:5e43)
 	TX_FAR _SSAnne10BattleText4
 	db $50
 ; 0x61e43 + 5 bytes
 
-SSAnne10EndBattleText4: ; 0x61e48
+SSAnne10EndBattleText4: ; 61e48 (18:5e48)
 	TX_FAR _SSAnne10EndBattleText4
 	db $50
 ; 0x61e48 + 5 bytes
 
-SSAnne10AfterBattleText4: ; 0x61e4d
+SSAnne10AfterBattleText4: ; 61e4d (18:5e4d)
 	TX_FAR _SSAnne10AfterBattleText4
 	db $50
 ; 0x61e4d + 5 bytes
 
-SSAnne10BattleText5: ; 0x61e52
+SSAnne10BattleText5: ; 61e52 (18:5e52)
 	TX_FAR _SSAnne10BattleText5
 	db $50
 ; 0x61e52 + 5 bytes
 
-SSAnne10EndBattleText5: ; 0x61e57
+SSAnne10EndBattleText5: ; 61e57 (18:5e57)
 	TX_FAR _SSAnne10EndBattleText5
 	db $50
 ; 0x61e57 + 5 bytes
 
-SSAnne10AfterBattleText5: ; 0x61e5c
+SSAnne10AfterBattleText5: ; 61e5c (18:5e5c)
 	TX_FAR _SSAnne10AfterBattleText5
 	db $50
 ; 0x61e5c + 5 bytes
 
-SSAnne10BattleText6: ; 0x61e61
+SSAnne10BattleText6: ; 61e61 (18:5e61)
 	TX_FAR _SSAnne10BattleText6
 	db $50
 ; 0x61e61 + 5 bytes
 
-SSAnne10EndBattleText6: ; 0x61e66
+SSAnne10EndBattleText6: ; 61e66 (18:5e66)
 	TX_FAR _SSAnne10EndBattleText6
 	db $50
 ; 0x61e66 + 5 bytes
 
-SSAnne10AfterBattleText6: ; 0x61e6b
+SSAnne10AfterBattleText6: ; 61e6b (18:5e6b)
 	TX_FAR _SSAnne10AfterBattleText6
 	db $50
 ; 0x61e6b + 5 bytes
 
-SSAnne10Text7: ; 0x61e70
+SSAnne10Text7: ; 61e70 (18:5e70)
 	TX_FAR _SSAnne10Text7
 	db $50
 
@@ -96466,11 +97403,11 @@
 
 	dw UndergroundPathNSObject ; objects
 
-UndergroundPathNSScript: ; 0x61f26
+UndergroundPathNSScript: ; 61f26 (18:5f26)
 	jp EnableAutoTextBoxDrawing
 ; 0x61f29
 
-UndergroundPathNSTexts:
+UndergroundPathNSTexts: ; 61f29 (18:5f29)
 	db $50
 
 UndergroundPathNSObject: ; 0x61f2a (size=20)
@@ -96496,11 +97433,11 @@
 
 	dw UndergroundPathWEObject ; objects
 
-UndergroundPathWEScript: ; 0x61f4a
+UndergroundPathWEScript: ; 61f4a (18:5f4a)
 	jp EnableAutoTextBoxDrawing
 ; 0x61f4d
 
-UndergroundPathWETexts:
+UndergroundPathWETexts: ; 61f4d (18:5f4d)
 	db $50
 
 UndergroundPathWEObject: ; 0x61f4e (size=20)
@@ -96526,11 +97463,11 @@
 
 	dw DiglettsCaveObject ; objects
 
-DiglettsCaveScript: ; 0x61f6e
+DiglettsCaveScript: ; 61f6e (18:5f6e)
 	jp EnableAutoTextBoxDrawing
 ; 0x61f71
 
-DiglettsCaveTexts:
+DiglettsCaveTexts: ; 61f71 (18:5f71)
 	db $50
 
 DiglettsCaveObject: ; 0x61f72 (size=20)
@@ -96548,7 +97485,7 @@
 	EVENT_DISP $14, $5, $5 ; DIGLETTS_CAVE_EXIT
 	EVENT_DISP $14, $1f, $25 ; DIGLETTS_CAVE_ENTRANCE
 
-DiglettsCaveBlocks: ; 0x61f86 360
+DiglettsCaveBlocks: ; 61f86 (18:5f86)
 	INCBIN "maps/diglettscave.blk"
 
 SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235)
@@ -96559,23 +97496,23 @@
 
 	dw SilphCo11Object ; objects
 
-SilphCo11Script: ; 0x620fa
+SilphCo11Script: ; 620fa (18:60fa)
 	call SilphCo11Script_Unknown62110
 	call EnableAutoTextBoxDrawing
 	ld hl, SilphCo11TrainerHeaders
-	ld de, $61cf
-	ld a, [$d659]
-	call Func_3160
-	ld [$d659], a
+	ld de, Unknown_621cf ; $61cf
+	ld a, [W_SILPHCO11CURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_SILPHCO11CURSCRIPT], a
 	ret
 ; 0x62110
 
-SilphCo11Script_Unknown62110: ; 0x62110
+SilphCo11Script_Unknown62110: ; 62110 (18:6110)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
 	ret z
-	ld hl, $6134
+	ld hl, Unknown_62134 ; $6134
 	call Func_62137
 	call Func_62163
 	ld a, [$d838]
@@ -96587,6 +97524,7 @@
 	ld a, $17
 	jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
 
+Unknown_62134: ; 62134 (18:6134)
 INCBIN "baserom.gbc",$62134,$62137 - $62134
 
 ; known jump sources: 6211b (18:611b)
@@ -96637,7 +97575,7 @@
 
 ; known jump sources: 62252 (18:6252)
 Func_6216d: ; 6216d (18:616d)
-	ld hl, $619b
+	ld hl, Unknown_6219b ; $619b
 .asm_62170
 	ld a, [hli]
 	cp $ff
@@ -96649,7 +97587,7 @@
 	pop hl
 	jr .asm_62170
 .asm_62181
-	ld hl, $6194
+	ld hl, Unknown_62194 ; $6194
 .asm_62184
 	ld a, [hli]
 	cp $ff
@@ -96661,32 +97599,37 @@
 	pop hl
 	jr .asm_62184
 
-INCBIN "baserom.gbc",$62194,$621c4 - $62194
+Unknown_62194: ; 62194 (18:6194)
+INCBIN "baserom.gbc",$62194,$6219b - $62194
 
+Unknown_6219b: ; 6219b (18:619b)
+INCBIN "baserom.gbc",$6219b,$621c4 - $6219b
+
 ; known jump sources: 6222c (18:622c)
 Func_621c4: ; 621c4 (18:61c4)
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 
 ; known jump sources: 6220e (18:620e), 62267 (18:6267), 62290 (18:6290), 622b4 (18:62b4)
 Func_621c8: ; 621c8 (18:61c8)
-	ld [$d659], a
-	ld [$da39], a
+	ld [W_SILPHCO11CURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
+Unknown_621cf: ; 621cf (18:61cf)
 INCBIN "baserom.gbc",$621cf,$621db - $621cf
 	ld a, [$d838]
 	bit 7, a
 	ret nz
-	ld hl, $6211
+	ld hl, Unknown_62211 ; $6211
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	ld a, [W_WHICHTRADE] ; $cd3d
 	ld [$cf0d], a
 	xor a
-	ld [$FF00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $3
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -96693,13 +97636,17 @@
 	ld a, $3
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call SetSpriteMovementBytesToFF
-	ld de, $6216
+	ld de, Unknown_62216 ; $6216
 	call MoveSprite
 	ld a, $3
 	jp Func_621c8
 
-INCBIN "baserom.gbc",$62211,$6221a - $62211
+Unknown_62211: ; 62211 (18:6211)
+INCBIN "baserom.gbc",$62211,$62216 - $62211
 
+Unknown_62216: ; 62216 (18:6216)
+INCBIN "baserom.gbc",$62216,$6221a - $62216
+
 ; known jump sources: 62240 (18:6240), 62288 (18:6288)
 Func_6221a: ; 6221a (18:621a)
 	ld [$d528], a
@@ -96723,7 +97670,7 @@
 .asm_62240
 	call Func_6221a
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $6
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -96735,7 +97682,7 @@
 	ld hl, $d838
 	set 7, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	jp Func_621c8
 	ld a, [$d730]
 	bit 0, a
@@ -96760,23 +97707,23 @@
 	ld hl, $d72d
 	set 6, [hl]
 	set 7, [hl]
-	ld hl, $6330
-	ld de, $6330
-	call Func_3354
+	ld hl, UnnamedText_62330 ; $6330
+	ld de, UnnamedText_62330 ; $6330
+	call PreBattleSaveRegisters
 	ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $5
 	jp Func_621c8
 ; 622b7 (18:62b7)
-SilphCo11Texts: ; 0x622b7
+SilphCo11Texts: ; 622b7 (18:62b7)
 	dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6
 
-SilphCo11TrainerHeaders:
-SilphCo11TrainerHeader0: ; 0x622c3
+SilphCo11TrainerHeaders: ; 622c3 (18:62c3)
+SilphCo11TrainerHeader0: ; 622c3 (18:62c3)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d837 ; flag's byte
@@ -96786,7 +97733,7 @@
 	dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle
 ; 0x622cf
 
-SilphCo11TrainerHeader1: ; 0x622cf
+SilphCo11TrainerHeader1: ; 622cf (18:62cf)
 	db $5 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d837 ; flag's byte
@@ -96798,7 +97745,7 @@
 
 db $ff
 
-SilphCo11Text1: ; 0x622dc
+SilphCo11Text1: ; 622dc (18:62dc)
 	db $08 ; asm
 	ld a, [$d838]
 	bit 5, a
@@ -96823,87 +97770,87 @@
 .asm_fd405 ; 0x6230e
 	jp TextScriptEnd
 
-SilphCoPresidentText: ; 0x62311
+SilphCoPresidentText: ; 62311 (18:6311)
 	TX_FAR _SilphCoPresidentText
 	db $50
 ; 0x62311 + 5 bytes
 
-ReceivedSilphCoMasterBallText: ; 0x62316
+ReceivedSilphCoMasterBallText: ; 62316 (18:6316)
 	TX_FAR _ReceivedSilphCoMasterBallText ; 0x84f63
 	db $11, $50
 ; 0x62316 + 6 bytes = 0x6231c
 
-UnnamedText_6231c: ; 0x6231c
+UnnamedText_6231c: ; 6231c (18:631c)
 	TX_FAR _UnnamedText_6231c
 	db $50
 ; 0x6231c + 5 bytes
 
-SilphCoMasterBallNoRoomText: ; 0x62321
+SilphCoMasterBallNoRoomText: ; 62321 (18:6321)
 	TX_FAR _SilphCoMasterBallNoRoomText
 	db $50
 ; 0x62321 + 5 bytes
 
-SilphCo11Text2: ; 0x62326
+SilphCo11Text2: ; 62326 (18:6326)
 	TX_FAR _SilphCo11Text2
 	db $50
 
-SilphCo11Text3: ; 0x6232b
+SilphCo11Text3: ; 6232b (18:632b)
 	TX_FAR _SilphCo11Text3
 	db $50
 
-UnnamedText_62330: ; 0x62330
+UnnamedText_62330: ; 62330 (18:6330)
 	TX_FAR _UnnamedText_62330
 	db $50
 ; 0x62330 + 5 bytes
 
-SilphCo11Text6: ; 0x62335
+SilphCo11Text6: ; 62335 (18:6335)
 	TX_FAR _UnnamedText_62335
 	db $50
 ; 0x62335 + 5 bytes
 
-SilphCo11Text4: ; 0x6233a
+SilphCo11Text4: ; 6233a (18:633a)
 	db $08 ; asm
 	ld hl, SilphCo11TrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo11BattleText1: ; 0x62344
+SilphCo11BattleText1: ; 62344 (18:6344)
 	TX_FAR _SilphCo11BattleText1
 	db $50
 ; 0x62344 + 5 bytes
 
-SilphCo11EndBattleText1: ; 0x62349
+SilphCo11EndBattleText1: ; 62349 (18:6349)
 	TX_FAR _SilphCo11EndBattleText1
 	db $50
 ; 0x62349 + 5 bytes
 
-SilphCo11AfterBattleText1: ; 0x6234e
+SilphCo11AfterBattleText1: ; 6234e (18:634e)
 	TX_FAR _SilphCo11AfterBattleText1
 	db $50
 ; 0x6234e + 5 bytes
 
-SilphCo11Text5: ; 0x62353
+SilphCo11Text5: ; 62353 (18:6353)
 	db $08 ; asm
 	ld hl, SilphCo11TrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-SilphCo11BattleText2: ; 0x6235d
+SilphCo11BattleText2: ; 6235d (18:635d)
 	TX_FAR _SilphCo11BattleText2
 	db $50
 ; 0x6235d + 5 bytes
 
-SilphCo11EndBattleText2: ; 0x62362
+SilphCo11EndBattleText2: ; 62362 (18:6362)
 	TX_FAR _SilphCo11EndBattleText2
 	db $50
 ; 0x62362 + 5 bytes
 
-SilphCo11AfterBattleText2: ; 0x62367
+SilphCo11AfterBattleText2: ; 62367 (18:6367)
 	TX_FAR _SilphCo11AfterBattleText2
 	db $50
 ; 0x62367 + 5 bytes
 
-UnknownText_6236c: ; 0x6236c
+UnknownText_6236c: ; 6236c (18:636c)
 	db $8
 	ld hl, UnnamedText_6237b
 	call PrintText
@@ -96912,7 +97859,7 @@
 	jp TextScriptEnd
 ; 0x6237b
 
-UnnamedText_6237b: ; 0x6237b
+UnnamedText_6237b: ; 6237b (18:637b)
 	TX_FAR _UnnamedText_6237b
 	db $50
 ; 0x6237b + 5 bytes
@@ -96941,10 +97888,10 @@
 	EVENT_DISP $9, $5, $5
 	EVENT_DISP $9, $2, $3 ; SILPH_CO_7F
 
-SilphCo11Blocks: ; 0x623c8 81
+SilphCo11Blocks: ; 623c8 (18:63c8)
 	INCBIN "maps/silphco11.blk"
 
-GymStatues: ; 0x62419
+GymStatues: ; 62419 (18:6419)
 ; if in a gym and have the corresponding badge, a = $D and jp Func_3ef5
 ; if in a gym and don’t have the corresponding badge, a = $C and jp Func_3ef5
 ; else ret 
@@ -96974,7 +97921,7 @@
 .asm_6243f
 	jp Func_3ef5
 
-.BadgeFlags:
+.BadgeFlags: ; 62442 (18:6442)
 	db PEWTER_GYM,   %00000001
 	db CERULEAN_GYM, %00000010
 	db VERMILION_GYM,%00000100
@@ -96985,12 +97932,12 @@
 	db VIRIDIAN_GYM, %10000000
 	db $ff
 
-UnnamedText_62453: ; 0x62453
+UnnamedText_62453: ; 62453 (18:6453)
 	TX_FAR _UnnamedText_62453
 	db $50
 ; 0x62453 + 5 bytes
 
-UnnamedText_62458: ; 0x62458
+UnnamedText_62458: ; 62458 (18:6458)
 	TX_FAR _UnnamedText_62458
 	db $50
 ; 0x62458 + 5 bytes
@@ -96997,72 +97944,72 @@
 
 INCBIN "baserom.gbc",$6245d,$624a3 - $6245d
 
-UnnamedText_624a3: ; 0x624a3
+UnnamedText_624a3: ; 624a3 (18:64a3)
 	TX_FAR _UnnamedText_624a3
 	db $50
 ; 0x624a3 + 5 bytes
 
-UnnamedText_624a8: ; 0x624a8
+UnnamedText_624a8: ; 624a8 (18:64a8)
 	TX_FAR _UnnamedText_624a8
 	db $50
 ; 0x624a8 + 5 bytes
 
-UnnamedText_624ad: ; 0x624ad
+UnnamedText_624ad: ; 624ad (18:64ad)
 	TX_FAR _UnnamedText_624ad
 	db $50
 ; 0x624ad + 5 bytes
 
-UnnamedText_624b2: ; 0x624b2
+UnnamedText_624b2: ; 624b2 (18:64b2)
 	TX_FAR _UnnamedText_624b2
 	db $50
 ; 0x624b2 + 5 bytes
 
-UnnamedText_624b7: ; 0x624b7
+UnnamedText_624b7: ; 624b7 (18:64b7)
 	TX_FAR _UnnamedText_624b7
 	db $50
 ; 0x624b7 + 5 bytes
 
-UnnamedText_624bc: ; 0x624bc
+UnnamedText_624bc: ; 624bc (18:64bc)
 	TX_FAR _UnnamedText_624bc
 	db $50
 ; 0x624bc + 5 bytes
 
-UnnamedText_624c1: ; 0x624c1
+UnnamedText_624c1: ; 624c1 (18:64c1)
 	TX_FAR _UnnamedText_624c1
 	db $50
 ; 0x624c1 + 5 bytes
 
-UnnamedText_624c6: ; 0x624c6
+UnnamedText_624c6: ; 624c6 (18:64c6)
 	TX_FAR _UnnamedText_624c6
 	db $50
 ; 0x624c6 + 5 bytes
 
-UnnamedText_624cb: ; 0x624cb
+UnnamedText_624cb: ; 624cb (18:64cb)
 	TX_FAR _UnnamedText_624cb
 	db $50
 ; 0x624cb + 5 bytes
 
-UnnamedText_624d0: ; 0x624d0
+UnnamedText_624d0: ; 624d0 (18:64d0)
 	TX_FAR _UnnamedText_624d0
 	db $50
 ; 0x624d0 + 5 bytes
 
-UnnamedText_624d5: ; 0x624d5
+UnnamedText_624d5: ; 624d5 (18:64d5)
 	TX_FAR _UnnamedText_624d5
 	db $50
 ; 0x624d5 + 5 bytes
 
-UnnamedText_624da: ; 0x624da
+UnnamedText_624da: ; 624da (18:64da)
 	TX_FAR _UnnamedText_624da
 	db $50
 ; 0x624da + 5 bytes
 
-UnnamedText_624df: ; 0x624df
+UnnamedText_624df: ; 624df (18:64df)
 	TX_FAR _UnnamedText_624df
 	db $50
 ; 0x624df + 5 bytes
 
-UnnamedText_624e4: ; 0x624e4
+UnnamedText_624e4: ; 624e4 (18:64e4)
 	db $8
 	ld a, [$d838]
 	bit 7, a
@@ -97074,17 +98021,17 @@
 	jp TextScriptEnd
 ; 0x624f8
 
-UnnamedText_624f8: ; 0x624f8
+UnnamedText_624f8: ; 624f8 (18:64f8)
 	TX_FAR _UnnamedText_624f8
 	db $50
 ; 0x624f8 + 5 bytes
 
-UnnamedText_624fd: ; 0x624fd
+UnnamedText_624fd: ; 624fd (18:64fd)
 	TX_FAR _UnnamedText_624fd
 	db $50
 ; 0x624fd + 5 bytes
 
-UnnamedText_62502: ; 0x62502
+UnnamedText_62502: ; 62502 (18:6502)
 	TX_FAR _UnnamedText_62502
 	db $50
 ; 0x62502 + 5 bytes
@@ -97091,7 +98038,7 @@
 
 INCBIN "baserom.gbc",$62507,$62511 - $62507
 
-UnnamedText_62511: ; 0x62511
+UnnamedText_62511: ; 62511 (18:6511)
 	TX_FAR _UnnamedText_62511
 	db $50
 ; 0x62511 + 5 bytes
@@ -97109,38 +98056,38 @@
 
 SECTION "bank19",DATA,BANK[$19]
 
-Tset00_GFX:
+Tset00_GFX: ; 64000 (19:4000)
 	INCBIN "gfx/tilesets/00.2bpp"
-Tset00_Block:
+Tset00_Block: ; 645e0 (19:45e0)
 	INCBIN "gfx/blocksets/00.bst"
-Tset01_GFX:
+Tset01_GFX: ; 64de0 (19:4de0)
 	INCBIN "gfx/tilesets/01.2bpp"
-Tset01_Block:
+Tset01_Block: ; 65270 (19:5270)
 	INCBIN "gfx/blocksets/01.bst"
-Tset08_GFX:
+Tset08_GFX: ; 653a0 (19:53a0)
 	INCBIN "gfx/tilesets/08.2bpp"
-Tset08_Block:
+Tset08_Block: ; 65980 (19:5980)
 	INCBIN "gfx/blocksets/08.bst"
-Tset13_GFX:
+Tset13_GFX: ; 65bb0 (19:5bb0)
 	INCBIN "gfx/tilesets/13.2bpp"
-Tset13_Block:
+Tset13_Block: ; 66190 (19:6190)
 	INCBIN "gfx/blocksets/13.bst"
-Tset0E_GFX:
+Tset0E_GFX: ; 66610 (19:6610)
 	INCBIN "gfx/tilesets/0e.2bpp"
-Tset0E_Block:
+Tset0E_Block: ; 66bf0 (19:6bf0)
 	INCBIN "gfx/blocksets/0e.bst"
-Tset10_GFX:
+Tset10_GFX: ; 66d60 (19:6d60)
 	INCBIN "gfx/tilesets/10.2bpp"
-Tset10_Block:
+Tset10_Block: ; 67350 (19:7350)
 	INCBIN "gfx/blocksets/10.bst"
-Tset17_GFX:
+Tset17_GFX: ; 676f0 (19:76f0)
 	INCBIN "gfx/tilesets/17.2bpp"
-Tset17_Block:
+Tset17_Block: ; 67b50 (19:7b50)
 	INCBIN "gfx/blocksets/17.bst"
 
 SECTION "bank1A",DATA,BANK[$1A]
 
-DecrementPP: ; 0x68000
+DecrementPP: ; 68000 (1a:4000)
 ; after using a move, decrement pp in battle and (if not transformed?) in party
 	ld a, [de]
 	cp a, STRUGGLE
@@ -97182,7 +98129,7 @@
 	ret
 ; 0x6802f
 
-Version_GFX:
+Version_GFX: ; 6802f (1a:402f)
 IF _RED
 	INCBIN "gfx/red/redgreenversion.1bpp"
 	; 80 bytes
@@ -97192,56 +98139,56 @@
 	; 64 bytes
 ENDC
 
-Tset05_GFX:
+Tset05_GFX: ; 6807f (1a:407f)
 	INCBIN "gfx/tilesets/05.2bpp"
-Tset05_Block:
+Tset05_Block: ; 6867f (1a:467f)
 	INCBIN "gfx/blocksets/05.bst"
-Tset02_GFX:
+Tset02_GFX: ; 68dbf (1a:4dbf)
 	INCBIN "gfx/tilesets/02.2bpp"
-Tset02_Block:
+Tset02_Block: ; 693bf (1a:53bf)
 	INCBIN "gfx/blocksets/02.bst"
-Tset09_GFX:
+Tset09_GFX: ; 6960f (1a:560f)
 	INCBIN "gfx/tilesets/09.2bpp"
-Tset09_Block:
+Tset09_Block: ; 69bff (1a:5bff)
 	INCBIN "gfx/blocksets/09.bst"
-Tset03_GFX:
+Tset03_GFX: ; 6a3ff (1a:63ff)
 	INCBIN "gfx/tilesets/03.2bpp"
-Tset03_Block:
+Tset03_Block: ; 6a9ff (1a:69ff)
 	INCBIN "gfx/blocksets/03.bst"
-Tset16_GFX:
+Tset16_GFX: ; 6b1ff (1a:71ff)
 	INCBIN "gfx/tilesets/16.2bpp"
-Tset16_Block:
+Tset16_Block: ; 6b7ff (1a:77ff)
 	INCBIN "gfx/blocksets/16.bst"
 
 SECTION "bank1B",DATA,BANK[$1B]
 
-Tset0F_GFX:
+Tset0F_GFX: ; 6c000 (1b:4000)
 	INCBIN "gfx/tilesets/0f.2bpp"
-Tset0F_Block:
+Tset0F_Block: ; 6c5c0 (1b:45c0)
 	INCBIN "gfx/blocksets/0f.bst"
-Tset11_GFX:
+Tset11_GFX: ; 6cca0 (1b:4ca0)
 	INCBIN "gfx/tilesets/11.2bpp"
-Tset11_Block:
+Tset11_Block: ; 6d0c0 (1b:50c0)
 	INCBIN "gfx/blocksets/11.bst"
-Tset12_GFX:
+Tset12_GFX: ; 6d8c0 (1b:58c0)
 	INCBIN "gfx/tilesets/12.2bpp"
-Tset12_Block:
+Tset12_Block: ; 6dea0 (1b:5ea0)
 	INCBIN "gfx/blocksets/12.bst"
-Tset0D_GFX:
+Tset0D_GFX: ; 6e390 (1b:6390)
 	INCBIN "gfx/tilesets/0d.2bpp"
-Tset0D_Block:
+Tset0D_Block: ; 6e930 (1b:6930)
 	INCBIN "gfx/blocksets/0d.bst"
-Tset14_GFX:
+Tset14_GFX: ; 6ed10 (1b:6d10)
 	INCBIN "gfx/tilesets/14.2bpp"
-Tset14_Block:
+Tset14_Block: ; 6f2d0 (1b:72d0)
 	INCBIN "gfx/blocksets/14.bst"
-Tset15_GFX:
+Tset15_GFX: ; 6f670 (1b:7670)
 	INCBIN "gfx/tilesets/15.2bpp"
-Tset15_Block:
+Tset15_Block: ; 6fb20 (1b:7b20)
 	INCBIN "gfx/blocksets/15.bst"
-Tset0B_GFX:
+Tset0B_GFX: ; 6fd60 (1b:7d60)
 	INCBIN "gfx/tilesets/0b.2bpp"
-Tset0B_Block:
+Tset0B_Block: ; 6fef0 (1b:7ef0)
 	INCBIN "gfx/blocksets/0b.bst"
 
 SECTION "bank1C",DATA,BANK[$1C]
@@ -97252,24 +98199,24 @@
 	ld [rOBP0], a ; $FF00+$48
 	ld a, $a4
 	ld [rOBP1], a ; $FF00+$49
-	ld de, $471e
+	ld de, AnimationTileset2 + $30 ; $471e ; star tile (top left quadrant)
 	ld hl, $8a00
-	ld bc, $1e01
+	ld bc, (BANK(AnimationTileset2) << 8) + $01
 	call CopyVideoData
-	ld de, $481e
+	ld de, AnimationTileset2 + $130 ; $481e ; star tile (bottom left quadrant)
 	ld hl, $8a10
-	ld bc, $1e01
+	ld bc, (BANK(AnimationTileset2) << 8) + $01
 	call CopyVideoData
-	ld de, $4190
+	ld de, Unknown_70190 ; $4190
 	ld hl, $8a20
-	ld bc, $1c01
+	ld bc, (BANK(Unknown_70190) << 8) + $01
 	call CopyVideoData
-	ld hl, $4140
+	ld hl, Unknown_70140 ; $4140
 	ld de, $c360
 	ld bc, $40
 	call CopyData
-	ld hl, $4180
-	ld de, $c300
+	ld hl, Unknown_70180 ; $4180
+	ld de, W_OAMBUFFER
 	ld bc, $10
 	jp CopyData
 
@@ -97278,7 +98225,7 @@
 	call Func_70000
 	ld a, $c2
 	call PlaySound
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld bc, $a004
 .asm_70052
 	push hl
@@ -97306,7 +98253,7 @@
 .asm_70070
 	cp b
 	jr nz, .asm_70052
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld c, $4
 	ld de, $4
 .asm_7007b
@@ -97324,11 +98271,11 @@
 	ret c
 	dec b
 	jr nz, .asm_70083
-	ld de, $c300
+	ld de, W_OAMBUFFER
 	ld a, $18
 .asm_70098
 	push af
-	ld hl, $40ee
+	ld hl, Unknown_700ee ; $40ee
 	ld bc, $4
 	call CopyData
 	pop af
@@ -97336,7 +98283,7 @@
 	jr nz, .asm_70098
 	xor a
 	ld [W_WHICHTRADE], a ; $cd3d
-	ld hl, $40f2
+	ld hl, Unknown_700f2 ; $40f2
 	ld c, $6
 .asm_700af
 	ld a, [hli]
@@ -97369,7 +98316,7 @@
 	call Func_7011f
 	push af
 	ld hl, $c310
-	ld de, $c300
+	ld de, W_OAMBUFFER
 	ld bc, $50
 	call CopyData
 	pop af
@@ -97381,8 +98328,12 @@
 	and a
 	ret
 
-INCBIN "baserom.gbc",$700ee,$7011f - $700ee
+Unknown_700ee: ; 700ee (1c:40ee)
+INCBIN "baserom.gbc",$700ee,$700f2 - $700ee
 
+Unknown_700f2: ; 700f2 (1c:40f2)
+INCBIN "baserom.gbc",$700f2,$7011f - $700f2
+
 ; known jump sources: 700d5 (1c:40d5)
 Func_7011f: ; 7011f (1c:411f)
 	ld b, $8
@@ -97406,8 +98357,15 @@
 	jr nz, .asm_70121
 	ret
 
-INCBIN "baserom.gbc",$70140,$701a0 - $70140
+Unknown_70140: ; 70140 (1c:4140)
+INCBIN "baserom.gbc",$70140,$70180 - $70140
 
+Unknown_70180: ; 70180 (1c:4180)
+INCBIN "baserom.gbc",$70180,$70190 - $70180
+
+Unknown_70190: ; 70190 (1c:4190)
+INCBIN "baserom.gbc",$70190,$701a0 - $70190
+
 ; known jump sources: 74061 (1d:4061)
 Func_701a0: ; 701a0 (1c:41a0)
 	call Func_70423
@@ -97468,12 +98426,14 @@
 	call Func_702e1
 	ld c, $50
 	call DelayFrames
-	ld hl, $c4a6
+	FuncCoord 2, 13 ; $c4a6
+	ld hl, Coord
 	ld b, $3
 	ld c, $e
 	call TextBoxBorder
-	ld hl, $c4d0
-	ld de, $426b
+	FuncCoord 4, 15 ; $c4d0
+	ld hl, Coord
+	ld de, Unknown_7026b ; $426b
 	call PlaceString
 	ld c, $b4
 	call DelayFrames
@@ -97502,6 +98462,7 @@
 	res 3, [hl]
 	ret
 
+Unknown_7026b: ; 7026b (1c:426b)
 INCBIN "baserom.gbc",$7026b,$70278 - $7026b
 
 ; known jump sources: 70217 (1c:4217), 70259 (1c:4259)
@@ -97522,9 +98483,10 @@
 	call Func_7033e
 	jr .asm_702ab
 .asm_7029d
-	ld hl, $c410
+	FuncCoord 12, 5 ; $c410
+	ld hl, Coord
 	call GetMonHeader
-	call Func_1389
+	call LoadFrontSpriteByMonIndex
 	ld a, $4
 	call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103))
 .asm_702ab
@@ -97568,32 +98530,38 @@
 
 ; known jump sources: 702ea (1c:42ea), 7666d (1d:666d)
 Func_702f0: ; 702f0 (1c:42f0)
-	ld hl, $c3c8
+	FuncCoord 0, 2 ; $c3c8
+	ld hl, Coord
 	ld b, $9
 	ld c, $a
 	call TextBoxBorder
-	ld hl, $c41a
-	ld de, $4329
+	FuncCoord 2, 6 ; $c41a
+	ld hl, Coord
+	ld de, Unknown_70329 ; $4329
 	call PlaceString
-	ld hl, $c3f1
+	FuncCoord 1, 4 ; $c3f1
+	ld hl, Coord
 	ld de, $cd6d
 	call PlaceString
 	ld a, [$cd3f]
-	ld hl, $c434
+	FuncCoord 8, 7 ; $c434
+	ld hl, Coord
 	call PrintLevelCommon
 	ld a, [W_WHICHTRADE] ; $cd3d
 	ld [$d0b5], a
-	ld hl, $c457
+	FuncCoord 3, 9 ; $c457
+	ld hl, Coord
 	ld a, $4b
 	call Predef ; indirect jump to Func_27d6b (27d6b (9:7d6b))
 	ld a, [W_WHICHTRADE] ; $cd3d
 	jp PlayCry
 
+Unknown_70329: ; 70329 (1c:4329)
 INCBIN "baserom.gbc",$70329,$7033e - $70329
 
 ; known jump sources: 70298 (1c:4298)
 Func_7033e: ; 7033e (1c:433e)
-	ld de, $6ede
+	ld de, Unknown_72ede ; $6ede
 	ld a, $4
 	call UncompressSpriteFromDE
 	ld hl, S_SPRITEBUFFER1
@@ -97602,8 +98570,8 @@
 	call CopyData
 	ld de, $9000
 	call InterlaceMergeSpriteBuffers
-	ld de, $7e0a
-	ld a, $c
+	ld de, RedPicBack ; $7e0a
+	ld a, BANK(RedPicBack)
 	call UncompressSpriteFromDE
 	ld a, $3
 	call Predef ; indirect jump to ScaleSpriteByTwo (2fe40 (b:7e40))
@@ -97614,7 +98582,8 @@
 ; known jump sources: 702b8 (1c:42b8), 702ce (1c:42ce)
 Func_7036d: ; 7036d (1c:436d)
 	ld b, $0
-	ld hl, $c410
+	FuncCoord 12, 5 ; $c410
+	ld hl, Coord
 	ld a, $31
 	jp Predef ; indirect jump to Func_79dda (79dda (1e:5dda))
 
@@ -97624,21 +98593,26 @@
 	set 3, [hl]
 	ld a, $56
 	call Predef ; indirect jump to DisplayDexRating (44169 (11:4169))
-	ld hl, $c3f0
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	ld b, $6
 	ld c, $a
 	call TextBoxBorder
-	ld hl, $c3a5
+	FuncCoord 5, 0 ; $c3a5
+	ld hl, Coord
 	ld b, $2
 	ld c, $9
 	call TextBoxBorder
-	ld hl, $c3cf
+	FuncCoord 7, 2 ; $c3cf
+	ld hl, Coord
 	ld de, W_PLAYERNAME ; $d158
 	call PlaceString
-	ld hl, $c419
-	ld de, $43ea
+	FuncCoord 1, 6 ; $c419
+	ld hl, Coord
+	ld de, Unknown_703ea ; $43ea
 	call PlaceString
-	ld hl, $c431
+	FuncCoord 5, 7 ; $c431
+	ld hl, Coord
 	ld de, $da41
 	ld bc, $103
 	call PrintNumber
@@ -97647,16 +98621,18 @@
 	ld de, $da43
 	ld bc, $8102
 	call PrintNumber
-	ld hl, $c455
-	ld de, $43f4
+	FuncCoord 1, 9 ; $c455
+	ld hl, Coord
+	ld de, Unknown_703f4 ; $43f4
 	call PlaceString
-	ld hl, $c46c
+	FuncCoord 4, 10 ; $c46c
+	ld hl, Coord
 	ld de, W_PLAYERMONEY3 ; $d347
 	ld c, $a3
 	call PrintBCDNumber
-	ld hl, $43fa
+	ld hl, UnnamedText_703fa ; $43fa
 	call Func_703e2
-	ld hl, $43ff
+	ld hl, UnnamedText_703ff ; $43ff
 	call Func_703e2
 	ld hl, $cc5d
 
@@ -97666,14 +98642,18 @@
 	ld c, $78
 	jp DelayFrames
 
-INCBIN "baserom.gbc",$703ea,$703fa - $703ea
+Unknown_703ea: ; 703ea (1c:43ea)
+INCBIN "baserom.gbc",$703ea,$703f4 - $703ea
 
-UnnamedText_703fa: ; 0x703fa
+Unknown_703f4: ; 703f4 (1c:43f4)
+INCBIN "baserom.gbc",$703f4,$703fa - $703f4
+
+UnnamedText_703fa: ; 703fa (1c:43fa)
 	TX_FAR _UnnamedText_703fa
 	db $50
 ; 0x703fa + 5 bytes
 
-UnnamedText_703ff: ; 0x703ff
+UnnamedText_703ff: ; 703ff (1c:43ff)
 	TX_FAR _UnnamedText_703ff
 	db $50
 ; 0x703ff + 5 bytes
@@ -97705,9 +98685,9 @@
 
 ; known jump sources: 7027 (1:7027)
 Func_70433: ; 70433 (1c:4433)
-	ld de, $44b7
+	ld de, Unknown_704b7 ; $44b7
 	ld hl, $87c0
-	ld bc, $1c03
+	ld bc, (BANK(Unknown_704b7) << 8) + $03
 	call CopyVideoData
 	ld hl, $cfcb
 	ld a, [hl]
@@ -97719,7 +98699,7 @@
 	ld a, $e0
 	ld [rOBP1], a ; $FF00+$49
 	ld hl, $c384
-	ld de, $44d7
+	ld de, Unknown_704d7 ; $44d7
 	call Func_70503
 	ld a, $4
 	ld [$cfc7], a
@@ -97768,8 +98748,12 @@
 	ld [hl], a
 	jp UpdateSprites
 
-INCBIN "baserom.gbc",$704b7,$704f3 - $704b7
+Unknown_704b7: ; 704b7 (1c:44b7)
+INCBIN "baserom.gbc",$704b7,$704d7 - $704b7
 
+Unknown_704d7: ; 704d7 (1c:44d7)
+INCBIN "baserom.gbc",$704d7,$704f3 - $704d7
+
 ; known jump sources: 7049f (1c:449f), 708f3 (1c:48f3)
 Func_704f3: ; 704f3 (1c:44f3)
 	ld b, $8
@@ -97807,7 +98791,7 @@
 	call Delay3
 	push hl
 	call GBFadeIn2
-	ld hl, $d733
+	ld hl, W_FLAGS_D733
 	bit 7, [hl]
 	res 7, [hl]
 	jr nz, .asm_70568
@@ -97846,9 +98830,9 @@
 	jr .asm_7055b
 .asm_70568
 	pop hl
-	ld de, $4d80
+	ld de, BirdSprite ; $4d80
 	ld hl, $8000
-	ld bc, $50c
+	ld bc, (BANK(BirdSprite) << 8) + $0c
 	call CopyVideoData
 	call Func_706d7
 	ld a, $a4
@@ -97859,11 +98843,12 @@
 	ld a, $c
 	ld [hli], a
 	ld [hl], $8
-	ld de, $4592
+	ld de, Unknown_70592 ; $4592
 	call Func_706ae
 	call LoadPlayerSpriteGraphics
 	jr .asm_70558
 
+Unknown_70592: ; 70592 (1c:4592)
 INCBIN "baserom.gbc",$70592,$705aa - $70592
 
 ; known jump sources: 70537 (1c:4537), 70563 (1c:4563)
@@ -97878,7 +98863,7 @@
 	jp Func_70755
 
 ; known jump sources: 994 (0:994)
-Func_705ba: ; 705ba (1c:45ba)
+_DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
 	call Func_706ef
 	call Func_70787
 	ld a, b
@@ -97940,7 +98925,7 @@
 	ld a, $c
 	ld [hli], a
 	ld [hl], $c
-	ld de, $464f
+	ld de, Unknown_7064f ; $464f
 	call Func_706ae
 	ld c, $28
 	call DelayFrames
@@ -97948,13 +98933,17 @@
 	ld a, $b
 	ld [hli], a
 	ld [hl], $8
-	ld de, $4667
+	ld de, Unknown_70667 ; $4667
 	call Func_706ae
 	call GBFadeOut2
 	jp Func_70772
 
-INCBIN "baserom.gbc",$7064f,$7067d - $7064f
+Unknown_7064f: ; 7064f (1c:464f)
+INCBIN "baserom.gbc",$7064f,$70667 - $7064f
 
+Unknown_70667: ; 70667 (1c:4667)
+INCBIN "baserom.gbc",$70667,$7067d - $70667
+
 ; known jump sources: 705c5 (1c:45c5)
 Func_7067d: ; 7067d (1c:467d)
 	ld a, $ff
@@ -97964,7 +98953,7 @@
 	ld a, [$c306]
 	ld [$c30e], a
 	ld a, $a0
-	ld [$c300], a
+	ld [W_OAMBUFFER], a
 	ld [$c304], a
 	ld c, $2
 	call DelayFrames
@@ -98003,13 +98992,13 @@
 
 ; known jump sources: 70575 (1c:4575), 70610 (1c:4610)
 Func_706d7: ; 706d7 (1c:46d7)
-	ld de, $4d80
+	ld de, BirdSprite ; $4d80
 	ld hl, $8000
-	ld bc, $50c
+	ld bc, (BANK(BirdSprite) << 8) + $0c
 	call CopyVideoData
-	ld de, $4e40
+	ld de, BirdSprite + $c0 ; $4e40 ; moving amination sprite
 	ld hl, $8800
-	ld bc, $50c
+	ld bc, (BANK(BirdSprite) << 8) + $0c
 	jp CopyVideoData
 
 ; known jump sources: 70510 (1c:4510), 705ba (1c:45ba)
@@ -98018,7 +99007,7 @@
 	ld [$cd50], a
 	ld a, [$c104]
 	ld [$cd4f], a
-	ld hl, $4713
+	ld hl, Unknown_70713 ; $4713
 	ld de, $cd48
 	ld bc, $4
 	call CopyData
@@ -98031,6 +99020,7 @@
 	dec hl
 	ret
 
+Unknown_70713: ; 70713 (1c:4713)
 INCBIN "baserom.gbc",$70713,$70717 - $70713
 
 ; known jump sources: 70730 (1c:4730), 70755 (1c:4755)
@@ -98104,7 +99094,7 @@
 ; known jump sources: 77e (0:77e), 7053f (1c:453f), 705bd (1c:45bd), 705dd (1c:45dd)
 Func_70787: ; 70787 (1c:4787)
 	ld b, $0
-	ld hl, $47a9
+	ld hl, Unknown_707a9 ; $47a9
 	ld a, [W_CURMAPTILESET] ; $d367
 	ld c, a
 .asm_70790
@@ -98113,7 +99103,8 @@
 	jr z, .asm_707a4
 	cp c
 	jr nz, .asm_7079e
-	ld a, [$c45c]
+	FuncCoord 8, 9 ; $c45c
+	ld a, [Coord]
 	cp [hl]
 	jr z, .asm_707a2
 .asm_7079e
@@ -98128,6 +99119,7 @@
 	ld [$cd5b], a
 	ret
 
+Unknown_707a9: ; 707a9 (1c:47a9)
 INCBIN "baserom.gbc",$707a9,$707b6 - $707a9
 
 ; known jump sources: e2ad (3:62ad)
@@ -98136,17 +99128,17 @@
 	call DelayFrames
 	ld hl, $d736
 	set 6, [hl]
-	ld de, $4180
+	ld de, RedSprite ; $4180
 	ld hl, $8000
-	ld bc, $50c
+	ld bc, (BANK(RedSprite) << 8) + $0c
 	call CopyVideoData
 	ld a, $4
-	ld hl, $4866
+	ld hl, Unknown_70866 ; $4866
 	call Func_71771
 	ld a, [$c102]
 	ld c, a
 	ld b, $0
-	ld hl, $4856
+	ld hl, Unknown_70856 ; $4856
 	add hl, bc
 	ld de, $c39c
 	ld bc, $4
@@ -98155,10 +99147,10 @@
 	call DelayFrames
 	ld a, [W_WHICHTRADE] ; $cd3d
 	and a
-	ld hl, $4847
+	ld hl, UnnamedText_70847 ; $4847
 	jr z, .asm_70836
 	cp $2
-	ld hl, $484c
+	ld hl, UnnamedText_7084c ; $484c
 	jr z, .asm_70836
 	ld b, $a
 .asm_707fe
@@ -98187,7 +99179,7 @@
 	ld a, $44
 	ld [$c39c], a
 .asm_70833
-	ld hl, $4851
+	ld hl, UnnamedText_70851 ; $4851
 .asm_70836
 	call PrintText
 	ld hl, $d736
@@ -98202,25 +99194,29 @@
 	ld [hl], a
 	ret
 ; 70847 (1c:4847)
-UnnamedText_70847: ; 0x70847
+UnnamedText_70847: ; 70847 (1c:4847)
 	TX_FAR _UnnamedText_70847
 	db $50
 ; 0x70847 + 5 bytes
 
-UnnamedText_7084c: ; 0x7084c
+UnnamedText_7084c: ; 7084c (1c:484c)
 	TX_FAR _UnnamedText_7084c
 	db $50
 ; 0x7084c + 5 bytes
 
-UnnamedText_70851: ; 0x70851
+UnnamedText_70851: ; 70851 (1c:4851)
 	TX_FAR _UnnamedText_70851
 	db $50
 ; 0x70851 + 5 bytes
 
-INCBIN "baserom.gbc",$70856,$7087e - $70856
+Unknown_70856: ; 70856 (1c:4856)
+INCBIN "baserom.gbc",$70856,$70866 - $70856
 
+Unknown_70866: ; 70866 (1c:4866)
+INCBIN "baserom.gbc",$70866,$7087e - $70866
+
 ; known jump sources: 3a3 (0:3a3)
-Func_7087e: ; 7087e (1c:487e)
+_HandleMidJump: ; 7087e (1c:487e)
 	ld a, [$d714]
 	ld c, a
 	inc a
@@ -98228,7 +99224,7 @@
 	jr nc, .asm_70895
 	ld [$d714], a
 	ld b, $0
-	ld hl, $48ba
+	ld hl, Unknown_708ba ; $48ba
 	add hl, bc
 	ld a, [hl]
 	ld [$c104], a
@@ -98240,9 +99236,9 @@
 	call UpdateSprites
 	call Delay3
 	xor a
-	ld [$FF00+$b4], a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b2], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_NEWLYRELEASEDBUTTONS], a
 	ld [$d714], a
 	ld hl, $d736
 	res 6, [hl]
@@ -98249,9 +99245,10 @@
 	ld hl, $d730
 	res 7, [hl]
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 
+Unknown_708ba: ; 708ba (1c:48ba)
 INCBIN "baserom.gbc",$708ba,$708ca - $708ba
 
 ; known jump sources: 58e20 (16:4e20)
@@ -98259,7 +99256,8 @@
 	ld a, $e4
 	ld [rOBP1], a ; $FF00+$49
 	call Func_7092a
-	ld hl, $c3ac
+	FuncCoord 12, 0 ; $c3ac
+	ld hl, Coord
 	ld bc, $707
 	call ClearScreenArea
 	call Delay3
@@ -98312,7 +99310,7 @@
 	ld [W_BASECOORDY], a ; $d082
 	ld a, $70
 	ld [W_BASECOORDX], a ; $d081
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld bc, $606
 	ld d, $8
 .asm_70948
@@ -98395,7 +99393,7 @@
 	call Func_709ef
 	call Func_70a19
 .asm_709c9
-	ld hl, $49d2
+	ld hl, Unknown_709d2 ; $49d2
 	add hl, bc
 	add hl, bc
 	ld a, [hli]
@@ -98403,6 +99401,7 @@
 	ld l, a
 	jp [hl]
 
+Unknown_709d2: ; 709d2 (1c:49d2)
 INCBIN "baserom.gbc",$709d2,$709e2 - $709d2
 
 ; known jump sources: 709c0 (1c:49c0)
@@ -98449,7 +99448,7 @@
 Func_70a19: ; 70a19 (1c:4a19)
 	ld a, [W_CURMAP] ; $d35e
 	ld e, a
-	ld hl, $4a3f
+	ld hl, Unknown_70a3f ; $4a3f
 .asm_70a20
 	ld a, [hli]
 	cp $ff
@@ -98460,7 +99459,7 @@
 	set 2, c
 	ret
 .asm_70a2b
-	ld hl, $4a44
+	ld hl, Unknown_70a44 ; $4a44
 .asm_70a2e
 	ld a, [hli]
 	cp $ff
@@ -98476,15 +99475,20 @@
 	res 2, c
 	ret
 
-INCBIN "baserom.gbc",$70a3f,$70a4d - $70a3f
+Unknown_70a3f: ; 70a3f (1c:4a3f)
+INCBIN "baserom.gbc",$70a3f,$70a44 - $70a3f
 
+Unknown_70a44: ; 70a44 (1c:4a44)
+INCBIN "baserom.gbc",$70a44,$70a4d - $70a44
+
 ; known jump sources: 709b3 (1c:49b3)
 Func_70a4d: ; 70a4d (1c:4a4d)
 	ld hl, $8ff0
-	ld de, $4a59
-	ld bc, $1c01
+	ld de, Unknown_70a59 ; $4a59
+	ld bc, (BANK(Unknown_70a59) << 8) + $01
 	jp CopyVideoData
 
+Unknown_70a59: ; 70a59 (1c:4a59)
 INCBIN "baserom.gbc",$70a59,$70a69 - $70a59
 
 ; known jump sources: 70a9f (1c:4a9f), 70bc2 (1c:4bc2), 70c0a (1c:4c0a), 70ca7 (1c:4ca7), 70cd5 (1c:4cd5), 70d4d (1c:4d4d)
@@ -98500,7 +99504,8 @@
 	call Func_70aaa
 	jr .asm_70a9f
 .asm_70a7d
-	ld hl, $c472
+	FuncCoord 10, 10 ; $c472
+	ld hl, Coord
 	ld a, $3
 	ld [$d09f], a
 	ld a, l
@@ -98530,7 +99535,7 @@
 Func_70aaa: ; 70aaa (1c:4aaa)
 	ld a, $7
 	ld [W_WHICHTRADE], a ; $cd3d
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld c, $11
 	ld de, $14
 	call Func_70ae0
@@ -98647,7 +99652,7 @@
 
 ; known jump sources: 70b6f (1c:4b6f), 70cff (1c:4cff)
 Func_70b5d: ; 70b5d (1c:4b5d)
-	ld hl, $4b72
+	ld hl, Unknown_70b72 ; $4b72
 .asm_70b60
 	ld a, [hli]
 	cp $1
@@ -98661,6 +99666,7 @@
 	jr nz, Func_70b5d
 	ret
 
+Unknown_70b72: ; 70b72 (1c:4b72)
 INCBIN "baserom.gbc",$70b72,$70b7f - $70b72
 	ld c, $9
 .asm_70b81
@@ -98667,20 +99673,28 @@
 	push bc
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c42c
-	ld de, $c440
+	FuncCoord 0, 7 ; $c42c
+	ld hl, Coord
+	FuncCoord 0, 8 ; $c440
+	ld de, Coord
 	ld bc, $ffd8
 	call Func_70c12
-	ld hl, $c468
-	ld de, $c454
+	FuncCoord 0, 10 ; $c468
+	ld hl, Coord
+	FuncCoord 0, 9 ; $c454
+	ld de, Coord
 	ld bc, $28
 	call Func_70c12
-	ld hl, $c3a8
-	ld de, $c3a9
+	FuncCoord 8, 0 ; $c3a8
+	ld hl, Coord
+	FuncCoord 9, 0 ; $c3a9
+	ld de, Coord
 	ld bc, $fffe
 	call Func_70c3f
-	ld hl, $c3ab
-	ld de, $c3aa
+	FuncCoord 11, 0 ; $c3ab
+	ld hl, Coord
+	FuncCoord 10, 0 ; $c3aa
+	ld de, Coord
 	ld bc, $2
 	call Func_70c3f
 	ld a, $1
@@ -98698,20 +99712,26 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 .asm_70bcf
 	push bc
-	ld hl, $c4e0
-	ld de, $c4f4
+	FuncCoord 0, 16 ; $c4e0
+	ld hl, Coord
+	FuncCoord 0, 17 ; $c4f4
+	ld de, Coord
 	ld bc, $ffd8
 	call Func_70c12
-	ld hl, $c3b4
-	ld de, $c3a0
+	FuncCoord 0, 1 ; $c3b4
+	ld hl, Coord
+	ld de, W_SCREENTILESBUFFER
 	ld bc, $28
 	call Func_70c12
-	ld hl, $c3b2
-	ld de, $c3b3
+	FuncCoord 18, 0 ; $c3b2
+	ld hl, Coord
+	FuncCoord 19, 0 ; $c3b3
+	ld de, Coord
 	ld bc, $fffe
 	call Func_70c3f
-	ld hl, $c3a1
-	ld de, $c3a0
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
+	ld de, W_SCREENTILESBUFFER
 	ld bc, $2
 	call Func_70c3f
 	call Func_70d19
@@ -98806,8 +99826,9 @@
 	jr nz, .asm_70c77
 	ret
 	ld c, $12
-	ld hl, $c3a0
-	ld de, $c4f5
+	ld hl, W_SCREENTILESBUFFER
+	FuncCoord 1, 17 ; $c4f5
+	ld de, Coord
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 .asm_70c89
@@ -98843,8 +99864,9 @@
 	jr nz, .asm_70cac
 	ret
 	ld c, $14
-	ld hl, $c3a0
-	ld de, $c3c7
+	ld hl, W_SCREENTILESBUFFER
+	FuncCoord 19, 1 ; $c3c7
+	ld de, Coord
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 .asm_70cbf
@@ -98898,8 +99920,8 @@
 	ret
 	call Func_70cfd
 	ld c, $a
-	ld hl, $4d61
-	ld de, $4d93
+	ld hl, Unknown_70d61 ; $4d61
+	ld de, Unknown_70d93 ; $4d93
 .asm_70d2f
 	push bc
 	push hl
@@ -98935,10 +99957,15 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	jp .asm_70dc5
+	jp asm_70dc5
 
-INCBIN "baserom.gbc",$70d61,$70dc5 - $70d61
-.asm_70dc5
+Unknown_70d61: ; 70d61 (1c:4d61)
+INCBIN "baserom.gbc",$70d61,$70d93 - $70d61
+
+Unknown_70d93: ; 70d93 (1c:4d93)
+INCBIN "baserom.gbc",$70d93,$70dc5 - $70d93
+
+asm_70dc5
 	push hl
 	ld a, [de]
 	ld c, a
@@ -98968,7 +99995,7 @@
 	cp $ff
 	ret z
 	and a
-	jr z, .asm_70dc5
+	jr z, asm_70dc5
 	ld c, a
 .asm_70def
 	ld a, [$cd3e]
@@ -98981,7 +100008,7 @@
 .asm_70df9
 	dec c
 	jr nz, .asm_70def
-	jr .asm_70dc5
+	jr asm_70dc5
 
 INCBIN "baserom.gbc",$70dfe,$70e3e - $70dfe
 
@@ -98999,16 +100026,17 @@
 	push af
 	ld b, $0
 	call Func_711c4
-	ld hl, $c3a1
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
 	ld de, $cd6d
 	call PlaceString
-	ld hl, $c300
-	ld de, $c508
+	ld hl, W_OAMBUFFER
+	ld de, W_SCREENTILESBACKBUFFER
 	ld bc, $10
 	call CopyData
 	ld hl, $8040
-	ld de, $4f40
-	ld bc, $1c04
+	ld de, Unknown_70f40 ; $4f40
+	ld bc, (BANK(Unknown_70f40) << 8) + $04
 	call CopyVideoDataDouble
 	xor a
 	ld [W_WHICHTRADE], a ; $cd3d
@@ -99017,10 +100045,10 @@
 
 ; known jump sources: 70efe (1c:4efe), 70f0e (1c:4f0e)
 Func_70e7e: ; 70e7e (1c:4e7e)
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld bc, $114
 	call ClearScreenArea
-	ld hl, $4f11
+	ld hl, Unknown_70f11 ; $4f11
 	ld a, [W_WHICHTRADE] ; $cd3d
 	ld c, a
 	ld b, $0
@@ -99044,7 +100072,8 @@
 	inc de
 	cp $50
 	jr nz, .asm_70eac
-	ld hl, $c3a1
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
 	ld de, $cd6d
 	call PlaceString
 	ld hl, $c310
@@ -99092,8 +100121,12 @@
 	ld [W_WHICHTRADE], a ; $cd3d
 	jp Func_70e7e
 
-INCBIN "baserom.gbc",$70f11,$70f60 - $70f11
+Unknown_70f11: ; 70f11 (1c:4f11)
+INCBIN "baserom.gbc",$70f11,$70f40 - $70f11
 
+Unknown_70f40: ; 70f40 (1c:4f40)
+INCBIN "baserom.gbc",$70f40,$70f60 - $70f40
+
 ; known jump sources: 4010a (10:410a)
 Func_70f60: ; 70f60 (1c:4f60)
 	call Func_7109b
@@ -99104,13 +100137,14 @@
 	push hl
 	call Func_711ef
 	call GetMonName
-	ld hl, $c3a1
+	FuncCoord 1, 0 ; $c3a1
+	ld hl, Coord
 	call PlaceString
 	ld h, b
 	ld l, c
-	ld de, $4f89
+	ld de, Unknown_70f89 ; $4f89
 	call PlaceString
-	call Func_3865
+	call WaitForTextScrollButtonPress
 	call Func_711ab
 	pop hl
 	pop af
@@ -99117,6 +100151,7 @@
 	ld [hl], a
 	ret
 
+Unknown_70f89: ; 70f89 (1c:4f89)
 INCBIN "baserom.gbc",$70f89,$70f90 - $70f89
 
 ; known jump sources: 30b3 (0:30b3)
@@ -99125,13 +100160,13 @@
 	call Func_7109b
 	call LoadPlayerSpriteGraphics
 	call LoadFontTilePatterns
-	ld de, $4d80
+	ld de, BirdSprite ; $4d80
 	ld hl, $8040
-	ld bc, $50c
+	ld bc, (BANK(BirdSprite) << 8) + $0c
 	call CopyVideoData
-	ld de, $5093
+	ld de, Unknown_71093 ; $5093
 	ld hl, $8ed0
-	ld bc, $1c01
+	ld bc, (BANK(Unknown_71093) << 8) + $01
 	call CopyVideoDataDouble
 	call Func_71070
 	ld hl, $cfcb
@@ -99139,14 +100174,15 @@
 	push af
 	ld [hl], $ff
 	push hl
-	ld hl, $c3a0
-	ld de, $506d
+	ld hl, W_SCREENTILESBUFFER
+	ld de, Unknown_7106d ; $506d
 	call PlaceString
 	ld a, [W_CURMAP] ; $d35e
 	ld b, $0
 	call Func_711c4
 	ld hl, $cd3e
-	ld de, $c3b2
+	FuncCoord 18, 0 ; $c3b2
+	ld de, Coord
 
 ; known jump sources: 7104f (1c:504f), 71055 (1c:5055), 71065 (1c:5065)
 Func_70fd6: ; 70fd6 (1c:4fd6)
@@ -99154,7 +100190,8 @@
 	ld [de], a
 	push hl
 	push hl
-	ld hl, $c3a3
+	FuncCoord 3, 0 ; $c3a3
+	ld hl, Coord
 	ld bc, $10f
 	call ClearScreenArea
 	pop hl
@@ -99161,14 +100198,17 @@
 	ld a, [hl]
 	ld b, $4
 	call Func_711c4
-	ld hl, $c3a3
+	FuncCoord 3, 0 ; $c3a3
+	ld hl, Coord
 	ld de, $cd6d
 	call PlaceString
 	ld c, $f
 	call DelayFrames
-	ld hl, $c3b2
+	FuncCoord 18, 0 ; $c3b2
+	ld hl, Coord
 	ld [hl], $ed
-	ld hl, $c3b3
+	FuncCoord 19, 0 ; $c3b3
+	ld hl, Coord
 	ld [hl], $ee
 	pop hl
 .asm_71004
@@ -99207,7 +100247,8 @@
 	ld [hl], a
 	ret
 .asm_71042
-	ld de, $c3b2
+	FuncCoord 18, 0 ; $c3b2
+	ld de, Coord
 	inc hl
 	ld a, [hl]
 	cp $ff
@@ -99219,7 +100260,8 @@
 	ld hl, $cd3e
 	jp Func_70fd6
 .asm_71058
-	ld de, $c3b3
+	FuncCoord 19, 0 ; $c3b3
+	ld de, Coord
 	dec hl
 	ld a, [hl]
 	cp $ff
@@ -99231,6 +100273,7 @@
 	ld hl, $cd49
 	jr .asm_71058
 
+Unknown_7106d: ; 7106d (1c:506d)
 INCBIN "baserom.gbc",$7106d,$71070 - $7106d
 
 ; known jump sources: 70fb4 (1c:4fb4)
@@ -99258,6 +100301,7 @@
 	ld [hl], $ff
 	ret
 
+Unknown_71093: ; 71093 (1c:5093)
 INCBIN "baserom.gbc",$71093,$7109b - $71093
 
 ; known jump sources: 70e3e (1c:4e3e), 70f60 (1c:4f60), 70f93 (1c:4f93)
@@ -99265,23 +100309,23 @@
 	call GBPalWhiteOutWithDelay3
 	call ClearScreen
 	call UpdateSprites
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $12
 	ld c, $12
 	call TextBoxBorder
 	call DisableLCD
-	ld hl, $65a8
+	ld hl, WorldMapTileGraphics ; $65a8
 	ld de, $9600
 	ld bc, $100
-	ld a, $4
+	ld a, BANK(WorldMapTileGraphics)
 	call FarCopyData2
-	ld hl, $56be
+	ld hl, Unknown_716be ; $56be
 	ld de, $8040
 	ld bc, $8
-	ld a, $1c
+	ld a, BANK(Unknown_716be)
 	call FarCopyDataDouble
-	ld hl, $c3a0
-	ld de, $5100
+	ld hl, W_SCREENTILESBUFFER
+	ld de, CompressedMap ; $5100
 .asm_710d3
 	ld a, [de]
 	and a
@@ -99311,7 +100355,7 @@
 	ld [$d09b], a
 	ret
 ; 71100 (1c:5100)
-CompressedMap: ; 5100
+CompressedMap: ; 71100 (1c:5100)
 ; you can decompress this file with the redrle program in the extras/ dir
 	INCBIN "baserom.gbc",$71100,$711AB-$71100
 
@@ -99347,8 +100391,8 @@
 	inc de
 	cp $50
 	jr nz, .asm_711dc
-	ld hl, $c300
-	ld de, $c508
+	ld hl, W_OAMBUFFER
+	ld de, W_SCREENTILESBACKBUFFER
 	ld bc, $a0
 	jp CopyData
 
@@ -99358,7 +100402,7 @@
 	ld hl, Func_e9cb
 	call Bankswitch ; indirect jump to Func_e9cb (e9cb (3:69cb))
 	call Func_712d9
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld de, $cee9
 .asm_71200
 	ld a, [de]
@@ -99384,12 +100428,14 @@
 	ld a, l
 	and a
 	jr nz, .asm_71236
-	ld hl, $c42d
+	FuncCoord 1, 7 ; $c42d
+	ld hl, Coord
 	ld b, $2
 	ld c, $f
 	call TextBoxBorder
-	ld hl, $c456
-	ld de, $524a
+	FuncCoord 2, 9 ; $c456
+	ld hl, Coord
+	ld de, Unknown_7124a ; $524a
 	call PlaceString
 	jr .asm_7123e
 .asm_71236
@@ -99397,11 +100443,12 @@
 	ld b, $0
 	call Func_711c4
 .asm_7123e
-	ld hl, $c300
-	ld de, $c508
+	ld hl, W_OAMBUFFER
+	ld de, W_SCREENTILESBACKBUFFER
 	ld bc, $a0
 	jp CopyData
 
+Unknown_7124a: ; 7124a (1c:524a)
 INCBIN "baserom.gbc",$7124a,$71258 - $7124a
 
 ; known jump sources: 70e9a (1c:4e9a), 711d2 (1c:51d2), 71212 (1c:5212)
@@ -99537,7 +100584,7 @@
 	cp $25
 	jr c, .asm_71304
 	ld bc, $4
-	ld hl, $5382
+	ld hl, InternalMapEntries ; $5382
 .asm_712fb
 	cp [hl]
 	jr c, .asm_71301
@@ -99547,7 +100594,7 @@
 	inc hl
 	jr .asm_7130d
 .asm_71304
-	ld hl, $5313
+	ld hl, ExternalMapEntries ; $5313
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -99561,7 +100608,7 @@
 	ld l, a
 	ret
 ; 71313 (1c:5313)
-ExternalMapEntries: ; 5313
+ExternalMapEntries: ; 71313 (1c:5313)
 	EMAP $2,$B,PalletTownName
 	EMAP $2,$8,ViridianCityName
 	EMAP $2,$3,PewterCityName
@@ -99600,7 +100647,7 @@
 	EMAP $A,$1,Route24Name
 	EMAP $B,$0,Route25Name
 
-InternalMapEntries: ; 5382
+InternalMapEntries: ; 71382 (1c:5382)
 	IMAP $29,$2,$B,PalletTownName
 	IMAP $2E,$2,$8,ViridianCityName
 	IMAP $33,$2,$6,Route2Name
@@ -99663,114 +100710,115 @@
 	IMAP $F8,$0,$2,PokemonLeagueName
 	db $FF
 
-MapNames: ; 5473
-PalletTownName:
+MapNames: ; 71473 (1c:5473)
+PalletTownName: ; 71473 (1c:5473)
 	db "PALLET TOWN@"
-ViridianCityName:
+ViridianCityName: ; 7147f (1c:547f)
 	db "VIRIDIAN CITY@"
-PewterCityName:
+PewterCityName: ; 7148d (1c:548d)
 	db "PEWTER CITY@"
-CeruleanCityName:
+CeruleanCityName: ; 71499 (1c:5499)
 	db "CERULEAN CITY@"
-LavenderTownName:
+LavenderTownName: ; 714a7 (1c:54a7)
 	db "LAVENDER TOWN@"
-VermilionCityName:
+VermilionCityName: ; 714b5 (1c:54b5)
 	db "VERMILION CITY@"
-CeladonCityName:
+CeladonCityName: ; 714c4 (1c:54c4)
 	db "CELADON CITY@"
-FuchsiaCityName:
+FuchsiaCityName: ; 714d1 (1c:54d1)
 	db "FUCHSIA CITY@"
-CinnabarIslandName:
+CinnabarIslandName: ; 714de (1c:54de)
 	db "CINNABAR ISLAND@"
-IndigoPlateauName:
+IndigoPlateauName: ; 714ee (1c:54ee)
 	db "INDIGO PLATEAU@"
-SaffronCityName:
+SaffronCityName: ; 714fd (1c:54fd)
 	db "SAFFRON CITY@"
-Route1Name:
+Route1Name: ; 7150a (1c:550a)
 	db "ROUTE 1@"
-Route2Name:
+Route2Name: ; 71512 (1c:5512)
 	db "ROUTE 2@"
-Route3Name:
+Route3Name: ; 7151a (1c:551a)
 	db "ROUTE 3@"
-Route4Name:
+Route4Name: ; 71522 (1c:5522)
 	db "ROUTE 4@"
-Route5Name:
+Route5Name: ; 7152a (1c:552a)
 	db "ROUTE 5@"
-Route6Name:
+Route6Name: ; 71532 (1c:5532)
 	db "ROUTE 6@"
-Route7Name:
+Route7Name: ; 7153a (1c:553a)
 	db "ROUTE 7@"
-Route8Name:
+Route8Name: ; 71542 (1c:5542)
 	db "ROUTE 8@"
-Route9Name:
+Route9Name: ; 7154a (1c:554a)
 	db "ROUTE 9@"
-Route10Name:
+Route10Name: ; 71552 (1c:5552)
 	db "ROUTE 10@"
-Route11Name:
+Route11Name: ; 7155b (1c:555b)
 	db "ROUTE 11@"
-Route12Name:
+Route12Name: ; 71564 (1c:5564)
 	db "ROUTE 12@"
-Route13Name:
+Route13Name: ; 7156d (1c:556d)
 	db "ROUTE 13@"
-Route14Name:
+Route14Name: ; 71576 (1c:5576)
 	db "ROUTE 14@"
-Route15Name:
+Route15Name: ; 7157f (1c:557f)
 	db "ROUTE 15@"
-Route16Name:
+Route16Name: ; 71588 (1c:5588)
 	db "ROUTE 16@"
-Route17Name:
+Route17Name: ; 71591 (1c:5591)
 	db "ROUTE 17@"
-Route18Name:
+Route18Name: ; 7159a (1c:559a)
 	db "ROUTE 18@"
-Route19Name:
+Route19Name: ; 715a3 (1c:55a3)
 	db "SEA ROUTE 19@"
-Route20Name:
+Route20Name: ; 715b0 (1c:55b0)
 	db "SEA ROUTE 20@"
-Route21Name:
+Route21Name: ; 715bd (1c:55bd)
 	db "SEA ROUTE 21@"
-Route22Name:
+Route22Name: ; 715ca (1c:55ca)
 	db "ROUTE 22@"
-Route23Name:
+Route23Name: ; 715d3 (1c:55d3)
 	db "ROUTE 23@"
-Route24Name:
+Route24Name: ; 715dc (1c:55dc)
 	db "ROUTE 24@"
-Route25Name:
+Route25Name: ; 715e5 (1c:55e5)
 	db "ROUTE 25@"
-ViridianForestName:
+ViridianForestName: ; 715ee (1c:55ee)
 	db "VIRIDIAN FOREST@"
-MountMoonName:
+MountMoonName: ; 715fe (1c:55fe)
 	db "MT.MOON@"
-RockTunnelName:
+RockTunnelName: ; 71606 (1c:5606)
 	db "ROCK TUNNEL@"
-SeaCottageName:
+SeaCottageName: ; 71612 (1c:5612)
 	db "SEA COTTAGE@"
-SSAnneName:
+SSAnneName: ; 7161e (1c:561e)
 	db "S.S.ANNE@"
-PokemonLeagueName:
+PokemonLeagueName: ; 71627 (1c:5627)
 	db "#MON LEAGUE@"
-UndergroundPathName:
+UndergroundPathName: ; 71633 (1c:5633)
 	db "UNDERGROUND PATH@"
-PokemonTowerName:
+PokemonTowerName: ; 71644 (1c:5644)
 	db "#MON TOWER@"
-SeafoamIslandsName:
+SeafoamIslandsName: ; 7164f (1c:564f)
 	db "SEAFOAM ISLANDS@"
-VictoryRoadName:
+VictoryRoadName: ; 7165f (1c:565f)
 	db "VICTORY ROAD@"
-DiglettsCaveName:
+DiglettsCaveName: ; 7166c (1c:566c)
 	db "DIGLETT's CAVE@"
-RocketHQName:
+RocketHQName: ; 7167a (1c:567a)
 	db "ROCKET HQ@"
-SilphCoName:
+SilphCoName: ; 71684 (1c:5684)
 	db "SILPH CO.@"
-PokemonMansionName:
+PokemonMansionName: ; 7168e (1c:568e)
 	db $4a," MANSION@"
-SafariZoneName:
+SafariZoneName: ; 71698 (1c:5698)
 	db "SAFARI ZONE@"
-CeruleanCaveName:
+CeruleanCaveName: ; 716a4 (1c:56a4)
 	db "CERULEAN CAVE@"
-PowerPlantName:
+PowerPlantName: ; 716b2 (1c:56b2)
 	db "POWER PLANT@"
 
+Unknown_716be: ; 716be (1c:56be)
 INCBIN "baserom.gbc",$716be,$716c6 - $716be
 
 ; known jump sources: 70ec8 (1c:4ec8)
@@ -99781,14 +100829,14 @@
 	jr z, .asm_716e1
 	cp $32
 	jr nz, .asm_716f1
-	ld hl, $c508
-	ld de, $c300
+	ld hl, W_SCREENTILESBACKBUFFER
+	ld de, W_OAMBUFFER
 	ld bc, $90
 	call CopyData
 	xor a
 	jr .asm_716f1
 .asm_716e1
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld b, $24
 	ld de, $4
 .asm_716e9
@@ -99819,7 +100867,7 @@
 	ld a, [hl]
 asm_7170a: ; 7170a (1c:570a)
 	ld c, a
-	ld hl, $5769
+	ld hl, Unknown_71769 ; $5769
 	add hl, bc
 	ld a, [$cf1b]
 	xor $1
@@ -99843,7 +100891,7 @@
 .asm_7172c
 	push bc
 	ld hl, $cc5b
-	ld de, $c300
+	ld de, W_OAMBUFFER
 	ld bc, $60
 	call CopyData
 	pop bc
@@ -99879,11 +100927,12 @@
 	ld a, c
 	jr .asm_71721
 
+Unknown_71769: ; 71769 (1c:5769)
 INCBIN "baserom.gbc",$71769,$7176c - $71769
 
 ; known jump sources: 65b5 (1:65b5), 41214 (10:5214)
 Func_7176c: ; 7176c (1c:576c)
-	ld hl, $57c0
+	ld hl, Unknown_717c0 ; $57c0
 	ld a, $1c
 
 ; known jump sources: 707d1 (1c:47d1)
@@ -99919,7 +100968,7 @@
 ; known jump sources: 12ce0 (4:6ce0)
 Func_71791: ; 71791 (1c:5791)
 	call DisableLCD
-	ld hl, $57c0
+	ld hl, Unknown_717c0 ; $57c0
 	ld a, $1c
 	ld bc, $0
 .asm_7179c
@@ -99952,6 +101001,7 @@
 	jr nz, .asm_7179c
 	jp EnableLCD
 
+Unknown_717c0: ; 717c0 (1c:57c0)
 INCBIN "baserom.gbc",$717c0,$71868 - $717c0
 
 ; known jump sources: 12d1d (4:6d1d)
@@ -100000,7 +101050,7 @@
 .asm_718da
 	call Func_71281
 .asm_718dd
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	ld de, $cc5b
 	ld bc, $60
 	jp CopyData
@@ -100014,7 +101064,7 @@
 	ld c, a
 	dec a
 	srl a
-	ld hl, $590d
+	ld hl, MonOverworldData ; $590d
 	ld e, a
 	ld d, $0
 	add hl, de
@@ -100028,7 +101078,7 @@
 	srl a
 	ret
 ; 7190d (1c:590d)
-MonOverworldData:
+MonOverworldData: ; 7190d (1c:590d)
 	dn SPRITE_GRASS, SPRITE_GRASS			;Bulbasaur/Ivysaur
 	dn SPRITE_GRASS, SPRITE_MON				;Venusaur/Charmander
 	dn SPRITE_MON, SPRITE_MON				;Charmeleon/Charizard
@@ -100106,11 +101156,11 @@
 	dn SPRITE_SNAKE, SPRITE_MON				;Dragonite/Mewtwo
 	dn SPRITE_MON, 0						;Mew/Padding
 
-INCBIN "baserom.gbc",$71959,$71AD9-$71959
+INCBIN "baserom.gbc",$71959,$71ad9 - $71959
 
-Predef54: ; 0x71ad9
+Predef54: ; 71ad9 (1c:5ad9)
 ; trigger the trade offer/action specified by W_WHICHTRADE
-	call Func_36f4
+	call SaveScreenTilesToBuffer2
 	ld hl,TradeMons
 	ld a,[W_WHICHTRADE]
 	ld b,a
@@ -100132,7 +101182,7 @@
 	pop af
 	ld l,a
 	ld h,$0
-	ld de,$5d64
+	ld de,Unknown_71d64 ; $5d64
 	add hl,hl
 	add hl,de
 	ld a,[hli]
@@ -100161,7 +101211,7 @@
 	call .asm_99bca
 	ld a,$1
 	ld [$cd12],a
-	call Func_35ec
+	call YesNoChoice
 	ld a,[$cc26]
 	and a
 	jr nz,.asm_99bca ; 0x71b4b $b
@@ -100184,7 +101234,7 @@
 	ld l,a
 	jp PrintText
 
-Function71b6a: ; 0x71b6a
+Function71b6a: ; 71b6a (1c:5b6a)
 	push de
 	ld [$d11e],a
 	call GetMonName
@@ -100193,7 +101243,7 @@
 	ld bc,$b
 	jp CopyData
 
-TradeMons: ; 5B7B
+TradeMons: ; 71b7b (1c:5b7b)
 ; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total
 	db NIDORINO,  NIDORINA,  0,"TERRY@@@@@@"
 	db ABRA,      MR_MIME,  0,"MARCEL@@@@@"
@@ -100206,7 +101256,7 @@
 	db VENONAT,   TANGELA,   2,"CRINKLES@@@"
 	db NIDORAN_M, NIDORAN_F, 2,"SPOT@@@@@@@"
 
-Function71c07: ; 0x71c07
+Function71c07: ; 71c07 (1c:5c07)
 	xor a
 	ld [$d07d],a
 	dec a
@@ -100281,7 +101331,7 @@
 	call GBPalWhiteOutWithDelay3
 	call Func_3dbe
 	call ReloadTilesetTilePatterns
-	call Func_3701
+	call LoadScreenTilesFromBuffer2
 	call Delay3
 	call LoadGBPal
 	ld c, $a
@@ -100304,7 +101354,7 @@
 	ld de, $cd41
 	ld bc, $b
 	call Func_71d11
-	ld hl, $5d59
+	ld hl, Unknown_71d59 ; $5d59
 	ld de, $cd4e
 	call Func_71d11
 	ld de, W_GRASSRATE ; $d887
@@ -100341,7 +101391,7 @@
 	ld hl, W_PARTYMON1OT ; $d273
 	ld bc, $b
 	call Func_71d4f
-	ld hl, $5d59
+	ld hl, Unknown_71d59 ; $5d59
 	ld bc, $b
 	call CopyData
 	ld hl, W_PARTYMON1_OTID ; $d177
@@ -100360,88 +101410,92 @@
 	ld d, h
 	ret
 
-INCBIN "baserom.gbc",$71d59,$71d88 - $71d59
+Unknown_71d59: ; 71d59 (1c:5d59)
+INCBIN "baserom.gbc",$71d59,$71d64 - $71d59
 
-UnnamedText_71d88: ; 0x71d88
+Unknown_71d64: ; 71d64 (1c:5d64)
+INCBIN "baserom.gbc",$71d64,$71d88 - $71d64
+
+UnnamedText_71d88: ; 71d88 (1c:5d88)
 	TX_FAR _UnnamedText_71d88
 	db $50
 ; 0x71d88 + 5 bytes
 
-UnnamedText_71d8d: ; 0x71d8d
+UnnamedText_71d8d: ; 71d8d (1c:5d8d)
 	TX_FAR _UnnamedText_71d8d ; 0xa80bc
 	db $11, $a, $50
 
-UnnamedText_71d94: ; 0x71d94
+UnnamedText_71d94: ; 71d94 (1c:5d94)
 	TX_FAR _UnnamedText_71d94
 	db $50
 ; 0x71d94 + 5 bytes
 
-UnnamedText_71d99: ; 0x71d99
+UnnamedText_71d99: ; 71d99 (1c:5d99)
 	TX_FAR _UnnamedText_71d99
 	db $50
 ; 0x71d99 + 5 bytes
 
-UnnamedText_71d9e: ; 0x71d9e
+UnnamedText_71d9e: ; 71d9e (1c:5d9e)
 	TX_FAR _UnnamedText_71d9e
 	db $50
 ; 0x71d9e + 5 bytes
 
-UnnamedText_71da3: ; 0x71da3
+UnnamedText_71da3: ; 71da3 (1c:5da3)
 	TX_FAR _UnnamedText_71da3
 	db $50
 ; 0x71da3 + 5 bytes
 
-UnnamedText_71da8: ; 0x71da8
+UnnamedText_71da8: ; 71da8 (1c:5da8)
 	TX_FAR _UnnamedText_71da8
 	db $50
 ; 0x71da8 + 5 bytes
 
-UnnamedText_71dad: ; 0x71dad
+UnnamedText_71dad: ; 71dad (1c:5dad)
 	TX_FAR _UnnamedText_71dad
 	db $50
 ; 0x71dad + 5 bytes
 
-UnnamedText_71db2: ; 0x71db2
+UnnamedText_71db2: ; 71db2 (1c:5db2)
 	TX_FAR _UnnamedText_71db2
 	db $50
 ; 0x71db2 + 5 bytes
 
-UnnamedText_71db7: ; 0x71db7
+UnnamedText_71db7: ; 71db7 (1c:5db7)
 	TX_FAR _UnnamedText_71db7
 	db $50
 ; 0x71db7 + 5 bytes
 
-UnnamedText_71dbc: ; 0x71dbc
+UnnamedText_71dbc: ; 71dbc (1c:5dbc)
 	TX_FAR _UnnamedText_71dbc
 	db $50
 ; 0x71dbc + 5 bytes
 
-UnnamedText_71dc1: ; 0x71dc1
+UnnamedText_71dc1: ; 71dc1 (1c:5dc1)
 	TX_FAR _UnnamedText_71dc1
 	db $50
 ; 0x71dc1 + 5 bytes
 
-UnnamedText_71dc6: ; 0x71dc6
+UnnamedText_71dc6: ; 71dc6 (1c:5dc6)
 	TX_FAR _UnnamedText_71dc6
 	db $50
 ; 0x71dc6 + 5 bytes
 
-UnnamedText_71dcb: ; 0x71dcb
+UnnamedText_71dcb: ; 71dcb (1c:5dcb)
 	TX_FAR _UnnamedText_71dcb
 	db $50
 ; 0x71dcb + 5 bytes
 
-UnnamedText_71dd0: ; 0x71dd0
+UnnamedText_71dd0: ; 71dd0 (1c:5dd0)
 	TX_FAR _UnnamedText_71dd0
 	db $50
 ; 0x71dd0 + 5 bytes
 
-UnnamedText_71dd5: ; 0x71dd5
+UnnamedText_71dd5: ; 71dd5 (1c:5dd5)
 	TX_FAR _UnnamedText_71dd5
 	db $50
 ; 0x71dd5 + 5 bytes
 
-UnnamedText_71dda: ; 0x71dda
+UnnamedText_71dda: ; 71dda (1c:5dda)
 	TX_FAR _UnnamedText_71dda
 	db $50
 ; 0x71dda + 5 bytes
@@ -100459,28 +101513,28 @@
 	ld l, a
 	ld h, $0
 	add hl, hl
-	ld de, $5f73
+	ld de, Unknown_71f73 ; $5f73
 	add hl, de
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld de, $6156
+	ld de, Func_72156 ; $6156
 	push de
 	jp [hl]
-	ld hl, $6448
-	ld de, $61b5
+	ld hl, Unknown_72448 ; $6448
+	ld de, Unknown_721b5 ; $61b5
 	ret
-	ld hl, $6428
+	ld hl, Unknown_72428 ; $6428
 	ld de, $cf2d
 	ld bc, $10
 	call CopyData
 ; 71e12 (1c:5e12)
 	ld a, [W_PLAYERBATTSTATUS3]
-	ld hl, $D014                ; player Pokemon ID
+	ld hl, W_PLAYERMONID        ; player Pokemon ID
 	call DeterminePaletteID
 	ld b, a
 	ld a, [W_ENEMYBATTSTATUS3]
-	ld hl, $CFD8                ; enemy Pokemon ID
+	ld hl, W_ENEMYMONID                ; enemy Pokemon ID
 	call DeterminePaletteID
 
 	ld c, a
@@ -100499,14 +101553,14 @@
 	ld a, c
 	ld [hl], a
 	ld hl, $cf2d
-	ld de, $61b5
+	ld de, Unknown_721b5 ; $61b5
 	ld a, $1
 	ld [$cf1c], a
 	ret
-	ld hl, $6458
-	ld de, $619e
+	ld hl, Unknown_72458 ; $6458
+	ld de, Unknown_7219e ; $619e
 	ret
-	ld hl, $6428
+	ld hl, Unknown_72428 ; $6428
 	ld de, $cf2d
 	ld bc, $10
 	call CopyData
@@ -100525,12 +101579,12 @@
 	pop af
 	ld [hl], a
 	ld hl, $cf2d
-	ld de, $61fa
+	ld de, Unknown_721fa ; $61fa
 	ret
-	ld hl, $6438
+	ld hl, Unknown_72438 ; $6438
 	ld de, $cf2e
 	ret
-	ld hl, $6468
+	ld hl, Unknown_72468 ; $6468
 	ld de, $cf2d
 	ld bc, $10
 	call CopyData
@@ -100539,25 +101593,25 @@
 	ld hl, $cf30
 	ld [hl], a
 	ld hl, $cf2d
-	ld de, $6222
+	ld de, Unknown_72222 ; $6222
 	ret
 
 INCBIN "baserom.gbc",$71e9f,$71ea6 - $71e9f
-	ld hl, $6488
-	ld de, $628e
+	ld hl, Unknown_72488 ; $6488
+	ld de, Unknown_7228e ; $628e
 	ret
-	ld hl, $64a8
-	ld de, $619e
+	ld hl, Unknown_724a8 ; $64a8
+	ld de, Unknown_7219e ; $619e
 	ret
-	ld hl, $64b8
-	ld de, $62c1
+	ld hl, Unknown_724b8 ; $64b8
+	ld de, Unknown_722c1 ; $62c1
 	ret
-	ld hl, $64c8
-	ld de, $63dd
+	ld hl, Unknown_724c8 ; $64c8
+	ld de, Unknown_723dd ; $63dd
 	ld a, $8
 	ld [$cf1c], a
 	ret
-	ld hl, $6428
+	ld hl, Unknown_72428 ; $6428
 	ld de, $cf2d
 	ld bc, $10
 	call CopyData
@@ -100587,7 +101641,7 @@
 	inc a
 	ld hl, $cf2e
 	ld [hld], a
-	ld de, $619e
+	ld de, Unknown_7219e ; $619e
 	ld a, $9
 	ld [$cf1c], a
 	ret
@@ -100601,7 +101655,7 @@
 	xor a
 	jr .asm_71efe
 	push bc
-	ld hl, $6428
+	ld hl, Unknown_72428 ; $6428
 	ld de, $cf2d
 	ld bc, $10
 	call CopyData
@@ -100615,13 +101669,13 @@
 .asm_71f31
 	ld [$cf2e], a
 	ld hl, $cf2d
-	ld de, $619e
+	ld de, Unknown_7219e ; $619e
 	ret
-	ld hl, $6360
+	ld hl, Unknown_72360 ; $6360
 	ld de, $cc5b
 	ld bc, $40
 	call CopyData
-	ld de, $5f8f
+	ld de, Unknown_71f8f ; $5f8f
 	ld hl, $cc5d
 	ld a, [W_OBTAINEDBADGES] ; $d356
 	ld c, $8
@@ -100650,18 +101704,22 @@
 	inc de
 	dec c
 	jr nz, .asm_71f52
-	ld hl, $6498
+	ld hl, Unknown_72498 ; $6498
 	ld de, $cc5b
 	ret
 
-INCBIN "baserom.gbc",$71f73,$71f97 - $71f73
+Unknown_71f73: ; 71f73 (1c:5f73)
+INCBIN "baserom.gbc",$71f73,$71f8f - $71f73
 
-DeterminePaletteID:
+Unknown_71f8f: ; 71f8f (1c:5f8f)
+INCBIN "baserom.gbc",$71f8f,$71f97 - $71f8f
+
+DeterminePaletteID: ; 71f97 (1c:5f97)
 	bit 3, a                 ; bit 3 of battle status 3 (unused?)
 	ld a, PAL_GREYMON
 	ret nz
 	ld a, [hl]
-Func_71f9d:
+Func_71f9d: ; 71f9d (1c:5f9d)
 	ld [$D11E], a
 	and a
 	jr z, .idZero
@@ -100680,7 +101738,7 @@
 
 ; known jump sources: 12cf3 (4:6cf3)
 Func_71fb6: ; 71fb6 (1c:5fb6)
-	ld hl, $62f4
+	ld hl, Unknown_722f4 ; $62f4
 	ld de, $cf2e
 	ld bc, $30
 	jp CopyData
@@ -100712,7 +101770,7 @@
 	ld [hl], e
 	ret
 ; 71feb (1c:5feb)
-SendSGBPacket: ;$5feb
+SendSGBPacket: ; 71feb (1c:5feb)
 ;check number of packets
 	ld a,[hl]
 	and a,$07
@@ -100797,26 +101855,26 @@
 	ei
 	ld a, $1
 	ld [$cf2d], a
-	ld de, $6508
-	ld hl, $6fe8
+	ld de, Unknown_72508 ; $6508
+	ld hl, SGBBorderGraphics ; $6fe8
 	call Func_7210b
 	xor a
 	ld [$cf2d], a
-	ld de, $6518
-	ld hl, $6788
+	ld de, Unknown_72518 ; $6518
+	ld hl, BorderPalettes ; $6788
 	call Func_7210b
 	xor a
 	ld [$cf2d], a
-	ld de, $64d8
-	ld hl, $6660
+	ld de, Unknown_724d8 ; $64d8
+	ld hl, SuperPalettes ; $6660
 	call Func_7210b
 	call ZeroVram
-	ld hl, $6538
+	ld hl, Unknown_72538 ; $6538
 	jp SendSGBPacket
 
 ; known jump sources: 72040 (1c:6040)
 Func_72075: ; 72075 (1c:6075)
-	ld hl, $6089
+	ld hl, Unknown_72089 ; $6089
 	ld c, $9
 .asm_7207a
 	push bc
@@ -100832,11 +101890,12 @@
 	jr nz, .asm_7207a
 	ret
 
+Unknown_72089: ; 72089 (1c:6089)
 INCBIN "baserom.gbc",$72089,$7209b - $72089
 
 ; known jump sources: 7202f (1c:602f)
 Func_7209b: ; 7209b (1c:609b)
-	ld hl, $64f8
+	ld hl, Unknown_724f8 ; $64f8
 	di
 	call SendSGBPacket
 	ld a, $1
@@ -100888,7 +101947,7 @@
 
 ; known jump sources: 720f8 (1c:60f8), 720fd (1c:60fd)
 Func_72102: ; 72102 (1c:6102)
-	ld hl, $64e8
+	ld hl, Unknown_724e8 ; $64e8
 	call SendSGBPacket
 	jp Wait7000
 
@@ -100932,7 +101991,7 @@
 	ei
 	ret
 ; 7214a (1c:614a)
-Wait7000: ;$614a
+Wait7000: ; 7214a (1c:614a)
 ; each loop takes about 10 cycles so this routine actually loops through 70000
 ; cycles.
 	ld de,$1b58    ; = 7000
@@ -100946,6 +102005,7 @@
 	jr nz,.loop\@
 	ret
 
+Func_72156: ; 72156 (1c:6156)
 	ld a, [$cf1a]
 	and a
 	jr z, .asm_72165
@@ -100972,7 +102032,7 @@
 	add a
 	add a
 	add a
-	ld de, $6660
+	ld de, SuperPalettes ; $6660
 	add e
 	jr nc, .asm_72180
 	inc d
@@ -101009,9 +102069,82 @@
 	jr nz, .asm_7218a
 	ret
 
-INCBIN "baserom.gbc",$7219e,$725c8 - $7219e
+Unknown_7219e: ; 7219e (1c:619e)
+INCBIN "baserom.gbc",$7219e,$721b5 - $7219e
 
-MonsterPalettes: ; 65C8
+Unknown_721b5: ; 721b5 (1c:61b5)
+INCBIN "baserom.gbc",$721b5,$721fa - $721b5
+
+Unknown_721fa: ; 721fa (1c:61fa)
+INCBIN "baserom.gbc",$721fa,$72222 - $721fa
+
+Unknown_72222: ; 72222 (1c:6222)
+INCBIN "baserom.gbc",$72222,$7228e - $72222
+
+Unknown_7228e: ; 7228e (1c:628e)
+INCBIN "baserom.gbc",$7228e,$722c1 - $7228e
+
+Unknown_722c1: ; 722c1 (1c:62c1)
+INCBIN "baserom.gbc",$722c1,$722f4 - $722c1
+
+Unknown_722f4: ; 722f4 (1c:62f4)
+INCBIN "baserom.gbc",$722f4,$72360 - $722f4
+
+Unknown_72360: ; 72360 (1c:6360)
+INCBIN "baserom.gbc",$72360,$723dd - $72360
+
+Unknown_723dd: ; 723dd (1c:63dd)
+INCBIN "baserom.gbc",$723dd,$72428 - $723dd
+
+Unknown_72428: ; 72428 (1c:6428)
+INCBIN "baserom.gbc",$72428,$72438 - $72428
+
+Unknown_72438: ; 72438 (1c:6438)
+INCBIN "baserom.gbc",$72438,$72448 - $72438
+
+Unknown_72448: ; 72448 (1c:6448)
+INCBIN "baserom.gbc",$72448,$72458 - $72448
+
+Unknown_72458: ; 72458 (1c:6458)
+INCBIN "baserom.gbc",$72458,$72468 - $72458
+
+Unknown_72468: ; 72468 (1c:6468)
+INCBIN "baserom.gbc",$72468,$72488 - $72468
+
+Unknown_72488: ; 72488 (1c:6488)
+INCBIN "baserom.gbc",$72488,$72498 - $72488
+
+Unknown_72498: ; 72498 (1c:6498)
+INCBIN "baserom.gbc",$72498,$724a8 - $72498
+
+Unknown_724a8: ; 724a8 (1c:64a8)
+INCBIN "baserom.gbc",$724a8,$724b8 - $724a8
+
+Unknown_724b8: ; 724b8 (1c:64b8)
+INCBIN "baserom.gbc",$724b8,$724c8 - $724b8
+
+Unknown_724c8: ; 724c8 (1c:64c8)
+INCBIN "baserom.gbc",$724c8,$724d8 - $724c8
+
+Unknown_724d8: ; 724d8 (1c:64d8)
+INCBIN "baserom.gbc",$724d8,$724e8 - $724d8
+
+Unknown_724e8: ; 724e8 (1c:64e8)
+INCBIN "baserom.gbc",$724e8,$724f8 - $724e8
+
+Unknown_724f8: ; 724f8 (1c:64f8)
+INCBIN "baserom.gbc",$724f8,$72508 - $724f8
+
+Unknown_72508: ; 72508 (1c:6508)
+INCBIN "baserom.gbc",$72508,$72518 - $72508
+
+Unknown_72518: ; 72518 (1c:6518)
+INCBIN "baserom.gbc",$72518,$72538 - $72518
+
+Unknown_72538: ; 72538 (1c:6538)
+INCBIN "baserom.gbc",$72538,$725c8 - $72538
+
+MonsterPalettes: ; 725c8 (1c:65c8)
 	db PAL_MEWMON    ; MISSINGNO
 	db PAL_GREENMON  ; BULBASAUR
 	db PAL_GREENMON  ; IVYSAUR
@@ -101166,7 +102299,7 @@
 	db PAL_MEWMON    ; MEW
 
 ; palettes for overworlds, title screen, monsters
-SuperPalettes: ; 6660
+SuperPalettes: ; 72660 (1c:6660)
 	RGB 31,29,31 ; PAL_ROUTE
 	RGB 21,28,11
 	RGB 20,26,31
@@ -101339,7 +102472,7 @@
 	RGB 31,28,14
 	RGB 24,20,10
 	RGB 3,2,2
-BorderPalettes: ; 6788
+BorderPalettes: ; 72788 (1c:6788)
 
 IF _RED
 	INCBIN "gfx/red/sgbborder.map"
@@ -101348,7 +102481,10 @@
 	INCBIN "gfx/blue/sgbborder.map"
 ENDC
 
-INCBIN "baserom.gbc",$72E88,$2F88 - $2E88 ; All $00s
+INCBIN "baserom.gbc",$72e88,$72ede - $72e88
+
+Unknown_72ede: ; 72ede (1c:6ede)
+INCBIN "baserom.gbc",$72ede,$72f88 - $72ede
 IF _RED
 	RGB 30,29,29 ; PAL_SGB1
 	RGB 25,22,25
@@ -101362,7 +102498,7 @@
 	RGB 16,20,27
 ENDC
 
-INCBIN "baserom.gbc",$72F90,$2FA8 - $2F90 ; All $00s
+INCBIN "baserom.gbc",$72f90,$72fa8 - $72f90
 
 IF _RED
 	RGB 30,29,29 ; PAL_SGB2
@@ -101377,7 +102513,7 @@
 	RGB 28,25,15
 ENDC
 
-INCBIN "baserom.gbc",$72FB0,$2FC8 - $2FB0 ; All $00s
+INCBIN "baserom.gbc",$72fb0,$72fc8 - $72fb0
 
 IF _RED
 	RGB 30,29,29 ; PAL_SGB3
@@ -101392,8 +102528,9 @@
 	RGB 14,22,17
 ENDC
 
-INCBIN "baserom.gbc",$72FD0,$2FE8 - $2FD0 ; All $00s
+INCBIN "baserom.gbc",$72fd0,$72fe8 - $72fd0
 
+SGBBorderGraphics: ; 72fe8 (1c:6fe8)
 IF _RED
 	INCBIN "gfx/red/sgbborder.2bpp"
 ENDC
@@ -101418,7 +102555,7 @@
 	ld hl, $d730
 	push hl
 	set 6, [hl]
-	ld hl, $761e
+	ld hl, UnnamedText_7361e ; $761e
 	call PrintText
 	ld c, $64
 	call DelayFrames
@@ -101429,7 +102566,7 @@
 	ld [$d088], a
 	ret
 ; 7361e (1c:761e)
-UnnamedText_7361e: ; 0x7361e
+UnnamedText_7361e: ; 7361e (1c:761e)
 	TX_FAR _UnnamedText_7361e
 	db $50
 ; 0x7361e + 5 bytes
@@ -101540,17 +102677,17 @@
 
 INCBIN "baserom.gbc",$73701,$7377d - $73701
 
-UnnamedText_7377d: ; 0x7377d
+UnnamedText_7377d: ; 7377d (1c:777d)
 	TX_FAR _UnnamedText_7377d
 	db $50
 ; 0x7377d + 5 bytes
 
-UnnamedText_73782: ; 0x73782
+UnnamedText_73782: ; 73782 (1c:7782)
 	TX_FAR _UnnamedText_73782
 	db $50
 ; 0x73782 + 5 bytes
 
-UnnamedText_73787: ; 0x73787
+UnnamedText_73787: ; 73787 (1c:7787)
 	TX_FAR _UnnamedText_73787
 	db $50
 ; 0x73787 + 5 bytes
@@ -101676,7 +102813,7 @@
 
 ; known jump sources: 738cd (1c:78cd), 738e0 (1c:78e0)
 Func_7387b: ; 7387b (1c:787b)
-	ld hl, $7895
+	ld hl, Unknown_73895 ; $7895
 	ld a, [$d5a0]
 	and $7f
 	cp $6
@@ -101694,13 +102831,14 @@
 	ld l, a
 	ret
 
+Unknown_73895: ; 73895 (1c:7895)
 INCBIN "baserom.gbc",$73895,$738a1 - $73895
 
 ; known jump sources: 216b8 (8:56b8)
 Func_738a1: ; 738a1 (1c:78a1)
-	ld hl, $7909
+	ld hl, UnnamedText_73909 ; $7909
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [W_CURMENUITEMID] ; $cc26
 	and a
 	ret nz
@@ -101739,11 +102877,11 @@
 	ld hl, W_WHICHTRADE ; $cd3d
 	call Func_3f0f
 	ld a, $b6
-	call Func_3740
-	call Func_3748
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
 	ret
 ; 73909 (1c:7909)
-UnnamedText_73909: ; 0x73909
+UnnamedText_73909: ; 73909 (1c:7909)
 	TX_FAR _UnnamedText_73909
 	db $50
 ; 0x73909 + 5 bytes
@@ -101792,20 +102930,22 @@
 	and $7f
 	ld [W_CURMENUITEMID], a ; $cc26
 	ld [W_OLDMENUITEMID], a ; $cc2a
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld b, $2
 	ld c, $9
 	call TextBoxBorder
-	ld hl, $79d4
+	ld hl, UnnamedText_739d4 ; $79d4
 	call PrintText
-	ld hl, $c3ab
+	FuncCoord 11, 0 ; $c3ab
+	ld hl, Coord
 	ld b, $c
 	ld c, $7
 	call TextBoxBorder
 	ld hl, $fff6
 	set 2, [hl]
-	ld de, $79d9
-	ld hl, $c3c1
+	ld de, Unknown_739d9 ; $79d9
+	FuncCoord 13, 1 ; $c3c1
+	ld hl, Coord
 	call PlaceString
 	ld hl, $fff6
 	res 2, [hl]
@@ -101814,7 +102954,8 @@
 	cp $9
 	jr c, .asm_739a6
 	sub $9
-	ld hl, $c3d0
+	FuncCoord 8, 2 ; $c3d0
+	ld hl, Coord
 	ld [hl], $f7
 	add $f6
 	jr .asm_739a8
@@ -101821,12 +102962,15 @@
 .asm_739a6
 	add $f7
 .asm_739a8
-	ld [$c3d1], a
-	ld hl, $c3c9
-	ld de, $7a21
+	FuncCoord 9, 2 ; $c3d1
+	ld [Coord], a
+	FuncCoord 1, 2 ; $c3c9
+	ld hl, Coord
+	ld de, Unknown_73a21 ; $7a21
 	call PlaceString
 	call Func_73a84
-	ld hl, $c3c6
+	FuncCoord 18, 1 ; $c3c6
+	ld hl, Coord
 	ld de, W_WHICHTRADE ; $cd3d
 	ld bc, $14
 	ld a, $c
@@ -101846,13 +102990,17 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ret
 ; 739d4 (1c:79d4)
-UnnamedText_739d4: ; 0x739d4
+UnnamedText_739d4: ; 739d4 (1c:79d4)
 	TX_FAR _UnnamedText_739d4
 	db $50
 ; 0x739d4 + 5 bytes
 
-INCBIN "baserom.gbc",$739d9,$73a29 - $739d9
+Unknown_739d9: ; 739d9 (1c:79d9)
+INCBIN "baserom.gbc",$739d9,$73a21 - $739d9
 
+Unknown_73a21: ; 73a21 (1c:7a21)
+INCBIN "baserom.gbc",$73a21,$73a29 - $73a21
+
 ; known jump sources: 738b4 (1c:78b4)
 Func_73a29: ; 73a29 (1c:7a29)
 	ld a, $a
@@ -102018,21 +103166,21 @@
 ; 73b9d (1c:7b9d)
 SECTION "bank1D",DATA,BANK[$1D]
 
-CopycatsHouseF1Blocks: ; 0x74000
+CopycatsHouseF1Blocks: ; 74000 (1d:4000)
 	INCBIN "maps/copycatshousef1.blk"
 
-CinnabarMartBlocks:
-PewterMartBlocks: ; 0x74010 16
+CinnabarMartBlocks: ; 74010 (1d:4010)
+PewterMartBlocks: ; 74010 (1d:4010)
 	INCBIN "maps/pewtermart.blk"
 
-FuchsiaHouse1Blocks: ; 0x74020 16
+FuchsiaHouse1Blocks: ; 74020 (1d:4020)
 	INCBIN "maps/fuchsiahouse1.blk"
 
-CinnabarPokecenterBlocks:
-FuchsiaPokecenterBlocks: ; 0x74030 28
+CinnabarPokecenterBlocks: ; 74030 (1d:4030)
+FuchsiaPokecenterBlocks: ; 74030 (1d:4030)
 	INCBIN "maps/fuchsiapokecenter.blk"
 
-CeruleanHouse3Blocks: ; 0x7404c 16
+CeruleanHouse3Blocks: ; 7404c (1d:404c)
 	INCBIN "maps/ceruleanhouse3.blk"
 
 ; known jump sources: 5a4c8 (16:64c8)
@@ -102054,15 +103202,16 @@
 	ld bc, $10
 	ld a, $ff
 	call FillMemory
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	call Func_7417b
-	ld hl, $c4b8
+	FuncCoord 0, 14 ; $c4b8
+	ld hl, Coord
 	call Func_7417b
 	ld a, $c0
 	ld [rBGP], a ; $FF00+$47
 	call EnableLCD
 	ld a, $ff
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	ld c, $1f
 	ld a, $c7
 	call PlayMusic
@@ -102075,7 +103224,7 @@
 
 ; known jump sources: 741d5 (1d:41d5), 741e6 (1d:41e6), 74226 (1d:4226)
 Func_740ba: ; 740ba (1d:40ba)
-	ld hl, $4160
+	ld hl, Unknown_74160 ; $4160
 	ld b, $4
 .asm_740bf
 	ld a, [hli]
@@ -102086,10 +103235,10 @@
 	jr nz, .asm_740bf
 	ret
 ; 740cb (1d:40cb)
-Func40CB: ; 40CB
+Func40CB: ; 740cb (1d:40cb)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a
-	call Func_3719
+	call SaveScreenTilesToBuffer1
 	call Unknown_74183
 
 	; display the next monster from CreditsMons
@@ -102102,14 +103251,15 @@
 	ld a,[hl]
 	ld [$CF91],a
 	ld [$D0B5],a
-	ld hl,$C420
+	FuncCoord 8, 6 ; $c420
+	ld hl,Coord
 	call GetMonHeader
-	call Func_1389
+	call LoadFrontSpriteByMonIndex
 	ld hl,$980C
 	call Unknown_74164
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED],a
-	call Func_3725
+	call LoadScreenTilesFromBuffer1
 	ld hl,$9800
 	call Unknown_74164
 	ld a,$A7
@@ -102138,7 +103288,7 @@
 	ld [$FF47],a
 	ret
 
-CreditsMons: ; 4131
+CreditsMons: ; 74131 (1d:4131)
 	db VENUSAUR
 	db ARBOK
 	db RHYHORN
@@ -102155,7 +103305,7 @@
 	db NIDOKING
 	db PARASECT
 
-Unknown_74140:
+Unknown_74140: ; 74140 (1d:4140)
 	ld h, b
 	ld l, $20
 	call Func_74152
@@ -102180,9 +103330,10 @@
 	jr z, .asm_7415a
 	ret
 
+Unknown_74160: ; 74160 (1d:4160)
 INCBIN "baserom.gbc",$74160,$74164 - $74160
 
-Unknown_74164:
+Unknown_74164: ; 74164 (1d:4164)
 	ld a, l
 	ld [H_AUTOBGTRANSFERDEST], a ; $FF00+$bc
 	ld a, h
@@ -102208,8 +103359,9 @@
 	ld a, $7e
 	jp FillMemory
 ; 74183 (1d:4183)
-Unknown_74183:
-	ld hl, $c3f0
+Unknown_74183: ; 74183 (1d:4183)
+	FuncCoord 0, 4 ; $c3f0
+	ld hl, Coord
 	ld bc, $c8
 	ld a, $7f
 	jp FillMemory
@@ -102216,11 +103368,12 @@
 
 ; known jump sources: 740b7 (1d:40b7)
 Func_7418e: ; 7418e (1d:418e)
-	ld de, $4243
+	ld de, Unknown_74243 ; $4243
 	push de
 .asm_74192
 	pop de
-	ld hl, $c421
+	FuncCoord 9, 6 ; $c421
+	ld hl, Coord
 	push hl
 	call Unknown_74183
 	pop hl
@@ -102242,7 +103395,7 @@
 	jr z, .asm_74201
 	push hl
 	push hl
-	ld hl, $42c3
+	ld hl, CreditsTextPointers ; $42c3
 	add a
 	ld c, a
 	ld b, $0
@@ -102296,20 +103449,26 @@
 	pop de
 	ld de, TheEndGfx
 	ld hl, $9600
-	ld bc, $1d0a
+	ld bc, (BANK(TheEndGfx) << 8) + $0a
 	call CopyVideoData
-	ld hl, $c444
-	ld de, $4229
+	FuncCoord 4, 8 ; $c444
+	ld hl, Coord
+	ld de, Unknown_74229 ; $4229
 	call PlaceString
-	ld hl, $c458
+	FuncCoord 4, 9 ; $c458
+	ld hl, Coord
 	inc de
 	call PlaceString
 	jp Func_740ba
 
-INCBIN "baserom.gbc",$74229,$742c3 - $74229
+Unknown_74229: ; 74229 (1d:4229)
+INCBIN "baserom.gbc",$74229,$74243 - $74229
 
-CreditsTextPointers: ; 42C3
+Unknown_74243: ; 74243 (1d:4243)
+INCBIN "baserom.gbc",$74243,$742c3 - $74243
 
+CreditsTextPointers: ; 742c3 (1d:42c3)
+
 	dw CredVersion
 	dw CredTajiri
 	dw CredTaOota
@@ -102375,7 +103534,7 @@
 	dw CredClub
 	dw CredPAAD
 
-CredVersion: ; this 1 byte difference makes all bank addresses offset by 1 in the blue version
+CredVersion: ; 74343 (1d:4343) ; this 1 byte difference makes all bank addresses offset by 1 in the blue version
 IF _RED
 	db "2RED VERSION STAFF@"
 ENDC
@@ -102382,137 +103541,137 @@
 IF _BLUE
 	db "2BLUE VERSION STAFF@"
 ENDC
-CredTajiri:
+CredTajiri: ; 74356 (1d:4356)
 	db "4SATOSHI TAJIRI@"
-CredTaOota:
+CredTaOota: ; 74366 (1d:4366)
 	db "4TAKENORI OOTA@"
-CredMorimoto:
+CredMorimoto: ; 74375 (1d:4375)
 	db "3SHIGEKI MORIMOTO@"
-CredWatanabe:
+CredWatanabe: ; 74387 (1d:4387)
 	db "3TETSUYA WATANABE@"
-CredMasuda:
+CredMasuda: ; 74399 (1d:4399)
 	db "4JUNICHI MASUDA@"
-CredNisino:
+CredNisino: ; 743a9 (1d:43a9)
 	db "5KOHJI NISINO@"
-CredSugimori:
+CredSugimori: ; 743b7 (1d:43b7)
 	db "5KEN SUGIMORI@"
-CredNishida:
+CredNishida: ; 743c5 (1d:43c5)
 	db "4ATSUKO NISHIDA@"
-CredMiyamoto:
+CredMiyamoto: ; 743d5 (1d:43d5)
 	db "3SHIGERU MIYAMOTO@"
-CredKawaguchi:
+CredKawaguchi: ; 743e7 (1d:43e7)
 	db "2TAKASHI KAWAGUCHI@"
-CredIshihara:
+CredIshihara: ; 743fa (1d:43fa)
 	db "2TSUNEKAZU ISHIHARA@"
-CredYamauchi:
+CredYamauchi: ; 7440e (1d:440e)
 	db "3HIROSHI YAMAUCHI@"
-CredZinnai:
+CredZinnai: ; 74420 (1d:4420)
 	db "3HIROYUKI ZINNAI@"
-CredHishida:
+CredHishida: ; 74431 (1d:4431)
 	db "3TATSUYA HISHIDA@"
-CredSakai:
+CredSakai: ; 74442 (1d:4442)
 	db "4YASUHIRO SAKAI@"
-CredYamaguchi:
+CredYamaguchi: ; 74452 (1d:4452)
 	db "3WATARU YAMAGUCHI@"
-CredYamamoto:
+CredYamamoto: ; 74464 (1d:4464)
 	db "2KAZUYUKI YAMAMOTO@"
-CredTaniguchi:
+CredTaniguchi: ; 74477 (1d:4477)
 	db "2RYOHSUKE TANIGUCHI@"
-CredNonomura:
+CredNonomura: ; 7448b (1d:448b)
 	db "2FUMIHIRO NONOMURA@"
-CredFuziwara:
+CredFuziwara: ; 7449e (1d:449e)
 	db "3MOTOFUMI FUZIWARA@"
-CredMatsusima:
+CredMatsusima: ; 744b1 (1d:44b1)
 	db "3KENJI MATSUSIMA@"
-CredTomisawa:
+CredTomisawa: ; 744c2 (1d:44c2)
 	db "3AKIHITO TOMISAWA@"
-CredKawamoto:
+CredKawamoto: ; 744d4 (1d:44d4)
 	db "3HIROSHI KAWAMOTO@"
-CredKakei:
+CredKakei: ; 744e6 (1d:44e6)
 	db "4AKIYOSHI KAKEI@"
-CredTsuchiya:
+CredTsuchiya: ; 744f6 (1d:44f6)
 	db "3KAZUKI TSUCHIYA@"
-CredTaNakamura:
+CredTaNakamura: ; 74507 (1d:4507)
 	db "4TAKEO NAKAMURA@"
-CredYuda:
+CredYuda: ; 74517 (1d:4517)
 	db "4MASAMITSU YUDA@"
-CredMon:
+CredMon: ; 74527 (1d:4527)
 	db "7#MON@"
-CredDirector:
+CredDirector: ; 7452d (1d:452d)
 	db "7DIRECTOR@"
-CredProgrammers:
+CredProgrammers: ; 74537 (1d:4537)
 	db "5PROGRAMMERS@"
-CredCharDesign:
+CredCharDesign: ; 74544 (1d:4544)
 	db "3CHARACTER DESIGN@"
-CredMusic:
+CredMusic: ; 74556 (1d:4556)
 	db "8MUSIC@"
-CredSoundEffects:
+CredSoundEffects: ; 7455d (1d:455d)
 	db "4SOUND EFFECTS@"
-CredGameDesign:
+CredGameDesign: ; 7456c (1d:456c)
 	db "5GAME DESIGN@"
-CredMonsterDesign:
+CredMonsterDesign: ; 74579 (1d:4579)
 	db "4MONSTER DESIGN@"
-CredGameScene:
+CredGameScene: ; 74589 (1d:4589)
 	db "4GAME SCENARIO@"
-CredParam:
+CredParam: ; 74598 (1d:4598)
 	db "2PARAMETRIC DESIGN@"
-CredMap:
+CredMap: ; 745ab (1d:45ab)
 	db "6MAP DESIGN@"
-CredTest:
+CredTest: ; 745b7 (1d:45b7)
 	db "3PRODUCT TESTING@"
-CredSpecial:
+CredSpecial: ; 745c8 (1d:45c8)
 	db "4SPECIAL THANKS@"
-CredProducers:
+CredProducers: ; 745d8 (1d:45d8)
 	db "6PRODUCERS@"
-CredProducer:
+CredProducer: ; 745e3 (1d:45e3)
 	db "6PRODUCER@"
-CredExecutive:
+CredExecutive: ; 745ed (1d:45ed)
 	db "2EXECUTIVE PRODUCER@"
-CredTamada:
+CredTamada: ; 74601 (1d:4601)
 	db "4SOUSUKE TAMADA@"
-CredSaOota:
+CredSaOota: ; 74611 (1d:4611)
 	db "5SATOSHI OOTA@"
-CredYoshikawa:
+CredYoshikawa: ; 7461f (1d:461f)
 	db "4RENA YOSHIKAWA@"
-CredToOota:
+CredToOota: ; 7462f (1d:462f)
 	db "4TOMOMICHI OOTA@"
-CredUSStaff:
+CredUSStaff: ; 7463f (1d:463f)
 	db "3US VERSION STAFF@"
-CredUSCoord:
+CredUSCoord: ; 74651 (1d:4651)
 	db "3US COORDINATION@"
-CredTilden:
+CredTilden: ; 74662 (1d:4662)
 	db "5GAIL TILDEN@"
-CredKawakami:
+CredKawakami: ; 7466f (1d:466f)
 	db "4NAOKO KAWAKAMI@"
-CredHiNakamura:
+CredHiNakamura: ; 7467f (1d:467f)
 	db "4HIRO NAKAMURA@"
-CredGiese:
+CredGiese: ; 7468e (1d:468e)
 	db "4WILLIAM GIESE@"
-CredOsborne:
+CredOsborne: ; 7469d (1d:469d)
 	db "5SARA OSBORNE@"
-CredTrans:
+CredTrans: ; 746ab (1d:46ab)
 	db "3TEXT TRANSLATION@"
-CredOgasawara:
+CredOgasawara: ; 746bd (1d:46bd)
 	db "4NOB OGASAWARA@"
-CredIwata:
+CredIwata: ; 746cc (1d:46cc)
 	db "5SATORU IWATA@"
-CredIzushi:
+CredIzushi: ; 746da (1d:46da)
 	db "3TAKEHIRO IZUSHI@"
-CredHarada:
+CredHarada: ; 746eb (1d:46eb)
 	db "3TAKAHIRO HARADA@"
-CredMurakawa:
+CredMurakawa: ; 746fc (1d:46fc)
 	db "3TERUKI MURAKAWA@"
-CredFukui:
+CredFukui: ; 7470d (1d:470d)
 	db "5KOHTA FUKUI@"
-CredClub:
+CredClub: ; 7471a (1d:471a)
 	db "1NCL SUPER MARIO CLUB@"
-CredPAAD:
+CredPAAD: ; 74730 (1d:4730)
 	db "5PAAD TESTING@"
 
-TheEndGfx: ; 473E (473F on blue)
+TheEndGfx: ; 7473e (1d:473e) ; 473E (473F on blue)
 	INCBIN "gfx/theend.2bpp"
 
-Unknown_747de:
+Unknown_747de: ; 747de (1d:47de)
 	ld a, [de]
 	bit 3, a
 	jr nz, .asm_747fb
@@ -102560,7 +103719,7 @@
 	ret
 ; 7481f (1d:481f)
 
-Unknown_7481f:
+Unknown_7481f: ; 7481f (1d:481f)
 	ld hl, HiddenItemCoords
 	ld b, $0
 .asm_74824
@@ -102606,7 +103765,7 @@
 	ret
 ; 0x7486b
 
-Unknown_7486b:
+Unknown_7486b: ; 7486b (1d:486b)
 	sub $5
 	cp $f0
 	ret c
@@ -102614,7 +103773,7 @@
 	ret
 ; 0x74872
 
-Unnamed_ASM_74872: ; 0x74872
+Unnamed_ASM_74872: ; 74872 (1d:4872)
 ; code similar to this appears in a lot of banks; this particular
 ; one is called after you beat the Rocket that gives you TM28 DIG.
 ; the screen then fades out, he disappears, and fades back in
@@ -102642,39 +103801,39 @@
 
 	dw ViridianGymObject ; objects
 
-ViridianGymScript: ; 0x748a3
+ViridianGymScript: ; 748a3 (1d:48a3)
 	ld hl, Gym8CityName
 	ld de, Gym8LeaderName
-	call Func_317f
+	call LoadGymLeaderAndCityName
 	call EnableAutoTextBoxDrawing
 	ld hl, ViridianGymTrainerHeaders
 	ld de, Unknown_748e1
-	ld a, [$d5fb]
-	call Func_3160
-	ld [$d5fb], a
+	ld a, [W_VIRIDIANGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_VIRIDIANGYMCURSCRIPT], a
 	ret
 ; 0x748bf
 
-Gym8CityName:
+Gym8CityName: ; 748bf (1d:48bf)
 	db "VIRIDIAN CITY@"
-Gym8LeaderName:
+Gym8LeaderName: ; 748cd (1d:48cd)
 	db "GIOVANNI@"
 
 ; known jump sources: 7498d (1d:498d), 749e9 (1d:49e9)
 Func_748d6: ; 748d6 (1d:48d6)
 	xor a
-	ld [$cd6b], a
-	ld [$d5fb], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_VIRIDIANGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 748e1 (1d:48e1)
 
-Unknown_748e1:
-dw Func_748eb
-dw Func_324c
-dw Func_3275
-dw Func_74988
-dw Func_7496b
+Unknown_748e1: ; 748e1 (1d:48e1)
+	dw Func_748eb
+	dw Func_324c
+	dw EndTrainerBattle
+	dw Func_74988
+	dw Func_7496b
 
 
 Func_748eb: ; 748eb (1d:48eb)
@@ -102685,7 +103844,7 @@
 	ld hl, Unknown_74916
 	call Func_3442
 	cp $ff
-	jp z, Func_3219
+	jp z, CheckFightingMapTrainers
 	call Func_3486
 	ld hl, $d736
 	set 7, [hl]
@@ -102692,12 +103851,12 @@
 	ld a, $a7
 	call PlaySound
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $4
-	ld [$da39], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-Unknown_74916:
+Unknown_74916: ; 74916 (1d:4916)
 dw $130b
 dw Unknown_74947
 dw $1301
@@ -102724,65 +103883,65 @@
 dw Unknown_74968
 db $FF
 
-Unknown_74947:
+Unknown_74947: ; 74947 (1d:4947)
 db $40
 db $09
 db $FF
-Unknown_7494a:
+Unknown_7494a: ; 7494a (1d:494a)
 db $20
 db $08
 db $FF
-Unknown_7494d:
+Unknown_7494d: ; 7494d (1d:494d)
 db $80
 db $09
 db $FF
-Unknown_74950:
+Unknown_74950: ; 74950 (1d:4950)
 db $10
 db $06
 db $FF
-Unknown_74953:
+Unknown_74953: ; 74953 (1d:4953)
 db $80
 db $02
 db $FF
-Unknown_74956:
+Unknown_74956: ; 74956 (1d:4956)
 db $80
 db $07
 db $FF
-Unknown_74959:
+Unknown_74959: ; 74959 (1d:4959)
 db $10
 db $08
 db $FF
-Unknown_7495c:
+Unknown_7495c: ; 7495c (1d:495c)
 db $10
 db $09
 db $FF
-Unknown_7495f:
+Unknown_7495f: ; 7495f (1d:495f)
 db $40
 db $08
 db $FF
-Unknown_74962:
+Unknown_74962: ; 74962 (1d:4962)
 db $40
 db $06
 db $FF
-Unknown_74965:
+Unknown_74965: ; 74965 (1d:4965)
 db $20
 db $06
 db $FF
-Unknown_74968:
+Unknown_74968: ; 74968 (1d:4968)
 db $20
 db $0C
 db $FF
 
-Func_7496b:
+Func_7496b: ; 7496b (1d:496b)
 	ld a, [$cd38]
 	and a
 	jr nz, .asm_74980
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d736
 	res 7, [hl]
 	ld a, $0
-	ld [$da39], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 .asm_74980
 	ld b, BANK(Func_44fd7)
@@ -102790,14 +103949,14 @@
 	jp Bankswitch ; indirect jump to Func_44fd7 (44fd7 (11:4fd7))
 ; 74988
 
-Func_74988:
+Func_74988: ; 74988 (1d:4988)
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_748d6
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 ; 74995 (1d:4995)
-Unknown_74995:
+Unknown_74995: ; 74995 (1d:4995)
 	ld a, $c
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -102836,11 +103995,11 @@
 	set 7, [hl]
 	jp Func_748d6
 ; 749ec (1d:49ec)
-ViridianGymTexts: ; 0x749ec
+ViridianGymTexts: ; 749ec (1d:49ec)
 	dw ViridianGymText1, ViridianGymText2, ViridianGymText3, ViridianGymText4, ViridianGymText5, ViridianGymText6, ViridianGymText7, ViridianGymText8, ViridianGymText9, ViridianGymText10, Predef5CText, ViridianGymText12, ViridianGymText13, ViridianGymText14
 
-ViridianGymTrainerHeaders:
-ViridianGymTrainerHeader0: ; 0x74a08
+ViridianGymTrainerHeaders: ; 74a08 (1d:4a08)
+ViridianGymTrainerHeader0: ; 74a08 (1d:4a08)
 	db $2 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102850,7 +104009,7 @@
 	dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle
 ; 0x74a14
 
-ViridianGymTrainerHeader1: ; 0x74a14
+ViridianGymTrainerHeader1: ; 74a14 (1d:4a14)
 	db $3 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102860,7 +104019,7 @@
 	dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle
 ; 0x74a20
 
-ViridianGymTrainerHeader2: ; 0x74a20
+ViridianGymTrainerHeader2: ; 74a20 (1d:4a20)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102870,7 +104029,7 @@
 	dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle
 ; 0x74a2c
 
-ViridianGymTrainerHeader3: ; 0x74a2c
+ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102880,7 +104039,7 @@
 	dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle
 ; 0x74a38
 
-ViridianGymTrainerHeader4: ; 0x74a38
+ViridianGymTrainerHeader4: ; 74a38 (1d:4a38)
 	db $6 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102890,7 +104049,7 @@
 	dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle
 ; 0x74a44
 
-ViridianGymTrainerHeader5: ; 0x74a44
+ViridianGymTrainerHeader5: ; 74a44 (1d:4a44)
 	db $7 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102900,7 +104059,7 @@
 	dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle
 ; 0x74a50
 
-ViridianGymTrainerHeader6: ; 0x74a50
+ViridianGymTrainerHeader6: ; 74a50 (1d:4a50)
 	db $8 ; flag's bit
 	db ($3 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102910,7 +104069,7 @@
 	dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle
 ; 0x74a5c
 
-ViridianGymTrainerHeader7: ; 0x74a5c
+ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c)
 	db $9 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d751 ; flag's byte
@@ -102922,7 +104081,7 @@
 
 db $ff
 
-ViridianGymText1: ; 0x74a69
+ViridianGymText1: ; 74a69 (1d:4a69)
 	db $08 ; asm
 	ld a, [$d751]
 	bit 1, a
@@ -102954,220 +104113,220 @@
 	set 7, [hl]
 	ld hl, UnnamedText_74ad3
 	ld de, UnnamedText_74ad3
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $8
 	ld [$d05c], a
 	ld a, $3
-	ld [$d5fb], a
+	ld [W_VIRIDIANGYMCURSCRIPT], a
 .asm_6dff7 ; 0x74acb
 	jp TextScriptEnd
 
-UnnamedText_74ace: ; 0x74ace
+UnnamedText_74ace: ; 74ace (1d:4ace)
 	TX_FAR _UnnamedText_74ace
 	db $50
 ; 0x74ace + 5 bytes
 
-UnnamedText_74ad3: ; 0x74ad3
+UnnamedText_74ad3: ; 74ad3 (1d:4ad3)
 	TX_FAR _UnnamedText_74ad3
 	db $0b, $50
 ; 0x74ad9
 
-UnnamedText_74ad9: ; 0x74ad9
+UnnamedText_74ad9: ; 74ad9 (1d:4ad9)
 	TX_FAR _UnnamedText_74ad9
 	db $0d, $50
 ; 0x74add
 
-ViridianGymText12: ; 0x74adf
+ViridianGymText12: ; 74adf (1d:4adf)
 	TX_FAR _ViridianGymText12
 	db $50
 ; 0x74adf + 5 bytes
 
-ViridianGymText13: ; 0x74ae4
+ViridianGymText13: ; 74ae4 (1d:4ae4)
 	TX_FAR _ReceivedTM27Text
 	db $0b
 
-TM27ExplanationText:
+TM27ExplanationText: ; 74ae9 (1d:4ae9)
 	TX_FAR _TM27ExplanationText
 	db $50
 
-ViridianGymText14: ; 0x74aee
+ViridianGymText14: ; 74aee (1d:4aee)
 	TX_FAR _TM27NoRoomText
 	db $50
 ; 0x74aee + 5 bytes
 
-ViridianGymText2: ; 0x74af3
+ViridianGymText2: ; 74af3 (1d:4af3)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText1: ; 0x74afd
+ViridianGymBattleText1: ; 74afd (1d:4afd)
 	TX_FAR _ViridianGymBattleText1
 	db $50
 ; 0x74afd + 5 bytes
 
-ViridianGymEndBattleText1: ; 0x74b02
+ViridianGymEndBattleText1: ; 74b02 (1d:4b02)
 	TX_FAR _ViridianGymEndBattleText1
 	db $50
 ; 0x74b02 + 5 bytes
 
-ViridianGymAfterBattleText1: ; 0x74b07
+ViridianGymAfterBattleText1: ; 74b07 (1d:4b07)
 	TX_FAR _ViridianGymAfterBattleText1
 	db $50
 ; 0x74b07 + 5 bytes
 
-ViridianGymText3: ; 0x74b0c
+ViridianGymText3: ; 74b0c (1d:4b0c)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader1
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText2: ; 0x74b16
+ViridianGymBattleText2: ; 74b16 (1d:4b16)
 	TX_FAR _ViridianGymBattleText2
 	db $50
 ; 0x74b16 + 5 bytes
 
-ViridianGymEndBattleText2: ; 0x74b1b
+ViridianGymEndBattleText2: ; 74b1b (1d:4b1b)
 	TX_FAR _ViridianGymEndBattleText2
 	db $50
 ; 0x74b1b + 5 bytes
 
-ViridianGymAfterBattleText2: ; 0x74b20
+ViridianGymAfterBattleText2: ; 74b20 (1d:4b20)
 	TX_FAR _ViridianGymAfterBattleText2
 	db $50
 ; 0x74b20 + 5 bytes
 
-ViridianGymText4: ; 0x74b25
+ViridianGymText4: ; 74b25 (1d:4b25)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText3: ; 0x74b2f
+ViridianGymBattleText3: ; 74b2f (1d:4b2f)
 	TX_FAR _ViridianGymBattleText3
 	db $50
 ; 0x74b2f + 5 bytes
 
-ViridianGymEndBattleText3: ; 0x74b34
+ViridianGymEndBattleText3: ; 74b34 (1d:4b34)
 	TX_FAR _ViridianGymEndBattleText3
 	db $50
 ; 0x74b34 + 5 bytes
 
-ViridianGymAfterBattleText3: ; 0x74b39
+ViridianGymAfterBattleText3: ; 74b39 (1d:4b39)
 	TX_FAR _ViridianGymAfterBattleText3
 	db $50
 ; 0x74b39 + 5 bytes
 
-ViridianGymText5: ; 0x74b3e
+ViridianGymText5: ; 74b3e (1d:4b3e)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText4: ; 0x74b48
+ViridianGymBattleText4: ; 74b48 (1d:4b48)
 	TX_FAR _ViridianGymBattleText4
 	db $50
 ; 0x74b48 + 5 bytes
 
-ViridianGymEndBattleText4: ; 0x74b4d
+ViridianGymEndBattleText4: ; 74b4d (1d:4b4d)
 	TX_FAR _ViridianGymEndBattleText4
 	db $50
 ; 0x74b4d + 5 bytes
 
-ViridianGymAfterBattleText4: ; 0x74b52
+ViridianGymAfterBattleText4: ; 74b52 (1d:4b52)
 	TX_FAR _ViridianGymAfterBattleText4
 	db $50
 ; 0x74b52 + 5 bytes
 
-ViridianGymText6: ; 0x74b57
+ViridianGymText6: ; 74b57 (1d:4b57)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText5: ; 0x74b61
+ViridianGymBattleText5: ; 74b61 (1d:4b61)
 	TX_FAR _ViridianGymBattleText5
 	db $50
 ; 0x74b61 + 5 bytes
 
-ViridianGymEndBattleText5: ; 0x74b66
+ViridianGymEndBattleText5: ; 74b66 (1d:4b66)
 	TX_FAR _ViridianGymEndBattleText5
 	db $50
 ; 0x74b66 + 5 bytes
 
-ViridianGymAfterBattleText5: ; 0x74b6b
+ViridianGymAfterBattleText5: ; 74b6b (1d:4b6b)
 	TX_FAR _ViridianGymAfterBattleText5
 	db $50
 ; 0x74b6b + 5 bytes
 
-ViridianGymText7: ; 0x74b70
+ViridianGymText7: ; 74b70 (1d:4b70)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText6: ; 0x74b7a
+ViridianGymBattleText6: ; 74b7a (1d:4b7a)
 	TX_FAR _ViridianGymBattleText6
 	db $50
 ; 0x74b7a + 5 bytes
 
-ViridianGymEndBattleText6: ; 0x74b7f
+ViridianGymEndBattleText6: ; 74b7f (1d:4b7f)
 	TX_FAR _ViridianGymEndBattleText6
 	db $50
 ; 0x74b7f + 5 bytes
 
-ViridianGymAfterBattleText6: ; 0x74b84
+ViridianGymAfterBattleText6: ; 74b84 (1d:4b84)
 	TX_FAR _ViridianGymAfterBattleText6
 	db $50
 ; 0x74b84 + 5 bytes
 
-ViridianGymText8: ; 0x74b89
+ViridianGymText8: ; 74b89 (1d:4b89)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText7: ; 0x74b93
+ViridianGymBattleText7: ; 74b93 (1d:4b93)
 	TX_FAR _ViridianGymBattleText7
 	db $50
 ; 0x74b93 + 5 bytes
 
-ViridianGymEndBattleText7: ; 0x74b98
+ViridianGymEndBattleText7: ; 74b98 (1d:4b98)
 	TX_FAR _ViridianGymEndBattleText7
 	db $50
 ; 0x74b98 + 5 bytes
 
-ViridianGymAfterBattleText7: ; 0x74b9d
+ViridianGymAfterBattleText7: ; 74b9d (1d:4b9d)
 	TX_FAR _ViridianGymAfterBattleText7
 	db $50
 ; 0x74b9d + 5 bytes
 
-ViridianGymText9: ; 0x74ba2
+ViridianGymText9: ; 74ba2 (1d:4ba2)
 	db $08 ; asm
 	ld hl, ViridianGymTrainerHeader7
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-ViridianGymBattleText8: ; 0x74bac
+ViridianGymBattleText8: ; 74bac (1d:4bac)
 	TX_FAR _ViridianGymBattleText8
 	db $50
 ; 0x74bac + 5 bytes
 
-ViridianGymEndBattleText8: ; 0x74bb1
+ViridianGymEndBattleText8: ; 74bb1 (1d:4bb1)
 	TX_FAR _ViridianGymEndBattleText8
 	db $50
 ; 0x74bb1 + 5 bytes
 
-ViridianGymAfterBattleText8: ; 0x74bb6
+ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6)
 	TX_FAR _ViridianGymAfterBattleText8
 	db $50
 ; 0x74bb6 + 5 bytes
 
-ViridianGymText10: ; 0x74bbb
+ViridianGymText10: ; 74bbb (1d:4bbb)
 	db $08 ; asm
 	ld a, [$d751]
 	bit 1, a
@@ -103181,12 +104340,12 @@
 .asm_6064d ; 0x74bd1
 	jp TextScriptEnd
 
-UnnamedText_74bd4: ; 0x74bd4
+UnnamedText_74bd4: ; 74bd4 (1d:4bd4)
 	TX_FAR _UnnamedText_74bd4
 	db $50
 ; 0x74bd4 + 5 bytes
 
-UnnamedText_74bd9: ; 0x74bd9
+UnnamedText_74bd9: ; 74bd9 (1d:4bd9)
 	TX_FAR _UnnamedText_74bd9
 	db $50
 ; 0x74bd9 + 5 bytes
@@ -103217,7 +104376,7 @@
 	EVENT_DISP $a, $11, $10
 	EVENT_DISP $a, $11, $11
 
-ViridianGymBlocks: ; 0x74c47 90
+ViridianGymBlocks: ; 74c47 (1d:4c47)
 	INCBIN "maps/viridiangym.blk"
 
 PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56)
@@ -103228,7 +104387,7 @@
 
 	dw PewterMartObject ; objects
 
-PewterMartScript: ; 0x74cad
+PewterMartScript: ; 74cad (1d:4cad)
 	call EnableAutoTextBoxDrawing
 	ld a, $1
 	ld [$cf0c], a
@@ -103235,27 +104394,27 @@
 	ret
 ; 0x74cb6
 
-PewterMartTexts: ; 0x74cb6
+PewterMartTexts: ; 74cb6 (1d:4cb6)
 	dw PewterMartText1, PewterMartText2, PewterMartText3
 
-PewterMartText2: ; 0x74cbc
+PewterMartText2: ; 74cbc (1d:4cbc)
 	db $08 ; asm
 	ld hl, UnnamedText_74cc6
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_74cc6: ; 0x74cc6
+UnnamedText_74cc6: ; 74cc6 (1d:4cc6)
 	TX_FAR _UnnamedText_74cc6
 	db $50
 ; 0x74cc6 + 5 bytes
 
-PewterMartText3: ; 0x74ccb
+PewterMartText3: ; 74ccb (1d:4ccb)
 	db $08 ; asm
 	ld hl, UnnamedText_74cd5
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_74cd5: ; 0x74cd5
+UnnamedText_74cd5: ; 74cd5 (1d:4cd5)
 	TX_FAR _UnnamedText_74cd5
 	db $50
 ; 0x74cd5 + 5 bytes
@@ -103286,11 +104445,11 @@
 
 	dw UnknownDungeon1Object ; objects
 
-UnknownDungeon1Script: ; 0x74d0c
+UnknownDungeon1Script: ; 74d0c (1d:4d0c)
 	jp EnableAutoTextBoxDrawing
 ; 0x74d0f
 
-UnknownDungeon1Texts: ; 0x74d0f
+UnknownDungeon1Texts: ; 74d0f (1d:4d0f)
 	dw Predef5CText, Predef5CText, Predef5CText
 
 UnknownDungeon1Object: ; 0x74d15 (size=97)
@@ -103325,7 +104484,7 @@
 	EVENT_DISP $f, $b, $3 ; UNKNOWN_DUNGEON_2
 	EVENT_DISP $f, $6, $0 ; UNKNOWN_DUNGEON_3
 
-UnknownDungeon1Blocks: ; 0x74d76 135
+UnknownDungeon1Blocks: ; 74d76 (1d:4d76)
 	INCBIN "maps/unknowndungeon1.blk"
 
 CeruleanHouse3_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230)
@@ -103336,7 +104495,7 @@
 
 	dw CeruleanHouse3Object ; objects
 
-CeruleanHouse3Script: ; 0x74e09
+CeruleanHouse3Script: ; 74e09 (1d:4e09)
 	ld a, $1
 	ld [$cf0c], a
 	dec a
@@ -103344,10 +104503,10 @@
 	ret
 ; 0x74e13
 
-CeruleanHouse3Texts:
+CeruleanHouse3Texts: ; 74e13 (1d:4e13)
 	dw CeruleanHouse3Text1
 
-CeruleanHouse3Text1: ; 0x74e15
+CeruleanHouse3Text1: ; 74e15 (1d:4e15)
 	db $8
 	ld hl, UnnamedText_74e77
 	call PrintText
@@ -103391,25 +104550,25 @@
 	jp TextScriptEnd
 ; 0x74e6d
 
-UnnamedText_74e6d: ; 0x74e6d
+UnnamedText_74e6d: ; 74e6d (1d:4e6d)
 db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
 
-UnnamedText_74e77: ; 0x74e77
+UnnamedText_74e77: ; 74e77 (1d:4e77)
 	TX_FAR _UnnamedText_74e77
 	db $50
 ; 0x74e77 + 5 bytes
 
-UnnamedText_74e7c: ; 0x74e7c
+UnnamedText_74e7c: ; 74e7c (1d:4e7c)
 	TX_FAR _UnnamedText_74e7c
 	db $50
 ; 0x74e7c + 5 bytes
 
-UnnamedText_74e81: ; 0x74e81
+UnnamedText_74e81: ; 74e81 (1d:4e81)
 	TX_FAR _UnnamedText_74e81
 	db $50
 ; 0x74e81 + 5 bytes
 
-Unknown_74e86:
+Unknown_74e86: ; 74e86 (1d:4e86)
 dw UnnamedText_74e96
 dw UnnamedText_74e9b
 dw UnnamedText_74ea0
@@ -103419,42 +104578,42 @@
 dw UnnamedText_74eb4
 dw UnnamedText_74eb9
 
-UnnamedText_74e96: ; 0x74e96
+UnnamedText_74e96: ; 74e96 (1d:4e96)
 	TX_FAR _UnnamedText_74e96
 	db $50
 ; 0x74e96 + 5 bytes
 
-UnnamedText_74e9b: ; 0x74e9b
+UnnamedText_74e9b: ; 74e9b (1d:4e9b)
 	TX_FAR _UnnamedText_74e9b
 	db $50
 ; 0x74e9b + 5 bytes
 
-UnnamedText_74ea0: ; 0x74ea0
+UnnamedText_74ea0: ; 74ea0 (1d:4ea0)
 	TX_FAR _UnnamedText_74ea0
 	db $50
 ; 0x74ea0 + 5 bytes
 
-UnnamedText_74ea5: ; 0x74ea5
+UnnamedText_74ea5: ; 74ea5 (1d:4ea5)
 	TX_FAR _UnnamedText_74ea5
 	db $50
 ; 0x74ea5 + 5 bytes
 
-UnnamedText_74eaa: ; 0x74eaa
+UnnamedText_74eaa: ; 74eaa (1d:4eaa)
 	TX_FAR _UnnamedText_74eaa
 	db $50
 ; 0x74eaa + 5 bytes
 
-UnnamedText_74eaf: ; 0x74eaf
+UnnamedText_74eaf: ; 74eaf (1d:4eaf)
 	TX_FAR _UnnamedText_74eaf
 	db $50
 ; 0x74eaf + 5 bytes
 
-UnnamedText_74eb4: ; 0x74eb4
+UnnamedText_74eb4: ; 74eb4 (1d:4eb4)
 	TX_FAR _UnnamedText_74eb4
 	db $50
 ; 0x74eb4 + 5 bytes
 
-UnnamedText_74eb9: ; 0x74eb9
+UnnamedText_74eb9: ; 74eb9 (1d:4eb9)
 	TX_FAR _UnnamedText_74eb9
 	db $50
 ; 0x74eb9 + 5 bytes
@@ -103477,7 +104636,7 @@
 	EVENT_DISP $4, $7, $2
 	EVENT_DISP $4, $7, $3
 
-Unknown_74ee0:
+Unknown_74ee0: ; 74ee0 (1d:4ee0)
 	ld hl, UnnamedText_74f99
 	call PrintText
 	ld a, $13
@@ -103496,15 +104655,18 @@
 	ld [W_TOPMENUITEMX], a ; $cc25
 	ld hl, $d730
 	set 6, [hl]
-	ld hl, $c3dc
+	FuncCoord 0, 3 ; $c3dc
+	ld hl, Coord
 	ld b, $8
 	ld c, $c
 	call TextBoxBorder
 	call UpdateSprites
-	ld hl, $c406
+	FuncCoord 2, 5 ; $c406
+	ld hl, Coord
 	ld de, Unnamed_74f9e
 	call PlaceString
-	ld hl, $c421
+	FuncCoord 9, 6 ; $c421
+	ld hl, Coord
 	ld de, Unnamed_74fc3
 	call PlaceString
 	ld hl, $d730
@@ -103558,42 +104720,42 @@
 	ld hl, UnnamedText_74fe2
 	jp PrintText
 ; 74f99 (1d:4f99)
-UnnamedText_74f99: ; 0x74f99
+UnnamedText_74f99: ; 74f99 (1d:4f99)
 	TX_FAR _UnnamedText_74f99
 	db $50
 ; 0x74f99 + 5 bytes
 
-Unnamed_74f9e: ; 0x74f9e
+Unnamed_74f9e: ; 74f9e (1d:4f9e)
 	db "FRESH WATER",$4E
 	db "SODA POP",$4E
 	db "LEMONADE",$4E
 	db "CANCEL@"
-Unnamed_74fc3: ; 0x74fc3
+Unnamed_74fc3: ; 74fc3 (1d:4fc3)
 	db "¥200",$4E
 	db "¥300",$4E
 	db "¥350",$4E,"@"
 
-UnnamedText_74fd3: ; 0x74fd3
+UnnamedText_74fd3: ; 74fd3 (1d:4fd3)
 	TX_FAR _UnnamedText_74fd3
 	db $50
 ; 0x74fd3 + 5 bytes
 
-UnnamedText_74fd8: ; 0x74fd8
+UnnamedText_74fd8: ; 74fd8 (1d:4fd8)
 	TX_FAR _UnnamedText_74fd8
 	db $50
 ; 0x74fd8 + 5 bytes
 
-UnnamedText_74fdd: ; 0x74fdd
+UnnamedText_74fdd: ; 74fdd (1d:4fdd)
 	TX_FAR _UnnamedText_74fdd
 	db $50
 ; 0x74fdd + 5 bytes
 
-UnnamedText_74fe2: ; 0x74fe2
+UnnamedText_74fe2: ; 74fe2 (1d:4fe2)
 	TX_FAR _UnnamedText_74fe2
 	db $50
 ; 0x74fe2 + 5 bytes
 
-Unknown_74fe7: ; 0x74fe7
+Unknown_74fe7: ; 74fe7 (1d:4fe7)
 	ld hl, Unknown_75000
 	ld a, [$cc26]
 	add a
@@ -103612,8 +104774,8 @@
 	ret
 ; 0x75000
 
-Unknown_75000:
-INCBIN "baserom.gbc",$75000,$c
+Unknown_75000: ; 75000 (1d:5000)
+INCBIN "baserom.gbc",$75000,$7500c - $75000
 
 FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153)
 	db $08 ; tileset
@@ -103623,23 +104785,23 @@
 
 	dw FuchsiaHouse1Object ; objects
 
-FuchsiaHouse1Script: ; 0x75018
+FuchsiaHouse1Script: ; 75018 (1d:5018)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x7501c
 
-FuchsiaHouse1Texts: ; 0x7501c
+FuchsiaHouse1Texts: ; 7501c (1d:501c)
 	dw FuchsiaHouse1Text1, FuchsiaHouse1Text2, FuchsiaHouse1Text3
 
-FuchsiaHouse1Text1: ; 0x75022
+FuchsiaHouse1Text1: ; 75022 (1d:5022)
 	TX_FAR _FuchsiaHouse1Text1
 	db $50
 
-FuchsiaHouse1Text2: ; 0x75027
+FuchsiaHouse1Text2: ; 75027 (1d:5027)
 	TX_FAR _FuchsiaHouse1Text2
 	db $50
 
-FuchsiaHouse1Text3: ; 0x7502c
+FuchsiaHouse1Text3: ; 7502c (1d:502c)
 	TX_FAR _FuchsiaHouse1Text3
 	db $50
 
@@ -103669,26 +104831,26 @@
 
 	dw FuchsiaPokecenterObject ; objects
 
-FuchsiaPokecenterScript: ; 0x75063
+FuchsiaPokecenterScript: ; 75063 (1d:5063)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x75069
 
-FuchsiaPokecenterTexts:
+FuchsiaPokecenterTexts: ; 75069 (1d:5069)
 	dw FuchsiaPokecenterText1, FuchsiaPokecenterText2, FuchsiaPokecenterText3, FuchsiaPokecenterText4
 
-FuchsiaPokecenterText1: ; 0x75071
+FuchsiaPokecenterText1: ; 75071 (1d:5071)
 	db $ff
 
-FuchsiaPokecenterText2: ; 0x75072
+FuchsiaPokecenterText2: ; 75072 (1d:5072)
 	TX_FAR _FuchsiaPokecenterText1
 	db $50
 
-FuchsiaPokecenterText3: ; 0x75077
+FuchsiaPokecenterText3: ; 75077 (1d:5077)
 	TX_FAR _FuchsiaPokecenterText3
 	db $50
 
-FuchsiaPokecenterText4: ; 0x7507c
+FuchsiaPokecenterText4: ; 7507c (1d:507c)
 	db $f6
 
 FuchsiaPokecenterObject: ; 0x7507d (size=44)
@@ -103718,14 +104880,14 @@
 
 	dw FuchsiaHouse2Object ; objects
 
-FuchsiaHouse2Script: ; 0x750b5
+FuchsiaHouse2Script: ; 750b5 (1d:50b5)
 	jp EnableAutoTextBoxDrawing
 ; 0x750b8
 
-FuchsiaHouse2Texts: ; 0x750b8
+FuchsiaHouse2Texts: ; 750b8 (1d:50b8)
 	dw FuchsiaHouse2Text1, Predef5CText, BoulderText, FuchsiaHouse2Text4, FuchsiaHouse2Text5
 
-FuchsiaHouse2Text1: ; 0x750c2
+FuchsiaHouse2Text1: ; 750c2 (1d:50c2)
 	db $08 ; asm
 	ld a, [$d78e]
 	bit 0, a
@@ -103738,7 +104900,7 @@
 	jr nz, .asm_60cba ; 0x750d6
 	ld hl, WardenGibberishText1
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	ld hl, WardenGibberishText3
@@ -103778,52 +104940,52 @@
 .asm_52039 ; 0x75132
 	jp TextScriptEnd
 
-WardenGibberishText1: ; 0x75135
+WardenGibberishText1: ; 75135 (1d:5135)
 	TX_FAR _WardenGibberishText1
 	db $50
 ; 0x75135 + 5 bytes
 
-WardenGibberishText2: ; 0x7513a
+WardenGibberishText2: ; 7513a (1d:513a)
 	TX_FAR _WardenGibberishText2
 	db $50
 ; 0x7513a + 5 bytes
 
-WardenGibberishText3: ; 0x7513f
+WardenGibberishText3: ; 7513f (1d:513f)
 	TX_FAR _WardenGibberishText3
 	db $50
 ; 0x7513f + 5 bytes
 
-WardenTeethText1: ; 0x75144
+WardenTeethText1: ; 75144 (1d:5144)
 	TX_FAR _WardenTeethText1
 	db $0b
 
-WardenTeethText2: ; 0x75149
+WardenTeethText2: ; 75149 (1d:5149)
 	TX_FAR _WardenTeethText2
 	db $50
 ; 0x75149 + 5 bytes
 
-WardenThankYouText: ; 0x7514e
+WardenThankYouText: ; 7514e (1d:514e)
 	TX_FAR _WardenThankYouText
 	db $50
 ; 0x7514e + 5 bytes
 
-ReceivedHM04Text: ; 0x75153
+ReceivedHM04Text: ; 75153 (1d:5153)
 	TX_FAR _ReceivedHM04Text ; 0x9e5a2
 	db $0B, $50
 ; 0x75153 + 6 bytes = 0x75159
 
-HM04ExplanationText: ; 0x75159
+HM04ExplanationText: ; 75159 (1d:5159)
 	TX_FAR _HM04ExplanationText
 	db $50
 ; 0x75159 + 5 bytes
 
-HM04NoRoomText: ; 0x7515e
+HM04NoRoomText: ; 7515e (1d:515e)
 	TX_FAR _HM04NoRoomText
 	db $50
 ; 0x7515e + 5 bytes
 
-FuchsiaHouse2Text5:
-FuchsiaHouse2Text4: ; 0x75163
+FuchsiaHouse2Text5: ; 75163 (1d:5163)
+FuchsiaHouse2Text4: ; 75163 (1d:5163)
 	db $08 ; asm
 	ldh a, [$8c]
 	cp $4
@@ -103834,12 +104996,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_75176: ; 0x75176
+UnnamedText_75176: ; 75176 (1d:5176)
 	TX_FAR _UnnamedText_75176
 	db $50
 ; 0x75176 + 5 bytes
 
-UnnamedText_7517b: ; 0x7517b
+UnnamedText_7517b: ; 7517b (1d:517b)
 	TX_FAR _UnnamedText_7517b
 	db $50
 ; 0x7517b + 5 bytes
@@ -103864,7 +105026,7 @@
 	EVENT_DISP $5, $7, $4
 	EVENT_DISP $5, $7, $5
 
-FuchsiaHouse2Blocks: ; 0x751ad 20
+FuchsiaHouse2Blocks: ; 751ad (1d:51ad)
 	INCBIN "maps/fuchsiahouse2.blk"
 
 SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156)
@@ -103875,17 +105037,17 @@
 
 	dw SafariZoneEntranceObject ; objects
 
-SafariZoneEntranceScript: ; 0x751cd
+SafariZoneEntranceScript: ; 751cd (1d:51cd)
 	call EnableAutoTextBoxDrawing
 	ld hl, SafariZoneEntranceScripts
-	ld a, [$d61f]
+	ld a, [W_SAFARIZONEENTRANCECURSCRIPT]
 	jp CallFunctionInTable
 ; 0x751d9
 
-SafariZoneEntranceScripts: ; 0x751d9
+SafariZoneEntranceScripts: ; 751d9 (1d:51d9)
 	dw SafariZoneEntranceScript0, SafariZoneEntranceScript1, SafariZoneEntranceScript2, SafariZoneEntranceScript3, SafariZoneEntranceScript4, SafariZoneEntranceScript5, SafariZoneEntranceScript6
 
-SafariZoneEntranceScript0: ; 0x751e7
+SafariZoneEntranceScript0: ; 751e7 (1d:51e7)
 	ld hl, Unknown_75221
 	call ArePlayerCoordsInArray
 	ret nc
@@ -103893,9 +105055,9 @@
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $c
 	ld [$c109], a
 	ld a, [$cd3d]
@@ -103902,7 +105064,7 @@
 	cp $1
 	jr z, .asm_7520f ; 0x75207 $6
 	ld a, $2
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	ret
 .asm_7520f
 	ld a, $10
@@ -103909,42 +105071,42 @@
 	ld c, $1
 	call Unknown_752a3
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	ret
 ; 0x75221
 
-Unknown_75221: ; 0x75221
+Unknown_75221: ; 75221 (1d:5221)
 db $2, $3, $2, $4, $ff
 
-SafariZoneEntranceScript1: ; 0x75226
+SafariZoneEntranceScript1: ; 75226 (1d:5226)
 	call Unknown_752b4
 	ret nz
-SafariZoneEntranceScript2: ; 0x7522a
+SafariZoneEntranceScript2: ; 7522a (1d:522a)
 	xor a
-	ld [$ff00+$b4], a
-	ld [$cd6b], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call UpdateSprites
 	ld a, $4
 	ld [$ff00+$8c], a
 	call DisplayTextID
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 ; 0x75240
 
-SafariZoneEntranceScript3: ; 0x75240
+SafariZoneEntranceScript3: ; 75240 (1d:5240)
 	call Unknown_752b4
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $5
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	ret
 ; 0x7524e
 
-SafariZoneEntranceScript5: ; 0x7524e
+SafariZoneEntranceScript5: ; 7524e (1d:524e)
 	ld a, $4
 	ld [$d528], a
 	ld hl, $d790
@@ -103954,7 +105116,7 @@
 	res 7, [hl]
 	call UpdateSprites
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $6
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -103964,7 +105126,7 @@
 	ld c, $3
 	call Unknown_752a3
 	ld a, $4
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	jr .asm_75286 ; 0x7527d $7
 .asm_7527f
 	ld a, $5
@@ -103974,26 +105136,26 @@
 	ret
 ; 0x75287
 
-SafariZoneEntranceScript4: ; 0x75287
+SafariZoneEntranceScript4: ; 75287 (1d:5287)
 	call Unknown_752b4
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	ret
 ; 0x75295
 
-SafariZoneEntranceScript6: ; 0x75295
+SafariZoneEntranceScript6: ; 75295 (1d:5295)
 	call Unknown_752b4
 	ret nz
 	call Delay3
 	ld a, [$cf0d]
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	ret
 ; 0x752a3
 
-Unknown_752a3: ; 0x752a3
+Unknown_752a3: ; 752a3 (1d:52a3)
 	push af
 	ld b, $0
 	ld a, c
@@ -104003,20 +105165,20 @@
 	call FillMemory
 	jp Func_3486
 ; 752b4 (1d:52b4)
-Unknown_752b4:
+Unknown_752b4: ; 752b4 (1d:52b4)
 	ld a, [$cd38]
 	and a
 	ret
 ; 752b9 (1d:52b9)
-SafariZoneEntranceTexts: ; 0x752b9
+SafariZoneEntranceTexts: ; 752b9 (1d:52b9)
 	dw SafariZoneEntranceText1, SafariZoneEntranceText2, SafariZoneEntranceText3, SafariZoneEntranceText4, SafariZoneEntranceText5, SafariZoneEntranceText6
 
-SafariZoneEntranceText3:
-SafariZoneEntranceText1: ; 0x752c5
+SafariZoneEntranceText3: ; 752c5 (1d:52c5)
+SafariZoneEntranceText1: ; 752c5 (1d:52c5)
 	TX_FAR _SafariZoneEntranceText1
 	db $50
 
-SafariZoneEntranceText4: ; 0x752ca
+SafariZoneEntranceText4: ; 752ca (1d:52ca)
 	TX_FAR UnnamedText_9e6e4 ; 0x9e6e4
 	db $8
 ; 0x752cf
@@ -104023,7 +105185,7 @@
 	ld a, $13
 	ld [$d125], a
 	call DisplayTextBoxID
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jp nz, .asm_75346
@@ -104068,7 +105230,7 @@
 	set 7, [hl]
 	res 6, [hl]
 	ld a, $3
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	jr .asm_75358 ; 0x75344 $12
 .asm_75346
 	ld hl, UnnamedText_75365
@@ -104078,34 +105240,34 @@
 	ld c, $1
 	call Unknown_752a3
 	ld a, $4
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 .asm_75358
 	jp TextScriptEnd
 ; 0x7535b
 
-UnnamedText_7535b: ; 0x7535b
+UnnamedText_7535b: ; 7535b (1d:535b)
 	TX_FAR UnnamedText_9e747 ; 0x9e747
 	db $0B
 
-UnnamedText_75360: ; 0x75360
+UnnamedText_75360: ; 75360 (1d:5360)
 	TX_FAR _UnnamedText_75360
 	db $50
 ; 0x75360 + 5 bytes
 
-UnnamedText_75365: ; 0x75365
+UnnamedText_75365: ; 75365 (1d:5365)
 	TX_FAR _UnnamedText_75365
 	db $50
 ; 0x75365 + 5 bytes
 
-UnnamedText_7536a: ; 0x7536a
+UnnamedText_7536a: ; 7536a (1d:536a)
 	TX_FAR _UnnamedText_7536a
 	db $50
 ; 0x7536a + 5 bytes
 
-SafariZoneEntranceText5: ; 0x7536f
+SafariZoneEntranceText5: ; 7536f (1d:536f)
 	TX_FAR UnnamedText_9e814 ; 0x9e814
 	db $8
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	jr nz, .asm_7539c ; 0x7537b $1f
@@ -104134,30 +105296,30 @@
 	ld [$cf0d], a
 .asm_753b3
 	ld a, $6
-	ld [$d61f], a
+	ld [W_SAFARIZONEENTRANCECURSCRIPT], a
 	jp TextScriptEnd
 ; 0x753bb
 
-UnnamedText_753bb: ; 0x753bb
+UnnamedText_753bb: ; 753bb (1d:53bb)
 	TX_FAR _UnnamedText_753bb
 	db $50
 ; 0x753bb + 5 bytes
 
-UnnamedText_753c0: ; 0x753c0
+UnnamedText_753c0: ; 753c0 (1d:53c0)
 	TX_FAR _UnnamedText_753c0
 	db $50
 ; 0x753c0 + 5 bytes
 
-SafariZoneEntranceText6: ; 0x753c5
+SafariZoneEntranceText6: ; 753c5 (1d:53c5)
 	TX_FAR _UnnamedText_753c5
 	db $50
 ; 0x753c5 + 5 bytes
 
-SafariZoneEntranceText2: ; 0x753ca
+SafariZoneEntranceText2: ; 753ca (1d:53ca)
 	db $08 ; asm
 	ld hl, UnnamedText_753e6
 	call PrintText
-	call Func_35ec
+	call YesNoChoice
 	ld a, [$cc26]
 	and a
 	ld hl, UnnamedText_753f0
@@ -104167,17 +105329,17 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_753e6: ; 0x753e6
+UnnamedText_753e6: ; 753e6 (1d:53e6)
 	TX_FAR _UnnamedText_753e6
 	db $50
 ; 0x753e6 + 5 bytes
 
-UnnamedText_753eb: ; 0x753eb
+UnnamedText_753eb: ; 753eb (1d:53eb)
 	TX_FAR _UnnamedText_753eb
 	db $50
 ; 0x753eb + 5 bytes
 
-UnnamedText_753f0: ; 0x753f0
+UnnamedText_753f0: ; 753f0 (1d:53f0)
 	TX_FAR _UnnamedText_753f0
 	db $50
 ; 0x753f0 + 5 bytes
@@ -104203,7 +105365,7 @@
 	EVENT_DISP $4, $0, $3 ; SAFARI_ZONE_CENTER
 	EVENT_DISP $4, $0, $4 ; SAFARI_ZONE_CENTER
 
-SafariZoneEntranceBlocks: ; 0x75425 12
+SafariZoneEntranceBlocks: ; 75425 (1d:5425)
 	INCBIN "maps/safarizoneentrance.blk"
 
 FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157)
@@ -104214,18 +105376,18 @@
 
 	dw FuchsiaGymObject ; objects
 
-FuchsiaGymScript: ; 0x7543d
+FuchsiaGymScript: ; 7543d (1d:543d)
 	call FuchsiaGymScript_Unknown75453
 	call EnableAutoTextBoxDrawing
 	ld hl, FuchsiaGymTrainerHeaders
 	ld de, Unknown_75482
-	ld a, [$d65b]
-	call Func_3160
-	ld [$d65b], a
+	ld a, [W_FUCHSIAGYMCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_FUCHSIAGYMCURSCRIPT], a
 	ret
 ; 0x75453
 
-FuchsiaGymScript_Unknown75453: ; 0x75453
+FuchsiaGymScript_Unknown75453: ; 75453 (1d:5453)
 	ld hl, $D126
 	bit 6, [hl]
 	res 6, [hl]
@@ -104232,38 +105394,38 @@
 	ret z
 	ld hl, Gym5CityName
 	ld de, Gym5LeaderName
-	call Func_317f
+	call LoadGymLeaderAndCityName
 	ret
 
-Gym5CityName: ; 0x75465
+Gym5CityName: ; 75465 (1d:5465)
 	db "FUCHSIA CITY@"
-Gym5LeaderName: ; 0x75472
+Gym5LeaderName: ; 75472 (1d:5472)
 	db "KOGA@"
 
 ; known jump sources: 7548f (1d:548f), 754d2 (1d:54d2)
 Func_75477: ; 75477 (1d:5477)
 	xor a
-	ld [$cd6b], a
-	ld [$d65b], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_FUCHSIAGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 75482 (1d:5482)
 
-Unknown_75482:
-dw Func_3219
-dw Func_324c
-dw Func_3275
-dw Func_7548a
+Unknown_75482: ; 75482 (1d:5482)
+	dw CheckFightingMapTrainers
+	dw Func_324c
+	dw EndTrainerBattle
+	dw Func_7548a
 ; 7548a (1d:548a)
 
-Func_7548a:
+Func_7548a: ; 7548a (1d:548a)
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_75477
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 ; 75497 (1d:5497)
-Unknown_75497:
+Unknown_75497: ; 75497 (1d:5497)
 	ld a, $9
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
@@ -104292,11 +105454,11 @@
 	ld [$d792], a
 	jp Func_75477
 ; 754d5 (1d:54d5)
-FuchsiaGymTexts: ; 0x754d5
+FuchsiaGymTexts: ; 754d5 (1d:54d5)
 	dw FuchsiaGymText1, FuchsiaGymText2, FuchsiaGymText3, FuchsiaGymText4, FuchsiaGymText5, FuchsiaGymText6, FuchsiaGymText7, FuchsiaGymText8, FuchsiaGymText9, FuchsiaGymText10, FuchsiaGymText11
 
-FuchsiaGymTrainerHeaders:
-FuchsiaGymTrainerHeader0: ; 0x754eb
+FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb)
+FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb)
 	db $2 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d792 ; flag's byte
@@ -104306,7 +105468,7 @@
 	dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle
 ; 0x754f7
 
-FuchsiaGymTrainerHeader2: ; 0x754f7
+FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7)
 	db $3 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d792 ; flag's byte
@@ -104316,7 +105478,7 @@
 	dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle
 ; 0x75503
 
-FuchsiaGymTrainerHeader3: ; 0x75503
+FuchsiaGymTrainerHeader3: ; 75503 (1d:5503)
 	db $4 ; flag's bit
 	db ($4 << 4) ; trainer's view range
 	dw $d792 ; flag's byte
@@ -104326,7 +105488,7 @@
 	dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle
 ; 0x7550f
 
-FuchsiaGymTrainerHeader4: ; 0x7550f
+FuchsiaGymTrainerHeader4: ; 7550f (1d:550f)
 	db $5 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d792 ; flag's byte
@@ -104336,7 +105498,7 @@
 	dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle
 ; 0x7551b
 
-FuchsiaGymTrainerHeader5: ; 0x7551b
+FuchsiaGymTrainerHeader5: ; 7551b (1d:551b)
 	db $6 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d792 ; flag's byte
@@ -104346,7 +105508,7 @@
 	dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle
 ; 0x75527
 
-FuchsiaGymTrainerHeader6: ; 0x75527
+FuchsiaGymTrainerHeader6: ; 75527 (1d:5527)
 	db $7 ; flag's bit
 	db ($2 << 4) ; trainer's view range
 	dw $d792 ; flag's byte
@@ -104358,7 +105520,7 @@
 
 db $ff
 
-FuchsiaGymText1: ; 0x75534
+FuchsiaGymText1: ; 75534 (1d:5534)
 	db $08 ; asm
 	ld a, [$d792]
 	bit 1, a
@@ -104380,181 +105542,181 @@
 	set 7, [hl]
 	ld hl, UnnamedText_75586
 	ld de, UnnamedText_75586
-	call Func_3354
+	call PreBattleSaveRegisters
 	ldh a, [$8c]
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld a, $5
 	ld [$d05c], a
 	xor a
 	ldh [$b4], a
 	ld a, $3
-	ld [$d65b], a
+	ld [W_FUCHSIAGYMCURSCRIPT], a
 .asm_e84c6 ; 0x7557e
 	jp TextScriptEnd
 
-UnnamedText_75581: ; 0x75581
+UnnamedText_75581: ; 75581 (1d:5581)
 	TX_FAR _UnnamedText_75581
 	db $50
 ; 0x75581 + 5 bytes
 
-UnnamedText_75586: ; 0x75586
+UnnamedText_75586: ; 75586 (1d:5586)
 	TX_FAR _UnnamedText_75586
 	db $50
 ; 0x75586 + 5 bytes
 
-UnnamedText_7558b: ; 0x7558b
+UnnamedText_7558b: ; 7558b (1d:558b)
 	TX_FAR _UnnamedText_7558b
 	db $50
 ; 0x7558b + 5 bytes
 
-FuchsiaGymText9: ; 0x75590
+FuchsiaGymText9: ; 75590 (1d:5590)
 	TX_FAR _UnnamedText_75590
 	db $50
 ; 0x75590 + 5 bytes
 
-FuchsiaGymText10: ; 0x75595
+FuchsiaGymText10: ; 75595 (1d:5595)
 	TX_FAR _ReceivedTM06Text ; 0xa00eb
 	db $11
 
-TM06ExplanationText: ; 0x7559a
+TM06ExplanationText: ; 7559a (1d:559a)
 	TX_FAR _TM06ExplanationText
 	db $50
 ; 0x7559a + 5 bytes
 
-FuchsiaGymText11: ; 0x7559f
+FuchsiaGymText11: ; 7559f (1d:559f)
 	TX_FAR _TM06NoRoomText
 	db $50
 ; 0x7559f + 5 bytes
 
-FuchsiaGymText2: ; 0x755a4
+FuchsiaGymText2: ; 755a4 (1d:55a4)
 	db $08 ; asm
 	ld hl, FuchsiaGymTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FuchsiaGymBattleText1: ; 0x755ae
+FuchsiaGymBattleText1: ; 755ae (1d:55ae)
 	TX_FAR _FuchsiaGymBattleText1
 	db $50
 ; 0x755ae + 5 bytes
 
-FuchsiaGymEndBattleText1: ; 0x755b3
+FuchsiaGymEndBattleText1: ; 755b3 (1d:55b3)
 	TX_FAR _FuchsiaGymEndBattleText1
 	db $50
 ; 0x755b3 + 5 bytes
 
-FuchsiaGymAfterBattleText1: ; 0x755b8
+FuchsiaGymAfterBattleText1: ; 755b8 (1d:55b8)
 	TX_FAR _FuchsiaGymAfterBattleText1
 	db $50
 ; 0x755b8 + 5 bytes
 
-FuchsiaGymText3: ; 0x755bd
+FuchsiaGymText3: ; 755bd (1d:55bd)
 	db $08 ; asm
 	ld hl, FuchsiaGymTrainerHeader2
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FuchsiaGymBattleText2: ; 0x755c7
+FuchsiaGymBattleText2: ; 755c7 (1d:55c7)
 	TX_FAR _FuchsiaGymBattleText2
 	db $50
 ; 0x755c7 + 5 bytes
 
-FuchsiaGymEndBattleText2: ; 0x755cc
+FuchsiaGymEndBattleText2: ; 755cc (1d:55cc)
 	TX_FAR _FuchsiaGymEndBattleText2
 	db $50
 ; 0x755cc + 5 bytes
 
-FuchsiaGymAfterBattleText2: ; 0x755d1
+FuchsiaGymAfterBattleText2: ; 755d1 (1d:55d1)
 	TX_FAR _FuchsiaGymAfterBattleText2
 	db $50
 ; 0x755d1 + 5 bytes
 
-FuchsiaGymText4: ; 0x755d6
+FuchsiaGymText4: ; 755d6 (1d:55d6)
 	db $08 ; asm
 	ld hl, FuchsiaGymTrainerHeader3
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FuchsiaGymBattleText3: ; 0x755e0
+FuchsiaGymBattleText3: ; 755e0 (1d:55e0)
 	TX_FAR _FuchsiaGymBattleText3
 	db $50
 ; 0x755e0 + 5 bytes
 
-FuchsiaGymEndBattleText3: ; 0x755e5
+FuchsiaGymEndBattleText3: ; 755e5 (1d:55e5)
 	TX_FAR _FuchsiaGymEndBattleText3
 	db $50
 ; 0x755e5 + 5 bytes
 
-FuchsiaGymAfterBattleText3: ; 0x755ea
+FuchsiaGymAfterBattleText3: ; 755ea (1d:55ea)
 	TX_FAR _FuchsiaGymAfterBattleText3
 	db $50
 ; 0x755ea + 5 bytes
 
-FuchsiaGymText5: ; 0x755ef
+FuchsiaGymText5: ; 755ef (1d:55ef)
 	db $08 ; asm
 	ld hl, FuchsiaGymTrainerHeader4
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FuchsiaGymBattleText4: ; 0x755f9
+FuchsiaGymBattleText4: ; 755f9 (1d:55f9)
 	TX_FAR _FuchsiaGymBattleText4
 	db $50
 ; 0x755f9 + 5 bytes
 
-FuchsiaGymEndBattleText4: ; 0x755fe
+FuchsiaGymEndBattleText4: ; 755fe (1d:55fe)
 	TX_FAR _FuchsiaGymEndBattleText4
 	db $50
 ; 0x755fe + 5 bytes
 
-FuchsiaGymAfterBattleText4: ; 0x75603
+FuchsiaGymAfterBattleText4: ; 75603 (1d:5603)
 	TX_FAR _FuchsiaGymAfterBattleText4
 	db $50
 ; 0x75603 + 5 bytes
 
-FuchsiaGymText6: ; 0x75608
+FuchsiaGymText6: ; 75608 (1d:5608)
 	db $08 ; asm
 	ld hl, FuchsiaGymTrainerHeader5
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FuchsiaGymBattleText5: ; 0x75612
+FuchsiaGymBattleText5: ; 75612 (1d:5612)
 	TX_FAR _FuchsiaGymBattleText5
 	db $50
 ; 0x75612 + 5 bytes
 
-FuchsiaGymEndBattleText5: ; 0x75617
+FuchsiaGymEndBattleText5: ; 75617 (1d:5617)
 	TX_FAR _FuchsiaGymEndBattleText5
 	db $50
 ; 0x75617 + 5 bytes
 
-FuchsiaGymAfterBattleText5: ; 0x7561c
+FuchsiaGymAfterBattleText5: ; 7561c (1d:561c)
 	TX_FAR _FuchsiaGymAfterBattleText5
 	db $50
 ; 0x7561c + 5 bytes
 
-FuchsiaGymText7: ; 0x75621
+FuchsiaGymText7: ; 75621 (1d:5621)
 	db $08 ; asm
 	ld hl, FuchsiaGymTrainerHeader6
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-FuchsiaGymBattleText6: ; 0x7562b
+FuchsiaGymBattleText6: ; 7562b (1d:562b)
 	TX_FAR _FuchsiaGymBattleText6
 	db $50
 ; 0x7562b + 5 bytes
 
-FuchsiaGymEndBattleText6: ; 0x75630
+FuchsiaGymEndBattleText6: ; 75630 (1d:5630)
 	TX_FAR _FuchsiaGymEndBattleText6
 	db $50
 ; 0x75630 + 5 bytes
 
-FuchsiaGymAfterBattleText6: ; 0x75635
+FuchsiaGymAfterBattleText6: ; 75635 (1d:5635)
 	TX_FAR _FuchsiaGymAfterBattleText6
 	db $50
 ; 0x75635 + 5 bytes
 
-FuchsiaGymText8: ; 0x7563a
+FuchsiaGymText8: ; 7563a (1d:563a)
 	db $08 ; asm
 	ld a, [$d792]
 	bit 1, a
@@ -104565,12 +105727,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_7564e: ; 0x7564e
+UnnamedText_7564e: ; 7564e (1d:564e)
 	TX_FAR _UnnamedText_7564e
 	db $50
 ; 0x7564e + 5 bytes
 
-UnnamedText_75653: ; 0x75653
+UnnamedText_75653: ; 75653 (1d:5653)
 	TX_FAR _UnnamedText_75653
 	db $50
 ; 0x75653 + 5 bytes
@@ -104598,7 +105760,7 @@
 	EVENT_DISP $5, $11, $4
 	EVENT_DISP $5, $11, $5
 
-FuchsiaGymBlocks: ; 0x756aa 45
+FuchsiaGymBlocks: ; 756aa (1d:56aa)
 	INCBIN "maps/fuchsiagym.blk"
 
 FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158)
@@ -104609,23 +105771,23 @@
 
 	dw FuchsiaMeetingRoomObject ; objects
 
-FuchsiaMeetingRoomScript: ; 0x756e3
+FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x756e7
 
-FuchsiaMeetingRoomTexts: ; 0x756e7
+FuchsiaMeetingRoomTexts: ; 756e7 (1d:56e7)
 	dw FuchsiaMeetingRoomText1, FuchsiaMeetingRoomText2, FuchsiaMeetingRoomText3
 
-FuchsiaMeetingRoomText1: ; 0x756ed
+FuchsiaMeetingRoomText1: ; 756ed (1d:56ed)
 	TX_FAR _FuchsiaMeetingRoomText1
 	db $50
 
-FuchsiaMeetingRoomText2: ; 0x756f2
+FuchsiaMeetingRoomText2: ; 756f2 (1d:56f2)
 	TX_FAR _FuchsiaMeetingRoomText2
 	db $50
 
-FuchsiaMeetingRoomText3: ; 0x756f7
+FuchsiaMeetingRoomText3: ; 756f7 (1d:56f7)
 	TX_FAR _FuchsiaMeetingRoomText3
 	db $50
 
@@ -104647,7 +105809,7 @@
 	EVENT_DISP $7, $7, $4
 	EVENT_DISP $7, $7, $5
 
-FuchsiaMeetingRoomBlocks: ; 0x75722 28
+FuchsiaMeetingRoomBlocks: ; 75722 (1d:5722)
 	INCBIN "maps/fuchsiameetingroom.blk"
 
 CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166)
@@ -104658,15 +105820,15 @@
 
 	dw CinnabarGymObject ; objects
 
-CinnabarGymScript: ; 0x7574a
+CinnabarGymScript: ; 7574a (1d:574a)
 	call CinnabarGymScript_Unknown75759
 	call EnableAutoTextBoxDrawing
 	ld hl, CinnabarGymScripts
-	ld a, [$d65e]
+	ld a, [W_CINNABARGYMCURSCRIPT]
 	jp CallFunctionInTable
 ; 0x75759
 
-CinnabarGymScript_Unknown75759: ; 0x75759
+CinnabarGymScript_Unknown75759: ; 75759 (1d:5759)
 	ld hl, $D126
 	bit 6, [hl]
 	res 6, [hl]
@@ -104679,33 +105841,33 @@
 	ld hl, $D79B
 	res 7, [hl]
 	ret
-CinnabarGymScript_Unknown75772: ; 0x75772
+CinnabarGymScript_Unknown75772: ; 75772 (1d:5772)
 	ld hl, Gym7CityName
 	ld de, Gym7LeaderName
-	jp Func_317f
+	jp LoadGymLeaderAndCityName
 
-Gym7CityName: ; 0x7577B
+Gym7CityName: ; 7577b (1d:577b)
 	db "CINNABAR ISLAND@"
-Gym7LeaderName: ; 0x7578b
+Gym7LeaderName: ; 7578b (1d:578b)
 	db "BLAINE@"
 
-Unknown_75792:
+Unknown_75792: ; 75792 (1d:5792)
 	xor a
-	ld [$cd6b], a
-	ld [$d65e], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_CINNABARGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ld [$da38], a
 	ret
 ; 757a0 (1d:57a0)
-Unknown_757a0:
+Unknown_757a0: ; 757a0 (1d:57a0)
 	ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c
-	ld [$cc55], a
+	ld [W_TRAINERHEADERFLAGBIT], a
 	ret
 ; 757a6 (1d:57a6)
-CinnabarGymScripts: ; 0x757a6
+CinnabarGymScripts: ; 757a6 (1d:57a6)
 	dw CinnabarGymScript0, CinnabarGymScript1, CinnabarGymScript2, CinnabarGymScript3
 
-CinnabarGymScript0: ; 0x757ae
+CinnabarGymScript0: ; 757ae (1d:57ae)
 	ld a, [$da38]
 	and a
 	ret z
@@ -104723,38 +105885,38 @@
 .asm_757cb
 	call MoveSprite
 	ld a, $1
-	ld [$d65e], a
-	ld [$da39], a
+	ld [W_CINNABARGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 0x757d7
 
-Unknown_757d7:
+Unknown_757d7: ; 757d7 (1d:57d7)
 INCBIN "baserom.gbc",$757d7,$757da - $757d7
 
-Unknown_757da:
+Unknown_757da: ; 757da (1d:57da)
 INCBIN "baserom.gbc",$757da,$757dc - $757da
 
-CinnabarGymScript1: ; 0x757dc
+CinnabarGymScript1: ; 757dc (1d:57dc)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, [$da38]
-	ld [$cc55], a
+	ld [W_TRAINERHEADERFLAGBIT], a
 	ld [$ff00+$8c], a
 	jp DisplayTextID
 ; 0x757f1
 
-Unknown_757f1:
+Unknown_757f1: ; 757f1 (1d:57f1)
 	ld a, $10
 	jp Predef ; indirect jump to HandleBitArray (f666 (3:7666))
 ; 757f6 (1d:57f6)
-CinnabarGymScript2: ; 0x757f6
+CinnabarGymScript2: ; 757f6 (1d:57f6)
 	ld a, [$d057]
 	cp $ff
 	jp z, Unknown_75792
-	ld a, [$cc55]
+	ld a, [W_TRAINERHEADERFLAGBIT]
 	ld [$ff00+$db], a
 	ld c, a
 	ld b, $2
@@ -104763,18 +105925,18 @@
 	ld a, c
 	and a
 	jr nz, .asm_7581b ; 0x7580e $b
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, $ad
 	call PlaySound
-	call Func_3748
+	call WaitForSoundToFinish
 .asm_7581b
-	ld a, [$cc55]
+	ld a, [W_TRAINERHEADERFLAGBIT]
 	ld [$ff00+$db], a
 	ld c, a
 	ld b, $1
 	ld hl, $d79a
 	call Unknown_757f1
-	ld a, [$cc55]
+	ld a, [W_TRAINERHEADERFLAGBIT]
 	sub $2
 	ld c, a
 	ld b, $1
@@ -104782,21 +105944,21 @@
 	call Unknown_757f1
 	call Func_3ead
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld [$da38], a
 	ld a, $0
-	ld [$d65e], a
-	ld [$da39], a
+	ld [W_CINNABARGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 ; 0x7584a
 
-CinnabarGymScript3: ; 0x7584a
+CinnabarGymScript3: ; 7584a (1d:584a)
 	ld a, [$d057]
 	cp $ff
 	jp z, Unknown_75792
 	ld a, $f0
-	ld [$cd6b], a
-Unknown_75857:
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+Unknown_75857: ; 75857 (1d:5857)
 	ld a, $a
 	ld [$ff00+$8c], a
 	call DisplayTextID
@@ -104830,17 +105992,17 @@
 	jp Unknown_75792
 ; 0x7589f
 
-CinnabarGymTexts: ; 0x7589f
+CinnabarGymTexts: ; 7589f (1d:589f)
 	dw CinnabarGymText1, CinnabarGymText2, CinnabarGymText3, CinnabarGymText4, CinnabarGymText5, CinnabarGymText6, CinnabarGymText7, CinnabarGymText8, CinnabarGymText9
 dw UnnamedText_75925 ;CinnabarGymText 10: ; 0x75925
 dw ReceivedTM38Text  ;CinnabarGymText 11: ; 0x7592a
 dw TM38NoRoomText    ;CinnabarGymText 12: ; 0x75934
 
-Unknown_758b7:
+Unknown_758b7: ; 758b7 (1d:58b7)
 	ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c
 	ld [$cf13], a
 	call EngageMapTrainer
-	call Func_32d7
+	call InitBattleEnemyParameters
 	ld hl, $d72d
 	set 6, [hl]
 	set 7, [hl]
@@ -104852,11 +106014,11 @@
 .asm_758d4
 	ld a, $3
 .asm_758d6
-	ld [$d65e], a
-	ld [$da39], a
+	ld [W_CINNABARGYMCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	jp TextScriptEnd
 ; 758df (1d:58df)
-CinnabarGymText1: ; 0x758df
+CinnabarGymText1: ; 758df (1d:58df)
 	db $8
 	ld a, [$d79a]
 	bit 1, a
@@ -104875,34 +106037,34 @@
 	call PrintText
 	ld hl, UnnamedText_75919
 	ld de, UnnamedText_75919 ; $5919 XXX
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, $7
 	ld [$d05c], a
 	jp Unknown_758b7
 ; 0x75914
 
-UnnamedText_75914: ; 0x75914
+UnnamedText_75914: ; 75914 (1d:5914)
 	TX_FAR _UnnamedText_75914
 	db $50
 ; 0x75914 + 5 bytes
 
-UnnamedText_75919: ; 0x75919
+UnnamedText_75919: ; 75919 (1d:5919)
 	TX_FAR UnnamedText_a08c7
 	db $11
 	db $d
 	db $50
 
-UnnamedText_75920: ; 0x75920
+UnnamedText_75920: ; 75920 (1d:5920)
 	TX_FAR _UnnamedText_75920
 	db $50
 ; 0x75920 + 5 bytes
 
-UnnamedText_75925: ; 0x75925
+UnnamedText_75925: ; 75925 (1d:5925)
 	TX_FAR _UnnamedText_75925
 	db $50
 ; 0x75925 + 5 bytes
 
-ReceivedTM38Text: ; 0x7592a
+ReceivedTM38Text: ; 7592a (1d:592a)
 	TX_FAR _ReceivedTM38Text ; 0xa09a8
 	db $0B
 	TX_FAR _TM38ExplanationText
@@ -104909,12 +106071,12 @@
 	db $50
 ; 0x75934
 
-TM38NoRoomText: ; 0x75934
+TM38NoRoomText: ; 75934 (1d:5934)
 	TX_FAR _TM38NoRoomText
 	db $50
 ; 0x75934 + 5 bytes
 
-CinnabarGymText2: ; 0x75939
+CinnabarGymText2: ; 75939 (1d:5939)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79a]
@@ -104924,7 +106086,7 @@
 	call PrintText
 	ld hl, UnnamedText_75964
 	ld de, UnnamedText_75964 ; $5964 XXX
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_46bb4 ; 0x75956
 	ld hl, UnnamedText_75969
@@ -104931,22 +106093,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_7595f: ; 0x7595f
+UnnamedText_7595f: ; 7595f (1d:595f)
 	TX_FAR _UnnamedText_7595f
 	db $50
 ; 0x7595f + 5 bytes
 
-UnnamedText_75964: ; 0x75964
+UnnamedText_75964: ; 75964 (1d:5964)
 	TX_FAR _UnnamedText_75964
 	db $50
 ; 0x75964 + 5 bytes
 
-UnnamedText_75969: ; 0x75969
+UnnamedText_75969: ; 75969 (1d:5969)
 	TX_FAR _UnnamedText_75969
 	db $50
 ; 0x75969 + 5 bytes
 
-CinnabarGymText3: ; 0x7596e
+CinnabarGymText3: ; 7596e (1d:596e)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79a]
@@ -104956,7 +106118,7 @@
 	call PrintText
 	ld hl, UnnamedText_75999
 	ld de, UnnamedText_75999 ; $5999 XXX
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_4b406 ; 0x7598b
 	ld hl, UnnamedText_7599e
@@ -104963,22 +106125,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_75994: ; 0x75994
+UnnamedText_75994: ; 75994 (1d:5994)
 	TX_FAR _UnnamedText_75994
 	db $50
 ; 0x75994 + 5 bytes
 
-UnnamedText_75999: ; 0x75999
+UnnamedText_75999: ; 75999 (1d:5999)
 	TX_FAR _UnnamedText_75999
 	db $50
 ; 0x75999 + 5 bytes
 
-UnnamedText_7599e: ; 0x7599e
+UnnamedText_7599e: ; 7599e (1d:599e)
 	TX_FAR _UnnamedText_7599e
 	db $50
 ; 0x7599e + 5 bytes
 
-CinnabarGymText4: ; 0x759a3
+CinnabarGymText4: ; 759a3 (1d:59a3)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79a]
@@ -104988,7 +106150,7 @@
 	call PrintText
 	ld hl, UnnamedText_759ce
 	ld de, UnnamedText_759ce ; $59ce XXX
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_c0673 ; 0x759c0
 	ld hl, UnnamedText_759d3
@@ -104995,22 +106157,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_759c9: ; 0x759c9
+UnnamedText_759c9: ; 759c9 (1d:59c9)
 	TX_FAR _UnnamedText_759c9
 	db $50
 ; 0x759c9 + 5 bytes
 
-UnnamedText_759ce: ; 0x759ce
+UnnamedText_759ce: ; 759ce (1d:59ce)
 	TX_FAR _UnnamedText_759ce
 	db $50
 ; 0x759ce + 5 bytes
 
-UnnamedText_759d3: ; 0x759d3
+UnnamedText_759d3: ; 759d3 (1d:59d3)
 	TX_FAR _UnnamedText_759d3
 	db $50
 ; 0x759d3 + 5 bytes
 
-CinnabarGymText5: ; 0x759d8
+CinnabarGymText5: ; 759d8 (1d:59d8)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79a]
@@ -105020,7 +106182,7 @@
 	call PrintText
 	ld hl, UnnamedText_75a03
 	ld de, UnnamedText_75a03 ; $5a03 XXX
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_5cfd7 ; 0x759f5
 	ld hl, UnnamedText_75a08
@@ -105027,22 +106189,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_759fe: ; 0x759fe
+UnnamedText_759fe: ; 759fe (1d:59fe)
 	TX_FAR _UnnamedText_759fe
 	db $50
 ; 0x759fe + 5 bytes
 
-UnnamedText_75a03: ; 0x75a03
+UnnamedText_75a03: ; 75a03 (1d:5a03)
 	TX_FAR _UnnamedText_75a03
 	db $50
 ; 0x75a03 + 5 bytes
 
-UnnamedText_75a08: ; 0x75a08
+UnnamedText_75a08: ; 75a08 (1d:5a08)
 	TX_FAR _UnnamedText_75a08
 	db $50
 ; 0x75a08 + 5 bytes
 
-CinnabarGymText6: ; 0x75a0d
+CinnabarGymText6: ; 75a0d (1d:5a0d)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79a]
@@ -105052,7 +106214,7 @@
 	call PrintText
 	ld hl, UnnamedText_75a38
 	ld de, UnnamedText_75a38
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_776b4 ; 0x75a2a
 	ld hl, UnnamedText_75a3d
@@ -105059,22 +106221,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_75a33: ; 0x75a33
+UnnamedText_75a33: ; 75a33 (1d:5a33)
 	TX_FAR _UnnamedText_75a33
 	db $50
 ; 0x75a33 + 5 bytes
 
-UnnamedText_75a38: ; 0x75a38
+UnnamedText_75a38: ; 75a38 (1d:5a38)
 	TX_FAR _UnnamedText_75a38
 	db $50
 ; 0x75a38 + 5 bytes
 
-UnnamedText_75a3d: ; 0x75a3d
+UnnamedText_75a3d: ; 75a3d (1d:5a3d)
 	TX_FAR _UnnamedText_75a3d
 	db $50
 ; 0x75a3d + 5 bytes
 
-CinnabarGymText7: ; 0x75a42
+CinnabarGymText7: ; 75a42 (1d:5a42)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79a]
@@ -105084,7 +106246,7 @@
 	call PrintText
 	ld hl, UnnamedText_75a6d
 	ld de, UnnamedText_75a6d
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_2f755 ; 0x75a5f
 	ld hl, UnnamedText_75a72
@@ -105091,22 +106253,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_75a68: ; 0x75a68
+UnnamedText_75a68: ; 75a68 (1d:5a68)
 	TX_FAR _UnnamedText_75a68
 	db $50
 ; 0x75a68 + 5 bytes
 
-UnnamedText_75a6d: ; 0x75a6d
+UnnamedText_75a6d: ; 75a6d (1d:5a6d)
 	TX_FAR _UnnamedText_75a6d
 	db $50
 ; 0x75a6d + 5 bytes
 
-UnnamedText_75a72: ; 0x75a72
+UnnamedText_75a72: ; 75a72 (1d:5a72)
 	TX_FAR _UnnamedText_75a72
 	db $50
 ; 0x75a72 + 5 bytes
 
-CinnabarGymText8: ; 0x75a77
+CinnabarGymText8: ; 75a77 (1d:5a77)
 	db $08 ; asm
 	call Unknown_757a0
 	ld a, [$d79b]
@@ -105116,7 +106278,7 @@
 	call PrintText
 	ld hl, UnnamedText_75aa2
 	ld de, UnnamedText_75aa2 ; $5aa2 XXX
-	call Func_3354
+	call PreBattleSaveRegisters
 	jp Unknown_758b7
 .asm_d87be ; 0x75a94
 	ld hl, UnnamedText_75aa7
@@ -105123,22 +106285,22 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_75a9d: ; 0x75a9d
+UnnamedText_75a9d: ; 75a9d (1d:5a9d)
 	TX_FAR _UnnamedText_75a9d
 	db $50
 ; 0x75a9d + 5 bytes
 
-UnnamedText_75aa2: ; 0x75aa2
+UnnamedText_75aa2: ; 75aa2 (1d:5aa2)
 	TX_FAR _UnnamedText_75aa2
 	db $50
 ; 0x75aa2 + 5 bytes
 
-UnnamedText_75aa7: ; 0x75aa7
+UnnamedText_75aa7: ; 75aa7 (1d:5aa7)
 	TX_FAR _UnnamedText_75aa7
 	db $50
 ; 0x75aa7 + 5 bytes
 
-CinnabarGymText9: ; 0x75aac
+CinnabarGymText9: ; 75aac (1d:5aac)
 	db $08 ; asm
 	ld a, [$d79a]
 	bit 1, a
@@ -105151,12 +106313,12 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_75ac2: ; 0x75ac2
+UnnamedText_75ac2: ; 75ac2 (1d:5ac2)
 	TX_FAR _UnnamedText_75ac2
 	db $50
 ; 0x75ac2 + 5 bytes
 
-UnnamedText_75ac7: ; 0x75ac7
+UnnamedText_75ac7: ; 75ac7 (1d:5ac7)
 	TX_FAR _UnnamedText_75ac7
 	db $50
 ; 0x75ac7 + 5 bytes
@@ -105185,7 +106347,7 @@
 	EVENT_DISP $a, $11, $10
 	EVENT_DISP $a, $11, $11
 
-CinnabarGymBlocks: ; 0x75b26 90
+CinnabarGymBlocks: ; 75b26 (1d:5b26)
 	INCBIN "maps/cinnabargym.blk"
 
 Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167)
@@ -105196,31 +106358,31 @@
 
 	dw Lab1Object ; objects
 
-Lab1Script: ; 0x75b8c
+Lab1Script: ; 75b8c (1d:5b8c)
 	call EnableAutoTextBoxDrawing
 	ret
 ; 0x75b90
 
-Lab1Texts: ; 0x75b90
+Lab1Texts: ; 75b90 (1d:5b90)
 	dw Lab1Text1, Lab1Text2, Lab1Text3, Lab1Text4, Lab1Text5
 
-Lab1Text1: ; 0x75b9a
+Lab1Text1: ; 75b9a (1d:5b9a)
 	TX_FAR _Lab1Text1
 	db $50
 
-Lab1Text2: ; 0x75b9f
+Lab1Text2: ; 75b9f (1d:5b9f)
 	TX_FAR _Lab1Text2
 	db $50
 
-Lab1Text3: ; 0x75ba4
+Lab1Text3: ; 75ba4 (1d:5ba4)
 	TX_FAR _Lab1Text3
 	db $50
 
-Lab1Text4: ; 0x75ba9
+Lab1Text4: ; 75ba9 (1d:5ba9)
 	TX_FAR _Lab1Text4
 	db $50
 
-Lab1Text5: ; 0x75bae
+Lab1Text5: ; 75bae (1d:5bae)
 	TX_FAR _Lab1Text5
 	db $50
 
@@ -105250,7 +106412,7 @@
 	EVENT_DISP $9, $4, $c ; CINNABAR_LAB_3
 	EVENT_DISP $9, $4, $10 ; CINNABAR_LAB_4
 
-Lab1Blocks: ; 0x75bf1 36
+Lab1Blocks: ; 75bf1 (1d:5bf1)
 	INCBIN "maps/lab1.blk"
 
 Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168)
@@ -105261,28 +106423,28 @@
 
 	dw Lab2Object ; objects
 
-Lab2Script: ; 0x75c21
+Lab2Script: ; 75c21 (1d:5c21)
 	jp EnableAutoTextBoxDrawing
 ; 0x75c24
 
-Lab2Texts: ; 0x75c24
+Lab2Texts: ; 75c24 (1d:5c24)
 	dw Lab2Text1, Lab2Text2, Lab2Text3
 
-Lab2Text1: ; 0x75c2a
+Lab2Text1: ; 75c2a (1d:5c2a)
 	TX_FAR _Lab2Text1
 	db $50
 
-Lab2Text2: ; 0x75c2f
+Lab2Text2: ; 75c2f (1d:5c2f)
 	db $8
 	ld a, $7
 	ld [W_WHICHTRADE], a
 	jr asm_78552 ; 0x75c35 $6
 
-Lab2Text3: ; 0x75c37
+Lab2Text3: ; 75c37 (1d:5c37)
 	db $8
 	ld a, $8
 	ld [W_WHICHTRADE], a
-asm_78552: ; 0x75c3d
+asm_78552: ; 75c3d (1d:5c3d)
 	ld a, $54
 	call Predef
 	jp TextScriptEnd
@@ -105305,7 +106467,7 @@
 	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
 	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
 
-Lab2Blocks: ; 0x75c6b 16
+Lab2Blocks: ; 75c6b (1d:5c6b)
 	INCBIN "maps/lab2.blk"
 
 Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169)
@@ -105316,14 +106478,14 @@
 
 	dw Lab3Object ; objects
 
-Lab3Script: ; 0x75c87
+Lab3Script: ; 75c87 (1d:5c87)
 	jp EnableAutoTextBoxDrawing
 ; 0x75c8a
 
-Lab3Texts: ; 0x75c8a
+Lab3Texts: ; 75c8a (1d:5c8a)
 	dw Lab3Text1, Lab3Text2, Lab3Text3, Lab3Text4, Lab3Text5
 
-Lab3Text1: ; 0x75c94
+Lab3Text1: ; 75c94 (1d:5c94)
 	db $08 ; asm
 	ld a, [$d7a1]
 	bit 7, a
@@ -105348,36 +106510,36 @@
 .asm_eb896 ; 0x75cc5
 	jp TextScriptEnd
 
-TM35PreReceiveText: ; 0x75cc8
+TM35PreReceiveText: ; 75cc8 (1d:5cc8)
 	TX_FAR _TM35PreReceiveText
 	db $50
 ; 0x75cc8 + 5 bytes
 
-ReceivedTM35Text: ; 0x75ccd
+ReceivedTM35Text: ; 75ccd (1d:5ccd)
 	TX_FAR _ReceivedTM35Text ; 0xa0f48
 	db $0B, $50
 ; 0x75cd3
 
-TM35ExplanationText: ; 0x75cd3
+TM35ExplanationText: ; 75cd3 (1d:5cd3)
 	TX_FAR _TM35ExplanationText
 	db $50
 ; 0x75cd3 + 5 bytes
 
-TM35NoRoomText: ; 0x75cd8
+TM35NoRoomText: ; 75cd8 (1d:5cd8)
 	TX_FAR _TM35NoRoomText
 	db $50
 ; 0x75cd8 + 5 bytes
 
-Lab3Text2: ; 0x75cdd
+Lab3Text2: ; 75cdd (1d:5cdd)
 	TX_FAR _Lab3Text2
 	db $50
 
-Lab3Text4:
-Lab3Text3: ; 0x75ce2
+Lab3Text4: ; 75ce2 (1d:5ce2)
+Lab3Text3: ; 75ce2 (1d:5ce2)
 	TX_FAR _Lab3Text3
 	db $50
 
-Lab3Text5: ; 0x75ce7
+Lab3Text5: ; 75ce7 (1d:5ce7)
 	TX_FAR _Lab3Text5
 	db $50
 
@@ -105401,7 +106563,7 @@
 	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
 	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
 
-Lab3Blocks: ; 0x75d15 16
+Lab3Blocks: ; 75d15 (1d:5d15)
 	INCBIN "maps/lab3.blk"
 
 Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170)
@@ -105412,14 +106574,14 @@
 
 	dw Lab4Object ; objects
 
-Lab4Script: ; 0x75d31
+Lab4Script: ; 75d31 (1d:5d31)
 	jp EnableAutoTextBoxDrawing
 ; 0x75d34
 
-Lab4Texts: ; 0x75d34
+Lab4Texts: ; 75d34 (1d:5d34)
 	dw Lab4Text1, Lab4Text2
 
-Unknown_75d38:
+Unknown_75d38: ; 75d38 (1d:5d38)
 	xor a
 	ld [$cd37], a
 	ld de, $cc5b
@@ -105452,10 +106614,10 @@
 	ld [de], a
 	ret
 
-Unknown_75d68:
+Unknown_75d68: ; 75d68 (1d:5d68)
 INCBIN "baserom.gbc",$75d68,$75d6c - $75d68
 
-Lab4Text1: ; 0x75d6c
+Lab4Text1: ; 75d6c (1d:5d6c)
 	db $8
 	ld a, [$d7a3]
 	bit 0, a
@@ -105499,27 +106661,27 @@
 	jr .asm_75d93 ; 0x75dc4 $cd
 ; 0x75dc6
 
-UnnamedText_75dc6: ; 0x75dc6
+UnnamedText_75dc6: ; 75dc6 (1d:5dc6)
 	TX_FAR _UnnamedText_75dc6
 	db $50
 ; 0x75dc6 + 5 bytes
 
-UnnamedText_75dcb: ; 0x75dcb
+UnnamedText_75dcb: ; 75dcb (1d:5dcb)
 	TX_FAR _UnnamedText_75dcb
 	db $50
 ; 0x75dcb + 5 bytes
 
-UnnamedText_75dd0: ; 0x75dd0
+UnnamedText_75dd0: ; 75dd0 (1d:5dd0)
 	TX_FAR _UnnamedText_75dd0
 	db $50
 ; 0x75dd0 + 5 bytes
 
-UnnamedText_75dd5: ; 0x75dd5
+UnnamedText_75dd5: ; 75dd5 (1d:5dd5)
 	TX_FAR _UnnamedText_75dd5
 	db $50
 ; 0x75dd5 + 5 bytes
 
-Lab4Text2: ; 0x75dda
+Lab4Text2: ; 75dda (1d:5dda)
 	db $08 ; asm
 	ld a, $3
 	ld [W_WHICHTRADE], a
@@ -105527,7 +106689,7 @@
 	call Predef
 	jp TextScriptEnd
 
-LoadFossilItemAndMonNameBank1D: ; 0x75de8
+LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8)
 	ld b, BANK(LoadFossilItemAndMonName)
 	ld hl, LoadFossilItemAndMonName
 	jp Bankswitch
@@ -105550,7 +106712,7 @@
 	EVENT_DISP $4, $7, $2 ; CINNABAR_LAB_1
 	EVENT_DISP $4, $7, $3 ; CINNABAR_LAB_1
 
-Lab4Blocks: ; 0x75e10 16
+Lab4Blocks: ; 75e10 (1d:5e10)
 	INCBIN "maps/lab4.blk"
 
 CinnabarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171)
@@ -105561,26 +106723,26 @@
 
 	dw CinnabarPokecenterObject ; objects
 
-CinnabarPokecenterScript: ; 0x75e2c
+CinnabarPokecenterScript: ; 75e2c (1d:5e2c)
 	call Func_22fa
 	jp EnableAutoTextBoxDrawing
 ; 0x75e32
 
-CinnabarPokecenterTexts: ; 0x75e32
+CinnabarPokecenterTexts: ; 75e32 (1d:5e32)
 	dw CinnabarPokecenterText1, CinnabarPokecenterText2, CinnabarPokecenterText3, CinnabarPokecenterText4
 
-CinnabarPokecenterText1: ; 0x75e3a
+CinnabarPokecenterText1: ; 75e3a (1d:5e3a)
 	db $ff
 
-CinnabarPokecenterText2: ; 0x75e3b
+CinnabarPokecenterText2: ; 75e3b (1d:5e3b)
 	TX_FAR _CinnabarPokecenterText1
 	db $50
 
-CinnabarPokecenterText3: ; 0x75e40
+CinnabarPokecenterText3: ; 75e40 (1d:5e40)
 	TX_FAR _CinnabarPokecenterText3
 	db $50
 
-CinnabarPokecenterText4: ; 0x75e45
+CinnabarPokecenterText4: ; 75e45 (1d:5e45)
 	db $f6
 
 CinnabarPokecenterObject: ; 0x75e46 (size=44)
@@ -105610,18 +106772,18 @@
 
 	dw CinnabarMartObject ; objects
 
-CinnabarMartScript: ; 0x75e7e
+CinnabarMartScript: ; 75e7e (1d:5e7e)
 	jp EnableAutoTextBoxDrawing
 ; 0x75e81
 
-CinnabarMartTexts: ; 0x75e81
+CinnabarMartTexts: ; 75e81 (1d:5e81)
 	dw CinnabarMartText1, CinnabarMartText2, CinnabarMartText3
 
-CinnabarMartText2: ; 0x75e87
+CinnabarMartText2: ; 75e87 (1d:5e87)
 	TX_FAR _CinnabarMartText2
 	db $50
 
-CinnabarMartText3: ; 0x75e8c
+CinnabarMartText3: ; 75e8c (1d:5e8c)
 	TX_FAR _CinnabarMartText3
 	db $50
 
@@ -105651,22 +106813,22 @@
 
 	dw CopycatsHouseF1Object ; objects
 
-CopycatsHouseF1Script: ; 0x75ec3
+CopycatsHouseF1Script: ; 75ec3 (1d:5ec3)
 	jp EnableAutoTextBoxDrawing
 ; 0x75ec6
 
-CopycatsHouseF1Texts: ; 0x75ec6
+CopycatsHouseF1Texts: ; 75ec6 (1d:5ec6)
 	dw CopycatsHouseF1Text1, CopycatsHouseF1Text2, CopycatsHouseF1Text3
 
-CopycatsHouseF1Text1: ; 0x75ecc
+CopycatsHouseF1Text1: ; 75ecc (1d:5ecc)
 	TX_FAR _CopycatsHouseF1Text1
 	db $50
 
-CopycatsHouseF1Text2: ; 0x75ed1
+CopycatsHouseF1Text2: ; 75ed1 (1d:5ed1)
 	TX_FAR _CopycatsHouseF1Text2
 	db $50
 
-CopycatsHouseF1Text3: ; 0x75ed6
+CopycatsHouseF1Text3: ; 75ed6 (1d:5ed6)
 	TX_FAR _CopycatsHouseF1Text3
 	db $8
 	ld a, CHANSEY
@@ -105693,7 +106855,7 @@
 	EVENT_DISP $4, $7, $3
 	EVENT_DISP $4, $1, $7 ; COPYCATS_HOUSE_2F
 
-Gary_h: ;0x75f11
+Gary_h: ; 75f11 (1d:5f11)
 	db $7 ;tileset
 	db $4, $4 ;Height, Width
 	dw GaryBlocks, GaryTexts, GaryScript
@@ -105701,19 +106863,19 @@
 
 	dw GaryObject
 
-GaryScript: ; 0x75f1d
+GaryScript: ; 75f1d (1d:5f1d)
 	call EnableAutoTextBoxDrawing
 	ld hl, GaryScripts
-	ld a, [$d64c]
+	ld a, [W_GARYCURSCRIPT]
 	jp CallFunctionInTable
 
-Function75f29: ; 0x75f29
+Function75f29: ; 75f29 (1d:5f29)
 	xor a
-	ld [$cd6b], a
-	ld [$d64c], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-GaryScripts: ; 0x75f31
+GaryScripts: ; 75f31 (1d:5f31)
 	dw GaryScript0
 	dw GaryScript1
 	dw GaryScript2
@@ -105726,13 +106888,13 @@
 	dw GaryScript9
 	dw GaryScript10 ; 60b9
 
-GaryScript0: ; 0x75f47
+GaryScript0: ; 75f47 (1d:5f47)
 	ret
 ; 0x75f48
 
-GaryScript1: ; 0x75f48
+GaryScript1: ; 75f48 (1d:5f48)
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $ccd3
 	ld de, RLEMovement75f63
 	call DecodeRLEList
@@ -105740,22 +106902,22 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $2
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-RLEMovement75f63: ; 0x75f63
+RLEMovement75f63: ; 75f63 (1d:5f63)
 	db $40,1
 	db $10,1
 	db $40,3
 	db $ff
 
-GaryScript2: ; 0x75f6a 5F6A
+GaryScript2: ; 75f6a (1d:5f6a)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $d355
 	res 7, [hl]
 	ld a, $1
@@ -105767,7 +106929,7 @@
 	set 7, [hl]
 	ld hl, UnnamedText_760f9
 	ld de, UnnamedText_760fe
-	call Func_3354
+	call PreBattleSaveRegisters
 	ld a, $f3
 	ld [$d059], a
 
@@ -105788,12 +106950,12 @@
 	ld [W_TRAINERNO], a
 
 	xor a
-	ld [$ff00+$b4], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld a, $3
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-GaryScript3: ; 0x75fbb
+GaryScript3: ; 75fbb (1d:5fbb)
 	ld a, [W_ISINBATTLE]
 	cp $ff
 	jp z, Function75f29
@@ -105801,7 +106963,7 @@
 	ld hl, $d867
 	set 1, [hl]
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $1
 	ld [$ff00+$8c], a
 	call Function760c8
@@ -105809,10 +106971,10 @@
 	ld [$ff00+$8c], a
 	call SetSpriteMovementBytesToFF
 	ld a, $4
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-GaryScript4: ; 0x75fe4
+GaryScript4: ; 75fe4 (1d:5fe4)
 	ld b, BANK(Func_9b81)
 	ld hl, Func_9b81
 	call Bankswitch
@@ -105831,13 +106993,13 @@
 	ld a, $15
 	call Predef
 	ld a, $5
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-Movement76014: ; 0x76014
+Movement76014: ; 76014 (1d:6014)
 	db $40,$40,$40,$40,$40,$ff
 
-GaryScript5: ; 0x7601a
+GaryScript5: ; 7601a (1d:601a)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -105857,10 +107019,10 @@
 	ld [$ff00+$8c], a
 	call Function760c8
 	ld a, $6
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-GaryScript6: ; 0x76047
+GaryScript6: ; 76047 (1d:6047)
 	ld a, $2
 	ld [$ff00+$8c], a
 	ld a, $c
@@ -105870,10 +107032,10 @@
 	ld [$ff00+$8c], a
 	call Function760c8
 	ld a, $7
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-GaryScript7: ; 0x7605f
+GaryScript7: ; 7605f (1d:605f)
 	ld a, $2
 	ld [$ff00+$8c], a
 	xor a
@@ -105887,13 +107049,13 @@
 	ld [$ff00+$8c], a
 	call MoveSprite
 	ld a, $8
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-Movement76080: ; 0x76080
+Movement76080: ; 76080 (1d:6080)
 	db $40,$40,$ff
 
-GaryScript8: ; 0x76083
+GaryScript8: ; 76083 (1d:6083)
 	ld a, [$d730]
 	bit 0, a
 	ret nz
@@ -105902,12 +107064,12 @@
 	ld a, $11
 	call Predef
 	ld a, $9
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
-GaryScript9: ; 0x76099
+GaryScript9: ; 76099 (1d:6099)
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld hl, $ccd3
 	ld de, RLEMovement760b4
 	call DecodeRLEList
@@ -105915,7 +107077,7 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $a
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
 RLEMovement760b4; 0x760b4
@@ -105923,28 +107085,28 @@
 	db $20,1
 	db $ff
 
-GaryScript10: ; 0x760b9
+GaryScript10: ; 760b9 (1d:60b9)
 	ld a, [$cd38]
 	and a
 	ret nz
 	xor a
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ld a, $0
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 
 Function760c8; 0x760c8
 	ld a, $f0
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	call DisplayTextID
 	ld a, $ff
-	ld [$cd6b], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
 	ret
 
-GaryTexts: ; 0x760d6
+GaryTexts: ; 760d6 (1d:60d6)
 	dw GaryText1, GaryText2, GaryText3, GaryText4, GaryText5
 
-GaryText1: ; 0x760e0
+GaryText1: ; 760e0 (1d:60e0)
 	db $08 ; asm
 	ld a, [$d867]
 	bit 1, a
@@ -105955,31 +107117,31 @@
 	call PrintText
 	jp TextScriptEnd
 
-UnnamedText_760f4: ; 0x760f4
+UnnamedText_760f4: ; 760f4 (1d:60f4)
 	TX_FAR _UnnamedText_760f4
 	db $50
 ; 0x760f4 + 5 bytes
 
-UnnamedText_760f9: ; 0x760f9
+UnnamedText_760f9: ; 760f9 (1d:60f9)
 	TX_FAR _UnnamedText_760f9
 	db $50
 ; 0x760f9 + 5 bytes
 
-UnnamedText_760fe: ; 0x760fe
+UnnamedText_760fe: ; 760fe (1d:60fe)
 	TX_FAR _UnnamedText_760fe
 	db $50
 ; 0x760fe + 5 bytes
 
-UnnamedText_76103: ; 0x76103
+UnnamedText_76103: ; 76103 (1d:6103)
 	TX_FAR _UnnamedText_76103
 	db $50
 ; 0x76103 + 5 bytes
 
-GaryText2: ; 0x76108
+GaryText2: ; 76108 (1d:6108)
 	TX_FAR _GaryText2
 	db $50
 
-GaryText3: ; 0x7610d
+GaryText3: ; 7610d (1d:610d)
 	db $8
 	ld a, [$d717]
 	ld [$d11e], a
@@ -105989,17 +107151,17 @@
 	jp TextScriptEnd
 ; 0x76120
 
-UnnamedText_76120: ; 0x76120
+UnnamedText_76120: ; 76120 (1d:6120)
 	TX_FAR _UnnamedText_76120
 	db $50
 ; 0x76120 + 5 bytes
 
-GaryText4: ; 0x76125
+GaryText4: ; 76125 (1d:6125)
 	TX_FAR _UnnamedText_76125
 	db $50
 ; 0x76125 + 5 bytes
 
-GaryText5: ; 0x7612a
+GaryText5: ; 7612a (1d:612a)
 	TX_FAR _UnnamedText_7612a
 	db $50
 ; 0x7612a + 5 bytes
@@ -106025,7 +107187,7 @@
 	EVENT_DISP $4, $0, $3 ; HALL_OF_FAME
 	EVENT_DISP $4, $0, $4 ; HALL_OF_FAME
 
-GaryBlocks: ; 0x7615f 16
+GaryBlocks: ; 7615f (1d:615f)
 	INCBIN "maps/gary.blk"
 
 Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245)
@@ -106036,18 +107198,18 @@
 
 	dw LoreleiObject ; objects
 
-LoreleiScript: ; 0x7617b
+LoreleiScript: ; 7617b (1d:617b)
 	call LoreleiScript_Unknown76191
 	call EnableAutoTextBoxDrawing
 	ld hl, LoreleiTrainerHeaders
 	ld de, Unknown_761bb
-	ld a, [$d64d]
-	call Func_3160
-	ld [$d64d], a
+	ld a, [W_LORELEICURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_LORELEICURSCRIPT], a
 	ret
 ; 0x76191
 
-LoreleiScript_Unknown76191: ; 0x76191
+LoreleiScript_Unknown76191: ; 76191 (1d:6191)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -106070,11 +107232,11 @@
 ; known jump sources: 76247 (1d:6247)
 Func_761b6: ; 761b6 (1d:61b6)
 	xor a
-	ld [$d64d], a
+	ld [W_LORELEICURSCRIPT], a
 	ret
 ; 761bb (1d:61bb)
 
-Unknown_761bb:
+Unknown_761bb: ; 761bb (1d:61bb)
 dw Func_761e2
 dw Func_324c
 dw Func_7623f
@@ -106081,9 +107243,9 @@
 dw Func_7622c
 dw Func_761c5
 
-Func_761c5: ; 0x761c5
+Func_761c5: ; 761c5 (1d:61c5)
 	ret
-asm_761c6: ; 0x761c6
+asm_761c6: ; 761c6 (1d:61c6)
 	ld hl, $ccd3
 	ld a, $40
 	ld [hli], a
@@ -106096,16 +107258,16 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d64d], a
-	ld [$da39], a
+	ld [W_LORELEICURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
-Func_761e2: ; 0x761e2
+Func_761e2: ; 761e2 (1d:61e2)
 	ld hl, Unknown_76223
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b4], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$ccd3], a
 	ld [$cd38], a
 	ld a, [W_WHICHTRADE] ; $cd3d
@@ -106125,25 +107287,25 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d64d], a
-	ld [$da39], a
+	ld [W_LORELEICURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-Unknown_76223: ; 0x76223
+Unknown_76223: ; 76223 (1d:6223)
 INCBIN "baserom.gbc",$76223,$7622c - $76223
 
-Func_7622c: ; 0x7622c
+Func_7622c: ; 7622c (1d:622c)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d64d], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_LORELEICURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
-Func_7623f: ; 0x7623f
-	call Func_3275
+Func_7623f: ; 7623f (1d:623f)
+	call EndTrainerBattle
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_761b6
@@ -106151,11 +107313,11 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp DisplayTextID
 ; 76251 (1d:6251)
-LoreleiTexts: ; 0x76251
+LoreleiTexts: ; 76251 (1d:6251)
 	dw LoreleiText1, LoreleiText2
 
-LoreleiTrainerHeaders:
-LoreleiTrainerHeader0: ; 0x76255
+LoreleiTrainerHeaders: ; 76255 (1d:6255)
+LoreleiTrainerHeader0: ; 76255 (1d:6255)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d863 ; flag's byte
@@ -106167,28 +107329,28 @@
 
 db $ff
 
-LoreleiText1: ; 0x76262
+LoreleiText1: ; 76262 (1d:6262)
 	db $08 ; asm
 	ld hl, LoreleiTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-LoreleiBeforeBattleText: ; 0x7626c
+LoreleiBeforeBattleText: ; 7626c (1d:626c)
 	TX_FAR _LoreleiBeforeBattleText
 	db $50
 ; 0x7626c + 5 bytes
 
-LoreleiEndBattleText: ; 0x76271
+LoreleiEndBattleText: ; 76271 (1d:6271)
 	TX_FAR _LoreleiEndBattleText
 	db $50
 ; 0x76271 + 5 bytes
 
-LoreleiAfterBattleText: ; 0x76276
+LoreleiAfterBattleText: ; 76276 (1d:6276)
 	TX_FAR _LoreleiAfterBattleText
 	db $50
 ; 0x76276 + 5 bytes
 
-LoreleiText2: ; 0x7627b
+LoreleiText2: ; 7627b (1d:627b)
 	TX_FAR _UnnamedText_7627b
 	db $50
 ; 0x7627b + 5 bytes
@@ -106213,7 +107375,7 @@
 	EVENT_DISP $5, $0, $4 ; BRUNOS_ROOM
 	EVENT_DISP $5, $0, $5 ; BRUNOS_ROOM
 
-LoreleiBlocks: ; 0x762ac 30
+LoreleiBlocks: ; 762ac (1d:62ac)
 	INCBIN "maps/loreli.blk"
 
 Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246)
@@ -106224,18 +107386,18 @@
 
 	dw BrunoObject ; objects
 
-BrunoScript: ; 0x762d6
+BrunoScript: ; 762d6 (1d:62d6)
 	call BrunoScript_Unknown762ec
 	call EnableAutoTextBoxDrawing
 	ld hl, BrunoTrainerHeaders
 	ld de, Unknown_76312
-	ld a, [$d64e]
-	call Func_3160
-	ld [$d64e], a
+	ld a, [W_BRUNOCURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_BRUNOCURSCRIPT], a
 	ret
 ; 0x762ec
 
-BrunoScript_Unknown762ec: ; 0x762ec
+BrunoScript_Unknown762ec: ; 762ec (1d:62ec)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -106258,11 +107420,11 @@
 ; known jump sources: 7639e (1d:639e)
 Func_7630d: ; 7630d (1d:630d)
 	xor a
-	ld [$d64e], a
+	ld [W_BRUNOCURSCRIPT], a
 	ret
 ; 76312 (1d:6312)
 
-Unknown_76312:
+Unknown_76312: ; 76312 (1d:6312)
 dw Func_76339
 dw Func_324c
 dw Func_76396
@@ -106269,9 +107431,9 @@
 dw Func_76383
 dw Func_7631c
 
-Func_7631c: ; 0x7631c
+Func_7631c: ; 7631c (1d:631c)
 	ret
-asm_7631d:
+asm_7631d: ; 7631d (1d:631d)
 	ld hl, $ccd3
 	ld a, $40
 	ld [hli], a
@@ -106284,17 +107446,17 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d64e], a
-	ld [$da39], a
+	ld [W_BRUNOCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-Func_76339: ; 0x76339
+Func_76339: ; 76339 (1d:6339)
 	ld hl, Unknown_7637a
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b4], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$ccd3], a
 	ld [$cd38], a
 	ld a, [W_WHICHTRADE] ; $cd3d
@@ -106314,26 +107476,26 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d64e], a
-	ld [$da39], a
+	ld [W_BRUNOCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-Unknown_7637a: ; 0x7637a
+Unknown_7637a: ; 7637a (1d:637a)
 INCBIN "baserom.gbc",$7637a,$76383 - $7637a
 
-Func_76383: ; 0x76383
+Func_76383: ; 76383 (1d:6383)
 	ld a, [$cd38]
 	and a
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d64e], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_BRUNOCURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
-Func_76396: ; 0x76396
-	call Func_3275
+Func_76396: ; 76396 (1d:6396)
+	call EndTrainerBattle
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_7630d
@@ -106341,11 +107503,11 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	jp DisplayTextID
 ; 763a8 (1d:63a8)
-BrunoTexts: ; 0x763a8
+BrunoTexts: ; 763a8 (1d:63a8)
 	dw BrunoText1, BrunoText2
 
-BrunoTrainerHeaders:
-BrunoTrainerHeader0: ; 0x763ac
+BrunoTrainerHeaders: ; 763ac (1d:63ac)
+BrunoTrainerHeader0: ; 763ac (1d:63ac)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d864 ; flag's byte
@@ -106357,28 +107519,28 @@
 
 db $ff
 
-BrunoText1: ; 0x763b9
+BrunoText1: ; 763b9 (1d:63b9)
 	db $08 ; asm
 	ld hl, BrunoTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-BrunoBeforeBattleText: ; 0x763c3
+BrunoBeforeBattleText: ; 763c3 (1d:63c3)
 	TX_FAR _BrunoBeforeBattleText
 	db $50
 ; 0x763c3 + 5 bytes
 
-BrunoEndBattleText: ; 0x763c8
+BrunoEndBattleText: ; 763c8 (1d:63c8)
 	TX_FAR _BrunoEndBattleText
 	db $50
 ; 0x763c8 + 5 bytes
 
-BrunoAfterBattleText: ; 0x763cd
+BrunoAfterBattleText: ; 763cd (1d:63cd)
 	TX_FAR _BrunoAfterBattleText
 	db $50
 ; 0x763cd + 5 bytes
 
-BrunoText2: ; 0x763d2
+BrunoText2: ; 763d2 (1d:63d2)
 	TX_FAR _UnnamedText_763d2
 	db $50
 ; 0x763d2 + 5 bytes
@@ -106403,7 +107565,7 @@
 	EVENT_DISP $5, $0, $4 ; AGATHAS_ROOM
 	EVENT_DISP $5, $0, $5 ; AGATHAS_ROOM
 
-BrunoBlocks: ; 0x76403 30
+BrunoBlocks: ; 76403 (1d:6403)
 	INCBIN "maps/bruno.blk"
 
 Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247)
@@ -106414,18 +107576,18 @@
 
 	dw AgathaObject ; objects
 
-AgathaScript: ; 0x7642d
+AgathaScript: ; 7642d (1d:642d)
 	call AgathaScript_Unknown76443
 	call EnableAutoTextBoxDrawing
 	ld hl, AgathaTrainerHeaders
 	ld de, Unknown_76469
-	ld a, [$d64f]
-	call Func_3160
-	ld [$d64f], a
+	ld a, [W_AGATHACURSCRIPT]
+	call ExecuteCurMapScriptInTable
+	ld [W_AGATHACURSCRIPT], a
 	ret
 ; 0x76443
 
-AgathaScript_Unknown76443: ; 0x76443
+AgathaScript_Unknown76443: ; 76443 (1d:6443)
 	ld hl, $d126
 	bit 5, [hl]
 	res 5, [hl]
@@ -106448,11 +107610,11 @@
 ; known jump sources: 764f5 (1d:64f5)
 Func_76464: ; 76464 (1d:6464)
 	xor a
-	ld [$d64f], a
+	ld [W_AGATHACURSCRIPT], a
 	ret
 ; 76469 (1d:6469)
 
-Unknown_76469:
+Unknown_76469: ; 76469 (1d:6469)
 dw Func_76490
 dw Func_324c
 dw Func_764ed
@@ -106461,7 +107623,7 @@
 
 Func_76473: ; 76473 (1d:6473)
 	ret
-asm_76474:
+asm_76474: ; 76474 (1d:6474)
 	ld hl, $ccd3
 	ld a, $40
 	ld [hli], a
@@ -106474,17 +107636,17 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d64f], a
-	ld [$da39], a
+	ld [W_AGATHACURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
 Func_76490: ; 76490 (1d:6490)
 	ld hl, Unknown_764d1
 	call ArePlayerCoordsInArray
-	jp nc, Func_3219
+	jp nc, CheckFightingMapTrainers
 	xor a
-	ld [$FF00+$b3], a
-	ld [$FF00+$b4], a
+	ld [H_NEWLYPRESSEDBUTTONS], a
+	ld [H_CURRENTPRESSEDBUTTONS], a
 	ld [$ccd3], a
 	ld [$cd38], a
 	ld a, [W_WHICHTRADE] ; $cd3d
@@ -106504,8 +107666,8 @@
 	ld [$cd38], a
 	call Func_3486
 	ld a, $3
-	ld [$d64f], a
-	ld [$da39], a
+	ld [W_AGATHACURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
 Unknown_764d1: ; 764d1 (1d:64d1)
@@ -106517,13 +107679,13 @@
 	ret nz
 	call Delay3
 	xor a
-	ld [$cd6b], a
-	ld [$d64f], a
-	ld [$da39], a
+	ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+	ld [W_AGATHACURSCRIPT], a
+	ld [W_CURMAPSCRIPT], a
 	ret
 
 Func_764ed: ; 764ed (1d:64ed)
-	call Func_3275
+	call EndTrainerBattle
 	ld a, [W_ISINBATTLE] ; $d057
 	cp $ff
 	jp z, Func_76464
@@ -106531,14 +107693,14 @@
 	ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
 	call DisplayTextID
 	ld a, $1
-	ld [$d64c], a
+	ld [W_GARYCURSCRIPT], a
 	ret
 ; 76505 (1d:6505)
-AgathaTexts: ; 0x76505
+AgathaTexts: ; 76505 (1d:6505)
 	dw AgathaText1, AgathaText2
 
-AgathaTrainerHeaders:
-AgathaTrainerHeader0: ; 0x76509
+AgathaTrainerHeaders: ; 76509 (1d:6509)
+AgathaTrainerHeader0: ; 76509 (1d:6509)
 	db $1 ; flag's bit
 	db ($0 << 4) ; trainer's view range
 	dw $d865 ; flag's byte
@@ -106550,28 +107712,28 @@
 
 db $ff
 
-AgathaText1: ; 0x76516
+AgathaText1: ; 76516 (1d:6516)
 	db $08 ; asm
 	ld hl, AgathaTrainerHeader0
-	call LoadTrainerHeader
+	call TalkToTrainer
 	jp TextScriptEnd
 
-AgathaBeforeBattleText: ; 0x76520
+AgathaBeforeBattleText: ; 76520 (1d:6520)
 	TX_FAR _AgathaBeforeBattleText
 	db $50
 ; 0x76520 + 5 bytes
 
-AgathaEndBattleText: ; 0x76525
+AgathaEndBattleText: ; 76525 (1d:6525)
 	TX_FAR _AgathaEndBattleText
 	db $50
 ; 0x76525 + 5 bytes
 
-AgathaAfterBattleText: ; 0x7652a
+AgathaAfterBattleText: ; 7652a (1d:652a)
 	TX_FAR _AgathaAfterBattleText
 	db $50
 ; 0x7652a + 5 bytes
 
-AgathaText2: ; 0x7652f
+AgathaText2: ; 7652f (1d:652f)
 	TX_FAR _AgathaText2
 	db $50
 ; 0x7652f + 5 bytes
@@ -106596,7 +107758,7 @@
 	EVENT_DISP $5, $0, $4 ; LANCES_ROOM
 	EVENT_DISP $5, $0, $5 ; LANCES_ROOM
 
-AgathaBlocks: ; 0x76560 30
+AgathaBlocks: ; 76560 (1d:6560)
 	INCBIN "maps/agatha.blk"
 
 Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; 0x7657e
@@ -106650,13 +107812,13 @@
 	call ClearScreen
 	call GoPAL_SET_CF1C
 	jp GBPalNormal
-Unknown_765e5: ; 0x765e5
+Unknown_765e5: ; 765e5 (1d:65e5)
 	ld c, 6
 .third
 	push bc
 	call Unknown_76610
-	call Func_3865
-	ld a, [$FF00+$B4]
+	call WaitForTextScrollButtonPress
+	ld a, [H_CURRENTPRESSEDBUTTONS]
 	bit 1, a
 	jr nz, .fifth
 	ld hl, $CC6B
@@ -106676,7 +107838,7 @@
 	pop bc
 	scf 
 	ret 
-Unknown_76610: ; 0x76610
+Unknown_76610: ; 76610 (1d:6610)
 	call GBPalWhiteOutWithDelay3
 	call ClearScreen
 	ld hl, $CC5B
@@ -106694,18 +107856,22 @@
 	ld b, $0B
 	ld c, 0
 	call GoPAL_SET
-	ld hl, $C410
+	FuncCoord 12, 5 ; $c410
+	ld hl, Coord
 	call GetMonHeader
-	call Func_1389
+	call LoadFrontSpriteByMonIndex
 	call GBPalNormal
-	ld hl, $C4A4
+	FuncCoord 0, 13 ; $c4a4
+	ld hl, Coord
 	ld b, 2
 	ld c, $12
 	call TextBoxBorder
-	ld hl, $C4CD
+	FuncCoord 1, 15 ; $c4cd
+	ld hl, Coord
 	ld de, HallOfFameNoText
 	call PlaceString
-	ld hl, $C4DC
+	FuncCoord 16, 15 ; $c4dc
+	ld hl, Coord
 	ld de, $CD42
 	ld bc, $0103
 	call PrintNumber
@@ -106713,15 +107879,15 @@
 	ld hl, Func_702f0
 	jp Bankswitch
 
-HallOfFameNoText: ; 0x76670
+HallOfFameNoText: ; 76670 (1d:6670)
 	db "HALL OF FAME No   @"
 
-UnnamedText_76683: ; 0x76683
+UnnamedText_76683: ; 76683 (1d:6683)
 	TX_FAR _UnnamedText_76683
 	db $50
 ; 0x76683 + 5 bytes
 
-HiddenItems: ; 0x76688
+HiddenItems: ; 76688 (1d:6688)
 	ld hl, HiddenItemCoords
 	call Label76857
 	ld [$cd41], a
@@ -106743,7 +107909,7 @@
 	ld a, $24
 	jp Func_3ef5
 
-HiddenItemCoords: ; 0x766b8
+HiddenItemCoords: ; 766b8 (1d:66b8)
 ; map ID, then coords
 	db VIRIDIAN_FOREST,$12,$01
 	db VIRIDIAN_FOREST,$2a,$10
@@ -106801,7 +107967,7 @@
 	db ROUTE_4,$03,$28
 	db $ff
 
-FoundHiddenItemText: ; 0x7675b
+FoundHiddenItemText: ; 7675b (1d:675b)
 ; XXX where is the pointer to this?
 	TX_FAR UnnamedText_894d0
 	db $8
@@ -106817,11 +107983,11 @@
 	ld a, $10
 	call Predef
 	ld a, $89
-	call Func_3740 ; play sound
-	call Func_3748 ; wait for sound to finish playing
+	call PlaySoundWaitForCurrent ; play sound
+	call WaitForSoundToFinish ; wait for sound to finish playing
 	jp TextScriptEnd
 .bagfull
-	call Func_3865 ; wait for button press
+	call WaitForTextScrollButtonPress ; wait for button press
 	xor a
 	ld [$cc3c], a
 	ld hl, HiddenItemBagFullText
@@ -106828,11 +107994,11 @@
 	call PrintText
 	jp TextScriptEnd
 
-HiddenItemBagFullText: ; 0x76794
+HiddenItemBagFullText: ; 76794 (1d:6794)
 	TX_FAR _UnnamedText_76794
 	db $50
 
-HiddenCoins: ; 0x76799
+HiddenCoins: ; 76799 (1d:6799)
 	ld b, COIN_CASE
 	ld a, $1c
 	call Predef
@@ -106905,7 +108071,7 @@
 .done
 	jp Func_3ef5
 
-HiddenCoinCoords: ; 0x76822
+HiddenCoinCoords: ; 76822 (1d:6822)
 	db GAME_CORNER,$08,$00
 	db GAME_CORNER,$10,$01
 	db GAME_CORNER,$0b,$03
@@ -106920,17 +108086,17 @@
 	db GAME_CORNER,$0f,$0c
 	db $ff
 
-FoundHiddenCoinsText: ; 0x76847
+FoundHiddenCoinsText: ; 76847 (1d:6847)
 	TX_FAR _FoundHiddenCoinsText
 	db $10,"@"
 
-DroppedHiddenCoinsText: ; 0x7684d
+DroppedHiddenCoinsText: ; 7684d (1d:684d)
 	TX_FAR _FoundHiddenCoins2Text
 	db $10
 	TX_FAR _DroppedHiddenCoinsText
 	db $50
 
-Label76857: ; 0x76857
+Label76857: ; 76857 (1d:6857)
 	ld a, [$cd40]
 	ld d, a
 	ld a, [$cd41]
@@ -106963,7 +108129,7 @@
 
 ; Draws a "frame block". Frame blocks are blocks of tiles that are put
 ; together to form frames in battle animations.
-DrawFrameBlock: ; 4000
+DrawFrameBlock: ; 78000 (1e:4000)
 	ld l,c
 	ld h,b
 	ld a,[hli]
@@ -107110,7 +108276,7 @@
 	jr z,.resetFrameBlockDestAddr
 	call AnimationCleanOAM
 .resetFrameBlockDestAddr
-	ld hl,$C300 ; OAM buffer
+	ld hl,W_OAMBUFFER ; OAM buffer
 	ld a,l
 	ld [W_FBDESTADDR + 1],a
 	ld a,h
@@ -107124,7 +108290,7 @@
 .done
 	ret
 
-PlayAnimation: ; 40F1
+PlayAnimation: ; 780f1 (1e:40f1)
 	xor a
 	ld [$FF8B],a
 	ld [W_SUBANIMTRANSFORM],a
@@ -107133,7 +108299,7 @@
 	ld l,a
 	ld h,0
 	add hl,hl
-	ld de,$607D ; animation command stream pointers
+	ld de,Unknown_7a07d  ; $607d ; animation command stream pointers
 	add hl,de
 	ld a,[hli]
 	ld h,[hl]
@@ -107195,7 +108361,7 @@
 	ld l,a
 	ld h,0
 	add hl,hl
-	ld de,$676D ; subanimation pointer table
+	ld de,Unknown_7a76d  ; $676d ; subanimation pointer table
 	add hl,de
 	ld a,l
 	ld [W_SUBANIMADDRPTR],a
@@ -107219,7 +108385,7 @@
 .AnimationOver ; 417B
 	ret
 
-LoadSubanimation: ; 417C
+LoadSubanimation: ; 7817c (1e:417c)
 	ld a,[W_SUBANIMADDRPTR + 1]
 	ld h,a
 	ld a,[W_SUBANIMADDRPTR]
@@ -107269,7 +108435,7 @@
 ; called if the subanimation type is not 5
 ; sets the transform to 0 (i.e. no transform) if it's the player's turn
 ; sets the transform to the subanimation type if it's the enemy's turn
-GetSubanimationTransform1: ; 41C2
+GetSubanimationTransform1: ; 781c2 (1e:41c2)
 	ld b,a
 	ld a,[H_WHOSETURN]
 	and a
@@ -107281,7 +108447,7 @@
 ; called if the subanimation type is 5
 ; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn
 ; sets the transform to 0 (i.e. no transform) if it's the enemy's turn
-GetSubanimationTransform2: ; 41CA
+GetSubanimationTransform2: ; 781ca (1e:41ca)
 	ld a,[H_WHOSETURN]
 	and a
 	ld a,2 << 5
@@ -107290,7 +108456,7 @@
 	ret
 
 ; loads tile patterns for battle animations
-LoadAnimationTileset: ; 41D2
+LoadAnimationTileset: ; 781d2 (1e:41d2)
 	ld a,[$D09F] ; tileset select
 	add a
 	add a
@@ -107310,7 +108476,7 @@
 	ld c,a ; number of tiles
 	jp CopyVideoData ; load tileset
 
-AnimationTilesetPointers: ; 41F2
+AnimationTilesetPointers: ; 781f2 (1e:41f2)
 db 79 ; number of tiles
 dw AnimationTileset1
 db $FF
@@ -107323,11 +108489,11 @@
 dw AnimationTileset1
 db $FF
 
-AnimationTileset1: ; 41FE
-INCBIN "baserom.gbc",$781FE,79 * 16
+AnimationTileset1: ; 781fe (1e:41fe)
+INCBIN "baserom.gbc",$781fe,$786ee - $781fe
 
-AnimationTileset2: ; 46EE
-INCBIN "baserom.gbc",$786EE,79 * 16
+AnimationTileset2: ; 786ee (1e:46ee)
+INCBIN "baserom.gbc",$786ee,$78bde - $786ee
 
 IF _RED
 	INCBIN "gfx/red/slotmachine2.2bpp"
@@ -107336,12 +108502,12 @@
 	INCBIN "gfx/blue/slotmachine2.2bpp"
 ENDC
 
-MoveAnimation: ; 4D5E
+MoveAnimation: ; 78d5e (1e:4d5e)
 	push hl
 	push de
 	push bc
 	push af
-	call Func_3748
+	call WaitForSoundToFinish
 	call Func_78e23
 	ld a,[W_ANIMATIONID]
 	and a
@@ -107368,7 +108534,7 @@
 .next4
 	call Function4DBD ; reload pic and flash the pic in and out (to show damage)
 .AnimationFinished
-	call Func_3748
+	call WaitForSoundToFinish
 	xor a
 	ld [$D096],a
 	ld [$D09B],a
@@ -107381,7 +108547,7 @@
 	pop hl
 	ret
 
-ShareMoveAnimations: ; 4DA6
+ShareMoveAnimations: ; 78da6 (1e:4da6)
 ; some moves just reuse animations from status conditions
 	ld a,[H_WHOSETURN]
 	and a
@@ -107404,7 +108570,7 @@
 	ld [W_ANIMATIONID],a
 	ret
 
-Function4DBD: ; 4DBD
+Function4DBD: ; 78dbd (1e:4dbd)
 	ld a,[$CC5B]
 	and a
 	ret z
@@ -107419,7 +108585,7 @@
 	ld l,a
 	jp [hl]
 
-Pointer4DCF: ; 4DCF
+Pointer4DCF: ; 78dcf (1e:4dcf)
 	dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE
 
 	call Func_79e6a
@@ -107490,7 +108656,7 @@
 	ld [rOBP1], a ; $FF00+$49
 	ret
 ; 78e53 (1e:4e53)
-PlaySubanimation: ; 4E53
+PlaySubanimation: ; 78e53 (1e:4e53)
 	ld a,[W_ANIMSOUNDID]
 	cp a,$FF
 	jr z,.skipPlayingSound
@@ -107497,7 +108663,7 @@
 	call Func586F
 	call PlaySound ; play sound effect
 .skipPlayingSound
-	ld hl,$C300 ; base address of OAM buffer
+	ld hl,W_OAMBUFFER ; base address of OAM buffer
 	ld a,l
 	ld [W_FBDESTADDR + 1],a
 	ld a,h
@@ -107522,7 +108688,7 @@
 	push hl
 	ld e,[hl] ; base coordinate ID
 	ld d,0
-	ld hl,$7C85 ; base coordinate table
+	ld hl,Unknown_7bc85  ; $7c85 ; base coordinate table
 	add hl,de
 	add hl,de
 	ld a,[hli]
@@ -107556,7 +108722,7 @@
 	ld [W_SUBANIMSUBENTRYADDR],a
 	jp .loop
 
-AnimationCleanOAM: ; 4EC8
+AnimationCleanOAM: ; 78ec8 (1e:4ec8)
 	push hl
 	push de
 	push bc
@@ -107571,7 +108737,7 @@
 
 ; this runs after each frame block is drawn in a subanimation
 ; it runs a particular special effect based on the animation ID
-DoSpecialEffectByAnimationId: ; 4ED7
+DoSpecialEffectByAnimationId: ; 78ed7 (1e:4ed7)
 	push hl
 	push de
 	push bc
@@ -107594,7 +108760,7 @@
 	ret
 
 ; Format: Animation ID (1 byte), Address (2 bytes)
-AnimationIdSpecialEffects: ; 4EF5
+AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
 	db MEGA_PUNCH
 	dw AnimationFlashScreen
 
@@ -107669,7 +108835,7 @@
 
 	db $FF ; terminator
 
-DoBallTossSpecialEffects: ; 4F3E
+DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
 	ld a,[$CF91]
 	cp a,3 ; is it a Master Ball or Ultra Ball?
 	jr nc,.skipFlashingEffect
@@ -107724,7 +108890,7 @@
 	ld [W_SUBANIMCOUNTER],a
 	ret
 
-DoBallShakeSpecialEffects: ; 4F96
+DoBallShakeSpecialEffects: ; 78f96 (1e:4f96)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,4 ; is it the beginning of a shake?
 	jr nz,.skipPlayingSound
@@ -107758,7 +108924,7 @@
 	ret
 
 ; plays a sound after the second frame of the poof animation
-DoPoofSpecialEffects: ; 4FCE
+DoPoofSpecialEffects: ; 78fce (1e:4fce)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,5
 	ret nz
@@ -107765,7 +108931,7 @@
 	ld a,$93
 	jp PlaySound
 
-DoRockSlideSpecialEffects: ; 4FD9
+DoRockSlideSpecialEffects: ; 78fd9 (1e:4fd9)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,12
 	ret nc
@@ -107783,7 +108949,7 @@
 	ld a,$21
 	jp Predef ; shake vertically
 
-FlashScreenEveryEightFrameBlocks: ; 4FF7
+FlashScreenEveryEightFrameBlocks: ; 78ff7 (1e:4ff7)
 	ld a,[W_SUBANIMCOUNTER]
 	and a,7 ; is the subanimation counter exactly 8?
 	call z,AnimationFlashScreen ; if so, flash the screen
@@ -107790,7 +108956,7 @@
 	ret
 
 ; flashes the screen if the subanimation counter is divisible by 4
-FlashScreenEveryFourFrameBlocks: ; 5000
+FlashScreenEveryFourFrameBlocks: ; 79000 (1e:5000)
 	ld a,[W_SUBANIMCOUNTER]
 	and a,3
 	call z,AnimationFlashScreen
@@ -107797,16 +108963,17 @@
 	ret
 
 ; used for Explosion and Selfdestruct
-DoExplodeSpecialEffects: ; 5009
+DoExplodeSpecialEffects: ; 79009 (1e:5009)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,1 ; is it the end of the subanimation?
 	jr nz,FlashScreenEveryFourFrameBlocks
 ; if it's the end of the subanimation, make the attacking pokemon disappear
-	ld hl,$C405
+	FuncCoord 1, 5 ; $c405
+	ld hl,Coord
 	jp Func_79801 ; make pokemon disappear
 
 ; flashes the screen when subanimation counter is 1 modulo 4
-DoBlizzardSpecialEffects: ; 5016
+DoBlizzardSpecialEffects: ; 79016 (1e:5016)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,13
 	jp z,AnimationFlashScreen
@@ -107820,7 +108987,7 @@
 
 ; flashes the screen at 3 points in the subanimation
 ; XXX is this unused?
-Func502E: ; 502E
+Func502E: ; 7902e (1e:502e)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,14
 	jp z,AnimationFlashScreen
@@ -107832,7 +108999,7 @@
 
 ; function to make the pokemon disappear at the beginning of the animation
 ; XXX probably a trade-related animation
-Func5041:
+Func5041: ; 79041 (1e:5041)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,6
 	ret nz
@@ -107841,7 +109008,7 @@
 
 ; function to make a shaking pokeball jump up at the end of the animation
 ; XXX probably a trade-related animation
-Func504C:
+Func504C: ; 7904c (1e:504c)
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,1
 	ret nz
@@ -107848,7 +109015,7 @@
 ; if it's the end of the animation, make the ball jump up
 	ld de,BallMoveDistances1
 .loop
-	ld hl,$c300 ; OAM buffer
+	ld hl,W_OAMBUFFER ; OAM buffer
 	ld bc,4
 .innerLoop
 	ld a,[de]
@@ -107870,7 +109037,7 @@
 	ld a,$98
 	jp PlaySound ; play sound
 
-BallMoveDistances1: ; 5078
+BallMoveDistances1: ; 79078 (1e:5078)
 db -12,-12,-8
 db $ff ; terminator
 
@@ -107879,7 +109046,7 @@
 Func507C ; 507C
 	ld de,BallMoveDistances2
 .loop
-	ld hl,$c300 ; OAM buffer
+	ld hl,W_OAMBUFFER ; OAM buffer
 	ld bc,4
 .innerLoop
 	ld a,[de]
@@ -107912,14 +109079,14 @@
 	pop de
 	jr .loop
 
-BallMoveDistances2: ; 50B3
+BallMoveDistances2: ; 790b3 (1e:50b3)
 db 11,12,-12,-7,7,12,-8,8
 db $ff ; terminator
 
 ; this function copies the current musical note graphic
 ; so that there are two musical notes flying towards the defending pokemon
-DoGrowlSpecialEffects: ; 50BC
-	ld hl,$c300 ; OAM buffer
+DoGrowlSpecialEffects: ; 790bc (1e:50bc)
+	ld hl,W_OAMBUFFER ; OAM buffer
 	ld de,$c310
 	ld bc,$10
 	call CopyData ; copy the musical note graphic
@@ -107930,7 +109097,7 @@
 
 ; this is associated with Tail Whip, but Tail Whip doesn't use any subanimations
 ; XXX why is this here?
-Func50D0: ; 50D0
+Func50D0: ; 790d0 (1e:50d0)
 	ld a,1
 	ld [W_SUBANIMCOUNTER],a
 	ld c,20
@@ -107937,7 +109104,7 @@
 	jp DelayFrames
 
 ; Format: Special Effect ID (1 byte), Address (2 bytes)
-SpecialEffectPointers: ; 50DA
+SpecialEffectPointers: ; 790da (1e:50da)
 	db $FE
 	dw AnimationFlashScreen
 	db $FD
@@ -108018,13 +109185,13 @@
 	dw $5666
 	db $FF
 
-AnimationDelay10: ; 5150
+AnimationDelay10: ; 79150 (1e:5150)
 	ld c,10
 	jp DelayFrames
 
 ; calls a function with the turn flipped from player to enemy or vice versa
 ; input - hl - address of function to call
-CallWithTurnFlipped: ; 5155
+CallWithTurnFlipped: ; 79155 (1e:5155)
 	ld a,[H_WHOSETURN]
 	push af
 	xor a,1
@@ -108038,7 +109205,7 @@
 	ret 
 
 ; flashes the screen for an extended period (48 frames)
-AnimationFlashScreenLong: ; 5165
+AnimationFlashScreenLong: ; 79165 (1e:5165)
 	ld a,3 ; cycle through the palettes 3 times
 	ld [$D08A],a
 	ld a,[$cf1b] ; running on SGB?
@@ -108064,7 +109231,7 @@
 	ret 
 
 ; BG palettes
-FlashScreenLongMonochrome: ; 518E
+FlashScreenLongMonochrome: ; 7918e (1e:518e)
 db %11111001 ; 3, 3, 2, 1
 db %11111110 ; 3, 3, 3, 2
 db %11111111 ; 3, 3, 3, 3
@@ -108080,7 +109247,7 @@
 db $01 ; terminator
 
 ; BG palettes
-FlashScreenLongSGB: ; 519B
+FlashScreenLongSGB: ; 7919b (1e:519b)
 db %11111000 ; 3, 3, 2, 0
 db %11111100 ; 3, 3, 3, 0
 db %11111111 ; 3, 3, 3, 3
@@ -108097,7 +109264,7 @@
 
 ; causes a delay of 2 frames for the first cycle
 ; causes a delay of 1 frame for the second and third cycles
-FlashScreenLongDelay: ; 51A8
+FlashScreenLongDelay: ; 791a8 (1e:51a8)
 	ld a,[$D08A]
 	cp a,4 ; never true since [$D08A] starts at 3
 	ld c,4
@@ -108110,7 +109277,7 @@
 .delayFrames
 	jp DelayFrames
 
-AnimationFlashScreen: ; 51BE
+AnimationFlashScreen: ; 791be (1e:51be)
 	ld a,[rBGP]
 	push af ; save initial palette
 	ld a,%00011011 ; 0, 1, 2, 3 (inverted colors)
@@ -108125,7 +109292,7 @@
 	ld [rBGP],a ; restore initial palette
 	ret
 
-	ld bc, $6f6f
+	ld bc, Unknown_7af6f ; $6f6f
 	jr .asm_791fc
 
 INCBIN "baserom.gbc",$791db,$791ea - $791db
@@ -108184,7 +109351,7 @@
 
 ; known jump sources: 79232 (1e:5232), 7923f (1e:523f)
 Func_79246: ; 79246 (1e:5246)
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 .asm_79249
 	ld a, [W_BASECOORDY] ; $d082
 	ld [hli], a
@@ -108237,7 +109404,7 @@
 
 ; known jump sources: 3c226 (f:4226)
 Func_792b9: ; 792b9 (1e:52b9)
-	ld hl, $52af
+	ld hl, Func_792af ; $52af
 	jp CallWithTurnFlipped
 
 INCBIN "baserom.gbc",$792bf,$79329 - $792bf
@@ -108302,8 +109469,10 @@
 
 ; known jump sources: 78df3 (1e:4df3)
 Func_79369: ; 79369 (1e:5369)
-	ld hl, $536f
+	ld hl, Func_7936f ; $536f
 	jp CallWithTurnFlipped
+
+Func_7936f: ; 7936f (1e:536f)
 	push af
 	ld c, $6
 .asm_79372
@@ -108322,7 +109491,7 @@
 
 ; known jump sources: 7976b (1e:576b)
 Func_79389: ; 79389 (1e:5389)
-	ld a, [$d014]
+	ld a, [W_PLAYERMONID]
 	ld [$ceea], a
 	ld a, [$cfe5]
 	ld [$cee9], a
@@ -108337,7 +109506,7 @@
 	call Func_79820
 	call Func_79aae
 	jp Delay3
-	ld hl, $539e
+	ld hl, Func_7939e ; $539e
 	jp CallWithTurnFlipped
 
 INCBIN "baserom.gbc",$793b1,$793f9 - $793b1
@@ -108344,9 +109513,11 @@
 	call Func_79801
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
-	ld hl, $c406
+	FuncCoord 2, 5 ; $c406
+	ld hl, Coord
 	jr z, .asm_79407
-	ld hl, $c3ab
+	FuncCoord 11, 0 ; $c3ab
+	ld hl, Coord
 .asm_79407
 	xor a
 	push hl
@@ -108380,11 +109551,11 @@
 	ld c, $3
 	xor a
 	call Func_797e8
-	ld hl, $5476
+	ld hl, Unknown_79476 ; $5476
 .asm_79447
 	push hl
 	ld c, $3
-	ld de, $c300
+	ld de, W_OAMBUFFER
 .asm_7944d
 	ld a, [hl]
 	cp $ff
@@ -108414,6 +109585,7 @@
 	call AnimationCleanOAM
 	jp AnimationFlashScreen
 
+Unknown_79476: ; 79476 (1e:5476)
 INCBIN "baserom.gbc",$79476,$794a1 - $79476
 	ld c, $4
 .asm_794a3
@@ -108421,12 +109593,16 @@
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	jr z, .asm_794b1
-	ld hl, $c3b0
-	ld de, $c3ae
+	FuncCoord 16, 0 ; $c3b0
+	ld hl, Coord
+	FuncCoord 14, 0 ; $c3ae
+	ld de, Coord
 	jr .asm_794b7
 .asm_794b1
-	ld hl, $c409
-	ld de, $c407
+	FuncCoord 5, 5 ; $c409
+	ld hl, Coord
+	FuncCoord 3, 5 ; $c407
+	ld de, Coord
 .asm_794b7
 	push de
 	xor a
@@ -108492,7 +109668,7 @@
 	call LoadAnimationTileset
 	pop bc
 	ld d, $7a
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 	push bc
 	ld a, [W_BASECOORDY] ; $d082
 	ld e, a
@@ -108506,7 +109682,7 @@
 	ld [$d08a], a
 .asm_79538
 	push bc
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 .asm_7953c
 	ld a, [W_BASECOORDY] ; $d082
 	add $8
@@ -108546,7 +109722,7 @@
 	pop hl
 	ld de, $194
 	add hl, de
-	ld de, $55c4
+	ld de, Unknown_795c4 ; $55c4
 	ld c, $5
 .asm_795b4
 	ld a, [de]
@@ -108559,6 +109735,7 @@
 	call Delay3
 	jp Func_7939e
 
+Unknown_795c4: ; 795c4 (1e:55c4)
 INCBIN "baserom.gbc",$795c4,$795f8 - $795c4
 
 ; known jump sources: 792b6 (1e:52b6)
@@ -108566,10 +109743,12 @@
 	ld a, [H_WHOSETURN] ; $FF00+$f3
 	and a
 	jr z, .asm_79602
-	ld hl, $c3ac
+	FuncCoord 12, 0 ; $c3ac
+	ld hl, Coord
 	jr .asm_79605
 .asm_79602
-	ld hl, $c404
+	FuncCoord 0, 5 ; $c404
+	ld hl, Coord
 .asm_79605
 	ld d, $8
 .asm_79607
@@ -108638,7 +109817,7 @@
 
 INCBIN "baserom.gbc",$79666,$796e0 - $79666
 
-Func_796e0: ; 0x796e0
+Func_796e0: ; 796e0 (1e:56e0)
 	ld hl, $c6e8
 	xor a
 	ld bc, $0310
@@ -108646,40 +109825,40 @@
 	ld a, [$ff00+$f3]
 	and a
 	jr z, .asm_79715 ; 0x796ed $26
-	ld hl, $4780
+	ld hl, SlowbroSprite ; $4780       ; facing down sprite
 	ld de, $c808
-	call Func_7973f
-	ld hl, $4790
+	call CopySlowbroSpriteData
+	ld hl, SlowbroSprite + $10 ; $4790
 	ld de, $c878
-	call Func_7973f
-	ld hl, $47a0
+	call CopySlowbroSpriteData
+	ld hl, SlowbroSprite + $20 ; $47a0
 	ld de, $c818
-	call Func_7973f
-	ld hl, $47b0
+	call CopySlowbroSpriteData
+	ld hl, SlowbroSprite + $30 ; $47b0
 	ld de, $c888
-	call Func_7973f
+	call CopySlowbroSpriteData
 	jr .asm_79739 ; 0x79713 $24
 .asm_79715
-	ld hl, $47c0
+	ld hl, SlowbroSprite + $40 ; $47c0 ; facing up sprite
 	ld de, $c878
-	call Func_7973f
-	ld hl, $47d0
+	call CopySlowbroSpriteData
+	ld hl, SlowbroSprite + $50 ; $47d0
 	ld de, $c8e8
-	call Func_7973f
-	ld hl, $47e0
+	call CopySlowbroSpriteData
+	ld hl, SlowbroSprite + $60 ; $47e0
 	ld de, $c888
-	call Func_7973f
-	ld hl, $47f0
+	call CopySlowbroSpriteData
+	ld hl, SlowbroSprite + $70 ; $47f0
 	ld de, $c8f8
-	call Func_7973f
+	call CopySlowbroSpriteData
 .asm_79739
 	call Func_79652
 	jp Func_7939e
 ; 0x7973f
 
-Func_7973f: ; 0x7973f
+CopySlowbroSpriteData: ; 7973f (1e:573f)
 	ld bc, $0010
-	ld a, $5
+	ld a, BANK(SlowbroSprite)
 	jp FarCopyData2
 ; 0x79747
 
@@ -108708,13 +109887,13 @@
 	call Func_79389
 	jp Func_7939e
 
-Func_79771: ; 0x79771
+Func_79771: ; 79771 (1e:5771)
 	call Func_792af
 	call Func_796e0
 	jp Func_7939e
 ; 0x7977a
 
-Func_7977a: ; 0x7977a
+Func_7977a: ; 7977a (1e:577a)
 	ld c, $5
 .asm_7977c
 	push bc
@@ -108725,10 +109904,10 @@
 	jp Func_7939e
 ; 0x79787
 
-Func_79787: ; 0x79787
+Func_79787: ; 79787 (1e:5787)
 	ld a, [$cfe5]
 	ld [$ceea], a
-	ld a, [$d014]
+	ld a, [W_PLAYERMONID]
 	ld [$cee9], a
 
 ; known jump sources: 708ee (1c:48ee), 79395 (1e:5395)
@@ -108742,8 +109921,9 @@
 	xor a
 	ld [W_SPRITEFLIPPED], a
 	call GetMonHeader
-	ld hl, $c3ac
-	call Func_1389
+	FuncCoord 12, 0 ; $c3ac
+	ld hl, Coord
+	call LoadFrontSpriteByMonIndex
 	jr .asm_797d3
 .asm_797b0
 	ld a, [$cfd9]
@@ -108765,7 +109945,7 @@
 	jp GoPAL_SET
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $5801
+	ld hl, Func_79801 ; $5801
 	call CallWithTurnFlipped
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
@@ -108782,7 +109962,7 @@
 	xor a
 	ld e, a
 	ld [W_BASECOORDX], a ; $d081
-	ld hl, $c300
+	ld hl, W_OAMBUFFER
 .asm_797fa
 	call Func_79329
 	dec c
@@ -108806,7 +109986,7 @@
 	push bc
 	ld e, a
 	ld d, $0
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	add hl, de
 	ld bc, $707
 	call ClearScreenArea
@@ -108826,7 +110006,7 @@
 .asm_7982a
 	ld a, $c
 .asm_7982c
-	ld hl, $c3a0
+	ld hl, W_SCREENTILESBUFFER
 	ld e, a
 	ld d, $0
 	add hl, de
@@ -108845,7 +110025,7 @@
 
 ; known jump sources: 79298 (1e:5298), 7939f (1e:539f), 79409 (1e:5409), 797c6 (1e:57c6), 79de2 (1e:5de2)
 Func_79842: ; 79842 (1e:5842)
-	ld hl, $5aea
+	ld hl, Unknown_79aea ; $5aea
 	ld e, a
 	ld d, $0
 	add hl, de
@@ -108883,7 +110063,7 @@
 
 INCBIN "baserom.gbc",$79869,$7986f - $79869
 
-Func586F: ; 0x7986F 586F
+Func586F: ; 7986f (1e:586f)
 	ld hl,MoveSoundTable
 	ld e,a
 	ld d,0
@@ -108897,7 +110077,7 @@
 	ld a,[H_WHOSETURN]
 	and a
 	jr nz,.next
-	ld a,[$D014] ; get number of current monster
+	ld a,[W_PLAYERMONID] ; get number of current monster
 	jr .Continue
 .next
 	ld a,[$CFE5]
@@ -108922,7 +110102,7 @@
 .done
 	ld a,b
 	ret
-IsCryMove: ; 0x798ad
+IsCryMove: ; 798ad (1e:58ad)
 ; set carry if the move animation involves playing a monster cry
 	ld a,[W_ANIMATIONID]
 	cp a,GROWL
@@ -108935,7 +110115,7 @@
 	scf
 	ret
 
-MoveSoundTable: ; 0x798bc
+MoveSoundTable: ; 798bc (1e:58bc)
 	db $a0,$00,$80
 	db $a2,$10,$80
 	db $b3,$00,$80
@@ -109120,10 +110300,10 @@
 	ld a, [$cd6c]
 	and a
 	jr nz, .asm_79ac8
-	ld de, $5b02
+	ld de, Unknown_79b02 ; $5b02
 	jr asm_79acb
 .asm_79ac8
-	ld de, $5b1b
+	ld de, Unknown_79b1b ; $5b1b
 asm_79acb: ; 79acb (1e:5acb)
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
@@ -109154,8 +110334,15 @@
 	pop hl
 	ret
 
-INCBIN "baserom.gbc",$79aea,$79dda - $79aea
+Unknown_79aea: ; 79aea (1e:5aea)
+INCBIN "baserom.gbc",$79aea,$79b02 - $79aea
 
+Unknown_79b02: ; 79b02 (1e:5b02)
+INCBIN "baserom.gbc",$79b02,$79b1b - $79b02
+
+Unknown_79b1b: ; 79b1b (1e:5b1b)
+INCBIN "baserom.gbc",$79b1b,$79dda - $79b1b
+
 ; known jump sources: 41846 (10:5846), 70374 (1c:4374)
 Func_79dda: ; 79dda (1e:5dda)
 	call Load16BitRegisters
@@ -109169,7 +110356,7 @@
 
 INCBIN "baserom.gbc",$79de9,$79e16 - $79de9
 
-TossBallAnimation: ; 5E16
+TossBallAnimation: ; 79e16 (1e:5e16)
 	ld a,[W_ISINBATTLE]
 	cp a,2
 	jr z,.BlockBall ; if in trainer battle, play different animation
@@ -109212,7 +110399,7 @@
 	jr nz,.PlayNextAnimation
 	ret
 
-.PokeBallAnimations: ; 5E50
+.PokeBallAnimations: ; 79e50 (1e:5e50)
 ; sequence of animations that make up the Poké Ball toss
 	db POOF_ANIM,HIDEPIC_ANIM,$C2,POOF_ANIM,SHOWPIC_ANIM
 
@@ -109228,7 +110415,7 @@
 
 ; known jump sources: 78ddb (1e:4ddb), 78de3 (1e:4de3), 78df0 (1e:4df0), 78df6 (1e:4df6)
 Func_79e6a: ; 79e6a (1e:5e6a)
-	call Func_3748
+	call WaitForSoundToFinish
 	ld a, [$d05b]
 	and $7f
 	ret z
@@ -109380,7 +110567,7 @@
 ; known jump sources: 79f74 (1e:5f74)
 Func_79f92: ; 79f92 (1e:5f92)
 	ld a, [$c109]
-	ld hl, $5fb0
+	ld hl, Unknown_79fb0 ; $5fb0
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -109400,6 +110587,7 @@
 	pop hl
 	ret
 
+Unknown_79fb0: ; 79fb0 (1e:5fb0)
 INCBIN "baserom.gbc",$79fb0,$79fc0 - $79fb0
 
 ; known jump sources: 1dbb4 (7:5bb4), 79f66 (1e:5f66)
@@ -109420,13 +110608,23 @@
 
 ; known jump sources: 79fc7 (1e:5fc7)
 Func_79fd4: ; 79fd4 (1e:5fd4)
-	ld de, $5fdd
-	ld bc, $1e01
+	ld de, Unknown_79fdd ; $5fdd
+	ld bc, (BANK(Unknown_79fdd) << 8) + $01
 	jp CopyVideoData
 
-INCBIN "baserom.gbc",$79fdd,$7af74 - $79fdd
+Unknown_79fdd: ; 79fdd (1e:5fdd)
+INCBIN "baserom.gbc",$79fdd,$7a07d - $79fdd
 
-PointerTable6F74: ; 6F74
+Unknown_7a07d: ; 7a07d (1e:607d)
+INCBIN "baserom.gbc",$7a07d,$7a76d - $7a07d
+
+Unknown_7a76d: ; 7a76d (1e:676d)
+INCBIN "baserom.gbc",$7a76d,$7af6f - $7a76d
+
+Unknown_7af6f: ; 7af6f (1e:6f6f)
+INCBIN "baserom.gbc",$7af6f,$7af74 - $7af6f
+
+PointerTable6F74: ; 7af74 (1e:6f74)
 	dw $7de7
 	dw $7068
 	dw $708d
@@ -109550,8 +110748,11 @@
 	dw $7c7b
 	dw $7c80
 
-INCBIN "baserom.gbc",$7b068,$7bde9 - $7b068
+INCBIN "baserom.gbc",$7b068,$7bc85 - $7b068
 
+Unknown_7bc85: ; 7bc85 (1e:7c85)
+INCBIN "baserom.gbc",$7bc85,$7bde9 - $7bc85
+
 ; known jump sources: 3adf7 (e:6df7)
 Func_7bde9: ; 7bde9 (1e:7de9)
 	push hl
@@ -109595,7 +110796,7 @@
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
 	ld a, [$cee9]
 	call PlayCry
-	call Func_3748
+	call WaitForSoundToFinish
 	ld c, $2
 	ld a, $e5
 	call PlayMusic
@@ -109656,8 +110857,9 @@
 ; known jump sources: 7be27 (1e:7e27), 7be3f (1e:7e3f)
 Func_7beb9: ; 7beb9 (1e:7eb9)
 	call GetMonHeader
-	ld hl, $c3cf
-	jp Func_1384
+	FuncCoord 7, 2 ; $c3cf
+	ld hl, Coord
+	jp LoadFlippedFrontSpriteByMonIndex
 asm_7bec2: ; 7bec2 (1e:7ec2)
 	ld a, $31
 	ld [$ceeb], a
@@ -109674,7 +110876,8 @@
 	push bc
 	xor a
 	ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
-	ld hl, $c3cf
+	FuncCoord 7, 2 ; $c3cf
+	ld hl, Coord
 	ld bc, $707
 	ld de, $d
 .asm_7bee3
@@ -109791,7 +110994,7 @@
 	sub $c9
 	ret c
 	ld d, a
-	ld hl, $7fa7
+	ld hl, Unknown_7bfa7 ; $7fa7
 	srl a
 	ld c, a
 	ld b, $0
@@ -109808,14 +111011,19 @@
 	ld [$FF00+$8d], a
 	ret
 
+Unknown_7bfa7: ; 7bfa7 (1e:7fa7)
 INCBIN "baserom.gbc",$7bfa7,$7c000 - $7bfa7
 
 SECTION "bank1F",DATA,BANK[$1F]
 
-INCBIN "baserom.gbc",$7C000,$7C45E-$7C000
+Unknown_7c000: ; 7c000 (1f:4000)
+INCBIN "baserom.gbc",$7c000,$7c361 - $7c000
 
+Unknown_7c361: ; 7c361 (1f:4361)
+INCBIN "baserom.gbc",$7c361,$7c45e - $7c361
+
 IF _RED
-UnknSong_md_7c45e: ;0x7C45E
+UnknSong_md_7c45e: ; 7c45e (1f:445e)
 	mus_duty duty50
 		mus_note noteD, note4_16
 
@@ -109846,7 +111054,7 @@
 		mus_note noteC, note2
 
 	mus_end
-UnknSong_md_7c475: ;0x7C475
+UnknSong_md_7c475: ; 7c475 (1f:4475)
 	mus_duty duty50
 		mus_note noteD, note4_16
 		mus_note noteC, note2_16
@@ -109883,7 +111091,7 @@
 	mus_end
 ENDC
 IF _BLUE
-UnknSong_md_7c45e: ;0x7C45E
+UnknSong_md_7c45e: ; 7c45e (1f:445e)
 	mus_duty duty50
 		mus_note noteD, note4
 
@@ -109914,7 +111122,7 @@
 		mus_note noteC, note2
 
 	mus_end
-UnknSong_md_7c475: ; 0x7C475
+UnknSong_md_7c475: ; 7c475 (1f:4475)
 	mus_duty duty50
 		mus_note noteD, note4
 		mus_note noteC, note2_16
@@ -109957,7 +111165,7 @@
 Func_7d13b: ; 7d13b (1f:513b)
 	ld a, [$FF00+$dc]
 	ld c, $0
-	ld hl, $5170
+	ld hl, Unknown_7d170 ; $5170
 .asm_7d142
 	cp [hl]
 	jr c, .asm_7d149
@@ -109968,10 +111176,10 @@
 	push bc
 	ld a, $ff
 	ld [$c0ee], a
-	call Func_3740
+	call PlaySoundWaitForCurrent
 	pop bc
 	ld b, $0
-	ld hl, $5162
+	ld hl, Unknown_7d162 ; $5162
 	add hl, bc
 	add hl, bc
 	ld a, [hli]
@@ -109979,9 +111187,13 @@
 	call PlayMusic
 	jp Func_2307
 
-INCBIN "baserom.gbc",$7d162,$7d177 - $7d162
+Unknown_7d162: ; 7d162 (1f:5162)
+INCBIN "baserom.gbc",$7d162,$7d170 - $7d162
 
-Func_7d177: ; 0x7d177
+Unknown_7d170: ; 7d170 (1f:5170)
+INCBIN "baserom.gbc",$7d170,$7d177 - $7d170
+
+Func_7d177: ; 7d177 (1f:5177)
 	ld c, $0
 .asm_7d179
 	ld b, $0
@@ -110191,7 +111403,7 @@
 	ld [hl], a
 	jp Func_7d25a
 .asm_7d2b3
-	ld hl, $5b93
+	ld hl, Unknown_7db93 ; $5b93
 	add hl, bc
 	ld a, [$FF00+$25]
 	and [hl]
@@ -110692,7 +111904,7 @@
 	jr nz, .asm_7d606
 .asm_7d5f9
 	ld b, $0
-	ld hl, $5b93
+	ld hl, Unknown_7db93 ; $5b93
 	add hl, bc
 	ld a, [$FF00+$25]
 	and [hl]
@@ -110766,7 +111978,7 @@
 ; known jump sources: 7d52b (1f:552b), 7d651 (1f:5651)
 Func_7d66c: ; 7d66c (1f:566c)
 	ld b, $0
-	ld hl, $5b9b
+	ld hl, Unknown_7db9b ; $5b9b
 	add hl, bc
 	ld a, [$FF00+$25]
 	or [hl]
@@ -110783,12 +111995,12 @@
 	jr nz, .asm_7d699
 .asm_7d687
 	ld a, [$c004]
-	ld hl, $5b9b
+	ld hl, Unknown_7db9b ; $5b9b
 	add hl, bc
 	and [hl]
 	ld d, a
 	ld a, [$FF00+$25]
-	ld hl, $5b93
+	ld hl, Unknown_7db93 ; $5b93
 	add hl, bc
 	and [hl]
 	or d
@@ -110841,7 +112053,7 @@
 	add a
 	ld d, $0
 	ld e, a
-	ld hl, $4361
+	ld hl, Unknown_7c361 ; $4361
 	add hl, de
 	ld e, [hl]
 	inc hl
@@ -111193,7 +112405,7 @@
 ; known jump sources: 7d23f (1f:523f), 7d508 (1f:5508), 7d512 (1f:5512), 7d608 (1f:5608), 7d64a (1f:564a), 7d6ba (1f:56ba), 7d6fd (1f:56fd), 7d7f3 (1f:57f3), 7d890 (1f:5890)
 Func_7d8ac: ; 7d8ac (1f:58ac)
 	ld a, c
-	ld hl, $5b8b
+	ld hl, Unknown_7db8b ; $5b8b
 	add l
 	jr nc, .asm_7d8b4
 	inc h
@@ -111228,7 +112440,7 @@
 	add hl, hl
 	ld d, h
 	ld e, l
-	ld hl, $5ba3
+	ld hl, Unknown_7dba3 ; $5ba3
 	add hl, de
 	ld e, [hl]
 	inc hl
@@ -111339,7 +112551,7 @@
 	ld d, h
 	add hl, hl
 	add hl, de
-	ld de, $4000
+	ld de, Unknown_7c000 ; $4000
 	add hl, de
 	ld a, h
 	ld [$c0ec], a
@@ -111543,7 +112755,7 @@
 	ld d, h
 	add hl, hl
 	add hl, de
-	ld de, $4000
+	ld de, Unknown_7c000 ; $4000
 	add hl, de
 	ld e, l
 	ld d, h
@@ -111616,7 +112828,7 @@
 	ld [hli], a
 	ld [hl], a
 	ld hl, $c012
-	ld de, $5b8a
+	ld de, Unknown_7db8a ; $5b8a
 	ld [hl], e
 	inc hl
 	ld [hl], d
@@ -111630,67 +112842,80 @@
 .asm_7db89
 	ret
 
-INCBIN "baserom.gbc",$7db8a,$80000 - $7db8a
+Unknown_7db8a: ; 7db8a (1f:5b8a)
+INCBIN "baserom.gbc",$7db8a,$7db8b - $7db8a
 
+Unknown_7db8b: ; 7db8b (1f:5b8b)
+INCBIN "baserom.gbc",$7db8b,$7db93 - $7db8b
+
+Unknown_7db93: ; 7db93 (1f:5b93)
+INCBIN "baserom.gbc",$7db93,$7db9b - $7db93
+
+Unknown_7db9b: ; 7db9b (1f:5b9b)
+INCBIN "baserom.gbc",$7db9b,$7dba3 - $7db9b
+
+Unknown_7dba3: ; 7dba3 (1f:5ba3)
+INCBIN "baserom.gbc",$7dba3,$80000 - $7dba3
+
 SECTION "bank20",DATA,BANK[$20]
 
-UnnamedText_80000: ; 0x80000
+UnnamedText_80000: ; 80000 (20:4000)
 	db $0, "Bingo!@@"
 ; 0xa80009
 
-_UnnamedText_526f3: ; 0x80009
+_UnnamedText_526f3: ; 80009 (20:4009)
 	db $0, $4f
 	db "The CARD KEY", $55
 	db "opened the door!", $57
 ; 0x80009 + 32 bytes
 
-_UnnamedText_526f8: ; 0x80029
+_UnnamedText_526f8: ; 80029 (20:4029)
 	db $0, "Darn! It needs a", $4f
 	db "CARD KEY!", $57
 ; 0x80029 + 28 bytes
 
-_UnnamedText_33cf: ; 0x80045
+_UnnamedText_33cf: ; 80045 (20:4045)
 	TX_RAM $cd6d
 	db $0, ": @@"
 ; 0xa8004d
 
-_UnnamedText_70847: ; 0x8004d
+_UnnamedText_70847: ; 8004d (20:404d)
 	db $0, "Not even a nibble!", $58
 ; 0x8004d + 20 bytes
 
-_UnnamedText_7084c: ; 0x80061
+_UnnamedText_7084c: ; 80061 (20:4061)
 	db $0, "Looks like there's", $4f
 	db "nothing here.", $58
 ; 0x80061 + 33 bytes
 
-_UnnamedText_70851: ; 0x80082
+_UnnamedText_70851: ; 80082 (20:4082)
 	db $0, "Oh!", $4f
 	db "It's a bite!", $58
 ; 0x80082 + 17 bytes
 
-_UnnamedText_24db: ; 0x80093
+_UnnamedText_24db: ; 80093 (20:4093)
 	db $0, "!", $57
 ; 0x80093 + 3 bytes
 
-_UnnamedText_24e0: ; 0x80096
+_UnnamedText_24e0: ; 80096 (20:4096)
 	db $0, "Ground rose up", $4f
 	db "somewhere!", $57
 ; 0x80096 + 27 bytes
 
-_BoulderText: ; 0x800b1
+_BoulderText: ; 800b1 (20:40b1)
 	db $0, "This requires", $4f
 	db "STRENGTH to move!", $57
 
-_MartSignText: ; 0x800d2
+_MartSignText: ; 800d2 (20:40d2)
 	db $0, "All your item", $4f
 	db "needs fulfilled!", $55
 	db "#MON MART", $57
 
-_PokeCenterSignText: ; 0x800fc
+_PokeCenterSignText: ; 800fc (20:40fc)
 	db $0, "Heal Your #MON!", $4f
 	db "#MON CENTER", $57
 
-_FoundItemText: ; 0x80119
+_FoundItemText: ; 80119 (20:4119)
 	db $0, $52, " found", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -111697,12 +112922,12 @@
 	db $0, "!@@"
 ; 0x8012a
 
-_NoMoreRoomForItemText: ; 0x8012a
+_NoMoreRoomForItemText: ; 8012a (20:412a)
 	db $0, "No more room for", $4f
 	db "items!", $57
 ; 0x8012a + 25 bytes
 
-_UnnamedText_59091: ; 0x80143
+_UnnamedText_59091: ; 80143 (20:4143)
 	db $0, "Hi! Remember me?", $4f
 	db "I'm PROF.OAK's", $55
 	db "AIDE!", $51
@@ -111709,7 +112934,7 @@
 	db "If you caught @"
 ; 0x80143 + 52 bytes
 
-UnnamedText_80177: ; 0x80177
+UnnamedText_80177: ; 80177 (20:4177)
 	TX_NUM $ffdb, 1, 3
 	db $0, $4f
 	db "kinds of #MON,", $55
@@ -111726,13 +112951,13 @@
 	db "#MON?", $57
 ; 0x801e4
 
-_UnnamedText_59096: ; 0x801e4
+_UnnamedText_59096: ; 801e4 (20:41e4)
 	db $0, "Let's see...", $4f
 	db "Uh-oh! You have", $55
 	db "caught only @"
 ; 0x801e4 + 42 bytes
 
-UnnamedText_8020e: ; 0x8020e
+UnnamedText_8020e: ; 8020e (20:420e)
 	TX_NUM $ffdd, 1, 3
 	db $0, $55
 	db "kinds of #MON!", $51
@@ -111745,7 +112970,7 @@
 	db $0, ".", $57
 ; 0x80250
 
-_UnnamedText_5909b: ; 0x80250
+_UnnamedText_5909b: ; 80250 (20:4250)
 	db $0, "Oh. I see.", $51
 	db "When you get @"
 	TX_NUM $ffdb, 1, 3
@@ -111756,12 +112981,12 @@
 	db $0, ".", $57
 ; 0x8028c
 
-_UnnamedText_590a0: ; 0x8028c
+_UnnamedText_590a0: ; 8028c (20:428c)
 	db $0, "Great! You have", $4f
 	db "caught @"
 ; 0x8028c + 25 bytes
 
-UnnamedText_802a5: ; 0x802a5
+UnnamedText_802a5: ; 802a5 (20:42a5)
 	TX_NUM $ffdd, 1, 3
 	db $0, " kinds ", $55
 	db "of #MON!", $55
@@ -111769,7 +112994,7 @@
 	db "Here you go!", $58
 ; 0x802a5 + 52 bytes = 0x802d9
 
-UnnamedText_802d9: ; 0x802d9
+UnnamedText_802d9: ; 802d9 (20:42d9)
 	db $0, $52, " got the", $4f
 	db "@"
 	TX_RAM $cc5b
@@ -111776,7 +113001,7 @@
 	db $0, "!@@"
 ; 0xa802ec
 
-_UnnamedText_590ab: ; 0x802ec
+_UnnamedText_590ab: ; 802ec (20:42ec)
 	db $0, "Oh! I see you", $4f
 	db "don't have any", $55
 	db "room for the", $55
@@ -111783,64 +113008,64 @@
 	db "@"
 ; 0x802ec + 43 bytes
 
-UnnamedText_80317: ; 0x80317
+UnnamedText_80317: ; 80317 (20:4317)
 	TX_RAM $cc5b
 	db $0, ".", $57
 ; 0x80317 + 6 bytes = 0x8031d
 
-_ViridianForestText1: ; 0x8031d
+_ViridianForestText1: ; 8031d (20:431d)
 	db $0, "I came here with", $4f
 	db "some friends!", $51
 	db "They're out for", $4f
 	db "#MON fights!", $57
 
-_ViridianForestBattleText1: ; 0x80359
+_ViridianForestBattleText1: ; 80359 (20:4359)
 	db $0, "Hey! You have", $4f
 	db "#MON! Come on!", $55
 	db "Let's battle'em!", $57
 ; 0x80359 + 46 bytes
 
-_ViridianForestEndBattleText1: ; 0x80387
+_ViridianForestEndBattleText1: ; 80387 (20:4387)
 	db $0, "No!", $4f
 	db "CATERPIE can't", $55
 	db "cut it!", $58
 ; 0x80387 + 27 bytes
 
-_ViridianForestAfterBattleText1: ; 0x803a2
+_ViridianForestAfterBattleText1: ; 803a2 (20:43a2)
 	db $0, "Ssh! You'll scare", $4f
 	db "the bugs away!", $57
 ; 0x803a2 + 33 bytes
 
-_ViridianForestBattleText2: ; 0x803c3
+_ViridianForestBattleText2: ; 803c3 (20:43c3)
 	db $0, "Yo! You can't jam", $4f
 	db "out if you're a", $55
 	db "#MON trainer!", $57
 ; 0x803c3 + 47 bytes
 
-_ViridianForestEndBattleText2: ; 0x803f2
+_ViridianForestEndBattleText2: ; 803f2 (20:43f2)
 	db $0, "Huh?", $4f
 	db "I ran out of", $55
 	db "#MON!", $58
 ; 0x803f2 + 25 bytes
 
-_ViridianForestAfterBattleText2: ; 0x8040b
+_ViridianForestAfterBattleText2: ; 8040b (20:440b)
 	db $0, "Darn! I'm going", $4f
 	db "to catch some", $55
 	db "stronger ones!", $57
 ; 0x8040b + 45 bytes
 
-_ViridianForestBattleText3: ; 0x80438
+_ViridianForestBattleText3: ; 80438 (20:4438)
 	db $0, "Hey, wait up!", $4f
 	db "What's the hurry?", $57
 ; 0x80438 + 32 bytes
 
-_ViridianForestEndBattleText3: ; 0x80458
+_ViridianForestEndBattleText3: ; 80458 (20:4458)
 	db $0, "I", $4f
 	db "give! You're good", $55
 	db "at this!", $58
 ; 0x80458 + 29 bytes
 
-_ViridianForestAfterBattleText3: ; 0x80475
+_ViridianForestAfterBattleText3: ; 80475 (20:4475)
 	db $0, "Sometimes, you", $4f
 	db "can find stuff on", $55
 	db "the ground!", $51
@@ -111849,7 +113074,7 @@
 	db "dropped!", $57
 ; 0x80475 + 82 bytes
 
-_ViridianForestText8: ; 0x804c7
+_ViridianForestText8: ; 804c7 (20:44c7)
 	db $0, "I ran out of #", $4f
 	db "BALLs to catch", $55
 	db "#MON with!", $51
@@ -111856,7 +113081,7 @@
 	db "You should carry", $4f
 	db "extras!", $57
 
-_ViridianForestText9: ; 0x8050a
+_ViridianForestText9: ; 8050a (20:450a)
 	db $0, "TRAINER TIPS", $51
 	db "If you want to", $4f
 	db "avoid battles,", $55
@@ -111863,12 +113088,12 @@
 	db "stay away from", $55
 	db "grassy areas!", $57
 
-_ViridianForestText10: ; 0x80553
+_ViridianForestText10: ; 80553 (20:4553)
 	db $0, "For poison, use", $4f
 	db "ANTIDOTE! Get it", $55
 	db "at #MON MARTs!", $57
 
-_ViridianForestText11: ; 0x80584
+_ViridianForestText11: ; 80584 (20:4584)
 	db $0, "TRAINER TIPS", $51
 	db "Contact PROF.OAK", $4f
 	db "via PC to get", $55
@@ -111875,7 +113100,7 @@
 	db "your #DEX", $55
 	db "evaluated!", $57
 
-_ViridianForestText12: ; 0x805c6
+_ViridianForestText12: ; 805c6 (20:45c6)
 	db $0, "TRAINER TIPS", $51
 	db "No stealing of", $4f
 	db "#MON from", $55
@@ -111883,7 +113108,7 @@
 	db "Catch only wild", $55
 	db "#MON!", $57
 
-_ViridianForestText13: ; 0x80613
+_ViridianForestText13: ; 80613 (20:4613)
 	db $0, "TRAINER TIPS", $51
 	db "Weaken #MON", $4f
 	db "before attempting", $55
@@ -111891,120 +113116,120 @@
 	db "When healthy,", $4f
 	db "they may escape!", $57
 
-_ViridianForestText14: ; 0x80667
+_ViridianForestText14: ; 80667 (20:4667)
 	db $0, "LEAVING", $4f
 	db "VIRIDIAN FOREST", $55
 	db "PEWTER CITY AHEAD", $57
 
-_MtMoon1BattleText2: ; 0x80692
+_MtMoon1BattleText2: ; 80692 (20:4692)
 	db $0, "WHOA! You shocked", $4f
 	db "me! Oh, you're", $55
 	db "just a kid!", $57
 ; 0x80692 + 45 bytes
 
-_MtMoon1EndBattleText2: ; 0x806bf
+_MtMoon1EndBattleText2: ; 806bf (20:46bf)
 	db $0, "Wow!", $4f
 	db "Shocked again!", $58
 ; 0x806bf + 21 bytes
 
-_MtMoon1AfterBattleText2: ; 0x806d4
+_MtMoon1AfterBattleText2: ; 806d4 (20:46d4)
 	db $0, "Kids like you", $4f
 	db "shouldn't be", $55
 	db "here!", $57
 ; 0x806d4 + 33 bytes
 
-_MtMoon1BattleText3: ; 0x806f5
+_MtMoon1BattleText3: ; 806f5 (20:46f5)
 	db $0, "Did you come to", $4f
 	db "explore too?", $57
 ; 0x806f5 + 30 bytes
 
-_MtMoon1EndBattleText3: ; 0x80713
+_MtMoon1EndBattleText3: ; 80713 (20:4713)
 	db $0, "Losing", $4f
 	db "stinks!", $58
 ; 0x80713 + 16 bytes
 
-_MtMoon1AfterBattleText3: ; 0x80723
+_MtMoon1AfterBattleText3: ; 80723 (20:4723)
 	db $0, "I came down here", $4f
 	db "to show off to", $55
 	db "girls.", $57
 ; 0x80723 + 40 bytes
 
-_MtMoon1BattleText4: ; 0x8074b
+_MtMoon1BattleText4: ; 8074b (20:474b)
 	db $0, "Wow! It's way", $4f
 	db "bigger in here", $55
 	db "than I thought!", $57
 ; 0x8074b + 45 bytes
 
-_MtMoon1EndBattleText4: ; 0x80778
+_MtMoon1EndBattleText4: ; 80778 (20:4778)
 	db $0, "Oh!", $4f
 	db "I lost it!", $58
 ; 0x80778 + 16 bytes
 
-_MtMoon1AfterBattleText4: ; 0x80788
+_MtMoon1AfterBattleText4: ; 80788 (20:4788)
 	db $0, "How do you get", $4f
 	db "out of here?", $57
 ; 0x80788 + 29 bytes
 
-_MtMoon1BattleText5: ; 0x807a5
+_MtMoon1BattleText5: ; 807a5 (20:47a5)
 	db $0, "What! Don't sneak", $4f
 	db "up on me!", $57
 ; 0x807a5 + 28 bytes
 
-_MtMoon1EndBattleText5: ; 0x807c1
+_MtMoon1EndBattleText5: ; 807c1 (20:47c1)
 	db $0, "My", $4f
 	db "#MON won't do!", $58
 ; 0x807c1 + 18 bytes
 
-_MtMoon1AfterBattleText5: ; 0x807d3
+_MtMoon1AfterBattleText5: ; 807d3 (20:47d3)
 	db $0, "I have to find", $4f
 	db "stronger #MON.", $57
 ; 0x807d3 + 31 bytes
 
-_MtMoon1BattleText6: ; 0x807f2
+_MtMoon1BattleText6: ; 807f2 (20:47f2)
 	db $0, "What? I'm waiting", $4f
 	db "for my friends to", $55
 	db "find me here.", $57
 ; 0x807f2 + 50 bytes
 
-_MtMoon1EndBattleText6: ; 0x80824
+_MtMoon1EndBattleText6: ; 80824 (20:4824)
 	db $0, "I lost?", $58
 ; 0x80824 + 9 bytes
 
-_MtMoon1AfterBattleText6: ; 0x8082d
+_MtMoon1AfterBattleText6: ; 8082d (20:482d)
 	db $0, "I heard there are", $4f
 	db "some very rare", $55
 	db "fossils here.", $57
 ; 0x8082d + 48 bytes
 
-_MtMoon1BattleText7: ; 0x8085d
+_MtMoon1BattleText7: ; 8085d (20:485d)
 	db $0, "Suspicious men", $4f
 	db "are in the cave.", $55
 	db "What about you?", $57
 ; 0x8085d + 49 bytes
 
-_MtMoon1EndBattleText7: ; 0x8088e
+_MtMoon1EndBattleText7: ; 8088e (20:488e)
 	db $0, "You", $4f
 	db "got me!", $58
 ; 0x8088e + 13 bytes
 
-_MtMoon1AfterBattleText7: ; 0x8089b
+_MtMoon1AfterBattleText7: ; 8089b (20:489b)
 	db $0, "I saw them! I'm", $4f
 	db "sure they're from", $55
 	db "TEAM ROCKET!", $57
 ; 0x8089b + 46 bytes
 
-_MtMoon1BattleText8: ; 0x808c9
+_MtMoon1BattleText8: ; 808c9 (20:48c9)
 	db $0, "Go through this", $4f
 	db "cave to get to", $55
 	db "CERULEAN CITY!", $57
 ; 0x808c9 + 47 bytes
 
-_MtMoon1EndBattleText8: ; 0x808f8
+_MtMoon1EndBattleText8: ; 808f8 (20:48f8)
 	db $0, "I", $4f
 	db "lost.", $58
 ; 0x808f8 + 9 bytes
 
-_MtMoon1AfterBattleText8: ; 0x80901
+_MtMoon1AfterBattleText8: ; 80901 (20:4901)
 	db $0, "ZUBAT is tough!", $4f
 	db "But, it can be", $55
 	db "useful if you", $55
@@ -112011,25 +113236,25 @@
 	db "catch one.", $57
 ; 0x80901 + 57 bytes
 
-_MtMoon1Text14: ; 0x8093a
+_MtMoon1Text14: ; 8093a (20:493a)
 	db $0, "Beware! ZUBAT is", $4f
 	db "a blood sucker!", $57
 
-_UnnamedText_51a48: ; 0x8095c
+_UnnamedText_51a48: ; 8095c (20:495c)
 	db $0, $57
 ; 0x8095c + 2 bytes
 
-_UnnamedText_49f24: ; 0x8095e
+_UnnamedText_49f24: ; 8095e (20:495e)
 	db $0, "You want the", $4f
 	db "DOME FOSSIL?", $57
 ; 0x8095e + 27 bytes
 
-_UnnamedText_49f64: ; 0x80979
+_UnnamedText_49f64: ; 80979 (20:4979)
 	db $0, "You want the", $4f
 	db "HELIX FOSSIL?", $57
 ; 0x80979 + 28 bytes
 
-_UnnamedText_49f6f: ; 0x80995
+_UnnamedText_49f6f: ; 80995 (20:4995)
 	db $0, $52, " got the", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -112036,12 +113261,12 @@
 	db $0, "!@@"
 ; 0x809a8
 
-_UnnamedText_49f7f: ; 0x809a8
+_UnnamedText_49f7f: ; 809a8 (20:49a8)
 	db $0, "Look, you've got", $4f
 	db "no room for this.@@"
 ; 0x809cc
 
-_UnnamedText_49f85: ; 0x809cc
+_UnnamedText_49f85: ; 809cc (20:49cc)
 	db $0, "Hey, stop!", $51
 	db "I found these", $4f
 	db "fossils! They're", $55
@@ -112048,18 +113273,18 @@
 	db "both mine!", $57
 ; 0x809cc + 53 bytes
 
-_UnnamedText_49f8a: ; 0x80a01
+_UnnamedText_49f8a: ; 80a01 (20:4a01)
 	db $0, "OK!", $4f
 	db "I'll share!", $58
 ; 0x80a01 + 16 bytes
 
-_UnnamedText_49f8f: ; 0x80a11
+_UnnamedText_49f8f: ; 80a11 (20:4a11)
 	db $0, "We'll each take", $4f
 	db "one!", $55
 	db "No being greedy!", $57
 ; 0x80a11 + 38 bytes
 
-_UnnamedText_49f94: ; 0x80a37
+_UnnamedText_49f94: ; 80a37 (20:4a37)
 	db $0, "Far away, on", $4f
 	db "CINNABAR ISLAND,", $55
 	db "there's a #MON", $55
@@ -112069,12 +113294,12 @@
 	db "fossils.", $57
 ; 0x80a37 + 92 bytes
 
-UnnamedText_80a93: ; 0x80a93
+UnnamedText_80a93: ; 80a93 (20:4a93)
 	db $0, "All right. Then", $4f
 	db "this is mine!@@"
 ; 0x80ab3
 
-_MtMoon3BattleText2: ; 0x80ab3
+_MtMoon3BattleText2: ; 80ab3 (20:4ab3)
 	db $0, "TEAM ROCKET will", $4f
 	db "find the fossils,", $55
 	db "revive and sell", $55
@@ -112081,69 +113306,69 @@
 	db "them for cash!", $57
 ; 0x80ab3 + 67 bytes
 
-_MtMoon3EndBattleText2: ; 0x80af6
+_MtMoon3EndBattleText2: ; 80af6 (20:4af6)
 	db $0, "Urgh!", $4f
 	db "Now I'm mad!", $58
 ; 0x80af6 + 19 bytes
 
-_MtMoon3AfterBattleText2: ; 0x80b09
+_MtMoon3AfterBattleText2: ; 80b09 (20:4b09)
 	db $0, "You made me mad!", $4f
 	db "TEAM ROCKET will", $55
 	db "blacklist you!", $57
 ; 0x80b09 + 50 bytes
 
-_MtMoon3BattleText3: ; 0x80b3b
+_MtMoon3BattleText3: ; 80b3b (20:4b3b)
 	db $0, "We, TEAM ROCKET,", $4f
 	db "are #MON", $55
 	db "gangsters!", $57
 ; 0x80b3b + 38 bytes
 
-_MtMoon3EndBattleText3: ; 0x80b61
+_MtMoon3EndBattleText3: ; 80b61 (20:4b61)
 	db $0, "I blew", $4f
 	db "it!", $58
 ; 0x80b61 + 12 bytes
 
-_MtMoon3AfterBattleText3: ; 0x80b6d
+_MtMoon3AfterBattleText3: ; 80b6d (20:4b6d)
 	db $0, "Darn it all! My", $4f
 	db "associates won't", $55
 	db "stand for this!", $57
 ; 0x80b6d + 49 bytes
 
-_MtMoon3BattleText4: ; 0x80b9e
+_MtMoon3BattleText4: ; 80b9e (20:4b9e)
 	db $0, "We're pulling a", $4f
 	db "big job here!", $55
 	db "Get lost, kid!", $57
 ; 0x80b9e + 45 bytes
 
-_MtMoon3EndBattleText4: ; 0x80bcb
+_MtMoon3EndBattleText4: ; 80bcb (20:4bcb)
 	db $0, "So, you", $4f
 	db "are good.", $58
 ; 0x80bcb + 19 bytes
 
-_MtMoon3AfterBattleText4: ; 0x80bde
+_MtMoon3AfterBattleText4: ; 80bde (20:4bde)
 	db $0, "If you find a", $4f
 	db "fossil, give it", $55
 	db "to me and scram!", $57
 ; 0x80bde + 48 bytes
 
-_MtMoon3BattleText5: ; 0x80c0e
+_MtMoon3BattleText5: ; 80c0e (20:4c0e)
 	db $0, "Little kids", $4f
 	db "should leave", $55
 	db "grown-ups alone!", $57
 ; 0x80c0e + 43 bytes
 
-_MtMoon3EndBattleText5: ; 0x80c39
+_MtMoon3EndBattleText5: ; 80c39 (20:4c39)
 	db $0, "I'm", $4f
 	db "steamed!", $58
 ; 0x80c39 + 13 bytes
 
-_MtMoon3AfterBattleText5: ; 0x80c46
+_MtMoon3AfterBattleText5: ; 80c46 (20:4c46)
 	db $0, "#MON lived", $4f
 	db "here long before", $55
 	db "people came.", $57
 ; 0x80c46 + 42 bytes
 
-_SSAnne1Text1: ; 0x80c70
+_SSAnne1Text1: ; 80c70 (20:4c70)
 	db $0, "Bonjour!", $4f
 	db "I am le waiter on", $55
 	db "this ship!", $51
@@ -112153,7 +113378,7 @@
 	db "Ah! Le strong", $4f
 	db "silent type!", $57
 
-_SSAnne1Text2: ; 0x80ce6
+_SSAnne1Text2: ; 80ce6 (20:4ce6)
 	db $0, "The passengers", $4f
 	db "are restless!", $51
 	db "You might be", $4f
@@ -112160,7 +113385,7 @@
 	db "challenged by the", $55
 	db "more bored ones!", $57
 
-_SSAnne2Text1: ; 0x80d34
+_SSAnne2Text1: ; 80d34 (20:4d34)
 	db $0, "This ship, she is", $4f
 	db "a luxury liner", $55
 	db "for trainers!", $51
@@ -112168,7 +113393,7 @@
 	db "hold parties with", $55
 	db "invited trainers!", $57
 
-_SSAnneRivalBeforeBattleText: ; 0x80d9a
+_SSAnneRivalBeforeBattleText: ; 80d9a (20:4d9a)
 	db $0, $53, ": Bonjour!", $4f
 	db $52, "!", $51
 	db "Imagine seeing", $4f
@@ -112185,7 +113410,7 @@
 	db "grassy areas!", $57
 ; 0x80d9a + 189 bytes
 
-_SSAnneRivalDefeatedText: ; 0x80e57
+_SSAnneRivalDefeatedText: ; 80e57 (20:4e57)
 	db $0, "Humph!", $51
 	db "At least you're", $4f
 	db "raising your", $55
@@ -112192,7 +113417,7 @@
 	db "#MON!", $58
 ; 0x80e57 + 42 bytes
 
-_SSAnneRivalWonText: ; 0x80e81
+_SSAnneRivalWonText: ; 80e81 (20:4e81)
 	db $0, $52, "! What are", $4f
 	db "you, seasick?", $51
 	db "You should shape", $4f
@@ -112199,7 +113424,7 @@
 	db "up, pal!", $58
 ; 0x80e81 + 53 bytes
 
-_SSAnneRivalCaptainText: ; 0x80eb6
+_SSAnneRivalCaptainText: ; 80eb6 (20:4eb6)
 	db $0, $53, ": I heard", $4f
 	db "there was a CUT", $55
 	db "master on board.", $51
@@ -112211,54 +113436,54 @@
 	db "him! Smell ya!", $57
 ; 0x80eb6 + 149 bytes
 
-_SSAnne3Text1: ; 0x80f4b
+_SSAnne3Text1: ; 80f4b (20:4f4b)
 	db $0, "Our CAPTAIN is a", $4f
 	db "sword master!", $51
 	db "He even teaches", $4f
 	db "CUT to #MON!", $57
 
-_SSAnne5Text1: ; 0x80f88
+_SSAnne5Text1: ; 80f88 (20:4f88)
 	db $0, "The party's over.", $4f
 	db "The ship will be", $55
 	db "departing soon.", $57
 
-_SSAnne5Text2: ; 0x80fbb
+_SSAnne5Text2: ; 80fbb (20:4fbb)
 	db $0, "Scrubbing decks", $4f
 	db "is hard work!", $57
 
-_SSAnne5Text3: ; 0x80fda
+_SSAnne5Text3: ; 80fda (20:4fda)
 	db $0, "Urf. I feel ill.", $51
 	db "I stepped out to", $4f
 	db "get some air.", $57
 
-_SSAnneBattleText1: ; 0x8100b
+_SSAnneBattleText1: ; 8100b (20:500b)
 	db $0, "Hey matey!", $51
 	db "Let's do a little", $4f
 	db "jig!", $57
 ; 0x8100b + 34 bytes
 
-_SSAnneEndBattleText1: ; 0x8102d
+_SSAnneEndBattleText1: ; 8102d (20:502d)
 	db $0, "You're", $4f
 	db "impressive!", $58
 ; 0x8102d + 19 bytes
 
-_SSAnneAfterBattleText1: ; 0x81040
+_SSAnneAfterBattleText1: ; 81040 (20:5040)
 	db $0, "How many kinds of", $4f
 	db "#MON do you", $55
 	db "think there are?", $57
 ; 0x81040 + 48 bytes
 
-_SSAnneBattleText2: ; 0x81070
+_SSAnneBattleText2: ; 81070 (20:5070)
 	db $0, "Ahoy there!", $4f
 	db "Are you seasick?", $57
 ; 0x81070 + 30 bytes
 
-_SSAnneEndBattleText2: ; 0x8108e
+_SSAnneEndBattleText2: ; 8108e (20:508e)
 	db $0, "I was", $4f
 	db "just careless!", $58
 ; 0x8108e + 22 bytes
 
-_SSAnneAfterBattleText2: ; 0x810a4
+_SSAnneAfterBattleText2: ; 810a4 (20:50a4)
 	db $0, "My Pa said there", $4f
 	db "are 100 kinds of", $55
 	db "#MON. I think", $55
@@ -112265,20 +113490,20 @@
 	db "there are more.", $57
 ; 0x810a4 + 65 bytes
 
-_SSAnne6Text1: ; 0x810e5
+_SSAnne6Text1: ; 810e5 (20:50e5)
 	db $0, "You, mon petit!", $4f
 	db "We're busy here!", $55
 	db "Out of the way!", $57
 
-_SSAnne6Text2: ; 0x81116
+_SSAnne6Text2: ; 81116 (20:5116)
 	db $0, "I saw an odd ball", $4f
 	db "in the trash.", $57
 
-_SSAnne6Text3: ; 0x81137
+_SSAnne6Text3: ; 81137 (20:5137)
 	db $0, "I'm so busy I'm", $4f
 	db "getting dizzy!", $57
 
-_SSAnne6Text4: ; 0x81155
+_SSAnne6Text4: ; 81155 (20:5155)
 	db $0, "Hum-de-hum-de-", $4f
 	db "ho...", $51
 	db "I peel spuds", $4f
@@ -112285,25 +113510,25 @@
 	db "every day!", $55
 	db "Hum-hum...", $57
 
-_SSAnne6Text5: ; 0x8118e
+_SSAnne6Text5: ; 8118e (20:518e)
 	db $0, "Did you hear about", $4f
 	db "SNORLAX?", $51
 	db "All it does is", $4f
 	db "eat and sleep!", $57
 
-_SSAnne6Text6: ; 0x811c9
+_SSAnne6Text6: ; 811c9 (20:51c9)
 	db $0, "Snivel...Sniff...", $51
 	db "I only get to", $4f
 	db "peel onions...", $55
 	db "Snivel...", $57
 
-_UnnamedText_61807: ; 0x81203
+_UnnamedText_61807: ; 81203 (20:5203)
 	db $0, "Er-hem! Indeed I", $4f
 	db "am le CHEF!", $51
 	db "Le main course is", $58
 ; 0x81203 + 48 bytes
 
-_UnnamedText_6180c: ; 0x81233
+_UnnamedText_6180c: ; 81233 (20:5233)
 	db $0, "Salmon du Salad!", $51
 	db "Les guests may", $4f
 	db "gripe it's fish", $55
@@ -112310,19 +113535,19 @@
 	db "again, however!", $57
 ; 0x81233 + 64 bytes
 
-_UnnamedText_61811: ; 0x81273
+_UnnamedText_61811: ; 81273 (20:5273)
 	db $0, "Eels au Barbecue!", $51
 	db "Les guests will", $4f
 	db "mutiny, I fear.", $57
 ; 0x81273 + 51 bytes
 
-_UnnamedText_61816: ; 0x812a6
+_UnnamedText_61816: ; 812a6 (20:52a6)
 	db $0, "Prime Beef Steak!", $51
 	db "But, have I enough", $4f
 	db "fillets du beef?", $57
 ; 0x812a6 + 55 bytes
 
-_SSAnne7RubText: ; 0x812dd
+_SSAnne7RubText: ; 812dd (20:52dd)
 	db $0, "CAPTAIN: Ooargh...", $4f
 	db "I feel hideous...", $55
 	db "Urrp! Seasick...", $51
@@ -112333,7 +113558,7 @@
 	db "Rub-rub...@@"
 ; 0x81347
 
-_ReceivingHM01Text: ; 0x81347
+_ReceivingHM01Text: ; 81347 (20:5347)
 	db $0, "CAPTAIN: Whew!", $4f
 	db "Thank you! I", $55
 	db "feel much better!", $51
@@ -112349,7 +113574,7 @@
 	db "any time!", $58
 ; 0x81347 + 198 bytes
 
-_ReceivedHM01Text: ; 0x8140d
+_ReceivedHM01Text: ; 8140d (20:540d)
 	db $0, $52, " got", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -112356,7 +113581,7 @@
 	db $0, "!@@"
 ; 0x8141c
 
-_UnnamedText_61932: ; 0x8141c
+_UnnamedText_61932: ; 8141c (20:541c)
 	db $0, "CAPTAIN: Whew!", $51
 	db "Now that I'm not", $4f
 	db "sick any more, I", $55
@@ -112363,26 +113588,26 @@
 	db "guess it's time.", $57
 ; 0x8141c + 65 bytes
 
-_HM01NoRoomText: ; 0x8145d
+_HM01NoRoomText: ; 8145d (20:545d)
 	db $0, "Oh no! You have", $4f
 	db "no room for this!", $57
 ; 0x8145d + 35 bytes
 
-_SSAnne7Text2: ; 0x81480
+_SSAnne7Text2: ; 81480 (20:5480)
 	db $0, "Yuck! Shouldn't", $4f
 	db "have looked!", $57
 
-_SSAnne7Text3: ; 0x8149d
+_SSAnne7Text3: ; 8149d (20:549d)
 	db $0, "How to Conquer", $4f
 	db "Seasickness...", $55
 	db "The CAPTAIN's", $55
 	db "reading this!", $57
 
-_SSAnne8Text8: ; 0x814d7
+_SSAnne8Text8: ; 814d7 (20:54d7)
 	db $0, "WIGGLYTUFF: Puup", $4f
 	db "pupuu!@@"
 
-_SSAnne8BattleText1: ; 0x814f1
+_SSAnne8BattleText1: ; 814f1 (20:54f1)
 	db $0, "I travel alone", $4f
 	db "on my journeys!", $51
 	db "My #MON are my", $4f
@@ -112389,42 +113614,42 @@
 	db "only friends!", $57
 ; 0x814f1 + 61 bytes
 
-_SSAnne8EndBattleText1: ; 0x8152e
+_SSAnne8EndBattleText1: ; 8152e (20:552e)
 	db $0, "My, my", $4f
 	db "friends...", $58
 ; 0x8152e + 19 bytes
 
-_SSAnne8AfterBattleText1: ; 0x81541
+_SSAnne8AfterBattleText1: ; 81541 (20:5541)
 	db $0, "You should be", $4f
 	db "nice to friends!", $57
 ; 0x81541 + 32 bytes
 
-_SSAnne8BattleText2: ; 0x81561
+_SSAnne8BattleText2: ; 81561 (20:5561)
 	db $0, "You pup! How dare", $4f
 	db "you barge in!", $57
 ; 0x81561 + 33 bytes
 
-_SSAnne8EndBattleText2: ; 0x81582
+_SSAnne8EndBattleText2: ; 81582 (20:5582)
 	db $0, "Humph!", $4f
 	db "You rude child!", $58
 ; 0x81582 + 24 bytes
 
-_UnnamedText_61a24: ; 0x8159a
+_UnnamedText_61a24: ; 8159a (20:559a)
 	db $0, "I wish to be left", $4f
 	db "alone! Get out!", $57
 ; 0x8159a + 35 bytes
 
-_SSAnne8BattleText3: ; 0x815bd
+_SSAnne8BattleText3: ; 815bd (20:55bd)
 	db $0, "I love #MON!", $4f
 	db "Do you?", $57
 ; 0x815bd + 22 bytes
 
-_SSAnne8EndBattleText3: ; 0x815d3
+_SSAnne8EndBattleText3: ; 815d3 (20:55d3)
 	db $0, "Wow! ", $4f
 	db "You're great!", $58
 ; 0x815d3 + 20 bytes
 
-_SSAnne8AfterBattleText3: ; 0x815e7
+_SSAnne8AfterBattleText3: ; 815e7 (20:55e7)
 	db $0, "Let me be your", $4f
 	db "friend, OK?", $51
 	db "Then we can trade", $4f
@@ -112431,19 +113656,19 @@
 	db "#MON!", $57
 ; 0x815e7 + 52 bytes
 
-_SSAnne8BattleText4: ; 0x8161b
+_SSAnne8BattleText4: ; 8161b (20:561b)
 	db $0, "I collected these", $4f
 	db "#MON from all", $55
 	db "around the world!", $57
 ; 0x8161b + 51 bytes
 
-_SSAnne8EndBattleText4: ; 0x8164e
+_SSAnne8EndBattleText4: ; 8164e (20:564e)
 	db $0, "Oh no!", $4f
 	db "I went around the", $55
 	db "world for these!", $58
 ; 0x8164e + 43 bytes
 
-_SSAnne8AfterBattleText4: ; 0x81679
+_SSAnne8AfterBattleText4: ; 81679 (20:5679)
 	db $0, "You hurt my poor", $4f
 	db "worldly #MON!", $51
 	db "I demand that you", $4f
@@ -112451,30 +113676,30 @@
 	db "#MON CENTER!", $57
 ; 0x81679 + 78 bytes
 
-_SSAnne8Text5: ; 0x816c7
+_SSAnne8Text5: ; 816c7 (20:56c7)
 	db $0, "Waiter, I would", $4f
 	db "like a cherry pie", $55
 	db "please!", $57
 
-_SSAnne8Text6: ; 0x816f2
+_SSAnne8Text6: ; 816f2 (20:56f2)
 	db $0, "A cruise is so", $4f
 	db "elegant yet cozy!", $57
 
-_SSAnne8Text7: ; 0x81714
+_SSAnne8Text7: ; 81714 (20:5714)
 	db $0, "I always travel", $4f
 	db "with WIGGLYTUFF!", $57
 
-_SSAnne8Text9: ; 0x81736
+_SSAnne8Text9: ; 81736 (20:5736)
 	db $0, "We are cruising", $4f
 	db "around the world.", $57
 
-_SSAnne8Text11: ; 0x81759
+_SSAnne8Text11: ; 81759 (20:5759)
 	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
+_UnnamedText_61bf2: ; 81799 (20:5799)
 	db $0, "In all my travels", $4f
 	db "I've never seen", $55
 	db "any #MON sleep", $55
@@ -112483,7 +113708,7 @@
 	db "like this!", $58
 ; 0x81799 + 92 bytes
 
-_UnnamedText_61c01: ; 0x817f5
+_UnnamedText_61c01: ; 817f5 (20:57f5)
 	db $0, "Ah yes, I have", $4f
 	db "seen some #MON", $55
 	db "ferry people", $55
@@ -112490,12 +113715,12 @@
 	db "across the water!", $57
 ; 0x817f5 + 62 bytes
 
-_UnnamedText_61c10: ; 0x81833
+_UnnamedText_61c10: ; 81833 (20:5833)
 	db $0, "#MON can CUT", $4f
 	db "down small bushes.", $57
 ; 0x81833 + 33 bytes
 
-_UnnamedText_61c1f: ; 0x81854
+_UnnamedText_61c1f: ; 81854 (20:5854)
 	db $0, "Have you gone to", $4f
 	db "the SAFARI ZONE", $55
 	db "in FUCHSIA CITY?", $51
@@ -112503,51 +113728,51 @@
 	db "kinds of #MON!!", $57
 ; 0x81854 + 84 bytes
 
-_UnnamedText_61c2e: ; 0x818a8
+_UnnamedText_61c2e: ; 818a8 (20:58a8)
 	db $0, "Me and my Daddy", $4f
 	db "think the SAFARI", $55
 	db "ZONE is awesome!", $57
 ; 0x818a8 + 51 bytes
 
-_UnnamedText_61c3d: ; 0x818db
+_UnnamedText_61c3d: ; 818db (20:58db)
 	db $0, "The CAPTAIN looked", $4f
 	db "really sick and", $55
 	db "pale!", $57
 ; 0x818db + 42 bytes
 
-_UnnamedText_61c4c: ; 0x81905
+_UnnamedText_61c4c: ; 81905 (20:5905)
 	db $0, "I hear many people", $4f
 	db "get seasick!", $57
 ; 0x81905 + 33 bytes
 
-_SSAnne9BattleText1: ; 0x81926
+_SSAnne9BattleText1: ; 81926 (20:5926)
 	db $0, "Competing against", $4f
 	db "the young keeps", $55
 	db "me youthful.", $57
 ; 0x81926 + 48 bytes
 
-_SSAnne9EndBattleText1: ; 0x81956
+_SSAnne9EndBattleText1: ; 81956 (20:5956)
 	db $0, "Good", $4f
 	db "fight! Ah, I feel", $55
 	db "young again!", $58
 ; 0x81956 + 37 bytes
 
-_SSAnne9AfterBattleText1: ; 0x8197b
+_SSAnne9AfterBattleText1: ; 8197b (20:597b)
 	db $0, "15 years ago, I", $4f
 	db "would have won!", $57
 ; 0x8197b + 33 bytes
 
-_SSAnne9BattleText2: ; 0x8199c
+_SSAnne9BattleText2: ; 8199c (20:599c)
 	db $0, "Check out what I", $4f
 	db "fished up!", $57
 ; 0x8199c + 29 bytes
 
-_SSAnne9EndBattleText2: ; 0x819b9
+_SSAnne9EndBattleText2: ; 819b9 (20:59b9)
 	db $0, "I'm", $4f
 	db "all out!", $58
 ; 0x819b9 + 13 bytes
 
-_SSAnne9AfterBattleText2: ; 0x819c6
+_SSAnne9AfterBattleText2: ; 819c6 (20:59c6)
 	db $0, "Party?", $51
 	db "The cruise ship's", $4f
 	db "party should be", $55
@@ -112554,123 +113779,123 @@
 	db "over by now.", $57
 ; 0x819c6 + 54 bytes
 
-_SSAnne9BattleText3: ; 0x819fc
+_SSAnne9BattleText3: ; 819fc (20:59fc)
 	db $0, "Which do you like,", $4f
 	db "a strong or a", $55
 	db "rare #MON?", $57
 ; 0x819fc + 45 bytes
 
-_SSAnne9EndBattleText3: ; 0x81a29
+_SSAnne9EndBattleText3: ; 81a29 (20:5a29)
 	db $0, "I must", $4f
 	db "salute you!", $58
 ; 0x81a29 + 20 bytes
 
-_SSAnne9AfterBattleText3: ; 0x81a3d
+_SSAnne9AfterBattleText3: ; 81a3d (20:5a3d)
 	db $0, "I prefer strong", $4f
 	db "and rare #MON.", $57
 ; 0x81a3d + 32 bytes
 
-_SSAnne9BattleText4: ; 0x81a5d
+_SSAnne9BattleText4: ; 81a5d (20:5a5d)
 	db $0, "I never saw you", $4f
 	db "at the party.", $57
 ; 0x81a5d + 31 bytes
 
-_SSAnne9EndBattleText4: ; 0x81a7c
+_SSAnne9EndBattleText4: ; 81a7c (20:5a7c)
 	db $0, "Take", $4f
 	db "it easy!", $58
 ; 0x81a7c + 15 bytes
 
-_SSAnne9AfterBattleText4: ; 0x81a8b
+_SSAnne9AfterBattleText4: ; 81a8b (20:5a8b)
 	db $0, "Oh, I adore your", $4f
 	db "strong #MON!", $57
 ; 0x81a8b + 31 bytes
 
-_SSAnne10Text8: ; 0x81aaa
+_SSAnne10Text8: ; 81aaa (20:5aaa)
 	db $0, "MACHOKE: Gwoh!", $4f
 	db "Goggoh!@@"
 
-_SSAnne10BattleText1: ; 0x81ac3
+_SSAnne10BattleText1: ; 81ac3 (20:5ac3)
 	db $0, "You know what they", $4f
 	db "say about sailors", $55
 	db "and fighting!", $57
 ; 0x81ac3 + 52 bytes
 
-_SSAnne10EndBattleText1: ; 0x81af7
+_SSAnne10EndBattleText1: ; 81af7 (20:5af7)
 	db $0, "Right!", $4f
 	db "Good fight, mate!", $58
 ; 0x81af7 + 26 bytes
 
-_SSAnne10AfterBattleText1: ; 0x81b11
+_SSAnne10AfterBattleText1: ; 81b11 (20:5b11)
 	db $0, "Haha! Want to be", $4f
 	db "a sailor, mate?", $57
 ; 0x81b11 + 34 bytes
 
-_SSAnne10BattleText2: ; 0x81b33
+_SSAnne10BattleText2: ; 81b33 (20:5b33)
 	db $0, "My sailor's pride", $4f
 	db "is at stake!", $57
 ; 0x81b33 + 31 bytes
 
-_SSAnne10EndBattleText2: ; 0x81b52
+_SSAnne10EndBattleText2: ; 81b52 (20:5b52)
 	db $0, "Your", $4f
 	db "spirit sank me!", $58
 ; 0x81b52 + 22 bytes
 
-_SSAnne10AfterBattleText2: ; 0x81b68
+_SSAnne10AfterBattleText2: ; 81b68 (20:5b68)
 	db $0, "Did you see the", $4f
 	db "FISHING GURU in", $55
 	db "VERMILION CITY?", $57
 ; 0x81b68 + 49 bytes
 
-_SSAnne10BattleText3: ; 0x81b99
+_SSAnne10BattleText3: ; 81b99 (20:5b99)
 	db $0, "Us sailors have", $4f
 	db "#MON too!", $57
 ; 0x81b99 + 27 bytes
 
-_SSAnne10EndBattleText3: ; 0x81bb4
+_SSAnne10EndBattleText3: ; 81bb4 (20:5bb4)
 	db $0, "OK, ", $4f
 	db "you're not bad.", $58
 ; 0x81bb4 + 21 bytes
 
-_SSAnne10AfterBattleText3: ; 0x81bc9
+_SSAnne10AfterBattleText3: ; 81bc9 (20:5bc9)
 	db $0, "We caught all our", $4f
 	db "#MON while", $55
 	db "out at sea!", $57
 ; 0x81bc9 + 42 bytes
 
-_SSAnne10BattleText4: ; 0x81bf3
+_SSAnne10BattleText4: ; 81bf3 (20:5bf3)
 	db $0, "I like feisty", $4f
 	db "kids like you!@@"
 ; 0x81bf3 + 31 bytes
 
-_SSAnne10EndBattleText4: ; 0x81c12
+_SSAnne10EndBattleText4: ; 81c12 (20:5c12)
 	db $0, "Argh!", $4f
 	db "Lost it!", $58
 ; 0x81c12 + 16 bytes
 
-_SSAnne10AfterBattleText4: ; 0x81c22
+_SSAnne10AfterBattleText4: ; 81c22 (20:5c22)
 	db $0, "Sea #MON live", $4f
 	db "in deep water.", $55
 	db "You'll need a ROD!", $57
 ; 0x81c22 + 48 bytes
 
-_SSAnne10BattleText5: ; 0x81c52
+_SSAnne10BattleText5: ; 81c52 (20:5c52)
 	db $0, "Matey, you're", $4f
 	db "walking the plank", $55
 	db "if you lose!", $57
 ; 0x81c52 + 45 bytes
 
-_SSAnne10EndBattleText5: ; 0x81c7f
+_SSAnne10EndBattleText5: ; 81c7f (20:5c7f)
 	db $0, "Argh!", $4f
 	db "Beaten by a kid!", $58
 ; 0x81c7f + 24 bytes
 
-_SSAnne10AfterBattleText5: ; 0x81c97
+_SSAnne10AfterBattleText5: ; 81c97 (20:5c97)
 	db $0, "Jellyfish some-", $4f
 	db "times drift into", $55
 	db "the ship.", $57
 ; 0x81c97 + 44 bytes
 
-_SSAnne10BattleText6: ; 0x81cc3
+_SSAnne10BattleText6: ; 81cc3 (20:5cc3)
 	db $0, "Hello stranger!", $4f
 	db "Stop and chat!", $51
 	db "All my #MON", $4f
@@ -112677,19 +113902,19 @@
 	db "are from the sea!", $57
 ; 0x81cc3 + 62 bytes
 
-_SSAnne10EndBattleText6: ; 0x81d01
+_SSAnne10EndBattleText6: ; 81d01 (20:5d01)
 	db $0, "Darn!", $4f
 	db "I let that one", $55
 	db "get away!", $58
 ; 0x81d01 + 32 bytes
 
-_SSAnne10AfterBattleText6: ; 0x81d21
+_SSAnne10AfterBattleText6: ; 81d21 (20:5d21)
 	db $0, "I was going to", $4f
 	db "make you my", $55
 	db "assistant too!", $57
 ; 0x81d21 + 43 bytes
 
-_SSAnne10Text7: ; 0x81d4c
+_SSAnne10Text7: ; 81d4c (20:5d4c)
 	db $0, "My buddy, MACHOKE,", $4f
 	db "is super strong!", $51
 	db "He has enough", $4f
@@ -112696,47 +113921,47 @@
 	db "STRENGTH to move", $55
 	db "big rocks!", $57
 
-_VictoryRoad3BattleText2: ; 0x81d9b
+_VictoryRoad3BattleText2: ; 81d9b (20:5d9b)
 	db $0, "I heard rumors of", $4f
 	db "a child prodigy!", $57
 ; 0x81d9b + 36 bytes
 
-_VictoryRoad3EndBattleText2: ; 0x81dbf
+_VictoryRoad3EndBattleText2: ; 81dbf (20:5dbf)
 	db $0, "The", $4f
 	db "rumors were true!", $58
 ; 0x81dbf + 23 bytes
 
-_VictoryRoad3AfterBattleText2: ; 0x81dd6
+_VictoryRoad3AfterBattleText2: ; 81dd6 (20:5dd6)
 	db $0, "You beat GIOVANNI", $4f
 	db "of TEAM ROCKET?", $57
 ; 0x81dd6 + 35 bytes
 
-_VictoryRoad3BattleText3: ; 0x81df9
+_VictoryRoad3BattleText3: ; 81df9 (20:5df9)
 	db $0, "I'll show you just", $4f
 	db "how good you are!", $57
 ; 0x81df9 + 37 bytes
 
-_VictoryRoad3EndBattleText3: ; 0x81e1e
+_VictoryRoad3EndBattleText3: ; 81e1e (20:5e1e)
 	db $0, "I'm", $4f
 	db "furious!", $58
 ; 0x81e1e + 13 bytes
 
-_VictoryRoad3AfterBattleText3: ; 0x81e2b
+_VictoryRoad3AfterBattleText3: ; 81e2b (20:5e2b)
 	db $0, "You showed me just", $4f
 	db "how good I was!", $57
 ; 0x81e2b + 36 bytes
 
-_VictoryRoad3BattleText4: ; 0x81e4f
+_VictoryRoad3BattleText4: ; 81e4f (20:5e4f)
 	db $0, "Only the chosen", $4f
 	db "can pass here!", $57
 ; 0x81e4f + 32 bytes
 
-_VictoryRoad3EndBattleText4: ; 0x81e6f
+_VictoryRoad3EndBattleText4: ; 81e6f (20:5e6f)
 	db $0, "I", $4f
 	db "don't believe it!", $58
 ; 0x81e6f + 20 bytes
 
-_VictoryRoad3AfterBattleText4: ; 0x81e83
+_VictoryRoad3AfterBattleText4: ; 81e83 (20:5e83)
 	db $0, "All trainers here", $4f
 	db "are headed to the", $55
 	db "#MON LEAGUE!", $55
@@ -112743,110 +113968,110 @@
 	db "Be careful!", $57
 ; 0x81e83 + 62 bytes
 
-_VictoryRoad3BattleText5: ; 0x81ec1
+_VictoryRoad3BattleText5: ; 81ec1 (20:5ec1)
 	db $0, "Trainers live to", $4f
 	db "seek stronger", $55
 	db "opponents!", $57
 ; 0x81ec1 + 43 bytes
 
-_VictoryRoad3EndBattleText5: ; 0x81eec
+_VictoryRoad3EndBattleText5: ; 81eec (20:5eec)
 	db $0, "Oh!", $4f
 	db "So strong!", $58
 ; 0x81eec + 16 bytes
 
-_VictoryRoad3AfterBattleText5: ; 0x81efc
+_VictoryRoad3AfterBattleText5: ; 81efc (20:5efc)
 	db $0, "By fighting tough", $4f
 	db "battles, you get", $55
 	db "stronger!", $57
 ; 0x81efc + 46 bytes
 
-_RocketHideout1EndBattleText6: ; 0x81f2a
+_RocketHideout1EndBattleText6: ; 81f2a (20:5f2a)
 	db $0, "Why...?@@"
 ; 0x81f34
 
-_RocketHideout1BattleText2: ; 0x81f34
+_RocketHideout1BattleText2: ; 81f34 (20:5f34)
 	db $0, "Who are you? How", $4f
 	db "did you get here?", $57
 ; 0x81f34 + 36 bytes
 
-_RocketHideout1EndBattleText2: ; 0x81f58
+_RocketHideout1EndBattleText2: ; 81f58 (20:5f58)
 	db $0, "Oww!", $4f
 	db "Beaten!", $58
 ; 0x81f58 + 14 bytes
 
-_RocketHideout1AfterBattleTxt2: ; 0x81f66
+_RocketHideout1AfterBattleTxt2: ; 81f66 (20:5f66)
 	db $0, "Are you dissing", $4f
 	db "TEAM ROCKET?", $57
 ; 0x81f66 + 30 bytes
 
-_RocketHideout1BattleText3: ; 0x81f84
+_RocketHideout1BattleText3: ; 81f84 (20:5f84)
 	db $0, "You broke into", $4f
 	db "our operation?", $57
 ; 0x81f84 + 31 bytes
 
-_RocketHideout1EndBattleText3: ; 0x81fa3
+_RocketHideout1EndBattleText3: ; 81fa3 (20:5fa3)
 	db $0, "Burnt!", $58
 ; 0x81fa3 + 8 bytes
 
-_RocketHideout1AfterBattleTxt3: ; 0x81fab
+_RocketHideout1AfterBattleTxt3: ; 81fab (20:5fab)
 	db $0, "You're not going", $4f
 	db "to get away with", $55
 	db "this, brat!", $57
 ; 0x81fab + 46 bytes
 
-_RocketHideout1BattleText4: ; 0x81fd9
+_RocketHideout1BattleText4: ; 81fd9 (20:5fd9)
 	db $0, "Intruder alert!", $57
 ; 0x81fd9 + 17 bytes
 
-_RocketHideout1EndBattleText4: ; 0x81fea
+_RocketHideout1EndBattleText4: ; 81fea (20:5fea)
 	db $0, "I", $4f
 	db "can't do it!", $58
 ; 0x81fea + 15 bytes
 
-_RocketHideout1AfterBattleTxt4: ; 0x81ff9
+_RocketHideout1AfterBattleTxt4: ; 81ff9 (20:5ff9)
 	db $0, "SILPH SCOPE?", $4f
 	db "I don't know", $55
 	db "where it is!", $57
 ; 0x81ff9 + 39 bytes
 
-_RocketHideout1BattleText5: ; 0x82020
+_RocketHideout1BattleText5: ; 82020 (20:6020)
 	db $0, "Why did you come", $4f
 	db "here?", $57
 ; 0x82020 + 24 bytes
 
-_RocketHideout1EndBattleText5: ; 0x82038
+_RocketHideout1EndBattleText5: ; 82038 (20:6038)
 	db $0, "This", $4f
 	db "won't do!", $58
 ; 0x82038 + 15 bytes
 
-_RocketHideout1AfterBattleTxt5: ; 0x82047
+_RocketHideout1AfterBattleTxt5: ; 82047 (20:6047)
 	db $0, "OK, I'll talk!", $4f
 	db "Take the elevator", $55
 	db "to see my BOSS!", $57
 ; 0x82047 + 49 bytes
 
-_RocketHideout1BattleText6: ; 0x82078
+_RocketHideout1BattleText6: ; 82078 (20:6078)
 	db $0, "Are you lost, you", $4f
 	db "little rat?", $57
 ; 0x82078 + 31 bytes
 
-_RocketHideout1AfterBattleTxt6: ; 0x82097
+_RocketHideout1AfterBattleTxt6: ; 82097 (20:6097)
 	db $0, "Uh-oh, that fight", $4f
 	db "opened the door!", $57
 ; 0x82097 + 36 bytes
 
-_RocketHideout2BattleText2: ; 0x820bb
+_RocketHideout2BattleText2: ; 820bb (20:60bb)
 	db $0, "BOSS said you can", $4f
 	db "see GHOSTs with", $55
 	db "the SILPH SCOPE!", $57
 ; 0x820bb + 52 bytes
 
-_RocketHideout2EndBattleText2: ; 0x820ef
+_RocketHideout2EndBattleText2: ; 820ef (20:60ef)
 	db $0, "I", $4f
 	db "surrender!", $58
 ; 0x820ef + 14 bytes
 
-_RocketHideout2AfterBattleTxt2: ; 0x820fd
+_RocketHideout2AfterBattleTxt2: ; 820fd (20:60fd)
 	db $0, "The TEAM ROCKET", $4f
 	db "HQ has 4 basement", $55
 	db "floors. Can you", $55
@@ -112853,18 +114078,18 @@
 	db "reach the BOSS?", $57
 ; 0x820fd + 67 bytes
 
-_RocketHideout3BattleText2: ; 0x82140
+_RocketHideout3BattleText2: ; 82140 (20:6140)
 	db $0, "Stop meddling in", $4f
 	db "TEAM ROCKET's", $55
 	db "affairs!", $57
 ; 0x82140 + 40 bytes
 
-_RocketHideout3EndBattleText2: ; 0x82168
+_RocketHideout3EndBattleText2: ; 82168 (20:6168)
 	db $0, "Oof!", $4f
 	db "Taken down!", $58
 ; 0x82168 + 18 bytes
 
-_RocketHideout3AfterBattleTxt2: ; 0x8217a
+_RocketHideout3AfterBattleTxt2: ; 8217a (20:617a)
 	db $0, "SILPH SCOPE?", $4f
 	db "The machine the", $55
 	db "BOSS stole. It's", $55
@@ -112871,18 +114096,18 @@
 	db "here somewhere.", $57
 ; 0x8217a + 62 bytes
 
-_RocketHideout3BattleTxt: ; 0x821b8
+_RocketHideout3BattleTxt: ; 821b8 (20:61b8)
 	db $0, "We got word from", $4f
 	db "upstairs that you", $55
 	db "were coming!", $57
 ; 0x821b8 + 49 bytes
 
-_RocketHideout3EndBattleText3: ; 0x821e9
+_RocketHideout3EndBattleText3: ; 821e9 (20:61e9)
 	db $0, "What?", $4f
 	db "I lost? No!", $58
 ; 0x821e9 + 19 bytes
 
-_RocketHideout3AfterBattleText3: ; 0x821fc
+_RocketHideout3AfterBattleText3: ; 821fc (20:61fc)
 	db $0, "Go ahead and go!", $4f
 	db "But, you need the", $55
 	db "LIFT KEY to run", $55
@@ -112889,18 +114114,18 @@
 	db "the elevator!", $57
 ; 0x821fc + 66 bytes
 
-_UnnamedText_4557a: ; 0x8223e
+_UnnamedText_4557a: ; 8223e (20:623e)
 	db $0, "So! I must say, I", $4f
 	db "am impressed you", $55
 	db "got here!", $57
 ; 0x8223e + 46 bytes
 
-_UnnamedText_4557f: ; 0x8226c
+_UnnamedText_4557f: ; 8226c (20:626c)
 	db $0, "WHAT!", $4f
 	db "This cannot be!", $58
 ; 0x8226c + 23 bytes
 
-_UnnamedText_45584: ; 0x82283
+_UnnamedText_45584: ; 82283 (20:6283)
 	db $0, "I see that you", $4f
 	db "raise #MON", $55
 	db "with utmost care.", $51
@@ -112914,59 +114139,59 @@
 	db "again...", $57
 ; 0x82283 + 163 bytes
 
-_RocketHideout4BattleText2: ; 0x82326
+_RocketHideout4BattleText2: ; 82326 (20:6326)
 	db $0, "I know you! You", $4f
 	db "ruined our plans", $55
 	db "at MT.MOON!", $57
 ; 0x82326 + 46 bytes
 
-_RocketHideout4EndBattleText2: ; 0x82354
+_RocketHideout4EndBattleText2: ; 82354 (20:6354)
 	db $0, "Burned", $4f
 	db "again!", $58
 ; 0x82354 + 15 bytes
 
-_RocketHideout4AfterBattleText2: ; 0x82363
+_RocketHideout4AfterBattleText2: ; 82363 (20:6363)
 	db $0, "Do you have", $4f
 	db "something against", $55
 	db "TEAM ROCKET?", $57
 ; 0x82363 + 44 bytes
 
-_RocketHideout4BattleText3: ; 0x8238f
+_RocketHideout4BattleText3: ; 8238f (20:638f)
 	db $0, "How can you not", $4f
 	db "see the beauty of", $55
 	db "our evil?", $57
 ; 0x8238f + 45 bytes
 
-_RocketHideout4EndBattleText3: ; 0x823bc
+_RocketHideout4EndBattleText3: ; 823bc (20:63bc)
 	db $0, "Ayaya!", $58
 ; 0x823bc + 8 bytes
 
-_RocketHideout4AfterBattleText3: ; 0x823c4
+_RocketHideout4AfterBattleText3: ; 823c4 (20:63c4)
 	db $0, "BOSS! I'm sorry I", $4f
 	db "failed you!", $57
 ; 0x823c4 + 30 bytes
 
-_RocketHideout4BattleText4: ; 0x823e2
+_RocketHideout4BattleText4: ; 823e2 (20:63e2)
 	db $0, "The elevator", $4f
 	db "doesn't work? Who", $55
 	db "has the LIFT KEY?", $57
 ; 0x823e2 + 49 bytes
 
-_RocketHideout4EndBattleText4: ; 0x82413
+_RocketHideout4EndBattleText4: ; 82413 (20:6413)
 	db $0, "No!", $58
 ; 0x82413 + 5 bytes
 
-_UnnamedText_455ec: ; 0x82418
+_UnnamedText_455ec: ; 82418 (20:6418)
 	db $0, "Oh no! I dropped", $4f
 	db "the LIFT KEY!", $57
 ; 0x82418 + 32 bytes
 
-_UnnamedText_4578b: ; 0x82438
+_UnnamedText_4578b: ; 82438 (20:6438)
 	db $0, "It appears to", $4f
 	db "need a key.@@"
 ; 0xa82454
 
-_UnnamedText_59ded: ; 0x82454
+_UnnamedText_59ded: ; 82454 (20:6454)
 	db $0, "Eeek!", $4f
 	db "No! Stop! Help!", $51
 	db "Oh, you're not", $4f
@@ -112976,7 +114201,7 @@
 	db "please take this!", $58
 ; 0x82454 + 102 bytes
 
-_ReceivedTM36Text: ; 0x824ba
+_ReceivedTM36Text: ; 824ba (20:64ba)
 	db $0, $52, " got", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -112983,7 +114208,7 @@
 	db $0, "!@@"
 ; 0x824c9
 
-_TM36ExplanationText: ; 0x824c9
+_TM36ExplanationText: ; 824c9 (20:64c9)
 	db $0, "TM36 is", $4f
 	db "SELFDESTRUCT!", $51
 	db "It's powerful, but", $4f
@@ -112992,53 +114217,53 @@
 	db "Be careful.", $57
 ; 0x824c9 + 83 bytes
 
-_TM36NoRoomText: ; 0x8251c
+_TM36NoRoomText: ; 8251c (20:651c)
 	db $0, "You don't have any", $4f
 	db "room for this.", $57
 ; 0x8251c + 34 bytes
 
-_SilphCo2BattleText1: ; 0x8253e
+_SilphCo2BattleText1: ; 8253e (20:653e)
 	db $0, "Help! I'm a SILPH", $4f
 	db "employee.", $57
 ; 0x8253e + 28 bytes
 
-_SilphCo2EndBattleText1: ; 0x8255a
+_SilphCo2EndBattleText1: ; 8255a (20:655a)
 	db $0, "How", $4f
 	db "did you know I", $55
 	db "was a ROCKET?", $58
 ; 0x8255a + 34 bytes
 
-_SilphCo2AfterBattleText1: ; 0x8257c
+_SilphCo2AfterBattleText1: ; 8257c (20:657c)
 	db $0, "I work for both", $4f
 	db "SILPH and TEAM", $55
 	db "ROCKET!", $57
 ; 0x8257c + 40 bytes
 
-_SilphCo2BattleText2: ; 0x825a4
+_SilphCo2BattleText2: ; 825a4 (20:65a4)
 	db $0, "It's off limits", $4f
 	db "here! Go home!", $57
 ; 0x825a4 + 31 bytes
 
-_SilphCo2EndBattleText2: ; 0x825c3
+_SilphCo2EndBattleText2: ; 825c3 (20:65c3)
 	db $0, "You're", $4f
 	db "good.", $58
 ; 0x825c3 + 13 bytes
 
-_SilphCo2AfterBattleText2: ; 0x825d0
+_SilphCo2AfterBattleText2: ; 825d0 (20:65d0)
 	db $0, "Can you solve the", $4f
 	db "maze in here?", $57
 ; 0x825d0 + 33 bytes
 
-_SilphCo2BattleText3: ; 0x825f1
+_SilphCo2BattleText3: ; 825f1 (20:65f1)
 	db $0, "No kids are", $4f
 	db "allowed in here!", $57
 ; 0x825f1 + 30 bytes
 
-_SilphCo2EndBattleText3: ; 0x8260f
+_SilphCo2EndBattleText3: ; 8260f (20:660f)
 	db $0, "Tough!", $58
 ; 0x8260f + 8 bytes
 
-_SilphCo2AfterBattleText3: ; 0x82617
+_SilphCo2AfterBattleText3: ; 82617 (20:6617)
 	db $0, "Diamond shaped", $4f
 	db "tiles are", $55
 	db "teleport blocks!", $51
@@ -113046,60 +114271,60 @@
 	db "transporters!", $57
 ; 0x82617 + 72 bytes
 
-_SilphCo2BattleText4: ; 0x8265f
+_SilphCo2BattleText4: ; 8265f (20:665f)
 	db $0, "Hey kid! What are", $4f
 	db "you doing here?", $57
 ; 0x8265f + 35 bytes
 
-_SilphCo2EndBattleText4: ; 0x82682
+_SilphCo2EndBattleText4: ; 82682 (20:6682)
 	db $0, "I goofed!", $58
 ; 0x82682 + 11 bytes
 
-_SilphCo2AfterBattleText4: ; 0x8268d
+_SilphCo2AfterBattleText4: ; 8268d (20:668d)
 	db $0, "SILPH CO. will", $4f
 	db "be merged with", $55
 	db "TEAM ROCKET!", $57
 ; 0x8268d + 44 bytes
 
-_UnnamedText_59ff9: ; 0x826b9
+_UnnamedText_59ff9: ; 826b9 (20:66b9)
 	db $0, "I work for SILPH.", $4f
 	db "What should I do?", $57
 ; 0x826b9 + 37 bytes
 
-_UnnamedText_59ffe: ; 0x826de
+_UnnamedText_59ffe: ; 826de (20:66de)
 	db $0, $52, "! You and", $4f
 	db "your #MON", $55
 	db "saved us!", $57
 ; 0x826de + 32 bytes
 
-_SilphCo3BattleText1: ; 0x826fe
+_SilphCo3BattleText1: ; 826fe (20:66fe)
 	db $0, "Quit messing with", $4f
 	db "us, kid!", $57
 ; 0x826fe + 28 bytes
 
-_SilphCo3EndBattleText1: ; 0x8271a
+_SilphCo3EndBattleText1: ; 8271a (20:671a)
 	db $0, "I give", $4f
 	db "up!", $58
 ; 0x8271a + 12 bytes
 
-_SilphCo3AfterBattleText1: ; 0x82726
+_SilphCo3AfterBattleText1: ; 82726 (20:6726)
 	db $0, "A hint? You can", $4f
 	db "open doors with a", $55
 	db "CARD KEY!", $57
 ; 0x82726 + 45 bytes
 
-_SilphCo3BattleText2: ; 0x82753
+_SilphCo3BattleText2: ; 82753 (20:6753)
 	db $0, "I support TEAM", $4f
 	db "ROCKET more than", $55
 	db "I support SILPH!", $57
 ; 0x82753 + 50 bytes
 
-_SilphCo3EndBattleText2: ; 0x82785
+_SilphCo3EndBattleText2: ; 82785 (20:6785)
 	db $0, "You", $4f
 	db "really got me!", $58
 ; 0x82785 + 20 bytes
 
-_SilphCo3AfterBattleText2: ; 0x82799
+_SilphCo3AfterBattleText2: ; 82799 (20:6799)
 	db $0, "Humph...", $51
 	db "TEAM ROCKET said", $4f
 	db "that if I helped", $55
@@ -113107,43 +114332,43 @@
 	db "me study #MON!", $57
 ; 0x82799 + 75 bytes
 
-_UnnamedText_19de0: ; 0x827e4
+_UnnamedText_19de0: ; 827e4 (20:67e4)
 	db $0, "Sssh! Can't you", $4f
 	db "see I'm hiding?", $57
 ; 0x827e4 + 31 bytes
 
-_UnnamedText_19de5: ; 0x82803
+_UnnamedText_19de5: ; 82803 (20:6803)
 	db $0, "Huh? TEAM ROCKET", $4f
 	db "is gone?", $57
 ; 0x82803 + 27 bytes
 
-_SilphCo4BattleText2: ; 0x8281e
+_SilphCo4BattleText2: ; 8281e (20:681e)
 	db $0, "TEAM ROCKET has", $4f
 	db "taken command of", $55
 	db "SILPH CO.!", $57
 ; 0x8281e + 45 bytes
 
-_SilphCo4EndBattleText2: ; 0x8284b
+_SilphCo4EndBattleText2: ; 8284b (20:684b)
 	db $0, "Arrgh!", $58
 ; 0x8284b + 8 bytes
 
-_SilphCo4AfterBattleText2: ; 0x82853
+_SilphCo4AfterBattleText2: ; 82853 (20:6853)
 	db $0, "Fwahahaha!", $4f
 	db "My BOSS has been", $55
 	db "after this place!", $57
 ; 0x82853 + 47 bytes
 
-_SilphCo4BattleText3: ; 0x82882
+_SilphCo4BattleText3: ; 82882 (20:6882)
 	db $0, "My #MON are my", $4f
 	db "loyal soldiers!", $57
 ; 0x82882 + 32 bytes
 
-_SilphCo4EndBattleText3: ; 0x828a2
+_SilphCo4EndBattleText3: ; 828a2 (20:68a2)
 	db $0, "Darn!", $4f
 	db "You weak #MON!", $58
 ; 0x828a2 + 22 bytes
 
-_SilphCo4AfterBattleText3: ; 0x828b8
+_SilphCo4AfterBattleText3: ; 828b8 (20:68b8)
 	db $0, "The doors are", $4f
 	db "electronically", $55
 	db "locked! A CARD", $55
@@ -113150,21 +114375,21 @@
 	db "KEY opens them!", $57
 ; 0x828b8 + 61 bytes
 
-_SilphCo4BattleText4: ; 0x828f5
+_SilphCo4BattleText4: ; 828f5 (20:68f5)
 	db $0, "Intruder spotted!", $57
 ; 0x828f5 + 19 bytes
 
-_SilphCo4EndBattleText4: ; 0x82908
+_SilphCo4EndBattleText4: ; 82908 (20:6908)
 	db $0, "Who", $4f
 	db "are you?", $58
 ; 0x82908 + 14 bytes
 
-_SilphCo4AfterBattleText4: ; 0x82916
+_SilphCo4AfterBattleText4: ; 82916 (20:6916)
 	db $0, "I better tell the", $4f
 	db "BOSS on 11F!", $57
 ; 0x82916 + 32 bytes
 
-_UnnamedText_1a010: ; 0x82936
+_UnnamedText_1a010: ; 82936 (20:6936)
 	db $0, "TEAM ROCKET is", $4f
 	db "in an uproar over", $55
 	db "some intruder.", $55
@@ -113171,39 +114396,39 @@
 	db "That's you right?", $57
 ; 0x82936 + 66 bytes
 
-_UnnamedText_1a015: ; 0x82978
+_UnnamedText_1a015: ; 82978 (20:6978)
 	db $0, "TEAM ROCKET took", $4f
 	db "off! You're our", $55
 	db "hero! Thank you!", $57
 ; 0x82978 + 50 bytes
 
-_SilphCo5BattleText2: ; 0x829aa
+_SilphCo5BattleText2: ; 829aa (20:69aa)
 	db $0, "I heard a kid was", $4f
 	db "wandering around.", $57
 ; 0x829aa + 37 bytes
 
-_SilphCo5EndBattleText2: ; 0x829cf
+_SilphCo5EndBattleText2: ; 829cf (20:69cf)
 	db $0, "Boom!", $58
 ; 0x829cf + 7 bytes
 
-_SilphCo5AfterBattleText2: ; 0x829d6
+_SilphCo5AfterBattleText2: ; 829d6 (20:69d6)
 	db $0, "It's not smart", $4f
 	db "to pick a fight", $55
 	db "with TEAM ROCKET!", $57
 ; 0x829d6 + 49 bytes
 
-_SilphCo5BattleText3: ; 0x82a07
+_SilphCo5BattleText3: ; 82a07 (20:6a07)
 	db $0, "We study #", $4f
 	db "BALL technology", $55
 	db "on this floor!", $57
 ; 0x82a07 + 43 bytes
 
-_SilphCo5EndBattleText3: ; 0x82a32
+_SilphCo5EndBattleText3: ; 82a32 (20:6a32)
 	db $0, "Dang!", $4f
 	db "Blast it!", $58
 ; 0x82a32 + 17 bytes
 
-_SilphCo5AfterBattleText3: ; 0x82a43
+_SilphCo5AfterBattleText3: ; 82a43 (20:6a43)
 	db $0, "We worked on the", $4f
 	db "ultimate #", $55
 	db "BALL which would", $55
@@ -113210,7 +114435,7 @@
 	db "catch anything!", $57
 ; 0x82a43 + 62 bytes
 
-_SilphCo5BattleText4: ; 0x82a81
+_SilphCo5BattleText4: ; 82a81 (20:6a81)
 	db $0, "Whaaat? There", $4f
 	db "shouldn't be any", $55
 	db "children here?", $57
@@ -113218,34 +114443,34 @@
 
 SECTION "bank21",DATA,BANK[$21]
 
-_SilphCo5EndBattleText4: ; 0x84000
+_SilphCo5EndBattleText4: ; 84000 (21:4000)
 	db $0, "Oh", $4f
 	db "goodness!", $58
 ; 0x84000 + 14 bytes
 
-_SilphCo5AfterBattleText4: ; 0x8400e
+_SilphCo5AfterBattleText4: ; 8400e (21:400e)
 	db $0, "You're only on 5F.", $4f
 	db "It's a long way", $55
 	db "to my BOSS!", $57
 ; 0x8400e + 46 bytes
 
-_SilphCo5BattleText5: ; 0x8403c
+_SilphCo5BattleText5: ; 8403c (21:403c)
 	db $0, "Show TEAM ROCKET", $4f
 	db "a little respect!", $57
 ; 0x8403c + 36 bytes
 
-_SilphCo5EndBattleText5: ; 0x84060
+_SilphCo5EndBattleText5: ; 84060 (21:4060)
 	db $0, "Cough...", $4f
 	db "Cough...", $58
 ; 0x84060 + 19 bytes
 
-_SilphCo5AfterBattleText5: ; 0x84073
+_SilphCo5AfterBattleText5: ; 84073 (21:4073)
 	db $0, "Which reminds me.", $51
 	db "KOFFING evolves", $4f
 	db "into WEEZING!", $57
 ; 0x84073 + 49 bytes
 
-_SilphCo5Text9: ; 0x840a4
+_SilphCo5Text9: ; 840a4 (21:40a4)
 	db $0, "It's a #MON", $4f
 	db "REPORT!", $51
 	db "#MON LAB", $4f
@@ -113253,7 +114478,7 @@
 	db "the first virtual", $55
 	db "reality #MON.", $57
 
-_SilphCo5Text10: ; 0x840f2
+_SilphCo5Text10: ; 840f2 (21:40f2)
 	db $0, "It's a #MON", $4f
 	db "REPORT!", $51
 	db "Over 160 #MON", $4f
@@ -113260,7 +114485,7 @@
 	db "techniques have", $55
 	db "been confirmed.", $57
 
-_SilphCo5Text11: ; 0x84134
+_SilphCo5Text11: ; 84134 (21:4134)
 	db $0, "It's a #MON", $4f
 	db "REPORT!", $51
 	db "4 #MON evolve", $4f
@@ -113267,39 +114492,39 @@
 	db "only when traded", $55
 	db "by link-cable.", $57
 
-_UnnamedText_1a24a: ; 0x84176
+_UnnamedText_1a24a: ; 84176 (21:4176)
 	db $0, "The ROCKETs came", $4f
 	db "and took over the", $55
 	db "building!", $57
 ; 0x84176 + 46 bytes
 
-_UnnamedText_1a24f: ; 0x841a4
+_UnnamedText_1a24f: ; 841a4 (21:41a4)
 	db $0, "Well, better get", $4f
 	db "back to work!", $57
 ; 0x841a4 + 32 bytes
 
-_UnnamedText_1a261: ; 0x841c4
+_UnnamedText_1a261: ; 841c4 (21:41c4)
 	db $0, "Oh dear, oh dear.", $4f
 	db "Help me please!", $57
 ; 0x841c4 + 35 bytes
 
-_UnnamedText_1a266: ; 0x841e7
+_UnnamedText_1a266: ; 841e7 (21:41e7)
 	db $0, "We got engaged!", $4f
 	db "Heheh!", $57
 ; 0x841e7 + 24 bytes
 
-_UnnamedText_1a278: ; 0x841ff
+_UnnamedText_1a278: ; 841ff (21:41ff)
 	db $0, "Look at him! He's", $4f
 	db "such a coward!", $57
 ; 0x841ff + 33 bytes
 
-_UnnamedText_1a27d: ; 0x84220
+_UnnamedText_1a27d: ; 84220 (21:4220)
 	db $0, "I feel so sorry", $4f
 	db "for him, I have", $55
 	db "to marry him!", $57
 ; 0x84220 + 47 bytes
 
-_UnnamedText_1a28f: ; 0x8424f
+_UnnamedText_1a28f: ; 8424f (21:424f)
 	db $0, "TEAM ROCKET is", $4f
 	db "trying to conquer", $55
 	db "the world with", $55
@@ -113306,12 +114531,12 @@
 	db "#MON!", $57
 ; 0x8424f + 55 bytes
 
-_UnnamedText_1a294: ; 0x84286
+_UnnamedText_1a294: ; 84286 (21:4286)
 	db $0, "TEAM ROCKET ran", $4f
 	db "because of you!", $57
 ; 0x84286 + 33 bytes
 
-_UnnamedText_1a2a6: ; 0x842a7
+_UnnamedText_1a2a6: ; 842a7 (21:42a7)
 	db $0, "They must have", $4f
 	db "targeted SILPH", $55
 	db "for our #MON", $55
@@ -113318,29 +114543,29 @@
 	db "products.", $57
 ; 0x842a7 + 54 bytes
 
-_UnnamedText_1a2ab: ; 0x842dd
+_UnnamedText_1a2ab: ; 842dd (21:42dd)
 	db $0, "Come work for", $4f
 	db "SILPH when you", $55
 	db "get older!", $57
 ; 0x842dd + 41 bytes
 
-_SilphCo6BattleText2: ; 0x84306
+_SilphCo6BattleText2: ; 84306 (21:4306)
 	db $0, "I am one of the 4", $4f
 	db "ROCKET BROTHERS!", $57
 ; 0x84306 + 36 bytes
 
-_SilphCo6EndBattleText2: ; 0x8432a
+_SilphCo6EndBattleText2: ; 8432a (21:432a)
 	db $0, "Flame", $4f
 	db "out!", $58
 ; 0x8432a + 12 bytes
 
-_SilphCo6AfterBattleText2: ; 0x84336
+_SilphCo6AfterBattleText2: ; 84336 (21:4336)
 	db $0, "No matter!", $4f
 	db "My brothers will", $55
 	db "avenge me!", $57
 ; 0x84336 + 40 bytes
 
-_SilphCo6BattleText3: ; 0x8435e
+_SilphCo6BattleText3: ; 8435e (21:435e)
 	db $0, "That rotten", $4f
 	db "PRESIDENT!", $51
 	db "He shouldn't have", $4f
@@ -113348,33 +114573,33 @@
 	db "TIKSI BRANCH!", $57
 ; 0x8435e + 70 bytes
 
-_SilphCo6EndBattleText3: ; 0x843a4
+_SilphCo6EndBattleText3: ; 843a4 (21:43a4)
 	db $0, "Shoot!", $58
 ; 0x843a4 + 8 bytes
 
-_SilphCo6AfterBattleText3: ; 0x843ac
+_SilphCo6AfterBattleText3: ; 843ac (21:43ac)
 	db $0, "TIKSI BRANCH?", $4f
 	db "It's in Russian", $55
 	db "no man's land!", $57
 ; 0x843ac + 44 bytes
 
-_SilphCo6BattleText4: ; 0x843d8
+_SilphCo6BattleText4: ; 843d8 (21:43d8)
 	db $0, "You dare betray", $4f
 	db "TEAM ROCKET?", $57
 ; 0x843d8 + 30 bytes
 
-_SilphCo6EndBattleText4: ; 0x843f6
+_SilphCo6EndBattleText4: ; 843f6 (21:43f6)
 	db $0, "You", $4f
 	db "traitor!", $58
 ; 0x843f6 + 14 bytes
 
-_SilphCo6AfterBattleText4: ; 0x84404
+_SilphCo6AfterBattleText4: ; 84404 (21:4404)
 	db $0, "If you stand for", $4f
 	db "justice, you", $55
 	db "betray evil!", $57
 ; 0x84404 + 44 bytes
 
-_UnnamedText_51dd3: ; 0x84430
+_UnnamedText_51dd3: ; 84430 (21:4430)
 	db $0, "Oh! Hi! You're", $4f
 	db "not a ROCKET! You", $55
 	db "came to save us?", $55
@@ -113384,7 +114609,7 @@
 	db "for saving us.", $58
 ; 0x84430 + 110 bytes
 
-_UnnamedText_51dd8: ; 0x8449e
+_UnnamedText_51dd8: ; 8449e (21:449e)
 	db $0, "It's LAPRAS. It's", $4f
 	db "very intelligent.", $51
 	db "We kept it in our", $4f
@@ -113399,7 +114624,7 @@
 	db "give you a lift!", $57
 ; 0x8449e + 188 bytes
 
-_UnnamedText_51ddd: ; 0x8455a
+_UnnamedText_51ddd: ; 8455a (21:455a)
 	db $0, "TEAM ROCKET's", $4f
 	db "BOSS went to the", $55
 	db "boardroom! Is our", $55
@@ -113406,12 +114631,12 @@
 	db "PRESIDENT OK?", $57
 ; 0x8455a + 63 bytes
 
-_UnnamedText_51de2: ; 0x84599
+_UnnamedText_51de2: ; 84599 (21:4599)
 	db $0, "Saved at last!", $4f
 	db "Thank you!", $57
 ; 0x84599 + 27 bytes
 
-_UnnamedText_51e00: ; 0x845b4
+_UnnamedText_51e00: ; 845b4 (21:45b4)
 	db $0, "TEAM ROCKET was", $4f
 	db "after the MASTER", $55
 	db "BALL which will", $55
@@ -113418,7 +114643,7 @@
 	db "catch any #MON!", $57
 ; 0x845b4 + 66 bytes
 
-_UnnamedText_51e05: ; 0x845f6
+_UnnamedText_51e05: ; 845f6 (21:45f6)
 	db $0, "We canceled the", $4f
 	db "MASTER BALL", $55
 	db "project because", $55
@@ -113425,7 +114650,7 @@
 	db "of TEAM ROCKET.", $57
 ; 0x845f6 + 61 bytes
 
-_UnnamedText_51e23: ; 0x84633
+_UnnamedText_51e23: ; 84633 (21:4633)
 	db $0, "It would be bad", $4f
 	db "if TEAM ROCKET", $55
 	db "took over SILPH", $55
@@ -113432,13 +114657,13 @@
 	db "or our #MON!", $57
 ; 0x84633 + 61 bytes
 
-_UnnamedText_51e28: ; 0x84670
+_UnnamedText_51e28: ; 84670 (21:4670)
 	db $0, "Wow! You chased", $4f
 	db "off TEAM ROCKET", $55
 	db "all by yourself?", $57
 ; 0x84670 + 50 bytes
 
-_UnnamedText_51e46: ; 0x846a2
+_UnnamedText_51e46: ; 846a2 (21:46a2)
 	db $0, "You! It's really", $4f
 	db "dangerous here!", $55
 	db "You came to save", $55
@@ -113445,82 +114670,82 @@
 	db "me? You can't!", $57
 ; 0x846a2 + 64 bytes
 
-_UnnamedText_51e4b: ; 0x846e2
+_UnnamedText_51e4b: ; 846e2 (21:46e2)
 	db $0, "Safe at last!", $4f
 	db "Oh thank you!", $57
 ; 0x846e2 + 29 bytes
 
-_SilphCo7BattleText1: ; 0x846ff
+_SilphCo7BattleText1: ; 846ff (21:46ff)
 	db $0, "Oh ho! I smell a", $4f
 	db "little rat!", $57
 ; 0x846ff + 30 bytes
 
-_SilphCo7EndBattleText1: ; 0x8471d
+_SilphCo7EndBattleText1: ; 8471d (21:471d)
 	db $0, "Lights", $4f
 	db "out!", $58
 ; 0x8471d + 13 bytes
 
-_SilphCo7AfterBattleText1: ; 0x8472a
+_SilphCo7AfterBattleText1: ; 8472a (21:472a)
 	db $0, "You won't find my", $4f
 	db "BOSS by just", $55
 	db "scurrying around!", $57
 ; 0x8472a + 49 bytes
 
-_SilphCo7BattleText2: ; 0x8475b
+_SilphCo7BattleText2: ; 8475b (21:475b)
 	db $0, "Heheh!", $51
 	db "You mistook me for", $4f
 	db "a SILPH worker?", $57
 ; 0x8475b + 43 bytes
 
-_SilphCo7EndBattleText2: ; 0x84786
+_SilphCo7EndBattleText2: ; 84786 (21:4786)
 	db $0, "I'm", $4f
 	db "done!", $58
 ; 0x84786 + 10 bytes
 
-_SilphCo7AfterBattleText2: ; 0x84790
+_SilphCo7AfterBattleText2: ; 84790 (21:4790)
 	db $0, "Despite your age,", $4f
 	db "you are a skilled", $55
 	db "trainer!", $57
 ; 0x84790 + 46 bytes
 
-_SilphCo7BattleText3: ; 0x847be
+_SilphCo7BattleText3: ; 847be (21:47be)
 	db $0, "I am one of the 4", $4f
 	db "ROCKET BROTHERS!", $57
 ; 0x847be + 36 bytes
 
-_SilphCo7EndBattleText3: ; 0x847e2
+_SilphCo7EndBattleText3: ; 847e2 (21:47e2)
 	db $0, "Aack!", $4f
 	db "Brothers, I lost!", $58
 ; 0x847e2 + 25 bytes
 
-_SilphCo7AfterBattleText3: ; 0x847fb
+_SilphCo7AfterBattleText3: ; 847fb (21:47fb)
 	db $0, "Doesn't matter.", $4f
 	db "My brothers will", $55
 	db "repay the favor!", $57
 ; 0x847fb + 50 bytes
 
-_SilphCo7BattleText4: ; 0x8482d
+_SilphCo7BattleText4: ; 8482d (21:482d)
 	db $0, "A child intruder?", $4f
 	db "That must be you!", $57
 ; 0x8482d + 37 bytes
 
-_SilphCo7EndBattleText4: ; 0x84852
+_SilphCo7EndBattleText4: ; 84852 (21:4852)
 	db $0, "Fine!", $4f
 	db "I lost!", $58
 ; 0x84852 + 15 bytes
 
-_SilphCo7AfterBattleText4: ; 0x84861
+_SilphCo7AfterBattleText4: ; 84861 (21:4861)
 	db $0, "Go on home", $4f
 	db "before my BOSS", $55
 	db "gets ticked off!", $57
 ; 0x84861 + 44 bytes
 
-_UnnamedText_51ebe: ; 0x8488d
+_UnnamedText_51ebe: ; 8488d (21:488d)
 	db $0, $53, ": What", $4f
 	db "kept you ", $52, "?", $57
 ; 0x8488d + 21 bytes
 
-_UnnamedText_51ec3: ; 0x848a2
+_UnnamedText_51ec3: ; 848a2 (21:48a2)
 	db $0, $53, ": Hahaha!", $4f
 	db "I thought you'd", $55
 	db "turn up if I", $55
@@ -113535,13 +114760,13 @@
 	db "you got better!", $57
 ; 0x848a2 + 168 bytes
 
-_UnnamedText_51ec8: ; 0x8494a
+_UnnamedText_51ec8: ; 8494a (21:494a)
 	db $0, "Oh ho!", $4f
 	db "So, you are ready", $55
 	db "for BOSS ROCKET!", $58
 ; 0x8494a + 43 bytes
 
-_UnnamedText_51ecd: ; 0x84975
+_UnnamedText_51ecd: ; 84975 (21:4975)
 	db $0, $53, ": How can", $4f
 	db "I put this?", $51
 	db "You're not good", $4f
@@ -113549,7 +114774,7 @@
 	db "with us big boys!", $58
 ; 0x84975 + 72 bytes
 
-_UnnamedText_51ed2: ; 0x849bd
+_UnnamedText_51ed2: ; 849bd (21:49bd)
 	db $0, "Well, ", $52, "!", $51
 	db "I'm moving on up", $4f
 	db "and ahead!", $51
@@ -113571,105 +114796,105 @@
 	db "Smell ya!", $57
 ; 0x849bd + 263 bytes
 
-_UnnamedText_565be: ; 0x84ac4
+_UnnamedText_565be: ; 84ac4 (21:4ac4)
 	db $0, "I wonder if SILPH", $4f
 	db "is finished...", $57
 ; 0x84ac4 + 34 bytes
 
-_UnnamedText_565c3: ; 0x84ae6
+_UnnamedText_565c3: ; 84ae6 (21:4ae6)
 	db $0, "Thanks for saving", $4f
 	db "us!", $57
 ; 0x84ae6 + 23 bytes
 
-_SilphCo8BattleText1: ; 0x84afd
+_SilphCo8BattleText1: ; 84afd (21:4afd)
 	db $0, "That's as far as", $4f
 	db "you'll go!", $57
 ; 0x84afd + 27 bytes
 
-_SilphCo8EndBattleText1: ; 0x84b18
+_SilphCo8EndBattleText1: ; 84b18 (21:4b18)
 	db $0, "Not", $4f
 	db "enough grit!", $58
 ; 0x84b18 + 18 bytes
 
-_SilphCo8AfterBattleText1: ; 0x84b2a
+_SilphCo8AfterBattleText1: ; 84b2a (21:4b2a)
 	db $0, "If you don't turn", $4f
 	db "back, I'll call", $55
 	db "for backup!", $57
 ; 0x84b2a + 45 bytes
 
-_SilphCo8BattleText2: ; 0x84b57
+_SilphCo8BattleText2: ; 84b57 (21:4b57)
 	db $0, "You're causing us", $4f
 	db "problems!", $57
 ; 0x84b57 + 28 bytes
 
-_SilphCo8EndBattleText2: ; 0x84b73
+_SilphCo8EndBattleText2: ; 84b73 (21:4b73)
 	db $0, "Huh?", $4f
 	db "I lost?", $58
 ; 0x84b73 + 14 bytes
 
-_SilphCo8AfterBattleText2: ; 0x84b81
+_SilphCo8AfterBattleText2: ; 84b81 (21:4b81)
 	db $0, "So, what do you", $4f
 	db "think of SILPH", $55
 	db "BUILDING's maze?", $57
 ; 0x84b81 + 48 bytes
 
-_SilphCo8BattleText3: ; 0x84bb1
+_SilphCo8BattleText3: ; 84bb1 (21:4bb1)
 	db $0, "I am one of the 4", $4f
 	db "ROCKET BROTHERS!", $57
 ; 0x84bb1 + 36 bytes
 
-_SilphCo8EndBattleText3: ; 0x84bd5
+_SilphCo8EndBattleText3: ; 84bd5 (21:4bd5)
 	db $0, "Whoo!", $4f
 	db "Oh brothers!", $58
 ; 0x84bd5 + 20 bytes
 
-_SilphCo8AfterBattleText3: ; 0x84be9
+_SilphCo8AfterBattleText3: ; 84be9 (21:4be9)
 	db $0, "I'll leave you up", $4f
 	db "to my brothers!", $57
 ; 0x84be9 + 34 bytes
 
-_UnnamedText_5d8e5: ; 0x84c0b
+_UnnamedText_5d8e5: ; 84c0b (21:4c0b)
 	db $0, "You look tired!", $4f
 	db "You should take a", $55
 	db "quick nap!", $58
 ; 0x84c0b + 46 bytes
 
-_UnnamedText_5d8ea: ; 0x84c39
+_UnnamedText_5d8ea: ; 84c39 (21:4c39)
 	db $0, "Don't give up!", $57
 ; 0x84c39 + 15 bytes
 
-_UnnamedText_5d8ef: ; 0x84c48
+_UnnamedText_5d8ef: ; 84c48 (21:4c48)
 	db $0, "Thank you so", $4f
 	db "much!", $57
 ; 0x84c48 + 20 bytes
 
-_SilphCo9BattleText1: ; 0x84c5c
+_SilphCo9BattleText1: ; 84c5c (21:4c5c)
 	db $0, "Your #MON seem", $4f
 	db "to adore you, kid!", $57
 ; 0x84c5c + 35 bytes
 
-_SilphCo9EndBattleText1: ; 0x84c7f
+_SilphCo9EndBattleText1: ; 84c7f (21:4c7f)
 	db $0, "Ghaaah!", $58
 ; 0x84c7f + 9 bytes
 
-_SilphCo9AfterBattleText1: ; 0x84c88
+_SilphCo9AfterBattleText1: ; 84c88 (21:4c88)
 	db $0, "If I had started", $4f
 	db "as a trainer at", $55
 	db "your age...", $57
 ; 0x84c88 + 46 bytes
 
-_SilphCo9BattleText2: ; 0x84cb6
+_SilphCo9BattleText2: ; 84cb6 (21:4cb6)
 	db $0, "Your #MON have", $4f
 	db "weak points! I", $55
 	db "can nail them!", $57
 ; 0x84cb6 + 46 bytes
 
-_SilphCo9EndBattleText2: ; 0x84ce4
+_SilphCo9EndBattleText2: ; 84ce4 (21:4ce4)
 	db $0, "You", $4f
 	db "hammered me!", $58
 ; 0x84ce4 + 18 bytes
 
-_SilphCo9AfterBattleText2: ; 0x84cf6
+_SilphCo9AfterBattleText2: ; 84cf6 (21:4cf6)
 	db $0, "Exploiting weak", $4f
 	db "spots does work!", $55
 	db "Think about", $55
@@ -113676,65 +114901,65 @@
 	db "element types!", $57
 ; 0x84cf6 + 61 bytes
 
-_SilphCo9BattleText3: ; 0x84d33
+_SilphCo9BattleText3: ; 84d33 (21:4d33)
 	db $0, "I am one of the 4", $4f
 	db "ROCKET BROTHERS!", $57
 ; 0x84d33 + 36 bytes
 
-_SilphCo9EndBattleText3: ; 0x84d57
+_SilphCo9EndBattleText3: ; 84d57 (21:4d57)
 	db $0, "Warg!", $4f
 	db "Brothers, I lost!", $58
 ; 0x84d57 + 25 bytes
 
-_SilphCo9AfterBattleText3: ; 0x84d70
+_SilphCo9AfterBattleText3: ; 84d70 (21:4d70)
 	db $0, "My brothers will", $4f
 	db "avenge me!", $57
 ; 0x84d70 + 29 bytes
 
-_UnnamedText_5a1d3: ; 0x84d8d
+_UnnamedText_5a1d3: ; 84d8d (21:4d8d)
 	db $0, "Waaaaa!", $55
 	db "I'm scared!", $57
 ; 0x84d8d + 20 bytes
 
-_UnnamedText_5a1d8: ; 0x84da1
+_UnnamedText_5a1d8: ; 84da1 (21:4da1)
 	db $0, "Please keep quiet", $4f
 	db "about my crying!", $57
 ; 0x84da1 + 36 bytes
 
-_SilphCo10BattleText1: ; 0x84dc5
+_SilphCo10BattleText1: ; 84dc5 (21:4dc5)
 	db $0, "Welcome to the", $4f
 	db "10F! So good of", $55
 	db "you to join me!", $57
 ; 0x84dc5 + 48 bytes
 
-_SilphCo10EndBattleText1: ; 0x84df5
+_SilphCo10EndBattleText1: ; 84df5 (21:4df5)
 	db $0, "I'm", $4f
 	db "stunned!", $58
 ; 0x84df5 + 13 bytes
 
-_SilphCo10AfterBattleText1: ; 0x84e02
+_SilphCo10AfterBattleText1: ; 84e02 (21:4e02)
 	db $0, "Nice try, but the", $4f
 	db "boardroom is up", $55
 	db "one more floor!", $57
 ; 0x84e02 + 51 bytes
 
-_SilphCo10BattleText2: ; 0x84e35
+_SilphCo10BattleText2: ; 84e35 (21:4e35)
 	db $0, "Enough of your", $4f
 	db "silly games!", $57
 ; 0x84e35 + 29 bytes
 
-_SilphCo10EndBattleText2: ; 0x84e52
+_SilphCo10EndBattleText2: ; 84e52 (21:4e52)
 	db $0, "No", $4f
 	db "continues left!", $58
 ; 0x84e52 + 20 bytes
 
-_SilphCo10AfterBattleText2: ; 0x84e66
+_SilphCo10AfterBattleText2: ; 84e66 (21:4e66)
 	db $0, "Are you satisfied", $4f
 	db "with beating me?", $55
 	db "Then go on home!", $57
 ; 0x84e66 + 53 bytes
 
-_SilphCoPresidentText: ; 0x84e9b
+_SilphCoPresidentText: ; 84e9b (21:4e9b)
 	db $0, "PRESIDENT: Thank", $4f
 	db "you for saving", $55
 	db "SILPH!", $51
@@ -113751,7 +114976,7 @@
 	db "will do!", $58
 ; 0x84e9b + 200 bytes
 
-_ReceivedSilphCoMasterBallText: ; 0x84f63
+_ReceivedSilphCoMasterBallText: ; 84f63 (21:4f63)
 	db $0, $52, " got a", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -113758,7 +114983,7 @@
 	db $0, "!@@"
 ; 0x84f74
 
-_UnnamedText_6231c: ; 0x84f74
+_UnnamedText_6231c: ; 84f74 (21:4f74)
 	db $0, "PRESIDENT: You", $4f
 	db "can't buy that", $55
 	db "anywhere!", $51
@@ -113773,12 +114998,12 @@
 	db "it, though.", $57
 ; 0x84f74 + 159 bytes
 
-_SilphCoMasterBallNoRoomText: ; 0x85013
+_SilphCoMasterBallNoRoomText: ; 85013 (21:5013)
 	db $0, "You have no", $4f
 	db "room for this.", $57
 ; 0x85013 + 28 bytes
 
-_SilphCo11Text2: ; 0x8502f
+_SilphCo11Text2: ; 8502f (21:502f)
 	db $0, "SECRETARY: Thank", $4f
 	db "you for rescuing", $55
 	db "all of us!", $51
@@ -113785,7 +115010,7 @@
 	db "We admire your", $4f
 	db "courage.", $57
 
-_SilphCo11Text3: ; 0x85075
+_SilphCo11Text3: ; 85075 (21:5075)
 	db $0, "Ah ", $52, "!", $4f
 	db "So we meet again!", $51
 	db "The PRESIDENT and", $4f
@@ -113798,12 +115023,12 @@
 	db "Or, experience a", $4f
 	db "world of pain!", $57
 
-_UnnamedText_62330: ; 0x85119
+_UnnamedText_62330: ; 85119 (21:5119)
 	db $0, "Arrgh!!", $4f
 	db "I lost again!?", $58
 ; 0x85119 + 24 bytes
 
-_UnnamedText_62335: ; 0x85131
+_UnnamedText_62335: ; 85131 (21:5131)
 	db $0, "Blast it all!", $4f
 	db "You ruined our", $55
 	db "plans for SILPH!", $51
@@ -113817,61 +115042,61 @@
 	db "shall return!", $57
 ; 0x85131 + 165 bytes
 
-_SilphCo11BattleText1: ; 0x851d6
+_SilphCo11BattleText1: ; 851d6 (21:51d6)
 	db $0, "Stop right there!", $4f
 	db "Don't you move!", $57
 ; 0x851d6 + 34 bytes
 
-_SilphCo11EndBattleText1: ; 0x851f8
+_SilphCo11EndBattleText1: ; 851f8 (21:51f8)
 	db $0, "Don't...", $4f
 	db "Please!", $58
 ; 0x851f8 + 17 bytes
 
-_SilphCo11AfterBattleText1: ; 0x85209
+_SilphCo11AfterBattleText1: ; 85209 (21:5209)
 	db $0, "So, you want to", $4f
 	db "see my BOSS?", $57
 ; 0x85209 + 30 bytes
 
-_SilphCo11BattleText2: ; 0x85227
+_SilphCo11BattleText2: ; 85227 (21:5227)
 	db $0, "Halt! Do you have", $4f
 	db "an appointment", $55
 	db "with my BOSS?", $57
 ; 0x85227 + 48 bytes
 
-_SilphCo11EndBattleText2: ; 0x85257
+_SilphCo11EndBattleText2: ; 85257 (21:5257)
 	db $0, "Gaah!", $4f
 	db "Demolished!", $58
 ; 0x85257 + 19 bytes
 
-_SilphCo11AfterBattleText2: ; 0x8526a
+_SilphCo11AfterBattleText2: ; 8526a (21:526a)
 	db $0, "Watch your step,", $4f
 	db "my BOSS likes his", $55
 	db "#MON tough!", $57
 ; 0x8526a + 48 bytes
 
-_UnnamedText_6237b: ; 0x8529a
+_UnnamedText_6237b: ; 8529a (21:529a)
 	db $0, "The monitor has", $4f
 	db "#MON on it!", $57
 ; 0x8529a + 29 bytes
 
-_Mansion2BattleText1: ; 0x852b7
+_Mansion2BattleText1: ; 852b7 (21:52b7)
 	db $0, "I can't get out!", $4f
 	db "This old place is", $55
 	db "one big puzzle!", $57
 ; 0x852b7 + 51 bytes
 
-_Mansion2EndBattleText1: ; 0x852ea
+_Mansion2EndBattleText1: ; 852ea (21:52ea)
 	db $0, "Oh no!", $4f
 	db "My bag of loot!", $58
 ; 0x852ea + 24 bytes
 
-_Mansion2AfterBattleText1: ; 0x85302
+_Mansion2AfterBattleText1: ; 85302 (21:5302)
 	db $0, "Switches open and", $4f
 	db "close alternating", $55
 	db "sets of doors!", $57
 ; 0x85302 + 52 bytes
 
-_Mansion2Text3: ; 0x85336
+_Mansion2Text3: ; 85336 (21:5336)
 	db $0, "Diary: July 5", $4f
 	db "Guyana,", $55
 	db "South America", $51
@@ -113879,92 +115104,92 @@
 	db "discovered deep", $55
 	db "in the jungle.", $57
 
-_Mansion2Text4: ; 0x85389
+_Mansion2Text4: ; 85389 (21:5389)
 	db $0, "Diary: July 10", $4f
 	db "We christened the", $55
 	db "newly discovered", $55
 	db "#MON, MEW.", $57
 
-_UnnamedText_520c2: ; 0x853c7
+_UnnamedText_520c2: ; 853c7 (21:53c7)
 	db $0, "A secret switch!", $51
 	db "Press it?", $57
 ; 0x853c7 + 28 bytes
 
-_UnnamedText_520c7: ; 0x853e3
+_UnnamedText_520c7: ; 853e3 (21:53e3)
 	db $0, "Who wouldn't?", $58
 ; 0x853e3 + 14 bytes
 
-_UnnamedText_520cc: ; 0x853f1
+_UnnamedText_520cc: ; 853f1 (21:53f1)
 	db $0, "Not quite yet!", $57
 ; 0x853f1 + 16 bytes
 
-_Mansion3BattleText1: ; 0x85401
+_Mansion3BattleText1: ; 85401 (21:5401)
 	db $0, "This place is", $4f
 	db "like, huge!", $57
 ; 0x85401 + 27 bytes
 
-_Mansion3EndBattleText1: ; 0x8541c
+_Mansion3EndBattleText1: ; 8541c (21:541c)
 	db $0, "Ayah!", $58
 ; 0x8541c + 7 bytes
 
-_Mansion3AfterBattleText1: ; 0x85423
+_Mansion3AfterBattleText1: ; 85423 (21:5423)
 	db $0, "I wonder where", $4f
 	db "my partner went.", $57
 ; 0x85423 + 33 bytes
 
-_Mansion3BattleText2: ; 0x85444
+_Mansion3BattleText2: ; 85444 (21:5444)
 	db $0, "My mentor once", $4f
 	db "lived here.", $57
 ; 0x85444 + 28 bytes
 
-_Mansion3EndBattleText2: ; 0x85460
+_Mansion3EndBattleText2: ; 85460 (21:5460)
 	db $0, "Whew!", $4f
 	db "Overwhelming!", $58
 ; 0x85460 + 21 bytes
 
-_Mansion3AfterBattleText2: ; 0x85475
+_Mansion3AfterBattleText2: ; 85475 (21:5475)
 	db $0, "So, you're stuck?", $4f
 	db "Try jumping off", $55
 	db "over there!", $57
 ; 0x85475 + 46 bytes
 
-_Mansion3Text5: ; 0x854a3
+_Mansion3Text5: ; 854a3 (21:54a3)
 	db $0, "Diary: Feb. 6", $4f
 	db "MEW gave birth.", $51
 	db "We named the", $4f
 	db "newborn MEWTWO.", $57
 
-_Mansion4BattleText1: ; 0x854df
+_Mansion4BattleText1: ; 854df (21:54df)
 	db $0, "Uh-oh. Where am", $4f
 	db "I now?", $57
 ; 0x854df + 24 bytes
 
-_Mansion4EndBattleText1: ; 0x854f7
+_Mansion4EndBattleText1: ; 854f7 (21:54f7)
 	db $0, "Awooh!", $58
 ; 0x854f7 + 8 bytes
 
-_Mansion4AfterBattleText1: ; 0x854ff
+_Mansion4AfterBattleText1: ; 854ff (21:54ff)
 	db $0, "You can find stuff", $4f
 	db "lying around.", $57
 ; 0x854ff + 34 bytes
 
-_Mansion4BattleText2: ; 0x85521
+_Mansion4BattleText2: ; 85521 (21:5521)
 	db $0, "This place is", $4f
 	db "ideal for a lab.", $57
 ; 0x85521 + 32 bytes
 
-_Mansion4EndBattleText2: ; 0x85541
+_Mansion4EndBattleText2: ; 85541 (21:5541)
 	db $0, "What", $4f
 	db "was that for?", $58
 ; 0x85541 + 20 bytes
 
-_Mansion4AfterBattleText2: ; 0x85555
+_Mansion4AfterBattleText2: ; 85555 (21:5555)
 	db $0, "I like it here!", $4f
 	db "It's conducive to", $55
 	db "my studies!", $57
 ; 0x85555 + 46 bytes
 
-_Mansion4Text7: ; 0x85583
+_Mansion4Text7: ; 85583 (21:5583)
 	db $0, "Diary; Sept. 1", $4f
 	db "MEWTWO is far too", $55
 	db "powerful.", $51
@@ -113972,31 +115197,31 @@
 	db "curb its vicious", $55
 	db "tendencies...", $57
 
-_SafariZoneEastText5: ; 0x855e0
+_SafariZoneEastText5: ; 855e0 (21:55e0)
 	db $0, "REST HOUSE", $57
 
-_SafariZoneEastText6: ; 0x855ec
+_SafariZoneEastText6: ; 855ec (21:55ec)
 	db $0, "TRAINER TIPS", $51
 	db "The remaining time", $4f
 	db "declines only", $55
 	db "while you walk!", $57
 
-_SafariZoneEastText7: ; 0x8562b
+_SafariZoneEastText7: ; 8562b (21:562b)
 	db $0, "CENTER AREA", $4f
 	db "NORTH: AREA 2", $57
 
-_SafariZoneNorthText3: ; 0x85646
+_SafariZoneNorthText3: ; 85646 (21:5646)
 	db $0, "REST HOUSE", $57
 
-_SafariZoneNorthText4: ; 0x85652
+_SafariZoneNorthText4: ; 85652 (21:5652)
 	db $0, "TRAINER TIPS", $51
 	db "The SECRET HOUSE", $4f
 	db "is still ahead!", $57
 
-_SafariZoneNorthText5: ; 0x85681
+_SafariZoneNorthText5: ; 85681 (21:5681)
 	db $0, "AREA 2", $57
 
-_SafariZoneNorthText6: ; 0x85689
+_SafariZoneNorthText6: ; 85689 (21:5689)
 	db $0, "TRAINER TIPS", $51
 	db "#MON hide in", $4f
 	db "tall grass!", $51
@@ -114004,16 +115229,16 @@
 	db "grassy areas to", $55
 	db "flush them out.", $57
 
-_SafariZoneNorthText7: ; 0x856df
+_SafariZoneNorthText7: ; 856df (21:56df)
 	db $0, "TRAINER TIPS", $51
 	db "Win a free HM for", $4f
 	db "finding the", $55
 	db "SECRET HOUSE!", $57
 
-_SafariZoneWestText5: ; 0x85719
+_SafariZoneWestText5: ; 85719 (21:5719)
 	db $0, "REST HOUSE", $57
 
-_SafariZoneWestText6: ; 0x85725
+_SafariZoneWestText6: ; 85725 (21:5725)
 	db $0, "REQUEST NOTICE", $51
 	db "Please find the", $4f
 	db "SAFARI WARDEN's", $55
@@ -114023,7 +115248,7 @@
 	db "Reward offered!", $4f
 	db "Contact: WARDEN", $57
 
-_SafariZoneWestText7: ; 0x857a3
+_SafariZoneWestText7: ; 857a3 (21:57a3)
 	db $0, "TRAINER TIPS", $51
 	db "Zone Exploration", $4f
 	db "Campaign!", $51
@@ -114030,30 +115255,30 @@
 	db "The Search for", $4f
 	db "the SECRET HOUSE!", $57
 
-_SafariZoneWestText8: ; 0x857ed
+_SafariZoneWestText8: ; 857ed (21:57ed)
 	db $0, "AREA 3", $4f
 	db "EAST: CENTER AREA", $57
 
-_SafariZoneCenterText2: ; 0x85807
+_SafariZoneCenterText2: ; 85807 (21:5807)
 	db $0, "REST HOUSE", $57
 
-_SafariZoneCenterText3: ; 0x85813
+_SafariZoneCenterText3: ; 85813 (21:5813)
 	db $0, "TRAINER TIPS", $51
 	db "Press the START", $4f
 	db "Button to check", $55
 	db "remaining time!", $57
 
-_SafariZoneRestHouse1Text1: ; 0x85851
+_SafariZoneRestHouse1Text1: ; 85851 (21:5851)
 	db $0, "SARA: Where did", $4f
 	db "my boy friend,", $55
 	db "ERIK, go?", $57
 
-_SafariZoneRestHouse1Text2: ; 0x8587b
+_SafariZoneRestHouse1Text2: ; 8587b (21:587b)
 	db $0, "I'm catching", $4f
 	db "#MON to take", $55
 	db "home as gifts!", $57
 
-_UnnamedText_4a350: ; 0x858a4
+_UnnamedText_4a350: ; 858a4 (21:58a4)
 	db $0, "Ah! Finally!", $51
 	db "You're the first", $4f
 	db "person to reach", $55
@@ -114066,7 +115291,7 @@
 	db "You have won!", $58
 ; 0x858a4 + 159 bytes
 
-_ReceivedHM03Text: ; 0x85943
+_ReceivedHM03Text: ; 85943 (21:5943)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -114073,7 +115298,7 @@
 	db $0, "!@@"
 ; 0x85957
 
-_HM03ExplanationText: ; 0x85957
+_HM03ExplanationText: ; 85957 (21:5957)
 	db $0, "HM03 is SURF!", $51
 	db "#MON will be", $4f
 	db "able to ferry you", $55
@@ -114087,13 +115312,13 @@
 	db "fabulous prize!", $57
 ; 0x85957 + 171 bytes
 
-_HM03NoRoomText: ; 0x85a02
+_HM03NoRoomText: ; 85a02 (21:5a02)
 	db $0, "You don't have", $4f
 	db "room for this", $55
 	db "fabulous prize!", $57
 ; 0x85a02 + 45 bytes
 
-_SafariZoneRestHouse2Text1: ; 0x85a2f
+_SafariZoneRestHouse2Text1: ; 85a2f (21:5a2f)
 	db $0, "Tossing ROCKs at", $4f
 	db "#MON might", $55
 	db "make them run,", $55
@@ -114100,32 +115325,32 @@
 	db "but they'll be", $55
 	db "easier to catch.", $57
 
-_SafariZoneRestHouse2Text2: ; 0x85a7a
+_SafariZoneRestHouse2Text2: ; 85a7a (21:5a7a)
 	db $0, "Using BAIT will", $4f
 	db "make #MON", $55
 	db "easier to catch.", $57
 
-_SafariZoneRestHouse2Text3: ; 0x85aa6
+_SafariZoneRestHouse2Text3: ; 85aa6 (21:5aa6)
 	db $0, "I hiked a lot, but", $4f
 	db "I didn't see any", $55
 	db "#MON I wanted.", $57
 
-_SafariZoneRestHouse3Text1: ; 0x85ad9
+_SafariZoneRestHouse3Text1: ; 85ad9 (21:5ad9)
 	db $0, "How many did you", $4f
 	db "catch? I'm bushed", $55
 	db "from the work!", $57
 
-_SafariZoneRestHouse3Text2: ; 0x85b0b
+_SafariZoneRestHouse3Text2: ; 85b0b (21:5b0b)
 	db $0, "I caught a", $4f
 	db "CHANSEY!", $51
 	db "That makes this", $4f
 	db "all worthwhile!", $57
 
-_SafariZoneRestHouse3Text3: ; 0x85b40
+_SafariZoneRestHouse3Text3: ; 85b40 (21:5b40)
 	db $0, "Whew! I'm tired", $4f
 	db "from all the fun!", $57
 
-_SafariZoneRestHouse4Text1: ; 0x85b62
+_SafariZoneRestHouse4Text1: ; 85b62 (21:5b62)
 	db $0, "You can keep any", $4f
 	db "item you find on", $55
 	db "the ground here.", $51
@@ -114134,13 +115359,13 @@
 	db "you try for all", $55
 	db "of them at once!", $57
 
-_SafariZoneRestHouse4Text2: ; 0x85bd5
+_SafariZoneRestHouse4Text2: ; 85bd5 (21:5bd5)
 	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
+_SafariZoneRestHouse4Text3: ; 85c17 (21:5c17)
 	db $0, "My EEVEE evolved", $4f
 	db "into FLAREON!", $51
 	db "But, a friend's", $4f
@@ -114148,43 +115373,43 @@
 	db "a VAPOREON!", $55
 	db "I wonder why?", $57
 
-_UnknownDungeon3MewtwoText: ; 0x85c72
+_UnknownDungeon3MewtwoText: ; 85c72 (21:5c72)
 	db $0, "Mew!@@"
 ; 0x85c79
 
-_VictoryRoad1BattleText1: ; 0x85c79
+_VictoryRoad1BattleText1: ; 85c79 (21:5c79)
 	db $0, "I wonder if you", $4f
 	db "are good enough", $55
 	db "for me!", $57
 ; 0x85c79 + 41 bytes
 
-_VictoryRoad1EndBattleText1: ; 0x85ca2
+_VictoryRoad1EndBattleText1: ; 85ca2 (21:5ca2)
 	db $0, "I", $4f
 	db "lost out!", $58
 ; 0x85ca2 + 13 bytes
 
-_VictoryRoad1AfterBattleText1: ; 0x85caf
+_VictoryRoad1AfterBattleText1: ; 85caf (21:5caf)
 	db $0, "I never wanted to", $4f
 	db "lose to anybody!", $57
 ; 0x85caf + 36 bytes
 
-_VictoryRoad1BattleText2: ; 0x85cd3
+_VictoryRoad1BattleText2: ; 85cd3 (21:5cd3)
 	db $0, "I can see you're", $4f
 	db "good! Let me see", $55
 	db "exactly how good!", $57
 ; 0x85cd3 + 52 bytes
 
-_VictoryRoad1EndBattleText2: ; 0x85d07
+_VictoryRoad1EndBattleText2: ; 85d07 (21:5d07)
 	db $0, "I", $4f
 	db "had a chance...", $58
 ; 0x85d07 + 19 bytes
 
-_VictoryRoad1AfterBattleText2: ; 0x85d1a
+_VictoryRoad1AfterBattleText2: ; 85d1a (21:5d1a)
 	db $0, "I concede, you're", $4f
 	db "better than me!", $57
 ; 0x85d1a + 34 bytes
 
-_LanceBeforeBattleText: ; 0x85d3c
+_LanceBeforeBattleText: ; 85d3c (21:5d3c)
 	db $0, "Ah! I heard about", $4f
 	db "you ", $52, "!", $51
 	db "I lead the ELITE", $4f
@@ -114207,7 +115432,7 @@
 	db "with me, ", $52, "!", $57
 ; 0x85d3c + 296 bytes
 
-_LanceEndBattleText: ; 0x85e64
+_LanceEndBattleText: ; 85e64 (21:5e64)
 	db $0, "That's it!", $51
 	db "I hate to admit", $4f
 	db "it, but you are a", $55
@@ -114214,7 +115439,7 @@
 	db "#MON master!", $58
 ; 0x85e64 + 58 bytes
 
-_LanceAfterBattleText: ; 0x85e9e
+_LanceAfterBattleText: ; 85e9e (21:5e9e)
 	db $0, "I still can't", $4f
 	db "believe my", $55
 	db "dragons lost to", $55
@@ -114237,7 +115462,7 @@
 	db "champion!@@"
 ; 0x85e9e + 279 bytes = 0x85fb5
 
-_HallofFameRoomText1: ; 0x85fb5
+_HallofFameRoomText1: ; 85fb5 (21:5fb5)
 	db $0, "OAK: Er-hem!", $4f
 	db "Congratulations", $55
 	db $52, "!", $51
@@ -114260,7 +115485,7 @@
 	db "your #MON are", $55
 	db "HALL OF FAMERs!", $57
 
-_UnnamedText_760f4: ; 0x860e1
+_UnnamedText_760f4: ; 860e1 (21:60e1)
 	db $0, $53, ": Hey!", $51
 	db "I was looking", $4f
 	db "forward to seeing", $55
@@ -114288,7 +115513,7 @@
 	db "in the world!", $57
 ; 0x860e1 + 346 bytes
 
-_UnnamedText_760f9: ; 0x8623b
+_UnnamedText_760f9: ; 8623b (21:623b)
 	db $0, "NO!", $4f
 	db "That can't be!", $55
 	db "You beat my best!", $51
@@ -114300,7 +115525,7 @@
 	db "It's not fair!", $58
 ; 0x8623b + 121 bytes
 
-_UnnamedText_760fe: ; 0x862b4
+_UnnamedText_760fe: ; 862b4 (21:62b4)
 	db $0, "Hahaha!", $4f
 	db "I won, I won!", $51
 	db "I'm too good for", $4f
@@ -114313,7 +115538,7 @@
 	db "Hahaha!", $58
 ; 0x862b4 + 123 bytes
 
-_UnnamedText_76103: ; 0x8632f
+_UnnamedText_76103: ; 8632f (21:632f)
 	db $0, "Why?", $4f
 	db "Why did I lose?", $51
 	db "I never made any", $4f
@@ -114326,10 +115551,10 @@
 	db "like to admit it.", $57
 ; 0x8632f + 146 bytes
 
-_GaryText2: ; 0x863c1
+_GaryText2: ; 863c1 (21:63c1)
 	db $0, "OAK: ", $52, "!", $57
 
-_UnnamedText_76120: ; 0x863ca
+_UnnamedText_76120: ; 863ca (21:63ca)
 	db $0, "OAK: So, you won!", $4f
 	db "Congratulations!", $55
 	db "You're the new", $55
@@ -114345,7 +115570,7 @@
 	db "come of age!", $57
 ; 0xa86463
 
-_UnnamedText_76125: ; 0x86463
+_UnnamedText_76125: ; 86463 (21:6463)
 	db $0, "OAK: ", $53, "! I'm", $4f
 	db "disappointed!", $51
 	db "I came when I", $4f
@@ -114366,7 +115591,7 @@
 	db "a champ again!", $57
 ; 0x86463 + 260 bytes
 
-_UnnamedText_7612a: ; 0x86567
+_UnnamedText_7612a: ; 86567 (21:6567)
 	db $0, "OAK: ", $52, "!", $51
 	db "You understand", $4f
 	db "that your victory", $55
@@ -114379,7 +115604,7 @@
 	db "Come with me!", $57
 ; 0x86567 + 136 bytes
 
-_LoreleiBeforeBattleText: ; 0x865ef
+_LoreleiBeforeBattleText: ; 865ef (21:65ef)
 	db $0, "Welcome to", $4f
 	db "#MON LEAGUE!", $51
 	db "I am LORELEI of", $4f
@@ -114397,12 +115622,12 @@
 	db "Are you ready?", $57
 ; 0x865ef + 213 bytes
 
-_LoreleiEndBattleText: ; 0x866c4
+_LoreleiEndBattleText: ; 866c4 (21:66c4)
 	db $0, "How", $4f
 	db "dare you!", $58
 ; 0x866c4 + 15 bytes
 
-_LoreleiAfterBattleText: ; 0x866d3
+_LoreleiAfterBattleText: ; 866d3 (21:66d3)
 	db $0, "You're better", $4f
 	db "than I thought!", $55
 	db "Go on ahead!", $51
@@ -114411,12 +115636,12 @@
 	db "LEAGUE power!", $57
 ; 0x866d3 + 86 bytes
 
-_UnnamedText_7627b: ; 0x86729
+_UnnamedText_7627b: ; 86729 (21:6729)
 	db $0, "Someone's voice:", $4f
 	db "Don't run away!", $57
 ; 0x86729 + 32 bytes
 
-_BrunoBeforeBattleText: ; 0x86749
+_BrunoBeforeBattleText: ; 86749 (21:6749)
 	db $0, "I am BRUNO of", $4f
 	db "the ELITE FOUR!", $51
 	db "Through rigorous", $4f
@@ -114433,23 +115658,23 @@
 	db "Hoo hah!", $57
 ; 0x86749 + 188 bytes
 
-_BrunoEndBattleText: ; 0x86805
+_BrunoEndBattleText: ; 86805 (21:6805)
 	db $0, "Why?", $4f
 	db "How could I lose?", $58
 ; 0x86805 + 24 bytes
 
-_BrunoAfterBattleText: ; 0x8681d
+_BrunoAfterBattleText: ; 8681d (21:681d)
 	db $0, "My job is done!", $4f
 	db "Go face your next", $55
 	db "challenge!", $57
 ; 0x8681d + 46 bytes
 
-_UnnamedText_763d2: ; 0x8684b
+_UnnamedText_763d2: ; 8684b (21:684b)
 	db $0, "Someone's voice:", $4f
 	db "Don't run away!", $57
 ; 0x8684b + 32 bytes
 
-_AgathaBeforeBattleText: ; 0x8686b
+_AgathaBeforeBattleText: ; 8686b (21:686b)
 	db $0, "I am AGATHA of", $4f
 	db "the ELITE FOUR!", $51
 	db "OAK's taken a lot", $4f
@@ -114469,13 +115694,13 @@
 	db "trainer fights!", $57
 ; 0x8686b + 261 bytes
 
-_AgathaEndBattleText: ; 0x86970
+_AgathaEndBattleText: ; 86970 (21:6970)
 	db $0, "Oh ho!", $4f
 	db "You're something", $55
 	db "special, child!", $58
 ; 0x86970 + 40 bytes
 
-_AgathaAfterBattleText: ; 0x86998
+_AgathaAfterBattleText: ; 86998 (21:6998)
 	db $0, "You win! I see", $4f
 	db "what the old duff", $55
 	db "sees in you now!", $51
@@ -114484,116 +115709,116 @@
 	db "along now, child!", $57
 ; 0x86998 + 101 bytes
 
-_AgathaText2: ; 0x869fd
+_AgathaText2: ; 869fd (21:69fd)
 	db $0, "Someone's voice:", $4f
 	db "Don't run away!", $57
 ; 0x869fd + 32 bytes
 
-_RockTunnel2BattleText2: ; 0x86a1d
+_RockTunnel2BattleText2: ; 86a1d (21:6a1d)
 	db $0, "Hikers leave twigs", $4f
 	db "as trail markers.", $57
 ; 0x86a1d + 38 bytes
 
-_RockTunnel2EndBattleText2: ; 0x86a43
+_RockTunnel2EndBattleText2: ; 86a43 (21:6a43)
 	db $0, "Ohhh!", $4f
 	db "I did my best!", $58
 ; 0x86a43 + 22 bytes
 
-_RockTunnel2AfterBattleText2: ; 0x86a59
+_RockTunnel2AfterBattleText2: ; 86a59 (21:6a59)
 	db $0, "I want to go ", $4f
 	db "home!", $57
 ; 0x86a59 + 21 bytes
 
-_RockTunnel2BattleText3: ; 0x86a6e
+_RockTunnel2BattleText3: ; 86a6e (21:6a6e)
 	db $0, "Hahaha! Can you", $4f
 	db "beat my power?", $57
 ; 0x86a6e + 32 bytes
 
-_RockTunnel2EndBattleText3: ; 0x86a8e
+_RockTunnel2EndBattleText3: ; 86a8e (21:6a8e)
 	db $0, "Oops!", $4f
 	db "Out-muscled!", $58
 ; 0x86a8e + 20 bytes
 
-_RockTunnel2AfterBattleText3: ; 0x86aa2
+_RockTunnel2AfterBattleText3: ; 86aa2 (21:6aa2)
 	db $0, "I go for power", $4f
 	db "because I hate", $55
 	db "thinking!", $57
 ; 0x86aa2 + 41 bytes
 
-_RockTunnel2BattleText4: ; 0x86acb
+_RockTunnel2BattleText4: ; 86acb (21:6acb)
 	db $0, "You have a", $4f
 	db "#DEX?", $55
 	db "I want one too!", $57
 ; 0x86acb + 34 bytes
 
-_RockTunnel2EndBattleText4: ; 0x86aed
+_RockTunnel2EndBattleText4: ; 86aed (21:6aed)
 	db $0, "Shoot!", $4f
 	db "I'm so jealous!", $58
 ; 0x86aed + 23 bytes
 
-_RockTunnel2AfterBattleText4: ; 0x86b04
+_RockTunnel2AfterBattleText4: ; 86b04 (21:6b04)
 	db $0, "When you finish", $4f
 	db "your #DEX, can", $55
 	db "I have it?", $57
 ; 0x86b04 + 43 bytes
 
-_RockTunnel2BattleText5: ; 0x86b2f
+_RockTunnel2BattleText5: ; 86b2f (21:6b2f)
 	db $0, "Do you know about", $4f
 	db "costume players?", $57
 ; 0x86b2f + 36 bytes
 
-_RockTunnel2EndBattleText5: ; 0x86b53
+_RockTunnel2EndBattleText5: ; 86b53 (21:6b53)
 	db $0, "Well,", $4f
 	db "that's that.", $58
 ; 0x86b53 + 19 bytes
 
-_RockTunnel2AfterBattleText5: ; 0x86b66
+_RockTunnel2AfterBattleText5: ; 86b66 (21:6b66)
 	db $0, "Costume players", $4f
 	db "dress up as", $55
 	db "#MON for fun.", $57
 ; 0x86b66 + 43 bytes
 
-_RockTunnel2BattleText6: ; 0x86b91
+_RockTunnel2BattleText6: ; 86b91 (21:6b91)
 	db $0, "My #MON", $4f
 	db "techniques will", $55
 	db "leave you crying!", $57
 ; 0x86b91 + 43 bytes
 
-_RockTunnel2EndBattleText6: ; 0x86bbc
+_RockTunnel2EndBattleText6: ; 86bbc (21:6bbc)
 	db $0, "I give!", $4f
 	db "You're a better", $55
 	db "technician!", $58
 ; 0x86bbc + 36 bytes
 
-_RockTunnel2AfterBattleText6: ; 0x86be0
+_RockTunnel2AfterBattleText6: ; 86be0 (21:6be0)
 	db $0, "In mountains,", $4f
 	db "you'll often find", $55
 	db "rock-type #MON.", $57
 ; 0x86be0 + 48 bytes
 
-_RockTunnel2BattleText7: ; 0x86c10
+_RockTunnel2BattleText7: ; 86c10 (21:6c10)
 	db $0, "I don't often", $4f
 	db "come here, but I", $55
 	db "will fight you.", $57
 ; 0x86c10 + 47 bytes
 
-_RockTunnel2EndBattleText7: ; 0x86c3f
+_RockTunnel2EndBattleText7: ; 86c3f (21:6c3f)
 	db $0, "Oh!", $4f
 	db "I lost!", $58
 ; 0x86c3f + 13 bytes
 
-_RockTunnel2AfterBattleText7: ; 0x86c4c
+_RockTunnel2AfterBattleText7: ; 86c4c (21:6c4c)
 	db $0, "I like tiny", $4f
 	db "#MON, big ones", $55
 	db "are too scary!", $57
 ; 0x86c4c + 43 bytes
 
-_RockTunnel2BattleText8: ; 0x86c77
+_RockTunnel2BattleText8: ; 86c77 (21:6c77)
 	db $0, "Hit me with your", $4f
 	db "best shot!", $57
 ; 0x86c77 + 29 bytes
 
-_RockTunnel2EndBattleText8: ; 0x86c94
+_RockTunnel2EndBattleText8: ; 86c94 (21:6c94)
 	db $0, "Fired", $4f
 	db "away!", $58
 ; 0x86c94 + 13 bytes
@@ -114600,46 +115825,46 @@
 
 SECTION "bank22",DATA,BANK[$22]
 
-_RockTunnel2AfterBattleText8: ; 0x88000
+_RockTunnel2AfterBattleText8: ; 88000 (22:4000)
 	db $0, "I'll raise my", $4f
 	db "#MON to beat", $55
 	db "yours, kid!", $57
 ; 0x88000 + 39 bytes
 
-_RockTunnel2BattleText9: ; 0x88027
+_RockTunnel2BattleText9: ; 88027 (22:4027)
 	db $0, "I draw #MON", $4f
 	db "when I'm home.", $57
 ; 0x88027 + 27 bytes
 
-_RockTunnel2EndBattleText9: ; 0x88042
+_RockTunnel2EndBattleText9: ; 88042 (22:4042)
 	db $0, "Whew!", $4f
 	db "I'm exhausted!", $58
 ; 0x88042 + 21 bytes
 
-_RockTunnel2AfterBattleText9: ; 0x88057
+_RockTunnel2AfterBattleText9: ; 88057 (22:4057)
 	db $0, "I'm an artist,", $4f
 	db "not a fighter.", $57
 ; 0x88057 + 30 bytes
 
-_SeafoamIslands5BattleText2: ; 0x88075
+_SeafoamIslands5BattleText2: ; 88075 (22:4075)
 	db $0, "Gyaoo!@@"
 
-_SeafoamIslands5Text4: ; 0x8807e
+_SeafoamIslands5Text4: ; 8807e (22:407e)
 	db $0, "Boulders might", $4f
 	db "change the flow", $55
 	db "of water!", $57
 
-_SeafoamIslands5Text5: ; 0x880a8
+_SeafoamIslands5Text5: ; 880a8 (22:40a8)
 	db $0, "DANGER", $4f
 	db "Fast current!", $57
 
-_AIBattleWithdrawText:
+_AIBattleWithdrawText: ; 880be (22:40be)
 	db 1
 	dw $D04A
 	db 0," with-",$4F,"drew @",1
 	dw W_ENEMYMONNAME
 	db 0,"!",$58
-_AIBattleUseItemText:
+_AIBattleUseItemText: ; 880d5 (22:40d5)
 	db 1
 	dw $D04A
 	db 0,$4F,"used @",1
@@ -114648,7 +115873,7 @@
 	dw W_ENEMYMONNAME
 	db 0,"!",$58
 
-_UnnamedText_4160c: ; 0x880ef
+_UnnamedText_4160c: ; 880ef (22:40ef)
 	TX_RAM $cf4b
 	db $0, " went", $4f
 	db "to @"
@@ -114656,7 +115881,7 @@
 	db $0, ".", $57
 ; 0x88103
 
-_UnnamedText_41623: ; 0x88103
+_UnnamedText_41623: ; 88103 (22:4103)
 	db $0, "For ", $52, "'s", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -114663,7 +115888,7 @@
 	db $0, ",", $57
 ; 0x88112
 
-_UnnamedText_41628: ; 0x88112
+_UnnamedText_41628: ; 88112 (22:4112)
 	TX_RAM $d887
 	db $0, " sends", $4f
 	db "@"
@@ -114671,38 +115896,38 @@
 	db $0, ".", $57
 ; 0x88124
 
-_UnnamedText_41642: ; 0x88124
+_UnnamedText_41642: ; 88124 (22:4124)
 	TX_RAM $d887
 	db $0, " waves", $4f
 	db "farewell as", $57
 
-_UnnamedText_41647: ; 0x8813b
+_UnnamedText_41647: ; 8813b (22:413b)
 	TX_RAM $cd6d
 	db $0, " is", $4f
 	db "transferred.", $57
 ; 0x8813b + 21 bytes
 
-_UnnamedText_41655: ; 0x88150
+_UnnamedText_41655: ; 88150 (22:4150)
 	db $0, "Take good care of", $4f
 	db "@"
 ; 0x88150 + 20 bytes
 
-UnnamedText_88164: ; 0x88164
+UnnamedText_88164: ; 88164 (22:4164)
 	TX_RAM $cd6d
 	db $0, ".", $57
 ; 0x8816a
 
-_UnnamedText_4166c: ; 0x8816a
+_UnnamedText_4166c: ; 8816a (22:416a)
 	TX_RAM $d887
 	db $0, " will", $4f
 	db "trade @"
 ; 0x8816a + 17 bytes
 
-UnnamedText_8817b: ; 0x8817b
+UnnamedText_8817b: ; 8817b (22:417b)
 	TX_RAM $cd6d
 	db $0, $57
 
-_UnnamedText_41671: ; 0x88180
+_UnnamedText_41671: ; 88180 (22:4180)
 	db $0, "for ", $52, "'s", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -114709,58 +115934,58 @@
 	db $0, ".", $57
 ; 0x8818f
 
-_UnnamedText_37390: ; 0x8818f
+_UnnamedText_37390: ; 8818f (22:418f)
 	db $0, "A slot machine!", $4f
 	db "Want to play?", $57
 ; 0x8818f + 31 bytes
 
-_UnnamedText_37467: ; 0x881ae
+_UnnamedText_37467: ; 881ae (22:41ae)
 	db $0, "Darn!", $4f
 	db "Ran out of coins!", $57
 ; 0x881ae + 25 bytes
 
-_UnnamedText_3746c: ; 0x881c7
+_UnnamedText_3746c: ; 881c7 (22:41c7)
 	db $0, "Bet how many", $4f
 	db "coins?", $57
 ; 0x881c7 + 21 bytes
 
-_UnnamedText_37471: ; 0x881dc
+_UnnamedText_37471: ; 881dc (22:41dc)
 	db $0, "Start!", $57
 ; 0x881dc + 8 bytes
 
-_UnnamedText_37476: ; 0x881e4
+_UnnamedText_37476: ; 881e4 (22:41e4)
 	db $0, "Not enough", $4f
 	db "coins!", $58
 ; 0x881e4 + 19 bytes
 
-_UnnamedText_3747b: ; 0x881f7
+_UnnamedText_3747b: ; 881f7 (22:41f7)
 	db $0, "One more ", $4f
 	db "go?", $57
 ; 0x881f7 + 15 bytes
 
-_UnnamedText_37673: ; 0x88206
+_UnnamedText_37673: ; 88206 (22:4206)
 	db $0, " lined up!", $4f
 	db "Scored @"
 ; 0x88206 + 20 bytes
 
-UnnamedText_8821a: ; 0x8821a
+UnnamedText_8821a: ; 8821a (22:421a)
 	TX_RAM $cf4b
 	db $0, " coins!", $57
 ; 0x88226
 
-_UnnamedText_3769d: ; 0x88226
+_UnnamedText_3769d: ; 88226 (22:4226)
 	db $0, "Not this time!", $58
 ; 0x88226 + 16 bytes
 
-UnnamedText_88236: ; 0x88236
+UnnamedText_88236: ; 88236 (22:4236)
 	db $0, "Yeah!@@"
 ; 0x8823e
 
-_UnnamedText_703fa: ; 0x8823e
+_UnnamedText_703fa: ; 8823e (22:423e)
 	db $0, "#DEX   Seen:@"
 ; 0x8823e + 14 bytes
 
-UnnamedText_8824c: ; 0x8824c
+UnnamedText_8824c: ; 8824c (22:424c)
 	TX_NUM $cc5b, 1, 3
 	db $0, $4f
 	db "         Owned:@"
@@ -114768,33 +115993,33 @@
 	db $50
 ; 0x88267
 
-_UnnamedText_703ff: ; 0x88267
+_UnnamedText_703ff: ; 88267 (22:4267)
 	db $0, "#DEX Rating", $6d, $57
 ; 0x88267 + 14 bytes
 
-_UnnamedText_62453: ; 0x88275
-	TX_RAM $cf5f
+_UnnamedText_62453: ; 88275 (22:4275)
+	TX_RAM W_GYMCITYNAME
 	db $0, $4f
 	db "#MON GYM", $55
 	db "LEADER: @"
 ; 0x88275 + 23 bytes
 
-UnnamedText_8828c: ; 0x8828c
-	TX_RAM $cf70
+UnnamedText_8828c: ; 8828c (22:428c)
+	TX_RAM W_GYMLEADERNAME
 	db $0, $51
 	db "WINNING TRAINERS:", $4f
 	db $53, $57
 ; 0x882a5
 
-_UnnamedText_62458: ; 0x882a5
-	TX_RAM $cf5f
+_UnnamedText_62458: ; 882a5 (22:42a5)
+	TX_RAM W_GYMCITYNAME
 	db $0, $4f
 	db "#MON GYM", $55
 	db "LEADER: @"
 ; 0x882a5 + 23 bytes
 
-UnnamedText_882bc: ; 0x882bc
-	TX_RAM $cf70
+UnnamedText_882bc: ; 882bc (22:42bc)
+	TX_RAM W_GYMLEADERNAME
 	db $0, $51
 	db "WINNING TRAINERS:", $4f
 	db $53, $55
@@ -114801,7 +116026,7 @@
 	db $52, $57
 ; 0x882d7
 
-_UnnamedText_624a3: ; 0x882d7
+_UnnamedText_624a3: ; 882d7 (22:42d7)
 	db $0, "#MON CENTERs", $4f
 	db "heal your tired,", $55
 	db "hurt or fainted", $55
@@ -114808,7 +116033,7 @@
 	db "#MON!", $57
 ; 0x882d7 + 53 bytes
 
-_UnnamedText_624a8: ; 0x8830c
+_UnnamedText_624a8: ; 8830c (22:430c)
 	db $0, "Yawn!", $51
 	db "When JIGGLYPUFF", $4f
 	db "sings, #MON", $55
@@ -114817,7 +116042,7 @@
 	db "Snore...", $57
 ; 0x8830c + 71 bytes
 
-_UnnamedText_624ad: ; 0x88353
+_UnnamedText_624ad: ; 88353 (22:4353)
 	db $0, "BILL has lots of", $4f
 	db "#MON!", $51
 	db "He collects rare", $4f
@@ -114824,7 +116049,7 @@
 	db "ones too!", $57
 ; 0x88353 + 51 bytes
 
-_UnnamedText_624b2: ; 0x88386
+_UnnamedText_624b2: ; 88386 (22:4386)
 	db $0, "CUBONEs wear", $4f
 	db "skulls, right?", $51
 	db "People will pay a", $4f
@@ -114831,7 +116056,7 @@
 	db "lot for one!", $57
 ; 0x88386 + 60 bytes
 
-_UnnamedText_624b7: ; 0x883c2
+_UnnamedText_624b7: ; 883c2 (22:43c2)
 	db $0, "If you have too", $4f
 	db "many #MON, you", $55
 	db "should store them", $55
@@ -114838,29 +116063,29 @@
 	db "via PC!", $57
 ; 0x883c2 + 58 bytes
 
-_UnnamedText_624bc: ; 0x883fc
+_UnnamedText_624bc: ; 883fc (22:43fc)
 	db $0, "I heard that", $4f
 	db "GHOSTs haunt", $55
 	db "LAVENDER TOWN!", $57
 ; 0x883fc + 42 bytes
 
-_UnnamedText_624c1: ; 0x88426
+_UnnamedText_624c1: ; 88426 (22:4426)
 	db $0, "I wish I could", $4f
 	db "catch #MON.", $57
 ; 0x88426 + 28 bytes
 
-_UnnamedText_624c6: ; 0x88442
+_UnnamedText_624c6: ; 88442 (22:4442)
 	db $0, "I'm tired from", $4f
 	db "all the fun...", $57
 ; 0x88442 + 30 bytes
 
-_UnnamedText_624cb: ; 0x88460
+_UnnamedText_624cb: ; 88460 (22:4460)
 	db $0, "SILPH's manager", $4f
 	db "is hiding in the", $55
 	db "SAFARI ZONE.", $57
 ; 0x88460 + 46 bytes
 
-_UnnamedText_624d0: ; 0x8848e
+_UnnamedText_624d0: ; 8848e (22:448e)
 	db $0, "It is true that a", $4f
 	db "higher level", $55
 	db "#MON will be", $55
@@ -114874,13 +116099,13 @@
 	db "strong #MON.", $57
 ; 0x8848e + 163 bytes
 
-_UnnamedText_624d5: ; 0x88531
+_UnnamedText_624d5: ; 88531 (22:4531)
 	db $0, "If I had a BIKE,", $4f
 	db "I would go to", $55
 	db "CYCLING ROAD!", $57
 ; 0x88531 + 46 bytes
 
-_UnnamedText_624da: ; 0x8855f
+_UnnamedText_624da: ; 8855f (22:455f)
 	db $0, "If you're studying ", $4f
 	db "#MON, visit", $55
 	db "the SAFARI ZONE.", $51
@@ -114888,7 +116113,7 @@
 	db "of rare #MON.", $57
 ; 0x8855f + 80 bytes
 
-_UnnamedText_624df: ; 0x885af
+_UnnamedText_624df: ; 885af (22:45af)
 	db $0, "#MON can still", $4f
 	db "learn techniques", $55
 	db "after canceling", $55
@@ -114898,7 +116123,7 @@
 	db "have been learned.", $57
 ; 0x885af + 114 bytes
 
-_UnnamedText_624f8: ; 0x88621
+_UnnamedText_624f8: ; 88621 (22:4621)
 	db $0, "It would be great", $4f
 	db "if the ELITE FOUR", $55
 	db "came and stomped", $55
@@ -114905,7 +116130,7 @@
 	db "TEAM ROCKET!", $57
 ; 0x88621 + 67 bytes
 
-_UnnamedText_624fd: ; 0x88664
+_UnnamedText_624fd: ; 88664 (22:4664)
 	db $0, "TEAM ROCKET took", $4f
 	db "off! We can go", $55
 	db "out safely again!", $55
@@ -114912,33 +116137,33 @@
 	db "That's great!", $57
 ; 0x88664 + 64 bytes
 
-_UnnamedText_62502: ; 0x886a4
+_UnnamedText_62502: ; 886a4 (22:46a4)
 	db $0, "My sis brought me", $4f
 	db "on this vacation!", $57
 ; 0x886a4 + 37 bytes
 
-_UnnamedText_62511: ; 0x886c9
+_UnnamedText_62511: ; 886c9 (22:46c9)
 	db $0, "Crammed full of", $4f
 	db "#MON books!", $57
 ; 0x886c9 + 29 bytes
 
-_UnnamedText_1e953: ; 0x886e6
+_UnnamedText_1e953: ; 886e6 (22:46e6)
 	db $0, "A shiny new", $4f
 	db "BICYCLE!", $57
 ; 0x886e6 + 22 bytes
 
-_UnnamedText_1e960: ; 0x886fc
+_UnnamedText_1e960: ; 886fc (22:46fc)
 	db $0, "Push START to", $4f
 	db "open the MENU!", $57
 ; 0x886fc + 30 bytes
 
-_UnnamedText_1e97e: ; 0x8871a
+_UnnamedText_1e97e: ; 8871a (22:471a)
 	db $0, "The SAVE option is", $4f
 	db "on the MENU", $55
 	db "screen.", $57
 ; 0x8871a + 40 bytes
 
-_UnnamedText_1e983: ; 0x88742
+_UnnamedText_1e983: ; 88742 (22:4742)
 	db $0, "All #MON types", $4f
 	db "have strong and", $55
 	db "weak points", $55
@@ -114945,17 +116170,17 @@
 	db "against others.", $57
 ; 0x88742 + 60 bytes
 
-_UnnamedText_1ea0d: ; 0x8877e
+_UnnamedText_1ea0d: ; 8877e (22:477e)
 	db $0, "PA: Ding-dong!", $51
 	db "Time's up!", $58
 ; 0x8877e + 26 bytes
 
-_UnnamedText_1ea12: ; 0x88798
+_UnnamedText_1ea12: ; 88798 (22:4798)
 	db $0, "PA: Your SAFARI", $4f
 	db "GAME is over!", $57
 ; 0x88798 + 31 bytes
 
-_UnnamedText_1ea5b: ; 0x887b7
+_UnnamedText_1ea5b: ; 887b7 (22:47b7)
 	db $0, "#MON Quiz!", $51
 	db "Get it right and", $4f
 	db "the door opens to", $55
@@ -114970,23 +116195,23 @@
 	db "Here we go!", $58
 ; 0x887b7 + 182 bytes
 
-_UnnamedText_1ea6c: ; 0x8886d
+_UnnamedText_1ea6c: ; 8886d (22:486d)
 	db $0, "CATERPIE evolves", $4f
 	db "into BUTTERFREE?", $57
 ; 0x8886d + 35 bytes
 
-_UnnamedText_1ea71: ; 0x88890
+_UnnamedText_1ea71: ; 88890 (22:4890)
 	db $0, "There are 9", $4f
 	db "certified #MON", $55
 	db "LEAGUE BADGEs?", $57
 ; 0x88890 + 43 bytes
 
-_UnnamedText_1ea76: ; 0x888bb
+_UnnamedText_1ea76: ; 888bb (22:48bb)
 	db $0, "POLIWAG evolves 3", $4f
 	db "times?", $57
 ; 0x888bb + 26 bytes
 
-_UnnamedText_1ea7b: ; 0x888d5
+_UnnamedText_1ea7b: ; 888d5 (22:48d5)
 	db $0, "Are thunder moves", $4f
 	db "effective against", $55
 	db "ground element-", $55
@@ -114993,7 +116218,7 @@
 	db "type #MON?", $57
 ; 0x888d5 + 64 bytes
 
-_UnnamedText_1ea80: ; 0x88915
+_UnnamedText_1ea80: ; 88915 (22:4915)
 	db $0, "#MON of the", $4f
 	db "same kind and", $55
 	db "level are not", $55
@@ -115000,50 +116225,50 @@
 	db "identical?", $57
 ; 0x88915 + 52 bytes
 
-_UnnamedText_1ea85: ; 0x88949
+_UnnamedText_1ea85: ; 88949 (22:4949)
 	db $0, "TM28 contains", $4f
 	db "TOMBSTONER?", $57
 ; 0x88949 + 27 bytes
 
-UnnamedText_88964: ; 0x88964
+UnnamedText_88964: ; 88964 (22:4964)
 	db $0, "You're absolutely", $4f
 	db "correct!", $51
 	db "Go on through!@@"
 ; 0x8898f
 
-_UnnamedText_1eb05: ; 0x8898f
+_UnnamedText_1eb05: ; 8898f (22:498f)
 	db $0, "Sorry! Bad call!", $58
 ; 0x8898f + 18 bytes
 
-_UnnamedText_1eb69: ; 0x889a1
+_UnnamedText_1eb69: ; 889a1 (22:49a1)
 	db $0, "#MON magazines!", $51
 	db "#MON notebooks!", $51
 	db "#MON graphs!", $57
 ; 0x889a1 + 46 bytes
 
-_UnnamedText_1ebdd: ; 0x889cf
+_UnnamedText_1ebdd: ; 889cf (22:49cf)
 	db $0, "TELEPORTER is", $4f
 	db "displayed on the", $55
 	db "PC monitor.", $57
 ; 0x889cf + 44 bytes
 
-UnnamedText_889fb: ; 0x889fb
+UnnamedText_889fb: ; 889fb (22:49fb)
 	db $0, $52, " initiated", $4f
 	db "TELEPORTER's Cell", $55
 	db "Separator!@@"
 ; 0x88a25
 
-_UnnamedText_1ec7f: ; 0x88a25
+_UnnamedText_1ec7f: ; 88a25 (22:4a25)
 	db $0, "BILL's favorite", $4f
 	db "#MON list!", $58
 ; 0x88a25 + 27 bytes
 
-_UnnamedText_1ecaa: ; 0x88a40
+_UnnamedText_1ecaa: ; 88a40 (22:4a40)
 	db $0, "Which #MON do", $4f
 	db "you want to see?", $57
 ; 0x88a40 + 32 bytes
 
-_UnnamedText_1ecbd: ; 0x88a60
+_UnnamedText_1ecbd: ; 88a60 (22:4a60)
 	db $0, "There's an e-mail", $4f
 	db "message here!", $51
 	db "...", $51
@@ -115064,36 +116289,36 @@
 	db "...", $57
 ; 0x88a60 + 251 bytes
 
-_UnnamedText_2ff32: ; 0x88b5b
+_UnnamedText_2ff32: ; 88b5b (22:4b5b)
 	db $0, "A COIN CASE is", $4f
 	db "required!", $57
 ; 0x88b5b + 26 bytes
 
-_UnnamedText_2ff37: ; 0x88b75
+_UnnamedText_2ff37: ; 88b75 (22:4b75)
 	db $0, "You don't have", $4f
 	db "any coins!", $57
 ; 0x88b75 + 26 bytes
 
-_UnnamedText_37e79: ; 0x88b8f
+_UnnamedText_37e79: ; 88b8f (22:4b8f)
 	db $0, "OUT OF ORDER", $4f
 	db "This is broken.", $57
 ; 0x88b8f + 30 bytes
 
-_UnnamedText_37e7e: ; 0x88bad
+_UnnamedText_37e7e: ; 88bad (22:4bad)
 	db $0, "OUT TO LUNCH", $4f
 	db "This is reserved.", $57
 ; 0x88bad + 32 bytes
 
-_UnnamedText_37e83: ; 0x88bcd
+_UnnamedText_37e83: ; 88bcd (22:4bcd)
 	db $0, "Someone's keys!", $4f
 	db "They'll be back.", $57
 ; 0x88bcd + 32 bytes
 
-_UnnamedText_21865: ; 0x88bed
+_UnnamedText_21865: ; 88bed (22:4bed)
 	db $0, "Just a moment.", $57
 ; 0x88bed + 16 bytes
 
-UnnamedText_88bfd: ; 0x88bfd
+UnnamedText_88bfd: ; 88bfd (22:4bfd)
 	db $0, "It's a pamphlet", $4f
 	db "on TMs.", $51
 	db "...", $51
@@ -115105,16 +116330,16 @@
 	db "SILPH CO.@@"
 ; 0x88c6f
 
-_UnnamedText_529e9: ; 0x88c6f
+_UnnamedText_529e9: ; 88c6f (22:4c6f)
 	db $0, "Turn the page?", $57
 ; 0x88c6f + 16 bytes
 
-UnnamedText_88c7f: ; 0x88c7f
+UnnamedText_88c7f: ; 88c7f (22:4c7f)
 	db $0, "GIRL: Hey! Don't", $4f
 	db "look at my notes!@@"
 ; 0x88ca3
 
-_UnnamedText_529f4: ; 0x88ca3
+_UnnamedText_529f4: ; 88ca3 (22:4ca3)
 	db $0, "Looked at the", $4f
 	db "notebook!", $51
 	db "First page...", $51
@@ -115129,7 +116354,7 @@
 	db "#MON trainers.", $58
 ; 0x88ca3 + 163 bytes
 
-_UnnamedText_529f9: ; 0x88d46
+_UnnamedText_529f9: ; 88d46 (22:4d46)
 	db $0, "Second page...", $51
 	db "A healthy #MON", $4f
 	db "may be hard to", $55
@@ -115140,7 +116365,7 @@
 	db "effective!", $58
 ; 0x88d46 + 119 bytes
 
-_UnnamedText_529fe: ; 0x88dbd
+_UnnamedText_529fe: ; 88dbd (22:4dbd)
 	db $0, "Third page...", $51
 	db "#MON trainers", $4f
 	db "seek others to", $55
@@ -115151,7 +116376,7 @@
 	db "at #MON GYMs.", $58
 ; 0x88dbd + 111 bytes
 
-_UnnamedText_52a03: ; 0x88e2c
+_UnnamedText_52a03: ; 88e2c (22:4e2c)
 	db $0, "Fourth page...", $51
 	db "The goal for", $4f
 	db "#MON trainers", $55
@@ -115164,26 +116389,26 @@
 	db "#MON LEAGUE!", $58
 ; 0x88e2c + 149 bytes
 
-_UnnamedText_52a10: ; 0x88ec1
+_UnnamedText_52a10: ; 88ec1 (22:4ec1)
 	db $0, "Enemies on every", $4f
 	db "side!", $57
 ; 0x88ec1 + 24 bytes
 
-_UnnamedText_52a1d: ; 0x88ed9
+_UnnamedText_52a1d: ; 88ed9 (22:4ed9)
 	db $0, "What goes around", $4f
 	db "comes around!", $57
 ; 0x88ed9 + 32 bytes
 
-_UnnamedText_52a2a: ; 0x88ef9
+_UnnamedText_52a2a: ; 88ef9 (22:4ef9)
 	db $0, "FIGHTING DOJO", $57
 ; 0x88ef9 + 15 bytes
 
-_UnnamedText_52a3d: ; 0x88f08
+_UnnamedText_52a3d: ; 88f08 (22:4f08)
 	db $0, "INDIGO PLATEAU", $4f
 	db "#MON LEAGUE HQ", $57
 ; 0x88f08 + 31 bytes
 
-_UnnamedText_5db81: ; 0x88f27
+_UnnamedText_5db81: ; 88f27 (22:4f27)
 	db $0, $52, " is", $4f
 	db "playing the SNES!", $55
 	db "...Okay!", $55
@@ -115190,7 +116415,7 @@
 	db "It's time to go!", $57
 ; 0x88f27 + 49 bytes
 
-_UnnamedText_5dba8: ; 0x88f58
+_UnnamedText_5dba8: ; 88f58 (22:4f58)
 	db $0, "Looked into the", $4f
 	db "binoculars...", $51
 	db "A large, shining", $4f
@@ -115198,30 +116423,30 @@
 	db "toward the sea.", $57
 ; 0x88f58 + 79 bytes
 
-_UnnamedText_5dbbe: ; 0x88fa7
+_UnnamedText_5dbbe: ; 88fa7 (22:4fa7)
 	db $0, "AERODACTYL Fossil", $4f
 	db "A primitive and", $55
 	db "rare #MON.", $57
 ; 0x88fa7 + 46 bytes
 
-_UnnamedText_5dbd4: ; 0x88fd5
+_UnnamedText_5dbd4: ; 88fd5 (22:4fd5)
 	db $0, "KABUTOPS Fossil", $4f
 	db "A primitive and", $55
 	db "rare #MON.", $57
 ; 0x88fd5 + 44 bytes
 
-_UnnamedText_5dc9e: ; 0x89001
+_UnnamedText_5dc9e: ; 89001 (22:5001)
 	db $0, "TRAINER TIPS", $51
 	db "Using a Game Link", $4f
 	db "Cable", $58
 ; 0x89001 + 38 bytes
 
-_UnnamedText_5dca3: ; 0x89027
+_UnnamedText_5dca3: ; 89027 (22:5027)
 	db $0, "Which heading do", $4f
 	db "you want to read?", $57
 ; 0x89027 + 36 bytes
 
-_UnnamedText_5dcde: ; 0x8904b
+_UnnamedText_5dcde: ; 8904b (22:504b)
 	db $0, "When you have", $4f
 	db "linked your GAME", $55
 	db "BOY with another", $55
@@ -115231,19 +116456,19 @@
 	db "#MON CENTER.", $58
 ; 0x8904b + 114 bytes
 
-_UnnamedText_5dce3: ; 0x890bd
+_UnnamedText_5dce3: ; 890bd (22:50bd)
 	db $0, "COLOSSEUM lets", $4f
 	db "you play against", $55
 	db "a friend.", $58
 ; 0x890bd + 43 bytes
 
-_UnnamedText_5dce8: ; 0x890e8
+_UnnamedText_5dce8: ; 890e8 (22:50e8)
 	db $0, "TRADE CENTER is", $4f
 	db "used for trading", $55
 	db "#MON.", $58
 ; 0x890e8 + 40 bytes
 
-_UnnamedText_5dda2: ; 0x89110
+_UnnamedText_5dda2: ; 89110 (22:5110)
 	db $0, "The blackboard", $4f
 	db "describes #MON", $55
 	db "STATUS changes", $55
@@ -115250,12 +116475,12 @@
 	db "during battles.", $58
 ; 0x89110 + 62 bytes
 
-_UnnamedText_5dda7: ; 0x8914e
+_UnnamedText_5dda7: ; 8914e (22:514e)
 	db $0, "Which heading do", $4f
 	db "you want to read?", $57
 ; 0x8914e + 36 bytes
 
-_UnnamedText_5ddd6: ; 0x89172
+_UnnamedText_5ddd6: ; 89172 (22:5172)
 	db $0, "A #MON can't", $4f
 	db "attack if it's", $55
 	db "asleep!", $51
@@ -115266,7 +116491,7 @@
 	db "wake them up!", $58
 ; 0x89172 + 108 bytes
 
-_UnnamedText_5dddb: ; 0x891de
+_UnnamedText_5dddb: ; 891de (22:51de)
 	db $0, "When poisoned, a", $4f
 	db "#MON's health", $55
 	db "steadily drops.", $51
@@ -115276,7 +116501,7 @@
 	db "to cure poison!", $58
 ; 0x891de + 109 bytes
 
-_UnnamedText_5dde0: ; 0x8924b
+_UnnamedText_5dde0: ; 8924b (22:524b)
 	db $0, "Paralysis could", $4f
 	db "make #MON", $55
 	db "moves misfire!", $51
@@ -115286,7 +116511,7 @@
 	db "for treatment!", $58
 ; 0x8924b + 106 bytes
 
-_UnnamedText_5dde5: ; 0x892b5
+_UnnamedText_5dde5: ; 892b5 (22:52b5)
 	db $0, "A burn reduces", $4f
 	db "power and speed.", $55
 	db "It also causes", $55
@@ -115297,7 +116522,7 @@
 	db "cure a burn!", $58
 ; 0x892b5 + 122 bytes
 
-_UnnamedText_5ddea: ; 0x8932f
+_UnnamedText_5ddea: ; 8932f (22:532f)
 	db $0, "If frozen, a", $4f
 	db "#MON becomes", $55
 	db "totally immobile!", $51
@@ -115308,12 +116533,12 @@
 	db "thaw out #MON!", $58
 ; 0x8932f + 120 bytes
 
-_UnnamedText_5ddf7: ; 0x893a7
+_UnnamedText_5ddf7: ; 893a7 (22:53a7)
 	db $0, "Nope, there's", $4f
 	db "only trash here.", $57
 ; 0x893a7 + 31 bytes
 
-UnnamedText_893c6: ; 0x893c6
+UnnamedText_893c6: ; 893c6 (22:53c6)
 	db $0, "Hey! There's a", $4f
 	db "switch under the", $55
 	db "trash!", $55
@@ -115322,7 +116547,7 @@
 	db "lock opened!@@"
 ; 0x89418
 
-_UnnamedText_5dedb: ; 0x89418
+_UnnamedText_5dedb: ; 89418 (22:5418)
 	db $0, "Hey! There's", $4f
 	db "another switch", $55
 	db "under the trash!", $55
@@ -115329,7 +116554,7 @@
 	db "Turn it on!", $58
 ; 0x89418 + 57 bytes
 
-UnnamedText_89451: ; 0x89451
+UnnamedText_89451: ; 89451 (22:5451)
 	db $0, "The 2nd electric", $4f
 	db "lock opened!", $51
 	db "The motorized door", $4f
@@ -115336,7 +116561,7 @@
 	db "opened!@@"
 ; 0x89451 + 59 bytes = 0x8948c
 
-UnnamedText_8948c: ; 0x8948c
+UnnamedText_8948c: ; 8948c (22:548c)
 	db $0, "Nope! There's", $4f
 	db "only trash here.", $55
 	db "Hey! The electric", $55
@@ -115343,7 +116568,7 @@
 	db "locks were reset!@@"
 ; 0x8948c + 68 bytes = 0x894d0
 
-UnnamedText_894d0: ; 0x894d0
+UnnamedText_894d0: ; 894d0 (22:54d0)
 	db $0, $52, " found", $4f
 	db "@"
 	TX_RAM $cd6d
@@ -115350,13 +116575,13 @@
 	db $0, "!@@"
 ; 0x894e1
 
-_UnnamedText_76794: ; 0x894e1
+_UnnamedText_76794: ; 894e1 (22:54e1)
 	db $0, "But, ", $52, " has", $4f
 	db "no more room for", $55
 	db "other items!", $57
 ; 0x894e1 + 42 bytes
 
-_FoundHiddenCoinsText: ; 0x8950b
+_FoundHiddenCoinsText: ; 8950b (22:550b)
 	db $0, $52, " found", $4f
 	db "@"
 	db $2, $a0, $ff, $c2 ; XXX $2
@@ -115363,7 +116588,7 @@
 	db $0, " coins!@@"
 ; 0x89523
 
-_FoundHiddenCoins2Text: ; 0x89523
+_FoundHiddenCoins2Text: ; 89523 (22:5523)
 	db $0, $52, " found", $4f
 	db "@"
 	db $2, $a0, $ff, $c2 ; XXX $2 probably coins
@@ -115370,59 +116595,59 @@
 	db $0, " coins!@@"
 ; 0x8953a
 
-_DroppedHiddenCoinsText: ; 0x8953b
+_DroppedHiddenCoinsText: ; 8953b (22:553b)
 	db $0, $51
 	db "Oops! Dropped", $4f
 	db "some coins!", $57
 ; 0x8953b + 28 bytes
 
-_UnnamedText_fbd9: ; 0x89557
+_UnnamedText_fbd9: ; 89557 (22:5557)
 	db $0, "INDIGO PLATEAU", $58
 ; 0x89557 + 16 bytes
 
-_UnnamedText_fbde: ; 0x89567
+_UnnamedText_fbde: ; 89567 (22:5567)
 	db $0, "The ultimate goal", $4f
 	db "of trainers!", $55
 	db "#MON LEAGUE HQ", $57
 ; 0x89567 + 47 bytes
 
-_UnnamedText_fbe3: ; 0x89596
+_UnnamedText_fbe3: ; 89596 (22:5596)
 	db $0, "The highest", $4f
 	db "#MON authority", $55
 	db "#MON LEAGUE HQ", $57
 ; 0x89596 + 43 bytes
 
-_UnnamedText_fc03: ; 0x895c1
+_UnnamedText_fc03: ; 895c1 (22:55c1)
 	db $0, "Crammed full of", $4f
 	db "#MON books!", $57
 ; 0x895c1 + 29 bytes
 
-_UnnamedText_fc08: ; 0x895de
+_UnnamedText_fc08: ; 895de (22:55de)
 	db $0, "It's a sculpture", $4f
 	db "of DIGLETT.", $57
 ; 0x895de + 29 bytes
 
-_UnnamedText_fc0d: ; 0x895fb
+_UnnamedText_fc0d: ; 895fb (22:55fb)
 	db $0, "This is an", $4f
 	db "elevator.", $57
 ; 0x895fb + 22 bytes
 
-UnnamedText_89611: ; 0x89611
+UnnamedText_89611: ; 89611 (22:5611)
 	db $0, "A TOWN MAP.@@"
 ; 0x89611 + 14 bytes = 0x8961f
 
-_UnnamedText_fc45: ; 0x8961f
+_UnnamedText_fc45: ; 8961f (22:561f)
 	db $0, "Wow! Tons of", $4f
 	db "#MON stuff!", $57
 ; 0x8961f + 26 bytes
 
-_UnnamedText_3c1a8: ; 0x89639
+_UnnamedText_3c1a8: ; 89639 (22:5639)
 	db $0, "PA: Ding-dong!", $51
 	db "You are out of", $4f
 	db "SAFARI BALLs!", $58
 ; 0x89639 + 45 bytes
 
-_UnnamedText_3c229: ; 0x89666
+_UnnamedText_3c229: ; 89666 (22:5666)
 	db $0, "Wild @"
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
@@ -115429,7 +116654,7 @@
 	db "ran!", $58
 ; 0x89666 + 17 bytes = 0x89677
 
-_UnnamedText_3c22e: ; 0x89677
+_UnnamedText_3c22e: ; 89677 (22:5677)
 	db $0, "Enemy @"
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
@@ -115436,22 +116661,22 @@
 	db "ran!", $58
 ; 0x89677 + 18 bytes = 0x89689
 
-_UnnamedText_3c42e: ; 0x89689
+_HurtByPoisonText: ; 89689 (22:5689)
 	db $0, $5a, "'s", $4f
 	db "hurt by poison!", $58
 ; 0x89689 + 20 bytes
 
-_UnnamedText_3c433: ; 0x8969d
+_HurtByBurnText: ; 8969d (22:569d)
 	db $0, $5a, "'s", $4f
 	db "hurt by the burn!", $58
 ; 0x8969d + 22 bytes
 
-_UnnamedText_3c438: ; 0x896b3
+_HurtByLeechSeedText: ; 896b3 (22:56b3)
 	db $0, "LEECH SEED saps", $4f
 	db $5a, "!", $58
 ; 0x896b3 + 20 bytes
 
-_UnnamedText_3c63e: ; 0x896c7
+_UnnamedText_3c63e: ; 896c7 (22:56c7)
 	db $0, "Enemy @"
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
@@ -115458,7 +116683,7 @@
 	db "fainted!", $58
 ; 0x896c7 + 22 bytes = 0x896dd
 
-_UnnamedText_3c6e4: ; 0x896dd
+_UnnamedText_3c6e4: ; 896dd (22:56dd)
 	db $0, $52, " got ¥@"
 	;XXX $2
 	db $2, $79, $d0, $c3
@@ -115466,7 +116691,7 @@
 	db "for winning!", $58
 ; 0x896f9
 
-_UnnamedText_3c6e9: ; 0x896f9
+_UnnamedText_3c6e9: ; 896f9 (22:56f9)
 	db $0, $52, " defeated", $4f
 	db "@"
 	TX_RAM $d04a ; 0x89706
@@ -115473,22 +116698,22 @@
 	db $0, "!", $58
 ; 0x896f9 + 19 bytes = 0x8970c
 
-_UnnamedText_3c796: ; 0x8970c
-	TX_RAM $d009
+_PlayerMonFaintedText: ; 8970c (22:570c)
+	TX_RAM W_PLAYERMONNAME
 	db $0, $4f
 	db "fainted!", $58
 ; 0x8970c + 14 bytes
 
-_UnnamedText_3c7d3: ; 0x8971a
+_UnnamedText_3c7d3: ; 8971a (22:571a)
 	db $0, "Use next #MON?", $57
 ; 0x8971a + 16 bytes
 
-_UnnamedText_3c884: ; 0x8972a
+_Sony1WinText: ; 8972a (22:572a)
 	db $0, $53, ": Yeah! Am", $4f
 	db "I great or what?", $58
 ; 0x8972a + 30 bytes
 
-_UnnamedText_3c889: ; 0x89748
+_PlayerBlackedOutText2: ; 89748 (22:5748)
 	db $0, $52, " is out of", $4f
 	db "useable #MON!", $51
 	db $52, " blacked", $4f
@@ -115495,7 +116720,7 @@
 	db "out!", $58
 ; 0x89748 + 42 bytes
 
-_UnnamedText_3c88e: ; 0x89772
+_LinkBattleLostText: ; 89772 (22:5772)
 	db $0, $52, " lost to", $4f
 	db "@"
 	TX_RAM $d04a ; 0x8977e
@@ -115502,7 +116727,7 @@
 	db $0, "!", $58
 ; 0x89772 + 18 bytes = 0x89784
 
-_TrainerAboutToUseText:
+_TrainerAboutToUseText: ; 89784 (22:5784)
 	db 1
 	dw $D04A
 	db 0," is",$4F
@@ -115512,7 +116737,7 @@
 	db "Will ",$52,$4F
 	db "change #MON?",$57
 
-_TrainerSentOutText:
+_TrainerSentOutText: ; 897b4 (22:57b4)
 	db 1
 	dw $D04A
 	db 0," sent",$4F
@@ -115520,290 +116745,290 @@
 	dw W_ENEMYMONNAME
 	db 0,"!",$57
 
-_UnnamedText_3cab4: ; 0x897c9
+_UnnamedText_3cab4: ; 897c9 (22:57c9)
 	db $0, "There's no will", $4f
 	db "to fight!", $58
 ; 0x897c9 + 26 bytes
 
-_UnnamedText_3cb97: ; 0x897e3
+_UnnamedText_3cb97: ; 897e3 (22:57e3)
 	db $0, "Can't escape!", $58
 ; 0x897e3 + 14 bytes
 
-_UnnamedText_3cb9c: ; 0x897f1
+_UnnamedText_3cb9c: ; 897f1 (22:57f1)
 	db $0, "No! There's no", $4f
 	db "running from a", $55
 	db "trainer battle!", $58
 ; 0x897f1 + 46 bytes
 
-_UnnamedText_3cba1: ; 0x8981f
+_UnnamedText_3cba1: ; 8981f (22:581f)
 	db $0, "Got away safely!", $58
 ; 0x8981f + 18 bytes
 
-_UnnamedText_3d0c5: ; 0x89831
+_UnnamedText_3d0c5: ; 89831 (22:5831)
 	db $0, "Items can't be", $4f
 	db "used here.", $58
 ; 0x89831 + 26 bytes
 
-_UnnamedText_3d1f5: ; 0x8984b
-	TX_RAM $d009
+_UnnamedText_3d1f5: ; 8984b (22:584b)
+	TX_RAM W_PLAYERMONNAME
 	db $0, " is", $4f
 	db "already out!", $58
 ; 0x8984b + 21 bytes
 
-_UnnamedText_3d3ae: ; 0x89860
+_UnnamedText_3d3ae: ; 89860 (22:5860)
 	db $0, "No PP left for", $4f
 	db "this move!", $58
 ; 0x89860 + 27 bytes
 
-_UnnamedText_3d3b3: ; 0x8987b
+_UnnamedText_3d3b3: ; 8987b (22:587b)
 	db $0, "The move is", $4f
 	db "disabled!", $58
 ; 0x8987b + 23 bytes
 
-_UnnamedText_3d430: ; 0x89892
-	TX_RAM $d009
+_UnnamedText_3d430: ; 89892 (22:5892)
+	TX_RAM W_PLAYERMONNAME
 	db $0, " has no", $4f
 	db "moves left!", $57
 ; 0x89892 + 24 bytes
 
-_MultiHitText:
+_MultiHitText: ; 898aa (22:58aa)
 	db 0,"Hit the enemy",$4F,"@"
 	TX_NUM W_NUMHITS,1,1
 	db 0," times!",$58
 
-_ScaredText:
+_ScaredText: ; 898c7 (22:58c7)
 	db 1
-	dw $D009
+	dw W_PLAYERMONNAME
 	db 0," is too",$4F
 	db "scared to move!",$58
 
-_GetOutText:
+_GetOutText: ; 898e3 (22:58e3)
 	db 0,"GHOST: Get out...",$4F
 	db "Get out...",$58
 
-_FastAsleepText:
+_FastAsleepText: ; 89901 (22:5901)
 	db 0,$5A,$4F
 	db "is fast asleep!",$58
 
-_WokeUpText:
+_WokeUpText: ; 89914 (22:5914)
 	db 0,$5A,$4F
 	db "woke up!",$58
 
-_FrozenText:
+_FrozenText: ; 89920 (22:5920)
 	db 0,$5A,$4F
 	db "is frozen solid!",$58
 
-_FullyParalyzedText:
+_FullyParalyzedText: ; 89934 (22:5934)
 	db 0,$5A,"'s",$4F
 	db "fully paralyzed!",$58
 
-_FlinchedText:
+_FlinchedText: ; 89949 (22:5949)
 	db 0,$5A,$4F
 	db "flinched!",$58
 
-_MustRechargeText:
+_MustRechargeText: ; 89956 (22:5956)
 	db 0,$5A,$4F
 	db "must recharge!",$58
 
-_DisabledNoMoreText:
+_DisabledNoMoreText: ; 89968 (22:5968)
 	db 0,$5A,"'s",$4F
 	db "disabled no more!",$58
 
-_IsConfusedText:
+_IsConfusedText: ; 8997e (22:597e)
 	db 0,$5A,$4F
 	db "is confused!",$58
 
-_HurtItselfText:
+_HurtItselfText: ; 8998e (22:598e)
 	db 0,"It hurt itself in",$4F
 	db "its confusion!",$58
 
-_ConfusedNoMoreText:
+_ConfusedNoMoreText: ; 899b0 (22:59b0)
 	db 0,$5A,"'s",$4F
 	db "confused no more!",$58
 
-_SavingEnergyText:
+_SavingEnergyText: ; 899c6 (22:59c6)
 	db 0,$5A,$4F
 	db "is saving energy!",$58
 
-_UnleashedEnergyText:
+_UnleashedEnergyText: ; 899db (22:59db)
 	db 0,$5A,$4F
 	db "unleashed energy!",$58
 
-_ThrashingAboutText:
+_ThrashingAboutText: ; 899f0 (22:59f0)
 	db 0,$5A,"'s",$4F
 	db "thrashing about!",$57
 
-_AttackContinuesText:
+_AttackContinuesText: ; 89a05 (22:5a05)
 	db 0,$5A,"'s",$4F
 	db "attack continues!",$57
 
-_CantMoveText:
+_CantMoveText: ; 89a1b (22:5a1b)
 	db 0,$5A,$4F
 	db "can't move!",$58
 
-_UnnamedText_3daa8: ; 0x89a29
+_UnnamedText_3daa8: ; 89a29 (22:5a29)
 	db $0, $5a, "'s", $4f
 	db "@"
 ; 0x89a29 + 5 bytes
 
-UnnamedText_89a2e: ; 0x89a2e
+UnnamedText_89a2e: ; 89a2e (22:5a2e)
 	TX_RAM $cd6d
 	db $0, " is", $55
 	db "disabled!", $58
 ; 0x89a2e + 18 bytes = 0x89a40
 
-UnnamedText_89a40: ; 0x89a40
+UnnamedText_89a40: ; 89a40 (22:5a40)
 	db $0, $5a, "@@"
 ; 0x89a40 + 4 bytes = 0x89a44
 
-UnnamedText_89a44: ; 0x89a44
+UnnamedText_89a44: ; 89a44 (22:5a44)
 	db $0, $4f
 	db "used @@"
 ; 0x89a44 + 9 bytes = 0x89a4d
 
-UnnamedText_89a4d: ; 0x89a4d
+UnnamedText_89a4d: ; 89a4d (22:5a4d)
 	db $0, $4f
 	db "used @@"
 ; 0x89a4d + 9 bytes = 0x89a56
 
-UnnamedText_89a56: ; 0x89a56
+UnnamedText_89a56: ; 89a56 (22:5a56)
 	db $0, "instead,", $55
 	db "@@"
 ; 0x89a56 + 12 bytes = 0x89a62
 
-UnnamedText_89a62: ; 0x89a62
+UnnamedText_89a62: ; 89a62 (22:5a62)
 	TX_RAM $cf4b
 	db $0, "@"
 ; 0x89a62 + 5 bytes = 0x89a67
 
-_UnnamedText_3db6c: ; 0x89a67
+_UnnamedText_3db6c: ; 89a67 (22:5a67)
 	db $0, "!", $57
 ; 0x89a67 + 3 bytes
 
-_UnnamedText_3db71: ; 0x89a6a
+_UnnamedText_3db71: ; 89a6a (22:5a6a)
 	db $0, "!", $57
 ; 0x89a6a + 3 bytes
 
-_UnnamedText_3db76: ; 0x89a6d
+_UnnamedText_3db76: ; 89a6d (22:5a6d)
 	db $0, "!", $57
 ; 0x89a6d + 3 bytes
 
-_UnnamedText_3db7b: ; 0x89a70
+_UnnamedText_3db7b: ; 89a70 (22:5a70)
 	db $0, "!", $57
 ; 0x89a70 + 3 bytes
 
-_UnnamedText_3db80: ; 0x89a73
+_UnnamedText_3db80: ; 89a73 (22:5a73)
 	db $0, "!", $57
 ; 0x89a73 + 3 bytes
 
-_UnnamedText_3dc42: ; 0x89a76
+_UnnamedText_3dc42: ; 89a76 (22:5a76)
 	db $0, $5a, "'s", $4f
 	db "attack missed!", $58
 ; 0x89a76 + 19 bytes
 
-_UnnamedText_3dc47: ; 0x89a89
+_UnnamedText_3dc47: ; 89a89 (22:5a89)
 	db $0, $5a, $4f
 	db "kept going and", $55
 	db "crashed!", $58
 ; 0x89a89 + 27 bytes
 
-_UnnamedText_3dc4c: ; 0x89aa4
+_UnnamedText_3dc4c: ; 89aa4 (22:5aa4)
 	db $0, $59, "'s", $4f
 	db "unaffected!", $58
 ; 0x89aa4 + 16 bytes
 
-_UnnamedText_3dc57: ; 0x89ab4
+_UnnamedText_3dc57: ; 89ab4 (22:5ab4)
 	db $0, "It doesn't affect", $4f
 	db $59, "!", $58
 ; 0x89ab4 + 21 bytes
 
-_UnnamedText_3dc7e: ; 0x89ac9
+_UnnamedText_3dc7e: ; 89ac9 (22:5ac9)
 	db $0, "Critical hit!", $58
 ; 0x89ac9 + 15 bytes
 
-_UnnamedText_3dc83: ; 0x89ad8
+_UnnamedText_3dc83: ; 89ad8 (22:5ad8)
 	db $0, "One-hit KO!", $58
 ; 0x89ad8 + 13 bytes
 
-_UnnamedText_3ddb6: ; 0x89ae5
-	TX_RAM $d009
+_UnnamedText_3ddb6: ; 89ae5 (22:5ae5)
+	TX_RAM W_PLAYERMONNAME
 	db $0, " is", $4f
 	db "loafing around.", $58
 ; 0x89ae5 + 24 bytes
 
-_UnnamedText_3ddbb: ; 0x89afd
-	TX_RAM $d009
+_UnnamedText_3ddbb: ; 89afd (22:5afd)
+	TX_RAM W_PLAYERMONNAME
 	db $0, " began", $4f
 	db "to nap!", $58
 ; 0x89afd + 19 bytes
 
-_UnnamedText_3ddc0: ; 0x89b10
-	TX_RAM $d009
+_UnnamedText_3ddc0: ; 89b10 (22:5b10)
+	TX_RAM W_PLAYERMONNAME
 	db $0, " won't", $4f
 	db "obey!", $58
 ; 0x89b10 + 16 bytes
 
-_UnnamedText_3ddc5: ; 0x89b20
-	TX_RAM $d009
+_UnnamedText_3ddc5: ; 89b20 (22:5b20)
+	TX_RAM W_PLAYERMONNAME
 	db $0, " turned", $4f
 	db "away!", $58
 ; 0x89b20 + 18 bytes
 
-_UnnamedText_3ddca: ; 0x89b32
-	TX_RAM $d009
+_UnnamedText_3ddca: ; 89b32 (22:5b32)
+	TX_RAM W_PLAYERMONNAME
 	db $0, $4f
 	db "ignored orders!", $58
 ; 0x89b32 + 21 bytes
 
-_SubstituteTookDamageText: ; 0x89b47
+_SubstituteTookDamageText: ; 89b47 (22:5b47)
 	db $0, "The SUBSTITUTE", $4f
 	db "took damage for", $55
 	db $59, "!", $58
 ; 0x89b47 + 35 bytes
 
-_SubstituteBrokeText: ; 0x89b6a
+_SubstituteBrokeText: ; 89b6a (22:5b6a)
 	db $0, $59, "'s", $4f
 	db "SUBSTITUTE broke!", $58
 ; 0x89b6a + 22 bytes
 
-_BuildingRageText: ; 0x89b80
+_BuildingRageText: ; 89b80 (22:5b80)
 	db $0, $5a, "'s", $4f
 	db "RAGE is building!", $58
 ; 0x89b80 + 22 bytes
 
-_MirrorMoveFailedText: ; 0x89b96
+_MirrorMoveFailedText: ; 89b96 (22:5b96)
 	db $0, "The MIRROR MOVE", $4e, "failed!", $58
 ; 0x89b96 + 25 bytes
 
-_UnnamedText_3e887: ; 0x89baf
+_UnnamedText_3e887: ; 89baf (22:5baf)
 	db $0, "Hit @"
 ; 0x89baf + 6 bytes
 
-UnnamedText_89bb5: ; 0x89bb5
+UnnamedText_89bb5: ; 89bb5 (22:5bb5)
 	TX_NUM $cd05, 1, 1
 	db $0, " times!", $58
 ; 0x89bb5 + 13 bytes = 0x89bc2
 
-UnnamedText_89bc2: ; 0x89bc2
+UnnamedText_89bc2: ; 89bc2 (22:5bc2)
 	TX_RAM $cd6d
 	db $0, " gained", $4f
 	db "@@"
 ; 0x89bc2 + 14 bytes = 0x89bd0
 
-UnnamedText_89bd0: ; 0x89bd0
+UnnamedText_89bd0: ; 89bd0 (22:5bd0)
 	db $0, "with EXP.ALL,", $55
 	db "@@"
 ; 0x89bd0 + 17 bytes = 0x89be1
 
-UnnamedText_89be1: ; 0x89be1
+UnnamedText_89be1: ; 89be1 (22:5be1)
 	db $0, "a boosted", $55
 	db "@@"
-_UnnamedText_554d8:
+_UnnamedText_554d8: ; 89bee (22:5bee)
 	TX_NUM $cf4b, 2, 4
 	db $0, " EXP. Points!", $58
 ; 0x89be1 + 32 bytes = 0x89c01
 
-UnnamedText_89c01: ; 0x89c01
+UnnamedText_89c01: ; 89c01 (22:5c01)
 	TX_RAM $cd6d
 	db $0, " grew", $4f
 	db "to level @"
@@ -115811,7 +117036,7 @@
 	db $0, "!@@"
 ; 0x89c01 + 28 bytes = 0x89c1d
 
-_UnnamedText_58e3b: ; 0x89c1d
+_UnnamedText_58e3b: ; 89c1d (22:5c1d)
 	db $0, "Wild @"
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
@@ -115818,7 +117043,7 @@
 	db "appeared!", $58
 ; 0x89c1d + 22 bytes
 
-_UnnamedText_58e40: ; 0x89c33
+_UnnamedText_58e40: ; 89c33 (22:5c33)
 	db $0, "The hooked", $4f
 	db "@"
 	TX_RAM W_ENEMYMONNAME
@@ -115826,30 +117051,30 @@
 	db "attacked!", $58
 ; 0x89c33 + 28 bytes
 
-_UnnamedText_58e45: ; 0x89c4f
+_UnnamedText_58e45: ; 89c4f (22:5c4f)
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
 	db "appeared!", $58
 ; 0x89c4f + 15 bytes
 
-_UnnamedText_58e4a: ; 0x89c5e
+_UnnamedText_58e4a: ; 89c5e (22:5c5e)
 	TX_RAM $d04a
 	db $0, " wants", $4f
 	db "to fight!", $58
 ; 0x89c5e + 21 bytes
 
-_UnnamedText_58e4f: ; 0x89c73
+_UnnamedText_58e4f: ; 89c73 (22:5c73)
 	db $0, "SILPH SCOPE", $4f
 	db "unveiled the", $55
 	db "GHOST's identity!", $58
 ; 0x89c73 + 43 bytes
 
-_UnnamedText_58e54: ; 0x89c9e
+_UnnamedText_58e54: ; 89c9e (22:5c9e)
 	db $0, "Darn! The GHOST", $4f
 	db "can't be ID'd!", $58
 ; 0x89c9e + 30 bytes
 
-UnknownText_89cbc: ; 0x89cbc
+UnknownText_89cbc: ; 89cbc (22:5cbc)
 	db $0, "Go! @@"
 ; 0x89cbc + 7 bytes
 	db $0, "Do it! @@"
@@ -115857,44 +117082,44 @@
 	db $0, "Get'm! @@"
 ; 0x89ccd + 9 bytes
 
-UnknownText_89cd6: ; 0x89cd6
+UnknownText_89cd6: ; 89cd6 (22:5cd6)
 	db $0, "The enemy's weak!", $4f
 	db "Get'm! @@"
 ; 0x89cd6 + 26 bytes
 
-_UnnamedText_58ecc: ; 0x89cf0
-	TX_RAM $d009
+_UnnamedText_58ecc: ; 89cf0 (22:5cf0)
+	TX_RAM W_PLAYERMONNAME
 	db $0, "!", $57
 ; 0x89cf0 + 6 bytes
-	TX_RAM $d009
+	TX_RAM W_PLAYERMONNAME
 	db $0, " @@"
 	db $0, "enough!@@"
 ; 0x89cf0 + 23 bytes
 
-_UnnamedText_89d07: ; 0x8d907
+_UnnamedText_89d07: ; 89d07 (22:5d07)
 	db $0, "OK!@@"
 ; 0x8d907 + 6
 
-UnknownText_89d0d: ; 0x89d0d
+UnknownText_89d0d: ; 89d0d (22:5d0d)
 	db $0, "good!@@"
 ; 0x89d0d + 8 bytes
 
-_UnnamedText_58f3e: ; 0x89d15
+_UnnamedText_58f3e: ; 89d15 (22:5d15)
 	db $0, $4f
 	db "Come back!", $57
 ; 0x89d15 + 13 bytes
 
-_UnnamedText_2fb8e: ; 0x89d22
+_UnnamedText_2fb8e: ; 89d22 (22:5d22)
 	db $0, "It's super", $4f
 	db "effective!", $58
 ; 0x89d22 + 22 bytes
 
-_UnnamedText_2fb93: ; 0x89d38
+_UnnamedText_2fb93: ; 89d38 (22:5d38)
 	db $0, "It's not very", $4f
 	db "effective...", $58
 ; 0x89d38 + 27 bytes
 
-SafariZoneEatingText: ; 0x89d53
+SafariZoneEatingText: ; 89d53 (22:5d53)
 	db $0, "Wild @"
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
@@ -115901,7 +117126,7 @@
 	db "is eating!", $58
 ; 0x89d53 + 23 bytes
 
-SafariZoneAngryText: ; 0x89d6a
+SafariZoneAngryText: ; 89d6a (22:5d6a)
 	db $0, "Wild @"
 	TX_RAM W_ENEMYMONNAME
 	db $0, $4f
@@ -115911,97 +117136,97 @@
 ; money related
 ; XXX $2 BCD macro
 ; $2, pointer, byte
-_UnnamedText_1386b: ; 0x89d80
+_UnnamedText_1386b: ; 89d80 (22:5d80)
 	db $0, $52, " picked up", $4f
 	db "¥@"
 	db $2, $e5, $cc, $c3
 	db $0, "!", $58
 
-_UnnamedText_1c9c1: ; 0x89d96
+_UnnamedText_1c9c1: ; 89d96 (22:5d96)
 	db $0, "Clear all saved", $4f
 	db "data?", $57
 ; 0x89d96 + 23 bytes
 
-_UnnamedText_1ca14: ; 0x89dad
+_UnnamedText_1ca14: ; 89dad (22:5dad)
 	db $0, "Which floor do", $4f
 	db "you want? ", $57
 ; 0x89dad + 27 bytes
 
-_PartyMenuNormalText: ; 0x89dc8
+_PartyMenuNormalText: ; 89dc8 (22:5dc8)
 	db $0, "Choose a #MON.", $57
 ; 0x89dc8 + 16 bytes
 
-_PartyMenuItemUseText: ; 0x89dd8
+_PartyMenuItemUseText: ; 89dd8 (22:5dd8)
 	db $0, "Use item on which", $4f
 	db "#MON?", $57
 ; 0x89dd8 + 25 bytes
 
-_PartyMenuBattleText: ; 0x89df1
+_PartyMenuBattleText: ; 89df1 (22:5df1)
 	db $0, "Bring out which", $4f
 	db "#MON?", $57
 ; 0x89df1 + 23 bytes
 
-_PartyMenuUseTMText: ; 0x89e08
+_PartyMenuUseTMText: ; 89e08 (22:5e08)
 	db $0, "Use TM on which", $4f
 	db "#MON?", $57
 ; 0x89e08 + 23 bytes
 
-_PartyMenuSwapMonText: ; 0x89e1f
+_PartyMenuSwapMonText: ; 89e1f (22:5e1f)
 	db $0, "Move #MON", $4f
 	db "where?", $57
 ; 0x89e1f + 18 bytes
 
-_PotionText: ; 0x89e31
+_PotionText: ; 89e31 (22:5e31)
 	TX_RAM $cd6d
 	db $0, $4f
 	db "recovered by @"
-	TX_NUM $cefd, 2, 3
+	TX_NUM W_HPBARHPDIFFERENCE, 2, 3
 	db $0, "!", $57
 ; 0x89e31 + 26 bytes
 
-_AntidoteText: ; 0x89e4b
+_AntidoteText: ; 89e4b (22:5e4b)
 	TX_RAM $cd6d
 	db $0, " was", $4f
 	db "cured of poison!", $57
 ; 0x89e4b + 26 bytes
 
-_ParlyzHealText: ; 0x89e65
+_ParlyzHealText: ; 89e65 (22:5e65)
 	TX_RAM $cd6d
 	db $0, "'s", $4f
 	db "rid of paralysis!", $57
 ; 0x89e65 + 24 bytes
 
-_BurnHealText: ; 0x89e7d
+_BurnHealText: ; 89e7d (22:5e7d)
 	TX_RAM $cd6d
 	db $0, "'s", $4f
 	db "burn was healed!", $57
 ; 0x89e7d + 23 bytes
 
-_IceHealText: ; 0x89e94
+_IceHealText: ; 89e94 (22:5e94)
 	TX_RAM $cd6d
 	db $0, " was", $4f
 	db "defrosted!", $57
 ; 0x89e94 + 20 bytes
 
-_AwakeningText: ; 0x89ea8
+_AwakeningText: ; 89ea8 (22:5ea8)
 	TX_RAM $cd6d
 	db $0, $4f
 	db "woke up!", $57
 ; 0x89ea8 + 14 bytes
 
-_FullHealText: ; 0x89eb6
+_FullHealText: ; 89eb6 (22:5eb6)
 	TX_RAM $cd6d
 	db $0, "'s", $4f
 	db "health returned!", $57
 ; 0x89eb6 + 23 bytes
 
-_ReviveText: ; 0x89ecd
+_ReviveText: ; 89ecd (22:5ecd)
 	TX_RAM $cd6d
 	db $0, $4f
 	db "is revitalized!", $57
 ; 0x89ecd + 21 bytes
 
-_RareCandyText: ; 0x89ee2
+_RareCandyText: ; 89ee2 (22:5ee2)
 	TX_RAM $cd6d
 	db $0, " grew", $4f
 	db "to level @"
@@ -116009,12 +117234,12 @@
 	db $0, "!@@"
 ; 0x89ee2 + 28 bytes
 
-_UnnamedText_17f23: ; 0x89efe
+_UnnamedText_17f23: ; 89efe (22:5efe)
 	db $0, $52, " turned on", $4f
 	db "the PC.", $58
 ; 0x89efe + 21 bytes
 
-_UnnamedText_17f28: ; 0x89f13
+_UnnamedText_17f28: ; 89f13 (22:5f13)
 	db $0, "Accessed BILL's", $4f
 	db "PC.", $51
 	db "Accessed #MON", $4f
@@ -116021,7 +117246,7 @@
 	db "Storage System.", $58
 ; 0x89f13 + 50 bytes
 
-_UnnamedText_17f2d: ; 0x89f45
+_UnnamedText_17f2d: ; 89f45 (22:5f45)
 	db $0, "Accessed someone's", $4f
 	db "PC.", $51
 	db "Accessed #MON", $4f
@@ -116028,57 +117253,57 @@
 	db "Storage System.", $58
 ; 0x89f45 + 53 bytes
 
-_UnnamedText_17f32: ; 0x89f7a
+_UnnamedText_17f32: ; 89f7a (22:5f7a)
 	db $0, "Accessed my PC.", $51
 	db "Accessed Item", $4f
 	db "Storage System.", $58
 ; 0x89f7a + 47 bytes
 
-_UnnamedText_7b22: ; 0x89fa9
+_UnnamedText_7b22: ; 89fa9 (22:5fa9)
 	db $0, $52, " turned on", $4f
 	db "the PC.", $58
 ; 0x89fa9 + 21 bytes
 
-_UnnamedText_7b27: ; 0x89fbe
+_UnnamedText_7b27: ; 89fbe (22:5fbe)
 	db $0, "What do you want", $4f
 	db "to do?", $57
 ; 0x89fbe + 25 bytes
 
-_UnnamedText_7b2c: ; 0x89fd7
+_UnnamedText_7b2c: ; 89fd7 (22:5fd7)
 	db $0, "What do you want", $4f
 	db "to deposit?", $57
 ; 0x89fd7 + 30 bytes
 
-_UnnamedText_7b31: ; 0x89ff5
+_UnnamedText_7b31: ; 89ff5 (22:5ff5)
 	db $0, "How many?", $57
 ; 0x89ff5 + 11 bytes
 
-_UnnamedText_7b36: ; 0x8a000
+_UnnamedText_7b36: ; 8a000 (22:6000)
 	TX_RAM $cd6d
 	db $0, " was", $4f
 	db "stored via PC.", $58
 ; 0x8a000 + 24 bytes
 
-_UnnamedText_7b3b: ; 0x8a018
+_UnnamedText_7b3b: ; 8a018 (22:6018)
 	db $0, "You have nothing", $4f
 	db "to deposit.", $58
 ; 0x8a018 + 30 bytes
 
-_UnnamedText_7b40: ; 0x8a036
+_UnnamedText_7b40: ; 8a036 (22:6036)
 	db $0, "No room left to", $4f
 	db "store items.", $58
 ; 0x8a036 + 30 bytes
 
-_UnnamedText_7b45: ; 0x8a054
+_UnnamedText_7b45: ; 8a054 (22:6054)
 	db $0, "What do you want", $4f
 	db "to withdraw?", $57
 ; 0x8a054 + 31 bytes
 
-_UnnamedText_7b4a: ; 0x8a073
+_UnnamedText_7b4a: ; 8a073 (22:6073)
 	db $0, "How many?", $57
 ; 0x8a073 + 11 bytes
 
-_UnnamedText_7b4f: ; 0x8a07e
+_UnnamedText_7b4f: ; 8a07e (22:607e)
 	db $0, "Withdrew", $4f
 	db "@"
 	TX_RAM $cd6d
@@ -116085,26 +117310,26 @@
 	db $0, ".", $58
 ; 0x8a07e + 17 bytes
 
-_UnnamedText_7b54: ; 0x8a08f
+_UnnamedText_7b54: ; 8a08f (22:608f)
 	db $0, "There is nothing", $4f
 	db "stored.", $58
 ; 0x8a08f + 26 bytes
 
-_UnnamedText_7b59: ; 0x8a0a9
+_UnnamedText_7b59: ; 8a0a9 (22:60a9)
 	db $0, "You can't carry", $4f
 	db "any more items.", $58
 ; 0x8a0a9 + 32 bytes
 
-_UnnamedText_7b5e: ; 0x8a0c9
+_UnnamedText_7b5e: ; 8a0c9 (22:60c9)
 	db $0, "What do you want", $4f
 	db "to toss away?", $57
 ; 0x8a0c9 + 32 bytes
 
-_UnnamedText_7b63: ; 0x8a0e9
+_UnnamedText_7b63: ; 8a0e9 (22:60e9)
 	db $0, "How many?", $57
 ; 0x8a0e9 + 11 bytes
 
-_UnnamedText_76683: ; 0x8a0f4
+_UnnamedText_76683: ; 8a0f4 (22:60f4)
 	db $0, "Accessed #MON", $4f
 	db "LEAGUE's site.", $51
 	db "Accessed the HALL", $4f
@@ -116111,20 +117336,20 @@
 	db "OF FAME List.", $58
 ; 0x8a0f4 + 61 bytes
 
-_UnnamedText_217e9: ; 0x8a131
+_UnnamedText_217e9: ; 8a131 (22:6131)
 	db $0, "Switch on!", $58
 ; 0x8a131 + 12 bytes
 
-_UnnamedText_217ee: ; 0x8a13d
+_UnnamedText_217ee: ; 8a13d (22:613d)
 	db $0, "What?", $57
 ; 0x8a13d + 7 bytes
 
-_UnnamedText_217f3: ; 0x8a144
+_UnnamedText_217f3: ; 8a144 (22:6144)
 	db $0, "Deposit which", $4f
 	db "#MON?", $57
 ; 0x8a144 + 21 bytes
 
-_UnnamedText_217f8: ; 0x8a159
+_UnnamedText_217f8: ; 8a159 (22:6159)
 	TX_RAM $cf4b
 	db $0, " was", $4f
 	db "stored in Box @"
@@ -116132,33 +117357,33 @@
 	db $0, ".", $58
 ; 30 bytes
 
-_UnnamedText_217fd: ; 0x8a177
+_UnnamedText_217fd: ; 8a177 (22:6177)
 	db $0, "You can't deposit", $4f
 	db "the last #MON!", $58
 ; 0x8a177 + 33 bytes
 
-_UnnamedText_21802: ; 0x8a198
+_UnnamedText_21802: ; 8a198 (22:6198)
 	db $0, "Oops! This Box is", $4f
 	db "full of #MON.", $58
 ; 0x8a198 + 33 bytes
 
-_UnnamedText_21807: ; 0x8a1b9
+_UnnamedText_21807: ; 8a1b9 (22:61b9)
 	TX_RAM $cf4b
 	db $0, " is", $4f
 	db "taken out.", $55
 	db "Got @"
 ; 0x8a1b9 + 24 bytes
-UnknownText_8a1d1: ; 0x8a1d1
+UnknownText_8a1d1: ; 8a1d1 (22:61d1)
 	TX_RAM $cf4b
 	db $0, ".", $58
 ; 0x8a1d1 + 6 bytes
 
-_UnnamedText_2180c: ; 0x8a1d7
+_UnnamedText_2180c: ; 8a1d7 (22:61d7)
 	db $0, "What? There are", $4f
 	db "no #MON here!", $58
 ; 0x8a1d7 + 31 bytes
 
-_UnnamedText_21811: ; 0x8a1f6
+_UnnamedText_21811: ; 8a1f6 (22:61f6)
 	db $0, "You can't take", $4f
 	db "any more #MON.", $51
 	db "Deposit #MON", $4f
@@ -116165,23 +117390,23 @@
 	db "first.", $58
 ; 0x8a1f6 + 50 bytes
 
-_UnnamedText_21816: ; 0x8a228
+_UnnamedText_21816: ; 8a228 (22:6228)
 	db $0, "Release which", $4f
 	db "#MON?", $57
 ; 0x8a228 + 21 bytes
 
-_UnnamedText_2181b: ; 0x8a23d
+_UnnamedText_2181b: ; 8a23d (22:623d)
 	db $0, "Once released,", $4f
 	db "@"
 ; 0x8a23d + 17 bytes
 
-UnknownText_8a24e: ; 0x8a24e
+UnknownText_8a24e: ; 8a24e (22:624e)
 	TX_RAM $cf4b
 	db $0, " is", $55
 	db "gone forever. OK?", $57
 ; 0x8a24e + 26 bytes
 
-_UnnamedText_21820: ; 0x8a268
+_UnnamedText_21820: ; 8a268 (22:6268)
 	TX_RAM $cf4b
 	db $0, " was", $4f
 	db "released outside.", $55
@@ -116188,26 +117413,26 @@
 	db "Bye @"
 ; 0x8a268 + 32 bytes
 
-_UnnamedText_8a288: ; 0x8a288
+_UnnamedText_8a288: ; 8a288 (22:6288)
 	TX_RAM $cf4b
 	db $0, "!", $58
 
-_RequireCoinCaseText: ; 22:628E
+_RequireCoinCaseText: ; 8a28e (22:628e)
 	db 0,"A COIN CASE is",$4F
 	db "required!@@"
 
-_ExchangeCoinsForPrizesText: ; 22:62A9
+_ExchangeCoinsForPrizesText: ; 8a2a9 (22:62a9)
 	db 0,"We exchange your",$4F
 	db "coins for prizes.",$58
 
-_WhichPrizeText: ; 22:62CD
+_WhichPrizeText: ; 8a2cd (22:62cd)
 	db 0,"Which prize do",$4F
 	db "you want?",$57
 
-_HereYouGoText: ; 22:62E7
+_HereYouGoText: ; 8a2e7 (22:62e7)
 	db 0,"Here you go!@@"
 
-_SoYouWantPrizeText: ; 22:62F6
+_SoYouWantPrizeText: ; 8a2f6 (22:62f6)
 	db 0,"So, you want",$4F
 	db "@"
 	db 1
@@ -116214,29 +117439,29 @@
 	dw $CD6D
 	db 0,"?",$57
 
-_SorryNeedMoreCoins: ; 22:630B
+_SorryNeedMoreCoins: ; 8a30b (22:630b)
 	db 0,"Sorry, you need",$4F
 	db "more coins.@@"
 
-_OopsYouDontHaveEnoughRoomText: ; 22:6329
+_OopsYouDontHaveEnoughRoomText: ; 8a329 (22:6329)
 	db 0,"Oops! You don't",$4F
 	db "have enough room.@@"
 
-_OhFineThenText: ; 22:634C
+_OhFineThenText: ; 8a34c (22:634c)
 	db 0,"Oh, fine then.@@"
 ;635d
 
-_UnnamedText_1e93b: ; 0x8a35d
+_UnnamedText_1e93b: ; 8a35d (22:635d)
 	db $0, "Want to get your", $4f
 	db "#DEX rated?", $57
 ; 0x8a35d + 30 bytes
 
-UnknownText_8a37b: ; 0x8a37b
+UnknownText_8a37b: ; 8a37b (22:637b)
 	db $0, "Closed link to", $4f
 	db "PROF.OAK's PC.@@"
 ; 0x8a37b + 31 bytes
 
-_UnnamedText_1e946: ; 0x8a39a
+_UnnamedText_1e946: ; 8a39a (22:639a)
 	db $0, "Accessed PROF.", $4f
 	db "OAK's PC.", $51
 	db "Accessed #DEX", $4f
@@ -116243,17 +117468,17 @@
 	db "Rating System.", $58
 ; 0x8a39a + 54 bytes
 
-_UnnamedText_5d43: ; 0x8a3d0
+_UnnamedText_5d43: ; 8a3d0 (22:63d0)
 	db $0, "Where would you", $4f
 	db "like to go?", $57
 ; 0x8a3d0 + 29 bytes
 
-_UnnamedText_5d48: ; 0x8a3ed
+_UnnamedText_5d48: ; 8a3ed (22:63ed)
 	db $0, "OK, please wait", $4f
 	db "just a moment.", $57
 ; 0x8a3ed + 32 bytes
 
-_UnnamedText_5d4d: ; 0x8a40d
+_UnnamedText_5d4d: ; 8a40d (22:640d)
 	db $0, "The link was", $4f
 	db "canceled.", $57
 ; 0x8a40d + 24 bytes
@@ -116260,48 +117485,48 @@
 
 INCLUDE "text/oakspeech.tx"
 
-_UnnamedText_6557: ; 0x8a605
+_UnnamedText_6557: ; 8a605 (22:6605)
 	db $0, "Do you want to", $4f
 	db "give a nickname", $55
 	db "to @"
 ; 0x8a605 + 36 bytes
 
-UnknownText_8a629: ; 0x8a629
+UnknownText_8a629: ; 8a629 (22:6629)
 	TX_RAM $cd6d
 	db $0, "?", $57
 ; 0x8a629 + 6 bytes
 
-_UnnamedText_699f: ; 0x8a62f
+_UnnamedText_699f: ; 8a62f (22:662f)
 	db $0, "Right! So your", $4f
 	db "name is ", $52, "!", $58
 ; 0x8a62f + 27 bytes
 
-_UnnamedText_69e7: ; 0x8a64a
+_UnnamedText_69e7: ; 8a64a (22:664a)
 	db $0, "That's right! I", $4f
 	db "remember now! His", $55
 	db "name is ", $53, "!", $58
 ; 0x8a64a + 45 bytes
 
-_SSAnne8AfterBattleText2: ; 0x8a677
+_SSAnne8AfterBattleText2: ; 8a677 (22:6677)
 	TX_RAM $cd3f
 	db $0, " and", $4f
 	db "@"
 ; 0x8a677 + 10 bytes
 
-UnknownText_8a681: ; 0x8a681
+UnknownText_8a681: ; 8a681 (22:6681)
 	TX_RAM $cd6d
 	db $0, " will", $55
 	db "be traded.", $57
 ; 0x8a681 + 21 bytes
 
-_Char00Text:
+_Char00Text: ; 8a696 (22:6696)
 	TX_NUM $FF8C,1,2
 	db 0," ERROR.",$57
 
-_Char55Text:
+_Char55Text: ; 8a6a3 (22:66a3)
 	db 0,$4B,"@@"
 
-_DiglettsCaveRoute2Text1: ; 0x8a6a7
+_DiglettsCaveRoute2Text1: ; 8a6a7 (22:66a7)
 	db $0, "I went to ROCK", $4f
 	db "TUNNEL, but it's", $55
 	db "dark and scary.", $51
@@ -116309,7 +117534,7 @@
 	db "FLASH could light", $55
 	db "it up...", $57
 
-_ViridianForestexitText1: ; 0x8a6fd
+_ViridianForestexitText1: ; 8a6fd (22:66fd)
 	db $0, "Many #MON live", $4f
 	db "only in forests ", $55
 	db "and caves.", $51
@@ -116317,7 +117542,7 @@
 	db "everywhere to get", $55
 	db "different kinds!", $57
 
-_ViridianForestexitText2: ; 0x8a75d
+_ViridianForestexitText2: ; 8a75d (22:675d)
 	db $0, "Have you noticed", $4f
 	db "the bushes on the", $55
 	db "roadside?", $51
@@ -116325,43 +117550,43 @@
 	db "down by a special", $55
 	db "#MON move.", $57
 
-_Route2HouseText1: ; 0x8a7b8
+_Route2HouseText1: ; 8a7b8 (22:67b8)
 	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
+_UnnamedText_5d616: ; 8a7fc (22:67fc)
 	db $0, "The HM FLASH", $4f
 	db "lights even the", $55
 	db "darkest dungeons.", $57
 ; 0x8a7fc + 48 bytes
 
-_Route2GateText2: ; 0x8a82c
+_Route2GateText2: ; 8a82c (22:682c)
 	db $0, "Once a #MON", $4f
 	db "learns FLASH, you", $55
 	db "can get through", $55
 	db "ROCK TUNNEL.", $57
 
-_ViridianForestEntranceText1: ; 0x8a868
+_ViridianForestEntranceText1: ; 8a868 (22:6868)
 	db $0, "Are you going to", $4f
 	db "VIRIDIAN FOREST?", $55
 	db "Be careful, it's", $55
 	db "a natural maze!", $57
 
-_ViridianForestEntranceText2: ; 0x8a8ab
+_ViridianForestEntranceText2: ; 8a8ab (22:68ab)
 	db $0, "RATTATA may be", $4f
 	db "small, but its", $55
 	db "bite is wicked!", $55
 	db "Did you get one?", $57
 
-_MtMoonPokecenterText1: ; 0x8a8eb
+_MtMoonPokecenterText1: ; 8a8eb (22:68eb)
 	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
+_MtMoonPokecenterText3: ; 8a929 (22:6929)
 	db $0, "TEAM ROCKET", $4f
 	db "attacks CERULEAN", $55
 	db "citizens...", $51
@@ -116369,7 +117594,7 @@
 	db "always in the", $55
 	db "news!", $57
 
-_UnnamedText_4935c: ; 0x8a976
+_UnnamedText_4935c: ; 8a976 (22:6976)
 	db $0, "MAN: Hello, there!", $4f
 	db "Have I got a deal", $55
 	db "just for you!", $51
@@ -116379,26 +117604,26 @@
 	db "What do you say?", $57
 ; 0x8a976 + 118 bytes
 
-_UnnamedText_49361: ; 0x8a9ec
+_UnnamedText_49361: ; 8a9ec (22:69ec)
 	db $0, "No? I'm only", $4f
 	db "doing this as a", $55
 	db "favor to you!", $57
 ; 0x8a9ec + 43 bytes
 
-_UnnamedText_49366: ; 0x8aa17
+_UnnamedText_49366: ; 8aa17 (22:6a17)
 	db $0, "You'll need more", $4f
 	db "money than that!", $57
 ; 0x8aa17 + 34 bytes
 
-_UnnamedText_4936b: ; 0x8aa39
+_UnnamedText_4936b: ; 8aa39 (22:6a39)
 	db $0, "MAN: Well, I don't", $4f
 	db "give refunds!", $57
 ; 0x8aa39 + 33 bytes
 
-_MtMoonPokecenterText5: ; 0x8aa5a
+_MtMoonPokecenterText5: ; 8aa5a (22:6a5a)
 	db $0, $57
 
-_UnnamedText_1dfe7: ; 0x8aa5c
+_UnnamedText_1dfe7: ; 8aa5c (22:6a5c)
 	db $0, "I'm on guard duty.", $4f
 	db "Gee, I'm thirsty,", $55
 	db "though!", $51
@@ -116406,7 +117631,7 @@
 	db "the road's closed.", $57
 ; 0x8aa5c + 77 bytes
 
-_UnnamedText_8aaa9: ; 0x8aaa9
+_UnnamedText_8aaa9: ; 8aaa9 (22:6aa9)
 	db $0, "Whoa, boy!", $4f
 	db "I'm parched!", $55
 	db "...", $55
@@ -116415,7 +117640,7 @@
 	db "Gee, thanks!@@"
 ; 0x8aaa9 + 70 bytes
 
-_UnnamedText_1dff1: ; 0x8aaef
+_UnnamedText_1dff1: ; 8aaef (22:6aef)
 	db $0, $51
 	db "...", $4f
 	db "Glug glug...", $55
@@ -116430,12 +117655,12 @@
 	db "the other guards!", $57
 ; 0x8aaef + 133 bytes
 
-_UnnamedText_1dff6: ; 0x8ab74
+_UnnamedText_1dff6: ; 8ab74 (22:6b74)
 	db $0, "Hi, thanks for", $4f
 	db "the cool drinks!", $57
 ; 0x8ab74 + 33 bytes
 
-_UnnamedText_5640f: ; 0x8ab95
+_UnnamedText_5640f: ; 8ab95 (22:6b95)
 	db $0, "I run a DAYCARE.", $4f
 	db "Would you like me", $55
 	db "to raise one of", $55
@@ -116442,32 +117667,32 @@
 	db "your #MON?", $57
 ; 0x8ab95 + 63 bytes
 
-_UnnamedText_56414: ; 0x8abd4
+_UnnamedText_56414: ; 8abd4 (22:6bd4)
 	db $0, "Which #MON", $4f
 	db "should I raise?", $58
 ; 0x8abd4 + 28 bytes
 
-_UnnamedText_56419: ; 0x8abf0
+_UnnamedText_56419: ; 8abf0 (22:6bf0)
 	db $0, "Fine, I'll look", $4f
 	db "after @"
 ; 0x8abf0 + 23 bytes
 
-UnknownText_8ac07: ; 0x8ac07
+UnknownText_8ac07: ; 8ac07 (22:6c07)
 	TX_RAM $cd6d
 	db $0, $55
 	db "for a while.", $58
 ; 0x8ac07 + 18 bytes
 
-_UnnamedText_5641e: ; 0x8ac19
+_UnnamedText_5641e: ; 8ac19 (22:6c19)
 	db $0, "Come see me in", $4f
 	db "a while.", $57
 ; 0x8ac19 + 25 bytes
 
-_UnnamedText_56423: ; 0x8ac32
+_UnnamedText_56423: ; 8ac32 (22:6c32)
 	db $0, "Your @"
 ; 0x8ac32 + 7 bytes
 
-UnknownText_8ac39: ; 0x8ac39
+UnknownText_8ac39: ; 8ac39 (22:6c39)
 	TX_RAM $cd6d
 	db $0, $4f
 	db "has grown a lot!", $51
@@ -116475,13 +117700,13 @@
 	db "grown by @"
 ; 0x8ac39 + 46 bytes
 
-UnknownText_8ac67: ; 0x8ac67
+UnknownText_8ac67: ; 8ac67 (22:6c67)
 	TX_NUM $cd3e,$1,$3
 	db $0, "!", $51
 	db "Aren't I great?", $58
 ; 0x8ac67 + 22 bytes
 
-_UnnamedText_56428: ; 0x8ac7d
+_UnnamedText_56428: ; 8ac7d (22:6c7d)
 	db $0, "You owe me ¥@"
 ; 0x8ac7d + 14 bytes
 
@@ -116489,28 +117714,28 @@
 ; 0x8ac8b
 db $2, $3f, $cd, $c2
 
-UnknownText_8ac8f: ; 0x8ac8f
+UnknownText_8ac8f: ; 8ac8f (22:6c8f)
 	db $0, $4f
 	db "for the return", $55
 	db "of this #MON.", $57
 ; 0x8ac8f + 31 bytes
 
-_UnnamedText_5642d: ; 0x8acae
+_UnnamedText_5642d: ; 8acae (22:6cae)
 	db $0, $52, " got", $4f
 	db "@"
 ; 0x8acae + 8 bytes
 
-UnknownText_8acb6: ; 0x8acb6
+UnknownText_8acb6: ; 8acb6 (22:6cb6)
 	TX_RAM $da49
 	db $0, " back!", $57
 ; 0x8acb6 + 11 bytes
 
-_UnnamedText_56432: ; 0x8acc1
+_UnnamedText_56432: ; 8acc1 (22:6cc1)
 	db $0, "Back already?", $4f
 	db "Your @"
 ; 0x8acc1 + 21 bytes
 
-UnknownText_8acd6: ; 0x8acd6
+UnknownText_8acd6: ; 8acd6 (22:6cd6)
 	TX_RAM $cd6d
 	db $0, $55
 	db "needs some more", $55
@@ -116519,52 +117744,52 @@
 
 SECTION "bank23",DATA,BANK[$23]
 
-_UnnamedText_56437: ; 0x8c000
+_UnnamedText_56437: ; 8c000 (23:4000)
 	db $0, "All right then,", $4f
 	db "@@"
 ; 0x8c000 + 19 bytes
 
-_UnnamedText_5643b: ; 0x8c013
+_UnnamedText_5643b: ; 8c013 (23:4013)
 	db $0, "come again.", $57
 ; 0x8c013 + 13 bytes
 
-_UnnamedText_56440: ; 0x8c020
+_UnnamedText_56440: ; 8c020 (23:4020)
 	db $0, "You have no room", $4f
 	db "for this #MON!", $57
 ; 0x8c020 + 33 bytes
 
-_UnnamedText_56445: ; 0x8c041
+_UnnamedText_56445: ; 8c041 (23:4041)
 	db $0, "You only have one", $4f
 	db "#MON with you.", $57
 ; 0x8c041 + 34 bytes
 
-_UnnamedText_5644a: ; 0x8c063
+_UnnamedText_5644a: ; 8c063 (23:4063)
 	db $0, "I can't accept a", $4f
 	db "#MON that", $55
 	db "knows an HM move.", $57
 ; 0x8c063 + 45 bytes
 
-_UnnamedText_5644f: ; 0x8c090
+_UnnamedText_5644f: ; 8c090 (23:4090)
 	db $0, "Thank you! Here's", $4f
 	db "your #MON!", $58
 ; 0x8c090 + 29 bytes
 
-_UnnamedText_56454: ; 0x8c0ad
+_UnnamedText_56454: ; 8c0ad (23:40ad)
 	db $0, "Hey, you don't", $4f
 	db "have enough ¥!", $57
 ; 0x8c0ad + 30 bytes
 
-_UndergroundTunnelEntranceRoute6Text1: ; 0x8c0cb
+_UndergroundTunnelEntranceRoute6Text1: ; 8c0cb (23:40cb)
 	db $0, "People often lose", $4f
 	db "things in that", $55
 	db "UNDERGROUND PATH.", $57
 
-_UndergroundPathEntranceRoute7Text1: ; 0x8c0ff
+_UndergroundPathEntranceRoute7Text1: ; 8c0ff (23:40ff)
 	db $0, "I heard a sleepy", $4f
 	db "#MON appeared", $55
 	db "near CELADON CITY.", $57
 
-_UnnamedText_5d773: ; 0x8c132
+_UnnamedText_5d773: ; 8c132 (23:4132)
 	db $0, "I want to shop at", $4f
 	db "the dept. store", $55
 	db "in CELADON but...", $51
@@ -116573,13 +117798,13 @@
 	db "people there.", $57
 ; 0x8c132 + 99 bytes
 
-_UnnamedText_5d778: ; 0x8c195
+_UnnamedText_5d778: ; 8c195 (23:4195)
 	db $0, "TEAM ROCKET had a", $4f
 	db "secret hideout in", $55
 	db "CELADON CITY?", $57
 ; 0x8c195 + 51 bytes
 
-_UnnamedText_5d77d: ; 0x8c1c8
+_UnnamedText_5d77d: ; 8c1c8 (23:41c8)
 	db $0, "You're here to", $4f
 	db "shop in CELADON?", $51
 	db "Just step outside", $4f
@@ -116586,7 +117811,7 @@
 	db "and head west!", $57
 ; 0x8c1c8 + 65 bytes
 
-_UnnamedText_5d782: ; 0x8c209
+_UnnamedText_5d782: ; 8c209 (23:4209)
 	db $0, "The UNDERGROUND", $4f
 	db "PATH goes beneath", $55
 	db "SAFFRON and leads", $55
@@ -116597,12 +117822,12 @@
 	db "across the road.", $57
 ; 0x8c209 + 132 bytes
 
-_UndergroundPathEntranceRoute8Text1: ; 0x8c28d
+_UndergroundPathEntranceRoute8Text1: ; 8c28d (23:428d)
 	db $0, "The dept. store", $4f
 	db "in CELADON has a", $55
 	db "great selection!", $57
 
-_RockTunnelPokecenterText1: ; 0x8c2c0
+_RockTunnelPokecenterText1: ; 8c2c0 (23:42c0)
 	db $0, "The element types", $4f
 	db "of #MON make", $55
 	db "them stronger", $55
@@ -116610,38 +117835,38 @@
 	db "and weaker than", $55
 	db "others!", $57
 
-_RockTunnelPokecenterText3: ; 0x8c316
+_RockTunnelPokecenterText3: ; 8c316 (23:4316)
 	db $0, "I sold a useless", $4f
 	db "NUGGET for ¥5000!", $57
 
-_UnnamedText_44588: ; 0x8c33a
+_UnnamedText_44588: ; 8c33a (23:433a)
 	db $0, "This tunnel goes", $4f
 	db "a long way, kid!", $57
 ; 0x8c33a + 35 bytes
 
-_UnnamedText_4458d: ; 0x8c35d
+_UnnamedText_4458d: ; 8c35d (23:435d)
 	db $0, "Doh!", $4f
 	db "You win!", $58
 ; 0x8c35d + 15 bytes
 
-_UnnamedText_44592: ; 0x8c36c
+_UnnamedText_44592: ; 8c36c (23:436c)
 	db $0, "Watch for ONIX!", $4f
 	db "It can put the", $55
 	db "squeeze on you!", $57
 ; 0x8c36c + 48 bytes
 
-_UnnamedText_44597: ; 0x8c39c
+_UnnamedText_44597: ; 8c39c (23:439c)
 	db $0, "Hmm. Maybe I'm", $4f
 	db "lost in here...", $57
 ; 0x8c39c + 31 bytes
 
-_UnnamedText_4459c: ; 0x8c3bb
+_UnnamedText_4459c: ; 8c3bb (23:43bb)
 	db $0, "Ease up!", $4f
 	db "What am I doing?", $55
 	db "Which way is out?", $58
 ; 0x8c3bb + 45 bytes
 
-_UnnamedText_445a1: ; 0x8c3e8
+_UnnamedText_445a1: ; 8c3e8 (23:43e8)
 	db $0, "That sleeping", $4f
 	db "#MON on ROUTE", $55
 	db "12 forced me to", $55
@@ -116648,96 +117873,96 @@
 	db "take this detour.", $57
 ; 0x8c3e8 + 63 bytes
 
-_UnnamedText_445a6: ; 0x8c427
+_UnnamedText_445a6: ; 8c427 (23:4427)
 	db $0, "Outsiders like", $4f
 	db "you need to show", $55
 	db "me some respect!", $57
 ; 0x8c427 + 50 bytes
 
-_UnnamedText_445ab: ; 0x8c459
+_UnnamedText_445ab: ; 8c459 (23:4459)
 	db $0, "I give!", $58
 ; 0x8c459 + 9 bytes
 
-_UnnamedText_445b0: ; 0x8c462
+_UnnamedText_445b0: ; 8c462 (23:4462)
 	db $0, "You're talented", $4f
 	db "enough to hike!", $57
 ; 0x8c462 + 32 bytes
 
-_UnnamedText_445b5: ; 0x8c482
+_UnnamedText_445b5: ; 8c482 (23:4482)
 	db $0, "#MON fight!", $4f
 	db "Ready, go!", $57
 ; 0x8c482 + 24 bytes
 
-_UnnamedText_445ba: ; 0x8c49a
+_UnnamedText_445ba: ; 8c49a (23:449a)
 	db $0, "Game", $4f
 	db "over!", $58
 ; 0x8c49a + 12 bytes
 
-_UnnamedText_445bf: ; 0x8c4a6
+_UnnamedText_445bf: ; 8c4a6 (23:44a6)
 	db $0, "Oh well, I'll get", $4f
 	db "a ZUBAT as I go!", $57
 ; 0x8c4a6 + 35 bytes
 
-_UnnamedText_445c4: ; 0x8c4c9
+_UnnamedText_445c4: ; 8c4c9 (23:44c9)
 	db $0, "Eek! Don't try", $4f
 	db "anything funny in", $55
 	db "the dark!", $57
 ; 0x8c4c9 + 43 bytes
 
-_UnnamedText_445c9: ; 0x8c4f4
+_UnnamedText_445c9: ; 8c4f4 (23:44f4)
 	db $0, "It", $4f
 	db "was too dark!", $58
 ; 0x8c4f4 + 18 bytes
 
-_UnnamedText_445ce: ; 0x8c506
+_UnnamedText_445ce: ; 8c506 (23:4506)
 	db $0, "I saw a MACHOP", $4f
 	db "in this tunnel!", $57
 ; 0x8c506 + 32 bytes
 
-_UnnamedText_445d3: ; 0x8c526
+_UnnamedText_445d3: ; 8c526 (23:4526)
 	db $0, "I came this far", $4f
 	db "for #MON!", $57
 ; 0x8c526 + 27 bytes
 
-_UnnamedText_445d8: ; 0x8c541
+_UnnamedText_445d8: ; 8c541 (23:4541)
 	db $0, "I'm", $4f
 	db "out of #MON!", $58
 ; 0x8c541 + 17 bytes
 
-_UnnamedText_445dd: ; 0x8c552
+_UnnamedText_445dd: ; 8c552 (23:4552)
 	db $0, "You looked cute", $4f
 	db "and harmless!", $57
 ; 0x8c552 + 31 bytes
 
-_UnnamedText_445e2: ; 0x8c571
+_UnnamedText_445e2: ; 8c571 (23:4571)
 	db $0, "You have #MON!", $4f
 	db "Let's start!", $57
 ; 0x8c571 + 28 bytes
 
-_UnnamedText_445e7: ; 0x8c58d
+_UnnamedText_445e7: ; 8c58d (23:458d)
 	db $0, "You", $4f
 	db "play hard!", $58
 ; 0x8c58d + 16 bytes
 
-_UnnamedText_445ec: ; 0x8c59d
+_UnnamedText_445ec: ; 8c59d (23:459d)
 	db $0, "Whew! I'm all", $4f
 	db "sweaty now!", $57
 ; 0x8c59d + 26 bytes
 
-_RockTunnel1Text8: ; 0x8c5b7
+_RockTunnel1Text8: ; 8c5b7 (23:45b7)
 	db $0, "ROCK TUNNEL", $4f
 	db "CERULEAN CITY -", $55
 	db "LAVENDER TOWN", $57
 
-_VoltorbBattleText: ; 0x8c5e2
+_VoltorbBattleText: ; 8c5e2 (23:45e2)
 	db $0, "Bzzzt!", $57
 ; 0x8c5e2 + 8 bytes
 
-_ZapdosBattleText: ; 0x8c5ea
+_ZapdosBattleText: ; 8c5ea (23:45ea)
 	db $0, "Gyaoo!@@"
 ; 0x8c5ea + 9 bytes
 
-_Route11GateText1: ; 0x8c5f3
+_Route11GateText1: ; 8c5f3 (23:45f3)
 	db $0, "When you catch", $4f
 	db "lots of #MON,", $55
 	db "isn't it hard to", $55
@@ -116749,7 +117974,7 @@
 	db "He'll help you", $4f
 	db "rename them too!", $57
 
-_UnnamedText_494a3: ; 0x8c689
+_UnnamedText_494a3: ; 8c689 (23:4689)
 	db $0, "There are items on", $4f
 	db "the ground that", $55
 	db "can't be seen.", $51
@@ -116761,7 +117986,7 @@
 	db "to look yourself!", $57
 ; 0x8c689 + 146 bytes
 
-_UnnamedText_494c4: ; 0x8c71b
+_UnnamedText_494c4: ; 8c71b (23:471b)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "A big #MON is", $4f
@@ -116768,7 +117993,7 @@
 	db "asleep on a road!", $57
 ; 0x8c71b + 61 bytes
 
-_UnnamedText_494c9: ; 0x8c758
+_UnnamedText_494c9: ; 8c758 (23:4758)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "It's a beautiful", $4f
@@ -116775,7 +118000,7 @@
 	db "view!", $57
 ; 0x8c758 + 51 bytes
 
-_UnnamedText_494d5: ; 0x8c78b
+_UnnamedText_494d5: ; 8c78b (23:478b)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "The only way to", $4f
@@ -116785,7 +118010,7 @@
 	db "ROCK TUNNEL.", $57
 ; 0x8c78b + 110 bytes
 
-_DiglettsCaveEntranceRoute11Text1: ; 0x8c7f9
+_DiglettsCaveEntranceRoute11Text1: ; 8c7f9 (23:47f9)
 	db $0, "What a surprise!", $4f
 	db "DIGLETTs dug this", $55
 	db "long tunnel!", $51
@@ -116792,11 +118017,11 @@
 	db "It goes right to", $4f
 	db "VIRIDIAN CITY!", $57
 
-_Route12GateText1: ; 0x8c84a
+_Route12GateText1: ; 8c84a (23:484a)
 	db $0, "There's a lookout", $4f
 	db "spot upstairs.", $57
 
-_TM39PreReceiveText: ; 0x8c86b
+_TM39PreReceiveText: ; 8c86b (23:486b)
 	db $0, "My #MON's", $4f
 	db "ashes are stored", $55
 	db "in #MON TOWER.", $51
@@ -116805,12 +118030,12 @@
 	db "it any more...", $58
 ; 0x8c86b + 91 bytes
 
-_ReceivedTM39Text: ; 0x8c8c6
+_ReceivedTM39Text: ; 8c8c6 (23:48c6)
 	db $0, $52, " received", $4f
 	db "TM39!@@"
 ; 0x8c8c6 + 19 bytes
 
-_TM39ExplanationText: ; 0x8c8d9
+_TM39ExplanationText: ; 8c8d9 (23:48d9)
 	db $0, "TM39 is a move", $4f
 	db "called SWIFT.", $51
 	db "It's very accurate,", $4f
@@ -116819,24 +118044,24 @@
 	db "afford to lose.", $57
 ; 0x8c8d9 + 99 bytes
 
-_TM39NoRoomText: ; 0x8c93c
+_TM39NoRoomText: ; 8c93c (23:493c)
 	db $0, "You don't have", $4f
 	db "room for this.", $57
 ; 0x8c93c + 30 bytes
 
-_UnnamedText_495b8: ; 0x8c95a
+_UnnamedText_495b8: ; 8c95a (23:495a)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "A man fishing!", $57
 ; 0x8c95a + 44 bytes
 
-_UnnamedText_495c4: ; 0x8c986
+_UnnamedText_495c4: ; 8c986 (23:4986)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "It's #MON TOWER!", $57
 ; 0x8c986 + 45 bytes
 
-_UnnamedText_564c0: ; 0x8c9b3
+_UnnamedText_564c0: ; 8c9b3 (23:49b3)
 	db $0, "I'm the FISHING", $4f
 	db "GURU's brother!", $51
 	db "I simply Looove", $4f
@@ -116845,7 +118070,7 @@
 	db "fish?", $57
 ; 0x8c9b3 + 77 bytes
 
-_UnnamedText_564c5: ; 0x8ca00
+_UnnamedText_564c5: ; 8ca00 (23:4a00)
 	db $0, "Grand! I like", $4f
 	db "your style!", $51
 	db "Take this and", $4f
@@ -116854,12 +118079,12 @@
 	db "a @"
 ; 0x8ca00 + 72 bytes
 
-UnknownText_8ca48: ; 0x8ca48
+UnknownText_8ca48: ; 8ca48 (23:4a48)
 	TX_RAM $cf4b
 	db $0, "!@@"
 ; 0x8ca48 + 7 bytes
 
-_UnnamedText_564ca: ; 0x8ca4f
+_UnnamedText_564ca: ; 8ca4f (23:4a4f)
 	db $0, $51
 	db "Fishing is a way", $4f
 	db "of life!", $51
@@ -116869,12 +118094,12 @@
 	db "one!", $57
 ; 0x8ca4f + 82 bytes
 
-_UnnamedText_564cf: ; 0x8caa1
+_UnnamedText_564cf: ; 8caa1 (23:4aa1)
 	db $0, "Oh... That's so", $4f
 	db "disappointing...", $57
 ; 0x8caa1 + 33 bytes
 
-_UnnamedText_564d4: ; 0x8cac2
+_UnnamedText_564d4: ; 8cac2 (23:4ac2)
 	db $0, "Hello there,", $4f
 	db $52, "!", $51
 	db "Use the SUPER ROD", $4f
@@ -116886,7 +118111,7 @@
 	db "wherever you can!", $57
 ; 0x8cac2 + 118 bytes
 
-_UnnamedText_564d9: ; 0x8cb38
+_UnnamedText_564d9: ; 8cb38 (23:4b38)
 	db $0, "Oh no!", $51
 	db "I had a gift for", $4f
 	db "you, but you have", $55
@@ -116893,13 +118118,13 @@
 	db "no room for it!", $57
 ; 0x8cb38 + 59 bytes
 
-_Route15GateText1: ; 0x8cb73
+_Route15GateText1: ; 8cb73 (23:4b73)
 	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
+_UnnamedText_4968c: ; 8cbac (23:4bac)
 	db $0, "EXP.ALL gives", $4f
 	db "EXP points to all", $55
 	db "the #MON with", $55
@@ -116914,7 +118139,7 @@
 	db "store it via PC.", $57
 ; 0x8cbac + 185 bytes
 
-_UnnamedText_49698: ; 0x8cc65
+_UnnamedText_49698: ; 8cc65 (23:4c65)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "It looks like a", $4f
@@ -116921,13 +118146,13 @@
 	db "small island!", $57
 ; 0x8cc65 + 59 bytes
 
-_UnnamedText_49777: ; 0x8cca0
+_UnnamedText_49777: ; 8cca0 (23:4ca0)
 	db $0, "No pedestrians", $4f
 	db "are allowed on", $55
 	db "CYCLING ROAD!", $57
 ; 0x8cca0 + 45 bytes
 
-_UnnamedText_4977c: ; 0x8cccd
+_UnnamedText_4977c: ; 8cccd (23:4ccd)
 	db $0, "CYCLING ROAD is a", $4f
 	db "downhill course", $55
 	db "by the sea. It's", $55
@@ -116934,27 +118159,27 @@
 	db "a great ride.", $57
 ; 0x8cccd + 65 bytes
 
-_UnnamedText_49781: ; 0x8cd0e
+_UnnamedText_49781: ; 8cd0e (23:4d0e)
 	db $0, "Excuse me! Wait", $4f
 	db "up please!", $57
 ; 0x8cd0e + 28 bytes
 
-_Route16GateMapText2: ; 0x8cd2a
+_Route16GateMapText2: ; 8cd2a (23:4d2a)
 	db $0, "How'd you get in?", $4f
 	db "Good effort!", $57
 
-_UnnamedText_49820: ; 0x8cd49
+_UnnamedText_49820: ; 8cd49 (23:4d49)
 	db $0, "I'm going for a", $4f
 	db "ride with my girl", $55
 	db "friend!", $57
 ; 0x8cd49 + 42 bytes
 
-_UnnamedText_4982f: ; 0x8cd73
+_UnnamedText_4982f: ; 8cd73 (23:4d73)
 	db $0, "We're going", $4f
 	db "riding together!", $57
 ; 0x8cd73 + 29 bytes
 
-_UnnamedText_4983b: ; 0x8cd90
+_UnnamedText_4983b: ; 8cd90 (23:4d90)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "It's CELADON DEPT.", $4f
@@ -116961,7 +118186,7 @@
 	db "STORE!", $57
 ; 0x8cd90 + 54 bytes
 
-_UnnamedText_49847: ; 0x8cdc6
+_UnnamedText_49847: ; 8cdc6 (23:4dc6)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "There's a long", $4f
@@ -116968,7 +118193,7 @@
 	db "path over water!", $57
 ; 0x8cdc6 + 60 bytes
 
-_Route16HouseText3: ; 0x8ce02
+_Route16HouseText3: ; 8ce02 (23:4e02)
 	db $0, "Oh, you found my", $4f
 	db "secret retreat!", $51
 	db "Please don't tell", $4f
@@ -116977,12 +118202,12 @@
 	db "to you with this!", $58
 ; 0x8ce02 + 100 bytes
 
-_ReceivedHM02Text: ; 0x8ce66
+_ReceivedHM02Text: ; 8ce66 (23:4e66)
 	db $0, $52, " received", $4f
 	db "HM02!@@"
 ; 0x8ce66 + 19 bytes
 
-_HM02ExplanationText: ; 0x8ce79
+_HM02ExplanationText: ; 8ce79 (23:4e79)
 	db $0, "HM02 is FLY.", $4f
 	db "It will take you", $55
 	db "back to any town.", $51
@@ -116990,31 +118215,31 @@
 	db "use!", $57
 ; 0x8ce79 + 69 bytes
 
-_HM02NoRoomText: ; 0x8cebe
+_HM02NoRoomText: ; 8cebe (23:4ebe)
 	db $0, "You don't have any", $4f
 	db "room for this.", $57
 ; 0x8cebe + 34 bytes
 
-_UnnamedText_1e652: ; 0x8cee0
+_UnnamedText_1e652: ; 8cee0 (23:4ee0)
 	db $0, "FEAROW: Kyueen!", $57
 ; 0x8cee0 + 17 bytes
 
-_UnnamedText_49928: ; 0x8cef1
+_UnnamedText_49928: ; 8cef1 (23:4ef1)
 	db $0, "You need a BICYCLE", $4f
 	db "for CYCLING ROAD!", $57
 ; 0x8cef1 + 38 bytes
 
-_UnnamedText_4992d: ; 0x8cf17
+_UnnamedText_4992d: ; 8cf17 (23:4f17)
 	db $0, "CYCLING ROAD is", $4f
 	db "all uphill from", $55
 	db "here.", $57
 ; 0x8cf17 + 39 bytes
 
-_UnnamedText_49932: ; 0x8cf3e
+_UnnamedText_49932: ; 8cf3e (23:4f3e)
 	db $0, "Excuse me!", $57
 ; 0x8cf3e + 12 bytes
 
-_UnnamedText_49993: ; 0x8cf4a
+_UnnamedText_49993: ; 8cf4a (23:4f4a)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "PALLET TOWN is in", $4f
@@ -117021,7 +118246,7 @@
 	db "the west!", $57
 ; 0x8cf4a + 57 bytes
 
-_UnnamedText_4999f: ; 0x8cf83
+_UnnamedText_4999f: ; 8cf83 (23:4f83)
 	db $0, "Looked into the", $4f
 	db "binoculars.", $51
 	db "There are people", $4f
@@ -117028,7 +118253,7 @@
 	db "swimming!", $57
 ; 0x8cf83 + 56 bytes
 
-_UnnamedText_1e704: ; 0x8cfbb
+_UnnamedText_1e704: ; 8cfbb (23:4fbb)
 	db $0, "Only truly skilled", $4f
 	db "trainers are", $55
 	db "allowed through.", $51
@@ -117036,7 +118261,7 @@
 	db "BOULDERBADGE yet!@@"
 ; 0x8d012
 
-_UnnamedText_1e715: ; 0x8d012
+_UnnamedText_1e715: ; 8d012 (23:5012)
 	db $0, $51
 	db "The rules are", $4f
 	db "rules. I can't", $55
@@ -117043,65 +118268,65 @@
 	db "let you pass.", $57
 ; 0x8d012 + 44 bytes
 
-_UnnamedText_1e71a: ; 0x8d03e
+_UnnamedText_1e71a: ; 8d03e (23:503e)
 	db $0, "Oh! That is the", $4f
 	db "BOULDERBADGE!", $55
 	db "Go right ahead!@@"
 ; 0x8d03e + 48 bytes
 
-_VictoryRoad2BattleText6: ; 0x8d06e
+_VictoryRoad2BattleText6: ; 8d06e (23:506e)
 	db $0, "Gyaoo!@@"
 ; 0x8d06e + 9 bytes
 
-_VictoryRoad2BattleText1: ; 0x8d077
+_VictoryRoad2BattleText1: ; 8d077 (23:5077)
 	db $0, "VICTORY ROAD is", $4f
 	db "the final test", $55
 	db "for trainers!", $57
 ; 0x8d077 + 46 bytes
 
-_VictoryRoad2EndBattleText1: ; 0x8d0a5
+_VictoryRoad2EndBattleText1: ; 8d0a5 (23:50a5)
 	db $0, "Aiyah!", $58
 ; 0x8d0a5 + 8 bytes
 
-_VictoryRoad2AfterBattleText1: ; 0x8d0ad
+_VictoryRoad2AfterBattleText1: ; 8d0ad (23:50ad)
 	db $0, "If you get stuck,", $4f
 	db "try moving some", $55
 	db "boulders around!", $57
 ; 0x8d0ad + 52 bytes
 
-_VictoryRoad2BattleText2: ; 0x8d0e1
+_VictoryRoad2BattleText2: ; 8d0e1 (23:50e1)
 	db $0, "Ah, so you wish", $4f
 	db "to challenge the", $55
 	db "ELITE FOUR?", $57
 ; 0x8d0e1 + 46 bytes
 
-_VictoryRoad2EndBattleText2: ; 0x8d10f
+_VictoryRoad2EndBattleText2: ; 8d10f (23:510f)
 	db $0, "You", $4f
 	db "got me!", $58
 ; 0x8d10f + 13 bytes
 
-_VictoryRoad2AfterBattleText2: ; 0x8d11c
+_VictoryRoad2AfterBattleText2: ; 8d11c (23:511c)
 	db $0, $53, " also came", $4f
 	db "through here!", $57
 ; 0x8d11c + 27 bytes
 
-_VictoryRoad2BattleText3: ; 0x8d137
+_VictoryRoad2BattleText3: ; 8d137 (23:5137)
 	db $0, "Come on!", $4f
 	db "I'll whip you!", $57
 ; 0x8d137 + 24 bytes
 
-_VictoryRoad2EndBattleText3: ; 0x8d14f
+_VictoryRoad2EndBattleText3: ; 8d14f (23:514f)
 	db $0, "I got", $4f
 	db "whipped!", $58
 ; 0x8d14f + 16 bytes
 
-_VictoryRoad2AfterBattleText3: ; 0x8d15f
+_VictoryRoad2AfterBattleText3: ; 8d15f (23:515f)
 	db $0, "You earned the", $4f
 	db "right to be on", $55
 	db "VICTORY ROAD!", $57
 ; 0x8d15f + 45 bytes
 
-_VictoryRoad2BattleText4: ; 0x8d18c
+_VictoryRoad2BattleText4: ; 8d18c (23:518c)
 	db $0, "If you can get", $4f
 	db "through here, you", $55
 	db "can go meet the", $55
@@ -117108,12 +118333,12 @@
 	db "ELITE FOUR!", $57
 ; 0x8d18c + 62 bytes
 
-_VictoryRoad2EndBattleText4: ; 0x8d1ca
+_VictoryRoad2EndBattleText4: ; 8d1ca (23:51ca)
 	db $0, "No!", $4f
 	db "Unbelievable!", $58
 ; 0x8d1ca + 19 bytes
 
-_VictoryRoad2AfterBattleText4: ; 0x8d1dd
+_VictoryRoad2AfterBattleText4: ; 8d1dd (23:51dd)
 	db $0, "I can beat you", $4f
 	db "when it comes to", $55
 	db "knowledge about", $55
@@ -117120,23 +118345,23 @@
 	db "#MON!", $57
 ; 0x8d1dd + 55 bytes
 
-_VictoryRoad2BattleText5: ; 0x8d214
+_VictoryRoad2BattleText5: ; 8d214 (23:5214)
 	db $0, "Is VICTORY ROAD", $4f
 	db "too tough?", $57
 ; 0x8d214 + 28 bytes
 
-_VictoryRoad2EndBattleText5: ; 0x8d230
+_VictoryRoad2EndBattleText5: ; 8d230 (23:5230)
 	db $0, "Well", $4f
 	db "done!", $58
 ; 0x8d230 + 12 bytes
 
-_VictoryRoad2AfterBattleText5: ; 0x8d23c
+_VictoryRoad2AfterBattleText5: ; 8d23c (23:523c)
 	db $0, "Many trainers give", $4f
 	db "up the challenge", $55
 	db "here.", $57
 ; 0x8d23c + 43 bytes
 
-_UnnamedText_1e865: ; 0x8d267
+_UnnamedText_1e865: ; 8d267 (23:5267)
 	db $0, "Hiya! I'm a", $4f
 	db "#MON...", $55
 	db "...No I'm not!", $51
@@ -117154,7 +118379,7 @@
 	db "Help me out here!", $57
 ; 0x8d267 + 222 bytes
 
-_UnnamedText_1e86a: ; 0x8d345
+_UnnamedText_1e86a: ; 8d345 (23:5345)
 	db $0, "When I'm in the", $4f
 	db "TELEPORTER, go to", $55
 	db "my PC and run the", $55
@@ -117162,7 +118387,7 @@
 	db "System!", $57
 ; 0x8d345 + 76 bytes
 
-_UnnamedText_1e86f: ; 0x8d391
+_UnnamedText_1e86f: ; 8d391 (23:5391)
 	db $0, "No!? Come on, you", $4f
 	db "gotta help a guy", $55
 	db "in deep trouble!", $51
@@ -117171,7 +118396,7 @@
 	db "OK? All right!", $58
 ; 0x8d391 + 100 bytes
 
-_BillThankYouText: ; 0x8d3f5
+_BillThankYouText: ; 8d3f5 (23:53f5)
 	db $0, "BILL: Yeehah!", $4f
 	db "Thanks, bud! I", $55
 	db "owe you one!", $51
@@ -117185,7 +118410,7 @@
 	db "maybe this'll do.", $58
 ; 0x8d3f5 + 164 bytes
 
-_SSTicketReceivedText: ; 0x8d499
+_SSTicketReceivedText: ; 8d499 (23:5499)
 	db $0, $52, " received", $4f
 	db "an @"
 	TX_RAM $cf4b
@@ -117192,12 +118417,12 @@
 	db $0, "!@@"
 ; 0x8d4b0
 
-_SSTicketNoRoomText: ; 0x8d4b0
+_SSTicketNoRoomText: ; 8d4b0 (23:54b0)
 	db $0, "You've got too", $4f
 	db "much stuff, bud!", $57
 ; 0x8d4b0 + 32 bytes
 
-_UnnamedText_1e8cb: ; 0x8d4d0
+_UnnamedText_1e8cb: ; 8d4d0 (23:54d0)
 	db $0, "That cruise ship,", $4f
 	db "S.S.ANNE, is in", $55
 	db "VERMILION CITY.", $55
@@ -117211,7 +118436,7 @@
 	db "instead of me?", $57
 ; 0x8d4d0 + 175 bytes
 
-_UnnamedText_1e8da: ; 0x8d57f
+_UnnamedText_1e8da: ; 8d57f (23:557f)
 	db $0, "BILL: Look, bud,", $4f
 	db "just check out", $55
 	db "some of my rare", $55
@@ -117218,7 +118443,7 @@
 	db "#MON on my PC!", $57
 ; 0x8d57f + 64 bytes
 
-_Route1ViridianMartSampleText: ; 0x8d5bf
+_Route1ViridianMartSampleText: ; 8d5bf (23:55bf)
 	db $0, "Hi! I work at a", $4f
 	db "#MON MART.", $51
 	db "It's a convenient", $4f
@@ -117230,28 +118455,28 @@
 	db "Here you go!", $58
 ; 0x8d5bf + 132 bytes
 
-UnknownText_8d643: ; 0x8d643
+UnknownText_8d643: ; 8d643 (23:5643)
 	db $0, $52, " got", $4f
 	db "@"
 ; 0x8d643 + 8 bytes
 
-UnknownText_8d64b: ; 0x8d64b
+UnknownText_8d64b: ; 8d64b (23:564b)
 	TX_RAM $cf4b
 	db $0, "!@@"
 ; 0x8d64b + 7 bytes
 
-_UnnamedText_1caee: ; 0x8d652
+_UnnamedText_1caee: ; 8d652 (23:5652)
 	db $0, "We also carry", $4f
 	db "# BALLs for", $55
 	db "catching #MON!", $57
 ; 0x8d652 + 42 bytes
 
-_UnnamedText_1caf3: ; 0x8d67c
+_UnnamedText_1caf3: ; 8d67c (23:567c)
 	db $0, "You have too much", $4f
 	db "stuff with you!", $57
 ; 0x8d67c + 35 bytes
 
-_Route1Text2: ; 0x8d69f
+_Route1Text2: ; 8d69f (23:569f)
 	db $0, "See those ledges", $4f
 	db "along the road?", $51
 	db "It's a bit scary,", $4f
@@ -117261,20 +118486,20 @@
 	db "to PALLET TOWN", $55
 	db "quicker that way.", $57
 
-_Route1Text3: ; 0x8d720
+_Route1Text3: ; 8d720 (23:5720)
 	db $0, "ROUTE 1", $4f
 	db "PALLET TOWN -", $55
 	db "VIRIDIAN CITY", $57
 
-_Route2Text3: ; 0x8d745
+_Route2Text3: ; 8d745 (23:5745)
 	db $0, "ROUTE 2", $4f
 	db "VIRIDIAN CITY -", $55
 	db "PEWTER CITY", $57
 
-_Route2Text4: ; 0x8d76a
+_Route2Text4: ; 8d76a (23:576a)
 	db $0, "DIGLETT's CAVE", $57
 
-_Route3Text1: ; 0x8d779
+_Route3Text1: ; 8d779 (23:5779)
 	db $0, "Whew... I better", $4f
 	db "take a rest...", $55
 	db "Groan...", $51
@@ -117282,17 +118507,17 @@
 	db "CERULEAN takes a", $55
 	db "lot out of you!", $57
 
-_Route3BattleText1: ; 0x8d7d5
+_Route3BattleText1: ; 8d7d5 (23:57d5)
 	db $0, "Hey! I met you in", $4f
 	db "VIRIDIAN FOREST!", $57
 ; 0x8d7d5 + 36 bytes
 
-_Route3EndBattleText1: ; 0x8d7f9
+_Route3EndBattleText1: ; 8d7f9 (23:57f9)
 	db $0, "You", $4f
 	db "beat me again!", $58
 ; 0x8d7f9 + 20 bytes
 
-_Route3AfterBattleText1: ; 0x8d80d
+_Route3AfterBattleText1: ; 8d80d (23:580d)
 	db $0, "There are other", $4f
 	db "kinds of #MON", $55
 	db "than those found", $55
@@ -117299,18 +118524,18 @@
 	db "in the forest!", $57
 ; 0x8d80d + 63 bytes
 
-_Route3BattleText2: ; 0x8d84c
+_Route3BattleText2: ; 8d84c (23:584c)
 	db $0, "Hi! I like shorts!", $4f
 	db "They're comfy and", $55
 	db "easy to wear!", $57
 ; 0x8d84c + 51 bytes
 
-_Route3EndBattleText2: ; 0x8d87f
+_Route3EndBattleText2: ; 8d87f (23:587f)
 	db $0, "I don't", $4f
 	db "believe it!", $58
 ; 0x8d87f + 20 bytes
 
-_Route3AfterBattleText2: ; 0x8d893
+_Route3AfterBattleText2: ; 8d893 (23:5893)
 	db $0, "Are you storing", $4f
 	db "your #MON on", $55
 	db "PC? Each BOX can", $55
@@ -117317,34 +118542,34 @@
 	db "hold 20 #MON!", $57
 ; 0x8d893 + 61 bytes
 
-_Route3BattleText3: ; 0x8d8d0
+_Route3BattleText3: ; 8d8d0 (23:58d0)
 	db $0, "You looked at me,", $4f
 	db "didn't you?", $57
 ; 0x8d8d0 + 30 bytes
 
-_Route3EndBattleText3: ; 0x8d8ee
+_Route3EndBattleText3: ; 8d8ee (23:58ee)
 	db $0, "You're", $4f
 	db "mean!", $58
 ; 0x8d8ee + 13 bytes
 
-_Route3AfterBattleText3: ; 0x8d8fb
+_Route3AfterBattleText3: ; 8d8fb (23:58fb)
 	db $0, "Quit staring if", $4f
 	db "you don't want to", $55
 	db "fight!", $57
 ; 0x8d8fb + 41 bytes
 
-_Route3BattleText4: ; 0x8d924
+_Route3BattleText4: ; 8d924 (23:5924)
 	db $0, "Are you a trainer?", $4f
 	db "Let's fight!", $57
 ; 0x8d924 + 32 bytes
 
-_Route3EndBattleText4: ; 0x8d944
+_Route3EndBattleText4: ; 8d944 (23:5944)
 	db $0, "If I", $4f
 	db "had new #MON I", $55
 	db "would've won!", $58
 ; 0x8d944 + 34 bytes
 
-_Route3AfterBattleText4: ; 0x8d966
+_Route3AfterBattleText4: ; 8d966 (23:5966)
 	db $0, "If a #MON BOX", $4f
 	db "on the PC gets", $55
 	db "full, just switch", $55
@@ -117351,88 +118576,88 @@
 	db "to another BOX!", $57
 ; 0x8d966 + 64 bytes
 
-_Route3BattleText5: ; 0x8d9a6
+_Route3BattleText5: ; 8d9a6 (23:59a6)
 	db $0, "That look you", $4f
 	db "gave me, it's so", $55
 	db "intriguing!", $57
 ; 0x8d9a6 + 43 bytes
 
-_Route3EndBattleText5: ; 0x8d9d1
+_Route3EndBattleText5: ; 8d9d1 (23:59d1)
 	db $0, "Be nice!", $58
 ; 0x8d9d1 + 10 bytes
 
-_Route3AfterBattleText5: ; 0x8d9db
+_Route3AfterBattleText5: ; 8d9db (23:59db)
 	db $0, "Avoid fights by", $4f
 	db "not letting", $55
 	db "people see you!", $57
 ; 0x8d9db + 45 bytes
 
-_Route3BattleText6: ; 0x8da08
+_Route3BattleText6: ; 8da08 (23:5a08)
 	db $0, "Hey! You're not", $4f
 	db "wearing shorts!", $57
 ; 0x8da08 + 32 bytes
 
-_Route3EndBattleText6: ; 0x8da28
+_Route3EndBattleText6: ; 8da28 (23:5a28)
 	db $0, "Lost!", $4f
 	db "Lost! Lost!", $58
 ; 0x8da28 + 19 bytes
 
-_Route3AfterBattleText6: ; 0x8da3b
+_Route3AfterBattleText6: ; 8da3b (23:5a3b)
 	db $0, "I always wear", $4f
 	db "shorts, even in", $55
 	db "winter!", $57
 ; 0x8da3b + 39 bytes
 
-_Route3BattleText7: ; 0x8da62
+_Route3BattleText7: ; 8da62 (23:5a62)
 	db $0, "You can fight my", $4f
 	db "new #MON!", $57
 ; 0x8da62 + 28 bytes
 
-_Route3EndBattleText7: ; 0x8da7e
+_Route3EndBattleText7: ; 8da7e (23:5a7e)
 	db $0, "Done", $4f
 	db "like dinner!", $58
 ; 0x8da7e + 19 bytes
 
-_Route3AfterBattleText7: ; 0x8da91
+_Route3AfterBattleText7: ; 8da91 (23:5a91)
 	db $0, "Trained #MON", $4f
 	db "are stronger than", $55
 	db "the wild ones!", $57
 ; 0x8da91 + 47 bytes
 
-_Route3BattleText8: ; 0x8dac0
+_Route3BattleText8: ; 8dac0 (23:5ac0)
 	db $0, "Eek! Did you", $4f
 	db "touch me?", $57
 ; 0x8dac0 + 24 bytes
 
-_Route3EndBattleText8: ; 0x8dad8
+_Route3EndBattleText8: ; 8dad8 (23:5ad8)
 	db $0, "That's it?", $58
 ; 0x8dad8 + 11 bytes
 
-_Route3AfterBattleText8: ; 0x8dae3
+_Route3AfterBattleText8: ; 8dae3 (23:5ae3)
 	db $0, "ROUTE 4 is at the", $4f
 	db "foot of MT.MOON.", $57
 ; 0x8dae3 + 36 bytes
 
-_Route3Text10: ; 0x8db07
+_Route3Text10: ; 8db07 (23:5b07)
 	db $0, "ROUTE 3", $4f
 	db "MT.MOON AHEAD", $57
 
-_Route4Text1: ; 0x8db1e
+_Route4Text1: ; 8db1e (23:5b1e)
 	db $0, "Ouch! I tripped", $4f
 	db "over a rocky", $55
 	db "#MON, GEODUDE!", $57
 
-_Route4BattleText1: ; 0x8db4b
+_Route4BattleText1: ; 8db4b (23:5b4b)
 	db $0, "I came to get my", $4f
 	db "mushroom #MON!", $57
 ; 0x8db4b + 33 bytes
 
-_Route4EndBattleText1: ; 0x8db6c
+_Route4EndBattleText1: ; 8db6c (23:5b6c)
 	db $0, "Oh! My cute", $4f
 	db "mushroom #MON!", $58
 ; 0x8db6c + 28 bytes
 
-_Route4AfterBattleText1: ; 0x8db88
+_Route4AfterBattleText1: ; 8db88 (23:5b88)
 	db $0, "There might not", $4f
 	db "be any more", $55
 	db "mushrooms here.", $51
@@ -117440,179 +118665,179 @@
 	db "them all.", $57
 ; 0x8db88 + 69 bytes
 
-_Route4Text5: ; 0x8dbcd
+_Route4Text5: ; 8dbcd (23:5bcd)
 	db $0, "MT.MOON", $4f
 	db "Tunnel Entrance", $57
 
-_Route4Text6: ; 0x8dbe6
+_Route4Text6: ; 8dbe6 (23:5be6)
 	db $0, "ROUTE 4", $4f
 	db "MT.MOON -", $55
 	db "CERULEAN CITY", $57
 
-_Route5Text1: ; 0x8dc07
+_Route5Text1: ; 8dc07 (23:5c07)
 	db $0, "UNDERGROUND PATH", $4f
 	db "CERULEAN CITY -", $55
 	db "VERMILION CITY", $57
 
-_Route6BattleText1: ; 0x8dc38
+_Route6BattleText1: ; 8dc38 (23:5c38)
 	db $0, "Who's there?", $4f
 	db "Quit listening in", $55
 	db "on us!", $57
 ; 0x8dc38 + 38 bytes
 
-_Route6EndBattleText1: ; 0x8dc5e
+_Route6EndBattleText1: ; 8dc5e (23:5c5e)
 	db $0, "I", $4f
 	db "just can't win!", $58
 ; 0x8dc5e + 18 bytes
 
-_Route6AfterBattleText1: ; 0x8dc70
+_Route6AfterBattleText1: ; 8dc70 (23:5c70)
 	db $0, "Whisper...", $4f
 	db "whisper...", $57
 ; 0x8dc70 + 23 bytes
 
-_Route6BattleText2: ; 0x8dc87
+_Route6BattleText2: ; 8dc87 (23:5c87)
 	db $0, "Excuse me! This", $4f
 	db "is a private", $55
 	db "conversation!", $57
 ; 0x8dc87 + 44 bytes
 
-_Route6EndBattleText2: ; 0x8dcb3
+_Route6EndBattleText2: ; 8dcb3 (23:5cb3)
 	db $0, "Ugh!", $4f
 	db "I hate losing!", $58
 ; 0x8dcb3 + 21 bytes
 
-_Route6BattleText3: ; 0x8dcc8
+_Route6BattleText3: ; 8dcc8 (23:5cc8)
 	db $0, "There aren't many", $4f
 	db "bugs out here.", $57
 ; 0x8dcc8 + 33 bytes
 
-_Route6EndBattleText3: ; 0x8dce9
+_Route6EndBattleText3: ; 8dce9 (23:5ce9)
 	db $0, "No!", $4f
 	db "You're kidding!", $58
 ; 0x8dce9 + 20 bytes
 
-_Route6AfterBattleText3: ; 0x8dcfd
+_Route6AfterBattleText3: ; 8dcfd (23:5cfd)
 	db $0, "I like bugs, so", $4f
 	db "I'm going back to", $55
 	db "VIRIDIAN FOREST.", $57
 ; 0x8dcfd + 51 bytes
 
-_Route6BattleText4: ; 0x8dd30
+_Route6BattleText4: ; 8dd30 (23:5d30)
 	db $0, "Huh? You want", $4f
 	db "to talk to me?", $57
 ; 0x8dd30 + 30 bytes
 
-_Route6EndBattleText4: ; 0x8dd4e
+_Route6EndBattleText4: ; 8dd4e (23:5d4e)
 	db $0, "I", $4f
 	db "didn't start it!", $58
 ; 0x8dd4e + 19 bytes
 
-_Route6AfterBattleText4: ; 0x8dd61
+_Route6AfterBattleText4: ; 8dd61 (23:5d61)
 	db $0, "I should carry", $4f
 	db "more #MON with", $55
 	db "me for safety.", $57
 ; 0x8dd61 + 46 bytes
 
-_Route6BattleText5: ; 0x8dd8f
+_Route6BattleText5: ; 8dd8f (23:5d8f)
 	db $0, "Me? Well, OK.", $4f
 	db "I'll play!", $57
 ; 0x8dd8f + 25 bytes
 
-_Route6EndBattleText5: ; 0x8dda8
+_Route6EndBattleText5: ; 8dda8 (23:5da8)
 	db $0, "Just", $4f
 	db "didn't work!", $58
 ; 0x8dda8 + 18 bytes
 
-_Route6AfterBattleText5: ; 0x8ddba
+_Route6AfterBattleText5: ; 8ddba (23:5dba)
 	db $0, "I want to get", $4f
 	db "stronger! What's", $55
 	db "your secret?", $57
 ; 0x8ddba + 44 bytes
 
-_Route6BattleText6: ; 0x8dde6
+_Route6BattleText6: ; 8dde6 (23:5de6)
 	db $0, "I've never seen", $4f
 	db "you around!", $55
 	db "Are you good?", $57
 ; 0x8dde6 + 42 bytes
 
-_Route6EndBattleText6: ; 0x8de10
+_Route6EndBattleText6: ; 8de10 (23:5e10)
 	db $0, "You", $4f
 	db "are too good!", $58
 ; 0x8de10 + 19 bytes
 
-_Route6AfterBattleText6: ; 0x8de23
+_Route6AfterBattleText6: ; 8de23 (23:5e23)
 	db $0, "Are my #MON", $4f
 	db "weak? Or, am I", $55
 	db "just bad?", $57
 ; 0x8de23 + 38 bytes
 
-_Route6Text7: ; 0x8de49
+_Route6Text7: ; 8de49 (23:5e49)
 	db $0, "UNDERGROUND PATH", $4f
 	db "CERULEAN CITY -", $55
 	db "VERMILION CITY", $57
 
-_Route7Text1: ; 0x8de7a
+_Route7Text1: ; 8de7a (23:5e7a)
 	db $0, "UNDERGROUND PATH", $4f
 	db "CELADON CITY -", $55
 	db "LAVENDER TOWN", $57
 
-_Route8BattleText1: ; 0x8dea9
+_Route8BattleText1: ; 8dea9 (23:5ea9)
 	db $0, "You look good at", $4f
 	db "#MON, but", $55
 	db "how's your chem?", $57
 ; 0x8dea9 + 44 bytes
 
-_Route8EndBattleText1: ; 0x8ded5
+_Route8EndBattleText1: ; 8ded5 (23:5ed5)
 	db $0, "Ow!", $4f
 	db "Meltdown!", $58
 ; 0x8ded5 + 15 bytes
 
-_Route8AfterBattleText1: ; 0x8dee4
+_Route8AfterBattleText1: ; 8dee4 (23:5ee4)
 	db $0, "I am better at", $4f
 	db "school than this!", $57
 ; 0x8dee4 + 34 bytes
 
-_Route8BattleText2: ; 0x8df06
+_Route8BattleText2: ; 8df06 (23:5f06)
 	db $0, "All right! Let's", $4f
 	db "roll the dice!", $57
 ; 0x8df06 + 32 bytes
 
-_Route8EndBattleText2: ; 0x8df26
+_Route8EndBattleText2: ; 8df26 (23:5f26)
 	db $0, "Drat!", $4f
 	db "Came up short!", $58
 ; 0x8df26 + 22 bytes
 
-_Route8AfterBattleText2: ; 0x8df3c
+_Route8AfterBattleText2: ; 8df3c (23:5f3c)
 	db $0, "Lady Luck's not", $4f
 	db "with me today!", $57
 ; 0x8df3c + 31 bytes
 
-_Route8BattleText3: ; 0x8df5b
+_Route8BattleText3: ; 8df5b (23:5f5b)
 	db $0, "You need strategy", $4f
 	db "to win at this!", $57
 ; 0x8df5b + 35 bytes
 
-_Route8EndBattleText3: ; 0x8df7e
+_Route8EndBattleText3: ; 8df7e (23:5f7e)
 	db $0, "It's", $4f
 	db "not logical!", $58
 ; 0x8df7e + 18 bytes
 
-_Route8AfterBattleText3: ; 0x8df90
+_Route8AfterBattleText3: ; 8df90 (23:5f90)
 	db $0, "Go with GRIMER", $4f
 	db "first...and...", $55
 	db "...and...then...", $57
 ; 0x8df90 + 48 bytes
 
-_Route8BattleText4: ; 0x8dfc0
+_Route8BattleText4: ; 8dfc0 (23:5fc0)
 	db $0, "I like NIDORAN, so", $4f
 	db "I collect them!", $57
 ; 0x8dfc0 + 36 bytes
 
-_Route8EndBattleText4: ; 0x8dfe4
+_Route8EndBattleText4: ; 8dfe4 (23:5fe4)
 	db $0, "Why? Why??", $58
 ; 0x8dfe4 + 12 bytes
 
-_Route8AfterBattleText4: ; 0x8dff0
+_Route8AfterBattleText4: ; 8dff0 (23:5ff0)
 	db $0, "When #MON grow", $4f
 	db "up they get ugly!", $55
 	db "They shouldn't", $55
@@ -117619,49 +118844,49 @@
 	db "evolve!", $57
 ; 0x8dff0 + 56 bytes
 
-_Route8BattleText5: ; 0x8e028
+_Route8BattleText5: ; 8e028 (23:6028)
 	db $0, "School is fun, but", $4f
 	db "so are #MON.", $57
 ; 0x8e028 + 33 bytes
 
-_Route8EndBattleText5: ; 0x8e049
+_Route8EndBattleText5: ; 8e049 (23:6049)
 	db $0, "I'll", $4f
 	db "stay with school.", $58
 ; 0x8e049 + 23 bytes
 
-_Route8AfterBattleText5: ; 0x8e060
+_Route8AfterBattleText5: ; 8e060 (23:6060)
 	db $0, "We're stuck here", $4f
 	db "because of the", $55
 	db "gates at SAFFRON.", $57
 ; 0x8e060 + 50 bytes
 
-_Route8BattleText6: ; 0x8e092
+_Route8BattleText6: ; 8e092 (23:6092)
 	db $0, "MEOWTH is so cute,", $4f
 	db "meow, meow, meow!", $57
 ; 0x8e092 + 38 bytes
 
-_Route8EndBattleText6: ; 0x8e0b8
+_Route8EndBattleText6: ; 8e0b8 (23:60b8)
 	db $0, "Meow!", $58
 ; 0x8e0b8 + 7 bytes
 
-_Route8AfterBattleText6: ; 0x8e0bf
+_Route8AfterBattleText6: ; 8e0bf (23:60bf)
 	db $0, "I think PIDGEY", $4f
 	db "and RATTATA", $55
 	db "are cute too!", $57
 ; 0x8e0bf + 42 bytes
 
-_Route8BattleText7: ; 0x8e0e9
+_Route8BattleText7: ; 8e0e9 (23:60e9)
 	db $0, "We must look", $4f
 	db "silly standing", $55
 	db "here like this!", $57
 ; 0x8e0e9 + 45 bytes
 
-_Route8EndBattleText7: ; 0x8e116
+_Route8EndBattleText7: ; 8e116 (23:6116)
 	db $0, "Look what", $4f
 	db "you did!", $58
 ; 0x8e116 + 20 bytes
 
-_Route8AfterBattleText7: ; 0x8e12a
+_Route8AfterBattleText7: ; 8e12a (23:612a)
 	db $0, "SAFFRON's gate", $4f
 	db "keeper won't let", $55
 	db "us through.", $55
@@ -117668,17 +118893,17 @@
 	db "He's so mean!", $57
 ; 0x8e12a + 56 bytes
 
-_Route8BattleText8: ; 0x8e162
+_Route8BattleText8: ; 8e162 (23:6162)
 	db $0, "I'm a rambling,", $4f
 	db "gambling dude!", $57
 ; 0x8e162 + 31 bytes
 
-_Route8EndBattleText8: ; 0x8e181
+_Route8EndBattleText8: ; 8e181 (23:6181)
 	db $0, "Missed", $4f
 	db "the big score!", $58
 ; 0x8e181 + 23 bytes
 
-_Route8AfterBattleText8: ; 0x8e198
+_Route8AfterBattleText8: ; 8e198 (23:6198)
 	db $0, "Gambling and", $4f
 	db "#MON are like", $55
 	db "eating peanuts!", $55
@@ -117685,19 +118910,19 @@
 	db "Just can't stop!", $57
 ; 0x8e198 + 60 bytes
 
-_Route8BattleText9: ; 0x8e1d4
+_Route8BattleText9: ; 8e1d4 (23:61d4)
 	db $0, "What's a cute,", $4f
 	db "round and fluffy", $55
 	db "#MON?", $57
 ; 0x8e1d4 + 38 bytes
 
-_Route8EndBattleText9: ; 0x8e1fa
+_Route8EndBattleText9: ; 8e1fa (23:61fa)
 	db $0, "Stop!", $51
 	db "Don't be so mean", $4f
 	db "to my CLEFAIRY!", $58
 ; 0x8e1fa + 39 bytes
 
-_Route8AfterBattleText9: ; 0x8e221
+_Route8AfterBattleText9: ; 8e221 (23:6221)
 	db $0, "I heard that", $4f
 	db "CLEFAIRY evolves", $55
 	db "when it's exposed", $55
@@ -117704,82 +118929,82 @@
 	db "to a MOON STONE.", $57
 ; 0x8e221 + 65 bytes
 
-_Route8Text10: ; 0x8e262
+_Route8Text10: ; 8e262 (23:6262)
 	db $0, "UNDERGROUND PATH", $4f
 	db "CELADON CITY -", $55
 	db "LAVENDER TOWN", $57
 
-_Route9BattleText1: ; 0x8e291
+_Route9BattleText1: ; 8e291 (23:6291)
 	db $0, "You have #MON", $4f
 	db "with you!", $55
 	db "You're mine!", $57
 ; 0x8e291 + 37 bytes
 
-_Route9EndBattleText1: ; 0x8e2b6
+_Route9EndBattleText1: ; 8e2b6 (23:62b6)
 	db $0, "You", $4f
 	db "deceived me!", $58
 ; 0x8e2b6 + 18 bytes
 
-_Route9AfterBattleText1: ; 0x8e2c8
+_Route9AfterBattleText1: ; 8e2c8 (23:62c8)
 	db $0, "You need light to", $4f
 	db "get through that", $55
 	db "dark tunnel ahead.", $57
 ; 0x8e2c8 + 55 bytes
 
-_Route9BattleText2: ; 0x8e2ff
+_Route9BattleText2: ; 8e2ff (23:62ff)
 	db $0, "Who's that walking", $4f
 	db "with those good", $55
 	db "looking #MON?", $57
 ; 0x8e2ff + 49 bytes
 
-_Route9EndBattleText2: ; 0x8e330
+_Route9EndBattleText2: ; 8e330 (23:6330)
 	db $0, "Out", $4f
 	db "like a light!", $58
 ; 0x8e330 + 19 bytes
 
-_Route9AfterBattleText2: ; 0x8e343
+_Route9AfterBattleText2: ; 8e343 (23:6343)
 	db $0, "Keep walking!", $57
 ; 0x8e343 + 15 bytes
 
-_Route9BattleText3: ; 0x8e352
+_Route9BattleText3: ; 8e352 (23:6352)
 	db $0, "I'm taking ROCK", $4f
 	db "TUNNEL to go to", $55
 	db "LAVENDER...", $57
 ; 0x8e352 + 44 bytes
 
-_Route9EndBattleText3: ; 0x8e37e
+_Route9EndBattleText3: ; 8e37e (23:637e)
 	db $0, "Can't", $4f
 	db "measure up!", $58
 ; 0x8e37e + 18 bytes
 
-_Route9AfterBattleText3: ; 0x8e390
+_Route9AfterBattleText3: ; 8e390 (23:6390)
 	db $0, "Are you off to", $4f
 	db "ROCK TUNNEL too?", $57
 ; 0x8e390 + 33 bytes
 
-_Route9BattleText4: ; 0x8e3b1
+_Route9BattleText4: ; 8e3b1 (23:63b1)
 	db $0, "Don't you dare", $4f
 	db "condescend me!", $57
 ; 0x8e3b1 + 30 bytes
 
-_Route9EndBattleText4: ; 0x8e3cf
+_Route9EndBattleText4: ; 8e3cf (23:63cf)
 	db $0, "No!", $4f
 	db "You're too much!", $58
 ; 0x8e3cf + 21 bytes
 
-_Route9AfterBattleText4: ; 0x8e3e4
+_Route9AfterBattleText4: ; 8e3e4 (23:63e4)
 	db $0, "You're obviously", $4f
 	db "talented! Good", $55
 	db "luck to you!", $57
 ; 0x8e3e4 + 45 bytes
 
-_Route9BattleText5: ; 0x8e411
+_Route9BattleText5: ; 8e411 (23:6411)
 	db $0, "Bwahaha!", $4f
 	db "Great! I was", $55
 	db "bored, eh!", $57
 ; 0x8e411 + 34 bytes
 
-_Route9EndBattleText5: ; 0x8e433
+_Route9EndBattleText5: ; 8e433 (23:6433)
 	db $0, "Keep it", $4f
 	db "coming, eh!", $51
 	db "Oh wait. I'm out", $4f
@@ -117786,29 +119011,29 @@
 	db "of #MON!", $58
 ; 0x8e433 + 46 bytes
 
-_Route9AfterBattleText5: ; 0x8e461
+_Route9AfterBattleText5: ; 8e461 (23:6461)
 	db $0, "You sure had guts", $4f
 	db "standing up to me", $55
 	db "there, eh?", $57
 ; 0x8e461 + 48 bytes
 
-_Route9BattleText6: ; 0x8e491
+_Route9BattleText6: ; 8e491 (23:6491)
 	db $0, "Hahaha!", $4f
 	db "Aren't you a", $55
 	db "little toughie!", $57
 ; 0x8e491 + 37 bytes
 
-_Route9EndBattleText6: ; 0x8e4b6
+_Route9EndBattleText6: ; 8e4b6 (23:64b6)
 	db $0, "What's", $4f
 	db "that?", $58
 ; 0x8e4b6 + 13 bytes
 
-_Route9AfterBattleText6: ; 0x8e4c3
+_Route9AfterBattleText6: ; 8e4c3 (23:64c3)
 	db $0, "Hahaha! Kids", $4f
 	db "should be tough!", $57
 ; 0x8e4c3 + 31 bytes
 
-_Route9BattleText7: ; 0x8e4e2
+_Route9BattleText7: ; 8e4e2 (23:64e2)
 	db $0, "I got up early", $4f
 	db "every day to", $55
 	db "raise my #MON", $55
@@ -117815,56 +119040,56 @@
 	db "from cocoons!", $57
 ; 0x8e4e2 + 57 bytes
 
-_Route9EndBattleText7: ; 0x8e51b
+_Route9EndBattleText7: ; 8e51b (23:651b)
 	db $0, "WHAT?", $51
 	db "What a total", $4f
 	db "waste of time!", $58
 ; 0x8e51b + 35 bytes
 
-_Route9AfterBattleText7: ; 0x8e53e
+_Route9AfterBattleText7: ; 8e53e (23:653e)
 	db $0, "I have to collect", $4f
 	db "more than bugs to", $55
 	db "get stronger...", $57
 ; 0x8e53e + 53 bytes
 
-_Route9BattleText8: ; 0x8e573
+_Route9BattleText8: ; 8e573 (23:6573)
 	db $0, "Hahahaha!", $4f
 	db "Come on, dude!", $57
 ; 0x8e573 + 26 bytes
 
-_Route9EndBattleText8: ; 0x8e58d
+_Route9EndBattleText8: ; 8e58d (23:658d)
 	db $0, "Hahahaha!", $4f
 	db "You beat me fair!", $58
 ; 0x8e58d + 29 bytes
 
-_Route9AfterBattleText8: ; 0x8e5aa
+_Route9AfterBattleText8: ; 8e5aa (23:65aa)
 	db $0, "Hahahaha!", $4f
 	db "Us hearty guys", $55
 	db "always laugh!", $57
 ; 0x8e5aa + 40 bytes
 
-_Route9BattleText9: ; 0x8e5d2
+_Route9BattleText9: ; 8e5d2 (23:65d2)
 	db $0, "Go, my super bug", $4f
 	db "#MON!", $57
 ; 0x8e5d2 + 24 bytes
 
-_Route9EndBattleText9: ; 0x8e5ea
+_Route9EndBattleText9: ; 8e5ea (23:65ea)
 	db $0, "My", $4f
 	db "bugs...", $58
 ; 0x8e5ea + 12 bytes
 
-_Route9AfterBattleText9: ; 0x8e5f6
+_Route9AfterBattleText9: ; 8e5f6 (23:65f6)
 	db $0, "If you don't like", $4f
 	db "bug #MON, you", $55
 	db "bug me!", $57
 ; 0x8e5f6 + 40 bytes
 
-_Route9Text11: ; 0x8e61e
+_Route9Text11: ; 8e61e (23:661e)
 	db $0, "ROUTE 9", $4f
 	db "CERULEAN CITY-", $55
 	db "ROCK TUNNEL", $57
 
-_Route10BattleText1: ; 0x8e642
+_Route10BattleText1: ; 8e642 (23:6642)
 	db $0, "Wow, are you a", $4f
 	db "#MANIAC too?", $55
 	db "Want to see my", $55
@@ -117871,21 +119096,21 @@
 	db "collection?", $57
 ; 0x8e642 + 56 bytes
 
-_Route10EndBattleText1: ; 0x8e67a
+_Route10EndBattleText1: ; 8e67a (23:667a)
 	db $0, "Humph.", $4f
 	db "I'm not angry!", $58
 ; 0x8e67a + 22 bytes
 
-_Route10AfterBattleText1: ; 0x8e690
+_Route10AfterBattleText1: ; 8e690 (23:6690)
 	db $0, "I have more rare", $4f
 	db "#MON at home!", $57
 ; 0x8e690 + 32 bytes
 
-_Route10BattleText2: ; 0x8e6b0
+_Route10BattleText2: ; 8e6b0 (23:66b0)
 	db $0, "Ha-hahah-ah-ha!", $57
 ; 0x8e6b0 + 17 bytes
 
-_Route10EndBattleText2: ; 0x8e6c1
+_Route10EndBattleText2: ; 8e6c1 (23:66c1)
 	db $0, "Ha-haha!", $4f
 	db "Not laughing!", $55
 	db "Ha-hay fever!", $55
@@ -117892,28 +119117,28 @@
 	db "Haha-ha-choo!", $58
 ; 0x8e6c1 + 52 bytes
 
-_Route10AfterBattleText2: ; 0x8e6f5
+_Route10AfterBattleText2: ; 8e6f5 (23:66f5)
 	db $0, "Haha-ha-choo!", $4f
 	db "Ha-choo!", $55
 	db "Snort! Snivel!", $57
 ; 0x8e6f5 + 39 bytes
 
-_Route10BattleText3: ; 0x8e71c
+_Route10BattleText3: ; 8e71c (23:671c)
 	db $0, "Hi kid, want to", $4f
 	db "see my #MON?", $57
 ; 0x8e71c + 30 bytes
 
-_Route10EndBattleText3: ; 0x8e73a
+_Route10EndBattleText3: ; 8e73a (23:673a)
 	db $0, "Oh no!", $4f
 	db "My #MON!", $58
 ; 0x8e73a + 17 bytes
 
-_Route10AfterBattleText3: ; 0x8e74b
+_Route10AfterBattleText3: ; 8e74b (23:674b)
 	db $0, "I don't like you", $4f
 	db "for beating me!", $57
 ; 0x8e74b + 33 bytes
 
-_Route10BattleText4: ; 0x8e76c
+_Route10BattleText4: ; 8e76c (23:676c)
 	db $0, "I've been to a", $4f
 	db "#MON GYM a few", $55
 	db "times. But, I", $55
@@ -117920,44 +119145,44 @@
 	db "lost each time.", $57
 ; 0x8e76c + 60 bytes
 
-_Route10EndBattleText4: ; 0x8e7a8
+_Route10EndBattleText4: ; 8e7a8 (23:67a8)
 	db $0, "Ohh!", $4f
 	db "Blew it again!", $58
 ; 0x8e7a8 + 21 bytes
 
-_Route10AfterBattleText4: ; 0x8e7bd
+_Route10AfterBattleText4: ; 8e7bd (23:67bd)
 	db $0, "I noticed some", $4f
 	db "#MANIACs", $55
 	db "prowling around.", $57
 ; 0x8e7bd + 42 bytes
 
-_Route10BattleText5: ; 0x8e7e7
+_Route10BattleText5: ; 8e7e7 (23:67e7)
 	db $0, "Ah! This mountain", $4f
 	db "air is delicious!", $57
 ; 0x8e7e7 + 37 bytes
 
-_Route10EndBattleText5: ; 0x8e80c
+_Route10EndBattleText5: ; 8e80c (23:680c)
 	db $0, "That", $4f
 	db "cleared my head!", $58
 ; 0x8e80c + 23 bytes
 
-_Route10AfterBattleText5: ; 0x8e823
+_Route10AfterBattleText5: ; 8e823 (23:6823)
 	db $0, "I feel bloated on", $4f
 	db "mountain air!", $57
 ; 0x8e823 + 33 bytes
 
-_Route10BattleText6: ; 0x8e844
+_Route10BattleText6: ; 8e844 (23:6844)
 	db $0, "I'm feeling a bit", $4f
 	db "faint from this", $55
 	db "tough hike.", $57
 ; 0x8e844 + 46 bytes
 
-_Route10EndBattleText6: ; 0x8e872
+_Route10EndBattleText6: ; 8e872 (23:6872)
 	db $0, "I'm", $4f
 	db "not up to it!", $58
 ; 0x8e872 + 18 bytes
 
-_Route10AfterBattleText6: ; 0x8e884
+_Route10AfterBattleText6: ; 8e884 (23:6884)
 	db $0, "The #MON here", $4f
 	db "are so chunky!", $55
 	db "There should be a", $55
@@ -117965,133 +119190,133 @@
 	db "floral pattern!", $57
 ; 0x8e884 + 80 bytes
 
-_Route10Text9: ; 0x8e8d4
-_Route10Text7: ; 0x8e8d4
+_Route10Text9: ; 8e8d4 (23:68d4)
+_Route10Text7: ; 8e8d4 (23:68d4)
 	db $0, "ROCK TUNNEL", $57
 
-_Route10Text10: ; 0x8e8e1
+_Route10Text10: ; 8e8e1 (23:68e1)
 	db $0, "POWER PLANT", $57
 
-_Route11BattleText1: ; 0x8e8ee
+_Route11BattleText1: ; 8e8ee (23:68ee)
 	db $0, "Win, lose or draw!", $57
 ; 0x8e8ee + 20 bytes
 
-_Route11EndBattleText1: ; 0x8e902
+_Route11EndBattleText1: ; 8e902 (23:6902)
 	db $0, "Atcha!", $4f
 	db "Didn't go my way!", $58
 ; 0x8e902 + 25 bytes
 
-_Route11AfterBattleText1: ; 0x8e91b
+_Route11AfterBattleText1: ; 8e91b (23:691b)
 	db $0, "#MON is life!", $4f
 	db "And to live is to", $55
 	db "gamble!", $57
 ; 0x8e91b + 41 bytes
 
-_Route11BattleText2: ; 0x8e944
+_Route11BattleText2: ; 8e944 (23:6944)
 	db $0, "Competition! I", $4f
 	db "can't get enough!", $57
 ; 0x8e944 + 33 bytes
 
-_Route11EndBattleText2: ; 0x8e965
+_Route11EndBattleText2: ; 8e965 (23:6965)
 	db $0, "I had", $4f
 	db "a chance!", $58
 ; 0x8e965 + 17 bytes
 
-_Route11AfterBattleText2: ; 0x8e976
+_Route11AfterBattleText2: ; 8e976 (23:6976)
 	db $0, "You can't be a", $4f
 	db "coward in the", $55
 	db "world of #MON!", $57
 ; 0x8e976 + 44 bytes
 
-_Route11BattleText3: ; 0x8e9a2
+_Route11BattleText3: ; 8e9a2 (23:69a2)
 	db $0, "Let's go, but", $4f
 	db "don't cheat!", $57
 ; 0x8e9a2 + 26 bytes
 
-_Route11EndBattleText3: ; 0x8e9bc
+_Route11EndBattleText3: ; 8e9bc (23:69bc)
 	db $0, "Huh?", $4f
 	db "That's not right!", $58
 ; 0x8e9bc + 23 bytes
 
-_Route11AfterBattleText3: ; 0x8e9d3
+_Route11AfterBattleText3: ; 8e9d3 (23:69d3)
 	db $0, "I did my best! I", $4f
 	db "have no regrets!", $57
 ; 0x8e9d3 + 35 bytes
 
-_Route11BattleText4: ; 0x8e9f6
+_Route11BattleText4: ; 8e9f6 (23:69f6)
 	db $0, "Careful!", $4f
 	db "I'm laying down", $55
 	db "some cables!", $57
 ; 0x8e9f6 + 38 bytes
 
-_Route11EndBattleText4: ; 0x8ea1c
+_Route11EndBattleText4: ; 8ea1c (23:6a1c)
 	db $0, "That", $4f
 	db "was electric!", $58
 ; 0x8ea1c + 20 bytes
 
-_Route11AfterBattleText4: ; 0x8ea30
+_Route11AfterBattleText4: ; 8ea30 (23:6a30)
 	db $0, "Spread the word", $4f
 	db "to save energy!", $57
 ; 0x8ea30 + 33 bytes
 
-_Route11BattleText5: ; 0x8ea51
+_Route11BattleText5: ; 8ea51 (23:6a51)
 	db $0, "I just became a", $4f
 	db "trainer! But, I", $55
 	db "think I can win!", $57
 ; 0x8ea51 + 50 bytes
 
-_Route11EndBattleText5: ; 0x8ea83
+_Route11EndBattleText5: ; 8ea83 (23:6a83)
 	db $0, "My", $4f
 	db "#MON couldn't!", $58
 ; 0x8ea83 + 18 bytes
 
-_Route11AfterBattleText5: ; 0x8ea95
+_Route11AfterBattleText5: ; 8ea95 (23:6a95)
 	db $0, "What do you want?", $4f
 	db "Leave me alone!", $57
 ; 0x8ea95 + 35 bytes
 
-_Route11BattleText6: ; 0x8eab8
+_Route11BattleText6: ; 8eab8 (23:6ab8)
 	db $0, "Fwahaha! I have", $4f
 	db "never lost!", $57
 ; 0x8eab8 + 29 bytes
 
-_Route11EndBattleText6: ; 0x8ead5
+_Route11EndBattleText6: ; 8ead5 (23:6ad5)
 	db $0, "My", $4f
 	db "first loss!", $58
 ; 0x8ead5 + 16 bytes
 
-_Route11AfterBattleText6: ; 0x8eae5
+_Route11AfterBattleText6: ; 8eae5 (23:6ae5)
 	db $0, "Luck of the draw!", $4f
 	db "Just luck!", $57
 ; 0x8eae5 + 30 bytes
 
-_Route11BattleText7: ; 0x8eb03
+_Route11BattleText7: ; 8eb03 (23:6b03)
 	db $0, "I have never won", $4f
 	db "before...", $57
 ; 0x8eb03 + 28 bytes
 
-_Route11EndBattleText7: ; 0x8eb1f
+_Route11EndBattleText7: ; 8eb1f (23:6b1f)
 	db $0, "I saw", $4f
 	db "this coming...", $58
 ; 0x8eb1f + 22 bytes
 
-_Route11AfterBattleText7: ; 0x8eb35
+_Route11AfterBattleText7: ; 8eb35 (23:6b35)
 	db $0, "It's just luck.", $4f
 	db "Luck of the draw.", $57
 ; 0x8eb35 + 34 bytes
 
-_Route11BattleText8: ; 0x8eb57
+_Route11BattleText8: ; 8eb57 (23:6b57)
 	db $0, "I'm the best in", $4f
 	db "my class!", $57
 ; 0x8eb57 + 26 bytes
 
-_Route11EndBattleText8: ; 0x8eb71
+_Route11EndBattleText8: ; 8eb71 (23:6b71)
 	db $0, "Darn!", $4f
 	db "I need to make my", $55
 	db "#MON stronger!", $58
 ; 0x8eb71 + 40 bytes
 
-_Route11AfterBattleText8: ; 0x8eb99
+_Route11AfterBattleText8: ; 8eb99 (23:6b99)
 	db $0, "There's a fat", $4f
 	db "#MON that", $55
 	db "comes down from", $55
@@ -118100,7 +119325,7 @@
 	db "you can get it.", $57
 ; 0x8eb99 + 85 bytes
 
-_Route11BattleText9: ; 0x8ebee
+_Route11BattleText9: ; 8ebee (23:6bee)
 	db $0, "Watch out for", $4f
 	db "live wires!", $57
 ; 0x8ebee + 27 bytes
@@ -118107,45 +119332,45 @@
 
 SECTION "bank24",DATA,BANK[$24]
 
-_Route11EndBattleText9: ; 0x90000
+_Route11EndBattleText9: ; 90000 (24:4000)
 	db $0, "Whoa!", $4f
 	db "You spark plug!", $58
 ; 0x90000 + 23 bytes
 
-_Route11AfterBattleText9: ; 0x90017
+_Route11AfterBattleText9: ; 90017 (24:4017)
 	db $0, "Well, better get", $4f
 	db "back to work.", $57
 ; 0x90017 + 32 bytes
 
-_Route11BattleText10: ; 0x90037
+_Route11BattleText10: ; 90037 (24:4037)
 	db $0, "My #MON should", $4f
 	db "be ready by now!", $57
 ; 0x90037 + 33 bytes
 
-_Route11EndBattleText10: ; 0x90058
+_Route11EndBattleText10: ; 90058 (24:4058)
 	db $0, "Too", $4f
 	db "much, too young!", $58
 ; 0x90058 + 22 bytes
 
-_Route11AfterBattleText10: ; 0x9006e
+_Route11AfterBattleText10: ; 9006e (24:406e)
 	db $0, "I better go find", $4f
 	db "stronger ones!", $57
 ; 0x9006e + 33 bytes
 
-_Route11Text11: ; 0x9008f
+_Route11Text11: ; 9008f (24:408f)
 	db $0, "DIGLETT's CAVE", $57
 
-_Route12Text1: ; 0x9009e
+_Route12Text1: ; 9009e (24:409e)
 	db $0, "A sleeping #MON", $4f
 	db "blocks the way!", $57
 
-_UnnamedText_596eb: ; 0x900bf
+_UnnamedText_596eb: ; 900bf (24:40bf)
 	db $0, "SNORLAX woke up!", $51
 	db "It attacked in a", $4f
 	db "grumpy rage!", $57
 ; 0x900bf + 48 bytes
 
-_UnnamedText_596f0: ; 0x900ef
+_UnnamedText_596f0: ; 900ef (24:40ef)
 	db $0, "SNORLAX calmed", $4f
 	db "down! With a big", $55
 	db "yawn, it returned", $55
@@ -118152,63 +119377,63 @@
 	db "to the mountains!", $57
 ; 0x900ef + 69 bytes
 
-_Route12BattleText1: ; 0x90134
+_Route12BattleText1: ; 90134 (24:4134)
 	db $0, "Yeah! I got a", $4f
 	db "bite, here!", $57
 ; 0x90134 + 27 bytes
 
-_Route12EndBattleText1: ; 0x9014f
+_Route12EndBattleText1: ; 9014f (24:414f)
 	db $0, "Tch!", $4f
 	db "Just a small fry!", $58
 ; 0x9014f + 24 bytes
 
-_Route12AfterBattleText1: ; 0x90167
+_Route12AfterBattleText1: ; 90167 (24:4167)
 	db $0, "Hang on! My line's", $4f
 	db "snagged!", $57
 ; 0x90167 + 28 bytes
 
-_Route12BattleText2: ; 0x90183
+_Route12BattleText2: ; 90183 (24:4183)
 	db $0, "Be patient!", $4f
 	db "Fishing is a", $55
 	db "waiting game!", $57
 ; 0x90183 + 40 bytes
 
-_Route12EndBattleText2: ; 0x901ab
+_Route12EndBattleText2: ; 901ab (24:41ab)
 	db $0, "That", $4f
 	db "one got away!", $58
 ; 0x901ab + 20 bytes
 
-_Route12AfterBattleText2: ; 0x901bf
+_Route12AfterBattleText2: ; 901bf (24:41bf)
 	db $0, "With a better ROD,", $4f
 	db "I could catch", $55
 	db "better #MON!", $57
 ; 0x901bf + 47 bytes
 
-_Route12BattleText3: ; 0x901ee
+_Route12BattleText3: ; 901ee (24:41ee)
 	db $0, "Have you found a", $4f
 	db "MOON STONE?", $57
 ; 0x901ee + 30 bytes
 
-_Route12EndBattleText3: ; 0x9020c
+_Route12EndBattleText3: ; 9020c (24:420c)
 	db $0, "Oww!", $58
 ; 0x9020c + 6 bytes
 
-_Route12AfterBattleText3: ; 0x90212
+_Route12AfterBattleText3: ; 90212 (24:4212)
 	db $0, "I could have made", $4f
 	db "my #MON evolve", $55
 	db "with MOON STONE!", $57
 ; 0x90212 + 51 bytes
 
-_Route12BattleText4: ; 0x90245
+_Route12BattleText4: ; 90245 (24:4245)
 	db $0, "Electricity is my", $4f
 	db "specialty!", $57
 ; 0x90245 + 30 bytes
 
-_Route12EndBattleText4: ; 0x90263
+_Route12EndBattleText4: ; 90263 (24:4263)
 	db $0, "Unplugged!", $58
 ; 0x90263 + 12 bytes
 
-_Route12AfterBattleText4: ; 0x9026f
+_Route12AfterBattleText4: ; 9026f (24:426f)
 	db $0, "Water conducts", $4f
 	db "electricity, so", $55
 	db "you should zap", $55
@@ -118215,185 +119440,185 @@
 	db "sea #MON!", $57
 ; 0x9026f + 57 bytes
 
-_Route12BattleText5: ; 0x902a8
+_Route12BattleText5: ; 902a8 (24:42a8)
 	db $0, "The FISHING FOOL", $4f
 	db "vs. #MON KID!", $57
 ; 0x902a8 + 32 bytes
 
-_Route12EndBattleText5: ; 0x902c8
+_Route12EndBattleText5: ; 902c8 (24:42c8)
 	db $0, "Too", $4f
 	db "much!", $58
 ; 0x902c8 + 11 bytes
 
-_Route12AfterBattleText5: ; 0x902d3
+_Route12AfterBattleText5: ; 902d3 (24:42d3)
 	db $0, "You beat me at", $4f
 	db "#MON, but I'm", $55
 	db "good at fishing!", $57
 ; 0x902d3 + 46 bytes
 
-_Route12BattleText6: ; 0x90301
+_Route12BattleText6: ; 90301 (24:4301)
 	db $0, "I'd rather be", $4f
 	db "working!", $57
 ; 0x90301 + 23 bytes
 
-_Route12EndBattleText6: ; 0x90318
+_Route12EndBattleText6: ; 90318 (24:4318)
 	db $0, "It's", $4f
 	db "not easy...", $58
 ; 0x90318 + 17 bytes
 
-_Route12AfterBattleText6: ; 0x90329
+_Route12AfterBattleText6: ; 90329 (24:4329)
 	db $0, "It's all right.", $4f
 	db "Losing doesn't", $55
 	db "bug me any more.", $57
 ; 0x90329 + 47 bytes
 
-_Route12BattleText7: ; 0x90358
+_Route12BattleText7: ; 90358 (24:4358)
 	db $0, "You never know", $4f
 	db "what you could", $55
 	db "catch!", $57
 ; 0x90358 + 38 bytes
 
-_Route12EndBattleText7: ; 0x9037e
+_Route12EndBattleText7: ; 9037e (24:437e)
 	db $0, "Lost", $4f
 	db "it!", $58
 ; 0x9037e + 10 bytes
 
-_Route12AfterBattleText7: ; 0x90388
+_Route12AfterBattleText7: ; 90388 (24:4388)
 	db $0, "I catch MAGIKARP", $4f
 	db "all the time, but", $55
 	db "they're so weak!", $57
 ; 0x90388 + 52 bytes
 
-_Route12Text11: ; 0x903bc
+_Route12Text11: ; 903bc (24:43bc)
 	db $0, "ROUTE 12 ", $4f
 	db "North to LAVENDER", $57
 
-_Route12Text12: ; 0x903d9
+_Route12Text12: ; 903d9 (24:43d9)
 	db $0, "SPORT FISHING AREA", $57
 
-_Route13BattleText2: ; 0x903ed
+_Route13BattleText2: ; 903ed (24:43ed)
 	db $0, "My bird #MON", $4f
 	db "want to scrap!", $57
 ; 0x903ed + 29 bytes
 
-_Route13EndBattleText2: ; 0x9040a
+_Route13EndBattleText2: ; 9040a (24:440a)
 	db $0, "My", $4f
 	db "bird combo lost?", $58
 ; 0x9040a + 21 bytes
 
-_Route13AfterBattleText2: ; 0x9041f
+_Route13AfterBattleText2: ; 9041f (24:441f)
 	db $0, "My #MON look", $4f
 	db "happy even though", $55
 	db "they lost.", $57
 ; 0x9041f + 43 bytes
 
-_Route13BattleText3: ; 0x9044a
+_Route13BattleText3: ; 9044a (24:444a)
 	db $0, "I'm told I'm good", $4f
 	db "for a kid!", $57
 ; 0x9044a + 28 bytes
 
-_Route13EndBattleText3: ; 0x90466
+_Route13EndBattleText3: ; 90466 (24:4466)
 	db $0, "Ohh!", $4f
 	db "I lost!", $58
 ; 0x90466 + 14 bytes
 
-_Route13AfterBattleText3: ; 0x90474
+_Route13AfterBattleText3: ; 90474 (24:4474)
 	db $0, "I want to become", $4f
 	db "a good trainer.", $55
 	db "I'll train hard.", $57
 ; 0x90474 + 50 bytes
 
-_Route13BattleText4: ; 0x904a6
+_Route13BattleText4: ; 904a6 (24:44a6)
 	db $0, "Wow! Your BADGEs", $4f
 	db "are too cool!", $57
 ; 0x904a6 + 32 bytes
 
-_Route13EndBattleText4: ; 0x904c6
+_Route13EndBattleText4: ; 904c6 (24:44c6)
 	db $0, "Not", $4f
 	db "enough!", $58
 ; 0x904c6 + 13 bytes
 
-_Route13AfterBattleText4: ; 0x904d3
+_Route13AfterBattleText4: ; 904d3 (24:44d3)
 	db $0, "You got those", $4f
 	db "BADGEs from GYM", $55
 	db "LEADERs. I know!", $57
 ; 0x904d3 + 48 bytes
 
-_Route13BattleText5: ; 0x90503
+_Route13BattleText5: ; 90503 (24:4503)
 	db $0, "My cute #MON", $4f
 	db "wish to make your", $55
 	db "acquaintance.", $57
 ; 0x90503 + 46 bytes
 
-_Route13EndBattleText5: ; 0x90531
+_Route13EndBattleText5: ; 90531 (24:4531)
 	db $0, "Wow!", $4f
 	db "You totally won!", $58
 ; 0x90531 + 23 bytes
 
-_Route13AfterBattleText5: ; 0x90548
+_Route13AfterBattleText5: ; 90548 (24:4548)
 	db $0, "You have to make", $4f
 	db "#MON fight to", $55
 	db "toughen them up!", $57
 ; 0x90548 + 49 bytes
 
-_Route13BattleText6: ; 0x90579
+_Route13BattleText6: ; 90579 (24:4579)
 	db $0, "I found CARBOS in", $4f
 	db "a cave once.", $57
 ; 0x90579 + 32 bytes
 
-_Route13EndBattleText6: ; 0x90599
+_Route13EndBattleText6: ; 90599 (24:4599)
 	db $0, "Just", $4f
 	db "messed up!", $58
 ; 0x90599 + 17 bytes
 
-_Route13AfterBattleText6: ; 0x905aa
+_Route13AfterBattleText6: ; 905aa (24:45aa)
 	db $0, "CARBOS boosted", $4f
 	db "the SPEED of my", $55
 	db "#MON.", $57
 ; 0x905aa + 38 bytes
 
-_Route13BattleText7: ; 0x905d0
+_Route13BattleText7: ; 905d0 (24:45d0)
 	db $0, "The wind's blowing", $4f
 	db "my way!", $57
 ; 0x905d0 + 27 bytes
 
-_Route13EndBattleText7: ; 0x905eb
+_Route13EndBattleText7: ; 905eb (24:45eb)
 	db $0, "The", $4f
 	db "wind turned!", $58
 ; 0x905eb + 18 bytes
 
-_Route13AfterBattleText7: ; 0x905fd
+_Route13AfterBattleText7: ; 905fd (24:45fd)
 	db $0, "I'm beat. I guess", $4f
 	db "I'll FLY home.", $57
 ; 0x905fd + 32 bytes
 
-_Route13BattleText8: ; 0x9061d
+_Route13BattleText8: ; 9061d (24:461d)
 	db $0, "Sure, I'll play", $4f
 	db "with you!", $57
 ; 0x9061d + 26 bytes
 
-_Route13EndBattleText8: ; 0x90637
+_Route13EndBattleText8: ; 90637 (24:4637)
 	db $0, "Oh!", $4f
 	db "You little brute!", $58
 ; 0x90637 + 23 bytes
 
-_Route13AfterBattleText8: ; 0x9064e
+_Route13AfterBattleText8: ; 9064e (24:464e)
 	db $0, "I wonder which is", $4f
 	db "stronger, male or", $55
 	db "female #MON?", $57
 ; 0x9064e + 50 bytes
 
-_Route13BattleText9: ; 0x90680
+_Route13BattleText9: ; 90680 (24:4680)
 	db $0, "Do you want to", $4f
 	db "#MON with me?", $57
 ; 0x90680 + 30 bytes
 
-_Route13EndBattleText9: ; 0x9069e
+_Route13EndBattleText9: ; 9069e (24:469e)
 	db $0, "It's over", $4f
 	db "already?", $58
 ; 0x9069e + 19 bytes
 
-_Route13AfterBattleText9: ; 0x906b1
+_Route13AfterBattleText9: ; 906b1 (24:46b1)
 	db $0, "I don't know", $4f
 	db "anything about", $55
 	db "#MON. I just", $55
@@ -118400,64 +119625,64 @@
 	db "like cool ones!", $57
 ; 0x906b1 + 57 bytes
 
-_Route13BattleText10: ; 0x906ea
+_Route13BattleText10: ; 906ea (24:46ea)
 	db $0, "What're you", $4f
 	db "lookin' at?", $57
 ; 0x906ea + 24 bytes
 
-_Route13EndBattleText10: ; 0x90702
+_Route13EndBattleText10: ; 90702 (24:4702)
 	db $0, "Dang!", $4f
 	db "Stripped gears!", $58
 ; 0x90702 + 23 bytes
 
-_Route13AfterBattleText10: ; 0x90719
+_Route13AfterBattleText10: ; 90719 (24:4719)
 	db $0, "Get lost!", $57
 ; 0x90719 + 11 bytes
 
-_Route13BattleText11: ; 0x90724
+_Route13BattleText11: ; 90724 (24:4724)
 	db $0, "I always go with", $4f
 	db "bird #MON!", $57
 ; 0x90724 + 29 bytes
 
-_Route13EndBattleText11: ; 0x90741
+_Route13EndBattleText11: ; 90741 (24:4741)
 	db $0, "Out", $4f
 	db "of power!", $58
 ; 0x90741 + 15 bytes
 
-_Route13AfterBattleText11: ; 0x90750
+_Route13AfterBattleText11: ; 90750 (24:4750)
 	db $0, "I wish I could", $4f
 	db "fly like PIDGEY", $55
 	db "and PIDGEOTTO...", $57
 ; 0x90750 + 49 bytes
 
-_Route13Text11: ; 0x90781
+_Route13Text11: ; 90781 (24:4781)
 	db $0, "TRAINER TIPS", $51
 	db "Look to the left", $4f
 	db "of that post!", $57
 
-_Route13Text12: ; 0x907ae
+_Route13Text12: ; 907ae (24:47ae)
 	db $0, "TRAINER TIPS", $51
 	db "Use SELECT to", $4f
 	db "switch items in", $55
 	db "the ITEM window!", $57
 
-_Route13Text13: ; 0x907eb
+_Route13Text13: ; 907eb (24:47eb)
 	db $0, "ROUTE 13", $4f
 	db "North to SILENCE", $55
 	db "BRIDGE", $57
 
-_Route14BattleText1: ; 0x9080d
+_Route14BattleText1: ; 9080d (24:480d)
 	db $0, "You need to use", $4f
 	db "TMs to teach good", $55
 	db "moves to #MON!", $57
 ; 0x9080d + 50 bytes
 
-_Route14EndBattleText1: ; 0x9083f
+_Route14EndBattleText1: ; 9083f (24:483f)
 	db $0, "Not", $4f
 	db "good enough!", $58
 ; 0x9083f + 18 bytes
 
-_Route14AfterBattleText1: ; 0x90851
+_Route14AfterBattleText1: ; 90851 (24:4851)
 	db $0, "You have some HMs", $4f
 	db "right? #MON", $55
 	db "can't ever forget", $55
@@ -118464,23 +119689,23 @@
 	db "those moves.", $57
 ; 0x90851 + 61 bytes
 
-_Route14BattleText2: ; 0x9088e
+_Route14BattleText2: ; 9088e (24:488e)
 	db $0, "My bird #MON", $4f
 	db "should be ready", $55
 	db "for battle.", $57
 ; 0x9088e + 42 bytes
 
-_Route14EndBattleText2: ; 0x908b8
+_Route14EndBattleText2: ; 908b8 (24:48b8)
 	db $0, "Not", $4f
 	db "ready yet!", $58
 ; 0x908b8 + 16 bytes
 
-_Route14AfterBattleText2: ; 0x908c8
+_Route14AfterBattleText2: ; 908c8 (24:48c8)
 	db $0, "They need to learn", $4f
 	db "better moves.", $57
 ; 0x908c8 + 34 bytes
 
-_Route14BattleText3: ; 0x908ea
+_Route14BattleText3: ; 908ea (24:48ea)
 	db $0, "TMs are on sale", $4f
 	db "in CELADON!", $55
 	db "But, only a few", $55
@@ -118487,12 +119712,12 @@
 	db "people have HMs!", $57
 ; 0x908ea + 62 bytes
 
-_Route14EndBattleText3: ; 0x90928
+_Route14EndBattleText3: ; 90928 (24:4928)
 	db $0, "Aww,", $4f
 	db "bummer!", $58
 ; 0x90928 + 14 bytes
 
-_Route14AfterBattleText3: ; 0x90936
+_Route14AfterBattleText3: ; 90936 (24:4936)
 	db $0, "Teach #MON", $4f
 	db "moves of the same", $55
 	db "element type for", $55
@@ -118499,97 +119724,97 @@
 	db "more power.", $57
 ; 0x90936 + 59 bytes
 
-_Route14BattleText4: ; 0x90971
+_Route14BattleText4: ; 90971 (24:4971)
 	db $0, "Have you taught", $4f
 	db "your bird #MON", $55
 	db "how to FLY?", $57
 ; 0x90971 + 44 bytes
 
-_Route14EndBattleText4: ; 0x9099d
+_Route14EndBattleText4: ; 9099d (24:499d)
 	db $0, "Shot", $4f
 	db "down in flames!", $58
 ; 0x9099d + 22 bytes
 
-_Route14AfterBattleText4: ; 0x909b3
+_Route14AfterBattleText4: ; 909b3 (24:49b3)
 	db $0, "Bird #MON are", $4f
 	db "my true love!", $57
 ; 0x909b3 + 29 bytes
 
-_Route14BattleText5: ; 0x909d0
+_Route14BattleText5: ; 909d0 (24:49d0)
 	db $0, "Have you heard of", $4f
 	db "the legendary", $55
 	db "#MON?", $57
 ; 0x909d0 + 39 bytes
 
-_Route14EndBattleText5: ; 0x909f7
+_Route14EndBattleText5: ; 909f7 (24:49f7)
 	db $0, "Why?", $4f
 	db "Why'd I lose?", $58
 ; 0x909f7 + 19 bytes
 
-_Route14AfterBattleText5: ; 0x90a0a
+_Route14AfterBattleText5: ; 90a0a (24:4a0a)
 	db $0, "The 3 legendary", $4f
 	db "#MON are all", $55
 	db "birds of prey.", $57
 ; 0x90a0a + 45 bytes
 
-_Route14BattleText6: ; 0x90a37
+_Route14BattleText6: ; 90a37 (24:4a37)
 	db $0, "I'm not into it,", $4f
 	db "but OK! Let's go!", $57
 ; 0x90a37 + 34 bytes
 
-_Route14EndBattleText6: ; 0x90a59
+_Route14EndBattleText6: ; 90a59 (24:4a59)
 	db $0, "I", $4f
 	db "knew it!", $58
 ; 0x90a59 + 12 bytes
 
-_Route14AfterBattleText6: ; 0x90a65
+_Route14AfterBattleText6: ; 90a65 (24:4a65)
 	db $0, "Winning, losing,", $4f
 	db "it doesn't matter", $55
 	db "in the long run!", $57
 ; 0x90a65 + 52 bytes
 
-_Route14BattleText7: ; 0x90a99
+_Route14BattleText7: ; 90a99 (24:4a99)
 	db $0, "C'mon, c'mon.", $4f
 	db "Let's go, let's", $55
 	db "go, let's go!", $57
 ; 0x90a99 + 40 bytes
 
-_Route14EndBattleText7: ; 0x90ac1
+_Route14EndBattleText7: ; 90ac1 (24:4ac1)
 	db $0, "Arrg!", $4f
 	db "Lost! Get lost!", $58
 ; 0x90ac1 + 23 bytes
 
-_Route14AfterBattleText7: ; 0x90ad8
+_Route14AfterBattleText7: ; 90ad8 (24:4ad8)
 	db $0, "What, what, what?", $4f
 	db "What do you want?", $57
 ; 0x90ad8 + 37 bytes
 
-_Route14BattleText8: ; 0x90afd
+_Route14BattleText8: ; 90afd (24:4afd)
 	db $0, "Perfect! I need to", $4f
 	db "burn some time!", $57
 ; 0x90afd + 36 bytes
 
-_Route14EndBattleText8: ; 0x90b21
+_Route14EndBattleText8: ; 90b21 (24:4b21)
 	db $0, "What?", $4f
 	db "You!?", $58
 ; 0x90b21 + 13 bytes
 
-_Route14AfterBattleText8: ; 0x90b2e
+_Route14AfterBattleText8: ; 90b2e (24:4b2e)
 	db $0, "Raising #MON", $4f
 	db "is a drag, man.", $57
 ; 0x90b2e + 30 bytes
 
-_Route14BattleText9: ; 0x90b4c
+_Route14BattleText9: ; 90b4c (24:4b4c)
 	db $0, "We ride out here", $4f
 	db "because there's", $55
 	db "more room!", $57
 ; 0x90b4c + 44 bytes
 
-_Route14EndBattleText9: ; 0x90b78
+_Route14EndBattleText9: ; 90b78 (24:4b78)
 	db $0, "Wipe out!", $58
 ; 0x90b78 + 11 bytes
 
-_Route14AfterBattleText9: ; 0x90b83
+_Route14AfterBattleText9: ; 90b83 (24:4b83)
 	db $0, "It's cool you", $4f
 	db "made your #MON", $55
 	db "so strong!", $51
@@ -118597,39 +119822,39 @@
 	db "And you know it!", $57
 ; 0x90b83 + 73 bytes
 
-_Route14BattleText10: ; 0x90bcc
+_Route14BattleText10: ; 90bcc (24:4bcc)
 	db $0, "#MON fight?", $4f
 	db "Cool! Rumble!", $57
 ; 0x90bcc + 27 bytes
 
-_Route14EndBattleText10: ; 0x90be7
+_Route14EndBattleText10: ; 90be7 (24:4be7)
 	db $0, "Blown", $4f
 	db "away!", $58
 ; 0x90be7 + 13 bytes
 
-_Route14AfterBattleText10: ; 0x90bf4
+_Route14AfterBattleText10: ; 90bf4 (24:4bf4)
 	db $0, "You know who'd", $4f
 	db "win, you and me", $55
 	db "one on one!", $57
 ; 0x90bf4 + 43 bytes
 
-_Route14Text11: ; 0x90c1f
+_Route14Text11: ; 90c1f (24:4c1f)
 	db $0, "ROUTE 14", $4f
 	db "West to FUCHSIA", $55
 	db "CITY", $57
 
-_Route15BattleText1: ; 0x90c3e
+_Route15BattleText1: ; 90c3e (24:4c3e)
 	db $0, "Let me try out the", $4f
 	db "#MON I just", $55
 	db "got in a trade!", $57
 ; 0x90c3e + 48 bytes
 
-_Route15EndBattleText1: ; 0x90c6e
+_Route15EndBattleText1: ; 90c6e (24:4c6e)
 	db $0, "Not", $4f
 	db "good enough!", $58
 ; 0x90c6e + 18 bytes
 
-_Route15AfterBattleText1: ; 0x90c80
+_Route15AfterBattleText1: ; 90c80 (24:4c80)
 	db $0, "You can't change", $4f
 	db "the nickname of", $55
 	db "any #MON you", $55
@@ -118638,51 +119863,51 @@
 	db "Trainer can.", $57
 ; 0x90c80 + 93 bytes
 
-_Route15BattleText2: ; 0x90cdd
+_Route15BattleText2: ; 90cdd (24:4cdd)
 	db $0, "You look gentle,", $4f
 	db "so I think I can", $55
 	db "beat you!", $57
 ; 0x90cdd + 45 bytes
 
-_Route15EndBattleText2: ; 0x90d0a
+_Route15EndBattleText2: ; 90d0a (24:4d0a)
 	db $0, "No,", $4f
 	db "wrong!", $58
 ; 0x90d0a + 12 bytes
 
-_Route15AfterBattleText2: ; 0x90d16
+_Route15AfterBattleText2: ; 90d16 (24:4d16)
 	db $0, "I'm afraid of", $4f
 	db "BIKERs, they look", $55
 	db "so ugly and mean!", $57
 ; 0x90d16 + 50 bytes
 
-_Route15BattleText3: ; 0x90d48
+_Route15BattleText3: ; 90d48 (24:4d48)
 	db $0, "When I whistle, I", $4f
 	db "can summon bird", $55
 	db "#MON!", $57
 ; 0x90d48 + 41 bytes
 
-_Route15EndBattleText3: ; 0x90d71
+_Route15EndBattleText3: ; 90d71 (24:4d71)
 	db $0, "Ow!", $4f
 	db "That's tragic!", $58
 ; 0x90d71 + 19 bytes
 
-_Route15AfterBattleText3: ; 0x90d84
+_Route15AfterBattleText3: ; 90d84 (24:4d84)
 	db $0, "Maybe I'm not cut", $4f
 	db "out for battles.", $57
 ; 0x90d84 + 35 bytes
 
-_Route15BattleText4: ; 0x90da7
+_Route15BattleText4: ; 90da7 (24:4da7)
 	db $0, "Hmm? My birds are", $4f
 	db "shivering! You're", $55
 	db "good, aren't you?", $57
 ; 0x90da7 + 53 bytes
 
-_Route15EndBattleText4: ; 0x90ddc
+_Route15EndBattleText4: ; 90ddc (24:4ddc)
 	db $0, "Just", $4f
 	db "as I thought!", $58
 ; 0x90ddc + 20 bytes
 
-_Route15AfterBattleText4: ; 0x90df0
+_Route15AfterBattleText4: ; 90df0 (24:4df0)
 	db $0, "Did you know moves", $4f
 	db "like EARTHQUAKE", $55
 	db "don't have any", $55
@@ -118689,49 +119914,49 @@
 	db "effect on birds?", $57
 ; 0x90df0 + 67 bytes
 
-_Route15BattleText5: ; 0x90e33
+_Route15BattleText5: ; 90e33 (24:4e33)
 	db $0, "Oh, you're a", $4f
 	db "little cutie!", $57
 ; 0x90e33 + 27 bytes
 
-_Route15EndBattleText5: ; 0x90e4e
+_Route15EndBattleText5: ; 90e4e (24:4e4e)
 	db $0, "You looked", $4f
 	db "so cute too!", $58
 ; 0x90e4e + 25 bytes
 
-_Route15AfterBattleText5: ; 0x90e67
+_Route15AfterBattleText5: ; 90e67 (24:4e67)
 	db $0, "I forgive you!", $4f
 	db "I can take it!", $57
 ; 0x90e67 + 31 bytes
 
-_Route15BattleText6: ; 0x90e86
+_Route15BattleText6: ; 90e86 (24:4e86)
 	db $0, "I raise #MON", $4f
 	db "because I live", $55
 	db "alone!", $57
 ; 0x90e86 + 36 bytes
 
-_Route15EndBattleText6: ; 0x90eaa
+_Route15EndBattleText6: ; 90eaa (24:4eaa)
 	db $0, "I didn't", $4f
 	db "ask for this!", $58
 ; 0x90eaa + 23 bytes
 
-_Route15AfterBattleText6: ; 0x90ec1
+_Route15AfterBattleText6: ; 90ec1 (24:4ec1)
 	db $0, "I just like going", $4f
 	db "home to be with", $55
 	db "my #MON!", $57
 ; 0x90ec1 + 44 bytes
 
-_Route15BattleText7: ; 0x90eed
+_Route15BattleText7: ; 90eed (24:4eed)
 	db $0, "Hey kid! C'mon!", $4f
 	db "I just got these!", $57
 ; 0x90eed + 34 bytes
 
-_Route15EndBattleText7: ; 0x90f0f
+_Route15EndBattleText7: ; 90f0f (24:4f0f)
 	db $0, "Why", $4f
 	db "not?", $58
 ; 0x90f0f + 10 bytes
 
-_Route15AfterBattleText7: ; 0x90f19
+_Route15AfterBattleText7: ; 90f19 (24:4f19)
 	db $0, "You only live", $4f
 	db "once, so I live", $55
 	db "as an outlaw!", $55
@@ -118738,113 +119963,113 @@
 	db "TEAM ROCKET RULES!", $57
 ; 0x90f19 + 64 bytes
 
-_Route15BattleText8: ; 0x90f59
+_Route15BattleText8: ; 90f59 (24:4f59)
 	db $0, "Fork over all your", $4f
 	db "cash when you", $55
 	db "lose to me, kid!", $57
 ; 0x90f59 + 51 bytes
 
-_Route15EndBattleText8: ; 0x90f8c
+_Route15EndBattleText8: ; 90f8c (24:4f8c)
 	db $0, "That", $4f
 	db "can't be true!", $58
 ; 0x90f8c + 20 bytes
 
-_Route15AfterBattleText8: ; 0x90fa0
+_Route15AfterBattleText8: ; 90fa0 (24:4fa0)
 	db $0, "I was just joking", $4f
 	db "about the money!", $57
 ; 0x90fa0 + 36 bytes
 
-_Route15BattleText9: ; 0x90fc4
+_Route15BattleText9: ; 90fc4 (24:4fc4)
 	db $0, "What's cool?", $4f
 	db "Trading #MON!", $57
 ; 0x90fc4 + 27 bytes
 
-_Route15EndBattleText9: ; 0x90fdf
+_Route15EndBattleText9: ; 90fdf (24:4fdf)
 	db $0, "I", $4f
 	db "said trade!", $58
 ; 0x90fdf + 15 bytes
 
-_Route15AfterBattleText9: ; 0x90fee
+_Route15AfterBattleText9: ; 90fee (24:4fee)
 	db $0, "I trade #MON", $4f
 	db "with my friends!", $57
 ; 0x90fee + 31 bytes
 
-_Route15BattleText10: ; 0x9100d
+_Route15BattleText10: ; 9100d (24:500d)
 	db $0, "Want to play with", $4f
 	db "my #MON?", $57
 ; 0x9100d + 28 bytes
 
-_Route15EndBattleText10: ; 0x91029
+_Route15EndBattleText10: ; 91029 (24:5029)
 	db $0, "I was", $4f
 	db "too impatient!", $58
 ; 0x91029 + 22 bytes
 
-_Route15AfterBattleText10: ; 0x9103f
+_Route15AfterBattleText10: ; 9103f (24:503f)
 	db $0, "I'll go train with", $4f
 	db "weaker people.@"
 	db $50
 ; 0x9103f + 34 bytes + 1
 
-_Route15Text12: ; 0x91062
+_Route15Text12: ; 91062 (24:5062)
 	db $0, "ROUTE 15", $4f
 	db "West to FUCHSIA", $55
 	db "CITY", $57
 
-_Route16BattleText1: ; 0x91081
+_Route16BattleText1: ; 91081 (24:5081)
 	db $0, "What do you want?", $57
 ; 0x91081 + 19 bytes
 
-_Route16EndBattleText1: ; 0x91094
+_Route16EndBattleText1: ; 91094 (24:5094)
 	db $0, "Don't you", $4f
 	db "dare laugh!", $58
 ; 0x91094 + 22 bytes
 
-_Route16AfterBattleText1: ; 0x910aa
+_Route16AfterBattleText1: ; 910aa (24:50aa)
 	db $0, "We like just", $4f
 	db "hanging here,", $55
 	db "what's it to you?", $57
 ; 0x910aa + 45 bytes
 
-_Route16BattleText2: ; 0x910d7
+_Route16BattleText2: ; 910d7 (24:50d7)
 	db $0, "Nice BIKE!", $4f
 	db "Hand it over!", $57
 ; 0x910d7 + 26 bytes
 
-_Route16EndBattleText2: ; 0x910f1
+_Route16EndBattleText2: ; 910f1 (24:50f1)
 	db $0, "Knock", $4f
 	db "out!", $58
 ; 0x910f1 + 12 bytes
 
-_Route16AfterBattleText2: ; 0x910fd
+_Route16AfterBattleText2: ; 910fd (24:50fd)
 	db $0, "Forget it, who", $4f
 	db "needs your BIKE!", $57
 ; 0x910fd + 33 bytes
 
-_Route16BattleText3: ; 0x9111e
+_Route16BattleText3: ; 9111e (24:511e)
 	db $0, "Come out and play,", $4f
 	db "little mouse!", $57
 ; 0x9111e + 34 bytes
 
-_Route16EndBattleText3: ; 0x91140
+_Route16EndBattleText3: ; 91140 (24:5140)
 	db $0, "You", $4f
 	db "little rat!", $58
 ; 0x91140 + 17 bytes
 
-_Route16AfterBattleText3: ; 0x91151
+_Route16AfterBattleText3: ; 91151 (24:5151)
 	db $0, "I hate losing!", $4f
 	db "Get away from me!", $57
 ; 0x91151 + 34 bytes
 
-_Route16BattleText4: ; 0x91173
+_Route16BattleText4: ; 91173 (24:5173)
 	db $0, "Hey, you just", $4f
 	db "bumped me!", $57
 ; 0x91173 + 26 bytes
 
-_Route16EndBattleText4: ; 0x9118d
+_Route16EndBattleText4: ; 9118d (24:518d)
 	db $0, "Kaboom!", $58
 ; 0x9118d + 9 bytes
 
-_Route16AfterBattleText4: ; 0x91196
+_Route16AfterBattleText4: ; 91196 (24:5196)
 	db $0, "You can also get", $4f
 	db "to FUCHSIA from", $55
 	db "VERMILION using a", $55
@@ -118851,217 +120076,217 @@
 	db "coastal road.", $57
 ; 0x91196 + 66 bytes
 
-_Route16BattleText5: ; 0x911d8
+_Route16BattleText5: ; 911d8 (24:51d8)
 	db $0, "I'm feeling", $4f
 	db "hungry and mean!", $57
 ; 0x911d8 + 29 bytes
 
-_Route16EndBattleText5: ; 0x911f5
+_Route16EndBattleText5: ; 911f5 (24:51f5)
 	db $0, "Bad,", $4f
 	db "bad, bad!", $58
 ; 0x911f5 + 16 bytes
 
-_Route16AfterBattleText5: ; 0x91205
+_Route16AfterBattleText5: ; 91205 (24:5205)
 	db $0, "I like my #MON", $4f
 	db "ferocious! They", $55
 	db "tear up enemies!", $57
 ; 0x91205 + 49 bytes
 
-_Route16BattleText6: ; 0x91236
+_Route16BattleText6: ; 91236 (24:5236)
 	db $0, "Sure, I'll go!", $57
 ; 0x91236 + 15 bytes
 
-_Route16EndBattleText6: ; 0x91245
+_Route16EndBattleText6: ; 91245 (24:5245)
 	db $0, "Don't make", $4f
 	db "me mad!", $58
 ; 0x91245 + 19 bytes
 
-_Route16AfterBattleText6: ; 0x91258
+_Route16AfterBattleText6: ; 91258 (24:5258)
 	db $0, "I like harassing", $4f
 	db "people with my", $55
 	db "vicious #MON!", $57
 ; 0x91258 + 47 bytes
 
-_Route16Text7: ; 0x91287
+_Route16Text7: ; 91287 (24:5287)
 	db $0, "A sleeping #MON", $4f
 	db "blocks the way!", $57
 
-_UnnamedText_59ab3: ; 0x912a8
+_UnnamedText_59ab3: ; 912a8 (24:52a8)
 	db $0, "SNORLAX woke up!", $51
 	db "It attacked in a", $4f
 	db "grumpy rage!", $57
 ; 0x912a8 + 48 bytes
 
-_UnnamedText_59ab8: ; 0x912d8
+_UnnamedText_59ab8: ; 912d8 (24:52d8)
 	db $0, "With a big yawn,", $4f
 	db "SNORLAX returned", $55
 	db "to the mountains!", $57
 ; 0x912d8 + 53 bytes
 
-_Route16Text8: ; 0x9130d
+_Route16Text8: ; 9130d (24:530d)
 	db $0, "Enjoy the slope!", $4f
 	db "CYCLING ROAD", $57
 
-_Route16Text9: ; 0x9132c
+_Route16Text9: ; 9132c (24:532c)
 	db $0, "ROUTE 16", $4f
 	db "CELADON CITY -", $55
 	db "FUCHSIA CITY", $57
 
-_Route17BattleText1: ; 0x91352
+_Route17BattleText1: ; 91352 (24:5352)
 	db $0, "There's no money", $4f
 	db "in fighting kids!", $57
 ; 0x91352 + 35 bytes
 
-_Route17EndBattleText1: ; 0x91375
+_Route17EndBattleText1: ; 91375 (24:5375)
 	db $0, "Burned", $4f
 	db "out!", $58
 ; 0x91375 + 13 bytes
 
-_Route17AfterBattleText1: ; 0x91382
+_Route17AfterBattleText1: ; 91382 (24:5382)
 	db $0, "Good stuff is", $4f
 	db "lying around on", $55
 	db "CYCLING ROAD!", $57
 ; 0x91382 + 45 bytes
 
-_Route17BattleText2: ; 0x913af
+_Route17BattleText2: ; 913af (24:53af)
 	db $0, "What do you want,", $4f
 	db "kiddo?", $57
 ; 0x913af + 26 bytes
 
-_Route17EndBattleText2: ; 0x913c9
+_Route17EndBattleText2: ; 913c9 (24:53c9)
 	db $0, "Whoo!", $58
 ; 0x913c9 + 7 bytes
 
-_Route17AfterBattleText2: ; 0x913d0
+_Route17AfterBattleText2: ; 913d0 (24:53d0)
 	db $0, "I could belly-", $4f
 	db "bump you outta", $55
 	db "here!", $57
 ; 0x913d0 + 37 bytes
 
-_Route17BattleText3: ; 0x913f5
+_Route17BattleText3: ; 913f5 (24:53f5)
 	db $0, "You heading to", $4f
 	db "FUCHSIA?", $57
 ; 0x913f5 + 25 bytes
 
-_Route17EndBattleText3: ; 0x9140e
+_Route17EndBattleText3: ; 9140e (24:540e)
 	db $0, "Crash and", $4f
 	db "burn!", $58
 ; 0x9140e + 17 bytes
 
-_Route17AfterBattleText3: ; 0x9141f
+_Route17AfterBattleText3: ; 9141f (24:541f)
 	db $0, "I love racing", $4f
 	db "downhill!", $57
 ; 0x9141f + 25 bytes
 
-_Route17BattleText4: ; 0x91438
+_Route17BattleText4: ; 91438 (24:5438)
 	db $0, "We're BIKERs!", $4f
 	db "Highway stars!", $57
 ; 0x91438 + 29 bytes
 
-_Route17EndBattleText4: ; 0x91455
+_Route17EndBattleText4: ; 91455 (24:5455)
 	db $0, "Smoked!", $58
 ; 0x91455 + 9 bytes
 
-_Route17AfterBattleText4: ; 0x9145e
+_Route17AfterBattleText4: ; 9145e (24:545e)
 	db $0, "Are you looking", $4f
 	db "for adventure?", $57
 ; 0x9145e + 32 bytes
 
-_Route17BattleText5: ; 0x9147e
+_Route17BattleText5: ; 9147e (24:547e)
 	db $0, "Let VOLTORB", $4f
 	db "electrify you!", $57
 ; 0x9147e + 28 bytes
 
-_Route17EndBattleText5: ; 0x9149a
+_Route17EndBattleText5: ; 9149a (24:549a)
 	db $0, "Grounded", $4f
 	db "out!", $58
 ; 0x9149a + 15 bytes
 
-_Route17AfterBattleText5: ; 0x914a9
+_Route17AfterBattleText5: ; 914a9 (24:54a9)
 	db $0, "I got my VOLTORB", $4f
 	db "at the abandoned", $55
 	db "POWER PLANT.", $57
 ; 0x914a9 + 48 bytes
 
-_Route17BattleText6: ; 0x914d9
+_Route17BattleText6: ; 914d9 (24:54d9)
 	db $0, "My #MON won't", $4f
 	db "evolve! Why?", $57
 ; 0x914d9 + 27 bytes
 
-_Route17EndBattleText6: ; 0x914f4
+_Route17EndBattleText6: ; 914f4 (24:54f4)
 	db $0, "Why,", $4f
 	db "you!", $58
 ; 0x914f4 + 11 bytes
 
-_Route17AfterBattleText6: ; 0x914ff
+_Route17AfterBattleText6: ; 914ff (24:54ff)
 	db $0, "Maybe some #MON", $4f
 	db "need element", $55
 	db "STONEs to evolve.", $57
 ; 0x914ff + 48 bytes
 
-_Route17BattleText7: ; 0x9152f
+_Route17BattleText7: ; 9152f (24:552f)
 	db $0, "I need a little", $4f
 	db "exercise!", $57
 ; 0x9152f + 27 bytes
 
-_Route17EndBattleText7: ; 0x9154a
+_Route17EndBattleText7: ; 9154a (24:554a)
 	db $0, "Whew!", $4f
 	db "Good workout!", $58
 ; 0x9154a + 21 bytes
 
-_Route17AfterBattleText7: ; 0x9155f
+_Route17AfterBattleText7: ; 9155f (24:555f)
 	db $0, "I'm sure I lost", $4f
 	db "weight there!", $57
 ; 0x9155f + 30 bytes
 
-_Route17BattleText8: ; 0x9157d
+_Route17BattleText8: ; 9157d (24:557d)
 	db $0, "Be a rebel!", $57
 ; 0x9157d + 13 bytes
 
-_Route17EndBattleText8: ; 0x9158a
+_Route17EndBattleText8: ; 9158a (24:558a)
 	db $0, "Aaaargh!", $58
 ; 0x9158a + 10 bytes
 
-_Route17AfterBattleText8: ; 0x91594
+_Route17AfterBattleText8: ; 91594 (24:5594)
 	db $0, "Be ready to fight", $4f
 	db "for your beliefs!", $57
 ; 0x91594 + 37 bytes
 
-_Route17BattleText9: ; 0x915b9
+_Route17BattleText9: ; 915b9 (24:55b9)
 	db $0, "Nice BIKE!", $4f
 	db "How's it handle?", $57
 ; 0x915b9 + 28 bytes
 
-_Route17EndBattleText9: ; 0x915d5
+_Route17EndBattleText9: ; 915d5 (24:55d5)
 	db $0, "Shoot!", $58
 ; 0x915d5 + 8 bytes
 
-_Route17AfterBattleText9: ; 0x915dd
+_Route17AfterBattleText9: ; 915dd (24:55dd)
 	db $0, "The slope makes", $4f
 	db "it hard to steer!", $57
 ; 0x915dd + 35 bytes
 
-_Route17BattleText10: ; 0x91600
+_Route17BattleText10: ; 91600 (24:5600)
 	db $0, "Get lost kid!", $4f
 	db "I'm bushed!", $57
 ; 0x91600 + 26 bytes
 
-_Route17EndBattleText10: ; 0x9161a
+_Route17EndBattleText10: ; 9161a (24:561a)
 	db $0, "Are you", $4f
 	db "satisfied?", $58
 ; 0x9161a + 20 bytes
 
-_Route17AfterBattleText10: ; 0x9162e
+_Route17AfterBattleText10: ; 9162e (24:562e)
 	db $0, "I need to catch", $4f
 	db "a few Zs!", $57
 ; 0x9162e + 27 bytes
 
-_Route17Text11: ; 0x91649
+_Route17Text11: ; 91649 (24:5649)
 	db $0, "It's a notice!", $51
 	db "Watch out for", $4f
 	db "discarded items!", $57
 
-_Route17Text12: ; 0x91677
+_Route17Text12: ; 91677 (24:5677)
 	db $0, "TRAINER TIPS", $51
 	db "All #MON are", $4f
 	db "unique.", $51
@@ -119070,7 +120295,7 @@
 	db "level grow at", $55
 	db "different rates.", $57
 
-_Route17Text13: ; 0x916d8
+_Route17Text13: ; 916d8 (24:56d8)
 	db $0, "TRAINER TIPS", $51
 	db "Press the A or B", $4f
 	db "Button to stay in", $55
@@ -119077,366 +120302,366 @@
 	db "place while on a", $55
 	db "slope.", $57
 
-_Route17Text14: ; 0x91721
+_Route17Text14: ; 91721 (24:5721)
 	db $0, "ROUTE 17", $4f
 	db "CELADON CITY -", $55
 	db "FUCHSIA CITY", $57
 
-_Route17Text15: ; 0x91747
+_Route17Text15: ; 91747 (24:5747)
 	db $0, "It's a notice!", $51
 	db "Don't throw the", $4f
 	db "game, throw #", $55
 	db "BALLs instead!", $57
 
-_Route17Text16: ; 0x91782
+_Route17Text16: ; 91782 (24:5782)
 	db $0, "CYCLING ROAD", $4f
 	db "Slope ends here!", $57
 
-_Route18BattleText1: ; 0x917a1
+_Route18BattleText1: ; 917a1 (24:57a1)
 	db $0, "I always check", $4f
 	db "every grassy area", $55
 	db "for new #MON.", $57
 ; 0x917a1 + 48 bytes
 
-_Route18EndBattleText1: ; 0x917d1
+_Route18EndBattleText1: ; 917d1 (24:57d1)
 	db $0, "Tch!", $58
 ; 0x917d1 + 6 bytes
 
-_Route18AfterBattleText1: ; 0x917d7
+_Route18AfterBattleText1: ; 917d7 (24:57d7)
 	db $0, "I wish I had a", $4f
 	db "BIKE!", $57
 ; 0x917d7 + 22 bytes
 
-_Route18BattleText2: ; 0x917ed
+_Route18BattleText2: ; 917ed (24:57ed)
 	db $0, "Kurukkoo!", $4f
 	db "How do you like", $55
 	db "my bird call?", $57
 ; 0x917ed + 41 bytes
 
-_Route18EndBattleText2: ; 0x91816
+_Route18EndBattleText2: ; 91816 (24:5816)
 	db $0, "I", $4f
 	db "had to bug you!", $58
 ; 0x91816 + 19 bytes
 
-_Route18AfterBattleText2: ; 0x91829
+_Route18AfterBattleText2: ; 91829 (24:5829)
 	db $0, "I also collect sea", $4f
 	db "#MON on", $55
 	db "weekends!", $57
 ; 0x91829 + 38 bytes
 
-_Route18BattleText3: ; 0x9184f
+_Route18BattleText3: ; 9184f (24:584f)
 	db $0, "This is my turf!", $4f
 	db "Get out of here!", $57
 ; 0x9184f + 35 bytes
 
-_Route18EndBattleText3: ; 0x91872
+_Route18EndBattleText3: ; 91872 (24:5872)
 	db $0, "Darn!", $58
 ; 0x91872 + 7 bytes
 
-_Route18AfterBattleText3: ; 0x91879
+_Route18AfterBattleText3: ; 91879 (24:5879)
 	db $0, "This is my fave", $4f
 	db "#MON hunting", $55
 	db "area!", $57
 ; 0x91879 + 36 bytes
 
-_Route18Text4: ; 0x9189d
+_Route18Text4: ; 9189d (24:589d)
 	db $0, "ROUTE 18", $4f
 	db "CELADON CITY -", $55
 	db "FUCHSIA CITY", $57
 
-_Route18Text5: ; 0x918c3
+_Route18Text5: ; 918c3 (24:58c3)
 	db $0, "CYCLING ROAD", $4f
 	db "No pedestrians", $55
 	db "permitted!", $57
 
-_Route19BattleText1: ; 0x918eb
+_Route19BattleText1: ; 918eb (24:58eb)
 	db $0, "Have to warm up", $4f
 	db "before my swim!", $57
 ; 0x918eb + 33 bytes
 
-_Route19EndBattleText1: ; 0x9190c
+_Route19EndBattleText1: ; 9190c (24:590c)
 	db $0, "All", $4f
 	db "warmed up!", $58
 ; 0x9190c + 16 bytes
 
-_Route19AfterBattleText1: ; 0x9191c
+_Route19AfterBattleText1: ; 9191c (24:591c)
 	db $0, "Thanks, kid! I'm", $4f
 	db "ready for a swim!", $57
 ; 0x9191c + 35 bytes
 
-_Route19BattleText2: ; 0x9193f
+_Route19BattleText2: ; 9193f (24:593f)
 	db $0, "Wait! You'll have", $4f
 	db "a heart attack!", $57
 ; 0x9193f + 34 bytes
 
-_Route19EndBattleText2: ; 0x91961
+_Route19EndBattleText2: ; 91961 (24:5961)
 	db $0, "Ooh!", $4f
 	db "That's chilly!", $58
 ; 0x91961 + 20 bytes
 
-_Route19AfterBattleText2: ; 0x91975
+_Route19AfterBattleText2: ; 91975 (24:5975)
 	db $0, "Watch out for", $4f
 	db "TENTACOOL!", $57
 ; 0x91975 + 26 bytes
 
-_Route19BattleText3: ; 0x9198f
+_Route19BattleText3: ; 9198f (24:598f)
 	db $0, "I love swimming!", $4f
 	db "What about you?", $57
 ; 0x9198f + 34 bytes
 
-_Route19EndBattleText3: ; 0x919b1
+_Route19EndBattleText3: ; 919b1 (24:59b1)
 	db $0, "Belly", $4f
 	db "flop!", $58
 ; 0x919b1 + 13 bytes
 
-_Route19AfterBattleText3: ; 0x919be
+_Route19AfterBattleText3: ; 919be (24:59be)
 	db $0, "I can beat #MON", $4f
 	db "at swimming!", $57
 ; 0x919be + 30 bytes
 
-_Route19BattleText4: ; 0x919dc
+_Route19BattleText4: ; 919dc (24:59dc)
 	db $0, "What's beyond the", $4f
 	db "horizon?", $57
 ; 0x919dc + 27 bytes
 
-_Route19EndBattleText4: ; 0x919f7
+_Route19EndBattleText4: ; 919f7 (24:59f7)
 	db $0, "Glub!", $58
 ; 0x919f7 + 7 bytes
 
-_Route19AfterBattleText4: ; 0x919fe
+_Route19AfterBattleText4: ; 919fe (24:59fe)
 	db $0, "I see a couple of", $4f
 	db "islands!", $57
 ; 0x919fe + 28 bytes
 
-_Route19BattleText5: ; 0x91a1a
+_Route19BattleText5: ; 91a1a (24:5a1a)
 	db $0, "I tried diving", $4f
 	db "for #MON, but", $55
 	db "it was a no go!", $57
 ; 0x91a1a + 46 bytes
 
-_Route19EndBattleText5: ; 0x91a48
+_Route19EndBattleText5: ; 91a48 (24:5a48)
 	db $0, "Help!", $58
 ; 0x91a48 + 7 bytes
 
-_Route19AfterBattleText5: ; 0x91a4f
+_Route19AfterBattleText5: ; 91a4f (24:5a4f)
 	db $0, "You have to fish", $4f
 	db "for sea #MON!", $57
 ; 0x91a4f + 32 bytes
 
-_Route19BattleText6: ; 0x91a6f
+_Route19BattleText6: ; 91a6f (24:5a6f)
 	db $0, "I look at the", $4f
 	db "sea to forget!", $57
 ; 0x91a6f + 30 bytes
 
-_Route19EndBattleText6: ; 0x91a8d
+_Route19EndBattleText6: ; 91a8d (24:5a8d)
 	db $0, "Ooh!", $4f
 	db "Traumatic!", $58
 ; 0x91a8d + 17 bytes
 
-_Route19AfterBattleText6: ; 0x91a9e
+_Route19AfterBattleText6: ; 91a9e (24:5a9e)
 	db $0, "I'm looking at the", $4f
 	db "sea to forget!", $57
 ; 0x91a9e + 34 bytes
 
-_Route19BattleText7: ; 0x91ac0
+_Route19BattleText7: ; 91ac0 (24:5ac0)
 	db $0, "Oh, I just love", $4f
 	db "your ride! Can I", $55
 	db "have it if I win?", $57
 ; 0x91ac0 + 52 bytes
 
-_Route19EndBattleText7: ; 0x91af4
+_Route19EndBattleText7: ; 91af4 (24:5af4)
 	db $0, "Oh!", $4f
 	db "I lost!", $58
 ; 0x91af4 + 13 bytes
 
-_Route19AfterBattleText7: ; 0x91b01
+_Route19AfterBattleText7: ; 91b01 (24:5b01)
 	db $0, "It's still a long", $4f
 	db "way to go to", $55
 	db "SEAFOAM ISLANDS.", $57
 ; 0x91b01 + 48 bytes
 
-_Route19BattleText8: ; 0x91b31
+_Route19BattleText8: ; 91b31 (24:5b31)
 	db $0, "Swimming's great!", $4f
 	db "Sunburns aren't!", $57
 ; 0x91b31 + 34 bytes
 
-_Route19EndBattleText8: ; 0x91b53
+_Route19EndBattleText8: ; 91b53 (24:5b53)
 	db $0, "Shocker!", $58
 ; 0x91b53 + 10 bytes
 
-_Route19AfterBattleText8: ; 0x91b5d
+_Route19AfterBattleText8: ; 91b5d (24:5b5d)
 	db $0, "My boy friend", $4f
 	db "wanted to swim to", $55
 	db "SEAFOAM ISLANDS.", $57
 ; 0x91b5d + 50 bytes
 
-_Route19BattleText9: ; 0x91b8f
+_Route19BattleText9: ; 91b8f (24:5b8f)
 	db $0, "These waters are", $4f
 	db "treacherous!", $57
 ; 0x91b8f + 31 bytes
 
-_Route19EndBattleText9: ; 0x91bae
+_Route19EndBattleText9: ; 91bae (24:5bae)
 	db $0, "Ooh!", $4f
 	db "Dangerous!", $58
 ; 0x91bae + 17 bytes
 
-_Route19AfterBattleText9: ; 0x91bbf
+_Route19AfterBattleText9: ; 91bbf (24:5bbf)
 	db $0, "I got a cramp!", $4f
 	db "Glub, glub...", $57
 ; 0x91bbf + 30 bytes
 
-_Route19BattleText10: ; 0x91bdd
+_Route19BattleText10: ; 91bdd (24:5bdd)
 	db $0, "I swam here, but", $4f
 	db "I'm tired.", $57
 ; 0x91bdd + 28 bytes
 
-_Route19EndBattleText10: ; 0x91bf9
+_Route19EndBattleText10: ; 91bf9 (24:5bf9)
 	db $0, "I'm", $4f
 	db "exhausted...", $58
 ; 0x91bf9 + 17 bytes
 
-_Route19AfterBattleText10: ; 0x91c0a
+_Route19AfterBattleText10: ; 91c0a (24:5c0a)
 	db $0, "LAPRAS is so big,", $4f
 	db "it must keep you", $55
 	db "dry on water.", $57
 ; 0x91c0a + 50 bytes
 
-_Route19Text11: ; 0x91c3c
+_Route19Text11: ; 91c3c (24:5c3c)
 	db $0, "SEA ROUTE 19", $4f
 	db "FUCHSIA CITY -", $55
 	db "SEAFOAM ISLANDS", $57
 
-_Route20BattleText1: ; 0x91c69
+_Route20BattleText1: ; 91c69 (24:5c69)
 	db $0, "The water is", $4f
 	db "shallow here.", $57
 ; 0x91c69 + 28 bytes
 
-_Route20EndBattleText1: ; 0x91c85
+_Route20EndBattleText1: ; 91c85 (24:5c85)
 	db $0, "Splash!", $58
 ; 0x91c85 + 9 bytes
 
-_Route20AfterBattleText1: ; 0x91c8e
+_Route20AfterBattleText1: ; 91c8e (24:5c8e)
 	db $0, "I wish I could", $4f
 	db "ride my #MON.", $57
 ; 0x91c8e + 30 bytes
 
-_Route20BattleText2: ; 0x91cac
+_Route20BattleText2: ; 91cac (24:5cac)
 	db $0, "SEAFOAM is a", $4f
 	db "quiet getaway!", $57
 ; 0x91cac + 29 bytes
 
-_Route20EndBattleText2: ; 0x91cc9
+_Route20EndBattleText2: ; 91cc9 (24:5cc9)
 	db $0, "Quit it!", $58
 ; 0x91cc9 + 10 bytes
 
-_Route20AfterBattleText2: ; 0x91cd3
+_Route20AfterBattleText2: ; 91cd3 (24:5cd3)
 	db $0, "There's a huge", $4f
 	db "cavern underneath", $55
 	db "this island.", $57
 ; 0x91cd3 + 46 bytes
 
-_Route20BattleText3: ; 0x91d01
+_Route20BattleText3: ; 91d01 (24:5d01)
 	db $0, "I love floating", $4f
 	db "with the fishes!", $57
 ; 0x91d01 + 34 bytes
 
-_Route20EndBattleText3: ; 0x91d23
+_Route20EndBattleText3: ; 91d23 (24:5d23)
 	db $0, "Yowch!", $58
 ; 0x91d23 + 8 bytes
 
-_Route20AfterBattleText3: ; 0x91d2b
+_Route20AfterBattleText3: ; 91d2b (24:5d2b)
 	db $0, "Want to float", $4f
 	db "with me?", $57
 ; 0x91d2b + 24 bytes
 
-_Route20BattleText4: ; 0x91d43
+_Route20BattleText4: ; 91d43 (24:5d43)
 	db $0, "Are you on", $4f
 	db "vacation too?", $57
 ; 0x91d43 + 26 bytes
 
-_Route20EndBattleText4: ; 0x91d5d
+_Route20EndBattleText4: ; 91d5d (24:5d5d)
 	db $0, "No", $4f
 	db "mercy at all!", $58
 ; 0x91d5d + 18 bytes
 
-_Route20AfterBattleText4: ; 0x91d6f
+_Route20AfterBattleText4: ; 91d6f (24:5d6f)
 	db $0, "SEAFOAM used to", $4f
 	db "be one island!", $57
 ; 0x91d6f + 32 bytes
 
-_Route20BattleText5: ; 0x91d8f
+_Route20BattleText5: ; 91d8f (24:5d8f)
 	db $0, "Check out my buff", $4f
 	db "physique!", $57
 ; 0x91d8f + 29 bytes
 
-_Route20EndBattleText5: ; 0x91dac
+_Route20EndBattleText5: ; 91dac (24:5dac)
 	db $0, "Wimpy!", $58
 ; 0x91dac + 8 bytes
 
-_Route20AfterBattleText5: ; 0x91db4
+_Route20AfterBattleText5: ; 91db4 (24:5db4)
 	db $0, "I should've been", $4f
 	db "buffing up my", $55
 	db "#MON, not me!", $57
 ; 0x91db4 + 45 bytes
 
-_Route20BattleText6: ; 0x91de1
+_Route20BattleText6: ; 91de1 (24:5de1)
 	db $0, "Why are you", $4f
 	db "riding a #MON?", $55
 	db "Can't you swim?", $57
 ; 0x91de1 + 43 bytes
 
-_Route20EndBattleText6: ; 0x91e0c
+_Route20EndBattleText6: ; 91e0c (24:5e0c)
 	db $0, "Ouch!", $4f
 	db "Torpedoed!", $58
 ; 0x91e0c + 18 bytes
 
-_Route20AfterBattleText6: ; 0x91e1e
+_Route20AfterBattleText6: ; 91e1e (24:5e1e)
 	db $0, "Riding a #MON", $4f
 	db "sure looks fun!", $57
 ; 0x91e1e + 31 bytes
 
-_Route20BattleText7: ; 0x91e3d
+_Route20BattleText7: ; 91e3d (24:5e3d)
 	db $0, "I rode my bird", $4f
 	db "#MON here!", $57
 ; 0x91e3d + 27 bytes
 
-_Route20EndBattleText7: ; 0x91e58
+_Route20EndBattleText7: ; 91e58 (24:5e58)
 	db $0, "Oh", $4f
 	db "no!", $58
 ; 0x91e58 + 8 bytes
 
-_Route20AfterBattleText7: ; 0x91e60
+_Route20AfterBattleText7: ; 91e60 (24:5e60)
 	db $0, "My birds can't", $4f
 	db "FLY me back!", $57
 ; 0x91e60 + 28 bytes
 
-_Route20BattleText8: ; 0x91e7c
+_Route20BattleText8: ; 91e7c (24:5e7c)
 	db $0, "My boy friend gave", $4f
 	db "me big pearls!", $57
 ; 0x91e7c + 35 bytes
 
-_Route20EndBattleText8: ; 0x91e9f
+_Route20EndBattleText8: ; 91e9f (24:5e9f)
 	db $0, "Don't", $4f
 	db "touch my pearls!", $58
 ; 0x91e9f + 23 bytes
 
-_Route20AfterBattleText8: ; 0x91eb6
+_Route20AfterBattleText8: ; 91eb6 (24:5eb6)
 	db $0, "Will my pearls", $4f
 	db "grow bigger", $55
 	db "inside CLOYSTER?", $57
 ; 0x91eb6 + 45 bytes
 
-_Route20BattleText9: ; 0x91ee3
+_Route20BattleText9: ; 91ee3 (24:5ee3)
 	db $0, "I swam here from", $4f
 	db "CINNABAR ISLAND!", $57
 ; 0x91ee3 + 35 bytes
 
-_Route20EndBattleText9: ; 0x91f06
+_Route20EndBattleText9: ; 91f06 (24:5f06)
 	db $0, "I'm", $4f
 	db "so disappointed!", $58
 ; 0x91f06 + 21 bytes
 
-_Route20AfterBattleText9: ; 0x91f1b
+_Route20AfterBattleText9: ; 91f1b (24:5f1b)
 	db $0, "#MON have", $4f
 	db "taken over an", $55
 	db "abandoned mansion", $55
@@ -119443,111 +120668,111 @@
 	db "on CINNABAR!", $57
 ; 0x91f1b + 56 bytes
 
-_Route20BattleText10: ; 0x91f53
+_Route20BattleText10: ; 91f53 (24:5f53)
 	db $0, "CINNABAR, in the", $4f
 	db "west, has a LAB", $55
 	db "for #MON.", $57
 ; 0x91f53 + 44 bytes
 
-_Route20EndBattleText10: ; 0x91f7f
+_Route20EndBattleText10: ; 91f7f (24:5f7f)
 	db $0, "Wait!", $58
 ; 0x91f7f + 7 bytes
 
-_Route20AfterBattleText10: ; 0x91f86
+_Route20AfterBattleText10: ; 91f86 (24:5f86)
 	db $0, "CINNABAR is a ", $4f
 	db "volcanic island!", $57
 ; 0x91f86 + 33 bytes
 
-_Route20Text12: ; 0x91fa7
-_Route20Text11: ; 0x91fa7
+_Route20Text12: ; 91fa7 (24:5fa7)
+_Route20Text11: ; 91fa7 (24:5fa7)
 	db $0, "SEAFOAM ISLANDS", $57
 
-_Route21BattleText1: ; 0x91fb8
+_Route21BattleText1: ; 91fb8 (24:5fb8)
 	db $0, "You want to know", $4f
 	db "if the fish are", $55
 	db "biting?", $57
 ; 0x91fb8 + 42 bytes
 
-_Route21EndBattleText1: ; 0x91fe2
+_Route21EndBattleText1: ; 91fe2 (24:5fe2)
 	db $0, "Dang!", $58
 ; 0x91fe2 + 7 bytes
 
-_Route21AfterBattleText1: ; 0x91fe9
+_Route21AfterBattleText1: ; 91fe9 (24:5fe9)
 	db $0, "I can't catch", $4f
 	db "anything good!", $57
 ; 0x91fe9 + 29 bytes
 
-_Route21BattleText2: ; 0x92006
+_Route21BattleText2: ; 92006 (24:6006)
 	db $0, "I got a big haul!", $4f
 	db "Wanna go for it?", $57
 ; 0x92006 + 36 bytes
 
-_Route21EndBattleText2: ; 0x9202a
+_Route21EndBattleText2: ; 9202a (24:602a)
 	db $0, "Darn", $4f
 	db "MAGIKARP!", $58
 ; 0x9202a + 16 bytes
 
-_Route21AfterBattleText2: ; 0x9203a
+_Route21AfterBattleText2: ; 9203a (24:603a)
 	db $0, "I seem to only", $4f
 	db "catch MAGIKARP!", $57
 ; 0x9203a + 32 bytes
 
-_Route21BattleText3: ; 0x9205a
+_Route21BattleText3: ; 9205a (24:605a)
 	db $0, "The sea cleanses", $4f
 	db "my body and soul!", $57
 ; 0x9205a + 36 bytes
 
-_Route21EndBattleText3: ; 0x9207e
+_Route21EndBattleText3: ; 9207e (24:607e)
 	db $0, "Ayah!", $58
 ; 0x9207e + 7 bytes
 
-_Route21AfterBattleText3: ; 0x92085
+_Route21AfterBattleText3: ; 92085 (24:6085)
 	db $0, "I like the", $4f
 	db "mountains too!", $57
 ; 0x92085 + 27 bytes
 
-_Route21BattleText4: ; 0x920a0
+_Route21BattleText4: ; 920a0 (24:60a0)
 	db $0, "What's wrong with", $4f
 	db "me swimming?", $57
 ; 0x920a0 + 31 bytes
 
-_Route21EndBattleText4: ; 0x920bf
+_Route21EndBattleText4: ; 920bf (24:60bf)
 	db $0, "Cheap", $4f
 	db "shot!", $58
 ; 0x920bf + 13 bytes
 
-_Route21AfterBattleText4: ; 0x920cc
+_Route21AfterBattleText4: ; 920cc (24:60cc)
 	db $0, "I look like what?", $4f
 	db "A studded inner", $55
 	db "tube? Get lost!", $57
 ; 0x920cc + 51 bytes
 
-_Route21BattleText5: ; 0x920ff
+_Route21BattleText5: ; 920ff (24:60ff)
 	db $0, "I caught all my", $4f
 	db "#MON at sea!", $57
 ; 0x920ff + 30 bytes
 
-_Route21EndBattleText5: ; 0x9211d
+_Route21EndBattleText5: ; 9211d (24:611d)
 	db $0, "Diver!!", $4f
 	db "Down!!", $58
 ; 0x9211d + 16 bytes
 
-_Route21AfterBattleText5: ; 0x9212d
+_Route21AfterBattleText5: ; 9212d (24:612d)
 	db $0, "Where'd you catch", $4f
 	db "your #MON?", $57
 ; 0x9212d + 29 bytes
 
-_Route21BattleText6: ; 0x9214a
+_Route21BattleText6: ; 9214a (24:614a)
 	db $0, "Right now, I'm in", $4f
 	db "a triathlon meet!", $57
 ; 0x9214a + 36 bytes
 
-_Route21EndBattleText6: ; 0x9216e
+_Route21EndBattleText6: ; 9216e (24:616e)
 	db $0, "Pant...", $4f
 	db "pant...pant...", $58
 ; 0x9216e + 24 bytes
 
-_Route21AfterBattleText6: ; 0x92186
+_Route21AfterBattleText6: ; 92186 (24:6186)
 	db $0, "I'm beat!", $4f
 	db "But, I still have", $55
 	db "the bike race and", $55
@@ -119554,53 +120779,53 @@
 	db "marathon left!", $57
 ; 0x92186 + 61 bytes
 
-_Route21BattleText7: ; 0x921c3
+_Route21BattleText7: ; 921c3 (24:61c3)
 	db $0, "Ahh! Feel the sun", $4f
 	db "and the wind!", $57
 ; 0x921c3 + 33 bytes
 
-_Route21EndBattleText7: ; 0x921e4
+_Route21EndBattleText7: ; 921e4 (24:61e4)
 	db $0, "Yow!", $4f
 	db "I lost!", $58
 ; 0x921e4 + 14 bytes
 
-_Route21AfterBattleText7: ; 0x921f2
+_Route21AfterBattleText7: ; 921f2 (24:61f2)
 	db $0, "I'm sunburnt to a", $4f
 	db "crisp!", $57
 ; 0x921f2 + 25 bytes
 
-_Route21BattleText8: ; 0x9220b
+_Route21BattleText8: ; 9220b (24:620b)
 	db $0, "Hey, don't scare", $4f
 	db "away the fish!", $57
 ; 0x9220b + 32 bytes
 
-_Route21EndBattleText8: ; 0x9222b
+_Route21EndBattleText8: ; 9222b (24:622b)
 	db $0, "Sorry!", $4f
 	db "I didn't mean it!", $58
 ; 0x9222b + 25 bytes
 
-_Route21AfterBattleText8: ; 0x92244
+_Route21AfterBattleText8: ; 92244 (24:6244)
 	db $0, "I was just angry", $4f
 	db "that I couldn't", $55
 	db "catch anything.", $57
 ; 0x92244 + 49 bytes
 
-_Route21BattleText9: ; 0x92275
+_Route21BattleText9: ; 92275 (24:6275)
 	db $0, "Keep me company", $4f
 	db "'til I get a hit!", $57
 ; 0x92275 + 34 bytes
 
-_Route21EndBattleText9: ; 0x92297
+_Route21EndBattleText9: ; 92297 (24:6297)
 	db $0, "That", $4f
 	db "burned some time.", $58
 ; 0x92297 + 24 bytes
 
-_Route21AfterBattleText9: ; 0x922af
+_Route21AfterBattleText9: ; 922af (24:62af)
 	db $0, "Oh wait! I got a", $4f
 	db "bite! Yeah!", $57
 ; 0x922af + 30 bytes
 
-_UnnamedText_511ad: ; 0x922cd
+_UnnamedText_511ad: ; 922cd (24:62cd)
 	db $0, $53, ": Hey!", $4f
 	db $52, "!", $51
 	db "You're going to", $4f
@@ -119615,7 +120840,7 @@
 	db "get any stronger?", $57
 ; 0x922cd + 162 bytes
 
-_UnnamedText_511b2: ; 0x9236f
+_UnnamedText_511b2: ; 9236f (24:636f)
 	db $0, "I heard #MON", $4f
 	db "LEAGUE has many", $55
 	db "tough trainers!", $51
@@ -119627,13 +120852,13 @@
 	db "a move on!", $57
 ; 0x9236f + 133 bytes
 
-_UnnamedText_511b7: ; 0x923f4
+_UnnamedText_511b7: ; 923f4 (24:63f4)
 	db $0, "Awww!", $4f
 	db "You just lucked", $55
 	db "out!", $58
 ; 0x923f4 + 28 bytes
 
-_UnnamedText_511bc: ; 0x92410
+_UnnamedText_511bc: ; 92410 (24:6410)
 	db $0, $53, ": What?", $4f
 	db "Why do I have 2", $55
 	db "#MON?", $51
@@ -119641,7 +120866,7 @@
 	db "some more too!", $58
 ; 0x92410 + 64 bytes
 
-_UnnamedText_511c1: ; 0x92450
+_UnnamedText_511c1: ; 92450 (24:6450)
 	db $0, $53, ": What?", $4f
 	db $52, "! What a", $55
 	db "surprise to see", $55
@@ -119658,7 +120883,7 @@
 	db "Come on!", $57
 ; 0x92450 + 182 bytes
 
-_UnnamedText_511c6: ; 0x92506
+_UnnamedText_511c6: ; 92506 (24:6506)
 	db $0, "That loosened me", $4f
 	db "up! I'm ready for", $55
 	db "#MON LEAGUE!", $51
@@ -119669,13 +120894,13 @@
 	db "here. Smell ya!", $57
 ; 0x92506 + 125 bytes
 
-_UnnamedText_511cb: ; 0x92583
+_UnnamedText_511cb: ; 92583 (24:6583)
 	db $0, "What!?", $51
 	db "I was just", $4f
 	db "careless!", $58
 ; 0x92583 + 29 bytes
 
-_UnnamedText_511d0: ; 0x925a0
+_UnnamedText_511d0: ; 925a0 (24:65a0)
 	db $0, $53, ": Hahaha!", $4f
 	db $52, "! That's", $55
 	db "your best? You're", $55
@@ -119685,17 +120910,17 @@
 	db "more! You loser!", $58
 ; 0x925a0 + 102 bytes
 
-_Route22Text3: ; 0x92606
+_Route22Text3: ; 92606 (24:6606)
 	db $0, "#MON LEAGUE", $4f
 	db "Front Gate", $57
 
-UnknownText_9261e: ; 0x9261e
+UnknownText_9261e: ; 9261e (24:661e)
 	db $0, "You can pass here", $4f
 	db "only if you have", $55
 	db "the @"
 ; 0x9261e + 41 bytes
 
-UnknownText_92647: ; 0x92647
+UnknownText_92647: ; 92647 (24:6647)
 	TX_RAM $cd6d
 	db $0, "!", $51
 	db "You don't have the", $4f
@@ -119702,7 +120927,7 @@
 	db "@"
 ; 0x92647 + 25 bytes (0x92660)
 
-UnknownText_92660: ; 0x92660
+UnknownText_92660: ; 92660 (24:6660)
 	TX_RAM $cd6d
 	db $0, " yet!", $51
 	db "You have to have", $4f
@@ -119710,13 +120935,13 @@
 	db "#MON LEAGUE!@@"
 ; 0x92660 + 54 bytes
 
-UnknownText_92696: ; 0x92696
+UnknownText_92696: ; 92696 (24:6696)
 	db $0, "You can pass here", $4f
 	db "only if you have", $55
 	db "the @"
 ; 0x92696 + 41 bytes
 
-UnknownText_926bf: ; 0x926bf
+UnknownText_926bf: ; 926bf (24:66bf)
 	TX_RAM $cd6d
 	db $0, "!", $51
 	db "Oh! That is the", $4f
@@ -119723,49 +120948,49 @@
 	db "@"
 ; 0x926bf + 23 bytes
 
-UnknownText_926d6: ; 0x926d6
+UnknownText_926d6: ; 926d6 (24:66d6)
 	TX_RAM $cd6d
 	db $0, "!@@"
 ; 0x926d6 + 7 bytes
 
-_UnnamedText_513a3: ; 0x926dd
+_UnnamedText_513a3: ; 926dd (24:66dd)
 	db $0, $51
 	db "OK then! Please,", $4f
 	db "go right ahead!", $57
 ; 0x926dd + 35 bytes
 
-_Route23Text8: ; 0x92700
+_Route23Text8: ; 92700 (24:6700)
 	db $0, "VICTORY ROAD GATE", $4f
 	db "- #MON LEAGUE", $57
 
-_UnnamedText_51510: ; 0x92721
+_UnnamedText_51510: ; 92721 (24:6721)
 	db $0, "Congratulations!", $4f
 	db "You beat our 5", $55
 	db "contest trainers!@@"
 ; 0x92721 + 52 bytes
 
-_UnnamedText_51515: ; 0x92755
+_UnnamedText_51515: ; 92755 (24:6755)
 	db $0, $51
 	db "You just earned a", $4f
 	db "fabulous prize!", $58
 ; 0x92755 + 36 bytes
 
-_UnnamedText_5151a: ; 0x92779
+_UnnamedText_5151a: ; 92779 (24:6779)
 	db $0, $52, " received", $4f
 	db "a @"
 ; 0x92779 + 15 bytes
 
-UnknownText_92788: ; 0x92788
+UnknownText_92788: ; 92788 (24:6788)
 	TX_RAM $cf4b
 	db $0, "!@@"
 ; 0x92788 + 7 bytes
 
-_UnnamedText_51521: ; 0x9278f
+_UnnamedText_51521: ; 9278f (24:678f)
 	db $0, "You don't have", $4f
 	db "any room!", $57
 ; 0x9278f + 25 bytes
 
-_UnnamedText_51526: ; 0x927a8
+_UnnamedText_51526: ; 927a8 (24:67a8)
 	db $0, "By the way, would", $4f
 	db "you like to join", $55
 	db "TEAM ROCKET?", $51
@@ -119784,12 +121009,12 @@
 	db "refuse!", $57
 ; 0x927a8 + 226 bytes
 
-_UnnamedText_5152b: ; 0x9288a
+_UnnamedText_5152b: ; 9288a (24:688a)
 	db $0, "Arrgh!", $4f
 	db "You are good!", $58
 ; 0x9288a + 22 bytes
 
-_UnnamedText_51530: ; 0x928a0
+_UnnamedText_51530: ; 928a0 (24:68a0)
 	db $0, "With your ability,", $4f
 	db "you could become", $55
 	db "a top leader in", $55
@@ -119796,7 +121021,7 @@
 	db "TEAM ROCKET!", $57
 ; 0x928a0 + 66 bytes
 
-_Route24BattleText1: ; 0x928e2
+_Route24BattleText1: ; 928e2 (24:68e2)
 	db $0, "I saw your feat", $4f
 	db "from the grass!", $57
 ; 0x928e2 + 33 bytes
@@ -119803,78 +121028,78 @@
 
 SECTION "bank25",DATA,BANK[$25]
 
-_Route24EndBattleText1: ; 0x94000
+_Route24EndBattleText1: ; 94000 (25:4000)
 	db $0, "I", $4f
 	db "thought not!", $58
 ; 0x94000 + 16 bytes
 
-_Route24AfterBattleText1: ; 0x94010
+_Route24AfterBattleText1: ; 94010 (25:4010)
 	db $0, "I hid because the", $4f
 	db "people on the", $55
 	db "bridge scared me!", $57
 ; 0x94010 + 51 bytes
 
-_Route24BattleText2: ; 0x94043
+_Route24BattleText2: ; 94043 (25:4043)
 	db $0, "OK! I'm No. 5!", $4f
 	db "I'll stomp you!", $57
 ; 0x94043 + 30 bytes
 
-_Route24EndBattleText2: ; 0x94061
+_Route24EndBattleText2: ; 94061 (25:4061)
 	db $0, "Whoa!", $4f
 	db "Too much!", $58
 ; 0x94061 + 17 bytes
 
-_Route24AfterBattleText2: ; 0x94072
+_Route24AfterBattleText2: ; 94072 (25:4072)
 	db $0, "I did my best, I", $4f
 	db "have no regrets!", $57
 ; 0x94072 + 35 bytes
 
-_Route24BattleText3: ; 0x94095
+_Route24BattleText3: ; 94095 (25:4095)
 	db $0, "I'm No. 4!", $4f
 	db "Getting tired?", $57
 ; 0x94095 + 26 bytes
 
-_Route24EndBattleText3: ; 0x940af
+_Route24EndBattleText3: ; 940af (25:40af)
 	db $0, "I lost", $4f
 	db "too!", $58
 ; 0x940af + 13 bytes
 
-_Route24AfterBattleText3: ; 0x940bc
+_Route24AfterBattleText3: ; 940bc (25:40bc)
 	db $0, "I did my best, so", $4f
 	db "I've no regrets!", $57
 ; 0x940bc + 35 bytes
 
-_Route24BattleText4: ; 0x940df
+_Route24BattleText4: ; 940df (25:40df)
 	db $0, "Here's No. 3!", $4f
 	db "I won't be easy!", $57
 ; 0x940df + 30 bytes
 
-_Route24EndBattleText4: ; 0x940fd
+_Route24EndBattleText4: ; 940fd (25:40fd)
 	db $0, "Ow!", $4f
 	db "Stomped flat!", $58
 ; 0x940fd + 19 bytes
 
-_Route24AfterBattleText4: ; 0x94110
+_Route24AfterBattleText4: ; 94110 (25:4110)
 	db $0, "I did my best, I", $4f
 	db "have no regrets!", $57
 ; 0x94110 + 35 bytes
 
-_Route24BattleText5: ; 0x94133
+_Route24BattleText5: ; 94133 (25:4133)
 	db $0, "I'm second!", $4f
 	db "Now it's serious!", $57
 ; 0x94133 + 29 bytes
 
-_Route24EndBattleText5: ; 0x94150
+_Route24EndBattleText5: ; 94150 (25:4150)
 	db $0, "How could I", $4f
 	db "lose?", $58
 ; 0x94150 + 19 bytes
 
-_Route24AfterBattleText5: ; 0x94163
+_Route24AfterBattleText5: ; 94163 (25:4163)
 	db $0, "I did my best, I", $4f
 	db "have no regrets!", $57
 ; 0x94163 + 35 bytes
 
-_Route24BattleText6: ; 0x94186
+_Route24BattleText6: ; 94186 (25:4186)
 	db $0, "This is NUGGET", $4f
 	db "BRIDGE! Beat us 5", $55
 	db "trainers and win", $55
@@ -119883,28 +121108,28 @@
 	db "what it takes?", $57
 ; 0x94186 + 98 bytes
 
-_Route24EndBattleText6: ; 0x941e8
+_Route24EndBattleText6: ; 941e8 (25:41e8)
 	db $0, "Whoo!", $4f
 	db "Good stuff!", $58
 ; 0x941e8 + 19 bytes
 
-_Route24AfterBattleText6: ; 0x941fb
+_Route24AfterBattleText6: ; 941fb (25:41fb)
 	db $0, "I did my best, I", $4f
 	db "have no regrets!", $57
 ; 0x941fb + 35 bytes
 
-_Route25BattleText1: ; 0x9421e
+_Route25BattleText1: ; 9421e (25:421e)
 	db $0, "Local trainers", $4f
 	db "come here to", $55
 	db "practice!", $57
 ; 0x9421e + 39 bytes
 
-_Route25EndBattleText1: ; 0x94245
+_Route25EndBattleText1: ; 94245 (25:4245)
 	db $0, "You're", $4f
 	db "decent.", $58
 ; 0x94245 + 15 bytes
 
-_Route25AfterBattleText1: ; 0x94254
+_Route25AfterBattleText1: ; 94254 (25:4254)
 	db $0, "All #MON have", $4f
 	db "weaknesses. It's", $55
 	db "best to raise", $55
@@ -119911,7 +121136,7 @@
 	db "different kinds.", $57
 ; 0x94254 + 62 bytes
 
-_Route25BattleText2: ; 0x94292
+_Route25BattleText2: ; 94292 (25:4292)
 	db $0, "Dad took me to a", $4f
 	db "great party on", $55
 	db "S.S.ANNE at", $55
@@ -119918,59 +121143,59 @@
 	db "VERMILION CITY!", $57
 ; 0x94292 + 61 bytes
 
-_Route25EndBattleText2: ; 0x942cf
+_Route25EndBattleText2: ; 942cf (25:42cf)
 	db $0, "I'm", $4f
 	db "not mad!", $58
 ; 0x942cf + 13 bytes
 
-_Route25AfterBattleText2: ; 0x942dc
+_Route25AfterBattleText2: ; 942dc (25:42dc)
 	db $0, "On S.S.ANNE, I", $4f
 	db "saw trainers from", $55
 	db "around the world.", $57
 ; 0x942dc + 52 bytes
 
-_Route25BattleText3: ; 0x94310
+_Route25BattleText3: ; 94310 (25:4310)
 	db $0, "I'm a cool guy.", $4f
 	db "I've got a girl", $55
 	db "friend!", $57
 ; 0x94310 + 39 bytes
 
-_Route25EndBattleText3: ; 0x94337
+_Route25EndBattleText3: ; 94337 (25:4337)
 	db $0, "Aww,", $4f
 	db "darn...", $58
 ; 0x94337 + 14 bytes
 
-_Route25AfterBattleText3: ; 0x94345
+_Route25AfterBattleText3: ; 94345 (25:4345)
 	db $0, "Oh well. My girl", $4f
 	db "will cheer me up.", $57
 ; 0x94345 + 36 bytes
 
-_Route25BattleText4: ; 0x94369
+_Route25BattleText4: ; 94369 (25:4369)
 	db $0, "Hi! My boy", $4f
 	db "friend is cool!", $57
 ; 0x94369 + 28 bytes
 
-_Route25EndBattleText4: ; 0x94385
+_Route25EndBattleText4: ; 94385 (25:4385)
 	db $0, "I was in", $4f
 	db "bad condition!", $58
 ; 0x94385 + 25 bytes
 
-_Route25AfterBattleText4: ; 0x9439e
+_Route25AfterBattleText4: ; 9439e (25:439e)
 	db $0, "I wish my guy was", $4f
 	db "as good as you!", $57
 ; 0x9439e + 35 bytes
 
-_Route25BattleText5: ; 0x943c1
+_Route25BattleText5: ; 943c1 (25:43c1)
 	db $0, "I knew I had to", $4f
 	db "fight you!", $57
 ; 0x943c1 + 28 bytes
 
-_Route25EndBattleText5: ; 0x943dd
+_Route25EndBattleText5: ; 943dd (25:43dd)
 	db $0, "I knew", $4f
 	db "I'd lose too!", $58
 ; 0x943dd + 21 bytes
 
-_Route25AfterBattleText5: ; 0x943f2
+_Route25AfterBattleText5: ; 943f2 (25:43f2)
 	db $0, "If your #MON", $4f
 	db "gets confused or", $55
 	db "falls asleep,", $55
@@ -119977,100 +121202,100 @@
 	db "switch it!", $57
 ; 0x943f2 + 56 bytes
 
-_Route25BattleText6: ; 0x9442a
+_Route25BattleText6: ; 9442a (25:442a)
 	db $0, "My friend has a", $4f
 	db "cute #MON.", $55
 	db "I'm so jealous!", $57
 ; 0x9442a + 43 bytes
 
-_Route25EndBattleText6: ; 0x94455
+_Route25EndBattleText6: ; 94455 (25:4455)
 	db $0, "I'm", $4f
 	db "not so jealous!", $58
 ; 0x94455 + 20 bytes
 
-_Route25AfterBattleText6: ; 0x94469
+_Route25AfterBattleText6: ; 94469 (25:4469)
 	db $0, "You came from MT.", $4f
 	db "MOON? May I have", $55
 	db "a CLEFAIRY?", $57
 ; 0x94469 + 48 bytes
 
-_Route25BattleText7: ; 0x94499
+_Route25BattleText7: ; 94499 (25:4499)
 	db $0, "I just got down", $4f
 	db "from MT.MOON,", $55
 	db "but I'm ready!", $57
 ; 0x94499 + 45 bytes
 
-_Route25EndBattleText7: ; 0x944c6
+_Route25EndBattleText7: ; 944c6 (25:44c6)
 	db $0, "You", $4f
 	db "worked hard!", $58
 ; 0x944c6 + 18 bytes
 
-_Route25AfterBattleText7: ; 0x944d8
+_Route25AfterBattleText7: ; 944d8 (25:44d8)
 	db $0, "Drat!", $4f
 	db "A ZUBAT bit me", $55
 	db "back in there.", $57
 ; 0x944d8 + 37 bytes
 
-_Route25BattleText8: ; 0x944fd
+_Route25BattleText8: ; 944fd (25:44fd)
 	db $0, "I'm off to see a", $4f
 	db "#MON collector", $55
 	db "at the cape!", $57
 ; 0x944fd + 45 bytes
 
-_Route25EndBattleText8: ; 0x9452a
+_Route25EndBattleText8: ; 9452a (25:452a)
 	db $0, "You", $4f
 	db "got me.", $58
 ; 0x9452a + 13 bytes
 
-_Route25AfterBattleText8: ; 0x94537
+_Route25AfterBattleText8: ; 94537 (25:4537)
 	db $0, "The collector has", $4f
 	db "many rare kinds", $55
 	db "of #MON.", $57
 ; 0x94537 + 44 bytes
 
-_Route25BattleText9: ; 0x94563
+_Route25BattleText9: ; 94563 (25:4563)
 	db $0, "You're going to", $4f
 	db "see BILL? First,", $55
 	db "let's fight!", $57
 ; 0x94563 + 45 bytes
 
-_Route25EndBattleText9: ; 0x94590
+_Route25EndBattleText9: ; 94590 (25:4590)
 	db $0, "You're", $4f
 	db "something.", $58
 ; 0x94590 + 18 bytes
 
-_Route25AfterBattleText9: ; 0x945a2
+_Route25AfterBattleText9: ; 945a2 (25:45a2)
 	db $0, "The trail below", $4f
 	db "is a shortcut to", $55
 	db "CERULEAN CITY.", $57
 ; 0x945a2 + 49 bytes
 
-_Route25Text11: ; 0x945d3
+_Route25Text11: ; 945d3 (25:45d3)
 	db $0, "SEA COTTAGE", $4f
 	db "BILL lives here!", $57
 
-_UnnamedText_7361e: ; 0x945f1
+_UnnamedText_7361e: ; 945f1 (25:45f1)
 	db $0, "The file data is", $4f
 	db "destroyed!", $58
 ; 0x945f1 + 29 bytes
 
-_UnnamedText_7377d: ; 0x9460e
+_UnnamedText_7377d: ; 9460e (25:460e)
 	db $0, "Would you like to", $4f
 	db "SAVE the game?", $57
 ; 0x9460e + 34 bytes
 
-_UnnamedText_73782: ; 0x94630
+_UnnamedText_73782: ; 94630 (25:4630)
 	db $0, $52, " saved", $4f
 	db "the game!", $57
 ; 0x94630 + 19 bytes
 
-_UnnamedText_73787: ; 0x94643
+_UnnamedText_73787: ; 94643 (25:4643)
 	db $0, "The older file", $4f
 	db "will be erased to", $55
 	db "save. Okay?", $57
 ; 0x94643 + 46 bytes
 
-_UnnamedText_73909: ; 0x94671
+_UnnamedText_73909: ; 94671 (25:4671)
 	db $0, "When you change a", $4f
 	db "#MON BOX, data", $55
 	db "will be saved.", $51
@@ -120077,340 +121302,340 @@
 	db "Is that okay?", $57
 ; 0x94671 + 63 bytes
 
-_UnnamedText_739d4: ; 0x946b0
+_UnnamedText_739d4: ; 946b0 (25:46b0)
 	db $0, "Choose a", $4f
 	db $4a, " BOX.@@"
 ; 0x946b0 + 17 bytes
 
-_UnnamedText_3af3e: ; 0x946c2
+_UnnamedText_3af3e: ; 946c2 (25:46c2)
 	TX_RAM $cf4b
 	db $0, " evolved", $57
 ; 0x946c2 + 13 bytes
 
-_UnnamedText_3af43: ; 0x946cf
+_UnnamedText_3af43: ; 946cf (25:46cf)
 	db $0, $4f
 	db "into @"
 ; 0x946cf + 8 bytes
 
-UnknownText_946d7: ; 0x946d7
+UnknownText_946d7: ; 946d7 (25:46d7)
 	TX_RAM $cd6d
 	db $0, "!", $57
 ; 0x946d7 + 6 bytes
 
-_UnnamedText_3af48: ; 0x946dd
+_UnnamedText_3af48: ; 946dd (25:46dd)
 	db $0, "Huh? @"
 ; 0x946dd + 7 bytes
 
-UnknownText_946e4: ; 0x946e4
+UnknownText_946e4: ; 946e4 (25:46e4)
 	TX_RAM $cf4b
 	db $0, $4f
 	db "stopped evolving!", $58
 ; 0x946e4 + 23 bytes
 
-_UnnamedText_3af4d: ; 0x946fb
+_UnnamedText_3af4d: ; 946fb (25:46fb)
 	db $0, "What? @"
 ; 0x946fb + 8 bytes
 
-UnknownText_94703: ; 0x94703
+UnknownText_94703: ; 94703 (25:4703)
 	TX_RAM $cf4b
 	db $0, $4f
 	db "is evolving!", $57
 ; 0x94703 + 18 bytes
 
-_UnnamedText_3f245: ; 0x94715
+_UnnamedText_3f245: ; 94715 (25:4715)
 	db $0, $59, $4f
 	db "fell asleep!", $58
 ; 0x94715 + 16 bytes
 
-_UnnamedText_3f24a: ; 0x94725
+_UnnamedText_3f24a: ; 94725 (25:4725)
 	db $0, $59, "'s", $4f
 	db "already asleep!", $58
 ; 0x94725 + 20 bytes
 
-_UnnamedText_3f2df: ; 0x94739
+_UnnamedText_3f2df: ; 94739 (25:4739)
 	db $0, $59, $4f
 	db "was poisoned!", $58
 ; 0x94739 + 17 bytes
 
-_UnnamedText_3f2e4: ; 0x9474a
+_UnnamedText_3f2e4: ; 9474a (25:474a)
 	db $0, $59, "'s", $4f
 	db "badly poisoned!", $58
 ; 0x9474a + 20 bytes
 
-_UnnamedText_3f3d8: ; 0x9475e
+_UnnamedText_3f3d8: ; 9475e (25:475e)
 	db $0, $59, $4f
 	db "was burned!", $58
 ; 0x9475e + 15 bytes
 
-_UnnamedText_3f3dd: ; 0x9476d
+_UnnamedText_3f3dd: ; 9476d (25:476d)
 	db $0, $59, $4f
 	db "was frozen solid!", $58
 ; 0x9476d + 21 bytes
 
-_UnnamedText_3f423: ; 0x94782
+_UnnamedText_3f423: ; 94782 (25:4782)
 	db $0, "Fire defrosted", $4f
 	db $59, "!", $58
 ; 0x94782 + 19 bytes
 
-UnknownText_94795: ; 0x94795
+UnknownText_94795: ; 94795 (25:4795)
 	db $0, $5a, "'s", $4f
 	db "@"
 ; 0x94795 + 5 bytes
 
-UnknownText_9479a: ; 0x9479a
+UnknownText_9479a: ; 9479a (25:479a)
 	TX_RAM $cf4b
 	db $0, "@@"
 ; 0x9479a + 6 bytes
 
-UnknownText_947a0: ; 0x947a0
+UnknownText_947a0: ; 947a0 (25:47a0)
 	db $0, $4c, "greatly@@"
 ; 0x947a0 + 11 bytes
 
-_UnnamedText_3f547: ; 0x947ab
+_UnnamedText_3f547: ; 947ab (25:47ab)
 	db $0, " rose!", $58
 ; 0x947ab + 8 bytes
 
-UnknownText_947b3: ; 0x947b3
+UnknownText_947b3: ; 947b3 (25:47b3)
 	db $0, $59, "'s", $4f
 	db "@"
 ; 0x947b3 + 5 bytes
 
-UnknownText_947b8: ; 0x947b8
+UnknownText_947b8: ; 947b8 (25:47b8)
 	TX_RAM $cf4b
 	db $0, "@@"
 ; 0x947b8 + 6 bytes
 
-UnknownText_947be: ; 0x947be
+UnknownText_947be: ; 947be (25:47be)
 	db $0, $4c, "greatly@@"
 ; 0x947be + 11 bytes
 
-_UnnamedText_3f683: ; 0x947c9
+_UnnamedText_3f683: ; 947c9 (25:47c9)
 	db $0, " fell!", $58
 ; 0x947c9 + 8 bytes
 
-_UnnamedText_3f802: ; 0x947d1
+_UnnamedText_3f802: ; 947d1 (25:47d1)
 	db $0, $5a, $4f
 	db "ran from battle!", $58
 ; 0x947d1 + 20 bytes
 
-_UnnamedText_3f807: ; 0x947e5
+_UnnamedText_3f807: ; 947e5 (25:47e5)
 	db $0, $59, $4f
 	db "ran away scared!", $58
 ; 0x947e5 + 20 bytes
 
-_UnnamedText_3f80c: ; 0x947f9
+_UnnamedText_3f80c: ; 947f9 (25:47f9)
 	db $0, $59, $4f
 	db "was blown away!", $58
 ; 0x947f9 + 19 bytes
 
-UnnamedText_9480c: ; 0x9480c
+UnnamedText_9480c: ; 9480c (25:480c)
 	db $0, $5a, "@@"
 ; 0x9480c + 4 bytes
 
-_UnnamedText_3f8f9: ; 0x94810
+_UnnamedText_3f8f9: ; 94810 (25:4810)
 	db $0, $4f
 	db "made a whirlwind!", $58
 ; 0x94810 + 20 bytes
 
-_UnnamedText_3f8fe: ; 0x94824
+_UnnamedText_3f8fe: ; 94824 (25:4824)
 	db $0, $4f
 	db "took in sunlight!", $58
 ; 0x94824 + 20 bytes
 
-_UnnamedText_3f903: ; 0x94838
+_UnnamedText_3f903: ; 94838 (25:4838)
 	db $0, $4f
 	db "lowered its head!", $58
 ; 0x94838 + 20 bytes
 
-_UnnamedText_3f908: ; 0x9484c
+_UnnamedText_3f908: ; 9484c (25:484c)
 	db $0, $4f
 	db "is glowing!", $58
 ; 0x9484c + 14 bytes
 
-_UnnamedText_3f90d: ; 0x9485a
+_UnnamedText_3f90d: ; 9485a (25:485a)
 	db $0, $4f
 	db "flew up high!", $58
 ; 0x9485a + 16 bytes
 
-_UnnamedText_3f912: ; 0x9486a
+_UnnamedText_3f912: ; 9486a (25:486a)
 	db $0, $4f
 	db "dug a hole!", $58
 ; 0x9486a + 14 bytes
 
-_UnnamedText_3f9a1: ; 0x94878
+_UnnamedText_3f9a1: ; 94878 (25:4878)
 	db $0, $59, $4f
 	db "became confused!", $58
 ; 0x94878 + 20 bytes
 
-_UnnamedText_3fa77: ; 0x9488c
+_UnnamedText_3fa77: ; 9488c (25:488c)
 	db $0, $5a, $4f
 	db "learned", $55
 	db "@"
 ; 0x9488c + 12 bytes
 
-UnnamedText_94898: ; 0x94898
+UnnamedText_94898: ; 94898 (25:4898)
 	TX_RAM $cd6d
 	db $0, "!", $58
 ; 0x94898 + 6 bytes
 
-_UnnamedText_3fb09: ; 0x9489e
+_UnnamedText_3fb09: ; 9489e (25:489e)
 	db $0, $59, "'s", $4f
 	db "@"
 ; 0x9489e + 5 bytes
 
-UnnamedText_948a3: ; 0x948a3
+UnnamedText_948a3: ; 948a3 (25:48a3)
 	TX_RAM $cd6d
 	db $0, " was", $55
 	db "disabled!", $58
 ; 0x948a3 + 19 bytes
 
-_UnnamedText_3fb3e: ; 0x948b6
+_UnnamedText_3fb3e: ; 948b6 (25:48b6)
 	db $0, "Nothing happened!", $58
 ; 0x948b6 + 19 bytes
 
-_UnnamedText_3fb49: ; 0x948c9
+_UnnamedText_3fb49: ; 948c9 (25:48c9)
 	db $0, "No effect!", $58
 ; 0x948c9 + 12 bytes
 
-_UnnamedText_3fb59: ; 0x948d5
+_UnnamedText_3fb59: ; 948d5 (25:48d5)
 	db $0, "But, it failed! ", $58
 ; 0x948d5 + 18 bytes
 
-_UnnamedText_3fb64: ; 0x948e7
+_UnnamedText_3fb64: ; 948e7 (25:48e7)
 	db $0, "It didn't affect", $4f
 	db $59, "!", $58
 ; 0x948e7 + 20 bytes
 
-_UnnamedText_3fb69: ; 0x948fb
+_UnnamedText_3fb69: ; 948fb (25:48fb)
 	db $0, $59, $4f
 	db "is unaffected!", $58
 ; 0x948fb + 18 bytes
 
-_UnnamedText_3fb74: ; 0x9490d
+_UnnamedText_3fb74: ; 9490d (25:490d)
 	db $0, $59, "'s", $4f
 	db "paralyzed! It may", $55
 	db "not attack!", $58
 ; 0x9490d + 34 bytes
 
-_UnnamedText_17e1d: ; 0x9492f
+_UnnamedText_17e1d: ; 9492f (25:492f)
 	db $0, "It created a", $4f
 	db "SUBSTITUTE!", $58
 ; 0x9492f + 26 bytes
 
-_UnnamedText_17e22: ; 0x94949
+_UnnamedText_17e22: ; 94949 (25:4949)
 	db $0, $5a, $4f
 	db "has a SUBSTITUTE!", $58
 ; 0x94949 + 21 bytes
 
-_UnnamedText_17e27: ; 0x9495e
+_UnnamedText_17e27: ; 9495e (25:495e)
 	db $0, "Too weak to make", $4f
 	db "a SUBSTITUTE!", $58
 ; 0x9495e + 32 bytes
 
-_UnnamedText_2ff04: ; 0x9497e
+_UnnamedText_2ff04: ; 9497e (25:497e)
 	db $0, "Coins scattered", $4f
 	db "everywhere!", $58
 ; 0x9497e + 29 bytes
 
-_UnnamedText_27fb3: ; 0x9499b
+_UnnamedText_27fb3: ; 9499b (25:499b)
 	db $0, $5a, "'s", $4f
 	db "getting pumped!", $58
 ; 0x9499b + 20 bytes
 
-_UnnamedText_2bef2: ; 0x949af
+_UnnamedText_2bef2: ; 949af (25:49af)
 	db $0, $59, $4f
 	db "was seeded!", $58
 ; 0x949af + 15 bytes
 
-_UnnamedText_2bef7: ; 0x949be
+_UnnamedText_2bef7: ; 949be (25:49be)
 	db $0, $59, $4f
 	db "evaded attack!", $58
 ; 0x949be + 18 bytes
 
-_UnnamedText_1399e: ; 0x949d0
+_UnnamedText_1399e: ; 949d0 (25:49d0)
 	db $0, $5a, "'s", $4f
 	db "hit with recoil!", $58
 ; 0x949d0 + 21 bytes
 
-_UnnamedText_139cd: ; 0x949e5
+_UnnamedText_139cd: ; 949e5 (25:49e5)
 	db $0, "Converted type to", $4f
 	db $59, "'s!", $58
 ; 0x949e5 + 23 bytes
 
-_UnnamedText_13a53: ; 0x949fc
+_UnnamedText_13a53: ; 949fc (25:49fc)
 	db $0, "All STATUS changes", $4f
 	db "are eliminated!", $58
 ; 0x949fc + 36 bytes
 
-_UnnamedText_3baa2: ; 0x94a20
+_UnnamedText_3baa2: ; 94a20 (25:4a20)
 	db $0, $5a, $4f
 	db "started sleeping!", $57
 ; 0x94a20 + 21 bytes
 
-_UnnamedText_3baa7: ; 0x94a35
+_UnnamedText_3baa7: ; 94a35 (25:4a35)
 	db $0, $5a, $4f
 	db "fell asleep and", $55
 	db "became healthy!", $57
 ; 0x94a35 + 35 bytes
 
-_UnnamedText_3baac: ; 0x94a58
+_UnnamedText_3baac: ; 94a58 (25:4a58)
 	db $0, $5a, $4f
 	db "regained health!", $58
 ; 0x94a58 + 20 bytes
 
-_UnnamedText_3bb92: ; 0x94a6c
+_UnnamedText_3bb92: ; 94a6c (25:4a6c)
 	db $0, $5a, $4f
 	db "transformed into", $55
 	db "@"
 ; 0x94a6c + 21 bytes
 
-UnnamedText_94a81: ; 0x94a81
+UnnamedText_94a81: ; 94a81 (25:4a81)
 	TX_RAM $cd6d
 	db $0, "!", $58
 ; 0x94a81 + 6 bytes
 
-_UnnamedText_3bbd7: ; 0x94a87
+_UnnamedText_3bbd7: ; 94a87 (25:4a87)
 	db $0, $5a, "'s", $4f
 	db "protected against", $55
 	db "special attacks!", $58
 ; 0x94a87 + 39 bytes
 
-_UnnamedText_3bbdc: ; 0x94aae
+_UnnamedText_3bbdc: ; 94aae (25:4aae)
 	db $0, $5a, $4f
 	db "gained armor!", $58
 ; 0x94aae + 17 bytes
 
-_UnnamedText_33f52: ; 0x94abf
+_UnnamedText_33f52: ; 94abf (25:4abf)
 	db $0, $5a, "'s", $4f
 	db "shrouded in mist!", $58
 ; 0x94abf + 22 bytes
 
-_UnnamedText_78dc: ; 0x94ad5
+_UnnamedText_78dc: ; 94ad5 (25:4ad5)
 	db $0, "Sucked health from", $4f
 	db $59, "!", $58
 ; 0x94ad5 + 23 bytes
 
-_UnnamedText_78e1: ; 0x94aec
+_UnnamedText_78e1: ; 94aec (25:4aec)
 	db $0, $59, "'s", $4f
 	db "dream was eaten!", $58
 ; 0x94aec + 21 bytes
 
-_BattleCenterMText1: ; 0x94b01
+_BattleCenterMText1: ; 94b01 (25:4b01)
 	db $0, "!", $57
 
-_TradeCenterMText1: ; 0x94b04
+_TradeCenterMText1: ; 94b04 (25:4b04)
 	db $0, "!", $57
 
 INCLUDE "text/mapRedsHouse1F.tx"
 INCLUDE "text/mapBluesHouse.tx"
 
-_OaksLabGaryText1: ; 0x94d5b
+_OaksLabGaryText1: ; 94d5b (25:4d5b)
 	db $0, $53, ": Yo", $4f
 	db $52, "! Gramps", $55
 	db "isn't around!", $57
 ; 0x94d5b + 30 bytes
 
-_OaksLabText40: ; 0x94d79
+_OaksLabText40: ; 94d79 (25:4d79)
 	db $0, $53, ": Heh, I", $4f
 	db "don't need to be", $55
 	db "greedy like you!", $51
@@ -120418,13 +121643,13 @@
 	db "choose, ", $52, "!", $57
 ; 0x94d79 + 68 bytes
 
-_OaksLabText41: ; 0x94dbd
+_OaksLabText41: ; 94dbd (25:4dbd)
 	db $0, $53, ": My", $4f
 	db "#MON looks a", $55
 	db "lot stronger.", $57
 ; 0x94dbd + 34 bytes
 
-_OaksLabText39: ; 0x94ddf
+_OaksLabText39: ; 94ddf (25:4ddf)
 	db $0
 	db "Those are #", $4f
 	db "BALLs. They", $55
@@ -120431,30 +121656,30 @@
 	db "contain #MON!", $57
 ; 0x94e06
 
-_OaksLabCharmanderText: ; 0x94e06
+_OaksLabCharmanderText: ; 94e06 (25:4e06)
 	db $0, "So! You want the", $4f
 	db "fire #MON,", $55
 	db "CHARMANDER?", $57
 ; 0x94e2f
 
-_OaksLabSquirtleText: ; 0x94e2f
+_OaksLabSquirtleText: ; 94e2f (25:4e2f)
 	db $0, "So! You want the", $4f
 	db "water #MON,", $55
 	db "SQUIRTLE?", $57
 ; 0x94e57
 
-_OaksLabBulbasaurText: ; 0x94e57
+_OaksLabBulbasaurText: ; 94e57 (25:4e57)
 	db $0, "So! You want the", $4f
 	db "plant #MON,", $55
 	db "BULBASAUR?", $57
 ; 0x94e80
 
-_OaksLabMonEnergeticText: ; 0x94e80
+_OaksLabMonEnergeticText: ; 94e80 (25:4e80)
 	db $0, "This #MON is", $4f
 	db "really energetic!", $58
 ; 0x94ea0
 
-_OaksLabReceivedMonText: ; 0x94ea0
+_OaksLabReceivedMonText: ; 94ea0 (25:4ea0)
 	db $0, $52, " received", $4f
 	db "a @"
 	TX_RAM $cd6d
@@ -120461,18 +121686,18 @@
 	db $0, "!@@"
 ; 0x94eb6
 
-_OaksLabLastMonText: ; 0x94eb6
+_OaksLabLastMonText: ; 94eb6 (25:4eb6)
 	db $0, "That's PROF.OAK's", $4f
 	db "last #MON!", $57
 ; 0x94ed2
 
-_UnnamedText_1d2f0: ; 0x94ed2
+_UnnamedText_1d2f0: ; 94ed2 (25:4ed2)
 	db $0, "OAK: Now, ", $52, ",", $4f
 	db "which #MON do", $55
 	db "you want?", $57
 ; 0x94ef8
 
-_UnnamedText_1d2f5: ; 0x94ef8
+_UnnamedText_1d2f5: ; 94ef8 (25:4ef8)
 	db $0, "OAK: If a wild", $4f
 	db "#MON appears,", $55
 	db "your #MON can", $55
@@ -120479,7 +121704,7 @@
 	db "fight against it!", $57
 ; 0x94f36
 
-_UnnamedText_1d2fa: ; 0x94f36
+_UnnamedText_1d2fa: ; 94f36 (25:4f36)
 	db $0, "OAK: ", $52, ",", $4f
 	db "raise your young", $55
 	db "#MON by making", $55
@@ -120486,7 +121711,7 @@
 	db "it fight!", $57
 ; 0x94f36 + 51 bytes
 
-_OaksLabDeliverParcelText1: ; 0x94f69
+_OaksLabDeliverParcelText1: ; 94f69 (25:4f69)
 	db $0, "OAK: Oh, ", $52, "!", $51
 	db "How is my old", $4f
 	db "#MON?", $51
@@ -120501,7 +121726,7 @@
 	db "OAK's PARCEL.@@"
 ; 0x94f69 + 166 bytes
 
-_OaksLabDeliverParcelText2: ; 0x9500f
+_OaksLabDeliverParcelText2: ; 9500f (25:500f)
 	db $0, $51
 	db "Ah! This is the", $4f
 	db "custom # BALL", $55
@@ -120509,13 +121734,13 @@
 	db "Thank you!", $57
 ; 0x9500f + 54 bytes
 
-_OaksLabAroundWorldText: ; 0x95045
+_OaksLabAroundWorldText: ; 95045 (25:5045)
 	db $0, "#MON around the", $4f
 	db "world wait for", $55
 	db "you, ", $52, "!", $57
 ; 0x95045 + 40 bytes
 
-_OaksLabGivePokeballsText1: ; 0x9506d
+_OaksLabGivePokeballsText1: ; 9506d (25:506d)
 	db $0, "OAK: You can't get", $4f
 	db "detailed data on", $55
 	db "#MON by just", $55
@@ -120528,7 +121753,7 @@
 	db "# BALLs!@@"
 ; 0x9506d + 133 bytes
 
-_OaksLabGivePokeballsText2: ; 0x950f2
+_OaksLabGivePokeballsText2: ; 950f2 (25:50f2)
 	db $0, $51
 	db "When a wild", $4f
 	db "#MON appears,", $55
@@ -120543,7 +121768,7 @@
 	db "have to be lucky!", $57
 ; 0x950f2 + 172 bytes
 
-_OaksLabPleaseVisitText: ; 0x9519e
+_OaksLabPleaseVisitText: ; 9519e (25:519e)
 	db $0, "OAK: Come see me", $4f
 	db "sometimes.", $51
 	db "I want to know how", $4f
@@ -120551,7 +121776,7 @@
 	db "coming along.", $57
 ; 0x9519e + 75 bytes
 
-_UnnamedText_1d31d: ; 0x951e9
+_UnnamedText_1d31d: ; 951e9 (25:51e9)
 	db $0, "OAK: Good to see ", $4f
 	db "you! How is your ", $55
 	db "#DEX coming? ", $55
@@ -120559,16 +121784,16 @@
 	db "a look!", $58
 ; 0x951e9 + 77 bytes
 
-_UnnamedText_1d32c: ; 0x95236
+_UnnamedText_1d32c: ; 95236 (25:5236)
 	db $0, "It's encyclopedia-", $4f
 	db "like, but the", $55
 	db "pages are blank!", $57
 ; 0x95236 + 50 bytes
 
-_OaksLabText8: ; 0x95268
+_OaksLabText8: ; 95268 (25:5268)
 	db $0, "?", $57
 
-_UnnamedText_1d340: ; 0x9526b
+_UnnamedText_1d340: ; 9526b (25:526b)
 	db $0, "PROF.OAK is the", $4f
 	db "authority on", $55
 	db "#MON!", $51
@@ -120577,13 +121802,13 @@
 	db "in high regard!", $57
 ; 0x9526b + 80 bytes
 
-_OaksLabRivalWaitingText: ; 0x952bb
+_OaksLabRivalWaitingText: ; 952bb (25:52bb)
 	db $0, $53, ": Gramps!", $4f
 	db "I'm fed up with", $55
 	db "waiting!", $57
 ; 0x952bb + 36 bytes
 
-_OaksLabChooseMonText: ; 0x952df
+_OaksLabChooseMonText: ; 952df (25:52df)
 	db $0, "OAK: ", $53, "?", $4f
 	db "Let me think...", $51
 	db "Oh, that's right,", $4f
@@ -120604,39 +121829,39 @@
 	db "one! Choose!", $57
 ; 0x952df + 253 bytes
 
-_OaksLabRivalInterjectionText: ; 0x953dc
+_OaksLabRivalInterjectionText: ; 953dc (25:53dc)
 	db $0, $53, ": Hey!", $4f
 	db "Gramps! What", $55
 	db "about me?", $57
 ; 0x953dc + 32 bytes
 
-_OaksLabBePatientText: ; 0x953fc
+_OaksLabBePatientText: ; 953fc (25:53fc)
 	db $0, "OAK: Be patient!", $4f
 	db $53, ", you can", $55
 	db "have one too!", $57
 ; 0x953fc + 43 bytes
 
-_OaksLabLeavingText: ; 0x95427
+_OaksLabLeavingText: ; 95427 (25:5427)
 	db $0, "OAK: Hey! Don't go", $4f
 	db "away yet!", $57
 ; 0x95427 + 29 bytes
 
-_OaksLabRivalPickingMonText: ; 0x95444
+_OaksLabRivalPickingMonText: ; 95444 (25:5444)
 	db $0, $53, ": I'll take", $4f
 	db "this one, then!", $57
 ; 0x95444 + 29 bytes
 
-_OaksLabRivalReceivedMonText: ; 0x95461
+_OaksLabRivalReceivedMonText: ; 95461 (25:5461)
 	db $0, $53, " received", $4f
 	db "a @"
 ; 0x95470
 
-UnnamedText_95470: ; 0x95470
+UnnamedText_95470: ; 95470 (25:5470)
 	TX_RAM $cd6d
 	db $0, "!@@"
 ; 0x95470 + 7 bytes
 
-_OaksLabRivalChallengeText: ; 0x95477
+_OaksLabRivalChallengeText: ; 95477 (25:5477)
 	db $0, $53, ": Wait", $4f
 	db $52, "!", $55
 	db "Let's check out", $55
@@ -120645,7 +121870,7 @@
 	db "you on!", $57
 ; 0x95477 + 63 bytes
 
-_UnnamedText_1d3be: ; 0x954b6
+_UnnamedText_1d3be: ; 954b6 (25:54b6)
 	db $0, "WHAT?", $4f
 	db "Unbelievable!", $55
 	db "I picked the", $55
@@ -120652,12 +121877,12 @@
 	db "wrong #MON!", $58
 ; 0x954b6 + 46 bytes
 
-_UnnamedText_1d3c3: ; 0x954e4
+_UnnamedText_1d3c3: ; 954e4 (25:54e4)
 	db $0, $53, ": Yeah! Am", $4f
 	db "I great or what?", $58
 ; 0x954e4 + 30 bytes
 
-_OaksLabRivalToughenUpText: ; 0x95502
+_OaksLabRivalToughenUpText: ; 95502 (25:5502)
 	db $0, $53, ": Okay!", $4f
 	db "I'll make my", $55
 	db "#MON fight to", $55
@@ -120666,22 +121891,22 @@
 	db "Smell you later!", $57
 ; 0x95502 + 79 bytes
 
-_OaksLabText21: ; 0x95551
+_OaksLabText21: ; 95551 (25:5551)
 	db $0, $53, ": Gramps!", $57
 ; 0x95551 + 12 bytes
 
-_OaksLabText22: ; 0x9555d
+_OaksLabText22: ; 9555d (25:555d)
 	db $0, $53, ": What did", $4f
 	db "you call me for?", $57
 ; 0x9555d + 30 bytes
 
-_OaksLabText23: ; 0x9557b
+_OaksLabText23: ; 9557b (25:557b)
 	db $0, "OAK: Oh right! I", $4f
 	db "have a request", $55
 	db "of you two.", $57
 ; 0x9557b + 45 bytes
 
-_OaksLabText24: ; 0x955a8
+_OaksLabText24: ; 955a8 (25:55a8)
 	db $0, "On the desk there", $4f
 	db "is my invention,", $55
 	db "#DEX!", $51
@@ -120693,7 +121918,7 @@
 	db "encyclopedia!", $57
 ; 0x955a8 + 130 bytes
 
-_OaksLabText25: ; 0x9562a
+_OaksLabText25: ; 9562a (25:562a)
 	db $0, "OAK: ", $52, " and", $4f
 	db $53, "! Take", $55
 	db "these with you!", $51
@@ -120701,7 +121926,7 @@
 	db "#DEX from OAK!@@"
 ; 0x9562a + 58 bytes
 
-_OaksLabText26: ; 0x95664
+_OaksLabText26: ; 95664 (25:5664)
 	db $0, "To make a complete", $4f
 	db "guide on all the", $55
 	db "#MON in the", $55
@@ -120719,7 +121944,7 @@
 	db "#MON history!", $57
 ; 0x95664 + 221 bytes
 
-_OaksLabText27: ; 0x95741
+_OaksLabText27: ; 95741 (25:5741)
 	db $0, $53, ": Alright", $4f
 	db "Gramps! Leave it", $55
 	db "all to me!", $51
@@ -120734,24 +121959,24 @@
 	db $52, "! Hahaha!", $57
 ; 0x95741 + 170 bytes
 
-_UnnamedText_1d405: ; 0x957eb
+_UnnamedText_1d405: ; 957eb (25:57eb)
 	db $0, "I study #MON as", $4f
 	db "PROF.OAK's AIDE.", $57
 ; 0x957eb + 33 bytes
 
-_UnnamedText_441cc: ; 0x9580c
+_UnnamedText_441cc: ; 9580c (25:580c)
 	db $0, "#DEX comp-", $4f
 	db "letion is:", $51
 	db "@"
 ; 0x9580c + 24 bytes
 
-UnnamedText_95824: ; 0x95824
+UnnamedText_95824: ; 95824 (25:5824)
 	TX_NUM $ffdb, 1, 3
 	db $0, " #MON seen", $4f
 	db "@"
 ; 0x95835
 
-UnnamedText_95835: ; 0x95835
+UnnamedText_95835: ; 95835 (25:5835)
 	TX_NUM $ffdc, 1, 3
 	db $0, " #MON owned", $51
 	db "PROF.OAK's", $4f
@@ -120758,7 +121983,7 @@
 	db "Rating:", $58
 ; 0x95858
 
-_UnnamedText_44201: ; 0x95858
+_UnnamedText_44201: ; 95858 (25:5858)
 	db $0, "You still have", $4f
 	db "lots to do.", $55
 	db "Look for #MON", $55
@@ -120765,7 +121990,7 @@
 	db "in grassy areas!", $57
 ; 0x95858 + 59 bytes
 
-_UnnamedText_44206: ; 0x95893
+_UnnamedText_44206: ; 95893 (25:5893)
 	db $0, "You're on the", $4f
 	db "right track! ", $55
 	db "Get a FLASH HM", $55
@@ -120772,7 +121997,7 @@
 	db "from my AIDE!", $57
 ; 0x95893 + 57 bytes
 
-_UnnamedText_4420b: ; 0x958cc
+_UnnamedText_4420b: ; 958cc (25:58cc)
 	db $0, "You still need", $4f
 	db "more #MON!", $55
 	db "Try to catch", $55
@@ -120779,7 +122004,7 @@
 	db "other species!", $57
 ; 0x958cc + 55 bytes
 
-_UnnamedText_44210: ; 0x95903
+_UnnamedText_44210: ; 95903 (25:5903)
 	db $0, "Good, you're", $4f
 	db "trying hard!", $55
 	db "Get an ITEMFINDER", $55
@@ -120786,13 +122011,13 @@
 	db "from my AIDE!", $57
 ; 0x95903 + 58 bytes
 
-_UnnamedText_44215: ; 0x9593d
+_UnnamedText_44215: ; 9593d (25:593d)
 	db $0, "Looking good!", $4f
 	db "Go find my AIDE", $55
 	db "when you get 50!", $57
 ; 0x9593d + 48 bytes
 
-_UnnamedText_4421a: ; 0x9596d
+_UnnamedText_4421a: ; 9596d (25:596d)
 	db $0, "You finally got at", $4f
 	db "least 50 species!", $55
 	db "Be sure to get", $55
@@ -120800,30 +122025,30 @@
 	db "AIDE!", $57
 ; 0x9596d + 75 bytes
 
-_UnnamedText_4421f: ; 0x959b8
+_UnnamedText_4421f: ; 959b8 (25:59b8)
 	db $0, "Ho! This is geting", $4f
 	db "even better!", $57
 ; 0x959b8 + 33 bytes
 
-_UnnamedText_44224: ; 0x959d9
+_UnnamedText_44224: ; 959d9 (25:59d9)
 	db $0, "Very good!", $4f
 	db "Go fish for some", $55
 	db "marine #MON!", $57
 ; 0x959d9 + 42 bytes
 
-_UnnamedText_44229: ; 0x95a03
+_UnnamedText_44229: ; 95a03 (25:5a03)
 	db $0, "Wonderful!", $4f
 	db "Do you like to", $55
 	db "collect things?", $57
 ; 0x95a03 + 43 bytes
 
-_UnnamedText_4422e: ; 0x95a2e
+_UnnamedText_4422e: ; 95a2e (25:5a2e)
 	db $0, "I'm impressed!", $4f
 	db "It must have been", $55
 	db "difficult to do!", $57
 ; 0x95a2e + 50 bytes
 
-_UnnamedText_44233: ; 0x95a60
+_UnnamedText_44233: ; 95a60 (25:5a60)
 	db $0, "You finally got at", $4f
 	db "least 100 species!", $55
 	db "I can't believe", $55
@@ -120830,25 +122055,25 @@
 	db "how good you are!", $57
 ; 0x95a60 + 72 bytes
 
-_UnnamedText_44238: ; 0x95aa8
+_UnnamedText_44238: ; 95aa8 (25:5aa8)
 	db $0, "You even have the", $4f
 	db "evolved forms of", $55
 	db "#MON! Super!", $57
 ; 0x95aa8 + 49 bytes
 
-_UnnamedText_4423d: ; 0x95ad9
+_UnnamedText_4423d: ; 95ad9 (25:5ad9)
 	db $0, "Excellent! Trade", $4f
 	db "with friends to", $55
 	db "get some more!", $57
 ; 0x95ad9 + 49 bytes
 
-_UnnamedText_44242: ; 0x95b0a
+_UnnamedText_44242: ; 95b0a (25:5b0a)
 	db $0, "Outstanding!", $4f
 	db "You've become a", $55
 	db "real pro at this!", $57
 ; 0x95b0a + 47 bytes
 
-_UnnamedText_44247: ; 0x95b39
+_UnnamedText_44247: ; 95b39 (25:5b39)
 	db $0, "I have nothing", $4f
 	db "left to say!", $55
 	db "You're the", $55
@@ -120855,20 +122080,20 @@
 	db "authority now!", $57
 ; 0x95b39 + 54 bytes
 
-_UnnamedText_4424c: ; 0x95b6f
+_UnnamedText_4424c: ; 95b6f (25:5b6f)
 	db $0, "Your #DEX is", $4f
 	db "entirely complete!", $55
 	db "Congratulations!", $57
 ; 0x95b6f + 50 bytes
 
-_ViridianPokeCenterText2: ; 0x95ba1
-_ViridianPokeCenterText1: ; 0x95ba1
+_ViridianPokeCenterText2: ; 95ba1 (25:5ba1)
+_ViridianPokeCenterText1: ; 95ba1 (25:5ba1)
 	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
+_ViridianPokeCenterText3: ; 95be8 (25:5be8)
 	db $0, "There's a #MON", $4f
 	db "CENTER in every", $55
 	db "town ahead.", $51
@@ -120875,16 +122100,16 @@
 	db "They don't charge", $4f
 	db "any money either!", $57
 
-_ViridianMartText1: ; 0x95c36
+_ViridianMartText1: ; 95c36 (25:5c36)
 	db $0, "Okay! Say hi to", $4f
 	db "PROF.OAK for me!", $57
 
-_ViridianMartText4: ; 0x95c58
+_ViridianMartText4: ; 95c58 (25:5c58)
 	db $0, "Hey! You came from", $4f
 	db "PALLET TOWN?", $57
 ; 0x95c58 + 33 bytes
 
-ViridianMartParcelQuestText: ; 0x95c79
+ViridianMartParcelQuestText: ; 95c79 (25:5c79)
 	db $0, "You know PROF.", $4f
 	db "OAK, right?", $51
 	db "His order came in.", $4f
@@ -120894,26 +122119,26 @@
 	db "OAK's PARCEL!@@"
 ; 0x95c79 + 92 bytes
 
-_ViridianMartText2: ; 0x95cd5
+_ViridianMartText2: ; 95cd5 (25:5cd5)
 	db $0, "This shop sells", $4f
 	db "many ANTIDOTEs.", $57
 
-_ViridianMartText3: ; 0x95cf6
+_ViridianMartText3: ; 95cf6 (25:5cf6)
 	db $0, "No! POTIONs are", $4f
 	db "all sold out.", $57
 
-_SchoolText1: ; 0x95d15
+_SchoolText1: ; 95d15 (25:5d15)
 	db $0, "Whew! I'm trying", $4f
 	db "to memorize all", $55
 	db "my notes.", $57
 
-_SchoolText2: ; 0x95d40
+_SchoolText2: ; 95d40 (25:5d40)
 	db $0, "Okay!", $51
 	db "Be sure to read", $4f
 	db "the blackboard", $55
 	db "carefully!", $57
 
-_ViridianHouseText1: ; 0x95d71
+_ViridianHouseText1: ; 95d71 (25:5d71)
 	db $0, "Coming up with", $4f
 	db "nicknames is fun,", $55
 	db "but hard.", $51
@@ -120921,19 +122146,19 @@
 	db "the easiest to", $55
 	db "remember.", $57
 
-_ViridianHouseText2: ; 0x95dc7
+_ViridianHouseText2: ; 95dc7 (25:5dc7)
 	db $0, "My Daddy loves", $4f
 	db "#MON too.", $57
 
-_UnnamedText_1d5b1: ; 0x95de1
+_UnnamedText_1d5b1: ; 95de1 (25:5de1)
 	db $0, "SPEARY: Tetweet!", $57
 ; 0x95de1 + 18 bytes
 
-_ViridianHouseText4: ; 0x95df3
+_ViridianHouseText4: ; 95df3 (25:5df3)
 	db $0, "SPEAROW", $4f
 	db "Name: SPEARY", $57
 
-_UnnamedText_74ace: ; 0x95e09
+_UnnamedText_74ace: ; 95e09 (25:5e09)
 	db $0, "Fwahahaha! This is", $4f
 	db "my hideout!", $51
 	db "I planned to", $4f
@@ -120950,7 +122175,7 @@
 	db "greatest trainer!", $57
 ; 0x95e09 + 204 bytes
 
-_UnnamedText_74ad3: ; 0x95ed5
+_UnnamedText_74ad3: ; 95ed5 (25:5ed5)
 	db $0, "Ha!", $4f
 	db "That was a truly", $55
 	db "intense fight!", $55
@@ -120959,7 +122184,7 @@
 	db "the EARTHBADGE!@@"
 ; 0x95ed5 + 85 bytes
 
-_UnnamedText_74ad9: ; 0x95f2b
+_UnnamedText_74ad9: ; 95f2b (25:5f2b)
 	db $0, "Having lost, I", $4f
 	db "cannot face my", $55
 	db "underlings!", $55
@@ -120973,7 +122198,7 @@
 	db "Farewell!@@"
 ; 0x95f2b + 160 bytes
 
-_ViridianGymText12: ; 0x95fcc
+_ViridianGymText12: ; 95fcc (25:5fcc)
 	db $0, "The EARTHBADGE", $4f
 	db "makes #MON of", $55
 	db "any level obey!", $51
@@ -120988,12 +122213,12 @@
 	db "LEAGUE challenge!", $57
 ; 0x95fcc + 182 bytes
 
-_ReceivedTM27Text: ; 0x96082
+_ReceivedTM27Text: ; 96082 (25:6082)
 	db $0, $52, " received", $4f
 	db "TM27!@@"
 ; 0x96082 + 19 bytes
 
-_TM27ExplanationText: ; 0x96095
+_TM27ExplanationText: ; 96095 (25:6095)
 	db $0, $51
 	db "TM27 is FISSURE!", $4f
 	db "It will take out", $55
@@ -121004,124 +122229,124 @@
 	db "too long ago...", $57
 ; 0x96095 + 111 bytes
 
-_TM27NoRoomText: ; 0x96104
+_TM27NoRoomText: ; 96104 (25:6104)
 	db $0, "You do not have", $4f
 	db "space for this!", $57
 ; 0x96104 + 33 bytes
 
-_ViridianGymBattleText1: ; 0x96125
+_ViridianGymBattleText1: ; 96125 (25:6125)
 	db $0, "Heh! You must be", $4f
 	db "running out of", $55
 	db "steam by now!", $57
 ; 0x96125 + 47 bytes
 
-_ViridianGymEndBattleText1: ; 0x96154
+_ViridianGymEndBattleText1: ; 96154 (25:6154)
 	db $0, "I", $4f
 	db "ran out of gas!", $58
 ; 0x96154 + 19 bytes
 
-_ViridianGymAfterBattleText1: ; 0x96167
+_ViridianGymAfterBattleText1: ; 96167 (25:6167)
 	db $0, "You need power to", $4f
 	db "keep up with our", $55
 	db "GYM LEADER!", $57
 ; 0x96167 + 48 bytes
 
-_ViridianGymBattleText2: ; 0x96197
+_ViridianGymBattleText2: ; 96197 (25:6197)
 	db $0, "Rrrroar! I'm", $4f
 	db "working myself", $55
 	db "into a rage!", $57
 ; 0x96197 + 41 bytes
 
-_ViridianGymEndBattleText2: ; 0x961c0
+_ViridianGymEndBattleText2: ; 961c0 (25:61c0)
 	db $0, "Wargh!", $58
 ; 0x961c0 + 8 bytes
 
-_ViridianGymAfterBattleText2: ; 0x961c8
+_ViridianGymAfterBattleText2: ; 961c8 (25:61c8)
 	db $0, "I'm still not", $4f
 	db "worthy!", $57
 ; 0x961c8 + 22 bytes
 
-_ViridianGymBattleText3: ; 0x961de
+_ViridianGymBattleText3: ; 961de (25:61de)
 	db $0, "#MON and I, we", $4f
 	db "make wonderful", $55
 	db "music together!", $57
 ; 0x961de + 47 bytes
 
-_ViridianGymEndBattleText3: ; 0x9620d
+_ViridianGymEndBattleText3: ; 9620d (25:620d)
 	db $0, "You are in", $4f
 	db "perfect harmony!", $58
 ; 0x9620d + 29 bytes
 
-_ViridianGymAfterBattleText3: ; 0x9622a
+_ViridianGymAfterBattleText3: ; 9622a (25:622a)
 	db $0, "Do you know the", $4f
 	db "identity of our", $55
 	db "GYM LEADER?", $57
 ; 0x9622a + 45 bytes
 
-_ViridianGymBattleText4: ; 0x96257
+_ViridianGymBattleText4: ; 96257 (25:6257)
 	db $0, "Karate is the", $4f
 	db "ultimate form of", $55
 	db "martial arts!", $57
 ; 0x96257 + 46 bytes
 
-_ViridianGymEndBattleText4: ; 0x96285
+_ViridianGymEndBattleText4: ; 96285 (25:6285)
 	db $0, "Atcho!", $58
 ; 0x96285 + 8 bytes
 
-_ViridianGymAfterBattleText4: ; 0x9628d
+_ViridianGymAfterBattleText4: ; 9628d (25:628d)
 	db $0, "If my #MON", $4f
 	db "were as good at", $55
 	db "Karate as I...", $57
 ; 0x9628d + 43 bytes
 
-_ViridianGymBattleText5: ; 0x962b8
+_ViridianGymBattleText5: ; 962b8 (25:62b8)
 	db $0, "The truly talented", $4f
 	db "win with style!", $57
 ; 0x962b8 + 36 bytes
 
-_ViridianGymEndBattleText5: ; 0x962dc
+_ViridianGymEndBattleText5: ; 962dc (25:62dc)
 	db $0, "I", $4f
 	db "lost my grip!", $58
 ; 0x962dc + 17 bytes
 
-_ViridianGymAfterBattleText5: ; 0x962ed
+_ViridianGymAfterBattleText5: ; 962ed (25:62ed)
 	db $0, "The LEADER will", $4f
 	db "scold me!", $57
 ; 0x962ed + 27 bytes
 
-_ViridianGymBattleText6: ; 0x96308
+_ViridianGymBattleText6: ; 96308 (25:6308)
 	db $0, "I'm the KARATE", $4f
 	db "KING! Your fate", $55
 	db "rests with me!", $57
 ; 0x96308 + 46 bytes
 
-_ViridianGymEndBattleText6: ; 0x96336
+_ViridianGymEndBattleText6: ; 96336 (25:6336)
 	db $0, "Ayah!", $58
 ; 0x96336 + 7 bytes
 
-_ViridianGymAfterBattleText6: ; 0x9633d
+_ViridianGymAfterBattleText6: ; 9633d (25:633d)
 	db $0, "#MON LEAGUE?", $4f
 	db "You? Don't get", $55
 	db "cocky!", $57
 ; 0x9633d + 35 bytes
 
-_ViridianGymBattleText7: ; 0x96360
+_ViridianGymBattleText7: ; 96360 (25:6360)
 	db $0, "Your #MON will", $4f
 	db "cower at the", $55
 	db "crack of my whip!", $57
 ; 0x96360 + 47 bytes
 
-_ViridianGymEndBattleText7: ; 0x9638f
+_ViridianGymEndBattleText7: ; 9638f (25:638f)
 	db $0, "Yowch!", $4f
 	db "Whiplash!", $58
 ; 0x9638f + 18 bytes
 
-_ViridianGymAfterBattleText7: ; 0x963a1
+_ViridianGymAfterBattleText7: ; 963a1 (25:63a1)
 	db $0, "Wait! I was just", $4f
 	db "careless!", $57
 ; 0x963a1 + 28 bytes
 
-_ViridianGymBattleText8: ; 0x963bd
+_ViridianGymBattleText8: ; 963bd (25:63bd)
 	db $0, "VIRIDIAN GYM was", $4f
 	db "closed for a long", $55
 	db "time, but now our", $55
@@ -121128,12 +122353,12 @@
 	db "LEADER is back!", $57
 ; 0x963bd + 70 bytes
 
-_ViridianGymEndBattleText8: ; 0x96403
+_ViridianGymEndBattleText8: ; 96403 (25:6403)
 	db $0, "I", $4f
 	db "was beaten?", $58
 ; 0x96403 + 15 bytes
 
-_ViridianGymAfterBattleText8: ; 0x96412
+_ViridianGymAfterBattleText8: ; 96412 (25:6412)
 	db $0, "You can go onto", $4f
 	db "#MON LEAGUE", $55
 	db "only by defeating", $55
@@ -121140,7 +122365,7 @@
 	db "our GYM LEADER!", $57
 ; 0x96412 + 63 bytes
 
-_UnnamedText_74bd4: ; 0x96451
+_UnnamedText_74bd4: ; 96451 (25:6451)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "Even I don't know", $4f
@@ -121155,17 +122380,17 @@
 	db "#MON!", $57
 ; 0x96451 + 170 bytes
 
-_UnnamedText_74bd9: ; 0x964fb
+_UnnamedText_74bd9: ; 964fb (25:64fb)
 	db $0, "Blow me away!", $4f
 	db "GIOVANNI was the", $55
 	db "GYM LEADER here?", $57
 ; 0x964fb + 49 bytes
 
-_UnnamedText_5c21a: ; 0x9652c
+_UnnamedText_5c21a: ; 9652c (25:652c)
 	db $0, "Come again!", $57
 ; 0x9652c + 13 bytes
 
-_UnnamedText_5c21f: ; 0x96539
+_UnnamedText_5c21f: ; 96539 (25:6539)
 	db $0, "It's ¥50 for a", $4f
 	db "child's ticket.", $51
 	db "Would you like to", $4f
@@ -121172,17 +122397,17 @@
 	db "come in?", $57
 ; 0x96539 + 57 bytes
 
-_UnnamedText_5c224: ; 0x96572
+_UnnamedText_5c224: ; 96572 (25:6572)
 	db $0, "Right, ¥50!", $4f
 	db "Thank you!", $57
 ; 0x96572 + 24 bytes
 
-_UnnamedText_5c229: ; 0x9658a
+_UnnamedText_5c229: ; 9658a (25:658a)
 	db $0, "You don't have", $4f
 	db "enough money.", $58
 ; 0x9658a + 29 bytes
 
-_UnnamedText_5c22e: ; 0x965a7
+_UnnamedText_5c22e: ; 965a7 (25:65a7)
 	db $0, "You can't sneak", $4f
 	db "in the back way!", $51
 	db "Oh, whatever!", $4f
@@ -121190,7 +122415,7 @@
 	db "AMBER is?", $57
 ; 0x965a7 + 74 bytes
 
-_UnnamedText_5c233: ; 0x965f1
+_UnnamedText_5c233: ; 965f1 (25:65f1)
 	db $0, "There's a lab", $4f
 	db "somewhere trying", $55
 	db "to resurrect", $55
@@ -121198,28 +122423,28 @@
 	db "from AMBER.", $57
 ; 0x965f1 + 69 bytes
 
-_UnnamedText_5c238: ; 0x96636
+_UnnamedText_5c238: ; 96636 (25:6636)
 	db $0, "AMBER is fossil-", $4f
 	db "ized tree sap.", $57
 ; 0x96636 + 33 bytes
 
-_UnnamedText_5c23d: ; 0x96657
+_UnnamedText_5c23d: ; 96657 (25:6657)
 	db $0, "Please go to the", $4f
 	db "other side!", $57
 ; 0x96657 + 30 bytes
 
-_UnnamedText_5c242: ; 0x96675
+_UnnamedText_5c242: ; 96675 (25:6675)
 	db $0, "Take plenty of", $4f
 	db "time to look!", $57
 ; 0x96675 + 30 bytes
 
-_UnnamedText_5c251: ; 0x96693
+_UnnamedText_5c251: ; 96693 (25:6693)
 	db $0, "That is one", $4f
 	db "magnificent", $55
 	db "fossil!", $57
 ; 0x96693 + 33 bytes
 
-_UnnamedText_5c28e: ; 0x966b4
+_UnnamedText_5c28e: ; 966b4 (25:66b4)
 	db $0, "Ssh! I think that", $4f
 	db "this chunk of", $55
 	db "AMBER contains", $55
@@ -121237,22 +122462,22 @@
 	db "get it examined!", $58
 ; 0x966b4 + 220 bytes
 
-_ReceivedOldAmberText: ; 0x96790
+_ReceivedOldAmberText: ; 96790 (25:6790)
 	db $0, $52, " received", $4f
 	db "OLD AMBER!@@"
 ; 0x96790 + 24 bytes
 
-_UnnamedText_5c299: ; 0x967a8
+_UnnamedText_5c299: ; 967a8 (25:67a8)
 	db $0, "Ssh! Get the OLD", $4f
 	db "AMBER checked!", $57
 ; 0x967a8 + 33 bytes
 
-_UnnamedText_5c29e: ; 0x967c9
+_UnnamedText_5c29e: ; 967c9 (25:67c9)
 	db $0, "You don't have", $4f
 	db "space for this!", $57
 ; 0x967c9 + 31 bytes
 
-_UnnamedText_5c2ad: ; 0x967e8
+_UnnamedText_5c2ad: ; 967e8 (25:67e8)
 	db $0, "We are proud of 2", $4f
 	db "fossils of very", $55
 	db "rare, prehistoric", $55
@@ -121259,17 +122484,17 @@
 	db "#MON!", $57
 ; 0x967e8 + 59 bytes
 
-_UnnamedText_5c2bc: ; 0x96823
+_UnnamedText_5c2bc: ; 96823 (25:6823)
 	db $0, "The AMBER is", $4f
 	db "clear and gold!", $57
 ; 0x96823 + 30 bytes
 
-_MuseumF2Text1: ; 0x96841
+_MuseumF2Text1: ; 96841 (25:6841)
 	db $0, "MOON STONE?", $51
 	db "What's so special", $4f
 	db "about it?", $57
 
-_MuseumF2Text2: ; 0x96869
+_MuseumF2Text2: ; 96869 (25:6869)
 	db $0, "July 20, 1969!", $51
 	db "The 1st lunar", $4f
 	db "landing!", $51
@@ -121276,30 +122501,30 @@
 	db "I bought a color", $4f
 	db "TV to watch it!", $57
 
-_MuseumF2Text3: ; 0x968b1
+_MuseumF2Text3: ; 968b1 (25:68b1)
 	db $0, "We have a space", $4f
 	db "exhibit now.", $57
 
-_MuseumF2Text4: ; 0x968cf
+_MuseumF2Text4: ; 968cf (25:68cf)
 	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
+_MuseumF2Text5: ; 96911 (25:6911)
 	db $0, "Yeah, a PIKACHU", $4f
 	db "soon, I promise!", $57
 
-_MuseumF2Text6: ; 0x96933
+_MuseumF2Text6: ; 96933 (25:6933)
 	db $0, "SPACE SHUTTLE", $4f
 	db "COLUMBIA", $57
 
-_MuseumF2Text7: ; 0x9694b
+_MuseumF2Text7: ; 9694b (25:694b)
 	db $0, "Meteorite that", $4f
 	db "fell on MT.MOON.", $55
 	db "(MOON STONE?)", $57
 
-_UnnamedText_5c49e: ; 0x9697a
+_UnnamedText_5c49e: ; 9697a (25:697a)
 	db $0, "I'm BROCK!", $4f
 	db "I'm PEWTER's GYM", $55
 	db "LEADER!", $51
@@ -121317,7 +122542,7 @@
 
 SECTION "bank26",DATA,BANK[$26]
 
-_UnnamedText_5c4a3: ; 0x98000
+_UnnamedText_5c4a3: ; 98000 (26:4000)
 	db $0, "There are all", $4f
 	db "kinds of trainers", $55
 	db "in the world!", $51
@@ -121329,17 +122554,17 @@
 	db "your abilities!", $57
 ; 0x98000 + 146 bytes
 
-_TM34PreReceiveText: ; 0x98092
+_TM34PreReceiveText: ; 98092 (26:4092)
 	db $0, "Wait! Take this", $4f
 	db "with you!", $57
 ; 0x98092 + 27 bytes
 
-_ReceivedTM34Text: ; 0x980ad
+_ReceivedTM34Text: ; 980ad (26:40ad)
 	db $0, $52, " received", $4f
 	db "TM34!@@"
 ; 0x980c0
 
-_TM34ExplanationText: ; 0x980c0
+_TM34ExplanationText: ; 980c0 (26:40c0)
 	db $0, $51
 	db "A TM contains a", $4f
 	db "technique that", $55
@@ -121359,12 +122584,12 @@
 	db "it back double!", $57
 ; 0x980c0 + 235 bytes
 
-_TM34NoRoomText: ; 0x981ab
+_TM34NoRoomText: ; 981ab (26:41ab)
 	db $0, "You don't have", $4f
 	db "room for this!", $57
 ; 0x981ab + 30 bytes
 
-_UnnamedText_5c4bc: ; 0x981c9
+_UnnamedText_5c4bc: ; 981c9 (26:41c9)
 	db $0, "I took", $4f
 	db "you for granted.", $51
 	db "As proof of your", $4f
@@ -121374,7 +122599,7 @@
 	db "the BOULDERBADGE!@@"
 ; 0x98232
 
-_UnnamedText_5c4c1: ; 0x98232
+_UnnamedText_5c4c1: ; 98232 (26:4232)
 	db $0, $51
 	db "That's an official", $4f
 	db "#MON LEAGUE", $55
@@ -121387,7 +122612,7 @@
 	db "used any time!", $58
 ; 0x98232 + 124 bytes
 
-_PewterGymBattleText1: ; 0x982ae
+_PewterGymBattleText1: ; 982ae (26:42ae)
 	db $0, "Stop right there,", $4f
 	db "kid!", $51
 	db "You're still light", $4f
@@ -121395,7 +122620,7 @@
 	db "BROCK!", $57
 ; 0x982ae + 67 bytes
 
-_PewterGymEndBattleText1: ; 0x982f1
+_PewterGymEndBattleText1: ; 982f1 (26:42f1)
 	db $0, "Darn!", $51
 	db "Light years isn't", $4f
 	db "time! It measures", $55
@@ -121402,13 +122627,13 @@
 	db "distance!", $58
 ; 0x982f1 + 52 bytes
 
-_PewterGymAfterBattleText1: ; 0x98325
+_PewterGymAfterBattleText1: ; 98325 (26:4325)
 	db $0, "You're pretty hot,", $4f
 	db "but not as hot", $55
 	db "as BROCK!", $57
 ; 0x98325 + 44 bytes
 
-_UnnamedText_5c515: ; 0x98351
+_UnnamedText_5c515: ; 98351 (26:4351)
 	db $0, "Hiya! I can tell", $4f
 	db "you have what it", $55
 	db "takes to become a", $55
@@ -121420,12 +122645,12 @@
 	db "to the top!", $57
 ; 0x98351 + 139 bytes
 
-_UnnamedText_5c51a: ; 0x983dc
+_UnnamedText_5c51a: ; 983dc (26:43dc)
 	db $0, "All right! Let's", $4f
 	db "get happening!", $58
 ; 0x983dc + 32 bytes
 
-_UnnamedText_5c51f: ; 0x983fc
+_UnnamedText_5c51f: ; 983fc (26:43fc)
 	db $0, "The 1st #MON", $4f
 	db "out in a match is", $55
 	db "at the top of the", $55
@@ -121436,25 +122661,25 @@
 	db "made easier!", $57
 ; 0x983fc + 122 bytes
 
-_UnnamedText_5c524: ; 0x98476
+_UnnamedText_5c524: ; 98476 (26:4476)
 	db $0, "It's a free", $4f
 	db "service! Let's", $55
 	db "get happening!", $58
 ; 0x98476 + 41 bytes
 
-_UnnamedText_5c529: ; 0x9849f
+_UnnamedText_5c529: ; 9849f (26:449f)
 	db $0, "Just as I thought!", $4f
 	db "You're #MON", $55
 	db "champ material!", $57
 ; 0x9849f + 47 bytes
 
-_PewterHouse1Text1: ; 0x984ce
+_PewterHouse1Text1: ; 984ce (26:44ce)
 	db $0, "NIDORAN: Bowbow!@@"
 
-_PewterHouse1Text2: ; 0x984e1
+_PewterHouse1Text2: ; 984e1 (26:44e1)
 	db $0, "NIDORAN sit!", $57
 
-_PewterHouse1Text3: ; 0x984ef
+_PewterHouse1Text3: ; 984ef (26:44ef)
 	db $0, "Our #MON's an", $4f
 	db "outsider, so it's", $55
 	db "hard to handle.", $51
@@ -121468,7 +122693,7 @@
 	db "If only we had", $4f
 	db "some BADGEs...", $57
 
-_UnnamedText_74cc6: ; 0x985ac
+_UnnamedText_74cc6: ; 985ac (26:45ac)
 	db $0, "A shady, old man", $4f
 	db "got me to buy", $55
 	db "this really weird", $55
@@ -121477,7 +122702,7 @@
 	db "and it cost ¥500!", $57
 ; 0x985ac + 96 bytes
 
-_UnnamedText_74cd5: ; 0x9860c
+_UnnamedText_74cd5: ; 9860c (26:460c)
 	db $0, "Good things can", $4f
 	db "happen if you", $55
 	db "raise #MON", $55
@@ -121485,7 +122710,7 @@
 	db "the weak ones!", $57
 ; 0x9860c + 74 bytes
 
-_PewterHouse2Text1: ; 0x98656
+_PewterHouse2Text1: ; 98656 (26:4656)
 	db $0, "#MON learn new", $4f
 	db "techniques as", $55
 	db "they grow!", $51
@@ -121493,7 +122718,7 @@
 	db "must be taught by", $55
 	db "the trainer!", $57
 
-_PewterHouse2Text2: ; 0x986ae
+_PewterHouse2Text2: ; 986ae (26:46ae)
 	db $0, "#MON become", $4f
 	db "easier to catch", $55
 	db "when they are", $55
@@ -121501,7 +122726,7 @@
 	db "But, it's not a", $4f
 	db "sure thing!", $57
 
-_PewterPokecenterText1: ; 0x98704
+_PewterPokecenterText1: ; 98704 (26:4704)
 	db $0, "What!?", $51
 	db "TEAM ROCKET is", $4f
 	db "at MT.MOON? Huh?", $55
@@ -121508,12 +122733,12 @@
 	db "I'm on the phone!", $51
 	db "Scram!", $57
 
-_PewterPokecenterText5: ; 0x98744
+_PewterPokecenterText5: ; 98744 (26:4744)
 	db $0, "JIGGLYPUFF: Puu", $4f
 	db "pupuu!", $57
 ; 0x9875c
 
-_UnnamedText_1d6ab: ; 0x9875c
+_UnnamedText_1d6ab: ; 9875c (26:475c)
 	db $0, "Those miserable", $4f
 	db "ROCKETs!", $51
 	db "Look what they", $4f
@@ -121526,7 +122751,7 @@
 	db "bundle, it did!", $57
 ; 0x9875c + 134 bytes
 
-_UnnamedText_1d6b0: ; 0x987e2
+_UnnamedText_1d6b0: ; 987e2 (26:47e2)
 	db $0, "I figure what's", $4f
 	db "lost is lost!", $51
 	db "I decided to teach", $4f
@@ -121534,17 +122759,17 @@
 	db "DIG without a TM!", $57
 ; 0x987e2 + 82 bytes
 
-_CeruleanHouseTrashedText2: ; 0x98834
+_CeruleanHouseTrashedText2: ; 98834 (26:4834)
 	db $0, "TEAM ROCKET must", $4f
 	db "be trying to DIG", $55
 	db "their way into no", $55
 	db "good!", $57
 
-_CeruleanHouseTrashedText3: ; 0x9886f
+_CeruleanHouseTrashedText3: ; 9886f (26:486f)
 	db $0, "TEAM ROCKET left", $4f
 	db "a way out!", $57
 
-_CeruleanHouse2Text1: ; 0x9888c
+_CeruleanHouse2Text1: ; 9888c (26:488c)
 	db $0, "My husband likes", $4f
 	db "trading #MON.", $51
 	db "If you are a", $4f
@@ -121552,7 +122777,7 @@
 	db "you please trade", $55
 	db "with him?", $57
 
-_CeruleanPokecenterText1: ; 0x988e5
+_CeruleanPokecenterText1: ; 988e5 (26:48e5)
 	db $0, "That BILL!", $51
 	db "I heard that", $4f
 	db "he'll do whatever", $55
@@ -121559,7 +122784,7 @@
 	db "it takes to get", $55
 	db "rare #MON!", $57
 
-_CeruleanPokecenterText3: ; 0x9892a
+_CeruleanPokecenterText3: ; 9892a (26:492a)
 	db $0, "Have you heard", $4f
 	db "about BILL?", $51
 	db "Everyone calls", $4f
@@ -121571,7 +122796,7 @@
 	db "to boast about", $55
 	db "their #MON?", $57
 
-_UnnamedText_5c7be: ; 0x989c1
+_UnnamedText_5c7be: ; 989c1 (26:49c1)
 	db $0, "Hi, you're a new", $4f
 	db "face!", $51
 	db "Trainers who want", $4f
@@ -121587,7 +122812,7 @@
 	db "#MON!", $57
 ; 0x989c1 + 186 bytes
 
-_UnnamedText_5c7c3: ; 0x98a7b
+_UnnamedText_5c7c3: ; 98a7b (26:4a7b)
 	db $0, "TM11 teaches", $4f
 	db "BUBBLEBEAM!", $51
 	db "Use it on an", $4f
@@ -121594,7 +122819,7 @@
 	db "aquatic #MON!", $57
 ; 0x98a7b + 53 bytes
 
-_UnnamedText_5c7c8: ; 0x98ab0
+_UnnamedText_5c7c8: ; 98ab0 (26:4ab0)
 	db $0, "The CASCADEBADGE", $4f
 	db "makes all #MON", $55
 	db "up to L30 obey!", $51
@@ -121610,17 +122835,17 @@
 	db "my favorite TM!", $57
 ; 0x98ab0 + 205 bytes
 
-_ReceivedTM11Text: ; 0x98b7d
+_ReceivedTM11Text: ; 98b7d (26:4b7d)
 	db $0, $52, " received", $4f
 	db "TM11!@@"
 ; 0x98b90
 
-_UnnamedText_5c7d3: ; 0x98b90
+_UnnamedText_5c7d3: ; 98b90 (26:4b90)
 	db $0, "You better make", $4f
 	db "room for this!", $57
 ; 0x98b90 + 32 bytes
 
-_UnnamedText_5c7d8: ; 0x98bb0
+_UnnamedText_5c7d8: ; 98bb0 (26:4bb0)
 	db $0, "Wow!", $4f
 	db "You're too much!", $51
 	db "All right!", $51
@@ -121629,18 +122854,18 @@
 	db "show you beat me!@@"
 ; 0x98c05
 
-_CeruleanGymBattleText1: ; 0x98c05
+_CeruleanGymBattleText1: ; 98c05 (26:4c05)
 	db $0, "I'm more than good", $4f
 	db "enough for you!", $51
 	db "MISTY can wait!", $57
 ; 0x98c05 + 51 bytes
 
-_CeruleanGymEndBattleText1: ; 0x98c38
+_CeruleanGymEndBattleText1: ; 98c38 (26:4c38)
 	db $0, "You", $4f
 	db "overwhelmed me!", $58
 ; 0x98c38 + 21 bytes
 
-_CeruleanGymAfterBattleText1: ; 0x98c4d
+_CeruleanGymAfterBattleText1: ; 98c4d (26:4c4d)
 	db $0, "You have to face", $4f
 	db "other trainers to", $55
 	db "find out how good", $55
@@ -121647,18 +122872,18 @@
 	db "you really are.", $57
 ; 0x98c4d + 70 bytes
 
-_CeruleanGymBattleText2: ; 0x98c93
+_CeruleanGymBattleText2: ; 98c93 (26:4c93)
 	db $0, "Splash!", $51
 	db "I'm first up!", $4f
 	db "Let's do it!", $57
 ; 0x98c93 + 34 bytes
 
-_CeruleanGymEndBattleText2: ; 0x98cb5
+_CeruleanGymEndBattleText2: ; 98cb5 (26:4cb5)
 	db $0, "That", $4f
 	db "can't be!", $58
 ; 0x98cb5 + 15 bytes
 
-_CeruleanGymAfterBattleText2: ; 0x98cc4
+_CeruleanGymAfterBattleText2: ; 98cc4 (26:4cc4)
 	db $0, "MISTY is going to", $4f
 	db "keep improving!", $51
 	db "She won't lose to", $4f
@@ -121665,7 +122890,7 @@
 	db "someone like you!", $57
 ; 0x98cc4 + 70 bytes
 
-_UnnamedText_5c82a: ; 0x98d0a
+_UnnamedText_5c82a: ; 98d0a (26:4d0a)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "Here's my advice!", $51
@@ -121679,7 +122904,7 @@
 	db "electricity!", $57
 ; 0x98d0a + 166 bytes
 
-_UnnamedText_5c82f: ; 0x98db0
+_UnnamedText_5c82f: ; 98db0 (26:4db0)
 	db $0, "You beat MISTY!", $4f
 	db "What'd I tell ya?", $51
 	db "You and me kid,", $4f
@@ -121687,7 +122912,7 @@
 	db "darn good team!", $57
 ; 0x98db0 + 83 bytes
 
-_UnnamedText_1d810: ; 0x98e03
+_UnnamedText_1d810: ; 98e03 (26:4e03)
 	db $0, "Hi! Welcome to", $4f
 	db "our BIKE SHOP.", $51
 	db "Have we got just", $4f
@@ -121694,34 +122919,34 @@
 	db "the BIKE for you!", $58
 ; 0x98e03 + 66 bytes
 
-_UnnamedText_1d815: ; 0x98e45
+_UnnamedText_1d815: ; 98e45 (26:4e45)
 	db $0, "It's a cool BIKE!", $4f
 	db "Do you want it?", $57
 ; 0x98e45 + 34 bytes
 
-_UnnamedText_1d81a: ; 0x98e67
+_UnnamedText_1d81a: ; 98e67 (26:4e67)
 	db $0, "Sorry! You can't", $4f
 	db "afford it!", $58
 ; 0x98e67 + 28 bytes
 
-_UnnamedText_1d81f: ; 0x98e83
+_UnnamedText_1d81f: ; 98e83 (26:4e83)
 	db $0, "Oh, that's...", $51
 	db "A BIKE VOUCHER!", $51
 	db "OK! Here you go!", $58
 ; 0x98e83 + 47 bytes
 
-_UnnamedText_1d824: ; 0x98eb2
+_UnnamedText_1d824: ; 98eb2 (26:4eb2)
 	db $0, $52, " exchanged", $4f
 	db "the BIKE VOUCHER", $55
 	db "for a BICYCLE.@@"
 ; 0x98ee0
 
-_UnnamedText_1d82a: ; 0x98ee0
+_UnnamedText_1d82a: ; 98ee0 (26:4ee0)
 	db $0, "Come back again", $4f
 	db "some time!", $57
 ; 0x98ee0 + 28 bytes
 
-_UnnamedText_1d82f: ; 0x98efc
+_UnnamedText_1d82f: ; 98efc (26:4efc)
 	db $0, "How do you like", $4f
 	db "your new BICYCLE?", $51
 	db "You can take it", $4f
@@ -121729,12 +122954,12 @@
 	db "and in caves!", $57
 ; 0x98efc + 81 bytes
 
-_UnnamedText_1d834: ; 0x98f4d
+_UnnamedText_1d834: ; 98f4d (26:4f4d)
 	db $0, "You better make", $4f
 	db "room for this!", $57
 ; 0x98f4d + 32 bytes
 
-_UnnamedText_1d843: ; 0x98f6d
+_UnnamedText_1d843: ; 98f6d (26:4f6d)
 	db $0, "A plain city BIKE", $4f
 	db "is good enough", $55
 	db "for me!", $51
@@ -121743,18 +122968,18 @@
 	db "on an MTB!", $57
 ; 0x98f6d + 84 bytes
 
-_UnnamedText_1d85c: ; 0x98fc1
+_UnnamedText_1d85c: ; 98fc1 (26:4fc1)
 	db $0, "These BIKEs are", $4f
 	db "cool, but they're", $55
 	db "way expensive!", $57
 ; 0x98fc1 + 49 bytes
 
-_UnnamedText_1d861: ; 0x98ff2
+_UnnamedText_1d861: ; 98ff2 (26:4ff2)
 	db $0, "Wow. Your BIKE is", $4f
 	db "really cool!", $57
 ; 0x98ff2 + 32 bytes
 
-_CeruleanMartText2: ; 0x99012
+_CeruleanMartText2: ; 99012 (26:5012)
 	db $0, "Use REPEL to keep", $4f
 	db "bugs and weak", $55
 	db "#MON away.", $51
@@ -121763,7 +122988,7 @@
 	db "top of the list", $55
 	db "for best results!", $57
 
-_CeruleanMartText3: ; 0x9907f
+_CeruleanMartText3: ; 9907f (26:507f)
 	db $0, "Have you seen any", $4f
 	db "RARE CANDY?", $51
 	db "It's supposed to", $4f
@@ -121770,7 +122995,7 @@
 	db "make #MON go", $55
 	db "up one level!", $57
 
-_UnnamedText_74e77: ; 0x990c9
+_UnnamedText_74e77: ; 990c9 (26:50c9)
 	db $0, "#MON BADGEs", $4f
 	db "are owned only by", $55
 	db "skilled trainers.", $51
@@ -121780,7 +123005,7 @@
 	db "amazing secrets!", $58
 ; 0x990c9 + 113 bytes
 
-_UnnamedText_74e7c: ; 0x9913a
+_UnnamedText_74e7c: ; 9913a (26:513a)
 	db $0, "Now then...", $51
 	db "Which of the 8", $4f
 	db "BADGEs should I", $55
@@ -121787,12 +123012,12 @@
 	db "describe?", $57
 ; 0x9913a + 54 bytes
 
-_UnnamedText_74e81: ; 0x99170
+_UnnamedText_74e81: ; 99170 (26:5170)
 	db $0, "Come visit me any", $4f
 	db "time you wish.", $57
 ; 0x99170 + 34 bytes
 
-_UnnamedText_74e96: ; 0x99192
+_UnnamedText_74e96: ; 99192 (26:5192)
 	db $0, "The ATTACK of all", $4f
 	db "#MON increases", $55
 	db "a little bit.", $51
@@ -121801,7 +123026,7 @@
 	db "time you desire.", $58
 ; 0x99192 + 96 bytes
 
-_UnnamedText_74e9b: ; 0x991f2
+_UnnamedText_74e9b: ; 991f2 (26:51f2)
 	db $0, "#MON up to L30", $4f
 	db "will obey you.", $51
 	db "Any higher, they", $4f
@@ -121811,7 +123036,7 @@
 	db "of battle.", $58
 ; 0x991f2 + 107 bytes
 
-_UnnamedText_74ea0: ; 0x9925d
+_UnnamedText_74ea0: ; 9925d (26:525d)
 	db $0, "The SPEED of all", $4f
 	db "#MON increases", $55
 	db "a little bit.", $51
@@ -121820,7 +123045,7 @@
 	db "of battle.", $58
 ; 0x9925d + 91 bytes
 
-_UnnamedText_74ea5: ; 0x992b8
+_UnnamedText_74ea5: ; 992b8 (26:52b8)
 	db $0, "#MON up to L50", $4f
 	db "will obey you.", $51
 	db "Any higher, they", $4f
@@ -121830,7 +123055,7 @@
 	db "side of battle.", $58
 ; 0x992b8 + 114 bytes
 
-_UnnamedText_74eaa: ; 0x9932a
+_UnnamedText_74eaa: ; 9932a (26:532a)
 	db $0, "The DEFENSE of all", $4f
 	db "#MON increases", $55
 	db "a little bit.", $51
@@ -121839,7 +123064,7 @@
 	db "of battle.", $58
 ; 0x9932a + 94 bytes
 
-_UnnamedText_74eaf: ; 0x99388
+_UnnamedText_74eaf: ; 99388 (26:5388)
 	db $0, "#MON up to L70", $4f
 	db "will obey you.", $51
 	db "Any higher, they", $4f
@@ -121846,57 +123071,57 @@
 	db "become unruly!", $58
 ; 0x99388 + 63 bytes
 
-_UnnamedText_74eb4: ; 0x993c7
+_UnnamedText_74eb4: ; 993c7 (26:53c7)
 	db $0, "Your #MON's", $4f
 	db "SPECIAL abilities", $55
 	db "increase a bit.", $58
 ; 0x993c7 + 46 bytes
 
-_UnnamedText_74eb9: ; 0x993f5
+_UnnamedText_74eb9: ; 993f5 (26:53f5)
 	db $0, "All #MON will", $4f
 	db "obey you!", $58
 ; 0x993f5 + 25 bytes
 
-_LavenderPokecenterText4:
-_LavenderPokecenterText2:
-_LavenderPokecenterText1: ; 0x9940e
+_LavenderPokecenterText4: ; 9940e (26:540e)
+_LavenderPokecenterText2: ; 9940e (26:540e)
+_LavenderPokecenterText1: ; 9940e (26:540e)
 	db $0, "TEAM ROCKET will", $4f
 	db "do anything for", $55
 	db "the sake of gold!", $57
 
-_LavenderPokecenterText3: ; 0x99442
+_LavenderPokecenterText3: ; 99442 (26:5442)
 	db $0, "I saw CUBONE's", $4f
 	db "mother die trying", $55
 	db "to escape from", $55
 	db "TEAM ROCKET!", $57
 
-_PokemonTower1Text1: ; 0x9947f
+_PokemonTower1Text1: ; 9947f (26:547f)
 	db $0, "#MON TOWER was", $4f
 	db "erected in the", $55
 	db "memory of #MON", $55
 	db "that had died.", $57
 
-_PokemonTower1Text2: ; 0x994bc
+_PokemonTower1Text2: ; 994bc (26:54bc)
 	db $0, "Did you come to", $4f
 	db "pay respects?", $55
 	db "Bless you!", $57
 
-_PokemonTower1Text3: ; 0x994e6
+_PokemonTower1Text3: ; 994e6 (26:54e6)
 	db $0, "I came to pray", $4f
 	db "for my CLEFAIRY.", $51
 	db "Sniff! I can't", $4f
 	db "stop crying...", $57
 
-_PokemonTower1Text4: ; 0x99524
+_PokemonTower1Text4: ; 99524 (26:5524)
 	db $0, "My GROWLITHE...", $4f
 	db "Why did you die?", $57
 
-_PokemonTower1Text5: ; 0x99546
+_PokemonTower1Text5: ; 99546 (26:5546)
 	db $0, "I am a CHANNELER!", $4f
 	db "There are spirits", $55
 	db "up to mischief!", $57
 
-_UnnamedText_6062d: ; 0x9957b
+_UnnamedText_6062d: ; 9957b (26:557b)
 	db $0, $53, ": Hey,", $4f
 	db $52, "! What", $55
 	db "brings you here?", $55
@@ -121907,7 +123132,7 @@
 	db "Let's go, pal!", $57
 ; 0x9957b + 106 bytes
 
-_UnnamedText_60632: ; 0x995e5
+_UnnamedText_60632: ; 995e5 (26:55e5)
 	db $0, "What?", $4f
 	db "You stinker!", $51
 	db "I took it easy on", $4f
@@ -121914,7 +123139,7 @@
 	db "you too!", $58
 ; 0x995e5 + 47 bytes
 
-_UnnamedText_60637: ; 0x99614
+_UnnamedText_60637: ; 99614 (26:5614)
 	db $0, $53, ": Well,", $4f
 	db "look at all your", $55
 	db "wimpy #MON!", $51
@@ -121922,7 +123147,7 @@
 	db "bit more!", $58
 ; 0x99614 + 67 bytes
 
-_UnnamedText_6063c: ; 0x99657
+_UnnamedText_6063c: ; 99657 (26:5657)
 	db $0, "How's your #DEX", $4f
 	db "coming, pal?", $55
 	db "I just caught a", $55
@@ -121938,7 +123163,7 @@
 	db "Smell ya later!", $57
 ; 0x99657 + 195 bytes
 
-_PokemonTower2Text2: ; 0x9971a
+_PokemonTower2Text2: ; 9971a (26:571a)
 	db $0, "Even we could not", $4f
 	db "identify the", $55
 	db "wayward GHOSTs!", $51
@@ -121946,161 +123171,161 @@
 	db "might be able to", $55
 	db "unmask them.", $57
 
-_PokemonTower3BattleText1: ; 0x99776
+_PokemonTower3BattleText1: ; 99776 (26:5776)
 	db $0, "Urrg...Awaa...", $4f
 	db "Huhu...graa..", $57
 ; 0x99776 + 30 bytes
 
-_PokemonTower3EndBattleText1: ; 0x99794
+_PokemonTower3EndBattleText1: ; 99794 (26:5794)
 	db $0, "Hwa!", $4f
 	db "I'm saved!", $58
 ; 0x99794 + 16 bytes
 
-_PokemonTower3AfterBattleText1: ; 0x997a4
+_PokemonTower3AfterBattleText1: ; 997a4 (26:57a4)
 	db $0, "The GHOSTs can be", $4f
 	db "identified by the", $55
 	db "SILPH SCOPE.", $57
 ; 0x997a4 + 50 bytes
 
-_PokemonTower3BattleText2: ; 0x997d6
+_PokemonTower3BattleText2: ; 997d6 (26:57d6)
 	db $0, "Kekeke....", $4f
 	db "Kwaaah!", $57
 ; 0x997d6 + 20 bytes
 
-_PokemonTower3EndBattleText2: ; 0x997ea
+_PokemonTower3EndBattleText2: ; 997ea (26:57ea)
 	db $0, "Hmm?", $4f
 	db "What am I doing?", $58
 ; 0x997ea + 23 bytes
 
-_PokemonTower3AfterBattleText2: ; 0x99801
+_PokemonTower3AfterBattleText2: ; 99801 (26:5801)
 	db $0, "Sorry! I was", $4f
 	db "possessed!", $57
 ; 0x99801 + 25 bytes
 
-_PokemonTower3BattleText3: ; 0x9981a
+_PokemonTower3BattleText3: ; 9981a (26:581a)
 	db $0, "Be gone!", $4f
 	db "Evil spirit!", $57
 ; 0x9981a + 23 bytes
 
-_PokemonTower3EndBattleText3: ; 0x99831
+_PokemonTower3EndBattleText3: ; 99831 (26:5831)
 	db $0, "Whew!", $4f
 	db "The spirit left!", $58
 ; 0x99831 + 24 bytes
 
-_PokemonTower3AfterBattleText3: ; 0x99849
+_PokemonTower3AfterBattleText3: ; 99849 (26:5849)
 	db $0, "My friends were", $4f
 	db "possessed too!", $57
 ; 0x99849 + 32 bytes
 
-_PokemonTower4BattleText1: ; 0x99869
+_PokemonTower4BattleText1: ; 99869 (26:5869)
 	db $0, "GHOST! No!", $4f
 	db "Kwaaah!", $57
 ; 0x99869 + 20 bytes
 
-_PokemonTower4EndBattleText1: ; 0x9987d
+_PokemonTower4EndBattleText1: ; 9987d (26:587d)
 	db $0, "Where", $4f
 	db "is the GHOST?", $58
 ; 0x9987d + 21 bytes
 
-_PokemonTower4AfterBattleText1: ; 0x99892
+_PokemonTower4AfterBattleText1: ; 99892 (26:5892)
 	db $0, "I must have been", $4f
 	db "dreaming...", $57
 ; 0x99892 + 30 bytes
 
-_PokemonTower4BattleText2: ; 0x998b0
+_PokemonTower4BattleText2: ; 998b0 (26:58b0)
 	db $0, "Be cursed with", $4f
 	db "me! Kwaaah!", $57
 ; 0x998b0 + 28 bytes
 
-_PokemonTower4EndBattleText2: ; 0x998cc
+_PokemonTower4EndBattleText2: ; 998cc (26:58cc)
 	db $0, "What!", $58
 ; 0x998cc + 7 bytes
 
-_PokemonTower4AfterBattleText2: ; 0x998d3
+_PokemonTower4AfterBattleText2: ; 998d3 (26:58d3)
 	db $0, "We can't crack", $4f
 	db "the identity of", $55
 	db "the GHOSTs.", $57
 ; 0x998d3 + 43 bytes
 
-_PokemonTower4BattleText3: ; 0x998fe
+_PokemonTower4BattleText3: ; 998fe (26:58fe)
 	db $0, "Huhuhu...", $4f
 	db "Beat me not!", $57
 ; 0x998fe + 24 bytes
 
-_PokemonTower4EndBattleText3: ; 0x99916
+_PokemonTower4EndBattleText3: ; 99916 (26:5916)
 	db $0, "Huh?", $4f
 	db "Who? What?", $58
 ; 0x99916 + 17 bytes
 
-_PokemonTower4AfterBattleText3: ; 0x99927
+_PokemonTower4AfterBattleText3: ; 99927 (26:5927)
 	db $0, "May the departed", $4f
 	db "souls of #MON", $55
 	db "rest in peace...", $57
 ; 0x99927 + 49 bytes
 
-_PokemonTower5Text1: ; 0x99958
+_PokemonTower5Text1: ; 99958 (26:5958)
 	db $0, "Come, child! I", $4f
 	db "sealed this space", $55
 	db "with white magic!", $51
 	db "You can rest here!", $57
 
-_PokemonTower5BattleText1: ; 0x9999f
+_PokemonTower5BattleText1: ; 9999f (26:599f)
 	db $0, "Give...me...", $4f
 	db "your...soul...", $57
 ; 0x9999f + 29 bytes
 
-_PokemonTower5EndBattleText1: ; 0x999bc
+_PokemonTower5EndBattleText1: ; 999bc (26:59bc)
 	db $0, "Gasp!", $58
 ; 0x999bc + 7 bytes
 
-_PokemonTower5AfterBattleText1: ; 0x999c3
+_PokemonTower5AfterBattleText1: ; 999c3 (26:59c3)
 	db $0, "I was under", $4f
 	db "possession!", $57
 ; 0x999c3 + 25 bytes
 
-_PokemonTower5BattleText2: ; 0x999dc
+_PokemonTower5BattleText2: ; 999dc (26:59dc)
 	db $0, "You...shall...", $4f
 	db "join...us...", $57
 ; 0x999dc + 29 bytes
 
-_PokemonTower5EndBattleText2: ; 0x999f9
+_PokemonTower5EndBattleText2: ; 999f9 (26:59f9)
 	db $0, "What", $4f
 	db "a nightmare!", $58
 ; 0x999f9 + 19 bytes
 
-_PokemonTower5AfterBattleText2: ; 0x99a0c
+_PokemonTower5AfterBattleText2: ; 99a0c (26:5a0c)
 	db $0, "I was possessed!", $57
 ; 0x99a0c + 18 bytes
 
-_PokemonTower5BattleText3: ; 0x99a1e
+_PokemonTower5BattleText3: ; 99a1e (26:5a1e)
 	db $0, "Zombies!", $57
 ; 0x99a1e + 10 bytes
 
-_PokemonTower5EndBattleText3: ; 0x99a28
+_PokemonTower5EndBattleText3: ; 99a28 (26:5a28)
 	db $0, "Ha?", $58
 ; 0x99a28 + 5 bytes
 
-_PokemonTower5AfterBattleText3: ; 0x99a2d
+_PokemonTower5AfterBattleText3: ; 99a2d (26:5a2d)
 	db $0, "I regained my", $4f
 	db "senses!", $57
 ; 0x99a2d + 23 bytes
 
-_PokemonTower5BattleText4: ; 0x99a44
+_PokemonTower5BattleText4: ; 99a44 (26:5a44)
 	db $0, "Urgah...", $4f
 	db "Urff....", $57
 ; 0x99a44 + 19 bytes
 
-_PokemonTower5EndBattleText4: ; 0x99a57
+_PokemonTower5EndBattleText4: ; 99a57 (26:5a57)
 	db $0, "Whoo!", $58
 ; 0x99a57 + 7 bytes
 
-_PokemonTower5AfterBattleText4: ; 0x99a5e
+_PokemonTower5AfterBattleText4: ; 99a5e (26:5a5e)
 	db $0, "I fell to evil", $4f
 	db "spirits despite", $55
 	db "my training!", $57
 ; 0x99a5e + 45 bytes
 
-_UnnamedText_60a43: ; 0x99a8b
+_UnnamedText_60a43: ; 99a8b (26:5a8b)
 	db $0, "Entered purified,", $4f
 	db "protected zone!", $51
 	db $52, "'s #MON", $4f
@@ -122107,13 +123332,13 @@
 	db "are fully healed!", $57
 ; 0x99a8b + 61 bytes
 
-_UnnamedText_60c1f: ; 0x99ac8
+_UnnamedText_60c1f: ; 99ac8 (26:5ac8)
 	db $0, "The GHOST was the", $4f
 	db "restless soul of", $55
 	db "CUBONE's mother!", $57
 ; 0x99ac8 + 52 bytes
 
-_UnnamedText_60c24: ; 0x99afc
+_UnnamedText_60c24: ; 99afc (26:5afc)
 	db $0, "The mother's soul", $4f
 	db "was calmed.", $51
 	db "It departed to", $4f
@@ -122120,55 +123345,55 @@
 	db "the afterlife!", $57
 ; 0x99afc + 60 bytes
 
-_PokemonTower6BattleText1: ; 0x99b38
+_PokemonTower6BattleText1: ; 99b38 (26:5b38)
 	db $0, "Give...me...", $4f
 	db "blood...", $57
 ; 0x99b38 + 23 bytes
 
-_PokemonTower6EndBattleText1: ; 0x99b4f
+_PokemonTower6EndBattleText1: ; 99b4f (26:5b4f)
 	db $0, "Groan!", $58
 ; 0x99b4f + 8 bytes
 
-_PokemonTower6AfterBattleText1: ; 0x99b57
+_PokemonTower6AfterBattleText1: ; 99b57 (26:5b57)
 	db $0, "I feel anemic and", $4f
 	db "weak...", $57
 ; 0x99b57 + 27 bytes
 
-_PokemonTower6BattleText2: ; 0x99b72
+_PokemonTower6BattleText2: ; 99b72 (26:5b72)
 	db $0, "Urff... Kwaah!", $57
 ; 0x99b72 + 16 bytes
 
-_PokemonTower6EndBattleText2: ; 0x99b82
+_PokemonTower6EndBattleText2: ; 99b82 (26:5b82)
 	db $0, "Some-", $4f
 	db "thing fell out!", $58
 ; 0x99b82 + 23 bytes
 
-_PokemonTower6AfterBattleText2: ; 0x99b99
+_PokemonTower6AfterBattleText2: ; 99b99 (26:5b99)
 	db $0, "Hair didn't fall", $4f
 	db "out! It was an", $55
 	db "evil spirit!", $57
 ; 0x99b99 + 45 bytes
 
-_PokemonTower6BattleText3: ; 0x99bc6
+_PokemonTower6BattleText3: ; 99bc6 (26:5bc6)
 	db $0, "Ke..ke...ke...", $4f
 	db "ke..ke...ke!!", $57
 ; 0x99bc6 + 30 bytes
 
-_PokemonTower6EndBattleText3: ; 0x99be4
+_PokemonTower6EndBattleText3: ; 99be4 (26:5be4)
 	db $0, "Keee!", $58
 ; 0x99be4 + 7 bytes
 
-_PokemonTower6AfterBattleText3: ; 0x99beb
+_PokemonTower6AfterBattleText3: ; 99beb (26:5beb)
 	db $0, "What's going on", $4f
 	db "here?", $57
 ; 0x99beb + 22 bytes
 
-_UnnamedText_60c56: ; 0x99c01
+_UnnamedText_60c56: ; 99c01 (26:5c01)
 	db $0, "Be gone...", $4f
 	db "Intruders...", $57
 ; 0x99c01 + 25 bytes
 
-_UnnamedText_60ec4: ; 0x99c1a
+_UnnamedText_60ec4: ; 99c1a (26:5c1a)
 	db $0, "MR.FUJI: Heh? You", $4f
 	db "came to save me?", $51
 	db "Thank you. But, I", $4f
@@ -122189,21 +123414,21 @@
 	db "of this tower.", $57
 ; 0x99c1a + 279 bytes
 
-_PokemonTower7BattleText1: ; 0x99d31
+_PokemonTower7BattleText1: ; 99d31 (26:5d31)
 	db $0, "What do you want?", $4f
 	db "Why are you here?", $57
 ; 0x99d31 + 37 bytes
 
-_PokemonTower7EndBattleText1: ; 0x99d56
+_PokemonTower7EndBattleText1: ; 99d56 (26:5d56)
 	db $0, "I give up!", $58
 ; 0x99d56 + 12 bytes
 
-_PokemonTower7AfterBattleText1: ; 0x99d62
+_PokemonTower7AfterBattleText1: ; 99d62 (26:5d62)
 	db $0, "I'm not going to", $4f
 	db "forget this!", $57
 ; 0x99d62 + 30 bytes
 
-_PokemonTower7BattleText2: ; 0x99d80
+_PokemonTower7BattleText2: ; 99d80 (26:5d80)
 	db $0, "This old guy came", $4f
 	db "and complained", $55
 	db "about us harming", $55
@@ -122212,12 +123437,12 @@
 	db "over as adults!", $57
 ; 0x99d80 + 97 bytes
 
-_PokemonTower7EndBattleText2: ; 0x99de1
+_PokemonTower7EndBattleText2: ; 99de1 (26:5de1)
 	db $0, "Please!", $4f
 	db "No more!", $58
 ; 0x99de1 + 18 bytes
 
-_PokemonTower7AfterBattleText2: ; 0x99df3
+_PokemonTower7AfterBattleText2: ; 99df3 (26:5df3)
 	db $0, "#MON are only", $4f
 	db "good for making", $55
 	db "money!", $51
@@ -122225,34 +123450,34 @@
 	db "business!", $57
 ; 0x99df3 + 64 bytes
 
-_PokemonTower7BattleText3: ; 0x99e33
+_PokemonTower7BattleText3: ; 99e33 (26:5e33)
 	db $0, "You're not saving", $4f
 	db "anyone, kid!", $57
 ; 0x99e33 + 31 bytes
 
-_PokemonTower7EndBattleText3: ; 0x99e52
+_PokemonTower7EndBattleText3: ; 99e52 (26:5e52)
 	db $0, "Don't", $4f
 	db "fight us ROCKETs!", $58
 ; 0x99e52 + 24 bytes
 
-_PokemonTower7AfterBattleText3: ; 0x99e6a
+_PokemonTower7AfterBattleText3: ; 99e6a (26:5e6a)
 	db $0, "You're not getting", $4f
 	db "away with this!", $57
 ; 0x99e6a + 35 bytes
 
-_UnnamedText_1d8d1: ; 0x99e8d
+_UnnamedText_1d8d1: ; 99e8d (26:5e8d)
 	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
+_UnnamedText_1d8d6: ; 99eba (26:5eba)
 	db $0, "MR.FUJI had been", $4f
 	db "praying alone for", $55
 	db "CUBONE's mother.", $57
 ; 0x99eba + 52 bytes
 
-_UnnamedText_1d8f4: ; 0x99eee
+_UnnamedText_1d8f4: ; 99eee (26:5eee)
 	db $0, "This is really", $4f
 	db "MR.FUJI's house.", $51
 	db "He's really kind!", $51
@@ -122261,19 +123486,19 @@
 	db "orphaned #MON!", $57
 ; 0x99eee + 93 bytes
 
-_UnnamedText_1d8f9: ; 0x99f4b
+_UnnamedText_1d8f9: ; 99f4b (26:5f4b)
 	db $0, "It's so warm!", $4f
 	db "#MON are so", $55
 	db "nice to hug!", $57
 ; 0x99f4b + 39 bytes
 
-_LavenderHouse1Text3: ; 0x99f72
+_LavenderHouse1Text3: ; 99f72 (26:5f72)
 	db $0, "PSYDUCK: Gwappa!@@"
 
-_LavenderHouse1Text4: ; 0x99f85
+_LavenderHouse1Text4: ; 99f85 (26:5f85)
 	db $0, "NIDORINO: Gaoo!@@"
 
-_UnnamedText_1d94c: ; 0x99f97
+_UnnamedText_1d94c: ; 99f97 (26:5f97)
 	db $0, "MR.FUJI: ", $52, ".", $51
 	db "Your #DEX quest", $4f
 	db "may fail without", $55
@@ -122283,7 +123508,7 @@
 	db "help your quest.", $58
 ; 0x99f97 + 100 bytes
 
-_ReceivedFluteText: ; 0x99ffb
+_ReceivedFluteText: ; 99ffb (26:5ffb)
 	db $0, $52, " received", $4f
 	db "a @"
 	TX_RAM $cf4b
@@ -122290,7 +123515,7 @@
 	db $0, "!@@"
 ; 0x9a011
 
-_FluteExplanationText: ; 0x9a011
+_FluteExplanationText: ; 9a011 (26:6011)
 	db $0, $51
 	db "Upon hearing #", $4f
 	db "FLUTE, sleeping", $55
@@ -122300,17 +123525,17 @@
 	db "sleeping #MON.", $57
 ; 0x9a011 + 88 bytes
 
-_FluteNoRoomText: ; 0x9a069
+_FluteNoRoomText: ; 9a069 (26:6069)
 	db $0, "You must make", $4f
 	db "room for this!", $57
 ; 0x9a069 + 30 bytes
 
-_MrFujiAfterFluteText: ; 0x9a087
+_MrFujiAfterFluteText: ; 9a087 (26:6087)
 	db $0, "MR.FUJI: Has my", $4f
 	db "FLUTE helped you?", $57
 ; 0x9a087 + 35 bytes
 
-_LavenderHouse1Text6: ; 0x9a0aa
+_LavenderHouse1Text6: ; 9a0aa (26:60aa)
 	db $0, "#MON Monthly", $4f
 	db "Grand Prize", $55
 	db "Drawing!", $51
@@ -122319,7 +123544,7 @@
 	db "Gone! It's been", $4f
 	db "clipped out!", $57
 
-_LavenderMartText2: ; 0x9a104
+_LavenderMartText2: ; 9a104 (26:6104)
 	db $0, "I'm searching for", $4f
 	db "items that raise", $55
 	db "the abilities of", $55
@@ -122332,13 +123557,13 @@
 	db "Do you know where", $4f
 	db "I can get them?", $57
 
-_UnnamedText_5c953: ; 0x9a1b4
+_UnnamedText_5c953: ; 9a1b4 (26:61b4)
 	db $0, "You know REVIVE?", $4f
 	db "It revives any", $55
 	db "fainted #MON!", $57
 ; 0x9a1b4 + 47 bytes
 
-_UnnamedText_5c958: ; 0x9a1e3
+_UnnamedText_5c958: ; 9a1e3 (26:61e3)
 	db $0, "I found a NUGGET", $4f
 	db "in the mountains.", $51
 	db "I thought it was", $4f
@@ -122346,10 +123571,10 @@
 	db "sold for ¥5000!", $57
 ; 0x9a1e3 + 85 bytes
 
-_LavenderHouse2Text1: ; 0x9a238
+_LavenderHouse2Text1: ; 9a238 (26:6238)
 	db $0, "CUBONE: Kyarugoo!@@"
 
-_UnnamedText_1d9dc: ; 0x9a24c
+_UnnamedText_1d9dc: ; 9a24c (26:624c)
 	db $0, "I hate those", $4f
 	db "horrible ROCKETs!", $51
 	db "That poor CUBONE's", $4f
@@ -122359,7 +123584,7 @@
 	db "from TEAM ROCKET!", $57
 ; 0x9a24c + 109 bytes
 
-_UnnamedText_1d9e1: ; 0x9a2b9
+_UnnamedText_1d9e1: ; 9a2b9 (26:62b9)
 	db $0, "The GHOST of", $4f
 	db "#MON TOWER is", $55
 	db "gone!", $51
@@ -122368,7 +123593,7 @@
 	db "restless soul!", $57
 ; 0x9a2b9 + 79 bytes
 
-_UnnamedText_1dab3: ; 0x9a308
+_UnnamedText_1dab3: ; 9a308 (26:6308)
 	db $0, "Hello, hello!", $4f
 	db "I am the official", $55
 	db "NAME RATER!", $51
@@ -122377,12 +123602,12 @@
 	db "your #MON?", $57
 ; 0x9a308 + 89 bytes
 
-_UnnamedText_1dab8: ; 0x9a361
+_UnnamedText_1dab8: ; 9a361 (26:6361)
 	db $0, "Which #MON", $4f
 	db "should I look at?", $58
 ; 0x9a361 + 30 bytes
 
-_UnnamedText_1dabd: ; 0x9a37f
+_UnnamedText_1dabd: ; 9a37f (26:637f)
 	TX_RAM $cd6d
 	db $0, ", is it?", $4f
 	db "That is a decent", $55
@@ -122393,18 +123618,18 @@
 	db "How about it?", $57
 ; 0x9a37f + 102 bytes
 
-_UnnamedText_1dac2: ; 0x9a3e5
+_UnnamedText_1dac2: ; 9a3e5 (26:63e5)
 	db $0, "Fine! What should", $4f
 	db "we name it?", $58
 ; 0x9a3e5 + 31 bytes
 
-_UnnamedText_1dac7: ; 0x9a404
+_UnnamedText_1dac7: ; 9a404 (26:6404)
 	db $0, "OK! This #MON", $4f
 	db "has been renamed", $55
 	db "@"
 ; 0x9a404 + 33 bytes
 
-UnnamedText_9a425: ; 0x9a425
+UnnamedText_9a425: ; 9a425 (26:6425)
 	TX_RAM $cee9
 	db $0, "!", $51
 	db "That's a better", $4f
@@ -122411,12 +123636,12 @@
 	db "name than before!", $57
 ; 0x9a44c
 
-_UnnamedText_1dacc: ; 0x9a44c
+_UnnamedText_1dacc: ; 9a44c (26:644c)
 	db $0, "Fine! Come any", $4f
 	db "time you like!", $57
 ; 0x9a44c + 31 bytes
 
-_UnnamedText_1dad1: ; 0x9a46b
+_UnnamedText_1dad1: ; 9a46b (26:646b)
 	TX_RAM $cd6d
 	db $0, ", is it?", $4f
 	db "That is a truly", $55
@@ -122427,8 +123652,8 @@
 	db $0, "!", $57
 ; 0x9a4b2
 
-_VermilionPokecenterText2:
-_VermilionPokecenterText1: ; 0x9a4b2
+_VermilionPokecenterText2: ; 9a4b2 (26:64b2)
+_VermilionPokecenterText1: ; 9a4b2 (26:64b2)
 	db $0, "Even if they are", $4f
 	db "the same level,", $55
 	db "#MON can have", $55
@@ -122439,25 +123664,25 @@
 	db "stronger than one", $55
 	db "in the wild.", $57
 
-_VermilionPokecenterText3: ; 0x9a539
+_VermilionPokecenterText3: ; 9a539 (26:6539)
 	db $0, "My #MON was", $4f
 	db "poisoned! It", $55
 	db "fainted while we", $55
 	db "were walking!", $57
 
-_UnnamedText_59bb7: ; 0x9a572
+_UnnamedText_59bb7: ; 9a572 (26:6572)
 	db $0, "Won't you admire", $4f
 	db "my PIKACHU's", $55
 	db "adorable tail?", $57
 ; 0x9a572 + 44 bytes
 
-_UnnamedText_59bbc: ; 0x9a59e
+_UnnamedText_59bbc: ; 9a59e (26:659e)
 	db $0, "Humph! My PIKACHU", $4f
 	db "is twice as cute", $55
 	db "as that one!", $57
 ; 0x9a59e + 49 bytes
 
-_UnnamedText_59be4: ; 0x9a5cf
+_UnnamedText_59be4: ; 9a5cf (26:65cf)
 	db $0, "I just love my", $4f
 	db "SEEL!", $51
 	db "It squeals when I", $4f
@@ -122464,22 +123689,22 @@
 	db "hug it!", $57
 ; 0x9a5cf + 48 bytes
 
-_UnnamedText_59be9: ; 0x9a5ff
+_UnnamedText_59be9: ; 9a5ff (26:65ff)
 	db $0, "Oh dear!", $51
 	db "My SEEL is far", $4f
 	db "more attractive!", $57
 ; 0x9a5ff + 42 bytes
 
-_UnnamedText_59c00: ; 0x9a629
+_UnnamedText_59c00: ; 9a629 (26:6629)
 	db $0, "PIKACHU: Chu!", $4f
 	db "Pikachu!", $57
 ; 0x9a629 + 24 bytes
 
-_UnnamedText_59c17: ; 0x9a641
+_UnnamedText_59c17: ; 9a641 (26:6641)
 	db $0, "SEEL: Kyuoo!", $57
 ; 0x9a641 + 14 bytes
 
-_UnnamedText_59c65: ; 0x9a64f
+_UnnamedText_59c65: ; 9a64f (26:664f)
 	db $0, "I chair the", $4f
 	db "#MON Fan Club!", $51
 	db "I have collected", $4f
@@ -122493,7 +123718,7 @@
 	db "about my #MON?", $57
 ; 0x9a64f + 145 bytes
 
-_UnnamedText_59c6a: ; 0x9a6e0
+_UnnamedText_59c6a: ; 9a6e0 (26:66e0)
 	db $0, "Good!", $4f
 	db "Then listen up!", $51
 	db "My favorite", $4f
@@ -122519,7 +123744,7 @@
 	db "you to have this!", $58
 ; 0x9a6e0 + 334 bytes
 
-_ReceivedBikeVoucherText: ; 0x9a82e
+_ReceivedBikeVoucherText: ; 9a82e (26:682e)
 	db $0, $52, " received", $4f
 	db "a @"
 	TX_RAM $cf4b
@@ -122526,7 +123751,7 @@
 	db $0, "!@@"
 ; 0x9a844
 
-_UnnamedText_59c74: ; 0x9a844
+_UnnamedText_59c74: ; 9a844 (26:6844)
 	db $0, $51
 	db "Exchange that for", $4f
 	db "a BICYCLE!", $51
@@ -122539,13 +123764,13 @@
 	db "cycling!", $57
 ; 0x9a844 + 127 bytes
 
-_UnnamedText_59c79: ; 0x9a8c3
+_UnnamedText_59c79: ; 9a8c3 (26:68c3)
 	db $0, "Oh. Come back", $4f
 	db "when you want to", $55
 	db "hear my story!", $57
 ; 0x9a8c3 + 47 bytes
 
-_UnnamedText_59c7e: ; 0x9a8f2
+_UnnamedText_59c7e: ; 9a8f2 (26:68f2)
 	db $0, "Hello, ", $52, "!", $51
 	db "Did you come see", $4f
 	db "me about my", $55
@@ -122553,26 +123778,26 @@
 	db "No? Too bad!", $57
 ; 0x9a8f2 + 65 bytes
 
-_UnnamedText_59c83: ; 0x9a933
+_UnnamedText_59c83: ; 9a933 (26:6933)
 	db $0, "Make room for", $4f
 	db "this!", $57
 ; 0x9a933 + 21 bytes
 
-_FanClubText6: ; 0x9a948
+_FanClubText6: ; 9a948 (26:6948)
 	db $0, "Our Chairman is", $4f
 	db "very vocal about", $55
 	db "#MON.", $57
 
-_FanClubText7: ; 0x9a970
+_FanClubText7: ; 9a970 (26:6970)
 	db $0, "Let's all listen", $4f
 	db "politely to other", $55
 	db "trainers!", $57
 
-_FanClubText8: ; 0x9a99d
+_FanClubText8: ; 9a99d (26:699d)
 	db $0, "If someone brags,", $4f
 	db "brag right back!", $57
 
-_VermilionMartText2: ; 0x9a9c1
+_VermilionMartText2: ; 9a9c1 (26:69c1)
 	db $0, "There are evil", $4f
 	db "people who will", $55
 	db "use #MON for", $55
@@ -122586,13 +123811,13 @@
 	db "be popular or", $55
 	db "useful.", $57
 
-_VermilionMartText3: ; 0x9aa67
+_VermilionMartText3: ; 9aa67 (26:6a67)
 	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
+_UnnamedText_5cb6d: ; 9aaa5 (26:6aa5)
 	db $0, "Hey, kid! What do", $4f
 	db "you think you're", $55
 	db "doing here?", $51
@@ -122612,7 +123837,7 @@
 
 SECTION "bank27",DATA,BANK[$27]
 
-_UnnamedText_5cb72: ; 0x9c000
+_UnnamedText_5cb72: ; 9c000 (27:4000)
 	db $0, "A little word of", $4f
 	db "advice, kid!", $51
 	db "Electricity is", $4f
@@ -122622,7 +123847,7 @@
 	db "type #MON!", $57
 ; 0x9c000 + 105 bytes
 
-_UnnamedText_5cb77: ; 0x9c069
+_UnnamedText_5cb77: ; 9c069 (27:4069)
 	db $0, "The THUNDERBADGE", $4f
 	db "cranks up your", $55
 	db "#MON's SPEED!", $51
@@ -122633,7 +123858,7 @@
 	db "kid! Take this!", $57
 ; 0x9c069 + 119 bytes
 
-_ReceivedTM24Text: ; 0x9c0e0
+_ReceivedTM24Text: ; 9c0e0 (27:40e0)
 	db $0, $52, " received ", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -122640,7 +123865,7 @@
 	db $0, "!@@"
 ; 0x9c0f5
 
-_TM24ExplanationText: ; 0x9c0f5
+_TM24ExplanationText: ; 9c0f5 (27:40f5)
 	db $0, $51
 	db "TM24 contains", $4f
 	db "THUNDERBOLT!", $51
@@ -122648,12 +123873,12 @@
 	db "electric #MON!", $57
 ; 0x9c0f5 + 59 bytes
 
-_TM24NoRoomText: ; 0x9c130
+_TM24NoRoomText: ; 9c130 (27:4130)
 	db $0, "Yo kid, make room", $4f
 	db "in your pack!", $57
 ; 0x9c130 + 33 bytes
 
-_ReceivedThunderbadgeText: ; 0x9c151
+_ReceivedThunderbadgeText: ; 9c151 (27:4151)
 	db $0, "Whoa!", $51
 	db "You're the real", $4f
 	db "deal, kid!", $51
@@ -122661,18 +123886,18 @@
 	db "the THUNDERBADGE!", $58
 ; 0x9c151 + 67 bytes
 
-_VermilionGymBattleText1: ; 0x9c194
+_VermilionGymBattleText1: ; 9c194 (27:4194)
 	db $0, "When I was in the", $4f
 	db "Army, LT.SURGE", $55
 	db "was my strict CO!", $57
 ; 0x9c194 + 52 bytes
 
-_VermilionGymEndBattleText1: ; 0x9c1c8
+_VermilionGymEndBattleText1: ; 9c1c8 (27:41c8)
 	db $0, "Stop!", $4f
 	db "You're very good!", $58
 ; 0x9c1c8 + 24 bytes
 
-_VermilionGymAfterBattleText1: ; 0x9c1e0
+_VermilionGymAfterBattleText1: ; 9c1e0 (27:41e0)
 	db $0, "The door won't", $4f
 	db "open?", $51
 	db "LT.SURGE always", $4f
@@ -122679,17 +123904,17 @@
 	db "was cautious!", $57
 ; 0x9c1e0 + 51 bytes
 
-_VermilionGymBattleText2: ; 0x9c213
+_VermilionGymBattleText2: ; 9c213 (27:4213)
 	db $0, "I'm a lightweight,", $4f
 	db "but I'm good with", $55
 	db "electricity!", $57
 ; 0x9c213 + 49 bytes
 
-_VermilionGymEndBattleText2: ; 0x9c244
+_VermilionGymEndBattleText2: ; 9c244 (27:4244)
 	db $0, "Fried!", $58
 ; 0x9c244 + 8 bytes
 
-_VermilionGymAfterBattleText2: ; 0x9c24c
+_VermilionGymAfterBattleText2: ; 9c24c (27:424c)
 	db $0, "OK, I'll talk!", $51
 	db "LT.SURGE said he", $4f
 	db "hid door switches", $55
@@ -122696,17 +123921,17 @@
 	db "inside something!", $57
 ; 0x9c24c + 68 bytes
 
-_VermilionGymBattleText3: ; 0x9c290
+_VermilionGymBattleText3: ; 9c290 (27:4290)
 	db $0, "This is no place", $4f
 	db "for kids!", $57
 ; 0x9c290 + 28 bytes
 
-_VermilionGymEndBattleText3: ; 0x9c2ac
+_VermilionGymEndBattleText3: ; 9c2ac (27:42ac)
 	db $0, "Wow!", $4f
 	db "Surprised me!", $58
 ; 0x9c2ac + 20 bytes
 
-_VermilionGymAfterBattleText3: ; 0x9c2c0
+_VermilionGymAfterBattleText3: ; 9c2c0 (27:42c0)
 	db $0, "LT.SURGE set up", $4f
 	db "double locks!", $55
 	db "Here's a hint!", $51
@@ -122716,7 +123941,7 @@
 	db "next to it!", $57
 ; 0x9c2c0 + 107 bytes
 
-_UnnamedText_5cbf4: ; 0x9c32b
+_UnnamedText_5cbf4: ; 9c32b (27:432b)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "LT.SURGE has a", $4f
@@ -122737,21 +123962,21 @@
 	db "get to him!", $57
 ; 0x9c32b + 254 bytes
 
-_UnnamedText_5cbf9: ; 0x9c429
+_UnnamedText_5cbf9: ; 9c429 (27:4429)
 	db $0, "Whew! That match", $4f
 	db "was electric!", $57
 ; 0x9c429 + 32 bytes
 
-_VermilionHouse1Text1: ; 0x9c449
+_VermilionHouse1Text1: ; 9c449 (27:4449)
 	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
+_VermilionHouse1Text2: ; 9c488 (27:4488)
 	db $0, "PIDGEY: Kurukkoo!@@"
 
-_VermilionHouse1Text3: ; 0x9c49c
+_VermilionHouse1Text3: ; 9c49c (27:449c)
 	db $0, "Dear PIPPI, I hope", $4f
 	db "to see you soon.", $51
 	db "I heard SAFFRON", $4f
@@ -122760,11 +123985,11 @@
 	db "VERMILION appears", $4f
 	db "to be safe.", $57
 
-_UnnamedText_1dcc1: ; 0x9c50e
+_UnnamedText_1dcc1: ; 9c50e (27:450e)
 	db $0, $57
 ; 0x9c50e + 2 bytes
 
-_UnnamedText_560b1: ; 0x9c510
+_UnnamedText_560b1: ; 9c510 (27:4510)
 	db $0, "I'm the FISHING", $4f
 	db "GURU!", $51
 	db "I simply Looove", $4f
@@ -122773,7 +123998,7 @@
 	db "fish?", $57
 ; 0x9c510 + 68 bytes
 
-_UnnamedText_560b6: ; 0x9c554
+_UnnamedText_560b6: ; 9c554 (27:4554)
 	db $0, "Grand! I like", $4f
 	db "your style!", $51
 	db "Take this and", $4f
@@ -122784,7 +124009,7 @@
 	db $0, "!@@"
 ; 0x9c5a4
 
-_UnnamedText_560bb: ; 0x9c5a4
+_UnnamedText_560bb: ; 9c5a4 (27:45a4)
 	db $0, $51
 	db "Fishing is a way", $4f
 	db "of life!", $51
@@ -122794,12 +124019,12 @@
 	db "one, young one!", $57
 ; 0x9c5a4 + 93 bytes
 
-_UnnamedText_560c0: ; 0x9c601
+_UnnamedText_560c0: ; 9c601 (27:4601)
 	db $0, "Oh... That's so", $4f
 	db "disappointing...", $57
 ; 0x9c601 + 33 bytes
 
-_UnnamedText_560c5: ; 0x9c622
+_UnnamedText_560c5: ; 9c622 (27:4622)
 	db $0, "Hello there,", $4f
 	db $52, "!", $51
 	db "How are the fish", $4f
@@ -122806,13 +124031,13 @@
 	db "biting?", $57
 ; 0x9c622 + 42 bytes
 
-_UnnamedText_560ca: ; 0x9c64c
+_UnnamedText_560ca: ; 9c64c (27:464c)
 	db $0, "Oh no!", $51
 	db "You have no room", $4f
 	db "for my gift!", $57
 ; 0x9c64c + 38 bytes
 
-_CeladonMart1Text1: ; 0x9c672
+_CeladonMart1Text1: ; 9c672 (27:4672)
 	db $0, "Hello! Welcome to", $4f
 	db "CELADON DEPT.", $55
 	db "STORE.", $51
@@ -122820,7 +124045,7 @@
 	db "right describes", $55
 	db "the store layout.", $57
 
-_CeladonMart1Text2: ; 0x9c6cd
+_CeladonMart1Text2: ; 9c6cd (27:46cd)
 	db $0, "1F: SERVICE", $4f
 	db "    COUNTER", $51
 	db "2F: TRAINER'S", $4f
@@ -122831,11 +124056,11 @@
 	db "ROOFTOP SQUARE:", $4f
 	db "VENDING MACHINES", $57
 
-_CeladonMart1Text3: ; 0x9c752
+_CeladonMart1Text3: ; 9c752 (27:4752)
 	db $0, "1F: SERVICE", $4f
 	db "    COUNTER", $57
 
-_CeladonMart2Text3: ; 0x9c76b
+_CeladonMart2Text3: ; 9c76b (27:476b)
 	db $0, "SUPER REPEL keeps", $4f
 	db "weak #MON at", $55
 	db "bay...", $51
@@ -122842,18 +124067,18 @@
 	db "Hmm, it's a more", $4f
 	db "powerful REPEL!", $57
 
-_CeladonMart2Text4: ; 0x9c7b2
+_CeladonMart2Text4: ; 9c7b2 (27:47b2)
 	db $0, "For long outings,", $4f
 	db "you should buy", $55
 	db "REVIVE.", $57
 
-_CeladonMart2Text5: ; 0x9c7dc
+_CeladonMart2Text5: ; 9c7dc (27:47dc)
 	db $0, "Top Grade Items", $4f
 	db "for Trainers!", $51
 	db "2F: TRAINER'S", $4f
 	db "    MARKET", $57
 
-_TM18PreReceiveText: ; 0x9c814
+_TM18PreReceiveText: ; 9c814 (27:4814)
 	db $0, "Oh, hi! I finally", $4f
 	db "finished #MON!", $51
 	db "Not done yet?", $4f
@@ -122861,7 +124086,7 @@
 	db "useful!", $58
 ; 0x9c814 + 70 bytes
 
-_ReceivedTM18Text: ; 0x9c85a
+_ReceivedTM18Text: ; 9c85a (27:485a)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -122868,7 +124093,7 @@
 	db $0, "!@@"
 ; 0x9c86e
 
-_TM18ExplanationText: ; 0x9c86e
+_TM18ExplanationText: ; 9c86e (27:486e)
 	db $0, "TM18 is COUNTER!", $4f
 	db "Not like the one", $55
 	db "I'm leaning on,", $55
@@ -122875,12 +124100,12 @@
 	db "mind you!", $57
 ; 0x9c86e + 60 bytes
 
-_TM18NoRoomText: ; 0x9c8aa
+_TM18NoRoomText: ; 9c8aa (27:48aa)
 	db $0, "Your pack is full", $4f
 	db "of items!", $57
 ; 0x9c8aa + 29 bytes
 
-_CeladonMart3Text2: ; 0x9c8c7
+_CeladonMart3Text2: ; 9c8c7 (27:48c7)
 	db $0, "Captured #MON", $4f
 	db "are registered", $55
 	db "with an ID No.", $55
@@ -122889,7 +124114,7 @@
 	db "Trainer that", $55
 	db "caught it!", $57
 
-_CeladonMart3Text3: ; 0x9c92d
+_CeladonMart3Text3: ; 9c92d (27:492d)
 	db $0, "All right!", $51
 	db "My buddy's going", $4f
 	db "to trade me his", $55
@@ -122896,7 +124121,7 @@
 	db "KANGASKHAN for my", $55
 	db "GRAVELER!", $57
 
-_CeladonMart3Text4: ; 0x9c975
+_CeladonMart3Text4: ; 9c975 (27:4975)
 	db $0, "Come on GRAVELER!", $51
 	db "I love GRAVELER!", $4f
 	db "I collect them!", $51
@@ -122905,44 +124130,44 @@
 	db "into a different", $55
 	db "#MON!", $57
 
-_CeladonMart3Text5: ; 0x9c9d5
+_CeladonMart3Text5: ; 9c9d5 (27:49d5)
 	db $0, "You can identify", $4f
 	db "#MON you got", $55
 	db "in trades by", $55
 	db "their ID Numbers!", $57
 
-_CeladonMart3Text6: ; 0x9ca13
+_CeladonMart3Text6: ; 9ca13 (27:4a13)
 	db $0, "It's an SNES!", $57
 
-_CeladonMart3Text7: ; 0x9ca21
+_CeladonMart3Text7: ; 9ca21 (27:4a21)
 	db $0, "An RPG! There's", $4f
 	db "no time for that!", $57
 
-_CeladonMart3Text9: ; 0x9ca43
+_CeladonMart3Text9: ; 9ca43 (27:4a43)
 	db $0, "A sports game!", $4f
 	db "Dad'll like that!", $57
 
-_CeladonMart3Text11: ; 0x9ca64
+_CeladonMart3Text11: ; 9ca64 (27:4a64)
 	db $0, "A puzzle game!", $4f
 	db "Looks addictive!", $57
 
-_CeladonMart3Text13: ; 0x9ca85
+_CeladonMart3Text13: ; 9ca85 (27:4a85)
 	db $0, "A fighting game!", $4f
 	db "Looks tough!", $57
 
-_CeladonMart3Text14: ; 0x9caa4
+_CeladonMart3Text14: ; 9caa4 (27:4aa4)
 	db $0, "3F: TV GAME SHOP", $57
 
-_CeladonMart3Text15: ; 0x9cab6
+_CeladonMart3Text15: ; 9cab6 (27:4ab6)
 	db $0, "Red and Blue!", $4f
 	db "Both are #MON!", $57
 
-_CeladonMart4Text2: ; 0x9cad4
+_CeladonMart4Text2: ; 9cad4 (27:4ad4)
 	db $0, "I'm getting a", $4f
 	db "# DOLL for my", $55
 	db "girl friend!", $57
 
-_CeladonMart4Text3: ; 0x9cafd
+_CeladonMart4Text3: ; 9cafd (27:4afd)
 	db $0, "I heard something", $4f
 	db "useful.", $51
 	db "You can run from", $4f
@@ -122950,7 +124175,7 @@
 	db "distracting them", $55
 	db "with a # DOLL!", $57
 
-_CeladonMart4Text4: ; 0x9cb56
+_CeladonMart4Text4: ; 9cb56 (27:4b56)
 	db $0, "Express yourself", $4f
 	db "with gifts!", $51
 	db "4F: WISEMAN GIFTS", $51
@@ -122958,12 +124183,12 @@
 	db "Element STONEs on", $55
 	db "sale now!", $57
 
-_UnnamedText_484ee: ; 0x9cbb5
+_UnnamedText_484ee: ; 9cbb5 (27:4bb5)
 	db $0, "Give her which", $4f
 	db "drink?", $57
 ; 0x9cbb5 + 23 bytes
 
-UnnamedText_9cbcc: ; 0x9cbcc
+UnnamedText_9cbcc: ; 9cbcc (27:4bcc)
 	db $0, "Yay!", $51
 	db "FRESH WATER!", $51
 	db "Thank you!", $51
@@ -122971,7 +124196,7 @@
 	db "from me!@@"
 ; 0x9cc06
 
-UnnamedText_9cc06: ; 0x9cc06
+UnnamedText_9cc06: ; 9cc06 (27:4c06)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -122978,7 +124203,7 @@
 	db $0, "!@@"
 ; 0x9cc1a
 
-UnnamedText_9cc1a: ; 0x9cc1a
+UnnamedText_9cc1a: ; 9cc1a (27:4c1a)
 	db $0, $51
 	db "@"
 	TX_RAM $cf4b
@@ -122988,7 +124213,7 @@
 	db "target sometimes!@@"
 ; 0x9cc5a
 
-UnnamedText_9cc5a: ; 0x9cc5a
+UnnamedText_9cc5a: ; 9cc5a (27:4c5a)
 	db $0, "Yay!", $51
 	db "SODA POP!", $51
 	db "Thank you!", $51
@@ -122996,7 +124221,7 @@
 	db "from me!@@"
 ; 0x9cc91
 
-UnnamedText_9cc91: ; 0x9cc91
+UnnamedText_9cc91: ; 9cc91 (27:4c91)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -123003,7 +124228,7 @@
 	db $0, "!@@"
 ; 0x9cca4
 
-UnnamedText_9cca5: ; 0x9cca5
+UnnamedText_9cca5: ; 9cca5 (27:4ca5)
 	db $0, $51
 	db "@"
 	TX_RAM $cf4b
@@ -123013,7 +124238,7 @@
 	db "target sometimes!@@"
 ; 0x9cce6
 
-UnnamedText_9cce6: ; 0x9cce6
+UnnamedText_9cce6: ; 9cce6 (27:4ce6)
 	db $0, "Yay!", $51
 	db "LEMONADE!", $51
 	db "Thank you!", $51
@@ -123021,29 +124246,29 @@
 	db "from me!@@"
 ; 0x9cd1d
 
-ReceivedTM49Text: ; 0x9cd1d
+ReceivedTM49Text: ; 9cd1d (27:4d1d)
 	db $0, $52, " received", $4f
 	db "TM49!@@"
 ; 0x9cd30
 
-UnnamedText_9cd30: ; 0x9cd30
+UnnamedText_9cd30: ; 9cd30 (27:4d30)
 	db $0, $51
 	db "TM49 contains", $4f
 	db "TRI ATTACK!@@"
 ; 0x9cd4d
 
-UnnamedText_9cd4d: ; 0x9cd4d
+UnnamedText_9cd4d: ; 9cd4d (27:4d4d)
 	db $0, "You don't have", $4f
 	db "space for this!@@"
 ; 0x9cd6d
 
-UnnamedText_9cd6d: ; 0x9cd6d
+UnnamedText_9cd6d: ; 9cd6d (27:4d6d)
 	db $0, "No thank you!", $4f
 	db "I'm not thirsty", $55
 	db "after all!@@"
 ; 0x9cd97
 
-_CeladonMartRoofText1: ; 0x9cd97
+_CeladonMartRoofText1: ; 9cd97 (27:4d97)
 	db $0, "My sister is a", $4f
 	db "trainer, believe", $55
 	db "it or not.", $51
@@ -123051,13 +124276,13 @@
 	db "immature, she", $55
 	db "drives me nuts!", $57
 
-_UnnamedText_48598: ; 0x9cdee
+_UnnamedText_48598: ; 9cdee (27:4dee)
 	db $0, "I'm thirsty!", $4f
 	db "I want something", $55
 	db "to drink!", $57
 ; 0x9cdee + 40 bytes
 
-_UnnamedText_4859d: ; 0x9ce16
+_UnnamedText_4859d: ; 9ce16 (27:4e16)
 	db $0, "I'm thirsty!", $4f
 	db "I want something", $55
 	db "to drink!", $51
@@ -123064,70 +124289,70 @@
 	db "Give her a drink?", $57
 ; 0x9ce16 + 58 bytes
 
-_CeladonMartRoofText6: ; 0x9ce50
+_CeladonMartRoofText6: ; 9ce50 (27:4e50)
 	db $0, "ROOFTOP SQUARE:", $4f
 	db "VENDING MACHINES", $57
 
-_UnnamedText_74f99: ; 0x9ce72
+_UnnamedText_74f99: ; 9ce72 (27:4e72)
 	db $0, "A vending machine!", $4f
 	db "Here's the menu!", $58
 ; 0x9ce72 + 36 bytes
 
-_UnnamedText_74fd3: ; 0x9ce96
+_UnnamedText_74fd3: ; 9ce96 (27:4e96)
 	db $0, "Oops, not enough", $4f
 	db "money!", $57
 ; 0x9ce96 + 25 bytes
 
-_UnnamedText_74fd8: ; 0x9ceaf
+_UnnamedText_74fd8: ; 9ceaf (27:4eaf)
 	TX_RAM $cf4b
 	db $0, $4f
 	db "popped out!", $57
 ; 0x9ceaf + 17 bytes
 
-_UnnamedText_74fdd: ; 0x9cec0
+_UnnamedText_74fdd: ; 9cec0 (27:4ec0)
 	db $0, "There's no more", $4f
 	db "room for stuff!", $57
 ; 0x9cec0 + 32 bytes
 
-_UnnamedText_74fe2: ; 0x9cee0
+_UnnamedText_74fe2: ; 9cee0 (27:4ee0)
 	db $0, "Not thirsty!", $57
 ; 0x9cee0 + 14 bytes
 
-_CeladonMansion1Text1: ; 0x9ceee
+_CeladonMansion1Text1: ; 9ceee (27:4eee)
 	db $0, "MEOWTH: Meow!@@"
 
-_CeladonMansion1Text2: ; 0x9cefe
+_CeladonMansion1Text2: ; 9cefe (27:4efe)
 	db $0, "My dear #MON", $4f
 	db "keep me company.", $51
 	db "MEOWTH even brings", $4f
 	db "money home!", $57
 
-_CeladonMansion1Text3: ; 0x9cf3c
+_CeladonMansion1Text3: ; 9cf3c (27:4f3c)
 	db $0, "CLEFAIRY: Pi", $4f
 	db "pippippi!@@"
 
-_CeladonMansion1Text4: ; 0x9cf55
+_CeladonMansion1Text4: ; 9cf55 (27:4f55)
 	db $0, "NIDORAN: Kya", $4f
 	db "kyaoo!@@"
 
-_CeladonMansion1Text5: ; 0x9cf6b
+_CeladonMansion1Text5: ; 9cf6b (27:4f6b)
 	db $0, "CELADON MANSION", $4f
 	db "Manager's Suite", $57
 
-_CeladonMansion2Text1: ; 0x9cf8b
+_CeladonMansion2Text1: ; 9cf8b (27:4f8b)
 	db $0, "GAME FREAK", $4f
 	db "Meeting Room", $57
 
-_CeladonMansion3Text1: ; 0x9cfa4
+_CeladonMansion3Text1: ; 9cfa4 (27:4fa4)
 	db $0, "Me? I'm the", $4f
 	db "programmer!", $57
 
-_CeladonMansion3Text2: ; 0x9cfbc
+_CeladonMansion3Text2: ; 9cfbc (27:4fbc)
 	db $0, "I'm the graphic", $4f
 	db "artist!", $55
 	db "I drew you!", $57
 
-_CeladonMansion3Text3: ; 0x9cfe0
+_CeladonMansion3Text3: ; 9cfe0 (27:4fe0)
 	db $0, "I wrote the story!", $4f
 	db "Isn't ERIKA cute?", $51
 	db "I like MISTY a", $4f
@@ -123135,7 +124360,7 @@
 	db "Oh, and SABRINA,", $4f
 	db "I like her!", $57
 
-_UnnamedText_487d0: ; 0x9d03a
+_UnnamedText_487d0: ; 9d03a (27:503a)
 	db $0, "Is that right?", $51
 	db "I'm the game", $4f
 	db "designer!", $51
@@ -123146,7 +124371,7 @@
 	db "come tell me!", $57
 ; 0x9d03a + 115 bytes
 
-_UnnamedText_487d5: ; 0x9d0ad
+_UnnamedText_487d5: ; 9d0ad (27:50ad)
 	db $0, "Wow! Excellent!", $4f
 	db "You completed", $55
 	db "your #DEX!", $55
@@ -123154,30 +124379,30 @@
 	db "...@@"
 ; 0x9d0ed
 
-_CeladonMansion3Text5: ; 0x9d0ed
+_CeladonMansion3Text5: ; 9d0ed (27:50ed)
 	db $0, "It's the game", $4f
 	db "program! Messing", $55
 	db "with it could bug", $55
 	db "out the game!", $57
 
-_CeladonMansion3Text6: ; 0x9d12c
+_CeladonMansion3Text6: ; 9d12c (27:512c)
 	db $0, "Someone's playing", $4f
 	db "a game instead of", $55
 	db "working!", $57
 
-_CeladonMansion3Text7: ; 0x9d159
+_CeladonMansion3Text7: ; 9d159 (27:5159)
 	db $0, "It's the script!", $4f
 	db "Better not look", $55
 	db "at the ending!", $57
 
-_CeladonMansion3Text8: ; 0x9d189
+_CeladonMansion3Text8: ; 9d189 (27:5189)
 	db $0, "GAME FREAK", $4f
 	db "Development Room", $57
 
-_CeladonMansion4Text1: ; 0x9d1a6
+_CeladonMansion4Text1: ; 9d1a6 (27:51a6)
 	db $0, "I KNOW EVERYTHING!", $57
 
-_CeladonMansion5Text1: ; 0x9d1ba
+_CeladonMansion5Text1: ; 9d1ba (27:51ba)
 	db $0, "I know everything", $4f
 	db "about the world", $55
 	db "of #MON in", $55
@@ -123186,18 +124411,18 @@
 	db "your friends and", $55
 	db "trade #MON!", $57
 
-_CeladonPokecenterText2: ; 0x9d226
+_CeladonPokecenterText2: ; 9d226 (27:5226)
 	db $0, "# FLUTE awakens", $4f
 	db "#MON with a", $55
 	db "sound that only", $55
 	db "they can hear!", $57
 
-_CeladonPokecenterText3: ; 0x9d262
+_CeladonPokecenterText3: ; 9d262 (27:5262)
 	db $0, "I rode uphill on", $4f
 	db "CYCLING ROAD from", $55
 	db "FUCHSIA!", $57
 
-_UnnamedText_48a5e: ; 0x9d28f
+_UnnamedText_48a5e: ; 9d28f (27:528f)
 	db $0, "Hello. Lovely", $4f
 	db "weather isn't it?", $55
 	db "It's so pleasant.", $51
@@ -123219,7 +124444,7 @@
 	db "shall not lose.", $57
 ; 0x9d28f + 307 bytes
 
-_UnnamedText_48a63: ; 0x9d3c2
+_UnnamedText_48a63: ; 9d3c2 (27:53c2)
 	db $0, "Oh!", $4f
 	db "I concede defeat.", $51
 	db "You are remarkably", $4f
@@ -123228,7 +124453,7 @@
 	db "the RAINBOWBADGE.", $58
 ; 0x9d3c2 + 86 bytes
 
-_UnnamedText_48a68: ; 0x9d418
+_UnnamedText_48a68: ; 9d418 (27:5418)
 	db $0, "You are cataloging", $4f
 	db "#MON? I must", $55
 	db "say I'm impressed.", $51
@@ -123238,7 +124463,7 @@
 	db "unattractive.", $57
 ; 0x9d418 + 105 bytes
 
-_UnnamedText_48a6d: ; 0x9d481
+_UnnamedText_48a6d: ; 9d481 (27:5481)
 	db $0, "The RAINBOWBADGE", $4f
 	db "will make #MON", $55
 	db "up to L50 obey.", $51
@@ -123250,7 +124475,7 @@
 	db "this with you.", $57
 ; 0x9d481 + 139 bytes
 
-_ReceivedTM21Text: ; 0x9d50c
+_ReceivedTM21Text: ; 9d50c (27:550c)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -123257,7 +124482,7 @@
 	db $0, "!@@"
 ; 0x9d520
 
-_TM21ExplanationText: ; 0x9d520
+_TM21ExplanationText: ; 9d520 (27:5520)
 	db $0, $51
 	db "TM21 contains", $4f
 	db "MEGA DRAIN.", $51
@@ -123267,39 +124492,39 @@
 	db "your #MON!", $57
 ; 0x9d520 + 86 bytes
 
-_TM21NoRoomText: ; 0x9d576
+_TM21NoRoomText: ; 9d576 (27:5576)
 	db $0, "You should make", $4f
 	db "room for this.", $57
 ; 0x9d576 + 32 bytes
 
-_CeladonGymBattleText2: ; 0x9d596
+_CeladonGymBattleText2: ; 9d596 (27:5596)
 	db $0, "Hey!", $51
 	db "You are not", $4f
 	db "allowed in here!", $57
 ; 0x9d596 + 35 bytes
 
-_CeladonGymEndBattleText2: ; 0x9d5b9
+_CeladonGymEndBattleText2: ; 9d5b9 (27:55b9)
 	db $0, "You're", $4f
 	db "too rough!", $58
 ; 0x9d5b9 + 18 bytes
 
-_CeladonGymAfterBattleText2: ; 0x9d5cb
+_CeladonGymAfterBattleText2: ; 9d5cb (27:55cb)
 	db $0, "Bleaah!", $4f
 	db "I hope ERIKA", $55
 	db "wipes you out!", $57
 ; 0x9d5cb + 37 bytes
 
-_CeladonGymBattleText3: ; 0x9d5f0
+_CeladonGymBattleText3: ; 9d5f0 (27:55f0)
 	db $0, "I was getting", $4f
 	db "bored.", $57
 ; 0x9d5f0 + 22 bytes
 
-_CeladonGymEndBattleText3: ; 0x9d606
+_CeladonGymEndBattleText3: ; 9d606 (27:5606)
 	db $0, "My", $4f
 	db "makeup!", $58
 ; 0x9d606 + 12 bytes
 
-_CeladonGymAfterBattleText3: ; 0x9d612
+_CeladonGymAfterBattleText3: ; 9d612 (27:5612)
 	db $0, "Grass-type #MON", $4f
 	db "are tough against", $55
 	db "the water-type!", $51
@@ -123308,23 +124533,23 @@
 	db "ground #MON!", $57
 ; 0x9d612 + 99 bytes
 
-_CeladonGymBattleText4: ; 0x9d675
+_CeladonGymBattleText4: ; 9d675 (27:5675)
 	db $0, "Aren't you the", $4f
 	db "peeping Tom?", $57
 ; 0x9d675 + 28 bytes
 
-_CeladonGymEndBattleText4: ; 0x9d691
+_CeladonGymEndBattleText4: ; 9d691 (27:5691)
 	db $0, "I'm", $4f
 	db "in shock!", $58
 ; 0x9d691 + 14 bytes
 
-_CeladonGymAfterBattleText4: ; 0x9d69f
+_CeladonGymAfterBattleText4: ; 9d69f (27:569f)
 	db $0, "Oh, you weren't", $4f
 	db "peeping? We get a", $55
 	db "lot of gawkers!", $57
 ; 0x9d69f + 50 bytes
 
-_CeladonGymBattleText5: ; 0x9d6d1
+_CeladonGymBattleText5: ; 9d6d1 (27:56d1)
 	db $0, "Look at my grass", $4f
 	db "#MON!", $51
 	db "They're so easy", $4f
@@ -123331,11 +124556,11 @@
 	db "to raise!", $57
 ; 0x9d6d1 + 49 bytes
 
-_CeladonGymEndBattleText5: ; 0x9d702
+_CeladonGymEndBattleText5: ; 9d702 (27:5702)
 	db $0, "No!", $58
 ; 0x9d702 + 5 bytes
 
-_CeladonGymAfterBattleText5: ; 0x9d707
+_CeladonGymAfterBattleText5: ; 9d707 (27:5707)
 	db $0, "We only use grass-", $4f
 	db "type #MON at", $55
 	db "our GYM!", $51
@@ -123344,18 +124569,18 @@
 	db "arrangements!", $57
 ; 0x9d707 + 91 bytes
 
-_CeladonGymBattleText6: ; 0x9d762
+_CeladonGymBattleText6: ; 9d762 (27:5762)
 	db $0, "Don't bring any", $4f
 	db "bugs or fire", $55
 	db "#MON in here!", $57
 ; 0x9d762 + 43 bytes
 
-_CeladonGymEndBattleText6: ; 0x9d78d
+_CeladonGymEndBattleText6: ; 9d78d (27:578d)
 	db $0, "Oh!", $4f
 	db "You!", $58
 ; 0x9d78d + 10 bytes
 
-_CeladonGymAfterBattleText6: ; 0x9d797
+_CeladonGymAfterBattleText6: ; 9d797 (27:5797)
 	db $0, "Our LEADER, ERIKA,", $4f
 	db "might be quiet,", $55
 	db "but she's also", $55
@@ -123362,18 +124587,18 @@
 	db "very skilled!", $57
 ; 0x9d797 + 64 bytes
 
-_CeladonGymBattleText7: ; 0x9d7d7
+_CeladonGymBattleText7: ; 9d7d7 (27:57d7)
 	db $0, "Pleased to meet", $4f
 	db "you. My hobby is", $55
 	db "#MON training.", $57
 ; 0x9d7d7 + 49 bytes
 
-_CeladonGymEndBattleText7: ; 0x9d808
+_CeladonGymEndBattleText7: ; 9d808 (27:5808)
 	db $0, "Oh!", $4f
 	db "Splendid!", $58
 ; 0x9d808 + 15 bytes
 
-_CeladonGymAfterBattleText7: ; 0x9d817
+_CeladonGymAfterBattleText7: ; 9d817 (27:5817)
 	db $0, "I have a blind", $4f
 	db "date coming up.", $55
 	db "I have to learn", $55
@@ -123380,7 +124605,7 @@
 	db "to be polite.", $57
 ; 0x9d817 + 62 bytes
 
-_CeladonGymBattleText8: ; 0x9d855
+_CeladonGymBattleText8: ; 9d855 (27:5855)
 	db $0, "Welcome to", $4f
 	db "CELADON GYM!", $51
 	db "You better not", $4f
@@ -123388,12 +124613,12 @@
 	db "girl power!", $57
 ; 0x9d855 + 66 bytes
 
-_CeladonGymEndBattleText8: ; 0x9d897
+_CeladonGymEndBattleText8: ; 9d897 (27:5897)
 	db $0, "Oh!", $4f
 	db "Beaten!", $58
 ; 0x9d897 + 13 bytes
 
-_CeladonGymAfterBattleText8: ; 0x9d8a4
+_CeladonGymAfterBattleText8: ; 9d8a4 (27:58a4)
 	db $0, "I didn't bring my", $4f
 	db "best #MON!", $51
 	db "Wait 'til next", $4f
@@ -123400,7 +124625,7 @@
 	db "time!", $57
 ; 0x9d8a4 + 49 bytes
 
-_CeladonGameCornerText1: ; 0x9d8d5
+_CeladonGameCornerText1: ; 9d8d5 (27:58d5)
 	db $0, "Welcome!", $51
 	db "You can exchange", $4f
 	db "your coins for", $55
@@ -123407,7 +124632,7 @@
 	db "fabulous prizes", $55
 	db "next door.", $57
 
-_UnnamedText_48d22: ; 0x9d91a
+_UnnamedText_48d22: ; 9d91a (27:591a)
 	db $0, "Welcome to ROCKET", $4f
 	db "GAME CORNER!", $51
 	db "Do you need some", $4f
@@ -123417,67 +124642,67 @@
 	db "like some?", $57
 ; 0x9d91a + 106 bytes
 
-_UnnamedText_48d27: ; 0x9d984
+_UnnamedText_48d27: ; 9d984 (27:5984)
 	db $0, "Thanks! Here are", $4f
 	db "your 50 coins!", $57
 ; 0x9d984 + 33 bytes
 
-_UnnamedText_48d2c: ; 0x9d9a5
+_UnnamedText_48d2c: ; 9d9a5 (27:59a5)
 	db $0, "No? Please come", $4f
 	db "play sometime!", $57
 ; 0x9d9a5 + 32 bytes
 
-_UnnamedText_48d31: ; 0x9d9c5
+_UnnamedText_48d31: ; 9d9c5 (27:59c5)
 	db $0, "You can't afford", $4f
 	db "the coins!", $57
 ; 0x9d9c5 + 28 bytes
 
-_UnnamedText_48d36: ; 0x9d9e1
+_UnnamedText_48d36: ; 9d9e1 (27:59e1)
 	db $0, "Oops! Your COIN", $4f
 	db "CASE is full.", $57
 ; 0x9d9e1 + 31 bytes
 
-_UnnamedText_48d3b: ; 0x9da00
+_UnnamedText_48d3b: ; 9da00 (27:5a00)
 	db $0, "You don't have a", $4f
 	db "COIN CASE!", $57
 ; 0x9da00 + 28 bytes
 
-_CeladonGameCornerText3: ; 0x9da1c
+_CeladonGameCornerText3: ; 9da1c (27:5a1c)
 	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
+_CeladonGameCornerText4: ; 9da61 (27:5a61)
 	db $0, "I think these", $4f
 	db "machines have", $55
 	db "different odds.", $57
 
-_UnnamedText_48d9c: ; 0x9da8e
+_UnnamedText_48d9c: ; 9da8e (27:5a8e)
 	db $0, "Kid, do you want", $4f
 	db "to play?", $58
 ; 0x9da8e + 27 bytes
 
-_Received10CoinsText: ; 0x9daa9
+_Received10CoinsText: ; 9daa9 (27:5aa9)
 	db $0, $52, " received", $4f
 	db "10 coins!@@"
 ; 0x9dac0
 
-_UnnamedText_48da7: ; 0x9dac0
+_UnnamedText_48da7: ; 9dac0 (27:5ac0)
 	db $0, "You don't need my", $4f
 	db "coins!", $57
 ; 0x9dac0 + 25 bytes
 
-_UnnamedText_48dac: ; 0x9dad9
+_UnnamedText_48dac: ; 9dad9 (27:5ad9)
 	db $0, "Wins seem to come", $4f
 	db "and go.", $57
 ; 0x9dad9 + 27 bytes
 
-_CeladonGameCornerText6: ; 0x9daf4
+_CeladonGameCornerText6: ; 9daf4 (27:5af4)
 	db $0, "I'm having a", $4f
 	db "wonderful time!", $57
 
-_UnnamedText_48dca: ; 0x9db11
+_UnnamedText_48dca: ; 9db11 (27:5b11)
 	db $0, "Hey!", $51
 	db "You have better", $4f
 	db "things to do,", $55
@@ -123491,7 +124716,7 @@
 	db "be fooled!", $57
 ; 0x9db11 + 155 bytes
 
-_UnnamedText_48dcf: ; 0x9dbac
+_UnnamedText_48dcf: ; 9dbac (27:5bac)
 	db $0, "They offer rare", $4f
 	db "#MON that can", $55
 	db "be exchanged for", $55
@@ -123500,33 +124725,33 @@
 	db "seem to win!", $57
 ; 0x9dbac + 90 bytes
 
-_CeladonGameCornerText8: ; 0x9dc06
+_CeladonGameCornerText8: ; 9dc06 (27:5c06)
 	db $0, "Games are scary!", $4f
 	db "It's so easy to", $55
 	db "get hooked!", $57
 
-_UnnamedText_48e26: ; 0x9dc33
+_UnnamedText_48e26: ; 9dc33 (27:5c33)
 	db $0, "What's up? Want", $4f
 	db "some coins?", $58
 ; 0x9dc33 + 28 bytes
 
-_Received20CoinsText: ; 0x9dc4f
+_Received20CoinsText: ; 9dc4f (27:5c4f)
 	db $0, $52, " received", $4f
 	db "20 coins!@@"
 ; 0x9dc66
 
-_UnnamedText_48e31: ; 0x9dc66
+_UnnamedText_48e31: ; 9dc66 (27:5c66)
 	db $0, "You have lots of", $4f
 	db "coins!", $57
 ; 0x9dc66 + 25 bytes
 
-_UnnamedText_48e36: ; 0x9dc7f
+_UnnamedText_48e36: ; 9dc7f (27:5c7f)
 	db $0, "Darn! I need more", $4f
 	db "coins for the", $55
 	db "#MON I want!", $57
 ; 0x9dc7f + 46 bytes
 
-_UnnamedText_48e88: ; 0x9dcad
+_UnnamedText_48e88: ; 9dcad (27:5cad)
 	db $0, "Hey, what? You're", $4f
 	db "throwing me off!", $55
 	db "Here are some", $55
@@ -123533,39 +124758,39 @@
 	db "coins, shoo!", $58
 ; 0x9dcad + 62 bytes
 
-_UnnamedText_48e8d: ; 0x9dceb
+_UnnamedText_48e8d: ; 9dceb (27:5ceb)
 	db $0, $52, " received", $4f
 	db "20 coins!@@"
 ; 0x9dd02
 
-_UnnamedText_48e93: ; 0x9dd02
+_UnnamedText_48e93: ; 9dd02 (27:5d02)
 	db $0, "You've got your", $4f
 	db "own coins!", $57
 ; 0x9dd02 + 27 bytes
 
-_UnnamedText_48e98: ; 0x9dd1d
+_UnnamedText_48e98: ; 9dd1d (27:5d1d)
 	db $0, "The trick is to", $4f
 	db "watch the reels", $55
 	db "closely!", $57
 ; 0x9dd1d + 42 bytes
 
-_UnnamedText_48ece: ; 0x9dd47
+_UnnamedText_48ece: ; 9dd47 (27:5d47)
 	db $0, "I'm guarding this", $4f
 	db "poster!", $55
 	db "Go away, or else!", $57
 ; 0x9dd47 + 44 bytes
 
-_UnnamedText_48ed3: ; 0x9dd73
+_UnnamedText_48ed3: ; 9dd73 (27:5d73)
 	db $0, "Dang!", $58
 ; 0x9dd73 + 7 bytes
 
-_UnnamedText_48ed8: ; 0x9dd7a
+_UnnamedText_48ed8: ; 9dd7a (27:5d7a)
 	db $0, "Our hideout might", $4f
 	db "be discovered! I", $55
 	db "better tell BOSS!", $57
 ; 0x9dd7a + 54 bytes
 
-_UnnamedText_48f09: ; 0x9ddb0
+_UnnamedText_48f09: ; 9ddb0 (27:5db0)
 	db $0, "Hey!", $51
 	db "A switch behind", $4f
 	db "the poster!?", $55
@@ -123572,12 +124797,12 @@
 	db "Let's push it!@@"
 ; 0x9dde2
 
-_UnnamedText_48f19: ; 0x9dde2
+_UnnamedText_48f19: ; 9dde2 (27:5de2)
 	db $0, "Oops! Forgot the", $4f
 	db "COIN CASE!", $57
 ; 0x9dde2 + 29 bytes
 
-_CeladonMart5Text1: ; 0x9ddff
+_CeladonMart5Text1: ; 9ddff (27:5dff)
 	db $0, "#MON ability", $4f
 	db "enhancers can be", $55
 	db "bought only here.", $51
@@ -123587,7 +124812,7 @@
 	db "Use CARBOS to", $4f
 	db "increase SPEED.", $57
 
-_CeladonMart5Text2: ; 0x9de79
+_CeladonMart5Text2: ; 9de79 (27:5e79)
 	db $0, "I'm here for", $4f
 	db "#MON ability", $55
 	db "enhancers.", $51
@@ -123596,42 +124821,42 @@
 	db "IRON increases", $4f
 	db "DEFENSE!", $57
 
-_CeladonMart5Text5: ; 0x9ded6
+_CeladonMart5Text5: ; 9ded6 (27:5ed6)
 	db $0, "5F: DRUG STORE", $57
 
-_CeladonPrizeRoomText1: ; 0x9dee6
+_CeladonPrizeRoomText1: ; 9dee6 (27:5ee6)
 	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
+_CeladonPrizeRoomText2: ; 9df24 (27:5f24)
 	db $0, "I had a major", $4f
 	db "haul today!", $57
 
-_CeladonDinerText1: ; 0x9df3f
+_CeladonDinerText1: ; 9df3f (27:5f3f)
 	db $0, "Hi!", $51
 	db "We're taking a", $4f
 	db "break now.", $57
 
-_CeladonDinerText2: ; 0x9df5d
+_CeladonDinerText2: ; 9df5d (27:5f5d)
 	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
+_CeladonDinerText3: ; 9df99 (27:5f99)
 	db $0, "Psst! There's a", $4f
 	db "basement under", $55
 	db "the GAME CORNER.", $57
 
-_CeladonDinerText4: ; 0x9dfc9
+_CeladonDinerText4: ; 9dfc9 (27:5fc9)
 	db $0, "Munch...", $51
 	db "The man at that", $4f
 	db "table lost it all", $55
 	db "at the slots.", $57
 
-_UnnamedText_491a7: ; 0x9e003
+_UnnamedText_491a7: ; 9e003 (27:6003)
 	db $0, "Go ahead! Laugh!", $51
 	db "I'm flat out", $4f
 	db "busted!", $51
@@ -123643,7 +124868,7 @@
 	db "more!", $58
 ; 0x9e003 + 119 bytes
 
-_ReceivedCoinCaseText: ; 0x9e07a
+_ReceivedCoinCaseText: ; 9e07a (27:607a)
 	db $0, $52, " received", $4f
 	db "a @"
 	TX_RAM $cf4b
@@ -123650,29 +124875,29 @@
 	db $0, "!@@"
 ; 0x9e090
 
-_CoinCaseNoRoomText: ; 0x9e090
+_CoinCaseNoRoomText: ; 9e090 (27:6090)
 	db $0, "Make room for", $4f
 	db "this!", $57
 ; 0x9e090 + 21 bytes
 
-_UnnamedText_491b7: ; 0x9e0a5
+_UnnamedText_491b7: ; 9e0a5 (27:60a5)
 	db $0, "I always thought", $4f
 	db "I was going to", $55
 	db "win it back...", $57
 ; 0x9e0a5 + 48 bytes
 
-_CeladonHouseText1: ; 0x9e0d5
+_CeladonHouseText1: ; 9e0d5 (27:60d5)
 	db $0, "Hehehe! The slots", $4f
 	db "just reel in the", $55
 	db "dough, big time!", $57
 
-_CeladonHouseText2: ; 0x9e10a
+_CeladonHouseText2: ; 9e10a (27:610a)
 	db $0, "CHIEF!", $51
 	db "We just shipped", $4f
 	db "2000 #MON as", $55
 	db "slot prizes!", $57
 
-_CeladonHouseText3: ; 0x9e13c
+_CeladonHouseText3: ; 9e13c (27:613c)
 	db $0, "Don't touch the", $4f
 	db "poster at the", $55
 	db "GAME CORNER!", $51
@@ -123679,13 +124904,13 @@
 	db "There's no secret", $4f
 	db "switch behind it!", $57
 
-_CeladonHotelText1: ; 0x9e18a
+_CeladonHotelText1: ; 9e18a (27:618a)
 	db $0, "#MON? No, this", $4f
 	db "is a hotel for", $55
 	db "people.", $51
 	db "We're full up.", $57
 
-_CeladonHotelText2: ; 0x9e1bf
+_CeladonHotelText2: ; 9e1bf (27:61bf)
 	db $0, "I'm on vacation", $4f
 	db "with my brother", $55
 	db "and boy friend.", $51
@@ -123692,23 +124917,23 @@
 	db "CELADON is such a", $4f
 	db "pretty city!", $57
 
-_CeladonHotelText3: ; 0x9e20e
+_CeladonHotelText3: ; 9e20e (27:620e)
 	db $0, "Why did she bring", $4f
 	db "her brother?", $57
 
-_FuchsiaMartText2: ; 0x9e22e
+_FuchsiaMartText2: ; 9e22e (27:622e)
 	db $0, "Do you have a", $4f
 	db "SAFARI ZONE flag?", $51
 	db "What about cards", $4f
 	db "or calendars?", $57
 
-_FuchsiaMartText3: ; 0x9e26e
+_FuchsiaMartText3: ; 9e26e (27:626e)
 	db $0, "Did you try X", $4f
 	db "SPEED? It speeds", $55
 	db "up a #MON in", $55
 	db "battle!", $57
 
-_FuchsiaHouse1Text1: ; 0x9e2a3
+_FuchsiaHouse1Text1: ; 9e2a3 (27:62a3)
 	db $0, "SAFARI ZONE's", $4f
 	db "WARDEN is old,", $55
 	db "but still active!", $51
@@ -123715,7 +124940,7 @@
 	db "All his teeth are", $4f
 	db "false, though.", $57
 
-_FuchsiaHouse1Text2: ; 0x9e2f3
+_FuchsiaHouse1Text2: ; 9e2f3 (27:62f3)
 	db $0, "Hmm? You've met", $4f
 	db "BILL?", $51
 	db "He's my grandson!", $51
@@ -123723,13 +124948,13 @@
 	db "collecting things", $55
 	db "even as a child!", $57
 
-_FuchsiaHouse1Text3: ; 0x9e34d
+_FuchsiaHouse1Text3: ; 9e34d (27:634d)
 	db $0, "BILL files his", $4f
 	db "own #MON data", $55
 	db "on his PC!", $51
 	db "Did he show you?", $57
 
-_FuchsiaPokecenterText1: ; 0x9e387
+_FuchsiaPokecenterText1: ; 9e387 (27:6387)
 	db $0, "You can't win", $4f
 	db "with just one", $55
 	db "strong #MON.", $51
@@ -123737,7 +124962,7 @@
 	db "you have to raise", $55
 	db "them evenly.", $57
 
-_FuchsiaPokecenterText3: ; 0x9e3de
+_FuchsiaPokecenterText3: ; 9e3de (27:63de)
 	db $0, "There's a narrow", $4f
 	db "trail west of", $55
 	db "VIRIDIAN CITY.", $51
@@ -123746,7 +124971,7 @@
 	db "The HQ governs", $55
 	db "all trainers.", $57
 
-_WardenGibberishText1: ; 0x9e444
+_WardenGibberishText1: ; 9e444 (27:6444)
 	db $0, "WARDEN: Hif fuff", $4f
 	db "hefifoo!", $51
 	db "Ha lof ha feef ee", $4f
@@ -123754,29 +124979,29 @@
 	db "hee fwee!", $57
 ; 0x9e444 + 71 bytes
 
-_WardenGibberishText2: ; 0x9e48b
+_WardenGibberishText2: ; 9e48b (27:648b)
 	db $0, "Ah howhee ho hoo!", $4f
 	db "Eef ee hafahi ho!", $57
 ; 0x9e48b + 37 bytes
 
-_WardenGibberishText3: ; 0x9e4b0
+_WardenGibberishText3: ; 9e4b0 (27:64b0)
 	db $0, "Ha? He ohay heh", $4f
 	db "ha hoo ee haheh!", $57
 ; 0x9e4b0 + 34 bytes
 
-_WardenTeethText1: ; 0x9e4d2
+_WardenTeethText1: ; 9e4d2 (27:64d2)
 	db $0, $52, " gave the", $4f
 	db "GOLD TEETH to the", $55
 	db "WARDEN!@@"
 ; 0x9e4f9
 
-_WardenTeethText2: ; 0x9e4f9
+_WardenTeethText2: ; 9e4f9 (27:64f9)
 	db $0, $51
 	db "The WARDEN popped", $4f
 	db "in his teeth!", $58
 ; 0x9e4f9 + 34 bytes
 
-_WardenThankYouText: ; 0x9e51b
+_WardenThankYouText: ; 9e51b (27:651b)
 	db $0, "WARDEN: Thanks,", $4f
 	db "kid! No one could", $55
 	db "understand a word", $55
@@ -123788,7 +125013,7 @@
 	db "your trouble.", $58
 ; 0x9e51b + 135 bytes
 
-_ReceivedHM04Text: ; 0x9e5a2
+_ReceivedHM04Text: ; 9e5a2 (27:65a2)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -123795,7 +125020,7 @@
 	db $0, "!@@"
 ; 0x9e5b6
 
-_HM04ExplanationText: ; 0x9e5b6
+_HM04ExplanationText: ; 9e5b6 (27:65b6)
 	db $0, "WARDEN: HM04", $4f
 	db "teaches STRENGTH!", $51
 	db "It lets #MON", $4f
@@ -123811,26 +125036,26 @@
 	db "rare SURF HM.", $57
 ; 0x9e5b6 + 196 bytes
 
-_HM04NoRoomText: ; 0x9e67a
+_HM04NoRoomText: ; 9e67a (27:667a)
 	db $0, "Your pack is", $4f
 	db "stuffed full!", $57
 ; 0x9e67a + 28 bytes
 
-_UnnamedText_75176: ; 0x9e696
+_UnnamedText_75176: ; 9e696 (27:6696)
 	db $0, "#MON photos", $4f
 	db "and fossils.", $57
 ; 0x9e696 + 26 bytes
 
-_UnnamedText_7517b: ; 0x9e6b0
+_UnnamedText_7517b: ; 9e6b0 (27:66b0)
 	db $0, "Old #MON", $4f
 	db "merchandise.", $57
 ; 0x9e6b0 + 23 bytes
 
-_SafariZoneEntranceText1: ; 0x9e6c7
+_SafariZoneEntranceText1: ; 9e6c7 (27:66c7)
 	db $0, "Welcome to the", $4f
 	db "SAFARI ZONE!", $57
 
-UnnamedText_9e6e4: ; 0x9e6e4
+UnnamedText_9e6e4: ; 9e6e4 (27:66e4)
 	db $0, "For just ¥500,", $4f
 	db "you can catch all", $55
 	db "the #MON you", $55
@@ -123839,7 +125064,7 @@
 	db "join the hunt?@@"
 ; 0x9e747
 
-UnnamedText_9e747: ; 0x9e747
+UnnamedText_9e747: ; 9e747 (27:6747)
 	db $0, "That'll be ¥500", $4f
 	db "please!", $51
 	db "We only use a", $4f
@@ -123849,7 +125074,7 @@
 	db "30 SAFARI BALLs!@@"
 ; 0x9e79f
 
-_UnnamedText_75360: ; 0x9e79f
+_UnnamedText_75360: ; 9e79f (27:679f)
 	db $0, $51
 	db "We'll call you on", $4f
 	db "the PA when you", $55
@@ -123857,42 +125082,42 @@
 	db "or SAFARI BALLs!", $57
 ; 0x9e79f + 68 bytes
 
-_UnnamedText_75365: ; 0x9e7e3
+_UnnamedText_75365: ; 9e7e3 (27:67e3)
 	db $0, "OK! Please come", $4f
 	db "again!", $57
 ; 0x9e7e3 + 24 bytes
 
-_UnnamedText_7536a: ; 0x9e7fb
+_UnnamedText_7536a: ; 9e7fb (27:67fb)
 	db $0, "Oops! Not enough", $4f
 	db "money!", $57
 ; 0x9e7fb + 25 bytes
 
-UnnamedText_9e814: ; 0x9e814
+UnnamedText_9e814: ; 9e814 (27:6814)
 	db $0, "Leaving early?@@"
 ; 0x9e825
 
-_UnnamedText_753bb: ; 0x9e825
+_UnnamedText_753bb: ; 9e825 (27:6825)
 	db $0, "Please return any", $4f
 	db "SAFARI BALLs you", $55
 	db "have left.", $57
 ; 0x9e825 + 47 bytes
 
-_UnnamedText_753c0: ; 0x9e854
+_UnnamedText_753c0: ; 9e854 (27:6854)
 	db $0, "Good Luck!", $57
 ; 0x9e854 + 12 bytes
 
-_UnnamedText_753c5: ; 0x9e860
+_UnnamedText_753c5: ; 9e860 (27:6860)
 	db $0, "Did you get a", $4f
 	db "good haul?", $55
 	db "Come again!", $57
 ; 0x9e860 + 38 bytes
 
-_UnnamedText_753e6: ; 0x9e886
+_UnnamedText_753e6: ; 9e886 (27:6886)
 	db $0, "Hi! Is it your", $4f
 	db "first time here?", $57
 ; 0x9e886 + 33 bytes
 
-_UnnamedText_753eb: ; 0x9e8a7
+_UnnamedText_753eb: ; 9e8a7 (27:68a7)
 	db $0, "SAFARI ZONE has 4", $4f
 	db "zones in it.", $51
 	db "Each zone has", $4f
@@ -123911,12 +125136,12 @@
 	db "new #MON!", $57
 ; 0x9e8a7 + 236 bytes
 
-_UnnamedText_753f0: ; 0x9e993
+_UnnamedText_753f0: ; 9e993 (27:6993)
 	db $0, "Sorry, you're a", $4f
 	db "regular here!", $57
 ; 0x9e993 + 30 bytes
 
-_UnnamedText_75581: ; 0x9e9b1
+_UnnamedText_75581: ; 9e9b1 (27:69b1)
 	db $0, "KOGA: Fwahahaha!", $51
 	db "A mere child like", $4f
 	db "you dares to", $55
@@ -123931,7 +125156,7 @@
 	db "techniques!", $57
 ; 0x9e9b1 + 181 bytes
 
-_UnnamedText_75586: ; 0x9ea66
+_UnnamedText_75586: ; 9ea66 (27:6a66)
 	db $0, "Humph!", $4f
 	db "You have proven", $55
 	db "your worth!", $51
@@ -123941,7 +125166,7 @@
 
 SECTION "bank28",DATA,BANK[$28]
 
-_UnnamedText_7558b: ; 0xa0000
+_UnnamedText_7558b: ; a0000 (28:4000)
 	db $0, "When afflicted by", $4f
 	db "TOXIC, #MON", $55
 	db "suffer more and", $55
@@ -123951,7 +125176,7 @@
 	db "terrorize foes!", $57
 ; 0xa0000 + 105 bytes
 
-_UnnamedText_75590: ; 0xa0069
+_UnnamedText_75590: ; a0069 (28:4069)
 	db $0, "Now that you have", $4f
 	db "the SOULBADGE,", $55
 	db "the DEFENSE of", $55
@@ -123964,13 +125189,13 @@
 	db "too!", $57
 ; 0xa0069 + 130 bytes
 
-_ReceivedTM06Text: ; 0xa00eb
+_ReceivedTM06Text: ; a00eb (28:40eb)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
 	db $0, "!@@"
 
-_TM06ExplanationText: ; 0xa00ff
+_TM06ExplanationText: ; a00ff (28:40ff)
 	db $0, $51
 	db "TM06 contains", $4f
 	db "TOXIC!", $51
@@ -123979,12 +125204,12 @@
 	db "400 years old!", $57
 ; 0xa00ff + 68 bytes
 
-_TM06NoRoomText: ; 0xa0143
+_TM06NoRoomText: ; a0143 (28:4143)
 	db $0, "Make space for", $4f
 	db "this, child!", $57
 ; 0xa0143 + 29 bytes
 
-_FuchsiaGymBattleText1: ; 0xa0160
+_FuchsiaGymBattleText1: ; a0160 (28:4160)
 	db $0, "Strength isn't", $4f
 	db "the key for", $55
 	db "#MON!", $51
@@ -123994,29 +125219,29 @@
 	db "brute strength!", $57
 ; 0xa0160 + 98 bytes
 
-_FuchsiaGymEndBattleText1: ; 0xa01c2
+_FuchsiaGymEndBattleText1: ; a01c2 (28:41c2)
 	db $0, "What?", $4f
 	db "Extraordinary!", $58
 ; 0xa01c2 + 22 bytes
 
-_FuchsiaGymAfterBattleText1: ; 0xa01d8
+_FuchsiaGymAfterBattleText1: ; a01d8 (28:41d8)
 	db $0, "So, you mix brawn", $4f
 	db "with brains?", $55
 	db "Good strategy!", $57
 ; 0xa01d8 + 47 bytes
 
-_FuchsiaGymBattleText2: ; 0xa0207
+_FuchsiaGymBattleText2: ; a0207 (28:4207)
 	db $0, "I wanted to become", $4f
 	db "a ninja, so I", $55
 	db "joined this GYM!", $57
 ; 0xa0207 + 51 bytes
 
-_FuchsiaGymEndBattleText2: ; 0xa023a
+_FuchsiaGymEndBattleText2: ; a023a (28:423a)
 	db $0, "I'm done", $4f
 	db "for!", $58
 ; 0xa023a + 14 bytes
 
-_FuchsiaGymAfterBattleText2: ; 0xa0248
+_FuchsiaGymAfterBattleText2: ; a0248 (28:4248)
 	db $0, "I will keep on", $4f
 	db "training under", $55
 	db "KOGA, my ninja", $55
@@ -124023,18 +125248,18 @@
 	db "master!", $57
 ; 0xa0248 + 54 bytes
 
-_FuchsiaGymBattleText3: ; 0xa027e
+_FuchsiaGymBattleText3: ; a027e (28:427e)
 	db $0, "Let's see you", $4f
 	db "beat my special", $55
 	db "techniques!", $57
 ; 0xa027e + 42 bytes
 
-_FuchsiaGymEndBattleText3: ; 0xa02a8
+_FuchsiaGymEndBattleText3: ; a02a8 (28:42a8)
 	db $0, "You", $4f
 	db "had me fooled!", $58
 ; 0xa02a8 + 20 bytes
 
-_FuchsiaGymAfterBattleText3: ; 0xa02bc
+_FuchsiaGymAfterBattleText3: ; a02bc (28:42bc)
 	db $0, "I like poison and", $4f
 	db "sleep techniques,", $55
 	db "as they linger", $55
@@ -124041,7 +125266,7 @@
 	db "after battle!", $57
 ; 0xa02bc + 66 bytes
 
-_FuchsiaGymBattleText4: ; 0xa02fe
+_FuchsiaGymBattleText4: ; a02fe (28:42fe)
 	db $0, "Stop right there!", $51
 	db "Our invisible", $4f
 	db "walls have you", $55
@@ -124048,12 +125273,12 @@
 	db "frustrated?", $57
 ; 0xa02fe + 60 bytes
 
-_FuchsiaGymEndBattleText4: ; 0xa033a
+_FuchsiaGymEndBattleText4: ; a033a (28:433a)
 	db $0, "Whoa!", $4f
 	db "He's got it!", $58
 ; 0xa033a + 19 bytes
 
-_FuchsiaGymAfterBattleText4: ; 0xa034d
+_FuchsiaGymAfterBattleText4: ; a034d (28:434d)
 	db $0, "You impressed me!", $4f
 	db "Here's a hint!", $51
 	db "Look very closely", $4f
@@ -124061,7 +125286,7 @@
 	db "invisible walls!", $57
 ; 0xa034d + 84 bytes
 
-_FuchsiaGymBattleText5: ; 0xa03a1
+_FuchsiaGymBattleText5: ; a03a1 (28:43a1)
 	db $0, "I also study the", $4f
 	db "way of the ninja", $55
 	db "with master KOGA!", $51
@@ -124070,16 +125295,16 @@
 	db "animals!", $57
 ; 0xa03a1 + 97 bytes
 
-_FuchsiaGymEndBattleText5: ; 0xa0402
+_FuchsiaGymEndBattleText5: ; a0402 (28:4402)
 	db $0, "Awoo!", $58
 ; 0xa0402 + 7 bytes
 
-_FuchsiaGymAfterBattleText5: ; 0xa0409
+_FuchsiaGymAfterBattleText5: ; a0409 (28:4409)
 	db $0, "I still have much", $4f
 	db "to learn!", $57
 ; 0xa0409 + 29 bytes
 
-_FuchsiaGymBattleText6: ; 0xa0426
+_FuchsiaGymBattleText6: ; a0426 (28:4426)
 	db $0, "Master KOGA comes", $4f
 	db "from a long line", $55
 	db "of ninjas!", $51
@@ -124087,12 +125312,12 @@
 	db "descend from?", $57
 ; 0xa0426 + 74 bytes
 
-_FuchsiaGymEndBattleText6: ; 0xa0470
+_FuchsiaGymEndBattleText6: ; a0470 (28:4470)
 	db $0, "Dropped", $4f
 	db "my balls!", $58
 ; 0xa0470 + 19 bytes
 
-_FuchsiaGymAfterBattleText6: ; 0xa0483
+_FuchsiaGymAfterBattleText6: ; a0483 (28:4483)
 	db $0, "Where there is", $4f
 	db "light, there is", $55
 	db "shadow!", $51
@@ -124101,7 +125326,7 @@
 	db "choose?", $57
 ; 0xa0483 + 79 bytes
 
-_UnnamedText_7564e: ; 0xa04d2
+_UnnamedText_7564e: ; a04d2 (28:44d2)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "FUCHSIA GYM is", $4f
@@ -124115,19 +125340,19 @@
 	db "to reach him!", $57
 ; 0xa04d2 + 162 bytes
 
-_UnnamedText_75653: ; 0xa0574
+_UnnamedText_75653: ; a0574 (28:4574)
 	db $0, "It's amazing how", $4f
 	db "ninja can terrify", $55
 	db "even now!", $57
 ; 0xa0574 + 45 bytes
 
-_FuchsiaMeetingRoomText1: ; 0xa05a1
+_FuchsiaMeetingRoomText1: ; a05a1 (28:45a1)
 	db $0, "We nicknamed the", $4f
 	db "WARDEN SLOWPOKE.", $51
 	db "He and SLOWPOKE", $4f
 	db "both look vacant!", $57
 
-_FuchsiaMeetingRoomText2: ; 0xa05e6
+_FuchsiaMeetingRoomText2: ; a05e6 (28:45e6)
 	db $0, "SLOWPOKE is very", $4f
 	db "knowledgeable", $55
 	db "about #MON!", $51
@@ -124135,7 +125360,7 @@
 	db "fossils of rare,", $55
 	db "extinct #MON!", $57
 
-_FuchsiaMeetingRoomText3: ; 0xa0642
+_FuchsiaMeetingRoomText3: ; a0642 (28:4642)
 	db $0, "SLOWPOKE came in,", $4f
 	db "but I couldn't", $55
 	db "understand him.", $51
@@ -124142,7 +125367,7 @@
 	db "I think he's got", $4f
 	db "a speech problem!", $57
 
-_UnnamedText_561bd: ; 0xa0695
+_UnnamedText_561bd: ; a0695 (28:4695)
 	db $0, "I'm the FISHING", $4f
 	db "GURU's older", $55
 	db "brother!", $51
@@ -124152,7 +125377,7 @@
 	db "fish?", $57
 ; 0xa0695 + 83 bytes
 
-_UnnamedText_561c2: ; 0xa06e8
+_UnnamedText_561c2: ; a06e8 (28:46e8)
 	db $0, "Grand! I like", $4f
 	db "your style!", $51
 	db "Take this and", $4f
@@ -124163,12 +125388,12 @@
 	db $0, "!@@"
 ; 0xa0737
 
-_UnnamedText_56212: ; 0xa0737
+_UnnamedText_56212: ; a0737 (28:4737)
 	db $0, "Oh... That's so", $4f
 	db "disappointing...", $57
 ; 0xa0737 + 33 bytes
 
-_UnnamedText_56217: ; 0xa0758
+_UnnamedText_56217: ; a0758 (28:4758)
 	db $0, "Hello there,", $4f
 	db $52, "!", $51
 	db "How are the fish", $4f
@@ -124175,42 +125400,42 @@
 	db "biting?", $57
 ; 0xa0758 + 42 bytes
 
-_UnnamedText_5621c: ; 0xa0782
+_UnnamedText_5621c: ; a0782 (28:4782)
 	db $0, "Oh no!", $51
 	db "You have no room", $4f
 	db "for my gift!", $57
 ; 0xa0782 + 38 bytes
 
-_Mansion1BattleText2: ; 0xa07a8
+_Mansion1BattleText2: ; a07a8 (28:47a8)
 	db $0, "Who are you? There", $4f
 	db "shouldn't be", $55
 	db "anyone here.", $57
 ; 0xa07a8 + 45 bytes
 
-_Mansion1EndBattleText2: ; 0xa07d5
+_Mansion1EndBattleText2: ; a07d5 (28:47d5)
 	db $0, "Ouch!", $58
 ; 0xa07d5 + 7 bytes
 
-_Mansion1AfterBattleText2: ; 0xa07dc
+_Mansion1AfterBattleText2: ; a07dc (28:47dc)
 	db $0, "A key? I don't", $4f
 	db "know what you're", $55
 	db "talking about.", $57
 ; 0xa07dc + 46 bytes
 
-_UnnamedText_44395: ; 0xa080a
+_UnnamedText_44395: ; a080a (28:480a)
 	db $0, "A secret switch!", $51
 	db "Press it?", $57
 ; 0xa080a + 28 bytes
 
-_UnnamedText_4439a: ; 0xa0826
+_UnnamedText_4439a: ; a0826 (28:4826)
 	db $0, "Who wouldn't?", $58
 ; 0xa0826 + 14 bytes
 
-_UnnamedText_4439f: ; 0xa0834
+_UnnamedText_4439f: ; a0834 (28:4834)
 	db $0, "Not quite yet!", $57
 ; 0xa0834 + 16 bytes
 
-_UnnamedText_75914: ; 0xa0844
+_UnnamedText_75914: ; a0844 (28:4844)
 	db $0, "Hah!", $51
 	db "I am BLAINE! I", $4f
 	db "am the LEADER of", $55
@@ -124222,7 +125447,7 @@
 	db "have BURN HEAL!", $57
 ; 0xa0844 + 131 bytes
 
-UnnamedText_a08c7: ; 0xa08c7
+UnnamedText_a08c7: ; a08c7 (28:48c7)
 	db $0, "I have", $4f
 	db "burnt out!", $51
 	db "You have earned", $4f
@@ -124229,7 +125454,7 @@
 	db "the VOLCANOBADGE!@@"
 ; 0xa08fd
 
-_UnnamedText_75920: ; 0xa08fd
+_UnnamedText_75920: ; a08fd (28:48fd)
 	db $0, "FIRE BLAST is the", $4f
 	db "ultimate fire", $55
 	db "technique!", $51
@@ -124237,7 +125462,7 @@
 	db "water #MON!", $57
 ; 0xa08fd + 73 bytes
 
-_UnnamedText_75925: ; 0xa0946
+_UnnamedText_75925: ; a0946 (28:4946)
 	db $0, "Hah!", $51
 	db "The VOLCANOBADGE", $4f
 	db "heightens the", $55
@@ -124247,7 +125472,7 @@
 	db "have this too!", $57
 ; 0xa0946 + 98 bytes
 
-_ReceivedTM38Text: ; 0xa09a8
+_ReceivedTM38Text: ; a09a8 (28:49a8)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -124254,7 +125479,7 @@
 	db $0, "!@@"
 ; 0xa09bc
 
-_TM38ExplanationText: ; 0xa09bc
+_TM38ExplanationText: ; a09bc (28:49bc)
 	db $0, $51
 	db "TM38 contains", $4f
 	db "FIRE BLAST!", $51
@@ -124265,23 +125490,23 @@
 	db "good bets!", $57
 ; 0xa09bc + 98 bytes
 
-_TM38NoRoomText: ; 0xa0a1e
+_TM38NoRoomText: ; a0a1e (28:4a1e)
 	db $0, "Make room for my", $4f
 	db "gift!", $57
 ; 0xa0a1e + 24 bytes
 
-_UnnamedText_7595f: ; 0xa0a36
+_UnnamedText_7595f: ; a0a36 (28:4a36)
 	db $0, "Do you know how", $4f
 	db "hot #MON fire", $55
 	db "breath can get?", $57
 ; 0xa0a36 + 47 bytes
 
-_UnnamedText_75964: ; 0xa0a65
+_UnnamedText_75964: ; a0a65 (28:4a65)
 	db $0, "Yow!", $4f
 	db "Hot, hot, hot!", $58
 ; 0xa0a65 + 21 bytes
 
-_UnnamedText_75969: ; 0xa0a7a
+_UnnamedText_75969: ; a0a7a (28:4a7a)
 	db $0, "Fire, or to be", $4f
 	db "more precise,", $55
 	db "combustion...", $51
@@ -124289,66 +125514,66 @@
 	db "blah...", $57
 ; 0xa0a7a + 70 bytes
 
-_UnnamedText_75994: ; 0xa0ac0
+_UnnamedText_75994: ; a0ac0 (28:4ac0)
 	db $0, "I was a thief, but", $4f
 	db "I became straight", $55
 	db "as a trainer!", $57
 ; 0xa0ac0 + 52 bytes
 
-_UnnamedText_75999: ; 0xa0af4
+_UnnamedText_75999: ; a0af4 (28:4af4)
 	db $0, "I", $4f
 	db "surrender!", $58
 ; 0xa0af4 + 14 bytes
 
-_UnnamedText_7599e: ; 0xa0b02
+_UnnamedText_7599e: ; a0b02 (28:4b02)
 	db $0, "I can't help", $4f
 	db "stealing other", $55
 	db "people's #MON!", $57
 ; 0xa0b02 + 42 bytes
 
-_UnnamedText_759c9: ; 0xa0b2c
+_UnnamedText_759c9: ; a0b2c (28:4b2c)
 	db $0, "You can't win!", $4f
 	db "I have studied", $55
 	db "#MON totally!", $57
 ; 0xa0b2c + 44 bytes
 
-_UnnamedText_759ce: ; 0xa0b58
+_UnnamedText_759ce: ; a0b58 (28:4b58)
 	db $0, "Waah!", $4f
 	db "My studies!", $58
 ; 0xa0b58 + 19 bytes
 
-_UnnamedText_759d3: ; 0xa0b6b
+_UnnamedText_759d3: ; a0b6b (28:4b6b)
 	db $0, "My theories are", $4f
 	db "too complicated", $55
 	db "for you!", $57
 ; 0xa0b6b + 42 bytes
 
-_UnnamedText_759fe: ; 0xa0b95
+_UnnamedText_759fe: ; a0b95 (28:4b95)
 	db $0, "I just like using", $4f
 	db "fire #MON!", $57
 ; 0xa0b95 + 30 bytes
 
-_UnnamedText_75a03: ; 0xa0bb3
+_UnnamedText_75a03: ; a0bb3 (28:4bb3)
 	db $0, "Too hot", $4f
 	db "to handle!", $58
 ; 0xa0bb3 + 20 bytes
 
-_UnnamedText_75a08: ; 0xa0bc7
+_UnnamedText_75a08: ; a0bc7 (28:4bc7)
 	db $0, "I wish there was", $4f
 	db "a thief #MON!", $55
 	db "I'd use that!", $57
 ; 0xa0bc7 + 45 bytes
 
-_UnnamedText_75a33: ; 0xa0bf4
+_UnnamedText_75a33: ; a0bf4 (28:4bf4)
 	db $0, "I know why BLAINE", $4f
 	db "became a trainer!", $57
 ; 0xa0bf4 + 37 bytes
 
-_UnnamedText_75a38: ; 0xa0c19
+_UnnamedText_75a38: ; a0c19 (28:4c19)
 	db $0, "Ow!", $58
 ; 0xa0c19 + 5 bytes
 
-_UnnamedText_75a3d: ; 0xa0c1e
+_UnnamedText_75a3d: ; a0c1e (28:4c1e)
 	db $0, "BLAINE was lost", $4f
 	db "in the mountains", $55
 	db "when a fiery bird", $55
@@ -124358,40 +125583,40 @@
 	db "his way down!", $57
 ; 0xa0c1e + 114 bytes
 
-_UnnamedText_75a68: ; 0xa0c90
+_UnnamedText_75a68: ; a0c90 (28:4c90)
 	db $0, "I've been to many", $4f
 	db "GYMs, but this is", $55
 	db "my favorite!", $57
 ; 0xa0c90 + 49 bytes
 
-_UnnamedText_75a6d: ; 0xa0cc1
+_UnnamedText_75a6d: ; a0cc1 (28:4cc1)
 	db $0, "Yowza!", $4f
 	db "Too hot!", $58
 ; 0xa0cc1 + 17 bytes
 
-_UnnamedText_75a72: ; 0xa0cd2
+_UnnamedText_75a72: ; a0cd2 (28:4cd2)
 	db $0, "Us fire #MON", $4f
 	db "fans like PONYTA", $55
 	db "and NINETALES!", $57
 ; 0xa0cd2 + 46 bytes
 
-_UnnamedText_75a9d: ; 0xa0d00
+_UnnamedText_75a9d: ; a0d00 (28:4d00)
 	db $0, "Fire is weak", $4f
 	db "against H2O!", $57
 ; 0xa0d00 + 27 bytes
 
-_UnnamedText_75aa2: ; 0xa0d1b
+_UnnamedText_75aa2: ; a0d1b (28:4d1b)
 	db $0, "Oh!", $4f
 	db "Snuffed out!", $58
 ; 0xa0d1b + 18 bytes
 
-_UnnamedText_75aa7: ; 0xa0d2d
+_UnnamedText_75aa7: ; a0d2d (28:4d2d)
 	db $0, "Water beats fire!", $4f
 	db "But, fire melts", $55
 	db "ice #MON!", $57
 ; 0xa0d2d + 45 bytes
 
-_UnnamedText_75ac2: ; 0xa0d5a
+_UnnamedText_75ac2: ; a0d5a (28:4d5a)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "The hot-headed", $4f
@@ -124403,12 +125628,12 @@
 	db "some BURN HEALs!", $57
 ; 0xa0d5a + 127 bytes
 
-_UnnamedText_75ac7: ; 0xa0dd9
+_UnnamedText_75ac7: ; a0dd9 (28:4dd9)
 	db $0, $52, "! You beat", $4f
 	db "that fire brand!", $57
 ; 0xa0dd9 + 30 bytes
 
-_Lab1Text1: ; 0xa0df7
+_Lab1Text1: ; a0df7 (28:4df7)
 	db $0, "We study #MON", $4f
 	db "extensively here.", $51
 	db "People often bring", $4f
@@ -124415,24 +125640,24 @@
 	db "us rare #MON", $55
 	db "for examination.", $57
 
-_Lab1Text2: ; 0xa0e49
+_Lab1Text2: ; a0e49 (28:4e49)
 	db $0, "A photo of the", $4f
 	db "LAB's founder,", $55
 	db "DR.FUJI!", $57
 
-_Lab1Text3: ; 0xa0e70
+_Lab1Text3: ; a0e70 (28:4e70)
 	db $0, "#MON LAB", $4f
 	db "Meeting Room", $57
 
-_Lab1Text4: ; 0xa0e87
+_Lab1Text4: ; a0e87 (28:4e87)
 	db $0, "#MON LAB", $4f
 	db "R-and-D Room", $57
 
-_Lab1Text5: ; 0xa0e9e
+_Lab1Text5: ; a0e9e (28:4e9e)
 	db $0, "#MON LAB", $4f
 	db "Testing Room", $57
 
-_Lab2Text1: ; 0xa0eb5
+_Lab2Text1: ; a0eb5 (28:4eb5)
 	db $0, "I found this very", $4f
 	db "strange fossil in", $55
 	db "MT.MOON!", $51
@@ -124440,7 +125665,7 @@
 	db "rare, prehistoric", $55
 	db "#MON!", $57
 
-_TM35PreReceiveText: ; 0xa0f09
+_TM35PreReceiveText: ; a0f09 (28:4f09)
 	db $0, "Tch-tch-tch!", $4f
 	db "I made a cool TM!", $51
 	db "It can cause all", $4f
@@ -124447,7 +125672,7 @@
 	db "kinds of fun!", $58
 ; 0xa0f09 + 63 bytes
 
-_ReceivedTM35Text: ; 0xa0f48
+_ReceivedTM35Text: ; a0f48 (28:4f48)
 	db $0, $52, " received ", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -124454,7 +125679,7 @@
 	db $0, "!@@"
 ; 0xa0f5d
 
-_TM35ExplanationText: ; 0xa0f5d
+_TM35ExplanationText: ; a0f5d (28:4f5d)
 	db $0, "Tch-tch-tch!", $4f
 	db "That's the sound", $55
 	db "of a METRONOME!", $51
@@ -124464,17 +125689,17 @@
 	db "it doesn't know!", $57
 ; 0xa0f5d + 106 bytes
 
-_TM35NoRoomText: ; 0xa0fc7
+_TM35NoRoomText: ; a0fc7 (28:4fc7)
 	db $0, "Your pack is", $4f
 	db "crammed full!", $57
 ; 0xa0fc7 + 28 bytes
 
-_Lab3Text2: ; 0xa0fe3
+_Lab3Text2: ; a0fe3 (28:4fe3)
 	db $0, "EEVEE can evolve", $4f
 	db "into 1 of 3 kinds", $55
 	db "of #MON.", $57
 
-_Lab3Text3: ; 0xa1010
+_Lab3Text3: ; a1010 (28:5010)
 	db $0, "There's an e-mail", $4f
 	db "message!", $51
 	db "...", $51
@@ -124491,10 +125716,10 @@
 	db "RESEARCH TEAM", $51
 	db "...", $57
 
-_Lab3Text5: ; 0xa10d8
+_Lab3Text5: ; a10d8 (28:50d8)
 	db $0, "An amber pipe!", $57
 
-_UnnamedText_75dc6: ; 0xa10e8
+_UnnamedText_75dc6: ; a10e8 (28:50e8)
 	db $0, "Hiya!", $51
 	db "I am important", $4f
 	db "doctor!", $51
@@ -124504,11 +125729,11 @@
 	db "fossil for me?", $58
 ; 0xa10e8 + 93 bytes
 
-_UnnamedText_75dcb: ; 0xa1145
+_UnnamedText_75dcb: ; a1145 (28:5145)
 	db $0, "No! Is too bad!", $57
 ; 0xa1145 + 17 bytes
 
-_UnnamedText_75dd0: ; 0xa1156
+_UnnamedText_75dd0: ; a1156 (28:5156)
 	db $0, "I take a little", $4f
 	db "time!", $51
 	db "You go for walk a", $4f
@@ -124515,7 +125740,7 @@
 	db "little while!", $57
 ; 0xa1156 + 55 bytes
 
-_UnnamedText_75dd5: ; 0xa118d
+_UnnamedText_75dd5: ; a118d (28:518d)
 	db $0, "Where were you?", $51
 	db "Your fossil is", $4f
 	db "back to life!", $51
@@ -124522,18 +125747,18 @@
 	db "It was @"
 ; 0xa118d + 54 bytes
 
-UnnamedText_a11c3: ; 0xa11c3
+UnnamedText_a11c3: ; a11c3 (28:51c3)
 	TX_RAM $cf4b
 	db $0, $4f
 	db "like I think!", $58
 ; 0xa11d6
 
-_UnnamedText_610ae: ; 0xa11d6
+_UnnamedText_610ae: ; a11d6 (28:51d6)
 	db $0, "Oh! That is", $4f
 	db "@"
 ; 0xa11d6 + 14 bytes
 
-UnnamedText_a11e4: ; 0xa11e4
+UnnamedText_a11e4: ; a11e4 (28:51e4)
 	TX_RAM $cd6d
 	db $0, "!", $51
 	db "It is fossil of", $4f
@@ -124548,7 +125773,7 @@
 	db "again!", $57
 ; 0xa1259
 
-_UnnamedText_610b3: ; 0xa1259
+_UnnamedText_610b3: ; a1259 (28:5259)
 	db $0, "So! You hurry and", $4f
 	db "give me that!", $51
 	db $52, " handed", $4f
@@ -124557,7 +125782,7 @@
 	db $0, "!", $58
 ; 0xa128f
 
-_UnnamedText_610b8: ; 0xa128f
+_UnnamedText_610b8: ; a128f (28:528f)
 	db $0, "I take a little", $4f
 	db "time!", $51
 	db "You go for walk a", $4f
@@ -124564,13 +125789,13 @@
 	db "little while!", $57
 ; 0xa128f + 55 bytes
 
-_UnnamedText_610bd: ; 0xa12c6
+_UnnamedText_610bd: ; a12c6 (28:52c6)
 	db $0, "Aiyah! You come", $4f
 	db "again!", $57
 ; 0xa12c6 + 24 bytes
 
-_CinnabarPokecenterText2:
-_CinnabarPokecenterText1: ; 0xa12de
+_CinnabarPokecenterText2: ; a12de (28:52de)
+_CinnabarPokecenterText1: ; a12de (28:52de)
 	db $0, "You can cancel", $4f
 	db "evolution.", $51
 	db "When a #MON is", $4f
@@ -124578,7 +125803,7 @@
 	db "stop it and leave", $55
 	db "it the way it is.", $57
 
-_CinnabarPokecenterText3: ; 0xa133e
+_CinnabarPokecenterText3: ; a133e (28:533e)
 	db $0, "Do you have any", $4f
 	db "friends?", $51
 	db "#MON you get", $4f
@@ -124587,16 +125812,16 @@
 	db "I think it's", $4f
 	db "worth a try!", $57
 
-_CinnabarMartText2: ; 0xa139b
+_CinnabarMartText2: ; a139b (28:539b)
 	db $0, "Don't they have X", $4f
 	db "ATTACK? It's good", $55
 	db "for battles!", $57
 
-_CinnabarMartText3: ; 0xa13cb
+_CinnabarMartText3: ; a13cb (28:53cb)
 	db $0, "It never hurts to", $4f
 	db "have extra items!", $57
 
-_IndigoPlateauLobbyText1: ; 0xa13f0
+_IndigoPlateauLobbyText1: ; a13f0 (28:53f0)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "At #MON LEAGUE,", $4f
@@ -124608,7 +125833,7 @@
 	db "over again! This", $55
 	db "is it! Go for it!", $57
 
-_IndigoPlateauLobbyText3: ; 0xa148b
+_IndigoPlateauLobbyText3: ; a148b (28:548b)
 	db $0, "From here on, you", $4f
 	db "face the ELITE", $55
 	db "FOUR one by one!", $51
@@ -124617,13 +125842,13 @@
 	db "next trainer!", $55
 	db "Good luck!", $57
 
-_CopycatsHouseF1Text1: ; 0xa14f7
+_CopycatsHouseF1Text1: ; a14f7 (28:54f7)
 	db $0, "My daughter is so", $4f
 	db "self-centered.", $55
 	db "She only has a", $55
 	db "few friends.", $57
 
-_CopycatsHouseF1Text2: ; 0xa1535
+_CopycatsHouseF1Text2: ; a1535 (28:5535)
 	db $0, "My daughter likes", $4f
 	db "to mimic people.", $51
 	db "Her mimicry has", $4f
@@ -124631,11 +125856,11 @@
 	db "nickname COPYCAT", $55
 	db "around here!", $57
 
-_CopycatsHouseF1Text3: ; 0xa1596
+_CopycatsHouseF1Text3: ; a1596 (28:5596)
 	db $0, "CHANSEY: Chaan!", $4f
 	db "Sii!@@"
 
-_UnnamedText_5ccd4: ; 0xa15ad
+_UnnamedText_5ccd4: ; a15ad (28:55ad)
 	db $0, $52, ": Hi! Do", $4f
 	db "you like #MON?", $51
 	db $52, ": Uh no, I", $4f
@@ -124648,7 +125873,7 @@
 	db "favorite hobby!", $58
 ; 0xa15ad + 137 bytes
 
-_TM31PreReceiveText: ; 0xa1636
+_TM31PreReceiveText: ; a1636 (28:5636)
 	db $0, "Oh wow!", $4f
 	db "A # DOLL!", $51
 	db "For me?", $4f
@@ -124657,7 +125882,7 @@
 	db "this, then!", $58
 ; 0xa1636 + 63 bytes
 
-_ReceivedTM31Text: ; 0xa1675
+_ReceivedTM31Text: ; a1675 (28:5675)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -124664,7 +125889,7 @@
 	db $0, "!@@"
 ; 0xa1689
 
-_TM31ExplanationText1: ; 0xa1689
+_TM31ExplanationText1: ; a1689 (28:5689)
 	db $0, $51
 	db "TM31 contains my", $4f
 	db "favorite, MIMIC!", $51
@@ -124672,7 +125897,7 @@
 	db "#MON!@@"
 ; 0xa16c5
 
-_TM31ExplanationText2: ; 0xa16c5
+_TM31ExplanationText2: ; a16c5 (28:56c5)
 	db $0, $52, ": Hi!", $4f
 	db "Thanks for TM31!", $51
 	db $52, ": Pardon?", $51
@@ -124683,12 +125908,12 @@
 	db "It's a scream!", $57
 ; 0xa16c5 + 110 bytes
 
-_TM31NoRoomText: ; 0xa1733
+_TM31NoRoomText: ; a1733 (28:5733)
 	db $0, "Don't you want", $4f
 	db "this?@@"
 ; 0xa1749
 
-_CopycatsHouseF2Text2: ; 0xa1749
+_CopycatsHouseF2Text2: ; a1749 (28:5749)
 	db $0, "DODUO: Giiih!", $51
 	db "MIRROR MIRROR ON", $4f
 	db "THE WALL, WHO IS", $55
@@ -124695,17 +125920,17 @@
 	db "THE FAIREST ONE", $55
 	db "OF ALL?", $57
 
-_CopycatsHouseF2Text3: ; 0xa1792
+_CopycatsHouseF2Text3: ; a1792 (28:5792)
 	db $0, "This is a rare", $4f
 	db "#MON! Huh?", $55
 	db "It's only a doll!", $57
 
-_CopycatsHouseF2Text6: ; 0xa17be
+_CopycatsHouseF2Text6: ; a17be (28:57be)
 	db $0, "A game with MARIO", $4f
 	db "wearing a bucket", $55
 	db "on his head!", $57
 
-_UnnamedText_5cd17: ; 0xa17ef
+_UnnamedText_5cd17: ; a17ef (28:57ef)
 	db $0, "...", $51
 	db "My Secrets!", $51
 	db "Skill: Mimicry!", $4f
@@ -124715,11 +125940,11 @@
 	db "CLEFAIRY!", $57
 ; 0xa17ef + 83 bytes
 
-_UnnamedText_5cd1c: ; 0xa1842
+_UnnamedText_5cd1c: ; a1842 (28:5842)
 	db $0, "Huh? Can't see!", $57
 ; 0xa1842 + 16 bytes
 
-_UnnamedText_5ce8e: ; 0xa1852
+_UnnamedText_5ce8e: ; a1852 (28:5852)
 	db $0, "Grunt!", $51
 	db "I am the KARATE", $4f
 	db "MASTER! I am the", $55
@@ -124730,12 +125955,12 @@
 	db "Fwaaa!", $57
 ; 0xa1852 + 104 bytes
 
-_UnnamedText_5ce93: ; 0xa18ba
+_UnnamedText_5ce93: ; a18ba (28:58ba)
 	db $0, "Hwa!", $4f
 	db "Arrgh! Beaten!", $58
 ; 0xa18ba + 21 bytes
 
-_UnnamedText_5ce98: ; 0xa18cf
+_UnnamedText_5ce98: ; a18cf (28:58cf)
 	db $0, "Indeed, I have", $4f
 	db "lost!", $51
 	db "But, I beseech", $4f
@@ -124749,23 +125974,23 @@
 	db "one you like!", $57
 ; 0xa18cf + 163 bytes
 
-_UnnamedText_5ce9d: ; 0xa1972
+_UnnamedText_5ce9d: ; a1972 (28:5972)
 	db $0, "Ho!", $51
 	db "Stay and train at", $4f
 	db "Karate with us!", $57
 ; 0xa1972 + 39 bytes
 
-_FightingDojoBattleText1: ; 0xa1999
+_FightingDojoBattleText1: ; a1999 (28:5999)
 	db $0, "Hoargh! Take your", $4f
 	db "shoes off!", $57
 ; 0xa1999 + 30 bytes
 
-_FightingDojoEndBattleText1: ; 0xa19b7
+_FightingDojoEndBattleText1: ; a19b7 (28:59b7)
 	db $0, "I give", $4f
 	db "up!", $58
 ; 0xa19b7 + 12 bytes
 
-_FightingDojoAfterBattleText1: ; 0xa19c3
+_FightingDojoAfterBattleText1: ; a19c3 (28:59c3)
 	db $0, "You wait 'til you", $4f
 	db "see our Master!", $51
 	db "I'm a small fry", $4f
@@ -124772,22 +125997,22 @@
 	db "compared to him!", $57
 ; 0xa19c3 + 66 bytes
 
-_FightingDojoBattleText2: ; 0xa1a05
+_FightingDojoBattleText2: ; a1a05 (28:5a05)
 	db $0, "I hear you're", $4f
 	db "good! Show me!", $57
 ; 0xa1a05 + 29 bytes
 
-_FightingDojoEndBattleText2: ; 0xa1a22
+_FightingDojoEndBattleText2: ; a1a22 (28:5a22)
 	db $0, "Judge!", $4f
 	db "1 point!", $58
 ; 0xa1a22 + 17 bytes
 
-_FightingDojoAfterBattleText2: ; 0xa1a33
+_FightingDojoAfterBattleText2: ; a1a33 (28:5a33)
 	db $0, "Our Master is a", $4f
 	db "pro fighter!", $57
 ; 0xa1a33 + 30 bytes
 
-_FightingDojoBattleText3: ; 0xa1a51
+_FightingDojoBattleText3: ; a1a51 (28:5a51)
 	db $0, "Nothing tough", $4f
 	db "frightens me!", $51
 	db "I break boulders", $4f
@@ -124794,18 +126019,18 @@
 	db "for training!", $57
 ; 0xa1a51 + 60 bytes
 
-_FightingDojoEndBattleText3: ; 0xa1a8d
+_FightingDojoEndBattleText3: ; a1a8d (28:5a8d)
 	db $0, "Yow!", $4f
 	db "Stubbed fingers!", $58
 ; 0xa1a8d + 23 bytes
 
-_FightingDojoAfterBattleText3: ; 0xa1aa4
+_FightingDojoAfterBattleText3: ; a1aa4 (28:5aa4)
 	db $0, "The only thing", $4f
 	db "that frightens us", $55
 	db "is psychic power!", $57
 ; 0xa1aa4 + 52 bytes
 
-_FightingDojoBattleText4: ; 0xa1ad8
+_FightingDojoBattleText4: ; a1ad8 (28:5ad8)
 	db $0, "Hoohah!", $51
 	db "You're trespassing", $4f
 	db "in our FIGHTING", $55
@@ -124812,35 +126037,35 @@
 	db "DOJO!", $57
 ; 0xa1ad8 + 49 bytes
 
-_FightingDojoEndBattleText4: ; 0xa1b09
+_FightingDojoEndBattleText4: ; a1b09 (28:5b09)
 	db $0, "Oof!", $4f
 	db "I give up!", $58
 ; 0xa1b09 + 17 bytes
 
-_FightingDojoAfterBattleText4: ; 0xa1b1a
+_FightingDojoAfterBattleText4: ; a1b1a (28:5b1a)
 	db $0, "The prime fighters", $4f
 	db "across the land", $55
 	db "train here.", $57
 ; 0xa1b1a + 48 bytes
 
-_UnnamedText_5cf49: ; 0xa1b4a
+_UnnamedText_5cf49: ; a1b4a (28:5b4a)
 	db $0, "You want the", $4f
 	db "hard kicking", $55
 	db "HITMONLEE?", $57
 ; 0xa1b4a + 38 bytes
 
-_UnnamedText_5cf91: ; 0xa1b70
+_UnnamedText_5cf91: ; a1b70 (28:5b70)
 	db $0, "You want the", $4f
 	db "piston punching", $55
 	db "HITMONCHAN?", $57
 ; 0xa1b70 + 42 bytes
 
-_UnnamedText_5cf96: ; 0xa1b9a
+_UnnamedText_5cf96: ; a1b9a (28:5b9a)
 	db $0, "Better not get", $4f
 	db "greedy...", $57
 ; 0xa1b9a + 26 bytes
 
-_UnnamedText_5d162: ; 0xa1bb4
+_UnnamedText_5d162: ; a1bb4 (28:5bb4)
 	db $0, "I had a vision of", $4f
 	db "your arrival!", $51
 	db "I have had psychic", $4f
@@ -124855,7 +126080,7 @@
 	db "you my powers!", $57
 ; 0xa1bb4 + 191 bytes
 
-_UnnamedText_5d167: ; 0xa1c73
+_UnnamedText_5d167: ; a1c73 (28:5c73)
 	db $0, "I'm", $4f
 	db "shocked!", $55
 	db "But, a loss is a", $55
@@ -124867,7 +126092,7 @@
 	db "MARSHBADGE!@@"
 ; 0xa1cdc
 
-_UnnamedText_5d16e: ; 0xa1cdc
+_UnnamedText_5d16e: ; a1cdc (28:5cdc)
 	db $0, "Everyone has", $4f
 	db "psychic power!", $55
 	db "People just don't", $55
@@ -124874,7 +126099,7 @@
 	db "realize it!", $57
 ; 0xa1cdc + 58 bytes
 
-_UnnamedText_5d173: ; 0xa1d16
+_UnnamedText_5d173: ; a1d16 (28:5d16)
 	db $0, "The MARSHBADGE", $4f
 	db "makes #MON up", $55
 	db "to L70 obey you!", $51
@@ -124889,12 +126114,12 @@
 	db "this TM with you!", $57
 ; 0xa1d16 + 183 bytes
 
-ReceivedTM46Text: ; 0xa1dcd
+ReceivedTM46Text: ; a1dcd (28:5dcd)
 	db $0, $52, " received", $4f
 	db "TM46!@@"
 ; 0xa1de0
 
-_TM46ExplanationText: ; 0xa1de0
+_TM46ExplanationText: ; a1de0 (28:5de0)
 	db $0, $51
 	db "TM46 is PSYWAVE!", $4f
 	db "It uses powerful", $55
@@ -124902,12 +126127,12 @@
 	db "inflict damage!", $57
 ; 0xa1de0 + 69 bytes
 
-_TM46NoRoomText: ; 0xa1e25
+_TM46NoRoomText: ; a1e25 (28:5e25)
 	db $0, "Your pack is full", $4f
 	db "of other items!", $57
 ; 0xa1e25 + 35 bytes
 
-_UnnamedText_5d1e6: ; 0xa1e48
+_UnnamedText_5d1e6: ; a1e48 (28:5e48)
 	db $0, "Yo! Champ in", $4f
 	db "making!", $51
 	db "SABRINA's #MON", $4f
@@ -124921,7 +126146,7 @@
 	db "even aim a punch!", $57
 ; 0xa1e48 + 168 bytes
 
-_UnnamedText_5d1eb: ; 0xa1ef0
+_UnnamedText_5d1eb: ; a1ef0 (28:5ef0)
 	db $0, "Psychic power,", $4f
 	db "huh?", $51
 	db "If I had that,", $4f
@@ -124929,18 +126154,18 @@
 	db "at the slots!", $57
 ; 0xa1ef0 + 67 bytes
 
-_SaffronGymBattleText1: ; 0xa1f33
+_SaffronGymBattleText1: ; a1f33 (28:5f33)
 	db $0, "SABRINA is younger", $4f
 	db "than I, but I", $55
 	db "respect her!", $57
 ; 0xa1f33 + 47 bytes
 
-_SaffronGymEndBattleText1: ; 0xa1f62
+_SaffronGymEndBattleText1: ; a1f62 (28:5f62)
 	db $0, "Not", $4f
 	db "good enough!", $58
 ; 0xa1f62 + 18 bytes
 
-_SaffronGymAfterBattleText1: ; 0xa1f74
+_SaffronGymAfterBattleText1: ; a1f74 (28:5f74)
 	db $0, "In a battle of", $4f
 	db "equals, the one", $55
 	db "with the stronger", $55
@@ -124950,23 +126175,23 @@
 	db "focus on winning!", $57
 ; 0xa1f74 + 108 bytes
 
-_SaffronGymBattleText2: ; 0xa1fe0
+_SaffronGymBattleText2: ; a1fe0 (28:5fe0)
 	db $0, "Does our unseen", $4f
 	db "power scare you?", $57
 ; 0xa1fe0 + 34 bytes
 
-_SaffronGymEndBattleText2: ; 0xa2002
+_SaffronGymEndBattleText2: ; a2002 (28:6002)
 	db $0, "I never", $4f
 	db "foresaw this!", $58
 ; 0xa2002 + 23 bytes
 
-_SaffronGymAfterBattleText2: ; 0xa2019
+_SaffronGymAfterBattleText2: ; a2019 (28:6019)
 	db $0, "Psychic #MON", $4f
 	db "fear only ghosts", $55
 	db "and bugs!", $57
 ; 0xa2019 + 41 bytes
 
-_SaffronGymBattleText3: ; 0xa2042
+_SaffronGymBattleText3: ; a2042 (28:6042)
 	db $0, "#MON take on", $4f
 	db "the appearance of", $55
 	db "their trainers.", $51
@@ -124974,52 +126199,52 @@
 	db "be tough, then!", $57
 ; 0xa2042 + 79 bytes
 
-_SaffronGymEndBattleText3: ; 0xa2091
+_SaffronGymEndBattleText3: ; a2091 (28:6091)
 	db $0, "I knew", $4f
 	db "it!", $58
 ; 0xa2091 + 12 bytes
 
-_SaffronGymAfterBattleText3: ; 0xa209d
+_SaffronGymAfterBattleText3: ; a209d (28:609d)
 	db $0, "I must teach", $4f
 	db "better techniques", $55
 	db "to my #MON!", $57
 ; 0xa209d + 44 bytes
 
-_SaffronGymBattleText4: ; 0xa20c9
+_SaffronGymBattleText4: ; a20c9 (28:60c9)
 	db $0, "You know that", $4f
 	db "power alone isn't", $55
 	db "enough!", $57
 ; 0xa20c9 + 40 bytes
 
-_SaffronGymEndBattleText4: ; 0xa20f1
+_SaffronGymEndBattleText4: ; a20f1 (28:60f1)
 	db $0, "I don't", $4f
 	db "believe this!", $58
 ; 0xa20f1 + 22 bytes
 
-_SaffronGymAfterBattleText4: ; 0xa2107
+_SaffronGymAfterBattleText4: ; a2107 (28:6107)
 	db $0, "SABRINA just wiped", $4f
 	db "out the KARATE", $55
 	db "MASTER next door!", $57
 ; 0xa2107 + 53 bytes
 
-_SaffronGymBattleText5: ; 0xa213c
+_SaffronGymBattleText5: ; a213c (28:613c)
 	db $0, "You and I, our", $4f
 	db "#MON shall", $55
 	db "fight!", $57
 ; 0xa213c + 34 bytes
 
-_SaffronGymEndBattleText5: ; 0xa215e
+_SaffronGymEndBattleText5: ; a215e (28:615e)
 	db $0, "I lost", $4f
 	db "after all!", $58
 ; 0xa215e + 19 bytes
 
-_SaffronGymAfterBattleText5: ; 0xa2171
+_SaffronGymAfterBattleText5: ; a2171 (28:6171)
 	db $0, "I knew that this", $4f
 	db "was going to take", $55
 	db "place.", $57
 ; 0xa2171 + 43 bytes
 
-_SaffronGymBattleText6: ; 0xa219c
+_SaffronGymBattleText6: ; a219c (28:619c)
 	db $0, "SABRINA is young,", $4f
 	db "but she's also", $55
 	db "our LEADER!", $51
@@ -125027,12 +126252,12 @@
 	db "her easily!", $57
 ; 0xa219c + 72 bytes
 
-_SaffronGymEndBattleText6: ; 0xa21e4
+_SaffronGymEndBattleText6: ; a21e4 (28:61e4)
 	db $0, "I lost", $4f
 	db "my concentration!", $58
 ; 0xa21e4 + 26 bytes
 
-_SaffronGymAfterBattleText6: ; 0xa21fe
+_SaffronGymAfterBattleText6: ; a21fe (28:61fe)
 	db $0, "There used to be", $4f
 	db "2 #MON GYMs in", $55
 	db "SAFFRON.", $51
@@ -125043,7 +126268,7 @@
 	db "creamed them!", $57
 ; 0xa21fe + 121 bytes
 
-_SaffronGymBattleText7: ; 0xa2277
+_SaffronGymBattleText7: ; a2277 (28:6277)
 	db $0, "SAFFRON #MON", $4f
 	db "GYM is famous for", $55
 	db "its psychics!", $51
@@ -125052,17 +126277,17 @@
 	db "I can tell!", $57
 ; 0xa2277 + 83 bytes
 
-_SaffronGymEndBattleText7: ; 0xa22ca
+_SaffronGymEndBattleText7: ; a22ca (28:62ca)
 	db $0, "Arrrgh!", $58
 ; 0xa22ca + 9 bytes
 
-_SaffronGymAfterBattleText7: ; 0xa22d3
+_SaffronGymAfterBattleText7: ; a22d3 (28:62d3)
 	db $0, "That's right! I", $4f
 	db "used telepathy to", $55
 	db "read your mind!", $57
 ; 0xa22d3 + 50 bytes
 
-_SaffronHouse1Text1: ; 0xa2305
+_SaffronHouse1Text1: ; a2305 (28:6305)
 	db $0, "Thank you for", $4f
 	db "writing. I hope", $55
 	db "to see you soon!", $51
@@ -125069,15 +126294,15 @@
 	db "Hey! Don't look", $4f
 	db "at my letter!", $57
 
-_SaffronHouse1Text2: ; 0xa2352
+_SaffronHouse1Text2: ; a2352 (28:6352)
 	db $0, "PIDGEY: Kurukkoo!@@"
 
-_SaffronHouse1Text3: ; 0xa2366
+_SaffronHouse1Text3: ; a2366 (28:6366)
 	db $0, "The COPYCAT is", $4f
 	db "cute! I'm getting", $55
 	db "her a # DOLL!", $57
 
-_SaffronHouse1Text4: ; 0xa2395
+_SaffronHouse1Text4: ; a2395 (28:6395)
 	db $0, "I was given a PP", $4f
 	db "UP as a gift.", $51
 	db "It's used for", $4f
@@ -125084,7 +126309,7 @@
 	db "increasing the PP", $55
 	db "of techniques!", $57
 
-_SaffronMartText2: ; 0xa23e3
+_SaffronMartText2: ; a23e3 (28:63e3)
 	db $0, "MAX REPEL lasts", $4f
 	db "longer than SUPER", $55
 	db "REPEL for keeping", $55
@@ -125091,35 +126316,35 @@
 	db "weaker #MON", $55
 	db "away!", $57
 
-_SaffronMartText3: ; 0xa242a
+_SaffronMartText3: ; a242a (28:642a)
 	db $0, "REVIVE is costly,", $4f
 	db "but it revives", $55
 	db "fainted #MON!", $57
 
-_SilphCo1Text1: ; 0xa245a
+_SilphCo1Text1: ; a245a (28:645a)
 	db $0, "Welcome!", $51
 	db "The PRESIDENT is", $4f
 	db "in the boardroom", $55
 	db "on 11F!", $57
 
-_SaffronPokecenterText1: ; 0xa248e
+_SaffronPokecenterText1: ; a248e (28:648e)
 	db $0, "#MON growth", $4f
 	db "rates differ from", $55
 	db "specie to specie.", $57
 
-_SaffronPokecenterText3: ; 0xa24bf
+_SaffronPokecenterText3: ; a24bf (28:64bf)
 	db $0, "SILPH CO. is very", $4f
 	db "famous. That's", $55
 	db "why it attracted", $55
 	db "TEAM ROCKET!", $57
 
-_TM29PreReceiveText: ; 0xa24fe
+_TM29PreReceiveText: ; a24fe (28:64fe)
 	db $0, "...Wait! Don't", $4f
 	db "say a word!", $51
 	db "You wanted this!", $58
 ; 0xa24fe + 44 bytes
 
-_ReceivedTM29Text: ; 0xa252a
+_ReceivedTM29Text: ; a252a (28:652a)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -125126,7 +126351,7 @@
 	db $0, "!@@"
 ; 0xa253e
 
-_TM29ExplanationText: ; 0xa253e
+_TM29ExplanationText: ; a253e (28:653e)
 	db $0, "TM29 is PSYCHIC!", $51
 	db "It can lower the", $4f
 	db "target's SPECIAL", $55
@@ -125133,22 +126358,22 @@
 	db "abilities.", $57
 ; 0xa253e + 62 bytes
 
-_TM29NoRoomText: ; 0xa257c
+_TM29NoRoomText: ; a257c (28:657c)
 	db $0, "Where do you plan", $4f
 	db "to put this?", $57
 ; 0xa257c + 32 bytes
 
-_PokemartGreetingText: ; 0xa259c
+_PokemartGreetingText: ; a259c (28:659c)
 	db $0, "Hi there!", $4e, "May I help you?", $57
 ; 0xa259c + 27 bytes
 
-_PokemonFaintedText: ; 0xa25b7
+_PokemonFaintedText: ; a25b7 (28:65b7)
 	TX_RAM $cd6d
 	db $0, $4f
 	db "fainted!", $57
 ; 0xa25b7 + 14 bytes
 
-_PlayerBlackedOutText: ; 0xa25c5
+_PlayerBlackedOutText: ; a25c5 (28:65c5)
 	db $0, $52, " is out of", $4f
 	db "useable #MON!", $51
 	db $52, " blacked", $4f
@@ -125155,16 +126380,16 @@
 	db "out!", $58
 ; 0xa25c5 + 42 bytes
 
-_RepelWoreOffText: ; 0xa25ef
+_RepelWoreOffText: ; a25ef (28:65ef)
 	db $0, "REPEL's effect", $4f
 	db "wore off.", $57
 ; 0xa25ef + 25 bytes
 
-_PokemartBuyingGreetingText: ; 0xa2608
+_PokemartBuyingGreetingText: ; a2608 (28:6608)
 	db $0, "Take your time.", $57
 ; 0xa2608 + 17 bytes
 
-_PokemartTellBuyPrice: ; 0xa2619
+_PokemartTellBuyPrice: ; a2619 (28:6619)
 	TX_RAM $cf4b
 	db $0, "?", $4f
 	db "That will be", $55
@@ -125173,27 +126398,27 @@
 	db $0, ". OK?", $57
 ; 0xa2639
 
-_PokemartBoughtItemText: ; 0xa2639
+_PokemartBoughtItemText: ; a2639 (28:6639)
 	db $0, "Here you are!", $4f
 	db "Thank you!", $58
 ; 0xa2639 + 26 bytes
 
-_PokemartNotEnoughMoneyText: ; 0xa2653
+_PokemartNotEnoughMoneyText: ; a2653 (28:6653)
 	db $0, "You don't have", $4f
 	db "enough money.", $58
 ; 0xa2653 + 29 bytes
 
-_PokemartItemBagFullText: ; 0xa2670
+_PokemartItemBagFullText: ; a2670 (28:6670)
 	db $0, "You can't carry", $4f
 	db "any more items.", $58
 ; 0xa2670 + 32 bytes
 
-_PokemonSellingGreetingText: ; 0xa2690
+_PokemonSellingGreetingText: ; a2690 (28:6690)
 	db $0, "What would you", $4f
 	db "like to sell?", $57
 ; 0xa2690 + 30 bytes
 
-_PokemartTellSellPrice: ; 0xa26ae
+_PokemartTellSellPrice: ; a26ae (28:66ae)
 	db $0, "I can pay you", $4f
 	db "¥@"
 	db $2, $9f, $ff, $c3 ; XXX
@@ -125200,51 +126425,51 @@
 	db $0, " for that.", $57
 ; 0xa26cf
 
-_PokemartItemBagEmptyText: ; 0xa26cf
+_PokemartItemBagEmptyText: ; a26cf (28:66cf)
 	db $0, "You don't have", $4f
 	db "anything to sell.", $58
 ; 0xa26cf + 33 bytes
 
-_PokemartUnsellableItemText: ; 0xa26f0
+_PokemartUnsellableItemText: ; a26f0 (28:66f0)
 	db $0, "I can't put a", $4f
 	db "price on that.", $58
 ; 0xa26f0 + 29 bytes
 
-_PokemartThankYouText: ; 0xa270d
+_PokemartThankYouText: ; a270d (28:670d)
 	db $0, "Thank you!", $57
 ; 0xa270d + 12 bytes
 
-_PokemartAnythingElseText: ; 0xa2719
+_PokemartAnythingElseText: ; a2719 (28:6719)
 	db $0, "Is there anything", $4f
 	db "else I can do?", $57
 ; 0xa2719 + 34 bytes
 
-UnnamedText_a273b: ; 0xa273b
+UnnamedText_a273b: ; a273b (28:673b)
 	TX_RAM $d036
 	db $0, " learned", $4f
 	db "@"
 ; 0xa2749
 
-UnnamedText_a2749: ; 0xa2749
+UnnamedText_a2749: ; a2749 (28:6749)
 	TX_RAM $cf4b
 	db $0, "!@@"
 ; 0xa2750
 
-_UnnamedText_6fb4: ; 0xa2750
+_UnnamedText_6fb4: ; a2750 (28:6750)
 	db $0, "Which move should", $4e, "be forgotten?", $57
 ; 0xa2750 + 33 bytes
 
-_UnnamedText_6fb9: ; 0xa2771
+_UnnamedText_6fb9: ; a2771 (28:6771)
 	db $0, "Abandon learning", $4f
 	db "@"
 ; 0xa2771 + 19 bytes
 
-UnnamedText_a2784: ; 0xa2784
+UnnamedText_a2784: ; a2784 (28:6784)
 	TX_RAM $cf4b
 	db $0, "?", $57
 ; 0xa278a
 
-_UnnamedText_6fbe: ; 0xa278a
+_UnnamedText_6fbe: ; a278a (28:678a)
 	TX_RAM $d036
 	db $0, $4f
 	db "did not learn", $55
@@ -125251,12 +126476,12 @@
 	db "@"
 ; 0xa278a + 20 bytes
 
-UnnamedText_a279e: ; 0xa279e
+UnnamedText_a279e: ; a279e (28:679e)
 	TX_RAM $cf4b
 	db $0, "!", $58
 ; 0xa27a4
 
-_UnnamedText_6fc3: ; 0xa27a4
+_UnnamedText_6fc3: ; a27a4 (28:67a4)
 	TX_RAM $d036
 	db $0, " is", $4f
 	db "trying to learn", $55
@@ -125263,7 +126488,7 @@
 	db "@"
 ; 0xa27a4 + 25 bytes
 
-UnnamedText_a27bd: ; 0xa27bd
+UnnamedText_a27bd: ; a27bd (28:67bd)
 	TX_RAM $cf4b
 	db $0, "!", $51
 	db "But, @"
@@ -125276,25 +126501,25 @@
 	db "for @"
 ; 0xa2813
 
-UnnamedText_a2813: ; 0xa2813
+UnnamedText_a2813: ; a2813 (28:6813)
 	TX_RAM $cf4b
 	db $0, "?", $57
 ; 0xa2819
 
-_UnnamedText_6fc8: ; 0xa2819
+_UnnamedText_6fc8: ; a2819 (28:6819)
 	db $0, "1, 2 and...@@"
 ; 0xa2827
 
-_UnnamedText_6fd7: ; 0xa2827
+_UnnamedText_6fd7: ; a2827 (28:6827)
 	db $0, " Poof!@@"
 ; 0xa2830
 
-_UnnamedText_6fdc: ; 0xa2830
+_UnnamedText_6fdc: ; a2830 (28:6830)
 	db $0, $51
 	db "@"
 ; 0xa2830 + 3 bytes
 
-UnnamedText_a2833: ; 0xa2833
+UnnamedText_a2833: ; a2833 (28:6833)
 	TX_RAM $d036
 	db $0, " forgot", $4f
 	db "@"
@@ -125303,12 +126528,12 @@
 	db "And...", $58
 ; 0xa284d
 
-_UnnamedText_6fe1: ; 0xa284d
+_UnnamedText_6fe1: ; a284d (28:684d)
 	db $0, "HM techniques", $4f
 	db "can't be deleted!", $58
 ; 0xa284d + 32 bytes
 
-_PokemonCenterWelcomeText: ; 0xa286d
+_PokemonCenterWelcomeText: ; a286d (28:686d)
 	db $0, "Welcome to our", $4f
 	db "#MON CENTER!", $51
 	db "We heal your", $4f
@@ -125316,28 +126541,28 @@
 	db "perfect health!", $58
 ; 0xa286d + 71 bytes
 
-_ShallWeHealYourPokemonText: ; 0xa28b4
+_ShallWeHealYourPokemonText: ; a28b4 (28:68b4)
 	db $0, "Shall we heal your", $4f
 	db "#MON?", $57
 ; 0xa28b4 + 26 bytes
 
-_NeedYourPokemonText: ; 0xa28ce
+_NeedYourPokemonText: ; a28ce (28:68ce)
 	db $0, "OK. We'll need", $4f
 	db "your #MON.", $57
 ; 0xa28ce + 26 bytes
 
-_PokemonFightingFitText: ; 0xa28e8
+_PokemonFightingFitText: ; a28e8 (28:68e8)
 	db $0, "Thank you!", $4f
 	db "Your #MON are", $55
 	db "fighting fit!", $58
 ; 0xa28e8 + 40 bytes
 
-_PokemonCenterFarewellText: ; 0xa2910
+_PokemonCenterFarewellText: ; a2910 (28:6910)
 	db $0, "We hope to see", $4f
 	db "you again!", $57
 ; 0xa2910 + 27 bytes
 
-_UnnamedText_72b3: ; 0xa292b
+_UnnamedText_72b3: ; a292b (28:692b)
 	db $0, "This area is", $4f
 	db "reserved for 2", $55
 	db "friends who are", $55
@@ -125344,12 +126569,12 @@
 	db "linked by cable.", $57
 ; 0xa292b + 62 bytes
 
-_UnnamedText_72b8: ; 0xa2969
+_UnnamedText_72b8: ; a2969 (28:6969)
 	db $0, "Welcome to the", $4f
 	db "Cable Club!", $57
 ; 0xa2969 + 28 bytes
 
-_UnnamedText_72bd: ; 0xa2985
+_UnnamedText_72bd: ; a2985 (28:6985)
 	db $0, "Please apply here.", $51
 	db "Before opening", $4f
 	db "the link, we have", $55
@@ -125356,11 +126581,11 @@
 	db "to save the game.", $57
 ; 0xa2985 + 71 bytes
 
-UnnamedText_a29cc: ; 0xa29cc
+UnnamedText_a29cc: ; a29cc (28:69cc)
 	db $0, "Please wait.@@"
 ; 0xa29b
 
-_UnnamedText_72c8: ; 0xa29db
+_UnnamedText_72c8: ; a29db (28:69db)
 	db $0, "The link has been", $4f
 	db "closed because of", $55
 	db "inactivity.", $51
@@ -125371,81 +126596,81 @@
 
 SECTION "bank29",DATA,BANK[$29]
 
-_UnnamedText_72cd: ; 0xa4000
+_UnnamedText_72cd: ; a4000 (29:4000)
 	db $0, "Please come again!", $57
 ; 0xa4000 + 20 bytes
 
-_UnnamedText_72d2: ; 0xa4014
+_UnnamedText_72d2: ; a4014 (29:4014)
 	db $0, "We're making", $4f
 	db "preparations.", $55
 	db "Please wait.", $57
 ; 0xa4014 + 40 bytes
 
-UnnamedText_a403c: ; 0xa403c
+UnnamedText_a403c: ; a403c (29:403c)
 	TX_RAM $cd6d
 	db $0, " used", $4f
 	db "STRENGTH.@@"
 ; 0xa4051
 
-_UnnamedText_cdbb: ; 0xa4051
+_UnnamedText_cdbb: ; a4051 (29:4051)
 	TX_RAM $cd6d
 	db $0, " can", $4f
 	db "move boulders.", $58
 ; 0xa4051 + 24 bytes
 
-_UnnamedText_cdfa: ; 0xa4069
+_UnnamedText_cdfa: ; a4069 (29:4069)
 	db $0, "The current is", $4f
 	db "much too fast!", $58
 ; 0xa4069 + 31 bytes
 
-_UnnamedText_cdff: ; 0xa4088
+_UnnamedText_cdff: ; a4088 (29:4088)
 	db $0, "Cycling is fun!", $4f
 	db "Forget SURFing!", $58
 ; 0xa4088 + 33 bytes
 
-_FlashLightsAreaText: ; 0xa40a9
+_FlashLightsAreaText: ; a40a9 (29:40a9)
 	db $0, "A blinding FLASH", $4f
 	db "lights the area!", $58
 ; 0xa40a9 + 35 bytes
 
-_WarpToLastPokemonCenterText: ; 0xa40cc
+_WarpToLastPokemonCenterText: ; a40cc (29:40cc)
 	db $0, "Warp to the last", $4f
 	db "#MON CENTER.", $57
 ; 0xa40cc + 31 bytes
 
-_CannotUseTeleportNowText: ; 0xa40eb
+_CannotUseTeleportNowText: ; a40eb (29:40eb)
 	TX_RAM $cd6d
 	db $0, " can't", $4f
 	db "use TELEPORT now.", $58
 ; 0xa40eb + 28 bytes
 
-_CannotFlyHereText: ; 0xa4107
+_CannotFlyHereText: ; a4107 (29:4107)
 	TX_RAM $cd6d
 	db $0, " can't", $4f
 	db "FLY here.", $58
 ; 0xa4107 + 20 bytes
 
-_NotHealthyEnoughText: ; 0xa411b
+_NotHealthyEnoughText: ; a411b (29:411b)
 	db $0, "Not healthy", $4f
 	db "enough.", $58
 ; 0xa411b + 21 bytes
 
-_NewBadgeRequiredText: ; 0xa4130
+_NewBadgeRequiredText: ; a4130 (29:4130)
 	db $0, "No! A new BADGE", $4f
 	db "is required.", $58
 ; 0xa4130 + 30 bytes
 
-_CannotUseItemsHereText: ; 0xa414e
+_CannotUseItemsHereText: ; a414e (29:414e)
 	db $0, "You can't use items", $4f
 	db "here.", $58
 ; 0xa414e + 26 bytes
 
-_CannotGetOffHereText: ; 0xa4168
+_CannotGetOffHereText: ; a4168 (29:4168)
 	db $0, "You can't get off", $4f
 	db "here.", $58
 ; 0xa4168 + 24 bytes
 
-UnnamedText_a4180: ; 0xa4180
+UnnamedText_a4180: ; a4180 (29:4180)
 	db $0, $52, " got", $4f
 	db "@"
 	TX_RAM $cd6d
@@ -125452,7 +126677,7 @@
 	db $0, "!@@"
 ; 0xa418f
 
-_UnnamedText_4fe3f: ; 0xa418f
+_UnnamedText_4fe3f: ; a418f (29:418f)
 	db $0, "There's no more", $4f
 	db "room for #MON!", $55
 	db "@"
@@ -125463,7 +126688,7 @@
 	TX_RAM $cf4b
 	db $0, " on PC!", $57
 
-_UnnamedText_4fe44: ; 0xa41d6
+_UnnamedText_4fe44: ; a41d6 (29:41d6)
 	db $0, "There's no more", $4f
 	db "room for #MON!", $51
 	db "The #MON BOX", $4f
@@ -125475,7 +126700,7 @@
 
 INCLUDE "text/mapPalletTown.tx"
 
-_ViridianCityText1:
+_ViridianCityText1: ; a43cc (29:43cc)
 	db $0, "Those # BALLs", $4f
 	db "at your waist!", $55
 	db "You have #MON!", $51
@@ -125484,7 +126709,7 @@
 	db "use #MON any", $55
 	db "time, anywhere!", $57
 
-_UnnamedText_19122: ; 0xa4437
+_UnnamedText_19122: ; a4437 (29:4437)
 	db $0, "This #MON GYM", $4f
 	db "is always closed.", $51
 	db "I wonder who the", $4f
@@ -125491,12 +126716,12 @@
 	db "LEADER is?", $57
 ; 0xa4437 + 61 bytes
 
-_UnnamedText_19127: ; 0xa4474
+_UnnamedText_19127: ; a4474 (29:4474)
 	db $0, "VIRIDIAN GYM's", $4f
 	db "LEADER returned!", $57
 ; 0xa4474 + 32 bytes
 
-_UnnamedText_1914d: ; 0xa4494
+_UnnamedText_1914d: ; a4494 (29:4494)
 	db $0, "You want to know", $4f
 	db "about the 2 kinds", $55
 	db "of caterpillar", $55
@@ -125503,11 +126728,11 @@
 	db "#MON?", $57
 ; 0xa4494 + 57 bytes
 
-_UnnamedText_19152: ; 0xa44cd
+_UnnamedText_19152: ; a44cd (29:44cd)
 	db $0, "Oh, OK then!", $57
 ; 0xa44cd + 14 bytes
 
-_UnnamedText_19157: ; 0xa44db
+_UnnamedText_19157: ; a44db (29:44db)
 	db $0, "CATERPIE has no", $4f
 	db "poison, but", $55
 	db "WEEDLE does.", $51
@@ -125515,7 +126740,7 @@
 	db "POISON STING!", $57
 ; 0xa44db + 74 bytes
 
-_UnnamedText_19175: ; 0xa4525
+_UnnamedText_19175: ; a4525 (29:4525)
 	db $0, "Oh Grandpa! Don't", $4f
 	db "be so mean!", $55
 	db "He hasn't had his", $55
@@ -125522,7 +126747,7 @@
 	db "coffee yet.", $57
 ; 0xa4525 + 59 bytes
 
-_UnnamedText_1917a: ; 0xa4560
+_UnnamedText_1917a: ; a4560 (29:4560)
 	db $0, "When I go shop in", $4f
 	db "PEWTER CITY, I", $55
 	db "have to take the", $55
@@ -125530,7 +126755,7 @@
 	db "VIRIDIAN FOREST.", $57
 ; 0xa4560 + 85 bytes
 
-_UnnamedText_19191: ; 0xa45b5
+_UnnamedText_19191: ; a45b5 (29:45b5)
 	db $0, "You can't go", $4f
 	db "through here!", $51
 	db "This is private", $4f
@@ -125537,7 +126762,7 @@
 	db "property!", $57
 ; 0xa45b5 + 53 bytes
 
-_UnnamedText_191ca: ; 0xa45ea
+_UnnamedText_191ca: ; a45ea (29:45ea)
 	db $0, "Yawn!", $4f
 	db "I must have dozed", $55
 	db "off in the sun.", $51
@@ -125552,23 +126777,23 @@
 	db "have this TM.", $58
 ; 0xa45ea + 176 bytes
 
-_ReceivedTM42Text: ; 0xa469a
+_ReceivedTM42Text: ; a469a (29:469a)
 	db $0, $52, " received", $4f
 	db "TM42!@@"
 ; 0xa46ad
 
-_TM42Explanation: ; 0xa46ad
+_TM42Explanation: ; a46ad (29:46ad)
 	db $0, "TM42 contains", $4f
 	db "DREAM EATER...", $55
 	db "...Snore...", $57
 ; 0xa46ad + 42 bytes
 
-_TM42NoRoomText: ; 0xa46d7
+_TM42NoRoomText: ; a46d7 (29:46d7)
 	db $0, "You have too much", $4f
 	db "stuff already.", $57
 ; 0xa46d7 + 34 bytes
 
-_UnnamedText_1920a: ; 0xa46f9
+_UnnamedText_1920a: ; a46f9 (29:46f9)
 	db $0, "Ahh, I've had my", $4f
 	db "coffee now and I", $55
 	db "feel great!", $51
@@ -125578,7 +126803,7 @@
 	db "hurry?", $57
 ; 0xa46f9 + 91 bytes
 
-_UnnamedText_1920f: ; 0xa4754
+_UnnamedText_1920f: ; a4754 (29:4754)
 	db $0, "I see you're using", $4f
 	db "a #DEX.", $51
 	db "When you catch a", $4f
@@ -125592,23 +126817,23 @@
 	db "how to then.", $57
 ; 0xa4754 + 146 bytes
 
-_UnnamedText_19214: ; 0xa47e6
+_UnnamedText_19214: ; a47e6 (29:47e6)
 	db $0, "Time is money...", $4f
 	db "Go along then.", $57
 ; 0xa47e6 + 33 bytes
 
-_UnnamedText_19219: ; 0xa4807
+_UnnamedText_19219: ; a4807 (29:4807)
 	db $0, "First, you need", $4f
 	db "to weaken the", $55
 	db "target #MON.", $57
 ; 0xa4807 + 44 bytes
 
-_ViridianCityText8: ; 0xa4833
+_ViridianCityText8: ; a4833 (29:4833)
 	db $0, "VIRIDIAN CITY ", $4f
 	db "The Eternally", $55
 	db "Green Paradise", $57
 
-_ViridianCityText9: ; 0xa4860
+_ViridianCityText9: ; a4860 (29:4860)
 	db $0, "TRAINER TIPS", $51
 	db "Catch #MON", $4f
 	db "and expand your", $55
@@ -125617,7 +126842,7 @@
 	db "the easier it is", $55
 	db "to fight!", $57
 
-_ViridianCityText10: ; 0xa48c3
+_ViridianCityText10: ; a48c3 (29:48c3)
 	db $0, "TRAINER TIPS", $51
 	db "The battle moves", $4f
 	db "of #MON are", $55
@@ -125628,16 +126853,16 @@
 	db "#MON at a", $55
 	db "#MON CENTER!", $57
 
-_ViridianCityText13: ; 0xa4949
+_ViridianCityText13: ; a4949 (29:4949)
 	db $0, "VIRIDIAN CITY", $4f
 	db "#MON GYM", $57
 
-_ViridianCityText14: ; 0xa4961
+_ViridianCityText14: ; a4961 (29:4961)
 	db $0, "The GYM's doors", $4f
 	db "are locked...", $57
 ; 0xa4961 + 30 bytes
 
-_PewterCityText1: ; 0xa497f
+_PewterCityText1: ; a497f (29:497f)
 	db $0, "It's rumored that", $4f
 	db "CLEFAIRYs came", $55
 	db "from the moon!", $51
@@ -125645,7 +126870,7 @@
 	db "after MOON STONE", $55
 	db "fell on MT.MOON.", $57
 
-_PewterCityText2: ; 0xa49e0
+_PewterCityText2: ; a49e0 (29:49e0)
 	db $0, "There aren't many", $4f
 	db "serious #MON", $55
 	db "trainers here!", $51
@@ -125655,24 +126880,24 @@
 	db "BROCK is totally", $55
 	db "into it!", $57
 
-_UnnamedText_193f1: ; 0xa4a56
+_UnnamedText_193f1: ; a4a56 (29:4a56)
 	db $0, "Did you check out", $4f
 	db "the MUSEUM?", $57
 ; 0xa4a56 + 31 bytes
 
-_UnnamedText_193f6: ; 0xa4a75
+_UnnamedText_193f6: ; a4a75 (29:4a75)
 	db $0, "Weren't those", $4f
 	db "fossils from MT.", $55
 	db "MOON amazing?", $57
 ; 0xa4a75 + 45 bytes
 
-_UnnamedText_193fb: ; 0xa4aa2
+_UnnamedText_193fb: ; a4aa2 (29:4aa2)
 	db $0, "Really?", $4f
 	db "You absolutely", $55
 	db "have to go!", $57
 ; 0xa4aa2 + 36 bytes
 
-_UnnamedText_19400: ; 0xa4ac6
+_UnnamedText_19400: ; a4ac6 (29:4ac6)
 	db $0, "It's right here!", $4f
 	db "You have to pay", $55
 	db "to get in, but", $55
@@ -125680,24 +126905,24 @@
 	db "See you around!", $57
 ; 0xa4ac6 + 78 bytes
 
-_UnnamedText_19427: ; 0xa4b14
+_UnnamedText_19427: ; a4b14 (29:4b14)
 	db $0, "Psssst!", $4f
 	db "Do you know what", $55
 	db "I'm doing?", $57
 ; 0xa4b14 + 36 bytes
 
-_UnnamedText_1942c: ; 0xa4b38
+_UnnamedText_1942c: ; a4b38 (29:4b38)
 	db $0, "That's right!", $4f
 	db "It's hard work!", $57
 ; 0xa4b38 + 29 bytes
 
-_UnnamedText_19431: ; 0xa4b55
+_UnnamedText_19431: ; a4b55 (29:4b55)
 	db $0, "I'm spraying REPEL", $4f
 	db "to keep #MON", $55
 	db "out of my garden!", $57
 ; 0xa4b55 + 50 bytes
 
-_UnnamedText_1945d: ; 0xa4b87
+_UnnamedText_1945d: ; a4b87 (29:4b87)
 	db $0, "You're a trainer", $4f
 	db "right? BROCK's", $55
 	db "looking for new", $55
@@ -125705,13 +126930,13 @@
 	db "Follow me!", $57
 ; 0xa4b87 + 71 bytes
 
-_UnnamedText_19462: ; 0xa4bce
+_UnnamedText_19462: ; a4bce (29:4bce)
 	db $0, "If you have the", $4f
 	db "right stuff, go", $55
 	db "take on BROCK!", $57
 ; 0xa4bce + 48 bytes
 
-_PewterCityText6: ; 0xa4bfe
+_PewterCityText6: ; a4bfe (29:4bfe)
 	db $0, "TRAINER TIPS", $51
 	db "Any #MON that", $4f
 	db "takes part in", $55
@@ -125718,7 +126943,7 @@
 	db "battle, however", $55
 	db "short, earns EXP!", $57
 
-_PewterCityText7: ; 0xa4c4a
+_PewterCityText7: ; a4c4a (29:4c4a)
 	db $0, "NOTICE!", $51
 	db "Thieves have been", $4f
 	db "stealing #MON", $55
@@ -125727,11 +126952,11 @@
 	db "PEWTER POLICE", $55
 	db "with any info!", $57
 
-_PewterCityText10: ; 0xa4cb1
+_PewterCityText10: ; a4cb1 (29:4cb1)
 	db $0, "PEWTER MUSEUM", $4f
 	db "OF SCIENCE", $57
 
-_PewterCityText11: ; 0xa4ccb
+_PewterCityText11: ; a4ccb (29:4ccb)
 	db $0, "PEWTER CITY", $4f
 	db "#MON GYM", $55
 	db "LEADER: BROCK", $51
@@ -125738,12 +126963,12 @@
 	db "The Rock Solid", $4f
 	db "#MON Trainer!", $57
 
-_PewterCityText12: ; 0xa4d0c
+_PewterCityText12: ; a4d0c (29:4d0c)
 	db $0, "PEWTER CITY", $4f
 	db "A Stone Gray", $55
 	db "City", $57
 
-_UnnamedText_19668: ; 0xa4d2b
+_UnnamedText_19668: ; a4d2b (29:4d2b)
 	db $0, $53, ": Yo!", $4f
 	db $52, "!", $51
 	db "You're still", $4f
@@ -125758,19 +126983,19 @@
 	db $52, "!", $57
 ; 0xa4d2b + 147 bytes
 
-_UnnamedText_1966d: ; 0xa4dbe
+_UnnamedText_1966d: ; a4dbe (29:4dbe)
 	db $0, "Hey!", $4f
 	db "Take it easy!", $55
 	db "You won already!", $58
 ; 0xa4dbe + 37 bytes
 
-_UnnamedText_19672: ; 0xa4de3
+_UnnamedText_19672: ; a4de3 (29:4de3)
 	db $0, "Heh!", $4f
 	db "You're no match", $55
 	db "for my genius!", $58
 ; 0xa4de3 + 36 bytes
 
-_UnnamedText_19677: ; 0xa4e07
+_UnnamedText_19677: ; a4e07 (29:4e07)
 	db $0, $53, ": Hey,", $4f
 	db "guess what?", $51
 	db "I went to BILL's", $4f
@@ -125794,7 +127019,7 @@
 	db "Smell ya later!", $57
 ; 0xa4e07 + 288 bytes
 
-_UnnamedText_196d9: ; 0xa4f27
+_UnnamedText_196d9: ; a4f27 (29:4f27)
 	db $0, "Hey! Stay out!", $4f
 	db "It's not your", $55
 	db "yard! Huh? Me?", $51
@@ -125803,18 +127028,18 @@
 	db "you believe me?", $57
 ; 0xa4f27 + 91 bytes
 
-_ReceivedTM28Text: ; 0xa4f82
+_ReceivedTM28Text: ; a4f82 (29:4f82)
 	db $0, $52, " recovered", $4f
 	db "TM28!@@"
 ; 0xa4f96
 
-_ReceivedTM28Text2: ; 0xa4f96
+_ReceivedTM28Text2: ; a4f96 (29:4f96)
 	db $0, $51
 	db "I better get", $4f
 	db "moving! Bye!@@"
 ; 0xa4fb3
 
-_TM28NoRoomText: ; 0xa4fb3
+_TM28NoRoomText: ; a4fb3 (29:4fb3)
 	db $0, "Make room for", $4f
 	db "this!", $51
 	db "I can't run until", $4f
@@ -125821,24 +127046,24 @@
 	db "I give it to you!", $57
 ; 0xa4fb3 + 56 bytes
 
-_UnnamedText_196ee: ; 0xa4feb
+_UnnamedText_196ee: ; a4feb (29:4feb)
 	db $0, "Stop!", $4f
 	db "I give up! I'll", $55
 	db "leave quietly!", $58
 ; 0xa4feb + 37 bytes
 
-_UnnamedText_196f3: ; 0xa5010
+_UnnamedText_196f3: ; a5010 (29:5010)
 	db $0, "OK! I'll return", $4f
 	db "the TM I stole!", $58
 ; 0xa5010 + 32 bytes
 
-_CeruleanCityText3: ; 0xa5030
+_CeruleanCityText3: ; a5030 (29:5030)
 	db $0, "You're a trainer", $4f
 	db "too? Collecting,", $55
 	db "fighting, it's a", $55
 	db "tough life.", $57
 
-_CeruleanCityText4: ; 0xa506e
+_CeruleanCityText4: ; a506e (29:506e)
 	db $0, "That bush in", $4f
 	db "front of the shop", $55
 	db "is in the way.", $51
@@ -125845,13 +127070,13 @@
 	db "There might be a", $4f
 	db "way around.", $57
 
-_CeruleanCityText5: ; 0xa50ba
+_CeruleanCityText5: ; a50ba (29:50ba)
 	db $0, "You're making an", $4f
 	db "encyclopedia on", $55
 	db "#MON? That", $55
 	db "sounds amusing.", $57
 
-_CeruleanCityText6: ; 0xa50f6
+_CeruleanCityText6: ; a50f6 (29:50f6)
 	db $0, "The people here", $4f
 	db "were robbed.", $51
 	db "It's obvious that", $4f
@@ -125862,7 +127087,7 @@
 	db "force has trouble", $55
 	db "with the ROCKETs!", $57
 
-_UnnamedText_19730: ; 0xa5188
+_UnnamedText_19730: ; a5188 (29:5188)
 	db $0, "OK! SLOWBRO!", $4f
 	db "Use SONICBOOM!", $55
 	db "Come on, SLOWBRO", $55
@@ -125869,13 +127094,13 @@
 	db "pay attention!", $57
 ; 0xa5188 + 61 bytes
 
-_UnnamedText_19735: ; 0xa51c5
+_UnnamedText_19735: ; a51c5 (29:51c5)
 	db $0, "SLOWBRO punch!", $4f
 	db "No! You blew it", $55
 	db "again!", $57
 ; 0xa51c5 + 39 bytes
 
-_UnnamedText_1973a: ; 0xa51ec
+_UnnamedText_1973a: ; a51ec (29:51ec)
 	db $0, "SLOWBRO, WITHDRAW!", $4f
 	db "No! That's wrong!", $51
 	db "It's so hard to", $4f
@@ -125886,27 +127111,27 @@
 	db "as a trainer!", $57
 ; 0xa51ec + 127 bytes
 
-_UnnamedText_1976f: ; 0xa526b
+_UnnamedText_1976f: ; a526b (29:526b)
 	db $0, "SLOWBRO took a", $4f
 	db "snooze...", $57
 ; 0xa526b + 26 bytes
 
-_UnnamedText_19774: ; 0xa5285
+_UnnamedText_19774: ; a5285 (29:5285)
 	db $0, "SLOWBRO is", $4f
 	db "loafing around...", $57
 ; 0xa5285 + 30 bytes
 
-_UnnamedText_19779: ; 0xa52a3
+_UnnamedText_19779: ; a52a3 (29:52a3)
 	db $0, "SLOWBRO turned", $4f
 	db "away...", $57
 ; 0xa52a3 + 24 bytes
 
-_UnnamedText_1977e: ; 0xa52bb
+_UnnamedText_1977e: ; a52bb (29:52bb)
 	db $0, "SLOWBRO", $4f
 	db "ignored orders...", $57
 ; 0xa52bb + 27 bytes
 
-_CeruleanCityText9: ; 0xa52d6
+_CeruleanCityText9: ; a52d6 (29:52d6)
 	db $0, "I want a bright", $4f
 	db "red BICYCLE!", $51
 	db "I'll keep it at", $4f
@@ -125913,7 +127138,7 @@
 	db "home, so it won't", $55
 	db "get dirty!", $57
 
-_CeruleanCityText10: ; 0xa531f
+_CeruleanCityText10: ; a531f (29:531f)
 	db $0, "This is CERULEAN", $4f
 	db "CAVE! Horribly", $55
 	db "strong #MON", $55
@@ -125923,13 +127148,13 @@
 	db "only person who", $55
 	db "is allowed in!", $57
 
-_CeruleanCityText12: ; 0xa539a
+_CeruleanCityText12: ; a539a (29:539a)
 	db $0, "CERULEAN CITY", $4f
 	db "A Mysterious,", $55
 	db "Blue Aura", $55
 	db "Surrounds It", $57
 
-_CeruleanCityText13: ; 0xa53ce
+_CeruleanCityText13: ; a53ce (29:53ce)
 	db $0, "TRAINER TIPS", $51
 	db "Pressing B Button", $4f
 	db "during evolution", $55
@@ -125936,12 +127161,12 @@
 	db "cancels the whole", $55
 	db "process.", $57
 
-_CeruleanCityText16: ; 0xa541a
+_CeruleanCityText16: ; a541a (29:541a)
 	db $0, "Grass and caves", $4f
 	db "handled easily!", $55
 	db "BIKE SHOP", $57
 
-_CeruleanCityText17: ; 0xa5445
+_CeruleanCityText17: ; a5445 (29:5445)
 	db $0, "CERULEAN CITY", $4f
 	db "#MON GYM", $55
 	db "LEADER: MISTY", $51
@@ -125948,17 +127173,17 @@
 	db "The Tomboyish", $4f
 	db "Mermaid!", $57
 
-_UnnamedText_4413c: ; 0xa5482
+_UnnamedText_4413c: ; a5482 (29:5482)
 	db $0, "Do you believe in", $4f
 	db "GHOSTs?", $57
 ; 0xa5482 + 27 bytes
 
-_UnnamedText_44141: ; 0xa549d
+_UnnamedText_44141: ; a549d (29:549d)
 	db $0, "Really? So there", $4f
 	db "are believers...", $57
 ; 0xa549d + 35 bytes
 
-_UnnamedText_44146: ; 0xa54c0
+_UnnamedText_44146: ; a54c0 (29:54c0)
 	db $0, "Hahaha, I guess", $4f
 	db "not.", $51
 	db "That white hand", $4f
@@ -125966,7 +127191,7 @@
 	db "it's not real.", $57
 ; 0xa54c0 + 70 bytes
 
-_LavenderTownText2: ; 0xa5506
+_LavenderTownText2: ; a5506 (29:5506)
 	db $0, "This town is known", $4f
 	db "as the grave site", $55
 	db "of #MON.", $51
@@ -125974,7 +127199,7 @@
 	db "are held in", $55
 	db "#MON TOWER.", $57
 
-_LavenderTownText3: ; 0xa555f
+_LavenderTownText3: ; a555f (29:555f)
 	db $0, "GHOSTs appeared", $4f
 	db "in #MON TOWER.", $51
 	db "I think they're", $4f
@@ -125982,27 +127207,27 @@
 	db "#MON that the", $55
 	db "ROCKETs killed.", $57
 
-_LavenderTownText4: ; 0xa55bb
+_LavenderTownText4: ; a55bb (29:55bb)
 	db $0, "LAVENDER TOWN", $4f
 	db "The Noble Purple", $55
 	db "Town", $57
 
-_LavenderTownText5: ; 0xa55e0
+_LavenderTownText5: ; a55e0 (29:55e0)
 	db $0, "New SILPH SCOPE!", $51
 	db "Make the Invisible", $4f
 	db "Plain to See!", $51
 	db "SILPH CO.", $57
 
-_LavenderTownText8: ; 0xa561d
+_LavenderTownText8: ; a561d (29:561d)
 	db $0, "LAVENDER VOLUNTEER", $4f
 	db "#MON HOUSE", $57
 
-_LavenderTownText9: ; 0xa563c
+_LavenderTownText9: ; a563c (29:563c)
 	db $0, "May the Souls of", $4f
 	db "#MON Rest Easy", $55
 	db "#MON TOWER", $57
 
-_VermilionCityText1: ; 0xa5668
+_VermilionCityText1: ; a5668 (29:5668)
 	db $0, "We're careful", $4f
 	db "about pollution!", $51
 	db "We've heard GRIMER", $4f
@@ -126009,13 +127234,13 @@
 	db "multiplies in", $55
 	db "toxic sludge!", $57
 
-_UnnamedText_198a7: ; 0xa56b5
+_UnnamedText_198a7: ; a56b5 (29:56b5)
 	db $0, "Did you see S.S.", $4f
 	db "ANNE moored in", $55
 	db "the harbor?", $57
 ; 0xa56b5 + 45 bytes
 
-_UnnamedText_198ac: ; 0xa56e2
+_UnnamedText_198ac: ; a56e2 (29:56e2)
 	db $0, "So, S.S.ANNE has", $4f
 	db "departed!", $51
 	db "She'll be back in", $4f
@@ -126022,12 +127247,12 @@
 	db "about a year.", $57
 ; 0xa56e2 + 59 bytes
 
-_SSAnneWelcomeText4: ; 0xa571d
+_SSAnneWelcomeText4: ; a571d (29:571d)
 	db $0, "Welcome to S.S.", $4f
 	db "ANNE!", $57
 ; 0xa571d + 23 bytes
 
-_SSAnneWelcomeText9: ; 0xa5734
+_SSAnneWelcomeText9: ; a5734 (29:5734)
 	db $0, "Welcome to S.S.", $4f
 	db "ANNE!", $51
 	db "Excuse me, do you", $4f
@@ -126034,7 +127259,7 @@
 	db "have a ticket?", $58
 ; 0xa5734 + 56 bytes
 
-_SSAnneFlashedTicketText: ; 0xa576c
+_SSAnneFlashedTicketText: ; a576c (29:576c)
 	db $0, $52, " flashed", $4f
 	db "the S.S.TICKET!", $51
 	db "Great! Welcome to", $4f
@@ -126041,7 +127266,7 @@
 	db "S.S.ANNE!", $57
 ; 0xa576c + 55 bytes
 
-_SSAnneNoTicketText: ; 0xa57a3
+_SSAnneNoTicketText: ; a57a3 (29:57a3)
 	db $0, $52, " doesn't", $4f
 	db "have the needed", $55
 	db "S.S.TICKET.", $51
@@ -126050,11 +127275,11 @@
 	db "to get aboard.", $57
 ; 0xa57a3 + 78 bytes
 
-_SSAnneNotHereText: ; 0xa57f1
+_SSAnneNotHereText: ; a57f1 (29:57f1)
 	db $0, "The ship set sail.", $57
 ; 0xa57f1 + 20 bytes
 
-_VermilionCityText4: ; 0xa5805
+_VermilionCityText4: ; a5805 (29:5805)
 	db $0, "I'm putting up a", $4f
 	db "building on this", $55
 	db "plot of land.", $51
@@ -126061,17 +127286,17 @@
 	db "My #MON is", $4f
 	db "tamping the land.", $57
 
-_VermilionCityText5: ; 0xa5852
+_VermilionCityText5: ; a5852 (29:5852)
 	db $0, "MACHOP: Guoh!", $4f
 	db "Gogogoh!@@"
 
-_VermilionCityText14: ; 0xa586b
+_VermilionCityText14: ; a586b (29:586b)
 	db $0, $51
 	db "A MACHOP is", $4f
 	db "stomping the land", $55
 	db "flat.", $57
 
-_VermilionCityText6: ; 0xa5891
+_VermilionCityText6: ; a5891 (29:5891)
 	db $0, "S.S.ANNE is a", $4f
 	db "famous luxury", $55
 	db "cruise ship.", $51
@@ -126078,12 +127303,12 @@
 	db "We visit VERMILION", $4f
 	db "once a year.", $57
 
-_VermilionCityText7: ; 0xa58db
+_VermilionCityText7: ; a58db (29:58db)
 	db $0, "VERMILION CITY", $4f
 	db "The Port of", $55
 	db "Exquisite Sunsets", $57
 
-_VermilionCityText8: ; 0xa5909
+_VermilionCityText8: ; a5909 (29:5909)
 	db $0, "NOTICE!", $51
 	db "ROUTE 12 may be", $4f
 	db "blocked off by a", $55
@@ -126093,12 +127318,12 @@
 	db "LAVENDER TOWN.", $51
 	db "VERMILION POLICE", $57
 
-_VermilionCityText11: ; 0xa5980
+_VermilionCityText11: ; a5980 (29:5980)
 	db $0, "#MON FAN CLUB", $4f
 	db "All #MON fans", $55
 	db "welcome!", $57
 
-_VermilionCityText12: ; 0xa59a6
+_VermilionCityText12: ; a59a6 (29:59a6)
 	db $0, "VERMILION CITY", $4f
 	db "#MON GYM", $55
 	db "LEADER: LT.SURGE", $51
@@ -126105,10 +127330,10 @@
 	db "The Lightning ", $4f
 	db "American!", $57
 
-_VermilionCityText13: ; 0xa59e9
+_VermilionCityText13: ; a59e9 (29:59e9)
 	db $0, "VERMILION HARBOR", $57
 
-_CeladonCityText1: ; 0xa59fb
+_CeladonCityText1: ; a59fb (29:59fb)
 	db $0, "I got my KOFFING", $4f
 	db "in CINNABAR!", $51
 	db "It's nice, but it", $4f
@@ -126115,17 +127340,17 @@
 	db "breathes poison", $55
 	db "when it's angry!", $57
 
-_CeladonCityText2: ; 0xa5a4b
+_CeladonCityText2: ; a5a4b (29:5a4b)
 	db $0, "Heheh! This GYM", $4f
 	db "is great! It's", $55
 	db "full of women!", $57
 
-_CeladonCityText3: ; 0xa5a79
+_CeladonCityText3: ; a5a79 (29:5a79)
 	db $0, "The GAME CORNER", $4f
 	db "is bad for our", $55
 	db "city's image!", $57
 
-_CeladonCityText4: ; 0xa5aa6
+_CeladonCityText4: ; a5aa6 (29:5aa6)
 	db $0, "Moan! I blew it", $4f
 	db "all at the slots!", $51
 	db "I knew I should", $4f
@@ -126132,7 +127357,7 @@
 	db "have cashed in my", $55
 	db "coins for prizes!", $57
 
-_TM41PreText: ; 0xa5afd
+_TM41PreText: ; a5afd (29:5afd)
 	db $0, "Hello, there!", $51
 	db "I've seen you,", $4f
 	db "but I never had a", $55
@@ -126141,7 +127366,7 @@
 	db "dropping by!", $58
 ; 0xa5afd + 93 bytes
 
-_ReceivedTM41Text: ; 0xa5b5a
+_ReceivedTM41Text: ; a5b5a (29:5b5a)
 	db $0, $52, " received", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -126148,7 +127373,7 @@
 	db $0, "!@@"
 ; 0xa5b6e
 
-_TM41ExplanationText: ; 0xa5b6e
+_TM41ExplanationText: ; a5b6e (29:5b6e)
 	db $0, "TM41 teaches", $4f
 	db "SOFTBOILED!", $51
 	db "Only one #MON", $4f
@@ -126157,12 +127382,12 @@
 	db "CHANSEY!", $57
 ; 0xa5b6e + 74 bytes
 
-_TM41NoRoomText: ; 0xa5bb8
+_TM41NoRoomText: ; a5bb8 (29:5bb8)
 	db $0, "Oh, your pack is", $4f
 	db "full of items!", $57
 ; 0xa5bb8 + 33 bytes
 
-_CeladonCityText6: ; 0xa5bd9
+_CeladonCityText6: ; a5bd9 (29:5bd9)
 	db $0, "This is my trusted", $4f
 	db "pal, POLIWRATH!", $51
 	db "It evolved from", $4f
@@ -126169,19 +127394,19 @@
 	db "POLIWHIRL when I", $55
 	db "used WATER STONE!", $57
 
-_CeladonCityText7: ; 0xa5c30
+_CeladonCityText7: ; a5c30 (29:5c30)
 	db $0, "POLIWRATH: Ribi", $4f
 	db "ribit!@@"
 
-_CeladonCityText8: ; 0xa5c49
+_CeladonCityText8: ; a5c49 (29:5c49)
 	db $0, "What are you", $4f
 	db "staring at?", $57
 
-_CeladonCityText9: ; 0xa5c63
+_CeladonCityText9: ; a5c63 (29:5c63)
 	db $0, "Keep out of TEAM", $4f
 	db "ROCKET's way!", $57
 
-_CeladonCityText10: ; 0xa5c82
+_CeladonCityText10: ; a5c82 (29:5c82)
 	db $0, "TRAINER TIPS", $51
 	db "X ACCURACY boosts", $4f
 	db "the accuracy of", $55
@@ -126193,12 +127418,12 @@
 	db "CELADON DEPT.", $55
 	db "STORE!", $57
 
-_CeladonCityText11: ; 0xa5d18
+_CeladonCityText11: ; a5d18 (29:5d18)
 	db $0, "CELADON CITY", $4f
 	db "The City of", $55
 	db "Rainbow Dreams", $57
 
-_CeladonCityText13: ; 0xa5d41
+_CeladonCityText13: ; a5d41 (29:5d41)
 	db $0, "CELADON CITY", $4f
 	db "#MON GYM", $55
 	db "LEADER: ERIKA", $51
@@ -126205,15 +127430,15 @@
 	db "The Nature Loving", $4f
 	db "Princess!", $57
 
-_CeladonCityText14: ; 0xa5d82
+_CeladonCityText14: ; a5d82 (29:5d82)
 	db $0, "CELADON MANSION", $57
 
-_CeladonCityText15: ; 0xa5d93
+_CeladonCityText15: ; a5d93 (29:5d93)
 	db $0, "Find what you", $4f
 	db "need at CELADON", $55
 	db "DEPT. STORE!", $57
 
-_CeladonCityText16: ; 0xa5dbf
+_CeladonCityText16: ; a5dbf (29:5dbf)
 	db $0, "TRAINER TIPS", $51
 	db "GUARD SPEC.", $4f
 	db "protects #MON", $55
@@ -126224,23 +127449,23 @@
 	db "CELADON DEPT.", $55
 	db "STORE!", $57
 
-_CeladonCityText17: ; 0xa5e3e
+_CeladonCityText17: ; a5e3e (29:5e3e)
 	db $0, "Coins exchanged", $4f
 	db "for prizes!", $55
 	db "PRIZE EXCHANGE", $57
 
-_CeladonCityText18: ; 0xa5e6a
+_CeladonCityText18: ; a5e6a (29:5e6a)
 	db $0, "ROCKET GAME CORNER", $4f
 	db "The playground", $55
 	db "for grown-ups!", $57
 
-_FuchsiaCityText1: ; 0xa5e9c
+_FuchsiaCityText1: ; a5e9c (29:5e9c)
 	db $0, "Did you try the", $4f
 	db "SAFARI GAME? Some", $55
 	db "#MON can only", $55
 	db "be caught there.", $57
 
-_FuchsiaCityText2: ; 0xa5ede
+_FuchsiaCityText2: ; a5ede (29:5ede)
 	db $0, "SAFARI ZONE has a", $4f
 	db "zoo in front of", $55
 	db "the entrance.", $51
@@ -126248,37 +127473,37 @@
 	db "SAFARI GAME for", $55
 	db "catching #MON.", $57
 
-_FuchsiaCityText3: ; 0xa5f3e
+_FuchsiaCityText3: ; a5f3e (29:5f3e)
 	db $0, "ERIK: Where's", $4f
 	db "SARA? I said I'd", $55
 	db "meet her here.", $57
 
-_FuchsiaCityText4: ; 0xa5f6b
+_FuchsiaCityText4: ; a5f6b (29:5f6b)
 	db $0, "That item ball in", $4f
 	db "there is really a", $55
 	db "#MON.", $57
 
-_FuchsiaCityText5: ; 0xa5f96
+_FuchsiaCityText5: ; a5f96 (29:5f96)
 	db $0, "!", $57
 
-_FuchsiaCityText11: ; 0xa5f99
+_FuchsiaCityText11: ; a5f99 (29:5f99)
 	db $0, "FUCHSIA CITY", $4f
 	db "Behold! It's", $55
 	db "Passion Pink!", $57
 
-_FuchsiaCityText13: ; 0xa5fc1
+_FuchsiaCityText13: ; a5fc1 (29:5fc1)
 	db $0, "SAFARI GAME", $4f
 	db "#MON-U-CATCH!", $57
 
-_FuchsiaCityText16: ; 0xa5fdc
+_FuchsiaCityText16: ; a5fdc (29:5fdc)
 	db $0, "SAFARI ZONE", $4f
 	db "WARDEN's HOME", $57
 
-_FuchsiaCityText17: ; 0xa5ff6
+_FuchsiaCityText17: ; a5ff6 (29:5ff6)
 	db $0, "#MON PARADISE", $4f
 	db "SAFARI ZONE", $57
 
-_FuchsiaCityText18: ; 0xa6011
+_FuchsiaCityText18: ; a6011 (29:6011)
 	db $0, "FUCHSIA CITY", $4f
 	db "#MON GYM", $55
 	db "LEADER: KOGA", $51
@@ -126285,19 +127510,19 @@
 	db "The Poisonous", $4f
 	db "Ninja Master", $57
 
-_FuchsiaCityChanseyText: ; 0xa6050
+_FuchsiaCityChanseyText: ; a6050 (29:6050)
 	db $0, "Name: CHANSEY", $51
 	db "Catching one is", $4f
 	db "all up to chance.", $58
 ; 0xa6050 + 49 bytes
 
-_FuchsiaCityVoltorbText: ; 0xa6081
+_FuchsiaCityVoltorbText: ; a6081 (29:6081)
 	db $0, "Name: VOLTORB", $51
 	db "The very image of", $4f
 	db "a # BALL.", $58
 ; 0xa6081 + 43 bytes
 
-_FuchsiaCityKangaskhanText: ; 0xa60ac
+_FuchsiaCityKangaskhanText: ; a60ac (29:60ac)
 	db $0, "Name: KANGASKHAN", $51
 	db "A maternal #MON", $4f
 	db "that raises its", $55
@@ -126305,19 +127530,19 @@
 	db "on its belly.", $58
 ; 0xa60ac + 81 bytes
 
-_FuchsiaCitySlowpokeText: ; 0xa60fd
+_FuchsiaCitySlowpokeText: ; a60fd (29:60fd)
 	db $0, "Name: SLOWPOKE", $51
 	db "Friendly and very", $4f
 	db "slow moving.", $58
 ; 0xa60fd + 47 bytes
 
-_FuchsiaCityLaprasText: ; 0xa612c
+_FuchsiaCityLaprasText: ; a612c (29:612c)
 	db $0, "Name: LAPRAS", $51
 	db "A.K.A. the king", $4f
 	db "of the seas.", $58
 ; 0xa612c + 43 bytes
 
-_FuchsiaCityOmanyteText: ; 0xa6157
+_FuchsiaCityOmanyteText: ; a6157 (29:6157)
 	db $0, "Name: OMANYTE", $51
 	db "A #MON that", $4f
 	db "was resurrected", $55
@@ -126324,7 +127549,7 @@
 	db "from a fossil.", $58
 ; 0xa6157 + 58 bytes
 
-_FuchsiaCityKabutoText: ; 0xa6191
+_FuchsiaCityKabutoText: ; a6191 (29:6191)
 	db $0, "Name: KABUTO", $51
 	db "A #MON that", $4f
 	db "was resurrected", $55
@@ -126331,36 +127556,36 @@
 	db "from a fossil.", $58
 ; 0xa6191 + 57 bytes
 
-_UnnamedText_19b2a: ; 0xa61ca
+_UnnamedText_19b2a: ; a61ca (29:61ca)
 	db $0, "...", $57
 ; 0xa61ca + 5 bytes
 
-_CinnabarIslandText8: ; 0xa61cf
+_CinnabarIslandText8: ; a61cf (29:61cf)
 	db $0, "The door is", $4f
 	db "locked...", $57
 ; 0xa61cf + 23 bytes
 
-_CinnabarIslandText1: ; 0xa61e6
+_CinnabarIslandText1: ; a61e6 (29:61e6)
 	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
+_CinnabarIslandText2: ; a622a (29:622a)
 	db $0, "Scientists conduct", $4f
 	db "experiments in", $55
 	db "the burned out", $55
 	db "building.", $57
 
-_CinnabarIslandText3: ; 0xa6266
+_CinnabarIslandText3: ; a6266 (29:6266)
 	db $0, "CINNABAR ISLAND", $4f
 	db "The Fiery Town of", $55
 	db "Burning Desire", $57
 
-_CinnabarIslandText6: ; 0xa6298
+_CinnabarIslandText6: ; a6298 (29:6298)
 	db $0, "#MON LAB", $57
 
-_CinnabarIslandText7: ; 0xa62a2
+_CinnabarIslandText7: ; a62a2 (29:62a2)
 	db $0, "CINNABAR ISLAND", $4f
 	db "#MON GYM", $55
 	db "LEADER: BLAINE", $51
@@ -126367,53 +127592,53 @@
 	db "The Hot-Headed", $4f
 	db "Quiz Master!", $57
 
-_SaffronCityText1: ; 0xa62e7
+_SaffronCityText1: ; a62e7 (29:62e7)
 	db $0, "What do you want?", $4f
 	db "Get lost!", $57
 
-_SaffronCityText2: ; 0xa6304
+_SaffronCityText2: ; a6304 (29:6304)
 	db $0, "BOSS said he'll", $4f
 	db "take this town!", $57
 
-_SaffronCityText3: ; 0xa6324
+_SaffronCityText3: ; a6324 (29:6324)
 	db $0, "Get out of the", $4f
 	db "way!", $57
 
-_SaffronCityText4: ; 0xa6339
+_SaffronCityText4: ; a6339 (29:6339)
 	db $0, "SAFFRON belongs", $4f
 	db "to TEAM ROCKET!", $57
 
-_SaffronCityText5: ; 0xa635a
+_SaffronCityText5: ; a635a (29:635a)
 	db $0, "Being evil makes", $4f
 	db "me feel so alive!", $57
 
-_SaffronCityText6: ; 0xa637e
+_SaffronCityText6: ; a637e (29:637e)
 	db $0, "Ow! Watch where", $4f
 	db "you're walking!", $57
 
-_SaffronCityText7: ; 0xa639e
+_SaffronCityText7: ; a639e (29:639e)
 	db $0, "With SILPH under", $4f
 	db "control, we can", $55
 	db "exploit #MON", $55
 	db "around the world!", $57
 
-_SaffronCityText8: ; 0xa63df
+_SaffronCityText8: ; a63df (29:63df)
 	db $0, "You beat TEAM", $4f
 	db "ROCKET all alone?", $55
 	db "That's amazing!", $57
 
-_SaffronCityText9: ; 0xa640f
+_SaffronCityText9: ; a640f (29:640f)
 	db $0, "Yeah! TEAM ROCKET", $4f
 	db "is gone!", $55
 	db "It's safe to go", $55
 	db "out again!", $57
 
-_SaffronCityText10: ; 0xa6445
+_SaffronCityText10: ; a6445 (29:6445)
 	db $0, "People should be", $4f
 	db "flocking back to", $55
 	db "SAFFRON now.", $57
 
-_SaffronCityText11: ; 0xa6475
+_SaffronCityText11: ; a6475 (29:6475)
 	db $0, "I flew here on my", $4f
 	db "PIDGEOT when I", $55
 	db "read about SILPH.", $51
@@ -126421,35 +127646,35 @@
 	db "I missed the", $55
 	db "media action.", $57
 
-_SaffronCityText12: ; 0xa64d6
+_SaffronCityText12: ; a64d6 (29:64d6)
 	db $0, "PIDGEOT: Bi bibii!@@"
 
-_SaffronCityText13: ; 0xa64eb
+_SaffronCityText13: ; a64eb (29:64eb)
 	db $0, "I saw ROCKET", $4f
 	db "BOSS escaping", $55
 	db "SILPH's building.", $57
 
-_SaffronCityText14: ; 0xa6518
+_SaffronCityText14: ; a6518 (29:6518)
 	db $0, "I'm a security", $4f
 	db "guard.", $51
 	db "Suspicious kids I", $4f
 	db "don't allow in!", $57
 
-_SaffronCityText15: ; 0xa654f
+_SaffronCityText15: ; a654f (29:654f)
 	db $0, "...", $4f
 	db "Snore...", $51
 	db "Hah! He's taking", $4f
 	db "a snooze!", $57
 
-_SaffronCityText16: ; 0xa6577
+_SaffronCityText16: ; a6577 (29:6577)
 	db $0, "SAFFRON CITY", $4f
 	db "Shining, Golden", $55
 	db "Land of Commerce", $57
 
-_SaffronCityText17: ; 0xa65a6
+_SaffronCityText17: ; a65a6 (29:65a6)
 	db $0, "FIGHTING DOJO", $57
 
-_SaffronCityText18: ; 0xa65b5
+_SaffronCityText18: ; a65b5 (29:65b5)
 	db $0, "SAFFRON CITY", $4f
 	db "#MON GYM", $55
 	db "LEADER: SABRINA", $51
@@ -126456,7 +127681,7 @@
 	db "The Master of", $4f
 	db "Psychic #MON!", $57
 
-_SaffronCityText20: ; 0xa65f8
+_SaffronCityText20: ; a65f8 (29:65f8)
 	db $0, "TRAINER TIPS", $51
 	db "FULL HEAL cures", $4f
 	db "all ailments like", $55
@@ -126465,7 +127690,7 @@
 	db "more, but it's", $55
 	db "more convenient.", $57
 
-_SaffronCityText21: ; 0xa6667
+_SaffronCityText21: ; a6667 (29:6667)
 	db $0, "TRAINER TIPS", $51
 	db "New GREAT BALL", $4f
 	db "offers improved", $55
@@ -126474,49 +127699,49 @@
 	db "hard-to-catch", $55
 	db "#MON.", $57
 
-_SaffronCityText22: ; 0xa66c7
+_SaffronCityText22: ; a66c7 (29:66c7)
 	db $0, "SILPH CO.", $4f
 	db "OFFICE BUILDING", $57
 
-_SaffronCityText24: ; 0xa66e2
+_SaffronCityText24: ; a66e2 (29:66e2)
 	db $0, "MR.PSYCHIC's", $4f
 	db "HOUSE", $57
 
-_SaffronCityText25: ; 0xa66f5
+_SaffronCityText25: ; a66f5 (29:66f5)
 	db $0, "SILPH's latest", $4f
 	db "product!", $51
 	db "Release to be", $4f
 	db "determined...", $57
 
-_ItemUseBallText00:
+_ItemUseBallText00: ; a6729 (29:6729)
 	db 0,"It dodged the",$4F
 	db "thrown BALL!",$51
 	db "This #MON",$4F
 	db "can't be caught!",$58
 
-_ItemUseBallText01:
+_ItemUseBallText01: ; a675f (29:675f)
 	db 0,"You missed the",$4F
 	db "#MON!",$58
 
-_ItemUseBallText02:
+_ItemUseBallText02: ; a6775 (29:6775)
 	db 0,"Darn! The #MON",$4F
 	db "broke free!",$58
 
-_ItemUseBallText03:
+_ItemUseBallText03: ; a6791 (29:6791)
 	db 0,"Aww! It appeared",$4F
 	db "to be caught! ",$58
 
-_ItemUseBallText04:
+_ItemUseBallText04: ; a67b2 (29:67b2)
 	db 0,"Shoot! It was so",$4F
 	db "close too!",$58
 
-_ItemUseBallText05:
+_ItemUseBallText05: ; a67cf (29:67cf)
 	db 0,"All right!",$4F,"@",1
 	dw W_ENEMYMONNAME
 	db 0," was",$55
 	db "caught!@@"
 
-_ItemUseBallText07:
+_ItemUseBallText07: ; a67ee (29:67ee)
 	db 1
 	dw $DE06
 	db 0," was",$4F
@@ -126523,7 +127748,7 @@
 	db "transferred to",$55
 	db "BILL's PC!",$58
 
-_ItemUseBallText08:
+_ItemUseBallText08: ; a6810 (29:6810)
 	db 1
 	dw $DE06
 	db 0," was",$4F
@@ -126530,23 +127755,23 @@
 	db "transferred to",$55
 	db "someone's PC!",$58
 
-_ItemUseBallText06:
+_ItemUseBallText06: ; a6835 (29:6835)
 	db 0,"New #DEX data",$4F
 	db "will be added for",$55,"@"
 	TX_RAM W_ENEMYMONNAME
 	db 0,"!@@"
 
-_SurfingGotOnText: ; 0xa685e
+_SurfingGotOnText: ; a685e (29:685e)
 	db $0, $52, " got on", $4f
 	db "@"
 	TX_RAM $cd6d
 	db $0, "!", $58
 
-_SurfingNoPlaceToGetOffText: ; 0xa686f
+_SurfingNoPlaceToGetOffText: ; a686f (29:686f)
 	db $0, "There's no place", $4f
 	db "to get off!", $58
 
-_VitaminStatRoseText: ; 0xa688c
+_VitaminStatRoseText: ; a688c (29:688c)
 	TX_RAM $cd6d
 	db $0, "'s", $4f
 	db "@"
@@ -126553,75 +127778,75 @@
 	TX_RAM $cf4b
 	db $0, " rose.", $58
 
-_VitaminNoEffectText: ; 0xa689e
+_VitaminNoEffectText: ; a689e (29:689e)
 	db $0, "It won't have any", $4f
 	db "effect.", $58
 
-_ThrewBaitText: ; 0xa68b8
+_ThrewBaitText: ; a68b8 (29:68b8)
 	db $0, $52, " threw", $4f
 	db "some BAIT.", $57
 
-_ThrewRockText: ; 0xa68cc
+_ThrewRockText: ; a68cc (29:68cc)
 	db $0, $52, " threw a", $4f
 	db "ROCK.", $57
 
-_PlayedFluteNoEffectText: ; 0xa68dd
+_PlayedFluteNoEffectText: ; a68dd (29:68dd)
 	db $0, "Played the #", $4f
 	db "FLUTE.", $51
 	db "Now, that's a", $4f
 	db "catchy tune!", $58
 
-_FluteWokeUpText: ; 0xa690c
+_FluteWokeUpText: ; a690c (29:690c)
 	db $0, "All sleeping", $4f
 	db "#MON woke up.", $58
 
-_PlayedFluteHadEffectText: ; 0xa6928
+_PlayedFluteHadEffectText: ; a6928 (29:6928)
 	db $0, $52, " played the", $4f
 	db "# FLUTE.@@"
 
-_CoinCaseNumCoinsText: ; 0xa6940
+_CoinCaseNumCoinsText: ; a6940 (29:6940)
 	db $0, "Coins", $4f
 	db "@"
 	db $2, $a4, $d5, $c2 ; print BCD number
 	db $0, " ", $58
 
-_ItemfinderFoundItemText: ; 0xa694f
+_ItemfinderFoundItemText: ; a694f (29:694f)
 	db $0, "Yes! ITEMFINDER", $4f
 	db "indicates there's", $55
 	db "an item nearby.", $58
 
-_ItemfinderFoundNothingText: ; 0xa6981
+_ItemfinderFoundNothingText: ; a6981 (29:6981)
 	db $0, "Nope! ITEMFINDER", $4f
 	db "isn't responding.", $58
 
-_RaisePPWhichTechniqueText: ; 0xa69a4
+_RaisePPWhichTechniqueText: ; a69a4 (29:69a4)
 	db $0, "Raise PP of which", $4f
 	db "technique?", $57
 
-_RestorePPWhichTechniqueText: ; 0xa69c2
+_RestorePPWhichTechniqueText: ; a69c2 (29:69c2)
 	db $0, "Restore PP of", $4f
 	db "which technique?", $57
 
-_PPMaxedOutText: ; 0xa69e2
+_PPMaxedOutText: ; a69e2 (29:69e2)
 	TX_RAM $cf4b
 	db $0, "'s PP", $4f
 	db "is maxed out.", $58
 
-_PPIncreasedText: ; 0xa69f9
+_PPIncreasedText: ; a69f9 (29:69f9)
 	TX_RAM $cf4b
 	db $0, "'s PP", $4f
 	db "increased.", $58
 
-_PPRestoredText: ; 0xa6a0d
+_PPRestoredText: ; a6a0d (29:6a0d)
 	db $0, "PP was restored.", $58
 
-_BootedUpTMText: ; 0xa6a1f
+_BootedUpTMText: ; a6a1f (29:6a1f)
 	db $0, "Booted up a TM!", $58
 
-_BootedUpHMText: ; 0xa6a30
+_BootedUpHMText: ; a6a30 (29:6a30)
 	db $0, "Booted up an HM!", $58
 
-_TeachMachineMoveText: ; 0xa6a42
+_TeachMachineMoveText: ; a6a42 (29:6a42)
 	db $0, "It contained", $4f
 	db "@"
 	TX_RAM $cf4b
@@ -126631,7 +127856,7 @@
 	db $0, $4f
 	db "to a #MON?", $57
 
-_MonCannotLearnMachineMoveText: ; 0xa6a6e
+_MonCannotLearnMachineMoveText: ; a6a6e (29:6a6e)
 	TX_RAM $cd6d
 	db $0, " is not", $4f
 	db "compatible with", $55
@@ -126643,37 +127868,37 @@
 	TX_RAM $cf4b
 	db $0, ".", $58
 
-_ItemUseNotTimeText: ; 0xa6aa6
+_ItemUseNotTimeText: ; a6aa6 (29:6aa6)
 	db $0, "OAK: ", $52, "!", $4f
 	db "This isn't the", $55
 	db "time to use that! ", $58
 
-_ItemUseNotYoursToUseText: ; 0xa6ad0
+_ItemUseNotYoursToUseText: ; a6ad0 (29:6ad0)
 	db $0, "This isn't yours", $4f
 	db "to use!", $58
 
-_ItemUseNoEffectText: ; 0xa6ae9
+_ItemUseNoEffectText: ; a6ae9 (29:6ae9)
 	db $0, "It won't have any", $4f
 	db "effect.", $58
 ; 0xa6ae9 + 26 bytes = 0xa6b03
 
-_ThrowBallAtTrainerMonText1: ; 0xa6b03
+_ThrowBallAtTrainerMonText1: ; a6b03 (29:6b03)
 	db $0, "The trainer", $4f
 	db "blocked the BALL!", $58
 
-_ThrowBallAtTrainerMonText2: ; 0xa6b22
+_ThrowBallAtTrainerMonText2: ; a6b22 (29:6b22)
 	db $0, "Don't be a thief!", $58
 
-_NoCyclingAllowedHereText: ; 0xa6b34
+_NoCyclingAllowedHereText: ; a6b34 (29:6b34)
 	db $0, "No cycling", $4e, "allowed here.", $58
 
-_NoSurfingHereText: ; 0xa6b4e
+_NoSurfingHereText: ; a6b4e (29:6b4e)
 	db $0, "No SURFing on", $4f
 	db "@"
 	TX_RAM $cd6d
 	db $0, " here!", $58
 
-_BoxFullCannotThrowBallText: ; 0xa6b69
+_BoxFullCannotThrowBallText: ; a6b69 (29:6b69)
 	db $0, "The #MON BOX", $4f
 	db "is full! Can't", $55
 	db "use that item!", $58
@@ -126680,47 +127905,47 @@
 
 SECTION "bank2A",DATA,BANK[$2A]
 
-_ItemUseText001:
+_ItemUseText001: ; a8000 (2a:4000)
 	db 0,$52," used@@"
 
-_ItemUseText002: ; 0xa8009
+_ItemUseText002: ; a8009 (2a:4009)
 	TX_RAM $cf4b
 	db $0, "!", $57
 
-_GotOnBicycleText1: ; 0xa800f
+_GotOnBicycleText1: ; a800f (2a:400f)
 	db $0, $52, " got on the@@"
 
-_GotOnBicycleText2: ; 0xa801e
+_GotOnBicycleText2: ; a801e (2a:401e)
 	TX_RAM $cf4b
 	db $0, "!", $58
 
-_GotOffBicycleText1: ; 0xa8024
+_GotOffBicycleText1: ; a8024 (2a:4024)
 	db $0, $52, " got off@@"
 
-_GotOffBicycleText2: ; 0xa8030
+_GotOffBicycleText2: ; a8030 (2a:4030)
 	db $0, "the @"
 	TX_RAM $cf4b
 	db $0, ".", $58
 
-_ThrewAwayItemText: ; 0xa803c
+_ThrewAwayItemText: ; a803c (2a:403c)
 	db $0, "Threw away", $4f
 	db "@"
 
-UnnamedText_a8049: ; 0xa8049
+UnnamedText_a8049: ; a8049 (2a:4049)
 	TX_RAM $cd6d
 	db $0, ".", $58
 
-_IsItOKToTossItemText: ; 0xa804f
+_IsItOKToTossItemText: ; a804f (2a:404f)
 	db $0, "Is it OK to toss", $4f
 	db "@"
 	TX_RAM $cf4b
 	db $0, "?", $58
 
-_TooImportantToTossText: ; 0xa8068
+_TooImportantToTossText: ; a8068 (2a:4068)
 	db $0, "That's too impor-", $4f
 	db "tant to toss!", $58
 
-_UnnamedText_2fe3b: ; 0xa8088
+_UnnamedText_2fe3b: ; a8088 (2a:4088)
 	TX_RAM $cd6d
 	db $0, " knows", $4f
 	db "@"
@@ -126727,12 +127952,12 @@
 	TX_RAM $cf4b
 	db $0, "!", $58
 
-_UnnamedText_71d88: ; 0xa809a
+_UnnamedText_71d88: ; a809a (2a:409a)
 	db $0, "Okay, connect the", $4f
 	db "cable like so!", $58
 ; 0xa809a + 34 bytes
 
-_UnnamedText_71d8d: ; 0xa80bc
+_UnnamedText_71d8d: ; a80bc (2a:40bc)
 	db $0, $52, " traded", $4f
 	db "@"
 	TX_RAM $cd13
@@ -126741,7 +127966,7 @@
 	TX_RAM $cd1e
 	db $0, "!@@"
 
-_UnnamedText_71d94: ; 0xa80d8
+_UnnamedText_71d94: ; a80d8 (2a:40d8)
 	db $0, "I'm looking for", $4f
 	db "@"
 	TX_RAM $cd13
@@ -126751,17 +127976,17 @@
 	TX_RAM $cd1e
 	db $0, "? ", $57
 
-_UnnamedText_71d99: ; 0xa810b
+_UnnamedText_71d99: ; a810b (2a:410b)
 	db $0, "Awww!", $4f
 	db "Oh well...", $57
 ; 0xa810b + 18 bytes
 
-_UnnamedText_71d9e: ; 0xa811d
+_UnnamedText_71d9e: ; a811d (2a:411d)
 	db $0, "What? That's not", $4f
 	db "@"
 ; 0xa811d + 18 bytes
 
-UnnamedText_a812f: ; 0xa812f
+UnnamedText_a812f: ; a812f (2a:412f)
 	TX_RAM $cd13
 	db $0, "!", $51
 	db "If you get one,", $4f
@@ -126768,17 +127993,17 @@
 	db "come back here!", $57
 ; 0xa8155
 
-_UnnamedText_71da3: ; 0xa8155
+_UnnamedText_71da3: ; a8155 (2a:4155)
 	db $0, "Hey thanks!", $57
 ; 0xa8155 + 13 bytes
 
-_UnnamedText_71da8: ; 0xa8162
+_UnnamedText_71da8: ; a8162 (2a:4162)
 	db $0, "Isn't my old", $4f
 	db "@"
 	TX_RAM $cd1e
 	db $0, " great?", $57
 
-_UnnamedText_71dad: ; 0xa817c
+_UnnamedText_71dad: ; a817c (2a:417c)
 	db $0, "Hello there! Do", $4f
 	db "you want to trade", $51
 	db "your @"
@@ -126788,12 +128013,12 @@
 	TX_RAM $cd1e
 	db $0, "?", $57
 
-_UnnamedText_71db2: ; 0xa81b5
+_UnnamedText_71db2: ; a81b5 (2a:41b5)
 	db $0, "Well, if you", $4f
 	db "don't want to...", $57
 ; 0xa81b5 + 30 bytes
 
-_UnnamedText_71db7: ; 0xa81d3
+_UnnamedText_71db7: ; a81d3 (2a:41d3)
 	db $0, "Hmmm? This isn't", $4f
 	db "@"
 	TX_RAM $cd13
@@ -126802,11 +128027,11 @@
 	db "you get one.", $57
 ; 0xa8209
 
-_UnnamedText_71dbc: ; 0xa8209
+_UnnamedText_71dbc: ; a8209 (2a:4209)
 	db $0, "Thanks!", $57
 ; 0xa8209 + 9 bytes
 
-_UnnamedText_71dc1: ; 0xa8212
+_UnnamedText_71dc1: ; a8212 (2a:4212)
 	db $0, "The @"
 	TX_RAM $cd13
 	db $0, " you", $4f
@@ -126814,7 +128039,7 @@
 	db "went and evolved!", $57
 ; 0xa8240
 
-_UnnamedText_71dc6: ; 0xa8240
+_UnnamedText_71dc6: ; a8240 (2a:4240)
 	db $0, "Hi! Do you have", $4f
 	db "@"
 	TX_RAM $cd13
@@ -126825,11 +128050,11 @@
 	db $0, "?", $57
 ; 0xa8274
 
-_UnnamedText_71dcb: ; 0xa8274
+_UnnamedText_71dcb: ; a8274 (2a:4274)
 	db $0, "That's too bad.", $57
 ; 0xa8274 + 16 bytes
 
-_UnnamedText_71dd0: ; 0xa8284
+_UnnamedText_71dd0: ; a8284 (2a:4284)
 	db $0, "...This is no", $4f
 	db "@"
 	TX_RAM $cd13
@@ -126838,11 +128063,11 @@
 	db "trade it with me!", $57
 ; 0xa82bc
 
-_UnnamedText_71dd5: ; 0xa82bc
+_UnnamedText_71dd5: ; a82bc (2a:42bc)
 	db $0, "Thanks pal!", $57
 ; 0xa82bc + 13 bytes
 
-_UnnamedText_71dda: ; 0xa82c9
+_UnnamedText_71dda: ; a82c9 (2a:42c9)
 	db $0, "How is my old", $4f
 	db "@"
 	TX_RAM $cd1e
@@ -126866,7 +128091,7 @@
 
 SECTION "bank2C",DATA,BANK[$2C]
 
-MoveNames: ; 4000
+MoveNames: ; b0000 (2c:4000)
 	db "POUND@"
 	db "KARATE CHOP@"
 	db "DOUBLESLAP@"