EPDOS 2.1

Program neve: EPDOS 2.1
HSoft - 1995
Operációs rendszer bővítő ROM program

Az EPDOS 2.x (jelen esetben az x 1-et jelent) rendszer nem fájlmenedzser, vagyis nem az 1.7-es verzió továbbfejlesztett változata! Tekintsük át nagy vonalakban az EPDOS 2.1-es rendszer felépítését. Az EPROM-ot kizárólag a 4. szegmensen lehet használni. Elvégzi a hidegindítással járó RAM és ROM tesztet. Lecseréli a KEYBOARD és PRINTER perifériák rutinjait, valamint létrehozza a fájlkezelő SRAM eszközt. Megoldja a PC-egér, HW-óra illesztését az operációs rendszerhez. Tetszőleges konfiguráció alatt, saját szerkesztésű hibaüzenetek mellett dolgozhatunk. A hidegindításnál a RAMDISK-et is megőrizhetjünk. Elvégzi az EPSON-grafikus nyomtatást EP-készlettel vagy NLQ-HFONT-tal. Beépített szín ill. BIAS keresővel és a (nem játék) programok futása alatt beégésgátlóval (képernyővédővel) rendelkezik. Billentyűkombinációval hívható memória vagy parancsszerkesztő, illetve jegyzetlap ablakokat használhatunk az alkalmazói programok futása alatt. Saját billentyű kiosztással és karakterkészlettel dolgozhatunk. Számos beállítást az SRAM-on tárol, így a gép kikapcsolása után sem felejti el ezeket.

A 2.1-es rendszer tartozékai:

A hardware
A 2.1 rendszer speciális cartridge-t használ. 32K-s EPROM-ot és 32K-s SRAM-ot tartalmaz, melyet a kikapcsolás alatt telep vagy akkumulátor táplál. Aki már rendelkezik buszbővítővel és SRAM-EPROM kártyával, ill. tervezi ezek beszerzését, használhatja a cartridge-n kívüli SRAM-ot is. Ebben az esetben bármilyen (pl. gyári) cartridge-t használhat a 4. szegmensre helyezett EPDOS 2.1-es EPROM-mal.
A 2.1-es rendszer alatt 16 kilobájttal, vagyis 1 RAM-szegmenssel megnövekszik a gép memóriája. E szabad szegmens RAM vagy ROM célokra egyaránt használható.

A rendszerlemez tartalma:

SRAMEPD2.COM A ramon szimulált 2.1-es rendszer betöltője.
EPDOS21.ROM

A RAMEPD2.COM program adatfájlja.

EPDOSSTP.DAT SETUP  Betöltő-indító modul és a teljes SRAM-szegmens.
EPDOSBAT.DAT A setup szöveges blokkjai.
EPDOSCHR.DAT A setup felhasználói karakterkészlete.
EPDOSFKY.DAT A funkcióbillentyűk területe.
EPDOSPRN.DAT

A setup EPSON-HFONT kompatibilis nyomtatási adata.

EPDOSKEY.DAT A setup billentyű beállítása.
UKKEY.DAT Példa az ANGOL-billentyűzet kiosztás beállítására.
BRDKEY.DAT

Példa a NÉMET-billentyűzet kiosztás beállítására.

KEYKONF.COM

Program a felhasználói billentyűkódok megadásához.

EPDOS2-0.HWP A 2.1 rendszer leírása HWP fájlban.
EPDOS2-0.ASC

A 2.1 rendszer leírása HFONT-os ASCII fájlban.

EPDOS2-0.UK A 2.1 rendszer leírása angolosított ASCII fájlban.
VIDSAVE.ASM VIDSAVE forráslista. Példa a BREAK programozására. (SOURCE könyvtárban)
VIDSAVE.COM BREAK-nél kimenti a 64K-s videoramot.
SCRSAVE.COM BREAK-nél kimenti az aktuális képernyőtartalmat.
SCRLOAD.BAS

A kimentett képek betöltő és nyomtató programja.

DDUMP.EXT

LPT alapján nyomtatást végző rendszerbővítő. (DDUMP)

DDUMP.STP A DDUMP program setup-fájlja.
*.LPT Néhány kimentett kép-adatfájl.

Az EPDOS 2.1 üzembe helyezése:

B változat:

A változat:

Továbbá:

A későbbi gépindítás vagy hidegreset:

RAM-on szimulált EPDOS 2.1
Ezt a fejezetet a  vékonyabb  zsebű  ENTERPRISE  tulajdonosoknak  ajánlom  a figyelmébe. A 2.1-es rendszer operatív  szolgáltatása  RAM-on  szimulálva  is használható. Ehhez gyorstesztes  EPDOS  1.x  jelenléte és a SRAMEPD2.COM betöltése szükséges. Hátránya, hogy minden beállítást célszerű azonnal kimenteni, valamint bekapcsoláskor a hidegindítás a rendszerlemezről történik. Aki SRAM-kártyával rendelkezik, annak elegendő egyszer lefuttatni az SRAMEPD2.COM programot, és a beégetett 2.1-es rendszerhez hasonló hatást ér el.

És most következzen a részletes leírás

Rendszerteszt
Teljesen eltér az eddigi kötött, esetleg billentyűkkel kismértékben irányítható rendszertesztektől. A felhasználó által előzetesen megszerkesztett 4 féle TESZTn blokkal tetszőleges konfiguráció alakítható ki. Hidegindításnál a gép mindig az utolsónak használt rendszertesztet fogja végrehajtani. Persze ettől eltérhetünk a funkcióbillentyűk segítségével. A TESZTn parancsait a BAT-blokk leírásánál részletezem.

Tesztelhető ramszegmensek: 02-FF. A TEST_ROM szegmens (0018h) által jelölt (07h) (SRAM) kezdő szegmensszámtól, (0019h) számú szegmensek (01h) védettek, tehát nem tesztelhetőek. A tesztelhető ramszegmensek száma CRAM-mal tovább korlátozható. A romprogramot tartalmazó ramszegmensek tartalma nem őrződik meg, de ez a funkció is bekapcsolható. (LROM) A lebegő foglalat ill. EPROM-szegmenseket nem veszi a hibás RAM-ok listájára. (pl. Mészáros-féle SRAM-EPROM kártya üres foglalatait.) A címdekódolásból eredő hibákat is kiszűri. Amikor a RAM-szegmens több szegmensszámon is elérhető, csak a magasabb számot jegyzi fel, többi a nem működő RAM-listára kerül. Bekapcsolt RAMDISK megőrzésnél, a ramdiszk-szegmensek RAM-teszt nélkül kerülnek fel a DEVICE-RAM listára. Választani lehet három féle RAM-szegmens tesztelés között. A harmadikkal még több megabájtos RAM-bővítés is gyorsan tesztelhető. (TESZT 2) (1 megabájt kb. 1 másodperc!)

Tesztelhető romszegmensek: 01 és a 02-FE közötti tartomány. Számuk CROM-mal korlátozható. Azonos tartalmú romok esetén csak az alacsonyabb szegmensszámú kerül a listába. Csak az első 256 bájtot ellenőrzi.

Bekapcsolás ill. hidegindítás kezdetekor lenyomott billentyűk jelentése:

F1

Felfüggeszti a TESZTn, HIDEGINIn és INICIALn blokkok használatát.

F2

Tiltja az LROM megőrzést, valamint a következő indításig kikapcsolja a HIDEGINIn és INICIALn használatát.

F3 Melegindítás tiltása.
F4 Az F8 szegmenset teszi a nulladik lapra. (egyes játékok szeretik)
F5 5-ös számú teszt beállítás.
F6

6-os számú teszt beállítás.

F7 7-es számú teszt beállítás.
F8 8-as számú teszt beállítás.
ESC

TESZT 2-re kapcsol, Az F1 utáni ramteszt felgyorsítására használható.

STOP Hagyományos EXOS-teszt hívása. Elrontja az SRAM tartalmát. Lásd STPRD
ALT BREAK eljárás hívása. (Lásd alább BREAK)
HOLD Nyomvatartása alatt megőrződik a teszt-képernyő.

BAT kötegelt parancsok
A kikapcsolás alatt teleppel táplált sztatikus RAM egyesíti a RAM és az EPROM kedvező tulajdonságait. Ideálisan használható arra, hogy kisebb memóriaigényű feladatoknál elkerüljük a meghajtóhoz való fordulást. Olyan esetben is elérhető, amikor még nem épült fel az operációs rendszer. (RENDSZERTESZT) A sztring író-olvasó rendszer lehetővé teszi, hogy egy azonosítónév alapján de a funkciója ismerete nélkül blokkokat tárolhassunk ill. olvashassunk vissza. E hátteret használja a kötegelt szöveges parancsblokk-kezelő. A konfiguráció által ismert szavakon felül lehetőség van ugrásokra, billentyűzet és hibakód figyelésre és egyszerűbb feltételes elágazások kialakítására. A belépési helyeket címkékkel jelöljük. A címkék végére kettőspontot teszünk, hogy a rendszer meg tudja különböztetni a parancsoktól. Minden sorba csak egy utasítás vagy címke kerülhet, de nem kötelező a sor elejére helyezni. A kis és nagybetűket a rendszer azonosan kezeli.

; Megjegyzéssor
CIMKE: Belépési hely megadása.
GOTO címke Ugrás a címke által mutatott sorba, ha van ilyen.
GETKEY Billentyűkód beolvasás mely lenyomásig várakozik. Az értéket a C5 (197-es) exos változóba írja.
GET Billentyűkód olvasás de várakozás nélkül. Lenyomás hiányában marad az előző bilentyűkód.
IF var num címke Az EXOS-változó értékét összehasonlítja a megadott decimális számmal, vagy az idézőjelben lévő karakterrel. Azonosság esetén végrehajtja a GOTO parancsot. példa a használatra:
   5=      Timer (időzítőhöz használható)
   196= Az utolsó BAT-ból hívott exosparancs hibakódja.
   197= Az utolsó beolvasott billentyűkód.
CONTINUE

A batból való kilépés után a többi bővítés is megkapja a parancssztringet. Példák a használatára:

:BAT MON
set 202 128
continue
;A MON használja az RST 28h területet, ezért a belépés
;előtt visszakapcsolunk hagyományos EXOS megszakításra!

:BAT ASMON
ramdisk 4/d
copy *.asm e:
e:
continue
;Nem szeretjük a parancsokat gyakran ismételgetni, ezért
;az aktuálisakat batba tehetjük.

:BAT BASIC
echo Be akarsz lépni a BASICbe?
echo Jó... de elötte nézd meg a katalógust!
dir
continue
;Semmire sem jó, de megtréfálhatjuk vele a barátunkat.

BAT blokk készítése és használata:
Belépünk WP-be. Megszerkesztjük a szöveget. Lenyomjuk az F8-at. Begépeljük a -BAT név- parancsot és ENTER-t nyomunk. Erre a rendszer beolvassa az editor tartalmát és a megadott néven eltárolja. Az előző azonos nevű blokkot törli. A név kiadására a rendszer végrehajtja a BAT-blokk parancsait. A BAT-blokkból meg lehet hívni újabb BAT-blokkokat, azonban ügyeljünk arra hogy ne okozzunk végtelen rekurzív hívást mert az EXOS rendszer elszáll. A BAT-okat kényelmesebben szerkeszthetjük a BEDI paranccsal. (Lásd alább.)

Rendszer-BAT:
Vannak olyan blokknevek is, melyet a rendszer célzottan használ. E szavak az 5-8 közötti számokra végződnek. Hogy a rendszer melyeket fogja meghívni, azt a rendszerteszt elején nyomvatartott F5-F8 billentyű, hiányában a C1 (193) EXOS rendszerváltozó fogja eldönteni.

HIDEGINIn
Minden hidegindítás után a rendszerteszt és inicializálás után egyszer kerül hívásra. Megoldható vele a rendszerváltozók egyszeri beállítása ill. meghívható az a bővítő amely számunkra szimpatikus. A billentyűzet figyelésével kombinálva szelektív rendszerbelépés, az új videóparancsok segítségével saját indulási lap szerkeszthető.
INICIALn
Akkor kerül hívásra amikor a rendszerbővítők inicializálása történik. Pl. rendszerbelépés, 5. beállított bites EXOS reset, felhasználói program índítása, stb. Az utolsóként iniciált 1. ROM előtt hívódik meg, így alkalmas pl. a rendszerváltozók karbantartására, melyet a bővítők esetleg számunkra kedvezőtlen értékre állítgatnak. HW-órás gépnél megadható a TIMERD, DATERD parancs, így a megszakítás tíltása miatt késésre álló EXOS időt helyre lehet állítani. A magnós rendszernél be kell írni a DEVICE TAPE parancsot, hogy ne a lemezegységről akarjon majd programot betölteni.
TESZTn

Eltér a szokványos parancsblokktól, ugyanis a rendszerteszt alatti konfigurációs információkat hordozza. Az alábbi kulcsszavakat kezeli.

SZIN SZIN keret státuszpapír státusztinta státusztinta2 papír tinta tinta2
Megadja decimálisan a teszt videólapjának színeit.
TESZT num

Kiválasztja a ramteszt módját. Valamennyi változat gyorsabb az EXOS tesztjénél és a vizsgált bájtokat is tüzetesebben ellenőrzi. A 255. szegmenset mindig 0-s módon teszteli. A 0.lapszegmens 0-100 területe szintén nullával lesz feltöltve.

  • 0 = Teljes ramteszt nullázással.
  • 1 = Részleges ramteszt nullázással. (minden 63. bájt ellenőrzés)
  • 2 = Részleges ramteszt. Általában kijelenthető, hogy a szegmensek nullázása csak időpocsékolás. A programoknak nem szabad arra számítani, hogy az igényelt memória nullával van feltöltve! Elöttük ugyanis más program is használhatta a szegmenset.
LROM
A rommegőrzés funkció bekapcsolása. (lásd LROM parancs) Azt a szegmenst nem teszteli RAM-ként, amelynek az ötödik bájtjától "ROM" felírat található. (Hasonlít az F2 lenyomására)
CRAM Megadható hexa formában az a szegmensszám ill. tartomány, amely szegmenseket nem kell tesztenie a rendszernek.
CROM
Mint az előző parancs, de a romokra vonatkozik. A címdekódolásból eredően egyes romok több szegmensszámon is láthatóak. A romteszt a 2. szegmenstől 254.-ig felfelé halad. Csak olyan rom kerülhet felvételre, amelyik a már alacsonyabb szegmensszámon felvett romoktól eltér. Ebből adódóan egyes romok kikapcsolását csak több szegmensszám egyidejű tíltásával lehet megoldani. Pl.:
EXDOS-t 20H-2FH vagy 20H 22H 24H-2FH stb.
F8
A nulladik lapszegmensre akkor is az F8 kerül, ha a rendszer rambővítést tartalmaz. Vannak olyan kezdetleges átíratok melyek csak így képesek futni.
RAMDISK
Helyreállítja a hidegindítás előtti ramdiszk tartalmát. Ha már maradandó sérülést szenvedett, akkor figyelmen kívül marad. A megmentett ramdiszk beláncolását a tesztképernyő rövid csíkozása jelzi, és e szegmenseket nem fogja letesztelni.

Az eredeti TESZT 5-8 beállítások:

Egyik indítás sem tilt ki a ROM listából szegmenseket, mivel ez gépfüggő adat! Azoknál a felhasználói rendszerek hívásánál, melyek nem működnek együtt a 2.1-es megszakításával, a beépített BAT-ok automatikusan hagyományos megszakításra állítják a rendszert. Pl. FENAS, MON, ASMON, stb. A visszakapcsolást elvégzi I, BA, WP parancs.

5:
A legyorsabb indítási mód. Megőrzi a ramdiszket. Valamennyi elérhető ramot teszteli, de nem nullázza le. Általános munkára vagy játékra készült. A 2.1-es valamennyi szolgáltatása elérhető. Bejelentkezésnél egy csökkentett méretű ablak jelenik meg, ahonnan a rendszerek billentyűvel hívhatóak.
6:
Dekoratívabb de lassabb indítás. A ramszegmenseket lenullázza. A ramdiszket nem őzi meg, viszont az LROM-mal szimulált romokat meghagyja. A 2.1-es rendszer valamennyi szolgáltatása használható. Bejelentkezésnél attribútum videólapot használ, ahonnan a rendszerek billentyűvel hívhatóak.
7:
Valamennyi ramszegmenset teszteli és nullázza. Nincs ramdiszk megőrzés, de meghagyja az LROM szegmenseket. Minden inicializálásnál kiadja a hagyományos EXOS-megszakítás beállítás parancsot, ezért nem kezel egeret, nem használhatjuk a háttérnyomtatást, a KEYBAT parancsokat és a beégésgátlót. Indításnál meghívja az EPDOS-t. Azokhoz a finnyásabb programokhoz használhatjuk, melyek lefagynak a 2.1-es normál beállítása alatt.
8.
Olyan mint az előző beállítás, de rambővítés nélkül. A fokozottan futásérzékeny játékprogramokhoz használható. A felhasználó CROM paranccsal csökkentheti a beláncolt romok számát is, úgy hogy csak a létfontosságúakat hagyja a rendszerben.

SRAM eszköz
Az új perifériát kisebb méretű fájlok tárolására használhatjuk. E fájlok lehetnek akár futtatható programok, vagy akár setup beállítást tartalmazó adatfájlok. Az SRAM fájlokat a DISK-hez hasonlóan OPEN-nel nyithatjuk meg. Használható a karakter vagy blokkművelet, és egyidőben több fájl is megnyitható. Nem támogatja viszont a csatornaállapot írás-olvasást, valamint nem kezel különleges funkciót. Az írásra megnyitott fájl, a CLOSE kiadásakor beíródik az SRAM-ba, de előtte törli az előző azonos nevű fájlt. Nulla fájlhossz esetén csak törlés történik. Egy fájl maximális hossza 4 Kbájt. A fájlok listázására az :SDIR, egy fájl törlésére :SDEL név parancsokat használhatjuk. Az SRAM-fájlokra alkalmazhatunk EXDOS parancsokat is. pl. :COPY, :LOAD. A fájlnevet SRAM:név formában lehet megadni.

KEYBOARD eszköz
A bővítések inicializáskor önmagára állítja a KEYBOARD periféria belépési címét. A megszakítások alatt az angol KEYBOARD pufferét használja és hasonló sebességgel is dolgozik. A lassabb kétnyelvű eszközt is helyettesíti, mivel 3 nyelvet kínál. Az UK és a BRD kötött billentyűmátrix és karakterkészlettel rendelkezik. A felhasználói változat, a KEYKONF.COM program támogatásával, tetszőlegesen beállítható, így bármely billentyűre a váltógombos kombinációkkal 8 féle tetszőleges kód adható meg. Ez jól használható az ékezetes betűknél, macróknál és a KEYBAT parancsoknál. Akik PC-billentyűzettel rendelkeznek, beköthetik azt a 7 db billentyűt is amely eredetileg nincs használva. Erre 8*7=56-féle kód rendelhető a KEYKONF-al.

A váltógombok jelentése:
NORMÁL, CAPS, SHIFT-CAPS, SHIFT, CTR, ALT, SHIFT-CTR, SHIFT-ALT A SH-CTR-nál lehetőleg az RSH gombot használjuk a sor megbízható olvasásának érdekében, ugyanis az LSH azonos bitje miatt sorátvezetés történhet!

Az ékezetes ASCII-kódok elérése a jelenlegi beállításban:

elérés
jelentés
kódszám
tervezett későbbi
kódszám
 
elérés
jelentés
kódszám
tervezett későbbi
kódszám
ALT-A
á
81
80
 
SH-ALT-A
Á
91
90
ALT-E
é
93
81
 
SH-ALT-E
É
97
91
ALT-I
í
84
82
 
SH-ALT-I
Í
85
92
ALT-O
ó
86
83
 
SH-ALT-O
Ó
92
93
ALT-U
ú
8A
84
 
SH-ALT-U
Ú
95
94
[
ö
87
85
 
SH-[
Ö
94
95
ALT-[
ő
88
86
 
SH-ALT-[
Ő
99
96
]
ü
8B
87
 
SH-]
Ü
89
97
ALT-]
ű
8C
88
 
SH-ALT-]
Ű
8F
98

A billentyűkódok jelentése:

00-1F Vezérkódok
20-9F ASCII
A0-AF Vezérkódok (era-del-ins)
B0-BF Vezérkódok (kurzor)
C0-CF billentyűmacrók (hasonló az fkey-hez, de ez sokkal maradandóbb)
D0-DF Fenntartva
E0-EF EXOS rendszerparancsok megszakításból (KEY-BAT E0-EF)
F0-F7 FKEY
FE HOLD
FF STOP

Billentyű-macrók használata:

Definiálás:

:MACRO C0-CF decimális bájtok és idézőjeles sztringek
pl.:
:MACRO C1 9,"Tisztelt "
:MACRO C2 "Tisztelettel: Haluska László" 13

Meghívás:

ALT+1= Tisztelt
ALT+2= Tisztelettel: Haluska László +ENTER végrehajtás

Listázás:

:MLIST

A macró kódszámot bármely billentyűhöz hozzá lehet rendelni a KEYKONF program segítségével. Jelenleg az ALT "1"-"9"-el adható ki a C1-C9. A macrók száma max. 16 (C0-CF) A macrók hosszát csak az EXOS korlátozza elküldéskor, mert a parancssor max. 128 bájtos lehet. A @-ablak vezérlésére két macrót használunk.
Az ALT+ENTER = CE = 27,9
és a
SH+ENTER = CF = 27,13.

Billentyű-BAT parancsok használata:

Az E0-EF blokk, szövegszerkesztőből, BAT paranccsal készíthető. A billentyűkódot az előző eljárás alapján lehet egy billentyűkombinációhoz hozzárendelni. A KEYBOARD megszakítás feljegyzi az észlelt parancsot. A megszakítás végeztével, a szoftvermegszakításhoz hasonlóan, EXOS 26-tal meghívja a parancs kezelőjét. Visszatérés esetén megpróbálja változatlan állapotban visszaadni a vezérlést a főprogramnak. Ez a rendszer csak az angol EDITOR területét menti el, ezért a @40, @80 és a @ parancsokat német bővítéssel ne használjuk! Nagy figyelemmel kell ezen funkciókat alkalmazni, mert könnyen elronthatjuk vele a futó program környezetét! A parancsmegszakítás 25/50 másodperces várakozás leteltével ismételten kiadható. (rekurzív használat) Lehetőség van arra is, hogy megnyitatlan billentyűzet csatorna mellett is történjen billentyűfigyelés. Ehhez természetesen engedélyezni kell az EXOS megszakítását. A SHIFT+CTR+ALT kombináció kiadja az E0 parancsmegszakítást. Ebbe BAT-tal bármit eltárolhatunk, de jelenleg a @ parancsot hívja meg. Hasonlóan a VENUS, megszakításból hívható videólapjához, rendszerparancsokat tudunk kiadni olyan programnál is ahol esetleg lehetőség sincs erre. A két shift lenyomása kiadja az EE parancsot, ezzel a MEM memória szerkesztőbe juthatunk.
A jelenlegi beállításban a következő parancsok adhatóak ki billentyűről.

Elérési kombináció   Billentyűkód ill.
BAT-név
BAT-ban található parancsszó
SH+CTR+ALT   E0 @
SH+CTR+I   E1 EPDOS
SH+CTR+B
*
E2 BASIC
SH+CTR+W
*
E3 WP
SH+CTR+A   E4 ASMEN
SH+CTR+F
*
E5 FENAS
SH+CTR+H
*
E6 HEASS
SH+CTR+E   E7 EPROM
SH+CTR+M
*
E8 MB (miniBANK)
SH+CTR+D
*
E9 DDUMP-PRINT
SH+CTR+P
*
EA CHPRN
    EB üres
SH+CTR+X
*
EC BEDI
SH+CTR+R
*
ED RST 8 (hidegreset)
RSH+LSH   EE MEM
beégés-gátlás   EF BEEG

(a * jelölésnél használható a SH+ALT is)

Megszakítás és egérkezelés
A rendszer három féle megszakítást kezel:

  CA 202-es exosváltozó értéke:
1. Hagyományos. b7=1
2. E0-EF parancs figyelő. b7=0 b6=1
3. Mint az előző + egérmegszakítás kezelő. b7=0 b6=0

Az első beállításban a 0. lapos EXOS rutinok változatlanok, és nem használ RST memóriát sem. Így hívható meg az olyan program amelyik RST 28-at igényel pl. MON vagy az egérkezelőt tartalmazó PAINTBOX.
A második és harmadik beállításban eltérítí az EXOS hívás és az EXOS megszakítás belépési címét. A visszatéréshez 8 bájtot használ 28h címtől. Az EXOS hívást azonnal visszaadja. A megszakítás kiszolgálása után ellenőrzi, hogy nem történt-e E0-EF parancs. Ezek elvégzéséhez felhasználói futásra állítja az operációs rendszert, ha szükséges átáll az EXOS veremre, meghívja a parancs kezelőjét, majd visszaállítja a rendszert. Az éppen futó program csak úgy érzékeli, mintha hosszabb idejű megszakítás történt volna. A parancsmegszakítások lekezelésére jellemző, hogy egymásra is hívhatóak.
A harmadik beállításban már PC-egeret is kell a rendszerhez csatlakoztatni. Hidegindításnál a 201 (C9) változó tartalma átkerül a 202-es (CA) változóba. A program ellenőrzi hogy a rendszer tartalmaz-e PC-egér hardvert. Amikor nem talál, letíltja az egér megszakítás kezelését. (202-es változó 6. bitje) Ha ezt nem tenné, (ill. szándékosan engedélyeznénk) akkor a gép lefagyna. (végtelen megszakítási ciklus) A 202-es változó alsó három bitjével engedélyezhetjük az egér billentyűinek felhasználását a KEYBOARD eszköz csatornája részére. A 203-204-205-ös változókba helyezendő a kívánt billenyűkód. Aktivizáláskor az EP-billentyűvel azonosan lesz kezelve. (RATE,DELAY,CLICK,FKEY,MACRÓ,E0-EF parancs, szoftvermegszakítás stb.) Az egér-keyboard dekódolást ideiglenesen blokkolhatjuk az SRAM 402F 0. bitjének beállításával. Ilyenkor direkt módon lehet az egéradatokat elérni. (Lásd alább SRAM memória kiosztás) Az egértipus kiválasztását a 210-es (D2) változó határozza meg. Nulla esetén IBM-PC, egyéb értéknél MICROSOFT szabványú egeret használhatunk. A 211-es (D3) változóval az egér érzékenységét csökkenthetjük. Az olyan programok kezelik, melyek az EPDOS 2.1-es rendszer alá készülnek.

Memória, naptár és óra kijelzés a második státuszsorban
A rendszer létrehoz egy SRAM nevű eszközt, amelynek az időkijelzésben, riasztásban és a beégésgátlás hívásában is szerepe van. 1Hz megszakításból frissíti az aktuális idő kiírását. A sor elején 4 szám látható, melyeknek a jelentése: SZABAD-FELHASZNÁLÓI-ESZKÖZ-RENDSZERszegmensek száma decimálisan. Átkapcsolva a 4 lapszegmens száma látható hexadecimális formában.
A dátumot csak akkor írja ki, ha a hónap értéke nem nulla. Az EXOS 2 számjegyű évszámkezelése adja, hogy csak az 1980-2079 közötti éveket lehet használni. 1980.03.01.-2079.12.31. közötti dátumnál a hét napját helyesen kezeli. A HOLD állapot sem függeszti fel az idő kiírását. A VIDINIT rutin minden inicializálásnál újraszerkeszti az LPT-t, és létrehoz egy újabb 40 karakteres videósort a státussor felett. Az SRAM videócélokra 40 bájtos periféria ramot igényel, melyet bejegyez az LPT BB24-re. Ez lesz a második státussor NICK videócíme! E területet a felhasználó is használhatja, ha letíltja az óra kijelzését. A színeket a BB28 területre lehet beírni. EXOS változók:

CE - 206 STATUS2 A második státuszsor kijelzése 0=be
CF - 207 CLOCK b7=1 Státuszírás kikapcsolás
b0=0 A memória kiírása / =1 A 4 lapszegmens kiírása

Képernyő beégés gátlás
A D0 208-as EXOS változóval megadhatjuk a percek számát. Minden egér vagy billentyű mozgásnál ill. rendszerbelépésnél, ezen kezdőidő átkerül a csökkenőszámlálóba. Hiányában percenként csökken a számláló tartalma. Nullát elérve EF (KEYBAT) megszakítást generál. Ennek elfogására persze a hagyományos EXOS megszakítás nem képes. Lásd fentebb MEGSZAKÍTÁS. A BAT EF, jelenleg BEEG parancsot tartalmaz. A BEEG rutin átkapcsolja a NICK-et és az alapértelmezésű LPT-t úgy, hogy csak az órát mutató felső státuszsor lesz látható. Ezután visszaadja a főprogramnak a vezérlést. Egér vagy billentyű változásra helyreállítja a képernyőt és elölről kezdődik a visszaszámlálás. Nullát megadva nem történik beégésgátlás figyelés.

Az SRAM szegmenstartalom sérülésének figyelése
Az SRAM szegmens két nagyobb részre bontható. Az első terület gyorsan változó, a másik pedig viszonylag maradandó adatokat tárol. Maradandóba soroljuk a NLQ printer karakterkészletet, a billentyűmátrixot, a karakterkészletet és a blokktároló területet. Ezt a tartományt, mely jelenleg a 4100-7FFF között húzódik, megszakításból folyamatosan ellenőrzi a rendszer. Kb. 5 másodperces ciklusban kapunk egy-egy új kiértékelést. Változás esetén a második státuszsorban "Az SRAM megsérült" felirat olvasható. Ilyenkor a felhasználó dönti el, hogy tovább kíván a géppel dolgozni, vagy STPRD parancsot ad ki. A szándékos módosítás után kiadott SRAM parancs legalizálja a pillanatnyi SRAM-tartalmat, mivel újraszámolja az ellenőrzőkódot. Az olyan funkciók melyek részlegesen módosítják e területet, szintén meghívják az SRAM parancsot.

Nyomtató kezelés
Az iniciáló rutin lecseréli a PRINTER periféria rutinjait. Lehetőségünk van a hagyományos nyomtatásra, de a D1 változó nullára állításával háttérnyomtatásra lehet kapcsolni. Ilyenkor az adatok egy közbenső perifériapufferbe kerülnek, ezért a memóriabővítéssel rendelkező gépeknél célszerű használni. A pufferszegmensek száma nincs korlátozva. 1KHz megszakításból, az EXOS-t kihagyva (minimális rutinidő szükséges) történik a bájtok kiküldése. A kiürült perifériaszegmens azonnal fel lesz szabadítva. A státussor memória kiírása aktuális tájékoztatást nyújt a még nyomtatásra váró szegmensek számáról. Az eszközök által foglalt szegmensek száma a harmadik helyen látható. A nyomtatórutin futásának végeztével, akár át is lehet lépni egy másik rendszerbe, a printer tovább fog dolgozni. Leállítására csak a PRNEND parancs kiadása, vagy a hidegreset használható. Nyomtatás csak engedélyezett és nem hagyományos EXOS megszakítás mellet történhet, bár a puffer ilyenkor is megőrződik.

BREAK funkció
Az EPDOS 2.1-es rendszer alatt minden program futását meg lehet szakítani úgy, hogy az ALT mellett resetelünk. A rendszer az SRAM 4053H címén tárolt 24 bites felhasználói BREAK-cím alapján dönti el a további lépéseket. Hozzáteszem, hogy minden hidegindítás lenullázza a cím szegmensszámát. Nulla esetén, némi inicializálás után, kiad egy BREAK parancsot. A 2.1-es ilyet ugyan nem ismer, de BAT-tal vagy rendszerbővítővel a parancs tetszés szerint lekezelhető. Visszatérés esetén végrehajt egy EXT parancsot. A BREAK funkció paranccsal való lekezelése csak kifogástalan operációs rendszer mellett lehetséges. Ez nem jellemző a játékok nagy részére. A kitöltött felhasználói BREAK-címnek a 3. lapra kell mutatnia. Ekkor a 2.1-es úgy adja át a vezérlést, tíltott megszakítás mellett, hogy ramok tartalma változatlan marad. Ez megvalósítja a COMMODORE-nál ismert törőkártya "hardver" alapját. A többi már a szoftver dolga. Sajnos a resetnél elvész a DAVE, a NICK és a Z80 tartalma. Emiatt lehetetlen a gép pillanatnyi állapotát kimenteni, majd visszatöltés után változatlanul folytatni.

SCRSAVE.COM
A programot a 2.1-es alatt lehet betölteni és a BREAK eljárást használja. Segítségével bármilyen program(!) képernyője kimenthető. Az ALT+RESET után, billentyűk segítségével, megkeressük a képet. (Az LPT NICK-címét) Enterrel jelezzük ha megtaláltuk. Megadjuk a fájl nevét. (*.LPT) Ekkor a program átkonvetálja a képet. Az LPT a 0000 címre kerül, a videóram pedig folytonosan utána. A mentés végeztével visszalépünk EPDOS-ba, ahonnan újabb programot indíthatunk. A kimentett képek betöltését illetve nyomtatását az SCRLOAD.BAS program végzi.

BREAK szoftver
A BREAK funkciót a felhasználó saját célra is alkalmazhatja. Ekkor assembly nyelven programot kell írnia. Az alábbi sorokkal ehhez szeretnék segítséget nyújtani. Feltételezzük, hogy a reset pillanatában az operációs rendszer használhatatlan, tehát a megszakítást tíltva kell tartani. Valószínűleg szükség lesz a lemezmeghajtóra, tehát előzőleg el kell menteni a nullás lap 0-100h és a 255-ös rendszerszegmens tartalmát a romok ramterületétől. (BF95)-ről olvasható a kezdőcím. Erre a célra kiválóan alkalmas az SRAM másik ramszegmense, kivált ha CRAM-mal ki is iktattuk a ramlistából. Normális esetben viszont egy periféria ramszegmens is elegendő. Csereeljárással az operációs rendszert felélesztjük és meg is őrizzük a ramtartalmat. A programnak ki kell alakítania egy saját veremtárat. (100h) Nullázzuk a futásjelzőt (FF:BF79) és kiadunk egy 60h EXOS-resetet, hogy a NICK és a kernel alaphelyzetbe kerüljön. Befejeztük az élesztést, már szabadon használhatjuk az EXOS-t. A BREAK-program a továbbiakban már felhasználói programként viselkedik. Példának megtekinthetjük az EPDOS 2.1 rendszerlemezen található VIDSAVE.ASM forráslistát. A fordítással nyert VIDSAVE.COM program betöltéskor lefoglal egy perifériaszegmenset és elmenti az operációs rendszer adatait.
ALT+RESET esetén kimenti a videóramot, változatlan tartalommal, VIDEO.RAM néven, majd belép EPDOS-ba. E funkció, hidegindításig ismételhető.

Felhasználói hibaszöveg megadás
A 2.1-es rendszer lehetőséget ad EXOS hibaüzenetek tárolására az SRAM-on. Az általam, illetve a későbbiekben a felhasználó által ERROR paranccsal megadott (1-255 közötti) hibakódokra tehát saját hibaüzenetet küld. Egy nulla hosszúságú hibasztring elküldése, kitörli a hibakód magyarázatát az SRAM-ból. Az ilyen kódokra a további bővítők, illetve az EXOS adhat magyarázatot.

Új rendszerparancsok

:HELP EPDOS2 Kilistázza a rendszer által kezelt parancsszavakat. Hasonló hatást érünk el a 2.1-es bármely ismert szava esetén.
:EPDOS2

Gépi kódú programok használhatják a verzió lekérésére. Visszatérésnél:

A = 0
B = ALVERZIÓ (jelenleg "0"=chr$(48))
E = SRAM-szegmensszám
D = ROM-szegmensszám

:EXT Végrehajtja a bővítések hívását egyes akciókóddal, vagyis abba a rendszerbe jutunk amelyik elsőnek fogadja a hidegindítást.
:DEVICE eszköznév Az alapértelmezésű eszköz nevének megadása.
:BAK fájlnév

Átnevezi a megadott fájl(oka)t *.bak névre. Akkor lehet hasznos, amikor egy azonos nevű fájl mentésénél az előző fájl tartalmát is meg szeretnénk őrizni, pl. név eltévesztés stb. miatt. Az alábbi parancsokat adja ki:

ATTR file.bak/H-H-R
DEL file.bak
REN file.kit/H *.bak
ATTR file.bak/H R H

:COL num
Színkód kereső. A kurzorral választhatunk az ablak 256-féle színkódjából. A keretszínt az aktuális színkód adja. A NUM értékkel megadható a kurzor kezdő színkódja. A szóköz és ENTER kiírja az aktuális színkódot decimálisan a default csatornára. Paletta meghatározásnál, sorban kiválasztjuk a színeket és entert nyomunk. A kilépés ESC-vel történik, ekkor helyreállítja a hívás előtti képernyőtartalmat.
:BIAS num Az előző parancs 8 színű bias-módja.
:STPWR Lemezes fájlba menti az EPDOS célokra használt 16K méretű sztatikus ramot. Rendszer elszállás esetére, vagy a konfiguráció megőrzésére javasolt.
:STPRD
Visszatölti fájlról az EPDOS célokra használt 16K sztatikus ramot. A jelenlegi konfigurálást felülírja. Ha nem adunk meg egyebet, mindkét eljárás az EPDOSSTP.DAT nevet használja. A betöltést az EPDOSSTP.DAT fájl futtatása is végrehajtja.
:BATWR-BATRD Kimenti vagy betölti a blokkok tárolására fentartott területet. Alapértelmezésként az EPDOSBAT.DAT nevet használja.
:KEYWR-KEYRD Kimenti vagy betölti a felhasználói billentyűzet beállítást. Alapértelmezésként az EPDOSKEY.DAT nevet használja.
:CHRWR-CHRRD Kimenti vagy betölti a felhasználói karakterkészletet. Alapértelmezésként az EPDOSCHR.DAT nevet használja.
:PRNWR-PRNRD
Kimenti vagy betölti a HPRN printer karakterkészletét. Alapértelmezésként az EPDOSPRN.DAT nevet használja. E fájl nem kompatibilis a HWP karakterfájlával!
:FWR-FRD Kimenti vagy betölti a funkcióbillentyűk területét. Alapértelmezésként az EPDOSFKY.DAT nevet használja.
:BAT név BAT parancs definiálása az alapértelmezésű editorcsatornából. E parancslista az EXDOS (.INI) szöveges parancskezelésének továbbfejlesztett változata. Lásd fentebb.
   :HELP név      - Kilistázza a BAT jellegű parancsot.
   :név                 - Lefuttatja a BAT parancsot.
:BLIST Kilistázza a BAT-tal készült parancsok névlistáját.
:MACRO név string Macró kód definíciója. (Jelenleg az ALT+"1"-"9" lenyomásával C1-C9 macrókat lehet kiadni. Lásd KEYKONF program)
:MLIST Macró kódok listázása.
:FKEY string Funkcióbillentyűk definiciója. (A parancs nem kompatibilis az EPDOS 1.7-tel. Lásd FLIST.)
:FLIST Kilistázza a funkcióbillentyűk értelmezését.
:ECHOAT
Az Y-X koordinátával kiterjesztett ECHO parancs. Két decimális számot vár szóközzel elválasztva, utána következik a szöveg. A kiviteli csatornát a 4. EXOS változó adja. Ha valamelyik koordináta értéke nulla, akkor függőleges-vízszintes tabulálást lehet megoldani.
:ECHO@
Angolnál kukac, német gépen paragrafus jelre végződik. A szöveg helyett a decimálisan megadott bájtokat, ill. idézőjelbe tett karaktereket küldi ki a 4. EXOS változó által megadott csatornára. Segítségével az ASCII-ben nem szerkeszthető (ESC) vezérkódokat adhatunk ki. Pl. papír-tintaszín, karakterdefinició, kurzorkijelzés, autoscroll-állítás, esetleg grafikus parancs stb.
:SET EXOS változók írása. Egy sorban több változót is megadhatunk.
:EXOS1 csat név Megnyitja a megadott csatornát olvasásra.
:EXOS2 csat név Megnyitja a megadott csatornát írásra.
:EXOS3 csat Lezárja az adott csatornát.
:DISPLAY
:DISPLAY csat AT első sorok
Elvégzi a CSAT videócsatorna kijelzését. Az AT értéke adja a képernyő kezdősorát. (1-27) Az ELSŐ megadja a videólap kezdő sorát. (0-255) Amikor az értéke nulla akkor a képernyő az adott területen keret színű lesz. A SOROK megadja a kijelzendő sorok számát. (1-27)
:@40 és @80 40 ill. 80 karakteres parancsszerkesztő hívása. (lásd @)
:@
Az utoljára használt videóméretű parancsszerkesztő ablak hívása. Elérhetjük még a CTR+SH+ALT kombinációval is. A színeit az SRAM 4056-405A területén lehet megadni. Az editor-buffert a 200-as EXOS változóból olvassa. Lásd még a C7 EXOS változót. A parancs elmenti a hívás előtti displayt, melyet az ESC után visszakapunk. Kétféle ablak hívható, melyet az ALT+ENTER-rel válthatunk át. A PARANCS SZERKESZTŐ minden belépésnél üresen jelentkezik be, és kilépéskor elveszik a tartalma. Az ENTER nyomására az aktuális sort parancsként továbbadja az EXOS-nak. A JEGYZETLAP szövegszerkesztőként használható. Minden belépésnél, SRAM-ból betölti az előző képernyőtartalmat, melyet kilépésnél automatikusan SRAM:EDITOR.DOC nevű EDITOR-fájlba ment. A szövegszerkesztőhöz hasonlóan az ENTER nem ad ki semmilyen parancsot. Amikor EXOS-parancsot szeretnénk érvényesíteni nyomjunk SHIFT-ENTER-t. Az ablakra illik a jegyzetlap név, mivel még a gép kikapcsolásával sem veszíti el a tartalmát.
:BEEG
Beégés-gátló üzemmód hívása. A rutin lekapcsolja a képernyőt, de meghagyja a második státuszsort, s utána visszaadja a vezérlést a főprogramnak. Ha billentyűlenyomás vagy egérmegszakítás történik, visszakapcsolja a teljes képernyőt. A bekapcsolást célszerű váltóbillentyűvel elvégezni, mivel a programok nagyrészét ez nem befolyásolja. Nem tanácsos a beégésgátló bekapcsolása olyan programoknál, melyek nem az alapértelmezésű LPT-t használják és ezt a BFF4 változóban nem tüntették fel.
:PRNEND
Felszabadítja a háttérnyomtató puffert, és megállítja a folyamatban lévő nyomtatást. A parancsot nem helyettesíti a STOP, sem a MELEGRESET. A rendszerek között is szabadon mozoghatunk, feltéve hogy nincs letiltva a megszakítás. A háttérnyomtatás hagyományos EXOS megszakítás esetén ugyan fel van függesztve, de nem törlődik.
:CHPRN

Nyomtatás az ENTERPRISE pillanatnyi karakterkészlete alapján. Ha nem adott meg fájlnevet, akkor a default csatornát fogja olvasni, mely általában EDITOR. Az esetleges név elött megadható többféle beállító opció is. Az opciókat szóközzel lehet elválasztani. Mindig az utolsó beállítási mód szerint történik a nyomtatás.

/*1 Normálszéles nyomtatás. (80 karakteres)
/*2 Duplaszéles nyomtatás. Így felezhető a karakterek száma. (40 karakteres a *4 módnál)
/S Szimpla nyomtatás bekapcsolása.
/D Kettős nyomtatás bekapcsolása.
/LF n
A sorköz megadása 1/72"-ban. Értéke 0-15 között lehet. Nulla esetén a sorok összeérnek. A megszokott sortáv 12/72", ebböl 9/72" a nyomtatásra használt, tehát a maradék 3-at célszerű megadni.
/MODE

A grafikus nyomtatószekvencia megadása. Elsőnek a szekvencia bájtjainak számát kell megadni. Felsorolom az EPSON kompatibilis módokat.

3 27 "*" 0   vagy   2 27 "K" 60 karakter, gyors
3 27 "*" 1   vagy   2 27 "L" 120 karakter
3 27 "*" 2   vagy   2 27 "Y" 120 karakter, gyors
3 27 "*" 3   vagy   2 27 "Z" 240 karakter
3 27 "*" 4 80 karakter
3 27 "*" 5 72 karakter
3 27 "*" 6 90 karakter
3 27 "*" 7 144 karakter

A gyors módnál nem nyomtatható ki az egymást közvetlenül követő pont! A 80-as képernyő miatt célszerű a * 4-es mód használata. A * 7-es módot nem támogatja minden gép. A mód maximális hossza a hosszbájttal 6 bájt. Példák a parancs használatára:
   :CHPRN /D /*1 /LF 3 /MODE 3 27 "*" 4 EPDOS2-0.ASC
vagy :
   CHPRN EPDOS2-0.ASC

:HPRN

Nyomtatási parancs. Annyiban tér el az előzőtől, hogy a memóriban lévő NLQ printer karakterkészletet használja. A megadható opciók:
/*1, /*2, /LF, /MODE
(mint az előzőnél) A módokkal beállítható karakterszám/sor:
0 = 40, 1 = 80, 2 = 80, 3 = 160, 4 = 53, 5 = 48, 6 = 60, 7 = 96
A4-es lapnál célszerű a 80 karakteres "L" mód használata. Normál sorközt a /LF 2 beállítással érhetünk el, mivel a karakterek 10/72" magasak. Példák a parancs használatára:
   :HPRN /*1 /LF 2 /MODE 3 27 "*" 1 EPDOS2-0.ASC
vagy
   :HPRN EPDOS2-0.ASC

:HWPRD
Betölti a megadott nevű (HWP-hez HWP-KDEF.COM-mal szerkesztett) FNT fájl NLQ karakterkészletét. Ehhez elvégzi a szükséges konvertálási munkákat is. Az elkészült készletet PRNWR paranccsal lehet kimenteni és PRNRD-vel beolvasni.
:TIMERD Az alábbi 4 parancsot csak a hardver órás rendszerben lehet használni. Beolvassa EXOS területre az időt.
:TIMEWR Beállítja a hardvert az EXOS óra idejére.
:DATERD
Beolvassa EXOS területre a dátumot. A hidegindítás elvégzi a HW-órakártya jelenlétének ellenőrzését, és egyszeri alkalommal beolvassa a dátumot és az időt. A többi beolvasást a felhasználónak kell kezdeményeznie. (Lásd INICIALn BAT-parancs)
:DATEWR Beállítja a hardvert az EXOS naptár dátumára.
:ALARM óra perc A riasztás bekapcsolása, idejének lekérése, átállítása.
:ALARMOFF A következő ALARM parancs kiadásáig felfüggeszti a felhasználónak szóló riasztást, de az idejét nem törli.
:MEM

Memória szerkesztő ablak. Az utolsónak használt címértéken jelentkezik be. Érdekessége, hogy a képernyő frissítése folyamatosan történik, így a változó bájtokat is meg lehet figyelni. A két SHIFT-gombot egyszerre lenyomva megszakítjuk az éppen futó programot, és belépünk a MEM-be. Az ESC-el visszatérhetünk a megszakított programhoz. Ez egyedül álló lehetőség a programfejlesztőknek. A billentyű kiosztás:

FEL-LE-BAL-JOBB Ugrás a következő bájtra.
SH+BAL-JOBB Ugrás a sor elejére-végére.
SH+FEL-LE Lapozás ill ugrás az alsó-felső sorra.
CTR+FEL-LE 100H lapozás.
ALT+FEL-LE Ugrás a szegmens első-utolsó lapjára.
ASC vagy HEXA A bájt értékének módosítása.
TAB A HEXA-ASC mód váltása.
ERASE A szegmensszám megadása.
DEL A memóriacím megadása.
INS Az ofset-érték nullázása.
ESC Kilépés
:BEDI

BAT-ok olvasását és szerkesztését segítő program. Meghívása után, valamennyi blokk kurzorral listázható. A nehézkes kezelésű WP-ből HELP xxx, BAT xxx megoldást váltja fel. A szerkesztés után adjunk ki STPWR parancsot a változtatás megőrzésére. A menüparancsok kiválasztása vízszintes kurzorral, a parancs kiadása szóköz vagy enterrel történik. A funkcióbillentyűkkel direkt módon is elérhető egy-egy parancs.
Függőleges kurzorral választhatunk a BAT-listából. A név mellet olvasható a BAT-blokk mérete. Az alsó ablakban az aktuális BAT szövegének kezdősorait találjuk. A főmenü billentyűinek jelentése:

BAL-JOBB Parancs választás.
FEL-LE BAT-blokk választás.
SZÓKÖZ vagy ENTER Aktuális parancs kiadása.
F1 Szerkesztés.
F2 Átnevezés.
F3 Törlés
F4 Új BAT-blokk létrehozása.
F5 40/80 videómód váltása.
F6 BATRD kiadás.
F7 BATWR kiadás.
F8 vagy : Parancsszerkesztő hívása.
ESC Kilépés az EXT paranccsal.

A szerkesztő-menü parancsbillentyűinek jelentése:

F1 Kilépés az editor BAT-ba írásával.
F2 Az editor tartalmának törlése.
F3 Az editor tartalom pufferbe mentése.
F4 A puffer beírása az editorba.
F8 vagy ESC Kilépés változatlan BAT tartalommal.
:POKE

1 bájt módosítása a memóriában. Az SRAM-szegmens BAT-ból való elérésére készült. Az adatokat hexa alakban, a vezető nullákal együtt kell megadni. A címtartomány:

0000-3FFF 0.lapszegmens
4000-7FFF SRAM-szegmens
8000-BFFF 255.rendszerszegmens
C000-FFFF EPDOS ROM-szegmens

Példa:
   :POKE BFCB,01    = CAPS mód beírás

:BIT

1 bit módosítása a memóriában. Az adatbevitelre vonatkoznak a POKE parancsnál leírtak. Példa:
   :BIT 2,BFC5,0     = 1Hz megszakítás kikapcsolása (vagyis BFC5 2.bitjét nullázni!)

:BLKWR

Az SRAM blokkkezelőjének hívása. Névvel ellátott blokkba mentjünk az általunk megadott memóriaterületet. ROM programok használhatják pl. a setup-beállítás elmentésére. A név első bájtjának A0-BF /chr$(160-191)/ közötti értéket kell adni, hogy a rendszert ne zavarjuk. A blokkhossz nulla értéke esetén a parancs kitörli listából a megadott nevű blokkot. A blokknévben használt kis és nagybetű nincs azonosan kezelve! Példa a használatára BASIC nyelvből, ahol a címen található 16 bites érték jelöli a blokk hosszát. Példa:
   EXT "BLKWR $"&WORD$(cím)&CHR$(160)&"prb"
ASSEMBLY nyelvből:




STR:


HOSSZ:
CÍM:

SIZE:
LD DE,STR
EXOS 26
RET
DB HOSSZ,"BLKWR $"
DW CÍM
DB 160,"prb"
EQU $-STR-1
DW SIZE
DB "ezt fogjuk elmenteni"
EQU $-CÍM-2
:BLKRD
Az SRAM blokkkezelőjének hívása. A névvel definiált blokkot az általunk megadott memóriaterületre másolja. Első helyen a blokk 16 bites hosszértékét kapjuk. Példa BASIC nyelven:
   EXT "BLKRD$"&WORD$(cím)&CHR$(160)&"prb"
:SDIR
Kilistázza az SRAM blokktároló területén található fájlok neveit. A kiírt fájlok COPY-val másolhatóak, OPEN-nel megnyithatóak, vagy LOAD-dal be is tölthetőek.
:SDEL név Törli az SRAM blokktároló területén található fájlt. A teljes nevet meg kell adni, tehát nem használható a helyettesítő ? és * karakter.
:FREE Kiírja az SRAM-szegmens szabad területének méretét bájtokban.
ERROR num string Az 1-255 közötti EXOS hibakódhoz tartozó hibaszöveg megadása. Egy üres sztring megadása, törli az SRAM-ból a hibakód magyarázatát.

EXOS változók (90-FF)

90 144 0 = BRD, 255 = UK, 1 = Felhasználói üzemmód
91-BF Felhasználói változók (Mindenki szabadon használhatja, de előzetesen Hsoft-tal egyeztesse a tartományt!)
C0 192 SRAM szegmensszám (7)
C1 193 TESZT száma (0,5-8)
C2 194 BAT billentyűzet csatorna száma
C3 195 BAT hibakiírás (0 = be)
C4 196 BAT error / utolsó EXOS parancs
C5 197 BAT get / utolsó billentyűkód
C6 198 BAT flag / b7 = continue, b6 = hidegini és iniciál tiltás
C7 199 @ videó mode (0,2)
C8 200 @ editor buffer (0-63)
C9 201 INTER /A CA változó kezdőértéke hidegindításnál.
CA 202

INTER'
b7 = 1 Hagyományos EXOS megszakítási rendszer.
b6 = 1 Nincs egérkártya a rendszerben. (egérkezelő letíltása)
b5-3 Az egérmozgás ASCII kódjának eng. 7 = érzékeny 0 = tíltás
b0-2 Az egérbillentyűk ASCII kódjának engedélyezése.

CB 203 Jobb oldali egérbillentyű ASCII kódja.
CC 204 Középső egérbillentyű ASCII kódja.
CD 205 Bal oldali egérbillentyű ASCII kódja.
CE 206 2. státuszsor (0 = be)
CF 207 CLOCK (b7 = ki, b0 = 0 memória b0 = 1 lapszegmensek)
D0 208 Beégésgátló (percek száma, 0=ki) Nullához érve EF parancsot fog generálni, ahol jelenleg a BEEG parancs található!
D1 209 Nyomtatási mód. 0 esetén a nyomtatás 1KHz-es megszakításból történik. A nyomtatás sebességét nem csökkenti, de lerövidíti nyomtatórutin futásidejét, és hamarabb lehet a gépet másik munkára befogni. 255 esetén az adatokat azonnal kiküldi, de így a várakozási idő miatt a gép később fejezi be a feladatot.
D2 210 Egértipus megadás (0 = PC, 255 = MS)
D3 211
Egér érzékenység csökkentés: (0=gyors) Az EPDOS 2.1 nem használja, csupán az "egeres" programok részére tárolja. A változó megadja, hogy az EGÉR X-Y értékét hányszor kell jobbra shiftelni. (2-vel osztani)

EPDOS statikus RAM-szegmens

4000-0D DB "EPD20ROM"   (Hidegindításnál ellenőrzött SRAM tartalom. Eltérés esetén a szegmens nullával lesz feltöltve.)
4008-0D DB 0,0; LD A,n; OUT (0B3H),A   (1.ROM belépés)
400E HALT (A beégésgátló rendszer használja.)
b7=1 videómegszakítás volt.
b1=1 a beégésgátló lekapcsolta a képernyőt.
b0=1 billentyű lenyomás vagy egér mozgás történt.
400F INTERFLAG /időzítő számláló nulláig. 25=érvényes a COMMAND parancs
4010-12 COMMAND /hossz,sztring A KEYBAT parancs ASCII-ben.
4013-29 Az egérkezelő munkaterülete.
402A Az alsó 3 bit az egér billentyűinek állapota. b7=1 friss adatok. (A kiolvasás után 7. bitet nullázni kell!)
402B-2C Az egér X relatív elmozdulása.
402D-2E Az egér Y relatív elmozdulása. A döccenés elkerüléséhez, megszakítás letíltása mellett, egyszerre kell mindkét irányt kiolvasni.
(A kiolvasás után nullázzuk le a négy bájtot!)
402F
A 0.bit beállításával, a következő inicializálásig, (pl. EXOS reset, rendszer belépés) kikapcsolja az egér ASC-feldolgozását a KEYBOARD eszköz részére. Olyan programokhoz készült, melyek külön grafikus egérkurzort is kezelnek!
4030 Nem használt.
4031-37 CHPRN beállítás területe.
4038-3E HPRN beállítás területe.
403F CLKDAT /b7=van HW-ÓRA,b6=alarm tíltás,b5=alarm történik
4040 A keret színe az alarm elött.
4041-42 Az alarm ideje. (BCD)
4043-49 Az alarm hangjelzés területe.
404A PAGE3 /3. lap a megszakítás pillanatában.
404B-4C EXDOSIY /FISH terület címe.
404D EXDOSVERZ /EXDOS rom verziószáma. (BCD)
404E RAMDISKSEG /A ramdisk-perifériapuffer első szegmensszáma.
404F PRINTERSEG /A printer-perifériapuffer első szegmensszáma.
4050-51 PRINTERDAT /A háttérnyomtató munkaterülete. (page 1,2)
4052 FREESEG /A háttérnyomtató felszabadításra váró szegmense.
4053-55 BREAK_PTR /A felhasználói rutin 24 bites címe. (low,high,seg)
4056-5A @_COLOR /A @ képernyő palettaszínei 5 bájton. (KERET,P0,T0,P1,T1)
405B-60 MEMDAT /A MEM adatai (szegmens,kurzor,cím,ofset)
4061 MEMFLAG /bit0=MEM-HEXA-ASC, bit1=BEDI-40/80, bit2=@jegy.-@szerk.
4062-69 SRAMDAT /az SRAM szegmens ellenőrzés munkaterülete
406A-6B BEEGDEC /a beégésgátló másodperc és perc számlálója.
406C-81 Még üres terület...
4082-83 NLQCHR /A HPRN printer karakterkészletének címe. (4100) A LOW-bájt=0!
4084-85 MACRONÉV /A billentyűn elfogott macró neve. (1,C0-CF)
4086-87 KEYSEG /Megadja a KEYBOARD eszköz 1. és 3. lapú szegmenseit. (07,04)
4088-89 KEYTÁBLA /Megadja az aktuális keymátrix címét. UK-BRD a 3. lapon van!
408A-8B KEYMÁTRIX /A felhasználói keymátrix címe. (5000)
408C-8D CHRKÉSZLET /A felhasználói karakterkészlet címe. (5280)
408E-8F STRBUFFER /A blokkok adatterületének kezdőcíme. (5700 -7FFF-ig tart)
4090-FF EXOS változók. (90-FF)
Ettől kezdve virtuális (vagyis mozgatható) ramterület!
(Az SRAM-szegmens sérülésének figyelése innentől kezdődik)
4100- Felhasználói NLQ printer karakterkészlet. 128*30 (3840 bájt)
5000- Felhasználói billentyűzetmátrix. 8*80 (640 bájt)
5280- Felhasználói karakterkészlet. 128*9 (1152 bájt)
5700- Blokktároló terület. A szegmenshatárig bővíthető. (2900h bájt)
DB névhossz,"név",DW adathossz,adatok     (Ha névhossz=0 akkor vége.)

Tippek és trükkök az EPDOS 2.1-ban

Példa a SETUP kezelésére:
(a setup megváltozott SRAM szegmenszám esetén is alkalmas a betöltésre)

SETUP mentése: BASIC alatt: :STPWR +ENTER
  WP alatt: F8 +STPWR +ENTER
SETUP olvasása: BASIC alatt: :STPRD +ENTER
:LOAD EPDOSSTP.DAT +ENTER
LOAD "EPDOSSTP.DAT" +ENTER
  WP alatt: F8 +STPRD +ENTER
F1 +EPDOSSTP.DAT +ENTER
Az "elszállt" EPDOS 2.1-es rendszer újraindítása: pl. WP alatt: F1 +EPDOSSTP.DAT +ENTER

Példa a programfutás megszakítására rekurzív módon:

BASIC-ben begépeljük. 100 PRINT "A";:GOTO 100 +ENTER +F1. A képernyőn végtelen ciklusban A-betűk jelennek meg. Megnyomjuk a CTR+SH+ALT kombinációt, ekkor kapunk egy @-ablakot. (Itt most a PARANCS SZERKESZTŐ ablakba kapcsoljunk! ALT-ENTER) Begépeljük hogy DIR +ENTER. A képernyőn feltűnik a katalógus-listázása. Mielőtt befejezné, CTR+SH+ALT-ot nyomunk és egy újabb ablakot kapunk. A HELP +ENTER kiírja a bővítések listáját, melyet szintén félbe lehetne szakítani. A visszalépéshez ESC-t nyomunk. Megjelenik az előző ablak, melyen folytatódik a DIR-parancs végrehajtása. Újabb ESC-re visszalépünk a BASIC-programba, ahol folytatódik az A-betűk írása.

Példa a BAT-ok átírására és tanulmányozására WP-ben:

Lépjünk WP-be. (SH+CTR+W) Nyomjunk F8-at. Gépeljük: HELP TESZT5 +ENTER. Kilistázza a leggyakrabban használt teszt-beállítást. Írjuk át a szín első kódszámát. Ez adja meg a keret színét a teszt alatt. Legyen mondjuk 255, ez a fehér szín kódja. (Ez szövegszerkesztő, tehát nem kell ENTER-t nyomni mint a BASIC-ben.) Következik az eltárolás. F8-at nyomunk, majd gépeljük: BAT TESZT5+ENTER.
Már az SRAM-ban van! Jöhet egy hidegreset, (hátsó piros gomb kétszeri gyors megnyomása) az F5 tartása mellett. Az F5 csak akkor kell, ha nem az ötös teszten voltunkutoljára. A teszt keretszínét fehérre változtattuk. A HOLD-gomb nyomvatartása alatt megőrzi a képet.

WP-ben nyomjunk F8-at. Gépeljük: BLIST +ENTER. Az EPDOS kiírja az SRAM-ban tárolt blokkok neveit. Kiválasztunk egyet. Mondjuk legyen a HIDEGINI5. F5 +ENTER. Letöröltük a képernyőt. F8, majd HELP HIDEGINI5 +ENTER. Kiírja, hogy ABLAK. Írjuk helyette hogy WP. Az előző példa alapján elmentjük. (F8 BAT HIDEGINI5 +ENTER) Hidegreset után a rendszer egyenesen a WP-be ugrik.

Milyen parancsokat lehet használni a BAT-ban? WP-ben írjuk be: F8 HELP ABLAK +ENTER. Kilistázza az ötös tesztnél megismert indítóablak programját.

Végezetül, ha már sikerült eléggé elrontani az SRAM BAT-jait, akkor adjuk ki az STPRD parancsot. Ennek az ellentéte: amikor hasznosnak itéljük az új beállítást, akkor az STPWR paranccsal mentsük ki! Ne felejtsük el, hogy egy másik lemezen mindig legyen készenlétben egy kifogástalan SETUP-beállítás adatfájl!

Példa billentyűk átírására a KEYKONF.COM programmal.

Betöltjük a KEYKONF nevű programot. (LOAD KEYKONF.COM +ENTER) Kirajzolódik az ENTERPRISE billentyűzete. Bármely gombot is nyomtuk meg, a nyíl rámutat a képen. Még a HOLD és a STOP is engedelmes. Bármelyiket át lehet kódolni, de a váltóbillentyűket hagyjuk békén. Cseréljük fel például az ENTERT az A-val. (Érdekes lenne a bal-jobb csere is) Addig nyomjuk az A-t, amíg meg nem változik a keretszín. Írjuk: 0D +ENTER. Most tartsuk nyomva az ENTER-t.
Írjuk: 41 +ENTER. Elkészűltünk! Hsoft is ilyen módon tette az ékezetes kódokat kényelmesebben elérhetővé. Így kerülhetett a KEYBAT és a bill-macró kód bármely billentyű kombinációra. SH+Alt+B (KEYBATparancs=ugrás BASIC-be) Kipróbálhatjuk a felcserélt gombok működését. Ha az ENTER nem írna A-betűt, akkor gépeljük be: SET 144,1 +ENTER. Így kapcsoljuk át a rendszert felhasználói üzemmódba. (UK vagy BRD módban a KEYBAT sem használható) Ha már meguntuk a gombcserét, adjunk ki STPRD parancsot.

A rendszerlemezen UKKEY.DAT és BRDKEY.DAT néven javaslatot találunk UK és BRD tipusú billentyűzet beállításra, melyből én az angolt használom. Azok a felhasználók, akik német billentyűzettel rendelkeznek, gépeljék be az alábbi parancsokat:
   :KEYRD BRDKEY.DAT +ENTER
   :KEYWR +ENTER
   :STPWR +ENTER

A későbbiekben már elegendő KEYRD illetve STPRD parancsokat használni. A fájlnevet ilyenkor a rendszer generálja.

Példa a bekapcsoláskor automatikusan, diszk és magnó nélkül induló BASIC programra. (az EPDOS 1.7 támogatásával)

BASIC-ben az első sorba beírjuk: 100 program "SRAM:START" +ENTER
Elkészítjük a programot és kimentjük: SAVE +ENTER
Átkapcsolunk 5-ös tesztre: SET 193,5 +ENTER
Belépünk WP-be: :WP +ENTER
Beírjuk: START SRAM:START
Lenyomjuk az F8-at: BAT HIDEGINI5 +ENTER
Kimentjük a SETUP-tartalmat. Nyomjunk F8-at: STPWR +ENTER
Elkészültünk. A legközelebbi bekapcsolásnál vagy egy hidegreset után, elindul a saját alkotásunk.

Példa a BAT-parancskészlet kibővítésére.

Az alábbi feladatok végrehajtására, egyszerűségük folytán, nem készítettem külön EPDOS 2.1-es parancsot. A BAT-parancs erre kiválóan alkalmas, és rugalmasabban is használható. A szerkesztést BEDI-ben végezzük. Az ajánlott nevekhez nem kell ragaszkodni, érthetőbb vagy rövidebb is megadható.

BATNÉV Programlista A parancs magyarázata
HUN SET 144 1 Felhasználói módra kapcsolja a karakterkészletet és a billentyűzetet.
UK SET 144 255 Angol módra kapcsolás.
BRD SET 144 0 Német módra kapcsolás.
HFONT HUN Az EPDOS 1.7-es parancs szimulálása 1.8-asnál.
CFONT UK Az EPDOS 1.7-es parancs szimulálása 1.8-asnál.
GAME SET 202 255
I
Hagyományos EXOS-megszakítás. Olyan programok, többnyire játékok betöltéséhez használjuk, melyek lefagynak az EPDOS 2.1 alatt.
STATON SET 206 0 A felső státuszsor bekapcsolása.
STATOFF SET 206 255 A felső státuszsor kikapcsolása.
STATMEM BIT 0 40CF 0 Memória foglaltság kijelzése a státuszsorban.
STATPAGE BIT 0 40CF 1 Lapszegmensek kijelzése a státuszsorban.
CLKON BIT 7 40CF 0 Órakijelzés bekapcsolása.
CLKOFF BIT 7 40CF 1 Órakijelzés kikapcsolása.
BEEGON SET 208 10 10 percre állítja a beégésgátlót.
BEEGOFF SET 208 0 Kikapcsolja a beégésgátlást.
PRNON SET 209 0 Háttérnyomtatásra kapcsolás.
PRNOFF SET 209 255 Azonnali nyomtatás.
PCEGER SET 210 0 PC-tipusú egér kiválasztás.
MSEGER SET 210 255 MS-tipusú egér kiválasztás.
COM BIT 2,4061,0
@
Belépés a @-parancsszerkesztőbe.
LAP BIT 2,4061,1
@
Belépés a @-jegyzetlapba.

EPDOS version 2.1 SRAM cartridge

Konfigurációs állomány EP32 emulátorhoz