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!

  1. Csatlakoztassa a C64-es perifériákat egymáshoz a megszokott módon.
  2. Dugja be az illesztőkábelt TUCHEL (kerek formájú) csatlakozóval ellátott végét a periféria-lánc első elemébe.
  3. Az illesztőkábel másik végén lévő kisebb (téglalap alakú) csatlakozóját az Enterprise hátulján lévő SERIAL/NET feliratú, a szélesebbet a PRINTER feliratú aljzatba csatlakoztassa, ügyelve arra, hogy a csatlakozón lévő hosszanti bemélyedés felfelé álljon.
  4. Kapcsolja be az összes perifériát.
  5. Kapcsolja be a számítógépet.
  6. Töltse be az operációs rendszert a kazettáról.
    BASIC-ből:
       LOAD "CBM.EXT" <ENTER>
    vagy
       START <ENTER>
    vagy
       <F1>
    A szövegszerkesztőből:
       <F1> <ENTER>
  7. Az operációs rendszer a betöltése után egy periféria inicializálást hajt végre. Ennek jele, hogy a meghajtók beindulnak, rövid ideig a piros led világít, illetve a nyomtatók fejei alaphelyzetbe állítódnak. (Figyelem! A rendszerben lévő összes perifériának bekapcsolt állapotban kell lennie, különben a számítógép nem tudja végrehajtani az inicializálást!)
    (A 2.0-ás verzió bugos egy kicsit. A leírással ellentétben nem inicializálja a CBM buszt betöltődés után, ezért egy melegindítás kell neki, akkor inicializálódik, ezután már működik!)

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:

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!