MULTIFACE
A
perifériák királya? - tették fel sokan a kérdést néhány évvel ezelőtt, amikor
a ROMANTIC ROBOT UK. Ltd. megjelent a piacon "varázsdobozával".
Mit is tud valójában ez a készülék? Nos elsődleges és legfontosabb tulajdonsága
a teljesen univerzális és 100 százalékosan automatikus SAVE funkció, amelyet
nem csak magnetofonra tud végrehajtani, hanem microdrive-ra és a legfontosabb
lemezes perifériákat kezelő Interface-ekre is. Ezen túlmenően tervezői ellátták
KEMPSTON típusú joystick csatlakozóval, valamint helyet kapott a készülékben
8K szabadon kihasználható RAM memória is, amely teljesen hozzáférhető, és
a 128K Spectrum RAM disc-hez hasonlóan kezelhető.
Ha rendelkezünk ilyen készülékkel nem árt, ha megfogadunk néhány tanácsot,
ugyanis a készüléken elhelyezett áramköri elemek hamar meghibásodhatnak, s
az esetleges alkatrészcsere gondokat okozhat.
Először is, mielőtt a MULTIFACE-t a Spectrumra illesztjük, áramtalanítsuk
a számítógépet, mivel ellenkező esetben készülékünk tönkre mehet. Ha a készülék
illesztése megtörtént, a MULTIFACE kapcsolóját váltsuk 'ON' állásba, máskülönben
működésképtelen. Ha joysticket is akarunk használni, úgy annak dugóját is
csatlakoztassuk a MULTIFACE megfelelő aljzatába. Ha minden kész, bekapcsolhatjuk
a számítógépet. Sajnos a MULTIFACE több verziója látott napvilágot, sőt igen
sok "maszek" tákolmány is kifutott a felhasználók közé, ami nem
mindig garantálja a hibátlan inicializálást, ezért előfordulhat, hogy a rendszer
nem jelentkezik be. Próbáljuk megnyomni a MULTIFACE varázsgombját: Amennyiben
véletlen színkombinációkon kívül más nem jelenik meg a képernyőn, áramtalanítsunk,
húzzuk le a MULTIFACE-t az él-csatlakozóról, majd a bekapcsolási műveletet
kezdjük előröl. Ha a rendszer ismételten sem állna fel, még próbálkozhatunk
egy párszor, de előbb utóbb rá kell jönnünk, hogy a MULTIFACE javításra szorul,
keressük meg a legközelebbi szakembert problémánkkal.
A MULTIFACE funkciói
A MULTIFACE aktivizálásához először is meg kell nyomnunk
a varázsgombot, aminek hatására a legalsó sorban kis menü jelenik meg a képernyőn.
A funkció kiválasztásához meg kell nyomnunk a megfelelő billentyűt.
A következőkben tekintsük át a lehetséges funkciókat:
A MULTIFACE Interface kompatibilitása
Beta-Disk Interface
A MULTIFACE kompatibilis a Beta 4.0 vagy magasabb verziókkal. A MULTIFACE-t
a Spectrum és a Beta Interface közé kell elhelyezni. Ezen túlmenően szükséges
egy kis változtatása MULTIFACE belsejében. Ezt célszerű szakemberrel elvégeztetnünk,
de ha él bennünk a barkács-szellem, és vállaljuk a kockázatot, hogy biztosan
nem okozunk kárt készülékünkben akkor próbálkozhatunk az átalakítással. Ha a
műanyag doboz hátlapját eltávolítottuk, találunk egy kis vezeték ívet, közvetlenül
a joystick csatlakozó aljzat mellett. Ezt a vezetéket vágjuk át. Igaz, hogy
ezután a joystick interface működésképtelen lesz, de ez a kis műtét szükséges,
mert egyébként a Beta-Interface működésében állnak elő zavarok. Természetesen
a legcélszerűbb megoldás egy kapcsolót beépítenünk az átvágás helyére, így a
kapcsoló ON állásában működik a joystick Interface, OFF állásban pedig a Beta
Interface.
Microdrive
A MULTIFACE-t az Interface I mögé kell illesztenünk. A MULTIFACE kompatibilis
az Interface I. összes verziójával.
OPUS Discovery
A MULTIFACE-t a Spectrum és az Opus Discovery közé kell beiktatnunk. Figyelem!
Az Opus Discovery oldalán továbbmenő 'élcsatlakozó' a MULTIFACE-szel párhuzamosan
nem használható.
Magnetofon
A MULTIFACE bármikor képes minden megkötöttség nélkül programot kimenteni kazettás
magnetofonra. A kimentés a hagyományos vonalon történik. A kazettáról betöltött
program bármikor átmenthető egyéb háttértároló eszközre (pl. microdrive-ra).
Wafadrive
A MULTIFACE a Spectrum és a Wafadrive közé, vagy a Wafadrive mögé is csatlakoztatható.
A Wafadrive a MULTIFACE által automatikusan kiválasztott periféria, ezért vezérlése
is automatikusan történik. Némelyik Wafadrive modell nem teljesen kompatibilis
a MULTIFACE-szel, erről könnyen meggyőződhetünk, nézzük meg, hogy a Wafadrive
hátsó részén a jobb alsó sarokban elhelyezett RS-232 csatlakozó busz felső sávjához
milyen színű vezetékek csatlakoznak. Bíbor, vörös és fehér esetén a kompatibilitással
problémáink lesznek.
Kempston Disk Interface
Ha 128K Spectrumot használunk 48K módban, a menüben találunk még egy (k)emp
funkciót is, amely lehetővé teszi a Kempston Disk Interface aktivizálását. A
MULTIFACE-t a Spectrum 128K és a Kempston Disk Interface közé kell illeszteni.
Javaslatok a MULTIFACE felhasználásához
A MULTIFACE varázsgombját bármikor megnyomhatjuk, függetlenül
attól, hogy a program milyen típusa található a memóriában, vagy attól, hogy
begépelt programról, vagy betöltött programról van-e szó. A MULTIFACE a memóriatartalmat
tömörített RAM formában menti ki. A kimentés mindig 4 elkülönített részben valósul
meg:
- betöltő BASIC; - képernyő; - főkód; - műveleti kód
Minden program esetén rendelkezésünkre áll egy teljes törlési lehetőség is.
Hasznos, hogy a BREAK funkciót is aktivizálhatjuk bármelyik periféria működése
alatt. Ha hiba fordul elő, visszatérünk a menühöz. Sajnos különböző rendszerek
felhasználása különböző hibacsapdákat eredményezhet.
A Beta Disk Interface + Drive, valamint a Wafadrive kijelzi azoknak a file-oknak
a nevét, amelyeket már kimentettünk. Mindkét rendszer megengedi, hogy felülírjuk
az előzőleg kimentett file-t, vagy a file nevét átnevezzük.
Az Opus Discovery automatikusan felülírja az azonos néven előzőleg kimentett
file-t.
A három rendszer közül egyik sem kezdi el a kimentést, ha a kimentés kezdeti
pillanatában kevesebb hely áll rendelkezésre a háttértárolón, mint amekkora
a program tömörített formájának a hossza.
A microdrive hibaüzenetek pl. 'Microdrive not present', 'File already exists'
az ismert I/0 hibaüzeneteknek megfelelőek.
A MULTIFACE oldalán elhelyezett kapcsoló a MULTIFACE-t "láthatatlanná"
teszi. Ez megszünteti annak a lehetőségét, hogy a MULTIFACE "összegabalyodjon"
bármilyen software vagy hardware működésével. Ez akkor is hasznos lehet, ha
futtatni akarjuk a MULTIFACE-szel kimentett, de még a memóriában lévő programunkat,
mivel a mai programok többsége gyakran "befagy", a MULTIFACE aktív
állapota mellett. Sok játék nem is indul el, ha a MULTIFACE aktív állapotban
van, tehát induló játék esetében mindig legyen a MULTIFACE kikapcsolt állapotban.
Ilyen esetben - a bevezetőben leírtaktól eltérően - a kapcsolót csak akkor váltsuk
ON állásba, ha aktivizálni akarjuk a MULTIFACE 'RESET' gombot. Sajnos ezeknél
a "gubancos" programoknál nagyon nagy az esélye annak, hogy (r)eturn,
vagy (e)xit esetén "befagy" a rendszer. Ekkor nincs más hátra, újra
be kell tölteni.
A MULTIFACE programozása
A MULTIFACE 8K szabadon felhasználható RAM-mal rendelkezik, amely átmeneti pufferként alkalmazható, ezen túl a rendszer vezérlését egy 8K ROM (EPROM) végzi el.
A plusz 8K RAM-ot felhasználhatjuk saját gépi kódú rutinok (esetleg monitor/disassembler programok) tárolására, vagy egyéb adatok megőrzésére is. BASIC program itt nem tárolható.
A RAM aktivizálása előtt a memóriát lapoznunk kell. A lapozás csak gépi kódban oldható meg, a BASIC IN és OUT nem működik.
Az itt ismertetett blokk-mozgató rutin példát mutat a memória lapozására:
10 RESTORE
20 GO TO 50
30 LET H=INT (1/256 )
40 LET L=1-H * 256: RETURN
50 INPUT "Start cím:";i:GO SUB 30
60 LET SH=H: LET SL=L
70 INPUT "Cél cím:";i:GO SUB 30
80 LET CH=H: LET CL=L
90 INPUT "Blokk hossz:";i:GO SUB 30
100 LET BH=H: LET BL=L
110 FOR i=23296 TO 23313
120 READ a: POKE i,a: NEXT i
130 RANDOMIZE USR 23296
140 DATA 243,219,159,33,SL,SH
150 DATA 17,DL,DH,1,BL,BH
160 DATA 237,176,219,31,251,201
Most nézzünk egy példát a konkrét adatmozgatásra. Rajzoljunk
valamit tetszés szerint a képernyőre, és ezt mozgassuk át a MULTIFACE RAM területre.
Ha a képünk előállt, GO TO 1 (nem RUN!), ezt követően adjuk meg a bemenő paramétereknek
a következőket: Start cím: 16384; Cél cím: 8192; Blokk hossz: 6912.
Töröljük a képernyőt és futtassuk újra a programot (ha most RUN-nal indítjuk,
a törlést automatikusan elvégzi). írjunk startcímnek 8192-t, célcímnek 16384-et,
blokkhossznak 6912-t és a kép ismét megjelenik a képernyőn.
A plusz RAM természetesen ezen túlmenően számos lehetőséget biztosít nekünk.
A legcélszerűbb, ha ide töltünk assemblert, monitort, vagy egyéb toolkit-et.
A NEW nem törli a 8K RAM területet, és a tartalma mindaddig megőrződik, amíg
a MULTIFACE feszültség alatt van.
A 8K RAM tartalma közvetlenül nem menthető ki, azt először át kell mozgatnunk
a 5pectrum RAM szabad területére, s a kimentés onnan már elvégezhető.
A MULTIFACE operációs rendszere lehetővé teszi közvetlen ugrások végrehajtását
is a varázsgomb segítségével. A varázsgomb leállítja bármelyik program futását,
amelyik éppen a memóriában található. Alaphelyzetben ilyenkor a főmenü jelentkezik
be a képernyő alsó sorában. Ez a manipuláció kb. 2500 byte-ot használ fel a
8K RAM területből. A gép a BASIC-hez való visszatéréshez a 11743-11746 címeket
használja fel. Ehelyett természetesen saját visszatérő rutinokat is írhatunk,
pl. visszatérés előtt még írja ki nekünk a regiszterek aktuális állapotát, a
megszakítási státuszt, stb.
Az előbb említett direkt ugró rutin belépési címe a 8192/8193 címeken tárolódik.
A 8195/8196/8197 címek speciális azonosító kódot tartalmaznak. Ez RUN esetén
82/ 85/78 (decimális). A 8194. cím tartalma jelen esetben lényegtelen.
Bármikor, ha megnyomjuk a varázsgombot, a direkt ugrás a megadott címre történik,
és nem a MULTIFACE menü jelenik meg.
A MULTLFACE menübe úgy térhetünk vissza, hogy a varázsgombot és a BREAK billentyűt
egyidőben nyomjuk meg.
Normál módban a MULTIFACE használja a 8210-10753 címeket, mint puffert, kimentés
közben pedig a 8210-12722 terület is foglalt. Ilyen esetben az éppen ott lévő
adataink felülíródnak.
Egyéb disk rendszerek felhasználása
A MULTIFACE teljesen kompatibilis a Discovery és a Beta valamint
128K Spectrum esetén a Kempston Disk illesztőkkel, csak a menüben kell kijelölnünk
a megfelelő opciót.
Egyéb disk rendszerek is felhasználhatók, de ez esetben előbb ki kell menteni
a programunkat szalagra, majd el kell végezni a módosítást az új disk rendszerrel
való felhasználáshoz.
Ehhez szükséges két segédprogram, amelyek a mentő/töltő műveleteket végzik
el a disk-re.
KEMPSTON rendszer esetén, ha a (k)emp nem jelenik meg a menüben, előbb mentsük
ki a programot kazettára, áramtalanítsuk a gépet, csatoljuk szét a MULTIFACE
rendszert, illesszük a gépre a Kempston Interface-t, kössük rá a disk-et,
majd futtassuk a következő programot:
10 CLEAR VAL "24751"
20 LOAD"" CODE: PRINT# 4: SAVE "3" CODE VAL "24752",x
30 LOAD"" CODE: PRINT#4: SAVE "2" CODE VAL "16384",y
40 LOAD"" CODE VAL "16464": PRINT#4: SAVE "1" CODE VAL "16464",VAL "1906"
Az x változó értéke a 20. sorban a főkód hossza, maximum
40783 byte. Az y változó értéke a 30. sorban a képernyő hossza, maximum 6912
byte. Mindkét blokk tömörített és fejléc nélküli. A 3. blokk mindig 1906 byte
hosszú. BASIC program esetén az eljárás ismert.
Más rendszerek esetén a PRINT#4 utasítások helyett a megfelelő csatorna adatot
kell beállítani.
A Disk-ről való visszatöltéshez is szükséges egy BASIC program. Kempston Interface-hez
írjuk be és futtassuk a következőt:
10 CLEAR VAL "24751': PRINT#4: LOAD"3" CODE
20 PRINT# 4: LOAD"2" CODE
30 RANDOMIZE USR VAL "24792": PRINT#4: LOAD"1" CODE
40 RANDOMIZE USR VAL "20795"
Természetesen egyéb disk rendszereknél a PRINT utasítás mellett a csatornaszám módosítható.
Spectrum Világ 6-7. rész |