top of page

DOSBox midi


DOSBox Staging
DOSBox Staging

A guide to organising midi roms and soundfonts for DOSBox use.


When using midi roms or soundfonts it's all too easy to stick them in whatever folder is handy at the time. After a while you have midi roms and soundfonts everywhere and then you have to track them down to find the ones you want. We'll take a look at organising the Roland roms and soundfonts.




You'll want to have DOSBox Staging installed, to determine the rom version. The first step is to create a folder to hold all our roms and soundfonts. I choose Midi as this folder on my D: drive:

D:\Midi

Roland MT32 and CM32L roms


Now, things have moved on since the early days of DOSBox and there are now versioned (new style) and un-versioned (old style) roms.


The version of the roms you have can affect the gameplay experience as some games can sound a bit odd if you aren't using the optimal version. The VOGONS wiki has a very useful page List of MT-32-compatible computer games for deciding which version is the optimal one.


A complete set, optimal for any game, will be CM32L (CM series), MT32 new and MT32 old roms.


Un-versioned (old style)


The un-versioned (old style) roms for the MT32 and CM32L don't give us any version information. Un-versioned roms can be used by DOSBox-X or DOSBox Staging. They are normally named:


  • MT32_CONTROL.ROM

  • MT32_PCM.ROM

  • CM32L_CONTROL.ROM

  • CM32L_PCM.ROM


However to determine the version of the MT32 roms we can add them to our Midi folder and point DOSBox staging at it, in a config file with:

[mt32]
romdir      = "D:\Midi"

You may want to use one of your existing config files to do this as changing the default config file can be a bit tedious given it's location (in Windows):

C:\Users\<USERNAME>\AppData\Local\DOSBox\ 

We can run up DOSBox Staging and issue the command:

mixer /listmidi

DOSBox Staging mixer listmidi command
DOSBox Staging mixer /listmidi command

DOSBox Staging will show us all of the CM32L and MT32 roms it knows about and more importantly, the ones it has detected. If you have all four files mentioned above it should have found a CM32L version and an MT32 version.


The filenames are unimportant to DOSBox Staging as it checks the version based on the file contents. It'll also choose a version to use (highlighted) but that's unimportant for this test.



  • MT32 old roms are v1.04 - v1.07

  • MT32 new roms are v2.03 - v2.07

  • 'bluer' is the Blue Ridge rom, based on v1.07 which doesn't provide anything extra, except a bug that can crash your game.


Move the CM32L roms into a CM32L folder and the MT32 roms into a MT32 old or MT32 new folder depending on what DOSBox Staging found. So you might have:

D:\Midi\CM32L
D:\Midi\MT32 old
or
D:\Midi\MT32 new

Versioned (new style)


Versioned roms are normally grouped together in a single collection and zipped up for distribution. Versioned roms can only be used by DOSBox Staging (at time of writing). Example files may include:


  • ctrl_cm32l_1_02.rom

  • ctrl_mt32_1_07.rom

  • ctrl_mt32_2_04.rom

  • pcm_cm32l.rom

  • pcm_mt32.rom


To use them you would unzip the collection to a suitable folder, in my case I chose:

D:\Midi\Versioned

If you are missing a particular un-versioned rom you can use the versioned rom. For example if you were missing the un-versioned MT32 new rom, you could use the versioned v2.04 rom by:


  • Creating a suitable folder, eg. D:\Midi\MT32 new

  • Copy ctrl_mt32_2_04.rom into the folder and rename it MT32_CONTROL.ROM

  • Copy pcm_mt32.rom into the folder and rename it MT32_PCM.ROM


This would result in an MT32 new rom that could be used by DOSBox-X.


Soundfonts


If you're feeling adventurous, you can try a soundfont. DOSBox-X and DOSBox Staging have a fluidsynth component built in. You can specify the fluidsynth component as your midi device and supply a soundfont, a file in a .sf2 format.


A soundfont can make old DOS game music sound amazing, really really weird or somewhere in between. If you're interested, the midi section of the DOXBox-X wiki and the DOSBox Staging Wiki Midi page are both good places to start and well worth a read.


I chose the following folder for soundfonts:

D:\Midi\Soundfonts

I've picked up a few including:


  • Arachno

  • FatBoy

  • FluidR3

  • Timbres Of Heaven


Any you wish to use will be down to personal preference.


The final Midi folder


My final midi folder now looks like this:

D:.
\---Midi
    +---CM32L
    +---MT32 new
    +---MT32 old
    +---Soundfonts
    +---Versioned    

DOSBox-X


DOSBox-X can use the un-versioned roms or soundfonts, an example config might look something like this:

[midi]
mididevice      = mt32
mt32.romdir     = "D:\Midi\CM32L" 
# or "D:\Midi\MT32 new" 
# or "D:\Midi\MT32 old"

# or
mididevice      = fluidsynth
fluid.soundfont = "D:\Midi\Soundfonts\FluidR3_GM_GS.sf2"

DOSBox Staging


DOSBox Staging can use un-versioned roms, versioned roms or soundfonts, versioned roms being easier to use. An example config might look something like this:

[midi]
mididevice = mt32 	# or fluidsynth

[fluidsynth]
soundfont     = "D:\Midi\Soundfonts\FluidR3_GM_GS.sf2"

[mt32]
model       = auto	# or cm32l, mt32_old, mt32_new
romdir      = "D:\Midi\Versioned"


With all the roms and soundfonts in one place there is no reason other applications can't reference them from this location, eg. ScummVM.

Commentaires


bottom of page