droite|vignette| La Nintendo Entertainment System est améliorée par des puces MMC dans des cartouches. Les contrôleurs multi-mémoire ou contrôleurs de gestion de mémoire (MMC) sont des puces spéciales conçues par divers développeurs de jeux vidéo (notamment Nintendo) pour être utilisées dans les cartouches Nintendo Entertainment System (NES). Elles élargissent le champ des possibles de la console et permettent de créer des jeux NES que la console seule n'était pas en capacité d'exécuter. Le matériel de base de la NES ne prend en charge que 40 Ko de ROM au total, jusqu'à 32 Ko de PRG et 8 Ko de CHR, donc une seule tuile et une seule table de sprites sont possibles. Cette limite a été rapidement atteinte au cours des deux premières années de commercialisation de la Famicom et les développeurs de jeux ont commencé à demander un moyen d'étendre les capacités de la console. Cette capacité d'évolution fut un des grands arguments de Nintendo quant au support cartouche jusqu'à la Nintendo 64 qui fut la dernière à en tirer parti.

Dans les communautés d'émulation et de homebrew, ces puces sont également connues sous le nom de mappeurs.

Liste des puces MMC

CNROM

Fabricant : Nintendo Jeux : Gradius, SOS Fantômes, Gyruss, Arkanoid

CNROM est la toute première puce introduite sur la Famicom début 1986, avant même son arrivée en Europe. Il se compose d'une seule puce de la série 7400. CNROM prend en charge une seule banque PRG fixe et jusqu'à huit banques CHR pour une ROM totale de 96 Ko. Certaines variantes tierces prenaient en charge des fonctionnalités supplémentaires. De nombreux jeux CNROM stockent les données de niveau du jeu dans la ROM CHR, effaçant au passage l'écran durant leur lecture.

UNROM

Fabricant : Nintendo Jeux : Pro Wrestling, Ikari Warriors, Mega Man, Contra, Castlevania

Les premiers mappeurs NES sont composés de puces de la série 7400. L'UNROM est apparu fin 1986. Il prend en charge une seule banque PRG fixe de 16 Ko, le reste du PRG étant modifiable. En lieu et place d'une puce ROM dédiée pour contenir les données graphiques (appelée CHR par Nintendo), les jeux utilisant UNROM stockent les données graphiques sur la ROM du programme et les copient sur une RAM de la cartouche durant son fonctionnement.

MMC1 droite|vignette| Une cartouche Tetris montrant une puce MMC1B1

Fabricant : Nintendo Jeux : The Legend of Zelda, Mega Man 2, Metroid, Godzilla: Monster of Monsters, Teenage Mutant Ninja Turtles, et plus encore.

Le Multi Memory Controller 1 est le premier circuit intégré MMC personnalisé de Nintendo à permettre de sauvegarder et d'utiliser des scrolling multidirectionnel. La puce possède au moins cinq versions différentes : MMC1A, MMC1B1, MMC1B2, MMC1B3 et MMC1C . Les différences entre les différentes versions sont minimes et tournent autour du comportement de protection de la mémoire des sauvegardes. La puce MMC1 permet de changer de banque de mémoire. La ROM du programme peut être sélectionnée en morceaux de 16 Ko ou 32 Ko, et la ROM des caractères peut être sélectionnée en morceaux de 4 Ko ou 8 Ko. Il se démarque du fait de son entrée qui est en série plutôt qu'en parallèle, donc 5 écritures séquentielles (avec décalage de bits) sont nécessaires pour envoyer une commande au circuit.

MMC2

Fabricant : Nintendo Jeux : Mike Tyson's Punch-Out!!

La MMC2 n'est utilisé que dans Mike Tyson's Punch-Out!! et la réédition qui a remplacé Mike Tyson (nommée simplement Punch-Out!! avec comme adversaire final un certain Mr. Dream). Une seule banque de 8 Ko de ROM de programme peut être sélectionnée (les 24 Ko restants étant verrouillés) et la ROM de caractères peut être sélectionnée dans deux paires de banques de 4 Ko, qui seraient automatiquement changées lorsque le matériel vidéo tente de charger des tuiles graphiques particulières depuis la mémoire, permettant ainsi plus de graphiques à utiliser sur l'écran sans que le jeu lui-même ait besoin de les changer manuellement.

MMC3 droite|vignette| La puce MMC3, soudée sur un PCB contenant Super Mario Bros. 3 et autres

Fabricant : Nintendo Jeux : Mega Man 3, 4, 5, 6, Super Mario Bros. 2 NA/EU, Super Mario Bros. 3, Kirby's Adventure et plus encore.

La MMC3 a été introduit en 1988. Il ajoute une minuterie IRQ pour permettre le scrolling de l'écran partagé sans sacrifier le sprite 0, ainsi que deux banques ROM de programme sélectionnables de 8 Ko et deux banques ROM de caractères sélectionnables de 2 Ko + quatre de 1 Ko, permettant de rendre plus efficaces les changements des données de sprite et de tuile. 8 Ko de RAM sont alloués aux sauvegardes.

MMC4

Fabricant : Nintendo Jeux : Fire Emblem, Fire Emblem Gaiden et Famicom Wars

Cette puce n'est utilisée que dans trois jeux, tous sortis uniquement pour la Famicom au Japon et développés par Intelligent Systems. Elle est presque identique dans son fonctionnement au MMC2, l'unique différence étant que le MMC4 commute la ROM du programme dans des banques de 16 Ko contrairement au 8 Ko de la MMC3 et prend en charge une SRAM alimentée par batterie pour permettre de sauvegarder.

MMC5

Fabricant : Nintendo Jeux : 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 of the Gray Wolf, Gemfire, L'Empereur, Ishin no Arashi, Shin 4 Nin Uchi Mahjong - Yakuman Tengoku, Rockman 4 Minus Infinity (ROM hack)

La MMC5 est la MMC la plus avancée de Nintendo. C'était à l'origine aussi la plus chère. Seul Koei utilisait régulièrement cette puce. Elle est similaire à la VRC6 de Konami, mais la gestion des interruptions fonctionne différemment. La puce dispose d'un Ko de RAM supplémentaire, de deux canaux sonores à ondes carrées supplémentaires, d'un canal sonore PCM supplémentaire, de la prise en charge du scrolling vertical de l'écran partagé, de capacités graphiques améliorées (rendant 16 384 tuiles différentes disponibles par écran au lieu de seulement 256, et permettant à chaque écran individuel de 8x8 ; une tuile d'arrière-plan de pixels pour avoir sa propre attribution de couleur au lieu d'être limitée à un jeu de couleurs par groupe de tuiles 2x2), une commutation de ROM de programme et de banque de ROM de caractères hautement configurable ou encore d'un compteur IRQ basé sur une ligne de balayage. Le MMC5 prend en charge des ROM de 2 Mo au total, mais aucun jeu commercialisé ne dépasse 1 Mo.

MMC6

Fabricant : Nintendo Jeux : StarTropics, Zoda's Revenge: StarTropics II

Le MMC6 est très similaire au MMC3, avec 1 Ko supplémentaire de RAM pouvant être sauvegardé avec une batterie de secours.

Famicom Disk System

Fabricant : Nintendo Jeux : Akumajō 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, Relics - Ankoku Yousai, Risa no Yōsei Densetsu, Shin Onigashima, Super Mario Bros. 2 JP, The Legend of Zelda (sortie FDS), The Mysterious Murasame Castle, Vs. Excitebike, Yūyūki, Zelda II: The Adventure of Link JP notamment.

L'ASIC du Famicom Disk System est une puce audio étendue, qui prend en charge un canal de synthèse de recherche par table d'ondes à cycle unique (6 bits × 64 pas) avec un modulateur de phase (PM) intégré pour une génération de son similaire à la synthèse par modulation de fréquence. Certaines conversions de jeux Disk System vers le support cartouche (le Disk System étant une exclusivité nippone, nombre d'exclusivité ont dû être retravaillées pour arriver en occident) ont des MMC pour remplacer le canal audio manquant.

AOROM

Fabricant : Nintendo Jeux : Battletoads, Wizards & Warriors, Cobra Triangle, Jeopardy!

L'A*ROM MMC, du nom des cartouches AMROM, ANROM et AOROM qui l'utilisent, a été développée par Chris Stamper, cofondateur de Rare, et fabriquée par Nintendo. On la retrouve dans les jeux développés par l'entreprise anglaise pour différents éditeurs tels que Nintendo, Tradewest, GameTek, Acclaim et Milton Bradley. Il permet de commuter la ROM PRG en un seul morceau de 32 Ko et utilise la RAM CHR pour un total de ROM de 256 Ko. Contrairement à d'autres puces, il utilise la mise en miroir d'un seul écran.

Puces tierces Nintendo a gardé le contrôle sur le matériel commercialisé à l'échelle internationale et n'a pas autorisé des développeurs tiers à utiliser leurs propres PCB et autres mappeurs. Ce fut le cas jusqu'à la fin de vie commerciale de la NES où Nintendo a assoupli les restrictions. C'est pour cette raison que la plupart des mappeurs tiers ne seront trouvés que dans les cartouches Famicom ou sans licence.

VRC1

Fabricant : Konami, Jaleco (SS8805) Jeux : Exciting Boxing, Ganbare Goemon! Karakuri Dōchū, JaJaMaru: Ninpō Chō, King Kong 2: Ikari no Megaton Punch, Moero!!, Junior Basket: Two on Two, Tetsuwan Atom.

VRC2

Fabricant : Konami Jeux : Contra JP, Tiny Toon Adventures JP, Akumajō Special: Boku Dracula-kun

Le VRC2 est une amélioration de la précédente, elle permet de commuter la ROM dans des banques de 8 Ko et la ROM de caractères dans des banques de 1 Ko. Cette MMC possède deux révisions connues : VRC2a et VRC2b.

VRC3

Fabricant : Konami Jeux : Salamander JP

Exclusivement utilisé dans la version japonaise de Salamander.

VRC4 droite|vignette| Le VRC4

Fabricant : Konami Jeux : Gradius II JP, Crisis Force, Bio Miracle: Boku tte Upa, Ganbare Goemon Gaiden 2, WaiWai World, WaiWai World 2, Twinbee 3.

La puce VRC4 est similaire à sa prédécesseure, à l'exception qu'elle permet une capacité CHR de 512 Ko, 2 modes bancaires ROM PRG de 8 Ko ainsi qu'une mise en miroir d'écran.

VRC5

Fabricant : Konami Jeux : Space School JP

Exclusif à l'adaptateur QTa des jeux éducatifs Space School de Konami.

VRC6 droite|vignette| Le VRC6.

Fabricant : Konami Jeux : Akumajō Densetsu, Mōryō Senki MADARA, Esper Dream II

La VRC6 (Virtual Rom Controller) est une puce MMC de Konami qui prend en charge la commutation de banque pour le code de programme ainsi que les graphiques, ainsi qu'un compteur IRQ basé sur le cycle du processeur, qui peut également servir de compteur de balayage. La puce prend en charge trois canaux sonores supplémentaires (deux ondes carrées de huit cycles de service chacune, configurables de manière à lire des échantillons PCM en utilisant un cycle de service de 100 %, et une seule onde en dents de scie). Il est utilisé dans Akumajō Densetsu (le Castlevania III: Dracula's Curse japonais), tandis que la version occidentale utilise le MMC5 officiel. Étant donné que la Nintendo Entertainment System n'offre pas la possibilité aux cartouches d'ajouter des canaux sonores supplémentaires, la bande originale de la version japonaise a été retravaillée pour suivre ces spécifications ; ainsi, la bande-son de la version occidentale est implémentée par les cinq canaux sonores intégrés à la NES occidentale. C'est pour cette raison que les deux bandes sonores des deux versions sont très différentes dans leur sonorité malgré le fait que les musiques soient les mêmes.

VRC7 vignette| Le VRC7 avec un post-processeur pour la synthèse FM

Fabricant : Konami, Yamaha Jeux : Lagrange Point, Tiny Toon Adventures 2: Trouble in Wackyland

Le VRC7 est une puce MMC très avancée de Konami, prenant en charge la commutation de banque et le comptage IRQ équivalents au VRC6, et contenant un dérivé YM2413 fournissant 6 canaux audio de synthèse FM. Cette capacité est utilisée uniquement dans le jeu Lagrange Point, exclusivement sorti au Japon. La version japonaise de Tiny Toon Adventures 2 utilise le VRC7 mais pas les capacités audio du VRC7. Cependant, il présente un bruit de quantification, perceptible dans les notes les plus graves.

Namco 163