Skip to content

AY8910 .PSG to .VGM converter

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • SergioFLS Offline
  • Posts: 1
  • Joined: 2023-11-24, 20:16:56
  • Location: Chile

AY8910 .PSG to .VGM converter

Post by SergioFLS »

I wrote a converter of the .PSG log format used on the Fuse emulator (and possibly others?) to VGM. This is my first time dealing with the VGM file format, so there might be some mistakes I've made, but at least I had fun writing it.

https://gist.github.com/SergioFLS/22cfd ... c6d067e305

I mostly got the idea when I've seen Fuse's "Record AY" function, thinking I might be able to hear my favorite ZX Spectrum 128K demoscene music through foobar2000+foo_gep plugin.

The plugin didn't support the format at all, and while it seems to support .AY, Fuse writes to a different format called PSG that's basically a log of the AY8910's registers.

After some spelunking on the internet via DuckDuckGo and the Wayback Machine, I've eventually found some documentation for the format that I could actually make sense of (there was also Fuse's source code which I didn't understand any of it...). References are included in the Gist above.

I've tried it successfully with files generated with Fuse, AY_Emul (converted from PT3) and the example song from ZXTune.

Again, the code might be buggy and might not do it's supposed job properly, but I at least hope it's useful for anyone else. :D