The current URL is datacrystal.tcrf.net.
The 3-D Battles of World Runner/RAM map
The following article is a RAM map for The 3-D Battles of World Runner.
RAM Address | Function | Details | |||
0x0022 | Horizontal ground scrolling | If this does not change, the ground does not scroll left or right. | |||
0x0023 | Vertical ground scrolling | If this does not change, the ground does not scroll forward or backwards. | |||
0x0024 - 0x0025 | Input flags | Controller input | |||
0x002E | Horizontal position | The game is 255 units or positions wide in a wrap around world | |||
0x0035 | Heading | 0x00 = forward, 0xFF = backward (when bumping into pillar) | |||
0x0052 | Forward movement | Freezing this causes you not to move forward (allowing you to analyze enemy movement for rom analyze ;) | |||
0x005D | Height | Offsets at 0 when on the ground, moves up/down by 2. you can fire when this value <= 2 going or staying down. once jumping, you have one frame to fire. | |||
0x0065 | Airborne | 0=no, 1=yes | |||
0x007c | Unsure | 0x0A means uncontrollable... | |||
0x0080 | Invincibility Timer | ||||
0x0082 | Invincibility Activated | ||||
0x0083 | Timer | Some kind of count down when fired, doesnt seem to impact gameplay... starts at 28 every shot | |||
0x0089 | Timer low | ||||
0x008B | Timer high | ||||
0x0092 | new life state | 0 = starting game (reset) or nothing (just alive), 224 = gameover, 128 = unmoveable (like coming onscreen new game) until 0, 112 = dying until 128 | |||
0x00A8 | Some kind of forward position | ||||
0x00C0 | Some kind of forward position | ||||
0x00D0 | Distance of current shot | You can not fire when this is >0, and it reaches 0 before the last shot leaves the visual range. Resets immediately when hitting an enemy. | |||
0x00D9 | Something about height as well | Offsets at 181 when on the ground and decreases as you go up. There are more addresses like this one in the 0x02xx range | |||
0x00E0 | Number of Lives in Reserve | ||||
0x00E1 | Rocket | ||||
0x00E3 | Red Potion | ||||
0x00E5 | Number of Stars | ||||
0x00EE | World | ||||
0x00EF | 3-D Effect | ||||
0x0400-402 | Enemy data | Still analyzing, but this whole range is meant for enemy data. | 0x0603 - 0x0608 | Score | (value minus 0x30) is score, xxxxxx, where 100's = 0x0606, 1000's = 0x0604 etc. when the counter ticks at 999900, 0x0607's lowbyte turns to 9 as well (only time ever). After that no increments are possible. The game doesn't use the 0x0608 lowbyte, but you can set them all to 9 to get the game to show 999999 as score :) What the 0x30 represents I can't tell. |
0x06C0 - 0x070F | Ground | Indicates land, where "you" seem to be on 0x070D, E or F and 0x06C0 is at the horizon. Only lowbytes are used, E means land, 4 means gap. The graphics are adjusted according to these values (freezing them to 14 will mean there appear no gaps and you never fall) | |||
0x0700-0x071F | Palettes | ||||
0x0780-0x079F | Top ground tiles | Reflect the rotating ground tiles except for the bottom row (one full bottom row tile in height). Does not change if 0x0023 does not change. | |||
0x07A0-0x07BF | Bottom ground tiles | Reflect the bottom pixels of the ground tiles. Only one big tile high. Does not change if 0x0023 does not change. |
At normal walking speed you can see 128 frames ahead. meaning, 128 after you see a gap for the first time, you'll fall into it.
For slow speed double these values, for fast speed half them.
Jumping has speed of +2 and -2 for going up and down for a normal jump Max height is 96 for a normal jump (48 frames) Min height is 32 for a normal jump (16 frames) This means you can release the jump button, once in the air for a gap, if there is land (height/2)+1 frames from your current position. This means, that land has to be between 16 and 48 frames from where you are before you can release the jump button, x2 for slow and /2 for fast. This also means the max one jump can be is 96 frames, at fast this means 192 frames
More later...
This page is rather stubbly and could use some expansion. Are you a bad enough dude to rescue this article? |