24LC256 bitmap storage for 33310 lcd | Solved.

The error now seems to be in your bitmap write code... you're writing the last + 1 byte past the array over & over again to the eeprom in your for loop.

  for (int i=0; i < 489; i++){
    i2c_eeprom_write_byte(eeprom1,i,me[489]);
  }

Try something like this below (and possibly consider brushing up on for & while loops in C language from web tutorials)

int me_bitmap_start_address = 0;     //change this to wherever you want to store your bitmap on eeprom & keep track
int me_bitmap_length = 489;            //so that multiple bitmaps don't overlap

for(int j=0; j < me_bitmap_length; j++)
    i2c_eeprom_write_byte(eeprom1,(me_bitmap_start_address + j),me[j]);

i've added the me_bitmap_start_address bit just to emphasize that the location on eeprom that you store your bitmap in can start wherever in the address space (possibly not in the last few 489 bytes :)) - the eeprom address & the array subscript are different things