Problemas com memoria eeprom 24fc256

Muchas gracias SrDonGato, me ha costao pero el escribir lo he resuelto así, no se si será la mejor manera pero esque he probado de todo y no sabia como hacerlo, ahora me falta el leerlo todo a la vez pero poco a poco, si se puede mejorar soy todo oidos.

void i2c_eeprom_write_data(int device, unsigned int add, byte *data) 
{
  byte err;
  byte cont=sizeof(data); //compruebo el tamaño de los datos por si hay que grabar en varias zonas de memoria
  for(err=0;err<cont;err++){
 Wire.beginTransmission(device);
 Wire.write((int)(add >> 8)); // left-part of pointer address
 Wire.write((int)(add & 0xFF)); // and the right
 Wire.write(data[err]); //los datos en bytes hacia donde apunta el puntero de datos
Wire.endTransmission ();
 delay(10);
 add++; // incremento en uno la direccion de memoriapara añadir otro dato en caso de haberlo
  }
}
void setup() 
  {
    //char somedata[] = "this is data from the eeprom"; // data to write
    int somedata=26;
    Wire.begin(); // initialise the connection
    Serial.begin(9600);
     int ji=820;
   byte *pDato = (byte *) &ji;
    Serial.println("Memory written");
    i2c_eeprom_write_data(0x50, 1,pDato);
    delay(10); //add a small delay


    Serial.println("Reading data...");

 d=readData(0x50,1);
 Serial.println(d, HEX);
 d=readData(0x50,2);
 Serial.println(d, HEX);
  }

  void loop() 
  {}