Video Interface: Difference between revisions

m
Updated the Pal Frequency
m (Fixed typos in X and Y SCALE registers)
m (Updated the Pal Frequency)
Line 78:
|14.3Mhz
|HIGH
|((14.3 * 4 )* 17) / 5
|-
|PAL
|4849.72Mhz56Mhz
|17.4Mhz
|LOW
|((17.4 * 4 )* 14) / 5
|-
|MPAL
Line 109:
-n = Default value n at power on
<x:y> = Specifies bits x to y, inclusively</pre>
==== <span style="display:none;">0x0440 0000 - VI_CTRL</code> ====
----
{{#invoke:Register table|head|1200px|VI_CTRL <code>0x0440 0000</code>}}
Line 149:
: '''GAMMA_ENABLE'''
:: This feature is used to correct non-linear gamma found in TV screens (although this may have changed in modern TV's). To do this, the feature square roots the linear color space that the rendering pipeline uses. TV screens will raise these color values to the power of 2.2 to 2.4, which leaves a residual gamma behind of around 1.1 to 1.2. This residual value is actually preferred as a gamma slightly above 1.0 will generate more color accurate images when the TV is in darker than normal rooms. When using MPEG or JPG images, the gamma correction is included in the image data, so this feature should be turned off accordingly.
==== <span style="display:none;">0x0440 0004 - VI_ORIGIN</code> ====
----
{{#invoke:Register table|head|550px|VI_ORIGIN <code>0x0440 0004</code>}}
Line 173:
| 23-0 | ORIGIN<23:0> | RDRAM base address of the video output Frame Buffer. This can be changed as needed to implement double or triple buffering.
}}
==== <span style="display:none;">0x0440 0008 - VI_WIDTH</code> ====
----
{{#invoke:Register table|head|550px|VI_WIDTH <code>0x0440 0008</code>}}
Line 197:
| 11-0 | WIDTH<11:0> | This is the width in pixels of the frame buffer if you draw to the frame buffer based on a different width than what is given here the image will drift with each line to the left or right. The common values are 320 and 640, the maximum value is 640. The minimum value depends on the TV set, 160 would probably be a safe minimum but no guarantee. The same value would also be used on drawing commands for clipping or scissors. This can also be used with High Res interlacing modes to change the odd and even lines of the frame buffer to be drawn to screen by doubling the width of this value and changing the VI_ORIGIN register to the odd or even field being displayed.
}}
==== <span style="display:none;">0x0440 000C - VI_V_INTR</code> ====
----
{{#invoke:Register table|head|550px|VI_V_INTR <code>0x0440 000C</code>}}
Line 221:
| 9-0 | V_INTR<9:0> | When VI_V_CURRENT reaches this half-line number, a VI Interrupt is triggered. Usually set to the last line containing pixel data.<br>Default value of <code>0x3FF</code>
}}
==== <span style="display:none;">0x0440 0010 - VI_V_CURRENT</code> ====
----
{{#invoke:Register table|head|550px|VI_V_CURRENT <code>0x0440 0010</code>}}
Line 245:
| 9-0 | V_CURRENT<9:0> | The current half line, sampled once per line. Bit 0 is constant for non-interlaced modes. In interlaced modes, bit 0 gives the field number. Writing anything to this register clears the currently triggered VI Interrupt.
}}
==== <span style="display:none;">0x0440 0014 - VI_BURST</code> ====
----
{{#invoke:Register table|head|550px|VI_BURST <code>0x0440 0014</code>}}
Line 283:
:* vertical sync width in half lines: 4 (decimal)
:* start of color burst in pixels from h-sync: 64 (decimal)
==== <span style="display:none;">0x0440 0018 - VI_V_SYNC</code> ====
----
{{#invoke:Register table|head|550px|VI_V_SYNC <code>0x0440 0018</code>}}
Line 307:
| 9-0 | V_SYNC<9:0> | Total visible and non-visible lines. This should match either NTSC (non-interlaced: <code>0x20D</code>, interlaced: <code>0x20C</code>) or PAL (non-interlaced: <code>0x271</code>, interlaced: <code>0x270</code>)
}}
==== <span style="display:none;">0x0440 001C - VI_H_SYNC</code> ====
----
{{#invoke:Register table|head|550px|VI_H_SYNC <code>0x0440 001C</code>}}
Line 333:
| 11-0 | H_SYNC<11:0> | Total width of a line, in 1/4 pixel units. Should always use standard values: NTSC (<code>0xC15</code>) or PAL (<code>0xC69</code>)<br>Default value of <code>0x7FF</code>
}}
==== <span style="display:none;">0x0440 0020 - VI_H_SYNC_LEAP</code> ====
----
{{#invoke:Register table|head|550px|VI_H_SYNC_LEAP <code>0x0440 0020</code>}}
Line 359:
| 9-0 | LEAP_B<9:0> | NTSC: Identical to H_SYNC width. PAL: <code>0xC6F</code>
}}
==== <span style="display:none;">0x0440 0024 - VI_H_VIDEO</code> ====
----
{{#invoke:Register table|head|550px|VI_H_VIDEO <code>0x0440 0024</code>}}
Line 385:
| 9-0 | H_END<9:0> | End of the active video image, in screen pixels from hsync. Typical values: NTSC (<code>0x2EC</code>) or PAL (<code>0x300</code>)
}}
==== <span style="display:none;">0x0440 0028 - VI_V_VIDEO</code> ====
----
{{#invoke:Register table|head|550px|VI_V_VIDEO <code>0x0440 0028</code>}}
Line 411:
| 9-0 | V_END<9:0> | End of the active video image, in screen half-lines from vsync. Typical values: NTSC (<code>0x1FF</code>) or PAL (<code>0x239</code>)
}}
==== <span style="display:none;">0x0440 002C - VI_V_BURST</code> ====
----
{{#invoke:Register table|head|700px|VI_V_BURST <code>0x0440 002C</code>}}
Line 437:
| 9-0 | V_BURST_END<9:0> | End of the color burst enable, in half-lines. Typical values: NTSC (<code>0x204</code>) or PAL (<code>0x26B</code>)
}}
==== <span style="display:none;">0x0440 0030 - VI_X_SCALE</code> ====
----
{{#invoke:Register table|head|550px|VI_X_SCALE <code>0x0440 0030</code>}}
Line 463:
| 11-0 | X_SCALE<11:0> | 1/horizontal scale up factor (2.10 format)
}}
==== <span style="display:none;">0x0440 0034 - VI_Y_SCALE</code> ====
----
{{#invoke:Register table|head|550px|VI_Y_SCALE <code>0x0440 0034</code>}}
Line 489:
| 11-0 | Y_SCALE<11:0> | 1/vertical scale up factor (2.10 format)
}}
==== <span style="display:none;">0x0440 0038 - VI_TEST_ADDR</code> ====
----
{{#invoke:Register table|head|550px|VI_TEST_ADDR <code>0x0440 0038</code>}}
Line 513:
| 6-0 | TEST_ADDR<6:0> | Diagnostics only, usage unknown
}}
==== <span style="display:none;">0x0440 003C - VI_STAGED_DATA</code> ====
----
{{#invoke:Register table|head|550px|VI_STAGED_DATA <code>0x0440 003C</code>}}