• #### Translate Video Signal to Degrees for NTSC Monitor

From Exalted Being@21:1/5 to All on Tue Oct 12 16:53:17 2021
The Apple II's video circuit outputs the picture signal to NTSC monitor. The picture signal contains the binary data to be translated into 16 colors. NTSC's chroma wheel has 8 hues and 4 phases.

How can degrees be determined from the group of 4 bits below?

Low Brightness
1000 = 0 degrees
0100 = 90 degrees
0010 = 180 degrees
0001 = 270 degrees

High Brightness
1101 = 0 degrees
1110 = 90 degrees
0111 = 180 degrees
1011 = 270 degrees

Medium Brightness
1100 = 45 degrees
0110 = 135 degrees
0011 = 225 degrees
1001 = 315 degrees

If I increase from group of 4 bits to group of 6 bits to support 64 colors like Nintendo NES, the master OSC 21,477,270 MHz chip will be used for NTSC monitor.

NTSC's chroma wheel has 12 hues and 6 phases.

How can group of 6 bits be interpreted into degrees? Please fill the degrees when "? degrees" are shown in the bottom of group of 6 bits.

100000 = 0 degrees
010000 = 60 degrees
001000 = 120 degrees
000100 = 180 degrees
000010 = 240 degrees
000001 = 300 degrees

110000 = 30 degrees
011000 = 90 degrees
001100 = 150 degrees
000110 = 210 degrees
000011 = 270 degrees
100001 = 330 degrees

110001 = 0 degrees
111000 = 60 degrees
011100 = 120 degrees
001110 = 180 degrees
000111 = 240 degrees
100011 = 300 degrees

010001 = ? degrees
101000 = ? degrees
010100 = ? degrees
001010 = ? degrees
000101 = ? degrees
100010 = ? degrees

Thanks,
EB

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From awanderin@21:1/5 to All on Tue Oct 12 19:28:26 2021
Exalted Being <bparkoff@gmail.com> writes:

I've played around with simulating the NTSC presentation of the input
signal, but rather than try to use a lookup table, I used signal
processing with digital filters for the luminance and chrominance
components of the signal. It looked pretty realistic, and I could also
"turn" the hue, saturation, brightness, and contrast knobs, just like
you would have on an old-days television set.

From what I remember, in order to make a proper lookup table, I think I
would have needed about a 10 or 11 stage bit-string (pixel string?).
This was due to the low bandwidth of the chroma filter (something like
0.5 MHz), and so the effect of adjacent pixels is "felt" for quite a few pixels.

I'm not sure how I would try to interpret the groups of six bits below.
I think you're going to have to do some calculations.

The book, Video Demystified, discusses the NTSC encoding and decoding
process fairly clearly. Any edition of it will do. I have the third
edition. An old edition can probably be found for a low price.

The way I observed the "long"-lasting effect of one pixel on others, and
this might be wrong, but it seemed to me that both preceding and
following pixels had an effect on the color of the pixel.

I'm not sure of the state of my old code, otherwise I'd share it.

Probably the quickest thing for me to do would be to hook up a IIe to an
old NTSC color monitor I have and play around with bit patterns...

The Apple II's video circuit outputs the picture signal to NTSC monitor. The picture
signal contains the binary data to be translated into 16 colors. NTSC's chroma wheel has 8
hues and 4 phases.

How can degrees be determined from the group of 4 bits below?

Low Brightness
1000 = 0 degrees
0100 = 90 degrees
0010 = 180 degrees
0001 = 270 degrees

High Brightness
1101 = 0 degrees
1110 = 90 degrees
0111 = 180 degrees
1011 = 270 degrees

Medium Brightness
1100 = 45 degrees
0110 = 135 degrees
0011 = 225 degrees
1001 = 315 degrees

If I increase from group of 4 bits to group of 6 bits to support 64 colors like Nintendo
NES, the master OSC 21,477,270 MHz chip will be used for NTSC monitor.

NTSC's chroma wheel has 12 hues and 6 phases.

How can group of 6 bits be interpreted into degrees? Please fill the degrees when "?
degrees" are shown in the bottom of group of 6 bits.

100000 = 0 degrees
010000 = 60 degrees
001000 = 120 degrees
000100 = 180 degrees
000010 = 240 degrees
000001 = 300 degrees

110000 = 30 degrees
011000 = 90 degrees
001100 = 150 degrees
000110 = 210 degrees
000011 = 270 degrees
100001 = 330 degrees

110001 = 0 degrees
111000 = 60 degrees
011100 = 120 degrees
001110 = 180 degrees
000111 = 240 degrees
100011 = 300 degrees

010001 = ? degrees
101000 = ? degrees
010100 = ? degrees
001010 = ? degrees
000101 = ? degrees
100010 = ? degrees

Thanks,
EB

--
--
Jerry awanderin at gmail dot com

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)