Jaap's Psion II Page

Home / Psion / ROM Images

Psion Organiser II ROM Images

This is a collection of ROM images from the various models and versions of the Psion Organiser. Psion retain copyright on their ROMs but have given permission for them to be used for emulators.

To find out which model and version you have, visit the Models and Version Numbers page. If you have a version that that is not available here, I would like a copy of its ROM to add to this page. You can contact me at .


Model ROM size RAM size Screen Size Languages Rom Images
Series 1 4K 2K 1×16 English psion1
CM 32K 8K 2×16 English ver 2.4 ver 2.6 ver 3.3
French ver 3.3 ver 3.6
XP 32K 16K 2×16 English ver 2.6
LA 32K 32K 2×16 English ver 3.0 ver 3.3 ver 3.6
German ver 3.4
French ver 3.6
LA Multi-lingual 64K 32K 2×16 English, French, German, Spanish, Italian, Swedish, Norwegian, Portugese, Danish, Dutch, Turkish ver 3.7
LZ 64K 32K 4×20 English, French, German ver 4.2 ver 4.4 ver 4.5 ver 4.6
English, Swedish, Danish ver 4.5
English, Spanish, Italian ver 4.5 ver 4.6
LZ64 64K 64K 4×20 English, French, German ver 4.3 ver 4.4 ver 4.5 ver 4.6a ver 4.6b
English, Swedish, Danish ver 4.6
English, Spanish, Italian ver 4.6
Model ROM size RAM size Screen Size Languages Rom Images
POS200 alpha 32K 16K 2×16 English ver 3.3
POS200 alpha 32K 32K 2×16 English ver 3.6
POS200 32K 32K 2×16 English ver 3.6
POS250 32K 32K 2×16 English ver 3.6
POS350 32K 96K 2×16 English ver 3.6 ver 3.8
POS464 64K 64K 4×20 English, French, German ver 4.6

The release notes taken from the Technical Reference Manual (LZ) are duplicated below. The bugs listed for any version are fixed in the next released version.
The release notes unfortunately do not cover the whole range of released ROMs. My remarks are shown in grey. If you can help complete the information, please let me know.

2.412th May 1986


  1. Devices booted when the Organiser is cold booted.


  1. If the install code of a device alters the menu a crash may ensue on a cold boot.
  2. Re-booting a machine with more than one device installed may cause a crash.
  3. An attempt to translate the illegal statement "11SIN" results in a crash.
  4. If a field is assigned to that is beyond those already assigned to before it may write the data over the diary or operating system variables. This can, in rare cases, result in a crash. The fix is to assign (a null string or zero) to the last field after creating or opening a file and after getting an END OF FILE condition. (The END OF FILE condition is when EOF is non-zero, this means that all values of the fields have been zeroed out.)
  5. If the diary is backed over midnight and then brought forward, using the arrow keys, any diary entries seem to have disappeared.
  6. If RAM is full, editing a procedure can give OUT OF MEMORY and leave the screen corrupted.
  7. If an error is encountered when adding to or subtracting from a calculator memory (M0 to M9) then that memory is corrupted.
  8. Floating point AND produces unreliable results.
  9. VIEW(1,"") does not work properly.
  10. VIEW of a 255 character string doesn't scroll.
  11. Strings longer than 255 can be declared (e.g. 256 gives a zero length string).
  12. Declaring arrays which overflow memory size can cause machine to crash at run-time. e.g. LOCAL s$(255,100) or LOCAL a(10000).
  13. INPUT A.A$ artificially limits the length input to 252 minus the record size (as found from RECSIZE). It should allow 254 characters.
  14. If the machine is turned off in the minute before an alarm is due it won't go off for 34 minutes.
  15. If packs are accessed at the same time as the buzzer is used (e.g. from a key click) the bottom byte of the pack can, very rarely, be blown to zero.
2.615th October 1986


  1. Checksum on RAM pack header.
  2. Battery checking improved.
  3. Can call OPL programs on device D.
  4. INFO calculates FREE memory as percentage free of the total memory less the operating system.
  5. OPL string comparison become case dependant.
  6. UDGs preserved when the Organiser is turned off.
  7. Intelligent, faster NEXT - works on one pack at a time.
  8. A POSITION to an illegal place, e.g. past the end of file, used to leave the position alone. It now it positions to the last or first record as appropriate.


  1. If after a successful CLOSE another CLOSE is done when no files are open it can crash the system.
  2. It is possible but unlikely to get spurious alarms when loading devices.
  3. If the ON/CLEAR is pressed at the same moment as an alarm it may be missed.
  4. When a translator error is detected some memory may be lost until the language is run.
  5. Using MENU with an item with more than 17 letters causes an infinite loop.
  6. When on a null diary entry deleting it causes the next diary entry to be deleted.
  7. TRAP DELETE "A:"+XXX$: can cause a crash if there is an error in XXX$:.
  8. If logical name D is used then it can cause OPEN to fail with error number zero when it should have succeeded. An error of zero is not reported as an error at the top level. It is safest not use logical name D.
  9. POS200 ONLY. The menu cell is grown every time the machine is booted so memory eventually fills up. Solution is to cold boot the machine.


  1. Sizing 8, 16 & 32K packs can fail even when the pack is good.
  2. Erasing records on RAMPAKS followed by APPEND may corrupt the PACK. Can be solved by avoiding using UPDATE and doing FIRST after using ERASE.
  3. Copying MK1 packs fails with PACK CHANGED error.
3.130th January 1987


  1. If a file is OPENed/CREATEd/DELETEd without a specified device it takes the last device used (as opposed to a random device).
  2. Reports CHR$(256) and negative arguments to LEFT$, RIGHT$ and MID$ as errors.
  3. Intelligent NEXT improved works with 1 file on each device.
  4. LA split device loader.
  5. 128K RAM packs supported.
  6. Faster deleting on RAM packs.
Support for reading Series 1 datapaks dropped.
3.7End of 1988
Multi-lingual XP only?


4.216th March 1989


  1. Memory 'grabbed' by devices (e.g. capture buffer in Comms-Link) is not shown in INFO.
  2. If LOW BATTERY is detected during a cold start, garbage ALARMS are set.
  3. SORTING a file which contains other records interspersed within its own will cause 'extra' records to be added at the front of the file.
  4. SORT does not order records containing the same character repeated different numbers of times correctly, e.g. AA and A.
  5. If there is an error in when saving a DIARY (e.g. PACK FULL) during TIDY, the DIARY is still be deleted.
  6. If a match string > 10 characters is passed to any of the WILD CARD OPL FUNCTIONS (e.g. DIRW) the machine will crash.
  7. OPL VIEW of a null string will crash the machine.
    Also DISP(0,"string") will crash.
  8. If part of a password is typed on entry to a notepad and then left to time out - it beeps and clears the password, then prompts for the password again.
  9. If memory is full and a notepad is attempted to be entered, OUT OF MEMORY is displayed the first time but the 2nd time a new notepad is created.
  10. "Load..." is displayed without clearing the screen on entry to the notepad.
  11. In the DIARY "nn entries shortened" says 10 when there is 100 etc.
  12. In WORLD "The Hague" is shown as "The Hage"
  13. Alarms go off accurate to within 1 minute only. They should be exact.
  14. If part of an OPL procedure or NOTEPAD is received with COMMS-LINK and the connection is broken, the machine may crash.
  15. A bootable pack created on the DEVELOPER runs ok in 2-line mode but if COMMS-LINK is present as well, it runs in 4-line mode.
  16. There is a chance of getting a garbage ALARM going off during RESET.
  17. There are some errors in the GERMAN text.
  18. Calling OPL EDIT with an 80 character prompt, e.g. AT 20,4 :PRINT "X": :EDIT A$ does not work correctly.
4.324th April 1989


  1. If a "workday" alarm is set for the Friday before the end of a month whose last day falls on a Saturday or Sunday, some corruption may occur when the alarm goes off or if you attempt to set an alarm on the Saturday or Sunday following the Friday.
    On version V4.2 you will get a DEVICE MISSING error but on V4.3 it will appear to be ok. In both versions there may be corruption and there may be a possibility of the machine TRAP'ing. The dates it will occur on are as follows:
    28/APR/89, 29/SEP/89, 29/DEC/89,30/MAR/90, 29/JUN/90, 28/SEP/90 etc
4.48th May 1989
4.5? 1989


  1. Support for versions with languages other than English/French/German.
  2. Accented characters removed from French menu items and messages (e.g. Francais instead of Français).