First, run this i2c scanner program, and verify that you can see the address of the eeprom and it is what the code expects which is 0x50.
I am very confused by the output, which is only 15 bytes wide. Even with the wrong address or no eeprom connected I see output 16 bytes wide on the printout. What baud rate setting do you have on the monitor when you run the code in #14?
EDIT: Are you trying to read/write a new and unused 24LC128 eeprom? How is the WP(write protect) pin connected?
// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011
#include <Wire.h>
void setup() {
Serial.begin (115200);
// Leonardo: wait for serial port to connect
while (!Serial)
{
}
Serial.println ();
Serial.println ("I2C scanner. Scanning ...");
byte count = 0;
Wire.begin();
for (byte i = 8; i < 120; i++)
{
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print ("Found address: ");
Serial.print (i, DEC);
Serial.print (" (0x");
Serial.print (i, HEX);
Serial.println (")");
count++;
delay (1); // maybe unneeded?
} // end of good response
} // end of for loop
Serial.println ("Done.");
Serial.print ("Found ");
Serial.print (count, DEC);
Serial.println (" device(s).");
} // end of setup
void loop() {}