problem porting new bootloader with avrdude

It's been a while since I've been in the avrdude code but there was some code
at one point to try to avoid writing 0xff
It would look for a block of FFs and the remove it from the areas that need to be burned.
However it would still verify them.
It could be that the verify is what is taking all the time.

avrdude also has some really dumb sections in it with respect to reading data
depending on the interface used and the memory type accessed.
In some cases it will read blocks of 256 bytes but only use 1 byte from it. So reading
1k of data ends up reading 1000 256 bytes of data.
This is why the dragon is so slow dumping memory even though it is USB based.

Run it in verbose mode to see what is going on.
You will quickly see what it is doing.
Being able to make it better, well that is another matter.

But first you need to see what is really going on.

--- bill