Szélesvásznú, gyors Psion S3a, avagy  
Psion S3a emulációja PC-n 

(How to use the Psion s3a emulator?) 
CSERHÁTI András, cserhati@tolna.net 
 

 

Kérdések


Válaszok

1. Mi az az emulátor?
Ha egy X számítógépre olyan programot írunk, amivel egy Y számítógép minden vagy legtöbb funkciója utánozható, és ráadásul a munkafelület is hasonlít az Y gépre, akkor az X gépen emuláljuk az Y gépet.

Általában nagyobb teljesítményű gépeken szoktak kisebbeket emulálni. IBM kompatíbilis PC-re sokféle emulátor program létezik, így van például Commodore-64 emulátor, Sinclair Spectrum emulátor, de a Psion gépeket, így az S3a-t is lehet emulálni.

A Psion-ra is készültek emulátorok, ilyen például a HP48 tudományos kalkulátor emulációja.

2. Honnan származik és mire jó a Psion S3a PC emulátora?

A Psion cég eredetileg saját, belső használatra, fejlesztésekhez készítette el az emulátort (ezen készült a programok egy része a még sorozatban nem gyártott 3a-hoz). A program PC-n fut, és majdnem teljes értékű Psion gépet ad a kezünk alá. Ezt a nagy tudású eszközt később ingyen elérhetővé tették mindenki számára. Arra már nem volt kapacitásuk, így nem vállalták, hogy az emulátorral kapcsolatban felmerülő napi problémák megoldásában közreműködjenek, ezért az emulátor egy támogatás nélküli programtermék, mindenki a maga kedvére és kockázatára használhatja. Nem vállalnak felelősséget a használatából eredő bármilyen kárért (adatvesztés, géplefagyások, stb.) sem. Ez persze a szokásos óvatoskodó jogi formula, mert az emulátor program ezrek általi több éves használata során bizonyította, hogy semmivel sem kevésbé megbízható, mint jól csengő nevű nagy cégek sok pénzért árusított programjai. Sőt...

Az emulátor tehát alapvetően az OPL-ben programozó szoftverfejlesztőknek készült, de jól használható különféle programok kipróbálására is. A PC háttér-tároló kapacitása sokszorosa a Psion-énak, klaviatúrája kényelmesebb és nem kell vesződni a lassú soros vonali áttöltéssel sem. Az emulátor használatával tehát mód nyílik arra, hogy a Psion-ra csak azt tegyük rá, ami már megtetszett, és szükségesnek tartjuk. Ideális az emulátor akkor is, ha a Psion-on lassú (pl. komplex, sok számítást igénylő grafikus) alkalmazásokat akarunk futtatni. Ezek sebessége az emulátorban a PC processzorától függően 10-40-szeresen meghaladhatja a Psion-on mérhető sebességet, (előbbi 486-ra, utóbbi Pentumra jellemző).

Mivel a PC-n az emulátor védett módban gyakorlatilag a teljes Psion többfeladatos operációs rendszert előállítja, annak minden bonyolult belső kapcsolatával, időzítéseivel együtt, jelentősen  túllép az egyszerű DOS programokon. Ezért az emulátor NEM futtaható sem Win 3.1x, Win 95, OS/2, vagy Windows NT szokványos programokhoz készült DOS ablakában, innen elindítva szinte biztosan rendszer-összeomlást fog okozni. Kizárólag "meztelen" DOS-ból indítsuk.

3. Milyen hardver igényei vannak az emulátornak?

Az igények a mai gépeket tekintve nem igazán korlátozóak, mert alig van már olyan gép, amely ne teljesítené az alábbiakat:
· legalább 386-os processzorral ellátott PC kell hozzá,
· legalább 4MB RAM (belső tár) szükséges,
· csak a VGA grafikus kártyával fut.

4. Mik az emulátor csomag fájljai?

Az emulátorhoz egy .ZIP fájl formájában juthatunk: S3AEMUL.ZIP. A csomag tartalma:
 

README.TXT -
rövid leírás, lényege a jelen ismertetésbe is átkerült
LICENCE.TXT -
felhasználási feltételek
S3AEMUL.EXE -
az emulátor főprogram 
EPOC.DLL -
 
kiegészítő program, ez emulálja a Psion gépek EPOC16 nevű operációs rendszerét 
EPOC.RMI -
további program, operációs rendszer alkalmazások
HHSERVER.PAR -
konfigurációs fájl
RTM.EXE -
futtató modul
DPMI16BI.OVL -
16 bites, védett módú kiegészítés
 
5. Hogyan installáljuk az emulátort?

Ki kell csomagolni a ZIP-et, és az összes fájt be kell másolni egy tetszőleges alkönyvtárba (nálam ez a C:\@PSION\EMU). A programok közül csak a S3AEMUL.EXE nevezhető át, a többinek a nevét ne változtassuk meg.

6. Hogyan futtassuk az emulátort?

Nem elég csak belépni az adott alkönyvtárba és DOS-ból indítani az S3AEMUL.EXE programot. Az emulátor zavarba jön :-), ha nem találja az M: logikai meghajtót (ez felel meg a Psion-on a belső memóriában lévő lemezegységnek). Ilyen logikai meghajtót PC-ken egy DOS paranccsal lehet létrehozni, ez a SUBST, azaz helyettesítés. A SUBST parancs részletei a

DOS dokumentációból, vagy a
    >HELP SUBST
paranccsal ismerhetők meg.

Szokásos használatára példa:
    >SUBST M: C:\@PSION\EMU,
ezután a C: lemez \@PSION\EMU alkönyvtárát M: logikai lemezegységként is látjuk.

Cseréje úgy történik, hogy először vissza kell vonni (törölni) a hozzárendelést a
    >SUBST M: /D
paranccsal, majd újat kiadni.

További lényeges dolog, hogy az M:-re helyettesítés csak úgy hozható létre, ha a CONFIG.SYS-ben a LASTDRIVE – a legmagasabb sorszámú logikai meghajtó – legalább M-re van állítva (figyelem, ha belenyúltunk a CONFIG.SYS-be, újra kell indítani a PC-t, hogy a változásnak hatása legyen!). Ezen túl amíg az  S3AEMUL fut, kényelmes lehet az A: (és ha van B:) lemezegység(ek) helyettesítése is, mert egy idő után megunjuk, ha az emulátor folyton a floppy meghajtó(ka)t szólongatja.

Legegyszerűbb az összes helyettesítési tennivalót, az emulátor indítását, kilépés után a helyettesítések visszavonását, majd esetleg egy más program indítását is – mondjuk, egy EMU.BAT nevű – DOS parancsfájlba írni, amit az elérési útvonalra kell tenni.

Tehát legyen a CONFIG.SYS-ben egy LASTDRIVE=M sor, használjunk egy alábbihoz hasonló parancsfájlt:
 

c: 
cd \@psion\emu 
subst m: c:\@psion\emu 
subst a: c:\@psion\a 
subst b: c:\@psion\b 
s3aemul.exe 
subst m: /d 
subst a: /d 
subst b: /d 
win 
7. Mit tegyünk, ha az emulátor első indításakor hibák lépnek fel?

Nem valószínűek ilyen problémák, de ha mégis előállnak,

8. Hogyan léphetünk ki az emulátorból?

A Psion-nál, ugye, ilyen feladat nem merül fel, hiszen az első bekapcsolástól kezdve az mindig fut (még akkor is, ha elemet cserélünk, vagy a képernyőt kikapcsoljuk és a gép csökkentett energia-felvételű "alvó" állapotba kerül).

Az emulátornál viszont van értelme ennek a lépésnek, mert a PC-t nem csak Psion-ként akarjuk használni.. Meg kell nyomni egyidejűleg a Ctrl-Alt-Esc vagy Ctrl-Alt-Z gombokat. További lehetőség, hogy egy olyan  programot (IMG vagy OPO) indítunk el, amely a HwExit (call($168e)) rendszerhívást tartalmazza, de ez utóbbit csak a sznobok csinálják :-)

Az elfeketedő képernyőn "Fatal application error 00" (végzetes alkalmazási hiba 00) üzenetet fogunk látni. Nem kell megijedni, ilyen a normális kilépés, valójában ekkor nincs semmi hiba. Alul visszakapjuk a DOS ">" parancsbevitel jelét is.

9. Miben nem teljes az S3a emuláció?

Vannak olyan funkciók, amelyeket nem vagy csak egyszerűsítve tartalmaz az emulátor. Ezek nélkül is ragyogóan használható ám, valamint a fogyatékosságok jó része meg is kerülhető valamilyen fortéllyal! Tehát a lista és esetenként zárójelben az aktuális fortélyok:

10. Milyen az emulátor klaviatúra kiosztása?

A PC klaviatúrán nincs egy csomó gomb, amit a Psion használ. Ezért valahogyan el kellett érni, hogy a szükséges gombok és funkciók működtethetők legyenek.

Az ún. AT klaviatúra felső F1-F12 gombsora a következő Psion gomboknak felel meg:

Az Alt a Psion  gomb megfelelője, az Insert gomb pedig a Shift-System helyett is használható (ezzel léphetünk tovább a következő futó programra, alkalmazásra).

11. Hogyan lehet az emulátor klaviatúráját átállítani?

A klaviatúra gombjainak térképeit az EPOC.DLL fáj tartalmazza, ebbe kell alkalmas módon belenyúlni (előtte készítsünk biztonsági másolatot!). Három térképet tartalmaz, egyet alapesetre, egyet a megnyomott Shift gomb esetére, egyet pedig a megnyomott Psion/Ctrl gomb esetére. Az 1994-04-12 dátumú, 94736 bájt hosszú fájl esetén az egyes táblák hexadecimális kezdőcímei a következők: normál - $32D8, Shift - $33D8, Psion/Ctrl - $35D8. Az átírás elvégezhető például a NU csomag DISKEDIT programjával. Ha valaki netán készít szabványos, magyar PC klaviatúrához új EPOC.DLL-t, jelezze. Nekem még annyira nem hiányzott, hogy csináljak, de ha lenne készen...

12. Vannak-e speciális emulátor tippek és trükkök?

Hogyne. Esetenként túlléphetünk a Psion szolgáltatásain is.

Psion emulátor 480x320 méretű képernyővel

13. Lehet-e soros vonalon gépközi kapcsolatot az emulátorból is létesíteni?

Igen, az emulátor System képernyőjéről is felépíthető a Psion-nal a kapcsolat, ugyanúgy kell bekapcsolni, mint magán a Psion-on. Ekkor a PC-ről nézve a Psion lesz a távoli, azaz REM:: gép. Alapesetben a kapcsolat a COM1 soros portot használja, de ha "-p2"-t írunk a "Remote link" dialógus "Extra parameters" sorába, akkor a COM2-t is használatjuk (pl. ha a COM1-et egér vagy más eszköz már fogja).

14. Milyen futás közbeni hibák léphetnek fel az emulátor használatakor?

Az alább ismertetettek ritkán fordulnak elő, és csak akkor, ha sérült vagy hibás programot futtatunk. Igen ám, de ha valaki az emulátorban fejleszt, még a legnagyobb gondosság mellett is írhat hibás programot. A hibák nagy részét ugyan kiszűri a fordító és a futtató rendszer, de néha ennél súlyosabb hibák is előállhatnak, tehát célszerű pár mondat erejéig foglalkozni a lehetséges következményekkel, és a további teendőkkel.

Az S3AEMUL alacsony szintű memóriakezelése különféle hibajelzéseket generálhat, amit "run-time error", azaz futás közbeni hiba néven ismerünk. Ilyen többek között akkor fordulhat elő, ha a futó program megpróbál a számára elkülönített kód- és/vagy adatszegmensen kívül írni vagy olvasni. Ez a Psion gépen az ún. "panic" állapothoz vezet, itt az S3AEMUL többnyire megfogja őket (utóbbi nem igaz az összes S3a panic-ra, hanem csak egy meghatározott hányadukra). Ilyenkor az egész emulátor – nem csak a hibát előidéző program – azonnal leáll, az összes le nem zárt fájl, adat és program elszáll (persze amit előzetesen fájlokba mentettünk, az nem). Az emulátor olyan gyorsan áll le, hogy a képernyő is grafikus módban marad, a PC viszont nem fagy le, tovább fut! Ilyenkor a normál karakteres módot DOS paranccsal állíthatjuk vissza: MODE co80. Ezt vakon kell beírni, mivel a képernyőn közben nem jelenik meg semmi, amíg a parancsot ki nem adtuk. Előfordulhat, hogy a PC memóriájába is valami "beragad" (ez a DOS MEM parancsával megvizsgálható), ezért jobb ilyenkor teljesen újraindítani a PC-t.

(c) CsA. Eredeti változat MS Word 6.0 formátumban - 1997. május, bővített HTML formátumban - 1998. január