EEPROM Living Age Extension for ATmega

Instead for using external EPROM IC you can use this library.

EEPROMLivingAgeExtension is a library that allows your project to use the internal EEPROM to save data over the allocated address space, you define. The library is moving the data in this EEPROM address space. When it’s hits the 100,000 cycles limited for the cells it’s start to move the data to a new location in EEPROM.

Starts from the beginning and works up to the end of the address space you assign. The life extension for your EEPROM is depended of how large the address space and how much data space you allocate.

EEPROM Life calculation for the allocated address space
Use this to calculate the optimized address space to your data and needed EEPROM life.

Start address: EEPROMADRESS
End address: EEPROMADRESS_LAST

DATA-SIZE-WITHIN-EEPROM is value of 0-1023. 4=Long or 2=Integer library.

DataSpace = 4 + ( DATASIZEWITHINEEPROM * "4 or 2" )

LIFECOUNTDOWN = ( ( EEPROMADRESS_LAST – EEPROMADRESS ) / DataSpace ) * 100.000

Data library: Long
EEPROMLivingAgeExtension.zip

Data library: Integer
EEPROMLivingAgeExtensionInt.zip

DOWNLOAD

I recommend you to not store the library files in .zip format in the repository. By doing that you have lost much of the benefits of Git version control and it makes it more difficult for anyone to collaborate on your project. There is really no reason to put the files in a .zip because GitHub automatically produces .zip files of the repository. You can download the contents of the repository at any point in history via GitHub's Clone or download > Download ZIP button. A zip file link will also be automatically added to any release you create.

Regarding the whole int/long thing, it seems like it should be possible to make a single library work for either. If not, then you can create a separate repository for each version of the library or separate branches if you prefer to keep them in the same repo.