The most common way retro machines made sounds were with programmable sound generators (PSG); there was a bunch of square waves, saw waves or noise channels at disposal. When technology evolved eventually FM-synthesis and sampling became most common.
A lesser common technique is an improvement of regular PSG, that instead of allowing only simple waveforms such as square wave, saw wave, etc... allows to load any waveform in RAM. Unfortunately I don't know the name (if there's one) for that technique. So far I know the following systems have that:
- Gameboy but only for channel #3
- The Famicom Disk Sytem (used alongside normal Famicom sound)
- Namco 163 's sound expansion chip for some rare Famicom games (used alongside normal Famicom sound)
- Some Konami arcade boards (I'm currently looking up as I don't remember the details)
- The PC-Engine (known as the Turbo-Grafx 16 in the United States)
I wonder if there are other system based on this principle ?
Note : I'm not looking for systems based on samples, but on custom waveforms ("wavetable synthesis" is unfortunately used for both) The differences are that for what I call "waveform synthesis" in this question is:
- There is no settable length or loop point, no (hardware) attack phase, only a fixed-size loop of samples, typically of 16, 32 or at most 64 samples.
- Memory for waveforms is small, and typically part of the sound chip itself (the sound chip doesn't access RAM to read samples).
- Memory for waveforms is per-channel, i.e. each sound channel has it's own waveform defined somewhere fixed, and cannot "point" to different waveforms at runtime.
- Low bit-depth, typically 4 or 5 bits per sample instead of at least 8 bits for sampling synth
- The audio chip can play custom waveforms without CPU intervention. While it might be possible to play advanced samples with CPU trickery and/or monopolizing the CPU at this task, just like in other, more classical Programmable Sound Generator (PSG) chips, this does not count.