VOGONS


First post, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

I've been playtesting the Mortal Kombat II demo for a few days now and I keep running into intermittent lockups, and with debugger on these show an endless string of "CPU:Illegal Unhandled Interrupt Called 0" messages.

The demo runs without sound by default, but by pressing F10 during the intro sequence I set detail to high and sound to Sound Blaster. Everything else is at default. I only tested as player 1 (Liu Kang).

Now I need to mention that the demo is missing a few art files including TOAST.GRA (Dan Forden's "Toasty!" animation) and will crash back to DOS prompt when trying to access those. I supplied the missing files from the retail version of the game but it does not affect the lockups in any way.

I was unable to reproduce the exact circumstances when the lockups occur, and can only say they happen during actual combat and never on any other game screen. Possibly, they only happen during the second and subsequent matches (i.e. after you win the first match).

It seems to me from the tests so far that if you play without any sound, the lockups do not happen, but this is not 100% certain.

I am playing using DOSBox 0.74-3 with or without debugger, everything at default values but with a drag-and-drop BAT file that adds the following commands:

config -set "cpu cycles=auto 7800 100%% limit 26800"
config -set "render aspect=true"
cd MKII
loadfix
MKII.EXE
loadfix -f

In addition to this, I have tried to change the following:

  • set CPU core to normal
  • set CPU type to 386
  • set sbtype to spro2
  • use dos32a
  • making sure there as a CD drive mounted as D:

None of this seem to affect performance, although at first it seemed to me that switching to 386 actually solved the issue. Here's a snapshot of the debug output during the latest crash (this was with cputype=386, core=normal and an empty folder called CD.ROM mounted as the CD drive D:):
OLDuGva.png

DOS Games Archive | Free open source games | RGB Classic Games

Reply 1 of 6, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Just from looking at the debugger screenshot I can tell it's a divide exception (divide by zero) firing ad infinitum because there is no exception handler, thus execution gets stuck there: it hangs.

Always experiment with different amounts of cycles when troubleshooting. Maybe you already did and neglected to mention it, but in any case it is particularly needed for cases of division by zero.

Reply 2 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Thanks!

I turned off switch to 386 and set the game to fixed 13900 cycles, and got another freeze during the first match:
y8t4YXK.png
Can you please tell if this is the same error?

I'll try getting cycles even lower.

UPD: 9600 cycles with dynamic core seems fine.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 3 of 6, by dr_st

User metadata
Rank l33t
Rank
l33t

I have an old copy of this demo. Should try to reproduce the issue myself. I vaguely remember that maybe it had these intermittent issues on real hardware as well (I was running it on a Pentium, I think).

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 4 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Thanks!

Today I tested one more time at 9600 cycles and it hanged during the first round of the first match.

I'll try to do some more extensive testing without sound to determine if the issues happens with no sound device enabled.

UPD: I played for a while without sound at 9600 cycles and had no freezes. I also tried ROLAND SC-55 which played the sound but not the MIDI music, and it also froze on the first match.

Other sound options immediately crash the game to DOS prompt, even Gravis Ultrasound even though I have that installed and enabled, and load ULTRAMID.

Last edited by MrFlibble on 2021-01-24, 20:57. Edited 2 times in total.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 5 of 6, by dr_st

User metadata
Rank l33t
Rank
l33t

Well, crashes here too. I was playing Reptile vs Reptile, and noticed that it seems to freeze rather frequently (like during the first/second battle) if I use the sweep move (Back+LK) a lot. But even if I didn't use sweep at all, it eventually froze on the 6th or 7th battle.

I guess it's just a buggy early version of the code. Good thing the final release was much more stable.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 6 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for testing this!

Meanwhile I tried the second variable, detail level, with the same 9600 cycles, and also tried switching to sbtype=sb2 and sbpro2. It looks like when on medium detail the game does not freeze with or without sound (haven't tried the default sb16 with this yet), and does not with high detail at no sound (but it runs pretty slowly at that setting), but will freeze with both high detail and sound enabled.

What if I set cputype=486_slow? Will that affect anything?

DOS Games Archive | Free open source games | RGB Classic Games