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