Ode to M & M

June 2023

Like so many of us, I've been in love with Martin Galway's unique sound and style since the days of yore.

My favourite song, however, was always Ocean Loader 3 by Peter Clarke ever since I reloaded the Rastan tape over and over just for the music.

I later discovered that Ocean Loader 3 was indeed programmed in Galway's player.

So I reverse engineered this exact song to figure out how it works.

Turns out that the tech is not that special. In fact, the coding is questionable, even for a 0.1 coder like me. But it does it's job, and by carefully programming it (yes, all the songs were programmed in assembler), you can get quite nice results, as evidenced by Galway and Clarke's portfolios.

The real magic however, comes from the minds of the composers and not the tech.

The player implements a virtual machine. Each voice has it's own stack with looping, subroutines, and they can even execute 6502 code directly. It definitely leans itself towards repetitions, which is handy for producing music for tapes with long loading times.

I felt an urge to make a song in this player, but was unsure what to do. Original, a cover?

Then I remembered the great Soundmonitor tune Ode to Galway by Marco Swagerman (MC), which I listened to a lot in my younger days! Iirc, it was used on the Trilogic freeze cartridge.

It seemed perfect for this player, and could also form a suitable tribute to both composers.

So I set about making a simple "compiler" (in lua) for the virtual machine, and keyed in the whole arrangement.

Some creative liberties with the arrangement were taken, and I also added a (semi) new lead melody.

Factoid: The "sync" part in the middle was done exactly as in Rambo, by increasing the note transpose register via code called from the song data.

I didn't change the player, apart from moving the arpeggio handling to voice 1 instead of voice 2 — required to make the sync effect sound nicer.

It must have been quite tedious to make music like this back in the days, with only an assembler to work with. Even with my "compiler" easing the burden, it was a chore at times.

The sound is tuned to my 6581 AR4, so results may vary across chips. It seems to sound fine on 8580, though.

All in all, I'm quite satisfied with the result, and I hope you'll enjoy it, too.


Sir Knight C16