;*************************************************************** ; ; Stereo Flange for the DSP56001 processor ; Developed by Quinn Jensen ; ;*************************************************************** include "tdsg.a56" P:0076 dot X:0020 org x:$20 ; Sample rate 32.5500 kc ; ; Delay time (1-12) 6.0000 ms ; Depth (1-10) 10.0000 ; Speed (1-10) 1.0000 ; Regen (1-10) 9.0000 ; ; max depth +/- 6.0000 ms ; min delay 1.0000 ms ; max delay 12.0000 ms ; 1/2 cycle period 4.5100 s ; samples per 1/2 cyc 146800.5000 ; time delta/samp 0.0817 us ; offset samp/samp 0.0027 ; FFFFDF doff_i equ -33 0.00266075 ddeltaf equ 0.0026607539 023D70 dspeed_i equ 146800 0.888889 dregen equ 0.8888888889 002000 delay equ $2000 001000 dmax equ 4096 ;125 ms X:0020 FFFFDF doff dc doff_i ;current delay distance Y:0020 org y:doff Y:0020 000000 dc 0 X:0021 org x:doff+1 X:0021 000000 ddelta dc 0 ; Y:0021 org y:ddelta Y:0021 005730 dc ddeltaf X:0022 org x:ddelta+1 X:0022 023D70 dspeed dc dspeed_i X:0023 000000 dtoggle dc 0 ; X:0024 delayout X:0024 000000 dc 0 Y:0000 org y:$0 P:0076 org p:dot ;go back to P-space ; ; non-interrupt code ; P:0076 hf_init P:0076 61F400 move #delay,r1 ;delay line input P:0077 002000 P:0078 05F421 movec #dmax-1,m1 ; P:0079 000FFF P:007A 71F400 move #doff_i,n1 ;distance to output P:007B FFFFDF P:007C 00000C rts ; ; fs = 32.552083 kHz ; P:007D hf_comp P:007D 0D0066 jsr 1,x0 P:00AF 000001 P:00B0 200044 sub x0,a P:00B1 562300 move a,x: