Login
Register
Forum
Kontakt
Bitmania
2011-04-22 11:54
by bitman
SIO USB Interface für den Atari 800XL (rennt auch mit Linux)
800xl


<


Neulich habe ich diese Seite im Netz gefunden auf der Kinnon Stephens den Bau eines SIO-2-USB-Adapters beschreibt.
Durch seine hervorragende Vorarbeit habe ich gesehen wie einfach es im Grunde ist den Adapter herzustellen.
Ich habe dann mal geschaut wo man das beschriebene USB-Breakout-Board hierzulande bekommen kann.

Mein erster Versuch war dieses Teil hier: FTDI-Basic-Breakout-5V
im Grunde war ich damit schon nahe dran, nur leider mußte ich feststellen das das RI-SIgnal (Ring-Indicator) nicht herausgeführt war.
Okay, umsonst hab ich die beiden Boards nicht gekauft, daraus hab ich dann erstmal das USB-Thermometer gebaut.

Ich hab dann mal weitergesucht und dieses hier gefunden: Breakout Board for FT232RL USB to Serial Sparkfun
Von dem Shop bin ich sehr begeistert und kann ihn nur wärmstens weiterempfehlen. Das Teil war sogar noch günstiger als die anderen Serielladapter und man hat mir dort von sich aus Versand als Brief zu 2,50 € angeboten. Eine kleine Überraschung lag auch noch mit drin:




War bestimmt nicht das letzte mal das ich dort was gekauft habe.

Bei diesem Modell sind tatsächlich alle Signale herausgeführt, die der FTDI-Chip hergibt



Den im Lieferzustand gebrückten Jumper (im Bild grün gekennzeichnet) hab ich aufgetrennt, damit die Spannung an 5V angepasst ist,

Dann habe ich wie von Kinnon Stephens beschrieben die benötigten Pins verbunden. Ich wollte erstmal das SIO Kabel unversehrt lassen




Getestet hab ich es dann zunächst mit einem virtualisierten Windows unter VirtualBox und dem Programm Atari810:


nachdem das klappt hab ich mich daran gemacht was passendes für Linux zu suchen und wurde bei Preston Crow und dem sio2linux fündig.
Das C-File kompiliert problemlos und kann sofort an der Kommandozeile eingesetzt werden:

bitman@bluespark:~/my-atari/sio2usb$ ./sio2linux 
SIO2Linux: The Atari floppy drive emulator
Options:
-r next parameter is read-only image
-f next parameter is image, fake accepting writes (no change to image)
-s next parameter is serial device to use (default: /dev/ttyS0)
-b next parameter is blank single-density image to create
-B next parameter is blank double-density image to create
-x skip next drive image
-n no ring detect on serial port (some USB converters)
disk image to mount as next disk (D1 through D8 in order)
directory to mount as next disk
Example:
./sio2linux boot.atr -x -b d3.atr
(D1: is boot.atr, D2: is ignored, D3: is a new blank image)

bitman@bluespark:~/my-temp-01$ ./sio2linux VoiceOfSilence3.atr -x -b -s /dev/ttyUSB0 
D1: VoiceOfSilence3.atr opened (720 256-byte sectors)
00 garbage
31 53 00 00 84 D1: status:[A][C]-4 bytes+sum-
31 52 01 00 84 D1: read sector 1: [A][C]-128 bytes+sum-
31 52 02 00 85 D1: read sector 2: [A][C]-128 bytes+sum-
31 52 03 00 86 D1: read sector 3: [A][C]-128 bytes+sum-
31 52 04 00 87 D1: read sector 4: [A][C]-256 bytes+sum-
:::

Hier ein Bild vom Adapter in Aktion:



Zuerst hab ich mal eine merkwürdige Demo getestet:



Wenig später hallten wunderbare Pokeyklänge durch die Bitcave:




Jetzt bin ich bereit den 800xl mal genauer zu erkunden ...