of EPROMS as a storage device, it was impossible for other device makers to copy this unusual approach to mobile storage. Software supplied on Datapak included a crude programming language named POPL, in which end-users could write their own programs. Software Datapaks titled Science, Maths and Finance contained the POPL programming language editor, interpreter and runtime system and extended the built-in calculator by adding named functions. These Datapaks also contained different sets of application software written in the POPL language. A far more sophisticated programming tool was later made available with the implementation of the Forth language, but was available to registered professional developers rather than end users. The Psion Forth Development System for the Organiser I was a powerful set of IBM PC-based cross-development tools for producing Forth application software, including a Forth compiler. The Forth system on the Organiser I had a compiler to intermediate code, interpreter and runtime, and had several unusual design features one being that it could interpret – that is, read and execute – Forth intermediate code directly in place on a Datapak, rather than needing to copy it into precious RAM first, despite the Datapaks not being execute-in-place memory-mapped. Software developed by Psion as part of the Organiser I project, and application software after its launch, was written in 6301 assembly language, in POPL, and in other custom-designed languages. Assembly language development at Psion was carried out using cross-development tools, including a cross assembler and linker, all of which ran on a Digital Equipment Corporation (DEC) VAX. Application developers writing in 6301 assembly struggled with the small amount of RAM (2 KB) and the lack of an operating system. Another difficulty for developers was with the performance limits of the earliest Datapaks, which used a serial-access internal architecture, instead of random access. Retrieving, for example, byte 2000 from a Datapak meant issuing successive hardware commands to either step from the current read position one address place at time until position 2000 was reached or, in the worst case, resetting the read position to zero and then issuing a step-forward command 2000 times. The Hitachi 6301 processor is an enhanced development based on the Motorola 6801 implemented in complementary metal–oxide–semiconductor (CMOS), with several extra instructions, various hardware system on a chip (SoC) facilities on-chip, power management and support for a sleep state. The particular variant chosen also had 4 KB of masked ROM on-chip,