USB I2C adapter and Cognimem on Mac OS X?
Ok so the first thing you need to do before you write a SINGLE line of code is to thoroughly understand the I2C Protocol. I have worked with Serial, I2C and many more protocols. You will rip your hair out if you tackle the problem by trying to code your way through it. 

Basically what I2C allows is, communication to 2^(bits) devices. So if you have 8-bit addressing that would allow communication of 2^8 = 256 devices each with their unique addresses on just 2 wires. This is where the name I2C (two wire interface) comes from.

The idea is, you hook up some peripheral device such as a sensor to your CM1K's I2C pins known as a 'slave' (the master is the CM1K).



Lets say the master needs to read data from a specific slave. In the real world if you wanted to talk to someone you would naturally yell out their name ("Hey Mike") and then the conversation would begin. In a similar fashion the master would broadcast the address along with a read/write bit to ALL slaves and wait for a response. I have taken this image below from the CM1K's hardware datasheet. This diagram outlines exactly how a single byte of data can be read from a particular slave.



So basically what you need to do is to grab that datasheet and read the entire chapter on I2C. Keep in mind I2C has 4 ways of communication read, write, burst read and burst write.

Hope this helps.