Jump to content
Sign in to follow this  
Omega-TI

The 9918 "Rainbow Effect"

Recommended Posts

I've been playing around with my beige system and really notice the pronounced "rainbow effect" put out by the 9918.  Back in the old CRT days I just thought it was because of the display technology, but it shows up on a modern flat screen too.  Ahh the good old days!  ;)

 

 

RAINBOW.thumb.GIF.1089e7be78c2a6d4dab8778c4024e729.GIF

 

 

  • Like 2

Share this post


Link to post
Share on other sites

From my reading, this is caused by some interesting characteristics of the NTSC composite signal.  The artifacts are mentioned in some article I read a while back in which NTSC was referred to as "Never The Same Color" when discussing how the Apple makes a video signal from nothing more than TTL gates and RAM.  It has been called that in this forum, as well.

 

Anyone have some deep eye-glazing technical information to share?

  • Thanks 1

Share this post


Link to post
Share on other sites

I've heard it referred to as "Never Twice Same Color". Didn't you US guys have a knob on the side of the TV to adjust the colour as colour shifts are really noticeable on skin tones?

 

Never a problem for us Brits with PAL, as the phase reversal of the signal every other line cancels out any errors. It was (is) rather clever how the engineers overlaid the colour information on the black and white signal so that black and white receivers continued to work with the colour signal.

  • Like 2

Share this post


Link to post
Share on other sites

Confirming, this was never happening on any of the PAL machines. I was amazed seeing Parsec and this effect the first time on a NTSC console. Knowning this as a game developer you might even intentially make use of this rainbow effect in your games.

 

On PAL you could consider the timing off. 50 frames per second instead of 60 frames. Most games are running a bit slower allowing you to react quicker. This was not just a TI-99 phenomen, same for the Nintendo NES or Sonic on the Genesis.

 

Is there any way to calculate the occurence of this effect? Knowning this would allow programmers use the effect, and would allow Developers of Emulators to add the effect as a Feature.

It is not happening on the F18A vdp, so is it a result of using a NTSC composite signal? It is not related to the Tms9918 as such or?

Share this post


Link to post
Share on other sites

Talking video signal or monitor effects. There is a large group of people highly interested in experiencing their video games with scanlines. This is happening on all tube displays and due to interlacing. This was very enjoyful on the arcade monitors, on the televisions and analog monitors at home. The better the quality of the display the better your sprites showed their individual scanlines.

There is a hype after Sony PVM or even Sony BVM that were used as Professional Video Monitor or even Broadcast Video Monitor. Those have to fullfill higher standards than Consumer TVs. Super expensive back in the days, now the best way to experience your pre-hdmi video games.

Modern displays are huge and colorful but lack this feature. And it is its own science how each console needs to be modded in order to produce the best possible video signal.

Share this post


Link to post
Share on other sites

Klaus, you can nicely see the performance effect of 50Hz/60Hz when you choose the drivers ti99_4a vs. ti99_4ae in MAME*. I confirm that I never knew what people talked about with this "rainbow" effect, since it was not visible on PAL. MAME contains a lot of BGFX filters; I don't know whether one of these tries to mimic the NTSC color issue.

 

*Concerning Parsec, this difference is so obvious that I get about 1/3 points less with 60Hz; also, in 60 Hz, the three lifts actually make sense, while I never had a use for lift 2 in 50 Hz.

 

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, mizapf said:

Klaus, you can nicely see the performance effect of 50Hz/60Hz when you choose the drivers ti99_4a vs. ti99_4ae in MAME*. I confirm that I never knew what people talked about with this "rainbow" effect, since it was not visible on PAL. MAME contains a lot of BGFX filters; I don't know whether one of these tries to mimic the NTSC color issue.

 

*Concerning Parsec, this difference is so obvious that I get about 1/3 points less with 60Hz; also, in 60 Hz, the three lifts actually make sense, while I never had a use for lift 2 in 50 Hz.

 

Confirmed, when I was a teen I wondered why in the hell the Parsec's programmer had implemented that useless "lift 2" 🙂

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, Stuart said:

I've heard it referred to as "Never Twice Same Color". Didn't you US guys have a knob on the side of the TV to adjust the colour as colour shifts are really noticeable on skin tones?

Maybe @atrax27407 is right and I am going senile.  We have both color and hue/tint adjustments on most CRTs.

 

3 hours ago, kl99 said:

There is a large group of people highly interested in experiencing their video games with scanlines.

I hate the artificial scan-line effects.  I would much rather have the proper anti-aliasing or "half-pixel," as Nintendo called them, effects.

 

1 hour ago, pixelpedant said:

Composite "artifact colours" are definitely an entertaining subject.  Here's a delightful article on use of artifact colours (and other things) to fake a 1024 colour palette in (16 colour) CGA.

The "8088MPH" demo uses these tricks and is an absolute fricken masterpiece.

  • Like 4

Share this post


Link to post
Share on other sites

Yeah, it's strictly due to the NTSC color encoding. Color in NTSC is based on the phase of the signal relative to the continuous color clock - this clock is where the famous 3.5MHz came from in so many systems back in the day. An over-simplified and mostly wrong description would be to think of it as a color selection that is continuously rotating as it scans across the line, and when a signal appears, whatever color it's currently at is what is seen.

 

The Apple 2's pixel clock (discussing HGR) is an exact multiple of the color clock, so by simply turning pixels on or off, you get reproducible colors depending on which column they are in. IIRC, each pixel is half a color cycle, so in an even column, you get one color (which is the result of mixing all the colors on that half of the color cycle), and in an odd column, you get the other color. If both pixels are on, you get the whole clock, so it's white. If both are off, well, that's black. Only 7 bits of each byte are used for graphics, so the extra bit is used to induce 1/2 pixel delay, which puts them at a different phase and gives you two different colors. Then there's all kinds of fringing there as well, though when you zoom in you can see it's because the speed of the logic coming up to voltage and going back down to zero is slow enough to show.

 

TI's pixel clock is a little slower... so it can put any color it can generate at any position, but there tends to be some smear, and certain color combinations can cause ringing as well. 

 

While artifact colors work well on many systems, I think the TI's resolution is too low to make good use of it. Would love to be proven wrong!

 

 

Share this post


Link to post
Share on other sites
10 hours ago, mizapf said:

Klaus, you can nicely see the performance effect of 50Hz/60Hz when you choose the drivers ti99_4a vs. ti99_4ae in MAME*. I confirm that I never knew what people talked about with this "rainbow" effect, since it was not visible on PAL. MAME contains a lot of BGFX filters; I don't know whether one of these tries to mimic the NTSC color issue.

Classic99 has an NTSC filter that was contributed some years ago. It's not 100% perfect to what I remember (I remember more color in the vertical spikes), but it does seem to reproduce all the ringing and edge effects otherwise.

 

It has the 50/60hz switch too, under Video. ;) 

 

image.thumb.png.9d4fe8cfdba27501728bb27543b0a27a.png

  • Like 2

Share this post


Link to post
Share on other sites
2 hours ago, Tursi said:

Classic99 has an NTSC filter that was contributed some years ago. It's not 100% perfect to what I remember (I remember more color in the vertical spikes), but it does seem to reproduce all the ringing and edge effects otherwise.

 

It has the 50/60hz switch too, under Video. ;) 

 

image.thumb.png.9d4fe8cfdba27501728bb27543b0a27a.png

 

It is good enough that I like to use it for screen shots approximating a real CRT.  You can tell the difference if you closely scrutinize the emulation or put it right up next to a CRT.  I like it.

  • Like 1

Share this post


Link to post
Share on other sites
On 11/20/2020 at 7:44 PM, OLD CS1 said:

From my reading, this is caused by some interesting characteristics of the NTSC composite signal.  The artifacts are mentioned in some article I read a while back in which NTSC was referred to as "Never The Same Color" when discussing how the Apple makes a video signal from nothing more than TTL gates and RAM.  It has been called that in this forum, as well.

 

Anyone have some deep eye-glazing technical information to share?

It may be due to the color bandwidth.  NTSC has half the color bandwidth of the luma signal, which means that sharp transitions to or from colors would go through transitional phases even if the pixel intensity could change much faster.

 

In addition, square waves take infinite bandwidth to represent perfectly, and the TV cuts it off at around the maximum pixel resolution.  That means the sharp transitions from white to black or vice versa get dulled, which places them in danger of being interpreted as colors.

 

6 hours ago, Tursi said:

The Apple 2's pixel clock (discussing HGR) is an exact multiple of the color clock, so by simply turning pixels on or off, you get reproducible colors depending on which column they are in. IIRC, each pixel is half a color cycle, so in an even column, you get one color (which is the result of mixing all the colors on that half of the color cycle), and in an odd column, you get the other color. If both pixels are on, you get the whole clock, so it's white. If both are off, well, that's black. Only 7 bits of each byte are used for graphics, so the extra bit is used to induce 1/2 pixel delay, which puts them at a different phase and gives you two different colors. Then there's all kinds of fringing there as well, though when you zoom in you can see it's because the speed of the logic coming up to voltage and going back down to zero is slow enough to show.

IBM PC's CGA card also used a variation of this method for composite output.  It included "composite" variants of each color graphics mode.  On the CGA monitor, it made the screen look like shades of grey when you were in composite mode.  On the TV, it forced the TV to puzzle out which color to show based on the bit pattern.  In regular color graphics mode, the TV would still get interesting artifact colors when you mixed colors on adjacent pixels, but there were fewer possibilities.

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, Tursi said:

While artifact colors work well on many systems, I think the TI's resolution is too low to make good use of it. Would love to be proven wrong!

We know that we need at least two adjacent pixels of the same color to ensure that the color is recognizable on NTSC screens, so there is a chance that the resolution is high enough for artifact colors. We only have two patterns that could be useful for generating solid artifact colors: 10101010 and 01010101. Combined with the 16 base colors (maybe that's only 14 or 15 because of black and transparent) that could give up to 32 artifact colors with a resolution of (maybe?) 64x192. My hardware is packed away at the moment so I don't have any way to test it.

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...