Das Schneider CPC Systembuch

Das Innenleben der CPC-Rechner

Die Schnittstellen der Schneider CPCs

Der Drucker-Port

Für den Anschluss eines Druckers hat man sich beim Schneider CPC für 'den' Industrie-Standard entschieden, und eine Parallelschnittstelle nach Centronics-Norm implementiert. Garbage Collection: ... beim CPC 664 und 6128Beim CPC 464 und 664 ist der Anschluss einfach ein Platinenstecker. Das heißt, die Rechnerplatine ist an dieser Stelle einfach etwas verlängert und hat unten und oben Leiterbahnen aufgeaetzt, die zum Schutz vor Korrosion verzinnt sind. Garbage Collection: ... beim CPC 464Beim CPC 6128 hat man sich für die teurere Lösung entschieden und auch die mechanische Verbindung der Centronics-Norm angepasst. Dass hier überhaupt statt der 'gewohnten' Platinenstecker plötzlich drei aufwendige Buchsen die Rückseite der Rechnerkonsole zieren, daran ist die Post schuld, die jetzt auch die Computer als Verursacher störender Hochfrequenzstrahlung entdeckt hat und entsprechend pingelig auf allumfassende Weissblechabschirmung pocht.

Der Anschluss eines Druckers an den CPC 5128 ist entsprechend einfach: Drucker und Verbindungskabel gekauft, angeschlossen und läuft (meist). Wer aber ein paar Mark am Kabel sparen will oder einen CPC 464 oder 664 sein Eigen nennt, muss sich vorher etwas mit der Die CPU Z80: Die Anschlussbelegung der CPU Z80
Die PIO 8255: Die Anschlussbelegung der PIO 8255
Anschlussbelegung
auseinandersetzen. Die hat vor allem bei den 'Platinenstecker-Typen' einen kleinen Haken: Um standardisierte Steckverbinder benutzen zu können, hat man hier ein Anschlusspaar am Computer wegrationalisiert. Ein Centronics-Stecker hat 36 Speicher und Peripherie: Die Anschlüsse am Schneider CPCAnschlüsse, die Platinenstecker aber nur 34. Dadurch gehen aber keine Die Fließkomma-Routinen: FunktionenFunktionen verloren, eine Verbindung mit nur 22 Leitungen umfasst alle verwendeten Signale. Wer also am Kabel sparen will, kann das gefahrlos tun.

        (18) 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1
             —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— ——
         ==========================================|===============
             —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— ——
        (36) 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19

Diese schematische Darstellung zeigt den Platinenstecker des CPC 464 oder 664 in der Aufsicht von hinten. Das Anschlusspärchen 18/36 existiert nicht und zwischen Pin 4 und 5 (bzw. 22 und 23) ist die Platine ausgefräst, um einen Verpolungsschutz realisieren zu können. Die Centronics-Buchse des CPC 6128 unterscheidet sich nur in soweit, als hier die Speicher und Peripherie: Die Anschlüsse am Schneider CPCAnschlüsse 18 und 36 existieren.

Diese Speicher und Peripherie: Die Anschlüsse am Schneider CPCAnschlüsse sind wie folgt belegt:

1 ----- Erklärung zu den verwendeten Bezeichnungen: StrobeStrobe (0)          GND = Ground = Masse
   19 - GND                 n.c. = not connected = nicht angeschlossen
2 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
0 20 - GND 3 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
1 21 - GND 4 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
2 22 - GND 5 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
3 23 - GND 6 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
4 24 - GND 7 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
5 25 - GND 8 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
6 26 - GND 9 ----- Data Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7 (GND) 27 - n.c. 10 ---- n.c. (Acknowledge) 28 - GND 11 <--- BUSY (1) 29 - n.c. 12 ---- n.c. 30 - n.c. 13 ---- n.c. 31 - n.c. 14 ---- GND 32 - n.c. 15 ---- n.c. 33 - GND 16 ---- GND 34 - n.c. 17 ---- n.c. 35 - n.c. 18 ---- n.c. (existiert beim Platinenstecker nicht) 36 - n.c. (existiert beim Platinenstecker nicht)

Wer, was zu empfehlen ist, für die Verbindung Flachbandkabel und -Stecker benutzt, hat im Kabel die einzelnen Signale in der Reihenfolge vorliegen, wie sie in der vorhergehenden Tabelle aufgelistet sind. Die einzelnen Leitungen bilden dabei immer Paerchen, wobei der Anschluss auf der Unterseite (n+18) als Masseleitung und Abschirmung für den entsprechenden Anschluss auf der Oberseite (n) dienen soll. Die Nummerierung der Unterseite von 19 bis 36 bezieht sich auf den Centronics-Stecker. Der Platinenstecker, der Garbage Collection: ... beim CPC 464beim CPC 464 bzw. 664 benutzt werden muss, hat, da er ja um ein Signalpaar kürzer ist, auf der Unterseite die Nummerierung von 18 bis 34, also immer um Eins kleinere Angaben.

Wer nur ein 24-adriges Kabel verwendet, hat davon eventuell sogar einen Vorteil: Da die Leitungen 14 und 16 auf Masse gelegt sind, erzeugen viele Drücker nach dem Wagenrücklaufzeichen CHR$(13) automatisch einen Zeilenvorschub. Der Schneider CPC sendet aber nach jeder Zeile automatisch zwei Die Tastatur: Steuerzeichen des Key Managers und des ZeileneditorsSteuerzeichen: CHR$(13) und CHR$(10). Dadurch gehen einige Drucker recht verschwenderisch mit dem Papier um: Pro Zeile ein doppelter Vorschub ergibt nur noch MAIN FIRMWARE JUMPBLOCK: CASSETTE MANAGER
Die Firmware des Schneider CPC: CASSETTE MANAGER
ca
. 30 statt 60 Textzeilen auf jedem Blatt.

Wenn bei ihnen dieses Problem auftritt, haben sie viele Möglichkeiten, es abzustellen:

  1. Verwenden sie nur ein 24-adriges Kabel.
  2. Unterbrechen Sie die entsprechenden Leitungen im Kabel oder auf der Platine
    des Rechners.
  3. Schauen Sie im Handbuch des Druckers nach: Die haben alle so 8 bis 16 kleine
    Schalterlein (sogenannte 'DIP-Switches'), die leider meist recht originell
    versteckt sind. Irgendeiner davon ist für den zusätzlichen Zeilenvorschub
    verantwortlich und muss 'umgelegt' werden.
  4. Bei CPC 664 und 6128 können Sie das Die Tastatur: Steuerzeichen des Key Managers und des ZeileneditorsSteuerzeichen 10 (LF) in die Printer-
    Translation-Table eintragen, um es fürderhin ignorieren zu lassen. Dafür
    müssen Sie sich aber in die Tiefen der Maschinensprache begeben. Diese
    Methode hat allerdings, wie ein Patchen von Die Indirections der Firmware-Packs: BDF1: IND MC WAIT PRINTERIND MC WAIT PRINTER, den
    Nachteil, dass davon auch die Grafikausgabe betroffen ist, was beim Ausdruck
    eines Bildschirmabzuges unangenehme Folgen haben kann.

Noch ein letztes Problem zeichnet diese Druckerschnittstelle aus: Wie in der vorhergehenden Tabelle bereits angedeutet, ist das höchstwertige Datenbit (D7) einfach auf Masse gelegt. Das hat zur Folge, dass die Grafikausgabe bei den meisten Druckern unnötig erschwert wird und teilweise überhaupt nicht möglich ist. Auch die Ausgabe von Sonderzeichen wird so erschwert oder ganz unmöglich gemacht. Dadurch, dass das höchstwertige Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
auf '0' gelegt ist, lassen sich nur noch die Zeichen mit den Codes 0 bis 127 ausdrucken. Von größeren Codes (128 bis 255) wird immer 128 abgezogen (&X10000000 = 128). Da der ASCII-Zeichensatz nur als 7-Bit-Code genormt ist, ist eine solche Verstuemmelung dieser Schnittstelle noch normgerecht. Standard ist aber ein Centronics-Port mit 8 Datenleitungen.

Die Ursache für das fehlende, achte Datenbit liegt einmal wieder in der fast chronischen Sparsamkeit der Hardware-Designer bei Amstrad. Der Erklärung zu den Anschlüssen: D0 bis D7Datenbus der Die ICs im Überblick: Die CPU Z80
Das Innenleben der CPC-Rechner: Die CPU Z80
Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80
CPU
umfasst 8 Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bits
. Wieso wurde D7 (das höchstwertige Datenbit) nicht, wie alle anderen, zur entsprechenden Leitung des Drucker-Anschlusses durchgeführt? Die Antwort bringt ein Blick auf den Schaltplan:

Mit Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7 wird das Strobe-Signal erzeugt! Der Erklärung zu den Anschlüssen: D0 bis D7Datenbus der Die ICs im Überblick: Die CPU Z80
Das Innenleben der CPC-Rechner: Die CPU Z80
Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80
CPU
ist mit einem Achtfach-Datenlatch (Speicher/Treiber), ein 74LS273, von den Datenleitungen zum Drucker abgekoppelt. Die Werte vom Erklärung zu den Anschlüssen: D0 bis D7Datenbus werden übernommen, wenn A12 und IOWR aktiv werden. Letzteres ist ein Signal, das bereits an anderer Stelle aus Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: IORQ - Input/Output requestIORQ und Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: RD und WR - read und write
Erklärung zu den Anschluss-Bezeichnungen: WR - Write
WR
erzeugt wurde. Ein 'OUT_&EFFF,zeichen' schreibt das Datentypen: Bytes
Datenbreite: Bytes
Byte
'zeichen' in das Datenlatch ein.

Nur die Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bits
Der Zeichensatz des Schneider CPC: &D0 = 208D0 bis D6 werden an den Drucker weitergeleitet. D7 ist über einen zusätzlichen Inverter mit der Strobe-Leitung verbunden.

Um ein Datentypen: Bytes
Datenbreite: Bytes
Byte
zum Drucker zu senden, muss man das Zeichen also insgesamt dreimal in das Datenlatch schreiben: Einmal mit zurückgesetztem Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7 (dadurch erscheint am Ausgang des Inverters ein logischer Eins-Pegel, also 'kein Erklärung zu den verwendeten Bezeichnungen: StrobeStrobe'), dann mit gesetztem Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7 (Erklärung zu den verwendeten Bezeichnungen: StrobeStrobe) und dann wieder mit zurückgesetztem Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7.

Bei den 'Anhang: Hardware-BasteleienHardware-Basteleien' findet sich aber ein Bastelvorschlag, wie Sie ihrem CPC mit einem einfachen Stück Draht doch noch zu einem achten Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
verhelfen können.

Valid HTML   Valid CSS