WikiDer > Konami SCC

Das Konami SCC (SCC steht für Benutzerdefinierter Sound-Chip oder Sound-Creative-Chip) ist ein Soundchip für die MSX Computerständer die gemeinsam von der . entwickelt wurde japanisch Unternehmen Konami und Yamaha. Konami war mit den begrenzten Spezifikationen des standardmäßig integrierten Soundchips in MSX-Computern unzufrieden. Dies gilt sowohl für MSX1- als auch für MSX2-Computersysteme.Der SCC-Soundchip wird sowohl verwendet gleichzeitig wenn Nächster den vorhandenen Soundchip verwendet. Der SCC-Chip ist auch bekannt als K051649. Der Chip wird von praktisch jedem MSX emuliertEmulator aber auch von MAME.
Irgendein KonamiSpielkassette Die Verwendung von SCC-Sound verfügt über einen integrierten SCC-Soundchip und verfügt außerdem über einen integrierten Memory Mapper. Praktisch jeder Konami MSX-Spieletitel von 1987 verwendet diesen Chip, einschließlich Nemesis II und Metal Gear 2: Solid Snake. Der Chip wurde auch von Konami in diversen Computerspielen in der Arkade einschließlich: Haunted Castle, City Bomber, Hexion und Nyan Nyan Panic.
Eine weiterentwickelte Version, die Konami Soundkassette enthält nur wenige und relativ geringfügige Verbesserungen (einschließlich 64 kB RAMSpeicher) und wird in Verbindung mit den Spielen verwendet schnapper und SD-Snatcher.Jedes SCC enthält folgendes Impressum: KONAMI 051649 2212P003 JAPAN, gefolgt von einem Standort- oder Produktionscode (Charge) und einem Datumscode, zum Beispiel: 8750AAA. Die ersten beiden Ziffern geben das Jahr an, die dritte und vierte Ziffer geben die Wochennummer an und die Zahlenkombination gibt einen Produktionscode an.
Der SCC ist ein primitiver Soundchip mit Wavetable-Synthese und hat 5 Tonkanäle. Jeder Kanal kann durch ein Ein/Aus-Bit, Lautstärke, Frequenz und 32 Byte Wellenton gesteuert werden. Die Kanäle 4 und 5 teilen sich 32 Byte Wellenton. Insgesamt sind 128 Byte Speicher verbaut.
Programmierung des SCC
Nachfolgend finden Sie eine technische Abhandlung über die Funktionsweise des Soundchips. Soweit uns bekannt, wurden noch nie offizielle Informationen veröffentlicht. Alle unten aufgeführten Informationen wurden eingeholt durch Reverse Engineering.
Der Zugriff auf den SCC erfolgt über speicherabgebildete E/A. Zuerst muss 3Fh (die beiden High-Bits sind unwichtig, daher kann auch FFh verwendet werden) auf eine Speicheradresse zwischen 9000h und 97FFh geschrieben werden. Nun wird der SCC aktiviert, so dass nun Daten auf die Speicheradressen zwischen 9800h und 9FFFh sowohl gelesen als auch geschrieben werden können.
| Adresse | lesen Schreiben | Funktion |
|---|---|---|
| 9800h - 981Fh | rw | Wellenform Kanal 1 |
| 9820h - 983Fh | rw | Wellenform-Kanal 2 |
| 9840h - 985Fh | rw | Wellenform-Kanal 3 |
| 9860h - 987Fh | rw | Wellenformkanal 4 und 5 |
| 9880h - 9881h | w | Frequenzkanal 1 |
| 9882h - 9883h | w | Frequenzkanal 2 |
| 9884h - 9885h | w | Frequenzkanal 3 |
| 9886h - 9887h | w | Frequenzkanal 4 |
| 9888h - 9889h | w | Frequenzkanal 5 |
| 988Ah | w | Lautstärke Kanal 1 |
| 988Bh | w | Lautstärke Kanal 2 |
| 988Ch | w | Lautstärke Kanal 3 |
| 988Dh | w | Lautstärke Kanal 4 |
| 988Eh | w | Lautstärke Kanal 5 |
| 988Fh | w | Ein-/Ausschalter Kanal 1 bis 5 |
| 9890h - 989Fh | identisch mit 9880h bis 988Fh | |
| 98A0h - 98DFh | keine Funktion | |
| 98E0h - 98FFh | rw | Verformungsregister |
Die Wellenform (Wellenform) besteht aus 32, signiert (Zweierkomplement) Byte. Die Wellenform stellt die tatsächliche Form des Sounds dar, den der Soundchip erzeugt. Es spielt von Byte 0 bis 31 und beginnt dann wieder von vorne.
Die Frequenz wird wie beim PSG-Soundchip gespeichert und hat einen 12-Bit-Wert. Das erste Byte enthält die Bits 0 bis 7 der Frequenz und die Bits 0 bis 3 des zweiten Bytes enthalten die Bits 8 bis 11 der Frequenz. Die Bits 4 bis 7 des zweiten Bytes werden ignoriert. Beachten Sie, dass es sich bei dem eingegebenen Wert tatsächlich um eine Periode handelt: Ein höherer Wert zeigt eine niedrigere Frequenz an.
Die Formel zur Berechnung der Schallfrequenz ist identisch mit der des PSG:
ist die interne Uhr des Computers (bei einem MSX immer 3579,545 Hz) und P ist die im Frequenzregister definierte 12-Bit-Periode.
Die Lautstärke wird wie beim PSG gespeichert, unterstützt jedoch keine Hüllkurven. Die Bits 0 bis 3 enthalten ein Volumen von 0 bis 15, und die Bits 7 bis 4 werden ignoriert. Eine Lautstärke von 0 bedeutet keine Tonausgabe (Stille) und eine Lautstärke von 15 ist die maximale Lautstärke.
Das Ein/Aus-Register schaltet die verschiedenen Kanäle ein oder aus. Das Setzen von Bit 0 aktiviert Kanal 1, Bit 1 Kanal 2, Bit 2 Kanal 3, Bit 3 Kanal 4 und Bit 4 aktiviert Kanal 5. Bits 5 bis 7 werden ignoriert.
Verformungsregister (98E0h)
Dieses Register wird von keinem Konami-Spiel verwendet. Jede Adresse im Speicherbereich (98E0h - 98FFh) bezieht sich auf dasselbe Register. Ein Neustart des SCC setzt dieses Register auf 0.
Die beiden niedrigen Bits beeinflussen die Frequenz und wenn sie auf 01b gesetzt sind, werden alle Frequenzen mit 256 multipliziert. Wenn sie auf 11b oder 10b gesetzt sind, werden alle Frequenzen mit 16 multipliziert.
Wenn Bit 5 gesetzt ist, wird die Wellenform beim Schreiben eines Frequenzregisters von Anfang an abgespielt. Wenn Bit 6 gesetzt ist, werden alle Wellenformdaten mit den folgenden Geschwindigkeiten gedreht:
Dadurch ist es nicht mehr möglich, in die Wellenform zu schreiben.
Wenn die Bits 7 und 6 gesetzt sind, treten die Wellenformdaten nur in den Kanälen 4 und 5 auf. Das Lesen dieses Registers gibt FFh zurück, setzt jedoch tatsächlich Bit 6 des Registers. Da nun die Rotation der Wellenformen gestartet wird, ändern sich die Werte bei jedem Auslesen auf 9800h bis 987Fh.
Mehr über Gedächtnis
Der Speicherbereich von 9800h bis 987Fh verhält sich wie ein RAM-Speicher, solange das Deformationsregister zurückgesetzt wird. Der Speicherbereich von 9880h bis 98FFh kann nur beschrieben werden. Das Auslesen liefert immer den Wert FFh. Seien Sie vorsichtig beim Auslesen des Deformationsregisters, da es Bit 6 setzt. Der Speicherbereich von 9900h bis 99FFh hat die gleiche Funktion wie der Bereich von 9800h bis 98FFh, 9900h bis 99FFh usw bis 9F00h bis 9FFFh Dies geschieht, weil der SCC-Chip nicht mit den Adressleitungen A8 bis A10 verbunden ist, so dass er nicht zwischen diesen Speicherketten unterscheiden kann.