Reason for USBTinyISP 64K limit?

Adafruit states there's a limit of 64K for the USBTinyISP (although I have seen comments that it's based on the no. of words so that can mean 128K in some cases). The question is why? Surely if it's using serial communication, there shouldn't be a hard limit. Is it just a question of having the right firmware?

A second question is what do people use for e.g. the 2560?

Rob.

From my experience, it can write to any memory location just fine. However, it has problems reading from > 64kB. I haven't looked at its source code, so I don't know why.

Most people that use a dedicated programmer use the USBasp I think.