Summary: | emulators/dosbox: Hangs when exeuting a dos program e.g. "settlers 2" | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Nikolaus Klepp <dr.klepp> |
Component: | Individual Port(s) | Assignee: | Kubilay Kocak <koobs> |
Status: | Closed Feedback Timeout | ||
Severity: | Affects Some People | CC: | dr.klepp, knyght, rmm1.bob, trasz, w.schwarzenfeld |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(knyght) |
Version: | Latest | ||
Hardware: | amd64 | ||
OS: | Any |
Description
Nikolaus Klepp
2015-01-13 08:35:09 UTC
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? I start a dosgame this way on FreeBSD 13.0 - CD to game directory - enter dosbox fullscreen game.exe .. for example Fullscreen is blank. If started without fullscreen, the console will show - MIDI: Open device:none I also tested the Xubuntu Linux version with same result. I suspect there are issues with the sound system, keyboard, or other hardware that the game expects. These can be disabled in dosbox but the primitive game program just hangs. There are warnings during dosbox compile which seem trivial. Of course it works on Windows 10 The Ports:doxbox compiles with 190 warnings. Most are trivial signed-unsigned mismatch but some may be actual bugs. The C++ templates use 'register' type which is incompatible with C++17. And there are unaligned pointers to packed structures. On the other hand, the dosbox-staging on github is relatively advanced with focus on ease-of-use. My opinion: close this bug and wait for the new, improved dosbox to be proven on Linux. If it works well, then port it to BSD if you must have it. ^Triage: Closing. This issue appears to be best reported upstream for analysis and resolution. If someone is able to isolate the issue and provide a patch to address it, please -reopen this issue with additional information. It may also be worth testing https://www.freshports.org/emulators/dosbox-staging/ or looking for a bugfix from that codebase which addresses this issue, from which a patch can be created. |