Memory management controller (Nintendo)

Last updated

The Nintendo Entertainment System is enhanced by MMC chips in cartridges. NES-Console-Set.jpg
The Nintendo Entertainment System is enhanced by MMC chips in cartridges.

Multi-memory controllers or memory management controllers [1] (MMC) are different kinds of special chips designed by various video game developers for use in Nintendo Entertainment System (NES) cartridges. These chips extend the capabilities of the original console and make it possible to create NES games with features the original console cannot offer alone. The basic NES hardware supports only 40KB of ROM total, up to 32KB PRG and 8KB CHR, thus only a single tile and sprite table are possible. This limit was rapidly reached within the Famicom's first two years on the market and game developers began requesting a way to expand the console's capabilities.

Contents

In the emulation and Homebrew community, these chips are also known as mappers. [2]

List of MMC chips

CNROM

CNROM is the earliest banking hardware introduced on the Famicom, appearing in early 1986. It consists of a single 7400 series discrete logic chip. CNROM supports a single fixed PRG bank and up to eight CHR banks for 96KB total ROM. Some third party variations supported additional capabilities. Many CNROM games store the game level data in the CHR ROM and blank the screen while reading it.

UNROM

Early NES mappers are composed of 7400 series discrete logic chips. [1] :29 UNROM appeared in late 1986. It supports a single fixed 16KB PRG bank, the rest of the PRG being switchable. [3] Instead of a dedicated ROM chip to hold graphics data (called CHR by Nintendo), games using UNROM store graphics data on the program ROM and copy it to a RAM on the cartridge at run time. [1] :29

MMC1

A Tetris cartridge showing an MMC1B1 chip Nintendo-NES-Tetris-Cartridge-Board.jpg
A Tetris cartridge showing an MMC1B1 chip

The MMC1 is Nintendo's first custom MMC integrated circuit to incorporate support for saved games and multi-directional scrolling configurations. [1] :p.30 The chip comes in at least five different versions: MMC1A, MMC1B1, MMC1B2, MMC1B3 and MMC1C. The differences between the different versions are slight, mostly owing to savegame memory protection behavior. The MMC1 chip allows for switching of different memory banks. Program ROM can be selected in 16KB or 32KB chunks, and character ROM can be selected in 4KB or 8KB chunks. An unusual feature of this memory controller is that its input is serial, rather than parallel, so 5 sequential writes (with bit shifting) are needed to send a command to the circuit. [4]

MMC2

The MMC2 is only used in Mike Tyson's Punch-Out!! and the later rerelease which replaced Mike Tyson. A single 8KB bank of program ROM can be selected (with the remaining 24KB locked) and character ROM can be selected in two pairs of 4KB banks, which would be automatically switched when the video hardware attempts to load particular graphic tiles from memory, thus allowing a larger amount of graphics to be used on the screen without the need for the game itself to manually switch them. [5]

MMC3

The MMC3 chip, soldered onto a PCB containing Super Mario Bros. 3 and others MMC3B 01.jpg
The MMC3 chip, soldered onto a PCB containing Super Mario Bros. 3 and others

The MMC3 was introduced in 1988. It adds an IRQ timer to allow split screen scrolling without the sacrifice of sprite 0, along with two selectable 8KB program ROM banks and two 2KB+four 1KB selectable character ROM banks, which allows easy instant swapping of sprite and tile data. 8KB of save game RAM is supported. [6]

MMC4

This chip is only used in three games, all of which were released only for the Famicom in Japan, and were developed by Intelligent Systems. Functionally, it is nearly identical to the MMC2, with the only difference being that the MMC4 switches program ROM in 16KB banks instead of 8KB banks and has support for a battery-backed SRAM to save game data. [7]

MMC5

The MMC5 is Nintendo's most advanced MMC. It was originally also the most expensive. Only Koei used this chip regularly. It is similar to Konami's VRC6, but interrupt handling works differently. The chip has 1KB of extra RAM, two extra square wave sound channels, one extra PCM sound channel, support for vertical split screen scrolling, improved graphics capabilities (making 16,384 different tiles available per screen rather than only 256, and allowing each individual 8x8-pixel background tile to have its own color assignment instead of being restricted to one color set per 2x2 tile group), highly configurable program ROM and character ROM bank switching, and a scanline-based IRQ counter. The MMC5 supports up to 2MB total ROM, however no commercially released game exceeded 1MB. [8]

MMC6

The MMC6 is similar to the MMC3, with an additional 1 KB of RAM which can be saved with battery backup. [9]

Famicom Disk System

The Famicom Disk System's ASIC is an extended audio chip, which supports one channel of single-cycle (6-bit × 64 step) wavetable-lookup synthesis with a built in phase modulator (PM) for sound generation similar to frequency modulation synthesis. Some cartridge conversions of Disk System games have MMCs to replace the audio channel.

AOROM

The A*ROM MMC, named after the AMROM, ANROM, and AOROM cartridge boards that use it, was developed by Chris Stamper of Rare, and manufactured by Nintendo. It is found in games developed by Rare for Nintendo, Tradewest, GameTek, Acclaim, and Milton Bradley. [10] It allows the PRG ROM to be switched in a single 32KB piece and uses CHR RAM for up to 256KB total ROM. Unlike other chips, it uses one screen mirroring. [11]

Third-party chips

Nintendo maintained tight control over internationally released cartridge hardware and did not allow third parties to use their own PCBs and mappers. This remained the case until late in the NES's commercial lifespan when Nintendo eased up the restrictions. As a result, most third party mappers will only be found in Famicom or unlicensed cartridges.

VRC1

VRC2

The VRC2 is a chip from Konami that allows program ROM to be switched in 8KB banks, and character ROM to be switched in 1KB banks. This MMC has two known revisions: VRC2a and VRC2b. [13]

VRC3

Exclusively used in the Japanese version of Salamander.

VRC4

The VRC4 VRCIV 2-TYPE 01.jpg
The VRC4

The VRC4 Chip is similar to the VRC2 chip, other than the VRC4 allowing for 512KB CHR capacity, 2 8KB PRG ROM banking modes and 1 screen mirroring.

VRC5

Exclusively used in the QTa adapter in Konami's Space School series of educational games. [15]

VRC6

The VRC6. Vrc6.jpg
The VRC6.

The VRC6 (Virtual Rom Controller) is an advanced MMC chip from Konami, supporting bank switching for both program code and graphics as well as a CPU cycle–based IRQ counter, which can also act as a scanline counter. The chip also contains support for three extra sound channels (two square waves of eight duty cycles each, which can be configured to play PCM samples using 100% duty cycle, and one sawtooth wave). It is used in Akumajō Densetsu (the Japanese version of Castlevania III: Dracula's Curse ), while the Western version uses the MMC5 from Nintendo. Since the Nintendo Entertainment System does not allow cartridges to add additional sound channels, the Famicom version's soundtrack was reworked to follow those specifications; thus the soundtrack on the Western version is implemented by the five sound channels built into the stock NES. [16]

VRC7

The VRC7 with a post-processor for the FM synthesis KVRC7.JPG
The VRC7 with a post-processor for the FM synthesis

The VRC7 is an advanced MMC chip from Konami, supporting bank switching and IRQ counting equivalent to the VRC6, and containing a YM2413 derivative providing 6 channels of FM Synthesis audio. This advanced audio is used only in the Famicom game Lagrange Point. The Japanese version of Tiny Toon Adventures 2 uses the VRC7 but not the extended audio. [17] One disadvantage is it having some quantization noise, noticeable at lower notes.

Namco 163

The 163 has been only used in games exclusive to Japan. Its capabilities were a little better than Nintendo's MMC3. A variant contained extra sound hardware that plays 4-bit wave samples. It supports 1 to 8 extra sound channels, but audible aliasing appears when a sufficiently large number of channels are enabled due to the increasingly audible time-division multiplexing.[ citation needed ]

FME-7

The FME-7 is a memory mapping circuit developed by Sunsoft for use in NES and Famicom cartridges. It switches program ROM in 8KB banks and switches the character ROM 1KB banks. It also contains hardware to generate IRQ signals after a specified number of CPU clock cycles, thus achieving split-screen effects with minimal use of processing power.[ citation needed ]

SUNSOFT-4

SUNSOFT-4 SUNSOFT-4 01.jpg
SUNSOFT-4

SUNSOFT 5B

This version of the FME-7 contains a version of the widely used Yamaha YM2149.[ citation needed ]

Unlicensed MMCs

Some individual (homebrew) and unlicensed developers have made custom MMCs for the NES, most of which simply expand the available memory.

228

228 is a simple bank switching MMC developed for use in the games Action 52 and Cheetahmen II. It does not have a nametable control bit. In the Action 52 multicart, it also contains a small 16-bit register area that contains the old menu selection when exiting a game.

GTROM

GTROM or Cheapocadabra is a self-flashable MMC developed in 2015 for the homebrew market. The board contains 512K of PRG ROM, 16K of CHR ROM, and two LEDs. While the GTROM does not contain PRG RAM, saved games are possible due to PRG ROM being flashable by NES software.

See also

Related Research Articles

<span class="mw-page-title-main">Super Nintendo Entertainment System</span> Home video game console

The Super Nintendo Entertainment System, commonly shortened to Super Nintendo, Super NES or SNES, is a 16-bit home video game console developed by Nintendo that was released in 1990 in Japan and South Korea, 1991 in North America, 1992 in Europe and Oceania and 1993 in South America. In Japan, it is called the Super Famicom (SFC). In South Korea, it is called the Super Comboy and was distributed by Hyundai Electronics. The system was released in Brazil on August 30, 1993, by Playtronic. Although each version is essentially the same, several forms of regional lockout prevent cartridges for one version from being used in other versions.

<span class="mw-page-title-main">Video game console</span> Computer system for running video games

A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to a television or other display devices and controlled with a separate game controller, or handheld consoles, which include their own display unit and controller functions built into the unit and which can be played anywhere. Hybrid consoles combine elements of both home and handheld consoles.

<span class="mw-page-title-main">Famicom Disk System</span> Video game console peripheral

The Family Computer Disk System, commonly shortened to the Famicom Disk System, or just Disk System, is a peripheral for Nintendo's Family Computer home video game console, released only in Japan on February 21, 1986. It uses proprietary floppy disks called "Disk Cards" for cheaper data storage and it adds a new high-fidelity sound channel for supporting Disk System games.

<i>Castlevania II: Simons Quest</i> 1987 video game

Castlevania II: Simon's Quest is a 1987 action role-playing game developed and published by Konami. It was originally released in Japan in 1987 for the Famicom Disk System, and in North America in 1988 for the Nintendo Entertainment System. It is the second Castlevania game released for the NES, following the original Castlevania (1986). Set seven years after the events of the first installment, the player once again assumes the role of vampire hunter Simon Belmont, who is on a journey to undo a curse placed on him by Dracula at the end of their previous encounter. Dracula's body was split into five parts, which Simon must find and bring to the ruins of Castle Dracula in order to defeat him. The game deviates from the traditional platforming of its predecessor, incorporating role-playing and open world elements.

Tengen Inc. was an American video game publisher and developer that was created by the arcade game manufacturer Atari Games for publishing computer and console games. It had a Japanese subsidiary named Tengen Ltd..

<i>Castlevania III: Draculas Curse</i> 1989 video game

Castlevania III: Dracula's Curse is a 1989 platform game developed and published by Konami for the Nintendo Entertainment System. It was released in Japan in 1989, and in North America in 1990, and in Europe by Palcom in 1992. It was later released on the Virtual Console for the Wii, Nintendo 3DS, and Wii U.

<i>Journey to Silius</i> 1990 video game

Journey to Silius, known in Japan as Rough World, is a side-scrolling run and gun video game developed and published by Sunsoft for the Nintendo Entertainment System in 1990.

A raster interrupt is an interrupt signal in a legacy computer system which is used for display timing. It is usually, though not always, generated by a system's graphics chip as the scan lines of a frame are being readied to send to the monitor for display. The most basic implementation of a raster interrupt is the vertical blank interrupt.

<i>Gimmick!</i> 1992 platform video game

Gimmick!, released in Scandinavia as Mr. Gimmick, is a platform video game developed and published by Sunsoft, and originally released in Japan for the Family Computer in 1992. The story follows a small green yōkai named Yumetaro who was mistakenly gifted as a toy to a young girl. After the girl's toys come to life and whisk the girl away to another dimension, Yumetaro gives chase to save her. Playing as Yumetaro, the player must maneuver through a variety of levels, using the protagonist's star-shooting power to defeat enemies and progress through the game.

<span class="mw-page-title-main">Micro Genius</span> Line of Famicom clone consoles

Micro Genius is a brand name used for Famicom clone consoles marketed in several countries around the world, particularly in areas where Nintendo consoles were not readily available, including the Middle East, Southeast Asia, South America, Eastern Europe, South Africa and East Asian countries excluding Japan and South Korea. The name was initially and most famously used by TXC Corporation for its range of Taiwanese-made Famicom clones, software and accessories, but later passed to other companies and remains in use today on rebranded Chinese Famicom clones and LCD games.

<span class="mw-page-title-main">ROM cartridge</span> Replaceable device used for the distribution and storage of video games

A ROM cartridge, usually referred to in context simply as a cartridge, cart, or card, is a replaceable part designed to be connected to a consumer electronics device such as a home computer, video game console or, to a lesser extent, electronic musical instruments.

<i>Final Fantasy VII</i> (NES video game) Unofficial Chinese Famicom game

Final Fantasy VII is an unlicensed "Shanzhai" demake of SquareSoft's role-playing video game Final Fantasy VII, originally released for PlayStation in 1997. The two-dimensional "port" was developed and published by Chinese company Shenzhen Nanjing Technology for Subor, a Famiclone. The cartridge itself is unique, as it is structurally different from licensed Famicom cartridges in terms of hardware and programming.

<span class="mw-page-title-main">Nintendo Entertainment System</span> Home video game console

The Nintendo Entertainment System (NES) is an 8-bit third-generation home video game console produced by Nintendo. It was first released in Japan in 1983 as the Family Computer (FC), commonly referred to as Famicom. It was redesigned to become the NES, which was released in American test markets on October 18, 1985, and was soon fully launched in North America and other regions.

<i>Castlevania</i> (1986 video game) 1986 video game

Castlevania, known in Japan as Akumajō Dracula, is a 1986 platform game developed and published by Konami for the Family Computer Disk System. It was originally released in Japan in September 1986, before being ported to cartridge format and released in North America for the Nintendo Entertainment System (NES) in May 1987 and in Europe in 1988. It was also re-issued for the Family Computer in cartridge format in 1993. It is the first game in Konami's Castlevania video game series.

<span class="mw-page-title-main">Nintendo Entertainment System Game Pak</span> Software storage medium for the Nintendo Entertainment System

The Nintendo Entertainment System Game Pak is the software storage medium for the Nintendo Entertainment System.

References

  1. 1 2 3 4 5 6 "Why Your Game Paks Never Forget". Nintendo Power. No. 20. Nintendo. January 1991. pp. 28–31.
  2. "Mappers - Nesdev wiki". wiki.nesdev.com.
  3. "UxROM - Nesdev wiki". wiki.nesdev.com.
  4. "MMC1 - Nesdev wiki". wiki.nesdev.com.
  5. "MMC2 - Nesdev wiki". wiki.nesdev.com.
  6. "MMC3 - Nesdev wiki". wiki.nesdev.com.
  7. "MMC4 - Nesdev wiki". wiki.nesdev.com.
  8. "MMC5 - Nesdev wiki". wiki.nesdev.com.
  9. "MMC6 - Nesdev wiki". wiki.nesdev.com.
  10. List of NES games with publisher and board Archived August 27, 2008, at the Wayback Machine
  11. "AxROM - Nesdev wiki". wiki.nesdev.com.
  12. "VRC1 - Nesdev wiki". wiki.nesdev.com. Retrieved January 18, 2017.
  13. "VRC2 and VRC4 - Nesdev wiki". wiki.nesdev.com.
  14. "Mednafen Nintendo Entertainment System/Famicom Documentation". mednafen.github.io. Retrieved January 18, 2017.
  15. "Collector unearths long-lost 8-bit Konami games, dumps them for emulation". Arstechnica. August 29, 2019. Retrieved August 29, 2019.
  16. D'Angelo, David (June 25, 2014). "Breaking the NES for Shovel Knight". Gamasutra .
  17. "VRC7 - Nesdev wiki". www.nesdev.org.