VOGONS


First post, by MastErAldo

User metadata
Rank Newbie
Rank
Newbie

Hello everyone,

It's been a while since I follow this great forum and today I decided to post a my first topic because I need help / advices for my CL GD5424 since I ran out of ideas.
Hopefully someone here can come up with a similar experience and/or give me some hints about what to try.

Basically I have a 486 build I use to play old dos games and I noticed that while games using CGA (like golden axe or Commander Keen 4 in CGA mode) or VGA (doom, duke nukem 3d, Dungeon Keeper, quake, Monkey Island 2, etc) work great (well quake is a slideshow, but it still runs stable), games that uses EGA modes (specifically mode 0Dh 320x200 16 colors) sistematically hang after 2 / 3 seconds once the game is launched. Games like Commander Keen in EGA (every Commander Keen from 1 to 6), Another World, BioMenace, Zak mckracken all hang after a few seconds.
In Commander keen 4 for example it always hangs while drawing the splash screen, sometimes it hangs right after a few lines are drawn, sometimes it almost finishes drawing the image, but I never got to the main menu.

Here's my setup:
Motherboard: Micronics Gemini VLB, like this one: https://i.ebayimg.com/images/g/YBkAAOSwdJtevmle/s-l400.jpg part number 09-00144
CPU: am486dx4 NV8T
Video: Cirrus Logic GD5424 VLB equipped with 1MB of RAM
RAM: 16mb FPM ECC ram 60 ns
Sound: Sound blaster AWE64
OS: msdos 6.22
No external cache

Here's what I tried / notices so far:

I switched the graphic card with an ISA Tseng Labs ET4000 and every EGA game works like a charm. In general every game work fine, but I can't use it since it's the only card I can use with and older 386.

I noticed that If I deactivate the turbo switch (or in general if I slow down the PC using MOSLO or disabling the cache or switching the multiplier to x2) EGA games run for a few seconds more, but in the end they still hang.

If I overclock the 5424 via MCLK (found from this site to 60mhz, I get some artifacts, but Commander keen manages to remain stable until I enter the first level, then the game starts, but it hangs as soon as it tries to scroll the screen.

I tried booting without memory managers (no HIMEM and no EMM386) and skipping autoexec.bat and config.sys settings, but the problem persists in the exact same way.

I belive this is related to some timing issues, but unfortunately I have no experience in going further in the diagnostic.

What I also found is that while the nominal frequency of a CL-GD5424 should be 50mhz, MCLK reports 46Mhz, could it be caused by a defective crystal? Anyway overclocking to 50mhz makes gome run for few seconds longer, but it doesn't help in the end. Underclocking doesn't help.

My card only has 2 jumpers that are used to switch between 33 and 40 mhz bus and it's correctly set to 33, the same of the main bus.

I can't reach that PC right now, but if it can help I can provide a photo of the card I own.

Surprisingly Ford Simulator 3, which also seems to use EGA, works fine most of the times.

Also surprisingly I can run Duke Nukem 3D in Vesa mode at 640x480x256 (never got a problem), but Windows 3.11 at 640x480x16 hangs after maybe 10 seconds of usage.

JazzJack rabbit hangs sometimes on high details, but never on medium, which makes me wonder if there's a component inside the graphic card that, when stressed, fails.

I don't know the things I wrote are meaningful in anyway to someone to come up with a solution / some more advanced hypothesis, but anyway thanks in advance for every hint / consideration that may help me with this problem.

My Projects on GitLab
Micronics Gemini VL-Bus | AMD 80486dx4 NV8T | Tseng Labs ET4000/W32i | Sound Blaster 16 Value CT2770
16mb FPM ram 60ns | IDE 504 MB | 12x CD-ROM Drive | MSDOS 6.22 & Win 3.11

Reply 1 of 4, by Horun

User metadata
Rank l33t++
Rank
l33t++

Can you try the Video card in a different VLB motherboard just to rule out the board as the issue ? If the ET4000 works fine then your VLB video card or the board has a VLB issue.
It is a very odd board design, the ram slots is where most VLB boards have the VLB slots and the ram is generally up near the PSU connector where your VLB slots are... just a very odd board layout for VLB (just an observation).

added: I just played a bit of Keen 4 CGA and then Keen4 EGA using a CL5428 VLB card. The only big difference is that the CGA game uses only 64K of vid mem and the EGA versions want 256k. Being you can run Duke in VGA mode but Windows pukes in 16 color EGA mode, My early guess is that your vid card has a timing issue OR a memory mapping issue.

added2: just read the Apogee help file, if you set audio to Sound Blaster it must be 100% SB compatible or else game may hang during loading or shortly after (applies to nearly all early Apogee games). To avoid this set to PC speaker or Adlib if 100% Adlib compatible.
Am wondering if the combo of EGA and a sound card setting could be causing this... just rambling 😀

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 2 of 4, by mkarcher

User metadata
Rank l33t
Rank
l33t
MastErAldo wrote on 2020-08-03, 22:14:

Basically I have a 486 build I use to play old dos games and I noticed that while games using CGA (like golden axe or Commander Keen 4 in CGA mode) or VGA (doom, duke nukem 3d, Dungeon Keeper, quake, Monkey Island 2, etc) work great (well quake is a slideshow, but it still runs stable), games that uses EGA modes (specifically mode 0Dh 320x200 16 colors) sistematically hang after 2 / 3 seconds once the game is launched. Games like Commander Keen in EGA (every Commander Keen from 1 to 6), Another World, BioMenace, Zak mckracken all hang after a few seconds.

I don't know the things I wrote are meaningful in anyway to someone to come up with a solution / some more advanced hypothesis, but anyway thanks in advance for every hint / consideration that may help me with this problem.

The main thing that is different between the 16-color mode (independent of resolution, so even 640x480 16 colors should be affected) and CGA as well as the MCGA 256-color mode is that the 16-color modes use a lot of port I/O to talk to the graphics controller chip, as well as doing 8-bit memory reads(!) and writes. Advanced 256-color modes like quake's 360x480 mode still use some I/O port access, but a lot less of it. You don't access any graphics card control ports (memory sequencer, graphics controller) and avoid graphics memory reads like the plague (as they are dead slow) in CGA and plain 256 color mode.

I suspect that your problem is either related to the sheer amount of I/O access (depending on the game, the processor instructions use 8- or 16-bit I/O, but most VGA cards only accept them in 8-bit slices, so the mainboard has to split 16-bit accesses), or it is related to 8-bit reads / copies. They are needed for fast screen-to-screen copies in the EGA modes, they are also used by some demos in Mode X (the advanced 256 color mode), but mostly not in CGA and 256-color games like Monkey Island 2. On VLB, you typically don't have the explicit option to add wait states, but something in this regard exists. You have a jumper on the board that indicates to the card whether your system is "not faster than 33MHz" or "faster than 33MHz". If this jumper is set to "faster than 33MHz", the card thinks that it has an extra clock cycle to until it needs to indicate to the chipset whether the VL card handles the cycle or the chipset needs to handle the cycle. On the other hand, you often have a BIOS option to control at what time the chipset checks for this signal. This option is often called "LDEV sample point", "LBD sample point" or something like that, and has the options "T1/T2" or "early/late". This option should match the jumper setting ("<=33MHz" means "LDEV sample point" should be T1/early, whereas ">33MHz" means LDEV sample point" should be "T2/late"). If fiddling with the jumper (you could try the >33MHz setting even on FSB33, but that usually decreases overall system performance) does not help with the problem, you can also try cleaning card contacts or another VL slot. And sadly it's non unheard of compatibility problems with VL cards, so maybe that CL card just does not work reliably with your mainboard at all.

Reply 3 of 4, by MastErAldo

User metadata
Rank Newbie
Rank
Newbie

Many thanks for your suggestions guys!

Unfortunately I don't have another VLB motherboard that I can test the card with.
I tried cleaning the contacts and moving to the second VLB slot but the results are the same.

Using CLMODE, vesa modes it seems to work, so I would assume that vesa modes work fine (i guess i could double check booting from an old linux distro)

That card used to be owned by a relative of mine and I remember using it with another am486 dx 4 setup and I remember some games hanged. Being 8 years old at that time and not remembering the games I can't tell if the problems where the same as the ones I'm having now, but along with your considerations it may make me think that it's the card itself or rather my particular vga/mobo setup that causes problems.

Ports I/O issues may be another thing to consider indeed, do you know of a program that specifically tests them?
Or a program that tests EGA cards since it seems those modes are the one causing troubles.
I guess I could write a C program that specifically reads / writes to those ports, but if there are some programs out there specifically to find anomalies of a graphic card they would do definitively a better job.

In the meantime I'll try to play with the aforementioned jumpers on the graphic card and check for those bios settings even though I'm pretty sure there are no such options. The only setting specifically for graphics card is the type of the adapter: monochrome, cga or vga/ega, which in the end it doesn't seem to do anything meaningful.
These are the only options my bios shows:
NOTE: cpu speed is set to slow because this way the Turbo button can be used. If set to fast the turbo mode is always on no matter if the switch is pressed or not.
file.php?mode=view&id=89323 file.php?mode=view&id=89321 file.php?mode=view&id=89322

My Projects on GitLab
Micronics Gemini VL-Bus | AMD 80486dx4 NV8T | Tseng Labs ET4000/W32i | Sound Blaster 16 Value CT2770
16mb FPM ram 60ns | IDE 504 MB | 12x CD-ROM Drive | MSDOS 6.22 & Win 3.11

Reply 4 of 4, by MastErAldo

User metadata
Rank Newbie
Rank
Newbie

An unexpected update:

It has been years since the last time i pulled out the card and it turns out I remembered the wrong model, not that it changes something, but its a 5428 (despide the fact that various programs reported it as a 5424).
download/file.php?mode=view&id=89327

My Projects on GitLab
Micronics Gemini VL-Bus | AMD 80486dx4 NV8T | Tseng Labs ET4000/W32i | Sound Blaster 16 Value CT2770
16mb FPM ram 60ns | IDE 504 MB | 12x CD-ROM Drive | MSDOS 6.22 & Win 3.11