Re: VIC-II and luma levels

From: Segher Boessenkool <segher_at_kernel.crashing.org>
Date: Fri, 13 Jan 2012 16:00:07 +0100
Message-Id: <A7B896B9-BFCE-4776-A706-B57A2152CC8A@kernel.crashing.org>
> I know there is a major difference in the PAL version of the VIC-II  
> between the 6569R1 and all later versions. The R1 is only able to  
> do 5 luma levels (1-4-6-4-1 number of colors per level) for the 16  
> colors while the later versions are able to do 9 luma levels  
> (1-2-2-2-2-2-2-2-1). Some demos look quite odd on the R1.

The LUM signal has an external pullup; everything inside the VIC-II
does pulldown only.

There is a pulldown straight to zero, for the equalisation pulses,
and one via a small resistor for black.

The other colours are formed via three resistors; white doesn't switch
any of them in, and on the 6569R1 all other colours switch in one of
the three resistors (which have sizes roughly 1:2:4, with the smallest
one about twice times the size of the "black" resistor.  All these  
resistors
are implemented as diffusion, so not quite variable values across  
chips).

On the 8565R2, and presumably every 6569 after R1, more than one of  
these
three resistors can be switched on at the same time.  On the 6569R1 this
is not done.  This is merely a change in a ROM.

The 8565R2 has the smallest "colour" resistor four times the size of the
"black" resistor.

I suppose this all works the same on the NTSC version of the chips; the
differences are the timing ROMs and the flip-polarity-in-the-colour- 
burst
thing for PAL, everything else should work the same as far as I can see.
But I don't have die photographs for any of the NTSC chips, so who  
knows :-)

> I know there were timing changes between revisions in the NTSC  
> versions of the VIC-II (6567), but were there also changes with the  
> luma levels? And how many levels does a 6567 have?
>
> It's easy enough to check with a little BASIC program and some time  
> to sort the colors into the right sequence. Then turn down the color.

The newer chips supposedly are nine levels, just like PAL; but indeed,
when did they change from five?


Segher


p.s.  Tables!

R0 is the "black" resistor; R1,R2,R4 are the "colour" resistors (R4
the biggest).  The external pullup is about 400 Ohm.  For the five-
level, to get the palette linear you need R0=200 R1=400 R2=800 R4=2000.
Taking R4=1600 instead gives 0.7 instead of 0.75 for yellow.

0       0
62b9    0.25 = 1/4
ea45c8  0.50 = 1/2
d3f7    0.75 = 3/4  or  0.70 = 7/10
1       1

The nine-level is harder.  I took R0=120 R1=480 R2=960 R4=1920
and get:

0   0
69  0.23 = 27/118
2b  0.28 = 5/18
48  0.34 = 33/98
ec  0.41 = 9/22
a5  0.50 = 1/2
3f  0.62 = 21/34
d7  0.78 = 45/58
1   1

Taking R0=100 R1=400 R2=800 R4=1600 gives:

0   0
69  0.20 = 9/44
2b  0.20 = 1/5
48  0.31 = 11/36
ec  0.38 = 3/8
a5  0.46 = 13/28
3f  0.58 = 7/12
d7  0.75 = 3/4
1   1

Taking R0=100 R1=400 R2=800 R4=2000 gives:

0   0
69  0.21 = 23/108
2b  0.20 = 1/5
48  0.32 = 7/22
ec  0.38 = 3/8
a5  0.49 = 33/68
3f  0.58 = 7/12
d7  0.79 = 19/24
1   1

Taking R0=200 R1=400 R2=800 R4=1600 gives:

0   0
69  0.05 = 1/22
2b  0.10 = 1/10
48  0.17 = 1/6
ec  0.25 = 1/4
a5  0.36 = 5/14
3f  0.50 = 1/2
d7  0.70 = 7/10
1   1

Taking R0=200 R1=400 R2=800 R4=2000 gives:

0   0
69  0.06 = 1/18
2b  0.10 = 1/10
48  0.18 = 2/11
ec  0.25 = 1/4
a5  0.38 = 13/34
3f  0.50 = 1/2
d7  0.75 = 3/4
1   1


So, keeping either of the two suggested five-level sets of
resistors ends up with much too dark colours, and changing
the "black" resistor to one half the size (curiously, the
6569R1 has the metal layer for that already) has blue and red
much too close together (or even the wrong way around!)

So I guess all the resistor values were retuned when they
went to nine-level.


If anyone want to play: the relative brightness is

(R-R0)/(R+E)

with R the resistance switched in (some combo of R1,R2,R4
in parallel, or R0, or infinite), and E the external load
(about 400 Ohm).

       Message was sent through the cbm-hackers mailing list
Received on 2012-01-13 15:00:05

Archive generated by hypermail 2.2.0.