Neues Feature in DOSBox ECE: MT32 Emulation

Veröffentlicht von

Ich habe mich heute Abend mal hingesetzt und es endlich geschafft ein Feature in meine regelmäßig erstellte DOSBox-Version einzubauen, mit dem ich schon länger liebäugle: Die Emulation des Roland MT-32 Midi-Synthesizers. Dieser wurde in den 1990ern von einigen PC-Spielen unterstützt und bot deutlich besseren MIDI-Sound als die üblichen Soundkarten produzierten.

 

Der Roland MT-32 MIDI Synthsizer

Dank des Projektes MUNT auf Sourceforge kann diese Hardware inzwischen sehr vielfältig emuliert werden. Neben der Möglichkeit, den Emulator als Windows-Treiber für MIDI zu installieren bietet sich eben die Möglichkeit an, den Emu direkt in DOSBox einzubauen, die Programmierer bieten ein entsprechendes Patch-File auf github direkt mit an. Ein paar kleine Anpassungen waren nötig, um das ganze mit den anderen Patches, die ich in DOSBox ECE integriere, kompatibel zu machen, aber das war nicht schwer. Etwas schwerer tat ich mir da mit der Generierung des Quellcodes für den Compiler den ich nutze (MinGW/MSYS), weil ich zum ersten Mal CMake dafür verwenden musste und eine Weile brauchte, bis ich raus gefunden hatte dass ich den damit generierten Code in der normalen Windows-Commandline kompilieren musste.

Aber auch diese Hürde konnte ich umschiffen und nachdem ich dann noch herausgefunden hatte, wie ich bei der Kompilierung von DOSBox noch den Pfad zu den neuen Quellcodedateien des Emulators (mt32emu) mit anzugeben hatte, lief die Erstellung auch endlich durch und es gibt neue Versionen von DOSBox ECE, die zwar nach wie vor auf r4006 des DOSBox SVN basieren, nun aber eben den Midi-Emulator mit an Bord haben. Damit der funktioniert braucht ihr übrigens 2 bestimmte ROM-Dateien, MT32_CONTROL.ROM und MT32_PCB.ROM, die aus lizenzrechtlichen Gründen natürlich nicht mit im Downloadpaket sind. Aber wer googelt,  der findet.  😉

Wie gut der übrigens die Originalhardware nachahmt, hat Phil von Phils Computer Lab in diesem Video bereits ausgiebig demonstriert:

Zum Abschluss ein Beispielvideo von mir, mit DOSBox ECE aufgenommen, das am Beispiel des Spiels „Dune 2 – Der Kampf um Arrakis“ die Unterschiede zwischen der Soundblaster- und der MT-32-Emulation sehr deutlich zeigt:

7 Kommentare

  1. Hallo. Ich habe die aktuellste Version der ECE (Windows) heruntergeladen und finde schonmal fluidsynth toll. Aber ich bin vermutlich zu doof für MT-32… Da tut sich nicht das geringste. Die Roms liegen im Dosboxverzeichnis… Gibts irgendwo ein howto? Danke

    1. In den entsprechenden Threads auf vogons.org sollte in der Regel stehen, wie welches Feature verwendet wird. Die Links dazu findest Du in der Patches.txt im DOSBox-Verzeichnis. Kurz vorweg: Ich habe bei meinem letzten Build eine kleine Änderung eingebaut: Die Revisionsnummer des Sourcecodes ist wird nun im DOSBox-Fenster angezeigt, ist aber nun auch im Dateinamen der Standardkonfiguration enthalten. Also falls Du nur diese verwendest und die Einstellungen in der Datei „%APPDATA%\Local\DOSBox\dosbox-SVN.conf“ gesetzt hast, musst Du die Datei nun entweder in „C:\Users\Michele\AppData\Local\DOSBox\dosbox-SVN r4007.conf“ umbenennen oder sie in dieser Datei neu setzen. Vielleicht erklärt das das Problem schon.

      Die eigentliche Konfiguration für MT-32 ist eigentlich recht einfach und entspricht fast der für Fluidsynth: In der .conf-Datei die Du verwendest sollte es unter der Sektion [midi] einen Eintrag „mt32.romdir=“ geben, dort muss nur der Pfad des Ordners, in dem die beiden ROM-Dateien (MT32_PCM.ROM und MT32_CONTROL.ROM) liegen, eingetragen werden, in meinem Fall z.B. so: „mt32.romdir=D:\DOSBOX\ROMS“. Wenn Du dann noch „mididevice=mt32“ in der gleichen Sektion gesetzt hast, sollte das auch funktionieren.

      1. Jap das wars. Romdir war falsch gesetzt da ich davon ausging das standardmäßig im im startverzeichnis gesucht wird. Die richtige conf lag da aber nicht.
        Vielen Dank, natürlich auch für das zur verfügung stellen.

Kommentar verfassen