PocketBook II emulation...


Introduction

Way back when, Psion released a set of emulators which could be used to develop software. It requires a 4Mb 80386 running DOS (the emulator doesn't work under any version of Windows).
This created a problem that developing software would require you to leave the comfort of Windows and restart the computer into MS-DOS mode.
This is no longer a requirement these days...

 

An emulator within an emulator

The secret is this: DOSBox, which you can find at http://dosbox.sourceforge.net/

The next step is to obtain an emulator. You want the Psion 3a emulator, look for it on Google.
 
The trick is to run DOSBox to have a clean DOS-like environment, and then run the S3a emulator within that. Because DOSBox is a true emulation, and not a sort-of-hack like the command prompt under Windows, the emulator can run safely within its own little space; a sort of sandbox.

 

System layout

I have set PsiWin2's storage to be C:\Psion, with the backups going into C:\Psion\Rick's organiser as my organiser is referred to as Rick's organiser, lame I know...
This is important for the following descriptions. Amend as necessary for your system.

 

Setting up DOSBox

Once you have unpacked DOSBox, you will see one of the files is called dosbox.conf. Open it in Notepad.
At the very bottom, you should see:
[autoexec]
# Lines in this section will be run at startup.

Amend this as follows:
[autoexec]
# Lines in this section will be run at startup.
@echo off
mount c c:\
c:
cd \psion\s3a
s3a

What this does is create a C: drive (within DOSBox) and link it to the real C: drive. Then we select it as the current drive, go into the emulator directory, and start the emulator.
 
The emulator may freeze DOSBox on exit, so you may prefer to omit the last line, perhaps replacing it with a reminder instead, like:
@Echo Enter 's3a' to start the Psion emulator...

You can ignore everything else in the dosbox.conf file. The way it is shipped is fine. You might be able to eke out a bit more speed on slower (sub 500MHz) systems by messing with the frameskip and cycles setting and disabling sound cards (just leaving the PC speaker); however if you have a fast computer, save the file leaving the rest of it as is.

 

Setting up S3AEMUL

The setup of the emulator is performed with a file called S3A.BAT. We need to make a number of modifications to this file to work around differences in how it works vs how DOSBox works.
 
Essentially, take your existing file and get rid of what is in it. Replace it with:
@echo off
C:
CD \psion\s3a

@ECHO Creating virtual drives for Psion Series 3a emulator
mount M C:\psion\rick's~1\backup\internal
mount A C:\psion\rick's~1\backup\sramssd
mount B C:\psion\s3a

S3AEMUL.EXE

@ECHO Deleting virtual drives and returning PC to normal

mount -u M
mount -u A
mount -u B

C:\
CD \

 
 
 
}

 
 
 
amend these paths
as necessary
for your setup...

 
Now we shall look at what this does, so that you can tweak it for your own circumstances.
 
The first three lines force off command echoing, a hang-up of the old days, and force the current drive/directory to where it should be now; seemingly unnecessary however this may be useful so the emulator can run properly if you run it from the command line with the current directory elsewhere.
 
DOSBox does not understand the 'SUBST' command. Instead, we use 'MOUNT' to perform the same activity. In this case, as my organiser has two file devices, I have set the drives up as follows:
Internal (M:) discBackup copy of organiser's M:
Left SSD (A:) discBackup copy of organiser's A:
Right SSD (B:) discPoints to directory where emulator is
The only thing to watch out for here is that the emulator has access to the live backup. It could be worth making a copy of this data in case there is any risk of corruption. I guess it depends on if you only plan to read backed up files, or if you would rather have full access to them.

 

Putting it all together

With a little bit of luck, all you need to do is run DOSBox.exe.
 
It will briefly look like this:

Then the Psion emulator will start and voila!, there you have it.

 

Problems

There are numerous quirks and hiccups which appear to cause DOSBox to freeze. Pressing Alt+/ (same as Psion+/) appears to cause a freeze. I don't know if it would be different running the emulator in single-tasking mode (press Alt+Enter). I suspect the problem may be clashes between Windows keypresses and ones the emulator uses.
 
The next problem is that the emulator always starts up in the default state - there is a tool around which apparently pokes in a configuration from some sort of script file. Might be useful if you will be using the emulator a lot.
 
Exiting the emulator can cause DOSBox to freeze.
 
If DOSBox freezes, unsaved data will be lost. You can quit DOSBox (and reload it) by clicking the 'X' button on the top-right of the window.

 

Using the emulator

The emulator has a variety of keypresses:
F1System/desktop shortcut key
F2Database shortcut key
F3Word processor shortcut key
F4Diary shortcut key
F5Time/clock shortcut key
F6World data shortcut key
F7Calculator shortcut key
F8Spreadsheet shortcut key
F9Menu key
F10Help key
F11Simulates a power cycle
F12Diamond key
AltPsion/Acorn key
Ctrl+Alt+ZQuits the emulator by crashing it!
Ctrl+Alt+EscUsually quits the emulator safely.

The F11 key only has an effect if there is a password set.

Please note that by default the Ctrl+F9 keypress (which is Ctrl+Menu in the Psion emulator) is defined as the hotkey to quit DOSBox!
If you want this key to be active, either play with the key mapping (press Ctrl+F1 when DOSBox is running) or open the file mapper.txt and delete the entry for "hand_shutdown".

Note that numerous other Ctrl+function key keypresses are reserved for specific functions within DOSBox, refer to the documentation for more details.

 

Increasing the 'display size'

If you look in your emulator folder you will see a number of resources, one of which is called HHSERVER.PAR.

This file controls 'parameters' given to the display server. It normally looks like:

SERVER_PARAMS -X480 -Y160 -D
SERVER_DUMP server.dmp

You can tweak this for obvious effects of setting a full-screen version of the organiser:
SERVER_PARAMS -X640 -Y480 -D
SERVER_DUMP server.dmp

Once you have done this, you will find that...

  • some stuff assumes a 480×160 display and works (i.e. Schedule's year view)
  • some stuff assumes a 480×160 display and messes up (i.e. the start-up logo)
  • some stuff reads the display size and works fine
...in some cases you will wonder why they never released a VGA-sized version of the organiser, because it's pretty useful to have a nice big word processor view active.

 

Return to the PocketBook II index


Copyright © 2008 Richard Murray