Hacker News new | past | comments | ask | show | jobs | submit login
Commodore 64 SID replacement using a Teensy 3.6 (hackaday.com)
55 points by sohkamyung 7 months ago | hide | past | web | favorite | 26 comments

Recently I've been watching a bunch of retro-computing stuff on YouTube, and the restoration projects that people embark on have made me wonder how hard it would be to reproduce the required chips?

Sure the C64 can just be emulated, and there are kit allowing you to fit a RaspberryPi in a C64 case, and use the keyboard, but it's not really the same.

Part of the problem with the SID particularly is its analogue components, such as the filter, which are very hard to simulate digitally. It's not just demos that depend on their behaviour.

Even Commodore themselves weren't able to reproduce all of its subtleties (i.e., the 6581 vs 8580 differences).

Bob Yannes did some amazing things with the chip, especially considering the limitations he had to work under: http://sid.kubarth.com/articles/interview_bob_yannes.html

I do wonder what it would take to emulate it more properly on a component level. It's definitely a "weird" filter and doesn't behave like one would assume it to.

my understanding is that the first run had a hardware bug. i don’t totally understand it, but something about an impurity in the silicon creating circuit crosstalk that affected the filter in such a way as to accidentally create a lowpass filter—- or .. something, such that some games were able to do essentially PWM on first run SID chips, but not second run where the bug was fixed. reproducing this through emulation miiight be impossible.

You could probably emulate the analog sections with a circuit simulator like SPICE.

Analog is hard to emulate well. At least, I've never heard of a decent emulation of the legendary Moog filter. 'Infinite' trumps 'many'

Analog is hard to emulate because real components have complicated non-linear and stateful behaviors, and because real circuits are full of parasitic components, not because of "infinite" anything. Analog circuits have finite SNR and bandwidth, and the "many" of digital can easily exceed them.

Analog circuits also tend to have high variation between units. You might have a perfect simulation of the average hardware, but it won't necessarily sound like your specific hardware. You'll need to measure your hardware and tune the simulation to match. People have done this for SID chips:


In music 'high variation' is frequently a plus. For example the value of Stradivarius or Steinway (and countless other instrument brands) is dependent on 'hard to emulate'.

Of course digital has its place ... but nature chose to go with analog.

Dig into this forum thread which does a great job of reverse engineering the silicon design: http://forum.6502.org/viewtopic.php?f=8&t=4150

Theoretically you could reproduce this with discrete components if you can figure out the entire circuit. That would be a pretty epic build that I'd love to see!

Besides cost ($2000 per sq mm for fabrication) and design (the hardware design industry requires 6-7 figure $ software, and nothing is open source), the main problem is copyright and IP.

Any venture will require sufficient funding - and (by necessity) produce sufficient volume that it creates a pile of press - that nobody will touch it unless the copyright and IP issues are 100.00% cleared by a very large pile of lawyers.

the main problem is copyright and IP.


The term of protection for IC layouts is only 10 years in the US --- i.e. long expired.

$2000 per sq mm for fabrication

That's if you want to use the newer processes; if you're reproducing old chips, something like 0.7um CMOS (already considered "old" today, those in the C64 are multiple-um) is only ~$300/mm^2:


Wait. How do chip manufacturers protect their designs?! I'm very curious.

And thanks for the notes about CMOS, I'm very interested in chip design and $300 is rather affordable for hobbyist-level tinkering. Now just to have chip design tools take off... :)

I used to work for a chip design company. They would get samples of competitive product and do competitive analysis and also see if they might be copying your technology. Once we had licensed a technology to another company for inclusion in specific products with some royalties. At some point they terminated that relationship saying they are no longer using the technology. We found that was not true a bit later and a lawsuit was initiated.

You make the old design obsolete and therefore worthless. Combine that with strict trade secret and contractual protections and you are fairly close. But if someone wants to reverse engineer your chip they will.

I suddenly understand why there are so few open design tools and so much [trade] secrecy.

Wow, this is kind of sad.

I'm cynical any laws implemented now would truly protect though, considering the state the world seems to be in...

Try the 8 bit guy's you tube channel.

I know :-)

His content is fantastic.

I've had to dispose of a Commodore 64 because the SID was dead, since it's pointless without the sound. This is potentially quite useful.

SwinSID has been available a while.


IMHO the best emulation so far is the FPGASID (http://www.fpgasid.de/). There are a number of YouTube videos where it is compared against the originals.

Forgot about that one. But ... reservations has been closed.


real SID chips are rare as hen’s teeth nowadays

Damn. Now I wish I'd bought that pile of used C64s stacked in the thrift shop window that day.

its analogue components, such as the filter, which are very hard to simulate digitally.

Analog's day came, went, and will be back again ... because for sound it's just superior in -many- ways. And hacking is hardware, not software.

What are those "many" ways? I can only think of one: it's easier to design good sounding analog synths/effects. The imperfections get you complexity of sound for free, and you don't have to worry about aliasing. But in a hypothetical world where everybody is a DSP genius, I see no reason for analog audio processing at all.

Nowadays one could make or copy one of the vhdl files out there and bake it in pretty much any form.

What the heck is the Commodore 54?

A typo, obviously?

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact