From review of specs and some schematics, I've concluded that I can share I/O pins 28 & 29 with the EEPROM that contains program data that is loaded on reset (if a host is not detected on pins 30 & 31). I'd appreciate confirmation of what I've deduced:
1) Pins 28 & 29 can be shared with another I2C device
2) The I2C device can be any device as long as it uses 7-bit slave address (some use 10-bit) and is not assigned address $00.
Are there any other limitations?
I'm also considering re-purposing pins 30 & 31. I would need to support ISP using the PropPlug. If the PropPlug is present at reset (or forcing a reset) my program won't be running (yet) so I see no issue/conflict. What's not clear to me is what happens after the programming is complete, my program is loaded and executed. If it is using pins 30/31, with the PropPlug connected, will there be an issue? I suppose I could just always expect that "bad things" happen after reboot when the PropPlug is connected; I would disconnect the PropPlug and reset again, now without any conflict. That seems just messy though. When the PropPlug is connected, but not actively programming, is PropPlug TX (Propeller RX) floating? When the PropPlug is connected by not actively programming, is the PropPlug RX (Propeller TX) ignored?