Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Mordeth

DOS games under XP

Recommended Posts

I'm having trouble running any DOS game under WinXP. Usually such game comes as far as showing the text loading screen, then the program just winks out. Can anyone give me pointers / solutions to this problem?

thanks,

Share this post


Link to post

I have a couple of friends that use XP! I don't think they ever tried running a DOS game though! One main problem is that XP doesn't use DOS at all! It runs a newer version of Win32 which is what older versions of windows used for running DOS programs. XP only has limited DOS support so it probably doesn't support DOS format games. My only suggestion would be to start your computer in MS-DOS mode and type in the path and run the exe from there. I positive that will work. You made need a mouse driver for your DOS mode though!

Share this post


Link to post

The first thing you should try is running the compatibility wizard. It's under Programs -> Accessories -> Program Compatibility Wizard. Microsoft has a guide regarding its use in their online knowledge base: 301911. If you hate wizards, you can just find the program executable in My Computer or Windows Explorer, right-click, hit properties, hit the compatibility tab and play with the settings (most DOS games prefer Windows95 compatibility mode).

Following that, go here and try VgaTest.zip (a little over halfway down the page) and see if your video card actually supports all the VESA modes. A lot of newer ones don't, although this is more of a drivers issue than a hardware issue.

It could also be lack of memory (conventional, extended, or expanded) or sound card configuration problems. XP provides special files that apply pseudo-DOS autoexec.bat and config.sys files for DOS programs only. These are autoexec.nt and config.nt, which can be found in the C:\WINDOWS\system32 directory. If you create a shortcut to a DOS program, right click on the shortcut, hit properties, hit the program tab, and hit "advanced..." you will see the paths of these files in a dialog box. If you're going to experiment with these files, you should probably copy them, edit the copies and set the shortcut to point to the copies. You can even have different copies for different games, and always have the original files to fall back on in case of a misconfiguration.

Finally, there's VDMSound, which is a sound emulator that basically tricks games into thinking they're talking to a real SoundBlaster. It's incredibly easy to install and configure, and rarely fails.

Share this post


Link to post

I find I sometimes get better results when running DOS programs under XP from a command prompt window than via Start > Run.

However, in the case of Doom2.exe I still need to run it without sound (or using the PC Speaker :) ). Sadly, VDMS didn't help (though it apparently works on many computers).

Share this post


Link to post

I just tested Duke Nukem 3D, and it worked fine under XP. The sound was perhaps very slightly distorted (slowed), but not enough to be a problem, IMO. Duke just seems to drawl slightly more than I remember.

OTOH, Blood (another Build engine game) has the same sound problem as Doom, so I don't know where the logic is in all this. It might be totally different on other XP computers.

Share this post


Link to post

Ok, small update.

VGAtest doesn't work on my box, crashing with a runtime error. I already tried experimenting with the compatibility options, but to no avail.

Duke3D works, but the sound is slowed and getting REALLY out of sync a few minutes into the game. Blood simply refuses to run, and winks out of existance after the text loading screen (and fucking up video when doing so). I haven't tried VDMSound (but why would I want to trick the game it calls a real soundblaster when my soundcard actually is a soundblaster?). Also, even the playback of MIDI files by WMP is sometimes halted for no apparant reason. I don't have this with newer games, or with other music files.

I'm tempted to say Blood's refusal to run is a video problem.

I'm all ears for for more suggestions :)

Share this post


Link to post

Because of the nature of MS, they are tring to move from DOS as much as possible. Some machines don't even have it installed (unlike mine). For this reason, and many others, i HIGHLY suggest you move to Windows 98SE. XP just causes problems that could be avoided.

Share this post


Link to post
Mordeth said:

I haven't tried VDMSound (but why would I want to trick the game it calls a real soundblaster when my soundcard actually is a soundblaster?).

Because Windows drivers don't [typically] provide the proper DOS environment for the game's sound engine to function properly. In my case, MIDI works great but actual SoundFX bring the PC to a crawl.

In any case, DOSgames.com has a guide regarding the issue here, although I'm not sure how much of its content is review for you. CG Online has a similar article, but what's particularly useful is the last page, which gives specific solutions that worked for over 40 DOS games in XP. Although Blood isn't on the list, Duke3D is.

Microsoft also has this Windows Application Compatibility Toolkit 2.6 available for download. I haven't used it myself, but it could be worth a try.

cyber-menace said:

My only suggestion would be to start your computer in MS-DOS mode and type in the path and run the exe from there.

cyber-menace said:

Make a boot disc for the game! That way it will run when you start the computer! This way your completely avoiding using XP!

You've never used XP, have you? Neither of these are options.

charris said:

For this reason, and many others, i HIGHLY suggest you move to Windows 98SE.

Configuring a dual-boot system is probably your best option, but if you're going to use a 9x OS at least use 95B.

Share this post


Link to post

Hmmm this info seems to cover what i'm going through (vga mode not supported screen error).

What was Bill thinking when he decided to limit dos support? :-P

Share this post


Link to post

Mord: all of those are 16-bit problems. the XP kernel is 32-bit only.
the only thing I could suggest that the oh so knowledgable-Lut hasn't is to use VMWare and install a virtual Machine inside your OS to run a dos environment.
Do you really need the real game?(can't believe I just said that) -- just use Prboom...

Share this post


Link to post

DEMOn said:
Do you really need the real game?(can't believe I just said that) -- just use Prboom...


Last time I checked Prboom doesn't run Duke3D, Blood or any of the other DOS games I have...

I'm going to try a few of Lut's other suggestions... more on this later.

Share this post


Link to post

oops, I guess I should learn to read.
hate to say it, but you might as well be trying to run Macintosh progs on your pc... the system architechure is not designed for 16-bit.
dual boot or re-install a more powerful OS... like win98se.

Share this post


Link to post

I was going to post a very similar question to the one that started all of this, but now my curiousity has been curbed. Unless I can figure out a way to do some pretty fancy drive partitioning, it might be back to 98SE for me...

Share this post


Link to post

That's a pretty major step. There are a lot of good things about XP - it is very stable, etc., and older operating systems are less likely to support newer (and future) hardware and software so well. It depends on your priorities, I suppose.

Share this post


Link to post
charris said:

Because of the nature of MS, they are tring to move from DOS as much as possible.

Why?

Share this post


Link to post

My HD is NTFS, so, DOS won't work with it, even if I set compatibility. Personally, I think that MS kinda shot themselves in the foot in terms of the gamers market, I mean, wtf, we still like our old DOS games.

Share this post


Link to post

My OS priorities:

doom 1.9 support
.
.
(5 miles of void)
.
.
stability
.
.
hardware support
.
.
(5 miles of void)
.
.
looks and fancy features

Share this post


Link to post
BBG said:

My HD is NTFS, so, DOS won't work with it, even if I set compatibility. Personally, I think that MS kinda shot themselves in the foot in terms of the gamers market, I mean, wtf, we still like our old DOS games.



That may be but you can't keep something obsolete alive forever. DOS is a 20 year old OS which doesn't have anything useful to offer to the vast majority of today's users. MS waited 7 years after introducing Windows 95 to dump DOS and I really think that time was long enough.

Share this post


Link to post
BlueSonnet said:

Hmmm this info seems to cover what i'm going through (vga mode not supported screen error).

What was Bill thinking when he decided to limit dos support? :-P

He was thinking about annoying people! Alot of good games and software are DOS.

DEMOn said:

Mord: all of those are 16-bit problems. the XP kernel is 32-bit only.
the only thing I could suggest that the oh so knowledgable-Lut hasn't is to use VMWare and install a virtual Machine inside your OS to run a dos environment.
Do you really need the real game?(can't believe I just said that) -- just use Prboom...

Not true, XP started me in 16 bit.

ravage said:

Why?

Because they are stupid! They think DOS is useless! I don't want to spend money on VB when i can make programs from the free QBX that will run on older systems and even systems that don't have windows.

Graf Zahl said:

That may be but you can't keep something obsolete alive forever. DOS is a 20 year old OS which doesn't have anything useful to offer to the vast majority of today's users. MS waited 7 years after introducing Windows 95 to dump DOS and I really think that time was long enough.

I think they should have kept DOS, DOS is more flexable then Windows!

What would people say if they got rid of console in Linux and only kept X-Windows? Foo to MS!

Erik said:

My OS priorities:

doom 1.9 support
.
.
(5 miles of void)
.
.
stability
.
.
hardware support
.
.
(5 miles of void)
.
.
looks and fancy features

XP is a memory hog! Too many useless features! I have 512 MB of RAM, and i think i may need more!

Share this post


Link to post
charris said:

I think they should have kept DOS, DOS is more flexable then Windows!

Ouch! This is the best joke of the millennium!
Tell me ONE thing DOS can do that Windows cannot. No, low level hardware programming does not count. Any good OS hides this stuff as good as possible for compatiblity reasons. That is the entire reason we are in this mess right now. Don't blame Windows for DOS's shortcomings.

What would people say if they got rid of console in Linux and only kept X-Windows? Foo to MS!

You DO have a console in WinXP (and also in all other WinNT versions. What do you think, CMD.EXE is??? It's just no longer 16-bit as the console in Win95 and Win98.


However, I switched to more comfortable tools which also offer command line based input.


I am a programmer and have worked with all systems from DOS to all versions of Windows and Linux and even some game consoles and I can tell you, Windows XP is BY FAR the best system to work with!

Share this post


Link to post

Please refrain from posting stuff that doesn't directly pertain to the question asked. This is the "questions" forum after all, not "everything else" :)

Haven't had the chance to play around with settings yet, btw.

Share this post


Link to post

(Sorry Mordeth :)

BBG said:

I think that MS kinda shot themselves in the foot in terms of the gamers market, I mean, wtf, we still like our old DOS games.

Seriously, how big part of the gamer market is interested in DOS? Hardly even 5%.

The less than 5% of gamers who want DOS support can easily use an emulator, set up a dual boot system, or keep the DOS games on an old computer.

Keeping the 16-bit parts of the operating system wouldn't give any benefits. It'd just make the entire system slow and unreliable - a stupid solution to a problem that doesn't exist.

Share this post


Link to post

Has nothing to do with 16-bit code. Has everything to do with how the program is attempting to access protected areas - like video buffers.

IOW, XP runs 16-bit code just fine. The Intel architecture provides for this by just setting a bit for the task.

Share this post


Link to post

if there was 16-bit kernel architechure then they would have dos VMs in there.
thus 16-bit support is the problem.

Share this post


Link to post

Has nothing to do with 16-bit code. Has everything to do with how the program is attempting to access protected areas - like video buffers.

And DOS-style memory access is dangerous, so there's no reason why Microsoft would want to endorse it at all on their server-purpose operating systems.

Share this post


Link to post
DEMOn said:

if there was 16-bit kernel architechure then they would have dos VMs in there.
thus 16-bit support is the problem.



No, it is not. Just look at Windows 3.x. It was fully 16-bit but it was almost impossible to run DOS-software that used direct hardware access from the desktop without crashing it. Playing games from within Windows was nearly impossible. You had to quit Windows completely.

The problem is simply that DOS-games access the hardware (most importantly graphics and sound) directly. You can block this direct access in 16-bit as well (which a system like WinXP, which is designed to be SECURE in the first place, would prohibit in any case) Problems occur when programs use 'dirty' code to do this - and believe me - this was rather common in the good old DOS-times.

Many old DOS programs even have problems with Windows 98 just because the hardware is incompatible. For example, I have a sound chip on my mainboard which is not Sound Blaster compatible. As a result I don't get any sound with DOS games - even in DOS-mode! And some programs that use 'dirty' sound detection code even crash!

Let's face it. DOS has been out of business for nearly 8 years and the hardware has evolved dramatically in this time. It's only natural that some old software won't work on modern computers.

Share this post


Link to post
Fredrik said:

And DOS-style memory access is dangerous, so there's no reason why Microsoft would want to endorse it at all on their server-purpose operating systems.

As Graf said, this has nothing to do with 16-bit code. Memory protection is handled with a different bit setting. What happens is that a program's key and the memory accessed key have to match. Not only that, but the permissions also have to match - for example, read only vs read-write.

The basic difference between 16-bit code and 32-bit code is addresssing range. In 16-bit code, the offset range is 64kb, so one has to put special code in to bump the registers at 64k increments. This checking slows it down a lot if the code goes over the 64k range (otherwise it's actually just a fast or faster). 32bit code has direct linear addressing to 4GB vs 64kb. 64bit code is more of the same - huge linear addressing ability - terabytes.

There is a performance penalty for swapping states from 16 to 32 and back. This was really bad on the first Pentium and led to the mistaken idea that 16-bit code was slow. It was the state swap that sucked.

Share this post


Link to post
Graf Zahl said:

The problem is simply that DOS-games access the hardware (most importantly graphics and sound) directly. You can block this direct access in 16-bit as well (which a system like WinXP, which is designed to be SECURE in the first place, would prohibit in any case) Problems occur when programs use 'dirty' code to do this - and believe me - this was rather common in the good old DOS-times.


Win 3.1 didn't actively block any direct hardware access -- but what it DID do was take over parts of DOS. DOS is interesting in that it can be more or less totally overridden at run time. When DOS games start up, for instance, they usually "run a timer." In Windows now that's just a function that gets called roughly on time, but in DOS, it was done by actually reaching into the DOS interrupt function table and replacing the address for the timer interrupt with a pointer into your own program. So in short, Windows 3.1 more or less did the same thing, but on a much larger scale. If you ran DOS programs under it that did not like the changes it had made, or if Windows didn't like the ones the game was subsequently trying to make, you got bad results :->

Share this post


Link to post
Guest
This topic is now closed to further replies.
×