| HP 8x family notes |
Perhaps a very brief history might help clarify HOW things are and WHY
things are:
1) HP releases the HP-85 with internal thermal printer and tape drive,
and plug-in accessories: ROM drawer and ROMs, 16K RAM, HPIB, GPIO,
BCD, Serial, Parallel-printer interfaces. The system has 4 internal
ROMs, 3 fixed in the first 24K of address space and 1 (ROM 000)
bank-selectable (swappable) ROM from 24K to 32K. All external ROMs
get swapped in, one at a time, into that 24K to 32K space (and
thus, swapping OUT whatever ROM had been previously mapped). The
internal RAM is 16K, from 32K to 48K. The plug-in 16K RAM maps to
48K to 64K. This was Capricorn (which was the code name for the
CPU chip AND for the HP-85A).
Additional accessories that plugged onto the HP-IB or Serial or
Parallel (mostly) interfaces were: Epson dot-matrix printers and
Amigo 5.25" floppy drives (single and dual). Later, 5MB and larger
hard drives were added. The HP-85A Mass Storage ROM (plug-in) only
talked to Amigo drives, and then only ones that it knew (or
recognized the configuration of).
2) The price of the HP-85 was considered 'high' at the time, given
that there were MANY microcomputers at the time that were selling
for hundreds of dollars. Plus, a lot of people wanted to buy
disk drive(s) and an external printer anyway, so it was thought
that sales could be increased by lowering the total cost for these
kinds of systems, so the HP-83 was created (code name Virgo, which
the engineers thought was cute because it didn't have a tape
'slot', so obviously it was a virgin...), which was exactly an
HP-85 without the internal printer or internal tape drive, so
these systems, to be useful, HAD to include an HP-IB interface,
a disk drive, a (usually HPIB) printer, and a ROM drawer with
at least the Mass Storage and Plotter/Printer ROMs (needed to talk
with the external disk drive(s) and printer.
3) Near the same time that 2) was being created, work also started
on Gemini, the HP-87. This was the Next Generation HP-85, with
a larger internal display (16- or 24-line by 80 chars), no internal
mass storage or printer, but with a built-in HP-IB interface. It
also included a new RAM controller (and new CRT controller, of
course). The new RAM controller not only handled the RAM from
32K to 64K, but also provided access to "Extended Memory" RAM
which was accessed via two I/O "pointer registers" (PTR1 and PTR2).
This controller was the Extended Memory Controller (EMC), that
could be strapped to work in different configurations (whether it
was the 'internal' one, which had to handle direct access to the
32K-64K RAM, or whether it was 'external' (plug-in) and had
32K, 64K, or 128K or RAM. The 32K modules were never sold, as it
was decided before introduction that the price/performance just
didn't make sense. But there were prototypes, with labels and
everything, as I had one (it didn't come home with me, though,
so none of these may still exist). The HP-87 had 6 ROMs built
in, the usual three fixed ROMs from 0-24K, the usual bank-selected
ROM 000, a bank-selected 'graphics' ROM 001, and the 87 Mass
Storage ROM 320. The internal ROMs also contained the code for
talking to external printers, so the 87 was "good to go" for
connecting external Amigo disk drives and printers to the HPIB
with no additional ROMs plugged in, and the 85's Plotter/Printer
ROM became the 87's Plotter ROM, since the Printer functions
were built-in.
4) Near the same time that 3) was being created, to extend the
life and capability of the HP-85 line, work was started on the
HP-85B. This machine replaces the 85A's RAM controller with
the 87's EMC, and the 85A's 16K internal RAM was expanded to
64K, 32K of which was in the usual 32K-64K address space, and
the other 32K was accessed through the EMC's PTR1 and PTR2
I/O registers. BUT... the System ROMs weren't changed (other
than some bug fixes), so that 32K of Extended RAM wasn't
terribly useful, except as a RAM disk. To enable that, the
Electronic Disk (ED) ROM was developed, which supported the
configuration, initialization, and access to the Electronic
Disk 'volumes' in that Extended RAM (and you could plug in
the 64K and 128K RAM modules from the HP-87 to enlarge the
available Electronic Disk space) was MUCH faster than access
to physical media, but it was also highly volatile, it
disappeared in less than a flash of smoke when a crash occurred
or power was lost. Anyway, to support the ED ROM, changes had
to be made to the 85A's Mass Storage ROM. But the MS ROM was
already chock-full of code, so to enable the changes, some
portions of code were moved from the MS ROM to the ED ROM,
and thus you have a ROM pair that worked together, and both
are required. Both of these ROMs were built into the HP-85B
(internal). However, this configuration still only supported
Amigo drives.
5) Near the same time that 3) and 4) were going on, work also
began on the HP-86A, which was to the HP-87 what the HP-83
was to the HP-85: it had no internal CRT, so the case is
flatter, and it had a video out connector on the back for
connecting to an external proprietary monochrome monitor,
whose timing was such that most other RCA video montiors
won't work with it. Sigh. It also had a built-in bastardized
"HP-IB" interface that looked to the system like HP-IB, but
had "parallel disk" connectors to connect directly to
external (non-HPIB) floppy disks (thus lowering costs further).
Otherwise, the 86A was mostly hardware and software the same
as the HP-87, so if you added an HP-IB card, you could still
talk to HP-IB disk drives, because the MS ROM was build in,
but it still only talked to Amigo HP-IB drives. The 86A was,
if memory serves, code-named Libra.
6) Near the same time that 3), 4), and 5) were going on (the
first few years of the 1980s were fast and furious and
pretty intense at Corvallis HP, before everything collapsed),
HP contracted with Structured Software Systems (I think that's
the name) to write the Extended Mass Storage ROMs for the
HP-85B and the HP-87/86 machines. The MS ROMs in those machines,
which were still under development, were modified to allow 'hooks'
(calls to RAM 'hooks' at critical points in the ROM code) which
the EMS (not to be confused with EMC) ROMs could take over and
thus add to or modify the behavior of the built-in MS ROM. In
this way SS/80 drive support could be added. But, the 85A ROM
didn't have these needed modifications allowing the "hooking in,"
so that's why the EMS ROM doesn't work in the 85A or 83.
BUT... if you were to plug the 85B MS ROM into an 85A in place
of the 85A MS ROM, using some type of ROM emulator board, AND
you also included the 85B E-Disk ROM (which is needed because
it and the 85B MS ROM are really just "one ROM", needing each
other to function), even though the E-Disk ROM's Extended Memory
e-disk functions wouldn't work (you can't plug EM modules into
an 85A because 1) it doesn't have the Instruction Fetch (IF)
line connected to the back-plane, and 2) the EM Controller IC
would collide and fight with the 85A's internal RAM controller),
you WOULD be able to then plug the 85B's Extended Mass Storage
ROM into the 85A and access SS/80 drives from the 85A. NOT
something that HP ever supported, but it CAN be made to work.
Ugly, but...
7) Eventually, there was the 86B, which replaced the "parallel
floppy interfaces" with a built-in HP-IB with a real HP-IB
connector, and there were also 'localized' 86Bs which used
a modified Keyboard Controller and CRT Controller to enable
better support for European character sets. Also, the 87XM
was created, which added more built-in RAM.
So...
> Could someone create a matrix of what is needed for Amigo and CS/80 on a HP8x?
Amigo SS/80
HP83 MS N.A. *
HP85A MS N.A. *
HP85B MS/ED built-in 85 EMS
HP86A MS built-in 87 EMS
HP86B MS built-in 87 EMS
HP87A MS built-in 87 EMS
HP87XM MS built-in 87 EMS
* HP83 & HP85A can work with the 85 EMS ROM to access SS/80 if you
suck the internal HP85B MS ROM and ED ROM bits out and burn them
into a plug-in ROM emulator, and use in place of the HP85A MS ROM.
To reiterate (or, perhaps, to re-phrase), the HP Mass Storage ROMs
never supported anything other than Amigo. The EMS ROM adds support
for SS/80. But, the EMS ROM needs cooperation from the HP MS ROM,
and that wasn't available for the HP85A/83A, only with the 85B, 86,
and 87... unless you play unsupported tricks with the 85B MS/ED ROMs
and the 85A/83A.
This information and the circuits are provided as is without any express or implied warranties. While every effort has been taken to ensure the accuracy of the information contained in this text, the authors/maintainers/contributors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. I disclaim everything. The contents of the articles below might be totally inaccurate, inappropriate, or misguided. There is no guarantee as to the suitability of said circuits and information for any purpose whatsoever other than as a self-training aid. I.E. If it blows your equipments, trashes your hard disc, wipes your backup, burns your building down or just plain don't work, IT ISN'T MY FAULT. In the event of judicial ruling to the contrary, any liability shall be limited to the sum charged on you by us for the aforementioned document or nothing, whichever is the lower. I will not be held responsible for any damages or costs which might occur as a result of my advice or designs. Nor are you allowed to use any of my designs for commercial purposes without my written authorisation.