<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=KSO_Turbo_2000</id>
	<title>KSO Turbo 2000 - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=KSO_Turbo_2000"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=KSO_Turbo_2000&amp;action=history"/>
	<updated>2026-10-03T01:03:29Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=KSO_Turbo_2000&amp;diff=2518&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=KSO_Turbo_2000&amp;diff=2518&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Kso2000.gif]]&lt;br /&gt;
&lt;br /&gt;
Jedna z odmian systemu turbo do magnetofonów [[Atari]], bazująca na wcześniejszym rozwiązaniu opracowanym przez Wojciecha Zabołotnego o nazwie [[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.&lt;br /&gt;
&lt;br /&gt;
== Nazewnictwo ==&lt;br /&gt;
&lt;br /&gt;
Nazwa K.S.O. to nic innego jak skrót od pierwszych wyrazów nazwy: &amp;#039;&amp;#039;&amp;#039;K&amp;#039;&amp;#039;&amp;#039;asetowy &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;ystem &amp;#039;&amp;#039;&amp;#039;O&amp;#039;&amp;#039;&amp;#039;peracyjny (zresztą w pierwszych wersjach spotyka się w menu pełną nazwę), Turbo oznaczało zwiększoną prędkość transmisji.&lt;br /&gt;
&lt;br /&gt;
== Technikalia, obsługa ==&lt;br /&gt;
&lt;br /&gt;
W większości przypadków systemy turbo oprócz przyspieszenia transmisja od&amp;lt;=&amp;gt;do magnetofonu oferowało  namiastkę [[DOS|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 &amp;quot;turbo&amp;quot;) zamiast D:.&lt;br /&gt;
&lt;br /&gt;
Standardowa obsługa wygląda tak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; Uruchomienie komputera: BASIC (T/N) ==&amp;amp;gt; Wybór, czy mamy używać Atari Basic czy nie&lt;br /&gt;
 R/L/E Load&amp;amp;amp;Run/Load/Exit            ==&amp;amp;gt; Wyświetlane menu systemu,wybór:&lt;br /&gt;
                   ==&amp;amp;gt;R - wgraj i uruchom&lt;br /&gt;
                   ==&amp;amp;gt;L - tylko wgraj&lt;br /&gt;
                   ==&amp;amp;gt;E - wyjście (zimny start) - w K.S.O. 2000&lt;br /&gt;
 Wgranie programu: R D:nazwa         ==&amp;amp;gt; wgrywa i uruchamia program o podanej nazwie&lt;br /&gt;
                   R D: *            ==&amp;amp;gt; wgranie nagłówka (tytułu) programu, i:&lt;br /&gt;
                  -&amp;amp;gt; wczytanie programu i jego uruchomienie po naciśnięciu klawisza T&lt;br /&gt;
                  -&amp;amp;gt; poszukiwanie kolejnego nagłówka po naciśnięciu N (lub dowolnego klawisza)&lt;br /&gt;
                   R D***            ==&amp;amp;gt; wczytanie i uruchomienie pierwszego napotkanego programu&lt;br /&gt;
                   W Basicu: zgodnie z instrukcjami Basica dla stacji dysków D: (gwiazdki&lt;br /&gt;
                             obowiązują jak powyżej)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Niektóre programy wymagały specjalnych programów ładujących. Najpopularniejsze z nich to: L1, L2 i &amp;quot;WIELOBLOK&amp;quot; (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 [[Binarny plik DOS-u pliki binarne DOS|Binarny_plik_DOS-u pliki binarne DOS]].&lt;br /&gt;
&lt;br /&gt;
== Struktura nagrania ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Opis na podstawie analizy sygnału nagranego na taśmie&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Nośnikiem informacji jest szerokość impulsu (modulacja [http://pl.wikipedia.org/wiki/Pulse_Width_Modulation PWM]). Przez impuls jest rozumiana sekwencja stanów &amp;quot;0&amp;quot; i &amp;quot;1&amp;quot; (w tej kolejności) na linii danych portu szeregowego, lub innymi słowy sekwencja niskiego i wysokiego poziomu sygnału zapisu magnetofonowego &amp;#039;&amp;#039;(lub raczej sekwencja opadającego i narastającego zbocza sygnału - tu kolejność powinien zweryfikować ktoś biegły w elektronice)&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
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ą).&lt;br /&gt;
&lt;br /&gt;
W K.S.O. Turbo 2000 występują impulsy o trzech szerokościach:&lt;br /&gt;
&lt;br /&gt;
* impulsy o szerokości 1 ms służące do zapisu sygnału pilotującego&lt;br /&gt;
* impulsy o szerokości 0.5 ms (1/2 szerokości impulsu sygnału pilotującego) kodują  bit &amp;quot;1&amp;quot;&lt;br /&gt;
* impulsy o szerokości 0.25 ms (1/4 szerokości impulsu sygnału pilotującego) kodują  bit &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Format standardowy ===&lt;br /&gt;
&lt;br /&gt;
Pojedyncze nagranie (&amp;quot;plik&amp;quot;) zapisywane jest w 2 lub więcej blokach danych. Pierwszy blok to blok nazwy, następne zawierają właściwe dane.&lt;br /&gt;
&lt;br /&gt;
W bloku nazwy kolejno występują:&lt;br /&gt;
&lt;br /&gt;
* 4096 impulsów sygnału pilotującego&lt;br /&gt;
* 2 bajty o wartościach $00 i $FF (odróżniające blok nazwy od bloku danych)&lt;br /&gt;
* 10 bajtów z nazwą &amp;quot;pliku&amp;quot;; jeżeli nazwa jest krótsza to dopełnia się ją spacjami&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
&lt;br /&gt;
Blok danych składa się  z:&lt;br /&gt;
&lt;br /&gt;
* około 3904 impulsów sygnału pilotującego &amp;#039;&amp;#039;(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)&amp;#039;&amp;#039;.&lt;br /&gt;
* 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]); $0c00 (3072) dla bloków pełnych lub mniej dla bloków niepełnych&lt;br /&gt;
* 3072 bajty danych; jeżeli blok jest niepełny, to dopełnia się go zerami&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
&lt;br /&gt;
Bity w bajcie są zapisywane w kolejności od najstarszego do najmłodszego.&lt;br /&gt;
&lt;br /&gt;
Jedno-bajtowa suma kontrolna jest obliczana przez dodawanie bez przeniesienia (czyli modulo 256). Przy obliczaniu sumowane są zawsze wszystkie bajty w bloku.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Formaty niestandardowe ===&lt;br /&gt;
&lt;br /&gt;
==== Zapis z zabezpieczeniami ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Notatka sporządzona na podstawie informacji uzyskanych od [[Pajero]]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Nowy format&amp;quot; (Turbo 2000F+) ====&lt;br /&gt;
&lt;br /&gt;
Blok nazwy wygląda tak samo jak w oryginalnym formacie Turbo 2000.&lt;br /&gt;
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.&lt;br /&gt;
Następny blok poprzedzony jest 3584 impulsami sygnału pilotującego i ma 8 bajtów:&lt;br /&gt;
&lt;br /&gt;
* 2 bajty $FF&lt;br /&gt;
* 2 bajty określające adres początku ładowania następnego bloku danych&lt;br /&gt;
* 2 bajty określające adres końca ładowania następnego bloku danych&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
* 1 bajt zerowy&lt;br /&gt;
&lt;br /&gt;
Za nim znajduje się:&lt;br /&gt;
&lt;br /&gt;
* kilka-kilkanaście impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu)&lt;br /&gt;
* bajty danych&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
* jeden bajt zerowy&lt;br /&gt;
&lt;br /&gt;
Kolejne pary bloków danych wyglądają podobnie:&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* 2 bajty określające adres początku ładowania następnego bloku danych&lt;br /&gt;
* 2 bajty określające adres końca ładowania następnego bloku danych&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
* 1 bajt zerowy&lt;br /&gt;
* od kliku do kilkunastu  impulsów sygnału pilotującego (ilość może być ustawiona podczas zapisu)&lt;br /&gt;
* bajty danych&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
* 1 bajt zerowy&lt;br /&gt;
&lt;br /&gt;
Plik kończy się blokiem złożonym z 4 bajtów $FF, sumy kontrolnej ($FC) i bajtu $00.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Speedy2700 ajek.png]]&lt;br /&gt;
&lt;br /&gt;
==== Speedy 2700 (lub *AJEK) ====&lt;br /&gt;
&lt;br /&gt;
Blok nazwy wygląda tak samo jak w oryginalnym formacie Turbo 2000.&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 2 bajty określające adres początku ładowania&lt;br /&gt;
* 2 bajty określające adres końca ładowania&lt;br /&gt;
* 1 bajt sumy kontrolnej&lt;br /&gt;
&lt;br /&gt;
Blok danych kończy jedna z dwóch sekwencji:&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* dwa bajty $FF - oznacza to koniec pliku&lt;br /&gt;
&lt;br /&gt;
Pomiędzy blokami, poza impulsami sygnału pilotującego, nie ma żadnych przerw.&lt;br /&gt;
&lt;br /&gt;
== Inne spotykane systemy turbo serii 2000 to ==&lt;br /&gt;
&lt;br /&gt;
* Turbo 2600&lt;br /&gt;
* Turbo 2001 (TOMS)&lt;br /&gt;
* Turbo 2002&lt;br /&gt;
* Turbo 2000 Plus&lt;br /&gt;
* Turbo 2000 F (+)&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
&lt;br /&gt;
* [https://jsobola.atari8.info/DEREATARI/serw.htm#turbo%20kso Opis konstrukcji interfejsu oraz cartridge] w dziale &amp;quot;SERWIS&amp;quot; na stronie [[Jerzy Sobola|Jerzego Soboli]]&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?pid=261346#p261346 post QTZ] na forum [[Atari Area]] na temat KSO Turbo 2000 znajdującym się w jego magnetofonie.&lt;br /&gt;
&lt;br /&gt;
== Bibliografia ==&lt;br /&gt;
&lt;br /&gt;
* [http://atariki.krap.pl/images/a/a9/KSO_TURBO_2000.pdf Instrukcja obsługi KSO TURBO 2000]&lt;br /&gt;
* Robert Rogowski, [[Wojciech Zientara]], &amp;quot;Turbo 2000&amp;quot;. [http://atarionline.pl/biblioteka/czasopisma/Bajtek/Bajtek_1989_08.djvu Bajtek 8/1989] (w [[Atarionline.pl]]), s. 6&lt;br /&gt;
&lt;br /&gt;
== Zobacz też ==&lt;br /&gt;
&lt;br /&gt;
* [[Systemy turbo]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Ten artykuł to tylko [http://pl.wikipedia.org/wiki/Wikipedia:Zalążek_artykułu zalążek]. Możesz pomóc rozwojowi [[Atariki]] poprzez rozszerzenie go o więcej informacji.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Magnetofonowe systemy turbo]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>