Potential for Marty YPbPr and HDMI

Started by Cyothevile, October 24, 2023, 12:35:38 AM

Previous topic - Next topic

Cyothevile

So Marty long story short outputs digital YUV or YPbPr. Why is this?

Well, everything on the these old PCs including Towns is in the RGB colorspace. Even if you open some towns computers youll find a 3 channel DAC to convert the digital RGB into analog video. So why does Marty have YPbPr integrated into it?

I have poked and prodded Marty for several evenings and concluded the reason Marty uses YUV is that it shares the same video processing ASIC as the Car Marty. However, this still doesnt answer the question.

The real reason Marty has digital YUV is that its the required format for S-Video. So examining the two channel DAC for S-Video, youll find that Y0-Y7 are there and UV0-UV7 are there.

The horizontal, vertical, and pixel clock are also present on test points. When I ran multiple games in multiple video modes, the frequencies absolutely didnt change. So the video ASIC downscales everything to 15khz before outputting digital YUV.


So in short, it is possible to modify Marty for component video and to an extent HDMI. For component you would need an fpga to transform the Y" and UV" into seperate Y U V channels before shoving it into a DAC.
For HDMI you would need to grab lots of different clock specifications from the horizontal and vertical. Then you can directly send the data going to the S-Video DAC. Actually in theory HDMI would be easier to implement.

incrediblehark

This is really interesting info and while I don't own a Marty any more would love to see a solution like this implemented as the video output of the Marty isn't the greatest.

I apologize for my lack of knowledge but would the output still be interlaced, or could you get a progressive signal from it with your proposed method?

Cyothevile

I think interlaced. Its a limitation on the post-processing of the ASIC. The input to the ASIC should be in RGB colorspace already.

My friend fixel is actively working on an HDMI card for Marty. Its actually almost done. Actually, that will be the best HDMI for Marty :)

I just had genuine interest in trying to get a higher grade analog video from Marty.

The test points also suggest there are digital, individual YPbPr lines. Such as Y0-Y7, Pb0-Pb7, Pr0-Pr7. theoretically if you identify them, shove them into a triple channel DAC that supports 5V logic with the pixel clock and another clock, it could be done. Identifying the color gradiants is something that would be done and one should write some test software to do this.
Pinterior-san helped me do this to identify initially some of the signals but I need to do color gradiant testing to really fine tune it.

Cyothevile

It seems ADV7393 can support converting the Y"UV" into analog YPbPr.  However, it will require level shifters and an external MCU to load the configuration. It's starting to get expensive.

Cyothevile

So back to this.

I did more RE work. Here is how marty works.

Marty runs just like the computers with a special CRTC that takes an input of digital RGBHV along with an NTSC subcarrier frequency thats exactly 8x the 480i clk specification.

The CRTC divides by 8, performs RGB to YUV colorspace conversion, and outputs 2 channel 8 bit video to the svideo DAC. It also outputs composite video. So technically its a mixed signal ASIC.

You can regenerate csync if you AND the hsync and vsync together with a NOT blanking signal into it. The issue is that CRT and PVM cannot accept 24khz signals. So it would be a moot point in modding it for RGBS. RGBHV however is totally possible but I have yet to know if anyone is interested in such a modification. I think the Towns operates on 18 bit RGB.

Cyothevile

The car marty also uses the same special CRTC that does internal downscaling. Forgot to mention that.

So it colorspace converts and downscales to 480i.

Also I was mistaken. That ASIC doesnt output digital YUV. It takes a digital RGB input. When I ran a test program on marty my friend wrote, I was able to discover this