joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.67k stars 380 forks source link

Bug: X-COM: Terror from the Deep crashes with "Corrupt MCB chain" error #498

Closed SupSuper closed 6 years ago

SupSuper commented 6 years ago

When running the game X-COM: Terror from The Deep and it switches between GEOSCAPE.EXE and TACTICAL.EXE processes (when entering a mission), DOSBox-X crashes with the following error: "Corrupt MCB Chain".

Log:

742138409       VGA:VGA refresh rate is now, 70.087
pixratio 1.350, dw false, dh false
surface consider=720x400 final=720x400
DOS MCB dump:
 Type=0x4d(M) Seg=0x0801 size=0x0001 name=''
 Type=0x4d(M) Seg=0x0803 size=0x0001 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0805 size=0x0001 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0807 size=0x0000 name=''
 Type=0x4d(M) Seg=0x0808 size=0x0010 name=''
 Type=0x4d(M) Seg=0x0819 size=0x0049 name=''
 Type=0x4d(M) Seg=0x0863 size=0x00bd name='TERROR'
 Type=0x4d(M) Seg=0x0921 size=0x0010 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0932 size=0x0040 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0973 size=0x0022 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0996 size=0x00c0 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0a57 size=0x04e2 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0f3a size=0x0002 name='GEOSCAPE'
 Type=0x4d(M) Seg=0x0f3d size=0x0233 name='GEOSCAPE'
FINAL: Type=0x80(.) Seg=0x1171 size=0x8080 name='€€€€€€€€'
End dump
E_Exit: Corrupt MCB chain
 742218553 WARN  MISC:Interrupt vector changed on 19 int 19
 742218553 WARN  MISC:Interrupt vector changed on 15 Int 15 Bios
 742218553 WARN  MISC:Interrupt vector changed on 4B INT 4B

Using reference DOSBox-x conf, version DOSBox-X beta 2018-02-08 0137 on Windows. Game works fine on DOSBox 0.74 vanilla and DOSBox SVN Daum.

joncampbell123 commented 6 years ago

So it's overrunning a memory block, and corrupting the next block's header.

What settings did you set up the game with?

joncampbell123 commented 6 years ago

Does it help if you run LOADFIX first?

SupSuper commented 6 years ago

Upon further experimenting, I can't find the cause. I set up a fresh copy of Terror from the Deep, that works fine. I installed XcomUtil (from http://www.bladefirelight.com/) on the fresh copy, still works fine. Gonna assume something just messed up with my old copy that somehow didn't trigger on regular DOSBox.

Out of curiosity, trying to installing XcomUtil via DOSBox brings up this error, anywhere I can configure this? https://i.imgur.com/gwwdtpa.png