VOGONS


Descent won't work in DOS

Topic actions

First post, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member

I'm trying to get Descent 1 to run in real DOS (prior to OS boot using GUI = 0 option) on a WIndows 98 rig. However I'm getting a general protection fault 2001 at 0DH with DOS4GW. According to the internet this is not a rare problem or anything but I can't get a clear answer on how to fix it. There was some stuff about PATH length but I tried that solution and it didn't work. I'd run it under 98 except I can't get my midi wavetable working so I'd rather run it under DOS where it actually does work. Anybody had this error with Descent before?

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 1 of 20, by xjas

User metadata
Rank l33t
Rank
l33t

Try replacing DOS4GW.exe with DOS32A - I did that on my Descent 2 install, but I can't remember the exact error I was getting that led me to do so.

selected builds & megathreads { Quick & Clean | Like a Hipster | Only One 'T' | In a Lunchbox | IT IS THE NINETIES }

Reply 2 of 20, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member

I believe that DOS4GW is compiled right into the binary, which is probably why I don't see the file in the game directory.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 4 of 20, by xjas

User metadata
Rank l33t
Rank
l33t
Davros wrote:

Try creating a dos boot disk and boot from that

^^ hmm, didn't realize it was different than Descent 2. Try just running 'dos32a descentr.exe' which should(?) do the same thing. IIRC there's also a patcher available that replaces bundled in DOS4GW with DOS32A.

Note: I'm not *sure* this will solve your problem, just curious if it works.

selected builds & megathreads { Quick & Clean | Like a Hipster | Only One 'T' | In a Lunchbox | IT IS THE NINETIES }

Reply 8 of 20, by akula65

User metadata
Rank Oldbie
Rank
Oldbie

Make certain you have updated Descent to at least Version 1.4a. The following links have the Version 1.0=>Version 1.4a and Version 1.4a=>Version 1.5 patches:

http://www.dfiles.de/download/d1/patches/d1_14a.exe
http://www.dfiles.de/download/d1/patches/d1_15.exe

Avoid the Version 1.0=>Version 1.5 patch as it introduces problems with music after Level 7.

Reply 9 of 20, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member

I tried 1.4a and it still didn't work. I also just tried booting from a 6.22 floppy but now I can't access my c drive. Possibly because it's a different version of dos than what I formatted the c drive from? Not sure.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 11 of 20, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

Strange, never had any real issues with Descent 1 working in MSDOS, with or without the standard Microsoft memory managers.

Have you done a full memtest to see if the memory is working right?

Reply 13 of 20, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member
dr_st wrote:

So, it works under Win98, but not under Win98 pure DOS mode?

Did you try to start up Win98 DOS with startup files skipped (F5 at startup), as opposed to creating DOS 6.22 bootdisk?

I suppose I could try that (I think it's called DOS Safe Mode or something).

I didn't mean that it doesn't work with 6.22. However if I can't access my drives with 6.22 there's no way to load the game since it won't fit on a floppy.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 14 of 20, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member

Fixed the problem. It was the fact that Win98 by default does not use any memory managers for DOS. As soon as I called HIMEM and EMM386, Descent started working. Interesting to point out that it broke other games though like operation neptune.

I also have problems with Jazz and Towers but apparently that's a CRT? bug. I'll figure that out.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 15 of 20, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
Gahhhrrrlic wrote:

I also have problems with Jazz and Towers but apparently that's a CRT? bug. I'll figure that out.

Late PCI, early and middle AGP video chips DOS game compatibility test results

Reply 16 of 20, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member
retardware wrote:
Gahhhrrrlic wrote:

I also have problems with Jazz and Towers but apparently that's a CRT? bug. I'll figure that out.

Late PCI, early and middle AGP video chips DOS game compatibility test results

I think CRT might be a misnomer or it's not as it seems. The bug I'm referring to is the programming language used to compile games like Jazz and Towers. Apparently there was a bug in the code that would cause the game to crash if the CPU was faster than 200MHz. How this relates to a CRT is beyond me but the fix involves some sort of patch which rewrites the exe files to fix the bug and allow them to play again.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 17 of 20, by zyga64

User metadata
Rank Member
Rank
Member

CRT is the name of the unit in Borland/Turbo Pascal. It provides functions for screen handling , keyboard etc.
Something like stdio.h in C or iostream in C++. In this unit somwhere there is a loop which causes overflow error on fast CPU (well faster than 200MHz).

It seems that those games are created using Borland Pascal...

1) SCAMP /286@20 /4MB /TVGA9000C /CMI8330
2) i420EX /486DX33 /16MB /Trio64V+ /AZT2316
3) i430HX /P233MMX /64MB /VirgeDX+3Dfx /Vibra16s
4) i440BX /P II 400 /256MB /FX5500/AWE64
5) i865G /E5800 /2GB /Ti4200 /YMF724

Reply 18 of 20, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
zyga64 wrote:

It seems that those games are created using Borland Pascal...

Certainly Jazz Jackrabbit was.

All hail the Great Capacitor Brand Finder

Reply 19 of 20, by ssokolow

User metadata
Rank Newbie
Rank
Newbie
zyga64 wrote:

CRT is the name of the unit in Borland/Turbo Pascal. It provides functions for screen handling , keyboard etc.
Something like stdio.h in C or iostream in C++. In this unit somwhere there is a loop which causes overflow error on fast CPU (well faster than 200MHz).

It seems that those games are created using Borland Pascal...

...and there are various patchers for that too, with names like CRTFIX.EXE and PATCHCRT.EXE.

As I remember, it's some kind of CPU speed measuring loop. (Similar problem to why the first Unreal engine doesn't like it if your CPU's clock speed varies while you're playing.)

Internet Archive: My Uploads
My Blog: DOS & Win16 programming resources, Free Installer Creators for All Eras
My Rose-Coloured-Glasses Builds

I also try to announce anything retro-relevant on on Twitter.