EarthBound Zero/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
mNo edit summary
(add coordinates)
Line 7: Line 7:
|-
|-
|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?
|-
|0x0818-B || The X and Y coordinates, stored strangely; see below
|}
|}
===Coordinates===
The coordinates in RAM to not correspond to coordinates<syntaxhighlight lang="python">hi</syntaxhighlight> in the rest of the game.  To convert it, run this Python code (in this example, bytes $818-B are `80 19 C0 2D`):
<pre>
# replace with the values from the RAM
ram_x = 0x1980
ram_y = 0x2dc0
real_x = ((ram_x - 0xfe00) % 0x10000) / 0x80
real_y = ((ram_y - 0x1e40) % 0x10000) / 0x80
</pre>


{{Internal Data|game=EarthBound Zero}}
{{Internal Data|game=EarthBound Zero}}

Revision as of 14:25, 24 May 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.
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

hi

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 = ((ram_x - 0xfe00) % 0x10000) / 0x80
real_y = ((ram_y - 0x1e40) % 0x10000) / 0x80