From: Thomas Frohwein Subject: Re: New: munt - library and apps emulating Roland MT-32 synthesizers To: Jonathan Gray Cc: ports@openbsd.org Date: Wed, 27 Aug 2025 06:51:39 -0400 On Wed, 27 Aug 2025 00:00:28 +1000 Jonathan Gray wrote: > On Tue, Aug 26, 2025 at 09:16:36AM -0400, Thomas Frohwein wrote: > > On Mon, 11 Aug 2025 10:54:25 -0400 > > Thomas Frohwein wrote: > > > > > Hello ports@, > > > > > > This is a new port for munt which provides a library mt32emu that > > > can emulate high-quality synthesizers like Roland MT-32, CM-32L, > > > LAPC-I. This library can be enabled by dosbox-staging with the > > > attached diff (it's actually enabled by default; had to disable > > > it without the munt port) to use this emulated audio device. It's > > > also picked up by games/exult, which is why I'm including a diff > > > here. > > > > > > For audio to work, ROMs from the synthesizers are needed to > > > produce the sounds. dosbox-staging has some detailed info about > > > those [1] and how to enable MT-32 MIDI. The address for the > > > device has been 330 when software asks for it. I tested this > > > successfully with a few games in dosbox-staging (Tie Fighter, > > > Realms of Arkania: Blade of Destiny, and Jagged Alliance). The > > > instructions for Ultima VII via games/exult are here [2]. > > > > > > The port also includes (GUI) applications to work more with these > > > emulated synthesizers for those with an interest in making MIDI > > > music. > > > > > > I've checked several other games/emulators that cover that era of > > > MIDI music to see if they pick up libmt32emu (dosbox, dosbox-x, > > > scummvm, sdlpop, shockolate), but that's not the case. We might > > > need to be on the lookout if anything else from that era picks it > > > up. > > A more general way would be to use the sndio midi interface like > fluidsynth does. Then you could use scummvm's support for sndio midi. > Which is the same way you'd connect to a real MT-32. scummvm actually includes mt32emu from munt for MT-32 emulation. The files are in scummvm under audio/softsynth/mt32/. The way to make use of the MT-32/CM32L ROMs is described at [1] (it works by the way). munt would basically be the way to make this available to other ports via a shared library. I'm not sure if fluidsynth or sndio midi would know what to do with the MT-32 ROMs without the mt32emu layer. [1] https://docs.scummvm.org/en/v2.6.1/advanced_topics/understand_audio.html#mt-32-device-emulation > > > > > > > ok for munt? (the diffs are for testing it with dosbox-staging or > > > exult) > > > > *ping* > > > > Re-attached the port and the dosbox-staging diff > > > > > > > > [1] > > > https://github.com/dosbox-staging/dosbox-staging/wiki/MIDI#mt32emu > > > [2] https://exult.info/docs.php#midi_music > > > > > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/emulators/dosbox-staging/Makefile,v > > diff -u -p -r1.1.1.1 Makefile > > --- Makefile 5 Aug 2025 17:41:32 -0000 1.1.1.1 > > +++ Makefile 11 Aug 2025 14:30:05 -0000 > > @@ -8,6 +8,7 @@ COMMENT = modern continuation of DOSBox > > V = 0.82.2 > > PKGNAME = dosbox-staging-${V} > > DIST_TUPLE += github dosbox-staging dosbox-staging v${V} . > > +REVISION = 0 > > > > CATEGORIES = emulators > > HOMEPAGE = https://www.dosbox-staging.org/ > > @@ -17,7 +18,7 @@ MAINTAINER = Thomas Frohwein > PERMIT_PACKAGE = Yes > > > > WANTLIB += ${COMPILER_LIBCXX} GL SDL2 SDL2_net c fluidsynth iir > > -WANTLIB += m opusfile png slirp speexdsp z > > +WANTLIB += m mt32emu opusfile png slirp speexdsp z > > > > COMPILER = base-clang ports-gcc > > > > @@ -30,14 +31,12 @@ RUN_DEPENDS = devel/desktop-file-utils \ > > x11/gtk+4,-guic > > LIB_DEPENDS = audio/fluidsynth \ > > audio/iir1 \ > > + audio/munt \ > > audio/opusfile \ > > audio/speexdsp \ > > devel/sdl2-net \ > > graphics/png \ > > net/libslirp > > - > > -# use_mt32emu requires https://github.com/munt/munt > > -CONFIGURE_ARGS = -Duse_mt32emu=false > > > > # avoid conflict with games/dosbox > > post-install: >