Exporting instruments in .dro to .ibk, .ins or .sbi

Discuss game modding
Post Reply
Less than a nibble
Posts: 1
Joined: August 27th, 2022, 3:44 pm

Exporting instruments in .dro to .ibk, .ins or .sbi

Post by Paljas »


[EDIT] Nevermind, I found the latest version of dro2midi in GIT supports SBI out, as well as DRO v2 directly. Compiled it with VS'19 and worked like a charm.

OLD post:

I already found a workaround, but does anybody know how to extract/export the instruments from a v2.0 DRO file to any of the established instrument formats that can be read directly by e.g. SBTimbre, DosMID, Adlib Tracker II, etc.?


What I tried: I used dro2midi by Malvineous to extract a register description of the instruments. There is also Camoto (camoto-install-20150221.exe), which has gamemus.exe. It converts from .dro to many formats, and supports a filetype ibk-instrumentbank, but it doesn't work:

gamemus.exe prince_000.dro -c ibk-instrumentbank:prince_000.ibk
Opening prince_000.dro as type <autodetect>
File is definitely: DOSBox Raw OPL version 2 [dro-dosbox-v2]
gamemus: Unexpected error - invalid vector<T> subscript

I've also tried converting the .dro to version 1 first (successful), but similar result.
It also supports instrument (ins-adlib), but then it complains there are more than one instruments in the .dro.

As a workaround, I converted to .mid first. My gamemus.exe version did not work for either DRO versions 1 or 2. But http://vgmpf.com/Wiki/index.php/DRO_to_MIDI worked, for version 1 only. It gives instrument descriptions as side information, like: NO 02-32/4E-0A/97-F8/24-04/0A/00-00: patch=?. I then generated .sbi from this description (see http://depaljas.net/opl/gamemus2sbi.html). Which works fine in SBTimbre, the sounds match the ones I hear in the actual game. But I can't help but think I must have overlooked an existing tool that does exactly that.. I've browsed VGMPF and ModdingWiki (both awesome work!), but to no avail.

So now I have a midi file, and a set of instruments. Now all I have to figure out is how and when to apply those instruments. The end goal, however: I still have my Yamaha PSS 780 from my childhood, and lately discovered it features an OPL2(-like) chip. The idea is to see if I can have it render Adlib music from early DOS games. Totally useless, but nerds be nerds. It receives sysex for instrument programming, but is restricted to 5 custom programmable instruments.

Many thanks to Mavineous, his work has greatly helped me out on my little side project.
Post Reply