A guide to running IRIX 6.5.22 in MAME

About this project:

This is a guide that will help you set up MAME to emulate a Silicon Graphics Indy with a 100MHz MIPS R4600, 128MB of RAM, and 24-bit XL graphics. Below are the instructions for running IRIX 6.5.22 off a pre-made disk image. Check out the installation guide for instructions on how to make your own disk image and install IRIX from scratch. As of right now the emulator is fairly slow, meaning it's only really good for exploring the OS itself and a few basic programs. Have patience with it and don't expect too much. I would also like to offer my thanks to everyone who worked on MAME and/or hosts these files. Thank you all for making the preservation of this awesome software possible. Please send any donations to the MAME project or IRIX Network Forums.

Files you will need:

Making the ROM and placing the files:

The ROM file that MAME wants to boot from is a .zip file containing the first three files listed above. Compress them into one .zip archive named "indy_4610.zip" and place it into the "roms" directory in the main MAME directory. Place the irix65.chd into the main MAME directory.

Booting the emulator and setting the PROM variables:

Open a system shell in your host OS in the MAME directory (PowerShell on Windows, Terminal on macOS/Linux) and enter the following:

./mame64 indy_4610 -gio64_gfx xl24 -hard1 irix65.chd

Alternatively, the Indigo2 can be emulated. It's almost exactly the same as the Indy apart from the 150MHz R4400 CPU and its ability to run in a dual head configuration. The Indigo2 will run slower than the Indy, so this machine is only recommended if you want to try the dual graphics boards. Run it with this command:

./mame64 indigo2_4415 -gio64_gfx xl24 -gio64_exp0 xl24 -hard1 irix65.chd -window -numscreens 2

Wait a moment for hardware diagnostics to complete and then click the "Stop for Maintenance" button to go to the PROM setup. Next you will need to go to the Command Monitor and enter a few commands. They only need to be entered once. After that the system will boot normally.

Set the default Ethernet address:

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

Set the display to 1280x1024:

setenv monitor h

Boot into IRIX:

auto

A few words about performance:

Average performance for me is around 15% of a real SGI Indy. That's on my Core2 Quad workstation with a Q9550 running Debian 10. On that same machine running macOS Mojave I get around 8-10%. On my main desktop, a Hackintosh with an i5-2500s and macOS Mojave, I get around 10%. I compiled MAME myself for both systems. I'm not sure why but Linux seems to be the best choice for a host OS when running IRIX in MAME. This still holds true as of MAME 0.218.

UPDATE: I have since purchased a new workstation and moved entirely to Debian Linux. This machine uses a Ryzen 5 3600. Performance has improved quite a bit. Average speeds are 25-35% in MAME 0.225 compiled from source.

Site changelog (Dec 2020):

Corrected some info on the hardware page.

Added Indigo2 instructions on the main page and slow boot fixes on the install guide.

Added a link for the IRIX 5.3 disk image.

Massive design overhaul. The site should be easier to navigate and more pleasant to look at now.

Site changelog (June 2021):

Added nicer fonts for better readability.

Last updated: June 29, 2021