Yes, I've checked the archives, still uncertain, and reluctant to ask. Trying initially to get an F84 to talk to a 24LC65 but have other I2C ICs in the wings. No problem with start bits or bytes but have run into difficulty over the 9th clock pulse. I have the Philips guide to I2C as well as AN515 (are the sub headings mixed up BTW ?) and Nicole Ambrose's program from the archives. Unfortunately everything else relating to I2C at the archives seems to be unavailable. I'm uncertain because every sample of code I look at seems to be using a different method at the 9th pulse to determine Ack. I won't go into details but suffice to say I'm confused. Part of the reason is sparse commenting on code, but we've been there before haven't we. Notes like "move FF into the accumulator" after movlw 0ffh aren't particularly helpful. Plenty of what-it-does but hardly any why- it-does-it. OK, what I'd like to know specifically is - after the 8th data bit has been clocked into the EEPROM, do you change the PIC SDA to an i/p to test Ack or can you just send a "dummy" 9th pulse out, and assume on a single-memory bus that Ack has been generated ? Nowhere have I seen an explicit direction to change SDA direction at Ack testing time and can't tell whether there's an implied one. Can someone take a minute to give a blow-by-blow, doesn't even have to be code, about I2C procedure please. Jinx