Video DAC: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
(added pinout)
(rewrite entirely, with the intention of moving Video Interface#Video DAC's contents here)
 
Line 1: Line 1:
The Video DAC is a chip – VDC-NUS, DENC-NUS, AVDC-NUS, or MAV-NUS depending on mainboard revision – that converts the 7-bit-wide synchronous [[Video Interface]] output to analog video.
The video DAC is connected to the RCP over a video bus.
The Video Interface (VI) sends data to the video DAC from the framebuffer.
The video bus is one (7-bit) byte wide and also has a !DSYNC signal.
The !DSYNC signal is active on the first out of four bytes.
The bus comes out of the RCP and is fed into the video DAC.
A clock signal (about 50Mhz) is also connected to the DAC.
Only NTSC supports s-video.
The control deck can be modified to suport RGB as this was left unconnected in the retail.


Only the earlier revision's VDC-NUS uses an external chip (ENC-NUS) to convert RGB to S-Video and composite; instead the latter three DAC chips natively generate S-Video and composite.
=== Pinout: ===


The Video DAC clock runs at 4 times the speed of the pixel clock so that the multiplexing can happen on the VI bus. This allows four sequential VI clocks to be combined to hold a single 21-bit color value for each emitted pixel. Since there are three unused bits in the multiplex sequence, it is unclear why the DAC has only 7 bits of precision instead of 8, and no documentation already found explains this.
<nowiki> ---------- --------
[[File:N64videosys.png|thumb|Video DAC Bus and waveform. Image from: http://members.optusnet.com.au/eviltim/n64rgb/n64rgb.html]]
| | | |

| D0|--------| | composite video
This 4 clock process outputs the RGB colors and the VSync, Hsync, Clamp and Csync and is restarted every time !DSync is low.
| D1|--------| |----------------

| D2|--------| |
The Video Interface relies on being able to send control signals (VSync, HSync, "clamp"=colorburst, CSync) every VI clock during blanking by keeping the !DSYNC input low for multiple clocks in a row.
| RCP D3|--------| DAC | luma (s-video)

| D4|--------| |----------------
The video clock is provided by one of the two MX8330s (IC U7).
| D5|--------| |
{| class="wikitable"
| D6|--------| | chroma (s-video)
|+
| !DSYNC|--------| |----------------
! !DSYNC
| clock|---+----| |
!LOW
| | | | |
!high
---------- | --------
!high
|
!high
OSC (~50Mhz)
|-
</nowiki>
! stage
|Cycle 0
|Cycle 1
|Cycle 2
|Cycle 3
|-
|D0
|!Csync
|Red 0
|Green 0
|Blue 0
|-
|D1
|!Hsync
|Red 1
|Green 1
|Blue 1
|-
|D2
|!Clamp
|Red 2
|Green 2
|Blue 2
|-
|D3
|!Vsync
|Red 3
|Green 3
|Blue 3
|-
|D4
|NA
|Red 4
|Green 4
|Blue 4
|-
|D5
|NA
|Red 5
|Green 5
|Blue 5
|-
|D6
|NA
|Red 6
|Green 6
|Blue 6
|}

There are 3 different video clocks that are used in the N64 for the 3 TV standards: <gallery>
File:MX8330 video maths.png|Mx8330 video clock maths and fselect
</gallery>
{| class="wikitable"
|+
!TV Signal Type
!MX8330 Nominal input clock (by definition)
!MX8330 FSEL input
!Clock Maths using datasheet
!Resulting nominal frequency
|-
|NTSC
|14.32MHz (18 × 227.5 ÷ 286)
|HIGH
|(14.3 * 17) / 5
|48.681818 MHz ± 30 ppm
|-
|PAL
|17734475 Hz
|LOW
|(17.7 * 14) / 5
|49.656530 MHz ± 30 ppm
|-
|MPAL
|14.30MHz (18 × 227.25 ÷ 286)
|HIGH
|(14.3 * 17) / 5
|48.628322 MHz ± 30 ppm
|}

The [[Audio Interface]] uses this same clock.