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.