VOGONS


First post, by clb

User metadata
Rank Oldbie
Rank
Oldbie

Hey all,

here's something I have found quite an exciting project that is now complete enough to share. As part of developing CRT Terminator, I have been building up a database of information of different test SVGA adapters and their test results.

This forms a "conformance suite" of sorts, that lists information of how well different SVGA adapters work with CRT Terminator, but also has different game and compatibility tests. Maybe it can be an interesting source of data to cross-reference when investigating different old graphics cards. Here is a link to the suite:

https://oummg.com/manual/adapters.html

Enjoy!

In the test suite, I have tried to collect the different famous and picky DOS games and demos that produce different results and quirks on different adapters. I.e. in addition to being a test of how well a particular graphics card works with CRT Terminator, it is also an attempt to collect together and document all the different hardware and software bugs that affect old DOS games and graphics cards.

If you know of a particular hardware bug that is not yet reflected in the test cases, I'm all ears.

Reply 1 of 2, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie

Hi, thanks for the test results. Got a few questions and thoughts:
1.Univbe says Cirrus 542x cards can't use linear framebuffer when system RAM exceeds 14MB. How much does this affect performance? Is linear FB enabled by default without Univbe? And how does this impact Windows 9x?
2.For the Trident 8900c card with Samsung KDA476 RAMDAC: Since it's a generic 256-color RAMDAC, 15/16-bit modes are not expected to work. But sources say the 8900c BIOS v3.x has support for 15/16-bit modes, and without checking the RAMDAC. So instead of proper output, you'd probably get horizontally stretched 256-color image. That's probably why Univbe disables these modes. Also, I doubt any real 8900c cards shipped with 15/16-bit RAMDACs. RAMDAC swapping seems possible though - might try it myself if nobody else does.
3.Seems Univbe mainly helps old SVGA cards. For newer cards with VESA 1.2 BIOS, it causes more issues than it solves.

Reply 2 of 2, by clb

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote on 2025-01-29, 12:09:

Hi, thanks for the test results. Got a few questions and thoughts:
1.Univbe says Cirrus 542x cards can't use linear framebuffer when system RAM exceeds 14MB. How much does this affect performance? Is linear FB enabled by default without Univbe? And how does this impact Windows 9x?

That is a good question, I don't know the answer. I have only tested DOS, and no benchmarks on protected mode games that could possibly use linear framebuffer.

I do have experience with programming bank switching in the past, so from that experience I would guess it would be some single digit performance loss to juggle the tedious bank switching code. But probably varies per game.

noshutdown wrote on 2025-01-29, 12:09:

2.For the Trident 8900c card with Samsung KDA476 RAMDAC: Since it's a generic 256-color RAMDAC, 15/16-bit modes are not expected to work. But sources say the 8900c BIOS v3.x has support for 15/16-bit modes, and without checking the RAMDAC. So instead of proper output, you'd probably get horizontally stretched 256-color image. That's probably why Univbe disables these modes. Also, I doubt any real 8900c cards shipped with 15/16-bit RAMDACs. RAMDAC swapping seems possible though - might try it myself if nobody else does.

That sounds about right. And it explains why the output didn't look correct on VGA.

It does seem like the 8900C is programmed to carry hi-color modes in the mode table in BIOS. CRT Terminator does not really care (it cannot know really) whether a graphics card has a hi-color RAMDAC, and it will happily interpret any e.g. 1280x480 8bpp video mode as "this must be 640x480 15/16 bpp". So as long as the card has enough capability to scan out such modes, CRT Terminator will pick up on that.

noshutdown wrote on 2025-01-29, 12:09:

3.Seems Univbe mainly helps old SVGA cards. For newer cards with VESA 1.2 BIOS, it causes more issues than it solves.

That is often the case. On some adapters there are more problems from using UniVBE for Feature Connector output. This is understandable after all, since the FC bus would have gone practically unused at the time, so UniVBE authors wouldn't have known how to test it. On some other adapters, UniVBE does help with Feature Connector, but it is a bit random which way things went. This was one motivating factor to record results both with and without UniVBE.