I thought i have, the register that i thought was applicable was the ADCON1 which has been set to ADCON1 = %00001111.

Are there any others that i am missing.

I thought this was the only one, as if i set the code to:

Code:
Main:
    if Switch = 1 THEN
        gosub flash
        endif
GOTO Main

Flash:
    For loop = 1 to 10
        Redled = 1
        Pause 50
        Redled = 0
        Pause 50
    Next Loop
Return
When you push the button, it does jump to the Flash routine. So i am guessing it is in digital mode.

I have a pull-down resistor on the input pin, which when the switch is pressed the input line goes to 5v.

I'll keep trying for a solution. Of course it could be my code up the spout !!

Steve