Page 1 of 1

Runtime error 200 (divide by zero) in Pharoah's Tomb, Arctic Adventure, Monuments of Mars

Posted: Sat Feb 01, 2020 1:17
by thehackercat
Hello everyone,

I'm sure if you played shareware DOS games such as Keen 1 and 4, you also had these games lying around somewhere. AFAIK, 3DRealms has actually made all four episodes of Pharoah's Tomb, Arctic Adventure, and Monuments of Mars freeware now.

For 10+ years I've had working copies of all these games on a modern PC with DosBox and they've worked fine. However, today I've found that trying to run any of them results in a divide-by-zero error. Attempting to run any of them causes DosBox to drop back to the C:\ prompt and print the following:

Code: Select all

Pharoah's Tomb 1: Runtime error 200 at 10FF:12DB.
Pharoah's Tomb 2: Runtime error 200 at 1105:12DB.
Pharoah's Tomb 3: Runtime error 200 at 10FA:12DB.
Pharoah's Tomb 4: Runtime error 200 at 10FA:12DB.

Arctic Adventure 1: Runtime error 200 at 150D:12DB.
Arctic Adventure 2: Runtime error 200 at 1506:12DB.
Arctic Adventure 3: Runtime error 200 at 1505:12DB.
Arctic Adventure 4: Runtime error 200 at 1509:12DB.

Monuments of Mars 1: Divide error
Monuments of Mars 2: Divide error
Monuments of Mars 3: Divide error
Monuments of Mars 4: Divide error
It's mystifying to me that these games could all of a sudden break this way. I recently switched to Debian but I doubt that would have anything to do with it, as none of my other DOS games or programs have broken.

Does anybody have an idea as to why this may have happened?

Re: Runtime error 200 (divide by zero) in Pharoah's Tomb, Arctic Adventure, Monuments of Mars

Posted: Sat Feb 01, 2020 1:24
by K1n9_Duk3
The PCX Effects library code attempts to detect the CPU speed so that the delays during the animations work correctly. On "fast" CPUs, this results in a divide error.

This should help you get the games running, even on "fast" CPUs. Either that or set your DOSBox cycles count back to the default 3000 (just type "cycles 3000" or "cycles auto" in DOSBox).

Re: Runtime error 200 (divide by zero) in Pharoah's Tomb, Arctic Adventure, Monuments of Mars

Posted: Sat Feb 01, 2020 2:07
by thehackercat
K1n9_Duk3 wrote: Sat Feb 01, 2020 1:24 The PCX Effects library code attempts to detect the CPU speed so that the delays during the animations work correctly. On "fast" CPUs, this results in a divide error.

This should help you get the games running, even on "fast" CPUs. Either that or set your DOSBox cycles count back to the default 3000 (just type "cycles 3000" or "cycles auto" in DOSBox).
As usual the fix is simple. Thanks for your help!