VOGONS


First post, by AvalonH

User metadata
Rank Newbie
Rank
Newbie

When I run this game in Dos6.22 on a 486DX33 the following error comes up 'Your program caused a divide overflow error'. It works in dosbox so the files are not corrupt on the original floppy.

Looking around the only thing I have found is a general page for that error in Dos
https://www.computerhope.com/issues/ch000396.htm

Reply 1 of 10, by collector

User metadata
Rank l33t
Rank
l33t

Questions involving old hardware should be asked in Marvin. This subforum is for DOS games on modern systems. Marvin, the Paranoid Android

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 2 of 10, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

Try loadfix first. Otherwise a game designed for a 286 might be running too fast on your 486, you could try a slowdown utility.

EDIT : It works fine on my P90, do you meet the requirements?

Reply 4 of 10, by AvalonH

User metadata
Rank Newbie
Rank
Newbie
Shagittarius wrote:

Try loadfix first. Otherwise a game designed for a 286 might be running too fast on your 486, you could try a slowdown utility.

EDIT : It works fine on my P90, do you meet the requirements?

Does it give you the same divide error without loadfix?
The manual and box is dated 1992. I wanted to get it working on newer hardware and used the 486 to check if it was a speed issue. I have also tried it on a 1ghz PIII in DOS, same error. Which loadfix did you use, the one that comes with Dos 6.22 didn't work. The exe does not appear to be exepacked.

When i boot with just himem.sys I do not get the divide overflow error it just fails to load saying EMS memory is required. After booting with emm386 RAM in config sys (and loadfix) it gives the divide overflow error.

Reply 6 of 10, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

I ran it successfully without loadfix. I should also mention I am running QEMM and not EMM386 on my P90. Otherwise my p90 is certainly faster than your 486, but I don't know what could else it could be. You are running loadfix at the prompt before the executable like "loadfix caveman.exe" right?

Reply 7 of 10, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

What would loadfix have to do with it? Loadfix only makes sure that a program is not loaded into the first 64 KiB of memory by loading it higher in memory than without it. It has nothing to do with CPU speed or divide overflows.

Reply 8 of 10, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

I didn't say loadfix had to do with speed I said try loadfix first. Then if that doesnt work it might have something to do with the speed. Those are always my first steps when trying to make something run that doesn't want to. It doesn't hurt to try loadfix in any error situation, it takes no time.

I see you don't need any further help.

Reply 9 of 10, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

Of course he does --- he did not manage to run the game, did he?

Open CAVEMAN.DAT with a hex editor, and look for two instances of the string B8 04 FB F7 6B F1, and replace it with B8 04 FB 90 6B 90. That replaces the offending DIV CX instruction with two NOPs, which will prevent the Divide Error, at the cost of possibly making the game's timing incorrect.