Computing > Vintage Computing

C64 / C128 Video on HDMI screen - improving image quality possible?

(1/10) > >>

TinkeringSteve:
Hello all,

I have dug out a Commodore C128 (mostly used in C64 mode) when making room in dad's garage, tried whether it still works. Lo and behold - yes! Inclunding all SID voices. PSU measures fine on both DC and AC voltages.

But my attempts to make this display adequately on my HDMI monitor were rather underwhelming.
I have tried 2 different S-Video (or SCART, in the other case) to HDMI upconverters.
So I am using the C and Y signals, not composite.

The first one has a true color image but cannot do 4:3. But it's not exatcly clear either.
[attach=1]

The other one seems to be of older design, can do 4:3 but the color is totally out of whack.
[attach=2]

I remember when I was a kid, I had a dedicated Commodore monitor, and although the memories are blurry, it seems like the image on that monitor was better than even the first one below. (not on TV via RF modulator, of course)

On the better of the 2 images, you can see a clear pattern of noise, perfectly, equidistantly repeated:

* alternating sections of generally brighter blue vertical bars, and darker bars
* the seams of the vertical bars are a thinner light blue stripe, which go pretty much perfectly
    through the center of what would be a 8-pixel column in the C64's resolution.
* superimposed on that is some more random seeming, higher resolution noise
* these noise patterns are static, as in, not moving in position or intensity
* more rarely, some random cyan pixel cloud of fruitflies buzzing around randomly will appear,
    in low density - if I move the cable around, or just unplug/replug the SVideo, it vanishes.
    I guess that one is the converter going nuts due to some noise that tickled something it in.
I wonder where these regular patterns come from.
I'd assume, not from the HDMI converter, but noise from the source itself?

I now saw that the cable has no shield.
Would using a cable with own shields for luminance and chrominance be a good idea?

I also read the luminance signal of the C64 is higher than the later defined S-Video standard.
On the scope it did seem roughly double as high than the spec'd 850 or so mV-pp.
Some people put a 330R resistor in series there - I wonder how that would ever create a defined signal...
I'm not exactly an expert, but I tried a pi-form resistor attenuator on the chroma signal at ~ 75 Ohm and -6dB - didn't do any good.
Although I'm not sure the problem is the chroma signal (on the first image! ;)). it looks like varying brightness to me, not color shift. The luma does not look too high in amplitude.

Has anyone ever gotten a more decent signal on a modern monitor, using one of those ubiquitous HDMI up-converters?

Ian.M:
Do you have a HDMI converter that can take RGB input?  If so, you'll almost certainly do better buffering the C128's digital RGBI TTL level output signals, and combining them in a matrix to get normal 0.7V'ish 75R analog RGB.  That gets all the C128 chroma level and colorburst frequency and stability issues literally out of the picture. NTSC was bad enough from an accurate broadcast source carefully locked to an accurate master oscillator.  By the time you've generated it in an aging 8 bit computer, probably suffering from chroma oscillator drift, and  digitized it in a cheap HDMI converter that certainly doesn't have a high precision master oscillator its no wonder it looks like a dog's breakfast of moire patterns.

If you don't have any converter that can take analog RGB input, well the arcade community solved the IBM(ish) CGA (which is also TTL level RGBI) to HDMI problem a while back, and if you have a North American C128 its RGBI output is virtually indistinguishable from IBM CGA, so converter boards are readily available.  I'm fairly sure many of them work with RGBI with 50Hz, 625 line sync timings (i.e. PAL or SECAM compatible) if you have an European / rest of world version, but do check the specific board you order does!

TinkeringSteve:
Hrm! Interesting. I associated that D-sub video port with "for 80 column mode only" for some reason. I remember that I successfully connected an EGA monitor the school was to throw in the bin.
It's PAL land here. Heh. Amazon has one of them CGA boards for around 20 bucks. I guess I might try that.

Is chroma oscillator drift something fixable? ( with reasonable effort ;) )

Ian.M:
Sorry for misleading you.  I hadn't realized the C128 video systems were such a mess until I delved into its service manual: http://zetaweb.org/web/manuals/C128%20Service%20Manual.pdf  You are correct, the VIC IIe video processor doesn't even output RGBI video, and those lines come from the VDC chip, that although it can do 40 column modes is exclusively used (officially) for the 80 column text 'business' mode.   

For the C64, there is at least one mod that *DOES* generate hardware RGBI video from a FPGA replacement for the VIC chip, but I suspect most users are reluctant to go down that road, for cost or originality reasons.  It could probably be ported to the C128 VIC IIe chip pinout, if you are as experienced with FPGAs as the original mod creator! 

I also found this: https://techwithdave.davevw.com/2019/05/rgb64.html namely 'shadowing' text written to the VIC screen on a 40 column text mode VDC screen.  However that's no help whatsoever for graphics modes or anything that bypasses the ROM routines it patches (i.e. all games).

I therefore regret that RGBI => HDMI video, while essential to be able to use the full capabilities of your C128 wont be any help with your original problem of crappy video in C64 compatible modes.   To resolve the dot crawl and moire pattern mess, you'd need the capability to either lock the C128 or the component video => HDMI converter to the other's clock. 

Fully genlocking a C128 would be an absolute nightmare, requiring extensive hardware mods to pick up various timing signals, and replacing the master crystal of the 8701 clock generator with a narrow range VCO, controlled to 'drift' the oscillator frequency until the VIC's line and frame sync signals are in phase with the external source then phase lock the oscillator and trim the dot clock phase, but if you can find a HDMI converter that accepts an external dot clock input, well the 8701's dot clock output is available on pin 6 of the expansion connector, so no hardware mods would be required.  You may still need an external PLL to get the 17.43447MHz dot clock (nom. PAL models) to a harmonically locked frequency within the range the converter will accept.   

C20 is the trimmer for the 8701's crystal.  You'll find it under the little hole in the lid of the separate screening can on the main board behind the modulator.  Careful trimming using a ceramic bladed* trim tool may help improve compatibility with a particular TV or composite/component video to HDMI converter, though as the oscillator circuit isn't ovenised its still going to drift as the C128 warms up.

* The extra capacitance of a metal bladed screwdriver shifts the frequency and makes trimming a crystal a royal PITA.  You can use a plastic bladed trim tool but their blades are very weak and tend to break off in the trimmer.  Trim tools with a plastic shaft and a tiny low capacitance brass blade insert are readily available but their shaft is likely to be too thick for the hole in the lid of the screening can.  Therefore its worth paying the premium for a ceramic bladed trim tool then 'babying' it so you don't break or chip its blade. e.g. *NEVER* drop it, *NEVER* put it in a bag or draw with other metal tools without a cover over its blade, and *ALWAYS* check the trimmer isn't seized using an ordinary jewelers screwdriver before applying the ceramic trim tool.

Bicurico:
My advice:

1) Keep your original unmodded C128 or sell it to collectors. Do not modify ir or replace IC´s, seeking to fix the video quality on modern monitors.

2) Buy a Commodore monitor (1084S-D2) that can handle both video outputs of a C128. This will cost you around 100-200 Euro/US$ depending on the state of the monitor and your luck. Prices are going up, so you may need to spend more money.

3) If you just seek to actually use a C64/C128 (in 40/80 columns mode, including CP/M) then by all means get a Raspberry Pi and install the amazing BMC64. This will give you all you need with 99.99% perfect emulation (not even sure why there is 0.01% missing). Buy CBM keyboard stickers (very cheap) and glue them on a dedicated USB keyboard. This is IMHO the cheapest way to get back to CBM computers.

4) Do NOT waste money in RGB Digital to RGB Analogue converter, plus Frequency Upscaler, plus RGB CRT monitor with VGA input. This will be more expensive than getting a propper CBM monitor and you will have ton of cables, bare PCB´s and two extra PSU´s on the desk. And in the end, the image quality is still not perfect...

Regards,
Vitor

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version