VOGONS


VIDEO - Multiple SVGA Chipset patch (commited)

Topic actions

Reply 140 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Precisely. The guide should reflect this difference.
I've done some benchmarking in an attempt to figure out if there is any benefit of using "Turbo" driver instead of the generic one from WFW. It appears that there is not that much. Here are Ziff-Davis WinBench 96 scores:
a) Generic SVGA driver
Total 3.13; individual scores 3.31, 2.88, 1.86, 2.34, 1.98, 3.04, 0.917, 8.04, 1.29, 1.09, 0.0809, 0.101, 0.202
b) Non-Turbo Tseng ET4000 driver
Total 3.04; individual scores 3.73, 2.47, 1.84, 1.94, 1.54, 3.63, 0.917, 10.7, 1.33, 1.06, 0.0814, 0.0943, 0.235
c) Turbo Tseng ET4000 driver
Total 3.11; individual scores 3.52, 2.53, 1.6, 2.22, 2.2, 3.7, 1.52, 10.1, 1.46, 1.07, 0.08, 0.101, 0.201
All tests are in 1024x768x256. There are a lot of factors that influence these numbers but the important thing is that almost all differences seem to be within error margin. According to the total score all three drivers perform nearly identically. However, the numbers for test 8 differ by about 20%, a little to much to be a fluke. This is one of copy tests and my theory is that in the generic driver it uses single bank for read and write but in OEM drivers separate banks are used minimizing bank switching.
For those wondering why the last individual tests have scores that low -- those are StretchBlt tests, they were slow on the real hardware as well.
Conclusion: generic driver is fine. There may be minor advantage in using "Turbo" driver. Non-Turbo driver is not recommended -- it is not faster and it has oddly modified standard colors.
IIRC, those WinBench scores are not that different from real scores on ISA ET4000 card -- I think mine had between 3 and 4.

Reply 141 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Patch updated to CVS state as of 7/31 PST. Nothing new, just a refresh.

Reply 142 of 343, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Tried out Virtual Pool today. Looks great in 640x480! Good job!

Reply 143 of 343, by Kaminari

User metadata
Rank Oldbie
Rank
Oldbie

NeoPaint DOS works great as well in 800x600x256. However, in high colour mode (65K colours), the cursor is only visible in the left part of the screen.

Reply 144 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

16-bit color modes are not implemented in current Tseng driver. I can try digging info on High Sierra DAC and see how much effort it would take but no promises. I don't know if any games used those modes.
BTW, the patch has been updated (again) to reflect changes to memory.cpp.

Reply 145 of 343, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

Applying svga patch, the colors on "Floor 13" became broken as Serious Callers Only said.
Holy Crap!!!

Reply 146 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

I will take a look tonight. From those screenshots on mobygames it looks like the game is running in 640x480x16. Not very common mode for games, most used 320x200x256 on VGA. I have no idea how it looks in CGA mode yet, must be pretty ugly.
ykhwong, thanks for finding this. If you have some time can you do a little test for me -- apply "setmode/setcrtc corrections" only without applying my patch and see if Floor13 is still wrong. That patch is separate on Sourceforge but it is incorporated into mine.

Reply 147 of 343, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

No, I applied only "setmode/setcrtc corrections" and then
floor13 sent correct colors.

Reply 148 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Thanks a lot. This restricts the issue to very small number of changes. Should not be that difficult to find and fix.

Reply 149 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

It was actually more work than I expected but in the end it was just one line fix. Apparently, I've missed one simple change in vga_attr.cpp (commented out line). Floor 13 seems to be working fine.
Also, I've finally found Moraff's World which (according to Mobygames) is one of the first SVGA games predating VESA. The one I've got is shareware but I don't think it makes any difference. Works fine.

Reply 150 of 343, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

Thanks, I also found a config statement in your patch.
I'm wondering why videoram= doesn't work on some graphic chipsets?
Though I set videoram=2048, an application says just 1024KB for videoram in et3k/et4k & paradise.

Reply 151 of 343, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

vasyl: Yes, Steve Moraff made a whole handful of pre-VESA games that support a wide variety of SVGA chipsets. They might be useful in testing SVGA enhancements to DOSBox.

ykhwong: Is it possible that those cards only support up to 1024KB (1MB) in real life? It could be a hardware limitation, especially on the Paradise card.

Reply 152 of 343, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

My et4000 cards only have sockets for up to 1MB memory.

Reply 153 of 343, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

hardware limitation... I got it. 😀

Reply 154 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

All chipsets had and have memory limitations, often dictated by bus architecture. Tseng ET4000 could address only 1MB, ET3000 and Paradise PVGA1A were limited to 512K. The way of figuring available memory varied from chipset to chipset. ET4000 had quite clean implementation which provided all data through one of registers. ET3000 on the other hand was clumsy -- program was expected to write to videoram and detect the wraparound which could be at either 256 or 512K -- I haven't implemented that and I am not sure if there is any value in doing so. Without wraparound it just reports 512K. PVGA1A seemingly used the same approach. I haven't touched S3 implementation, I wanted to change as little as possible there until my patch gets to the mainline.
HunterZ: All Moraff's stuff I tried works nicely. Those don't execute SVGA functionality nearly as much as Dawn Patrol and Virtual Pool. I ran out of test cases -- is there anything else that should be working but doesn't?

Reply 155 of 343, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Sim City 2000 would be a good one to try. Can't really think of any others off the top of my head that support specific SVGA chipsets.

Reply 156 of 343, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

There are several changes to the vga part as well (end vret etc.)
so it might be a good idea to not only check that the SVGA is
working (or split the patches or something).

Reply 157 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

I am testing as much as I can. Having public experimental build also helps a lot -- I would never get to Floor 13 that had a regression in the previous version of my patch. BTW, it was not a coding issue, just a result of bad merge -- there was a change in one file in CVS that got dropped during integration. Typical danger of patch maintenance. Splitting patch into multiple steps is not going to help much against this. It can actually make matters worse if multiple steps are applied to the same files. At this point I am quite happy about how well it works.
Speaking about testing: SimCity 2000 DOS works perfectly, so does Warlords II Deluxe. Those were not critical as they work with VESA but it is still nice to have them working on the first try.

Reply 158 of 343, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Crusader: No Remorse/No Regret do recognize the Tseng cards as Vesa/SVGA cards and want to use 640x480x256 but are crashing.
From the Readme:

to play Crusader: No Regret, you must have a VESA BIOS installed. If you do not, the game will not run properly. Most video card […]
Show full quote

to play Crusader: No Regret, you must have a VESA BIOS installed. If you do not, the game will not run properly. Most video cards have a VESA BIOS, but some require a driver to provide this functionality. If you do not
have VESA drivers, you will need to contact the manufacturer of your video
card, or a third party vendor of a universal VESA driver like SciTech.
Visit SciTech's web site and download the Display Doctor 5.2.:
http://www.scitechsoft.com

Where does Scitech hide their old Dos software? 😀

Reply 159 of 343, by Zup

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Where does Scitech hide their old Dos software? 😀

Maybe here

Last edited by Zup on 2005-08-05, 16:54. Edited 1 time in total.