Batman: The Video Game (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Added info + reformatted)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rammap|game=Batman}}
{{rammap|game=Batman}}


===Zero Page===
==Zero Page==
   Address  Usage
   Address  Usage
    
    
Line 49: Line 49:
   00FF    PPU control shadow register
   00FF    PPU control shadow register


===System RAM===
==System RAM==
   Address  Usage
   Address  Usage
    
    

Latest revision as of 21:08, 28 January 2024

Chip tiny.png The following article is a RAM map for Batman: The Video Game (NES).

Zero Page

 Address  Usage
 
 001F     Current object slot: Used by AI loop function
 00A6     Current weapon selected
              $00-Batman, $50(80)-Batarang, $60(96)-Ninja Stars, $C0(192)-Gun
 00B4     Global timer  
 00B7     Health    
 00B8     Amount of Ammo    
 00BE     Lives 
 00C0     BG CHR Bank 0 (tiles 00-7F)
 00C1     BG CHR Bank 1 (tiles 80-FF)
 00C2     SPR CHR Bank 0 (tiles 00-3F)
 00C3     SPR CHR Bank 1 (tiles 40-7F)
 00C4     SPR CHR Bank 2 (tiles 80-BF)
 00C5     SPR CHR Bank 3 (tiles C0-FF)
 00D0     Batman's Y position (unit = screen)
 00D1     Batman's Y position (unit = pixel)
 00D2     Batman's Y position (unit = subpixel)
 00D3     Batman's X position (unit = screen)
 00D4     Batman's X position (unit = pixel)
 00D5     Batman's X position (unit = subpixel)
 00D6     Batman's on-screen Y position
 00D7     Batman's on-screen X position
 00D8     Sprite scroll Y (unit = screen) Scrolls all entities visually,
 00D9     Sprite scroll Y (unit = pixel)  doesn't affect collision/physics.
 00DA     Sprite scroll X (unit = screen)
 00DB     Sprite scroll X (unit = pixel)
 
 00E0     Left edge of view (unit = screen) stored in high nibble
 00E1     Left edge of view (unit = metatile [32×16 px]) stored in high nibble
 00E2     Right edge of view (unit = screen) stored in high nibble
 00E3     Right edge of view (unit = metatile) stored in high nibble
 00E4     OAM counter (used to index OAM while rendering sprites)
 
 00EA     View coordinates (unit = screen/high nibble = x, low nibble = y)
 00EB     View coordinates (unit = pixel/high nibble = x, low nibble = y)
 
 00F5     Joy 1 press
 00F6     Joy 2 press
 00F7     Joy 1 hold
 00F8     Joy 2 hold
 
 00FC     Scroll Y shadow register
 00FD     Scroll X shadow register
 00FE     PPU mask shadow register
 00FF     PPU control shadow register

System RAM

 Address  Usage
 
 0540     Objects' Action IDs   
 0580     Objects' X positions (high byte)  
 0590     Objects' X positions (low byte)   
 05A0     Objects' Y positions (high byte)  
 05B0     Objects' Y Positions (low byte)   


So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?