Hi, I was tinkering with an I2C routine on the 509 and it was annoying me that I had to maintain a temporary port "shadow" variable to control the port data direction register side of things. (I can supply the source for this) For I2C, I prefer not to drive the outputs directly, but to use a 1K or 10K pull up and switch the port "data direction register" to input/output so that I dont end up with any nasty "sinking feelings" - driving the pic output into a held low pin, for example (yes, it happened on a previous product - sucked the hold up caps of their juice causing incomplete power downs) Anyone have a clever way of getting around this....or am I stuck with a bloated driver? Or, heaven forbid, do I have to go to 'direct drive' of the outputs...... TIA Dan