Benchmarko Logo
Benchmarko Logo
Home
Projekte
CPCEMU
Software
Download
Kontakt
Links

Englisch Französisch Spanisch
 
zurück

CPCEMU - Datenübertragung

  1. Datenübertragung CPC <-> PC
    5.1 Diskette als Medium
    5.1.1 Das Diskettentransferprogramm CPCTRANS
    5.1.2 Das Formatier- und Kopierprogramm 22DISK von SYDEX
    5.2 Parallele Schnittstelle
    5.3 Die serielle Schnittstelle
    5.4 Andere Möglichkeiten

 


 

5. Datenübertragung CPC <-> PC

Was nützt Ihnen der schönste Emulator, wenn Sie keine Programme dafür haben oder keine Möglichkeit sehen, die Programme von Ihrem CPC zum PC zu bekommen?
Im Kapitel 6 (Bezugsquellen) sind auch einige Quellen aufgeführt, wo Sie CPC-Software bekommen können.
In diesem Kapitel soll es darum gehen, wie Sie eigene CPC-Software auf den PC transferieren.
Für die verschiedenen Möglichkeiten (Diskette, über parallele oder serielle Schnittstelle) werden auch Hilfsprogramme vorgestellt.

 

5.1 Diskette als Medium

Dies ist meistens die einfachste und schnellste Möglichkeit, die CPC-Software auf den PC zu bekommen.
Sie brauchen dazu nur einen CPC mit Zweitlaufwerk in richtiger Größe. Richtige Größe bedeutet dabei, daß die Disketten von der Größe her in Ihr PC-Laufwerk passen müssen. Ansonsten könnten Sie versuchen, ein 3" Laufwerk an den PC anzuschließen.

Der PC wird dann mit einem Zusatzprogramm überredet, die CPC-Diskettenformate zu lesen. Dieses Zusatzprogramm heißt CPCTRANS.

 

5.1.1 Das Diskettentransferprogramm CPCTRANS

Ich habe CPCTRANS geschrieben, um Disketten-Abbilder aus CPC-Disketten zu erstellen. Es werden sowohl die normalen CPC-Formate als auch das doppelseitige VORTEX-Format gelesen.
CPCTRANS ist nicht dafür gedacht, kopiergeschützte Formate zu übertragen! Wenn Sie CPCTRANS ohne Parameter aufrufen, erhalten Sie eine kurze Übersicht.
Rufen Sie CPCTRANS ähnlich wie den DOS COPY-Befehl auf:

CPCTRANS <Quelle> <Ziel> <Optionen>

Beispiele:

  • "CPCTRANS B: DISK1.DSK" kopiert die Diskette im Laufwerk B in das Disketten-Abbild DISK1.DSK. Falls dieses nicht existiert, wird es neu erzeugt.
  • "CPCTRANS DISK1.DSK B:" kopiert das Disketten-Abbild zurück auf die Diskette im Laufwerk B.

Der erste Befehl funktioniert nur für das DATA-Format. Für andere Formate müssen Sie eine Option angeben:

  • /f 0 : DATA-Format (Standard)
  • /f 1 : DATA-Format, doppelseitig
  • /f 2 : SYSTEM-Format
  • /f 3 : SYSTEM-Format, doppelseitig
  • /f 4 : VORTEX-Format, doppelseitig
  • /f 5 : unbekannt, CPCTRANS versucht es selber zu erkennen
  • /f 6 : +3DOS

Beachten Sie das Leerzeichen zwischen "/f" und der Zahl.
Beim doppelseitigen DATA- und SYSTEM-Format wählen Sie die Seite A oder B im Disketten-Menü (3.2.1).
Beim Zurückschreiben eines Disketten-Abbildes muß die Diskette schon mit dem richtigen Format formatiert sein! Dazu können Sie 22DISK benutzen, was im nächsten Abschnitt beschrieben wird.

  • Wollen Sie die B-Seite einer Diskette kopieren, benutzen Sie die Option "/s 1".
    Durch "CPCTRANS B: DISK1.DSK /s 1" wird also nur die B-Seite der Diskette kopiert, mit "CPCTRANS DISK1.DSK B: /s 1" wird sie wieder zurückgeschrieben.
  • Durch die Option "/v" schalten Sie "verify" ein, d.h. es wird überprüft, ob die Daten korrekt kopiert wurden. Das ist zwar ein bißchen langsamer, erhöht aber die Sicherheit.
  • Mit der Option "/t <Anzahl>" geben Sie an, wieviele Spuren (tracks) kopiert werden sollen. Normalerweise werden immer 40 Spuren kopiert, nur beim VORTEX-Format sind es 80.
  • Eine Besonderheit ist die Option "/q" (Quick-Format). Hiermit formatieren Sie ein Disketten-Abbild, anstatt den Inhalt einer Diskette hineinzukopieren.
    Trotzdem müssen Sie als ersten Parameter ein gültiges Laufwerk angeben, auch wenn es nicht benutzt wird. Beispiel: "CPCTRANS a: SYSTEM.DSK /f 2 /q" formatiert SYSTEM.DSK als SYSTEM-Format-Diskette.

 

5.1.2 Das Formatier- und Kopierprogramm 22DISK von SYDEX

Dieses Programm ist als Shareware erhältlich. Durch geeignete Definitionen können Sie sämtliche CP/M-Formate benutzen! Leider sind gerade die CPC-Formate in der Prüfversion von 22DISK nicht enthalten. Deshalb habe ich diese Formate in der Datei CPMDISKS.DEF definiert. Sie befindet sich auch im UTILITY-Verzeichnis.

Was können Sie mit 22DISK machen?

Sie können einzelne Dateien zwischen DOS und den Fremdformaten hin- und herkopieren, Disketten formatieren und so weiter.
Kopieren Sie die CPC-Dateien einfach in das TAPE-Verzeichnis, und lesen Sie im Abschnitt 3.2.2 nach, wie Sie Programme von Kassette laden.

 

5.2 Parallele Schnittstelle

Falls Sie noch einen CPC ohne Zweitlaufwerk besitzen, haben Sie die Möglichkeit, den Datentransfer über die parallele Schnittstelle zu tätigen.
Ursprünglich hatte Gilles Molinari diese Idee und auch Turbo-Pascal Programme dazu geschrieben. Nur gehören Sie vielleicht zu den Benutzern, die keinen Turbo-Pascal Compiler auf den CPC haben, somit könnten Sie damit nicht viel anfangen. Ich habe sie deshalb in Locomotive-BASIC umgeschrieben und durch die zusätzliche Richtung PC->CPC ergänzt. Es ist also möglich, Programme vom CPC zum PC und umgekehrt zu übertragen!
CPC und PC werden dabei an den Druckerschnittstellen gekoppelt. Wenn Sie einen CPC 6128 haben und sich die Anschlüsse mal genauer ansehen, werden Sie feststellen, daß Sie mit einem parallelen PC-Druckerkabel die beiden Computer hervorragend verbinden können! Doch tun Sie es noch nicht, lesen Sie erst weiter.
Wenn Sie einen Amstrad CPC 6128 ohne Centronics-Buchse oder einen CPC 464/664 haben, benutzen Sie das Diagramm am Ende des Abschnitts.

Zwei kleine Hürden müssen Sie überwinden:

  1. Einen kleinen Adapter bauen
  2. Ein kurzes Programm in den CPC eintippen

Warten Sie! Blättern Sie nicht gleich weiter!

Beide Schritte sind ganz einfach, denn

  1. geht auch OHNE LÖTEN, und
  2. ist wirklich ziemlich kurz (etwa 30 Zeilen BASIC)

Zu Schritt 2.

Das Programm, was Sie brauchen, heißt CPCREC.BAS und befindet sich im UTILITY-Verzeichnis. Es ist in ASCII-Form abgespeichert, so daß Sie es problemlos ausdrucken und in Ihren CPC eintippen können. Es erfüllt in etwa die Aufgabe eines dünnen Seiles, das Sie durch ein Rohr schicken, um ein dickes Tau nachziehen zu können.
Das dünne Seil ist hier CPCREC.BAS und empfängt (receive) Programme vom PC. Mit diesem "Progrämmchen" holen Sie das Programm CPCPARA.BAS (das dicke Tau) auf Ihren CPC. Damit können Sie sowohl Programme empfangen als auch senden. CPCREC.BAS brauchen Sie dann nicht mehr. Auf der PC-Seite haben Sie die ganze Zeit PCPARA.EXE.
Natürlich sind auch diese beiden Programme im UTILITY-Verzeichnis.

Doch bevor Sie CPCREC.BAS eintippen, kommen wir zu Schritt 1.

 

Der parallele Adapter

Sie brauchen also einen Adapter zwischen dem PC-Druckerkabel und dem PC-Druckeranschluß.

Am einfachsten geht das mit einer RS-232 Wiring-Box, die einen 25pin D-Sub Stecker und eine 25pin D-Sub Buchse hat. Durch Stecken von kurzen Drahtbrücken realisieren Sie damit beliebige Verbindungen zwischen den beiden Seiten. Normalerweise wird so eine Box - wie ihr Name schon sagt - zur Anpassung von RS-232 Schnittstellen benutzt. Serielle Verbindungen scheinen nämlich nie auf Anhieb zu funktionieren. Bei unserem Adapter benutzen Sie die Box einfach "andersherum", d.h. der Stecker kommt an den PC, in die Buchse kommt dann das PC-Druckerkabel.

Stecken wir die Box eben zusammen:


Stecker für den PC-           Buchse für das Druckerkabel
Druckeranschluß (links)               (rechts)
       Pin 2     ---------------       Pin 11
       Pin 10    ---------------       Pin 8
       Pin 11    ---------------       Pin 1
       Pin 12    ---------------       Pin 7
       Pin 13    ---------------       Pin 6
       Pin 15    ---------------       Pin 5
       Pin 19    ---------------       Pin 19

Wie Sie sehen, brauchen Sie nicht alle 25 Drahtbrücken sondern nur 7.
Meine Wiring-Box habe ich bei einem Elektronik-Versand für 13 DM bekommen. Sie können es natürlich auch günstiger haben, indem Sie eine sogenannte Jumper-Box verwenden, bei der Sie die Drahtbrücken festlöten müssen. Diese sollte etwa 7 DM kosten.
Noch günstiger sind Stecker, Buchse, Adapter-Gehäuse und ein paar Drähte. Das hat mich etwa 3 DM gekostet.

Sie haben jetzt mit dem Adapter die beiden Computer verbunden und das "Progrämmchen" CPCREC.BAS in den CPC eingetippt. Wie geht es nun weiter?

  1. Auf dem CPC: CPCREC.BAS starten (nachdem Sie es abgespeichert haben)
  2. Auf dem PC : "PCPARA /s CPCPARA.BAS" starten.

Jetzt wird es kritisch, denn wenn auf dem PC keine Fehler gemeldet werden, ist alles gut verlaufen, das Programm ist auf dem CPC.

  • Falls der PC überhaupt nichts sendet und nur eine Fehlermeldung ausgibt, ist die Verbindung wahrscheinlich nicht in Ordnung.
  • Falls er etwas sendet ("Sending block xx"), aber zwischendurch Fehler auftreten, ist Ihr PC vielleicht zu schnell oder zu langsam. Die Richtung PC->CPC ist nämlich ziemlich zeitkritisch.

Auf meinem 386/33 darf ich kein EMS installiert haben, sonst ist es zu langsam. Auf einem besonders schnellen Computer könnte es aber nötig Sein, die Taktfrequenz herunterzuschalten. Benutzen Sie es unter DOS, nicht unter OS/2 oder Windows.

Wenn es überhaupt nicht klappen sollte, benachrichtigen Sie mich. In der Zwischenzeit könnten Sie das etwas längere CPCPARA.BAS eintippen, die Richtung CPC->PC funktioniert nämlich immer, auch unter OS/2, da das nicht viel anders ist als ausdrucken. Der PC spielt dabei den Drucker.

Ich nehme an, daß Sie jetzt CPCPARA.BAS auf Ihrem CPC haben.

Übertragen Sie Dateien vom CPC zum PC folgendermaßen:

  1. Auf dem PC: "PCPARA /r" eingeben.
  2. Auf dem CPC: CPCPARA starten, Menüpunkt S)end wählen, und nacheinander die zu übertragenden Dateien eingeben. (Rufen Sie "PCPARA /r" für jede zu übertragende Datei erneut auf, CPCPARA hingegen läuft in einer Endlosschleife.)

Sie benutzen also PCPARA folgendermaßen:

  • "PCPARA /r" : startet PCPARA im Empfangsmodus
  • "PCPARA /s <Datei>" : sendet die <Datei> zum CPC, falls Sie als Datei 'TRM:' angeben, bekommen Sie ein Terminal.

Bei den meisten Programmen im UTILITY-Verzeichnis bekommen Sie übrigens eine Übersicht über die Optionen, wenn Sie nur den Dateinamen eingeben.

WARNUNG:

Auch wenn der Aufbau ganz simpel ist, kann ich doch nicht garantieren, daß Sie dabei nicht irgend etwas kaputtmachen. Wenn z.B. nachher Ihr CPC-Druckerport defekt ist, dann ist das schade und wohl eher ein dummer Zufall. Wahrscheinlich wäre er auch dann kaputtgegangen, wenn Sie nur Ihren Drucker angeschlossen hätten.

Ich kenne z.B. einen ehemaligen CPC-Benutzer, dessen Tastatur mal nicht mehr funktionierte. Nach der Reperatur sagte man ihm, er dürfe den Joystick auch nicht bei angeschaltetem Computer einstöpseln!
(Also ich mache das immer ?!?)

Also:

Der Adapter wurde nicht nur von mir schon mehrfach erfolgreich nachgebaut. Und auch Benutzer, die "mal vergessen" haben, den Adapter zwischen der Verbindung anzubringen, berichten von keinen Problemen.

 

Diagramme von David Chapeau, falls Ihr CPC keinen Centronics-Anschuß hat:

 34 <- - - - - - - - 18      \
 ______________________      |
|   ________________   |     |
|  |________________|  |   - | ---> Buchse für
|______________________|     |         CPC-Druckeranschluß
                             |
 17 < - - - - - - - - 1      |
                             |
   ||||||||||||||||||        |
   ||||||||||||||||||        \
   ||||||||||||||||||         > "CPC 6128 nach DMP 2160"-Kabel
   ||||||||||||||||||        /
   ||||||||||||||||||        |
                             |
 1 - - - - - - - - > 18      |
________________________     |
\    ______________    /     |
 \  |______________|  /    - | ---> Centronics-Stecker
  \__________________/       |
                             |
 19 - - - - - - - -> 36      /



 18 < - - - - - - - - 1      \
________________________     |
\    ______________    /     |
 \  |______________|  /    - | ---> Centronics-Buchse
  \__________________/       |
                             |

 36 <- - - - - - - - 19      |

                             |
   ||||||||||||||||||        |
   ||||||||||||||||||        \
   ||||||||||||||||||         >   PC Parallel Adapter
   ||||||||||||||||||        /
   ||||||||||||||||||        |
                             |
 1 - - - - - - - - > 13      |
________________________     |
\  ..................  /     |
 \  ................  /    - | ---> Sub-D Stecker zum PC
  \__________________/       |         (LPT1)
                             |
 14 - - - - - - - -> 25      /


 13 < - - - - - - - - 1      \
________________________     |
\  ..................  /     |
 \  ................  /    - | ---> Sub-D Buchse
  \__________________/       |
                             |

 25 <- - - - - - - - 14      |

                             |
   ||||||||||||||||||        |
   ||||||||||||||||||        \
   ||||||||||||||||||         >   RS-232 "Wiring-Box"
   ||||||||||||||||||        /
   ||||||||||||||||||        |
                             |
 1 - - - - - - - - > 13      |
________________________     |
\  ..................  /     |
 \  ................  /    - | ---> Sub-D Stecker zum PC
  \__________________/       |         (LPT1)
                             |
 14 - - - - - - - -> 25      /

 


Drucker    Centronics  Centronics      Sub-D     Sub-D        Sub-D
(Buchse)    (Stecker)   (Buchse)     (Stecker)  (Buchse)    (Stecker)

   1 ---------  1           1 ---------  1        11 ---------  2
         .                        .                8 --------- 10
         .                        .                1 --------- 11
         .                        .                7 --------- 12
  17 --------- 17          14 --------- 14         6 --------- 13
  18 --------- 19          19 --------- 19         5 --------- 15
         .                 21 --------- 20        19 --------- 19
         .                 23 --------- 21
         .                 25 --------- 22
  34 --------- 35          27 --------- 23
                           29 --------- 24
                           30 --------- 25
                           31 --------- 16
                           32 --------- 15
                           33 --------- 18
                           36 --------- 17

 

Übertragungsgeschwindigkeit CPCPARA -> PCPARA (v1.1):

Mit der eingebauten Statistik wurden folgende Übertrangungsraten für einen 0x4000 Byte-Block vom CPC zum PC gemessen:

Quelle auf dem CPC: Bytes/s: bit/s:
Datei von Diskette: 1600 12800
Block aus dem Speicher: 2240 17920
Block aus Speicher, keine Int.
(poke &b941,&c9 auf CPC 6128)
2445 19560

Das Senden eines Blocks wurde in BASIC folgendermaßen realisiert (in CPCPARA):

defstr a:a="test.$$$":call sstr,@a
a=string$(&80):for i=1 to &80:call sstr,@a:next
call sbyte,0:stop

Weitere Informationen zum parallelen Adapter finden Sie im Kapitel 7.

 

5.3 Serielle Schnittstelle

Falls Sie eine serielle Schnittstelle am CPC haben, können Sie die Daten natürlich auch seriell übertragen.

 

5.4 Sonstige Möglichkeiten

Es gibt auch abenteuerlichere Methoden, an seine Software zu kommen.

  • 3" Diskettenlaufwerk an den PC anschließen. Manche (ältere) Modelle sollen direkt an den 5.25"-Anschluß passen.
  • Mit Hilfe des Spectrum+3 (oder so) die 3" Disketten einlesen, in das Spectrum-Format konvertieren und mit einem Hilfsprogramm auf den PC übertragen. Dieses Hilfsprogramm soll dem Spectrum-Emulator Z80 von Gerton Lunter beiliegen.
  • Als es noch nötig war, irgendwie an die ROMs zu kommen, hat mir ein Benutzer von seiner Methode berichtet:
    Er hat den ROM-Chip aus dem CPC ausgebaut und anstatt des VGA-BIOS in seine Grafikkarte eingesetzt. Mit einem kleinen Programm konnte er dann den Inhalt auslesen.
  • Vielleicht finden Sie noch Ihre eigene Methode?

 

Kapitel 6. Bezugsquellen, Hilfe bei Problemen, Danksagungen

 

© Marco Vieth, Mai 1998



Marco Vieth, 19.04.2008 12:02:52