CMF2VGM would be a nice idea, but there're 2 things:
1. If I write one, it has to behave exactly the same as Creative's CMF driver.
2. It may be possible, that some games use their own CMF engines. Most of them don't seem to need SBFMDRV.COM - is the CMF engine compiled into the games?
I was able to find the string "FMDRV" in the EXE of "Dyna Blaster", but not in "In Search of Dr. Riptide". (I wasn't able to find anything about it in its RAM either.)
I have rips of both games, btw. I also cracked Riptide's archive format a while ago.
3. PLAY.EXE doesn't loop the songs and the DYNA.EXE loops only certain songs. I guess this works like
Code:
If (song_is_not_playing) Then
PlaySong()
End If
Conclusion: I'd prefer a direct game rip, if possible, especially if the songs loop. Also the CMF players act strangely after the song ends (they sort of reset the chip). It sounds better ingame.
btw: The Highway Hunter CMFs are
very interesting. The all contain track/instrument names and lots of other things including something that looks like executable code.
Some of them crash VGMPlay, too and don't even play with Creative's offical CMF player. (SBFMDRV.COM + PLAY.EXE)
In 123_0010.CMF the MIDI data pointer points to 0x115E, but the file has only 0x101C bytes. (I guess that's the case with all not-working CMF files.)
Files with an incorrect MIDI data offset are: _0000, _0006, _0009, _0010. _0007 seems to contain some directory names.