Topic: SID talk

I've been gathering lots of info on the SID and started to put together a VHDL model.
10 6581s are on order for decap practice, and I've got hold of some micro-manipulator probes (below).
These are seriously expensive, but my colleague found a bunch from the 80's in his garage wink
I already have a good enough microscope, so now we just need the micro-manipulator.

/MikeJ

Post's attachments

20140226_102959.jpg
20140226_102959.jpg 17.3 kb, 13 downloads since 2014-03-04 

You don't have the permssions to download the attachments of this post.

Re: SID talk

MikeJ wrote:

micro-manipulator probes

Ok, I'll bite: What the truck is that?

Re: SID talk

This is how you can probe the microcells inside of an IC. Imagine the thinest needle you have ever seen.

Re: SID talk

I think I saw Spock use them once on an episode of Star Trek.  big_smile

Re: SID talk

Jerry Ellsworth has a great tutorial somewhere on the SID and what she did for the FPGA implementation that became the C64 in a joystick product.

Re: SID talk

Reading around, it looks like the DTV SID implementation is not terribly accurate, and lacks filters. We know a great deal more now from layout analysis and I hope we can produce something much closer.

I've knocked up some state variable filters in the FPGA, looking to copy the filter behaviour in the floating point emulator for now. I've got a friend who runs a chip analysis lab and I'm going to attempt to decap a working chip.

My colleague has experience of die probing early 80s chips, and it's not as hard as I thought, we have the micro manipulators and probes.  What I would love to do is get on the digital output bus to the final DAC and feed this back to the FPGA copy. We should be able to confirm the digital domain is behaving as expected.

One other idea is to run a network analyser on the filter for all settings, but this is a bit more challenging.
/Mike

Re: SID talk

This sounds very promising indeed. Remember there are two important models of the SID chip that both should be supported. The 6581 and the 8580 (also known as 6582*) with quite different characters. My suggestion is to start with the 8580/6582 though as that one turns out to be most popular these days.

Then we have different revisions of these chips, but I don't think it ever would be necessary to implement anything other than the latest revisions of both chips. Purists, please don't spank me for this! wink

* 6582 is an basically the same as the latest revision of 8580, only used for warranty/service replacements.

8 (edited by Vanfanel 2014-02-18 11:20:56)

Re: SID talk

The C64 IS the SID! That chip is magic... I've never heard anything like that in a personal computer.
This is promising, yes! As much as the Amiga itself! Can't wait to connect the FPGA ARCADE board to a stereo sound system and play some C64 music with it smile

Re: SID talk

If using the external DAC for simulating the filter, would it be possible to simultanously run multiple SID instances, or is the DAC busy with one filter at a time? If we can run say eight full SID chips, we could rebuild the MIDIBox SID, and by that having another market of suckers for the Replay. smile

Re: SID talk

The filters will be emulated in DSP logic inside the FPGA, then the final value passed to the DAC. You could have as many as would fit the FPGA. May be possible to TDM the filter logic between multiple SIDs.
/MikeJ

Re: SID talk

Jerry did the die probing to get the FPGA code that she developed.  There is a video tutorial of how it was all done on YouTube or some video hosting site like that.  It's pretty in depth, and I believe she was going to make the Verilog available.

Re: SID talk

Jim, sounds interesting, I'll have a look around.

Re: SID talk

Here is a link:

http://wn.com/fpga_tuning_c64_sid_jeri_ellsworth

Jeri has numerous videos.  I am going to send her an email to ask about the source code.

Re: SID talk

No need to re-invent the wheel.... 5 others have already done it!

http://papilio.cc/index.php?n=Playground.C64SID

Re: SID talk

Isn't the whole idea with the FPGA Replay to reinvent the wheel? smile

Re: SID talk

JimDrew wrote:

No need to re-invent the wheel.... 5 others have already done it!

http://papilio.cc/index.php?n=Playground.C64SID

To be honest Jim, they are good starting points but require significant validation effort. I've started to rewrite based on latest findings...

17 (edited by WoS 2014-02-18 20:40:45)

Re: SID talk

Existing FPGA-SIDs don't implement the analogue parts AFAIK - but as Mike says, it is of course possible. I repared already building blocks taking real numbers (!) as configuration for R and C values and generate digital filters out of it - just by putting into the synthesis. I did this because such simple RC structures are often used somewhere on arcade boards and I didn't want to do the math all the time over and over again. This way I implemented also a "digital" version of a NE555 timer etc...

By the way I am not sure if she really "invents" all this C64 stuff - when looking at all the discussions on the web. There were quite some people working on the project that time and it seems there were some non-technical problems breaking everything up... sad
And that is probably one of the reasons why most of the C64 development is no longer free to use and such restricted, which is really a pity. But I can understand this, if people take the credits and money alone out of joint or even free developments (if this stories are true, of course).  But this we know also from Jobs, Gates, ..., right ?   smile

/WoS

18 (edited by JimDrew 2014-02-18 22:56:26)

Re: SID talk

She most definitely does invent this stuff *herself*.  Her SID emulation pre-dates anyone else's.  What made people mad is that she turned her openly public tinkering into commercial products and that closed the door for sharing anything once that happened.  The same would be true if Nameco or some other company approached Mike and bought his technology - it would go away and people would be mad.  That's business.  I know Jeri's SID emulation has the full simulated analog filtering built-in.  She was very picky about the sound being authentic to the real thing.  In fact, she spent a considerable amount of time being able to phase-shift the SID (and the filtering) to add harmonics for a couple of projects she worked on.  Besides Yannes, she definitely has the most experience with the SID chip internals.

Re: SID talk

I'am currently using the Jan Derogee's VHDL SID implementation (available at pacedev.net svn repository) for my DE0 Nano and DE2 C64 recreation (from Peter Wendrich's FPGA64). The sound is already very good.

Maybe it will not be too hard to design and add digital filters if actually needed. Does somebody has information about those filters ? frequency response or so ...

> just make it simple <

20 (edited by WoS 2014-02-19 07:30:01)

Re: SID talk

That's exactly the point. Setting up the logic part is rather easy, but this filters are needed for a full implementation and it is the tough job to get it right. There is a lot of de-layering of actual chips done, but there is no complete/open information on that and work is still needed.

Due to an interview with Bob Yannes (who designed the SID) this analogue part is a quick and dirty design with quite some parameter spread (in semiconductors passive elements can have easily a spread of 20...30% if not designed well, active structures have significant gain and offset variations w/o compensation techniques), so when dissecting a "real" SID you also need to consider in which corner the IC actually is to do a "good typical" setup on FPGA...

To stay fair, I like to judge based on both stories in this matter around C-One and later DTV - not only from Jeri (which you can find most on the Web). E.g. like this one: http://www.gulli.com/news/9121-retrocom … 2006-08-17. And due to that she got payed for developing the C-One (http://www.c64upgra.de/c-one/s_specs.htm) and used this for DTV to make quick money. Also the Lotek64 #15 contains a long interview with people involved that time. But I think we don't need to elaborate on that or what invention and implementation means in this context, everyone can make up his own opinion on that, it is just a pity as it burned quite something here...

Technically, as Mike wrote, the DTV is just very basic in many perspectives. Similar the the fpga-64, I'd say. Beside a "enhanced" DTV (with self-made IEC port) I have a Chameleon64 as well which is in my opinion much better in compatibility - but unfortunately not open anymore and progress seems to got stuck years ago, so we need to start yet over again for quite some parts to be "clean".  sad

/WoS

Re: SID talk

Will your implementation include all noise from a real SID? That would actually be awesome. Yes, the noise is part of the SID sound, isn't it? Of course I only mean the internal noise produced inside the chip and nothing from cheap transistor amps and badly shielded external circuitry. Just the pure dirt...

22 (edited by WoS 2014-02-19 07:41:05)

Re: SID talk

I believe Mike is really motivated to step into the SID topic and he always aims for perfection big_smile

I'll volunteer for an initial VIC-II setup. First step would be to get some text mode to have some minimal system on the Replay to work on (including re-use of the 1541 from VIC-20 and thus with several parts under copyright by Mike and me, CIAs come from the Amiga core under GPL and so on)...

/WoS

Re: SID talk

Need to get the top of the beasty first and probe the innards wink

24 (edited by i2c 2014-02-19 14:20:58)

Re: SID talk

MikeJ wrote:

Need to get the top of the beasty first and probe the innards wink

I think this has already been done. Check http://oms.wmhost.com/misc/ for die shots.

It is worth checking this out !

Re: SID talk

Yep, its been done many times - and don't forget there were 5 or 6 revisions of the SID chip, and they ALL sound different from each other.  This is why WinVICE and other C64 emulators have the ability to select the exact revision.  If you want to know the difference in filtering from a software standpoint, check out the source code for WinVICE.  It describes the filter differences between the SID revisions.