Commodore 64 SID tester
Quickly finding out if all three voices on the SID chip actually work is surprisingly difficult. I’ve spent a long time searching the net for a sensible solution with little luck. I’ve found some, but none I’m completely happy with. The one’s I’ve tried seen to blank the screen and not show what’s going on or don’t test all the wave forms or filters.
Anyway, I thought I’d write my own. It’s written in BASIC, so you can easily modify it, if you want. Download it here as a zipped .d64 image.
I’ve recorded a video using WinVice, so you can see how your C64 should sound. The default waveform is pulse and the video runs through all the tests using option 1.
While the menu is displayed it’s possible to change the waveform for options 3,4 & 5 by pressing T,S,P or N (Triangle, Sawtooth, Pulse or Noise).
Thanks everyone for the positive comments I’ve received for this piece of software.
Now, thanks to HDTV man new features have been added allowing the testing of a second SID.
In his own words an explanation;
“I tried to keep all the original functionality for the software so if you select from the main menu and don’t need the address testing, it should function very similarly.
You will notice some results verbiage is slightly changed to allow for the longer text lines of stereo mode results.
If you select option “0” from the main screen, it will bring you to a new menu to select which SID address to test the second SID at. Depending on which SID is set as priority on the dual sid boards – one channel (usually left) will have the primary SID always at $D400, while the right channel will vary depending on the menu option (1 = $D400 only on one channel), 2 = $D400/$D420 (L/R), 3 = $D400/$D500 (L/R), 4 = $D400/$DE00 (L/R), 5 = $D400/$DF00 (L/R). Once you make a selection it should return you back to the original screen to pick out one of your original tests to run – it should display what address it is about to test on the top of that screen to confirm.
If you don’t have a stereo board on your C64 or an easy way to change addresses for the second sid – like using a SIDFX or MIXSID, the easiest way to check the stereo options out is with VICE 3.2 and just adjust the SID settings.
If you select a different choice on the screen than the second SID is actually configured at, it should just play the single mono SID at $D400 in one channel (left).
VICE sometimes is too close to a real C64 – on $DE00 or $DF00 choices sometimes it acts like it has a competing FASTLOAD cartridge on the port installed and sometimes crashes, but on a real 64 it should be no issue at all if there is no cartridge in the port for ie0 and ie1.
You will also notice that the stereo tests run quite a bit slower due to the double poke (and my lack of optimization programming ability, lol). There may be a slight glitch between changing voice 2 to 3 (but it only happens in VICE for me – maybe on a real 64 its fast enough not to notice).
One thing, I may have forgotten to do is provide a way to “reset registers to get back to original mono mode” once you’re done with stereo testing. But a program restart should get the user back to complete mono mode if they just don’t select any stereo modes.
In any case – I think it would be valuable to keep your original software always available as it doesn’t have all the overhead of this stereo one and will be better for all folks without a stereo board. I would label this version “for stereo boards only”.
Enjoy! Thanks again for providing such a useful utility.