//Echo.c Echo effect changed with size of buffer (delay)
short input, output;   
short bufferlength = 3000;		     //buffer size for delay
short buffer[3000];			     //create buffer
short i = 0;
short amplitude = 5;			     //to vary amplitude of echo 
 
interrupt void c_int11()	           //ISR 
{
 input = input_sample(); 	           //newest input sample data
 output=input + 0.1*amplitude*buffer[i]; //newest sample+oldest sample 
 output_sample(output);  	           //output sample
 
 buffer[i] = input; 	       	     //store newest input sample
 i++;                                    //increment buffer count
 if (i >= bufferlength) i = 0;           //if end of buffer reinit
}

main()
{
 comm_intr();				     //init DSK, codec, McBSP
 while(1);              		     //infinite loop
}