During the thread of this ongoing discussion, it seems that no-one has mentioned the alternative approach to this problem - so here is my penny/dollar/ECU/francs worth - I had been working on a couple of projects which required ACCURATE timing and encountered all these same problems - albeit with the ST6 series of controllers - continual software overheads causing innacuracies in timing. Eventually I decided to drop the idea completely and wired up a PXO (Programmable Xtal Oscillator) chip to give me an interrupt on one of the port pins. Voila - no s/w overheads, a clock the beats continually, hundreds of hours programming time gained and a plus - if you wire up some spare i/o to the PXO, you can change the frequency as well. Yes, I know it's cheating and it costs more - but for the sake of one 16 pin chip - you know it makes sense :-)