Difference between revisions of "Batman:RAM map"

From Data Crystal
Jump to: navigation, search
(Started RAM page)
 
(Added info + reformatted)
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{rammap|game=Donkey Kong}}
+
{{rammap|game=Batman}}
  
{| border="1" cellpadding="1"
+
===Zero Page===
|'''RAM''' || '''Purpose'''
+
  Address Usage
|-
+
 
|0A6 || Current weapon selected 00-BATMAN, 50-Bat Boomerang, 60-Ninja Stars, C0-Gun
+
  001F    Current object slot: Used by AI loop function
|-
+
  00A6    Current weapon selected
|0B7 || Health
+
              $00-Batman, $50(80)-Batarang, $60(96)-Ninja Stars, $C0(192)-Gun
|-
+
  00B4    Global timer 
|0B8 || Amount of Ammo
+
  00B7    Health  
|-
+
  00B8    Amount of Ammo  
|0D4 || Batman's X-axis
+
  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) 
 +
<br>
 
{{stub}}
 
{{stub}}
 +
{{Internal Data|game=Batman}}

Latest revision as of 18:51, 2 May 2020

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)   



Internal Data for Batman

ROM MapRAM MapText TableNotesTutorials