A couple days ago, I wrote that an averaging filter of the form: (WIDTH-1)*AVE + NEW AVE = ------------------- WIDTH was "absurdly simple" if WIDTH = 256. A couple of people have asked in private email for the code; here it is: AVEHI EQU [ANY FILE REGISTER] ;Holds the average [0-255]. AVELO EQU [ANY FILE REGISTER] ;Holds the fractional part ;of the average. NEW EQU [ANY FILE REGISTER] ;Holds the new sample. FILTER256: MOVF AVEHI,W SUBWF NEW,W SKPC DECF AVEHI ADDWF AVELO SKPNC INCF AVEHI 7 words, 7 instruction cycles, "NEW" is unchanged. -Andy === Andrew Warren - fastfwd@ix.netcom.com === Fast Forward Engineering - San Diego, California === http://www.geocities.com/SiliconValley/2499