Re:Device memory range
I'm trying to understand why the various descriptions keep talking about xxx bits of storage in a device that can only handle bytes. All it does is muddy the waters. I would think ignoring the bit referances when discussing the size of the device and talking strictly in terms of bytes would greatly simplify understanding the device. After all, you can only access it a byte at a time, not by bits. Just think of this device as having two 64K blocks of memory, the first is at addresses 00000 to 0FFFF and the second 10000 to 1FFFF with the most significant bit of the address residing in B0.
The way I understand a Repeated Start is that it is a mechanism by which the Master switches from a Write to a Read operation without using a Stop in between in order not to relinquish the bus. A "normal" Start occurs after a Stop condition, whereas a "Repeated Start" does not have a prior Stop condition. One of its main uses is during a Random Read operation where the Master has to first Write the address to the device and then Read the data from the device. On the bus Start and Repeated Start are both the same, SDA transitioning low while SCL remains high.
Hope this helps,