emulators/dosbox-0.74_10 for amd64 hangs when exeuting a dos program e.g. "settlers 2", while for i386 it works as expected. to reproduce: $ dosbox Z:\> mount c <path_to_settlers_2> Z:\> c: Z:\> s2
Maintainer CC'd
Sorry, forgot to define "hangs": Z:\> s2 is expected to swith to VESA graphics mode 1024x768 but it does not switch to graphics mode. Instead the cursor keeps blinking and nothing happens. dosbox itself is responsive and reacts to key presses (e.g. <ctrl>+<F1> brings up the keymapper).(In reply to Nikolaus Klepp from comment #0)
Assign PR to maintainer-committer
I can confirm this is an issue, I can't get any VESA programs to run on amd64. VGA and older modes all work fine. I don't have a fix. I'm assuming it's got something to do with the last patch to fix compilation, but I'm not sure what the issue is.
As the bug is still there I recompiled dosbox with internal debugging turned on. The emulator fills the screen with this lines: 52889: CPU:Illegal Unhandled Interrupt Called 6 52890: CPU:Illegal/Unhandled opcode 63 52891: CPU:Illegal Unhandled Interrupt Called 6 52892: CPU:Illegal/Unhandled opcode 63
The bug is still there on FreeBSD 10.2 with dosbox 0.74_11 from ports or packages.
Looks like setting "core=normal" makes things work.
(In reply to Edward Tomasz Napierala from comment #7) Edward, I think you're right. This bug is in the dynamic core. It mostly affects only modern programs. I don't see this as a very long-term fix since the dynamic core has much better performance, but I guess it's better than being broken for certain things.
(In reply to Tom Carrick from comment #8) No idea how to fix it properly, to be honest. The code looks like... well, perhaps the original author knows how it works. I guess the question to ask at this point is: does it work properly for anyone on amd64? If not, then perhaps we should change the default setting, to make it work, albait slower.
Thank you, "core=normal" works, but is a bit on the slow side.
(In reply to Edward Tomasz Napierala from comment #9) core=auto or core=dynamic don't work for me here on an amd64 either. core=normal as a default on FreeBSD would make sense.
Any new here?
Sorry, no time for this port.
Some news?