First post, by voldek
I started quite recently my adventure with debugging and reverse engineering old dos games. I've some background and experience in RE for other systems and platform, now it's time for x86 and and DOS 😉 I use for few weeks precompiled exe of Dosbox Debugger 0.74-3 downloaded somewhere from the forum. My machine is win10 x64.
I've encountered some problems with Superfrog game which uses DOS4GW. When I start game with "debug sf", program immediately stops and I can go instruction by instruction normally. I can trace whole path with loading DOS4GW with parameter to start SF.EXE again in extended boundary, but then debugger starts its weird behavior. When I press F11 to trace instructions, sometimes debugger goes to next instruction but for the most cases, it executes several instructions and stops in totally different place. I recorded program flow with "logl" command but there I also see that program in several place is omitted. To clarify: I don't mean any jump, conditional branches etc. even single "xor, movsb, add" are skipped. Partially I copy some instructions and put them in my own program and compile it with OpenWatcom. Then everything works correctly, instruction by instruction but this is very troublesome (emulating some game's global variables etc).
Can any of you confirm/deny it on your own setup (with Superfrog game) and give me some hints how can i deal with it?