VOGONS


First post, by leycec

User metadata
Rank Newbie
Rank
Newbie

Gentoo now unofficially supports both the Munt core library and ALSA daemon. (Underworld penguins everywhere sullenly unite.) To install the latest versions as of this posting (v1.4.0):

* Find and download the files "MT32_CONTROL.ROM" and "MT32_PCM.ROM". Since hosting or even linking to such files tends to provoke the vomitorious wrath of the Elder Roland Has-Been-Gods, I'm afraid I both can't and won't provide a link here. (That said, googling "Munt_roms.zip" may assist you in your onerous quest.)

* Create a new empty directory "/usr/share/mt32-rom-data". (Don't look at me like that. I don't make the MT-32 law; I just apathetically enforce it.)

mkdir -p /usr/share/mt32-rom-data

* Move the downloaded ROM files to "/usr/share/mt32-rom-data".

mv MT32_CONTROL.ROM MT32_PCM.ROM /usr/share/mt32-rom-data

* Add the third-party Gentoo overlay raiagent.

layman -a raiagent

* Unmask both ebuilds.

echo ">=media-libs/mt32emu-1.4.0\n>=media-libs/mt32emu-alsa-1.4.0" >> /etc/portage/package.accept_keywords

* Install both ebuilds. (Note: there are currently no USE flags to configure. Isn't that nice?)

emerge media-libs/mt32emu-alsa

* (Optional) Verify that everything's worky by running "/usr/bin/mt32d" manually at the CLI. Assuming you see no grevious errors, just hit <Ctrl-C> to kill the ALSA daemon. (Linux D&D terminology for the win.)

/usr/bin/mt32d

* Add mt32emu-alsa, the ALSA daemon, to the default runlevel.

rc-update add mt32emu-alsa default

* Start mt32emu-alsa.

rc-service mt32emu-alsa start

* (Optional) Generate a user-local DOSBox configuration, if you haven't already, by running "dosbox" and then the following command at the DOS CLI:

config -writeconf dosbox.conf

* (Optional) Configure DOSBox to use mt32emu-alsa as its MIDI provider by replacing the line reading config= in the "[midi]" section to read midiconfig=128:0. A typical configuration for this section resembles:

[midi]
mpu401=intelligent
mididevice=alsa
midiconfig=128:0

Notable Caveats

  • The "mt32emu-alsa" initscript currently fails to print anything in the event of fatal errors. (Yes, this is terrible.) Hence, the recommendation above to run "/usr/bin/mt32d" manually before adding mt32emu-alsa to the default runlevel.
  • This does not patch DOSBox with the Munt MT-32 patch. That said, given that the ALSA daemon cleanly interfaces with vanilla DOSBox already, there's not necessarily a demonstrable reason to patch DOSBox. (That said, I'm sure we'd all prefer the patch to just be accepted into the mainline tree already.)

Enjoy blissful hours of MT-32-enhanced underworlding. In the rank darkness, nostalgia-ridden adventuring looms!