Sad Without A SID? This Comes Pretty Close

The MOS Technologies 6851, popularly known as the SID, is a legendary sound synthesiser integrated circuit from the early 1980s that is most famous for providing the Commodore 64 home computer with its ability to make noise. At the time it was significantly better than what could be found in competitor machines, making it a popular choice for today’s chiptune and demo scene artists.

There’s a snag for a modern-day SID-jockey though, the chip has been out of production for a quarter century and is thus in short supply. Emulation is a choice, but of little use for owners of original hardware so it’s fortunate that [Petros Kokotis] has produced a SID replacement using a Teensy 3.6.

The operation is simple enough, the Teensy provides all the requisite SID data lines via some level shifters for the host microcomputer, and uses [Frank Boesing]’s ReSID library to do the heavy lifting part of being a SID. You can download the code from a GitHub repository, and he’s posted a video we’ve put below the break showing a prototype in action with a real Commodore 64. The audio quality isn’t brilliant due to a phone camera recording from a very tinny speaker, but notwithstanding that it has the air of the real thing.

This isn’t the first SID we’ve seen here. How about a MIDI synth using one?

36 thoughts on “Sad Without A SID? This Comes Pretty Close

  1. Coma Light 13 by Oxyron, one of my favorites.
    This vertical video demo is missing the “Coma Light” voice sample from around 1:29 of the video I provided.
    The demo has heavy filter sweeps on the bass right when the shadow mapping cube arrives (and at other times) but it’s so hard to hear. Teensy 3.5 and 3.6 have a nice DSP on board so I imagine it’s at least trying. Can anyone confirm either way if this one is?

  2. I’d argue “The MOS Technologies 6851, popularly known as the SID, is a legendary sound synthesiser integrated circuit from the early 1980s that is most famous for providing the Commodore 54” is a chinese ripoff fake…

  3. Nostalgia for the demo scene (:
    I wish people still coded like that outside of the secret service. Imagine if windows was written in asm. It would be megabytes not gigabytes in size, have no perceivable lag and never crash. Sadly their business model and government spying will not allow it to be stable and secure. They’d never sell another copy.

    1. Not really. Optimizing compilers are really good, and even the best humans rarely outdo them. When ASM programmers want to optimize a section, they usually start with compiler output and then apply their own hand optimization to a critical section.

      As for the size, most of an application’s space on disk isn’t code, but assets like sounds, icons, etc.

      1. Frezik is right on that. By now most compilers are heavily optimized by some of the same people to make very tight ASM code. Often though poor C/C++ leads to poor assembly as well.

        We could have a Maker demo scene. Connect your board to a display and speakers and make it do some Future Crew demos.

      2. While compilers are better now than for 20 years ago (how time flies!) they still aren’t a match for a good assembly language programmer. Most of the things that made them better aren’t compiler improvements (though they are many and complicated) but that processors are designed to execute compiled code and that the expectations from users are different.

        An assembly language programmer work in a different way than a compiler and can test code to see if it works okay. Compilers don’t do that. The information bandwidth from the programmer to the assembler is greater than that to a high-level language compiler.

        1. I have a friend who optimizes code in assembler for modern Intel processors. For the stuff he works on he has to squeeze out every clock cycle. He puts a lot of work into making sure the pipelines don’t stall out. For every new Intel processor he has to redo his code because they tweak how some instructions work. 99.9% of the programmers who look at his code couldn’t tell what it does, or, more importantly, why it does what it does. For those programmers, we have optimizing compilers that do a decent job for the non-critical stuff.

      1. “assembly” – no coders here if you call it that!

        And yes, assembler is well known for readability and portability between different hardware with the same processor. If you had the experience, you’d know most of the same games on the Amiga and the ATARI ST use the same assembler code with the only things being different are jsr’s to hardware-specific routines. (I know I’m dating myself by calling them routines, but I couldn’t care less.) What does rile me up however is the amount of lameness from kids today which purport to be computer enthusiasts.

  4. Nice job and a great project. That I can think of a few uses for :-) . Also a reminder that there is also the SwinSid and NanoSwin Sid chips if you need a SID chip for say a MidiBoxSID build or a second SID for the C64.

    1. Seriously?

      From VICE docs: “There are two emulators of the SID chip available: first is the “standard” VICE emulator, available since VICE 0.12; the second is Dag Lem’s reSID engine. The reSID engine is a lot more accurate than the standard engine, but it is also a lot slower, and only suitable for *faster machines*.”

      I’m more surprised Teensy 3.6 has enough processing power to pull this off.

  5. A SID replacement is no SID replacement if it doesn’t replicate the authentic analog filter sound that’s so sought after. Even the revision of the SID, the MOS 8580 sounds different to critics. See tag mos-8580 on HAD

Leave a 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.