Hi John :) https://github.com/74hc595/1-Bit-AVR-Synthesizer
I also spent a good chunk of time reverse engineering and reimplementing the 6800 machine code* a while back. It’s pretty brilliant. No hardware timers, everything is software delay loops with controllable cycle counts. (Which is why it’s a bit of a challenge to emulate these sounds; there’s no fixed sample rate other than the CPU clock frequency!)
There are several algorithms. One uses a wavetable approach and then evolves the timbre of the sound by subtracting part of it gradually, until things wrap around and start going crazy. And then there’s one algorithm (which makes the coolest sounds) that is basically two pulse width modulators that interact in some very weird way that I could never figure out.
I got to talk to Sam Dicker and Eugene Jarvis about the sound code when they were at California Extreme many years ago. They brought a printout of the original source code on tractor feed paper.
*The games ran on 6809 processors but the sound boards used a 6800.