Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Memory management controller (Nintendo)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Video game console technology}} {{Redirect|Memory management controller|the general concept and non-Nintendo variants|Memory management unit}} {{Use mdy dates|date=January 2020}} {{multiple issues | {{More citations needed|date=September 2007}} {{One source|date=May 2014}} {{unreliable sources|date=December 2017}} }} [[File:NES-Console-Set.jpg|thumb|right|The [[Nintendo Entertainment System]] is enhanced by MMC chips in cartridges.]] '''Multi-memory controllers''' or '''memory management controllers'''<ref name="np">{{cite magazine | title=Why Your Game Paks Never Forget | magazine=Nintendo Power | publisher=Nintendo | issue=20 | date=Jan 1991 | pages=28–31}}</ref> ('''MMC''') are different kinds of special [[Microprocessor|chips]] designed by various [[video game developer]]s for use in [[Nintendo Entertainment System]] (NES) [[ROM cartridge|cartridge]]s. These chips extend the capabilities of the original [[Video game console|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. In the emulation and [[Homebrew_(video_games)|Homebrew]] community, these chips are also known as ''mappers''.<ref>{{Cite web|url=https://www.nesdev.org/wiki/Mapper|title=Mappers - Nesdev wiki|website=wiki.nesdev.com}}</ref> ==List of MMC chips== ===CNROM=== * Manufacturer: [[Nintendo]] * Games: ''[[Gradius]]'',<ref name="np"/>{{rp|29}} ''[[Ghostbusters]]'', ''[[Gyruss]]'', ''[[Arkanoid]]'' 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=== * Manufacturer: [[Nintendo]] * Games: ''[[Pro Wrestling (NES video game)|Pro Wrestling]]'',<ref name="np"/>{{rp|29}} ''[[Ikari Warriors]]'', ''[[Mega Man (video game)|Mega Man]]'', ''[[Contra (video game)|Contra]]'', ''[[Castlevania (1986 video game)|Castlevania]]'' Early NES mappers are composed of [[7400 series]] discrete logic chips.<ref name="np"/>{{rp|29}} UNROM appeared in late 1986. It supports a single fixed 16KB PRG bank, the rest of the PRG being switchable.<ref name="nesdevwiki_unrom">{{Cite web|url=http://wiki.nesdev.com/w/index.php/UxROM|title=UxROM - Nesdev wiki|website=wiki.nesdev.com}}</ref> 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.<ref name="np"/>{{rp|29}} ===MMC1=== [[File:Nintendo-NES-Tetris-Cartridge-Board.jpg|link=File:Nintendo-NES-Tetris-Cartridge-Board.jpg|thumb|right|A ''[[Tetris (NES video game)|Tetris]]'' cartridge showing an MMC1B1 chip]] * Manufacturer: [[Nintendo]] * Games: ''[[The Legend of Zelda (video game)|The Legend of Zelda]]'', ''[[Mega Man 2]]'', ''[[Metroid]]'', ''[[Godzilla: Monster of Monsters]]'', ''[[Teenage Mutant Ninja Turtles (NES video game)|Teenage Mutant Ninja Turtles]]'', and more. The MMC1 is Nintendo's first custom MMC [[integrated circuit]] to incorporate support for saved games and multi-directional scrolling configurations.<ref name="np"/>{{rp|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 [[Read-only memory|ROM]] can be selected in 4KB or 8KB chunks. An unusual feature of this memory controller is that its input is [[Serial communication|serial]], rather than [[Parallel communication|parallel]], so 5 sequential writes (with [[bit shifting]]) are needed to send a command to the [[Integrated circuit|circuit]].<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/MMC1|title=MMC1 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===MMC2=== * Manufacturer: [[Nintendo]] * Games: ''[[Mike Tyson's Punch-Out!!]]'' 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.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/MMC2|title=MMC2 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===MMC3=== [[File:MMC3B 01.jpg|thumb|right|The MMC3 chip, soldered onto a [[Printed circuit board|PCB]] containing ''Super Mario Bros. 3'' and others]] * Manufacturer: [[Nintendo]] * Games: ''[[Mega Man 3]]'', ''[[Mega Man 4|4]]'', ''[[Mega Man 5|5]]'', ''[[Mega Man 6|6]]'', ''[[Super Mario Bros. 2]]''<sup>NA/EU</sup>, ''[[Super Mario Bros. 3]]'', ''[[Kirby's Adventure]]'', and more. 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.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/MMC3|title=MMC3 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===MMC4=== * Manufacturer: [[Nintendo]] * Games: ''[[Fire Emblem: Shadow Dragon and the Blade of Light|Fire Emblem]]'', ''[[Fire Emblem Gaiden]]'', and ''[[Famicom Wars]]'' This chip is only used in three games, all of which were released only for the [[Nintendo Entertainment System|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.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/MMC4|title=MMC4 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===MMC5=== * Manufacturer: [[Nintendo]] * Games: ''[[Castlevania III: Dracula's Curse]]''<sup>NA/EU</sup>, ''[[Just Breed]]'', ''[[Metal Slader Glory]]'', ''[[Gun Sight|Laser Invasion]]'', ''Uchuu Keibitai SDF'', ''Nobunaga's Ambition II'', ''Nobunaga no Yabou - Sengoku Gunyuu Den'', ''[[Bandit Kings of Ancient China]]'', ''[[Romance of the Three Kingdoms II]]'', ''[[Daikoukai Jidai|Uncharted Waters]]'', ''[[Genghis Khan II: Clan of the Gray Wolf]]'', ''[[Gemfire]]'', ''[[L'Empereur]]'', ''Ishin no Arashi'', ''Shin 4 Nin Uchi Mahjong - Yakuman Tengoku'', ''[[Rockman 4 Minus Infinity]]'' ([[ROM hacking|ROM hack]]) 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 [[random-access memory|RAM]], two extra [[Square wave (waveform)|square wave]] sound channels, one extra [[pulse-code modulation|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.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/MMC5|title=MMC5 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===MMC6=== * Manufacturer: [[Nintendo]] * Games: ''[[StarTropics]]'', ''[[Zoda's Revenge: StarTropics II]]'' The MMC6 is similar to the MMC3, with an additional 1 KB of RAM which can be saved with battery backup.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/MMC6|title=MMC6 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===Famicom Disk System=== * Manufacturer: [[Nintendo]] * Games: ''[[Castlevania|Akumajo Dracula]]'', ''[[Arumana no Kiseki]]'', ''[[Ai Senshi Nicol]]'', ''Big Challenge! Dogfight Spirit'', ''[[Bio Miracle Bokutte Upa]]'', ''[[Crackout (video game)|Crackout]]''<sup>JP</sup>, ''[[Double Dribble (video game)|Double Dribble]]''<sup>JP</sup>, ''[[Castlevania II: Simon's Quest|Dracula II]]'', ''[[Falsion]]'', ''[[Famicom Tantei Club Part II: Ushiro ni Tatsu Shōjo]]'', ''[[Kid Icarus]]''<sup>JP</sup>, ''[[KiKi KaiKai]]'', ''[[Meikyuu Jiin Dababa]]'', ''[[Metroid]]''<sup>JP</sup>, ''[[Pro Wrestling (NES video game)|Pro Wrestling]]''<sup>JP</sup>, ''Relics - Ankoku Yousai'', ''[[Risa no Yōsei Densetsu]]'', ''[[Shin Onigashima]]'', ''[[Super Mario Bros. 2: The Lost Levels|Super Mario Bros. 2]]''<sup>JP</sup>, ''[[The Legend of Zelda (video game)|The Legend of Zelda]]'' (FDS release), ''[[The Mysterious Murasame Castle]]'', ''Vs. Excitebike'', ''[[Yūyūki]]'', ''[[Zelda II: The Adventure of Link]]''<sup>JP</sup>, and more. The [[Famicom Disk System]]'s [[Application-specific integrated circuit|ASIC]] is an extended audio chip, which supports one channel of single-cycle (6-bit × 64 step) [[table-lookup synthesis|wavetable-lookup synthesis]] with a built in [[phase modulation|phase modulator]] (PM) for sound generation similar to that of [[frequency modulation synthesis]]. Some cartridge conversions of Disk System games have MMCs to replace the audio channel. ===AOROM=== * Manufacturer: [[Nintendo]] * Games: ''[[Battletoads (1991 video game)|Battletoads]]'', ''[[Wizards & Warriors]]'', ''[[Cobra Triangle]]'', ''[[Jeopardy! (franchise)#Video games|Jeopardy!]]'' The A*ROM MMC, named after the AMROM, ANROM, and AOROM cartridge boards that use it, was developed by [[Chris Stamper]] of [[Rare (company)|Rare]], and manufactured by Nintendo. It is found in games developed by Rare for Nintendo, Tradewest, GameTek, Acclaim, and Milton Bradley.<ref>[http://www.parodius.com/~veilleux/boardtable.txt List of NES games with publisher and board] {{webarchive|url=https://web.archive.org/web/20080827175333/http://www.parodius.com/~veilleux/boardtable.txt |date=August 27, 2008}}</ref> 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.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/AOROM|title=AxROM - Nesdev wiki|website=wiki.nesdev.com}}</ref> ==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=== * Manufacturer: Konami, Jaleco (SS8805) * Games: ''Exciting Boxing'', ''Ganbare Goemon! Karakuri Douchuu'', ''Jajamaru Ninpouchou'', ''King Kong 2: Ikari no Megaton Punch, Moero!!'', ''Junior Basket: Two on Two'', ''Tetsuwan Atom''<ref>{{Cite web|url=https://wiki.nesdev.com/w/index.php/VRC1|title=VRC1 - Nesdev wiki|website=wiki.nesdev.com|language=en|access-date=January 18, 2017}}</ref> ===VRC2=== * Manufacturer: Konami * Games: ''[[Contra (video game)|Contra]]''<sup>JP</sup>, ''[[Tiny Toon Adventures (video game)|Tiny Toon Adventures]]''<sup>JP</sup>, ''[[Kid Dracula (1990 video game)|Akumajō Special: Boku Dracula-kun]]'' 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.<ref>{{Cite web|url=http://wiki.nesdev.com/w/index.php/VRC2|title=VRC2 and VRC4 - Nesdev wiki|website=wiki.nesdev.com}}</ref> ===VRC3=== * Manufacturer: [[Konami]] * Games: ''[[Salamander (video game)|Salamander]]''<sup>JP</sup> Exclusively used in the Japanese version of ''Salamander''. ===VRC4=== [[File:VRCIV 2-TYPE 01.jpg|thumb|right|The VRC4]] * Manufacturer: [[Konami]] * Games: ''[[Gradius II]]''<sup>JP</sup>, ''[[Crisis Force]]'', ''Bio Miracle:Boku tte Upa'', ''Ganbare Goemon Gaiden 2'', ''WaiWai World'', ''WaiWai World 2'', ''Twinbee 3''<ref>{{Cite web|url=https://mednafen.github.io/documentation/nes.html|title=Mednafen Nintendo Entertainment System/Famicom Documentation|website=mednafen.github.io|access-date=January 18, 2017}}</ref> 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=== * Manufacturer: [[Konami]] * Games: ''Space School''<sup>JP</sup> Exclusively used in the QTa adapter in Konami's ''Space School'' series of educational games.<ref>{{Cite web|url=https://arstechnica.com/gaming/2019/08/collector-unearths-long-lost-8-bit-konami-games-dumps-them-for-emulation|title=Collector unearths long-lost 8-bit Konami games, dumps them for emulation|website=Arstechnica|date=August 29, 2019 |access-date=August 29, 2019}}</ref> ===VRC6=== [[File:vrc6.jpg|thumb|right|The VRC6]] * Manufacturer: [[Konami]] * Games: ''[[Castlevania III: Dracula's Curse|Akumajō Densetsu]]'', ''Mōryō Senki MADARA'', ''[[Esper Dream|Esper Dream II]]'' 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 [[Interrupt request|IRQ]] counter, which can also act as a scanline counter. The chip also contains support for three extra sound channels (two [[Square wave (waveform)|square wave]]s of eight [[duty cycle]]s 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]] by design does not allow cartridges to add additional sound channels, the Famicom version's soundtrack was reworked to follow those specifications; the soundtrack for the Western version utilizes the five stock sound channels built into the NES.<ref name="Gamasutra">{{cite web|title=Breaking the NES for Shovel Knight|url=https://www.gamedeveloper.com/design/breaking-the-nes-for-shovel-knight|website=[[Gamasutra]]|last=D'Angelo|first=David|date=June 25, 2014}}</ref> ===VRC7=== [[File:KVRC7.JPG|thumb|The VRC7 with a post-processor for FM synthesis]] * Manufacturer: [[Konami]], [[Yamaha Corporation|Yamaha]] * Games: ''[[Lagrange Point (video game)|Lagrange Point]]'', ''[[Tiny Toon Adventures 2: Trouble in Wackyland]]''<sup>JP</sup> The VRC7 is an advanced MMC chip from Konami, supporting bank switching and IRQ counting equivalent to the VRC6, as well as containing a [[YM2413]] derivative providing 6 channels of 2-op [[Frequency modulation synthesis|FM synthesis]]. The advanced audio hardware is used only in the Famicom game ''Lagrange Point''. The Japanese version of ''Tiny Toon Adventures 2'' also uses the VRC7 but does not take advantage of the extended audio.<ref>{{Cite web |title=VRC7 - Nesdev wiki |url=https://www.nesdev.org/wiki/VRC7 |website=www.nesdev.org}}</ref><ref>{{Cite web|url=https://www.nesdev.org/wiki/VRC7_audio|title=VRC7 audio|website=NESdev Wiki}}</ref> A disadvantage of the extended audio portion is that it produces some quantization noise, noticeable at lower notes. This was a carryover from the YM2413, which the VRC7's FM chip is based on. ===Namco 163=== * Manufacturer: [[Namco]] * Games: ''[[Erika to Satoru no Yume Bōken]]'', ''[[Final Lap]]'', ''[[King of Kings (1988 video game)|King of Kings]]'', ''[[Mappy Kids]]'', ''[[Digital Devil Story: Megami Tensei II]]'', ''Namco Classic II'', ''[[Romance of the Three Kingdoms (video game series)|Romance of the Three Kingdoms]]'', ''[[Romance of the Three Kingdoms II]]'', ''[[Yokai Dochuki]]'', ''[[Rolling Thunder (video game)|Rolling Thunder]]''<sup>JP</sup>, ''Top Striker'' 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|date=September 2023}} ===FME-7=== * Manufacturer: [[Sunsoft]] * Games: ''[[Batman: Return of the Joker]]'', ''[[Hebereke]]'', and more. 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 [[Interrupt request|IRQ]] signals after a specified number of CPU [[clock cycle]]s, thus achieving split-screen effects with minimal use of processing power.{{Citation needed|date=September 2023}} ===SUNSOFT-4=== [[File:SUNSOFT-4 01.jpg|thumb|right|SUNSOFT-4]] * Manufacturer: [[Sunsoft]] ===SUNSOFT 5B=== * Manufacturer: [[Sunsoft]] * Games: ''[[Gimmick!]]'' This version of the FME-7 contains a variant of the widely used [[Yamaha YM2149]] (SSG), a derivative of the popular [[AY-3-8910]] chip.{{citation needed|date=September 2023}} ==Unlicensed MMCs== Some individual ([[Homebrew (video games)#Nintendo Entertainment System (NES)|homebrew]]) and unlicensed developers have made custom MMCs for the NES, most of which simply expand the available memory. ===228=== * Manufacturer: [[Active Enterprises]] * Games: ''[[Action 52]]'', ''[[Cheetahmen II]]'' 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=== * Manufacturer: Membler Industries 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. ===MXM-1=== * Manufacturer: Something Nerdy Studios * Games: ''Former Dawn'' MXM-1 is a custom MMC developed in 2022 for use in the homebrew game ''Former Dawn''. Unlike most unlicensed MMCs, it greatly expands upon the feature set of the stock NES, allowing it to use 8x1 attributes for using more colors while also featuring FMV playback, expanded audio (8 channels of PCM audio with an echo buffer, wavetable support, and smooth sinc function based interpolation) and direct access to 768M of ROM (indirectly 2.8G) and 1M of RAM.<ref>{{Cite web|url=https://somethingnerdy.com/unlocking-the-nes-for-former-dawn/|title=Unlocking the NES (for Former Dawn) – Something Nerdy Studios|date=February 9, 2022}}</ref> ==See also== * [[List of Super NES enhancement chips]] == References == {{reflist}} [[Category:Integrated circuits]] [[Category:Memory management]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite web
(
edit
)
Template:Multiple issues
(
edit
)
Template:Redirect
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)
Template:Short description
(
edit
)
Template:Use mdy dates
(
edit
)
Template:Webarchive
(
edit
)