I’m cleaning up old harddisks in my vintage PCs and found a DOS partition that I used solely to run the emulator S3AEMUL for the Psion Series 3a. This emulator was once available for free: a clever marketing trick! I got soon hooked and bought my first PDA, back in 1995.
Out of nostalgia I tried to get the emulator running again – but without leaving OS X, of course. Thanks to Parallels Desktop this should be easy, I thought. Just create a new virtual machine, install FreeDOS and copy the emulator on it.
The first hurdle was to know which memory driver to load. FreeDOS offers three choices: EMM386, EMM386+EMS and HIMEM XMS. I tried all of them, with 4 MB memory and more. The emulator would never run, but report different errors: Runtime errors, Fatal application error 04 or Unhandled Exception 0D at 00E7:1539 Error Code: 0000. I wasn’t really surprised, as the emulator never worked for me in the “DOS” boxes of any Windows version, because the emulator fiddles with the 640k limit of DOS in incompatible ways.
Before giving up I thought I’d try another road. Tony Chung had success running s3aemul with the bochs emulator under Linux. Bochs itself should be portable, but there is no OS X binary yet of the latest release. So I chose the Windows build and installed it in my XP virtual machine. This time I got lucky and the emulator worked when starting FreeDOS with HIMEM XMS option.
The whole setup reminds me of Babushka Dolls:
- Outermost level: OS X
- 1st emulation: XP running in Parallels Desktop
- 2nd emulation: FreeDOS running in Bochs for Windows
- Innermost level: SIBO (Psions operating system) running in s3aemul