• Please review our updated Terms and Rules here

VGA card with decent palette grayscaling for Gas-Plasma panel?

Dagwood

Experienced Member
Joined
Oct 16, 2018
Messages
64
I have a gas-plasma panel being driven off the VESA feature connector of an Orchid Fahrenheit 1280 (1mb ISA card). The panel itself is capable of 16 shades but I am unhappy with the palette grayscaling when in display modes greater than 16 colors. It just goes psychedelic. For example, when I take a 256 color GIF and display it in 640x480x16 mode it looks decent. When it's displayed in 640x480x256 mode it looks like garbage and playing Doom is just nuts. I think it's because this panel is being driven from a regular video card as compared to the Toshiba T5200/T3200sx which have some BIOS support for setting the video chipset modes in a manner optimized for the plasma panel. My guess is that the pallet is wrapping around every 16 shades instead of converting ranges to 16 shades.

Evidently this Fahrenheit 1280 card uses an S3 chipset. The datasheet mentions control registers to set grayscale summing features which, when enabled, I think will convert colors to 64 shades of gray. I plan on messing with that when I have time but ultimately I'm not attached to this particular card and I was wondering if anyone else has had experience with particular cards that may have better support or dos utilities to help facilitate grayscaling?
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
5,115
Location
Upper Triassic
Chips and Technologies made a line of VGA chips specifically for driving flat panel displays of various color depths. (I specifically remember the CT-65545, which was a VL-bus chip, but they made ISA and PCI ones as well.) Their products had hardware-level features specifically to optimize driving TTL displays with limited color/gray palettes, and were usually what you'd find on the cards included in those "Lunchbox" portables with plasma and LCD displays. If you could find one that's probably your best bet.

I'm kind of skeptical, honestly, that you'll get a lot of satisfaction from a "Normal" VGA feature connector-equipped card, if the plasma display physically only has a 4-bit interface. A Google suggests that "grayscale summing" feature you mentioned is aimed at creating an optimal palette for driving an analog Mono VGA monitor through a standard *six bit* DAC, IE, intelligently "thunking" 256 colors down to the 64 grays it can physically shove out through a single color channel. I'm vaguely certain the C&T chips actually do tricks like dithering and "what color is my neighbor?" adjustments based on how many bits wide the attached display is.
 

Dagwood

Experienced Member
Joined
Oct 16, 2018
Messages
64
Eudimorphodon, this is exactly the sort of technical and information rich reply I was hoping to receive. It gives me a good bit of information to start with and various leads to follow. Thank you.
 

bakemono

Experienced Member
Joined
Jan 19, 2020
Messages
172
Location
USA
Interesting thread. According to your description of the issue (and the wikipedia page about the VGA feature connector) I wasn't sure exactly what data is being passed through the connector. The only pinout I saw for this connector showed it carrying EGA-style 6-bit RGB. Not sure how that would behave in a VGA mode, but it makes me doubt whether exchanging video cards would change anything.

Would it be possible to run a QBASIC test program to show different colors in a SCREEN 7 and a SCREEN 13 and compare them?
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
5,115
Location
Upper Triassic
I'm curious, did the panel originally attach to the Toshiba with a Feature Connector compatible plug, or is that something you tinkered up?

(I found a German-language web site that had links to a number of examples of driving TTL panels that way, with the proviso that the resulting lashup was only good for 16 colors.)

The Feature connector is 8 bit, not 6 bit, and it seems to differ from the EGA feature connector in that while the EGA feature connector's six bits are essentially the same thing you get from the port on the back (IE, they're the two intensities of RrGgBb after the pixel data has already been through the palette register) the VGA's connector is essentially the raw 4 or 8 bit memory value for a given pixel *before* it's fed into the DAC? (The documentation for the connector seems to be really sketchy.) If that's actually true then any kind of palette hacking isn't going to take effect.

I'm really curious; if you go into QBASIC and use PALETTE to try to shuffle the available colors in SCREEN 12 (16 color high-res) do they actually change from the default CGA/RGBI color set? (Assuming the panel is set up to show shades of gray that make sense for that, IE, "0" is black, followed by a set of 7 "dim" shades, 8 as dark gray, and 7 bright shades?) If the cabling scheme is just directly translating the bottom 4 bits of the Feature connector into intensity bits and the palette is out of the loop then I'd venture hitting the palette register isn't going to do anything.

Long ago I had a DOLCH lunchbox that had one of those C&T-based cards in it, and it actually had two different headers for connecting different flat panels. Granted I have no idea how you configure those cards for different panels, if it's some sort of jumper/cable detect thing or if you have to tweak the BIOS to get them to do their magic.
 

njroadfan

Veteran Member
Joined
Jan 21, 2011
Messages
1,542
VGA has a 18-bit RGB table, so 6-bits per color, or 64 levels of R, G, or B for a total palette of 262144 possible colors to choose from. Vague references on the feature connector say its limited to 256 colors. The C&T 65xxx chips were VERY popular in mid-90s laptops, likely because they had some sort of built-in driver for LCD flat panel displays.

An easier way to get a grey scale friendly palette is to use a VGA card that attempts to detect a color monitor using the sense pins on the VGA connector and switches to grey scale on boot if VGA pin 12 is grounded. Many early VGA cards did this, I think Trident chips were notorious for it. I remember the detection failing back to grey scale on all our "modern" CRTs since they have DDC on the old sense pins.
 

eswan

Experienced Member
Joined
Aug 17, 2015
Messages
185
Location
Kansas City area, US
If I remember correctly, the Toshiba 5200 had a command to alter the dithering pallet. Maybe a special mode.com? Wonder if there is something similar for the Dolch PAC, which used a similar gas plasma screen with a Farenheit card.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
5,115
Location
Upper Triassic
VGA has a 18-bit RGB table, so 6-bits per color, or 64 levels of R, G, or B for a total palette of 262144 possible colors to choose from. Vague references on the feature connector say its limited to 256 colors....

An easier way to get a grey scale friendly palette is to use a VGA card that attempts to detect a color monitor using the sense pins on the VGA connector and switches to grey scale on boot if VGA pin 12 is grounded.

The documentation for the feature connector is pretty bad, but my distillation of what I could find is the feature connector essentially sits between the output from the video RAM and the RAMDAC (which contains the palette registers) and simply routes to it, for each pixel, the raw data the RAMDAC would process. There are references to how any device that sources the output from the feature connector needs to "snoop" writes to the palette register via watching the bus if it's a requirement that whatever you're doing with the feature connector output needs to know the "intended" VGA colors. If that's true then, again, no amount of fiddling with the palette is going to improve the color mapping for a 4 bit TTL panel interfaced directly to the lower four bits.
 

Dagwood

Experienced Member
Joined
Oct 16, 2018
Messages
64
I did a little more poking on this. Interestingly enough the VGA feature connector on this card has a jumper wire soldered to pin Z13, which should be unused/key so perhaps this is a slightly purposefully modified card. Unfortunately it disappears to an inner layer of the board so I haven't bothered to trace it yet. I might check whats on the other end of that pin's cable first (panel side).

I've been looking at the datasheet for the palette chip on this card and it's got some interesting things I'm going to look in to regarding palette mapping. I used a utility I wrote for reforming worn plasma panels to check out text mode color grayscaling because the calibration feature displays the palette colors 0-F. I ran it with an external screen attached so I would get simultaneous Plasma and Color output. It doesn't reveals anything useful regarding graphics modes but it was something to do. I'm working on something similar that uses graphics modes which I might try to fast track at least enough to help me get more info.

For kicks I also ran the memory resident Fahrenheit (s3) DOS VESA driver which seemed to give slightly different results in graphics mode but I couldn't quite put my finger on the difference. I'll have to do it again and take some pics to compare.

This is a Dolch Pac machine and I can't help but suspect there was some utility that originally came with these to help with this because it would be kind of silly not to. For now I'll continue reading up on the palette chip controls and features.

P.S. The VGA feature connector seems feed off the the RAMDAC via a couple buffer/line drivers.

Fahr1280_16colPalette_IntExt.jpg
 
Last edited:

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
5,115
Location
Upper Triassic
I banged out a quick QBASIC program that shuffles palette data, what happens if you run it on your plasma the way its wired? Do the colors cycle at all on the plasma? (If you leave the external display attached you'll see what it's doing, which is in sequence shuffling the 16 text mode colors through the entirety of the 64 entry EGA palette.)

Code:
DECLARE SUB DELAY (DLAY!)

CLS
FOR X = 0 TO 15
FOR Y = 0 TO 7
COLOR X, Y
PRINT X; ","; Y;
NEXT Y
PRINT
NEXT X

PRINT "Beginning PAIN cycle"

10 FOR X = 0 TO 15
FOR Y = 0 TO 63
DELAY .1
PALETTE X, Y
NEXT Y
PALETTE X, X
NEXT X

PRINT "Finished"

SUB DELAY (DLAY!)
START! = TIMER
DO WHILE START! + DLAY! >= TIMER
  IF START! > TIMER THEN START! = START! = 86400
LOOP
END SUB
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
5,115
Location
Upper Triassic
... And just for laughs, here's one that does a palette swap on all 256 colors on the 320x200x256 graphics mode. Again curious if it has *any* affect on the attached plasma.

Code:
SCREEN 13
CLS

C = 0
FOR x = 0 TO 15
FOR y = 0 TO 15
LINE ((20 * x), (10 * y) + 20)-(((20 * x) + 20), ((10 * y) + 30)), C, BF
C = C + 1
NEXT y
NEXT x

PRINT "Beginning swap cycle"

DIM Blue AS LONG
DIM Green AS LONG
DIM Red AS LONG

DIM palColor AS LONG

FOR COL = 0 TO 255
FOR Blue = 0 TO 63 STEP 16
FOR Green = 0 TO 63 STEP 16
FOR Red = 0 TO 63 STEP 16

palColor = (Blue * 65536) + (Green * 256) + Red

PALETTE COL, palColor

NEXT Red
NEXT Green
NEXT Blue
NEXT COL

palColor = 0
PALETTE 15, palColor

PRINT "Finished"
 

Dagwood

Experienced Member
Joined
Oct 16, 2018
Messages
64
Why in the world does this forum not allow editing of my own posts beyond a few minutes? So very annoying. I don't like not being able to correct errors.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
5,115
Location
Upper Triassic
Screen shots attached.

View attachment 61567

So I'm guessing there was no change at all on the plasma while the program was actually running? (The colors didn't flash or shimmer in any way?) That plus the fact that you can't distinguish the 16 horizontal color cells seems to confirm that the only thing you have to work with is a 4 bit nibble of raw from-memory pixel information and the palette is indeed not in the loop at all. Did you try the one that runs in 80 column text mode and verify that it also doesn't cause any change on the plasma at all? (I suppose it's remotely possible that the feature connector could be north of something that can shuffle palettes in the 4-bit modes, but I'm pretty skeptical about that.)

I dug up the datasheet for the CT65540/65545, which has a dedicated on-chip flat panel interface module, and on page 180 it describes the dither options available. (Skimming it it looks like it can fake at least 60-ish shades of gray on a 4 bit panel.) I suspect to get better than what you're seeing you'll need a card with a chip like that. What I'm not entirely clear on from the datasheet is how exactly it translates the RGB shades in the palette register to the available dithers, but at least it does have the hardware to pay attention to the upper bits of an 8-bit pixel instead of ignoring it entirely.
 

maxtherabbit

Veteran Member
Joined
Apr 23, 2019
Messages
1,902
Location
VA, USA
Why in the world does this forum not allow editing of my own posts beyond a few minutes? So very annoying. I don't like not being able to correct errors.

The powers that be are afraid you will say something monumentally important and then get mad and go back and delete it, thus depriving the world of whatever.

Absurd, IMO, but it's been discussed several times and they are not open to changing it.
 
Top