Previous: CNROM

NES developers eventually ran into problems with repeating graphics several times in a CNROM because parts of the graphics ROM could not be reused. Also, the size of NES games' maps and other program data was growing at an alarming rate; more elbow room was needed. Nintendo addressed both of these concerns by introducing the 128 kilobyte UNROM board.

Five chips make up UNROM (iNES board class 2). They are:

  • the NES lockout chip,
  • a 128 KB or 256 KB ROM,
  • a 74LS161 register connected to the ROM's data bus,
  • a 74LS32 OR gate connected to A14 of the NES address bus and to the 161 outputs, and
  • 8 KB of SRAM to store graphics data.
Using RAM instead of ROM in a system designed for ROM fonts was the main innovation of UNROM, and it got Nintendo U.S. Patent 5,226,136 on the system. Programs would write through the PPU to the graphics RAM whenever the screen was turned off (such as during vblank or slight pauses in the action). As with CNROM, writes to the UNROM's program space write to the 161, but the 161 and the OR gate combine to make a system where address $8000-$BFFF could be bankswitched in 16 KB units, while $C000-$FFFF was locked to the last bank in the ROM so that the NES's 6502 compatible CPU could have somewhere to get reset and interrupt vectors.

UNROM let game maps get big. It also allowed for RLE compression of graphics data, as graphics no longer had to be stored in the raw form needed by the PPU.

Examples of UNROM games: Pro Wrestling, Ikari, the original Contra, and Who's Cuter? (http://pineight.8m.com/nes.htm). Other games that can be run on an UNROM board include games written for the Codemasters mapper.

UNROM is also used as an umbrella term for other cartridges that use graphics RAM, such as some MMC1 and MMC3 titles. This may be related somehow to the word uncola.

Next: MMC1
Return to iNES Mappers Metanode