GPU Command Timing
Measures how long the GPU takes to execute fills, rectangles, triangles and VRAM copies.
| Machine | SCPH-5501 |
|---|---|
| Program | gputime |
Overview
Each row starts root counter 2 counting system clock cycles with the GPU idle, stores the command words to GP0 and polls GPUSTAT until bit 26 (ready for a command) is set again. Interrupts are off, and each row prints four samples.1
The figure includes the CPU's stores and the period of the poll loop. Polling with nothing written took 108 cycles, and a single GP0(00h) took 127, so about 110 to 130 cycles of every figure are overhead. The display is collapsed with GP1(07h) so that the GPU stays in vertical blank, and all drawing goes to VRAM rows 256 to 511.12
See also:
Results
A fill with GP0(02h) costs the same for every width up to 64 pixels, and beyond that its time grows with the width. A fill 0 pixels wide and 100 rows high took 271 cycles, and a fill 1024 pixels wide and 100 rows high took the same.3
| Size | Cycles (median of four) |
|---|---|
| 16 x 1 | 156 |
| 16 x 16 | 271 |
| 64 x 16 | 271 |
| 128 x 16 | 331 |
| 256 x 16 | 451 |
| 512 x 16 | 702 |
| 1009 x 16 | 1,243 |
| 64 x 64 | 691 |
| 256 x 256 | 5,555 |
| 1009 x 256 | 18,035 |
The time of a flat rectangle drawn with GP0(60h) grows in proportion to its width from 16 pixels up. At 512 pixels it took about twice as long as at 256. A rectangle 3 pixels wide and 200 rows high took 1,059 cycles, and one 4 pixels wide took 1,121.4
| Width | Cycles (median of four) |
|---|---|
| 1 | 391 |
| 4 | 455 |
| 8 | 514 |
| 16 | 751 |
| 32 | 1,304 |
| 64 | 2,335 |
| 128 | 4,392 |
| 256 | 8,457 |
| 512 | 16,703 |
| 1023 | 33,069 |
Triangle time grows with the area drawn. A Gouraud-shaded triangle takes about twice as long as a flat one of the same size, and a semi-transparent flat triangle about half as long again.5
| Triangle | Flat (median cycles) | Gouraud (median cycles) |
|---|---|---|
| Size 32 | 467 | 928 |
| Size 64 | 1,312 | 2,556 |
| Size 128 | 4,529 | 8,859 |
| Size 256 | 17,136 |
A semi-transparent flat triangle of size 64 took 2,016 cycles. A tall triangle 2 pixels wide and 200 high took 1,073 cycles, and a wide one 200 pixels wide and 2 high took 343.5
A VRAM-to-VRAM copy with GP0(80h) costs more per row than per pixel. A copy of 512 x 1 took 769 cycles, which is the time of a 16 x 16 copy. A copy of 64 x 64 took 6,045 cycles, and 6,101 when the source X was odd.6
Runs
28 September 2026
===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
15 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR 80115B38 DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 801166EC PRId 00000002
===== 01 GBS GPU BASELINE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: baseline, GP1(10h) reads, GPUSTAT word by word
GP1(10h) index 7, GPU version: 00000002
GP1(10h) index 3, draw area top left: 00040000
GP1(10h) index 4, draw area bottom right: 0007FFFF
GP1(10h) index 5, draw offset: 00000000
GPUSTAT idle: 14062518
Poll with nothing written: 131 108 108 108, bit 28 at 108
NOP x1: 140 133 127 127, bit 28 at 127
NOP x4: 169 163 168 165, bit 28 at 165
NOP x16: 313 310 307 308, bit 28 at 308
E1h texpage: 130 132 129 127, bit 28 at 127
E2h texture window 0: 130 127 132 131, bit 28 at 131
E3h draw area: 134 127 127 132, bit 28 at 132
E5h draw offset: 134 127 127 132, bit 28 at 132
E6h mask 0: 130 127 132 129, bit 28 at 129
01h clear cache: 130 127 132 129, bit 28 at 129
E1h x4: 166 163 163 168, bit 28 at 168
Fill 16x1: 158 151 154 157, bit 28 at 157
Rect 1x1 fixed: 146 139 139 143, bit 28 at 143
Fill 32x32, dir 0, bits 24-30 before and after each word: 14 00 00 00, idle at 225
Rect 32x32, dir 0, bits 24-30 before and after each word: 14 00 00 00, idle at 585
Flat tri 32, dir 0, bits 24-30 before and after each word: 14 00 00 00 00, idle at 346
Gouraud tri 32, dir 0, bits 24-30 before and after each word: 14 00 00 00 00 00 00, idle at 780
Fill 32x32, dir 1, bits 24-30 before and after each word: 14 22 22 22, idle at 223
Rect 32x32, dir 1, bits 24-30 before and after each word: 14 22 22 22, idle at 583
Flat tri 32, dir 1, bits 24-30 before and after each word: 14 22 22 22 22, idle at 349
Gouraud tri 32, dir 1, bits 24-30 before and after each word: 14 22 22 22 22 22 22, idle at 776
Fill 32x32, dir 2, bits 24-30 before and after each word: 14 42 42 42, idle at 223
Rect 32x32, dir 2, bits 24-30 before and after each word: 14 42 42 42, idle at 585
Flat tri 32, dir 2, bits 24-30 before and after each word: 14 42 40 40 40, idle at 345
Gouraud tri 32, dir 2, bits 24-30 before and after each word: 14 42 40 40 40 40 40, idle at 781
Line 64, dir 1, bits 24-30 before and after each word: 14 22 22 22, idle at 110
Polyline 3 segments, dir 1, bits 24-30 before and after each word: 14 22 22 22 22 22 22, idle at 110
Copy 32x32, dir 1, bits 24-30 before and after each word: 14 22 22 22 22, idle at 1862
A0h 16x1, dir 1, bits 24-30 before and after each word: 14 22 22 22 22 22 22 22 22 22 22 22, idle at 111
A0h 16x1, dir 2, bits 24-30 before and after each word: 14 42 42 42 42 42 42 42 42 42 42 42, idle at 110
C0h 4x1, dir 1, bits 24-30 before and after each word: 14 22 22 22, bit 27 at 105
C0h 4x1, dir 3, bits 24-30 before and after each word: 14 60 60 60, bit 27 at 105
Done.
===== 02 GFL GPU FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: GP0(02h) fill
Fill 16x1 at 0,256: 176 156 156 151, bit 28 at 151
Fill 16x2 at 0,256: 170 151 151 151, bit 28 at 151
Fill 16x4 at 0,256: 170 153 151 157, bit 28 at 157
Fill 16x16 at 0,256: 289 271 266 272, bit 28 at 151
Fill 16x64 at 0,256: 530 516 518 513, bit 28 at 151
Fill 16x256 at 0,256: 1680 1665 1660 1667, bit 28 at 151
Fill 32x16 at 0,256: 285 271 271 266, bit 28 at 151
Fill 48x16 at 0,256: 286 271 271 266, bit 28 at 151
Fill 64x16 at 0,256: 286 271 271 266, bit 28 at 151
Fill 128x16 at 0,256: 346 330 331 331, bit 28 at 156
Fill 256x16 at 0,256: 466 451 451 452, bit 28 at 157
Fill 512x16 at 0,256: 706 694 757 698, bit 28 at 157
Fill 1009x16 at 0,256: 1255 1239 1247 1239, bit 28 at 156
Fill 32x32 at 0,256: 348 392 330 332, bit 28 at 151
Fill 64x64 at 0,256: 713 692 690 691, bit 28 at 156
Fill 128x128 at 0,256: 1806 1846 1788 1785, bit 28 at 157
Fill 256x256 at 0,256: 5557 5539 5601 5554, bit 28 at 164
Fill 512x256 at 0,256: 9748 9726 9725 9732, bit 28 at 151
Fill 1009x256 at 0,256: 18056 18040 18030 18029, bit 28 at 156
Fill 1009x1 at 0,256: 290 271 271 268, bit 28 at 153
Fill 1x16 at 0,256: 287 271 271 271, bit 28 at 151
Fill 17x16 at 0,256: 290 272 268 269, bit 28 at 151
Fill 15x16 at 0,256: 290 271 268 271, bit 28 at 156
Fill 0x100 at 0,256: 290 269 272 271, bit 28 at 156
Fill 1024x100 at 0,256: 288 271 266 272, bit 28 at 151
Fill 64x0 at 0,256: 175 151 154 157, bit 28 at 157
Fill 64x64 at 16,256: 717 692 695 696, bit 28 at 156
Fill 64x64 at 512,256: 717 695 696 698, bit 28 at 157
Fill 32x16 at 1008,256: 288 270 272 270, bit 28 at 151
Fill 64x64 at 0,300: 708 690 692 695, bit 28 at 151
Fill 64x64 at 0,301: 715 695 686 752, bit 28 at 157
Done.
===== 03 GRC GPU RECT FLAT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: flat rectangles
Rect 60 1x64 at 0,256: 410 391 391 391, bit 28 at 151
Rect 60 2x64 at 0,256: 461 392 390 451, bit 28 at 156
Rect 60 3x64 at 0,256: 400 446 391 391, bit 28 at 151
Rect 60 4x64 at 0,256: 466 452 451 458, bit 28 at 157
Rect 60 5x64 at 0,256: 466 452 451 458, bit 28 at 157
Rect 60 6x64 at 0,256: 466 515 506 450, bit 28 at 151
Rect 60 7x64 at 0,256: 462 506 510 453, bit 28 at 157
Rect 60 8x64 at 0,256: 521 518 511 511, bit 28 at 156
Rect 60 9x64 at 0,256: 521 518 511 511, bit 28 at 156
Rect 60 15x64 at 0,256: 705 695 696 686, bit 28 at 151
Rect 60 16x64 at 0,256: 766 752 751 751, bit 28 at 151
Rect 60 17x64 at 0,256: 773 746 760 746, bit 28 at 151
Rect 60 31x64 at 0,256: 1249 1231 1247 1239, bit 28 at 151
Rect 60 32x64 at 0,256: 1307 1301 1292 1307, bit 28 at 151
Rect 60 33x64 at 0,256: 1319 1301 1304 1307, bit 28 at 151
Rect 60 64x64 at 0,256: 2349 2327 2334 2337, bit 28 at 151
Rect 60 128x64 at 0,256: 4398 4395 4386 4389, bit 28 at 151
Rect 60 256x64 at 0,256: 8471 8454 8460 8454, bit 28 at 155
Rect 60 512x64 at 0,256: 16706 16704 16703 16689, bit 28 at 151
Rect 60 1023x64 at 0,256: 33085 33073 33065 33066, bit 28 at 151
Rect 60 64x1 at 0,256: 162 151 151 151, bit 28 at 151
Rect 60 64x2 at 0,256: 283 269 271 266, bit 28 at 151
Rect 60 64x8 at 0,256: 397 391 391 391, bit 28 at 151
Rect 60 64x32 at 0,256: 1248 1236 1239 1244, bit 28 at 155
Rect 60 64x128 at 0,256: 4521 4518 4511 4514, bit 28 at 157
Rect 60 3x200 at 0,256: 1004 1065 1054 1066, bit 28 at 151
Rect 60 4x200 at 0,256: 1131 1116 1124 1119, bit 28 at 151
Rect 60 3x200 at 1,256: 1083 1065 1054 1066, bit 28 at 151
Rect 60 4x200 at 1,256: 1130 1121 1121 1119, bit 28 at 151
Rect 60 16x64 at 1,256: 777 751 750 749, bit 28 at 151
Rect 60 17x64 at 1,256: 762 757 758 750, bit 28 at 151
Rect 60 32x64 at 15,256: 1307 1308 1300 1299, bit 28 at 151
Rect 68 1x1 at 0,256: 155 139 143 143, bit 28 at 143
Rect 60 1x1 at 0,256: 165 151 151 151, bit 28 at 151
Rect 70 8x8 at 0,256: 150 143 139 149, bit 28 at 149
Rect 60 8x8 at 0,256: 162 155 151 155, bit 28 at 155
Rect 78 16x16 at 0,256: 269 319 260 258, bit 28 at 143
Rect 60 16x16 at 0,256: 280 271 268 271, bit 28 at 156
Rect 60 0x64 at 0,256: 280 272 272 156, bit 28 at 156
Rect 60 64x0 at 0,256: 162 153 151 157, bit 28 at 157
Rect 62 1x64 at 0,256: 583 573 571 578, bit 28 at 157
Rect 62 2x64 at 0,256: 766 636 639 686, bit 28 at 151
Rect 62 8x64 at 0,256: 833 806 876 876, bit 28 at 156
Rect 62 15x64 at 0,256: 1014 1053 1055 1002, bit 28 at 157
Rect 62 16x64 at 0,256: 1319 1361 1364 1364, bit 28 at 155
Rect 62 17x64 at 0,256: 1375 1292 1307 1299, bit 28 at 151
Rect 62 32x64 at 0,256: 2104 2083 2087 2082, bit 28 at 151
Rect 62 33x64 at 0,256: 2104 2083 2087 2082, bit 28 at 151
Rect 62 64x64 at 0,256: 3558 3545 3551 3543, bit 28 at 151
Rect 62 256x64 at 0,256: 12533 12514 12517 12515, bit 28 at 151
Rect 62 16x64 at 1,256: 1378 1361 1299 1299, bit 28 at 151
Rect 62 16x64 at 8,256: 1310 1299 1359 1359, bit 28 at 151
Semi mode 0, Rect 62 64x64 at 0,256: 3555 3544 3606 3551, bit 28 at 157
Semi mode 1, Rect 62 64x64 at 0,256: 3560 3543 3548 3551, bit 28 at 151
Semi mode 2, Rect 62 64x64 at 0,256: 3553 3539 3606 3600, bit 28 at 156
Semi mode 3, Rect 62 64x64 at 0,256: 3554 3599 3551 3600, bit 28 at 156
Rect 60 64x64 at 0,224: 1258 1234 1247 1239, bit 28 at 151
Rect 60 64x64 at 0,160: 280 271 268 156, bit 28 at 156
Rect 60 64x64 at -32,256: 1309 1307 1299 1299, bit 28 at 156
Rect 60 64x64 at -64,256: 279 266 269 272, bit 28 at 157
8 rects 16x16 fixed, one burst: 1497 1483 1489 1487, bit 28 at 1294
Done.
===== 04 GRT GPU RECT TEXTURED | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: textured rectangles
Rect 4bpp 16x16 cold: 465 403 397 398, bit 28 at 157
Rect 4bpp 16x16 warm: 273 272 277 277, bit 28 at 162
Rect 4bpp 32x32 cold: 1309 1368 1313 1300, bit 28 at 157
Rect 4bpp 32x32 warm: 697 704 703 701, bit 28 at 162
Rect 4bpp 64x64 cold: 4826 4886 4887 4813, bit 28 at 157
Rect 4bpp 64x64 warm: 2341 2338 2335 2339, bit 28 at 162
Rect 4bpp 256x64 cold: 18828 18824 18843 18768, bit 28 at 161
Rect 4bpp 256x64 warm: 18822 18828 18829 18828, bit 28 at 157
Rect 8bpp 16x16 cold: 835 582 582 582, bit 28 at 157
Rect 8bpp 16x16 warm: 277 281 276 278, bit 28 at 157
Rect 8bpp 32x32 cold: 1972 1973 1976 2149, bit 28 at 157
Rect 8bpp 32x32 warm: 697 697 707 766, bit 28 at 157
Rect 8bpp 64x64 cold: 7428 7435 7432 7423, bit 28 at 157
Rect 8bpp 64x64 warm: 7418 7433 7429 7427, bit 28 at 162
Rect 8bpp 256x64 cold: 29137 29129 29133 29141, bit 28 at 167
Rect 8bpp 256x64 warm: 29133 29135 29135 29138, bit 28 at 157
Rect 15bpp 16x16 cold: 880 880 883 883, bit 28 at 157
Rect 15bpp 16x16 warm: 277 281 276 278, bit 28 at 157
Rect 15bpp 32x32 cold: 3128 3127 3127 3185, bit 28 at 157
Rect 15bpp 32x32 warm: 697 700 696 700, bit 28 at 157
Rect 15bpp 64x64 cold: 11919 11924 11919 11977, bit 28 at 162
Rect 15bpp 64x64 warm: 11917 11912 11916 11915, bit 28 at 162
Rect 15bpp 256x64 cold: 46840 46843 46791 46836, bit 28 at 162
Rect 15bpp 256x64 warm: 46785 46841 47022 46777, bit 28 at 157
Rect semi 4bpp 64x64 cold: 6282 6283 6276 6278, bit 28 at 157
Rect raw 4bpp 64x64 cold: 4814 4830 4822 4824, bit 28 at 162
Rect 1x1 fixed 4bpp 1x1 cold: 145 149 145 145, bit 28 at 145
Rect 8x8 fixed 4bpp 8x8 cold: 262 263 265 265, bit 28 at 145
Rect 16x16 fixed 4bpp 16x16 cold: 449 386 385 383, bit 28 at 145
Rect semi 8bpp 64x64 cold: 9134 9193 9187 9193, bit 28 at 162
Rect raw 8bpp 64x64 cold: 7430 7431 7435 7430, bit 28 at 157
Rect 1x1 fixed 8bpp 1x1 cold: 145 148 145 145, bit 28 at 145
Rect 8x8 fixed 8bpp 8x8 cold: 263 266 265 265, bit 28 at 145
Rect 16x16 fixed 8bpp 16x16 cold: 565 569 570 570, bit 28 at 150
Rect semi 15bpp 64x64 cold: 13918 13917 13916 13913, bit 28 at 160
Rect raw 15bpp 64x64 cold: 11917 11918 11979 11919, bit 28 at 157
Rect 1x1 fixed 15bpp 1x1 cold: 151 145 150 150, bit 28 at 150
Rect 8x8 fixed 15bpp 8x8 cold: 323 325 324 324, bit 28 at 145
Rect 16x16 fixed 15bpp 16x16 cold: 874 868 869 874, bit 28 at 149
Rect u=1 15bpp 64x64 cold: 11917 11918 11983 11912, bit 28 at 157
Rect x=1 15bpp 64x64 cold: 11912 11923 11972 11923, bit 28 at 167
Rect 15bpp 64x64 all texels 0000h: 10523 10522 10519 10517, bit 28 at 159
Rect semi 15bpp 64x64 all texels 0000h: 10524 10525 10525 10707, bit 28 at 157
Rect 15bpp 64x64 X-flip cold: 11921 11920 11979 11919, bit 28 at 157
Rect 1x1 4bpp, CLUT changed: 150 150 145 145, bit 28 at 145
Rect 1x1 4bpp, same CLUT: 151 145 145 150, bit 28 at 150
Rect 1x1 4bpp outside area, CLUT changed: 155 150 145 145, bit 28 at 145
Rect 1x1 8bpp, CLUT changed: 384 379 381 384, bit 28 at 384
Rect 1x1 8bpp, same CLUT: 155 147 151 145, bit 28 at 145
Rect 1x1 8bpp outside area, CLUT changed: 389 381 379 392, bit 28 at 392
Done.
===== 05 GTR GPU POLY FLAT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: untextured polygons
Flat tri 0 pixels (one point): 187 167 163 168, bit 28 at 168
Flat tri 0 pixels (flat, 128 long): 172 163 168 165, bit 28 at 165
Flat tri 1: 179 163 169 169, bit 28 at 169
Flat tri 2: 174 168 169 163, bit 28 at 163
Flat tri 4: 179 166 163 169, bit 28 at 169
Flat tri 8: 299 278 281 289, bit 28 at 169
Flat tri 16: 295 282 284 283, bit 28 at 168
Flat tri 32: 533 468 464 466, bit 28 at 163
Flat tri 64: 1323 1312 1304 1313, bit 28 at 163
Flat tri 128: 4539 4524 4522 4534, bit 28 at 169
Flat tri 256: 17140 17135 17135 17137, bit 28 at 167
Flat tri 64 other winding: 1321 1309 1313 1305, bit 28 at 163
Flat tri tall 2x200: 1073 1075 1069 1073, bit 28 at 163
Flat tri wide 200x2: 345 343 343 343, bit 28 at 163
Gouraud tri 1: 313 302 300 307, bit 28 at 307
Gouraud tri 8: 391 375 373 373, bit 28 at 300
Gouraud tri 32: 928 930 929 913, bit 28 at 300
Gouraud tri 64: 2567 2558 2547 2555, bit 28 at 303
Gouraud tri 128: 8871 8859 8859 8859, bit 28 at 297
Gouraud tri dithered 64: 2570 2557 2502 2502, bit 28 at 302
Flat tri dithered 64: 1325 1309 1313 1305, bit 28 at 163
Semi flat tri 8: 289 284 282 284, bit 28 at 169
Semi flat tri 64: 1995 2041 1982 2037, bit 28 at 163
Semi flat tri 128: 6836 6830 6834 6826, bit 28 at 167
Semi gouraud tri 64: 2571 2556 2560 2550, bit 28 at 297
Flat quad 16: 366 362 358 358, bit 28 at 285
Flat quad 64: 2522 2519 2508 2516, bit 28 at 1351
Flat quad 128: 8977 8986 8991 8982, bit 28 at 4539
Gouraud quad 64: 4731 4717 4773 4767, bit 28 at 2508
Semi flat quad 64: 3876 3872 3992 3828, bit 28 at 1933
Flat tri 64, half above area: 535 526 529 526, bit 28 at 168
Flat tri 64, all above area: 286 286 278 281, bit 28 at 163
Flat tri 64, left of X 0: 289 284 283 282, bit 28 at 163
Flat tri 1200 wide, not drawn: 166 168 167 163, bit 28 at 163
Flat tri 16, 2 in one burst: 412 402 405 397, bit 28 at 324
Flat tri 16, 3 in one burst: 461 507 453 452, bit 28 at 379
Flat tri 16, 4 in one burst: 569 555 572 619, bit 28 at 483
Flat tri 64, 2 in one burst: 2502 2494 2487 2484, bit 28 at 1323
Flat tri 64, 4 in one burst: 4847 4846 4834 4841, bit 28 at 3620
Gouraud tri 16, 2 in one burst: 703 697 697 696, bit 28 at 497
Gouraud tri 64, 2 in one burst: 4770 4750 4756 4750, bit 28 at 2502
Flat tri 1, 4 in one burst: 318 311 307 308, bit 28 at 308
Done.
===== 06 GTT GPU POLY TEXTURED | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: textured polygons
Tex tri 4bpp 64 tex 63 cold: 3851 3889 3835 3840, bit 28 at 308
Tex tri 4bpp 64 tex 63 warm: 2527 2512 2512 2501, bit 28 at 311
Tex quad 4bpp 64 tex 63 cold: 7003 6991 6995 6950, bit 28 at 3841
Tex quad 4bpp 64 tex 63 warm: 4733 4721 4721 4713, bit 28 at 2524
Tex quad 4bpp 128 tex 127 cold: 27264 27255 27253 27320, bit 28 at 13785
Tex tri 4bpp 16 tex 15 cold: 556 556 556 559, bit 28 at 306
Tex tri 4bpp 16 tex 15 warm: 464 450 444 451, bit 28 at 315
Tex tri 8bpp 64 tex 63 cold: 5188 4930 4922 4933, bit 28 at 309
Tex tri 8bpp 64 tex 63 warm: 3855 3836 3840 3841, bit 28 at 309
Tex quad 8bpp 64 tex 63 cold: 9456 9517 9513 9533, bit 28 at 4915
Tex quad 8bpp 64 tex 63 warm: 9227 9205 9220 9217, bit 28 at 4656
Tex quad 8bpp 128 tex 127 cold: 36905 36930 36920 36864, bit 28 at 18300
Tex tri 8bpp 16 tex 15 cold: 621 616 621 622, bit 28 at 309
Tex tri 8bpp 16 tex 15 warm: 464 443 450 453, bit 28 at 314
Tex tri 15bpp 64 tex 63 cold: 7170 7171 7172 7164, bit 28 at 306
Tex tri 15bpp 64 tex 63 warm: 6270 6261 6200 6213, bit 28 at 314
Tex quad 15bpp 64 tex 63 cold: 13891 14140 13948 13969, bit 28 at 7164
Tex quad 15bpp 64 tex 63 warm: 13964 13956 13975 13964, bit 28 at 7160
Tex quad 15bpp 128 tex 127 cold: 55021 54976 55033 55029, bit 28 at 27606
Tex tri 15bpp 16 tex 15 cold: 801 745 744 750, bit 28 at 311
Tex tri 15bpp 16 tex 15 warm: 463 442 447 447, bit 28 at 314
Tex quad 15bpp 64 tex 31 cold: 7060 7052 7071 7053, bit 28 at 3770
Tex quad 15bpp 64 tex 255 cold: 38905 38720 38720 38716, bit 28 at 19731
Tex quad 15bpp 256 tex 255 cold: 217301 217502 217301 217367, bit 28 at 108670
Tex quad raw 15bpp 64 tex 63 cold: 13952 13969 14148 13944, bit 28 at 7148
Tex quad semi 15bpp 64 tex 63 cold: 15753 15752 15793 15742, bit 28 at 8082
Tex quad semi 4bpp 64 tex 63 cold: 7607 7609 7608 7621, bit 28 at 4090
Gouraud tex quad 15bpp 64 tex 63 cold: 14105 14116 14121 14132, bit 28 at 7323
Gouraud tex quad 4bpp 64 tex 63 cold: 7161 7157 7164 7165, bit 28 at 3999
Gouraud tex quad semi 15bpp 64 tex 63 cold: 15914 15907 15900 15913, bit 28 at 8261
Tex tri 15bpp 1 tex 0 cold: 303 311 315 314, bit 28 at 314
Tex tri 0 pixels (one point): 314 314 313 317, bit 28 at 317
Tex quad all 0000h 15bpp 64 tex 63 cold: 13091 12916 12920 12923, bit 28 at 6723
Tex quad dithered 15bpp 64 tex 63 cold: 13963 13967 13952 13944, bit 28 at 7148
Gouraud tex quad dithered 15bpp 64 tex 63 cold: 14116 14108 14122 14112, bit 28 at 7317
Tex quad raw dithered 15bpp 64 tex 63 cold: 13947 13960 13948 13946, bit 28 at 7209
Done.
===== 07 GMK GPU MASK DITHER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: mask bit and dither
Rect 64x64 on clear, E6h=0: 2335 2324 2331 2323, bit 28 at 145
Rect 64x64 on clear, E6h=1: 2319 2321 2326 2324, bit 28 at 145
Rect 64x64 on clear, E6h=2: 3538 3536 3538 3594, bit 28 at 145
Rect 64x64 on clear, E6h=3: 3539 3545 3535 3535, bit 28 at 145
Rect 64x64 on set, E6h=2: 3540 3544 3598 3537, bit 28 at 150
Rect 64x64 on set, E6h=0: 2331 2320 2331 2323, bit 28 at 145
Rect semi 64x64 on clear, E6h=2: 3543 3527 3543 3598, bit 28 at 151
Rect 16x64 on clear, E6h=2: 1303 1296 1355 1350, bit 28 at 145
Rect 17x64 on clear, E6h=2: 1292 1357 1356 1292, bit 28 at 150
Flat tri 64 on clear, E6h=0: 1315 1305 1308 1302, bit 28 at 162
Flat tri 64 on clear, E6h=2: 1974 2032 1980 1973, bit 28 at 157
Flat tri 64 on set, E6h=2: 1975 1976 1977 1980, bit 28 at 163
Gouraud tri 64 on clear, E6h=2: 2553 2553 2545 2611, bit 28 at 296
Line 64 on clear, E6h=2: 266 264 265 260, bit 28 at 145
Line 64 on clear, E6h=0: 265 265 264 265, bit 28 at 150
Tex rect 15bpp 64x64 on clear, E6h=2: 13981 13978 13915 13920, bit 28 at 157
Tex rect 15bpp 64x64 on set, E6h=2: 13983 13978 13973 13919, bit 28 at 162
Tex rect 15bpp 64x64 on set, E6h=0: 11917 11921 11916 11975, bit 28 at 162
Copy 64x64 onto set, E6h=2: 7011 7005 7001 7001, bit 28 at 160
Copy 64x64 onto set, E6h=0: 6031 6033 6038 6039, bit 28 at 162
Copy 64x64 onto clear, E6h=2: 7009 7006 7007 7065, bit 28 at 157
Copy 8x64 onto clear, E6h=2: 2283 2280 2334 2334, bit 28 at 162
Copy 8x64 onto clear, E6h=0: 1981 1975 1969 1978, bit 28 at 162
Dither 0: gouraud tri 64: 2513 2556 2555 2560, bit 28 at 303
Dither 0: flat line 64 diagonal: 403 391 451 390, bit 28 at 151
Dither 0: gouraud line 64: 290 283 283 279, bit 28 at 279
Dither 0: rect 64x64: 2347 2327 2334 2337, bit 28 at 151
Dither 1: gouraud tri 64: 2564 2556 2555 2550, bit 28 at 297
Dither 1: flat line 64 diagonal: 403 452 390 390, bit 28 at 151
Dither 1: gouraud line 64: 294 278 276 279, bit 28 at 279
Dither 1: rect 64x64: 2349 2324 2338 2334, bit 28 at 151
Done.
===== 08 GLN GPU LINES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: lines and polylines
Line 40 0,300 to 0,300: 175 154 151 155, bit 28 at 155
Line 40 0,300 to 1,300: 167 151 155 154, bit 28 at 154
Line 40 0,300 to 7,300: 162 156 157 151, bit 28 at 151
Line 40 0,300 to 63,300: 283 269 271 272, bit 28 at 151
Line 40 0,300 to 255,300: 402 391 391 398, bit 28 at 157
Line 40 0,300 to 511,300: 642 630 626 638, bit 28 at 157
Line 40 10,256 to 10,257: 165 153 151 157, bit 28 at 157
Line 40 10,256 to 10,263: 168 157 151 156, bit 28 at 156
Line 40 10,256 to 10,319: 402 446 391 391, bit 28 at 151
Line 40 10,256 to 10,455: 1064 1056 1059 1054, bit 28 at 156
Line 40 0,256 to 63,257: 291 272 270 272, bit 28 at 157
Line 40 0,256 to 63,260: 283 269 271 272, bit 28 at 151
Line 40 0,256 to 63,272: 280 271 266 272, bit 28 at 151
Line 40 0,256 to 63,288: 349 326 331 329, bit 28 at 151
Line 40 0,256 to 63,293: 351 331 332 329, bit 28 at 151
Line 40 0,256 to 63,310: 400 398 396 386, bit 28 at 151
Line 40 0,256 to 63,319: 460 448 392 391, bit 28 at 151
Line 40 0,256 to 63,366: 653 638 629 629, bit 28 at 151
Line 40 0,256 to 63,456: 1066 1056 1063 1062, bit 28 at 151
Line 40 0,256 to 199,455: 1060 1067 1054 1006, bit 28 at 151
Line 40 63,319 to 0,256: 403 450 446 391, bit 28 at 151
Line 40 63,256 to 0,256: 283 272 271 266, bit 28 at 151
Line 40 10,319 to 10,256: 406 451 390 391, bit 28 at 156
Line 50 0,300 to 63,300: 290 281 273 278, bit 28 at 278
Line 50 0,256 to 63,319: 480 469 463 472, bit 28 at 275
Line 50 10,256 to 10,319: 482 476 472 533, bit 28 at 277
Line 42 0,300 to 63,300: 289 271 266 272, bit 28 at 151
Line 42 10,256 to 10,319: 591 573 571 578, bit 28 at 157
Line 42 0,256 to 63,319: 643 635 635 635, bit 28 at 151
Line 42 0,256 to 63,310: 586 571 578 566, bit 28 at 151
Line 52 0,256 to 63,319: 723 708 712 712, bit 28 at 276
Line 40 10,100 to 10,199: 162 156 155 151, bit 28 at 151
Line 40 10,206 to 10,305: 342 331 332 329, bit 28 at 151
Line 40 -100,300 to -1,300: 281 272 266 272, bit 28 at 151
Line 40 -600,300 to 600,300: 168 151 156 157, bit 28 at 157
Polyline flat 1 segments of 32: 183 169 169 163, bit 28 at 163
Polyline flat 2 segments of 32: 307 295 295 301, bit 28 at 181
Polyline flat 4 segments of 32: 326 313 314 314, bit 28 at 314
Polyline flat 8 segments of 32: 509 497 497 497, bit 28 at 424
Polyline flat 12 segments of 8: 413 405 411 413, bit 28 at 413
Polyline flat 4 diagonal segments of 16: 450 449 453 447, bit 28 at 374
Polyline gouraud 1 segments of 32: 311 295 295 294, bit 28 at 179
Polyline gouraud 2 segments of 32: 320 314 314 314, bit 28 at 314
Polyline gouraud 4 segments of 32: 512 503 500 492, bit 28 at 419
4 flat lines of 32, one burst: 382 374 374 374, bit 28 at 259
Done.
===== 09 GVV GPU VRAM COPY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: GP0(80h) VRAM to VRAM copy
Copy 1x1 0,256 to 256,384: 182 163 163 168, bit 28 at 168
Copy 2x1 0,256 to 256,384: 178 163 168 165, bit 28 at 165
Copy 16x1 0,256 to 256,384: 179 168 169 163, bit 28 at 163
Copy 256x1 0,256 to 256,384: 472 463 469 467, bit 28 at 163
Copy 512x1 0,256 to 256,384: 780 765 769 769, bit 28 at 169
Copy 1x64 0,256 to 256,384: 1566 1557 1556 1555, bit 28 at 163
Copy 2x64 0,256 to 256,384: 1573 1555 1557 1544, bit 28 at 163
Copy 8x64 0,256 to 256,384: 1992 1976 1981 1981, bit 28 at 169
Copy 15x64 0,256 to 256,384: 2656 2651 2648 2646, bit 28 at 168
Copy 16x64 0,256 to 256,384: 2675 2652 2648 2646, bit 28 at 168
Copy 17x64 0,256 to 256,384: 2855 2823 2833 2826, bit 28 at 168
Copy 32x64 0,256 to 256,384: 3931 3915 3921 3924, bit 28 at 169
Copy 16x16 0,256 to 256,384: 780 765 769 769, bit 28 at 169
Copy 64x64 0,256 to 256,384: 6067 6041 6161 6053, bit 28 at 171
Copy 128x128 0,256 to 256,384: 20968 20946 20958 20955, bit 28 at 163
Copy 256x64 0,256 to 256,384: 21092 21143 21079 21079, bit 28 at 163
Copy 64x128 0,256 to 256,384: 11992 11982 11984 11986, bit 28 at 169
Copy 512x1 0,256 to 0,384: 774 763 767 768, bit 28 at 168
Copy 64x64 1,256 to 256,384: 6174 6101 6102 6043, bit 28 at 163
Copy 64x64 0,256 to 257,384: 6173 6166 6162 6166, bit 28 at 167
Copy 64x64 1,256 to 257,384: 6244 6218 6212 6219, bit 28 at 168
Copy 64x64 0,256 to 0,257: 6055 6051 6046 6042, bit 28 at 163
Copy 64x64 0,257 to 0,256: 6053 6034 6038 6038, bit 28 at 163
Copy 64x64 0,256 to 1,256: 6172 6163 6164 6163, bit 28 at 163
Copy 64x64 0,256 to 0,256: 6057 6039 6039 6039, bit 28 at 168
Mask check on:
Copy 8x64 0,256 to 256,384: 2355 2338 2334 2286, bit 28 at 163
Copy 15x64 0,256 to 256,384: 3079 3128 3074 3069, bit 28 at 163
Copy 16x64 0,256 to 256,384: 3085 3074 3069 3067, bit 28 at 163
Copy 17x64 0,256 to 256,384: 3386 3431 3443 3429, bit 28 at 163
Copy 32x64 0,256 to 256,384: 4299 4338 4344 4281, bit 28 at 168
Copy 64x64 0,256 to 256,384: 6964 7006 7014 7015, bit 28 at 163
Copy 128x128 0,256 to 256,384: 24966 24787 24780 24838, bit 28 at 167
Mask set on:
Copy 64x64 0,256 to 256,384: 6054 6038 6046 6045, bit 28 at 167
Copy 8x64 0,256 to 256,384: 1996 1981 1982 1974, bit 28 at 163
Done.
===== 10 GXF GPU CPU TRANSFER | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: CPU to VRAM and VRAM to CPU by the CPU
NOP stores x64: 919 895 897 899, bit 28 at 899
A0h 2x1 by CPU, 1 words: idle 223 101 101 101, stores ended at 35, wrong words 0
A0h 3x1 by CPU, 2 words: idle 188 113 113 113, stores ended at 47, wrong words 0
A0h 16x1 by CPU, 8 words: idle 266 185 190 195, stores ended at 119, wrong words 0
A0h 16x16 by CPU, 128 words: idle 1730 1640 1649 1640, stores ended at 1574, wrong words 0
A0h 64x16 by CPU, 512 words: idle 6400 6330 6327 6325, stores ended at 6258, wrong words 0
A0h 64x32 by CPU, 1024 words: idle 12657 12571 12574 12570, stores ended at 12503, wrong words 0
C0h 2x1 by CPU: bit 27 at 123 reads end 331 idle 385; bit 27 at 119 reads end 325 idle 379; bit 27 at 119 reads end 327 idle 381; bit 27 at 122 reads end 329 idle 383;
C0h 3x1 by CPU: bit 27 at 123 reads end 341 idle 395; bit 27 at 124 reads end 336 idle 396; bit 27 at 119 reads end 336 idle 390; bit 27 at 122 reads end 338 idle 392;
C0h 16x1 by CPU: bit 27 at 123 reads end 389 idle 443; bit 27 at 124 reads end 396 idle 450; bit 27 at 124 reads end 395 idle 449; bit 27 at 119 reads end 388 idle 442;
C0h 16x16 by CPU: bit 27 at 119 reads end 1485 idle 1539; bit 27 at 119 reads end 1492 idle 1546; bit 27 at 239 reads end 1555 idle 1609; bit 27 at 119 reads end 1489 idle 1543;
C0h 64x16 by CPU: bit 27 at 119 reads end 5000 idle 5059; bit 27 at 119 reads end 4996 idle 5050; bit 27 at 123 reads end 4999 idle 5053; bit 27 at 119 reads end 4997 idle 5057;
C0h 64x32 by CPU: bit 27 at 119 reads end 9674 idle 9733; bit 27 at 119 reads end 9676 idle 9734; bit 27 at 122 reads end 9683 idle 9746; bit 27 at 119 reads end 9676 idle 9734;
C0h 3x1 read 4 words: 0009003F 000C0044, GPUSTAT between 14062518, then 0009003F 0009003F (VRAM 0009003F 000C0044)
C0h 16x16 GPUSTAT at 0, 64, 127, 128 words read: 18062518 18062518 18062518 14062518
A0h 16x16 GPUSTAT at 0, 64, 128 words, idle: 00062518 10062518 10062518 14062518
Done.
===== 11 GDM GPU DMA2 | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: DMA2 blocks and linked lists
A0h 16x16 DMA dir 2 block 16: channel done 329 318 318 318, idle 451 440 440 441, wrong words 0
A0h 64x16 DMA dir 2 block 16: channel done 994 984 973 972, idle 1126 1106 1100 1097, wrong words 0
A0h 64x32 DMA dir 2 block 16: channel done 1913 1905 1904 1904, idle 2035 2027 2026 2026, wrong words 0
A0h 64x32 DMA dir 2 block 8: channel done 2641 2648 2632 2626, idle 2763 2770 2754 2749, wrong words 0
A0h 64x32 DMA dir 2 block 1: channel done 12791 12776 12768 12764, idle 12918 12898 12893 12886, wrong words 0
A0h 64x32 DMA dir 1 block 16: channel done 1787 1855 1863 1873, idle 1909 1977 1985 1995, wrong words 0
A0h 64x32 DMA dir 1 block 8: channel done 2498 2470 2478 2466, idle 2620 2592 2610 2593, wrong words 0
C0h 64x32 DMA block 16: bit 27 at 95 channel done 2217 idle 2315; bit 27 at 100 channel done 2215 idle 2318; bit 27 at 100 channel done 2194 idle 2297; bit 27 at 100 channel done 2215 idle 2318; first wrong word -1
C0h 64x32 DMA block 8: bit 27 at 98 channel done 2607 idle 2714; bit 27 at 100 channel done 2616 idle 2714; bit 27 at 95 channel done 2611 idle 2709; bit 27 at 95 channel done 2600 idle 2703; first wrong word -1
List 1 x rect 16x16 fixed: channel done 81 78 78 78, idle 302 258 260 262
List 4 x rect 16x16 fixed: channel done 476 465 466 465, idle 812 775 781 840
List 16 x rect 16x16 fixed: channel done 2606 2571 2596 2594, idle 2888 2885 2910 2902
List 64 x rect 16x16 fixed: channel done 10940 10940 10895 10897, idle 11277 11257 11274 11277
Block 1 x rect 16x16 fixed: channel done 79 73 73 73, idle 300 253 256 258
Block 4 x rect 16x16 fixed: channel done 460 447 446 441, idle 810 762 824 817
Block 16 x rect 16x16 fixed: channel done 2532 2604 2605 2610, idle 2878 2857 2854 2858
List 1 x rect 64x64: channel done 79 79 79 79, idle 2304 2321 2321 2321
List 4 x rect 64x64: channel done 4495 4567 4575 4578, idle 8915 8884 8882 8896
List 16 x rect 64x64: channel done 30883 30877 30871 31107, idle 35298 35263 35258 35426
Block 1 x rect 64x64: channel done 74 74 74 74, idle 2296 2317 2316 2321
Block 4 x rect 64x64: channel done 4561 4566 4548 4554, idle 8912 8870 8917 8873
Block 16 x rect 64x64: channel done 30902 30872 30882 30875, idle 35302 35254 35263 35252
List 1 x flat tri 16: channel done 80 80 80 80, idle 217 274 263 266
List 4 x flat tri 16: channel done 408 381 381 379, idle 530 577 575 572
List 16 x flat tri 16: channel done 1647 1629 1627 1629, idle 1868 1817 1815 1817
Block 1 x flat tri 16: channel done 80 79 79 79, idle 207 267 259 259
Block 4 x flat tri 16: channel done 384 359 363 364, idle 600 553 556 558
Block 16 x flat tri 16: channel done 1656 1637 1632 1633, idle 1877 1830 1825 1831
List 1 x flat tri 64: channel done 80 80 80 80, idle 1272 1291 1300 1290
List 4 x flat tri 64: channel done 2484 2481 2493 2461, idle 4809 4820 4787 4756
List 16 x flat tri 64: channel done 16458 16460 16447 16457, idle 18775 18798 18792 18743
List 1 x gouraud tri 16: channel done 87 82 82 86, idle 436 449 447 452
List 4 x gouraud tri 16: channel done 684 675 670 659, idle 1033 991 986 1037
List 16 x gouraud tri 16: channel done 2955 2930 2943 2935, idle 3309 3306 3314 3310
List 1 x gouraud tri 64: channel done 88 88 82 83, idle 2498 2459 2455 2507
List 4 x gouraud tri 64: channel done 4711 4771 4779 4770, idle 9118 9137 9159 9156
List 16 x gouraud tri 64: channel done 31332 31320 31346 31369, idle 35736 35781 35730 35756
List 1 x gouraud tex tri 32 15bpp: channel done 85 85 85 85, idle 2130 932 934 939
List 4 x gouraud tex tri 32 15bpp: channel done 1606 1587 1588 1596, idle 2750 2761 2766 2761
List 16 x gouraud tex tri 32 15bpp: channel done 8833 8826 8841 8826, idle 10032 9994 10020 9994
List 16 x gouraud tex tri 1: channel done 4260 4269 4352 4350, idle 4538 4586 4541 4539
List 1 x empty node: channel done 74 74 79 74, idle 201 188 193 193
List 4 x empty node: channel done 188 179 176 181, idle 313 301 298 303
List 16 x empty node: channel done 262 334 334 334, idle 384 459 461 456
List 64 x empty node: channel done 887 955 957 966, idle 1014 1082 1079 1088
List 16 x 4 NOP words: channel done 461 445 443 448, idle 583 570 569 570
A0h 64x32 DMA dir 2 block 32: channel done 1533 1530 1526 1524, idle 1657 1657 1648 1651, wrong words 0
A0h 64x32 DMA dir 2 block 128: channel done 1277 1261 1254 1272, idle 1405 1388 1376 1404, wrong words 0
A0h 64x32 DMA dir 2 block 1024: channel done 1151 1151 1151 1151, idle 1284 1270 1270 1270, wrong words 32 first 514 got 00780028 want 004800D8
Done.
===== 12 GDS GPU DISPLAY LOAD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: display fetch overload by display mode
Collapsed Y2=Y1+1, fill 512x256: 9742 9724 9727 9731 9726 9726
Collapsed Y2=Y1+1, rect 256x128: 16832 16817 16823 16819 16819 16824
Collapsed Y2=Y1+1, rect semi 256x128: 24889 24890 24888 24875 24886 24827
Collapsed Y2=Y1+1, tex rect 15bpp 256x128 cold: 93498 93741 93482 93492 93488 93482
Collapsed Y2=Y1+1, flat quad 128: 8985 8969 8982 8992 8980 9040
Collapsed Y2=Y1+1, copy 128x128: 20970 20959 20966 20949 20962 20955
Collapsed Y2=Y1+1, A0h 64x32 DMA block 16: idle 2014 2106 2100, wrong words 0
Collapsed Y2=Y1+1, A0h 64x16 CPU: idle 6457 6363 6365, wrong words 0
640x240 15bit, fill 512x256: 9742 9728 9726 9726 9724 9726
640x240 15bit, rect 256x128: 16832 16817 16823 16819 16819 16824
640x240 15bit, rect semi 256x128: 24902 24885 24884 24828 24888 24888
640x240 15bit, tex rect 15bpp 256x128 cold: 93500 93498 93486 93738 93497 93500
640x240 15bit, flat quad 128: 8975 8978 8985 8980 8980 8987
640x240 15bit, copy 128x128: 20963 20958 20954 20957 20963 20963
640x240 15bit, A0h 64x32 DMA block 16: idle 2034 2032 2101, wrong words 0
640x240 15bit, A0h 64x16 CPU: idle 6451 6352 6359, wrong words 0
320x240 15bit, fill 512x256: 9734 9726 9726 9724 9726 9726
320x240 15bit, rect 256x128: 16827 16825 16824 16825 16819 16819
320x240 15bit, rect semi 256x128: 24891 24881 24885 24827 24875 24826
320x240 15bit, tex rect 15bpp 256x128 cold: 94277 99675 99794 99728 99739 98766
320x240 15bit, flat quad 128: 8997 9165 9410 9360 9366 9401
320x240 15bit, copy 128x128: 21322 21449 21440 21446 21440 21262
320x240 15bit, A0h 64x32 DMA block 16: idle 2112 2095 2028, wrong words 0
320x240 15bit, A0h 64x16 CPU: idle 6446 6363 6363, wrong words 0
256x240 15bit, fill 512x256: 10225 10333 10218 10271 10213 10337
256x240 15bit, rect 256x128: 17493 17003 16828 17118 17543 17549
256x240 15bit, rect semi 256x128: 26279 26276 26279 26274 26286 26279
256x240 15bit, tex rect 15bpp 256x128 cold: 98092 98030 95919 98030 98156 98106
256x240 15bit, flat quad 128: 9305 9342 9297 9282 9291 9290
256x240 15bit, copy 128x128: 21448 21437 21440 21259 21142 20968
256x240 15bit, A0h 64x32 DMA block 16: idle 2033 2107 2096, wrong words 0
256x240 15bit, A0h 64x16 CPU: idle 6452 6359 6367, wrong words 0
640x240 24bit, fill 512x256: 11634 11674 11663 11605 11728 11604
640x240 24bit, rect 256x128: 18526 18456 18578 18526 18518 18525
640x240 24bit, rect semi 256x128: 29736 29672 29746 24882 26227 29685
640x240 24bit, tex rect 15bpp 256x128 cold: 108660 108640 108699 108586 100642 108710
640x240 24bit, flat quad 128: 9910 9902 9912 9911 9902 9912
640x240 24bit, copy 128x128: 23086 23018 22960 23087 23076 23087
640x240 24bit, A0h 64x32 DMA block 16: idle 2034 2118 2117, wrong words 0
640x240 24bit, A0h 64x16 CPU: idle 6445 6361 6353, wrong words 0
640x240 display off, fill 512x256: 10946 10945 10944 11004 10937 10878
640x240 display off, rect 256x128: 18103 18095 18034 18095 18096 18032
640x240 display off, rect semi 256x128: 27922 27856 27918 27859 27853 27851
640x240 display off, tex rect 15bpp 256x128 cold: 97977 103061 103013 103071 103065 98579
640x240 display off, flat quad 128: 9607 9588 9602 9601 9605 9648
640x240 display off, copy 128x128: 21387 21443 21445 21319 21445 21439
640x240 display off, A0h 64x32 DMA block 16: idle 2038 2095 2104, wrong words 0
640x240 display off, A0h 64x16 CPU: idle 6455 6357 6365, wrong words 0
640x240 after VSync plus 0 cycles, rect semi 256x128: 24890 24897 24894 24895
640x240 after VSync plus 100000 cycles, rect semi 256x128: 27915 27928 27921 27931
640x240 after VSync plus 300000 cycles, rect semi 256x128: 27933 27922 27927 27922
640x240 after VSync plus 0 cycles, fill 512x256: 9738 9735 9736 9734
640x240 after VSync plus 100000 cycles, fill 512x256: 10955 10955 10950 10945
Done.
===== 13 GFF GPU FIFO | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: FIFO depth, prefetch and abort
Plain fill 1024x256: 17992 18029 17976 17978, bit 28 at 157
Flat tri words, busy fill, GPUSTAT bits 24-30 after K words, dir 1: 0=32 1=22 2=22 3=22 4=22 5=22 6=22 7=22 8=22 9=20 10=20 11=20 12=20 13=20 14=20 15=20 16=20 17=20 18=20 19=20 20=20
NOPs, busy fill, GPUSTAT bits 24-30 after K words, dir 1: 0=32 1=32 2=32 3=32 4=32 5=32 6=32 7=32 8=32 9=32 10=32 11=32 12=32 13=32 14=32 15=32 16=32 17=32 18=32 19=32 20=32
E5h draw offsets, busy fill, GPUSTAT bits 24-30 after K words, dir 1: 0=32 1=32 2=32 3=32 4=32 5=32 6=32 7=32 8=32 9=32 10=32 11=32 12=32 13=32 14=32 15=32 16=32 17=32 18=32 19=32 20=32
4 NOP, E1h, NOPs, busy fill, GPUSTAT bits 24-30 after K words, dir 1: 0=32 1=32 2=32 3=32 4=32 5=32 6=22 7=22 8=22 9=22 10=22 11=22 12=22 13=22 14=20 15=20 16=20 17=20 18=20 19=20 20=20
Flat tri words, dir 2: 0=52 2=40 4=40 6=40 8=40 10=40 12=40 14=40 16=40 18=40
Flat tri words, dir 0: 0=10 2=00 4=00 6=00 8=00 10=00 12=00 14=00 16=00 18=00
Fill 1024x256, GP1(01h) 0 cycles in: idle at 91, pixels first row 03E0 03E0, row 384 001F, last 001F
Fill 1024x256, GP1(01h) 3000 cycles in: idle at 80, pixels first row 03E0 03E0, row 384 001F, last 001F
Fill 1024x256, GP1(01h) 9000 cycles in: idle at 71, pixels first row 03E0 03E0, row 384 03E0, last 001F
Rect semi 512x256, GP1(01h) 3000 cycles in: idle at 71, pixels first row 01EF 01EF, row 384 001F, last 001F
Rect semi 512x256, GP1(01h) 30000 cycles in: idle at 71, pixels first row 01EF 01EF, row 384 001F, last 001F
Done.
===== 14 G03 GPU SPEED 03H | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: GP0(03h) timing control
GP0(03h) as found
rect 3x128: 707 692 690 691, bit 28 at 156
rect 512x128: 33264 33253 33255 33252, bit 28 at 157
fill 256x256: 5546 5539 5550 5551, bit 28 at 155
gouraud tri 64: 2560 2554 2550 2555, bit 28 at 300
GP0(03h)=00
rect 3x128: 708 694 697 696, bit 28 at 156
rect 512x128: 33253 33253 33255 33252, bit 28 at 157
fill 256x256: 5609 5605 5539 5537, bit 28 at 151
gouraud tri 64: 2555 2550 2564 2555, bit 28 at 303
GP0(03h)=01
rect 3x128: 712 695 696 698, bit 28 at 157
rect 512x128: 33428 33433 33426 33378, bit 28 at 151
fill 256x256: 5604 5539 5550 5551, bit 28 at 155
gouraud tri 64: 2621 2622 2626 2616, bit 28 at 303
GP0(03h)=02
rect 3x128: 764 754 757 751, bit 28 at 151
rect 512x128: 33507 33550 33496 33497, bit 28 at 156
fill 256x256: 5550 5539 5597 5601, bit 28 at 151
gouraud tri 64: 2697 2675 2675 2679, bit 28 at 304
GP0(03h)=04
rect 3x128: 1013 992 991 994, bit 28 at 156
rect 512x128: 33743 33792 33788 33802, bit 28 at 151
fill 256x256: 5730 5782 5782 5782, bit 28 at 151
gouraud tri 64: 2800 2805 2804 2799, bit 28 at 304
GP0(03h)=08
rect 3x128: 1554 1546 1544 1546, bit 28 at 151
rect 512x128: 34290 34280 34279 34281, bit 28 at 156
fill 256x256: 6764 6814 6762 6759, bit 28 at 151
gouraud tri 64: 3056 3043 3046 3041, bit 28 at 302
GP0(03h)=0F
rect 3x128: 2466 2447 2454 2456, bit 28 at 157
rect 512x128: 35198 35192 35196 35195, bit 28 at 155
fill 256x256: 8577 8568 8577 8572, bit 28 at 151
gouraud tri 64: 3470 3472 3516 3468, bit 28 at 303
GP0(03h)=00 again, rect 3x128: 688 694 693 691, bit 28 at 156
Done.
===== 15 GRS GPU RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GPU timing: GP1(00h) and GP1(01h) resets
Rect 1x1 8bpp, same CLUT: 156 155 151 155, bit 28 at 155
Rect 1x1 8bpp, same CLUT, GP1(01h) before: 154 156 151 157
A0h 64x16 cut after 100 words by GP1(01h): GPUSTAT before 10062518 after 10062518
then fill 16x16: 277 271 272 266, bit 28 at 151
pixel 0,256 0886 (the fill writes 0886h)
C0h 16x16, 1 word read, GP1(01h): GPUSTAT before 18062518 after 18062518, GPUREAD then 08860886
GP1(00h) idle: ready at 105, GPUSTAT 14802000
After GP1(00h), GP1(10h) 3,4,5: 00000000 00000000 00000000
GP1(00h) 3000 cycles into fill 1024x256: ready at 82, GPUSTAT 14802000, last pixel 001F (001F old, 03E0 new)
Fill 16x16 after: 294 274 271 269, bit 28 at 151
Done.
27 September 2026 (5501a-card-g3)
Output files: 00RUN.txt · 01GBS.txt · 02GFL.txt · 03GRC.txt · 04GRT.txt · 05GTR.txt · 06GTT.txt · 07GMK.txt · 08GLN.txt · 09GVV.txt · 10GXF.txt · 11GDM.txt · 12GDS.txt · 13GFF.txt · 14G03.txt · 15GRS.txt · 00RUN.txt · 01GBS.txt · 02GFL.txt · 03GRC.txt · 04GRT.txt · 05GTR.txt · 06GTT.txt · 07GMK.txt · 08GLN.txt · 09GVV.txt · 10GXF.txt · 11GDM.txt · 12GDS.txt · 13GFF.txt · 14G03.txt · 15GRS.txt.
27 September 2026 (5501a-card-g)
Output files: 00RUN.txt · 01GBS.txt · 02GFL.txt · 03GRC.txt · 04GRT.txt · 05GTR.txt · 06GTT.txt · 07GMK.txt · 08GLN.txt · 09GVV.txt · 10GXF.txt · 11GDM.txt · 12GDS.txt · 13GFF.txt · 14G03.txt · 15GRS.txt.
27 September 2026 (5501a-card-b)
Output files: 00RUN.txt · 01GBS.txt · 02GFL.txt · 03GRC.txt · 04GRT.txt · 05GTR.txt · 06GTT.txt · 07GMK.txt · 08GLN.txt · 09GVV.txt · 10GXF.txt · 11GDM.txt · 12GDS.txt · 13GFF.txt · 14G03.txt · 15GRS.txt.
References
-
^ a b Console test suite (PsyQ build), programs/gpu/gputime.c and gputime.md.
-
^ Hardware test run 20260928T0000Z-5501a-card-h: gputime/01GBS.txt.
-
^ Hardware test run 20260928T0000Z-5501a-card-h: gputime/02GFL.txt.
-
^ Hardware test run 20260928T0000Z-5501a-card-h: gputime/03GRC.txt.
-
^ a b Hardware test run 20260928T0000Z-5501a-card-h: gputime/05GTR.txt.
-
^ Hardware test run 20260928T0000Z-5501a-card-h: gputime/09GVV.txt.