Making some progress with a hobby job, converting old Ensoniq VFX-SD diskettes into something usable with a Python script. The meat is in vfxsequence, link to it like so:

$ ln -s ~/src/eps.py ~/bin/vfxsequence

Then, after dumping the disk as described in pydoc eps:

$ mkdir /tmp/workdisk
$ ~/eps.py ~/ensoniq/workdisk.dat dumpfiles /tmp/workdisk
$ vfxsequence /tmp/workdisk/FREAK.efv > /tmp/freak.mid.dmp
$ midiundump /tmp/freak.mid.dmp
$ midiplay /tmp/freak.mid.dmp.mid

The latter two commands being symlinks to my midi.py script, written when I was first learning Python so it's even shittier than my more recent efforts.

Yes, I'm aware of Giebler's programs, but it's shareware, it requires MS-DOS, and even though I could probably get it working under FreeDOS, I figured it would be worth it to figure out the format for myself. It's been a while since I reverse-engineered anything of this level of complexity for something other than money.

I've got a ways left to go, so far just getting the note and time-delay values more or less correct, and have two files that seem to be corrupted or show a bug in my track-extraction routine. But for the hobbyist with some old Ensoniq diskettes it may be a help.

Back to blog or home page

last updated 2013-01-10 20:36:59. served from tektonic.jcomeau.com