joncampbell123 / dosbox-x

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

"Reboot guest system" fails if EMS driver is loaded (PC-98 mode) #2538

Open maron2000 opened 3 years ago

maron2000 commented 3 years ago

Describe the bug A guest system which loads an EMS driver (e.g. EMM386.EXE) doesn't reboot, but returns to initial screen of Dosbox-x.

To Reproduce Steps to reproduce the behavior:

  1. Start Dosbox-x dosbox-x.exe -set machine=pc98
  2. IMGMOUNT and boot a guest system with a config.sys including an EMS driver. For example,
    FILES=20
    BUFFERS=8
    DEVICE=a:\DOS\HIMEM.SYS
    DEVICE=a:\DOS\EMM386.EXE /UMB
    SHELL=a:\COMMAND.COM a:\ /p /e:512
    DOS=HIGH,UMB
  3. Select "Main" -> "Reboot guest system"
  4. Reboot procedure of guest OS starts, but terminates and return to the initial screen. (the same screen you see just after Step 1.) No error messages are shown.

Expected behavior The guest OS shall reboot normally.

Environment (please complete the following information):

Additional context I can reboot guest OS if EMM386.EXE is NOT loaded. Tested with EMM386.EXE and VEM486.EXE 1.31 beta 13, with and w/o UMB settings.

Wengier commented 3 years ago

I could reproduce the said issue. It seems that something related to EMM386 was not reset properly in this case which caused the guest system to restart again.

maron2000 commented 3 years ago

@Wengier Thank you for your confirmation. Though it is not critical, it's more convenient if you can reboot without mounting your image again. So I appreciate your help.