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ó, az Rshift-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.