Temat: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

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!

Ostatnio edytowany przez Montezuma (2013-02-20 22:00:03)

Post's attachments

AspeQt.tar.gz 1.7 mb, liczba pobrań: 6 (od 2013-02-16) 

AspeQt_0.6_src.tar.gz 766.12 kb, liczba pobrań: 3 (od 2013-02-16) 

AspeQt_0.8.7_src.tar.gz 1.85 mb, liczba pobrań: 3 (od 2013-02-16) 

sio2bsd.tar.gz 66.63 kb, liczba pobrań: 3 (od 2013-02-16) 

sio2pi.jpg 181.05 kb, liczba pobrań: 3 (od 2013-02-16) 

Tylko zalogowani mogą pobierać załączniki.
ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3

2

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Do pełni szczęścia brakuje jeszcze przeportowania tego do RISC OS'a :)

"tatusiu zobacz, narysowałam tobie takie same coś jak na twojej koszulce" 
https://github.com/willyvmm/mouSTer
jmp $e477

3

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

A tak. Zapomniałem dodać, że opis dotyczy standardowego OS dla RPi, czyli Raspbian “wheezy” (Linux Debian):
http://www.raspberrypi.org/downloads

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3

4

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

To jeszcze żeby AtariSIO Hiasa na tym się dało odpalić z oboma funkcjonalnościami...
Ja na stacjonarnym poległem na prędkościach turbo i brakło czasu na dalsze zabawy.

5

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Z AspeQt (i standardowym "Backend"-em) uzyskałem potrójną prędkość (57600).
Hias jest jeszcze dość zajęty pracą nad Freezer-em, ale pisałem już do niego w sprawie RPi.
Jest nadzieja, ponieważ Hias zakupił sobie 2 egzemplarze Raspberry Pi.
Z tym, że port AtariSIO oznacza przepisanie driver-a, z uwagi na inny UART i przekompilowanie jądra, a więc specjalny image dla RPi. Poczekamy, zobaczymy - może mój post na forum Abbuc-a zmobilizuje go trochę do tego :)

Ostatnio edytowany przez Montezuma (2013-02-17 20:29:50)

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3

6

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Super.
Ja uzywam Raspberry Pi jako maly media center, ale widac ze czas podlaczyc tez cos do niego :)

Dzieki

7

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Mały update z ostatniego "zlotu" w Elmshorn:

125kbit/sec (divisor 0) ze standardowym backend-em i adapterem usb2serial FTDI (/dev/ttyUSB0)

Raczej satysfakcjonujący wynik :)
Przy okazji zauważyłem, że żeby skorzystać z nowych funkcji AspeQt 0.8.7 ("Folder boot options") trzeba umieścić w katalogu AspeQt kilka katalogów (z zawartością), które można skopiować z wersji Windowsowej, więc ich tu nie wrzucam:
$bootata
$bootmyd
$bootpic
$bootspa

A dla wbudowanego portu szeregowego też znalezliśmy zastosowanie.
Użyliśmy Atari jako terminala (testowaliśmy ICE-T i Bobterm) i zalogowaliśmy się na RPi, s stamtąc używając TELNET-u połączyliśmy się z BBS-em.

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3

8

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Maly update zwiazany z Debian Jessie:
1) Tutaj o instalacji RespeQt na RPI: http://atariage.com/forums/topic/248789 … try3446620
2) Tu o RespeQt na RPI i komunikacji po Bluetooth: http://atariage.com/forums/topic/228860 … try3446687
3) Tu o uzyciu ATARI jako terminala to RPI (mozliwa zdalna praca i odwiedzanie BBS-ow za pomoca clienta TELNET): http://atariage.com/forums/topic/249426 … try3446665

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3

9

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Fajny projekt.
Czy zadziała to na Pi Zero? Czy zamiast Bluetooth można wykorzystać WiFi i udostępnianie katalogów?

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

10

Odp: SIO2PI, czyli Raspberry Pi jako stacja dyskietek do Atari

Na Pi Zero powinno zadzialac, ale testowalem tylko na RPI 1 i 2.
Do komunikacji z Atari tylko kabel, albo Bluetooth, natomiast Wi-Fi mozna wykorzystac do udostepniania malince katalogow z innego kompa.

ATARI 65XE + SIO2BT
http://atari.pl/hsc/ad.php?i=22.3