KSO Turbo 2000
From Atariki
| Wersja z dnia 22:05, 24 maj 2017 Seban (Dyskusja | wkład) (zmiana opisu dotycząca funkcji pełnionych przez dokładaną płytkę.) ← Previous diff  | 
				Wersja z dnia 17:33, 3 cze 2021 Seban (Dyskusja | wkład) (poprawka nazwy dla *AJEK/Speedy 2700, plus parę innych drobiazgów.) Next diff →  | 
			||
| Linia 1: | Linia 1: | ||
| - | 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 na dodaniu małej płytki drukowanej do magnetofonu która zawierała niezależny (od tego wbudowanego w magnetofon) tor odczytu i zapisu przeznaczony dla przetwarzania sygnałów w systemie Turbo. Sygnały był przesyłany przez dodatkowy kabel podłączany do drugiego portu Joysticka. Sygnały przesyłane do/z komputera to; zapis, odczyt oraz sterowanie silnikiem magnetofonu. Sterowanie zapisem, odczytem oraz włączanie i wyłączanie silnika magnetofonu w przypadku obsługi systemu turbo odbywało się poprzez sterowanie odpowiednimi bitami [[Rejestry PIA#PORTA|PORTA ($D300)]] układu [[PIA]]. Gdy magnetofon pracował w systemie turbo z gniazda [[Gniazdo_SIO|SIO]] było pobierane tylko zasilanie. | + | {{grafr|Kso2000.gif}} | 
| + | Jedna z odmian systemu turbo do magnetofonów [[Atari]]. Bazująca na wcześniejszym rozwiązaniu opracowanym przez Wojciecha Zabołotnego i nazwana [[Turbo 2T06]]. 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 na dodaniu małej płytki drukowanej do magnetofonu która zawierała niezależny (od tego wbudowanego w magnetofon) tor odczytu i zapisu przeznaczony dla przetwarzania sygnałów w systemie Turbo. Sygnały był przesyłany przez dodatkowy kabel podłączany do drugiego portu Joysticka (jest to następstwo wynikające z tego, iż system bazował na Turbo 2T06, które pierwotnie było przeznaczone do połączenia dowolnego klasycznego magnetofonu do komputera). Sygnały przesyłane do/z komputera to; zapis, odczyt oraz sterowanie silnikiem magnetofonu. Sterowanie zapisem, odczytem oraz włączanie i wyłączanie silnika magnetofonu w przypadku obsługi systemu turbo odbywało się poprzez sterowanie odpowiednimi bitami [[Rejestry PIA#PORTA|PORTA ($D300)]] układu [[PIA]]. Gdy magnetofon pracował w systemie turbo z gniazda [[Gniazdo_SIO|SIO]] było pobierane tylko zasilanie. | ||
| == Nazewnictwo == | == Nazewnictwo == | ||
| - | Nazwa KSO to nic innego jak skrót od pierwszych wyrazów nazwy: '''K'''asetowy '''S'''ystem '''O'''peracyjny (zresztą w pierwszych wersjach spotyka się w menu pełną nazwę), Turbo oznaczało zwiększoną prędkość transmisji. | + | Nazwa K.S.O. to nic innego jak skrót od pierwszych wyrazów nazwy: '''K'''asetowy '''S'''ystem '''O'''peracyjny (zresztą w pierwszych wersjach spotyka się w menu pełną nazwę), Turbo oznaczało zwiększoną prędkość transmisji. | 
| == Technikalia, obsługa == | == Technikalia, obsługa == | ||
| - | W większości przypadków systemy turbo oprócz przyspieszenia transmisja od<=>do magnetofonu oferowało namiastkę [[DOS]]u: 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:. | + | W większości przypadków systemy turbo oprócz przyspieszenia transmisja od<=>do magnetofonu oferowało namiastkę [[DOS]]u: wyświetlanie nazw plików, możliwość uruchamiania plików wielo-blokowych (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: | Standardowa obsługa wygląda tak: | ||
| Linia 13: | Linia 14: | ||
| ==>R - wgraj i uruchom | ==>R - wgraj i uruchom | ||
| ==>L - tylko wgraj | ==>L - tylko wgraj | ||
| - | ==>E - wyjście (zimny start) - w KSO 2000 | + | ==>E - wyjście (zimny start) - w K.S.O. 2000 | 
| Wgranie programu: R D:nazwa ==> wgrywa i uruchamia program o podanej nazwie | Wgranie programu: R D:nazwa ==> wgrywa i uruchamia program o podanej nazwie | ||
| R D: * ==> wgranie nagłówka (tytułu) programu, i: | R D: * ==> wgranie nagłówka (tytułu) programu, i: | ||
| Linia 22: | Linia 23: | ||
| obowiązują jak powyżej) | obowiązują jak powyżej) | ||
| - | Niektóre programy wymagały specjalnych plików nagłówkowych zawartych w tzw. [[loader|loaderze]]. Najpopularniejsze z nich to: L1, L2 i WIELOBLOK (dla KSO Turbo 2000). | + | Niektóre programy wymagały specjalnych programów ładujących. Najpopularniejsze z nich to: L1, L2 i "WIELOBLOK" (dla K.S.O. Turbo 2000). Te dodatkowe programy ładujący były potrzebne gdy następował konflikt obszarów adresowych, tzn. np. program do załadowania chciał umiejscowić się w tym samym obszarze co Kasetowy System Operacyjny. Czasami niektóre z ładowanych programów wymagały innego sposobu uruchomienia (np. nie posiadały segmentu RUN) i owe programy ładujące po prostu inaczej traktowały te wielo-segmentowe [http://atariki.krap.pl/index.php/Binarny_plik_DOS-u pliki binarne DOS]. | 
| ==Struktura nagrania== | ==Struktura nagrania== | ||
| Linia 31: | Linia 32: | ||
| 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ą). | 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: | + | W K.S.O. 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 1 ms służące 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.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" | * impulsy o szerokości 0.25 ms (1/4 szerokości impulsu sygnału pilotującego) kodują bit "0" | ||
| Linia 47: | Linia 48: | ||
| Blok danych składa się z: | 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)''. | * 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 | + | * 2 bajty długości bloku (zapisane w porządku [https://pl.wikipedia.org/wiki/Kolejno%C5%9B%C4%87_bajt%C3%B3w 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 | * 3072 bajty danych; jeżeli blok jest niepełny, to dopełnia się go zerami | ||
| * 1 bajt sumy kontrolnej | * 1 bajt sumy kontrolnej | ||
| Linia 53: | Linia 54: | ||
| Bity w bajcie są zapisywane w kolejności od najstarszego do najmłodszego. | 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. | + | Jedno-bajtowa 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. | 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. | ||
| Linia 84: | Linia 85: | ||
| Kolejne pary bloków danych wyglądają podobnie: | 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) | + | * od kliku do kilkunastu 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 początku ładowania następnego bloku danych | ||
| * 2 bajty określające adres końca ładowania następnego bloku danych | * 2 bajty określające adres końca ładowania następnego bloku danych | ||
| * 1 bajt sumy kontrolnej | * 1 bajt sumy kontrolnej | ||
| * 1 bajt zerowy | * 1 bajt zerowy | ||
| - | * kilka-kilknaście impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu) | + | * od kliku do kilkunastu impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu) | 
| * bajty danych | * bajty danych | ||
| * 1 bajt sumy kontrolnej | * 1 bajt sumy kontrolnej | ||
| Linia 96: | Linia 97: | ||
| Plik kończy się blokiem złożonym z 4 bajtów $FF, sumy kontrolnej ($FC) i bajtu $00. | 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. | + | Przerwa (cisza ok. 0.5 s) pojawia się tylko bezpośrednio za blokiem nazwy, poza tym bloki danych są rozdzielane jedynie impulsami sygnału pilotującego. | 
| - | + | ||
| - | ====Speedy 2007 (lub *AJEK)==== | + | |
| + | {{grafr|Speedy2700_ajek.png}} | ||
| + | ====Speedy 2700 (lub *AJEK)==== | ||
| Blok nazwy wygląda tak samo jak w oryginalnym formacie Turbo 2000. | 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: | 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: | ||
Wersja z dnia 17:33, 3 cze 2021
Jedna z odmian systemu turbo do magnetofonów Atari. Bazująca na wcześniejszym rozwiązaniu opracowanym przez Wojciecha Zabołotnego i nazwana Turbo 2T06. 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 na dodaniu małej płytki drukowanej do magnetofonu która zawierała niezależny (od tego wbudowanego w magnetofon) tor odczytu i zapisu przeznaczony dla przetwarzania sygnałów w systemie Turbo. Sygnały był przesyłany przez dodatkowy kabel podłączany do drugiego portu Joysticka (jest to następstwo wynikające z tego, iż system bazował na Turbo 2T06, które pierwotnie było przeznaczone do połączenia dowolnego klasycznego magnetofonu do komputera). Sygnały przesyłane do/z komputera to; zapis, odczyt oraz sterowanie silnikiem magnetofonu. Sterowanie zapisem, odczytem oraz włączanie i wyłączanie silnika magnetofonu w przypadku obsługi systemu turbo odbywało się poprzez sterowanie odpowiednimi bitami PORTA ($D300) układu PIA. Gdy magnetofon pracował w systemie turbo z gniazda SIO było pobierane tylko zasilanie.
Spis treści | 
Nazewnictwo
Nazwa K.S.O. 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 wielo-blokowych (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 K.S.O. 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 programów ładujących. Najpopularniejsze z nich to: L1, L2 i "WIELOBLOK" (dla K.S.O. Turbo 2000). Te dodatkowe programy ładujący były potrzebne gdy następował konflikt obszarów adresowych, tzn. np. program do załadowania chciał umiejscowić się w tym samym obszarze co Kasetowy System Operacyjny. Czasami niektóre z ładowanych programów wymagały innego sposobu uruchomienia (np. nie posiadały segmentu RUN) i owe programy ładujące po prostu inaczej traktowały te wielo-segmentowe pliki binarne DOS.
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 K.S.O. Turbo 2000 występują impulsy o trzech szerokościach:
- impulsy o szerokości 1 ms służące 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.
Jedno-bajtowa 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:
- od kliku do kilkunastu 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
 - od kliku do kilkunastu 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średnio za blokiem nazwy, poza tym bloki danych są rozdzielane jedynie impulsami sygnału pilotującego.
Speedy 2700 (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
- Instrukcja obsługi KSO TURBO 2000
 - Robert Rogowski, Wojciech Zientara, "Turbo 2000". Bajtek 8/1989 (w Atarionline.pl), s. 6
 
Zobacz też
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.


