Since version 0.65 of dosbox, Commander Keen episode 4 (video game) has stopped working (freeze at load). It appears as if keen4e.exe manually alters the MCB chain as it loads. The alterations are "wrong" in my opinion (a bug in keen4e.exe), but they do not make the system inoperable. Dosbox proceeds to DOS_LinkUMBsToMemChain(), which then produces a corrupted MCB chain because it relies on the the user application not altering the end of the MCB chain.
The proposed patch makes it so that the DOS_LinkUMBsToMemChain() function detects that the MCBs have been modified, and bails out (effectively disables UMB), rather than leaving things in a state that will soon crash. Overall, it should make Dosbox more compatible with various programs that "behave poorly," hopefully without any disadvantage.
Log in to post a comment.