From: Andrew Baldwin 1. What is it? -------------- S3aemul is a program that attempts to emulate the operating system of the Psion Series 3a handheld computer on an IBM compatible PC with at least 4 MBytes of memory and a 386 or better. It is designed as a development tool to enable software authors to develop and test programs more quickly and coveniently than on a real machine. It is NOT designed as a user utility as such (although you may find some of the features useful). Psion PLC have released it on an unsupported, royalty free basis. You should NOT attempt to contact Psion with questions regarding the emulator. Only questions asked in the CiX Psion conference have a chance of being semi-officially answered. Questions asked on comp.sys.psion may or may not be answered correctly by people such as me! 2. Why is there no emulator for other platforms (e.g. Mac)? --------------------------------------------------------- The emulator was written initially by Psion as an internal development tool to write programs for the 3a before any real machines were available. Psion develop software on PC systems, and hence the emulator was written for this platform. Also, the 3a uses an X86 compatible processor (actually a NEC V30) making emulation on a PC relatively easy. Because of all these things, there will never be versions of the emulator for other machines. 3. Where can you get it? ------------------------ It can be retrieved by ftp/fsp/www/email/etc.. from: src.doc.ic.ac.uk:/packages/psion/icdoc/development/s3aem1.zip (size 783k) Along with this is another file: src.doc.ic.ac.uk:/packages/psion/icdoc/development/s3aemt.zip (size 5k) containing just the readme and licence agreement from the main file. You should carefully read and agree to the terms in the LICENCE.TXT document before using the program. Both archives are in ZIP format, and the pkunzip program required to unarchive them can easily be obtained from many places around the internet. Follow the instructions in the README.TXT to get the program to run. 4. Why is my archive bigger than 783k? -------------------------------------- A slightly earlier version of the emulator containing debug code was distributed to CompuServe. This archive is about 900k. There is no functional difference in the two versions. 5. Can I run the emulator in windows? ------------------------------------- No. Neither can you run it under OS/2, NT, or most other emulations of DOS on any non-PC machine. The primary reason for this is the emulators' use of DPMI which allows it access the required amount of memory. DOS boxes in windows do not support DPMI to the extent required, and neither do most DOS emulations (although you may find some that do, either now or in the future - somebody has reported it working successfully on an Archimedes PC emulator). 6. Why don't applications stay installed on the system screen? -------------------------------------------------------------- Every time you run the emulator, it is like a hard reset of a real 3a. In order to set up the system screen and options each time you run, use a program such as Tom Dolbilin's Macro System (use the install macro). 7. What doesn't the emulator support? ------------------------------------- The emulator does not support sampled sound. Also, it does not support certain low level OS calls such as the GetScanCodes call (documented in the OPL manual). The main reasons for this are the hardware differences (e.g. lack of a CODEC, different keyboard layout, etc) between PCs and real 3a's 8. What does the HHSERVER.PAR file do? -------------------------------------- The HHSERVER.PAR file sets certain options about the emulation. The most useful values that can be altered in this file are the screen size parameters. Use the line: SERVER_PARAMS -X640 -Y480 -D to run the emulator in full VGA screen mode. You may find this useful if developing OPL programs on the emulator, since the OPL editor will offer you a full screen together with a PC keyboard. Also, it is useful to be aware that even on real SIBO machines (such as the 3a) the screen size is not a constant, but is a variable that should be inspected by the program when run (e.g. by gWidth/gHeight in OPL). This can allow software you write to run correctly on a machine such as the Series 3 or any future machines with different screen sizes by resizing automatically. ----------------------------------------------------------------------- I don't claim that any of the information in this document is correct, if you think it isn't please contact me! -- Andrew Baldwin, ar.baldwin@ic.ac.uk, andrew@zarquon.demon.co.uk ><> baldwina@cix.compulink.co.uk ><> "Holy Zarquon's Singing Fish!" ><>