• Please review our updated Terms and Rules here

Trident card that thinks Colour Monitor is Monochrome

s3freak

Member
Joined
Nov 24, 2019
Messages
14
Location
England
I am doing this thread in case someone Googles the above problem, where I have found workarounds.

Back in October 1994, we had our first 486 PC, with a Trident 9000i, and a 14” colour monitor that has all analogue control knobs (I am sure some of you will remember them). In October 1997, the monitor failed, so we replaced it with a LG StudioWorks 44i that has partly digital controls with analogue contrast and brightness knobs.

When we first booted, we found out that DOS was in black and white! (Windows was still in colour.)

What was happening was that on the VGA port, the “new” monitor used DDC for “detailed” monitor ID, rather than simple open and closed pins for colour, mono, etc. The DDC signals can fool the Trident card, intermittently causing the card to boot up in either colour or mono. You can recognise this when the TRIDENT sign on message during POST is either colour or mono.

We went through the Trident TVGAUTIL utilities and found the SMONITOR.EXE utility. When you run SMONITOR C, this reconfigures the current boot session so that DOS is in colour again. Likewise, SMONITOR M is for mono. We therefore added SMONITOR C to AUTOEXEC.BAT.

The limitation of the SMONITOR utility is that some games and apps still thinks that the monitor is still mono when in fact everything is back to colour. I remember FastTracker II warning that it requires a colour monitor and thinks you are still using mono, PC Check being in grayscale because it thinks that you have a mono monitor, etc.

In the more recent years when I revisited vintage computing, with much more technical knowledge, I built a replica of our first 486 PC. My Trident 8900D is still sometimes fooled by modern colour monitors, thinking that they are mono.

One of the other solutions, provided that the VGA cable is detachable, is to use a VGA cable that has does not have the monitor ID / DCC pins connected. However, I have not tested this extensively.

Another solution would be to configure and install the TVGACRTC driver, where you can control the TVGA card and monitor parameters, such as the size, position, refresh rate, colour and mono monitor, etc. Games and apps then also correctly identify the type of monitor. However, this is installing a device driver in DOS via CONFIG.SYS.

Now that I have some assembly programming experience, the SMONITOR utility only updates the grayscale summing bit in the BIOS data area, bit 7 at 0040:0089h, but not the type of monitor connected. I tried changing many commonly documented monitor type bits, such as 0040:0087h, but these had no effect.

After doing lots of debugging and seeing what bytes have changed in the BIOS data area, which turned out to be 0040:008Ah too, I wrote my own utilities, where you can “properly” change the monitor type in the current boot session. This will not only cause DOS to be in colour again, games and apps will also correctly detect the colour monitor. Furthermore, it keeps whatever text is already on the screen, so if you have a Logitech mouse driver message that is in grayscale, it would turn into colour, then everything will be as though the monitor is colour in the first place.

Unfortunately, I did not document my source code when I wrote it in 2019, but in general, it updates the BIOS data area to colour or mono, and calls a number of INT 10 functions to switch video modes whilst keeping the text. These scripts are written for the DOS debug utility, and may work with other cards too.

COLOR.COM

A
MOV DX,40
PUSH DS
MOV DS,DX
MOV AX,WORD PTR [89]
AND AX,F9F9
OR AX,0200
MOV WORD PTR [89],AX
POP DS
MOV AH,03
INT 10
MOV AX,0083
INT 10
MOV AH,02
INT 10
MOV AX,4C00
INT 21

R CX
25
N COLOR.COM
W
G
Q

MONO.COM

A
MOV DX,40
PUSH DS
MOV DS,DX
MOV AX,WORD PTR [89]
AND AX,F9F9
OR AX,0406
MOV WORD PTR [89],AX
POP DS
MOV AH,03
INT 10
MOV AX,0087
INT 10
MOV AH,02
INT 10
MOV AX,4C00
INT 21

R CX
25
N MONO.COM
W
G
Q

I also attach the utilities, compiled with source in a .zip file.

Hope that this helps.
View attachment ColorMono.zip
 
I had exactly same problem with old 8bit ISA VGA and modern monitor. I added color.com to autoexec. It works. Thanks very much.
 
I also ran into a Trident video card getting confused and only displaying black and white. Usually it took a few resets to make it display color but eventually I replaced the monitor entirely with one less prone to making it start in black and white.
 
I recently experienced the same problem. With newly built vintage 486DX33 system using Trident TGUI9400CXI VLB VGA when hooked up to Dell Ultrascan D825HT CRT monitor (built Nov'97).

Your solution works. Thanks.
 
Just to confirm that it works perfectly on a Cirrus Logic CL-GD5401 (rebranded Acumos AVGA1, 256KB ram) on a vintage AMD 386 40dx, using a "modern" 17" (5:4) LG Flatron lcd.

Excellent work. Thank you.
 
WOW! I did exactly that - google the above problem and there you go - a solution that actually works like magic. Thanks a lot - not only for fixing it - but for posting it so that others can benefit.

In my case it is a 486dx33 retro build with a Trident TVGA8900C and an Iiyama CRT monitor. It would always start up either color, or monochrome, pretty randomly. Now problem solved.
 
I can confirm that COLOR.COM also works with an OTI-037C connected to an older 15" HP LCD.
 
Back
Top