Speccy-Dos
Felhasználói Kézikönyv


Tartalom

Bevezetés

1. A SPECCY-DOS tulajdonságai
2. A SPECCY-DOS parancsainak vázlatos ismertetése
3. Be- és kikapcsolás
4. Floppy diszkek kezelése
5. A SPECCY-DOS Általános szintaktikai szabályai
6. A SPECCY-DOS parancsainak ismertetése
6.1. ASN *
6.2. STEP *
6.3. FORMAT *
6.4. LIST *
6.6. LLIST *
6.7. SAVE *
6.8. LOAD *
6.9. MERGE *
6.10. RUN *
6.11. ERASE *
6.12. FN *

6.13. DEF FN *
6.14. COPY *
6.15. MOVE *
6.16 USR *
6.17. ATTR *
6.18. AT *
6.19. LEN *
7. A SPECCY-DOS installálása
8. Karbantartás

F1. Függelék: A SPECCY-DOS hibajelzései
F2. Függelék: A SPECCY-DOS drive oldali csatlakozójának kiosztása
F3. Függelék: A SPECCY-DOS engedélyezése / tiltása
F4. Függelék: Nem maszkolható interrupt (NMI)
F5. Függelék: CLEAR felfelé
F6. Függelék: Drive kábelek
F7. Függelék: A SPECCY-DOS és az INTERFACE-1 együttes használata
F7. Függelék: Parancskészlet bővítés


Bevezetés
A SINCLAIR ZX-SPECTRUM az egyik legelterjedtebb, és árkategóriáján belül a legjobbnak mondható személyi számítógép. Elterjedtségét nem utolsó sorban a rendelkezésre álló óriási software támogatásnak köszönheti. Az alapgépnek van azonban egy nagy hiányossága: nem csatlakoztatható hozzá nagykapacitású, nagy megbízhatóságú és gyors adattároló periféria, amely pedig félprofesszionális és professzionális alkalmazásoknál elengedhetetlen. A Gépnek ezt a hiányosságát pótolja a SPECCY-DOS, amely lehetővé teszi, hogy a 48K-s Spectrum miniflopy egységeket csatlakoztassunk. A lassú és megbízhatatlan magnó műveleteket (SAVE, LOAD, stb.). Így megbízható és igen gyors diszk műveletekkel cserélhetjük fel.
A SPECTRUM-ra létező egyéb diszk illesztések közül a SPECCY-DOS elsősorban nulla BASIC-RAM használatával, gazdag parancsválasztékával, egyszerű szintaktikájával és az alkalmazható minifloppy drive-ok igen széles skálájával tűnik ki. A felhasználásról való döntéskor nem elhanyagolható szempont a minifloppy drive-ok árának 1985-től mutatkozó radikális csökkenése sem.
A SPECCY-DOS alkalmazásával így egy, a tudásához képest igen olcsó adatbáziskezelő rendszert hozhatunk létre, amely joggal tarthat igényt az ügyvitelgépesítésben, raktári ás személyi nyilvántartórendszerekben, stb. való alkalmazásra. A következőben részletesen ismertetjük a SPECCY-DOS használatához szükséges tudnivalókat.

1. A SPECCY-DOS tulajdonságai
A SPECCY-DOS nem használja a BASIC RAM-ot, azaz saját rendszerváltozóinak tárolása külön RAM-ban történik. E tekintetben egyedülálló a SPECTRUM-ra létező diszk-illesztések között. E tulajdonsága következtében a SPECCY-DOS az alapgépre készült gyakorlatilag összes programmal kompatibilis. A SPECCY-DOS nem használ járulékos input/output portcímeket. Ennek Következtében az Összes olyan SPECTRUM periféria, amely I/O portként van kezelve, kompatibilis a SPECCY-DOS-szal (ZX-Printer, yojstick-ek, stb.)
A SPECCY-DOS a jelenleg ismert gyakorlatilag összes 3", 3,5" ill . 5,25"-os minifloppy drive-val kompatibilis. Ezalatt a következő eseteket értjük:

track-ek száma
oldalak száma
írássűrűség *
35
40
80
1
1/2
1/2
S/D
S/D
S/D

* S = szimpla írássűrűség, D = dupla írássűrűség

Megjegyezzük, hogy a SPECCY-DOS a fentiektől eltérő esetekben is használható, de ez esetben a LIST* parancs által a diszk szabad kapacitásáról adott információ nem lesz korrekt.
A SPECCY-DOS az előzőekben felsorolt drive-ok közül egyidejűleg 4-et képes kezelni, tetszőleges kombinációban. Jelenleg egyedülálló a SPECCY-DOS azon tulajdonsága, hogy a diszkek formátumát automatikusan felismeri. A 8"-os drive-ok (pl. MOM MF3200) kezelése megoldott, és külön opcióként megrendelhető.

A felhasználónak csak a diszk formálásakor (lsd. FORMAT*) kell törődnie olyan fogalmakkal, mint track-ek száma, oldalak száma vagy írássűrűség, mert ezt követően a rendszer automatikusan gondoskodik az ezekkel kapcsolatos teendőkről.
Jé példa erre, hogy a SPECCY-DOS segítségével úgy lehet átmásolni egy file-t egy egyoldalas, 35 track-es szimpla írássűrűségű diszkről egy 80 track-es kétoldalas, dupla. írássűrűségű diszkre, hogy a felhasználónak egyik diszk formátumát sem kell tudnia. (lsd. COPY*)
A SPECCY-DOS nagyon rugalmasan alkalmazkodik a rendszerben lévő drive-ok képességeihez, lehetővé téve ezzel a drive-ok tudásának maximális kihasználását. 4 féle stepping rate (track-ról track-re való léptetési idő) állítható be: 6, 12, 20 ill. 30 msec. Egyedülálló tulajdonsága a SPECCY-DOS-nak, hogy egy többdrive-os rendszeren belül a különböző drive-ok különböző sebességgel léptethetők, azaz régi típusú lassú és, modern gyorsdrive-ok egy rendszeren belül használhatók. (lsd. STEP *)
A SPECCY-DOS a SPECTRUM diszk illesztései közül a legkisebb méretű, nem igényel külső tápegységet. Az alkalmazott 1:1-es átmenő csatlakozó lehetőséget teremt más perifériák csatlakoztatására.
Diszkenként max. 60 file lehetséges, a file-onkénti maximális méret 64 kByte.
A SPECCY-DOS lehetőséget biztosit diszkenként egy, ún. autoboot file kijelölésére, amely lehet BASIC vagy CODE típusú. Bekapcsoláskor vagy reset ill. RANDOMIZE USR 0 hatására ez az un. autoboot-file azonnal futni kezd.
A SPECCY-DOS képes fizikailag sérült diszkek kezelésére. A diszkek formálásakor (FORMAT *) a sérült szektoruk automatikusan kitiltódnak a későbbi használatból és a sérült diszk éppúgy használható, mintha hibátlan volna.
A SPECCY-DOS használata esetén lehetőség van file-ok kétszeres rögzítésére. (Double recording). Ez azt jelenti, hogy egy adott file-név alatt a file fizikailag kétszer lesz rögzítve, és ha az egyik megsérül, a file olvasása automatikusan a másik file megfelelő helyétől folytatódik. Ilyen módon rögzített file másolásakor (COPY *) a másolat file is kétszeresen lesz rögzítve, mégpedig úgy, hogy mindkét másolat file teljesen hibátlan lesz, mégha mindkét forrás-file hibás volt is, azaz az ilyen file "öngyógyuló". Ez a rögzítési mód különösen értékes file-ok esetében ajánlatos. (lsd. SAVE *).
A SPECCY-DOS directory-jának felépítése olyan, hogy a diszk kapacitásának maximális kihasználását biztosítja. Többszöri törlés és SAVE-elés után sem maradnak a diszken nem kihasználható "lyukak". A diszk szervezése ezenkívül olyan, hogy lehetőséget biztosit file-okon belüli véletlen szektor-hozzáférhetőségre, azaz égy file n-edik szektorának olvasásához nem szükséges a logikailag előtte levő szektorok leolvasása. Ez a tulajdonság lehetőséget teremt indexelt file-ok készítésére, ami különösen gyors adatbázis kezelők írásakor hasznos.

A SEECCY-DOS szintaktikája igen egyszerű. A DOS parancsot csupán egy, a megfelelő BASIC kulcsszó mögé irt csillag (*) különbözteti meg a BASIC parancstól. A DOS parancsokhoz tartozó kulcsszó a legtöbb esetben utal a parancs funkciójára. A DOS és BASIC parancsok sorok között és soron belül tetszőlegesen keverhetők.
A SPECCY-DOS hibakezelése igen intelligens. Ha a rendszer futása során bármely, automatikusan nem javítható hiba merül fel, a képernyőn hangjelzés kíséretében megjelenik a hiba kódja. A leggyakrabban előforduló hibák esetén ezenkívül szöveges hibaüzenet is megjelenik. (Pld. NO SUCH FILE).
A SPECCY-DOS utasításkészlete a jelenleg létező SPECTRUM diszk illesztések között a leggazdagabb. A rendszer felépítése ezenkívül olyan, hogy lehetőséget biztosit az utasításkészlet későbbi bővítésére, tranziens handler-ek segítségével.

A SPECCY-DOS modul saját "fedélzeti" feszültség-stabilizátorral rendelkezik, amely gondoskodik arról, hogy a modul ne a SPECTRUM belső tápfeszültségét terhelje. A modul háza szolgál a stabilizátor hűtésére, ezért a ház melegedése normális jelenség.

2. A SPECCY-DOS parancsainak vázlatos ismertetése
Az alábbiakban felsoroljuk a DOS parancsokat, röviden utalva a parancsok által végrehajtott műveletekre. A parancsok részletes ismertetése a 6. fejezetben található.

Nr. DOS parancs Funkció
1. ASN * Drive specifikáció alapértelmezésének beállítása
2. STEP * Az alapdrive-hoz tartozó stepping rate értékének beállítása (6, 12, 20 vagy 30 ms)
3. FORMAT * Diszk formattálása és inicializálása
4. LIST * Diszk directory kilistázása képernyőre
5. LLIST * Diszk directory kilistázása ZX-Printer-re>
6. SAVE * Új file létrehozása diszken a memóriából történő kimásolással
7. LOAD * File betöltése a diszkről memóriába
8. MERGE * BASIC file LOAD-olása és összefésülése a gépben lévő BASIC programmal
9. RUN * BASIC vagy CODE típusú file betöltése a memóriába és futtatása
10. ERASE * Adott file törlése a diszkről
11. FN * Adott file átnevezése a diszken
12. DEF FN * Diszk átnevezése
13. COPY * Adott file átmásolása egy másik lemezre, könyvtárba
14. MOVE * Egy adott diszk teljes tartalmának átmásolása másik diszkre (backup)
15. USR * Autoboot file kijelölése a diszken vagy az autoboot státusz törlése
16. ATTR * File írásvédettségi és láthatósági attribútumának beállítása
17. AT * Diszk írásvédelmi attribútumának beállítása
18. LEN * BASIC RAM-ban levő szabad munkaterület címének és hosszának lekérdezése.

3. Be- és kikapcsolás

a. Bekapcsolás

  1. A SPECTRUM kikapcsolt állapotában csatlakoztassuk a diszk interface-t a SPECTRUM hátoldali csatlakozójára. Ügyeljünk arra, hogy az interface-en levő csatlakozó hossztengelye párhuzamos legyen a SPECTRUM hátoldalával.
  2. Az interface kábel segítségével kössük össze a kikapcsolt állapotban levő drive-ot a diszk-illesztő csatlakozójával. Ügyeljünk a helyes csatlakoztatásra! Az egyes interface jelekhez tartozó földvisszavezetések (GND) a diszk-illesztő SPECTRUM-mal ellentétes oldalán találhatók. (1, 3, 5, ... 33 sz. pontok)
  3. Gondoskodjunk róla, hogy a drive-okban ne legyenek diszkek, vagy ha igen, akkor a drive-ok ajtaja legyen nyitva. (Olyan drive-oknál, ahol biztosan tudjuk, hogy a drive tartalmaz bekapcsolási tranziens elleni diszkvédő áramkört, a fenti művelet elvégzése nem feltétlenül szükséges. Ilyenek pl. a TEAC drive-ok.)
  4. Kapcsoljuk be a drive tápegységeket.
  5. Ha használni kivárjuk az autoboot lehetőségeket (lsd. 1 fejezet, ill. 6. fejezet, USR * parancs), akkor helyezzük az ennek megfelelő diszket a drive 0-ba és csukjuk be a drive ajtót.
  6. Kapcsoljuk be a SPECTRUM-ot. Rövid idő múlva a képernyő közepén a következő bejelentkező feliratnak kell megjelennie: SPECCY-DOS V4.x ahol x az alverzió száma. Ha a drive 0-ban levő diszken van autoboot file, akkor az a bekapcsoláskor automatikusan futni kezd.

b. Kikapcsolás

  1. Vegyük ki a drive-ok ál a diszkekét, vagy nyissuk ki a drive-ajtókat. (Olyan drive-oknál, amelyekben van tápfeszültség ki-be kapcsolás elleni diszkvédő áramkör, a fenti művelet elvégzése nem feltétlenül szükséges.)
  2. Kapcsoljuk ki. a SPECTRUM-ot.
  3. Kapcsoljuk ki a drive tápegységeket.

FONTOS FIGYELMEZTETÉS!

  1. Bekapcsolt állapotban mind a SPECTRUM csatlakozó, mind a drive csatlakozó mozgatása, szét- ill. összecsatlakoztatása
    SZIGORÚAN TILOS !!
    E tilalom megszegése a SPECTRUM, az interface ill. a drive károsodását okozhatja.
  2. A diszk interface-nek a SPECTRUM-ra/ról való feldugásakor ill. lehúzásakor mindig ügyeljünk arra, hogy a feldugáshoz ill. lehúzáshoz szükséges erőt a csatlakozás irányában és síkjában fejtsük ki. Másszóval nem a felső részén fogjuk meg a diszk interface-t, ahol csak feszegetni tudjuk a csatlakozót, hanem az alsó részén ahol a bővítő buszcsatlakozó van.
    Ezzel elkerülhetjük a SPECTRUM-on illetve az interfacen levő csatlakozó idő előtti elhasználódását, illetve törését.

4. Floppy diszkek kezelése
Jóllehet minden floppy diszk borítékján több nyelven rajta vannak azok a rendszabályok, amelyeket be kell tartani ahhoz, hogy a diszken ne sérüljenek meg illetve, hogy a diszk élettartama a lehető maximális legyen, az alábbiakban mi is ismertetjük ezeket a szabályokat, néhány, a floppy diszkre vonatkozó egyéb tudnivalóval együtt.

Habár a "floppy disk" magyarul hajlékony diszkem jelent, sohase próbáljuk őket hajlítgatni. óvjuk őket erős mágneses terektől, valamint intenzív hő és hideghatásoktól. Tilos a diszkek felületét szabad kézzel megérinteni, mert a kéz felületén állandóan jelenlevő zsírréteg beszennyezi a diszket, és ez a zsír átkerülhet az író/olvasó fejre is. A diszkek egyik legnagyobb ellensége a por, ezért csak pormentes helyen dolgozzunk velük. A diszkeket mindig tegyük vissza a borítékjukba, ha kivesszük őket a drive-ból. Az éppen nem használt diszkeket célszerű dobozban tartani, mert az asztalon széthagyott diszkre tett egyéb tárgyak mechanikus sérüléseket okozhatnak.
Ha a diszkeket hosszabb időn át hidegben tároljuk, használat előtt célszerű őket az üzembiztos működés érdekében 10-30 percig szobahőmérsékleten tartani.
Hasznos tudni, hogy még a gyártók által egyoldalasnak deklarált diszkek is mindkét oldalukon tartalmaznak mágneses réteget, és a legtöbb esetben probléma nélkül használhatóai kétoldalas diszkként.
A floppy diszkek oldalélén található négyszög alakú kivágás leragasztásával a diszkek írás- és törlésvédetté tehetők.

5. A SPECCY-DOS Általános szintaktikai szabályai

A DOS parancsok felépítése  
A DOS parancsok általános felépítése a következő:

<A parancs kulcsszava> * <paraméterek>

pld.:

LOAD * 1 "FILE" CODE 32000

A paraméterek lehetnek numerikus és string típusúak. Másrészt a paramétereket definiálhatjuk magában a DOS parancsban, mint a fenti példa is mutatja, vagy lehetnek máshol definiált változók, mint pl.

SAVE * a$ CODE s,1

Akár parancsmódban, akár programmódban a DOS és BASIC parancsokat tetszőlegesen keverhetjük. Az egyes paraméterek között tetszőleges számú space-t (szóköz) adhatunk.

A file-nevekre és a diszknevekre vonatkozó szabályok
Mivel a diszknevekre ugyanazok a szabályok vonatkoznak, mint a file-nevekre, a továbbiakban csak a file-nevet említjük.

Drive-ok kijelölése (Drive specifikáció)
SPECCY-DOS használatakor a rendszerben minimum 1, maximum 4 drive lehet. A drive-ok számozásai: 0, 1, 2, 3. Az egyes DOS parancsok által aktivizált drive-ok száma 0, 1 vagy 2 lehet.

Ezért azokban a DOS parancsokban, amelyek legalább 1 drive-ot aktivizálnak, a parancs paraméterei között szerepelnie kell olyannak, amelyik kijelöli az illető drive-ot, illetve drive-okat. Ezt a paramétert nevezzük drive specifikációnak, és értéke 0, 1, 2 vagy 3 lehet. A drive specifikációt nem lehet az adott DOS parancson kívül definiálni, hacsak nem a drive specifikáció alapértékét használjuk. Tehát pl. a LET n=2: LIST * n nem elfogadott!

A drive specifikáció alapértéke
A legtöbb DOS parancsban a drive specifikáció opcionális, azaz elhagyható. Ez esetben a drive specifikáció alapértéke válik aktuális értékké. A drive specifikáció alapértéke bekapcsolás, reset NEW után 0, azaz pl. a LIST * parancs bekapcsolás után a drive 0-ban levő diszk tartalmát listázza ki.
A drive specifikáció alapértéke az ASN * (assign) parancs segítségével módosítható. (lsd. 6. fejezet: ASN *) Például

ASN * 2

Után a fenti LIST * parancs a drive 2-re vonatkozik, de a LIST * 0 továbbra is a drive 0-ról listáz.

Drive specifikációt követő file-név / diszknév
Ha egy DOS parancsban adott drive adott nevű file-ját kell kijelölnünk, akkor mindig először a drive, majd a file spec. következik. Elválasztó karakter engedélyezett, kivéve a space karaktert. Pl.:

LIST *2" SKY"

6. A SPECCY-DOS parancsainak ismertetése

ASN * - Alapdrive kijelölése

Drive specifikáció alapértelmezésének beállítása. Mint már említettük a legtöbb DOS parancsban a drive specifikáció opcionális, azaz elhagyható. Ez esetben a drive specifikáció alapértéke válik az aktuális értékké. Amennyiben több drive-val rendelkezünk, és nem a bekapcsolás után alapértelmezett 0. drive-val kívánunk műveletet végezni, minden DOS parancsban hivatkozni kell a kiválasztott drive-ra. Ezt elkerülendő, megváltoztathatjuk a drive specifikáció értékét a kívánt drive-ra. Pl.:

ASN * 3: RUN * "GAME"

Az ASN * parancsot akor is alkalmazhatjuk, ha huzamosabb ideig, főleg egy adott drive-val kívánunk foglalkozni.
Az ASN * parancs harmadik fő alkalmazási területe a STEP * parancshoz kötődik, ezért ezt ott ismertetjük.

Példák:

ASN * 1
ASN * 2
ASN * 3
ASN *

STEP * - Az alapdrive-hoz tartozó stepping rate értékének beállítása

A STEP * parancs egy adott drive-hoz tartozó stepping rate (azaz track-ről track-re való léptetési idő) beállítására szolgál. Szintaktikája:

STEP * [x]

Ahol x a beállítani kívánt stepping rate kódja. A kódolást z alábbi táblázat mutatja:

x Stepping rate
0
1
2
3
6 msec
12 msec
20 msec
30 msec

STEP * önmagában STEP * 0-val egyenértékű. A STEP * parancs mindig az alap drive-ra vonatkozik, így az ASN * és STEP * parancsok együttes alkalmazásával akár mind a négy drive-ra különböző stepping rate állítható be.
Bekapcsolás, reset vagy PRINT USR 0 hatására mind a négy drive-hoz tartozó stepping rate a leggyorsabbra , azaz 6 msec-ra állítódik be. A NEW parancs nem módosítja a beállított értéket.
A STEP * parancsra azért van szükség, mert a forgalomban levő drive-ok között vannak régi típusúak, amelyek csak 20-30 msec stepping rate-el üzemelnek, de vannak modern, gyorsabb drive-ok is, amelyek a 6-12 msec-os stepping rate-et is bírják. A STEP * parancs módot ad arra, hogy régi, lassú és modern gyors drive-okat egyazon rendszerben üzemeltessük. Egy adott floppy drive-hoz tartozó maximális stepping rate-et a drive leírásából, vagy kísérletileg határozhatjuk meg. Ha egy drive-ra az előírtnál gyorsabb stepping rate-et jelölünk ki, akkor SEEK ERROR hibaüzenet keletkezik.
Az első fejezetben említettük már az autoboot lehetőséget. Felmerül a kérdés, hogy mi történik akkor, ha a drive 0 nem képes 6 msec-os léptetésre. Ez esetben a rendszer ezt automatikusan észleli, és a stepping rate-et 30 msec-ra állítja, majd újból megkísérli az autoboot file betöltését. Ez az automatikus korrekció azonban csakis autoboot-nál történik meg!
Az alábbi mintaprogrammal jól illusztrálhatjuk a STEP * parancs hatását. A nagyobb hatás kedvéért célszerű előzőleg több, nagyméretű fie-t létesíteni a lemezen.

10 SAVE * "k" SCREEN$: REM a programban gyors drive-val szamolunk
20 STEP * 3: LOAD * "k" CODE: STEP * 2: LOAD * "k" CODE
30 STEP * 1: LOAD * "k" CODE: STEP *: LOAD * "k" CODE: GOTO 20

Ha a drive-jaink miatt szülségünk vana STEP * parancs használatára, akkor a stepping rate-eket kijelölő rövid programot célszerű az autoboot file-ban elhelyezni.

FORMAT * - Diszk formattálása és inicializálása

Minden diszket formattálni kell, hogy alkalmassá váljon a SPECCY-DOS-ban való használatra. Erre szolgál a FORMAT * parancs, amelynek szintaktikája a következő:

FORMAT * [[dr] " [dn] " [side, dens, track]]

A formattálandó diszk formátumát a következő három paraméter határozza meg:

side: s = egyoldalas diszk
d = kétoldalas diszk
dens: s = egyszeres írássűrűségű (FM)
d = kétszeres írássűrűségű (MFM)
track: 35 = 35 track lesz formázva
40 = 40 track lesz formázva
80 = 80 track lesz formázva

A fenti paraméterhármas alapértéke sd40 azat pld. A FORMAT * "disk0" parancs FORMAT * "disk0" sd40-el ekvivalens.
Jóllehet a szintaktika a fenti paraméterhármas bármely kombinációját megengedi, 35 track esetén nincs értelme kétoldalas diszket specifikálni, mert ilyen drive nincs. Ha mégis ezt az esetet specifikáljuk, akkor az ilyen módon formattált diszk használható lesz, de a szabad kapacitásról szóló információk helytelenül lesznek felírva a diszkre.
A diszknév megadása formattáláskor opcionális. Ha nem kívánunk megadni diszknevet, akkor a diszknév helyén két egymást követő idézőjelet ("") kell írnunk. Ha egy eredetileg névtelen diszknek később nevet kívánunk adni, ezt megtehetjük a DEF FN * parancs segítségével (lásd DEF FN *).

A FORMAT * parancs a diszk inicializálást végzi el. Ez magában foglalja a diszk effektív formattálását, ellenőrzését, majd pedig bizonyos kezdeti információk felírását a diszkre.
Mielőtt a formattálás megkezdődne, a rendszer megnézi, hogy volt-e már a diszk formattálva. Ha igen, akkor a képernyőn a következő szöveg jelenik meg: DISK NOT EMPTY. FORMAT (Y/N). Ha N-t (No) ütünk, a FORMAT * parancs futása megszakad, így lehetőségünk van arra, hogy a tévedésből betett értékes és nem írásvédett lemezt megmentsük a felülírástól.
A formattálás után a diszk ellenőrzése következik, amelynek során a rendszer a diszk összes szektorát ellenőrzi. Ahhoz, hogy a rendszer a diszket használhatónak minősítse, az szükséges, hogy a directory terület teljesen hibátlan legye, valamint, hogy az adatmezőben talált hibás szektorok száma ne haladja meg a 128-at. Az adatmezőben talált hibás szektorokat a rendszer feltérképezi, és kitiltja őket a későbbi használatból.
Hibás diszk formattálása esetén a formattálás időtartama a szokásos 1-2 percnek többszörösére nőhet, a hibák számától és a formátumtól függően. Pozitív eredmény esetén azonban a diszk átlagos hozzáférési ideje a jó diszkhez képest nem növekszik!
Példák:

FORMAT * 2 "Mydisk 1" dd80
FORMAT * "" sd40
FORMAT * "Test" ss35
FORMAT * "Kutya"
FORMAT * 3 "DATA" dd40
FORMAT * 1 "Test1" sd80
FORMAT * 0 "Waakdisk" ds80
FORMAT * ""

A következő táblázat a különböző konfigurációkhoz tartozó diszk kapacitást mutatja:

Track
szám
Oldalak
száma
Írássűrűség
(s / d) *
Formatált
kapacitás
(block)**

Formatált
kapacitás
(kbyte)***

Felhasználói
kapacitás
(block)**
Felhasználói
kapacitás
(kbyte)***
35
1
s
350
87,5
330
82,5
d
560
140
528
132
40
1
s
400
100
380
95
d
640
160
608
152
2
s
800
200
770
192,5
d
1280
320
1232
308
80
1
s
800
200
770
192,5
d
1280
320
1232
308
2
s
1600
400
1550
387,5
d
2560
640
2480
620

* Írássűrűség: S = single, d = double
** 1 block = 256 byte
*** 1 Kbyte = 1024 Byte

A félreértések elkerülése végett itt tisztázzuk, hogy egy 35 ill. 40 track-es drive-ban formattált lemez 80 trackes drive-ban nem használható, és fordítva. (Ennek az az oka, hogy  35 illetve 40 track-es drive-okon az egyes track-ek sugárirányú távolsága kétszerese a 80 track-es drive-okénak.) A SPECCY-DOS segítségével azonban képesek vagyunk file-ok másolására a különböző típusú drive-ok között, azaz a lemezek közötti logikai kompatibilitás fennáll.

A FORMAT * parancs végrehajtásához minimum 6 Kbyte szabad munkaterületnek kell lennie a SPECTRUM-ban.
A FORMAT * parancs saját hibaüzenetekkel rendelkezik. Ha a diszk ellenőrzéskor directory területen hibás szektort talál, "REJECTED" hibaüzenet keletkezik. Hibátlan directory terület esetén, ha a diszk 128-nál több hibás szektort tartalmaz egyszeres írássűrűség esetén "FATAL DISK ERROR", dupla írássűrűség esetén "DISK ERROR" a kiírt üzenet.

LIST * - Diszk directory kilistázása a képernyőre

A LIST * parancs adott diszk tartalmának a képernyőre való kilistázására szolhál. Szintaktikája a következő:

LIST * [dr] [i] [s] ["fn"]

A parancs legegyszerűbb formája a LIST *, ill. a LIST * drive specifikációval. Ha a diszken láthatatlan (invisible) attribútummal rendelkező file-ok is vannak, akkor a LIST * [dr] parancs ezeket nem listázza ki.Ha a parancsban i-t is megadunk, akkor a láthatatlan file-ok is kilistázásra kerülnek. (pl. LIST * i, LIST * 2i)
Sok esetben előfordul, hogy nem vagyunk kíváncsiak egy diszk konkrét tartalmára, hanem csak arra, hogy mennyi szabad hely van rajta. Mivel normál esetben a foglaltságim információk  a kile-ok kilistázása után jelennek meg, különösen sok file-t tartalmazó diszknél ez nagy és felesleges időveszteséget jelentene. Ezen problémán segít a parancs
LIST * [dr] s
szintaktikájú formája, amely esetben file információk nem jelennek meg, hanem csak a diszk neve, attribútumai (lásd AT *), valamint a diszk foglaltságával kapcsolatos információk. Ez esetben a parancs végrehajtási ideje kevesebb, mint egy másodperc. Az i és az s kulcsok egyidejűleg nem specifikálhatóak, de ennek nincs is értelme. (Megj.: s size).
Ugyancsak sok esetben előfordulhat, hogy csak az adott file-hoz tartozó adatokra vagyunk kíváncsiak. Normál esetben itt még nagyobb időveszteség jelentkezne, hiszen még meg is kellene keresnünk az adott file-t a képernyőn. Ezt a problémát oldja meg a parancs
LIST * [dr] "fn"
szintaktikájú formája, amely esetben csak a parancsban kijelölt file-ra vonatkozó adatok jelennek meg.(Pld. LIST * "t1").

A LIST * parancs futásakor először a diszk neve, majd formátuma kerül kiírásra. Ez utóbbi a floppy diszkek címkéiről is ismert módon történik. (Pl. SS DD = Single Side, Double density - egyoldalas, duplasűrűségű diszket jelöl.)
Ezután egy fejléc, majd a file-ok adatainak kiírása történik meg. A fejléc egyes oszlopainak jelentése a következő:

FILENAME:

az adott file nevét jelenti.

T:

A file típusa:
P = BASIC program,
C = Code file,
N = számtömb,
S = stringtömb.

BYTES: A file bérete byte-okban kifejezve.
ADS/L:

(Address / Line), CODE file esetén az a decimális kezdőcím, amelytől kezdve a file-t SAVE-elték. BASIC típusú file-nál annak a BASIC sornak a száma, amelytől a program futása kezdődik. Ha a programot nem LINE - megadásával SAVE-elték, ill. N és S típusú file-nál ez a mező üres.

BLKS

A file mérete 256 Byte-os blokkokban kifejezve.

ATTR

A file esetleges attribútumai, nagybetükkel jelölve:
I = láthatatlan (invisible) file (lásd ATTR *)
W = software úton írásvédett file (lásd ATTR *)
D = kétszeresen rögzített (double recorded) file (lásd SAVE *)

Mivel egy diszken maximum 60 file lehetséges, előfordulhat, hogy a diszk tartalma nem fér fel egy képernyőre. Ilyenkor a LIST * parancs futása átmenetileg megszakad, és a képernyőn SCROLL? Kérdés jelenik meg. Ha ilyenkor n-t vagy N-t ütünk, a LIST * parancs végrehajtása végleg megszakad, és a képernyő mozdulatlan marad. Egyéb esetben a kép 11 sorral feljebb scrollozódik. Ez a megoldás lehetőséget nyújt arra, hogy a képernyő tartalmát mátrix vagy egyéb printerekre kivivő eszközök segítségével a ZX-Printertől eltérő printereken is hibátlan diszk listát készíthessünk. Végül az esetleges autoboot file nevét, majd a diszk foglaltságával kapcsolatos információkat közli a rendszer.
Példák:

LIST *
LIST * 2i
LIST * 3s
LIST * "Card"
LIST * 3

LLIST * - Diszk directory kilistázása ZX-printerre

Az LLIST * parancs adott diszk tartalmának ZX-printerre, vagy azzal kompatibilis eszközre való kilistázására szolgál. Az LLIST * parancs szintaktikája és a vele kapcsolatos összes tudnivaló megegyezik a LIST * parancsnál elmondottakkal, ezért itt csak az eltéréseket ismertetjük.

Példák:

LLIST *
LLIST * 2i
LLIST * 3s
LLIST * "Card"

SAVE * - Új file létrehozása a diszken a memóriából történő kimásolással

A SAVE * parancsa BASIC RAM ill. ROM memóriában található programok, illetve adatok diszk file-ban történő rögzítésére szolgál. Mivel a parancs szintaktikája, lehetséges változatai, illetve a vele kapcsolatos tudnivalók majdnem teljesen megegyeznek az alapgép SAVE parancsával, itt csak az eltéréseket ismertetjük.

Példák:

SAVE * "SECRET" d LINE 100
SAVE * 1 "S0" d CODE 40000,1000,40510

LOAD * - File betöltése diszkről memóriába

A LOAD * parancs diszken levő file-ok memóriába való betöltésére szolgál. Mivel a LOAD * parancs szintaktikája, változatai és a vele kapcsolatos tudnivalók majdnem teljesen megegyeznek az alapgép LOAD parancsával, itt csak az eltéréseket ismertetjük.

Példák:

LOAD * "GAME"
LOAD * 1 "kep" SCREEN $
LOAD * 2 a$
LOAD * "S0" CODE 30000

MERGE * - File-ok összefésülése

A MERGE * parancsa  memóriában lévő BASIC program és egy diszken levő BASIC típusú file "összefésülésére" szolgál. Mivel a MERGE * parancs használata majdnem teljesen megegyezik az alapgép MERGE parancsának használatával, itt csak az eltéréseket ismertetjük.

Példák:

MERGE * "GAME"
MERGE *1 "PHOTO"

RUN * - BASIC vagy CODE típusú file betöltése a memóriába és futtatása

A RUN *  parancs NASIC vagy CODE típusú file-ok diszkről való betöltésére és azt követő futtatására szolgál. Szintaktikája:

RUN * [dr] "fn" - BASIC file esetén
RUN * [dr] "fn" CODE [strt] - CODE file esetén

BASIC file esetén a program futtatása a program első soránál, illetve LINE-megadásával SAVE *-elt file-ok esetén a LINE után megadott sorszámmal kezdődik.
CODE típusú file esetén a futtatási kezdőcím egyrészt attól függ, hogy a RUN * . CODE parancsban specifikáljuk-e az opcionális strt=start betöltési kezdőcímet, másrészt attól, hogy a file SAVE *-elésekor specifikáltuk-e a betöltési címtől eltérő futtatási kezdőcímet. (lsd. SAVE * . CODE)
Ha a RUN * . CODE-ban nem specifikálunk betöltési címet, akkor a program oda töltődik be, ahonnan SAVE *-eltünk, ha pedig igen, akkor a RUN * . CODE-ban meghatározott helyre.
Az előző esetben a program onnan fut, amit a SAVE *-kor meghatároztunk, az utóbbi esetben pedig a futtatási kezdőcím úgy tolódik el, hogy a betöltési címtől való távolsága változatlan marad.

Példák:
Tételezzük fel, hogy az MS nevű file-t a következő paranccsal létesítettük: SAVE * "MS" CODE 30000,1000.
Ekkor a futtatási és betöltési cím azonos. Ekkor a futtatási és betöltési cím azonos. Ekkor RUN * "MS" CODE esetén a program 30000-es címre töltődik és onnan is fut.

Ha az MX nevű file-t a SAVE * "MX" CODE 30000,1000,30050 paranccsal hozzuk létre, akkor RUN * "MX" CODE parancsra az  MX file 30000-re töltődik és 30050-től fut.
RUN * "MX" CODE 40000 hatására viszont az MX file 40000-retöltődik, és 40050-től fut.

Ez a tulajdonság főként relokálható file-ok esetén használható fel.

RUN * "GAME"
RUN * 1 "g0" CODE
RUN * 2 "g1" CODE 35000
RUN * 3 "g2" CODE a

ERASE * - Adott file törlése diszkről

Az ERASE * parancs file-ok törlését végzi el. Szintaktikája:

ERASE * [dr] "fn"

Példák:

ERASE * "GAME"
ERASE * 1 "S1"
ERASE * 2 "MX"
ERASE * 3 "MY"

Ha egy adott file-t ERASE * -al töröltünk, nincs mód a visszaállítására. Véletlen törléstől a file-okat írásvédő szalaggal, vagy software írásvédelemmel (lsd. ATTR *) védhetjük.

FN * - Adott file átnevezése a diszken

Az FN * parancs file-ok átnevezésére szolgál. Szintaktikája:

FN * [dr] "fn1" TO "fn2"

Ahol fn1 a régi, fn2 pedig az új filenevet jelenti. Példák:

FN * "MX" TO "mix"
FN * 1 "SX" TO "six"

DEF FN * - Diszk átnevezése

A DEF FN * parancs diszkek átnevezésére szolgál. Szintaktikája:

DEF FN * [dr] "dn"

Ahol dn az új diszknevet jelenti. Példák:

DEF FN * 1 "system 2"
DEF FN * "S0"

Különösen ha egy drive-os rendszerben dolgozunk, célszerű diszkjeinknek eltérő nevet adni, mert a COPY * és a MOVE * parancsoknál így elkerülhetjük a forrás és a kimeneti diszk összecserélését.) (Lásd COPY *, MOVE *)

COPY * - Adott file átmásolása egy másik file-ba

A COPY * parancs segítségével file-okról másolatokat készíthetünk. Másolhatunk egy drive-val ili. Két drive között, valamint másolhatunk egy lemezen belül, ill. két lemez között. A COPY * parancs szintaktikája a következő:

COPY * [dr1] "fn1" TO [[dr2] ["fn2"]]

Ahol dr1 a forrás drive-ot, fn1 a forrás file-nevet, és dr2 a kimeneti drive-ot, fn2 a másolat file nevét jelenti. Ebből látszik, hogy a másolással egyidejűleg a file nevét is megváltoztathatjuk. Ha nem kívánjuk megváltoztatni a kimeneti file nevét, akkor a parancs kiadásakor kétszer kellene leírni a file-nevet. Ezt a kényelmetlenséget és a vele kapcsolatos hibalehetőségeket kerülhetjük el a  parancs

COPY * [dr1] "fn" TO [dr2]

szintaktikájú formájával. Néhány példa:

Ha a másolással egyidejűleg a file-nevet is módosítani akarjuk, akkor mindkét file-nevet specifikálnunk kell. Példák:

Ha a másolás egy drive-on történik, akkor a rendszer mindig közli a felhasználóval, hogy melyik diszket kell a drive-ba tennie:
LOAD SOURCE DISK:   TYPE ENTER
LOAD OUTPUT DISK:   TYPE ENTER

Nagy méretű file másolásakor, illetve ha a gépben nagy BASIC program van, a másolás több fordulóból állhat. Ez esetben egy drive-os másolás esetén fennáll annak a veszélye, hogy felcseréljük a forrás és a kimeneti diszket. Azonban, ha a forrás és a kimeneti diszkek neve különböző, akkor a rendszer  kizárja a diszkfelcserélés lehetőségét. Ha véletlenül a rossz diszket tesszük be, akkor a rendszer "WRONG DISK" jelzéssel figyelmeztet bennünket.
A COPY * parancs soha nem  rontja el a gépben levő BASIC programot. A COPY * parancs végrehajtásához legalább 521 byte szabad memóriával kell rendelkeznie a gépnek.
Nagyméretű file-ok másolásánál nem célszerű nagy BASIC programot tartani a gépben, különösen ha egy drive-on másolunk, mert ez nagymértékben megnövelné a fordulók számát.
Kétszeresen rögzített file másolásakor az eredmény-file is kétszeresen rögzített lesz, mégpedig úgy, hogy az eredményfile-hoz tartozó mindkét file hibátlan lesz, mégha a forrásfile-hoz tartozó mindkét file hibás volt is. (Öngyógyuló tulajdonság)
Ha autoboot file-t másolunk, akkor az eredmény-file elveszti autoboot tulajdonságát, függetlenül attól, hogy a kimeneti diszken eredetileg volt-e autoboot file vagy nem. Másoláskor a file "invisible" ill. "write protected" attributumai változatlanok maradnak. (lásd ATTR *)

MOVE * - Egy adott diszk teljes tartalmának átmásolása másik diszkre (Backup).

A MOVE * parancs egy diszk egész tartalmának egy másik diszkre való másolására szolgál (Backup funkció). Szintaktikája:

MOVE * dr1 TO dr2

Ahol dr1 a forrás drive specifikációja, megadása kötelező. Dr2 a kimeneti drive specifikációja, megadása szintén kötelező.
A MOVE * parancs végrehajtása történhet két drive között, ill. egy drive-on, amely esetben a forrás és a kimeneti diszket a felhasználónak kell ciklikusan cserélgetnie. Mivel ez esetben fennállna a forrás és a kimeneti diszkek felcserélésének lehetősége, a MOVE * parancs, akárcsak a COPY *, rendelkezik diszkfelcserélés elleni védelemmel. Ennek működéséhezaz szükséges, hogy a MOVE * parancs kiadásakor a forrás és a kimeneti diszkek nevei különbözőek legyenek. A parancs végrehajtása után a forrás diszkkel ekvivalens diszlet kapunk.
A MOVE * parancs sohasem rontja el a gépben lévő BASIC programot. Működéséhez minimum 10 Kbyte-nyi szabad munkaterület szükséges. Minél kisebb a gépben levő szabad munkaterület, annál több forduló szükséges a MOVE * parancs végrehajtásához, ezért különösen egy drive-os MOVE * esetén nem célszerű nagyobb BASIC programot tartani a Spectrum-ban.
A MOVE * parancs csak azonos formátumú diszkek közötti másolásra alkalmas, ezért a parancs kiadása előtt célszerű a kimeneti diszket a forrás disszkkel azonos formátumra formattálni. Ezt akkor is célszerű megtenni, ha a két diszk formátuma eredetileg is azonos, mert ezzel kivédhetjük a kimeneti diszken az előző formattálás óta keletkezett, esetleg felderítetlen hibák hatását. A MOVE * parancs szükséges, hogy mind a forrás, mind a kimeneti diszk hibamentes legyen.
Mivel a MOVE * parancs nem file-onként, hanem fizikailag másol, a parancs végrehajtási ideje nem függ a  forrás diszken levő file-ok számától és méretétől.
Egy drive-os MOVE * esetén a COPY *-al azonos felszólítások jelennek meg a diszkek cseréjekor, azaz:
LOAD SOURCE DISK:   TYPE ENTER
LOAD OUTPUT DISK:   TYPE ENTER

Ha a két diszket véletlenül felcseréljük, a "WRONG DISK" jelzéssel figyelmeztet minket a rendszer a hibára.

FONTOS FIGYELMEZTETÉS!

Értékes diszkjeinkről mindig tartsunk legalább egy másolatot! (Backup példányt.) Nem tudhatjuk előre, hogy milyen váratlan esemény következtében fog megsérülni egy diszk, aminek következtében igen sok munkánk veszhet kárba. Ne a saját kárunkon tanuljunk! Az írásvédő szalag csak akkor védi a diszket, ha a drive-ban van, akkor is csak elektromosan!

Példák:

MOVE * 0 TO 0
MOVE * 1 TO 2
MOVE * 3 TO 3
MOVE * 3 TO 0

USR * - Autoboot file kijelölése diszken, vagy az autoboot státusz törlése

Az USR * parancs segítségével jelölhetünk ki egy diszkre autoboot file-t, illetve szüntethetjük meg egy file autoboot státuszát. Az USR * parancs szintaktikája:

USR * [dr] "fn" - ha az fn file-t autoboot file-nak jelöljük ki.
USR * [dr] - az autoboot file ezen státuszának megszüntetése

Autoboot file-t bármelyik drive-on kijelölhetünk illetve megszüntethetünk, azonban az így kijelölt file csak drive 0-ról fog autobootként működni.
Autoboot file-ként BASIC vagy CODE típusú file-t jelölhetünk ki. Az autoboot file a következő esetben töltődik be és indul futásnak: tápfeszültség bekapcsolás, reset, illetve olyan művelet hatására, amikor a vezérlés a 0 címre kerül (Pl. PRINT USR 0). NEW hatására nem történik meg az autoboot folyamat, mert ez sok esetben zavaró lenne.
Egy diszken egyidejűleg maximum 1 autoboot file lehetséges. Autoboot file csak úgy törölhető egy diszkről, ha előtte az autoboot státuszát megszüntetjük. Ha autoboot file-t másolunk (COPY *), akkor az eredményfile elveszti autoboot státuszát függetlenül attól, hogy eredetileg a kimeneti diszken volt-e autoboot file, vagy sem.
A STEP * parancsnál említettük már, hogy bekapcsolás után a rendszerben levő összes drive-ra 6 msec-os stepping rate van kijelölve. Ha a drive 0 nem képes ilyen sebességű léptetésre, akkor azt gondolhatnánk, hogy az autoboot funkció nem volna működőképes, hiszen állandóan SEEK ERROR keletkezne. A SPECCY-DOS ezt a problémát úgy oldja meg, hogy ilyen esetekben automatikusan 30 msec-ra lassítja a drive 0-hoz tartozó stepping rate-et, majd újra megkísérli az autoboot file betöltését. Ez a mechanizmus azonban csak az autoboot folyamat esetén működik.
Ha egy diszken autoboot file van, akkor a LIST * parancs (ill. az LLIST * ZX Printer esetén) az autoboot file nevét a file-okról szóló információk után közli (AUTO: file-név).
Autoboot file nem nevezhető át, csak ha elötte az autoboot státuszát megszüntetjük.
Példák:

USR * "SORT"
USR * 2 "SORT"

A "SORT" file autoboot-tá tétele az alap, ill.  a 2. drive-on

USR * 1
USR * 3

Az autoboot file státuszának megszüntetése.

ATTR * - File írásvédettségi és láthatósági attributumának beállítása

Az ATTR * parancs file-ok láthatatlan (invisible) illetve írásvédett attributumának állítására szolgál. Szintaktikája:

ATTR * [dr] "fn"

A parancs kiadása után a képernyő törlődik, és megtörténik az attributumok kívánt értékének bevétele.
Az i= illetve a w= kérdésekre 0 vagy 1 leütésével, majd az ENTER lenyomásával kell válaszolnunk: 0 az adott attributum kikapcsolását, 1 a bekapcsolását jelenti. A rendszer ezután fordul a diszkhez, és elvégzi a szükséges műveleteket.
Ha egy file láthatatlan (invisible) attributuma be van kapcsolva, akkor a file adatai nem jelennek meg egy normál LIST * ill. LLIST * parancs hatására, a file megjelenítéséhez "i" kapcsolót kell specifikálnunk e parancsokban. (lásd LIST *, LLIST *). Az invisible attributum segítségével pl. megtehetjük, hogy több file-ból álló programoknak csak az első file-ja legyen látható a LIST * parancs hatására (tipikusan pl. játékprogramok). Ezzel nagymértékben növelhető a képernyő áttekinthetősége.
Ha egy file írásvédett (write protected) attributuma be van állítva, akkor a file az ERASE * ill. az FN * parancsok segítségével nem törölhető, illetve nem nevezhető át. Ilyen esetben az egyetlen file argumentumú DOS parancs, amely a file tartalmát módosíthatja, maga az ATTR * parancs. (Azaz pl. a nem file argumentumú  FORMAT * természetesen felülírhatja az írásvédett file-t.)
Fontos megjegyeznünk, hogy az ATTR * paranccsal létrehozott írásvédelem nem fizikai, hanem csak logikai írásvédelem, azaz nem véd meg pl. hálózati zavar következtében előálló esetleges diszk írási műveletek ellen! ("elszállás"). Az egyetlen, ami ez ellen is véd, az írásvédő szalag felragasztása a diszkre. Egy file aktuális attributumait a LIST * / LLIST * parancsok segítségével tudhatjuk meg (lásd LIST *, LLIST *)
Példák:

ATTR * "CHESS"
ATTR * 2"GAME"
ATTR * 1 "NONNE"

AT * - Diszk írásvédelmi attributumának beállítása

Az AT * parancs egy teljes diszk írásvédettségi attributumának átállítására szolgál. Szintaktikája:

AT * [dr]

A parancs kiadása után a képernyő törlődik, majd a w= kérdésre adott 0 vagy 1 válasszal és ENTER leütésével állíthatjuk be a kívánt attributumot.
Írásvédett diszken semmiféle írási művelet nem hajtható vérre, természetesen az AT * és a FORMAT * parancsok kivételt képeznek ez alól. Megjegyezzük, hogy a FORMAT * parancsnak azért nem szabad figyelembe vennie az AT * által beállított írásvédelmet, mert a diszk megsérülhet úgy is, hogy új AT *, amellyel az írásvédelmet feloldhatnánk, nem hajtható végre, és ez esetben a diszk formattálhatatlanná válna.
AT * paranccsal írásvédetté tett diszkről készült directory képben a diszk nevével azonos sorban "WP" (Write Protected) felirat látható.
Fontos megjegyeznünk, hogy az AT * paranccsal létrehozott írásvédelem nem fizikai, hanem csak logikai írásvédelem, azaz nem véd meg pl. hálózati zavar következtében előálló esetleges diszk írási műveletek ellen! ("elszállás") Az egyetlen ami ez ellen is megvéd, írásvédő szalag felragasztása a diszkre.
Példák:

AT *
AT * 1
AT * 2
AT * 3
AT * 0

LEN * - A BASIC-RAM-ban levő szabad munkaterület címének és hosszának lekérdezése.

A LEN * parancs a SPECTRUM-ban levő szabad munkaterülethosszának és kezdőcímének kiírására szolgál. Szintaktikája:

LEN *

A LEN * szigorú értelemben véve nem DOS parancs, hiszen semmi köze nincs a diszkekhez. Valójában a SPECTRUM-nak illene rendelkeznie ilyen funkciójú paranccsal. A LEN * azért került mégis a DOS parancsok közé, mert nagymértékben meggyorsítja és leegyszerűsíti a szabad munkaterület meghatározását.
A LEN * parancs kiadása után a képernyő törlődik, majd a következő kép jelenik meg:

FREE BYTES:  XXXXX
START ADDR: YYYYY

Ahol XXXX a szabad terület hossza byte-okban, YYYYY pedig a szabad terület kezdőcíme.
Fő feladatán kívül a LEN * másra is használható. Ha egy program később nem kívánt képernyő-attributumokat hagy maga után, akkor a LEN * a leggyorsabb módszer ezen attributumok megszüntetésére, azaz a képernyő "kitisztítására" a memóriatartalom módosítása nélkül.

7. A SPECCY-DOS installálása

A SPECCY-DOS-t tartalmazó rendszer installálásánál a legtöbb problémát általában a drive-nak illetve drive-oknak a SPECCY-val való heles összekötése okozza, ugyanis magát a diszk interface-t egyszerűen csak fel kell dugni a SPECTRUM-ra.
A SPECCY-DOS és a drive-ok összekapcsolása egy megfelelő csatlakozókkal ellátott 34 eres flatkábel, vagy egy 2*17 eres sodrott kábel segítségével történik. A SPECCY-DOS drive csatlakozójának kiosztását az F2 függelék tartalmazza. A csatlakozópontok számozása azonos a drive-ok csatlakozóinak számozásával, azaz összekapcsoláskor az azonos számú csatlakozópontoknak kell egymással kontaktusba kerülnie.
Ha magunk készítünk el összekötőkábelt, ügyeljünk arra, hogy a csatlakozókat úgy szereljük fel, hogy az összekapcsoláskor a kábelt ne kelljen megcsavarnunk.
A rendszer felépítése előtt a drive-ot ill.drive-okat mindenképpen ellenőrizni kell. Ennek során legcélszerűbb a drive műszaki leírására támaszkodnunk. Az ellenőrzés során kell beállítanunk, hogy melyik drive lesz a drive 0, drive 1 stb. Ennek beállítása általában a drive csatlakozójának közvetlen közelében lévő DS0, DS1 ill. DS3 jelzésű jumperek vagy forrasztható rövidzárak segítségével történik. E rövidzárak közül csak egy lehet betéve, mégpedig abba a pozícióba, amely számúnak az adott drive-ot kívánjuk jelölni. (0-3)
A drive csatlakozójának közelében általában egy IO foglalatba dugott vastagréteg áramkör található, ez a lezáró ellenállás hálózat, amelynek feladata a kábel helyes lezárása. Ebben az ellenállás-hálózatra vonatkozik a következő figyelmeztetés.

FONTOS FIGYELMEZTETÉS!

Több drive-ot tartalmazó rendszerben csak egy drive-ban maradhat lezáróellenállás hálózat, mégpedig abban, amelyik a kábel végéhez csatlakozik!
Ennek az előírásnak a figyelmen kívül hagyása a SPECC-DOS modul károsodását vonhatja maga után!

Ha a drive-okat és a kábelt a fentieknek megfelelően előkészítettük, sor kerülhet a rendszer összerakására és kipróbálására. Az összerakás során ügyeljünk még arra is, hogy a TV minnél messzebb kerüljön a drive-októlés a drive-SPECCY kebeltől. Ez különösen akkor fontos, ha bedobozolatlan drive-okkal dolgozunk, ugyanis tapasztalatok szerint a TV oly mértékben zavarja a drive-ok író-olvasó fejének működését, hogy az a rendszer helyes működését lehetetlenné teheti.
Egy két drive-os rendszer sematikus rajzát mutatja a 7-1. ábra:


7-1 ábra

8. Karbantartás

A SPECCY-DOS nem igényel különösebb karbantartást. Ha a modult gyakran lehúzzuk a SPECCY.DOS-ról, akkor a SPECTRUM felöli csatlakozót a szennyeződés sebességétől függő időközönként (2 hét - 1 hónap) tisztítsuk meg. Ugyanez vonatkozik a SPECTRUM hátoldali csatlakozójára is. A tisztításhoz isopropyl-alkoholt, vagy jó minőségű kontaktustisztító sprayt- használjunk.
A miniflopy drive-ok tisztításához és karbantartásához az adott drive-hoz tartozó karbantartási utasítás a mérvadó. Az író / olvasó fejeket minden esetben célszerű a használat intenzitásától függő mértékben 1-2 havonta tisztítólemez segítségével letisztítani, ugyanis a piszkos író-olvasó fej nagy mértékben lerontja a rendszer üzembiztos működését.

F1. Függelék: A SPECCY-DOS hibajelzései

Ha a rendszer működése során bármely, a rendszer által automatikusan nem korrigálható hiba lép fel, az adott program futása megszakad, és hibajelzés keletkezik. A hibajelzés formátuma:

ERROR: XX [TEXT]

Ahol XX a hiba kódja. A leggyakrabban előforduló hibajelzéseket rövid szöveg is kíséri, (pl. "NO SUCH FILE") Ezeknek a szöveges hibajelzéseknek a konkrét formája verzióról verzióra kis mértékben változhat, a jelentésre azonban mindig az marad, amit az alábbiakban közlünk. A hibajelzéseket hangjelzés is kíséri, amely felhívja a figyelmünket a hibára, ha nem vagyunk közvetlenül a gép mellett. Az alábbi táblázatban a hibajelzéseket közöljük, utalva arra a szituációra, amelyben a hiba előfordulhat.

Hibakód Szöveg, magyarázat
1

LOST DATA
Igen ritkán előforduló, a Floppy Disk Controller-től (FDC) származó hibajelzés. Elvileg bármely diszk írási / olvasási műveletnél előfordulhat, ha a software nem bírja elég gyorsan kiszolgálni az FDC-t.

2

CRC ERROR
Az FDC-től származó hibajelzés. Az adott szektorban levő adat meghibásodott.

3

RECORD NOT FOUND
Az FDC-től származó hibajelzés. A diszken levő adat úgy sérült meg, hogy a kívánt szektor nem lokalizálható.

4 DRIVE NOT READY
A kiválasztott drive nincs jelen, vagy nem kapcsoltuk be a tápegységét, vagy nem dugtuk fel a kábelt, vagy nyitva van a drive-ajtó, vagy fordítva tettük be a diszket, vagy a csatlakozás kontakthibás. Keressük meg a hiba konkrét okát!
5 DISK WRITE PROTECTED
Írási kísérlet történt írásvédő szalaggal ellátott diszkre.
6 FILE ALREADY EXISTS
Létre akartunk hozni egy file-t a diszken, de van már rajta azonos nevű file. Változtassuk meg a file-nevet!
7

SEEK ERROR
A 3-as hibához hasonló, de a software-től származó hibajelzés. Az olvasni vagy írni kívánt szektor nem lokalizálható. Tipikusan az okozhatja, hogy az adott drive-ra előírt stepping rate-nél gyorsabbat jelöltünk ki, de okozhatja a diszk sérülése is.

8

FILE TYPE ERROR
A kiadott  DOS parancsban specifikált file-típus eltér a diszken talált file típusától Pl. LOAD * . CODE kiadása BASIC filre-ra.

9

INSUFFICIENT DISK SPACE
A létrehozandó file mérete nagyobb, mint a diszken rendelkezésre álló szabad terület. Töröljük a felesleges file-okat.

10

INSUFFICIENT RAM SPACE
A RAM-ban rendelkezésre álló szabad munkaterület nem elegendő az adott DOS parancs végrehajtásához. Ez a hibajelzés csak a FORMAT *, COPY *, MOVE * és MERGE * parancsoknál fordulhat elő.

11

DIRECTORY FULL
Nincs hely több file számára a directory-ban, függetlenül attól, hogy a diszken van-e szabad hely, vagy nincs. Egy diszken maximum 60 file lehetséges.

12

NO SUCH FILE
A keresett file nincs az adott diszken.

13

CODE LONGER THAN SPECIFIED
A diszken talált, a LOAD . CODE parancs által kijelölt CODE típusú file hossza nagyobb, mint a parancsban opcionálisan specifikált maximális hossz. Így megvédhetjük a memóriatartalmat esetleges tévesen kijelölt file betöltése általi felülírástól

14

NO PROGRAM OR CODE
SAVE * parancs esetén a diszkre írandó byte-ok száma 0. Pl. BASIC típusú SAVE * esetén nincs a gépben BASIC program.

15

UNRECOGNIZED RECORDING FORMAT
A diszk formattálatlan, illetve olyan módon lett formattálva, hogy a szektorazonosítókat a SPECCY nem ismeri fel. (Idegen rendszerben formattált diszk.)

16

NON-SPECCY DISK
Idegen rendszerben formattált diszk, de a szektorazonosítókat a SPECCY felismerte.

Ezek voltak a SPECCY szöveggel kísért hibajelzései. Az alábbi táblázat azokat a hibajelzéseket tartalmazza, amelyeknek csak a kódja jelenik meg a képernyőn.

Hibakód Magyarázat
30

Írási kísérlet az AT * paranccsal logikailag írásvédetté tett diszkre.

31

Írási kísérlet az ATTR * paranccsal logikailag írásvédetté tett file-ra.

32

Másolásvédett diszk.

33

Másolásvédett file.

34

Autoboot file törlésére tett kísérlet.

35

Autoboot file átnevezésére tett kísérlet.

36

Kísérlet autoboot file létesítésére olyan diszken, amelyiken már van autoboot file, ill. kísérlet az autoboot file megszüntetésére olyan diszken, amelyiken nincs autoboot file (USR * parancs).

37

MOVE * parancsnál a forrás és a kimeneti diszkek formátuma nem egyezik meg.

50
51
52
53

Illegális rendszerhívás. Ilyen hibajelzés csak akkor fordul elő, ha valamely felhasználói program a SPECCY-DOS belső rutinjait használja.

70

Alulcsordulás diszk olvasásánál.

71

Alulcsordulás diszk írásánál.

72

Túlcsordulás diszk olvasásánál.

73

Túlcsordulás diszk írásánál.
Ezek a hibajelzések tipikusan akkor fordulhatnak elő, ha a diszk lassabban vagy gyorsabban forog a névlegesnél.

F2. Függelék: A SPECCY-DOS drive oldali csatlakozójának kiosztása

A SPECCY-DOS drive oldali csatlakozója egy 34 pólusú (2*17) direkt típusú csatlakozó. A csatlakozópontok számozását mutatja az F2-1 ábra. Az interface jelek bekötését mutatja az F2-1 táblázat.

2 - HEAD LOAD (HL)
4 - (nem használt)
6 - DRIVE SELECT 3 (DS3)
8 - INDEX (IX)
10 - DRIVE SELECT 0 (DS0)
12 - DRIVE SELECT 1 (DS1)
14 - DRIVE SELECT 2 (DS2)
16 - MOTOR ON (MON)
18 - DIRECTION (DIR)
20 - STEP (STP)
 

22 - WRITE DATA (WD)
24 - WRITE GATE (WG)
26 - TRACK 00 (TR00)
28 - WRITE PROTECT (WP)
30 - READ DATA (RD)
32 - SIDE 1 SELECT (SS)
34 - (nem használt)

1,3...33 - GND


F2-1 táblázat

F3. Függelék: A SPECCY-DOS engedélyezése / tiltása

Lehetőség van arra, hogy a SPECCY-DOS működését software úton letiltsuk. Az erre szolgáló művelet:

POKE 15169,64

E művelet végrehajtása után a SPECTRUM minden szempontból úgy viselkedik, mintha a SPECCY-DOS modul nem volna jelen, annak ellenére, hogy fizikailag a modul a buszon marad. A SPECCY-DOS újbóli engedélyezése a

POKE 15169,0

művelettel történik.
A software úton történő engedélyezés / tiltás biztosítja az olyan SPECTRUM interface-ekkel való kompatibilitást, amelyekkel a SPECCY-DOS egyébként nem volna kompatibilis. A legfontosabb ilyen az INTERFACE-1, de ide tartoznak egyes helyi készítésű interface-ek is.
A fenti lehetőség kihasználásával nem  okoz problémát pl. ZX microdrive-ok és a SPECCY-DOS-hoz kapcsolt drive-ok közötti kétirányú file-átvitel, vagy SPECCY diszkről az INTERFACE-1-en keresztül történő adatkommunikáció. Ilyen esetekben a SPECCY-DOS és a "másik" interface közötti átmeneti adattárolásra a BASIC RAM használandó.
A DOS működését akkor is célszerű letiltani, ha előreláthatólag hosszabb ideig nem fogunk DOS műveletet végrehajtani. Ilyen eset pl. TASWORD, vagy más szövegszerkesztő használata, amikor hosszabb szövegek begépelésekor csak a begépelt szöveg diszkre mentésekor van szükségünk DOS műveletekre. Ilyen esetekbe a DOS átmeneti letiltása feltétlenül növeli az üzembiztonságot.

F4. Függelék: Nem maszkolható interrupt (NMI)

Az alapgép esetében nem készíthető NMI kiszolgáló szubrutin, ugyanis egy, a SPECTRUM-ban levő eredeti software hiba az ilyen szubrutin aktivizálását eleve kizárja. Ennek következtében  folyamatirányítási feladatoknál, ahol az esetleges váratlanul bekövetkező eseményekbe való gyors és biztonságos reagálás képessége különösen nagy fontosságú lehet, a SPECTRUM alkalmazása eddig a legtöbb esetben szóba sem kerülhetett. A SPECCY-DOS modul alkalmazása kiküszöböli ezt a hiányosságot!
Ha a DOS engedélyezve van (lásd F3 függelék), és a processzor NMI vonalát aktiváljuk, akkor a következő program kerül végrehajtásra, miközben a DOS választódik ki:

PUSH AF
JP 2333H

Ily módon a vezérlés minden esetben a DOS RAM 2333H címére (9011D) kerül, ahol tetszőleges interrupt kiszolgáló szubrutin helyezhető el, az adott feladatnak megfelelően.
Az NMI alkalmazásának egyik példája a gép pillanatnyi állapotának elmentése diszkre, később előhívható módon. Ezt valósítja meg a demo-diszken található "MAGIC" vagy "MAGIC2"nevű program. A program önmagyarázó, ezért itt csak röviden ismertetjük a használatával kapcsolatos tudnivalókat. A "MAGIC2" nagyobb tudású, és az alábbiak a "MAGIC2" használatára vonatkoznak.
A "MAGIC2" program arra szolgál, hogy eredetileg kazettára készült programokat gyors és kényelmes módon "diszkesíthetjük". Ha a program SAVE ágának lefutása után egy programot (pld. Játékprogramot) kazettáról, vagy diszkről betöltünk és futtatjuk, majd pedig a program futásának bármely fázisában aktiváljuk az "NMI" feliratú gombot, a program a teljes memóriatartalommal együtt általunk file-névvel diszkre mentődik. Ezután ugyanez a folyamat játszódik le, mintha reseteltünk volna a gépet. Ha ezután az így keletkezett file-t a "MAGIC2" program LOAD ágának segítségével betöltjük, a program automatikusan attól a ponttól folytatja a futását, ahol az NMI gomb aktiválásakor tartott. Ha most aktiváljuk az NMI gombot, akkor a program újra betöltődik és futni kezd, azaz ily módon egy, az autoboot-hoz hasonló lehetőséghez jutunk, mivel mindaddig, amíg vagy ki nem kapcsoljuk a gépet, vagy újra be nem hívjuk a "MAGIC2" programot, az NMI gomb aktiválásakor a legutoljára kiválasztott program kezd futni. Ez az állapot, még RESET hatására sem szűnik meg.
A programok ilyen módon való diszkesítésének minimális hátránya, hogy a keletkezett file mérete (49178 byte) esetleg szükségtelenül nagy lesz, de vessük össze ezt a hátrányt azzal az esetenként akár több napos munkával, amit egy-egy bonyolult, többszörös védelemmel ellátott program más módon történő diszkesítése jelent.
Az ily módon rögzített file normál DOS paranccsal nem futtatható, hanem csak a "MAGIC2" program LOAD ága segítségével. Ekkor viszont minden esetben be kéne gépelni a file-nevet, azaz az ilyen program nem volna más program által futtatható. Ezt a problémát oldja meg a "MAGIC2" harmadik szolgáltatása, az automatikus loader generálás. Ennek segítségével az NMI-vel rögzített programokhoz olyan loadert készíthetünk, amely már normál DOS paranccsal futtatható, tehát pl. menüből hívható. A loader a RUN * . CODE parancs alkalmazásával bármely drive-ról betölthető, a loader által betöltött file-nak azonban az alapdrive-ban kell lennie; teljesen hasonlóan, mint BASIC loaderek esetében. Az egyértelműség kedvéért külön hangsúlyozzuk, hogy minden egyes NMI-vel rögzített file-hoz saját, külön loader szükséges, ha a más program általi futtathatóság igénye felmerül.
Végül néhány megjegyzés az NMI használatával kapcsolatban:

  1. A "MAGIC2" program SAVE és LOAD ágának használata esetén a szokásos DOS hibajelzések nem működnek, és ugyanez vonatkozik az automatikus loaderrel történő futtatásra is. Ezért, ha a fenti esetekben azt tapasztaljuk, hogy valami nincs rendben, a DOS hibajelzések nem adnak segítséget a hiba okának megkeresésében. Ilyen esetekben a legcélszerűbb módszer a hibás művelet utánzása DOS parancs segítségével; azaz pl. SAVE esetén
    SAVE * "fn" CODE 16358,49178
    parancs kiadása; ekkor már működnek a DOS hibajelzések, és a hiba oka gyorsan kiderül (pl. nincs elég hely a diszken).
  2. Fontos tudunk, hogy az NMI módszerrel elvileg sem az összes program diszkesíthető, jóllehet az ilyen programok száma rendkívül csekély.
  3. Előfordulhat, hogy egy program NMI-vel való diszkesítése nem sikerül az első kísérletre, és a program betöltése után RESET-het hasonló jelenséget látunk a képernyőn. Ilyen esetekben próbálkozzunk többször. Ha sikerült egy sikeres felvételt készítenünk, akkor az már korlátlan számúszor  futtatható lesz.
  4. Ha olyan programmal van dolgunk, amely az eredeti képernyőt soha többé nem állítja vissza, és mégis azt szeretnénk, hogy ez a képernyőtartalom diszkesítés után is megmaradjon, kövessük az alábbi módszert:
    a. Készítsük elő a gépet felvételre (MAGIC2 - SAVE)
    b. Indítsuk el a felvenni kívánt program betöltését diszkről
    c. a betöltés közben aktiváljuk az NMI gombot és tartsuk így a betöltés befejeztéig. Ekkor a program diszkre mentődik.
    Ez a módszer csak akkor használható, ha a program már eredetileg is diszken van.A módszer eredményessége nem garantált.
  5. A processzor NMI vonala a SPECTRUM buszcsatlakozójának A14 pontján hozzáférhető, vagy a DOS modulon levő kapcsolóval aktiválható.
  6. Egyes régebbi kiadású modulokon NMI gombként konduktív szenzorkapcsolókat alkalmaztunk. Egyes esetekben, főleg száraz bőrű személyek esetén előfordulhat, hogy a gomb nem mindjárt az első érintésre működik. Ilyenkor enyhén nedvesítsük meg az ujjunkat, és a szenzor működni fog.
    Ugyanez vonatkozik a RESET gombra is azokban a modulokban, ahol a RESET gomb szenzoros megoldású.

F5. Függelék: CLEAR felfelé

Normál esetben a SPECTRUM BASIC "CLEAR N" utasítása arra szolgál, hogy felhasználói programok szabad, védett memóriaterületet foglaljanak le, leggyakrabban gépi kódú alprogramjaik számára. Ebből következik, hogy ilyen esetekben a CLEAR utasítás argumentuma a gép alapállapotához képest a csökkenő memóriacímek irányába mutat. (lefelé CLEAR) Bizonyos programok azonban felfelé történő CLEAR-rel kezdődnek, és ez a SPECCY-DOS jelenléte esetén  korlátokba ütközik. A SPECCY-DOS jelenléte esetén a felfelé történő CLEAR maximális értéke: 65510.
Ennél magasabb CLEAR argumentum megadása esetén a gép előre meg nem jósolható állapotba kerülhet, azaz "elszállhat". Ennek oka a következő: A SPECCY-DOS a parancsok kiértékelése során többek között a BASIC ROM-ban levő szubrutinokat használja. Ez csak úgy lehetséges, ha a DOS és a megfelelő BASIC szubrutin közötti kölcsönös vezérlésátadás a BASIC RAM-on keresztül történik, annak egy rövid, kb. 30 byte-nyi területén. Felfelé történő CLEAR esetén a gépi stack is felfelé mozdul el, és ha átfedésbe kerül az említett transzfer területtel, a stack felülíródik, ami a gép elszállását okozza. (Normál esetben az említett terület tartalma s szubrutin hívását követően visszaállítódik.)
A felfelé történő CLEAR-t tartalmazó programok SPECCY-DOS-ra konvertálása vagy egyedi módszerekkel, vagy pedig az F4 függelékben részletezett NMI segítségével történhet.

F6. Függelék: Drive kábelek

A csatlakozó elhelyezkedése a különböző miniflopy drive-okon többé-kevésbé szabványos, és az F6-1 ábrán látható.

 

Az ábrán a SOECCY-DOS modul csatlakozójának elhelyezését is feltüntettük, használati helyzetben. A SPECCY-DOS hoz tartozékként vásárolható drive kábelbármilyen  csatlakozó-elhelyezésű drive-hoz használható, a rajta elhelyezett csatlakozók felszerelésekor azonban az ábra szerinti csatlakozó-elhelyezést tételeztük fel. Ennek megfelelően , attól függően, hogy a felhasználó a SPECTRUM-tól jobbra, vagy balra helyezi-e el a drive-okat, kétféle kábel kerül forgalomba, amelyeket a rövidség kedvéért "jobbos", ill. "balos" kábelnek nevezünk. Ezeket a kábeleket, és az elnevezésnek megfelelő felhelyezésüket az F6-2 ábra mutatja.

Megjegyezzük, hogy jobbos kábel is használható bal oldalon elhelyezett drive-okhoz, és vice versa. Ez esetben pl. "balos kábel jobb oldali drive-hoz" c. esetben az F6-3ábra szerint kell a kábelt felhelyeznünk.


F6-3 ábra

Ha problémánk támad valamely kábel felhelyezésekor, akkor a következő, mindenkor érvényes szabály lehet segítségünkre: A kábelt úgy kell felhelyezni, hogy a DOS modul és a DRIVE csatlakozó azonos sorszámú pontjai kerüljenek kontaktusba. A kábelen levő csatlakozón levő számok nem mérvadóak.

F7. Függelék: A SPECCY-DOS és az INTERFACE-1 együttes használata

Jóllehet a témát az F3 függelékben már érintettük, most részletesen foglalkozunk a SPECCY-DOS és az INTERFACE-1 együttes használata esetén felmerülő kérdésekkel.

FONTOS!
Az itt közölt információk elsősorban az INTERFACE-1 tulajdonosok tájékoztatására szolgálnak.

Az INTERFACE-1 (továbbiakban: IF-1) és a SPECCY-DOS (továbbiakban: DOS) tökéletes kompatibilitásáról akkor beszélhetnénk, ha egyidejűleg, minden egyéb kisegítő művelet nélkül mindkét modul teljes parancskészlete végrehatható lenne. Könnyen belátható, hogy ez nem lehetséges, hiszen a két modul parancskészlete igen kis mértékben ugyan, de átfedi egymást (Pl. a LOAD * "b" parancs mindkét rendszerben értelmezett.) A következőkben látni fogjuk, hogy a fenti értelemben vett tökéletes kompatibilitás igen jó mértékben megközelíthető. Az IF-1 és a DOS együttes használatának három lehetséges esetét különböztetjük meg:

  1. A SPECTRUM-ra először a módosítatlan IF1-et csatlakoztatjuk, majd erre a SPECCY-DOS modult
    Ez az elrendezés mechanikai szempontból kiváló, azonban a használat figyelembe kell vennünk a következő korlátozásokat:
    - Minden IF-1 művelet végrehajtásakor a DOS-t kikapcsolt állapotban kell tartanunk (POKE 15169,64)
    - Ha a DOS bekapcsolt állapotban van, és szintaktikai hibát vétünk bármilyen (BASIC, DOS, vagy IF-1) parancs begépelésekor, a rendszer elszáll. Másszóval a DOS-t lehetőleg állandóan kikapcsolt állapotban kell tartani, eltekintve a DOS parancsok kiadásától, amikor viszont nincs szintaktikai hiba elleni védelem. A DOS hibajelzések esetén az "elszállás" nem jelentkezik.
    A fenti korlátozások betartása igen kényelmetlen lehet, ezek betartása esetén azonban a rendszer megbízhatóan működik.

  2. A SPECTRUM-ra először a DOS modult csatlakoztatjuk, majd erre a módosítatlan IF-1-et
    Ebben az esetben megszűnnek mindazok a kellemetlen korlátozások, amelyeket az 1. esetben láttunk, és csak az alábbi, és nyilvánvalóan szükséges "korlátozás" marad:
    Olyan IF-1 parancsoknál, amelyeket a DOS is értelmez, a DOS-t előzetesen ki kell kapcsolni (POKE 15169,64). Ha ezt nem tesszük, akkor a megfelelő DOS parancs hajtódik végre. Ilyen parancs  például a már említett LOAD  * "b", amelyet mindkét interface értelmez.
       LOAD * "b"
       ERROR 12: NO SUCH FILE
           (DOS hajtotta végre, sikertelenül)
       POKE 15169,64: LOAD * "b"    (IF-1 hajtja végre a parancsot)
    Hangsúlyozzuk, hogy csak az olyan IF-1 parancsoknál kell lekapcsolni a DOS-t, amelyek a DOS szintaktika szerint is hibátlanok. Ha pl. a fenti LOAD * "b"-t LOAD * "b";1 -re módosítjuk, ami a DOS szerint már hibás, akkor nem kell lekapcsolnunk a DOS-t, ls automatikusan az IF-1 hajtja végre a parancsot. Tekintettel a mindkét interface által elfogadott parancsok igen kis számára, ez a megoldás nagyon jól megközelíti a bevezetőben megfogalmazott "tökéletes kompatibilitás" fogalmát. Tetszőleges helyen és módon elkövethetünk szintaktikai hibát, "elszállás"-tól nem kell tartanunk.
    Az e pontban tárgyalt megoldás hátránya az, hogy az ily módon felszerelt rendszer mechanikai stabilitása rossz, különösen a "kis" SPECTRUM esetén, amely nem rendelkezik kihajtható lábakkal, mint a SPECTRUM+.

  3. A SPECTRUM-ra először a módosított IF-1-et csatlakoztatjuk, majd erre a SPECCY-DOS modult
    Ez a módszer az előző két rendszer előnyeit egyesíti, hátrányaik kiküszöbölésével, azaz kiváló mechanikai stabilitás mellett majdnem tökéletes kompatibilitást biztosít. Ennek ára azonban az, hogy "bele kell nyúlni" az IF-1-be, igazugyan, hogy csak egy átkötés erejéig. E módszer használatára ugyanazok a megállapítások vonatkoznak, amelyeket a 2. pontban ismertettünk. Az IF-1 és a DOS  tartós, együttes használata esetén feltétlenül ez t a módszert javasoljuk. Az átalakítást, amely semmilyen egyéb szempontból módosítja azIF-1 működését, az alábbiakban ismertetjük.

Az INTERFACE-1 módosítása
A módosítás célja, az, hogy a SPECTRUM ROMCS nevű jele (b25) az IF-1 bővítő buszcsatlakozóján hozzáférhető legyen. Erre a célra az eredetileg kihasználatlan a4 pozíciószámú jelvezetéket választottuk. A módosítás abból áll, hogy ezt a két vezetéket az IF-1-en belül összekötjük egymással.
A módosítás menete a következő: csavarjuk ki az IF-1 alján levő 5 db csavart, és vegyük le az IF-1 alját. Ekkor a NYÁK-ot a forrasztás felöli oldalról látjuk. Kössük össze vékony, szigetelt huzallal a NYÁK-on kiképzett csatlakozó mögött jól látható módon elhelyezkedő két forr-pont sor b25 és a4 pozíciószámú pontjait, amint azt az F7-2 ábra mutatja. A forrasztásnál vigyázzunk, nehogy zárlatot okozzunk a NYÁK-on. Szereljük vissza az IF-1 alját, és ezzel a módosítást be is fejeztük.

FONTOS FIGYELMEZTETÉS!
Olyan SPECTRUM-oknál, ahol valamilyen házi átalakítás miatt az a4 csatlakozópont más jel kivezetésére már használjuk, a fenti módszer nem alkalmazható, és az ilyen SPECTRUM-okhoz a SPECCY-DOS modul sem csatlakoztatható!

Az ismertetett három módszer közül, azok, előnyeik és hátrányaik mérlegelésével a felhasználó választhat.
Mivel e témakörhöz tartozik, itt említjük meg, hogy az IF-1 jelenléte esetén a DOS hibajelzéseket (lásd F1 függelék) az IF-1-től származó, a képernyő alján megjelenő "Program finished" jelzés kíséri.

F7. Függelék: Parancskészlet bővítés

A SPECCY-DOS meghagytuk a magunk számára azt a lehetőséget, hogy a jelenlegi 18 parancsból álló parancskészletet később kibővítsük. Az elképzelés szerint az új parancsokhoz tartozó kezelő rutinokat diszkről lehet majd betölteni, és ettől kezdve ezek a parancsok éppúgy lesznek használhatóak, mint a már meglévő DOS parancsok. Ennek megfelelően, ha bizonyos BASIC kulcsszavak mögé *-ot teszünk, a rendszer megkísérli végrehajtani a "DOS parancsot", mivel azonban a megfelelő végrehajtó rutin még nincs jelen, a program elszáll. (Pl. CLEAR *, PRINT *)
Ezért óvakodjunk attól, hogy *-ot írjunk olyan BASIC kulcsszavak mögé, ahova az a jelen Felhasználói kézikönyv szerint nem való!

Vissza