Lista funkcji specjalnych CIO według urządzeń
From Atariki
Wersja z dnia 10:29, 12 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 | + | <tr> |
- | * 46 - UNLOCK DISK - skasowanie software'owego zabezpieczenia dyskietki przed zapisem (SpartaDOS) | + | <td>32 ($20)</td> |
- | * 47 - CHKDSK - odczyt informacji o dyskietce | + | <td>[[RENAME FILE]]</td> |
- | * 48 - CWD - odczyt ścieżki do bieżącego katalogu | + | <td>RENAME FILE</td> |
- | * 49 - ATTR - ustawianie atrybutów pliku | + | <td>RENAME FILE</td> |
- | * 254 - FORMAT - formatowanie dyskietki | + | <td>RENAME FILE/DIR</td> |
+ | <td>RENAME FILE</td> | ||
+ | <td>RENAME FILE/DIR</td> | ||
+ | <td>RENAME FILE</td> | ||
+ | <td>-</td> | ||
+ | <td>-</td> | ||
+ | </tr> | ||
+ | |||
+ | <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 36: | 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: === | ||
Linia 52: | Linia 313: | ||
<table border = 1 cellpadding = 5> | <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><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)</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 prawego skraju ekranu aż do napotkania zapalonego punktu ekranu (którym zawsze jest przynajmniej jej początek).</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> | </table> | ||
+ | |||
+ | == Linki == | ||
+ | * [[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:
CMD | Nazwa | ICAX1 | ICAX2 | Opis |
20 ($14) | SEND COMMAND | 12 | CMD | przesłanie komendy CMD do XEP80 |
21 ($15) | SET NORMAL TRANSMIT MODE | 12 | 0 | wybranie standardowego trybu komunikacji z XEP80 |
21 ($15) | SET BURST TRANSMIT MODE | 12 | 1 | wybranie szybkiego trybu komunikacji z XEP80 |
22 ($16) | SEND INPUT COMMAND | 12 | CMD | przesłanie komendy wymagającej odczytu odpowiedzi (pojawia się pod $02EB) |
24 ($18) | 80-COL ENABLE, CLS | 12 | 0 | włączenie trybu 80-kolumnowego z wyczyszczeniem ekranu |
24 ($18) | 80-COL ENABLE, NO CLS | 12+32 | 0 | włączenie trybu 80-kolumnowego bez wyczyszczenia ekranu |
25 ($19) | 80-COL DISABLE | 12 | 0 | wyłą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:
CMD | Nazwa | ICAX1 | ICAX2 | Opis |
23 ($17) | SEND CONFIGURATION | P1+P2 | EOL+XLAT | wysł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:
CMD | Nazwa | ICAX1 | ICAX2 | Opis |
17 ($11) | DRAWTO | jak przy OPEN (lub 12, gdy nie wiadomo) | 0 | 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). |
18 ($12) | FILLTO | jak przy OPEN (lub 12, gdy nie wiadomo) | 0 | 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). |
Linki
- Dostęp do plików
- Lista poleceń XIO obsługiwanych przez DOS-y opublikowana w AtariWiki
- xBootDOS