Jump to content

Memory management controller (Nintendo): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:


==List of MMC chips==
==List of MMC chips==
This is an incomplete list of memory mapping chips. There are several different chips, some of which were used infrequently (in some cases, only once).
This is an incomplete list of memory mapping chips. There are many different chips, and many variants on common chip designs, some of which were used infrequently (in some cases, only once).


===MMC1===
===MMC1===
Line 33: Line 33:
===MMC6===
===MMC6===
*Manufacturer: [[Nintendo]]
*Manufacturer: [[Nintendo]]
*Games used in: ''[[StarTropics]]'', ''[[StarTropics 2]]''
*Games used in: ''[[StarTropics]]'', ''[[Zoda's Revenge: StarTropics II]]''
The MMC6 is simply an MMC3 with an extra 1 KB of RAM which can be saved with battery backup.
The MMC6 is simply an MMC3 with an extra 1 KB of RAM which can be saved with battery backup.
==Third-party chips==

{{expand list}}
===VRC6===
===VRC6===
*Manufacturer: [[Konami]]
*Manufacturer: [[Konami]]

Revision as of 14:28, 29 August 2006

Multi-Memory 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 emulators, the code written to emulate these chips became known as mappers.

List of MMC chips

This is an incomplete list of memory mapping chips. There are many different chips, and many variants on common chip designs, some of which were used infrequently (in some cases, only once).

MMC1

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 (with bit shifting) were needed to send a command to the circuit.

MMC2

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.

MMC3

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

This chip is only used in three games, all of which were released only for the Famicom in Japan. 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.

MMC5

MMC5 was Nintendo's largest mapper. It was also the most expensive, making developers avoid it. The chip has 1 KB of extra RAM, extra sound channels (two square waves), supports vertical split screen scrolling, improved graphics capabilities (making 16,384 different tiles available per screen rather than only 256, and allowing each individual 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.

MMC6

The MMC6 is simply an MMC3 with an extra 1 KB of RAM which can be saved with battery backup.

Third-party chips

VRC6

The VRC6 was an advanced MMC chip from Konami, supporting bank switching for both program code and graphics as well as a scanline-based IRQ counter. The chip also contained support for 3 extra sound channels (two square waves and one sawtooth 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.

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 a YM2413 derivative providing 6 channels of FM 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.

FME-7

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 generate IRQ signals after a specified number of CPU clock cycles, 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-known General Instrument AY-3-8910 (3 square waves). This sound generation hardware was used on only one Famicom title – "Gimmick!"