First post, by Vigil
- Rank
- Newbie
(This discussion started in the thread about my DOSBox launcher for OS X, which is here: Boxer 0.85: A DOSBox launcher for OS X.)
Here are some bugs/awkward issues I've found with the Mac port of DOSBox:
- The MacOS DOSBox port cannot normally open DOS executable files or folders from Finder, nor by drag-and-drop. This is because it lacks the appropriate Info.plist keys which inform OS X that it can open files of this type. The Info.plist file is an XML file in the Contents folder of each application package, which carries metadata about an application. The documentation for the Info.plist syntax can be found here: http://developer.apple.com/documentation/MacO … /PListKeys.html
DOSBox.app's Info.plist can be modified to add the necessary keys to support file opening without making any changes to the DOSBox binary itself. I've attached a modified version of DOSBox 0.72's Info.plist file to do so.
- System-wide OS X keyboard shortcuts do not function. These include Cmd-Q (quit application), Cmd-W (close window), Cmd-H (hide application) and Cmd-M (minimize window). Instead, DOSBox 'swallows' the keyboard input and treats these commands as simple typing.
This may be an SDL problem, because I've seen very few ported SDL games that support them either. OS X users tend to use keyboard shortcuts more often than Windows users, so this is more of an irritation than it may sound.
- The default captures folder is /tmp. This folder is invisible from Finder, so non-advanced users will not know how to access their screenshots and recordings even if they know what folder to look for! OS X saves its own screenshots to the current user's desktop, so this would be a much better choice of default.
- The default location for the keyboard mapper file (mapper.txt) is the folder where DOSBox.app is located: for most users, this will be the shared Applications folder. This should instead default to the current user's preferences folder (which is where DOSBox already looks for its configuration file.)
- DOSBox currently looks for a configuration file called "DOSBox Preferences" with no extension. It would be better to change this back to "dosbox.conf", or to "DOSBox Preferences.conf", to assist people in using sample DOSBox configuration files from other OSes and understanding configuration tutorials written with other OSes in mind. Note that file extensions can be hidden on a per-file basis, so if tidiness is the motivation then the config file included with the DOSBox package could just have a hidden extension.
In any case, the OS X interface guidelines now recommend that applications use file extensions for documents: to assist interoperability with other OSes, and to ensure that a file's type can be identified by the OS even when its Mac-specific metadata has been stripped off (which can occur when the file travels through a non-HFS filesystem). The relevant guidelines are here: http://developer.apple.com/documentation/MacO … 002297-CJBHIHFF
(The Info.plist file I have attached "educates" OS X that .conf files are plaintext, and tells it to describe them as "Configuration file"s unless another application has a more authoritative claim to the .conf extension.)
- The pause command (and the "paused" priority mode) makes DOSBox unresponsive, which means it can never be brought out of pause mode.
- The "surface" output method prevents OS X's inbuilt screenshot functionality (Cmd-Shift-4) from taking screenshots of the DOSBox window: instead, the window contents appear blank. opengl and openglnb modes function correctly and have negligible performance impact. If this bug is with SDL or OS X and not within DOSBox's control, then for now openglnb would be a better default output mode for the mac port.