I'd recommend getting it straight from the horses mouth, i.e. Philips. That's where Microchip got it from, to write their own text. Why risk transcription errors? It is a very clever bus, and well thought out, but Microchip's app notes are virtually or worse than useless. It's unfortunate that it is possible to write I2C code that seems to work but is not completely correct or robust. If I were Microchip, I'd be embarrassed to publish these notes as they indicate an inadequate understanding of the I2C bus and software to drive it. If they can't provide code to drive the I2C bus properly, have they ever fully tested their hardware? Believe me, their SSP I2C hardware is pretty half-assed.