CPU Load and Store Timing
Measures how loads, stores, uncached code, cache fills and GTE commands overlap with the instructions around them.
| Machine | SCPH-5501 |
|---|---|
| Program | cpu_next |
This is an old revision of this page, as edited by RemmyLee at 05:49, 23 October 2026. Edit this revision | Latest revision
Overview
The program times short loop bodies on the CPU and the GTE. Every figure is the root counter 2 count in system clock cycles for 100 turns of a loop. Each turn adds the loop's own ADDIU, BNEZ and NOP to the body, so the differences between rows carry the meaning and a difference divided by 100 is cycles per turn.1 The groups place NOPs after RAM, I/O and BIOS loads, store to devices of each bus width, follow a store with a load elsewhere, run code from KSEG1, time instruction cache fills, write GTE inputs just before or after a command, time each GTE command and read back GTE moves.1
The GTE rows run twice. The first run fetches its code from RAM and the second takes it from the instruction cache. The output lists the two as "cold" and "cached".1
See also:
Results
Loads Overlap with Later Instructions
A load does not stop the CPU until an instruction needs its result or another load follows. With a RAM load in the loop, up to three NOPs after it cost nothing: the loop took 954 to 964 cycles with zero to three NOPs, and 1058 with four. A BIOS ROM load took 2945 cycles alone and 2971 with eight NOPs after it.1
A second load waits for the first. Two RAM loads a turn took 1475 cycles against 958 for one, and two BIOS loads 5447 against 2945.1
| Body | Cycles |
|---|---|
| 8 nops, no load | 1159 |
| RAM lw | 958 |
| RAM lw, 3 nops | 964 |
| RAM lw, 4 nops | 1058 |
| RAM lw, 8 nops | 1471 |
| RAM lw, lw, nop | 1475 |
| BIOS lw | 2945 |
| BIOS lw, 8 nops | 2971 |
| BIOS lw, lw, nop | 5447 |
| EXP1 lbu | 1149 |
| EXP2 lbu | 1549 |
| Scratchpad lw | 426 |
Using a Loaded Value
The wait for a slow load falls on the instruction that uses the loaded register. Reading the register in the load delay slot costs nothing extra, because that instruction still sees the old value. Using it one NOP later adds about 3 cycles a turn, and two or more NOPs later about 4.1
| Register | Used at once | After 1 nop | After 2 nops | After 5 nops | Load, load |
|---|---|---|---|---|---|
| I_STAT lw | 754 | 1055 | 1160 | 1263 | 1153 |
| GPUSTAT lw | 751 | 1047 | 1139 | 1251 | 1147 |
| CD-ROM status lb | 1244 | 1548 | 1659 | 1659 | 2055 |
| SPUSTAT lh | 2250 | 2554 | 2660 | 2659 | 4249 |
| BIOS lw | 2954 | 3247 | 3339 | 3357 | 5442 |
Stores to Devices
A store wider than a device's bus is split into narrower accesses. One 32-bit store to an SPU voice register took 1463 cycles for 100 turns against 806 for a halfword store, and four took 5963 against 3220. On the 8-bit CD-ROM bus, four halfword stores took 4383 against 4842 for eight byte stores.1 Stores to the timers and to DMA registers cost about the same as stores to RAM: one store a turn took 426 cycles against 455 for RAM.1
A store followed by a load waits when the load goes to RAM. A RAM store then a RAM load took 1465 cycles, and a RAM load then a RAM store took 1276. A store to the scratchpad does not delay a following RAM load, which took 954 cycles as it does alone.1
Uncached Code
Code run from KSEG1 is fetched from RAM one instruction at a time. Each further instruction costs about 6 cycles. The loops below show the cost:1
| Body | Cycles |
|---|---|
| 1 nop | 2497 |
| 2 nops | 3109 |
| 4 nops | 4328 |
| 8 nops | 6765 |
Instruction Cache Fills
The program timed one call of a run of NOPs twice: cold, just after FlushCache, and cached. The cached call of 4 NOPs took 9 counts and of 32 NOPs 37. The cold call varied between runs. It took 21 to 37 counts for 4 NOPs and 84 to 100 counts for 32 NOPs.2
GTE Command Times
The command time is the command followed by an MFC2 of MAC1, which waits for the command to finish. Subtracting the NOP row (553) and dividing by 100 gives the cycles each command adds, rounded to the nearest cycle:1
| Command | Cycles | Command | Cycles |
|---|---|---|---|
| RTPS | 15 | NCDT | 44 |
| RTPT | 23 | NCCS | 17 |
| NCLIP | 8 | CC | 11 |
| OP | 6 | NCS | 14 |
| DPCS | 8 | NCT | 30 |
| INTPL | 8 | SQR | 5 |
| MVMVA | 8 | DCPL | 8 |
| NCDS | 19 | DPCT | 17 |
| CDP | 13 | AVSZ3 | 5 |
| NCCT | 39 | AVSZ4 | 6 |
| GPF | 5 | GPL | 5 |
GTE Inputs Written Near a Command
DPCS issued at once after an MTC2 of RGBC used the old RGBC: MAC1 read 20h, which is the old red value 2 times 16. With one NOP between, it used the new one and read 40h. CC, NCDS and NCS used the new value even at once.1
A write to an input after the command has started does not reach the command. SQR followed at once by an MTC2 of IR1 or IR3, and RTPS followed by an MTC2 of VZ0, gave results from the old values.1 GPF and OP with IR0 or IR3 written at once gave results that differed between the cold and the cached run, so these rows do not settle which value the command read.1
Runs
26 September 2026 (card-cpu2)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02B68 DCIC 00000000 BadVaddr 00000590 BDAM 00000000
BPCM 00000000 SR 00000000 Cause C0000024 EPC BFC02B78 PRId 00000002
===== 01 LSP RAM LOAD SPACING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
RAM loads by spacing (lw then n nops, the loop's own 3 after):
8 nops, no load: 1152
lw: 948
lw, 1 nop: 953
lw, 2 nops: 959
lw, 3 nops: 954
lw, 4 nops: 1060
lw, 5 nops: 1164
lw, 6 nops: 1259
lw, 8 nops: 1463
lw, lw, nop: 1473
lw, 1 nop, lw, nop: 1675
lw, 2 nops, lw, nop: 1678
lw, 4 nops, lw, nop: 1679
lw, 6 nops, lw, nop: 1770
lhu: 954
lhu, 4 nops: 1051
lbu: 953
lbu, 4 nops: 1060
Done.
===== 02 IOL IO LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
IO loads used after n nops:
I_STAT lw load, nop: 750
I_STAT lw used at once: 746
I_STAT lw used after 1 nop: 1050
I_STAT lw used after 2 nops: 1143
I_STAT lw used after 3 nops: 1152
I_STAT lw used after 5 nops: 1251
I_STAT lw load, load: 1152
I_STAT lw 4 nops, load, nop: 1146
GPUSTAT lw load, nop: 746
GPUSTAT lw used at once: 746
GPUSTAT lw used after 1 nop: 1047
GPUSTAT lw used after 2 nops: 1146
GPUSTAT lw used after 3 nops: 1151
GPUSTAT lw used after 5 nops: 1257
GPUSTAT lw load, load: 1147
GPUSTAT lw 4 nops, load, nop: 1146
timer 0 lw load, nop: 746
timer 0 lw used at once: 746
timer 0 lw used after 1 nop: 1040
timer 0 lw used after 2 nops: 1133
timer 0 lw used after 3 nops: 1156
timer 0 lw used after 5 nops: 1251
timer 0 lw load, load: 1152
timer 0 lw 4 nops, load, nop: 1146
DPCR lw load, nop: 746
DPCR lw used at once: 746
DPCR lw used after 1 nop: 1047
DPCR lw used after 2 nops: 1143
DPCR lw used after 3 nops: 1133
DPCR lw used after 5 nops: 1251
DPCR lw load, load: 1140
DPCR lw 4 nops, load, nop: 1146
CDROM status lb load, nop: 1243
CDROM status lb used at once: 1238
CDROM status lb used after 1 nop: 1542
CDROM status lb used after 2 nops: 1643
CDROM status lb used after 3 nops: 1657
CDROM status lb used after 5 nops: 1647
CDROM status lb load, load: 2041
CDROM status lb 4 nops, load, nop: 1251
SPUSTAT lh load, nop: 2249
SPUSTAT lh used at once: 2243
SPUSTAT lh used after 1 nop: 2547
SPUSTAT lh used after 2 nops: 2643
SPUSTAT lh used after 3 nops: 2651
SPUSTAT lh used after 5 nops: 2652
SPUSTAT lh load, load: 4246
SPUSTAT lh 4 nops, load, nop: 2256
BIOS lw load, nop: 2943
BIOS lw used at once: 2943
BIOS lw used after 1 nop: 3253
BIOS lw used after 2 nops: 3343
BIOS lw used after 3 nops: 3356
BIOS lw used after 5 nops: 3352
BIOS lw load, load: 5451
BIOS lw 4 nops, load, nop: 2951
Done.
===== 03 IOS IO STORES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
stores to other devices, each writing back what is there:
RAM sw: 443
timer 0 target, 1 sw: 423
timer 0 target, 4 sw: 849
DMA2 MADR, 1 sw: 422
DMA2 MADR, 4 sw: 820
SPU voice 0 volume, 1 sh: 815
SPU voice 0 volume, 4 sh: 3202
SPU voice 0, 1 sw: 1458
SPU voice 0, 4 sw: 5958
SPU voice 0 volume, 1 sb: 814
CDROM index, 8 sb: 4830
CDROM index, 4 sh: 4378
Done.
===== 04 STL STORE THEN LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
a store, then a load elsewhere ($10 stored to, $11 loaded from where named):
RAM sh, RAM lw: 1474
RAM sb, RAM lw: 1473
RAM sw, scratchpad lw: 654
scratchpad sw, RAM lw: 958
RAM sw, I_STAT lw: 967
RAM 2 sw, lw: 1689
RAM 2 sw, 2 nops, lw: 1688
RAM 2 sw, 4 nops, lw: 1681
RAM sw, lw, lw: 2082
RAM lw, sw: 1280
RAM lw, nop, sw: 1491
Done.
===== 05 UNC UNCACHED CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
code from KSEG1:
1 nop: 2492
2 nops: 3104
4 nops: 4326
8 nops: 6764
RAM sw, nop: 3631
RAM sw, lw, nop: 4652
RAM 4 sw: 5746
lw, nop: 3524
mult 3 by 3, mflo: 3215
Done.
===== 06 FIL ICACHE FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
i-cache fills, one call (timer overhead included):
4 nops: cold 21, cached 9
8 nops: cold 33, cached 13
16 nops: cold 51, cached 21
32 nops: cold 84, cached 37
1 pad nop, 8 nops: cold 40, cached 14
2 pad nops, 8 nops: cold 39, cached 14
3 pad nops, 8 nops: cold 42, cached 14
Done.
===== 07 GTC GTE COMMANDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
GTE commands with an input written at once or 1 nop before (old 00010002, new 00030004):
mtc2 RGBC then DPCS at once (MAC1 = R * 16): cold 00000020, cached 00000020
mtc2 RGBC, 1 nop, DPCS: cold 00000040, cached 00000040
mtc2 RGBC then CC at once (MAC1 = R * RBK / 256): cold 00000041, cached 00000041
mtc2 RGBC, 1 nop, CC: cold 00000041, cached 00000041
mtc2 RGBC then NCDS at once (MAC1): cold 00000040, cached 00000040
mtc2 RGBC, 1 nop, NCDS: cold 00000040, cached 00000040
mtc2 VXY0 then NCS at once (MAC1 = VX0 + RBK): cold 00001002, cached 00001002
mtc2 VXY0, 1 nop, NCS: cold 00001004, cached 00001002
mtc2 IR0 then GPF at once (MAC1 = IR1 * IR0): cold 00002000, cached 00004000
mtc2 IR0, 1 nop, GPF: cold 00008000, cached 0000FFFE
mtc2 IR3 then OP at once (MAC1 = IR3 - IR2): cold 00002000, cached F8003000
mtc2 IR3, 1 nop, OP: cold F8003000, cached 08002000
mtc2 SXY2 then NCLIP at once (MAC0): cold 00000000, cached 00000000
mtc2 SXY2, 1 nop, NCLIP: cold 00000000, cached 00000000
mtc2 SZ3 then AVSZ3 at once (OTZ): cold 00000004, cached 00000004
mtc2 SZ3, 1 nop, AVSZ3: cold 00000004, cached 00000004
mtc2 IR1 then GPF at once (MAC1): cold 00001000, cached 00001000
mtc2 IR1, 1 nop, GPF: cold 00001000, cached 00001000
Done.
===== 08 GTB GTE WRITE AFTER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
GTE: a command, then a write to its input (old 00010002, new 00030004):
SQR, mtc2 IR1 at once (MAC1): cold 00000004, cached 00000004
SQR, mtc2 IR3 at once (MAC3): cold 00000004, cached 00000004
SQR, nop, mtc2 IR3 (MAC3): cold 00000004, cached 00000004
RTPS, mtc2 VZ0 at once (MAC3): cold 00000002, cached 00000002
RTPS, nop, mtc2 VZ0 (MAC3): cold 00000002, cached 00000002
RTPT, mtc2 VZ2 at once (MAC3): cold 00000002, cached 00000004
RTPT, nop, mtc2 VZ2 (MAC3): cold 00000002, cached 00000004
RTPT, 4 nops, mtc2 VZ2 (MAC3): cold 00000002, cached 00000004
NCCS, mtc2 RGBC at once (MAC1): cold 00000040, cached 00000040
NCCS, 2 nops, mtc2 RGBC (MAC1): cold 00000040, cached 00000040
MVMVA, mtc2 VZ0 at once (MAC3): cold 00000002, cached 00000004
Done.
===== 09 GTD GTE TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
GTE command time, cached (command, mfc2 MAC1):
nop, mfc2: 541
RTPS: 2044
RTPT: 2841
NCLIP: 1346
OP: 1141
DPCS: 1341
INTPL: 1341
MVMVA: 1341
NCDS: 2441
CDP: 1844
NCDT: 4945
NCCS: 2241
CC: 1644
NCS: 1941
NCT: 3545
SQR: 1044
DCPL: 1344
DPCT: 2241
AVSZ3: 1044
AVSZ4: 1141
NCCT: 4441
GPF: 1041
GPL: 1041
Done.
===== 10 GTM GTE MOVES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
GTE moves read back (old 00010002, new 00030004):
mtc2 IR1, mfc2 IR1 at once: cold 00000002, cached 00000002
mtc2 IR1, 1 nop, mfc2 IR1: cold 00000002, cached 00000002
mtc2 IR1, 2 nops, mfc2 IR1: cold 00000004, cached 00000004
lwc2 IR1, 2 nops, mfc2 IR1: cold 00000004, cached 00000004
lwc2 IR1, 3 nops, mfc2 IR1: cold 00000004, cached 00000004
mtc2 VXY0, 1 nop, swc2 VXY0: cold 00010002, cached 00010002
mtc2 VXY0, 2 nops, swc2 VXY0: cold 00030004, cached 00030004
mtc2 VXY0, 3 nops, swc2 VXY0: cold 00030004, cached 00030004
mtc2 RGBC, 2 nops, mfc2 RGBC: cold 00030004, cached 00030004
mtc2 SZ3, 2 nops, mfc2 SZ3: cold 00000004, cached 00000004
mtc2 MAC1, 2 nops, mfc2 MAC1: cold 00030004, cached 00030004
mtc2 IR0, 2 nops, mfc2 IR0: cold 00000004, cached 00000004
Done.
===== 11 GTR GTE RESULTS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
GTE results at the edges (control: gte_ctrl g_ctrl_edge):
RTPS sf=1: MAC 00007FFF 8003FFE7 8003FFF8 000400EF IR 0007 8000 8000 7FFF FLAG C1C4E000 SXY2 FC00FC00 SZ3 FFFF
RTPS sf=0: MAC 00007FFF 3FFE7002 3FFF8001 400EF001 IR 0007 7FFF 7FFF 7FFF FLAG C1C56000 SXY2 03FF03FF SZ3 FFFF
RTPS small V: MAC 80007FFF 8000008E 8000006F 00000181 IR 0000 8000 8000 0181 FLAG E582F000 SXY2 FC00FC00 SZ3 0181
SQR sf=1 lm=0: MAC 80007FFF 3FFF0001 40000000 3FFF0001 IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
SQR again sf=1 lm=1: MAC 80007FFF 0003FFF0 0003FFF0 0003FFF0 IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
OP sf=1: MAC 80007FFF 00000000 00000000 00000000 IR 1000 0000 0000 0000 FLAG 00000000 SXY2 FC00FC00 SZ3 0181
DPCS: MAC 80007FFF 0000800F 000087EF 00008FEF IR 1000 7FFF 7FFF 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
INTPL: MAC 80007FFF 0000FFFE FFFFFFFF 0000FFFE IR 1000 7FFF FFFF 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
NCDS: MAC 80007FFF 00007FFF 00007FFF 00007FFF IR 1000 7FFF 7FFF 7FFF FLAG E5F80000 SXY2 FC00FC00 SZ3 0181
NCCS: MAC 80007FFF 00000000 00000000 00000000 IR 1000 0000 0000 0000 FLAG E5C00000 SXY2 FC00FC00 SZ3 0181
MVMVA RT V0: MAC 80007FFF 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
NCLIP after: MAC 00000000 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 00000000 SXY2 FC00FC00 SZ3 0181
AVSZ3 after: MAC 00BD7E81 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 80050000 SXY2 FC00FC00 SZ3 0181
AVSZ4 after: MAC FF3E8000 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 80048000 SXY2 FC00FC00 SZ3 0181
GPF: MAC FF3E8000 07FFF000 F8000000 07FFF000 IR 1000 7FFF 8000 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
GPL after: MAC FF3E8000 0FFFE000 F0000000 0FFFE000 IR 1000 7FFF 8000 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
Done.
===== 12 BIO SLOW LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000590
BIOS and expansion loads by spacing:
BIOS lw: 2939
BIOS lw, 4 nops: 2952
BIOS lw, 8 nops: 2959
BIOS lw, lw, nop: 5446
BIOS lw, 4 nops, lw, nop: 5649
BIOS lhu: 1745
BIOS lbu: 1137
BIOS lbu, 4 nops: 1150
EXP1 lbu: 1140
EXP1 lbu, 4 nops: 1143
EXP2 lbu: 1537
EXP2 lbu, 4 nops: 1543
scratchpad lw: 438
scratchpad lw, lw, nop: 643
Done.
27 September 2026 (card-1)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000400 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 800209AC PRId 00000002
===== 01 LSP RAM LOAD SPACING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
RAM loads by spacing (lw then n nops, the loop's own 3 after):
8 nops, no load: 1159
lw: 954
lw, 1 nop: 955
lw, 2 nops: 952
lw, 3 nops: 961
lw, 4 nops: 1062
lw, 5 nops: 1162
lw, 6 nops: 1256
lw, 8 nops: 1467
lw, lw, nop: 1478
lw, 1 nop, lw, nop: 1673
lw, 2 nops, lw, nop: 1687
lw, 4 nops, lw, nop: 1689
lw, 6 nops, lw, nop: 1778
lhu: 954
lhu, 4 nops: 1061
lbu: 968
lbu, 4 nops: 1065
Done.
===== 02 IOL IO LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
IO loads used after n nops:
I_STAT lw load, nop: 757
I_STAT lw used at once: 751
I_STAT lw used after 1 nop: 1055
I_STAT lw used after 2 nops: 1160
I_STAT lw used after 3 nops: 1149
I_STAT lw used after 5 nops: 1258
I_STAT lw load, load: 1153
I_STAT lw 4 nops, load, nop: 1149
GPUSTAT lw load, nop: 746
GPUSTAT lw used at once: 752
GPUSTAT lw used after 1 nop: 1047
GPUSTAT lw used after 2 nops: 1139
GPUSTAT lw used after 3 nops: 1126
GPUSTAT lw used after 5 nops: 1251
GPUSTAT lw load, load: 1147
GPUSTAT lw 4 nops, load, nop: 1153
timer 0 lw load, nop: 746
timer 0 lw used at once: 751
timer 0 lw used after 1 nop: 1047
timer 0 lw used after 2 nops: 1139
timer 0 lw used after 3 nops: 1126
timer 0 lw used after 5 nops: 1251
timer 0 lw load, load: 1153
timer 0 lw 4 nops, load, nop: 1149
DPCR lw load, nop: 746
DPCR lw used at once: 751
DPCR lw used after 1 nop: 1047
DPCR lw used after 2 nops: 1139
DPCR lw used after 3 nops: 1126
DPCR lw used after 5 nops: 1251
DPCR lw load, load: 1147
DPCR lw 4 nops, load, nop: 1149
CDROM status lb load, nop: 1250
CDROM status lb used at once: 1248
CDROM status lb used after 1 nop: 1548
CDROM status lb used after 2 nops: 1654
CDROM status lb used after 3 nops: 1661
CDROM status lb used after 5 nops: 1659
CDROM status lb load, load: 2053
CDROM status lb 4 nops, load, nop: 1259
SPUSTAT lh load, nop: 2250
SPUSTAT lh used at once: 2250
SPUSTAT lh used after 1 nop: 2554
SPUSTAT lh used after 2 nops: 2660
SPUSTAT lh used after 3 nops: 2649
SPUSTAT lh used after 5 nops: 2659
SPUSTAT lh load, load: 4249
SPUSTAT lh 4 nops, load, nop: 2260
BIOS lw load, nop: 2945
BIOS lw used at once: 2950
BIOS lw used after 1 nop: 3247
BIOS lw used after 2 nops: 3339
BIOS lw used after 3 nops: 3330
BIOS lw used after 5 nops: 3356
BIOS lw load, load: 5442
BIOS lw 4 nops, load, nop: 2953
Done.
===== 03 IOS IO STORES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
stores to other devices, each writing back what is there:
RAM sw: 455
timer 0 target, 1 sw: 426
timer 0 target, 4 sw: 853
DMA2 MADR, 1 sw: 426
DMA2 MADR, 4 sw: 825
SPU voice 0 volume, 1 sh: 806
SPU voice 0 volume, 4 sh: 3220
SPU voice 0, 1 sw: 1463
SPU voice 0, 4 sw: 5963
SPU voice 0 volume, 1 sb: 821
CDROM index, 8 sb: 4842
CDROM index, 4 sh: 4383
Done.
===== 04 STL STORE THEN LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
a store, then a load elsewhere ($10 stored to, $11 loaded from where named):
RAM sh, RAM lw: 1467
RAM sb, RAM lw: 1481
RAM sw, scratchpad lw: 650
scratchpad sw, RAM lw: 947
RAM sw, I_STAT lw: 968
RAM 2 sw, lw: 1690
RAM 2 sw, 2 nops, lw: 1696
RAM 2 sw, 4 nops, lw: 1699
RAM sw, lw, lw: 2102
RAM lw, sw: 1289
RAM lw, nop, sw: 1485
Done.
===== 05 UNC UNCACHED CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
code from KSEG1:
1 nop: 2497
2 nops: 3109
4 nops: 4329
8 nops: 6765
RAM sw, nop: 3629
RAM sw, lw, nop: 4652
RAM 4 sw: 5770
lw, nop: 3526
mult 3 by 3, mflo: 3219
Done.
===== 06 FIL ICACHE FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
i-cache fills, one call (timer overhead included):
4 nops: cold 37, cached 9
8 nops: cold 42, cached 13
16 nops: cold 60, cached 21
32 nops: cold 96, cached 37
1 pad nop, 8 nops: cold 41, cached 14
2 pad nops, 8 nops: cold 45, cached 14
3 pad nops, 8 nops: cold 44, cached 14
Done.
===== 07 GTC GTE COMMANDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
GTE commands with an input written at once or 1 nop before (old 00010002, new 00030004):
mtc2 RGBC then DPCS at once (MAC1 = R * 16): cold 00000020, cached 00000020
mtc2 RGBC, 1 nop, DPCS: cold 00000040, cached 00000040
mtc2 RGBC then CC at once (MAC1 = R * RBK / 256): cold 00000041, cached 00000041
mtc2 RGBC, 1 nop, CC: cold 00000041, cached 00000041
mtc2 RGBC then NCDS at once (MAC1): cold 00000040, cached 00000040
mtc2 RGBC, 1 nop, NCDS: cold 00000040, cached 00000040
mtc2 VXY0 then NCS at once (MAC1 = VX0 + RBK): cold 00001002, cached 00001002
mtc2 VXY0, 1 nop, NCS: cold 00001002, cached 00001002
mtc2 IR0 then GPF at once (MAC1 = IR1 * IR0): cold 00002000, cached 00004000
mtc2 IR0, 1 nop, GPF: cold 00008000, cached 0000FFFE
mtc2 IR3 then OP at once (MAC1 = IR3 - IR2): cold 00002000, cached F8003000
mtc2 IR3, 1 nop, OP: cold F8005000, cached 08002000
mtc2 SXY2 then NCLIP at once (MAC0): cold 00000000, cached 00000000
mtc2 SXY2, 1 nop, NCLIP: cold 00000000, cached 00000000
mtc2 SZ3 then AVSZ3 at once (OTZ): cold 0000000C, cached 0000000C
mtc2 SZ3, 1 nop, AVSZ3: cold 0000000C, cached 0000000C
mtc2 IR1 then GPF at once (MAC1): cold 00001000, cached 00001000
mtc2 IR1, 1 nop, GPF: cold 00001000, cached 00001000
Done.
===== 08 GTB GTE WRITE AFTER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
GTE: a command, then a write to its input (old 00010002, new 00030004):
SQR, mtc2 IR1 at once (MAC1): cold 00000004, cached 00000004
SQR, mtc2 IR3 at once (MAC3): cold 00000004, cached 00000004
SQR, nop, mtc2 IR3 (MAC3): cold 00000004, cached 00000004
RTPS, mtc2 VZ0 at once (MAC3): cold 00000002, cached 00000002
RTPS, nop, mtc2 VZ0 (MAC3): cold 00000002, cached 00000002
RTPT, mtc2 VZ2 at once (MAC3): cold 00000004, cached 00000004
RTPT, nop, mtc2 VZ2 (MAC3): cold 00000002, cached 00000004
RTPT, 4 nops, mtc2 VZ2 (MAC3): cold 00000002, cached 00000004
NCCS, mtc2 RGBC at once (MAC1): cold 00000040, cached 00000040
NCCS, 2 nops, mtc2 RGBC (MAC1): cold 00000040, cached 00000040
MVMVA, mtc2 VZ0 at once (MAC3): cold 00000004, cached 00000004
Done.
===== 09 GTD GTE TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
GTE command time, cached (command, mfc2 MAC1):
nop, mfc2: 553
RTPS: 2053
RTPT: 2847
NCLIP: 1347
OP: 1147
DPCS: 1347
INTPL: 1347
MVMVA: 1347
NCDS: 2447
CDP: 1847
NCDT: 4949
NCCS: 2247
CC: 1647
NCS: 1947
NCT: 3547
SQR: 1053
DCPL: 1353
DPCT: 2253
AVSZ3: 1053
AVSZ4: 1153
NCCT: 4447
GPF: 1047
GPL: 1047
Done.
===== 10 GTM GTE MOVES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
GTE moves read back (old 00010002, new 00030004):
mtc2 IR1, mfc2 IR1 at once: cold 00000002, cached 00000002
mtc2 IR1, 1 nop, mfc2 IR1: cold 00000004, cached 00000002
mtc2 IR1, 2 nops, mfc2 IR1: cold 00000004, cached 00000004
lwc2 IR1, 2 nops, mfc2 IR1: cold 00000004, cached 00000004
lwc2 IR1, 3 nops, mfc2 IR1: cold 00000004, cached 00000004
mtc2 VXY0, 1 nop, swc2 VXY0: cold 00030004, cached 00010002
mtc2 VXY0, 2 nops, swc2 VXY0: cold 00030004, cached 00030004
mtc2 VXY0, 3 nops, swc2 VXY0: cold 00030004, cached 00030004
mtc2 RGBC, 2 nops, mfc2 RGBC: cold 00030004, cached 00030004
mtc2 SZ3, 2 nops, mfc2 SZ3: cold 00000004, cached 00000004
mtc2 MAC1, 2 nops, mfc2 MAC1: cold 00030004, cached 00030004
mtc2 IR0, 2 nops, mfc2 IR0: cold 00000004, cached 00000004
Done.
===== 11 GTR GTE RESULTS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
GTE results at the edges (control: gte_ctrl g_ctrl_edge):
RTPS sf=1: MAC 00007FFF 8003FFE7 8003FFF8 000400EF IR 0007 8000 8000 7FFF FLAG C1C4E000 SXY2 FC00FC00 SZ3 FFFF
RTPS sf=0: MAC 00007FFF 3FFE7002 3FFF8001 400EF001 IR 0007 7FFF 7FFF 7FFF FLAG C1C56000 SXY2 03FF03FF SZ3 FFFF
RTPS small V: MAC 80007FFF 8000008E 8000006F 00000181 IR 0000 8000 8000 0181 FLAG E582F000 SXY2 FC00FC00 SZ3 0181
SQR sf=1 lm=0: MAC 80007FFF 3FFF0001 40000000 3FFF0001 IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
SQR again sf=1 lm=1: MAC 80007FFF 0003FFF0 0003FFF0 0003FFF0 IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
OP sf=1: MAC 80007FFF 00000000 00000000 00000000 IR 1000 0000 0000 0000 FLAG 00000000 SXY2 FC00FC00 SZ3 0181
DPCS: MAC 80007FFF 0000800F 000087EF 00008FEF IR 1000 7FFF 7FFF 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
INTPL: MAC 80007FFF 0000FFFE FFFFFFFF 0000FFFE IR 1000 7FFF FFFF 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
NCDS: MAC 80007FFF 00007FFF 00007FFF 00007FFF IR 1000 7FFF 7FFF 7FFF FLAG E5F80000 SXY2 FC00FC00 SZ3 0181
NCCS: MAC 80007FFF 00000000 00000000 00000000 IR 1000 0000 0000 0000 FLAG E5C00000 SXY2 FC00FC00 SZ3 0181
MVMVA RT V0: MAC 80007FFF 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
NCLIP after: MAC 00000000 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 00000000 SXY2 FC00FC00 SZ3 0181
AVSZ3 after: MAC 00BD7E81 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 80050000 SXY2 FC00FC00 SZ3 0181
AVSZ4 after: MAC FF3E8000 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 80048000 SXY2 FC00FC00 SZ3 0181
GPF: MAC FF3E8000 07FFF000 F8000000 07FFF000 IR 1000 7FFF 8000 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
GPL after: MAC FF3E8000 0FFFE000 F0000000 0FFFE000 IR 1000 7FFF 8000 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
Done.
===== 12 BIO SLOW LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
BIOS and expansion loads by spacing:
BIOS lw: 2939
BIOS lw, 4 nops: 2957
BIOS lw, 8 nops: 2966
BIOS lw, lw, nop: 5447
BIOS lw, 4 nops, lw, nop: 5656
BIOS lhu: 1741
BIOS lbu: 1154
BIOS lbu, 4 nops: 1158
EXP1 lbu: 1149
EXP1 lbu, 4 nops: 1159
EXP2 lbu: 1554
EXP2 lbu, 4 nops: 1562
scratchpad lw: 438
scratchpad lw, lw, nop: 652
Done.
27 September 2026 (card-2)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 8001FE60 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 800209CC PRId 00000002
===== 01 LSP RAM LOAD SPACING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
RAM loads by spacing (lw then n nops, the loop's own 3 after):
8 nops, no load: 1159
lw: 958
lw, 1 nop: 956
lw, 2 nops: 954
lw, 3 nops: 964
lw, 4 nops: 1058
lw, 5 nops: 1165
lw, 6 nops: 1254
lw, 8 nops: 1471
lw, lw, nop: 1475
lw, 1 nop, lw, nop: 1675
lw, 2 nops, lw, nop: 1681
lw, 4 nops, lw, nop: 1686
lw, 6 nops, lw, nop: 1773
lhu: 945
lhu, 4 nops: 1059
lbu: 968
lbu, 4 nops: 1067
Done.
===== 02 IOL IO LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
IO loads used after n nops:
I_STAT lw load, nop: 752
I_STAT lw used at once: 754
I_STAT lw used after 1 nop: 1055
I_STAT lw used after 2 nops: 1160
I_STAT lw used after 3 nops: 1149
I_STAT lw used after 5 nops: 1263
I_STAT lw load, load: 1153
I_STAT lw 4 nops, load, nop: 1149
GPUSTAT lw load, nop: 746
GPUSTAT lw used at once: 751
GPUSTAT lw used after 1 nop: 1047
GPUSTAT lw used after 2 nops: 1142
GPUSTAT lw used after 3 nops: 1126
GPUSTAT lw used after 5 nops: 1251
GPUSTAT lw load, load: 1147
GPUSTAT lw 4 nops, load, nop: 1149
timer 0 lw load, nop: 749
timer 0 lw used at once: 751
timer 0 lw used after 1 nop: 1047
timer 0 lw used after 2 nops: 1139
timer 0 lw used after 3 nops: 1126
timer 0 lw used after 5 nops: 1254
timer 0 lw load, load: 1147
timer 0 lw 4 nops, load, nop: 1149
DPCR lw load, nop: 746
DPCR lw used at once: 751
DPCR lw used after 1 nop: 1047
DPCR lw used after 2 nops: 1139
DPCR lw used after 3 nops: 1126
DPCR lw used after 5 nops: 1251
DPCR lw load, load: 1147
DPCR lw 4 nops, load, nop: 1149
CDROM status lb load, nop: 1252
CDROM status lb used at once: 1244
CDROM status lb used after 1 nop: 1548
CDROM status lb used after 2 nops: 1654
CDROM status lb used after 3 nops: 1655
CDROM status lb used after 5 nops: 1659
CDROM status lb load, load: 2055
CDROM status lb 4 nops, load, nop: 1259
SPUSTAT lh load, nop: 2250
SPUSTAT lh used at once: 2251
SPUSTAT lh used after 1 nop: 2554
SPUSTAT lh used after 2 nops: 2660
SPUSTAT lh used after 3 nops: 2649
SPUSTAT lh used after 5 nops: 2659
SPUSTAT lh load, load: 4249
SPUSTAT lh 4 nops, load, nop: 2260
BIOS lw load, nop: 2945
BIOS lw used at once: 2954
BIOS lw used after 1 nop: 3247
BIOS lw used after 2 nops: 3339
BIOS lw used after 3 nops: 3329
BIOS lw used after 5 nops: 3352
BIOS lw load, load: 5442
BIOS lw 4 nops, load, nop: 2953
Done.
===== 03 IOS IO STORES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
stores to other devices, each writing back what is there:
RAM sw: 456
timer 0 target, 1 sw: 426
timer 0 target, 4 sw: 853
DMA2 MADR, 1 sw: 426
DMA2 MADR, 4 sw: 830
SPU voice 0 volume, 1 sh: 806
SPU voice 0 volume, 4 sh: 3220
SPU voice 0, 1 sw: 1463
SPU voice 0, 4 sw: 5963
SPU voice 0 volume, 1 sb: 820
CDROM index, 8 sb: 4842
CDROM index, 4 sh: 4383
Done.
===== 04 STL STORE THEN LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
a store, then a load elsewhere ($10 stored to, $11 loaded from where named):
RAM sh, RAM lw: 1482
RAM sb, RAM lw: 1475
RAM sw, scratchpad lw: 650
scratchpad sw, RAM lw: 958
RAM sw, I_STAT lw: 962
RAM 2 sw, lw: 1692
RAM 2 sw, 2 nops, lw: 1689
RAM 2 sw, 4 nops, lw: 1699
RAM sw, lw, lw: 2103
RAM lw, sw: 1285
RAM lw, nop, sw: 1477
Done.
===== 05 UNC UNCACHED CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
code from KSEG1:
1 nop: 2501
2 nops: 3111
4 nops: 4331
8 nops: 6768
RAM sw, nop: 3630
RAM sw, lw, nop: 4652
RAM 4 sw: 5752
lw, nop: 3525
mult 3 by 3, mflo: 3221
Done.
===== 06 FIL ICACHE FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
i-cache fills, one call (timer overhead included):
4 nops: cold 33, cached 9
8 nops: cold 42, cached 13
16 nops: cold 60, cached 21
32 nops: cold 96, cached 37
1 pad nop, 8 nops: cold 41, cached 14
2 pad nops, 8 nops: cold 45, cached 14
3 pad nops, 8 nops: cold 44, cached 14
Done.
===== 07 GTC GTE COMMANDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GTE commands with an input written at once or 1 nop before (old 00010002, new 00030004):
mtc2 RGBC then DPCS at once (MAC1 = R * 16): cold 00000020, cached 00000020
mtc2 RGBC, 1 nop, DPCS: cold 00000040, cached 00000040
mtc2 RGBC then CC at once (MAC1 = R * RBK / 256): cold 00000041, cached 00000041
mtc2 RGBC, 1 nop, CC: cold 00000041, cached 00000041
mtc2 RGBC then NCDS at once (MAC1): cold 00000040, cached 00000040
mtc2 RGBC, 1 nop, NCDS: cold 00000040, cached 00000040
mtc2 VXY0 then NCS at once (MAC1 = VX0 + RBK): cold 00001002, cached 00001002
mtc2 VXY0, 1 nop, NCS: cold 00001002, cached 00001002
mtc2 IR0 then GPF at once (MAC1 = IR1 * IR0): cold 00002000, cached 00004000
mtc2 IR0, 1 nop, GPF: cold 00008000, cached 0000FFFE
mtc2 IR3 then OP at once (MAC1 = IR3 - IR2): cold 00002000, cached F8003000
mtc2 IR3, 1 nop, OP: cold F8005000, cached 08002000
mtc2 SXY2 then NCLIP at once (MAC0): cold 00000000, cached 00000000
mtc2 SXY2, 1 nop, NCLIP: cold 00000000, cached 00000000
mtc2 SZ3 then AVSZ3 at once (OTZ): cold 0000000C, cached 0000000C
mtc2 SZ3, 1 nop, AVSZ3: cold 0000000C, cached 0000000C
mtc2 IR1 then GPF at once (MAC1): cold 00001000, cached 00001000
mtc2 IR1, 1 nop, GPF: cold 00001000, cached 00001000
Done.
===== 08 GTB GTE WRITE AFTER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GTE: a command, then a write to its input (old 00010002, new 00030004):
SQR, mtc2 IR1 at once (MAC1): cold 00000004, cached 00000004
SQR, mtc2 IR3 at once (MAC3): cold 00000004, cached 00000004
SQR, nop, mtc2 IR3 (MAC3): cold 00000004, cached 00000004
RTPS, mtc2 VZ0 at once (MAC3): cold 00000002, cached 00000002
RTPS, nop, mtc2 VZ0 (MAC3): cold 00000002, cached 00000002
RTPT, mtc2 VZ2 at once (MAC3): cold 00000004, cached 00000004
RTPT, nop, mtc2 VZ2 (MAC3): cold 00000002, cached 00000004
RTPT, 4 nops, mtc2 VZ2 (MAC3): cold 00000002, cached 00000004
NCCS, mtc2 RGBC at once (MAC1): cold 00000040, cached 00000040
NCCS, 2 nops, mtc2 RGBC (MAC1): cold 00000040, cached 00000040
MVMVA, mtc2 VZ0 at once (MAC3): cold 00000004, cached 00000004
Done.
===== 09 GTD GTE TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GTE command time, cached (command, mfc2 MAC1):
nop, mfc2: 553
RTPS: 2053
RTPT: 2847
NCLIP: 1350
OP: 1147
DPCS: 1347
INTPL: 1347
MVMVA: 1347
NCDS: 2447
CDP: 1847
NCDT: 4947
NCCS: 2247
CC: 1647
NCS: 1947
NCT: 3558
SQR: 1053
DCPL: 1359
DPCT: 2253
AVSZ3: 1058
AVSZ4: 1147
NCCT: 4447
GPF: 1047
GPL: 1047
Done.
===== 10 GTM GTE MOVES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GTE moves read back (old 00010002, new 00030004):
mtc2 IR1, mfc2 IR1 at once: cold 00000002, cached 00000002
mtc2 IR1, 1 nop, mfc2 IR1: cold 00000004, cached 00000002
mtc2 IR1, 2 nops, mfc2 IR1: cold 00000004, cached 00000004
lwc2 IR1, 2 nops, mfc2 IR1: cold 00000004, cached 00000004
lwc2 IR1, 3 nops, mfc2 IR1: cold 00000004, cached 00000004
mtc2 VXY0, 1 nop, swc2 VXY0: cold 00030004, cached 00010002
mtc2 VXY0, 2 nops, swc2 VXY0: cold 00030004, cached 00030004
mtc2 VXY0, 3 nops, swc2 VXY0: cold 00030004, cached 00030004
mtc2 RGBC, 2 nops, mfc2 RGBC: cold 00030004, cached 00030004
mtc2 SZ3, 2 nops, mfc2 SZ3: cold 00000004, cached 00000004
mtc2 MAC1, 2 nops, mfc2 MAC1: cold 00030004, cached 00030004
mtc2 IR0, 2 nops, mfc2 IR0: cold 00000004, cached 00000004
Done.
===== 11 GTR GTE RESULTS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GTE results at the edges (control: gte_ctrl g_ctrl_edge):
RTPS sf=1: MAC 00007FFF 8003FFE7 8003FFF8 000400EF IR 0007 8000 8000 7FFF FLAG C1C4E000 SXY2 FC00FC00 SZ3 FFFF
RTPS sf=0: MAC 00007FFF 3FFE7002 3FFF8001 400EF001 IR 0007 7FFF 7FFF 7FFF FLAG C1C56000 SXY2 03FF03FF SZ3 FFFF
RTPS small V: MAC 80007FFF 8000008E 8000006F 00000181 IR 0000 8000 8000 0181 FLAG E582F000 SXY2 FC00FC00 SZ3 0181
SQR sf=1 lm=0: MAC 80007FFF 3FFF0001 40000000 3FFF0001 IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
SQR again sf=1 lm=1: MAC 80007FFF 0003FFF0 0003FFF0 0003FFF0 IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
OP sf=1: MAC 80007FFF 00000000 00000000 00000000 IR 1000 0000 0000 0000 FLAG 00000000 SXY2 FC00FC00 SZ3 0181
DPCS: MAC 80007FFF 0000800F 000087EF 00008FEF IR 1000 7FFF 7FFF 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
INTPL: MAC 80007FFF 0000FFFE FFFFFFFF 0000FFFE IR 1000 7FFF FFFF 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
NCDS: MAC 80007FFF 00007FFF 00007FFF 00007FFF IR 1000 7FFF 7FFF 7FFF FLAG E5F80000 SXY2 FC00FC00 SZ3 0181
NCCS: MAC 80007FFF 00000000 00000000 00000000 IR 1000 0000 0000 0000 FLAG E5C00000 SXY2 FC00FC00 SZ3 0181
MVMVA RT V0: MAC 80007FFF 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 81C00000 SXY2 FC00FC00 SZ3 0181
NCLIP after: MAC 00000000 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 00000000 SXY2 FC00FC00 SZ3 0181
AVSZ3 after: MAC 00BD7E81 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 80050000 SXY2 FC00FC00 SZ3 0181
AVSZ4 after: MAC FF3E8000 0003FFE8 0003FFF8 0003FFEF IR 1000 7FFF 7FFF 7FFF FLAG 80048000 SXY2 FC00FC00 SZ3 0181
GPF: MAC FF3E8000 07FFF000 F8000000 07FFF000 IR 1000 7FFF 8000 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
GPL after: MAC FF3E8000 0FFFE000 F0000000 0FFFE000 IR 1000 7FFF 8000 7FFF FLAG 81F80000 SXY2 FC00FC00 SZ3 0181
Done.
===== 12 BIO SLOW LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
BIOS and expansion loads by spacing:
BIOS lw: 2941
BIOS lw, 4 nops: 2957
BIOS lw, 8 nops: 2968
BIOS lw, lw, nop: 5447
BIOS lw, 4 nops, lw, nop: 5656
BIOS lhu: 1741
BIOS lbu: 1149
BIOS lbu, 4 nops: 1158
EXP1 lbu: 1149
EXP1 lbu, 4 nops: 1158
EXP2 lbu: 1549
EXP2 lbu, 4 nops: 1557
scratchpad lw: 426
scratchpad lw, lw, nop: 652
Done.
27 September 2026 (card-d)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 8001FE60 DCIC 00000000 BadVaddr 00000400 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 800209CC PRId 00000002
===== 01 LSP RAM LOAD SPACING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
RAM loads by spacing (lw then n nops, the loop's own 3 after):
8 nops, no load: 1159
lw: 950
lw, 1 nop: 960
lw, 2 nops: 961
lw, 3 nops: 969
lw, 4 nops: 1060
lw, 5 nops: 1163
lw, 6 nops: 1257
lw, 8 nops: 1468
lw, lw, nop: 1473
lw, 1 nop, lw, nop: 1673
lw, 2 nops, lw, nop: 1682
lw, 4 nops, lw, nop: 1685
lw, 6 nops, lw, nop: 1780
lhu: 951
lhu, 4 nops: 1065
lbu: 968
lbu, 4 nops: 1064
Done.
===== 02 IOL IO LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
IO loads used after n nops:
I_STAT lw load, nop: 752
I_STAT lw used at once: 754
I_STAT lw used after 1 nop: 1055
I_STAT lw used after 2 nops: 1160
I_STAT lw used after 3 nops: 1149
I_STAT lw used after 5 nops: 1263
I_STAT lw load, load: 1153
I_STAT lw 4 nops, load, nop: 1149
GPUSTAT lw load, nop: 746
GPUSTAT lw used at once: 751
GPUSTAT lw used after 1 nop: 1047
GPUSTAT lw used after 2 nops: 1139
GPUSTAT lw used after 3 nops: 1126
GPUSTAT lw used after 5 nops: 1251
GPUSTAT lw load, load: 1147
GPUSTAT lw 4 nops, load, nop: 1149
timer 0 lw load, nop: 746
timer 0 lw used at once: 751
timer 0 lw used after 1 nop: 1047
timer 0 lw used after 2 nops: 1139
timer 0 lw used after 3 nops: 1126
timer 0 lw used after 5 nops: 1251
timer 0 lw load, load: 1147
timer 0 lw 4 nops, load, nop: 1149
DPCR lw load, nop: 746
DPCR lw used at once: 751
DPCR lw used after 1 nop: 1047
DPCR lw used after 2 nops: 1139
DPCR lw used after 3 nops: 1126
DPCR lw used after 5 nops: 1251
DPCR lw load, load: 1147
DPCR lw 4 nops, load, nop: 1149
CDROM status lb load, nop: 1250
CDROM status lb used at once: 1244
CDROM status lb used after 1 nop: 1548
CDROM status lb used after 2 nops: 1654
CDROM status lb used after 3 nops: 1655
CDROM status lb used after 5 nops: 1665
CDROM status lb load, load: 2053
CDROM status lb 4 nops, load, nop: 1259
SPUSTAT lh load, nop: 2254
SPUSTAT lh used at once: 2250
SPUSTAT lh used after 1 nop: 2559
SPUSTAT lh used after 2 nops: 2660
SPUSTAT lh used after 3 nops: 2649
SPUSTAT lh used after 5 nops: 2659
SPUSTAT lh load, load: 4249
SPUSTAT lh 4 nops, load, nop: 2260
BIOS lw load, nop: 2945
BIOS lw used at once: 2954
BIOS lw used after 1 nop: 3247
BIOS lw used after 2 nops: 3339
BIOS lw used after 3 nops: 3329
BIOS lw used after 5 nops: 3352
BIOS lw load, load: 5442
BIOS lw 4 nops, load, nop: 2953
Done.
===== 03 IOS IO STORES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
stores to other devices, each writing back what is there:
RAM sw: 455
timer 0 target, 1 sw: 426
timer 0 target, 4 sw: 855
DMA2 MADR, 1 sw: 426
DMA2 MADR, 4 sw: 825
SPU voice 0 volume, 1 sh: 806
SPU voice 0 volume, 4 sh: 3220
SPU voice 0, 1 sw: 1463
SPU voice 0, 4 sw: 5963
SPU voice 0 volume, 1 sb: 820
CDROM index, 8 sb: 4842
CDROM index, 4 sh: 4383
Done.
===== 04 STL STORE THEN LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
a store, then a load elsewhere ($10 stored to, $11 loaded from where named):
RAM sh, RAM lw: 1465
RAM sb, RAM lw: 1483
RAM sw, scratchpad lw: 651
scratchpad sw, RAM lw: 954
RAM sw, I_STAT lw: 963
RAM 2 sw, lw: 1698
RAM 2 sw, 2 nops, lw: 1698
RAM 2 sw, 4 nops, lw: 1693
RAM sw, lw, lw: 2094
RAM lw, sw: 1276
RAM lw, nop, sw: 1487
Done.
===== 05 UNC UNCACHED CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
code from KSEG1:
1 nop: 2501
2 nops: 3111
4 nops: 4331
8 nops: 6768
RAM sw, nop: 3630
RAM sw, lw, nop: 4652
RAM 4 sw: 5752
lw, nop: 3525
mult 3 by 3, mflo: 3221
Done.
===== 06 FIL ICACHE FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
i-cache fills, one call (timer overhead included):
4 nops: cold 33, cached 9
8 nops: cold 42, cached 13
16 nops: cold 60, cached 21
32 nops: cold 100, cached 37
1 pad nop, 8 nops: cold 41, cached 14
2 pad nops, 8 nops: cold 46, cached 14
3 pad nops, 8 nops: cold 44, cached 14
Done.
===== 09 GTD GTE TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
GTE command time, cached (command, mfc2 MAC1):
nop, mfc2: 553
RTPS: 2061
RTPT: 2847
NCLIP: 1347
OP: 1147
DPCS: 1350
INTPL: 1353
MVMVA: 1347
NCDS: 2450
CDP: 1847
NCDT: 4947
NCCS: 2253
CC: 1647
NCS: 1947
NCT: 3553
SQR: 1053
DCPL: 1353
DPCT: 2253
AVSZ3: 1053
AVSZ4: 1147
NCCT: 4447
GPF: 1047
GPL: 1053
Done.
===== 12 BIO SLOW LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
BIOS and expansion loads by spacing:
BIOS lw: 2942
BIOS lw, 4 nops: 2962
BIOS lw, 8 nops: 2970
BIOS lw, lw, nop: 5449
BIOS lw, 4 nops, lw, nop: 5656
BIOS lhu: 1741
BIOS lbu: 1149
BIOS lbu, 4 nops: 1163
EXP1 lbu: 1149
EXP1 lbu, 4 nops: 1158
EXP2 lbu: 1549
EXP2 lbu, 4 nops: 1557
scratchpad lw: 426
scratchpad lw, lw, nop: 652
Done.
Output files that match an earlier run: 07GTC.txt (as run 20260927T0000Z-5501a-card-1) · 08GTB.txt (as run 20260927T0000Z-5501a-card-1) · 10GTM.txt (as run 20260927T0000Z-5501a-card-1) · 11GTR.txt (as run 20260927T0000Z-5501a-card-1).
27 September 2026 (card-g2)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 8001FE18 DCIC 00000000 BadVaddr 00000400 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 800209CC PRId 00000002
===== 01 LSP RAM LOAD SPACING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
RAM loads by spacing (lw then n nops, the loop's own 3 after):
8 nops, no load: 1159
lw: 958
lw, 1 nop: 956
lw, 2 nops: 954
lw, 3 nops: 964
lw, 4 nops: 1058
lw, 5 nops: 1165
lw, 6 nops: 1254
lw, 8 nops: 1471
lw, lw, nop: 1475
lw, 1 nop, lw, nop: 1675
lw, 2 nops, lw, nop: 1681
lw, 4 nops, lw, nop: 1686
lw, 6 nops, lw, nop: 1773
lhu: 945
lhu, 4 nops: 1059
lbu: 968
lbu, 4 nops: 1069
Done.
===== 04 STL STORE THEN LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
a store, then a load elsewhere ($10 stored to, $11 loaded from where named):
RAM sh, RAM lw: 1480
RAM sb, RAM lw: 1471
RAM sw, scratchpad lw: 651
scratchpad sw, RAM lw: 954
RAM sw, I_STAT lw: 963
RAM 2 sw, lw: 1698
RAM 2 sw, 2 nops, lw: 1698
RAM 2 sw, 4 nops, lw: 1693
RAM sw, lw, lw: 2094
RAM lw, sw: 1276
RAM lw, nop, sw: 1487
Done.
===== 06 FIL ICACHE FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000400
i-cache fills, one call (timer overhead included):
4 nops: cold 37, cached 9
8 nops: cold 42, cached 13
16 nops: cold 60, cached 21
32 nops: cold 100, cached 37
1 pad nop, 8 nops: cold 41, cached 14
2 pad nops, 8 nops: cold 46, cached 14
3 pad nops, 8 nops: cold 44, cached 14
Done.
Output files that match an earlier run: 02IOL.txt (as run 20260927T0000Z-5501a-card-d) · 03IOS.txt (as run 20260927T0000Z-5501a-card-d) · 05UNC.txt (as run 20260927T0000Z-5501a-card-d) · 07GTC.txt (as run 20260927T0000Z-5501a-card-1) · 08GTB.txt (as run 20260927T0000Z-5501a-card-1) · 09GTD.txt (as run 20260927T0000Z-5501a-card-d) · 10GTM.txt (as run 20260927T0000Z-5501a-card-1) · 11GTR.txt (as run 20260927T0000Z-5501a-card-1) · 12BIO.txt (as run 20260927T0000Z-5501a-card-d).
27 September 2026 (card-g3)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 800209CC PRId 00000002
===== 01 LSP RAM LOAD SPACING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
RAM loads by spacing (lw then n nops, the loop's own 3 after):
8 nops, no load: 1159
lw: 958
lw, 1 nop: 956
lw, 2 nops: 954
lw, 3 nops: 964
lw, 4 nops: 1058
lw, 5 nops: 1165
lw, 6 nops: 1254
lw, 8 nops: 1471
lw, lw, nop: 1475
lw, 1 nop, lw, nop: 1675
lw, 2 nops, lw, nop: 1681
lw, 4 nops, lw, nop: 1686
lw, 6 nops, lw, nop: 1773
lhu: 945
lhu, 4 nops: 1059
lbu: 968
lbu, 4 nops: 1065
Done.
===== 03 IOS IO STORES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
stores to other devices, each writing back what is there:
RAM sw: 455
timer 0 target, 1 sw: 426
timer 0 target, 4 sw: 855
DMA2 MADR, 1 sw: 426
DMA2 MADR, 4 sw: 825
SPU voice 0 volume, 1 sh: 806
SPU voice 0 volume, 4 sh: 3220
SPU voice 0, 1 sw: 1463
SPU voice 0, 4 sw: 5963
SPU voice 0 volume, 1 sb: 820
CDROM index, 8 sb: 4842
CDROM index, 4 sh: 4383
Done.
===== 04 STL STORE THEN LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
a store, then a load elsewhere ($10 stored to, $11 loaded from where named):
RAM sh, RAM lw: 1465
RAM sb, RAM lw: 1483
RAM sw, scratchpad lw: 651
scratchpad sw, RAM lw: 954
RAM sw, I_STAT lw: 963
RAM 2 sw, lw: 1698
RAM 2 sw, 2 nops, lw: 1698
RAM 2 sw, 4 nops, lw: 1693
RAM sw, lw, lw: 2094
RAM lw, sw: 1276
RAM lw, nop, sw: 1487
Done.
===== 06 FIL ICACHE FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
i-cache fills, one call (timer overhead included):
4 nops: cold 37, cached 9
8 nops: cold 42, cached 13
16 nops: cold 60, cached 21
32 nops: cold 100, cached 37
1 pad nop, 8 nops: cold 41, cached 14
2 pad nops, 8 nops: cold 46, cached 14
3 pad nops, 8 nops: cold 44, cached 14
Done.
===== 09 GTD GTE TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GTE command time, cached (command, mfc2 MAC1):
nop, mfc2: 553
RTPS: 2061
RTPT: 2847
NCLIP: 1347
OP: 1147
DPCS: 1350
INTPL: 1353
MVMVA: 1347
NCDS: 2450
CDP: 1847
NCDT: 4947
NCCS: 2253
CC: 1647
NCS: 1947
NCT: 3553
SQR: 1053
DCPL: 1353
DPCT: 2253
AVSZ3: 1053
AVSZ4: 1147
NCCT: 4447
GPF: 1047
GPL: 1053
Done.
===== 12 BIO SLOW LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
BIOS and expansion loads by spacing:
BIOS lw: 2942
BIOS lw, 4 nops: 2962
BIOS lw, 8 nops: 2970
BIOS lw, lw, nop: 5449
BIOS lw, 4 nops, lw, nop: 5656
BIOS lhu: 1741
BIOS lbu: 1149
BIOS lbu, 4 nops: 1163
EXP1 lbu: 1149
EXP1 lbu, 4 nops: 1158
EXP2 lbu: 1549
EXP2 lbu, 4 nops: 1557
scratchpad lw: 426
scratchpad lw, lw, nop: 652
Done.
Output files that match an earlier run: 02IOL.txt (as run 20260927T0000Z-5501a-card-2) · 05UNC.txt (as run 20260927T0000Z-5501a-card-2) · 07GTC.txt (as run 20260927T0000Z-5501a-card-2) · 08GTB.txt (as run 20260927T0000Z-5501a-card-2) · 10GTM.txt (as run 20260927T0000Z-5501a-card-2) · 11GTR.txt (as run 20260927T0000Z-5501a-card-2).
28 September 2026 (card-h)
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
12 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 8001F0F8 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 800209CC PRId 00000002
===== 02 IOL IO LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
IO loads used after n nops:
I_STAT lw load, nop: 752
I_STAT lw used at once: 754
I_STAT lw used after 1 nop: 1055
I_STAT lw used after 2 nops: 1160
I_STAT lw used after 3 nops: 1149
I_STAT lw used after 5 nops: 1263
I_STAT lw load, load: 1153
I_STAT lw 4 nops, load, nop: 1149
GPUSTAT lw load, nop: 746
GPUSTAT lw used at once: 751
GPUSTAT lw used after 1 nop: 1047
GPUSTAT lw used after 2 nops: 1139
GPUSTAT lw used after 3 nops: 1126
GPUSTAT lw used after 5 nops: 1251
GPUSTAT lw load, load: 1147
GPUSTAT lw 4 nops, load, nop: 1149
timer 0 lw load, nop: 746
timer 0 lw used at once: 751
timer 0 lw used after 1 nop: 1047
timer 0 lw used after 2 nops: 1139
timer 0 lw used after 3 nops: 1126
timer 0 lw used after 5 nops: 1251
timer 0 lw load, load: 1147
timer 0 lw 4 nops, load, nop: 1149
DPCR lw load, nop: 746
DPCR lw used at once: 751
DPCR lw used after 1 nop: 1047
DPCR lw used after 2 nops: 1139
DPCR lw used after 3 nops: 1126
DPCR lw used after 5 nops: 1251
DPCR lw load, load: 1147
DPCR lw 4 nops, load, nop: 1149
CDROM status lb load, nop: 1250
CDROM status lb used at once: 1244
CDROM status lb used after 1 nop: 1548
CDROM status lb used after 2 nops: 1659
CDROM status lb used after 3 nops: 1655
CDROM status lb used after 5 nops: 1659
CDROM status lb load, load: 2055
CDROM status lb 4 nops, load, nop: 1259
SPUSTAT lh load, nop: 2250
SPUSTAT lh used at once: 2250
SPUSTAT lh used after 1 nop: 2554
SPUSTAT lh used after 2 nops: 2660
SPUSTAT lh used after 3 nops: 2649
SPUSTAT lh used after 5 nops: 2659
SPUSTAT lh load, load: 4249
SPUSTAT lh 4 nops, load, nop: 2260
BIOS lw load, nop: 2945
BIOS lw used at once: 2954
BIOS lw used after 1 nop: 3247
BIOS lw used after 2 nops: 3339
BIOS lw used after 3 nops: 3326
BIOS lw used after 5 nops: 3357
BIOS lw load, load: 5442
BIOS lw 4 nops, load, nop: 2953
Done.
===== 05 UNC UNCACHED CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
code from KSEG1:
1 nop: 2497
2 nops: 3109
4 nops: 4328
8 nops: 6765
RAM sw, nop: 3633
RAM sw, lw, nop: 4651
RAM 4 sw: 5755
lw, nop: 3518
mult 3 by 3, mflo: 3215
Done.
===== 12 BIO SLOW LOADS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
BIOS and expansion loads by spacing:
BIOS lw: 2945
BIOS lw, 4 nops: 2957
BIOS lw, 8 nops: 2971
BIOS lw, lw, nop: 5447
BIOS lw, 4 nops, lw, nop: 5659
BIOS lhu: 1741
BIOS lbu: 1149
BIOS lbu, 4 nops: 1161
EXP1 lbu: 1149
EXP1 lbu, 4 nops: 1158
EXP2 lbu: 1549
EXP2 lbu, 4 nops: 1557
scratchpad lw: 426
scratchpad lw, lw, nop: 652
Done.
Output files that match an earlier run: 01LSP.txt (as run 20260927T0000Z-5501a-card-g3) · 03IOS.txt (as run 20260927T0000Z-5501a-card-g3) · 04STL.txt (as run 20260927T0000Z-5501a-card-g3) · 06FIL.txt (as run 20260927T0000Z-5501a-card-2) · 07GTC.txt (as run 20260927T0000Z-5501a-card-2) · 08GTB.txt (as run 20260927T0000Z-5501a-card-2) · 09GTD.txt (as run 20260927T0000Z-5501a-card-g3) · 10GTM.txt (as run 20260927T0000Z-5501a-card-2) · 11GTR.txt (as run 20260927T0000Z-5501a-card-2).
References
-
^ a b c d e f g h i j k l m n Hardware test run 20260928T0000Z-5501a-card-h on the SCPH-5501: 00RUN.txt · 01LSP.txt · 02IOL.txt · 03IOS.txt · 04STL.txt · 05UNC.txt · 06FIL.txt · 07GTC.txt · 08GTB.txt · 09GTD.txt · 10GTM.txt · 11GTR.txt · 12BIO.txt.
-
^ Hardware test runs on the SCPH-5501, 06FIL.txt of each: 20260926T0000Z-5501a-card-cpu2 · 20260927T0000Z-5501a-card-1 · 20260927T0000Z-5501a-card-2 · 20260927T0000Z-5501a-card-d · 20260927T0000Z-5501a-card-g2 · 20260927T0000Z-5501a-card-g3 · 20260928T0000Z-5501a-card-h.