Just to tell that my PSP project is still alive, or should I say beginning to come out of the coma. Today I got a little code running, a small main loop, like: Start TRISE := $17 ; Enable PSP TRISA := $00 ; PortA as output PIE1 := $80 ; Enable PSP interrupt ADCON1 := $07 ; Set PortE as digital I/O INTCON := $C0 ; Enable interrupts Loop If Indata.flag is set then increment counter Output counter to PortA Clear Indata.flag goto loop and an interrupt routine checking for PSP interrupt and PSP write, then setting the Indata.flag The crucial part is to set PortE as digital I/O by setting ADCON1 properly, otherwise PortE will be inputs for the A/D converter, a relation that was not clearly stated in the old data sheet I was relying on but is obvious from the most recent one. (DS30390E - can be downloaded from Microchips website). I've tried replacing the RETURNs in my regular code with RETLW $00, like Randy Rasa suggested, but I havn't got it working yet. There might still be something I have overlooked. Thank you for you help so far, I'll be back when I know more. Regards Michael