2008-10-24 |
v0.01.25 Umbau des ganzen Programm Gerüst auf die OpenCBM
Architektur. So hat man eine flexibles und leistungsstarkes Interface. |
2008-06-23 |
Start des Projektes |
Die Vorschau-Bilder können angeklickt werden, um eine vergrößerte Ansicht zu erhalten.
Screenshot 1 |
Screenshot 2 |
Screenshot 3 |
Screenshot 4 |
Hier sieht man ein fertig aufgebautes XS-1541. Es wurde ein Olimex
Board AVR-P40-USB verwendet, an dem man nur noch die Floppy Kabel
direkt anlöten muss.
XS-1541 aufgebaut mit einem Prototype Board von Olimex |
Schaltplan des XS-1541 |
Ich habe nun seit fast 30 Jahren alte Disketten zuhause im 8050
Format. Schon immer wollte ich diese Disketten auf meinen
PC kopieren. Zumal es mit dem VICE
ja einen perfekten Emulator für diese alten 8 bit Computer gibt.
Ende Mai 2008 kam ich durch Zufall auf das Forum-64 und habe entdeckt, dass es noch mehr Leute gibt die auf alte Commodore Hardware stehen. Beim stöbern bin ich auf das X-1541 Kabel gestossen. Dieses Kabel verbindet die seriellen IEC Floppy mit dem parallelen LPT Port des PC. Allerdings funktioniert die Ur Version des Kabel nur auf uralten, sehr langsamen PC's. Es gab dann mehrere Nachfolger des Kabel um die Kompatibilität zu modernen PC wieder herzustellen (XM-1541, XE-1541 und XA-1541). Auch Sonderformen für den parallelen SpeedDos Bus kamen hinzu unter dem Namen XP-1541 oder in Kombination XAP-1541.
Leider verfügen moderne PC oft nicht mehr über einen LPT Port, sodass da X-1541 Kabel nicht mehr eingesetzt werden können. Die Idee war also geboren, ein Adapter für alle Commodore Floppy mit einem Anschluss zum PC der modern ist und nicht veraltet wie der LPT Port. Eine serielle Schnittstelle wird es immer geben und die kann sehr einfach durch USB ersetzt werden. Dadurch war auch die Wahl des Namen für den Adapter schon klar: XS-1541
Im Forum-64 gibt es einen Beitrag speziell zum XS-1541: klick
Es wird eine Standard Schaltung für den Atmega verwendet, deshalb kann auch jedes beliebige Prototyp Board verwendet werden. Der Quarz hat hat eine 'krumme' Frequenz, weil sonst die Kommunikationsgeschwindigkeit 115K nicht exakt eingestellt werden kann und die meisten PC Probleme bei der Datenübertragung haben.
Die Floppy sind direkt an den Port des Atmega angelötet. Ich
habe schon gehört, sowas könne man nicht machen. Es brauche
Treiberbausteine und weitere Bauteile damit das technisch korrekt ist.
Was soll ich sagen, - es funktioniert! Treiberbausteine
schützen die Elektronik und ermöglichen den Betrieb mit
mehreren Geräten. Aber warum Treiberbausteine als Schutz wenn die
dann teurer als ein Atmega sind? Das XS-1541 kann bis zu drei Floppy
an jedem Bus (also bis zu 6) treiben, mir persönlich langt das
leicht. Wenn jemand die perfekte Lösung herstellt
beglückwünsche ich ihn und wenn möglich würde ich
gerne die Schaltung hier veröffentlichen.
Das XS-1541 ist seriell an einem PC oder einem beliebigen Terminal
angeschlossen. Es muss kein PC sein, es langt irgendein beliebiger
Computer mit seriellem Anschluss und einem Terminalprogramm das Y-Modem
Protokoll kann. Das Betriebssystem ist ebenso völlig egal. Ob
Linux, Windows oder Mac OS, hauptsache ist das Terminal Programm.
Unter Windows kann das kostenlose Hyperterminal verwendet werden.
Hyperterminal sollte auf jedem Windows PC vor installiert sein.
Die Einstellung der seriellen Schnittstelle muss 115200, 8, N, 1 sein. Also 115200 baud, 8 Datenbits, 1 Stopbit und keine Parity.
Bei Verwendung eines USB Boards (zb. das von Olimex) wird eine virtuelle COM Schnittstelle
eingerichtet. Es braucht dazu keinen Driver, einfach anstecken und gut.
Vom Windows PC aus gibt es ein neues COM Port, das wie eine normale
serielle Schnittstelle angesprochen wird. Dh. der PC merkt
überhaupt nicht ob das XS-1541 seriell oder per USB angeschlossen
ist. Auch bei USB müssen die Schnittstellen Parameter auf
115200,8N1 gestellt werden.
Nach einem Reset oder nach dem Einschalten meldet sich das XS-1541
am PC mit einer Startmeldung. Danach wartet es auf Befehle vom
Terminal, also vom Benutzer. Der Befehl wird in einer Zeile eingetippt
und mit der <Eingabe> Taste bestätigt. Das XS-1541
führt den Befehl aus.
Eventuell verursacht der Befehl einen Fehler der vom XS-1541
ausgegeben und am Terminal angezeigt wird. Ansonsten gibt es meist eine
Antwort oder das XS-1541 protokolliert seine Arbeit. Manche Befehle
verursachen eine Datenausgabe die direkt am Terminal erfolgen kann.
Einige Befehle (zB. Datei lesen, ganze Disk lesen) senden Dateien
zum PC oder lesen Dateien vom PC. In diesem Fall fordert das XS-1541
den Benutzer auf das X-Modem bzw. das Y-Modem Protokoll zu starten. Das
ist eine Funktion im Terminal Programm um einen Datei Transfer
durchzuführen.
Die Beschreibung aller Befehle der jeweiligen Firmware ist im
Package enthalten: XS1541-Docu.txt
Die Software des XS-1541 (Firmware) ist im Atmel Controller gespeichert. Die Firmware wird laufend verbessert, deshalb ist es sinnvoll ab und zu ein Firmware Update zu machen.
Die Firmware wird als HEX Datei ausgeliefert und muß durch ein
Programmiergerät in den
Flash Speicher des Controller geschrieben werden. Wenn das XS-1541 mit
einem Bootloader ausgerüstet
ist, dann wird kein Programmiergerät benötigt.
Wenn der Controller noch keinen Bootloader hat, dann benötigt man
zumindest einmal ein AVR Programmiergerät um den Bootloader in den
Controller zu schreiben.
Man kann erkennen ob ein Bootloader vorhanden ist, indem man das LED
des XS-1541 beobachtet beim Einschalten bzw. nach einem Reset. Ein
XS-1541 ohne Bootloader startet sofort ohne Verzögerung. Wenn ein
Bootloader vorhanden ist, verzögert sich der Start um etwa 3
Sekunden.
In diesen 3 Sekunden wenn der Bootloader aktiv ist, kann ein Firmware Update gestartet werden. Der Bootloader ist kompatibel zu AVR-Prog (Windows) und AVRdude (Linux). Beide Programme sind kostenlos erhältlich und können die Firmware (HEX Datei) von der Downloadseite direkt verarbeiten.
Achtung: Der
AVRProg kann nur mit den Schnittstellen COM1 bis COM4 umgehen.
Splan
ist ein Schaltplan Editor für Windows
vin der Firma Abacom.
Es gibt einen kostenlosen Schaltplan Viewer: download
Diese Hard- und Software ist wie alles Irdische nicht perfekt. Sie können helfen, sie zu verbessern: schreiben Sie mir eine Mail mit Ihren Hinweisen oder Ihrer Meinung.
keine bekannt.
.
Befehle im XS-1541:
An der Hardware:
Alle genannten Waren- oder Firmenbezeichnungen könnten Eigentum der jeweiligen Besitzer sein. Alle Informationen werden ohne Rücksicht auf die evtl. Rechts- oder Patentlage ausschließlich zu Ausbildungszwecken erteilt. Jegliche Verwendung geschieht ausdrücklich auf eigene Gefahr.
Also melden Sie sich nicht bei mir, wenn ihr Atmel Board, Ihr PC oder einer Ihrer Floppy nicht mehr funktionieren sollte, das Feuer auf die ganze Wohnung, das Haus, den Straßenzug oder die Stadt übergreift oder der dabei entstehende Rauch das Klima um 30 Grad erwärmt, Millionen verdursten und verhungern und der Rest von Aliens gekapert wird, die dann kommen, weil es endlich ausreichend kuschelig warm ist... also seien Sie gewarnt und bedenken Sie Ihr Handeln sorgfältig!