VOGONS

Common searches


First post, by almeath

User metadata
Rank Newbie
Rank
Newbie

The title should be self-explanatory.

I have been researching if there are any viable options to patch DOSBox SVN to provide a built-in Munt/MT32emu for macOS. All the posts I can find are many years old and it looks like no one ever definitively confirmed that it could be done. Someone apparently moved the ScummVM MT-32 library into DOSBox and said it worked, but there was no detail of exactly how it was achieved.

I should clarify up front that I prefer not to go down the path of using Boxer, as it effectively ceased development in 2014 and there are all kinds of problems with its 64-bit alpha code base. Likewise, I know that current builds of DOSBox-X do include Munt, but that custom build is lacking certain features I want going forward, such as GLSL shader support and improved 64-bit optimization.

I realize there is a patch with a .diff file for implementing Munt on SVN, but the instructions are PC-specific. Before I even go down the path of trying to build the Munt library with cmake in macOS (a task in itself) I wanted to check if anyone has any ideas/pointers/experiences with this. I basically do not want to waste my time if it is just not technically feasible. I am not an expert with scripts and coding, but I am of moderate experience with using build tools in the Terminal and I have successfully compiled my own DOSBox SVN, ScummVM with patches, Boxer via X-Code etc., so I am not a total newbie to this kind of thing.

If anyone is willing to help me and discuss via PMs, I am more than willing to invest time to work this one out in a collaborative fashion and then report back here on the results.

Reply 1 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

My DOSBox SVN builds for 64-bit Windows and Linux have always been using built-in Munt/mt32emu without any external dependencies. I do not see any issue in applying the patch from munt to the latest DOSBox SVN. I do not have any experience in Apple/MacOS software ecosystem, but I would assume it is very similar to Linux for building open-source software with the GNU toolchain.

Reply 2 of 7, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Build munt with cmake and apply Munt's patch to Dosbox. It's the only way. There is no up to date patch for completely integrating Munt. The ages old is so old that even if you get to apply it to current Dosbox code, it's emulation isn't even comparable to current munt

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox

Reply 3 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

I am actually able to build munt with GNU Makefile, and just the mt32emu part and make it into DLL/lib.so and lib.a for linking with DOSBox. That's all I need. I do not need the rest of the GUI and OS plumbing to use MT32 emulation as a device. It made things easier for Windows because prior to MSYS2, cmake was unavailable from MinGW.org GNU toolchain. A GNU Makefile that builds only the emulation engine into dynamic linking library makes it universally compatible across Windows and Linux.

Again, I have no experience in Apple/MacOS ecosystem.If cmake is readily available, it makes life easier then.

Reply 5 of 7, by almeath

User metadata
Rank Newbie
Rank
Newbie
_Rob wrote on 2020-04-25, 19:41:

If your looking for a DOSBox fork with Munt support, you may have a look at DOSBox-X for which pre-compiled binaries, including OSX, are available.

Yes, I was aware of that branch, thank you. The only problem I have there is the fact that DOSBox-X does not yet support some features I want, such as OpenGL compatible shaders and a few minor things.

I am still planning to have a go at patching SVN, if I can figure out how to use cmake.

Reply 6 of 7, by almeath

User metadata
Rank Newbie
Rank
Newbie

I figured out how to build the Munt static library with cmake and successfully patched it into a 64-bit DOSBox SVN build under macOS Mojave 10.14.6.

I want to thank Dominus for his guidance, which helped ensure I built a proper static binary with no external dependencies.

It actually works very well and I cannot distinguish any performance issues vs. the MT32Emu app.

If there is any interest, I am happy to post a full set of instructions for those that want to do the same. It is a manual process, as I am not skilled in scripting.

Reply 7 of 7, by almeath

User metadata
Rank Newbie
Rank
Newbie

If anyone wants to test this out in macOS, here is a link to the build:

https://www.dropbox.com/s/f9tsgh8z7z0nleu/DOS … %20SVN.zip?dl=0

As mentioned above, this is an SVN build from late October 2020 (I think its r4370), which incorporates both Munt and the Nuked OPL patch. It is x86_64 only.

I have tested this build in Mojave 10.14.6 and Catalina 10.15.7 and it works fine, on both a 2019 iMac and 2015 MacBook Pro.

If anyone is good with scripting in macOS, the offer stands to try to work out a way to automate the build by making it a one-click process. I have a comprehensive set of notes. PM me if you are interested!