As expected, the problem was with me being a muppet. When telling it the length of the data (for example, for the initial still image), I was giving it the length of the compressed data, rather than the uncompressed. So it was only getting partway through. Now it works, yay!
Where to go from here. There are a number of options:
- Get it to read this vdx from the gjd file
- Get it to play back the sounds from this vdx file
- Try playing back the xmidi files
- Start reing the executable
Although it may seem like I’m procrastinating (hell, of course I am, disassembling still scares me), I’m gonna sort out reading the vdx from the gjd. Everything is stored in gjd files, including the xmidi files, and I think it will be good to get me into the C++ mindset.