Teensy 4.0 and EEPROM.h problem

because it's already been done & working fine for Nano. Isn't it compatible with Teensy?

Should be perfectly compatible with the Arduino supported functions. Compiler different as noted in p#22 with the var types/sizes used for indexing and counts.

The pjrc.com/teensy/td_libs_EEPROM.html does say: Please refer to the official EEPROM library documentation for more details.

If it doesn't work the same it is a Teensy bug. But, need to have a simple example showing it reproducing the problem in the Teensy EEPROM code.
 
because it's already been done & working fine for Nano. Isn't it compatible with Teensy?

Yes I assume that they use the same API. EESPROM.write(key, value);

However the underlying implementation may be very very different. So if you are optimizing around theirs it could do very different things.
During T4 beta we were debugging some of the EEPROM code, so for example I still have this test sketch lying around:

Code:
#define MAX_INDEX 256
uint8_t inc_value = 0;  // default to just index...
#include <EEPROM.h>
void setup() {
  // put your setup code here, to run once:
  while (!Serial) ;
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  Serial.println("EEPROM Test");

}

void loop() {
  int ch;
  // lets try writing to EEPROM
  uint16_t max_index = EEPROM.length();
  if (max_index > MAX_INDEX) max_index = MAX_INDEX;
  Serial.printf("EEPROM length: %d Max Test: %d Inc: %d\n", EEPROM.length(), max_index, inc_value);
  Serial.flush(); // Make sure the output is out
  uint32_t start_time = micros();
  for (uint16_t i = 0; i < max_index; i++) {
    EEPROM.write(i, (i + inc_value) & 0xff);
  }
  Serial.printf("Write time: %d\n", micros() - start_time);
  Serial.println("Start read back");
  start_time = micros();
  for (uint16_t i = 0; i < max_index; i++) {
    uint8_t b = EEPROM.read(i);
    if (b != ((i + inc_value) & 0xff)) {
      Serial.printf("Read mismatch: %d %x!=%x\n", i, b, (i + inc_value) & 0xff);
    }
  }
  Serial.printf("Read time: %d\n", micros() - start_time);

  uint8_t still_waiting = false;
  do {
    Serial.println("Press anykey to run again");
    still_waiting = false;
    while (!Serial.available()) {
      digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
      delay(250);
    }
    if ((ch = Serial.read()) == 'i') inc_value++;    // setup so we can increment all values...
    if (ch == 'd') {
      dump_eeprom();
      still_waiting = true;
    }
    if (ch == 'b') {
      Serial.print("Writing block 300-303 with 25 values each, start: ");
      uint8_t values[4];
      for (int i = 0; i < 4; i++) {
        values[i] = EEPROM.read(300+i);
        Serial.printf(" %2lx", values[i]);
      }
      Serial.println();
      for (int loop_count = 0; loop_count < 25; loop_count++) {
        for (int i = 0; i < 4; i++) {
          EEPROM.write(300+i, ++values[i]);        }
      }
      still_waiting = true;
    }
    while (Serial.available()) {
      Serial.read();  // discard everything
    }
  } while (still_waiting);
}
/* EEPROM start address in Flash */

#if defined(ARDUINO_TEENSY40)
#define FLASH_BASEADDR 0x601F0000
#define FLASH_SECTORS  15
#elif defined(ARDUINO_TEENSY41)
#define FLASH_BASEADDR 0x607C0000
#define FLASH_SECTORS  63
#endif
void dump_eeprom() {
  // Lets print out all of the Possible EEPROM values.
  uint16_t eeprom_size = EEPROM.length();
  Serial.printf("EEPROM length: %d\nContents:\n", eeprom_size);

  // For here lets limit to first 256
  eeprom_size=256;
  for (uint16_t i = 0; i < eeprom_size; i++) {
    Serial.printf("%x:%x ", i, EEPROM.read(i));

    if ((i & 0xf) == 0xf) Serial.println();
  }
  Serial.println("\nRaw Data");

  // Now lets see if we can dump the flash sectors:
  uint32_t sector;
  uint16_t *last_indexes[256];
  
  for (sector = 0; sector < FLASH_SECTORS; sector++) {
    for (uint16_t i = 0; i < 256; i++) last_indexes[i] = nullptr;  // out of range...
    const uint16_t *p_start = (uint16_t *)(FLASH_BASEADDR + sector * 4096);
    const uint16_t *p_end = (uint16_t *)(FLASH_BASEADDR + (sector + 1) * 4096);
    uint16_t *p;
    for (p = p_start; p < p_end; p++) {
      if (*p == 0xFFFF) break;
      last_indexes[*p & 0xff] = p;
    }
    Serial.printf("EEprom Page:%d addresses(%lx - %lx): first free: %x\n", sector, p_start, p_end, p);

    uint8_t count = 0;
    for (p = p_start; p < p_end; p++) {
      if (*p == 0xFFFF) break;
      uint8_t value_offset = *p & 0xff;
      uint8_t value = *p >> 8;
      uint16_t eeprom_index = (((value_offset >> 2)*FLASH_SECTORS) << 2) + (sector << 2) + (value_offset & 0x3);
      Serial.printf(" %c%03d(%02x)=%02x", last_indexes[value_offset]== p? '*' : ' ',
          eeprom_index, value_offset, value);
      count++;
      if (count == 16) {
        Serial.println();
        count = 0;
      }
    }
    Serial.println();
  }
}
Which looks like I updated for T4.1... Not yet for MicroMod.

I am not suggesting you run this, but it can be interesting at times, to extract the dump the EEPROM data. That first dumps out the values for the first 256 indexes and then dumps out the raw EEPROM sectors.

Likewise, if you look into cores\teensy4\eeprom.c you can see how the code works.
The code also has a bunch of commented out printf statements, which can be uncommented, and if core debug enabled will print stuff on Serial4...

But if you look at the Read code:
Code:
uint8_t eeprom_read_byte(const uint8_t *addr_ptr)
{
	uint32_t addr = (uint32_t)addr_ptr;
	uint32_t sector, offset;
	const uint16_t *p, *end;
	uint8_t data=0xFF;

	if (addr > E2END) return 0xFF;
	if (!initialized) eeprom_initialize();
	sector = (addr >> 2) % FLASH_SECTORS;
	offset = (addr & 3) | (((addr >> 2) / FLASH_SECTORS) << 2);
	//printf("ee_rd, addr=%u, sector=%u, offset=%u, len=%u\n",
		//addr, sector, offset, sector_index[sector]);
	p = (uint16_t *)(FLASH_BASEADDR + sector * 4096);
	end = p + sector_index[sector];
	while (p < end) {
		uint32_t val = *p++;
		if ((val & 255) == offset) data = val >> 8;
	}
	return data;
}
If you for example pass in: indexes 1-20, they will not all end up in the same FLASH page:
That is:
1 maps to (sector = 0, offset= 1
2 (0, 2), 3(0, 3)
4 (1, 0), 5(1,1), 6, 7(1, 3)
8 (2, 0)...
12(3,0), ... 15(3,3)
16(4,0)...

So 1023 (1023 >> 2) % 15 = 0 and (1023 &3) | ((1023 >>2)/15) << 2 == 3 | (255/15) << 4 == 3 | 17<<2 = 71

So 15 pages *4 = 60 do first 60 will go across the 15 pages using offset = 0-
The next 60 will again go through the 15 pages with indexes (4-7)...
Up to index 1023, which is: if I computed correctly value 71 within that page. So up to 72 possible values in that one page.

So what happens when you Read or write lets say something like: EEPROM.write(0, 42)

Is it computes which Sector it is in, each sector if 4096 bytes: And it scans from the start of the page: to the end of the page looking for
in this case the offset(0), note it will bail if it finds the logical end of that sector, looking for a 0, if it finds it, it remembers that value and continues
and returns the last match...

Writes do something similar, in that it walks that sector looking for the offset=0, and again remembers the last one... If then the last one matches the new
value is simply returns. Else it tries to append the new tuple (0, 42) to the end of that sector...

However if there is no room left in that sector, it then needs to rebuild that sector data, by going through all of the list for all of the current unique values,
that is for example if ofset=0 was written 30 times in this sector it will only keep the last one. ditto for 1... So all of the old previous values for indexes
are removed, the Flash Sector is erased and the new compressed sector written out.
So for example you only indexes 0-59, all of the pages will then typically only have 4 values in them. So you can write that one a lot of times before it has to do the
slow flash operation... But if you use all 1024 values you might saving away like 71-72 values in each sector after compressed and as such will have to flash that many more times.

Hope that makes sense.
 
Thanx KurtE & defragster for your answers but I don't have the courage to pursue this issue. I have a perfectly functional EEPROM wearleveling library for storing and retrieving blocks of strings on Arduino Nano. If I understand correctly it "should" be compatible with Teensy too but not so for me for now. I will leave it at that and not use it for my sensor monitor. I will remember that if I turn off the power, I will lose the displayed sensor data for up to an hour.

screen.jpg
 
because it's already been done & working fine for Nano. Isn't it compatible with Teensy?

Running this on a T_4.1 with edited code below, and after a few edits,uploads it is working here?
Code:
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n" __FILE__ " " __DATE__ " " __TIME__);
  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin()==0) Serial.println("begin() ERROR, Format the EEPROM");
[B]  //inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);[/B]
  Serial.println("latest 6 strings read from EEPROM");
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ,tableadr)==0) Serial.println("EEPROM is MT"); //read string
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
[B]  eaudgc[0]++;
  inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);[/B]
}

void loop() {
  // put your main code here, to run repeatedly:
}

This shows how many times it ran - the last EIGHT are the ones where code above was in use after getting the data set and code figured out.
Edited to show only the changing "eaudgc[0]++;" value:
Code:
C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:45:54
latest 6 strings read from EEPROM
25

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:45:54
latest 6 strings read from EEPROM
25

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:47:53
latest 6 strings read from EEPROM
26

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:48:27
latest 6 strings read from EEPROM
35

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:49:41
latest 6 strings read from EEPROM
35

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:49:41
latest 6 strings read from EEPROM
35

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:49:41
latest 6 strings read from EEPROM
35

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:50:45
latest 6 strings read from EEPROM
25

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
35

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
45

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
55

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
65

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
75

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
85

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
95

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 00:51:37
latest 6 strings read from EEPROM
:5
 
Last edited:
Running this on a T_4.1 with edited code below, and after a few edits,uploads it is working here?

I don't see the loop in your modified code but it seems to be working there. But sorry, it's not this sketch code included in my library that doesn't work. It's my sensor monitor program that CALLS this library and receives bad data from the EEPROM. It's too complicated and needs a receiver, tft, esp01. I'll have to write a simple EEPROM debug code using my library and run it on my Teensy 4.0. I didn't bother with this up to now because all was working fine on my Nano. But, not sure when I'll have time to do that.
 
Thanx KurtE & defragster for your answers but I don't have the courage to pursue this issue. I have a perfectly functional EEPROM wearleveling library for storing and retrieving blocks of strings on Arduino Nano. If I understand correctly it "should" be compatible with Teensy too but not so for me for now. I will leave it at that and not use it for my sensor monitor. I will remember that if I turn off the power, I will lose the displayed sensor data for up to an hour.

View attachment 28906
You are right, it should run on a Teensy. But I believe as the code is, it is more wear producing instead of wear leveling on the Teensy. For the reasons I mentioned in previous post.
But it should work.

As I understand it, the NANO uses an 8 bit AVR (atmega328) like the Uno. These boards have a 1K EEPROM, where when you write to EEPROM(0) it writes to a specific location on the chip, and you can only reliably write to that same position so many times. Which is why the EEPROM leveling code library was created.

The Teensy does not have an EEPROM, so it is emulated by the code, to use FLASH storage to do it. Each Flash page is 4K, and in the case of T4 it uses the last 15 pages of Flash to emulate the EEPROM.

Note: T4.1 and MicroMod use 63 pages of flash, so will have slightly different behavior than T4.
Mainly as I mentioned in previous post first 60 values will spread 4 values per each of the 15 pages. And in the other two 252 values will have 4 values per page...
So again trying to level by using indexes 0-1023 will simply cause more values to be retained within each page, when it decides it needs to erase and rewrite the page when full...

A quick and dirty simple version of your library:
Code:
//#include <stringsToint_EEPROM.h>

StringsTointEEPROM::StringsTointEEPROM() {
}

void StringsTointEEPROM::format_eeprom() {
  // Don't do it...  This just does writes
  EEPROM.write(0, 0xff);  // Just write first one
}

int StringsTointEEPROM::begin() {
  return find_eeprom_address();
}

void StringsTointEEPROM::save_string_to_eeprom(char *stringIn) {
  // KISS version
  while (*stringIn) {
    EEPROM.write(_adr_EEPROM++, *stringIn++);  //write sync
  }
  EEPROM.write(_adr_EEPROM++, 0xff);  //write end of string
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring, char *stringsIn[]) {
  // KISS version
  _adr_EEPROM = 1;
  for (int i = 0; i < nbstring; i++) {
    save_string_to_eeprom(stringsIn[i]);
  }
  EEPROM.write(0, nbstring);  //write end of string
}

void StringsTointEEPROM::print_strings_from_eeprom() {
  char str[256]; // Should be big enough for any of our strings.

  int nbstring = EEPROM.read(0);
  if (nbstring > 10) return ; // probably nothing valid...
  _adr_EEPROM = 1;
  for (int i = 0; i < nbstring; i++) {
    get_string_from_eeprom(str);
    Serial.println(str);
  }
}

int StringsTointEEPROM::get_string_from_eeprom(char *stringOut) {
  // KISS version
  char val;
  while ((val = EEPROM.read(_adr_EEPROM++)) != (char)0xff) {
    *stringOut++ = (char)val;
  }
  *stringOut = '\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring, char *stringsOut[]) {
  if (EEPROM.read(0)  != nbstring) return 0;// quick test if 
  _adr_EEPROM = 1;
  for (int i = 0; i < nbstring; i++) {
    get_string_from_eeprom(stringsOut[i]);
  }
  return 1;
}

int StringsTointEEPROM::find_eeprom_address() {
  _adr_EEPROM = 1;
  return 1;
}

I have not run it much, ran it with your early sketch:
Code:
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
Again if I were doing this for real, might add in more error checking code and the like.

Or maybe even go a completely different route, like create a Littlefs_program File system on the chip and then simply
open file, read or write... close.

But that is a different story
 
I don't see the loop in your modified code but it seems to be working there. But sorry, it's not this sketch code included in my library that doesn't work. It's my sensor monitor program that CALLS this library and receives bad data from the EEPROM. It's too complicated and needs a receiver, tft, esp01. I'll have to write a simple EEPROM debug code using my library and run it on my Teensy 4.0. I didn't bother with this up to now because all was working fine on my Nano. But, not sure when I'll have time to do that.

I didn't add a loop - just new code upload restarts and power cycles
 
@Bill Glass : Here is a rewrite with a loop() cycling edits through the EEPROM on a T_4.1, no indications of failure. Ran about 8 variations evolving code to this point.

This uses the provided CLASS code in same INO file. If this runs on your T_4.0 it suggests the problem is elsewhere in the larger code.
> If it fails as @KurtE suggests: Add debug and error checks in Library to determine how/where that EEPROM code there fails.

Output of Final code editing all 6 strings first char and repeating 'A' to 'Y'. A power cycle and repeat ran the same and showed proper retention:
Code:
C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 09:20:21
latest 6 strings read from EEPROM
Z5:15:(05:30):18:33:(06:30)
latest 6 strings read from EEPROM: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: Y5:Y5:Y05:30):Y8:Y3:Y06:30)

EEPROM Updated 'A' to 'Y' COMPLETE.

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 09:20:21
latest 6 strings read from EEPROM
[B]Z5:Z5:Z05:30):Z8:Z3:Z06:30)[/B]
latest 6 strings read from EEPROM: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: Y5:Y5:Y05:30):Y8:Y3:Y06:30)

EEPROM Updated 'A' to 'Y' COMPLETE.

Edited code as used:
Code:
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n" __FILE__ " " __DATE__ " " __TIME__);
  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin() == 0) Serial.print("begin() ERROR, Format the EEPROM");
  //inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  Serial.println("latest 6 strings read from EEPROM");
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) Serial.println("EEPROM is MT"); //read string
  Serial.print(eaudgc);
  Serial.print(":");    Serial.print(eaucm);
  Serial.print(":");  Serial.print(eautime);
  Serial.print(":");  Serial.print(airdgc);
  Serial.print(":");  Serial.print(airhum);
  Serial.print(":");  Serial.println(airtime);
  for ( int ii=0; ii<6; ii++ ) {
    tableadr[ii][0]='A';
  }
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
}

[B]void loop() {
  delay(2000);
  if ( eaudgc[0] > 'Y' ) { Serial.println("\nEEPROM Updated 'A' to 'Y' COMPLETE."); while (1); }
[/B]  Serial.print("latest 6 strings read from EEPROM: ");
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) { Serial.println("EEPROM is MT"); while (1); }
  Serial.print(eaudgc);
  Serial.print(":");  Serial.print(eaucm);
  Serial.print(":");  Serial.print(eautime);
  Serial.print(":");  Serial.print(airdgc);
  Serial.print(":");  Serial.print(airhum);
  Serial.print(":");  Serial.println(airtime);
[B]  for ( int ii=0; ii<6; ii++ ) {
    tableadr[ii][0]++;[/B]
  }
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
}
 
@Bill Glass : Here is a rewrite with a loop() cycling edits through the EEPROM on a T_4.1, no indications of failure. Ran about 8 variations evolving code to this point.
This uses the provided CLASS code in same INO file. If this runs on your T_4.0 it suggests the problem is elsewhere in the larger code.

Didn't try your code but modified my library example code below. It fails at iteration 79 as you can see in my print output below. Maybe you could check it in your Teens4.1? Thanx

Code:
#include <StringsToint_EEPROM.h>
#define TABLESIZ 6
StringsTointEEPROM inteeprom; //internal Arduino EEPROM Library for storing and retreiving c-strings

char eaudgc[10]="25";
char eaucm[10]="15";
char eautime[10]="(05:30)";
char airdgc[10]="18";
char airhum[10]="33";
char airtime[10]="(06:30)";
char *tableadr[]={eaudgc,eaucm,eautime,airdgc,airhum,airtime};
unsigned long int millistart;
unsigned long milliduration;


// STRUCTURE OF A STORED STRING
//-----------------------------
// sync (0xaa)
// nchar(0..255)
// char[0]
// char[1]
//  ..
// char[nchar-1]
// 0xff (end of latest string)
//-----------------------------


void setup() {
  int i,iter,nbytes=0;
  Serial.begin(115200);
  delay(1000);
  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin()==0) Serial.println("begin() ERROR, Format the EEPROM");
  for (i=0;i<TABLESIZ;i++) nbytes+=(strlen(tableadr[i]));
  millistart=millis();
  inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  milliduration=millis()-millistart;
  Serial.print("execution time for save_nstrings_to_eeprom() is ");
  Serial.print((float)milliduration/(float)nbytes);
  Serial.println("ms per byte");
  Serial.println("latest 6 strings read from EEPROM");
  millistart=millis();
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ,tableadr)==0) Serial.println("EEPROM is MT"); //read string
  milliduration=millis()-millistart;
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
  Serial.print("total execution time for get_nstrings_from_eeprom() is ");
  Serial.print(milliduration);
  Serial.println("ms");
  inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  for (iter=0;iter<100;iter++)
  {
    inteeprom.get_nstrings_from_eeprom(TABLESIZ,tableadr);
    Serial.print("iter: ");
    Serial.print(iter);
    Serial.print(" eaudgc: ");
    Serial.println(eaudgc);
    delay(1000);
    if (strcmp(eaudgc,"25")==0) strcpy(eaudgc,"1"); else strcpy(eaudgc,"25"); //modify 1st string and test reliability
    inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
}



  




PRINTOUT:



execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 1ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: (06:30)
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1
 
Maybe you could check it in your Teens4.1? Thanx

I tried just now, but I don't have the StringsToint_EEPROM.h file. Was this posted earlier? I see what looks like an old version on msg #19. I'm guessing an updated StringsToint_EEPROM.cpp would also be needed?

I'll try running your code here on a Teensy 4.1, but only if you post all the needed code in the same message and the way to copy it into Arduino is clear. Sorry, I just don't have the time to read through 34 prior messages to fine pieces of the needed code, or try guesswork to reproduce the issue. Please provide everything in the same message and leave nothing about how to run it to guesswork or chance.
 
No problem here on T_4.1 using code below with 100 iteration updates.

Try this code there and see what shows.

Then power cycled and it ran again without error showing even the last update to "W" worked to save and showed on power on restart: W06:30):W5:W5:W05:30):W8:W3
Code:
C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 15:40:58
latest 6 strings read from EEPROM
%5:%5:%05:30):%8:%3:%06:30)
latest 6 strings read from EEPROM: 1:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 2:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 3:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 4:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 5:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 6:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 7:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 8:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 9:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 10:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 11:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 12:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 13:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 14:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 15:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 16:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 17:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 18:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 19:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 20:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 21:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 22:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 23:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 24:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 25:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 26:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 27:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 28:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 29:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 30:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 31:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 32:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 33:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 34:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 35:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 36:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 37:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 38:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 39:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 40:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 41:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 42:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 43:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 44:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 45:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 46:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 47:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 48:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 49:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 50:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 51:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 52:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 53:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 54:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 55:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 56:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 57:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 58:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 59:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 60:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 61:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 62:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 63:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 64:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 65:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 66:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 67:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 68:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 69:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 70:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 71:: R06:30):S5:S5:S05:30):S8:S3
latest 6 strings read from EEPROM: 72:: T06:30):T5:T5:T05:30):T8:T3
latest 6 strings read from EEPROM: 73:: U06:30):U5:U5:U05:30):U8:U3
latest 6 strings read from EEPROM: 74:: V06:30):V5:V5:V05:30):V8:V3
latest 6 strings read from EEPROM: 75:: W06:30):W5:W5:W05:30):W8:W3
latest 6 strings read from EEPROM: 76:: X06:30):X5:X5:X05:30):X8:X3
latest 6 strings read from EEPROM: 77:: Y06:30):Y5:Y5:Y05:30):Y8:Y3
latest 6 strings read from EEPROM: 78:: Z06:30):Z5:Z5:Z05:30):Z8:Z3
latest 6 strings read from EEPROM: 79:: A06:30):A5:A5:A05:30):A8:A3
latest 6 strings read from EEPROM: 80:: B06:30):B5:B5:B05:30):B8:B3
latest 6 strings read from EEPROM: 81:: C06:30):C5:C5:C05:30):C8:C3
latest 6 strings read from EEPROM: 82:: D06:30):D5:D5:D05:30):D8:D3
latest 6 strings read from EEPROM: 83:: E06:30):E5:E5:E05:30):E8:E3
latest 6 strings read from EEPROM: 84:: F06:30):F5:F5:F05:30):F8:F3
latest 6 strings read from EEPROM: 85:: G06:30):G5:G5:G05:30):G8:G3
latest 6 strings read from EEPROM: 86:: H06:30):H5:H5:H05:30):H8:H3
latest 6 strings read from EEPROM: 87:: I06:30):I5:I5:I05:30):I8:I3
latest 6 strings read from EEPROM: 88:: J06:30):J5:J5:J05:30):J8:J3
latest 6 strings read from EEPROM: 89:: K06:30):K5:K5:K05:30):K8:K3
latest 6 strings read from EEPROM: 90:: L06:30):L5:L5:L05:30):L8:L3
latest 6 strings read from EEPROM: 91:: M06:30):M5:M5:M05:30):M8:M3
latest 6 strings read from EEPROM: 92:: N06:30):N5:N5:N05:30):N8:N3
latest 6 strings read from EEPROM: 93:: O06:30):O5:O5:O05:30):O8:O3
latest 6 strings read from EEPROM: 94:: P06:30):P5:P5:P05:30):P8:P3
latest 6 strings read from EEPROM: 95:: Q06:30):Q5:Q5:Q05:30):Q8:Q3
latest 6 strings read from EEPROM: 96:: R06:30):R5:R5:R05:30):R8:R3
latest 6 strings read from EEPROM: 97:: S06:30):S5:S5:S05:30):S8:S3
latest 6 strings read from EEPROM: 98:: T06:30):T5:T5:T05:30):T8:T3
latest 6 strings read from EEPROM: 99:: U06:30):U5:U5:U05:30):U8:U3
latest 6 strings read from EEPROM: 100:: V06:30):V5:V5:V05:30):V8:V3

EEPROM Updated 100 times COMPLETE.

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 15:40:58
latest 6 strings read from EEPROM
W06:30):W5:W5:W05:30):W8:W3
...

minor loop() edits:
Code:
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n" __FILE__ " " __DATE__ " " __TIME__);
  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin() == 0) Serial.print("begin() ERROR, Format the EEPROM");
  //inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  Serial.println("latest 6 strings read from EEPROM");
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) Serial.println("EEPROM is MT"); //read string
  Serial.print(eaudgc);
  Serial.print(":");  Serial.print(eaucm);
  Serial.print(":");  Serial.print(eautime);
  Serial.print(":");  Serial.print(airdgc);
  Serial.print(":");  Serial.print(airhum);
  Serial.print(":");  Serial.println(airtime);
  for ( int ii=0; ii<6; ii++ ) {
    tableadr[ii][0]='A';
  }
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
}

uint32_t lCnt=0;
void loop() {
  delay(500);
  if ( ++lCnt>100 ) { Serial.println("\nEEPROM Updated 100 times COMPLETE."); while (1); }
  Serial.print("latest 6 strings read from EEPROM: ");
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) { Serial.println("EEPROM is MT"); while (1); }
  Serial.print(lCnt);
  Serial.print(":: ");  Serial.print(eaudgc);
  Serial.print(":");  Serial.print(eaucm);
  Serial.print(":");  Serial.print(eautime);
  Serial.print(":");  Serial.print(airdgc);
  Serial.print(":");  Serial.print(airhum);
  Serial.print(":");  Serial.println(airtime);
  for ( int ii=0; ii<6; ii++ ) {
    tableadr[ii][0] = ('A'+(char)(lCnt%26));
  }
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
}
 
I powered up a Teensy 4.0 and it also worked the same - perfectly well.

Code:
Here is the SKETCH as I have it in its entirety with the CLASS code included: [ATTACH]28916._xfImport[/ATTACH]

Either your T_4.0 Flash is worn out, or elsewhere in the code there it is interfering with proper function. Running this code above should help answer that.

Here are the results from first run with EMPTY FLASH - through 100 and then power Off and On restart that worked:
Code:
C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 15:50:17
latest 6 strings read from EEPROM
EEPROM is MT
25:15:(05:30):18:33:(06:30)
latest 6 strings read from EEPROM: 1:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 2:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 3:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 4:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 5:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 6:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 7:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 8:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 9:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 10:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 11:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 12:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 13:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 14:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 15:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 16:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 17:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 18:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 19:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 20:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 21:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 22:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 23:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 24:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 25:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 26:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 27:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 28:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 29:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 30:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 31:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 32:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 33:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 34:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 35:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 36:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 37:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 38:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 39:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 40:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 41:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 42:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 43:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 44:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 45:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 46:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 47:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 48:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 49:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 50:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 51:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 52:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 53:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 54:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 55:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 56:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 57:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 58:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 59:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 60:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 61:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 62:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 63:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 64:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 65:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 66:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 67:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 68:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 69:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 70:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 71:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 72:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 73:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 74:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 75:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 76:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 77:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 78:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 79:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 80:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 81:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 82:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 83:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 84:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 85:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 86:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 87:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 88:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 89:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 90:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 91:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 92:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 93:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 94:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 95:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 96:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 97:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 98:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 99:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 100:: V5:V5:V05:30):V8:V3:V06:30)

EEPROM Updated 100 times COMPLETE.

C:\T_Drive\tCode\FORUM\EEPROMread\EEPROMread.ino Jul 12 2022 15:50:17
latest 6 strings read from EEPROM
W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 1:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 2:: B5:B5:B05:30):B8:B3:B06:30)
...
 
I tried just now, but I don't have the StringsToint_EEPROM.h file. Was this posted earlier? I see what looks like an old version on msg #19. I'm guessing an updated StringsToint_EEPROM.cpp would also be needed?

I'll try running your code here on a Teensy 4.1, but only if you post all the needed code in the same message and the way to copy it into Arduino is clear. Sorry, I just don't have the time to read through 34 prior messages to fine pieces of the needed code, or try guesswork to reproduce the issue. Please provide everything in the same message and leave nothing about how to run it to guesswork or chance.

@Paul see p#37 for single source solution. Original code 'Header for CLASS and INO" was in a single #CODE# block.

I sorted that out and have evolved the example use of the CLASS func()'s to work on both a T_4.0 and T_4.1 as far as that example code provided allowed.
 
@Paul see p#37 for single source solution.

I ran it twice, first after uploading, then again by power cycling.

This is what it printed to the serial monitor. Is this the correct result?

Code:
/tmp/arduino_modified_sketch_972819/sketch_jul12a.ino Jul 12 2022 16:39:44
latest 6 strings read from EEPROM
W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 1:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 2:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 3:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 4:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 5:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 6:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 7:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 8:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 9:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 10:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 11:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 12:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 13:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 14:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 15:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 16:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 17:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 18:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 19:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 20:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 21:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 22:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 23:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 24:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 25:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 26:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 27:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 28:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 29:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 30:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 31:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 32:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 33:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 34:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 35:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 36:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 37:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 38:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 39:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 40:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 41:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 42:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 43:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 44:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 45:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 46:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 47:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 48:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 49:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 50:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 51:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 52:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 53:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 54:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 55:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 56:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 57:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 58:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 59:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 60:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 61:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 62:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 63:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 64:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 65:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 66:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 67:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 68:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 69:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 70:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 71:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 72:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 73:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 74:: V5:V5:V05:30):V8:V3:V06:30)
latest 6 strings read from EEPROM: 75:: W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 76:: X5:X5:X05:30):X8:X3:X06:30)
latest 6 strings read from EEPROM: 77:: Y5:Y5:Y05:30):Y8:Y3:Y06:30)
latest 6 strings read from EEPROM: 78:: Z5:Z5:Z05:30):Z8:Z3:Z06:30)
latest 6 strings read from EEPROM: 79:: A5:A5:A05:30):A8:A3:A06:30)
latest 6 strings read from EEPROM: 80:: B5:B5:B05:30):B8:B3:B06:30)
latest 6 strings read from EEPROM: 81:: C5:C5:C05:30):C8:C3:C06:30)
latest 6 strings read from EEPROM: 82:: D5:D5:D05:30):D8:D3:D06:30)
latest 6 strings read from EEPROM: 83:: E5:E5:E05:30):E8:E3:E06:30)
latest 6 strings read from EEPROM: 84:: F5:F5:F05:30):F8:F3:F06:30)
latest 6 strings read from EEPROM: 85:: G5:G5:G05:30):G8:G3:G06:30)
latest 6 strings read from EEPROM: 86:: H5:H5:H05:30):H8:H3:H06:30)
latest 6 strings read from EEPROM: 87:: I5:I5:I05:30):I8:I3:I06:30)
latest 6 strings read from EEPROM: 88:: J5:J5:J05:30):J8:J3:J06:30)
latest 6 strings read from EEPROM: 89:: K5:K5:K05:30):K8:K3:K06:30)
latest 6 strings read from EEPROM: 90:: L5:L5:L05:30):L8:L3:L06:30)
latest 6 strings read from EEPROM: 91:: M5:M5:M05:30):M8:M3:M06:30)
latest 6 strings read from EEPROM: 92:: N5:N5:N05:30):N8:N3:N06:30)
latest 6 strings read from EEPROM: 93:: O5:O5:O05:30):O8:O3:O06:30)
latest 6 strings read from EEPROM: 94:: P5:P5:P05:30):P8:P3:P06:30)
latest 6 strings read from EEPROM: 95:: Q5:Q5:Q05:30):Q8:Q3:Q06:30)
latest 6 strings read from EEPROM: 96:: R5:R5:R05:30):R8:R3:R06:30)
latest 6 strings read from EEPROM: 97:: S5:S5:S05:30):S8:S3:S06:30)
latest 6 strings read from EEPROM: 98:: T5:T5:T05:30):T8:T3:T06:30)
latest 6 strings read from EEPROM: 99:: U5:U5:U05:30):U8:U3:U06:30)
latest 6 strings read from EEPROM: 100:: V5:V5:V05:30):V8:V3:V06:30)

EEPROM Updated 100 times COMPLETE.
 
I ran it twice, first after uploading, then again by power cycling.

This is what it printed to the serial monitor. Is this the correct result?

Code:
/tmp/arduino_modified_sketch_972819/sketch_jul12a.ino Jul 12 2022 16:39:44
latest 6 strings read from EEPROM
W5:W5:W05:30):W8:W3:W06:30)
latest 6 strings read from EEPROM: 1:: A5:A5:A05:30):A8:A3:A06:30)
...
latest 6 strings read from EEPROM: 100:: V5:V5:V05:30):V8:V3:V06:30)

EEPROM Updated 100 times COMPLETE.

That is the result I expect.

It cycles EEPROM updates 100 times {changes,writes,reads}, each time changing the first letter of all 6 stored strings.

In each print the first character indexes through A-Z, and the remainder of the strings are present as expected.

Original post suggested it failed after six update cycles, then most recently posted it failed after 79 iterations, so ran to 100
 
Started a 2us interval timer toggling LED every 500,000 - ran the loop to 1,000 every 100ms and completed fine.

And the 3-4 times rebuilding with those edits to prior code. Nothing odd or wrong showed with that.
 
I tried just now, but I don't have the StringsToint_EEPROM.h file. Was this posted earlier? I see what looks like an old version on msg #19. I'm guessing an updated StringsToint_EEPROM.cpp would also be needed?

I'll try running your code here on a Teensy 4.1, but only if you post all the needed code in the same message and the way to copy it into Arduino is clear. Sorry, I just don't have the time to read through 34 prior messages to fine pieces of the needed code, or try guesswork to reproduce the issue. Please provide everything in the same message and leave nothing about how to run it to guesswork or chance.

Complete Code & Results here:

Code:
////////////////// LIBRARY INCLUDE FILE ///////////////////////

#ifndef sti
#define sti

#if (ARDUINO >=100)
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif
#include <EEPROM.h>
#define EEPROMsiz 1024

class StringsTointEEPROM
{
	public:
		//constructor
		StringsTointEEPROM();
		// Methods
		void format_eeprom();
		int begin();
		void save_string_to_eeprom(char *stringIn);
    		void save_nstrings_to_eeprom(int nbstring,char *stringsIn[]);
		void print_strings_from_eeprom();
		int get_string_from_eeprom(char *stringOut); //return 0 if MT
		int get_nstrings_from_eeprom(int nbstring, char *stringsOut[]); //return 0 if MT
	private:
		int find_eeprom_address();
		uint16_t _adr_EEPROM;
};
#endif

////////////// LIBRARY CPP FILE //////////////////////////


#include <stringsToint_EEPROM.h>

StringsTointEEPROM::StringsTointEEPROM()
{
}

void  StringsTointEEPROM::format_eeprom()
{
  for (int i=0;i<EEPROMsiz;i++) EEPROM.write(i,0xff);
}

int StringsTointEEPROM::begin()
{
  return find_eeprom_address();
}

void StringsTointEEPROM::save_string_to_eeprom(char *stringIn)
{
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i;
  uint8_t len,val=0;
  while (val!=0xff)
  { 
    val=EEPROM.read(_adr_EEPROM);
    _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
  }
  _adr_EEPROM=(_adr_EEPROM-1)%EEPROMsiz;
  EEPROM.write(_adr_EEPROM,0xaa); //write sync
  _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
  len=strlen(stringIn); 
  EEPROM.write(_adr_EEPROM,len);//write nchar
  _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
  for(i = 0; i < len; i++)
  { 
    EEPROM.write(_adr_EEPROM, stringIn[i]);//write string
    _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
  }
  EEPROM.write(_adr_EEPROM,0xff); //write end of string
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring,char *stringsIn[])
{
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i,iter=0;
  uint8_t len,val=0;
  while (val!=0xff)
  { 
    val=EEPROM.read(_adr_EEPROM);
    _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
  }
  _adr_EEPROM=(_adr_EEPROM-1)%EEPROMsiz;
  while (nbstring>0)
  {
    EEPROM.write(_adr_EEPROM,0xaa); //write sync
    _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
    len=strlen(stringsIn[iter]); 
    EEPROM.write(_adr_EEPROM,len);//write nchar
    _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
    for(i = 0; i < len; i++)
    { 
      EEPROM.write(_adr_EEPROM, stringsIn[iter][i]);//write string
      _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
    }
    nbstring--;
    iter++;
  }
  EEPROM.write(_adr_EEPROM,0xff); //write end of string
}
void  StringsTointEEPROM::print_strings_from_eeprom()
{
  int i,cntr=0;
  uint8_t len,val=0;
  uint16_t adr_EEPROM=_adr_EEPROM;
  while (val!=0xff) //find end of latest string
  { 
    val=EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
  }
  while(1) //display all strings that were stored in EEPROM in FIFO order
  {
    val=EEPROM.read(adr_EEPROM);
    while (val!=0xaa) //find sync (could be long if EEPROM not full)
    { 
      adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
      val=EEPROM.read(adr_EEPROM);
      cntr++;
      if (cntr==EEPROMsiz)
      {
        Serial.println("EEPROM is  MT");
        break;
      }
    }//while (val!=0xaa)
    if (cntr==EEPROMsiz) break;
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
    len=EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
    for(i = 0; i < len; i++)
    { 
      Serial.print((char)EEPROM.read(adr_EEPROM));
      adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
    }//for(i = 0; i < len; i++)
    Serial.println();
    val=EEPROM.read(adr_EEPROM);
    if (val==0xff) break; //break if EEPROM not full or 1 full circle
    else val=0;
  }//while(1)
}

int StringsTointEEPROM::get_string_from_eeprom(char *stringOut)
{
  //get latest string from eeprom
  int i,cntr=0;
  uint8_t len,val=0;
  uint16_t adr_EEPROM=_adr_EEPROM;
  while (val!=0xff) //find end of latest string
  { 
    val=EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
  }
  adr_EEPROM=(adr_EEPROM-1)%EEPROMsiz;
  while (val!=0xaa) //find sync
  { 
    val=EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM-1)%EEPROMsiz; //back up
    cntr++;
    if (cntr==EEPROMsiz) break; //EEPROM is MT
  }//while (val!=0xaa)
  if (cntr==EEPROMsiz) return 0;
  adr_EEPROM=(adr_EEPROM+2)%EEPROMsiz; //get to len
  len=EEPROM.read(adr_EEPROM);
  adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
  for(i = 0; i < len; i++)
  { 
    stringOut[i]=(char)EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
  }//for(i = 1; i < len; i++)
  stringOut[len]='\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring,char *stringsOut[])
{
  int i,cntr=0,stringno;
  uint8_t len,val=0;
  uint16_t adr_EEPROM=_adr_EEPROM;
  while (val!=0xff) //find end of latest string
  { 
    val=EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
  }
  adr_EEPROM=(adr_EEPROM-1)%EEPROMsiz;
  for (stringno=0;stringno<nbstring;stringno++)
  {
    while (val!=0xaa) //find sync
    { 
      val=EEPROM.read(adr_EEPROM);
      adr_EEPROM=(adr_EEPROM-1)%EEPROMsiz; //back up
      cntr++;
      if (cntr==EEPROMsiz) break; //EEPROM is MT
    }//while (val!=0xaa)
    val=0;
    if (cntr==EEPROMsiz) return 0;
  }//for (stringno=0;stringno<laststring+1;stringno++)
  adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz; //get to len
  for (stringno=0;stringno<nbstring;stringno++)
  {
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz; //get to len
    len=EEPROM.read(adr_EEPROM);
    adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
    for(i = 0; i < len; i++)
    { 
      stringsOut[stringno][i]=(char)EEPROM.read(adr_EEPROM);
      adr_EEPROM=(adr_EEPROM+1)%EEPROMsiz;
    }//for(i = 0; i < len; i++)
    stringsOut[stringno][len]='\0';
  }//for (stringno=0;stringno<nbstring;stringno++)
  return 1;
}

int  StringsTointEEPROM::find_eeprom_address()
{
  uint8_t val=0;
  int cntr=0;
  _adr_EEPROM=0;
  while (val!=0xff)
  {
    val=EEPROM.read(_adr_EEPROM);
    _adr_EEPROM=(_adr_EEPROM+1)%EEPROMsiz;
    cntr++;
    if (cntr==EEPROMsiz) return 0;
  }
  _adr_EEPROM=(_adr_EEPROM-1)%EEPROMsiz;
  return 1; 
}


////////////////////////////////////// TEST FILE ////////////////////////////////

#include <StringsToint_EEPROM.h>
#define TABLESIZ 6
StringsTointEEPROM inteeprom; //internal Arduino EEPROM Library for storing and retreiving c-strings

char eaudgc[10]="25";
char eaucm[10]="15";
char eautime[10]="(05:30)";
char airdgc[10]="18";
char airhum[10]="33";
char airtime[10]="(06:30)";
char *tableadr[]={eaudgc,eaucm,eautime,airdgc,airhum,airtime};
unsigned long int millistart;
unsigned long milliduration;


// STRUCTURE OF A STORED STRING
//-----------------------------
// sync (0xaa)
// nchar(0..255)
// char[0]
// char[1]
//  ..
// char[nchar-1]
// 0xff (end of latest string)
//-----------------------------


void setup() {
  int i,iter,nbytes=0;
  Serial.begin(115200);
  delay(1000);
  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin()==0) Serial.println("begin() ERROR, Format the EEPROM");
  for (i=0;i<TABLESIZ;i++) nbytes+=(strlen(tableadr[i]));
  millistart=millis();
  inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  milliduration=millis()-millistart;
  Serial.print("execution time for save_nstrings_to_eeprom() is ");
  Serial.print((float)milliduration/(float)nbytes);
  Serial.println("ms per byte");
  Serial.println("latest 6 strings read from EEPROM");
  millistart=millis();
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ,tableadr)==0) Serial.println("EEPROM is MT"); //read string
  milliduration=millis()-millistart;
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
  Serial.print("total execution time for get_nstrings_from_eeprom() is ");
  Serial.print(milliduration);
  Serial.println("ms");
  inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  for (iter=0;iter<100;iter++)
  {
    inteeprom.get_nstrings_from_eeprom(TABLESIZ,tableadr);
    Serial.print("iter: ");
    Serial.print(iter);
    Serial.print(" eaudgc: ");
    Serial.println(eaudgc);
    delay(1000);
    if (strcmp(eaudgc,"25")==0) strcpy(eaudgc,"1"); else strcpy(eaudgc,"25"); //modify 1st string and test reliability
    inteeprom.save_nstrings_to_eeprom(TABLESIZ,tableadr);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
}



  
///////////////////////////////// PRINT RESULTS SHOWING ERROR AT ITERATION 79 ////////////////////////////////

execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 1ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: (06:30)
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1
 
Ran it here on a Teensy 4.1. It printed "(06:30)" on the last line.

Code:
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: 1
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: (06:30)

Second run on the same Teensy 4.1 doesn't seem to do anything unusual, though I don't yet know quite what this test program is supposed to print. Is alternating between between 25 and 1 the correct behavior?

Code:
execution time for save_nstrings_to_eeprom() is 0.00ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: 1
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1

Third run on same Teensy 4.1 prints "(6:30)" on iter 18

Code:
execution time for save_nstrings_to_eeprom() is 0.00ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 1ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: (06:30)
iter: 19 eaudgc: 25
iter: 20 eaudgc: 1
iter: 21 eaudgc: 25
iter: 22 eaudgc: 1
iter: 23 eaudgc: 25
iter: 24 eaudgc: 1
iter: 25 eaudgc: 25
iter: 26 eaudgc: 1
iter: 27 eaudgc: 25
iter: 28 eaudgc: 1
iter: 29 eaudgc: 25
iter: 30 eaudgc: 1
iter: 31 eaudgc: 25
iter: 32 eaudgc: 1
iter: 33 eaudgc: 25
iter: 34 eaudgc: 1
iter: 35 eaudgc: 25
iter: 36 eaudgc: 1
iter: 37 eaudgc: 25
iter: 38 eaudgc: 1
iter: 39 eaudgc: 25
iter: 40 eaudgc: 1
iter: 41 eaudgc: 25
iter: 42 eaudgc: 1
iter: 43 eaudgc: 25
iter: 44 eaudgc: 1
iter: 45 eaudgc: 25
iter: 46 eaudgc: 1
iter: 47 eaudgc: 25
iter: 48 eaudgc: 1
iter: 49 eaudgc: 25
iter: 50 eaudgc: 1
iter: 51 eaudgc: 25
iter: 52 eaudgc: 1
iter: 53 eaudgc: 33
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: 1
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1

Fourth run prints "(6:30)" at iter 81.

Code:
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: 1
iter: 80 eaudgc: 25
iter: 81 eaudgc: (06:30)
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1

Fifth run didn't print "(6:30)"

Code:
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: 1
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1

Sixth run printed "(6:30)" at iter 2 and printed "33" at iter 74.

Code:
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: (06:30)
iter: 3 eaudgc: 25
iter: 4 eaudgc: 1
iter: 5 eaudgc: 25
iter: 6 eaudgc: 1
iter: 7 eaudgc: 25
iter: 8 eaudgc: 1
iter: 9 eaudgc: 25
iter: 10 eaudgc: 1
iter: 11 eaudgc: 25
iter: 12 eaudgc: 1
iter: 13 eaudgc: 25
iter: 14 eaudgc: 1
iter: 15 eaudgc: 25
iter: 16 eaudgc: 1
iter: 17 eaudgc: 25
iter: 18 eaudgc: 1
iter: 19 eaudgc: 25
iter: 20 eaudgc: 1
iter: 21 eaudgc: 25
iter: 22 eaudgc: 1
iter: 23 eaudgc: 25
iter: 24 eaudgc: 1
iter: 25 eaudgc: 25
iter: 26 eaudgc: 1
iter: 27 eaudgc: 25
iter: 28 eaudgc: 1
iter: 29 eaudgc: 25
iter: 30 eaudgc: 1
iter: 31 eaudgc: 25
iter: 32 eaudgc: 1
iter: 33 eaudgc: 25
iter: 34 eaudgc: 1
iter: 35 eaudgc: 25
iter: 36 eaudgc: 1
iter: 37 eaudgc: 25
iter: 38 eaudgc: 1
iter: 39 eaudgc: 25
iter: 40 eaudgc: 1
iter: 41 eaudgc: 25
iter: 42 eaudgc: 1
iter: 43 eaudgc: 25
iter: 44 eaudgc: 1
iter: 45 eaudgc: 25
iter: 46 eaudgc: 1
iter: 47 eaudgc: 25
iter: 48 eaudgc: 1
iter: 49 eaudgc: 25
iter: 50 eaudgc: 1
iter: 51 eaudgc: 25
iter: 52 eaudgc: 1
iter: 53 eaudgc: 25
iter: 54 eaudgc: 1
iter: 55 eaudgc: 25
iter: 56 eaudgc: 1
iter: 57 eaudgc: 25
iter: 58 eaudgc: 1
iter: 59 eaudgc: 25
iter: 60 eaudgc: 1
iter: 61 eaudgc: 25
iter: 62 eaudgc: 1
iter: 63 eaudgc: 25
iter: 64 eaudgc: 1
iter: 65 eaudgc: 25
iter: 66 eaudgc: 1
iter: 67 eaudgc: 25
iter: 68 eaudgc: 1
iter: 69 eaudgc: 25
iter: 70 eaudgc: 1
iter: 71 eaudgc: 25
iter: 72 eaudgc: 1
iter: 73 eaudgc: 25
iter: 74 eaudgc: 33
iter: 75 eaudgc: 25
iter: 76 eaudgc: 1
iter: 77 eaudgc: 25
iter: 78 eaudgc: 1
iter: 79 eaudgc: 25
iter: 80 eaudgc: 1
iter: 81 eaudgc: 25
iter: 82 eaudgc: 1
iter: 83 eaudgc: 25
iter: 84 eaudgc: 1
iter: 85 eaudgc: 25
iter: 86 eaudgc: 1
iter: 87 eaudgc: 25
iter: 88 eaudgc: 1
iter: 89 eaudgc: 25
iter: 90 eaudgc: 1
iter: 91 eaudgc: 25
iter: 92 eaudgc: 1
iter: 93 eaudgc: 25
iter: 94 eaudgc: 1
iter: 95 eaudgc: 25
iter: 96 eaudgc: 1
iter: 97 eaudgc: 25
iter: 98 eaudgc: 1
iter: 99 eaudgc: 25

Seventh run didn't seem to print anything unusual.

Code:
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 1ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: 25
iter: 59 eaudgc: 1
iter: 60 eaudgc: 25
iter: 61 eaudgc: 1
iter: 62 eaudgc: 25
iter: 63 eaudgc: 1
iter: 64 eaudgc: 25
iter: 65 eaudgc: 1
iter: 66 eaudgc: 25
iter: 67 eaudgc: 1
iter: 68 eaudgc: 25
iter: 69 eaudgc: 1
iter: 70 eaudgc: 25
iter: 71 eaudgc: 1
iter: 72 eaudgc: 25
iter: 73 eaudgc: 1
iter: 74 eaudgc: 25
iter: 75 eaudgc: 1
iter: 76 eaudgc: 25
iter: 77 eaudgc: 1
iter: 78 eaudgc: 25
iter: 79 eaudgc: 1
iter: 80 eaudgc: 25
iter: 81 eaudgc: 1
iter: 82 eaudgc: 25
iter: 83 eaudgc: 1
iter: 84 eaudgc: 25
iter: 85 eaudgc: 1
iter: 86 eaudgc: 25
iter: 87 eaudgc: 1
iter: 88 eaudgc: 25
iter: 89 eaudgc: 1
iter: 90 eaudgc: 25
iter: 91 eaudgc: 1
iter: 92 eaudgc: 25
iter: 93 eaudgc: 1
iter: 94 eaudgc: 25
iter: 95 eaudgc: 1
iter: 96 eaudgc: 25
iter: 97 eaudgc: 1
iter: 98 eaudgc: 25
iter: 99 eaudgc: 1

Eigth run printed "(6:30)" at iter 58.

Code:
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 eaudgc: 25
iter: 1 eaudgc: 1
iter: 2 eaudgc: 25
iter: 3 eaudgc: 1
iter: 4 eaudgc: 25
iter: 5 eaudgc: 1
iter: 6 eaudgc: 25
iter: 7 eaudgc: 1
iter: 8 eaudgc: 25
iter: 9 eaudgc: 1
iter: 10 eaudgc: 25
iter: 11 eaudgc: 1
iter: 12 eaudgc: 25
iter: 13 eaudgc: 1
iter: 14 eaudgc: 25
iter: 15 eaudgc: 1
iter: 16 eaudgc: 25
iter: 17 eaudgc: 1
iter: 18 eaudgc: 25
iter: 19 eaudgc: 1
iter: 20 eaudgc: 25
iter: 21 eaudgc: 1
iter: 22 eaudgc: 25
iter: 23 eaudgc: 1
iter: 24 eaudgc: 25
iter: 25 eaudgc: 1
iter: 26 eaudgc: 25
iter: 27 eaudgc: 1
iter: 28 eaudgc: 25
iter: 29 eaudgc: 1
iter: 30 eaudgc: 25
iter: 31 eaudgc: 1
iter: 32 eaudgc: 25
iter: 33 eaudgc: 1
iter: 34 eaudgc: 25
iter: 35 eaudgc: 1
iter: 36 eaudgc: 25
iter: 37 eaudgc: 1
iter: 38 eaudgc: 25
iter: 39 eaudgc: 1
iter: 40 eaudgc: 25
iter: 41 eaudgc: 1
iter: 42 eaudgc: 25
iter: 43 eaudgc: 1
iter: 44 eaudgc: 25
iter: 45 eaudgc: 1
iter: 46 eaudgc: 25
iter: 47 eaudgc: 1
iter: 48 eaudgc: 25
iter: 49 eaudgc: 1
iter: 50 eaudgc: 25
iter: 51 eaudgc: 1
iter: 52 eaudgc: 25
iter: 53 eaudgc: 1
iter: 54 eaudgc: 25
iter: 55 eaudgc: 1
iter: 56 eaudgc: 25
iter: 57 eaudgc: 1
iter: 58 eaudgc: (06:30)
iter: 59 eaudgc: 25
iter: 60 eaudgc: 1
iter: 61 eaudgc: 25
iter: 62 eaudgc: 1
iter: 63 eaudgc: 25
iter: 64 eaudgc: 1
iter: 65 eaudgc: 25
iter: 66 eaudgc: 1
iter: 67 eaudgc: 25
iter: 68 eaudgc: 1
iter: 69 eaudgc: 25
iter: 70 eaudgc: 1
iter: 71 eaudgc: 25
iter: 72 eaudgc: 1
iter: 73 eaudgc: 25
iter: 74 eaudgc: 1
iter: 75 eaudgc: 25
iter: 76 eaudgc: 1
iter: 77 eaudgc: 25
iter: 78 eaudgc: 1
iter: 79 eaudgc: 25
iter: 80 eaudgc: 1
iter: 81 eaudgc: 25
iter: 82 eaudgc: 1
iter: 83 eaudgc: 25
iter: 84 eaudgc: 1
iter: 85 eaudgc: 25
iter: 86 eaudgc: 1
iter: 87 eaudgc: 25
iter: 88 eaudgc: 1
iter: 89 eaudgc: 25
iter: 90 eaudgc: 1
iter: 91 eaudgc: 25
iter: 92 eaudgc: 1
iter: 93 eaudgc: 25
iter: 94 eaudgc: 1
iter: 95 eaudgc: 25
iter: 96 eaudgc: 1
iter: 97 eaudgc: 25
iter: 98 eaudgc: 1
iter: 99 eaudgc: 25

Not sure what this really means, but something is definitely happening to cause inconsistent results.
 
Spent a little time playing with this code to better reproduce the problem. Here is a single piece of code which can be copied into Arduino. It first wipes the EEPROM's storage area so the result doesn't depend on prior stored data (and you don't need to wait for the slow 15 sec button press restore process to start with a clean slate). I increased to 500 iterations and reduced the delay so it runs quickly. Here's the code to copy into Arduino:

Code:
#include <EEPROM.h>
#define EEPROMsiz 1024

class StringsTointEEPROM
{
  public:
    //constructor
    StringsTointEEPROM();
    // Methods
    void format_eeprom();
    int begin();
    void save_string_to_eeprom(char *stringIn);
    void save_nstrings_to_eeprom(int nbstring, char *stringsIn[]);
    void print_strings_from_eeprom();
    int get_string_from_eeprom(char *stringOut); //return 0 if MT
    int get_nstrings_from_eeprom(int nbstring, char *stringsOut[]); //return 0 if MT
  private:
    int find_eeprom_address();
    uint16_t _adr_EEPROM;
};

StringsTointEEPROM::StringsTointEEPROM()
{
}

void  StringsTointEEPROM::format_eeprom()
{
  for (int i = 0; i < EEPROMsiz; i++) EEPROM.write(i, 0xff);
}

int StringsTointEEPROM::begin()
{
  return find_eeprom_address();
}

void StringsTointEEPROM::save_string_to_eeprom(char *stringIn)
{
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i;
  uint8_t len, val = 0;
  while (val != 0xff)
  {
    val = EEPROM.read(_adr_EEPROM);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  EEPROM.write(_adr_EEPROM, 0xaa); //write sync
  _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  len = strlen(stringIn);
  EEPROM.write(_adr_EEPROM, len); //write nchar
  _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  for (i = 0; i < len; i++)
  {
    EEPROM.write(_adr_EEPROM, stringIn[i]);//write string
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  EEPROM.write(_adr_EEPROM, 0xff); //write end of string
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring, char *stringsIn[])
{
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i, iter = 0;
  uint8_t len, val = 0;
  while (val != 0xff)
  {
    val = EEPROM.read(_adr_EEPROM);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  while (nbstring > 0)
  {
    EEPROM.write(_adr_EEPROM, 0xaa); //write sync
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    len = strlen(stringsIn[iter]);
    EEPROM.write(_adr_EEPROM, len); //write nchar
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++)
    {
      EEPROM.write(_adr_EEPROM, stringsIn[iter][i]);//write string
      _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    }
    nbstring--;
    iter++;
  }
  EEPROM.write(_adr_EEPROM, 0xff); //write end of string
}
void  StringsTointEEPROM::print_strings_from_eeprom()
{
  int i, cntr = 0;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff) //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  while (1) //display all strings that were stored in EEPROM in FIFO order
  {
    val = EEPROM.read(adr_EEPROM);
    while (val != 0xaa) //find sync (could be long if EEPROM not full)
    {
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
      val = EEPROM.read(adr_EEPROM);
      cntr++;
      if (cntr == EEPROMsiz)
      {
        Serial.println("EEPROM is  MT");
        break;
      }
    }//while (val!=0xaa)
    if (cntr == EEPROMsiz) break;
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    len = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++)
    {
      Serial.print((char)EEPROM.read(adr_EEPROM));
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    }//for(i = 0; i < len; i++)
    Serial.println();
    val = EEPROM.read(adr_EEPROM);
    if (val == 0xff) break; //break if EEPROM not full or 1 full circle
    else val = 0;
  }//while(1)
}

int StringsTointEEPROM::get_string_from_eeprom(char *stringOut)
{
  //get latest string from eeprom
  int i, cntr = 0;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff) //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;
  while (val != 0xaa) //find sync
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz; //back up
    cntr++;
    if (cntr == EEPROMsiz) break; //EEPROM is MT
  }//while (val!=0xaa)
  if (cntr == EEPROMsiz) return 0;
  adr_EEPROM = (adr_EEPROM + 2) % EEPROMsiz; //get to len
  len = EEPROM.read(adr_EEPROM);
  adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  for (i = 0; i < len; i++)
  {
    stringOut[i] = (char)EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }//for(i = 1; i < len; i++)
  stringOut[len] = '\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring, char *stringsOut[])
{
  int i, cntr = 0, stringno;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff) //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;
  for (stringno = 0; stringno < nbstring; stringno++)
  {
    while (val != 0xaa) //find sync
    {
      val = EEPROM.read(adr_EEPROM);
      adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz; //back up
      cntr++;
      if (cntr == EEPROMsiz) break; //EEPROM is MT
    }//while (val!=0xaa)
    val = 0;
    if (cntr == EEPROMsiz) return 0;
  }//for (stringno=0;stringno<laststring+1;stringno++)
  adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz; //get to len
  for (stringno = 0; stringno < nbstring; stringno++)
  {
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz; //get to len
    len = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++)
    {
      stringsOut[stringno][i] = (char)EEPROM.read(adr_EEPROM);
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    }//for(i = 0; i < len; i++)
    stringsOut[stringno][len] = '\0';
  }//for (stringno=0;stringno<nbstring;stringno++)
  return 1;
}

int  StringsTointEEPROM::find_eeprom_address()
{
  uint8_t val = 0;
  int cntr = 0;
  _adr_EEPROM = 0;
  while (val != 0xff)
  {
    val = EEPROM.read(_adr_EEPROM);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    cntr++;
    if (cntr == EEPROMsiz) return 0;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  return 1;
}


#if defined(ARDUINO_TEENSY40)
#define FLASH_BASEADDR 0x601F0000
#define FLASH_SECTORS  15
#elif defined(ARDUINO_TEENSY41)
#define FLASH_BASEADDR 0x607C0000
#define FLASH_SECTORS  63
#elif defined(ARDUINO_TEENSY_MICROMOD)
#define FLASH_BASEADDR 0x60FC0000
#define FLASH_SECTORS  63
#endif
extern "C" void eepromemu_flash_erase_sector(void *addr);


bool flash_sector_has_data(uint32_t addr) {
  const uint32_t *p = (const uint32_t *)addr;
  for (unsigned int i = 0; i < 4096; i += 4) {
    if (*p++ != 0xFFFFFFFF) return true;
  }
  return false;
}

void wipe_eeprom() {
#if defined(FLASH_BASEADDR) && defined(FLASH_SECTORS)
  Serial.print("Wiping EEPROM");
  uint32_t addr = FLASH_BASEADDR;
  for (unsigned int i = 0; i < FLASH_SECTORS; i++) {
    Serial.print(".");
    if (flash_sector_has_data(addr)) {
      eepromemu_flash_erase_sector((void *)addr);
    }
    addr += 4096;
  }
  Serial.println();
#else
  for ( unsigned int i = 0 ; i < EEPROM.length() ; i++ ) {
    EEPROM.write(i, 0xFF);
  }
#endif
}


#define TABLESIZ 6
StringsTointEEPROM inteeprom; //internal Arduino EEPROM Library for storing and retreiving c-strings

char eaudgc[10] = "25";
char eaucm[10] = "15";
char eautime[10] = "(05:30)";
char airdgc[10] = "18";
char airhum[10] = "33";
char airtime[10] = "(06:30)";
char *tableadr[] = {eaudgc, eaucm, eautime, airdgc, airhum, airtime};
unsigned long int millistart;
unsigned long milliduration;


// STRUCTURE OF A STORED STRING
//-----------------------------
// sync (0xaa)
// nchar(0..255)
// char[0]
// char[1]
//  ..
// char[nchar-1]
// 0xff (end of latest string)
//-----------------------------


void setup() {
  int i, iter, nbytes = 0;
  Serial.begin(115200);
  while (!Serial) ; // wait for Arduino Serial Monitor
  delay(10);
  wipe_eeprom(); // for consistent test result

  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin() == 0) Serial.println("begin() ERROR, Format the EEPROM");
  for (i = 0; i < TABLESIZ; i++) nbytes += (strlen(tableadr[i]));
  millistart = millis();
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  milliduration = millis() - millistart;
  Serial.print("execution time for save_nstrings_to_eeprom() is ");
  Serial.print((float)milliduration / (float)nbytes);
  Serial.println("ms per byte");
  Serial.println("latest 6 strings read from EEPROM");
  millistart = millis();
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) Serial.println("EEPROM is MT"); //read string
  milliduration = millis() - millistart;
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
  Serial.print("total execution time for get_nstrings_from_eeprom() is ");
  Serial.print(milliduration);
  Serial.println("ms");
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  for (iter = 0; iter < 500; iter++)
  {
    inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr);
    Serial.print("iter: ");
    Serial.print(iter);
    Serial.print(" eaudgc: ");
    Serial.println(eaudgc);
    delay(1);
    if (strcmp(eaudgc, "25") == 0) strcpy(eaudgc, "1"); else strcpy(eaudgc, "25"); //modify 1st string and test reliability
    inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  }
}

void loop() {
}

It consistently gives unusual results on iterations 121, 270, 493 when I run it here on Teensy 4.1.

iter: 121 eaudgc: (06:30)

iter: 270 eaudgc: 33

iter: 493 eaudgc: 18


I also ran this on Arduino Uno. It gives only 25 and 1 output.

Looks there is some sort of subtle software bug here. Might be in Teensy's core library, might be in this code. Still haven't dug into the problem much yet.... mainly just focused so far on how to better reproduce it.
 
Ran it here on a Teensy 4.1. It printed "(06:30)" on the last line.

Not sure what this really means, but something is definitely happening to cause inconsistent results.

Hello Paul

The test code is for debugging my Teensy4.0. I developed the library which works fine for my Nano remote sensor monitor using an LCD 16x2. I wanted to save current sensor measurements in EEPROM in case of loss of power. I was tired of using this type of display so I bought a tft display run by a Teensy. I was getting inconsistent display values when I activated the "EEPROM" so I made this test program hoping someone could understand why. My library stores blocks of strings on the EEPROM by appending the most recent block at higher addresses in a circular mode. Recovering an EEPROM block is done at the most recent address. All to do some wear leveling of the "EEPROM" access. The test code just recovers a block of 6 strings, modifies the first value between 1 or 25, then restores to EEPROM. Again, the test code works fine for the Nano but not the Teensy. Voila, that's about all I can say for now.

BR Bill
 
All to do some wear leveling of the "EEPROM" access. The test code just recovers a block of 6 strings, modifies the first value between 1 or 25, then restores to EEPROM. Again, the test code works fine for the Nano but not the Teensy. Voila, that's about all I can say for now.
Oops sorry I am not Paul,

Hope you don't mind one last interruption here...

Paul,

I hacked up your test case here to use a slightly updated KISS save of the strings. Simply put:
I simply store the 6 strings, each one starting at EEPROM index 1, 11, 21, 31, 41, 51

I also updated the test program, to in the loop read in the strings to different memory locations and compare the strings and only print string strings if they don't match...
I also print the elapsedMicros for each iteration through the loop. I also keep a count of errors.
And at the end print out all of the strings and count of errors...

Code:
Wiping EEPROM...............
execution time for save_nstrings_to_eeprom() is 0.00ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 em: 33
iter: 1 em: 26
iter: 2 em: 33
iter: 3 em: 26
iter: 4 em: 33
iter: 5 em: 26
iter: 6 em: 33
iter: 7 em: 26
...
iter: 4991 em: 20
iter: 4992 em: 23
iter: 4993 em: 20
iter: 4994 em: 24
iter: 4995 em: 20
iter: 4996 em: 24
iter: 4997 em: 20
iter: 4998 em: 24
iter: 4999 em: 20

*** End of run ***
Count of errors: 0
Strings:  0:1 25 1:15 15 2:(05:30) (05:30) 3:18 18 4:33 33 5:(06:30) (06:30)
Wear leveling is an interesting thing that may or may not work as expected. My run here, is maybe slightly bogus in that, really each run the only thing that changes is the three bytes associated with; the one field alternating between 1 and 25. All of the other writes will see that the current value is the same and as such nothing needs to be done.

So not really sure in your case how many bytes actually change from sample to sample? for example the (06:30) string what changes? only the 06? and with that for many of the hours only the 6? In that case only that one EEPROM value would change.

And if I really wanted to minimize EEPROM wear by usage, I would probably not save as strings... For example how many of those fields could be encoded as one byte each...

I fully understand that since it works well on an 8 bit AVR processor that has physical 1024 byte EEPROM, it should work here on the Teensy. However in the Teensy case, your optimizations for the AVR are working counter to how the EEPROM emulation code is implement on the Teensy and is instead of being an optimization it is a worst case scenario stress test on the Teensy. Which is why Paul may want to debug it and see if he can uncover what the issue is and hopefully fix it. But it still will mostly likely continue to be Flash wear maximizer instead of a minimizer.

If anyone is interested in the version I tested, it is below, if not no big deal. But I am done...

Kurt

Code:
///////////////////////////////////// myLIBRARY /////////////////////////////////////

#ifndef sti
#define sti

#if (ARDUINO >= 100)
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include <EEPROM.h>
#define EEPROMsiz 1024

class StringsTointEEPROM {
public:
  //constructor
  StringsTointEEPROM();
  // Methods
  void format_eeprom();
  int begin();
  void save_string_to_eeprom(int index, char *stringIn);
  void save_nstrings_to_eeprom(int nbstring, char *stringsIn[]);
  void print_strings_from_eeprom();
  int get_string_from_eeprom(int index, char *stringOut);          //return 0 if MT
  int get_nstrings_from_eeprom(int nbstring, char *stringsOut[]);  //return 0 if MT
private:
  int find_eeprom_address();
  uint16_t _adr_EEPROM;
  const int _max_str_len = 10;
};
#endif



//#include <stringsToint_EEPROM.h>

StringsTointEEPROM::StringsTointEEPROM() {
}

void StringsTointEEPROM::format_eeprom() {
  // Don't do it...  This just does writes
  //EEPROM.write(0, 0xff);  // Just write first one
}

int StringsTointEEPROM::begin() {
  return find_eeprom_address();
}

void StringsTointEEPROM::save_string_to_eeprom(int index, char *stringIn) {
  // KISS version
  _adr_EEPROM = index * _max_str_len + 1;
  while (*stringIn) {
    EEPROM.write(_adr_EEPROM++, *stringIn++);  //write sync
  }
  EEPROM.write(_adr_EEPROM++, 0xff);  //write end of string
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring, char *stringsIn[]) {
  // KISS version
  for (int i = 0; i < nbstring; i++) {
    save_string_to_eeprom(i, stringsIn[i]);
  }
  EEPROM.write(0, nbstring);  //write end of string
}

void StringsTointEEPROM::print_strings_from_eeprom() {
  char str[256];  // Should be big enough for any of our strings.

  int nbstring = EEPROM.read(0);
  if (nbstring > 10) return;  // probably nothing valid...
  for (int i = 0; i < nbstring; i++) {
    get_string_from_eeprom(i, str);
    Serial.println(str);
  }
}

int StringsTointEEPROM::get_string_from_eeprom(int index, char *stringOut) {
  // KISS version
  char val;
  _adr_EEPROM = index * _max_str_len + 1;
  while ((val = EEPROM.read(_adr_EEPROM++)) != (char)0xff) {
    *stringOut++ = (char)val;
  }
  *stringOut = '\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring, char *stringsOut[]) {
  if (EEPROM.read(0) != nbstring) return 0;  // quick test if
  _adr_EEPROM = 1;
  for (int i = 0; i < nbstring; i++) {
    get_string_from_eeprom(i, stringsOut[i]);
  }
  return 1;
}

int StringsTointEEPROM::find_eeprom_address() {
  _adr_EEPROM = 1;
  return 1;
}

#if defined(ARDUINO_TEENSY40)
#define FLASH_BASEADDR 0x601F0000
#define FLASH_SECTORS 15
#elif defined(ARDUINO_TEENSY41)
#define FLASH_BASEADDR 0x607C0000
#define FLASH_SECTORS 63
#elif defined(ARDUINO_TEENSY_MICROMOD)
#define FLASH_BASEADDR 0x60FC0000
#define FLASH_SECTORS 63
#endif
extern "C" void eepromemu_flash_erase_sector(void *addr);


bool flash_sector_has_data(uint32_t addr) {
  const uint32_t *p = (const uint32_t *)addr;
  for (unsigned int i = 0; i < 4096; i += 4) {
    if (*p++ != 0xFFFFFFFF) return true;
  }
  return false;
}

void wipe_eeprom() {
#if defined(FLASH_BASEADDR) && defined(FLASH_SECTORS)
  Serial.print("Wiping EEPROM");
  uint32_t addr = FLASH_BASEADDR;
  for (unsigned int i = 0; i < FLASH_SECTORS; i++) {
    Serial.print(".");
    if (flash_sector_has_data(addr)) {
      eepromemu_flash_erase_sector((void *)addr);
    }
    addr += 4096;
  }
  Serial.println();
#else
  for (unsigned int i = 0; i < EEPROM.length(); i++) {
    EEPROM.write(i, 0xFF);
  }
#endif
}


#define TABLESIZ 6
StringsTointEEPROM inteeprom;  //internal Arduino EEPROM Library for storing and retreiving c-strings

char eaudgc[10] = "25";
char eaucm[10] = "15";
char eautime[10] = "(05:30)";
char airdgc[10] = "18";
char airhum[10] = "33";
char airtime[10] = "(06:30)";
char *tableadr[] = { eaudgc, eaucm, eautime, airdgc, airhum, airtime };

char sz1[10];
char sz2[10];
char sz3[10];
char sz4[10];
char sz5[10];
char sz6[10];
char *tableadrIn[] = { sz1, sz2, sz3, sz4, sz5, sz6 };


unsigned long int millistart;
unsigned long milliduration;


// STRUCTURE OF A STORED STRING
//-----------------------------
// sync (0xaa)
// nchar(0..255)
// char[0]
// char[1]
//  ..
// char[nchar-1]
// 0xff (end of latest string)
//-----------------------------


void setup() {
  int i, iter, nbytes = 0;
  Serial.begin(115200);
  while (!Serial)
    ;  // wait for Arduino Serial Monitor
  delay(10);
  wipe_eeprom();  // for consistent test result

  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin() == 0) Serial.println("begin() ERROR, Format the EEPROM");
  for (i = 0; i < TABLESIZ; i++) nbytes += (strlen(tableadr[i]));
  millistart = millis();
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  milliduration = millis() - millistart;
  Serial.print("execution time for save_nstrings_to_eeprom() is ");
  Serial.print((float)milliduration / (float)nbytes);
  Serial.println("ms per byte");
  Serial.println("latest 6 strings read from EEPROM");
  millistart = millis();
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) Serial.println("EEPROM is MT");  //read string
  milliduration = millis() - millistart;
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
  Serial.print("total execution time for get_nstrings_from_eeprom() is ");
  Serial.print(milliduration);
  Serial.println("ms");
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  int number_of_errors = 0;
  for (iter = 0; iter < 5000; iter++) {
    elapsedMicros emLoop;
    inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadrIn);
    Serial.print("iter: ");
    Serial.print(iter);
    for (unsigned int i = 0; i < (sizeof(tableadrIn) / sizeof(tableadrIn[0])); i++) {
      if (strcmp(tableadrIn[i], tableadr[i]) != 0) {
        Serial.printf(" %d:%s!=%s", i, tableadrIn[i], tableadr[i]);
        number_of_errors++;
      }
    }
    Serial.print(" em: ");
    Serial.println((uint32_t)emLoop);
    delay(1);
    if (strcmp(eaudgc, "25") == 0) strcpy(eaudgc, "1");
    else
      strcpy(eaudgc, "25");  //modify 1st string and test reliability
    inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  }

  Serial.println("\n*** End of run ***");
  Serial.printf("Count of errors: %d\nStrings: ", number_of_errors);
  for (unsigned int i = 0; i < (sizeof(tableadrIn) / sizeof(tableadrIn[0])); i++) {
    Serial.printf(" %d:%s %s", i, tableadrIn[i], tableadr[i]);
  }
  Serial.println();
}

void loop() {
}
 
Something strange worth taking a more detailed look at . . .

I decided to take a different look at this problem. I added some debug spits to detail all of the EEPROM addresses & the data READ/WRTTEN from/to those addresses. Something strange popped out as a result: it appears that the operations constraining the EEPROM address to the range 0-1023 are not always resulting in proper values (instead of the expected EEPROM address value of "1023", it is sometimes resulting in a EEPROM address of "65535"), which may or may not cause a problem (as Paul found, it is consistently a problem for passes 121, 270, & 493, but not for others, such as 29, 60, 90, 158, 195, 232, 269, 307, 344, 381, 418, & 456).

To demonstrate this problem, make sure that line 39 reads "#undef PERTINENT_DEBUG", which will print all of the debug spits. Scroll thru & observe the pass numbers listed above . . . in all cases (those that have a deleterious effect & those that don't seem to bother anything) you'll see that the EEPROM address reported is "65535". Then, to make it easier to debug, change line 39 to read "#define PERTINENT_DEBUG" & the unaffected READs & WRITEs will be suppressed.

Here's the code that I used (with line 39 initially setup for full debug):

Code:
#include <EEPROM.h>
#define EEPROMsiz 1024

#define DO_READ false
#define DO_WRITE true

class StringsTointEEPROM
{
  public:
    //constructor
    StringsTointEEPROM();
    // Methods
    void format_eeprom();
    int begin();
    void save_string_to_eeprom(char *stringIn);
    void save_nstrings_to_eeprom(int nbstring, char *stringsIn[]);
    void print_strings_from_eeprom();
    int get_string_from_eeprom(char *stringOut); //return 0 if MT
    int get_nstrings_from_eeprom(int nbstring, char *stringsOut[]); //return 0 if MT
  private:
    int find_eeprom_address();
    uint16_t _adr_EEPROM;
};

StringsTointEEPROM::StringsTointEEPROM()
{
}

void  StringsTointEEPROM::format_eeprom()
{
  for (int i = 0; i < EEPROMsiz; i++) EEPROM.write(i, 0xff);
}

int StringsTointEEPROM::begin()
{
  return find_eeprom_address();
}

#undef PERTINENT_DEBUG

void printDetails(uint16_t adrEEPROM, uint8_t dat, bool readWrite)
{
#ifdef PERTINENT_DEBUG
   if (adrEEPROM == 65535)
   {
#endif
      if (readWrite)  // false = DO_READ
      {
         Serial.print("WRITE: ");
      } else {
         Serial.print(" READ: ");
      }

      Serial.print(adrEEPROM / 1000);
      Serial.print((adrEEPROM / 100) % 10);
      Serial.print((adrEEPROM / 10) % 10);
      Serial.print(adrEEPROM % 10);
      Serial.print(" : ");
      Serial.println(dat);
#ifdef PERTINENT_DEBUG
   }
#endif
}


void StringsTointEEPROM::save_string_to_eeprom(char *stringIn)
{
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i;
  uint8_t len, val = 0;
  while (val != 0xff)
  {
    val = EEPROM.read(_adr_EEPROM);
    printDetails(_adr_EEPROM, val, DO_READ);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  EEPROM.write(_adr_EEPROM, 0xaa); //write sync
  printDetails(_adr_EEPROM, 0xaa, DO_WRITE);
  _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  len = strlen(stringIn);
  EEPROM.write(_adr_EEPROM, len); //write nchar
  printDetails(_adr_EEPROM, len, DO_WRITE);
  _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  for (i = 0; i < len; i++)
  {
    EEPROM.write(_adr_EEPROM, stringIn[i]);//write string
    printDetails(_adr_EEPROM, stringIn[i], DO_WRITE);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  EEPROM.write(_adr_EEPROM, 0xff); //write end of string
  printDetails(_adr_EEPROM, 0xf, DO_WRITE);
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring, char *stringsIn[])
{
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i, iter = 0;
  uint8_t len, val = 0;
  while (val != 0xff)
  {
    val = EEPROM.read(_adr_EEPROM);
    printDetails(_adr_EEPROM, val, DO_READ);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  while (nbstring > 0)
  {
    EEPROM.write(_adr_EEPROM, 0xaa); //write sync
    printDetails(_adr_EEPROM, 0xaa, DO_WRITE);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    len = strlen(stringsIn[iter]);
    EEPROM.write(_adr_EEPROM, len); //write nchar
    printDetails(_adr_EEPROM, len, DO_WRITE);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++)
    {
      EEPROM.write(_adr_EEPROM, stringsIn[iter][i]);//write string
      printDetails(_adr_EEPROM, stringsIn[iter][i], DO_WRITE);
      _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    }
    nbstring--;
    iter++;
  }
  EEPROM.write(_adr_EEPROM, 0xff); //write end of string
  printDetails(_adr_EEPROM, 0xff, DO_WRITE);
}
void  StringsTointEEPROM::print_strings_from_eeprom()
{
  int i, cntr = 0;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff) //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  while (1) //display all strings that were stored in EEPROM in FIFO order
  {
    val = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    while (val != 0xaa) //find sync (could be long if EEPROM not full)
    {
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
      val = EEPROM.read(adr_EEPROM);
      printDetails(adr_EEPROM, val, DO_READ);
      cntr++;
      if (cntr == EEPROMsiz)
      {
        Serial.println("EEPROM is  MT");
        break;
      }
    }//while (val!=0xaa)
    if (cntr == EEPROMsiz) break;
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    len = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, len, DO_READ);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++)
    {
      Serial.print((char)EEPROM.read(adr_EEPROM));
       printDetails(_adr_EEPROM, (char)EEPROM.read(adr_EEPROM), DO_READ);
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    }//for(i = 0; i < len; i++)
    Serial.println();
    val = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    if (val == 0xff) break; //break if EEPROM not full or 1 full circle
    else val = 0;
  }//while(1)
}

int StringsTointEEPROM::get_string_from_eeprom(char *stringOut)
{
  //get latest string from eeprom
  int i, cntr = 0;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff) //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;
  while (val != 0xaa) //find sync
  {
    val = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz; //back up
    cntr++;
    if (cntr == EEPROMsiz) break; //EEPROM is MT
  }//while (val!=0xaa)
  if (cntr == EEPROMsiz) return 0;
  adr_EEPROM = (adr_EEPROM + 2) % EEPROMsiz; //get to len
  len = EEPROM.read(adr_EEPROM);
  printDetails(adr_EEPROM, len, DO_READ);
  adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  for (i = 0; i < len; i++)
  {
    stringOut[i] = (char)EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, stringOut[i], DO_READ);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }//for(i = 1; i < len; i++)
  stringOut[len] = '\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring, char *stringsOut[])
{
  int i, cntr = 0, stringno;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff) //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;
  for (stringno = 0; stringno < nbstring; stringno++)
  {
    while (val != 0xaa) //find sync
    {
      val = EEPROM.read(adr_EEPROM);
      printDetails(adr_EEPROM, val, DO_READ);
      adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz; //back up
      cntr++;
      if (cntr == EEPROMsiz) break; //EEPROM is MT
    }//while (val!=0xaa)
    val = 0;
    if (cntr == EEPROMsiz) return 0;
  }//for (stringno=0;stringno<laststring+1;stringno++)
  adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz; //get to len
  for (stringno = 0; stringno < nbstring; stringno++)
  {
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz; //get to len
    len = EEPROM.read(adr_EEPROM);
    printDetails(adr_EEPROM, val, DO_READ);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++)
    {
      stringsOut[stringno][i] = (char)EEPROM.read(adr_EEPROM);
      printDetails(adr_EEPROM, stringsOut[stringno][i], DO_READ);
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    }//for(i = 0; i < len; i++)
    stringsOut[stringno][len] = '\0';
  }//for (stringno=0;stringno<nbstring;stringno++)
  return 1;
}

int  StringsTointEEPROM::find_eeprom_address()
{
  uint8_t val = 0;
  int cntr = 0;
  _adr_EEPROM = 0;
  while (val != 0xff)
  {
    val = EEPROM.read(_adr_EEPROM);
    printDetails(_adr_EEPROM, val, DO_READ);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    cntr++;
    if (cntr == EEPROMsiz) return 0;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  return 1;
}


#if defined(ARDUINO_TEENSY40)
#define FLASH_BASEADDR 0x601F0000
#define FLASH_SECTORS  15
#elif defined(ARDUINO_TEENSY41)
#define FLASH_BASEADDR 0x607C0000
#define FLASH_SECTORS  63
#elif defined(ARDUINO_TEENSY_MICROMOD)
#define FLASH_BASEADDR 0x60FC0000
#define FLASH_SECTORS  63
#endif
extern "C" void eepromemu_flash_erase_sector(void *addr);


bool flash_sector_has_data(uint32_t addr) {
  const uint32_t *p = (const uint32_t *)addr;
  for (unsigned int i = 0; i < 4096; i += 4) {
    if (*p++ != 0xFFFFFFFF) return true;
  }
  return false;
}

void wipe_eeprom() {
#if defined(FLASH_BASEADDR) && defined(FLASH_SECTORS)
  Serial.print("Wiping EEPROM");
  uint32_t addr = FLASH_BASEADDR;
  for (unsigned int i = 0; i < FLASH_SECTORS; i++) {
    Serial.print(".");
    if (flash_sector_has_data(addr)) {
      eepromemu_flash_erase_sector((void *)addr);
    }
    addr += 4096;
  }
  Serial.println();
#else
  for ( unsigned int i = 0 ; i < EEPROM.length() ; i++ ) {
    EEPROM.write(i, 0xFF);
  }
#endif
}


#define TABLESIZ 6
StringsTointEEPROM inteeprom; //internal Arduino EEPROM Library for storing and retreiving c-strings

char eaudgc[10] = "25";
char eaucm[10] = "15";
char eautime[10] = "(05:30)";
char airdgc[10] = "18";
char airhum[10] = "33";
char airtime[10] = "(06:30)";
char *tableadr[] = {eaudgc, eaucm, eautime, airdgc, airhum, airtime};
unsigned long int millistart;
unsigned long milliduration;


// STRUCTURE OF A STORED STRING
//-----------------------------
// sync (0xaa)
// nchar(0..255)
// char[0]
// char[1]
//  ..
// char[nchar-1]
// 0xff (end of latest string)
//-----------------------------


void setup() {
  int i, iter, nbytes = 0;
  Serial.begin(115200);
  while (!Serial) ; // wait for Arduino Serial Monitor
  delay(10);
  wipe_eeprom(); // for consistent test result

  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin() == 0) Serial.println("begin() ERROR, Format the EEPROM");
  for (i = 0; i < TABLESIZ; i++) nbytes += (strlen(tableadr[i]));
  millistart = millis();
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  milliduration = millis() - millistart;
  Serial.print("execution time for save_nstrings_to_eeprom() is ");
  Serial.print((float)milliduration / (float)nbytes);
  Serial.println("ms per byte");
  Serial.println("latest 6 strings read from EEPROM");
  millistart = millis();
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) Serial.println("EEPROM is MT"); //read string
  milliduration = millis() - millistart;
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
  Serial.print("total execution time for get_nstrings_from_eeprom() is ");
  Serial.print(milliduration);
  Serial.println("ms");
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  for (iter = 0; iter < 500; iter++)
  {
    inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr);
    Serial.print("iter: ");
    Serial.print(iter);
    Serial.print(" eaudgc: ");
    Serial.println(eaudgc);
    delay(1);
    if (strcmp(eaudgc, "25") == 0) strcpy(eaudgc, "1"); else strcpy(eaudgc, "25"); //modify 1st string and test reliability
    inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  }
}

void loop() {
}

Now, the real challenge is to figure out exactly what is causing this anamoly . . .

Mark J Culross
KD5RXT

P.S. I should note that this is compiled with the following settings (applicable to the project that I am currently working on), in case that makes any difference:

Code:
//  Arduino IDE Configuration (last built with Arduino 1.8.19 + Teensyduino 1.57b3):
//     Tools/Board:           "Teensy 4.1"
//     Tools/USB Type:        "Serial + MIDI"
//     Tools/CPU Speed:       "600MHz"
//     Tools/Optimize:        "Smallest Code"
//     Tools/Keyboard Layout: "US English"
//     Tools/Port:            "COMx Serial+MIDI (Teensy 4.1)"
 
Last edited:
Ok you all got me curious so decided to run a 3 basic sketches that I pulled off the web. Note: I am running on a T4.0

SUmmary: Sketches 1 and 2 work but sketch 3 fail on writing negative ints to eeprom. Not sure why though.

Sketch 1: Writing strings to eeprom (add a 5000 count loop just to see if any errors showed:
Code:
//https://roboticsbackend.com/arduino-write-string-in-eeprom
[COLOR="#FF0000"][B]/*Running this sketch with 5000 writes/reads:
No errors seen
*/[/B][/COLOR]

#include <EEPROM.h>

int writeStringToEEPROM(int addrOffset, const String &strToWrite)
{
  byte len = strToWrite.length();
  EEPROM.write(addrOffset, len);
  for (int i = 0; i < len; i++)
  {
    EEPROM.write(addrOffset + 1 + i, strToWrite[i]);
  }
  return addrOffset + 1 + len;
}
int readStringFromEEPROM(int addrOffset, String *strToRead)
{
  int newStrLen = EEPROM.read(addrOffset);
  char data[newStrLen + 1];
  for (int i = 0; i < newStrLen; i++)
  {
    data[i] = EEPROM.read(addrOffset + 1 + i);
  }
  data[newStrLen] = '\0'; // !!! NOTE !!! Remove the space between the slash "/" and "0" (I've added a space because otherwise there is a display bug)
  *strToRead = String(data);
  return addrOffset + 1 + newStrLen;
}

int icount = 0;
void setup() {
  Serial.begin(9600);
  int eepromOffset = 0;
  // Writing
  String str1 = "Today's tutorial:";
  String str2 = "Save String to EEPROM.";
  String str3 = "Thanks for reading!";
  int str1AddrOffset = writeStringToEEPROM(eepromOffset, str1);
  int str2AddrOffset = writeStringToEEPROM(str1AddrOffset, str2);
  writeStringToEEPROM(str2AddrOffset, str3);
  // Reading
  String newStr1;
  String newStr2;
  String newStr3;

  for(int i = 0; i < 5000; i++) {
      icount += 1;
    int newStr1AddrOffset = readStringFromEEPROM(eepromOffset, &newStr1);
    int newStr2AddrOffset = readStringFromEEPROM(newStr1AddrOffset, &newStr2);
    readStringFromEEPROM(newStr2AddrOffset, &newStr3);
    
    Serial.print(icount); Serial.print(": ");
    if(strcmp(str1.c_str(), newStr1.c_str()) != 0) { Serial.print(newStr1); Serial.print(" : ");  }
    if(strcmp(str2.c_str(), newStr2.c_str()) != 0) {Serial.print(newStr2); Serial.print(" : ");}
    if(strcmp(str3.c_str(), newStr3.c_str()) != 0) {Serial.print(newStr3); }
    Serial.println();
  }
}

void loop() {
}

Sketch 2: Writing Longs:
Code:
//https://roboticsbackend.com/arduino-store-array-into-eeprom/
[B][COLOR="#FF0000"]/*this outputs the following correctly:
56000
-123456
5
7892
-89092
*/[/COLOR][/B]

#include <EEPROM.h>
void writeLongArrayIntoEEPROM(int address, long numbers[], int arraySize)
{
  int addressIndex = address;
  for (int i = 0; i < arraySize; i++)
  {
    EEPROM.write(addressIndex, (numbers[i] >> 24) & 0xFF);
    EEPROM.write(addressIndex + 1, (numbers[i] >> 16) & 0xFF);
    EEPROM.write(addressIndex + 2, (numbers[i] >> 8) & 0xFF);
    EEPROM.write(addressIndex + 3, numbers[i] & 0xFF);
    addressIndex += 4;
  }
}
void readLongArrayFromEEPROM(int address, long numbers[], int arraySize)
{
  int addressIndex = address;
  for (int i = 0; i < arraySize; i++)
  {
    numbers[i] = ((long)EEPROM.read(addressIndex) << 24) +
                 ((long)EEPROM.read(addressIndex + 1) << 16) +
                 ((long)EEPROM.read(addressIndex + 2) << 8) +
                 (long)EEPROM.read(addressIndex + 3);
    addressIndex += 4;
  }
}
void setup()
{
  Serial.begin(9600);
  const int ARRAY_SIZE = 5;
  const int STARTING_EEPROM_ADDRESS = 123;
  long numbers[ARRAY_SIZE] = { 56000, -123456, 5, 7892, -89092 };
  writeLongArrayIntoEEPROM(STARTING_EEPROM_ADDRESS, numbers, ARRAY_SIZE);
  long newNumbers[ARRAY_SIZE];
  readLongArrayFromEEPROM(STARTING_EEPROM_ADDRESS, newNumbers, ARRAY_SIZE);
  for (int i = 0; i < ARRAY_SIZE; i++)
  {
    Serial.println(newNumbers[i]);
  }
}
void loop() {}

Sketch 3: writing Ints:
Code:
//https://roboticsbackend.com/arduino-store-array-into-eeprom/
[B][COLOR="#FF0000"]/* this outputs the following
3
25000
64258
34
55537

S/b
3
25000
-1278
34
-9999
*/[/COLOR][/B]

#include <EEPROM.h>
void writeIntArrayIntoEEPROM(int address, int numbers[], int arraySize)
{
  int addressIndex = address;
  for (int i = 0; i < arraySize; i++) 
  {
    EEPROM.write(addressIndex, numbers[i] >> 8);
    EEPROM.write(addressIndex + 1, numbers[i] & 0xFF);
    addressIndex += 2;
  }
}
void readIntArrayFromEEPROM(int address, int numbers[], int arraySize)
{
  int addressIndex = address;
  for (int i = 0; i < arraySize; i++)
  {
    numbers[i] = (EEPROM.read(addressIndex) << 8) + EEPROM.read(addressIndex + 1);
    addressIndex += 2;
  }
}

void setup() {
  Serial.begin(9600);
  const int ARRAY_SIZE = 5;
  const int STARTING_EEPROM_ADDRESS = 17;
  int numbers[ARRAY_SIZE] = { 3, 25000, -1278, 34, -9999 };
  writeIntArrayIntoEEPROM(STARTING_EEPROM_ADDRESS, numbers, ARRAY_SIZE);
  int newNumbers[ARRAY_SIZE];
  readIntArrayFromEEPROM(STARTING_EEPROM_ADDRESS, newNumbers, ARRAY_SIZE);
  for (int i = 0; i < ARRAY_SIZE; i++)
  {
    Serial.println(newNumbers[i]);
  }
}
void loop() {}

Now on to something more interesting with the eeprom
 
Last edited:
If anyone is interested in the version I tested, it is below, if not no big deal. But I am done...
Oops I lied...
I decided to update the sketch from previous post, to for one thing, dump the contents of the EEPROM after the run

This uses my MemoryHexDump library which is up in on my Github ...
I also on each iteration now, copy the 15 sectors of EEPROM data into big buffer in DMAMEM
And now if I get an error I will dump both the previous contents before the run and contents after that iteration.

Hopefully will give clues on what went wrong...
I also made the code #ifdef to allow my KISS version and the EEPROM stress version...

Dump output from KISS version:
Code:
*** End of run ***
Count of errors: 0
Strings:  0:1 25 1:15 15 2:(05:30) (05:30) 3:18 18 4:33 33 5:(06:30) (06:30)
Dump EEPROM pages
Page 0 addr: 0x601f0000
601F0000 - 00 06 01 31 02 35 02 FF  01 32 02 35 01 31 02 FF  : ...1.5.. .2.5.1..
601F0010 - 01 32 02 35 01 31 02 FF  01 32 02 35 01 31 02 FF  : .2.5.1.. .2.5.1..
...	 7 duplicate line(s) removed.
601F0090 - 01 32 02 35 01 31 02 FF  01 32 02 35 01 31 02 FF  : .2.5.1.. .2.5.1..
601F00A0 - 01 32 02 35 FF FF FF FF  FF FF FF FF FF FF FF FF  : .2.5.... ........
601F00B0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 243 duplicate line(s) removed.
601F0FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 1 addr: 0x601f1000
601F1000 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 254 duplicate line(s) removed.
601F1FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 2 addr: 0x601f2000
601F2000 - 03 31 FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : .1...... ........
601F2010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601F2FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 3 addr: 0x601f3000
601F3000 - 00 35 FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : .5...... ........
601F3010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601F3FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 4 addr: 0x601f4000
601F4000 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 254 duplicate line(s) removed.
601F4FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 5 addr: 0x601f5000
601F5000 - 01 28 02 30 03 35 FF FF  FF FF FF FF FF FF FF FF  : .(.0.5.. ........
601F5010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601F5FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 6 addr: 0x601f6000
601F6000 - 00 3A 01 33 02 30 03 29  FF FF FF FF FF FF FF FF  : .:.3.0.) ........
601F6010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601F6FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 7 addr: 0x601f7000
601F7000 - FF FF 03 31 FF FF FF FF  FF FF FF FF FF FF FF FF  : ...1.... ........
601F7010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601F7FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 8 addr: 0x601f8000
601F8000 - 00 38 FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : .8...... ........
601F8010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601F8FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 9 addr: 0x601f9000
601F9000 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 254 duplicate line(s) removed.
601F9FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 10 addr: 0x601fa000
601FA000 - FF FF FF FF 01 33 02 33  FF FF FF FF FF FF FF FF  : .....3.3 ........
601FA010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601FAFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 11 addr: 0x601fb000
601FB000 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 254 duplicate line(s) removed.
601FBFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 12 addr: 0x601fc000
601FC000 - FF FF 03 28 FF FF FF FF  FF FF FF FF FF FF FF FF  : ...(.... ........
601FC010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601FCFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 13 addr: 0x601fd000
601FD000 - FF FF FF FF FF FF FF FF  00 30 01 36 02 3A 03 33  : ........ .0.6.:.3
601FD010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601FDFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 14 addr: 0x601fe000
601FE000 - FF FF FF FF 00 30 01 29  FF FF FF FF FF FF FF FF  : .....0.) ........
601FE010 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 253 duplicate line(s) removed.
601FEFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........

Code:
#include <EEPROM.h>
#define EEPROMsiz 1024
#include <MemoryHexDump.h>

// Uncomment below to use my simple version
//#define USE_KISS_LIBRARY_VERSION

// buffer to hold copy of first 15 EEPROM sectors.
DMAMEM uint8_t eeprom_copy[4096 * 15];

#ifdef USE_KISS_LIBRARY_VERSION
//=============================================================================
// Keep it simple version
// simply store strings starting at index 1, 11, 21, 31, 41, 51
//=============================================================================
class StringsTointEEPROM {
public:
  //constructor
  StringsTointEEPROM();
  // Methods
  void format_eeprom();
  int begin();
  void save_string_to_eeprom(int index, char *stringIn);
  void save_nstrings_to_eeprom(int nbstring, char *stringsIn[]);
  void print_strings_from_eeprom();
  int get_string_from_eeprom(int index, char *stringOut);          //return 0 if MT
  int get_nstrings_from_eeprom(int nbstring, char *stringsOut[]);  //return 0 if MT
private:
  int find_eeprom_address();
  uint16_t _adr_EEPROM;
  const int _max_str_len = 10;
};



//#include <stringsToint_EEPROM.h>

StringsTointEEPROM::StringsTointEEPROM() {
}

void StringsTointEEPROM::format_eeprom() {
  // Don't do it...  This just does writes
  //EEPROM.write(0, 0xff);  // Just write first one
}

int StringsTointEEPROM::begin() {
  return find_eeprom_address();
}

void StringsTointEEPROM::save_string_to_eeprom(int index, char *stringIn) {
  // KISS version
  _adr_EEPROM = index * _max_str_len + 1;
  while (*stringIn) {
    EEPROM.write(_adr_EEPROM++, *stringIn++);  //write sync
  }
  EEPROM.write(_adr_EEPROM++, 0xff);  //write end of string
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring, char *stringsIn[]) {
  // KISS version
  for (int i = 0; i < nbstring; i++) {
    save_string_to_eeprom(i, stringsIn[i]);
  }
  EEPROM.write(0, nbstring);  //write end of string
}

void StringsTointEEPROM::print_strings_from_eeprom() {
  char str[256];  // Should be big enough for any of our strings.

  int nbstring = EEPROM.read(0);
  if (nbstring > 10) return;  // probably nothing valid...
  for (int i = 0; i < nbstring; i++) {
    get_string_from_eeprom(i, str);
    Serial.println(str);
  }
}

int StringsTointEEPROM::get_string_from_eeprom(int index, char *stringOut) {
  // KISS version
  char val;
  _adr_EEPROM = index * _max_str_len + 1;
  while ((val = EEPROM.read(_adr_EEPROM++)) != (char)0xff) {
    *stringOut++ = (char)val;
  }
  *stringOut = '\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring, char *stringsOut[]) {
  if (EEPROM.read(0) != nbstring) return 0;  // quick test if
  _adr_EEPROM = 1;
  for (int i = 0; i < nbstring; i++) {
    get_string_from_eeprom(i, stringsOut[i]);
  }
  return 1;
}

int StringsTointEEPROM::find_eeprom_address() {
  _adr_EEPROM = 1;
  return 1;
}

#else
///////////////////////////////////////////////////////////////////////////////////////////
// Version from Paul's Post
//////////////////////////////////////////////////////////////////////////////////////////

class StringsTointEEPROM {
public:
  //constructor
  StringsTointEEPROM();
  // Methods
  void format_eeprom();
  int begin();
  void save_string_to_eeprom(char *stringIn);
  void save_nstrings_to_eeprom(int nbstring, char *stringsIn[]);
  void print_strings_from_eeprom();
  int get_string_from_eeprom(char *stringOut);                     //return 0 if MT
  int get_nstrings_from_eeprom(int nbstring, char *stringsOut[]);  //return 0 if MT
private:
  int find_eeprom_address();
  uint16_t _adr_EEPROM;
};

StringsTointEEPROM::StringsTointEEPROM() {
}

void StringsTointEEPROM::format_eeprom() {
  for (int i = 0; i < EEPROMsiz; i++) EEPROM.write(i, 0xff);
}

int StringsTointEEPROM::begin() {
  return find_eeprom_address();
}

void StringsTointEEPROM::save_string_to_eeprom(char *stringIn) {
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i;
  uint8_t len, val = 0;
  while (val != 0xff) {
    val = EEPROM.read(_adr_EEPROM);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  EEPROM.write(_adr_EEPROM, 0xaa);  //write sync
  _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  len = strlen(stringIn);
  EEPROM.write(_adr_EEPROM, len);  //write nchar
  _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  for (i = 0; i < len; i++) {
    EEPROM.write(_adr_EEPROM, stringIn[i]);  //write string
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  EEPROM.write(_adr_EEPROM, 0xff);  //write end of string
}

void StringsTointEEPROM::save_nstrings_to_eeprom(int nbstring, char *stringsIn[]) {
  // sync (0xaa)
  // nchar(0..255)
  // char[0]
  // char[1]
  //  ..
  // char[nchar-1]
  // 0xff (end of latest string)
  int i, iter = 0;
  uint8_t len, val = 0;
  while (val != 0xff) {
    val = EEPROM.read(_adr_EEPROM);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  while (nbstring > 0) {
    EEPROM.write(_adr_EEPROM, 0xaa);  //write sync
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    len = strlen(stringsIn[iter]);
    EEPROM.write(_adr_EEPROM, len);  //write nchar
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++) {
      EEPROM.write(_adr_EEPROM, stringsIn[iter][i]);  //write string
      _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    }
    nbstring--;
    iter++;
  }
  EEPROM.write(_adr_EEPROM, 0xff);  //write end of string
}
void StringsTointEEPROM::print_strings_from_eeprom() {
  int i, cntr = 0;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff)  //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  while (1)  //display all strings that were stored in EEPROM in FIFO order
  {
    val = EEPROM.read(adr_EEPROM);
    while (val != 0xaa)  //find sync (could be long if EEPROM not full)
    {
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
      val = EEPROM.read(adr_EEPROM);
      cntr++;
      if (cntr == EEPROMsiz) {
        Serial.println("EEPROM is  MT");
        break;
      }
    }  //while (val!=0xaa)
    if (cntr == EEPROMsiz) break;
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    len = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++) {
      Serial.print((char)EEPROM.read(adr_EEPROM));
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    }  //for(i = 0; i < len; i++)
    Serial.println();
    val = EEPROM.read(adr_EEPROM);
    if (val == 0xff) break;  //break if EEPROM not full or 1 full circle
    else
      val = 0;
  }  //while(1)
}

int StringsTointEEPROM::get_string_from_eeprom(char *stringOut) {
  //get latest string from eeprom
  int i, cntr = 0;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff)  //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;
  while (val != 0xaa)  //find sync
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;  //back up
    cntr++;
    if (cntr == EEPROMsiz) break;  //EEPROM is MT
  }                                //while (val!=0xaa)
  if (cntr == EEPROMsiz) return 0;
  adr_EEPROM = (adr_EEPROM + 2) % EEPROMsiz;  //get to len
  len = EEPROM.read(adr_EEPROM);
  adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  for (i = 0; i < len; i++) {
    stringOut[i] = (char)EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }  //for(i = 1; i < len; i++)
  stringOut[len] = '\0';
  return 1;
}

int StringsTointEEPROM::get_nstrings_from_eeprom(int nbstring, char *stringsOut[]) {
  int i, cntr = 0, stringno;
  uint8_t len, val = 0;
  uint16_t adr_EEPROM = _adr_EEPROM;
  while (val != 0xff)  //find end of latest string
  {
    val = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
  }
  adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;
  for (stringno = 0; stringno < nbstring; stringno++) {
    while (val != 0xaa)  //find sync
    {
      val = EEPROM.read(adr_EEPROM);
      adr_EEPROM = (adr_EEPROM - 1) % EEPROMsiz;  //back up
      cntr++;
      if (cntr == EEPROMsiz) break;  //EEPROM is MT
    }                                //while (val!=0xaa)
    val = 0;
    if (cntr == EEPROMsiz) return 0;
  }                                           //for (stringno=0;stringno<laststring+1;stringno++)
  adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;  //get to len
  for (stringno = 0; stringno < nbstring; stringno++) {
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;  //get to len
    len = EEPROM.read(adr_EEPROM);
    adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    for (i = 0; i < len; i++) {
      stringsOut[stringno][i] = (char)EEPROM.read(adr_EEPROM);
      adr_EEPROM = (adr_EEPROM + 1) % EEPROMsiz;
    }  //for(i = 0; i < len; i++)
    stringsOut[stringno][len] = '\0';
  }  //for (stringno=0;stringno<nbstring;stringno++)
  return 1;
}

int StringsTointEEPROM::find_eeprom_address() {
  uint8_t val = 0;
  int cntr = 0;
  _adr_EEPROM = 0;
  while (val != 0xff) {
    val = EEPROM.read(_adr_EEPROM);
    _adr_EEPROM = (_adr_EEPROM + 1) % EEPROMsiz;
    cntr++;
    if (cntr == EEPROMsiz) return 0;
  }
  _adr_EEPROM = (_adr_EEPROM - 1) % EEPROMsiz;
  return 1;
}


///////////////////////////////////////////////////////////////////////////////////////////
// Test code
//////////////////////////////////////////////////////////////////////////////////////////

#endif


#if defined(ARDUINO_TEENSY40)
#define FLASH_BASEADDR 0x601F0000
#define FLASH_SECTORS 15
#elif defined(ARDUINO_TEENSY41)
#define FLASH_BASEADDR 0x607C0000
#define FLASH_SECTORS 63
#elif defined(ARDUINO_TEENSY_MICROMOD)
#define FLASH_BASEADDR 0x60FC0000
#define FLASH_SECTORS 63
#endif
extern "C" void eepromemu_flash_erase_sector(void *addr);


bool flash_sector_has_data(uint32_t addr) {
  const uint32_t *p = (const uint32_t *)addr;
  for (unsigned int i = 0; i < 4096; i += 4) {
    if (*p++ != 0xFFFFFFFF) return true;
  }
  return false;
}

void wipe_eeprom() {
#if defined(FLASH_BASEADDR) && defined(FLASH_SECTORS)
  Serial.print("Wiping EEPROM");
  uint32_t addr = FLASH_BASEADDR;
  for (unsigned int i = 0; i < FLASH_SECTORS; i++) {
    Serial.print(".");
    if (flash_sector_has_data(addr)) {
      eepromemu_flash_erase_sector((void *)addr);
    }
    addr += 4096;
  }
  Serial.println();
#else
  for (unsigned int i = 0; i < EEPROM.length(); i++) {
    EEPROM.write(i, 0xFF);
  }
#endif
}


#define TABLESIZ 6
StringsTointEEPROM inteeprom;  //internal Arduino EEPROM Library for storing and retreiving c-strings

char eaudgc[10] = "25";
char eaucm[10] = "15";
char eautime[10] = "(05:30)";
char airdgc[10] = "18";
char airhum[10] = "33";
char airtime[10] = "(06:30)";
char *tableadr[] = { eaudgc, eaucm, eautime, airdgc, airhum, airtime };

char sz1[10];
char sz2[10];
char sz3[10];
char sz4[10];
char sz5[10];
char sz6[10];
char *tableadrIn[] = { sz1, sz2, sz3, sz4, sz5, sz6 };


unsigned long int millistart;
unsigned long milliduration;


// STRUCTURE OF A STORED STRING
//-----------------------------
// sync (0xaa)
// nchar(0..255)
// char[0]
// char[1]
//  ..
// char[nchar-1]
// 0xff (end of latest string)
//-----------------------------


void setup() {
  int i, iter, nbytes = 0;
  Serial.begin(115200);
  while (!Serial)
    ;  // wait for Arduino Serial Monitor
  delay(10);
  wipe_eeprom();  // for consistent test result

  //inteeprom.format_eeprom(); //needs to be formatted once
  if (inteeprom.begin() == 0) Serial.println("begin() ERROR, Format the EEPROM");
  for (i = 0; i < TABLESIZ; i++) nbytes += (strlen(tableadr[i]));
  millistart = millis();
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  milliduration = millis() - millistart;
  Serial.print("execution time for save_nstrings_to_eeprom() is ");
  Serial.print((float)milliduration / (float)nbytes);
  Serial.println("ms per byte");
  Serial.println("latest 6 strings read from EEPROM");
  millistart = millis();
  if (inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadr) == 0) Serial.println("EEPROM is MT");  //read string
  milliduration = millis() - millistart;
  Serial.println(eaudgc);
  Serial.println(eaucm);
  Serial.println(eautime);
  Serial.println(airdgc);
  Serial.println(airhum);
  Serial.println(airtime);
  Serial.print("total execution time for get_nstrings_from_eeprom() is ");
  Serial.print(milliduration);
  Serial.println("ms");
  inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  int number_of_errors = 0;
  // debug make copy of first 15 sectors of EEPROM - i.e. whole size of T4
  memcpy(eeprom_copy, (uint8_t *)FLASH_BASEADDR, 4096 * 15);

  for (iter = 0; iter < 5000; iter++) {
    elapsedMicros emLoop;
    bool error_in_this_iteration = false;
    inteeprom.get_nstrings_from_eeprom(TABLESIZ, tableadrIn);
    Serial.print("iter: ");
    Serial.print(iter);
    for (unsigned int i = 0; i < (sizeof(tableadrIn) / sizeof(tableadrIn[0])); i++) {
      if (strcmp(tableadrIn[i], tableadr[i]) != 0) {
        Serial.printf(" %d:%s!=%s", i, tableadrIn[i], tableadr[i]);
        number_of_errors++;
        error_in_this_iteration = true;
      }
    }
    Serial.print(" em: ");
    Serial.println((uint32_t)emLoop);
    if (error_in_this_iteration) {
      Serial.println("####################### Error in Iteration ######################");
      uint8_t *page_addr = (uint8_t *)FLASH_BASEADDR;
      for (int i = 0; i < FLASH_SECTORS; i++) {
        Serial.printf("Page %u addr: %p\n", i, page_addr);
        MemoryHexDump(Serial, &eeprom_copy[4096*i], 4096, true, "Before\n");
        MemoryHexDump(Serial, page_addr, 4096, true, "After\n");
        page_addr += 4096;
      }
      while (Serial.read() != -1);
      Serial.println("Pause - hit any key to continue");
      while (Serial.read() == -1);
      while (Serial.read() != -1);

    }
    delay(1);
    if (strcmp(eaudgc, "25") == 0) strcpy(eaudgc, "1");
    else
      strcpy(eaudgc, "25");  //modify 1st string and test reliability

    // remember to copy eeprom before we update.
    memcpy(eeprom_copy, (uint8_t *)FLASH_BASEADDR, 4096 * 15);
    inteeprom.save_nstrings_to_eeprom(TABLESIZ, tableadr);
  }

  Serial.println("\n*** End of run ***");
  Serial.printf("Count of errors: %d\nStrings: ", number_of_errors);
  for (unsigned int i = 0; i < (sizeof(tableadrIn) / sizeof(tableadrIn[0])); i++) {
    Serial.printf(" %d:%s %s", i, tableadrIn[i], tableadr[i]);
  }
  Serial.println();
  Serial.println("Dump EEPROM pages");
  uint8_t *page_addr = (uint8_t *)FLASH_BASEADDR;
  for (int i = 0; i < FLASH_SECTORS; i++) {
    Serial.printf("Page %u addr: %p\n", i, page_addr);
    MemoryHexDump(Serial, page_addr, 4096, true);
    page_addr += 4096;
  }
}

void loop() {
}

I will put the output from run with error on next post
 
Here is a run that errors using the "Leveling" code:

Code:
Wiping EEPROM...............
execution time for save_nstrings_to_eeprom() is 0.05ms per byte
latest 6 strings read from EEPROM
25
15
(05:30)
18
33
(06:30)
total execution time for get_nstrings_from_eeprom() is 0ms
iter: 0 em: 22
iter: 1 em: 18
iter: 2 em: 23
iter: 3 em: 20
iter: 4 em: 26
iter: 5 em: 22
iter: 6 em: 31
iter: 7 em: 29
iter: 8 em: 33
iter: 9 em: 35
iter: 10 em: 33
iter: 11 em: 41
iter: 12 em: 33
iter: 13 em: 40
iter: 14 em: 36
iter: 15 em: 45
iter: 16 em: 45
iter: 17 em: 41
iter: 18 em: 47
iter: 19 em: 42
iter: 20 em: 52
iter: 21 em: 46
iter: 22 em: 58
iter: 23 em: 43
iter: 24 em: 64
iter: 25 em: 54
iter: 26 em: 52
iter: 27 em: 62
iter: 28 em: 62
iter: 29 em: 66
iter: 30 em: 64
iter: 31 em: 68
iter: 32 em: 65
iter: 33 em: 76
iter: 34 em: 72
iter: 35 em: 71
iter: 36 em: 79
iter: 37 em: 67
iter: 38 em: 82
iter: 39 em: 71
iter: 40 em: 89
iter: 41 em: 78
iter: 42 em: 87
iter: 43 em: 88
iter: 44 em: 86
iter: 45 em: 95
iter: 46 em: 93
iter: 47 em: 91
iter: 48 em: 96
iter: 49 em: 99
iter: 50 em: 91
iter: 51 em: 101
iter: 52 em: 100
iter: 53 em: 96
iter: 54 em: 109
iter: 55 em: 100
iter: 56 em: 117
iter: 57 em: 103
iter: 58 em: 115
iter: 59 em: 113
iter: 60 em: 110
iter: 61 em: 116
iter: 62 em: 122
iter: 63 em: 120
iter: 64 em: 125
iter: 65 em: 126
iter: 66 em: 122
iter: 67 em: 130
iter: 68 em: 124
iter: 69 em: 137
iter: 70 em: 143
iter: 71 em: 121
iter: 72 em: 142
iter: 73 em: 129
iter: 74 em: 144
iter: 75 em: 150
iter: 76 em: 155
iter: 77 em: 139
iter: 78 em: 156
iter: 79 em: 147
iter: 80 em: 141
iter: 81 em: 157
iter: 82 em: 151
iter: 83 em: 169
iter: 84 em: 152
iter: 85 em: 167
iter: 86 em: 164
iter: 87 em: 159
iter: 88 em: 166
iter: 89 em: 158
iter: 90 em: 164
iter: 91 em: 159
iter: 92 em: 166
iter: 93 em: 158
iter: 94 em: 184
iter: 95 em: 166
iter: 96 em: 187
iter: 97 em: 170
iter: 98 em: 177
iter: 99 em: 194
iter: 100 em: 175
iter: 101 em: 185
iter: 102 em: 182
iter: 103 em: 178
iter: 104 em: 190
iter: 105 em: 200
iter: 106 em: 203
iter: 107 em: 186
iter: 108 em: 212
iter: 109 em: 189
iter: 110 em: 215
iter: 111 em: 189
iter: 112 em: 207
iter: 113 em: 203
iter: 114 em: 187
iter: 115 em: 204
iter: 116 em: 208
iter: 117 em: 200
iter: 118 em: 218
iter: 119 em: 218
iter: 120 em: 215
iter: 121 0:(06:30)!=1 1:1!=15 2:15!=(05:30) 3:(05:30)!=18 4:18!=33 5:33!=(06:30) em: 267
####################### Error in Iteration ######################
Page 0 addr: 0x601f0000
Before
20200000 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 8 duplicate line(s) removed.
20200090 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
202000A0 - FF FF FF FF 00 AA 01 02  02 32 03 35 04 07 05 28  : ........ .2.5...(
202000B0 - 06 30 07 36 08 31 09 38  0A AA 0B 02 0C 35 0D 3A  : .0.6.1.8 .....5.:
202000C0 - 0E 33 0F 30 10 02 11 31  12 35 13 AA 14 30 15 29  : .3.0...1 .5...0.)
202000D0 - 16 AA 17 02 18 AA 19 07  1A 28 1B 30 1C 02 1D 31  : ........ .(.0...1
202000E0 - 1E 38 1F AA 20 30 21 35  22 3A 23 33 24 AA 25 02  : .8.. 0!5 ":#3$.%.
202000F0 - 26 31 27 35 28 3A 29 33  2A 30 2B 29 2C 33 2D 33  : &1'5(:)3 *0+),3-3
20200100 - 2E AA 2F 07 30 29 31 AA  32 02 33 31 34 07 35 28  : ../.0)1. 2.314.5(
20200110 - 36 30 37 35 38 32 39 35  3A AA 3B 02 3C 36 3D 3A  : 60758295 :.;.<6=:
20200120 - 3E 33 3F 30 40 02 41 33  42 33 43 AA 44 30 45 29  : >3?0@.A3 B3C.D0E)
20200130 - 46 AA 47 02 00 31 01 38  02 AA 03 02 04 35 05 3A  : F.G..1.8 .....5.:
20200140 - 06 33 07 30 08 02 09 31  0A 35 0B AA 0C 33 0D 30  : .3.0...1 .5...3.0
20200150 - 0E 29 0F FF 0F AA 10 33  11 AA 12 07 13 28 14 AA  : .).....3 .....(..
20200160 - 15 02 16 31 17 38 18 28  19 30 1A 35 1B 3A 1C 35  : ...1.8.( .0.5.:.5
20200170 - 1D AA 1E 02 1F 31 20 3A  21 33 22 30 23 29 24 33  : .....1 : !3"0#)$3
20200180 - 25 33 26 AA 27 07 28 29  29 AA 2A 02 2B 31 2C 07  : %3&.'.() ).*.+1,.
20200190 - 2D 28 2E 30 2F 35 30 01  31 31 32 AA 33 02 34 30  : -(.0/50. 112.3.40
202001A0 - 35 36 36 3A 37 33 38 AA  39 02 3A 33 3B 33 3C 33  : 566:738. 9.:3;3<3
202001B0 - 3D 30 3E 29 3F AA 40 35  41 AA 42 07 43 28 44 FF  : =0>)?.@5 A.B.C(D.
202001C0 - 44 AA 45 02 46 32 47 35  00 AA 01 02 02 31 03 35  : D.E.F2G5 .....1.5
202001D0 - 04 33 05 30 06 29 07 FF  07 AA 08 33 09 AA 0A 07  : .3.0.).. ...3....
202001E0 - 0B 28 0C AA 0D 02 0E 31  0F 38 10 28 11 30 12 35  : .(.....1 .8.(.0.5
202001F0 - 13 3A 14 31 15 AA 16 02  17 31 18 36 19 3A 1A 33  : .:.1.... .1.6.:.3
20200200 - 1B 30 1C 02 1D 33 1E 33  1F AA 20 30 21 29 22 AA  : .0...3.3 .. 0!)".
20200210 - 23 02 24 AA 25 07 26 28  27 30 28 02 29 32 2A 35  : #.$.%.&( '0(.)2*5
20200220 - 2B AA 2C 30 2D 36 2E 3A  2F 33 30 AA 31 02 32 33  : +.,0-6.: /30.1.23
20200230 - 33 33 34 33 35 30 36 29  37 AA 38 35 39 AA 3A 07  : 3343506) 7.859.:.
20200240 - 3B 28 3C 29 3D FF 3D AA  3E 01 3F 31 40 07 41 28  : ;(<)=.=. >.?1@.A(
20200250 - 42 30 43 36 44 31 45 38  46 AA 47 02 00 33 01 33  : B0C6D1E8 F.G..3.3
20200260 - 02 AA 03 07 04 29 05 AA  06 02 07 31 08 07 09 28  : .....).. ...1...(
20200270 - 0A 30 0B 35 0C 32 0D 35  0E AA 0F 02 10 36 11 3A  : .0.5.2.5 .....6.:
20200280 - 12 33 13 30 14 02 15 33  16 33 17 AA 18 30 19 29  : .3.0...3 .3...0.)
20200290 - 1A AA 1B 02 1C AA 1D 07  1E 28 1F 30 20 FF 20 AA  : ........ .(.0 . .
202002A0 - 21 01 22 31 23 AA 24 28  25 30 26 36 27 3A 28 38  : !."1#.$( %0&6':(8
202002B0 - 29 AA 2A 02 2B 33 2C 3A  2D 33 2E 30 2F 29 30 31  : ).*.+3,: -3.0/)01
202002C0 - 31 35 32 AA 33 07 34 29  35 FF 35 AA 36 02 37 32  : 152.3.4) 5.5.6.72
202002D0 - 38 07 39 28 3A 30 3B 36  3C 31 3D 38 3E AA 3F 02  : 8.9(:0;6 <1=8>.?.
202002E0 - 40 35 41 3A 42 33 43 30  FF FF FF FF FF FF FF FF  : @5A:B3C0 ........
202002F0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 207 duplicate line(s) removed.
20200FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F0000 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 8 duplicate line(s) removed.
601F0090 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
601F00A0 - FF FF FF FF 00 AA 01 02  02 32 03 35 04 07 05 28  : ........ .2.5...(
601F00B0 - 06 30 07 36 08 31 09 38  0A AA 0B 02 0C 35 0D 3A  : .0.6.1.8 .....5.:
601F00C0 - 0E 33 0F 30 10 02 11 31  12 35 13 AA 14 30 15 29  : .3.0...1 .5...0.)
601F00D0 - 16 AA 17 02 18 AA 19 07  1A 28 1B 30 1C 02 1D 31  : ........ .(.0...1
601F00E0 - 1E 38 1F AA 20 30 21 35  22 3A 23 33 24 AA 25 02  : .8.. 0!5 ":#3$.%.
601F00F0 - 26 31 27 35 28 3A 29 33  2A 30 2B 29 2C 33 2D 33  : &1'5(:)3 *0+),3-3
601F0100 - 2E AA 2F 07 30 29 31 AA  32 02 33 31 34 07 35 28  : ../.0)1. 2.314.5(
601F0110 - 36 30 37 35 38 32 39 35  3A AA 3B 02 3C 36 3D 3A  : 60758295 :.;.<6=:
601F0120 - 3E 33 3F 30 40 02 41 33  42 33 43 AA 44 30 45 29  : >3?0@.A3 B3C.D0E)
601F0130 - 46 AA 47 02 00 31 01 38  02 AA 03 02 04 35 05 3A  : F.G..1.8 .....5.:
601F0140 - 06 33 07 30 08 02 09 31  0A 35 0B AA 0C 33 0D 30  : .3.0...1 .5...3.0
601F0150 - 0E 29 0F FF 0F AA 10 33  11 AA 12 07 13 28 14 AA  : .).....3 .....(..
601F0160 - 15 02 16 31 17 38 18 28  19 30 1A 35 1B 3A 1C 35  : ...1.8.( .0.5.:.5
601F0170 - 1D AA 1E 02 1F 31 20 3A  21 33 22 30 23 29 24 33  : .....1 : !3"0#)$3
601F0180 - 25 33 26 AA 27 07 28 29  29 AA 2A 02 2B 31 2C 07  : %3&.'.() ).*.+1,.
601F0190 - 2D 28 2E 30 2F 35 30 01  31 31 32 AA 33 02 34 30  : -(.0/50. 112.3.40
601F01A0 - 35 36 36 3A 37 33 38 AA  39 02 3A 33 3B 33 3C 33  : 566:738. 9.:3;3<3
601F01B0 - 3D 30 3E 29 3F AA 40 35  41 AA 42 07 43 28 44 FF  : =0>)?.@5 A.B.C(D.
601F01C0 - 44 AA 45 02 46 32 47 35  00 AA 01 02 02 31 03 35  : D.E.F2G5 .....1.5
601F01D0 - 04 33 05 30 06 29 07 FF  07 AA 08 33 09 AA 0A 07  : .3.0.).. ...3....
601F01E0 - 0B 28 0C AA 0D 02 0E 31  0F 38 10 28 11 30 12 35  : .(.....1 .8.(.0.5
601F01F0 - 13 3A 14 31 15 AA 16 02  17 31 18 36 19 3A 1A 33  : .:.1.... .1.6.:.3
601F0200 - 1B 30 1C 02 1D 33 1E 33  1F AA 20 30 21 29 22 AA  : .0...3.3 .. 0!)".
601F0210 - 23 02 24 AA 25 07 26 28  27 30 28 02 29 32 2A 35  : #.$.%.&( '0(.)2*5
601F0220 - 2B AA 2C 30 2D 36 2E 3A  2F 33 30 AA 31 02 32 33  : +.,0-6.: /30.1.23
601F0230 - 33 33 34 33 35 30 36 29  37 AA 38 35 39 AA 3A 07  : 3343506) 7.859.:.
601F0240 - 3B 28 3C 29 3D FF 3D AA  3E 01 3F 31 40 07 41 28  : ;(<)=.=. >.?1@.A(
601F0250 - 42 30 43 36 44 31 45 38  46 AA 47 02 00 33 01 33  : B0C6D1E8 F.G..3.3
601F0260 - 02 AA 03 07 04 29 05 AA  06 02 07 31 08 07 09 28  : .....).. ...1...(
601F0270 - 0A 30 0B 35 0C 32 0D 35  0E AA 0F 02 10 36 11 3A  : .0.5.2.5 .....6.:
601F0280 - 12 33 13 30 14 02 15 33  16 33 17 AA 18 30 19 29  : .3.0...3 .3...0.)
601F0290 - 1A AA 1B 02 1C AA 1D 07  1E 28 1F 30 20 FF 20 AA  : ........ .(.0 . .
601F02A0 - 21 01 22 31 23 AA 24 28  25 30 26 36 27 3A 28 38  : !."1#.$( %0&6':(8
601F02B0 - 29 AA 2A 02 2B 33 2C 3A  2D 33 2E 30 2F 29 30 31  : ).*.+3,: -3.0/)01
601F02C0 - 31 35 32 AA 33 07 34 29  35 FF 35 AA 36 02 37 32  : 152.3.4) 5.5.6.72
601F02D0 - 38 07 39 28 3A 30 3B 36  3C 31 3D 38 3E AA 3F 02  : 8.9(:0;6 <1=8>.?.
601F02E0 - 40 35 41 3A 42 33 43 30  44 02 45 31 46 35 47 AA  : @5A:B3C0 D.E1F5G.
601F02F0 - 00 07 01 28 02 30 03 35  FF FF FF FF FF FF FF FF  : ...(.0.5 ........
601F0300 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 206 duplicate line(s) removed.
601F0FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 1 addr: 0x601f1000
Before
20201000 - 00 AA 01 02 02 31 03 35  04 3A 05 33 06 30 07 29  : .....1.5 .:.3.0.)
20201010 - 08 33 09 33 0A AA 0B 07  0C 29 0D AA 0E 02 0F 31  : .3.3.... .).....1
20201020 - 10 07 11 28 12 30 13 35  14 32 15 35 16 AA 17 02  : ...(.0.5 .2.5....
20201030 - 18 36 19 3A 1A 33 1B 30  1C 02 1D 33 1E 33 1F AA  : .6.:.3.0 ...3.3..
20201040 - 20 30 21 29 22 AA 23 02  24 AA 25 07 26 28 27 30  :  0!)".#. $.%.&('0
20201050 - 28 AA 29 01 2A 31 2B AA  2C 28 2D 30 2E 36 2F 3A  : (.).*1+. ,(-0.6/:
20201060 - 30 38 31 AA 32 02 33 33  34 3A 35 33 36 30 37 29  : 081.2.33 4:53607)
20201070 - 38 31 39 35 3A AA 3B 07  3C 29 3D AA 3E 02 3F 32  : 8195:.;. <)=.>.?2
20201080 - 40 07 41 28 42 30 43 36  00 33 01 33 02 AA 03 07  : @.A(B0C6 .3.3....
20201090 - 04 29 05 AA 06 02 07 31  08 07 09 28 0A 30 0B 35  : .).....1 ...(.0.5
202010A0 - 0C 01 0D 31 0E AA 0F 02  10 30 11 36 12 3A 13 33  : ...1.... .0.6.:.3
202010B0 - 14 AA 15 02 16 33 17 33  18 33 19 30 1A 29 1B AA  : .....3.3 .3.0.)..
202010C0 - 1C 35 1D AA 1E 07 1F 28  20 FF 20 AA 21 02 22 32  : .5.....(  . .!."2
202010D0 - 23 35 24 28 25 30 26 36  27 3A 28 38 29 AA 2A 02  : #5$(%0&6 ':(8).*.
202010E0 - 2B 33 2C 3A 2D 33 2E 30  2F 29 30 31 31 35 32 AA  : +3,:-3.0 /)01152.
202010F0 - 33 07 34 30 35 29 36 FF  36 AA 37 01 38 AA 39 07  : 3.405)6. 6.7.8.9.
20201100 - 3A 28 3B 30 3C 02 3D 31  3E 38 3F AA 40 30 41 35  : :(;0<.=1 >8?.@0A5
20201110 - 42 3A 43 33 00 AA 01 07  02 28 03 30 04 02 05 32  : B:C3.... .(.0...2
20201120 - 06 35 07 AA 08 30 09 36  0A 3A 0B 33 0C AA 0D 02  : .5...0.6 .:.3....
20201130 - 0E 33 0F 33 10 33 11 30  12 29 13 AA 14 35 15 AA  : .3.3.3.0 .)...5..
20201140 - 16 07 17 28 18 29 19 FF  19 AA 1A 01 1B 31 1C 07  : ...(.).. .....1..
20201150 - 1D 28 1E 30 1F 36 20 31  21 38 22 AA 23 02 24 35  : .(.0.6 1 !8".#.$5
20201160 - 25 3A 26 33 27 30 28 02  29 31 2A 35 2B AA 2C 30  : %:&3'0(. )1*5+.,0
20201170 - 2D 29 2E FF 2E AA 2F 02  30 AA 31 07 32 28 33 30  : -)..../. 0.1.2(30
20201180 - 34 02 35 31 36 38 37 AA  38 30 39 35 3A 3A 3B 33  : 4.51687. 8095::;3
20201190 - 3C AA 3D 02 3E 31 3F 35  40 3A 41 33 42 30 43 29  : <.=.>1?5 @:A3B0C)
202011A0 - 00 28 01 30 02 36 03 3A  04 38 05 AA 06 02 07 33  : .(.0.6.: .8.....3
202011B0 - 08 3A 09 33 0A 30 0B 29  0C 31 0D 35 0E AA 0F 07  : .:.3.0.) .1.5....
202011C0 - 10 29 11 FF 11 AA 12 02  13 32 14 07 15 28 16 30  : .)...... .2...(.0
202011D0 - 17 36 18 31 19 38 1A AA  1B 02 1C 35 1D 3A 1E 33  : .6.1.8.. ...5.:.3
202011E0 - 1F 30 20 02 21 31 22 35  23 AA 24 33 25 30 26 29  : .0 .!1"5 #.$3%0&)
202011F0 - 27 FF 27 AA 28 33 29 AA  2A 07 2B 28 2C AA 2D 02  : '.'.(3). *.+(,.-.
20201200 - 2E 31 2F 38 30 28 31 30  32 35 33 3A 34 35 35 AA  : .1/80(10 253:455.
20201210 - 36 02 37 31 38 3A 39 33  3A 30 3B 29 3C 33 3D 33  : 6.718:93 :0;)<3=3
20201220 - 3E AA 3F 07 40 29 41 AA  42 02 43 31 FF FF FF FF  : >.?.@)A. B.C1....
20201230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20201FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F1000 - 00 AA 01 02 02 31 03 35  04 3A 05 33 06 30 07 29  : .....1.5 .:.3.0.)
601F1010 - 08 33 09 33 0A AA 0B 07  0C 29 0D AA 0E 02 0F 31  : .3.3.... .).....1
601F1020 - 10 07 11 28 12 30 13 35  14 32 15 35 16 AA 17 02  : ...(.0.5 .2.5....
601F1030 - 18 36 19 3A 1A 33 1B 30  1C 02 1D 33 1E 33 1F AA  : .6.:.3.0 ...3.3..
601F1040 - 20 30 21 29 22 AA 23 02  24 AA 25 07 26 28 27 30  :  0!)".#. $.%.&('0
601F1050 - 28 AA 29 01 2A 31 2B AA  2C 28 2D 30 2E 36 2F 3A  : (.).*1+. ,(-0.6/:
601F1060 - 30 38 31 AA 32 02 33 33  34 3A 35 33 36 30 37 29  : 081.2.33 4:53607)
601F1070 - 38 31 39 35 3A AA 3B 07  3C 29 3D AA 3E 02 3F 32  : 8195:.;. <)=.>.?2
601F1080 - 40 07 41 28 42 30 43 36  00 33 01 33 02 AA 03 07  : @.A(B0C6 .3.3....
601F1090 - 04 29 05 AA 06 02 07 31  08 07 09 28 0A 30 0B 35  : .).....1 ...(.0.5
601F10A0 - 0C 01 0D 31 0E AA 0F 02  10 30 11 36 12 3A 13 33  : ...1.... .0.6.:.3
601F10B0 - 14 AA 15 02 16 33 17 33  18 33 19 30 1A 29 1B AA  : .....3.3 .3.0.)..
601F10C0 - 1C 35 1D AA 1E 07 1F 28  20 FF 20 AA 21 02 22 32  : .5.....(  . .!."2
601F10D0 - 23 35 24 28 25 30 26 36  27 3A 28 38 29 AA 2A 02  : #5$(%0&6 ':(8).*.
601F10E0 - 2B 33 2C 3A 2D 33 2E 30  2F 29 30 31 31 35 32 AA  : +3,:-3.0 /)01152.
601F10F0 - 33 07 34 30 35 29 36 FF  36 AA 37 01 38 AA 39 07  : 3.405)6. 6.7.8.9.
601F1100 - 3A 28 3B 30 3C 02 3D 31  3E 38 3F AA 40 30 41 35  : :(;0<.=1 >8?.@0A5
601F1110 - 42 3A 43 33 00 AA 01 07  02 28 03 30 04 02 05 32  : B:C3.... .(.0...2
601F1120 - 06 35 07 AA 08 30 09 36  0A 3A 0B 33 0C AA 0D 02  : .5...0.6 .:.3....
601F1130 - 0E 33 0F 33 10 33 11 30  12 29 13 AA 14 35 15 AA  : .3.3.3.0 .)...5..
601F1140 - 16 07 17 28 18 29 19 FF  19 AA 1A 01 1B 31 1C 07  : ...(.).. .....1..
601F1150 - 1D 28 1E 30 1F 36 20 31  21 38 22 AA 23 02 24 35  : .(.0.6 1 !8".#.$5
601F1160 - 25 3A 26 33 27 30 28 02  29 31 2A 35 2B AA 2C 30  : %:&3'0(. )1*5+.,0
601F1170 - 2D 29 2E FF 2E AA 2F 02  30 AA 31 07 32 28 33 30  : -)..../. 0.1.2(30
601F1180 - 34 02 35 31 36 38 37 AA  38 30 39 35 3A 3A 3B 33  : 4.51687. 8095::;3
601F1190 - 3C AA 3D 02 3E 31 3F 35  40 3A 41 33 42 30 43 29  : <.=.>1?5 @:A3B0C)
601F11A0 - 00 28 01 30 02 36 03 3A  04 38 05 AA 06 02 07 33  : .(.0.6.: .8.....3
601F11B0 - 08 3A 09 33 0A 30 0B 29  0C 31 0D 35 0E AA 0F 07  : .:.3.0.) .1.5....
601F11C0 - 10 29 11 FF 11 AA 12 02  13 32 14 07 15 28 16 30  : .)...... .2...(.0
601F11D0 - 17 36 18 31 19 38 1A AA  1B 02 1C 35 1D 3A 1E 33  : .6.1.8.. ...5.:.3
601F11E0 - 1F 30 20 02 21 31 22 35  23 AA 24 33 25 30 26 29  : .0 .!1"5 #.$3%0&)
601F11F0 - 27 FF 27 AA 28 33 29 AA  2A 07 2B 28 2C AA 2D 02  : '.'.(3). *.+(,.-.
601F1200 - 2E 31 2F 38 30 28 31 30  32 35 33 3A 34 35 35 AA  : .1/80(10 253:455.
601F1210 - 36 02 37 31 38 3A 39 33  3A 30 3B 29 3C 33 3D 33  : 6.718:93 :0;)<3=3
601F1220 - 3E AA 3F 07 40 29 41 AA  42 02 43 31 00 3A 01 33  : >.?.@)A. B.C1.:.3
601F1230 - 02 30 03 29 FF FF FF FF  FF FF FF FF FF FF FF FF  : .0.).... ........
601F1240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
601F1FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 2 addr: 0x601f2000
Before
20202000 - FF FF 00 AA 01 07 02 28  03 30 04 AA 05 01 06 31  : .......( .0.....1
20202010 - 07 AA 08 28 09 30 0A 36  0B 3A 0C 38 0D AA 0E 02  : ...(.0.6 .:.8....
20202020 - 0F 33 10 3A 11 33 12 30  13 29 14 31 15 35 16 AA  : .3.:.3.0 .).1.5..
20202030 - 17 07 18 29 19 AA 1A 02  1B 32 1C 07 1D 28 1E 30  : ...).... .2...(.0
20202040 - 1F 36 20 31 21 38 22 AA  23 02 24 35 25 3A 26 33  : .6 1!8". #.$5%:&3
20202050 - 27 30 28 02 29 31 2A 35  2B AA 2C 33 2D 30 2E 29  : '0(.)1*5 +.,3-0.)
20202060 - 2F AA 30 33 31 AA 32 07  33 28 34 AA 35 02 36 31  : /.031.2. 3(4.5.61
20202070 - 37 38 38 28 39 30 3A 35  3B 3A 3C 35 3D AA 3E 02  : 788(90:5 ;:<5=.>.
20202080 - 3F 31 40 3A 41 33 42 30  43 29 00 28 01 30 02 36  : ?1@:A3B0 C).(.0.6
20202090 - 03 3A 04 38 05 AA 06 02  07 33 08 3A 09 33 0A 30  : .:.8.... .3.:.3.0
202020A0 - 0B 29 0C 31 0D 35 0E AA  0F 07 10 30 11 29 12 FF  : .).1.5.. ...0.)..
202020B0 - 12 AA 13 01 14 AA 15 07  16 28 17 30 18 02 19 31  : ........ .(.0...1
202020C0 - 1A 38 1B AA 1C 30 1D 35  1E 3A 1F 33 20 AA 21 02  : .8...0.5 .:.3 .!.
202020D0 - 22 31 23 35 24 33 25 30  26 29 27 FF 27 AA 28 33  : "1#5$3%0 &)'.'.(3
202020E0 - 29 AA 2A 07 2B 28 2C AA  2D 02 2E 31 2F 38 30 28  : ).*.+(,. -..1/80(
202020F0 - 31 30 32 35 33 3A 34 31  35 AA 36 02 37 31 38 36  : 10253:41 5.6.7186
20202100 - 39 3A 3A 33 3B 30 3C 02  3D 33 3E 33 3F AA 40 30  : 9::3;0<. =3>3?.@0
20202110 - 41 29 42 AA 43 02 00 35  01 3A 02 33 03 30 04 02  : A)B.C..5 .:.3.0..
20202120 - 05 31 06 35 07 AA 08 30  09 29 0A FF 0A AA 0B 02  : .1.5...0 .)......
20202130 - 0C AA 0D 07 0E 28 0F 30  10 02 11 31 12 38 13 AA  : .....(.0 ...1.8..
20202140 - 14 30 15 35 16 3A 17 33  18 AA 19 02 1A 31 1B 35  : .0.5.:.3 .....1.5
20202150 - 1C 3A 1D 33 1E 30 1F 29  20 33 21 33 22 AA 23 07  : .:.3.0.)  3!3".#.
20202160 - 24 29 25 AA 26 02 27 31  28 07 29 28 2A 30 2B 35  : $)%.&.'1 (.)(*0+5
20202170 - 2C 32 2D 35 2E AA 2F 02  30 36 31 3A 32 33 33 30  : ,2-5../. 061:2330
20202180 - 34 02 35 33 36 33 37 AA  38 30 39 29 3A AA 3B 02  : 4.53637. 809):.;.
20202190 - 3C AA 3D 07 3E 28 3F 30  40 FF 40 AA 41 01 42 31  : <.=.>(?0 @.@.A.B1
202021A0 - 43 AA 00 33 01 30 02 29  03 FF 03 AA 04 33 05 AA  : C..3.0.) .....3..
202021B0 - 06 07 07 28 08 AA 09 02  0A 31 0B 38 0C 28 0D 30  : ...(.... .1.8.(.0
202021C0 - 0E 35 0F 3A 10 35 11 AA  12 02 13 31 14 3A 15 33  : .5.:.5.. ...1.:.3
202021D0 - 16 30 17 29 18 33 19 33  1A AA 1B 07 1C 29 1D AA  : .0.).3.3 .....)..
202021E0 - 1E 02 1F 31 20 07 21 28  22 30 23 35 24 01 25 31  : ...1 .!( "0#5$.%1
202021F0 - 26 AA 27 02 28 30 29 36  2A 3A 2B 33 2C AA 2D 02  : &.'.(0)6 *:+3,.-.
20202200 - 2E 33 2F 33 30 33 31 30  32 29 33 AA 34 35 35 AA  : .3/30310 2)3.455.
20202210 - 36 07 37 28 38 FF 38 AA  39 02 3A 32 3B 35 3C 28  : 6.7(8.8. 9.:2;5<(
20202220 - 3D 30 3E 36 3F 3A 40 38  41 AA 42 02 43 33 FF FF  : =0>6?:@8 A.B.C3..
20202230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20202FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F2000 - FF FF 00 AA 01 07 02 28  03 30 04 AA 05 01 06 31  : .......( .0.....1
601F2010 - 07 AA 08 28 09 30 0A 36  0B 3A 0C 38 0D AA 0E 02  : ...(.0.6 .:.8....
601F2020 - 0F 33 10 3A 11 33 12 30  13 29 14 31 15 35 16 AA  : .3.:.3.0 .).1.5..
601F2030 - 17 07 18 29 19 AA 1A 02  1B 32 1C 07 1D 28 1E 30  : ...).... .2...(.0
601F2040 - 1F 36 20 31 21 38 22 AA  23 02 24 35 25 3A 26 33  : .6 1!8". #.$5%:&3
601F2050 - 27 30 28 02 29 31 2A 35  2B AA 2C 33 2D 30 2E 29  : '0(.)1*5 +.,3-0.)
601F2060 - 2F AA 30 33 31 AA 32 07  33 28 34 AA 35 02 36 31  : /.031.2. 3(4.5.61
601F2070 - 37 38 38 28 39 30 3A 35  3B 3A 3C 35 3D AA 3E 02  : 788(90:5 ;:<5=.>.
601F2080 - 3F 31 40 3A 41 33 42 30  43 29 00 28 01 30 02 36  : ?1@:A3B0 C).(.0.6
601F2090 - 03 3A 04 38 05 AA 06 02  07 33 08 3A 09 33 0A 30  : .:.8.... .3.:.3.0
601F20A0 - 0B 29 0C 31 0D 35 0E AA  0F 07 10 30 11 29 12 FF  : .).1.5.. ...0.)..
601F20B0 - 12 AA 13 01 14 AA 15 07  16 28 17 30 18 02 19 31  : ........ .(.0...1
601F20C0 - 1A 38 1B AA 1C 30 1D 35  1E 3A 1F 33 20 AA 21 02  : .8...0.5 .:.3 .!.
601F20D0 - 22 31 23 35 24 33 25 30  26 29 27 FF 27 AA 28 33  : "1#5$3%0 &)'.'.(3
601F20E0 - 29 AA 2A 07 2B 28 2C AA  2D 02 2E 31 2F 38 30 28  : ).*.+(,. -..1/80(
601F20F0 - 31 30 32 35 33 3A 34 31  35 AA 36 02 37 31 38 36  : 10253:41 5.6.7186
601F2100 - 39 3A 3A 33 3B 30 3C 02  3D 33 3E 33 3F AA 40 30  : 9::3;0<. =3>3?.@0
601F2110 - 41 29 42 AA 43 02 00 35  01 3A 02 33 03 30 04 02  : A)B.C..5 .:.3.0..
601F2120 - 05 31 06 35 07 AA 08 30  09 29 0A FF 0A AA 0B 02  : .1.5...0 .)......
601F2130 - 0C AA 0D 07 0E 28 0F 30  10 02 11 31 12 38 13 AA  : .....(.0 ...1.8..
601F2140 - 14 30 15 35 16 3A 17 33  18 AA 19 02 1A 31 1B 35  : .0.5.:.3 .....1.5
601F2150 - 1C 3A 1D 33 1E 30 1F 29  20 33 21 33 22 AA 23 07  : .:.3.0.)  3!3".#.
601F2160 - 24 29 25 AA 26 02 27 31  28 07 29 28 2A 30 2B 35  : $)%.&.'1 (.)(*0+5
601F2170 - 2C 32 2D 35 2E AA 2F 02  30 36 31 3A 32 33 33 30  : ,2-5../. 061:2330
601F2180 - 34 02 35 33 36 33 37 AA  38 30 39 29 3A AA 3B 02  : 4.53637. 809):.;.
601F2190 - 3C AA 3D 07 3E 28 3F 30  40 FF 40 AA 41 01 42 31  : <.=.>(?0 @.@.A.B1
601F21A0 - 43 AA 00 33 01 30 02 29  03 FF 03 AA 04 33 05 AA  : C..3.0.) .....3..
601F21B0 - 06 07 07 28 08 AA 09 02  0A 31 0B 38 0C 28 0D 30  : ...(.... .1.8.(.0
601F21C0 - 0E 35 0F 3A 10 35 11 AA  12 02 13 31 14 3A 15 33  : .5.:.5.. ...1.:.3
601F21D0 - 16 30 17 29 18 33 19 33  1A AA 1B 07 1C 29 1D AA  : .0.).3.3 .....)..
601F21E0 - 1E 02 1F 31 20 07 21 28  22 30 23 35 24 01 25 31  : ...1 .!( "0#5$.%1
601F21F0 - 26 AA 27 02 28 30 29 36  2A 3A 2B 33 2C AA 2D 02  : &.'.(0)6 *:+3,.-.
601F2200 - 2E 33 2F 33 30 33 31 30  32 29 33 AA 34 35 35 AA  : .3/30310 2)3.455.
601F2210 - 36 07 37 28 38 FF 38 AA  39 02 3A 32 3B 35 3C 28  : 6.7(8.8. 9.:2;5<(
601F2220 - 3D 30 3E 36 3F 3A 40 38  41 AA 42 02 43 33 00 AA  : =0>6?:@8 A.B.C3..
601F2230 - 01 02 02 31 03 38 FF FF  FF FF FF FF FF FF FF FF  : ...1.8.. ........
601F2240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
601F2FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 3 addr: 0x601f3000
Before
20203000 - FF FF 00 35 01 3A 02 33  03 30 04 02 05 31 06 35  : ...5.:.3 .0...1.5
20203010 - 07 AA 08 33 09 30 0A 29  0B AA 0C 33 0D AA 0E 07  : ...3.0.) ...3....
20203020 - 0F 28 10 AA 11 02 12 31  13 38 14 28 15 30 16 35  : .(.....1 .8.(.0.5
20203030 - 17 3A 18 35 19 AA 1A 02  1B 31 1C 3A 1D 33 1E 30  : .:.5.... .1.:.3.0
20203040 - 1F 29 20 33 21 33 22 AA  23 07 24 29 25 AA 26 02  : .) 3!3". #.$)%.&.
20203050 - 27 31 28 07 29 28 2A 30  2B 35 2C 01 2D 31 2E AA  : '1(.)(*0 +5,.-1..
20203060 - 2F 02 30 30 31 36 32 3A  33 33 34 AA 35 02 36 33  : /.00162: 334.5.63
20203070 - 37 33 38 33 39 30 3A 29  3B AA 3C 35 3D AA 3E 07  : 738390:) ;.<5=.>.
20203080 - 3F 28 40 AA 41 02 42 32  43 35 00 33 01 30 02 29  : ?(@.A.B2 C5.3.0.)
20203090 - 03 FF 03 AA 04 33 05 AA  06 07 07 28 08 AA 09 02  : .....3.. ...(....
202030A0 - 0A 31 0B 38 0C 28 0D 30  0E 35 0F 3A 10 31 11 AA  : .1.8.(.0 .5.:.1..
202030B0 - 12 02 13 31 14 36 15 3A  16 33 17 30 18 02 19 33  : ...1.6.: .3.0...3
202030C0 - 1A 33 1B AA 1C 30 1D 29  1E AA 1F 02 20 AA 21 07  : .3...0.) .... .!.
202030D0 - 22 28 23 30 24 02 25 32  26 35 27 AA 28 30 29 36  : "(#0$.%2 &5'.(0)6
202030E0 - 2A 3A 2B 33 2C AA 2D 02  2E 33 2F 33 30 33 31 30  : *:+3,.-. .3/30310
202030F0 - 32 29 33 AA 34 35 35 AA  36 07 37 28 38 29 39 FF  : 2)3.455. 6.7(8)9.
20203100 - 39 AA 3A 01 3B 31 3C 07  3D 28 3E 30 3F 36 40 31  : 9.:.;1<. =(>0?6@1
20203110 - 41 38 42 AA 43 02 00 29  01 AA 02 02 03 31 04 07  : A8B.C..) .....1..
20203120 - 05 28 06 30 07 35 08 32  09 35 0A AA 0B 02 0C 36  : .(.0.5.2 .5.....6
20203130 - 0D 3A 0E 33 0F 30 10 02  11 33 12 33 13 AA 14 30  : .:.3.0.. .3.3...0
20203140 - 15 29 16 AA 17 02 18 AA  19 07 1A 28 1B 30 1C FF  : .)...... ...(.0..
20203150 - 1C AA 1D 01 1E 31 1F AA  20 28 21 30 22 36 23 3A  : .....1..  (!0"6#:
20203160 - 24 38 25 AA 26 02 27 33  28 3A 29 33 2A 30 2B 29  : $8%.&.'3 (:)3*0+)
20203170 - 2C 31 2D 35 2E AA 2F 07  30 29 31 FF 31 AA 32 02  : ,1-5../. 0)1.1.2.
20203180 - 33 32 34 07 35 28 36 30  37 36 38 31 39 38 3A AA  : 324.5(60 768198:.
20203190 - 3B 02 3C 35 3D 3A 3E 33  3F 30 40 02 41 31 42 35  : ;.<5=:>3 ?0@.A1B5
202031A0 - 43 AA 00 01 01 31 02 AA  03 02 04 30 05 36 06 3A  : C....1.. ...0.6.:
202031B0 - 07 33 08 AA 09 02 0A 33  0B 33 0C 33 0D 30 0E 29  : .3.....3 .3.3.0.)
202031C0 - 0F AA 10 35 11 AA 12 07  13 28 14 FF 14 AA 15 02  : ...5.... .(......
202031D0 - 16 32 17 35 18 28 19 30  1A 36 1B 3A 1C 38 1D AA  : .2.5.(.0 .6.:.8..
202031E0 - 1E 02 1F 33 20 3A 21 33  22 30 23 29 24 31 25 35  : ...3 :!3 "0#)$1%5
202031F0 - 26 AA 27 07 28 30 29 29  2A FF 2A AA 2B 01 2C AA  : &.'.(0)) *.*.+.,.
20203200 - 2D 07 2E 28 2F 30 30 02  31 31 32 38 33 AA 34 30  : -..(/00. 11283.40
20203210 - 35 35 36 3A 37 33 38 AA  39 02 3A 31 3B 35 3C 33  : 556:738. 9.:1;5<3
20203220 - 3D 30 3E 29 3F FF 3F AA  40 33 41 AA 42 07 43 28  : =0>)?.?. @3A.B.C(
20203230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20203FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F3000 - FF FF 00 35 01 3A 02 33  03 30 04 02 05 31 06 35  : ...5.:.3 .0...1.5
601F3010 - 07 AA 08 33 09 30 0A 29  0B AA 0C 33 0D AA 0E 07  : ...3.0.) ...3....
601F3020 - 0F 28 10 AA 11 02 12 31  13 38 14 28 15 30 16 35  : .(.....1 .8.(.0.5
601F3030 - 17 3A 18 35 19 AA 1A 02  1B 31 1C 3A 1D 33 1E 30  : .:.5.... .1.:.3.0
601F3040 - 1F 29 20 33 21 33 22 AA  23 07 24 29 25 AA 26 02  : .) 3!3". #.$)%.&.
601F3050 - 27 31 28 07 29 28 2A 30  2B 35 2C 01 2D 31 2E AA  : '1(.)(*0 +5,.-1..
601F3060 - 2F 02 30 30 31 36 32 3A  33 33 34 AA 35 02 36 33  : /.00162: 334.5.63
601F3070 - 37 33 38 33 39 30 3A 29  3B AA 3C 35 3D AA 3E 07  : 738390:) ;.<5=.>.
601F3080 - 3F 28 40 AA 41 02 42 32  43 35 00 33 01 30 02 29  : ?(@.A.B2 C5.3.0.)
601F3090 - 03 FF 03 AA 04 33 05 AA  06 07 07 28 08 AA 09 02  : .....3.. ...(....
601F30A0 - 0A 31 0B 38 0C 28 0D 30  0E 35 0F 3A 10 31 11 AA  : .1.8.(.0 .5.:.1..
601F30B0 - 12 02 13 31 14 36 15 3A  16 33 17 30 18 02 19 33  : ...1.6.: .3.0...3
601F30C0 - 1A 33 1B AA 1C 30 1D 29  1E AA 1F 02 20 AA 21 07  : .3...0.) .... .!.
601F30D0 - 22 28 23 30 24 02 25 32  26 35 27 AA 28 30 29 36  : "(#0$.%2 &5'.(0)6
601F30E0 - 2A 3A 2B 33 2C AA 2D 02  2E 33 2F 33 30 33 31 30  : *:+3,.-. .3/30310
601F30F0 - 32 29 33 AA 34 35 35 AA  36 07 37 28 38 29 39 FF  : 2)3.455. 6.7(8)9.
601F3100 - 39 AA 3A 01 3B 31 3C 07  3D 28 3E 30 3F 36 40 31  : 9.:.;1<. =(>0?6@1
601F3110 - 41 38 42 AA 43 02 00 29  01 AA 02 02 03 31 04 07  : A8B.C..) .....1..
601F3120 - 05 28 06 30 07 35 08 32  09 35 0A AA 0B 02 0C 36  : .(.0.5.2 .5.....6
601F3130 - 0D 3A 0E 33 0F 30 10 02  11 33 12 33 13 AA 14 30  : .:.3.0.. .3.3...0
601F3140 - 15 29 16 AA 17 02 18 AA  19 07 1A 28 1B 30 1C FF  : .)...... ...(.0..
601F3150 - 1C AA 1D 01 1E 31 1F AA  20 28 21 30 22 36 23 3A  : .....1..  (!0"6#:
601F3160 - 24 38 25 AA 26 02 27 33  28 3A 29 33 2A 30 2B 29  : $8%.&.'3 (:)3*0+)
601F3170 - 2C 31 2D 35 2E AA 2F 07  30 29 31 FF 31 AA 32 02  : ,1-5../. 0)1.1.2.
601F3180 - 33 32 34 07 35 28 36 30  37 36 38 31 39 38 3A AA  : 324.5(60 768198:.
601F3190 - 3B 02 3C 35 3D 3A 3E 33  3F 30 40 02 41 31 42 35  : ;.<5=:>3 ?0@.A1B5
601F31A0 - 43 AA 00 01 01 31 02 AA  03 02 04 30 05 36 06 3A  : C....1.. ...0.6.:
601F31B0 - 07 33 08 AA 09 02 0A 33  0B 33 0C 33 0D 30 0E 29  : .3.....3 .3.3.0.)
601F31C0 - 0F AA 10 35 11 AA 12 07  13 28 14 FF 14 AA 15 02  : ...5.... .(......
601F31D0 - 16 32 17 35 18 28 19 30  1A 36 1B 3A 1C 38 1D AA  : .2.5.(.0 .6.:.8..
601F31E0 - 1E 02 1F 33 20 3A 21 33  22 30 23 29 24 31 25 35  : ...3 :!3 "0#)$1%5
601F31F0 - 26 AA 27 07 28 30 29 29  2A FF 2A AA 2B 01 2C AA  : &.'.(0)) *.*.+.,.
601F3200 - 2D 07 2E 28 2F 30 30 02  31 31 32 38 33 AA 34 30  : -..(/00. 11283.40
601F3210 - 35 35 36 3A 37 33 38 AA  39 02 3A 31 3B 35 3C 33  : 556:738. 9.:1;5<3
601F3220 - 3D 30 3E 29 3F FF 3F AA  40 33 41 AA 42 07 43 28  : =0>)?.?. @3A.B.C(
601F3230 - 00 AA 01 02 02 33 03 33  FF FF FF FF FF FF FF FF  : .....3.3 ........
601F3240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
601F3FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 4 addr: 0x601f4000
Before
20204000 - 00 29 01 AA 02 02 03 31  04 07 05 28 06 30 07 35  : .).....1 ...(.0.5
20204010 - 08 01 09 31 0A AA 0B 02  0C 30 0D 36 0E 3A 0F 33  : ...1.... .0.6.:.3
20204020 - 10 AA 11 02 12 33 13 33  14 33 15 30 16 29 17 AA  : .....3.3 .3.0.)..
20204030 - 18 35 19 AA 1A 07 1B 28  1C AA 1D 02 1E 32 1F 35  : .5.....( .....2.5
20204040 - 20 28 21 30 22 36 23 3A  24 38 25 AA 26 02 27 33  :  (!0"6#: $8%.&.'3
20204050 - 28 3A 29 33 2A 30 2B 29  2C 31 2D 35 2E AA 2F 07  : (:)3*0+) ,1-5../.
20204060 - 30 30 31 29 32 AA 33 01  34 AA 35 07 36 28 37 30  : 001)2.3. 4.5.6(70
20204070 - 38 02 39 31 3A 38 3B AA  3C 30 3D 35 3E 3A 3F 33  : 8.91:8;. <0=5>:?3
20204080 - 40 AA 41 02 42 31 43 35  00 02 01 32 02 35 03 AA  : @.A.B1C5 ...2.5..
20204090 - 04 30 05 36 06 3A 07 33  08 AA 09 02 0A 33 0B 33  : .0.6.:.3 .....3.3
202040A0 - 0C 33 0D 30 0E 29 0F AA  10 35 11 AA 12 07 13 28  : .3.0.).. .5.....(
202040B0 - 14 29 15 FF 15 AA 16 01  17 31 18 07 19 28 1A 30  : .)...... .1...(.0
202040C0 - 1B 36 1C 31 1D 38 1E AA  1F 02 20 35 21 3A 22 33  : .6.1.8.. .. 5!:"3
202040D0 - 23 30 24 02 25 31 26 35  27 AA 28 30 29 29 2A FF  : #0$.%1&5 '.(0))*.
202040E0 - 2A AA 2B 02 2C AA 2D 07  2E 28 2F 30 30 02 31 31  : *.+.,.-. .(/00.11
202040F0 - 32 38 33 AA 34 30 35 35  36 3A 37 33 38 AA 39 02  : 283.4055 6:738.9.
20204100 - 3A 31 3B 35 3C 3A 3D 33  3E 30 3F 29 40 33 41 33  : :1;5<:=3 >0?)@3A3
20204110 - 42 AA 43 07 00 38 01 AA  02 02 03 33 04 3A 05 33  : B.C..8.. ...3.:.3
20204120 - 06 30 07 29 08 31 09 35  0A AA 0B 07 0C 29 0D FF  : .0.).1.5 .....)..
20204130 - 0D AA 0E 02 0F 32 10 07  11 28 12 30 13 36 14 31  : .....2.. .(.0.6.1
20204140 - 15 38 16 AA 17 02 18 35  19 3A 1A 33 1B 30 1C 02  : .8.....5 .:.3.0..
20204150 - 1D 31 1E 35 1F AA 20 33  21 30 22 29 23 FF 23 AA  : .1.5.. 3 !0")#.#.
20204160 - 24 33 25 AA 26 07 27 28  28 AA 29 02 2A 31 2B 38  : $3%.&.'( (.).*1+8
20204170 - 2C 28 2D 30 2E 35 2F 3A  30 35 31 AA 32 02 33 31  : ,(-0.5/: 051.2.31
20204180 - 34 3A 35 33 36 30 37 29  38 33 39 33 3A AA 3B 07  : 4:53607) 8393:.;.
20204190 - 3C 29 3D AA 3E 02 3F 31  40 07 41 28 42 30 43 35  : <)=.>.?1 @.A(B0C5
202041A0 - 00 31 01 35 02 AA 03 07  04 30 05 29 06 FF 06 AA  : .1.5.... .0.)....
202041B0 - 07 01 08 AA 09 07 0A 28  0B 30 0C 02 0D 31 0E 38  : .......( .0...1.8
202041C0 - 0F AA 10 30 11 35 12 3A  13 33 14 AA 15 02 16 31  : ...0.5.: .3.....1
202041D0 - 17 35 18 33 19 30 1A 29  1B FF 1B AA 1C 33 1D AA  : .5.3.0.) .....3..
202041E0 - 1E 07 1F 28 20 AA 21 02  22 31 23 38 24 28 25 30  : ...( .!. "1#8$(%0
202041F0 - 26 35 27 3A 28 31 29 AA  2A 02 2B 31 2C 36 2D 3A  : &5':(1). *.+1,6-:
20204200 - 2E 33 2F 30 30 02 31 33  32 33 33 AA 34 30 35 29  : .3/00.13 233.405)
20204210 - 36 AA 37 02 38 AA 39 07  3A 28 3B 30 3C 02 3D 32  : 6.7.8.9. :(;0<.=2
20204220 - 3E 35 3F AA 40 30 41 36  42 3A 43 33 FF FF FF FF  : >5?.@0A6 B:C3....
20204230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20204FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F4000 - 00 29 01 AA 02 02 03 31  04 07 05 28 06 30 07 35  : .).....1 ...(.0.5
601F4010 - 08 01 09 31 0A AA 0B 02  0C 30 0D 36 0E 3A 0F 33  : ...1.... .0.6.:.3
601F4020 - 10 AA 11 02 12 33 13 33  14 33 15 30 16 29 17 AA  : .....3.3 .3.0.)..
601F4030 - 18 35 19 AA 1A 07 1B 28  1C AA 1D 02 1E 32 1F 35  : .5.....( .....2.5
601F4040 - 20 28 21 30 22 36 23 3A  24 38 25 AA 26 02 27 33  :  (!0"6#: $8%.&.'3
601F4050 - 28 3A 29 33 2A 30 2B 29  2C 31 2D 35 2E AA 2F 07  : (:)3*0+) ,1-5../.
601F4060 - 30 30 31 29 32 AA 33 01  34 AA 35 07 36 28 37 30  : 001)2.3. 4.5.6(70
601F4070 - 38 02 39 31 3A 38 3B AA  3C 30 3D 35 3E 3A 3F 33  : 8.91:8;. <0=5>:?3
601F4080 - 40 AA 41 02 42 31 43 35  00 02 01 32 02 35 03 AA  : @.A.B1C5 ...2.5..
601F4090 - 04 30 05 36 06 3A 07 33  08 AA 09 02 0A 33 0B 33  : .0.6.:.3 .....3.3
601F40A0 - 0C 33 0D 30 0E 29 0F AA  10 35 11 AA 12 07 13 28  : .3.0.).. .5.....(
601F40B0 - 14 29 15 FF 15 AA 16 01  17 31 18 07 19 28 1A 30  : .)...... .1...(.0
601F40C0 - 1B 36 1C 31 1D 38 1E AA  1F 02 20 35 21 3A 22 33  : .6.1.8.. .. 5!:"3
601F40D0 - 23 30 24 02 25 31 26 35  27 AA 28 30 29 29 2A FF  : #0$.%1&5 '.(0))*.
601F40E0 - 2A AA 2B 02 2C AA 2D 07  2E 28 2F 30 30 02 31 31  : *.+.,.-. .(/00.11
601F40F0 - 32 38 33 AA 34 30 35 35  36 3A 37 33 38 AA 39 02  : 283.4055 6:738.9.
601F4100 - 3A 31 3B 35 3C 3A 3D 33  3E 30 3F 29 40 33 41 33  : :1;5<:=3 >0?)@3A3
601F4110 - 42 AA 43 07 00 38 01 AA  02 02 03 33 04 3A 05 33  : B.C..8.. ...3.:.3
601F4120 - 06 30 07 29 08 31 09 35  0A AA 0B 07 0C 29 0D FF  : .0.).1.5 .....)..
601F4130 - 0D AA 0E 02 0F 32 10 07  11 28 12 30 13 36 14 31  : .....2.. .(.0.6.1
601F4140 - 15 38 16 AA 17 02 18 35  19 3A 1A 33 1B 30 1C 02  : .8.....5 .:.3.0..
601F4150 - 1D 31 1E 35 1F AA 20 33  21 30 22 29 23 FF 23 AA  : .1.5.. 3 !0")#.#.
601F4160 - 24 33 25 AA 26 07 27 28  28 AA 29 02 2A 31 2B 38  : $3%.&.'( (.).*1+8
601F4170 - 2C 28 2D 30 2E 35 2F 3A  30 35 31 AA 32 02 33 31  : ,(-0.5/: 051.2.31
601F4180 - 34 3A 35 33 36 30 37 29  38 33 39 33 3A AA 3B 07  : 4:53607) 8393:.;.
601F4190 - 3C 29 3D AA 3E 02 3F 31  40 07 41 28 42 30 43 35  : <)=.>.?1 @.A(B0C5
601F41A0 - 00 31 01 35 02 AA 03 07  04 30 05 29 06 FF 06 AA  : .1.5.... .0.)....
601F41B0 - 07 01 08 AA 09 07 0A 28  0B 30 0C 02 0D 31 0E 38  : .......( .0...1.8
601F41C0 - 0F AA 10 30 11 35 12 3A  13 33 14 AA 15 02 16 31  : ...0.5.: .3.....1
601F41D0 - 17 35 18 33 19 30 1A 29  1B FF 1B AA 1C 33 1D AA  : .5.3.0.) .....3..
601F41E0 - 1E 07 1F 28 20 AA 21 02  22 31 23 38 24 28 25 30  : ...( .!. "1#8$(%0
601F41F0 - 26 35 27 3A 28 31 29 AA  2A 02 2B 31 2C 36 2D 3A  : &5':(1). *.+1,6-:
601F4200 - 2E 33 2F 30 30 02 31 33  32 33 33 AA 34 30 35 29  : .3/00.13 233.405)
601F4210 - 36 AA 37 02 38 AA 39 07  3A 28 3B 30 3C 02 3D 32  : 6.7.8.9. :(;0<.=2
601F4220 - 3E 35 3F AA 40 30 41 36  42 3A 43 33 00 AA 01 07  : >5?.@0A6 B:C3....
601F4230 - 02 28 03 30 FF FF FF FF  FF FF FF FF FF FF FF FF  : .(.0.... ........
601F4240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
601F4FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 5 addr: 0x601f5000
Before
20205000 - FF FF FF FF FF FF 00 38  01 AA 02 02 03 33 04 3A  : .......8 .....3.:
20205010 - 05 33 06 30 07 29 08 31  09 35 0A AA 0B 07 0C 30  : .3.0.).1 .5.....0
20205020 - 0D 29 0E AA 0F 01 10 AA  11 07 12 28 13 30 14 02  : .)...... ...(.0..
20205030 - 15 31 16 38 17 AA 18 30  19 35 1A 3A 1B 33 1C AA  : .1.8...0 .5.:.3..
20205040 - 1D 02 1E 31 1F 35 20 33  21 30 22 29 23 AA 24 33  : ...1.5 3 !0")#.$3
20205050 - 25 AA 26 07 27 28 28 AA  29 02 2A 31 2B 38 2C 28  : %.&.'((. ).*1+8,(
20205060 - 2D 30 2E 35 2F 3A 30 31  31 AA 32 02 33 31 34 36  : -0.5/:01 1.2.3146
20205070 - 35 3A 36 33 37 30 38 02  39 33 3A 33 3B AA 3C 30  : 5:63708. 93:3;.<0
20205080 - 3D 29 3E AA 3F 02 40 AA  41 07 42 28 43 30 00 02  : =)>.?.@. A.B(C0..
20205090 - 01 31 02 35 03 AA 04 30  05 29 06 FF 06 AA 07 02  : .1.5...0 .)......
202050A0 - 08 AA 09 07 0A 28 0B 30  0C 02 0D 31 0E 38 0F AA  : .....(.0 ...1.8..
202050B0 - 10 30 11 35 12 3A 13 33  14 AA 15 02 16 31 17 35  : .0.5.:.3 .....1.5
202050C0 - 18 3A 19 33 1A 30 1B 29  1C 33 1D 33 1E AA 1F 07  : .:.3.0.) .3.3....
202050D0 - 20 29 21 AA 22 02 23 31  24 07 25 28 26 30 27 35  :  )!.".#1 $.%(&0'5
202050E0 - 28 32 29 35 2A AA 2B 02  2C 36 2D 3A 2E 33 2F 30  : (2)5*.+. ,6-:.3/0
202050F0 - 30 02 31 33 32 33 33 AA  34 30 35 29 36 AA 37 02  : 0.13233. 405)6.7.
20205100 - 38 AA 39 07 3A 28 3B 30  3C FF 3C AA 3D 01 3E 31  : 8.9.:(;0 <.<.=.>1
20205110 - 3F AA 40 28 41 30 42 36  43 3A 00 33 01 AA 02 07  : ?.@(A0B6 C:.3....
20205120 - 03 28 04 AA 05 02 06 31  07 38 08 28 09 30 0A 35  : .(.....1 .8.(.0.5
20205130 - 0B 3A 0C 35 0D AA 0E 02  0F 31 10 3A 11 33 12 30  : .:.5.... .1.:.3.0
20205140 - 13 29 14 33 15 33 16 AA  17 07 18 29 19 AA 1A 02  : .).3.3.. ...)....
20205150 - 1B 31 1C 07 1D 28 1E 30  1F 35 20 01 21 31 22 AA  : .1...(.0 .5 .!1".
20205160 - 23 02 24 30 25 36 26 3A  27 33 28 AA 29 02 2A 33  : #.$0%6&: '3(.).*3
20205170 - 2B 33 2C 33 2D 30 2E 29  2F AA 30 35 31 AA 32 07  : +3,3-0.) /.051.2.
20205180 - 33 28 34 FF 34 AA 35 02  36 32 37 35 38 28 39 30  : 3(4.4.5. 62758(90
20205190 - 3A 36 3B 3A 3C 38 3D AA  3E 02 3F 33 40 3A 41 33  : :6;:<8=. >.?3@:A3
202051A0 - 42 30 43 29 00 28 01 30  02 35 03 3A 04 31 05 AA  : B0C).(.0 .5.:.1..
202051B0 - 06 02 07 31 08 36 09 3A  0A 33 0B 30 0C 02 0D 33  : ...1.6.: .3.0...3
202051C0 - 0E 33 0F AA 10 30 11 29  12 AA 13 02 14 AA 15 07  : .3...0.) ........
202051D0 - 16 28 17 30 18 02 19 32  1A 35 1B AA 1C 30 1D 36  : .(.0...2 .5...0.6
202051E0 - 1E 3A 1F 33 20 AA 21 02  22 33 23 33 24 33 25 30  : .:.3 .!. "3#3$3%0
202051F0 - 26 29 27 AA 28 35 29 AA  2A 07 2B 28 2C 29 2D FF  : &)'.(5). *.+(,)-.
20205200 - 2D AA 2E 01 2F 31 30 07  31 28 32 30 33 36 34 31  : -.../10. 1(203641
20205210 - 35 38 36 AA 37 02 38 35  39 3A 3A 33 3B 30 3C 02  : 586.7.85 9::3;0<.
20205220 - 3D 31 3E 35 3F AA 40 30  41 29 42 FF 42 AA 43 02  : =1>5?.@0 A)B.B.C.
20205230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20205FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F5000 - FF FF FF FF FF FF 00 38  01 AA 02 02 03 33 04 3A  : .......8 .....3.:
601F5010 - 05 33 06 30 07 29 08 31  09 35 0A AA 0B 07 0C 30  : .3.0.).1 .5.....0
601F5020 - 0D 29 0E AA 0F 01 10 AA  11 07 12 28 13 30 14 02  : .)...... ...(.0..
601F5030 - 15 31 16 38 17 AA 18 30  19 35 1A 3A 1B 33 1C AA  : .1.8...0 .5.:.3..
601F5040 - 1D 02 1E 31 1F 35 20 33  21 30 22 29 23 AA 24 33  : ...1.5 3 !0")#.$3
601F5050 - 25 AA 26 07 27 28 28 AA  29 02 2A 31 2B 38 2C 28  : %.&.'((. ).*1+8,(
601F5060 - 2D 30 2E 35 2F 3A 30 31  31 AA 32 02 33 31 34 36  : -0.5/:01 1.2.3146
601F5070 - 35 3A 36 33 37 30 38 02  39 33 3A 33 3B AA 3C 30  : 5:63708. 93:3;.<0
601F5080 - 3D 29 3E AA 3F 02 40 AA  41 07 42 28 43 30 00 02  : =)>.?.@. A.B(C0..
601F5090 - 01 31 02 35 03 AA 04 30  05 29 06 FF 06 AA 07 02  : .1.5...0 .)......
601F50A0 - 08 AA 09 07 0A 28 0B 30  0C 02 0D 31 0E 38 0F AA  : .....(.0 ...1.8..
601F50B0 - 10 30 11 35 12 3A 13 33  14 AA 15 02 16 31 17 35  : .0.5.:.3 .....1.5
601F50C0 - 18 3A 19 33 1A 30 1B 29  1C 33 1D 33 1E AA 1F 07  : .:.3.0.) .3.3....
601F50D0 - 20 29 21 AA 22 02 23 31  24 07 25 28 26 30 27 35  :  )!.".#1 $.%(&0'5
601F50E0 - 28 32 29 35 2A AA 2B 02  2C 36 2D 3A 2E 33 2F 30  : (2)5*.+. ,6-:.3/0
601F50F0 - 30 02 31 33 32 33 33 AA  34 30 35 29 36 AA 37 02  : 0.13233. 405)6.7.
601F5100 - 38 AA 39 07 3A 28 3B 30  3C FF 3C AA 3D 01 3E 31  : 8.9.:(;0 <.<.=.>1
601F5110 - 3F AA 40 28 41 30 42 36  43 3A 00 33 01 AA 02 07  : ?.@(A0B6 C:.3....
601F5120 - 03 28 04 AA 05 02 06 31  07 38 08 28 09 30 0A 35  : .(.....1 .8.(.0.5
601F5130 - 0B 3A 0C 35 0D AA 0E 02  0F 31 10 3A 11 33 12 30  : .:.5.... .1.:.3.0
601F5140 - 13 29 14 33 15 33 16 AA  17 07 18 29 19 AA 1A 02  : .).3.3.. ...)....
601F5150 - 1B 31 1C 07 1D 28 1E 30  1F 35 20 01 21 31 22 AA  : .1...(.0 .5 .!1".
601F5160 - 23 02 24 30 25 36 26 3A  27 33 28 AA 29 02 2A 33  : #.$0%6&: '3(.).*3
601F5170 - 2B 33 2C 33 2D 30 2E 29  2F AA 30 35 31 AA 32 07  : +3,3-0.) /.051.2.
601F5180 - 33 28 34 FF 34 AA 35 02  36 32 37 35 38 28 39 30  : 3(4.4.5. 62758(90
601F5190 - 3A 36 3B 3A 3C 38 3D AA  3E 02 3F 33 40 3A 41 33  : :6;:<8=. >.?3@:A3
601F51A0 - 42 30 43 29 00 28 01 30  02 35 03 3A 04 31 05 AA  : B0C).(.0 .5.:.1..
601F51B0 - 06 02 07 31 08 36 09 3A  0A 33 0B 30 0C 02 0D 33  : ...1.6.: .3.0...3
601F51C0 - 0E 33 0F AA 10 30 11 29  12 AA 13 02 14 AA 15 07  : .3...0.) ........
601F51D0 - 16 28 17 30 18 02 19 32  1A 35 1B AA 1C 30 1D 36  : .(.0...2 .5...0.6
601F51E0 - 1E 3A 1F 33 20 AA 21 02  22 33 23 33 24 33 25 30  : .:.3 .!. "3#3$3%0
601F51F0 - 26 29 27 AA 28 35 29 AA  2A 07 2B 28 2C 29 2D FF  : &)'.(5). *.+(,)-.
601F5200 - 2D AA 2E 01 2F 31 30 07  31 28 32 30 33 36 34 31  : -.../10. 1(203641
601F5210 - 35 38 36 AA 37 02 38 35  39 3A 3A 33 3B 30 3C 02  : 586.7.85 9::3;0<.
601F5220 - 3D 31 3E 35 3F AA 40 30  41 29 42 FF 42 AA 43 02  : =1>5?.@0 A)B.B.C.
601F5230 - 00 36 01 3A 02 33 03 30  FF FF FF FF FF FF FF FF  : .6.:.3.0 ........
601F5240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
601F5FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 6 addr: 0x601f6000
Before
20206000 - FF FF FF FF FF FF FF FF  00 33 01 AA 02 07 03 28  : ........ .3.....(
20206010 - 04 AA 05 02 06 31 07 38  08 28 09 30 0A 35 0B 3A  : .....1.8 .(.0.5.:
20206020 - 0C 31 0D AA 0E 02 0F 31  10 36 11 3A 12 33 13 30  : .1.....1 .6.:.3.0
20206030 - 14 02 15 33 16 33 17 AA  18 30 19 29 1A AA 1B 02  : ...3.3.. .0.)....
20206040 - 1C AA 1D 07 1E 28 1F 30  20 02 21 32 22 35 23 AA  : .....(.0  .!2"5#.
20206050 - 24 30 25 36 26 3A 27 33  28 AA 29 02 2A 33 2B 33  : $0%6&:'3 (.).*3+3
20206060 - 2C 33 2D 30 2E 29 2F AA  30 35 31 AA 32 07 33 28  : ,3-0.)/. 051.2.3(
20206070 - 34 29 35 AA 36 01 37 31  38 07 39 28 3A 30 3B 36  : 4)5.6.71 8.9(:0;6
20206080 - 3C 31 3D 38 3E AA 3F 02  40 35 41 3A 42 33 43 30  : <1=8>.?. @5A:B3C0
20206090 - 00 07 01 28 02 30 03 35  04 32 05 35 06 AA 07 02  : ...(.0.5 .2.5....
202060A0 - 08 36 09 3A 0A 33 0B 30  0C 02 0D 33 0E 33 0F AA  : .6.:.3.0 ...3.3..
202060B0 - 10 30 11 29 12 AA 13 02  14 AA 15 07 16 28 17 30  : .0.).... .....(.0
202060C0 - 18 FF 18 AA 19 01 1A 31  1B AA 1C 28 1D 30 1E 36  : .......1 ...(.0.6
202060D0 - 1F 3A 20 38 21 AA 22 02  23 33 24 3A 25 33 26 30  : .: 8!.". #3$:%3&0
202060E0 - 27 29 28 31 29 35 2A AA  2B 07 2C 29 2D FF 2D AA  : ')(1)5*. +.,)-.-.
202060F0 - 2E 02 2F 32 30 07 31 28  32 30 33 36 34 31 35 38  : ../20.1( 20364158
20206100 - 36 AA 37 02 38 35 39 3A  3A 33 3B 30 3C 02 3D 31  : 6.7.859: :3;0<.=1
20206110 - 3E 35 3F AA 40 33 41 30  42 29 43 FF 43 AA 00 30  : >5?.@3A0 B)C.C..0
20206120 - 01 36 02 3A 03 33 04 AA  05 02 06 33 07 33 08 33  : .6.:.3.. ...3.3.3
20206130 - 09 30 0A 29 0B AA 0C 35  0D AA 0E 07 0F 28 10 FF  : .0.)...5 .....(..
20206140 - 10 AA 11 02 12 32 13 35  14 28 15 30 16 36 17 3A  : .....2.5 .(.0.6.:
20206150 - 18 38 19 AA 1A 02 1B 33  1C 3A 1D 33 1E 30 1F 29  : .8.....3 .:.3.0.)
20206160 - 20 31 21 35 22 AA 23 07  24 30 25 29 26 FF 26 AA  :  1!5".#. $0%)&.&.
20206170 - 27 01 28 AA 29 07 2A 28  2B 30 2C 02 2D 31 2E 38  : '.(.).*( +0,.-1.8
20206180 - 2F AA 30 30 31 35 32 3A  33 33 34 AA 35 02 36 31  : /.00152: 334.5.61
20206190 - 37 35 38 33 39 30 3A 29  3B FF 3B AA 3C 33 3D AA  : 758390:) ;.;.<3=.
202061A0 - 3E 07 3F 28 40 AA 41 02  42 31 43 38 00 33 01 30  : >.?(@.A. B1C8.3.0
202061B0 - 02 29 03 AA 04 35 05 AA  06 07 07 28 08 29 09 FF  : .)...5.. ...(.)..
202061C0 - 09 AA 0A 01 0B 31 0C 07  0D 28 0E 30 0F 36 10 31  : .....1.. .(.0.6.1
202061D0 - 11 38 12 AA 13 02 14 35  15 3A 16 33 17 30 18 02  : .8.....5 .:.3.0..
202061E0 - 19 31 1A 35 1B AA 1C 30  1D 29 1E FF 1E AA 1F 02  : .1.5...0 .)......
202061F0 - 20 AA 21 07 22 28 23 30  24 02 25 31 26 38 27 AA  :  .!."(#0 $.%1&8'.
20206200 - 28 30 29 35 2A 3A 2B 33  2C AA 2D 02 2E 31 2F 35  : (0)5*:+3 ,.-..1/5
20206210 - 30 3A 31 33 32 30 33 29  34 33 35 33 36 AA 37 07  : 0:13203) 43536.7.
20206220 - 38 29 39 AA 3A 02 3B 31  3C 07 3D 28 3E 30 3F 35  : 8)9.:.;1 <.=(>0?5
20206230 - 40 32 41 35 42 AA 43 02  FF FF FF FF FF FF FF FF  : @2A5B.C. ........
20206240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
20206FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F6000 - FF FF FF FF FF FF FF FF  00 33 01 AA 02 07 03 28  : ........ .3.....(
601F6010 - 04 AA 05 02 06 31 07 38  08 28 09 30 0A 35 0B 3A  : .....1.8 .(.0.5.:
601F6020 - 0C 31 0D AA 0E 02 0F 31  10 36 11 3A 12 33 13 30  : .1.....1 .6.:.3.0
601F6030 - 14 02 15 33 16 33 17 AA  18 30 19 29 1A AA 1B 02  : ...3.3.. .0.)....
601F6040 - 1C AA 1D 07 1E 28 1F 30  20 02 21 32 22 35 23 AA  : .....(.0  .!2"5#.
601F6050 - 24 30 25 36 26 3A 27 33  28 AA 29 02 2A 33 2B 33  : $0%6&:'3 (.).*3+3
601F6060 - 2C 33 2D 30 2E 29 2F AA  30 35 31 AA 32 07 33 28  : ,3-0.)/. 051.2.3(
601F6070 - 34 29 35 AA 36 01 37 31  38 07 39 28 3A 30 3B 36  : 4)5.6.71 8.9(:0;6
601F6080 - 3C 31 3D 38 3E AA 3F 02  40 35 41 3A 42 33 43 30  : <1=8>.?. @5A:B3C0
601F6090 - 00 07 01 28 02 30 03 35  04 32 05 35 06 AA 07 02  : ...(.0.5 .2.5....
601F60A0 - 08 36 09 3A 0A 33 0B 30  0C 02 0D 33 0E 33 0F AA  : .6.:.3.0 ...3.3..
601F60B0 - 10 30 11 29 12 AA 13 02  14 AA 15 07 16 28 17 30  : .0.).... .....(.0
601F60C0 - 18 FF 18 AA 19 01 1A 31  1B AA 1C 28 1D 30 1E 36  : .......1 ...(.0.6
601F60D0 - 1F 3A 20 38 21 AA 22 02  23 33 24 3A 25 33 26 30  : .: 8!.". #3$:%3&0
601F60E0 - 27 29 28 31 29 35 2A AA  2B 07 2C 29 2D FF 2D AA  : ')(1)5*. +.,)-.-.
601F60F0 - 2E 02 2F 32 30 07 31 28  32 30 33 36 34 31 35 38  : ../20.1( 20364158
601F6100 - 36 AA 37 02 38 35 39 3A  3A 33 3B 30 3C 02 3D 31  : 6.7.859: :3;0<.=1
601F6110 - 3E 35 3F AA 40 33 41 30  42 29 43 FF 43 AA 00 30  : >5?.@3A0 B)C.C..0
601F6120 - 01 36 02 3A 03 33 04 AA  05 02 06 33 07 33 08 33  : .6.:.3.. ...3.3.3
601F6130 - 09 30 0A 29 0B AA 0C 35  0D AA 0E 07 0F 28 10 FF  : .0.)...5 .....(..
601F6140 - 10 AA 11 02 12 32 13 35  14 28 15 30 16 36 17 3A  : .....2.5 .(.0.6.:
601F6150 - 18 38 19 AA 1A 02 1B 33  1C 3A 1D 33 1E 30 1F 29  : .8.....3 .:.3.0.)
601F6160 - 20 31 21 35 22 AA 23 07  24 30 25 29 26 FF 26 AA  :  1!5".#. $0%)&.&.
601F6170 - 27 01 28 AA 29 07 2A 28  2B 30 2C 02 2D 31 2E 38  : '.(.).*( +0,.-1.8
601F6180 - 2F AA 30 30 31 35 32 3A  33 33 34 AA 35 02 36 31  : /.00152: 334.5.61
601F6190 - 37 35 38 33 39 30 3A 29  3B FF 3B AA 3C 33 3D AA  : 758390:) ;.;.<3=.
601F61A0 - 3E 07 3F 28 40 AA 41 02  42 31 43 38 00 33 01 30  : >.?(@.A. B1C8.3.0
601F61B0 - 02 29 03 AA 04 35 05 AA  06 07 07 28 08 29 09 FF  : .)...5.. ...(.)..
601F61C0 - 09 AA 0A 01 0B 31 0C 07  0D 28 0E 30 0F 36 10 31  : .....1.. .(.0.6.1
601F61D0 - 11 38 12 AA 13 02 14 35  15 3A 16 33 17 30 18 02  : .8.....5 .:.3.0..
601F61E0 - 19 31 1A 35 1B AA 1C 30  1D 29 1E FF 1E AA 1F 02  : .1.5...0 .)......
601F61F0 - 20 AA 21 07 22 28 23 30  24 02 25 31 26 38 27 AA  :  .!."(#0 $.%1&8'.
601F6200 - 28 30 29 35 2A 3A 2B 33  2C AA 2D 02 2E 31 2F 35  : (0)5*:+3 ,.-..1/5
601F6210 - 30 3A 31 33 32 30 33 29  34 33 35 33 36 AA 37 07  : 0:13203) 43536.7.
601F6220 - 38 29 39 AA 3A 02 3B 31  3C 07 3D 28 3E 30 3F 35  : 8)9.:.;1 <.=(>0?5
601F6230 - 40 32 41 35 42 AA 43 02  00 29 01 FF FF FF FF FF  : @2A5B.C. .)......
601F6240 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 218 duplicate line(s) removed.
601F6FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 7 addr: 0x601f7000
Before
20207000 - 00 30 01 36 02 3A 03 33  04 AA 05 02 06 33 07 33  : .0.6.:.3 .....3.3
20207010 - 08 33 09 30 0A 29 0B AA  0C 35 0D AA 0E 07 0F 28  : .3.0.).. .5.....(
20207020 - 10 29 11 AA 12 01 13 31  14 07 15 28 16 30 17 36  : .).....1 ...(.0.6
20207030 - 18 31 19 38 1A AA 1B 02  1C 35 1D 3A 1E 33 1F 30  : .1.8.... .5.:.3.0
20207040 - 20 02 21 31 22 35 23 AA  24 30 25 29 26 AA 27 02  :  .!1"5#. $0%)&.'.
20207050 - 28 AA 29 07 2A 28 2B 30  2C 02 2D 31 2E 38 2F AA  : (.).*(+0 ,.-1.8/.
20207060 - 30 30 31 35 32 3A 33 33  34 AA 35 02 36 31 37 35  : 00152:33 4.5.6175
20207070 - 38 3A 39 33 3A 30 3B 29  3C 33 3D 33 3E AA 3F 07  : 8:93:0;) <3=3>.?.
20207080 - 40 29 41 AA 42 02 43 31  00 3A 01 33 02 30 03 29  : @)A.B.C1 .:.3.0.)
20207090 - 04 31 05 35 06 AA 07 07  08 29 09 FF 09 AA 0A 02  : .1.5.... .)......
202070A0 - 0B 32 0C 07 0D 28 0E 30  0F 36 10 31 11 38 12 AA  : .2...(.0 .6.1.8..
202070B0 - 13 02 14 35 15 3A 16 33  17 30 18 02 19 31 1A 35  : ...5.:.3 .0...1.5
202070C0 - 1B AA 1C 33 1D 30 1E 29  1F FF 1F AA 20 33 21 AA  : ...3.0.) .... 3!.
202070D0 - 22 07 23 28 24 AA 25 02  26 31 27 38 28 28 29 30  : ".#($.%. &1'8(()0
202070E0 - 2A 35 2B 3A 2C 35 2D AA  2E 02 2F 31 30 3A 31 33  : *5+:,5-. ../10:13
202070F0 - 32 30 33 29 34 33 35 33  36 AA 37 07 38 29 39 AA  : 203)4353 6.7.8)9.
20207100 - 3A 02 3B 31 3C 07 3D 28  3E 30 3F 35 40 01 41 31  : :.;1<.=( >0?5@.A1
20207110 - 42 AA 43 02 00 30 01 29  02 FF 02 AA 03 01 04 AA  : B.C..0.) ........
20207120 - 05 07 06 28 07 30 08 02  09 31 0A 38 0B AA 0C 30  : ...(.0.. .1.8...0
20207130 - 0D 35 0E 3A 0F 33 10 AA  11 02 12 31 13 35 14 33  : .5.:.3.. ...1.5.3
20207140 - 15 30 16 29 17 FF 17 AA  18 33 19 AA 1A 07 1B 28  : .0.).... .3.....(
20207150 - 1C AA 1D 02 1E 31 1F 38  20 28 21 30 22 35 23 3A  : .....1.8  (!0"5#:
20207160 - 24 31 25 AA 26 02 27 31  28 36 29 3A 2A 33 2B 30  : $1%.&.'1 (6):*3+0
20207170 - 2C 02 2D 33 2E 33 2F AA  30 30 31 29 32 AA 33 02  : ,.-3.3/. 001)2.3.
20207180 - 34 AA 35 07 36 28 37 30  38 02 39 32 3A 35 3B AA  : 4.5.6(70 8.92:5;.
20207190 - 3C 30 3D 36 3E 3A 3F 33  40 AA 41 02 42 33 43 33  : <0=6>:?3 @.A.B3C3
202071A0 - 00 02 01 31 02 38 03 AA  04 30 05 35 06 3A 07 33  : ...1.8.. .0.5.:.3
202071B0 - 08 AA 09 02 0A 31 0B 35  0C 3A 0D 33 0E 30 0F 29  : .....1.5 .:.3.0.)
202071C0 - 10 33 11 33 12 AA 13 07  14 29 15 AA 16 02 17 31  : .3.3.... .).....1
202071D0 - 18 07 19 28 1A 30 1B 35  1C 32 1D 35 1E AA 1F 02  : ...(.0.5 .2.5....
202071E0 - 20 36 21 3A 22 33 23 30  24 02 25 33 26 33 27 AA  :  6!:"3#0 $.%3&3'.
202071F0 - 28 30 29 29 2A AA 2B 02  2C AA 2D 07 2E 28 2F 30  : (0))*.+. ,.-..(/0
20207200 - 30 FF 30 AA 31 01 32 31  33 AA 34 28 35 30 36 36  : 0.0.1.21 3.4(5066
20207210 - 37 3A 38 38 39 AA 3A 02  3B 33 3C 3A 3D 33 3E 30  : 7:889.:. ;3<:=3>0
20207220 - 3F 29 40 31 41 35 42 AA  43 07 FF FF FF FF FF FF  : ?)@1A5B. C.......
20207230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20207FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F7000 - 00 30 01 36 02 3A 03 33  04 AA 05 02 06 33 07 33  : .0.6.:.3 .....3.3
601F7010 - 08 33 09 30 0A 29 0B AA  0C 35 0D AA 0E 07 0F 28  : .3.0.).. .5.....(
601F7020 - 10 29 11 AA 12 01 13 31  14 07 15 28 16 30 17 36  : .).....1 ...(.0.6
601F7030 - 18 31 19 38 1A AA 1B 02  1C 35 1D 3A 1E 33 1F 30  : .1.8.... .5.:.3.0
601F7040 - 20 02 21 31 22 35 23 AA  24 30 25 29 26 AA 27 02  :  .!1"5#. $0%)&.'.
601F7050 - 28 AA 29 07 2A 28 2B 30  2C 02 2D 31 2E 38 2F AA  : (.).*(+0 ,.-1.8/.
601F7060 - 30 30 31 35 32 3A 33 33  34 AA 35 02 36 31 37 35  : 00152:33 4.5.6175
601F7070 - 38 3A 39 33 3A 30 3B 29  3C 33 3D 33 3E AA 3F 07  : 8:93:0;) <3=3>.?.
601F7080 - 40 29 41 AA 42 02 43 31  00 3A 01 33 02 30 03 29  : @)A.B.C1 .:.3.0.)
601F7090 - 04 31 05 35 06 AA 07 07  08 29 09 FF 09 AA 0A 02  : .1.5.... .)......
601F70A0 - 0B 32 0C 07 0D 28 0E 30  0F 36 10 31 11 38 12 AA  : .2...(.0 .6.1.8..
601F70B0 - 13 02 14 35 15 3A 16 33  17 30 18 02 19 31 1A 35  : ...5.:.3 .0...1.5
601F70C0 - 1B AA 1C 33 1D 30 1E 29  1F FF 1F AA 20 33 21 AA  : ...3.0.) .... 3!.
601F70D0 - 22 07 23 28 24 AA 25 02  26 31 27 38 28 28 29 30  : ".#($.%. &1'8(()0
601F70E0 - 2A 35 2B 3A 2C 35 2D AA  2E 02 2F 31 30 3A 31 33  : *5+:,5-. ../10:13
601F70F0 - 32 30 33 29 34 33 35 33  36 AA 37 07 38 29 39 AA  : 203)4353 6.7.8)9.
601F7100 - 3A 02 3B 31 3C 07 3D 28  3E 30 3F 35 40 01 41 31  : :.;1<.=( >0?5@.A1
601F7110 - 42 AA 43 02 00 30 01 29  02 FF 02 AA 03 01 04 AA  : B.C..0.) ........
601F7120 - 05 07 06 28 07 30 08 02  09 31 0A 38 0B AA 0C 30  : ...(.0.. .1.8...0
601F7130 - 0D 35 0E 3A 0F 33 10 AA  11 02 12 31 13 35 14 33  : .5.:.3.. ...1.5.3
601F7140 - 15 30 16 29 17 FF 17 AA  18 33 19 AA 1A 07 1B 28  : .0.).... .3.....(
601F7150 - 1C AA 1D 02 1E 31 1F 38  20 28 21 30 22 35 23 3A  : .....1.8  (!0"5#:
601F7160 - 24 31 25 AA 26 02 27 31  28 36 29 3A 2A 33 2B 30  : $1%.&.'1 (6):*3+0
601F7170 - 2C 02 2D 33 2E 33 2F AA  30 30 31 29 32 AA 33 02  : ,.-3.3/. 001)2.3.
601F7180 - 34 AA 35 07 36 28 37 30  38 02 39 32 3A 35 3B AA  : 4.5.6(70 8.92:5;.
601F7190 - 3C 30 3D 36 3E 3A 3F 33  40 AA 41 02 42 33 43 33  : <0=6>:?3 @.A.B3C3
601F71A0 - 00 02 01 31 02 38 03 AA  04 30 05 35 06 3A 07 33  : ...1.8.. .0.5.:.3
601F71B0 - 08 AA 09 02 0A 31 0B 35  0C 3A 0D 33 0E 30 0F 29  : .....1.5 .:.3.0.)
601F71C0 - 10 33 11 33 12 AA 13 07  14 29 15 AA 16 02 17 31  : .3.3.... .).....1
601F71D0 - 18 07 19 28 1A 30 1B 35  1C 32 1D 35 1E AA 1F 02  : ...(.0.5 .2.5....
601F71E0 - 20 36 21 3A 22 33 23 30  24 02 25 33 26 33 27 AA  :  6!:"3#0 $.%3&3'.
601F71F0 - 28 30 29 29 2A AA 2B 02  2C AA 2D 07 2E 28 2F 30  : (0))*.+. ,.-..(/0
601F7200 - 30 FF 30 AA 31 01 32 31  33 AA 34 28 35 30 36 36  : 0.0.1.21 3.4(5066
601F7210 - 37 3A 38 38 39 AA 3A 02  3B 33 3C 3A 3D 33 3E 30  : 7:889.:. ;3<:=3>0
601F7220 - 3F 29 40 31 41 35 42 AA  43 07 FF FF FF FF FF FF  : ?)@1A5B. C.......
601F7230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601F7FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 8 addr: 0x601f8000
Before
20208000 - FF FF 00 30 01 29 02 AA  03 02 04 AA 05 07 06 28  : ...0.).. .......(
20208010 - 07 30 08 02 09 31 0A 38  0B AA 0C 30 0D 35 0E 3A  : .0...1.8 ...0.5.:
20208020 - 0F 33 10 AA 11 02 12 31  13 35 14 3A 15 33 16 30  : .3.....1 .5.:.3.0
20208030 - 17 29 18 33 19 33 1A AA  1B 07 1C 29 1D AA 1E 02  : .).3.3.. ...)....
20208040 - 1F 31 20 07 21 28 22 30  23 35 24 32 25 35 26 AA  : .1 .!("0 #5$2%5&.
20208050 - 27 02 28 36 29 3A 2A 33  2B 30 2C 02 2D 33 2E 33  : '.(6):*3 +0,.-3.3
20208060 - 2F AA 30 30 31 29 32 AA  33 02 34 AA 35 07 36 28  : /.001)2. 3.4.5.6(
20208070 - 37 30 38 AA 39 01 3A 31  3B AA 3C 28 3D 30 3E 36  : 708.9.:1 ;.<(=0>6
20208080 - 3F 3A 40 38 41 AA 42 02  43 33 00 AA 01 02 02 31  : ?:@8A.B. C3.....1
20208090 - 03 38 04 28 05 30 06 35  07 3A 08 35 09 AA 0A 02  : .8.(.0.5 .:.5....
202080A0 - 0B 31 0C 3A 0D 33 0E 30  0F 29 10 33 11 33 12 AA  : .1.:.3.0 .).3.3..
202080B0 - 13 07 14 29 15 AA 16 02  17 31 18 07 19 28 1A 30  : ...).... .1...(.0
202080C0 - 1B 35 1C 01 1D 31 1E AA  1F 02 20 30 21 36 22 3A  : .5...1.. .. 0!6":
202080D0 - 23 33 24 AA 25 02 26 33  27 33 28 33 29 30 2A 29  : #3$.%.&3 '3(3)0*)
202080E0 - 2B AA 2C 35 2D AA 2E 07  2F 28 30 FF 30 AA 31 02  : +.,5-... /(0.0.1.
202080F0 - 32 32 33 35 34 28 35 30  36 36 37 3A 38 38 39 AA  : 22354(50 667:889.
20208100 - 3A 02 3B 33 3C 3A 3D 33  3E 30 3F 29 40 31 41 35  : :.;3<:=3 >0?)@1A5
20208110 - 42 AA 43 07 00 31 01 AA  02 02 03 31 04 36 05 3A  : B.C..1.. ...1.6.:
20208120 - 06 33 07 30 08 02 09 33  0A 33 0B AA 0C 30 0D 29  : .3.0...3 .3...0.)
20208130 - 0E AA 0F 02 10 AA 11 07  12 28 13 30 14 02 15 32  : ........ .(.0...2
20208140 - 16 35 17 AA 18 30 19 36  1A 3A 1B 33 1C AA 1D 02  : .5...0.6 .:.3....
20208150 - 1E 33 1F 33 20 33 21 30  22 29 23 AA 24 35 25 AA  : .3.3 3!0 ")#.$5%.
20208160 - 26 07 27 28 28 29 29 FF  29 AA 2A 01 2B 31 2C 07  : &.'(()). ).*.+1,.
20208170 - 2D 28 2E 30 2F 36 30 31  31 38 32 AA 33 02 34 35  : -(.0/601 182.3.45
20208180 - 35 3A 36 33 37 30 38 02  39 31 3A 35 3B AA 3C 30  : 5:63708. 91:5;.<0
20208190 - 3D 29 3E FF 3E AA 3F 02  40 AA 41 07 42 28 43 30  : =)>.>.?. @.A.B(C0
202081A0 - 00 02 01 33 02 33 03 AA  04 30 05 29 06 AA 07 02  : ...3.3.. .0.)....
202081B0 - 08 AA 09 07 0A 28 0B 30  0C FF 0C AA 0D 01 0E 31  : .....(.0 .......1
202081C0 - 0F AA 10 28 11 30 12 36  13 3A 14 38 15 AA 16 02  : ...(.0.6 .:.8....
202081D0 - 17 33 18 3A 19 33 1A 30  1B 29 1C 31 1D 35 1E AA  : .3.:.3.0 .).1.5..
202081E0 - 1F 07 20 29 21 FF 21 AA  22 02 23 32 24 07 25 28  : .. )!.!. ".#2$.%(
202081F0 - 26 30 27 36 28 31 29 38  2A AA 2B 02 2C 35 2D 3A  : &0'6(1)8 *.+.,5-:
20208200 - 2E 33 2F 30 30 02 31 31  32 35 33 AA 34 33 35 30  : .3/00.11 253.4350
20208210 - 36 29 37 FF 37 AA 38 33  39 AA 3A 07 3B 28 3C AA  : 6)7.7.83 9.:.;(<.
20208220 - 3D 02 3E 31 3F 38 40 28  41 30 42 35 43 3A FF FF  : =.>1?8@( A0B5C:..
20208230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20208FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F8000 - FF FF 00 30 01 29 02 AA  03 02 04 AA 05 07 06 28  : ...0.).. .......(
601F8010 - 07 30 08 02 09 31 0A 38  0B AA 0C 30 0D 35 0E 3A  : .0...1.8 ...0.5.:
601F8020 - 0F 33 10 AA 11 02 12 31  13 35 14 3A 15 33 16 30  : .3.....1 .5.:.3.0
601F8030 - 17 29 18 33 19 33 1A AA  1B 07 1C 29 1D AA 1E 02  : .).3.3.. ...)....
601F8040 - 1F 31 20 07 21 28 22 30  23 35 24 32 25 35 26 AA  : .1 .!("0 #5$2%5&.
601F8050 - 27 02 28 36 29 3A 2A 33  2B 30 2C 02 2D 33 2E 33  : '.(6):*3 +0,.-3.3
601F8060 - 2F AA 30 30 31 29 32 AA  33 02 34 AA 35 07 36 28  : /.001)2. 3.4.5.6(
601F8070 - 37 30 38 AA 39 01 3A 31  3B AA 3C 28 3D 30 3E 36  : 708.9.:1 ;.<(=0>6
601F8080 - 3F 3A 40 38 41 AA 42 02  43 33 00 AA 01 02 02 31  : ?:@8A.B. C3.....1
601F8090 - 03 38 04 28 05 30 06 35  07 3A 08 35 09 AA 0A 02  : .8.(.0.5 .:.5....
601F80A0 - 0B 31 0C 3A 0D 33 0E 30  0F 29 10 33 11 33 12 AA  : .1.:.3.0 .).3.3..
601F80B0 - 13 07 14 29 15 AA 16 02  17 31 18 07 19 28 1A 30  : ...).... .1...(.0
601F80C0 - 1B 35 1C 01 1D 31 1E AA  1F 02 20 30 21 36 22 3A  : .5...1.. .. 0!6":
601F80D0 - 23 33 24 AA 25 02 26 33  27 33 28 33 29 30 2A 29  : #3$.%.&3 '3(3)0*)
601F80E0 - 2B AA 2C 35 2D AA 2E 07  2F 28 30 FF 30 AA 31 02  : +.,5-... /(0.0.1.
601F80F0 - 32 32 33 35 34 28 35 30  36 36 37 3A 38 38 39 AA  : 22354(50 667:889.
601F8100 - 3A 02 3B 33 3C 3A 3D 33  3E 30 3F 29 40 31 41 35  : :.;3<:=3 >0?)@1A5
601F8110 - 42 AA 43 07 00 31 01 AA  02 02 03 31 04 36 05 3A  : B.C..1.. ...1.6.:
601F8120 - 06 33 07 30 08 02 09 33  0A 33 0B AA 0C 30 0D 29  : .3.0...3 .3...0.)
601F8130 - 0E AA 0F 02 10 AA 11 07  12 28 13 30 14 02 15 32  : ........ .(.0...2
601F8140 - 16 35 17 AA 18 30 19 36  1A 3A 1B 33 1C AA 1D 02  : .5...0.6 .:.3....
601F8150 - 1E 33 1F 33 20 33 21 30  22 29 23 AA 24 35 25 AA  : .3.3 3!0 ")#.$5%.
601F8160 - 26 07 27 28 28 29 29 FF  29 AA 2A 01 2B 31 2C 07  : &.'(()). ).*.+1,.
601F8170 - 2D 28 2E 30 2F 36 30 31  31 38 32 AA 33 02 34 35  : -(.0/601 182.3.45
601F8180 - 35 3A 36 33 37 30 38 02  39 31 3A 35 3B AA 3C 30  : 5:63708. 91:5;.<0
601F8190 - 3D 29 3E FF 3E AA 3F 02  40 AA 41 07 42 28 43 30  : =)>.>.?. @.A.B(C0
601F81A0 - 00 02 01 33 02 33 03 AA  04 30 05 29 06 AA 07 02  : ...3.3.. .0.)....
601F81B0 - 08 AA 09 07 0A 28 0B 30  0C FF 0C AA 0D 01 0E 31  : .....(.0 .......1
601F81C0 - 0F AA 10 28 11 30 12 36  13 3A 14 38 15 AA 16 02  : ...(.0.6 .:.8....
601F81D0 - 17 33 18 3A 19 33 1A 30  1B 29 1C 31 1D 35 1E AA  : .3.:.3.0 .).1.5..
601F81E0 - 1F 07 20 29 21 FF 21 AA  22 02 23 32 24 07 25 28  : .. )!.!. ".#2$.%(
601F81F0 - 26 30 27 36 28 31 29 38  2A AA 2B 02 2C 35 2D 3A  : &0'6(1)8 *.+.,5-:
601F8200 - 2E 33 2F 30 30 02 31 31  32 35 33 AA 34 33 35 30  : .3/00.11 253.4350
601F8210 - 36 29 37 FF 37 AA 38 33  39 AA 3A 07 3B 28 3C AA  : 6)7.7.83 9.:.;(<.
601F8220 - 3D 02 3E 31 3F 38 40 28  41 30 42 35 43 3A FF FF  : =.>1?8@( A0B5C:..
601F8230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601F8FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 9 addr: 0x601f9000
Before
20209000 - 00 32 01 35 02 AA 03 02  04 36 05 3A 06 33 07 30  : .2.5.... .6.:.3.0
20209010 - 08 02 09 33 0A 33 0B AA  0C 30 0D 29 0E AA 0F 02  : ...3.3.. .0.)....
20209020 - 10 AA 11 07 12 28 13 30  14 AA 15 01 16 31 17 AA  : .....(.0 .....1..
20209030 - 18 28 19 30 1A 36 1B 3A  1C 38 1D AA 1E 02 1F 33  : .(.0.6.: .8.....3
20209040 - 20 3A 21 33 22 30 23 29  24 31 25 35 26 AA 27 07  :  :!3"0#) $1%5&.'.
20209050 - 28 29 29 AA 2A 02 2B 32  2C 07 2D 28 2E 30 2F 36  : ()).*.+2 ,.-(.0/6
20209060 - 30 31 31 38 32 AA 33 02  34 35 35 3A 36 33 37 30  : 01182.3. 455:6370
20209070 - 38 02 39 31 3A 35 3B AA  3C 33 3D 30 3E 29 3F AA  : 8.91:5;. <3=0>)?.
20209080 - 40 33 41 AA 42 07 43 28  00 AA 01 02 02 33 03 33  : @3A.B.C( .....3.3
20209090 - 04 33 05 30 06 29 07 AA  08 35 09 AA 0A 07 0B 28  : .3.0.).. .5.....(
202090A0 - 0C FF 0C AA 0D 02 0E 32  0F 35 10 28 11 30 12 36  : .......2 .5.(.0.6
202090B0 - 13 3A 14 38 15 AA 16 02  17 33 18 3A 19 33 1A 30  : .:.8.... .3.:.3.0
202090C0 - 1B 29 1C 31 1D 35 1E AA  1F 07 20 30 21 29 22 FF  : .).1.5.. .. 0!)".
202090D0 - 22 AA 23 01 24 AA 25 07  26 28 27 30 28 02 29 31  : ".#.$.%. &('0(.)1
202090E0 - 2A 38 2B AA 2C 30 2D 35  2E 3A 2F 33 30 AA 31 02  : *8+.,0-5 .:/30.1.
202090F0 - 32 31 33 35 34 33 35 30  36 29 37 FF 37 AA 38 33  : 21354350 6)7.7.83
20209100 - 39 AA 3A 07 3B 28 3C AA  3D 02 3E 31 3F 38 40 28  : 9.:.;(<. =.>1?8@(
20209110 - 41 30 42 35 43 3A 00 35  01 AA 02 07 03 28 04 29  : A0B5C:.5 .....(.)
20209120 - 05 FF 05 AA 06 01 07 31  08 07 09 28 0A 30 0B 36  : .......1 ...(.0.6
20209130 - 0C 31 0D 38 0E AA 0F 02  10 35 11 3A 12 33 13 30  : .1.8.... .5.:.3.0
20209140 - 14 02 15 31 16 35 17 AA  18 30 19 29 1A FF 1A AA  : ...1.5.. .0.)....
20209150 - 1B 02 1C AA 1D 07 1E 28  1F 30 20 02 21 31 22 38  : .......( .0 .!1"8
20209160 - 23 AA 24 30 25 35 26 3A  27 33 28 AA 29 02 2A 31  : #.$0%5&: '3(.).*1
20209170 - 2B 35 2C 3A 2D 33 2E 30  2F 29 30 33 31 33 32 AA  : +5,:-3.0 /)03132.
20209180 - 33 07 34 29 35 AA 36 02  37 31 38 07 39 28 3A 30  : 3.4)5.6. 718.9(:0
20209190 - 3B 35 3C 32 3D 35 3E AA  3F 02 40 36 41 3A 42 33  : ;5<2=5>. ?.@6A:B3
202091A0 - 43 30 00 07 01 28 02 30  03 36 04 31 05 38 06 AA  : C0...(.0 .6.1.8..
202091B0 - 07 02 08 35 09 3A 0A 33  0B 30 0C 02 0D 31 0E 35  : ...5.:.3 .0...1.5
202091C0 - 0F AA 10 33 11 30 12 29  13 FF 13 AA 14 33 15 AA  : ...3.0.) .....3..
202091D0 - 16 07 17 28 18 AA 19 02  1A 31 1B 38 1C 28 1D 30  : ...(.... .1.8.(.0
202091E0 - 1E 35 1F 3A 20 35 21 AA  22 02 23 31 24 3A 25 33  : .5.: 5!. ".#1$:%3
202091F0 - 26 30 27 29 28 33 29 33  2A AA 2B 07 2C 29 2D AA  : &0')(3)3 *.+.,)-.
20209200 - 2E 02 2F 31 30 07 31 28  32 30 33 35 34 01 35 31  : ../10.1( 20354.51
20209210 - 36 AA 37 02 38 30 39 36  3A 3A 3B 33 3C AA 3D 02  : 6.7.8096 ::;3<.=.
20209220 - 3E 33 3F 33 40 33 41 30  42 29 43 AA FF FF FF FF  : >3?3@3A0 B)C.....
20209230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
20209FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601F9000 - 00 32 01 35 02 AA 03 02  04 36 05 3A 06 33 07 30  : .2.5.... .6.:.3.0
601F9010 - 08 02 09 33 0A 33 0B AA  0C 30 0D 29 0E AA 0F 02  : ...3.3.. .0.)....
601F9020 - 10 AA 11 07 12 28 13 30  14 AA 15 01 16 31 17 AA  : .....(.0 .....1..
601F9030 - 18 28 19 30 1A 36 1B 3A  1C 38 1D AA 1E 02 1F 33  : .(.0.6.: .8.....3
601F9040 - 20 3A 21 33 22 30 23 29  24 31 25 35 26 AA 27 07  :  :!3"0#) $1%5&.'.
601F9050 - 28 29 29 AA 2A 02 2B 32  2C 07 2D 28 2E 30 2F 36  : ()).*.+2 ,.-(.0/6
601F9060 - 30 31 31 38 32 AA 33 02  34 35 35 3A 36 33 37 30  : 01182.3. 455:6370
601F9070 - 38 02 39 31 3A 35 3B AA  3C 33 3D 30 3E 29 3F AA  : 8.91:5;. <3=0>)?.
601F9080 - 40 33 41 AA 42 07 43 28  00 AA 01 02 02 33 03 33  : @3A.B.C( .....3.3
601F9090 - 04 33 05 30 06 29 07 AA  08 35 09 AA 0A 07 0B 28  : .3.0.).. .5.....(
601F90A0 - 0C FF 0C AA 0D 02 0E 32  0F 35 10 28 11 30 12 36  : .......2 .5.(.0.6
601F90B0 - 13 3A 14 38 15 AA 16 02  17 33 18 3A 19 33 1A 30  : .:.8.... .3.:.3.0
601F90C0 - 1B 29 1C 31 1D 35 1E AA  1F 07 20 30 21 29 22 FF  : .).1.5.. .. 0!)".
601F90D0 - 22 AA 23 01 24 AA 25 07  26 28 27 30 28 02 29 31  : ".#.$.%. &('0(.)1
601F90E0 - 2A 38 2B AA 2C 30 2D 35  2E 3A 2F 33 30 AA 31 02  : *8+.,0-5 .:/30.1.
601F90F0 - 32 31 33 35 34 33 35 30  36 29 37 FF 37 AA 38 33  : 21354350 6)7.7.83
601F9100 - 39 AA 3A 07 3B 28 3C AA  3D 02 3E 31 3F 38 40 28  : 9.:.;(<. =.>1?8@(
601F9110 - 41 30 42 35 43 3A 00 35  01 AA 02 07 03 28 04 29  : A0B5C:.5 .....(.)
601F9120 - 05 FF 05 AA 06 01 07 31  08 07 09 28 0A 30 0B 36  : .......1 ...(.0.6
601F9130 - 0C 31 0D 38 0E AA 0F 02  10 35 11 3A 12 33 13 30  : .1.8.... .5.:.3.0
601F9140 - 14 02 15 31 16 35 17 AA  18 30 19 29 1A FF 1A AA  : ...1.5.. .0.)....
601F9150 - 1B 02 1C AA 1D 07 1E 28  1F 30 20 02 21 31 22 38  : .......( .0 .!1"8
601F9160 - 23 AA 24 30 25 35 26 3A  27 33 28 AA 29 02 2A 31  : #.$0%5&: '3(.).*1
601F9170 - 2B 35 2C 3A 2D 33 2E 30  2F 29 30 33 31 33 32 AA  : +5,:-3.0 /)03132.
601F9180 - 33 07 34 29 35 AA 36 02  37 31 38 07 39 28 3A 30  : 3.4)5.6. 718.9(:0
601F9190 - 3B 35 3C 32 3D 35 3E AA  3F 02 40 36 41 3A 42 33  : ;5<2=5>. ?.@6A:B3
601F91A0 - 43 30 00 07 01 28 02 30  03 36 04 31 05 38 06 AA  : C0...(.0 .6.1.8..
601F91B0 - 07 02 08 35 09 3A 0A 33  0B 30 0C 02 0D 31 0E 35  : ...5.:.3 .0...1.5
601F91C0 - 0F AA 10 33 11 30 12 29  13 FF 13 AA 14 33 15 AA  : ...3.0.) .....3..
601F91D0 - 16 07 17 28 18 AA 19 02  1A 31 1B 38 1C 28 1D 30  : ...(.... .1.8.(.0
601F91E0 - 1E 35 1F 3A 20 35 21 AA  22 02 23 31 24 3A 25 33  : .5.: 5!. ".#1$:%3
601F91F0 - 26 30 27 29 28 33 29 33  2A AA 2B 07 2C 29 2D AA  : &0')(3)3 *.+.,)-.
601F9200 - 2E 02 2F 31 30 07 31 28  32 30 33 35 34 01 35 31  : ../10.1( 20354.51
601F9210 - 36 AA 37 02 38 30 39 36  3A 3A 3B 33 3C AA 3D 02  : 6.7.8096 ::;3<.=.
601F9220 - 3E 33 3F 33 40 33 41 30  42 29 43 AA FF FF FF FF  : >3?3@3A0 B)C.....
601F9230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601F9FF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 10 addr: 0x601fa000
Before
2020A000 - 00 31 01 35 02 AA 03 07  04 29 05 AA 06 02 07 32  : .1.5.... .).....2
2020A010 - 08 07 09 28 0A 30 0B 36  0C 31 0D 38 0E AA 0F 02  : ...(.0.6 .1.8....
2020A020 - 10 35 11 3A 12 33 13 30  14 02 15 31 16 35 17 AA  : .5.:.3.0 ...1.5..
2020A030 - 18 33 19 30 1A 29 1B AA  1C 33 1D AA 1E 07 1F 28  : .3.0.).. .3.....(
2020A040 - 20 AA 21 02 22 31 23 38  24 28 25 30 26 35 27 3A  :  .!."1#8 $(%0&5':
2020A050 - 28 35 29 AA 2A 02 2B 31  2C 3A 2D 33 2E 30 2F 29  : (5).*.+1 ,:-3.0/)
2020A060 - 30 33 31 33 32 AA 33 07  34 29 35 AA 36 02 37 31  : 03132.3. 4)5.6.71
2020A070 - 38 07 39 28 3A 30 3B 35  3C 01 3D 31 3E AA 3F 02  : 8.9(:0;5 <.=1>.?.
2020A080 - 40 30 41 36 42 3A 43 33  00 AA 01 07 02 28 03 30  : @0A6B:C3 .....(.0
2020A090 - 04 02 05 31 06 38 07 AA  08 30 09 35 0A 3A 0B 33  : ...1.8.. .0.5.:.3
2020A0A0 - 0C AA 0D 02 0E 31 0F 35  10 33 11 30 12 29 13 FF  : .....1.5 .3.0.)..
2020A0B0 - 13 AA 14 33 15 AA 16 07  17 28 18 AA 19 02 1A 31  : ...3.... .(.....1
2020A0C0 - 1B 38 1C 28 1D 30 1E 35  1F 3A 20 31 21 AA 22 02  : .8.(.0.5 .: 1!.".
2020A0D0 - 23 31 24 36 25 3A 26 33  27 30 28 02 29 33 2A 33  : #1$6%:&3 '0(.)3*3
2020A0E0 - 2B AA 2C 30 2D 29 2E AA  2F 02 30 AA 31 07 32 28  : +.,0-).. /.0.1.2(
2020A0F0 - 33 30 34 02 35 32 36 35  37 AA 38 30 39 36 3A 3A  : 304.5265 7.8096::
2020A100 - 3B 33 3C AA 3D 02 3E 33  3F 33 40 33 41 30 42 29  : ;3<.=.>3 ?3@3A0B)
2020A110 - 43 AA 00 30 01 35 02 3A  03 33 04 AA 05 02 06 31  : C..0.5.: .3.....1
2020A120 - 07 35 08 3A 09 33 0A 30  0B 29 0C 33 0D 33 0E AA  : .5.:.3.0 .).3.3..
2020A130 - 0F 07 10 29 11 AA 12 02  13 31 14 07 15 28 16 30  : ...).... .1...(.0
2020A140 - 17 35 18 32 19 35 1A AA  1B 02 1C 36 1D 3A 1E 33  : .5.2.5.. ...6.:.3
2020A150 - 1F 30 20 02 21 33 22 33  23 AA 24 30 25 29 26 AA  : .0 .!3"3 #.$0%)&.
2020A160 - 27 02 28 AA 29 07 2A 28  2B 30 2C FF 2C AA 2D 01  : '.(.).*( +0,.,.-.
2020A170 - 2E 31 2F AA 30 28 31 30  32 36 33 3A 34 38 35 AA  : .1/.0(10 263:485.
2020A180 - 36 02 37 33 38 3A 39 33  3A 30 3B 29 3C 31 3D 35  : 6.738:93 :0;)<1=5
2020A190 - 3E AA 3F 07 40 29 41 FF  41 AA 42 02 43 32 00 3A  : >.?.@)A. A.B.C2.:
2020A1A0 - 01 33 02 30 03 29 04 33  05 33 06 AA 07 07 08 29  : .3.0.).3 .3.....)
2020A1B0 - 09 AA 0A 02 0B 31 0C 07  0D 28 0E 30 0F 35 10 01  : .....1.. .(.0.5..
2020A1C0 - 11 31 12 AA 13 02 14 30  15 36 16 3A 17 33 18 AA  : .1.....0 .6.:.3..
2020A1D0 - 19 02 1A 33 1B 33 1C 33  1D 30 1E 29 1F AA 20 35  : ...3.3.3 .0.).. 5
2020A1E0 - 21 AA 22 07 23 28 24 FF  24 AA 25 02 26 32 27 35  : !.".#($. $.%.&2'5
2020A1F0 - 28 28 29 30 2A 36 2B 3A  2C 38 2D AA 2E 02 2F 33  : (()0*6+: ,8-.../3
2020A200 - 30 3A 31 33 32 30 33 29  34 31 35 35 36 AA 37 07  : 0:13203) 41556.7.
2020A210 - 38 30 39 29 3A FF 3A AA  3B 01 3C AA 3D 07 3E 28  : 809):.:. ;.<.=.>(
2020A220 - 3F 30 40 02 41 31 42 38  43 AA FF FF FF FF FF FF  : ?0@.A1B8 C.......
2020A230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
2020AFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601FA000 - 00 31 01 35 02 AA 03 07  04 29 05 AA 06 02 07 32  : .1.5.... .).....2
601FA010 - 08 07 09 28 0A 30 0B 36  0C 31 0D 38 0E AA 0F 02  : ...(.0.6 .1.8....
601FA020 - 10 35 11 3A 12 33 13 30  14 02 15 31 16 35 17 AA  : .5.:.3.0 ...1.5..
601FA030 - 18 33 19 30 1A 29 1B AA  1C 33 1D AA 1E 07 1F 28  : .3.0.).. .3.....(
601FA040 - 20 AA 21 02 22 31 23 38  24 28 25 30 26 35 27 3A  :  .!."1#8 $(%0&5':
601FA050 - 28 35 29 AA 2A 02 2B 31  2C 3A 2D 33 2E 30 2F 29  : (5).*.+1 ,:-3.0/)
601FA060 - 30 33 31 33 32 AA 33 07  34 29 35 AA 36 02 37 31  : 03132.3. 4)5.6.71
601FA070 - 38 07 39 28 3A 30 3B 35  3C 01 3D 31 3E AA 3F 02  : 8.9(:0;5 <.=1>.?.
601FA080 - 40 30 41 36 42 3A 43 33  00 AA 01 07 02 28 03 30  : @0A6B:C3 .....(.0
601FA090 - 04 02 05 31 06 38 07 AA  08 30 09 35 0A 3A 0B 33  : ...1.8.. .0.5.:.3
601FA0A0 - 0C AA 0D 02 0E 31 0F 35  10 33 11 30 12 29 13 FF  : .....1.5 .3.0.)..
601FA0B0 - 13 AA 14 33 15 AA 16 07  17 28 18 AA 19 02 1A 31  : ...3.... .(.....1
601FA0C0 - 1B 38 1C 28 1D 30 1E 35  1F 3A 20 31 21 AA 22 02  : .8.(.0.5 .: 1!.".
601FA0D0 - 23 31 24 36 25 3A 26 33  27 30 28 02 29 33 2A 33  : #1$6%:&3 '0(.)3*3
601FA0E0 - 2B AA 2C 30 2D 29 2E AA  2F 02 30 AA 31 07 32 28  : +.,0-).. /.0.1.2(
601FA0F0 - 33 30 34 02 35 32 36 35  37 AA 38 30 39 36 3A 3A  : 304.5265 7.8096::
601FA100 - 3B 33 3C AA 3D 02 3E 33  3F 33 40 33 41 30 42 29  : ;3<.=.>3 ?3@3A0B)
601FA110 - 43 AA 00 30 01 35 02 3A  03 33 04 AA 05 02 06 31  : C..0.5.: .3.....1
601FA120 - 07 35 08 3A 09 33 0A 30  0B 29 0C 33 0D 33 0E AA  : .5.:.3.0 .).3.3..
601FA130 - 0F 07 10 29 11 AA 12 02  13 31 14 07 15 28 16 30  : ...).... .1...(.0
601FA140 - 17 35 18 32 19 35 1A AA  1B 02 1C 36 1D 3A 1E 33  : .5.2.5.. ...6.:.3
601FA150 - 1F 30 20 02 21 33 22 33  23 AA 24 30 25 29 26 AA  : .0 .!3"3 #.$0%)&.
601FA160 - 27 02 28 AA 29 07 2A 28  2B 30 2C FF 2C AA 2D 01  : '.(.).*( +0,.,.-.
601FA170 - 2E 31 2F AA 30 28 31 30  32 36 33 3A 34 38 35 AA  : .1/.0(10 263:485.
601FA180 - 36 02 37 33 38 3A 39 33  3A 30 3B 29 3C 31 3D 35  : 6.738:93 :0;)<1=5
601FA190 - 3E AA 3F 07 40 29 41 FF  41 AA 42 02 43 32 00 3A  : >.?.@)A. A.B.C2.:
601FA1A0 - 01 33 02 30 03 29 04 33  05 33 06 AA 07 07 08 29  : .3.0.).3 .3.....)
601FA1B0 - 09 AA 0A 02 0B 31 0C 07  0D 28 0E 30 0F 35 10 01  : .....1.. .(.0.5..
601FA1C0 - 11 31 12 AA 13 02 14 30  15 36 16 3A 17 33 18 AA  : .1.....0 .6.:.3..
601FA1D0 - 19 02 1A 33 1B 33 1C 33  1D 30 1E 29 1F AA 20 35  : ...3.3.3 .0.).. 5
601FA1E0 - 21 AA 22 07 23 28 24 FF  24 AA 25 02 26 32 27 35  : !.".#($. $.%.&2'5
601FA1F0 - 28 28 29 30 2A 36 2B 3A  2C 38 2D AA 2E 02 2F 33  : (()0*6+: ,8-.../3
601FA200 - 30 3A 31 33 32 30 33 29  34 31 35 35 36 AA 37 07  : 0:13203) 41556.7.
601FA210 - 38 30 39 29 3A FF 3A AA  3B 01 3C AA 3D 07 3E 28  : 809):.:. ;.<.=.>(
601FA220 - 3F 30 40 02 41 31 42 38  43 AA FF FF FF FF FF FF  : ?0@.A1B8 C.......
601FA230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601FAFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 11 addr: 0x601fb000
Before
2020B000 - 00 28 01 30 02 35 03 3A  04 35 05 AA 06 02 07 31  : .(.0.5.: .5.....1
2020B010 - 08 3A 09 33 0A 30 0B 29  0C 33 0D 33 0E AA 0F 07  : .:.3.0.) .3.3....
2020B020 - 10 29 11 AA 12 02 13 31  14 07 15 28 16 30 17 35  : .).....1 ...(.0.5
2020B030 - 18 01 19 31 1A AA 1B 02  1C 30 1D 36 1E 3A 1F 33  : ...1.... .0.6.:.3
2020B040 - 20 AA 21 02 22 33 23 33  24 33 25 30 26 29 27 AA  :  .!."3#3 $3%0&)'.
2020B050 - 28 35 29 AA 2A 07 2B 28  2C AA 2D 02 2E 32 2F 35  : (5).*.+( ,.-..2/5
2020B060 - 30 28 31 30 32 36 33 3A  34 38 35 AA 36 02 37 33  : 0(10263: 485.6.73
2020B070 - 38 3A 39 33 3A 30 3B 29  3C 31 3D 35 3E AA 3F 07  : 8:93:0;) <1=5>.?.
2020B080 - 40 30 41 29 42 AA 43 01  00 36 01 3A 02 33 03 30  : @0A)B.C. .6.:.3.0
2020B090 - 04 02 05 33 06 33 07 AA  08 30 09 29 0A AA 0B 02  : ...3.3.. .0.)....
2020B0A0 - 0C AA 0D 07 0E 28 0F 30  10 02 11 32 12 35 13 AA  : .....(.0 ...2.5..
2020B0B0 - 14 30 15 36 16 3A 17 33  18 AA 19 02 1A 33 1B 33  : .0.6.:.3 .....3.3
2020B0C0 - 1C 33 1D 30 1E 29 1F AA  20 35 21 AA 22 07 23 28  : .3.0.)..  5!.".#(
2020B0D0 - 24 29 25 FF 25 AA 26 01  27 31 28 07 29 28 2A 30  : $)%.%.&. '1(.)(*0
2020B0E0 - 2B 36 2C 31 2D 38 2E AA  2F 02 30 35 31 3A 32 33  : +6,1-8.. /.051:23
2020B0F0 - 33 30 34 02 35 31 36 35  37 AA 38 30 39 29 3A FF  : 304.5165 7.809):.
2020B100 - 3A AA 3B 02 3C AA 3D 07  3E 28 3F 30 40 02 41 31  : :.;.<.=. >(?0@.A1
2020B110 - 42 38 43 AA 00 30 01 29  02 AA 03 02 04 AA 05 07  : B8C..0.) ........
2020B120 - 06 28 07 30 08 FF 08 AA  09 01 0A 31 0B AA 0C 28  : .(.0.... ...1...(
2020B130 - 0D 30 0E 36 0F 3A 10 38  11 AA 12 02 13 33 14 3A  : .0.6.:.8 .....3.:
2020B140 - 15 33 16 30 17 29 18 31  19 35 1A AA 1B 07 1C 29  : .3.0.).1 .5.....)
2020B150 - 1D FF 1D AA 1E 02 1F 32  20 07 21 28 22 30 23 36  : .......2  .!("0#6
2020B160 - 24 31 25 38 26 AA 27 02  28 35 29 3A 2A 33 2B 30  : $1%8&.'. (5):*3+0
2020B170 - 2C 02 2D 31 2E 35 2F AA  30 33 31 30 32 29 33 FF  : ,.-1.5/. 03102)3.
2020B180 - 33 AA 34 33 35 AA 36 07  37 28 38 AA 39 02 3A 31  : 3.435.6. 7(8.9.:1
2020B190 - 3B 38 3C 28 3D 30 3E 35  3F 3A 40 35 41 AA 42 02  : ;8<(=0>5 ?:@5A.B.
2020B1A0 - 43 31 00 FF 00 AA 01 02  02 32 03 35 04 28 05 30  : C1...... .2.5.(.0
2020B1B0 - 06 36 07 3A 08 38 09 AA  0A 02 0B 33 0C 3A 0D 33  : .6.:.8.. ...3.:.3
2020B1C0 - 0E 30 0F 29 10 31 11 35  12 AA 13 07 14 30 15 29  : .0.).1.5 .....0.)
2020B1D0 - 16 FF 16 AA 17 01 18 AA  19 07 1A 28 1B 30 1C 02  : ........ ...(.0..
2020B1E0 - 1D 31 1E 38 1F AA 20 30  21 35 22 3A 23 33 24 AA  : .1.8.. 0 !5":#3$.
2020B1F0 - 25 02 26 31 27 35 28 33  29 30 2A 29 2B FF 2B AA  : %.&1'5(3 )0*)+.+.
2020B200 - 2C 33 2D AA 2E 07 2F 28  30 AA 31 02 32 31 33 38  : ,3-.../( 0.1.2138
2020B210 - 34 28 35 30 36 35 37 3A  38 31 39 AA 3A 02 3B 31  : 4(50657: 819.:.;1
2020B220 - 3C 36 3D 3A 3E 33 3F 30  40 02 41 33 42 33 43 AA  : <6=:>3?0 @.A3B3C.
2020B230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
2020BFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601FB000 - 00 28 01 30 02 35 03 3A  04 35 05 AA 06 02 07 31  : .(.0.5.: .5.....1
601FB010 - 08 3A 09 33 0A 30 0B 29  0C 33 0D 33 0E AA 0F 07  : .:.3.0.) .3.3....
601FB020 - 10 29 11 AA 12 02 13 31  14 07 15 28 16 30 17 35  : .).....1 ...(.0.5
601FB030 - 18 01 19 31 1A AA 1B 02  1C 30 1D 36 1E 3A 1F 33  : ...1.... .0.6.:.3
601FB040 - 20 AA 21 02 22 33 23 33  24 33 25 30 26 29 27 AA  :  .!."3#3 $3%0&)'.
601FB050 - 28 35 29 AA 2A 07 2B 28  2C AA 2D 02 2E 32 2F 35  : (5).*.+( ,.-..2/5
601FB060 - 30 28 31 30 32 36 33 3A  34 38 35 AA 36 02 37 33  : 0(10263: 485.6.73
601FB070 - 38 3A 39 33 3A 30 3B 29  3C 31 3D 35 3E AA 3F 07  : 8:93:0;) <1=5>.?.
601FB080 - 40 30 41 29 42 AA 43 01  00 36 01 3A 02 33 03 30  : @0A)B.C. .6.:.3.0
601FB090 - 04 02 05 33 06 33 07 AA  08 30 09 29 0A AA 0B 02  : ...3.3.. .0.)....
601FB0A0 - 0C AA 0D 07 0E 28 0F 30  10 02 11 32 12 35 13 AA  : .....(.0 ...2.5..
601FB0B0 - 14 30 15 36 16 3A 17 33  18 AA 19 02 1A 33 1B 33  : .0.6.:.3 .....3.3
601FB0C0 - 1C 33 1D 30 1E 29 1F AA  20 35 21 AA 22 07 23 28  : .3.0.)..  5!.".#(
601FB0D0 - 24 29 25 FF 25 AA 26 01  27 31 28 07 29 28 2A 30  : $)%.%.&. '1(.)(*0
601FB0E0 - 2B 36 2C 31 2D 38 2E AA  2F 02 30 35 31 3A 32 33  : +6,1-8.. /.051:23
601FB0F0 - 33 30 34 02 35 31 36 35  37 AA 38 30 39 29 3A FF  : 304.5165 7.809):.
601FB100 - 3A AA 3B 02 3C AA 3D 07  3E 28 3F 30 40 02 41 31  : :.;.<.=. >(?0@.A1
601FB110 - 42 38 43 AA 00 30 01 29  02 AA 03 02 04 AA 05 07  : B8C..0.) ........
601FB120 - 06 28 07 30 08 FF 08 AA  09 01 0A 31 0B AA 0C 28  : .(.0.... ...1...(
601FB130 - 0D 30 0E 36 0F 3A 10 38  11 AA 12 02 13 33 14 3A  : .0.6.:.8 .....3.:
601FB140 - 15 33 16 30 17 29 18 31  19 35 1A AA 1B 07 1C 29  : .3.0.).1 .5.....)
601FB150 - 1D FF 1D AA 1E 02 1F 32  20 07 21 28 22 30 23 36  : .......2  .!("0#6
601FB160 - 24 31 25 38 26 AA 27 02  28 35 29 3A 2A 33 2B 30  : $1%8&.'. (5):*3+0
601FB170 - 2C 02 2D 31 2E 35 2F AA  30 33 31 30 32 29 33 FF  : ,.-1.5/. 03102)3.
601FB180 - 33 AA 34 33 35 AA 36 07  37 28 38 AA 39 02 3A 31  : 3.435.6. 7(8.9.:1
601FB190 - 3B 38 3C 28 3D 30 3E 35  3F 3A 40 35 41 AA 42 02  : ;8<(=0>5 ?:@5A.B.
601FB1A0 - 43 31 00 FF 00 AA 01 02  02 32 03 35 04 28 05 30  : C1...... .2.5.(.0
601FB1B0 - 06 36 07 3A 08 38 09 AA  0A 02 0B 33 0C 3A 0D 33  : .6.:.8.. ...3.:.3
601FB1C0 - 0E 30 0F 29 10 31 11 35  12 AA 13 07 14 30 15 29  : .0.).1.5 .....0.)
601FB1D0 - 16 FF 16 AA 17 01 18 AA  19 07 1A 28 1B 30 1C 02  : ........ ...(.0..
601FB1E0 - 1D 31 1E 38 1F AA 20 30  21 35 22 3A 23 33 24 AA  : .1.8.. 0 !5":#3$.
601FB1F0 - 25 02 26 31 27 35 28 33  29 30 2A 29 2B FF 2B AA  : %.&1'5(3 )0*)+.+.
601FB200 - 2C 33 2D AA 2E 07 2F 28  30 AA 31 02 32 31 33 38  : ,3-.../( 0.1.2138
601FB210 - 34 28 35 30 36 35 37 3A  38 31 39 AA 3A 02 3B 31  : 4(50657: 819.:.;1
601FB220 - 3C 36 3D 3A 3E 33 3F 30  40 02 41 33 42 33 43 AA  : <6=:>3?0 @.A3B3C.
601FB230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601FBFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 12 addr: 0x601fc000
Before
2020C000 - 00 33 01 30 02 29 03 AA  04 35 05 AA 06 07 07 28  : .3.0.).. .5.....(
2020C010 - 08 AA 09 02 0A 32 0B 35  0C 28 0D 30 0E 36 0F 3A  : .....2.5 .(.0.6.:
2020C020 - 10 38 11 AA 12 02 13 33  14 3A 15 33 16 30 17 29  : .8.....3 .:.3.0.)
2020C030 - 18 31 19 35 1A AA 1B 07  1C 30 1D 29 1E AA 1F 01  : .1.5.... .0.)....
2020C040 - 20 AA 21 07 22 28 23 30  24 02 25 31 26 38 27 AA  :  .!."(#0 $.%1&8'.
2020C050 - 28 30 29 35 2A 3A 2B 33  2C AA 2D 02 2E 31 2F 35  : (0)5*:+3 ,.-..1/5
2020C060 - 30 33 31 30 32 29 33 AA  34 33 35 AA 36 07 37 28  : 03102)3. 435.6.7(
2020C070 - 38 AA 39 02 3A 31 3B 38  3C 28 3D 30 3E 35 3F 3A  : 8.9.:1;8 <(=0>5?:
2020C080 - 40 31 41 AA 42 02 43 31  00 29 01 FF 01 AA 02 01  : @1A.B.C1 .)......
2020C090 - 03 31 04 07 05 28 06 30  07 36 08 31 09 38 0A AA  : .1...(.0 .6.1.8..
2020C0A0 - 0B 02 0C 35 0D 3A 0E 33  0F 30 10 02 11 31 12 35  : ...5.:.3 .0...1.5
2020C0B0 - 13 AA 14 30 15 29 16 FF  16 AA 17 02 18 AA 19 07  : ...0.).. ........
2020C0C0 - 1A 28 1B 30 1C 02 1D 31  1E 38 1F AA 20 30 21 35  : .(.0...1 .8.. 0!5
2020C0D0 - 22 3A 23 33 24 AA 25 02  26 31 27 35 28 3A 29 33  : ":#3$.%. &1'5(:)3
2020C0E0 - 2A 30 2B 29 2C 33 2D 33  2E AA 2F 07 30 29 31 AA  : *0+),3-3 ../.0)1.
2020C0F0 - 32 02 33 31 34 07 35 28  36 30 37 35 38 32 39 35  : 2.314.5( 60758295
2020C100 - 3A AA 3B 02 3C 36 3D 3A  3E 33 3F 30 40 02 41 33  : :.;.<6=: >3?0@.A3
2020C110 - 42 33 43 AA 00 31 01 38  02 AA 03 02 04 35 05 3A  : B3C..1.8 .....5.:
2020C120 - 06 33 07 30 08 02 09 31  0A 35 0B AA 0C 33 0D 30  : .3.0...1 .5...3.0
2020C130 - 0E 29 0F FF 0F AA 10 33  11 AA 12 07 13 28 14 AA  : .).....3 .....(..
2020C140 - 15 02 16 31 17 38 18 28  19 30 1A 35 1B 3A 1C 35  : ...1.8.( .0.5.:.5
2020C150 - 1D AA 1E 02 1F 31 20 3A  21 33 22 30 23 29 24 33  : .....1 : !3"0#)$3
2020C160 - 25 33 26 AA 27 07 28 29  29 AA 2A 02 2B 31 2C 07  : %3&.'.() ).*.+1,.
2020C170 - 2D 28 2E 30 2F 35 30 01  31 31 32 AA 33 02 34 30  : -(.0/50. 112.3.40
2020C180 - 35 36 36 3A 37 33 38 AA  39 02 3A 33 3B 33 3C 33  : 566:738. 9.:3;3<3
2020C190 - 3D 30 3E 29 3F AA 40 35  41 AA 42 07 43 28 00 AA  : =0>)?.@5 A.B.C(..
2020C1A0 - 01 02 02 31 03 35 04 33  05 30 06 29 07 FF 07 AA  : ...1.5.3 .0.)....
2020C1B0 - 08 33 09 AA 0A 07 0B 28  0C AA 0D 02 0E 31 0F 38  : .3.....( .....1.8
2020C1C0 - 10 28 11 30 12 35 13 3A  14 31 15 AA 16 02 17 31  : .(.0.5.: .1.....1
2020C1D0 - 18 36 19 3A 1A 33 1B 30  1C 02 1D 33 1E 33 1F AA  : .6.:.3.0 ...3.3..
2020C1E0 - 20 30 21 29 22 AA 23 02  24 AA 25 07 26 28 27 30  :  0!)".#. $.%.&('0
2020C1F0 - 28 02 29 32 2A 35 2B AA  2C 30 2D 36 2E 3A 2F 33  : (.)2*5+. ,0-6.:/3
2020C200 - 30 AA 31 02 32 33 33 33  34 33 35 30 36 29 37 AA  : 0.1.2333 43506)7.
2020C210 - 38 35 39 AA 3A 07 3B 28  3C 29 3D FF 3D AA 3E 01  : 859.:.;( <)=.=.>.
2020C220 - 3F 31 40 07 41 28 42 30  43 36 FF FF FF FF FF FF  : ?1@.A(B0 C6......
2020C230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
2020CFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601FC000 - 00 33 01 30 02 29 03 AA  04 35 05 AA 06 07 07 28  : .3.0.).. .5.....(
601FC010 - 08 AA 09 02 0A 32 0B 35  0C 28 0D 30 0E 36 0F 3A  : .....2.5 .(.0.6.:
601FC020 - 10 38 11 AA 12 02 13 33  14 3A 15 33 16 30 17 29  : .8.....3 .:.3.0.)
601FC030 - 18 31 19 35 1A AA 1B 07  1C 30 1D 29 1E AA 1F 01  : .1.5.... .0.)....
601FC040 - 20 AA 21 07 22 28 23 30  24 02 25 31 26 38 27 AA  :  .!."(#0 $.%1&8'.
601FC050 - 28 30 29 35 2A 3A 2B 33  2C AA 2D 02 2E 31 2F 35  : (0)5*:+3 ,.-..1/5
601FC060 - 30 33 31 30 32 29 33 AA  34 33 35 AA 36 07 37 28  : 03102)3. 435.6.7(
601FC070 - 38 AA 39 02 3A 31 3B 38  3C 28 3D 30 3E 35 3F 3A  : 8.9.:1;8 <(=0>5?:
601FC080 - 40 31 41 AA 42 02 43 31  00 29 01 FF 01 AA 02 01  : @1A.B.C1 .)......
601FC090 - 03 31 04 07 05 28 06 30  07 36 08 31 09 38 0A AA  : .1...(.0 .6.1.8..
601FC0A0 - 0B 02 0C 35 0D 3A 0E 33  0F 30 10 02 11 31 12 35  : ...5.:.3 .0...1.5
601FC0B0 - 13 AA 14 30 15 29 16 FF  16 AA 17 02 18 AA 19 07  : ...0.).. ........
601FC0C0 - 1A 28 1B 30 1C 02 1D 31  1E 38 1F AA 20 30 21 35  : .(.0...1 .8.. 0!5
601FC0D0 - 22 3A 23 33 24 AA 25 02  26 31 27 35 28 3A 29 33  : ":#3$.%. &1'5(:)3
601FC0E0 - 2A 30 2B 29 2C 33 2D 33  2E AA 2F 07 30 29 31 AA  : *0+),3-3 ../.0)1.
601FC0F0 - 32 02 33 31 34 07 35 28  36 30 37 35 38 32 39 35  : 2.314.5( 60758295
601FC100 - 3A AA 3B 02 3C 36 3D 3A  3E 33 3F 30 40 02 41 33  : :.;.<6=: >3?0@.A3
601FC110 - 42 33 43 AA 00 31 01 38  02 AA 03 02 04 35 05 3A  : B3C..1.8 .....5.:
601FC120 - 06 33 07 30 08 02 09 31  0A 35 0B AA 0C 33 0D 30  : .3.0...1 .5...3.0
601FC130 - 0E 29 0F FF 0F AA 10 33  11 AA 12 07 13 28 14 AA  : .).....3 .....(..
601FC140 - 15 02 16 31 17 38 18 28  19 30 1A 35 1B 3A 1C 35  : ...1.8.( .0.5.:.5
601FC150 - 1D AA 1E 02 1F 31 20 3A  21 33 22 30 23 29 24 33  : .....1 : !3"0#)$3
601FC160 - 25 33 26 AA 27 07 28 29  29 AA 2A 02 2B 31 2C 07  : %3&.'.() ).*.+1,.
601FC170 - 2D 28 2E 30 2F 35 30 01  31 31 32 AA 33 02 34 30  : -(.0/50. 112.3.40
601FC180 - 35 36 36 3A 37 33 38 AA  39 02 3A 33 3B 33 3C 33  : 566:738. 9.:3;3<3
601FC190 - 3D 30 3E 29 3F AA 40 35  41 AA 42 07 43 28 00 AA  : =0>)?.@5 A.B.C(..
601FC1A0 - 01 02 02 31 03 35 04 33  05 30 06 29 07 FF 07 AA  : ...1.5.3 .0.)....
601FC1B0 - 08 33 09 AA 0A 07 0B 28  0C AA 0D 02 0E 31 0F 38  : .3.....( .....1.8
601FC1C0 - 10 28 11 30 12 35 13 3A  14 31 15 AA 16 02 17 31  : .(.0.5.: .1.....1
601FC1D0 - 18 36 19 3A 1A 33 1B 30  1C 02 1D 33 1E 33 1F AA  : .6.:.3.0 ...3.3..
601FC1E0 - 20 30 21 29 22 AA 23 02  24 AA 25 07 26 28 27 30  :  0!)".#. $.%.&('0
601FC1F0 - 28 02 29 32 2A 35 2B AA  2C 30 2D 36 2E 3A 2F 33  : (.)2*5+. ,0-6.:/3
601FC200 - 30 AA 31 02 32 33 33 33  34 33 35 30 36 29 37 AA  : 0.1.2333 43506)7.
601FC210 - 38 35 39 AA 3A 07 3B 28  3C 29 3D FF 3D AA 3E 01  : 859.:.;( <)=.=.>.
601FC220 - 3F 31 40 07 41 28 42 30  43 36 FF FF FF FF FF FF  : ?1@.A(B0 C6......
601FC230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601FCFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 13 addr: 0x601fd000
Before
2020D000 - 00 02 01 31 02 38 03 AA  04 30 05 35 06 3A 07 33  : ...1.8.. .0.5.:.3
2020D010 - 08 AA 09 02 0A 31 0B 35  0C 33 0D 30 0E 29 0F AA  : .....1.5 .3.0.)..
2020D020 - 10 33 11 AA 12 07 13 28  14 AA 15 02 16 31 17 38  : .3.....( .....1.8
2020D030 - 18 28 19 30 1A 35 1B 3A  1C 31 1D AA 1E 02 1F 31  : .(.0.5.: .1.....1
2020D040 - 20 36 21 3A 22 33 23 30  24 02 25 33 26 33 27 AA  :  6!:"3#0 $.%3&3'.
2020D050 - 28 30 29 29 2A AA 2B 02  2C AA 2D 07 2E 28 2F 30  : (0))*.+. ,.-..(/0
2020D060 - 30 02 31 32 32 35 33 AA  34 30 35 36 36 3A 37 33  : 0.12253. 40566:73
2020D070 - 38 AA 39 02 3A 33 3B 33  3C 33 3D 30 3E 29 3F AA  : 8.9.:3;3 <3=0>)?.
2020D080 - 40 35 41 AA 42 07 43 28  00 AA 01 02 02 31 03 35  : @5A.B.C( .....1.5
2020D090 - 04 3A 05 33 06 30 07 29  08 33 09 33 0A AA 0B 07  : .:.3.0.) .3.3....
2020D0A0 - 0C 29 0D AA 0E 02 0F 31  10 07 11 28 12 30 13 35  : .).....1 ...(.0.5
2020D0B0 - 14 32 15 35 16 AA 17 02  18 36 19 3A 1A 33 1B 30  : .2.5.... .6.:.3.0
2020D0C0 - 1C 02 1D 33 1E 33 1F AA  20 30 21 29 22 AA 23 02  : ...3.3..  0!)".#.
2020D0D0 - 24 AA 25 07 26 28 27 30  28 FF 28 AA 29 01 2A 31  : $.%.&('0 (.(.).*1
2020D0E0 - 2B AA 2C 28 2D 30 2E 36  2F 3A 30 38 31 AA 32 02  : +.,(-0.6 /:081.2.
2020D0F0 - 33 33 34 3A 35 33 36 30  37 29 38 31 39 35 3A AA  : 334:5360 7)8195:.
2020D100 - 3B 07 3C 29 3D FF 3D AA  3E 02 3F 32 40 07 41 28  : ;.<)=.=. >.?2@.A(
2020D110 - 42 30 43 36 00 33 01 33  02 AA 03 07 04 29 05 AA  : B0C6.3.3 .....)..
2020D120 - 06 02 07 31 08 07 09 28  0A 30 0B 35 0C 01 0D 31  : ...1...( .0.5...1
2020D130 - 0E AA 0F 02 10 30 11 36  12 3A 13 33 14 AA 15 02  : .....0.6 .:.3....
2020D140 - 16 33 17 33 18 33 19 30  1A 29 1B AA 1C 35 1D AA  : .3.3.3.0 .)...5..
2020D150 - 1E 07 1F 28 20 FF 20 AA  21 02 22 32 23 35 24 28  : ...( . . !."2#5$(
2020D160 - 25 30 26 36 27 3A 28 38  29 AA 2A 02 2B 33 2C 3A  : %0&6':(8 ).*.+3,:
2020D170 - 2D 33 2E 30 2F 29 30 31  31 35 32 AA 33 07 34 30  : -3.0/)01 152.3.40
2020D180 - 35 29 36 FF 36 AA 37 01  38 AA 39 07 3A 28 3B 30  : 5)6.6.7. 8.9.:(;0
2020D190 - 3C 02 3D 31 3E 38 3F AA  40 30 41 35 42 3A 43 33  : <.=1>8?. @0A5B:C3
2020D1A0 - 00 AA 01 07 02 28 03 30  04 02 05 32 06 35 07 AA  : .....(.0 ...2.5..
2020D1B0 - 08 30 09 36 0A 3A 0B 33  0C AA 0D 02 0E 33 0F 33  : .0.6.:.3 .....3.3
2020D1C0 - 10 33 11 30 12 29 13 AA  14 35 15 AA 16 07 17 28  : .3.0.).. .5.....(
2020D1D0 - 18 29 19 FF 19 AA 1A 01  1B 31 1C 07 1D 28 1E 30  : .)...... .1...(.0
2020D1E0 - 1F 36 20 31 21 38 22 AA  23 02 24 35 25 3A 26 33  : .6 1!8". #.$5%:&3
2020D1F0 - 27 30 28 02 29 31 2A 35  2B AA 2C 30 2D 29 2E FF  : '0(.)1*5 +.,0-)..
2020D200 - 2E AA 2F 02 30 AA 31 07  32 28 33 30 34 02 35 31  : ../.0.1. 2(304.51
2020D210 - 36 38 37 AA 38 30 39 35  3A 3A 3B 33 3C AA 3D 02  : 687.8095 ::;3<.=.
2020D220 - 3E 31 3F 35 40 3A 41 33  42 30 43 29 FF FF FF FF  : >1?5@:A3 B0C)....
2020D230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
2020DFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601FD000 - 00 02 01 31 02 38 03 AA  04 30 05 35 06 3A 07 33  : ...1.8.. .0.5.:.3
601FD010 - 08 AA 09 02 0A 31 0B 35  0C 33 0D 30 0E 29 0F AA  : .....1.5 .3.0.)..
601FD020 - 10 33 11 AA 12 07 13 28  14 AA 15 02 16 31 17 38  : .3.....( .....1.8
601FD030 - 18 28 19 30 1A 35 1B 3A  1C 31 1D AA 1E 02 1F 31  : .(.0.5.: .1.....1
601FD040 - 20 36 21 3A 22 33 23 30  24 02 25 33 26 33 27 AA  :  6!:"3#0 $.%3&3'.
601FD050 - 28 30 29 29 2A AA 2B 02  2C AA 2D 07 2E 28 2F 30  : (0))*.+. ,.-..(/0
601FD060 - 30 02 31 32 32 35 33 AA  34 30 35 36 36 3A 37 33  : 0.12253. 40566:73
601FD070 - 38 AA 39 02 3A 33 3B 33  3C 33 3D 30 3E 29 3F AA  : 8.9.:3;3 <3=0>)?.
601FD080 - 40 35 41 AA 42 07 43 28  00 AA 01 02 02 31 03 35  : @5A.B.C( .....1.5
601FD090 - 04 3A 05 33 06 30 07 29  08 33 09 33 0A AA 0B 07  : .:.3.0.) .3.3....
601FD0A0 - 0C 29 0D AA 0E 02 0F 31  10 07 11 28 12 30 13 35  : .).....1 ...(.0.5
601FD0B0 - 14 32 15 35 16 AA 17 02  18 36 19 3A 1A 33 1B 30  : .2.5.... .6.:.3.0
601FD0C0 - 1C 02 1D 33 1E 33 1F AA  20 30 21 29 22 AA 23 02  : ...3.3..  0!)".#.
601FD0D0 - 24 AA 25 07 26 28 27 30  28 FF 28 AA 29 01 2A 31  : $.%.&('0 (.(.).*1
601FD0E0 - 2B AA 2C 28 2D 30 2E 36  2F 3A 30 38 31 AA 32 02  : +.,(-0.6 /:081.2.
601FD0F0 - 33 33 34 3A 35 33 36 30  37 29 38 31 39 35 3A AA  : 334:5360 7)8195:.
601FD100 - 3B 07 3C 29 3D FF 3D AA  3E 02 3F 32 40 07 41 28  : ;.<)=.=. >.?2@.A(
601FD110 - 42 30 43 36 00 33 01 33  02 AA 03 07 04 29 05 AA  : B0C6.3.3 .....)..
601FD120 - 06 02 07 31 08 07 09 28  0A 30 0B 35 0C 01 0D 31  : ...1...( .0.5...1
601FD130 - 0E AA 0F 02 10 30 11 36  12 3A 13 33 14 AA 15 02  : .....0.6 .:.3....
601FD140 - 16 33 17 33 18 33 19 30  1A 29 1B AA 1C 35 1D AA  : .3.3.3.0 .)...5..
601FD150 - 1E 07 1F 28 20 FF 20 AA  21 02 22 32 23 35 24 28  : ...( . . !."2#5$(
601FD160 - 25 30 26 36 27 3A 28 38  29 AA 2A 02 2B 33 2C 3A  : %0&6':(8 ).*.+3,:
601FD170 - 2D 33 2E 30 2F 29 30 31  31 35 32 AA 33 07 34 30  : -3.0/)01 152.3.40
601FD180 - 35 29 36 FF 36 AA 37 01  38 AA 39 07 3A 28 3B 30  : 5)6.6.7. 8.9.:(;0
601FD190 - 3C 02 3D 31 3E 38 3F AA  40 30 41 35 42 3A 43 33  : <.=1>8?. @0A5B:C3
601FD1A0 - 00 AA 01 07 02 28 03 30  04 02 05 32 06 35 07 AA  : .....(.0 ...2.5..
601FD1B0 - 08 30 09 36 0A 3A 0B 33  0C AA 0D 02 0E 33 0F 33  : .0.6.:.3 .....3.3
601FD1C0 - 10 33 11 30 12 29 13 AA  14 35 15 AA 16 07 17 28  : .3.0.).. .5.....(
601FD1D0 - 18 29 19 FF 19 AA 1A 01  1B 31 1C 07 1D 28 1E 30  : .)...... .1...(.0
601FD1E0 - 1F 36 20 31 21 38 22 AA  23 02 24 35 25 3A 26 33  : .6 1!8". #.$5%:&3
601FD1F0 - 27 30 28 02 29 31 2A 35  2B AA 2C 30 2D 29 2E FF  : '0(.)1*5 +.,0-)..
601FD200 - 2E AA 2F 02 30 AA 31 07  32 28 33 30 34 02 35 31  : ../.0.1. 2(304.51
601FD210 - 36 38 37 AA 38 30 39 35  3A 3A 3B 33 3C AA 3D 02  : 687.8095 ::;3<.=.
601FD220 - 3E 31 3F 35 40 3A 41 33  42 30 43 29 FF FF FF FF  : >1?5@:A3 B0C)....
601FD230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601FDFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Page 14 addr: 0x601fe000
Before
2020E000 - 00 02 01 33 02 33 03 AA  04 30 05 29 06 AA 07 02  : ...3.3.. .0.)....
2020E010 - 08 AA 09 07 0A 28 0B 30  0C 02 0D 32 0E 35 0F AA  : .....(.0 ...2.5..
2020E020 - 10 30 11 36 12 3A 13 33  14 AA 15 02 16 33 17 33  : .0.6.:.3 .....3.3
2020E030 - 18 33 19 30 1A 29 1B AA  1C 35 1D AA 1E 07 1F 28  : .3.0.).. .5.....(
2020E040 - 20 29 21 AA 22 01 23 31  24 07 25 28 26 30 27 36  :  )!.".#1 $.%(&0'6
2020E050 - 28 31 29 38 2A AA 2B 02  2C 35 2D 3A 2E 33 2F 30  : (1)8*.+. ,5-:.3/0
2020E060 - 30 02 31 31 32 35 33 AA  34 30 35 29 36 AA 37 02  : 0.11253. 405)6.7.
2020E070 - 38 AA 39 07 3A 28 3B 30  3C 02 3D 31 3E 38 3F AA  : 8.9.:(;0 <.=1>8?.
2020E080 - 40 30 41 35 42 3A 43 33  00 AA 01 07 02 28 03 30  : @0A5B:C3 .....(.0
2020E090 - 04 FF 04 AA 05 01 06 31  07 AA 08 28 09 30 0A 36  : .......1 ...(.0.6
2020E0A0 - 0B 3A 0C 38 0D AA 0E 02  0F 33 10 3A 11 33 12 30  : .:.8.... .3.:.3.0
2020E0B0 - 13 29 14 31 15 35 16 AA  17 07 18 29 19 FF 19 AA  : .).1.5.. ...)....
2020E0C0 - 1A 02 1B 32 1C 07 1D 28  1E 30 1F 36 20 31 21 38  : ...2...( .0.6 1!8
2020E0D0 - 22 AA 23 02 24 35 25 3A  26 33 27 30 28 02 29 31  : ".#.$5%: &3'0(.)1
2020E0E0 - 2A 35 2B AA 2C 33 2D 30  2E 29 2F FF 2F AA 30 33  : *5+.,3-0 .)/./.03
2020E0F0 - 31 AA 32 07 33 28 34 AA  35 02 36 31 37 38 38 28  : 1.2.3(4. 5.61788(
2020E100 - 39 30 3A 35 3B 3A 3C 35  3D AA 3E 02 3F 31 40 3A  : 90:5;:<5 =.>.?1@:
2020E110 - 41 33 42 30 43 29 00 28  01 30 02 36 03 3A 04 38  : A3B0C).( .0.6.:.8
2020E120 - 05 AA 06 02 07 33 08 3A  09 33 0A 30 0B 29 0C 31  : .....3.: .3.0.).1
2020E130 - 0D 35 0E AA 0F 07 10 30  11 29 12 FF 12 AA 13 01  : .5.....0 .)......
2020E140 - 14 AA 15 07 16 28 17 30  18 02 19 31 1A 38 1B AA  : .....(.0 ...1.8..
2020E150 - 1C 30 1D 35 1E 3A 1F 33  20 AA 21 02 22 31 23 35  : .0.5.:.3  .!."1#5
2020E160 - 24 33 25 30 26 29 27 FF  27 AA 28 33 29 AA 2A 07  : $3%0&)'. '.(3).*.
2020E170 - 2B 28 2C AA 2D 02 2E 31  2F 38 30 28 31 30 32 35  : +(,.-..1 /80(1025
2020E180 - 33 3A 34 31 35 AA 36 02  37 31 38 36 39 3A 3A 33  : 3:415.6. 71869::3
2020E190 - 3B 30 3C 02 3D 33 3E 33  3F AA 40 30 41 29 42 AA  : ;0<.=3>3 ?.@0A)B.
2020E1A0 - 43 02 00 35 01 3A 02 33  03 30 04 02 05 31 06 35  : C..5.:.3 .0...1.5
2020E1B0 - 07 AA 08 30 09 29 0A FF  0A AA 0B 02 0C AA 0D 07  : ...0.).. ........
2020E1C0 - 0E 28 0F 30 10 02 11 31  12 38 13 AA 14 30 15 35  : .(.0...1 .8...0.5
2020E1D0 - 16 3A 17 33 18 AA 19 02  1A 31 1B 35 1C 3A 1D 33  : .:.3.... .1.5.:.3
2020E1E0 - 1E 30 1F 29 20 33 21 33  22 AA 23 07 24 29 25 AA  : .0.) 3!3 ".#.$)%.
2020E1F0 - 26 02 27 31 28 07 29 28  2A 30 2B 35 2C 32 2D 35  : &.'1(.)( *0+5,2-5
2020E200 - 2E AA 2F 02 30 36 31 3A  32 33 33 30 34 02 35 33  : ../.061: 23304.53
2020E210 - 36 33 37 AA 38 30 39 29  3A AA 3B 02 3C AA 3D 07  : 637.809) :.;.<.=.
2020E220 - 3E 28 3F 30 40 FF FF FF  FF FF FF FF FF FF FF FF  : >(?0@... ........
2020E230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
2020EFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
After
601FE000 - 00 02 01 33 02 33 03 AA  04 30 05 29 06 AA 07 02  : ...3.3.. .0.)....
601FE010 - 08 AA 09 07 0A 28 0B 30  0C 02 0D 32 0E 35 0F AA  : .....(.0 ...2.5..
601FE020 - 10 30 11 36 12 3A 13 33  14 AA 15 02 16 33 17 33  : .0.6.:.3 .....3.3
601FE030 - 18 33 19 30 1A 29 1B AA  1C 35 1D AA 1E 07 1F 28  : .3.0.).. .5.....(
601FE040 - 20 29 21 AA 22 01 23 31  24 07 25 28 26 30 27 36  :  )!.".#1 $.%(&0'6
601FE050 - 28 31 29 38 2A AA 2B 02  2C 35 2D 3A 2E 33 2F 30  : (1)8*.+. ,5-:.3/0
601FE060 - 30 02 31 31 32 35 33 AA  34 30 35 29 36 AA 37 02  : 0.11253. 405)6.7.
601FE070 - 38 AA 39 07 3A 28 3B 30  3C 02 3D 31 3E 38 3F AA  : 8.9.:(;0 <.=1>8?.
601FE080 - 40 30 41 35 42 3A 43 33  00 AA 01 07 02 28 03 30  : @0A5B:C3 .....(.0
601FE090 - 04 FF 04 AA 05 01 06 31  07 AA 08 28 09 30 0A 36  : .......1 ...(.0.6
601FE0A0 - 0B 3A 0C 38 0D AA 0E 02  0F 33 10 3A 11 33 12 30  : .:.8.... .3.:.3.0
601FE0B0 - 13 29 14 31 15 35 16 AA  17 07 18 29 19 FF 19 AA  : .).1.5.. ...)....
601FE0C0 - 1A 02 1B 32 1C 07 1D 28  1E 30 1F 36 20 31 21 38  : ...2...( .0.6 1!8
601FE0D0 - 22 AA 23 02 24 35 25 3A  26 33 27 30 28 02 29 31  : ".#.$5%: &3'0(.)1
601FE0E0 - 2A 35 2B AA 2C 33 2D 30  2E 29 2F FF 2F AA 30 33  : *5+.,3-0 .)/./.03
601FE0F0 - 31 AA 32 07 33 28 34 AA  35 02 36 31 37 38 38 28  : 1.2.3(4. 5.61788(
601FE100 - 39 30 3A 35 3B 3A 3C 35  3D AA 3E 02 3F 31 40 3A  : 90:5;:<5 =.>.?1@:
601FE110 - 41 33 42 30 43 29 00 28  01 30 02 36 03 3A 04 38  : A3B0C).( .0.6.:.8
601FE120 - 05 AA 06 02 07 33 08 3A  09 33 0A 30 0B 29 0C 31  : .....3.: .3.0.).1
601FE130 - 0D 35 0E AA 0F 07 10 30  11 29 12 FF 12 AA 13 01  : .5.....0 .)......
601FE140 - 14 AA 15 07 16 28 17 30  18 02 19 31 1A 38 1B AA  : .....(.0 ...1.8..
601FE150 - 1C 30 1D 35 1E 3A 1F 33  20 AA 21 02 22 31 23 35  : .0.5.:.3  .!."1#5
601FE160 - 24 33 25 30 26 29 27 FF  27 AA 28 33 29 AA 2A 07  : $3%0&)'. '.(3).*.
601FE170 - 2B 28 2C AA 2D 02 2E 31  2F 38 30 28 31 30 32 35  : +(,.-..1 /80(1025
601FE180 - 33 3A 34 31 35 AA 36 02  37 31 38 36 39 3A 3A 33  : 3:415.6. 71869::3
601FE190 - 3B 30 3C 02 3D 33 3E 33  3F AA 40 30 41 29 42 AA  : ;0<.=3>3 ?.@0A)B.
601FE1A0 - 43 02 00 35 01 3A 02 33  03 30 04 02 05 31 06 35  : C..5.:.3 .0...1.5
601FE1B0 - 07 AA 08 30 09 29 0A FF  0A AA 0B 02 0C AA 0D 07  : ...0.).. ........
601FE1C0 - 0E 28 0F 30 10 02 11 31  12 38 13 AA 14 30 15 35  : .(.0...1 .8...0.5
601FE1D0 - 16 3A 17 33 18 AA 19 02  1A 31 1B 35 1C 3A 1D 33  : .:.3.... .1.5.:.3
601FE1E0 - 1E 30 1F 29 20 33 21 33  22 AA 23 07 24 29 25 AA  : .0.) 3!3 ".#.$)%.
601FE1F0 - 26 02 27 31 28 07 29 28  2A 30 2B 35 2C 32 2D 35  : &.'1(.)( *0+5,2-5
601FE200 - 2E AA 2F 02 30 36 31 3A  32 33 33 30 34 02 35 33  : ../.061: 23304.53
601FE210 - 36 33 37 AA 38 30 39 29  3A AA 3B 02 3C AA 3D 07  : 637.809) :.;.<.=.
601FE220 - 3E 28 3F 30 40 FF 40 AA  41 01 42 31 43 AA FF FF  : >(?0@.@. A.B1C...
601FE230 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
...	 219 duplicate line(s) removed.
601FEFF0 - FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  : ........ ........
Pause - hit any key to continue
Hopefully one can go through and figure out where it went wrong...
 
Back
Top