Emulating IRIX on a PC

Hiraeth

Posted by z on December 28, 2020

Once my ex-boss told me, as they started the company back in the ’90s they had to buy a computer, so they took a big bunch of credit and bought an SGI workstation. For that price you could buy a new car back then.

As i started my career in 2009 the car industry almost finished the long process of adopting standard Wintel PC-s. I have experienced the last days of an era, there were of sad piles of blueish boxes in a corner of the office. Unix workstations were already “alien” in 2009. While they ran our CAxx programs like a champion, the learning curve was steep, the UI and the inner workings under the hood had uncommon features and the platform started to show already its age. Of course everybody tought it is a good idea to throw them out. And frankly mechanical engineers cares only about their CAxx stuff, not the iron running them. In the same time the companies could spare whole bunch of money with switching to Wintel, so why not?


Me trying to acquire a Unix workstation

While it was already a dead platform, i still had some exposure to UNIX workstations, On the next desk beside me was a huge CRT monitor, and some black box under the desk. Once my collegue rolled his chair to it and switched the monitor on. I was surprised: “Is this thing on?” - asked him. It was idling beside me for 3 years (and probably much more), and i never noticed it is on.

Yes, we can’t shut it down, we forgot the root password, and the standard user have no rights to shut it down.

He then went to our message board which was buried under thick layers of pizza and other delivery service flyers. Under them, there was a piece of paper with the user credentials. He logged in, started CATIA v4, made some changes in a facelift project, then ftp’d the files back to his (Wintel) computer. Our boss walked around, and said:

We should switch this thing off.
Are you sure?
Yeah, we don’t need it anymore.

So i watched as my collegue trying to shut the machine down peacefully, but no dice, the user still had no right to shutdown, so at the end we pulled the cord. It was an IBM Power 275 (if i remember correctly), running AIX with CDE.

We also had some SGI machines (an Octane 2 and an Indy still in the storage room, sitting on top of the document-cabinets. I tried to convinence my boss to give me the Octane, but he refused as “it still have important files on it”. I proposed to back the thing up or to remove the disk, but he said nope. Later i found out its HDD was full with low quality porn pics from the ’90s. Was it the reason? Who knows.

In germany the mother company scrapped big racks full with SGI blades used for FEA calculations, also many SGI Fuels with an iconic TFT monitor, it had transparent plastic housing just like the old iMacs, but i can’t seem to find any pic about it, maybe it wasn’t SGI product?

I was unable to acquire any of them.

After many years as my life got back in track i tried to source an SGI workstation, but during the years the prices inflated exponentially, so i decided not to invest into it.


MAME

I always had interest in operating systems because that’s the surface wich allows us to interact with the hi-tech sand, so i always wanted to experience IRIX as it is a proper propertiary UNIX, not kind of ductape work. Sadly one need an SGI machine to be able to run IRIX on it.

After many years of waiting i got aware of the fact that it is possible to emulate IRIX with MAME. Nice! So a new adventure started!

It is pretty straightforward to get MAME working on your computer, prebuilt executables are provided for the major operating systems, but they have no use for me.

First i had to build it’s dependencies, and MAME itself. After many hours of patching and fixing the source code (i call it mostly as “unixism”, where you write a non-portable linux-specific code and guards it with #ifdef __unix__, which is obviously a lie, but the whole computer industry is a joke factory, so whatever) i got MAME built.


Preparing to run MAME

First step is to install MAME, you can download a prebuilt binary from the MAME webpage or from your package repository, i use the latter. Now i am using 64 bit Haiku, thus some of the listed command are Haiku specific, if you want to follow this guide, research how to use the tools your OS provides.

Acquiring MAME

As you can see MAME 0.226 gets installed. You should use always the latest version.

For emulting IRIX we need some undistributable files like indy_4610.zip. Here is a list about its content:

Archive:  indy_4610.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
   524288  08-15-2019 06:36   ip24prom.070-9101-011.bin
     4096  12-25-1996 04:32   natural.bin
     2048  12-25-1996 04:32   72x8455.zm82
---------                     -------
   530432                     3 files

We don’t have to extract this file, MAME can read zip files too.

Also we would need the install media, but to spare some time we would use a diskimage with preinstalled IRIX 6.5, called irix65.chd. You can find all the required files on the internet.

Then create a folder (i used /boot/home/Desktop/IRIX), and put the following files inside it:

indy_4610.zip
irix65.chd


Running MAME

To start MAME i used the following command line:

mame indy_4610 -gio64_gfx xl24 -hard1 irix65.chd -rompath /boot/home/Desktop/IRIX -window

This command instructs MAME to use the indy_4610 firmware files, use xl24 graphics and use windowed mode (this can be useful later). If we start MAME now it will great us:

Starting up the system - MAME

IRIX needs a MAC address associated to a network interface, but currently it is unavailable, so we have to add it manually, so let’s press the Stop for Maintenance button:

Maintenance menu - MAME

And enter the Command Monitor:

Command monitor - MAME

To set the ethernet address use the following command:

setenv -f eaddr 08:00:69:12:34:56

Then set the display to 1280x1024:

setenv monitor h

And continue the boot process:

auto

Command monitor commands - MAME

The system starts up:

Starting up the system - MAME

Copyright:

Copyright - MAME

Every OS should print this:

Coming up - MAME

A warning pops up telling us we are using standalone MAC adress, so networking won’t be available:

Standalone MAC - MAME

Then we get some errors and warnings:

Errors & Warnings - MAME

But ultimately we wil be greeted by the login manager:

Login - MAME

Lets pick the root user and log in.

Desktop - MAME

Programs running fine, albeit a bit slow.

System Manager - MAME

We can “emulate” webbrowsing with Netscape and local webpages:

Netscape - MAME

The disk image is just a vanilla install, so there is no much to see, but one could mount cd images and instal additional software.