Raspberry Pi to mały i relatywnie niedrogi komputer http://www.raspberrypi.org/faqs,
który potrafi również emulować stacje dyskietek Atari.
Raspberry Pi posiada układ UART.
Żeby zbudować kabelek SIO2PI, potrzebny jest konwerter napieć 3.3V <-> 5V.
Istnieje do tego celu nawet gotowa płytka:
Logic Level Converter Sparkfun BOB-08745
http://www.sparkfun.com/products/8745
Wprawdzie procesor Raspberry Pi http://www.raspberrypi.org/wp-content/u … herals.pdf ma UART z Handshaking-iem, ale niestety twórcy Raspberry Pi nie uznali za stosowne udostępnić sygnał CTS na pinach GPIO http://elinux.org/RPi_Low-level_peripherals.
Znalazłem jednak rozwiązanie tego problemu.
Sygnał "Command" z SIO podpiąłem do jednego z pinów I/O Raspberry Pi i odpowiednio dopasowałem software (AspeQt).
Schemat kabelka SIO2PC w załączonym pliku sio2pi.jpg.
Atari 2 Level Converter
SIO 3 (data in) -->|--- TXO (Chan1) przez diodę (np. 1N5817) w kierunku od Atari do konwertera napięć
SIO 5 (data out) - RXI (Chan1)
SIO 10 (+5V) - HV
SIO 4 (gnd) - GND
SIO 7 (command) - RXI (Chan2)
Level Converter 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)
Żeby używać UART-u do naszych celów, trzeba na Raspberry Pi wprowadzić zmiany w dwóch plikach:
/boot/cmdline.txt
/etc/inittab
Dokładna instrukcja poniżej:
http://www.irrational.net/2012/04/19/us … rial-port/
Alternatywnie można użyć kabelka USB2Serial w połączeniu z kabelkiem SIO2PC.
Przetestowałem warianty z chipsetami FTDI i Prolific.
Wbudowany port szeregowy na Raspberry Pi to "/dev/ttyAMA0"
Z kolei USB2Serial dostępny jest jako "/dev/ttyUSB0".
Teraz potrzebny jest jeszcze software.
Przetestowałem Raspberry Pi z dwoma programami:
- sio2bsd autorstwa drac030 http://drac030.krap.pl/en-inne-pliki.php
- AspeQt autorstwa Fatih Aygün http://sourceforge.net/projects/aspeqt/
Pierwszy program nie używa sprzętowego Handshaking-u, więc obyło się bez zmian w kodzie.
Po dopasowaniu pliku Makefile mogłem bez problemu skompilować kod.
Za zgodą autora pozwoliłem sobie udostępnić tu wersję dla Raspberry Pi (załączony plik sio2bsd.tar.gz)
Z AspeQt było trochę więcej kłopotu.
Po pierwsze okno programu jest za duże jeśli korzysta się z Composite Video na Raspberry.
Dlatego zbudowałem dwie wersje:
- wersja z mniejszym oknem (emulacja 4 stacji dyskietek)
- pełna wersja (poznać ją po końcówce "_hd")
Dodatkowo od jakiegoś czasu dostępna jest nowa wersja (0.8.7) softu.
To również uwzględniłem i skompilowałem następujące wersje:
aspeqt_0.6
aspeqt_0.6_hd
aspeqt_0.8.7
aspeqt_0.8.7_hd
Stabilna wersja 0.6 uwzględnia poprawki Hias-a.
AspeQt jest do ściągnięcia jako załącznik AspeQt.tar.gz
Żeby dodać ikonę AspeQt na Desktop Raspberry Pi, należy do katalogu "Desktop" (/pi/home/Desktop) skopiować plik "AspeQt.Desktop".
Dla tych, którzy chcieliby samemu skompilować kod dodałem dwa załączniki: AspeQt_0.6_src.tar.gz i AspeQt_0.8.7_src.tar.gz.
Do skompilowania kodu potrzebna jest (oprócz Qt) jeszcze jedna biblioteka:
http://www.open.com.au/mikem/bcm2835/
Miłej zabawy!