First post, by Finster
I'm running out of ideas how to get Crusader-No Regret to work.
It exits at startup with an interrupt error.
Maybe someone is interested in debugging it or helping me out a bit...
(you need CVS version or 0.61rc, wont work with 0.60)
What Qbix and I found out so far:
The important thing is a counter that is located at address 0F8F:0040 (PMode)
The counter is initialized with 0 at address 01D7:0032
The counter is compared with 0A at address 01D7:069A
If the counter has a value equal/above 0A crusader starts up correctly, but the counter is always 0 and therefore crusader exits with the error message.
The function that probably should increase the counter starts at 01D7:0065.
The counter is increased at 01D7:0095 but this code segment never gets executed.
I'm not quite sure if this is really the function responsible for increasing the counter, but it looks reasonable.
Question is : Why doesnt the function get executed, why doesnt the counter increase ?
Because Crusader gives an interrupt error, i guess that the function should be called somehow by an interrupt which does not happen in dosbox (besides crusader masks the interrupts a lot before). The only reference to this function is stored in a table (a list of functions), so it is hard to see when and from where this function should be called.
If anyone has an idea... let me know 😀
Finster