Sunday, 12 April 2026

PDsid

I Love SIDs

The PDsid, or Public Domain SID. I bought two as UNI64 sold these for the very reasonable price of 8.90€.

These are drop-in replacements for the Commodore 64 SID sound chip. The PDsid can do 6581 and 8580 and no other models.

The mode can be switched by holding the reset button for three seconds on the C64, I suppose everyone has a reset button? The status should stay even after power off. The mode can be read and altered through software too.

We Love the 6581/8580

Installing PDsid on my everyday C64C turned out to be a longer process than expected. 

The metal shield cover on the circuit board doesn't exactly fit with the PDsid USB connector part. This board extension can be snapped away but I chose not to do this as my first action. The USB may be needed for possible firmware updates.

To the horror of purists everywhere, I instead mutilated the metal cover, drilling holes and bending it away. I had misplaced my hacksaw so I had to resort to this ugly business. If going with this route, I recommend to be generous with the opening as the chip is somewhat wider than a SID.

Oh and in this C64C the metal cover is necessary because otherwise the keyboard holders don't work very well.

Vicious!

After this, I turned on my computer and found the chip working. Using the "reset for 3 seconds" I could hear the double-beep, indicating 8580. I then tried the usual suspects, Lightforce, Giana Sisters, Rambo, Delta, Master of Magic, Commando, 720, Stunt Car Racer and could not hear any problem with the sound at least on my Commodore 1084S loudspeaker. 

When listening to my Digiloi in-game tune, which I've heard ad nauseam, I imagined there could be some additional rumbling at the low end. However I've not heard the song often on the 1084S display loudspeaker so it could be simply related to that. 

Alternative theory is that the PDsid is somewhat more "precise" than a real SID, revealing certain type of sound in more clarity.

One more thing is that the firmware I received might still have a tiny filter initialization bug, but as far as I understand it shouldn't affect anything after reset.

As I can't compare a real SID side-by-side in my setup, I should perhaps shut up.

I could have put the chip to play more difficult SIDs, but as I'm not super familiar with demoscene songs, it might tell nothing to my ears. More importantly, my SD card didn't have any demos at hand.

Detect status and read chip model, write them at top left corner of the screen

With the API it's possible to detect the presence of PDsid, read the selected chip (6580/8580) or change the chip emulation between 0=6581 and 1=8580. I used the Action Replay VI machine code monitor to test a few code snippets.

One of the PDsid instruction sheets is ambiguous, as it tells to write 'P', 'S' and 'D' to addresses, and as we know these letters are different in C64 PETSCII, Commodore BASIC and ASCII! It turns out ASCII values are intended, so it is $50, $53 and $44 for P,S and D respectively. The included code example shows how to do it properly.

The chip uses the $D41D, $D41E and $D41F as API, these are unused addresses and the 'P'+'D' scheme means it's highly unlikely any existing software would accidentally mess with the chip status.

All in all, my first impressions of PDsid are very good, hopefully it continues to be available in the future.