Multi-SID Music & Demos

category: general [glöplog]

Because I can't find anywhere else to post the question, has anyone successfully got the likes of New Horizons to run on (mostly) real hardware?

I've got my 6581R4 equipped C64 with a 1541U2 w/2.6k dual-SID firmware and it sounds bloody awful. Yes I know it's meant to be an 8580 demo but it shouldn't be THIS awful. Have a listen.

It sounds the same on the C64 and on my HardSID (both 6581R3 and 8580R5), full of that nasty crackling distortion. The emulated SIDs on the 1541U2 sound fine though.

Anybody got any ideas? Everything else I play on either device sounds just fine.
The other sid is wired to some IO address. The original sid chip is at $d400, the other sid can be at any address $d400 to $d7e0 with $20 byte alignment. There is no standard for the second sid addresses so implementations vary. Obviously the software must be written to support the right address. Some software allow the choice for the address and others don't.

It is also possible that the sids are in a configuration where a 2 different sid chips are wired to same $d400 address. In this case there is a pseudo-stereo-effect in the sound because of the differences in their sound and filters.

So, I'd check the adress issues and check whether the sid chips actually work.

Also 8580 and 6581, run on different voltages. So, do not swap chips unless you know exactly what you're doing. Too many dead sids out there.
added on the 2015-05-10 19:58:45 by Mixeri Mixeri
Also, New Horizons is for 3 Sid configuration. I bet there are only a handful of people with 3 SID c-64's, and even less with the right configuration. I have no idea whether HardSid can be used to play that demo.

You'd better use the 3 SID emulation for that demo.
added on the 2015-05-10 20:08:09 by Mixeri Mixeri
Don't get me wrong, I know how to get it working, it's just that whenever I try to run the demo the "real" SID at $d400 always sounds awful, like my recording. That's the issue I'm trying to resolve.

I can run it in Vice with 2/3 SIDs just fine, but that's boring. I want to get it running on the real thing, but it sounds horrible.

The recording I made was just the single $d400 SID on its own. As far as I can tell it works fine for everything else I play on it.
Ok, my theory is:

If the demo writes to 3 sids, for example in d400 d420 and d440 and there are no additional sid chips installed, all the writes go to the single chip at d400 as the d420 and d440 "mirror" the d400 address. So, all data is written to single chip and it sounds incomprehensible.

If there are 2 sids installed, then the 3rd sid address still mirrors the first and sid 1 and 3 data are written to first sid.

Does this sound plausible?
added on the 2015-05-10 21:06:59 by Mixeri Mixeri
I don't think so. I'm no C64 guru by any means but I believe the extra SIDs just snoop on the additional addresses. I'm sure the program still writes to that address but as there's nothing to act upon it I wouldn't have thought you'd get anything more than just the single SID playback, and that's all that happens when you run a multi-sid program in Vice.

I say this because I still get the distortion on the first SID no matter the number of SIDs I have set up.

Happy to be proven wrong though :)
No snooping, the addresses are wired that way and additional sids are always an address line hack.

The demo sounds ok on vice with 2 additional sids set to d420 and d440. if the addresses are something else or there is just one sid the sound is distorted as in your recording and this is due to the address line mirroring.

So, my theory is correct. The demo needs exact configuration of sids to work. There is no easy way around this unless one hacks the demo code.

Anyway, this issue has been discussed elsewhere and smart coders code their multi sid demos and players so that the additional sid addresses can be user selected.
added on the 2015-05-10 21:57:11 by Mixeri Mixeri