First post, by truth_deleted
Attached are two ZIP files, one has the binaries of DOSBox-G and the other the source code. This is a heavily modified Daum build and has the core components of Daum's along with Kekko's enhanced Voodoo1 device. This device requires a lot of supporting code. However, removed are almost all third-party dependencies along with their respective features. The only necessary DLL files in DOSBox-G are SDL.dll and SDL_net.dll, the first for constructing the DOSBox window and the latter for communicating over a network. Because this was compiled by Visual C++ 2010 Express, there are runtime dependencies which are typically installed on recent Windows based systems. The binaries and source code are now fairly compact in file size, too; and with familiarity of Visual C++ 2010, the compiling effort should not be overly difficult. I assume this will also compile in the 2012 edition.
Further, capturing images and video can be done via external utilities, so the relevant code was commented out from the source. This can be re-enabled, if necessary. In the case of this function and some others, not all the code was wrapped in a definition for the preprocessor, so instead I universally commented out this code. Similarly, some of the (presumably) lesser used audio emulators were removed. I removed as much as reasonable without having to rewrite sections of code.
(Edit: added CPU cycles to the title bar and updated attachments).
There may be bugs in the code, so please reply if any supported features in this compilation are not working, yet functioning properly in Daum's build. I was also careful not to interfere with core functions of the emulator.
I tried to modify the 3d hardware acceleration, but these attempts caused graphical anomalies. It is amazing work by Kekko, and it is not limited just to the inner-workings of the device, but also to the opengl rendering routines. I also appreciate ykhwong's extensive work on DOSBox. The handling of page faults appears very different from the one in DOSBox. This must be one of the major reasons why Daum's build is stable while running Windows 98SE.
I thought this compilation would be helpful to someone and, at the least, it will allow you to compile it yourself and optimize the build for your system. The -G stands for gaming.
[ Technical notes: In other posts I've described alternate DOSBox configuration files. For new users, it's simple to set 3d hardware acceleration as: fullscreen=true, fullresolution=original, voodoo=opengl, glide=emu. For 2d games and for those cases where the image is not filling the screen, then output=openglhq is an easy-to-configure setup; if this mode is ever too slow, there are combinations of other output modes with scalers which can achieve a very good result, such as hardware2x or 3x.
Before compiling DOSBox-G, first patch and compile SDL. The attachment, OpenGLHQ_patch.zip, contains this patch to add files and code to SDL 1.2.15. To do this, a patch tool is run while the patch file is located in the SDL directory. A Windows version of the tool is available here: http://gnuwin32.sourceforge.net/packages/patch.htm
The patch was downloaded from ykhwong's web site and converted to a Windows format so the patch tool can process it.
I had to use Visual C++ 2008 to compile the patched-SDL for Windows. It would be possible to use the ready-made SDL libraries instead, but the OpenGLHQ functions would have to be ignored while compiling the attached source code. ]
[ Compiling on Linux: DOSBox-G source code was updated on 6/21/13 so that it may compile on Linux. I tested this on Linux (circa 2006) via remote shell in the case where OpenGL and SDL_net were not installed, so I had to remove many dependencies so that the source would compile. I did eventually make a binary for Linux; even so, I could only test standard output from the binary because of the limitations of a login shell. If it was compiled on a system with the headers and libraries for SDL, SDL_net, OpenGL, ALSA, and an OpenGL driver installed for a modern video card, then the code should require few well-placed edits, I suppose mostly to Makefiles, to make a dosbox binary. This would only be an exercise for those who routinely work with editing Makefiles. ]