Controler de gestionare a memoriei

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Controlerul de gestionare a memoriei sau Multi-Memory Controller [1] ( MMC ) se referă la o serie de cipuri diferite proiectate de diverși dezvoltatori de jocuri pentru a fi utilizate în cartușele consolei Nintendo Entertainment System (NES). Aceste jetoane au sporit capacitățile consolei, permițând crearea de jocuri cu caracteristici care nu puteau fi oferite de NES-ul original.

fundal

Primele jocuri lansate pentru NES conțineau doar un cip de date numit NROM , un ROM (sau memorie non-volatilă) în care erau stocate atât codul, cât și grafica jocului. La acea vreme, însă, ROM-urile aveau o capacitate limitată (cel mult 256 kbit sau 32 kB ) și din acest motiv jocurile aveau puține detalii. [1] Pentru a depăși această limitare în timp, atât Nintendo, cât și alți dezvoltatori au folosit tehnici diferite pentru a putea stoca mai multe date decât ar putea suporta standardul NES.

Odată cu apariția emulatorilor de software NES scrise pentru a emula aceste cipuri, a devenit cunoscut sub numele de „mappers” (mappers).

Lista cipurilor MMC utilizate în cartușele NES

Cip Nintendo

UNROM / UOROM

Primele MMC utilizate în cartușele produse de Nintendo au fost UNROM și UOROM , [2] realizate folosind cipuri TTL din seria 7400 . [1] Au împărțit datele jocului în bănci de 16 kB, care au fost alternate astfel încât o bancă să fie întotdeauna vizibilă pentru CPU. În loc să folosească un cip ROM dedicat doar stocării grafice (numit „CHR” de Nintendo) jocurile care foloseau acest MMC au stocat aceste date în ROM, care conținea și codul programului și le-a copiat pe o memorie RAM în timp ce jocul rulează. [1]

MMC1

MMC1 [3] a fost primul MMC de tip ASIC . A acceptat salvarea jocurilor și derularea multidirecțională. [1] Cipul a fost realizat în cel puțin 5 versiuni diferite, care se deosebeau între ele prin ușoare diferențe: MMC1A , MMC1B1 , MMC1B2 , MMC1B3 și MMC1C .

MMC1 a permis alternarea diferitelor bănci de memorie: ROM-ul codului de program poate fi prezentat CPU-ului în bănci de 16 sau 32 kB, în timp ce ROM-ul graficelor în bănci de 4 sau 8 kB. O caracteristică specială a acestui cip a fost că gestiona datele de intrare în modul serial prin intermediul unui registru de schimbare intern pentru care comenzile trebuiau trimise bit cu bit. [3]

MMC2

MMC2 a fost folosit doar în Punch-Out-ul lui Mike Tyson !! și în următoarea versiune în care Mike Tyson a fost înlăturat ca șef final. Cartograful ar putea selecta o singură bancă de 8 kB de cod de program ROM (celelalte 24 kB au rămas blocate), iar ROM-ul grafic ar putea fi gestionat ca 2 bănci de câte 4 kB fiecare, care au fost alternate automat imediat ce procesorul video al NES a încercat pentru a accesa datele stocate în banca inactivă, scutind astfel CPU de sarcina de a gestiona comutarea băncii prin software. [4]

MMC3

MMMC3 , unul dintre cele mai utilizate MMC-uri.

MMC3 a fost unul dintre cele mai utilizate MMC-uri ale Nintendo. A implementat un contor IRQ pe linia de scanare video pentru a face mai ușoară derularea pe o porțiune a imaginii (un exemplu este derularea fundalului ecranului, păstrând în același timp o parte a imaginii, cum ar fi zona punctelor și indicatorii de stare a jocului ), precum și posibilitatea de a selecta 2 bănci de 8 kB de cod de program ROM și 2 bănci de 2 kB plus 4 bănci de 1 kB fiecare de grafică ROM. [5]

MMC4

Acest MMC a fost folosit doar în 3 jocuri, toate publicate doar pentru Famicom , versiunea japoneză a NES și toate dezvoltate de Intelligent Systems . MMC4 era aproape identic cu MMC2 de care se deosebea doar prin faptul că băncile aveau 16 kB în loc de 8 kB și prezența unei memorii SRAM alimentate cu baterii pentru salvarea jocurilor. [6]

MMC5

MMC5 nu a fost doar cel mai mare MMC dezvoltat de Nintendo, ci și cel mai scump, ceea ce l-a făcut să fie puțin utilizat în cartușe: ​​printre dezvoltatorii de jocuri video, doar Koei îl folosea în mod regulat. Cipul avea 1 kB de RAM suplimentară , canale audio suplimentare (2 unde pătrate ), suport pentru derularea verticală a unei porțiuni a imaginii, capabilități grafice mai mari (acceptate până la 16.384 dale diferite față de cele 256 permise de cipul grafic al NES și a permis să utilizați dale de fundal de 8 × 8 pixeli fiecare cu propria culoare în loc de doar 1 culoare pentru fiecare grup de dale 2 × 2), comutarea bancii ROM a codului programului și a graficelor personalizabile și un contor IRQ pe linia de scanare. [7]

MMC6

Acest MMC este similar cu MMC3, cu privire la care are 1 kB de RAM suplimentar echipat cu o baterie de rezervă pentru a salva jocuri. [8]

Sistemul de discuri Famicom

  • Jocuri în care a fost folosit: Arumana no Kiseki , Ai Senshi Nicol , Bio Miracle Bokutte Upa , Exciting Basket și altele

ASIC- ul Famicom Disk System a fost un cip care oferea și sinteză de sunet .

AxROM

Sub denumirea generică de AxROM există mai multe Nintendo MMC-uri: AMROM , ANROM AN1ROM și AOROM . Progenitorul a fost dezvoltat de Chris Stamper de la Rare și apoi produs de Nintendo. Aceste MMC-uri se găsesc în jocurile dezvoltate de Rare, Tradewest , GameTek , Acclaim și Milton Bradley : [9] utilizează bănci de 32 kB de cod de program ROM și o memorie RAM CHR. Spre deosebire de alte cipuri, poate efectua oglindirea ecranului. [9]

Cip Konami

Aceste cipuri au fost dezvoltate pentru a fi utilizate preponderent în cartușele comercializate în Japonia și doar câteva în ultimii ani ai vieții NES au fost folosite în unele jocuri vândute în străinătate.

VRC2

VRC2 ( Virtual Rom Controller ) a fost un MMC dezvoltat de Konami care a permis să împartă ROM-ul codului programului în 8 kB bănci și ROM-ul grafic în 1 kB bănci, precum și să oglindească ecranul. Acest cip a fost produs în 2 versiuni, VRC2a și VRC2b . [10]

VCR4

VCR4 .

VCR4 era aproape identic cu VCR2, în comparație cu care avea un contor pe bază de întreruperi și un selector de 5 biți pentru paginile de memorie a codului de program. [11]

VRC6

VRC6 a fost un MMC evoluat: a susținut comutarea bancară atât a codului, cât și a ROM-ului grafic, a avut un contor IRQ bazat pe linia de scanare și a integrat un generator de sunet programabil capabil să furnizeze 3 canale audio suplimentare (cu 2 unde pătrate și 1 val de dinți de ferăstrău ). A fost folosit în jocul Akumajou Densetsu , versiunea japoneză a Castlevania III: Dracula's Curse a cărei versiune pentru piețele occidentale folosea MMC5 Nintendo: spre deosebire de Famicon, NES nu a reușit să gestioneze generatoarele de sunet încorporate în cartușele pentru care coloana sonoră a jocului a fost revizuit pentru a utiliza numai canalele audio furnizate de consolă. [12]

VRC7

VRC7 a integrat un coprocesor audio pentru sinteza FM .

VRC7 a fost un MMC foarte avansat: de fapt, nu numai că a sprijinit alternarea băncilor de memorie și a integrat contorul IRQ ca și VRC6, dar a oferit și un coprocesor audio derivat de la Yamaha YM2413 care oferea 6 canale cu sinteză FM . [13] Capacitățile audio ale VRC7 au fost utilizate doar în jocul Lagrange Point : versiunea japoneză a Tiny Toon Adventures 2 a integrat și acest MMC, dar jocul nu a folosit cipul de sunet suplimentar. [14]

Chip Namco

  • Jocuri în care a fost folosit: Erika la Satoru no Yumebouken , Final Lap , King of Kings și altele, toate comercializate doar în Japonia.

NAMCO106 a fost un MMC avansat care a oferit 8 canale audio suplimentare cu sinteza de sunet cu prelevare de probe de 4 biți și aliasing care a crescut pe măsură ce numărul de canale active a crescut.

Cip Sunsoft

FME-7

FME-7 a fost un MMC dezvoltat de Sunsoft pentru jocuri cu cartușe pentru NES și Famicom. A permis gestionarea programului ROM în bănci de 8 kB și a ROM-ului grafic în bănci de 1 kB; de asemenea, conținea circuitele pentru a putea genera semnale IRQ după un număr specific de cicluri de ceas ale procesorului, eliberând acesta din urmă de sarcinile de gestionare a efectelor de divizare a ecranului.

SUNSOFT 5B

Acest MMC a fost o evoluție a FME-7, cu privire la care conținea un generator de sunet capabil de 3 unde pătrate derivate din AY-3-8910 a General Instrument . A fost jucat doar în jocul Gimmik! pentru Famicom.

Jetoane nerecunoscute de Nintendo

Unii producători de jocuri NES care operau fără licență Nintendo au produs MMC-uri personalizate care, în general, au extins doar cantitatea de memorie pe care consola o putea suporta.

Printre acestea se numără Active Enterprises ' 228 , un cip care gestiona doar comutarea bancară, utilizat în jocurile Action 52 și Cheetahmen II . Versiunea montată pe Acțiunea 52 conținea un registru de 16 biți care stoca elementul selectat în meniu la lansarea jocului.

Notă

  1. ^ a b c d e f De ce jocurile tale nu uită niciodată , în Nintendo Power , n. 20, martie / aprilie 1991, pp. 28-31.
  2. ^ Caracteristici UxROM , la wiki.nesdev.com , NesDev.org. Adus pe 3 martie 2011 .
  3. ^ a b Caracteristici ale MMC1 , la wiki.nesdev.com , NesDev.org. Adus pe 3 martie 2011 .
  4. ^ Caracteristicile MMC2 , la wiki.nesdev.com , NesDev.org. Adus pe 3 martie 2011 .
  5. ^ Caracteristicile MMC3 , la wiki.nesdev.com , NesDev.org. Accesat la 3 februarie 2011 .
  6. ^ Caracteristicile MMC4 , la wiki.nesdev.com , NesDev.org. Adus pe 3 martie 2011 .
  7. ^ Caracteristicile MMC5 , la wiki.nesdev.com , NesDev.org. Adus pe 3 martie 2011 .
  8. ^ Caracteristicile MMC6 , la wiki.nesdev.com , NesDev.org. Adus pe 3 martie 2011 .
  9. ^ a b Caracteristici AxROM , la wiki.nesdev.com , NesDev.org. Adus pe 4 martie 2011 .
  10. ^ Caracteristicile VRC2 , la wiki.nesdev.com , NesDev.org. Adus pe 4 martie 2011 .
  11. ^ Caracteristici VCR2 , la wiki.nesdev.com , NesDev.org. Adus pe 19 septembrie 2011 .
  12. ^ Caracteristicile VRC6 , la wiki.nesdev.com , NesDev.org. Adus pe 4 martie 2011 .
  13. ^ Audio VRC7 , la wiki.nesdev.com , NesDev.org. Adus pe 4 martie 2011 .
  14. ^ Caracteristicile VRC7 , la wiki.nesdev.com , NesDev.org. Adus pe 4 martie 2011 .

Elemente conexe

Alte proiecte

linkuri externe