Serielle Datenübertragung zwischen Linux PC und Amstrad NC

In diesem Artikel zeige ich euch, wie man Programme per serielle Verbindung auf den NC überträgt. Man kann die serielle Verbindung aber auch z.B. für die Sicherung von Dokumenten/Programmen vom NC zu einem PC verwenden.

Wir brauchen dazu einen Linux PC (geht aber mit TeraTerm genauso unter Windows) mit serieller Schnittstelle, einem Null-Modem-Kabel und/oder einem USB-Serial Adapter. Auf Tim’s Amstrad NC Webseite findet ihr entsprechende Software. Als Beispiel werden wir das Basic Spiel BREAKOUT zum NC übertragen und dort ausführen. Wenn ihr eigene Programme zum NC übertragen wollt, achtet darauf, dass die Textdatei im DOS bzw. Windows Format gespeichert wurde, sonst wird das Zeilenende vom NC falsch interpretiert.

Zuerst installieren wir das Programm minicom auf dem Linux Rechner:

dnf install minicom

Anschließend konfigurieren wir Minicom für die Verwendung per serielle Verbindung. In meinem Fall verwende ich einen USB-Serialadapter, da mein Rechner keinen seriellen Anschluss mehr hat, der sich unter Linux als /dev/ttyUSB0 installiert.

sudo minicom -s

            +------------[Konfiguration]-------------+
            | Dateinamen und Pfade                   |
            | Protokolle zur Dateiübertragung        |
            | Einstellungen zum seriellen Anschluss  |
            | Modem und Wählverhalten                |
            | Bildschirm und Tastatur                |
            | Speichern als »dfl«                    |
            | Einstellungen speichern als ...        |
            | Verlassen                              |
            | Minicom beenden                        |
            +----------------------------------------+

Unter „Einstellungen zum seriellen Anschluss“ setzen wir folgende Optionen:

    +-----------------------------------------------------------------------+
    | A - Serieller Anschluss      : /dev/ttyUSB0                           |
    |                                                                       |
    | C - Programm zur Rufannahme  :                                        |
    | D - Programm zum Wählen      :                                        |
    | E - Bps/Par/Bits             : 4800 8N1                               |
    | F - Hardware Flow Control    : Ja                                     |
    | G - Software Flow Control    : Nein                                   |
    |                                                                       |
    |    Welchen Parameter möchten Sie ändern?                              |
    +-----------------------------------------------------------------------+

Der NC unterstützt zwar bis zu 9600 Baud, aber ich verwende 4800 Baud, weil damit bei mir die Datenübertragung problemlos geklappt hat. Anschließend wird im Hauptmenü noch die Konfiguration als „dfl“ (default) gespeichert.

Jetzt kann der Amstrad für die Datenübertragung vorbereitet werden. Wir werden das neue Programm später im internen, batteriegepufferten Speicher ablegen, wo auch z.B. Textdokumente gespeichert werden. Dazu stehen uns bis zu 49.000 Bytes zur Verfügung. Eine Besonderheit gibt es noch beim NC: Zugriff auf den Filemanager hat man erst, wenn schon mal ein Textdokument gespeichert wurde. Deshalb legen wir zuerst ein Dokument an:

Nach dem Einschalten erscheint das Applikationsmenü. Hier wählt man mit [Funktion] [Text] den Texteditor. Wir vergeben einen Namen für das Dokument. Somit haben wir eine neue Datei angelegt und können später mit [Funktion] [L] (List Stored Documents) in den Filemanager wechseln.

Bevor wir das tun, müssen wir jedoch erst die serielle Schnittstelle des NC konfigurieren. Mit [Funktion] [S] wechselt man in das serielle Datenübertragungs-programm. Jetzt drücken wir die [Menü] Taste. Hier setzen wir die Optionen auf 4800 Baud, Daten-Stoppbits auf 8/1, Parität: Keine und Protokoll auf Ein. Wir verlassen das Menü durch drücken der [Stop] Taste.

Jetzt wechseln wir mit [Funktion] [L] in den Filemanager. Hier drücken wir wieder die [Menü] Taste und anschließend [T], um in das Datenübertragungsmenü zu gelangen. Dann wählen wir [M] Dokument empfangen (Xmodem). Jetzt fehlt nur noch die Eingabe eines Dateinamens für das zu empfangende File. Ich empfehle die Dateinamen in Großbuchstaben zu schreiben, um es sich beim späteren Aufruf unter Basic zu erleichtern. Wir wählen als Dateinamen z.B. BREAKOUT.BAS. Bevor wir dann die Enter Taste drücken, bereiten wir aber zuerst noch die Datenübertragung am PC vor.

Wir starten jetzt minicom ohne Parameter und mit sudo Berechtigung (um Zugriff auf das Modem Device zu erhalten).

sudo minicom

Mit [CTRL]+[A] [S] gelangen wir in das Datenübertragungsmenü von minicom. Dort wählen wir xmodem aus und anschließend die Textdatei BREAKOUT.TXT, die wir uns vorher heruntergeladen haben:

Willkommen zu minicom 2.7.1

Optionen: I18n 
Übersetzt am Aug  4 2017, 01:47:26.
Port /dev/ttyUSB0, 23:49:17
                             +-[Upload]--+
Drücken Sie CTRL-A  Z für Hil| zmodem    |len Tasten
                             | ymodem    |
                             | xmodem    |
                             | kermit    |
                             | ascii     |
                             +-----------+



CTRL-A Z for help | 4800 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | ttyUSB0 

Nach Auswahl der Datei drücken wir bei beiden Rechner die Enter-Taste, um die Datenübertragung zu starten. Nach erfolgreicher Übertragung erhalten wir folgende Bestätigung:

         +-----[xmodem Upload - Drücken Sie Strg-C zum Verlassen]------+       
Drücken S|Sende BREAKOUT.TXT, 11 Blöcke:Starten Sie nun Ihr XMODEM-Empf|       
         |angsprogramm.                                                |       
         |Bytes gesendet:   1536   BPS:27                              |       
         |                                                             |       
         |Übertragung abgeschlossen                                    |       
         |                                                             |       
         | Fertig: Drücken Sie eine beliebige Taste zum Fortfahren ... |       
         +-------------------------------------------------------------+

Jetzt können wir das Programm auf dem Amstrad NC starten. Dazu muss es zuerst vom internen Dokumenten Flashspeicher in das RAM geladen werden. Wir wechseln zum BASIC mit [Funktion][B] und geben an der Kommandozeile folgendes ein:

> *EXEC BREAKOUT.BAS

Hiermit wird das Programm in den Speicher geladen und das komplette Programmlisting angezeigt. Danach können wir mit RUN das Programm starten.

Ich empfehle noch das Programm mit SAVE „BREAKOUT“ im „Basic-Format“ zu speichern, denn nur so lässt es sich mit dem gewohnten LOAD-Befehl unter BASIC laden. Außerdem wird es dadurch kompakter gespeichert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert