MOS 6581 architecture rebuild

Hello,

I want to rebuild the internal architecture of a MOS 6581 Chip in VCV. (MOS 6581 ist the music Chip in the old C64 homecomputer. Or called SID chip)

Anyone ever tried Something Like this?

This gets more complex as i imagined the more i ready Intro the MOS architecture.:see_no_evil_monkey::grinning_face_with_smiling_eyes:

Also i want to add additional Features for easy use and more possibilities for the Sound Generation. But that is for later.

I think Most charactetistic for the MOS ist that the 3 VCOs are Not simply Mixed together, but May bei combined throug an AND logic function. (And maybe XOR for Some Kind of ringmodulation)

My Plan right now Looks Something Like this:

  • 3 VCOs with seperaten square and SAW Outputs.
  • VCO1 can hard sync VCO2.
  • VCO2 can hard sync VCO3.
  • 3 logic Operators with AND and XOR

Now i am Not Sure…original should bei Processing VCO1 square and VCO1 SAW through the AND. The Same for VCO2 and VCO3.

But it is also possible to process each seperate VCO Signal through an AND. For example VCO1 square + SAW with VCO2 square + SAW. Or every Other Combination.

IT Sounds really interesting to ā€œAND processā€ the 3 different VCOs. But my understanding ist, that this ist Not the original Signal flow from the MOS?

So my thought ist a Modulation Matrix, where every 6 audio signals (square 1, saw 1, square 2, Saw 2, square 3, saw 3) Go in, and the Matrix feeds the 3 logic modules.

So every Combination should bei possible. One VCO could ā€œAND" with itself, or with any Other VCO, or both…or all…

Maybe that is Overkill…but who Cares.:grin:

Next step is PW Modulation for each VCO with an LFO. (Fast square gives the charactetistic MOS ā€wobbleā€ (the MOS used that as a Trick to Simulate Kind of a chord with only one VCO, If the LFO ist fast enough to Trick the human ear. At least that is what read, but it makes Sense)

Or a slow sine LFO for subtle PWM. (Sounds a bit Like a Filter sweep).

And then there are the envelopes. Here i am Not Sure what to do.

  • VCO1 combined > env/VA > Logic Module
  • Every single Signal > env/VA > Logic module
  • VCO1 > Logic Module > env/AV

(Could be done with a matrix, so i can use every Signal flow as i Like. Could be interesting to have saw1 and square 1 through different envelopes before going through the AND…)

I Hope that was Not too confusing. I am Just making a Plan in how To Route everything. And there are a lot of ideas that Go beyond the original MOS. But that is the Beauty of a modular rebuild.

Then there are the Filter…but thats for later.

Sooo….. my Starting Question:

Hast anyone tried to recreate a MOS 6581 in VCV and has Some ideas and Tips?

like this?

1 Like

Reverse engineering and recreating stuff is a great way to learn how stuff works. And always fun to open a blackbox to see what’s inside. Luckily, there’s is a ton of information on the MOS 6580/81 SID chip available.

Here’s a basic block diagram showing the core functional components and the signalpaths.

2 Likes

That’s a fun schematic to look at, because large portions of it could be converted directly into a VCV Rack patch.

Yeah, that was the idea. But, as with any model, it is a simplified representation of reality. It hides lots of details and complexity. The exact waveshapes, timing of the envelope segments, audio signal and modulation levels, digital resolution, samplerates, filter characteristics. All these factors determine the distinctive character of the synthesizer.

Some might remember the C64 game Impossible Mission. It featured speech and sample playback. Although it might not even deserve the qualification Lo-Fi. Nevertheless, it was like witnessing dark magic in those days.

This feature was not by design. The SID chip itself had a quirk that was exploited to play samples. It clicked when you turned the volume on or off. This could be used to play sampled sounds (as pwm/bitstreams). Similar to how in older PC’s the (on/off) piezo tweeter/speaker, that was intended to only produce an occasional beep, was exploited to play samples.

About a year ago I described how ADC/DAC using PWM works and how to recreate it in a VCV Rack patch. I was quite surprised it was able to pretty truthfully recreate a processed input sample. Because for the technique to work properly, it requires high samplerates.

4 Likes

I can’t offer much help with this, but I do have an Elektron SidStation containing an original chip, if you want an A/B comparison between your patch and the real thing! :wink:

Thanks. For me, I’m not really into chiptune. But I do believe that constraints make creative. And I have a lot of respect for those who are able to extract the most out of the least. This is also true for many of the C64 games and their soundeffects and music. The fact that their is still a wide interest in the whole genre of chiptune is testament to what those pioneers achieved.

One of those pioneers was fellow Dutchman Jeroen Tel

You could only use three channels, which isn’t a lot. If you would compose one chord, you run out of channels. So you have to be creative. By quickly switching between three notes on one channel, you saved two channels. For example: you would have a bassline and a drum both on one channel. That way you saved up some space, and a drum both on one channel… And so you left room for a melody. And then you also tried to put in some extra rhythm parts of fill-ins.

So, you really had to be creative.

Some of these amazingly complex compositions can be found here: Jeroen Tel SID compositions (corrected link)

Jeroen Tel - Cybernoid II In Game --behind the notes–

The link has a double encoding issue. Here it is fixed: Jeroen Tel SID compositions

Thanks…I corrected it in my post.

The chip is documented amazingly well in the SID 6581 data sheet

I found that link within the captvolt sidofon module documentation.

Sorry i can’t edit until my Post ist Approved.

I wanted to add this (crappy) Screenshot.

Thats one voice in my Arrangement. It is far from being slim and Not exact. But…:laughing::person_shrugging:

What i have found ist, that different Logic modules Sound different. I Lack the overview of all possible modules for vcv and i am really Not an electronic nerd.so If anyone hast suggestions for good modules (Logic, vcos, etc…) i am all ears.

I used a lot of switches, because i wanted to make Some Kind of ā€œUser Interface", so i don’t have to Touch any cables. But i am Not Happy with what i have right now.

I played a lot with NI Reaktor (or Generator?) in the Late 90s, and i Miss the possibilities to build a nice UI in top of the mess i created underneath.:laughing:

Dammit, how can i reply to all of this.:laughing::see_no_evil_monkey:

Thanks for all your Input.

I am on my mobile and i don’t get how To direct reply. So….

Yes, Like the sidofon. But i want to build it myself with modules. Or Reverse engineer…. I do understand a lot more why the sid Sounds Like IT Sounds, since i started.

Using it is nice, but that what Not my Main intention.

I found that schematics too, its good for a start, but as mentioned it lacks Some important Details.

I found this:

https://6502.org/documents/datasheets/mos/mos_6581_sid.pdf

Which has a lot of interesting information.

I thought the AND combined ist between the 3 VCOs, but as i understand now it is the Combination of different Waveforms from ONE vco.

When i do it Like this in vcv, it does Not Work as expected. I think thats because the VCO in vcv ist too ā€œperfectā€ maybe?

The Same AND combined from 2 VCOs Sound completly different.

There are a lot of Things i dont get right now, but i Love the Project.:grin:

I Just realized that the really big Challenge is the sequencing. Limited on 3 voices it is so important to have the possibility to send every Parameter on every step. A lot of original characteristics from the SID is Hidden there.

Any ideas what sequencer May bei a good choice?

perhaps this sequencer

because every step is polyphonic, you can set 16 values per step. and you have 16 steps, so 16 different values at once for 16 steps.

Thanks, i will Take a Look at it.