Articulo de referencia

Controlador de gestión de memoria

La Nintendo Entertainment System se ve mejorada por los chips MMC en los cartuchos. Los controladores de memoria múltiple o controladores de gestión de memoria [ 1 ] ( MMC ) son...

La Nintendo Entertainment System se ve mejorada por los chips MMC en los cartuchos.

Los controladores de memoria múltiple o controladores de gestión de memoria [ 1 ] ( MMC ) son distintos tipos de chips especiales diseñados por varios desarrolladores de videojuegos para su uso en cartuchos de 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 por sí sola. El hardware básico de NES solo admite 40 KB de ROM en total, hasta 32 KB de PRG y 8 KB de CHR, por lo que solo es posible una única tabla de mosaicos y sprites. Este límite se alcanzó rápidamente durante los dos primeros años de Famicom en el mercado y los desarrolladores de juegos comenzaron a solicitar una forma de ampliar las capacidades de la consola.

En la comunidad de emulación y Homebrew , estos chips también se conocen como mapeadores . [ 2 ]

Lista de chips MMC

CNROM

CNROM es el hardware bancario más antiguo introducido en la Famicom; el primer juego en usarlo fue Ninja Jajamaru-kun , que se lanzó a finales de 1985. Consiste en un único chip lógico discreto de la serie 7400. CNROM admite un único banco PRG fijo y hasta ocho bancos CHR para un total de 96 KB de ROM. Algunas variaciones de terceros admitían capacidades adicionales. La gran mayoría de los juegos CNROM tienen 32k de ROM CHR, sin embargo, algunos tienen 16k de ROM CHR. Tres juegos (Ninja Jajamaru-kun, Joust y City Connection (J)) tienen 16k de ROM PRG y 16k de ROM CHR. Algunos juegos CNROM de Famicom incorporaron una protección de copia débil que consistía en una configuración de diodos diseñada para evitar el acceso a los datos CHR si el juego detectaba que se estaba ejecutando en RAM en lugar de ROM. La mayoría de los juegos CNROM colocan los datos de nivel del juego en porciones no utilizadas de la ROM CHR y borran la PPU para leerlos; Esto libera espacio en la ROM del PRG para lógica de juego adicional u otros datos.

UNROM

Los primeros mapeadores de NES están compuestos por chips de lógica discreta de la serie 7400. [ 1 ] : 29 UNROM apareció a finales de 1986. Admite un único banco PRG fijo de 16 KB, siendo el resto del PRG conmutable. [ 3 ] 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. Esto permite efectos como mosaicos animados o transformaciones gráficas, y requiere menos mosaicos en total que los juegos CHR ROM, ya que estos últimos a menudo tienen que duplicar mosaicos entre bancos. Sin embargo, parte de la ROM PRG tendrá que usarse para almacenar los gráficos, dejando menos espacio para código u otros datos. La gran mayoría de los juegos UNROM tienen 128k de ROM PRG, algunos como Paperboy 2 usan 256k. Un único juego, Crazy Climber , tiene el banco PRG fijo en $8000-$BFFF en lugar del normal $C000-$FFFF para admitir muestras de canal PCM. [ 1 ] : 29

MMC1

Un cartucho de Tetris que muestra un chip MMC1B1.

El MMC1 es el primer circuito integrado MMC personalizado de Nintendo que incorpora soporte para PRG RAM, guardados con respaldo de batería y configuraciones de desplazamiento multidireccional. Es el mapeador de primera parte más utilizado y hay más variantes de placas de cartucho MMC1 que de cualquier otro tipo. La capacidad máxima de memoria es de 512k de PRG ROM y 128k de CHR ROM. Opcionalmente, se puede usar CHR RAM, en cuyo caso los gráficos se almacenan en PRG ROM y se copian a CHR RAM según sea necesario. [ 1 ] : 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, debido principalmente al comportamiento de protección de la memoria de juego guardado. El chip MMC1 permite cambiar diferentes bancos de memoria. La ROM de programa se puede seleccionar en bloques de 16KB o 32KB, y la ROM de caracteres se puede seleccionar en bloques de 4KB u 8KB. Una característica inusual de este controlador de memoria es que su entrada es serial , en lugar de paralela , por lo que se necesitan 5 escrituras secuenciales (con desplazamiento de bits ) para enviar un comando al circuito . MMC1 no tiene la capacidad de deshabilitar el acceso de escritura a la RAM PRG, por lo que los juegos que usan guardado por batería requerirían mantener presionado el botón de reinicio al apagar el dispositivo para evitar una posible corrupción de los datos de guardado. Los registros del chip se acceden serialmente, por lo que se requieren varias escrituras y, en consecuencia, el cambio de bancos ROM en MMC1 es lento. [ 4 ]

MMC2

El MMC2 solo se usa en Mike Tyson's Punch-Out!! y en la reedición posterior que reemplazó a Mike Tyson . Se puede seleccionar un único banco de ROM de programa de 8 KB (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 intentara cargar mosaicos gráficos específicos desde la memoria, lo que permite usar una mayor cantidad de gráficos en la pantalla sin necesidad de que el juego los cambie manualmente. [ 5 ]

MMC3

El chip MMC3, soldado a una placa de circuito impreso que contiene Super Mario Bros. 3 y otros

El MMC3 se introdujo en 1988 y 8 Eyes fue el primer juego en el que se utilizó. Añadió un temporizador IRQ para permitir el desplazamiento en pantalla dividida sin sacrificar el sprite 0, junto con dos bancos de ROM de programa seleccionables de 8 KB y dos bancos de ROM de caracteres seleccionables de 2 KB + cuatro de 1 KB, lo que permite un intercambio instantáneo y sencillo de datos de sprites y mosaicos. Admite 8 KB de RAM para guardar partidas. La capacidad máxima de ROM es de 512k PRG y 256k CHR. El modo de duplicación de pantalla única del MMC1 no está presente. El MMC3 permite deshabilitar el acceso de escritura a la RAM PRG, por lo que no es necesario mantener pulsado Reset al apagar el dispositivo para evitar la pérdida de datos en juegos que utilizan un guardado con respaldo de batería. Los registros del MMC3 solo requieren dos escrituras para acceder, por lo que puede cambiar de banco de ROM más rápido que el MMC1. Hubo dos variantes diferentes del MMC3 fabricadas por Sharp y NEC; los chips de NEC solo admiten un único IRQ, mientras que los de Sharp permiten uno cada ocho filas de pantalla. [ 6 ]

MMC4

Este chip solo se utiliza en tres juegos, todos ellos lanzados únicamente para Famicom en Japón y desarrollados por Intelligent Systems . Funcionalmente, es casi idéntico al MMC2, con la única diferencia de que el MMC4 cambia la ROM de programa en bancos de 16 KB en lugar de bancos de 8 KB y admite una SRAM con respaldo de batería para guardar los datos del juego. [ 7 ]

MMC5

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 de pantalla dividida, capacidades gráficas mejoradas (haciendo disponibles 16.384 mosaicos diferentes por pantalla en lugar de solo 256, y permitiendo que cada mosaico de fondo individual de 8x8 píxeles tenga su propia asignación de color en lugar de estar restringido a un conjunto de colores por grupo de mosaicos de 2x2), conmutación de bancos de ROM de programa y ROM de caracteres altamente configurable, 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ó 1 MB. [ 8 ]

MMC6

El MMC6 es similar al MMC3, con 1 KB de RAM adicional que se puede guardar con respaldo de batería. [ 9 ]

Sistema de discos Famicom

El ASIC del Famicom Disk System es un chip de audio extendido que admite un canal de síntesis de 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 de modulación de frecuencia . Algunas conversiones de cartuchos de juegos del Disk System utilizan MMC para reemplazar el canal de audio.

AROM

El A*ROM MMC, llamado así por 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. [ 10 ] Permite cambiar la ROM PRG en una sola pieza de 32 KB y utiliza la RAM CHR para una ROM total de hasta 256 KB. A diferencia de otros chips, utiliza una sola duplicación de pantalla. [ 11 ]

Chips de terceros

Varios fabricantes japoneses produjeron sus propios cartuchos, placas de circuito impreso (PCB) y mapeadores para Famicom, entre ellos Konami, Sunsoft, Jaleco, Irem, Bandai y Namco. Nintendo tenía un control más estricto sobre la fabricación de cartuchos para NES: los terceros solo podían usar su propio hardware si tenían la carcasa gris estándar de los cartuchos de NES e incluían el chip de bloqueo 10NES; por consiguiente, la mayoría no lo hizo por motivos de coste, optando en su lugar por comprar el hardware de Nintendo. Acclaim, Konami y Tengen fabricaron sus propias PCB para cartuchos y utilizaron mapeadores de terceros, al igual que Sunsoft para un único juego (Batman: Return of the Joker).

VRC1

  • Fabricante: Konami, Jaleco (SS8805)
  • Juegos: Boxeo emocionante , Ganbare Goemon! Karakuri Douchuu , Jajamaru Ninpouchou , King Kong 2: Ikari no Megaton Punch , Moero!! Cesta juvenil: dos contra dos , Tetsuwan Atom [ 12 ]

VRC2

El VRC2 es un chip de Konami que permite conmutar la ROM de programa en bancos de 8 KB y la ROM de caracteres en bancos de 1 KB. Este MMC tiene dos revisiones conocidas: VRC2a y VRC2b. [ 13 ]

VRC3

Utilizado exclusivamente en la versión japonesa de Salamander .

VRC4

El VRC4

El chip VRC4 es similar al chip VRC2, con la diferencia de que el VRC4 permite una capacidad CHR de 512 KB, 2 modos de almacenamiento ROM PRG de 8 KB y 1 duplicación de pantalla.

VRC5

  • Fabricante: Konami
  • Juegos: Space School JP

Utilizado exclusivamente en el adaptador QTa de la serie de juegos educativos Space School de Konami . [ 15 ]

VRC6

El VRC6

El VRC6 (Virtual Rom Controller) es un chip MMC avanzado de Konami que admite la conmutación de bancos tanto para el código del programa como para los gráficos, así como un contador IRQ basado en el ciclo de la CPU , que también puede funcionar como contador de líneas de exploración. El chip también incluye soporte para tres canales de sonido adicionales (dos ondas cuadradas de ocho ciclos de trabajo cada una, que se pueden configurar para reproducir muestras PCM con un ciclo de trabajo del 100 %, y una onda de diente de sierra ). Se utiliza en Akumajō Densetsu , la versión japonesa de Castlevania III: Dracula's Curse , mientras que la versión occidental utiliza el MMC5 de Nintendo. Dado que el Nintendo Entertainment System, por diseño, no permite añadir canales de sonido adicionales a los cartuchos, la banda sonora de la versión de Famicom se modificó para cumplir con esas especificaciones; la banda sonora de la versión occidental utiliza los cinco canales de sonido estándar integrados en la NES. [ 16 ]

VRC7

El VRC7 con un postprocesador para síntesis FM.

El VRC7 es un chip MMC avanzado de Konami, que admite conmutación de bancos y conteo IRQ equivalente al VRC6, además de contener un derivado del YM2413 que proporciona 6 canales de síntesis FM de 2 operadores . El hardware de audio avanzado se utiliza solo en el juego de Famicom Lagrange Point . La versión japonesa de Tiny Toon Adventures 2 también utiliza el VRC7 pero no aprovecha el audio extendido. [ 17 ] [ 18 ] Una desventaja de la parte de audio extendido es que produce algo de ruido de cuantización, perceptible en las notas más bajas. Esto era una herencia del YM2413, en el que se basa el chip FM del VRC7.

Bandai FCG-2

  • Fabricante: Bandai
  • Juegos: Dragon Ball: Dai Maou Fukkatsu , Dragon Ball 3: Gokuu Den , Famicom Jump: Eiyuu Retsuden

Las tarjetas FCG-1 o FCG-2 son similares a la MMC3 en cuanto a funcionalidades. Ofrecen soporte opcional para el sistema Datach de Bandai o una pequeña memoria SRAM serial de 128 o 256 bytes, a la que se accede indirectamente a través de los registros del mapeador y que no es directamente visible para la CPU de la Famicom.

Namco 109

El 109 fue uno de los pocos mapeadores no pertenecientes a Nintendo que aparecieron en los cartuchos de NES. Era similar al MMC1, pero podía direccionar una cantidad de memoria mucho menor y era capaz de gestionar 8 kb de memoria PRG y 1 kb de memoria CHR.

Namco 163

El chip 163 solo se ha utilizado en juegos exclusivos de Japón. Sus capacidades eran ligeramente superiores a las del MMC3 de Nintendo. Una variante incluía hardware de sonido adicional que reproducía muestras de audio de 4 bits. Admite de 1 a 8 canales de sonido adicionales, pero se produce un aliasing audible cuando se activa un número suficientemente grande de canales debido a la multiplexación por división de tiempo , que se vuelve cada vez más perceptible .

FME-7

El FME-7 es un circuito de mapeo de memoria desarrollado por Sunsoft para su uso en cartuchos de NES y Famicom. Conmuta la ROM de programa en bancos de 8 KB y la ROM de caracteres en bancos de 1 KB. También incluye hardware para generar señales IRQ tras un número determinado de ciclos de reloj de la CPU , logrando así efectos de pantalla dividida con un consumo mínimo de recursos de procesamiento.

SUNSOFT-4

SUNSOFT-4

SUNSOFT 5B

Esta versión del FME-7 contiene una variante del ampliamente utilizado Yamaha YM2149 (SSG), un derivado del popular chip AY-3-8910 .

MMC sin licencia

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

228

La 228 es una MMC de conmutación de bancos simple desarrollada para su uso en los juegos Action 52 y Cheetahmen II . No tiene un bit de control de tabla de nombres. En el cartucho múltiple de Action 52 , también contiene un pequeño registro de 16 bits que almacena la antigua selección de menú al salir de un juego.

GTROM

  • Fabricante: Industrias miembros

GTROM o Cheapocadabra es una MMC auto-flasheable desarrollada en 2015 para el mercado de la programación casera. La placa contiene 512 KB de ROM PRG, 16 KB de ROM CHR y dos LED. Si bien GTROM no incluye RAM PRG, es posible guardar partidas gracias a que la ROM PRG se puede flashear mediante software de NES.

MXM-1

  • Fabricante: Something Nerdy Studios
  • Juegos: Antiguo amanecer

MXM-1 es una MMC personalizada desarrollada en 2022 para su uso en el juego casero Former Dawn . A diferencia de la mayoría de las MMC no autorizadas, amplía enormemente el conjunto de características de la NES estándar, permitiéndole usar atributos 8x1 para usar más colores, además de ofrecer reproducción de FMV, audio ampliado (8 canales de audio PCM con un búfer de eco, soporte para tabla de ondas e interpolación suave basada en la función sinc) y acceso directo a 768M de ROM (indirectamente 2,8G) y 1M de RAM. [ 19 ]

Véase también

Referencias

  1. 1 2 3 4 5 6 "Por qué tus cartuchos de juego nunca olvidan". Nintendo Power . N.°  20. Nintendo. Enero de 1991. págs. 28–31 . 
  2. "Mapeadores - Wiki de Nesdev" . wiki.nesdev.com .
  3. "UxROM - Wiki de Nesdev" . wiki.nesdev.com .
  4. «MMC1 - Wiki de Nesdev» . wiki.nesdev.com .
  5. "MMC2 - Wiki de Nesdev" . wiki.nesdev.com .
  6. «MMC3 - Wiki de Nesdev» . wiki.nesdev.com .
  7. "MMC4 - Wiki de Nesdev" . wiki.nesdev.com .
  8. "MMC5 - Wiki de Nesdev" . wiki.nesdev.com .
  9. "MMC6 - Wiki de Nesdev" . wiki.nesdev.com .
  10. Lista de juegos de NES con editor y junta directiva. Archivado el 27 de agosto de 2008 en Wayback Machine .
  11. "AxROM - Wiki de Nesdev" . wiki.nesdev.com .
  12. "VRC1 - Wiki de Nesdev" . wiki.nesdev.com . Consultado el 18 de enero de 2017 .
  13. "VRC2 y VRC4 - Wiki de Nesdev" . wiki.nesdev.com .
  14. "Documentación de Mednafen para Nintendo Entertainment System/Famicom" . mednafen.github.io . Consultado el 18 de enero de 2017 .
  15. "Coleccionista desentierra juegos perdidos de Konami de 8 bits y los volca para su emulación" . Arstechnica . 29 de agosto de 2019. Consultado el 29 de agosto de 2019 .
  16. D'Angelo, David (25 de junio de 2014). "Rompiendo la NES para Shovel Knight" . Gamasutra .
  17. "VRC7 - Wiki de Nesdev" . www.nesdev.org .
  18. «Audio VRC7» . Wiki de NESdev .
  19. "Desbloqueando la NES (para Former Dawn) – Something Nerdy Studios" . 9 de febrero de 2022.