KSO Turbo 2000

From Atariki

Jump to: navigation, search

Jedna z odmian systemu turbo do magnetofonów Atari. Po przeróbce magnetofon potrafił odczytywać/zapisywać programy ze zwiększoną prędkością (różną w różnych odmianach turbo), przez co szybciej się one wczytywały i więcej mogło się zmieścić na kasecie. Przeróbka polegała zazwyczaj na dodaniu małej płytki drukowanej do magnetofonu i podciągnięcie do niej napięcia 5V za pomocą dodatkowego kabla (zazwyczaj drugi port Joysticka lub z gniazda SIO - zależnie od przeróbki. Niektóre magnetofony miały poprowadzony odpowiedni kabelek już w standardowym przewodzie od SIO).

Spis treści

Nazewnictwo

Nazwa KSO to nic innego jak skrót od pierwszych wyrazów nazwy: Kasetowy System Operacyjny (zresztą w pierwszych wersjach spotyka się w menu pełną nazwę), Turbo oznaczało zwiększoną prędkość transmisji.

Technikalia, obsługa

W większości przypadków systemy turbo oprócz przyspieszenia transmisja od<=>do magnetofonu oferowało namiastkę DOSu: wyświetlanie nazw plików, możliwość uruchamiania plików wieloblokowych (wraz z powrotem do wcześniejszych bloków), uruchomienie wbudowanego Basica itp. Standardowo zmieniało też nazwę magnetofonu na D: (w nawiązaniu do stacji dyskietek, blokując dostęp do tych ostatnich). W późniejszych systemach można było spotkać nazwę T: (od "turbo") zamiast D:.

Standardowa obsługa wygląda tak:

 Uruchomienie komputera: BASIC (T/N) ==> Wybór, czy mamy używać Atari Basic czy nie
 R/L/E Load&Run/Load/Exit            ==> Wyświetlane menu systemu,wybór:
                   ==>R - wgraj i uruchom
                   ==>L - tylko wgraj
                   ==>E - wyjście (zimny start) - w KSO 2000
 Wgranie programu: R D:nazwa         ==> wgrywa i uruchamia program o podanej nazwie
                   R D: *            ==> wgranie nagłówka (tytułu) programu, i:
                  -> wczytanie programu i jego uruchomienie po naciśnięciu klawisza T
                  -> poszukiwanie kolejnego nagłówka po naciśnięciu N (lub dowolnego klawisza)
                   R D***            ==> wczytanie i uruchomienie pierwszego napotkanego programu
                   W Basicu: zgodnie z instrukcjami Basica dla stacji dysków D: (gwiazdki
                             obowiązują jak powyżej)

Niektóre programy wymagały specjalnych plików nagłówkowych zawartych w tzw. loaderze. Najpopularniejsze z nich to: L1, L2 i WIELOBLOK (dla KSO Turbo 2000).

Struktura nagrania

Opis na podstawie analizy sygnału nagranego na taśmie

Nośnikiem informacji jest szerokość impulsu (modulacja PWM). Przez impuls jest rozumiana sekwencja stanów "0" i "1" (w tej kolejności) na linii danych portu szeregowego, lub innymi słowy sekwencja niskiego i wysokiego poziomu sygnału zapisu magnetofonowego (lub raczej sekwencja opadającego i narastającego zbocza sygnału - tu kolejność powinien zweryfikować ktoś biegły w elektronice).

Kształt fali sygnału odczytanego z taśmy przypomina sinusoidę, choć zapewne jest to tylko efekt wygładzenia przebiegu prostokątnego przez elektronikę dyskretną (analogową).

W KSO Turbo 2000 występują impulsy o trzech szerokościach:

  • impulsy o szerokości 1 ms służace do zapisu sygnału pilotującego
  • impulsy o szerokości 0.5 ms (1/2 szerokości impulsu sygnału pilotującego) kodują bit "1"
  • impulsy o szerokości 0.25 ms (1/4 szerokości impulsu sygnału pilotującego) kodują bit "0"

Format standardowy

Pojedyncze nagranie ("plik") zapisywane jest w 2 lub więcej blokach danych. Pierwszy blok to blok nazwy, następne zawierają właściwe dane.

W bloku nazwy kolejno występują:

  • 4096 impulsów sygnału pilotującego
  • 2 bajty o wartościach $00 i $FF (odróżniające blok nazwy od bloku danych)
  • 10 bajtów z nazwą "pliku"; jeżeli nazwa jest krótsza to dopełnia się ją spacjami
  • 1 bajt sumy kontrolnej

Blok danych składa się z:

  • około 3904 impulsów sygnału pilotującego (ze względu na zawsze występujące szumy nie udaje się uzyskać jednoznacznej liczby, jest to jednak dość blisko wartości 4096-192; przed blokiem nazwy prawie zawsze udaje się wykryć wszystkie 4096).
  • 2 bajty długości bloku (zapisane w porządku little endian); $1200 dla bloków pełnych lub mniej dla bloków niepełnych
  • 3072 bajty danych; jeżeli blok jest niepełny, to dopełnia się go zerami
  • 1 bajt sumy kontrolnej

Bity w bajcie są zapisywane w kolejności od najstarszego do najmłodszego.

Jednobajtowa suma kontrolna jest obliczana przez dodawanie bez przeniesienia (czyli modulo 256). Przy obliczaniu sumowane są zawsze wszystkie bajty w bloku.

Czasem kontrola poprawności danych była realizowana przez wykonanie operacji XOR na wszystkich bajtach bloku (łącznie z bajtem sumy kontrolnej powinno wyjść 0). Najprawdopodobniej była to jedna z form zabezpieczeń przed kopiowaniem oryginalnych kaset w formacie Turbo 2000.

Długości przerw między blokami zawsze wynoszą 0.2 s. Ze względu na bardzo dużą długość sygnału pilotującego zostawianie dłuższych przerw wydaje się zbędne.

Formaty niestandardowe

Zapis z zabezpieczeniami

Notatka sporządzona na podstawie informacji uzyskanych od Pajero

Najczęstszymi modyfikacjami było wprowadzanie rekordów (bloków) o niestandardowej długości. Bez specjalnych zabiegów takich nagrań nie można było skopiować standardowym oprogramowaniem.

Inna modyfikacja to rekordy z błędną sumą kontrolną (ewentualnie sumą kontrolną liczoną inaczej - patrz wyżej) lub zniekształceniami sygnału powodującymi wystąpienie błędu przy próbie kopiowania (odpowiedni loader przerywa odczyt przed wystąpieniem błędu).

"Nowy format" (Turbo 2000F+)

Blok nazwy wygląda tak samo jak w oryginalnym formacie Turbo 2000. Za blokiem nazwy znajduje się jeden standardowy blok danych w formacie Turbo 2000. Blok ten zawiera program ładujący, który przejmuje kontrolę nad wczytywaniem właściwego programu. Następny blok poprzedzony jest 3584 impulsami sygnału pilotującego i ma 8 bajtów:

  • 2 bajty $FF
  • 2 bajty określające adres początku ładowania następnego bloku danych
  • 2 bajty określające adres końca ładowania następnego bloku danych
  • 1 bajt sumy kontrolnej
  • 1 bajt zerowy

Za nim znajduje się:

  • kilka-kilkanaście impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu)
  • bajty danych
  • 1 bajt sumy kontrolnej
  • jeden bajt zerowy

Kolejne pary bloków danych wyglądają podobnie:

  • kilka-kilknaście impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu) lub 768 impulsów jeżeli poprzedni blok był ładowany pod adres INITAD ($02E2)
  • 2 bajty określające adres początku ładowania następnego bloku danych
  • 2 bajty określające adres końca ładowania następnego bloku danych
  • 1 bajt sumy kontrolnej
  • 1 bajt zerowy
  • kilka-kilknaście impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu)
  • bajty danych
  • 1 bajt sumy kontrolnej
  • 1 bajt zerowy

Plik kończy się blokiem złożonym z 4 bajtów $FF, sumy kontrolnej ($FC) i bajtu $00.

Przerwa (cisza ok. 0.5 s) pojawia się tylko bezpośrenio za blokiem nazwy, poza tym bloki danych są rozdzielane jedynie impulsami sygnału pilotującego.

Speedy 2007 (lub *AJEK)

Blok nazwy wygląda tak samo jak w oryginalnym formacie Turbo 2000. Za blokiem nazwy znajduje się jeden standardowy blok danych w formacie Turbo 2000. Blok ten zawiera program ładujący, który przejmuje kontrolę nad wczytywaniem właściwego programu. Kolejne bloki danych rozpoczynają się 1536 impulsami sygnału pilotującego, nie mają ściśle określonej długości i zawierają grupy bajtów (bez żadnych przerw między nimi) o następującej budowie:

  • 2 bajty określające adres początku ładowania
  • 2 bajty określające adres końca ładowania
  • 1 bajt sumy kontrolnej

Blok danych kończy jedna z dwóch sekwencji:

  • grupa danych ładowana do INITAD ($02E2-$02E3) - po załadowaniu wykonanywany jest podprogram inicjujący pod adresem umieszczonym w INITAD, silnik magnetofonu jest zatrzymywany, potrzebny jest dodatkowy czas przed dalszym odczytem
  • dwa bajty $FF - oznacza to koniec pliku

Pomiędzy blokami, poza impulsami sygnału pilotującego, nie ma żadnych przerw.

Inne spotykane systemy turbo serii 2000 to

  • Turbo 2600
  • Turbo 2001 (TOMS)
  • Turbo 2002
  • Turbo 2000 Plus
  • Turbo 2000 F (+)

Bibliografia

Zobacz też


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools