Bug 196673 - emulators/dosbox amd64 hangs when exeuting a dos program e.g. "settlers 2"
Summary: emulators/dosbox amd64 hangs when exeuting a dos program e.g. "settlers 2"
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-13 08:35 UTC by Nikolaus Klepp
Modified: 2020-01-07 07:59 UTC (History)
5 users (show)

See Also:
bugzilla: maintainer-feedback? (knyght)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolaus Klepp 2015-01-13 08:35:09 UTC
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
Comment 1 Bugzilla Automation freebsd_committer 2015-01-13 08:35:09 UTC
Maintainer CC'd
Comment 2 Nikolaus Klepp 2015-01-13 13:58:51 UTC
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)
Comment 3 John Marino freebsd_committer 2015-01-25 18:55:40 UTC
Assign PR to maintainer-committer
Comment 4 Tom Carrick 2015-02-21 15:43:37 UTC
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.
Comment 5 Nikolaus Klepp 2015-06-25 14:03:25 UTC
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
Comment 6 Nikolaus Klepp 2015-08-26 17:18:32 UTC
The bug is still there on FreeBSD 10.2 with dosbox 0.74_11 from ports or packages.
Comment 7 Edward Tomasz Napierala freebsd_committer 2015-09-15 14:29:57 UTC
Looks like setting "core=normal" makes things work.
Comment 8 Tom Carrick 2015-09-15 14:42:43 UTC
(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.
Comment 9 Edward Tomasz Napierala freebsd_committer 2015-09-15 20:43:09 UTC
(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.
Comment 10 Nikolaus Klepp 2015-09-16 10:15:09 UTC
Thank you, "core=normal" works, but is a bit on the slow side.
Comment 11 Sebastian Schwarz 2017-06-10 11:07:26 UTC
(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.
Comment 12 Walter Schwarzenfeld freebsd_triage 2018-02-05 21:55:19 UTC
Any new here?
Comment 13 Martin Matuska freebsd_committer 2019-03-19 00:14:12 UTC
Sorry, no time for this port.
Comment 14 Nikolaus Klepp 2020-01-07 07:59:46 UTC
Some news?