> I've set up Timer0 to interrupt on overflow every 1ms to create a > system 'pulse' for resetting the external system supervisor, updating > any non-zero counters, etc. No other interrupts are used. My > button-checking routine is called every 73ms when its dedicated > counter times out. The problem appeared as an endless series > of random false button presses You say "random" but are the noise spacings multiples of 1ms or 73ms ? The actual T0 IRQ looks to be 1,000,000 / 4 / 256 = 976us. Is that clashing with the 73ms routine somehow ? Are you context saving / restoring in the ISR ? =================================================== Love the Subject btw, very clever. You sure you haven't got a bunch of sexually dysfunctional chips who are just noisy boys? http://www.inkblotsmag.com/critiques/literature/portnoy.html -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics