Be careful when you using USBASP programmer for ATMEGA2560. Because of a (very old?) bug inside firmware of fischl’s programmer for the 2560, boot code is not pushed in the right place. Even when I updated with the last version, and even even when updated with alternative version of the firmware.
The only way i could get a programmer who is compatible with Arduino boot-loader… is to use the last ArduinoAsISP sketch inside the last version of IDE. See information link below :