hoglet67 / RGBtoHDMI

Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
GNU General Public License v3.0
841 stars 115 forks source link

Sparklies on the Tandy Color Computer 2 model 26-3026 NTSC #212

Open qbancoffee opened 3 years ago

qbancoffee commented 3 years ago

Excellent project!

I built V4 of the rgb to hdmi board and V3 of the analog 6 bit board and I tested with several versions of the firmware with the same results. The versions were 20201126, 20210529 and 20201126. I wired the analog board to the VDG chip to capture YUV signals and selected the Tandy CoCo 1/2 profile.

I get a very nice image but there are sparkllies all over the screen particularly the non-green screens. I've cleaned up the wiring and tested with to CoCo 2's.

I don't know if this is relevant but things seem to clean up when there is more green on the screen. I have tweaked things in the sampling menu like AC/DC coupled with some improvement but not a perfectly clean image.

Is there something that I should look for or tweak?

Thanks, and once again, excellent project!!!!

IanSB commented 3 years ago

Yes, the emu palette is using xroar values, the changes were made to CoCo-Dragon and CoCo-Full.

BTW the difference is the Full version has all colours correct and the other one has the dark green or dark orange forced to black to make text clearer.

qbancoffee commented 3 years ago

Ah o.k.

Yes, this is a better match, however, I wonder if a bug was introduced because when playing a game that uses artifacting, there seems to be random horizontal tearing, which goes away when I disable artifacting.

IanSB commented 3 years ago

This is work in progress code so may have other unrelated issues. If you revert to the previous beta 36 kernel file without changing anything else, the newly generated palettes should persist and you won't have any other unrelated problems.

qbancoffee commented 3 years ago

the palette looks good to me but I noticed that there was some text that did not display on the screen. Here is a video showing it. https://youtu.be/Q_KdN44Q54k Using some more, I have to say that I'm good with the palette and I think other CoCo user will be happy as well.

qbancoffee commented 3 years ago

You may want to try matching the bright orange from any higher res multi colour graphics game

Here you go, it looks very very good. https://youtu.be/_co2jcfFFLM

qbancoffee commented 3 years ago

Here are trapfall and frogger. They look really really good. 20210711_200312 20210711_195920

IanSB commented 3 years ago

Here you go, it looks very very good. https://youtu.be/_co2jcfFFLM

That matches well with all 8 colours but it's using the lo-res block graphics from text mode and even the cyan and orange look good (same as the for/next loop)

Here are trapfall and frogger. They look really really good

These are using the primary 4 colour graphics palette of green/red/yellow/blue and again match well

the palette looks good to me but I noticed that there was some text that did not display on the screen. https://youtu.be/Q_KdN44Q54k

This game is using the alternate 4 colour graphics palette of white/cyan/orange and magenta. The cyan and orange don't look such a good match here, perhaps the white background is making the TV darken the other colours but this needs further investigation.

My main problem at the moment is lack of a side by side comparison. I tried tuning in the NTSC CoCo but my TV wouldn't recognise it so I will have to do a composite mod for the CoCo 2 as my TV will handle composite NTSC.

I noticed that there was some text that did not display on the screen.

I don't know what's going on there, that's really strange.

qbancoffee commented 3 years ago

I'll keep looking for a higher res games.

qbancoffee commented 3 years ago

I'm testing and comparing but I'm sure I'm skipping over important details from your perspective. What would be the most helpful thing I could do for you with or without my TV?

Is there and easy way I could change and test things from my end?

Are there specific colors or way of generating colors that I should look for even for artifactig?

IanSB commented 3 years ago

I noticed that there was some text that did not display on the screen.

Ok I figured this out: It's switching to NTSC artifact mode which it shouldn't do as there is still a little colour on screen. (It was ignoring cyan) Try this fixed version: kernelrpi.zip Also let me know if you still see any random horizontal tearing in artifact mode

qbancoffee commented 3 years ago

Ok I figured this out:

Yes you did. I can read the text now.

Also let me know if you still see any random horizontal tearing in artifact mode

I played several minutes on two different games and I didn't see any tearing at all.

IanSB commented 3 years ago

There is one other colour that you need to provide palette values for and that's bright orange (There are three orange levels) Try the following to get the bright orange on screen: 10FORI=32TO255:PRINT CHR$(I);:NEXT 20POKE65314,8 30GOTO30 You should get the same colour blocks as usual but the green background will be bright orange compared to the orange on the blocks. The GOTO is to prevent the coco from changing the VDG back again.

The YLo setting determines the discrimination between the medium orange and the bright orange so you need to check if the default is good across all your machines.

qbancoffee commented 3 years ago

o.k. ill st it all up and test

qbancoffee commented 3 years ago

I'm planning to pull everything out tonight so hopefully I can have something for you.

qbancoffee commented 3 years ago

It took some work but I now have a more permanent location to test with this TV so I should be able to test a little easier......... I got (162, 5, 5) for the background color for the lowercase letters and the characters in this mode. The other colors look really good to me.
Here is a video and a pic. https://youtu.be/1q-zTQy7WBA

20210719_234701

qbancoffee commented 3 years ago

I just tested bet37, it works and the dark orange matches. Thanks for all the work!