EEPROM Misreading (solved)

savedAddress = eeprom_read_word((uint16_t*)10);

eeprom_write_word((uint16_t*)10, savedAddress);

im using this to set the starting point for the next address save. and its how the tutorials and the library info says it should appear.
it just tells the mega where to start next time it saves the date/count. im using first 100 bytes of eeprom for settings and the rest for date/count data.
1 byte for month(9), 1 byte for day(9), 1 byte for year(12), 1 word for count (up to 9999)

which seems to work just fine from what i can tell, im saving rgb settings for an lcd, and a few other things with eeprom.

here is the part that displays the information on an lcd menu.
yes it could be alot smaller, this is like my version 0.5

If i can get it to save properly I can hang it at school and work on refining and other coding.

if(page == 3){

if(s == 0){     //startup purposes, dont want it to point to addressing not being used for counter
  s = savedAddress;        
}

  
    if(pointer1 >= 4){
      pointer1 = 1;
       } 
        if(pointer1 <= 0){
          pointer1 = 3;  
            }
            
            
  if(buttondepress == 1){
    if(buttonpress == 1 && pointer1 == 1){  //moving forward on dates
     s = s + 35; 
     buttonpress = 0;
     if(s >=4086){
        s = 130;
        }}
    if(buttonpress == 1 && pointer1 == 2){
     s = s - 35;
     buttonpress = 0;
     if(s <= 129){
        s = 4085;
        }} 
      
  if(buttonpress == 1 && pointer1 == 3){
    page = 0;
    buttonpress = 0;
    s = 0;
  }}
  
  
if(s <= 99){   
 s = 4060;        
} 
if(s >=4061){
  s = 100;
}  

uint8_t m;  //month    //  these change during each run
uint8_t d;  //day
uint8_t y;  //year
uint16_t c; //count

   
itoa (s, array, 10);               //debugging
glcd.drawstring(88, 0, array);     //debugging

  //////////First run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 1, array);
  itoa (d, array,10);
  glcd.drawstring(12,1, "/");
  glcd.drawstring(18, 1, array);
    itoa (y, array,10);
    glcd.drawstring(30,1, "/");
    glcd.drawstring(36, 1, array);
      itoa (c, array,10);
      glcd.drawstring(52,1, "|");
      glcd.drawstring(57, 1, array);
s = s + 5;


  
  //////////Second run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 2, array);
  itoa (d, array,10);
  glcd.drawstring(12,2, "/");
  glcd.drawstring(18, 2, array);
    itoa (y, array,10);
    glcd.drawstring(30,2, "/");
    glcd.drawstring(36, 2, array);
      itoa (c, array,10);
      glcd.drawstring(52,2, "|");
      glcd.drawstring(57, 2, array);
s = s + 5;

  
  
  //////////Third run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 3, array);
  itoa (d, array,10);
  glcd.drawstring(12,3, "/");
  glcd.drawstring(18, 3, array);
    itoa (y, array,10);
    glcd.drawstring(30,3, "/");
    glcd.drawstring(36, 3, array);
      itoa (c, array,10);
      glcd.drawstring(52,3, "|");
      glcd.drawstring(57, 3, array);
s = s + 5;



  //////////Forth run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 4, array);
  itoa (d, array,10);
  glcd.drawstring(12,4, "/");
  glcd.drawstring(18, 4, array);
    itoa (y, array,10);
    glcd.drawstring(30,4, "/");
    glcd.drawstring(36, 4, array);
      itoa (c, array,10);
      glcd.drawstring(52,4, "|");
      glcd.drawstring(57, 4, array);
s = s + 5;



  //////////Fifth run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 5, array);
  itoa (d, array,10);
  glcd.drawstring(12,5, "/");
  glcd.drawstring(18, 5, array);
    itoa (y, array,10);
    glcd.drawstring(30,5, "/");
    glcd.drawstring(36, 5, array);
      itoa (c, array,10);
      glcd.drawstring(52,5, "|");
      glcd.drawstring(57, 5, array);
s = s + 5;


  //////////Sixth run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 6, array);
  itoa (d, array,10);
  glcd.drawstring(12,6, "/");
  glcd.drawstring(18, 6, array);
    itoa (y, array,10);
    glcd.drawstring(30,6, "/");
    glcd.drawstring(36, 6, array);
      itoa (c, array,10);
      glcd.drawstring(52,6, "|");
      glcd.drawstring(57, 6, array);
s = s + 5;



  //////////Seventh run
      m = eeprom_read_byte((uint8_t*)s);         
      d = eeprom_read_byte((uint8_t*)s+1);      
      y = eeprom_read_byte((uint8_t*)s+2);       
      c = eeprom_read_word((uint16_t*)s+3);

itoa (m, array,10);
glcd.drawstring(0, 7, array);
  itoa (d, array,10);
  glcd.drawstring(12,7, "/");
  glcd.drawstring(18, 7, array);
    itoa (y, array,10);
    glcd.drawstring(30,7, "/");
    glcd.drawstring(36, 7, array);
      itoa (c, array,10);
      glcd.drawstring(52,7, "|");
      glcd.drawstring(57, 7, array);

s = s - 35;




  
  
glcd.drawstring(0, 0, "Count History");    //display 7 days of a week, will be able to look back several weeks if not more
                                            //mega has 4096 KB to work with, using addresses 100-4095 for counter
//glcd.drawstring(0, 1, "0432  06/14/12");     //example

glcd.drawstring(103, 2, "Next");
glcd.drawstring(103, 4, "Prev");
glcd.drawstring(103, 6, "Back");
glcd.drawrect(100, pointer1*16-2, 28, 11, BLACK);


glcd.display();

  glcd.clear();
    return;
}