Software is what brings a system to life. From the very beginning, the 9845 series software architecture was heavily influenced by its predecessors, especially the HP9830 and the HP9825. HP supported a balanced combination of original HP software packages, software supplied by independent software vendors, and software contributed by users or user groups. If you like to say so, the Exchange Library was some kind of early open source community, however with a distribution managed by HP.
Most application software was made available on tape cartridges, since not only at least one tape drive was available in every 9845 systems, but it was also a highly performant and reliable mass storage. This makes some problems today, since those tapes tend to loose parts of their magnetic coating, so that the original content must be reconstructed.
For system software, the situation is completely different. All system software was stored in firmware (i.e. ROMs), either as core OS software in the system ROMs or as firmware extensions in so-called option ROM modules. Wheras the option ROMs have (for the time being) proved quite solid, the HP 9845 system ROMs are totally unstable and frequently cause intermittent failures.
The main objective of this section is to give an overview over all kind of software ever developed for the 9845 series, however I plan make those packages available step by step for download. By using the tools provided in the Projects section and with the procedure described in the Tutorials section, you should be able to extract your own software packages, so it would be great to put this here all together.
This sections describes the basic concepts of the firmware and the way I/O processes are internally scheduled, as well as the way BASIC programs and binary programs are designed, loaded and stored.
|HP Software Packages
This section lists all the software packages, which were distributed as original HP software. Most packages were sold together with documentation binders and sometimes special function key overlays.
|HP PLUS Software
The HP PLUS program included all those software, which was provided by independent software vendors. In order to become included into this program, the vendors had to approve a certain standard, like minimum instances installed, documentation and support. Most of those software today is hard to find, at least compared to the original HP software packages.
The idea of the Exchange Library was similar to contemporary open source platforms. Provide a program on your own, together with documentation and source code, and get three programs of your choice for free. Or, alternatively, just order programs for a nominal handling and media charge. Unfortunately, altough there was a quite vivid contributing community, almost none of those programs is available today.
Although HP followed the strategy to keep the avarage user off the system internals, they provided some quite useful system exerciser utilities with each delivered 9845 system. Those utilities still can be used to isolate some types of failures, especially for defective DRAMs (provided your system at least finishes the start-up process successfully and the tape drives work...).
The 9845 OS was completely stored in firmware. For the 9845A and 9835A/B models the OS ROMs were provided as ROM modules and could easily be replaced by the user, for the 9845B and 9845C, those system ROMs were placed on RAM/ROM assemblies inside the machines. There are many revisions of the OS ROMs, and several sets depending on the model.
The main programming language for the HP9845 was 9845 BASIC. 9845 BASIC was based on ANSI BASIC but included many extensions. It was compatible to the 9830 BASIC and the ancestor of "Rocky Mountain BASIC" or WS BASIC, aka HP BASIC 3.0 and 4.0.
HP made it quite easy for the user to extend the firmware of his system by just plugging in additional firmware modules into one of the two ROM drawers. This had already been a tradition with earlier systems and proved quite reasonable. Some of those ROMs are practically essential, like the I/O ROM, the Mass Storage ROM and the Graphics ROMs. However there are also a couple of still very useful option ROMs like the Assembly Execution and Development ROM. Others like the Advanced Programming ROM, the Structured Programming ROM or the Database ROMs are helpful, but not indispensable. In general, option ROMs with their ceramic substrate construction are still very reliable.
Binary programs are OS extensions for the LPU. They were the natural way to implement new BASIC commands and could be used to gain a better system control in many ways (e.g. for physical sector access on mass storage devices).
The HP 9845 was capable of producing high-quality and even hardware accelerated color graphics. This section shows some examples for demos and applications, where the high-level visualization features of the 9845 series were used.
Games had always been one of the most exciting and challenging application for computers of any type and size. Although (or because) the HP 9845 had been primarily designed for engineers and scientists, there were more than 70 games available for the HP 9845 in total. Some of the most prominent are introduced in this section.