Skip to content

Latest commit

 

History

History
109 lines (73 loc) · 3.71 KB

ENHANCEMENTS.md

File metadata and controls

109 lines (73 loc) · 3.71 KB

Enhanced DosBox Fork

This is an enhanced fork of DosBox. It is currently in sync with revision 3991.

Requirements

Building

A full-featured build will need the following dependencies:

Configuration

There are new configuration options, and some existing options have new defaults. If you have a configuration file from a different version of DosBox, then I recommend removing it and letting this version generate a replacement.

Features

Soundfont Support

Games that use General MIDI can use the new FluidSynth backend to play BGM using a soundfont. Specify that in your configuration file:

[midi]
mididevice=fluidsynth
fluid.driver=alsa # set as appropriate
fluid.soundfont=/path/to/soundfont.sf2

MT-32 Emulation

For games that use the Roland MT-32, I still recommend running Munt as a separate application (mt32emu-qt) and then connecting DosBox to its MIDI port (specified as the "mididevice"). However, native MT-32 emulation is now available as an alternative. To use it, specify, in your configuration file, the path to the ROM directory:

[midi]
mididevice=mt32
mt32.romdir=/path/to/roms

On OS X and Linux, DosBox will perform shell-expansion on the fluid.soundfont and mt32.romdir paths. That means that these paths are allowed to contain dollar signs (environment variables) and tildes (home directories).

OpenGL 3 Support

The default video output method, "texturenb", is equivalent to "openglnb" in vanilla DosBox. Now, "openglnb" and "opengl" use OpenGL 3 and can take advantage of external shaders.

External Shaders

The shaders are stored in a separate project. Download them from here:

Then create a "shaders" directory in the same parent directory that has your DosBox configuration file. Put the *.vert and *.frag files from the dosbox_shaders project into the "shaders" directory.

On Linux, you should have:

~/.dosbox/shaders/*.vert
~/.dosbox/shaders/*.frag

On OS X, you should have:

~/Library/Preferences/shaders/*.vert
~/Library/Preferences/shaders/*.frag

Each shader is two files. For example:

  • crt-lottes.vert
  • crt-lottes.frag

To use one, specify its name, without the path or the file extension, as the gl.shader:

[sdl]
output=openglnb
gl.shader=crt-lottes

EGA games tend to work well with the jinc2-sharp shader, which removes dithering.

Please note that the new defaults (scaler=none, aspect=on) are needed for the shaders to work as designed.

Misc Differences

  • physical CD-ROMs are no longer supported (use IMGMOUNT and ISOs instead)
  • "aspect"'s default value is now true
  • "output"'s default value is now "texturenb"
  • "scaler's" default value is now none
  • Pixel Buffer Objects are no longer used for rendering (I've found them to be the cause of a screen corruption bug)

Credit

This fork uses, either directly or by building on, the following community contributions: