dgVoodoo 1 announcement thread

General information and assistance with dgVoodoo.

Re: A glide wrapper for DOS programs

Postby Dege » 2004-5-30 @ 07:06

Thanks DoomGazer, I have the abandonware version of Blood, and I use it IN exactly the same way you wrote it. :happy:
The slowdown problem (slowmotion) comes out under XP (and 2k) due to the following:
There are two threads, one for the DOS program, and one for the DX-rendering code. While the rendering thread isn't suspended and is rendering the scene, dos thread must also be run and looped (but also throwing its time slices) to be able to handle pending interrupts (the most important one is the timer interrupt). It's important to get the operating system to switch to the dos thread in the next time slice scheduling when an interrupt occurs to handle it. I think it could be done by setting the appropriate priorities for those two threads, but it doesn't work after all, it's not clear for me why. In practice it doesn't handle all of the interrupts so many of them are lost. Since the timer interrupt is the heartbeat of almost all the games, the "time slows down" for the game but it cannot notice it to skip frames. The more the rendering thread has to draw the more interrupts are lost, the more the game slows down to slowmotion (and Blood draws very much triangles).
Huhh, maybe I shouldn't have written this here, but now everybody knows why the slowmotion occures under NT kernel windows. :happy:
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: A glide wrapper for DOS programs

Postby Dege » 2004-6-13 @ 15:08

I've released a new version, but don't expect too much. I'm lazy and dejected nowadays. It should run Screamer 2, S Rally and Carmageddon (altough there is a fog issue in Carm, I think). I also haven't dealed with how to start Sc2 under XP (if it will be problematic) :happyhappy: :happyhappy: :happyhappy: :evil:
However I hope the new solution for XP-DOS speed problem will work FOR most of you.
Last edited by Dege on 2004-6-18 @ 06:01, edited 1 time in total.
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: A glide wrapper for DOS programs

Postby ableeker » 2004-6-13 @ 20:58

Dege,

I've just been trying out 1.23, and I'm impressed! TR1 actually runs on my system now (earlier versions didn't, but ran on my alternative XP partition), and the speed has been much improved.

All in all, good work!
User avatar
ableeker
Newbie
 
Posts: 64
Joined: 2003-7-12 @ 22:15
Location: Amsterdam

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-16 @ 23:01

Hi Dege,

I'm preparing a massive report on all my Glide games with 1.23. I'll post it on here as an attachment when it's done!

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby barev » 2004-6-18 @ 15:21

Hi Dege! Congratulations for the new version! I've tested it with Carmageddon and although there were some minor graphic glitches (but not with fog?!) I think overall it is great! Keep up the good work! :cool:
Thank you very much for your efforts that allow us to experience some classic games as they were 'ment to be played'! :happyhappy:
barev
Newbie
 
Posts: 8
Joined: 2004-4-20 @ 17:57

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-19 @ 22:36

Hi Dege,

Here's my feedback on 31 Glide games. I do have some others but they're either fine in Direct3D (so I don't use Glide) or setting them up is painful!

This is the first time I've properly installed your wrapper (into C:\WINDOWS) after having uninstalled Zeckensack's wrapper to test. Overall though I prefer Zeckensack's wrapper (no disrespect to your wrapper!) as it runs a few more games.

HOWEVER: I am still pretty stunned from seeing Screamer Rally at 1280x960 at full speed! Excellent work!

I will still use your wrapper though for individial games (Boss Rally, NFS2SE and Test Drive 2 Off Road come immediately to mind as being near spot-on compared to Zeckensack's wrapper).

Regarding the unusual (and possibly useful to know-about!) bugs, check out my reports on Ignition, Sega Manx TT SuperBike, Test Drive 4, Ultim@te Race Pro and V-Rally all of which work pretty perfectly in Zeckensack's wrapper.

Hope this is useful! Please note the unusual settings I applied to the wrapper by the way (resolution etc).

Ice
Attachments
dgVoodoo 1.23 feedback.txt
(7.71 KiB) Downloaded 3555 times
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby Targaff » 2004-6-20 @ 09:11

Just out of curiosity, I presume you were testing Powerslide just for the sake of testing rather than because it's not working with GL?
Intel CC820 | PIII 667 | 2x128MB SDRAM | 3Dfx Voodoo 5 5500 @ Dell P790 | Creative SB PCI128 | Fujitsu MPC3064AT 6GB + QUANTUM FIREBALLlct10 10 GB | SAMSUNG DVD-ROM SD-608 | IOMEGA ZIP 100 | Realtek RTL8139C | Agere Win Modem
User avatar
Targaff
Member
 
Posts: 244
Joined: 2002-11-19 @ 17:40

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-20 @ 13:03

Yeah Powerslide supports Glide but it's not necessary as you can run it in Direct3D and it looks better! Though you may have to force Direct3D using Powerslide's ps_clo.exe utility as it tries to run in Glide otherwise. Glide booted in Zeckensack's but had garbage all over the screen in the game.

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-20 @ 13:20

Another message for Dege: is it possible in future to support DOS game by putting the wrapper in the game's folder? If I install Zeckensack's wrapper and dgVoodoo (as Zeckensack's wrapper doesn't put glide2x.dll in C:\WINDOWS) then Screamer Rally won't detect the hardware properly. As soon as I delete Zeckensack's wrapper it works :pppt:

UPDATE: just noticed Zeckensack's just released 0.80 wrapper. I'll see if that helps or hinders!

UPDATE2: doesn't seem to be much different! For a bit of cross-Glide-wrapper-thread linkage, go here for my postings in the Zeckensack wrapper thread: viewtopic.php?t=1708

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby zeckensack » 2004-6-21 @ 00:54

Yup, that's a tough one.

dege,
how does the DOS glide game reach the glide2x.dll on your wrapper?
Do you call LoadLibrary somewhere, so that you can influence the search path?
And how is the DLL search order different from Win-Glide?
User avatar
zeckensack
Newbie
 
Posts: 31
Joined: 2003-10-28 @ 18:45

Re: A glide wrapper for DOS programs

Postby Dege » 2004-6-21 @ 05:45

Hi all!

First of all, I'm glad if new version really works much better in DOS.
Carmageddon: I have problems with fog, because the background texture is not in fog (rarely it is in). Barev, could you specify what minor glitches there are in Carm, hopefully I could fix them later.

Ice, thank you very much for your extensive feedback! Very useful work! :cool: Now I'll have more to test the wrapper with. :happy:
(I've got other games from Craig, but I don't have much time nowadays and I'm even lazy :happy: )

Zeckensack, Ice, my wrapper reaches glide2x.dll by a RegisterModule call from dos. In fact it's an invalid opcode instruction that gets ntvdm to load a specified dll. It seems in this case the search order for the dll is not the usual .\ (current dir), \windows\system32, \windows path, but \windows\system32, \windows, or something like that (maybe the current dir is \win\sys32 because ntvdm is loaded from there, and not the "emulated" dos current dir is taken account. Frankly, I didn't experimented with this). Anyway, I could change the code for RegisterModule to force studying whether there is a glide2x.dll in the current dos dir or not. My temporary solution for overriding this glide wrapper problem is renaming Zeckensack's glide2x.dll in \windows\system32 to something different for the time you use dgVoodoo for dos, and rename it back to glide2x.dll when you finished with dgv. :s-face:
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: A glide wrapper for DOS programs

Postby Dege » 2004-6-21 @ 11:27

I've whipped up a new build of glide2x.ovl. Try this, it searches glide2x.dll in the current directory first.

Sc rally: while I was galvanizing life into a new lfb caching-flushing method, I realized that sc rally reads the lfb during the game. It means its fps should go down to the hell when a 32 bit screen mode is used. It doesn't do it in 1.23 after all. Of course it a bug again. :angry:
However it raises a question: if sc rally reads from the lfb when locking for reading is buggy in that special case but sc rally seems to work normally in spite of it, what does it read? Maybe it's not necessary at all, but the developers of the game put some read locking/unlocking just for the sake of joking.
I hate games reading the lfb in each frame. :angry:
Attachments
glide2xovl.zip
(10.44 KiB) Downloaded 658 times
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-21 @ 19:04

Yehah! That works! Only two things now:

1. If you put dgVoodooSetup.exe into a game's folder you can usually set the wrapper up for that game in particular (applies to Windows Glide games), however this doesn't seem to work for DOS games (Screamer Rally in this case) as the settings are default. I assume the wrapper is searching for its settings in a global location and not in the game's folder?

2. I now just need to make VDMSound play the audio better (it slows the game waaaay down!

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-21 @ 20:19

And here's another couple of games feedback:

NASCAR Racing 2 with 3Dfx patch - CRASH: game locks up when dgVoodoo starts.

Fatal Racing 3Dfx - this rare version was bundled with the Orchid Righteous 3D Voodoo1 card and it doesn't work. Apparently the game does hardware-level calls not using Glide so it only works on the original Orchid Voodoo1 card!

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-21 @ 23:28

Okay I solved the slow-down when using VDMSound - simply go to the Performance tab, select Try To Reduce CPU Usage and move the slider to the left (or towards the left). Result? Screamer 2 flat out with full Soundblaster 16 emulation!

Couple of Screamer2 notes:

1. If you get into a BIG pile-up the game will often crash - this happened on the original too!

2. If you are having trouble getting to the Setup program (as on mine the game drops back to WinZP to tell me the game is trying to access COM1), when it drops back to XP use alt+tab to reselect the DOS game icon and you will see a flashing cursor in the top-left of the screen. Alt-tab again to return to WinXP. Close all windows except the COM1 error message then here's the tricky bit: click Ignore to the message and IMMEDIATELY hit alt+tab to switch back to the DOS game icon. If you time it right the Setup program will appear. If not you'll get rows of garbage DOS characters and will have to fiddle using Esc and Y to exit and try again!

Now only my first issue of the DOS wrapper not reading dgVoodooSetup from the game folder needs to be fixed as Screamer2/Rally both run at up to 85fps which is too fast!

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby Dege » 2004-6-22 @ 07:33

85 fps? It's wonderful... :happyhappy: Hopefully the next version will make it slow down to hell as I wrote before. :happyhappy: :happyhappy:

Try to lower the refresh frequency manually to 60-70hz or so in the setup, or check option "monitor freq is the closest supported freq" (it sets the ref. freq to what sc2 requires). Or, choose option "set by the application (may flicker)" instead of "always your monitor freq", it will still drive your monitor in 85hz, but restricts the max number of bufferswapping (frames) to the freq sc2 requires.

Ice, do you run dgv in server mode? If so, it really can cause problems of what config is used because both the dgvoodoo.exe and glide2x.ovl use the glide2x.dll, maybe different instances in an unfortunate case (and config is stored in glide2x.dll itself). Copy dgvoodoo.exe to the game dir, to ensure they use the same instance of glide2x.dll. It's an interesting problem, I will fix it somehow in a next version. :s-face:
However it all should go fine in vdd mode.

I think you are right in Fatal Racing. It seems it has a built in glide driver so dgv cannot help there. :sad:
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-22 @ 09:15

I only use VDD mode as server mode says it cannot start!

Here's my problem: take a Windows game like NFS2SE, put dgVoodooSetup.exe, and glide2x.dll in the game folder and run dgVoodooSetup.exe then the game will use those settings (no other games will).

For DOS games I put dgVoodooSetup, glide2x.dll and glide2x.ovl in the game folder but then if I run dgVoodooSetup.exe and change the settings they are NOT used by the game (and no settings from other games are used either).

As I mentioned before I use Zeckensack's wrapper globally for all other games then install dgVoodoo for the games where it works better (or in the case of DOS Glide games, works at all!).

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

Re: A glide wrapper for DOS programs

Postby Dege » 2004-6-22 @ 11:07

Hmm.. just to make sure: do you set the platform to dos in the setup?
There are two configurations in a glide2x.dll, one for windows games and one for dos games. If you select the dos in setup and do config, it should work.
(server mode only can be used if you uncheck "working in vdd mode" in setup).

Anyway, I will look at it, but it should work.
Dege
Oldbie
 
Posts: 954
Joined: 2003-9-04 @ 11:06

Re: A glide wrapper for DOS programs

Postby zeckensack » 2004-6-22 @ 11:10

VirtuaIceMan wrote:I only use VDD mode as server mode says it cannot start!

Here's my problem: take a Windows game like NFS2SE, put dgVoodooSetup.exe, and glide2x.dll in the game folder and run dgVoodooSetup.exe then the game will use those settings (no other games will).

For DOS games I put dgVoodooSetup, glide2x.dll and glide2x.ovl in the game folder but then if I run dgVoodooSetup.exe and change the settings they are NOT used by the game (and no settings from other games are used either).

As I mentioned before I use Zeckensack's wrapper globally for all other games then install dgVoodoo for the games where it works better (or in the case of DOS Glide games, works at all!).

Ice
Do you run that stuff from Explorer/other GUI driven stuff of your liking?
As a proof of theory, could you try opening a DOS box, changing to that directory and starting dgVoodooSetup and the game from there?
That may be related to the "current dir" stuff Reckless posted in the other thread.
User avatar
zeckensack
Newbie
 
Posts: 31
Joined: 2003-10-28 @ 18:45

Re: A glide wrapper for DOS programs

Postby VirtuaIceMan » 2004-6-22 @ 11:26

Hmm I'm beginning to think I didn't click the DOS option... it's probably that, I will confirm this evening!

UPDATE: yeah my mistake, I forgot the DOS option in the rush of excitement of getting Screamer2+Rally to run again! The Glide versions are more stable than the original but I found the regular crashes are due to sound emulation. Screamer 1 also crashes a lot unless you select Soundblaster Mono as the soundcard (or no sound)!

Ice
User avatar
VirtuaIceMan
Oldbie
 
Posts: 843
Joined: 2003-12-22 @ 00:57

PreviousNext

Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 3 guests