# Controlador de memoria múltiple

Los controladores de memoria múltiple o controladores de administración de memoria ( MMC ) son diferentes tipos de chips especiales diseñados por varios desarrolladores de videojuegos para su uso en cartuchos de la Nintendo Entertainment System (NES). Estos chips amplían las capacidades de la consola original y permiten crear juegos de NES con características que la consola original no puede ofrecer sola. El hardware básico de NES admite solo 40k de ROM en total, hasta 32k PRG y 8k CHR, por lo que solo es posible una sola tabla de sprites y tiles. Este límite se alcanzó rápidamente en los primeros dos años de la Famicom en el mercado y los desarrolladores de juegos comenzaron a solicitar una forma de ampliar las capacidades de la consola.
Estos chips también se conocen como mapeadores .

## Lista de chips MMC
### CNROM

* Fabricante: Nintendo
* Juegos: Gradius, $^{:29}$ Cazafantasmas, Gyruss, Arkanoid
CNROM fue el primer hardware de banking introducido en Famicom, apareciendo a principios de 1986. Consiste en un solo chip lógico discreto de la serie 7400.CNROM admite un solo banco PRG fijo y hasta ocho bancos CHR para una ROM total de 96k. Algunas variaciones de terceros admitían capacidades adicionales. Muchos juegos CNROM almacenan los datos de los niveles del juego en la ROM CHR y dejan la pantalla en blanco mientras la leen.

### UNROM

* Fabricante: Nintendo
* Juegos: Pro Wrestling, $^{:29}$ Ikari Warriors, Mega Man, Contra, Castlevania
Los primeros mapeadores de NES están compuestos por chips lógicos discretos de la serie 7400 . $^{:29}$ UNROM apareció a finales de 1986. Admite un único banco PRG fijo de 16k, siendo conmutable el otro PRG. En lugar de un chip ROM dedicado para almacenar datos gráficos (llamado CHR por Nintendo), los juegos que usan UNROM almacenan datos gráficos en la ROM del programa y los copian a una RAM en el cartucho en tiempo de ejecución. $^{:29}$
* Fabricante: Nintendo
* Juegos: The Legend of Zelda, Mega Man 2, Metroid, Godzilla: Monster of Monsters, Teenage Mutant Ninja Turtles y más.
El MMC1 es el primer circuito integrado MMC personalizado de Nintendo que incorpora soporte para el guardado de juegos y configuraciones de desplazamiento multidireccional. $^{:p.30}$ El chip viene en al menos cinco versiones diferentes: MMC1A, MMC1B1, MMC1B2, MMC1B3 y MMC1C . Las diferencias entre las diferentes versiones son leves, principalmente debido al comportamiento de protección de la memoria de la partida guardada. El chip MMC1 permite la conmutación de diferentes bancos de memoria. La ROM del programa se puede seleccionar en trozos de 16KB o 32KB, y la ROM de caracteres se puede seleccionar en trozos de 4KB o 8KB. Una característica inusual de este controlador de memoria es que su entrada es en serie, en lugar de en paralelo, por lo que se necesitan 5 escrituras secuenciales (con desplazamiento de bits ) para enviar un comando al circuito .

### MMC2

* Fabricante: Nintendo
* Juegos: Punch-Out!!
El MMC2 solo se usa en Punch-Out!! y la posterior reedición que reemplazó a Mike Tyson . Se puede seleccionar un solo banco de 8 KB de ROM de programa (con los 24 KB restantes bloqueados) y la ROM de caracteres se puede seleccionar en dos pares de bancos de 4 KB, que se cambiarían automáticamente cuando el hardware de video intenta cargar tiles gráficos particulares desde la memoria, permitiendo usar una mayor cantidad de gráficos en la pantalla sin la necesidad de que el propio juego los cambie manualmente.

### MMC3

* Fabricante: Nintendo
* Juegos: Mega Man 3, 4, 5, 6, Super Mario Bros.2 $^{NA/EU}$, Super Mario Bros.3, Kirby's Adventure y más.
El MMC3 se introdujo en 1988. Agrega un temporizador IRQ para permitir el desplazamiento en pantalla dividida sin sacrificar el sprite 0, junto con dos bancos ROM seleccionables de 8KB y dos bancos ROM de caracteres seleccionables de 2KB + cuatro de 1KB, lo que permite un intercambio instantáneo y fácil de datos de sprites y tiles. Se admiten 8KB de RAM para guardar juegos.

### MMC4

* Fabricante: Nintendo
* Juegos: Fire Emblem, Fire Emblem Gaiden y Famicom Wars
Este chip solo se usa en tres juegos, todos los cuales fueron lanzados solo para Famicom en Japón, y fueron desarrollados por Intelligent Systems . Funcionalmente, es casi idéntico al MMC2, con la única diferencia de que el MMC4 cambia la ROM en bancos de 16KB en lugar de bancos de 8KB y tiene soporte para una SRAM respaldada por una batería para guardar datos del juego.

### MMC5

* Fabricante: Nintendo
* Juegos: Castlevania III: Dracula's Curse $^{NA/EU}$, Just Breed, Metal Slader Glory, 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, Uncharted Waters, Genghis Khan II: Clan del lobo gris, Gemfire, L'Empereur, Ishin no Arashi, Shin 4 Nin Uchi Mahjong - Yakuman Tengoku
El MMC5 es el MMC más avanzado de Nintendo. Originalmente también era el más caro. Solo Koei usaba este chip con regularidad. Es similar al VRC6 de Konami, pero el manejo de interrupciones funciona de manera diferente. El chip tiene 1 KB de RAM adicional, dos canales de sonido de onda cuadrada adicionales, un canal de sonido PCM adicional, soporte para desplazamiento vertical en pantalla dividida, capacidades gráficas mejoradas (lo que hace que haya 16,384 tiles diferentes disponibles por pantalla en lugar de solo 256, y permite que cada uno de los tiles de fondo de 8x8 píxeles tenga su propia asignación de color en lugar de estar restringido a un conjunto de colores por grupo de tiles 2x2), ROM de programa altamente configurable y conmutación de banco de ROM de caracteres, y un contador IRQ basado en líneas de exploración. El MMC5 admite hasta 2 MB de ROM total, sin embargo, ningún juego lanzado comercialmente superó nunca 1 MB.

### MMC6

* Fabricante: Nintendo
* Juegos: StarTropics, Zoda's Revenge: StarTropics II
El MMC6 es similar al MMC3, con 1 KB adicional de RAM que se puede guardar con batería de respaldo.

### Famicom Disk System

* Fabricante: Nintendo
* Juegos: Akumajo Dracula, Arumana no Kiseki, Ai Senshi Nicol, Big Challenge! Dogfight Spirit, Bio Miracle Bokutte Upa, Crackout $^{JP}$, Double Dribble $^{JP}$, Dracula II, Falsion, Famicom Tantei Club Part II: Ushiro ni Tatsu Shōjo, Kid Icarus $^{JP}$, KiKi KaiKai, Meikyuu Jiin Dababa, Metroid $^{JP}$, Pro Wrestling $^{JP}$, Reliquias - Ankoku Yousai, Risa no Yōsei Densetsu, Shin Onigashima, Super Mario Bros.2 $^{JP}$, The Legend of Zelda (lanzamiento de FDS), The Mysterious Murasame Castle, vs. Excitebike, Yūyūki, Zelda II: The Adventure of Link $^{JP}$ y más.
El ASIC del Famicom Disk System es un chip de audio extendido, que admite un canal de síntesis de búsqueda mediante tabla de ondas de ciclo único (6 bits × 64 pasos) con un modulador de fase (PM) incorporado para la generación de sonido similar a la síntesis por modulación de frecuencia . Algunas conversiones de cartuchos de juegos del Disk System tienen MMCs para reemplazar el canal de audio.

### AOROM

* Fabricante: Nintendo
* Juegos: Battletoads, Wizards & Warriors, Cobra Triangle, Jeopardy!
El A*ROM MMC, que lleva el nombre de las placas de cartuchos AMROM, ANROM y AOROM que lo utilizan, fue desarrollado por Chris Stamper de Rare y fabricado por Nintendo. Se encuentra en juegos desarrollados por Rare para Nintendo, Tradewest, GameTek, Acclaim y Milton Bradley. Permite que la ROM PRG se cambie en una sola pieza de 32k y usa CHR RAM para una ROM total de hasta 256k. A diferencia de otros chips, utiliza duplicación de pantalla singular.

## Chips de terceros

Nintendo mantuvo un estricto control sobre el hardware de los cartuchos lanzado internacionalmente y no permitió que terceros usaran sus propios PCB y mapeadores. Este siguió siendo el caso hasta el final de la vida útil comercial de la NES, cuando se suavizaron las restricciones. Por lo tanto, la mayoría de los mapeadores de terceros solo se encontrarán en Famicom o en cartuchos sin licencia.

### VRC1

* Fabricante: Konami, Jaleco (SS8805)
* Juegos: ¡ Boxeo emocionante, Ganbare Goemon! Karakuri Douchuu, Jajamaru Ninpouchou, King Kong 2: ¡Ikari no Megaton Punch, Moero! !, Canasta Junior: Dos contra dos, Tetsuwan Atom

### VRC2

* Fabricante: Konami
* Juegos: Contra $^{JP}$, Tiny Toon Adventures $^{JP}$, Akumajō Especial: Boku Dracula-kun
El VRC2 es un chip de Konami que permite cambiar la ROM del programa en bancos de 8KB y la ROM de caracteres en bancos de 1KB. Este MMC tiene dos revisiones conocidas: VRC2a y VRC2b.

### VRC3

* Fabricante: Konami
* Juegos: Salamander $^{JP}$
Utilizado exclusivamente en la versión japonesa de Salamander .

### VRC4

* Fabricante: Konami
* Juegos: Gradius II $^{JP}$, Crisis Force, Bio Miracle: Boku tte Upa, Ganbare Goemon Gaiden 2, WaiWai World, WaiWai World 2, Twinbee 3
El chip VRC4 es similar al chip VRC2, aparte de permitir el VRC4 una capacidad CHR de 512 KB, 2 modos de banking de ROM PRG de 8 KB y duplicación de pantalla singular.

### VRC5

* Fabricante: Konami
* Juegos: Space School $^{JP}$
Se utiliza exclusivamente en el adaptador QTa de la serie de juegos educativos Space School de Konami.

### VRC6

* Fabricante: Konami
* Juegos: Akumajō Densetsu, Mōryō Senki MADARA, Esper Dream II
El VRC6 (Virtual Rom Controller) es un chip MMC avanzado de Konami, que admite selección de banco tanto para el código de programa como para los gráficos, así como un contador IRQ basado en ciclos de la CPU, que también puede actuar como un contador de líneas de exploración. El chip también contiene soporte para tres canales de sonido adicionales (dos ondas cuadradas de ocho ciclos de trabajo cada una y una onda de diente de sierra ). Se usa en Akumajō Densetsu (la versión japonesa de Castlevania III: Dracula's Curse ), mientras que la versión occidental usa el MMC5 de Nintendo. Dado que el Nintendo Entertainment System no permite que los cartuchos agreguen canales de sonido adicionales, la banda sonora de la versión de Famicom fue reelaborada para seguir esas especificaciones; por lo tanto, la banda sonora de la versión occidental se implementa mediante los cinco canales de sonido integrados en la NES estándar.

### VRC7

* Fabricante: Konami, Yamaha
* Juegos: Lagrange Point, Tiny Toon Adventures 2: Trouble in Wackyland
El VRC7 es un chip MMC avanzado de Konami, que admite selección de banco y conteo IRQ equivalente al VRC6, y que contiene un derivado YM2413 que proporciona 6 canales de audio de síntesis FM . Este audio avanzado se usa solo en el juego de Famicom Lagrange Point ; mientras que la versión japonesa de Tiny Toon Adventures 2 también usa el VRC7, no hace uso del audio extendido.

### Namco 163

* Fabricante: Namco
* Juegos: Erika to Satoru no Yume Bōken, Final Lap, King of Kings, Mappy Kids, Digital Devil Story: Megami Tensei II, Namco Classic II, Romance of the Three Kingdoms, Romance of the Three Kingdoms II, Yokai Dochuki, Rolling Thunder $^{JP}$, Top Striker
El 163 solo se ha utilizado en juegos exclusivos de Japón. Sus capacidades eran un poco mejores que las del MMC3 de Nintendo. Una variante contenía hardware de sonido adicional que reproduce muestras de ondas de 4 bits. Admite de 1 a 8 canales de sonido adicionales, pero aparece un aliasing audible cuando se habilita una cantidad suficientemente grande de canales.

### FME-7

* Fabricante: Sunsoft
* Juegos: Batman: Return of the Joker, Hebereke, Gimmick!, y más.
El FME-7 es un circuito de mapeo de memoria desarrollado por Sunsoft para su uso en cartuchos de NES y Famicom. Cambia la ROM de programa en bancos de 8KB y cambia los bancos de ROM de caracteres de 1KB. También contiene hardware para generar señales IRQ después de un número específico de ciclos de reloj de CPU, logrando así efectos de pantalla dividida con un uso mínimo de potencia de procesamiento. Una versión especial de esta MMC, etiquetada como "SUNSOFT 5B" en lugar de "FME-7", contiene una versión del ampliamente utilizado Yamaha YM2149 . Este hardware de generación de sonido se utiliza en un solo juego de Famicom: ¡Gimmick! .

### SUNSOFT-4

* Fabricante: Sunsoft

## MMC sin licencia

Algunos desarrolladores individuales ( homebrew ) y sin licencia han creado MMC personalizadas para NES, la mayoría de las cuales simplemente amplían la memoria disponible.

### 228

* Fabricante: Active Enterprises
* Juegos: Action 52, Cheetahmen II
228 es un simple MMC de selección de banco desarrollado para su uso en los juegos Action 52 y Cheetahmen II . No tiene un bit de control de tabla de nombres. En el cartucho multi Action 52, también contiene una pequeña área de registro de 16 bits que contiene la antigua selección del menú al salir de un juego.

### GTROM

* Fabricante: Membler Industries
GTROM o Cheapocadabra es una MMC auto-flasheable desarrollada en 2015 para el mercado del los Homebrew. La placa contiene 512 K de PRG ROM, 16 K de CHR ROM y dos LED. Si bien el GTROM no contiene PRG RAM, las partidas guardadas son posibles debido a que el software NES puede flashear la ROM PRG.