SIO2BSD

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 13:03, 6 sie 2011
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 13:20, 6 sie 2011
KMK (Dyskusja | wkład)
(Obsługa)
Next diff →
Linia 56: Linia 56:
* -l - włącza dodatkowe komunikaty wyświetlane na konsoli (przydatne przy debugowaniu programu) * -l - włącza dodatkowe komunikaty wyświetlane na konsoli (przydatne przy debugowaniu programu)
* -s nazwa - podaje nazwę pliku portu szeregowego inną niż domyślna (np. /dev/ttyS0) * -s nazwa - podaje nazwę pliku portu szeregowego inną niż domyślna (np. /dev/ttyS0)
 +* -b n - ustawia prędkość transmisji na 19200*n. Dopuszczalne wartości 'n': 1, 2, 3, 4 (tylko FreeBSD), 6 i wartość specjalna 0 dostępna tylko na Linuksie (patrz niżej)
* -p nazwa - podaje nazwę pliku, do którego mają zostać przekierowane dane zapisywane przez Atari na drukarkę * -p nazwa - podaje nazwę pliku, do którego mają zostać przekierowane dane zapisywane przez Atari na drukarkę
* -t - włącza translację ATASCII->ASCII dla drukarki * -t - włącza translację ATASCII->ASCII dla drukarki
* -u - serwer plików będzie "widział" tylko pliki z nazwami zapisanymi dużymi literami (od ang. uppercase) * -u - serwer plików będzie "widział" tylko pliki z nazwami zapisanymi dużymi literami (od ang. uppercase)
 +
 +Opcje dostępne tylko na Linuksie:
 +
 +* -i n - ustawia HS Index na wartość 'n'. Uaktywnienie tej opcji wymaga też podania "-b 0"
 +* -q hz - częstotliwość zegara wejściowego do obliczenia szybkości transmisji. Dopuszczalne wartości:
 +** pal - wybiera 1773447 Hz
 +** ntsc - wybiera 1789790 Hz
 +** ntscf - wybiera 1789772.5 Hz
 +** brak parametru to uśredniona częstotliwość PAL i NTSC, 1781610 Hz
== Download == == Download ==

Wersja z dnia 13:20, 6 sie 2011

Program umożliwiający wykorzystanie PC jako wirtualnych stacji dysków do Atari, działający na platformach unixopodobnych (BSD, Linux). Napisany zasadniczo dla FreeBSD. Korzysta z kabla SIO2PC. Autorem jest KMK, przy programie współpracowali lub współpracują również mikey i mono.

Spis treści

Emulacja stacji dysków

FreeBSD

Obecna wersja pozwala na otwieranie plików ATR oraz uzyskanie stabilnych zapisów i odczytów z prędkością 57600 bps przy zastosowaniu protokołu UltraSpeed (standardowe 19200 oczywiście również jest obsługiwane), co wypraktykowano na następującym zestawie:

  • notebook Toshiba Satellite, 1200 MHz
  • konwerter COM2USB z układem FTDI
  • FreeBSD 6.x

Maksymalna szybkość transmisji może być uzależniona od marki (czyli jakości) konwertera COM2USB. Na przykład konwertery Prolific nie pozwalają uzyskać transmisji szybszej niż 38400 bps.

Uwaga: jeśli są problemy ze stabilnością transmisji, to pomóc może podniesienie częstotliwości głównego zegara schedulera. Dla FreeBSD należy zmienić ustawienie sysctl kern.hz (u autora ma wartość 1600 Hz).

Linux

Linux pozwala na dokładniejszą kontrolę parametrów transmisji po stronie PC, w szczególności jest możliwe ustawienie dowolnej szybkości przesyłania danych, a tym samym dostrojenie jej do aktualnego HS Index układu POKEY. W ten sposób można na SIO2BSD uzyskać transfery do 126 kbps (przy HS Index równym 0). Autorem odpowiednich modyfikacji w kodzie SIO2BSD jest mono.

Uwaga: jeśli są problemy ze stabilnością transmisji, to pomóc może, jak powyżej, podniesienie częstotliwości głównego zegara schedulera. W Linuxie trzeba przekompilować jądro z ustawieniami CONFIG_HZ_1000=y oraz CONFIG_HZ=1000 (opcja "Timer frequency" w menu "Processor type and features" podczas konfiguracji w menuconfig).

Emulacja drukarki

Program opcjonalnie emuluje też drukarkę (tzn. urządzenie "P:" CIO) pozwalając przesłać dane, wysłane przez Atari na drukarkę, do wskazanego pliku (lub urządzenia), z translacją ATASCII->ASCII lub bez.

Odczyt czasu i daty

Obsługiwany jest też protokół odczytu czasu APE Time - program APETIME.COM powinien działać bez problemu. W archiwum SIO2BSD znajduje się program APETIME.SYS przeznaczone dla SpartaDOS X, umożliwiające ustawienie bieżącego czasu i daty przy starcie systemu, jeśli brak jest sprzętowego zegarka (np. R-Time 8).

Serwer plików

Od wersji 1.06 program może działać jako serwer plików dla Atari. Wykorzystuje do tego protokół DOS2DOS. Sterownik dla Atari (konkretnie dla SpartaDOS X 4.4) jest dostępny w dystrybucji SpartaDOS X od wersji 4.43 (w Tookicie).

Inne

Dodatkowo program, uruchomiony jako mkatr, potrafi tworzyć pliki ATR o zadanych parametrach (w tym też w gęstości DD 512).

Instalacja

Po rozpakowaniu programu w ustronnym miejscu należy wykonać cd do katalogu z rozpakowanymi plikami, a następnie wydać komendę gmake install z poziomu konta administratora. Gotowy plik binarny zostanie wkopiowany do katalogu /usr/local/bin

Obsługa

SIO2BSD jest programem przeznaczonym do uruchomienia z konsoli. Parametry pracy użytkownik przekazuje w linii poleceń, np.

sio2bsd siala.atr baba.atr mak.atr

spowoduje przypisanie podanych plików ATR do napędów D1-D3. Gdy zachodzi potrzeba pominięcia napędu, należy zamiast nazwy pliku ATR podać znak "-" (minus), np.:

sio2bsd siala.atr - baba.atr mak.atr

Teraz pierwszy plik zostanie przypisany do D1, dwa ostatnie do D3 i D4, a D2 pozostanie wolne.

Żeby uaktywnić serwer plików, należy mu podać specyfikację katalogu:

sio2bsd siala.atr baba.atr mak

W tym przykładzie pliki ATR zostaną, jak wyżej, przypisane do D1 i D2, natomiast katalog mak - do pierwszego urządzenia plikowego (pod SpartaDOS X będzie to "PCL1:").

Ponadto dostępne są następujące opcje:

  • -l - włącza dodatkowe komunikaty wyświetlane na konsoli (przydatne przy debugowaniu programu)
  • -s nazwa - podaje nazwę pliku portu szeregowego inną niż domyślna (np. /dev/ttyS0)
  • -b n - ustawia prędkość transmisji na 19200*n. Dopuszczalne wartości 'n': 1, 2, 3, 4 (tylko FreeBSD), 6 i wartość specjalna 0 dostępna tylko na Linuksie (patrz niżej)
  • -p nazwa - podaje nazwę pliku, do którego mają zostać przekierowane dane zapisywane przez Atari na drukarkę
  • -t - włącza translację ATASCII->ASCII dla drukarki
  • -u - serwer plików będzie "widział" tylko pliki z nazwami zapisanymi dużymi literami (od ang. uppercase)

Opcje dostępne tylko na Linuksie:

  • -i n - ustawia HS Index na wartość 'n'. Uaktywnienie tej opcji wymaga też podania "-b 0"
  • -q hz - częstotliwość zegara wejściowego do obliczenia szybkości transmisji. Dopuszczalne wartości:
    • pal - wybiera 1773447 Hz
    • ntsc - wybiera 1789790 Hz
    • ntscf - wybiera 1789772.5 Hz
    • brak parametru to uśredniona częstotliwość PAL i NTSC, 1781610 Hz

Download

Personal tools