Prophecy crash on Win98SE

hunter80

Spaceman
Right... Don't shoot. :)

I have a Toshiba Libretto 110CT which is my retro gaming station (Pentium 233MHz w/ 64MB RAM, NeoMagic MagicGraph 128XD).
It runs Win98SE fully updated thanks to windowsupdaterestored.com, including DirectX 9.0.

Now I've got the original WC Prophecy on eBay (3 CDs) and installed it. Exciting.

However, the game crashes immediately after the intro videos. The window to register my callsign briefly pops up and then the game crashes with an invalid instruction. I disassembled the CS:EIP and I can tell it's trying to dereference EDI which contains 0x1. Notably, before doing the Win98 upgrades and installing DirectX 9.0 the game crashed at the same place but rather differently, it was trying to dereference ESI which contained 0x0.

Has anyone successfully played WCP on Win98SE with a similar setup? Or otherwise seen the game crashing at the callsign screen and is aware of some patch I could try? Any help appreciated!

Thanks in advance!
H.
 
Should be fine - for software rendering at least. If you're already using software rendering... Not sure! I can only suggest the usual stuff; try different video/audio driver versions. You could also try running your desktop at 16-bit colour (which I believe the game uses) if it's currently set to run in 32-bit.

I don't believe there are any general patches, only ones for 3D acceleration, which I don't think you'll be able to use on that machine...

Good luck! :D
 
First and foremost, thanks for the tips!

Turns out I was already on 16-bit, so I tried 24 bit which is also supported, but same error. I also tried other resolutions and I tried removing the Libretto from its docking station which changes the devices attached to the computer. Same error.

Finally, I tried disabling the graphics performance settings in Win98. That caused the game to complain the performance would be poor as only 1MiB of video memory had been detected. But I still got the same error.

I'm actually not sure this is graphics related. The crash happens as soon as I type the first latter of my callsign. It must be something else. Some library call which is expected to return a pointer and is returning 1, considering the disassembly above.

If no one else has any thoughts on what I could try, I'm thinking of running the game on a VM or maybe through Gog and attaching a debugger to stop the execution at the same EIP; I can then try to work out what the game is trying to do and see if that adds some light to this mystery.

I still appreciate pointers if anyone can think of anything!

Cheers,
H.
 
Back
Top