Sunday, October 26, 2025

The Apple Network Server MacOS ROMs have resurfaced

The 1996 Apple Network Server was Apple's first true Unix-through-and-through server (the Apple Workgroup Server 95, actually a Quadra 950 with a special PDS card limited to A/UX, doesn't really count) and through a complex history came to run IBM's AIX as its native operating system. I actually had an ANS 500 when it was almost new, in 1998, and it ran Floodgap until 2012. It is still in my collection and still runs, along with an ANS 700 I later acquired and a (sadly battery bombed) "Shiner ESB" prototype that used to be at Netscape. AIX was your only choice — no other operating system was supported.

Still, it was a relatively open secret that the ANS was heavily derived from existing Power Macintosh hardware, most closely the Power Macintosh 9500, and early "Shiner" prototype systems were even demonstrated with MacOS. This was apparently the underpinning of Apple's brief flirtation with NetWare as a server OS, variously codenamed Wormhole, Deep Space Nine and most famously Cyberpunk. Then-CEO Michael Spindler made public statements supporting NetWare on Apple hardware; Wormhole was reportedly demonstrated on an early prototype likely of the Workgroup Server 9150 and Cyberpunk was explicitly meant for Shiner. Cyberpunk will no longer run on an ANS with production ROMs, but reportedly did run on ANSes with pre-production ROMs that could still boot MacOS, and does run on early NuBus Power Macs like the Power Macintosh 6100, which is how we demonstrated it. However, potential customers strongly preferred a Unix option and Apple had an arrangement with IBM around AIX, and so as the last operating system still standing that's what the ANS ended up running. Production ANSes as sold with the standard Open Firmware 1.1.22 ROMs lock MacOS out entirely and you get a message like this:

Although an old nerds' tale circulated at the time saying you could pull 9500 ROMs, put in a video card and boot from an external hard disk (because the video chip and internal SCSI controller are unique to the ANS and weren't supported by the 9500 or MacOS), this couldn't possibly have worked because among other things the Bandits in the ANS are mapped differently. Lots of people, including yours truly, had certainly tried. Still, I was used to AIX as an AIX administrator since the 3.2.5 days on real RS/6000 hardware and the ANS ran it splendidly, so today mine still runs it (4.1.5 is the last AIX release supported).
But to me the best thing about the ANS was that I got a big beefy RISC server for a summer's work, so I didn't have to plump down a credit card. For everyone else, the ANS was expensive (starting at $10,000+ in 1996, a cool $20 grand in 2025 dollars) and Apple wasn't moving many. CEO Gil Amelio had lured Ellen Hancock away from National Semiconductor as Apple's new CTO and tasked her with finding a new path for the MacOS, though in the meantime Apple had this big hulking midrange server that wasn't selling. So, as an attempt to juice sales, Hancock announced at Comdex 1996 that the ANS would be able to run other operating system choices, not just AIX. MacOS was an obvious one because it already had before, but Hancock also proposed Windows NT to the great surprise of attendees. While Windows NT was built to be system-agnostic and versions already ran on PowerPC hardware, and people have since hacked it to run on Power Macs, this would have been the first time it could officially ever run on an Apple machine.

Hancock's assertion was a simple ROM change would do it, and as it happens the ROMs on the ANS are conveniently on a small daughtercard that can be replaced. However, it seems that the market was sceptical this could work — heck, I was sceptical while doing the story research, since I knew no such ROMs were ever publicly sold — and the recently-returned Steve Jobs talked Amelio into cancelling the ANS line and OpenDoc both on the same day in 1997. Nothing more ever turned up about either option.

Recently a former employee who was on the business development team for Apple's server products posted on the Tinker Different boards: not only did he have the mythical MacOS ROM, he had it installed in a Deep Dish booting the MacOS. Deep Dish was the code name for the planned but unreleased ANS 300, a small rackmountable version (as opposed to the rackmount plates Apple sold for the 500 and 700 which take up a whopping 19U), so here was a prototype machine running development ROMs booting an operating system it was never actually sold with. More to the point, he confirmed the Windows NT ROMs actually did exist and worked as well.

Though he didn't have the NT ROMs, he did dump the two development ROMs he had (a third is in progress) which included the MacOS ROM — and now we have them for analysis. What's interesting is that both the explicit MacOS ROM and the Open Firmware 2.26b6 ROM he dumped seem capable of booting MacOS, though the 2.2 ROM has strings saying MacOS is unsupported, use at your own risk. and MacOS requires PCI video card and external SCSI boot disk. (which may lend credence to that old nerds' tale, assuming you had the right ROMs, not the 9500's). However, the full MacOS ROM reportedly "just works," all the way to Mac OS 9; one wonders if with XPostFacto you could drag it into OS X that way, giving it another Unix option besides AIX, Linux and NetBSD, the driver issue notwithstanding. Though the MacOS ROM does not use the ANS's front-mounted LCD, which is one of its best features, it wouldn't seem difficult to come up with an INIT extension for it. A particularly tantalizing thought is this might also get Cyberpunk running on a Shiner for the first time since 1996, the very machine it was intended for.

To make all that happen, of course, we next need to get the MacOS ROM on an actual ROM card. The ROMs this individual had were flashable and I need to do some looking at mine, and the connectors aren't common. Nevertheless, the first step is to actually have the ROM and now we do. I'm hopeful that this breakthrough might encourage further exploration of my favourite Apple server and that someone out there has the NT ROMs and steps forward. The Apple Network Server was always a cult favourite as one of Apple's more notorious white elephants and now almost 30 years after its introduction there may be even more fun things to do on it. If you know where to find them, post in the comments or drop me a line at ckaiser at floodgap dawt com (happy to keep you anonymous if you prefer which I have done for other former Apple engineers in the past).

Sunday, October 12, 2025

Back to the Southern Hemisphere Commodore 128DCR

Pretty sure this will end up as one of my longest-term restoration projects, but I'm back in the Southern Hemisphere for a little while to visit my wife's side of the family and giving me another opportunity to see if we can make progress on our defective PAL 128DCR, my favourite Commodore 8-bit.

Sunday, October 5, 2025

The end of AOL dialup

America Online has ceased offering dialup access since first doing so in 1991 (using GeoWorks), and presumably any systems attempting to dial in will no longer be able to make a connection.

We actually had a fairly long history with AOL and its predecessors in our house. We got a copy of PlayNET as a door prize at the local Commodore computer club meeting (dunno where that went) and my folks initially signed up for AOL's C64-based predecessor, QuantumLink — which I was quickly banned from after they got the first monthly bill. However, when in the mid-1990s my dad decided we should be online again (I already was myself using the dialup at UC San Diego), I suggested AOL to them since it was the easiest approach. It covered the entire family: I used it on medical school away rotations when I didn't have a local POP number to call into the university, back then on my PowerBook 1400. In fact, the last time I used it was in July 2006, when I drove across the United States from San Diego to Bangor along US Highway 6. Wi-Fi was certainly not universal at the time and neither was cell coverage, so it was the least difficult option to use when local network access wasn't available. Here's me logging in on the iBook G4 from Ely, Nevada.

You can see the AOL login screen faintly on the iBook's LCD. The last time I remember using AOL was on the same trip from a later stay a few days later in Warren, Pennsylvania. I don't have any pictures of that, but I distinctly remember doing so, because it made uploading images to the road"b"log impractical due to the poor quality of the phone lines at the motel. Still, I could log in and read my E-mail from my servers in the apartment over SSH, so it achieved its purpose.

Although at least one client re-creation exists, it would be more interesting to see someone develop a new AOL server using modern modem emulation tools that the AOL clients can talk to. Much as QuantumLink's server responses can now be simulated, facilitating a fan recreation, and because some pieces of the old PlayNET and QLink architecture underlaid AOL, it should be possible to do the same. Although some work exists on AIM, the instant messenger component (I certainly remember plenty of unsolicited chat requests), the whole experience really ought to be preserved in some fashion because for at least a few years it was the most common way people connected to the Internet no matter its warts. However, as there's obviously no way to serial-snoop the real thing now, hopefully someone at Yahoo/Verizon can leak the source code or protocol description so it can be resurrected. Though I certainly see no reason to use the dialup service as anything other than a historical simulation now that we have hotspotting and ubiquitous Wi-Fi — and my parents cancelled their dialup account after they got cable Internet — I also point out that my mom still has the same AOL E-mail address she had back then, and it still does the job for her.

Saturday, September 13, 2025

Refurb weekend: Silicon Graphics Indigo² IMPACT 10000

It's one of my periodic downsizing cycles, which means checking the hardware inventory (and, intermittently, discovering things that were not on the hardware inventory) and deciding if I want to use it, store it or junk it. And so we come to this machine, which has been sitting in the lab as a practical objet d'art when I picked it up from a fellow collector for the cost of take-it-away almost exactly a decade ago.
This beautiful purple slab is the Silicon Graphics Indigo² (though, unlike its earlier namesake, not actually indigo coloured) with the upper-tier MIPS R10000 CPU and IMPACT graphics. My recollection was that it worked at the time, but I couldn't remember if it booted, and of course that was no guarantee that it could still power on. If this machine is to stay working and in the collection, we're gonna need a Refurb Weekend.

Wednesday, September 3, 2025

Microsoft makes 6502 BASIC open source

It was probably going to happen sooner or later, but Microsoft has officially released the source code for 6502 BASIC. The specific revision is very Commodore-centric: it's the 1977 "8K" BASIC variant "1.1," which Commodore users know better as BASIC V2.0, the same BASIC used in the early PET and with later spot changes from Commodore (including removing Bill Gates' famous Easter egg) in the VIC-20 and Commodore 64. I put "8K" in quotes because the 40-bit Microsoft Binary Format version, which is most familiar as the native floating point format for most 8-bit BASICs derived from Microsoft's and all Commodore BASICs from the PET on up, actually starts at 9K in size. In the C64, because there is RAM and I/O between the BASIC ROM and the Kernal ROM, there is an extra JMP at the end of the BASIC ROM to continue to the routine in the lowest portions of the Kernal ROM. The jump doesn't exist in the VIC-20 where the ROM is contiguous and as a result everything past that point is shifted by three bytes on the C64, the length of the instruction.

This is, of course, the same BASIC that Gates wanted a percentage of but Jack Tramiel famously refused to budge on the $25,000 one-time fee, claiming "I'm already married." Gates yielded to Tramiel, as most people did then, but I suspect the slight was never forgotten. Not until the 128 did Microsoft officially appear in the credits for Commodore BASIC, and then likely only as a way to push its bona fides as a low-end business computer. Microsoft's source release also includes changes from Commodore's own John Feagans, who rewrote the garbage collection routine, and was the original developer of the Commodore Kernal and later Magic Desk.

The source code is all in one big file (typical for the time) and supports six machine models, the first most likely a vapourware 6502 system never finished by Canadian company Semi-Tech Microelectronics (STM) better known for the CP/M-based Pied Piper, then the Apple II, the Commodore (in this case PET 2001), the Ohio Scientific (OSI) Challenger, the Commodore/MOS KIM-1, and most intriguingly a PDP-10-based simulator written by Paul Allen. The source code, in fact, was cross-assembled on a PDP-10 using MACRO-10, and when assembled for the PDP-10 emulator it actually emits a PDP-10 executable that traps on every instruction into the simulator linked with it — an interesting way of effectively accomplishing threaded code. A similar setup was used for their 8080 emulator. Unfortunately, I don't believe Allen's code has been released anywhere, though I'd love to be proven wrong if people know otherwise. Note that they presently don't even mention the STM port in the Github README, possibly because no one was sure what it did.

While MACRO-10 source for 6502 BASIC has circulated before and been analysed in detail, most notably by Michael Steil, this is nevertheless the first official release where it is truly open-source under the MIT license and Microsoft should be commended for doing so. This also makes it much easier to pull a BASIC up for your own 6502 homebrew system — there's nothing like the original.

Saturday, August 23, 2025

Reverse-engineering Roadsearch Plus, or, roadgeeking with an 8-bit CPU

Sorry, Doc Brown: we still needed roads in 1985. That meant paper atlases and misfolded roadmaps and a lot of stereotypical male anxiety asking for directions. Fortunately, in 1985, this problem also had a solution.
Yes, if your car inverter could handle a 45-ish watt load — and your wife doesn't want her seat back right away — you could navigate major routes across America on your home computer like this portable Commodore SX-64. I particularly enjoyed writing this article because my other irredeemably nerdy habit is roadgeeking, exploring and mapping highways both old and new, and it turns out that 8-bit roadgeeking on ordinary home computers was absolutely possible.

For computers of this class, devising an optimal highway route becomes an exercise not only in how to encode sufficient map data to a floppy disk, but also performing efficient graph traversal with limited hardware. Today we'll explore Roadsearch-Plus, one of the (if not the) earliest such software — primarily on the Commodore 64, but originating on the Apple II — and at the end "drive" all the way from southern California to British Columbia along US Highway 395, my first long haul expedition, but as it was in 1985. Buckle up while we crack the program's runtime library, extract its database, and (working code included) dive deeply into the quickest ways to go from A to B using a contemporary home computer.

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.)