RAM map: Difference between revisions
Content deleted Content added
Piranhaplant (talk | contribs) No edit summary |
Piranhaplant (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
== RAM sections == |
|||
* [$7E:1F8A - $7E:1FFC) - Cleared at the start of each level |
|||
* [$7E:0028 - $7E:00EF) - Cleared at end end of each game |
|||
* [$7E:137E - $7E:1FFC) - Cleared at end end of each game |
|||
* [$7E:2128 - $7E:6E32) - Cleared at end end of each game |
|||
== RAM map == |
|||
<DPL> |
<DPL> |
||
category = RAM address |
category = RAM address |
Revision as of 01:07, 17 June 2024
RAM sections
- [$7E:1F8A - $7E:1FFC) - Cleared at the start of each level
- [$7E:0028 - $7E:00EF) - Cleared at end end of each game
- [$7E:137E - $7E:1FFC) - Cleared at end end of each game
- [$7E:2128 - $7E:6E32) - Cleared at end end of each game
RAM map
Address | Length | Type | Description |
---|---|---|---|
$7E:185E | 0x280 | byte[0x14][0x20] | Sprite table. 0x14 bytes for each of 0x20 sprites. |
$7E:1B5E | 2 | pointer16 | Pointer to first sprite in sprite table ($7E:185E) |
$7E:1B6A | 2 | int16 | Camera X position |
$7E:1B6C | 2 | int16 | Camera Y position |
$7E:137E | 0x40 | pointer16[0x20] | List of sprites that are on-screen. |
$7E:0008 | 2 | uint16 | Current entity ID |
$7E:000C | 2 | uint16 | Number of entries in the VBLANK listener table ($7E:12A0) |
$7E:000E | 2 | uint16 | Number of entries in the VBLANK end listener table ($7E:12E0) |
$7E:12E0 | 0x20 | pointer32[0x08] | VBLANK end listener subroutine table |
$7E:12A0 | 0x40 | pointer32[0x10] | VBLANK listener subroutine table |
$7E:0020 | 4 | uint32 | Global frame counter |
$7E:0024 | 2 | uint16 | Current RNG value |
$7E:006E | 4 | uint16[2] | Controller input for each player |
$7E:0072 | 4 | direction[2] x2 | Current direction being inputted on the d-pad for each player |
$7E:0076 | 2 | pointer16 | Pointer to sprite collided with |
$7E:0078 | 2 | pointer16 | Pointer to this entity's sprite that collided |
$7E:009C | 2 | uint16 x2 | Number of sprites on-screen (see $7E:137E) |
$7E:00D2 | 4 | optional pointer16[2] | Pointer to sprite for each player |
$7E:00D6 | 2 | uint16 | Player 1's entity ID |
$7E:0100 | 0xC00 | byte[0x80][0x18] | Entity memory (0x80 bytes per entity) |
$7E:0D00 | 0x480 | byte[0x30][0x18] | Entity stacks (0x30 bytes per entity) |
$7E:1180 | 0x30 | bit field[0x18] | Entity status/remaining delay frames |
$7E:11B0 | 0x30 | pointer16[0x18] | Entity stack pointers |
$7E:1300 | 0x30 | pointer16[0x18] | Entity sprite collision handler lower 16-bits |
$7E:1330 | 0x30 | uint16[0x18] | Entity sprite collision handler banks |
$7E:1372 | 4 | byte[4] | Demo has been watched flags |
$7E:137A | 2 | uint16 | Number of demos that have been watched |
$7E:13BE | 0x220 | byte[0x220] | OAM mirror |
$7E:1CB8 | 4 | uint16[2] | Health of each player |
$7E:1CBC | 4 | uint16[2] | Current weapon for each player |
$7E:1CC0 | 4 | uint16[2] | Current special item for each player |
$7E:1CC4 | 4 | uint16[2] | Current weapon backup for each player |
$7E:1CC8 | 4 | uint16[2] | Current special item backup for each player |
$7E:1CCC | 0x20 | uint16[0x10] bcd | Player 1 held weapon quantities |
$7E:1CEC | 0x20 | uint16[0x10] bcd | Player 2 held weapon quantities |
$7E:1D0C | 0x20 | uint16[0x10] bcd | Player 1 held special item quantities |
$7E:1D2C | 0x20 | uint16[0x10] bcd | Player 2 held special item quantities |
$7E:1D4C | 4 | int16[2] 0-based | Lives for each player |
$7E:1D50 | 2 | uint16 | Number of victims available at the start of the next level |
$7E:1D52 | 2 | uint16 | Number of victims left on the current level |
$7E:1E72 | 4 | uint32 bcd | Player 1 score |
$7E:1E76 | 4 | uint32 bcd | Player 2 score |
$7E:1E7C | 2 | uint16 | Current level (except on bonus levels) |
$7E:1E84 | 4 | character[2] x2 | Which character each player is |
$7E:1E88 | 4 | boolean[2] | Indicates whether each player is in the game |
$7E:1F50 | 2 | uint16 | Bonus level to go to |
$7E:1F52 | 2 | uint16 | ID of extra sounds that are currently loaded |
$7E:1F64 | 2 | uint16 | Number of zombies killed |
$7E:1F66 | 2 | uint16 | Number of mummies killed |
$7E:1F68 | 2 | uint16 | Number of evil dolls killed |
$7E:1F6A | 2 | uint16 | Number of fire guys killed |
$7E:1F6C | 2 | uint16 | Number of jelly blobs killed |
$7E:1F6E | 2 | uint16 | Number of chainsaw maniacs killed |
$7E:1F70 | 2 | uint16 | Number of squidmen killed |
$7E:1F72 | 2 | uint16 | Number of martians killed |
$7E:1F74 | 2 | uint16 | Number of mushroom men killed |
$7E:1F76 | 2 | uint16 | Number of clones killed |
$7E:1F78 | 2 | uint16 | Number of spiders killed |
$7E:1F7A | 2 | uint16 | Number of ants killed |
$7E:1F7C | 2 | uint16 | Number of red ants killed |
$7E:1F7E | 2 | uint16 | Number of Frankenstein's monsters killed |
$7E:1F80 | 2 | uint16 | Number of werewolves killed |
$7E:1F82 | 2 | uint16 | Number of vampires killed |
$7E:1F84 | 2 | uint16 | Number of pod plants killed |
$7E:1F86 | 2 | uint16 | Number of tentacles killed |
$7E:1F90 | 2 | uint16 | Number of decoys currently spawned |
$7E:1F94 | 2 | boolean | Palette fade completed |
$7E:1F98 | 2 | boolean | Player 1 victim radar is turned on |
$7E:1F9A | 2 | boolean | Player 2 victim radar is turned on |
$7E:1F9C | 2 | uint16 | Number of victims saved on the current level by player 1 |
$7E:1F9E | 2 | uint16 | Number of victims saved on the current level by player 2 |
$7E:1FA0 | 11 | byte[11] | IDs of victims that have been saved on the current level by player 1 |
$7E:1FAB | 11 | byte[11] | IDs of victims that have been saved on the current level by player 2 |
$7E:1FB8 | 2 | boolean | Player 1 has gone in exit door |
$7E:1FBA | 2 | boolean | Player 2 has gone in exit door |
$7E:1FBE | 2 | uint16 | Number of keys given by a pile of keys |
$7E:1FC0 | 2 | uint16 | Number of skeleton keys given by a pile of keys |
$7E:1FC2 | 2 | uint16 | Number of walls destroyed on current level (for massive destruction bonus) |
$7E:1FC4 | 4 | uint16[2] | Number of football players passed to by each player on the current level (for bonus for pass completion) |
$7E:1FC8 | 4 | uint16[2] | Number of weeds cut by each player on the current level (for weed cutting bonus) |
$7E:1FCC | 4 | uint16[2] | Number of bazooka shots fired by each player on the current level (for no bazooka fired bonus) |
$7E:1FD0 | 4 | uint16[2] | Number of chainsaw maniacs killed by each player on the current level (for chainsaw begone bonus) |
$7E:1FD4 | 4 | uint16[2] | Number of ants killed by each player on the current level (for extermination bonus) |
$7E:1FD8 | 4 | uint16[2] | Number of squidmen killed by each player on the current level (for fish fry bonus) |
$7E:1FDC | 4 | uint16[2] | Number of martians bubbled by each player on the current level (for martian bubbled bonus) |
$7E:1FE0 | 4 | uint16[2] | Number of monsters frozen by each player on the current level (for monster frozen bonus) |
$7E:1FE4 | 4 | uint16[2] | Number of UFOs killed by each player on the current level (for alien invasion repulsed bonus) |
$7E:1FE8 | 4 | uint16[2] | Number of Frankenstein's monsters killed by each player on the current level (for Frankenstein destroy bonus) |
$7E:1FEC | 4 | uint16[2] | Number of vampires killed by each player on the current level (for vampire destroyed bonus) |
$7E:1FF0 | 4 | uint16[2] | Number of secret items collected by each player on the current level (for secret bonus, etc.) |
$7E:1FF6 | 2 | boolean | A trampoline girl is currently spawned |
$7E:2002 | 0x30 | pointer16[0x18] | Entity start pointer lower 16-bits |
$7E:2032 | 0x30 | pointer16[0x18] | Entity start pointer banks |
$7E:20FA | 0x28 | uint32[10] bcd | Top scores values |
$7E:2064 | 0x96 | byte[15][10] | Top scores text lines |
$7E:2000 | 2 | uint16 | Reset check 1 |
$7E:2062 | 2 | uint16 | Reset check 2 |
$7E:2122 | 2 | uint16 | Reset check 3 |
$7E:2126 | 2 | uint16 | Reset check 4 |
$7E:2124 | 2 | boolean | Default top scores have been loaded |
$7E:2128 | 0x2000 | uint16[0x1000] | VRAM tile number for each sprite tile |
$7E:4128 | 0x100 | uint16[0x80] | Sprite tile number for each VRAM tile |
$7E:1220 | 0x40 | byte[0x40] | Stack during entity processing |
$7E:1260 | 0x40 | byte[0x40] | Stack during VBLANK |
$7E:0000 | 4 | pointer32 | Pointer to the VBLANK handler |
$7E:0006 | 2 | uint16 | Number of entities loaded |
$7E:0004 | 2 | pointer16 | During VBLANK, contains a backup of the current stack pointer |
$7E:5428 | 0x100 | uint16[0x80] | Current background palette. Affected by palette fade, but not palette animations |
$7E:5528 | 0x100 | uint16[0x80] | Current sprite palette |
$7E:5628 | 0x100 | uint16[0x80] | Current background palette after being affected by a palette animation |