C2N232 Häufig gestellte Fragen

Tämä asiakirja on saatavilla myös suomeksi.

This document is also available in English.

1. Was ist ein C2N232?

Das C2N232 ist eine kleine RS-232-Schnittstelle, die in den Kassettenport eines 8-Bit Commodore-Rechners eingesteckt werden kann.

1.1 Woher kommt der Name C2N232?

Der Name C2N232 besteht aus zwei Teilen: C2N und 232. C2N ist der ursprüngliche Modellname des Commodore-Bandgerätes, auch als Datasette bekannt. Die Nummer 232 weist auf RS-232 hin, den dominierenden Standard für asynchrone serielle Kommunikation.

1.2 Welche Commodore-Modelle werden unterstützt?

Das Gerät paßt an alle 8-Bit Commodore-Rechner, die über eine Kassettenschnittstelle verfügen. Bei der 264-Reihe wird ein Adapter benötigt, da der Stecker anders aussieht.

Das Gerät kann auch mit anderen 8-Bit-Rechnern benutzt werden. Die Treibersoftware unterstützt das Kassettenformat vom Tangerine Oric-1.

1.3 Was für Software gibt es für das C2N232?

c2n
emuliert das ursprüngliche Kassettenformat von Commodore (LOAD, SAVE, OPEN)
c2nload
Schnellader, der in unter 10 Sekunden geladen und gestartet wird und das eigentliche Programm 38.400 Bits per Sekunde überträgt
faucet
Lader für Low-Level Kassettenimages (.tap)
cisp
ermöglicht das Umprogrammieren des eingebauten Firmware im C2N232
cbmlink
Fernsteuerung von Commodore-Rechner und Kopieren von Speicherinhalte, Dateien und Disketten
cbmconvert
wandelt verschiedene Dateiformaten von Commodore-Rechnern um

1.4 Wie ist die RS-232-Schnittstelle verdrahtet?

Die RS-232-Schnittstelle ist mit dem IBM PC/AT kompatibel. In anderen Worten, am C2N232 gibt es eine D-Sub-Buchse mit 9 Kontakten.

Normalerweise wird ein Verlängerungskabel an die RS-232-Buchse des C2N232 angeschlossen. Nur drei Drähte sind unbedingt nötig: Pin 5 (Masse), 2 (gesendete Daten) und 3 (empfangene Daten). An einem 25poligen Stecker sind diese Signale an den Pins 7, 3 und 2 angeschlossen. Die Buchse am C2N232 ist als DCE verdrahtet, das heißt, ein Nullmodem-Kabel kann nicht benutzt werden.

2. Grundlagen

2.1 Wie startet man die Software?

In den folgenden Prozeduren wird angenommen, daß Sie einen Commodore 64 benutzen.

2.1.1 Die einfachste Weise: c2nload

  1. Drücken Sie die Tasten SHIFT und STOP gleichzeitig, oder tippen Sie LOAD und drücken Sie RETURN.
  2. Der Commodore meldet sich mit PRESS PLAY ON TAPE.
  3. Auf dem großen Rechner, starten Sie die Übertragung folgenderweise. Wahrscheinlich müssen Sie den Dateinamen, den Namen der seriellen Schnittstelle und des Rechnermodells anpassen.
    Commodore AmigaOS:
    c2nload -c serial.device -m 64 datei.prg
    Microsoft Windows:
    c2nload -c com1 -m 64 datei.prg
    Unix:
    c2nload -c /dev/ttyS0 -m 64 datei.prg
  4. Der Commodore schaltet das Bild aus.
  5. Nach einer Weile meldet sich der Commodore mit FOUND DATEI.PRG.
  6. Drücken Sie die C=-Taste sofort oder halten sie die Taste so lange gedrückt, bis die FOUND-Meldung ganz kurz erscheint, so daß der Computer den Rest des Programms nicht verpaßt, da das C2N232 das Steuersignal des Kassettenmotors ignoriert. Drücken Sie nicht die Leertaste, oder es kann sein, daß der Rechner den Rest überspringt und auf das nächste Programm warten wird.

Wenn das Programm durch einen SYS-Befehl gestartet wird, können Sie die SYS-Adresse mit der Option -j angeben.

2.1.2 Die umfangsreicheste Methode: cbmlink

  1. Laden Sie den cbmlink-Server wie beschrieben im vorigen Abschnitt, zum Beispiel c2nload -c /dev/ttyS0 -m 64 -j 52224 cbmprg/c2n232/c64/plain.prg.
  2. Der Commodore meldet endlich READY.
  3. Jetzt kann cbmlink auf dem großen Rechner gestartet werden.
    Commodore AmigaOS:
    cbmlink -c c2n232 serial.device
    Microsoft Windows:
    cbmlink -c c2n232 com1
    Unix:
    cbmlink -c c2n232 /dev/ttyS0
  4. Es bietet sich an, das cbmlink-Serverprogramm auf Diskette zu speichern oder einen Bootsektor für den Commodore 128 erzeugen, um die Benutzung des langsamen Bandprotokolles in Zukunft zu vermeiden. Bitte beachten Sie, daß in der jetzigen Version von cbmlink die Optionen -fr und -fw weder die Zeichensätze umwandeln noch Verzeichnisnamen von Pfadnamen entfernen. Am besten benennen sie die Dateien zuerst um, so daß sie nur Großbuchstaben enthalten, z.B. C64 SYS52224. Das Serverprogramm für einen nicht erweiterten Commodore 64 kann folgendermaßen auf Diskette kopiert werden.
    Commodore AmigaOS:
    cbmlink -c c2n232 serial.device -fw cbmprg/c64/plain.prg
    Microsoft Windows:
    cbmlink -c c2n232 com1 -fw cbmprg\c64\plain.prg
    Unix:
    cbmlink -c c2n232 /dev/ttyS0 -fw cbmprg/c64/plain.prg

2.2 Ist die Datasette nicht langsam?

Ja, aber das Kassettenprotokoll wird nur für das Laden des c2nload-Schnelladers gebraucht, für einige Sekunden. Die Übertragungsgeschwindigkeit von eigentlichen Programmen ist von der RS-232 auf 38.400 Bits oder ungefähr 3.840 Bytes per Sekunde beschränkt.

2.3 Können Low-Level Kassettenimages (.tap-Dateien) geladen werden?

Das Programm faucet funktioniert für manche Dateien.

2.4 Wird das C2N232 von einem Terminalprogramm unterstützt?

Mit der jetzigen Firmware kann das C2N232 leider nur über die RS-232-Schnittstelle gesteuert werden. In der Zukunft werden neue Firmware und Beispielroutinen veröffentlicht, die es ermöglichen, das C2N232 von der Commodore-Seite aus zu kontrollieren.

2.5 Die Software funktioniert nicht richtig unter Windows!

Haben Sie im Geräte-Manager sichergestellt, daß der Hardware-FIFO-Puffer der seriellen Schnittstelle aktiv ist?

Sie finden den Geräte-Manager über die Systemsteuerung. Doppelklicken Sie dort auf das Symbol System. Dadurch wird das Fenster Eigenschaften von System geöffnet. In diesem Fenster, klicken Sie auf das Register Geräte-Manager. In Windows 2000 enthält das Fenster kein Register mit diesem Namen. Stattdessen müssen Sie auf das Register Hardware und auf die Schaltfläche Geräte-Manager klicken.

Eine Liste von Gerätetreibern erscheint. Unter Anschlüsse (COM und LPT) klicken Sie bitte doppelt auf den seriellen Anschluss, über den das C2N232 betrieben wird.

Ein Fenster Eigenschaften von COM-Anschluss (COMx) taucht auf. Klicken Sie auf das Register Anschlusseinstellungen. Wählen Sie das Protokoll Hardware und klicken Sie auf die Schaltfläche Erweitert, um das Fenster Anschlusseinstellungen zu öffnen. Stellen Sie sicher, daß das Feld FIFO-Puffer verwenden angeklickt worden ist.

Alle anderen Einstellungen sollten von der C2N232-Software richtig gesetzt werden. Wenn die Software immer noch nicht richtig funktioniert, klicken Sie auf die Schaltfläche Standard in dem Fenster Anschlusseinstellungen bzw. auf die Schaltfläche Standard wiederherstellen unter dem Registermenü Anschlusseinstellungen im Fenster Eigenschaften von COM-Anschluss.

3. Wie wird die Firmware aktualisiert?

Die Firmware kann über die RS-232-Schnittstelle umprogrammiert werden. Dazu kann man einen Rechner mit Unix oder Microsoft Windows benutzen.

3.1 Wie wird die Platine verdrahtet?

Vier aktiv gesteuerte Signale (RxD, TxD, CTS and RTS) müssen angeschlossen werden. Zusätzlich muß die RESET-Leitung des AT90S2313-Microcontrollers auf Masse gezogen werden und die Platine muß mit Strom versorgt werden.

In der Produktionsversion der Platine gibt es zwei Stellen für Verbindungsbrücken. Eine befindet sich beinahe unter dem Microcontroller, und sie kann immer verbunden bleiben. Die andere (der RESET-Schalter des AT90S2313) liegt an dem Kassettenstecker. Diese muß während der Aktualisierung der Firmware geschlossen werden.

3.2 Wie lädt man die Software (Firmware)?

Zunächst einmal sollten Sie mit dem folgenden Kommando eine Sicherheitskopie der alten Firmware erstellen.

Commodore AmigaOS:
Leider gibt es noch keine Amiga-Version von cisp.
Microsoft Windows:
cisp -c c2n232 com1 -s firm-old.s19
Unix:
cisp -c c2n232 /dev/ttyS0 -s firm-old.s19

Nun sollten Sie einmal kurz die Steckbrücke für das RESET-Signal (am Kassettenstecker) entfernen und wieder aufstecken, oder die Betriebsspannung des C2N232 kurz unterbrechen. Anschließend kann die neue Firmware mit dem folgenden Kommando eingespielt werden.

Commodore AmigaOS:
Leider gibt es noch keine Amiga-Version von cisp.
Microsoft Windows:
cisp -c c2n232 com1 -e -l firmware.s19
Unix:
cisp -c c2n232 /dev/ttyS0 -e -l firmware.s19

Eine Überprüfung der neu eingespielten Firmware ist mit diesem Kommando möglich (zuvor muss wiederum der RESET-Jumper kurz entfernt und wieder aufgesteckt werden).

Commodore AmigaOS:
Leider gibt es noch keine Amiga-Version von cisp.
Microsoft Windows:
cisp -c c2n232 com1 -v firmware.s19
Unix:
cisp -c c2n232 /dev/ttyS0 -v firmware.s19

3.3 cisp: failed to enable the programming mode

Haben Sie vergessen, die RESET-Leitung auf Masse zu ziehen oder das C2N232 mit Strom zu versorgen? Haben Sie die RS-232-Schnittstelle richtig verdrahtet? Unterstützt Ihr Unix-Rechner CTS/RTS-Handshake?

3.4 detect: device is locked

Da die RESET-Leitung nicht unter der Kontrolle des Programms cisp liegt, ist es schwer, diesen Fehler zu korrigieren. Vor allem wird der AT90S2313 nach einem Programmiervorgang mit cisp -l alle Zusammenarbeit ablehnen. Um die Firmware zu prüfen, müssen Sie entweder das C2N232 aus- und einschalten oder die RESET-Brücke entfernen und zurückbringen.

4. Wo bekomme ich ein C2N232?

Schreiben Sie Marko Mäkelä, wenn Sie sich nicht eines selbst nach einem der Platinenlayouts bauen möchten. Die Adapter (über 100 Stück) sind ausverkauft geworden, aber Marko könnte weitere Geräte produzieren, falls genug Interesse besteht. Für die neueste Produktionsreihe betrug der Preis 20 € – inklusive Porto in die ganze Welt. Ein Verlängerungskabel brauchen Sie wohl auch, wenn Sie nicht einen Laptop besitzen, den Sie gegenüber Ihres Commodore aufstellen können.

4.1 Wie sieht das C2N232 aus?

[Die Oberseite der C2N232-Platine]

Sehen Sie sich unsere Bildergalerie an für weitere Bilder. Marko verkauft die Geräte ohne Gehäuse, aber Sie können es wie Nicolas Welte machen. Er hat ein DB9-nach-DB25-Gehäuse für das C2N232 angepaßt und die Unterseite des Kassettensteckers an das Gehäuse geklebt:

[Ein DB9-nach-DB25-Gehäuse mit zwei kleinen Löchern an einer Seite][Die Unterseite des C2N232-Kassettensteckers am Gehäuse geklebt]

4.2 Woher bekomme ich die Software?

Von der C2N232-Seite.

Dateiname Zweck Systeme
c2nload Ein kleiner selbststartender Schnellader für das C2N232 Commodore AmigaOS, Microsoft Windows und Unix-ähnliche Systeme; alle Commodore-Rechner, die von Kassette laden können
c2n Datasetten-Emulator für das C2N232 Commodore AmigaOS, Microsoft Windows und Unix-ähnliche Systeme
cbmlink Dateiübertragung und Fernsteuerung von Commodore-Rechnern Commodore AmigaOS, Microsoft Windows und Unix-ähnliche Systeme
cbmlink-cbm.zip cbmlink-Serverprogramme Commodore PET-Reihe, B-Reihe, VC-20, 64, 128, und 264-Reihe

Alle Commodore-Programme sind in 6502-Assembler geschrieben worden, während alles andere in C implementiert wurde. Für Amiga- und Windows-Benutzer gibt es vorkompilierte Programme. Die Benutzer Unix-ähnlicher Systeme müssen die Programme zunächst aus dem Quelltext heraus kompilieren.

4.3 Woher bekomme ich die Firmware?

Die C2N232-Firmware-Seite enthält den Firmware-Quelltext und etwas Dokumentation. Wenn Sie den Code ändern möchten, werden Sie die GNU Binutils benötigen, um ihn zu übersetzen.

Das Programm cisp, mit dem die Firmware auf den AT90S2313 hochgeladen wird, ist auch auf der Firmware-Seite verfügbar. Es funktioniert zumindest in FreeBSD, Linux und in Microsoft Windows. Möglicherweise können Sie auch andere Software benutzen.

Danksagung

Juha Kouri und Turo Heikkinen haben mir bei der Erstellung und Vermessung der Prototypen geholfen. Nicolas Welte hat mir einige schwer erhältlichen Bauteilen versorgt.

Nicolas Welte und Wolfgang Moser haben Verbesserungen für dieses Dokument vorgeschlagen.


Marko Mäkelä