VOGONS


First post, by jmk

User metadata
Rank Newbie
Rank
Newbie

I did a bit of digging into why this didn't work...

First of all, it has a few instances of instruction 0xFFFF in the code, which triggers the fatal "illegal GRP5:7" error. Ignoring it isn't enough, as the whole thing runs amazingly slowly (as previously reported).

The solution is just to trigger an illegal opcode exception, as the game uses it for some strange reason! The result is a working game! 😁

i.e. just stick this in the "default:" at the end of prefix_none.h and comment out the rest.

CPU_Exception(6,0);
continue;

Reply 3 of 3, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

There's stuff that calls the invalid opcode exception directly, and some ad code
that issues invalid opcodes but doesn't install its own handler (rather intercepts
execution flow differently).