psx.wiki

Load Landing and Device Loads: Difference between revisions

Revision as of 04:48, 23 October 2026
RemmyLee
(Main page: drop the Hardware Tests lede)
Revision as of 05:11, 23 October 2026
RemmyLee
(Hardware tests: 72 more test pages, listed on the main page by area; RUN.toml no longer published)
Line 1:Line 1:
+---
+title: Load Landing and Device Loads
+type: test
+summary: Measures the cost of an instruction that runs as a RAM load completes, loads from each device and width, and code run from KSEG1.
+category: Hardware tests
+info: Machine = SCPH-5501
+info: Program = cpu_next7
+---
+
+## Overview
+
+The program follows on from [Store and Load Sequences](/tests/store-load-sequences/). It times a store, a load and a store with each kind of target, the instruction that runs when a RAM load's data arrives, loads and stores from code in KSEG1, loads from each device by width and in pairs, and instruction cache fills at printed addresses. Its timing rows are root counter 2 counts in system clock cycles for 100 turns of a loop body.[^runh]
+
+Its GTE groups time single NOP steps on inputs that earlier runs left as ranges. Each of the three vectors of RTPT is timed on its own. Each GTE row runs cold from RAM and then cached.[^runh]
+
+## Results
+
+### The Instruction When a Load Completes
+
+A RAM load followed by six NOPs took 1251 cycles for 100 turns. A seventh instruction adds one cycle a turn when it is a NOP, but one more than that when it is an ALU instruction, a store, a scratchpad load or a multiply. A second RAM load in that place adds about five.[^runh]
+
+Table: RAM lw and 6 NOPs followed by the named instruction (cycles for 100 turns)
+
+| Seventh instruction | Cycles |
+| --- | --- |
+| nop | 1362 |
+| addu | 1454 |
+| addu of the loaded register | 1466 |
+| mult | 1463 |
+| scratchpad lw | 1466 |
+| RAM sw | 1488 |
+| RAM lw | 1768 |
+
+### Stores and Loads by Target
+
+A second RAM store after a store and a load costs about 4 cycles a turn more than a NOP in its place (1870 to 1892 against 1468). The width of the store makes no difference. A scratchpad store in its place costs about 2 (1632).[^runh]
+
+A RAM load waits for a store before it only when the store went to RAM or to an I/O port:[^runh]
+
+Table: A store then a load by target (cycles for 100 turns)
+
+| Store | Load | Cycles |
+| --- | --- | --- |
+| scratchpad sw | RAM lw | 958 |
+| GP0 sw | RAM lw | 1038 |
+| I_MASK sw | RAM lw | 1036 |
+| RAM sw | I_STAT lw | 958 |
+| RAM sw | scratchpad lw | 629 |
+| RAM sw | BIOS lw | 3132 |
+| RAM sw | RAM lw | 1468 |
+
+### Code Run from KSEG1
+
+Each instruction fetched from KSEG1 costs about 6 cycles. The loop alone took 1886 cycles and each NOP added about 610.[^runh]
+
+A load or store adds to the fetch time according to its target. An I_STAT load adds nothing beyond its own fetch, and neither do stores to the scratchpad, GP0 or I_MASK. A RAM load adds about 4 cycles a turn and a RAM store about 5. A BIOS ROM load adds about 22.[^runh]
+
+Table: Loads and stores from KSEG1 code (cycles for 100 turns)
+
+| Body | Cycles |
+| --- | --- |
+| the loop alone | 1886 |
+| 1 nop | 2495 |
+| I_STAT lw | 2495 |
+| scratchpad sw | 2491 |
+| RAM lw | 2905 |
+| RAM sw | 3012 |
+| RAM sw, sw | 3833 |
+| BIOS lw | 4711 |
+
+### Loads by Device
+
+Each device has its own load time, and the second of two loads waits for the first:[^runh]
+
+Table: Loads by device (cycles for 100 turns)
+
+| Load | Load, nop | Load, the same, nop | Load, nop, the same, nop |
+| --- | --- | --- | --- |
+| DMA2 CHCR lw | 751 | 1147 | 1346 |
+| DICR lw | 750 | 1139 | 1346 |
+| MDEC status lw | 750 | 1139 | 1346 |
+| Timer 0 lw | 750 | 1139 | 1346 |
+| I_STAT lbu | 740 | 1146 | 1353 |
+| GPUSTAT lhu | 741 | 1120 | |
+| CD-ROM status lbu | 1217 | 2018 | 2218 |
+| SPU voice 0 lhu | 2238 | 4218 | |
+| SPU voice 0 lbu | 2217 | 4218 | 4218 |
+| EXP1 lbu | 1117 | 1822 | 2023 |
+| EXP1 lw | 2946 | 5444 | 5645 |
+| BIOS lbu | 1117 | 1818 | 2018 |
+| BIOS lhu | 1738 | 3018 | |
+| Scratchpad lw | 550 | 639 | 746 |
+
+A 32-bit load from expansion region 1 costs as much as a BIOS ROM word load. A byte load from the SPU costs as much as a halfword load.[^runh]
+
+### Instruction Cache Fills at Known Addresses
+
+With the addresses printed, every cached call repeated its count exactly on a second cached call. A call of four NOPs took 22 counts cold and 7 cached from KSEG0, and 39 from KSEG1.[^runh]
+
+### GTE Inputs
+
+The three vectors of RTPT take the screen offset OFX at different times. A write of OFX after RTPT reached the first vector's result up to four NOPs after the command, the second's up to four, and the third's up to two in the cold run. In the cached run the limit was six NOPs for the first vector and ten for the other two.[^runh]
+
+Table: GTE inputs written just before a command
+
+| Command | Input | NOPs needed before |
+| --- | --- | --- |
+| MVMVA with TR | TRY | 1 |
+| MVMVA with BK | GBK | 1 |
+| GPF | IR2 | 1 |
+| AVSZ3 | SZ2 | 1 |
+| RTPS | TRX, TRY | 0 |
+| NCS | RBK, GBK | 0 |
+
+## Runs
+
+### 26 September 2026 (card-cpu7)
+
+[00RUN.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/00RUN.txt):
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+14 tests
+COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02B68 DCIC 00000000 BadVaddr 00000580 BDAM 00000000
+BPCM 00000000 SR 00000000 Cause C0000024 EPC BFC02B78 PRId 00000002
+```
+
+[01SL2.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 956
+sw, lw, nop: 1485
+sw, lw, nop, nop: 1495
+sw, lw, sw: 1882
+sw, lw, addiu, sw: 2074
+sw, lw, 2 nops, sw: 2079
+sw, lw, 3 nops, sw: 2087
+sh, lw, sh: 1886
+sb, lw, sb: 1875
+sw, lw, sw of the first word: 1872
+sw, lw, sw to RAM 2: 1890
+sw, lw, scratchpad sw: 1627
+scratchpad sw, lw, sw: 1280
+sw, sw, lw, nop: 1686
+sw, sw, lw, sw: 2088
+sw, lw, lw, sw: 2481
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 964
+GP0 sw, RAM lw, nop: 1044
+I_MASK sw, RAM lw, nop: 1040
+RAM sw, I_STAT lw, nop: 963
+RAM sw, scratchpad lw, nop: 628
+RAM sw, BIOS lw, nop: 3128
+RAM sw, I_STAT lw, RAM lw, nop: 1575
+RAM sw, scratchpad lw, RAM lw, nop: 1452
+Done.
+```
+
+[02LND.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1058
+lw, 5 nops: 1167
+lw, 6 nops: 1260
+lw, 7 nops: 1363
+lw, 5 nops, lw, nop: 1684
+lw, 6 nops, lw, nop: 1769
+lw, 7 nops, lw, nop: 1891
+lw, 6 nops, lbu, nop: 1774
+lw, 6 nops, lw of RAM 2, nop: 1767
+lw, 6 nops, lw of scratchpad, nop: 1472
+lw, 6 nops, sw, nop: 1501
+lw, 6 nops, scratchpad sw, nop: 1480
+lw, 6 nops, addu, nop: 1469
+lw, 6 nops, addu of it, nop: 1483
+lw, 6 nops, mult, nop: 1466
+lw, 5 nops, taken beq, nop, nop: 1465
+lw, 6 nops, taken beq, nop, nop: 1572
+I_STAT lw, 6 nops, lw, nop: 1659
+BIOS lw, 6 nops, lw, nop: 5659
+Done.
+```
+
+[03UN2.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/03UN2.txt):
+
+```
+===== 03 UN2 KSEG1 CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+code from KSEG1:
+the loop alone: 1896
+1 nop: 2503
+3 nops: 3717
+7 nops: 6159
+RAM lw: 2905
+RAM lw, nop: 3524
+RAM lw, 2 nops: 4134
+RAM lw, use: 3723
+I_STAT lw: 2501
+I_STAT lw, nop: 3115
+I_STAT lw, use: 3402
+BIOS lw: 4710
+BIOS lw, nop: 5302
+scratchpad lw, nop: 3109
+RAM sw: 3023
+RAM sw, nop: 3633
+RAM sw, sw: 3844
+RAM 4 sw: 5763
+RAM sw, lw, nop: 4655
+scratchpad sw: 2503
+GP0 sw: 2497
+I_MASK sw: 2498
+Done.
+```
+
+[04DEV.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/04DEV.txt):
+
+```
+===== 04 DEV LOADS BY DEVICE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+loads by device and width:
+DMA2 CHCR lw, nop: 751
+DMA2 CHCR lw, the same, nop: 1151
+DMA2 CHCR lw, nop, the same, nop: 1354
+DMA2 CHCR lw, RAM sw, nop: 970
+DICR lw, nop: 730
+DICR lw, the same, nop: 1126
+DICR lw, nop, the same, nop: 1342
+DICR lw, RAM sw, nop: 972
+MDEC status lw, nop: 726
+MDEC status lw, the same, nop: 1126
+MDEC status lw, nop, the same, nop: 1359
+MDEC status lw, RAM sw, nop: 968
+timer 0 lw, nop: 744
+timer 0 lw, the same, nop: 1144
+timer 0 lw, nop, the same, nop: 1342
+timer 0 lw, RAM sw, nop: 970
+I_STAT lhu, nop: 751
+I_STAT lhu, the same, nop: 1146
+I_STAT lbu, nop: 745
+I_STAT lbu, the same, nop: 1151
+I_STAT lbu, nop, the same, nop: 1346
+GPUSTAT lhu, nop: 745
+GPUSTAT lhu, the same, nop: 1152
+CDROM status lbu, nop: 1239
+CDROM status lbu, the same, nop: 2039
+CDROM status lbu, nop, the same, nop: 2236
+SPU voice 0 lhu, nop: 2250
+SPU voice 0 lhu, the same, nop: 4229
+SPU voice 0 lbu, nop: 2239
+SPU voice 0 lbu, the same, nop: 4240
+SPU voice 0 lbu, nop, the same, nop: 4221
+EXP1 lbu, nop: 1139
+EXP1 lbu, the same, nop: 1839
+EXP1 lbu, nop, the same, nop: 2036
+EXP1 lw, nop: 2943
+EXP1 lw, the same, nop: 5435
+EXP1 lw, nop, the same, nop: 5646
+EXP1 lw, RAM sw, nop: 3161
+BIOS lbu, nop: 1151
+BIOS lbu, the same, nop: 1834
+BIOS lbu, nop, the same, nop: 2021
+BIOS lhu, nop: 1750
+BIOS lhu, the same, nop: 3042
+scratchpad lw, nop: 526
+scratchpad lw, the same, nop: 626
+scratchpad lw, nop, the same, nop: 755
+scratchpad lw, RAM sw, nop: 657
+Done.
+```
+
+[05FL2.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/05FL2.txt):
+
+```
+===== 05 FL2 FILLS WITH ADDRESSES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+measure at 8001FDB8, its lines DB on; FlushCache at 8002491C
+i-cache fills, one call (timer overhead included):
+4 nops, jr at 80014984 (line 98): cold 26, cached 14, 14, cold again 26
+8 nops, jr at 8001499C (line 99): cold 44, cached 29, 29, cold again 42
+jr at word 0 at 800149CC (line 9C): cold 24, cached 5, 5, cold again 24
+jr at word 1 at 800149EC (line 9E): cold 23, cached 6, 6, cold again 23
+jr at word 2 at 80014A0C (line A0): cold 33, cached 27, 27, cold again 33
+16 nops from word 0 at 80014A2C (line A2): cold 62, cached 54, 54, cold again 60
+15 nops from word 1 at 80014A30 (line A3): cold 58, cached 48, 48, cold again 54
+13 nops from word 3 at 80014A38 (line A3): cold 52, cached 46, 46, cold again 52
+4 nops, jr, from KSEG1 at A0014984 (line 98): cold 49, cached 38, 38, cold again 49
+Done.
+```
+
+[06GH1.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/06GH1.txt):
+
+```
+===== 06 GH1 GTE INPUTS BEFORE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops before the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 (MAC0) a 0 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) a 1 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) b 0 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) b 1 before: FFFFFFC0 FFFFFFC0
+RTPT, VXY0 (MAC1) 0 before: 00000000 00000000
+RTPT, VXY0 (MAC1) 1 before: 00000000 00000000
+RTPT, TRX (MAC1) 0 before: 00030004 00030004
+RTPT, TRX (MAC1) 1 before: 00030004 00030004
+RTPS, TRY (MAC2) 0 before: 00030004 00030004
+RTPS, TRY (MAC2) 1 before: 00030004 00030004
+RTPS, TRX (MAC1) 0 before: 00030004 00030004
+RTPS, TRX (MAC1) 1 before: 00030004 00030004
+MVMVA TR, TRY (MAC2) 0 before: 00010002 00010002
+MVMVA TR, TRY (MAC2) 1 before: 00030004 00030004
+MVMVA BK, GBK (MAC2) 0 before: 00010002 00010002
+MVMVA BK, GBK (MAC2) 1 before: 00030004 00030004
+MVMVA BK, BBK (MAC3) 0 before: 00030004 00030004
+MVMVA BK, BBK (MAC3) 1 before: 00030004 00030004
+NCS, RBK (MAC1) 0 before: 00030004 00030004
+NCS, RBK (MAC1) 1 before: 00030004 00030004
+NCS, GBK (MAC2) 0 before: 00030004 00030004
+NCS, GBK (MAC2) 1 before: 00030004 00030004
+SQR, IR3 (MAC3) 0 before: 00000010 00000010
+SQR, IR3 (MAC3) 1 before: 00000010 00000010
+OP, IR1 (MAC2) 0 before: FFFFF004 FFFFF004
+OP, IR1 (MAC2) 1 before: FFFFF004 FFFFF004
+GPF, IR2 (IR0 1000h) 0 before: 00000002 00000002
+GPF, IR2 (IR0 1000h) 1 before: 00000004 00000004
+INTPL, IR2 (MAC2) 0 before: 00000004 00000004
+INTPL, IR2 (MAC2) 1 before: 00000004 00000004
+AVSZ3, SZ2 (MAC0) 0 before: 00202000 00202000
+AVSZ3, SZ2 (MAC0) 1 before: 00204000 00204000
+AVSZ4, SZ1 (MAC0) 0 before: 00302000 00302000
+AVSZ4, SZ1 (MAC0) 1 before: 00302000 00302000
+Done.
+```
+
+[07GI1.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/07GI1.txt):
+
+```
+===== 07 GI1 GTE INPUTS AFTER 1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 a 0 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 a 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 a 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 0 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 0 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 2 after: FFFFFFE0 FFFFFFE0
+RTPS, DQA 9 after: 0000003F 0000003F
+RTPS, DQA 10 after: 0000003F 0000003F
+RTPS, DQA 11 after: 0000003F 0000003F
+RTPS, DQA 12 after: 0000003F 0000003F
+RTPS, OFX 3 after: 00000001 00000003
+RTPS, OFX 4 after: 00000001 00000001
+RTPS, OFX 5 after: 00000001 00000001
+RTPT, OFX (SXY2) 4 after: 00000003 00000003
+RTPT, OFX (SXY2) 8 after: 00000001 00000001
+RTPT, OFX (SXY2) 10 after: 00000001 00000001
+RTPT, OFX (SXY2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2) 16 after: 00000001 00000001
+RTPT, OFY (SXY2) 8 after: 00010000 00030000
+RTPT, OFY (SXY2) 12 after: 00010000 00010000
+RTPT, OFY (SXY2) 14 after: 00010000 00010000
+Done.
+```
+
+[08GI2.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/08GI2.txt):
+
+```
+===== 08 GI2 GTE INPUTS AFTER 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, OFY (SXY2) 16 after: 00010000 00010000
+RTPT, DQB (IR0) 8 after: 00000010 00000030
+RTPT, DQB (IR0) 12 after: 00000010 00000030
+RTPT, DQB (IR0) 14 after: 00000010 00000030
+RTPT, DQB (IR0) 16 after: 00000010 00000010
+RTPT, DQB (IR0) 18 after: 00000010 00000010
+RTPT, VXY2 (MAC1) 4 after: 00000002 00000004
+RTPT, VXY2 (MAC1) 5 after: 00000002 00000004
+RTPT, VXY2 (MAC1) 6 after: 00000002 00000002
+RTPT, VZ2 (MAC3) 3 after: 00000002 00000004
+RTPT, VZ2 (MAC3) 4 after: 00000002 00000004
+RTPT, VZ2 (MAC3) 5 after: 00000002 00000002
+CDP, RGBC 2 after: 00000040 00000040
+CDP, RGBC 3 after: 00000040 00000040
+CDP, RGBC 4 after: 00000040 00000040
+CDP, RGBC 6 after: 00000040 00000040
+CC, RGBC 2 after: 00000040 00000040
+CC, RGBC 3 after: 00000040 00000040
+CC, RGBC 4 after: 00000040 00000040
+NCDS, RGBC 6 after: 00000020 00000040
+NCDS, RGBC 7 after: 00000020 00000040
+NCDS, RGBC 8 after: 00000020 00000040
+NCCS, RGBC 6 after: 00000020 00000040
+NCCS, RGBC 7 after: 00000020 00000040
+NCCS, RGBC 8 after: 00000020 00000040
+Done.
+```
+
+[09GI3.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/09GI3.txt):
+
+```
+===== 09 GI3 GTE INPUTS AFTER 3 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+DPCS, RGBC 0 after: 00000020 00000020
+DPCS, RGBC 1 after: 00000020 00000020
+GPL, MAC1 0 after: 00030004 00030004
+GPL, MAC1 1 after: 00030004 00030004
+GPL, MAC1 2 after: 00030004 00030004
+GPL, MAC2 0 after: 00030004 00010000
+GPL, MAC2 1 after: 00030004 00030004
+GPL, MAC2 2 after: 00030004 00030004
+GPL, MAC3 0 after: 00010002 00010002
+GPL, MAC3 1 after: 00030004 00010000
+GPL, MAC3 2 after: 00030004 00030004
+NCS, RBK 0 after: 00010002 00010002
+NCS, RBK 1 after: 00010002 00010002
+NCS, VZ0 1 after: 00000004 00000004
+NCS, VZ0 2 after: 00000002 00000002
+NCT, VZ0 (MAC3) 0 after: 00000000 00000000
+NCT, VZ0 (MAC3) 2 after: 00000000 00000000
+NCT, VZ0 (MAC3) 4 after: 00000000 00000000
+NCDT, VZ2 (MAC3) 4 after: 00000001 00000001
+NCDT, VZ2 (MAC3) 6 after: 00000000 00000001
+NCDT, VZ2 (MAC3) 8 after: 00000000 00000001
+MVMVA V0, VZ0 0 after: 00000002 00000004
+MVMVA V0, VZ0 1 after: 00000002 00000004
+MVMVA V0, VZ0 2 after: 00000002 00000002
+MVMVA IR, IR3 1 after: 00000002 00000004
+Done.
+```
+
+[10GI4.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/10GI4.txt):
+
+```
+===== 10 GI4 GTE INPUTS AFTER 4 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+MVMVA IR, IR3 2 after: 00000002 00000002
+AVSZ4, SZ0 0 after: 00302000 00302000
+AVSZ4, SZ0 1 after: 00302000 00302000
+RTPT, TRZ (SZ1, vector 0) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 6 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 16 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 6 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 16 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 6 after: 0000FFFF 0000FFFF
+Done.
+```
+
+[11GI5.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/11GI5.txt):
+
+```
+===== 11 GI5 GTE INPUTS AFTER 5 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, TRZ (SZ3, vector 2) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 16 after: 0000FFFF 0000FFFF
+RTPT, OFX (SXY0, vector 0) 0 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 2 after: 00000001 00000003
+RTPT, OFX (SXY0, vector 0) 4 after: 00000001 00000003
+RTPT, OFX (SXY0, vector 0) 6 after: 00000001 00000003
+RTPT, OFX (SXY0, vector 0) 8 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 10 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 12 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 14 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 16 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 0 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 2 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 4 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 6 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 8 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 10 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 12 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 14 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 16 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 0 after: 00000003 00000003
+RTPT, OFX (SXY2, vector 2) 2 after: 00000003 00000003
+Done.
+```
+
+[12GI6.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/12GI6.txt):
+
+```
+===== 12 GI6 GTE INPUTS AFTER 6 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, OFX (SXY2, vector 2) 4 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 6 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 8 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 10 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 16 after: 00000001 00000001
+RTPT, VZ1 (SZ2) 0 after: 00000004 00000004
+RTPT, VZ1 (SZ2) 1 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 2 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 3 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 4 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 5 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 6 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 8 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 2 after: 00000002 00000004
+RTPT, VZ2 (SZ3) 4 after: 00000002 00000004
+RTPT, VZ2 (SZ3) 6 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 8 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 10 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 12 after: 00000002 00000002
+RTPS, DQA (IR0) 13 after: 0000003F 0000003F
+RTPS, DQA (IR0) 14 after: 0000003F 0000003F
+RTPS, DQA (IR0) 16 after: 0000003F 0000003F
+RTPS sweep, OFX (SXY2) 1 after: 00000001 00000003
+Done.
+```
+
+[13GI7.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/13GI7.txt):
+
+```
+===== 13 GI7 GTE INPUTS AFTER 7 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPS sweep, OFX (SXY2) 2 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 3 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 4 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 5 after: 00000001 00000001
+RTPS sweep, OFX (SXY2) 6 after: 00000001 00000001
+RTPS sweep, OFX (SXY2) 7 after: 00000001 00000001
+RTPS sweep, OFY (SXY2) 1 after: 00030000 00030000
+RTPS sweep, OFY (SXY2) 2 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 3 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 4 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 5 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 6 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 7 after: 00010000 00010000
+RTPS sweep, DQB (IR0) 5 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 6 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 7 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 8 after: 00000010 00000010
+RTPS sweep, DQB (IR0) 9 after: 00000010 00000010
+RTPS sweep, VZ0 (SZ3) 0 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 1 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 2 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 3 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 4 after: 00000002 00000002
+NCS sweep, RBK (MAC1) 0 after: 00030004 00030004
+NCS sweep, RBK (MAC1) 1 after: 00010002 00030004
+Done.
+```
+
+[14GI8.txt](/tests/raw/20260926T0000Z-5501a-card-cpu7/cpu7/14GI8.txt):
+
+```
+===== 14 GI8 GTE INPUTS AFTER 8 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000580
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCS sweep, RBK (MAC1) 2 after: 00010002 00030004
+NCS sweep, RBK (MAC1) 3 after: 00010002 00010002
+NCS sweep, GBK (MAC2) 2 after: 00010002 00030004
+NCS sweep, GBK (MAC2) 3 after: 00010002 00030004
+NCS sweep, GBK (MAC2) 4 after: 00010002 00010002
+NCS sweep, GBK (MAC2) 5 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 2 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 3 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 4 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 5 after: 00010002 00010002
+NCS sweep, VZ0 (MAC3) 0 after: 00000004 00000004
+NCS sweep, VZ0 (MAC3) 1 after: 00000004 00000004
+NCS sweep, VZ0 (MAC3) 2 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 3 after: 00000002 00000002
+NCS sweep, VXY0 VY (MAC2) 0 after: 00000001 00000001
+NCS sweep, VXY0 VY (MAC2) 1 after: 00000001 00000001
+RTPS sweep, VXY0 VY (MAC2) 0 after: 00000001 00000003
+RTPS sweep, VXY0 VY (MAC2) 1 after: 00000001 00000001
+RTPS sweep, VXY0 VY (MAC2) 2 after: 00000001 00000001
+Done.
+```
+
+### 27 September 2026 (card-1)
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/00RUN.txt):
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+14 tests
+A chain program, linked at 80010000
+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 80111490 PRId 00000002
+```
+
+[01SL2.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 958
+sw, lw, nop: 1468
+sw, lw, nop, nop: 1474
+sw, lw, sw: 1884
+sw, lw, addiu, sw: 2074
+sw, lw, 2 nops, sw: 2070
+sw, lw, 3 nops, sw: 2068
+sh, lw, sh: 1889
+sb, lw, sb: 1877
+sw, lw, sw of the first word: 1871
+sw, lw, sw to RAM 2: 1864
+sw, lw, scratchpad sw: 1620
+scratchpad sw, lw, sw: 1277
+sw, sw, lw, nop: 1676
+sw, sw, lw, sw: 2092
+sw, lw, lw, sw: 2494
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 955
+GP0 sw, RAM lw, nop: 1039
+I_MASK sw, RAM lw, nop: 1036
+RAM sw, I_STAT lw, nop: 960
+RAM sw, scratchpad lw, nop: 639
+RAM sw, BIOS lw, nop: 3143
+RAM sw, I_STAT lw, RAM lw, nop: 1572
+RAM sw, scratchpad lw, RAM lw, nop: 1451
+Done.
+```
+
+[02LND.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1059
+lw, 5 nops: 1156
+lw, 6 nops: 1251
+lw, 7 nops: 1361
+lw, 5 nops, lw, nop: 1678
+lw, 6 nops, lw, nop: 1766
+lw, 7 nops, lw, nop: 1892
+lw, 6 nops, lbu, nop: 1763
+lw, 6 nops, lw of RAM 2, nop: 1763
+lw, 6 nops, lw of scratchpad, nop: 1475
+lw, 6 nops, sw, nop: 1484
+lw, 6 nops, scratchpad sw, nop: 1483
+lw, 6 nops, addu, nop: 1455
+lw, 6 nops, addu of it, nop: 1467
+lw, 6 nops, mult, nop: 1463
+lw, 5 nops, taken beq, nop, nop: 1465
+lw, 6 nops, taken beq, nop, nop: 1558
+I_STAT lw, 6 nops, lw, nop: 1652
+BIOS lw, 6 nops, lw, nop: 5656
+Done.
+```
+
+[03UN2.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/03UN2.txt):
+
+```
+===== 03 UN2 KSEG1 CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+code from KSEG1:
+the loop alone: 1888
+1 nop: 2496
+3 nops: 3713
+7 nops: 6151
+RAM lw: 2899
+RAM lw, nop: 3518
+RAM lw, 2 nops: 4125
+RAM lw, use: 3716
+I_STAT lw: 2496
+I_STAT lw, nop: 3107
+I_STAT lw, use: 3399
+BIOS lw: 4713
+BIOS lw, nop: 5294
+scratchpad lw, nop: 3108
+RAM sw: 3011
+RAM sw, nop: 3629
+RAM sw, sw: 3830
+RAM 4 sw: 5757
+RAM sw, lw, nop: 4650
+scratchpad sw: 2496
+GP0 sw: 2495
+I_MASK sw: 2495
+Done.
+```
+
+[04DEV.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/04DEV.txt):
+
+```
+===== 04 DEV LOADS BY DEVICE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+loads by device and width:
+DMA2 CHCR lw, nop: 751
+DMA2 CHCR lw, the same, nop: 1147
+DMA2 CHCR lw, nop, the same, nop: 1346
+DMA2 CHCR lw, RAM sw, nop: 961
+DICR lw, nop: 750
+DICR lw, the same, nop: 1139
+DICR lw, nop, the same, nop: 1346
+DICR lw, RAM sw, nop: 962
+MDEC status lw, nop: 750
+MDEC status lw, the same, nop: 1139
+MDEC status lw, nop, the same, nop: 1347
+MDEC status lw, RAM sw, nop: 963
+timer 0 lw, nop: 750
+timer 0 lw, the same, nop: 1139
+timer 0 lw, nop, the same, nop: 1346
+timer 0 lw, RAM sw, nop: 963
+I_STAT lhu, nop: 750
+I_STAT lhu, the same, nop: 1141
+I_STAT lbu, nop: 740
+I_STAT lbu, the same, nop: 1140
+I_STAT lbu, nop, the same, nop: 1351
+GPUSTAT lhu, nop: 741
+GPUSTAT lhu, the same, nop: 1122
+CDROM status lbu, nop: 1217
+CDROM status lbu, the same, nop: 2018
+CDROM status lbu, nop, the same, nop: 2218
+SPU voice 0 lhu, nop: 2238
+SPU voice 0 lhu, the same, nop: 4218
+SPU voice 0 lbu, nop: 2217
+SPU voice 0 lbu, the same, nop: 4218
+SPU voice 0 lbu, nop, the same, nop: 4218
+EXP1 lbu, nop: 1117
+EXP1 lbu, the same, nop: 1818
+EXP1 lbu, nop, the same, nop: 2020
+EXP1 lw, nop: 2946
+EXP1 lw, the same, nop: 5439
+EXP1 lw, nop, the same, nop: 5651
+EXP1 lw, RAM sw, nop: 3150
+BIOS lbu, nop: 1117
+BIOS lbu, the same, nop: 1818
+BIOS lbu, nop, the same, nop: 2018
+BIOS lhu, nop: 1738
+BIOS lhu, the same, nop: 3018
+scratchpad lw, nop: 550
+scratchpad lw, the same, nop: 639
+scratchpad lw, nop, the same, nop: 747
+scratchpad lw, RAM sw, nop: 650
+Done.
+```
+
+[05FL2.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/05FL2.txt):
+
+```
+===== 05 FL2 FILLS WITH ADDRESSES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+measure at 80021BC0, its lines BC on; FlushCache at 80026724
+i-cache fills, one call (timer overhead included):
+4 nops, jr at 80016630 (line 63): cold 22, cached 7, 7, cold again 22
+8 nops, jr at 80016648 (line 64): cold 38, cached 13, 13, cold again 38
+jr at word 0 at 80016678 (line 67): cold 20, cached 5, 5, cold again 20
+jr at word 1 at 80016698 (line 69): cold 20, cached 6, 6, cold again 20
+jr at word 2 at 800166B8 (line 6B): cold 19, cached 7, 7, cold again 19
+16 nops from word 0 at 800166D8 (line 6D): cold 56, cached 21, 21, cold again 61
+15 nops from word 1 at 800166DC (line 6D): cold 59, cached 20, 20, cold again 59
+13 nops from word 3 at 800166E4 (line 6E): cold 52, cached 18, 18, cold again 48
+4 nops, jr, from KSEG1 at A0016630 (line 63): cold 39, cached 42, 38, cold again 39
+Done.
+```
+
+[06GH1.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/06GH1.txt):
+
+```
+===== 06 GH1 GTE INPUTS BEFORE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops before the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 (MAC0) a 0 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) a 1 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) b 0 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) b 1 before: FFFFFFC0 FFFFFFC0
+RTPT, VXY0 (MAC1) 0 before: 00000000 00000000
+RTPT, VXY0 (MAC1) 1 before: 00000000 00000000
+RTPT, TRX (MAC1) 0 before: 00030004 00030004
+RTPT, TRX (MAC1) 1 before: 00030004 00030004
+RTPS, TRY (MAC2) 0 before: 00030004 00030004
+RTPS, TRY (MAC2) 1 before: 00030004 00030004
+RTPS, TRX (MAC1) 0 before: 00030004 00030004
+RTPS, TRX (MAC1) 1 before: 00030004 00030004
+MVMVA TR, TRY (MAC2) 0 before: 00010002 00010002
+MVMVA TR, TRY (MAC2) 1 before: 00030004 00030004
+MVMVA BK, GBK (MAC2) 0 before: 00010002 00010002
+MVMVA BK, GBK (MAC2) 1 before: 00030004 00030004
+MVMVA BK, BBK (MAC3) 0 before: 00030004 00030004
+MVMVA BK, BBK (MAC3) 1 before: 00030004 00030004
+NCS, RBK (MAC1) 0 before: 00030004 00030004
+NCS, RBK (MAC1) 1 before: 00030004 00030004
+NCS, GBK (MAC2) 0 before: 00030004 00030004
+NCS, GBK (MAC2) 1 before: 00030004 00030004
+SQR, IR3 (MAC3) 0 before: 00000010 00000010
+SQR, IR3 (MAC3) 1 before: 00000010 00000010
+OP, IR1 (MAC2) 0 before: FFFFF004 FFFFF004
+OP, IR1 (MAC2) 1 before: FFFFF004 FFFFF004
+GPF, IR2 (IR0 1000h) 0 before: 00000002 00000002
+GPF, IR2 (IR0 1000h) 1 before: 00000004 00000004
+INTPL, IR2 (MAC2) 0 before: 00000004 00000004
+INTPL, IR2 (MAC2) 1 before: 00000004 00000004
+AVSZ3, SZ2 (MAC0) 0 before: 00202000 00202000
+AVSZ3, SZ2 (MAC0) 1 before: 00204000 00204000
+AVSZ4, SZ1 (MAC0) 0 before: 00302000 00302000
+AVSZ4, SZ1 (MAC0) 1 before: 00302000 00302000
+Done.
+```
+
+[07GI1.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/07GI1.txt):
+
+```
+===== 07 GI1 GTE INPUTS AFTER 1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 a 0 after: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 a 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 a 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 0 after: FFFFFFE0 FFFFFFC0
+NCLIP, SXY2 b 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 0 after: FFFFFFE0 FFFFFFC0
+NCLIP, SXY2 c 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 2 after: FFFFFFE0 FFFFFFE0
+RTPS, DQA 9 after: 0000003F 0000003F
+RTPS, DQA 10 after: 0000003F 0000003F
+RTPS, DQA 11 after: 0000003F 0000003F
+RTPS, DQA 12 after: 0000003F 0000003F
+RTPS, OFX 3 after: 00000001 00000003
+RTPS, OFX 4 after: 00000001 00000001
+RTPS, OFX 5 after: 00000001 00000001
+RTPT, OFX (SXY2) 4 after: 00000001 00000001
+RTPT, OFX (SXY2) 8 after: 00000001 00000001
+RTPT, OFX (SXY2) 10 after: 00000001 00000001
+RTPT, OFX (SXY2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2) 16 after: 00000001 00000001
+RTPT, OFY (SXY2) 8 after: 00010000 00030000
+RTPT, OFY (SXY2) 12 after: 00010000 00010000
+RTPT, OFY (SXY2) 14 after: 00010000 00010000
+Done.
+```
+
+[08GI2.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/08GI2.txt):
+
+```
+===== 08 GI2 GTE INPUTS AFTER 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, OFY (SXY2) 16 after: 00010000 00010000
+RTPT, DQB (IR0) 8 after: 00000010 00000030
+RTPT, DQB (IR0) 12 after: 00000010 00000030
+RTPT, DQB (IR0) 14 after: 00000010 00000030
+RTPT, DQB (IR0) 16 after: 00000010 00000010
+RTPT, DQB (IR0) 18 after: 00000010 00000010
+RTPT, VXY2 (MAC1) 4 after: 00000002 00000004
+RTPT, VXY2 (MAC1) 5 after: 00000002 00000004
+RTPT, VXY2 (MAC1) 6 after: 00000002 00000002
+RTPT, VZ2 (MAC3) 3 after: 00000002 00000004
+RTPT, VZ2 (MAC3) 4 after: 00000002 00000004
+RTPT, VZ2 (MAC3) 5 after: 00000002 00000002
+CDP, RGBC 2 after: 00000040 00000040
+CDP, RGBC 3 after: 00000040 00000040
+CDP, RGBC 4 after: 00000040 00000040
+CDP, RGBC 6 after: 00000040 00000040
+CC, RGBC 2 after: 00000040 00000040
+CC, RGBC 3 after: 00000040 00000040
+CC, RGBC 4 after: 00000040 00000040
+NCDS, RGBC 6 after: 00000020 00000040
+NCDS, RGBC 7 after: 00000020 00000040
+NCDS, RGBC 8 after: 00000020 00000040
+NCCS, RGBC 6 after: 00000020 00000040
+NCCS, RGBC 7 after: 00000020 00000040
+NCCS, RGBC 8 after: 00000020 00000040
+Done.
+```
+
+[09GI3.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/09GI3.txt):
+
+```
+===== 09 GI3 GTE INPUTS AFTER 3 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+DPCS, RGBC 0 after: 00000020 00000020
+DPCS, RGBC 1 after: 00000020 00000020
+GPL, MAC1 0 after: 00030004 00030004
+GPL, MAC1 1 after: 00030004 00030004
+GPL, MAC1 2 after: 00030004 00030004
+GPL, MAC2 0 after: 00010000 00010000
+GPL, MAC2 1 after: 00030004 00030004
+GPL, MAC2 2 after: 00030004 00030004
+GPL, MAC3 0 after: 00030004 00010002
+GPL, MAC3 1 after: 00030004 00010000
+GPL, MAC3 2 after: 00030004 00030004
+NCS, RBK 0 after: 00010002 00010002
+NCS, RBK 1 after: 00010002 00010002
+NCS, VZ0 1 after: 00000002 00000002
+NCS, VZ0 2 after: 00000002 00000002
+NCT, VZ0 (MAC3) 0 after: 00000000 00000000
+NCT, VZ0 (MAC3) 2 after: 00000000 00000000
+NCT, VZ0 (MAC3) 4 after: 00000000 00000000
+NCDT, VZ2 (MAC3) 4 after: 00000001 00000001
+NCDT, VZ2 (MAC3) 6 after: 00000000 00000001
+NCDT, VZ2 (MAC3) 8 after: 00000000 00000001
+MVMVA V0, VZ0 0 after: 00000002 00000004
+MVMVA V0, VZ0 1 after: 00000002 00000004
+MVMVA V0, VZ0 2 after: 00000002 00000002
+MVMVA IR, IR3 1 after: 00000002 00000004
+Done.
+```
+
+[10GI4.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/10GI4.txt):
+
+```
+===== 10 GI4 GTE INPUTS AFTER 4 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+MVMVA IR, IR3 2 after: 00000002 00000002
+AVSZ4, SZ0 0 after: 00302000 00302000
+AVSZ4, SZ0 1 after: 00302000 00302000
+RTPT, TRZ (SZ1, vector 0) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 6 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 16 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 6 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 16 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 6 after: 0000FFFF 0000FFFF
+Done.
+```
+
+[11GI5.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/11GI5.txt):
+
+```
+===== 11 GI5 GTE INPUTS AFTER 5 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, TRZ (SZ3, vector 2) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 16 after: 0000FFFF 0000FFFF
+RTPT, OFX (SXY0, vector 0) 0 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 2 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 4 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 6 after: 00000001 00000003
+RTPT, OFX (SXY0, vector 0) 8 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 10 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 12 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 14 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 16 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 0 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 2 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 4 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 6 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 8 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 10 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 12 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 14 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 16 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 0 after: 00000003 00000003
+RTPT, OFX (SXY2, vector 2) 2 after: 00000003 00000003
+Done.
+```
+
+[12GI6.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/12GI6.txt):
+
+```
+===== 12 GI6 GTE INPUTS AFTER 6 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, OFX (SXY2, vector 2) 4 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 6 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 8 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 10 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 16 after: 00000001 00000001
+RTPT, VZ1 (SZ2) 0 after: 00000004 00000004
+RTPT, VZ1 (SZ2) 1 after: 00000004 00000004
+RTPT, VZ1 (SZ2) 2 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 3 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 4 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 5 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 6 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 8 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 2 after: 00000002 00000004
+RTPT, VZ2 (SZ3) 4 after: 00000002 00000004
+RTPT, VZ2 (SZ3) 6 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 8 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 10 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 12 after: 00000002 00000002
+RTPS, DQA (IR0) 13 after: 0000003F 0000003F
+RTPS, DQA (IR0) 14 after: 0000003F 0000003F
+RTPS, DQA (IR0) 16 after: 0000003F 0000003F
+RTPS sweep, OFX (SXY2) 1 after: 00000001 00000003
+Done.
+```
+
+[13GI7.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/13GI7.txt):
+
+```
+===== 13 GI7 GTE INPUTS AFTER 7 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPS sweep, OFX (SXY2) 2 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 3 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 4 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 5 after: 00000001 00000001
+RTPS sweep, OFX (SXY2) 6 after: 00000001 00000001
+RTPS sweep, OFX (SXY2) 7 after: 00000001 00000001
+RTPS sweep, OFY (SXY2) 1 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 2 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 3 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 4 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 5 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 6 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 7 after: 00010000 00010000
+RTPS sweep, DQB (IR0) 5 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 6 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 7 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 8 after: 00000010 00000010
+RTPS sweep, DQB (IR0) 9 after: 00000010 00000010
+RTPS sweep, VZ0 (SZ3) 0 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 1 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 2 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 3 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 4 after: 00000002 00000002
+NCS sweep, RBK (MAC1) 0 after: 00030004 00030004
+NCS sweep, RBK (MAC1) 1 after: 00030004 00030004
+Done.
+```
+
+[14GI8.txt](/tests/raw/20260927T0000Z-5501a-card-1/cpu7/14GI8.txt):
+
+```
+===== 14 GI8 GTE INPUTS AFTER 8 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCS sweep, RBK (MAC1) 2 after: 00010002 00030004
+NCS sweep, RBK (MAC1) 3 after: 00010002 00010002
+NCS sweep, GBK (MAC2) 2 after: 00010002 00030004
+NCS sweep, GBK (MAC2) 3 after: 00010002 00030004
+NCS sweep, GBK (MAC2) 4 after: 00010002 00010002
+NCS sweep, GBK (MAC2) 5 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 2 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 3 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 4 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 5 after: 00010002 00010002
+NCS sweep, VZ0 (MAC3) 0 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 1 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 2 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 3 after: 00000002 00000002
+NCS sweep, VXY0 VY (MAC2) 0 after: 00000001 00000001
+NCS sweep, VXY0 VY (MAC2) 1 after: 00000001 00000001
+RTPS sweep, VXY0 VY (MAC2) 0 after: 00000001 00000003
+RTPS sweep, VXY0 VY (MAC2) 1 after: 00000001 00000001
+RTPS sweep, VXY0 VY (MAC2) 2 after: 00000001 00000001
+Done.
+```
+
+### 27 September 2026 (card-2)
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/00RUN.txt):
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+14 tests
+A chain program, linked at 80010000
+Saved on the card in slot 2, from image 1
+COP0 at start: BPC 00000000 BDA 00000000 TAR 801108FC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
+BPCM 00000000 SR 40000000 Cause 00000020 EPC 801114B0 PRId 00000002
+```
+
+[01SL2.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 961
+sw, lw, nop: 1462
+sw, lw, nop, nop: 1479
+sw, lw, sw: 1879
+sw, lw, addiu, sw: 2069
+sw, lw, 2 nops, sw: 2072
+sw, lw, 3 nops, sw: 2072
+sh, lw, sh: 1875
+sb, lw, sb: 1882
+sw, lw, sw of the first word: 1878
+sw, lw, sw to RAM 2: 1870
+sw, lw, scratchpad sw: 1623
+scratchpad sw, lw, sw: 1276
+sw, sw, lw, nop: 1675
+sw, sw, lw, sw: 2090
+sw, lw, lw, sw: 2480
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 951
+GP0 sw, RAM lw, nop: 1038
+I_MASK sw, RAM lw, nop: 1036
+RAM sw, I_STAT lw, nop: 958
+RAM sw, scratchpad lw, nop: 629
+RAM sw, BIOS lw, nop: 3132
+RAM sw, I_STAT lw, RAM lw, nop: 1570
+RAM sw, scratchpad lw, RAM lw, nop: 1442
+Done.
+```
+
+[02LND.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1059
+lw, 5 nops: 1153
+lw, 6 nops: 1251
+lw, 7 nops: 1363
+lw, 5 nops, lw, nop: 1678
+lw, 6 nops, lw, nop: 1771
+lw, 7 nops, lw, nop: 1891
+lw, 6 nops, lbu, nop: 1766
+lw, 6 nops, lw of RAM 2, nop: 1760
+lw, 6 nops, lw of scratchpad, nop: 1469
+lw, 6 nops, sw, nop: 1490
+lw, 6 nops, scratchpad sw, nop: 1472
+lw, 6 nops, addu, nop: 1459
+lw, 6 nops, addu of it, nop: 1466
+lw, 6 nops, mult, nop: 1463
+lw, 5 nops, taken beq, nop, nop: 1464
+lw, 6 nops, taken beq, nop, nop: 1558
+I_STAT lw, 6 nops, lw, nop: 1652
+BIOS lw, 6 nops, lw, nop: 5660
+Done.
+```
+
+[03UN2.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/03UN2.txt):
+
+```
+===== 03 UN2 KSEG1 CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+code from KSEG1:
+the loop alone: 1886
+1 nop: 2495
+3 nops: 3712
+7 nops: 6156
+RAM lw: 2905
+RAM lw, nop: 3520
+RAM lw, 2 nops: 4126
+RAM lw, use: 3715
+I_STAT lw: 2495
+I_STAT lw, nop: 3104
+I_STAT lw, use: 3402
+BIOS lw: 4711
+BIOS lw, nop: 5286
+scratchpad lw, nop: 3105
+RAM sw: 3012
+RAM sw, nop: 3628
+RAM sw, sw: 3833
+RAM 4 sw: 5746
+RAM sw, lw, nop: 4647
+scratchpad sw: 2492
+GP0 sw: 2496
+I_MASK sw: 2493
+Done.
+```
+
+[04DEV.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/04DEV.txt):
+
+```
+===== 04 DEV LOADS BY DEVICE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+loads by device and width:
+DMA2 CHCR lw, nop: 751
+DMA2 CHCR lw, the same, nop: 1147
+DMA2 CHCR lw, nop, the same, nop: 1346
+DMA2 CHCR lw, RAM sw, nop: 961
+DICR lw, nop: 750
+DICR lw, the same, nop: 1139
+DICR lw, nop, the same, nop: 1346
+DICR lw, RAM sw, nop: 962
+MDEC status lw, nop: 750
+MDEC status lw, the same, nop: 1139
+MDEC status lw, nop, the same, nop: 1351
+MDEC status lw, RAM sw, nop: 960
+timer 0 lw, nop: 750
+timer 0 lw, the same, nop: 1139
+timer 0 lw, nop, the same, nop: 1346
+timer 0 lw, RAM sw, nop: 967
+I_STAT lhu, nop: 756
+I_STAT lhu, the same, nop: 1141
+I_STAT lbu, nop: 740
+I_STAT lbu, the same, nop: 1146
+I_STAT lbu, nop, the same, nop: 1353
+GPUSTAT lhu, nop: 741
+GPUSTAT lhu, the same, nop: 1120
+CDROM status lbu, nop: 1217
+CDROM status lbu, the same, nop: 2018
+CDROM status lbu, nop, the same, nop: 2218
+SPU voice 0 lhu, nop: 2238
+SPU voice 0 lhu, the same, nop: 4218
+SPU voice 0 lbu, nop: 2217
+SPU voice 0 lbu, the same, nop: 4218
+SPU voice 0 lbu, nop, the same, nop: 4218
+EXP1 lbu, nop: 1117
+EXP1 lbu, the same, nop: 1822
+EXP1 lbu, nop, the same, nop: 2023
+EXP1 lw, nop: 2946
+EXP1 lw, the same, nop: 5444
+EXP1 lw, nop, the same, nop: 5645
+EXP1 lw, RAM sw, nop: 3155
+BIOS lbu, nop: 1117
+BIOS lbu, the same, nop: 1818
+BIOS lbu, nop, the same, nop: 2018
+BIOS lhu, nop: 1738
+BIOS lhu, the same, nop: 3018
+scratchpad lw, nop: 550
+scratchpad lw, the same, nop: 639
+scratchpad lw, nop, the same, nop: 746
+scratchpad lw, RAM sw, nop: 650
+Done.
+```
+
+[05FL2.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/05FL2.txt):
+
+```
+===== 05 FL2 FILLS WITH ADDRESSES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+measure at 80021BE0, its lines BE on; FlushCache at 80026744
+i-cache fills, one call (timer overhead included):
+4 nops, jr at 80016650 (line 65): cold 22, cached 7, 7, cold again 22
+8 nops, jr at 80016668 (line 66): cold 38, cached 13, 13, cold again 38
+jr at word 0 at 80016698 (line 69): cold 20, cached 5, 5, cold again 20
+jr at word 1 at 800166B8 (line 6B): cold 20, cached 6, 6, cold again 20
+jr at word 2 at 800166D8 (line 6D): cold 19, cached 7, 7, cold again 19
+16 nops from word 0 at 800166F8 (line 6F): cold 60, cached 21, 21, cold again 56
+15 nops from word 1 at 800166FC (line 6F): cold 55, cached 20, 20, cold again 55
+13 nops from word 3 at 80016704 (line 70): cold 48, cached 18, 18, cold again 48
+4 nops, jr, from KSEG1 at A0016650 (line 65): cold 39, cached 38, 38, cold again 42
+Done.
+```
+
+[06GH1.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/06GH1.txt):
+
+```
+===== 06 GH1 GTE INPUTS BEFORE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops before the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 (MAC0) a 0 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) a 1 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) b 0 before: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 (MAC0) b 1 before: FFFFFFC0 FFFFFFC0
+RTPT, VXY0 (MAC1) 0 before: 00000000 00000000
+RTPT, VXY0 (MAC1) 1 before: 00000000 00000000
+RTPT, TRX (MAC1) 0 before: 00030004 00030004
+RTPT, TRX (MAC1) 1 before: 00030004 00030004
+RTPS, TRY (MAC2) 0 before: 00030004 00030004
+RTPS, TRY (MAC2) 1 before: 00030004 00030004
+RTPS, TRX (MAC1) 0 before: 00030004 00030004
+RTPS, TRX (MAC1) 1 before: 00030004 00030004
+MVMVA TR, TRY (MAC2) 0 before: 00010002 00010002
+MVMVA TR, TRY (MAC2) 1 before: 00030004 00030004
+MVMVA BK, GBK (MAC2) 0 before: 00010002 00010002
+MVMVA BK, GBK (MAC2) 1 before: 00030004 00030004
+MVMVA BK, BBK (MAC3) 0 before: 00030004 00030004
+MVMVA BK, BBK (MAC3) 1 before: 00030004 00030004
+NCS, RBK (MAC1) 0 before: 00030004 00030004
+NCS, RBK (MAC1) 1 before: 00030004 00030004
+NCS, GBK (MAC2) 0 before: 00030004 00030004
+NCS, GBK (MAC2) 1 before: 00030004 00030004
+SQR, IR3 (MAC3) 0 before: 00000010 00000010
+SQR, IR3 (MAC3) 1 before: 00000010 00000010
+OP, IR1 (MAC2) 0 before: FFFFF004 FFFFF004
+OP, IR1 (MAC2) 1 before: FFFFF004 FFFFF004
+GPF, IR2 (IR0 1000h) 0 before: 00000002 00000002
+GPF, IR2 (IR0 1000h) 1 before: 00000004 00000004
+INTPL, IR2 (MAC2) 0 before: 00000004 00000004
+INTPL, IR2 (MAC2) 1 before: 00000004 00000004
+AVSZ3, SZ2 (MAC0) 0 before: 00202000 00202000
+AVSZ3, SZ2 (MAC0) 1 before: 00204000 00204000
+AVSZ4, SZ1 (MAC0) 0 before: 00302000 00302000
+AVSZ4, SZ1 (MAC0) 1 before: 00302000 00302000
+Done.
+```
+
+[07GI1.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/07GI1.txt):
+
+```
+===== 07 GI1 GTE INPUTS AFTER 1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 a 0 after: FFFFFFC0 FFFFFFC0
+NCLIP, SXY2 a 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 a 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 0 after: FFFFFFE0 FFFFFFC0
+NCLIP, SXY2 b 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 0 after: FFFFFFE0 FFFFFFC0
+NCLIP, SXY2 c 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 2 after: FFFFFFE0 FFFFFFE0
+RTPS, DQA 9 after: 0000003F 0000003F
+RTPS, DQA 10 after: 0000003F 0000003F
+RTPS, DQA 11 after: 0000003F 0000003F
+RTPS, DQA 12 after: 0000003F 0000003F
+RTPS, OFX 3 after: 00000001 00000003
+RTPS, OFX 4 after: 00000001 00000001
+RTPS, OFX 5 after: 00000001 00000001
+RTPT, OFX (SXY2) 4 after: 00000001 00000001
+RTPT, OFX (SXY2) 8 after: 00000001 00000001
+RTPT, OFX (SXY2) 10 after: 00000001 00000001
+RTPT, OFX (SXY2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2) 16 after: 00000001 00000001
+RTPT, OFY (SXY2) 8 after: 00010000 00030000
+RTPT, OFY (SXY2) 12 after: 00010000 00010000
+RTPT, OFY (SXY2) 14 after: 00010000 00010000
+Done.
+```
+
+[08GI2.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/08GI2.txt):
+
+```
+===== 08 GI2 GTE INPUTS AFTER 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, OFY (SXY2) 16 after: 00010000 00010000
+RTPT, DQB (IR0) 8 after: 00000010 00000030
+RTPT, DQB (IR0) 12 after: 00000010 00000030
+RTPT, DQB (IR0) 14 after: 00000010 00000030
+RTPT, DQB (IR0) 16 after: 00000010 00000010
+RTPT, DQB (IR0) 18 after: 00000010 00000010
+RTPT, VXY2 (MAC1) 4 after: 00000002 00000004
+RTPT, VXY2 (MAC1) 5 after: 00000002 00000004
+RTPT, VXY2 (MAC1) 6 after: 00000002 00000002
+RTPT, VZ2 (MAC3) 3 after: 00000002 00000004
+RTPT, VZ2 (MAC3) 4 after: 00000002 00000004
+RTPT, VZ2 (MAC3) 5 after: 00000002 00000002
+CDP, RGBC 2 after: 00000040 00000040
+CDP, RGBC 3 after: 00000040 00000040
+CDP, RGBC 4 after: 00000040 00000040
+CDP, RGBC 6 after: 00000040 00000040
+CC, RGBC 2 after: 00000040 00000040
+CC, RGBC 3 after: 00000040 00000040
+CC, RGBC 4 after: 00000040 00000040
+NCDS, RGBC 6 after: 00000020 00000040
+NCDS, RGBC 7 after: 00000020 00000040
+NCDS, RGBC 8 after: 00000020 00000040
+NCCS, RGBC 6 after: 00000020 00000040
+NCCS, RGBC 7 after: 00000020 00000040
+NCCS, RGBC 8 after: 00000020 00000040
+Done.
+```
+
+[09GI3.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/09GI3.txt):
+
+```
+===== 09 GI3 GTE INPUTS AFTER 3 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+DPCS, RGBC 0 after: 00000020 00000020
+DPCS, RGBC 1 after: 00000020 00000020
+GPL, MAC1 0 after: 00030004 00030004
+GPL, MAC1 1 after: 00030004 00030004
+GPL, MAC1 2 after: 00030004 00030004
+GPL, MAC2 0 after: 00010000 00010000
+GPL, MAC2 1 after: 00030004 00030004
+GPL, MAC2 2 after: 00030004 00030004
+GPL, MAC3 0 after: 00030004 00010002
+GPL, MAC3 1 after: 00030004 00010000
+GPL, MAC3 2 after: 00030004 00030004
+NCS, RBK 0 after: 00010002 00010002
+NCS, RBK 1 after: 00010002 00010002
+NCS, VZ0 1 after: 00000002 00000002
+NCS, VZ0 2 after: 00000002 00000002
+NCT, VZ0 (MAC3) 0 after: 00000000 00000000
+NCT, VZ0 (MAC3) 2 after: 00000000 00000000
+NCT, VZ0 (MAC3) 4 after: 00000000 00000000
+NCDT, VZ2 (MAC3) 4 after: 00000001 00000001
+NCDT, VZ2 (MAC3) 6 after: 00000000 00000001
+NCDT, VZ2 (MAC3) 8 after: 00000000 00000001
+MVMVA V0, VZ0 0 after: 00000002 00000004
+MVMVA V0, VZ0 1 after: 00000002 00000004
+MVMVA V0, VZ0 2 after: 00000002 00000002
+MVMVA IR, IR3 1 after: 00000002 00000004
+Done.
+```
+
+[10GI4.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/10GI4.txt):
+
+```
+===== 10 GI4 GTE INPUTS AFTER 4 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+MVMVA IR, IR3 2 after: 00000002 00000002
+AVSZ4, SZ0 0 after: 00302000 00302000
+AVSZ4, SZ0 1 after: 00302000 00302000
+RTPT, TRZ (SZ1, vector 0) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 6 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ1, vector 0) 16 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 6 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ2, vector 1) 16 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 0 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 2 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 4 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 6 after: 0000FFFF 0000FFFF
+Done.
+```
+
+[11GI5.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/11GI5.txt):
+
+```
+===== 11 GI5 GTE INPUTS AFTER 5 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, TRZ (SZ3, vector 2) 8 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 10 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 12 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 14 after: 0000FFFF 0000FFFF
+RTPT, TRZ (SZ3, vector 2) 16 after: 0000FFFF 0000FFFF
+RTPT, OFX (SXY0, vector 0) 0 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 2 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 4 after: 00000003 00000003
+RTPT, OFX (SXY0, vector 0) 6 after: 00000001 00000003
+RTPT, OFX (SXY0, vector 0) 8 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 10 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 12 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 14 after: 00000001 00000001
+RTPT, OFX (SXY0, vector 0) 16 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 0 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 2 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 4 after: 00000003 00000003
+RTPT, OFX (SXY1, vector 1) 6 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 8 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 10 after: 00000001 00000003
+RTPT, OFX (SXY1, vector 1) 12 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 14 after: 00000001 00000001
+RTPT, OFX (SXY1, vector 1) 16 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 0 after: 00000003 00000003
+RTPT, OFX (SXY2, vector 2) 2 after: 00000003 00000003
+Done.
+```
+
+[12GI6.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/12GI6.txt):
+
+```
+===== 12 GI6 GTE INPUTS AFTER 6 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPT, OFX (SXY2, vector 2) 4 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 6 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 8 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 10 after: 00000001 00000003
+RTPT, OFX (SXY2, vector 2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2, vector 2) 16 after: 00000001 00000001
+RTPT, VZ1 (SZ2) 0 after: 00000004 00000004
+RTPT, VZ1 (SZ2) 1 after: 00000004 00000004
+RTPT, VZ1 (SZ2) 2 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 3 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 4 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 5 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 6 after: 00000002 00000002
+RTPT, VZ1 (SZ2) 8 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 2 after: 00000002 00000004
+RTPT, VZ2 (SZ3) 4 after: 00000002 00000004
+RTPT, VZ2 (SZ3) 6 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 8 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 10 after: 00000002 00000002
+RTPT, VZ2 (SZ3) 12 after: 00000002 00000002
+RTPS, DQA (IR0) 13 after: 0000003F 0000003F
+RTPS, DQA (IR0) 14 after: 0000003F 0000003F
+RTPS, DQA (IR0) 16 after: 0000003F 0000003F
+RTPS sweep, OFX (SXY2) 1 after: 00000001 00000003
+Done.
+```
+
+[13GI7.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/13GI7.txt):
+
+```
+===== 13 GI7 GTE INPUTS AFTER 7 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+RTPS sweep, OFX (SXY2) 2 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 3 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 4 after: 00000001 00000003
+RTPS sweep, OFX (SXY2) 5 after: 00000001 00000001
+RTPS sweep, OFX (SXY2) 6 after: 00000001 00000001
+RTPS sweep, OFX (SXY2) 7 after: 00000001 00000001
+RTPS sweep, OFY (SXY2) 1 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 2 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 3 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 4 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 5 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 6 after: 00010000 00010000
+RTPS sweep, OFY (SXY2) 7 after: 00010000 00010000
+RTPS sweep, DQB (IR0) 5 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 6 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 7 after: 00000010 00000030
+RTPS sweep, DQB (IR0) 8 after: 00000010 00000010
+RTPS sweep, DQB (IR0) 9 after: 00000010 00000010
+RTPS sweep, VZ0 (SZ3) 0 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 1 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 2 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 3 after: 00000002 00000002
+RTPS sweep, VZ0 (SZ3) 4 after: 00000002 00000002
+NCS sweep, RBK (MAC1) 0 after: 00030004 00030004
+NCS sweep, RBK (MAC1) 1 after: 00030004 00030004
+Done.
+```
+
+[14GI8.txt](/tests/raw/20260927T0000Z-5501a-card-2/cpu7/14GI8.txt):
+
+```
+===== 14 GI8 GTE INPUTS AFTER 8 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCS sweep, RBK (MAC1) 2 after: 00010002 00030004
+NCS sweep, RBK (MAC1) 3 after: 00010002 00010002
+NCS sweep, GBK (MAC2) 2 after: 00010002 00030004
+NCS sweep, GBK (MAC2) 3 after: 00010002 00030004
+NCS sweep, GBK (MAC2) 4 after: 00010002 00010002
+NCS sweep, GBK (MAC2) 5 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 2 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 3 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 4 after: 00010002 00010002
+NCS sweep, BBK (MAC3) 5 after: 00010002 00010002
+NCS sweep, VZ0 (MAC3) 0 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 1 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 2 after: 00000002 00000002
+NCS sweep, VZ0 (MAC3) 3 after: 00000002 00000002
+NCS sweep, VXY0 VY (MAC2) 0 after: 00000001 00000001
+NCS sweep, VXY0 VY (MAC2) 1 after: 00000001 00000001
+RTPS sweep, VXY0 VY (MAC2) 0 after: 00000001 00000003
+RTPS sweep, VXY0 VY (MAC2) 1 after: 00000001 00000001
+RTPS sweep, VXY0 VY (MAC2) 2 after: 00000001 00000001
+Done.
+```
+
+### 27 September 2026 (card-d)
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/00RUN.txt):
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+14 tests
+A chain program, linked at 80010000
+Saved on the card in slot 2, from image 1
+COP0 at start: BPC 00000000 BDA 00000000 TAR 80110944 DCIC 00000000 BadVaddr 00000400 BDAM 00000000
+BPCM 00000000 SR 40000000 Cause 00000020 EPC 801114B0 PRId 00000002
+```
+
+[01SL2.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 959
+sw, lw, nop: 1462
+sw, lw, nop, nop: 1479
+sw, lw, sw: 1879
+sw, lw, addiu, sw: 2069
+sw, lw, 2 nops, sw: 2072
+sw, lw, 3 nops, sw: 2072
+sh, lw, sh: 1875
+sb, lw, sb: 1882
+sw, lw, sw of the first word: 1878
+sw, lw, sw to RAM 2: 1870
+sw, lw, scratchpad sw: 1623
+scratchpad sw, lw, sw: 1276
+sw, sw, lw, nop: 1675
+sw, sw, lw, sw: 2093
+sw, lw, lw, sw: 2491
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 957
+GP0 sw, RAM lw, nop: 1036
+I_MASK sw, RAM lw, nop: 1036
+RAM sw, I_STAT lw, nop: 955
+RAM sw, scratchpad lw, nop: 626
+RAM sw, BIOS lw, nop: 3130
+RAM sw, I_STAT lw, RAM lw, nop: 1562
+RAM sw, scratchpad lw, RAM lw, nop: 1449
+Done.
+```
+
+[02LND.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1059
+lw, 5 nops: 1156
+lw, 6 nops: 1250
+lw, 7 nops: 1364
+lw, 5 nops, lw, nop: 1679
+lw, 6 nops, lw, nop: 1766
+lw, 7 nops, lw, nop: 1888
+lw, 6 nops, lbu, nop: 1761
+lw, 6 nops, lw of RAM 2, nop: 1763
+lw, 6 nops, lw of scratchpad, nop: 1469
+lw, 6 nops, sw, nop: 1492
+lw, 6 nops, scratchpad sw, nop: 1486
+lw, 6 nops, addu, nop: 1454
+lw, 6 nops, addu of it, nop: 1466
+lw, 6 nops, mult, nop: 1463
+lw, 5 nops, taken beq, nop, nop: 1464
+lw, 6 nops, taken beq, nop, nop: 1558
+I_STAT lw, 6 nops, lw, nop: 1652
+BIOS lw, 6 nops, lw, nop: 5660
+Done.
+```
+
+[03UN2.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/03UN2.txt):
+
+```
+===== 03 UN2 KSEG1 CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+code from KSEG1:
+the loop alone: 1885
+1 nop: 2495
+3 nops: 3715
+7 nops: 6151
+RAM lw: 2901
+RAM lw, nop: 3516
+RAM lw, 2 nops: 4124
+RAM lw, use: 3715
+I_STAT lw: 2496
+I_STAT lw, nop: 3104
+I_STAT lw, use: 3395
+BIOS lw: 4706
+BIOS lw, nop: 5289
+scratchpad lw, nop: 3104
+RAM sw: 3018
+RAM sw, nop: 3631
+RAM sw, sw: 3830
+RAM 4 sw: 5745
+RAM sw, lw, nop: 4649
+scratchpad sw: 2496
+GP0 sw: 2496
+I_MASK sw: 2496
+Done.
+```
+
+[04DEV.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/04DEV.txt):
+
+```
+===== 04 DEV LOADS BY DEVICE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+loads by device and width:
+DMA2 CHCR lw, nop: 751
+DMA2 CHCR lw, the same, nop: 1147
+DMA2 CHCR lw, nop, the same, nop: 1346
+DMA2 CHCR lw, RAM sw, nop: 961
+DICR lw, nop: 750
+DICR lw, the same, nop: 1139
+DICR lw, nop, the same, nop: 1346
+DICR lw, RAM sw, nop: 962
+MDEC status lw, nop: 750
+MDEC status lw, the same, nop: 1139
+MDEC status lw, nop, the same, nop: 1346
+MDEC status lw, RAM sw, nop: 960
+timer 0 lw, nop: 750
+timer 0 lw, the same, nop: 1139
+timer 0 lw, nop, the same, nop: 1346
+timer 0 lw, RAM sw, nop: 967
+I_STAT lhu, nop: 756
+I_STAT lhu, the same, nop: 1141
+I_STAT lbu, nop: 740
+I_STAT lbu, the same, nop: 1146
+I_STAT lbu, nop, the same, nop: 1353
+GPUSTAT lhu, nop: 741
+GPUSTAT lhu, the same, nop: 1120
+CDROM status lbu, nop: 1217
+CDROM status lbu, the same, nop: 2018
+CDROM status lbu, nop, the same, nop: 2218
+SPU voice 0 lhu, nop: 2238
+SPU voice 0 lhu, the same, nop: 4218
+SPU voice 0 lbu, nop: 2217
+SPU voice 0 lbu, the same, nop: 4218
+SPU voice 0 lbu, nop, the same, nop: 4218
+EXP1 lbu, nop: 1117
+EXP1 lbu, the same, nop: 1822
+EXP1 lbu, nop, the same, nop: 2023
+EXP1 lw, nop: 2946
+EXP1 lw, the same, nop: 5444
+EXP1 lw, nop, the same, nop: 5645
+EXP1 lw, RAM sw, nop: 3155
+BIOS lbu, nop: 1117
+BIOS lbu, the same, nop: 1818
+BIOS lbu, nop, the same, nop: 2018
+BIOS lhu, nop: 1738
+BIOS lhu, the same, nop: 3018
+scratchpad lw, nop: 550
+scratchpad lw, the same, nop: 639
+scratchpad lw, nop, the same, nop: 746
+scratchpad lw, RAM sw, nop: 651
+Done.
+```
+
+[05FL2.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/05FL2.txt):
+
+```
+===== 05 FL2 FILLS WITH ADDRESSES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+measure at 80021BE0, its lines BE on; FlushCache at 80026744
+i-cache fills, one call (timer overhead included):
+4 nops, jr at 80016650 (line 65): cold 22, cached 7, 7, cold again 22
+8 nops, jr at 80016668 (line 66): cold 38, cached 13, 13, cold again 38
+jr at word 0 at 80016698 (line 69): cold 20, cached 5, 5, cold again 20
+jr at word 1 at 800166B8 (line 6B): cold 20, cached 6, 6, cold again 20
+jr at word 2 at 800166D8 (line 6D): cold 19, cached 7, 7, cold again 19
+16 nops from word 0 at 800166F8 (line 6F): cold 56, cached 21, 21, cold again 56
+15 nops from word 1 at 800166FC (line 6F): cold 55, cached 20, 20, cold again 55
+13 nops from word 3 at 80016704 (line 70): cold 52, cached 18, 18, cold again 48
+4 nops, jr, from KSEG1 at A0016650 (line 65): cold 39, cached 38, 44, cold again 39
+Done.
+```
+
+[07GI1.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/07GI1.txt):
+
+```
+===== 07 GI1 GTE INPUTS AFTER 1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+GTE: an input written n nops after the command (old 00010002, new 00030004; cold, cached):
+NCLIP, SXY2 a 0 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 a 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 a 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 0 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 b 2 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 0 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 1 after: FFFFFFE0 FFFFFFE0
+NCLIP, SXY2 c 2 after: FFFFFFE0 FFFFFFE0
+RTPS, DQA 9 after: 0000003F 0000003F
+RTPS, DQA 10 after: 0000003F 0000003F
+RTPS, DQA 11 after: 0000003F 0000003F
+RTPS, DQA 12 after: 0000003F 0000003F
+RTPS, OFX 3 after: 00000001 00000003
+RTPS, OFX 4 after: 00000001 00000001
+RTPS, OFX 5 after: 00000001 00000001
+RTPT, OFX (SXY2) 4 after: 00000001 00000001
+RTPT, OFX (SXY2) 8 after: 00000001 00000001
+RTPT, OFX (SXY2) 10 after: 00000001 00000001
+RTPT, OFX (SXY2) 12 after: 00000001 00000001
+RTPT, OFX (SXY2) 14 after: 00000001 00000001
+RTPT, OFX (SXY2) 16 after: 00000001 00000001
+RTPT, OFY (SXY2) 8 after: 00010000 00030000
+RTPT, OFY (SXY2) 12 after: 00010000 00010000
+RTPT, OFY (SXY2) 14 after: 00010000 00010000
+Done.
+```
+
+Output files that match an earlier run: [06GH1.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/06GH1.txt) (as run 20260927T0000Z-5501a-card-1) · [08GI2.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/08GI2.txt) (as run 20260927T0000Z-5501a-card-1) · [09GI3.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/09GI3.txt) (as run 20260927T0000Z-5501a-card-1) · [10GI4.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/10GI4.txt) (as run 20260927T0000Z-5501a-card-1) · [11GI5.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/11GI5.txt) (as run 20260927T0000Z-5501a-card-1) · [12GI6.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/12GI6.txt) (as run 20260927T0000Z-5501a-card-1) · [13GI7.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/13GI7.txt) (as run 20260927T0000Z-5501a-card-1) · [14GI8.txt](/tests/raw/20260927T0000Z-5501a-card-d/cpu7/14GI8.txt) (as run 20260927T0000Z-5501a-card-1).
+
+### 27 September 2026 (card-g2)
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/00RUN.txt):
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+14 tests
+A chain program, linked at 80010000
+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 801114B0 PRId 00000002
+```
+
+[01SL2.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 962
+sw, lw, nop: 1469
+sw, lw, nop, nop: 1468
+sw, lw, sw: 1875
+sw, lw, addiu, sw: 2065
+sw, lw, 2 nops, sw: 2072
+sw, lw, 3 nops, sw: 2072
+sh, lw, sh: 1875
+sb, lw, sb: 1882
+sw, lw, sw of the first word: 1878
+sw, lw, sw to RAM 2: 1870
+sw, lw, scratchpad sw: 1623
+scratchpad sw, lw, sw: 1276
+sw, sw, lw, nop: 1675
+sw, sw, lw, sw: 2087
+sw, lw, lw, sw: 2491
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 957
+GP0 sw, RAM lw, nop: 1036
+I_MASK sw, RAM lw, nop: 1036
+RAM sw, I_STAT lw, nop: 955
+RAM sw, scratchpad lw, nop: 626
+RAM sw, BIOS lw, nop: 3130
+RAM sw, I_STAT lw, RAM lw, nop: 1562
+RAM sw, scratchpad lw, RAM lw, nop: 1449
+Done.
+```
+
+[02LND.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1059
+lw, 5 nops: 1158
+lw, 6 nops: 1250
+lw, 7 nops: 1364
+lw, 5 nops, lw, nop: 1679
+lw, 6 nops, lw, nop: 1766
+lw, 7 nops, lw, nop: 1888
+lw, 6 nops, lbu, nop: 1761
+lw, 6 nops, lw of RAM 2, nop: 1763
+lw, 6 nops, lw of scratchpad, nop: 1469
+lw, 6 nops, sw, nop: 1492
+lw, 6 nops, scratchpad sw, nop: 1486
+lw, 6 nops, addu, nop: 1454
+lw, 6 nops, addu of it, nop: 1466
+lw, 6 nops, mult, nop: 1463
+lw, 5 nops, taken beq, nop, nop: 1464
+lw, 6 nops, taken beq, nop, nop: 1558
+I_STAT lw, 6 nops, lw, nop: 1652
+BIOS lw, 6 nops, lw, nop: 5660
+Done.
+```
+
+[05FL2.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/05FL2.txt):
+
+```
+===== 05 FL2 FILLS WITH ADDRESSES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+
+measure at 80021BE0, its lines BE on; FlushCache at 80026744
+i-cache fills, one call (timer overhead included):
+4 nops, jr at 80016650 (line 65): cold 22, cached 7, 7, cold again 22
+8 nops, jr at 80016668 (line 66): cold 42, cached 13, 13, cold again 43
+jr at word 0 at 80016698 (line 69): cold 20, cached 5, 5, cold again 20
+jr at word 1 at 800166B8 (line 6B): cold 20, cached 6, 6, cold again 20
+jr at word 2 at 800166D8 (line 6D): cold 19, cached 7, 7, cold again 19
+16 nops from word 0 at 800166F8 (line 6F): cold 56, cached 21, 21, cold again 56
+15 nops from word 1 at 800166FC (line 6F): cold 55, cached 20, 20, cold again 55
+13 nops from word 3 at 80016704 (line 70): cold 52, cached 18, 18, cold again 48
+4 nops, jr, from KSEG1 at A0016650 (line 65): cold 39, cached 38, 44, cold again 39
+Done.
+```
+
+Output files that match an earlier run: [03UN2.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/03UN2.txt) (as run 20260927T0000Z-5501a-card-d) · [04DEV.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/04DEV.txt) (as run 20260927T0000Z-5501a-card-d) · [06GH1.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/06GH1.txt) (as run 20260927T0000Z-5501a-card-1) · [07GI1.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/07GI1.txt) (as run 20260927T0000Z-5501a-card-1) · [08GI2.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/08GI2.txt) (as run 20260927T0000Z-5501a-card-1) · [09GI3.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/09GI3.txt) (as run 20260927T0000Z-5501a-card-1) · [10GI4.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/10GI4.txt) (as run 20260927T0000Z-5501a-card-1) · [11GI5.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/11GI5.txt) (as run 20260927T0000Z-5501a-card-1) · [12GI6.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/12GI6.txt) (as run 20260927T0000Z-5501a-card-1) · [13GI7.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/13GI7.txt) (as run 20260927T0000Z-5501a-card-1) · [14GI8.txt](/tests/raw/20260927T0000Z-5501a-card-g2/cpu7/14GI8.txt) (as run 20260927T0000Z-5501a-card-1).
+
+### 27 September 2026 (card-g3)
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/00RUN.txt):
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+14 tests
+A chain program, linked at 80010000
+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 801114B0 PRId 00000002
+```
+
+[01SL2.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 962
+sw, lw, nop: 1469
+sw, lw, nop, nop: 1468
+sw, lw, sw: 1875
+sw, lw, addiu, sw: 2065
+sw, lw, 2 nops, sw: 2072
+sw, lw, 3 nops, sw: 2072
+sh, lw, sh: 1875
+sb, lw, sb: 1882
+sw, lw, sw of the first word: 1878
+sw, lw, sw to RAM 2: 1870
+sw, lw, scratchpad sw: 1623
+scratchpad sw, lw, sw: 1276
+sw, sw, lw, nop: 1675
+sw, sw, lw, sw: 2089
+sw, lw, lw, sw: 2490
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 955
+GP0 sw, RAM lw, nop: 1036
+I_MASK sw, RAM lw, nop: 1041
+RAM sw, I_STAT lw, nop: 964
+RAM sw, scratchpad lw, nop: 626
+RAM sw, BIOS lw, nop: 3131
+RAM sw, I_STAT lw, RAM lw, nop: 1562
+RAM sw, scratchpad lw, RAM lw, nop: 1441
+Done.
+```
+
+[02LND.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1059
+lw, 5 nops: 1156
+lw, 6 nops: 1251
+lw, 7 nops: 1362
+lw, 5 nops, lw, nop: 1683
+lw, 6 nops, lw, nop: 1768
+lw, 7 nops, lw, nop: 1883
+lw, 6 nops, lbu, nop: 1763
+lw, 6 nops, lw of RAM 2, nop: 1765
+lw, 6 nops, lw of scratchpad, nop: 1466
+lw, 6 nops, sw, nop: 1488
+lw, 6 nops, scratchpad sw, nop: 1476
+lw, 6 nops, addu, nop: 1454
+lw, 6 nops, addu of it, nop: 1478
+lw, 6 nops, mult, nop: 1463
+lw, 5 nops, taken beq, nop, nop: 1464
+lw, 6 nops, taken beq, nop, nop: 1558
+I_STAT lw, 6 nops, lw, nop: 1655
+BIOS lw, 6 nops, lw, nop: 5656
+Done.
+```
+
+[03UN2.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/03UN2.txt):
+
+```
+===== 03 UN2 KSEG1 CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+code from KSEG1:
+the loop alone: 1885
+1 nop: 2495
+3 nops: 3715
+7 nops: 6151
+RAM lw: 2901
+RAM lw, nop: 3516
+RAM lw, 2 nops: 4124
+RAM lw, use: 3715
+I_STAT lw: 2496
+I_STAT lw, nop: 3104
+I_STAT lw, use: 3395
+BIOS lw: 4706
+BIOS lw, nop: 5289
+scratchpad lw, nop: 3104
+RAM sw: 3018
+RAM sw, nop: 3631
+RAM sw, sw: 3830
+RAM 4 sw: 5745
+RAM sw, lw, nop: 4649
+scratchpad sw: 2496
+GP0 sw: 2496
+I_MASK sw: 2496
+Done.
+```
+
+[04DEV.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/04DEV.txt):
+
+```
+===== 04 DEV LOADS BY DEVICE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+loads by device and width:
+DMA2 CHCR lw, nop: 751
+DMA2 CHCR lw, the same, nop: 1147
+DMA2 CHCR lw, nop, the same, nop: 1346
+DMA2 CHCR lw, RAM sw, nop: 961
+DICR lw, nop: 750
+DICR lw, the same, nop: 1139
+DICR lw, nop, the same, nop: 1346
+DICR lw, RAM sw, nop: 962
+MDEC status lw, nop: 750
+MDEC status lw, the same, nop: 1139
+MDEC status lw, nop, the same, nop: 1346
+MDEC status lw, RAM sw, nop: 960
+timer 0 lw, nop: 750
+timer 0 lw, the same, nop: 1139
+timer 0 lw, nop, the same, nop: 1346
+timer 0 lw, RAM sw, nop: 967
+I_STAT lhu, nop: 756
+I_STAT lhu, the same, nop: 1141
+I_STAT lbu, nop: 740
+I_STAT lbu, the same, nop: 1146
+I_STAT lbu, nop, the same, nop: 1353
+GPUSTAT lhu, nop: 741
+GPUSTAT lhu, the same, nop: 1120
+CDROM status lbu, nop: 1217
+CDROM status lbu, the same, nop: 2018
+CDROM status lbu, nop, the same, nop: 2218
+SPU voice 0 lhu, nop: 2238
+SPU voice 0 lhu, the same, nop: 4218
+SPU voice 0 lbu, nop: 2217
+SPU voice 0 lbu, the same, nop: 4218
+SPU voice 0 lbu, nop, the same, nop: 4218
+EXP1 lbu, nop: 1117
+EXP1 lbu, the same, nop: 1822
+EXP1 lbu, nop, the same, nop: 2023
+EXP1 lw, nop: 2946
+EXP1 lw, the same, nop: 5444
+EXP1 lw, nop, the same, nop: 5645
+EXP1 lw, RAM sw, nop: 3155
+BIOS lbu, nop: 1117
+BIOS lbu, the same, nop: 1818
+BIOS lbu, nop, the same, nop: 2018
+BIOS lhu, nop: 1738
+BIOS lhu, the same, nop: 3018
+scratchpad lw, nop: 550
+scratchpad lw, the same, nop: 639
+scratchpad lw, nop, the same, nop: 746
+scratchpad lw, RAM sw, nop: 650
+Done.
+```
+
+[05FL2.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/05FL2.txt):
+
+```
+===== 05 FL2 FILLS WITH ADDRESSES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+measure at 80021BE0, its lines BE on; FlushCache at 80026744
+i-cache fills, one call (timer overhead included):
+4 nops, jr at 80016650 (line 65): cold 22, cached 7, 7, cold again 22
+8 nops, jr at 80016668 (line 66): cold 42, cached 13, 13, cold again 43
+jr at word 0 at 80016698 (line 69): cold 20, cached 5, 5, cold again 20
+jr at word 1 at 800166B8 (line 6B): cold 20, cached 6, 6, cold again 20
+jr at word 2 at 800166D8 (line 6D): cold 19, cached 7, 7, cold again 19
+16 nops from word 0 at 800166F8 (line 6F): cold 56, cached 21, 21, cold again 56
+15 nops from word 1 at 800166FC (line 6F): cold 55, cached 20, 20, cold again 55
+13 nops from word 3 at 80016704 (line 70): cold 52, cached 18, 18, cold again 48
+4 nops, jr, from KSEG1 at A0016650 (line 65): cold 39, cached 38, 44, cold again 39
+Done.
+```
+
+Output files that match an earlier run: [06GH1.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/06GH1.txt) (as run 20260927T0000Z-5501a-card-2) · [07GI1.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/07GI1.txt) (as run 20260927T0000Z-5501a-card-2) · [08GI2.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/08GI2.txt) (as run 20260927T0000Z-5501a-card-2) · [09GI3.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/09GI3.txt) (as run 20260927T0000Z-5501a-card-2) · [10GI4.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/10GI4.txt) (as run 20260927T0000Z-5501a-card-2) · [11GI5.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/11GI5.txt) (as run 20260927T0000Z-5501a-card-2) · [12GI6.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/12GI6.txt) (as run 20260927T0000Z-5501a-card-2) · [13GI7.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/13GI7.txt) (as run 20260927T0000Z-5501a-card-2) · [14GI8.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cpu7/14GI8.txt) (as run 20260927T0000Z-5501a-card-2).
+
+### 28 September 2026 (card-h)
+
+[01SL2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/01SL2.txt):
+
+```
+===== 01 SL2 STORE LOAD STORE 2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+a RAM store, a load, a store (RAM at $10; $11 as named):
+lw, nop: 962
+sw, lw, nop: 1468
+sw, lw, nop, nop: 1465
+sw, lw, sw: 1892
+sw, lw, addiu, sw: 2061
+sw, lw, 2 nops, sw: 2071
+sw, lw, 3 nops, sw: 2069
+sh, lw, sh: 1888
+sb, lw, sb: 1870
+sw, lw, sw of the first word: 1869
+sw, lw, sw to RAM 2: 1863
+sw, lw, scratchpad sw: 1632
+scratchpad sw, lw, sw: 1271
+sw, sw, lw, nop: 1677
+sw, sw, lw, sw: 2089
+sw, lw, lw, sw: 2494
+
+a load after a store, by where each goes:
+scratchpad sw, RAM lw, nop: 958
+GP0 sw, RAM lw, nop: 1038
+I_MASK sw, RAM lw, nop: 1036
+RAM sw, I_STAT lw, nop: 958
+RAM sw, scratchpad lw, nop: 629
+RAM sw, BIOS lw, nop: 3132
+RAM sw, I_STAT lw, RAM lw, nop: 1570
+RAM sw, scratchpad lw, RAM lw, nop: 1442
+Done.
+```
+
+[02LND.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/02LND.txt):
+
+```
+===== 02 LND LOAD LANDING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+what runs the cycle a RAM load lands (RAM lw, n nops, then the named one):
+lw, 4 nops: 1059
+lw, 5 nops: 1156
+lw, 6 nops: 1251
+lw, 7 nops: 1362
+lw, 5 nops, lw, nop: 1683
+lw, 6 nops, lw, nop: 1768
+lw, 7 nops, lw, nop: 1883
+lw, 6 nops, lbu, nop: 1763
+lw, 6 nops, lw of RAM 2, nop: 1765
+lw, 6 nops, lw of scratchpad, nop: 1466
+lw, 6 nops, sw, nop: 1488
+lw, 6 nops, scratchpad sw, nop: 1476
+lw, 6 nops, addu, nop: 1454
+lw, 6 nops, addu of it, nop: 1466
+lw, 6 nops, mult, nop: 1463
+lw, 5 nops, taken beq, nop, nop: 1464
+lw, 6 nops, taken beq, nop, nop: 1558
+I_STAT lw, 6 nops, lw, nop: 1655
+BIOS lw, 6 nops, lw, nop: 5656
+Done.
+```
+
+[03UN2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/03UN2.txt):
+
+```
+===== 03 UN2 KSEG1 CODE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+code from KSEG1:
+the loop alone: 1886
+1 nop: 2495
+3 nops: 3712
+7 nops: 6156
+RAM lw: 2905
+RAM lw, nop: 3520
+RAM lw, 2 nops: 4126
+RAM lw, use: 3715
+I_STAT lw: 2495
+I_STAT lw, nop: 3104
+I_STAT lw, use: 3402
+BIOS lw: 4711
+BIOS lw, nop: 5286
+scratchpad lw, nop: 3105
+RAM sw: 3012
+RAM sw, nop: 3628
+RAM sw, sw: 3833
+RAM 4 sw: 5766
+RAM sw, lw, nop: 4655
+scratchpad sw: 2491
+GP0 sw: 2496
+I_MASK sw: 2495
+Done.
+```
+
+[04DEV.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/04DEV.txt):
+
+```
+===== 04 DEV LOADS BY DEVICE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+
+loads by device and width:
+DMA2 CHCR lw, nop: 751
+DMA2 CHCR lw, the same, nop: 1147
+DMA2 CHCR lw, nop, the same, nop: 1346
+DMA2 CHCR lw, RAM sw, nop: 961
+DICR lw, nop: 750
+DICR lw, the same, nop: 1139
+DICR lw, nop, the same, nop: 1346
+DICR lw, RAM sw, nop: 962
+MDEC status lw, nop: 750
+MDEC status lw, the same, nop: 1139
+MDEC status lw, nop, the same, nop: 1346
+MDEC status lw, RAM sw, nop: 961
+timer 0 lw, nop: 750
+timer 0 lw, the same, nop: 1139
+timer 0 lw, nop, the same, nop: 1346
+timer 0 lw, RAM sw, nop: 967
+I_STAT lhu, nop: 756
+I_STAT lhu, the same, nop: 1141
+I_STAT lbu, nop: 740
+I_STAT lbu, the same, nop: 1146
+I_STAT lbu, nop, the same, nop: 1353
+GPUSTAT lhu, nop: 741
+GPUSTAT lhu, the same, nop: 1120
+CDROM status lbu, nop: 1217
+CDROM status lbu, the same, nop: 2018
+CDROM status lbu, nop, the same, nop: 2218
+SPU voice 0 lhu, nop: 2238
+SPU voice 0 lhu, the same, nop: 4218
+SPU voice 0 lbu, nop: 2217
+SPU voice 0 lbu, the same, nop: 4218
+SPU voice 0 lbu, nop, the same, nop: 4218
+EXP1 lbu, nop: 1117
+EXP1 lbu, the same, nop: 1822
+EXP1 lbu, nop, the same, nop: 2023
+EXP1 lw, nop: 2946
+EXP1 lw, the same, nop: 5444
+EXP1 lw, nop, the same, nop: 5645
+EXP1 lw, RAM sw, nop: 3155
+BIOS lbu, nop: 1117
+BIOS lbu, the same, nop: 1818
+BIOS lbu, nop, the same, nop: 2018
+BIOS lhu, nop: 1738
+BIOS lhu, the same, nop: 3018
+scratchpad lw, nop: 550
+scratchpad lw, the same, nop: 639
+scratchpad lw, nop, the same, nop: 746
+scratchpad lw, RAM sw, nop: 650
+Done.
+```
+
+Output files that match an earlier run: [00RUN.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/00RUN.txt) (as run 20260927T0000Z-5501a-card-g3) · [05FL2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/05FL2.txt) (as run 20260927T0000Z-5501a-card-g3) · [06GH1.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/06GH1.txt) (as run 20260927T0000Z-5501a-card-2) · [07GI1.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/07GI1.txt) (as run 20260927T0000Z-5501a-card-2) · [08GI2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/08GI2.txt) (as run 20260927T0000Z-5501a-card-2) · [09GI3.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/09GI3.txt) (as run 20260927T0000Z-5501a-card-2) · [10GI4.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/10GI4.txt) (as run 20260927T0000Z-5501a-card-2) · [11GI5.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/11GI5.txt) (as run 20260927T0000Z-5501a-card-2) · [12GI6.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/12GI6.txt) (as run 20260927T0000Z-5501a-card-2) · [13GI7.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/13GI7.txt) (as run 20260927T0000Z-5501a-card-2) · [14GI8.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/14GI8.txt) (as run 20260927T0000Z-5501a-card-2).
+
+## References
+
+[^runh]: Hardware test run 20260928T0000Z-5501a-card-h on the SCPH-5501: [00RUN.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/00RUN.txt) · [01SL2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/01SL2.txt) · [02LND.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/02LND.txt) · [03UN2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/03UN2.txt) · [04DEV.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/04DEV.txt) · [05FL2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/05FL2.txt) · [06GH1.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/06GH1.txt) · [07GI1.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/07GI1.txt) · [08GI2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/08GI2.txt) · [09GI3.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/09GI3.txt) · [10GI4.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/10GI4.txt) · [11GI5.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/11GI5.txt) · [12GI6.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/12GI6.txt) · [13GI7.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/13GI7.txt) · [14GI8.txt](/tests/raw/20260928T0000Z-5501a-card-h/cpu7/14GI8.txt).