Showing posts with label hp. Show all posts
Showing posts with label hp. Show all posts

Saturday, August 2, 2025

A real PowerBook: the Macintosh Application Environment on a PA-RISC laptop

I like the Power ISA very much, but there's nothing architecturally obvious to say that the next natural step from the Motorola 68000 family must be to PowerPC. For example, the Palm OS moved from the DragonBall to ARM, and it's not necessarily a well-known fact that the successor to Commodore's 68K Amigas was intended to be based on PA-RISC, Hewlett-Packard's "Precision Architecture" processor family. (That was the Hombre chipset, and prototype chips existed prior to Commodore's demise in 1994, though controversy swirled regarding backwards compatibility.) Sure, Apple and Motorola were two-thirds of the AIM alliance, and there were several PowerPC PowerBooks available when the fall of 1997 rolled around. But what if the next PowerBooks had been based on PA-RISC instead?

Well, no need to strain yourself imagining it. Here's nearly as close as you're gonna get.

In October 1997 you could have bought a PowerBook 3400c running up to a 240MHz PowerPC 603e for $6500 [about $13,000 in 2025 dollars], which was briefly billed as the world's fastest laptop, or you could have bought this monster new to the market, the RDI PrecisionBook running up to a 160MHz (later 180MHz) PA-7300LC starting at $12,000 [$24,000]. Both provided onboard Ethernet, SCSI and CardBus PCMCIA slots. On the other hand, while the 3400c had an internal media bay for either a floppy or CD-ROM, both external options on the PrecisionBook, the PrecisionBook gave you a 1024x768 LCD (versus 800x600 on the 3400c), a bigger keyboard, at least two 2.5" hard disk bays and up to 512MB of RAM (versus 144MB) — and HP-UX.

And, through the magic of Apple's official Macintosh Application Environment, you could do anything on it an HP PA-RISC workstation could do and run 68K Mac software on it at the same time. Look at the photograph and see: on our 160MHz unit we've got HP-UX 11.00 CDE running simultaneously with a full Macintosh System 7.5.3 desktop. Yes, only a real Power Mac could run PowerPC software back then, but 68K software was still plentiful and functional. Might this have been a viable option to have your expensive cake and eat it too? We'll find out and run some real apps on it (including that game we must all try running), analyze its performance and technical underpinnings, and uncover an unusual artifact of its history hidden in the executable.

(A shout-out to Paul Weissman, the author and maintainer of the incomparable PA-RISC resource OpenPA.net, who provided helpful insights for this article.)

Saturday, May 24, 2025

prior-art-dept.: The hierarchical hypermedia world of Hyper-G

It's time for another entry in the Prior Art Department and today we'll consider a forgotten yet still extant sidebar of the early 1990s Internet. If you had Internet access at home back then, it was almost certainly dialup modem (like I did); only the filthy rich had T1 lines or ISDN. Moreover, from a user perspective, the hosts you connected to were their own universe. Things may have originated elsewhere, but everything on the host you connected to was a local copy: the mail you received, the files you could access, the posts you could read. Exceptional circumstances like NFS notwithstanding, what you could see and access was local — it didn't point somewhere else.

Around this time, however, was when sites started referencing other sites, much like the expulsion from Eden. In 1990 both HYTELNET and Archie appeared, which were early search engines for Telnet and FTP resources. Since they relied on accurate information about sites they didn't control, both of them had to regularly update their databases. Gopher, when it emerged in 1991, consciously tried to be a friendlier FTP by presenting files and resources hung from a hierarchy of menus, which could even point to menus on other hosts. That meant you didn't have to locally mirror a service to point people at it, but if the referenced menu was relocated or removed, the link to it was broken and the reference's one-way nature meant there was no automated way to trace back and fix it. And then there was that new World Wide Web thing introduced to the public in 1993: a powerful soup of media and hypertext with links that could point to nearly anything, but they were unidirectional as well, and the sheer number even in modest documents could quickly overwhelm users in a rapidly expanding environment. Not for nothing was the term "linkrot" first attested around 1996, as well as how disoriented a user might get following even perfectly valid links down a seemingly infinite rabbithole.

Of course, other technically-minded folks had long been aware of the problem, and as early as 1989 an academic team in Austria was already trying to attack the problem of "access to all kinds of information one can think of." In this world, documents and media resources could be associated together into a defined hierarchy, the relationships between them were discoverable and bidirectional, and systems were searchable by design. Links could be in anything, not just text. Clients could log into servers or be anonymous, logged-in users could post content, and in the background servers could talk to other servers to let them know what changes had occurred so they could synchronize references. Along the way, as new information resources via WAIS, Gopher and the Web started to appear, their content could also be brought into these servers to form a unified whole. This system was Hyper-G, and we'll demonstrate it — on period-correct classic RISC hardware, as we do — and provide the software so you can too.

Tuesday, April 1, 2025

The April Fools joke that might have got me fired

Everyone should pull one great practical joke in their lifetimes. This one was mine, and I think it's past the statute of limitations. The story is true. Only the names are redacted to protect the guilty.

My first job out of college was a database programmer, even though my undergraduate degree had nothing to do with computers and my current profession still mostly doesn't. The reason was that the University I worked for couldn't afford competitive wages, but they did offer various fringe benefits, and they were willing to train someone who at least had decent working knowledge. I, as a newly minted graduate of the august University of California system, had decent working knowledge at least of BSD/386 and SunOS, but more importantly also had the glowing recommendation of my predecessor who was being promoted into a new position. I was hired, which was their first mistake.

Sunday, April 25, 2021

Refurb weekend: Hewlett-Packard 9000/350

I'm not really a "big iron" enthusiast; I've always liked small systems (for one thing, you can collect more of them without annoying your spouse, though my wife points out for the record she is generally tolerant of my hobbies). One really must specialize in those kind of machines as a collector, not only for their power and space demands, but also their sometimes unusually complex maintenance requirements.

That doesn't mean I don't have larger machines, however. Besides my three Apple Network Servers (about the size of a decent dorm fridge), a PDP-11/44 in storage I'm not sure what to do with yet and the 2U-in-a-tower IBM POWER6 which runs Floodgap, my other "big" system is my only 1980s-era Un*x workstation, a 1987 HP 9000/350. It came to me already named (homer).

Homer's system processing unit has a 25MHz 68020 and 20MHz 68881 FPU paired with HP's custom MMU (not a 68851) and 32K of cache, which HP claimed was four times as fast as the VAX 11/780 at integer math. It is closely related to the slower, stripped-down 330 (both CPU and FPU at 16.67MHz, no cache; in fact, HP calls the 350 a 98562B and the 330 a 98562A). 9000/300 systems are unusually modular by modern standards: the SPU is in a separate, self-contained box from the rest of the peripherals, all of which are installed in a custom HP steel rack. As internal options it has a HP 98545A colour graphics board (in the bundled configuration HP sold as the 350C) that delivers 1024x768 graphics with 16 colours, 16MB of parity RAM (up to 32MB, but that needs the three-connector system bus plate which I don't have) and a standard Human Interface board (HP 98562-66530, with later versions sold as the HP 98247A) containing low-speed HP-IB, NIC (10Base2, the last Thinnet machine on my household network), HP-HIL (with 46010A keyboard and 46060A mouse), audio and RS-232, plus the HP 98562-66531 optional high-speed HP-IB board necessary for booting from a hard disk. The monitor is the largest CRT display I own, a 19" Sony GDM-1902 that HP repackaged as the 98782A, capable of 1024x768 megapixel graphics.

Over high-speed HP-IB it is connected to a HP 6000 C2203A 670H, an indestructable 670MB CS/80 hard disk with the system name on the front that will outlast the cockroaches. I also have a benighted 9144A tape drive that refuses to stay locked in the rack and requires pre-formatted IOTAMAT QIC cartridges yet won't read them even with a retrofitted capstan, and a 9122D dual DS/DD 3.5" floppy drive. (Yet to be racked, pending investigation, are a 600/A CD-ROM and a 6400 C1511A 1300H DDS-1 tape drive.) It runs HP-UX 8.0, though I am told the NetBSD port is excellent.

In 1987 this would have been a heck of a computer, but you would have paid somewhere north of $50,000 for this configuration which would be a whopping $115,000+ in 2021 money. For comparison, the most I've ever personally paid for a computer was $11,000 for my POWER6, purchased used in 2010 (in 2021 about $13,300), whereas this machine I got for "come and get it" over a decade and a half ago (tip of the hat to Stan and Kevin). It also came with a separate 9000/319C+ system unit, but that's in storage since the 350 is much more powerful (the 319C+ is essentially a consolidated, cost-reduced and minimally upgradeable 330). The Homer Simpson doll was included.

A refurb weekend was planned for Homer for awhile owing to the dead clock battery (it uses the slightly larger 2325 lithium coin cells instead of the more typical 2032s), and it had always had a flaky 10Base2 connection to the network backbone which I chalked up to cabling because I could usually fix this with messing with the cable and resetting the LAN hardware in /usr/bin/landiag.

This time, however, no amount of tweaking and cajoling could get the network connection back up again. The time had finally come for ... a Refurb Weekend!

The 350 and relatives subdivide internally into RAM board(s), the CPU board, any graphics and other option boards, and the Human Interface board, which is where most of the peripheral connections reside in the default loadout. Its original HP 98562-66530 board looks like this:

The low-speed HP-IB, HP-HIL, audio, RS-232 and NIC are all consolidated onto a single unit, replacing the separate boards (HP 98625 HP-IB, HP 98643 LAN, HP 98620B DMA and HP 98644 serial port cards) required in earlier models. The golden board piggybacked on it is the 98562-66531 high-speed HP-IB board with an integrated cable, which is a functional substitute for the HP 98625B. The unified Human Interface board idea is nice in that you don't need a separate expansion box to get a good mix of devices but bad in that repair is correspondingly much less granular.

The self-test screen showed a valid MAC address for the NIC (the 080009... code), which suggested the MAC portion was working and the problem was either the port or the Thinnet PHY (you kids today have it easy with your newfangled integrated NIC chipsets). On a board of this era they would be separated, and later we'll demonstate this, but you can already see that everything was soldered down and not socketed. Since I was uncertain at the time what really was the fault, let alone what I would actually replace the faulty component with, I decided to see if I could simply replace the board.

This turned out to be serendipitous because someone was selling a two-pack of 98562-66534 Human Interface boards for a very reasonable price.

("MADE IN USA": don't see that much anymore!) These newer boards were introduced with the later 360 and 370, but because those SPUs are also quite similar to the 350, they'll work just fine in a 330 or 350. In particular the 66534 variant was especially handy to find because it had a more conventional AUI connector to the MAC (the 360/370's 66533 variant was also Thinnet). Just make sure when you get the board that you slide it into the card guides and fully engage the connectors, or you'll get weird DMA and device failures like this:

After an initial moment of panic, making sure the board had a good connection made the problem go away. Both of them checked out and passed the system self-test. Still, since one had thumbscrews and the other didn't, I decided to use the thumbscrewed one. First, let's replace that bad old battery which was almost certainly burned out as well:

A nice 3 volts and change. Next, let's move the high-speed HP-IB board over (the 670H cannot be booted from the on-board low-speed HP-IB). The integrated cable needs to be removed first, so a bit of nylon spudger action frees that up:

With the cable disconnected, removing the board is then a matter of removing the four screws holding it on its standoffs and levering it out of its connector with the spudger again:

Inspecting the 66531 board.

No damage, pin headers look good. Lots of glue logic and not much else.

Now to slip off the cable. The integrated cable has two metal chokes which serve to orient it on the rear plate. You don't need to remove these chokes, but you do need to slide the part of the plate holding the backmost choke off to the side (a pair of pliers helps). Don't pull out that stud holding it; the stud is merely an axis. Just grab and pull the plate tab itself.

With the plate tab off, the cable can now be gently pulled out of its clamp.

When installing the high-speed board in its new home, connect the HP-IB cable to the board first (there's a hollow tab that serves as a key; in the installed position this hollow tab should be up and visible) so that you don't trap the cable under the card installing it. The 66534 board does not have a moveable tab, just a gap for the divot in the rear choke to sit in as shown here. Also, the cable clamp is facing up on the 66534 and not to the side as in the 66530, so the whole thing just goes straight down onto it and the board connector.

Seat the board and put the screws back in. It may flex a little until it settles into its connector. I then made sure the DIP switches matched between the old board and the new board since they would be configured the same way.

One last detail is what we'll use to connect it to the network. While my hub does have an AUI port, so I could just run a straight-thru DA-15 cable, might as well put that box of MAU transceivers I have to good use. I've been in this business long enough to even have some favourite brands:

BoseLAN MAUs have lots of blinkenlights and are the most compact, but this model's RJ-45 jack is to the side, which would be right in the way of the high-speed board's HP-IB cable. (BoseLAN got bought by Cable Design Technologies, which later merged with Belden.) I am also a big fan of Allied Telesyn gear (now Allied Telesis) -- that 10MBit backbone hub is a AT unit that has been in almost continuous service since about 1999 -- and their MAUs are also very good but I don't like opening up NOS boxes if I have something loose that will suffice. So I dug out a Transition (still around, apparently) MAU which has very few blinkenlights but wasn't sitting pretty in a new box either. Yes, I've got a shoebox stuffed full of these things.

Installed the new board, but not without a little bit of blood from the side rails. I'm not sure the degrading foam from the sides of the rack are so good for open wounds either.

Booting HP-UX. No more errors!

And testing out the new network card by firing up the Chimera web browser under HP VUE. CDE jockeys will recognise the Visual User Environment as an ancestor, not least of which due to the Motif interface, and indeed CDE was strongly influenced by it.

After all that, a post-mortem: was the board repairable? Other than minor differences in chip and component revision (and tape covering an EPROM window, which was replaced by a conventional ROM on the later card), the only differences of significance between the 66531 and 66534 are in the corner near the bar code where the AUI or 10b2 port would be. The most obvious change is a large chip marked Reliability 2VP5U9 ("QUALITY IS RELIABILITY") which is not present on the 66534. The 2VP5U9 LAN-PAC is a DC/DC converter that turns up many places, including the Commodore A2065 Ethernet card, and according to its blurb "is designed to provide power and isolation for Local Area Network transceiver chips."

The pinout for these things is quite simple (here is a scan from the datasheet); most of the pins are wired together. There are other variants of this part but this one specifically serves for Thinnet (which was also called "Cheapernet" because it was cheaper than the alternatives, as shown in the table).

The underside of the board shows its connections. The chip itself is at U20. There's really only one line involved here, which naturally is one of the outputs.

With the pinout and following the lone trace, it looks like the 2VP5U9 powers U14, which is some glue logic also not on the 66534, and the surrounding discrete components, but not T1 (you'll notice the traces carefully avoid its pins), which is preserved on the 66534. Helpfully the region is outlined in a lighter green than the PCB, which likely constitutes the entirety of the PHY, but any of these components or any combination thereof could have been faulty. HP warns about this in the service manual: "Field Repair Philosophy for the Model 330/350 Computers and the HP 98568A Opt. 132 and 98570A Expander is assembly, or board level." Well, I guess that's what we ended up doing anyway.

I'm happy to have it fully working again, though it's sad not to have a reason to mess with Thinnet anymore. Or, maybe it's not that sad: I remember how much I hated it in large deployments. But now that it's back in action I'd like to get at least one tape drive working too; that and a port of Crypto Ancienne will be the next project(s).