psx.wiki

GPU Rasterization Rules

Records which pixels the GPU writes for small triangles, quads, lines, rectangles, fills and copies.

GPU Rasterization Rules
MachineSCPH-5501
Programgpuraster

Overview

Each case clears an area of VRAM with GP0(A0h), draws, reads the area back with GP0(C0h) and prints a CRC-32 of it. For small areas it also prints the pixels. All drawing goes to VRAM rows 256 to 511, and the CPU writes each command word after GPUSTAT bits 26 and 28 are set.1

Many cases draw in additive semi-transparency with a red of 8, so the red of a pixel counts how many times it was drawn. These cases print a map in which "." is a pixel not drawn and a digit is the count. The line cases print, for each step along the major axis, the minor coordinate that was drawn.1 The rendering page describes the drawing rules.

Results

A triangle does not draw its right and bottom edges. The right triangle 0,0, 10,0, 0,10 drew rows 0 to 9, ten pixels wide in row 0 and one pixel wide in row 9, and nothing in column 10 or row 10.2

The order of the vertices makes no difference: each triangle drew the same pixels with either winding. A square drawn as two triangles split along either diagonal drew the same pixels as a fan of four triangles about its centre. In all three each pixel was drawn once.2

A line drawn with GP0(40h) includes both end points and draws the same pixels in either direction. A line from 8,8 to 16,8 drew nine pixels, and every line printed the same steps from the centre outward as from the end inward.3

Runs

28 September 2026 (gpuraster_rsk on 5501a-card-h)

gpuraster_rsk/00RUN.txt

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
1 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 80024F50 TAR 801125E0 DCIC 00000000 BadVaddr 1F801DAA BDAM FFFFFFFF
BPCM 00000000 SR 70000000 Cause 00000020 EPC 8011314C PRId 00000002

gpuraster_rsk/01RSK.txt

===== 01 RSK GPU COMMAND PARSING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Command parsing: polyline end codes, long polylines, NOP numbers, mirrors. After
each, GP1(01h) resets the command buffer (display-control-commands-gp1.txt:23-28).
GPUSTAT 5606200F at start
Polyline 4,4 to 10,4 then the word below, then 55555555h; counts in 14x14:
50005000h (Wild Arms 2, render-line-commands.txt:32-34) crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
50085008h (x 8, y 8 if a vertex) crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
5555000Ch crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
gouraud: 55555555h in a colour slot, then 10,10 crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
zigzag polyline of 40 vertices: crc 052D62B7, 64 drawn
NOP numbers followed by a 4x4 tile at 2,2; the tile drawn right means no words eaten:
00h: 16 drawn, x 2..5, y 2..5
04h: 16 drawn, x 2..5, y 2..5
1Eh: 16 drawn, x 2..5, y 2..5
E0h: 16 drawn, x 2..5, y 2..5
E7h: 16 drawn, x 2..5, y 2..5
EFh: 16 drawn, x 2..5, y 2..5
Mirrors (other-commands.txt:53-56):
BFh as A0h, 4x1 1,2,3,4 crc 92991416
 0001 0002 0003 0004 
9Fh as 80h, row 410 to 411 crc 92991416
 0001 0002 0003 0004 
DFh as C0h, 2x1: GPUSTAT.27 set, GPUREAD 00020001
Copy 256x200 from 0,256 to 256,256 ... done, first row crc 767FF88C
Waits that ran out: 4
Done.

28 September 2026 (gpuraster_safe on 5501a-card-h)

gpuraster_safe/00RUN.txt

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
15 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 80024F50 TAR 80115898 DCIC 00000000 BadVaddr 1F801DAA BDAM FFFFFFFF
BPCM 00000000 SR 70000000 Cause 00000020 EPC 8011644C PRId 00000002

gpuraster_safe/01TRI.txt

===== 01 TRI GPU TRI FILL RULES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Triangles, flat, B+F with red 8: each digit is how many times a pixel was drawn.
Window from local -1,-1, 15x15.
GPUSTAT 5606200F at start
GP1(10h) index 7 (GPU type): 00000002, index 8: 00000000
right angle 0,0 10,0 0,10 crc 8DD3BDDA
 ...............
 .1111111111....
 .111111111.....
 .11111111......
 .1111111.......
 .111111........
 .11111.........
 .1111..........
 .111...........
 .11............
 .1.............
 ...............
 ...............
 ...............
 ...............
same, other winding 0,0 0,10 10,0 crc 8DD3BDDA
 ...............
 .1111111111....
 .111111111.....
 .11111111......
 .1111111.......
 .111111........
 .11111.........
 .1111..........
 .111...........
 .11............
 .1.............
 ...............
 ...............
 ...............
 ...............
right angle at 10,10: 10,0 10,10 0,10 crc 61B0F2CF
 ...............
 ...............
 ..........1....
 .........11....
 ........111....
 .......1111....
 ......11111....
 .....111111....
 ....1111111....
 ...11111111....
 ..111111111....
 ...............
 ...............
 ...............
 ...............
square, two tris, diagonal 10,0-0,10 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
square, two tris, diagonal 0,0-10,10 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
fan of four about 5,5 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
shallow shared edge 12,4-0,12 crc 929F6BD6
 ...............
 ...............
 .111...........
 .111111........
 .111111111.....
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 ...............
 ...............
steep shared edge 4,12-12,0 crc 8DD49EA8
 ...............
 .111111111111..
 ..11111111111..
 ..11111111111..
 ..11111111111..
 ...1111111111..
 ...1111111111..
 ...1111111111..
 ....111111111..
 ....111111111..
 ....111111111..
 .....11111111..
 .....11111111..
 ...............
 ...............
flat top 1,1 11,1 6,11 crc F3E4E953
 ...............
 ...............
 ..1111111111...
 ...111111111...
 ...11111111....
 ....1111111....
 ....111111.....
 .....11111.....
 .....1111......
 ......111......
 ......11.......
 .......1.......
 ...............
 ...............
 ...............
flat bottom 6,1 1,11 11,11 crc 760D9EEE
 ...............
 ...............
 ...............
 .......1.......
 ......11.......
 ......111......
 .....1111......
 .....11111.....
 ....111111.....
 ....1111111....
 ...11111111....
 ...111111111...
 ...............
 ...............
 ...............
general 1,2 11,5 4,11 crc 09BAF479
 ...............
 ...............
 ...............
 ...............
 ...111.........
 ...111111......
 ...111111111...
 ....1111111....
 ....111111.....
 ....11111......
 .....111.......
 .....11........
 ...............
 ...............
 ...............
general reversed 4,11 11,5 1,2 crc 09BAF479
 ...............
 ...............
 ...............
 ...............
 ...111.........
 ...111111......
 ...111111111...
 ....1111111....
 ....111111.....
 ....11111......
 .....111.......
 .....11........
 ...............
 ...............
 ...............
vertical left edge 0,0 0,10 10,5 crc DA2C2C3B
 ...............
 ...............
 .11............
 .1111..........
 .111111........
 .11111111......
 .1111111111....
 .11111111......
 .111111........
 .1111..........
 .11............
 ...............
 ...............
 ...............
 ...............
vertical right edge 10,0 10,10 0,5 crc 941E212E
 ...............
 ...............
 .........11....
 .......1111....
 .....111111....
 ...11111111....
 .1111111111....
 ...11111111....
 .....111111....
 .......1111....
 .........11....
 ...............
 ...............
 ...............
 ...............
sliver 0,0 12,1 12,2 crc EEFDFA63
 ...............
 ...............
 .......111111..
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
sliver 0,0 1,12 2,12 crc 1BA1B2CA
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ..1............
 ..1............
 ..1............
 ..1............
 ..1............
 ...............
 ...............
tiny: 0,0 1,0 0,1 / 3,0 5,0 3,2 / 7,0 8,1 7,1 / 9,5 11,5 10,7 crc D85CFC26
 ...............
 .1..11.........
 ....1..........
 ...............
 ...............
 ...............
 ..........11...
 ...........1...
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
degenerate: diagonal, row 12, column 12, point 6,2 crc 6E59FDE2
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
Waits that ran out: 0
Done.

gpuraster_safe/02QDL.txt

===== 02 QDL GPU QUAD AND LIMITS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Quads (count maps as in TRI) and the size and coordinate limits.
GPUSTAT 5606200F at start
quad Z order 0,0 10,0 0,10 10,10 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
quad ring order 0,0 10,0 10,10 0,10 crc EB75C572
 ...............
 .1111111111....
 ..111111112....
 ...11111122....
 ....1111222....
 .....112222....
 ......22222....
 .....112222....
 ....1111222....
 ...11111122....
 ..111111112....
 ...............
 ...............
 ...............
 ...............
quad concave 0,0 10,0 0,10 3,3 crc 56B0BD95
 ...............
 .1111111111....
 .111111112.....
 .11111122......
 .1112222.......
 .111222........
 .11122.........
 .1122..........
 .112...........
 .12............
 .1.............
 ...............
 ...............
 ...............
 ...............
quad bowtie 0,0 10,10 0,10 10,0 crc 18C4943D
 ...............
 ...............
 .1........1....
 .11......11....
 .111....111....
 .1111..1111....
 .1111111111....
 .1111221111....
 .1112222111....
 .1122222211....
 .1222222221....
 ...............
 ...............
 ...............
 ...............
two quads sharing x=6 crc 0A5A6AC6
 ...............
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 ...............
 ...............
 ...............
 ...............
quad v1=v2 0,0 0,0 0,10 10,10 crc 98839567
 ...............
 ...............
 .1.............
 .11............
 .111...........
 .1111..........
 .11111.........
 .111111........
 .1111111.......
 .11111111......
 .111111111.....
 ...............
 ...............
 ...............
 ...............
quad 2x2 at 0,0 and 1x1 at 5,5 crc 0FF5BCC3
 ...............
 .11............
 .11............
 ...............
 ...............
 ...............
 ......1........
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
Size limits: pixels drawn in a 16x16 box inside the triangle
width 1022: 256 of 256
width 1023: 256 of 256
width 1024: 0 of 256
height 510: 256 of 256
height 511: 256 of 256
height 512: 0 of 256
1023 x 511: 256 of 256
1024 x 511: 0 of 256
1023 x 512: 0 of 256
quad, 2-3-4 is 1032 wide: 136 of 256
quad, 1-2-3 is 1032 wide: 120 of 256
quad 1060 wide, each triangle under 1023: 256 of 256
Offset plus vertex past 11 bits:
tri at -208 with offset -1024, box 816..847: 272 of 512
rect at -208 with offset -1024: 512 of 512
line -208,300 to -177,315 with offset -1024: 32 of 512
tri 400..520 with offset 512 (one vertex wraps), box 912..927: 247 of 256
Vertex upper bits, triangle 0,0 10,0 0,10 against the clean words:
clean: crc 8848BC78, 55 drawn
x bits 11-15 set: crc 8848BC78, 55 drawn, same
x bit 11 set: crc 8848BC78, 55 drawn, same
y bits 11-15 set: crc 8848BC78, 55 drawn, same
x -4 as FFFCh: crc 4AEAB963, 55 drawn
x -4 as 07FCh: crc 4AEAB963, 55 drawn, same
x 3FCh (+1020): crc BA52B49D, 7 drawn
Gouraud triangle clipped by the area, same pixels either way?
area from x 0: crc BDDE35AC; area from x -16: crc BDDE35AC; 256 of 256 equal
Waits that ran out: 0
Done.

gpuraster_safe/03LIN.txt

===== 03 LIN GPU LINE OCTANTS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Lines, GP0(40h), white. For each line, along its major axis, the minor coordinate
drawn at each step in base 64 ('.' none, '*' two or more). f: centre to end, r: end
to centre. Window 17x17, centre 8,8.
GPUSTAT 5606200F at start
8,0 f ........888888888 r ........888888888
8,2 f ........889999aaa r ........889999aaa
8,4 f ........899aabbcc r ........899aabbcc
8,6 f ........89aabcdde r ........89aabcdde
8,8 f ........89abcdefg r ........89abcdefg
6,8 f ........899abccde r ........899abccde
4,8 f ........8899aabbc r ........8899aabbc
2,8 f ........8889999aa r ........8889999aa
0,8 f ........888888888 r ........888888888
-2,8 f ........887777666 r ........887777666
-4,8 f ........877665544 r ........877665544
-6,8 f ........876654332 r ........876654332
-8,8 f gfedcba98........ r gfedcba98........
-8,6 f edccba998........ r edccba998........
-8,4 f cbbaa9988........ r cbbaa9988........
-8,2 f aa9999888........ r aa9999888........
-8,0 f 888888888........ r 888888888........
-8,-2 f 667777888........ r 667777888........
-8,-4 f 455667788........ r 455667788........
-8,-6 f 234456778........ r 234456778........
-8,-8 f 012345678........ r 012345678........
-6,-8 f 233456678........ r 233456678........
-4,-8 f 445566778........ r 445566778........
-2,-8 f 666777788........ r 666777788........
0,-8 f 888888888........ r 888888888........
2,-8 f aa9999888........ r aa9999888........
4,-8 f cbbaa9988........ r cbbaa9988........
6,-8 f edccba998........ r edccba998........
8,-8 f ........876543210 r ........876543210
8,-6 f ........876654332 r ........876654332
8,-4 f ........877665544 r ........877665544
8,-2 f ........887777666 r ........887777666
5,2 f ........8899aa... r ........8899aa...
5,3 f ........899aab... r ........899aab...
7,2 f ........889999aa. r ........889999aa.
7,3 f ........8899aabb. r ........8899aabb.
3,1 f ........8899..... r ........8899.....
1,3 f ........8899..... r ........8899.....
2,5 f ........8899aa... r ........8899aa...
3,5 f ........899aab... r ........899aab...
1,0 f ........88....... r ........88.......
0,1 f ........88....... r ........88.......
1,1 f ........89....... r ........89.......
0,0 f ........8........ r ........8........
3,2 f ........899a..... r ........899a.....
-3,2 f .....a998........ r .....a998........
3,-2 f ........8776..... r ........8776.....
-3,-2 f .....6778........ r .....6778........
Long lines in a 41x41 window: 0,0 to 40,k (x major) and 0,0 to k,40 (y major)
40,1 f 00000000000000000000111111111111111111111
 r 00000000000000000000111111111111111111111
1,40 f 00000000000000000000011111111111111111111
 r 00000000000000000000011111111111111111111
40,3 f 00000001111111111111222222222222223333333
 r 00000001111111111111222222222222223333333
3,40 f 00000001111111111111122222222222223333333
 r 00000001111111111111122222222222223333333
40,7 f 00011111122222233333444444555555666666777
 r 00011111122222233333444444555555666666777
7,40 f 00011111122222233333344444555555666666777
 r 00011111122222233333344444555555666666777
40,13 f 001112223334445556667777888999aaabbbcccdd
 r 001112223334445556667777888999aaabbbcccdd
13,40 f 001112223334445556666777888999aaabbbcccdd
 r 001112223334445556666777888999aaabbbcccdd
40,20 f 0112233445566778899aabbccddeeffgghhiijjkk
 r 0112233445566778899aabbccddeeffgghhiijjkk
20,40 f 00112233445566778899aabbccddeeffgghhiijjk
 r 00112233445566778899aabbccddeeffgghhiijjk
40,27 f 011233455677899abbcdeefgghiijkklmmnoopqqr
 r 011233455677899abbcdeefgghiijkklmmnoopqqr
27,40 f 011233455677899abbcddefgghiijkklmmnoopqqr
 r 011233455677899abbcddefgghiijkklmmnoopqqr
40,39 f 0123456789abcdefghijkklmnopqrstuvwxyzABCD
 r 0123456789abcdefghijkklmnopqrstuvwxyzABCD
39,40 f 0123456789abcdefghijjklmnopqrstuvwxyzABCD
 r 0123456789abcdefghijjklmnopqrstuvwxyzABCD
0,40 to 40,27 EEDDDCCCBBBAAAzzzyyyxxxxwwwvvvuuutttsssrr
 back EEDDDCCCBBBAAAzzzyyyxxxxwwwvvvuuutttsssrr
Waits that ran out: 0
Done.

gpuraster_safe/04LNS.txt

===== 04 LNS GPU LINE SHADE POLY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Line colours (red channel, 5-bit, base 32), polylines, limits.
GPUSTAT 5606200F at start
gouraud 0,0 red 00 to 15,0 red FF, dither off crc B15EA965
 02468acehjlnprtv
same, 15,0 to 0,0 crc B15EA965
 02468acehjlnprtv
gouraud 0,0 to 31,0, red 00 to FF crc F950F6E9
 0123456789abcdefghijklmnopqrstuv
gouraud 0,0 to 7,0, red FF to 00 crc 5EEADFF7
 vrmid940
gouraud 0,0 to 0,15 red 00 to FF (a column) crc B15EA965
 0
 2
 4
 6
 8
 a
 c
 e
 h
 j
 l
 n
 p
 r
 t
 v
gouraud 0,0 to 15,5, red 00 to FF crc C97FCAEE
 0200000000000000
 0046800000000000
 00000ace00000000
 00000000hjl00000
 00000000000npr00
 00000000000000tv
dither on: 4 gouraud rows red 00 to FF crc 27EF39A3
 02368acfgjknprtv
 01468adehilnpruv
 02368acegjknprtv
 02468adehjlnpruv
dither on: 4 flat rows red 44h crc F2FDA446
 8888888888888888
 8888888888888888
 8888888888888888
 8888888888888888
dither on: 4 flat rows red 44h, right to left crc F2FDA446
 8888888888888888
 8888888888888888
 8888888888888888
 8888888888888888
polyline square 0,0 10,0 10,10 0,10 0,0, counts crc A278982D
 ..............
 .21111111112..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .21111111112..
 ..............
 ..............
polyline 0,0 5,0 5,0 5,5 (repeated vertex) crc 3EA60432
 ..............
 .111113.......
 ......1.......
 ......1.......
 ......1.......
 ......1.......
 ......1.......
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
two single lines 0,0-10,0 and 10,0-10,10 crc 26DE41CB
 ..............
 .11111111112..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ..............
 ..............
polyline of one segment 0,0 10,3 crc 87F35582
 ..............
 .11...........
 ...111........
 ......1111....
 ..........11..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
line 5,5 to 5,5 crc 02362D27
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ......1.......
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
gouraud polyline red, green, blue, red around 0,0 10,0 10,10 0,10: crc 5805F5CA, 31 drawn
Line size limits (rendering-attributes.txt:9-13), box 256..271 x 300..315:
across 1022: 16 drawn in box
across 1023: 16 drawn in box
across 1024: 0 drawn in box
across 1023, reversed: 16 drawn in box
across 1024, reversed: 0 drawn in box
down 510: 16 drawn in box
down 511: 16 drawn in box
down 512: 0 drawn in box
1023 x 511: 16 drawn in box
1023 x 512: 0 drawn in box
line -10,0 to 30,7 clipped at x 0: crc 36C5DA42; unclipped: crc 36C5DA42; first 2 rows 64 of 64 equal
Waits that ran out: 0
Done.

gpuraster_safe/05REC.txt

===== 05 REC GPU RECT SPRITE FLIP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Rectangles: sizes as pixels drawn and their extent (window from local -2,-2, 20x20),
then raw textured sprites from the 15-bit page (texel 4000h|v<<8|u).
GPUSTAT 5606200F at start
tile 0x3: none drawn
tile 3x0: none drawn
tile 1x1: 1 drawn, x 2..2, y 2..2
tile 2x3: 6 drawn, x 2..3, y 2..4
tile 1024x2 (size field 400h): none drawn
tile 1025x2: 2 drawn, x 2..2, y 2..3
tile 1039x2: 30 drawn, x 2..16, y 2..3
tile 2x512 (size field 200h): none drawn
tile 2x513: 2 drawn, x 2..3, y 2..2
tile 2x1024: none drawn
tile 2x1027: 6 drawn, x 2..3, y 2..4
tile 1x1 command 6Ah: 1 drawn, x 5..5, y 5..5
tile 8x8 command 72h: 64 drawn, x 5..12, y 5..12
tile 16x16 command 7Ah: 256 drawn, x 2..17, y 2..17
tile 6x6 at -3,-3: 25 drawn, x 0..4, y 0..4
tile 4x4 at x 0805h (bit 11): 16 drawn, x 7..10, y 2..5
tile 4x4 at y F805h: 16 drawn, x 2..5, y 7..10
tile 16x16 in area local 2..9: 64 drawn, x 4..11, y 4..11
8x8 u0 v0 crc FF2AA940
 v00 u 00 01 02 03 04 05 06 07 
 v01 u 00 01 02 03 04 05 06 07 
 v02 u 00 01 02 03 04 05 06 07 
 v03 u 00 01 02 03 04 05 06 07 
 v04 u 00 01 02 03 04 05 06 07 
 v05 u 00 01 02 03 04 05 06 07 
 v06 u 00 01 02 03 04 05 06 07 
 v07 u 00 01 02 03 04 05 06 07 
8x8 u0 v0 x-flip crc A11DE670
 v00 u 01 00 FF FE FD FC FB FA 
 v01 u 01 00 FF FE FD FC FB FA 
 v02 u 01 00 FF FE FD FC FB FA 
 v03 u 01 00 FF FE FD FC FB FA 
 v04 u 01 00 FF FE FD FC FB FA 
 v05 u 01 00 FF FE FD FC FB FA 
 v06 u 01 00 FF FE FD FC FB FA 
 v07 u 01 00 FF FE FD FC FB FA 
8x8 u0 v0 y-flip crc E74C83BA
 v00 u 00 01 02 03 04 05 06 07 
 v02 u !C210 !C210 !C210 !C210 10 10 10 10 
 v00 u !0000 !0421 !0842 !0C63 !1084 !14A5 !18C6 !1CE7 
 v00 u !8000 !8421 !8842 !8C63 !9084 !94A5 !98C6 !9CE7 
8x8 u7 v3 x and y flip crc 9217AAF4
 v03 u 07 06 05 04 03 02 01 00 
 v02 u 07 06 05 04 03 02 01 00 
 v01 u 07 06 05 04 03 02 01 00 
 v00 u 07 06 05 04 03 02 01 00 
16x2 u1 crc 4CF60F65
 v00 u 01 02 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 
 v01 u 01 02 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 
16x1 u3 crc DB02B679
 v00 u 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 
16x1 u5 crc BF1ED43E
 v00 u 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 13 13 
16x1 u7 crc 79711A63
 v00 u 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 13 13 15 16 
40x1 u1 crc 309BED7F
 v00 u 01 02 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 13 13 15 16 17 17 19 1A 1B 1B 1D 1E 1F 1F 21 22 23 23 25 26 27 27 
16x1 u252 (wraps) crc 24D2BEA4
 v00 u FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 
2x8 v250 (wraps) crc 3D1AC694
 v3A u 00 01 
 v00 u !0842 !0842 
 v00 u !0000 !0000 
 v00 u !8000 !8421 
 v00 u !0000 !0421 
 v00 u !C210 !C210 
 v00 u 00 01 
 v01 u 00 01 
16x1 u1 x-flip crc 96035D18
 v00 u 01 00 FF FE FD FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 
16x1 u8 x-flip crc DD34FC8D
 v00 u 09 08 07 06 05 04 03 02 01 00 FF FE FD FC FB FA 
16x1 u255 x-flip crc 1D7602D8
 v00 u FF FE FD FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 
2x4 v2 y-flip crc D5CBA493
 v02 u 00 01 
 v01 u 00 01 
 v00 u 00 01 
 v00 u !C210 !C210 
16x16 command 7Dh, u16 v16, x and y flip crc 6BBE81F0
16x16 command 7Dh u16 v16 crc 2BB2C2FC
8x8 command 75h u9 v1 crc 2E2918C4
 v01 u 09 0A 0B 0B 0D 0E 0F 0F 
1x1 command 6Dh u9 v1 crc 2D147761
 v01 u 09 !0000 
1x1 command 6Dh u9 v1 x-flip crc 2D147761
 v01 u 09 !0000 
quad 2Dh u0..8 with E1 x-flip set before it crc AD07C8B3
 v00 u 00 01 02 03 04 05 06 07 
8x1 u0 x-flip, after the quad crc A65746BD
 v00 u 01 00 FF FE FD FC FB FA 
4-bit and 8-bit sprites as CLUT index (texel index (u+v)&15 or (u+16v)&255):
4-bit 16x1 u0: 2000.. 000102030405060708090A0B0C0D0E0F
4-bit 16x1 u1: 2000.. 0102030405060708090A0B0C0D0E0F0F
4-bit 24x1 u7: 2000.. 0708090A0B0C0D0E0F0F0102030405060708090A0B0C0D0E
4-bit 16x1 u0 x-flip: 2000.. 01000F0E0D0C0B0A0908070605040302
4-bit 16x1 u8 x-flip: 2000.. 090807060504030201000F0E0D0C0B0A
8-bit 16x1 u0 v4: 1000.. 404142434445464748494A4B4C4D4E4F
8-bit 16x1 u1 v4: 1000.. 4142434445464747494A4B4C4D4E4F4F
8-bit 16x1 u0 v4 x-flip: 1000.. 41403F3E3D3C3B3A3938373635343332
8-bit 16x1 u3 v4 x-flip: 1000.. 434241403F3E3D3C3B3A393837363534
Waits that ran out: 0
Done.

gpuraster_safe/06TWN.txt

===== 06 TWN GPU TEXTURE WINDOW | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Texture window (E2h) on raw sprites from the 15-bit page: v and u of each texel read.
GPUSTAT 5606200F at start
E2 0, 20x1 u0 crc 24B003C5
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 
mask X 1 offset X 0, u0 crc 90E5D6B6
 v00 u 00 01 02 03 04 05 06 07 00 01 02 03 04 05 06 07 10 11 12 13 
mask X 1 offset X 1, u0 crc D75E924D
 v00 u 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 
mask X 2 offset X 1 (offset outside mask), u0 crc 410675BB
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 01 02 03 
mask X 3 offset X 3, u0 crc 3D9E6DC5
 v00 u 18 19 1A 1B 1C 1D 1E 1F 18 19 1A 1B 1C 1D 1E 1F 18 19 1A 1B 
mask X 0 offset X 1Fh, u0 crc 24B003C5
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 
mask X 1Fh offset X 0, u0 crc F553A0C8
 v00 u 00 01 02 03 04 05 06 07 00 01 02 03 04 05 06 07 00 01 02 03 
mask X 1Fh offset X 1Fh, u0 crc 08D90F45
 v00 u F8 F9 FA FB FC FD FE FF F8 F9 FA FB FC FD FE FF F8 F9 FA FB 
mask X 10h offset X 10h, u0 crc 842259F3
 v00 u 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 
mask X 1Eh offset X 0Fh, u0 crc 5BA5C4FB
 v00 u 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 70 71 72 73 
mask X 1 offset X 1, u4 crc B218DDF6
 v00 u 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 1C 1D 1E 1F 
mask X 1 offset X 1, u250 crc C250AF3B
 v00 u FA FB FC FD FE FF 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 
mask Y 1 offset Y 1, 2x12 v0 crc 18800D76
 v08 u 00 01 
 v09 u 00 01 
 v0A u 00 01 
 v0B u 00 01 
 v0C u 00 01 
 v0D u 00 01 
 v0E u 00 01 
 v0F u 00 01 
 v08 u 00 01 
 v09 u 00 01 
 v0A u 00 01 
 v0B u 00 01 
mask Y 1Fh offset Y 1Fh, 2x4 v0 crc AD87A132
 v38 u 00 01 
 v39 u 00 01 
 v3A u 00 01 
 v00 u !0842 !0842 
E2 with bits 20-23 set and mask X 1 offset X 1 crc D75E924D
 v00 u 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 
x-flip, mask X 1 offset X 1, u0 crc 0F1F9343
 v00 u 09 08 FF FE FD FC FB FA F9 F8 FF FE FD FC FB FA F9 F8 EF EE 
x-flip, mask X 1 offset X 1, u16 crc 069E6191
 v00 u 19 18 0F 0E 0D 0C 0B 0A 09 08 0F 0E 0D 0C 0B 0A 09 08 FF FE 
quad u0..20, mask X 1 offset X 1 crc D75E924D
 v00 u 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 
4-bit 20x1 u0, mask X 1 offset X 1 (index): 2000.. 08090A0B0C0D0E0F08090A0B0C0D0E0F08090A0B
GP1(10h) index 2 after E2h FFFFFFh: 200FFFFF
GP1(10h) index 2 after E2h 64D55: 20064D55
Waits that ran out: 0
Done.

gpuraster_safe/07TPG.txt

===== 07 TPG GPU TEXPAGE CLUT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Texture page depth, E1 bit 11, CLUT attribute bit 15 and CLUT/page wrap at x 1023.
GPUSTAT 5606200F at start
depth 3 (reserved), 8x1 u0 v0 crc AD07C8B3
 v00 u 00 01 02 03 04 05 06 07 
E1 bit 11 set, 8x1 u0 v5 crc 5416BA95
 v05 u 00 01 02 03 04 05 06 07 
GPUSTAT after E1 bit 11 and back: 5606211C
raw sprite over 1234h crc 74B14ED5
 1234 1234 1234 1234 8000 8000 8000 8000 
same, semi-transparent command 67h (mode 0) crc 3F3DDD1C
 1234 1234 1234 1234 890A 890A 890A 890A 
4-bit CLUT A: 2000.. 000102030405060708090A0B0C0D0E0F
4-bit CLUT B: 2400.. 000102030405060708090A0B0C0D0E0F
4-bit CLUT A with attribute bit 15: 2000.. 000102030405060708090A0B0C0D0E0F
8-bit v4: 1000.. 404142434445464748494A4B4C4D4E4F
8-bit CLUT with attribute bit 15: 1000.. 404142434445464748494A4B4C4D4E4F
8-bit u0..31 (index = u), CLUT at 1008,499 crc C9073367
 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 780A 780B 780C 780D 780E 780F 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 700A 700B 700C 700D 700E 700F 
8-bit page at x 960, u120..135 v0 (index): 1000.. FC40FD40FE40FF40005A015A025A035A
Waits that ran out: 0
Done.

gpuraster_safe/08UVI.txt

===== 08 UVI GPU UV INTERPOLATE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
UV interpolation (raw quads on the 15-bit page) and gouraud colour across widths.
GPUSTAT 5606200F at start
First column with u 1, quad w wide with u 0 to 1, w from 1:
 -- 01 02 02 03 04 04 04 05 06 06 07 07 08 08 08 09 0A 0A 0B 0B 0C 0C 0D 0D 0E 0E 0F 0F 10 10 10 
 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 1A 1A 1B 1B 1C 1C 1D 1D 1E 1E 1F 1F 20 20 20 
 21 22 22 23 23 24 24 25 25 26 26 27 27 28 29 29 29 2A 2A 2B 2B 2C 2C 2D 2D 2E 2E 2F 2F 30 30 31 
 31 32 32 34 34 34 35 35 35 36 36 38 38 38 39 39 39 3B 3B 3B 3B 3D 3D 3D 3F 3F 3F 3F 40 40 40 40 
 43 43 43 43 45 45 45 45 47 47 47 47 47 4A 4A 4A 4A 4A 4C 4C 4C 4C 4C 4F 4F 4F 4F 4F 4F 52 52 52 
 52 52 52 56 56 56 56 56 56 56 5A 5A 5A 5A 5A 5A 5A 5A 5E 5E 5E 5E 5E 5E 5E 5E 62 62 62 62 62 62 
 62 62 62 67 67 67 67 67 67 67 67 67 6C 6C 6C 6C 6C 6C 6C 6C 6C 6C 6C 72 72 72 72 72 72 72 72 72 
Low 16 bits of each row's CRC, quad w wide with u 0 to 255, w = 1..224:
 47031826E8EE7E45AEB89F5F2032D23840556D12E21729E31B90C9231A71106D
 CD483CAF6C3FDA00B865C0E542D6ADF600DC5DF01A4F2BBA0CA35A12A9750D4D
 CA3418634C7994FBBE0D6F5E94A8863CA00BF8995F4CF142ABC78ED29192CDDD
 087392BA328A41A72E7AA399268EE7A87D38623E0F420A1ED9242C11BE9242CF
 CEE13283439D6C9E1758A7F3FBFB5A01F19341998AE57C49AD63214B527C63F8
 4A376DB25EAFB573DB1DD4259A7F84CD1335D1C60C24599E548E217695AD99B8
 CBF5042B5D489DC6641CF6B32A2440FB5EDB25FC3D99CF862DE74326DC542E11
 835B41137206C6B15941E1B0ACBB6E3EE429BA93C631823B60F8B735097AB54D
 3FCB034739FBBC6DD1C1E44E7E47D56CD735101A5B890E8A6CB7ED7DD569E94C
 015709A964FBDAE27070D2C4F9106C7C1FA256E5D1734C631DF75116332127E0
 802CE7D5C904B34AFC5F577F0BEEFBBBEDA178FB8AE098FC7E04CD9254E205EA
 703245F245E7E629471E5C59939982DC02ACA53719698F38545E7355F56920AA
 363246EE6C9FCE137E8224301FA6A715622530B09BFE5AFB7E9905ED9C608E07
 7D2048DFC073BD4526CD386F241D6CA8177FD38B42C4E025A6B3FD3766D5296C
Gouraud quads red FF to green FF, w wide, 1 tall, dither off: low 16 bits of CRC:
 1921E30FC8A702F4E5561A727B3F1215A75BBE10D69D0BD22C514BFC0122BD14
 5372AF3F685FC75126FD070C8C043563A1BD6F96876F6F4D90BB10B799D2BD1D
 4CC0941B4D13FA3E79ED41925E27C61455F19926717ED2CFCB4675D645EA2416
 D5CE1A70F8CEF3D6481306C30FC09BA14F48CF5568705D4EFAC6F8F044ADC7CC
 57AB7464E2F9780FA04957B7D2CD044271D7168E0E7EC1D02FC6394355021B57
 9A9B9644C179802039201C601BFC55D41DD0DF82DCA9B3A6EA87D9C9D8187007
 AB135F52205F335FE8DEAEA5DB368ED8EEE92C1184A93CFE6214812C1C0380B6
 5FF7EDA6ED842C18673E12A88E434D99F1C4AC2C3012668C2987D4609BC36B3F
 265C81EDF3BB836E7CE2544B9EE7BFA6BE6BB80761E0C56B56487E5B3F54E61B
 C6F111B010A414628F154A1FF73439B4AF09450C53E123E869EF961F71188522
 55DAEBDFB0DF983B713944B50E1E6CC76720CE445AC98AB356C9247B74DBE123
 7C51F45B2D91AF5AD82057578FAA0F27326C40A1789325FA925BE83A75545654
 B6E24BE8F6B0665ECEC0E60E80E3D0C91F4999F1E4643C6CE4B91A26288FE8C6
 FA7FEB34116B3D94A739D5ECE54F3DD15592D8ABC0BA9A1DC2F3D84D468D6C6C
quad 16 wide u 0 to 255 crc BA3CF84D
 v00 u 00 10 20 30 40 50 60 70 80 8F 9F AF BF CF DF EF 
quad 16 wide u 255 to 0 crc 9E5B7845
 v00 u FF EF DF CF BF AF 9F 8F 80 70 60 50 40 30 20 10 
quad 16 wide u 0 to 16 crc 3460BB07
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
quad 16 wide u 0 to 15 crc FB04A7AC
 v00 u 00 01 02 03 04 05 06 07 08 08 09 0A 0B 0C 0D 0E 
quad 2 wide u 0 to 255 crc 74F2C211
 v00 u 00 80 !0000 
quad 1 wide 16 tall v 0 to 63 (column) crc 19EC8B25
 v00 u 00 
 v04 u 00 
 v08 u 00 
 v0C u 00 
 v10 u 00 
 v14 u 00 
 v18 u 00 
 v1C u 00 
 v20 u 00 
 v23 u 00 
 v27 u 00 
 v2B u 00 
 v2F u 00 
 v33 u 00 
 v37 u 00 
 v3B u 00 
triangle 25h 0,0 uv0,0 16,0 uv255,10 0,16 uv7,60: crc C17CF0E6
triangle 1 tall, u 10 to 26 over 16 crc 497ED9D6
 v00 u 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 
Waits that ran out: 0
Done.

gpuraster_safe/09STM.txt

===== 09 STM GPU SEMI TRANSPARENT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Semi-transparency (E1 bits 5-6; rendering-attributes.txt:57). Four pixels drawn over
backgrounds 0000h 2108h 5EF7h 7FFFh with colour 808080h (5-bit 16).
GPUSTAT 5606200F at start
m0 tile 62h: 2108 318C 4E73 5EF7
m0 flat quad 2Ah: 2108 318C 4E73 5EF7
m0 gouraud quad 3Ah: 2108 318C 4E73 5EF7
m0 line 42h: 2108 318C 4E73 5EF7
m0 polyline 4Ah 0-1-3: 2108 39CE 4E73 5EF7
m0 raw rect 67h texel C210h: A108 B18C CE73 DEF7
m0 raw rect 67h texel 4210h: 4210 4210 4210 4210
m0 raw rect 67h texel 8000h: 8000 9084 AD6B BDEF
m0 blended rect 66h colour 404040h texel C210h: 9084 A108 BDEF CE73
m0 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m0 raw quad 2Fh u0..3 texel C210h: A108 B18C CE73 DEF7
m1 tile 62h: 4210 6318 7FFF 7FFF
m1 flat quad 2Ah: 4210 6318 7FFF 7FFF
m1 gouraud quad 3Ah: 4210 6318 7FFF 7FFF
m1 line 42h: 4210 6318 7FFF 7FFF
m1 polyline 4Ah 0-1-3: 4210 7FFF 7FFF 7FFF
m1 raw rect 67h texel C210h: C210 E318 FFFF FFFF
m1 raw rect 67h texel 4210h: 4210 4210 4210 4210
m1 raw rect 67h texel 8000h: 8000 A108 DEF7 FFFF
m1 blended rect 66h colour 404040h texel C210h: A108 C210 FFFF FFFF
m1 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m1 raw quad 2Fh u0..3 texel C210h: C210 E318 FFFF FFFF
m2 tile 62h: 0000 0000 1CE7 3DEF
m2 flat quad 2Ah: 0000 0000 1CE7 3DEF
m2 gouraud quad 3Ah: 0000 0000 1CE7 3DEF
m2 line 42h: 0000 0000 1CE7 3DEF
m2 polyline 4Ah 0-1-3: 0000 0000 1CE7 3DEF
m2 raw rect 67h texel C210h: 8000 8000 9CE7 BDEF
m2 raw rect 67h texel 4210h: 4210 4210 4210 4210
m2 raw rect 67h texel 8000h: 8000 A108 DEF7 FFFF
m2 blended rect 66h colour 404040h texel C210h: 8000 8000 BDEF DEF7
m2 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m2 raw quad 2Fh u0..3 texel C210h: 8000 8000 9CE7 BDEF
m3 tile 62h: 1084 318C 6F7B 7FFF
m3 flat quad 2Ah: 1084 318C 6F7B 7FFF
m3 gouraud quad 3Ah: 1084 318C 6F7B 7FFF
m3 line 42h: 1084 318C 6F7B 7FFF
m3 polyline 4Ah 0-1-3: 1084 4210 6F7B 7FFF
m3 raw rect 67h texel C210h: 9084 B18C EF7B FFFF
m3 raw rect 67h texel 4210h: 4210 4210 4210 4210
m3 raw rect 67h texel 8000h: 8000 A108 DEF7 FFFF
m3 blended rect 66h colour 404040h texel C210h: 8842 A94A E739 FFFF
m3 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m3 raw quad 2Fh u0..3 texel C210h: 9084 B18C EF7B FFFF
Grids against psx-spx's 5-bit formula (gpu.txt:1452-1464), F = colour/8:
mode 0 tile: crc F5CE64DB, 0 of 8192 differ from the formula
mode 1 tile: crc 6AD72B96, 0 of 8192 differ from the formula
mode 2 tile: crc CC580881, 0 of 8192 differ from the formula
mode 3 tile: crc C13FB0EA, 0 of 8192 differ from the formula
mode 0 gouraud quad: crc F5CE64DB, 0 of 8192 differ from the formula
mode 1 gouraud quad: crc 6AD72B96, 0 of 8192 differ from the formula
mode 2 gouraud quad: crc CC580881, 0 of 8192 differ from the formula
mode 3 gouraud quad: crc C13FB0EA, 0 of 8192 differ from the formula
mode 0 raw texel 8000h|gray t: crc 371605E5, 0 of 1024 differ from the formula
mode 1 raw texel 8000h|gray t: crc 3785FE79, 0 of 1024 differ from the formula
mode 2 raw texel 8000h|gray t: crc 2E0973ED, 0 of 1024 differ from the formula
mode 3 raw texel 8000h|gray t: crc 12573AC5, 0 of 1024 differ from the formula
Waits that ran out: 0
Done.

gpuraster_safe/10DTH.txt

===== 10 DTH GPU DITHER MODULATE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Dithering (E1 bit 9; psx-spx gpu.txt:1431-1443) and texture modulation. 4x4 blocks as
red 5-bit in base 32, rows split by '/'.
GPUSTAT 5606200F at start
gouraud quad 00 dither on: 0000/0000/0000/0000
gouraud quad 01 dither on: 0000/0000/0000/0000
gouraud quad 03 dither on: 0000/0000/0000/0000
gouraud quad 04 dither on: 0000/0000/0000/0000
gouraud quad 05 dither on: 0000/0010/0000/1000
gouraud quad 07 dither on: 0001/1010/0100/1010
gouraud quad 08 dither on: 0101/1010/0101/1010
gouraud quad 0C dither on: 1111/1111/1111/1111
gouraud quad 0E dither on: 1111/2121/1111/2121
gouraud quad 10 dither on: 1212/2121/1212/2121
gouraud quad 7C dither on: ffff/ffff/ffff/ffff
gouraud quad 80 dither on: fgfg/gfgf/fgfg/gfgf
gouraud quad F7 dither on: uuuv/vuvu/uvuu/vuvu
gouraud quad F8 dither on: uvuv/vuvu/uvuv/vuvu
gouraud quad FB dither on: uvvv/vvvv/vvuv/vvvv
gouraud quad FC dither on: vvvv/vvvv/vvvv/vvvv
gouraud quad FF dither on: vvvv/vvvv/vvvv/vvvv
gouraud quad 07 dither off: 0000/0000/0000/0000
gouraud quad FF dither off: vvvv/vvvv/vvvv/vvvv
Which commands dither (dither on), colour or texel 0Eh-ish:
flat quad 28h 0E: 1111/1111/1111/1111
tile 60h 0E: 1111/1111/1111/1111
flat lines 40h 0E: 1111/2121/1111/2121
gouraud quad 38h 0E: 1111/2121/1111/2121
blended rects 64h 4x1 808080 texel 2: 2222/2222/2222/2222
blended quad 2Ch 808080 texel 2: 1212/2121/1212/2121
raw quad 2Dh texel 2: 2222/2222/2222/2222
blended quad 2Ch 707070 texel 2: 1111/2121/1111/2121
gouraud textured 3Ch 808080 texel 2: 1212/2121/1212/2121
Dither position (gouraud 0E, dither on):
drawn at local 1,0, read from 0,0: 01111/01212/01111/01212
drawn at 0,0 with offset +1, read from 0,0: 01111/01212/01111/01212
Dither and blending (gouraud 44h, dither on, background red 0Ah):
semi mode 0 crc CA1BB721
 9999
 9999
 9999
 9999
semi mode 1 crc 645896F4
 iiii
 iiii
 iiii
 iiii
semi mode 2 crc 6E8C946E
 2222
 2222
 2222
 2222
semi mode 3 crc F36DD766
 cccc
 cccc
 cccc
 cccc
Modulation grids, dither off, rows colour c (r=g=b), columns texel gray t = 0..31:
rect 64h: crc 153730D8, 0 of 8192 differ from min(31, t*c/128)
quad 2Ch: crc 153730D8, 0 of 8192 differ from min(31, t*c/128)
gouraud quad 3Ch: crc 153730D8, 0 of 8192 differ from min(31, t*c/128)
Waits that ran out: 0
Done.

gpuraster_safe/11MSK.txt

===== 11 MSK GPU MASK BIT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Mask bit (E6h; rendering-attributes.txt:123-137). Background 8421h/0421h alternating.
GPUSTAT 5606200F at start
write 1234h, read 1234
set mask, write 0000h, read 8000
8000h there, check mask, write 1234h, read 8000
8123h then 0456h, read 0456
set mask 0000h, then no mask 0456h, read 0456
E6 0 tile: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 quad: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 line: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 raw sprite texel 45xx: 4500 4501 4502 4503 4504 4505 4506 4507
E6 0 fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 copy 80h from 7FFFh: 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF
E6 0 A0h write 1234h: 1234 1234 1234 1234 1234 1234 1234 1234
check tile: 8421 001F 8421 001F 8421 001F 8421 001F
check quad: 8421 001F 8421 001F 8421 001F 8421 001F
check line: 8421 001F 8421 001F 8421 001F 8421 001F
check raw sprite texel 45xx: 8421 4501 8421 4503 8421 4505 8421 4507
check fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
check copy 80h from 7FFFh: 8421 7FFF 8421 7FFF 8421 7FFF 8421 7FFF
check A0h write 1234h: 8421 1234 8421 1234 8421 1234 8421 1234
set tile: 801F 801F 801F 801F 801F 801F 801F 801F
set quad: 801F 801F 801F 801F 801F 801F 801F 801F
set line: 801F 801F 801F 801F 801F 801F 801F 801F
set raw sprite texel 45xx: C500 C501 C502 C503 C504 C505 C506 C507
set fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
set copy 80h from 7FFFh: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
set A0h write 1234h: 9234 9234 9234 9234 9234 9234 9234 9234
set+check tile: 8421 801F 8421 801F 8421 801F 8421 801F
set+check quad: 8421 801F 8421 801F 8421 801F 8421 801F
set+check line: 8421 801F 8421 801F 8421 801F 8421 801F
set+check raw sprite texel 45xx: 8421 C501 8421 C503 8421 C505 8421 C507
set+check fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
set+check copy 80h from 7FFFh: 8421 FFFF 8421 FFFF 8421 FFFF 8421 FFFF
set+check A0h write 1234h: 8421 9234 8421 9234 8421 9234 8421 9234
E6 0, tile B+F 080808h over 8421h/0421h: 0842 0842 0842 0842 0842 0842 0842 0842
E6 0, raw sprite texels C210h x4, 4210h x4: C210 C210 C210 C210 4210 4210 4210 4210
set, semi raw sprite C210h x4 4210h x4 (mode 0): A108 A108 A108 A108 C210 C210 C210 C210
GPUSTAT bits 11-12 after E6h FFFFFFh: 3
GPUSTAT bits 11-12 after E6h FFFFFCh: 0
Waits that ran out: 0
Done.

gpuraster_safe/12FIL.txt

===== 12 FIL GPU FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Fill 02h (memory-transfer-commands.txt:12-22, :61-70): row y 400 from x 496, 64 wide.
GPUSTAT 5606200F at start
x 200h w 16                ................################................................
x 205h w 16                ................################................................
x 20Fh w 16                ................################................................
x 1FFh w 16                ################................................................
x 200h w 1                 ................################................................
x 200h w 15                ................################................................
x 200h w 17                ................################################................
x 200h w 0                 ................................................................
x 200h w 400h              ................................................................
x 200h w 410h              ................################................................
x 200h w 8010h             ................################................................
x FE00h w 16               ................################................................
x 600h w 16                ................################................................
x 200h w 16 h 0            ................................................................
x 200h w 16 h 200h         ................................................................
x 200h w 16 h 201h         ................################................................
x 200h w 3F1h: 1024 of 1024 in the row filled
x 200h w 3FFh: 1024 of 1024 in the row filled
x 3F0h w 30h: 16 of x 1008..1023, 32 of x 0..31 (################################)
y 510 h 4 at x 640: 32 of rows 510-511, 32 of rows 0-2 (32 each, rows 0-1 expected)
y 400 with bit 9 set: 16 of 16 at y 400
Fill colour to 15-bit, dither on (E1 bit 9) and mask set:
 070707: 0000 0000 0000 0000 / 0000 0000
 080808: 0421 0421 0421 0421 / 0421 0421
 0F0F0F: 0421 0421 0421 0421 / 0421 0421
 101010: 0842 0842 0842 0842 / 0842 0842
 FFFFFF: 7FFF 7FFF 7FFF 7FFF / 7FFF 7FFF
 0000F8: 001F 001F 001F 001F / 001F 001F
 F80000: 7C00 7C00 7C00 7C00 / 7C00 7C00
 00FF00: 03E0 03E0 03E0 03E0 / 03E0 03E0
check mask over 8000h: 7FFF
area 0..15 x 256..271 and offset 100,50: 16 of 16 at 200h,400
Waits that ran out: 0
Done.

gpuraster_safe/13CLC.txt

gpuraster_safe/14CPY.txt

===== 14 CPY GPU VRAM COPY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
VRAM to VRAM copy 80h (memory-transfer-commands.txt:27-37, :72-86). ps1-tests
gpu/vram-to-vram-overlap: a block of size s (pixel 4000h+64y+2x) copied by dx -3..3,
dy -1..1; CRC of the (s+8)^2 cell. Order: dy -1 (dx -3..3), dy 0, dy 1.
GPUSTAT 5606200F at start
size 2:
 8AFE5C49 3EA6B737 181AF0F7 6A2E407A AEF0BD4F 7C9D14A9 30A5B25C 
 B11FF251 D5E868EB 50F985B4 9452635D A3E148C8 702B79F2 46C6795C 
 E082917B DF113383 19AABFCE 9BF578AD BC151CC8 9DB43342 8D17532D 
size 8:
 2B035764 592EB9B8 77A20015 3A462060 52174C07 562278C2 2E80011F 
 76BDFC2A ED9DE864 4011ACC9 B87D6B14 910B29F1 41296584 38BC626F 
 54587E02 C32831B5 C85880D9 77B525EB 415EE80A DF8C182D C8BFB7A1 
size 15:
 6C1F1758 805B376B 10B8F0E5 F7B3CC28 57446D25 892C44DF 4B7D7FB6 
 7C68D67B F20A24D9 B604F2E4 D01EA284 05C5D018 B51BE940 AD1A9642 
 6ED0E8E6 DDCBE10B 2799E886 185DD36C A1180B78 7E94D206 66AC4E47 
size 16:
 A5041F63 28DA841B FE9BD7DF DA218062 10DF2327 F51DC80C BE8560A4 
 ECD61E2D 2962169A 60728C2F E3A58EBF 42AAA2D1 3424D83B 5B77CF84 
 1C2ED0F7 CE0C2F69 19135606 78C940E6 FC128DBB 5FCD1EA3 7D2C911C 
size 16 x+1:
 139F1927 53B1EE87 7144C68C 5ED70784 3B3585E8 D9AD0B76 AC4487B2 
 5EDBFC92 B65A769A B71A3493 EB6B3615 EFE552F8 BC7D244B BF28E0C3 
 61123106 740D903A 68652163 8ABFDB58 B6E50E00 23E5B51D D9E81195 
size 16 y+1:
 5D23C87B 3A38F41E 8A72B86B A0086299 716C9217 AA5659BB FEECFEA7 
 B050533D C31A9BE3 9119527E 86B35055 31DD76A3 3C868E4E EFFD64AD 
 AF5F0309 46438EBA DB4067FF 2734DBF4 49B43C37 5C369B7D 2197C302 
size 16 xy+1:
 B5B2B10A CFC29830 A42654B1 8F6DE6EC 78FD8140 C4916694 5F0C508D 
 CC67BDBA 1B92B4F0 5B68F3A0 501009B0 FC298CD7 6DB0F07D 1420D117 
 7F7C8A98 3DF737D4 187A4370 FB0B8B85 14192340 F6566F7D 8CCF87D8 
Wide rows copied one pixel right (pixel 4000h+x), against a copy made through a buffer:
 width 100 right: 0 differ; left: 0 differ
 width 127 right: 0 differ; left: 0 differ
 width 128 right: 0 differ; left: 0 differ
 width 129 right: 1 differ, first at 129 reads 407F; left: 0 differ
 width 200 right: 1 differ, first at 129 reads 407F; left: 0 differ
 width 300 right: 2 differ, first at 129 reads 407F; left: 0 differ
width 0, height 1: 1024 of 1024 copied
width 400h, height 1: 1024 of 1024 copied
width 401h, height 1: 1 of the first 16 copied
source x 1016, 16 wide (pixel 4000h+x) crc 588D96AE
 43F8 43F9 43FA 43FB 43FC 43FD 43FE 43FF 4000 4001 4002 4003 4004 4005 4006 4007 
destination x 1016, 16 wide: x 0..7 crc CA4D44FF
 4008 4009 400A 400B 400C 400D 400E 400F 
source x 404h (4), destination y 404+512 crc C131685B
 4004 4005 4006 4007 
set mask, copy 4000h.. crc 0099B424
 C000 C001 C002 C003 
check mask, 8000h at the 2nd, copy crc 17AD4D9A
 4000 8000 4002 4003 
source = destination crc 4DB8ECF5
 1111 1111 1111 1111 
A0h 3x1 with words 00020001h 00040003h crc 8BD98464
 0001 0002 0003 2222 2222 
C0h 3x1: words 00020001 22220003; GPUSTAT then D6062000
A0h at x 1022, 4 wide: x 1020..1023 crc EA2AD7C9
 0000 0000 3333 3333 
 x 0..3 crc 410BF4E7
 4444 4444 0000 0000 
Waits that ran out: 0
Done.

gpuraster_safe/15CLP.txt

===== 15 CLP GPU AREA OFFSET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 1F801DAA
Drawing area (E3h/E4h) and offset (E5h), rendering-attributes.txt:94-121.
GPUSTAT 5606200F at start
GP1(10h) after E2-E5 FFFFFFh: index 2 000FFFFF 3 000FFFFF 4 000FFFFF 5 003FFFFF
after E3 x 155h y 2AAh, E5 2AAAAAh: index 3 003AA955 5 002AAAAA
index 0 002AAAAA 1 002AAAAA 6 002AAAAA 9 002AAAAA 10h 002AAAAA 17h 00000002
Counts, B+F red 8, window local 0,0 14x12; area local 2..9 x 2..7:
quad 0,0-12,10 crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
tile 12x10 crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
line 0,0-13,11 crc C079EC85
 ..............
 ..............
 ..1...........
 ...11.........
 .....1........
 ......1.......
 .......1......
 ........1.....
 ..............
 ..............
 ..............
 ..............
raw sprite 65h 12x10 ('#') crc A3FD9360
 ..............
 ..............
 ..########....
 ..########....
 ..########....
 ..########....
 ..########....
 ..########....
 ..............
 ..............
 ..............
 ..............
area one pixel 3,3: tile crc 2F6A7337
 ..............
 ..............
 ..............
 ...1..........
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
area x1 9 > x2 3: tile crc 2D28A891
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
area y1 7 > y2 2: tile crc 2D28A891
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
offset +2,+2: quad crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
offset -2,-2: quad crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
tile 1016..1031: x 1008..1023 8 drawn; x 0..7 0 drawn
Area y 812..827 (bit 9), tile at 256,812 16x16; rows 300..315 then 812-512:
 256 of 256 drawn at rows 300..315; GP1(10h) index 3 001CB100
 same area, tile at y 300: 0 of 256
Waits that ran out: 0
Done.

27 September 2026 (gpuraster_safe on 5501a-card-g3)

Output files: 00RUN.txt · 01TRI.txt · 02QDL.txt · 03LIN.txt · 04LNS.txt · 05REC.txt · 06TWN.txt · 07TPG.txt · 08UVI.txt · 09STM.txt · 10DTH.txt · 11MSK.txt · 12FIL.txt · 13CLC.txt · 14CPY.txt · 15CLP.txt.

27 September 2026 (gpuraster_safe on 5501a-card-g)

Output files: 00RUN.txt · 01TRI.txt · 02QDL.txt · 03LIN.txt · 04LNS.txt · 05REC.txt · 06TWN.txt · 07TPG.txt · 08UVI.txt · 09STM.txt · 10DTH.txt · 11MSK.txt · 12FIL.txt · 13CLC.txt · 14CPY.txt · 15CLP.txt.

27 September 2026 (gpuraster on 5501a-card-b)

gpuraster/s013/00RUN.txt

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
16 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 8002644C PRId 00000002

gpuraster/s013/01TRI.txt

===== 01 TRI GPU TRI FILL RULES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Triangles, flat, B+F with red 8: each digit is how many times a pixel was drawn.
Window from local -1,-1, 15x15.
GPUSTAT 5606200F at start
GP1(10h) index 7 (GPU type): 00000002, index 8: 00000000
right angle 0,0 10,0 0,10 crc 8DD3BDDA
 ...............
 .1111111111....
 .111111111.....
 .11111111......
 .1111111.......
 .111111........
 .11111.........
 .1111..........
 .111...........
 .11............
 .1.............
 ...............
 ...............
 ...............
 ...............
same, other winding 0,0 0,10 10,0 crc 8DD3BDDA
 ...............
 .1111111111....
 .111111111.....
 .11111111......
 .1111111.......
 .111111........
 .11111.........
 .1111..........
 .111...........
 .11............
 .1.............
 ...............
 ...............
 ...............
 ...............
right angle at 10,10: 10,0 10,10 0,10 crc 61B0F2CF
 ...............
 ...............
 ..........1....
 .........11....
 ........111....
 .......1111....
 ......11111....
 .....111111....
 ....1111111....
 ...11111111....
 ..111111111....
 ...............
 ...............
 ...............
 ...............
square, two tris, diagonal 10,0-0,10 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
square, two tris, diagonal 0,0-10,10 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
fan of four about 5,5 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
shallow shared edge 12,4-0,12 crc 929F6BD6
 ...............
 ...............
 .111...........
 .111111........
 .111111111.....
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 ...............
 ...............
steep shared edge 4,12-12,0 crc 8DD49EA8
 ...............
 .111111111111..
 ..11111111111..
 ..11111111111..
 ..11111111111..
 ...1111111111..
 ...1111111111..
 ...1111111111..
 ....111111111..
 ....111111111..
 ....111111111..
 .....11111111..
 .....11111111..
 ...............
 ...............
flat top 1,1 11,1 6,11 crc F3E4E953
 ...............
 ...............
 ..1111111111...
 ...111111111...
 ...11111111....
 ....1111111....
 ....111111.....
 .....11111.....
 .....1111......
 ......111......
 ......11.......
 .......1.......
 ...............
 ...............
 ...............
flat bottom 6,1 1,11 11,11 crc 760D9EEE
 ...............
 ...............
 ...............
 .......1.......
 ......11.......
 ......111......
 .....1111......
 .....11111.....
 ....111111.....
 ....1111111....
 ...11111111....
 ...111111111...
 ...............
 ...............
 ...............
general 1,2 11,5 4,11 crc 09BAF479
 ...............
 ...............
 ...............
 ...............
 ...111.........
 ...111111......
 ...111111111...
 ....1111111....
 ....111111.....
 ....11111......
 .....111.......
 .....11........
 ...............
 ...............
 ...............
general reversed 4,11 11,5 1,2 crc 09BAF479
 ...............
 ...............
 ...............
 ...............
 ...111.........
 ...111111......
 ...111111111...
 ....1111111....
 ....111111.....
 ....11111......
 .....111.......
 .....11........
 ...............
 ...............
 ...............
vertical left edge 0,0 0,10 10,5 crc DA2C2C3B
 ...............
 ...............
 .11............
 .1111..........
 .111111........
 .11111111......
 .1111111111....
 .11111111......
 .111111........
 .1111..........
 .11............
 ...............
 ...............
 ...............
 ...............
vertical right edge 10,0 10,10 0,5 crc 941E212E
 ...............
 ...............
 .........11....
 .......1111....
 .....111111....
 ...11111111....
 .1111111111....
 ...11111111....
 .....111111....
 .......1111....
 .........11....
 ...............
 ...............
 ...............
 ...............
sliver 0,0 12,1 12,2 crc EEFDFA63
 ...............
 ...............
 .......111111..
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
sliver 0,0 1,12 2,12 crc 1BA1B2CA
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ..1............
 ..1............
 ..1............
 ..1............
 ..1............
 ...............
 ...............
tiny: 0,0 1,0 0,1 / 3,0 5,0 3,2 / 7,0 8,1 7,1 / 9,5 11,5 10,7 crc D85CFC26
 ...............
 .1..11.........
 ....1..........
 ...............
 ...............
 ...............
 ..........11...
 ...........1...
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
degenerate: diagonal, row 12, column 12, point 6,2 crc 6E59FDE2
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
Waits that ran out: 0
Done.

gpuraster/s013/02QDL.txt

===== 02 QDL GPU QUAD AND LIMITS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Quads (count maps as in TRI) and the size and coordinate limits.
GPUSTAT 5606200F at start
quad Z order 0,0 10,0 0,10 10,10 crc 823AB2F7
 ...............
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 .1111111111....
 ...............
 ...............
 ...............
 ...............
quad ring order 0,0 10,0 10,10 0,10 crc EB75C572
 ...............
 .1111111111....
 ..111111112....
 ...11111122....
 ....1111222....
 .....112222....
 ......22222....
 .....112222....
 ....1111222....
 ...11111122....
 ..111111112....
 ...............
 ...............
 ...............
 ...............
quad concave 0,0 10,0 0,10 3,3 crc 56B0BD95
 ...............
 .1111111111....
 .111111112.....
 .11111122......
 .1112222.......
 .111222........
 .11122.........
 .1122..........
 .112...........
 .12............
 .1.............
 ...............
 ...............
 ...............
 ...............
quad bowtie 0,0 10,10 0,10 10,0 crc 18C4943D
 ...............
 ...............
 .1........1....
 .11......11....
 .111....111....
 .1111..1111....
 .1111111111....
 .1111221111....
 .1112222111....
 .1122222211....
 .1222222221....
 ...............
 ...............
 ...............
 ...............
two quads sharing x=6 crc 0A5A6AC6
 ...............
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 .111111111111..
 ...............
 ...............
 ...............
 ...............
quad v1=v2 0,0 0,0 0,10 10,10 crc 98839567
 ...............
 ...............
 .1.............
 .11............
 .111...........
 .1111..........
 .11111.........
 .111111........
 .1111111.......
 .11111111......
 .111111111.....
 ...............
 ...............
 ...............
 ...............
quad 2x2 at 0,0 and 1x1 at 5,5 crc 0FF5BCC3
 ...............
 .11............
 .11............
 ...............
 ...............
 ...............
 ......1........
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
 ...............
Size limits: pixels drawn in a 16x16 box inside the triangle
width 1022: 256 of 256
width 1023: 256 of 256
width 1024: 0 of 256
height 510: 256 of 256
height 511: 256 of 256
height 512: 0 of 256
1023 x 511: 256 of 256
1024 x 511: 0 of 256
1023 x 512: 0 of 256
quad, 2-3-4 is 1032 wide: 136 of 256
quad, 1-2-3 is 1032 wide: 120 of 256
quad 1060 wide, each triangle under 1023: 256 of 256
Offset plus vertex past 11 bits:
tri at -208 with offset -1024, box 816..847: 272 of 512
rect at -208 with offset -1024: 512 of 512
line -208,300 to -177,315 with offset -1024: 32 of 512
tri 400..520 with offset 512 (one vertex wraps), box 912..927: 247 of 256
Vertex upper bits, triangle 0,0 10,0 0,10 against the clean words:
clean: crc 8848BC78, 55 drawn
x bits 11-15 set: crc 8848BC78, 55 drawn, same
x bit 11 set: crc 8848BC78, 55 drawn, same
y bits 11-15 set: crc 8848BC78, 55 drawn, same
x -4 as FFFCh: crc 4AEAB963, 55 drawn
x -4 as 07FCh: crc 4AEAB963, 55 drawn, same
x 3FCh (+1020): crc BA52B49D, 7 drawn
Gouraud triangle clipped by the area, same pixels either way?
area from x 0: crc BDDE35AC; area from x -16: crc BDDE35AC; 256 of 256 equal
Waits that ran out: 0
Done.

gpuraster/s013/03LIN.txt

===== 03 LIN GPU LINE OCTANTS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Lines, GP0(40h), white. For each line, along its major axis, the minor coordinate
drawn at each step in base 64 ('.' none, '*' two or more). f: centre to end, r: end
to centre. Window 17x17, centre 8,8.
GPUSTAT 5606200F at start
8,0 f ........888888888 r ........888888888
8,2 f ........889999aaa r ........889999aaa
8,4 f ........899aabbcc r ........899aabbcc
8,6 f ........89aabcdde r ........89aabcdde
8,8 f ........89abcdefg r ........89abcdefg
6,8 f ........899abccde r ........899abccde
4,8 f ........8899aabbc r ........8899aabbc
2,8 f ........8889999aa r ........8889999aa
0,8 f ........888888888 r ........888888888
-2,8 f ........887777666 r ........887777666
-4,8 f ........877665544 r ........877665544
-6,8 f ........876654332 r ........876654332
-8,8 f gfedcba98........ r gfedcba98........
-8,6 f edccba998........ r edccba998........
-8,4 f cbbaa9988........ r cbbaa9988........
-8,2 f aa9999888........ r aa9999888........
-8,0 f 888888888........ r 888888888........
-8,-2 f 667777888........ r 667777888........
-8,-4 f 455667788........ r 455667788........
-8,-6 f 234456778........ r 234456778........
-8,-8 f 012345678........ r 012345678........
-6,-8 f 233456678........ r 233456678........
-4,-8 f 445566778........ r 445566778........
-2,-8 f 666777788........ r 666777788........
0,-8 f 888888888........ r 888888888........
2,-8 f aa9999888........ r aa9999888........
4,-8 f cbbaa9988........ r cbbaa9988........
6,-8 f edccba998........ r edccba998........
8,-8 f ........876543210 r ........876543210
8,-6 f ........876654332 r ........876654332
8,-4 f ........877665544 r ........877665544
8,-2 f ........887777666 r ........887777666
5,2 f ........8899aa... r ........8899aa...
5,3 f ........899aab... r ........899aab...
7,2 f ........889999aa. r ........889999aa.
7,3 f ........8899aabb. r ........8899aabb.
3,1 f ........8899..... r ........8899.....
1,3 f ........8899..... r ........8899.....
2,5 f ........8899aa... r ........8899aa...
3,5 f ........899aab... r ........899aab...
1,0 f ........88....... r ........88.......
0,1 f ........88....... r ........88.......
1,1 f ........89....... r ........89.......
0,0 f ........8........ r ........8........
3,2 f ........899a..... r ........899a.....
-3,2 f .....a998........ r .....a998........
3,-2 f ........8776..... r ........8776.....
-3,-2 f .....6778........ r .....6778........
Long lines in a 41x41 window: 0,0 to 40,k (x major) and 0,0 to k,40 (y major)
40,1 f 00000000000000000000111111111111111111111
 r 00000000000000000000111111111111111111111
1,40 f 00000000000000000000011111111111111111111
 r 00000000000000000000011111111111111111111
40,3 f 00000001111111111111222222222222223333333
 r 00000001111111111111222222222222223333333
3,40 f 00000001111111111111122222222222223333333
 r 00000001111111111111122222222222223333333
40,7 f 00011111122222233333444444555555666666777
 r 00011111122222233333444444555555666666777
7,40 f 00011111122222233333344444555555666666777
 r 00011111122222233333344444555555666666777
40,13 f 001112223334445556667777888999aaabbbcccdd
 r 001112223334445556667777888999aaabbbcccdd
13,40 f 001112223334445556666777888999aaabbbcccdd
 r 001112223334445556666777888999aaabbbcccdd
40,20 f 0112233445566778899aabbccddeeffgghhiijjkk
 r 0112233445566778899aabbccddeeffgghhiijjkk
20,40 f 00112233445566778899aabbccddeeffgghhiijjk
 r 00112233445566778899aabbccddeeffgghhiijjk
40,27 f 011233455677899abbcdeefgghiijkklmmnoopqqr
 r 011233455677899abbcdeefgghiijkklmmnoopqqr
27,40 f 011233455677899abbcddefgghiijkklmmnoopqqr
 r 011233455677899abbcddefgghiijkklmmnoopqqr
40,39 f 0123456789abcdefghijkklmnopqrstuvwxyzABCD
 r 0123456789abcdefghijkklmnopqrstuvwxyzABCD
39,40 f 0123456789abcdefghijjklmnopqrstuvwxyzABCD
 r 0123456789abcdefghijjklmnopqrstuvwxyzABCD
0,40 to 40,27 EEDDDCCCBBBAAAzzzyyyxxxxwwwvvvuuutttsssrr
 back EEDDDCCCBBBAAAzzzyyyxxxxwwwvvvuuutttsssrr
Waits that ran out: 0
Done.

gpuraster/s013/04LNS.txt

===== 04 LNS GPU LINE SHADE POLY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Line colours (red channel, 5-bit, base 32), polylines, limits.
GPUSTAT 5606200F at start
gouraud 0,0 red 00 to 15,0 red FF, dither off crc B15EA965
 02468acehjlnprtv
same, 15,0 to 0,0 crc B15EA965
 02468acehjlnprtv
gouraud 0,0 to 31,0, red 00 to FF crc F950F6E9
 0123456789abcdefghijklmnopqrstuv
gouraud 0,0 to 7,0, red FF to 00 crc 5EEADFF7
 vrmid940
gouraud 0,0 to 0,15 red 00 to FF (a column) crc B15EA965
 0
 2
 4
 6
 8
 a
 c
 e
 h
 j
 l
 n
 p
 r
 t
 v
gouraud 0,0 to 15,5, red 00 to FF crc C97FCAEE
 0200000000000000
 0046800000000000
 00000ace00000000
 00000000hjl00000
 00000000000npr00
 00000000000000tv
dither on: 4 gouraud rows red 00 to FF crc 27EF39A3
 02368acfgjknprtv
 01468adehilnpruv
 02368acegjknprtv
 02468adehjlnpruv
dither on: 4 flat rows red 44h crc F2FDA446
 8888888888888888
 8888888888888888
 8888888888888888
 8888888888888888
dither on: 4 flat rows red 44h, right to left crc F2FDA446
 8888888888888888
 8888888888888888
 8888888888888888
 8888888888888888
polyline square 0,0 10,0 10,10 0,10 0,0, counts crc A278982D
 ..............
 .21111111112..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .1.........1..
 .21111111112..
 ..............
 ..............
polyline 0,0 5,0 5,0 5,5 (repeated vertex) crc 3EA60432
 ..............
 .111113.......
 ......1.......
 ......1.......
 ......1.......
 ......1.......
 ......1.......
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
two single lines 0,0-10,0 and 10,0-10,10 crc 26DE41CB
 ..............
 .11111111112..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ...........1..
 ..............
 ..............
polyline of one segment 0,0 10,3 crc 87F35582
 ..............
 .11...........
 ...111........
 ......1111....
 ..........11..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
line 5,5 to 5,5 crc 02362D27
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ......1.......
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
gouraud polyline red, green, blue, red around 0,0 10,0 10,10 0,10: crc 5805F5CA, 31 drawn
Line size limits (rendering-attributes.txt:9-13), box 256..271 x 300..315:
across 1022: 16 drawn in box
across 1023: 16 drawn in box
across 1024: 0 drawn in box
across 1023, reversed: 16 drawn in box
across 1024, reversed: 0 drawn in box
down 510: 16 drawn in box
down 511: 16 drawn in box
down 512: 0 drawn in box
1023 x 511: 16 drawn in box
1023 x 512: 0 drawn in box
line -10,0 to 30,7 clipped at x 0: crc 36C5DA42; unclipped: crc 36C5DA42; first 2 rows 64 of 64 equal
Waits that ran out: 0
Done.

gpuraster/s013/05REC.txt

===== 05 REC GPU RECT SPRITE FLIP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Rectangles: sizes as pixels drawn and their extent (window from local -2,-2, 20x20),
then raw textured sprites from the 15-bit page (texel 4000h|v<<8|u).
GPUSTAT 5606200F at start
tile 0x3: none drawn
tile 3x0: none drawn
tile 1x1: 1 drawn, x 2..2, y 2..2
tile 2x3: 6 drawn, x 2..3, y 2..4
tile 1024x2 (size field 400h): none drawn
tile 1025x2: 2 drawn, x 2..2, y 2..3
tile 1039x2: 30 drawn, x 2..16, y 2..3
tile 2x512 (size field 200h): none drawn
tile 2x513: 2 drawn, x 2..3, y 2..2
tile 2x1024: none drawn
tile 2x1027: 6 drawn, x 2..3, y 2..4
tile 1x1 command 6Ah: 1 drawn, x 5..5, y 5..5
tile 8x8 command 72h: 64 drawn, x 5..12, y 5..12
tile 16x16 command 7Ah: 256 drawn, x 2..17, y 2..17
tile 6x6 at -3,-3: 25 drawn, x 0..4, y 0..4
tile 4x4 at x 0805h (bit 11): 16 drawn, x 7..10, y 2..5
tile 4x4 at y F805h: 16 drawn, x 2..5, y 7..10
tile 16x16 in area local 2..9: 64 drawn, x 4..11, y 4..11
8x8 u0 v0 crc FF2AA940
 v00 u 00 01 02 03 04 05 06 07 
 v01 u 00 01 02 03 04 05 06 07 
 v02 u 00 01 02 03 04 05 06 07 
 v03 u 00 01 02 03 04 05 06 07 
 v04 u 00 01 02 03 04 05 06 07 
 v05 u 00 01 02 03 04 05 06 07 
 v06 u 00 01 02 03 04 05 06 07 
 v07 u 00 01 02 03 04 05 06 07 
8x8 u0 v0 x-flip crc A11DE670
 v00 u 01 00 FF FE FD FC FB FA 
 v01 u 01 00 FF FE FD FC FB FA 
 v02 u 01 00 FF FE FD FC FB FA 
 v03 u 01 00 FF FE FD FC FB FA 
 v04 u 01 00 FF FE FD FC FB FA 
 v05 u 01 00 FF FE FD FC FB FA 
 v06 u 01 00 FF FE FD FC FB FA 
 v07 u 01 00 FF FE FD FC FB FA 
8x8 u0 v0 y-flip crc E74C83BA
 v00 u 00 01 02 03 04 05 06 07 
 v02 u !C210 !C210 !C210 !C210 10 10 10 10 
 v00 u !0000 !0421 !0842 !0C63 !1084 !14A5 !18C6 !1CE7 
 v00 u !8000 !8421 !8842 !8C63 !9084 !94A5 !98C6 !9CE7 
8x8 u7 v3 x and y flip crc 9217AAF4
 v03 u 07 06 05 04 03 02 01 00 
 v02 u 07 06 05 04 03 02 01 00 
 v01 u 07 06 05 04 03 02 01 00 
 v00 u 07 06 05 04 03 02 01 00 
16x2 u1 crc 4CF60F65
 v00 u 01 02 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 
 v01 u 01 02 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 
16x1 u3 crc DB02B679
 v00 u 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 
16x1 u5 crc BF1ED43E
 v00 u 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 13 13 
16x1 u7 crc 79711A63
 v00 u 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 13 13 15 16 
40x1 u1 crc 309BED7F
 v00 u 01 02 03 03 05 06 07 07 09 0A 0B 0B 0D 0E 0F 0F 11 12 13 13 15 16 17 17 19 1A 1B 1B 1D 1E 1F 1F 21 22 23 23 25 26 27 27 
16x1 u252 (wraps) crc 24D2BEA4
 v00 u FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 
2x8 v250 (wraps) crc 3D1AC694
 v3A u 00 01 
 v00 u !0842 !0842 
 v00 u !0000 !0000 
 v00 u !8000 !8421 
 v00 u !0000 !0421 
 v00 u !C210 !C210 
 v00 u 00 01 
 v01 u 00 01 
16x1 u1 x-flip crc 96035D18
 v00 u 01 00 FF FE FD FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 
16x1 u8 x-flip crc DD34FC8D
 v00 u 09 08 07 06 05 04 03 02 01 00 FF FE FD FC FB FA 
16x1 u255 x-flip crc 1D7602D8
 v00 u FF FE FD FC FB FA F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 
2x4 v2 y-flip crc D5CBA493
 v02 u 00 01 
 v01 u 00 01 
 v00 u 00 01 
 v00 u !C210 !C210 
16x16 command 7Dh, u16 v16, x and y flip crc 6BBE81F0
16x16 command 7Dh u16 v16 crc 2BB2C2FC
8x8 command 75h u9 v1 crc 2E2918C4
 v01 u 09 0A 0B 0B 0D 0E 0F 0F 
1x1 command 6Dh u9 v1 crc 2D147761
 v01 u 09 !0000 
1x1 command 6Dh u9 v1 x-flip crc 2D147761
 v01 u 09 !0000 
quad 2Dh u0..8 with E1 x-flip set before it crc AD07C8B3
 v00 u 00 01 02 03 04 05 06 07 
8x1 u0 x-flip, after the quad crc A65746BD
 v00 u 01 00 FF FE FD FC FB FA 
4-bit and 8-bit sprites as CLUT index (texel index (u+v)&15 or (u+16v)&255):
4-bit 16x1 u0: 2000.. 000102030405060708090A0B0C0D0E0F
4-bit 16x1 u1: 2000.. 0102030405060708090A0B0C0D0E0F0F
4-bit 24x1 u7: 2000.. 0708090A0B0C0D0E0F0F0102030405060708090A0B0C0D0E
4-bit 16x1 u0 x-flip: 2000.. 01000F0E0D0C0B0A0908070605040302
4-bit 16x1 u8 x-flip: 2000.. 090807060504030201000F0E0D0C0B0A
8-bit 16x1 u0 v4: 1000.. 404142434445464748494A4B4C4D4E4F
8-bit 16x1 u1 v4: 1000.. 4142434445464747494A4B4C4D4E4F4F
8-bit 16x1 u0 v4 x-flip: 1000.. 41403F3E3D3C3B3A3938373635343332
8-bit 16x1 u3 v4 x-flip: 1000.. 434241403F3E3D3C3B3A393837363534
Waits that ran out: 0
Done.

gpuraster/s013/06TWN.txt

===== 06 TWN GPU TEXTURE WINDOW | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Texture window (E2h) on raw sprites from the 15-bit page: v and u of each texel read.
GPUSTAT 5606200F at start
E2 0, 20x1 u0 crc 24B003C5
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 
mask X 1 offset X 0, u0 crc 90E5D6B6
 v00 u 00 01 02 03 04 05 06 07 00 01 02 03 04 05 06 07 10 11 12 13 
mask X 1 offset X 1, u0 crc D75E924D
 v00 u 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 
mask X 2 offset X 1 (offset outside mask), u0 crc 410675BB
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 01 02 03 
mask X 3 offset X 3, u0 crc 3D9E6DC5
 v00 u 18 19 1A 1B 1C 1D 1E 1F 18 19 1A 1B 1C 1D 1E 1F 18 19 1A 1B 
mask X 0 offset X 1Fh, u0 crc 24B003C5
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 
mask X 1Fh offset X 0, u0 crc F553A0C8
 v00 u 00 01 02 03 04 05 06 07 00 01 02 03 04 05 06 07 00 01 02 03 
mask X 1Fh offset X 1Fh, u0 crc 08D90F45
 v00 u F8 F9 FA FB FC FD FE FF F8 F9 FA FB FC FD FE FF F8 F9 FA FB 
mask X 10h offset X 10h, u0 crc 842259F3
 v00 u 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 
mask X 1Eh offset X 0Fh, u0 crc 5BA5C4FB
 v00 u 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 70 71 72 73 
mask X 1 offset X 1, u4 crc B218DDF6
 v00 u 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 1C 1D 1E 1F 
mask X 1 offset X 1, u250 crc C250AF3B
 v00 u FA FB FC FD FE FF 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 
mask Y 1 offset Y 1, 2x12 v0 crc 18800D76
 v08 u 00 01 
 v09 u 00 01 
 v0A u 00 01 
 v0B u 00 01 
 v0C u 00 01 
 v0D u 00 01 
 v0E u 00 01 
 v0F u 00 01 
 v08 u 00 01 
 v09 u 00 01 
 v0A u 00 01 
 v0B u 00 01 
mask Y 1Fh offset Y 1Fh, 2x4 v0 crc AD87A132
 v38 u 00 01 
 v39 u 00 01 
 v3A u 00 01 
 v00 u !0842 !0842 
E2 with bits 20-23 set and mask X 1 offset X 1 crc D75E924D
 v00 u 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 
x-flip, mask X 1 offset X 1, u0 crc 0F1F9343
 v00 u 09 08 FF FE FD FC FB FA F9 F8 FF FE FD FC FB FA F9 F8 EF EE 
x-flip, mask X 1 offset X 1, u16 crc 069E6191
 v00 u 19 18 0F 0E 0D 0C 0B 0A 09 08 0F 0E 0D 0C 0B 0A 09 08 FF FE 
quad u0..20, mask X 1 offset X 1 crc D75E924D
 v00 u 08 09 0A 0B 0C 0D 0E 0F 08 09 0A 0B 0C 0D 0E 0F 18 19 1A 1B 
4-bit 20x1 u0, mask X 1 offset X 1 (index): 2000.. 08090A0B0C0D0E0F08090A0B0C0D0E0F08090A0B
GP1(10h) index 2 after E2h FFFFFFh: 200FFFFF
GP1(10h) index 2 after E2h 64D55: 20064D55
Waits that ran out: 0
Done.

gpuraster/s013/07TPG.txt

===== 07 TPG GPU TEXPAGE CLUT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Texture page depth, E1 bit 11, CLUT attribute bit 15 and CLUT/page wrap at x 1023.
GPUSTAT 5606200F at start
depth 3 (reserved), 8x1 u0 v0 crc AD07C8B3
 v00 u 00 01 02 03 04 05 06 07 
E1 bit 11 set, 8x1 u0 v5 crc 5416BA95
 v05 u 00 01 02 03 04 05 06 07 
GPUSTAT after E1 bit 11 and back: D606211C
raw sprite over 1234h crc 74B14ED5
 1234 1234 1234 1234 8000 8000 8000 8000 
same, semi-transparent command 67h (mode 0) crc 3F3DDD1C
 1234 1234 1234 1234 890A 890A 890A 890A 
4-bit CLUT A: 2000.. 000102030405060708090A0B0C0D0E0F
4-bit CLUT B: 2400.. 000102030405060708090A0B0C0D0E0F
4-bit CLUT A with attribute bit 15: 2000.. 000102030405060708090A0B0C0D0E0F
8-bit v4: 1000.. 404142434445464748494A4B4C4D4E4F
8-bit CLUT with attribute bit 15: 1000.. 404142434445464748494A4B4C4D4E4F
8-bit u0..31 (index = u), CLUT at 1008,499 crc C9073367
 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 780A 780B 780C 780D 780E 780F 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 700A 700B 700C 700D 700E 700F 
8-bit page at x 960, u120..135 v0 (index): 1000.. FC40FD40FE40FF40005A015A025A035A
Waits that ran out: 0
Done.

gpuraster/s013/08UVI.txt

===== 08 UVI GPU UV INTERPOLATE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
UV interpolation (raw quads on the 15-bit page) and gouraud colour across widths.
GPUSTAT 5606200F at start
First column with u 1, quad w wide with u 0 to 1, w from 1:
 -- 01 02 02 03 04 04 04 05 06 06 07 07 08 08 08 09 0A 0A 0B 0B 0C 0C 0D 0D 0E 0E 0F 0F 10 10 10 
 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 1A 1A 1B 1B 1C 1C 1D 1D 1E 1E 1F 1F 20 20 20 
 21 22 22 23 23 24 24 25 25 26 26 27 27 28 29 29 29 2A 2A 2B 2B 2C 2C 2D 2D 2E 2E 2F 2F 30 30 31 
 31 32 32 34 34 34 35 35 35 36 36 38 38 38 39 39 39 3B 3B 3B 3B 3D 3D 3D 3F 3F 3F 3F 40 40 40 40 
 43 43 43 43 45 45 45 45 47 47 47 47 47 4A 4A 4A 4A 4A 4C 4C 4C 4C 4C 4F 4F 4F 4F 4F 4F 52 52 52 
 52 52 52 56 56 56 56 56 56 56 5A 5A 5A 5A 5A 5A 5A 5A 5E 5E 5E 5E 5E 5E 5E 5E 62 62 62 62 62 62 
 62 62 62 67 67 67 67 67 67 67 67 67 6C 6C 6C 6C 6C 6C 6C 6C 6C 6C 6C 72 72 72 72 72 72 72 72 72 
Low 16 bits of each row's CRC, quad w wide with u 0 to 255, w = 1..224:
 47031826E8EE7E45AEB89F5F2032D23840556D12E21729E31B90C9231A71106D
 CD483CAF6C3FDA00B865C0E542D6ADF600DC5DF01A4F2BBA0CA35A12A9750D4D
 CA3418634C7994FBBE0D6F5E94A8863CA00BF8995F4CF142ABC78ED29192CDDD
 087392BA328A41A72E7AA399268EE7A87D38623E0F420A1ED9242C11BE9242CF
 CEE13283439D6C9E1758A7F3FBFB5A01F19341998AE57C49AD63214B527C63F8
 4A376DB25EAFB573DB1DD4259A7F84CD1335D1C60C24599E548E217695AD99B8
 CBF5042B5D489DC6641CF6B32A2440FB5EDB25FC3D99CF862DE74326DC542E11
 835B41137206C6B15941E1B0ACBB6E3EE429BA93C631823B60F8B735097AB54D
 3FCB034739FBBC6DD1C1E44E7E47D56CD735101A5B890E8A6CB7ED7DD569E94C
 015709A964FBDAE27070D2C4F9106C7C1FA256E5D1734C631DF75116332127E0
 802CE7D5C904B34AFC5F577F0BEEFBBBEDA178FB8AE098FC7E04CD9254E205EA
 703245F245E7E629471E5C59939982DC02ACA53719698F38545E7355F56920AA
 363246EE6C9FCE137E8224301FA6A715622530B09BFE5AFB7E9905ED9C608E07
 7D2048DFC073BD4526CD386F241D6CA8177FD38B42C4E025A6B3FD3766D5296C
Gouraud quads red FF to green FF, w wide, 1 tall, dither off: low 16 bits of CRC:
 1921E30FC8A702F4E5561A727B3F1215A75BBE10D69D0BD22C514BFC0122BD14
 5372AF3F685FC75126FD070C8C043563A1BD6F96876F6F4D90BB10B799D2BD1D
 4CC0941B4D13FA3E79ED41925E27C61455F19926717ED2CFCB4675D645EA2416
 D5CE1A70F8CEF3D6481306C30FC09BA14F48CF5568705D4EFAC6F8F044ADC7CC
 57AB7464E2F9780FA04957B7D2CD044271D7168E0E7EC1D02FC6394355021B57
 9A9B9644C179802039201C601BFC55D41DD0DF82DCA9B3A6EA87D9C9D8187007
 AB135F52205F335FE8DEAEA5DB368ED8EEE92C1184A93CFE6214812C1C0380B6
 5FF7EDA6ED842C18673E12A88E434D99F1C4AC2C3012668C2987D4609BC36B3F
 265C81EDF3BB836E7CE2544B9EE7BFA6BE6BB80761E0C56B56487E5B3F54E61B
 C6F111B010A414628F154A1FF73439B4AF09450C53E123E869EF961F71188522
 55DAEBDFB0DF983B713944B50E1E6CC76720CE445AC98AB356C9247B74DBE123
 7C51F45B2D91AF5AD82057578FAA0F27326C40A1789325FA925BE83A75545654
 B6E24BE8F6B0665ECEC0E60E80E3D0C91F4999F1E4643C6CE4B91A26288FE8C6
 FA7FEB34116B3D94A739D5ECE54F3DD15592D8ABC0BA9A1DC2F3D84D468D6C6C
quad 16 wide u 0 to 255 crc BA3CF84D
 v00 u 00 10 20 30 40 50 60 70 80 8F 9F AF BF CF DF EF 
quad 16 wide u 255 to 0 crc 9E5B7845
 v00 u FF EF DF CF BF AF 9F 8F 80 70 60 50 40 30 20 10 
quad 16 wide u 0 to 16 crc 3460BB07
 v00 u 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
quad 16 wide u 0 to 15 crc FB04A7AC
 v00 u 00 01 02 03 04 05 06 07 08 08 09 0A 0B 0C 0D 0E 
quad 2 wide u 0 to 255 crc 74F2C211
 v00 u 00 80 !0000 
quad 1 wide 16 tall v 0 to 63 (column) crc 19EC8B25
 v00 u 00 
 v04 u 00 
 v08 u 00 
 v0C u 00 
 v10 u 00 
 v14 u 00 
 v18 u 00 
 v1C u 00 
 v20 u 00 
 v23 u 00 
 v27 u 00 
 v2B u 00 
 v2F u 00 
 v33 u 00 
 v37 u 00 
 v3B u 00 
triangle 25h 0,0 uv0,0 16,0 uv255,10 0,16 uv7,60: crc C17CF0E6
triangle 1 tall, u 10 to 26 over 16 crc 497ED9D6
 v00 u 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 
Waits that ran out: 0
Done.

gpuraster/s013/09STM.txt

===== 09 STM GPU SEMI TRANSPARENT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Semi-transparency (E1 bits 5-6; rendering-attributes.txt:57). Four pixels drawn over
backgrounds 0000h 2108h 5EF7h 7FFFh with colour 808080h (5-bit 16).
GPUSTAT 5606200F at start
m0 tile 62h: 2108 318C 4E73 5EF7
m0 flat quad 2Ah: 2108 318C 4E73 5EF7
m0 gouraud quad 3Ah: 2108 318C 4E73 5EF7
m0 line 42h: 2108 318C 4E73 5EF7
m0 polyline 4Ah 0-1-3: 2108 39CE 4E73 5EF7
m0 raw rect 67h texel C210h: A108 B18C CE73 DEF7
m0 raw rect 67h texel 4210h: 4210 4210 4210 4210
m0 raw rect 67h texel 8000h: 8000 9084 AD6B BDEF
m0 blended rect 66h colour 404040h texel C210h: 9084 A108 BDEF CE73
m0 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m0 raw quad 2Fh u0..3 texel C210h: A108 B18C CE73 DEF7
m1 tile 62h: 4210 6318 7FFF 7FFF
m1 flat quad 2Ah: 4210 6318 7FFF 7FFF
m1 gouraud quad 3Ah: 4210 6318 7FFF 7FFF
m1 line 42h: 4210 6318 7FFF 7FFF
m1 polyline 4Ah 0-1-3: 4210 7FFF 7FFF 7FFF
m1 raw rect 67h texel C210h: C210 E318 FFFF FFFF
m1 raw rect 67h texel 4210h: 4210 4210 4210 4210
m1 raw rect 67h texel 8000h: 8000 A108 DEF7 FFFF
m1 blended rect 66h colour 404040h texel C210h: A108 C210 FFFF FFFF
m1 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m1 raw quad 2Fh u0..3 texel C210h: C210 E318 FFFF FFFF
m2 tile 62h: 0000 0000 1CE7 3DEF
m2 flat quad 2Ah: 0000 0000 1CE7 3DEF
m2 gouraud quad 3Ah: 0000 0000 1CE7 3DEF
m2 line 42h: 0000 0000 1CE7 3DEF
m2 polyline 4Ah 0-1-3: 0000 0000 1CE7 3DEF
m2 raw rect 67h texel C210h: 8000 8000 9CE7 BDEF
m2 raw rect 67h texel 4210h: 4210 4210 4210 4210
m2 raw rect 67h texel 8000h: 8000 A108 DEF7 FFFF
m2 blended rect 66h colour 404040h texel C210h: 8000 8000 BDEF DEF7
m2 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m2 raw quad 2Fh u0..3 texel C210h: 8000 8000 9CE7 BDEF
m3 tile 62h: 1084 318C 6F7B 7FFF
m3 flat quad 2Ah: 1084 318C 6F7B 7FFF
m3 gouraud quad 3Ah: 1084 318C 6F7B 7FFF
m3 line 42h: 1084 318C 6F7B 7FFF
m3 polyline 4Ah 0-1-3: 1084 4210 6F7B 7FFF
m3 raw rect 67h texel C210h: 9084 B18C EF7B FFFF
m3 raw rect 67h texel 4210h: 4210 4210 4210 4210
m3 raw rect 67h texel 8000h: 8000 A108 DEF7 FFFF
m3 blended rect 66h colour 404040h texel C210h: 8842 A94A E739 FFFF
m3 opaque raw rect 65h texel C210h: C210 C210 C210 C210
m3 raw quad 2Fh u0..3 texel C210h: 9084 B18C EF7B FFFF
Grids against psx-spx's 5-bit formula (gpu.txt:1452-1464), F = colour/8:
mode 0 tile: crc F5CE64DB, 0 of 8192 differ from the formula
mode 1 tile: crc 6AD72B96, 0 of 8192 differ from the formula
mode 2 tile: crc CC580881, 0 of 8192 differ from the formula
mode 3 tile: crc C13FB0EA, 0 of 8192 differ from the formula
mode 0 gouraud quad: crc F5CE64DB, 0 of 8192 differ from the formula
mode 1 gouraud quad: crc 6AD72B96, 0 of 8192 differ from the formula
mode 2 gouraud quad: crc CC580881, 0 of 8192 differ from the formula
mode 3 gouraud quad: crc C13FB0EA, 0 of 8192 differ from the formula
mode 0 raw texel 8000h|gray t: crc 371605E5, 0 of 1024 differ from the formula
mode 1 raw texel 8000h|gray t: crc 3785FE79, 0 of 1024 differ from the formula
mode 2 raw texel 8000h|gray t: crc 2E0973ED, 0 of 1024 differ from the formula
mode 3 raw texel 8000h|gray t: crc 12573AC5, 0 of 1024 differ from the formula
Waits that ran out: 0
Done.

gpuraster/s013/10DTH.txt

===== 10 DTH GPU DITHER MODULATE | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Dithering (E1 bit 9; psx-spx gpu.txt:1431-1443) and texture modulation. 4x4 blocks as
red 5-bit in base 32, rows split by '/'.
GPUSTAT 5606200F at start
gouraud quad 00 dither on: 0000/0000/0000/0000
gouraud quad 01 dither on: 0000/0000/0000/0000
gouraud quad 03 dither on: 0000/0000/0000/0000
gouraud quad 04 dither on: 0000/0000/0000/0000
gouraud quad 05 dither on: 0000/0010/0000/1000
gouraud quad 07 dither on: 0001/1010/0100/1010
gouraud quad 08 dither on: 0101/1010/0101/1010
gouraud quad 0C dither on: 1111/1111/1111/1111
gouraud quad 0E dither on: 1111/2121/1111/2121
gouraud quad 10 dither on: 1212/2121/1212/2121
gouraud quad 7C dither on: ffff/ffff/ffff/ffff
gouraud quad 80 dither on: fgfg/gfgf/fgfg/gfgf
gouraud quad F7 dither on: uuuv/vuvu/uvuu/vuvu
gouraud quad F8 dither on: uvuv/vuvu/uvuv/vuvu
gouraud quad FB dither on: uvvv/vvvv/vvuv/vvvv
gouraud quad FC dither on: vvvv/vvvv/vvvv/vvvv
gouraud quad FF dither on: vvvv/vvvv/vvvv/vvvv
gouraud quad 07 dither off: 0000/0000/0000/0000
gouraud quad FF dither off: vvvv/vvvv/vvvv/vvvv
Which commands dither (dither on), colour or texel 0Eh-ish:
flat quad 28h 0E: 1111/1111/1111/1111
tile 60h 0E: 1111/1111/1111/1111
flat lines 40h 0E: 1111/2121/1111/2121
gouraud quad 38h 0E: 1111/2121/1111/2121
blended rects 64h 4x1 808080 texel 2: 2222/2222/2222/2222
blended quad 2Ch 808080 texel 2: 1212/2121/1212/2121
raw quad 2Dh texel 2: 2222/2222/2222/2222
blended quad 2Ch 707070 texel 2: 1111/2121/1111/2121
gouraud textured 3Ch 808080 texel 2: 1212/2121/1212/2121
Dither position (gouraud 0E, dither on):
drawn at local 1,0, read from 0,0: 01111/01212/01111/01212
drawn at 0,0 with offset +1, read from 0,0: 01111/01212/01111/01212
Dither and blending (gouraud 44h, dither on, background red 0Ah):
semi mode 0 crc CA1BB721
 9999
 9999
 9999
 9999
semi mode 1 crc 645896F4
 iiii
 iiii
 iiii
 iiii
semi mode 2 crc 6E8C946E
 2222
 2222
 2222
 2222
semi mode 3 crc F36DD766
 cccc
 cccc
 cccc
 cccc
Modulation grids, dither off, rows colour c (r=g=b), columns texel gray t = 0..31:
rect 64h: crc 153730D8, 0 of 8192 differ from min(31, t*c/128)
quad 2Ch: crc 153730D8, 0 of 8192 differ from min(31, t*c/128)
gouraud quad 3Ch: crc 153730D8, 0 of 8192 differ from min(31, t*c/128)
Waits that ran out: 0
Done.

gpuraster/s013/11MSK.txt

===== 11 MSK GPU MASK BIT | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Mask bit (E6h; rendering-attributes.txt:123-137). Background 8421h/0421h alternating.
GPUSTAT 5606200F at start
write 1234h, read 1234
set mask, write 0000h, read 8000
8000h there, check mask, write 1234h, read 8000
8123h then 0456h, read 0456
set mask 0000h, then no mask 0456h, read 0456
E6 0 tile: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 quad: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 line: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 raw sprite texel 45xx: 4500 4501 4502 4503 4504 4505 4506 4507
E6 0 fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
E6 0 copy 80h from 7FFFh: 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF
E6 0 A0h write 1234h: 1234 1234 1234 1234 1234 1234 1234 1234
check tile: 8421 001F 8421 001F 8421 001F 8421 001F
check quad: 8421 001F 8421 001F 8421 001F 8421 001F
check line: 8421 001F 8421 001F 8421 001F 8421 001F
check raw sprite texel 45xx: 8421 4501 8421 4503 8421 4505 8421 4507
check fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
check copy 80h from 7FFFh: 8421 7FFF 8421 7FFF 8421 7FFF 8421 7FFF
check A0h write 1234h: 8421 1234 8421 1234 8421 1234 8421 1234
set tile: 801F 801F 801F 801F 801F 801F 801F 801F
set quad: 801F 801F 801F 801F 801F 801F 801F 801F
set line: 801F 801F 801F 801F 801F 801F 801F 801F
set raw sprite texel 45xx: C500 C501 C502 C503 C504 C505 C506 C507
set fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
set copy 80h from 7FFFh: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
set A0h write 1234h: 9234 9234 9234 9234 9234 9234 9234 9234
set+check tile: 8421 801F 8421 801F 8421 801F 8421 801F
set+check quad: 8421 801F 8421 801F 8421 801F 8421 801F
set+check line: 8421 801F 8421 801F 8421 801F 8421 801F
set+check raw sprite texel 45xx: 8421 C501 8421 C503 8421 C505 8421 C507
set+check fill 02h: 001F 001F 001F 001F 001F 001F 001F 001F
set+check copy 80h from 7FFFh: 8421 FFFF 8421 FFFF 8421 FFFF 8421 FFFF
set+check A0h write 1234h: 8421 9234 8421 9234 8421 9234 8421 9234
E6 0, tile B+F 080808h over 8421h/0421h: 0842 0842 0842 0842 0842 0842 0842 0842
E6 0, raw sprite texels C210h x4, 4210h x4: C210 C210 C210 C210 4210 4210 4210 4210
set, semi raw sprite C210h x4 4210h x4 (mode 0): A108 A108 A108 A108 C210 C210 C210 C210
GPUSTAT bits 11-12 after E6h FFFFFFh: 3
GPUSTAT bits 11-12 after E6h FFFFFCh: 0
Waits that ran out: 0
Done.

gpuraster/s013/12FIL.txt

===== 12 FIL GPU FILL | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Fill 02h (memory-transfer-commands.txt:12-22, :61-70): row y 400 from x 496, 64 wide.
GPUSTAT 5606200F at start
x 200h w 16                ................################................................
x 205h w 16                ................################................................
x 20Fh w 16                ................################................................
x 1FFh w 16                ################................................................
x 200h w 1                 ................################................................
x 200h w 15                ................################................................
x 200h w 17                ................################################................
x 200h w 0                 ................................................................
x 200h w 400h              ................................................................
x 200h w 410h              ................################................................
x 200h w 8010h             ................################................................
x FE00h w 16               ................################................................
x 600h w 16                ................################................................
x 200h w 16 h 0            ................................................................
x 200h w 16 h 200h         ................................................................
x 200h w 16 h 201h         ................################................................
x 200h w 3F1h: 1024 of 1024 in the row filled
x 200h w 3FFh: 1024 of 1024 in the row filled
x 3F0h w 30h: 16 of x 1008..1023, 32 of x 0..31 (################################)
y 510 h 4 at x 640: 32 of rows 510-511, 32 of rows 0-2 (32 each, rows 0-1 expected)
y 400 with bit 9 set: 16 of 16 at y 400
Fill colour to 15-bit, dither on (E1 bit 9) and mask set:
 070707: 0000 0000 0000 0000 / 0000 0000
 080808: 0421 0421 0421 0421 / 0421 0421
 0F0F0F: 0421 0421 0421 0421 / 0421 0421
 101010: 0842 0842 0842 0842 / 0842 0842
 FFFFFF: 7FFF 7FFF 7FFF 7FFF / 7FFF 7FFF
 0000F8: 001F 001F 001F 001F / 001F 001F
 F80000: 7C00 7C00 7C00 7C00 / 7C00 7C00
 00FF00: 03E0 03E0 03E0 03E0 / 03E0 03E0
check mask over 8000h: 7FFF
area 0..15 x 256..271 and offset 100,50: 16 of 16 at 200h,400
Waits that ran out: 0
Done.

gpuraster/s013/13CLC.txt

gpuraster/s013/14CPY.txt

===== 14 CPY GPU VRAM COPY | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
VRAM to VRAM copy 80h (memory-transfer-commands.txt:27-37, :72-86). ps1-tests
gpu/vram-to-vram-overlap: a block of size s (pixel 4000h+64y+2x) copied by dx -3..3,
dy -1..1; CRC of the (s+8)^2 cell. Order: dy -1 (dx -3..3), dy 0, dy 1.
GPUSTAT 5606200F at start
size 2:
 8AFE5C49 3EA6B737 181AF0F7 6A2E407A AEF0BD4F 7C9D14A9 30A5B25C 
 B11FF251 D5E868EB 50F985B4 9452635D A3E148C8 702B79F2 46C6795C 
 E082917B DF113383 19AABFCE 9BF578AD BC151CC8 9DB43342 8D17532D 
size 8:
 2B035764 592EB9B8 77A20015 3A462060 52174C07 562278C2 2E80011F 
 76BDFC2A ED9DE864 4011ACC9 B87D6B14 910B29F1 41296584 38BC626F 
 54587E02 C32831B5 C85880D9 77B525EB 415EE80A DF8C182D C8BFB7A1 
size 15:
 6C1F1758 805B376B 10B8F0E5 F7B3CC28 57446D25 892C44DF 4B7D7FB6 
 7C68D67B F20A24D9 B604F2E4 D01EA284 05C5D018 B51BE940 AD1A9642 
 6ED0E8E6 DDCBE10B 2799E886 185DD36C A1180B78 7E94D206 66AC4E47 
size 16:
 A5041F63 28DA841B FE9BD7DF DA218062 10DF2327 F51DC80C BE8560A4 
 ECD61E2D 2962169A 60728C2F E3A58EBF 42AAA2D1 3424D83B 5B77CF84 
 1C2ED0F7 CE0C2F69 19135606 78C940E6 FC128DBB 5FCD1EA3 7D2C911C 
size 16 x+1:
 139F1927 53B1EE87 7144C68C 5ED70784 3B3585E8 D9AD0B76 AC4487B2 
 5EDBFC92 B65A769A B71A3493 EB6B3615 EFE552F8 BC7D244B BF28E0C3 
 61123106 740D903A 68652163 8ABFDB58 B6E50E00 23E5B51D D9E81195 
size 16 y+1:
 5D23C87B 3A38F41E 8A72B86B A0086299 716C9217 AA5659BB FEECFEA7 
 B050533D C31A9BE3 9119527E 86B35055 31DD76A3 3C868E4E EFFD64AD 
 AF5F0309 46438EBA DB4067FF 2734DBF4 49B43C37 5C369B7D 2197C302 
size 16 xy+1:
 B5B2B10A CFC29830 A42654B1 8F6DE6EC 78FD8140 C4916694 5F0C508D 
 CC67BDBA 1B92B4F0 5B68F3A0 501009B0 FC298CD7 6DB0F07D 1420D117 
 7F7C8A98 3DF737D4 187A4370 FB0B8B85 14192340 F6566F7D 8CCF87D8 
Wide rows copied one pixel right (pixel 4000h+x), against a copy made through a buffer:
 width 100 right: 0 differ; left: 0 differ
 width 127 right: 0 differ; left: 0 differ
 width 128 right: 0 differ; left: 0 differ
 width 129 right: 1 differ, first at 129 reads 407F; left: 0 differ
 width 200 right: 1 differ, first at 129 reads 407F; left: 0 differ
 width 300 right: 2 differ, first at 129 reads 407F; left: 0 differ
width 0, height 1: 1024 of 1024 copied
width 400h, height 1: 1024 of 1024 copied
width 401h, height 1: 1 of the first 16 copied
source x 1016, 16 wide (pixel 4000h+x) crc 588D96AE
 43F8 43F9 43FA 43FB 43FC 43FD 43FE 43FF 4000 4001 4002 4003 4004 4005 4006 4007 
destination x 1016, 16 wide: x 0..7 crc CA4D44FF
 4008 4009 400A 400B 400C 400D 400E 400F 
source x 404h (4), destination y 404+512 crc C131685B
 4004 4005 4006 4007 
set mask, copy 4000h.. crc 0099B424
 C000 C001 C002 C003 
check mask, 8000h at the 2nd, copy crc 17AD4D9A
 4000 8000 4002 4003 
source = destination crc 4DB8ECF5
 1111 1111 1111 1111 
A0h 3x1 with words 00020001h 00040003h crc 8BD98464
 0001 0002 0003 2222 2222 
C0h 3x1: words 00020001 22220003; GPUSTAT then D6062000
A0h at x 1022, 4 wide: x 1020..1023 crc EA2AD7C9
 0000 0000 3333 3333 
 x 0..3 crc 410BF4E7
 4444 4444 0000 0000 
Waits that ran out: 0
Done.

gpuraster/s014/15CLP.txt

===== 15 CLP GPU AREA OFFSET | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Drawing area (E3h/E4h) and offset (E5h), rendering-attributes.txt:94-121.
GPUSTAT 5606200F at start
GP1(10h) after E2-E5 FFFFFFh: index 2 000FFFFF 3 000FFFFF 4 000FFFFF 5 003FFFFF
after E3 x 155h y 2AAh, E5 2AAAAAh: index 3 003AA955 5 002AAAAA
index 0 002AAAAA 1 002AAAAA 6 002AAAAA 9 002AAAAA 10h 002AAAAA 17h 00000002
Counts, B+F red 8, window local 0,0 14x12; area local 2..9 x 2..7:
quad 0,0-12,10 crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
tile 12x10 crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
line 0,0-13,11 crc C079EC85
 ..............
 ..............
 ..1...........
 ...11.........
 .....1........
 ......1.......
 .......1......
 ........1.....
 ..............
 ..............
 ..............
 ..............
raw sprite 65h 12x10 ('#') crc A3FD9360
 ..............
 ..............
 ..########....
 ..########....
 ..########....
 ..########....
 ..########....
 ..########....
 ..............
 ..............
 ..............
 ..............
area one pixel 3,3: tile crc 2F6A7337
 ..............
 ..............
 ..............
 ...1..........
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
area x1 9 > x2 3: tile crc 2D28A891
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
area y1 7 > y2 2: tile crc 2D28A891
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
offset +2,+2: quad crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
offset -2,-2: quad crc 9891E0E1
 ..............
 ..............
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..11111111....
 ..............
 ..............
 ..............
 ..............
tile 1016..1031: x 1008..1023 8 drawn; x 0..7 0 drawn
Area y 812..827 (bit 9), tile at 256,812 16x16; rows 300..315 then 812-512:
 256 of 256 drawn at rows 300..315; GP1(10h) index 3 001CB100
 same area, tile at y 300: 0 of 256
Waits that ran out: 0
Done.

gpuraster/s014/16RSK.txt

===== 16 RSK GPU COMMAND PARSING | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Command parsing: polyline end codes, long polylines, NOP numbers, mirrors. After
each, GP1(01h) resets the command buffer (display-control-commands-gp1.txt:23-28).
GPUSTAT 5606200F at start
Polyline 4,4 to 10,4 then the word below, then 55555555h; counts in 14x14:
50005000h (Wild Arms 2, render-line-commands.txt:32-34) crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
50085008h (x 8, y 8 if a vertex) crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
5555000Ch crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
gouraud: 55555555h in a colour slot, then 10,10 crc 27A546F8
 ..............
 ..............
 ..............
 ..............
 ..............
 .....vvvvvvv..
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
 ..............
zigzag polyline of 40 vertices: crc 1E36FAE4, 65 drawn
NOP numbers followed by a 4x4 tile at 2,2; the tile drawn right means no words eaten:
00h: 16 drawn, x 2..5, y 2..5
04h: 16 drawn, x 2..5, y 2..5
1Eh: 16 drawn, x 2..5, y 2..5
E0h: 16 drawn, x 2..5, y 2..5
E7h: 16 drawn, x 2..5, y 2..5
EFh: 16 drawn, x 2..5, y 2..5
Mirrors (other-commands.txt:53-56):
BFh as A0h, 4x1 1,2,3,4 crc 92991416
 0001 0002 0003 0004 
9Fh as 80h, row 410 to 411 crc 92991416
 0001 0002 0003 0004 
DFh as C0h, 2x1: GPUSTAT.27 set, GPUREAD 00020001
Copy 256x200 from 0,256 to 256,256 ... done, first row crc 190A55AD
Waits that ran out: 4
Done.

References


  1. ^ a b Console test suite (PsyQ build), programs/gpu/gpuraster.c and gpuraster.md.

  2. ^ a b Hardware test run 20260928T0000Z-5501a-card-h: gpuraster_safe/01TRI.txt.

  3. ^ Hardware test run 20260928T0000Z-5501a-card-h: gpuraster_safe/03LIN.txt.

Categories: Hardware tests