Sound

David Thiel recounts his development for the Gottlieb sounds.

"The original Gottlieb sound workstation was a custom ROM emulator (thanks to Jim) that plugged into an AppleII. When PCs became a viable option Jim wrote a 6502 cross assembler and another ROM emulator that ran out of the PC. In either case the computer's parallel port was used to trigger the synth algorithms as a parallel handshake line going down (or up I forget) caused an interrupt on the soundboard. The 6502 would grab the data from the port and respond appropriately.

The key to doing sounds with primitive signal processing is to use an oscilloscope to inspect the results. You could debug pretty well by looking at the results (after a while). Anyway, the algorithms were very short (by necessity). The synth algorithms were very close to the bone considering that they were pure DSP on a 1 MHz processor with no other hardware except an eight bit DAC. The only source of timing was the processor clock so loops had to be balanced with respect to branching so that the sampling rate would be consistent. It took a lot of programming to come up with algorithms that sounded like what you wanted.

I tried to do all tweaking of sounds from the cheesy speaker in the game cabinet rather than from headphones or an amplified version of the DAC output. I used the resonant frequencies and all inherent game cabinet distortions to my advantage when I could.

I spec'ed the [M.A.C.H. 3 sound board] design and Dave Bonecutter implemented it. It originally used two SID chips (from Commodore). We had a working prototype when Gottlieb (Mylstar) purchasing alerted me that Commodore notified us that they would not sell SIDs to us due to their own demand so we had to fall back on General Instrument square wave chips with external filters. It was a sweet design with two 6502s, LPC voice chip (from GI), a DAC and two square wave chips. I used the voice chip for sound effects in Mach 3. This was the first and last game that I did on the new soundboard since I left Mylstar just before its release.

As for M.A.C.H. 3, Gottlieb was too cheap to buy a development system so that I could encode PCM voice samples into LPC data for the GI voice chip so I built LPC data by hand and used the chip for sound effects. We used one of the laser disc audio tracks for ambient audio (the other track had object data (hand coded)).

I didn't have tools for the SC-01a either so all the Reactor speech was hand coded. The frustration with that process (plus a suggestion from Chris Brewer) inspired me to code up a routine that sent fixed length streams of random phoneme commands to the SC-01a. The results were very amusing (and a much better use of a flawed speech technology). This ended up getting used for Q*Bert a couple of months later."

All the SC-01a did was to synthesize 64 phonemes (done in a time when ROM was expensive). It has two control bits that made simple variations on the 64 thus creating 256 somewhat different sounds. On the Gottlieb system the SC-01a was further elaborated by utilizing a DAC to control the clock for the SC-01a thus controlling the sampling rate (pitch and length) of the results (thanks Jim). This was used to good effect in Q*Bert to create the different voices."

 

[ back ]