I agree with you that it is hard to compile and the instructions are not easy. Also, it does not help that while the instructions of the compilation guide tell you to simply get the precompiled dlls, headers and libraries, those do not work, because the ones supplied are too old for the free available compilers (Visual Studio Community 2017~2018, current GNU compilers), or can't compile in 64 bit mode without aplying patches not oficially released.
DosBox-X is for me the best semi-official succesor, but it does add a lot of new things like new hardware and pc-98 emulation without fixing others that may be useful, even if not for games exclusively: like running Windows 3.1 correctly, full support of floppy disk images, network card support, not being able to change or mount floppies on the fly, or allow to export the sound card, joystick, serial and parallel ports output to/from the host correctly.
Some of those things would allow a lot of new features adding them externally. For example, full hardware support of the floppies would mean:
- Disk images with copy protections, or non-standard disk formats could be used (the ones used in Windows 95, OS/2 and 2M).
- You could create blank disk images and format them from inside the emulator, just add a folder with some dosbox tools.
- Mode3 disk support for Pc-98.
- Using an usb floppy disk files.
Other example is that fixing port communication with the hosts would allow to:
- Use old, legacy hardware on joystick ports which are ignored in modern machines.
- Offload things like MT-32 to MuNT running on the host, which would run on another core, and reduce the CPU speed required to emulate the game, or allow to chain several instances of it instead of only one (higher polyphony).
- Allow to run or communicate several dosbox instances between themselves, or even with another machine inside an actual emulator (DoxBox, Bochs) using virtual null modems, with the actual host machine as a bridge.
My reason is that the compiled custom versions with even a few of said patches, 99% of the time break keyboard compatibility with non english languages. I'm spanish, I use a spanish keyboard, and I like to play old text adventure games and run old DOS drawing and printing software (Deluxe Paint, Banner, etc) and not have Dosbox hangs or close everytime I write "\" , "ñ" or "@" when I'm trying to write a command or save a game or picture I've been working for the last hour. Graaa! 😠 Sesh!
As things are, I do need to switch between at least 5 versions (vanilla 0.74, vanilla svn, dosbox-x, DosBox Daum, and YJWong) to use some of said features, and they work in an iffy way.
Myself, I'm trying to make a series of cmd scripts to automatize the download, expansion, source patching and compilation of Dosbox. In that way, I would run an emulated Windows 7 machine with an installation of a current Visual Studio and VS 2008, and make a buildbot that can potentially compile dosbox for all versions of Windows supported (from NT 3.5 to 10 in 32 bit, from XP to 10 in 64bit). Once I could do that, I could add a folder to add custom patches, and then everyone could make their own custom Dosbox.
If you are interested, I would love some help, because I'm a virgin using Microsoft compilers, and the trick here is to make it work from the command line as much as possible. I'm attaching a sample.
Help me, Obi Wan Kenobi! 😉