Difference between revisions of "Batman:RAM map"

From Data Crystal
Jump to: navigation, search
(Added info + reformatted)
 
Line 1: Line 1:
 
{{rammap|game=Batman}}
 
{{rammap|game=Batman}}
  
{| border="1" cellpadding="1"
+
===Zero Page===
|'''RAM''' || '''Function''' || '''Detail'''
+
  Address Usage
|-
+
 
|0x001F || Current object slot || Used by AI loop function
+
  001F    Current object slot: Used by AI loop function
|-
+
  00A6    Current weapon selected
|0x00A6 || Current weapon selected || $00-Batman, $50(80)-Batarang, $60(96)-Ninja Stars, $C0(192)-Gun
+
              $00-Batman, $50(80)-Batarang, $60(96)-Ninja Stars, $C0(192)-Gun
|-
+
  00B4    Global timer
|0x00B4 || Global timer ||
+
  00B7    Health  
|-
+
  00B8    Amount of Ammo  
|0x00B7 || Health ||
+
  00BE    Lives
|-
+
  00C0    BG CHR Bank 0 (tiles 00-7F)
|0x00B8 || Amount of Ammo ||
+
  00C1    BG CHR Bank 1 (tiles 80-FF)
|-
+
  00C2    SPR CHR Bank 0 (tiles 00-3F)
|0x00BE || Lives ||
+
  00C3    SPR CHR Bank 1 (tiles 40-7F)
|-
+
  00C4    SPR CHR Bank 2 (tiles 80-BF)
|0x00D4 || Batman's X position ||
+
  00C5    SPR CHR Bank 3 (tiles C0-FF)
|-
+
  00D0    Batman's Y position (unit = screen)
|0x00D6 || Batman's Y position ||
+
  00D1    Batman's Y position (unit = pixel)
|-
+
  00D2    Batman's Y position (unit = subpixel)
|0x0540 || Objects' Action IDs ||
+
  00D3    Batman's X position (unit = screen)
|-
+
  00D4    Batman's X position (unit = pixel)
|0x0580 || Objects' X positions (high byte) ||
+
  00D5    Batman's X position (unit = subpixel)
|-
+
  00D6    Batman's on-screen Y position
|0x0590 || Objects' X positions (low byte) ||
+
  00D7    Batman's on-screen X position
|-
+
  00D8    Sprite scroll Y (unit = screen) Scrolls all entities visually,
|0x05A0 || Objects' Y positions (high byte) ||
+
  00D9    Sprite scroll Y (unit = pixel)  doesn't affect collision/physics.
|-
+
  00DA    Sprite scroll X (unit = screen)
|0x05B0 || Objects' Y Positions (low byte) ||
+
  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>
 
<br>
 
{{stub}}
 
{{stub}}
 
{{Internal Data|game=Batman}}
 
{{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