I've been busy sorting out my 30 pin SIMMs. These are used in the oldest MIPS/IRIX systems: the Professional Series and the Personal IRIS 4D/2x.
I have two IP4 board for the Professional IRIS and two IP10 (4D/25) boards. Each takes 16 SIMMs in banks of 4.
The 4D/25 is a bit of a drama queen when it comes to memory. Basically, 4MB SIMMs didn't exist when the last PROM was released so there are a couple of bugs to deal with.
Restrictions
* Uses 30pin SIMMs, parity (9-chip), 100ns or better, capacity 1, 2 or 4MB.
* There are 4 memory banks of 4 SIMMs each.
* All SIMMs in a bank must have the same capacity
* It is possible to mix banks of 1MB and 2MB SIMMs, but the highest capacity banks must come first.
* If you mix 1MB and 2MB SIMMs, all sixteen memory slots must be filled.
* It is not possible to mix banks of 4MB SIMMs with anything else.
* Due to a bug in the firmware, not all 4MB SIMMs work in the first bank. SIMMs that power up all 1's work; those that power up all 0's can eventually be used in banks B...D.
Works in all banks
I found out that these SIMMs power up with the correct pattern and can be used in the first bank:
* Kingston KTM-4000S (9 * Toshiba TC514000J-80 chips)
* Toshiba THM94000AS-60 (9 * Toshiba TC514000ASJ-60 chips)
Works in banks B...D
These SIMMs will crash the system with an exception like this at POST time if installed in the first bank.
Code:
EXCEPTION: <vector=NORMAL>
Exception pc: 0xbfc00e0c
Cause register: 0x1c<CE=0,EXC=DBE>
Status register: 0x88004<CM,IM8,IPL=7,IEp>
Error Addr register: 0x400000
Local I/O interrupt register: 0xbf <GE,VME ACFAIL,VERTICAL>
Parity error register: 0xa4<CPU>
Registers (in hex):
arg: a038c9c0 a0000000 1 a0400000
tmp: bf800000 1 80000000 17 1 0 a0 bf
sve: a038c9c0 a0400000 a03fffff 1 a0000004 1 1 bfc2b2a8
t8 bfc34290 t9 15180 at a0390000 v0 0 v1 3c1abfc1 k1 bfc01b2c
gp 0 fp bfc028a0 sp a03ffbc4 ra bfc00dc8
These SIMMs cannot be used in low DRAM (0-4MB), but can be used in banks B...D:
* Mitsubitshi MH4M09A0J-8 (9 * M5M44100AJ 80ns chips)
* Kingston KTM-4000S (9 * Samsung KM41C4000BJ-7 chips)
* Texas Instruments TI TM4100EAD9-80 (9 * TMS44100DJ-80)
* unmarked (9 * SK Hynix HY514100J-70)
* unmarked (9 * SK Hynix HY514100J-80)
I pulled all SIMMs from all boards, sorted them all out, cleaned the (tin) contact edges with cotton swabs and pure alcohol and tested them in the 4D/25. This is what I ended up with:
Top/left: 2 sets of 4*4MB SIMMs that the 4D/25 "approves" in the first bank. These have Toshiba chips
Top/right: 5 banks of 4*4MB SIMMs that don't work in the first bank, but will work in combination with Toshibas in the first bank.
Left: 12 banks of 4*1MB SIMMs plus two more. These are 100ns SIMMs.
Center: 8 banks of 4*1MB SIMMs 80ns SIMMs. All good.
Right: 1 bank of 70ns 4*1MB SIMMs 70ns, 3-chip. Even these work.
Center/Bottom: these come from a 4D/50 IP4 board. They are unmarked, 1MB each They have gold plated contacts but the mainboard doesn't -- bad idea.
The 4D/25 system is not too fussy about the 1MB modules. SIMMs in a bank don't need to be identical, or even have the same speed. I guess it doesn't try to run them at anything except 100ns speed.
According to the SGI Hardware FAQ, "some" IP4 boards will accept the 4MB SIMMs too. This will be my next experiment. I also have some VME ethernet boards I think I can only test in the Professional IRIS. Ideally, the IP4 will take the SIMMs and I'll put 64MB RAM in it, and still have 48MB left for the 4D/25. Then I'll fill the spare IP4 and IP10 with the 1MB SIMMs and store or sell the rest of them.