sslxy

Schneider CPC

Amstrad CPC – Z80A, Gate Array, 6845, Locomotive BASIC, AMSDOS, CP/M und die europäische 8-Bit-Systemwelt.

Die CPC-Familie gehört zu den technisch interessantesten europäischen 8-Bit-Rechnerreihen der 1980er-Jahre. Unter dem Namen Amstrad CPC international und als Schneider CPC im deutschsprachigen Vertrieb verbindet sie einen Z80A mit einer ungewöhnlich flexiblen Videoarchitektur, einer umfangreichen ROM-Firmware, Locomotive BASIC, AY-Sound sowie – bei den Diskettenmodellen – AMSDOS und CP/M.

Diese Seite trennt bewusst zwischen der klassischen CPC-Architektur und der späteren Plus-Reihe. Sie beschreibt die Modelle 464, 664 und 6128, korrigiert verbreitete Verwechslungen bei RAM, Takt, Grafikmodi und Diskettenbetrieb und führt anschließend bis zu Softwareentwicklung, Spezialformaten, Demoscene, Erhalt und Emulation.

Der CPC wird hier als technische Archiv- und Vergleichsplattform dokumentiert. Ein konkreter historischer Gerätebesitz wird nicht behauptet, wenn er im SSLXY-Bestand nicht gesondert belegt ist.

System Diagnostic

> CPC ARCHITECTURE PROFILE
FAMILYAmstrad CPC · Schneider CPC im deutschsprachigen Vertrieb CLASSICCPC 464 · CPC 664 · CPC 6128 CPUZilog Z80A · nominell 4 MHz · 16-Bit-Adressraum / 64 KiB sichtbar RAM464: 64 KiB · 664: 64 KiB · 6128: 128 KiB mit Banking VIDEO6845-kompatibler CRTC + Amstrad Gate Array · 27-Farben-Palette MODES160×200/16 · 320×200/4 · 640×200/2 AUDIOAY-3-8912 · 3 Tonkanäle · Noise · gemeinsame Hüllkurve SOFTWAREROM-Firmware · Locomotive BASIC · AMSDOS · CP/M STORAGE464: Kassette · 664/6128: 3-Zoll-Diskette · ca. 178 KiB DATA pro Seite
Ein CPC ist keine „schnelle Z80-CPU mit Grafikchip“, sondern ein eng abgestimmtes System aus CPU, RAM, CRTC, Gate Array, Firmware und I/O.

Chronologie

1984

CPC 464

64 KiB RAM, integrierte Kassette, ROM-Firmware und Locomotive BASIC.

1985

CPC 664

64 KiB RAM, integrierte 3-Zoll-Diskette und AMSDOS-ROM.

1985

CPC 6128

128 KiB RAM, Banking, Diskette und besonders starker CP/M-Kontext.

1990

Plus / GX4000

ASIC-Erweiterung, 4096-Farben-Palette und Hardware-Sprites.

[system/overview]

Was der Schneider CPC tatsächlich ist

Der Schneider CPC ist keine eigenständige deutsche Rechnerarchitektur, sondern die im deutschsprachigen Vertrieb verwendete Variante der von Amstrad entwickelten CPC-Familie. CPC steht für Colour Personal Computer. In Deutschland wurden die Rechner über die Schneider Computer Division unter Schneider-Logo vertrieben; technisch gehören sie zur Amstrad-CPC-Linie.

Die klassischen Modelle verbinden einen Zilog Z80A, 64 oder 128 KiB RAM, ROM-Firmware, Locomotive BASIC, einen 6845-kompatiblen CRT-Controller, ein Amstrad Gate Array und den Soundgenerator AY-3-8912. Das System wurde gewöhnlich zusammen mit einem passenden Grün- oder Farbmonitor angeboten; der Monitor war zugleich ein Teil der Stromversorgung des Rechners.

Architektonisch ist der CPC interessant, weil er zwischen sehr direkter Heimcomputertechnik und einer bereits ausgeprägten Firmware-Schicht steht. Programme können die Hardware unmittelbar ansprechen, zugleich stellt die ROM-Firmware standardisierte Routinen für Bildschirm, Tastatur, Kassette, Sound und – mit Disk-Erweiterung – Massenspeicher bereit.

[history/schneider_amstrad]

Schneider und Amstrad – gleiche CPC-Familie, andere Marktbezeichnung

Amstrad entwickelte die CPC-Rechner in Großbritannien. Für den deutschen Markt übernahm Schneider Rundfunkwerke beziehungsweise deren Computer Division den Vertrieb und verwendete die Marke Schneider. Gehäusebeschriftung, Tastaturausführung, Abschirmung und Anschlüsse konnten regional abweichen, die grundlegende Rechnerarchitektur blieb jedoch die des Amstrad CPC.

Die Bezeichnung „Schneider CPC“ ist deshalb historisch sinnvoll, wenn der deutschsprachige Markt gemeint ist. Für technische Architektur, Softwarekompatibilität und internationale Dokumentation ist „Amstrad CPC“ der übergeordnete Familienname.

Diese Seite verwendet beide Begriffe bewusst: Schneider für den historischen deutschsprachigen Vertriebskontext, Amstrad CPC für die gesamte Systemfamilie.

[system/package]

Rechner plus Monitor – das CPC-Komplettpaket

Ein wichtiges Merkmal des CPC-Konzepts war das als zusammengehörige Einheit verkaufte System aus Rechner und dediziertem Monitor. Je nach Paket kam ein Grünmonitor oder Farbmonitor zum Einsatz. Dadurch musste der Käufer nicht erst einen Fernseher oder separaten Monitor passend machen.

Der Monitor lieferte zugleich die benötigte Niederspannungsversorgung für den Rechner; bei diskbasierten Modellen musste zusätzlich das Laufwerk versorgt werden. Das macht den historischen Aufbau heute wichtig: Ein CPC ist nicht ohne Weiteres als isolierte Tastatureinheit mit beliebigem Netzteil zu betrachten.

Der Begriff „tragbar“ ist deshalb nur eingeschränkt passend. Die Rechner besitzen integrierte Tastatur und beim 464 Kassette beziehungsweise beim 664/6128 Diskettenlaufwerk, benötigen im Originalkonzept aber den separaten Monitor.

[models/chronology]

Die klassische Modellfolge 464 → 664 → 6128

Die Kernfamilie lässt sich klar chronologisch ordnen. Der CPC 464 erschien 1984. Der CPC 664 folgte 1985 als diskbasiertes 64-KiB-Modell. Noch im selben Jahr kam der CPC 6128 mit 128 KiB RAM. Der 664 blieb deshalb nur kurze Zeit im Programm.

Die Modellnummern sind zugleich eine Merkhilfe: Der 464 kombiniert 64 KiB RAM mit eingebauter Kassette, der 664 64 KiB mit eingebautem 3-Zoll-Laufwerk, der 6128 128 KiB mit 3-Zoll-Laufwerk. Diese Vereinfachung beschreibt nicht jedes Detail, erklärt aber die wichtigsten Marktunterschiede.

Modell Einführung RAM Eingebautes Medium ROM-/Disk-Kontext
CPC 464198464 KiBCompact CassetteFirmware + Locomotive BASIC; Diskettenbetrieb per DDI-1 möglich
CPC 664198564 KiB3-Zoll-DiskettenlaufwerkFirmware + BASIC + AMSDOS-ROM
CPC 61281985128 KiB3-Zoll-DiskettenlaufwerkFirmware + BASIC + AMSDOS-ROM; zusätzliche 64 KiB bankgeschaltet
[models/cpc464]

CPC 464 – 64 KiB und integrierte Kassette

Der CPC 464 bildet die ursprüngliche Systembasis. Er besitzt 64 KiB RAM und 32 KiB ROM für Firmware und Locomotive BASIC. Das eingebaute Kassettenlaufwerk macht ihn ohne zusätzliche Massenspeicherhardware unmittelbar nutzbar.

Die Kassette ist jedoch nicht die einzige mögliche Speicherform. Über das DDI-1-Disketteninterface konnte der 464 um ein 3-Zoll-Diskettenlaufwerk und das AMSDOS-ROM erweitert werden. Damit rückte die Maschine funktional deutlich näher an die diskbasierten Nachfolger.

Die Z80A-CPU, Grafikarchitektur, Soundhardware und Firmwarekonzeption des 464 bilden die Grundlage der späteren klassischen CPC-Modelle.

[models/cpc664]

CPC 664 – Diskette, aber weiterhin 64 KiB RAM

Der CPC 664 ersetzte das eingebaute Kassettenlaufwerk durch ein integriertes 3-Zoll-Diskettenlaufwerk. Entgegen einer verbreiteten Verwechslung besitzt der 664 nicht 128 KiB RAM, sondern wie der CPC 464 insgesamt 64 KiB.

Zusätzlich zur Firmware und Locomotive BASIC steht ein Disk-ROM mit AMSDOS zur Verfügung. Das System erhält damit komfortable Diskettenbefehle und Zugriff auf das CP/M-kompatible Dateisystemmodell des CPC.

Der 664 war ein Übergangsmodell: Noch 1985 erschien der CPC 6128 mit 128 KiB RAM und verdrängte den 664 rasch aus dem Programm.

[models/cpc6128]

CPC 6128 – 128 KiB und die langlebige Diskettenvariante

Der CPC 6128 kombiniert die klassische CPC-Hardware mit 128 KiB RAM. Da der Z80 nur einen 16-Bit-Adressraum von 64 KiB direkt sieht, werden die zusätzlichen 64 KiB über Speicherbanking eingeblendet. Im BASIC-Betrieb bleibt die direkt verfügbare freie Programmspeichermenge deshalb wesentlich kleiner als 128 KiB.

Das integrierte 3-Zoll-Laufwerk und AMSDOS sind Teil des Systems. Zusätzlich war der 6128 eng mit CP/M Plus verbunden; auch CP/M 2.2 gehörte zum Softwarekontext der Diskettenmodelle. Damit eignete sich der Rechner nicht nur für Spiele, sondern auch für CP/M-Anwendungen, Programmiersprachen und Produktivsoftware.

Der 6128 ist keine bloß äußerlich verbesserte 664-Version: Die zusätzliche RAM-Bank ist der wesentliche architektonische Unterschied.

[models/plus]

CPC 464 Plus und 6128 Plus – 1990er Neuauflage

1990 führte Amstrad die Plus-Reihe ein. CPC 464 Plus und CPC 6128 Plus behalten die Z80-Grundarchitektur und einen großen Teil der Softwarebasis, ergänzen jedoch eine deutlich erweiterte ASIC-basierte Grafik- und Systemlogik.

Die Plus-Serie besitzt eine größere Farbpalette und echte Hardware-Sprite-Funktionen – im Gegensatz zu den klassischen CPC 464/664/6128, die keine Hardware-Sprites besitzen. Damit darf die Plus-Grafik nicht rückwirkend auf die klassischen Modelle übertragen werden.

Softwarekompatibilität war ein Ziel, aber die Plus-Serie ist technisch nicht einfach nur ein neues Gehäuse um unveränderte klassische CPC-Hardware.

[models/gx4000]

GX4000 – CPC-Plus-Technik als Spielekonsole

Die GX4000 erschien 1990 als Spielekonsole auf Basis der Plus-Architektur. Sie nutzt Cartridge-Software und übernimmt wesentliche ASIC-, Grafik- und Soundgrundlagen der Plus-Rechner.

Technisch ist sie deshalb ein interessanter Seitenzweig der CPC-Familie, wirtschaftlich konnte sie sich gegen die etablierte Konsolenkonkurrenz jedoch nicht dauerhaft durchsetzen.

Für die klassische CPC-Architektur ist sie vor allem wichtig, weil sie zeigt, wie Amstrad den Z80-Unterbau mit modernerer Grafiklogik verlängern wollte.

[hardware/z80]

Z80A – 8-Bit-CPU mit 16-Bit-Adressraum

Das Herz der klassischen CPC-Systeme ist ein Zilog Z80A. Die CPU arbeitet mit 8-Bit-Datenoperationen, besitzt 16-Bit-Registerpaare und einen 16-Bit-Adressbus. Daraus ergibt sich ein direkt adressierbarer logischer Speicherraum von 64 KiB.

Der Z80 bietet einen umfangreichen Registersatz, darunter alternative Registerbänke, Indexregister IX und IY sowie eigene Block-, Bit- und I/O-Instruktionen. Diese Eigenschaften unterscheiden seinen Programmierstil deutlich von einem 6502/6510-System wie dem C64.

Die CPU-Familie wird auf prozessoren-und-rechnerarchitekturen.htm systemübergreifend eingeordnet.

[hardware/clock]

4 MHz Takt – aber nicht vier Millionen freie CPU-Zyklen

Der Z80A des CPC wird nominell mit 4 MHz getaktet. Diese Zahl darf nicht direkt mit einer frei laufenden 4-MHz-Z80-Plattform gleichgesetzt werden. Die Videoarchitektur greift regelmäßig auf denselben RAM zu und beeinflusst dadurch den zeitlichen Zugriff der CPU.

Das Gate Array koordiniert CPU- und Videozugriffe. Praktisch entstehen Wartezustände beziehungsweise ein charakteristisches CPC-Timing. Deshalb ist der Vergleich „Z80 4 MHz gegen 6510 1 MHz“ als reine Taktrechnung technisch unzureichend.

Für Spiele und Demos ist dieses Timing wichtig, weil Rastereffekte und genaue Schleifen an die CPC-spezifische Bus- und Videologik gekoppelt sind.

[hardware/registers]

Registermodell des Z80

Der Z80 besitzt den Akkumulator A, Flagregister F, die Registerpaare BC, DE und HL sowie einen alternativen Satz wichtiger Arbeitsregister. IX und IY erlauben indexierte Adressierung, SP verwaltet den Stack und PC bezeichnet die nächste Instruktionsadresse.

Die Registervielfalt ist gegenüber dem 6502 deutlich größer. Das erleichtert bestimmte Datenbewegungen und Schleifen, führt aber auch zu einer komplexeren Instruktionskodierung.

Für CP/M war die Z80/8080-kompatible Programmierwelt besonders attraktiv, weil ein breites Softwareökosystem auf diesem Befehlssatz aufbaute.

[hardware/io]

Getrennter I/O-Adressraum

Der Z80 besitzt neben dem Speicheradressraum einen eigenen I/O-Adressraum für IN- und OUT-Instruktionen. Viele CPC-Hardwarefunktionen werden über solche Portzugriffe gesteuert.

Das unterscheidet den Rechner beispielsweise vom C64, bei dem zahlreiche Hardwarebausteine direkt in den Speicheradressraum eingeblendet sind. Beide Modelle erreichen dasselbe Ziel – CPU-gesteuerte Peripherie –, aber mit unterschiedlicher ISA- und Plattformlogik.

Die genaue Portdekodierung des CPC ist teilweise absichtlich weit gefasst. Hardwareprogramme müssen deshalb CPC-spezifische Dekodierungsregeln berücksichtigen.

[memory/map]

64 KiB CPU-Adressraum und überlagerte ROMs

Der Z80 kann gleichzeitig 64 KiB adressieren. Beim CPC liegt darunter grundsätzlich RAM, während ROM-Bereiche für Lesezugriffe in bestimmte Adressfenster eingeblendet werden können. Das Lower ROM befindet sich im Bereich &0000 bis &3FFF, das Upper ROM im Bereich &C000 bis &FFFF.

Ein wichtiger Effekt dieser Überlagerung: Wenn ROM sichtbar ist, lesen CPU-Zugriffe den ROM-Inhalt; Schreibzugriffe können trotzdem das darunterliegende RAM erreichen. Wird das ROM ausgeblendet, wird derselbe Adressbereich als RAM lesbar.

Dadurch kann der Rechner Betriebssystem- und BASIC-ROM nutzen, ohne einen großen Teil des RAM dauerhaft aus dem logischen Adressraum zu verlieren.

Vereinfachte Sicht:

&0000 ┌─────────────────────────────┐
      │ Lower ROM bei Lesen        │
      │ RAM liegt darunter         │
&4000 ├─────────────────────────────┤
      │ RAM                         │
&C000 ├─────────────────────────────┤
      │ Upper ROM bei Lesen        │
      │ RAM / häufig Bildschirm    │
&FFFF └─────────────────────────────┘

ROM kann per Hardwaresteuerung aus der Lesesicht entfernt werden.
[memory/rom]

Firmware-ROM, BASIC-ROM und Disk-ROM

Beim CPC 464 umfassen die fest eingebauten 32 KiB ROM Betriebssystem/Firmware und Locomotive BASIC. Bei den diskbasierten Modellen kommt ein zusätzliches Disk-ROM für AMSDOS hinzu; der CPC 6128 wird deshalb typischerweise mit 48 KiB ROM beschrieben.

Die ROM-Architektur ist erweiterbar. Zusätzliche ROMs können über die Upper-ROM-Auswahl eingebunden werden und eigene Befehle beziehungsweise Firmwareerweiterungen bereitstellen.

Diese Architektur erklärt, warum zahlreiche CPC-Erweiterungen als ROM-Software integriert werden konnten, ohne den normalen BASIC-Arbeitsspeicher dauerhaft zu belegen.

[memory/128k]

128 KiB im 6128 – Banking statt 128-KiB-Flachraum

Die 128 KiB des CPC 6128 sind in zwei 64-KiB-Blöcke organisiert. Der Z80 sieht weiterhin nur 64 KiB gleichzeitig. Zusätzliche RAM-Konfigurationen blenden 16-KiB-Blöcke der zweiten Bank in verschiedene Fenster des CPU-Adressraums ein.

Damit können Programme größere Datenmengen, alternative Bildschirme, Tabellen oder CP/M-Plus-Strukturen halten. Ein einzelner normaler Zeiger bleibt jedoch 16 Bit breit und adressiert weiterhin nur den aktuell sichtbaren logischen Raum.

Banking ist deshalb keine Erweiterung der Z80-Adresse selbst, sondern eine Plattformfunktion um dieselben 16-Bit-Adressen auf verschiedene physische RAM-Bereiche abzubilden.

[video/screen_ram]

Bildschirmspeicher – 16 KiB mit ungewöhnlichem Zeilenlayout

Ein standardmäßiger CPC-Bildschirm belegt 16 KiB RAM. Die Bilddaten liegen nicht als einfache fortlaufende Liste kompletter Bildschirmzeilen vor. Die CRTC-basierte Adressierung verteilt Scanlines innerhalb von Zeichenzeilen auf charakteristische Speicherbereiche.

Diese Anordnung wirkt zunächst kompliziert, ermöglicht aber die gemeinsame Nutzung der 6845-Adresslogik für Text- und Bitmapdarstellung. Für Grafikprogrammierung muss die Adresse eines Pixels deshalb aus X-, Y- und Bildschirmbasiswerten berechnet werden.

Die Firmware stellt dafür Routinen bereit; schnelle Spiele und Demos verwenden häufig eigene optimierte Adressberechnungen.

[video/gate_array]

Gate Array – Farb-, Modus-, ROM- und Timinglogik

Das Amstrad Gate Array ist ein zentraler Spezialbaustein der klassischen CPC-Architektur. Es wandelt die aus dem RAM gelesenen Grafikbits in Farbwerte um, verwaltet Palette und Grafikmodus und beteiligt sich an Speicher-/ROM-Steuerung sowie Interrupt- und Timingfunktionen.

Die Bezeichnung darf nicht mit dem 6845 CRTC verwechselt werden. Der CRTC erzeugt vor allem Adress- und Timinggrundlagen für die Bildausgabe; das Gate Array verarbeitet die CPC-spezifische Pixeldarstellung und Farbzuordnung.

Über die Produktionszeit existieren verschiedene Gate-Array-Revisionen. Software sollte sich möglichst an dokumentierte CPC-Funktionen statt an unnötige Annahmen über einen einzelnen Chipaufdruck binden.

[video/crtc]

6845 CRTC – Adressgenerator statt fertiger Grafikchip

Der CPC verwendet einen 6845-kompatiblen CRT-Controller. Dieser Baustein erzeugt Timing- und Adresssignale für die Bildausgabe, besitzt aber keinen eigenen vollständigen Framebuffer und keine Sprite-Engine.

Gerade diese programmierbare Timinglogik machte spätere Raster- und Overscan-Techniken möglich. Durch Änderung von CRTC-Registern konnten erfahrene Programmierer sichtbare Bildbereiche, Startadressen und Synchronisationsverhalten beeinflussen.

Unterschiedliche CRTC-Varianten verhalten sich in Grenzfällen nicht völlig identisch. Demos, die sehr aggressive Timingtricks verwenden, können deshalb auf bestimmten CPC-Revisionen anders reagieren.

[video/modes]

Die drei offiziellen Grafikmodi – korrekt zugeordnet

Der klassische CPC besitzt drei offizielle Bitmapmodi. Sie verwenden für eine Standarddarstellung jeweils dieselbe grobe Bildspeichergröße, tauschen aber horizontale Auflösung gegen gleichzeitig verfügbare Farben.

Mode 0 ist der farbreichste, aber horizontal gröbste Modus. Mode 1 bildet den mittleren Kompromiss und ist zugleich ein typischer BASIC-Arbeitsmodus. Mode 2 liefert die höchste horizontale Auflösung, aber nur zwei gleichzeitig verwendbare Farben.

Die früher gelegentlich vertauschte Zuordnung 320×200/16 Farben oder 160×200 als „Mode 2“ ist falsch.

Modus Standardauflösung Gleichzeitige Farben Textbreite
Mode 0160 × 20016 aus 2720 Zeichen
Mode 1320 × 2004 aus 2740 Zeichen
Mode 2640 × 2002 aus 2780 Zeichen
[video/mode3]

Inoffizieller Mode 3

Aus der Gate-Array-Modusauswahl ergibt sich zusätzlich eine vierte Bitkombination, die als inoffizieller Mode 3 bekannt ist. Sie liefert eine Mode-0-ähnliche horizontale Auflösung mit nur vier Farben.

Da dieser Modus nicht zum normalen dokumentierten Benutzerbetrieb der klassischen CPCs gehört, sollte er nicht als gleichwertiger offizieller Standardmodus neben 0, 1 und 2 dargestellt werden.

Für Demos und hardwarenahe Experimente ist er dennoch Teil der realen CPC-Praxis.

[video/palette]

27-Farben-Palette und „Inks“

Der klassische CPC kann aus einer Hardwarepalette von 27 Farben wählen. Abhängig vom Grafikmodus stehen 16, 4 oder 2 gleichzeitig sichtbare Farbzuordnungen für Pixel zur Verfügung. Zusätzlich kann die Rahmenfarbe separat gesetzt werden.

Die BASIC- und Firmwarewelt spricht häufig von „Inks“. Ein Pixel kodiert dabei nicht direkt einen endgültigen RGB-Wert, sondern wählt eine logische Farbnummer, die auf eine Hardwarefarbe abgebildet wird.

Paletteffekte können deshalb sichtbare Farben verändern, ohne sämtliche Bilddaten im RAM neu zu schreiben.

[video/sprites]

Klassischer CPC: keine Hardware-Sprites

CPC 464, 664 und 6128 besitzen keine klassische Hardware-Sprite-Einheit wie etwa der VIC-II des C64 oder spätere Grafiksysteme. Bewegliche Objekte werden bei Spielen durch Software in den Bildspeicher geschrieben und gelöscht beziehungsweise über geeignete Bildschirm- und Speichertechniken organisiert.

Die hohe Flexibilität von CRTC und Gate Array ermöglicht beeindruckende Effekte, ist aber nicht mit echten Sprite-Registern zu verwechseln.

Erst die CPC-Plus-Architektur bringt echte Hardware-Sprite-Funktionen in die Familie.

[video/overscan]

Overscan und Rastereffekte

Weil der 6845 Timing und sichtbare Geometrie relativ frei steuern kann, lässt sich die normale Bildfläche erweitern. Solche Overscan-Techniken nutzen Bereiche, die im Standardmodus als Rahmen erscheinen würden.

Rastereffekte verändern Register synchron zum Bildaufbau. Dadurch können Palette, Bildstart oder andere Parameter innerhalb eines Frames wechseln. Diese Techniken wurden besonders in Demos und technisch ambitionierten Spielen genutzt.

Sie hängen stärker von exaktem Timing und Hardwarevariante ab als normale Firmwaregrafik.

[video/plus]

Plus-Grafik – 4096 Farben und Hardware-Sprites

Die 1990er Plus-Reihe erweitert die Grafikarchitektur erheblich. Eine größere Palette mit 4096 Farbwerten und echte Hardware-Sprites beseitigen zwei wichtige Grenzen der klassischen CPCs.

Trotz dieser Erweiterungen bleiben die klassischen Bitmapmodi und der Z80-Unterbau Teil des Systems. Die Plus-Serie ist deshalb evolutionär, aber nicht bloß softwareseitig erweitert.

Bei historischen Beschreibungen muss klar benannt werden, ob eine Funktion zum klassischen CPC oder erst zum Plus-ASIC gehört.

[audio/ay]

AY-3-8912 – drei Tonkanäle, Noise und gemeinsame Hüllkurve

Der General Instrument AY-3-8912 erzeugt drei programmierbare Tonkanäle. Zusätzlich steht ein Rauschgenerator zur Verfügung, der den Kanälen zugemischt werden kann. Die Lautstärke jedes Kanals lässt sich direkt setzen oder über die gemeinsame Hardware-Hüllkurve steuern.

Wichtig ist die Formulierung „gemeinsame Hüllkurve“: Der Chip besitzt nicht für jeden Kanal einen völlig unabhängigen ADSR-Generator. Hüllkurvenperiode und -form werden zentral programmiert; einzelne Kanäle können auf diese Hüllkurve geschaltet werden.

Der AY gehört zur gleichen Grundfamilie wie Soundchips anderer Z80-orientierter Systeme und erzeugt einen deutlich anderen Klangcharakter als der SID des C64.

[hardware/ppi]

8255 PPI – Bindeglied zu Tastatur, Sound und Kassette

Ein 8255-kompatibler Parallel-I/O-Baustein verbindet den Prozessor mit mehreren Systemfunktionen. Über seine Ports werden unter anderem Teile der Tastaturabfrage, die Kommunikation mit dem AY-Soundchip und Kassettenfunktionen organisiert.

Damit ist der PPI ein gutes Beispiel für die CPC-Architektur: Standardbausteine wie Z80, 6845, AY und 8255 werden durch das Amstrad Gate Array zu einer spezifischen Plattform verbunden.

[input/keyboard]

Tastatur und Matrixabfrage

Die CPC-Tastatur wird als Matrix abgefragt. Software beziehungsweise Firmware wählt Zeilen und liest Zustände über die I/O-Hardware. Dadurch können mehrere Tasten effizient mit vergleichsweise wenigen Leitungen erfasst werden.

Regionale Schneider-Ausführungen besitzen teilweise andere Beschriftungen und mechanische Details als britische Amstrad-Geräte. Die logische Firmware- und Matrixstruktur bleibt Teil derselben CPC-Familie.

Spiele lesen Tastatur und Joystick teilweise direkt für geringere Latenz; Anwendungen können die Firmware nutzen.

[input/joystick]

Joystick-Eingang

Der CPC bietet einen Atari-artigen 9-poligen Joystickanschluss. Digitale Richtungen und Feuerkontakte werden als Schaltsignale gelesen. Die Integration ist eng mit der Tastatur-/I/O-Logik verbunden.

Die elektrische Pinbelegung sollte bei historischen Geräten nicht allein aus der äußeren Steckform abgeleitet werden. Gleich aussehende 9-polige Anschlüsse verschiedener Systeme können unterschiedliche Signale oder Zusatzfunktionen besitzen.

[timing/interrupts]

Interrupts und 50-Hz-Bildwelt

Das CPC-System erzeugt regelmäßige Interrupts, die Firmware und Programme für Zeitsteuerung, Tastaturabfrage, Sound und andere Aufgaben nutzen können. Die Interruptstruktur ist eng an die Video- und Gate-Array-Logik gekoppelt.

Spiele und Demos deaktivieren oder ersetzen Firmwarebehandlung häufig, wenn exaktes Rastertiming benötigt wird. Dadurch wächst die Verantwortung des Programms für den Systemzustand.

Die PAL-Videoausgabe arbeitet typischerweise mit 50 Bildwechseln pro Sekunde; daraus darf jedoch kein erfundener alternativer CPU-Grundtakt abgeleitet werden. Der Z80A bleibt nominell mit 4 MHz getaktet.

[software/firmware]

ROM-Firmware – standardisierte Maschinenroutinen

Die CPC-Firmware stellt eine umfangreiche Sammlung dokumentierter Einstiegspunkte bereit. Bildschirm, Textausgabe, Grafik, Tastatur, Sound, Kassetten- und weitere Systemfunktionen können dadurch aufgerufen werden, ohne jedes Hardwaredetail selbst nachzubauen.

Diese Firmware-Schicht ist stärker ausgeprägt als bei vielen anderen Heimcomputern. Software kann relativ sauber auf Systemdienste zugreifen und bleibt damit eher zwischen Modellrevisionen kompatibel.

Hardwarenahe Spiele umgehen Firmwareteile trotzdem häufig aus Leistungs- und Timinggründen.

[software/jumpblocks]

Firmware Jumpblocks und kompatible Einstiegspunkte

Die dokumentierten Firmwareaufrufe liegen in sogenannten Jumpblocks. Programme rufen definierte Einsprungadressen auf, hinter denen die jeweilige Firmwarefunktion steht.

Das ist architektonisch sinnvoller als das direkte Anspringen beliebiger interner ROM-Adressen. Interne Routinen können sich zwischen ROM-Versionen ändern, während veröffentlichte Schnittstellen stabiler bleiben.

Historische Kompatibilitätsprobleme zwischen 464 und späteren ROM-Versionen treten besonders dort auf, wo Programme nicht die vorgesehenen Firmware-Schnittstellen, sondern interne Details voraussetzen.

[software/basic]

Locomotive BASIC – mehr als ein einfacher Startprompt

Der CPC startet in eine leistungsfähige BASIC-Umgebung von Locomotive Software. Es handelt sich nicht um ein Microsoft-BASIC-Derivat. Locomotive BASIC wurde gezielt für den CPC entwickelt und integriert Grafik-, Sound- und Systemfunktionen eng in die Sprache.

Befehle für Bildschirmmodi, Farben, Grafik, Sound, Fenster und Dateizugriffe machen viele Systemfunktionen ohne PEEK-/POKE-lastige Umwege erreichbar. Dadurch eignet sich BASIC sowohl als Lernumgebung als auch für ernsthafte Hilfsprogramme und Anwendungen.

Für zeitkritische Spiele bleibt Z80-Assembler deutlich leistungsfähiger; BASIC und Maschinencode lassen sich jedoch kombinieren.

[software/basic_graphics]

Grafik in Locomotive BASIC

Locomotive BASIC unterstützt Grafikbefehle wie PLOT, DRAW und MOVE sowie Farb- und Modussteuerung. Die Sprache abstrahiert die ungewöhnliche Bildspeicherorganisation und nutzt Firmwaredienste.

Damit kann ein Programm geometrische Operationen ausführen, ohne für jeden Pixel die CRTC-Speicheradresse selbst zu berechnen. Für schnelle Animationen oder große Bildkopien greifen Assemblerprogramme dagegen häufig direkt auf den Bildspeicher zu.

[software/basic_sound]

SOUND und ENVELOPE – AY-Funktionen aus BASIC

Die BASIC-Umgebung bindet den AY-Soundgenerator direkt ein. SOUND kann Kanäle, Tonhöhe, Dauer und Lautstärke steuern; ENVELOPE- und ENT-Konzepte erlauben zeitliche Veränderung von Lautstärke beziehungsweise Ton.

Diese Softwareabstraktion ist mächtiger als ein direkter Vergleich der nackten Soundregister vermuten lässt. Gleichzeitig bleibt darunter der AY-3-8912 mit seinen festen Hardwaregrenzen bestehen.

[software/rsx]

RSX-Befehle – Erweiterungen mit senkrechtem Strich

Der CPC kann die BASIC-/Firmwareumgebung durch sogenannte Resident System Extensions erweitern. Solche Befehle werden typischerweise mit einem vorangestellten senkrechten Strich aufgerufen.

AMSDOS nutzt dieses Konzept für Diskettenfunktionen. Zusätzliche ROMs können weitere RSX-Befehle bereitstellen. Dadurch entsteht eine modulare Systemumgebung, ohne das BASIC-ROM selbst verändern zu müssen.

[software/amsdos]

AMSDOS – Disk-Firmware im ROM, kein von Diskette geladenes OS

AMSDOS ist eine ROM-basierte Diskettenerweiterung für die CPC-Firmware. Beim CPC 664 und 6128 sitzt sie im zusätzlichen Disk-ROM; beim CPC 464 kommt sie mit dem DDI-1-Disketteninterface hinzu.

AMSDOS wird nicht beim Einschalten von einer eingelegten Diskette „geladen“. Es erweitert vorhandene Firmware- und BASIC-Dateifunktionen um Diskettenzugriff und stellt zusätzliche RSX-Kommandos bereit.

Damit bleibt Locomotive BASIC die sichtbare Standardumgebung, während Diskettenzugriffe in die Firmware-Dateischnittstellen integriert werden.

[software/amsdos_commands]

Diskettenbefehle unter BASIC

Mit aktivem AMSDOS können BASIC-Programme und Benutzer Dateien katalogisieren, laden, speichern, umbenennen und löschen sowie zwischen Laufwerken beziehungsweise Benutzerbereichen arbeiten. Ein Teil dieser Funktionen erscheint als BASIC-Befehl, ein Teil als RSX.

Der entscheidende Punkt ist die Integration: Ein LOAD oder SAVE kann über dieselben Firmwarekonzepte auf Diskette zugreifen, während AMSDOS den darunterliegenden Dateisystem- und Controllerteil übernimmt.

AMSDOS ist deshalb eher eine Disk-Erweiterung der CPC-Systemsoftware als eine separate Kommando-Shell.

[software/cpm]

CP/M 2.2 und CP/M Plus

Die diskbasierten CPCs können CP/M von Diskette booten. CP/M 2.2 erschließt das breite 8080/Z80-Softwareökosystem; der CPC 6128 profitiert zusätzlich von CP/M Plus, das die 128-KiB-Ausstattung besser nutzen kann.

CP/M ist ein eigenständiges Betriebssystem und unterscheidet sich klar von AMSDOS. AMSDOS integriert Diskettenzugriff in Firmware und BASIC; CP/M übernimmt dagegen die gesamte Benutzer- und Programmlaufzeit nach dem Boot.

Der CPC 6128 wurde gerade durch diese Kombination aus komfortabler Heimcomputerumgebung und CP/M-Kompatibilität für Anwendungen und Programmiersprachen interessant.

[software/cpm_boot]

CP/M wird von Diskette gebootet

Ein klassischer CPC startet zunächst seine ROM-Firmware und Locomotive BASIC. CP/M wird anschließend von einer passenden Systemdiskette geladen. Beim 6128 erfolgt der Start typischerweise über den dafür vorgesehenen Diskettenbefehl beziehungsweise RSX.

Eine externe „CP/M-Karte“ ist dafür beim CPC 6128 nicht erforderlich. Die notwendige Z80-CPU ist bereits der Hauptprozessor des Rechners.

Das unterscheidet den CPC beispielsweise von Rechnern, die CP/M nur über eine zusätzliche Z80-Prozessorkarte ausführen konnten.

[storage/3inch]

3-Zoll-Disketten – CF2-Medium mit zwei einzeln genutzten Seiten

CPC 664 und 6128 besitzen ein integriertes 3-Zoll-Diskettenlaufwerk. Die verwendeten Compact-Floppy-Medien sind physisch beidseitig, der klassische eingebaute CPC-Antrieb greift jedoch jeweils nur auf eine Seite zu. Für die zweite Seite wird die Diskette umgedreht.

Die 3-Zoll-Diskette war nicht ausschließlich auf den CPC beschränkt, wurde aber deutlich seltener als spätere 3,5-Zoll-Medien. Ihre heutige Verfügbarkeit und alternde Laufwerksmechanik machen sie zu einem besonderen Archivthema.

Die Medien dürfen nicht mit 3,5-Zoll-Disketten verwechselt werden; Gehäuse, Mechanik und Laufwerk sind eigenständig.

[storage/capacity]

40 Spuren, neun Sektoren und rund 178 KiB nutzbar

Die üblichen AMSDOS-Formate des CPC arbeiten pro Seite mit 40 Spuren und neun physischen Sektoren zu 512 Byte. Daraus ergeben sich 180 KiB rohe Sektorkapazität pro Seite.

Beim DATA-Format stehen nach Verzeichnis- und Dateisystemstrukturen ungefähr 178 KiB für Dateien zur Verfügung. Das SYSTEM-Format reserviert zusätzliche Spuren für CP/M-Systemdaten und bietet entsprechend weniger freien Dateiplatz.

Die Angabe „180 KB unformatiert“ ist daher ungenau: 180 KiB ergeben sich gerade aus der formatierten logischen Sektorstruktur; die tatsächlich nutzbare Dateikapazität ist geringer.

[storage/formats]

DATA, SYSTEM und weitere Diskettenformate

AMSDOS erkennt mehrere definierte Diskettenformate. DATA nutzt den verfügbaren Bereich primär für Dateien. SYSTEM reserviert am Anfang Spuren für CP/M-Bootdaten. Dadurch unterscheiden sich freie Kapazität und Sektornummerierung.

Spiele und Kopierschutzsysteme können davon abweichende Formate verwenden. Der NEC-765-kompatible Floppycontroller und die flexible CPC-Software erlauben zahlreiche Speziallayouts.

Für Archivierung ist deshalb ein sektor- beziehungsweise tracknahes Diskimage oft aussagekräftiger als das bloße Kopieren sichtbarer Dateien.

[storage/filesystem]

AMSDOS-Dateisystem – CP/M-Verzeichnis, nicht FAT

Das AMSDOS-Dateisystem basiert auf der CP/M-Verzeichnis- und Blockstruktur. Dateien werden über 32-Byte-Verzeichniseinträge beziehungsweise Extents beschrieben. Das ist kein FAT-Dateisystem und sollte nicht als „FAT-ähnlicher Index“ bezeichnet werden.

Dateinamen folgen dem klassischen 8.3-Schema. Standardformate besitzen eine begrenzte Zahl von Directory Entries und keine hierarchischen Unterverzeichnisse.

Größere Dateien können mehrere Extents belegen. Die Blockzuordnung in den Directory Entries beschreibt, welche Datenblöcke zur Datei gehören.

[storage/header]

128-Byte-AMSDOS-Header

BASIC- und Binärdateien können einen 128-Byte-AMSDOS-Header besitzen. Darin stehen unter anderem Dateityp, Ladeadresse, Länge und bei Binärdateien eine Einsprungadresse. Eine Prüfsumme erlaubt AMSDOS zu erkennen, ob ein gültiger Header vorhanden ist.

Nicht jede CP/M-Datei besitzt einen solchen Header. Headerlose Dateien bleiben möglich und sind für CP/M-Kompatibilität wichtig.

Beim Transfer historischer Dateien sollte deshalb zwischen Dateisystemeintrag und optionalem AMSDOS-Dateikopf unterschieden werden.

[storage/cassette]

CPC 464 und Compact Cassette

Der CPC 464 besitzt ein eingebautes Kassettenlaufwerk für gewöhnliche Compact-Cassetten. Firmware und BASIC unterstützen motorisierte Steuerung, Laden und Speichern von Daten.

Kassettenzugriff ist sequenziell. Ein Programm muss die passende Bandposition erreichen, bevor Daten gelesen werden können. Disketten erlauben dagegen direkten Zugriff auf Dateien und Verzeichnisstrukturen.

Die Kassette blieb dennoch preiswert und alltagstauglich. Der 464 konnte später über DDI-1 zusätzlich auf Disketten zugreifen, sodass beide Medienwelten kombinierbar waren.

[storage/ddi1]

DDI-1 – Diskettenausbau für den CPC 464

Das DDI-1 verbindet den CPC 464 mit einem externen 3-Zoll-Diskettenlaufwerk und bringt die benötigte Diskcontroller- und AMSDOS-Erweiterung mit. Damit wird der 464 auf Softwareebene weitgehend in die diskorientierte CPC-Welt eingebunden.

Die Existenz des DDI-1 zeigt, dass Massenspeicher bei der CPC-Architektur modular gedacht war. Der 664 und 6128 integrieren diese Funktion anschließend direkt ins Gehäuse.

[storage/drive_b]

Zweites Laufwerk und Laufwerksbuchstaben

Diskettenmodelle können ein zweites Laufwerk ansprechen. Die CPC-/CP/M-Welt unterscheidet typischerweise Laufwerk A und B. Ein externes zweites Laufwerk erleichtert Kopien, Datenaustausch und CP/M-Arbeit.

AMSDOS und CP/M verwenden dieselbe physische Controllerbasis, besitzen aber unterschiedliche Bedien- und Systemebenen.

Bei heutigen Ersatzlaufwerken oder Emulatoren muss neben Steckerform auch Signalbelegung, Ready-Verhalten und CPC-spezifische Laufwerkslogik berücksichtigt werden.

[interfaces/printer]

Druckeranschluss und 7-Bit-Besonderheit

Die klassischen CPCs besitzen einen Centronics-orientierten parallelen Druckeranschluss. Eine bekannte Besonderheit ist die nicht vollständig 8-bit-breite Datenanbindung der Standardausführung. Für normalen Textdruck war das unproblematisch, bei binären Rohdaten konnten Anpassungen erforderlich sein.

Die Druckerwelt der Epoche wird auf drucker-und-nadler.htm und schnittstellen-und-kabel.htm systemübergreifend vertieft.

[interfaces/expansion]

Expansion Bus – externe Hardware direkt anbinden

Der Erweiterungsanschluss führt zahlreiche Z80- und Systemsignale nach außen. Diskinterfaces, Speichererweiterungen, ROM-Boards, serielle Schnittstellen und weitere Hardware können darüber integriert werden.

Schneider-Varianten besitzen bei bestimmten Modellen mechanisch robustere beziehungsweise anders ausgeführte Steckverbinder als manche Amstrad-Versionen. Die logische CPC-Busfunktion bleibt vergleichbar.

Direkter Buszugriff erlaubt leistungsfähige Erweiterungen, verlangt aber genaue elektrische und Timingkompatibilität.

[interfaces/serial]

Serielle Kommunikation als Erweiterung

Eine vollwertige RS-232-Schnittstelle gehört nicht als standardmäßiger integrierter Port zur klassischen CPC-Grundausstattung. Sie konnte über Erweiterungshardware ergänzt werden.

Damit ließ sich der CPC mit Modems, Terminals oder anderen seriellen Geräten verbinden. Die allgemeine Entwicklung serieller Kommunikation wird auf interfaces.htm, modems-und-dataphon.htm und terminals-und-zeichenwelten.htm eingeordnet.

[interfaces/video]

RGB-Monitor und Bildqualität

Der CPC ist auf einen dedizierten RGB-Monitor ausgelegt. Das liefert ein scharfes Bild, das insbesondere für die 80-Zeichen-Darstellung in Mode 2 wesentlich sinnvoller ist als ein unsauberes HF-Fernsehbild.

Je nach Systempaket wurde ein Grünmonitor oder Farbmonitor verwendet. Der Monitor ist Teil des Stromversorgungskonzepts und deshalb technisch enger mit dem Rechner verbunden als ein moderner beliebiger Bildschirm.

Für heutige Nutzung existieren Adapterlösungen, doch Pegel, Pinbelegung und Stromversorgung müssen korrekt getrennt betrachtet werden.

[comparison/c64]

CPC und C64 – unterschiedliche Stärken statt „ernst“ gegen „Spielzeug“

C64 und CPC gehören zur gleichen Heimcomputerära, verfolgen aber unterschiedliche Hardwareideen. Der C64 koppelt 6510, VIC-II und SID zu einer stark spezialisierten Plattform mit Hardware-Sprites und charakteristischem Sound. Der CPC kombiniert Z80, Gate Array, CRTC und AY mit einer ausgeprägten Firmware-Schicht.

Der CPC besitzt höhere horizontale Auflösungsmodi und ein leistungsfähiges Locomotive BASIC. Der C64 bietet echte Hardware-Sprites und den flexiblen SID. Beide Systeme wurden für Spiele, Programmierung und Anwendungen genutzt.

Eine pauschale Einteilung „C64 nur Spiele, CPC professionell“ wird der tatsächlichen Nutzung beider Plattformen nicht gerecht. Die C64-Seite liegt auf c64.htm.

Merkmal C64 Klassischer CPC
CPU6510, ca. 1 MHz PALZ80A, nominell 4 MHz mit CPC-spezifischer Busarbitrierung
RAM64 KiB64 KiB; 6128: 128 KiB per Banking
GrafikVIC-II, Hardware-SpritesGate Array + 6845, keine Hardware-Sprites
SoundSID, 3 StimmenAY-3-8912, 3 Tonkanäle
BASICCommodore BASIC V2Locomotive BASIC mit umfangreicher Grafik-/Soundintegration
Disk1541 extern464 optional DDI-1; 664/6128 3-Zoll intern
[comparison/spectrum]

CPC und ZX Spectrum

CPC und ZX Spectrum nutzen beide Z80-basierte Architekturen, unterscheiden sich aber deutlich in der Grafik- und Systemintegration. Der Spectrum ist kompakter und verwendet ein Attribut-Farbmodell, während der CPC seine Pixel je nach Modus direkt mit 1, 2 oder 4 Bit pro Pixel codiert.

Der CPC wurde als Paket mit eigenem Monitor vermarktet und besitzt eine umfangreiche Firmware. Der Spectrum setzte stärker auf den vorhandenen Fernseher und eine sehr kompakte Systemarchitektur.

Viele Spiele erschienen auf beiden Plattformen, wodurch Unterschiede zwischen direkten Portierungen und CPC-spezifischer Anpassung besonders sichtbar werden.

[comparison/atari]

CPC und Atari 8-Bit

Atari-8-Bit-Rechner verwenden 6502-basierte CPUs und spezialisierte Grafik-/I/O-Bausteine wie ANTIC, GTIA und POKEY. Der CPC verwendet dagegen Z80, CRTC, Gate Array und AY.

Beide Plattformen können eindrucksvolle Spiele und Demos erzeugen, tun dies aber mit grundverschiedener Hardwareunterstützung. Atari besitzt eine stärker spezialisierte Display-List- und Player/Missile-Grafik; der CPC setzt auf flexibles CRTC-Timing und Softwaredarstellung im Bitmap-RAM.

Der Vergleich zeigt erneut, warum reine CPU-Taktzahlen kaum etwas über die Leistungsfähigkeit eines gesamten Heimcomputers aussagen.

[comparison/bbc]

CPC und BBC Micro – Firmware und BASIC als ernsthafte Systemschicht

Der BBC Micro ist kein direkter Architekturzwilling des CPC, bietet aber einen interessanten Vergleich: Beide Systeme legen großen Wert auf eine leistungsfähige BASIC- und Betriebssystem-/Firmwareumgebung statt auf ein minimales Start-BASIC.

Die Prozessoren, Grafiksysteme und Märkte unterscheiden sich, doch die Idee einer dokumentierten System-API und eines gut ausgestatteten BASIC erleichtert Lern-, Entwicklungs- und Anwendungssoftware.

Damit wird sichtbar, dass Heimcomputer der 1980er-Jahre nicht sinnvoll nur nach Spieleleistung kategorisiert werden können.

[software/games]

Spielebibliothek und europäischer Markt

Die CPC-Reihe erhielt eine große europäische Spielebibliothek. Zahlreiche Titel erschienen parallel für Spectrum, C64 und CPC; andere Versionen nutzten CPC-Farben und Diskettenfähigkeiten gezielter.

Bekannte CPC-Veröffentlichungen umfassen unter anderem die Dizzy-Reihe, Barbarian, RoboCop, Ghouls 'n Ghosts, Midnight Resistance und Stormlord. Die Qualität einzelner Portierungen schwankt erheblich, weil manche Fassungen sichtbar aus Spectrum-Grafik übernommen wurden, während andere gezielt für den CPC gestaltet sind.

Für historische Bewertung ist deshalb die konkrete CPC-Version wichtiger als der bloße Spieltitel.

[software/business]

CP/M und Produktivsoftware

Mit CP/M erhält der CPC Zugang zu einer breiten Welt von Textverarbeitung, Tabellenkalkulation, Datenbanken und Programmiersprachen. Bekannte CP/M-Programme wie WordStar, SuperCalc und dBASE gehören in diesen historischen Kontext.

Die tatsächliche Nutzbarkeit hängt von RAM, Diskettenformat, Bildschirmbreite und CPC-spezifischer CP/M-Anpassung ab. Der 80-Zeichen-Mode 2 ist für textorientierte Anwendungen besonders relevant.

Der 6128 profitiert von seinem zusätzlichen RAM und CP/M Plus stärker als die 64-KiB-Modelle.

[software/development]

BASIC, Z80-Assembler und weitere Sprachen

Locomotive BASIC ist der direkte Einstieg. Für schnelle Grafik, Spiele, Demos und hardwarenahe Routinen wurde Z80-Assembler entscheidend. Werkzeuge wie MAXAM gehören zur bekannten CPC-Entwicklungslandschaft.

Über CP/M stehen zusätzlich Compiler und Interpreter für Sprachen wie C, Pascal, Forth oder Logo zur Verfügung. Die konkrete Verfügbarkeit variiert nach Softwarepaket und CP/M-Version.

Die systemübergreifende Entwicklung von BASIC, Assembler, Shell- und Websprachen wird auf programmierung-und-skripting.htm vertieft.

[software/direct_hardware]

Firmware nutzen oder Hardware direkt ansprechen

CPC-Programme können auf zwei Ebenen arbeiten. Firmwareaufrufe bieten stabile, dokumentierte Dienste. Direkter Hardwarezugriff ist schneller und flexibler, bindet das Programm aber stärker an Timing, CRTC-Variante und konkrete Systemzustände.

Viele Anwendungen verwenden die Firmware, während Spiele nach der Initialisierung große Teile davon umgehen. Demos gehen noch weiter und bauen exakte Raster- und CRTC-Effekte auf.

Diese Wahl zwischen Abstraktion und direkter Kontrolle ist ein wiederkehrendes Thema der Rechnergeschichte.

[software/disk_protection]

Spezialformate und Kopierschutz

Der Diskcontroller erlaubt Software, vom normalen AMSDOS-Layout abweichende Sektorgrößen, IDs und Trackstrukturen zu verwenden. Kommerzielle Software nutzte solche Möglichkeiten für Kopierschutz und maßgeschneiderte Loader.

Aus Archivsicht bedeutet das: Eine Dateikopie allein kann wesentliche Datenträgerstruktur verlieren. Track-orientierte Diskimages und spezialisierte Lesewerkzeuge sind für bestimmte Originaldisketten besser geeignet.

Die Seite beschreibt bewusst keine Umgehungsanleitung für Kopierschutz; relevant ist die technische Tatsache, dass physische Struktur zum historischen Datenträger gehören kann.

[software/demoscene]

Demoscene – CRTC und Gate Array jenseits des Handbuchs

Die CPC-Demoscene demonstriert, wie weit sich eine vermeintlich einfache 8-Bit-Plattform durch exakte Kenntnis ihrer Video- und Speicherlogik treiben lässt. Overscan, Rasterfarben, Screen Splits und exakt getaktete Routinen erweitern die normale Firmwaredarstellung erheblich.

Solche Programme sind zugleich technische Dokumente. Sie zeigen reale Grenzfälle von CRTC, Gate Array, RAM-Zugriff und Z80-Timing, die in normaler Anwendungssoftware kaum sichtbar werden.

Für Emulation sind sie anspruchsvolle Kompatibilitätstests, weil kleine Timingabweichungen sofort sichtbar werden.

[system/philosophy]

Warum der CPC architektonisch interessant bleibt

Der CPC ist weder nur Spielemaschine noch verkappter Bürocomputer. Seine Stärke liegt in der ungewöhnlich klaren Kombination aus Standardbausteinen und eigener Systemlogik. Z80, 6845, AY und 8255 sind bekannte Komponenten; Gate Array, Firmware und Locomotive BASIC machen daraus einen eigenständigen Rechner.

Die Firmware schafft eine relativ saubere Programmierschnittstelle, während der direkte Hardwarezugriff offen bleibt. Diskettenmodelle können CP/M ausführen, ohne ihre Heimcomputeridentität zu verlieren.

Damit eignet sich der CPC besonders gut, um die Schichten eines Computers sichtbar zu machen: CPU, I/O, Bildgenerator, RAM, ROM, Firmware, BASIC, Disk-Erweiterung und vollständiges Betriebssystem liegen klar übereinander.

[maintenance/preservation]

Erhalt heute – zuerst Zustand dokumentieren

Bei einem erhaltenen CPC sollte der Ausgangszustand dokumentiert werden, bevor Bauteile oder Laufwerke verändert werden. Modell, Serieninformationen, Platinenrevision, Monitor, Netzteil-/Versorgungssituation, Laufwerk und vorhandene Datenträger gehören zur historischen Einheit.

Mechanische Alterung des 3-Zoll-Laufwerks – insbesondere Antriebsriemen – ist ein bekanntes Thema. Tastaturmatten und Steckkontakte können ebenfalls altern. Ein pauschaler Austausch sämtlicher Kondensatoren ohne Befund ist dagegen keine sinnvolle Universalregel.

Für Archivzwecke ist ein möglichst reversibler, dokumentierter Eingriff wertvoller als eine Modernisierung, bei der Originalzustand und Fehlerursache nicht mehr nachvollziehbar sind.

[maintenance/safety]

Sicherheit bei Monitor und Stromversorgung

Originale CPC-Monitore und Netzteilbereiche enthalten Netzspannung und – bei CRT-Monitoren – Hochspannung sowie gespeicherte elektrische Energie. Diese Baugruppen sind kein geeigneter Bereich für ungeübte Reparaturexperimente.

Für Funktionsprüfung sollte die Niederspannungsversorgung nur mit passender, verifizierter Spezifikation verwendet werden. Bei unbekanntem Zustand von Netzteil oder CRT-Monitor ist fachkundige Prüfung die sichere Vorgehensweise.

Diese Seite beschränkt sich deshalb auf funktionale Einordnung und liefert keine gefährlichen Schritt-für-Schritt-Arbeiten an Netzspannung oder Bildröhre.

Sicherheit

CRT-Monitor und Netzteil können auch nach dem Ausschalten gefährliche Spannungen führen. Gehäuse solcher Baugruppen nicht ohne entsprechende Fachkenntnis öffnen.

[maintenance/disks]

3-Zoll-Disketten archivieren

Magnetische Originaldisketten sollten möglichst wenig unnötig belastet und trocken, sauber sowie fern von starken Magnetfeldern gelagert werden. Vor Schreibvorgängen ist eine unveränderte Sicherung sinnvoll.

Für wichtige Medien ist ein Diskimage mit dokumentiertem Lesewerkzeug, Format und Prüfsumme wertvoll. Bei Kopierschutz oder Spezialformaten sollte ein Format gewählt werden, das Track- und Sektorbesonderheiten erhalten kann.

Die allgemeine Datenträgerarchivierung wird auf dateisysteme-und-datentraeger.htm und datensicherung-und-backups.htm vertieft.

[maintenance/drive_emulators]

Laufwerksemulatoren und moderne Medien

Floppy-Emulatoren können ein alterndes physisches Laufwerk für Alltagsnutzung ergänzen oder ersetzen und Diskimages von modernen Speichermedien bereitstellen. Sie sind praktisch, aber keine vollständige Ersetzung des historischen Originals.

Für ein Archiv ist deshalb eine Trennung sinnvoll: Originalhardware und Originalmedien werden erhalten, während ein reversibler Emulatorbetrieb die wiederholte Nutzung ohne ständige mechanische Belastung erleichtert.

Kompatibilität hängt von Signalverhalten, Imageformat und Firmware des Emulators ab.

[maintenance/emulation]

Emulation – CPC-Umgebung auf moderner Hardware

Emulatoren bilden Z80, Gate Array, CRTC, AY, RAM, ROM und Laufwerkslogik in Software nach. Für normale Anwendungen genügt eine funktional korrekte Emulation; Demos und Kopierschutz stellen deutlich höhere Anforderungen an exaktes Timing.

Mehrere etablierte Emulatorprojekte unterstützen die CPC-Familie. Für Archivzwecke ist weniger der Markenname entscheidend als die dokumentierte Version, die verwendeten ROMs und das Diskimageformat.

Eine emulierte Umgebung ergänzt Originalhardware. Sie ist besonders nützlich, um Dateien zu prüfen, Screenshots zu erzeugen und historische Software ohne Verschleiß des Originalsystems zugänglich zu halten.

[maintenance/dsk]

DSK-Images – logische Diskettenstrukturen konservieren

Das verbreitete DSK-Format beschreibt CPC-Disketten als Image mit Track- und Sektordaten. Erweiterte Varianten können ungewöhnlichere Strukturen besser erfassen als eine reine Dateikopie.

Ein DSK-Image ist nicht automatisch ein bitgenaues Abbild des magnetischen Signals. Für extreme Kopierschutzverfahren können fluxbasierte Formate beziehungsweise spezialisierte Archivverfahren zusätzliche Information erhalten.

Für normale AMSDOS-Disketten ist DSK dennoch ein sehr praktisches Austausch- und Emulationsformat.

[archive/context]

Einordnung im SSLXY-Archiv

Die CPC-Seite ergänzt die bereits dokumentierten Commodore-, Amiga-, PC- und Schnittstellenthemen um eine wichtige europäische Z80-Plattform. Sie behauptet keinen konkreten historischen CPC-Besitz, wenn dieser nicht separat dokumentiert ist.

Als Vergleichssystem ist der CPC besonders wertvoll: Er zeigt einen anderen Weg als C64/6510 und Amiga/68000. Dieselben Grundprobleme – Speicher, Video, Ton, Massenspeicher und Systemsoftware – werden mit einer anderen Architektur gelöst.

Dadurch ergänzt die Seite insbesondere c64.htm, prozessoren-und-rechnerarchitekturen.htm, programmierung-und-skripting.htm und dateisysteme-und-datentraeger.htm.

[clarity/myths]

Häufige CPC-Irrtümer

Mehrere hartnäckige Angaben entstehen durch das Vermischen von 664, 6128 und Plus-Serie. Der 664 hat 64 KiB RAM; 128 KiB gehören zum 6128. Die klassischen Modelle besitzen keine Hardware-Sprites; diese kommen erst mit der Plus-Architektur.

Auch die Grafikmodi werden häufig vertauscht. Mode 0 ist 160×200 mit 16 Farben, Mode 1 320×200 mit vier Farben und Mode 2 640×200 mit zwei Farben. Der Z80A läuft nominell mit 4 MHz, nicht mit 3,546 oder 4,77 MHz.

AMSDOS ist keine von Diskette geladene Shell und CP/M benötigt beim 6128 keine zusätzliche Z80-Karte. Das AMSDOS-Dateisystem ist CP/M-basiert und nicht FAT.

  • CPC 664: 64 KiB RAM.
  • CPC 6128: 128 KiB RAM.
  • CPC 6128 erschien 1985.
  • Z80A: nominell 4 MHz; CPC-Timing reduziert den freien CPU-Durchsatz.
  • Mode 0: 160×200 / 16 Farben.
  • Mode 1: 320×200 / 4 Farben.
  • Mode 2: 640×200 / 2 Farben.
  • Klassischer CPC: keine Hardware-Sprites.
  • AY-3-8912: drei Tonkanäle, gemeinsamer Noise- und Hüllkurvenmechanismus.
  • AMSDOS: ROM-basierte Disk-Erweiterung.
  • CP/M: eigenständiges von Diskette gebootetes Betriebssystem.
  • AMSDOS-Verzeichnis: CP/M-Extents, nicht FAT.
[archive/checklist]

Technischer CPC-Check für Dokumentation und Erhalt

Eine belastbare CPC-Dokumentation sollte Modell, Speicher, ROM- und Laufwerksausstattung getrennt erfassen. Gerade 664 und 6128 werden in sekundären Beschreibungen häufig verwechselt.

Für erhaltene Geräte kommen Platinenrevision, CRTC-Variante, Gate-Array-Revision, Monitor und Laufwerkszustand hinzu. Diese Details können bei Demos, Reparaturgeschichte und Emulationsvergleich relevant werden.

  • Exakte Modellbezeichnung und Schneider-/Amstrad-Branding notieren.
  • RAM nicht aus Gehäuseähnlichkeit ableiten: 664 = 64 KiB, 6128 = 128 KiB.
  • ROM- und Disk-ROM-Kontext dokumentieren.
  • CRTC- und Gate-Array-Revision nur ablesen, nicht vermuten.
  • Originalmonitor und Stromversorgung als Teil des Systems erfassen.
  • 3-Zoll-Disketten vor Änderungen möglichst imagebasiert sichern.
  • Bei Spezialformaten Dateikopie und physische Diskstruktur unterscheiden.
  • Emulatorversion und verwendete ROM-Abbilder dokumentieren.
  • Reparaturen reversibel und mit Vorher-/Nachher-Zustand festhalten.