Code: Select all
MEM d1 2437
;-------------- Initialize LFOs etc -------------------
SKP RUN,end_init
WLDS SIN0,25,100 ; Sin LFO for reverb "smoothing". (25 ==> 1Hz)
end_init:
;-------------------------------------------------
;-- Reverb smoothing (modulate delay lines in the loop) --
CHO RDA,SIN0,REG|SIN|COMPC,d1+100
CHO RDA,SIN0,SIN,d1+101
WRA d1+200,0
I drew the diagram according to my understanding.
WLDS SIN0,25,100
A sine-modulated pointer in the range D1[76] to D1[124] will be generated centered on D1[100]. A total of 50 samples are occupied.
After interpolation, the sample value of the pointer is written to D1[200].
The ram space from D1[125] to D1[199] is not useful.
And the value of D1[199] will not be written to D1[200].
If D1 (2437) is split into two MEM spaces, D1 (124) and D2 (2238).The modulation pointer in D1 takes out the value and writes it to the head of D2.
Finally output from D2#, the effect is the same. Saves about 75 ram space, but increases the number of lines of code.
Is my understanding correct ? Thanks a lot for anyone's help.
[img]https://ibb.co/zxg77zz [img]