Software supplied on DATAPAK included a crude programming language called 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 and extended the built-in calculator by adding named functions. These DATAPAKs also contained different sets of application programs written in the POPL language. A far more sophisticated programming tool was later made available with the implementation of the Forth programming 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 programs, including a Forth compiler. The Forth system on the Organiser I itself had a compiler to intermediate code, interpreter and runtime, and had a number of 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 assembler language, in POPL, and in other custom-designed languages. Assembler language development at Psion itself was carried out using cross-development tools, including a cross assembler and linker, all of which ran on a DEC VAX. Application developers writing in 6301 assembler struggled with the small amount of RAM (2 kB) and the lack of an operating system. Another difficulty for developers was with the performance limitations of the earliest DATAPAKs, which used a serial-access internal architecture, as opposed to 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 CMOS, with a number of extra instructions, various hardware system-on-single chip facilities on-chip, power management and support for a sleep state. The particular variant chosen also had 4 KiB of masked ROM on-chip, so an external ROM was not needed on the board.