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 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