Cartușul de sunet Konami este un cartus de expansiune special pentru computerele de consum MSX , care a venit cu jocurile Konami Snatcher și Super Deform Snatcher (jocurile în sine au fost furnizate pe trei dischete de 3,5 inchi ) .
Cartușul conține o versiune ușor îmbunătățită a cipului generator de sunet Konami SCC , desemnată oficial SCC-I , dar denumită de obicei informal ca SCC+ și 64 KB de RAM . Memoria suplimentară a fost probabil inclusă în cartuş datorită faptului că majoritatea computerelor compatibile cu MSX din Japonia (la momentul lansării jocurilor menţionate) aveau o cantitate mică de RAM principală (de obicei 64 KB).
Cipul SCC+ utilizat în cartuş diferă de cipul SCC convenţional prin faptul că are memorie pentru a stoca forma de undă pentru toate cele cinci canale (32 de octeţi fiecare). Un cip SCC convențional avea memorie doar pentru patru canale, canalele 4 și 5 foloseau aceeași memorie.
Cartușul care a venit cu jocul Snatcher este diferit de cel care a venit cu jocul Super Deform Snatcher . Singura diferență este alocarea diferită a memoriei. Un posibil motiv pentru aceste diferențe este dorința dezvoltatorului de a face aceste cartușe incompatibile între ele. Unii emulatori MSX emulează această variantă de cartuş (cum ar fi emulatorul MAME ).
Majoritatea jocurilor incluse în Colecțiile de jocuri Konami pot folosi cartuşul livrat cu Snatcher pentru o calitate mai bună a sunetului. Cu excepția acestor jocuri, cartuşul nu este acceptat de alte programe.
Cipul SCC+ este realizat într-un pachet DIP48 . Fiecare circuit integrat este etichetat KONAMI 052539 SCC-I 2312P001 JAPONIA (diferit de circuitele integrate SCC obișnuite), urmat de un cod de dată și loc de fabricație, cum ar fi 8951EAI. Primele două cifre sunt anul, următoarele două sunt săptămâna anului. Literele reprezintă denumirea de cod a fabricii de producție și a lotului.
Sunetul este generat de un circuit complet digital și este scos ca un cod paralel de 6 biți, convertit de un DAC extern de 11 biți (circuit R-2R în lanț simplu) într-un semnal analogic.
Este posibil să creșteți cantitatea de cartuș RAM până la 128 KB. Există două locuri nefolosite pe placa de circuit imprimat pentru instalarea cipurilor de memorie de tip 4464 (fiecare are o capacitate de 4x64K). Când sunt instalate cipuri de memorie suplimentare, ambele tipuri de cartușe devin complet identice și pot funcționa atât cu Snatcher , cât și cu Super Deform Snatcher .
Un efect secundar oarecum neașteptat al expansiunii memoriei este că cartușul începe să funcționeze exact ca un cartuş obișnuit bazat pe ROM de 128 KB și un cip SCC . În același timp, devine posibil să încărcați în memoria RAM a cartuşului orice jocuri distribuite pe cartușe de acest tip (de exemplu, Gradius 2 , F1 Spirit , Quarth și altele) în memoria RAM a cartuşului și vor funcționa precum cartușele originale. Desigur, atunci când alimentarea este oprită, informațiile încărcate în RAM se pierd și este necesară o reîncărcare. Este posibil ca cipul SCC+ să fi fost dezvoltat inițial pentru nevoile interne de dezvoltare și testare a jocurilor Konami .
De asemenea, este posibil să faceți cartuşul compatibil cu ambele jocuri fără a adăuga cipuri RAM. Pentru a face acest lucru, trebuie să conectați pinul 16 al unuia dintre cipurile RAM instalate cu un pad pentru același pin al unuia dintre cipurile lipsă. În acest caz, RAM instalată va fi afișată în ambele bănci de 64 KB.
Programarea SCC+ se face prin porturile I/O mapate la spațiul de adresă de memorie și este în general foarte aproape de programarea cartuşelor ROM și SCC obișnuite.
Ca și în cazul cartușelor convenționale care utilizează cipul SCC, memoria este împărțită în patru bănci de 8 KB:
Banca 1 4000h - 5FFFh Banca 2 6000h - 7FFFh Banca 3 8000h - 9FFFh Banca 4 A000h-BFFFhPentru a modifica aspectul memoriei, trebuie să scrieți la una dintre următoarele adrese:
Banca 1 5000h - 57FFh Banca 2 7000h - 77FFh Banca 3 9000h - 97FFh Banca 4 B000h-B7FFhBiții trei până la șapte sunt ignorați. Valorile de la 0 la 7 selectează paginile de 8 KB în 64 KB inferioare de RAM ale cartuşului (varianta snatcher ), valori de la 8 la 15 - în 64 KB superioare (ca și cu Super Deform Snatcher ) .
Implicit (după resetare) este setată următoarea corespondență a băncilor și a zonelor de memorie: 1=0, 2=1, 3=2, 4=3. Această distribuție a memoriei este similară cu cartușele ROM convenționale cu un cip SCC. Dacă cei 64 KB inferioare de RAM lipsesc (în cazul Super Deform Snatcher), o citire din zona de memorie corespunzătoare va returna valoarea FFh, iar scrierea va fi ignorată.
În mod implicit, conținutul memoriei RAM nu poate fi schimbat (scrierea pe acesta este interzisă, modul ROM). Pentru a selecta modul de acces la memorie, precum și pentru a selecta modul de funcționare al generatorului de sunet (modul SCC +, în care canalele 4 și 5 sunt complet independente, sau modul de compatibilitate SCC, în care aceste canale au o formă de undă comună), există un registru special numit registru de mod . Se află întotdeauna la adresele BFFEh și BFFFh. este posibil să comutați memoria în modul RAM, dar în acest mod nu este posibilă modificarea alocației băncilor în zonele de memorie.
Bit 7 nefolosit Bit 6 nefolosit Bit 5 dacă este setat, generatorul de sunet funcționează în modul SCC+, altfel în modul compatibil SCC Bit 4 dacă sunt setate, băncile de la 1 la 3 sunt în modul RAM, altfel în modul de selecție a zonei de memorie Bit 3 nefolosit Bit 2 dacă este setat și bitul 5 șters, banca 3 este în modul RAM, indiferent de valoarea bitului 4 Bit 1 dacă este setat, banca 2 este în modul RAM, indiferent de valoarea bitului 4 bit 0 dacă este setat, banca 1 este în modul RAM, indiferent de valoarea bitului 4Locațiile de memorie BFFEh și BFFFh nu pot fi modificate nici măcar în modul RAM, deoarece afișează întotdeauna registrul modului.
Jocurile Konami folosesc întotdeauna 20h și 3Fh pentru registrul modului, deoarece folosesc întotdeauna modul SCC+. 30h va funcționa și pentru modul RAM.
Dacă banca 3 este în modul de selectare a zonei și bitul 5 al registrului de mod este clar, modul SCC poate fi activat prin scrierea valorii 3Fh la orice adresă în intervalul 9000h...97FFh. Setul de registre de control este similar cu cartușele SCC convenționale și diferă doar prin adresele de registru și prin capacitatea de a citi forma de undă a canalului 5. Registrele SCC sunt mapate în memorie în intervalul de adrese de la 9800h la 9FDFh.
Abordare | Scrie citeste | Scop |
---|---|---|
9800h - 981Fh | Scrierea și lectura | Forma de undă a canalului 1 |
9820h - 983Fh | Scrierea și lectura | Forma de undă canal 2 |
9840h - 985Fh | Scrierea și lectura | Forma de undă canal 3 |
9860h - 987Fh | Scrierea și lectura | Citiți: Forma de undă Canalul 4 Scrieți: Forma de undă Canalul 4 și 5 |
9880h - 9881h | Numai înregistrare | Frecvența canalului 1 |
9882h - 9883h | Numai înregistrare | Frecvența canalului 2 |
9884h - 9885h | Numai înregistrare | Frecvența canalului 3 |
9886h - 9887h | Numai înregistrare | Frecvența canalului 4 |
9888h - 9889h | Numai înregistrare | Frecvența canalului 5 |
988 ah | Numai înregistrare | Volumul canalului 1 |
988bh | Numai înregistrare | Volumul canalului 2 |
988Ch | Numai înregistrare | Volumul canalului 3 |
988Dh | Numai înregistrare | Volumul canalului 4 |
988Eh | Numai înregistrare | Volumul canalului 5 |
988Fh | Numai înregistrare | Biții de activare/dezactivare a canalelor 1..5 |
9890h - 989Fh | Numai înregistrare | Similar cu adresele 9880h...988Fh |
98A0h - 98BFh | Numai înregistrare | Forma de undă canal 5 |
98C0h - 98DFh | Scrierea și lectura | Înregistrați distorsiunea |
98E0h - 98FFh | Nefolosit |
Dacă banca 4 este în modul de selectare a zonei și bitul 5 al registrului de mod este setat, modul SCC+ poate fi activat prin scrierea oricărei valori cu MSB setat la orice adresă din intervalul B000h...B7FFh. După aceea, registrele SCC+ devin disponibile în domeniul de adrese B800h...BFDFh.
Abordare | Scrie citeste | Scop |
---|---|---|
B800h-B81Fh | Scrierea și lectura | Forma de undă a canalului 1 |
B820h - B83Fh | Scrierea și lectura | Forma de undă canal 2 |
B840h - B85Fh | Scrierea și lectura | Forma de undă canal 3 |
B860h - B87Fh | Scrierea și lectura | Forma de undă canal 4 |
B880h - B89Fh | Scrierea și lectura | Forma de undă canal 5 |
B8A0h - B8A1h | Numai înregistrare | Frecvența canalului 1 |
B8A2h-B8A3h | Numai înregistrare | Frecvența canalului 2 |
B8A4h-B8A5h | Numai înregistrare | Frecvența canalului 3 |
B8A6h-B8A7h | Numai înregistrare | Frecvența canalului 4 |
B8A8h-B8A9h | Numai înregistrare | Frecvența canalului 5 |
B8AAh | Numai înregistrare | Volumul canalului 1 |
B8ABh | Numai înregistrare | Volumul canalului 2 |
B8ACh | Numai înregistrare | Volumul canalului 3 |
B8ADh | Numai înregistrare | Volumul canalului 4 |
B8AEh | Numai înregistrare | Volumul canalului 5 |
B8AFh | Numai înregistrare | Biții de activare/dezactivare a canalelor 1..5 |
B8B0h-B8BFh | Numai înregistrare | Similar cu adresele B8A0h…B8AFh |
B8C0h-B8DFh | Scrierea și lectura | Înregistrați distorsiunea |
B8E0h-B8FFh | Nefolosit |