Multi-Memory Controller
Encyclopedia
Multi-Memory Controllers or Memory Management Controllers (MMC) are different kinds of special chips
designed by various video game developers for use in Nintendo 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.
Early NES mappers were made of 7400 series
discrete logic chips.:29 The UNROM, implemented with two such chips, divided the program space into two 16 KiB banks. The mapper allowed a program to switch one bank
while keeping one bank always available. Instead of a dedicated ROM chip to hold graphics data (called CHR by Nintendo), games using UNROM stored graphics data on the program ROM and copied it to a RAM on the cartridge at run time.:29
The MMC1 was Nintendo's first custom mapper integrated circuit
to incorporate support for saved games and multi-directional scrolling configurations.: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 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 (with bit shifting) were needed to send a command to the circuit
.
The MMC2 is only used in Mike Tyson's Punch-Out!! and the later rerelease which removed Mike 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.
The MMC3 was Nintendo's most popular MMC chip. It comes in MMC3A, B, and C revisions. The MMC3 added a scanline based IRQ 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.
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, 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.
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...
designed by various video game developers for use in Nintendo Entertainment System
Nintendo Entertainment System
The Nintendo Entertainment System is an 8-bit video game console that was released by Nintendo in North America during 1985, in Europe during 1986 and Australia in 1987...
(NES) cartridges. These chips extended the capabilities of the original console
Video game console
A video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...
and made it possible to create NES games with features the original console could not offer.
With the advent of NES emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
s, the code written to emulate these chips became known as mappers.
UNROM
- Manufacturer: NintendoNintendois a multinational corporation located in Kyoto, Japan. Founded on September 23, 1889 by Fusajiro Yamauchi, it produced handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
- Games used in: Pro Wrestling (Nintendo Entertainment System),:29 Ikari WarriorsIkari WarriorsIkari Warriors is a 1986 arcade game by SNK, published in the United States and Europe by Tradewest. Known simply as in Japan, this was SNK's first major breakthrough US release and became something of a classic. The game was released at the time when there were many Commando clones on the market...
, Mega ManMega Man (video game)Mega Man, known as in Japan, is a video game developed and published by Capcom for the Nintendo Entertainment System . It is the first game in the original Mega Man series and the entire Mega Man franchise...
, Contra (video game)
Early NES mappers were made of 7400 series
7400 series
The 7400 series of transistor-transistor logic integrated circuits are historically important as the first widespread family of TTL integrated circuit logic. It was used to build the mini and mainframe computers of the 1960s and 1970s...
discrete logic chips.:29 The UNROM, implemented with two such chips, divided the program space into two 16 KiB banks. The mapper allowed a program to switch one bank
Bank switching
Bank switching is a technique to increase the amount of usable memory beyond the amount directly addressable by the processor. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer...
while keeping one bank always available. Instead of a dedicated ROM chip to hold graphics data (called CHR by Nintendo), games using UNROM stored graphics data on the program ROM and copied it to a RAM on the cartridge at run time.:29
MMC1
- Manufacturer: NintendoNintendois a multinational corporation located in Kyoto, Japan. Founded on September 23, 1889 by Fusajiro Yamauchi, it produced handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
- Games used in: The Legend of Zelda, MetroidMetroidis an action-adventure video game, and the first entry in the Metroid series. It was co-developed by Nintendo's Research and Development 1 division and Intelligent Systems, and was released in Japan in August 1986, in North America in August 1987, and in Europe in January 1988...
et al.
The MMC1 was Nintendo's first custom mapper integrated circuit
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...
to incorporate support for saved games and multi-directional scrolling configurations.: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 allowed for switching of different memory banks. Program ROM could be selected in 16KB or 32KB chunks, and character ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...
could be selected in 4KB or 8KB chunks. An unusual feature of this memory controller was that its input was serial
Serial communication
In telecommunication and computer science, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels...
, rather than parallel, so 5 sequential writes (with bit shifting) were needed to send a command to the circuit
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...
.
MMC2
- Manufacturer: NintendoNintendois a multinational corporation located in Kyoto, Japan. Founded on September 23, 1889 by Fusajiro Yamauchi, it produced handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
- Games used in: Mike Tyson's Punch-Out!!Mike Tyson's Punch-Out!!Punch-Out!!, originally known as Mike Tyson's Punch-Out!!, is a boxing video game for the Nintendo Entertainment System developed and published by Nintendo in 1987. It is a port of both the Punch-Out!! and Super Punch-Out!! arcade games with some variations. It has consistently been ranked among...
The MMC2 is only used in Mike Tyson's Punch-Out!! and the later rerelease which removed Mike Tyson
Mike Tyson
Michael Gerard "Mike" Tyson is a retired American boxer. Tyson is a former undisputed heavyweight champion of the world and holds the record as the youngest boxer to win the WBC, WBA and IBF world heavyweight titles, he was 20 years, 4 months and 22 days old...
. 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.
MMC3
- Manufacturer: NintendoNintendois a multinational corporation located in Kyoto, Japan. Founded on September 23, 1889 by Fusajiro Yamauchi, it produced handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
- Games used in: Super Mario Bros 2, Super Mario Bros. 3Super Mario Bros. 3, also referred to as Super Mario 3 and SMB3, is a platform video game developed and published by Nintendo for the Nintendo Entertainment System , and is the third game in the Super Mario series. The game was released in Japan in 1988, in the United States in 1990, and in Europe in 1991...
et al.
The MMC3 was Nintendo's most popular MMC chip. It comes in MMC3A, B, and C revisions. The MMC3 added a scanline based IRQ 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.
MMC4
- Manufacturer: NintendoNintendois a multinational corporation located in Kyoto, Japan. Founded on September 23, 1889 by Fusajiro Yamauchi, it produced handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
- Games used in: Fire Emblem, Fire Emblem GaidenFire Emblem Gaidenis the second installment in the Fire Emblem Tactical role-playing game series developed by Intelligent Systems and published by Nintendo. The game was released on March 14, 1992 in Japan. It is also the second Fire Emblem game to be released exclusively on the Family Computer...
, and Famicom WarsFamicom Warsis a turn-based tactics military game. Produced by Nintendo, it was released on August 12, 1988 for the Family Computer in Japan and later re-released on the Wii Virtual Console on May 19, 2009. It is the first game in the Wars series.-Gameplay:...
This chip is only used in three games, all of which were released only for the Famicom
Nintendo Entertainment System
The Nintendo Entertainment System is an 8-bit video game console that was released by Nintendo in North America during 1985, in Europe during 1986 and Australia in 1987...
in Japan
Japan
Japan is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south...
, and were developed by Intelligent Systems
Intelligent Systems
is a Japanese first-party video game developer and internal team of Nintendo Co., Ltd. It has its headquarters in the Nintendo Kyoto Research Center in Higashiyama-ku, Kyoto, Kyoto Prefecture....
. 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.