AE1/Memory Addresses

From Ape Escape Speedruns
Revision as of 22:03, 13 May 2025 by SioN (talk | contribs) (start)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Here are some memory addresses the game uses.

These are from NTSC-J 1.1 but should be either usable on others versions or you can use them to help you find them.

0EBE80			x spd
0EBE84			z spd
0EBE88			y spd
0EBF38			spike hp
0F4104			shirts
0EBEB0			spike angle
0C0452/0C04FA		spike angle flag 
after turning 180 degrees, this flag is toggled.

0EBE74			spike x pos
0EBE78			spike z pos
0EBE7C			spike y pos
0EBC38			fog distance
0F4108			level timer in frames

0EBF40			gadget in hand
0F4E24			selected gadget highlight
0F4E18			facebutton layout current
the game doesn't save each button separately, it's all in one memory address which saves your whole layout.

0F4E1C			facebutton layout memory
the game puts your current layout into here when you enter a training room.  When you leave the training room, it loads this value into the current one.

0EBE6C			camera focus x
0EBE70			camera focus y

139B00			selected level
first level in an era is 0 and the third one is 2.  Changing this value to go higher works fine and some values even have weird levels you can go into.
these levels either crash your game, start some level in the current era or enter you into a different room of a level in the era (like in era 0, level 20 goes to the slingshot room in molten lava).

139AF8			selected era
similiar to the selected level.  First era is 0, peak point is 9.
Going further reveals weird stuff.  Era 10 is empty at least visually, era 11 has a model of the earth as a level (can't select it), then eras 12 to 14 show darkened level models with the specter coin icon.
Things break after era 12 though, level models start to stack up until the game crashes on era 15.  Going negative works, but there is a million models loaded on screen and it lags.

0F4130			chips
0F40EE			level/room id
hitting a loading zone or entering a level sets this value, it then uses this value to load the desired room or level.

0F40ED			level/room id2
not sure what this is, changes in sync with the room id.