nes-contra-us/docs/Rom Map.md

3.0 KiB

Below is a detailed overview of the layout of the Contra ROM file's contents.

In summary, the ROM contains the following things

Type Percentage
Compressed Graphic Data 49.177%
Code 29.721%
Compressed Audio 8.108%
Unused 5.578%
Configuration Data 4.024%
Sprite Data 2.676%
Text Data .695%

ROM Map

  • Header
    • $00000-$0000F - iNES ROM Header Data
  • Bank 0
    • $00010-$03D7A - Enemy Logic
    • $03D7B-$0400F - Unused
  • Bank 1
    • $04010-$048F7 - Sound Engine Code
    • $048F8-$06EAC - Encoded Sound Data
    • $06EAD-$0703F - Code to Draw Sprites
    • $07040-$07DF4 - Encoded Sprite Data
    • $07DF5-$0800F - Unused
  • Bank 2
    • $08010-$090A7 - Level Supertile Screen Assignments
    • $090A8-$0B001 - Compressed Graphic Data
    • $0B002-$0B328 - Player State Logic
    • $0B329-$0B428 - Level Header Data
    • $0B429-$0BD4B - Enemy Generation Logic
    • $0BD4C-$0C00F - Unused
  • Bank 3
    • $0C010-$0FE09 - Supertile and Palette Data
    • $0FE0A-$0FFBE - End Level Routine Logic
    • $0FFBF-$1000F - Unused
  • Bank 4
    • $10010-$138C8 - Compressed Graphic Data
    • $138C9-$13BA4 - Game End Routine Logic
    • $13BA5-$13DD0 - Ending Credits Data
    • $13DD1-$1400F - Unused
  • Bank 5
    • $14010-$1736D - Compressed Graphic Data
    • $1736E-$17643 - Automated Demo Input
    • $17644-$1800F - Unused
  • Bank 6
    • $18010-$1B271 - Compressed Graphic Data
    • $1B272-$1B3D6 - Text Data
    • $1B3D7-$1BD35 - Weapon Logic
    • $1BD36-$1C00F - Unused
  • Bank 7
    • $1C010-$1F621 - Game Engine Logic
    • $1F622-$1FC0F - Unused
    • $1FC10-$1FFDF - Differential Pulse Code Modulation (DPCM) Data
    • $1FFE0-$2000F - NES Undocumented Footer

Visual Rom Map

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUUUUU
CCCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCSSSSSSSSSSSSSSSSSSSSSSSSSSSUUUUD
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCCCCCCDDCCCCCCCCCCCCCCCCCCUUUUUUG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCCCUG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCCCCCCTTTTUUUUGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDDDDDDUUUUUUUUUUUUUUUUUUUUG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGTTTCCCCCCCCCCCCCCCCCCCUUUUUU
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUUUUUUUUUUUUAAAAAAAA

Legend

  • G = Compressed Graphic Data
  • C = Code
  • A = Compressed Audio
  • U = Unused
  • D = Configuration Data
  • S = Sprite Data
  • T = Text Data