Prevent USBTinyISP from erasing EEPROM?

I've been working on a little project with my Arduino Nano V3 board that does quite a bit with EEPROM. To avoid the annoying bootloader delay, I'm trying to write the sketch with my USBTinyISP. That works.

However, something the USBTinyISP does that the bootloader-based sketch writing never did is reset my EEPROM. Crap! The project relies on the EEPROM starting a certain way, and I have a separate sketch designed to format the EEPROM correctly before the main sketch is written. If the EEPROM is being erased when I write the main sketch, the main sketch won't work properly.

Is there any way to write a sketch via USBTinyISP without erasing EEPROM?

The problem is very likely the processor fuse settings.

Could you elaborate on this? I just spent the last few hours troubleshooting the exact same problem until I realized the USBTinyISP sets the EEPROM values to 0xFF. Here's a copy of the settings I'm using in the boards.txt file:

##############################################################

usbtiny328gps.name=[usbtinyisp]ATmega328gps_with_bootloader_8MHz

usbtiny328gps.upload.using=usbtinyisp
usbtiny328gps.upload.maximum_size=32768

usbtiny328gps.bootloader.low_fuses=0xFF
usbtiny328gps.bootloader.high_fuses=0xDA
usbtiny328gps.bootloader.extended_fuses=0x05
usbtiny328gps.bootloader.path=atmega
usbtiny328gps.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
usbtiny328gps.bootloader.unlock_bits=0x3F
usbtiny328gps.bootloader.lock_bits=0x0F

usbtiny328gps.build.mcu=atmega328p
usbtiny328gps.build.f_cpu=8000000L
usbtiny328gps.build.core=arduino

##############################################################

Certainly...

Go to our favourite fuse calculator...
http://www.engbedded.com/fusecalc/

Towards the bottom, under the Current settings section, enter the three fuse values (FF, DA, 05). Click the Apply values button to ensure the webpage is up-to-date.

Towards the top, under the Feature configuration section, ensure Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0] is checked. Click the Apply feature settings button to ensure the webpage is up-to-date.

The Current settings section has the new fuse values. Once those fuse values are applied, the EEPROM will not be erased except when you explicitly erase it.

Sweet. I'll give it a try. Thanks.