Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user mattfp1 ! (Registered 2017-11-20) You are not logged in 
CSDb User Forums


Forums > CSDb Discussions > Christopher Jam's composite video measurements
2017-10-27 07:37
ChristopherJam

Registered: Aug 2004
Posts: 682
Christopher Jam's composite video measurements

I spent a month or two back around the start of 2015 measuring the composite video output of a new luminance c64 using a 100MHz USB oscilloscope, then trying to reproduce the output waveform using a simple predictive model.

Before I started, I had this crazy idea that I could use the fragments of chroma signals from each pixel to manufacture new colours, on the assumption that each pixel would be a well defined slice of a sinewave. Ahahahaha. Nothing so simple. Chroma takes several pixels to start up and shut down again, and the luma signal rings visibly for four or five pixels.

I do now however have a pretty accurate model of the luma behaviour, and my chroma model is not far off.

Some pretty graphs and test images at http://jamontoads.net/p/lumachroma.html

Here's a teaser



and a palette :)



jampal=[000000, ffffff, 7d202c, 4fb3a5, 84258c, 339840, 2a1b9d, bfd04a, 7f410d, 4c2e00, b44f5c, 3c3c3c, 646464, 7ce587, 6351db, 939393]
2017-10-27 11:05
Krill

Registered: Apr 2002
Posts: 902
Good job!

Apart from the palette, can the model you deduced be (easily) included with emulators to improve render fidelity?
2017-10-27 11:23
ChristopherJam

Registered: Aug 2004
Posts: 682
Quoting Krill
Good job!

Thanks!

Quote:
Apart from the palette, can the model you deduced be (easily) included with emulators to improve render fidelity?

Nontrivial in its current state.

I'm pretty sure I can get the signal reproduction down to four table lookups per pixel, each one indexed by a run of three pixels (or one two-byte lookup indexed by the last five pixel indices), but that just generates a two sample per pixel composite signal that would still need converting to YUV, chroma averaged, then RGB converted.

The composite->YUV filters I'm using at the moment are several pixels wide, so a direct translation would be fairly slow. More maths to be done..
2017-10-27 21:31
lft

Registered: Jul 2007
Posts: 314
But graphics cards are fast. Sounds like a straightforward job for a pixel shader.
2017-10-27 21:35
Jammer

Registered: Nov 2002
Posts: 695
Splendid! So this or Colodore? ;)
2017-10-27 22:37
Groepaz

Registered: Dec 2001
Posts: 8275
did you actually use composite? and if yes, why? =)

it would also be interesting to know what video chip exactly you used... and then re-do the measurements on different chips. i am willing to bet there are quite some differences :)
2017-10-27 22:45
Oswald

Registered: Apr 2002
Posts: 4124
very cool you did that =) in some of the example pictures the "distortion" feels like those on true CRT.
2017-10-28 00:21
soci

Registered: Sep 2003
Posts: 375
View64's PAL/NTSC mode generates luminance and chrominance "signals" and feeds them it into a decoder. The signal generation part is a bit simplistic currently and this bothered me for a while.

Therefore these measurements are really interesting.
2017-10-28 01:46
Groepaz

Registered: Dec 2001
Posts: 8275
the renderers i wrote for testing also work like this... i was lazy though and used some filter implementations i found somewhere on the net which are not really suitable for realtime signal processing so its all really slow =)
2017-10-28 05:13
ChristopherJam

Registered: Aug 2004
Posts: 682
Quoting lft
But graphics cards are fast. Sounds like a straightforward job for a pixel shader.


Yes I've been wondering about that. Attempting one has been on my todo list for over 18 months now though, so I should just release a slow reference implementation and let someone else have a bash at making it faster..


Quoting Groepaz
did you actually use composite? and if yes, why? =)


haha yes! Um, I wasn't getting any signal at all from the chroma pin on the c64 in question. Besides, composite's the only input on the front of my nicest CRT, so it's how I view things anyway..

Quote:
it would also be interesting to know what video chip exactly you used... and then re-do the measurements on different chips. i am willing to bet there are quite some differences :)

Yes, differences seem likely. This was a nine luminance one in an assembly where I'd need to unscrew the keyboard to even get to the heatsink/shielding that's covering the chips.. And that c64 has stopped working properly sometime since I took the measurements.. (powers up and displays " OUT OF MEMORY ERROR IN 0" I'm a bit scared to plug my MMC reader into it..)


Quoting soci
View64's PAL/NTSC mode generates luminance and chrominance "signals" and feeds them it into a decoder. The signal generation part is a bit simplistic currently and this bothered me for a while.

Therefore these measurements are really interesting.

Ah, nice. Ok, I will try and finish bundling up the code and data for release.
2017-10-28 18:07
pepto

Registered: Nov 2004
Posts: 33
Quoting ChristopherJam
I do now however have a pretty accurate model of the luma behaviour, and my chroma model is not far off

These sloppy signal observations are interesting... congrats on finally publishing the results of your experiments. :)



Quoting Jammer
Splendid! So this or Colodore? ;)

It doesn't really matter that much, as colodore isn't really ONE EXCLUSIVE palette. You may tune it by altering the brightness, contrast and saturation sliders, just like on real equipment. This way you should be able to match captured palettes (there are small lot-to-lot variations). For example here's a quick attempt to tune colodore (47/85/66 - top) by eyesight to somewhat match Christopher's palette (bottom).

 
... 11 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Acidchild/Padua
thesuperfrog
Pantaloon/Fairlight
Guests online: 50
Top Demos
1 Uncensored  (9.7)
2 Edge of Disgrace  (9.7)
3 Coma Light 13  (9.6)
4 The Shores of Reflec..  (9.6)
5 Lunatico  (9.6)
6 Comaland 100%  (9.5)
7 Incoherent Nightmare  (9.5)
8 Wonderland XII  (9.5)
9 Comaland  (9.5)
10 Wonderland XIII  (9.5)
Top onefile Demos
1 FMX Music Demo  (9.6)
2 Pandemoniac Part 2 o..  (9.6)
3 Daah, Those Acid Pil..  (9.5)
4 Dawnfall V1.1  (9.5)
5 Synthesis  (9.5)
6 Dawnfall  (9.4)
7 Treu Love [reu]  (9.4)
8 Field Sort  (9.4)
9 Pro Memoria 4  (9.3)
10 KAOS 64  (9.3)
Top Groups
1 Oxyron  (9.4)
2 Booze Design  (9.4)
3 Censor Design  (9.3)
4 Crest  (9.3)
5 The Judges  (9.3)
Top Swappers
1 Jerry  (10)
2 Zyron  (10)
3 Derbyshire Ram  (10)
4 Splatterhead  (9.8)
5 Walker  (9.7)

Home - Disclaimer
Copyright © No Name 2001-2017
Page generated in: 0.59 sec.