PSION SIBO EMULATOR
Joop Nijenhuis©

wapperende Engelse vlag - waving flag with English colours wapperende Engelse vlag-waving flag with English colours Homepage logo Homepage logo OVER DE PSION SIBO EMULATOR   

De PC 3a

De PC 3a is een PC met daarop geïnstalleerd een Psion 3a emulator. Je kunt met de PC 3a alles doen wat je op je Psion ook kunt doen, zonder ingewikkelde trucs van vertalen en overzetten van gegevens. Alles één op één over, heen en weer.

Readme.txt voor S3AEMUL.EXE
Inhoud zip file
Licentie verklaring
Doelstelling
Installatie van de software
Enkele tips
Als het fout gaat...
Bediening
Linken met de emulator
Het geheugen probleem van > 64Mb met DOS versies < 7.0
Het geheugen probleem van > 64Mb met DOS versies > 7.0
Grote schijven, veel partities
Meerdere emulatoren met dezelfde "Psion" drives
De emulator in een emulator
En dan nog dit...
Terug naar het menu.

Inleiding
De Psion Series 3a - PC Emulator heeft minimaal een PC met een 80386 processor nodig met minimaal 4Mb geheugen. Verder is een vaste schijf (harddisk) met minimaal 2Mb vrije ruimte noodzakelijk alsmede een VGA monitor met VGA kaart. Op mijn XT past het dus niet, heel jammer, maar op mijn Pentium draait het als een zonnetje en op een 80386 gaat het inderdaad ook goed. De emulator werkt alleen onder DOS en niet met Windows, OS/2 of Desqview. Jaja...Onder DOS, klopt. Niet onder Windows klopt niet. Weliswaar geen Windows outfit, maar wel onder Windows in een DOS-box op te starten. Overigens niet een "gezonde" situatie omdat daarmee Windows instabiel wordt. Of je daar uiteindelijk last van hebt hangt af van configuratie, actieve programma's, hoeveelheid geheugen en hoe je de emulator hebt afgesloten. Voorgaande gaat op bij een Windows 95 installatie. Windows 98(of beter) pruimt dat niet. Nog steeds is het een en ander via Windows op te starten, eruit heeft de onvermijdelijke reboot tot gevolg, maar daar heeft dat pakket toch al patent op, so what? Niet onder OS/2, klopt. Desqview heb ik niet, maar desqview is een schilletje op DOS, dus er zijn dan vast wel wat trucs te bedenken. Niet genoemd, Windows 3.1 of 3.11. Ook een schilletje op DOS, dus met wat trucs startbaar.

De reden dat je minimaal een 80386 processor nodig hebt is dat de Psion de processor in protected mode zet en zo 512Kb geheugen in partjes van 64Kb opsplitst. In een echte Psion is dat met een 8086 processor op te lossen, in een PC lukt dat 1-2-3 niet. Er moet namelijk nogal wat verbruikt worden om alle adreslijnen te vertalen naar die van de PC en de Psion. Zo zit de video in de Psion op een andere plek in het geheugen dan in de PC, of wat dacht je van je toetsenbord, poorten, de virtuele drives die de ssd-slots moeten vervangen. Vandaar dat het dus jammer is dat het niet op een XT met een 8086 draait, maar het is wel begrijpelijk. Veel gehoorde kreet is dan dat de Psion enorm krachtig is en dat je daar dus wel een 80386 voor nodig hebt in de PC. Dat is niet helemaal juist, een 80386 was nodig vanwege de relatief makkelijker manier van emuleren. Verder zijn de prestaties van de Psion inderdaad opmerkelijk. Liep mijn PC met een 386 op 40Mhz rondjes om de Psion Series 3a, dit is goed te merken als je een grote sheet draait of een kaartenbak met enkele duizenden! records, de Psion Series 3mx geeft de pc het nakijken! In een onlangs door mij geschreven programma wordt dit nog eens bevestigd. Een Psion Series 3mx ingesteld op highspeed haalt een PC met een 386 40Mhz processor in! Eveneens haalt een Psion Series 3a een PC met een 386 8Mhz ook in! Hieronder enkele gegevens van diverse systemen.

Het programma meet hoelang een voortgangsbalk erover doet om van 0% naar 100% te komen.

  PC met een P4 2.8Ghz processor ± 1 sec.
  PC met een 386 40Mhz processor ± 42 sec.
  PC met een 386 8 Mhz processor ± 128 sec.
  Psion Series 3a/3c ± 108 sec.
  Psion Series 3mx highspeed ± 33 sec.
  Psion Series 3mx lowspeed ± 76 sec.

Nu had ik dit verhaal enige jaren geleden geschreven, tegenwoordig met het Pentium geweld zullen XT machines met een lantaarntje gezocht moeten worden en zal zelfs een 80386 of zelfs een 80486 al erg schaars zijn. Toch heb ik gemeend om dit verhaal toch nog enigszins zo te houden om onwetende gebruikers te laten zien wat met inmiddels eenvoudige middelen nog mogelijk is nu Psion is gestopt met het fabriceren van de bekende Psions. En je zal nu maar een Psion hebben die kuren gaat vertonen. Uit mijn helpdesk ervaringen voor de Psions kan ik je verklappen dat zelfs de kleinste Psion met 256Kb geheugen al heel veel informatie bevat dat NIET in een agenda, filofax of hoe die dingen ook maar mogen heten, is op te bergen. En dan hebben we het maar niet over speciale programma's zoals een ordinaire sheet, agenda enz. om nog maar te zwijgen over al die andere software.

De te lezen bestanden in het zipbestand zijn over het algemeen in het Engels en dat is toch even een klein probleem voor sommige gebruikers. Dus hieronder een "Nederlandstalige versie" van die tekst. Voor we daarmee verder gaan, in de tekst heb ik tips en hints gezet en die komen niet voor in het origineel. Dat heeft een aantal voordelen. De tekst is niet 1 op 1 en daardoor origineel en je weet hoe je zonder problemen de emulator kunt gaan gebruiken. In de praktijk is gebleken dat emulatoren voor andere talen of andere machines niet allemaal identiek reageren of werken. Op de pagina van de bewuste emulator wordt daar aandacht aan geschonken. Dit is dus een pagina met de rode draad!

ga naar de inhoudsopgave

Readme.txt voor S3AEMUL.EXE
Dit bestand verteld hoe het programma S3AEMUL.EXE gebruikt kan worden op een daarvoor geschikte PC. Het programma emuleert de Psion's S3a software. Deze tekst staat eigenlijk in dit verhaal uitgelegd, dus dat hier in verkorte vorm herhalen heeft geen zin. Merk op dat ik hier de Nederlandstalige Psion Series 3a emulator behandel. Er zijn ook andere machines en talen verkrijgbaar, zie voorgaand menu.

ga naar de inhoudsopgave

Inhoud zip file:
  readme.txt deze documentatie (engelstalig)
  licence.txt licentie verklaring (engelstalig)
  s3aemul.exe de emulator
  epoc.dll wordt gebruikt door de emulator (bevat EPOC!)
  epoc.rmi wordt gebruikt door de emulator (OS, APPS en EPOC!)
  hhserver.par configuratiebestand van de emulator
  rtm.exe run-time ondersteuning
  dpmi16bi.ovl run-time ondersteuning (protected mode 16 bit)

Aanvullende bestanden op de diskette van Psion Nederland:
  alloc.dmp geheugen dump bestand
  server.dmp emulator dump bestand
  config.sys configuratiebestand voor de pc
  start.bat opstartbatch voor de emulator
  lees.mij tekstbestand met enkele opmerkingen (nederlandstalig)

ga naar de inhoudsopgave

Licentie verklaring
Wow! Er staat zoveel als dat je geacht wordt eerst de voorwaarden voor het gebruik van de software te lezen en dat je daarmee accoord moet gaan. Helaas is die wel in het Engels! De licentie is vrij eenvoudig. Er staat in dat het programma gebruikt mag worden op een royalty vrije basis. Verder mag het programma gekopieerd en verspreid worden op de manier zoals je het ontvangen had. Er volgt een opmerking met wat de inhoud is en dan is er toch een probleem. De door Psion Nederland aangeboden diskette bevat meer bestanden dan in de licentie staat te lezen en dit is toch de vorm zoals ik hem had ontvangen! Omdat ik een diskette heb en jijzeer waarschijnlijk niet is de hier te downloaden distributies conform de originele licentie. Verder staat er te lezen dat het Britse recht van toepassing is, het eigendom bij Psion blijft en dat de licentiehebbende alleen dat mag doen wat er in dit document staat. Dus gebruiken, geen geld voor vragen en vrije verspreiding in een voorgeschreven vorm. De software mag niet gedecompileerd worden (reverse engineering). Verder een uitgebreid hoofdstuk over geen aansprakelijkheid, daarbij beginnen ze met dat het gratis is. Al met al geen onredelijke zaken en net wat ze zeggen, het is gratis. Dit was dus in grote lijnen de tekst uit licence.txt.

ga naar de inhoudsopgave

Doelstelling
Dit is zoveel als de doelstelling van het waarom van dit stukje software. En dat was niet meer en minder dan een hulpje voor de software ontwikkelaars. Verder dat je voorzichtig moet zijn en dat je vooral veel backups moet maken omdat er van alles kan gebeuren. Nu valt dat wel mee, al is het waar dat in sommige gevallen het totaal onduidelijk is waarom het systeem plotseling stopt. Dus zodra je iets slims of geniaals aan de machine hebt toevertrouwd kun je dat beter maar direkt opslaan. En ik spreek nu uit ervaring... Verder staat er dan te lezen dat het allemaal niet zo'n vaart loopt en dat het meevalt, en ook dat is waar, meestal doet de emulator wat ervan verlangd wordt. Tja, en dan natuurlijk de tekst dat Psion niet aansprakelijk is enzo. Dat dit speciaal geldt voor die situaties dat de emulator in Windows, OS/2 of Windows NT wordt gestart..., en dat kon toch niet? Ook daar heb ik al het een en ander over gezegd.

ga naar de inhoudsopgave

Installatie van de software
Als basis gebruik ik het zip-bestand zoals die is beschreven in licence.txt. Dergelijke zip-bestanden zijn ook hier te downloaden (het zijn linken naar andere sites omdat ik te weinig ruimte heb). We zitten hier op de Nederlandstalige pagina, dus het wordt de Nederlandstalige distributie.

Maak een directory aan op de vaste schijf. De tenaamstelling mag je zelf verzinnen, bij mij heet die directory 3AEMULNL, maar S3EMUL of zo gaat ook prima. Ik ga voor het gemak uit van station C:, maar dat mag ook een andere hogere stationsaanduiding zijn. Een lagere stationsaanduiding, dus A: en B:, zijn gereserveerd voor diskette stations en bovendien worden deze fysieke stations zometeen onbereikbaar, verderop lees je daar meer over. In DOS kun je een directory aanmaken met bijvoorbeeld;
	MD~C:\3AEMULNL[ENTER]
De [ENTER] geeft aan dat je op de ENTER-toets moet drukken en daarmee bevestig je de handeling. Het teken "~" staat voor een spatie. Kopieer naar deze directory het zip bestand en pak deze daar uit met een unzipper, pkzip enz. Geen unzipper?, hier kun je een DOS distributie downloaden, de site is helaas wel Engelstalig. PKWare is gestopt met de distributie van PKzip en PKunzip voor DOS. In de directory moet na het unzippen de volgende bestanden staan;
	S3AEMUL.EXE
	EPOC.DLL
	EPOC.RMI
	HHSERVER.PAR
	RTM.EXE
	DPMI16BI.OVL
	README.TXT
	LICENCE.TXT
Het bestand S3AEMUL.EXE mag een andere naam krijgen, maar de rest mag niet herbenoemd worden en moet de oorspronkelijke naam behouden. En hierna gaat het dan mis bij Psion. Het is aan te raden om naar deze directory ook SUBST.EXE en MODE.COM te kopiëren. De reden daarvoor zal ik zo meteen verklaren. Deze staan meestal in C:\DOS directory, zie onderstaand voorbeeld. De omvang en datum kunnen verschillen omdat deze afhankelijk zijn van de leverancier en de versie van het DOS. Het is aan te raden om minimaal DOS 3.3 te gebruiken. Sla alstublieft DOS 4.x over, dit is een onstabiele DOS versie. Ga dan over op DOS 5.0, DOS 6.0, DOS 6.22 of DOS 7.10.
	MODE    COM   23.841 11-06-94 17:44
	SUBST   EXE   18.606 11-06-94 17:44
Voordat we ook maar iets met SUBST.EXE kunnen gaan doen moeten we eerst nog wat subdirectories aanmaken die na het opstarten van de emulator de SSD slots en de interne schijf vervangen. Maak binnen de directory C:\3AEMULNL de volgende subdirectories aan;
	MD~C:\3AEMULNL\A[ENTER]
	MD~C:\3AEMULNL\B[ENTER]
	MD~C:\3AEMULNL\M[ENTER]
[ENTER] staat voor een druk op de enter-toets. Het teken "~" staat voor een spatie. Nu dat is gebeurd gaan we enkele aanpassingen maken in de pas gekopieerde bestanden in de directory C:\3AEMULNL. Het opstarten van de emulator is namelijk niet simpel even S3AEMUL intoetsen en daarom kan dat beter in een batch plaatsvinden. Dat batch bestand noem ik START.BAT. Met een ASCII tekstverwerker of een tekstverwerker die een bestand als ASCII kan opslaan maken we START.BAT aan. Ik gebruik nog steeds PC-Write en heb dat pakket zelf gedeeltelijk naar het Nederlands vertaald. In bepaalde DOS versies kan dat met;
	EDIT~START.BAT[ENTER]
[ENTER] staat voor een druk op de enter-toets. Het teken "~" staat voor een spatie. In het volgende voorbeeld staan regels die beginnen met "REM". Deze mag je overslaan, ze hebben geen invloed op de werking van het bestand en zijn alleen bedoeld als commentaar. Het teken "~" staat voor een spatie. De inhoud van het nieuw te maken batch bestand is als volgt;
	REM Zorgt ervoor dat altijd naar de C: schijf wordt gegaan
	C:
	REM Zorgt ervoor dat altijd gewerkt wordt vanuit de root
	CD\
	REM Zorgt ervoor dat altijd omgeschakeld wordt naar de juiste directory
	CD\3AEMULNL
	REM Zorgt ervoor dat alle noodzakelijke "Psion" drives worden aangemaakt
	SUBST~A:~C:\3AEMULNL\A
	SUBST~B:~C:\3AEMULNL\B
	SUBST~M:~C:\3AEMULNL\M
	REM Start de emulator
	S3AEMUL
	REM Zorgt ervoor dat de "Psion" drives worden opgeruimd na het afsluiten van de emulator
	SUBST~A:~/d
	SUBST~B:~/d
	SUBST~M:~/d
Bewaar dit bestand als START.BAT en in leesbare tekst. Je kunt dat controleren in DOS door in te toetsen
	TYPE~START.BAT[ENTER].
Het teken "~" staat voor een spatie. Als je vreemde niet leesbare tekens op het scherm ziet of vreemde piepjes hoort heb je het bestand niet in ASCII of "DOS tekst" bewaard. Probeer opnieuw. Met de opdracht TYPE kun je niets vernielen, deze controle is dus een heel veilige controle! Hier zie je ook waarom de fysieke stations A: en B: na het starten van de batch onbereikbaar zijn geworden!

Het bestand met de naam CONFIG.SYS moet ook nog even worden nagekeken. Dit bestand is net als START.BAT een bestand in leesbare tekst. In zekere zin doet dit bestand hetzelfde als START.BAT maar dan op systeem niveau. Zodra je de computer in DOS start wordt het bestand CONFIG.SYS door het systeem gelezen en worden de in dit bestand opgenomen opdrachten uitgevoerd. Met alweer TYPE kun je dus CONFIG.SYS even uitlezen. Als het bestand CONFIG.SYS wat lang is raast dit nu over het scherm en heb je nog niks gezien. De volgende regel doet het dan beter.
	TYPE~CONFIG.SYS~¦~MORE. 
Het teken "~" staat voor een spatie. Het teken "¦" noemt men een sluisteken (pipe). Het kan voorkomen dat uw DOS dit niet snapt, neem dan dit teken "|". Dit teken zorgt ervoor dat zowel TYPE als MORE elkaar opdrachten kunnen geven. Het bestand CONFIG.SYS staat in de root van je vaste schijf van waaruit wordt opgestart, normaal is dit schijf C:. Als je vervelende boodschappen krijgt van dat het bestand fout is of niet te vinden moet je een pad opgeven. De eerder opgegeven regel kan er dan zo uit zien;
	TYPE~CONFIG.SYS~¦~C:\DOS\MORE
Het teken "~" staat voor een spatie. Onderstaande regels moet je beslist tegenkomen, dat hoeft dan niet onder elkaar zoals hier.
	DEVICE=C:\DOS\ANSI.SYS
	BUFFERS=40,0
	FILES=40
	LASTDRIVE=Z
	BREAK=ON
	SHELL=C:\DOS\COMMAND.COM~C:\DOS\~/P~/E:2048
Voor DEVICE kun je ook tegenkomen DEVICEHIGH. De opdracht is identiek, met dit verschil dat DEVICEHIGH de opdracht in hoger gelegen geheugen plaatst. Voor de werking maakt het niets uit. Buffers mag een andere waarde hebben, kleiner zou ik met de huidige systemen niet doen en groter maakt het systeem ietsje trager. De opdracht FILES beslist zo laten staan. De opdracht LASTDRIVE zou ik persoonlijk zo laten staan, maar de letter moet minimaal de "M" zijn omdat deze letter wordt gebruikt in START.BAT en dit de interne schijf voorsteld in de emulator. De opdracht BREAK=ON is altijd handig. Met [Control]+[BREAK] kan een eventuele vastloper worden beëindigd, garanties tot het einde van deze regel om het maar zo te zeggen. Kortom soms lukt het en soms ook niet. In de emulator werkt het zeker niet omdat de emulator deze toetscombinatie afschermd, maar in de opstartfase met START.BAT werkt het zeker. Voor het geval de opdrachten in START.BAT bij jouw niet helemaal begrepen worden zal ik maar zeggen. De regel met SHELL is een mond vol, maar het voorkomt soms enkele vervelende vaak niet begrepen opmerkingen van DOS. De regel zorgt ervoor dat COMMAND.COM ten alle tijde het systeem vertegenwoordigd en dus alle bovenstaande opdrachten ook netjes worden begrepen. De toevoeging /E:2048 zorgt ervoor dat je niet zonder ruimte komt te zitten voor het geven van opdrachten omdat het environment geheugen in ene is volgelopen. Met deze opdracht is het mij althans nog niet vaak overkomen en ik maak gebruik van zeer lange prompts. Een prompt is zoveel als C:> onderaan je scherm met daarachter een knipperend blokje ook wel de cursor genoemd. Tja, even wat bijspijkeren als je in Windows was begonnen en niet in DOS. Als jouw CONFIG.SYS bovenstaande regels niet bevat moet je CONFIG.SYS aanpassen. Alweer kan die EDIT uit de kast gehaald worden. Zorg ervoor dat het bestand als DOS tekst of in ASCII wordt weggeschreven (gesaved). EDIT doet dit automatisch. Als het bestand CONFIG.SYS is aangepast moet je de computer wel eerst opnieuw booten, of te wel eerst uit en daarna weer aanzetten, om de nieuwe regels in het bestand CONFIG.SYS van kracht te laten worden.

ga naar de inhoudsopgave

Enkele tips
In principe kunnen we nu met START de emulator opstarten en als alles zoals hiervoor beschreven staat correct was uitgevoerd heb je de emulator op het scherm. Zo niet, zie hieronder, misschien heb je een probleem met de combinatie van hardware en het OS. Maar als de emulator wel op het scherm staat, dan zijn er zo nog van die tips en trucs die het leven net even aangenamer maken. Dus daar gaat ie weer....

In de directory 3AEMULNL staat ook het bestand HHSERVER.PAR. Hernoem dat naar HHSERVER.ORG. Kopieer vervolgens het bestand HHSERVER.PAR naar 640X480.PAR en naar 480X160.PAR;
	640X480.PAR 56 28-12-97 23:46
	480X160.PAR 56 28-12-97 23:47
De bestandjes bestaan uit twee regels en dit is de inhoud van 640X480.PAR;
	SERVER_PARAMS -X640 -Y480 -D
	SERVER_DUMP server.dmp
In het bestand 480X160.PAR is de -X640 vervangen door -X480 en -Y480 door -Y160.
De optie "-D" kan met de regel "SERVER_DUMP server.dmp" eventueel worden weggelaten!. De optie "-D" staat voor Dump.

Nu hebben we nog twee batch bestandjes nodig die iets met die PAR bestandjes doen. Daarvoor gebruik ik de volgende twee batch bestandjes;
	KLEIN.BAT		283 04-02-00 20:51
	GROOT.BAT		283 04-02-00 20:51
De inhoud van GROOT.BAT is als volgt en zo over te nemen. Alweer moet dit in ASCII worden bewaard, dus je kan die EDIT weer uit de kast halen. Het teken "~" staat voor een spatie.
	ECHO~OFF
	CLS
	ECHO
	ECHO
	ECHO
	ECHO~Dit~is~de~batch~file~om~de~parameterfile~om~te~zetten~naar
	ECHO~een~groot~scherm.
	ECHO
	ECHO
	ECHO~Voor~okay,~druk~op~een~willekeurige~toets
	ECHO~Indien~ongewenst,~druk~op~[Ctrl]+[C]
	PAUSE~>~NUL
	COPY~640X480.PAR~HHSERVER.PAR
	CLS
In bovenstaande tekst staat ECHO, maar dat is dus schijn. In werkelijkheid staat er ECHO [ALT][2][5][5]. De combinatie [ALT][2][5][5] zit als volgt in elkaar. Druk op de [ALT]-toets en houdt deze ingedrukt. Toets nu in het rechter cijfergedeelte van het toetsenbord de cijfers [2][5][5] achter elkaar in en laat de [ALT] toets los. Je ziet de cursor een positie opschuiven. De combinatie geeft namelijk een onzichtbaar teken. Deze hele truc zorgt ervoor dat bij het starten van dit bestand DOS een lege regel op het scherm schrijft. De opdracht "ECHO." werkt niet in alle DOS versies! De opdracht PAUSE zorgt ervoor dat je de gelegenheid krijgt de voorgeprogrammeerde boodschap te lezen. PAUSE wacht op een toetsdruk en normaal wordt dit door PAUSE zelf gemeldt. Alleen die boodschap verstoort onze opzet en dus laten we met ">~NUL" die boodschap naar het digitale niets verdwijnen. De volgende regel kopieert het 640X480.PAR bestand naar HHSERVER.PAR. En de laatste is nodig voor een correcte werking van de emulator. Dus voor dat je de emulator opstart eerst of GROOT.BAT of KLEIN.BAT draaien. De laatste opdracht "CLS" zorgt ervoor dat het scherm weer schoon wordt. Het bestand KLEIN.BAT doet precies hetzelfde, met dit verschil dat 480X160.PAR naar HHSERVER.PAR wordt gekopieerd. Het bestand HHSERVER.PAR moet dus altijd aanwezig zijn! Software ontwikkelaars kunnen natuurlijk deze batch in START.BAT opnemen zodat je bij het starten altijd eerst de vraag voor groot of klein moet beantwoorden. Het is maar wat je het beste uitkomt.

ga naar de inhoudsopgave

Als het fout gaat...
Mooi, we kunnen nu dus kiezen tussen een scherm met dezelfde afmetingen als onze Series 3x of het volledige scherm van de monitor. Dan volgt nu wat er kan gebeuren als het niet helemaal volgens de regels verloopt, kortom als de wetten van Murphy ondubbelzinnig worden toegepast.

Een van die zaken die dan scheef kan gaan is dat de emulatie abrupt stopt en daarmee om de een of andere reden het bestand SERVER.DMP aanpast tot eentje van 0 bytes. Gevolg is dat de emulatie daarna niet meer wil opstarten. Dit probleem is te omzeilen door of SEVER.DMP te wissen of SERVER.DMP te kopiëren naar SERVER.ORG. Het bestand SERVER.ORG is onbekend bij de emulator en zal dus niet worden gewijzigd. Wordt nu SERVER.DMP overschreven, dan kunnen we eenvoudig SERVER.ORG terugkopiëren naar SERVER.DMP. Hieronder een andere onbekende wijziging. Waarom nu in ene het bestand maar 8 bytes telt inplaats van 14 is mij nog steeds een raadsel. Zie verder hierboven voor mijn allerlaatste vinding!
	SERVER.DMP  8 19-11-00 16:53
	SERVER.ORG 14 16-01-95 15:37
Met het uitbreiden van het geheugen had ik ook een vaste schijf bijgeplaatst (alweer vol ;-( ). Die schijf is opgedeeld in partities en ik moest voor mijn ZIP-drive en mijn CD-ROM een andere driveletter kiezen. Dus ik dacht slim te zijn en deze achterin het alfabet te zoeken. Maar de toen aangemaakte fysieke drives X: en Y: maakte de emulator zeer onstabiel. Of het echt aan de emulator ligt of aan SUBST.EXE weet ik niet, maar zorg er in ieder geval voor dat alle fysieke drives een driveletter krijgen toegewezen onder de letter M:. Het maakt verder niet uit of na de letter M: er nog meer driveletters worden toegekend, zolang dit maar substituten zijn die aangemaakt zijn door SUBST.EXE.

Ook het niet beschikbaar hebben van drive/schijf M: maakt de werking van de emulator zeer ongewis. Het hebben van START.BAT en het opstarten van de emulator via deze batch is dus zeer belangrijk!

De "low-level" geheugen manager in S3AEMUL kan op problemen stuiten die beter bekend zijn als "run-time errors". Meestal is dit te wijten aan oneigenlijke condities zoals programma's die buiten de limieten van de code om proberen te lezen of te schrijven. In een echte Series 3a geeft dit "panic's", maar in de emulator worden ze veel sneller op een veel lager niveau al gedetecteerd. Dit gezegd hebbende moet ook gezegd worden dat niet alle "panic's" ook "run-time errors" zijn, slechts een klein aantal zijn verwerkt. Als er een "run-time error" zich voordoet kan de gehele emulator in een keer stoppen. Alle programma's en niet bewaarde data gaan dan verloren. De programma's en data op schijf blijven intact. Het stoppen gaat zelfs zo plotseling dat het scherm nog steeds in de grafische mode staat ingesteld. En nu komt dat programma MODE.COM aan bod! Op het moment dat de emulator er mee stopt zit je tegen een zwart scherm aan te staren dat alleen grafische opdrachten kan verwerken. Alles wat niet grafisch is, dus gewone tekens, kunnen niet worden weergegeven. Om ervoor te zorgen dat het scherm weer terugkeerd naar tekst modus moet blind worden ingetikt MODE~co80[ENTER]. Het teken "~" staat voor een spatie. Het programma MODE moet dan wel gevonden kunnen worden. Vandaar dat het programma in de CONFIG.SYS al is aangemeldt, in feite wordt er een resident gedeelte geladen, en vandaar dat het programma, in feite het runtime gedeelte, in de Psion directory moet staan! Na het uitvoeren van de opdracht is het scherm als het goed is teruggekeerd naar tekst modus en kun je weer zien wat je aan het intoetsen bent. Het kan handig zijn om nadien naar de DOS directory te gaan en de opdracht MEM[ENTER] te geven om te zien of het volledige geheugen wel weer beschikbaar is. Als in de lijst staat dat de emulator nog draait moet je de computer laten rebooten of te wel uit en weer aanzetten. De reset knop is ook erg handig. Uit ervaring kan ik al melden dat dit zeer zelden voorkomt. Tot nu toe heb ik dit slechts maar een paar maal meegemaakt en veelal door eigen schuld!

Een minder ernstige, eigenlijk onschuldige, melding is "Fatal application error 00". Deze melding kun je tegenkomen als je de emulator verlaat/afsluit. De melding is een logische, de emulator detecteert een fatale fout, namelijk het afsluiten, en kan dat nog net naar het scherm sturen door de ingebouwde foutroutines. Dezelfde foutroutines worden namelijk ook in de emulator gebruikt en dan is het wel zo prettig om te weten waarom je pas geschreven programma er in ene abrupt mee stopt.

Andere nog nooit door mij waargenomen fouten betreffen onder andere het probleem van onvoldoende geheugen. Daar is slechts één goede methode voor om dat voor te blijven. Zorg ervoor dat je tenminste aan de minimum vereisten voldoet en draai het programma exclusief naast DOS en verder niets, dus ook geen ramdisk of iets dergelijks. Daarbij kan ik melden dat een netwerk opgebouwd met een NETBEUI systeem geen problemen heeft gegeven mits er voldoende geheugen is. Zorg ook voor meer vrije ruimte op de vaste schijf dan de genoemde 2Mb. Ik heb met mijn emulatoren, programma's en ontwikkelomgeving inmiddels iets meer dan 200Mb nodig. Standaard alleen één emulator draaien met bijbehorende backups van de "echte machine" met de officiële SSD's met maximale omvang is als voorstel de volgende ruimte nodig.

	Emulator programa
	Emulator drive M:
	Emulator drive A:
	Emulator drive B:
	Backup 3x
	SSD links
	SSD rechts
	SSD Ram links
	SSD Ram rechts

	Totaal
  2,5 Mb
  2    Mb (van de emulator)
  4    Mb (van de emulator)
  4    Mb (van de emulator)
  2    Mb (de backup van uw Series 3x)
  4    Mb (Flash SSD)
  4    Mb (Flash SSD)
  1    Mb (RAM SSD)
  1    Mb (RAM SSD)
---------
24,5 Mb

Als je geen SSD ram bezit kunnen die weer worden afgetrokken, maar wees vooral niet te krenterig. Voor je het weet staan er in drive A:, B: en M: veel meer programma's en bestanden dan op een echte Series 3x. In de emulator kan dat zonder problemen! Mijn hele schijf heeft het maximum geldend voor de kleinste cluster van 8192 bytes en dat is 534Mb en de emulator heeft daar geen problemen mee! Een partitie met dezelfde omvang op een grotere vaste schijf geeft geen problemen.

De emulator emuleert een Series 3a. Mooi, maar die heeft geen geluidskaart van bijvoorbeeld Sound Blaster aan boord. Dus ook al die prachtige piepjes van de Psion worden niet goed doorgegeven. Bij mij werken tot nu toe Carillon, Stilte en verder geeft alles hetzelfde geluid als de Bel. Andere bestanden van het type WVE zullen dus niet dat geluid geven wat er van wordt verwacht. In het verlengde daarvan, ook programma's die iets met dat geluid doen zullen een van bovenstaande fouten genereren, meestal die van het type "run-time error" met bijbehorende reacties.

Verder kan het voorkomen dat een applicatie van de Series 3a niet correct of in het geheel niet wil werken op/met de emulator. Programma's die gebruik maken van floating point berekeningen kunnen fout gaan. Dit is ook een van de redenen dat Sheet soms plotseling abrupt stopt. Na een formule even de zaak dus "saven" en dan pas Sheet laten rekenen! In een echte Psion kan Sheet een lege cel berekenen, dit is niet het geval in de emulator! De meeste applicaties doen echter wat ze moeten doen, gewoon draaien zonder een centje pijn!

Oh ja, bijna vergeten, maar als je de emulator start krijg je precies hetzelfde scherm als van een Series 3a met een harde reset, kortom hij is alles vergeten. Om alles weer in te stellen zijn er twee methoden. De eerste is alles met de hand weer opnieuw instellen, gaat waarschijnlijk vervelen. De tweede methode is het toepassen van een programma die dat voor je regelt. Beetje vervelend is nu wel dat de Nederlandstalige emulator een "vreemd" serienummer teruggeeft en dat veel van die programma's dat niet snappen en dus niet correct werken. Ik heb dat opgelost door het programma Re-Set te schrijven. Het programma is op deze site als "registerware" te downloaden. Uiteraard is de werking van het programma niet uitsluitend voorbehouden aan de emulator, ook alle Series 3x kunnen er mee uit de voeten, zolang die maar Nederlands, Vlaams of Engels spreken. Alternatief is MACSYS, alleen "de bediening" schijnt iets moeilijker te zijn. Er zijn andere programma's die veel op Re-Set lijken, alleen die doen het niet vanwege dat versienummer verhaal. Op zich lijkt dat niet erg, maar ook alle toetsen van de Psion kloppen dan niet en "Yes" is toch echt iets anders dan "Ja" voor een Psion.

ga naar de inhoudsopgave

Bediening
Een PC toetsenbord heeft geen knoppenbalk, in ieder geval niet een die ook maar enigszins lijkt op die van een Psion. Dus de "Psion-knoppen" moeten worden vertaald en dat is als volgt gedaan;

F1   =System
F2   =Data
F3   =Word
F4   =Agenda
F5   =Time
F6   =World
F7   =Calc
F8   =Sheet
F9   =Menu
F10 =Help
F11 =Simulatie dat de machine uit en weer aan wordt geschakeld en alleen effectief met ingesteld wachtwoord [Psion][w]. Mooie beveiliging voor even naar het toilet of telefoon!
F12 =Diamand toets

De [ALT] toets is de Psion toets. De [Insert] toets is een alternatief voor [Shift][System] op de Psion. Heel handig om snel door alle openstaande applicaties heen te bladeren inclusief TIME en SYSTEM.

De emulator verlaten is een beetje een krampachtige zaak. Er moeten namelijk drie toetsen tegelijkertijd worden ingedrukt. De combinaties zijn;
	[Ctrl]+[Alt]+[Esc]
of
	[Ctrl]+[Alt]+[Z]
Nergens "genoemd", maar het werkt wel;
	Een harde reset gaat met [Ctrl]+[Alt]+[Shift]+[R] (veroorzaakt een runtime fout 216)
	Een "soft" reset gaat met [Ctrl]+[Alt]+[Shift]+[K]
	In de rechteronderhoek worden in een regel geheugen gegevens getoond met [Ctrl]+[Alt]+[Shift]+[C]
De emulator werkt officieel alleen goed met toetsenborden met een Engelse layout. Anders talige toetsenborden werken ook, alleen zitten tekens soms op een vreemde plaats of moeten er meer toetsen tegelijk ingedrukt worden om hetzelfde resultaat te bereiken. Voor de Engelstalige versie heeft Uwe Kallmeyer de adressen in EPOC.DLL gevonden waar deze toetscodes worden bepaald. Het betreft drie tabellen, een voor de [Psion][Ctrl] toetsen, een voor de [SHIFT][toets] toetsen en een voor de normale toetsen. Over andere combinaties wordt niet gesproken. De tabellen starten voor het bestand van 04-12-93 met een omvang van 94.736 bytes op;
	Psion-Ctrl		$35D8
	Shift			$33D8
	Normaal		$32D8
Op Nederlandstalige toetsenborden zit het plusteken achter [Ctrl]+[Alt]+[°]. Ook andere tekens moeten vaak met een combinatie worden aangeroepen, maar dan wordt het wel een erg lang lijstje. Het "@"-teken kan alleen via een pakket als Charm worden opgehaald, er zijn helaas geen toetsen of combinaties die dit teken tevoorschijn toveren. En dat is heel vervelend bij het instellen van mail programma's binnen de emulator. Ervaring met een Engelstalig toetsenbord heb ik niet.

Met het installeren van een nieuwe hex-editor voor DOS heb ik het bestand EPOC.DLL uit de Nederlandse distributie bekeken. Daarbij bleek dat de informatie uit FAQ hoofdstuk 7.3 niet klopt. Er zijn geen drie maar vier tabellen. Verder starten de tabellen uit de Nederlandse distributie op een ander adres, het bestand heeft 02-12-94 als datum en heeft een omvang van 103.440 bytes;

	Normaal	3350H
	Shift		3450H
	Alt/Ctrl?	3550H
	Psion	3650H

Ik heb voor de Nederlandse distributie een op een Nederlands toetsenbord gebaseerde EPOC.DLL gemaakt en deze is hier te downloaden. Dit bestand werkt dus alleen met de distributie S3AEMULDU.ZIP (of welke naam er ook aan gegeven is).

De toetscombinatie [Shift]+[Ctrl]+[Alt]+[S] maakt een schermafdruk en bewaard deze in het bestand SCREENxx.PIC. Dit bestand wordt in de opstartdirectory van de emulator geplaatst. De "xx" in de bestandsnaam wordt vervangen door een volgnummer beginnend met "00", zie voorbeeld hieronder. Na nummer "99"! gaat het dus weer naar "00".

	SCREEN00.PIC 76.832 14-10-00 21:16
	SCREEN01.PIC 76.832 14-10-00 21:16
	SCREEN02.PIC 76.832 14-10-00 21:16

De bestandsomvang is geldig voor een volledig VGA scherm, bij een Series 3a scherm is de omvang 19.232 bytes. Bedenk verder dat de emulator start met SCREEN00.PIC en niet eerst even kijkt of zo'n bestand al bestaat. Dus na een herstart wordt een reeds bestaande SCREEN00.PIC of opvolgers zonder pardon overschreven. Dus eerst oude schermen even een andere naam geven en als het even kan ook verhuizen naar de directory "\PIC" in drive M:. Overigens werkt deze truc ook op een echte Series 3x. De toetscombinatie wordt dan [Shift]+[Ctrl]+[Psion]+[S]. Er is echter één verschil. Het bestand dat in de root van drive M: wordt bewaard kent maar één naam en dat is SCREEN.PIC. Opnieuw de toetsencombinatie hanteren zal het oude bestand in tegenstelling tot de emulator overschrijven. Deze combinatie is geldig voor MC, S3, S3a, S3c, S3mx, Siena en Workabout.

Er zijn ook zaken die niet werken.

[Caps Lock] werkt wel, maar het bijbehorende symbool verschijnt niet in het statusvenster
[SHIFT][F12] werkt niet
Het toetsenbord rechtstreeks scannen werkt niet, dit kan problemen geven bij met name spelletjes.

ga naar de inhoudsopgave

Linken met de emulator
Het is mogelijk om in de emulator gebruik te maken van de seriële poorten op de PC. Deze faciliteit maakt het mogelijk om de PC aan een Series 3x te "linken" met alle mogelijke faciliteiten van dien. Er zijn echter nog wel een paar probleempjes die relatief eenvoudig zijn op te lossen. Een van die problemen is dat in de meeste gevallen er op seriële poort 1 (COM1) een muis is aangesloten. Op seriële poort 2 (COM2) meestal een modem. Wat nu? Het meest eenvoudige is om tussen modem en seriële poort 2 een schakelkastje te nemen. Het modem, of is het de modem?, schijnt beter bestand te zijn tegen omschakelen dan muizen. Het heeft mij in ieder geval een trackbal van € xx,xx gekost. Het schakelkastje moet minimaal twee aansluitingen hebben plus uiteraard de verbinding tussen de kast en de PC. Op een van de aansluitingen komt nu het modem en op de andere aansluiting de 3-Link kabel als het een Series 3a betreft of een kabel met die platte steker als het een Series 3c, 3mx of Siena betreft. Eenmaal aangesloten kan met [Alt]+[L] of via het Menu speciaal en dan 3-Link, een verbinding worden gemaakt met de Psion.

In het menu moeten we nog even het een en ander regelen. Een van de belangrijke zaken is het instellen van de baudrate. Stel deze in op 9600 of 19200. Doe dit op zowel de emulator als op de Psion. Standaard kan de emulator nu communiceren met seriële poort 1 (COM1). Bij gebruik van seriële poort 2 (COM2), al dan niet via schakelkast, moet in de emulator bij extra parameters "-p2" worden ingevuld. De letter "p" kan ook "P" zijn, dat maakt niets uit. En uiteraard moet op de eventueel in gebruik zijnde schakelkast de juiste poort worden gekozen. De Psion Series 3x kent maar een poort, zodat in dit geval niets ingevuld moet worden bij extra parameters. Zodra de verbinding tot stand is gekomen kun je bestanden uitwisselen, een backup maken etc. Afhankelijk van de machine waarop je gaat werken wordt de computer aan de andere kant aangegeven met "REM::". Houdt er rekening mee dat het op een Series 3x even duurt voordat de directories van een vaste schijf (harddisk) volledig zijn ingelezen, deze zijn immers veel groter dan 2Mb. Zorg ook voor voldoende ruimte! op een Series 3x. Een backup naar de PC moet gestart worden vanaf een Series 3x omdat het menu van Backup bestanden slechts toestaat dat er een backup gemaakt wordt van A, Intern of B. Bij "naar dir" en dan "disk" kan wel gekozen worden uit alle beschikbare schijven, dus ook die van de aangesloten PC, herkenbaar aan "REM::". Voordat je deze actie ook echt uitvoerd, backup niet naar een root directory op de PC, dus geen C:\ of D:\ of een nog hogere schijfaanduiding. Maak de backup altijd naar een subdirectory, bijvoorbeeld C:\BACKUP of C:\PSION\BACKUP\M. De reden hiervan is gelegen in het feit dat de PC slechts een beperkt aantal bestanden kan opslaan in de root directory, afhankelijk van de versie van DOS 128 of 256 bestanden. Dit gaat overigens ook op voor je Psion! en dan ligt het maximum zelfs nog lager. In plaats van een Psion kan er ook gekozen worden voor een modem en kun je met een communicatie programma verbindingen maken met bulletin boards en internet.

Nog een tip, na het backuppen of kopiëren van bestanden is het goed om de Link-indicator op de Series 3x in het statusvenster goed in de gaten te houden. Zodra deze niet meer "loopt" kan de verbinding verbroken worden, meestal duurt dit een goede minuut. In deze tijd wordt namelijk het bestandssysteem bijgewerkt. Bij gebruik van seriële poort 2 (COM2) in de emulator verdwijnt de Link-indicator uit het statusvenster van de emulator, de enige indicator die dan overblijft zit op de Psion zelf.

ga naar de inhoudsopgave

Het geheugen probleem van >64Mb met DOS versies <7.0
Dat de PC minimaal 4Mb geheugen moest hebben weten we inmiddels uit bovenstaande inleiding. Geheugen boven de 16Mb heeft bij mij op een aantal machines vreemde trekjes laten zien. Dat ligt aan de geheugenmanager van de Psion emulator. De stabiliteit werd er niet door aangetast. De hier beschreven test is uitgevoerd met een Pentium III met veel meer geheugen dan 64Mb. Vervolgens daar OS/2 opgezet, draait als een zonnetje (dit geeft aan dat de machine okay is omdat OS/2 het meest kritisch is). MS-DOS versie 6.22 erbij, draait als een zonnetje. Emulator erbij, zo van de oude machine overgenomen. Batches aan de nieuwe schijfletters en directory structuur aangepast. Even testen en niks. De pc boot keer op keer. Na lang zoeken! bleek het te zitten in de hoeveelheid geheugen. Ik had toevallig een latje van 64Mb, alle andere latjes waren groter en dat is de "mazzel" geweest. Anders had ik het wellicht nooit gevonden! Het geheugen moet voor de emulator 64Mb of minder zijn. Is het meer dan 64Mb, dan wordt de PC bij het starten van de emulator spontaan geboot. Na enig denkwerk was het me helder van waarom. De emulator is geprogrammeerd als "large model" en neemt daarom de hele computer in beslag. Waarschijnlijk kan de emulator niet meer geheugen aan dan 64Mb, daarbij is het erg afhankelijk van DOS. De conflicten ontstaan tussen de geheugenmanagers en de emulator. De geheugenmanagers van DOS 6.22 kunnen meer adresseren dan 64Mb, echter de emulator kan niet meer aan. Dit conflict eindigt dus in een reboot. Voor degene die DOS 6.22 of ouder hebben staat hieronder een oplossing.

De geheugenmanagers van DOS zijn aangepast aan de modernere computer met de mogelijkheid van het installeren van meer geheugen dan 64Mb, alleen zoals bekend van alle Microsoft artikelen trekt het zich niets aan van de daarbij ontstane problemen, in dit geval te veel geheugen. Slechts één OS (Operating System=besturings systeem) vond dit niet goed en dat was OS/2 (Net zoiets als Windows, maar dan veel beter). Vandaar dat in veel BIOSsen (Basic Input Output System) bij de "Bios Features Setup" de keuze "OS select for DRAM >64Mb" is te vinden. Soms heet het iets anders, bijvoorbeeld op een P4P800SE van ASUS heet het "Boot to OS/2" en is te vinden in het "Boot Settings Configuration" menu. Op een Compaq Deskpro zijn dit soort instellingen niet mogelijk, de enige mogelijkheid die er dan overblijft is het geheugen te reduceren tot maximaal 64Mb. De instellingen zijn meestal "Non-OS/2" en "OS/2" of "No" en "Yes". Met als uitleg dat je deze vraag moet beantwoorden met "OS/2" of "Yes" als je OS/2 draait. Dus bijna alle moederborden staan op "Non-OS/2" omdat men draait met Windows of DOS. Dus vanuit het BIOS worden er geen restricties opgelegd! En zo gaat het alsnog in een aantal gevallen helemaal fout!

De reden dat er een "Boot to OS/2" of de betere benadering van "OS select for DRAM >64Mb" bestaat is gelegen in de constructie van de geheugenmanagers. Bij OS/2 tot versie 3.0(?) was 64Mb het toen gedachte maximum. Meer geheugen gaf conflicten. Andere OS'en hadden dezelfde problemen, maar deden of er geen problemen waren. Degene die dan die grens opzochten werd dan getrakteerd op wat vaak genoemd wordt als "blauwe schermen". OS/2 deed wel een test en startte gewoon niet op vanwege die conflicten. Dus dat is de reden dat het ingebouwd zit in de BIOS'en, alleen de vraag is "hoelang nog?". De emulator is met een gelijksoortig geheugenmodel in elkaar gezet en heeft dus ook last van te veel geheugen. Met deze restrictie in het BIOS werkt de emulator dan wel vooropgesteld dat de geheugenmanagers van het DOS dat ondersteunen. Zo niet, dan boot het systeem.

De vraag is dan gerechtvaardigd of met al dat modernere geweld geen conflicten ontstaan. We willen immers wel gebruik maken van meer geheugen met onze modernere OS'en en niet gelimiteerd worden tot slechts 64Mb. De laatste versies van de verschillende besturings systemen hebben allemaal inmiddels geheugenmanagers die zich niets aantrekken van deze instelling in het BIOS, ze regelen het namelijk nu zelf. Inmiddels uitgetest met OS/2 Warp 4.0 NL zonder fixpacks, OS/2 Warp 4.0 NL met fixpack versie 9, eCS versie 1.2 NL, Windows 98, Windows 98se, Windows XP Home edition, DOS 7.10. De instelling kan dus rustig blijven staan op "OS/2" of "Yes", want de emulator met DOS tot en met versie 6.22 heeft dat toch echt nodig!

ga naar de inhoudsopgave

Het geheugen probleem van >64Mb met DOS versies >7.0
Ik heb onlangs met DOS 7.10 kunnen testen op een Compaq Deskpro met 128Mb geheugen en een P4 met 1024Mb geheugen. De reden hiervoor is dat DOS tot versie 6.22 niet overweg kan met de moderne schijf en partitie beheerders. Na zijn eigen boot partitie ziet DOS alleen nog de CD-drive, zelfs als er vergelijkbare schijven of partities met een hogere aanduiding dan "C:" aanwezig zijn. De Compaq heeft in het BIOS geen instelling voor "OS select for DRAM >64Mb" of "Boot to OS/2" (terwijl OS/2 wel wordt aangeboden als besturingssysteem in de catalogus). Met de oudere versies van DOS kon de emulator niet worden opgestart omdat dit een reboot tot gevolg had. In een relatief kaal opgestart DOS 7.10 heb ik met bovenstaande START.BAT succesvol de emulator kunnen opstarten. Op mijn P4 met 1024Mb geheugen heb ik meerdere oplossingen gevonden! Van belang zijn onderstaande twee regels die bovenaan in de CONFIG.SYS moeten staan;
	DEVICE=C:\DOS71\HIMEM.SYS
	DEVICE=C:\DOS71\EMM386.EXE
Met deze instelling heeft de emulator gestart onder DOS 7.10 op mijn P4 met 1024Mb geheugen geen problemen. Echter als om een of andere reden de CONFIG.SYS de onderstaande regels moet bevatten gaat het mis;
	DEVICE=C:\DOS71\HIMEM.SYS
	DEVICE=C:\DOS71\EMM386.EXE NOEMS
Standaard trekt DOS 7.10 zich niets aan van de optie "OS select for DRAM >64Mb" of "Boot to OS/2" en het starten van de emulator zal eindigen met een reboot. De volgende werkwijze kan dan wellicht de oplossing zijn. Na de installatie van DOS 7.10 op de vaste schijf moet in de directory "\DOS71" de bestanden "EMM386.EXE" en "HIMEM.SYS" herbenoemd worden naar "EMM38671.EXE" en "HIMEM71.SYS". Er wordt dus "71" toegevoegd aan de bestandsnaam. De originele bestanden blijven zo behouden en kunnen eventueel weer terug worden gezet. Nu is een diskette, directory of partitie nodig met DOS 6.22. Kopieer dan "EMM386.EXE" en "HIMEM.SYS" naar de directory "\DOS71". Eveneens is het noodzakelijk dat in het BIOS "OS select for DRAM >64Mb" op "OS/2", of "Boot to OS/2" op "Yes" staat. Als de computer nu geboot wordt start DOS 7.10 normaal op, echter met dit verschil dat er nu een geheugenmanager geladen wordt die zich wel wat aantrekt van de BIOS instelling "OS select for DRAM >64Mb" of "Boot to OS/2" en zo het geheugen beperkt tot 64Mb. Ik heb dit getest met de volgende onderdelen;

EMM386.EXE versie 4.95 van DOS 7.10 is vervangen door EMM386.EXE versie 4.49 van DOS 6.22 06-11-94. HIMEM.SYS versie 3.95 van DOS 7.10 is vervangen door HIMEM.SYS versie 3.10 van DOS 6.22 31-05-94.

De DOS 6.22 is een Nederlandstalige distributie, DOS 7.10 is een Engelstalige distributie. Er zijn nog sites waar een Engelstalige DOS 7.10 distributie kan worden gedownload. Ik adviseer je om een zoekmachine te gebruiken en vooral met veel geduld te werk te gaan. Ten tijde van de update van deze pagina heb ik in korte tijd met de juiste zoekstring meerdere volledige versies kunnen downloaden. Meer wil ik er niet over kwijt omdat andere partijen er anders over denken en van mening zijn dat jij jouw Psion maar niet meer moet gaan gebruiken.

Tijdens het schrijven kwam ik op het idee om nog eens te kijken wat de opdracht MEM nu zou rapporteren. Daarbij blijkt dat de toevoeging NOEMS de BIOS instelling "OS select for DRAM >64Mb" op "OS/2" of "Boot to OS/2" op "YES" vereist. De volgende instellingen zijn getest en de emulator start hiermee zonder problemen op.

DOS 7.10 met HIMEM.SYS en EMM386.EXE uit DOS 6.22 en BIOS "OS select for DRAM >64Mb" op "OS/2" of "Boot to OS/2" op "YES"
DEVICE=C:\DOS71\HIMEM.SYS
DEVICE=C:\DOS71\EMM386.EXE NOEMS
Memory TypeTotal =Used +Free
--------------------------------------------------------------
Conventional640K148K492K
Upper79K78K1K
Reserved305K305K0K
Extended (XMS)15.360K2.360K13.000K
--------------------------------------------------------------
Total memory16.384K2.891K13.493K
Total under 1Mb719K226K493K
Total Extended (XMS)					15.360K (15.728.640 bytes)
Free Extended (XMS)					13.000K (13.312.000 bytes)

Largest executable program size			    492K (503.840 bytes)
Largest free upper memory block				1K (656 bytes)
Available space in High Memory Area			1K (1.248 bytes)
MS-DOS is resident in the high memory area.



DOS 7.10 met HIMEM.SYS en EMM386.EXE uit DOS 6.22 en BIOS "OS select for DRAM >64Mb" op "OS/2" of "Boot to OS/2" op "YES"
DEVICE=C:\DOS71\HIMEM.SYS
DEVICE=C:\DOS71\EMM386.EXE
Memory TypeTotal =Used +Free
--------------------------------------------------------------
Conventional640K230K410K
Upper0K0K0K
Reserved384K384K0K
Extended (XMS)15.360K2.544K12.816K
--------------------------------------------------------------
Total memory16.384K3.158K13.226K
Total under 1Mb640K230K410K
Total Expanded (EMS)					15.680K (16.056.320 bytes)
Free Expanded (EMS)					13.056K (13.369.344 bytes)

Total Extended (XMS)					15.360K (15.728.640 bytes)
Free Extended (XMS)					12.816K (13.123.584 bytes)

Largest executable program size			    409K (418.624 bytes)
Largest free upper memory block				0K (0 bytes)
Available space in High Memory Area			1K (1.280 bytes)
MS-DOS is resident in the high memory area.


DOS 7.10 met HIMEM.SYS en EMM386.EXE uit DOS 6.22 en BIOS "OS select for DRAM >64Mb" op "Non-OS/2" of "Boot to OS/2" op "No"
DEVICE=C:\DOS71\HIMEM.SYS
DEVICE=C:\DOS71\EMM386.EXE
Memory TypeTotal =Used +Free
--------------------------------------------------------------
Conventional640K230K410K
Upper0K0K0K
Reserved0K0K0K
Extended (XMS)65.535K2.608K62.927K
--------------------------------------------------------------
Total memory66.175K2.838K63.337K
Total under 1Mb640K230K410K
Total Expanded (EMS)					33.152K (33.947.648 bytes)
Free Expanded (EMS)					32.768K (33.554.432 bytes)

Total Extended (XMS)					65.535K (67.107.840 bytes)
Free Extended (XMS)					62.927K (64.437.248 bytes)

Largest executable program size			    409K (418.624 bytes)
Largest free upper memory block				0K (0 bytes)
Available space in High Memory Area			1K (1.280 bytes)
MS-DOS is resident in the high memory area.


DOS 7.10 met originele HIMEM.SYS en EMM386.EXE en BIOS "OS select for DRAM >64Mb" op "Non-OS/2" of "Boot to OS/2" op "No"
DEVICE=C:\DOS71\HIMEM.SYS
DEVICE=C:\DOS71\EMM386.EXE
Memory TypeTotal =Used +Free
--------------------------------------------------------------
Conventional640K207K433K
Upper0K0K0K
Reserved128K128K0K
Extended (XMS)1.046.783.568K1.043.21
--------------------------------------------------------------
Total memory1.047.553.903K1.043.64
Total under 1Mb640K207K433K
Total Expanded (EMS)					33.152K (33.947.648 bytes)
Free Expanded (EMS)					32.768K (33.554.432 bytes)

Total Extended (XMS)					1.046.78 (1.071.906.816 byte
Free Extended (XMS)					1.043.21 (1.068.253.184 byte

Largest executable program size			433K (442.928 bytes)
Largest free upper memory block			    0K (0 bytes)
Available space in High Memory Area		    5K (5.296 bytes)
MS-DOS is resident in the high memory area.


ga naar de inhoudsopgave

Grote schijven, veel partities
Tja, dan het probleem van grote vaste schijven (harddisk). Je ontkomt niet aan partitioneren en dat heeft als vervelende bijkomstigheid dat je aan het einde van de rit veel stationletters hebt aangemaakt. Dat geeft nieuwe problemen. Zo kan een fysiek aanwezig station I: of station M: problemen geven. Station M: gaat meestal wel goed omdat deze met SUBST wordt aangemaakt via START.BAT. Met station I: is dat standaard niet het geval. Dit kan vervelend zijn omdat er door de emulator, lees programma's, daar zaken kunnen worden weggeschreven omdat I: een alias is van M:. En dat kan problemen geven met andere programma's en/of het wordt een rommeltje. Ook kan station I: enorm van omvang zijn, zo groot dat dit de limieten van de emulator te boven gaat. En dat resulteert dan alsnog in een crash. De oplossing is eenvoudig.

Als je gestruikeld bent over "partitioneren", dit is het opdelen van een heel grote schijf in kleine delen die elk dan een stationsletter toegewezen krijgen. Het lijkt dan net of er vele "kleine" schijven in het systeem zijn opgenomen. Is de vaste schijf (hard disk) groter dan 509Mb!!!, dan moet er serieus over dit onderwerp worden nagedacht. Het voordeel van partitioneren is dat de ruimte op de harde schijf beter wordt benut. De Psion maakt gebruik van veel kleine bestanden, dus het heeft voordeel om de emulator op een eigen partitie te zetten met FAT16 en een omvang van 509Mb. Dit geeft clusters van 8Kb. De partitie wordt dan goed benut zonder al te veel slack. Zorg er ook voor dat deze partitie binnen de 1024ste cylinder staat van de vaste schijf (harddisk). In de meeste gevallen komt de 1024ste cylinder overeen met een omvang van 8Gb. Let er dan wel op dat Microsoft niet de juiste rekenwijze toepast. De eenheid is 1024 en niet 1000 zoals Microsoft hanteert. Als hier geen rekening mee wordt gehouden, dan kan dit nog wel eens voor onaangename verrassingen zorgen. Deze variëren van het niet kunnen formatteren van de partitie met FAT16, als het maximum van FAT16 was gekozen (2Gb), of het werkt met 16Kb clusters in plaats van de gedachte 8Kb clusters. Alleen is het vaak te laat als dat zichtbaar wordt. Het kan dus geen kwaad dit na het formatteren even te testen door het opvragen van de partitiegegevens. Voor dit verhaal gaat dit eigenlijk al veel te ver en het valt ook buiten het aandachtsgebied van de Psion.

Maak in de directory van de emulator een sub-directory aan, gelijk aan die voor station A: en B:. Noem deze sub-directory I. Zie eventueel hierboven voor uitleg. Met een ASCII tekstverwerker of een tekstverwerker die een bestand als ASCII kan opslaan maak je een nieuwe START.BAT aan. In bepaalde DOS versies kan dat met;
	EDIT START.BAT[ENTER]
In het volgende voorbeeld staan regels die beginnen met "REM". Deze mag je overslaan, ze hebben geen invloed op de werking van het bestand en zijn alleen bedoeld als commentaar. Het teken "~" staat voor een spatie. De inhoud van het nieuw te maken batch bestand is als volgt;
	REM Zorgt ervoor dat altijd naar de C: schijf wordt gegaan
	C:
	REM Zorgt ervoor dat altijd gewerkt wordt vanuit de root
	CD\
	REM Zorgt ervoor dat altijd omgeschakeld wordt naar de juiste directory, 
	REM directory mag een andere naam hebben.
	CD\3AEMULNL
	REM Zorgt ervoor dat alle noodzakelijke "Psion" drives worden aangemaakt
	SUBST~A:~C:\3AEMULNL\A
	SUBST~B:~C:\3AEMULNL\B
	SUBST~I:~C:\3AEMULNL\I
	SUBST~M:~C:\3AEMULNL\M
	REM Start de emulator
	S3AEMUL
	REM Zorgt ervoor dat de "Psion" drives worden opgeruimd
	SUBST~A:~/d
	SUBST~B:~/d
	SUBST~I:~/d
	SUBST~M:~/d
Bewaar dit bestand als START.BAT en in leesbare tekst. Je kunt dat controleren in DOS door in te toetsen TYPE~START.BAT[ENTER]. Als je vreemde niet leesbare tekens op het scherm ziet of vreemde piepjes hoort heb je het bestand niet in ASCII of "DOS tekst" bewaard. Probeer opnieuw. Met de opdracht TYPE kun je niets vernielen, deze controle is dus een heel veilige controle!

Een eventueel fysiek aanwezig station I: wordt met deze methode vervangen door de sub-directory C:\3AEMULNL\I en is dus vanuit de emulator niet benaderbaar. Het nieuwe aangemaakte station I:, dus eigenlijk de sub-directory C:\3AEMULNL\I, laten we voor wat het is en doen er niets mee!

ga naar de inhoudsopgave

Meerdere emulatoren met dezelfde "Psion" drives
Een OPL ontwikkelaar die voor meerdere talen ontwikkelt staat voor een ogenschijnlijk ingewikkelde opgave. Voor het testen in een andere taal moet namelijk elke keer de nieuwe versie van het OPL programma naar de andere taal omgeving worden gekopieerd. Dit is dus totaal niet nodig. Alle emulatoren kunnen gebruik maken van dezelfde "Psion" drives. De voorwaarde is wel dat alle systemen gelijkwaardig zijn. Een Series 3 classic kan beter een eigen omgeving hebben. De Workabout is o.a. vanwege schermafmetingen ook niet geheel vergelijkbaar met bijvoorbeeld een Series 3a. De Siena heeft alleen een andere schermafmeting en daardoor vaak eigen aparte programma's die in het systeem een gelijke naam hebben als in de Series 3a en daardoor kan slechts een van de twee worden geïnstalleerd. Om deze reden is het aan te raden om voor de Siena ook een eigen omgeving te creëren, maar een gedeelde "Psion" drive is het overwegen waard. De Series 3a en 3c kunnen zonder problemen gemixed worden. Dit geeft een aanzienlijke besparing in schijfruimte en het kost veel minder tijd om alles te onderhouden en eventueel te backuppen. De "Psion" drives behoeven daarvoor alleen in een hoger niveau in de directory structuur te worden aangemaakt.

Het geheim zit hem in het gebruik van SUBST.EXE. Maak een directory C:\EMULATIE aan en vervolgens in deze directory de volgende subdirectories aan;
	MD~C:\EMULATIE\A[ENTER]
	MD~C:\EMULATIE\B[ENTER]
	MD~C:\EMULATIE\M[ENTER]
[ENTER] staat voor een druk op de enter-toets. Het teken "~" staat voor een spatie. Het opstarten van een emulator is namelijk nu niet simpel even S3AEMUL intoetsen en daarom kan dat beter in een batch plaatsvinden. Dat batch bestand noem ik START.BAT. Met een ASCII tekstverwerker of een tekstverwerker die een bestand als ASCII kan opslaan maken we START.BAT aan. Ik gebruik nog steeds PC-Write en heb dat pakket zelf gedeeltelijk naar het Nederlands vertaald. In bepaalde DOS versies kan dat met;
	EDIT~START.BAT[ENTER]
[ENTER] staat voor een druk op de enter-toets. In het volgende voorbeeld staan regels die beginnen met "REM". Deze mag je overslaan, ze hebben geen invloed op de werking van het bestand en zijn alleen bedoeld als commentaar. Het teken "~" staat voor een spatie. De inhoud van het nieuw te maken batch bestand is als volgt;
	REM Zorgt ervoor dat altijd naar de C: schijf wordt gegaan
	C:
	REM Zorgt ervoor dat altijd gewerkt wordt vanuit de root
	CD\
	REM Zorgt ervoor dat altijd omgeschakeld wordt naar de juiste directory
	REM In dit voorbeeld schakel ik over naar de Nederlandstalige emulatie
	CD\3AEMULNL
	REM Zorgt ervoor dat alle noodzakelijke "Psion" drives worden aangemaakt
	SUBST~A:~C:\EMULATIE\A
	SUBT~B:~C:\EMULATIE\B
	SUBST~M:~C:\EMULATIE\M
	REM Start de emulator
	S3AEMUL
	REM Zorgt ervoor dat de "Psion" drives worden opgeruimd na het afsluiten van de emulator
	SUBST~A:~/d
	SUBST~B:~/d
	SUBST~M:~/d
Bewaar dit bestand als START.BAT en in leesbare tekst. Je kunt dat controleren in DOS door in te toetsen;
	TYPE~START.BAT[ENTER].
[ENTER] staat voor een druk op de enter-toets. Het teken "~" staat voor een spatie. Als je vreemde niet leesbare tekens op het scherm ziet of vreemde piepjes hoort heb je het bestand niet in ASCII of "DOS tekst" bewaard. Probeer opnieuw. Met de opdracht TYPE kun je niets vernielen, deze controle is dus een heel veilige controle! Hier zie je ook waarom de fysieke stations A: en B: na het starten van de batch onbereikbaar zijn geworden!

Voor een andere taal behoeft START.BAT slecht op één onderdeel te worden gewijzigd. Het regeltje "CD\3AEMULNL" zorgt ervoor dat de directory "3AEMULNL" actief wordt. Als deze regel gewijzigd wordt in bijvoorbeeld "CD\3AEMULFR" wordt de directory met de Series 3a Franstalig actief gemaakt. Wordt deze regel gewijzigd in bijvoorbeeld "CD\3CEMULBE" dan moet ook de regel "S3AEMUL" gewijzigd worden in "S3CEMUL" om de directory met de Series 3c Belgisch actief te maken. Alle systemen kunnen nu gebruik maken van dezelfde programma's en bestanden!

ga naar de inhoudsopgave

De emulator in een emulator
Voor veel gebruikers is het maken van een dual boot systeem of het installeren van een boot manager een te grote hindernis. De oorzaak hiervan is de onbekendheid met computers en het niet er in willen verdiepen. Een DOS installeren naast een Windows XP, Vista of 7 gaat dus niet lukken. Wat er dan overblijft is het installeren van een DOS emulator. Het programma DOSBox is zo'n emulator. DOSBox werkt goed vanaf versie 0.70. Een aantal testen heeft uitgewezen dat programma's die niet goed werkten in DOSBox 0.63 dit wel doen in versie 0.70. Er kunnen conflicten ontstaan met andere programma's. Het is dus raadzaam om DOSBox zonder andere voorgrond programma's te draaien. DOSBox is beschikbaar voor een groot aantal platformen waaronder Windows. Ik heb een en ander uitgetest op een eComStation (OS/2) systeem.

Voordat je enthousiast DOSBox gaat downloaden wil ik je toch even wat meegeven, wat je ermee doet is aan jou. Hieronder de resultaten van een door mij geschreven snelheids calibratie programma;
	Emulator geïnstalleerd op een PC met een P4 2.8Ghz processor		± 1 sec.
	Emulator geïnstalleerd op een PC met een 386 40Mhz processor		± 42 sec.
	Emulator geïnstalleerd op een PC met een 386 8 Mhz processor		± 128 sec.
	Psion Series 3a/3c											± 108 sec.
	Psion Series 3mx highspeed									± 33 sec.
	Psion Series 3mx lowspeed									± 76 sec.
	Emulator geïnstalleerd in DOSBox cpu 24% cycles  2500			± 106 sec. = Psion Series 3a/3c
	Emulator geïnstalleerd in DOSBox cpu 31% cycles  3750			± 78 sec. = Psion Series 3mx lowspeed
	Emulator geïnstalleerd in DOSBox cpu 52% cycles  7000			± 42 sec. = 386 40Mhz processor
	Emulator geïnstalleerd in DOSBox cpu 62% cycles  8750			± 33 sec. = Psion Series 3mx highspeed
	Emulator geïnstalleerd in DOSBox cpu 90% cycles 12500 (max.)		± 22 sec.
De CPU last van de emulator in de emulator op een P4 2.8Ghz bij cycles=8000 is nominaal ongeveer 54%, bij bestands gerelateerde zaken (lijsten bijwerken) loopt dat op tot ongeveer 99%. Iets doen met een programma geeft een CPU belasting van ongeveer 65%. Uit deze test komt wel naar voren dat je een Psion 3a kunt emuleren, maar dat de snelheid van die geëmuleerde Psion niet heel veel verder komt dan een Psion 3mx highspeed. Of met andere woorden, een extra PC van het type 386 draaiend op 40Mhz. De kans dat je die nog tegenkomt is heel klein, de kans dat dit een modernere processor is, is veel groter. Dergelijk processoren laten zich klokken met snelheden die onder de 10 seconden komen.

Een ander nadeel is dat je DOSBox alleen in een venster kunt draaien. Er zijn wel mogelijkheden voor volledig scherm, maar..... De emulator wordt gedraaid in een grafisch scherm, in de standaard maten waarmee de Psion emulator opstart gaat dat goed. Alle letters zijn goed leesbaar. Ga je echter het scherm opblazen tot een groter formaat of zelfs volledig scherm, dan kan dat de leesbaarheid nadelig beïnvloeden. De plaatjes en teksten worden namelijk mee opgeblazen en hoe iets dan afgebeeld wordt hangt af van uw videokaart en de ingestelde schermresolutie. Als je wel graag op volledig scherm werkt zul je moeten uitwijken naar of een DOS naast Windows of een aparte computer met DOS.

De emulator DOSBox wordt geconfigureerd met het bestand dosbox.conf. In dit bestand staan belangrijke instellingen en een aantal daarvan moet met beleid worden ingesteld. Alles wat met geluid te maken heeft kan uitgezet worden. De PC speaker kun je aan laten staan, wel zo prettig om die paar piepjes die de Psion emulator nog heeft te kunnen horen. Bij mij werkt het niet. Ook de seriële poort is nog niet succesvol getest. Memsize mag naar 4, meer heb je niet nodig. In dosbox.conf moet je nog het volgende toevoegen, maar dan wel zonder mijn commentaar (rem ...) natuurlijk;
	[autoexec]
	# Lines in this section will be run at startup.
 
	# you can add extra dosbox autoexec cmd's
	# don't remove any line here below
	# and keep the order intact and
	# don't add lines between the sections.

	# mount section				rem dit is de substituut voor subst.exe
	mount i "i:\"					rem installeert een drive I: als substituut voor de I: in de Psion
								rem wat weer een substituut is voor M:
	mount a "f:\psion\3aemulnl\a"		rem emulatie linker slot A: van de Psion 
	mount b "f:\psion\3aemulnl\b"		rem emulatie rechter slot B: van de Psion
	mount f "f:\psion\3aemulnl"		rem zorgt ervoor dat de emulator van de Psion gevonden kan worden
	mount m "f:\psion\3aemulnl\m"	rem emulatie van de interne drive M: van de Psion
	mount s "f:\psion\s"				rem zie Meerdere emulatoren met dezelfde "Psion" drives
	# end mount

	# program section
	i:							rem ga naar drive I:
	cd \utils\dosbox				rem ga naar de directory waar DOSBox staat, bij mij I:\utils\dosbox
	keyb nl						rem laad het keboard programma met de Nederlandse toetsenbord indeling
	cd\							rem ga terug naar de root van I:
	f:							rem maak drive F: actief
	s3aemul						rem start de emulator	
	# end program                           

	exit							rem stop DOSBox
Uiteraard kunnen schijfletters en mappen (directories) anders zijn ingedeeld. Dus een i: kan wat anders zijn, maar ook f:\psion\3aemulnl of f:\psion\s. Je weet nu wel wat deze regels doen. Als alles goed gaat krijg je ongeveer het volgende plaatje op het scherm;

Psion emulator in DOSBox

ga naar de inhoudsopgave

En dan nog dit...
Een moderne PC van anno nu bevat een andere processor dan een 80386. Zolang de processor X86 compatibel is moet alles werken zoals met die 80386, alleen ietsje sneller. Mijn nieuwste Pentium is dan ook geen probleem en inmiddels ook bijna al weer oud. Ik denk alles zo ongeveer wel behandeld te hebben, maar mocht je iets hebben wat hier niet is genoemd, dan hoor ik dat graag van je!

ga naar menu Deze pagina is gemaakt in eComStation® met WebWriter/2 v1.2
Herzien op 17 maart 2012