OOPS, my fault

In post #5 the line
Code:
        GP3PressDone     ;   we're done
Should have been
Code:
        GOTO GP3PressDone ;   we're done
That's how it get's out of the loop under those conditions.

Sorry,