Here is a simple FIR filter program for the BF706 EZ kit. It has hard-coded coefficients, and produces a band pass filter between 10 - 14 kHz. It's not efficient, since the convolution MAC operation requires 13 instructions - with assembly, it should be possible in just one. At full speed, this program allows 1000 coefficients, so an assembly version should run up to 13,000. Does anyone have any ideas how to improve the code's efficiency?
Note - most of the code is involved with setting up the peripherals. The filter part is in main().