Leszállunk a "VENUS"-ra
File-név: Venus.rom / Ventest.rom Program neve: VENUS 1.8 |
Koch Tibor - 1991 Rendszerbővítő utility |
A VENUS egy olyan utility-csomag, melynek szolgáltatásai minden rendszerprogram alatt igénybe vehetők. Segítségével még a legtöbb futó program (nem játék) is annak legkisebb zavarása nélkül megszakítható, majd a kívánt szolgáltatások elvégzése után folytatható. Az előző verzióhoz képest jelentős változás, hogy az 1.8-as hidegindítás, a gép "elszállása", de a legtöbb játék után is megőrzi a RAMDISK tartalmát. (Szerk.: ez sajnos nem teljesen igaz. Később visszatérünk erre!) Az e funkcióhoz kapcsolódó parancsok és tudnivalók a leírás végén találhatók. Azok a parancsok, melyek egynél több sort írnak ki a képernyőre, alapértelmezésben egy gyors videokezelőt használnak, mely a teljes képernyőfelületet felhasználja. A parancs befejeztével az eredeti képernyőtartalom visszaáll. Ez a funkció letiltható. Ezen parancsok legtöbbjénél a kiírás az ALT lenyomásával lassítható, a jobb SHIFT-tel pedig megállítható. A VENUS minden paramétert hexadecimálisan kér és ad vissza, kivéve a CV parancsot.
A parancsok részletes ismertetése:
FAST / SLOW | |
4 MHz-es gépeken hatástalan. Megfelelőképpen 6 MHz-esre alakított gépen az órafrekvenciát változtatja. Azonos hatású az ALT&CTRL ill. az ALT&LSHIFT rövid, egyidejű megnyomása. A beállított sebesség rendszer-reset vagy melegindítás után sem változik. Bekapcsoláskor az Ep FAST üzemmódban indul. |
|
WC | |
Paraméter nélkül kiírja, különben állítja a wait státuszt. 2-es értéknél nincs, 1-esnél csak M1 (fetch) esetén - VENUS nélkül ez a gép alapállapota -, 0-nál mindig van egy wait. Az Rshift&Ctrl 2-t, az Rshift&Lshift 1-et állít be. Bekapcsoláskor a gép 2-vel indul.
|
|
VENUS | |
27 soros és 80 karakteres képernyőt nyit, maximális méretű editorral, melyből csak rendszerparancsok adhatók ki. Ez az egyetlen olyan parancs, mellyel kilépünk az aktuális rendszerprogramból.
|
|
W | |
Hatására a VENUS az aktuális rendszerprogram default csatornáját használja ki- és bemenetül. Csak rendszerparancsok adhatók ki, kettőspont nem szükséges. Kilépés ESC-pel.
|
|
WW | |
A képernyő alján megnyit egy 80 karakteres, minimum 3 soros szöveges lapot, ahonnan bármilyen rendszerparancs kiadható. Első megnyitáskor meghatározható a lap függőleges mérete a parancsszó után írt számmal. Használata akkor célszerű, ha nem akarjuk megbolygatni a default képernyőt vagy nem áll rendelkezésre 80 karakteres szöveglap. Kezdetben a laphoz tartozó editor puffermérete 8, mely az F4-es változóval módosítható, a lapméret pedig 12h sor. Ha a WW ablakát programmegszakításból kívánjuk használni, akkor az a korrekt eljárás, hogy a kívánt méretű ablakot még a program indítása előtt megnyitjuk Az egyszer beállított ablak- és pufferméretet a VENUS megőrzi és csak akkor csökkenti, ha nincs elég video memória. Kilépés ESC-pel. |
|
REDIT | |
Kiadása után a WW paranccsal megnyitott videolap mozgatható (joystick le-föl) és mérete változtatható (Ctrl&joystick le-föl). Ha az F4-es változóban új pufferméretet adtunk meg, az csak a REDIT kiadása után lép érvénybe. Kilépés ESC-pel. Ha a WW ablakába programmegszakítás útján léptünk be, a REDIT használata nem célszerű, mert az EXOS csatoma-puffermozgatást végezhet, melyet az adott program esetleg nem kezel le. |
|
PGS | |
Paraméterek nélkül kiírja, egyébként pedig beállítja a virtuális memória szegmenseit. Mind a 4 szegmenst meg kell adni. |
|
REGS | |
Paraméterek nélkül kiírja, egyébként beállítja a virtuális AF, BC, DE és HL regisztereket. Beállíthatók külön regiszterek, regiszterpárok ill. az összes regiszter egyszerre is. A CALL és az EXOS utasítások induló ill. visszatérő paramétereiként szolgálnak.
|
|
CALL | |
A virtuális memória megadott címére adja a vezérlést, tiltott megszakítások mellett, a REGS paranccsal megadott induló regiszterértékekkel. A VENUS a B2-re mindig az FF szegmenst lapozza be, függetlenül a virtuális B2 tényleges értékétől, melyet belépéskor a H' regiszter tartalmaz. Az összes Z80 regiszter és a lapkiosztás szabadon elrontható. A visszatérés egyszerű RET utasítással lehetséges, annak figyelembevételével, hogy belépéskor a verem a B2-n lévő FF szegmensben van.
|
|
EXOS | |
A REGS paranccsal megadott induló regiszterértékekkel rendszerhívást indít a virtuális memóriában. A virtuális B0-n a nullás lapnak, a B2-n pedig a rendszerszegmensnek kell lennie. |
|
RST | |
Melegindítást eredményez, kiküszöböli azt a veszélyt, hogy egy kontakthibás resetgombbal véletlenül hidegindítást okozhatunk. |
|
SDMP | |
Szegmens dump, megadott címtől, megadott offszettel. Opciók: |
|
MDMP | |
Virtuális memória dump, különben mint az SDMP. |
|
FDMP | |
File dump, különben mint az SDMP A kezdőcím itt a file elejétől számított relatív cím. |
|
FCOMP | |
Két file összehasonlítása, az eltérő paragrafusok kiivatásával. Különböző hosszúságú file-ok is összehasonlíthatók, eltérő kezdőpontoktól is. Ez utóbbi esetben az első file kezdőpontját a filenév előtt, a másodikét a filenév után kell megadni. Közös kezdőpontot a második filenév után kell megadni. |
|
MFIND | |
Stringet keres a virtuális memóriában, megadott kezdőponttól. A karaktersorozatot pontosvessző után vegyesen számokkal és betűkkel is meg lehet adni, utóbbiakat idézőjelben. Az idézőjelben szóköz nem lehet. Opciók mint az SDMP-nél, kivéve a /p opciót. |
|
FFIND | |
Stringet keres file(ok)ban vagy directoryban. Használhatók az általános helyettesítő karakterek. A VENUS
ekkor a directoryban lévő vagy a file-maszkhoz illeszkedő összes file-ban keresi a stringet. Opciók: /h - a rejtett file-okban is keres, valamint az MFIND-nál érvényes opciók |
|
SLOAD | |
File-t tölt be egy szegmensbe. A file-név előtt megadható a szegmens, a betöltés kezdő- és végcíme és a betöltendő byte-ok száma. A file-név után megadható mindez a file-ra vonatkozóan, tehát a file egy relatív címtől kezdve is beolvasható. Ellentmondó paraméterek esetén a VENUS a legkevesebb byte-ot olvassa be. A betöltés nem lép túl a szegmenshatáron. Opció: |
|
SSAVE | |
Szegmens memóriatartalmát írja ki file-ba. A file-név előtt megadható a szegmens, a kiírás kezdő- és végpontja és a kiírandó byte-ok száma. Ez utóbbira az SLOAD-nál írtak érvényesek. |
|
MLOAD | |
File-t tölt be a virtuális memóriába. A paraméterek úgy adandók meg, mint az SLOAD-nál, de szegmensszám nélkül. |
|
MSAVE | |
A virtuális memória tartalmát írja ki file-be. A paraméterek úgy adandók meg, mint az SSAVE-nél, de szegmens nélkül. |
|
SFILL | |
Szegmens kitöltése adott értékkel. Megadható a szegmens, a kitöltés kezdő- és végcíme és a kitöltendő terület nagysága. A byte-ot pontosvessző után számmal vagy betűvel lehet megadni. Ellentmondó paraméterek esetén az SLOAD-nál leírtak érvényesek. |
|
MFILL | |
A virtuális memória kitöltése adott értékkel, egyébként mint az SFILL. |
|
SMOD | |
Szegmens módosítása. Csak 80 karakteres képernyőn működik, ezért ha a default nem ilyen, használjuk a WW képernyőjét. Megadható a szegmens és a kezdőcím. Az Alt&F8 az ASCII és a HEX üzemmód között vált. Az Alt&joystick le-föl a teljes képernyőt görgeti, de ez a software text üzemmód miatt nem nagyon gyors. |
|
MMOD | |
Virtuális memória módosítása, egyébként mint az SMOD. |
|
SGET | |
Lefoglal egy szegmenst és számát az F6-os változóba írja. Az így lefoglalt szegmens EXOS-hívással vagy rendszer-resettel nem szabadítható fel, tehát bármilyen program indítása után is foglalt marad. Maximum 15 szegmens foglalható le ily módon. |
|
SLIST | |
Az SGET-tel lefoglalt szegmensek listáját adja meg. |
|
SFREE | |
Az SGET-tel lefoglalt szegmensek csak ezzel a paranccsal szabadíthatók fel.
Opció: |
|
MERGE | |
Az első két file-t összefűzi és a harmadikként megadott néven kiírja.
Opció: |
|
PORI | |
Írja az adott portot. |
|
VR | |
Paraméter nélkül olvassa, egyébként írja az adott EXOS-változót. A VENUS saját változóiról a HELP VR paranccsal kapható részletes információ. |
|
SCAN | |
Információt ad a billentyűzet mátrix közvetlen olvasásához. Minden billentyű lenyomásakor egy kétjegyű számot ír ki, melynek első jegye a B5-re kiírandó értéket jelenti, második jegye pedig annak a bitnek a számát, mely a B5 olvasásakor 0-ra vált, ha az adott billentyűt lenyomták. |
|
CV | |
Számkonverzió. A megadott számot hexadecimálisként próbálja értelmezni, az eltérő számrendszert a szám után írt h, d vagy b betűkkel kell jelezni. Kétértelmű esetekben (b és d) az utójelölésnek van prioritása. A 12d pl. decimális 12, hexa számként 12dh formában kell beírni. |
|
BITMAP | |
A virtuális memória bittérképét adja. Megadható a videolap vízszintes és függőleges mérete, a video mode (m=1 vagy 5), a video colour (c=0, 1, 2 vagy 3) és a kijelzett tartomány kezdete. A joystickkel görgethető a lap minden irányban, az Alt&joystick le-föl pedig az egész lapot görgeti. A Ctrl&joystickkel a videolap vízszintes és függőleges mérete változtatható. Kilépés az Alt&Rshift egyidejű megnyomásával. A státuszsorban látható számok jelentése:
|
|
CHANI | |
A szokásos módon információt ad a csatornaleíró láncról. |
|
DEVI | |
Információt ad az eszközleíró láncról. | |
INFO | |
Információt ad a rendszer memória-állapotáról. |
|
QCHAN | |
Az F2-es változóban elhelyezi a megadott eszközhöz tartozó első nyitott csatorna számát. Ha ilyen nincs, a visszaadott érték FF. |
|
QDEV | |
Kiadása előtt az F3-as változóba be kell írni egy csatornaszámot. A VENUS az F2-es változóban elhelyezi azon eszköz nevének első karakterét, mely számára a csatorna nyitva van. Nem létező csatornaszárm esetén a visszaadott érték FF. |
|
VTYPE | |
Szövegfile-t kiír a képernyőre. A file-név után megadható a kiírás kezdete vagy oldalszáma. Oldalszám csak akkor adható meg, ha a file tartalmaz lapdobás (0Ch) karaktereket. Opciók: |
|
CLKON | |
Bekapcsolja a státuszsorban lévő órát. Az EP indulásakor az alapérték a kikapcsolt állapot. |
|
CLKOFF | |
Kikapcsolja az órát. |
|
ALARM | |
Paraméter nélkül kiírja a riasztás idejét, egyébként beállítja azt. Az órát és a percet együtt kell megadni. A riasztás úgy törölhető, hogy pl. 25:00-t írunk be, ezt az értéket ugyanis az óra soha nem éri el. |
|
BEEP, WAIT | |
Batch file-ok futtatásakor használható egyszerű parancsok. Az EXOS a kötegelt file-ok végrehajtását akkor is folytatja, ha valahol hiba lépett fel (pl. akkor is meghívja a linkert, ha az assembler hibát jelez). E parancsok révén megőrződik a képernyőtartalom és hiba esetén megszakítható a végrehajtás. |
|
ERROR | |
Paraméter nélkül teljes hibakód- és magyarázatlistát ad, egyébként kiírja az adott kódhoz tartozó hibaüzenetet. |
|
ASCII | |
Karakterkészlet kiírása. | |
CLFONT | |
Karakterkészlet reset. | |
GFONT | |
Német karakterkészlet. | |
VNSRAM | |
A VENUS sok parancs végrehajtásakor átmenetileg egy szegment kér a rendszertől, melyet végrehajtás után felszabadít. Az IS-DOS viszont egy COM file indításakor minden szabad szegment lefoglal a DOS számára, így sokszor előfordul, hogy a program megszakításakor (lásd a bevezetőt ill. a CAPTURE leírását) nincs szabad szegmens. E paranccsal egy szegment állandóan a VENUS-hoz lehet rendelni, így biztosítva a programmegszakítás alatti teljes működőképességet. Az EP bekapcsolásakor egy szegmens le van foglalva. |
|
VPRINT | |
Egy spoolert indít ill. abba ír. Nyomtatás közben szabadon használható a gép, futtatható bármely program, mely nem iktatja ki az EXOS-t vagy az 50 Hz-es megszakításokat, még melegindítás is lehetséges. A nyomtatási sebességet az F5-ös változó szabályozza. Nyomtatás közben is bármikor újabb file-ok tölthetők a spoolerba, korlátot csak a gép memóriakapacitása jelent. A kinyomtatott szegmenseket folyamatosan felszabadítja. Egy file esetén úgy. adható meg a kezdet, mint a VTYPE-nál, több file esetén megadható directory-név és használhatók az általános helyettesítő karakterek. Ilyenkor a VENUS a directoryban lévő ill. a filemaszkra illeszkedő összes file-t kinyomtatja. Az egyes file-okat az első Ctrl-Z karakterig nyomtatja. Opciók: |
|
VPROFF | |
Befejezi a nyomtatást és törli a spoolert. A nyomtatás felfüggesztéséhez ehelyett az F5-ös változót 0-ra kell állítani. |
|
CAPTURE | |
Paraméter nélkül kiírja, egyébként beállítja a CAPTURE státuszt. Íráskor csak a státuszkód adható meg, olvasáskor kiírja a lefoglalt szegmens számát is. E paranccsal átvehető az ellenőrzés az operációs rendszer fölött. Egy szegmenst rendel a VENUS-hoz, melyre minden EXOS-híváskor és megszakításkor rákerül a vezérlés. Ekkor a szegmens a B3-on van és a regiszterek még a futó programból származó értékeket tartalmazzák. A szegmensben a D000 címtől fölfelé elhelyezhetők saját szubrutinok, melyek kezdőcímének magas byte-ját a C000 vagy a C001 címre kell beírni, attól függően, hogy megszakítás vagy EXOS-hívás előtt akarjuk meghívni őket. Az alacsony byte kötelezően 0. A VENUS a szubrutinokat ténylegesen a státuszkód függvényében hívja meg:
Ha a rutinok kezdőcímeként 0-t adunk meg, azt a VENUS úgy értelmezi, hogy nincsenek meghívandó rutinok. |
|
RELEASE | |
Megszünteti a CAPTURE-szegmens hívását és felszabadítja azt, de tartalmát nem törli. Az ezt követő újabb CAPTURE parancs viszont előbb törli a kiutalt szegmenst, ezért programmegszakításban kiadott RELEASE után tilos újabb CAPTURE-t kiadni, mert ez törölné a visszatéréshez szükséges vermet. |
|
GAMES | |
Menüprogram játéklemezekhez. Egy file-ból álló vagy ZIP-pel tömörített játék a rootban, több file-ból álló pedig directory-ban legyen, a két utóbbi esetben a loader-nek a START nevet kell adni. A GAMES parancsot praktikusan a lemez EXDOS.INI-jébe lehet írni. Törli a meglévő ramdisket. (Lásd még a PROT parancs leírását.) |
|
ZIP | |
File(oka)t vagy egy egész directory-t tömörít egy file-ba. Használhatók az általános helyettesítő karakterek. Ekkor a VENUS a directory-ban lévő ill. a file-maszkra illeszkedő összes file-t tömöríti. Opdó: |
|
UNZIP | |
A megadott file-t szétbontja, és előállítja a tömörítés előtti file-okat. Második paraméterként csak drive és útvonal adható meg, mivel a file-neveket a VENUS helyreállítja. |
|
RDSEC | |
Szektor olvasása a lemezről. Pontos sorrendben meg kell adni a drive-ot (kettőspont nélkül), az oldalt (0 vagy 1), a tracket és a szektort. E paraméterblokk előtt vagy után megadható a memóriabeli kezdőcím és a szegmensszám. Szegmens megadása nélkül a virtuális memóriát használja, egyébként a kívánt szegmenst. Ha szektorszámnak FF-et írunk, akkor a track-en lévő összes szektort beolvassa. A VENUS a memóriát ill. a szegmenst (eltérően az eddigi memóriakezelő parancsoktól) körkörösen olvassa és írja, vagyis ha túl magas kezdőcímet adunk meg és emiatt kifutna a szegmensből vagy a memóriából, akkor a műveletet alul folytatja. Szegmens viszonylatú parancsoknál semmiképpen nem lépi túl a szegmenshatárt. |
|
WRSEC | |
Szektor írása lemezre. A paraméterekre az RDSEC-nél írtak érvényesek. | |
RDTRK | |
Track olvasása lemezről. A paraméterekre az RDSEC-nél írtak érvényesek, kivéve azt, hogy nem szabad szektorszámot megadni. |
|
WRTRK | |
Track írása lemezre. A paraméterekre az RDTRK-nál írtak érvényesek. |
|
VFORMAT | |
Lemez formázása. Megadandó a drive, a kettőspont nélkül. A VENUS 82 trackes, kétoldalas lemezt formáz, 10 szektorral trackenként, vagyis a lemez 820 kbyte-os lesz. Fizikai hibás (pl. karcolt) lemezek is formázhatók, mivel a VENUS a FAT-ban bejegyzést készít ezekről. Ha a lemez mágneses rétege hibás, akkor azt inkább el kell dobni, mert bár a VENUS ezeket is jól formázza, a mágneses réteg instabil viselkedése miatt más drive valószínűleg nem tudja elolvasni a lemezt, egy-két héttel később pedig esetleg már a saját drive sem. |
|
CLS | |
Törli a képernyőt az aktuális editor-csatornán. |
A RAMDISK-merőrzésével és a gép konfigurálásával kapcsolatos parancsok és tudnivalók:
A ramdisk megőrzése igen hasznos funkció, ára azonban az, hogy a rendszerben eggyel kevesebb szabad szegmens lesz. Ezért memóriabővítés nélküli gépeken nem működik, de ez nem túl nagy hátrány, hiszen az alapgépen amúgy sem lehetne nagy ramdisket létrehozni.
A VENUS ezen szolgáltatásai csak akkor működnek, ha a hozzáadott TEST-ROM-mal indítunk, ekkor a VENUS EPROM-ot bárhol elhelyezhetjük. Nincs szükség külön testromra, ha a VENUS-t fordítva égetjük be (alsó és felső szegmens felcserélve), ekkor azonban csak a BASIC cartridge 4-5-ös helyén használható.
PROT | |
Kiadása után törölhető a védett ramdisk és új is létrehozható a régi megőrzése mellett (ha van elég memória). Hidegindításkor azonban a VENUS a védett ramdisket állítja helyre, az új tartalma pedig elvész. Hidegindítás után újra ki kell adni. |
|
UNPROT | |
Óvatosan kell használni! Megszünteti a ramdisk védettségét és helyreállítja a törölt védett ramdisket, de csak akkor, ha nincs új aktuális ramdisk Ha van, akkor a védett ramdisket végérvényesen megszünteti!!! Hidegindításkor a helyreállított ramdisk védettsége megszűnik. |
|
FORGET | |
A gép kikapcsolásáig vagy a REMEMBER parancs kiadásáig letiltja a ramdisk megőrzését. |
|
REMEMBER | |
Engedélyezi a ramdisk megőrzést. A gép bekapcsolásakor ez az alapállapot. |
Mód van a rendszer bizonyos fokú konfigurálására is, letiltható ui. bármely rendszerbővítő és RAM szegmens beláncolása. Nem szükséges tehát kapcsolókkal kiválasztani, mely bővítőket akarunk használni.
A CAPTURE szegmens ill. a fizikailag legalsó RAM szegmens 30h és 60h címén elhelyezhető egy hossz-byte, utána pedig a be nem láncolandó RAM és ROM bővítők szegmensszámai. Ez a konfigurációs lehetőség kiláncolt VENUS esetén is működik.
VENUS-indításkor a nullás lap mindig az F8 lesz, így futtathatók azok a játékok is, melyek egyébként csak bővítő nélkül mennek.
Apró kényelmi szolgáltatásként a VENUS a hidegindításon átmenti az ALARM riasztási időpontot, valamint a rendszeróra állapotát, ha ez utóbbit valamely program (játék) már korábban nem rontotta el.
A VENUS többféle hidegindítást tesz lehetővé attól függően, hogy azzal egyidőben mely gombot tartjuk lenyomva:
A VENUS saját változói:
A VENUS hibaüzenetei:
Néhány megjegyzés:
A Venus gyorstesztje alapgépen egyáltalán nem működik és a RAMDISK megőrzés sem tökéletes. Például ha egy nagyobb BASIC program betöltése és kitörlése után hozzuk létre a RAMDISK-et, akkor már nem ismeri fel a VENUS a RAMDISK-et. A parancsok szintaktikáján nagyon látszik, hogy angol gépen lett írva a program (keresse meg valaki a "@"-ot német gépen (paragrafus jel)). A gyors video-kezelője is "összeakad" a BRD (HUN) programmal. Több gyakrabban használt
parancs megtalálható az EPDOS-ban is (könnyebben kezelhetően), csak a gyakorlottabb programozók használhatják ki a program lehetőségeit, a kezdők néhány parancs kivételével nem sokra mennek a Venus-szal.
Konfigurációs állomány Ep32 emulátor használóknak.