MAME
Thanks to the MAME developers, the following emulated hardware/software combinations have at least some functionality.
OS version | Indy | Indigo 2 | |||
IRIX 5.3.x | MAME 0.209+ | MAME 0.210+ | |||
IRIX 6.2.x | MAME 0.210+ | MAME 0.210+ | |||
IRIX 6.5.22 | MAME 0.210+ | MAME 0.210+ | |||
IRIX 6.5.30 | N/A | N/A |
6.5.30 is not supported on the Indy or Indigo2 hardware, that doesn't change with emulation.
MAME versions 0.211 and higher are recommended, if possible build the latest source code from the repository.
Hardware Emulation Status by SGI Model
CPU |
GFX |
NET |
|||||||
---|---|---|---|---|---|---|---|---|---|
R3K | R4K | R5K | R8K | R10K | Newport XL8 | Newport XL24 | |||
Indy | N/A | YES | Not Implemented | - | - | YES | YES | TODO | |
Indigo2 | N/A | YES | - | Not Implemented | Not Implemented | YES | YES | TODO |
Note: The Indy was chosen because of high quality documentation. SGI released the documentation so that Linux could be ported to it.
The Indigo2 has very similar video and peripherals to the Indy.
Video options for the above hardware are:
- Serial Terminal (default)
- XL8
- XL24
The IRIX installations will complete successfully, some demo and other applications have been tested. If something doesn't work please submit a bug report so it can be fixed.
Details
MAME is a well known arcade and hardware emulator focusing on verbatim accuracy and documentation of all emulated machines. This means that there's little in the way of shortcuts. Accuracy always wins over performance, although performance is constantly reviewed and improvements are made.
Download
Not expected to be "stable" until at least 0.211 probably later. https://github.com/mamedev/mame/releases
Compilation
For MAME .208, the following flags have been tested by dexter1 On his Intel build machine:
make -j5 SOURCES=src/mame/drivers/indy_indigo2.cpp REGENIE=1 TOOLS=1 OPTIMIZE=3 ARCHOPTS_C=-march=native ARCHOPTS_CXX=-march=native
Setup
BIOS
From the following page: https://archive.org/download/MAME211RomsOnlyMerged
Do a Ctrl+F and search for the following BIOS Files
SGI Model | BIOS Filename | Supported | Version String | ||
Indigo 1 | indigo3k.zip or indigo3k.zip | No | N/A | ||
Indigo 2 | indigo2_4415.zip | Yes | N/A | ||
Indy R4K | indy_4610.zip | Yes | 5.0 Rev B6 IP24 Sep 28, 1994 (BE) | ||
Indy R5K | indy_5015.zip | No | 5.3 Rev B10 R4X00/R5000 IP24 Feb12, 1996 (BE) |
Required Additional | BIOS Filename | ||||
Microsoft Natural Keyboard | kb_ms_natural.zip | ||||
PS/2 Keyboard | ps2_keybc.zip |
The downloaded BIOS files should all be copied in their original zip file to the \MAME\ROMS folder.
IRIX
There are several locations to download depending on your desired version.
* IRIX 5.3 is available on [[https://archive.org/details/sgi_IRIX_5.3_for_Indy_R4400_175MHz | Archive.org]]
* IRIX 6.2 is available on [[http://usftp.irixnet.org/sgi-irix/irix-6.2/ | IRIX.cc]]
* IRIX 6.5 is available on [[http://usftp.irixnet.org/sgi-irix/irix-6.5/network-installs/ | IRIX.cc]]
* IRIX Patches for 6.2 and 6.5 are available on [[http://usftp.irixnet.org/sgi-irix/patches/ | IRIX.cc]]
Hard Disk Image
MAME includes a utility to create hard drive images called 'chdman'.
http://www.csgnetwork.com/mediasizecalc.html
This command will create a 2 GB Hard drive image
chdman createhd -ss 512 -chs 2000,16,128 -c none -o Indy_2g.chd
This command will create a 4 GB Hard drive image
chdman createhd -ss 512 -chs 8192,16,64 -c none -o Indy_4g.chd
Starting Emulation
MAME has a lot of command line options. Once you've decided on the correct combination for you, it would be recommended to create a shell script or command script to start your session.
The Base MAME Command
Change the following hard drive and cd-rom image names to match what you are using.
mame64 indy_4610 -window -mouse -ui_mouse -cheat -hard1 .\roms\Indy2g.chd -cdrom .\roms\irix5.3_indy_r4400.iso
Current builds of MAME now support more than one graphics option.
To Select a Graphics card:
- Serial Terminal Only (default)
- Virtual Terminal (stops responding midway through the boot messages 5/12/2019)
- -hpc3:ioc2:rs232b terminal
- -gio64_gfx xl8
- -gio64_gfx xl24
Additional Troubleshooting or debugging can be enabled with the following:
- -log
- -verbose
- -debug
- MIPS Assembly
Slow down emulation actually improves responsiveness.
- [Scroll Lock] Enable partial keyboard emulation
- [~] Open MAME Menu
- Cursor Up/Down to find maincpu
- Cursor Left/Right to set speed
- [~] Close MAME Menu
- [Scroll Lock] Enable full keyboard emulation
Change CD's
- [Scroll Lock] Enable partial keyboard emulation
- [tab] Open MAME Menu
- Cursor Up/Down to 'File Manager'
- Press[Enter]
- Cursor Up/Down to 'cdrom (cdrm)'
- Cursor [ESC], [Up], [Down] and [Enter] to find and select the desired ISO
- [tab] Close MAME Menu
- [Scroll Lock] Enable full keyboard emulation
IRIX Installation
Running
While at the PROM command
Indy PROM
Enter "setenv -f eaddr 08:00:69:12:34:56" or else IRIX will just spit out errors on install.
Indigo2 PROM
For now the last post in this forum thread is the best reference.
https://forums.irixnet.org/thread-1012-page-4.html
Installation
Doing a CD based IRIX install at this point is fairly standard. Networking is not currently supported.
Thanks
Thanks to the MAME dev's that took on this task, amazing work! Also thanks to the many Discord users for their help testing and sharing their knowledge.