Rozdział 3
PRZEGLĄD SPARTADOS X

Ten rozdział jest przeglądem stosowanych w SpartaDOS X konwencji nazw plików i szlaków, identyfikatorów urządzeń oraz ogólnych zasad ich użycia. Zakładamy w tym rozdziale, że znasz zasady działania Command Processor. Jeśli napotkasz trudności, to wróć do rozdziału 2.

Możesz zauważyć, że wiele opisanych tu możliwości jest nowością w SpartaDOS X - w wielu przypadkach SpartaDOS X jest bardziej zbliżony do MSDOS niż do poprzednich wersji SpartaDOS. Na przykład, SpartaDOS X używa identyfikatorów stacji dysków postaci "A:" i nazw szlaków jak "\DOS\SUB2\MYPROG.BAS". Tak więc wiele nowych poleceń naśladuje możliwości MSDOS.

Nazwy plików.

Podstawowa forma nazwy pliku jest identyczna jak w SpartaDOS 3.2 - składa się z nazwy i wariantowego rozszerzenia rozdzielonych kropką. Dozwolone są następujące znaki:

litery od "A" do "Z" - małe są zamienne na duże ;
cyfry od "0" do "9" - nazwa może zaczynać się od cyfry; znak podkreślenia ("_")

W podręczniku stosujemy skrót "fname.ext" do reprezentacji nazwy pliku. Część "fname" może mieć do ośmiu znaków długości, a część "ext" może mieć od 0 do 3 znaków długości i nie musi być stosowana.

Rozszerzenie nazw plików.

Przy pracy ważne jest ustalenie standardów nazw plików. Najczęściej stosowaną metodą jest rezerwowanie specjalnych rozszerzeń dla pewnych typów plików. Poniższa lista zawiera niektóre, najczęściej stosowane rozszerzenia i odpowiadające im typy plików.

.ACT program źródłowy w Action;
.ARC archiwizowany plik jednego lub kilku plików;
.ASM program źródłowy asemblera w kodach ASCII;
.BAS program w Basicu zapisany przez SAVE;
.BAT plik poleceń SpartaDOS;
.BXE program w Basicu XE;
.COM program binarny lub zewnętrzne polecenie SpartaDOS;
.DAT plik danych;
.DOS dyskowa wersja SpartaDOS;
.LST program w Basicu zapisany przez LIST;
.M65 program źródłowy MAC/65 zapisany przez SAVE;
.OBJ pik z programem w kodzie maszynowym;
.PRN plik przygotowany dla drukarki;
.SYS plik systemowy lub driver SpartaDOS;
.TXL program w Turbo Basicu XL;
.TXT plik tekstowy ASCII lub ATASCII;

W niektórych przypadkach rozszerzenia są automatycznie przyjmowane przez polecenia SpartaDOS. Na przykład "COM" jest przyjmowane dla programów binarnych, "BAT" dla plików poleceń, "SYS" dla programów sterujących (drivers) i "ARC" dla plików archiwizowanych.

Jockery.

Dwa znaki jokerów ("?" i "*") mogą być użyte zamiast znaków nazwy
pliku w celu określenia grupy nazwy plików. Pytajnik "?" jest znakiem zastępującym każdy inny znak, który znajduje się na tym miejscu nazwy lub rozszerzenia. Na przykład:

DIR AB?DE.XYZ

wyświetla wszystkie wpisy katalogu w ustalonej stacji z nazwami które mają pięć znaków, rozpoczynających się od "AB" kończących się na "DE i mających rozszerzenie "XYZ", a trzeci znak nazwy jest dowolny, jak:

ABCDE.XYZ
ABFDE.XYZ
ABZDE.XYZ

Oraz podobne nazwy plików w bieżącym katalogu.

Gwiazdka ("*") w nazwie pliku i rozszerzeniu wskazuje, że na miejscu tym i następnych może znajdować się dowolny znak albo może nie wystąpić tam żaden znak. Na przykład:

DIR AB*.XYZ

Wyświetla wszystkie wpisy katalogu w standardowej stacji z nazwami plików, których nazwa rozpoczyna się od "AB" i mają rozszerzenie "XYZ", jak:

ABCDE.XYZ
ABCRAIG.XYZ
AB.XYZ

oraz podobne wpisy. Ważne jest, że każdy znak po gwiazdce w nazwie pliku lub rozszerzenia jest ignorowany, tak więc:

DIR AB*DE.X*Z

spowoduje wypisanie poniższych wpisów katalogu, zakładając że takie istnieją:

ABCDE.XYZ
ABCRAIG.XXX
lub AB.X

Katalogi.

Dyskietka jest podzielona na katalogi, z których każdy może zawierać do 1423 wpisów (wcześniejsze wersje SpartaDOS mają ograniczenie do 126 wpisów, więc wersje te nie odczytują katalogów SpartaDOS X powyżej 126 wpisów). Główny katalog ma nazwę "MAIN", a pozostałe katalogi (które są zwane podkatalogami) mogą być tworzone pod "MAIN" (patrz opis polecenia MKDIR).

UWAGA: Pomimo, iż SpartaDOS X może zapisać do 1423 wpisów w każdym katalogu, zalecane jest nieprzekraczanie 200 wpisów. Rozmiar katalogu musi być zwiększany dla zapisania dodatkowych plików, a po zwiększeniu nigdy nie jest zmniejszany. Katalog zawierający 1423 wpisy ma rozmiar 32KB. Duże katalogi znacznie zmniejszają prędkość dostępu do dyskietki, szczególnie przy otwieraniu nowych plików.

Gdy wyświetlasz katalog, podkatalogi są wskazywane przez umieszczenie napisu <DIR> w polu rozmiaru pliku. Podkatalogi mogą być zagnieżdżane bez ograniczeń innych niż pojemność dyskietki lub względy praktyczne.

Nazwy szlaków.

Ponieważ SpartaDOS może mieć więcej niż jeden katalog na każdej dyskietce, to używa on szlaku opisującego drogę z jednego katalogu do innego. Jako separatory nazw katalogów są stosowane znaki ">" lub "\". Jeżeli są one użyte na początku szlaku, to nakazują SpartaDOS rozpoczęcie od głównego katalogu (MAIN). Natomiast, jeżeli jeden lub więcej znaków ">" (lub łańcuch "\") rozpoczyna nazwę szlaku, SpartaDOS cofa się o jeden poziom w stronę katalogu głównego dla każdego wystąpienia takiego znaku. Oto kilka przykładów szlaków:

>DOS>CHTD.COM
\DOS\CHTD.COM
TEMP>JUNK>TEST.DAT
<EXPRESS>EXPRESS
...\EXPRESS\EXPRESS

Pierwsze dwa są równoważne - z dowolnego katalogu oba udostępniają plik "CHTD.COM" w podkatalogu "DOS" w "MAIN". Trzeci przykład udostępnia plik "TEST.DAT" w podkatalogu "JUNK", który jest w podkatalogu "TEMP", który jest w bieżącym katalogu. Czwarty i piąty są także równoważne - oba udostępniają plik "EXPRESS" w podkatalogu "EXPRESS", który jest katalogiem zawierającym bieżący katalog.

UWAGA: Ponieważ "<<" jest używane przez SpartaDOS X do kierowania wejścia, to konieczne jest poprzedzenie dwóch lub więcej znaków "<" dwukropkiem, który wskazuje że jest to specyfikacja katalogu. Dwukropek oznacza po prostu ustaloną stację dysków, lecz usuwa "<<" od początku parametru polecenia i zapobiega odczytaniu go jako polecenia kierowania. Na przykład:

DIR <RYSUNKI>

nie daje (jak to dzieje się w poprzednich wersjach SpartaDOS) katalogu uzyskanego po dwukrotnym cofnięciu się z podkatalogu "RYSUNKI" w stronę podkatalogu głównego. Zamiast tego trzeba użyć:

DIR:<<RYSUNKI> lub
DIR.:\..\RYSUNKI\

Najdłuższa nazwa szlaku w SpartaDOS X może mieć 63 znaki. Nie ma to wpływu na maksymalną liczbę zagnieżdżeń, lecz wprowadza praktyczne granice około ośmiu poziomów.

Długość polecenia.

Największa długość wiersza, który może być przyjęty jako wiersz poleceń, jest 63 znaki. Przekroczenie tej granicy nie jest sygnalizowane żadnym ostrzeżeniem. Dodatkowe znaki są po prostu pomijane. To ograniczenie 63 znaku dotyczy również nazwy polecenia, lecz nie wlicza się do niego wskazania (prompt).

Identyfikatory urządzeń.

Jak zapewne pamiętasz, we wcześniejszych wersjach SpartaDOS identyfikatory urządzeń zewnętrznych były takie same jak używane przez BASIC lub we wszystkich innych miejscach systemu - dla wszystkich podstawą była tabela urządzeń - CIO. SpartaDOS X jest znacznie bardziej elastyczny. Do systemu zostało dodane drugie wejście typu CIO używające innych nazw urządzeń niż standardowe CIO. Na przykład standardowe urządzenie I/O (edytor) w CIO jest oznaczone jako "E:", lecz w SpartaDOS X jest ono oznaczone jako "CON:". Przyczyny wyboru systemu innego niż standard Atari są różnorodne. Oto niektóre z nich:

Stosowane przez SpartaDOS X nazwy (identyfikatory) urządzeń są następujące:

A:..I: Litery od "A" do "I" reprezentują stację dysków od 1 do 9, gdy są użyte bez nazwy urządzenia (trzyliterowego symbolu) na początku - urządzenie "DSK" jest zawsze przyjmowane, jeśli żadne nie zostało podane. Małe litery są zawsze traktowane jakby były duże!
1...9: Liczby od "1" do "9" reprezentują stację dysków od 1 do 9, jak wyżej - "2:" jest bezwzględnie identyczne z "B"!
Dx: Pojedyncze "D" (lub "d") poprzedzające literę lub liczbę jest pomijane (czyli "D2:" lub "DB:" oznacza jak zwykle stację 2.
DSKx: "DSK" jest oficjalnym identyfikatorem stacji dysków - ponieważ jest zawsze przyjmowany, to nie musisz go nigdy wpisywać.
D: To nie jest stacja ustalona, ani stacja numer 1 - to jest stacja numer 4.
: Ponieważ nie ma oznaczenia stacji, to jest to stacja ustalona.
CAR: "CAR:" jest to "ROMdysk" modułu SpartaDOS X możesz z niego odczytywać pliki lub katalog, lecz oczywiście nie możesz tam nic zapisać.
CON: "CON:" jest standardowym urządzeniem I/O, czyli edytorem (we wcześniejszych wersjach SpartaDOS oznaczony "E:").
PRN: "PRN:" jest to drukarka, po "PRN" możesz umieścić jej numer 1-4 lub A-D.
COM: "COM:" jest portem interfejsu RS232 (tu także może wystąpić numer portu). Dla tego urządzenia nie ma w systemie standardowego programu obsługi.

Możesz teraz zapytać: "Jak uzyskać dostęp do tych urządzeń poprzez CIO w Basicu ?". Jest to bardzo proste - poprzedź nazwę lub numer urządzenia literą "D". Oto kilka przykładów, które to wyjaśniają:

OPEN #1,4,0,"D:REDME.DOC"

otwiera plik "REDME.DOC" z ustalonej stacji, a:

OPEN #1,6,0,:DCAR:*.*

otwiera katalog modułu SpartaDOS X. Polecenie:

LOAD "DB:TEST.BAS"

odczytuje program "TEST.BAS" ze stacji dysków 2, zaś:

LIST "DPRN:"

drukuje Twój program na drukarce (oczywiście możesz użyć "P:" zamiast "DPRN:").

Powyższe przykłady pokazują użycie systemu I/O SpartaDOS X urządzenie "D:" CIO. Oczywiście wszystkie pozostałe urządzenia CIO zachowują swoje znaczenie (tzn. E:,P:,C:,K:,S: itd.) Istotne jest to, że Command Processor może korzystać tylko z urządzeń systemu SpartaDOS X, natomiast poprzez CIO uzyskasz dostęp do obu zestawów urządzeń.

Ustalona stacja i katalog.

Ustaloną stacją i katalogiem jest stacja i katalog używane przez system, jeżeli żadne nie zostały podane. Każda stacja ma ustalony (lub bieżący) katalog. W celu zmiany ustalonej stacji, którą wskazuje DOS, po prostu wpisz nowy identyfikator urządzenia potwierdzony naciśnięciem klawisza <RETURN>. Na przykład:

C:

ustawia stację ustaloną na stację numer 3. W celu zmiany bieżącego katalogu stacji stosuje się polecenie CHDIR (lub CWD). Na przykład:

CHDIR DOS

ustawia bieżący katalog ustalonej stacji na "DOS", zaś polecenie:

CHDIR B:BASIC

ustawia bieżący katalog stacji 2 na "BASIC" (zakładając, że katalogi
"BASIC" i "DOS" podane w przykładach istnieją w bieżących katalogach).

Nazwy dyskietek.

Wszystkie dyskietki w formacie SpartaDOS X mają swoje nazwy. Nazwy te mają dwa zadania:

Jeżeli wyświetlisz katalog dyskietki w formacie Atari DOS 2, zobaczysz, że ma ona zawsze, nazwę "AtariDOS", więc szybko można rozpoznać różnice między formatami dyskietek. Tak więc, ponieważ dyskietki Atari DOS nie mają swoich własnych nazw, to bufor systemu nie zapamiętuje niczego po ostatnim dostępie do takiej dyskietki. Ponadto, dyskietki Atari DOS są nieco mniej wydajne i wolniejsze. Dodatkowo, odczytywanie plików binarnych, szczególnie takich, które mają kilka segmentów, przebiega znacznie wolniej z dyskietki Atari DOS niż ze SpartaDOS. Zalecamy więc przed uruchomieniem kopiowanie takich plików na dyskietki SpartaDOS lub do ramdysku.

Zgodność formatu dyskietek.

SpartaDOS X bez kłopotów odczytuje i zapisuje dyskietki formatowane przez SpartaDOS 2.x i 3.x. Może również wykorzystywać dyskietki SpartaDOS 1.1, lecz ze względu na drobne różnice w formacie, zalecamy skopiowanie ich na format SpartaDOS X.

SpartaDOS 2.x i 3.x także nie będą miały kłopotu z zapisem i odczytem dyskietek SpartaDOS X z jednym tylko wyjątkiem nie będą widoczne, a więc nie będą dostępne żadne wpisy katalogu powyżej 126. Usunięcie z katalogu plików znajdujących się niżej nie zmieni sytuacji, gdyż fizyczne położenie wpisów w katalogu nie zmieni się.

SpartaDOS 2.x i 3.x nie uwzględniają nowych atrybutów plików (archiwalny, ukryty). Nie mają one dostępu do tych atrybutów i nie mogą ich zmieniać.

Użycie zewnętrznych modułów ze spartaDOS X.

SpartaDOS X jest modułem przelotowym, to znaczy, że inny moduł zewnętrzny może być umieszczony na module SpartaDOS X. Jeżeli posiadasz komputer 800, to SpartaDOS X musi być włożony w lewe gniazdo modułu. Jeśli masz 130XE połączony z interfejsem Multi I/O, możesz włożyć moduł SpartaDOS X również do gniazda interfejsu.

Jeżeli posiadasz moduł R-Time 8, możesz umieścić go gdziekolwiek, ponieważ nie jest on rozpoznawany przez komputer jako moduł. Możesz włożyć go do gniazda i włożyć SpartaDOS X do niego. Możesz go włożyć do modułu SpartaDOS X. Można również włożyć w prawe gniazdo w 800 lub w dodatkowe gniazdo interfejsu Multi I/O w 130XE.

Jeżeli Twój komputer ma tylko jedno gniazdo modułów, można włożyć moduł SpartaDOS X w R-Time 8 lub włożyć R-Time 8 w moduł SpartaDOS X.

Każdy zewnętrzny moduł programu musi być włożony w moduł SpartaDOS X, aby system działał poprawnie. Moduły języków (jak Basic XL, Basic XE, Action i MAC/65) mogą znajdować się w module SpartaDOS X, dopóki nie używasz innego modułu. SpartaDOS X pozwala na odłączenie i dołączenie tych modułów w każdej chwili. Można także wyłączyć SpartaDOS X i zewnętrzny moduł w celu odczytania gry lub innego DOS-u bez wyjmowania modułów.

Większość modułów gier przejmuje kontrolę systemu podczas uruchamiania zapobiegając zainicjowaniu SpartaDOS X. Nie pozwala to na trzymanie włożonego modułu gry, lecz zbędne jest wyjmowanie SpartaDOS X przy instalowaniu modułu gry.