Skip to content
Dale Whinham edited this page Jan 13, 2021 · 7 revisions

mt32-pi contains the Munt synthesizer engine, which provides a faithful emulation of the Roland MT-32 and CM-32L synthesizer modules. To enable it, you must add some MT-32 or CM-32L ROM images to the roms directory of your SD card. These are not included with the release for copyright reasons.

⚠️ Note: To use the MT-32 synthesizer, you must either set it as the default synth in the config file, or switch to it at runtime using a custom SysEx message or button press.

ROM support

mt32-pi can make use of all ROMs that Munt supports, and allows switching between ROM sets on-the-fly for greater compatibility with various games. For further information about which games work best with each ROM set, consult the MT-32 game compatibility list.

A ROM set consists of:

  • a control ROM (contains the code that runs on the MT-32's CPU).
  • a PCM ROM (contains the sound samples).

For simplicity, mt32-pi categorizes the known control ROMs into three types:

  1. MT-32 (old): The original version of the MT-32, ROM versions 1.xx.
  2. MT-32 (new): The later version of the MT-32, ROM versions 2.xx.
  3. CM-32L: A "computer music" module compatible with the MT-32, but with additional sound effects for games, and the LCD/buttons removed.

As for PCM ROMs, there are only two known versions - the MT-32 version (common to both models of MT-32), and the CM-32L version.

To summarize, to get the most out of mt32-pi, you'll need 5 ROM files in total - old/new/CM-32L control ROMs, and MT-32/CM-32L PCM ROMs.

ROM scanning

On startup, mt32-pi will scan the roms directory and load the first ROM it encounters that matches each category. In other words, if you have two "old" control ROMs (e.g. version 1.05 and 1.07), only one of them will be used and assigned to the "old" category slot. Therefore, it's recommended that you only place one ROM per category in the roms directory.

When multiple ROM sets are available, the default set to load on startup can be set in the configuration file.

Switching ROM sets

You can use a custom SysEx message to make mt32-pi quickly swap ROM sets at runtime. If the ROM set is available and loaded, the emulated MT-32 will be restarted with the new ROMs active.

It may be useful to create scripts (e.g. a DOS batch file) that send mt32-pi ROM set swap messages before launching a game.

If you add a control surface to your Raspberry Pi, ROMs can be switched using Button 2.

Clone this wiki locally