- Multi-Memory Controller
Multi-Memory Controllers or Memory Management Controllers ["Why Game Paks Never Forget" from "Nintendo Power"] (MMC) are different kinds of special chips designed by various
video game developers for use inNintendo Entertainment System (NES) cartridges. These chips extended the capabilities of the original console and made it possible to create NES games with features the original console could not offer.With the advent of NES
emulator s, the code written to emulate these chips became known as "mappers".List of MMC chips
MMC1
*Manufacturer:
Nintendo
*Games used in: "The Legend of Zelda ", "Metroid " et al.The MMC1 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 allowed for switching of different memory banks. Program ROM could be selected in 16KB or 32KB chunks, and character ROM could be selected in 4KB or 8KB chunks. An unusual feature of this memory controller was that its input was serial, rather than parallel, so 5 sequential writes (withbit shifting ) were needed to send a command to thecircuit . [ [http://nesdevwiki.org/wiki/index.php/Nintendo_MMC1 Nintendo MMC1 from NESdevWiki] ]MMC2
*Manufacturer:
Nintendo
*Games used in: "Mike Tyson's Punch-Out!! "The MMC2 is only used in "Mike Tyson's Punch-Out!!" and the later rerelease which removedMike Tyson . A single 8KB bank of program ROM could be selected (with the remaining 24KB locked) and character ROM could be selected in "two pairs" of 4KB banks, which would be automatically switched when the video hardware attempted 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. [ [http://nesdevwiki.org/wiki/index.php/Nintendo_MMC2 Nintendo MMC2 from NESdevWiki] ]MMC3
*Manufacturer:
Nintendo
*Games used in: "Super Mario Bros 2 ", "Super Mario Bros. 3 " et al.The MMC3 was Nintendo's most popular MMC chip. It comes in "MMC3A", "B", and "C" revisions. The MMC3 added ascanline basedIRQ counter to make split screen scrolling easier to perform (mainly to allow the playfield to scroll while the status bar would remain motionless at the top or bottom of the screen), along with two selectable 8KB program ROM banks and two 2KB+four 1KB selectable character ROM banks. [ [http://nesdevwiki.org/wiki/index.php/Nintendo_MMC3 Nintendo MMC3 from NESdevWiki] ]MMC4
*Manufacturer:
Nintendo
*Games used in: "", "Fire Emblem Gaiden ", and "Famicom Wars "This chip is only used in three games, all of which were released only for the Famicom inJapan , and were developed byIntelligent Systems . Functionally, it is nearly identical to the MMC2, where the only difference is 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. [ [http://nesdevwiki.org/wiki/index.php/Nintendo_MMC4 Nintendo MMC4 from NESdevWiki] ]MMC5
*Manufacturer:
Nintendo
*Games used in: "" (NA/EU version), "Just Breed ", "Metal Slader Glory , Gun Sight,Uchuu Keibitai SDF ,Nobunaga's Ambition II ",Bandit Kings of Ancient China ,Romance of the Three Kingdoms II ,Uncharted Waters The MMC5 was Nintendo's largest mapper. It was also the most expensive, making developers avoid it. OnlyKoei seemed to use this chip regularly in their games once it was released. The chip has 1 KB of extra RAM, extrasound channel s (twosquare wave s), supports "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. [ [http://nesdevwiki.org/wiki/index.php/Nintendo_MMC5 Nintendo MMC5 from NESdevWiki] ]MMC6
*Manufacturer:
Nintendo
*Games used in: "StarTropics ", ""The MMC6 is similar to the MMC3, with an additional 1 KB of RAM which can be saved with battery backup. [ [http://nesdevwiki.org/wiki/index.php/Nintendo_MMC6 Nintendo MMC6 from NESdevWiki] ]Famicom Disk System
*Manufacturer:
Nintendo
*Games used in: "Almana no Kiseki ,Ai Senshi Nicol ,Bio Miracle Bokutte Upa ,Exciting Basket ,Falsion ,Meikyuu Jiin Dababa ,Nazo No Kabe ,Risa no Yousei Densetsu ,Relics - Ankoku Yousai ,Big Challenge! Dogfight Spirit ,Famicom Tantei Club Part II ,Link no Bouken ,Metroid (Japanese Version),Nazo No Murasamejou ,Palutena no Kagami ("FDS version of" "Kid Icarus "),Pro Wrestling ,Shin Onigashima ,Vs. Excitebike FDS,Yuuyuuki ,Zelda no Densetsu ,KikiKaiKai ", etc.
*TheFamicom Disk System 'sASIC was an extended chip, which supports awavetable sound channel.AOROM
*Manufacturer:
Nintendo
*Games used in:Battletoads ,Wizards & Warriors ,Cobra Triangle ,Jeopardy! The A*ROM mapper, named after the AMROM, ANROM, and AOROM cartridge boards that use it, was developed byChris Stamper of Rare Ltd., and manufactured by Nintendo. It is found in games developed by Rare for Nintendo, Tradewest, GameTek, Acclaim, and Milton Bradley. [ [http://www.parodius.com/~veilleux/boardtable.txt List of NES games with publisher and board] ] It uses 32 KB ROM switch and a CHR RAM. Unlike other chips, it uses one screen mirroring. [ [http://nesdevwiki.org/wiki/index.php/AOROM AOROM - NESdevWiki ] ]Third-party chips
As only first party hardware was allowed in North America and Europe, these third party chips were supposed to be used only in Japan. However, recently some of them had been found in a few North American cartridges as well.
VRC2
*Manufacurer: Konami
*games used in:Contra (Japan),Tiny Toon Adventures (Japan), 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 mapper had two known revisions: VRC2a and VRC2b. [ [http://nesdevwiki.org/wiki/index.php/Konami_VRC2 Konami VRC2 from NESdevWiki] ]VRC6
*Manufacturer:
Konami
*Games used in: "", "Madara ", "Esper Dream II ", "Nigel Mansell's World Challenge "The VRC6 (Virtual Rom Controller) was an advanced MMC chip from Konami, supporting bank switching for both program code and graphics as well as ascanline -basedIRQ counter. The chip also contained support for 3 extra sound channels (two square waves and onesawtooth wave ). It was used in "Akumajou Densetsu" (the Japanese version of "Castlevania III: Dracula's Curse"), while the US version used the MMC5 from Nintendo. Since the NES, unlike the Famicom, did not allow cartridges to add additional sound channels, the soundtrack on the US and European versions had to be rewritten to use the five sound channels built into the NES. Nigel Mansell's World Challenge contained the VRC6 chip, but did not make use of extended audio. [ [http://nesdevwiki.org/wiki/index.php/Konami_VRC6 Konami VRC6 from NESdevWiki] ]VRC7
*Manufacturer:
Konami
*Games used in: "Lagrange Point"The VRC7 was a very advanced MMC chip from Konami, not only supporting bank switching and IRQ counting equivalent to the VRC6 but also containing aYM2413 derivative providing 6 channels ofFM Synthesis audio. This advanced audio was used only in the Famicom game "Lagrange Point"; while the Japanese version of "Tiny Toon Adventures 2" also used the VRC7, it did not make use of the extended audio. [ [http://nesdevwiki.org/wiki/index.php/Konami_VRC7 Konami VRC7 from NESdevWiki] ]NAMCO106
*Manufacturer: Namco
*Games used in: "Erika to Satoru no Yumebouken, Final Lap, King of Kings, Mappy Kids, Megami Tensei II, Rolling Thunder, Sangokushi 2, Youkai Douchuuki"NAMCO106 was an advanced chip using 4-bit sample table synthesis, that supports up to 8 extra sound channels, withaliasing increasing with the number of active channels. Youkai Douchuuki contained the NAMCO106 chip, but did not make use of extended audio.FME-7
*Manufacturer: Sunsoft
*Games used in: "", "Gimmick! ", et al.The FME-7 was a memory mapping circuit developed by Sunsoft for use in NES and Famicom cartridges. It allows the program ROM to be switched in 8KB banks and the character ROM to be switched in 1KB banks. It also contains hardware allowing the cartridge to generateIRQ signals after a specified number of CPUclock cycle s, thus enabling split-screen effects with minimal use of processing power. A special version of this mapper, labeled as "SUNSOFT 5" rather than "FME-7", contains sound generation hardware which appears to be a subset of the well-knownGeneral Instrument AY-3-8910 (3 square waves). This sound generation hardware was used on only one Famicom title – "Gimmick!"Unlicensed/Homebrew MMCs
Some individual and unlicensed developers made custom mappers for the NES, most of which simply expanded the available memory.
228
*Manufacturer:
Active Enterprises
*Games used in: "Action 52 ", "Cheetahmen II "228 was a simple bank switching mapper developed for use in the notoriously poor-quality 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.External links
* [http://emu-docs.org/NES/Mappers/mappers.txt Comprehensive NES Mapper Document v0.80 by Firebug]
* [http://emu-docs.org/NES/Mappers/nesmapper.txt Bigass NES Mapper List 0.1]References
Wikimedia Foundation. 2010.