what am i doing wrong?

So I've been trying to learn about avrdude and isp so I was trying to upload the blink.cpp.hex file from the compiled example, it uploaded no problem but it didn't actually blink, so I tried re uploading the bootloader and I get an error verification mismatch, then the led blinks in a strange pattern
however I was able to upload the normal way with the ide afterwards
im using this command to upload the blink.hex file from where the ide compiles it

Avrdude -p m2560 -c usbasp -U flash:w:blink.hex

YOu can see the command the IDE uses for avrdude by holding the shiftkey when pressing the upload button.

There might be a parameter you missed.

I just tried with the ide using upload with programmer, I get no errors except for cannot set sck period, but it continues to upload and verify no problem
except it doesn't blink...
same if I did it with avrdude, can it be my usbasp?

Ok I tried it with my uno and it works fine, what's the difference with the mega?