I'm using a 12F629

I have set all my ports to either input or output and turned off the comparitor.

I have a PNP transistor on GPIO.4 and a LED for testing the state of the pin.

The program is set to start with GPIO.4 LOW which is seems to do - my LED is lit.

The problem crops up when I use a button to supply an input to any one of three other ports OR put another port HIGH to play a sound on a transducer.

None of the subroutines address GPIO.4 in any way yet it is being switched to HIGH and not staying in the low state I'm looking for.

Reading through the datasheet I didn't see anything on GPIO.4 that should suggest it should behave any way other than a general output with the configuration I have set up however I will admit to the datasheets being quite a bit over my head.

So what is causing the other ports to affect my pin from staying low?

Thanks.

Bart