More HP1000's, and bootstrapping old systems in general.

From: Bob Shannon <>
Date: Wed Jan 16 09:37:29 2002

The 9885 is listed in HP documentation as the 12732A flexible disk system, with
a capacity of 500 K bytes per drive, 4 drives maximum.

It is supported under RTE-II, RTE-III, RTE-IV, RTE-IVB, and RTE-M.

It is not supported under RTE-L or RTE-XL.

I assume its also supported under RTE-6VM, but my documentation is not quite
new enough to list that possibility.

HP does have a boot from for this subsystem, but I think that the only OS that
can fit and run from the 9885 is RTE-M, a 'memory only' version of RTE that was
used to host dedicated applications where little or no program development work
was done. Think of this (the M version) as a 'run time' version of RTE. Often
RTE-M would boot off one of the tiny tape drives common to many HP terminals.

In fact, the only mass storage systems for RTE-M are the 9885 and the terminal
tape cartridge drives. RTE-M looks kind of interesting, in that it does
support Basic/1000M, so program development using Basic is an option (but no
Fortran compiler, assembler, etc).

RTE-M looks like an excellent choice for building a small system around the
newer HP minicomputers (M and E series). The only problem would be finding the
distribution media and documentation.

But I'm not aware of any place to get HP operating systems, or what their legal
status is today. I've got bits and peices of some HP OS's, but nothing

In many cases, collectors find partial systems without 'real' operating
systems, or even supportable disk systems to hold those operating systems. In
these cases, what is a collector to do?

On the HP machines, there is an easy alternative, HP's stand-alone basic. But
programming in Basic may cause some collectors indigestion. And what if your
chosen machine is not an HP??

There is a way to get your chosen vintage machine running something usable
without having to run the original operating systems. You can elect to
'bootstrap' the machine with a small, simple, custom operating system and
programming language.

Sounds impractical? Too much work?

Look how small CP/M is. This is something a person could write. More
importantly, a more portable option exists, something akin to Forth (punishment
for not liking basic enough in my opinion).

Small threaded interpreters can be build fairly easily, and are small and
powerful tools. Once a small kernel of the language is running, you can
quickly expand the system to provide whatever hardware support and features you

The book 'Threaded Interpretive Languages' by R. G. Loeliger describes an
indirect threaded interpreter for the Z80, but first resorts to describing a
'generic computer' to host a very simple threaded inner interpreter.

The generic machine described in chapter 3 is ~very~ similar to the HP1000
machines, assuming you write simple subroutines to implement the parameter and
return address stacks. Using this approach, a very usable OS/programming
language can be implemented in less than 4K words. Best of all it is
extensible, features can be added incrementally. (as you find more hardware and

Whats needed to attempt such a thing?

Well, documentation on any hardware you wish to support, and some form of
assembler, either native or (preferably) a cross assembler. Some method of
getting the output from the assembler into memory is also key, we all love our
front panels, but we need something more practical.

Getting back to HP machines for a moment, these needs are easily met. Simple
loader software can be used to load code into memory through the TTY interface
board, or better still through a parallel interface using the stock BBL loader.

The assembler on the HP2100 archive site has been succesfully compiled into
wintel executable code, and it works very well. Loader programs can be used to
transfer data from a PC into the HP easily enough, or a reader emulator can be
used as well.

Other vintage platforms may not be so well supported in terms of cross
assemblers and ultra-simple boot methods, but any box you can hand-code well
enough to talk to the world through whatever interface you have can be made to
work here. I should also mention emulation here. Like it or not, you don't
have to have the actual hardware to do a lot of this work (this means that
people can help develop without being blessed by the glow of the front panel).

Personally, Forth is highly unreadable and sufficiently bizzare that I've never
learned much about it, other than being facinated by its architecture. Its
just so small, and you get so much functionality out of so little code. This
efficiency of design has got to appeal to people trying to do something useful
with vintage machines.

Most often the vintage machine you find is not already booting whatever OS was
once available. So whats the least-effort to getting such a machine running as
it should?

While implementing real Forth on a vintage machine is probably a very good
approach to bootstrapping ancient iron thats not already booting an OS, Forth
is just too strange for me. I'm taking the option presented in 'Threaded
Interpretive Languages', and writing my own threaded interpreter.

Because my collection spans HP machines from the bitty 2114 up through E-series
boxes, I'm going to write my own operating system and language using the base
instructions common to all these machines. I'm assembling the code using a
wintel port of HPASM from Jeff's site, and transfering my code to the hardware
using a tape reader emulator.

But after reading of others trying to 'bootstrap' older HP machines, I have to
ask if it would not be better for such 'bootstrapping' projects to be done by
teams of list members?

This way a semi-standardized 'new vintage OS' could be developed specifically
for easy portability to any ancient iron lacking reasonable OS support.
Individual users can then alter of replace the languaged dictionary to suite
their tastes.

Anyone interested in a threaded interpreter for old HP boxes? Maybe something
that can run in all those 4K 2114's that can't run HP Basic?
Received on Wed Jan 16 2002 - 09:37:29 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:55 BST