Some Remarks:

1. It is necessary to set the "DEFINE I2C_HOLD 1" in the master to get a
better behaviour of the timing. I checkrd it with the logic analyzer and it is
exactly like in the original "Phillips-Spec"

2. In the section
...
while STAT_BF = 1
i = SSPBUF ' Dummy Read inserted => clears BF Flag
wend
...
it is necessary to inlude the dummy read to get it work on
a 18F6722 and a 18LF14K22 (refer to MCHIP App Note 734, page 17)

3. Address range ist tested from 00h to FFh, all work well.

4. New address setting works (in the main loop) by only setting SSPADD
register with new value without reseting the complete handler.

Regards,
Ralf