Atari Super Turbo

From Atariki

(Przekierowano z AST)
Jump to: navigation, search

Pierwszy polski system turbo dla magnetofonów. Zaprojektował go Sławomir Nienałtowski (autor m.in. stacji SN-360), zainspirowany podobnymi rozwiązaniami dla komputerów Commodore 64 i ZX Spectrum. Prace rozpoczął pod koniec 1986 roku, w ciągu pół roku przygotowując prototypową wersję dla magnetofonu 1010, a później także dla XC12 i jego klonów. Pierwsza wersja systemu zaczęła być rozprowadzana w końcu 1987 roku. Sprzedawała go firma Atari Studio (późniejszy Mirage).

Spis treści

Oprogramowanie

AST był sprzedawany w kilku wersjach. W skład wersji podstawowej, oprócz przeróbki magnetofonu, wchodziła kaseta z oprogramowaniem do obsługi systemu, instrukcja obsługi tychże oraz kaseta z zestawem 16 gier w AST (zestawów było kilka). Na kasecie z oprogramowaniem znajdowało się 6 narzędzi:

  • Loader AST - służący do wczytywania programów w formacie AST
  • System operacyjny - program do uruchamiania, kopiowania i zamiany nazwy programów w formacie AST
  • Copy wyk - program do konwersji programów w formacie COM (czyli popularnych "wykrzykników") do formatu AST
  • Copy 1blok - program do konwersji jednoblokowych plików bootowalnych do formatu AST
  • Test - program do ustawiania skosu głowicy
  • AST BASIC - handler urządzenia T: pozwalający na zapis programów BASIC-owych w AST

Wersja dla bardziej zamożnych użytkowników zamiast kasety z programami użytkowymi zawierała cartridge "AST Utility". Prezentował on opcje do wyboru:

  1. Wyjście do systemu
  2. AST Loader - patrz wyżej
  3. BUT Loader - do wczytywania programów w formacie BUT
  4. BOT Loader - do wczytywania programów w formacie BOT
  5. AST BASIC - patrz wyżej
  6. AST Copy - patrz wyżej (System operacyjny)
  7. Wyk to AST Copy - patrz wyżej (Copy wyk)
  8. Unichanger

W późniejszym czasie zamiast AST Utility sprzedawany był AST Multi-Cartridge, na którym zawarty był bogatszy zestaw programów.

Programy użytkowe były w osobnych wersjach dla magnetofonów 1010 i XC12.

Atari Studio sprzedawało też gotowe zestawy gier w systemie AST. W studiu można też było zamówić kasetę z indywidualnie wybranym zestawem programów, które programiści z AS przerabiali na AST w razie potrzeby.

Formaty plików

Programy w turbo AST były zapisywane w jednym z 3 formatów: "AST", "BUT" i "BOT". Na kasetach rozprowadzanych przez Atari Studio obok każdego programu widniała nazwa formatu, w którym jest on zapisany.

AST

Najprostszy format "AST" służy do konwersji programów jednoblokowych (COM i BOOT). Przed wczytaniem programu należy wgrać wspomniany wyżej Loader AST. Plik w formacie AST ma zapisaną nazwę (do 20 znaków), która pojawia się na ekranie po wczytaniu 1 bloku. Naciśnięcie spacji powoduje kontynuację odczytu, natomiast Reset powoduje powrót do loadera.

BUT

Format "BUT" służy do konwersji programów wieloblokowych. Do wczytania programu potrzebny jest Loader BUT, dostępny na cartridge'u AST. Na kasetach rozprowadzanych przez Atari Studio loader BUT był nagrany przed programami, które go potrzebowały.

BOT

Format "BOT" służy do konwersji programów wieloczęściowych, w których poszczególne części są ładowane oddzielnie (np. gry z doczytywanymi poziomami). Do wczytania programu potrzebny jest Loader BOT, dostępny na cartridge'u AST. Na kasetach rozprowadzanych przez Atari Studio loader BOT był nagrany przed programami, które go potrzebowały.

Inne formaty

System AST jest kompatybilny sprzętowo z innymi systemami turbo, jak KSO Turbo 2000 - do wczytania programów zapisanych w Turbo 2000 wystarczy użyć specjalnego loadera. Na rynku dostępne były zestawy kaset z programami w systemie Turbo 2000, które zawierały loader AST-Turbo 2000 Converter autorstwa *Ajka.

Szczegóły techniczne

Montaż polega na instalacji płytki interfejsu wewnątrz magnetofonu oraz, w przypadku XC12, poprowadzeniu dodatkowego kabla z interfejsu do styku COMMAND w gnieździe SIO.

Podczas odczytu oprogramowanie AST uaktywnia linię COMMAND, co powoduje przełączenie magnetofonu w tryb turbo. Sygnał dźwiękowy jest teraz interpretowany przez magnetofon inaczej - na bicie 4 rejestru SKSTAT pojawia się 0 lub 1 w zależności od tego, czy zbocze sygnału dźwiękowego odpowiednio opada się lub wznosi (lub na odwrót). Standardowe oprogramowanie AST jest bardzo prymitywne - inaczej niż w Turbo Blizzard czy turbo 6000, podczas odczytu nie są używane żadne przerwania POKEY-a ani PIA.

Struktura nagrania (wersja dla XC12)

Opis na podstawie analizy sygnału z taśmy

Do zapisu wykorzystywana jest modulacja szerokości impulsu (PWM). Przez impuls rozumiana jest sekwencja stanów '1' i '0' (w tej kolejności) na linii danych portu szeregowego lub inaczej mówiąc sekwencja wysokiego i niskiego poziomu sygnału na taśmie (lub sekwencja zbocza narastającego i opadającego). Występują trzy rodzaje impulsów:

  • impulsy o szerokości 0.5 ms odpowiadające bitowi '1' i sygnałowi pilotującemu
  • impulsy o szerokości 0.25 ms odpowiadające bitowi '0'
  • impulsy o szerokości 1.5 ms odpowiadające sygnałowi 'stop'

Zapis jest podzielony na bloki. Każdy blok jest zbudowany podobnie i zawiera kolejno:

  • sygnał pilotujący trwający 5s dla pierwszego bloku nagrania i 2s dla bloków kolejnych
  • 1 impuls odpowiadający bitowi '0' oznaczający koniec sygnału pilotującego i poczatek danych
  • bajty danych; generalnie ich ilość jest różna w każdym bloku
  • 4 impulsy odpowiadające bitowi '0'
  • 128 impulsów sygnału 'stop'; razem z poprzednimi 4 impulsami oznacza koniec bloku

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

Format AST (i być może inne)

Nagranie zawiera co najmniej dwa bloki: blok informacyjny i jeden lub więcej bloków danych.

Blok nie zawiera specjalnego bajtu z sumą kontrolną, sumy kontrolne sa przechowywane w bloku informacyjnym (pierwszym bloku nagrania). Suma kontrolna obliczana jest przez wykonanie operacji XOR na wszystkich bajtach bloku.

Blok informacyjny ma 256 bajtów i zbudowany jest następująco:

Offset Długość Zawartość
0 1 Ilość bloków danych bez uwzględniania bloku informacyjnego (?)
1 1 ?? (co najmniej 2 możliwości: 1 - bajt dobrany tak, żeby suma kontrolna całego bloku informacyjnego wynosiła 0; 2 - ilość 4-bajtowych pozycji na dane dotyczące ładowania kolejnych bloków zwiększona o 3; do sprawdzenia)
2+n*4
n=0..43(?)
2 Adres ładowania kolejnych bloków (LSB, MSB) (pozycje nieużywane są losowe ?)
4+n*4
n=0..43(?)
2 Długość kolejnych bloków (LSB, MSB) (pozycje nieużywane są losowe ?)
178 2 ?
180 20 Nazwa programu zapisana przy użyciu kodów ekranowych (nie ASCII)
200 44 (?) Sumy kontrolne kolejnych bloków poczynając od bloku informacyjnego. Suma kontrolna bloku informacyjnego zawsze wynosi 0 (odpowiada za to któryś, odpowiednio dobrany, bajt w tym bloku) (pozycje nieużywane są losowe ?)
244 12 ??


Bloki danych nie zawieraja niczego oprócz samych, czystych danych.

Bibliografia

Zobacz też

Odnośniki zewnętrzne

Personal tools