Several years ago, Andreas Beermann started a hobby project that has taken some unforeseen paths. He decided to replicate the design of the long discontinued MOS Technology 6581 Sound Interface Device (SID) chip using an FPGA. The SID chip was used in a variety of personal computers during the 1980s including the Commodore 64 and the Commodore 128. The SID chip was designed to be significantly better than other sound chips of the day and included the following features:
- Three independent, programmable audio oscillators, each with an 8 octave range, covering a frequency range of approximately 16 to 4000 Hz
- Each oscillator could produce one of four different waveforms (sawtooth, triangle, pulse, and pseudorandom noise)
- A multi-mode filter with low-pass, high-pass, and band-pass outputs. The different filter modes can be combined to produce other filter types such as a notch-reject filter
- Three attack/decay/sustain/release (ADSR) volume controls, one for each audio oscillator
- Three ring modulators
- Oscillator sync for each audio oscillator
The designer of the original SID chip, Robert Yannes, wanted the chip to be seen as a full-blown music synthesizer and, effectively, it was. Consequently, an entire community of music composers grew up around the SID chip and these composers produced numerous, intricate musical compositions – largely for video games. There is still a significant following for this computer-generated music genre, known as “chiptune” and “bitpop.”
Because of the SID chip’s long history, its continued popularity with the vintage computer and computer music communities, and its discontinuation in 1993, working copies of the original IC have become decidedly rare, so Beermann decided to create a replacement. Further, he decided to replicate the device, which was originally based on 7 micron technology, using a modern FPGA.
Beermann selected an Intel® MAX® 10 FPGA as the target device and developed the design using Verilog. The resulting FPGASID device mounted to a carrier board provides a pin-for-pin replacement for the original SID chip, which was packaged in a 28 pin DIP.
Meanwhile, the IEEE just put the original 6581 SID chip into its Chip Hall of Fame because of its significance in the early development of personal computers and its significance to fans of chiptunes and bitpop music.
About four years ago, Beermann decided to significantly elevate his FPGASID project from hobby status to a small commercial venture. The resulting FPGASID module is a cycle-exact, drop-in replacement for the 6581 SID chip as well as its successor, the 8580. The module can be plugged directly into the 28-pin SID DIP socket in vintage personal computers. The Intel MAX 10 FPGA makes this sort of exact emulation possible – something that would probably not be feasible using a software simulation of the SID chip in a microcontroller.
The completed FPGASID module looks like this:
The FPGASID Module
The FPGASID module went into production last year in late October and is now available for €79.95 plus shipping from Kryoflux, a retrocomputing vendor. (Click here for the Kryoflux FPGASID page.)
Beermann’s FPGASID project is yet another example of the extremely wide range of designs made possible by FPGAs.