VOGONS


First post, by dosgamer

User metadata
Rank Newbie
Rank
Newbie

I noticed some weird color glitches in a few games. The games so far are: Midwinter 1 and 2, Civilization 1 (tried rev. 1 and rev. 5), Comanche Maximum Overkill.

Screenshots:

glitch1.jpg
glitch2.jpg
glitch3.jpg

As you can see, some colors (mostly black/darker colors?) are replaced with various shades of red.

My System: Dell 486DX33 w/16MB RAM (with parity), 2GB CompactFlash Card, WD90C30 VGA on board, 1 MB VRAM (512k on board + 512kB on upgrade module), MS-DOS 6.22. ISA cards installed: Creative CT1600, 3com Etherlink III Combo with 8kB EPROM containing XTIDE BIOS, Roland LAPC-I. PSU is a LiteOn 224W model that is actually intended for a bigger machine. Voltages check out and nothing suspicious inside. Caps are all high quality Nippon Chemi-Con.

Things I tried:

  • enable/disable VGA IRQ
  • enable/disable VGA ROM shadowing
  • different main memory modules
  • remove 512kB VRAM board
  • tested VRAM using Amidiag, reports no errors
  • tested main memory using Memtest86, no errors

The glitches go away if I either slow the computer down using a BIOS setting (changing "CPU Speed" from "33MHz" to "Compatible", but I think it doesn't actually change the CPU speed but uses wait states instead) or set the CPU clock jumper on the motherboard to 16MHz. At 25 and 20 MHz, glitches are still there. Also, Comanche looks fine after I install the Pentium update.

All other games work fine (much older and newer ones, e.g. Might & Magic I, Wizardry VI, Stellar 7, Panzer General, Master of Orion 2, Raptor, Blackthorne). Windows 3.11 works fine.

Anyone have an idea what's going on? I remember playing Civ on my 486DX2-66 back in the day without problems, so it can't be the CPU speed.

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 1 of 15, by keenmaster486

User metadata
Rank Oldbie
Rank
Oldbie

This is just me blowing pure unadulterated smoke here, but -

Maybe the video chip needs a solder reflow?

I flermmed the plootash just like you asked.

Reply 2 of 15, by dosgamer

User metadata
Rank Newbie
Rank
Newbie

A hardware problem was my first thought as well. But then why would all the other games work flawlessly? Also, Windows 3.11 works fine in 800x600 and 32k colors ...

What's kinda suspicious is that the affected games are from 1992 and older. Especially, Comanche works fine after the patch. Maybe some kind of rare incompatibility? Has anyone else experienced this?

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 3 of 15, by dosgamer

User metadata
Rank Newbie
Rank
Newbie

OK, now it gets weird: I put a Tseng ET4000/W32 VGA card in the computer (which was surprisingly hassle free: just put in the card and the onboard VGA gets automatically disabled), and guess what?

The exact same symptoms!

What the deuce? What could be causing this? Can anyone please try the above games on a 486DX to check if that's actually an issue with the software and not my specific computer?

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 6 of 15, by dosgamer

User metadata
Rank Newbie
Rank
Newbie
yawetaG wrote:

What about your monitor? Can you replace it by another one to check whether the problems disappear?

Pics are from a CRT, but I just tried an LCD monitor (different VGA cable too), no difference.

So it's not the graphics card. It's not the monitor. It does have something to do with system/CPU speed. But, to change the colors, wouldn't some bits have to be flipped somewhere? But the RAM is fine, tested it with Memtest86 and Windows also runs fine. 😕

Joey_sw wrote:

is there "PCI/VGA Palette Snoop" option in the BIOS setting?
if the option exist, try toggling it to see if its has any effect for the paletted graphics mode.

This is an ISA only board, so no such option. But I tried all the other BIOS settings, none of them make a difference (except the turbo option).

I mean, this is really not a huge issue, since Comanche works fine after the patch and Midwinter 1 and 2 are unplayable at full speed anyway, so that just leaves Civ, but that plays fine in deturbo mode, too. But I'd really be curious what causes this glitch. Has nobody seen anything like this before?

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 7 of 15, by kenrouholo

User metadata
Rank Member
Rank
Member

Maybe CPU's overheating? I would say check the same for the graphics chip, but if you've tried 2 of those, I'm skeptical.

In general, overheating CPUs and GPUs can cause odd texture corruption. I remember seeing so much texture corruption in stuff like 3dmark when I used to overclock my Voodoo3, Geforce2MX, Radeon 8500, Radeon 9500 Pro cards. (Voodoo3 was the first graphics card I ever overclocked.) The corruption often involved patches of colors, or things would disappear (or blink). These were newer cards but I would fully expect older stuff to artifact with heat as well.

I'm not particularly confident in this answer being correct... just something to check.

Yes, I always ramble this much.

Reply 8 of 15, by dosgamer

User metadata
Rank Newbie
Rank
Newbie

The CPU has a heatsink that is on there solidly. A 33 MHz 486 doesn't really get very hot either way. Neither does the graphics chip or anything else. I've been running the case open with a fan blowing on it to make sure. Thing is, I can't even think of a mechanism that would cause this. If there was any data corruption, surely it would occur in Windows too, which is much more demanding and uses more RAM and VRAM.So it would have to be some kind of software bug. Maybe all those games used the same compiler? I mean, Borland Turbo Pascal had a bug where compiled programs would fail on Pentium IIs.

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 9 of 15, by dosgamer

User metadata
Rank Newbie
Rank
Newbie

OK, so, I removed ALL expansion cards, unplugged the IDE connector, booted from a floppy (MS-DOS 6.22, empty config.sys and autoexec.bat) and ran Midwinter 1 from the floppy ... same deal. I give up. 😵

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 10 of 15, by wbc

User metadata
Rank Member
Rank
Member

looks like corrupted game pictures\palette resources (reinstall\copy from original files) or too low ISA bus wait states (increase them and set lower bus clock)

--wbcbz7

Reply 11 of 15, by creepingnet

User metadata
Rank Member
Rank
Member

Weirdest by far I ever have seen was playing Ultima VI on my old Frankenstein Creeping Net 1 486 back in 2001 - ZEOS motherboard, 486 DX-33, 8MB of RAM, and a Western Digital PVGA1A VGA card (ISA) - used to get a Stuck NMI error and then the color palette would go all "Acid Trip Vomit" on me, yet the game would remain still playable as long as the computer was on. Probably the oddest glitch I've ever seen, I'd think a Non Maskable Interrupt would have halted the system - well, not the Mighty ZEOS I guess.

My DOS Boxen
85' Tandy 1000(a)- 8088/4.77, 640K, 8gb XT-IDE, TGA, 3-voice
89' GEM 286 - 286/12 w/287, 6MB, 1GB SCSI, 2XCD-ROM, ET-4000 1MB, SB Pro2
Creeping Net 486 - 486DX4100 WB, 128MB, 512K L2, 15GB+40GB, S3 809 2MB VLB SVGA, SBAWE64

Reply 12 of 15, by kenrouholo

User metadata
Rank Member
Rank
Member
wbc wrote:

looks like corrupted game pictures\palette resources (reinstall\copy from original files) or too low ISA bus wait states (increase them and set lower bus clock)

That was also my initial thought, but he did mention several games, and managed to fix some of them.

Yes, I always ramble this much.

Reply 13 of 15, by gerwin

User metadata
Rank l33t
Rank
l33t

Could it be Capacitors gone bad? I remember two of my boards getting memory issues at a Front Side Bus speed above 66MHz, and they behaved properly again when replacing some bulged capacitors.
Looking at my own retro inventory at least 4 out of +-12 motherboards were affected in functionality by aging capacitors. And it is not always clearly visible.

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 14 of 15, by dosgamer

User metadata
Rank Newbie
Rank
Newbie

This board has no electrolytic capactiors (well, except SMD tantalum ones, but if those go bad they do it rather spectacularly). I really don't think it's a hardware issue as it affects only so few games and everything else is fine.

But in the meantime, I added a fix: I wired the case lock switch to the clock speed jumpers on the motherboard:

cpuspeed.jpg

In the unlocked position, the computer runs at 33 MHz, in the locked position, it runs at 16 MHz. Together with the BIOS deturbo option, this now allows me to choose between 3 hardware speeds.

Coppermine Celeron 800 @ 1.12GHz (8x140) - Asus P2B Rev. 1.12 - 256MB PC133 CL2 - Voodoo5 5500 AGP - SB AWE64 CT4520 - Roland SCC-1 - Intel Pro/1000GT - 1.44MB Floppy - ATAPI ZIP 100 - 120GB IDE - DVD-ROM - DVD-R/RW/RAM - Win98SE

Reply 15 of 15, by jade_angel

User metadata
Rank Member
Rank
Member

I think you're probably hitting some obscure optimization-related bug, probably due to a wonky compiler, similar to how certain programs break - even to this day! - when built with maxed-out compiler optimizations. When that happens, they don't always break everywhere, or break in easy to understand ways - I recall an issue that would crop up when I built snes9x on Linux with gcc -O3 and ran it on an Athlon, but if I took the exact same binaries and ran them on a Pentium 4 instead, the problem didn't happen. If I built with gcc -O2, there were no detectable issues on either machine.

Your case lock hack is about the most elegant solution I can think of, outside of trying to disassemble the .EXEs and RTFB to find the bug, which is more trouble than it's worth.

Main Box: Ryzen-TR 1900X | GTX 1050/Radeon RX 580
98/2000 Box: PIII/866 | G400 MAX
PCI DOS Box: 5x86/133 | S3 Trio64/V2 PCI
VLB DOS box: 486DX4/100 | Cirrus GD5428 2MB