MTX Registers: Difference between revisions
Update MTX bits and interrupts |
|||
(One intermediate revision by the same user not shown) | |||
Line 25: | Line 25: | ||
|- | |- | ||
| 0x1EC1x00C | | 0x1EC1x00C | ||
| | | [[#MTX_IE|MTX_IE]] | ||
| 4 | | 4 | ||
|- | |- | ||
Line 36: | Line 36: | ||
==Matrix unit== | ==Matrix unit== | ||
There are two matrix units, one at +0x200, and the other one at +0x300 | 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 79: | Line 79: | ||
|- | |- | ||
| 1 | | 1 | ||
| | | Enable vertical matrix | ||
|- | |- | ||
| 2 | | 2 | ||
| | | Enable horizontal matrix | ||
|- | |- | ||
| | | 4 | ||
| ??? | | ??? | ||
|- | |- | ||
| | | 5 | ||
| ??? | | ??? | ||
|- | |- | ||
Line 94: | Line 94: | ||
|- | |- | ||
| 10-11 | | 10-11 | ||
| Output | | Output framebuffer rotation: 0 = normal, 1 = 90° CW (right), 2 = 180° CW (upside down, not mirrored), 3 = 270° CW (left) | ||
|- | |- | ||
| 12 | | 12 | ||
| | | Output tiling for use with the GPU. When set, the output width and height must be a multiple of 8. | ||
|- | |- | ||
| 15 | | 15 | ||
| | | Start bit (setting this will eventually raise MTX interrupt 0) | ||
|- | |- | ||
| 16 | | 16 | ||
| ? | | 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 | ||
|- | |- | ||
|} | |} | ||
Line 124: | Line 124: | ||
Reading this register will return pending interrupts. | Reading this register will return pending interrupts. | ||
Writing this register will acknowledge the | Writing this register will acknowledge pending interrupts where the bits are set. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 131: | Line 131: | ||
|- | |- | ||
| 0 | | 0 | ||
| | | FIFO ready (signal to start DMA) | ||
|- | |- | ||
| 1 | | 1 | ||
| | | FIFO overrun(?) (occurs if DMA is too slow) | ||
|- | |- | ||
| 2 | | 2 | ||
| | | FIFO underrun(?) (occurs on VBlank) | ||
|- | |- | ||
|} | |} | ||
==MTX_IE== | |||
Interrupt Enable for the above interrupts. |