CBM Multi File Transfer
Szeretnénk segítséget nyújtani Önnek az Enterprise számítógép lehetőségeinek jobb kihasználásához!
Az Ön által vásárolt software és hardware kiegészítő segítségével bármilyen, a Commodore 64-es számítógép soros vonalára csatlakoztatható perifériát, az Enterprise is kezelni tudja. Tehát lehetősége van a Commodore flopy drive-ok, printerek használatára. A C64-es lemezeket minden további nélkül olvashatja, írhatja. Az Enterprise által létrehozott adatformátum a Commodore 64-es formátumával kompatibilis. Természetesen ez nem jelenti azt, hogy a C64-es programjai futtathatókká válnak az Enterprise-on, csak annyit, hogy a C64-gyel lemezre rögzített adatokat az Enterprise is el tudja olvasni, és viszont.
A rendszer üzembe állítása
Figyelem!! A számítógépet és a perifériákat csak kikapcsolt állapotban szabad csatlakoztatni!
A rendszer üzemkész. Gépelje be a
:HELP <ENTER>
válaszul a kiírt szövegek között az első helyen a
CBM serial driver v2.0
szöveg jelzi a rendszer működőképes állapotát. A V2.0 a kezelő program verziószáma. Az egyes verziók egymással felülről kompatibilisek, tehát a 2.0-ás verzió mindazt tudja, és pontosan úgy, mint az 1.9-es, de a magasabb verziószámok mindig valamilyen javítást, plusz szolgáltatást tartalmaznak. Jelen esetben ez egy plusz parancs: a DIO parancs. Lásd később. A
:HELP CBM <ENTER>
parancs hatására a program készítő cég neve, és az adott verzió elkészültének ideje is megjelenik.
Nézzük végig az alap (1.0-ás) verzió lehetőségeit:
Ez a program beláncol egy CBMx: - az x 4 és 255 közötti egész szám - nevű eszközt az alaprendszerbe. A C64-es perifériákra úgy lehet hivatkozni, hogy az x helyére a periféria számát kell írni. Például (a példákban megadott parancsok mindig a BASIC operációs rendszer szintaktikáját követik!) legyen a feladat egy BASIC program kimentése a 8-as floppy meghajtóra PROBA.BAS néven. Az utasítás a következő:
SAVE "CBM8:PROBA.BAS"
A válasz: OK
Most ellenőrizzük le, hogy a mentés sikeres volt-e:
VERIFY "cbm8:proba.bas"
A válasz: OK
Mint látható, egy eszköznévnél, és a file-névnél is mindegy, hogy kis- vagy nagybetűvel, esetleg keverve írjuk, mert a rendszer mindig nagybetűvé alakítja mind a kettőt. Ha most kiadjuk a
:$
parancsot, akkor az utoljára használt meghajtóban levő lemez katalógusa íródik a képernyőre. Látható, hogy az előbb kimentett fájl típusa (SEQ) szekvenciális. Mi a teendő, ha más típusú file-t akarunk létrehozni? Mielőtt erre a kérdésre választ adnánk, fel kell hívnunk a figyelmet arra, hogy az ENTERPRISE szempontjából a fájl típusa teljesen mindegy, csak az adatok esetleges C64-en történő felhasználása miatt válhat fontossá! Az előző kérdésre a válasz igen egyszerű, de csak az 1.5-ös, vagy annál magasabb verziószámú CBM serial driver programok adnak erre lehetőséget. Létezik egy változó, amely segítségével ez beállítható.
Nézzük tehát, melyik változó mire szolgál:
Az első változó betöltés utáni értéke 200. Ez azért fontos, mert az értéke egyben az ENTERPRISE változó száma is. Ez az un. Bázis változó, a továbbiakban BV. Gépeljük be az
ASK 200 a <ENTER>
PRINT a <ENTER>
parancsokat, és a PRINT hatására megjelenik a 200. Most írjuk be a
SET 200,100
parancsot, majd próbáljuk meg újra az
ASK 200 a <ENTER>
parancsot a rendszer válasza
*** Unknown EXOS variable number
lesz. Most a 200 helyére 100-at írva a PRINT a hatására a képernyőn megjelenik a 100. Állítsuk vissza a 200-as értékre.
SET 100,200
Az áthelyezésre csak akkor lehet szükségünk, ha valamilyen más rendszerbővítésünk szintén használja a 200, 201, 202, 203, 204 vagy 205-ös változót.
Tehát most és alaphelyzetben a BV értéke 200. A többi változó a BV+1, BV+2, BV+3, BV+4 és a BV+5.
A BV+1 (most 201), a C64-es ST változójának (a perifériális egységek mindenkori állapotát jelzi) felel meg. Csak olvasható. Értékének elállítása nem javasolt, hibákhoz vezethet.
A BV+2 (most 202)-es változó a printer másodlagos cím. Ezt az értéket a printerek a karakterkészlet kiválasztására szokták használni, a bővebb leírás az adott printer leírásában található. Alaphelyzetben az értéke 7, ez a CBM 801-es printernél a kis- és nagybetűs üzemmód (a kis- és nagybetűk pont fordítva vannak mint az ENTERPRISE-nál).
A BV+3 (most 203), az utoljára használt eszköz száma. Beállítható 4 és 255 között bármilyen értékre. Az értéke minden CBMx:-re történő hivatkozásnál x értékét veszi fel. Az érték beállításának az 1.7-nél alacsonyabb verziószámoknál csak a $ - lemez katalógus kérés - parancsnál van jelentősége, mert az itt lévő értékkel megegyező számú eszköztől kér katalógust. Természetesen a printertől való katalógus kérés hibát fog okozni!
Az 1.7-es, vagy magasabb verziószámoknál engedélyezett az utoljára használt perifériához, vagyis a BV+3-mal megegyező számúhoz való hozzáférés a CBM: eszköznév hivatkozással.
A BV+4 (most 204), a fájl típus változó. Értéke
0 - alapállapot - minden fájl típus olvasása, szekvenciális fájl írása.
80 ("P") - program típusú fájl olvasása, írása
82 ("R") - relatív típusú fájl olvasása, írása
83 ("S") - szekvenciális típusú fájl olvasása, írása
85 ("U") - user típusú fájl olvasása, írása
A felsoroltaktól eltérő érték beállítása hibához vezet.
A BV+5 változóra a CBM Serial Driver-nek van szüksége, értéke a felhasználónak érdektelen, értékét ne állítsuk el!
A C64-hez való drive-ok hiba és parancscsatornájának használata
A
:@
(német gépeken :ü)
parancs segítségével lehet az utoljára használt (ill. a BV+3 szerinti) drive hibacsatornáját olvasni. Erre akkor van szükség, ha a drive világítódiódája (led) hibát jelez (a VC1541-nél a piros led villog), ekkor a képernyőre íródik a hiba, és a hibajelzés megszűnik.
A
:@ vezérlőkarakterek
parancs segítségével lehet a drive-ok (15-ös) parancscsatornájára írni. A parancsokról bővebbet az adott drive leírásában találhat, a VIC 1541-es lemezegység által értelmezett parancsokat alább áttekintjük. Figyelem! A "vezérlőkarakterek"-nél lényeges, hogy kis- vagy nagybetűvel írta-e őket. A parancsokat általában nagybetűvel kell írni. Pl:
:@ I - drive inicializálás,
:@ N: lemeznev,id - lemez formázás.
A 2.0-és verzió tartalmaz egy új parancsot is. Ez a
DIO eszköznév-eszközszám
Ennek a parancsnak a segítségével beállíthatjuk az ún. alapeszközt. Ez azt jelenti, hogy ha például kiadjuk a
:DIO CBM8
parancsot (az eszköznév után nem kell kettőspont!), akkor minden háttértár hivatkozás ezentúl a 8-as számú C64-es perifériára vonatkozik, természetesen csak az első RESET-it. Tehát a leírás elején szereplő példa, a BASIC fájl kimentésére, és a mentés ellenőrzésére a következőképpen egyszerűsödik:
:DIO cbm8
SAVE "PROBA.BAS"
VERIFY "PROBA.BAS"
Ilyenkor a kazettás magnót csak úgy lehet elérni, ha a fájl név elé odaírja a TAPE: eszköznevet is. Az alapállapot a
:DIO TAPE
utasítással állítható vissza.
CBM DOS paranccsok
A CBM DOS a 15. csatornáját hiba- vagy parancs csatornának hívjuk. Ezen keresztül adhatunk parancsokat a DOS-nak, illetve kaphatunk információt a lemezegység állapotáról (@ parancs). Ha a lemezegység hibát észlel, azt az előlapon látható piros lámpa kigyulladása jelzi (a VIC 1541-es lemezegység esetén a piros lámpa ilyenkor villog). A :@ <vezérlőkarakterek> parancs a
OPEN 15,8,15
PRINT#15,"<vezérlőkarakterek>"
CLOSE 15
parancsokkal egyenértékű (8 a lemezegység száma), ahol a kiadható parancsok (vezérlőkarakterek):
Lemezek formázása
Valahányszor egy új, még eddig nem használt lemezt akarunk használni, a lemezt először formázni kell. A DOS ilyenkor elhelyezi a megfelelő szinkronizációs jeleket, felírja az üres katalógust stb. Az utasítás alakja:
NEW0:disknév,id
vagy rövidítve:
N0:disknév,id
ahol a '0' a meghajtó sorszáma (8-9), vagy nulla az utoljára kiválasztott meghajtó. Hiányában a művelet az utoljára kiválasztott meghajtóra vonatkozik. Egy meghajtós rendszerben minden parancsnál mindig elhagyható. A <disknév> karaktersorozat a lemez neve lesz. A <disknév> csak a katalógusba kerül beírásra, míg az <id> pontosan két karakteres azonosító valamennyi blokkba. Ha két kiíró utasítás között kicseréljük a lemezt, a DOS érzékeli, hogy új <id> azonosítójú lemezzel dolgozik és hibát jelez.
A fenti utasítás
NEW0:disknév
alakja csak a katalógust törli, de nem formázza újra a lemezt, és csak a nevet változtatja meg. A NEW parancs - ez utóbbi alakban - természetesen használt lemezekre is kiadható, de ebben az esetben is a rajta levő információ teljes egészében elvész.
A meghajtó inicializálása
Elsősorban DOS rendszerhiba, vagy BASIC programhiba után előfordulhat, hogy a lemezegység pufferében tárolt BAM nem egyezik meg a lemezen levő BAM-mal. Ez meglevő file-ok felülírását eredményezheti. Ilyen esetben célszerű a lemezegységet (illetve annak valamelyik meghajtóját) inicializálni, melynek hatására a DOS lezárja a megnyitott file-okat és újra olvassa a BAM-ot.
INITIALIZE0
vagy rövidítve:
I0
A <0> hiányában mind a két meghajtót inicializálja a lemezegység.
File-ok törlése
Lehetőség van egy vagy több file törlésére. A törlés nem jelenti a fizikai törlést, csupán a katalógusban jelzi egy bit, hogy a szóban forgó file már nem létezik. Amikor legközelebb egy új file-t hozunk létre, az írja felül a lemez megfelelő részeit. Az utasítás alakja:
SCRATCH0:filenév
S0:filenév
A <filenév>-ben szereplő *, illetve ? karakterek jelentése speciális, azonos az EXDOS-ból ismertekkel.
A lemez újraszervezése
Ha egy lemezt már sokat használtunk, akkor az ugyanahhoz a file-hoz tartozó blokkok össze-vissza helyezkednek el a lemezen, és a DOS igen lassan tudja csak olvasni őket. Lehetnek a lemezen az OPEN utasítással megnyitott, de szabályosan le nem zárt file-ok is. A lemez rendbetételére a
VALIDATE0
V0
utasítást használhatjuk. Az utasítás hatására a DOS újraszervezi a <0> meghajtóban levő lemezen a file-okat, anélkül, hogy azok tartalmát megváltoztatná. A VALIDATE DOS-parancs törli a véletlen-file blokkjait, ezért olyan lemez esetén, amelyik tartalmaz véletlen-file-t is, semmiképp se használjuk.
File-ok átnevezése
Néha szükség lehet arra, hogy egy file-nak megváltoztassuk a nevét. Ezt a következő utasítással érhetjük el:
RENAME0:újnév=réginév
R0:újnév=réginév
File-ok másolása és összefűzése
Lehetőségünk van egy szekvenciális file másolatát ugyanazon a lemezen, de más név alatt létrehozni:
COPY0:újnév=0:réginév
C0:újnév=0:réginév
A COPY DOS-parancsot maximum négy file összetűzésére is használhatjuk. A COPY ebben az esetben csak szekvenciális file-okat tud összefűzni:
COPY0:újnév=0:réginév1,0:réginév2,0:réginév3,0:réginév4
Lemez másolása
Két lemezegység esetén lehetőség van az egyik meghajtóban levő lemez teljes másolására. Ezt a következő parancs kiadásával végezhetjük el:
DUPLICATE<d1>=<d2>
D<d1>=<d2>
Az utasítás hatására a <d2> meghajtóban levő lemez tartalma fizikailag teljes egészében átmásolódik a <d1> lemezre. A <d1> lemez korábbi tartalma teljes egészében elvész.
A kábel bekötése
C64 6 PIN DIN (DIN45322) Forrasztási oldal |
ENTERPRISE |
|
CBM 1 (SRQ) | - | |
CBM 2 (GND) | EP NET B1 GND | |
CBM 3 (ATN) | EP Printer B7 Data7 | |
CBM 4 (CLK) | EP NET A3,A4 Control Bus | |
CBM 5 (DATA) | EP NET B3,B4 Data Bus | |
CBM 6 (RESET) | EP Printer A2 Strobe |
További információt a programról az Enterprise Játék 128/1 c. könyvben olvashatunk!