EarthBound/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(In progress; saving because laptop is unstable.)
 
(Locate SFX queue memory)
 
(60 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Rammap|game=[[EarthBound]]}}
{{rammap|game=EarthBound}}


===WRAM===
===Core Engine Data===
* <tt>000000-000001 (000002)</tt>: [[EarthBound/VRAM_DMA_Circular_Queue#AuxiliaryData|VRAM DMA Circular Queue End/Start]]
* <tt>00000E (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#OBJSEL OBJSEL SNES register]
* <tt>00000F (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BGMODE BGMODE SNES register]
* <tt>000011 (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BGnSC BG1SC SNES register]
* <tt>000012 (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BGnSC BG2SC SNES register]
* <tt>000013 (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BGnSC BG3SC SNES register]
* <tt>000014 (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BGnSC BG4SC SNES register]
* <tt>000015 (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BG12NBA BG12NBA SNES register]
* <tt>000016 (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/PPU_registers#BG34NBA BG34NBA SNES register]
* <tt>00001E (000001)</tt>: Mirror of [https://snes.nesdev.org/wiki/MMIO_registers#NMITIMEN NMITIMEN SNES register]
* <tt>000030 (000001)</tt>: CGRAM DMA Transfer Style (minus 8 for offset into [[EarthBound/CGRAM_DMA_Transfer_Style_Table|table]])
* <tt>000065-00008C (000028)</tt> = [[EarthBound/Controller input memory|Controller input memory]]
* <tt>000091-000098 (000008)</tt> = [[EarthBound/VRAM_DMA_memory|VRAM DMA memory]]
* <tt>0000A1-0000A4 (000004)</tt> = [[EarthBound/Temp_VRAM_DMA_Data_Block#AuxiliaryData|Temp VRAM DMA Data Block offsets]]
* <tt>0000CA-0000CB (000002)</tt> = [[EarthBound/Audio/SFX_Queue#AuxiliaryData|Sound Effect Queue offsets]]


==Active Palettes==
===Active Palettes===
* <tt>000200-00023F (000040)</tt> = Current text [[EarthBound/Palettes|palette]]
* <tt>000240-0002FF (0000C0)</tt> = Current map [[EarthBound/Palettes|palette]]
* <tt>000300-00039F (0000A0)</tt> = Sprite [[EarthBound/Palettes|palettes]]
* <tt>0003A0-0003BF (000020)</tt> = Current party [[EarthBound/Palettes|palette]]
* <tt>0003C0-0003DF (000020)</tt> = Current NPC [[EarthBound/Palettes|palette]] (humans?)
* <tt>0003E0-0003FF (000020)</tt> = Current NPC [[EarthBound/Palettes|palette]] (nonhumans?)


* <tt>000200 to 00023F (000040)</tt> = [[EarthBound:Current text palette|Current text palette]]
===Queued VRAM DMA Data===
* <tt>000240 to 0002FF (0000C0)</tt> = [[EarthBound:Current map palette|Current map palette]]
* <tt>000400-0004FF (000100)</tt> = [[EarthBound/VRAM_DMA_Circular_Queue|VRAM DMA Circular Queue]]
* <tt>000300 to 00039F (0000A0)</tt> = '''''Unclassified data'''''
* <tt>0003A0 to 0003BF (000020)</tt> = [[EarthBound:Current party palette|Current party palette]]
* <tt>0003C0 to 0003DF (000020)</tt> = [[EarthBound:Current NPC palette (humans?)|Current NPC palette (humans?)]]
* <tt>0003E0 to 0003FF (000020)</tt> = [[EarthBound:Current NPC palette (nonhumans?)|Current NPC palette (nonhumans?)]]


==Miscellaneous==
===Miscellaneous===
* <tt>001AC2-001AC9 (000008)</tt> = [[EarthBound/Audio/SFX_Queue|Sound Effect Queue]]
* <tt>001ACA (000001)</tt> = [[EarthBound/Audio/SFX_Queue#AuxiliaryData|Sound Effect Queue high bit]]


* <tt>005D62 to 005D63 (000002)</tt> = [[EarthBound:Current TPT entry|Current TPT entry]]
===Credits Sequence===
* <tt>005D64 to 005D9F (00003C)</tt> = '''''Unclassified data'''''
* <tt>001E60-001E6F (00000F)</tt> = Chosen four and pet's name stored for Credits parsing (Paula's mom, Paula's dad, Poo's Master).
* <tt>005DA0 to 005DA1 (000002)</tt> = If nonzero, causes mashroomization walking-direction-jumbling.


==Windows==
===Local Memory===
* <tt>???-001F00</tt> = Direct Page memory
* <tt>???-001FFF</tt> = Stack memory


* <tt>008650 to 0088DF (000290)</tt> = [[EarthBound:Window statistics table|Window statistics table]]
===Temp VRAM DMA Data===
* <tt>0088E0 to 0088E3 (000004)</tt> = '''''Unclassified data'''''
* <tt>002000-0021FF (000200)</tt> = [[EarthBound/Temp_VRAM_DMA_Data_Block|Temp VRAM DMA Data Block]]
* <tt>0088E4 to 7E8957 (000074)</tt> = [[EarthBound:Window existence table|Window existence table]]
          7E8958 = Current window with focus


7E9643 to 7E9644 = 0x00 outside of battle, 0x01 in battle (if nonzero, treat like 0x01)
===Map Data===
          7E9645 = Locks button input during text parsing if 01 (used by 1F 50 and 1F 51)
* <tt>00436E-00436F (000002)</tt> = Currently-loaded map tileset number
* <tt>004372-004373 (000002)</tt> = Currently-loaded map tileset index
* <tt>004390-0043CF (000040)</tt> = [[EarthBound/Map_Tile_Buffer#AuxiliaryData|Map Tile Buffer coordinates]]
* <tt>0043D0-0043DB (00000C)</tt> = [[EarthBound/Palette_Memory#7E43D0|Map palette color averages]]
* <tt>0043DC-00445B (000080)</tt> = [[EarthBound/Map_Tile_Animation_Data|Map tile animation data]]
* <tt>00445C-004471 (000016)</tt> = [[EarthBound/Palette_Memory#7E445C|Map palette animation data]]


          7E964D = 0x00 = Blinking triangle prompt, nonzero = Absence of this prompt
===Miscellaneous===
* <tt>005D62-005D63 (000002)</tt> = Current [[EarthBound/Text pointer table|TPT entry]]
* <tt>005D64-005D9F (00003C)</tt> = '''''Unclassified data'''''
* <tt>005DA0-005DA1 (000002)</tt> = If nonzero, causes mushroomization walking-direction-jumbling.


7E96C5 to 7E96C7 = Current text parser location
===Windows and text===
* <tt>008650-0088DF (000290)</tt> = [[EarthBound/Window statistics table|Window statistics table]]
* <tt>0088E0-0088E3 (000004)</tt> = '''''Unclassified data'''''
* <tt>0088E4-008957 (000074)</tt> = [[EarthBound/Window existence table|Window existence table]]
* <tt>008958-008958 (000001)</tt> = Current window with focus (what values does this use?)
* <tt>008959-009642 (000CF0)</tt> = '''''Unclassified data'''''
* <tt>009643-009644 (000002)</tt> = 0x00 outside of battle, 0x01 in battle (if nonzero, treat like 0x01)
* <tt>009645-009645 (000001)</tt> = Locks button input during text parsing if 01 (used by [[EarthBound/Text control codes|1F 50 and 1F 51]])
* <tt>009646-00964C (000007)</tt> = '''''Unclassified data'''''
* <tt>00964D-00964D (000001)</tt> = 0x00 = Blinking triangle prompt, nonzero = Absence of this prompt
* <tt>00964E-0096C4 (000077)</tt> = '''''Unclassified data'''''
* <tt>0096C5-0097B7 (0000F2)</tt> = [[EarthBound/Text parser call stack|Text parser call stack]]
* <tt>0097B8-0097B9 (000002)</tt> = [[EarthBound/Text parser call stack|Text parser stack pointer]]
* <tt>0097BA-0097CA (000011)</tt> = [[EarthBound/Memory used by control code parser|Memory used by control code parser]]


7E97BA to 7E97C9 = Storage for CC parameters.
===Persistent Data (Copied to/from [[EarthBound/SRAM_map|SRAM]])<span class="anchor" id="PersistentData"></span>===
          7E97CA = Counter for CC argument gathering loop.
* <tt>0097F5-009800 (00000C)</tt> = '''''First twelve letters of player name with spaces (0x50) replaced with K (0x7B). Left over from translation - Tony would try-make the English version of your name in katakana or hirigana in Mother 2.'''''
* <tt>009801-009818 (000018)</tt> = Player name
* <tt>009819-00981E (000006)</tt> = Pet's name
* <tt>00981F-009824 (000006)</tt> = Favourite food
* <tt>009825-009828 (000004)</tt> = "PSI "
* <tt>009829-00982E (000006)</tt> = Favourite thing
* <tt>00982F-009830 (000002)</tt> = " " and 0x00, used with favourite thing text stuff
* <tt>009831-009834 (000004)</tt> = Money on hand
* <tt>009835-009838 (000004)</tt> = Money in ATM
* <tt>009839-009839 (000001)</tt> = [[EarthBound/Learned PSI|Learned PSI]]
* <tt>00983A-00983F (000006)</tt> = '''''Unclassified data'''''
* <tt>009840-009840 (000001)</tt> = Status (00 = Normal, 01 = Burnt, 03 = Skip Sandwich)
* <tt>009841-00984A (00000A)</tt> = '''''Unclassified data'''''
* <tt>00984B-00986E (000024)</tt> = Escargo Express stored [[EarthBound/Item Properties Table|items]]
* <tt>00986F-009876 (000008)</tt> = '''''Unclassified data'''''
* <tt>009877-009878 (000002)</tt> = Party leader [[EarthBound/Map data#Coordinates|X coordinate]]
* <tt>009879-00987A (000002)</tt> = '''''Unclassified data'''''
* <tt>00987B-00987C (000002)</tt> = Party leader [[EarthBound/Map data#Coordinates|Y coordinate]]
* <tt>00987D-00987E (000002)</tt> = '''''Unclassified data'''''
* <tt>00987F-00987F (000001)</tt> = [[EarthBound/Facing direction|Direction]] Ness is facing
* <tt>009880-009882 (000003)</tt> = '''''Unclassified data'''''
* <tt>009883-009883 (000001)</tt> = [[EarthBound/Party movement style|Party movement style]]
* <tt>009884-00988A (000007)</tt> = '''''Unclassified data'''''
* <tt>00988B-009891 (000007)</tt> = ''Current [[EarthBound/Party members|party members]]
* <tt>009892-009895 (000004)</tt> = ''Current player-controlled [[EarthBound/Party members|party members]]
* <tt>009896-0098A2 (00000D)</tt> = '''''Unclassified data'''''
* <tt>0098A3-0098A3 (000001)</tt> = Number of party members
* <tt>0098A4-0098A4 (000001)</tt> = Number of player controlled party members
* <tt>0098A5-0098B0 (00000C)</tt> = '''''Unclassified data'''''
* <tt>0098B1-0098B1 (000001)</tt> = Auto Fight toggle (00 = Off, 01 = On)
* <tt>0098B2-0098B5 (000004)</tt> = Exit Mouse [[EarthBound/Map data#Coordinates|coordinates]], stored when [[EarthBound/Text control codes|1F 68]] is used
* <tt>0098B6-0098B6 (000001)</tt> = Text speed (1 = Fast, 2 = Medium, 3 = Slow)
* <tt>0098B7-0098B7 (000001)</tt> = Sound setting (1 = Stereo, 2 = Mono)
* <tt>0098B8-0099CC (000115)</tt> = '''''Unclassified data'''''
* <tt>0099CD-0099CD (000001)</tt> = [[EarthBound/Palette_Memory#$7E99CD|Current window "flavor"]]
* <tt>0099CE-009C07 (00023A)</tt> = [[EarthBound/Character_stats_table|Character stats table]]
* <tt>009C08-009C88 (000080)</tt> = [[EarthBound/Flag_Value_Table|Flag value table]]


7E97F5 to 7E9800 = First twelve letters of player name with spaces (0x50) replaced with K (0x7B). Purpose unknown.
===Miscellaneous===
7E9801 to 7E9818 = Player name
* <tt>009C89-009E53 (0001cb)</tt> = '''''Unclassified data'''''
7E9819 to 7E981E = Pet's name
* <tt>009E54-009E55 (000002)</tt> = Timer for Dad's phone calls
7E981F to 7E9824 = Favourite food
* <tt>009F77-009F78 (000002)</tt> = SRAM Version (always <code>0493</code>)
7E9825 to 7E9828 = "PSI "
* <tt>009F79-009F79 (000001)</tt> = Corrupted save slots ([[EarthBound/ROM_map#2F07A6|save slot bitflag]])<span class="anchor" id="009F79"></span>
7E9829 to 7E982E = Favourite thing
* <tt>00A21C-00A??? (000???)</tt> = [[EarthBound/Enemies in battle table|Enemies in battle table]]
7E982F to 7E9830 = " " and 0x00, used with favourite thing text stuff
* <tt>00AA10-00AA11 (000002)</tt> = [[EarthBound/Item Properties Table|Item]]-be received at the end of battle (High byte unused)
7E9831 to 7E9834 = Money on hand
* <tt>00B4A1-00B4A1 (000001)</tt> = Current selected save slot (1-3)
7E9835 to 7E9838 = Money in ATM
* <tt>00B4EF-00B4F2 (000004)</tt> = [[EarthBound/Photographer_Flags#$7EB4EF|Photographer Flags]]
          7E9839 = 1F 71 effects (see 1F 71 Footnote)
* <tt>00B549-00B549 (000001)</tt> = [[EarthBound/Sector boundary behavior|Sector boundary behavior]]
7E983A to 7E983F = *** UNKNOWN ***
* <tt>00B54A-00B7FF (0002b6)</tt> = '''''Unclassified data'''''
          7E9840 = 00 = Normal, 01 = Burnt, 03 = Skip Sandwich
* <tt>00B800-00BDFF (000600)</tt> = [[EarthBound/Palette_Memory#$7EB800|Decompressed map animation palettes]]
7E9841 to 7E984A = *** UNKNOWN ***
* <tt>00C000-00DFFF (002000)</tt> = Decompressed map animation tile characters
7E984B to 7E986E = Escargo Express stored items
7E986F to 7E9876 = *** UNKNOWN ***
7E9877 to 7E9878 = Party leader X coordinate
7E9879 to 7E987A = *** UNKNOWN ***
7E987B to 7E987C = Party leader Y coordinate
7E987D to 7E987E = *** UNKNOWN ***
          7E987F = Stores direction in which Ness is facing
7E9880 to 7E9882 = *** UNKNOWN ***
          7E9883 = See 7E9883 Footnote
7E9884 to 7E988A = *** UNKNOWN ***
7E988B to 7E9891 = Party members
7E9892 to 7E9895 = Player controlled party members
7E9896 to 7E98A2 = *** UNKNOWN ***
          7E98A3 = Number of party members
          7E98A4 = Number of player controlled party members
7E98A5 to 7E98B0 = *** UNKNOWN ***
          7E98B1 = Auto Fight toggle (00 = Off, 01 = On)
7E98B2 to 7E98B5 = Exit Mouse coordinates, stored when [1F 68] used
          7E98B6 = Text speed (1 = Fast, 2 = Medium, 3 = Slow)
          7E98B7 = Sound setting (1 = Stereo, 2 = Mono)
7E98B8 to 7E99CD = *** UNKNOWN ***
7E99CE to 7E99D2 = Ness name
          7E99D3 = Ness level
7E99D4 to 7E99D7 = Ness exp
7E99D8 to 7E99D9 = Ness max HP
7E99DA to 7E99DB = Ness max PP
7E99DC to 7E99E2 = Ness status (see Status Footnote)
7E99E3 to 7E99E9 = Ness stats after item effects
7E99EA to 7E99F0 = Ness stats before item effects
7E99F1 to 7E99FE = Ness items
7E99FF to 7E9A02 = Ness equipment (numbers = position in pack)
7E9A03 to 7E9A12 = *** UNKNOWN ***
7E9A13 to 7E9A14 = Ness current HP
7E9A15 to 7E9A16 = Ness rolling HP target
7E9A17 to 7E9A18 = *** UNKNOWN ***
7E9A19 to 7E9A1A = Ness current PP
7E9A1B to 7E9A1C = Ness rolling PP target
7E9A1D to 7E9A1E = Ness HP/PP window stuff (see HP/PP Footnote)
7E9A1F to 7E9A2C = *** UNKNOWN ***
7E9A2D to 7E9A31 = Paula name
          7E9A32 = Paula level
7E9A33 to 7E9A36 = Paula exp
7E9A37 to 7E9A38 = Paula max HP
7E9A39 to 7E9A3A = Paula max PP
7E9A3B to 7E9A41 = Paula status (see Status Footnote)
7E9A42 to 7E9A48 = Paula stats after item effects
7E9A49 to 7E9A4F = Paula stats before item effects
7E9A50 to 7E9A5D = Paula items
7E9A5E to 7E9A61 = Paula equipment (numbers = position in pack)
7E9A62 to 7E9A71 = *** UNKNOWN ***
7E9A72 to 7E9A73 = Paula current HP
7E9A74 to 7E9A75 = Paula rolling HP target
7E9A76 to 7E9A77 = *** UNKNOWN ***
7E9A78 to 7E9A79 = Paula current PP
7E9A7A to 7E9A7B = Paula rolling PP target
7E9A7C to 7E9A7D = Paula HP/PP window stuff (see HP/PP Footnote)
7E9A7E to 7E9A8B = *** UNKNOWN ***
7E9A8C to 7E9A90 = Jeff name
          7E9A91 = Jeff level
7E9A92 to 7E9A95 = Jeff exp
7E9A96 to 7E9A97 = Jeff max HP
7E9A98 to 7E9A99 = Jeff max PP
7E9A9A to 7E9AA0 = Jeff status (see Status Footnote)
7E9AA1 to 7E9AA7 = Jeff stats after item effects
7E9AA8 to 7E9AAE = Jeff stats before item effects
7E9AAF to 7E9ABC = Jeff items
7E9ABD to 7E9AC0 = Jeff equipment (numbers = position in pack)
7E9AC1 to 7E9AD0 = *** UNKNOWN ***
7E9AD1 to 7E9AD2 = Jeff current HP
7E9AD3 to 7E9AD4 = Jeff rolling HP target
7E9AD5 to 7E9AD6 = *** UNKNOWN ***
7E9AD7 to 7E9AD8 = Jeff current PP
7E9AD9 to 7E9ADA = Jeff rolling PP target
7E9ADB to 7E9ADC = Jeff HP/PP window stuff (see HP/PP Footnote)
7E9ADD to 7E9AEA = *** UNKNOWN ***
7E9AEB to 7E9AEF = Poo name
          7E9AF0 = Poo level
7E9AF1 to 7E9AF4 = Poo exp
7E9AF5 to 7E9AF6 = Poo max HP
7E9AF7 to 7E9AF8 = Poo max PP
7E9AF9 to 7E9AFF = Poo status (see Status Footnote)
7E9B00 to 7E9B06 = Poo stats after item effects
7E9B07 to 7E9B0D = Poo stats before item effects
7E9B0E to 7E9B1B = Poo items
7E9B1C to 7E9B1F = Poo equipment (numbers = position in pack)
7E9B20 to 7E9B2F = *** UNKNOWN ***
7E9B30 to 7E9B31 = Poo current HP
7E9B32 to 7E9B33 = Poo rolling HP target
7E9B34 to 7E9B35 = *** UNKNOWN ***
7E9B36 to 7E9B37 = Poo current PP
7E9B38 to 7E9B39 = Poo rolling PP target
7E9B3A to 7E9B3B = Poo HP/PP window stuff (see HP/PP Footnote)
7E9B3C to 7E9B49 = *** UNKNOWN ***


7E9E54 to 7E9E55 = Timer for Dad's phone calls
===Map Buffer===
* <tt>00F000-00F1FF (000200)</tt> = [[EarthBound/Map_Tile_Buffer|Map Tile Buffer]]


7EA21C to ?????? = Enemies in current battle table (see EnemyCurrentBattle Footnote)
===Bulk Data Buffers===
* <tt>010000-017FFF (008000)</tt> = Miscellaneous Bulk Temporary Storage
* <tt>018000-01F7FF (0077ff)</tt> = [[EarthBound/Decompressed_Tile_Arrangement_Data|Decompressed Tile Arrangement Data]]
* <tt>01F800-01FF7F (000780)</tt> = [[EarthBound/Current_Tileset_Collision_Data|Current Tileset Collision Data]]


7EAA10 to 7EAA11 = Item to be received at the end of battle (7EAA11 is unused)
===Enemy in-battle data===
 
* <tt>7EA21C-7EA269 (00004e)</tt> = In Battle Enemy Entry (78 Addresses between each entry)
          7EB4A1 = Current selected save slot (1-3)
* <tt>7EA21C-7EA21D (000002)</tt> = Enemy ID (includes the Enemy ID's attacks, does not update the enemy sprite nor their stats)
 
* <tt>7EA21E-7EA21F (000002)</tt> = '''''Unclassified data'''''
          7EB549 = See 7EB549 Footnote
* <tt>7EA220-7EA220 (000001)</tt> = Enemy's Turn Action (The action number will be writen to this address before the enemy attacks)
* <tt>7EA221-7EA226 (000006)</tt> = '''''Unclassified data'''''
* <tt>7EA227-7EA227 (000001)</tt> = '''''Unclassified data'''''
* <tt>7EA228-7EA228 (000001)</tt> = Enemy's Letter Number (Like "Enemy A" = 01 and "Enemy B" = 02)
* <tt>7EA21E-7EA21F (000002)</tt> = Appearance? (00 = invisible, but can't attack and be attacked; 01 = visible and can attack/be attacked; 02+ = visible, can attack, and be targetable, but cannot be attacked)
* <tt>7EA229-7EA229 (000001)</tt> = Has the enemy gotten a turn? (00 = false, 01 = true)
* <tt>7EA22A-7EA22A (000001)</tt> = Same as 7EA228 in Battle appearance (Probably different in function, but can't be certain. As of right now, both addresses function the same)
* <tt>7EA22B-7EA22B (000001)</tt> = '''''Unclassified data'''''
* <tt>7EA22C-7EA22C (000001)</tt> = Row Placement(00 = Front Row, 01 = Back Row, 02+ = More Rows but does not show the enemy sprite, however it can be targeted)
* <tt>7EA22D-7EA22F (000003)</tt> = Enemy HP (Both has to have the same number or it's get corrected to their default value[probably...])
* <tt>7EA22E-7EA230 (000003)</tt> = '''''Unclassified data''''' (Going to assume that those are the PP values of the enemy, but can't be certain)
* <tt>7EA231-7EA231 (000001)</tt> = Enemy's Max HP (?)
* <tt>7EA232-7EA232 (000001)</tt> = Unknown (similar to 7EA22E and 7EA230)
* <tt>7EA233-7EA238 (000006)</tt> = '''''Unclassified data'''''
* <tt>7EA239-7EA239 (000001)</tt> = Enemy Status Condition (00 = normal, 01 = Death, 02 = Diamonized, 03 = Numb, 04 = Nausia, 05 = Poison, 06 = Heat Stroke, 07 = Cold, 08 = Mushroomized, 09 = Li'l Ghost, 0A+ = normal)
* <tt>7EA23A-7EA241 (000008)</tt> = '''''Unclassified data'''''
* <tt>7EA242-7EA243 (000002)</tt> = Enemy 1's Offense Stat
* <tt>7EA244-7EA245 (000002)</tt> = Enemy 1's Defense Stat
* <tt>7EA246-7EA247 (000002)</tt> = Enemy 1's Speed Stat
* <tt>7EA248-7EA249 (000002)</tt> = Enemy 1's Guts Stat
* <tt>7EA24A-7EA24B (000002)</tt> = Enemy 1's Luck Stat
* <tt>7EA24C-7EA261 (000016)</tt> = '''''Unclassified data'''''
* <tt>7EA262-7EA263 (000002)</tt> = Turn Priority (Highest number goes first, then next highest number. Speed Stat affects this.)
* <tt>7EA264-7EA264 (000001)</tt> = Blinking Counter (Blinks transparent. For example: When an enemy takes damage)
* <tt>7EA265-7EA265 (000001)</tt> = Blinking Counter (How long does the blinking last. Enemy's Turn: Blinks White, Player's Turn: Blinks Black)
* <tt>7EA266-7EA266 (000001)</tt> = Blinking Target Indicator (But does not choose the actual target though. 00 = No blink but dark shade, 01 = Normal blinking)
* <tt>7EA267-7EA267 (000001)</tt> = Darkens or Grays the Enemy Sprite (00 = Normal, 01+ = Dark shade if Player is deciding actions, Gray during battle interaction)
* <tt>7EA268-7EA269 (000002)</tt> = "the" flag (If this number is not the same as the Enemy ID of the enemy being targeted, then "the" will be displayed with the Enemy's Name)
{{Internal Data|game=EarthBound}}

Latest revision as of 19:39, 16 June 2024

Chip tiny.png The following article is a RAM map for EarthBound.

Core Engine Data

Active Palettes

  • 000200-00023F (000040) = Current text palette
  • 000240-0002FF (0000C0) = Current map palette
  • 000300-00039F (0000A0) = Sprite palettes
  • 0003A0-0003BF (000020) = Current party palette
  • 0003C0-0003DF (000020) = Current NPC palette (humans?)
  • 0003E0-0003FF (000020) = Current NPC palette (nonhumans?)

Queued VRAM DMA Data

Miscellaneous

Credits Sequence

  • 001E60-001E6F (00000F) = Chosen four and pet's name stored for Credits parsing (Paula's mom, Paula's dad, Poo's Master).

Local Memory

  • ???-001F00 = Direct Page memory
  • ???-001FFF = Stack memory

Temp VRAM DMA Data

Map Data

Miscellaneous

  • 005D62-005D63 (000002) = Current TPT entry
  • 005D64-005D9F (00003C) = Unclassified data
  • 005DA0-005DA1 (000002) = If nonzero, causes mushroomization walking-direction-jumbling.

Windows and text

  • 008650-0088DF (000290) = Window statistics table
  • 0088E0-0088E3 (000004) = Unclassified data
  • 0088E4-008957 (000074) = Window existence table
  • 008958-008958 (000001) = Current window with focus (what values does this use?)
  • 008959-009642 (000CF0) = Unclassified data
  • 009643-009644 (000002) = 0x00 outside of battle, 0x01 in battle (if nonzero, treat like 0x01)
  • 009645-009645 (000001) = Locks button input during text parsing if 01 (used by 1F 50 and 1F 51)
  • 009646-00964C (000007) = Unclassified data
  • 00964D-00964D (000001) = 0x00 = Blinking triangle prompt, nonzero = Absence of this prompt
  • 00964E-0096C4 (000077) = Unclassified data
  • 0096C5-0097B7 (0000F2) = Text parser call stack
  • 0097B8-0097B9 (000002) = Text parser stack pointer
  • 0097BA-0097CA (000011) = Memory used by control code parser

Persistent Data (Copied to/from SRAM)

  • 0097F5-009800 (00000C) = First twelve letters of player name with spaces (0x50) replaced with K (0x7B). Left over from translation - Tony would try-make the English version of your name in katakana or hirigana in Mother 2.
  • 009801-009818 (000018) = Player name
  • 009819-00981E (000006) = Pet's name
  • 00981F-009824 (000006) = Favourite food
  • 009825-009828 (000004) = "PSI "
  • 009829-00982E (000006) = Favourite thing
  • 00982F-009830 (000002) = " " and 0x00, used with favourite thing text stuff
  • 009831-009834 (000004) = Money on hand
  • 009835-009838 (000004) = Money in ATM
  • 009839-009839 (000001) = Learned PSI
  • 00983A-00983F (000006) = Unclassified data
  • 009840-009840 (000001) = Status (00 = Normal, 01 = Burnt, 03 = Skip Sandwich)
  • 009841-00984A (00000A) = Unclassified data
  • 00984B-00986E (000024) = Escargo Express stored items
  • 00986F-009876 (000008) = Unclassified data
  • 009877-009878 (000002) = Party leader X coordinate
  • 009879-00987A (000002) = Unclassified data
  • 00987B-00987C (000002) = Party leader Y coordinate
  • 00987D-00987E (000002) = Unclassified data
  • 00987F-00987F (000001) = Direction Ness is facing
  • 009880-009882 (000003) = Unclassified data
  • 009883-009883 (000001) = Party movement style
  • 009884-00988A (000007) = Unclassified data
  • 00988B-009891 (000007) = Current party members
  • 009892-009895 (000004) = Current player-controlled party members
  • 009896-0098A2 (00000D) = Unclassified data
  • 0098A3-0098A3 (000001) = Number of party members
  • 0098A4-0098A4 (000001) = Number of player controlled party members
  • 0098A5-0098B0 (00000C) = Unclassified data
  • 0098B1-0098B1 (000001) = Auto Fight toggle (00 = Off, 01 = On)
  • 0098B2-0098B5 (000004) = Exit Mouse coordinates, stored when 1F 68 is used
  • 0098B6-0098B6 (000001) = Text speed (1 = Fast, 2 = Medium, 3 = Slow)
  • 0098B7-0098B7 (000001) = Sound setting (1 = Stereo, 2 = Mono)
  • 0098B8-0099CC (000115) = Unclassified data
  • 0099CD-0099CD (000001) = Current window "flavor"
  • 0099CE-009C07 (00023A) = Character stats table
  • 009C08-009C88 (000080) = Flag value table

Miscellaneous

  • 009C89-009E53 (0001cb) = Unclassified data
  • 009E54-009E55 (000002) = Timer for Dad's phone calls
  • 009F77-009F78 (000002) = SRAM Version (always 0493)
  • 009F79-009F79 (000001) = Corrupted save slots (save slot bitflag)
  • 00A21C-00A??? (000???) = Enemies in battle table
  • 00AA10-00AA11 (000002) = Item-be received at the end of battle (High byte unused)
  • 00B4A1-00B4A1 (000001) = Current selected save slot (1-3)
  • 00B4EF-00B4F2 (000004) = Photographer Flags
  • 00B549-00B549 (000001) = Sector boundary behavior
  • 00B54A-00B7FF (0002b6) = Unclassified data
  • 00B800-00BDFF (000600) = Decompressed map animation palettes
  • 00C000-00DFFF (002000) = Decompressed map animation tile characters

Map Buffer

Bulk Data Buffers

Enemy in-battle data

  • 7EA21C-7EA269 (00004e) = In Battle Enemy Entry (78 Addresses between each entry)
  • 7EA21C-7EA21D (000002) = Enemy ID (includes the Enemy ID's attacks, does not update the enemy sprite nor their stats)
  • 7EA21E-7EA21F (000002) = Unclassified data
  • 7EA220-7EA220 (000001) = Enemy's Turn Action (The action number will be writen to this address before the enemy attacks)
  • 7EA221-7EA226 (000006) = Unclassified data
  • 7EA227-7EA227 (000001) = Unclassified data
  • 7EA228-7EA228 (000001) = Enemy's Letter Number (Like "Enemy A" = 01 and "Enemy B" = 02)
  • 7EA21E-7EA21F (000002) = Appearance? (00 = invisible, but can't attack and be attacked; 01 = visible and can attack/be attacked; 02+ = visible, can attack, and be targetable, but cannot be attacked)
  • 7EA229-7EA229 (000001) = Has the enemy gotten a turn? (00 = false, 01 = true)
  • 7EA22A-7EA22A (000001) = Same as 7EA228 in Battle appearance (Probably different in function, but can't be certain. As of right now, both addresses function the same)
  • 7EA22B-7EA22B (000001) = Unclassified data
  • 7EA22C-7EA22C (000001) = Row Placement(00 = Front Row, 01 = Back Row, 02+ = More Rows but does not show the enemy sprite, however it can be targeted)
  • 7EA22D-7EA22F (000003) = Enemy HP (Both has to have the same number or it's get corrected to their default value[probably...])
  • 7EA22E-7EA230 (000003) = Unclassified data (Going to assume that those are the PP values of the enemy, but can't be certain)
  • 7EA231-7EA231 (000001) = Enemy's Max HP (?)
  • 7EA232-7EA232 (000001) = Unknown (similar to 7EA22E and 7EA230)
  • 7EA233-7EA238 (000006) = Unclassified data
  • 7EA239-7EA239 (000001) = Enemy Status Condition (00 = normal, 01 = Death, 02 = Diamonized, 03 = Numb, 04 = Nausia, 05 = Poison, 06 = Heat Stroke, 07 = Cold, 08 = Mushroomized, 09 = Li'l Ghost, 0A+ = normal)
  • 7EA23A-7EA241 (000008) = Unclassified data
  • 7EA242-7EA243 (000002) = Enemy 1's Offense Stat
  • 7EA244-7EA245 (000002) = Enemy 1's Defense Stat
  • 7EA246-7EA247 (000002) = Enemy 1's Speed Stat
  • 7EA248-7EA249 (000002) = Enemy 1's Guts Stat
  • 7EA24A-7EA24B (000002) = Enemy 1's Luck Stat
  • 7EA24C-7EA261 (000016) = Unclassified data
  • 7EA262-7EA263 (000002) = Turn Priority (Highest number goes first, then next highest number. Speed Stat affects this.)
  • 7EA264-7EA264 (000001) = Blinking Counter (Blinks transparent. For example: When an enemy takes damage)
  • 7EA265-7EA265 (000001) = Blinking Counter (How long does the blinking last. Enemy's Turn: Blinks White, Player's Turn: Blinks Black)
  • 7EA266-7EA266 (000001) = Blinking Target Indicator (But does not choose the actual target though. 00 = No blink but dark shade, 01 = Normal blinking)
  • 7EA267-7EA267 (000001) = Darkens or Grays the Enemy Sprite (00 = Normal, 01+ = Dark shade if Player is deciding actions, Gray during battle interaction)
  • 7EA268-7EA269 (000002) = "the" flag (If this number is not the same as the Enemy ID of the enemy being targeted, then "the" will be displayed with the Enemy's Name)