Jump to content

Photo

TMS9918A color splash


15 replies to this topic

#1 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 3,144 posts
  • Location:Denmark

Posted Sat Apr 20, 2019 3:16 PM

When you look at a supposedly white pixel from the TMS9918A composite output it can be red, green or blue on screen, but never really white unless it's in the middle of a horizontal run of white pixels. White is just an example here, as I believe this is true for other colors as well. When you develop on an emulator it's always surprising to see this 'effect' the first time you try your program on real hardware.  

 

Attached File  colors.jpg   18.69KB   2 downloads 

 

Has anyone described this effect in a way that could be used for emulation?  



#2 PeteE OFFLINE  

PeteE

    Chopper Commander

  • 228 posts
  • Location:Beaverton, OR

Posted Sat Apr 20, 2019 3:48 PM

Typically I've seen it referred to as "TV mode" (video option in Classic99) or "CRT filter" (or shader) in other retro emulators.



#3 R.Cade OFFLINE  

R.Cade

    Stargunner

  • 1,321 posts
  • Location:Augusta, Georgia, USA

Posted Sat Apr 20, 2019 3:48 PM

I believe it's just called NTSC artifacting.



#4 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,665 posts
  • Location:Germany

Posted Sat Apr 20, 2019 4:37 PM

In MAME there is a broad selection of output filters; you can find them in the OSD menu, "Slider controls", "Window 0, Screen 0 Effect" (at the bottom of the list).



#5 LASooner OFFLINE  

LASooner

    Moonsweeper

  • 407 posts

Posted Sat Apr 20, 2019 11:32 PM

Never

The

Same

Color



#6 jedimatt42 OFFLINE  

jedimatt42

    River Patroller

  • 2,022 posts
  • Location:Beaverton, OR

Posted Sun Apr 21, 2019 12:55 AM

Didn't CGA graphics often take advantage of this when displaying to composite video instead of an RGBI display?

Something along the lines of purposeful control of this to drive additional colors from the 4 color screen modes.

???

-M@

#7 tschak909 OFFLINE  

tschak909

    River Patroller

  • 3,240 posts
  • Location:USA

Posted Sun Apr 21, 2019 1:06 AM

Yes, if you flipped on the colorburst while having a CGA card attached to composite output, you could get what amounted to an effective res of 160x200 in 16 really washed out colors. 

 

The earliest IBM PC games capitalized on this, but by the time the EGA had appeared, this fell out of favor.

 

an example, was Burgertime. https://www.youtube....h?v=zWPEi9vI_oA

 

-Thom



#8 JB OFFLINE  

JB

    Quadrunner

  • 9,304 posts
  • With Stereo-Of-The-Art-Sound

Posted Sun Apr 21, 2019 1:15 AM

Didn't CGA graphics often take advantage of this when displaying to composite video instead of an RGBI display?

Something along the lines of purposeful control of this to drive additional colors from the 4 color screen modes.

???

-M@

Not just CGA. The Tandy Color Computer's entire colorization system was based on this. So was the Apple II's.



#9 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,521 posts

Posted Sun Apr 21, 2019 9:33 AM

The effect you're seeing is definitely caused by the NTSC signal and the general quality level of the composite signal from the TI's video port. I first noticed it in Parsec, where the little landscapes seemed to be rainbow colored, but in fact, weren't!

 

I've dealt with this when drawing up all the graphics for my CRPG, you can check my thread in Development to see some pictures of my in-game monster graphics, all of which are in bitmap resolution, with 2 colors every 8 pixels horizontally.

 

First thing is, NTSC seems to work better with a lower pixel depth horizontally. If you have at least two pixels of the same color next to each other, they are strong enough to overcome all the noise and clearly project a color. (So 100-150 pixels works fine, but over 200 has trouble.) This isn't JUST on the TI, you can see it on other systems too. Most of the color artifacting of the TRS-80 Coco, Atari 8-bit, and Apple II systems were built around burning two pixels to get extra colors.

 

Second, What I've come to discover as I've worked with it is this: luminosity almost matters more than color itself. Putting two bright colors next to each other makes it almost impossible to discern both. So you want to have light and dark respectively alternating, or you get things looking a little muddy.

 

Three, the 2 colors per 8 pixels is not THAT bad of a limitation, given the noise of NTSC. Many times I've used a color which technically creates a bleed effect, but on the NTSC screen you can't really perceive it, so it works. On the other hand, I've seen some interesting patterns where a fully yellow object with just ONE line of blue in the center suddenly looks greenish overall on the screen. Almost like the color signal, swapping between colors, has trouble keeping up.

 

Finally, some interesting oddball observations... Light red and magenta actually compliment each other REALLY well, not a combination you'd expect to work. Medium red and green are nearly useless; neither is strong enough in luminosity to really separate from their light and dark counterparts. And why a dark and light yellow? I would have rather TI given us a true brown, dark grey and dark purple instead. Dark red is your best "brown" color, although if your user has his monitor contrast turned way up it won't look like it. Dark blue is your best "dark" after black, it's dark enough against black pixels nearly disappear. Grey is really just "off-white"; if you want something closer to halfway between white and black, use light blue. Cyan is so much brighter than the other blues it's not particularly useful as a gradient, but in some cases it can work; your mileage will vary.



#10 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,665 posts
  • Location:Germany

Posted Sun Apr 21, 2019 10:02 AM

The effect you're seeing is definitely caused by the NTSC signal and the general quality level of the composite signal from the TI's video port. I first noticed it in Parsec, where the little landscapes seemed to be rainbow colored, but in fact, weren't!

 

So that's why I actually never really had this impression, because I had a PAL system? My memories on that topic are fading, since I was using a monitor with my Geneve from the early 90es, so I cannot tell for sure anymore.



#11 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,521 posts

Posted Sun Apr 21, 2019 10:18 AM

Yeah, PAL had better resolution than NTSC. I kind of wish I could see a PAL TI in action!

#12 TheBF OFFLINE  

TheBF

    Stargunner

  • 1,037 posts
  • Location:The Great White North

Posted Mon Apr 22, 2019 8:02 AM

IMHO the problem is two-fold.   Sender and Receiver.

 

I remember (dimly) bringing my TI-99 into the Station back in the 1980s to put it up on a waveform monitor and vector-scope.  (to see the colour phase angles)  It was clear the the signal was not truly complying with RS170A, the ANSI specification for colour TV back then.  So the source is not quiet correct.

I can't really predict the ramifications of it not being interlaced on a conventional TV either. Suffice to say it's not-standard.

 

The NTSC colour encoder literally maps the colour over top of the monochrome (black and white) TV signal.  In order to squeak the colour information into a standard TV channel the colour information is severely bandwidth limited.  There are two channels of colour that are 90 degrees out of phase (quadrature modulation)  The in phase component is about 1.5 Mhz and the quadrature about .5 MHz if memory serves.  To give you perspective, the full detail of the black and white portion is 4.2MHz wide in a standard TV channel.

 

The effect of this is that the detail resolution of RED parts of a picture is dreadful and other colours have very poor resolution.   These were calculated design decisions at the time balancing the bandwidth available and what was known about human perception. 

 

The bandwidth of the colour encoder is tightly controlled by analogue circuit designers in both the transmission equipment (cameras, tape machines, character generators etc)  and the receiver designers.  My experience in the early days of digital gear for video was that most of the equipment not destined for the professional market did not respect these design guides and they splashed un-filtered signals onto the output channel. These fast edges on the source signal can/does cause a lot of ringing in the filters built into the monitor.  This ringing at the edges can be what you are seeing with the TI-99 on analog monitors as it creates the effect of a sub-carrier colour signal due to the frequency of the ringing being in that 3.58Mhz range. 

 

</old guy talking>

 

Edit: If you have trouble sleeping, read this.

https://en.wikipedia...#Color_encoding


Edited by TheBF, Mon Apr 22, 2019 8:05 AM.


#13 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,665 posts
  • Location:Germany

Posted Mon Apr 22, 2019 8:16 AM

I think there are still enough functional (non-F18ed) TI consoles in Europe (PAL, SECAM) so that someone could create a movie clip. It's certainly not easy to film a TV screen with a camera, but worth a try.

 

(Before all this is sent into oblivion by digital TV.)



#14 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,144 posts
  • Location:Denmark

Posted Mon Apr 22, 2019 8:45 AM

The TV Mode in Classic99 is going some way to emulate this, but the splashing is a lot stronger on my TV.

 

Classic99 TV Mode:

Attached File  classic99.png   382.12KB   0 downloads

 

Real console, composite:

Attached File  real.png   2.85MB   0 downloads

 

I haven't been able find a filter in MAME to emulate this. I don't see anything about filtering in the OSD menu. I also tried to enable HLSL filtering but didn't get any useful results. 

 



#15 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,665 posts
  • Location:Germany

Posted Mon Apr 22, 2019 9:34 AM

In MAME, you find some options in "Slider controls", "Window 0, Screen 0 Effect" when you set it to hlsl. Then the menu gets a lot of sub-options (I counted 91) where you can, for example, define the color convergence etc. However, I did not yet seriously try to get some effect from those.



#16 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,664 posts
  • HarmlessLion
  • Location:BUR

Posted Mon Apr 22, 2019 2:44 PM

Yeah, the TV Filter in Classic99 was contributed to be by the author, and while it seems authentic, it could indeed be stronger.

NTSC artifacting is the ONLY way that the Apple 2 created color (well, the NTSC version anyway), and I've spent the most time there. It has a 280 pixel wide screen which maps neatly to the colorburst frequency such that 2 pixels represent one complete color cycle. It can also delay a byte by half a pixel to get an extra two colors. Thus, by spacing your colors out, you get a stable and reproducible artifact that blends into a solid color. (This is standard high res mode, double high res takes advantage of 4 pixels per cycle).

I didn't do the actual measurements on the TI, but it seemed like the 256 pixels across on the TI were larger, and so didn't align nicely enough for reproducible color artifacting effects. But the same pixel column should always have the same effect, so you might be able to do something with it.

Edited by Tursi, Mon Apr 22, 2019 3:03 PM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users