Special thanks to everybody who provided me with this info on the NES.

The NES programmers had limited resources available to them. It makes one appreciate the effort that went into simply creating Donkey Kong Jr.

Hardware Overview
CPU: Western Design 6502 (capabilities include):
  • 8-bit internal registers
  • 16-bit physical address space
  • 1.79MHz
CPU Memory: 2 Kilobytes
Graphic work RAM: 2 Kilobytes
Graphic capabilities:
  • Screen resolution: 256x224 (NTSC)
  • Tile size: 8x8 pixels
  • Scrollable tile map
  • Sprite size: 8x8 pixels or 8x16 pixels
  • 64 simultaneous sprites
  • 16 simultaneous colors from a palette of 52
Sound capabilities:
  • 2 square wave channels
  • 1 triangle wave channel, plays an octave lower than the squarewave channels
  • 1 noise channel, good for drums and also sound effects
  • 1 PCM (Pulse Code Modulation) channel, a square wave with separately variable peaks and troughs, usually abused to make speech

Inside a Cartridge:

A NES ROM occupies only a small fraction of the actual cartridge volume that is available. It bears a complete set of 72 connector pins through which it interfaces with the NES. The PRG and CHR ROM chips are the 2 largest components mounted on it. If you can program a computer then you might understand the distinction between these 2 as the PRoGram and the CHaRacter ROMs. Think of them as code and data segments for the assembly language representations of the games-- because that's exactly what they are. The code, the 6502 machine language instructions, are in the PRG ROM and the graphical data is in the CHR ROM, if there is one. Sometimes, there is no CHR ROM and all the graphical data is stored along with the code in the PRG ROM.

Memory Constraints:

The brain of an NES is a Motorola 6502 which can physically address 16 bits of memory, or 64 Kilobytes. When the NES first came out in the mid-1980s, this relatively small amount of memory was adequate. But games evolved and game developers eventually wanted to do more complex things. They wanted to make games with more area and depth as well as be able to save a player's progress so the player didn't have to finish the game in one sitting.
This is where devices called memory mappers came on the scene. The earlier NES cartridges had 1-32KB PRG bank and 1-8KB CHR bank. The memory mappers performed something called a bank switch to swap banks of memory in and out of a the 6502's limited address space. As it turns out, when Nintendo designed their Gameboy, based on another 8-bit processor, the Zilog Z80, they learned a lesson from the NES and built bank switching capabilities into the Gameboy's hardware.

Known Mappers:

This is a up-to-date list of known mappers for the NES. Previously there were only 5 we knew about, which are the ones mentioned in Nintendo Power. Thanks to the developer of BioNES for this information.

Mapper # Chipset Games
0 ʤ Super Mario Brothers
1 Nintendo MMC1 Dragon Warrior 4
2 74HC161/32 Castlevania
3 74HC161/32 Gradius
4 Nintendo MMC3 Kirby's Adventure
5 Nintendo MMC5 Castlevania 3, Uncharted Waters
7 74HC161/32 Wizards and Warriors, Battle Toads
8 FFE-F3 N/A
9 Nintendo MMC2 Mike Tyson's Punch-out
10 Nintendo MMC4 Fire Emblem
11 Color Dreams Baby Boomer
15 100-in-1 100-in-1
16 Bandai Dragon Ball Z series
17 FFE-F8 N/A
18 Jaleco SS8806 Moero!! ProYakyu'90
19 Namcot 106 MegamiTensei2
21 Konami VRC2/4-A WaiWaiWorld2
22 Konami VRC2-Shift TwinBee3
23 Konami VRC2/4-B Castlevania Special(J)
24 Konami VRC2/4-C Gradius 2
25 Konami VRC6-A Castlevania 3(J)
26 Konami VRC6-B Esper Dream 2
32 iREM G-101 Image Fight(J)
33 Taito TC190/TC035 Power Blazer(J)
34 Nina-1 Deadly Towers
66 74HC161/32 Drgaon Ball, Doraemon
67 Sunsoft 3 Fantasy Zone 2
68 Sunsoft 4 After Burner
69 Sunsoft 5 Batman 2: Return of the Joker
70 74HC161/32 St. Seiya
72 74HC161/32 Pinball Quest
75 Konami VRC1
Jaleco SS8805
Moero!! Junior Basket
77 74HC161/32 Napoleon Senki
78 74HC161/32 Holy Diver
80 Taito X1-005 Demon Sword (J)
82 Taito X1-17 Kyukyoku Harikiri Stadium
85 Konami VRC7 Lagrange Point
86 74HC161/32 Moero!! ProYakyu
87 74HC161/32 TwinBee, City Connection(J)
89 74HC161/32 MitoKomon
92 74HC161/32 Moero!! ProSoccer
93 74HC161/32 Fantasy Zone

For more info, check out Marat's Documentation.

( Back to NEScene Main Menu )