I've recently swapped a faulty SID chip with a good one in one of my
C64. I successfully tested the 3 SID voices with a small basic program
because in this moment I have no means of loading any tape/disk/
cartridge.
Here is the program I used:
10 FORL=54272TO54296:POKEL,0:NEXT:POKE54296,15:GOSUB60
20 POKEW,17:POKEA,9:POKEHF,15:POKELF,35:POKES,128:GOSUB50:GOSUB70
30 POKEW,17:POKEA,9:POKEHF,20:POKELF,40:POKES,128:GOSUB50:GOSUB80
40 POKEW,17:POKEA,9:POKEHF,25:POKELF,50:POKES,128:GOSUB50:GOTO10
50 FORX=1TO2000:NEXTX:RETURN
60 W=54276:A=54277:HF=54273:LF=54272:S=54278:RETURN
70 W=54283:A=54284:HF=54280:LF=54279:S=54285:RETURN
80 W=54290:A=54291:HF=54287:LF=54286:S=54292:RETURN
I was wondering if there's a way to test filters too, maybe by
modifying the program. I wanna be sure that the SID has no faulty
filter.
Thanks for any opinion you wanna share.
I forgot the registers by now, but did play a lot with filters back in
"the years".
By "testing" you can only hear if they would work. Not if they filter as
they are supposed to. And IIRC there were SIDs with slightly different
filters, which you could hear playing the same SID on two different
machines.
Anyway, there are (IIRC, I didn't do it (that too ;-) for quite some time
now) three types of filters. Lowpass, Highpass and Bandpass. And you have
a high- and a lowbyte to control the width. You could trigger one filter
type after the other and change the width via a loop in a Basic program
again.
What the control registers were Google should know.
--
Andreas
My Commodore 64 classic game music page at
http://freenet-homepage.de/ankman/sid.html
You could try a "filter sweep" (it is what happens when guitar players use
"wow-wow" [or, is it "wah-wah," I can't remember] pedals).
Set each voice to play a pulse wave-form (it makes harmonics). Send that
voice through each filter. Use FOR loops to slide ("sweep") the filter's
frequency setting up and down.
I did something similar over 20 years ago. I fixed the filter values
(input values) and I swept the frequency via game paddles. I ran
sound output into an old tape deck with analog VU metiers conveniently
calibrated in Db. I was able to plot some crude frequency responses
for the SID filters. You have to be a bit creative in synthesizing
SID waveforms to test at the higher frequencies. This was all easy to
do using COMAL. However, I think Chris just wants a simple pass/fail
SID filter test.
Alan
I think it becomes quite tricky to do that without a sequencer. Is
there any specifical program that you know that tests filters?
Mauro
10 poke54296,15+32 :rem filters: +16=low-pass, +32=band-pass, +64=high-pass
20 forv=1to3:print:print"voice";v:forl=54272to54295:pokel,0:next
30 onvgosub80,90,100:pokehf,15:pokelf,35:pokehp,8:pokelp,0:pokea,9:pokes,128
40 pokew,65:poke54295,2^(v-1)+128:forp=0to1
50 forf=0to2047step9:gosub70:next:forf=2047to0step-9:gosub70:next:next:next
60 forl=54272to54296:pokel,0:next:end
70 printf;"{left} {up}":poke54294,f/8:poke54293,fand7:return
80 w=54276:a=54277:s=54278:hf=54273:lf=54272:hp=54275:lp=54274:return
90 w=54283:a=54284:s=54285:hf=54280:lf=54279:hp=54282:lp=54281:return
100 w=54290:a=54291:s=54292:hf=54287:lf=54286:hp=54289:lp=54288:return
On Jul 5, 12:02 am, "Greg King" <greg.ki...@verizon.net> wrote:
> 10 poke54296,15+32 :rem filters: +16=low-pass, +32=band-pass, +64=high-pass
[snip...]
I've posted the file on comp.binaries.cbm (I wanted to post it here,
uuencoded, because it's just 1k, but then I decided not to force
rules).
Regards,
Mauro
It seems the filter has eaten it (see the mini FAQ). If you're not sure,
send me the uuencoded post in E-mail and I'll force it through on your
behalf.
--
Cameron Kaiser * cka...@floodgap.com * posting with a Commodore 128
personal page: http://www.cameronkaiser.com/
** Computer Workshops: games, productivity software and more for C64/128! **
** http://www.armory.com/%7Espectre/cwi/ **