Difference between revisions of "EarthBound:RAM map"
Jump to navigation
Jump to search
GuyInSummers (talk | contribs) (Added everything from wramrange.txt) |
(Locate controller input memory) |
||
(17 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{rammap|game=EarthBound}} |
− | == | + | ===Core Engine Data=== |
+ | * <tt>000065-00008C (000028)</tt> = [[EarthBound:Controller input memory|Controller input memory]] | ||
===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> = '''''Unclassified data''''' | ||
+ | * <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?) | ||
− | + | ===Credits Sequence=== | |
− | + | * <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> | ||
− | |||
− | |||
− | |||
===Miscellaneous=== | ===Miscellaneous=== | ||
− | + | * <tt>005D62-005D63 (000002)</tt> = Current [[EarthBound:Text pointer table|TPT entry]] | |
− | * <tt>005D62 | + | * <tt>005D64-005D9F (00003C)</tt> = '''''Unclassified data''''' |
− | * <tt>005D64 | + | * <tt>005DA0-005DA1 (000002)</tt> = If nonzero, causes mushroomization walking-direction-jumbling. |
− | * <tt>005DA0 | ||
===Windows and text=== | ===Windows and text=== | ||
− | + | * <tt>008650-0088DF (000290)</tt> = [[EarthBound:Window statistics table|Window statistics table]] | |
− | * <tt>008650 | + | * <tt>0088E0-0088E3 (000004)</tt> = '''''Unclassified data''''' |
− | * <tt>0088E0 | + | * <tt>0088E4-008957 (000074)</tt> = [[EarthBound:Window existence table|Window existence table]] |
− | * <tt>0088E4 | + | * <tt>008958-008958 (000001)</tt> = Current window with focus (what values does this use?) |
− | * <tt>008958 | + | * <tt>008959-009642 (000CF0)</tt> = '''''Unclassified data''''' |
− | * <tt>008959 | + | * <tt>009643-009644 (000002)</tt> = 0x00 outside of battle, 0x01 in battle (if nonzero, treat like 0x01) |
− | * <tt>009643 | + | * <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>009645 | + | * <tt>009646-00964C (000007)</tt> = '''''Unclassified data''''' |
− | * <tt>009646 | + | * <tt>00964D-00964D (000001)</tt> = 0x00 = Blinking triangle prompt, nonzero = Absence of this prompt |
− | * <tt>00964D | + | * <tt>00964E-0096C4 (000077)</tt> = '''''Unclassified data''''' |
− | * <tt>00964E | + | * <tt>0096C5-0097B7 (0000F2)</tt> = [[EarthBound:Text parser call stack|Text parser call stack]] |
− | * <tt>0096C5 | + | * <tt>0097B8-0097B9 (000002)</tt> = [[EarthBound:Text parser call stack|Text parser stack pointer]] |
− | * <tt> | + | * <tt>0097BA-0097CA (000011)</tt> = [[EarthBound:Memory used by control code parser|Memory used by control code parser]] |
− | * <tt>0097BA | ||
===Player data=== | ===Player data=== | ||
− | + | * <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>0097F5 | + | * <tt>009801-009818 (000018)</tt> = Player name |
− | * <tt>009801 | + | * <tt>009819-00981E (000006)</tt> = Pet's name |
− | * <tt>009819 | + | * <tt>00981F-009824 (000006)</tt> = Favourite food |
− | * <tt>00981F | + | * <tt>009825-009828 (000004)</tt> = "PSI " |
− | * <tt>009825 | + | * <tt>009829-00982E (000006)</tt> = Favourite thing |
− | * <tt>009829 | + | * <tt>00982F-009830 (000002)</tt> = " " and 0x00, used with favourite thing text stuff |
− | * <tt>00982F | + | * <tt>009831-009834 (000004)</tt> = Money on hand |
− | * <tt>009831 | + | * <tt>009835-009838 (000004)</tt> = Money in ATM |
− | * <tt>009835 | + | * <tt>009839-009839 (000001)</tt> = [[EarthBound:Learned PSI|Learned PSI]] |
− | * <tt>009839 | + | * <tt>00983A-00983F (000006)</tt> = '''''Unclassified data''''' |
− | * <tt>00983A | + | * <tt>009840-009840 (000001)</tt> = Status (00 = Normal, 01 = Burnt, 03 = Skip Sandwich) |
− | * <tt>009840 | + | * <tt>009841-00984A (00000A)</tt> = '''''Unclassified data''''' |
− | * <tt>009841 | + | * <tt>00984B-00986E (000024)</tt> = Escargo Express stored [[EarthBound:Item Properties Table|items]] |
− | * <tt>00984B | + | * <tt>00986F-009876 (000008)</tt> = '''''Unclassified data''''' |
− | * <tt>00986F | + | * <tt>009877-009878 (000002)</tt> = Party leader [[EarthBound:Map data#Coordinates|X coordinate]] |
− | * <tt>009877 | + | * <tt>009879-00987A (000002)</tt> = '''''Unclassified data''''' |
− | * <tt>009879 | + | * <tt>00987B-00987C (000002)</tt> = Party leader [[EarthBound:Map data#Coordinates|Y coordinate]] |
− | * <tt>00987B | + | * <tt>00987D-00987E (000002)</tt> = '''''Unclassified data''''' |
− | * <tt>00987D | + | * <tt>00987F-00987F (000001)</tt> = [[EarthBound:Facing direction|Direction]] Ness is facing |
− | * <tt>00987F | + | * <tt>009880-009882 (000003)</tt> = '''''Unclassified data''''' |
− | * <tt>009880 | + | * <tt>009883-009883 (000001)</tt> = [[EarthBound:Party movement style|Party movement style]] |
− | * <tt>009883 | + | * <tt>009884-00988A (000007)</tt> = '''''Unclassified data''''' |
− | * <tt>009884 | + | * <tt>00988B-009891 (000007)</tt> = ''Current [[EarthBound:Party members|party members]] |
− | * <tt>00988B | + | * <tt>009892-009895 (000004)</tt> = ''Current player-controlled [[EarthBound:Party members|party members]] |
− | * <tt>009892 | + | * <tt>009896-0098A2 (00000D)</tt> = '''''Unclassified data''''' |
− | * <tt>009896 | + | * <tt>0098A3-0098A3 (000001)</tt> = Number of party members |
− | * <tt>0098A3 | + | * <tt>0098A4-0098A4 (000001)</tt> = Number of player controlled party members |
− | * <tt>0098A4 | + | * <tt>0098A5-0098B0 (00000C)</tt> = '''''Unclassified data''''' |
− | * <tt>0098A5 | + | * <tt>0098B1-0098B1 (000001)</tt> = Auto Fight toggle (00 = Off, 01 = On) |
− | * <tt>0098B1 | + | * <tt>0098B2-0098B5 (000004)</tt> = Exit Mouse [[EarthBound:Map data#Coordinates|coordinates]], stored when [[EarthBound:Text control codes|1F 68]] is used |
− | * <tt>0098B2 | + | * <tt>0098B6-0098B6 (000001)</tt> = Text speed (1 = Fast, 2 = Medium, 3 = Slow) |
− | * <tt>0098B6 | + | * <tt>0098B7-0098B7 (000001)</tt> = Sound setting (1 = Stereo, 2 = Mono) |
− | * <tt>0098B7 | + | * <tt>0098B8-0099CD (000116)</tt> = '''''Unclassified data''''' |
− | * <tt>0098B8 | + | * <tt>0099CE-009B49 (00017C)</tt> = [[EarthBound:Character stats table|Character stats table]] |
− | * <tt>0099CE | ||
===Miscellaneous=== | ===Miscellaneous=== | ||
+ | * <tt>009E54-009E55 (000002)</tt> = Timer for Dad's phone calls | ||
+ | * <tt>00A21C-00A??? (000???)</tt> = [[EarthBound:Enemies in battle table|Enemies in battle table]] | ||
+ | * <tt>00AA10-00AA11 (000002)</tt> = [[EarthBound:Item Properties Table|Item]]-be received at the end of battle (High byte unused) | ||
+ | * <tt>00B4A1-00B4A1 (000001)</tt> = Current selected save slot (1-3) | ||
+ | * <tt>00B549-00B549 (000001)</tt> = [[EarthBound:Sector boundary behavior|Sector boundary behavior]] | ||
− | * <tt> | + | ===Enemy in-battle data=== |
− | * <tt> | + | * <tt>7EA21C-7EA269 (00004e)</tt> = In Battle Enemy Entry (78 Addresses between each entry) |
− | * <tt> | + | * <tt>7EA21C-7EA21D (000002)</tt> = Enemy ID (includes the Enemy ID's attacks, does not update the enemy sprite nor their stats) |
− | * <tt> | + | * <tt>7EA21E-7EA21F (000002)</tt> = '''''Unclassified data''''' |
− | * <tt> | + | * <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 22:54, 5 June 2023
The following article is a RAM map for EarthBound.
Core Engine Data
- 000065-00008C (000028) = Controller input memory
Active Palettes
- 000200-00023F (000040) = Current text palette
- 000240-0002FF (0000C0) = Current map palette
- 000300-00039F (0000A0) = Unclassified data
- 0003A0-0003BF (000020) = Current party palette
- 0003C0-0003DF (000020) = Current NPC palette (humans?)
- 0003E0-0003FF (000020) = Current NPC palette (nonhumans?)
Credits Sequence
- 001E60-001E6F (00000F) = Chosen four and pet's name stored for Credits parsing (Paula's mom, Paula's dad, Poo's Master).
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
Player data
- 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-0099CD (000116) = Unclassified data
- 0099CE-009B49 (00017C) = Character stats table
Miscellaneous
- 009E54-009E55 (000002) = Timer for Dad's phone calls
- 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)
- 00B549-00B549 (000001) = Sector boundary behavior
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)
Internal Data for EarthBound |
---|
ROM Map • RAM Map • Text Table • Notes • Tutorials |