Jump to content
IGNORED

Colors Off on my Intellivision System 1


Tempest

Recommended Posts

I have an original Intellivision with a composite mod that I got off some guy in Turkey years ago. The mod works alright (some very slight ghosting on the letters), but the colors are a bit off. It's almost like some colors are darker than they should be. It doesn't seem to affect every game, some games like Burgertime are just fine, but some games like Golf you can tell the colors aren't right. I think there's a color missing or something.

 

IIRC there's a little pot on the motherboard somewhere that you can adjust to fix color issues. Does anyone know where it is and how far to adjust it? Is there a good game/program for setting colors?

 

intelli1.jpg

intelli2.jpg

Link to comment
Share on other sites

Ok I can try that. I think one of the greens is too dark or something because I can get the green on that ecs screen to show up if I crank the color up, but that makes others colors off.

 

Is there an svideo mod for the inty yet?

Link to comment
Share on other sites

Are your screenshots with your normal monitor colour settings or with the colour "cranked up"? The primary colours look too bright, black is non-existent.

 

I'm not aware of any pot on the motherboard to adjust colour. There are a couple of pots on the rf modulator with some documentation in the service manual.

 

The Intellivision has three greens but the exec title screen background colour is not one of them. It's actually "brown" but I would describe it as olive. The colours in Intellivision emulators are up to the emulator programmer. And every TV displays colours differently.

 

from http://www.intellivisionlives.com/media/newsletters/news030427.html

BLACK: True.
BLUE: Not quite dark blue PC board; closer to '65 Cadillac than '66 Falcon; lapis lazuli.
RED: Red shirt red, much lighter than a rose; slightly purple?
TAN: Sandy, almost light brown.
DARK GREEN: Very dark - climbing-ivy dark, or rubber-tree dark.
GREEN: Same shade but lighter, perhaps grass green; touch of yellow.
YELLOW: Dark yellow - Afrika Korps yellow, definitely not marigold. Not quite amber.
WHITE: True.
GRAY: With a tinge of purple.
CYAN: Sick green-blue; institutional washroom green-blue.
ORANGE: Pale, closer to light red than to true Halloween orange.
BROWN: Very dark, the color of wet topsoil.
MAGENTA: Very bright, garish pink with a tinge of purple.
LIGHT BLUE: The color of the California sky looking up at 45 degrees. Perhaps a pastel color.
YELLOW-GREEN: The same shade [of green] again, but somewhat more faded. The grass of August? A true pastel green.
PURPLE: Dark violet Easter-egg dye purple.

 

 

---------------------

The screenshot below on the Sony PVM looks okay.

Are you adjusting the master clock at C2?

Edited by mr_me
  • Like 1
Link to comment
Share on other sites

Ok I found the color adjust but I can't get them right. I think it's just the composite mod I have. Anyone know much about it?

 

This first shot is from my 1702 monitor

intycolor1.JPG

This second shot is from a Sony PVM monitor I have with really nice color

intycolor2.JPG

 

 

As you can see the colors are off. Especially the yellows and greens. Any ideas?

Link to comment
Share on other sites

FWIW, the picture from your Sony monitor looks to have accurate colors that match what I see on my consoles, one with an AV mod and one without.

 

Do not judge your TV colors according to what jzIntv displays on your computer. They are quite different, especially the gray, pink, and purple.

Link to comment
Share on other sites

Yeah and I use the same mod board from the guy in Turkey and it is the best overall as far as color reproduction goes. But it is also very much YMMV depending on your TV. I just did a mod for another person on their Intelly 1 and on their TV the green of the trees on Amour Battle blend into the green background and their rivers are pink in color instead of blue. Yet, when I tested it on my PVM and Sony LCD I use in my gameroom, the colors were fine. So I can only believe this to be an issue in how certain TVs handle the composite signal itself.

 

And no there hasn't been an s-video mod that I've seen yet (But I would really like to see one!). There is an RGB mod but my setup in my game room isn't setup to handle RGB stuff without upgrading quite a bit of tech in the process.

  • Like 1
Link to comment
Share on other sites

Yeah and I use the same mod board from the guy in Turkey and it is the best overall as far as color reproduction goes. But it is also very much YMMV depending on your TV. I just did a mod for another person on their Intelly 1 and on their TV the green of the trees on Amour Battle blend into the green background and their rivers are pink in color instead of blue. Yet, when I tested it on my PVM and Sony LCD I use in my gameroom, the colors were fine. So I can only believe this to be an issue in how certain TVs handle the composite signal itself.

 

Ok good to know. I guess I won't worry about it too much then.

Link to comment
Share on other sites

 

Ok good to know. I guess I won't worry about it too much then.

 

Just to confirm the picture from your Sony PVM is the same composite modded Intelly right? I've used both the boards from the guy in Turkey and the ones from retrofixes.com with similar results. i do think the composite on the retrofixes version of the board is a bit too bright and smeary but still much better than RF. But the color issues just seem to be a product of how the Intellivison produces its composite signal and how it is interpreted from the TV. Again, I've lucked out in that both of the HDTVs I had in my game room over the past 6 years, produced accurate color for me.

Link to comment
Share on other sites

 

Just to confirm the picture from your Sony PVM is the same composite modded Intelly right? I've used both the boards from the guy in Turkey and the ones from retrofixes.com with similar results. i do think the composite on the retrofixes version of the board is a bit too bright and smeary but still much better than RF. But the color issues just seem to be a product of how the Intellivison produces its composite signal and how it is interpreted from the TV. Again, I've lucked out in that both of the HDTVs I had in my game room over the past 6 years, produced accurate color for me.

Yes same composite modded Intellivision.

 

I can't believe there's no S-Video mod for the Intellivision. RGB is nice, but I only have one RGB monitor and there's really no more space to hook stuff up to it (all my systems from the NES to the PS2 are hooked up to it).

Link to comment
Share on other sites

The red gun looks too bright on your Commodore monitor.

 

Try adjusting the tint control on the back, it should rebalance the red gun with the green gun.

 

- J

Is there a separate control on the back of the 1702 or is it just the one in the front?

 

I ended up using a spare PVM instead of the 1702 which has nicer colors. However when I hooked up my Vic-20 to the 1702 I did notice the red was way too high so I did some adjusting and balanced it out. I wonder if the Intellivision would look better on it now? I should check,

Link to comment
Share on other sites

For what it's worth, I've spent a LOT of time researching the Inty colors since I have to understand how TV color works if I want my Bird's Nest project to accurately reproduce the color palette. Here is a snippet from my notes:

Color timeslice values are determined by three parameters:

- base level
- delta 1
- delta 2

Base level determines brightness, delta 1 and delta 2 determine hue and saturation

For each color, there is a hypothetical sine wave with a given amplitude and phase.
The 4 timeslice values are sample points on this hypothetical sine wave.

The points on the sine wave that represent 0, 90, 180, 270, 360, etc. degrees are
BETWEEN timeslices, i.e. where the timeslice changes.


timeslice index		phase angle range	center
------------------------------------------------------
0			0..90			45
1			90..180			135
2			180..270		225
3			270..360		315


Profile for converting deltas to timeslice values:

- + + -    (i.e. -d1 +d2 +d1 -d2)


		timeslice	base	timeslice	peak @ ts	shifted (red	peak
color	name	0..3		level	amplitude	position	peak @ 0)	phase	hue?	amp.	sat. (6.5=max amp.)
-------------------------------------------------------------------------------------------------------------------------------------------
0	blk	 3  3  3  3	3	 0  0  0  0	-		-		-	-	0	0	0
1	blu	 9 13  5  1	7	+2 +6 -2 -6	1.295		1.590		216.9	154	6.325	0.973	248
2	red	 8  0  4 12	6	+2 -6 -2 +6	3.705		0		0	0	6.325	0.973	248
3	tan	 4  4 12 12	8	-4 -4 +4 +4	3		3.295		63.45	45	5.657	0.87	222
4	grs	 3  8 11  6	7	-4 +1 +4 -1	2.344		2.639		122.49	87	4.123	0.634	162
5	grn	 3 11 13  5	8	-5 +3 +5 -3	2.156		2.451		139.41	99	5.831	0.897	229
6	yel	 9 11 15 13	12	-3 -1 +3 +1	2.705		3		90	64	3.162	0.487	124
7	wht	13 13 13 13	13	 0  0  0  0	-		-		-	-	0	0	0
8	gry	 9  9  9  9	9	 0  0  0  0	-		-		-	-	0	0	0
9	cyn	 8 13 12  7	10	-2 +3 +2 -3	1.874		2.169		164.79	117	3.606	0.555	141
10	org	 9  4  9 14	9	 0 -5  0 +5	3.5		3.795		18.45	13	5	0.769	196
11	brn	 4  4  8  8	6	-2 -2 +2 +2	3		3.295		63.45	45	2.828	0.435	111
12	mag	13  5  3 11	8	+5 -3 -5 +3	0.156		0.451		319.41	227	5.831	0.897	229
13	ltb	12 12  6  6	9	+3 +3 -3 -3	1		1.295		243.45	173	4.245	0.653	167
14	ylg	 5  9 13  9	9	-4  0 +4  0	2.5		2.795		108.45	77	4	0.615	157
15	pur	10  5  2  7	6	+4 -1 -4 +1	0.344		0.639		302.49	215	4.123	0.634	162

Peak calculation for the above table:
- compare any two consecutive timeslice amplitudes (deviation from the base level) that are positive
- timeslice #3 should be considered to be before timeslice #0 as the sine wave repeats over time
- no need to perform the calculation for colors with 0 amplitude
- in terms of phase angles, the second timeslice is 90 degrees after the first timeslice

formula (using degrees for readability):

a1 = first amplitude
a2 = second ampliture
c1 = center angle of a1
c2 = center angle of a2


sin x = (a1 / a2) sin (x + 90)
      = (a1 / a2) [sin x * cos 90 + cos x * sin 90]
      = (a1 / a2) cos x

tan x = a1 / a2

x = arctan (a1 / a2)

x is then the angle for the first timeslice, and the positive peak must lie between them

peak = (90 - x) + c1

Angle to time conversion:

timeslice	start	end	center		start	end	center
index		angle	angle	angle		time	time	time
----------------------------------------------------------------------
0		0	90	45		0	1	0.5
1		90	180	135		1	2	1.5
2		180	270	225		2	3	2.5
3		270	360	315		3	4	3.5


		timeslices	base	timeslice			first	next	c1	c2				peak	peak
color	name	0..3		level	amplitudes	delta1	delta2	amp.	amp.	angle	angle	a1/a2	x	90 - x	angle	time
---------------------------------------------------------------------------------------------------------------------------------------------
0	blk	 3  3  3  3	3	 0  0  0  0	 0	 0	0	0	-	-	-	-	-	-	-
1	blu	 9 13  5  1	7	+2 +6 -2 -6	-2	 6	2	6	45	135	1/3	18.435	71.565	116.565	1.295
2	red	 8  0  4 12	6	+2 -6 -2 +6	-2	-6	6	2	315	45	3	71.565	18.435	333.435	3.705
3	tan	 4  4 12 12	8	-4 -4 +4 +4	 4	-4	4	4	225	315	1	45	45	270	3
4	grs	 3  8 11  6	7	-4 +1 +4 -1	 4	 1	1	4	135	225	0.25	14.036	75.964	210.964	2.344
5	grn	 3 11 13  5	8	-5 +3 +5 -3	 5	 3	3	5	135	225	0.6	30.964	59.036	194.036	2.156
6	yel	 9 11 15 13	12	-3 -1 +3 +1	 3	-1	3	1	225	315	3	71.565	18.435	243.435	2.705
7	wht	13 13 13 13	13	 0  0  0  0	 0	 0	0	0	-	-	-	-	-	-	-
8	gry	 9  9  9  9	9	 0  0  0  0	 0	 0	0	0	-	-	-	-	-	-	-
9	cyn	 8 13 12  7	10	-2 +3 +2 -3	 2	 3	3	2	135	225	1.5	56.310	33.690	168.690	1.874
10	org	 9  4  9 14	9	 0 -5  0 +5	 0	-5	0	5	225	315	0	0	90	315	3.5
11	brn	 4  4  8  8	6	-2 -2 +2 +2	 2	-2	2	2	225	315	1	45	45	270	3
12	mag	13  5  3 11	8	+5 -3 -5 +3	-5	-3	3	5	315	45	0.6	30.964	59.036	14.036	0.156
13	ltb	12 12  6  6	9	+3 +3 -3 -3	-3	 3	3	3	45	135	1	45	45	90	1
14	ylg	 5  9 13  9	9	-4  0 +4  0	 4	 0	4	0	225	315	inf	90	0	225	2.5
15	pur	10  5  2  7	6	+4 -1 -4 +1	-4	-1	1	4	315	45	0.25	14.036	75.964	30.964	0.344


RGB conversion requires converting YIQ representation to RGB, though theoretically phase, amplitude, and base level could also be converted

Y = base level / 15
I = -(2 * delta2) * (0.5957 / 15)
Q = -(2 * delta1) * (0.5226 / 15)

ER' = EY' + 0.9469 * EI' + 0.6236 * EQ'

EG' = EY' - 0.2748 * EI' - 0.6357 * EQ'

EB' = EY' - 1.1 * EI' + 1.7 * EQ'

gamma = 2.2

ER = ER' ^ gamma
EG = EG' ^ gamma
EB = EB' ^ gamma

color	name	Y	I		Q		ER'			EG'			EB'			ER'	EG'	EB'		ER	EG	EB (clamped)	R	G	B
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0	blk	0.2	 0		 0		0.2			0.2			0.2			0.2	0.2	 0.2		0.029	0.029	0.029		  7	  7	  7
1	blu	0.47	-0.4768		 0.1395		0.47-0.4515+0.0870	0.47+0.1310-0.0887	0.47+0.5244+0.2372	0.1055	0.5123	 1.2316		0.0071	0.2296	1		  2	 59	255
2	red	0.4	 0.4768		 0.1395		0.4+0.4515+0.0870	0.4-0.1310-0.0887	0.4-0.5244+0.2372	0.9385	0.1803	 0.1128		0.8697	0.0231	0.0082		222	  6	  2
3	tan	0.53	 0.3179		-0.2789		0.53+0.3010-0.1739	0.53-0.0874+0.1773	0.53-0.3497-0.4741	0.6571	0.6199	-0.2938		0.397	0.3492	0		101	 89	  0
4	grs	0.47	-0.0795		-0.2789		0.47-0.0753-0.1739	0.47+0.0218+0.1773	0.47+0.0875-0.4741	0.2208	0.6691	 0.0834		0.036	0.4131	0.0042		  9	105	  1
5	grn	0.53	 0.2384		-0.3487		0.53+0.2257-0.2174	0.53-0.0655+0.2174	0.53-0.2622-0.5928	0.5383	0.6819	-0.325		0.256	0.4307	0		 65	110	  0
6	yel	0.8	 0.0795		-0.1045		0.8+0.0753-0.0652	0.8-0.0218+0.0664	0.8-0.0875-0.1777	0.8101	0.8446	 0.5348		0.6922	0.6897	0.2523		177	176	 64
7	wht	0.87	 0		 0		0.87			0.87			0.87			0.87	0.87	 0.87		0.7361	0.7361	0.7361		188	188	188
8	gry	0.6	 0		 0		0.6			0.6			0.6			0.6	0.6	 0.6		0.325	0.325	0.325		 83	 83	 83
9	cyn	0.67	-0.2384		-0.1395		0.67-0.2257-0.0870	0.67+0.0655+0.0887	0.67+0.2622-0.2372	0.3573	0.8242	 0.695		0.1039	0.6535	0.4491		 26	167	115
10	org	0.6	 0.3973		 0		0.6+0.3762		0.6-0.1092		0.6-0.4370		0.9762	0.4908	 0.163		0.9484	0.2089	0.0185		242	 53	  5
11	brn	0.4	 0.1589		-0.1395		0.4+0.1505-0.0870	0.4-0.0437+0.0887	0.4-0.1748-0.2372	0.4635	0.445	-0.012		0.1842	0.1684	0		 47	 43	  0
12	mag	0.53	 0.2384		 0.3487		0.53+0.2257+0.2174	0.53-0.0655-0.2174	0.53-0.2622+0.5928	0.9731	0.2471	 0.8606		0.9418	0.0462	0.7187		240	 12	183
13	ltb	0.6	-0.2384		 0.2092		0.6-0.2257+0.1305	0.6+0.0655-0.1330	0.6+0.2622+0.3556	0.5048	0.5325	 1.2178		0.2223	0.25	1		 57	 64	255
14	ylg	0.6	 0		-0.2789		0.6-0.1739		0.6+0.1773		0.6-0.4741		0.4261	0.7773	 0.1259		0.1531	0.5745	0.0105		 39	146	  3
15	pur	0.4	 0.0795		 0.2789		0.4+0.0753+0.1739	0.4-0.0218-0.1773	0.4-0.0875+0.4741	0.6492	0.2009	 0.7866		0.3866	0.0293	0.5897		 99	  7	150
Link to comment
Share on other sites

I should point out some additional resources:

Link to comment
Share on other sites

A-ha!!!!

 

Something I did many months ago was to drive an 8915 all by itself with just an Arduino. I was getting different timeslice values than the datasheet. It left me scratching my head, and while I recorded what I saw I chalked it up to perhaps the fact that I was driving it much slower than the crystal frequency it was expecting. And guess what values I was seeing...

 

Now I know I wasn't seeing things. Thanks for that!

Link to comment
Share on other sites

I plugged the internal Mattel numbers into Excel and the colors look pretty good except for Brown. Their doc has 9, 9, 5, 5, which gives a dark blue. Changing it to 5, 5, 9, 9 gives the expected result. The typo results in a color that is 180 degrees out of phase.

Index	Name	+Q	-I	-Q	+I	Avg. Q	Avg. I	Base	Delta1	Delta2	EY'	EI'	EQ'	ER'	EG'	EB'	ER	EG	EB	R	G	B	Color
0	blk	4	4	4	4	4	4	4	0	0	0.2667	0	0	0.2667	0.2667	0.2667	0.0546	0.0546	0.0546	14	14	14	#0E0E0E
1	blu	8	12	7	1	7.5	6.5	7	0	5	0.4667	-0.3971	0	0.0906	0.5758	0.9035	0.0051	0.2969	0.7999	1	76	204	#014CCC
2	red	10	4	7	14	8.5	9	8.75	-1.75	-4.75	0.5833	0.3773	0.1219	1.0166	0.4021	0.3756	1	0.1348	0.116	255	34	30	#FF221E
3	tan	10	8	12	12	11	10	10.5	1.5	-2.5	0.7	0.1986	-0.1045	0.8228	0.7119	0.3039	0.6512	0.4735	0.0728	166	121	19	#A67913
4	grs	3	9	12	7	7.5	8	7.75	4.25	1.25	0.5167	-0.0993	-0.2961	0.238	0.7322	0.1224	0.0425	0.5037	0.0098	11	128	3	#0B8003
5	grn	5	11	13	8	9	9.5	9.25	3.75	1.75	0.6167	-0.139	-0.2613	0.3221	0.821	0.3254	0.0827	0.6479	0.0846	21	165	22	#15A516
6	yel	10	7	15	15	12.5	11	11.75	3.25	-4.75	0.7833	0.3773	-0.2265	0.9994	0.8236	-0.0167	0.9986	0.6525	0	255	166	0	#FFA600
7	wht	13	13	13	13	13	13	13	0	0	0.8667	0	0	0.8667	0.8667	0.8667	0.7299	0.7299	0.7299	186	186	186	#BABABA
8	gry	9	9	9	9	9	9	9	0	0	0.6	0	0	0.6	0.6	0.6	0.325	0.325	0.325	83	83	83	#535353
9	cyn	8	13	12	7	10	10	10	2	3	0.6667	-0.2383	-0.1394	0.3541	0.8207	0.6919	0.1019	0.6475	0.4447	26	165	113	#1AA571
10	org	10	6	11	14	10.5	10	10.25	0.75	-4.25	0.6833	0.3376	-0.0523	0.9704	0.6238	0.2232	0.936	0.3541	0.0369	239	90	9	#EF5A09
11	brn	5	5	9	9	7	7	7	2	-2	0.4667	0.159	-0.1394	0.5302	0.5116	0.055	0.2476	0.2289	0.0017	63	58	0	#3F3A00
12	mag	14	6	4	12	9	9	9	-5	-3	0.6	0.2383	0.3484	1.0429	0.313	0.9302	1	0.0777	0.8528	255	20	217	#FF14D9
13	ltb	13	13	7	7	10	10	10	-3	3	0.6667	-0.2383	0.209	0.5714	0.5993	1.2841	0.2919	0.3242	1	74	83	255	#4A53FF
14	ylg	6	10	14	11	10	10.5	10.25	3.75	-0.25	0.6833	0.0199	-0.261	0.5392	0.844	0.2173	0.2569	0.6886	0.0348	66	176	9	#42B009
15	prp	12	7	4	9	8	8	8	-4	-1	0.5333	0.0794	0.2787	0.7824	0.3343	0.9198	0.5828	0.0898	0.832	149	23	212	#9517D4

Edited by JohnPCAE
Link to comment
Share on other sites

I'm finding that fiddling with how EY' is determined has a large effect on the quality of the colors produced. In my calculations, it's nothing more than a rescaled Base vale. The above table calculates EY' = base / 15, presuming that a maximum signal from the color chip corresponds to the maximum voltage in composite video. However, video is actually more complex than that and allows for "brighter-than-white" signals; it places "reference white" at a voltage level below the allowed maximum. Rescaling EY' as base / 13 (which matches the four timeslice values of white) gives much more pleasing results for all colors, especially yellow.

0	blk	4	4	4	4	4	4	4	0	0	0.3077	0.0000	0.0000	0.3077	0.3077	0.3077	0.0748	0.0748	0.0748	19	19	19	#131313
1	blu	8	12	7	1	7.5	6.5	7	0	5	0.5385	-0.3971	0.0000	0.1624	0.6476	0.9753	0.0183	0.3845	0.9465	5	98	241	#0562F1
2	red	10	4	7	14	8.5	9	8.75	-1.75	-4.75	0.6731	0.3773	0.1219	1.1064	0.4919	0.4654	1.0000	0.2099	0.1858	255	54	47	#FF362F
3	tan	10	8	12	12	11	10	10.5	1.5	-2.5	0.8077	0.1986	-0.1045	0.9305	0.8196	0.4116	0.8535	0.6455	0.1418	218	165	36	#DAA524
4	grs	3	9	12	7	7.5	8	7.75	4.25	1.25	0.5962	-0.0993	-0.2961	0.3175	0.8117	0.2019	0.0801	0.6319	0.0296	20	161	8	#14A108
5	grn	5	11	13	8	9	9.5	9.25	3.75	1.75	0.7115	-0.1390	-0.2613	0.4170	0.9158	0.4202	0.1460	0.8242	0.1485	37	210	38	#25D226
6	yel	10	7	15	15	12.5	11	11.75	3.25	-4.75	0.9038	0.3773	-0.2265	1.1199	0.9441	0.1039	1.0000	0.8812	0.0069	255	225	2	#FFE102
7	wht	13	13	13	13	13	13	13	0	0	1.0000	0.0000	0.0000	1.0000	1.0000	1.0000	1.0000	1.0000	1.0000	255	255	255	#FFFFFF
8	gry	9	9	9	9	9	9	9	0	0	0.6923	0.0000	0.0000	0.6923	0.6923	0.6923	0.4453	0.4453	0.4453	114	114	114	#727272
9	cyn	8	13	12	7	10	10	10	2	3	0.7692	-0.2383	-0.1394	0.4567	0.9233	0.7944	0.1783	0.8390	0.6027	45	214	154	#2DD69A
10	org	10	6	11	14	10.5	10	10.25	0.75	-4.25	0.7885	0.3376	-0.0523	1.0755	0.7289	0.3283	1.0000	0.4988	0.0863	255	127	22	#FF7F16
11	brn	5	5	9	9	7	7	7	2	-2	0.5385	0.1589	-0.1394	0.6020	0.5834	0.1268	0.3274	0.3056	0.0106	83	78	3	#534E03
12	mag	14	6	4	12	9	9	9	-5	-3	0.6923	0.2383	0.3484	1.1352	0.4054	1.0225	1.0000	0.1372	1.0000	255	35	255	#FF23FF
13	ltb	13	13	7	7	10	10	10	-3	3	0.7692	-0.2383	0.2090	0.6740	0.7018	1.3867	0.4198	0.4589	1.0000	107	117	255	#6B75FF
14	ylg	6	10	14	11	10	10.5	10.25	3.75	-0.25	0.7885	0.0199	-0.2613	0.6443	0.9491	0.3224	0.3802	0.8915	0.0829	97	227	21	#61E315
15	prp	12	7	4	9	8	8	8	-4	-1	0.6154	0.0794	0.2787	0.8644	0.4164	1.0018	0.7257	0.1455	1.0000	185	37	255	#B925FF

  • Like 1
Link to comment
Share on other sites

  • 4 years later...
On 4/27/2018 at 7:38 PM, JohnPCAE said:

I plugged the internal Mattel numbers into Excel and the colors look pretty good except for Brown. Their doc has 9, 9, 5, 5, which gives a dark blue. Changing it to 5, 5, 9, 9 gives the expected result. The typo results in a color that is 180 degrees out of phase.

Those "internal Mattel numbers" were from a set of updated specifications prepared three years into the project that Harrower was under pressure to generate quickly so they could be used as addenda to a contract renewal. Up until that point everyone involved was working with preliminary specifications with handwritten corrections. As long as the chipsets worked, nobody cared that the paperwork hadn't caught up. This particular error went undetected until APh stumbled across it a few months later in the course of designing STIC 1b. Even then it was taken in stride—no big deal. No chipsets were returned for not meeting this particular spec.

 

On 4/25/2018 at 1:55 AM, JohnPCAE said:
For each color, there is a hypothetical sine wave with a given amplitude and phase.
The 4 timeslice values are sample points on this hypothetical sine wave.

You'd think so, right? If that were true color number 11, for example, with sample points of 5-5-9-9, would have a low going minimum of 4.2 between the two fives and a peak of 9.8 between the two nines. That's not quite what's observed. Instead, the square wave generated by the 5-5-9-9 color chip values has its transitional edges filtered off to such an extent that the resulting signal actually delivered to the TV set color circuitry is a pretty clean sine wave with a minimum of 4.5 and a peak of 9.5. So if you attempt to recreate that particular color based on your sampling notion your hue will be right but your color will be a bit too saturated. For colors whose signal is not a symmetric square wave your hue will be a bit off too. Instead, you need to find the amplitude and phase of the fundamental using Fourier analysis.

 

On 4/26/2018 at 9:29 PM, intvnut said:

Page 96 of this PDF provides the alternate I/Q values I mentioned (from the AY-3-8915 color processor): http://papaintellivision.com/pdfs/CCF10232011_00012.pdf

I should explain Harrower and Maine's justification for labeling those columns I and Q. As JohnPCAE recognized in one of his posts, the center of each of the time slices is an odd multiple of 45 degrees. For NTSC the Q-I axes are rotated 33 degrees with respect to the color burst phase. To an approximation, 45 degrees ≈ 33 degrees. As a result, the center of each of the time slices aligns approximately with the Q-I axes—it's only 12 degrees off. That turns out to be quite a good approximation here because the error is roughly proportional to the cosine of the difference of the two angles. Here, cos (45°-33°) = cos (12°) = 0.978, which is very close to 1. The amplitude of the Q and I components of the color carrier are therefore, to a good approximation, one half of the difference between Q and –Q and I and –I values in the table, multiplied by 10 IRE. A more precise analysis is more than I can do in my head and so beyond the scope of this post.

 

On 4/27/2018 at 8:38 PM, JohnPCAE said:

I'm finding that fiddling with how EY' is determined has a large effect on the quality of the colors produced. In my calculations, it's nothing more than a rescaled Base vale. The above table calculates EY' = base / 15, presuming that a maximum signal from the color chip corresponds to the maximum voltage in composite video. However, video is actually more complex than that and allows for "brighter-than-white" signals; it places "reference white" at a voltage level below the allowed maximum. Rescaling EY' as base / 13 (which matches the four timeslice values of white) gives much more pleasing results for all colors, especially yellow.

This is a great piece of work. A couple of observations.

Gamma correction for the vidicon tube is performed in the camera before the YIQ values are generated; gamma correction for the screen is done after the RGB values are reconstructed. You should accordingly remove the gamma correction calculation from your spreadsheet. If you leave it in to adjust for the fact that different manufacturers may gamma correct differently, a gamma factor of 2.2 is far too severe.

Black level (0 IRE) is at 4, not zero. The zero in the table is sync level (-40 IRE), which television engineers call "blacker-than-black." You should change your scaling to match. Your recognition that the white level (100 IRE) is 13 is correct.

The graphical nature of videogames makes it desirable to use highly saturated colors. Some of the waveforms the spreadsheet computes are so saturated as to be "illegal," in the sense that the recovery transformation matrix generates ER, EG and EB values that are not in the range 0-1 volt. Your spreadsheet clips these waveforms, which could be a source of discrepancies.

You appear to recognize that the amplitude and phase of the color carrier is of the form

                E = ASATURATION cos (ωt + 180° + φHUE),

where the 180° is the phase of the reference color burst. What you may not recognize is that trigonometric identities can be used to decompose that signal into two quadrature components,

                E = A cos (ωt + 180°) = I sin (ωt + 33° + φHUE) + Q cos (ωt + 33° + φHUE)

The word quadrature just means that the two components are 90° apart, which is why the I term uses sine and the Q term cosine. NTSC uses axes that are rotated by 33° to match the sensitivities of the eye. The four columns of color table coefficients represent the decomposition of the signal into these components, that's why they're labeled "+Q, "-I", "-Q" and "+I." However, that labeling is not quite right—as you recognized, the center of each segment of the color signal is rotated at an angle of an odd integer multiple of 45° with respect to the phase of the color carrier, not 33°.

One can nevertheless get recognizably good results by taking the I-Q values in the table at face value. I've attached a spreadsheet that does that. The spreadsheet uses Visual Basic code to display the computed colors next to their hex values. Since you can't be assured I'm not a Russian hacker, I'd recommend downloading it on someone else's computer if you want to try it out. image.thumb.png.de9183eee79dd1e951b25a2d1d21c7d6.png

Colors.z1.xls

[Just joking—you can safely download the file and enable the macros, I promise they don't contain anything nasty. Really. Honest. Cross my heart.]

For fun I've added Luminance (Brightness), Saturation (Color) and Hue (Tint) controls. If you bring the luminance and saturation down the various oversaturated colors move toward the "legal" video range. A color is legal iff the ER, EG and EB values are all between 0 and 1. You can use that to judge how the resulting colors appear a darkened room, under viewing conditions similar to those back in the day. If you take the saturation all the way down to zero you will get a 100% legal black-and-white image. Note that I set the luminance to 0.9 in the image of the spreadsheet posted here. Among other things, this means that white is not #FFFFFF. This allows the TV's red gun to send more electrons to the screen for fully saturated red than it does for white--that is a good thing.

The calculated colors seemed oversaturated to me, so I set the color control/saturation to 0.9 too. That may still be a bit on the high side.

I've left the Hue adjustment at zero. Notice that since the computed values are based on a 45° rotation rather than a 33° rotation there is already a 12° Hue adjustment implicit in the computation.

If you like any of the palettes this spreadsheet produces, I suppose it would be OK to use it for an emulated game on the grounds that you could have adjusted your TV to get something close.

I made bars of the colors above that I could view full screen. Here they are:image.png.99a81300206052c32cfcf9d5a35cef85.png

As I said, this model yields recognizably good results. For your purposes you may want to do better. Your notions that the values in the table are sample points of an underlying waveform and that the phase of the signal can be located using the slope of the line between the table values are not quite right and won't get you better results than taking the I-Q coefficients in the table at face value as I've described here. To do better, you'll want to make the acquaintance of M. Jean-Baptiste Joseph Fourier d'Auxerre.

The Intellivision color chip generates a repetitive waveform where each cycle is made of four equally spaced quantized values. Any repetitive waveform may be decomposed into a fundamental plus harmonics.

                E = A sin (ωt + φ) + B sin (2ωt + β) + C sin (3ωt + γ) + …

The first term, sometimes referred to as the ωt term, is the fundamental, the higher frequency terms are the harmonics. For NTSC ω/2π=3.58 MHz and the higher level harmonics are 7.16 MHz, 10.74 MHz and up. The filters in the RF modulator will aggressively limit the bandwidth of the total video signal to 4.1 MHz and so will COMPLETELY kill off all of the higher harmonics—otherwise no FCC certification. This reduces your problem to finding the amplitudes and phases of the fundamental of those funny-shaped rectangular pulse trains the color chip generates. It is critical to recognize that the amplitude and phase of this fundamental is not the same as the amplitude and phase of the waveform that samples in the way you described earlier—that contributes to you're not being satisfied with your results.

Fortunately for you, "Fourier analysis can be applied to any repetitive waveform to determine its harmonic composition." In this particular case your luck is extraordinary: the output of the color chip can be decomposed into "pulse trains" rectangular pulses, and the Fourier components such trains can be computed analytically and then combined using trig identities.

See https://mathworld.wolfram.com/FourierSeriesSquareWave.html

That page not only outlines the method, it practically gives the answer for our brown and light blue. In particular,

                EBROWN = 3 - 2.546 sin (ωt)

                ELT BLUE = 6 + 3.820 sin (ωt)

Using trig identities to decompose these into I and Q along the actual 33° rotated quadrature axes we get

                EBROWN = 3 + I sin (ωt + 33°) + Q cos (ωt + 33°)

                ELT BLUE = 6 + I sin (ωt + 33°) + Q cos (ωt + 33°)

It's easy enough to incorporate these results into the spreadsheet, but I'll leave that to you since this project is already getting more involved than I intended. The other colors are a little more complicated, but not much.

I mentioned previously that the computed saturation values seemed on the high side. Looking over the schematic I note that the 200 pf capacitor in the D-A circuit (C3) seems large enough to both materially attenuate the amplitude of the color carrier and affect the linearity of the D-A. You can verify that easily enough by looking at test point 1 with a waveform monitor with the capacitor both in and out of the circuit. The circuit is a simple low-pass RC filter, or more precisely a linear combination of four such filters, so it's straightforward to calculate the magnitude of the attenuation. Don't forget that RC filters introduce a frequency dependent phase shift of A(ω)=A0/(1+jωRC) and that the modulator is a current source.

I suspect that if you do all of the above you will be content with your result. If the discrepancy is still too great for your discerning taste you may wish to additionally account for stray capacitance, for the fact that the 7.16 MHz clock is not perfectly symmetric, for the fact that the rise and fall times of the color chip outputs are not symmetric and for the input characteristics of the modulator.

Have fun and post your results.

Whatever you do, don't let a penchant for color accuracy distract you from the fact that the purpose of the Intellivision was to let the user have fun at a price he could (just barely) afford. To that end, pick pleasing approximations of the colors for your games, resting secure in the knowledge that 12-year olds would have adjusted the controls on their TV sets to do the same. Being truly "authentic" would mean banning all of those RGB mods afficianados are using, making emulators reproduce the bleed of every color transition and playing the games on old vacuum tube sets like the ones your grandparents (or parents) replaced and banished to your parent's (or your) bedrooms. Nobody seems to want to go that far.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

On 12/3/2022 at 7:10 AM, Walter Ives said:

Whatever you do, don't let a penchant for color accuracy distract you from the fact that the purpose of the Intellivision was to let the user have fun at a price he could (just barely) afford. To that end, pick pleasing approximations of the colors for your games, resting secure in the knowledge that 12-year olds would have adjusted the controls on their TV sets to do the same. Being truly "authentic" would mean banning all of those RGB mods afficianados are using, making emulators reproduce the bleed of every color transition and playing the games on old vacuum tube sets like the ones your grandparents (or parents) replaced and banished to your parent's (or your) bedrooms. Nobody seems to want to go that far.

Actually since this post was made. @Tempest actually has an RGB upgrade installed into his Intellivision now although it is an older RGB solution that has a better replacement this days.

 

Link to comment
Share on other sites

  • 5 months later...
On 12/3/2022 at 5:10 AM, Walter Ives said:

Since you can't be assured I'm not a Russian hacker, I'd recommend downloading it on someone else's computer if you want to try it out. image.thumb.png.de9183eee79dd1e951b25a2d1d21c7d6.png

 

 

 

Colors.z1.xls

[Just joking—you can safely download the file and enable the macros, I promise they don't contain anything nasty. Really. Honest. Cross my heart.]

For what it's worth, I had a friend check out the file and he found the macros harmless. But I'm a lurker who none of you know, so you shouldn't trust me either. I thought the file was pretty interesting and liked playing with the values to see the colors change. Maybe someone with some credibility on this site can look at it and verify for the rest that the macros are ok.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...