<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Epi</id>
	<title>Atariki - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Epi"/>
	<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php/Specjalna:Wk%C5%82ad/Epi"/>
	<updated>2026-10-24T07:02:57Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Folklor&amp;diff=33293</id>
		<title>Folklor</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Folklor&amp;diff=33293"/>
		<updated>2013-07-09T09:13:35Z</updated>

		<summary type="html">&lt;p&gt;Epi: Sobieski&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Byx.jpg}}&lt;br /&gt;
{{ImgFrm|http://atariki.krap.pl/images/8/86/Ced_dykta_95.jpg|http://atariki.krap.pl/images/0/03/Cedyn_dykta.jpg|Promocja &amp;quot;dykty&amp;quot; czyli denaturatu}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;Bo scena to nie tylko komputer ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na każdej większej lub mniejszej imprezie nie może obejść się bez napojów niegazowanych. Umiłowanie do tych napojów często znajduje swój wyraz w produkcjach scenowych (por. [[Plazma]], [[Mustak_Hunters]]).&lt;br /&gt;
&lt;br /&gt;
Trunki, które przeszły do historii:&lt;br /&gt;
&lt;br /&gt;
* Mustak - Opalenica,&lt;br /&gt;
* Byx - Orneta,&lt;br /&gt;
* Arizona - Orneta,&lt;br /&gt;
* Cytrynka - Mońki.&lt;br /&gt;
* Dykta - ochoczo promowana na starych [[QuaST]]ach przez grupę [[Shadows]].&lt;br /&gt;
* Gorzka Żołądkowa - Opalenica, niektórzy po jej spożyciu zostali odrysowani na podłodze kredą, a inni robili nieprzyzwoity użytek z obrusów.&lt;br /&gt;
* Wódka &amp;quot;Sobieski&amp;quot; - związana z powstaniem grupy [[Odsiecz Sobieskiego]] podczas [[QuaST]]a 2k4.&lt;br /&gt;
&lt;br /&gt;
Poza trunkami warto także wiedzieć o kilku zwrotach, które są charakterystyczne dla atarowskiej sceny:&lt;br /&gt;
&lt;br /&gt;
* [[Ratowanie Compo]]&lt;br /&gt;
&lt;br /&gt;
Istnieje też parę scenowych (a w zasadzie zlotowych, gdyż tam na ogół powstają) powiedzonek (układ nie-chronologiczny):&lt;br /&gt;
&lt;br /&gt;
* kucaj lub kucaj do miecza (wariant czeski: sehni se (pred mecem))&lt;br /&gt;
* przejdźmy na &#039;Ty&#039;&lt;br /&gt;
* wyobraź sobie boisko&lt;br /&gt;
* dwanaście votek&lt;br /&gt;
* real party is outside&lt;br /&gt;
* scena umiera&lt;br /&gt;
* frasunek k... panowie!&lt;br /&gt;
* I tack maaash raa-ka!&lt;br /&gt;
* pokaż d..., pokaż d...&lt;br /&gt;
* dykta rulez!&lt;br /&gt;
* Snickers the best!&lt;br /&gt;
* www. nie-ma-wyników. com&lt;br /&gt;
* pokaż ubytki!!!&lt;br /&gt;
* Poland... (Forever)&lt;br /&gt;
* ja już nie piję, bo zaraz jadę!&lt;br /&gt;
* kobieta w damskiej toalecie!&lt;br /&gt;
* itp.&lt;br /&gt;
&lt;br /&gt;
Oraz kilka piosenek tudzież zaśpiewów:&lt;br /&gt;
&lt;br /&gt;
* &#039;Wstań powiedz &#039;teraz już wiem&#039;... &#039;&lt;br /&gt;
* &#039;Raz,dwa,trzy,czte-ry...&#039;&lt;br /&gt;
* &#039;Kiedy byłem mały...&#039;&lt;br /&gt;
* &#039;Atari For You...&#039;&lt;br /&gt;
* &#039;Konduktor też, konduktor też, przyjacielem Atari jest...&#039;&lt;br /&gt;
&lt;br /&gt;
Oprócz śpiewów, powiedzonek, trunków itp., zlotom towarzyszą też specyficzne wydarzenia - niektóre z nich mają już nawet rangę pewnej tradycji:&lt;br /&gt;
&lt;br /&gt;
* ornecka [[pętla]]&lt;br /&gt;
* przestawianie samochodów &lt;br /&gt;
* zabawy z megafonem&lt;br /&gt;
* mówienie w Engrish do słowackiego kelnera (&#039;can you make it separately dla nas z Jellonkiem&#039; (c) Lisu)&lt;br /&gt;
&lt;br /&gt;
[[Kategoria: Ciekawostki]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Sapemu&amp;diff=32769</id>
		<title>Sapemu</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Sapemu&amp;diff=32769"/>
		<updated>2012-12-21T19:06:07Z</updated>

		<summary type="html">&lt;p&gt;Epi: Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|sapemu.png}}Odtwarzacz plików w formacie [[SAP (format pliku)|SAP]] przeznaczony dla Atari. Autorem jest [[Epi]]. Pierwsza wersja powstała w maju 2003 r. Obecnie (od wydania wersji 0.3 w 2012 r.) dostępny wraz z kodem źródłowym na [https://github.com/epi/sapemu githubie].&lt;br /&gt;
&lt;br /&gt;
Wymaga 4 banków rozszerzonej pamięci. Odtwarza zdecydowaną większość utworów typu C, B i D, nie używających obszaru pamięci $D800-$D9FF. Obsługa, mimo toporności programu, jest intuicyjna.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;br /&gt;
[[Kategoria:Programy użytkowe]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dost%C4%99p_do_plik%C3%B3w&amp;diff=32562</id>
		<title>Dostęp do plików</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dost%C4%99p_do_plik%C3%B3w&amp;diff=32562"/>
		<updated>2012-10-10T09:41:03Z</updated>

		<summary type="html">&lt;p&gt;Epi: /* Otwarcie pliku */ o nazwie mniej dwuznacznie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jak napisano w haśle [[CIO]], z dostępem do plików związane są w Atari tak zwane bloki kontroli wejścia i wyjścia (ang. &#039;&#039;Input/Output Control Blocks&#039;&#039;, albo &#039;&#039;IOCB&#039;&#039;). Jest ich osiem, każdy liczy 16 bajtów, ulokowane są w pamięci RAM, w obszarze od $0340 do $03BF. Ich struktura opisana jest w wyżej wymienionym haśle &#039;&#039;CIO&#039;&#039;, opis ten tutaj zostanie zatem pominięty. Wystarczy napisać, że block IOCB służy do zdefiniowania operacji na pliku i nadaniu jej parametrów wejściowych a także - odebraniu wyników (na ogół: kodu statusu).&lt;br /&gt;
&lt;br /&gt;
== Adresowanie IOCB ==&lt;br /&gt;
&lt;br /&gt;
Bloki IOCB konwencjonalnie adresuje się podając adres wewnątrz pierwszego z nich - czyli $034x - jako argument rozkazu w trybie absolutnym indeksowanym X, przy czym w rejestrze X powinien znajdować się numer bloku IOCB (z zakresu od 0 do 7), pomnożony przez 16. Numer kanału IOCB, pełniący rolę uchwytu (ang. &#039;&#039;handle&#039;&#039;) pliku, powinien zostać właśnie w tej postaci, i w tym rejestrze, przekazany do głównej procedury CIO (CIOV lub JCIOMAIN, $E456) przy jej wywoływaniu.&lt;br /&gt;
&lt;br /&gt;
== Etykiety IOCB ==&lt;br /&gt;
&lt;br /&gt;
 icchid = $0340&lt;br /&gt;
 icdno  = $0341&lt;br /&gt;
 iccmd  = $0342&lt;br /&gt;
 icstat = $0343&lt;br /&gt;
 icbufa = $0344&lt;br /&gt;
 icputb = $0346&lt;br /&gt;
 icbufl = $0348&lt;br /&gt;
 icax1  = $034a&lt;br /&gt;
 icax2  = $034b&lt;br /&gt;
 icax3  = $034c&lt;br /&gt;
 icax4  = $034d&lt;br /&gt;
 icax5  = $034e&lt;br /&gt;
 icax6  = $034f&lt;br /&gt;
&lt;br /&gt;
Z całego bloku dla omawianego tu zagadnienia istotne są:&lt;br /&gt;
&lt;br /&gt;
* ICCMD - zapisuje się w nim jeden bajt symbolizujący rodzaj operacji (OPEN, CLOSE itd.)&lt;br /&gt;
* ICBUFA - to adres bufora&lt;br /&gt;
* ICBUFL - to wielkość bufora w bajtach&lt;br /&gt;
* ICAX1/2 - to bajty pomocnicze, zawierające różne dodatkowe parametry&lt;br /&gt;
&lt;br /&gt;
Czasem przydaje się też ICSTAT, po zakończeniu operacji zawiera bowiem jej status (czyli $01 albo kod błędu). Ale rzadko się tę wartość odczytuje stamtąd, bo przekazywana jest też przez OS bezpośrednio w rejestrze Y.&lt;br /&gt;
&lt;br /&gt;
Reszty bajtów IOCB nie dotykamy i w ogóle (na ogół) nie zawracamy sobie nimi głowy.&lt;br /&gt;
&lt;br /&gt;
== Funkcje IOCB ==&lt;br /&gt;
&lt;br /&gt;
W teorii wszystkie bloki mają to samo przeznaczenie: każdy służy jako deskryptor pojedynczego, otwartego pliku. Wynika z tego, że w teorii można otworzyć do ośmiu plików na raz. W praktyce jeden blok - IOCB #$00 - jest defaultowo otwarty dla edytora ekranowego. Można go wprawdzie zamknąć i wykorzystać do czegoś innego, ale nie ma potrzeby tego czynić, gdyż przeciętny DOS nie pozwoli otworzyć więcej niż 3-4 pliki na raz.&lt;br /&gt;
&lt;br /&gt;
Bloki IOCB służą tylko do przekazywania parametrów do DOS-u, nie są zaś właściwymi deskryptorami plików. Dlatego nie da się przeskoczyć limitu jednocześnie otwartych plików przez sprytną podmianę zawartości IOCB i zastąpienie jej przechowywanymi gdzieś indziej danymi innego otwartego pliku - żaden DOS nie da się tak oszukać.&lt;br /&gt;
&lt;br /&gt;
Pierwszy wolny IOCB to IOCB #1, i ten właśnie będzie używany w przykładach.&lt;br /&gt;
&lt;br /&gt;
== Otwarcie pliku ==&lt;br /&gt;
&lt;br /&gt;
W Atari można otworzyć plik dyskowy do odczytu, zapisu, wymiany danych (naprzemiennego odczytu i zapisu) oraz dopisywania. Ogólne zasady są takie, jak wszędzie indziej, to znaczy:&lt;br /&gt;
&lt;br /&gt;
* plik otwierany do odczytu musi istnieć, w przeciwnym wypadku wystąpi błąd 170 (FILE NOT FOUND);&lt;br /&gt;
* plik otwierany do zapisu, jeśli nie istnieje, zostanie utworzony, natomiast jeśli istnieje, jego dotychczasowa zawartość zostanie skasowana i zostanie on otwarty;&lt;br /&gt;
* plik otwierany do odczytu i zapisu, jeśli istnieje, zostanie otwarty, natomiast jeśli nie istnieje, zostanie utworzony (i otwarty);&lt;br /&gt;
* plik otwierany do dopisywania jeśli istnieje, zostanie otwarty, a wskaźnik miejsca, do któego trafią zapisywane dane, zostanie ustawiny na jego końcu; jeśli zaś taki plik nie istnieje, zostanie utworzony (i otwarty).&lt;br /&gt;
&lt;br /&gt;
Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; OPEN #1,xx,0,&amp;quot;D:FOOBAR12.DAT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 fname .byte &amp;quot;D:FOOBAR12.DAT&amp;quot;,$9b&lt;br /&gt;
 &lt;br /&gt;
 open_file&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$03            ;komenda: OPEN&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;fname         ;adres nazwy pliku&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;fname&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #$xx            ;kod dostępu: $04 odczyt, $08 zapis, $09 dopisywanie, $0c odczyt/zapis, $0d odczyt/dopisywanie&lt;br /&gt;
       sta icax1,x&lt;br /&gt;
       lda #$00            ;dodatkowy parametr, $00 jest zawsze dobre&lt;br /&gt;
       sta icax2,x &lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nazwa pliku musi spełniać następujące warunki:&lt;br /&gt;
&lt;br /&gt;
* na początku musi się znajdować specyfikacja urządzenia, na ogół będzie to &amp;quot;D:&amp;quot;, co oznacza stację dysków (a ściślej: DOS). Można tu podać numer stacji, np. &amp;quot;D2:&amp;quot;, jednak najlepiej poprzestać na &amp;quot;D:&amp;quot; - pozwala to bardziej zaawansowanym DOS-om na zapis tego pliku do bieżącego podkatalogu, czyli na ogół tego, w którym użytkownik trzyma cały program.&lt;br /&gt;
&lt;br /&gt;
* za dwukropkiem podajemy nazwę pliku w konwencji &amp;quot;8.3&amp;quot;, tj. składającą się z najwyżej ośmiu znaków nazwę właściwą, kropkę oraz liczące do trzech znaków rozszerzenie. Znakami dopuszczalnymi w nazwie są duże litery alfabetu angielskiego (A-Z) i cyfry (0-9). Niektóre DOS-y (w tym [[SpartaDOS]] i [[MyDOS]]) dopuszczają również znak podkreślenia (_) i &amp;quot;małpę&amp;quot; (@). Cześć DOS-ów wymaga, żeby pierwszym znakiem całej nazwy była litera.&lt;br /&gt;
&lt;br /&gt;
* za ostatnim znakiem nazwy pliku obowiązkowo powinien się znaleźć znak EOL (Return, kod ASCII $9B).&lt;br /&gt;
&lt;br /&gt;
Po wywołaniu &amp;lt;code&amp;gt;jsr open_file&amp;lt;/code&amp;gt; w rejestrze X będzie się znajdował (nadal) numer kanału pomnożony przez 16, a w rejestrze Y kod statusu, natomiast bit N rejstru znaczników będzie odzwierciedlał stan rejestru Y: jeśli N=1, to znaczy, że wystąpił błąd o kodzie przekazanym w Y. W przeciwnim wypadku (N=0) operacja się powiodła.&lt;br /&gt;
&lt;br /&gt;
UWAGA: specyfiką Atari jest to, że po każdym OPEN, &#039;&#039;nawet jeśli zakończyło się błędem&#039;&#039;, kanał IOCB pozostaje otwarty i trzeba go zamknąć do ponownego użycia. Zakonczenie programu &#039;&#039;&#039;nie&#039;&#039;&#039; powoduje automatycznego zamknięcia otwartych kanałów.&lt;br /&gt;
&lt;br /&gt;
== Zamknięcie pliku ==&lt;br /&gt;
&lt;br /&gt;
Jedynym parametrem wymaganym tutaj jest numer kanału IOCB pomnożony przez 16, czyli &amp;quot;uchwyt pliku&amp;quot;. Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; CLOSE #1&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 close_file&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$0c            ;komenda: CLOSE&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Odczyt danych z pliku ==&lt;br /&gt;
&lt;br /&gt;
Plik otwarty do odczytu będzie czytany sekwencyjnie od początku do końca. Jeśli nie wystąpią żadne błędy, i odczytano wszystkie dane z pliku, następna próba odczytu zwróci błąd nr 136 (EOF). Ważne jest, żeby status operacji testować na okoliczność wystąpienia błędu (N=1, Y&amp;gt;127), a nie na okoliczność powodzenia (Y=$01), gdyż część DOS-ów w pewnych warunkach zwraca wartość $03 jako status dla udanej operacji odczytu.&lt;br /&gt;
&lt;br /&gt;
Ponadto, po powrocie z systemu ICBUFL,X i ICBUFL+1,X (odpowiednio: młodszy i starszy bajt) zawiera liczbę bajtów odczytanych do bufora, którego adres (nadal) znajduje się w ICBUFA,X i ICBUFA+1,X.&lt;br /&gt;
&lt;br /&gt;
=== Odczyt bloku danych binarnych ===&lt;br /&gt;
&lt;br /&gt;
Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; BGET #1,buffer,buflen&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 read_binary&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$07            ;komenda: GET BYTES / BINARY READ&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, gdzie maja trafic dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc bloku danych w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Odczyt pojedynczego bajtu ===&lt;br /&gt;
&lt;br /&gt;
Do odczytania pojedynczego bajtu nie potrzeba deklarować bufora: jeśli zadeklarujemy zerową wielkość bufora, system odczyta 1 bajt i przekaże go w akumulatorze:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; GET #1,A&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 read_one_byte&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$07            ;komenda: GET BYTES / BINARY READ&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #$00&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Odczyt rekordu tekstowego ===&lt;br /&gt;
&lt;br /&gt;
Rekord tekstowy jest to ciąg znaków ATASCII zakończony znakiem Return (EOL, ASCII $9B). Rekord musi mieścić się w zadeklarowanym buforze, jeśli bufor zapełni się zanim odczytany zostanie znak EOL, wystąpi błąd 137 (TRUNCATED RECORD).&lt;br /&gt;
&lt;br /&gt;
Kod jest prawie taki sam, jak w przypadku danych binarnych, różni się tylko kodem operacji:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; INPUT #1,buffer$&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 read_text&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$05            ;komenda: GET RECORD&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, gdzie maja trafic dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc rekordu w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zapis do pliku ==&lt;br /&gt;
&lt;br /&gt;
Zapis przeprowadza się analogicznie do odczytu, może się jedynie zmieniać miejsce, gdzie dane zostaną zapisane. Jest to zależne od trybu otwarcia pliku: przy zwykłym zapisie (tryb otwarcia 8) lub wymianie danych (tryb otwarcia 12) dane będą wpisywane do pliku sekwencyjnie od początku. Przy dopisywaniu (tryb 9) lub odczycie/dopisywaniu (tryb 13) wpisane do pliku dane znajdą się na jego końcu.&lt;br /&gt;
&lt;br /&gt;
Po powrocie z systemu ICBUFL,X i ICBUFL+1,X (odpowiednio: młodszy i starszy bajt) zawiera liczbę bajtów zapisanych do pliku z bufora, którego adres (nadal) znajduje się w ICBUFA,X i ICBUFA+1,X.&lt;br /&gt;
&lt;br /&gt;
UWAGA: po zapisie wszystkich danych plik należy obowiązkowo zamknąć, dopiero wtedy DOS zapisuje do niego wszystkie dane, jakie ewentualnie może jeszcze tymczasowo trzymać w buforach, oraz uaktualnia wpis w katalogu.&lt;br /&gt;
&lt;br /&gt;
=== Zapis bloku danych binarnych ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; BPUT #1,buffer,buflen&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 write_binary&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$0b            ;komenda: PUT BYTES / BINARY WRITE&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, gdzie znajduja sie dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc bloku danych w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zapis pojedynczego bajtu ===&lt;br /&gt;
&lt;br /&gt;
Analogicznie jak przy odczycie, zdefiniowanie zerowej wielkości bufora spowoduje, że do pliku zostanie zapisana zawartość akumulatora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; PUT #1,A&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 write_one_byte&lt;br /&gt;
       pha&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$0b            ;komenda: PUT BYTES / WRITE BINARY&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #$00&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       pla&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zapis rekordu ===&lt;br /&gt;
&lt;br /&gt;
Na końcu bufora danych powinien się znajdować znak EOL (ASCII $9B). Zadeklarowana wielkość bufora powinna być większa lub równa liczbie zapisywanych danych. Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; PRINT #1,buffer$&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 write_text&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$09            ;komenda: PUT RECORD&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, skad maja byc pobrane dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc rekordu w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dost%C4%99p_do_plik%C3%B3w&amp;diff=32561</id>
		<title>Dostęp do plików</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dost%C4%99p_do_plik%C3%B3w&amp;diff=32561"/>
		<updated>2012-10-10T09:39:59Z</updated>

		<summary type="html">&lt;p&gt;Epi: /* Otwarcie pliku */ nazwa pliku - uściślenie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jak napisano w haśle [[CIO]], z dostępem do plików związane są w Atari tak zwane bloki kontroli wejścia i wyjścia (ang. &#039;&#039;Input/Output Control Blocks&#039;&#039;, albo &#039;&#039;IOCB&#039;&#039;). Jest ich osiem, każdy liczy 16 bajtów, ulokowane są w pamięci RAM, w obszarze od $0340 do $03BF. Ich struktura opisana jest w wyżej wymienionym haśle &#039;&#039;CIO&#039;&#039;, opis ten tutaj zostanie zatem pominięty. Wystarczy napisać, że block IOCB służy do zdefiniowania operacji na pliku i nadaniu jej parametrów wejściowych a także - odebraniu wyników (na ogół: kodu statusu).&lt;br /&gt;
&lt;br /&gt;
== Adresowanie IOCB ==&lt;br /&gt;
&lt;br /&gt;
Bloki IOCB konwencjonalnie adresuje się podając adres wewnątrz pierwszego z nich - czyli $034x - jako argument rozkazu w trybie absolutnym indeksowanym X, przy czym w rejestrze X powinien znajdować się numer bloku IOCB (z zakresu od 0 do 7), pomnożony przez 16. Numer kanału IOCB, pełniący rolę uchwytu (ang. &#039;&#039;handle&#039;&#039;) pliku, powinien zostać właśnie w tej postaci, i w tym rejestrze, przekazany do głównej procedury CIO (CIOV lub JCIOMAIN, $E456) przy jej wywoływaniu.&lt;br /&gt;
&lt;br /&gt;
== Etykiety IOCB ==&lt;br /&gt;
&lt;br /&gt;
 icchid = $0340&lt;br /&gt;
 icdno  = $0341&lt;br /&gt;
 iccmd  = $0342&lt;br /&gt;
 icstat = $0343&lt;br /&gt;
 icbufa = $0344&lt;br /&gt;
 icputb = $0346&lt;br /&gt;
 icbufl = $0348&lt;br /&gt;
 icax1  = $034a&lt;br /&gt;
 icax2  = $034b&lt;br /&gt;
 icax3  = $034c&lt;br /&gt;
 icax4  = $034d&lt;br /&gt;
 icax5  = $034e&lt;br /&gt;
 icax6  = $034f&lt;br /&gt;
&lt;br /&gt;
Z całego bloku dla omawianego tu zagadnienia istotne są:&lt;br /&gt;
&lt;br /&gt;
* ICCMD - zapisuje się w nim jeden bajt symbolizujący rodzaj operacji (OPEN, CLOSE itd.)&lt;br /&gt;
* ICBUFA - to adres bufora&lt;br /&gt;
* ICBUFL - to wielkość bufora w bajtach&lt;br /&gt;
* ICAX1/2 - to bajty pomocnicze, zawierające różne dodatkowe parametry&lt;br /&gt;
&lt;br /&gt;
Czasem przydaje się też ICSTAT, po zakończeniu operacji zawiera bowiem jej status (czyli $01 albo kod błędu). Ale rzadko się tę wartość odczytuje stamtąd, bo przekazywana jest też przez OS bezpośrednio w rejestrze Y.&lt;br /&gt;
&lt;br /&gt;
Reszty bajtów IOCB nie dotykamy i w ogóle (na ogół) nie zawracamy sobie nimi głowy.&lt;br /&gt;
&lt;br /&gt;
== Funkcje IOCB ==&lt;br /&gt;
&lt;br /&gt;
W teorii wszystkie bloki mają to samo przeznaczenie: każdy służy jako deskryptor pojedynczego, otwartego pliku. Wynika z tego, że w teorii można otworzyć do ośmiu plików na raz. W praktyce jeden blok - IOCB #$00 - jest defaultowo otwarty dla edytora ekranowego. Można go wprawdzie zamknąć i wykorzystać do czegoś innego, ale nie ma potrzeby tego czynić, gdyż przeciętny DOS nie pozwoli otworzyć więcej niż 3-4 pliki na raz.&lt;br /&gt;
&lt;br /&gt;
Bloki IOCB służą tylko do przekazywania parametrów do DOS-u, nie są zaś właściwymi deskryptorami plików. Dlatego nie da się przeskoczyć limitu jednocześnie otwartych plików przez sprytną podmianę zawartości IOCB i zastąpienie jej przechowywanymi gdzieś indziej danymi innego otwartego pliku - żaden DOS nie da się tak oszukać.&lt;br /&gt;
&lt;br /&gt;
Pierwszy wolny IOCB to IOCB #1, i ten właśnie będzie używany w przykładach.&lt;br /&gt;
&lt;br /&gt;
== Otwarcie pliku ==&lt;br /&gt;
&lt;br /&gt;
W Atari można otworzyć plik dyskowy do odczytu, zapisu, wymiany danych (naprzemiennego odczytu i zapisu) oraz dopisywania. Ogólne zasady są takie, jak wszędzie indziej, to znaczy:&lt;br /&gt;
&lt;br /&gt;
* plik otwierany do odczytu musi istnieć, w przeciwnym wypadku wystąpi błąd 170 (FILE NOT FOUND);&lt;br /&gt;
* plik otwierany do zapisu, jeśli nie istnieje, zostanie utworzony, natomiast jeśli istnieje, jego dotychczasowa zawartość zostanie skasowana i zostanie on otwarty;&lt;br /&gt;
* plik otwierany do odczytu i zapisu, jeśli istnieje, zostanie otwarty, natomiast jeśli nie istnieje, zostanie utworzony (i otwarty);&lt;br /&gt;
* plik otwierany do dopisywania jeśli istnieje, zostanie otwarty, a wskaźnik miejsca, do któego trafią zapisywane dane, zostanie ustawiny na jego końcu; jeśli zaś taki plik nie istnieje, zostanie utworzony (i otwarty).&lt;br /&gt;
&lt;br /&gt;
Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; OPEN #1,xx,0,&amp;quot;D:FOOBAR12.DAT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 fname .byte &amp;quot;D:FOOBAR12.DAT&amp;quot;,$9b&lt;br /&gt;
 &lt;br /&gt;
 open_file&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$03            ;komenda: OPEN&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;fname         ;adres nazwy pliku&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;fname&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #$xx            ;kod dostępu: $04 odczyt, $08 zapis, $09 dopisywanie, $0c odczyt/zapis, $0d odczyt/dopisywanie&lt;br /&gt;
       sta icax1,x&lt;br /&gt;
       lda #$00            ;dodatkowy parametr, $00 jest zawsze dobre&lt;br /&gt;
       sta icax2,x &lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nazwa pliku musi spełniać następujące warunki:&lt;br /&gt;
&lt;br /&gt;
* na początku musi się znajdować specyfikacja urządzenia, na ogół będzie to &amp;quot;D:&amp;quot;, co oznacza stację dysków (a ściślej: DOS). Można tu podać numer stacji, np. &amp;quot;D2:&amp;quot;, jednak najlepiej poprzestać na &amp;quot;D:&amp;quot; - pozwala to bardziej zaawansowanym DOS-om na zapis tego pliku do bieżącego podkatalogu, czyli na ogół tego, w którym użytkownik trzyma cały program.&lt;br /&gt;
&lt;br /&gt;
* za dwukropkiem podajemy nazwę pliku w konwencji &amp;quot;8.3&amp;quot;, tj. składającą się z najwyżej ośmiu znaków nazwę właściwą, kropkę oraz liczące do trzech znaków rozszerzenie. Znakami dopuszczalnymi w nazwie są duże litery alfabetu angielskiego (A-Z) i cyfry (0-9). Cześć DOS-ów wymaga, żeby pierwszym znakiem całej nazwy była litera. Niektóre DOS-y (w tym [[SpartaDOS]] i [[MyDOS]]) dopuszczają również znak podkreślenia (_) i &amp;quot;małpę&amp;quot; (@).&lt;br /&gt;
&lt;br /&gt;
* za ostatnim znakiem nazwy pliku obowiązkowo powinien się znaleźć znak EOL (Return, kod ASCII $9B).&lt;br /&gt;
&lt;br /&gt;
Po wywołaniu &amp;lt;code&amp;gt;jsr open_file&amp;lt;/code&amp;gt; w rejestrze X będzie się znajdował (nadal) numer kanału pomnożony przez 16, a w rejestrze Y kod statusu, natomiast bit N rejstru znaczników będzie odzwierciedlał stan rejestru Y: jeśli N=1, to znaczy, że wystąpił błąd o kodzie przekazanym w Y. W przeciwnim wypadku (N=0) operacja się powiodła.&lt;br /&gt;
&lt;br /&gt;
UWAGA: specyfiką Atari jest to, że po każdym OPEN, &#039;&#039;nawet jeśli zakończyło się błędem&#039;&#039;, kanał IOCB pozostaje otwarty i trzeba go zamknąć do ponownego użycia. Zakonczenie programu &#039;&#039;&#039;nie&#039;&#039;&#039; powoduje automatycznego zamknięcia otwartych kanałów.&lt;br /&gt;
&lt;br /&gt;
== Zamknięcie pliku ==&lt;br /&gt;
&lt;br /&gt;
Jedynym parametrem wymaganym tutaj jest numer kanału IOCB pomnożony przez 16, czyli &amp;quot;uchwyt pliku&amp;quot;. Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; CLOSE #1&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 close_file&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$0c            ;komenda: CLOSE&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Odczyt danych z pliku ==&lt;br /&gt;
&lt;br /&gt;
Plik otwarty do odczytu będzie czytany sekwencyjnie od początku do końca. Jeśli nie wystąpią żadne błędy, i odczytano wszystkie dane z pliku, następna próba odczytu zwróci błąd nr 136 (EOF). Ważne jest, żeby status operacji testować na okoliczność wystąpienia błędu (N=1, Y&amp;gt;127), a nie na okoliczność powodzenia (Y=$01), gdyż część DOS-ów w pewnych warunkach zwraca wartość $03 jako status dla udanej operacji odczytu.&lt;br /&gt;
&lt;br /&gt;
Ponadto, po powrocie z systemu ICBUFL,X i ICBUFL+1,X (odpowiednio: młodszy i starszy bajt) zawiera liczbę bajtów odczytanych do bufora, którego adres (nadal) znajduje się w ICBUFA,X i ICBUFA+1,X.&lt;br /&gt;
&lt;br /&gt;
=== Odczyt bloku danych binarnych ===&lt;br /&gt;
&lt;br /&gt;
Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; BGET #1,buffer,buflen&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 read_binary&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$07            ;komenda: GET BYTES / BINARY READ&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, gdzie maja trafic dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc bloku danych w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Odczyt pojedynczego bajtu ===&lt;br /&gt;
&lt;br /&gt;
Do odczytania pojedynczego bajtu nie potrzeba deklarować bufora: jeśli zadeklarujemy zerową wielkość bufora, system odczyta 1 bajt i przekaże go w akumulatorze:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; GET #1,A&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 read_one_byte&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$07            ;komenda: GET BYTES / BINARY READ&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #$00&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Odczyt rekordu tekstowego ===&lt;br /&gt;
&lt;br /&gt;
Rekord tekstowy jest to ciąg znaków ATASCII zakończony znakiem Return (EOL, ASCII $9B). Rekord musi mieścić się w zadeklarowanym buforze, jeśli bufor zapełni się zanim odczytany zostanie znak EOL, wystąpi błąd 137 (TRUNCATED RECORD).&lt;br /&gt;
&lt;br /&gt;
Kod jest prawie taki sam, jak w przypadku danych binarnych, różni się tylko kodem operacji:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; INPUT #1,buffer$&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 read_text&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$05            ;komenda: GET RECORD&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, gdzie maja trafic dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc rekordu w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zapis do pliku ==&lt;br /&gt;
&lt;br /&gt;
Zapis przeprowadza się analogicznie do odczytu, może się jedynie zmieniać miejsce, gdzie dane zostaną zapisane. Jest to zależne od trybu otwarcia pliku: przy zwykłym zapisie (tryb otwarcia 8) lub wymianie danych (tryb otwarcia 12) dane będą wpisywane do pliku sekwencyjnie od początku. Przy dopisywaniu (tryb 9) lub odczycie/dopisywaniu (tryb 13) wpisane do pliku dane znajdą się na jego końcu.&lt;br /&gt;
&lt;br /&gt;
Po powrocie z systemu ICBUFL,X i ICBUFL+1,X (odpowiednio: młodszy i starszy bajt) zawiera liczbę bajtów zapisanych do pliku z bufora, którego adres (nadal) znajduje się w ICBUFA,X i ICBUFA+1,X.&lt;br /&gt;
&lt;br /&gt;
UWAGA: po zapisie wszystkich danych plik należy obowiązkowo zamknąć, dopiero wtedy DOS zapisuje do niego wszystkie dane, jakie ewentualnie może jeszcze tymczasowo trzymać w buforach, oraz uaktualnia wpis w katalogu.&lt;br /&gt;
&lt;br /&gt;
=== Zapis bloku danych binarnych ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; BPUT #1,buffer,buflen&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 write_binary&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$0b            ;komenda: PUT BYTES / BINARY WRITE&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, gdzie znajduja sie dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc bloku danych w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zapis pojedynczego bajtu ===&lt;br /&gt;
&lt;br /&gt;
Analogicznie jak przy odczycie, zdefiniowanie zerowej wielkości bufora spowoduje, że do pliku zostanie zapisana zawartość akumulatora:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; PUT #1,A&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 write_one_byte&lt;br /&gt;
       pha&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$0b            ;komenda: PUT BYTES / WRITE BINARY&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #$00&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       pla&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zapis rekordu ===&lt;br /&gt;
&lt;br /&gt;
Na końcu bufora danych powinien się znajdować znak EOL (ASCII $9B). Zadeklarowana wielkość bufora powinna być większa lub równa liczbie zapisywanych danych. Kod:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ; PRINT #1,buffer$&lt;br /&gt;
&lt;br /&gt;
 ciov = $e456&lt;br /&gt;
 &lt;br /&gt;
 write_text&lt;br /&gt;
       ldx #$10            ;IOCB #1&lt;br /&gt;
       lda #$09            ;komenda: PUT RECORD&lt;br /&gt;
       sta iccmd,x&lt;br /&gt;
       lda #&amp;lt;buffer        ;adres w pamieci, skad maja byc pobrane dane&lt;br /&gt;
       sta icbufa,x&lt;br /&gt;
       lda #&amp;gt;buffer&lt;br /&gt;
       sta icbufa+1,x&lt;br /&gt;
       lda #&amp;lt;buflen        ;wielkosc rekordu w bajtach&lt;br /&gt;
       sta icbufl,x&lt;br /&gt;
       lda #&amp;gt;buflen&lt;br /&gt;
       sta icbufl+1,x&lt;br /&gt;
       jsr ciov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32414</id>
		<title>Format MyDOS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32414"/>
		<updated>2012-08-18T14:44:34Z</updated>

		<summary type="html">&lt;p&gt;Epi: /* Mapowanie plików */  prawda o linkach.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Formaty systemów plików|Format dyskietki]] używany przez [[MyDOS]] jest rozwinięciem wcześniejszego formatu [[Format AtariDOS 2|DOS-u 2.0]]. Modyfikacje mają na celu zwiększenie maksymalnej pojemności dysku oraz wprowadzenie podkatalogów. &lt;br /&gt;
&lt;br /&gt;
== Cechy ogólne ==&lt;br /&gt;
&lt;br /&gt;
* Dopuszczalne wielkości sektorów: 128 i 256 bajtów&lt;br /&gt;
* Maksymalna pojemność filesystemu: 65535 sektorów (16 MB)&lt;br /&gt;
* Maksymalna wielkość pliku: 15,81 MB&lt;br /&gt;
* Maksymalna liczba plików na dysku: nieograniczona&lt;br /&gt;
* Struktura katalogowa: hierarchiczna&lt;br /&gt;
* Maksymalna liczba plików w katalogu: 64&lt;br /&gt;
* Wielkość wpisu w katalogu: 16 bajtów&lt;br /&gt;
* Nazwa pliku: 8+3&lt;br /&gt;
* Metoda linkowania plików: 3-bajtowy link w sektorze danych&lt;br /&gt;
* Metoda alokacji sektorów: mapa bitowa&lt;br /&gt;
&lt;br /&gt;
== Struktura ogólna ==&lt;br /&gt;
&lt;br /&gt;
Obsługiwana jest gęstość pojedyncza, rozszerzona i podwójna ([[SD]], [[ED]] i [[DD]]). Jednostką alokacji jest pojedynczy sektor fizyczny o wielkości 128 lub 256 bajtów. W sektorze nr 360 ($168) zaczyna się [[VTOC]], w sektorach 361-368 ($0169-$0170) znajduje się katalog główny dyskietki. W sektorach 1-3 jest program ładujący DOS. Dyski zainicjalizowane przez MyDOS mają w bajcie 0 sektora nr 1 kod ASCII litery M.&lt;br /&gt;
Początkowa pojemność dyskietki DD to 708 wolnych sektorów z ogólnej liczby 720.&lt;br /&gt;
&lt;br /&gt;
== VTOC ==&lt;br /&gt;
&lt;br /&gt;
W przeciwieństwie do sytuacji, jaką mamy w DOS 2.0, VTOC może zajmować ponad jeden sektor. Dodatkowe sektory VTOC zajmowane są licząc wstecz od sektora 360, przy czym na dyskach w SD, gdy liczba sektorów VTOC jest większa od 1, jest ona zawsze parzysta. Zatem, jeśli VTOC nie mieści się w pierwszym sektorze, to jako następny zostanie wykorzystany sektor nr 359. Dla jeszcze większych dysków w DD kolejnym zajętym sektorem będzie sektor nr 358, natomiast w SD będą to sektory nr 358 i 357.&lt;br /&gt;
&lt;br /&gt;
Bajt 0 sektora nr 360 definiuje zarówno sposób organizacji VTOC, jak i format trzybajtowego [[#Mapowanie plików|odnośnika]], znajdującego się na końcu każdego sektora danych. Wartość 2 oznacza, że cały VTOC mieści się w jednym sektorze i format odnośnika jest zgodny z DOS 2.0. Wartość większa od 2 oznacza liczbę 256-bajtowych bloków zajętych przez VTOC, dodać 2. Oznacza ona również, że odnośniki pozbawione są 6-bitowego pola z numerem pliku, a pole zawierające numer kolejnego sektora zostało rozszerzone do 16-bitów.&lt;br /&gt;
&lt;br /&gt;
Dwa dalsze bajty VTOC to zapisana w konwencji młodszy/starszy początkowa liczba wolnych sektorów dyskietki, czyli maksymalna liczba sektorów możliwych do wykorzystania na pliki (np. $02C4 = 708). Dwa kolejne bajty to bieżąca liczba wolnych sektorów.&lt;br /&gt;
&lt;br /&gt;
Bajty 5-9 VTOC są nieużywane. Od bajtu 10 rozciąga się mapa bitowa dyskietki. Każdy bajt opisuje stan ośmiu kolejnych sektorów, przy czym bit ustawiony oznacza sektor wolny, a bit skasowany - sektor zajęty. Bity przypisywane są od lewej do prawej sektorom o rosnących numerach, a więc jeśli bit 7 bajtu opisuje stan sektora numer &#039;n&#039;, to bit 6 odpowiada za sektor &#039;n+1&#039;, bit 5 za &#039;n+2&#039; itd.&lt;br /&gt;
&lt;br /&gt;
Pierwszy bajt mapy opisuje stan sektorów o numerach od 0 do 7 (pomimo że sektor 0 nie istnieje). Na pustej dyskietce jego wartość to $0F, co oznacza, że z grupy sektorów 0-7 cztery pierwsze (0-3) są zajęte, a reszta (4-7) wolna. Ostatni sektor dyskietki DD ma przypisany bit 7 bajtu nr 100 VTOC i jest oznaczony jako wolny.&lt;br /&gt;
&lt;br /&gt;
== Katalog ==&lt;br /&gt;
&lt;br /&gt;
Katalog główny zajmuje osiem sektorów o numerach od 361 do 368 ($0169-$0170). Pojedynczy wpis ma 16 bajtów długości, jego strukturę przedstawia tabelka:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border = 1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Offset&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Bajt statusu:&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 7 = 1 - plik lub katalog skasowany (pozostałe bity mają wtedy wartość 0),&lt;br /&gt;
* bit 6 = 1 - plik istniejący (bit 4 ma wtedy wartość 0),&lt;br /&gt;
* bit 5 = 1 - plik lub katalog zabezpieczony przed zapisem lub skasowaniem,&lt;br /&gt;
* bit 4 = 1 - katalog istniejący (bity 6, 2 i 1 mają wtedy wartość 0),&lt;br /&gt;
* bit 3 - niewykorzystany, MyDOS wpisuje tu 0,&lt;br /&gt;
* bit 2 = 1 - sektory danych pliku zawierają 16-bitowe dowiązania do następnego sektora,&lt;br /&gt;
* bit 1 = 1 - znaczenie nieustalone, dla plików ustawiany na 1&lt;br /&gt;
* bit 0 = 1 - plik jest otwarty do zapisu&lt;br /&gt;
&amp;lt;p&amp;gt;Ogólnie status $42 lub $46 oznacza plik istniejący, $62 lub $66 - plik tylko do odczytu, $10 - katalog, $80 - plik lub katalog skasowany itd.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$01-$02&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Liczba sektorów danych zajętych przez plik.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$03-$04&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Numer pierwszego sektora danych zajętego przez plik.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$05-$0C&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Nazwa pliku dopełniona spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0D-$0F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Rozszerzenie nazwy pliku dopełnione spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nazwa i rozszerzenie nazwy pliku mogą zawierać wielkie litery, cyfry, oraz znaki &amp;quot;@&amp;quot; i &amp;quot;_&amp;quot;, przy czym pierwszy znak nazwy nie może być cyfrą.&lt;br /&gt;
&lt;br /&gt;
Struktura katalogu jest bardzo podobna do tej, którą mamy w [[Format AtariDOS 2|DOS 2.0]]. Jedyną liczącą się różnicą jest to, że MyDOS ustawia zakładanym przez siebie plikom bit 2 statusu.&lt;br /&gt;
&lt;br /&gt;
W podwójnej gęstości wpisy katalogowe zajmują tylko pierwszą połówkę każdego sektora katalogu, reszta natomiast pozostaje pusta.&lt;br /&gt;
&lt;br /&gt;
Struktura podkatalogu jest identyczna jak struktura katalogu głównego.&lt;br /&gt;
&lt;br /&gt;
== Mapowanie plików ==&lt;br /&gt;
&lt;br /&gt;
Ciągłość plików oraz dokładne dane o ich długości (katalog zawiera tylko wielkość pliku w sektorach) zapewnia &amp;quot;link&amp;quot; umieszczony w trzech ostatnich bajtach każdego sektora danych. Wynika z tego, że w każdym sektorze dostępne jest tylko 125 (w [[SD]]) lub 253 (w [[DD]]) bajty na dane pliku, trzy pozostałe natomiast zajmuje DOS.&lt;br /&gt;
&lt;br /&gt;
Format linku zależy od wartości pierwszego bajtu [[#VTOC|VTOC]]. Gdy jest on równy $02, struktura link jest identyczna jak w [[Format AtariDOS 2#Mapowanie plików|DOS-ie 2.0]]. Dla wartości większych od $02, format linku wygląda następująco:&lt;br /&gt;
&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |       0       |       1       |       2       |&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |        następny sektor        |  wypełnienie  |&lt;br /&gt;
 +-------------------------------+---------------+&lt;br /&gt;
&lt;br /&gt;
* 16 pierwszych bitów to &#039;&#039;&#039;numer następnego sektora pliku&#039;&#039;&#039;; w ostatnim sektorze pliku jest on równy zero. Kolejność bajtów jest odwrotna od ogólnie przyjętej (tj. bajt nr 0 jest &amp;quot;starszy&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ponieważ jedyna informacja na temat rozmieszczenia pliku znajduje się w przypisanych doń sektorach, rozmieszczenie sektorów pliku na dyskietce nigdy nie jest znane bez odczytania całości pliku aż do końca - co jest konieczne nawet przy jego kasowaniu. Z kolei fakt, że wskaźnik jest skierowany tylko w jedną stronę, tj. na następny sektor, powoduje, iż znalezienie sektora poprzedniego również wymaga odczytania pliku od początku; o funkcji seek() i swobodnym dostępie do danych pliku można więc przy takim filesystemie od razu zapomnieć&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Wypełnienie&#039;&#039;&#039;: ilość bajtów danych w sektorze. Pełny sektor danych ma tu wartość $7D (125) w [[SD]] i $FD (253) w [[DD]]. Liczba ta ma znaczenie tylko w ostatnim sektorze pliku, gdzie pozwala znaleźć koniec danych.&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [[Formaty systemów plików]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32413</id>
		<title>Format MyDOS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32413"/>
		<updated>2012-08-18T14:41:45Z</updated>

		<summary type="html">&lt;p&gt;Epi: /* Katalog */ prawda o bitach w katalogu, dozwolone znaki w nazwach plików.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Formaty systemów plików|Format dyskietki]] używany przez [[MyDOS]] jest rozwinięciem wcześniejszego formatu [[Format AtariDOS 2|DOS-u 2.0]]. Modyfikacje mają na celu zwiększenie maksymalnej pojemności dysku oraz wprowadzenie podkatalogów. &lt;br /&gt;
&lt;br /&gt;
== Cechy ogólne ==&lt;br /&gt;
&lt;br /&gt;
* Dopuszczalne wielkości sektorów: 128 i 256 bajtów&lt;br /&gt;
* Maksymalna pojemność filesystemu: 65535 sektorów (16 MB)&lt;br /&gt;
* Maksymalna wielkość pliku: 15,81 MB&lt;br /&gt;
* Maksymalna liczba plików na dysku: nieograniczona&lt;br /&gt;
* Struktura katalogowa: hierarchiczna&lt;br /&gt;
* Maksymalna liczba plików w katalogu: 64&lt;br /&gt;
* Wielkość wpisu w katalogu: 16 bajtów&lt;br /&gt;
* Nazwa pliku: 8+3&lt;br /&gt;
* Metoda linkowania plików: 3-bajtowy link w sektorze danych&lt;br /&gt;
* Metoda alokacji sektorów: mapa bitowa&lt;br /&gt;
&lt;br /&gt;
== Struktura ogólna ==&lt;br /&gt;
&lt;br /&gt;
Obsługiwana jest gęstość pojedyncza, rozszerzona i podwójna ([[SD]], [[ED]] i [[DD]]). Jednostką alokacji jest pojedynczy sektor fizyczny o wielkości 128 lub 256 bajtów. W sektorze nr 360 ($168) zaczyna się [[VTOC]], w sektorach 361-368 ($0169-$0170) znajduje się katalog główny dyskietki. W sektorach 1-3 jest program ładujący DOS. Dyski zainicjalizowane przez MyDOS mają w bajcie 0 sektora nr 1 kod ASCII litery M.&lt;br /&gt;
Początkowa pojemność dyskietki DD to 708 wolnych sektorów z ogólnej liczby 720.&lt;br /&gt;
&lt;br /&gt;
== VTOC ==&lt;br /&gt;
&lt;br /&gt;
W przeciwieństwie do sytuacji, jaką mamy w DOS 2.0, VTOC może zajmować ponad jeden sektor. Dodatkowe sektory VTOC zajmowane są licząc wstecz od sektora 360, przy czym na dyskach w SD, gdy liczba sektorów VTOC jest większa od 1, jest ona zawsze parzysta. Zatem, jeśli VTOC nie mieści się w pierwszym sektorze, to jako następny zostanie wykorzystany sektor nr 359. Dla jeszcze większych dysków w DD kolejnym zajętym sektorem będzie sektor nr 358, natomiast w SD będą to sektory nr 358 i 357.&lt;br /&gt;
&lt;br /&gt;
Bajt 0 sektora nr 360 definiuje zarówno sposób organizacji VTOC, jak i format trzybajtowego [[#Mapowanie plików|odnośnika]], znajdującego się na końcu każdego sektora danych. Wartość 2 oznacza, że cały VTOC mieści się w jednym sektorze i format odnośnika jest zgodny z DOS 2.0. Wartość większa od 2 oznacza liczbę 256-bajtowych bloków zajętych przez VTOC, dodać 2. Oznacza ona również, że odnośniki pozbawione są 6-bitowego pola z numerem pliku, a pole zawierające numer kolejnego sektora zostało rozszerzone do 16-bitów.&lt;br /&gt;
&lt;br /&gt;
Dwa dalsze bajty VTOC to zapisana w konwencji młodszy/starszy początkowa liczba wolnych sektorów dyskietki, czyli maksymalna liczba sektorów możliwych do wykorzystania na pliki (np. $02C4 = 708). Dwa kolejne bajty to bieżąca liczba wolnych sektorów.&lt;br /&gt;
&lt;br /&gt;
Bajty 5-9 VTOC są nieużywane. Od bajtu 10 rozciąga się mapa bitowa dyskietki. Każdy bajt opisuje stan ośmiu kolejnych sektorów, przy czym bit ustawiony oznacza sektor wolny, a bit skasowany - sektor zajęty. Bity przypisywane są od lewej do prawej sektorom o rosnących numerach, a więc jeśli bit 7 bajtu opisuje stan sektora numer &#039;n&#039;, to bit 6 odpowiada za sektor &#039;n+1&#039;, bit 5 za &#039;n+2&#039; itd.&lt;br /&gt;
&lt;br /&gt;
Pierwszy bajt mapy opisuje stan sektorów o numerach od 0 do 7 (pomimo że sektor 0 nie istnieje). Na pustej dyskietce jego wartość to $0F, co oznacza, że z grupy sektorów 0-7 cztery pierwsze (0-3) są zajęte, a reszta (4-7) wolna. Ostatni sektor dyskietki DD ma przypisany bit 7 bajtu nr 100 VTOC i jest oznaczony jako wolny.&lt;br /&gt;
&lt;br /&gt;
== Katalog ==&lt;br /&gt;
&lt;br /&gt;
Katalog główny zajmuje osiem sektorów o numerach od 361 do 368 ($0169-$0170). Pojedynczy wpis ma 16 bajtów długości, jego strukturę przedstawia tabelka:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border = 1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Offset&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Bajt statusu:&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 7 = 1 - plik lub katalog skasowany (pozostałe bity mają wtedy wartość 0),&lt;br /&gt;
* bit 6 = 1 - plik istniejący (bit 4 ma wtedy wartość 0),&lt;br /&gt;
* bit 5 = 1 - plik lub katalog zabezpieczony przed zapisem lub skasowaniem,&lt;br /&gt;
* bit 4 = 1 - katalog istniejący (bity 6, 2 i 1 mają wtedy wartość 0),&lt;br /&gt;
* bit 3 - niewykorzystany, MyDOS wpisuje tu 0,&lt;br /&gt;
* bit 2 = 1 - sektory danych pliku zawierają 16-bitowe dowiązania do następnego sektora,&lt;br /&gt;
* bit 1 = 1 - znaczenie nieustalone, dla plików ustawiany na 1&lt;br /&gt;
* bit 0 = 1 - plik jest otwarty do zapisu&lt;br /&gt;
&amp;lt;p&amp;gt;Ogólnie status $42 lub $46 oznacza plik istniejący, $62 lub $66 - plik tylko do odczytu, $10 - katalog, $80 - plik lub katalog skasowany itd.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$01-$02&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Liczba sektorów danych zajętych przez plik.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$03-$04&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Numer pierwszego sektora danych zajętego przez plik.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$05-$0C&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Nazwa pliku dopełniona spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0D-$0F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Rozszerzenie nazwy pliku dopełnione spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nazwa i rozszerzenie nazwy pliku mogą zawierać wielkie litery, cyfry, oraz znaki &amp;quot;@&amp;quot; i &amp;quot;_&amp;quot;, przy czym pierwszy znak nazwy nie może być cyfrą.&lt;br /&gt;
&lt;br /&gt;
Struktura katalogu jest bardzo podobna do tej, którą mamy w [[Format AtariDOS 2|DOS 2.0]]. Jedyną liczącą się różnicą jest to, że MyDOS ustawia zakładanym przez siebie plikom bit 2 statusu.&lt;br /&gt;
&lt;br /&gt;
W podwójnej gęstości wpisy katalogowe zajmują tylko pierwszą połówkę każdego sektora katalogu, reszta natomiast pozostaje pusta.&lt;br /&gt;
&lt;br /&gt;
Struktura podkatalogu jest identyczna jak struktura katalogu głównego.&lt;br /&gt;
&lt;br /&gt;
== Mapowanie plików ==&lt;br /&gt;
&lt;br /&gt;
Ciągłość plików oraz dokładne dane o ich długości (katalog zawiera tylko wielkość pliku w sektorach) zapewnia &amp;quot;link&amp;quot; umieszczony w trzech ostatnich bajtach każdego sektora danych. Wynika z tego, że w każdym sektorze dostępne jest tylko 125 (w [[SD]]) lub 253 (w [[DD]]) bajty na dane pliku, trzy pozostałe natomiast zajmuje DOS.&lt;br /&gt;
&lt;br /&gt;
W przypadku formatów zgodnych z DOS 2.0 (90 i 180k, pierwszy bajt VTOC = $02) struktura link jest identyczna jak w [[Format AtariDOS 2#Mapowanie plików|DOS-ie 2.0]]. Dla formatów specyficznych dla MyDOS-a (360k i więcej) link wygląda następująco:&lt;br /&gt;
&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |       0       |       1       |       2       |&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |        następny sektor        |  wypełnienie  |&lt;br /&gt;
 +-------------------------------+---------------+&lt;br /&gt;
&lt;br /&gt;
* 16 pierwszych bitów to &#039;&#039;&#039;numer następnego sektora pliku&#039;&#039;&#039;; w ostatnim sektorze pliku jest on równy zero. Kolejność bajtów jest odwrotna od ogólnie przyjętej (tj. bajt nr 0 jest &amp;quot;starszy&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ponieważ jedyna informacja na temat rozmieszczenia pliku znajduje się w przypisanych doń sektorach, rozmieszczenie sektorów pliku na dyskietce nigdy nie jest znane bez odczytania całości pliku aż do końca - co jest konieczne nawet przy jego kasowaniu. Z kolei fakt, że wskaźnik jest skierowany tylko w jedną stronę, tj. na następny sektor, powoduje, iż znalezienie sektora poprzedniego również wymaga odczytania pliku od początku; o funkcji seek() i swobodnym dostępie do danych pliku można więc przy takim filesystemie od razu zapomnieć&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Wypełnienie&#039;&#039;&#039;: ilość bajtów danych w sektorze. Pełny sektor danych ma tu wartość $7D (125) w [[SD]] i $FD (253) w [[DD]]. Liczba ta ma znaczenie tylko w ostatnim sektorze pliku, gdzie pozwala znaleźć koniec danych.&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [[Formaty systemów plików]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32412</id>
		<title>Format MyDOS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32412"/>
		<updated>2012-08-18T14:28:52Z</updated>

		<summary type="html">&lt;p&gt;Epi: link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Formaty systemów plików|Format dyskietki]] używany przez [[MyDOS]] jest rozwinięciem wcześniejszego formatu [[Format AtariDOS 2|DOS-u 2.0]]. Modyfikacje mają na celu zwiększenie maksymalnej pojemności dysku oraz wprowadzenie podkatalogów. &lt;br /&gt;
&lt;br /&gt;
== Cechy ogólne ==&lt;br /&gt;
&lt;br /&gt;
* Dopuszczalne wielkości sektorów: 128 i 256 bajtów&lt;br /&gt;
* Maksymalna pojemność filesystemu: 65535 sektorów (16 MB)&lt;br /&gt;
* Maksymalna wielkość pliku: 15,81 MB&lt;br /&gt;
* Maksymalna liczba plików na dysku: nieograniczona&lt;br /&gt;
* Struktura katalogowa: hierarchiczna&lt;br /&gt;
* Maksymalna liczba plików w katalogu: 64&lt;br /&gt;
* Wielkość wpisu w katalogu: 16 bajtów&lt;br /&gt;
* Nazwa pliku: 8+3&lt;br /&gt;
* Metoda linkowania plików: 3-bajtowy link w sektorze danych&lt;br /&gt;
* Metoda alokacji sektorów: mapa bitowa&lt;br /&gt;
&lt;br /&gt;
== Struktura ogólna ==&lt;br /&gt;
&lt;br /&gt;
Obsługiwana jest gęstość pojedyncza, rozszerzona i podwójna ([[SD]], [[ED]] i [[DD]]). Jednostką alokacji jest pojedynczy sektor fizyczny o wielkości 128 lub 256 bajtów. W sektorze nr 360 ($168) zaczyna się [[VTOC]], w sektorach 361-368 ($0169-$0170) znajduje się katalog główny dyskietki. W sektorach 1-3 jest program ładujący DOS. Dyski zainicjalizowane przez MyDOS mają w bajcie 0 sektora nr 1 kod ASCII litery M.&lt;br /&gt;
Początkowa pojemność dyskietki DD to 708 wolnych sektorów z ogólnej liczby 720.&lt;br /&gt;
&lt;br /&gt;
== VTOC ==&lt;br /&gt;
&lt;br /&gt;
W przeciwieństwie do sytuacji, jaką mamy w DOS 2.0, VTOC może zajmować ponad jeden sektor. Dodatkowe sektory VTOC zajmowane są licząc wstecz od sektora 360, przy czym na dyskach w SD, gdy liczba sektorów VTOC jest większa od 1, jest ona zawsze parzysta. Zatem, jeśli VTOC nie mieści się w pierwszym sektorze, to jako następny zostanie wykorzystany sektor nr 359. Dla jeszcze większych dysków w DD kolejnym zajętym sektorem będzie sektor nr 358, natomiast w SD będą to sektory nr 358 i 357.&lt;br /&gt;
&lt;br /&gt;
Bajt 0 sektora nr 360 definiuje zarówno sposób organizacji VTOC, jak i format trzybajtowego [[#Mapowanie plików|odnośnika]], znajdującego się na końcu każdego sektora danych. Wartość 2 oznacza, że cały VTOC mieści się w jednym sektorze i format odnośnika jest zgodny z DOS 2.0. Wartość większa od 2 oznacza liczbę 256-bajtowych bloków zajętych przez VTOC, dodać 2. Oznacza ona również, że odnośniki pozbawione są 6-bitowego pola z numerem pliku, a pole zawierające numer kolejnego sektora zostało rozszerzone do 16-bitów.&lt;br /&gt;
&lt;br /&gt;
Dwa dalsze bajty VTOC to zapisana w konwencji młodszy/starszy początkowa liczba wolnych sektorów dyskietki, czyli maksymalna liczba sektorów możliwych do wykorzystania na pliki (np. $02C4 = 708). Dwa kolejne bajty to bieżąca liczba wolnych sektorów.&lt;br /&gt;
&lt;br /&gt;
Bajty 5-9 VTOC są nieużywane. Od bajtu 10 rozciąga się mapa bitowa dyskietki. Każdy bajt opisuje stan ośmiu kolejnych sektorów, przy czym bit ustawiony oznacza sektor wolny, a bit skasowany - sektor zajęty. Bity przypisywane są od lewej do prawej sektorom o rosnących numerach, a więc jeśli bit 7 bajtu opisuje stan sektora numer &#039;n&#039;, to bit 6 odpowiada za sektor &#039;n+1&#039;, bit 5 za &#039;n+2&#039; itd.&lt;br /&gt;
&lt;br /&gt;
Pierwszy bajt mapy opisuje stan sektorów o numerach od 0 do 7 (pomimo że sektor 0 nie istnieje). Na pustej dyskietce jego wartość to $0F, co oznacza, że z grupy sektorów 0-7 cztery pierwsze (0-3) są zajęte, a reszta (4-7) wolna. Ostatni sektor dyskietki DD ma przypisany bit 7 bajtu nr 100 VTOC i jest oznaczony jako wolny.&lt;br /&gt;
&lt;br /&gt;
== Katalog ==&lt;br /&gt;
&lt;br /&gt;
Katalog główny zajmuje osiem sektorów o numerach od 361 do 368 ($0169-$0170). Pojedynczy wpis ma 16 bajtów długości, jego strukturę przedstawia tabelka:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border = 1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Offset&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Bajt statusu:&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 7 = 1 - plik skasowany; pozostałe bity mają wtedy wartość 0&lt;br /&gt;
* bit 6 = 1 - plik istnieje; stany bitów 6 i 7 są zawsze przeciwne&lt;br /&gt;
* bit 5 = 1 - plik/katalog jest zabezpieczony przed zapisem lub skasowaniem&lt;br /&gt;
* bit 4 = 1 - plik jest podkatalogiem (stany bitów 4 i 6 są zawsze przeciwne)&lt;br /&gt;
* bit 3 - niewykorzystany&lt;br /&gt;
* bit 2 = 1 - znaczenie nieustalone, dla plików ustawiany na 1&lt;br /&gt;
* bit 1 = 1 - znaczenie nieustalone, dla plików ustawiany na 1&lt;br /&gt;
* bit 0 = 1 - plik jest otwarty do zapisu&lt;br /&gt;
&amp;lt;p&amp;gt;Ogólnie status $46 oznacza plik istniejący, $66 plik zabezpieczony przed zapisem, $80 plik skasowany, $10 katalog itp.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$01-$02&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wielkość pliku w sektorach.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$03-$04&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Numer pierwszego sektora zajętego przez plik.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$05-$0C&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Nazwa pliku dopełniona spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0D-$0F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Rozszerzenie nazwy pliku dopełnione spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Struktura katalogu jest bardzo podobna do tej, którą mamy w [[Format AtariDOS 2|DOS 2.0]]. Jedyną liczącą się różnicą jest to, że MyDOS ustawia zakładanym przez siebie plikom bit 2 statusu.&lt;br /&gt;
&lt;br /&gt;
W podwójnej gęstości wpisy katalogowe zajmują tylko pierwszą połówkę każdego sektora katalogu, reszta natomiast pozostaje pusta.&lt;br /&gt;
&lt;br /&gt;
Struktura podkatalogu jest identyczna jak struktura katalogu głównego.&lt;br /&gt;
&lt;br /&gt;
== Mapowanie plików ==&lt;br /&gt;
&lt;br /&gt;
Ciągłość plików oraz dokładne dane o ich długości (katalog zawiera tylko wielkość pliku w sektorach) zapewnia &amp;quot;link&amp;quot; umieszczony w trzech ostatnich bajtach każdego sektora danych. Wynika z tego, że w każdym sektorze dostępne jest tylko 125 (w [[SD]]) lub 253 (w [[DD]]) bajty na dane pliku, trzy pozostałe natomiast zajmuje DOS.&lt;br /&gt;
&lt;br /&gt;
W przypadku formatów zgodnych z DOS 2.0 (90 i 180k, pierwszy bajt VTOC = $02) struktura link jest identyczna jak w [[Format AtariDOS 2#Mapowanie plików|DOS-ie 2.0]]. Dla formatów specyficznych dla MyDOS-a (360k i więcej) link wygląda następująco:&lt;br /&gt;
&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |       0       |       1       |       2       |&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |        następny sektor        |  wypełnienie  |&lt;br /&gt;
 +-------------------------------+---------------+&lt;br /&gt;
&lt;br /&gt;
* 16 pierwszych bitów to &#039;&#039;&#039;numer następnego sektora pliku&#039;&#039;&#039;; w ostatnim sektorze pliku jest on równy zero. Kolejność bajtów jest odwrotna od ogólnie przyjętej (tj. bajt nr 0 jest &amp;quot;starszy&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ponieważ jedyna informacja na temat rozmieszczenia pliku znajduje się w przypisanych doń sektorach, rozmieszczenie sektorów pliku na dyskietce nigdy nie jest znane bez odczytania całości pliku aż do końca - co jest konieczne nawet przy jego kasowaniu. Z kolei fakt, że wskaźnik jest skierowany tylko w jedną stronę, tj. na następny sektor, powoduje, iż znalezienie sektora poprzedniego również wymaga odczytania pliku od początku; o funkcji seek() i swobodnym dostępie do danych pliku można więc przy takim filesystemie od razu zapomnieć&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Wypełnienie&#039;&#039;&#039;: ilość bajtów danych w sektorze. Pełny sektor danych ma tu wartość $7D (125) w [[SD]] i $FD (253) w [[DD]]. Liczba ta ma znaczenie tylko w ostatnim sektorze pliku, gdzie pozwala znaleźć koniec danych.&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [[Formaty systemów plików]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32411</id>
		<title>Format MyDOS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Format_MyDOS&amp;diff=32411"/>
		<updated>2012-08-18T14:26:10Z</updated>

		<summary type="html">&lt;p&gt;Epi: Prawda o VTOC.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Formaty systemów plików|Format dyskietki]] używany przez [[MyDOS]] jest rozwinięciem wcześniejszego formatu [[Format AtariDOS 2|DOS-u 2.0]]. Modyfikacje mają na celu zwiększenie maksymalnej pojemności dysku oraz wprowadzenie podkatalogów. &lt;br /&gt;
&lt;br /&gt;
== Cechy ogólne ==&lt;br /&gt;
&lt;br /&gt;
* Dopuszczalne wielkości sektorów: 128 i 256 bajtów&lt;br /&gt;
* Maksymalna pojemność filesystemu: 65535 sektorów (16 MB)&lt;br /&gt;
* Maksymalna wielkość pliku: 15,81 MB&lt;br /&gt;
* Maksymalna liczba plików na dysku: nieograniczona&lt;br /&gt;
* Struktura katalogowa: hierarchiczna&lt;br /&gt;
* Maksymalna liczba plików w katalogu: 64&lt;br /&gt;
* Wielkość wpisu w katalogu: 16 bajtów&lt;br /&gt;
* Nazwa pliku: 8+3&lt;br /&gt;
* Metoda linkowania plików: 3-bajtowy link w sektorze danych&lt;br /&gt;
* Metoda alokacji sektorów: mapa bitowa&lt;br /&gt;
&lt;br /&gt;
== Struktura ogólna ==&lt;br /&gt;
&lt;br /&gt;
Obsługiwana jest gęstość pojedyncza, rozszerzona i podwójna ([[SD]], [[ED]] i [[DD]]). Jednostką alokacji jest pojedynczy sektor fizyczny o wielkości 128 lub 256 bajtów. W sektorze nr 360 ($168) zaczyna się [[VTOC]], w sektorach 361-368 ($0169-$0170) znajduje się katalog główny dyskietki. W sektorach 1-3 jest program ładujący DOS. Dyski zainicjalizowane przez MyDOS mają w bajcie 0 sektora nr 1 kod ASCII litery M.&lt;br /&gt;
Początkowa pojemność dyskietki DD to 708 wolnych sektorów z ogólnej liczby 720.&lt;br /&gt;
&lt;br /&gt;
== VTOC ==&lt;br /&gt;
&lt;br /&gt;
W przeciwieństwie do sytuacji, jaką mamy w DOS 2.0, VTOC może zajmować ponad jeden sektor. Dodatkowe sektory VTOC zajmowane są licząc wstecz od sektora 360, przy czym na dyskach w SD, gdy liczba sektorów VTOC jest większa od 1, jest ona zawsze parzysta. Zatem, jeśli VTOC nie mieści się w pierwszym sektorze, to jako następny zostanie wykorzystany sektor nr 359. Dla jeszcze większych dysków w DD kolejnym zajętym sektorem będzie sektor nr 358, natomiast w SD będą to sektory nr 358 i 357.&lt;br /&gt;
&lt;br /&gt;
Bajt 0 sektora nr 360 definiuje zarówno sposób organizacji VTOC, jak i format trzybajtowego &amp;quot;[[odnośnika|#Mapowanie plików]]&amp;quot;, znajdującego się na końcu każdego sektora danych. Wartość 2 oznacza, że cały VTOC mieści się w jednym sektorze i format odnośnika jest zgodny z DOS 2.0. Wartość większa od 2 oznacza liczbę 256-bajtowych bloków zajętych przez VTOC, dodać 2. Oznacza ona również, że odnośniki pozbawione są 6-bitowego pola z numerem pliku, a pole zawierające numer kolejnego sektora zostało rozszerzone do 16-bitów.&lt;br /&gt;
&lt;br /&gt;
Dwa dalsze bajty VTOC to zapisana w konwencji młodszy/starszy początkowa liczba wolnych sektorów dyskietki, czyli maksymalna liczba sektorów możliwych do wykorzystania na pliki (np. $02C4 = 708). Dwa kolejne bajty to bieżąca liczba wolnych sektorów.&lt;br /&gt;
&lt;br /&gt;
Bajty 5-9 VTOC są nieużywane. Od bajtu 10 rozciąga się mapa bitowa dyskietki. Każdy bajt opisuje stan ośmiu kolejnych sektorów, przy czym bit ustawiony oznacza sektor wolny, a bit skasowany - sektor zajęty. Bity przypisywane są od lewej do prawej sektorom o rosnących numerach, a więc jeśli bit 7 bajtu opisuje stan sektora numer &#039;n&#039;, to bit 6 odpowiada za sektor &#039;n+1&#039;, bit 5 za &#039;n+2&#039; itd.&lt;br /&gt;
&lt;br /&gt;
Pierwszy bajt mapy opisuje stan sektorów o numerach od 0 do 7 (pomimo że sektor 0 nie istnieje). Na pustej dyskietce jego wartość to $0F, co oznacza, że z grupy sektorów 0-7 cztery pierwsze (0-3) są zajęte, a reszta (4-7) wolna. Ostatni sektor dyskietki DD ma przypisany bit 7 bajtu nr 100 VTOC i jest oznaczony jako wolny.&lt;br /&gt;
&lt;br /&gt;
== Katalog ==&lt;br /&gt;
&lt;br /&gt;
Katalog główny zajmuje osiem sektorów o numerach od 361 do 368 ($0169-$0170). Pojedynczy wpis ma 16 bajtów długości, jego strukturę przedstawia tabelka:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border = 1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Offset&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$00&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Bajt statusu:&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 7 = 1 - plik skasowany; pozostałe bity mają wtedy wartość 0&lt;br /&gt;
* bit 6 = 1 - plik istnieje; stany bitów 6 i 7 są zawsze przeciwne&lt;br /&gt;
* bit 5 = 1 - plik/katalog jest zabezpieczony przed zapisem lub skasowaniem&lt;br /&gt;
* bit 4 = 1 - plik jest podkatalogiem (stany bitów 4 i 6 są zawsze przeciwne)&lt;br /&gt;
* bit 3 - niewykorzystany&lt;br /&gt;
* bit 2 = 1 - znaczenie nieustalone, dla plików ustawiany na 1&lt;br /&gt;
* bit 1 = 1 - znaczenie nieustalone, dla plików ustawiany na 1&lt;br /&gt;
* bit 0 = 1 - plik jest otwarty do zapisu&lt;br /&gt;
&amp;lt;p&amp;gt;Ogólnie status $46 oznacza plik istniejący, $66 plik zabezpieczony przed zapisem, $80 plik skasowany, $10 katalog itp.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$01-$02&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wielkość pliku w sektorach.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$03-$04&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Numer pierwszego sektora zajętego przez plik.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$05-$0C&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Nazwa pliku dopełniona spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0D-$0F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Rozszerzenie nazwy pliku dopełnione spacjami.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Struktura katalogu jest bardzo podobna do tej, którą mamy w [[Format AtariDOS 2|DOS 2.0]]. Jedyną liczącą się różnicą jest to, że MyDOS ustawia zakładanym przez siebie plikom bit 2 statusu.&lt;br /&gt;
&lt;br /&gt;
W podwójnej gęstości wpisy katalogowe zajmują tylko pierwszą połówkę każdego sektora katalogu, reszta natomiast pozostaje pusta.&lt;br /&gt;
&lt;br /&gt;
Struktura podkatalogu jest identyczna jak struktura katalogu głównego.&lt;br /&gt;
&lt;br /&gt;
== Mapowanie plików ==&lt;br /&gt;
&lt;br /&gt;
Ciągłość plików oraz dokładne dane o ich długości (katalog zawiera tylko wielkość pliku w sektorach) zapewnia &amp;quot;link&amp;quot; umieszczony w trzech ostatnich bajtach każdego sektora danych. Wynika z tego, że w każdym sektorze dostępne jest tylko 125 (w [[SD]]) lub 253 (w [[DD]]) bajty na dane pliku, trzy pozostałe natomiast zajmuje DOS.&lt;br /&gt;
&lt;br /&gt;
W przypadku formatów zgodnych z DOS 2.0 (90 i 180k, pierwszy bajt VTOC = $02) struktura link jest identyczna jak w [[Format AtariDOS 2#Mapowanie plików|DOS-ie 2.0]]. Dla formatów specyficznych dla MyDOS-a (360k i więcej) link wygląda następująco:&lt;br /&gt;
&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |       0       |       1       |       2       |&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|&lt;br /&gt;
 +---------------+---------------+---------------+&lt;br /&gt;
 |        następny sektor        |  wypełnienie  |&lt;br /&gt;
 +-------------------------------+---------------+&lt;br /&gt;
&lt;br /&gt;
* 16 pierwszych bitów to &#039;&#039;&#039;numer następnego sektora pliku&#039;&#039;&#039;; w ostatnim sektorze pliku jest on równy zero. Kolejność bajtów jest odwrotna od ogólnie przyjętej (tj. bajt nr 0 jest &amp;quot;starszy&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ponieważ jedyna informacja na temat rozmieszczenia pliku znajduje się w przypisanych doń sektorach, rozmieszczenie sektorów pliku na dyskietce nigdy nie jest znane bez odczytania całości pliku aż do końca - co jest konieczne nawet przy jego kasowaniu. Z kolei fakt, że wskaźnik jest skierowany tylko w jedną stronę, tj. na następny sektor, powoduje, iż znalezienie sektora poprzedniego również wymaga odczytania pliku od początku; o funkcji seek() i swobodnym dostępie do danych pliku można więc przy takim filesystemie od razu zapomnieć&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Wypełnienie&#039;&#039;&#039;: ilość bajtów danych w sektorze. Pełny sektor danych ma tu wartość $7D (125) w [[SD]] i $FD (253) w [[DD]]. Liczba ta ma znaczenie tylko w ostatnim sektorze pliku, gdzie pozwala znaleźć koniec danych.&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [[Formaty systemów plików]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=SIO&amp;diff=32407</id>
		<title>SIO</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=SIO&amp;diff=32407"/>
		<updated>2012-08-10T20:40:56Z</updated>

		<summary type="html">&lt;p&gt;Epi: Suma kontrolna SIO nie jest kodem CRC.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Serial Input/Output. W założeniach jest to rezydujący w ROM-ie podsystem niskopoziomowych procedur blokowego dostępu do urządzeń szeregowych, to jest przede wszystkim stacji dysków, drukarek, modemów i magnetofonu. Wszystkie te urządzenia podłącza się w Atari do [[Gniazdo SIO|gniazda SIO]].&lt;br /&gt;
&lt;br /&gt;
W serii [[XL]] do podsystemu SIO dodano także niskopoziomową (blokową) obsługę urządzeń podłączanych do szyny równoległej ([[PBI]]), czyli tak zwanych [[nowe urządzenia|nowych urządzeń]].&lt;br /&gt;
&lt;br /&gt;
==Sposób użycia==&lt;br /&gt;
&lt;br /&gt;
Żądaną operację definiuje się ustawiwszy przedtem odpowiednie zmienne w bloku DCB (Device Control Block, $0300), a następnie wywołuje skokiem JSR pod JSIOINT $E459, co jest punktem wejściowym interfejsu szeregowo-równoległego. Przy powrocie rejestr Y zawiera wartość 1 w przypadku powodzenia, bądź ujemny [[kody błędów|kod błędu]].&lt;br /&gt;
&lt;br /&gt;
===Struktura DCB===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Adres&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Etykieta&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Wielkość&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Znaczenie&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0300&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DDEVIC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Identyfikator urządzenia (zob. niżej).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0301&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DUNIT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Numer urządzenia; w przypadku stacji dysków numer napędu.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0302&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DCMND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Komenda dla urządzenia.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0303&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DSTATS&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Przed wywołaniem SIO należy ustawić tu rodzaj operacji ($40 odczyt, $80 zapis, $C0 zapis i odczyt, $00 brak transferu danych). Po powrocie z systemu znajduje się tu status operacji ([[kody błędów|kod błędu]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0304&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DBUFA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Dwa bajty&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Adres bufora. Przy operacji zapisu i odczytu jednocześnie (DSTATS = $C0) bufor na odczytywane dane znajduje się bezpośrednio po porcji danych przeznaczonych do zapisu (pod adresem DBUFA + DBYT).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0306&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DTIMLO&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Czas oczekiwania na pozytywną odpowiedź urządzenia, tzw. &#039;&#039;timeout&#039;&#039;. Oblicza się to jak następuje: wartość DTIMLO mnożona jest przez 64, w wyniku czego otrzymujemy liczbę &amp;quot;[[ramka|ramek]]&amp;quot; [[VBL]] do odczekania. Zwiększenie DTIMLO o jeden powoduje wydłużenie czasu oczekiwania o 1,28 sek. w systemie PAL i o 1,067 sek. w systemie NTSC. Wartość &amp;quot;0&amp;quot; oznacza 256 jednostek.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Typowo ustawia się tu wartość z zakresu od $06 do $08 (zależnie od kaprysu programisty) dla wszystkich operacji oprócz formatowania. Właściwą wartość timeout dla formatowania urządzenie przesyła w bloku statusu, w odpowiedzi na komendę READ STATUS (&amp;quot;S&amp;quot;, zob. niżej).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0307&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DUNUSE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt nieużywany, zarezerwowany do przyszłych zastosowań.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0308&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DBYT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Dwa bajty&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Wielkość bufora; musi być zgodna z wielkością transmitowanego bloku danych. Zero oznacza 64 kilobajty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$030A&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DAUX1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pierwszy bajt pomocniczy. W operacjach dyskowych młodszy bajt numeru sektora.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$030B&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DAUX2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bajt&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Drugi bajt pomocniczy. W operacjach dyskowych starszy bajt numeru sektora.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wykaz urządzeń===&lt;br /&gt;
&lt;br /&gt;
Istnieje pięć urządzeń zdefiniowanych przez Atari. Właściwy identyfikator urządzenia (CDEVIC) zestawiany jest przez system z kodu urządzenia (DDEVIC) i jego numeru indywidualnego (DUNIT). Wartości te są dodawane, po czym jeszcze odejmuje się 1. Dlatego stację dysków nr 1 można wywołać też jako DDEVIC=$32 i DUNIT=0, liczy się wynik wspomnianego dodawania (CDEVIC). UWAGA: jest to tzw. &amp;quot;nieudokumentowana&amp;quot; cecha procedur szeregowych OS-u, inne urządzenia (jak np. [[nowe urządzenia]]) mogą tego nie robić.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;DDEVIC&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;CDEVIC&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$31-$3F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;dyskowa pamięć masowa (stacja dysków, twardy dysk)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$40&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$40-$43&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;drukarka&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$4F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$4F&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;bus master (moduł [[1090]])&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$50-$53&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;port szeregowy RS-232C&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$60&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$60&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;magnetofon kasetowy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przypisanie identyfikatorów do poszczególnych urządzeń jest niezbyt konsekwentne, np. CDEVIC=$31 to stacja dysków numer 1, ale CDEVIC=$41 to drukarka numer 2.&lt;br /&gt;
&lt;br /&gt;
Urządzeniem, które na podanej powyżej liście jest wyjątkowe, jest magnetofon kasetowy. Jest to jedyne &amp;quot;nieinteligentne&amp;quot; urządzenie peryferyjne, to jest nie zawierające własnego procesora. Wszystkie zadania związane z wysyłaniem danych na magnetofon i odbiorem z niego wykonuje system operacyjny komputera. W odróżnieniu od innych urządzeń, magnetofon okupuje tylko identyfikator $60, a wartość DUNIT jest ignorowana - w związku z tym kody urządzeń od $61 do $6F są (na razie) wolne.&lt;br /&gt;
&lt;br /&gt;
Wartości CDEVIC powyżej $7F są zarezerwowane dla pewnych rozszerzeń protokołu SIO, patrz [[SIO#Rozszerzenia_SIO|niżej]].&lt;br /&gt;
&lt;br /&gt;
Ponieważ identyfikator jest częścią wysyłanej do urządzenia komendy, więc budując własne urządzenie można posłużyć się identyfikatorem spoza powyżej wyszczególnionych:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;DDEVIC&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;CDEVIC&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$20&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[IDE Plus]], [[SIDE]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$45&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$45&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[APE Time]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$5A&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$5A&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[ATR 8000]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$61&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$61&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[AtariSIO]], [[DOS2DOS]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$70&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$70&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mathyvannisselroy.nl/aspi.htm Atari ASPI] (zob. [http://pl.wikipedia.org/wiki/ASPI ASPI])&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$71-$74&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$71-$74&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[SDrive]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$71&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$70&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[SIO2USB]] [http://www.atariage.com/forums/topic/155690-ape-time/page__view__findpost__p__1916403?s=2e4d3fd681ca05ec0c05b0a7e5474dd6]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$73&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72-$75&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[SIO2SD|Sio2SD]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wykazy komend===&lt;br /&gt;
&lt;br /&gt;
* [[Lista komend SIO według funkcji]]&lt;br /&gt;
* [[Lista komend SIO według kodów operacyjnych]]&lt;br /&gt;
&lt;br /&gt;
===Blok statusu===&lt;br /&gt;
&lt;br /&gt;
Blok statusu przysyłany na komendę żądania statusu ($53) ma strukturę w dużym stopniu zależną od urządzenia. Są to dwa lub cztery bajty, a ich znaczenie dla poszczególnych urządzeń jest opisane poniżej. W pierwszym bajcie statusu obowiązuje jednolity dla wszystkich urządzeń podział na dwie grupy bitów:&lt;br /&gt;
&lt;br /&gt;
* bity 0-2 sygnalizują status komunikacji pomiędzy komputerem a urządzeniem&lt;br /&gt;
* bity 3-7 sygnalizują status wewnętrzny urządzenia&lt;br /&gt;
&lt;br /&gt;
====Stacja dysków====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding=4&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Bajt&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Znaczenie&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
* bit 0 = 1 - wydana ostatnio komenda nie została rozpoznana&lt;br /&gt;
* bit 1 = 1 - przesłany ostatnio blok danych był błędny (błąd sumy kontrolnej)&lt;br /&gt;
* bit 2 = 1 - ostatnia operacja nie powiodła się (np. próbowano odczytać wadliwy sektor)&lt;br /&gt;
* bit 3 = 1 - dyskietka jest zabezpieczona przed zapisem&lt;br /&gt;
* bit 4 = 1 - kręci się silnik obracający dyskietkę&lt;br /&gt;
* bit 5 = 1 - sektory 256-bajtowe (128-bajtowe w przeciwnym wypadku)&lt;br /&gt;
* bit 6 = 0 - zarezerwowany&lt;br /&gt;
* bit 7 = 1 - praca w średniej gęstości&lt;br /&gt;
&amp;lt;p&amp;gt;W przypadku interfejsu [[KMK/JŻ]] IDE znaczenie mają tylko bity 3 i 5, reszta jest zawsze wyzerowana.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Kopia rejestru statusu kontrolera WD 1772 (lub kompatybilnego), wszystkie bity są poddane inwersji.&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 0 = 1 - BUSY&lt;br /&gt;
* bit 1 = 1 - DRQ (Data Request)&lt;br /&gt;
* bit 2 = 1 - Track 0 not found&lt;br /&gt;
* bit 3 = 1 - CRC error&lt;br /&gt;
* bit 4 = 1 - Record not found&lt;br /&gt;
* bit 5 = 1 - Seek complete&lt;br /&gt;
* bit 6 = 1 - Write protected&lt;br /&gt;
* bit 7 = 1 - Not ready&lt;br /&gt;
&amp;lt;p&amp;gt;Interfejs IDE [[KMK/JŻ]] zwraca zamiast tego zawartość rejestru ERROR kontrolera IDE:&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 0 = 1 - Data Address Mark not found&lt;br /&gt;
* bit 1 = 1 - Track 0 not found&lt;br /&gt;
* bit 2 = 1 - Aborted command&lt;br /&gt;
* bit 3, zarezerwowany&lt;br /&gt;
* bit 4 = 1 - ID not found&lt;br /&gt;
* bit 5, zarezerwowany&lt;br /&gt;
* bit 6 = 1 - ECC error&lt;br /&gt;
* bit 7 = 1 - Bad sector&lt;br /&gt;
&amp;lt;p&amp;gt;Podobnie jak powyżej wszystkie bity są poddane inwersji (EOR #$FF).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Maksymalny czas oczekiwania na wykonanie komendy (timeout) przewidziany dla operacji dyskowej. Najdłużej trwa formatowanie, zalecaną wartością jest 240.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie używany.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Drukarka====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding=4&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Bajt&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Znaczenie&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
* bit 0 = 1 - wydana ostatnio komenda nie została rozpoznana&lt;br /&gt;
* bit 1 = 1 - przesłany ostatnio blok danych był błędny (błąd sumy kontrolnej)&lt;br /&gt;
* bit 7 = 1 - drukarka jest programowalna (w drukarkach Atari ten bit jest skasowany)&lt;br /&gt;
Pozostałe bity są zarezerwowane.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DAUX2 przesłanej ostatnio komendy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Maksymalny czas oczekiwania na wykonanie komendy (timeout) przewidziany dla tej drukarki&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie używany.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====RS-232 ([[850|Atari 850]])====&lt;br /&gt;
&lt;br /&gt;
Blok statusu portu RS-232 ma dwa bajty (w pozostałych urządzeniach - cztery).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding=4&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Bajt&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Znaczenie&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
* bit 0 = 1 - wydana ostatnio komenda nie została rozpoznana&lt;br /&gt;
* bit 1 = 1 - przesłany ostatnio blok danych był błędny (błąd sumy kontrolnej)&lt;br /&gt;
* bit 2, zarezerwowany&lt;br /&gt;
* bit 3, zarezerwowany&lt;br /&gt;
* bit 4 = 1 - przepełnienie bufora RS-232&lt;br /&gt;
* bit 5 = 1 - błąd parzystości RS-232&lt;br /&gt;
* bit 6 = 1 - na porcie RS-232 wystąpił nadmiar bitów (overrun) &lt;br /&gt;
* bit 7 = 1 - na porcie RS-232 wystąpiło zakłócenie transmisji szeregowej (framing error)&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
* bit 0 = 1 - RCV (czyli RX) ustawione&lt;br /&gt;
* bit 1, zarezerwowany&lt;br /&gt;
* bit 2, kopia bitu 3&lt;br /&gt;
* bit 3 = 1 - CRX (czyli DCD) ustawione&lt;br /&gt;
* bit 4, kopia bitu 5&lt;br /&gt;
* bit 5 = 1 - CTS ustawione&lt;br /&gt;
* bit 6, kopia bitu 7&lt;br /&gt;
* bit 7 = 1 - DSR ustawione&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Magnetofon kasetowy====&lt;br /&gt;
&lt;br /&gt;
Przyjmuje się, że magnetofon, jako urządzenie &amp;quot;nieinteligentne&amp;quot;, jest zawsze podłączony i gotowy do pracy, a więc nie zachodzi potrzeba sprawdzania jego statusu. W związku z tym funkcja READ STATUS ($53) nie jest dla magnetofonu zaimplementowana.&lt;br /&gt;
&lt;br /&gt;
===Blok PERCOM===&lt;br /&gt;
&lt;br /&gt;
Blok PERCOM jest to 12 bajtów informacji o konfiguracji stacji dysków. Odczyt przeprowadza się komendą $4E (&amp;quot;N&amp;quot;), a zapis - komendą $4F (&amp;quot;O&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Bajt&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Liczba ścieżek na dyskietce; w praktyce dla stacji dysków spotyka się wartości najczęściej 40 lub 80, rzadziej 35 lub 77. Partycje twardego dysku zwracają 1.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Szybkość przesuwu głowicy ze ścieżki na ścieżkę:&lt;br /&gt;
* 0 - 30 ms&lt;br /&gt;
* 1 - 20 ms&lt;br /&gt;
* 2 - 12 ms&lt;br /&gt;
* 3 - 6 ms&lt;br /&gt;
&amp;lt;p&amp;gt;W praktyce stacje przeważnie ignorują przesłaną wartość. W przypadku twardego dysku jest ona bez znaczenia (kontroler KMK/JŻ zwraca w tym bajcie numer wersji wewnętrznego oprogramowania)&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;STARSZY bajt liczby sektorów na ścieżce.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;MŁODSZY bajt liczby sektorów na ścieżce.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Liczba aktywnych stron dyskietki zmniejszona o 1 albo najstarszy bajt liczby sektorów partycji twardego dysku (patrz niżej).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
* bit 0 - zarezerwowany&lt;br /&gt;
* bit 1 = 1, dyskietka ośmiocalowa; 5,25 cala w przeciwnym wypadku&lt;br /&gt;
* bit 2 = 1, gęstość MFM, FM w przeciwnym wypadku&lt;br /&gt;
* bit 3 = 1, dysk nie ma &amp;quot;stron&amp;quot;, a zamiast liczby stron jest podany najstarszy bajt całkowitej liczby sektorów dysku (partycji twardego dysku)&lt;br /&gt;
&amp;lt;p&amp;gt;Pozostałe bity są zarezerwowane i powinny być wyzerowane.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;STARSZY bajt wielkości sektora (w bajtach)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;7&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;MŁODSZY bajt wielkości sektora (w bajtach)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Niewykorzystany, zapisuje się - i przeważnie odczytuje - jako $FF. W oryginalnych stacjach PERCOM bajt ten sygnalizował stan niektórych funkcji kontrolera stacji i służył do ich wybierania:&amp;lt;/p&amp;gt;&lt;br /&gt;
* bit 0 = 1, sektory fizyczne na ścieżce numerowane są od 0, a nie od 1.&lt;br /&gt;
* bit 1 = 1, sektory fizyczne 1,2,3 mają pełne rozmiary.&lt;br /&gt;
* bit 2, zarezerwowany&lt;br /&gt;
* bit 3, zarezerwowany&lt;br /&gt;
* bit 4, zarezerwowany&lt;br /&gt;
* bit 5, zarezerwowany&lt;br /&gt;
* bit 6 = 0, napęd stacji jest odłączony (wyjęty).&lt;br /&gt;
* bit 7 = 1, napęd 80-ścieżkowy pracuje w trybie 40-ścieżkowym.&lt;br /&gt;
&amp;lt;p&amp;gt;W praktyce większość stacji nie ustawia tych bitów zgodnie z powyższym opisem.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;9&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Niewykorzystane, na ogół 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Niewykorzystane, na ogół 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;11&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Niewykorzystane, na ogół 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Protokół transmisji==&lt;br /&gt;
&lt;br /&gt;
=== Połączenia równoległe ===&lt;br /&gt;
&lt;br /&gt;
Protokół transmisji urządzeń podłączanych do szyny równoległej jest zależny od programu obsługi urządzenia zawartego w jego pamięci ROM. System operacyjny tego nie definiuje.&lt;br /&gt;
&lt;br /&gt;
=== Połączenia szeregowe ===&lt;br /&gt;
&lt;br /&gt;
Podziału poszczególnych bajtów na bity i wyemitowania ich na złącze szeregowe tudzież przyjmowania pojedynczych bitów i scalania ich w bajty dokonuje sprzętowo układ [[POKEY]] (quod vide).&lt;br /&gt;
&lt;br /&gt;
==== Opis przebiegu komunikacji ====&lt;br /&gt;
Przebieg komunikacji pomiędzy komputerem a urządzeniem jest następujący:&lt;br /&gt;
&lt;br /&gt;
1) komputer ustawia linię COMMAND [[gniazdo SIO|portu SIO]];&lt;br /&gt;
&lt;br /&gt;
2) komputer formuje czterobajtowy blok komendy, tzw. Command Frame. Command Frame składa się kolejno z (bajt 1) dodanych do siebie wartości DDEVIC i DUNIT, odjąć 1; (bajt 2) wartości DCMND; (bajt 3) wartości DAUX1; (bajt 4) wartości DAUX2;&lt;br /&gt;
&lt;br /&gt;
3) komenda jest wysyłana do urządzenia razem z dołączoną na końcu [[suma kontrolna SIO|sumą kontrolną]]; czas pomiędzy ustawieniem linii COMMAND a rozpoczęciem wysyłania komendy musi być nie mniejszy niż 750 usec i nie większy niż 1600 usec.&lt;br /&gt;
&lt;br /&gt;
4) komputer kasuje linię COMMAND portu SIO (nie wcześniej niż po 650 usec i nie później niż 950 usec po wysłaniu ostatniego bitu komendy) i czeka na odpowiedź;&lt;br /&gt;
&lt;br /&gt;
5) urządzenie przyjmuje komendę; jeśli urządzenie stwierdziło w komendzie błąd sumy kontrolnej, nie reaguje; jeśli komenda jest nierozpoznana, albo nieprawidłowe są jej parametry (np. nie istnieje sektor o podanym numerze), odpowiedzią jest $4E (&amp;quot;N&amp;quot;, jak Negative Acknowledge) i na tym transmisja się kończy; jeśli komenda jest urządzeniu znana a parametry prawidłowe, odpowiedzią jest $41 (&amp;quot;A&amp;quot;, jak Acknowledge). Urządzenie musi rozpocząć wysyłanie odpowiedzi w czasie od 0 do 16 msec. od skasowania linii COMMAND przez komputer;&lt;br /&gt;
&lt;br /&gt;
Dalszy przebieg jest zależny tego, czy dana komenda wymaga przesłania dodatkowego bloku danych do/z urządzenia. Możliwe są 3 sytuacje: brak transmisji danych; odczyt danych z urządzenia; zapis danych do urządzenia.&lt;br /&gt;
&lt;br /&gt;
6a) Jeśli komenda nie wymaga transmisji bloku danych, urządzenie podejmuje próbę wykonania operacji; jeśli się to nie uda, wysyła kod $45 (&amp;quot;E&amp;quot;, jak Error); w przeciwnym wypadku przesyłany jest kod $43 (&amp;quot;C&amp;quot;, jak Complete); na tym transmisja się kończy.&lt;br /&gt;
&lt;br /&gt;
6b) jeśli komenda polega na odczycie bloku danych, urządzenie podejmuje próbę wykonania operacji; jeśli się to nie uda (np. nie można odczytać sektora z powodu uszkodzenia nośnika), wysyła kod $45 (&amp;quot;E&amp;quot;, jak Error); w przeciwnym wypadku przesyłany jest kod $43 (&amp;quot;C&amp;quot;, jak Complete); następnie w obydwu przypadkach urządzenie natychmiast wysyła blok danych zakończony sumą kontrolną i na tym transmisja się kończy.&lt;br /&gt;
&lt;br /&gt;
6c) jeśli to jest zapis bloku danych, komputer przesyła blok danych plus sumę kontrolną do urządzenia. Po jego przyjęciu, jeśli blok danych jest poprawny, urządzenie odpowiada kodem $41 (&amp;quot;A&amp;quot;) i przystępuje do np. zapisania danych na nośnik. W przeciwnym wypadku, jeśli w nadesłanym bloku danych urządzenie stwierdzi błąd sumy kontrolnej lub inne nieprawidłowości, odpowiada kodem $4E (&amp;quot;N&amp;quot;) lub nie odpowiada w ogóle, a blok danych ignoruje. W następnej fazie urządzenie informuje komputer o wykonaniu kodem &amp;quot;C&amp;quot; lub &amp;quot;E&amp;quot; o znaczeniu jak powyżej, i na tym transmisja się kończy. Przesłanie bloku danych musi rozpocząć się nie wcześniej niż 1000 usec. i nie później niż 1800 usec. po przesłaniu ostatniego bitu potwierdzeniu przyjęcia komendy (pierwszym &amp;quot;A&amp;quot;). Rozpoczęcie przesłania potwierdzenia otrzymania bloku (&amp;quot;A&amp;quot; lub &amp;quot;N&amp;quot;) musi nastąpić w czasie od 850 usec. do 16 msec. po przesłaniu ostatniego bitu bloku danych.&lt;br /&gt;
&lt;br /&gt;
We wszystkich 3 przypadkach transmisja potwierdzenia końcowego (&amp;quot;C&amp;quot; lub &amp;quot;E&amp;quot;) z urządzenia musi rozpocząć się nie wcześniej niż po 250 usec. i nie później niż po 255 sekundach - czyli po 4 minutach i 15 sekundach - od przesłania ostatniego bitu potwierdzenia komendy (&amp;quot;A&amp;quot;) (6a, 6b) lub od odebrania ostatniego bitu bloku danych (6c).&lt;br /&gt;
&lt;br /&gt;
Konieczność odebrania bloku danych z urządzenia podczas operacji odczytu, nawet po ustaleniu że operacja została wykonana błędnie (kod &amp;quot;E&amp;quot;) może tłumaczyć fakt, że po operacji formatowania dysku stacje dysków wysyłają listę błędnych sektorów (rozmiar odbieranego bloku danych ustalany jest w DBYT).&lt;br /&gt;
&lt;br /&gt;
==== Schemat wymiany danych ====&lt;br /&gt;
&lt;br /&gt;
W fazie oznaczonej jako &#039;&#039;wykonanie&#039;&#039; urządzenie dokonuje niezbędnych czynności (np. stacja dysków wyszukuje żądany sektor na dyskietce i odczytuje go, albo zapisuje), a komputer czeka.&lt;br /&gt;
&lt;br /&gt;
Potwierdzenia przesyłane są bez sum kontrolnych.&lt;br /&gt;
&lt;br /&gt;
===== Tylko komenda =====&lt;br /&gt;
&lt;br /&gt;
* komputer --&amp;gt; komenda 4 B + suma kontrolna --&amp;gt; urządzenie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;A&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* wykonanie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;C&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* koniec&lt;br /&gt;
&lt;br /&gt;
===== Odczyt =====&lt;br /&gt;
&lt;br /&gt;
* komputer --&amp;gt; komenda 4 B + suma kontrolna --&amp;gt; urządzenie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;A&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* wykonanie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;C&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* komputer &amp;lt;-- blok danych + suma kontrolna &amp;lt;-- urządzenie&lt;br /&gt;
* koniec&lt;br /&gt;
&lt;br /&gt;
===== Zapis =====&lt;br /&gt;
&lt;br /&gt;
* komputer --&amp;gt; komenda 4 B + suma kontrolna --&amp;gt; urządzenie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;A&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* komputer --&amp;gt; blok danych + suma kontrolna --&amp;gt; urządzenie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;A&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* wykonanie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;C&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* koniec&lt;br /&gt;
&lt;br /&gt;
===== Zapis i odczyt =====&lt;br /&gt;
&lt;br /&gt;
* komputer --&amp;gt; komenda 4 B + suma kontrolna --&amp;gt; urządzenie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;A&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* komputer --&amp;gt; blok danych + suma kontrolna --&amp;gt; urządzenie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;A&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* wykonanie&lt;br /&gt;
* komputer &amp;lt;-- potwierdzenie &#039;C&#039; &amp;lt;-- urządzenie&lt;br /&gt;
* komputer &amp;lt;-- blok danych + suma kontrolna &amp;lt;-- urządzenie&lt;br /&gt;
* koniec&lt;br /&gt;
&lt;br /&gt;
====Magnetofon====&lt;br /&gt;
&lt;br /&gt;
Powyższe schematy dotyczą wszystkich urządzeń SIO za wyjątkiem magnetofonu. Magnetofon nie zawiera w sobie mikroprocesora, jest urządzeniem &amp;quot;nieinteligentnym&amp;quot;. Transmisja jest w całości obsługiwana przez komputer, który wysyła (i przyjmuje) bloki danych, tzw. rekordy, zawierające każdy po 128 bajtów danych, sumę kontrolną oraz dwa dodatkowe bajty służące do pomiaru równomierności przesuwu taśmy.&lt;br /&gt;
&lt;br /&gt;
==Rozszerzenia SIO==&lt;br /&gt;
&lt;br /&gt;
===Systemy turbo do stacji dysków===&lt;br /&gt;
&lt;br /&gt;
Standardowa szybkość wymiany danych ze stacją dysków - 19200 bps - szybko okazała się dalece niewystarczająca. Ponieważ, jak napisano powyżej, możliwości układu [[POKEY]] pozwalają uzyskać znacznie więcej, wkrótce powstało kilka, różnych niestety, [[Systemy Turbo|systemów &amp;quot;turbo&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
===Rozszerzone adresowanie sektorów (KMK/JŻ IDE)===&lt;br /&gt;
&lt;br /&gt;
Kontroler [[KMK/JŻ IDE]] wykorzystuje bajt DUNUSE ($0307) bloku DCB jako najstarszy bajt numeru sektora. Pozwala to na zaadresowanie do 16777215 sektorów na jednej partycji.&lt;br /&gt;
&lt;br /&gt;
===Rozszerzone adresowanie pamięci (65C816)===&lt;br /&gt;
&lt;br /&gt;
[[DracOS]] (odmiana [[XL OS]] przygotowana dla procesora [[65C816]]) zawiera rozszerzenie SIO pozwalające na transfery danych bezpośrednio do i z dodatkowej pamięci adresowalnej liniowo (tj. znajdującej się pod adresami wyższymi niż $FFFF) oraz 32-bitowe adresowanie sektorów.&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [http://www.atariarchives.org/dere/ De Re Atari]&lt;br /&gt;
&lt;br /&gt;
==Bibliografia==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[http://ftp.pigwa.net/stuff/collections/nir_dary_cds/Tech%2520Info/SIOSPECS.PDF Atari Home Computer System: Serial Input Output Interface, User&#039;s Handbook]&#039;&#039;&lt;br /&gt;
* Harry B. Stewart, &#039;&#039;[http://www.atarimuseum.com/ahs_archives/archives/pdf/computers/8bits/1200XL/sweet-16_OS.pdf Z800/Sweet 16 Operating System, External Reference Specification]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Epi&amp;diff=31099</id>
		<title>Epi</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Epi&amp;diff=31099"/>
		<updated>2011-05-19T16:48:18Z</updated>

		<summary type="html">&lt;p&gt;Epi: mniej słów, więcej treści.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|epij.jpg}}&lt;br /&gt;
Adrian &#039;Epi&#039; Matoga. Krakowiak. [[koder|Koduje]], próbował też swoich sił jako [[muzyk]]. Należy do grup: [[Odsiecz Sobieskiego]] oraz [[Tristesse]].&lt;br /&gt;
&lt;br /&gt;
Dawne prace:&lt;br /&gt;
* [[NeoTracker]]&lt;br /&gt;
* [[TIP Tools]], format [[TIP]]&lt;br /&gt;
* [[xunzip]]&lt;br /&gt;
* [[sapemu]]&lt;br /&gt;
* [[SROLL-demo|Sroll]]&lt;br /&gt;
* {{ASMADB|Adrian+Matoga}}&lt;br /&gt;
 &lt;br /&gt;
Obecne projekty:&lt;br /&gt;
* [[FAIL]]&lt;br /&gt;
* [[xebin]]&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
*[http://epi.atari8.info/ Strona domowa Epiego]&lt;br /&gt;
*[https://github.com/epi Epi na githubie]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=CGIA&amp;diff=31085</id>
		<title>CGIA</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=CGIA&amp;diff=31085"/>
		<updated>2011-05-18T09:24:26Z</updated>

		<summary type="html">&lt;p&gt;Epi: rejestry to rejestry, a obudowa DIP była typowa w ogóle dla elektroniki początku lat 80, nie tylko dla Atari.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prototypowy układ scalony opracowany w połowie 1983 roku w firmie [[Atari, Inc.]], będący połączeniem [[ANTIC (układ)|ANTIC-a]] i [[GTIA]], całkowicie zgodnym z nimi programowo. Był przeznaczony do użycia w Atari [[5200]] zamiast ANTIC-a i GTIA, zapewne w celu obniżenia kosztów produkcji konsoli. Numer katalogowy: &#039;&#039;&#039;C020577&#039;&#039;&#039; (wersja [http://pl.wikipedia.org/wiki/NTSC NTSC]).&lt;br /&gt;
&lt;br /&gt;
==Szczegóły techniczne==&lt;br /&gt;
&lt;br /&gt;
CGIA jest układem scalonym wykonanym w technologii [http://en.wikipedia.org/wiki/NMOS_logic NMOS][http://en.wikipedia.org/wiki/Large_Scale_Integration LSI], w 48-nóżkowej obudowie [http://pl.wikipedia.org/wiki/Dual_in-line_package DIP]. Najważniejszymi cechami CGIA są: &lt;br /&gt;
* [[rejestry GTIA]] umieszczone na stronie $C0 w celu zachowania kompatybilności z dotychczas wyprodukowanymi egzemplarzami konsoli 5200 (co ciekawe, w specyfikacji układu konsola jest nazwana &amp;quot;5200XL&amp;quot;);&lt;br /&gt;
* brak wyprowadzonej linii DEL, która w GTIA służyła do regulacji kolorów. W CGIA kolory są zdefiniowane &amp;quot;na sztywno&amp;quot;, przy czym są inne niż w GTIA - np. kolor $F jest zielono-żółty, podczas gdy w poprawnie dostrojonym GTIA jest on żółto-pomarańczowy.&lt;br /&gt;
* wyprowadzony sygnał CLUM, czyli złożony sygnał jasności i synchronizacji.&lt;br /&gt;
&lt;br /&gt;
Istnieje specyfikacja kości CGIA w wersji NTSC z 22 lipca 1983 r. (zatwierdzona 11 sierpnia), z której pochodzą wszystkie informacje techniczne. Oprócz tego CGIA pojawia się na liście układów opracowanych w Atari[http://www.atariage.com/forums/topic/74377-master-chip-listing], gdzie mowa jest o wersji H0577 układu datowanej na 4.04.1984.&lt;br /&gt;
&lt;br /&gt;
Atari, Inc. opracowało później układ [[KERI]], również będący połączeniem ANTIC-a i GTIA, ale przeznaczony dla komputerów Atari [[800XL]].&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
* [http://krap.pl/mirrorz/atari/homepage.ntlworld.com/kryten_droid/Atari/800XL/atari_hw/cgia.htm CGIA Data Sheet] (format HTML)&lt;br /&gt;
* [http://ftp.pigwa.net/stuff/collections/nir_dary_cds/Tech%2520Info/CGIA.PDF CGIA Data Sheet] (oryginalny dokument; format PDF)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Sikor_Soft&amp;diff=29956</id>
		<title>Sikor Soft</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Sikor_Soft&amp;diff=29956"/>
		<updated>2010-11-17T00:57:20Z</updated>

		<summary type="html">&lt;p&gt;Epi: styl., precz z emotami.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Sikor_last_2003.jpg}}&lt;br /&gt;
Paweł &#039;Sikor&#039; Sikorski - jeden z ostatnich wydawców programów na &amp;quot;małe&amp;quot; Atari, również wydawca [[Atarynka|Atarynki]] - drukowanego pisma dla wszystkich atarowców. Urodzony w 1972 r. Z Atari związany od dość dawna, od 1994 roku prowadzi (z czasowymi przerwami) firmę Sikor Soft, która jest ściśle związana z komputerami Atari.&lt;br /&gt;
&lt;br /&gt;
Na [[scena|scenie]] atarowskiej jest znany z dość dziwnych i kontrowersyjnych pomysłów, których zazwyczaj i tak nikt nie realizuje. Niepoprawny marzyciel i entuzjasta wszelkiego sprzętu związanego z Atari... Należał do grupy [[Bit Busters]].&lt;br /&gt;
&lt;br /&gt;
Swojego czasu prowadził na [http://atariarea.krap.pl/ atariarea] serię konkursów (znane stało się powiedzenie: &amp;quot;nieustające konkursy Sikora&amp;quot; czy po prostu &amp;quot;[[Konkursy Sikora]]&amp;quot;), jednak brak prac od uczestników zniechęcił go do dalszego prowadzenia konkursów. W celu rozruszania [[scena|sceny]] próbował wcielić w życie ideę [[5 złotych compo]], jednak i to się nie udało. W pewnym momencie powiedział dość i zapowiedział, że więcej konkursów dla Atari nie robi - czego się póki co trzyma.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wydawnictwa Sikor Soft ==&lt;br /&gt;
Oto chronologiczna lista wydawnictw Sikora:&lt;br /&gt;
=== Software ===&lt;br /&gt;
*1994:&lt;br /&gt;
[[Moscow 1993]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Teacher Killer]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*1995:&lt;br /&gt;
[[5x5]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[5x5 - Edytor Haseł]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fire Stone]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Centurion - Defender of Rome]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Liga Polska]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Piłkarski Poker]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Cyborg]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ABC]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sexy Six]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sexy Six|Sexy Six Data Disk #1]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sexy Six|Sexy Six Data Disk #2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sexy Six|Sexy Six Data Disk #3]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*1996:&lt;br /&gt;
[[Nexus]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Ketchup]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Magic of Words]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Neuroid]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*1997:&lt;br /&gt;
[[Max]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Jurassic Park II]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Orto Puzzle]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*1998:&lt;br /&gt;
[[Tekblast]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*????:&lt;br /&gt;
[[Mr. Proper]] (nie wydane)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*2009:&lt;br /&gt;
[[Sikor Soft *.ATR &amp;amp; *.XEX goodies from Sikor Soft files]]&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
{{grafr|kubek_i_otwieracz.jpg}}&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Atarynka]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pocztówki z serii &amp;quot;Atari Nostalgia&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Naklejki na dyskietki 5,25&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nieoficjalne ==&lt;br /&gt;
* [[ATASCII Squash]]&lt;br /&gt;
* [[BMP Convert]]&lt;br /&gt;
* [[Fake Frogger!]]&lt;br /&gt;
* [[Liner!]]&lt;br /&gt;
* [[Mini Snake]]&lt;br /&gt;
* [[Mustak Hunters]]&lt;br /&gt;
* [[PGF PoFo Viewer|PGC PoFo Viewer]]&lt;br /&gt;
* [[PGF PoFo Viewer]]&lt;br /&gt;
* [[Sssnake it!]]&lt;br /&gt;
&lt;br /&gt;
== Gadżety ==&lt;br /&gt;
* Kubek z logiem Atari&lt;br /&gt;
* Otwieracz z logiem Atari&lt;br /&gt;
* Czapeczki z logiem Atari&lt;br /&gt;
* Koszulki na Atarowskie party&lt;br /&gt;
&lt;br /&gt;
== Produkcje scenowe ==&lt;br /&gt;
Oprócz wydawania różnego typu rzeczy Sikor czasem tworzy (pod własnym nickiem, nie jako firma) produkcje scenowe lub pseudo-scenowe. Często są to prace tworzone na szybko, w celu ratowania jakiejś konkurencji na party, mocno odbiegające od uznanych standardów scenowych. Do jego prac muzykę dostarcza zazwyczaj [[Miker]].&lt;br /&gt;
* [[ASCII Girl]]&lt;br /&gt;
* [[Delmes\Delvas\Vasmes]]&lt;br /&gt;
* [[Godzilla -The Slideshow -]]&lt;br /&gt;
* [[Grtz Intro]]&lt;br /&gt;
* [[Historia Grzybsona]]&lt;br /&gt;
* [[Kosmos]]&lt;br /&gt;
* [[Miker Last 2k3 Music]]&lt;br /&gt;
* [[Napisz se]]&lt;br /&gt;
* [[P.O.S.]]&lt;br /&gt;
* [[Sikor w szpitalu|Sikor w szpitalu #1]]&lt;br /&gt;
* [[Sikor w szpitalu|Sikor w szpitalu #2]]&lt;br /&gt;
* [[Total Załamka]]&lt;br /&gt;
* [[Total Załamka 2]]&lt;br /&gt;
* [[Tribute to Lem|Tribute to LEM]]&lt;br /&gt;
* [[X-Mass Intro]]&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki i zapatrywania ==&lt;br /&gt;
* Znany przeciwnik przesuwania [[deadline|deadlinów]] na wszelkich [[parties|party]] atarowskich, przez co popadł w konflikt z niektórymi członkami atarowskiej [[scena|sceny]]&lt;br /&gt;
* Od incydentu z demem [[Pure]] (przesunięcie oddania dema po party) oficjalnie stwierdził, że &amp;quot;&#039;&#039;od tej pory nie głosuje na żadnym Atarowskim party&#039;&#039;&amp;quot;, czego się póki co trzyma&lt;br /&gt;
* Po konflikcie z [[Kaz]]em przestał się udzielać na [http://atarionline.pl atarionline.pl].&lt;br /&gt;
&lt;br /&gt;
== Odnośniki zewnętrzne ==&lt;br /&gt;
*[http://sikorsoft.internetdsl.pl Strona firmowa Sikor Soft]&lt;br /&gt;
*[http://atari.sikorsoft.com/ Nowa strona Sikor Soft dotycząca Atari]&lt;br /&gt;
*[http://sikor_soft.w.interia.pl/ Nieoficjalna strona Sikora w interii]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;br /&gt;
[[Kategoria:Firmy]]&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Action!&amp;diff=29919</id>
		<title>Action!</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Action!&amp;diff=29919"/>
		<updated>2010-11-08T23:35:57Z</updated>

		<summary type="html">&lt;p&gt;Epi: -dynamiczne zarządzanie pamięcią +stos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|action.gif}}&lt;br /&gt;
Strukturalny, kompilowany język programowania dla ośmiobitowych Atari. Dzieło programisty [[OSS]] nazwiskiem Clinton Parker, sprzedawane od 1983 roku pod marką &#039;&#039;Action Computer Services&#039;&#039;. Właścicielem praw autorskich było kolejno [[OSS]], [[ICD]], a w końcu [[FTe]].&lt;br /&gt;
&lt;br /&gt;
Action! łączy w sobie cechy [[C]] i [[Pascal]]a, czyli wygodę programowania z całkiem szybkim kodem wynikowym. Składnia Action! była wzorowana na języku [http://en.wikipedia.org/wiki/ALGOL_68 ALGOL 68]. Niemałą zaletą Action! jest dość wygodny, pełnoekranowy edytor. W języku tym napisano sporo programów użytkowych (np. [[DiskRx]]), gier, np. [[Problem Jasia]] czy nawet utwory do gier (np. w [[Tanks]] czy [[Battle Ships]]).&lt;br /&gt;
&lt;br /&gt;
Oryginalna wersja języka występuje na [[cartridge]]&#039;u, ale krążyła też niemal w pełni funkcjonalna wersja dyskowa. Język na cartridge&#039;u zajmował 16k - w dwóch bankach po 8k (oddzielnie edytor i monitor) - zajmującym te same adresy, co interpreter Atari BASIC, tj. $A000-$BFFF.&lt;br /&gt;
&lt;br /&gt;
Ciekawostką jest spora biblioteka procedur krążąca w sieci, dzięki czemu Action! stał się bardzo rozbudowanym i elastycznym narzędziem pracy dla programistów.&lt;br /&gt;
&lt;br /&gt;
Znane osobistości używające Action! to: [[Jakub Husak]], [[Gizmo Magic]].&lt;br /&gt;
&lt;br /&gt;
== Typy danych ==&lt;br /&gt;
&lt;br /&gt;
W Action! występują trzy typy danych numerycznych: BYTE, CARD i INT. BYTE to ośmiobitowa liczba całkowita bez znaku, CARD - 16-bitowa liczba całkowita bez znaku, INT - 16-bitowa liczba całkowita ze znakiem. Pozostałe typy to CHAR, ARRAY, POINTER i typy deklarowane przez użytkownika, np.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TYPE CORD=[CARD x,y]&lt;br /&gt;
 CORD point&lt;br /&gt;
 point.x=42&lt;br /&gt;
 point.y=23&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lista słów kluczowych ==&lt;br /&gt;
&lt;br /&gt;
 AND     FI       OR       UNTIL  =&amp;lt;   (&lt;br /&gt;
 ARRAY   FOR      POINTER  WHILE  &amp;lt;&amp;gt;   )&lt;br /&gt;
 BYTE    FUNC     PROC     XOR    #    .&lt;br /&gt;
 CARD    IF       RETURN   =      &amp;gt;    [&lt;br /&gt;
 CHAR    INCLUDE  RSH      -      &amp;gt;=   ]&lt;br /&gt;
 DEFINE  INT      SET      *      &amp;lt;    &amp;quot;&lt;br /&gt;
 DO      LSH      STEP     /      &amp;lt;=   &#039;&lt;br /&gt;
 ELSE    MOD      THEN     &amp;amp;      $    ;&lt;br /&gt;
 ELSEIF  MODULE   TO       %      !    @&lt;br /&gt;
 EXIT    OD       TYPE&lt;br /&gt;
&lt;br /&gt;
== Lista procedur bibliotecznych ==&lt;br /&gt;
&lt;br /&gt;
 Break     LIST      PrintCD   SCompare   Close    Locate&lt;br /&gt;
 PrintCDE  SCopy     color     MoveBlock  PrintCE  SCopyS&lt;br /&gt;
 device    Note      PrintD    SetBlock   DrawTo   Open&lt;br /&gt;
 PrintDE   SetColor  EOF       Paddle     PrintE   SndRst&lt;br /&gt;
 Error     Peek      PrintF    Bound      Fill     PeekC&lt;br /&gt;
 PrintI    Stick     GetD      Plot       PrintID  StrB&lt;br /&gt;
 Graphics  Point     PrintIDE  StrC       InputB   Poke&lt;br /&gt;
 PrintIE   StrI      InputBD   PokeC      Ptrig    Strig&lt;br /&gt;
 InputC    Position  Put       TRACE      InputCD  Print&lt;br /&gt;
 PutD      ValB      InputI    PrintB     PutDE    ValC&lt;br /&gt;
 InputID   PrintBD   PutE      ValI       InputMD  PrintBDE&lt;br /&gt;
 Rand      XIO       InputS    PrintBE    SAssign  Zero&lt;br /&gt;
 InputSD   PrintC&lt;br /&gt;
&lt;br /&gt;
== Cechy języka ==&lt;br /&gt;
&lt;br /&gt;
Program pisze się w edytorze, kompiluje natomiast w tzw. monitorze, który ma też pewne funkcje ułatwiające debugging. Edytor jest pełnoekranowy, pole edycyjne można podzielić na dwa niezależne &amp;quot;okna&amp;quot;. Możliwości edytora obejmują kopiowanie bloków, wyszukiwanie i zastępowanie tekstów itp.&lt;br /&gt;
&lt;br /&gt;
Kompilator Action! jest jednoprzebiegowy, kod źródłowy jest kompilowany z pamięci, co dodatnio wpływa na szybkość kompilatora, ujemnie natomiast na maksymalną wielkość programu. Do obejścia tego problemu można wielopoziomowo wykorzystywać polecenia &#039;&#039;include&#039;&#039;. Trzeba tu dodać, że Action! to jeden z najszybszych kompilatorów dostępnych dla ośmiobitowego Atari.&lt;br /&gt;
&lt;br /&gt;
Wszystkie obliczenia dokonywane są w trybie liczb całkowitych ze znakiem. Język nie przewiduje wstawek w asemblerze w postaci mnemoników, podprogramy maszynowe muszą być załączane w postaci tablic wypełnionych stałymi szesnastkowymi lub dziesiętnymi.&lt;br /&gt;
&lt;br /&gt;
Zmienne lokalne w Action! są alokowane pod stałymi adresami w pamięci, a nie na stosie, co z jednej strony daje bardziej wydajny kod wynikowy, a z drugiej uniemożliwia stosowanie rekurencji.&lt;br /&gt;
&lt;br /&gt;
== Przykład kodu ==&lt;br /&gt;
&lt;br /&gt;
Przykładowa procedura na [http://pl.wikipedia.org/wiki/Sito_Eratostenesa sito Eratostenesa] napisana w Action!:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 BYTE RTCLOK=20, ; addr of sys timer&lt;br /&gt;
      SDMCTL=559 ; DMA control&lt;br /&gt;
 &lt;br /&gt;
 BYTE ARRAY FLAGS(8190)&lt;br /&gt;
 &lt;br /&gt;
 CARD COUNT,I,K,PRIME,TIME&lt;br /&gt;
 &lt;br /&gt;
 PROC SIEVE()&lt;br /&gt;
 &lt;br /&gt;
   SDMCTL=0 ; shut off Antic&lt;br /&gt;
   RTCLOK=0 ; only one timer needed&lt;br /&gt;
 &lt;br /&gt;
   COUNT=0         ; init count&lt;br /&gt;
   FOR I=0 TO 8190 ; and flags&lt;br /&gt;
     DO&lt;br /&gt;
     FLAGS(I)=&#039;T&lt;br /&gt;
     OD&lt;br /&gt;
 &lt;br /&gt;
   FOR I=0 TO 8190 ; and flags&lt;br /&gt;
     DO&lt;br /&gt;
     IF FLAGS(I)=&#039;T THEN&lt;br /&gt;
       PRIME=I+I+3&lt;br /&gt;
       K=I+PRIME&lt;br /&gt;
       WHILE K&amp;lt;=8190&lt;br /&gt;
         DO&lt;br /&gt;
         FLAGS(K)=&#039;F&lt;br /&gt;
         K==+PRIME&lt;br /&gt;
         OD&lt;br /&gt;
       COUNT==+1&lt;br /&gt;
     FI&lt;br /&gt;
     OD&lt;br /&gt;
   TIME=RTCLOK ; get timer reading&lt;br /&gt;
   SDMCTL=34   ; restore screen&lt;br /&gt;
 &lt;br /&gt;
   PRINTF(&amp;quot;%E %U PRIMES IN&amp;quot;,COUNT)&lt;br /&gt;
   PRINTF(&amp;quot;%E %U JIFFIES&amp;quot;,TIME)&lt;br /&gt;
 RETURN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sprawdzenie wersji ==&lt;br /&gt;
Odczyt komórki pamięci $B000 pozwala uzyskać numer rewizji ACTION! Przykładowo: &#039;&#039;&#039;? $B000&#039;&#039;&#039; da w wyniku czterocyfrową liczbę szesnastkową, której ostatnie cyfry oznaczają numer rewizji. W wersji wydanej piracko przez Atrax wygląda to następująco:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
45056,$B000 = 6, $0136 54 310&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
z czego wynika że jest to wersja 1, rewizja 3.6. W sieci dostępny jest obraz cartridge-a z wersją 02.. (numer odczytany z emulatora). Prawdopodobnie można też znaleźć inne.&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* Istnieją wersje na cartridge-ach datowane na 1986 oraz 1987 rok, bez nazwy producenta/developera w komunikacie na dole ekranu. Prawdopodobnie ta ostatnia jest wersją z poprawkami, wydaną przez FTe, ale nie jest to informacja potwierdzona.&lt;br /&gt;
== Linki zewnętrzne ==&lt;br /&gt;
* [http://www.cyberroach.com/analog/an16/action.htm Oficjalny opis języka]&lt;br /&gt;
* [http://www.strotmann.de/twiki/bin/view/APG/LangACTION Strona z masą źródłówek]&lt;br /&gt;
* [http://atariki.krap.pl/images/2/29/Action_cheat_sheet.pdf Szybka podpowiedź]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Action! Hasło Action!] na en.wikipedia.org&lt;br /&gt;
* [http://pl.wikipedia.org/wiki/Action! Hasło Action!] na pl.wikipedia.org&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=FAIL&amp;diff=27583</id>
		<title>FAIL</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=FAIL&amp;diff=27583"/>
		<updated>2009-09-13T21:04:33Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;First Atari Image Library&#039;&#039;&#039; - przenośna biblioteka do odczytu obrazków w formatach z małego Atari oraz zestaw programów zbudowanych z jej użyciem. Osoby zaangażowane w projekt: [[Epi]], [[Fox]], [[Replay]].&lt;br /&gt;
&lt;br /&gt;
= Obsługiwane formaty =&lt;br /&gt;
&lt;br /&gt;
Najnowsza obecnie wersja 1.0.0 obsługuje następujące formaty: AP3, [[APC]], [[CCI]], [[CIN]], CPR, FNT, GR8, GR9, [[HIP]], HR, [[ILC]], [[INP]], INT, [[MIC]], [[PIC]], PLM, [[RIP]], SXS, [[TIP]].&lt;br /&gt;
&lt;br /&gt;
= Programy i wtyczki =&lt;br /&gt;
&lt;br /&gt;
Samodzielne programy:&lt;br /&gt;
* fail2png - konwerter do formatu PNG, działający z linii poleceń,&lt;br /&gt;
* FAILWin - przeglądarka dla Windows.&lt;br /&gt;
&lt;br /&gt;
W skład projektu wchodzą również wtyczki dla następujących programów:&lt;br /&gt;
* XnView,&lt;br /&gt;
* ImageMagick.&lt;br /&gt;
&lt;br /&gt;
= Zobacz także =&lt;br /&gt;
&lt;br /&gt;
[[Yvonne]]&lt;br /&gt;
&lt;br /&gt;
= Linki zewnętrzne =&lt;br /&gt;
&lt;br /&gt;
[http://fail.sourceforge.net/ Strona domowa projektu]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Programy użytkowe]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Programy_na_PC&amp;diff=27582</id>
		<title>Programy na PC</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Programy_na_PC&amp;diff=27582"/>
		<updated>2009-09-13T20:42:20Z</updated>

		<summary type="html">&lt;p&gt;Epi: Dodano FAIL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Emulatory ==&lt;br /&gt;
&lt;br /&gt;
* Amiga&lt;br /&gt;
* Atari ST/Falcon&lt;br /&gt;
[[EmuXL]], [[XFormer]].&lt;br /&gt;
* Windows / DOS&lt;br /&gt;
[http://www.zerstoerung.de/ A8E], [[Atari plus plus|Atari++]], [[Atari800]], [[Atari800Win PLus]], [[EmuAPC]], [[Rainbow]], [[XFormer]].&lt;br /&gt;
* Macintosh&lt;br /&gt;
* Linux&lt;br /&gt;
[[Atari800]].&lt;br /&gt;
&lt;br /&gt;
== Cross-assemblery ==&lt;br /&gt;
&lt;br /&gt;
* [[CA65]]&lt;br /&gt;
* [[HCASM]]&lt;br /&gt;
* [[MADS]]&lt;br /&gt;
* [[OMC65]]&lt;br /&gt;
* [[QASM]]&lt;br /&gt;
* [[xasm]]&lt;br /&gt;
* [[Zooey]]&lt;br /&gt;
&lt;br /&gt;
== Emulatory stacji dysków ==&lt;br /&gt;
&lt;br /&gt;
* [[APE]]&lt;br /&gt;
* [[Atari810]]&lt;br /&gt;
* [[SIO2BSD]]&lt;br /&gt;
* [[AtariSIO]]&lt;br /&gt;
* [[R5]]&lt;br /&gt;
&lt;br /&gt;
== Inne ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAP]]&lt;br /&gt;
* [[AtrUtil]]&lt;br /&gt;
* [[CC65]]&lt;br /&gt;
* [[FAIL]]&lt;br /&gt;
* [[Graph2Font]]&lt;br /&gt;
* [[K2A]]&lt;br /&gt;
* [[Raster Music Tracker]]&lt;br /&gt;
* [[SAP Maker]]&lt;br /&gt;
* [[SAP Player]]&lt;br /&gt;
* [[Unsap]]&lt;br /&gt;
* [[WriteATR]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Kody_statusowe_Atari_OS&amp;diff=27074</id>
		<title>Kody statusowe Atari OS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Kody_statusowe_Atari_OS&amp;diff=27074"/>
		<updated>2009-05-19T19:20:45Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=1 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Kod &amp;quot;dodatni&amp;quot; (tradycyjny)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Kod &amp;quot;ujemny&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Źrodło błędu&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Żargonowa nazwa&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;128 ($80)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-128&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]] i [[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BREAK ABORT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podczas trwania operacji I/O wciśnięto klawisz &#039;&#039;Break&#039;&#039;, w wyniku czego została przerwana&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;129 ($81)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-127&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;ALREADY OPEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazano otwarcie już otwartego kanału I/O&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;130 ($82)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-126&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NONEXISTENT DEVICE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Urządzenie o podanym identyfikatorze nie istnieje&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;131 ($83)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-125&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;WRITE ONLY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazano odczyt z pliku otwartego tylko do zapisu&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;132 ($84)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-124&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;INVALID CIO COMMAND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parametry przekazane do znanej funkcji CIO są nieprawidłowe.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;133 ($85)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-123&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT OPEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazano przeprowadzenie operacji I/O na nie otwartym kanale I/O&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;134 ($86)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-122&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD CHANNEL NUMBER&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podany numer kanału IOCB jest niewłaściwy&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;135 ($87)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-121&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;READ ONLY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazano zapis do pliku otwartego tylko do odczytu&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;136 ($88)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-120&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;END OF FILE (EOF)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;W pliku nie ma więcej danych do odczytu&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;137 ($89)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-119&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TRUNCATED RECORD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;W trybie odczytu rekordów (&amp;quot;tekstowym&amp;quot;) próbowano odczytu rekordu o długości większej od dozwolonej; na ogół błąd ten występuje przy próbie odczytu pliku binarnego w trybie &amp;quot;tekstowym&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;138 ($8a)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-118&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TIMEOUT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Urządzenie nie odpowiedziało na komendę komputera w czasie na to przewidzianym; na ogół oznacza to, że urządzenie nie istnieje, jest wadliwie podłączone bądź uszkodzone&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;139 ($8b)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-117&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NEGATIVE ACKNOWLEDGE (NAK)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Urządzenie nie potrafi przeprowadzić nakazanej operacji (nie zna takiej komendy)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;140 ($8c)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-116&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FRAMING ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Transmisja szeregowa pomiędzy komputerem a urządzeniem została zakłócona. Oznacza to na ogół wadliwe połączenie (nie kontaktujący wtyk, przełamany przewód, przewód przebiegający obok silnego pola elektromagnetycznego itd.) lub uszkodzenie urządzenia bądź komputera&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;141 ($8d)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-115&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CURSOR OUT OF RANGE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Koordynaty dla nakazanej operacji graficznej znajdują się poza ekranem&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;142 ($8e)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-114&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SIO OVERRUN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Komputer nie zdążył odebrać danych przesłanych przez urządzenie i zostały one zamazane przez dane nadesłane następnie. Jest to bardzo rzadko występujący błąd, na ogół oznacza spowodowane przez program użytkownika przeciążenie przerwań albo zbyt dużą szybkość transmisji zaprogramowaną na układzie [[POKEY]].&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;143 ($8f)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-113&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD CHECKSUM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Suma kontrolna przesłanego bloku danych obliczona przez komputer nie zgadza się z tą przesłaną przez urządzenie; zmora posiadaczy magnetofonów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;144 ($90)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-112&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;WRITE PROTECTED OR BAD SECTOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Przy odczycie błąd ten oznacza wadliwy sektor na dyskietce; przy zapisie oznacza, że natrafiono na wadliwy sektor albo dyskietka jest fizycznie zabezpieczona przed zapisem&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;145 ($91)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-111&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD SCREEN MODE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Instrukcja graficzna nie może być wykonana w aktualnie wykorzystywanym trybie pracy ekranu.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;146 ($92)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-110&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FUNCTION NOT IMPLEMENTED&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazana funkcja nie jest zaimplementowana w programie obsługi podanego urządzenia (np. odczyt z drukarki)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;147 ($93)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-109&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OUT OF SCREEN MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie ma wystarczającej ilości wolnej pamięci, żeby zrealizować żądany tryb graficzny. Błąd ten występuje na ogół przy próbie zmiany trybu graficznego na taki, który zajmuje więcej pamięci, przez co wektor MEMTOP zyskałby niższą wartość niż wektor APPMHI.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;148 ($94)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-108&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;UNRECOGNIZED DISKETTE FORMAT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[SpartaDOS X]]: DOS nie jest w stanie czytać ani zapisywac plików na dyskietce, bo nie rozpoznaje formatu, w jakim jest zapisana.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;149 ($95)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-107&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;150 ($96)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-106&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=2&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PATH NOT FOUND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podany w ścieżce dostępu katalog nie istnieje&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;PORT ALREADY IN USE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podjęto próbę otwarcia jako pliku portu RS-232-C, który już jest przypisany do innego, bieżąco otwartego pliku. Jeden port RS-232-C nie może być równocześnie używany przez więcej niż jeden otwarty plik ([[850]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;151 ($97)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-105&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=2&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;FILE EXISTS&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazano zapis pliku zabezpieczonego przed zapisem, zmianę nazwy pliku na już istniejącą w katalogu, albo próbowano zastąpić plik katalogiem lub katalog plikiem.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;NOT OPEN FOR CONCURRENT I/O&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podjęto próbe aktywowania trybu współbieżnego portu RS-232-C, podczas gdy port ten nie został był otwarty do pracy w trybie współbieżnym ([[850]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;152 ($98)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-104&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=2&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOT BINARY FILE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie można uruchomić pliku, ponieważ nie jest to plik binarny.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;INVALID BUFFER&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parametry bufora danych dla portu RS-232-C zdefiniowane przez użytkownika do pracy w trybie współbieżnym są niemożliwe do zaakceptowania ([[850]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;153 ($99)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-103&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ILLEGAL IN CONCURRENT MODE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pojęto próbę wykonania dowolnej operacji I/O na porcie RS-232-C, podczas gdy inny port RS-232-C jest otwarty w trybie współbieżnym. W tym trybie można wykonywać tylko komendy INPUT, PRINT, GET, PUT, STATUS oraz CLOSE dla portu otwartego w trybie współbieżnym, pozostałe porty RS-232-C są niedostępne ([[850]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;154 ($9a)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-102&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=2&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SYMBOL NOT DEFINED&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DOS nie może załadować pliku binarnego, ponieważ wymagany przezeń symbol nie został zdefiniowany.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;CONCURRENT I/O NOT ACTIVE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Port RS-232-C musi zostać przełączony w tryb współbieżny dla prawidłowego wykonania operacji INPUT oraz GET ([[850]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;155 ($9b)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-101&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DEVICE BUSY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nakazana operacja nie może zostać zrealizowana, bo wskazane urządzenie jest (już) zajęte.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;156 ($9c)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-100&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;INCOMPLETE EXECUTION&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podczas odczytu handlera z [[nowe urządzenia|nowego urządzenia]] (zob. [[SIO]]) wystąpił niespodziewany koniec piku.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD PARAMETER&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[[SpartaDOS X]]: parametry wywołania są nieprawidłowe.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;157 ($9d)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-99&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;HANDLER TOO LONG&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podczas odczytu handlera z [[nowe urządzenia|nowego urządzenia]] (zob. [[SIO]]) skończyła się wolna pamięć.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;158 ($9e)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-98&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OUT OF MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie ma więcej miejsca dla programów.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;159 ($9f)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-97&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;160 ($a0)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-96&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD DRIVE NUMBER&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podany został niedozwolony numer stacji dysków. Zakres dopuszczalnych numerów jest zależny od DOS-u - system operacyjny zezwala na użycie numerów od 1 do 9.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;161 ($a1)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-95&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TOO MANY CHANNELS OPEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Urządzenie nie jest w stanie obsłużyć więcej plików otwartych jednocześnie&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;162 ($a2)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-94&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DISK FULL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Na dyskietce nie ma więcej miejsca&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;163 ($a3)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-93&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;ILLEGAL WILDCARD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie można stosować znaków &#039;?&#039; lub &#039;*&#039; przy zakładaniu plików lub podkatalogów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;164 ($a4)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-92&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD FILE NUMBER&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Odczytany sektor dyskietki należy do innego pliku niż aktualnie używany. Wystąpienie tego błędu w instrukcji [[POINT]] oznacza, że został podany błędny numer sektora. W innych przypadkach sygnalizuje to zakłócenie ciągłości plików na dyskietce AtariDOS. Należy wtedy dokonać weryfikacji dyskietki, np. przy pomocy programu DISKFIX (dla [[DOS 2.5]]).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;165 ($a5)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-91&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD FILENAME&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Podana nazwa pliku zawiera niedozwolony znak&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;166 ($a6)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-90&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;RANGE ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Argument wykracza poza dopuszczalny zakres wartości, np. nakazano odczyt danych poza końcem pliku otwartego do odczytu.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;167 ($a7)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-89&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;CAN&#039;T DELETE DIRECTORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Katalog nie może zostać skasowany, bo zawiera nieskasowane (bądź niekasowalne) pliki albo podkatalogi&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;168 ($a8)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-88&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD COMMAND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;W instrukcji [[XIO]] został użyty niedozowolony kod rozkazu. Błąd ten występuje przy korzystaniu z urządzeń nie stanowiących części komputera: magnetofonu, stacji dysków, drukarki itp. Inne urządzenia sygnalizują błąd 132.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;169 ($a9)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-87&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DIRECTORY FULL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nie można zapisać na dyskietce nowego pliku, gdyż przekroczona zostałaby dopuszczalna ich liczba&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;170 ($aa)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-86&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FILE NOT FOUND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Urządzenie nie może otworzyć pliku, bo plik o podanej nazwie nie istnieje.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;171 ($ab)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-85&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD [[POINT]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Błąd wykonania instrukcji POINT spowodowany niewłaściwymi parmetrami. Zły numer sektora lub bajtu albo plik nie został otwarty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;172 ($ac)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-84&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD [[VTOC]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Odczytywana dyskietka ma uszkodzony sektor zawierający mapę dyskietki. Najczęściej błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny [[DOS]].&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;173 ($ad)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-83&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD FORMAT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Odczytywana dyskietka ma uszkodzony sektor lub nie jest sformatowana. Często błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny [[DOS]].&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;174 ($ae)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-82&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DUPLICATE FILENAME&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Użyto nazwy pliku już istniejącego na dyskietce podczas zmiany nazwy pliku, a czasem także w innych operacjach (zależnie do DOS-u).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;175 ($af)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-81&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=2&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BAD LOAD FILE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Przy pomocy funkcji LOAD podjęto próbę odczytu pliku, który nie jest plikiem binarnym (zawierającym program w kodzie maszynowym) zapisanym w formacie DOS-u.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;DIRECTORY NOT EMPTY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nastąpiła próba usunięcia niepustego katalogu.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;176 ($b0)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-80&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;ACCESS DENIED&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Niemożliwe jest odczytanie dyskietki (zabroniony dostęp). Zwykle błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny DOS.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;W [[SpartaDOS X]] 4.31: wykonanie żądanej funkcji systemowej jest niemożliwe z powodu niespełnienia przez program wymaganych warunków (np. wcześniejszego wywołania funkcji inicjującej).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;177 ($b1)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-79&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BAD DISK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Odczytywana dyskietka ma uszkodzony sektor lub nie jest sformatowana (wadliwa dyskietka). Często błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny DOS.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;178 ($b2)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-78&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DATA NOT AVAILABLE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Żądane dane nie są w danej chwili dostępne. Nie jest to błąd, lecz informacja dla programu mówiąca nie, że danych nie ma wcale, ale nie można ich dostarczyć w tym konkretnie momencie (np. użytkownik nie nacisnął żadnego klawisza) i należy spróbować ponownie za jakiś czas.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;179 ($b3)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-77&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;MEMORY CONFLICT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Nastąpiła próba zapisu w niedozwolonym obszarze pamięci. Kod wprowadzony w [[SpartaDOS X]] 4.31 i wyższych, gdzie sygnalizuje próbę załadowania programu do pamięci już zajętej, np. przez bibliotekę SDX lub sterowniki. Wystąpienie błędu może oznaczać konieczność załadowania programu za pomocą X.COM lub obniżenia MEMLO.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td rowspan=2&amp;gt;180 ($b4)&amp;lt;/td&amp;gt;&amp;lt;td rowspan=2&amp;gt;-76&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=2&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;TOO MANY LINKS&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Liczba dowiązań do pliku przekracza dozwoloną liczbę.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;NOT A BINARY FILE&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;MYDOS: Wczytywany plik nie jest plikiem binarnym.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;181 ($b5)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-75&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CIO]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FILESYSTEM CORRUPT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;DOS nie może wykonać żądanej operacji, bo struktura plików na dysku jest uszkodzona. Kod wprowadzony w [[SpartaDOS X]] 4.31.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BOOT ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Wstępny odczyt z kasety lub dyskietki ma nieprawidłowy przebieg. W przypadku użycia stacji dysków oznacza brak dyskietki, niezamkniętą stację dysków albo brak na dyskietce DOS-u lub samouruchamiającego się programu. Przy korzystaniu z magnetofonu sygnalizuje nieprawidłowe ustawienie taśmy, brak kasety lub niewciśnięcie klawisza &#039;&#039;&#039;PLAY&#039;&#039;&#039;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Pakiet_matematyczny&amp;diff=27004</id>
		<title>Pakiet matematyczny</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Pakiet_matematyczny&amp;diff=27004"/>
		<updated>2009-05-02T22:25:42Z</updated>

		<summary type="html">&lt;p&gt;Epi: literówki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pakiet matematyczny, zwany też pakietem procedur zmiennoprzecinkowych, to zawarty w systemie operacyjnym ośmiobitowego Atari zestaw podprogramów służących do obliczeń na liczbach rzeczywistych. Zajmuje 2k pamięci ROM w obszarze od $D800 do $DFFF i jest intensywnie wykorzystywany przez interpreter [[Atari BASIC]]-a oraz wiele innych programów użytkowych (np. [[MAC/65]], [[UMON XL]] itp., by już przemilczeć napisane w BASIC-u gry w rodzaju [[Crusade in Europe]]).&lt;br /&gt;
&lt;br /&gt;
Pakiet matematyczny jest jedyną częścią systemu nie mającą własnej tablicy wektorów. Bardzo utrudnia to przygotowanie jego ulepszonych wersji. Jest też często krytykowany za niewielką szybkość działania. Faktycznie standardowy pakiet FP jest w stanie wykonać średnio 2500 dodawań albo odejmowań oraz 145 mnożeń lub 90 dzieleń zmiennoprzecinkowych na sekundę.&lt;br /&gt;
&lt;br /&gt;
== FASTCHIP ==&lt;br /&gt;
Istnieje &amp;quot;w obiegu&amp;quot; alternatywny pakiet zmiennoprzecinkowy, tzw. &#039;&#039;&#039;FASTCHIP&#039;&#039;&#039;, którego autorem jest [[Charles Marslett]]. Tak samo jak pakiet Atari zajmuje on 2k w pamięci ROM i zawiera pod tymi samym adresami procedury wykonujące analogiczne obliczenia. Wydajność: 4880 dodawań, 4650 odejmowań, 380 mnożeń, 256 dzieleń na sekundę. Pakietem tym można zastąpić standardowy pakiet FP systemu operacyjnego (pamiętając jednak o sumach kontrolnych ROM-u), co wpływa dodatnio na szybkość wbudowanego interpretera [[Atari BASIC]]. Dodatkowo ulepszone są procedury potęgowania i logarytmowania, dzięki czemu odpowiednie obliczenia w BASIC-u są dokładniejsze (zob. [[Atari BASIC#Błędy w Atari BASIC|Błędy w Atari BASIC]]).&lt;br /&gt;
&lt;br /&gt;
Niestety zaaplikowanie FASTCHIP-a do ROM-u systemu operacyjnego powoduje - nie wiadomo dlaczego - zakłócenia w pracy [[Turbo BASIC XL|Turbo BASIC-a XL]], zwłaszcza przestaje działać prawidłowo potęgowanie i logarytmowanie.&lt;br /&gt;
&lt;br /&gt;
== Format liczb FP ==&lt;br /&gt;
Dopuszczalny zakres liczb rzeczywistych dla obliczeń to od 10&amp;lt;sup&amp;gt;-98&amp;lt;/sup&amp;gt; do 10&amp;lt;sup&amp;gt;97&amp;lt;/sup&amp;gt;, z dokładnością do 10 cyfr (FASTCHIP: od 10&amp;lt;sup&amp;gt;-126&amp;lt;/sup&amp;gt; do 10&amp;lt;sup&amp;gt;119&amp;lt;/sup&amp;gt;). Liczba kodowana jest na sześciu bajtach: pierwszy bajt zajmuje 1 bit znaku oraz siedem bitów wykładnika, pozostałe pięć bajtów to mantysa zapisana w kodzie BCD, po dwie cyfry na bajt, w kolejności od najstarszej do najmłodszej. Wykładnik jest to właściwy wykładnik liczby 100 zwiększony o 64. Liczby zapisywane są w postaci:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;100&amp;lt;sup&amp;gt;(cecha-64)&amp;lt;/sup&amp;gt; x mantysa&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Przykładowo, w ciągu liczb $41,$15,$36,$00,$00,$00 pierwszy bajt o wartości $41 to cecha. Najstarszy bit jest skasowany, jest to więc liczba dodatnia. Na pozostałych siedmiu bitach zapisany jest wykładnik liczby 100 zwiększony o 64 ($40). Wykładnik ten w danym przykładzie wynosi więc 1.&lt;br /&gt;
&lt;br /&gt;
Dalej znajduje się mantysa zapisana w kodzie BCD. Punkt dziesiętny zawsze znajduje się po pierwszym jej bajcie, mamy tu więc zapisaną wartość 15,36 (piętnaście i trzydzieści sześć setnych). W połączeniu z obliczonym wyżej wykładnikiem liczby sto daje to&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;100&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; x 15,36 = 100 x 15,36 = 1536&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Przykład drugi: $3F,$50,$00,$00,$00,$00. Najstarszy bit cechy jest skasowany, jest to więc znowu liczba dodatnia. Wykładnik powiększony o $40 ma wartość $3F, a więc jego właściwa wartość to -1. Jako że pierwszy bajt mantysy zawiera jej część całkowitą, a reszta ułamek, widać, iż mantysa ma wartość 50,00. W połączeniu z obliczonym wcześniej wykładnikiem dostajemy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;100&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; x 50 = 0,01 x 50 = 0,5&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pierwszy bajt liczby FP - wykładnik - jest zawsze różny od zera; wyjątkiem jest liczba zero (0) - jest reprezentowana przez sześć bajtów o wartości zero. Do sprawdzenia, czy liczba zmiennoprzecinkowa ma wartość zero wystarczy więc sprawdzenie, czy zerową wartość ma wykładnik.&lt;br /&gt;
&lt;br /&gt;
== Lista procedur ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Procedury zmiennoprzecinkowe używają części strony zerowej (od adresu $D4 do $FF) oraz drugiej połówki strony piątej (od $0580 do $05FF). Dane wejściowe procedur obliczeniowych oczekiwane są w tzw. rejestrach zmiennoprzecinkowych, czyli sześciobajtowych obszarach pamięci, kolejno FR0 ($D4-$D9) i FR1 ($E0-$E5). Wyniki umieszczane są w FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border = 1 cellpadding = 5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Adres&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Etykieta&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Opis&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan = 3&amp;gt;Konwersja liczb&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$D800&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AFP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Konwersja liczby zapisanej znakami ASCII na liczbę zmiennoprzecinkową (ASCII to Floating Point conversion). Ciąg znaków do konwersji musi być wskazany wektorem INBUFP ($F3/$F4), przed wywołaniem procedury AFP trzeba też wyzerować rejestr CIX ($F2). Konwersja przeprowadzana jest aż do napotkania niedozwolonego znaku, opuszczenie procedury z ustawionym bitem C sygnalizuje błąd. Gdy C=0, wynik znajduje się w rejestrze FR0 ($D4).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$D8E6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FASC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Konwersja liczby zmiennoprzecinkowej na ciąg ASCII (Floating Point to ASCII conversion). Liczbę do konwersji trzeba umieścić w rejestrze FR0 ($D4), wynikowy ciąg znaków po zakończeniu procedury wskazywany jest przez wektor INBUFP ($F3/$F4). Ostatni znak jest w inwersie (ma ustawiony bit 7).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$D9AA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;IFP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Konwersja liczby całkowitej na zmiennoprzecinkową (Integer to Floating Point conversion). Dwubajtowa liczba binarna umieszczona w pierwszych dwóch bajtach rejestru FR0 ($D4/$D5) w kolejności młodszy-starszy bajt jest przekształcana na postać zmiennoprzecinkową. Wynik umieszczany jest w rejestrze FR0 ($D4). Dana wejściowa traktowana jest jako liczba całkowita bez znaku.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$D9D2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FPI&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Konwersja liczby zmiennoprzecinkowej na całkowitą (Floating Point to Integer conversion). Liczba zmiennoprzecinkowa umieszczona w rejestrze FR0 ($D4) przekształcana jest na dwubajtową liczbę całkowita bez znaku. Wynik umieszczany jest w pierwszych dwóch bajtach rejestru FR0 ($D4/$D5). Procedura przekształca liczby z zakresu od 0 do 65535, większe albo mniejsze wartości powodują błąd (ustawiony bit C przy powrocie z procedury).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan = 3&amp;gt;Przesłania itp. rejestrów FP&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DA44&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;ZFR0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Zerowanie rejestru FR0 ($D4)&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DD89&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FLD0R&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Załadowanie liczby zmiennoprzecinkowej do rejestru FR0 ($D4). Wskaźnik do liczby FP trzeba umieścić w rejestrach X (młodszy bajt) i Y (starszy bajt).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DD8D&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FLD0P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Analogicznie do FLD0R, lecz adres liczby umieszczamy w wektorze FLPTR ($FC/$FD).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DD98&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FLD1R&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Załadowanie liczby zmiennoprzecinkowej do rejestru FR1 ($E0). Wskaźnik do liczby FP trzeba umieścić w rejestrach X (młodszy bajt) i Y (starszy bajt).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DD9C&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FLD1P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Analogicznie do FLD1R, lecz adres liczby umieszczamy w wektorze FLPTR ($FC/$FD).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DDA7&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FST0R&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Zapis liczby zmiennoprzecinkowej znajdującej się we FR0 ($D4) do miejsca w pamięci wskazanego przez rejestry X/Y (odpowiednio młodszy i starszy bajt adresu).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DDAB&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FST0P&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Analogicznie do FST0R, lecz adres docelowy umieszczamy w wektorze FLPTR ($FC/$FD).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DDB6&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FMOV01&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Przesłanie liczby zmiennoprzecinkowej z FR0 ($D4) do FR1 ($E0).&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DD28&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FMOV12&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Przesłanie liczby zmiennoprzecinkowej z FR1 ($E0) do FR2 ($E6).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DD34&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FMOV0E&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Przesłanie liczby zmiennoprzecinkowej z FR0 ($D4) do FRE ($DA).&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan = 3&amp;gt;Obliczenia&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DA60&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FSUB&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Odejmowanie liczby FP umieszczonej w FR1 od liczby FP umieszczonej w FR0. Wynik w FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DA66&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FADD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dodawanie liczb FP umieszczonych w FR0 i FR1. Wynik w FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DADB&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FMUL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Mnożenie liczb FP umieszczonych w FR0 i FR1. Wynik w FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DB28&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;FDIV&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dzielenie liczby FP umieszczonej w FR0 przez liczbę FP umieszczoną w FR1. Wynik w FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DDC0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;EXP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Podnosi liczbę E (2,71828182) do potęgi o wykładniku wpisanym do FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DDCC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;EXP10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Podnosi liczbę 10 do potęgi o wykładniku wpisanym do FR0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DECD&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LOG&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Oblicza logarytm naturalny liczby FP wpisanej do FR0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$DED1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LOG10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Oblicza logarytm dziesiętny liczby FP wpisanej do FR0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W rzeczywistości ROM pakietu zmiennoprzecinkowego zawiera więcej procedur, poza wymienionymi jednak nie są one specjalnie przydatne. Z procedur potęgowania i logarytmowania korzystają funkcje trygonometryczne oraz operator potęgowania [[Atari BASIC]].&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* [http://drac030.krap.pl/fastfp.arc FASTCHIP]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Sapemu&amp;diff=26298</id>
		<title>Sapemu</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Sapemu&amp;diff=26298"/>
		<updated>2008-09-16T12:04:54Z</updated>

		<summary type="html">&lt;p&gt;Epi: sznurki i data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|sapemu.png}}Odtwarzacz plików w formacie [[SAP (format pliku)|SAP]] przeznaczony dla Atari, napisany przez [[Epi]]ego w maju 2003 r.&lt;br /&gt;
&lt;br /&gt;
Wymaga 4 banków rozszerzonej pamięci. Odtwarza zdecydowaną większość utworów typu C, B i D, nie używających obszaru $D800-$D9FF. Obsługa, mimo toporności programu, jest intuicyjna.&lt;br /&gt;
&lt;br /&gt;
[http://epi.atari8.info/sapemu.php Informacje o programie na stronie autora]&lt;br /&gt;
&lt;br /&gt;
[http://epi.atari8.info/download.php?file=sapemu-0.2.zip Wersja 0.2 do pobrania]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;br /&gt;
[[Kategoria:Programy użytkowe]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=NeoTracker&amp;diff=25261</id>
		<title>NeoTracker</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=NeoTracker&amp;diff=25261"/>
		<updated>2008-02-19T14:37:43Z</updated>

		<summary type="html">&lt;p&gt;Epi: i link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Neo16_2.png}}&lt;br /&gt;
Edytor muzyczny autorstwa [[Epi]]ego/[[Tristesse]], umożliwiający tworzenie i odtwarzanie modułów w oparciu o 8-bitowe sample.&lt;br /&gt;
&lt;br /&gt;
Program powstawał w latach 2002-2007. Ostatnia dostępna wersja (1.7) pochodzi z 7.07.2007. Cechy charakterystyczne programu to m.in.:&lt;br /&gt;
* program instalacyjny z dość dużymi możliwościami konfiguracji (wybór banków pamięci, domyślnych ścieżek, urządzenia wyjściowego i adresu rejestrów Covoxa)&lt;br /&gt;
* wymagane co najmniej 32kB dodatkowej pamięci podłączanej przez Port B&lt;br /&gt;
* obsługa rozszerzeń pamięci do 1 MB, podkatalogów [[MyDOS]] i [[SpartaDOS]]&lt;br /&gt;
* współpraca zarówno z [[Covox]]em, jak i [[POKEY]]em, również w opcji [[Stereo]] (wykrywane automatycznie)&lt;br /&gt;
* częstotliwość miksowania przy odtwarzaniu modułów - 11.75kHz&lt;br /&gt;
* obsługa (klawiszologia) wzorowana na [[Theta Music Composer|TMC]]&lt;br /&gt;
* maksymalna ilość sampli bezpośrednio związana z liczbą dostępnych banków rozszerzonej pamięci&lt;br /&gt;
* własne formaty zapisu modułów (*.[[NEO]]), sampli (*.NSF) i paternów (*.NPF)&lt;br /&gt;
* możliwość importu sampli w formacie [[ProTracker]]a (*.SMP)&lt;br /&gt;
* możliwość importu modułów *.MOD (z pewnymi ograniczeniami)&lt;br /&gt;
* wbudowana podręczna pomoc&lt;br /&gt;
&lt;br /&gt;
Istnieje również kilka eksperymentalnych, niepublikowanych wersji, m.in. 1.11fsv, przy pomocy której powstał [[BrullWuRfEl]], czy 1.5c, czyli 1.5 bez importu *.MOD, za to z opcją &amp;quot;drum machine&amp;quot; - 4 kanały na żywo po 19kHz (tylko na Covoksie).&lt;br /&gt;
&lt;br /&gt;
Jakiekolwiek doniesienia o niemożności uruchomienia programu spowodowane są ignorancją osób odpowiedzialnych za owe doniesienia, tudzież błędami, które zostały już usunięte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_0.png]]&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_3.png]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* [http://epi.atari8.info/download.php?file=neotracker-1.7.zip Program instalacyjny NeoTrackera 1.7].&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Edytory muzyczne]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=NeoTracker&amp;diff=25260</id>
		<title>NeoTracker</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=NeoTracker&amp;diff=25260"/>
		<updated>2008-02-19T14:34:57Z</updated>

		<summary type="html">&lt;p&gt;Epi: &amp;quot;nowa&amp;quot; wersja&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Neo16_2.png}}&lt;br /&gt;
Edytor muzyczny autorstwa [[Epi]]ego/[[Tristesse]], umożliwiający tworzenie i odtwarzanie modułów w oparciu o 8-bitowe sample.&lt;br /&gt;
&lt;br /&gt;
Program powstawał w latach 2002-2007. Ostatnia dostępna wersja (1.7) pochodzi z 7.07.2007. Cechy charakterystyczne programu to m.in.:&lt;br /&gt;
* program instalacyjny z dość dużymi możliwościami konfiguracji&lt;br /&gt;
(wybór banków pamięci, domyślnych ścieżek, urządzenia wyjściowego i adresu rejestrów Covoxa)&lt;br /&gt;
* wymagane co najmniej 32kB dodatkowej pamięci podłączanej przez Port B&lt;br /&gt;
* obsługa rozszerzeń pamięci do 1 MB, podkatalogów [[MyDOS]] i [[SpartaDOS]]&lt;br /&gt;
* współpraca zarówno z [[Covox]]em, jak i [[POKEY]]em, również w opcji [[Stereo]] (wykrywane automatycznie)&lt;br /&gt;
* częstotliwość miksowania przy odtwarzaniu modułów - 11.75kHz&lt;br /&gt;
* obsługa (klawiszologia) wzorowana na [[Theta Music Composer|TMC]]&lt;br /&gt;
* maksymalna ilość sampli bezpośrednio związana z liczbą dostępnych banków rozszerzonej pamięci&lt;br /&gt;
* własne formaty zapisu modułów (*.[[NEO]]), sampli (*.NSF) i paternów (*.NPF)&lt;br /&gt;
* możliwość importu sampli w formacie [[ProTracker]]a (*.SMP)&lt;br /&gt;
* możliwość importu modułów *.MOD (z pewnymi ograniczeniami)&lt;br /&gt;
* wbudowana podręczna pomoc&lt;br /&gt;
&lt;br /&gt;
Istnieje również kilka eksperymentalnych, niepublikowanych wersji, m.in. 1.11fsv, przy pomocy której powstał [[BrullWuRfEl]], czy 1.5c, czyli 1.5 bez importu *.MOD, za to z opcją &amp;quot;drum machine&amp;quot; - 4 kanały na żywo po 19kHz (tylko na Covoksie).&lt;br /&gt;
&lt;br /&gt;
Jakiekolwiek doniesienia o niemożności uruchomienia programu spowodowane są ignorancją osób odpowiedzialnych za owe doniesienia, tudzież błędami, które zostały już usunięte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_0.png]]&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_3.png]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* [http://atari8.info/stuff/neo16.zip Program instalacyjny NeoTrackera 1.6].&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Edytory muzyczne]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Lynx&amp;diff=24668</id>
		<title>Dyskusja:Lynx</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Lynx&amp;diff=24668"/>
		<updated>2007-12-06T14:43:45Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kierowniku, bardzo fajny opis, ale znowu z jednostronny spojrzeniem. Przyklad? System developerski byl oparty o AMIGE 2000 dlatego ze LYNX zostal zaprojektowany przez gosci ktorzy byli zwiazani z Amiga i mial byc pierwotnie konsolka spod znaku EPYX... więc bez przesady z tym narzekaniem na Tramielów i promowaniem konkurencji! TO był system developerski i przeciętny player i potencjalny właściciel konsolki nie musiał i zazwyczaj nic nie wiedział nawet o AMIDZE. Moze nie potrafili wykorzystać potencjału ale jak by nie patrzeć Atari była niewielką firmą i nie maiała aż takiej kasy i możliwości. Co słuszność to słuszność jednak warto by zabierając się za OCENIANIE czegoś pokazać wszsytkie strony uczciwie.&lt;br /&gt;
--[[Użytkownik:Vulgar|vulgar]] 17:59, 10 lip 2006 (CEST)&lt;br /&gt;
:Vulgar, mozesz mi wskazać, w którym miejscu występuje jednostronne spojrzenie? Bo w tym, o którym wspominasz ja widzę fakty. Moze jeszcze ktoś się wypowie? A poza tym skoro mówisz, ze w momencie produkcji Lynxa Atari była niewielką firmą to śmiem twierdzić z całą stanowczością, ze nie wiesz o czym piszesz. --[[Użytkownik:Daniel Koźmiński|dely]] 18:22, 10 lip 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Zestaw deweloperski ==&lt;br /&gt;
&lt;br /&gt;
Dely, piszesz, że do devkitu trzeba było dokupić Amigę, a dwa zdania niżej - że wchodziła w jego skład. To w końcu wchodziła w skłąd, czy trzeba było dokupić? [[Użytkownik:KMK|KMK]] 21:04, 10 lip 2006 (CEST)&lt;br /&gt;
: Masz rację, wystąpiło tu małe niedomówienie, już poprawiłem. --[[Użytkownik:Daniel Koźmiński|dely]] 21:37, 10 lip 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Nieaktualne linki na dole (dla potencjalnych developerów).&lt;br /&gt;
--[[Użytkownik:Epi|Epi]] 15:43, 6 gru 2007 (CET)&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Atariki:Community_Portal&amp;diff=23712</id>
		<title>Atariki:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Atariki:Community_Portal&amp;diff=23712"/>
		<updated>2007-08-15T16:29:21Z</updated>

		<summary type="html">&lt;p&gt;Epi: podpis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Atariki - Community Portal&lt;br /&gt;
&lt;br /&gt;
== Archiwum ==&lt;br /&gt;
&lt;br /&gt;
* [[Atariki:Community Portal/Starocie|Wymarłe dyskusje]]&lt;br /&gt;
* [[Atariki:Community Portal/Starocie 2|Wymarłe dyskusje 2]]&lt;br /&gt;
&lt;br /&gt;
== Kategorie (raz jeszcze) ==&lt;br /&gt;
&lt;br /&gt;
To ładnie wygląda, że w [[:Kategoria:Atari ST|kategorii Atari ST]] jest aż tyle linków, ale czy nie warto by jednak założyć osobnej (np. &#039;&#039;&#039;Kategoria:Peryferia 16/32-bit&#039;&#039;&#039;), żeby się komputery nie zlewały z urządzeniami peryferyjnymi (tak jak to jest zrobione w kwestii 8-bitowców)? Mogę poprzerabiać jak coś. --[[Użytkownik:Miker|miker/bjb/ng]] 06:21, 21 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Popieram. [[Użytkownik:KMK|KMK]] 07:50, 24 gru 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
::Ok, porobiłem nieco, dobrze by było jeszcze zastanowić się nad kategorią [[:Kategoria:Atari ST|Atari ST]], bo też wydaje się średnio szczęśliwa...--[[Użytkownik:Miker|miker/bjb/ng]] 10:10, 25 gru 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Połeć ==&lt;br /&gt;
Postuluję usunięcie szablonu Pouet.net, jak dla mnie jest to ewidentne &amp;quot;kradnięcie&amp;quot; bandwidth, poza tym przy zmianie engine / lokacji obrazków na ww. wszystko leci w tak zwane, przysłowiowe &amp;quot;fpizdu&amp;quot;. Żeby nie było, że nie będzie miał tego kto zrobić (przeedytowanie wpisów korzystających z ww.) ofiaruję swoją osobę jako tego, który dokona dzieła zniszczenia. --[[Użytkownik:Daniel Koźmiński|dely]] 14:17, 20 lip 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Okej, jak juz przeedytujesz wszystkie hasla tak zeby byl obrazek, link do downloadu i link do poueta - do komentarzy, daj znac. [[Użytkownik:Mikey|Mikey]] 15:30, 20 lip 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Obrazki linkowane z zewnątrz==&lt;br /&gt;
Właśnie zauważyłem, że [http://www.atari-computermuseum.de/index.html atari-computermuseum.de] zostało zamknięte. Zdaje się, że mieliśmy stamtąd zlinkowane kilka obrazków, np. w haśle [[1600XL]], które to linki obecnie wskazują pustkę. Na szczęście krap zrobił mirror: po napotkaniu takiego linku trzeba po http:// dodać krap.pl/mirrorz/atari/&lt;br /&gt;
[[Użytkownik:KMK|KMK]] 02:48, 7 kwi 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Nagłówki treści haseł==&lt;br /&gt;
Zauważyłem, że wiele haseł rozpoczyna się od tego samego wyrazu który jest hasłem.&lt;br /&gt;
Np [[HighWire]], [[AFTER]] (to tylko przykłady na szybko) Wiki samo dodaje przecież duży nagłówek &lt;br /&gt;
z tytułem hasła. Po co dublować? Czytelność tego też imho jest żadna. Jeśli otwieram hasło to mam już duży nagłówek, po co mam czytać jeszcze raz to samo, dodatkowo boldem. Nie jestem upośledzony. &lt;br /&gt;
Czy naprawde jest taka konieczność? Proszę o wypowiedzi :) [[Użytkownik:Mikey|Mikey]] 11:52, 30 sty 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:Niby masz rację, ale z drugiej strony bez tego jakoś głupio wygląda. Chyba działa tu konwencja papierowej encyklopedii, gdzie objaśnienie zaczyna się od hasła wybitego boldem. No ale w encyklopedii to ma dobry sens, a tu już jakby nie bardzo. Czyli chyba popieram przedmówcę. [[Użytkownik:KMK|KMK]] 12:13, 30 sty 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:Czasami ładnie tak zdanie zacząć, ale ogólnie nadużywanie jest naganne, czyli popieram.--[[Użytkownik:Daniel Koźmiński|dely]] 12:16, 30 sty 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Wikipedysta: ==&lt;br /&gt;
Mam propozycję, aby każdy z szanownych Panów(hmm, Pań...?) redaktorów(ek) zajrzało do najpotrzebniejszych stron, weszło - o ile to jest konieczne - na linki &amp;quot;Wikipedysta:moja_nazwa&amp;quot;, gdzie moja_nazwa jest charakterystyką wspomnianego(nej) i przeedytował(a) każdy taki wpis używając odpowiedniej sygnaturki. Kosztuje to parę minut roboity, a pozbywamy się części niepotrzebnego bałaganu z bazy (i trzymania zbędnych linków do niepotrzebnych stron). Proszę o ustosunkowanie się do powyższego!!! --[[Użytkownik:Sikor|Sikor]] 12:21, 21 sie 2006 (CEST)&lt;br /&gt;
::Ehh, widzę, że nie chce się nikomu ruszyć d... czterech liter. Powoli się za to zabieram - zniknie sporo stron z najpotrzebniejszych, będzie większy porządek...--[[Użytkownik:Sikor|Sikor]] 10:39, 24 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Baza scenowa? ==&lt;br /&gt;
Hmm, w poszczególnych opisach zlotów opisujemy prace, które były wystawiane na zlotach, a potem... Nie mozna ich znaleźć w sieci. Może więc dałoby się zrobić dział &amp;quot;prace&amp;quot; czy coś w tym stylu, wyodrębnić jakieś miejsce na serwerze (o ile Krap sie zgodzi...) i trzymać tu posegregowane prace scenowe według zlotów (każdy zlot to jeden katalog *.zip na przykład). Wtedy, w opisie - jak mamy wyszczególnioną praće to dajemy link do całego katalogu, a ludziki już sobie wyciągną, co będą potrzebowali. Co sądzi o tym reszta ludzików i czy cokolwiek ma do dodania...? --[[Użytkownik:Sikor|Sikor]] 08:46, 19 wrz 2006 (CEST)&lt;br /&gt;
:Ej, przeca na pigwie jest - tylko dostęp &#039;&#039;via&#039;&#039; ftp tylko. --[[Użytkownik:Miker|miker/bjb/ng]] 06:48, 14 gru 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Licencje? ==&lt;br /&gt;
No właśnie, niedawno pojawił się ten temat w dyskusji [[dely]]ego. Może by dać gdzieś skądś linka do tej GFDL + małego disklejmera i/lub jakąś specjalną (pod)stronkę do wrzucania uwag, że coś nie jest tak (bo może można i tutaj, ale żeby zbytnio nie zaśmiecać). Co Wy na to? --[[Użytkownik:Miker|miker/bjb/ng]] 10:11, 6 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
:No w naszych realiach wypadalo by umiescic linka (albo lepiej kod) do tlumaczenia licencji, ale najpierw cza sie zastanowic czy to ma byc GFDL (ktory, co zabawne, uznawany jest za &amp;quot;nie wolna licencje&amp;quot;) czy moze jakas [http://creativecommons.pl/ CC]. --[[Użytkownik:Jellonek|Jellonek]] 10:25, 6 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
::Panowie panowie, spokojnie. Po primo, to &#039;my&#039; jestesmy autorami contentu atariki, i mozemy sobie teksty zastrzec na dowolnej licencji, badz wogole tego nie robic. Ja jestem za ta druga opcja, nie potrzebujemy zadnej licencji. Po secundo, &#039;tenpan&#039; ktory uznal ze atariki jest z czymstam niezgodne, mial na mysli uzywanie nazwy WIKIPEDIA, i nic wiecej, wiec proponuje wiecej samodzielnego myslenia, odwagi w posiadaniu wlasnych racji :) oraz ciepłego moczu dla zealotów spod znaku GNU/GFDL. [[Użytkownik:Mikey|Mikey]] 17:53, 6 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
:::Nie, no jakas licencja by sie przydala - lepiej zostawic na BSD, niz zostawic bez niczego... Co do zealotow popieram... --[[Użytkownik:Jellonek|Jellonek]] 11:04, 7 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
::::OT: nie macie obaj na myśli &#039;&#039;zelotów&#039;&#039;? http://www.slownik-online.pl/kopalinski/8CB186B4B101C588C12565B50067BA79.php :&amp;gt; [[Użytkownik:KMK|KMK]] 11:29, 7 mar 2007 (CET)&lt;br /&gt;
:::::W Starcrafta chłopaki po prostu grają :P --[[Użytkownik:Daniel Koźmiński|dely]] 13:21, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
Dobra - temat już załatwiony. Atariki od teraz występuje na liście jako &#039;&#039;&#039;Strona niezwiązana&#039;&#039;&#039;. Cieszycie się? :) --[[Użytkownik:Miker|miker/bjb/ng]] 00:10, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
Guzik nie zalatwiony, Atariki powinno wogole zniknąć z tamtego &#039;spisu&#039; bo nie jest w zaden sposob pochodną wikipedii albo jakiegokolwiek projektu WikiMedia. Nalezy usunąć atariki stamtąd absolutnie na amen ;) [[Użytkownik:Mikey|Mikey]] 17:36, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
EDIT: wlasnie zauwazylem ze tak sie stało :) Dzieki Miker, Jellonek. [[Użytkownik:Mikey|Mikey]] 17:39, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== IDEa/Pasiu ==&lt;br /&gt;
&lt;br /&gt;
Postuluję o zmianę tytułu artykułu &amp;quot;IDEa/Pasiu&amp;quot; na samo &amp;quot;IDEa&amp;quot;, ewentualnie &amp;quot;IDEa Interface&amp;quot;, które figuruje na płytce. Oczywiście nie zamierzam tu umniejszać pracy autora, natomiast pierwsze słyszę, żeby jego nick był częścią nazwy mojego ulubionego interfejsu.&lt;br /&gt;
Dodatkowo również &amp;quot;IDE JZ/KMK&amp;quot; mógłby nazywać się &amp;quot;KMK/JŻ IDE&amp;quot;, jak sugeruje (oryginalna, śmiem przypuszczać) naklejka na obudowie widocznej na zdjęciach.&lt;br /&gt;
Człon &amp;quot;Interface&amp;quot; proponuję jednak w obu przypadkach pominąć, jako domyślny dla różnych rozszerzeń. --[[Użytkownik:Epi|Epi]] 18:29, 15 sie 2007 (CEST)&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Atariki:Community_Portal&amp;diff=23693</id>
		<title>Atariki:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Atariki:Community_Portal&amp;diff=23693"/>
		<updated>2007-08-15T13:05:11Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Atariki - Community Portal&lt;br /&gt;
&lt;br /&gt;
== Archiwum ==&lt;br /&gt;
&lt;br /&gt;
* [[Atariki:Community Portal/Starocie|Wymarłe dyskusje]]&lt;br /&gt;
* [[Atariki:Community Portal/Starocie 2|Wymarłe dyskusje 2]]&lt;br /&gt;
&lt;br /&gt;
== Kategorie (raz jeszcze) ==&lt;br /&gt;
&lt;br /&gt;
To ładnie wygląda, że w [[:Kategoria:Atari ST|kategorii Atari ST]] jest aż tyle linków, ale czy nie warto by jednak założyć osobnej (np. &#039;&#039;&#039;Kategoria:Peryferia 16/32-bit&#039;&#039;&#039;), żeby się komputery nie zlewały z urządzeniami peryferyjnymi (tak jak to jest zrobione w kwestii 8-bitowców)? Mogę poprzerabiać jak coś. --[[Użytkownik:Miker|miker/bjb/ng]] 06:21, 21 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Popieram. [[Użytkownik:KMK|KMK]] 07:50, 24 gru 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
::Ok, porobiłem nieco, dobrze by było jeszcze zastanowić się nad kategorią [[:Kategoria:Atari ST|Atari ST]], bo też wydaje się średnio szczęśliwa...--[[Użytkownik:Miker|miker/bjb/ng]] 10:10, 25 gru 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Połeć ==&lt;br /&gt;
Postuluję usunięcie szablonu Pouet.net, jak dla mnie jest to ewidentne &amp;quot;kradnięcie&amp;quot; bandwidth, poza tym przy zmianie engine / lokacji obrazków na ww. wszystko leci w tak zwane, przysłowiowe &amp;quot;fpizdu&amp;quot;. Żeby nie było, że nie będzie miał tego kto zrobić (przeedytowanie wpisów korzystających z ww.) ofiaruję swoją osobę jako tego, który dokona dzieła zniszczenia. --[[Użytkownik:Daniel Koźmiński|dely]] 14:17, 20 lip 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Okej, jak juz przeedytujesz wszystkie hasla tak zeby byl obrazek, link do downloadu i link do poueta - do komentarzy, daj znac. [[Użytkownik:Mikey|Mikey]] 15:30, 20 lip 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Obrazki linkowane z zewnątrz==&lt;br /&gt;
Właśnie zauważyłem, że [http://www.atari-computermuseum.de/index.html atari-computermuseum.de] zostało zamknięte. Zdaje się, że mieliśmy stamtąd zlinkowane kilka obrazków, np. w haśle [[1600XL]], które to linki obecnie wskazują pustkę. Na szczęście krap zrobił mirror: po napotkaniu takiego linku trzeba po http:// dodać krap.pl/mirrorz/atari/&lt;br /&gt;
[[Użytkownik:KMK|KMK]] 02:48, 7 kwi 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Nagłówki treści haseł==&lt;br /&gt;
Zauważyłem, że wiele haseł rozpoczyna się od tego samego wyrazu który jest hasłem.&lt;br /&gt;
Np [[HighWire]], [[AFTER]] (to tylko przykłady na szybko) Wiki samo dodaje przecież duży nagłówek &lt;br /&gt;
z tytułem hasła. Po co dublować? Czytelność tego też imho jest żadna. Jeśli otwieram hasło to mam już duży nagłówek, po co mam czytać jeszcze raz to samo, dodatkowo boldem. Nie jestem upośledzony. &lt;br /&gt;
Czy naprawde jest taka konieczność? Proszę o wypowiedzi :) [[Użytkownik:Mikey|Mikey]] 11:52, 30 sty 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:Niby masz rację, ale z drugiej strony bez tego jakoś głupio wygląda. Chyba działa tu konwencja papierowej encyklopedii, gdzie objaśnienie zaczyna się od hasła wybitego boldem. No ale w encyklopedii to ma dobry sens, a tu już jakby nie bardzo. Czyli chyba popieram przedmówcę. [[Użytkownik:KMK|KMK]] 12:13, 30 sty 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:Czasami ładnie tak zdanie zacząć, ale ogólnie nadużywanie jest naganne, czyli popieram.--[[Użytkownik:Daniel Koźmiński|dely]] 12:16, 30 sty 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Wikipedysta: ==&lt;br /&gt;
Mam propozycję, aby każdy z szanownych Panów(hmm, Pań...?) redaktorów(ek) zajrzało do najpotrzebniejszych stron, weszło - o ile to jest konieczne - na linki &amp;quot;Wikipedysta:moja_nazwa&amp;quot;, gdzie moja_nazwa jest charakterystyką wspomnianego(nej) i przeedytował(a) każdy taki wpis używając odpowiedniej sygnaturki. Kosztuje to parę minut roboity, a pozbywamy się części niepotrzebnego bałaganu z bazy (i trzymania zbędnych linków do niepotrzebnych stron). Proszę o ustosunkowanie się do powyższego!!! --[[Użytkownik:Sikor|Sikor]] 12:21, 21 sie 2006 (CEST)&lt;br /&gt;
::Ehh, widzę, że nie chce się nikomu ruszyć d... czterech liter. Powoli się za to zabieram - zniknie sporo stron z najpotrzebniejszych, będzie większy porządek...--[[Użytkownik:Sikor|Sikor]] 10:39, 24 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Baza scenowa? ==&lt;br /&gt;
Hmm, w poszczególnych opisach zlotów opisujemy prace, które były wystawiane na zlotach, a potem... Nie mozna ich znaleźć w sieci. Może więc dałoby się zrobić dział &amp;quot;prace&amp;quot; czy coś w tym stylu, wyodrębnić jakieś miejsce na serwerze (o ile Krap sie zgodzi...) i trzymać tu posegregowane prace scenowe według zlotów (każdy zlot to jeden katalog *.zip na przykład). Wtedy, w opisie - jak mamy wyszczególnioną praće to dajemy link do całego katalogu, a ludziki już sobie wyciągną, co będą potrzebowali. Co sądzi o tym reszta ludzików i czy cokolwiek ma do dodania...? --[[Użytkownik:Sikor|Sikor]] 08:46, 19 wrz 2006 (CEST)&lt;br /&gt;
:Ej, przeca na pigwie jest - tylko dostęp &#039;&#039;via&#039;&#039; ftp tylko. --[[Użytkownik:Miker|miker/bjb/ng]] 06:48, 14 gru 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Licencje? ==&lt;br /&gt;
No właśnie, niedawno pojawił się ten temat w dyskusji [[dely]]ego. Może by dać gdzieś skądś linka do tej GFDL + małego disklejmera i/lub jakąś specjalną (pod)stronkę do wrzucania uwag, że coś nie jest tak (bo może można i tutaj, ale żeby zbytnio nie zaśmiecać). Co Wy na to? --[[Użytkownik:Miker|miker/bjb/ng]] 10:11, 6 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
:No w naszych realiach wypadalo by umiescic linka (albo lepiej kod) do tlumaczenia licencji, ale najpierw cza sie zastanowic czy to ma byc GFDL (ktory, co zabawne, uznawany jest za &amp;quot;nie wolna licencje&amp;quot;) czy moze jakas [http://creativecommons.pl/ CC]. --[[Użytkownik:Jellonek|Jellonek]] 10:25, 6 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
::Panowie panowie, spokojnie. Po primo, to &#039;my&#039; jestesmy autorami contentu atariki, i mozemy sobie teksty zastrzec na dowolnej licencji, badz wogole tego nie robic. Ja jestem za ta druga opcja, nie potrzebujemy zadnej licencji. Po secundo, &#039;tenpan&#039; ktory uznal ze atariki jest z czymstam niezgodne, mial na mysli uzywanie nazwy WIKIPEDIA, i nic wiecej, wiec proponuje wiecej samodzielnego myslenia, odwagi w posiadaniu wlasnych racji :) oraz ciepłego moczu dla zealotów spod znaku GNU/GFDL. [[Użytkownik:Mikey|Mikey]] 17:53, 6 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
:::Nie, no jakas licencja by sie przydala - lepiej zostawic na BSD, niz zostawic bez niczego... Co do zealotow popieram... --[[Użytkownik:Jellonek|Jellonek]] 11:04, 7 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
::::OT: nie macie obaj na myśli &#039;&#039;zelotów&#039;&#039;? http://www.slownik-online.pl/kopalinski/8CB186B4B101C588C12565B50067BA79.php :&amp;gt; [[Użytkownik:KMK|KMK]] 11:29, 7 mar 2007 (CET)&lt;br /&gt;
:::::W Starcrafta chłopaki po prostu grają :P --[[Użytkownik:Daniel Koźmiński|dely]] 13:21, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
Dobra - temat już załatwiony. Atariki od teraz występuje na liście jako &#039;&#039;&#039;Strona niezwiązana&#039;&#039;&#039;. Cieszycie się? :) --[[Użytkownik:Miker|miker/bjb/ng]] 00:10, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
Guzik nie zalatwiony, Atariki powinno wogole zniknąć z tamtego &#039;spisu&#039; bo nie jest w zaden sposob pochodną wikipedii albo jakiegokolwiek projektu WikiMedia. Nalezy usunąć atariki stamtąd absolutnie na amen ;) [[Użytkownik:Mikey|Mikey]] 17:36, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
EDIT: wlasnie zauwazylem ze tak sie stało :) Dzieki Miker, Jellonek. [[Użytkownik:Mikey|Mikey]] 17:39, 8 mar 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== IDEa/Pasiu ==&lt;br /&gt;
&lt;br /&gt;
Postuluję o zmianę tytułu artykułu &amp;quot;IDEa/Pasiu&amp;quot; na samo &amp;quot;IDEa&amp;quot;, ewentualnie &amp;quot;IDEa Interface&amp;quot;, które figuruje na płytce. Oczywiście nie zamierzam tu umniejszać pracy autora, natomiast pierwsze słyszę, żeby jego nick był częścią nazwy mojego ulubionego interfejsu.&lt;br /&gt;
Dodatkowo również &amp;quot;IDE JZ/KMK&amp;quot; mógłby nazywać się &amp;quot;KMK/JŻ IDE&amp;quot;, jak sugeruje (oryginalna, śmiem przypuszczać) naklejka na obudowie widocznej na zdjęciach.&lt;br /&gt;
Człon &amp;quot;Interface&amp;quot; proponuję jednak w obu przypadkach pominąć, jako domyślny dla różnych rozszerzeń.&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=NeoTracker&amp;diff=23207</id>
		<title>NeoTracker</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=NeoTracker&amp;diff=23207"/>
		<updated>2007-05-02T05:21:24Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Neo16_2.png}}&lt;br /&gt;
Edytor muzyczny autorstwa [[Epi]]ego/[[Tristesse]], umożliwiający tworzenie i odtwarzanie modułów w oparciu o 8-bitowe sample.&lt;br /&gt;
&lt;br /&gt;
Program powstawał w latach 2002-2006. Ostatnia dostępna wersja (1.6) pochodzi z 26.03.2006. Cechy charakterystyczne programu to m.in.:&lt;br /&gt;
* program instalacyjny z dość dużymi możliwościami konfiguracji&lt;br /&gt;
* wymagane co najmniej 32kB dodatkowej pamięci podłączanej przez Port B&lt;br /&gt;
* obsługa rozszerzeń pamięci do 1 MB, podkatalogów [[MyDOS]] i [[SpartaDOS]]&lt;br /&gt;
* współpraca zarówno z [[Covox]]em, jak i [[POKEY]]em, również w opcji [[Stereo]] (wykrywane automatycznie)&lt;br /&gt;
* częstotliwość miksowania przy odtwarzaniu modułów - 11.75kHz&lt;br /&gt;
* obsługa (klawiszologia) wzorowana na [[Theta Music Composer|TMC]]&lt;br /&gt;
* maksymalna ilość sampli bezpośrednio związana z liczbą dostępnych banków rozszerzonej pamięci&lt;br /&gt;
* własne formaty zapisu modułów (*.[[NEO]]), sampli (*.NSF) i paternów (*.NPF)&lt;br /&gt;
* możliwość importu sampli w formacie [[ProTracker]]a (*.SMP)&lt;br /&gt;
* możliwość importu modułów *.MOD (z pewnymi ograniczeniami)&lt;br /&gt;
* wbudowana podręczna pomoc&lt;br /&gt;
&lt;br /&gt;
Istnieje również kilka eksperymentalnych, niepublikowanych wersji, m.in. 1.11fsv, przy pomocy której powstał [[BrullWuRfEl]], czy 1.5c, czyli 1.5 bez importu *.MOD, za to z opcją &amp;quot;drum machine&amp;quot; - 4 kanały na żywo po 19kHz (tylko na Covoksie).&lt;br /&gt;
&lt;br /&gt;
Jakiekolwiek doniesienia o niemożności uruchomienia programu spowodowane są ignorancją osób odpowiedzialnych za owe doniesienia, tudzież błędami, które zostały już usunięte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_0.png]]&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_1.png]]&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Neo16_3.png]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* [http://atari8.info/stuff/neo16.zip Program instalacyjny NeoTrackera 1.6].&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Edytory muzyczne]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Deep_Blue_C&amp;diff=23109</id>
		<title>Deep Blue C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Deep_Blue_C&amp;diff=23109"/>
		<updated>2007-04-01T20:24:38Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jeden z nielicznych kompilatorów języka C na [[Atari 8-bit|małe Atari]]. Jego składnia jest zbliżona do standardu ANSI C, z istotnymi ograniczeniami. Niedostępne są:&lt;br /&gt;
&lt;br /&gt;
* struktury, unie&lt;br /&gt;
* tablice wielowymiarowe&lt;br /&gt;
* liczby zmiennoprzecinkowe&lt;br /&gt;
* funkcje zwracające wartości typu innego niż int&lt;br /&gt;
* operator sizeof&lt;br /&gt;
* rzutowanie typów&lt;br /&gt;
&lt;br /&gt;
Inne niestandardowe właściwości Deep Blue C:&lt;br /&gt;
&lt;br /&gt;
* Ostatni człon (case lub default) klauzuli switch musi być zakończony jedną z instrukcji: break, continue lub return.&lt;br /&gt;
* Typ char jest zawsze bez znaku.&lt;br /&gt;
* Łańcuchy znakowe nie mogą być dzielone.&lt;br /&gt;
* Długość linii kodu źródłowego nie może przekraczać 79 znaków.&lt;br /&gt;
* Funkcja nie może mieć więcej niż 126 argumentów.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Deep_Blue_C&amp;diff=23108</id>
		<title>Deep Blue C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Deep_Blue_C&amp;diff=23108"/>
		<updated>2007-04-01T20:23:48Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jeden z nielicznych kompilatorów języka C na [[Atari 8-bit|małe Atari]]. Jego składnia jest mocno zbliżona do standardu ANSI C, z istotnymi ograniczeniami. Niedostępne są:&lt;br /&gt;
&lt;br /&gt;
* struktury, unie&lt;br /&gt;
* tablice wielowymiarowe&lt;br /&gt;
* liczby zmiennoprzecinkowe&lt;br /&gt;
* funkcje zwracające wartości typu innego niż int&lt;br /&gt;
* operator sizeof&lt;br /&gt;
* rzutowanie typów&lt;br /&gt;
&lt;br /&gt;
Inne niestandardowe właściwości Deep Blue C:&lt;br /&gt;
&lt;br /&gt;
* Ostatni człon (case lub default) klauzuli switch musi być zakończony jedną z instrukcji: break, continue lub return.&lt;br /&gt;
* Typ char jest zawsze bez znaku.&lt;br /&gt;
* Łańcuchy znakowe nie mogą być dzielone.&lt;br /&gt;
* Długość linii kodu źródłowego nie może przekraczać 79 znaków.&lt;br /&gt;
* Funkcja nie może mieć więcej niż 126 argumentów.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Greg&amp;diff=23014</id>
		<title>Greg</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Greg&amp;diff=23014"/>
		<updated>2007-03-14T21:03:22Z</updated>

		<summary type="html">&lt;p&gt;Epi: i wogle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|GREG_2003.jpg}}&lt;br /&gt;
&lt;br /&gt;
Grzegorz &#039;Greg&#039; Kwiatek - muzyk związany ze sceną Atari od końca 1994 roku. Z pochodzenia Krakus, obecnie z konieczności mieszkający w Warszawie.&lt;br /&gt;
&lt;br /&gt;
Zaczynał scenową karierę w commodorowskiej grupie &#039;&#039;&#039;Faith&#039;&#039;&#039;, później był  [[Taquart]], a następnie przeszedł do [[Aids]] oraz [[Bit Busters]]. Był również członkiem [[Porażka Team]]. Obecnie należy do muzycznej grupy [[Grayscale]], razem z [[BeWu]] oraz [[X-Ray]]em. Greg to jeden z najaktywniejszych muzyków scenowych - wydał m.in. kilka części muzycznej kolekcji &#039;&#039;Voice of Silence&#039;&#039;, udoskonalił [[Chaos Music Composer]]a (projekt &#039;&#039;Chaos Music Composer DoublePlay&#039;&#039;), udzielał się w kilku demach i msx-compo (wysokie miejsca). Jeden z niewielu, którzy w praktyce przekonali się o korzyściach z posiadania złącza &#039;&#039;&#039;MIDI OUT&#039;&#039;&#039; w małym Atari - dzięki temu powstały niektóre jego utwory, które zebrane zostały w formie plików MP3 w kolekcji &amp;quot;Voice Of Silence VI&amp;quot;. Obecnie komponuje z użyciem [[TMC]] autorstwa [[Jaskier]]a. Twórca kilka artykułów do zinów, np. kursu obsługi TMC oraz pomysłodawca projektu &amp;quot;Scene Register&amp;quot; - bazy adresów ludzi z atarowskiej sceny komputerowej. Na dzień dzisiejszy Greg ogranicza się, z uwagi na permanentny brak czasu, do drobnej twórczości muzycznej.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ważniejsze własne produkcje/dzieła w których brał udział (niepełna lista):&lt;br /&gt;
* Greg Music Collection (1994/1995)&lt;br /&gt;
* Greg Music Collection 2 &amp;quot;Big Ones&amp;quot; (1995)&lt;br /&gt;
* [[Back to life]] (1995) - muzyka w demie, Orneta CP&lt;br /&gt;
* Voice of Silence I (1995) - w kooperacji z [[Bac]]/Taquart&lt;br /&gt;
* Scene Register 1.0 (1995)&lt;br /&gt;
* [[Energy]]&lt;br /&gt;
* Voice of Silence II (1996) - w kooperacji z Bac/Taquart&lt;br /&gt;
* Scene Register 2.0 (1996)&lt;br /&gt;
* [[Recycle]] (1996) - muzyka w intrze, Orneta Copy-Party&lt;br /&gt;
* [[Ultra]] (1997) - muzyka w demie, Intel Outside IV, Włocławek&lt;br /&gt;
* Voice of Silence III (1997) &amp;quot;Eclipse Day&amp;quot;&lt;br /&gt;
* [[Really Unreal]] - muzyka w demie&lt;br /&gt;
* Voice of Silence IV (1998) &amp;quot;Tribute to...&amp;quot;&lt;br /&gt;
* Voice of Silence V (1999) &amp;quot;Cogito&amp;quot;&lt;br /&gt;
* Cogito (1999) - demo zaprezentowane poza konkursem na Copy-Party w Opalenicy&lt;br /&gt;
* Voice of Silence VI (1999-2000) &amp;quot;Expectancy&amp;quot;&lt;br /&gt;
* [[Back to Life 2]] (2004) - muzyka w demie, Orneta Copy-Party&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Linki:&lt;br /&gt;
# [http://www.igf.edu.pl/~gregus strona prywatna] Grega&lt;br /&gt;
# [http://www.igf.edu.pl/~gregus/scene.php Informacje] nt. bieżącej działalności scenowej&lt;br /&gt;
# bezpośredni [http://www.igf.edu.pl/~gregus/download.php?dir=msx/asma link] do twórczości autora w projekcie [[ASMA]]&lt;br /&gt;
# strona [http://grayscale.scene.pl Grayscale] w Internecie&lt;br /&gt;
# bezpośredni [http://tiny.pl/q8dp link] do programu &#039;&#039;&#039;DoublePlay Chaos Music Composer&#039;&#039;&#039;&lt;br /&gt;
# ...i [http://tiny.pl/q8dl przykładowe muzyczki] do DoublePlay CMC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;br /&gt;
[[Kategoria:Członkowie grupy Taquart]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Greg&amp;diff=23013</id>
		<title>Greg</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Greg&amp;diff=23013"/>
		<updated>2007-03-14T21:00:32Z</updated>

		<summary type="html">&lt;p&gt;Epi: Precz z emotami&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|GREG_2003.jpg}}&lt;br /&gt;
&lt;br /&gt;
Grzegorz &#039;Greg&#039; Kwiatek - muzyk związany ze sceną Atari od końca 1994 roku. Z pochodzenia Krakus, obecnie z konieczności mieszkający w Warszawie.&lt;br /&gt;
&lt;br /&gt;
Zaczynał scenową karierę w commodorowskiej grupie &#039;&#039;&#039;Faith&#039;&#039;&#039;, później był  [[Taquart]], a następnie przeszedł do [[Aids]] oraz [[Bit Busters]]. Zaliczył też członkostwo w tzw. &amp;quot;[[Porażka Team]]&amp;quot;. Obecnie należy do muzycznej grupy [[Grayscale]], gdzie razem z [[BeWu]] oraz [[X-Ray|X-Ray&#039;em]] skutecznie &amp;quot;męczą&amp;quot; [[POKEY|Pokeya]] i to nieraz w [[stereo]]. :) Greg to jeden z najaktywniejszych muzyków scenowych - wydał m.in. kilka części muzycznej kolekcji &#039;&#039;Voice of Silence&#039;&#039;, udoskonalił [[Chaos Music Composer]]a (projekt &#039;&#039;Chaos Music Composer DoublePlay&#039;&#039;), udzielał się w kilku demach i msx-compo (wysokie miejsca). Jeden z niewielu, którzy w praktyce przekonali się o korzyściach z posiadania złącza &#039;&#039;&#039;MIDI OUT&#039;&#039;&#039; w małym Atari - dzięki temu powstały niektóre jego utwory, które zebrane zostały w formie plików MP3 w kolekcji &amp;quot;Voice Of Silence VI&amp;quot;. Obecnie komponuje z użyciem [[TMC]] autorstwa [[Jaskier]]a. Twórca kilka artykułów do zinów, np. kursu obsługi TMC oraz pomysłodawca projektu &amp;quot;Scene Register&amp;quot; - bazy adresów ludzi z atarowskiej sceny komputerowej. Na dzień dzisiejszy Greg ogranicza się, z uwagi na permanentny brak czasu, do drobnej twórczości muzycznej.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ważniejsze własne produkcje/dzieła w których brał udział (niepełna lista):&lt;br /&gt;
* Greg Music Collection (1994/1995)&lt;br /&gt;
* Greg Music Collection 2 &amp;quot;Big Ones&amp;quot; (1995)&lt;br /&gt;
* [[Back to life]] (1995) - muzyka w demie, Orneta CP&lt;br /&gt;
* Voice of Silence I (1995) - w kooperacji z [[Bac]]/Taquart&lt;br /&gt;
* Scene Register 1.0 (1995)&lt;br /&gt;
* [[Energy]]&lt;br /&gt;
* Voice of Silence II (1996) - w kooperacji z Bac/Taquart&lt;br /&gt;
* Scene Register 2.0 (1996)&lt;br /&gt;
* [[Recycle]] (1996) - muzyka w intrze, Orneta Copy-Party&lt;br /&gt;
* [[Ultra]] (1997) - muzyka w demie, Intel Outside IV, Włocławek&lt;br /&gt;
* Voice of Silence III (1997) &amp;quot;Eclipse Day&amp;quot;&lt;br /&gt;
* [[Really Unreal]] - muzyka w demie&lt;br /&gt;
* Voice of Silence IV (1998) &amp;quot;Tribute to...&amp;quot;&lt;br /&gt;
* Voice of Silence V (1999) &amp;quot;Cogito&amp;quot;&lt;br /&gt;
* Cogito (1999) - demo zaprezentowane poza konkursem na Copy-Party w Opalenicy&lt;br /&gt;
* Voice of Silence VI (1999-2000) &amp;quot;Expectancy&amp;quot;&lt;br /&gt;
* [[Back to Life 2]] (2004) - muzyka w demie, Orneta Copy-Party&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Linki:&lt;br /&gt;
# [http://www.igf.edu.pl/~gregus strona prywatna] Grega&lt;br /&gt;
# [http://www.igf.edu.pl/~gregus/scene.php Informacje] nt. bieżącej działalności scenowej&lt;br /&gt;
# bezpośredni [http://www.igf.edu.pl/~gregus/download.php?dir=msx/asma link] do twórczości autora w projekcie [[ASMA]]&lt;br /&gt;
# strona [http://grayscale.scene.pl Grayscale] w Internecie&lt;br /&gt;
# bezpośredni [http://tiny.pl/q8dp link] do programu &#039;&#039;&#039;DoublePlay Chaos Music Composer&#039;&#039;&#039;&lt;br /&gt;
# ...i [http://tiny.pl/q8dl przykładowe muzyczki] do DoublePlay CMC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;br /&gt;
[[Kategoria:Członkowie grupy Taquart]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=HCASM&amp;diff=23012</id>
		<title>HCASM</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=HCASM&amp;diff=23012"/>
		<updated>2007-03-14T19:29:27Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cross-assembler autorstwa [[Epi]]ego, prawie całkowicie zgodny w dół z [[xasm]]em. Działa pod MS-DOS, wymagając jedynie procesora 386. Nazwa to skrót od &#039;Hard Core Assembler&#039; &lt;br /&gt;
&lt;br /&gt;
W stosunku do xasma pozbawiony jest niektórych rzadziej używanych funkcji: generowania tablic sinusów, op-code&#039;ów w wyrażeniach, liczb rzeczywistych, wsparcia dla konsoli [[5200]].&lt;br /&gt;
&lt;br /&gt;
W zamian za to udostępnia:&lt;br /&gt;
&lt;br /&gt;
*nowe rozkazy i tryby adresowania procesora [[65c816]] rozszerzone o pseudo-tryby adresowania charakterystyczne dla xasma&lt;br /&gt;
*generowanie plików wykonywalnych dla [[SpartaDOS X]], wzorem [[Fast Assembler]]a&lt;br /&gt;
*makra z możliwością zagnieżdżania oraz rozbijania parametrów na elementy trybu adresowania i wyrażenie&lt;br /&gt;
*etykiety lokalne, funkcjonujące podobnie jak w [[MAE]]&lt;br /&gt;
*możliwość łączenia dowolnej liczby instrukcji w pojedynczej linii, a nie tylko dwóch, jak w xasmie&lt;br /&gt;
*automatyczny wybór zakresu skoku (Bxx/Jxx)&lt;br /&gt;
&lt;br /&gt;
Mimo że ma parę błędów, napisane zostały w nim: demo [[SROLL-demo|Sroll]] i wersja 2.0 depakera [[xunzip]].&lt;br /&gt;
&lt;br /&gt;
Przez pierwszy rok istnienia niepublikowany oficjalnie. Obecnie do pobrania ze [http://epi.atari8.info/hcasm.php strony domowej].&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=TMC_(format_pliku)&amp;diff=23001</id>
		<title>TMC (format pliku)</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=TMC_(format_pliku)&amp;diff=23001"/>
		<updated>2007-03-10T10:29:05Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Format modułu muzycznego używany przez program [[Theta Music Composer]] 1.x. Występuje w postaci plików z rozszerzeniami TMC i TM8 (ośmiokanałowe) lub TM4 (czterokanałowe).&lt;br /&gt;
&lt;br /&gt;
Plik w tym formacie zawiera normalny [[COM#Nag.C5.82.C3.B3wek|nagłówek binarny]], składa się z jednego bloku.&lt;br /&gt;
Wewnątrz znajdują się następujące dane:&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;offset&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;długość&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;opis&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$001e&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;tytuł utworu (ostatni bajt musi być spacją)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$001e&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0001&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;szybkość odtwarzania (ilość [[ramka|ramek]] na linię paternu)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$001f&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0001&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;ilość wywołań playera na ramkę&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0020&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0040&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;młodsze bajty adresów instrumentów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0060&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0040&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;starsze bajty adresów instrumentów (adres równy 0 oznacza instrument pusty)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$00a0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0080&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;młodsze bajty adresów paternów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$0120&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$0080&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;starsze bajty adresów paternów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$01a0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;...&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;dane songu&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;...&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;...&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;dane instrumentów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;...&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;...&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;dane paternów&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dane songu ===&lt;br /&gt;
Każda pozycja zajmuje 16 bajtów. Są to kolejno: transpozycja ścieżki 8, nr paternu na ścieżce 8, transpozycja ścieżki 7, itd. Koniec danych songu wyznacza pozycja pusta (16 wartości $ff).&lt;br /&gt;
&lt;br /&gt;
=== Dane instrumentów ===&lt;br /&gt;
Każdy instrument to 80 bajtów. Kolejno:&lt;br /&gt;
* 21 razy trójka bajtów $ab, $cd, $ef, gdzie:&lt;br /&gt;
** a - zniekształcenie dźwięku,&lt;br /&gt;
** b - głośność obwiedni podstawowej,&lt;br /&gt;
** c - typ akcentu,&lt;br /&gt;
** d - głośność obwiedni dodatkowej,&lt;br /&gt;
** ef - parametr akcentu,&lt;br /&gt;
* 8 bajtów transpozycji,&lt;br /&gt;
* 9 bajtów parametrów dźwięku.&lt;br /&gt;
&lt;br /&gt;
=== Dane paternów ===&lt;br /&gt;
Znaczenie poszczególnych wartości:&lt;br /&gt;
* $00 - zmiana głośności dźwięku, kolejny bajt jest bitową negacją wartości głośności używanej w programie;&lt;br /&gt;
* $01-$3f - graj nutę o danym numerze za pomocą ustalonego wcześniej instrumentu, następuje po tym bajt głośności;&lt;br /&gt;
* $40 - nowy parametr, jeżeli ten bajt ma ustawiony najwyższy bit, to następuje za nim bajt zmiany głośności;&lt;br /&gt;
* $41-$7f - graj nutę o numerze określonym na sześciu młodszych bitach i ustalonym instrumencie, następuje po tym bajt parametru z ustawionym najstarszym bitem oraz bajt głośności;&lt;br /&gt;
* $80-$bf - zmiana bieżącego instrumentu na inny o numerze określonym w sześciu młodszych bitach, używane przed rozkazem grania nuty tylko przy faktycznej zmianie instrumentu w paternie;&lt;br /&gt;
* $c0-$ff - linie puste w paternie, ich ilość określa sześć młodszych bitów; każdy patern kończy się bajtem $ff oznaczającym 64 puste linie;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria: Formaty plików]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Xunzip&amp;diff=22978</id>
		<title>Xunzip</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Xunzip&amp;diff=22978"/>
		<updated>2007-03-03T19:30:32Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Małe, ale niezwykle użyteczne narzędzie do rozpakowywania archiwów [http://pl.wikipedia.org/wiki/ZIP ZIP], oraz (od wersji 2.0) [http://pl.wikipedia.org/wiki/Tar_%28informatyka%29 TAR], [http://pl.wikipedia.org/wiki/Gzip GZ] i TGZ. Autorami są [[Epi]] oraz [[Fox]]. Od innych tego typu programów odróżnia się przede wszystkim wyjątkowo skromnymi wymaganiami sprzętowymi (wystarczy 48kB, MEMLO nawet $2600). Pracuje z większością [[DOS]]ów (najczęściej wystarczy, że system spełnia warunek odnośnie MEMLO).&lt;br /&gt;
&lt;br /&gt;
Po wczytaniu program prosi o podanie nazwy pliku źródłowego i ewentualnych opcji. W przypadku [[SpartaDOS]]-a i [[DOS XL]] dane pobierane są z linii komend. Ewentualne błędy w składni polecenia (lub jego brak) spowodują wyświetlenie krótkiej informacji o sposobie używania programu.&lt;br /&gt;
&lt;br /&gt;
Składnia polecenia jest następująca:&lt;br /&gt;
&#039;&#039;źródło&#039;&#039; [&#039;&#039;cel&#039;&#039;] [&#039;&#039;opcje&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;źródło&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
to specyfikacja archiwum. Format jest rozpoznawany na podstawie rozszerzenia (.ZIP, .TAR, .GZ, .TGZ). W przypadku braku rozszerzenia, przyjmowane jest domyślnie .ZIP. Jeżeli nie zostanie podana nazwa urządzenia, domyślna przyjmowana jest wg numeru bieżącego napędu lub stacji, z której wczytano xunzip-a (zależnie od DOSa).&lt;br /&gt;
Dla [[SpartaDOS X]] można (należy) podawać ścieżki w formacie SDX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;cel&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ścieżka do miejsca, gdzie mają być wypakowane pliki. Jeżeli nie zostanie podana, przyjmowana jest bieżąca ścieżka, lub urządzenie, z którego xunzip został wczytany (zależnie od DOSa).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;opcje&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-V&#039;&#039;  zamiast rozpakowania plików, zostanie wyświetlona ich lista wraz z rozmiarem i (dla ZIP-ów) sposobem kompresji. Na końcu zostanie podana ilość wszystkich plików oraz ich całkowity rozmiar. Jeżeli archiwum zawiera podkatalogi, a używany DOS ich nie obsługuje, zostanie wyświetlony odpowiedni komunikat.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-I&#039;&#039;  włącza tryb interaktywny. Przy każdym pliku nastąpi zapytanie o kierunek dalszego postępowania. Można wypakować bieżący plik (Extract) lub wszystkie pliki, poczynając od bieżącego (All), pominąć plik (przejść do następnego bez wypakowywania - Skip), zmienić ścieżkę docelową (Dest), lub zamknąć archiwum bez wypakowywania pozostałych plików (Close). Wyboru dokonuje się przez wciśnięcie klawisza odpowiadającego danej opcji.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-D&#039;&#039;  włącza prośbę o zmianę dysku na źródłowy/docelowy. Umożliwia rozpakowanie archiwum na inną dyskietkę (dyskietki) w przypadku używania tylko jednej stacji.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-S&#039;&#039;  wyłącza ekran na czas rozpakowywania oraz operacji I/O, dając przyspieszenie ok. 20%.&lt;br /&gt;
&lt;br /&gt;
Opcje mogą być podane w dowolnym miejscu, istnieje również możliwość łączenia opcji, np. &#039;&#039;-IS FOO.TAR D5:FOO&amp;gt;&#039;&#039;.&lt;br /&gt;
Pod SpartaDOS X program należy uruchamiać za pośrednictwem komendy X.COM, np. &#039;&#039;x xunzip&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wersja 2.0 zawiera błąd uniemożliwiający korzystanie z opcji -D -S i -I.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Programy użytkowe]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Kajtek&amp;diff=22948</id>
		<title>Kajtek</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Kajtek&amp;diff=22948"/>
		<updated>2007-02-23T20:22:42Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|kajtek.jpg}}Kajetan Staszuk. Kiedyś podpisywał się &#039;&#039;&#039;Hans Kloss&#039;&#039;&#039;, potem zmienił ksywę na &#039;&#039;&#039;Reaper&#039;&#039;&#039;, jednak przez wszystkich zapamiętany jako &#039;&#039;&#039;Kajtek&#039;&#039;&#039;. Współpracował z [[Warp]]em przy projekcie [http://visualvinyl.net VISUALVINYL], także próbował swoich sił jako elektronik. Pojawił się tylko na [[QuaST 2003]]. W niedługim czasie po party świat obiegła wiadomość o jego tragicznej śmierci. Zgodnie z wolą jego rodziny cały jego atarowski sprzęt został rozdzielony między [[scena|scenowców]].&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Cykl_koloru&amp;diff=22947</id>
		<title>Cykl koloru</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Cykl_koloru&amp;diff=22947"/>
		<updated>2007-02-23T17:38:25Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jednostka czasu odpowiadająca w systemie [http://pl.wikipedia.org/wiki/PAL_%28telewizja%29 PAL] 1/228 linii, czyli 1/71136 [[ramka|ramki]], a także 1/2 cyklu maszynowego, mająca bezpośrednie przełożenie na określenie poziomej pozycji i szerokości wyświetlanych obiektów graficznych i do tego celu również jest używana.&lt;br /&gt;
&lt;br /&gt;
Jest to czas, w jakim układy graficzne Atari są w stanie dokonać pełnej zmiany koloru w linii poziomej, stąd też wynika najmniejsza szerokość pikseli w kolorowych trybach graficznych. [[Tryby monochromatyczne ANTIC-a]] dają możliwość wyświetlania pikseli o szerokości połowy cyklu koloru.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Glosariusz]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Tryby_wysokiej_rozdzielczo%C5%9Bci&amp;diff=22946</id>
		<title>Tryby wysokiej rozdzielczości</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Tryby_wysokiej_rozdzielczo%C5%9Bci&amp;diff=22946"/>
		<updated>2007-02-23T17:11:03Z</updated>

		<summary type="html">&lt;p&gt;Epi: też mi złożona zależność, phi!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Monochromatyczne [[Tryby graficzne ANTIC-a|tryby graficzne]], w których jeden piksel ma szerokość &#039;&#039;&#039;połowy [[cykl koloru|cyklu koloru]]&#039;&#039;&#039;. Mają one następujące wspólne cechy:&lt;br /&gt;
* Ilość pikseli w linii przy normalnej [[Rejestry ANTIC-a#DMACTL|szerokości pola gry]] wynosi 320, przy wąskiej i szerokiej odpowiednio 256 i 384.&lt;br /&gt;
* Kolor ramki jest jak zwykle pobierany z rejestru [[Rejestry GTIA#COLBAK|COLBAK]].&lt;br /&gt;
* Dostępne są 2 kolory o tej samej [http://en.wikipedia.org/wiki/Chrominance chrominancji]. Kolor pola gry - w odróżnieniu od większości trybów - określa [[Rejestry GTIA#COLPF2|COLPF2]]. Z kolei [[Rejestry GTIA#COLPF1|COLPF1]] określa wyłącznie [http://en.wikipedia.org/wiki/Luminance luminancję] pikseli drugiego koloru.&lt;br /&gt;
* Grafika [[PMG]] nie może zakrywać &amp;quot;zapalonych&amp;quot; pikseli pola gry, niezależnie od priorytetów ustawionych w rejestrze [[Rejestry GTIA#GTIACTL|GTIACTL]] ([[Rejestry-cienie Atari OS#GTIACTLS|GTIACTLS]]). Wpływa jedynie na zmianę ich chrominancji, analogicznie jak w poprzednim punkcie.&lt;br /&gt;
* W systemie [http://pl.wikipedia.org/wiki/NTSC NTSC] zachodzi [[efekt artefaktów]].&lt;br /&gt;
* Dają możliwość prostego korzystania z tzw. trybów graficznych [[GTIA]].&lt;br /&gt;
&lt;br /&gt;
Monochromatycznymi są tryby [[ANTIC $2]] ([[Graphics 0]]), [[ANTIC $3]] i [[ANTIC $F]] ([[Graphics 8]]).&lt;br /&gt;
[[Kategoria: Programowanie Atari 8-bit]]&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Atari_Stars_Party&amp;diff=22945</id>
		<title>Atari Stars Party</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Atari_Stars_Party&amp;diff=22945"/>
		<updated>2007-02-23T12:17:44Z</updated>

		<summary type="html">&lt;p&gt;Epi: krap lepiej działa (nie histeryzuje)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Najprawdopodobniej pierwsze polskie [[copy party]] w historii małego [[Atari]]. Zorganizowane&lt;br /&gt;
na jesieni 1990 r. (był to wrzesień lub październik), w &amp;quot;Domu Harcerza&amp;quot; niedaleko gdańskiej Starówki, zebrało większość aktywnych ówcześnie atarowskich scenowców, m.in. grupy [[Our 5oft]], [[World Federation of Mad Hackers (WFMH)|WFMH]], [[Madman Federation]], osobistości takie jak [[Gizmo Magic]], [[Iron Soft]], [[Jakub Husak]] i inni. Zlot zorganizowała grupa [[ASF]] z przyjaciółmi, można się o nim było dowiedzieć wcześniej z prasy i, oczywiście, dem. ATARI STARS PARTY miało typowo towarzyski charakter, wymieniano doświadczenia, oprogramowanie (hitem z użytków był [[Future Composer]], z dem wyróżniały się zapowiedzi gier ([[Five to Five]], [[Battle Ships]]) oraz szczególnie [[The Top 1]]), a także - jako ciekawostkę - podziwiać można było w akcji [http://en.wikipedia.org/wiki/Amiga Amigę 500], którą miały dwie osoby. Wynika więc z tego, iż nie było żadnych konkursów, itp. spraw. Party to miało charakter otwarty - mogli wejść także ludzie &amp;quot;z ulicy&amp;quot;, czy &#039;&#039;świeżo upieczeni&#039;&#039; atarowcy (była okazja zdobycia ówczesnych nowości - gier &amp;quot;Mountain Bike&amp;quot; czy &amp;quot;Pro Mountain Biker&amp;quot; albo  użytkowego &amp;quot;Kalendarzyka płodności kobiety&amp;quot;).;) Niestety, jak się później okazało, &#039;&#039;Atari Stars Party&#039;&#039; było jednorazową imprezą.&lt;br /&gt;
&lt;br /&gt;
Do dnia dzisiejszego zachowało się raczej niewiele informacji o tym zlocie, obejrzeć można było kilka fotek na (starej) stronie [[Pirx]]a z Our 5oftu, który powiedział parę słów o tym party także w [ftp://ftp.pigwa.net/stuff/other/radio_uxa/2006_04_23_radio_uxa.ogg wywiadzie] dla RadioUXA. Również [[Magnus]] mile [http://atariarea.krap.pl/wywiady.php?akcja=pokaz_wywiad&amp;amp;id=15 wspomina] to spotkanie. &lt;br /&gt;
Wrażenia z tego zlotu od H.Cygerta są do poczytania na forum Atari.area, w [http://atariarea.krap.pl/forum/viewtopic.php?pid=39564#p39564 tym miejscu].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Grafika:Atari_Stars_Party_1990.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;Część uczestników party:&lt;br /&gt;
(od lewej) Btronic/Our 5oft, Brain/WFMH, ???/Avalon (z tyłu), Arek Łukszo/Mirage, Thorgal/WFMH (na dole), Blue Tom/Our 5oft, Jakub Husak, Nosek, Pirx/Our 5oft&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Zloty]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=FreeMiNT&amp;diff=22943</id>
		<title>FreeMiNT</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=FreeMiNT&amp;diff=22943"/>
		<updated>2007-02-22T18:20:13Z</updated>

		<summary type="html">&lt;p&gt;Epi: lit.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OS}}System operacyjny przeznaczony dla komputerów Atari 16 i 32 bitowych (czyli serii [[ST]], [[TT030|TT]], [[Falcon]] i klonów).&lt;br /&gt;
&lt;br /&gt;
FreeMiNT łączy w sobie kompatybilność z [[TOS]]em, oraz kompatybilność z systemami z rodziny Unix.&lt;br /&gt;
&lt;br /&gt;
== Historia ==&lt;br /&gt;
[[FreeMiNT]] zostal zapoczątkowany przez Erica R. Smitha, jako biblioteka mająca zapewnić kompatybilność z programami z systemów typu Unix. Szybko jednak okazało się, że nie da się tego zadania wykonać jako biblioteki, projekt przekształcił się więc najpierw w nakładkę na [[TOS]], a potem rozrósł się stopniowo do rozmiarów systemu operacyjnego.&lt;br /&gt;
&lt;br /&gt;
Początkowo projekt nazywał się MiNT (MiNT is Not [[TOS]]). W okresie gdy Eric pisał MiNTa, firma Atari szukała możliwości wdrożenia systemu wspierającego multitasking dla swoich komputerów 16 i 32 bitowych. Jeden z pracowników Atari, &#039;&#039;&#039;Alan K. Pratt&#039;&#039;&#039;, wiedział o istnieniu MiNT-a. Z jego rekomendacji Atari Corp. zatrudniła [[Eric R. Smith|Erica R. Smitha]] oraz przejęła prawa do systemu. Projekt &amp;quot;zmienił&amp;quot; nazwę na MiNT (Mint is Now [[TOS]]). Pod egidą firmy Atari zostały wydane wersje od &#039;&#039;&#039;0.8&#039;&#039;&#039; do &#039;&#039;&#039;1.04&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Niestety w 1994 roku firma postanowiła wycofać się z rynku komputerów zamykając przy okazji projekt MiNT. Na szczęście przedtem źródła MiNTa zostały upublicznione, i zajęła się nim grupa developerów zrzeszona na [http://www.sparemint.org/mailinglist/ MiNTLiscie]. Atari zgodziła się odstąpić im swoje prawa na zasadach licencji. Dzięki nadesłanym wielu poprawkom, MiNT dociągnął do wersji &#039;&#039;&#039;1.12.4&#039;&#039;&#039;. Opieką nad projektem zajął się Michael Hohmuth a nazwa została zmieniona na &#039;&#039;&#039;MH MiNT&#039;&#039;&#039;. W tym czasie do projektu dodano [[MiNTNet]] autorstwa Kaya Roemera (implementacja stosów sieciowych) oraz obsługa systemu plików Minixa autorstwa Stephena Hensona. Pod koniec projekt ponownie zmienił nazwę, tym razem na [[FreeMiNT]].&lt;br /&gt;
&lt;br /&gt;
Od wersji 1.12.6 opiekę nad systemem objął Sven Karlsson. Jego dziełem był FreeMiNT 1.14 wyposazony w procedury pamięci wirtualnej, działające niestety tylko na [[TT030]], a i to nie za dobrze. W toku dalszego rozwoju systemu zostały one usunięte.&lt;br /&gt;
&lt;br /&gt;
W czasie tworzenia serii &#039;&#039;&#039;1.14&#039;&#039;&#039; opiekę nad projektem przejął [[KMK]]. Włożył on dużo pracy w stabilizację systemu oraz podsystem ochrony pamięci. Od wersji &#039;&#039;&#039;1.15&#039;&#039;&#039; opiekę nad systemem przejął Frank Naumann. Dodał on do systemu między innymi natywny sterownik [http://pl.wikipedia.org/wiki/File_Allocation_Table FAT] (do tamtej pory MiNT korzystał ze znajdującego się w [[ROM]]-ie [[GEMDOS]]-u), uzdatnił istniejący sterownik systemu plików [http://pl.wikipedia.org/wiki/Ext2 Ext2], dodał [[RAMdysk]] oraz sterowniki portów szeregowych. Ostatnia stabilna wersja nosi numer &#039;&#039;&#039;1.16.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Równocześnie z systemem, rozwijana jest biblioteka standardowa [[MiNTLib]].&lt;br /&gt;
&lt;br /&gt;
== Technikalia ==&lt;br /&gt;
&lt;br /&gt;
Pierwotnie [[FreeMiNT]] zastępował jedynie część [[GEMDOS|GEMDOS-u]], większość [[BIOS]]u i część [[XBIOS]]u. Reszta systemu (w szczególności [[GEM]]) pozostawała niezmieniona, aczkolwiek jeszcze w Atari rozpoczęto prace nad wielozadaniowym [[AES|AES-em]], który stanowił graficzną część [[MultiTOS|MultiTOS-u]].&lt;br /&gt;
&lt;br /&gt;
Od roku 1993 wiele się jednak zmieniło. Od wersji 1.16.0 do systemu włączony został [[XaAES]], a jedyną naprawdę ważną częścia systemu, której FreeMiNT nie zastępuje, jest [[VDI]].&lt;br /&gt;
&lt;br /&gt;
Cechy [[FreeMiNT]]a:&lt;br /&gt;
&lt;br /&gt;
# modularna budowa&lt;br /&gt;
# opcjonalna ochrona pamięci&lt;br /&gt;
# wielozadaniowośc z wywłaszczeniem&lt;br /&gt;
# automatyczna regulacja priorytetów procesów&lt;br /&gt;
# wieloużytkownikowość&lt;br /&gt;
# zintegrowana obsługa sieci&lt;br /&gt;
# kompatybilność z [[TOS]]em.&lt;br /&gt;
&lt;br /&gt;
== Zobacz też:==&lt;br /&gt;
# [http://www.sparemint.org SpareMiNT]&lt;br /&gt;
# [http://freemint.de/en/ FreeMiNT Portal]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Atari ST]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:G2F&amp;diff=22940</id>
		<title>Dyskusja:G2F</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:G2F&amp;diff=22940"/>
		<updated>2007-02-18T19:58:29Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jedyne rzeczowe informacje dotyczą przeznaczenia formatu, ew. tego, że daje się kompresować. TeBe, tutaj konkrety, a beletrystykę możesz publikować na swoim blogasku. --[[Użytkownik:Epi|Epi]] 20:58, 18 lut 2007 (CET)&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=The_Steam_Train&amp;diff=22939</id>
		<title>The Steam Train</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=The_Steam_Train&amp;diff=22939"/>
		<updated>2007-02-18T19:48:16Z</updated>

		<summary type="html">&lt;p&gt;Epi: Chciałoby się! :P&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1-kilobajtowe [[intro]] typu joke lub [[fake]] autorstwa [[Fandal]]a wystawione na [[Forever Seven]]. Jedziemy pociągiem do Trencina. Pół pociągu zostaje przed stacją - zupełnie jak w rzeczywistości!&lt;br /&gt;
&lt;br /&gt;
{{pouet|24335|png}}&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Intra XL/XE]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Xxl&amp;diff=22938</id>
		<title>Dyskusja:Xxl</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Xxl&amp;diff=22938"/>
		<updated>2007-02-18T19:40:12Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rozumiem, że &amp;quot;flash&amp;quot; jest linkowany do angielskiej wikipedii ze względu na jakość (czy też jej brak) artykułu w polskiej wersji? --[[Użytkownik:Epi|Epi]] 20:40, 18 lut 2007 (CET)&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=East_Party&amp;diff=22790</id>
		<title>East Party</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=East_Party&amp;diff=22790"/>
		<updated>2007-02-05T22:56:35Z</updated>

		<summary type="html">&lt;p&gt;Epi: +1zdanie +link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Party organizowane przez [[McMaster|McMastera]], odbywa się raz w roku w październiku lub listopadzie w [[Mońki|Mońkach]]. Charakteryzuje się miłą, kameralną, rodzinną wręcz atmosferą, za sprawą niedużej ilości uczestników oraz przyjaźnie nastawionych organizatorów. Do stałych punktów programu należą m.in. frytki oraz ekstremalnie niskie temperatury.&lt;br /&gt;
&lt;br /&gt;
*[[East 2000]]&lt;br /&gt;
*[[East 2001]]&lt;br /&gt;
*[[East 2002]]&lt;br /&gt;
*[[East 2003]]&lt;br /&gt;
*[[East 2004]]&lt;br /&gt;
*[[East 2005]]&lt;br /&gt;
*[[East 2006]]&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
[http://east.atari8.info/ east.atari8.info] - oficjalna strona zlotu&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Zloty]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Just_Fancy&amp;diff=22748</id>
		<title>Just Fancy</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Just_Fancy&amp;diff=22748"/>
		<updated>2007-02-02T14:53:50Z</updated>

		<summary type="html">&lt;p&gt;Epi: Z punktu widzenia encyklopedii ważniejszy jest ten rok, niż to, czy efekty są fajne.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Krótkie demko autorstwa [[SoTe|Soused Teat&#039;a]], wtedy z grupy [[Code3]]. &lt;br /&gt;
&lt;br /&gt;
Zawiera kilka naprawdę fajnych efektów, zwłaszcza jak na rok produkcji (1993).&lt;br /&gt;
&lt;br /&gt;
{{pouet|9753|gif}}&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Dema XL/XE]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Arkanoid&amp;diff=22739</id>
		<title>Arkanoid</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Arkanoid&amp;diff=22739"/>
		<updated>2007-01-31T17:45:35Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Arcanoid.gif}}&lt;br /&gt;
== Okoliczności przyrody ==&lt;br /&gt;
Gra typu arcade stworzona przez firmę Taito w 1986 roku, będącą klonem gry &#039;&#039;Gigas&#039;&#039; wydanej przez Segę, która z kolei była rozwinięciem gry &#039;&#039;Breakout&#039;&#039; wydanej przez [[Atari]] w 1976 roku. Gra szybko zdobyła popularność dzięki wspaniałej (jak na tamte czasy) grafice i prostym zasadom. Szybko została też przeniesiona na różne platformy (bądź za sprawą samego &#039;&#039;&#039;Taito&#039;&#039;&#039;, bądź dzięki licencjom, na przykład wersje na ówczesne komputery robiła firma &#039;&#039;&#039;Imagine&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
== Sposób gry ==&lt;br /&gt;
Gra polega na strącaniu klocków za pomocą piłeczki odbijanej paletką znajdującą się na dole ekranu. Niektóre klocki zawierają specjalne elementy, które spadają jako literki zamknięte w piłkach. Należy je złapać za pomocą paletki, ale trzeba pamiętać, aby nie przeoczyć piłeczki.&lt;br /&gt;
&lt;br /&gt;
Bonusy są następujące:&lt;br /&gt;
* P - dodatkowe życie&lt;br /&gt;
* C - przyklejenie piłeczki do paletki&lt;br /&gt;
* L - umożliwienie strzelania&lt;br /&gt;
* E - poszerzenie paletki&lt;br /&gt;
* S - chwilowe spowolnienie rozgrywki&lt;br /&gt;
* D - potrojenie ilości piłeczek&lt;br /&gt;
* B - otwiera przejście do kolejnego poziomu (aktywne tylko do złapania kolejnego bonusu)&lt;br /&gt;
&lt;br /&gt;
== Atari XL/XE ==&lt;br /&gt;
Ta wersja jest pełną wersją gry, w pełni sprawną, niemniej brak w niej obrazka z ekranu tytułowego (patrz załączone screeny z wersji dla Atari XL/XE oraz ST). Na ekranie tytułowym możemy wybrać:&lt;br /&gt;
* sposób sterowania grą, do wyboru:&lt;br /&gt;
::Atari paddles (wiosełka)&lt;br /&gt;
::Joystick&lt;br /&gt;
::Keyboard (klawiatura)&lt;br /&gt;
* liczbę urządzeń sterujących dla kilku graczy&lt;br /&gt;
* liczbę graczy&lt;br /&gt;
&lt;br /&gt;
== Atari ST ==&lt;br /&gt;
{{grafl|Arkanoidst.gif}}&lt;br /&gt;
Wersja dla Atari ST jest właściwie dokładną kopią gry z wersji oryginalnej, automatowej i zawiera wszystkie jej elementy, włącznie z krótką, skrolowaną historyjką i ekranem tytułowym.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oficjalne wersje ==&lt;br /&gt;
* 1. Arkanoid (1986)&lt;br /&gt;
* 2. Arkanoid - Revenge of Doh (1987)&lt;br /&gt;
* 3. Arkanoid: Doh it Again (1997, Nintendo Super NES)&lt;br /&gt;
* 4. Arkanoid Returns (1997)&lt;br /&gt;
&lt;br /&gt;
== Inne wersje ==&lt;br /&gt;
Oprócz oficjalnych wersji powstała cała rzesza gier naśladujących Arkanoida, w tym część z nich powtarza tytuł oryginalny (Arkanoid II - conajmniej 3 wersje na samo Atari XL/XE, Arkanoid 3, Arkanoid 4).&lt;br /&gt;
&lt;br /&gt;
Na Atari XL/XE istnieje jeszcze jedna oficjalna wersja Arkanoida, wydana przez The Hit Squad - jako wersja kasetowa standardowej wersji Arkanoida, wydana na rynkach brytyjskich.&lt;br /&gt;
&lt;br /&gt;
== Podobne gry na Atari XL/XE - oficjalne ==&lt;br /&gt;
* [[Ataroid]]&lt;br /&gt;
* [[Technoid]]&lt;br /&gt;
&lt;br /&gt;
== Linki zewnętrzne ==&lt;br /&gt;
[http://atarimania.com/detail_soft.php?VERSION_ID=328&amp;amp;MENU=8 Arkanoid] dla XL/XE na Atarimanii&lt;br /&gt;
&lt;br /&gt;
[http://www.mobygames.com/game/atari-st/arkanoid Opis] w MobyGames&lt;br /&gt;
&lt;br /&gt;
[http://www.klov.com/game_detail.php?letter=A&amp;amp;game_id=6916 Opis] oryginalnej wersji automatowej Taito w KLOV&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Arkanoid Opis] w angielskojęzycznej wikipedii&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Gry dla Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Atari ST]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=TDC_Hack_Demou&amp;diff=22732</id>
		<title>TDC Hack Demou</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=TDC_Hack_Demou&amp;diff=22732"/>
		<updated>2007-01-31T09:06:03Z</updated>

		<summary type="html">&lt;p&gt;Epi: eh, chyba pora spać&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Niewielka [[fake|fejkowa]] produkcja przygotowana na &#039;&#039;Konkurs okołoświąteczny [[Sikor]]a&#039;&#039; w 2006 roku, dotycząca gorącej [http://atariarea.krap.pl/forum/viewtopic.php?id=4705&amp;amp;p=1 dyskusji] toczącej się w tym czasie na forum [[atari.area]] o włamaniu do komputera [[Jellonek|Jellonka]] przez [[Tdc]].&lt;br /&gt;
W demku zakodowanym przez [[Człowiek_w_Atomizerze|cZ_w_a]] można zobaczyć [[scroll]]a, trochę grafiki [[Trzcinowy Zakapior|TeZet]]a oraz [http://pl.wikipedia.org/wiki/Irssi Irssi], konsolę [http://pl.wikipedia.org/wiki/Linux Linuxa] i [http://pl.wikipedia.org/wiki/BSOD niebieski ekran] [http://pl.wikipedia.org/wiki/Windows Windows] oraz posłuchać muzyki [[CePumpkin]]a.&lt;br /&gt;
&lt;br /&gt;
Do pobrania [http://epi.atari8.info/files/tdc.zip stąd].&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Tdc1.png]]&lt;br /&gt;
[[Grafika:Tdc2.png]]&lt;br /&gt;
[[Grafika:Tdc3.png]]&lt;br /&gt;
[[Grafika:Tdc4.png]]&lt;br /&gt;
[[Grafika:Tdc5.png]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Dema XL/XE]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=TDC_Hack_Demou&amp;diff=22731</id>
		<title>TDC Hack Demou</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=TDC_Hack_Demou&amp;diff=22731"/>
		<updated>2007-01-31T09:05:37Z</updated>

		<summary type="html">&lt;p&gt;Epi: dl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Niewielka [[fake|fejkowa]] produkcja przygotowana na &#039;&#039;Konkurs okołoświąteczny [[Sikor]]a&#039;&#039; w 2006 roku, dotycząca gorącej [http://atariarea.krap.pl/forum/viewtopic.php?id=4705&amp;amp;p=1 dyskusji] toczącej się w tym czasie na forum [[atari.area]] o włamaniu do komputera [[Jellonek|Jellonka]] przez [[Tdc]].&lt;br /&gt;
W demku zakodowanym przez [[Człowiek_w_Atomizerze|cZ_w_a]] można zobaczyć [[scroll]]a, trochę grafiki [[Trzcinowy Zakapior|TeZet]]a oraz [http://pl.wikipedia.org/wiki/Irssi Irssi], konsolę [http://pl.wikipedia.org/wiki/Linux Linuxa] i [http://pl.wikipedia.org/wiki/BSOD niebieski ekran] [http://pl.wikipedia.org/wiki/Windows Windows] oraz posłuchać muzyki [[CePumpkin]]a.&lt;br /&gt;
&lt;br /&gt;
Do pobrania [http://epi.atari8.info/files/tdc/zip stąd].&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Tdc1.png]]&lt;br /&gt;
[[Grafika:Tdc2.png]]&lt;br /&gt;
[[Grafika:Tdc3.png]]&lt;br /&gt;
[[Grafika:Tdc4.png]]&lt;br /&gt;
[[Grafika:Tdc5.png]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Dema XL/XE]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Me%C5%9Bka&amp;diff=22626</id>
		<title>Meśka</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Me%C5%9Bka&amp;diff=22626"/>
		<updated>2007-01-27T15:18:03Z</updated>

		<summary type="html">&lt;p&gt;Epi: Kto postawił tego bota który dodaje emoty tak żeby nikt nie zauważył?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|agatamessy.jpg}}&lt;br /&gt;
&lt;br /&gt;
Na imię ma Agata. Urodzona 28 grudnia 1986 r. w Krakowie. Sąsiadka [[Epi]]ego.&lt;br /&gt;
&lt;br /&gt;
Raczej nie udziela się twórczo, na zloty jeździ z chęci spotkania z ludźmi.&lt;br /&gt;
Prywatnie zajmuje się grafiką (szeroko pojętą: rysunkiem tradycyjnym, grafiką komputerową, designem), okazjonalnie robieniem stron WWW. Grywa w World Of Warcraft (EU, Burning Legion) oraz różne gry strategiczne (preferowane: Kozacy, Settlers II).&lt;br /&gt;
Muzyki słucha różnej, od rocka i metalu, przez muzykę popularną aż do muzyki poważnej. Najbardziej lubi indyjskie brzmienia i najchetniej wszystko co z Indiami związane. Uważa, że bez muzyki nie umie żyć. &lt;br /&gt;
&lt;br /&gt;
Od września 2006 niepijąca z powodów zdrowotnych (i póki co się tego trzyma).&lt;br /&gt;
&lt;br /&gt;
Stan cywilny: jeszcze panna.&lt;br /&gt;
Pierwszy zlot: [[Last Party]] 2k2. &lt;br /&gt;
Zloty: LP 2k2, Kocerany, [[QuaST]] (2k3, 2k4, 2k5), Sztab Małopolska (2 i 3), [[Głuchołazy]] 2k6. Ostatnimi laty głównie QuaSTy (z powodu przystępnych terminów).&lt;br /&gt;
&lt;br /&gt;
Naczelna maskotka sceny atarowskiej. Od 2003 r. odwiedza co najmniej jedno party w roku.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=TDC&amp;diff=22540</id>
		<title>TDC</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=TDC&amp;diff=22540"/>
		<updated>2007-01-20T18:34:27Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tomasz &#039;Tdc&#039; Cieślewicz. Atarowiec bardziej z zamiłowania niż z działalności. Niegdyś udzielał się nieco w [[Atari Magazyn]]ie. Obecnie okresowo aktywny na forum [[atari.area]], ale obiecuje, że jeszcze będzie o nim głośno. Główny bohater [[TDC Hack Demou]].&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Quick_Assembler&amp;diff=22435</id>
		<title>Quick Assembler</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Quick_Assembler&amp;diff=22435"/>
		<updated>2007-01-13T16:18:45Z</updated>

		<summary type="html">&lt;p&gt;Epi: śmieszne sformułowanie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|qa-small.png}}&lt;br /&gt;
&lt;br /&gt;
Jeden z najbardziej znanych w Polsce [[asembler|asemblerów]] [[6502]] dla [[Atari 8-bit|małego Atari]], wydany w 1991 roku przez [[L.K. Avalon|Laboratorium Komputerowe Avalon]]. Znany powszechnie również jako QA. Autorem programu jest [[JBW|Janusz B. Wiśniewski]]. Wiele osób zaczynało naukę asemblera właśnie od QA. Mimo pewnych ograniczeń zdobył dużą popularność dzięki łatwości obsługi, przejrzystości i instrukcji po polsku.&lt;br /&gt;
&lt;br /&gt;
==Zalety programu==&lt;br /&gt;
* wygodny edytor zgodny z Wordstarem&lt;br /&gt;
* obsługa za pomocą menu&lt;br /&gt;
* instrukcja po polsku&lt;br /&gt;
&lt;br /&gt;
W oryginalnym pakiecie dodawane były także: [[Bug Hunter]] (debugger), [[XLFriend]] (TSR z tablicą [[ATASCII]], notepadem, kalkulatorem i przeglądarką pamięci).&lt;br /&gt;
&lt;br /&gt;
==Wady programu==&lt;br /&gt;
* mały bufor na program źrodłowy&lt;br /&gt;
* brak kompresji spacji w edytorze&lt;br /&gt;
* ograniczenie do 512 etykiet po 6 znaków&lt;br /&gt;
* brak etykiet lokalnych&lt;br /&gt;
* brak dyrektyw kompilacji warunkowej&lt;br /&gt;
* brak makr&lt;br /&gt;
* niestandardowa składnia&lt;br /&gt;
* używa nielegalnych odwołań do systemu&lt;br /&gt;
&lt;br /&gt;
== Zobacz także ==&lt;br /&gt;
* [http://tajemnice.atari8.info/ksiazki/ Quick Assembler - Podręcznik użytkownika]&lt;br /&gt;
* [[QA Swap]]&lt;br /&gt;
* [[QASM]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Chaos_Music_Composer&amp;diff=22292</id>
		<title>Chaos Music Composer</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Chaos_Music_Composer&amp;diff=22292"/>
		<updated>2006-12-29T13:49:33Z</updated>

		<summary type="html">&lt;p&gt;Epi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Cmc.png}}&lt;br /&gt;
Znany jako &#039;&#039;&#039;CMC&#039;&#039;&#039;. Jeden z najpopularniejszych programów do komponowania na [[Atari 8-bit|małe Atari]] i to zarówno w Polsce, jak i poza nią.&lt;br /&gt;
&lt;br /&gt;
Napisany w 1990 r. przez [[Janusz Pelc|Janusza Pelca]] jako [[Avalon Music Composer]]. Przeznaczony był pierwotnie do wewnętrzznego użytku [[L.K. Avalon]].&lt;br /&gt;
&lt;br /&gt;
CMC został wydany komercyjnie przez L.K. Avalon już po rozstaniu z autorem, na początku 1992 roku (numer serii AC/AD 00792). Był wielokrotnie przerabiany przez różnych [[scena|scenowców]] celem poszerzenia możliwości, np. dodania [[stereo]], ładowania pojedynczych instrumetów czy poprawy brzmienia. Przykładowe modyfikacje:&lt;br /&gt;
&lt;br /&gt;
* własna tablica basów - [[Stanley]]&lt;br /&gt;
* [[CMC-Double Player]]: odgrywanie dźwięku kilka razy na [[ramka|ramkę]] - [[Greg]].&lt;br /&gt;
&lt;br /&gt;
Wykorzystywany format plików: [[CMC]]&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [[Chaos Music Miąchadełko]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;br /&gt;
[[Kategoria:Edytory muzyczne]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Chaos_Music_Composer&amp;diff=22291</id>
		<title>Chaos Music Composer</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Chaos_Music_Composer&amp;diff=22291"/>
		<updated>2006-12-29T13:47:47Z</updated>

		<summary type="html">&lt;p&gt;Epi: grafa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Cmc.png}}&lt;br /&gt;
Znany jako &#039;&#039;&#039;CMC&#039;&#039;&#039;. Jeden z najpopularniejszych programów do komponowania na [[Atari 8-bit|małe Atari]] i to zarówno w Polsce, jak i poza nią.&lt;br /&gt;
&lt;br /&gt;
Napisany w 1990 r. przez [[Janusz Pelc|Janusza Pelca]] jako [[Avalon Music Composer]]. Przeznaczony był pierwotnie do wewnętrzznego użytku [[L.K. Avalon]].&lt;br /&gt;
&lt;br /&gt;
CMC został wydany komercyjnie przez L.K. Avalon już po rozstaniu z autorem, na początku 1992 roku (numer serii AC/AD 00792). Był wielokrotnie przerabiany przez różnych [[scenowiec|scenowców]] celem poszerzenia możliwości, np. dodania [[stereo]], ładowania pojedynczych instrumetów czy poprawy brzmienia. Przykładowe modyfikacje:&lt;br /&gt;
&lt;br /&gt;
* własna tablica basów - [[Stanley]]&lt;br /&gt;
* [[CMC-Double Player]]: odgrywanie dźwięku kilka razy na [[ramka|ramkę]] - [[Greg]].&lt;br /&gt;
&lt;br /&gt;
Wykorzystywany format plików: [[CMC]]&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [[Chaos Music Miąchadełko]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;br /&gt;
[[Kategoria:Edytory muzyczne]]&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Plik:Cmc.png&amp;diff=22289</id>
		<title>Plik:Cmc.png</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Plik:Cmc.png&amp;diff=22289"/>
		<updated>2006-12-29T13:47:15Z</updated>

		<summary type="html">&lt;p&gt;Epi: Chaos music composer by J.Pelc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chaos music composer by J.Pelc&lt;/div&gt;</summary>
		<author><name>Epi</name></author>
	</entry>
</feed>