Periféria ismertető: MICROTEAM floppy illesztő

5 csillagos Cikk értékelése: 5,00 (11 szavazatból)

Gyártó: ismeretlen
Kiadás: 1987
Eredeti ár: nincs adat

A Sinclair ZX Spectrum típusú számítógéphez csatlakoztatott MICROTEAM Floppy Interface a következő feladatokat látja el:
  • maximum 4 db bármilyen típusú (szabványos) floppy drive vezérlése (négy különböző típusú drive is lehet),
  • centronics nyomtató interface,
  • 2 db (3 db) RS232C szabványú interface különböző perifériák számára (a perifériák működhetnek egyszerre és akár különböző "Baud rate"-tel is),
  • helyi hálózat kialakítása (Sinclair Local Network, pontosan úgy, mint a ZX Interface-1-nél),
  • kommunikációs lánc kialakitása a C64 számitógéphez hozzákapcsolható valamennyi perifériával,
  • CP/M operációs rendszer megvalósítása.

A felsorolt lehetőségek eléréséhez szükséges software eszköz a MICROTEAM DOS (Disk Operating System), amely teljes kompatibilitást biztosít minden a ZX Spectrum eredeti operációs rendszeréhez igazodó már létező magnós és microdrive-os programmal. Ezen felül új utasításokkal még kényelmesebben kezelhetővé teszi a gépet. A Floppy Interface segítségével a Spectrum felhasználhatósága számottevően kibővül, például alkalmassá válik többezer olyan program futtatására is, amelyet a CP/M operációs rendszer alatt más számítógépekre írtak. A tárolás eszköze a floppy disk, amely a drive típusától függően lemezenként, akár több mint 1 Megabyte tárolására is alkalmas lehet. Bekapcsolás után a SINCLAIR copyright felirat feletti sorban megjelenik a Floppy Interface bejelentkező üzenete is. Ekkor helyezzük az 1. számú meghajtóba a rendszerlemezt,
majd írjuk be a következő parancsot:

LOAD ©

A rendszerprogram (DOS) betöltése érintetlenül hagyja a teljes felhasználói memória területet, tehát nem törli az esetleg már beírt programot vagy változókat, csak a képernyőt törli. A betöltés után a DOS bejelentkezik és kiírja saját verziószámát. Ekkor meg kell adnunk az aktuális dátumot, mert a rendszer minden file felírásakor, módosításakor és másolásakor ezt a dátumot is megfelelően feljegyzi. Először az évet, majd a hónapot, végül a napot kell beírni. Az aktuális dátum megadása után az OK üzenet jelenik meg és a DOS átadja a felhasználónak a vezérlést.

LOAD, SAVE, VERIFY és MERGE
A tárolást kezelő utasítások teljesen megegyeznek a szokásos magnós és microdrive-os utasításokkal, mégpedig úgy, hogy ezen utasítások mindegyike értelemszerűen a lemezegységekre vonatkozik. A kompatibilitás miatt itt is értelmezve van a LOAD "" és a LOAD "" CODE utasítás, ami a lemez directory-jában soron következő, megfelelő típusú file-t tölti a számítógépbe.

File-ok törlése
File-okat a következő utasítással törölhetünk:
ERASE "m";n;"név" (A 3.00 verzió előtt ERASE n;"név")

Ez a művelet igen gyors, hiszen csak azt törli le a rendszer a lemezről, hogy mi volt a file neve és, hogy hol tárolta. A valóságban nem törli le a file-t, csak újra írhatóvá teszi a számára lefoglalt területeket. (A DOS utasitások elválasztó jele lehet akár a vessző, akár a pontosvessző.)

Lemezkatalógus
Ahhoz, hogy megtudjuk milyen file-ok vannak a lemezen, elég egy CAT utasítás, melynek lehetséges formái: CAT vagy CAT n vagy CAT #x,n ahol az n jelenti a drive számát. Ha az n=0, akkor a magnó kerül kiválasztásra, ilyenkor nem készül katalógus. Ha az n 1, 2, 3 vagy 4 akkor az egyes, kettes, hármas vagy négyes meghajtóban lévő lemezről kapunk katalógust. Ez tartalmazza a lemez nevét, az aktuális dátumot, a szabad blokkok számát, a lemezazonosítót (amit a továbbiakban ID-nek nevezünk). Ezt követően egymás alatti sorokban kiíródik a lemezen található file-ok típusa, neve, tárolási mérete és az utolsó módosítás dátuma. Abban az esetben, ha elhagyjuk a drive számot, akkor arról a drive-ról kapunk katalógust, amelyiket utoljára kijelöltük. Azt, hogy melyik meghajtó van éppen kiválasztva, a drive-on található kis piros LED jelzi. Ha egyik sem világít, az azt jelenti, hogy a magnót jelöltük ki utoljára. Módunkban áll a katalógust más, általunk kiválasztott csatornára átirányítani. Ebben az esetben a drive-szám előtt meg kell adni a csatornaszámot (lásd a harmadik formátumot ahol x a csatornaszám). A Spectrum rendszerében például a 3-as számú csatorna a nyomtatóhoz van hozzárendelve, amit a számítógép a bekapcsolás után azonnal megnyit. (A CAT #3,1 az egyes számú meghajtóban található lemez katalógusát kiírja a nyomtatóra.)

Lemezek formattálása
Miután a rendszerben többféle, eltérő típusú lemez formattálása is szükségessé válhat, ezért e célra a SYSTEM UTILITY (SUTL) program használható. A Spectrum BASIC-ben található FORMAT kulcsszó lemezek formattálására nem alkalmas.

A DOS különleges szolgáltatásai A rendszer letiltása
Bizonyos esetekben szükség lehet a DOS kikapcsolására. Ezt a normál BASIC-ben ismert OUT utasítással érhetjük el. Formája: OUT 149,255
A fenti utasítás végrehajtása után a Spectrum magnó üzemmódba vált és elfelejtkezik a DOS-ról. Ha újra aktivizálni akarjuk a rendszert, akkor két parancsra van szükség.
- Először: OUT 181,98 (OUT 181,242) amely újra bekapcsolja a DOS-t,
- másodszor (és ez csak abban az esetben szükséges, ha nem ún. drive-szelektív utasítás következik, vagyis olyan utasítás, amelyben a drive-szám is szerepel)
OUT 149,n ahol n a meghajtó száma. Lehetséges értékei 0, 1, 2, 4 és 8. A nulla a magnót, míg a többi érték rendre az egyes, kettes, hármas és négyes meghajtót jelöli ki aktuálisnak. Ez utóbbi utasítás segítségével a DOS-alatt bármikor "drive-ot válthatunk".

Z$, a memóriában nyitott file
Ha a lemezen lévő adatainkkal szeretnénk manipulálni vagy információt akarunk kapni a lemezről, akkor ezt egyszerűen megtehetjük a DOS segítségével. Nézzük a következő rövid programot!

10 OPEN #5;"z"
20 LET z$=""
30 CAT #5;1
40 CLOSE #5
50 PRINT z$

Futtatva a programot, egy normális katalógust láthatunk az egyes jelű drive-ról a képernyőn, vagyis a z$ nevű stringváltozó tartalmazza a lemezkatalógust. A 20. sorban lévő értékadás szükséges, azonban z$ értéke tetszőleges string lehet. Megfelelően kiszámolva a karaktereket, megtudhatjuk a lemez nevét, a szabad blokkok számát, a file-ok neveit vagy akár az aktuális dátumot. Nem szükséges mindig törölni a stringet, ilyenkor z$ pillanatnyi értékéhez adódik hozzá az újabb katalógus. Ez lehetőséget ad arra, hogy összehasonlítsuk több lemez tartalmát, esetleg saját katalóguslapot tervezzünk. A memóriában megnyitott file csatornájának azonositója kötelezően "z", a hozzárendelt változó neve pedig kötelezően z$.

Közvetlen lemez (blokk) kezelés
Jogos igény, a lemez jellegéből fakadóan, hogy ne csak soros adatkezelésre legyen lehetőségünk. A Floppy rendszer ezt az óhajt is kielégíti. Írjuk be és futtasuk a következő programot egy formattált, de üres lemezzel:

10 LET a=512
20 DIM y$(a)
30 FOR i=1 TO a
40 LET y$(i)="*"
50 NEXT i
60 OUT *1,12
70 DIM y$(a)
80 IN *1,12
90 PRINT y$

A következőket tapasztaljuk: a program kétszer a lemezhez fordul majd a képernyőre kiír 512 darab csillagot. Vizsgáljuk meg a programunkat.
A 10. sor egy értékadás, melyben az 512 a DOS blokk mérete.
A 20. sor létrehoz egy, az a nevű változóval meghatározott méretű (512 Byte-os) y$ nevű stringtömböt.
A 30.-50. sorok feltöltik az y$-t csillagokkal.
A 60. sor egy szokatlan utasitást tartalmaz, melynek jelentése: mentsd ki az y$ tartalmát az 1-es számu meghajtóban lévő lemez 12. számu blokkjába!
A 70. sor újra dimenzionálja az y$-t, tehát törli is.
A 80. sor szintén egy új utasitást mutat be. Jelentése: töltsd be az y$-ba az 1. számu meghajtóban levő lemez 12. blokkjának tartalmát!
A 90. sor csak egy egyszerű kiiratás.

A közvetlen lemezkezelés két fontos szabálya
- dimenzionálni kell egy 512 Byte méretű, kötelezően y$ nevű stringtömböt,
- a 0. lemezblokkot csak olvasni lehet, írását a DOS nem engedélyezi, mert ez tartalmazza a lemez legfontosabb adatait. (Disk Controll Block).

Figyelmeztetések
- A nullás címre ugrás?(pl.:RANDOMIZE USR 0) alaphelyzetbe állítja a Spectrumot. Ilyenkor a DOS is törlődik. Ezt elkerülendő használjuk a CLEAR és a NEW utasításokat, mert ezek a DOS-t nem "háborgatják".
- a 23728-as rendszerváltozó foglalt. Ne változtassuk meg az értékét. (Ezt a rendszerváltozót az Interface-1 is használja.)
- A BASIC program általában ugyanott található, ahol "magnós" üzemmódban lenni szokott, de csatorna nyitások alkalmával feljebb csúszik.


Kapcsolódó dokumentumok
Sajnos jelenleg semmilyen dokumentummal nem rendelkezünk ehhez a hardverhez.

Publikálás a portálon: 2003-10-17 11:45:25