psx.wiki

DMA Interrupt Latency and MDEC Reset: Difference between revisions

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)
Revision as of 05:18, 23 October 2026
RemmyLee
(Hardware tests: nine DMA, MDEC and BIOS test pages with part names for titles; join one-sentence paragraphs per voice.md)
Line 1:Line 1:
+---
+title: DMA Interrupt Latency and MDEC Reset
+type: test
+summary: Measures DICR interrupt latency, the upper half of I_MASK, timer 1 resets, GTE register effects, MDEC resets and FIFOs, and SPU DMA cost.
+category: Hardware tests
+info: Machine = SCPH-5501
+info: Program = followup2
+---
+
+## Overview
+
+The program asks what the first follow-up left open, one group per question. Root counter 2 at 33.8688 MHz is the stopwatch, and each group puts the timers and I_MASK back when it ends. SMR, SMF and SDS each hold a step that could stop the console. They run last and save the log before that step.[^run]
+
+Table: Groups
+
+| Tag | Group |
+| --- | --- |
+| SDI | DICR forced, then I_STAT bit 3 and CAUSE.IP2 polled in a loop and in back-to-back loads |
+| SIM | Twelve store-then-load rows on I_MASK, each changing one thing between the store and the load |
+| STH | Timer 1 in sync mode 1 sampled every 50 cycles from 47,000 to 54,000 cycles after the vertical blank interrupt |
+| SG1 to SG8 | 33 GTE opcodes on 25 single-input cases at sf 1 and sf 0 |
+| SMS | MDEC decodes of count 1 and 2 after different earlier decodes |
+| SSD | The SPU write FIFO draining to sound RAM after DMA and after manual writes |
+| SMR | MDEC reset timing and the enables written after a reset |
+| SMF | MDEC input FIFO filled with 34 words |
+| SDS | DMA4 to the SPU by block size, and in sync mode 0 |
+
+## Results
+
+### DMA Interrupt Latency
+
+After DICR was written 00008000h, a loop of one I_STAT load a turn found bit 3 set on its second turn in all three runs. Of eight back-to-back I_STAT loads the first two read 0 and the third read 1.[^run]
+
+CAUSE.IP2 followed later. With I_MASK 00000008h, eight back-to-back MFC0 reads of CAUSE showed IP2 only on the eighth. A loop of one MFC0 a turn found it on the second turn.[^run]
+
+### I_MASK Upper Half
+
+The low 11 bits of I_MASK read back as stored. The upper 16 bits changed with what the CPU did between the store and the load.[^run]
+
+Run from uncached code, every row read 03E0h in the upper half. Run from the cache a second time, a row with nothing between the store and the load read 1234h, which is the upper half of the value stored, and a row with a RAM load of 5AA5C33Ch between them read 5AA5h. Rows with a load of the BIOS, GPUSTAT, the scratchpad, I_STAT or timer 2 between them read 27BDh.[^run]
+
+### Timer 1 Sync Mode 1
+
+On horizontal blank, timer 1 stepped from 21 to 22 at about 47,100 cycles after the vertical blank interrupt, to 23 at about 49,250 and to 24 at about 51,450. It reset to 0 between 51,921 and 51,977 cycles in all four runs.[^run] On the 33.8688 MHz clock timer 1 dropped from 49,374 to 13 between 49,374 and 49,425 cycles after the interrupt.[^run]
+
+### GTE
+
+Groups SG1 to SG8 print, for each opcode and input case, the registers the command changed at sf 1 and FLAG. They then list the registers where sf 0 gave a different value. Those tables are in the output.[^run]
+
+### MDEC Short Decodes
+
+An 8-bit decode with a count of 1 straight after the tables gave 992 output words. After a 32-word decode of pattern A or pattern B it gave 496 words, and the words differed between the two patterns. A count of 2 gave 480 words in all three cases.[^run]
+
+### SPU Write FIFO
+
+After a 16-word DMA block, 9 of the 32 halfwords had reached sound RAM when the DMA ended. All 32 were written 750 cycles after the DMA ended.[^run]
+
+After 16 halfwords written by hand and a store of SPUCNT Manual Write, all 32 halfwords were written at once and at every wait from 100 to 900 cycles. A wait of 50 cycles left all 32 halfwords holding other values. SPUSTAT read 0000h until 185 cycles after the store and 0410h from 218 cycles on.[^run]
+
+### MDEC Reset
+
+From a 15-bit decode with the input full, a status read straight after the reset gave E60400C0h cold and E6040040h warm. With 10 NOPs or more between the reset and the read, the status was 80040000h.[^run]
+
+Writing 60000000h to MDEC1 at once after a reset did not take: the status read 60000000h, a later MDEC0 command left A004000Fh and DMA0 timed out. With 10 NOPs or more between the reset and the write, the command left B004000Fh and DMA0 moved its 16 words in 84 to 94 cycles.[^run]
+
+### MDEC Input FIFO
+
+After the command 38000100h each word written lowered the count in the status by one. The status went from B60400FFh to B60400E0h at the 31st word. The 32nd word set bit 30 and the status read E60400DFh. The 33rd and 34th words left the status the same.[^run] The 32 words then read out were all zero, about 60 cycles apart, and the status ended at B60100DFh.[^run]
+
+### DMA4 Cost
+
+A 256-word DMA4 write in sync mode 1 took 16,293 to 18,095 cycles in blocks of 1 to 16 words and about 8,150 cycles in blocks of 31 or 32 words. Blocks of 24 words took about 10,400 cycles.[^run]
+
+In sync mode 0 the same 256 words took 1,116 to 1,171 cycles. Afterwards MADR was unchanged, BCR still read 00000100h and CHCR read 00000001h.[^run]
+
+## Runs
+
+### 27 September 2026
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/00RUN.txt)
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+16 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 80016128 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
+BPCM 00000000 SR 00000000 Cause 00000020 EPC 80016C84 PRId 00000002
+```
+
+[01SDI.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/01SDI.txt)
+
+```
+===== 01 SDI F2 DICR POLL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+DICR written with timer 2 zeroed just before it. Interrupts off (SR IEc 0) throughout.
+DICR 0 is the scale: its loop runs all 300 turns, so timer 2 over 300 gives one turn.
+I_STAT bit 3, a loop of one I_STAT load a turn (lw, addiu, andi, sltiu, sltu, and, bnez, nop):
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 3606
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+I_STAT bit 3, eight I_STAT loads back to back:
+ DICR 00000000: I_STAT bit 3 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 42
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+CAUSE.IP2, a loop of one mfc0 CAUSE a turn (the same loop), I_MASK 00000008:
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 2408
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+CAUSE.IP2, eight mfc0 CAUSE back to back, I_MASK 00000008:
+ DICR 00000000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 17
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+DICR was 04000000 and is back to 0, then its enables.
+Done.
+```
+
+[02SIM.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/02SIM.txt)
+
+```
+===== 02 SIM F2 IMASK UPPER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+I_MASK's upper half. Each row stores to I_MASK and loads it back; the value is
+12345678h unless the row says otherwise. Interrupts off. The RAM word is 5AA5C33Ch, the
+BIOS word at BFC00100h is its date, the scratchpad word is written 7EE71234h first.
+a: sw $9,1074h($8) (AD091074h), lw (code at 80106030): cached 00400678 then 12340678, uncached 03E00678
+b: sw $10,1074h($8) (AD0A1074h), lw (code at 80106050): cached 35290678 then 12340678, uncached 03E00678
+c: sw $9,4($11) (AD690004h), lw (code at 80106074): cached 34090678 then 12340678, uncached 03E00678
+d: value 0000FFFFh, sw $9,1074h($8), lw (code at 80106098): cached 3C0907FF then 000007FF, uncached 03E007FF
+e: sw, lw of RAM, nop, lw (code at 801060B4): cached 5AA50678 then 5AA50678, uncached 03E00678
+f: sw, lw of BIOS BFC00100h, nop, lw (code at 801060E4): cached 00000678 then 27BD0678, uncached 03E00678
+g: sw, lw of GPUSTAT, nop, lw (code at 80106110): cached 3C090678 then 27BD0678, uncached 03E00678
+h: sw, lw of scratchpad, nop, lw (code at 80106138): cached 00000678 then 27BD0678, uncached 03E00678
+i: sw, lw of I_STAT, nop, lw (code at 80106160): cached 3C080678 then 27BD0678, uncached 03E00678
+j: lw of RAM, nop, sw, lw (code at 80106188): cached 3C090678 then 12340678, uncached 03E00678
+k: sw, 4 nops, lw (code at 801061B8): cached 3C090678 then 27BD0678, uncached 03E00678
+l: sw, lw of timer 2's counter, nop, lw (code at 801061E8): cached 00000678 then 27BD0678, uncached 03E00678
+GPUSTAT now 5606200F. I_MASK back to 00000009.
+Done.
+```
+
+[03STH.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/03STH.txt)
+
+```
+===== 03 STH F2 T1 HBLANK SYNC1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+Timer1 sync mode 1 (reset at vblank), set at the vblank IRQ (I_STAT bit 0, polled);
+timer 2 counts system cycles from then. Each sample is timer 2 then timer 1 (t:v).
+Hblank clock (mode 0103h), run 1, every sample (141):
+ 47033:21 47073:21 47124:22 47175:22 47226:22 47277:22 47319:22 47370:22
+ 47421:22 47472:22 47523:22 47574:22 47625:22 47676:22 47727:22 47769:22
+ 47820:22 47871:22 47922:22 47973:22 48024:22 48075:22 48126:22 48177:22
+ 48229:22 48271:22 48322:22 48373:22 48424:22 48485:22 48527:22 48569:22
+ 48620:22 48671:22 48722:22 48769:22 48820:22 48871:22 48922:22 48973:22
+ 49024:22 49075:22 49126:22 49177:22 49219:22 49270:23 49321:23 49372:23
+ 49423:23 49474:23 49525:23 49576:23 49627:23 49669:23 49720:23 49771:23
+ 49822:23 49873:23 49924:23 49975:23 50026:23 50077:23 50119:23 50170:23
+ 50221:23 50274:23 50325:23 50376:23 50427:23 50469:23 50520:23 50571:23
+ 50622:23 50673:23 50724:23 50775:23 50826:23 50877:23 50919:23 50970:23
+ 51021:23 51072:23 51123:23 51174:23 51225:23 51276:23 51327:23 51369:23
+ 51420:23 51471:24 51522:24 51573:24 51624:24 51675:24 51726:24 51777:24
+ 51819:24 51870:24 51921:24 51972:0 52023:0 52074:0 52125:0 52176:0
+ 52227:0 52269:0 52322:0 52373:0 52424:0 52475:0 52526:0 52578:0
+ 52620:0 52671:0 52722:0 52773:0 52824:0 52875:0 52926:0 52977:0
+ 53019:0 53070:0 53121:0 53172:0 53223:0 53274:0 53325:0 53376:0
+ 53427:0 53469:0 53520:0 53571:0 53622:0 53673:0 53724:0 53775:0
+ 53826:0 53877:0 53919:0 53970:0 54021:0
+Hblank clock (mode 0103h), run 1, 141 samples; where timer 1 changes: 47073:21->47124:22 49219:22->49270:23 51420:23->51471:24 51921:24->51972:0
+Hblank clock (mode 0103h), run 2, 141 samples; where timer 1 changes: 47124:21->47175:22 49276:22->49327:23 51426:23->51477:24 51927:24->51969:0
+Hblank clock (mode 0103h), run 3, 141 samples; where timer 1 changes: 47124:21->47175:22 49274:22->49325:23 51425:23->51476:24 51926:24->51977:0
+Hblank clock (mode 0103h), run 4, 141 samples; where timer 1 changes: 47076:21->47127:22 49222:22->49273:23 51372:23->51423:24 51924:24->51975:0
+System clock (mode 0003h), 141 samples; where timer 1 drops: 49374:49374->49425:13; last sample 54021:4609
+Done.
+```
+
+[04SG1.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/04SG1.txt)
+
+```
+===== 04 SG1 F2 GTE 02 TO 07 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 02:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=100 10=200 19=100 25=100 26=200 28=82 F=0 | 9=7fff 10=7fff 25=100000 26=200000 28=3ff 63=81800000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=120 10=250 19=80 25=120 26=250 F=0 | 9=7fff 10=7fff 25=120000 26=250000 28=27ff 63=81800000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 03:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=250 14=3ff025f 26=250 F=80022000 | 10=7fff 26=250000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 04:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 07:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffff600 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 24=120
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+Done.
+```
+
+[05SG2.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/05SG2.txt)
+
+```
+===== 05 SG2 F2 GTE 08 TO 17 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 08:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffff200 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 09:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 10=130 11=fffffed0 26=130 27=fffffed0 28=40 F=0 | 10=7fff 11=ffff8000 26=130000 27=ffed0000 28=3e0 63=80c00000
+ IR2: 9=fffffda0 10=0 11=260 25=fffffda0 27=260 28=1000 F=0 | 9=ffff8000 11=7fff 25=ffda0000 27=260000 28=7c00 63=81400000
+ IR3: 10=fffffb40 11=0 26=fffffb40 28=0 F=0 | 10=ffff8000 26=ffb40000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 9=120 25=120 28=2
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=fffffe84 10=fffffe5e 11=85 25=fffffe84 26=fffffe5e 27=85 28=400 F=0 | 9=ffff8000 10=ffff8000 11=7fff 25=ffe84000 26=ffe5e000 27=85000 28=7c00 63=81c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 0E:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 10=260 11=fffffed0 26=260 27=fffffed0 28=82 F=0 | 10=7fff 11=ffff8000 26=8130000 27=ffed0000 28=3e2 63=80c00000
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 10=fffff680 11=0 26=fffff680 28=0 F=0 | 10=ffff8000 26=ff680000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 11=120 27=120 28=800
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 10=fffffc53 11=ffffff55 26=fffffc53 27=ffffff55 28=2 F=0 | 10=7fff 11=ffff8000 26=3bfe000 27=fff55000 28=3e2 63=80c00000
+ LLMxV: 10=0 11=0 28=2 F=0 | =
+ LCMxV: 10=0 11=0 28=2 F=0 | =
+op 15:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 17:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | 63=81000000
+ IR2: 10=0 28=0 F=0 | 63=80800000
+ IR3: 11=0 28=0 F=0 | 63=400000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | 63=81c00000
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | 63=81c00000
+Done.
+```
+
+[06SG3.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/06SG3.txt)
+
+```
+===== 06 SG3 F2 GTE 18 TO 1F | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 18:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 19:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+Done.
+```
+
+[07SG4.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/07SG4.txt)
+
+```
+===== 07 SG4 F2 GTE 21 TO 23 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 21:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442211 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 22:
+ zero: 20=ff F=0 | 20=0
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 20=13 22=ff 25=130000 28=1f 63=81200000
+ IR2: 20=ff 22=2600 26=260 F=0 | 10=7fff 20=0 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442200 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffff11 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: 20=ff F=0 | 20=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 20=16 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 23:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=440000 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ff0000 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+Done.
+```
+
+[08SG5.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/08SG5.txt)
+
+```
+===== 08 SG5 F2 GTE 24 TO 27 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 24:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 25:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 26:
+ zero: 22=ff F=0 | =
+ unit: 22=ff F=0 | =
+ V0: 22=ff F=0 | =
+ V1: 22=ff F=0 | =
+ V2: 22=ff F=0 | =
+ IR0: 22=ff F=0 | =
+ IR1: 22=ff F=0 | =
+ IR2: 22=26ff 26=260 F=0 | 10=7fff 22=ffff 26=260000 28=3e0 63=80900000
+ IR3: 22=4c00ff 27=4c0 F=0 | 11=7fff 22=ff00ff 27=4c0000 28=7c00 63=480000
+ RGBC: 22=400000ff F=0 | =
+ SXY: 22=ff F=0 | =
+ SZ: 22=ff F=0 | =
+ MAC0: 22=ff F=0 | =
+ TR: 22=ff F=0 | =
+ BK: 10=220 11=440 22=4422ff 26=220 27=440 28=2080 F=0 | 10=7fff 11=7fff 22=ffffff 26=220000 27=440000 28=7fe0 63=80d80000
+ FC: 22=ff F=0 | =
+ OF: 22=ff F=0 | =
+ H: 22=ff F=0 | =
+ DQA: 22=ff F=0 | =
+ DQB: 22=ff F=0 | =
+ ZSF3: 22=ff F=0 | =
+ ZSF4: 22=ff F=0 | =
+ RTxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LLMxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LCMxV: 10=2cf 11=44b 22=442cff 26=2cf 27=44b 28=20a2 F=0 | 10=7fff 11=7fff 22=ffffff 26=2cfa00 27=44ba00 28=7fe2 63=80d80000
+op 27:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 11=440 22=440000 27=440 28=2000 F=0 | 11=7fff 22=ff0000 27=440000 28=7c00 63=480000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 11=0 28=82 F=0 | =
+ LLMxV: 11=0 28=82 F=0 | =
+ LCMxV: 11=44b 22=440000 27=44b 28=2082 F=0 | 11=7fff 22=ff0000 27=44ba00 28=7c82 63=480000
+Done.
+```
+
+[09SG6.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/09SG6.txt)
+
+```
+===== 09 SG6 F2 GTE 2B TO 34 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 2B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2C:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: 20=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 2F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=7fff 22=ff 25=130000 28=1f F=81200000 | =
+ IR2: 10=7fff 22=ff00 26=260000 28=3e0 F=80900000 | =
+ IR3: 11=7fff 22=ff0000 27=4c0000 28=7c00 F=480000 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff F=81f80000 | =
+op 34:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 11=480 19=480 25=120 26=240 27=480 28=2482 F=80020000 | 9=7fff 10=7fff 11=7fff 25=120000 26=240000 27=480000 28=7fff 63=81820000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 11=400 13=3ff01ff 19=400 25=100 26=200 27=400 28=2082 F=80020000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=100000 26=200000 27=400000 28=7fff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 11=402 13=3ff0263 19=402 25=144 26=29a 27=402 28=20a2 F=80022000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=144000 26=29a000 27=402000 28=7fff 63=81836000
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+Done.
+```
+
+[10SG7.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/10SG7.txt)
+
+```
+===== 10 SG7 F2 GTE 35 TO 37 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 35:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f 19=220 F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff01ff 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 13=3ff03ff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0263 19=110 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 13=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 36:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff0000 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0000 14=3ff0287 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 37:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 13=3ff0000 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 13=3ff0000 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+Done.
+```
+
+[11SG8.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/11SG8.txt)
+
+```
+===== 11 SG8 F2 GTE 38 TO 3B | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 38:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: F=80020000 | =
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 39:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=0 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=600050 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+Done.
+```
+
+[12SMS.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/12SMS.txt)
+
+```
+===== 12 SMS F2 MDEC SHORT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+Short decodes by CPU at 8 bit (depth 1), unsigned, the 4bit/8bit block's tables
+(kBlkQuant, kBlkScale). Pattern words: FE00h end code over a DC halfword, q_scale 1;
+A has DC 16*i-256 in word i (i = 0 to 31), B has DC 240-16*i. At most 256 words shown.
+No pattern (the tables were the last words in), then count 1, 1 words written: 992 words out, CRC CE4D9FAA, status 8204FFFF
+ 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F
+ 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 1, 1 words written: 496 words out, CRC 3410B6D8, status 8204FFFF
+ 32414C52 02081422 69788389 393F4A59 B6C5D0D6 868C97A6 ECFBFFFF BCC2CEDC
+ ECFBFFFF BCC2CEDC B6C5D0D6 868C97A6 69788389 393F4A59 32414C52 02081422
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 1, 1 words written: 496 words out, CRC A468B6F1, status 8204FFFF
+ E6F5FFFF B6BCC7D6 B3C2CDD3 838995A3 6B7A858C 3B414D5B 39475359 080F1A29
+ 39475359 080F1A29 6B7A858C 3B414D5B B3C2CDD3 838995A3 E6F5FFFF B6BCC7D6
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+No pattern (the tables were the last words in), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 2, 2 words written: 480 words out, CRC 5D6A404E, status 8204FFFF
+ FDD99D70 2059ACEE FFE8AB7F 2E67BBFC FFF9BC8F 3F78CBFF FFF9BD90 4079CCFF
+ FFDFA376 265FB2F3 D3AF7245 002E81C3 9D793C10 00004C8D 7B561A00 0000296B
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Done.
+```
+
+[13SSD.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/13SSD.txt)
+
+```
+===== 13 SSD F2 SPU DRAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+SPU write FIFO drain to scratch at 30000h (32 halfwords filled EEEEh first), SPUCNT
+transfer mode Stop after the wait, then all 32 read back by DMA. Pattern B000h + i.
+By DMA, 16 words in one block; the wait counted from the DMA's end:
+ DMA, wait 0: 9 written, 0 EEEEh, 12 5555h, 11 other (first AAAA) wwwwwwwww?55??55??55??55??55??55
+ DMA, wait 50: 10 written, 0 EEEEh, 12 5555h, 10 other (first AAAA) wwwwwwwwww55??55??55??55??55??55
+ DMA, wait 100: 10 written, 0 EEEEh, 12 5555h, 10 other (first AAAA) wwwwwwwwww55??55??55??55??55??55
+ DMA, wait 150: 11 written, 0 EEEEh, 11 5555h, 10 other (first AAAA) wwwwwwwwwww5??55??55??55??55??55
+ DMA, wait 200: 11 written, 0 EEEEh, 11 5555h, 10 other (first AAAA) wwwwwwwwwww5??55??55??55??55??55
+ DMA, wait 250: 11 written, 0 EEEEh, 11 5555h, 10 other (first AAAA) wwwwwwwwwww5??55??55??55??55??55
+ DMA, wait 300: 14 written, 0 EEEEh, 10 5555h, 8 other (first AAAA) wwwwwwwwwwwwww55??55??55??55??55
+ DMA, wait 350: 15 written, 0 EEEEh, 9 5555h, 8 other (first AAAA) wwwwwwwwwwwwwww5??55??55??55??55
+ DMA, wait 400: 19 written, 0 EEEEh, 7 5555h, 6 other (first AAAA) wwwwwwwwwwwwwwwwwww5??55??55??55
+ DMA, wait 450: 19 written, 0 EEEEh, 7 5555h, 6 other (first AAAA) wwwwwwwwwwwwwwwwwww5??55??55??55
+ DMA, wait 500: 23 written, 0 EEEEh, 5 5555h, 4 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwww5??55??55
+ DMA, wait 550: 25 written, 0 EEEEh, 4 5555h, 3 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwwwww?55??55
+ DMA, wait 600: 27 written, 0 EEEEh, 3 5555h, 2 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwwwwwww5??55
+ DMA, wait 650: 28 written, 0 EEEEh, 2 5555h, 2 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwwwwwwww??55
+ DMA, wait 700: 31 written, 0 EEEEh, 1 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww5
+ DMA, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+By hand, 16 halfwords (B000h-B00Fh) to the FIFO, then Manual Write; the wait counted
+from the SPUCNT store:
+ manual, wait 0: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 50: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 100: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 150: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 200: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 250: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 300: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 350: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 400: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 450: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 500: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 550: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 600: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 650: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 700: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ SPUSTAT after the Manual Write store, status@timer 2:
+ 0000@53 0000@86 0000@119 0000@152 0000@185 0410@218 0410@257 0410@290
+ 0410@323 0410@356 0410@389 0410@422 0410@455 0410@488 0410@521 0410@554
+ 0410@587 0410@620 0410@653 0410@686 0410@719 0410@752 0410@785 0410@818
+ manual, wait 3000: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+Done.
+```
+
+[14SMR.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/14SMR.txt)
+
+```
+===== 14 SMR F2 MDEC RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+MDEC reset. Each row starts from a 15 bit decode with the input full (status read just
+before, shown once), writes timer 2's mode, MDEC1 80000000h, then N nops, then reads
+MDEC1 and timer 2. Run twice from the same state: cold, then warm. status@timer 2.
+Status before the reset: E60400DF
+ 0 nops: cold E60400C0@13, warm E6040040@6
+ 10 nops: cold 80040000@29, warm 80040000@14
+ 20 nops: cold 80040000@56, warm 80040000@24
+ 30 nops: cold 80040000@74, warm 80040000@34
+ 40 nops: cold 80040000@107, warm 80040000@44
+ 50 nops: cold 80040000@123, warm 80040000@54
+ 60 nops: cold 80040000@149, warm 80040000@64
+ 70 nops: cold 80040000@168, warm 80040000@74
+ 80 nops: cold 80040000@195, warm 80040000@84
+ 90 nops: cold 80040000@213, warm 80040000@154
+100 nops: cold 80040000@241, warm 80040000@104
+110 nops: cold 80040000@258, warm 80040000@178
+120 nops: cold 80040000@285, warm 80040000@134
+130 nops: cold 80040000@303, warm 80040000@134
+140 nops: cold 80040000@330, warm 80040000@144
+150 nops: cold 80040000@348, warm 80040000@154
+160 nops: cold 80040000@377, warm 80040000@200
+170 nops: cold 80040000@393, warm 80040000@204
+180 nops: cold 80040000@424, warm 80040000@235
+190 nops: cold 80040000@442, warm 80040000@194
+200 nops: cold 80040000@469, warm 80040000@204
+Enables after a reset. From idle (a reset 2000 cycles before): MDEC1 80000000h, N nops,
+MDEC1 60000000h, then MDEC1 and timer 2 read at once (status@timer 2); the status again
+2000 cycles on; MDEC0 40000000h (luminance quant table) and the status; its 16 words by
+DMA0 (cycles, or timeout after 200000 polls) and the status after. Run cold, then warm.
+Enables rows, each with a DMA0 that times out if the enables were lost:
+ Control, 60000000h 2000 cycles after the reset: 80040000, later 80040000, after the command B004000F, DMA0 90, then 8004FFFF
+ Control, 00000000h (enables off) 2000 cycles after the reset: 80040000, later 80040000, after the command A004000F, DMA0 timeout, then A004000F
+ 0 nops, cold: 60000000@15, later 80040000, after the command A004000F, DMA0 timeout, then A004000F
+ 0 nops, warm: 60000000@8, later 80040000, after the command A004000F, DMA0 timeout, then A004000F
+ 10 nops, cold: 80040000@31, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+ 10 nops, warm: 80040000@16, later 80040000, after the command B004000F, DMA0 94, then 8004FFFF
+ 20 nops, cold: 80040000@58, later 80040000, after the command B004000F, DMA0 89, then 8004FFFF
+ 20 nops, warm: 80040000@42, later 80040000, after the command B004000F, DMA0 94, then 8004FFFF
+ 40 nops, cold: 80040000@101, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+ 40 nops, warm: 80040000@46, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+ 80 nops, cold: 80040000@196, later 80040000, after the command B004000F, DMA0 88, then 8004FFFF
+ 80 nops, warm: 80040000@198, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+Done.
+```
+
+[15SMF.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/15SMF.txt)
+
+```
+===== 15 SMF F2 MDEC FIFO | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+MDEC input FIFO: the step stream's tables, MDEC1 60000000h, timer 2 zeroed, MDEC0
+38000100h (15 bit, count 256), then words 1 to 34 with no reads, each followed by an
+MDEC1 load and a timer 2 load (status@timer 2). Words 33 and 34 go to a full FIFO.
+The 34 words, then the reads:
+ After the command: B60400FF@6
+ w1 B60400FE@63, w2 B60400FD@94, w3 B60400FC@125, w4 B60400FB@156
+ w5 B60400FA@187, w6 B60400F9@218, w7 B60400F8@249, w8 B60400F7@280
+ w9 B60400F6@311, w10 B60400F5@342, w11 B60400F4@373, w12 B60400F3@404
+ w13 B60400F2@441, w14 B60400F1@472, w15 B60400F0@503, w16 B60400EF@534
+ w17 B60400EE@565, w18 B60400ED@596, w19 B60400EC@627, w20 B60400EB@658
+ w21 B60400EA@689, w22 B60400E9@722, w23 B60400E8@753, w24 B60400E7@784
+ w25 B60400E6@815, w26 B60400E5@846, w27 B60400E4@877, w28 B60400E3@908
+ w29 B60400E2@939, w30 B60400E1@975, w31 B60400E0@1006, w32 E60400DF@1037
+ w33 E60400DF@1068, w34 E60400DF@1099
+ 32 words read out (value, status after the read @ cycles from the first read); status at the end B60100DF:
+ 00000000 360000DF@1478, 00000000 360000DF@1561, 00000000 360000DF@1621, 00000000 360000DF@1681
+ 00000000 360000DF@1741, 00000000 3E0100DF@1801, 00000000 360100DF@1864, 00000000 360100DF@1924
+ 00000000 360100DF@1984, 00000000 360100DF@2044, 00000000 360100DF@2104, 00000000 360100DF@2164
+ 00000000 360100DF@2224, 00000000 360100DF@2284, 00000000 360100DF@2344, 00000000 360100DF@2408
+ 00000000 360100DF@2468, 00000000 360100DF@2528, 00000000 360100DF@2588, 00000000 360100DF@2648
+ 00000000 360100DF@2708, 00000000 360100DF@2768, 00000000 360100DF@2828, 00000000 360100DF@2889
+ 00000000 360100DF@2949, 00000000 360100DF@3009, 00000000 360100DF@3069, 00000000 360100DF@3129
+ 00000000 360100DF@3189, 00000000 360100DF@3249, 00000000 360100DF@3309, 00000000 B60100DF@3369
+Done.
+```
+
+[16SDS.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/16SDS.txt)
+
+```
+===== 16 SDS F2 DMA SPU COST | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+DMA4 SPU write, SyncMode 1, to 30000h, delay register 1F801014h = 200931E1h (it was
+200931E1). Cycles from the CHCR write until bit 24 clears, three times each.
+Blocks of 1 words x 256 (256 words): 16341 16337 16333
+Blocks of 2 words x 128 (256 words): 16297 16296 16293
+Blocks of 3 words x 85 (255 words): 16918 16910 16910
+Blocks of 4 words x 64 (256 words): 18093 18056 18095
+Blocks of 5 words x 51 (255 words): 17594 17598 17598
+Blocks of 6 words x 42 (252 words): 17012 16999 16999
+Blocks of 8 words x 32 (256 words): 17104 17053 17091
+Blocks of 12 words x 21 (252 words): 15806 15819 15819
+Blocks of 16 words x 16 (256 words): 16859 16872 16904
+Blocks of 24 words x 10 (240 words): 10376 10411 10371
+Blocks of 31 words x 8 (248 words): 8175 8174 8174
+Blocks of 32 words x 8 (256 words): 8149 8178 8178
+SyncMode 0, which the CPU cannot poll during:
+ SyncMode 0, 256 words (BCR 00000100h, CHCR 01000001h): 1171 1116 1116; MADR then start+0, BCR 00000100, CHCR 00000001
+Done.
+```
+
+### 27 September 2026 run 2
+
+[14SMR.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s003/14SMR.txt)
+
+```
+===== 14 SMR F2 MDEC RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+MDEC reset. Each row starts from a 15 bit decode with the input full (status read just
+before, shown once), writes timer 2's mode, MDEC1 80000000h, then N nops, then reads
+MDEC1 and timer 2. Run twice from the same state: cold, then warm. status@timer 2.
+Status before the reset: E60400DF
+ 0 nops: cold E60400C0@13, warm E6040040@6
+ 10 nops: cold 80040000@29, warm 80040000@14
+ 20 nops: cold 80040000@56, warm 80040000@24
+ 30 nops: cold 80040000@74, warm 80040000@34
+ 40 nops: cold 80040000@107, warm 80040000@44
+ 50 nops: cold 80040000@123, warm 80040000@54
+ 60 nops: cold 80040000@149, warm 80040000@64
+ 70 nops: cold 80040000@168, warm 80040000@74
+ 80 nops: cold 80040000@195, warm 80040000@84
+ 90 nops: cold 80040000@213, warm 80040000@154
+100 nops: cold 80040000@241, warm 80040000@104
+110 nops: cold 80040000@258, warm 80040000@178
+120 nops: cold 80040000@285, warm 80040000@134
+130 nops: cold 80040000@303, warm 80040000@134
+140 nops: cold 80040000@330, warm 80040000@144
+150 nops: cold 80040000@348, warm 80040000@154
+160 nops: cold 80040000@377, warm 80040000@200
+170 nops: cold 80040000@393, warm 80040000@204
+180 nops: cold 80040000@424, warm 80040000@235
+190 nops: cold 80040000@442, warm 80040000@194
+200 nops: cold 80040000@469, warm 80040000@204
+Enables after a reset. From idle (a reset 2000 cycles before): MDEC1 80000000h, N nops,
+MDEC1 60000000h, then MDEC1 and timer 2 read at once (status@timer 2); the status again
+2000 cycles on; MDEC0 40000000h (luminance quant table) and the status; its 16 words by
+DMA0 (cycles, or timeout after 200000 polls) and the status after. Run cold, then warm.
+Enables rows, each with a DMA0 that times out if the enables were lost:
+ Control, 60000000h 2000 cycles after the reset: 80040000, later 80040000, after the command B004000F, DMA0 90, then 8004FFFF
+ Control, 00000000h (enables off) 2000 cycles after the reset: 80040000, later 80040000, after the command A004000F, DMA0 timeout, then A004000F
+ 0 nops, cold: 60000000@15, later 80040000, after the command A004000F, DMA0 timeout, then A004000F
+ 0 nops, warm: 60000000@8, later 80040000, after the command A004000F, DMA0 timeout, then A004000F
+ 10 nops, cold: 80040000@31, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+ 10 nops, warm: 80040000@16, later 80040000, after the command B004000F, DMA0 94, then 8004FFFF
+ 20 nops, cold: 80040000@58, later 80040000, after the command B004000F, DMA0 89, then 8004FFFF
+ 20 nops, warm: 80040000@42, later 80040000, after the command B004000F, DMA0 94, then 8004FFFF
+ 40 nops, cold: 80040000@101, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+ 40 nops, warm: 80040000@46, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+ 80 nops, cold: 80040000@196, later 80040000, after the command B004000F, DMA0 88, then 8004FFFF
+ 80 nops, warm: 80040000@198, later 80040000, after the command B004000F, DMA0 84, then 8004FFFF
+Done.
+```
+
+[15SMF.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s003/15SMF.txt)
+
+```
+===== 15 SMF F2 MDEC FIFO | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+MDEC input FIFO: the step stream's tables, MDEC1 60000000h, timer 2 zeroed, MDEC0
+38000100h (15 bit, count 256), then words 1 to 34 with no reads, each followed by an
+MDEC1 load and a timer 2 load (status@timer 2). Words 33 and 34 go to a full FIFO.
+The 34 words, then the reads:
+ After the command: B60400FF@6
+ w1 B60400FE@63, w2 B60400FD@94, w3 B60400FC@125, w4 B60400FB@156
+ w5 B60400FA@187, w6 B60400F9@218, w7 B60400F8@249, w8 B60400F7@280
+ w9 B60400F6@311, w10 B60400F5@342, w11 B60400F4@373, w12 B60400F3@404
+ w13 B60400F2@441, w14 B60400F1@472, w15 B60400F0@503, w16 B60400EF@534
+ w17 B60400EE@565, w18 B60400ED@596, w19 B60400EC@627, w20 B60400EB@658
+ w21 B60400EA@689, w22 B60400E9@722, w23 B60400E8@753, w24 B60400E7@784
+ w25 B60400E6@815, w26 B60400E5@846, w27 B60400E4@877, w28 B60400E3@908
+ w29 B60400E2@939, w30 B60400E1@975, w31 B60400E0@1006, w32 E60400DF@1037
+ w33 E60400DF@1068, w34 E60400DF@1099
+ 32 words read out (value, status after the read @ cycles from the first read); status at the end B60100DF:
+ 00000000 360000DF@1478, 00000000 360000DF@1561, 00000000 360000DF@1621, 00000000 360000DF@1681
+ 00000000 360000DF@1741, 00000000 3E0100DF@1801, 00000000 360100DF@1864, 00000000 360100DF@1924
+ 00000000 360100DF@1984, 00000000 360100DF@2044, 00000000 360100DF@2104, 00000000 360100DF@2164
+ 00000000 360100DF@2224, 00000000 360100DF@2284, 00000000 360100DF@2344, 00000000 360100DF@2408
+ 00000000 360100DF@2468, 00000000 360100DF@2528, 00000000 360100DF@2588, 00000000 360100DF@2648
+ 00000000 360100DF@2708, 00000000 360100DF@2768, 00000000 360100DF@2828, 00000000 360100DF@2889
+ 00000000 360100DF@2949, 00000000 360100DF@3009, 00000000 360100DF@3069, 00000000 360100DF@3129
+ 00000000 360100DF@3189, 00000000 360100DF@3249, 00000000 360100DF@3309, 00000000 B60100DF@3369
+Done.
+```
+
+[16SDS.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s003/16SDS.txt)
+
+```
+===== 16 SDS F2 DMA SPU COST | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+DMA4 SPU write, SyncMode 1, to 30000h, delay register 1F801014h = 200931E1h (it was
+200931E1). Cycles from the CHCR write until bit 24 clears, three times each.
+Blocks of 1 words x 256 (256 words): 16341 16337 16333
+Blocks of 2 words x 128 (256 words): 16297 16296 16293
+Blocks of 3 words x 85 (255 words): 16918 16910 16910
+Blocks of 4 words x 64 (256 words): 18093 18056 18095
+Blocks of 5 words x 51 (255 words): 17594 17598 17598
+Blocks of 6 words x 42 (252 words): 17012 16999 16999
+Blocks of 8 words x 32 (256 words): 17104 17053 17091
+Blocks of 12 words x 21 (252 words): 15806 15819 15819
+Blocks of 16 words x 16 (256 words): 16859 16872 16904
+Blocks of 24 words x 10 (240 words): 10376 10411 10371
+Blocks of 31 words x 8 (248 words): 8175 8174 8174
+Blocks of 32 words x 8 (256 words): 8149 8178 8178
+SyncMode 0, which the CPU cannot poll during:
+ SyncMode 0, 256 words (BCR 00000100h, CHCR 01000001h): 1171 1116 1116; MADR then start+0, BCR 00000100, CHCR 00000001
+Done.
+```
+
+### 27 September 2026 run 3
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/00RUN.txt)
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+16 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 80016128 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
+BPCM 00000000 SR 00000000 Cause 00000020 EPC 80016C84 PRId 00000002
+```
+
+[01SDI.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/01SDI.txt)
+
+```
+===== 01 SDI F2 DICR POLL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+DICR written with timer 2 zeroed just before it. Interrupts off (SR IEc 0) throughout.
+DICR 0 is the scale: its loop runs all 300 turns, so timer 2 over 300 gives one turn.
+I_STAT bit 3, a loop of one I_STAT load a turn (lw, addiu, andi, sltiu, sltu, and, bnez, nop):
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 3606
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+I_STAT bit 3, eight I_STAT loads back to back:
+ DICR 00000000: I_STAT bit 3 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 42
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+CAUSE.IP2, a loop of one mfc0 CAUSE a turn (the same loop), I_MASK 00000008:
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 2408
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+CAUSE.IP2, eight mfc0 CAUSE back to back, I_MASK 00000008:
+ DICR 00000000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 17
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+DICR was 04000000 and is back to 0, then its enables.
+Done.
+```
+
+[02SIM.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/02SIM.txt)
+
+```
+===== 02 SIM F2 IMASK UPPER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+I_MASK's upper half. Each row stores to I_MASK and loads it back; the value is
+12345678h unless the row says otherwise. Interrupts off. The RAM word is 5AA5C33Ch, the
+BIOS word at BFC00100h is its date, the scratchpad word is written 7EE71234h first.
+a: sw $9,1074h($8) (AD091074h), lw (code at 80106030): cached 00400678 then 12340678, uncached 03E00678
+b: sw $10,1074h($8) (AD0A1074h), lw (code at 80106050): cached 35290678 then 12340678, uncached 03E00678
+c: sw $9,4($11) (AD690004h), lw (code at 80106074): cached 34090678 then 12340678, uncached 03E00678
+d: value 0000FFFFh, sw $9,1074h($8), lw (code at 80106098): cached 3C0907FF then 000007FF, uncached 03E007FF
+e: sw, lw of RAM, nop, lw (code at 801060B4): cached 5AA50678 then 5AA50678, uncached 03E00678
+f: sw, lw of BIOS BFC00100h, nop, lw (code at 801060E4): cached 00000678 then 27BD0678, uncached 03E00678
+g: sw, lw of GPUSTAT, nop, lw (code at 80106110): cached 3C090678 then 27BD0678, uncached 03E00678
+h: sw, lw of scratchpad, nop, lw (code at 80106138): cached 00000678 then 27BD0678, uncached 03E00678
+i: sw, lw of I_STAT, nop, lw (code at 80106160): cached 3C080678 then 27BD0678, uncached 03E00678
+j: lw of RAM, nop, sw, lw (code at 80106188): cached 3C090678 then 12340678, uncached 03E00678
+k: sw, 4 nops, lw (code at 801061B8): cached 3C090678 then 27BD0678, uncached 03E00678
+l: sw, lw of timer 2's counter, nop, lw (code at 801061E8): cached 00000678 then 27BD0678, uncached 03E00678
+GPUSTAT now 5606200F. I_MASK back to 00000009.
+Done.
+```
+
+[03STH.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/03STH.txt)
+
+```
+===== 03 STH F2 T1 HBLANK SYNC1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+Timer1 sync mode 1 (reset at vblank), set at the vblank IRQ (I_STAT bit 0, polled);
+timer 2 counts system cycles from then. Each sample is timer 2 then timer 1 (t:v).
+Hblank clock (mode 0103h), run 1, every sample (141):
+ 47033:21 47073:21 47124:22 47175:22 47226:22 47277:22 47319:22 47370:22
+ 47421:22 47472:22 47523:22 47574:22 47625:22 47676:22 47727:22 47769:22
+ 47820:22 47871:22 47922:22 47973:22 48024:22 48075:22 48126:22 48177:22
+ 48229:22 48271:22 48322:22 48373:22 48424:22 48485:22 48527:22 48569:22
+ 48620:22 48671:22 48722:22 48769:22 48820:22 48871:22 48922:22 48973:22
+ 49024:22 49075:22 49126:22 49177:22 49219:22 49270:23 49321:23 49372:23
+ 49423:23 49474:23 49525:23 49576:23 49627:23 49669:23 49720:23 49771:23
+ 49822:23 49873:23 49924:23 49975:23 50026:23 50077:23 50119:23 50170:23
+ 50221:23 50274:23 50325:23 50376:23 50427:23 50469:23 50520:23 50571:23
+ 50622:23 50673:23 50724:23 50775:23 50826:23 50877:23 50919:23 50970:23
+ 51021:23 51072:23 51123:23 51174:23 51225:23 51276:23 51327:23 51369:23
+ 51420:23 51471:24 51522:24 51573:24 51624:24 51675:24 51726:24 51777:24
+ 51819:24 51870:24 51921:24 51972:0 52023:0 52074:0 52125:0 52176:0
+ 52227:0 52269:0 52322:0 52373:0 52424:0 52475:0 52526:0 52578:0
+ 52620:0 52671:0 52722:0 52773:0 52824:0 52875:0 52926:0 52977:0
+ 53019:0 53070:0 53121:0 53172:0 53223:0 53274:0 53325:0 53376:0
+ 53427:0 53469:0 53520:0 53571:0 53622:0 53673:0 53724:0 53775:0
+ 53826:0 53877:0 53919:0 53970:0 54021:0
+Hblank clock (mode 0103h), run 1, 141 samples; where timer 1 changes: 47073:21->47124:22 49219:22->49270:23 51420:23->51471:24 51921:24->51972:0
+Hblank clock (mode 0103h), run 2, 141 samples; where timer 1 changes: 47124:21->47175:22 49276:22->49327:23 51426:23->51477:24 51927:24->51969:0
+Hblank clock (mode 0103h), run 3, 141 samples; where timer 1 changes: 47124:21->47175:22 49274:22->49325:23 51425:23->51476:24 51926:24->51977:0
+Hblank clock (mode 0103h), run 4, 141 samples; where timer 1 changes: 47076:21->47127:22 49222:22->49273:23 51372:23->51423:24 51924:24->51975:0
+System clock (mode 0003h), 141 samples; where timer 1 drops: 49374:49374->49425:13; last sample 54021:4609
+Done.
+```
+
+[04SG1.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/04SG1.txt)
+
+```
+===== 04 SG1 F2 GTE 02 TO 07 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 02:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=100 10=200 19=100 25=100 26=200 28=82 F=0 | 9=7fff 10=7fff 25=100000 26=200000 28=3ff 63=81800000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=120 10=250 19=80 25=120 26=250 F=0 | 9=7fff 10=7fff 25=120000 26=250000 28=27ff 63=81800000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 03:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=250 14=3ff025f 26=250 F=80022000 | 10=7fff 26=250000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 04:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 07:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffff600 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 24=120
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+Done.
+```
+
+[05SG2.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/05SG2.txt)
+
+```
+===== 05 SG2 F2 GTE 08 TO 17 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 08:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffff200 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 09:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 10=130 11=fffffed0 26=130 27=fffffed0 28=40 F=0 | 10=7fff 11=ffff8000 26=130000 27=ffed0000 28=3e0 63=80c00000
+ IR2: 9=fffffda0 10=0 11=260 25=fffffda0 27=260 28=1000 F=0 | 9=ffff8000 11=7fff 25=ffda0000 27=260000 28=7c00 63=81400000
+ IR3: 10=fffffb40 11=0 26=fffffb40 28=0 F=0 | 10=ffff8000 26=ffb40000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 9=120 25=120 28=2
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=fffffe84 10=fffffe5e 11=85 25=fffffe84 26=fffffe5e 27=85 28=400 F=0 | 9=ffff8000 10=ffff8000 11=7fff 25=ffe84000 26=ffe5e000 27=85000 28=7c00 63=81c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 0E:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 10=260 11=fffffed0 26=260 27=fffffed0 28=82 F=0 | 10=7fff 11=ffff8000 26=8130000 27=ffed0000 28=3e2 63=80c00000
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 10=fffff680 11=0 26=fffff680 28=0 F=0 | 10=ffff8000 26=ff680000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 11=120 27=120 28=800
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 10=fffffc53 11=ffffff55 26=fffffc53 27=ffffff55 28=2 F=0 | 10=7fff 11=ffff8000 26=3bfe000 27=fff55000 28=3e2 63=80c00000
+ LLMxV: 10=0 11=0 28=2 F=0 | =
+ LCMxV: 10=0 11=0 28=2 F=0 | =
+op 15:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 17:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | 63=81000000
+ IR2: 10=0 28=0 F=0 | 63=80800000
+ IR3: 11=0 28=0 F=0 | 63=400000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | 63=81c00000
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | 63=81c00000
+Done.
+```
+
+[06SG3.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/06SG3.txt)
+
+```
+===== 06 SG3 F2 GTE 18 TO 1F | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 18:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 19:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+Done.
+```
+
+[07SG4.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/07SG4.txt)
+
+```
+===== 07 SG4 F2 GTE 21 TO 23 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 21:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442211 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 22:
+ zero: 20=ff F=0 | 20=0
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 20=13 22=ff 25=130000 28=1f 63=81200000
+ IR2: 20=ff 22=2600 26=260 F=0 | 10=7fff 20=0 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442200 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffff11 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: 20=ff F=0 | 20=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 20=16 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 23:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=440000 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ff0000 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+Done.
+```
+
+[08SG5.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/08SG5.txt)
+
+```
+===== 08 SG5 F2 GTE 24 TO 27 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 24:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 25:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 26:
+ zero: 22=ff F=0 | =
+ unit: 22=ff F=0 | =
+ V0: 22=ff F=0 | =
+ V1: 22=ff F=0 | =
+ V2: 22=ff F=0 | =
+ IR0: 22=ff F=0 | =
+ IR1: 22=ff F=0 | =
+ IR2: 22=26ff 26=260 F=0 | 10=7fff 22=ffff 26=260000 28=3e0 63=80900000
+ IR3: 22=4c00ff 27=4c0 F=0 | 11=7fff 22=ff00ff 27=4c0000 28=7c00 63=480000
+ RGBC: 22=400000ff F=0 | =
+ SXY: 22=ff F=0 | =
+ SZ: 22=ff F=0 | =
+ MAC0: 22=ff F=0 | =
+ TR: 22=ff F=0 | =
+ BK: 10=220 11=440 22=4422ff 26=220 27=440 28=2080 F=0 | 10=7fff 11=7fff 22=ffffff 26=220000 27=440000 28=7fe0 63=80d80000
+ FC: 22=ff F=0 | =
+ OF: 22=ff F=0 | =
+ H: 22=ff F=0 | =
+ DQA: 22=ff F=0 | =
+ DQB: 22=ff F=0 | =
+ ZSF3: 22=ff F=0 | =
+ ZSF4: 22=ff F=0 | =
+ RTxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LLMxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LCMxV: 10=2cf 11=44b 22=442cff 26=2cf 27=44b 28=20a2 F=0 | 10=7fff 11=7fff 22=ffffff 26=2cfa00 27=44ba00 28=7fe2 63=80d80000
+op 27:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 11=440 22=440000 27=440 28=2000 F=0 | 11=7fff 22=ff0000 27=440000 28=7c00 63=480000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 11=0 28=82 F=0 | =
+ LLMxV: 11=0 28=82 F=0 | =
+ LCMxV: 11=44b 22=440000 27=44b 28=2082 F=0 | 11=7fff 22=ff0000 27=44ba00 28=7c82 63=480000
+Done.
+```
+
+[09SG6.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/09SG6.txt)
+
+```
+===== 09 SG6 F2 GTE 2B TO 34 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 2B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2C:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: 20=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 2F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=7fff 22=ff 25=130000 28=1f F=81200000 | =
+ IR2: 10=7fff 22=ff00 26=260000 28=3e0 F=80900000 | =
+ IR3: 11=7fff 22=ff0000 27=4c0000 28=7c00 F=480000 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff F=81f80000 | =
+op 34:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 11=480 19=480 25=120 26=240 27=480 28=2482 F=80020000 | 9=7fff 10=7fff 11=7fff 25=120000 26=240000 27=480000 28=7fff 63=81820000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 11=400 13=3ff01ff 19=400 25=100 26=200 27=400 28=2082 F=80020000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=100000 26=200000 27=400000 28=7fff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 11=402 13=3ff0263 19=402 25=144 26=29a 27=402 28=20a2 F=80022000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=144000 26=29a000 27=402000 28=7fff 63=81836000
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+Done.
+```
+
+[10SG7.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/10SG7.txt)
+
+```
+===== 10 SG7 F2 GTE 35 TO 37 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 35:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f 19=220 F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff01ff 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 13=3ff03ff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0263 19=110 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 13=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 36:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff0000 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0000 14=3ff0287 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 37:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 13=3ff0000 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 13=3ff0000 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+Done.
+```
+
+[11SG8.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/11SG8.txt)
+
+```
+===== 11 SG8 F2 GTE 38 TO 3B | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 38:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: F=80020000 | =
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 39:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=0 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=600050 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+Done.
+```
+
+[12SMS.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/12SMS.txt)
+
+```
+===== 12 SMS F2 MDEC SHORT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+Short decodes by CPU at 8 bit (depth 1), unsigned, the 4bit/8bit block's tables
+(kBlkQuant, kBlkScale). Pattern words: FE00h end code over a DC halfword, q_scale 1;
+A has DC 16*i-256 in word i (i = 0 to 31), B has DC 240-16*i. At most 256 words shown.
+No pattern (the tables were the last words in), then count 1, 1 words written: 992 words out, CRC CE4D9FAA, status 8204FFFF
+ 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F
+ 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F 8F9EA9AF 5F65717F
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 1, 1 words written: 496 words out, CRC 3410B6D8, status 8204FFFF
+ 32414C52 02081422 69788389 393F4A59 B6C5D0D6 868C97A6 ECFBFFFF BCC2CEDC
+ ECFBFFFF BCC2CEDC B6C5D0D6 868C97A6 69788389 393F4A59 32414C52 02081422
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 1, 1 words written: 496 words out, CRC A468B6F1, status 8204FFFF
+ E6F5FFFF B6BCC7D6 B3C2CDD3 838995A3 6B7A858C 3B414D5B 39475359 080F1A29
+ 39475359 080F1A29 6B7A858C 3B414D5B B3C2CDD3 838995A3 E6F5FFFF B6BCC7D6
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+No pattern (the tables were the last words in), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 2, 2 words written: 480 words out, CRC 5D6A404E, status 8204FFFF
+ FDD99D70 2059ACEE FFE8AB7F 2E67BBFC FFF9BC8F 3F78CBFF FFF9BD90 4079CCFF
+ FFDFA376 265FB2F3 D3AF7245 002E81C3 9D793C10 00004C8D 7B561A00 0000296B
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Done.
+```
+
+[13SSD.txt](/tests/raw/20260927T0000Z-5501a-card-f/followup2/s002/13SSD.txt)
+
+```
+===== 13 SSD F2 SPU DRAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000480
+SPU write FIFO drain to scratch at 30000h (32 halfwords filled EEEEh first), SPUCNT
+transfer mode Stop after the wait, then all 32 read back by DMA. Pattern B000h + i.
+By DMA, 16 words in one block; the wait counted from the DMA's end:
+ DMA, wait 0: 9 written, 0 EEEEh, 12 5555h, 11 other (first AAAA) wwwwwwwww?55??55??55??55??55??55
+ DMA, wait 50: 10 written, 0 EEEEh, 12 5555h, 10 other (first AAAA) wwwwwwwwww55??55??55??55??55??55
+ DMA, wait 100: 10 written, 0 EEEEh, 12 5555h, 10 other (first AAAA) wwwwwwwwww55??55??55??55??55??55
+ DMA, wait 150: 11 written, 0 EEEEh, 11 5555h, 10 other (first AAAA) wwwwwwwwwww5??55??55??55??55??55
+ DMA, wait 200: 11 written, 0 EEEEh, 11 5555h, 10 other (first AAAA) wwwwwwwwwww5??55??55??55??55??55
+ DMA, wait 250: 11 written, 0 EEEEh, 11 5555h, 10 other (first AAAA) wwwwwwwwwww5??55??55??55??55??55
+ DMA, wait 300: 14 written, 0 EEEEh, 10 5555h, 8 other (first AAAA) wwwwwwwwwwwwww55??55??55??55??55
+ DMA, wait 350: 15 written, 0 EEEEh, 9 5555h, 8 other (first AAAA) wwwwwwwwwwwwwww5??55??55??55??55
+ DMA, wait 400: 19 written, 0 EEEEh, 7 5555h, 6 other (first AAAA) wwwwwwwwwwwwwwwwwww5??55??55??55
+ DMA, wait 450: 19 written, 0 EEEEh, 7 5555h, 6 other (first AAAA) wwwwwwwwwwwwwwwwwww5??55??55??55
+ DMA, wait 500: 23 written, 0 EEEEh, 5 5555h, 4 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwww5??55??55
+ DMA, wait 550: 25 written, 0 EEEEh, 4 5555h, 3 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwwwww?55??55
+ DMA, wait 600: 27 written, 0 EEEEh, 3 5555h, 2 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwwwwwww5??55
+ DMA, wait 650: 28 written, 0 EEEEh, 2 5555h, 2 other (first AAAA) wwwwwwwwwwwwwwwwwwwwwwwwwwww??55
+ DMA, wait 700: 31 written, 0 EEEEh, 1 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww5
+ DMA, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+By hand, 16 halfwords (B000h-B00Fh) to the FIFO, then Manual Write; the wait counted
+from the SPUCNT store:
+ manual, wait 0: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 50: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 100: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 150: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 200: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 250: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 300: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 350: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 400: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 450: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 500: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 550: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 600: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 650: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 700: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ SPUSTAT after the Manual Write store, status@timer 2:
+ 0000@53 0000@86 0000@119 0000@152 0000@185 0410@218 0410@257 0410@290
+ 0410@323 0410@356 0410@389 0410@422 0410@455 0410@488 0410@521 0410@554
+ 0410@587 0410@620 0410@653 0410@686 0410@719 0410@752 0410@785 0410@818
+ manual, wait 3000: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+Done.
+```
+
+### 27 September 2026 run 4
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/00RUN.txt)
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+15 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 00000000 Cause 00000020 EPC 801132F8 PRId 00000002
+```
+
+[01SDI.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/01SDI.txt)
+
+```
+===== 01 SDI F2 DICR POLL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+DICR written with timer 2 zeroed just before it. Interrupts off (SR IEc 0) throughout.
+DICR 0 is the scale: its loop runs all 300 turns, so timer 2 over 300 gives one turn.
+I_STAT bit 3, a loop of one I_STAT load a turn (lw, addiu, andi, sltiu, sltu, and, bnez, nop):
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 3622
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+I_STAT bit 3, eight I_STAT loads back to back:
+ DICR 00000000: I_STAT bit 3 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 53
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+CAUSE.IP2, a loop of one mfc0 CAUSE a turn (the same loop), I_MASK 00000008:
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 2420
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+CAUSE.IP2, eight mfc0 CAUSE back to back, I_MASK 00000008:
+ DICR 00000000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 25
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+DICR was 00000000 and is back to 0, then its enables.
+Done.
+```
+
+[02SIM.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/02SIM.txt)
+
+```
+===== 02 SIM F2 IMASK UPPER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+I_MASK's upper half. Each row stores to I_MASK and loads it back; the value is
+12345678h unless the row says otherwise. Interrupts off. The RAM word is 5AA5C33Ch, the
+BIOS word at BFC00100h is its date, the scratchpad word is written 7EE71234h first.
+a: sw $9,1074h($8) (AD091074h), lw (code at 80016048): cached 3C090678 then 12340678, uncached 03E00678
+b: sw $10,1074h($8) (AD0A1074h), lw (code at 80016068): cached 12340678 then 12340678, uncached 03E00678
+c: sw $9,4($11) (AD690004h), lw (code at 8001608C): cached 12340678 then 12340678, uncached 03E00678
+d: value 0000FFFFh, sw $9,1074h($8), lw (code at 800160B0): cached 000007FF then 000007FF, uncached 03E007FF
+e: sw, lw of RAM, nop, lw (code at 800160CC): cached 5AA50678 then 5AA50678, uncached 03E00678
+f: sw, lw of BIOS BFC00100h, nop, lw (code at 800160FC): cached 3C090678 then 27BD0678, uncached 03E00678
+g: sw, lw of GPUSTAT, nop, lw (code at 80016128): cached 00000678 then 27BD0678, uncached 03E00678
+h: sw, lw of scratchpad, nop, lw (code at 80016150): cached 3C090678 then 27BD0678, uncached 03E00678
+i: sw, lw of I_STAT, nop, lw (code at 80016178): cached 00000678 then 27BD0678, uncached 03E00678
+j: lw of RAM, nop, sw, lw (code at 800161A0): cached 12340678 then 12340678, uncached 03E00678
+k: sw, 4 nops, lw (code at 800161D0): cached 00000678 then 27BD0678, uncached 03E00678
+l: sw, lw of timer 2's counter, nop, lw (code at 80016200): cached AFB00678 then 27BD0678, uncached 03E00678
+GPUSTAT now 5606200F. I_MASK back to 24840009.
+Done.
+```
+
+[03STH.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/03STH.txt)
+
+```
+===== 03 STH F2 T1 HBLANK SYNC1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+Timer1 sync mode 1 (reset at vblank), set at the vblank IRQ (I_STAT bit 0, polled);
+timer 2 counts system cycles from then. Each sample is timer 2 then timer 1 (t:v).
+Hblank clock (mode 0103h), run 1, every sample (141):
+ 47033:21 47082:21 47124:22 47175:22 47226:22 47277:22 47319:22 47370:22
+ 47421:22 47472:22 47523:22 47574:22 47625:22 47676:22 47727:22 47769:22
+ 47820:22 47871:22 47922:22 47973:22 48024:22 48075:22 48126:22 48177:22
+ 48219:22 48270:22 48321:22 48372:22 48423:22 48474:22 48525:22 48576:22
+ 48627:22 48669:22 48724:22 48775:22 48826:22 48877:22 48919:22 48970:22
+ 49021:22 49072:22 49123:22 49174:22 49225:22 49276:22 49327:23 49369:23
+ 49420:23 49471:23 49522:23 49573:23 49624:23 49675:23 49726:23 49777:23
+ 49819:23 49870:23 49921:23 49972:23 50023:23 50074:23 50125:23 50176:23
+ 50227:23 50269:23 50320:23 50371:23 50422:23 50473:23 50524:23 50575:23
+ 50626:23 50677:23 50719:23 50772:23 50823:23 50874:23 50925:23 50976:23
+ 51028:23 51070:23 51121:23 51172:23 51223:23 51274:23 51325:23 51376:23
+ 51427:23 51469:24 51520:24 51571:24 51622:24 51673:24 51724:24 51775:24
+ 51826:24 51877:24 51919:24 51970:0 52021:0 52072:0 52123:0 52174:0
+ 52225:0 52276:0 52327:0 52369:0 52420:0 52471:0 52522:0 52573:0
+ 52624:0 52675:0 52726:0 52777:0 52820:0 52871:0 52922:0 52973:0
+ 53024:0 53076:0 53127:0 53169:0 53220:0 53271:0 53322:0 53373:0
+ 53424:0 53475:0 53526:0 53577:0 53619:0 53670:0 53721:0 53772:0
+ 53823:0 53874:0 53925:0 53976:0 54027:0
+Hblank clock (mode 0103h), run 1, 141 samples; where timer 1 changes: 47082:21->47124:22 49276:22->49327:23 51427:23->51469:24 51919:24->51970:0
+Hblank clock (mode 0103h), run 2, 141 samples; where timer 1 changes: 47124:21->47175:22 49272:22->49323:23 51422:23->51473:24 51974:24->52025:0
+Hblank clock (mode 0103h), run 3, 141 samples; where timer 1 changes: 47124:21->47175:22 49272:22->49323:23 51422:23->51473:24 51974:24->52025:0
+Hblank clock (mode 0103h), run 4, 141 samples; where timer 1 changes: 47124:21->47175:22 49272:22->49323:23 51421:23->51472:24 51973:24->52024:0
+System clock (mode 0003h), 141 samples; where timer 1 drops: 49374:49374->49425:1; last sample 54023:4599
+Done.
+```
+
+[04SG1.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/04SG1.txt)
+
+```
+===== 04 SG1 F2 GTE 02 TO 07 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 02:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=100 10=200 19=100 25=100 26=200 28=82 F=0 | 9=7fff 10=7fff 25=100000 26=200000 28=3ff 63=81800000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=120 10=250 19=80 25=120 26=250 F=0 | 9=7fff 10=7fff 25=120000 26=250000 28=27ff 63=81800000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 03:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=250 14=3ff025f 26=250 F=80022000 | 10=7fff 26=250000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 04:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 07:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffffc00 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+Done.
+```
+
+[05SG2.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/05SG2.txt)
+
+```
+===== 05 SG2 F2 GTE 08 TO 17 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 08:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffea00 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 09:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0A:
+ zero: F=0 | =
+ unit: 20=ffffff 21=ffffff F=81f80000 | =
+ V0: 20=ffffff 21=ffffff F=81f80000 | =
+ V1: 20=ffffff 21=ffffff F=81f80000 | =
+ V2: 20=ffffff 21=ffffff F=81f80000 | =
+ IR0: 20=ffffff 21=ffffff F=81f80000 | =
+ IR1: 9=7fff 20=ffffff 21=ffffff 22=ff 25=130000 28=1f F=81f80000 | =
+ IR2: 10=7fff 20=ffffff 21=ffffff 22=ff00 26=260000 28=3e0 F=81f80000 | =
+ IR3: 11=7fff 20=ffffff 21=ffffff 22=ff0000 27=4c0000 28=7c00 F=81f80000 | =
+ RGBC: 20=40ffffff 21=40ffffff 22=40000000 F=81f80000 | =
+ SXY: 20=ffffff 21=ffffff 24=fffff400 F=81f80000 | =
+ SZ: 20=ffffff 21=ffffff F=81f80000 | =
+ MAC0: 20=ffffff 21=ffffff 24=0 F=81f80000 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff F=81f80000 | =
+op 0D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 10=130 11=fffffed0 26=130 27=fffffed0 28=40 F=0 | 10=7fff 11=ffff8000 26=130000 27=ffed0000 28=3e0 63=80c00000
+ IR2: 9=fffffda0 10=0 11=260 25=fffffda0 27=260 28=1000 F=0 | 9=ffff8000 11=7fff 25=ffda0000 27=260000 28=7c00 63=81400000
+ IR3: 10=fffffb40 11=0 26=fffffb40 28=0 F=0 | 10=ffff8000 26=ffb40000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 9=120 25=120 28=2
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=fffffe84 10=fffffe5e 11=85 25=fffffe84 26=fffffe5e 27=85 28=400 F=0 | 9=ffff8000 10=ffff8000 11=7fff 25=ffe84000 26=ffe5e000 27=85000 28=7c00 63=81c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 0E:
+ zero: F=0 | =
+ unit: 20=ffffff 21=ffffff F=81f80000 | =
+ V0: 20=ffffff 21=ffffff F=81f80000 | =
+ V1: 20=ffffff 21=ffffff F=81f80000 | =
+ V2: 20=ffffff 21=ffffff F=81f80000 | =
+ IR0: 20=ffffff 21=ffffff F=81f80000 | =
+ IR1: 9=7fff 10=7fff 11=ffff8000 20=ffffff 21=ffffff 22=ffff 25=130000 26=7fff000 27=ffed0000 28=3ff F=81f80000 | 27=f8000000
+ IR2: 10=0 20=ffffff 21=ffffff 28=0 F=81f80000 | =
+ IR3: 10=ffff8000 11=0 20=ffffff 21=ffffff 26=f8000000 28=0 F=81f80000 | =
+ RGBC: 20=40ffffff 21=40ffffff 22=40000000 F=81f80000 | =
+ SXY: 20=ffffff 21=ffffff F=81f80000 | =
+ SZ: 20=ffffff 21=ffffff F=81f80000 | =
+ MAC0: 20=ffffff 21=ffffff F=81f80000 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=80800000 | 63=80c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=9a600 26=3b600 27=61600 28=7fff F=81f80000 | =
+op 15:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 9=7ff 10=fff 11=17ff 22=40ffff7f 25=7ff 26=fff 27=17ff 28=7fef F=80000 | 9=7fff 10=7fff 11=7fff 22=40ffffff 25=7fff00 26=fffe00 27=17ffd00 28=7fff 63=81f80000
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 17:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | 63=81000000
+ IR2: 10=0 28=0 F=0 | 63=80800000
+ IR3: 11=0 28=0 F=0 | 63=400000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | 63=81c00000
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | 63=81c00000
+Done.
+```
+
+[06SG3.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/06SG3.txt)
+
+```
+===== 06 SG3 F2 GTE 18 TO 1F | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 18:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 19:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+Done.
+```
+
+[07SG4.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/07SG4.txt)
+
+```
+===== 07 SG4 F2 GTE 21 TO 23 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 21:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442211 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 22:
+ zero: 20=ff F=0 | 20=0
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 20=13 22=ff 25=130000 28=1f 63=81200000
+ IR2: 20=ff 22=2600 26=260 F=0 | 10=7fff 20=0 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442200 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffff11 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: 20=ff F=0 | 20=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 20=16 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 23:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=440000 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ff0000 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+Done.
+```
+
+[08SG5.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/08SG5.txt)
+
+```
+===== 08 SG5 F2 GTE 24 TO 27 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 24:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 25:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 26:
+ zero: 22=ff F=0 | =
+ unit: 22=ff F=0 | =
+ V0: 22=ff F=0 | =
+ V1: 22=ff F=0 | =
+ V2: 22=ff F=0 | =
+ IR0: 22=ff F=0 | =
+ IR1: 22=ff F=0 | =
+ IR2: 22=26ff 26=260 F=0 | 10=7fff 22=ffff 26=260000 28=3e0 63=80900000
+ IR3: 22=4c00ff 27=4c0 F=0 | 11=7fff 22=ff00ff 27=4c0000 28=7c00 63=480000
+ RGBC: 22=400000ff F=0 | =
+ SXY: 22=ff F=0 | =
+ SZ: 22=ff F=0 | =
+ MAC0: 22=ff F=0 | =
+ TR: 22=ff F=0 | =
+ BK: 10=220 11=440 22=4422ff 26=220 27=440 28=2080 F=0 | 10=7fff 11=7fff 22=ffffff 26=220000 27=440000 28=7fe0 63=80d80000
+ FC: 22=ff F=0 | =
+ OF: 22=ff F=0 | =
+ H: 22=ff F=0 | =
+ DQA: 22=ff F=0 | =
+ DQB: 22=ff F=0 | =
+ ZSF3: 22=ff F=0 | =
+ ZSF4: 22=ff F=0 | =
+ RTxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LLMxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LCMxV: 10=2cf 11=44b 22=442cff 26=2cf 27=44b 28=20a2 F=0 | 10=7fff 11=7fff 22=ffffff 26=2cfa00 27=44ba00 28=7fe2 63=80d80000
+op 27:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 11=440 22=440000 27=440 28=2000 F=0 | 11=7fff 22=ff0000 27=440000 28=7c00 63=480000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 11=0 28=82 F=0 | =
+ LLMxV: 11=0 28=82 F=0 | =
+ LCMxV: 11=44b 22=440000 27=44b 28=2082 F=0 | 11=7fff 22=ff0000 27=44ba00 28=7c82 63=480000
+Done.
+```
+
+[09SG6.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/09SG6.txt)
+
+```
+===== 09 SG6 F2 GTE 2B TO 34 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 2B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2C:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: 20=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 2F:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=7fff 10=7fff 11=7fff 19=400 25=100000 26=200000 27=400000 28=7fff F=81800000 | =
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=7fff 10=7fff 11=7fff 19=400 25=100000 26=200000 27=400000 28=7fff F=81800000 | =
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=7fff 10=7fff 11=7fff 19=390 25=120000 26=250000 27=390000 28=7fff F=81800000 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+op 34:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 11=480 19=480 25=120 26=240 27=480 28=2482 F=80020000 | 9=7fff 10=7fff 11=7fff 25=120000 26=240000 27=480000 28=7fff 63=81820000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 11=400 13=3ff01ff 19=400 25=100 26=200 27=400 28=2082 F=80020000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=100000 26=200000 27=400000 28=7fff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 11=402 13=3ff0263 19=402 25=144 26=29a 27=402 28=20a2 F=80022000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=144000 26=29a000 27=402000 28=7fff 63=81836000
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+Done.
+```
+
+[10SG7.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/10SG7.txt)
+
+```
+===== 10 SG7 F2 GTE 35 TO 37 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 35:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f 19=220 F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff01ff 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 13=3ff03ff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0263 19=110 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 13=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 36:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff0000 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0000 14=3ff0287 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 37:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 13=3ff0000 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 13=3ff0000 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+Done.
+```
+
+[11SG8.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/11SG8.txt)
+
+```
+===== 11 SG8 F2 GTE 38 TO 3B | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 38:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: F=80020000 | =
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 39:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=0 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=600050 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+Done.
+```
+
+[12SMS.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/12SMS.txt)
+
+```
+===== 12 SMS F2 MDEC SHORT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+Short decodes by CPU at 8 bit (depth 1), unsigned, the 4bit/8bit block's tables
+(kBlkQuant, kBlkScale). Pattern words: FE00h end code over a DC halfword, q_scale 1;
+A has DC 16*i-256 in word i (i = 0 to 31), B has DC 240-16*i. At most 256 words shown.
+No pattern (the tables were the last words in), then count 1, 1 words written: 80 words out, CRC A589EA50, status 8204FFFF
+ A8B7C2C8 787E8998 9AA8B4BA 6A707B8A 85949FA5 555B6675 77859197 474D5867
+ 77859197 474D5867 85949FA5 555B6675 9AA8B4BA 6A707B8A A8B7C2C8 787E8998
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 1, 1 words written: 496 words out, CRC 3410B6D8, status 8204FFFF
+ 32414C52 02081422 69788389 393F4A59 B6C5D0D6 868C97A6 ECFBFFFF BCC2CEDC
+ ECFBFFFF BCC2CEDC B6C5D0D6 868C97A6 69788389 393F4A59 32414C52 02081422
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 1, 1 words written: 496 words out, CRC A468B6F1, status 8204FFFF
+ E6F5FFFF B6BCC7D6 B3C2CDD3 838995A3 6B7A858C 3B414D5B 39475359 080F1A29
+ 39475359 080F1A29 6B7A858C 3B414D5B B3C2CDD3 838995A3 E6F5FFFF B6BCC7D6
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+No pattern (the tables were the last words in), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 2, 2 words written: 480 words out, CRC 5D6A404E, status 8204FFFF
+ FDD99D70 2059ACEE FFE8AB7F 2E67BBFC FFF9BC8F 3F78CBFF FFF9BD90 4079CCFF
+ FFDFA376 265FB2F3 D3AF7245 002E81C3 9D793C10 00004C8D 7B561A00 0000296B
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Done.
+```
+
+[13SSD.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/13SSD.txt)
+
+```
+===== 13 SSD F2 SPU DRAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+SPU write FIFO drain to scratch at 30000h (32 halfwords filled EEEEh first), SPUCNT
+transfer mode Stop after the wait, then all 32 read back by DMA. Pattern B000h + i.
+By DMA, 16 words in one block; the wait counted from the DMA's end:
+ DMA, wait 0: 9 written, 0 EEEEh, 0 5555h, 23 other (first 1111) wwwwwwwww???????????????????????
+ DMA, wait 50: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 100: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 150: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 200: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 250: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 300: 14 written, 0 EEEEh, 0 5555h, 18 other (first 0007) wwwwwwwwwwwwww??????????????????
+ DMA, wait 350: 15 written, 0 EEEEh, 0 5555h, 17 other (first 1111) wwwwwwwwwwwwwww?????????????????
+ DMA, wait 400: 18 written, 0 EEEEh, 0 5555h, 14 other (first 0009) wwwwwwwwwwwwwwwwww??????????????
+ DMA, wait 450: 19 written, 0 EEEEh, 0 5555h, 13 other (first 1111) wwwwwwwwwwwwwwwwwww?????????????
+ DMA, wait 500: 22 written, 0 EEEEh, 0 5555h, 10 other (first 000B) wwwwwwwwwwwwwwwwwwwwww??????????
+ DMA, wait 550: 24 written, 0 EEEEh, 0 5555h, 8 other (first 000C) wwwwwwwwwwwwwwwwwwwwwwww????????
+ DMA, wait 600: 27 written, 0 EEEEh, 0 5555h, 5 other (first 1111) wwwwwwwwwwwwwwwwwwwwwwwwwww?????
+ DMA, wait 650: 28 written, 0 EEEEh, 0 5555h, 4 other (first 000E) wwwwwwwwwwwwwwwwwwwwwwwwwwww????
+ DMA, wait 700: 31 written, 0 EEEEh, 0 5555h, 1 other (first 1111) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww?
+ DMA, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+By hand, 16 halfwords (B000h-B00Fh) to the FIFO, then Manual Write; the wait counted
+from the SPUCNT store:
+ manual, wait 0: 0 written, 0 EEEEh, 0 5555h, 32 other (first B003) ????????????????????????????????
+ manual, wait 50: 0 written, 0 EEEEh, 0 5555h, 32 other (first B003) ????????????????????????????????
+ manual, wait 100: 0 written, 0 EEEEh, 0 5555h, 32 other (first B003) ????????????????????????????????
+ manual, wait 150: 0 written, 0 EEEEh, 0 5555h, 32 other (first B001) ????????????????????????????????
+ manual, wait 200: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 250: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 300: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 350: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 400: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 450: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 500: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 550: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 600: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 650: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 700: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ SPUSTAT after the Manual Write store, status@timer 2:
+ 0800@53 0800@86 0800@119 0800@152 0800@185 0800@218 0C10@251 0C10@284
+ 0C10@317 0C10@350 0C10@383 0C10@416 0C10@451 0C10@484 0C10@517 0C10@550
+ 0C10@583 0C10@616 0C10@649 0C10@683 0C10@716 0C10@749 0C10@782 0C10@815
+ manual, wait 3000: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+Done.
+```
+
+[14SMR.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/14SMR.txt)
+
+```
+===== 14 SMR F2 MDEC RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+MDEC reset. Each row starts from a 15 bit decode with the input full (status read just
+before, shown once), writes timer 2's mode, MDEC1 80000000h, then N nops, then reads
+MDEC1 and timer 2. Run twice from the same state: cold, then warm. status@timer 2.
+Status before the reset: E60400DF
+ 0 nops: cold E6040040@13, warm E6040040@6
+ 10 nops: cold 80040000@34, warm 80040000@14
+ 20 nops: cold 80040000@55, warm 80040000@24
+ 30 nops: cold 80040000@74, warm 80040000@34
+ 40 nops: cold 80040000@100, warm 80040000@44
+ 50 nops: cold 80040000@124, warm 80040000@54
+ 60 nops: cold 80040000@149, warm 80040000@64
+ 70 nops: cold 80040000@169, warm 80040000@74
+ 80 nops: cold 80040000@192, warm 80040000@84
+ 90 nops: cold 80040000@214, warm 80040000@159
+100 nops: cold 80040000@236, warm 80040000@104
+110 nops: cold 80040000@258, warm 80040000@178
+120 nops: cold 80040000@284, warm 80040000@134
+130 nops: cold 80040000@303, warm 80040000@134
+140 nops: cold 80040000@331, warm 80040000@144
+150 nops: cold 80040000@352, warm 80040000@154
+160 nops: cold 80040000@374, warm 80040000@201
+170 nops: cold 80040000@397, warm 80040000@209
+180 nops: cold 80040000@423, warm 80040000@228
+190 nops: cold 80040000@442, warm 80040000@194
+200 nops: cold 80040000@465, warm 80040000@204
+Enables after a reset. From idle (a reset 2000 cycles before): MDEC1 80000000h, N nops,
+MDEC1 60000000h, then MDEC1 and timer 2 read at once (status@timer 2); the status again
+2000 cycles on; MDEC0 40000000h (luminance quant table) and the status; its 16 words by
+DMA0 (cycles, or timeout after 200000 polls) and the status after. Run cold, then warm.
+Enables rows, each with a DMA0 that times out if the enables were lost: not run in this table.
+Done.
+```
+
+[15SDS.txt](/tests/raw/20260927T0000Z-5501a-card-g2/followup2_safe/15SDS.txt)
+
+```
+===== 15 SDS F2 DMA SPU COST | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 00000400
+DMA4 SPU write, SyncMode 1, to 30000h, delay register 1F801014h = 200931E1h (it was
+200931E1). Cycles from the CHCR write until bit 24 clears, three times each.
+Blocks of 1 words x 256 (256 words): 16346 16346 16338
+Blocks of 2 words x 128 (256 words): 16301 16301 16301
+Blocks of 3 words x 85 (255 words): 16245 16389 16347
+Blocks of 4 words x 64 (256 words): 18070 18069 18069
+Blocks of 5 words x 51 (255 words): 17597 17608 17601
+Blocks of 6 words x 42 (252 words): 17024 17012 17012
+Blocks of 8 words x 32 (256 words): 17067 17072 17072
+Blocks of 12 words x 21 (252 words): 15809 15809 15809
+Blocks of 16 words x 16 (256 words): 16883 16883 16883
+Blocks of 24 words x 10 (240 words): 10425 10383 10383
+Blocks of 31 words x 8 (248 words): 8170 8135 8133
+Blocks of 32 words x 8 (256 words): 8160 8202 8202
+SyncMode 0, which the CPU cannot poll during: not run in this table.
+Done.
+```
+
+### 27 September 2026 run 5
+
+[00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/00RUN.txt)
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+15 tests
+A chain program, linked at 80010000
+Saved on the card in slot 2, from image 1
+COP0 at start: BPC 00000000 BDA 80024F50 TAR BFC02BAC DCIC 00000000 BadVaddr 800154CE BDAM FFFFFFFF
+BPCM 00000000 SR 40000000 Cause 00000020 EPC 801132F8 PRId 00000002
+```
+
+[01SDI.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/01SDI.txt)
+
+```
+===== 01 SDI F2 DICR POLL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+DICR written with timer 2 zeroed just before it. Interrupts off (SR IEc 0) throughout.
+DICR 0 is the scale: its loop runs all 300 turns, so timer 2 over 300 gives one turn.
+I_STAT bit 3, a loop of one I_STAT load a turn (lw, addiu, andi, sltiu, sltu, and, bnez, nop):
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 3622
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+I_STAT bit 3, eight I_STAT loads back to back:
+ DICR 00000000: I_STAT bit 3 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 53
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+CAUSE.IP2, a loop of one mfc0 CAUSE a turn (the same loop), I_MASK 00000008:
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 2420
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+CAUSE.IP2, eight mfc0 CAUSE back to back, I_MASK 00000008:
+ DICR 00000000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 25
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+DICR was 00000000 and is back to 0, then its enables.
+Done.
+```
+
+[02SIM.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/02SIM.txt)
+
+```
+===== 02 SIM F2 IMASK UPPER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+I_MASK's upper half. Each row stores to I_MASK and loads it back; the value is
+12345678h unless the row says otherwise. Interrupts off. The RAM word is 5AA5C33Ch, the
+BIOS word at BFC00100h is its date, the scratchpad word is written 7EE71234h first.
+a: sw $9,1074h($8) (AD091074h), lw (code at 80016048): cached 3C090678 then 12340678, uncached 03E00678
+b: sw $10,1074h($8) (AD0A1074h), lw (code at 80016068): cached 12340678 then 12340678, uncached 03E00678
+c: sw $9,4($11) (AD690004h), lw (code at 8001608C): cached 12340678 then 12340678, uncached 03E00678
+d: value 0000FFFFh, sw $9,1074h($8), lw (code at 800160B0): cached 000007FF then 000007FF, uncached 03E007FF
+e: sw, lw of RAM, nop, lw (code at 800160CC): cached 5AA50678 then 5AA50678, uncached 03E00678
+f: sw, lw of BIOS BFC00100h, nop, lw (code at 800160FC): cached 3C090678 then 27BD0678, uncached 03E00678
+g: sw, lw of GPUSTAT, nop, lw (code at 80016128): cached 00000678 then 27BD0678, uncached 03E00678
+h: sw, lw of scratchpad, nop, lw (code at 80016150): cached 3C090678 then 27BD0678, uncached 03E00678
+i: sw, lw of I_STAT, nop, lw (code at 80016178): cached 00000678 then 27BD0678, uncached 03E00678
+j: lw of RAM, nop, sw, lw (code at 800161A0): cached 12340678 then 12340678, uncached 03E00678
+k: sw, 4 nops, lw (code at 800161D0): cached 00000678 then 27BD0678, uncached 03E00678
+l: sw, lw of timer 2's counter, nop, lw (code at 80016200): cached AFB00678 then 27BD0678, uncached 03E00678
+GPUSTAT now 5606200F. I_MASK back to 24840009.
+Done.
+```
+
+[03STH.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/03STH.txt)
+
+```
+===== 03 STH F2 T1 HBLANK SYNC1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+Timer1 sync mode 1 (reset at vblank), set at the vblank IRQ (I_STAT bit 0, polled);
+timer 2 counts system cycles from then. Each sample is timer 2 then timer 1 (t:v).
+Hblank clock (mode 0103h), run 1, every sample (141):
+ 47033:21 47082:21 47124:21 47175:22 47226:22 47277:22 47319:22 47370:22
+ 47421:22 47472:22 47527:22 47569:22 47620:22 47671:22 47722:22 47773:22
+ 47824:22 47875:22 47926:22 47977:22 48019:22 48070:22 48121:22 48172:22
+ 48223:22 48274:22 48325:22 48376:22 48427:22 48469:22 48520:22 48571:22
+ 48622:22 48673:22 48724:22 48775:22 48826:22 48877:22 48919:22 48970:22
+ 49021:22 49072:22 49123:22 49174:22 49225:22 49276:22 49327:23 49369:23
+ 49420:23 49471:23 49522:23 49575:23 49626:23 49677:23 49719:23 49770:23
+ 49821:23 49872:23 49923:23 49974:23 50025:23 50076:23 50127:23 50169:23
+ 50220:23 50271:23 50322:23 50373:23 50424:23 50475:23 50526:23 50577:23
+ 50619:23 50670:23 50721:23 50772:23 50823:23 50874:23 50925:23 50976:23
+ 51027:23 51069:23 51120:23 51171:23 51222:23 51273:23 51324:23 51375:23
+ 51426:23 51477:24 51519:24 51570:24 51623:24 51674:24 51725:24 51776:24
+ 51827:24 51869:24 51920:24 51971:0 52022:0 52073:0 52124:0 52175:0
+ 52226:0 52277:0 52319:0 52370:0 52421:0 52472:0 52523:0 52574:0
+ 52625:0 52676:0 52727:0 52769:0 52820:0 52871:0 52922:0 52973:0
+ 53024:0 53075:0 53126:0 53177:0 53219:0 53270:0 53321:0 53372:0
+ 53423:0 53474:0 53525:0 53576:0 53627:0 53671:0 53722:0 53773:0
+ 53824:0 53875:0 53927:0 53969:0 54020:0
+Hblank clock (mode 0103h), run 1, 141 samples; where timer 1 changes: 47124:21->47175:22 49276:22->49327:23 51426:23->51477:24 51920:24->51971:0
+Hblank clock (mode 0103h), run 2, 141 samples; where timer 1 changes: 47082:21->47124:22 49270:22->49321:23 51420:23->51471:24 51923:24->51974:0
+Hblank clock (mode 0103h), run 3, 141 samples; where timer 1 changes: 47124:21->47175:22 49274:22->49325:23 51424:23->51475:24 51977:24->52019:0
+Hblank clock (mode 0103h), run 4, 141 samples; where timer 1 changes: 47129:21->47171:22 49270:22->49321:23 51420:23->51471:24 51972:24->52023:0
+System clock (mode 0003h), 141 samples; where timer 1 drops: 49376:49376->49427:4; last sample 54025:4602
+Done.
+```
+
+[04SG1.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/04SG1.txt)
+
+```
+===== 04 SG1 F2 GTE 02 TO 07 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 02:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=100 10=200 19=100 25=100 26=200 28=82 F=0 | 9=7fff 10=7fff 25=100000 26=200000 28=3ff 63=81800000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=120 10=250 19=80 25=120 26=250 F=0 | 9=7fff 10=7fff 25=120000 26=250000 28=27ff 63=81800000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 03:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=250 14=3ff025f 26=250 F=80022000 | 10=7fff 26=250000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 04:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 07:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffffc00 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+Done.
+```
+
+[05SG2.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/05SG2.txt)
+
+```
+===== 05 SG2 F2 GTE 08 TO 17 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 08:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffea00 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 09:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0A:
+ zero: F=0 | =
+ unit: 20=ffffff 21=ffffff F=81f80000 | =
+ V0: 20=ffffff 21=ffffff F=81f80000 | =
+ V1: 20=ffffff 21=ffffff F=81f80000 | =
+ V2: 20=ffffff 21=ffffff F=81f80000 | =
+ IR0: 20=ffffff 21=ffffff F=81f80000 | =
+ IR1: 9=7fff 20=ffffff 21=ffffff 22=ff 25=130000 28=1f F=81f80000 | =
+ IR2: 10=7fff 20=ffffff 21=ffffff 22=ff00 26=260000 28=3e0 F=81f80000 | =
+ IR3: 11=7fff 20=ffffff 21=ffffff 22=ff0000 27=4c0000 28=7c00 F=81f80000 | =
+ RGBC: 20=40ffffff 21=40ffffff 22=40000000 F=81f80000 | =
+ SXY: 20=ffffff 21=ffffff 24=fffff400 F=81f80000 | =
+ SZ: 20=ffffff 21=ffffff F=81f80000 | =
+ MAC0: 20=ffffff 21=ffffff 24=0 F=81f80000 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff F=81f80000 | =
+op 0D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 10=130 11=fffffed0 26=130 27=fffffed0 28=40 F=0 | 10=7fff 11=ffff8000 26=130000 27=ffed0000 28=3e0 63=80c00000
+ IR2: 9=fffffda0 10=0 11=260 25=fffffda0 27=260 28=1000 F=0 | 9=ffff8000 11=7fff 25=ffda0000 27=260000 28=7c00 63=81400000
+ IR3: 10=fffffb40 11=0 26=fffffb40 28=0 F=0 | 10=ffff8000 26=ffb40000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 9=120 25=120 28=2
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=fffffe84 10=fffffe5e 11=85 25=fffffe84 26=fffffe5e 27=85 28=400 F=0 | 9=ffff8000 10=ffff8000 11=7fff 25=ffe84000 26=ffe5e000 27=85000 28=7c00 63=81c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 0E:
+ zero: F=0 | =
+ unit: 20=ffffff 21=ffffff F=81f80000 | =
+ V0: 20=ffffff 21=ffffff F=81f80000 | =
+ V1: 20=ffffff 21=ffffff F=81f80000 | =
+ V2: 20=ffffff 21=ffffff F=81f80000 | =
+ IR0: 20=ffffff 21=ffffff F=81f80000 | =
+ IR1: 9=7fff 10=7fff 11=ffff8000 20=ffffff 21=ffffff 22=ffff 25=130000 26=7fff000 27=ffed0000 28=3ff F=81f80000 | 27=f8000000
+ IR2: 10=0 20=ffffff 21=ffffff 28=0 F=81f80000 | =
+ IR3: 10=ffff8000 11=0 20=ffffff 21=ffffff 26=f8000000 28=0 F=81f80000 | =
+ RGBC: 20=40ffffff 21=40ffffff 22=40000000 F=81f80000 | =
+ SXY: 20=ffffff 21=ffffff F=81f80000 | =
+ SZ: 20=ffffff 21=ffffff F=81f80000 | =
+ MAC0: 20=ffffff 21=ffffff F=81f80000 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=80800000 | 63=80c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=9a600 26=3b600 27=61600 28=7fff F=81f80000 | =
+op 15:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 9=7ff 10=fff 11=17ff 22=40ffff7f 25=7ff 26=fff 27=17ff 28=7fef F=80000 | 9=7fff 10=7fff 11=7fff 22=40ffffff 25=7fff00 26=fffe00 27=17ffd00 28=7fff 63=81f80000
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 17:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | 63=81000000
+ IR2: 10=0 28=0 F=0 | 63=80800000
+ IR3: 11=0 28=0 F=0 | 63=400000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | 63=81c00000
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | 63=81c00000
+Done.
+```
+
+[06SG3.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/06SG3.txt)
+
+```
+===== 06 SG3 F2 GTE 18 TO 1F | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 18:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 19:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+Done.
+```
+
+[07SG4.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/07SG4.txt)
+
+```
+===== 07 SG4 F2 GTE 21 TO 23 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 21:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442211 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 22:
+ zero: 20=ff F=0 | 20=0
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 20=13 22=ff 25=130000 28=1f 63=81200000
+ IR2: 20=ff 22=2600 26=260 F=0 | 10=7fff 20=0 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442200 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffff11 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: 20=ff F=0 | 20=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 20=16 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 23:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=440000 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ff0000 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+Done.
+```
+
+[08SG5.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/08SG5.txt)
+
+```
+===== 08 SG5 F2 GTE 24 TO 27 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 24:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 25:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 26:
+ zero: 22=ff F=0 | =
+ unit: 22=ff F=0 | =
+ V0: 22=ff F=0 | =
+ V1: 22=ff F=0 | =
+ V2: 22=ff F=0 | =
+ IR0: 22=ff F=0 | =
+ IR1: 22=ff F=0 | =
+ IR2: 22=26ff 26=260 F=0 | 10=7fff 22=ffff 26=260000 28=3e0 63=80900000
+ IR3: 22=4c00ff 27=4c0 F=0 | 11=7fff 22=ff00ff 27=4c0000 28=7c00 63=480000
+ RGBC: 22=400000ff F=0 | =
+ SXY: 22=ff F=0 | =
+ SZ: 22=ff F=0 | =
+ MAC0: 22=ff F=0 | =
+ TR: 22=ff F=0 | =
+ BK: 10=220 11=440 22=4422ff 26=220 27=440 28=2080 F=0 | 10=7fff 11=7fff 22=ffffff 26=220000 27=440000 28=7fe0 63=80d80000
+ FC: 22=ff F=0 | =
+ OF: 22=ff F=0 | =
+ H: 22=ff F=0 | =
+ DQA: 22=ff F=0 | =
+ DQB: 22=ff F=0 | =
+ ZSF3: 22=ff F=0 | =
+ ZSF4: 22=ff F=0 | =
+ RTxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LLMxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LCMxV: 10=2cf 11=44b 22=442cff 26=2cf 27=44b 28=20a2 F=0 | 10=7fff 11=7fff 22=ffffff 26=2cfa00 27=44ba00 28=7fe2 63=80d80000
+op 27:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 11=440 22=440000 27=440 28=2000 F=0 | 11=7fff 22=ff0000 27=440000 28=7c00 63=480000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 11=0 28=82 F=0 | =
+ LLMxV: 11=0 28=82 F=0 | =
+ LCMxV: 11=44b 22=440000 27=44b 28=2082 F=0 | 11=7fff 22=ff0000 27=44ba00 28=7c82 63=480000
+Done.
+```
+
+[09SG6.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/09SG6.txt)
+
+```
+===== 09 SG6 F2 GTE 2B TO 34 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 2B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2C:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2F:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=7fff 10=7fff 11=7fff 19=400 25=100000 26=200000 27=400000 28=7fff F=81800000 | =
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=7fff 10=7fff 11=7fff 19=400 25=100000 26=200000 27=400000 28=7fff F=81800000 | =
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=7fff 10=7fff 11=7fff 19=390 25=120000 26=250000 27=390000 28=7fff F=81800000 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+op 34:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 11=480 19=480 25=120 26=240 27=480 28=2482 F=80020000 | 9=7fff 10=7fff 11=7fff 25=120000 26=240000 27=480000 28=7fff 63=81820000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 11=400 13=3ff01ff 19=400 25=100 26=200 27=400 28=2082 F=80020000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=100000 26=200000 27=400000 28=7fff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 11=402 13=3ff0263 19=402 25=144 26=29a 27=402 28=20a2 F=80022000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=144000 26=29a000 27=402000 28=7fff 63=81836000
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+Done.
+```
+
+[10SG7.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/10SG7.txt)
+
+```
+===== 10 SG7 F2 GTE 35 TO 37 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 35:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f 19=220 F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff01ff 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 13=3ff03ff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0263 19=110 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 13=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 36:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff0000 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0000 14=3ff0287 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 37:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 13=3ff0000 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 13=3ff0000 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+Done.
+```
+
+[11SG8.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/11SG8.txt)
+
+```
+===== 11 SG8 F2 GTE 38 TO 3B | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 38:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: F=80020000 | =
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 39:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=0 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=600050 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+Done.
+```
+
+[12SMS.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/12SMS.txt)
+
+```
+===== 12 SMS F2 MDEC SHORT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+Short decodes by CPU at 8 bit (depth 1), unsigned, the 4bit/8bit block's tables
+(kBlkQuant, kBlkScale). Pattern words: FE00h end code over a DC halfword, q_scale 1;
+A has DC 16*i-256 in word i (i = 0 to 31), B has DC 240-16*i. At most 256 words shown.
+No pattern (the tables were the last words in), then count 1, 1 words written: 80 words out, CRC A589EA50, status 8204FFFF
+ A8B7C2C8 787E8998 9AA8B4BA 6A707B8A 85949FA5 555B6675 77859197 474D5867
+ 77859197 474D5867 85949FA5 555B6675 9AA8B4BA 6A707B8A A8B7C2C8 787E8998
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 1, 1 words written: 496 words out, CRC 3410B6D8, status 8204FFFF
+ 32414C52 02081422 69788389 393F4A59 B6C5D0D6 868C97A6 ECFBFFFF BCC2CEDC
+ ECFBFFFF BCC2CEDC B6C5D0D6 868C97A6 69788389 393F4A59 32414C52 02081422
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 1, 1 words written: 496 words out, CRC A468B6F1, status 8204FFFF
+ E6F5FFFF B6BCC7D6 B3C2CDD3 838995A3 6B7A858C 3B414D5B 39475359 080F1A29
+ 39475359 080F1A29 6B7A858C 3B414D5B B3C2CDD3 838995A3 E6F5FFFF B6BCC7D6
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+No pattern (the tables were the last words in), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 2, 2 words written: 480 words out, CRC 5D6A404E, status 8204FFFF
+ FDD99D70 2059ACEE FFE8AB7F 2E67BBFC FFF9BC8F 3F78CBFF FFF9BD90 4079CCFF
+ FFDFA376 265FB2F3 D3AF7245 002E81C3 9D793C10 00004C8D 7B561A00 0000296B
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Done.
+```
+
+[13SSD.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/13SSD.txt)
+
+```
+===== 13 SSD F2 SPU DRAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+SPU write FIFO drain to scratch at 30000h (32 halfwords filled EEEEh first), SPUCNT
+transfer mode Stop after the wait, then all 32 read back by DMA. Pattern B000h + i.
+By DMA, 16 words in one block; the wait counted from the DMA's end:
+ DMA, wait 0: 9 written, 0 EEEEh, 0 5555h, 23 other (first 1111) wwwwwwwww???????????????????????
+ DMA, wait 50: 10 written, 0 EEEEh, 0 5555h, 22 other (first 0005) wwwwwwwwww??????????????????????
+ DMA, wait 100: 10 written, 0 EEEEh, 0 5555h, 22 other (first 0005) wwwwwwwwww??????????????????????
+ DMA, wait 150: 10 written, 0 EEEEh, 0 5555h, 22 other (first 0005) wwwwwwwwww??????????????????????
+ DMA, wait 200: 10 written, 0 EEEEh, 0 5555h, 22 other (first 0005) wwwwwwwwww??????????????????????
+ DMA, wait 250: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 300: 14 written, 0 EEEEh, 0 5555h, 18 other (first 0007) wwwwwwwwwwwwww??????????????????
+ DMA, wait 350: 16 written, 0 EEEEh, 0 5555h, 16 other (first 0008) wwwwwwwwwwwwwwww????????????????
+ DMA, wait 400: 18 written, 0 EEEEh, 0 5555h, 14 other (first 0009) wwwwwwwwwwwwwwwwww??????????????
+ DMA, wait 450: 20 written, 0 EEEEh, 0 5555h, 12 other (first 000A) wwwwwwwwwwwwwwwwwwww????????????
+ DMA, wait 500: 22 written, 0 EEEEh, 0 5555h, 10 other (first 000B) wwwwwwwwwwwwwwwwwwwwww??????????
+ DMA, wait 550: 25 written, 0 EEEEh, 0 5555h, 7 other (first 1111) wwwwwwwwwwwwwwwwwwwwwwwww???????
+ DMA, wait 600: 26 written, 0 EEEEh, 0 5555h, 6 other (first 000D) wwwwwwwwwwwwwwwwwwwwwwwwww??????
+ DMA, wait 650: 29 written, 0 EEEEh, 0 5555h, 3 other (first 1111) wwwwwwwwwwwwwwwwwwwwwwwwwwwww???
+ DMA, wait 700: 30 written, 0 EEEEh, 0 5555h, 2 other (first 000F) wwwwwwwwwwwwwwwwwwwwwwwwwwwwww??
+ DMA, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+By hand, 16 halfwords (B000h-B00Fh) to the FIFO, then Manual Write; the wait counted
+from the SPUCNT store:
+ manual, wait 0: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 50: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 100: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 150: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 200: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 250: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 300: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 350: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 400: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 450: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 500: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 550: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 600: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 650: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 700: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ SPUSTAT after the Manual Write store, status@timer 2:
+ 0000@53 0000@86 0000@119 0000@152 0000@185 0000@218 0410@251 0410@284
+ 0410@317 0410@350 0410@383 0410@416 0410@449 0410@482 0410@515 0410@548
+ 0410@581 0410@614 0410@647 0410@680 0410@713 0410@746 0410@779 0410@814
+ manual, wait 3000: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+Done.
+```
+
+[14SMR.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/14SMR.txt)
+
+```
+===== 14 SMR F2 MDEC RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+MDEC reset. Each row starts from a 15 bit decode with the input full (status read just
+before, shown once), writes timer 2's mode, MDEC1 80000000h, then N nops, then reads
+MDEC1 and timer 2. Run twice from the same state: cold, then warm. status@timer 2.
+Status before the reset: E60400DF
+ 0 nops: cold E6040040@13, warm E6040040@6
+ 10 nops: cold 80040000@29, warm 80040000@14
+ 20 nops: cold 80040000@55, warm 80040000@24
+ 30 nops: cold 80040000@78, warm 80040000@34
+ 40 nops: cold 80040000@106, warm 80040000@44
+ 50 nops: cold 80040000@123, warm 80040000@54
+ 60 nops: cold 80040000@149, warm 80040000@64
+ 70 nops: cold 80040000@169, warm 80040000@74
+ 80 nops: cold 80040000@192, warm 80040000@84
+ 90 nops: cold 80040000@214, warm 80040000@159
+100 nops: cold 80040000@236, warm 80040000@104
+110 nops: cold 80040000@258, warm 80040000@178
+120 nops: cold 80040000@284, warm 80040000@134
+130 nops: cold 80040000@303, warm 80040000@134
+140 nops: cold 80040000@331, warm 80040000@144
+150 nops: cold 80040000@352, warm 80040000@154
+160 nops: cold 80040000@374, warm 80040000@201
+170 nops: cold 80040000@393, warm 80040000@209
+180 nops: cold 80040000@422, warm 80040000@228
+190 nops: cold 80040000@438, warm 80040000@194
+200 nops: cold 80040000@468, warm 80040000@204
+Enables after a reset. From idle (a reset 2000 cycles before): MDEC1 80000000h, N nops,
+MDEC1 60000000h, then MDEC1 and timer 2 read at once (status@timer 2); the status again
+2000 cycles on; MDEC0 40000000h (luminance quant table) and the status; its 16 words by
+DMA0 (cycles, or timeout after 200000 polls) and the status after. Run cold, then warm.
+Enables rows, each with a DMA0 that times out if the enables were lost: not run in this table.
+Done.
+```
+
+[15SDS.txt](/tests/raw/20260927T0000Z-5501a-card-g3/followup2_safe/15SDS.txt)
+
+```
+===== 15 SDS F2 DMA SPU COST | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+DMA4 SPU write, SyncMode 1, to 30000h, delay register 1F801014h = 200931E1h (it was
+200931E1). Cycles from the CHCR write until bit 24 clears, three times each.
+Blocks of 1 words x 256 (256 words): 16396 16345 16348
+Blocks of 2 words x 128 (256 words): 16293 16268 16298
+Blocks of 3 words x 85 (255 words): 17625 17171 16204
+Blocks of 4 words x 64 (256 words): 18048 18072 18072
+Blocks of 5 words x 51 (255 words): 17596 17562 17576
+Blocks of 6 words x 42 (252 words): 17022 17014 17014
+Blocks of 8 words x 32 (256 words): 17043 17043 17043
+Blocks of 12 words x 21 (252 words): 15829 15828 15828
+Blocks of 16 words x 16 (256 words): 16873 16850 16849
+Blocks of 24 words x 10 (240 words): 10411 10394 10394
+Blocks of 31 words x 8 (248 words): 8103 8158 8117
+Blocks of 32 words x 8 (256 words): 8169 8135 8162
+SyncMode 0, which the CPU cannot poll during: not run in this table.
+Done.
+```
+
+### 28 September 2026
+
+[00RUN.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/00RUN.txt)
+
+```
+===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+15 tests
+A chain program, linked at 80010000
+Saved on the card in slot 2, from image 1
+COP0 at start: BPC 00000000 BDA 80024F50 TAR BFC02BAC DCIC 00000000 BadVaddr 800154CE BDAM FFFFFFFF
+BPCM 00000000 SR 40000000 Cause 00000020 EPC 801132F8 PRId 00000002
+```
+
+[01SDI.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/01SDI.txt)
+
+```
+===== 01 SDI F2 DICR POLL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+DICR written with timer 2 zeroed just before it. Interrupts off (SR IEc 0) throughout.
+DICR 0 is the scale: its loop runs all 300 turns, so timer 2 over 300 gives one turn.
+I_STAT bit 3, a loop of one I_STAT load a turn (lw, addiu, andi, sltiu, sltu, and, bnez, nop):
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 3622
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 24
+I_STAT bit 3, eight I_STAT loads back to back:
+ DICR 00000000: I_STAT bit 3 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 53
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+ DICR 00008000: I_STAT bit 3 after each of the 8 loads: 0 0 1 1 1 1 1 1; timer 2 after them 32
+CAUSE.IP2, a loop of one mfc0 CAUSE a turn (the same loop), I_MASK 00000008:
+ DICR 00000000: the bit never set in 300 turns; timer 2 after them 2420
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+ DICR 00008000: the bit was set on turn 2; timer 2 after the loop 16
+CAUSE.IP2, eight mfc0 CAUSE back to back, I_MASK 00000008:
+ DICR 00000000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 0; timer 2 after them 25
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+ DICR 00008000: CAUSE.IP2 after each of the 8 loads: 0 0 0 0 0 0 0 1; timer 2 after them 8
+DICR was 00000000 and is back to 0, then its enables.
+Done.
+```
+
+[02SIM.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/02SIM.txt)
+
+```
+===== 02 SIM F2 IMASK UPPER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+I_MASK's upper half. Each row stores to I_MASK and loads it back; the value is
+12345678h unless the row says otherwise. Interrupts off. The RAM word is 5AA5C33Ch, the
+BIOS word at BFC00100h is its date, the scratchpad word is written 7EE71234h first.
+a: sw $9,1074h($8) (AD091074h), lw (code at 80016048): cached 3C090678 then 12340678, uncached 03E00678
+b: sw $10,1074h($8) (AD0A1074h), lw (code at 80016068): cached 12340678 then 12340678, uncached 03E00678
+c: sw $9,4($11) (AD690004h), lw (code at 8001608C): cached 12340678 then 12340678, uncached 03E00678
+d: value 0000FFFFh, sw $9,1074h($8), lw (code at 800160B0): cached 000007FF then 000007FF, uncached 03E007FF
+e: sw, lw of RAM, nop, lw (code at 800160CC): cached 5AA50678 then 5AA50678, uncached 03E00678
+f: sw, lw of BIOS BFC00100h, nop, lw (code at 800160FC): cached 3C090678 then 27BD0678, uncached 03E00678
+g: sw, lw of GPUSTAT, nop, lw (code at 80016128): cached 00000678 then 27BD0678, uncached 03E00678
+h: sw, lw of scratchpad, nop, lw (code at 80016150): cached 3C090678 then 27BD0678, uncached 03E00678
+i: sw, lw of I_STAT, nop, lw (code at 80016178): cached 00000678 then 27BD0678, uncached 03E00678
+j: lw of RAM, nop, sw, lw (code at 800161A0): cached 12340678 then 12340678, uncached 03E00678
+k: sw, 4 nops, lw (code at 800161D0): cached 00000678 then 27BD0678, uncached 03E00678
+l: sw, lw of timer 2's counter, nop, lw (code at 80016200): cached AFB00678 then 27BD0678, uncached 03E00678
+GPUSTAT now 5606200F. I_MASK back to 24840009.
+Done.
+```
+
+[03STH.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/03STH.txt)
+
+```
+===== 03 STH F2 T1 HBLANK SYNC1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+Timer1 sync mode 1 (reset at vblank), set at the vblank IRQ (I_STAT bit 0, polled);
+timer 2 counts system cycles from then. Each sample is timer 2 then timer 1 (t:v).
+Hblank clock (mode 0103h), run 1, every sample (141):
+ 47033:21 47082:21 47124:21 47175:22 47226:22 47277:22 47319:22 47370:22
+ 47421:22 47472:22 47523:22 47574:22 47625:22 47676:22 47727:22 47769:22
+ 47820:22 47871:22 47922:22 47973:22 48024:22 48075:22 48126:22 48177:22
+ 48219:22 48270:22 48321:22 48372:22 48423:22 48474:22 48525:22 48576:22
+ 48627:22 48669:22 48720:22 48772:22 48823:22 48874:22 48925:22 48976:22
+ 49028:22 49070:22 49121:22 49172:22 49223:22 49274:22 49325:23 49376:23
+ 49427:23 49469:23 49520:23 49571:23 49622:23 49673:23 49724:23 49775:23
+ 49826:23 49877:23 49919:23 49970:23 50021:23 50072:23 50123:23 50174:23
+ 50225:23 50276:23 50327:23 50369:23 50420:23 50471:23 50522:23 50573:23
+ 50624:23 50675:23 50726:23 50777:23 50820:23 50871:23 50922:23 50973:23
+ 51024:23 51076:23 51127:23 51169:23 51220:23 51271:23 51322:23 51373:23
+ 51424:23 51475:24 51526:24 51577:24 51619:24 51670:24 51721:24 51772:24
+ 51823:24 51874:24 51925:24 51976:24 52027:0 52069:0 52120:0 52171:0
+ 52222:0 52273:0 52324:0 52375:0 52426:0 52477:0 52519:0 52570:0
+ 52621:0 52672:0 52723:0 52774:0 52825:0 52876:0 52927:0 52969:0
+ 53020:0 53071:0 53124:0 53175:0 53226:0 53277:0 53319:0 53370:0
+ 53421:0 53472:0 53523:0 53574:0 53625:0 53676:0 53727:0 53769:0
+ 53820:0 53871:0 53922:0 53973:0 54024:0
+Hblank clock (mode 0103h), run 1, 141 samples; where timer 1 changes: 47124:21->47175:22 49274:22->49325:23 51424:23->51475:24 51976:24->52027:0
+Hblank clock (mode 0103h), run 2, 141 samples; where timer 1 changes: 47121:21->47172:22 49274:22->49326:23 51425:23->51476:24 51926:24->51977:0
+Hblank clock (mode 0103h), run 3, 141 samples; where timer 1 changes: 47124:21->47175:22 49272:22->49323:23 51422:23->51473:24 51974:24->52025:0
+Hblank clock (mode 0103h), run 4, 141 samples; where timer 1 changes: 47125:21->47176:22 49274:22->49325:23 51424:23->51475:24 51976:24->52027:0
+System clock (mode 0003h), 141 samples; where timer 1 drops: 49419:49419->49470:44; last sample 54026:4600
+Done.
+```
+
+[04SG1.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/04SG1.txt)
+
+```
+===== 04 SG1 F2 GTE 02 TO 07 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 02:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=100 10=200 19=100 25=100 26=200 28=82 F=0 | 9=7fff 10=7fff 25=100000 26=200000 28=3ff 63=81800000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=120 10=250 19=80 25=120 26=250 F=0 | 9=7fff 10=7fff 25=120000 26=250000 28=27ff 63=81800000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 03:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=250 14=3ff025f 26=250 F=80022000 | 10=7fff 26=250000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 04:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 07:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=fffffc00 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+Done.
+```
+
+[05SG2.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/05SG2.txt)
+
+```
+===== 05 SG2 F2 GTE 08 TO 17 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 08:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffea00 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 09:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 24=ffffe000 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: 24=120 F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: F=0 | =
+ LLMxV: F=0 | =
+ LCMxV: F=0 | =
+op 0A:
+ zero: F=0 | =
+ unit: 20=ffffff 21=ffffff F=81f80000 | =
+ V0: 20=ffffff 21=ffffff F=81f80000 | =
+ V1: 20=ffffff 21=ffffff F=81f80000 | =
+ V2: 20=ffffff 21=ffffff F=81f80000 | =
+ IR0: 20=ffffff 21=ffffff F=81f80000 | =
+ IR1: 9=7fff 20=ffffff 21=ffffff 22=ff 25=130000 28=1f F=81f80000 | =
+ IR2: 10=7fff 20=ffffff 21=ffffff 22=ff00 26=260000 28=3e0 F=81f80000 | =
+ IR3: 11=7fff 20=ffffff 21=ffffff 22=ff0000 27=4c0000 28=7c00 F=81f80000 | =
+ RGBC: 20=40ffffff 21=40ffffff 22=40000000 F=81f80000 | =
+ SXY: 20=ffffff 21=ffffff 24=fffff400 F=81f80000 | =
+ SZ: 20=ffffff 21=ffffff F=81f80000 | =
+ MAC0: 20=ffffff 21=ffffff 24=0 F=81f80000 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: 24=120 F=0 | 24=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff F=81f80000 | =
+op 0D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 10=130 11=fffffed0 26=130 27=fffffed0 28=40 F=0 | 10=7fff 11=ffff8000 26=130000 27=ffed0000 28=3e0 63=80c00000
+ IR2: 9=fffffda0 10=0 11=260 25=fffffda0 27=260 28=1000 F=0 | 9=ffff8000 11=7fff 25=ffda0000 27=260000 28=7c00 63=81400000
+ IR3: 10=fffffb40 11=0 26=fffffb40 28=0 F=0 | 10=ffff8000 26=ffb40000 63=80800000
+ RGBC: F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 9=120 25=120 28=2
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=fffffe84 10=fffffe5e 11=85 25=fffffe84 26=fffffe5e 27=85 28=400 F=0 | 9=ffff8000 10=ffff8000 11=7fff 25=ffe84000 26=ffe5e000 27=85000 28=7c00 63=81c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 0E:
+ zero: F=0 | =
+ unit: 20=ffffff 21=ffffff F=81f80000 | =
+ V0: 20=ffffff 21=ffffff F=81f80000 | =
+ V1: 20=ffffff 21=ffffff F=81f80000 | =
+ V2: 20=ffffff 21=ffffff F=81f80000 | =
+ IR0: 20=ffffff 21=ffffff F=81f80000 | =
+ IR1: 9=7fff 10=7fff 11=ffff8000 20=ffffff 21=ffffff 22=ffff 25=130000 26=7fff000 27=ffed0000 28=3ff F=81f80000 | 27=f8000000
+ IR2: 10=0 20=ffffff 21=ffffff 28=0 F=81f80000 | =
+ IR3: 10=ffff8000 11=0 20=ffffff 21=ffffff 26=f8000000 28=0 F=81f80000 | =
+ RGBC: 20=40ffffff 21=40ffffff 22=40000000 F=81f80000 | =
+ SXY: 20=ffffff 21=ffffff F=81f80000 | =
+ SZ: 20=ffffff 21=ffffff F=81f80000 | =
+ MAC0: 20=ffffff 21=ffffff F=81f80000 | =
+ TR: F=0 | =
+ BK: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff F=81f80000 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=80800000 | 63=80c00000
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=9a600 26=3b600 27=61600 28=7fff F=81f80000 | =
+op 15:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 9=7ff 10=fff 11=17ff 22=40ffff7f 25=7ff 26=fff 27=17ff 28=7fef F=80000 | 9=7fff 10=7fff 11=7fff 22=40ffffff 25=7fff00 26=fffe00 27=17ffd00 28=7fff 63=81f80000
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 17:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | 63=81000000
+ IR2: 10=0 28=0 F=0 | 63=80800000
+ IR3: 11=0 28=0 F=0 | 63=400000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | 63=81c00000
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | 63=81c00000
+Done.
+```
+
+[06SG3.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/06SG3.txt)
+
+```
+===== 06 SG3 F2 GTE 18 TO 1F | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 18:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 19:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1D:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 1F:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+Done.
+```
+
+[07SG4.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/07SG4.txt)
+
+```
+===== 07 SG4 F2 GTE 21 TO 23 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 21:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442211 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffffff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 22:
+ zero: 20=ff F=0 | 20=0
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 20=13 22=ff 25=130000 28=1f 63=81200000
+ IR2: 20=ff 22=2600 26=260 F=0 | 10=7fff 20=0 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=442200 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ffff11 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: 20=ff F=0 | 20=0
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 20=16 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 23:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 20=40000000 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 20=440000 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 20=ff0000 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+Done.
+```
+
+[08SG5.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/08SG5.txt)
+
+```
+===== 08 SG5 F2 GTE 24 TO 27 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 24:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 21=442211 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 21=ffffff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 25:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 22=13 25=130 F=0 | 9=7fff 22=ff 25=130000 28=1f 63=81200000
+ IR2: 22=2600 26=260 F=0 | 10=7fff 22=ff00 26=260000 28=3e0 63=80900000
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 9=110 10=220 11=440 22=442211 25=110 26=220 27=440 28=2082 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=110000 26=220000 27=440000 28=7fff 63=81f80000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=166 10=2cf 11=44b 22=442c16 25=166 26=2cf 27=44b 28=20a2 F=0 | 9=7fff 10=7fff 11=7fff 22=ffffff 25=166a00 26=2cfa00 27=44ba00 28=7fff 63=81f80000
+op 26:
+ zero: 22=ff F=0 | =
+ unit: 22=ff F=0 | =
+ V0: 22=ff F=0 | =
+ V1: 22=ff F=0 | =
+ V2: 22=ff F=0 | =
+ IR0: 22=ff F=0 | =
+ IR1: 22=ff F=0 | =
+ IR2: 22=26ff 26=260 F=0 | 10=7fff 22=ffff 26=260000 28=3e0 63=80900000
+ IR3: 22=4c00ff 27=4c0 F=0 | 11=7fff 22=ff00ff 27=4c0000 28=7c00 63=480000
+ RGBC: 22=400000ff F=0 | =
+ SXY: 22=ff F=0 | =
+ SZ: 22=ff F=0 | =
+ MAC0: 22=ff F=0 | =
+ TR: 22=ff F=0 | =
+ BK: 10=220 11=440 22=4422ff 26=220 27=440 28=2080 F=0 | 10=7fff 11=7fff 22=ffffff 26=220000 27=440000 28=7fe0 63=80d80000
+ FC: 22=ff F=0 | =
+ OF: 22=ff F=0 | =
+ H: 22=ff F=0 | =
+ DQA: 22=ff F=0 | =
+ DQB: 22=ff F=0 | =
+ ZSF3: 22=ff F=0 | =
+ ZSF4: 22=ff F=0 | =
+ RTxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LLMxV: 10=0 11=0 22=ff 28=2 F=0 | =
+ LCMxV: 10=2cf 11=44b 22=442cff 26=2cf 27=44b 28=20a2 F=0 | 10=7fff 11=7fff 22=ffffff 26=2cfa00 27=44ba00 28=7fe2 63=80d80000
+op 27:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: F=0 | =
+ IR2: F=0 | =
+ IR3: 22=4c0000 27=4c0 F=0 | 11=7fff 22=ff0000 27=4c0000 28=7c00 63=480000
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: 11=440 22=440000 27=440 28=2000 F=0 | 11=7fff 22=ff0000 27=440000 28=7c00 63=480000
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 11=0 28=82 F=0 | =
+ LLMxV: 11=0 28=82 F=0 | =
+ LCMxV: 11=44b 22=440000 27=44b 28=2082 F=0 | 11=7fff 22=ff0000 27=44ba00 28=7c82 63=480000
+Done.
+```
+
+[09SG6.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/09SG6.txt)
+
+```
+===== 09 SG6 F2 GTE 2B TO 34 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 2B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 21=40000000 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2C:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: F=0 | =
+ IR1: 9=0 28=0 F=0 | =
+ IR2: 10=0 28=0 F=0 | =
+ IR3: 11=0 28=0 F=0 | =
+ RGBC: 22=40000000 F=0 | =
+ SXY: F=0 | =
+ SZ: F=0 | =
+ MAC0: F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | 63=81c00000
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: F=0 | =
+ DQB: F=0 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=0 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=0 | =
+op 2F:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: 9=7fff 10=7fff 11=7fff 19=400 25=100000 26=200000 27=400000 28=7fff F=81800000 | =
+ V1: F=80020000 | =
+ V2: F=80020000 | =
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=400030 13=600050 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=7fff 10=7fff 11=7fff 19=400 25=100000 26=200000 27=400000 28=7fff F=81800000 | =
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=7fff 10=7fff 11=7fff 19=390 25=120000 26=250000 27=390000 28=7fff F=81800000 | =
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+op 34:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 11=480 19=480 25=120 26=240 27=480 28=2482 F=80020000 | 9=7fff 10=7fff 11=7fff 25=120000 26=240000 27=480000 28=7fff 63=81820000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: 11=0 28=0 F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 11=400 13=3ff01ff 19=400 25=100 26=200 27=400 28=2082 F=80020000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=100000 26=200000 27=400000 28=7fff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 11=402 13=3ff0263 19=402 25=144 26=29a 27=402 28=20a2 F=80022000 | 9=7fff 10=7fff 11=7fff 13=3ff03ff 25=144000 26=29a000 27=402000 28=7fff 63=81836000
+ LLMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+ LCMxV: 9=0 10=0 11=0 28=0 F=80020000 | =
+Done.
+```
+
+[10SG7.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/10SG7.txt)
+
+```
+===== 10 SG7 F2 GTE 35 TO 37 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 35:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff021f 19=220 F=80022000 | 13=3ff03ff 63=81836000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=300 17=400 18=0 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff01ff 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 13=3ff03ff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0263 19=110 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 13=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 36:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 9=120 10=240 14=3ff023f 25=120 26=240 28=82 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=120000 26=240000 28=3ff 63=81836000
+ IR0: 8=0 F=80020000 | =
+ IR1: 9=0 28=0 F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 9=100 10=200 13=3ff0000 14=3ff01ff 25=100 26=200 28=82 F=80020000 | 9=7fff 10=7fff 14=3ff03ff 25=100000 26=200000 28=3ff 63=81836000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 9=144 10=29a 13=3ff0000 14=3ff0287 25=144 26=29a 28=24a2 F=80022000 | 9=7fff 10=7fff 14=3ff03ff 25=144000 26=29a000 28=27ff 63=81836000
+ LLMxV: 9=0 10=0 28=2400 F=80020000 | =
+ LCMxV: 9=0 10=0 28=2400 F=80020000 | =
+op 37:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: 13=3ff0000 F=80022000 | 63=80832000
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 13=3ff0000 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 13=3ff0000 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+Done.
+```
+
+[11SG8.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/11SG8.txt)
+
+```
+===== 11 SG8 F2 GTE 38 TO 3B | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+GTE, one input at a time, lm 0, no other command bits. Cases: zero = every register 0;
+unit = RT, LLM, LCM 1000h on the diagonal, the rest 0; V0 (100,200,400), V1 (110,220,440),
+V2 (120,240,480), IR0 800, IR1 130, IR2 260, IR3 4C0, RGBC 40302010, SXY0-2 00200010
+00400030 00600050, SZ0-3 100 200 300 400, MAC0 12345: each alone with the unit matrices.
+TR (100,200,400), BK (110,220,440), FC (120,240,480), OFX A00000 OFY 780000, H 200, DQA
+100, DQB 1400000, ZSF3 155, ZSF4 100: each alone, the rest 0. RTxV, LLMxV, LCMxV: that
+matrix (800 100 200 / 300 900 400 / 500 600 A00, plus 10h for LLM, 20h for LCM) with V0,
+V1, V2 and IR1-3 as above. Each row: sf 1 changes as reg=hex and F=FLAG; after | the
+registers where sf 0 differs from sf 1 (63 is FLAG), or = when none.
+op 38:
+ zero: F=80020000 | =
+ unit: F=80020000 | =
+ V0: F=80020000 | =
+ V1: F=80020000 | =
+ V2: 10=240 14=3ff0000 26=240 28=80 F=80022000 | 10=7fff 26=240000 28=3e0 63=80832000
+ IR0: 8=0 F=80020000 | =
+ IR1: 14=25f F=80020000 | =
+ IR2: 10=0 28=0 F=80020000 | =
+ IR3: F=80020000 | =
+ RGBC: F=80020000 | =
+ SXY: 12=0 13=0 14=0 F=80020000 | =
+ SZ: 16=200 17=300 18=400 19=0 F=80020000 | =
+ MAC0: 24=0 F=80020000 | =
+ TR: 10=200 14=3ff0000 26=200 28=80 F=80020000 | 10=7fff 26=200000 28=3e0 63=80832000
+ BK: F=80020000 | =
+ FC: F=80020000 | =
+ OF: 12=7800a0 13=7800a0 14=7800a0 F=80020000 | =
+ H: F=80020000 | =
+ DQA: 8=1000 24=1ffff00 F=80021000 | =
+ DQB: 8=1000 24=1400000 F=80021000 | =
+ ZSF3: F=80020000 | =
+ ZSF4: F=80020000 | =
+ RTxV: 10=29a 14=3ff025f 26=29a 28=24a2 F=80022000 | 10=7fff 26=29a000 28=27e2 63=80832000
+ LLMxV: 10=0 14=25f 28=2402 F=80020000 | =
+ LCMxV: 10=0 14=25f 28=2402 F=80020000 | =
+op 39:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=0 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3A:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=600050 13=0 14=0 F=0 | =
+ SZ: 16=200 17=300 18=400 19=0 F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+op 3B:
+ zero: F=0 | =
+ unit: F=0 | =
+ V0: F=0 | =
+ V1: F=0 | =
+ V2: F=0 | =
+ IR0: 8=0 F=0 | =
+ IR1: 14=25f F=0 | =
+ IR2: 14=3ff0000 F=80002000 | =
+ IR3: F=0 | =
+ RGBC: F=0 | =
+ SXY: 12=400030 13=600050 14=0 F=0 | =
+ SZ: F=0 | =
+ MAC0: 24=0 F=0 | =
+ TR: F=0 | =
+ BK: F=0 | =
+ FC: F=0 | =
+ OF: F=0 | =
+ H: F=0 | =
+ DQA: 8=1000 24=1ffff00 F=1000 | =
+ DQB: 8=1000 24=1400000 F=1000 | =
+ ZSF3: F=0 | =
+ ZSF4: F=0 | =
+ RTxV: 14=3ff025f F=80002000 | =
+ LLMxV: 14=3ff025f F=80002000 | =
+ LCMxV: 14=3ff025f F=80002000 | =
+Done.
+```
+
+[12SMS.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/12SMS.txt)
+
+```
+===== 12 SMS F2 MDEC SHORT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+Short decodes by CPU at 8 bit (depth 1), unsigned, the 4bit/8bit block's tables
+(kBlkQuant, kBlkScale). Pattern words: FE00h end code over a DC halfword, q_scale 1;
+A has DC 16*i-256 in word i (i = 0 to 31), B has DC 240-16*i. At most 256 words shown.
+No pattern (the tables were the last words in), then count 1, 1 words written: 80 words out, CRC A589EA50, status 8204FFFF
+ A8B7C2C8 787E8998 9AA8B4BA 6A707B8A 85949FA5 555B6675 77859197 474D5867
+ 77859197 474D5867 85949FA5 555B6675 9AA8B4BA 6A707B8A A8B7C2C8 787E8998
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 1, 1 words written: 496 words out, CRC 3410B6D8, status 8204FFFF
+ 32414C52 02081422 69788389 393F4A59 B6C5D0D6 868C97A6 ECFBFFFF BCC2CEDC
+ ECFBFFFF BCC2CEDC B6C5D0D6 868C97A6 69788389 393F4A59 32414C52 02081422
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 48484848 48484848 48484848 48484848 48484848 48484848 48484848 48484848
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 1, 1 words written: 496 words out, CRC A468B6F1, status 8204FFFF
+ E6F5FFFF B6BCC7D6 B3C2CDD3 838995A3 6B7A858C 3B414D5B 39475359 080F1A29
+ 39475359 080F1A29 6B7A858C 3B414D5B B3C2CDD3 838995A3 E6F5FFFF B6BCC7D6
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4 B4B4B4B4
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+No pattern (the tables were the last words in), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Pattern A first (count 32: 512 words out, CRC CF32359C), then count 2, 2 words written: 480 words out, CRC 5D6A404E, status 8204FFFF
+ FDD99D70 2059ACEE FFE8AB7F 2E67BBFC FFF9BC8F 3F78CBFF FFF9BD90 4079CCFF
+ FFDFA376 265FB2F3 D3AF7245 002E81C3 9D793C10 00004C8D 7B561A00 0000296B
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C 4C4C4C4C
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 50505050 50505050 50505050 50505050 50505050 50505050 50505050 50505050
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 54545454 54545454 54545454 54545454 54545454 54545454 54545454 54545454
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 58585858 58585858 58585858 58585858 58585858 58585858 58585858 58585858
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C5C
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 60606060 60606060 60606060 60606060 60606060 60606060 60606060 60606060
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 64646464 64646464 64646464 64646464 64646464 64646464 64646464 64646464
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 68686868 68686868 68686868 68686868 68686868 68686868 68686868 68686868
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C 6C6C6C6C
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 70707070 70707070 70707070 70707070 70707070 70707070 70707070 70707070
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 74747474 74747474 74747474 74747474 74747474 74747474 74747474 74747474
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+Pattern B first (count 32: 512 words out, CRC BF7813E8), then count 2, 2 words written: 480 words out, CRC CA80C555, status 8204FFFF
+ 5694E2FF C79E6746 65A3F1FF D6AD7555 75B3FFFF E6BD8665 76B4FFFF E7BE8766
+ 5C9AE8FF CDA46C4C 2B69B7EC 9C733C1B 003482B7 673E0600 00115F94 441B0000
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0 B0B0B0B0
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC ACACACAC
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8 A8A8A8A8
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4 A4A4A4A4
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0 A0A0A0A0
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C 9C9C9C9C
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 98989898 98989898 98989898 98989898 98989898 98989898 98989898 98989898
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 94949494 94949494 94949494 94949494 94949494 94949494 94949494 94949494
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 90909090 90909090 90909090 90909090 90909090 90909090 90909090 90909090
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C 8C8C8C8C
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 88888888 88888888 88888888 88888888 88888888 88888888 88888888 88888888
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 84848484 84848484 84848484 84848484 84848484 84848484 84848484 84848484
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 80808080 80808080 80808080 80808080 80808080 80808080 80808080 80808080
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C 7C7C7C7C
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+ 78787878 78787878 78787878 78787878 78787878 78787878 78787878 78787878
+Done.
+```
+
+[13SSD.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/13SSD.txt)
+
+```
+===== 13 SSD F2 SPU DRAIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+SPU write FIFO drain to scratch at 30000h (32 halfwords filled EEEEh first), SPUCNT
+transfer mode Stop after the wait, then all 32 read back by DMA. Pattern B000h + i.
+By DMA, 16 words in one block; the wait counted from the DMA's end:
+ DMA, wait 0: 9 written, 0 EEEEh, 0 5555h, 23 other (first 1111) wwwwwwwww???????????????????????
+ DMA, wait 50: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 100: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 150: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 200: 11 written, 0 EEEEh, 0 5555h, 21 other (first 1111) wwwwwwwwwww?????????????????????
+ DMA, wait 250: 12 written, 0 EEEEh, 0 5555h, 20 other (first 0006) wwwwwwwwwwww????????????????????
+ DMA, wait 300: 14 written, 0 EEEEh, 0 5555h, 18 other (first 0007) wwwwwwwwwwwwww??????????????????
+ DMA, wait 350: 16 written, 0 EEEEh, 0 5555h, 16 other (first 0008) wwwwwwwwwwwwwwww????????????????
+ DMA, wait 400: 18 written, 0 EEEEh, 0 5555h, 14 other (first 0009) wwwwwwwwwwwwwwwwww??????????????
+ DMA, wait 450: 21 written, 0 EEEEh, 0 5555h, 11 other (first 1111) wwwwwwwwwwwwwwwwwwwww???????????
+ DMA, wait 500: 23 written, 0 EEEEh, 0 5555h, 9 other (first 1111) wwwwwwwwwwwwwwwwwwwwwww?????????
+ DMA, wait 550: 24 written, 0 EEEEh, 0 5555h, 8 other (first 000C) wwwwwwwwwwwwwwwwwwwwwwww????????
+ DMA, wait 600: 27 written, 0 EEEEh, 0 5555h, 5 other (first 1111) wwwwwwwwwwwwwwwwwwwwwwwwwww?????
+ DMA, wait 650: 28 written, 0 EEEEh, 0 5555h, 4 other (first 000E) wwwwwwwwwwwwwwwwwwwwwwwwwwww????
+ DMA, wait 700: 31 written, 0 EEEEh, 0 5555h, 1 other (first 1111) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww?
+ DMA, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ DMA, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+By hand, 16 halfwords (B000h-B00Fh) to the FIFO, then Manual Write; the wait counted
+from the SPUCNT store:
+ manual, wait 0: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 50: 0 written, 0 EEEEh, 0 5555h, 32 other (first B002) ????????????????????????????????
+ manual, wait 100: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 150: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 200: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 250: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 300: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 350: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 400: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 450: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 500: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 550: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 600: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 650: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 700: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 750: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 800: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 850: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ manual, wait 900: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ SPUSTAT after the Manual Write store, status@timer 2:
+ 0000@53 0000@86 0000@119 0000@154 0000@187 0000@220 0410@253 0410@286
+ 0410@319 0410@352 0410@386 0410@419 0410@452 0410@485 0410@518 0410@551
+ 0410@584 0410@617 0410@650 0410@683 0410@716 0410@749 0410@782 0410@815
+ manual, wait 3000: 32 written, 0 EEEEh, 0 5555h, 0 other wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+Done.
+```
+
+[14SMR.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/14SMR.txt)
+
+```
+===== 14 SMR F2 MDEC RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+MDEC reset. Each row starts from a 15 bit decode with the input full (status read just
+before, shown once), writes timer 2's mode, MDEC1 80000000h, then N nops, then reads
+MDEC1 and timer 2. Run twice from the same state: cold, then warm. status@timer 2.
+Status before the reset: E60400DF
+ 0 nops: cold E6040000@13, warm E6040040@6
+ 10 nops: cold 80040000@29, warm 80040000@14
+ 20 nops: cold 80040000@55, warm 80040000@24
+ 30 nops: cold 80040000@78, warm 80040000@34
+ 40 nops: cold 80040000@106, warm 80040000@44
+ 50 nops: cold 80040000@123, warm 80040000@54
+ 60 nops: cold 80040000@149, warm 80040000@64
+ 70 nops: cold 80040000@169, warm 80040000@74
+ 80 nops: cold 80040000@192, warm 80040000@84
+ 90 nops: cold 80040000@214, warm 80040000@159
+100 nops: cold 80040000@236, warm 80040000@104
+110 nops: cold 80040000@258, warm 80040000@178
+120 nops: cold 80040000@284, warm 80040000@134
+130 nops: cold 80040000@303, warm 80040000@134
+140 nops: cold 80040000@331, warm 80040000@144
+150 nops: cold 80040000@352, warm 80040000@154
+160 nops: cold 80040000@374, warm 80040000@201
+170 nops: cold 80040000@393, warm 80040000@209
+180 nops: cold 80040000@419, warm 80040000@228
+190 nops: cold 80040000@438, warm 80040000@194
+200 nops: cold 80040000@468, warm 80040000@204
+Enables after a reset. From idle (a reset 2000 cycles before): MDEC1 80000000h, N nops,
+MDEC1 60000000h, then MDEC1 and timer 2 read at once (status@timer 2); the status again
+2000 cycles on; MDEC0 40000000h (luminance quant table) and the status; its 16 words by
+DMA0 (cycles, or timeout after 200000 polls) and the status after. Run cold, then warm.
+Enables rows, each with a DMA0 that times out if the enables were lost: not run in this table.
+Done.
+```
+
+[15SDS.txt](/tests/raw/20260928T0000Z-5501a-card-h/followup2_safe/15SDS.txt)
+
+```
+===== 15 SDS F2 DMA SPU COST | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+BadVaddr as the group starts: 800154CE
+DMA4 SPU write, SyncMode 1, to 30000h, delay register 1F801014h = 200931E1h (it was
+200931E1). Cycles from the CHCR write until bit 24 clears, three times each.
+Blocks of 1 words x 256 (256 words): 16345 16335 16334
+Blocks of 2 words x 128 (256 words): 16297 16297 16297
+Blocks of 3 words x 85 (255 words): 17188 17181 17181
+Blocks of 4 words x 64 (256 words): 18079 18063 18063
+Blocks of 5 words x 51 (255 words): 17611 17573 17595
+Blocks of 6 words x 42 (252 words): 17004 17010 17010
+Blocks of 8 words x 32 (256 words): 17042 17066 17066
+Blocks of 12 words x 21 (252 words): 15825 15799 15837
+Blocks of 16 words x 16 (256 words): 16864 16861 16862
+Blocks of 24 words x 10 (240 words): 10374 10374 10374
+Blocks of 31 words x 8 (248 words): 8137 8143 8143
+Blocks of 32 words x 8 (256 words): 8138 8138 8138
+SyncMode 0, which the CPU cannot poll during: not run in this table.
+Done.
+```
+
+## References
+
+[^run]: SCPH-5501 output: [all/00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-f/all/00RUN.txt) and the files beside it, with the other runs listed under Runs.