MTX Registers: Difference between revisions

MarcusD (talk | contribs)
MarcusD (talk | contribs)
Document more matrix unit bits
Line 36: Line 36:
==Matrix unit==
==Matrix unit==


There are two matrix units, one at +0x200, and the other one at +0x300, possibly one for each axis (X and Y)
There are two matrix units, one at +0x200 for vertical (Y) scaling, and the other one at +0x300 for horizontal (X) scaling.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 76: Line 76:
|-
|-
| 0
| 0
| Enable bit
| Enable bit (?)
|-
|-
| 1
| 1
| ??? set after init sequence
| Enable vertical matrix
|-
|-
| 2
| 2
| ??? set after init sequence
| Enable horizontal matrix
|-
|-
| 3
| 4
| ???
| ???
|-
|-
| 4
| 5
| ???
| ???
|-
|-
Line 94: Line 94:
|-
|-
| 10-11
| 10-11
| Output pixel mode? Same enum as above.
| Output framebuffer rotation: 0 = normal, 1 = 90° CW (right), 2 = 180° CW (upside down, not mirrored), 3 = 270° CW (left)
|-
|-
| 12
| 12
| ??? initialized to 0, but if set then requires the output width and height to be multiples of 8
| Output tiling for use with the GPU. When set, the output width and height must be a multiple of 8.
|-
|-
| 15
| 15
| ??? set after init sequence
| Interrupt enable (?)
|-
|-
| 16
| 16
| ??? not yet inited bit ???
| Data still available flag (?)
|-
|-
|}
|}
Line 114: Line 114:
|-
|-
| 0-8
| 0-8
| Output framebuffer width - 1 is written here
| Output framebuffer width - 1 is written here, 1 <= width <= 512
|-
|-
| 16-25
| 16-25
| Output framebuffer height - 1 is written here
| Output framebuffer height - 1 is written here, 1 <= height <= 512
|-
|-
|}
|}