SIO2PI -> Raspberry Pi als Floppy
von Montezuma » Sa 16. Feb 2013, 21:17Raspberry Pi ist ein sehr kleiner und günstiger Rechner http://www.raspberrypi.org/faqs,
der auch Atari Laufwerke emulieren kann.
Der Raspberry Pi ist sogar mit einem UART ausgestattet.
Um ein SIO2PI Kabel zu bauen braucht man noch einen Pegelwandler (3.3V <-> 5V).
Es gibt sogar eine fertige Platine, die man dafür nutzen kann:
Logic Level Converter Sparkfun BOB-08745
http://www.sparkfun.com/products/8745
Es gibt allerdings einen kleinen Haken.
Der Prozessor auf dem Raspberry Pi http://www.raspberrypi.org/wp-content/u ... herals.pdf unterstützt zwar UART mit Handshaking, aber die Raspberry Pi Entwickler hielten es nicht für nötig, das CTS Signal nach außen zu Verfügung zu stellen http://elinux.org/RPi_Low-level_peripherals.
Dafür habe ich aber eine Lösung gefunden.
Das "Command" Signal von SIO habe ich an einen Raspberry Pi I/O PIN angeschlossen, und das in der Software (AspeQt) berücksichtigt.
Erstmal ein Diagram von dem SIO2PI Kabel:
Der Rest der Beschreibung gilt für das default OS - Raspbian “wheezy” (Linux Debian)
http://www.raspberrypi.org/downloads
Um UART nur für unsere Zwecke zu nutzen muss man auf dem Raspberry noch zwei Dateien editieren:
/boot/cmdline.txt
/etc/inittab
Eine Anleitung dazu:
http://www.irrational.net/2012/04/19/us ... rial-port/
Alternativ kann man einen USB2Serial Adapter mit einem SIO2PC Kabel nutzen.
Ich habe beide Varianten (FTDI und Prolific) mit Raspberry Pi getestet.
Der Raspberry Pi UART heißt "/dev/ttyAMA0"
Ein USB2Serial UART wird als "/dev/ttyUSB0" erscheinen.
Jetzt brauchen wir die Software.
Ich habe zwei Tools mit Raspberry Pi getestet:
- sio2bsd von drac030 http://drac030.krap.pl/en-inne-pliki.php
- AspeQt von Fatih Aygün http://sourceforge.net/projects/aspeqt/
Das erste Tool nutzt kein Hardware Handshaking, so dass keine Änderungen in der Software nötig waren.
Nach einer kleinen Anpassung vom Makefile konnte ich die Software schon kompilieren.
Dank der Erlaubnis des Autors kann ich Euch hier die Software zum Download anbieten:
Mit AspeQt war es ein wenig komplizierter.
Erstmal ist das Fenster ziemlich groß (mindestens wenn man FBAS Signal nutzt).
Deswegen habe ich zwei Versionen gebaut:
- einmal eine Version, die nur 4 Atari Laufwerke emuliert
- einmal eine volle Version (die erkennt man an der "_hd" Endung)
Zusätzlich gibt es seit einiger Zeit eine neue Version (0.8.7) von dem Tool.
Das habe ich auch berücksichtigt und folgende Versionen gebaut:
aspeqt_0.6
aspeqt_0.6_hd
aspeqt_0.8.7
aspeqt_0.8.7_hd
Die stabile Version 0.6 beinhaltet schon die Anpassungen von Hias.
Um ein AspeQt Icon auf dem Raspberry Pi Desktop zu erstellen, muss man in das "Desktop" Verzeichnis (/pi/home/Desktop) die Datei "AspeQt.Desktop" reinkopieren.
Für die jenigen, die die Software selbst kompielieren möchten noch zwei Downloads:
Um selbst die Software zu kompilieren braucht man (außer Qt) noch eine Library:
http://www.open.com.au/mikem/bcm2835/
Viel Spaß!
der auch Atari Laufwerke emulieren kann.
Der Raspberry Pi ist sogar mit einem UART ausgestattet.
Um ein SIO2PI Kabel zu bauen braucht man noch einen Pegelwandler (3.3V <-> 5V).
Es gibt sogar eine fertige Platine, die man dafür nutzen kann:
Logic Level Converter Sparkfun BOB-08745
http://www.sparkfun.com/products/8745
Es gibt allerdings einen kleinen Haken.
Der Prozessor auf dem Raspberry Pi http://www.raspberrypi.org/wp-content/u ... herals.pdf unterstützt zwar UART mit Handshaking, aber die Raspberry Pi Entwickler hielten es nicht für nötig, das CTS Signal nach außen zu Verfügung zu stellen http://elinux.org/RPi_Low-level_peripherals.
Dafür habe ich aber eine Lösung gefunden.
Das "Command" Signal von SIO habe ich an einen Raspberry Pi I/O PIN angeschlossen, und das in der Software (AspeQt) berücksichtigt.
Erstmal ein Diagram von dem SIO2PI Kabel:
- Code: Alles auswählen
Atari 2 Adapterplatine
SIO 3 (data in) -->|--- TXO (Chan1) über eine Schottky Diode (1N5817) in Richtung von Atari zur Adapterplatine
SIO 5 (data out) - RXI (Chan1)
SIO 10 (+5V) - HV
SIO 4 (gnd) - GND
SIO 7 (command) - RXI (Chan2)
Adapterplatine 2 Raspberry Pi
TXI (Chan1) - P1_08 (GPIO14 / TxD)
RXO (Chan1) - P1_10 (GPIO15 / RxD)
LV - P1_01 (+3,3V)
GND - P1_06
RXO (Chan2) - P1_11 (GPIO17)
Der Rest der Beschreibung gilt für das default OS - Raspbian “wheezy” (Linux Debian)
http://www.raspberrypi.org/downloads
Um UART nur für unsere Zwecke zu nutzen muss man auf dem Raspberry noch zwei Dateien editieren:
/boot/cmdline.txt
/etc/inittab
Eine Anleitung dazu:
http://www.irrational.net/2012/04/19/us ... rial-port/
Alternativ kann man einen USB2Serial Adapter mit einem SIO2PC Kabel nutzen.
Ich habe beide Varianten (FTDI und Prolific) mit Raspberry Pi getestet.
Der Raspberry Pi UART heißt "/dev/ttyAMA0"
Ein USB2Serial UART wird als "/dev/ttyUSB0" erscheinen.
Jetzt brauchen wir die Software.
Ich habe zwei Tools mit Raspberry Pi getestet:
- sio2bsd von drac030 http://drac030.krap.pl/en-inne-pliki.php
- AspeQt von Fatih Aygün http://sourceforge.net/projects/aspeqt/
Das erste Tool nutzt kein Hardware Handshaking, so dass keine Änderungen in der Software nötig waren.
Nach einer kleinen Anpassung vom Makefile konnte ich die Software schon kompilieren.
Dank der Erlaubnis des Autors kann ich Euch hier die Software zum Download anbieten:
Mit AspeQt war es ein wenig komplizierter.
Erstmal ist das Fenster ziemlich groß (mindestens wenn man FBAS Signal nutzt).
Deswegen habe ich zwei Versionen gebaut:
- einmal eine Version, die nur 4 Atari Laufwerke emuliert
- einmal eine volle Version (die erkennt man an der "_hd" Endung)
Zusätzlich gibt es seit einiger Zeit eine neue Version (0.8.7) von dem Tool.
Das habe ich auch berücksichtigt und folgende Versionen gebaut:
aspeqt_0.6
aspeqt_0.6_hd
aspeqt_0.8.7
aspeqt_0.8.7_hd
Die stabile Version 0.6 beinhaltet schon die Anpassungen von Hias.
Um ein AspeQt Icon auf dem Raspberry Pi Desktop zu erstellen, muss man in das "Desktop" Verzeichnis (/pi/home/Desktop) die Datei "AspeQt.Desktop" reinkopieren.
Für die jenigen, die die Software selbst kompielieren möchten noch zwei Downloads:
Um selbst die Software zu kompilieren braucht man (außer Qt) noch eine Library:
http://www.open.com.au/mikem/bcm2835/
Viel Spaß!