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).
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.
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.
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 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.
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.
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.
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.