 
 void loop()
 {
-  unsigned long m;
-  static unsigned long prevMillis=0;
+  uint32_t m;
+  static uint32_t prevMillis=0;
+  static uint8_t same=0;
 
   m = millis();
   if((m - prevMillis) >= 65) //update every 65ms (15Hz)

}


void play_gol(void)
{
  uint8_t x, y, count;

  //update cells
  for(x=0; x < X_SIZE; x++)

    }
    else
    {
      if(play_gol()) //no generation change
      {
        if(++same > 50) //no change since 50 runs-> restart
        {
          same = 0;
          init_gol();
        }
      }
      else
      {
        same = 0;
      }
      draw_gol();
    }

