In my continuing attempt to separate the junk from working machines in my collection, I decided to play around with
some old href="http://www.obsolyte.com/dec/multia/">Multias. One
of them has the soldered-in CPU and soldered-in cache
(VX40); the other has the socketed CPU and 256kb cache
(VX41). In my previous experiments with these systems, I never had more than 40MB of RAM or 340MB of
hard disk space, so I never had enough
memory or hard disk space to do anything interesting with
them.

Resuscitation

The first problem I ran into was that the VX40 wouldn’t boot
at all. That’s what I get for keeping it on the shelf for
so long. I was hesitant to mess around with the VX41, since
I’d had trouble with it in the past. Since it was the only one that would boot, I had no choice.

Also, neither Multia’s battery was any good. I found a
replacement battery href="http://www.dalco.com/moreinfo.cfm?&Product_ID=4807">here.
But I was too eager to get going, so I linked three AAA
batteries in serial and plugged them into the motherboard battery connector (don’t plug batteries into your motherboard unless you know exactly what you are doing).

The VX41 had given me some trouble a few years ago; partway
into the installation of Linux or Windows NT, it would lock
up. I noticed that its battery (now dead) is 3.0v, less
than the 4.5v that is standard for this system. Could this
have been the problem? Probably not, but I decided to try the Windows NT installation to see how far I could get.

I dug up a 2.5″ 1.2GB SCSI drive and replaced the 340MB hard
drive. Also, I pulled some compatible RAM from a Macintosh
Centris, loading up the Multia with a whopping 88MB RAM.
So, I booted the machine up, and it dropped me into the SRM
console (this is what you use to install and boot Unix). I
switched to the ARC console by typing “arc” and pressing
enter.

It Lives!

Step one (before installing Linux or NT) is
to create a small system partition using the FAT file
system. With the Windows NT 4.0 CD-ROM in the drive, I selected “Run a program” from the ARC menu
and told it to run CD:\ALPHA\ARCINST.EXE. From here, I was
able to create a system partition of 10MB. Then I told it
to install Windows NT and let it run from there. So far,
I’ve had no trouble with it locking up (knock on wood). However, my battery contraption proved to be unreliable, so
I pulled it out. This means that at each boot, I must:

  1. wait for the SRM console to start up
  2. type “arc” + enter to get to the ARC console
  3. select a default language
  4. choose Supplementary Menu->Set up the System and:
    1. choose “Reset system to factory defaults…”
    2. Set the system time
    3. choose “Manage boot selection menu” and change it
      like so:
      Under OSLOADER, s/winnt/winnt40/
      Under OSLOADFILENAME, s/winnt35/winnt/

After the new battery arrived, I only had to do this once more (after which the Multia remembered its settings).

Development Tools

Now that the system was up and running, it was time to get some development tools running on it. The first things I installed were Service Pack 6a and Internet Explorer 5.0, since they are prerequisites for IIS.

Next, I installed the Windows NT Option pack, which gave me IIS. But what fun is IIS without Perl? Although ActiveState no longer supports Perl on the Alpha, I found older releases here. For good measure, I also reinstalled Service Pack 6a, since there’s a chicken-egg situation: I couldn’t install IIS until I had installed SP3 or greater (so I chose SP6a), but SP6a includes some IIS-specific fixes.

Pushing my free disk space to the edge, I loaded up Visual C++ and Visual Basic on the system. Both of these depend on the MSDN library for their online documentation, so I tried to install that from the disk included with my MSDN subscription. Unfortunately, the latest MSDN library disks do not support the Alpha. I am something of a packrat, and I found an older set of CDs from January 2000 that includes Alpha support. That completed my Microsoft development environment. It was time to make sure Java got some fair representation here, too. Java 2 is available as a free download from Compaq. The availability of Java 2 is a big boost to the Alpha/NT platform; it opens up a lot of possibilities.

Building Apache

Since I couldn’t find a recent binary build of Apache for Alpha, I decided to build my own, using the current stable version (1.3.22 as of this writing). What better way to try out my C compiler? I needed something to extract the archive, so I downloaded the AXP build (I don’t know what AXP stands for, but it’s another name for the DEC Alpha platform) of unzip from ftp://ftp.uu.net/pub/archiving/zip/WIN32/. I extracted Apache and tried to build it with the command nmake /f Makefile.win INSTDIR="D:\apache" installr, but I was confronted with this error:

.ReleaseWin9xConHook.obj : fatal error LNK1112:
module machine type "ALPHA" conflicts with target machine type "IX86"

I found hardcoded references to a machine type in several of the Makefiles, so I changed /machine:I386 to /machine:alpha in each file by extracting the Apache source on an x86 system running Windows and Cygwin, then running this command under the bash shell:

find . -type f -exec grep -i i386 {} ; 
-exec perl -pi.bak -e 's/machine:i386/machine:alpha/gi' {} ;

You could run this on any Unix system, as well. There may be some equivalent way to do this using Windows NT utilities or Visual C++, but I went for the familiar Unix solution.

The change made it possible for me to compile Apache on my Alpha. I ran into one other problem with a file called test_char.h — this file should be generated by a program called gen_test_char.exe, but it didn’t happen automatically. So, I changed directory to apache_1.3.22\src\main and ran this command: nmake -f gen_test_char.mak. Then I returned to the src directory and re-ran my nmake command (nmake /f Makefile.win INSTDIR="d:\Apache" installr). When I was done, I had a complete Apache installation ready-to-run in my D:\Apache directory.

Run x86 Applications with FX/32

Compaq DIGITAL FX/32 is a subsystem that runs 32-bit x86 binaries and optimizes them for the Alpha while you are doing other things. It’s unsupported, but still available for download, and it’s the only way you’ll run x86 applications such as Microsoft Office. I used FX/32’s Install x86 Program utility to install Office 97 and subsequent service releases (SR1 and SR2). I figured that I didn’t want FX/32 running unless I was actively using Office, so I removed the Office Startup icon from my startup folder. If you install Office 97, I’d suggest that you don’t install the Office Shortcut Bar or the Find Fast feature, since these are two x86 applications that would run in the background.

Conclusion

Back when I had 32mb of memory and 340mb of disk space, I felt the Multia was absolutely unusable as a Windows machine. However, even under a low memory configuration, it would make an awesome little Linux, NetBSD, or OpenBSD system. Before I invested in a Cable/DSL router, I used a Multia running Linux as my firewall and NAT router. And a free operating system is probably your best choice for a Multia, since the BSDs and Linux operating systems have excellent support for legacy hardware. In contrast, Windows support stops at NT 4.0, and it won’t be long before Windows NT 4.0 is discontinued altogether.

All the same, I was curious to see how this machine would fare as a Windows development system, and it’s not disappointing. But I wouldn’t take an Alpha running Windows NT into production as a web server. Because Microsoft is no longer developing for the Alpha, and because Windows NT 4.0 will soon be discontinued, I don’t think you can count on a reliable stream of patches that you’d need to foil the security holes that trouble IIS and Windows.

Here are some links I found useful:

The NetBSD FAQ has a lot
of good information about heat problems that may lead to
lockups. I cut the lead to the thermal resistor, and it
makes the fan spin faster and louder. No lock-ups so far!

Have you dusted off an old workstation lately? Were you greeted with more than pops and crackles?