RAM map: Difference between revisions

From ZAMN Hacking
Content added Content deleted
No edit summary
No edit summary
 
Line 10: Line 10:
<DPL>
<DPL>
category = RAM address
category = RAM address
ordermethod = title
include = {Infobox RAM address}:%PAGE%:length:type:name:description
include = {Infobox RAM address}:%PAGE%:length:type:name:description
table = class="wikitable sortable ram_rom_map",-,Address,Length,[[Data types|Type]],Name,Description
table = class="wikitable sortable ram_rom_map",-,Address,Length,[[Data types|Type]],Name,Description

Latest revision as of 01:13, 29 June 2024

RAM sections[edit]

  • [$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[edit]

Address Length Type Name Description
$7E:0000 4 pointer32 Pointer to the VBLANK handler
$7E:0004 2 pointer16 During VBLANK, contains a backup of the current stack pointer
$7E:0006 2 uint16 Number of entities loaded
$7E:0008 2 uint16 currentEntity 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:0020 4 uint32 frameCounter Global frame counter
$7E:0024 2 uint16 Current RNG value
$7E:006E 4 uint16[2] playerInputs Controller input for each player
$7E:0072 4 direction[2] x2 playerDPadDirections 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:1220 0x40 byte[0x40] Stack during entity processing
$7E:1260 0x40 byte[0x40] Stack during VBLANK
$7E:12A0 0x40 pointer32[0x10] VBLANK listener subroutine table
$7E:12E0 0x20 pointer32[0x08] VBLANK end listener subroutine table
$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:137E 0x40 pointer16[0x20] List of sprites that are on-screen.
$7E:13BE 0x220 byte[0x220] OAM mirror
$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: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 characterForPlayer Which character each player is
$7E:1E88 4 boolean[2] playerInGame 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 zombiesKilled Number of zombies killed
$7E:1F66 2 uint16 mummiesKilled 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 clonesKilled 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:2000 2 uint16 Reset check 1
$7E:2002 0x30 pointer16[0x18] Entity start pointer lower 16-bits
$7E:2032 0x30 pointer16[0x18] Entity start pointer banks
$7E:2062 2 uint16 Reset check 2
$7E:2064 0x96 byte[15][10] Top scores text lines
$7E:20FA 0x28 uint32[10] bcd Top scores values
$7E:2122 2 uint16 Reset check 3
$7E:2124 2 boolean Default top scores have been loaded
$7E:2126 2 uint16 Reset check 4
$7E:2128 0x2000 uint16[0x1000] VRAM tile number for each sprite tile
$7E:4128 0x100 uint16[0x80] Sprite tile number for each VRAM tile