Opis niektórych funkcji XIO sterownika dysku systemu Sparta Dos X (D:)
Opis niektórych funkcji sterownika dysku systemu Sparta Dos X (D:)
Dyskowy System Operacyjny (w skrócie DOS) o nazwie Sparta DOS X, na którym opieram większość artykułów i który polecam, w chwili obecnej dostarcza największe możliwości zabawy w programowanie 8 bitowego Atari. Z dobrodziejstw tych śmiało skorzysta nawet początkujący. Ale po kolei.
Załadowany do pamięci Sparta DOS X instaluje w systemie (jak każdy DOS) sterownik urządzenia D: (DISK). Od tego momentu młody programista może śmiało korzystać z różnorakich urządzeń pamięci zewnętrznych, różnych systemów plików i wielu innych „rzeczy” bez specjalistycznej wiedzy. Zadbali o to programiści Sparta DOS X, stosując przyjęte zasady tworzenia sterowników urządzeń, dzięki czemu nawet najnowsza wersja Sparta DOS X (rok 2016) będzie poprawnie wykonywać polecenia wydane z Turbo Basic XL, mimo, że ten ma już bez mała lat 35.
Polecenia XIO w Turbo Basic XL do użycia we własnych programach.
Niektóre mają poważne konsekwencje, trzeba wiedzieć co się robi i najlepiej nie testować na ważnych dyskach (dyskietkach). Dobrym miejscem do eksperymentowania może być emulator lub wirtualny dysk podpięty do Atari przez SIO2PC.
W poniższych przykładach:
XIO nr – numer operacji XIO,
IOCB – numer kanału którego używamy do wykonania operacji,
ICAX1, ICAX2 – tu podajemy dodatkowe parametry do przekazania,
DX – tu wpisujemy numer logiczny dysku od DA: do DO: (D1 do D15),
FNAME.EXT itp. – nazwa pliku lub folderu
Zmiana nazwy pliku:
XIO 32, #IOCB, 0, ICAX2, „DX:OLDNAME.EXT,NEWNAME.EXT”
Wpisanie w ICAX2 wartości 128 pozwala na zmianę nazwy katalogu.
Kasowanie pliku:
XIO 33, #IOCB, 0, ICAX2, „DX:OLDNAME.EXT,NEWNAME.EXT”
Zabezpieczenie pliku:
XIO 35, #IOCB, 0, 0, „DX:FNAME.EXT”
Odbezpieczenie pliku:
XIO 36, #IOCB, 0, 0, „DX:FNAME.EXT”
POINT – bezpośredni dostęp do bajtów w pliku:
XIO 37, #IOCB, ICAX, 0, „DX:FNAME.EXT”
Odczyt długości pliku:
XIO 39, #IOCB, ICAX1, ICAX2, „DX:OLDNAME.EXT,NEWNAME.EXT”
Kanał IOCB musi być wcześniej otwarty, w ICAX1 i ICAX2 podajemy parametry takie jak w rozkazie OPEN. W rejestrach ICAX3-ICAX5 zwracana jest 24-bitowa liczba określająca długość pliku, przykład tutaj.
Ładowanie pliku binarnego (programu, sterownika, danych, etc..):
XIO 40, #IOCB, 4, ICAX2, „DX:FNAME.EXT”
Parametry ICAX2:
0 – inicjuje i uruchamia, przy braku wektorów INIT RUN skacze do adresu ładowania (domyślnie)
64 – inicjuje i uruchamia – kompatybilne z Atari DOS
128 – nie inicjuje i nie uruchamia
192 – nie uruchamia, inicjuje
Zmiana bieżącego dysku i katalogu
XIO 41, #IOCB, 0, 0, „DX:FNAME.EXT”
Tworzenie podkatalogu:
XIO 42, #IOCB, 0, 0, „DX:FNAME.EXT”
Usuwanie podkatalogu:
XIO 43, #IOCB, 0, 0, „DX:FNAME.EXT”
Ustaw plik rozruchowy (BOOT):
XIO 45, #IOCB, 0, 0, „DX:FNAME.EXT”
Zmiana atrybutów pliku lub folderu (ATR):
XIO 49, #IOCB, ICAX1, ICAX2, „DX:FNAME.EXT”
Parametry ICAX1 – atrybuty pliku do zmiany:
0 – nie zmieniaj nic
1 – zabezpieczenie pliku
16 – odbezpieczenie pliku
2 – ukrycie pliku
32 – odkrycie pliku
3 – plik archiwalny
64 – plik niearchiwalny
Parametry ICAX2 – atrybuty jakie musi posiadać zmieniany plik:
0 – wszystkie pliki
1 – zabezpieczone pliki
16 – odbezpieczone pliki
2 – ukryte pliki
32 – odkryte pliki
3 – pliki archiwalne
64 – pliki niearchiwalne
8 – będące podkatalogiem
128 – nie będące podkatalogiem
Formatowanie dysku / partycji :
XIO 254, #IOCB, 0, 0, „DX:”
Wydanie tej komendy powoduje uruchomienie programu FORMAT wchodzącego w skład Sparta DOS X.