Monday, January 15, 2024

Amiga + Unix = AMIX


It's not all that often these days that a computer on my Wanted list becomes available, so when a genuine Amiga 2500UX computer appeared on eBay, I absolutely jumped at it.

So, what is it?   Well, according to lore, the Amiga engineers at Commodore were very interested in the Unix operating system(s), and wanted to bring it to their own machines.  Unfortunately, the Motorola 68000 CPU in the Amiga was deemed insufficient, as it lacked the sophisticated MMU required.  This, in turn, led to the creation by Commodore of the Amiga A2630 CPU accelerator which contained a 68030 processor and mmu.  And this, in turn, led to the creation of the Amiga 2500UX, which is basically an Amiga 2000 with the aforementioned A2630 card and an A2091 SCSI hard drive card with a hard drive containing AMIX.

And what is AMIX you ask?  Well, AMIX, or "Amiga UNIX" is a variation on Unix System V Release 4.  Installed versions of this OS range from 1.0 to 2.1c, and includes X11R5, OpenLook window manager, support for networking over the A2065 ethernet card, special drivers for the A2232 serial card, drivers for the A2410 University of Lowell high resolution graphics card, and also for the A2024 "Hedley Hi-Res" monitor.  

When the machine arrived, it was in a somewhat fair-to-middlin state.  The ill-fitted floppy drive was from an Amiga 500, the spacer plate over the 5.25" bay was from some other random computer, and it lacked a keyboard.

The machine did boot, however.... to AmigaOS.  No sign of AMIX whatsoever.

Inside, I found that the motherboard lacked a battery (which isn't necessarily bad at ALL), contained a second hard drive that wasn't spinning up, had several cracked Zorro (expansion) slots, a hand-programmed eprom kickstart, and was sorely short on ram, having only its stock 1MB of chip/video ram, and 2MB on the A2630 card, so, 3MB total.

My goals for this machine would be to back up the existing drives, and then do a restoration, with just enough enhancement to get the most out of AMIX.  Lastly, those hard drives would just HAVE to go.  One of them wasn't spinning up at all (the one on the hard card), and the boot drive took several tries to spin up on each attempt (but did boot eventually, which is why I found AmigaOS).

Backing up the boot hard drive was pretty straight-forward.  I put a 2GB SCSI2SD drive onto the external SCSI port of the A2091, and booted into an AmigaOS 3.1 floppy disk.  I then ran a disk imager (PackDev? TSGUI? I forget :( ) and produced a flat ISO of the boot drive on the SCSI2SD partition. 

The hard drive mounted to the A2091, however, simply would not spin up at all.  It seemed quite dead.  Thinking it was a lost cause, I removed the cover (shown above) and attempted to twist the drive motor and move the head by hand.  Everything seemed very stiff.  When powered on, the platters would spin for barely a moment before shutting down, thus the seeming death.  However, I found that if I pulled the head away using the arm extension, right after power up, it initialized!  It was thus that I was able to backup this unit as well, and finally confirm that AMIX was not installed on any drive in this machine.

I then removed the motherboard to inspect the battery area.  The board did not originally have a battery at all, which is kinda good, as the Varta batteries that they came with are absolutely notorious for leaking and destroying the motherboard.  The fact that it was removed means that someone knew this was coming, and cared enough to stop it in its tracks.

As a result, I found little more than slight discoloration around the battery area.  Aside from cleaning it a bit, there was nothing to do but put in a replacement CR2032 battery.  These would not be rechargeable, like the Varta, but being lithium-ion, would last a good long time.

I also swapped the hand-written kickstart eprom with a licensed Kickstart 3.1, in case I wanted to dual-boot in the future.

The cracked and abused Zorro (and cpu) slots were repaired with superglue, some clamps, and a plastic utensil that was the perfect size to fit between the Zorro and ISA slots, providing pressure for the pieces to dry together. :) 

Now that the old hard drives were gone, I turned to the A2091 hard card and replacing them.

The first thing I did was actually to fill out the empty ram sockets on the left hand side with compatible ram chips, giving the card 2MB.  This ram would increase the performance of the A2091, but also give the computer itself access to more ram.  I had gone from 3MB to 5!

To replace the hard drive mechanism, I first tried some internal SCSI2SD boards, but the two spares I had simply would not be recognized by my AmigaOS 3.1 boot disk.  I suspected that this might be due to the fact that my A2091 roms are only 6.0, and no one seems to be selling 7.0 roms any longer, so I despaired.  The hard drive for AMIX, by the way, should be configured as SCSI ID 6.  A tape drive, if you have one, should be SCSI ID 4. 

I then turned to a ZuluSCSI I had picked up a year or so ago, which went much better.   While the SCSI2SD is a relatively easy to use device, only requiring the use of configuration software that runs only on a few modern systems, the ZuluSCSI is downright trivial to use!  You take an existing flat hard drive image and drop it onto a scsi card, give it a name to denote the SCSI id it will have, and It Just Works!

I next considered how to get the system up to its maximum 8MB of ram.  The most advantageous place, of course, would be on the A2630 card itself.

I first tried using an Individual Computers BigRam 2630.  This would give the 68030 CPU 128MB of ram to address directly, at its full speed.  However, while this card works absolutely perfectly in AmigaOS, AMIX simply would not boot with this ram installed.  I did find that AMIX would boot if I set the BigRam into "non-auto-configure" mode, but what good is that?

I also tried filling out the A2630 card with another 2MB of ram by soldering in 16 of these TC514256AZ-10 chips.  I was certain this would work, and my soldering sure LOOKED ok, but the extra ram failed AmiKit ram tests, and AMIX would not boot until I physically removed the chips, even when I jumped the A2630 to ignore the extra ram.

In the end, I just pulled out my spare A2058 ram expansion card, jumpered it down to 4MB, and went with that. :(

Next I went to replace the floppy drive with a more fitting (pun intended) Chinon FB-354.  I have no less than 6 spares, but wouldn't you know it?  ALL of them gave me read errors except for one, and that one lacked an LED.

Well, no worries: apparently this is a known issue to internet Amigans.  I first 'borrowed' an LED from a non-working unit and soldered it onto the existing contacts on my working drive.

Next I was *supposed* to solder a surface mount 2.6kohm resistor to the R13 position on the board.  However, I simply can not understand how anyone can solder something that is smaller than their iron's tip?!  I attempted it once, and it was a comical disaster.  So I ended up with what you see here: a normal sized resister carefully positioned and soldered in place.

AMIX configuration and testing would come next, so it's a good time to mention my video solution.  For most of my work, I relied on the Composite port on the Amiga 2000.  But then I picked up this GBSC Converter, and it was completely plug-and-play.  I only had to use a 23pin Amiga Video -> VGA Adapter, but the converter handled everything else, producing a compliant VGA signal.

With AMIX booting on my little workbench monitor, a spare Amiga 2000 spacer plate sourced, and a keyboard swap provided by Jack from Pintz&Amiga, I started configuration, which mostly consisted of getting the right keymapping. :) The C= Users Group here was interested as well, so I thought about how to give them access to the machine over the internet.  Since I lacked a spare A2065 ethernet card, this would not be easy.

Oh wait, yes it *would* be easy!   AMIX supports attaching a getty listener to the serial port, through which users could login and get a shell.  This allowed me to use a Gurumodem ethernet board on the serial port, which I configured with a TCP listener on socket 6830.  Internet users could 'telnet' to the Gurumodem port I opened, which would cause the modem to go into "Stream" mode, allowing the user to send data directly to the serial port.  AMIX would sense this and give a login prompt.  When the user is done and exits from their shell, the DTR signal going inactive would cause the Gurumodem to disconnect the TCP socket, allowing another user to connect.

All that was left now was exploring and playing with the machine.  I pulled down my Amiga A2024 monitor and tinkered with the OpenLook window manager in normal video modes.

I also put AMIX into its special "Hedley Hires" 1024 x 900 mode and booted "twm", which is the more standard X-Windows window manager.  The vertical line you see is the failure of the monitor to correctly sync its four quadrants.  The consensus is that it probably needs to be recapped.

I probably spent 3-4 weeks on this project all-told, with some of it just waiting for parts and such.  During that period my lab work area became absolutely cluttered with stuff.  

I hope to find some way to keep the system online for extended periods.  As mentioned above, the Gurumodem works great for this purpose, and is honestly the most secure way to expose the machine, since, once logged in, a user has no way to access my local LAN (or even the internet).  That said, the same Jack who swapped me for the keyboard is also willing to make a similar swap for one of his spare A2065 network cards, so that's coming.

Overall, this is a fantastic machine, and the restoration experience was very rewarding.  Projects like this remind me of why, between all the coding and stuff, collecting has unique joys that are all its own.