EarthBound Zero/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(added values that catador figured out)
(added more addresses)
Line 5: Line 5:
|-
|-
|0x0006 || Part of an instruction for "copy protection". $E5 on checksum failure. $00 to bypass.  "Correct"/non-hack value unknown.
|0x0006 || Part of an instruction for "copy protection". $E5 on checksum failure. $00 to bypass.  "Correct"/non-hack value unknown.
|-
|0x0015 || Used for assigning area to objects?
|-
|0x0060 || HP target value for stat increase during level up
|-
|-
|0x0611 || Looks like the first EXP byte, but changing it even mid-battle will result in insta-death.  Anti-cheat?
|0x0611 || Looks like the first EXP byte, but changing it even mid-battle will result in insta-death.  Anti-cheat?

Revision as of 23:57, 24 September 2023

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

RAM Purpose
0x0006 Part of an instruction for "copy protection". $E5 on checksum failure. $00 to bypass. "Correct"/non-hack value unknown.
0x0015 Used for assigning area to objects?
0x0060 HP target value for stat increase during level up
0x0611 Looks like the first EXP byte, but changing it even mid-battle will result in insta-death. Anti-cheat?
0x0818-B The X and Y coordinates, stored strangely; see below

Coordinates

The coordinates in RAM to not correspond to coordinates in the rest of the game. To convert it, run this Python code (in this example, bytes $818-B are `80 19 C0 2D`):

# replace with the values from the RAM
ram_x = 0x1980
ram_y = 0x2dc0

real_x = ((byte1 << 8) | (byte0 & 0xC0)) >> 2
real_y = ((byte3 << 8) | (byte2 & 0xC0) - 0x2000) >> 2