Jump to content

6581/8580 SID Issue


MisterCharlie

Recommended Posts

Hi!

I'm currently building a 4x 6581 and 4x 8580 SID Synth with an Atmel MCU, largely based on the MIDIBox SID. I've manage over the years to scavange 8 chips (4 of each), but now that the MIDI part is working, I'm having issues with the chips.

First of all, the 6581 sounds alot quieter than the 8580. Is this normal of my chips are busted?

Secondly, the gate on the 8580 doesnt seem to work properly... As soon as I select a waveform, the chip will start to make sound. I know I can write in the Control Register since I can mute/unmute the chip by selecting or unselecting the saw wave. But writing on the GATE bit doesnt seem to do anything... Are the registers mapped exactly the same way on both chips?

Thanks for any advice!

Charles

Link to comment
Share on other sites

I am by no means an expert on this matter. But i tested my own SIDs last week with a SammichSID i borrowed from a collegue. You can sometimes hear some minute differences in volume levels between different 8580. However i have a 6581R3 and a 6581R4 and the volume level on one of those (can't remember which one) is a lot lower.

Edited by Shuriken
Link to comment
Share on other sites

Secondly, the gate on the 8580 doesnt seem to work properly... As soon as I select a waveform, the chip will start to make sound. I know I can write in the Control Register since I can mute/unmute the chip by selecting or unselecting the saw wave. But writing on the GATE bit doesnt seem to do anything... Are the registers mapped exactly the same way on both chips?

I seem to recall what you trying to do was possible only on the 6581 due to a VCA bug, which made noise when turned on or off. This "feature" was later used to reproduce digitized sound. The bug was fixed in the 8580 so this functionality was lost AFAIK.

Then again I could be wrong, or I could be talking about something completely different.

Link to comment
Share on other sites

Thanks for the replies guys, but I may have explained the problem wrong.

So here is what I do :

Note On Message -> I write 0x21 to the Control Register of Osc 1 of a 8580. This should be Saw Waveform, Gate On. I do hear the waveform, at the right frequency.

Note Off Message -> I write 0x20 to the Control Register of Osc 1 of the same 8580. Sound doesn't go off. The note is held forever. I'm writing 0xF0 to the sustain/release register. The only way I can turn off the sound is to write 0x0X, by selecting no waveform at all. This kills the sound.

I have 4 8580 chips in my synth, I doubt they are all broken the same way. I must be doing something wrong. The sam

Did any of the register changed from the 6581 to the 8580? The 8580 datasheet I found is incomplete.

By the way, here are some fresh pics of my SID Synth, I've just finished assembling the casing.

SIDSynthPhoto01.jpg

SIDSynthPhoto02.jpg

Link to comment
Share on other sites

Nice work :thumbsup:

Did any of the register changed from the 6581 to the 8580? The 8580 datasheet I found is incomplete.

No, the registers did not change. As for an 8580 datasheet you can also use a 6582 datasheet which is identical.

Link to comment
Share on other sites

I've been messing around some more with the chips. Now for some reason they get out of tune. I've tried loading several Frequency values into the oscillators and some notes are quite off. I suspect some registers to be messed up (like a bit stuck)... but it happens for the 4 8580 chips, so it's quite unlikely.

The gate problem is still there, no matter what voice, what chip, as soon as I have a waveform selected sound goes out.

I've also noticed the envelope might be messed up. The sustain parameter does seem to work. Depending on the values I get random sound intensities, nothing linear...

Link to comment
Share on other sites

You have to sync register accesses to the 1 MHz SID clock.

It's especially important to prevent any setup or hold violation on the bus - depending on the microcontroller that you are using this can be very tricky!

Due to this frequency limitation it's also better to control multiple SID chips from multiple microcontrollers.

Some time ago I wrote a report about this issue:

Best Regards, Thorsten.

Link to comment
Share on other sites

Well I got a PWM of the AVR to generate the 1MHz. I also always wait for the clock to be low to put new data on the bus.

I've fixed the detuning problem... The LCD PCB connecting on the same databus as the SID had 2 datalines shorted, so it was messing up everything. Tuning is good now, I can play a song but I still have this gating problem.

Here's the code I'm using. I won't detail now, it's only to see if I get the concept right. As you might guess, LoadSID loads the value at the defined register address (these are good, check them 3-4 times). ChipSelect is a macro to set the line decoder to the specified chip.


	ChipSelectF()

	LoadSID(ModeVol, 0x0F);

	LoadSID(_2FreqLo, 0x81);

	LoadSID(_2FreqHi, 0x19);

	LoadSID(_2PWHi, 0x08);

	LoadSID(_2PWLo, 0x80);

	LoadSID(_2AttDec, 0x00);

	LoadSID(_2SusRel, 0x00);

	LoadSID(_2ControlReg, 0x20);

If I run this, I get a saw wave at the right frequency. Note that the gate bit is off AND the sustain is 0, but I still get full volume. The Mode/Volume register does work properly.

If I run the code selecting a 6581 on the same board, it works fine, except the fact the 6581 is alot quieter than the 8580.

I really do think the envelope generators are dead for some reason...

Edited by MisterCharlie
Link to comment
Share on other sites

Ok sorry if I'm annoying, but I really need to get sorted out.

Q1 : Did you ever heard of enveloppe generator being fried/stop working/never worked/etc. I've played on various parameters of the 3 ADSRs of the 8580 and none of them work (on 4 chips!!). As soon as you select a waveform (any of them), your hear the sound, at the right frequency, but without any gate control.

Q2 : My 6581s are working, but for some reason the sound output is constantly changing. It looks like something is charging/decharging. When I power the synth the sound is loud for 2sec, then decrease to silence, then slowly get louder and so on... The enveloppe seems to be working, and my settings are correct. (the up and down is independent of the notes/env being played).

Thanks for any help.

Charles.

Link to comment
Share on other sites

  • 3 years later...
  • 1 year later...

Hi, i see this thread is very old, however it did not show any conclusion with respect to MisterCharlie's posts.

 I've encountered the same issue; as i use the gate off by writing the gate bit to 0 in the control registers, it does trigger the release of the vca, however it does not kill the sound thereafter.

 Is this expected behavior with the 8580? what s the proper way to program a note off? shoud i use the gate off, then use a timer to count to whatever milliseconds are required for the release and then write a 0b0000XXXX to the control registers?

 Thanks in advance for your replies. also, i'm not building a midibox, but a sid synth of my own (for my own pleasure and for my final exam for my bachelor's degree in electronics. See pictures attached :-) (the casing is under devellopment).

Regards,

 

David

 

IMG_1464.JPG

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...