DRO2IMF converts DOSBox Raw OPL captures (.dro files) into id Software Music Format (.imf) files, which are used for storing background music in many Apogee games (Commander Keen, Wolfenstein 3D, Monster Bash, etc.)
- Source is available on GitHub
- dro2imf-1.2.zip (Windows .exe, 27kB)
- doofus-title.dro (example DRO capture)
- doofus-title.imf (example DRO converted to IMF)
Since IMF files contain data to be sent to the OPL chip to provide in-game music, and DRO files capture this same OPL data on its way to the chip, these two formats are almost identical. This program rearranges the OPL data and stores the 'delay bytes' slightly differently (after each OPL register/value pair as opposed to DRO's "as needed" style) producing a Type-1 IMF file that can be used by the game modding community to replace the background music in many Apogee games.
New in version 1.2 (2013-02-25)
- Delays calculated as floating point for increased accuracy
New in version 1.1 (2012-03-03)
- v2.0 DRO files are now supported (DOSBox 0.73+)
- Various IMF rates can now be accepted (560Hz for Keen, 700Hz for Wolf3D, etc)
- Type-0 IMF format is now supported
- For v0.1 DRO files, check the hardware type length (1 byte, or 4 bytes long?)
dro2imf bug when using type-1?
From Jong-gak Choe @ 2013-01-29 03:17
Hello. I'm Jong-gak Choe from South Korea.
dro2imf... this is great tool for me to store and play old OPL based MS-DOS game music.
But I have some trouble on using dro2imf v1.1.
file : https://dl.dropbox.com/u/12674379/Game%20Music/temp/ys2_001.dro
This file was captured from DOSBox v0.74 and not trimmed. (original file)
When I convert this file to imf with type-0, there is no problem and IMFPLAY plays this file as normal.
However, if I convert this file to imf with type-1, IMFPLAY stops playing abnormally. (both in real dos machine with YMF754 based sound card and DOSBox)
I want to tag some descriptions into imf file with type-1 but there is no way to tag, so I send you this message.
Would you instruct me how to tag descriptions into this file?
I'll wait for your answer. Thanks.
From Malvineous @ 2013-02-09 09:01
I have tested your file and it converts to type-0 and type-1 successfully, however the problem is that the resulting file is 147kB in size. Most IMF files are limited to 64k, or often even less depending on available memory. I think the problem you are having is because the file is larger than 64k and IMFPLAY isn't able to support this. AdPlay (from the AdPlug package) is able to play both versions of the file without any problems.
Maybe you could try a tool like DRO Trimmer (http://www.jestarjokin.net/apps/drotrimmer/) to reduce the file size? This would also let you trim the delay from the start of the song.
Sorry about the delay in replying, but if you have any other questions you will probably get a faster response if you ask on the RGB Classic Games forum: http://www.classicdosgames.com/forum/