Martin Galway Posted Code for His “Ultima 7” (for Super Nintendo) Sound Driver on Facebook

TheBlackGate-SNES
Ultima 7 for SNES (1994)

Martin Galway likely needs no introduction to the Ultima fandom; he’s well-known as one of the most prolific and storied composers of chiptune music, the first person to to have sampled music of his published on the Commodore platform. He was recently going through a box of long-disused 3.5″ floppy diskettes, to see if there was anything worth holding on to therein. And what he found was quite a surprise indeed:

Came across a weird old pile of 3.5″ floppies in my hoarded stock so I decided to go through it and see what it all was, and throw out the blanks or stuff I was just plain “hoarding.” To my pleasant surprise, one of the disks was labelled “WIVEY SNAPSHOT” which didn’t seem like my own disk at first glance, but it turned out to be a backup disk from Origin programmer Bill Ivey, who was on the team working on “SNES Ultima 7.” There is a lot of game source code on this floppy, but of interest to me is a September 1992 version of my SNES music driver – thought to be lost forever (since I didn’t have any backups at home, and Origin/EA lost/discarded all their assets after I left).

Obviously I had to work on the program first, before getting to the music data (obvs) and the spec of the work was well-known by that time so I had lots of stubs for samples, sfx, tunes and such. IIRC I carried on working on this until about March 1993 when I moved over to Wing Commander 3. I must have dug into some “old” (LOL meaning 1 year old) floppies to get the music data from the NES Ultima game I had already done, and was using that as test material. So to confirm, this is unfinished source code, but it’s the only version of it I’ve ever found. If I ever find it I will publish it of course

You can click on through to his Facebook page to see the source code for the driver in its entirety. It makes for a very long read, if you want to go through it line by line…which makes sense, as it’s very low-level code.