由于 GameCube 色差线的昂贵和稀少,所以并不是所有的玩家都见过 GameCube 真正的显示效果。尽管我有幸拥有一根 GameCube 色差线,但是我依然计划自制一根。在这里要说明的是,目前全世界尚没有人公开报道过自制成功的先例,我也不能保证能制作成功。
除了最后期的 GameCube 之外,所有的 GameCube 都有 Digital AV Output,这个接口能同时输出数字形式的视频和音频信号,希望获得数字音频信号的朋友可以借助搜索引擎查找到制作的详细方法(图纸如下,制作应该不会有什么难度, by Oscar)。
下面是一些我整理的资料,以及初步的设计:
任天堂专利:《External interfaces for a 3D graphics system》,这篇专利文档详细介绍了 GameCube 数字输出接口的时序。
GameCube Digital AV Output Pinout:
Pin | Signal | Pin | Signal |
1 | DetectCable (pull high 1.8V) | 2 | 54MHz Clock |
3 | ClkSelect | 4 | GND |
5 | +12V | 6 | 27MHz Clock |
7 | VDATA0 | 8 | GND |
9 | VDATA1 | 10 | VDATA2 |
11 | GND | 12 | VDATA3 |
13 | VDATA4 | 14 | GND |
15 | VDATA5 | 16 | VDATA6 |
17 | +3.3V | 18 | VDATA7 |
19 | LRCK (Audio) | 20 | GND |
21 | Data (Audio) | 22 | BCLK (Audio) |
Video is sent as 4:2:2 YCrCb component. <Y><Cr><Y><Cb><Y><Cr><Y><Cb>
Y is set to 0 during blanking intervals, and Cr/Cb packets are used to transmit sync and flag information.
Bit | Flag | Description | Options |
0 | I | Interlaced Flag | 0 = Interlaced, 1 = Non-Interlaced |
1 | M | Screen Mode Flag | 0 = NTSC, 1 = PAL |
2 | K | Color Burst Blanking Flag | 0 = Color Burst Should be Blanked Out |
3 | B | Color Burst Flag | 0 = Indicates location of Color Burst |
4 | H | Horizontal Sync | 0 = Horizontal Sync Active |
5 | V | Vertical Sync | 0 = Verical Sync Active |
6 | F | Field | 0 = Odd Field, 1 = Even Field |
7 | C | Composite Sync | 0 = Composite Sync Active |
目前的设想是,使用xilinx Spartan3s400 FPGA 作为和 GameCube 的接口,外接梯形电阻网络来构成DAC(购买高速视频DAC还是挺麻烦的,暂时用梯形电阻网络)。FPGA根据信号时序进行锁存,YPbPr三路信号同时输出给DAC,HV同步也输出。