;*************************************************************** ; ; A stereo reverb for the DSP56001 signal processor. Based on, ; ; Moorer, James A. "About This Reverberation Business." ; Computer Music Journal Vol 3, No. 2 (1979), pp. 13-28. ; ; reprinted in, ; ; Roads, Curtis, and Strawn, John, ed., _Foundations ; of Computer Music_, pp. 605-639, MIT Press, 1985. ; ISBN 0-262-68051-3 (paper) ; ISBN 0-262-181142 (hard) ; ; Each comb filter uses a low-pass filter in the feedback path. ; The combs and all-pass filter delay lines use a prime-number ; of stages to improve diffusion. ; ; The output all-pass stage is replicated for left/right ; decorrelation. Each side uses slightly different gains ; and delay lengths. This works a lot better than just inverting ; one side and adding in the input. ; ; I left out the early-reflection FIR filter because I needed the cycles ; for other effects. ; ; Quinn Jensen ; ;*************************************************************** P:0000 0040 psect vectors p:$0000:$0040 P:0040 0200 psect hf_code p:$0040:$0200 X:0000 0040 psect hf_datax x:$0000:$0040 X:0040 0100 psect hf_datax1 x:$0040:$0100 Y:0000 0040 psect hf_datay y:$0000:$0040 Y:0040 0100 psect hf_datay1 y:$0040:$0100 X:0400 1000 psect midi_data x:$0400:$1000 X:1000 F000 psect lo_data x:$1000:$F000 P:F000 FE00 psect lo_code p:$F000:$FE00 P:FE00 FFFF psect loader p:$FE00:$FFFF X:FFC0 FFFF psect iox x:$FFC0:$FFFF Y:FFC0 FFFF psect ioy y:$FFC0:$FFFF ; ; some oft-used constants ; X:0000 psect hf_datax X:0000 00FFFF ffff dc $FFFF ;used a lot for modulus 7FFFFF ONE equ $7FFFFF ;"one" X:0001 7FFFFF one dc ONE ;"one" ; ; L/R inputs and outputs ; X:0002 000000 in_l dc 0.0 X:0003 000000 in_r dc 0.0 X:0004 000000 out_l dc 0.0 X:0005 000000 out_r dc 0.0 ; ; recompute comb gains g1 and g2 ; X:0006 recalc_comb_gains X:0006 609F00 move x: