mini|Schneider CPC6128 mini|Werbesticker der „Schneider Computer Division“ aus den 1990ern Die Amstrad-CPC-Serie, im deutschsprachigen Raum eher als Schneider CPC bekannt, war eine in den 1980er Jahren populäre Baureihe untereinander weitgehend kompatibler 8-Bit-Heimcomputer, die auf der damals weit verbreiteten Z80-CPU basierte und u. a. in Westeuropa größere Verbreitung fand. Entwickelt wurden die CPCs von der britischen Firma Amstrad, die sie in Fernost, u. a. von Orion, als Auftragsarbeit bauen ließ. Die Bezeichnung CPC leitet sich vom englischen Colour Personal Computer ab.
Die Rechner wurden als Komplettpaket mit umfangreicher Hardwareausstattung verkauft: Enthalten waren der eigentliche Rechner mit integrierter Tastatur und Laufwerk (Kompaktkassette beim CPC464 und 464Plus, 3″-Diskette bei den anderen Modellen), ein Farb- oder ein Monochrom-Monitor (grün bei den klassischen und schwarzweiß bei den Plus-Modellen) mit integriertem Netzteil, mehrere kurze Verbindungskabel, ein ausführliches Handbuch, eine CP/M-Bootdiskette sowie eine Diskette mit Programmen bzw. eine Demokassette. Ein Fernseher konnte über einen als Zubehör erhältlichen Adapter angeschlossen werden. Jedoch lieferte der mitgelieferte RGB-Monitor ein wesentlich besseres Bild als ein Fernseher. Je nach Modell und Ausstattung war der Verkaufspreis vergleichbar oder deutlich niedriger als der eines C64, bei dem Monitor und Disketten-Laufwerk in der Regel als Zubehör erworben werden mussten.
Da Amstrad in Deutschland über keine Vertriebsstrukturen verfügte, übernahm die Schneider Computer Division, eine eigens zu diesem Zweck gegründete Tochter der Schneider Rundfunkwerke AG, den Vertrieb unter der Bezeichnung Schneider CPC für die Länder Deutschland, Österreich und die Schweiz. Nachdem Amstrad und Schneider 1988 die Zusammenarbeit beendet hatten, verkaufte Amstrad auch in diesen Ländern die CPC-Serie unter eigenem Namen, was mit erheblichen Anlaufschwierigkeiten verbunden war, da Amstrad bis zu diesem Zeitpunkt nach wie vor nicht selbst in Deutschland vertreten war. Deshalb und weil der Zenit der CPCs bereits überschritten war, stammen die meisten in Deutschland verkauften CPCs noch von Schneider. In den meisten anderen Ländern wurden CPCs bereits zuvor unter der Bezeichnung Amstrad CPC verkauft.
Technik, Ausrüstung und Bedienung Die Technik entsprach durchgehend dem Stand der Zeit, und so war der Computer in den meisten Aspekten dem direkten Konkurrenten Commodore 64 ebenbürtig. In Teilbereichen (z. B. Anzahl darstellbarer Farben, Sprachumfang des eingebauten BASIC-Interpreters, Leistung der CPU, Speichermedien) war der CPC diesem sogar überlegen, in anderen (Fehlen von Hardware-Unterstützung für Sprites) dagegen unterlegen.
Der Rechner startete direkt ins (samt ausführlichem Handbuch) mitgelieferte, auf dem ROM enthaltene Locomotive BASIC. Weitere Software konnte über Kassette oder Diskette nachgeladen werden. Mit den beigelegten Disketten konnte das Betriebssystem CP/M 2.2, bei den Modellen mit 128 KB RAM auch CP/M 3.0, nachgeladen werden; weitere Programme und Programmiersprachen, etwa Logo und Turbo Pascal 3.01A waren erhältlich. Programmierung in Maschinensprache war mittels der üblichen PEEK/POKE/CALL-Befehle vom BASIC aus direkt möglich, aber auch echte Assembler standen zur Verfügung.
Der BASIC-Editor des CPC wich vom reinen Bildschirmeditor-Konzept des direkten Konkurrenten C64 insofern ab, als eine an sich zwar nur zeilenorientierte, aber mit dem „Copy-Cursor“ zur Übernahme vorhandener Bildschirminhalte dennoch recht komfortable Funktion zum Kopieren oder Editieren des Quelltextes bereitstand. Der für die Zeit komfortable BASIC-Interpreter wies einen recht guten Befehlsumfang auf. Module und Funktionen fehlten entsprechend der Entstehungszeit beinahe ganz, die automatisierte Bearbeitung des zeilennummerierten Listings (Neunummerierung, Verschmelzen einzelner Listing-Teile etc.) war möglich.
Nicht nur das BASIC, sondern auch das interne Betriebssystem (für Assembler-Programmierer) war im Vergleich zu anderen Heimcomputern schnell und geradezu luxuriös ausgestattet. So enthielt das ROM des CPC unter anderem eine umfangreiche Bibliothek für Gleitkommazahlen sowie ein ausgeklügeltes Interrupt-System, das teilweise sogar von BASIC aus nutzbar war (sogenannte Events).
mini|hochkant|Standard-3-Zoll-Diskette mini|Schneider CPC6128: Diskettenlaufwerk
Das zur Ablösung des Kassettenlaufwerkes ab dem Modell CPC 664 eingebaute 3″-Diskettenlaufwerk brachte einen erheblichen Geschwindigkeitsvorteil. Die Disketten waren sehr stabil, wurden einzeln in Pappschubern oder Jewel Cases geliefert und sind den später erschienenen 3½″-Disketten ähnlich, mit ihrem starren, schwarzen Plastikgehäuse aber wesentlich teurer. Die von Hitachi-Maxell entwickelte 3″-Diskette war als Nachfolger der in den 1970er Jahren gängigen 8″-Diskette konzipiert, wurde jedoch vom Markt kaum angenommen. Außer von Schneider/Amstrad und später Sinclair, bedingt durch den Aufkauf durch Amstrad, wurde dieses Format nur von wenigen, exotischen Computerherstellern verwendet. Die Medienpreise waren auch wegen der geringen Verbreitung dieses Formates relativ hoch, für eine einzelne Diskette wurden beim Einzelhändler zwischen 7 und 20 DM verlangt.
Das logische Format der 3″-Diskette war beim CPC doppelseitig (engl. double sided) mit doppelter Schreibdichte (double density), benutzte die Aufzeichnungsmethode MFM, verwendete je Seite 40 Spuren à 9 Sektoren à 512 Bytes und hatte somit eine Kapazität von 360 KB für Nutzdaten (180 KB je Seite). Die Diskette musste zum Beschreiben der zweiten Seite auch physisch gedreht werden, da es sich um Einzelkopflaufwerke handelte. Spätere 3″-Doppelkopflaufwerke fanden sich nur beim verwandten PCW-Rechner, nicht aber beim CPC, wohingegen Disketten höherer Speicherkapazität (dank veränderter Formatierungsdichte) durchaus möglich waren.
Obwohl die 3″-Diskette der früheren 5¼″-Diskette überlegen war, konnte sie sich nicht durchsetzen. In der Zwischenzeit eroberte bereits Sonys 3½″-Diskette dank besserer Leistungsdaten (720 KB), stärkerer Vermarktung und Verwendung im populären Macintosh den Markt. Der 34-polige Datenanschluss des Laufwerks entsprach dem eines PC-XT-Diskettenlaufwerks, nur der Netzteil-Anschluss war anders belegt. So ließen sich mittels eines Netzteil-Adapters auch für den PC konzipierte Laufwerke anschließen, deren Speichermedien wesentlich preiswerter erhältlich waren. Das Betriebssystem AMSDOS konnte grundsätzlich nur eine Seite der Diskette ansprechen. Daher wurden beim Anschluss von 3½″-Laufwerken am CPC zumeist manuelle Kippschalter zur Seitenwahl mit eingebaut, da sich die unsymmetrisch aufgebauten 3½″-Disketten prinzipiell nicht wenden lassen.
Die verschiedenen CPC-Modelle waren – in diesem Preissegment eine Neuerung – untereinander kompatibel. Die Software ließ sich weitgehend austauschen. Das Betriebssystem CP/M war von den mittleren 1970er bis in die mittleren 1980er Jahre der De-facto-Industriestandard für professionell genutzte 8-Bit-Rechner, so dass im Bereich Office-Anwendungen (z. B. WordStar, dBase, Microsoft Multiplan) und Programmiersprachen auch Software genutzt werden konnte, die nicht speziell für den CPC erstellt worden war. Das CP/M-Softwareangebot war wegen des von praktisch allen anderen CP/M-Rechnern abweichenden Diskettenformates allerdings nicht direkt zugänglich; Mailboxen, über die Programme heruntergeladen werden konnten, kamen in Europa gerade erst auf und waren den wenigsten bekannt bzw. zugänglich. Allerdings war es, je nach persönlichen Interessen, auch möglich, ohne den Einsatz von CP/M zu arbeiten. Im Bereich der Computerspiele spielte CP/M ohnehin kaum eine Rolle.
Technische Daten Hauptprozessor mini|hochkant=1.3|Zilog Z80 im 40-poligen DIP
In der CPC-Serie verrichtete ein Zilog-Hauptprozessor (Z80 oder Z80A) (mit einer Datenwort- und Datenbus-Breite von 8 Bit) seinen Dienst. Dieser Prozessor war den meisten anderen damaligen 8-Bit-Prozessoren in vielerlei Hinsicht überlegen (großer Befehlsumfang erlaubte sehr kompakte Programme, maximale Taktfrequenz von bis zu 4 MHz, integrierter IO-Controller, integrierter DRAM-Refresh, virtuelle 16-Bit-Register, weite Verbreitung und niedriger Preis). Im CPC wird die Z80-CPU mit einer Taktfrequenz von 4 MHz betrieben. Allerdings wird nach jedem vierten Takt ein Waitstate eingefügt um der Videoelektronik den regelmäßigen Speicherzugriff zu ermöglichen und Bildstörungen (Snowing) zu vermeiden. Durch diese Maßnahme ergibt sich eine effektive Taktfrequenz von ca. 3,3 MHz. Es ergibt sich eine theoretische Rechenleistung von bis zu 1 MIPS, in praktischen Anwendungen sind es jedoch eher unter 0,5 MIPS.
RAM Die CPCs waren je nach Modell mit 64 KB RAM (464, 664, 464plus, GX4000) oder 128 KB RAM (6128, 6128plus) ausgestattet, wovon dem Benutzer unter BASIC ca. 42 KB für Programme und/oder Daten zur Verfügung standen. Da der Adressbus der Z80-CPU mit 16 Bit Breite maximal 65.536 verschiedene Adressen (also Bytes, also 64 KB) ansprechen konnte, wurde der erweiterte Speicher des CPC6128 (und auch ggf. mit Speichererweiterungen bestückter CPCs) per Bank Switching verfügbar gemacht. Hierbei wurde ein 16 KB großer Speicherblock aus dem zweiten 64-KB-Block (bzw. weiteren Blöcken) in dem vom Hauptprozessor adressierbaren Speicherbereich (hier zwischen 0x4000 und 0x7fff) eingeblendet (wodurch der normalerweise dort liegende Speicher ausgeblendet wurde, also temporär nicht zur Verfügung stand). Insgesamt waren so (durch die Ansteuerung der 16-KB-Blöcke begrenzt) Speichererweiterungen auf bis zu 576 KB möglich und auch zur damaligen Zeit erhältlich. Erst 2007 kamen Erweiterungen auf den Markt, mit denen auch eine Erweiterung bis 4 MB möglich wurde.
ROM Die CPCs waren je nach Modell mit 32 KB (464) bzw. 48 KB (664, 6128) ROM ausgestattet, wobei sich diese zu jeweils 16 K auf Betriebssystem/Kernel (unteres ROM), BASIC-Interpreter (oberes ROM) und (bei Vorhandensein eines Diskettenlaufwerks bzw. Controllers) das AMSDOS (auch oberes ROM, siehe unten) mit einem Teil der Programmiersprache Logo verteilten. Abweichend hierzu hatten die Modelle 464plus/6128plus/GX4000 kein eingebautes ROM, sondern einen Steckplatz für Steckmodule, wobei das Modul für den 464plus und 6128plus neben einem mitgelieferten Spiel auch alle o. g. ROMs enthielt. Durch ein u. a. speziell für diesen Zweck entworfenes Uncommitted Logic Array konnten diese ROMs im CPC (an verschiedenen Adressbereichen: unteres ROM zwischen 0x0000 und 0x3fff und oberes ROM zwischen 0xc000 und 0xffff) beliebig ein- und ausgeblendet werden. Im oberen ROM waren theoretisch sogar bis zu 252 verschiedene, jeweils 16 K große ROMs (ein- und ausblendbar) möglich.
BASIC Der BASIC-Interpreter der CPC-Serie (Locomotive BASIC 1.0 im 464 bzw. 1.1 in 664, 6128, 464plus und 6128plus) war für damalige Verhältnisse aus mehreren Gründen außergewöhnlich. Zum einen gab es umfangreiche Befehle zur Erzeugung von Grafik, Tonausgabe, Text-Fenstern sowie UDGs (benutzerdefinierten Grafiken, engl. user defined graphics) etc., zum anderen war es z. B. möglich, den Befehlssatz per RSX (eng. resident system eXtension) beliebig zu erweitern. Der Interpreter unterzog, wie die meisten 8-Bit-BASICs, jede im (zeilenbasierten) Editor eingegebene Programmzeile sofort einer lexikalischen Analyse (Tokenisierung), bevor sie gespeichert wurde. Dadurch sank der Speicherverbrauch und die Geschwindigkeit der Programme stieg.
Grafik