psx.wiki

DMA Chopping: 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: DMA Chopping
+type: test
+summary: Times an 8192-byte DMA2 transfer to VRAM by block size and by chopping window.
+category: Hardware tests
+info: Machine = SCPH-5501
+info: Program = dma/chopping (ps1-tests)
+---
+
+## Overview
+
+The program sends 8192 bytes of random data to VRAM through [DMA](/hardware/dma/) channel 2 after a GP0(A0h) copy command, and times each transfer in CPU cycles from the CHCR write until the channel goes idle. It first uses sync mode 1 with block sizes from 1 to 64 words and 128 words. It then uses sync mode 0 without chopping. Last it uses sync mode 0 with chopping at every pair of DMA window (1 to 128 words) and CPU window (1 to 128 clocks).[^src]
+
+After each transfer the program reads GPUSTAT bit 26 and prints "(GPU busy)" when the GPU was not yet ready for a command.[^src]
+
+## Results
+
+In sync mode 1 the transfer took 22,866 cycles with 1-word blocks and fell as the blocks grew: 12,550 with 2-word blocks, 4,756 with 8, 3,555 with 16, 2,971 with 32 and 2,527 with 128. Sync mode 0 without chopping took 2,245 cycles. No other transfer was shorter.[^run]
+
+With chopping in sync mode 0, the DMA window sets the words moved in each turn and the CPU window the clocks given back to the CPU between turns. The times of the run of 25 September 2026 were as follows:[^run]
+
+Table: Sync mode 0 transfer time with chopping (CPU cycles)
+
+| DMA window (words) | CPU 1 | CPU 2 | CPU 4 | CPU 8 | CPU 16 | CPU 32 | CPU 64 | CPU 128 |
+| --- | --- | --- | --- | --- | --- | --- | --- | --- |
+| 1 | 18,797 | 18,795 | 22,863 | 30,899 | 47,731 | 80,696 | 81,931 | 80,045 |
+| 2 | 9,438 | 10,551 | 12,548 | 16,450 | 24,638 | 41,008 | 73,755 | 73,677 |
+| 4 | 5,782 | 6,320 | 7,351 | 9,422 | 13,430 | 21,860 | 37,952 | 70,681 |
+| 8 | 3,984 | 4,242 | 4,755 | 5,758 | 7,772 | 11,960 | 20,160 | 36,351 |
+| 16 | 3,054 | 3,243 | 3,471 | 4,010 | 4,998 | 7,034 | 11,048 | 19,226 |
+| 32 | 2,676 | 2,766 | 2,810 | 3,124 | 3,630 | 4,634 | 6,596 | 10,748 |
+| 64 | 2,464 | 2,500 | 2,560 | 2,680 | 2,908 | 3,418 | 4,400 | 6,420 |
+| 128 | 2,338 | 2,362 | 2,390 | 2,470 | 2,580 | 2,780 | 3,304 | 4,199 |
+
+With a 1-word DMA window the time stopped growing at about 80,000 cycles once the CPU window reached 32 clocks. With a 2-word window it stopped at about 73,700 cycles from 64 clocks on.[^run]
+
+The six runs agreed to within 0.5% on the small figures. The sync mode 0 transfer without chopping took 2,242 to 2,252 cycles and the 1-word block transfer 22,860 to 22,866 cycles. The 128-word, 128-clock transfer took 4,199 to 4,242 cycles.[^run]
+
+## Runs
+
+### 25 September 2026
+
+[10CHP.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/10CHP.txt)
+
+```
+===== 10 CHP DMA CHOPPING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+
+dma/chopping (DMA Channel 2 CPU->VRAM, chopping test)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 1 ... took 22866 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 2 ... took 12550 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 3 ... took 9167 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 4 ... took 7352 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 5 ... took 6347 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 6 ... took 5712 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 7 ... took 5163 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 8 ... took 4756 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 9 ... took 4545 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 10 ... took 4372 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 11 ... took 4156 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 12 ... took 4074 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 13 ... took 3913 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 14 ... took 3793 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 15 ... took 3662 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 16 ... took 3555 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 17 ... took 3556 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 18 ... took 3502 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 19 ... took 3445 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 20 ... took 3402 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 21 ... took 3221 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 22 ... took 3277 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 23 ... took 3328 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 24 ... took 3241 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 25 ... took 3127 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 26 ... took 3209 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 27 ... took 3116 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 28 ... took 3096 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 29 ... took 3091 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 30 ... took 3081 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 31 ... took 3013 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 32 ... took 2971 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 33 ... took 3034 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 34 ... took 3039 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 35 ... took 2937 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 36 ... took 2975 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 37 ... took 2933 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 38 ... took 2956 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 39 ... took 2863 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 40 ... took 2928 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 41 ... took 2856 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 42 ... took 2775 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 43 ... took 2845 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 44 ... took 2712 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 45 ... took 2735 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 46 ... took 2725 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 47 ... took 2702 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 48 ... took 2674 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 49 ... took 2684 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 50 ... took 2662 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 51 ... took 2683 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 52 ... took 2643 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 53 ... took 2602 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 54 ... took 2611 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 55 ... took 2647 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 56 ... took 2718 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 57 ... took 2582 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 58 ... took 2760 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 59 ... took 2693 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 60 ... took 2761 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 61 ... took 2667 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 62 ... took 2708 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 63 ... took 2687 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 64 ... took 2737 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 128 ... took 2527 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, no chopping ... took 2245 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 1 clks ... took 18797 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 2 clks ... took 18795 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 4 clks ... took 22863 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 8 clks ... took 30899 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 16 clks ... took 47731 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 32 clks ... took 80696 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 64 clks ... took 81931 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 128 clks ... took 80045 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 1 clks ... took 9438 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 2 clks ... took 10551 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 4 clks ... took 12548 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 8 clks ... took 16450 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 16 clks ... took 24638 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 32 clks ... took 41008 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 64 clks ... took 73755 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 128 clks ... took 73677 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 1 clks ... took 5782 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 2 clks ... took 6320 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 4 clks ... took 7351 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 8 clks ... took 9422 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 16 clks ... took 13430 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 32 clks ... took 21860 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 64 clks ... took 37952 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 128 clks ... took 70681 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 1 clks ... took 3984 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 2 clks ... took 4242 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 4 clks ... took 4755 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 8 clks ... took 5758 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 16 clks ... took 7772 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 32 clks ... took 11960 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 64 clks ... took 20160 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 128 clks ... took 36351 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 1 clks ... took 3054 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 2 clks ... took 3243 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 4 clks ... took 3471 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 8 clks ... took 4010 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 16 clks ... took 4998 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 32 clks ... took 7034 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 64 clks ... took 11048 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 128 clks ... took 19226 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 1 clks ... took 2676 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 2 clks ... took 2766 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 4 clks ... took 2810 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 8 clks ... took 3124 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 16 clks ... took 3630 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 32 clks ... took 4634 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 64 clks ... took 6596 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 128 clks ... took 10748 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 1 clks ... took 2464 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 2 clks ... took 2500 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 4 clks ... took 2560 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 8 clks ... took 2680 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 16 clks ... took 2908 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 32 clks ... took 3418 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 64 clks ... took 4400 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 128 clks ... took 6420 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 1 clks ... took 2338 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 2 clks ... took 2362 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 4 clks ... took 2390 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 8 clks ... took 2470 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 16 clks ... took 2580 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 32 clks ... took 2780 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 64 clks ... took 3304 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 128 clks ... took 4199 CPU cycles. (GPU busy)
+Done.
+```
+
+### 27 September 2026
+
+[10CHP.txt](/tests/raw/20260927T0000Z-5501a-card-2/main/s024/10CHP.txt)
+
+```
+===== 10 CHP DMA CHOPPING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+
+dma/chopping (DMA Channel 2 CPU->VRAM, chopping test)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 1 ... took 22860 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 2 ... took 12554 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 3 ... took 9142 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 4 ... took 7356 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 5 ... took 6331 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 6 ... took 5673 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 7 ... took 5196 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 8 ... took 4841 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 9 ... took 4560 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 10 ... took 4380 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 11 ... took 4171 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 12 ... took 4054 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 13 ... took 3873 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 14 ... took 3809 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 15 ... took 3660 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 16 ... took 3606 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 17 ... took 3548 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 18 ... took 3473 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 19 ... took 3464 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 20 ... took 3401 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 21 ... took 3385 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 22 ... took 3340 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 23 ... took 3299 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 24 ... took 3240 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 25 ... took 3189 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 26 ... took 3107 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 27 ... took 3137 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 28 ... took 3019 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 29 ... took 2978 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 30 ... took 2970 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 31 ... took 2902 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 32 ... took 2919 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 33 ... took 2906 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 34 ... took 2875 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 35 ... took 2847 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 36 ... took 2820 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 37 ... took 2967 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 38 ... took 2876 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 39 ... took 2877 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 40 ... took 2883 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 41 ... took 2829 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 42 ... took 2855 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 43 ... took 2839 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 44 ... took 2813 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 45 ... took 2829 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 46 ... took 2832 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 47 ... took 2785 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 48 ... took 2740 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 49 ... took 2822 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 50 ... took 2733 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 51 ... took 2767 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 52 ... took 2765 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 53 ... took 2704 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 54 ... took 2692 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 55 ... took 2740 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 56 ... took 2731 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 57 ... took 2743 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 58 ... took 2739 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 59 ... took 2687 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 60 ... took 2788 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 61 ... took 2620 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 62 ... took 2760 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 63 ... took 2699 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 64 ... took 2685 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 128 ... took 2538 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, no chopping ... took 2252 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 1 clks ... took 18796 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 2 clks ... took 18804 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 4 clks ... took 22870 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 8 clks ... took 30909 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 16 clks ... took 47709 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 32 clks ... took 80688 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 64 clks ... took 81935 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 128 clks ... took 80049 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 1 clks ... took 9436 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 2 clks ... took 10557 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 4 clks ... took 12546 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 8 clks ... took 16452 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 16 clks ... took 24640 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 32 clks ... took 41004 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 64 clks ... took 73741 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 128 clks ... took 73681 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 1 clks ... took 5871 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 2 clks ... took 6336 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 4 clks ... took 7356 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 8 clks ... took 9437 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 16 clks ... took 13518 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 32 clks ... took 21881 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 64 clks ... took 38006 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 128 clks ... took 70679 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 1 clks ... took 4049 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 2 clks ... took 4303 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 4 clks ... took 4754 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 8 clks ... took 5840 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 16 clks ... took 7802 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 32 clks ... took 11948 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 64 clks ... took 20168 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 128 clks ... took 36352 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 1 clks ... took 3139 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 2 clks ... took 3284 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 4 clks ... took 3488 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 8 clks ... took 4065 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 16 clks ... took 5041 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 32 clks ... took 7088 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 64 clks ... took 11076 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 128 clks ... took 19293 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 1 clks ... took 2691 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 2 clks ... took 2768 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 4 clks ... took 2804 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 8 clks ... took 3149 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 16 clks ... took 3640 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 32 clks ... took 4632 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 64 clks ... took 6608 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 128 clks ... took 10758 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 1 clks ... took 2465 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 2 clks ... took 2490 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 4 clks ... took 2556 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 8 clks ... took 2686 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 16 clks ... took 2900 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 32 clks ... took 3410 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 64 clks ... took 4408 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 128 clks ... took 6416 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 1 clks ... took 2350 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 2 clks ... took 2372 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 4 clks ... took 2402 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 8 clks ... took 2463 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 16 clks ... took 2572 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 32 clks ... took 2787 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 64 clks ... took 3312 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 128 clks ... took 4212 CPU cycles. (GPU busy)
+Done.
+```
+
+### 27 September 2026 run 2
+
+[10CHP.txt](/tests/raw/20260927T0000Z-5501a-card-b/main/s034/10CHP.txt)
+
+```
+===== 10 CHP DMA CHOPPING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+
+dma/chopping (DMA Channel 2 CPU->VRAM, chopping test)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 1 ... took 22861 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 2 ... took 12551 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 3 ... took 9143 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 4 ... took 7351 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 5 ... took 6331 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 6 ... took 5673 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 7 ... took 5192 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 8 ... took 4837 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 9 ... took 4556 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 10 ... took 4381 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 11 ... took 4175 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 12 ... took 4067 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 13 ... took 3881 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 14 ... took 3845 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 15 ... took 3706 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 16 ... took 3600 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 17 ... took 3535 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 18 ... took 3499 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 19 ... took 3431 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 20 ... took 3419 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 21 ... took 3345 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 22 ... took 3336 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 23 ... took 3282 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 24 ... took 3251 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 25 ... took 3217 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 26 ... took 3138 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 27 ... took 3085 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 28 ... took 3030 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 29 ... took 2979 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 30 ... took 2993 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 31 ... took 2911 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 32 ... took 2920 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 33 ... took 2904 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 34 ... took 2884 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 35 ... took 2862 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 36 ... took 2814 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 37 ... took 2981 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 38 ... took 2924 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 39 ... took 2883 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 40 ... took 2904 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 41 ... took 2857 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 42 ... took 2857 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 43 ... took 2813 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 44 ... took 2818 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 45 ... took 2847 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 46 ... took 2785 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 47 ... took 2791 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 48 ... took 2772 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 49 ... took 2778 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 50 ... took 2732 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 51 ... took 2760 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 52 ... took 2767 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 53 ... took 2696 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 54 ... took 2678 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 55 ... took 2769 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 56 ... took 2768 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 57 ... took 2732 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 58 ... took 2691 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 59 ... took 2715 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 60 ... took 2756 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 61 ... took 2688 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 62 ... took 2744 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 63 ... took 2677 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 64 ... took 2743 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 128 ... took 2526 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, no chopping ... took 2252 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 1 clks ... took 18799 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 2 clks ... took 18792 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 4 clks ... took 22864 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 8 clks ... took 30908 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 16 clks ... took 47715 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 32 clks ... took 80688 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 64 clks ... took 81933 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 128 clks ... took 80046 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 1 clks ... took 9442 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 2 clks ... took 10555 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 4 clks ... took 12546 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 8 clks ... took 16452 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 16 clks ... took 24640 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 32 clks ... took 41004 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 64 clks ... took 73741 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 128 clks ... took 73679 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 1 clks ... took 5871 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 2 clks ... took 6317 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 4 clks ... took 7357 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 8 clks ... took 9430 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 16 clks ... took 13518 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 32 clks ... took 21854 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 64 clks ... took 38006 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 128 clks ... took 70679 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 1 clks ... took 4049 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 2 clks ... took 4303 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 4 clks ... took 4754 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 8 clks ... took 5840 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 16 clks ... took 7802 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 32 clks ... took 11962 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 64 clks ... took 20172 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 128 clks ... took 36352 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 1 clks ... took 3139 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 2 clks ... took 3284 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 4 clks ... took 3497 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 8 clks ... took 4044 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 16 clks ... took 5041 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 32 clks ... took 7088 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 64 clks ... took 11076 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 128 clks ... took 19293 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 1 clks ... took 2691 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 2 clks ... took 2768 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 4 clks ... took 2804 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 8 clks ... took 3124 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 16 clks ... took 3659 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 32 clks ... took 4643 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 64 clks ... took 6577 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 128 clks ... took 10758 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 1 clks ... took 2465 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 2 clks ... took 2490 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 4 clks ... took 2562 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 8 clks ... took 2686 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 16 clks ... took 2900 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 32 clks ... took 3411 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 64 clks ... took 4408 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 128 clks ... took 6416 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 1 clks ... took 2357 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 2 clks ... took 2377 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 4 clks ... took 2412 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 8 clks ... took 2457 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 16 clks ... took 2582 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 32 clks ... took 2792 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 64 clks ... took 3308 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 128 clks ... took 4242 CPU cycles. (GPU busy)
+Done.
+```
+
+### 27 September 2026 run 3
+
+[10CHP.txt](/tests/raw/20260927T0000Z-5501a-card-g/main/10CHP.txt)
+
+```
+===== 10 CHP DMA CHOPPING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+
+dma/chopping (DMA Channel 2 CPU->VRAM, chopping test)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 1 ... took 22860 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 2 ... took 12554 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 3 ... took 9142 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 4 ... took 7353 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 5 ... took 6326 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 6 ... took 5683 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 7 ... took 5206 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 8 ... took 4837 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 9 ... took 4572 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 10 ... took 4353 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 11 ... took 4157 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 12 ... took 4015 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 13 ... took 3899 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 14 ... took 3829 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 15 ... took 3662 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 16 ... took 3599 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 17 ... took 3576 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 18 ... took 3480 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 19 ... took 3437 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 20 ... took 3397 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 21 ... took 3322 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 22 ... took 3303 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 23 ... took 3259 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 24 ... took 3254 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 25 ... took 3167 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 26 ... took 3157 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 27 ... took 3123 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 28 ... took 3028 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 29 ... took 2984 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 30 ... took 2976 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 31 ... took 2899 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 32 ... took 2923 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 33 ... took 2919 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 34 ... took 2854 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 35 ... took 2856 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 36 ... took 2827 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 37 ... took 2966 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 38 ... took 2883 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 39 ... took 2864 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 40 ... took 2901 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 41 ... took 2850 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 42 ... took 2822 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 43 ... took 2846 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 44 ... took 2812 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 45 ... took 2812 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 46 ... took 2790 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 47 ... took 2881 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 48 ... took 2790 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 49 ... took 2836 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 50 ... took 2715 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 51 ... took 2751 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 52 ... took 2754 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 53 ... took 2715 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 54 ... took 2709 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 55 ... took 2760 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 56 ... took 2733 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 57 ... took 2711 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 58 ... took 2771 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 59 ... took 2707 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 60 ... took 2752 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 61 ... took 2707 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 62 ... took 2719 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 63 ... took 2687 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 64 ... took 2700 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 128 ... took 2511 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, no chopping ... took 2242 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 1 clks ... took 18791 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 2 clks ... took 18804 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 4 clks ... took 22870 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 8 clks ... took 30909 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 16 clks ... took 47715 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 32 clks ... took 80706 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 64 clks ... took 81935 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 128 clks ... took 80057 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 1 clks ... took 9441 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 2 clks ... took 10556 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 4 clks ... took 12558 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 8 clks ... took 16452 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 16 clks ... took 24638 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 32 clks ... took 41004 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 64 clks ... took 73741 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 128 clks ... took 73679 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 1 clks ... took 5874 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 2 clks ... took 6336 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 4 clks ... took 7356 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 8 clks ... took 9437 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 16 clks ... took 13518 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 32 clks ... took 21881 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 64 clks ... took 38006 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 128 clks ... took 70679 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 1 clks ... took 4049 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 2 clks ... took 4303 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 4 clks ... took 4754 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 8 clks ... took 5840 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 16 clks ... took 7802 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 32 clks ... took 11962 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 64 clks ... took 20172 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 128 clks ... took 36352 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 1 clks ... took 3139 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 2 clks ... took 3280 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 4 clks ... took 3496 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 8 clks ... took 4048 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 16 clks ... took 5052 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 32 clks ... took 7088 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 64 clks ... took 11070 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 128 clks ... took 19283 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 1 clks ... took 2696 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 2 clks ... took 2758 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 4 clks ... took 2799 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 8 clks ... took 3114 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 16 clks ... took 3650 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 32 clks ... took 4636 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 64 clks ... took 6602 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 128 clks ... took 10742 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 1 clks ... took 2465 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 2 clks ... took 2505 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 4 clks ... took 2539 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 8 clks ... took 2677 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 16 clks ... took 2920 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 32 clks ... took 3411 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 64 clks ... took 4398 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 128 clks ... took 6406 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 1 clks ... took 2350 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 2 clks ... took 2355 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 4 clks ... took 2407 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 8 clks ... took 2467 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 16 clks ... took 2575 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 32 clks ... took 2797 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 64 clks ... took 3307 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 128 clks ... took 4207 CPU cycles.
+Done.
+```
+
+### 27 September 2026 run 4
+
+[10CHP.txt](/tests/raw/20260927T0000Z-5501a-card-g3/main/10CHP.txt)
+
+```
+===== 10 CHP DMA CHOPPING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+
+dma/chopping (DMA Channel 2 CPU->VRAM, chopping test)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 1 ... took 22866 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 2 ... took 12555 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 3 ... took 9132 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 4 ... took 7359 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 5 ... took 6339 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 6 ... took 5700 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 7 ... took 5196 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 8 ... took 4831 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 9 ... took 4538 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 10 ... took 4358 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 11 ... took 4122 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 12 ... took 4033 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 13 ... took 3887 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 14 ... took 3835 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 15 ... took 3696 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 16 ... took 3613 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 17 ... took 3528 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 18 ... took 3460 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 19 ... took 3399 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 20 ... took 3407 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 21 ... took 3324 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 22 ... took 3298 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 23 ... took 3300 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 24 ... took 3221 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 25 ... took 3122 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 26 ... took 3154 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 27 ... took 3123 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 28 ... took 3141 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 29 ... took 3048 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 30 ... took 3096 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 31 ... took 3109 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 32 ... took 3026 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 33 ... took 3037 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 34 ... took 2981 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 35 ... took 2989 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 36 ... took 2924 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 37 ... took 2949 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 38 ... took 2872 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 39 ... took 2945 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 40 ... took 2909 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 41 ... took 2844 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 42 ... took 2863 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 43 ... took 2819 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 44 ... took 2835 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 45 ... took 2798 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 46 ... took 2813 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 47 ... took 2814 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 48 ... took 2768 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 49 ... took 2656 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 50 ... took 2651 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 51 ... took 2628 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 52 ... took 2769 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 53 ... took 2721 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 54 ... took 2715 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 55 ... took 2761 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 56 ... took 2807 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 57 ... took 2718 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 58 ... took 2758 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 59 ... took 2685 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 60 ... took 2732 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 61 ... took 2685 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 62 ... took 2828 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 63 ... took 2652 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 64 ... took 2646 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 128 ... took 2460 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, no chopping ... took 2249 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 1 clks ... took 18802 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 2 clks ... took 18796 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 4 clks ... took 22862 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 8 clks ... took 30898 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 16 clks ... took 47709 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 32 clks ... took 80693 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 64 clks ... took 81933 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 128 clks ... took 80042 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 1 clks ... took 9433 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 2 clks ... took 10558 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 4 clks ... took 12555 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 8 clks ... took 16449 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 16 clks ... took 24633 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 32 clks ... took 41007 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 64 clks ... took 73738 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 128 clks ... took 73683 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 1 clks ... took 5861 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 2 clks ... took 6318 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 4 clks ... took 7349 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 8 clks ... took 9428 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 16 clks ... took 13523 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 32 clks ... took 21854 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 64 clks ... took 38003 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 128 clks ... took 70694 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 1 clks ... took 4048 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 2 clks ... took 4305 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 4 clks ... took 4749 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 8 clks ... took 5844 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 16 clks ... took 7863 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 32 clks ... took 11939 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 64 clks ... took 20175 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 128 clks ... took 36357 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 1 clks ... took 3128 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 2 clks ... took 3275 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 4 clks ... took 3482 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 8 clks ... took 4063 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 16 clks ... took 5044 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 32 clks ... took 7088 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 64 clks ... took 11085 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 128 clks ... took 19287 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 1 clks ... took 2699 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 2 clks ... took 2761 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 4 clks ... took 2814 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 8 clks ... took 3130 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 16 clks ... took 3617 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 32 clks ... took 4636 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 64 clks ... took 6581 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 128 clks ... took 10731 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 1 clks ... took 2459 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 2 clks ... took 2490 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 4 clks ... took 2550 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 8 clks ... took 2693 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 16 clks ... took 2917 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 32 clks ... took 3422 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 64 clks ... took 4407 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 128 clks ... took 6408 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 1 clks ... took 2342 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 2 clks ... took 2358 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 4 clks ... took 2393 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 8 clks ... took 2465 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 16 clks ... took 2569 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 32 clks ... took 2805 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 64 clks ... took 3303 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 128 clks ... took 4199 CPU cycles. (GPU busy)
+Done.
+```
+
+### 28 September 2026
+
+[10CHP.txt](/tests/raw/20260928T0000Z-5501a-card-h/main/10CHP.txt)
+
+```
+===== 10 CHP DMA CHOPPING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
+
+dma/chopping (DMA Channel 2 CPU->VRAM, chopping test)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 1 ... took 22866 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 2 ... took 12555 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 3 ... took 9132 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 4 ... took 7359 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 5 ... took 6339 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 6 ... took 5700 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 7 ... took 5196 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 8 ... took 4831 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 9 ... took 4538 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 10 ... took 4358 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 11 ... took 4124 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 12 ... took 4056 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 13 ... took 3857 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 14 ... took 3793 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 15 ... took 3675 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 16 ... took 3603 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 17 ... took 3585 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 18 ... took 3550 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 19 ... took 3429 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 20 ... took 3355 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 21 ... took 3365 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 22 ... took 3255 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 23 ... took 3271 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 24 ... took 3221 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 25 ... took 3139 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 26 ... took 3137 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 27 ... took 3124 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 28 ... took 3180 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 29 ... took 3062 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 30 ... took 3068 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 31 ... took 3002 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 32 ... took 3023 CPU cycles.
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 33 ... took 3043 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 34 ... took 2974 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 35 ... took 3005 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 36 ... took 2948 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 37 ... took 2912 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 38 ... took 2851 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 39 ... took 2884 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 40 ... took 2844 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 41 ... took 2840 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 42 ... took 2883 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 43 ... took 2840 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 44 ... took 2820 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 45 ... took 2809 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 46 ... took 2837 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 47 ... took 2838 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 48 ... took 2753 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 49 ... took 2669 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 50 ... took 2627 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 51 ... took 2649 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 52 ... took 2772 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 53 ... took 2807 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 54 ... took 2703 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 55 ... took 2706 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 56 ... took 2738 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 57 ... took 2665 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 58 ... took 2718 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 59 ... took 2712 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 60 ... took 2765 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 61 ... took 2668 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 62 ... took 2756 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 63 ... took 2673 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 64 ... took 2730 CPU cycles. (GPU busy)
+DMA2, SyncMode: 1, 8192 bytes, blockSize: 128 ... took 2497 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, no chopping ... took 2249 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 1 clks ... took 18802 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 2 clks ... took 18796 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 4 clks ... took 22863 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 8 clks ... took 30909 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 16 clks ... took 47719 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 32 clks ... took 80682 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 64 clks ... took 81933 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 1 words, cpuWindow: 128 clks ... took 80040 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 1 clks ... took 9439 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 2 clks ... took 10553 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 4 clks ... took 12555 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 8 clks ... took 16449 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 16 clks ... took 24633 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 32 clks ... took 41007 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 64 clks ... took 73738 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 2 words, cpuWindow: 128 clks ... took 73683 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 1 clks ... took 5861 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 2 clks ... took 6318 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 4 clks ... took 7349 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 8 clks ... took 9426 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 16 clks ... took 13523 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 32 clks ... took 21854 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 64 clks ... took 38003 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 4 words, cpuWindow: 128 clks ... took 70694 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 1 clks ... took 4048 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 2 clks ... took 4305 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 4 clks ... took 4741 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 8 clks ... took 5844 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 16 clks ... took 7863 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 32 clks ... took 11955 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 64 clks ... took 20175 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 8 words, cpuWindow: 128 clks ... took 36357 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 1 clks ... took 3128 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 2 clks ... took 3275 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 4 clks ... took 3482 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 8 clks ... took 4063 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 16 clks ... took 5044 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 32 clks ... took 7085 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 64 clks ... took 11085 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 16 words, cpuWindow: 128 clks ... took 19287 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 1 clks ... took 2704 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 2 clks ... took 2765 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 4 clks ... took 2825 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 8 clks ... took 3121 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 16 clks ... took 3617 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 32 clks ... took 4636 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 64 clks ... took 6581 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 32 words, cpuWindow: 128 clks ... took 10731 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 1 clks ... took 2459 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 2 clks ... took 2490 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 4 clks ... took 2550 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 8 clks ... took 2683 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 16 clks ... took 2905 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 32 clks ... took 3407 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 64 clks ... took 4405 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 64 words, cpuWindow: 128 clks ... took 6413 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 1 clks ... took 2342 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 2 clks ... took 2361 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 4 clks ... took 2386 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 8 clks ... took 2450 CPU cycles.
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 16 clks ... took 2569 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 32 clks ... took 2805 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 64 clks ... took 3299 CPU cycles. (GPU busy)
+DMA2, SyncMode: 0, 8192 bytes, dmaWindow: 128 words, cpuWindow: 128 clks ... took 4242 CPU cycles. (GPU busy)
+Done.
+```
+
+## References
+
+[^src]: ps1-tests, dma/chopping. https://github.com/JaCzekanski/ps1-tests.
+[^run]: SCPH-5501 output: [main/10CHP.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/10CHP.txt) and the files beside it, with the other runs listed under Runs.