I don't believe the USBASP based on Atmega8 will program the full address range of the '1284.
actually usbasp has no problem there. ive been using them last couple years for bootloader development with m128 and more recently m1284. its the worlds most popular choice now and my favorite. considering they are only 2 or 3 bucks on ebay i can buy a dozen with enough left over for a handful of avr chips all for less than the price of one mkII. imo dragon would be the next step up with its superior debug and 12v capabilities.
The dragon is nice, but there are a few issues with avrdude and the dragon.
Back to back avrdude commands will fail because avrdude resets the USB when it exits and the
dragon USB enumeration is not complete when the second avrdude command comes in which causes
avrdude to report that there is no dragon device on the USB.
Because of this issue, you can't use the Arduino IDE or the optiboot makefiles with
avrdude on a dragon to burn a bootloader.
I bugged it a few years ago. I've since patched my own avrdude to fix this.
(its like 4-5 lines of code)