So close and yet so far....

Thanks for the input guys. I added the IOCBF=0 line to the ISR and, after adding a slight pause to debounce the switch, all is now working properly.

Two things confuse me though:

1/. Without the IOCBF=0 statement, why didn't my initial code get to the ISR the first time a switch was pressed? I would have expected the ISR to be called once (changing Level from 3 to 4 or 3 to 2 depending which switch was pushed) but then halting due to the IOCBF not being reset.

2/. What should I expect regarding the commenting-out of the variables (wsave etc) when first compiling the Instant Interrupt routine? It compiles with all lines commented out. Is this right and if so, why?

Cheers
Barry
VK2XBP