The current URL is datacrystal.tcrf.net.
EarthBound/ROM map
This page needs to be formatted a bit differently. The general information on ROM maps should go on its own page. The links should be changed to point to the Earthbound pseudo-namespace and to not use BA's overly descriptive naming.
The ROM Map is a linear breakdown of the hard-coded data in the EarthBound ROM. For the purposes of this database, it serves as a jumping-off point to more specific documents regarding each identified block of code.
Notes on the ROM Map
Reading the data
The ROM Map breaks down the entirety of EarthBound's raw code into specific block by function and type of data. The start address and the end address of each block are given, plus a total byte size (shown in parentheses). All addresses are raw hex format, assuming a 24 Mbit headered ROM. Following the location and size is a brief description of the data contained within. The descriptions are linked to seperate topics with details on each block.
Categorization of blocks
Note that the categorizations below are meant strictly as a means of demarking various areas. The label given does not neccessarily mean that all the data is logically grouped in that category. For example, music and sound data are scattered throughout the ROM. Please take any seeming incongruities between actual data and the categories in stride.
The ROM Map
Primary Engine and Critical Data Bank
- 000000 to 0001FF (0001FF) = ROM Header Data
- 000200 to 0081FF (007FFF) = Unclassified Data
- 008200 to 00836F (00016F) = Important ASM (EDIT AT OWN RISK)
- 008370 to 008590 (000220) = More Important ASM (EDIT AT OWN RISK)
- 008591 to 00AD05 (002774) = Unclassified Data
- 00AD06 to 00ADA7 (0000A1) = Music Loading Routine
- 00ADA8 to 0212E5 (01653D) = Unclassified Data
- 0212E6 to 0215AB (0002C5) = HP/PP Rolling Routine
- 0215AC to 0301B6 (00EC0A) = Unclassified Data
- 0301B7 to 03E44F (00E298) = Largely Movement Data, Possibly Incongruous
- 03E450 to 03E5F7 (0001A7) = Dialog Window Attributes Table
- 03E5F8 to 03EA73 (00047B) = Unclassified Data
- 03EA74 to 03EB68 (0000F4) = Debug Mode Commands
- 03EB69 to 03F253 (0006EA) = Unclassified Data
- 03F254 to 03F28F (00003B) = Primary Font Table
- 03F290 to 03F3EC (00015C) = PSI Submenu Text
- 03F3ED to 03F4B1 (0000C4) = ASM Routine - Indeterminate Function
- 03F4B1 to 03F4B4 (000004) = Unclassified Data
- 03F4B5 to 03F5C4 (00010F) = Character Graphics Control Table
- 03F5C5 to 03FD2A (000765) = Unclassified Data, Partially ASM
- 03FD2B to 03FD46 (00001B) = Name Registration String
- 03FD47 to 0402D3 (00058C) = Unclassified Data
- 0402D4 to 040D51 (000A7D) = Movement Pattern Pointer Table
- 040D52 to 04189D (000B4A) = Unclassified Data, Partially ASM
- 04189E to 0419C7 (000129) = Decompression Routine
- 0419C8 to 043163 (00179B) = Unclassified Data
- 043164 to 04318C (000028) = Map Data Pointer Table
- 04318D to 04374F (0004C2) = Unclassified Data
- 043750 to 043768 (000018) = Goods Submenu Commands
- 043769 to 045D4C (0025E3) = Unclassified Data, Partially ASM
- 045D4D to 045E0F (0000C3) = Status Text Strings
- 045E10 to 045E85 (00007B) = Equipment Submenu Text
- 045E86 to 048236 (0023B0) = Unclassified Data
- 048237 to 04830D (0000D6) = Lumine Hall Text
- 04830E to 04A0A3 (001D95) = Unclassified Data, Partially ASM
- 04A0A4 to 04A0C3 (00001F) = Movement-Referenced Text String Pointer Table
- 04A0C4 to 04A1E0 (00011C) = ASM Routine - Indeterminate Function
- 04A1E1 to 04A28A (0000A9) = Battle Command Strings
- 04A28B to 04A508 (00027D) = Unclassified Data
- 04A509 to 04A530 (000027) = Prayer Command Text Pointers
- 04A531 to 04C25F (001D2E) = Unclassified Data
- 04C260 to 04C4DC (00027C) = Startup Menu Text Strings
- 04C4DD to 04F909 (00342C) = Unclassified Data
- 04F90A to 04FB46 (00023C) = Music track pointer table <- Inaccurate
- 04FB47 to 04FD41 (0001FA) = Sound/music pointer table <- Inaccurate
- 04FD42 to 04FF49 (000207) = Parsing Routines for 04FB47 Block
- 04FF4A to 0501FF (0002B5) = Unclassified Data
Text Bank
- 050200 to 051D11 (001B11) = Conditional Pointers for Store Dialogue
- 051D12 to 0A012E (04E41C) = Primary Dialogue Bank
- 0A012F to 0A01FF (0000D0) = Nullspace
Animation Bank
- 0A0200 to 0AD9A0 (00D7A0) = Battle BGs: Primary Data Group
- 0AD9A1 to 0ADB3C (00019B) = Battle BGs: Graphics Pointer Table
- 0ADB3D to 0ADCD8 (00019B) = Battle BGs: Arrangement Pointer Table
- 0ADCD9 to 0ADEA0 (0001C7) = Battle BGs: Pallet Pointer Table
- 0ADEA1 to 0AF457 (0015B6) = Battle BGs: Rendering Data
- 0AF458 to 0B01FF (000DA7) = Unclassified Data
- 0B0200 to 0BDA99 (00D899) = Battle BGs: Secondary Data Group
- 0BDA9A to 0BE229 (00078F) = Battle Group BG Association Data
- 0BE22A to 0C01FF (001FD5) = Audio Data Block (Unspecified)
- 0C0200 to 0C19CA (0017CA) = Animation Data: Carpainter's Lightning - Reflected
- 0C19CB to 0C215B (000790) = Animation Data: Carpainter's Lightning - Strike
- 0C215C to 0C24D7 (00037B) = Animation Data: Starman Junior's Teleport
- 0C24D8 to 0C2E88 (0009B0) = Animation Data: "BOOM!"
- 0C2E89 to 0C2EE0 (000057) = Animation Data: Zombie Attack
- 0C2EE1 to 0C2FE0 (0000FF) = Animation Data: "The End?"
- 0C2FE1 to 0C3018 (000037) = Animation Sequence Data Pointers
- 0C3019 to 0CAE24 (0000) = PSI Animation: Arrangement - First Block
- 0CAE25 to 0CB12E (0000) = PSI Animation: Graphics - First Block
- 0CB32F to 0CB812 (0000) = PSI Animation: Arrangement - Second Block
- 0CB813 to 0CBCC6 (0000) = PSI Animation: Graphics - Second Block
- 0CBCC7 to 0CDD26 (0000) = PSI Animation: Arrangement - Third Block
- 0CDD27 to 0CDFF8 (0000) = PSI Animation: Graphics - Third Block
- 0CDFF9 to 0CE51C (0000) = PSI Animation: Arrangement - Fourth Block
- 0CE51D to 0CE76C (0000) = PSI Animation: Graphics - Fourth Block
- 0CE76D to 0CF24C (0000) = PSI Animation: Arrangement - Fifth Block
- 0CF24D to 0CF3E4 (0000) = PSI Animation: Configuration Data
- 0CF3E5 to 0CF67E (0000) = PSI Animation: Arrangement - Sixth Block
- 0CF67F to 0CF78E (00010F) = PSI Animation: Pallets
- 0CF78F to 0CF816 (000087) = PSI Animation: Pointers
- 0CF817 to 0D01FF (0009E8) = Audio Data Block (Unspecified)
- 0D0200 to 0E64ED (0162ED) = Battle Sprites: Graphics
- 0E64EE to 0E6713 (000225) = Battle Sprites: Pointer Table
- 0E6714 to 0E6B13 (0003FF) = Battle Sprites: Pallets
- 0E6B14 to 0EDE44 (007330) = Swirl Animation: Data
- 0EDE45 to 0EDF40 (0000FB) = Swirl Animation: Pointer Table
- 0EDF41 to 0EDF5C (00001B) = Swirl Animation: Primary Table <- Please Confirm
- 0EDF5D to 0EFA05 (001AA8) = Sound Stone Graphics
- 0EFA06 to 0F01FF (0007F9) = Audio Data Block (Unspecified)
Map Bank
- 0F0200 to 0F284E (00264E) = Doors: Destination Table
- 0F284F to 0F5AE3 (003294) = Doors: Configuration Table
- 0F5AE4 to 0F5C38 (000154) = Overworld Event Music Pointer Table
- 0F5C39 to 0F63DF (0007A6) = Overworld Event Music Table
- 0F63E0 to 0F63E6 (000006) = Unclassified Data
- 0F63E7 to 0F6DE6 (0009FF) = NPCs: Placement Pointer Table
- 0F6DE7 to 0F8B91 (001DAA) = NPCs: Placement Data Table
- 0F8B92 to 0FF4B4 (006922) = NPCs: Dialogue and Configuration Table
- 0FF4B5 to 1001FF (000D4A) = Audio Data Block (Unspecified)
- 100200 to 1015FF (0013FF) = Doors: Pointer Table
- 101600 to 101797 (000197) = Screen Transition Configuration Table
- 101798 to 1017BF (000027) = Map Tiles: Event Control Pointer Table
- 1017C0 to 101A7F (0002BF) = Map Tiles: Event Control Table
Battle Bank
- 101A80 to 10BA7F (009FFF) = Map Data: Enemy Placement data
- 10BA80 to 10BDAB (00032B) = Enemy Placement Groups Pointer Table
- 10BDAC to 10C80C (000A60) = Enemy Placement Groups Table
- 10C80D to 10D72C (000F1F) = Enemy Battle Groups Pointer Table
- 10D72D to 10D74B (00001E) = Apparent Garbage Data (00001F)
- 10D74C to 10E1B3 (000A67) = Enemy Battle Groups Table
- 10E1B4 to 1101A7 (001FF3) = Audio Data Block (Unspecified 8,179 Kb Block)
- 1101A8 to 1101FF (000057) = Nullspace
Primary Data Groups Bank
- 110200 to 1547BF (0445BF) = Uncompressed Sprite Graphics
- 1547C0 to 1551FF (000A3F) = Nullspace
- 155200 to 1578B1 (0026B1) = Item Properties Table
- 1578B2 to 1578B8 (000006) = Nullspace
- 1578B9 to 157A9E (0001E5) = Store Inventories Table
- 157A80 to 157A9E (00001E) = Nullspace
- 157A9F to 157CAD (00020E) = PSI Teleport Destination Table
- 157CAE to 157D67 (0000B9) = Telephone Contacts Table
- 157D68 to 158C4F (000EE7) = Battle Actions Table
- 158C50 to 158F6A (00031A) = PSI Abilities Table
- 158F6B to 158F79 (00000E) = Nullspace
- 158F7A to 159122 (0001A8) = PSI Names List
- 159123 to 15914F (00002C) = NPC Battle AI Table
- 159150 to 159150 (000001) = Unclassified Data
- 159151 to 159788 (000637) = Level Up Requirements Table
- 159789 to 15EC5A (0054D1) = Enemy Configuration Table
- 15EC5B to 15EC76 (00001B) = Statistic Growth Variables
- 15EC77 to 15EDAA (000133) = Condiment Configuration Table
- 15EDAB to 15F4F2 (000747) = Preset Teleport Destination Table
- 15F4F3 to 15F6BA (0001C7) = Map Data: Hotspots Table
- 15F6BB to 15F6CE (000013) = Timed Item Transformation Table
- 15F6CF to 15F7F4 (000125) = "Don't Care" Preset Character Names
- 15F7F5 to 15F808 (000013) = Starting Statistics: Ness
- 15F809 to 15F81C (000013) = Starting Statistics: Paula
- 15F81D to 15F830 (000013) = Starting Statistics: Jeff
- 15F831 to 15F844 (000013) = Starting Statistics: Poo
- 15F845 to 15F90C (0000C7) = Timed Delivery Events Table
- 15F90D to 1601FF (0008F2) = Nullspace
Map Construction Primary Bank
- 160200 to 1751FF (014FFF) = Map Data: Primary Table
- 175200 to 17A9FF (0057FF) = Map Data: Local Tileset Table
- 17AA00 to 17B3FF (0009FF) = Map Data: Global Tileset/Pallet Table
- 17B400 to 17C7FF (0013FF) = Map Data: Per-Sector Attributes Table
- 17C800 to 17FDE7 (0035E7) = Map Data: Tile Arrangement Block 1
- 17FDE8 to 1801FF (000417) = Nullspace
- 180200 to 18914F (008F4F) = Map Data: Tile Collision Arrangement Table
- 189150 to 18F25D (00610D) = Map Data: Tile Collision Arrangement Pointer Table
Anti-Piracy Screens Bank
- 18F25E to 18F40C (0001AE) = Anti-Piracy Notice Screen Arrangement
- 18F40D to 18F5BD (0001B0) = Anti-Piracy Notice Screen Graphics
- 18F5BE to 18F5C5 (000007) = Palette for Anti-Piracy and Faulty Game Pak Screens
- 18F5C6 to 18F7C3 (0001FD) = Faulty Game Pak Notice Screen Arrangement
- 18F7C4 to 18F8B6 (0000F2) = Faulty Game Pak Notice Screen Graphics
- 18F8B7 to 1901FF (000948) = Audio Data Block (Unspecified)
Map Construction Secondary Bank
- 190200 to 19D051 (00CE51) = Map Data: Tile Arrangement Block 2
- 19D052 to 19FE17 (002DC5) = Map Data: Tile Graphics Block 1
- 19FE18 to 1A01FF (0003E7) = Audio Data Block (Unspecified)
- 1A0200 to 1A7EA6 (007CA6) = Map Data: Tile Arrangement Block 3
- 1A7EA7 to 1AFCA6 (007DFF) = Map Data: Pallets
- 1AFCA7 to 1AFD06 (00005F) = Map Data: Unused Pallet Pointer Table
- 1AFD07 to 1B01FF (0004F8) = Audio Data Block (Unspecified)
- 1B0200 to 1BF4EA (00F2EA) = Map Data: Tile Arrangement Block 4
- 1BF4EB to 1C01FF (000D14) = Audio Data Block (Unspecified 3,348 Kb Block)
- 1C0200 to 1CB222 (00B022) = Map Data: Tile Arrangement Block 5
- 1CB223 to 1CD836 (002613) = Map Data: Tile Graphics Block 2
- 1CD837 to 1CE236 (0009FF) = Map Data: Per-Sector Music Assignments
- 1CE237 to 1D01FF (001FC8) = Audio Data Block (Unspecified 8,136 Kb Block)
- 1D0200 to 1E00CD (00FECD) = Map Data: Tile Graphics Block 3
- 1E00CE to 1E01FF (000131) = Audio Data Block (Unspecified)
- 1E0200 to 1EF2E6 (00F0E6) = Map Data: Tile Graphics Block 4
- 1EF2E7 to 1EFEDC (000BF5) = Map Data: Graphics for Animated Tiles Block 1
- 1EFEDD to 1F01FF (000322) = Audio Data Block (Unspecified)
- 1F0200 to 1FC442 (00C242) = Map Data: Tile Graphics Block 5
- 1FC443 to 1FE6E0 (00229D) = Map Data: Graphics for Animated Tiles Block 2
- 1FE6E1 to 1FE75C (00007B) = Map Data: Pallet Animation Pointer Table
- 1FE75D to 1FE81A (0000BD) = Map Data: Pallet Animation Secondary Pointer/Data Table
- 1FE81B to 1FEE45 (00062A) = Map Data: Pallet Animation Table
- 1FEE46 to 2001FF (0013B9) = Audio Data Block (Unspecified 5,049 Kb Block)
Miscellaneous Graphics Bank
- 200200 to 200953 (000753) = Text Window Graphics
- 200954 to 20099F (00004B) = Flavored Text Window Graphics
- 2009A0 to 200BB3 (000213) = Romaji Font from MOTHER 2
- 200BB4 to 201558 (0009A4) = Compressed SRAM Data
- 201559 to 2015B8 (00005F) = Mr. Saturn Font Character Data
- 2015B9 to 2021B8 (000BFF) = Mr. Saturn Font Graphics
- 2021B9 to 2021C7 (00000E) = Text Window Properties Table
- 2021C8 to 202387 (0001BF) = Text Window Flavor Palettes
- 202388 to 20238F (000007) = Movement-Referenced Text String Palette
- 202390 to 2023A7 (000017) = Town Map Graphics Pointer Table
- 2023A8 to 204B1F (002777) = Onett Town Map Data
- 204B20 to 206921 (001E01) = Twoson Town Map Data
- 206921 to 208578 (001C57) = Threed Town Map Data
- 208579 to 20AFB3 (002A3A) = Fourside Town Map Data
- 20AFB4 to 20C9F0 (001A3C) = Scaraba Town Map Data
- 20C9F1 to 20EF02 (002511) = Summers Town Map Data
- 20EF03 to 2101FF (0012FC) = Audio Data Block (Unspecified 4,860 Kb Block)
- 210200 to 210851 (000651) = Coffee Sequence Text
- 210852 to 210D85 (000533) = Tea Sequence Text
- 210D86 to 210E79 (0000F3) = Movement-Referenced Text Strings
- 210E7A to 210ED9 (00005F) = Main Font Character Data
- 210EDA to 211AD9 (000BFF) = Main Font Graphics
- 211ADA to 211B39 (00005F) = 8x16 (Battle) Font Character Data
- 211B3A to 212139 (0005FF) = 8x16 (Battle) Font Graphics
- 21213A to 212199 (00005F) = 8x8 (Tiny) Font Character Data
- 21219A to 212499 (0002FF) = 8x8 (Tiny) Font Font Graphics
- 21249A to 2124F9 (00005F) = Large Font Character Data
- 2124FA to 2130F9 (000BFF) = Large Font Graphics
- 2130FA to 213189 (00008F) = Formatting For Cast Sequence Text
- 21318A to 213949 (0007BF) = Wandering Photographer Configuration Table
- 21394A to 21433E (0009F4) = Compressed Pallet Data - Indeterminate Use
- 21433F to 214FE7 (000CA8) = Staff Credits Sequence Text
- 214FE8 to 2150C0 (0000D8) = Unclassified Data
- 2150C1 to 215129 (000068) = "APE" Logo Screen Arrangement
- 21512A to 21532F (000205) = "APE" Logo Screen Graphics
- 215330 to 215373 (000043) = "APE" Logo Screen Palette
- 215374 to 2153E7 (000073) = "Halken" Logo Screen Arrangement
- 2153E8 to 2155B7 (0001CF) = "Halken" Logo Screen Graphics
- 2155B8 to 215654 (00009C) = "Halken" Logo Screen Palette
- 215655 to 21569D (000048) = "Nintendo" Logo Screen Arrangement
- 21569E to 21578E (0000F0) = "Nintendo" Logo Screen Graphics
- 21578F to 2157D2 (000043) = "Nintendo" Logo Screen Palette
- 2157D3 to 215D32 (00055F) = "Gas Station" Screen Arrangement
- 215D33 to 21ABB6 (004E83) = "Gas Station" Screen Graphics
- 21ABB7 to 21AC5C (0000A5) = "Gas Station" Screen Palette
- 21AC5D to 21ACDE (000081) = Unclassified Data
- 21ACDF to 21AD4A (00006B) = "Produced by Shigesato Itoi" Graphics Arrangement
- 21AD4B to 21AF00 (0001B5) = "Produced by Shigesato Itoi" Graphics
- 21AF01 to 21AF4D (00004C) = "Presented by Nintendo" Graphics Arrangement
- 21AF4E to 21B06E (000120) = "Presented by Nintendo" Graphics
- 21B06F to 21B07B (00000C) = Shared Palette"Produced by Shigesato Itoi" and "Presented by Nintendo" Graphics
- 21B07C to 21B082 (000006) = Title Screen Text (Static) Palette
- 21B083 to 21B0FC (000079) = Title Screen Text (Animated) Palette
- 21B0FD to 21B17C (00007F) = Title Screen Highlight (Animated) Palette
- 21B17D to 21B410 (000293) = Title Screen Static Layer Arrangement
- 21B411 to 21C8E4 (0014D3) = Title Screen Static Layer Graphics
- 21CFE1 to 21D007 (000026) = Title Screen Copyright Text Palette
- 21D008 to 21D1AE (0001A6) = Animation Control Data for Title Screen
- 21D1AF to 21D6F3 (000544) = Death Screen Graphics
- 21D6F4 to 21D7E7 (0000F3) = Death Screen Palette
- 21D7E8 to 21D8E0 (0000F8) = Death Screen Arrangement
- 21D8E1 to 21DA14 (000133) = "Cast" and "Mr. Saturn" Graphics for Cast Sequence
- 21DA15 to 21DA34 (00001F) = "Cast" Graphic Palette
- 21DA35 to 21E6E6 (000CB1) = Character Names for Cast Sequence
- 21E6E7 to 21E727 (000040) = Insane Cultist Palette for Cast Sequence
- 21E728 to 21EB13 (0003EB) = Staff Credits Sequence Font Graphics
- 21EB14 to 21EB23 (00000F) = Staff Credits Sequence Font Palette
- 21EB24 to 21EB49 (000025) = Unclassified Data
- 21EB4A to 21EC4F (000105) = Staff Credits Sequence Border Data
- 21EC50 to 21F3C2 (000772) = Town Map Point of Interest Graphics
- 21F3C3 to 21F780 (0003BD) = Unclassified Data
- 21F781 to 2E93FF (0C9C7E) = Audio Data Block (The Really Freaking Big One)
- 2E9400 to 2F01FF (006DFF) = PK Hack System Area of Doom
- 2F0200 to 2F125A (00105A) = Unclassified Data
Map Construction Ternary Bank
- 2F125B to 2F12AA (00004F) = Map Data: Tileset Pointer Table
- 2F12AB to 2F12FA (00004F) = Map Data: Tile Arrangement Pointer Table
- 2F12FB to 2F137A (00007F) = Map Data: Palette Pointer Table
- 2F137B to 2F13CA (00004F) = Map Data: Tile Collision Pointer Table
- 2F13CB to 2F141A (00004F) = Map Data: Tile Animation Pointer Table
- 2F141B to 2F146A (00004F) = Map Data: Freakish Tile Animation Pointer Table
- 2F146B to 2F153E (0000D3) = Map Data: Freakish Tile Animation Table
Secondary Engine and Critical Data Bank
- 2F153F to 2F1C7E (00073F) = Sprite Grouping Pointer Table
- 2F1C7F to 2F4C3F (002FC0) = Sprite Grouping Table
- 2F4C40 to 2F501F (0003DF) = Unclassified Data
- 2F5020 to 2FA579 (005559) = Battle Text and PSI Aesthetic Effects Coding
- 2FA57A to 2FA5B5 (00003B) = Commands Window Text Strings
- 2FA5B6 to 2FA65F (0000A9) = Status Window Text
- 2FA660 to 2FA8EB (00028B) = Name Input Window Selection Layout
- 2FA8EC to 2FDAB4 (0031C8) = Unclassified Data
Debug Menu Assembly Bank
- 2FDAB5 to 2FDB5D (0000A8) = Programmers' Debug Mode Menu Text
- 2FDB5E to 2FED6F (001211) = Unclassified Data
- 2FED70 to 2FF1B6 (000446) = Programmers' Debug Mode Font Graphics
- 2FF1B7 to 2FF2D6 (00011F) = Programmers' Debug Mode Selection Cursor Graphics (Kirby!)
- 2FF2D7 to 2FF3B6 (0000DF) = Nullspace
- 2FF3B7 to 2FF7F6 (00043F) = Unclassified Data
- 2FF7F7 to 3001FF (000A08) = Nullspace