Programming The 6581 Sound Interface Device (SID) With The 6502

Photo of breadboards and bench oscilloscope

Over on YouTube, [Ben Eater] pursues that classic 8-bit sound. In this video, [Ben] integrates the MOS Technology 6581 Sound Interface Device (SID) with his homegrown 6502. The 6581 SID was famously used in the Commodore line of computers, perhaps most notably in the Commodore 64.

The 6581 SID supports three independent voices, each consisting of a tone oscillator/waveform generator, an envelope generator, and an amplitude modulator. These voices are combined into an output filter along with a volume control. [Ben] goes into detail concerning how to configure each of these voices using the available facilities on the available pins, referencing the datasheet for the details.

[Ben]’s video finishes with an 8-bit hit from all the way back in October 1985: Monty on the Run by Rob Hubbard. We first heard about [Ben’s] musical explorations back in June. If you missed it, be sure to check it out. It seems hard to imagine that demand for these chips has been strong for decades and shows little sign of subsiding.

6 thoughts on “Programming The 6581 Sound Interface Device (SID) With The 6502

  1. Always love hearing Ben narrate his process in developing and troubleshooting. But I have to say, seeing that his address decoding doesn’t fully decode the high address bits made me cringe a little. Of course, you would never intentionally write to an address that isn’t within the correct memory ranges for each chip, but the reality of it is that in the case of a “snow crash”, all manner of addresses can be produced, many of which will enable multiple peripheral or memory chips simultaneously. So this might have been a good time to redesign the address decoding circuitry to produce only mutually-exclusive chip selects.

    For those unfamiliar with 8-bit computing, many 8-bit machines have video memory that’s on the main system bus, so you write to a specific address to write one or more pixels to the display. But since these CPUs didn’t have any memory management, you could quite easily accidentally jump to data (such as in the video memory) instead of instructions, and what this usually causes to happen is data being written all over the place, including back into video memory. The result is pretty distinctive; the display turns into random-looking (or not-so-random-looking) pixels, resembling what was known in the analog TV days as “snow”. Thus, a program error that jumps to data and wipes out the display is called a “snow crash”. I first heard the term in Neal Stephenson’s book by that name, and having had a background in 8-bit computers, I knew instantly what it meant.

  2. Must not be as rare as they say, because I have had a perfect and RARE mint 6581R4AR chip listed on FB cheap, and no one has even contacted me about it in the five days I have had it listed…

Leave a Reply to GöstaCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.