VGM2MIDI.NET JANK EDITION
Earlier today I saw a post over on FB where someone was trying to convert a Sega Genesis VGM into MIDI and could only find a utility that extracted 3 (PSG) channels. Most of the utilities I saw were old and definitely not up to date with the VGM spec that modern files use.
One of them was VGM2MID.NET, a visual basic .net app written around 2002 that includes source code that claimed to support YM2612 channels. It was blowing up trying to parse Unicode Japanese characters out of the GD3 data so I disabled that block of code. I also changed the starting offset of VGM data to account for changes in the header format.
But that only got it spitting out empty files because it was hitting an End-of-Song command almost immediately. Naturally, I just commented that check out. Success!
Surprisingly, this thing will sometimes output decent versions.
Sometimes the tempo is screwed up or you'll get hung notes, but for the most part all the notes are there.