DOSBox
DOSBox is an open source DOS-emulator. It runs on many different platforms (windows, linux, etc..) and although it's still in beta stage it is able to run a lot of older games which do not run on current systems.
On this page you can get a recent CVS compile (a version that is newer than current release on the homepage, but as it is still in development it might be LESS stable) with some of the experimental patches.
NOTE: These builds are NOT supported by the DOSBox authors! If you have a problem they might or might not accept your bug report! Some of the features are still in development, they might not work on all systems! I do not accept any responsibility, the pre-compiled versions are available for your convenience only and will be updated when I feel like it :-)
Experimental patches
timesync.diff (obsolete) - This patch was sent to me by *orz* on the Vogons forum. It adds a new option in the dosbox.conf (you might have to add it manually) in the cpu section - timesynched=true/false. It allows the in-game time to be synchronized to actual time, which means you don't have to bother with cycles option anymore. Just set the cycles high enough (> 50K) and the game will never use too much CPU. This option can also be toggled on-the-fly with Control-= when DOSBox is running.
coreswitch.diff - A further modification suggested by *orz*. This patch allows to change CPU core while DOSBox is running! Pressing Control-1 switches to Normal core, Control-2 switches to Full core, Control-3 to Dynamic core and Control-4 switches to Simple core. Updated to support simple core (24.8.2004). Removed timesync code from this patch (18.3.2006), somewhat different 'autocycles' patch is now in official cvs.
direct3d.diff - This patch will add a Direct3D output option for DOSBox. The goal is to have same speed and functionality as the OpenGL output without the need of NVidia extensions which are more or less required to get decent speed. This should be a recommended option for all ATi Radeon 8500 and up graphics cards. Other cards work as well, but if the drivers do not support dynamic textures (check the console output!) speed will be somewhat lower. It needs DirectX9. To compile first run autogen.sh. You will also need DirectX9 SDK. Latest MinGW already includes the files necessary to compile without shader support. For advanced shader scaling get official Microsoft DirectX SDK (version 9 or later). For MinGW, copy DxSDK include files to some MinGW reachable directory and convert d3dx9.lib (type 'reimp d3dx9.lib', reimp utility is part of mingw-utils package) so it can be used by MinGW. You can specify include and lib directories with configure switches (--with-dx-headers and --with-dx-libs). To use it, set output=direct3d in dosbox.conf. All display options work also, the only change from other display outputs is fulldouble option which now turns triple buffering on/off in Direct3D mode since DirectX always uses double buffering by default.
New options: Direct3D output now supports the use of custom pixel shaders for picture scaling. To use it your card has to support PS3.0 (Radeon >= x1xxx Series, Geforce >= 7), PS2.0 (Radeon >=9500, GeForce >=FX5200) or PS1.4 for scale2x_ps14.fx (Radeon >= 8500).
These shaders are currently available (the files have to be in Shaders subdirectory of the DOSBox dir, you need scaling.inc as well):
point.fx - normal (nearest neighbor) resize
bilinear.fx - bilinear resize (slightly blurry)
scale2x.fx - advmame2x resize
scale2x_ps14.fx - advmame2x resize (PS1.4 version)
2xSaI.fx - 2xSaI resize
2xSaI_sRGB.fx - 2xSai (Gamma Corrected) resize
hq2x.fx - HQ2x resize, thanks to mtrooper for the D3D port and
Moe for original OpenGL implementation
CRT.D3D.fx - D3D port of BSNES CRT.OpenGL.shader
The following are all shaders provided by guest(r) (updated 23.6.2007)
Some of the shaders have settings you can modify by editing the .fx file.
Shaders.zip - Various different shaders for dosbox.
Shader Gallery - Screenshots of all available pixelshaders, thanks to Aybe
Set 'pixelshader=' option in dosbox.conf to one of the shaders and 'scaler=hardware2x' or hardware3x (use normal2x in builds older than 18.3.2006). When pixel shader is active DOSBox will report it in the console:
D3D:Pixel shader output enabled
If you don't get this line then pixel shader effects are not in use.
Pre-compiled versions
DOSBoxcvs-090704.zip (04.07.2009) source
(with coreswitch, direct3d, glide, mt32, openglhq, physfs, NE2000, printer and oplpassthrough experimental patches)
(requires d3dx9_30.dll, download installer)
Click here for older releases.
Links
Vogons DOSBox forum
DOSBox Daum Cafe (ykhwong's page - also has compiled CVS version)