Lista funkcji specjalnych CIO według urządzeń

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 08:51, 11 kwi 2009
KMK (Dyskusja | wkład)

← Previous diff
Aktualna wersja
Mono (Dyskusja | wkład)
(tabelka + eol)
Linia 1: Linia 1:
=== D: === === D: ===
-Gdy używana jest stacja dysków, instalowane jest także - po załadowaniu handlera ([[DOS|DOS-u]]) z dyskietki bądź kartridża - urządzenie "D:". Oprócz zwykłych operacji odczytu i zapisu danych dysponuje ono też pewnym wachlarzem operacji specjalnych:+Gdy używana jest stacja dysków, instalowane jest także - po załadowaniu handlera ([[DOS|DOS-u]]) z dyskietki bądź kartridża - urządzenie "D:". Oprócz zwykłych operacji odczytu i zapisu danych dysponuje ono też pewnym wachlarzem operacji specjalnych. Poszczególne [[DOS]]-y nieco się różnią pod tym względem:
-* 32 - RENAME - zmiana nazwy pliku (w [[SpartaDOS X]] - pliku lub podkatalogu, zależnie od parametrów)+<table border = 1 cellpadding = 5>
-* 33 - DELETE - skasowanie pliku+<tr>
-* 34 - LOCK DISK - ustawienie software'owego zabezpieczenia dyskietki przed zapisem ([[SpartaDOS]])+<td><b>CMD</b></td>
-* 35 - PROTECT - zabezpieczenie przed zapisem+<td><b>[[DOS 2.5]]</b></td>
-* 36 - UNPROTECT - odbezpieczenie pliku+<td><b>[[BiboDOS]]</b></td>
-* 37 - POINT (SEEK) - ustawienie pozycji w pliku ([[SpartaDOS]]) lub na dysku (inne DOS-y) do odczytu/zapisu+<td><b>[[SuperDOS]]</b></td>
-* 38 - NOTE (TELL) - odczytanie bieżącej pozycji w pliku ([[SpartaDOS]]) lub na dysku (inne DOS-y)+<td><b>[[MyDOS]]</b></td>
-* 39 - LEN - odczyt długości pliku+<td><b>[[SpartaDOS]] 3.x</b></td>
-* 40 - LOAD - załadowanie i uruchomienie pliku binarnego+<td><b>[[SpartaDOS X]]</b></td>
-* 41 - SET DEFAULT DIRECTORY - ustawianie domyślnego katalogu, widzianego jako D: ([[MyDOS]])+<td><b>[[MasterDOS]]</b></td>
-* 41 - BINARY SAVE - zapis danych z pamięci do [[Binarny plik DOSu|pliku binarnego DOSu]] (SpartaDOS - ale niezaimplementowane w [[SpartaDOS X]])+<td><b>[[LiteDOS]]</b></td>
-* 42 - MKDIR - utworzenie katalogu+<td><b>[[xBootDOS]]</b></td>
-* 43 - RMDIR - skasowanie katalogu+</tr>
-* 44 - CHDIR - zmiana bieżącego katalogu +
-* 45 - SET BOOT FILE - w [[SpartaDOS]] wskazanie pliku, który zostanie załadowany z dyskietki przy zimnym starcie+
-* 46 - UNLOCK DISK - skasowanie software'owego zabezpieczenia dyskietki przed zapisem (SpartaDOS)+
-* 47 - CHKDSK - odczyt informacji o dyskietce+
-* 48 - CWD - odczyt ścieżki do bieżącego katalogu+
-* 49 - ATTR - ustawianie atrybutów pliku+
-* 254 - FORMAT - formatowanie dyskietki+
-=== E: ===+<tr>
 +<td>32 ($20)</td>
 +<td>[[RENAME FILE]]</td>
 +<td>RENAME FILE</td>
 +<td>RENAME FILE</td>
 +<td>RENAME FILE/DIR</td>
 +<td>RENAME FILE</td>
 +<td>RENAME FILE/DIR</td>
 +<td>RENAME FILE</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
-Standardowy sterownik "E:" (edytor ekranowy, czyli konsola) normalnie nie instaluje żadnych funkcji specjalnych. Poniższa lista odnosi się do sterownika "E:" dla przystawki [[XEP80]]:+<tr>
 +<td>33 ($21)</td>
 +<td>[[DELETE FILE]]</td>
 +<td>DELETE FILE</td>
 +<td>DELETE FILE</td>
 +<td>DELETE FILE/DIR</td>
 +<td>DELETE FILE</td>
 +<td>DELETE FILE</td>
 +<td>DELETE FILE</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>34 ($22)</td>
 +<td>-</td>
 +<td>[[UNERASE FILE]]</td>
 +<td>UNERASE FILE</td>
 +<td>(MAKE DIRECTORY)</td>
 +<td>[[LOCK DISK]]</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>35 ($23)</td>
 +<td>[[LOCK FILE]]</td>
 +<td>LOCK FILE</td>
 +<td>LOCK FILE</td>
 +<td>LOCK FILE/DIR</td>
 +<td>LOCK FILE/DIR</td>
 +<td>LOCK FILE/DIR</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>36 ($24)</td>
 +<td>[[UNLOCK FILE]]</td>
 +<td>UNLOCK FILE</td>
 +<td>UNLOCK FILE</td>
 +<td>UNLOCK FILE/DIR</td>
 +<td>UNLOCK FILE/DIR</td>
 +<td>UNLOCK FILE/DIR</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>37 ($25)</td>
 +<td>[[POINT]]</td>
 +<td>POINT</td>
 +<td>POINT</td>
 +<td>POINT</td>
 +<td>[[SEEK]]</td>
 +<td>SEEK</td>
 +<td>-</td>
 +<td>-</td>
 +<td>POINT<sup>1</sup></td>
 +</tr>
 + 
 +<tr>
 +<td>38 ($26)</td>
 +<td>[[NOTE]]</td>
 +<td>NOTE</td>
 +<td>NOTE</td>
 +<td>NOTE</td>
 +<td>[[TELL]]</td>
 +<td>TELL</td>
 +<td>-</td>
 +<td>-</td>
 +<td>NOTE<sup>1</sup></td>
 +</tr>
 + 
 +<tr>
 +<td>39 ($27)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>(BINARY LOAD)</td>
 +<td>[[GET FILE LENGTH]]</td>
 +<td>GET FILE LENGTH</td>
 +<td>-</td>
 +<td>BINARY LOAD</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>40 ($28)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[BINARY LOAD]]</td>
 +<td>BINARY LOAD</td>
 +<td>BINARY LOAD</td>
 +<td>-</td>
 +<td>-</td>
 +<td>BINARY LOAD</td>
 +</tr>
 + 
 +<tr>
 +<td>41 ($29)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[PICK DIRECTORY]]</td>
 +<td>[[BINARY SAVE]]</td>
 +<td>[[PICK DIRECTORY|SET CURRENT DIRECTORY]]</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>42 ($2A)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[MAKE DIRECTORY]]</td>
 +<td>MAKE DIRECTORY</td>
 +<td>MAKE DIRECTORY</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>43 ($2B)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[REMOVE DIRECTORY]]</td>
 +<td>REMOVE DIRECTORY</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>44 ($2C)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[CHANGE DIRECTORY]]</td>
 +<td>CHANGE DIRECTORY</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>45 ($2D)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[SET BOOT FILE]]</td>
 +<td>SET BOOT FILE</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>46 ($2E)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[UNLOCK DISK]]</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>47 ($2F)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[GET DISK INFO]]</td>
 +<td>GET DISK INFO</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>48 ($30)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[GET CURRENT DIRECTORY]]</td>
 +<td>GET CURRENT DIRECTORY</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>49 ($31)</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>[[SET ATTRIBUTES]]</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>253 ($FD)</td>
 +<td>[[FORMAT SINGLE]]</td>
 +<td>-</td>
 +<td>[[SPECIFY FORMAT]]</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +<tr>
 +<td>254 ($FE)</td>
 +<td>[[FORMAT DISK]]</td>
 +<td>FORMAT DISK</td>
 +<td>FORMAT DISK</td>
 +<td>FORMAT DISK</td>
 +<td>FORMAT DISK</td>
 +<td>FORMAT DISK</td>
 +<td>FORMAT DISK</td>
 +<td>-</td>
 +<td>-</td>
 +</tr>
 + 
 +</table>
 + 
 +<sup>1</sup> dostępne po załadowaniu rozszerzenia <code>xBDext</code>
 + 
 +Niektóre egzotyczne DOS-y przeznaczają zakres kodów operacyjnych 251-255 na różne warianty formatowania.
=== E: === === E: ===
Linia 40: Linia 295:
<tr><td>24 ($18)</td><td>80-COL ENABLE, CLS</td><td>12</td><td>0</td><td>włączenie trybu 80-kolumnowego z wyczyszczeniem ekranu</td></tr> <tr><td>24 ($18)</td><td>80-COL ENABLE, CLS</td><td>12</td><td>0</td><td>włączenie trybu 80-kolumnowego z wyczyszczeniem ekranu</td></tr>
<tr><td>24 ($18)</td><td>80-COL ENABLE, NO CLS</td><td>12+32</td><td>0</td><td>włączenie trybu 80-kolumnowego bez wyczyszczenia ekranu</td></tr> <tr><td>24 ($18)</td><td>80-COL ENABLE, NO CLS</td><td>12+32</td><td>0</td><td>włączenie trybu 80-kolumnowego bez wyczyszczenia ekranu</td></tr>
-<tr><td>25 ($19)</td><td>80-COL DISABLE</td><td>12</td><td>0</td><td>wyłączenie trybu 80-kolumnowego i przejście do trybu standardowego+<tr><td>25 ($19)</td><td>80-COL DISABLE</td><td>12</td><td>0</td><td>wyłączenie trybu 80-kolumnowego i przejście do trybu standardowego</td></tr>
-</td></tr>+
</table> </table>
=== P: === === P: ===
-Standardowy sterownik "P:" (drukarka) nie instaluje żadnych funkcji specjalnych. Ponizsze odnosi się do sterownika "P:" dla przystawki [[XEP80]]:+Standardowy sterownik "P:" (drukarka) nie instaluje żadnych funkcji specjalnych. Poniższe odnosi się do sterownika "P:" dla przystawki [[XEP80]]:
-* 23 - SEND CONFIGURATION - wysłanie komendy konfigurującej pracę drukarki (numer urządzenia, tryby translacji ATASCII->ASCII itd.)+<table border = 1 cellpadding = 5>
 +<tr><td><b>CMD</b></td><td><b>Nazwa</b></td><td><b>ICAX1</b></td><td><b>ICAX2</b></td><td><b>Opis</b></td></tr>
 +<tr><td>23 ($17)</td><td>SEND CONFIGURATION</td><td>P1+P2</td><td>EOL+XLAT</td><td>wysłanie komendy konfigurującej pracę drukarki (numer urządzenia, tryby translacji ATASCII->ASCII i znaku końca wiersza EOL)</td></tr>
 +</table>
=== S: === === S: ===
-Jedynym urządzeniem instalowanym z ROM-u, którego handler obsługuje jakieś "operacje specjalne", jest ekran graficzny; jako operacje specjalne zaimplementowane jest:+Jedynym urządzeniem instalowanym z ROM-u, którego handler obsługuje jakieś "operacje specjalne", jest ekran graficzny; jako operacje specjalne zaimplementowano:
 + 
 +<table border = 1 cellpadding = 5>
 +<tr><td><b>CMD</b></td><td><b>Nazwa</b></td><td><b>ICAX1</b></td><td><b>ICAX2</b></td><td><b>Opis</b></td></tr>
 +<tr><td>17 ($11)</td><td>DRAWTO</td><td>jak przy OPEN (lub 12, gdy nie wiadomo)</td><td>0</td><td>rysowanie linii do punktu określonego przez zmienne CRSCOL (X: $55-6) i CRSROW (Y: $54) i kolorze określonym przez ATACHR ($02FB - normalnie znajduje się tu kod ostatnio wyprowadzonego znaku lub kod koloru punktu zdefiniowanego instrukcją COLOR w BASIC-u).</td></tr>
 +<tr><td>18 ($12)</td><td>FILLTO</td><td>jak przy OPEN (lub 12, gdy nie wiadomo)</td><td>0</td><td>jak wyżej, z tym, że od każdego punktu tej linii odchodzi w prawo linia pozioma (o kolorze określonym przez FILDAT ($02FD) prowadząca do najbliższego zapalonego punktu ekranu. Jeśli takowego nie ma, po osiągnięciu prawego skraju ekranu linia wypełniająca rysowana jest dalej od lewego skraju ekranu aż do napotkania zapalonego punktu ekranu (np. własnego początku).</td></tr>
 +</table>
-* 17 - DRAWTO - rysowanie linii do podanego punktu+== Linki ==
-* 18 - FILLTO - osobliwe połączenie rysowania linii z wypełnianiem+* [[Dostęp do plików]]
 +* [https://atariwiki.org/wiki/Wiki.jsp?page=XIO%20Command%20Codes%20DOS%20Handler Lista poleceń XIO] obsługiwanych przez DOS-y opublikowana w AtariWiki
 +* [http://xxl.atari.pl/xbootdos/ xBootDOS]
[[Kategoria:Programowanie Atari 8-bit]] [[Kategoria:Programowanie Atari 8-bit]]
 +[[Kategoria:Niezbędnik kodera]]

Aktualna wersja

Spis treści

D:

Gdy używana jest stacja dysków, instalowane jest także - po załadowaniu handlera (DOS-u) z dyskietki bądź kartridża - urządzenie "D:". Oprócz zwykłych operacji odczytu i zapisu danych dysponuje ono też pewnym wachlarzem operacji specjalnych. Poszczególne DOS-y nieco się różnią pod tym względem:

CMD DOS 2.5 BiboDOS SuperDOS MyDOS SpartaDOS 3.x SpartaDOS X MasterDOS LiteDOS xBootDOS
32 ($20) RENAME FILE RENAME FILE RENAME FILE RENAME FILE/DIR RENAME FILE RENAME FILE/DIR RENAME FILE - -
33 ($21) DELETE FILE DELETE FILE DELETE FILE DELETE FILE/DIR DELETE FILE DELETE FILE DELETE FILE - -
34 ($22) - UNERASE FILE UNERASE FILE (MAKE DIRECTORY) LOCK DISK - - - -
35 ($23) LOCK FILE LOCK FILE LOCK FILE LOCK FILE/DIR LOCK FILE/DIR LOCK FILE/DIR - - -
36 ($24) UNLOCK FILE UNLOCK FILE UNLOCK FILE UNLOCK FILE/DIR UNLOCK FILE/DIR UNLOCK FILE/DIR - - -
37 ($25) POINT POINT POINT POINT SEEK SEEK - - POINT1
38 ($26) NOTE NOTE NOTE NOTE TELL TELL - - NOTE1
39 ($27) - - - (BINARY LOAD) GET FILE LENGTH GET FILE LENGTH - BINARY LOAD -
40 ($28) - - - BINARY LOAD BINARY LOAD BINARY LOAD - - BINARY LOAD
41 ($29) - - - PICK DIRECTORY BINARY SAVE SET CURRENT DIRECTORY - - -
42 ($2A) - - - MAKE DIRECTORY MAKE DIRECTORY MAKE DIRECTORY - - -
43 ($2B) - - - - REMOVE DIRECTORY REMOVE DIRECTORY - - -
44 ($2C) - - - - CHANGE DIRECTORY CHANGE DIRECTORY - - -
45 ($2D) - - - - SET BOOT FILE SET BOOT FILE - - -
46 ($2E) - - - - UNLOCK DISK - - - -
47 ($2F) - - - - GET DISK INFO GET DISK INFO - - -
48 ($30) - - - - GET CURRENT DIRECTORY GET CURRENT DIRECTORY - - -
49 ($31) - - - - - SET ATTRIBUTES - - -
253 ($FD) FORMAT SINGLE - SPECIFY FORMAT - - - - - -
254 ($FE) FORMAT DISK FORMAT DISK FORMAT DISK FORMAT DISK FORMAT DISK FORMAT DISK FORMAT DISK - -

1 dostępne po załadowaniu rozszerzenia xBDext

Niektóre egzotyczne DOS-y przeznaczają zakres kodów operacyjnych 251-255 na różne warianty formatowania.

E:

Standardowy sterownik "E:" (edytor ekranowy, czyli konsola) normalnie nie instaluje żadnych funkcji specjalnych. Poniższa lista odnosi się do sterownika "E:" dla przystawki XEP80:

CMDNazwaICAX1ICAX2Opis
20 ($14)SEND COMMAND12CMDprzesłanie komendy CMD do XEP80
21 ($15)SET NORMAL TRANSMIT MODE120wybranie standardowego trybu komunikacji z XEP80
21 ($15)SET BURST TRANSMIT MODE121wybranie szybkiego trybu komunikacji z XEP80
22 ($16)SEND INPUT COMMAND12CMDprzesłanie komendy wymagającej odczytu odpowiedzi (pojawia się pod $02EB)
24 ($18)80-COL ENABLE, CLS120włączenie trybu 80-kolumnowego z wyczyszczeniem ekranu
24 ($18)80-COL ENABLE, NO CLS12+320włączenie trybu 80-kolumnowego bez wyczyszczenia ekranu
25 ($19)80-COL DISABLE120wyłączenie trybu 80-kolumnowego i przejście do trybu standardowego

P:

Standardowy sterownik "P:" (drukarka) nie instaluje żadnych funkcji specjalnych. Poniższe odnosi się do sterownika "P:" dla przystawki XEP80:

CMDNazwaICAX1ICAX2Opis
23 ($17)SEND CONFIGURATIONP1+P2EOL+XLATwysłanie komendy konfigurującej pracę drukarki (numer urządzenia, tryby translacji ATASCII->ASCII i znaku końca wiersza EOL)

S:

Jedynym urządzeniem instalowanym z ROM-u, którego handler obsługuje jakieś "operacje specjalne", jest ekran graficzny; jako operacje specjalne zaimplementowano:

CMDNazwaICAX1ICAX2Opis
17 ($11)DRAWTOjak przy OPEN (lub 12, gdy nie wiadomo)0rysowanie linii do punktu określonego przez zmienne CRSCOL (X: $55-6) i CRSROW (Y: $54) i kolorze określonym przez ATACHR ($02FB - normalnie znajduje się tu kod ostatnio wyprowadzonego znaku lub kod koloru punktu zdefiniowanego instrukcją COLOR w BASIC-u).
18 ($12)FILLTOjak przy OPEN (lub 12, gdy nie wiadomo)0jak wyżej, z tym, że od każdego punktu tej linii odchodzi w prawo linia pozioma (o kolorze określonym przez FILDAT ($02FD) prowadząca do najbliższego zapalonego punktu ekranu. Jeśli takowego nie ma, po osiągnięciu prawego skraju ekranu linia wypełniająca rysowana jest dalej od lewego skraju ekranu aż do napotkania zapalonego punktu ekranu (np. własnego początku).

Linki

Personal tools