add rom map
This commit is contained in:
parent
352e6ff15c
commit
7a751b3215
30
README.md
30
README.md
|
@ -77,21 +77,25 @@ YouTube called
|
|||
Supplemental materials have been added that help explain interesting features of
|
||||
the code. Below are some of the more important documents.
|
||||
|
||||
* `docs/Aim Documentation.md` - documentation on how enemy aiming works
|
||||
* `docs/Bugs.md` - bugs identified while disassembling
|
||||
* `docs/Contra Control Flow.md` - detailed look at the game routine and level
|
||||
routine flows.
|
||||
* `docs/Enemy Glossary.md` - documentation on every enemy type in the game
|
||||
* `docs/Enemy Routines.md` - documentation on level enemy configuration and
|
||||
random soldier generation.
|
||||
* `docs/Graphics Documentation.md` - documentation on pattern tables,
|
||||
nametables, palettes, palette cycling, super-tiles, background collision, and
|
||||
compression.
|
||||
* `docs/Sound Documentation.md` - documentation on the audio engine used as well
|
||||
as information on all sounds from the game.
|
||||
* [docs/Aim Documentation.md](./docs/Aim%20Documentation.md) - documentation on
|
||||
how enemy aiming works
|
||||
* [docs/Bugs.md](./docs/Bugs.md) - bugs identified while disassembling
|
||||
* [docs/Contra Control Flow.md](./docs/Contra%20Control%20Flow.md) - detailed
|
||||
look at the game routine and level routine flows.
|
||||
* [docs/Enemy Glossary.md](./docs/Enemy%20Glossary.md) - documentation on every
|
||||
enemy type in the game
|
||||
* [docs/Enemy Routines.md](./docs/Enemy%20Routines.md) - documentation on level
|
||||
enemy configuration and random soldier generation.
|
||||
* [docs/Graphics Documentation.md](./docs/Graphics%20Documentation.md) -
|
||||
documentation on pattern tables, nametables, palettes, palette cycling,
|
||||
super-tiles, background collision, and compression.
|
||||
* [docs/ROM Map.md](./docs/ROM%20Map.md) - detailed description of ROM file
|
||||
contents
|
||||
* [docs/Sound Documentation.md](./docs/Sound%20Documentation.md) - documentation
|
||||
on the audio engine used as well as information on all sounds from the game.
|
||||
|
||||
All sprites were captured and labeled for easy reference in
|
||||
`docs/sprite_library/README.md`
|
||||
[docs/sprite_library/README.md](./docs/sprite_library/README.md)
|
||||
|
||||
### Getting Started
|
||||
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
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
|
Loading…
Reference in New Issue