First post, by blackd0t
I have already sent this message to the developers, but I thought everyone would like to read about it:
Hello!
DosBox is a wonderful program and I wanted to play Jagged Alliance: Deadly Games with it's help. The game works best when I set the "CPU Core" to "dynamic", but then I receive random crashes while in the game. The crashes appear at address 0x00407DFF in DosBox ver. 0.63. Here is the code snippet:
.text:00407DF0 lea edx, [eax+24h].text:00407DF3 cmp [eax+24h], ebx.text:00407DF6 jmp short loc_407E02.text:00407DF8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦.text:00407DF8.text:00407DF8 loc_407DF8: ; CODE XREF: sub_407D10:loc_407E02j.text:00407DF8 mov eax, [edx] <--- the value from [edx] is received as NULL, eax=0.text:00407DFA add eax, ecx <--- ecx equals 0.text:00407DFC lea edx, [eax+20h] <--- edx = 0x00000020.text:00407DFF cmp [eax+20h], ebx <--- the exception is triggered when trying to readmemory from 0x00000020 address..text:00407E02.text:00407E02 loc_407E02: ; CODE XREF: sub_407D10+E6j.text:00407E02 jnz short loc_407DF8.text:00407E04 mov eax, ecx.text:00407E06 add eax, [edx].text:00407E08 mov eax, [eax+20h].text:00407E0B mov [edx], eax
I tried repairing this bug myself by injecting some code into the program that would check if the [edx] equals 0 and leave the function afterwards, but it seems to not be that simple. The problem may be much more complex and that's why I write this e-mail to You. I hope you'll be able to resolve this issue in some way as Deadly Games is one of my favourite games and I can't play it freely as dosbox randomly shuts down when I'm during the mission.
I'm looking forward to hearing from you.
Regards,
Black Dot