SPC700

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet vonSony SPC700)
Zur Navigation springen Zur Suche springen
Sony SPC700

DerSony SPC700ist ein 8-Bit-Audio-Koprozessor,der vonKen Kutaragientworfen wurde und zusammen mit einemDigitalen Signalprozessor (DSP)in der SpielkonsoleSuper Nintendo Entertainment System(SNES) Verwendung fand. Der SPC700 samt zugehörigem 16-Bit-DSP wurde vonSonyentwickelt und hergestellt. Für die damalige Zeit (1990) war der SPC700 sehr fortschrittlich und kann begrenzt sogar mitWavetable-Synthesizer-Soundkarten verglichen werden.

SPC700 ist eigentlich die Architektur des S-SMP genanntenMikroprozessors,die auch in anderen Prozessoren von Sony Verwendung fand. Der DSP-Chip wurde mit S-DSP bezeichnet. Der in späteren SNES-Revisionen zu findende gemeinsame Mikrochip wird wiederum alsS-APUbezeichnet. In der SNES-Szene hat sich heutzutage die Bezeichnung SPC700 für das gesamte Audiosystem des SNES durchgesetzt.

Von Sony entwickelter DSP

In frühen SNES-Revisionen (auchSuper Famicom) ist der S-SMP oberhalb des S-DSP angebracht. In späteren SNES-Revisionen wurden S-SMP (Mikroprozessor), S-DSP (Synthesizer) und Arbeitsspeicher in einen mit S-APU bezeichneten Mikrochip kombiniert.

Das Soundsystem enthält 64 KiBRAM,sowie ein Boot-ROM,welches den initialen Upload von Speicherdaten zum SPC700 übernimmt. Der Audio-Taktgeber läuft mit 24,606720 MHz (NTSC:24,576 MHz) (notwendig für die serielle Übertragung der Samples zumDAC), die auf 3,075840 MHz (NTSC: 3,072 MHz) geteilt werden. Von jeweils drei Speichertakten erhält der Prozessor den ersten Takt und der DSP die restlichen zwei Takte. Folglich läuft der Prozessor mit einer Taktfrequenz von 1,025280 MHz (NTSC: 1,024 MHz) und ist etwa so leistungsfähig wie ein ursprünglicher6502.Alle 32 Prozessortakte wird ein Sample ausgegeben.

Der Prozessor besitzt sechs Hauptregisterund kann 256Opcodesausführen. SPC700-Sound-Sampleswerden im RAM in einem komprimiertenADPCM-Format gespeichert, welches als BRR („bit rate reduced“) bezeichnet wird. Der Befehlssatz ähnelt dem der6502-CPU-Reihe, enthält aber zusätzliche Befehle, wie XCN (eXChangeNibble), das die oberen und unteren 4-Bit desAkkumulatorsvertauscht, Multiplikations- und Divisionsbefehle, oder Einzel-Bit-Rechenbefehle. EineSprungvektortabelleam oberen Ende des Addressraums wird für die TCALL-Befehle, Interrupts oder beim Reset verwendet. Außerdem kann die sogenannte Direct Page, die beim 6502 aufSpeicherseite0 beschränkt ist (Zeropage), zwischen Speicherseite 0 und 1 umgeschaltet werden. Unterstützung fürUnterbrechungenist vorhanden, allerdings sind keine Hardwareinterruptquelle(n) angeschlossen. Drei konfigurierbare Hardwarezähler sind vorhanden.

Der zum SPC700 gehörende DSP arbeitetsamplebasiert. Es können Audiosamples in acht Stimmen simultan in jeder passenden Tonhöhe und Lautstärke wiedergegeben werden. Zudem unterstützt erTonhöhenmodulationaufeinanderfolgender Stimmen, VoicePanning,ADSR,EchomitFilterung(über einen programmierbaren 8-TapFIR(Finite Impulse Response)), und den Einsatz vonWeißem Rauschenals Geräusch-Quelle (nützlich fürSoundeffektewie z. B. Wind, oder aberPerkussion). Das Ausgangssignal wird als 16-Bit Stereo mit einerAbtastratevon 32 kHz erzeugt, wobei viele interne Verarbeitungsschritte nur in 15 Bit rechnen. Die Kommunikation des SPC700 mit dem DSP geschieht über 128 Hardware-Register, die überMemory Mapped I/Overfügbar sind.

SNES-Mainboard

Die Arbeitsweise des SPC700-Soundsystems ist auf mehrere Arten ungewöhnlich. Da es keinen direkten Zugriff auf den ROM desSpielmodulshat, muss die Haupt-CPU des SNES Datenblöcke mit Befehlen und Samples zum internen Speicher des SPC700 übertragen, was nur über vier Kommunikationsports geschieht. Außerdem besitzt das Soundsystem mit dem S-SMP bzw. SPC700-Mikroprozessor einen vollwertigen (turing-vollständigen)Koprozessor,der ähnlich wie der Hauptprozessor programmiert wird. Dies stellt einen Vorteil verglichen mit vielen anderen Soundsystemen anderer Konsolen dar, bei denen die Haupt-CPU die gesamte Audiosteuerung leisten muss.

Das emulations-bezogene Sound-Format „SPC “ist vom Namen dieses Soundsystems abgeleitet.