Juno FDxboot 1.51x - Ultimate 31kB/s Upload speed Atmega128 - RAMPZ bootloader AVR MCU Atmel AVR109
v1.5 is great and working great, but looking back, the code is very dumb because of the lack of true clarity in every level, and now 1.51 is a huge leap even thought only few lines of code has been modified, and the 1.51 is absolutely perfect in anyway. 1.51x is based on 1.51 that supports MCU with RAMPZ, AKA 64kb and more flash memory, but FDxBOOT based on AVR109 can only send a 16-bit word address, so it limits to 128kb MCU ONLY such as the Atmega128.
-1.51 Features
--code reviewed and rewritten to a near in perfection condition
--support up to 2Mbps, 2Mbps is the absolute maximize transfer rate with an AVR clocked at 16MHz
--1.51x created to support 128k flash memory MCU
--2 auto upload options: 1 with software reset and 1 with hardware reset
--Max upload speed achieved: 100232/3.17=31618kB/s
Next 1.52
-- Add EEPROM write and read, FDxboot 1.51 is a sub 1k bootloader, and there are plenty more space to do more.
PS. The block of data is so larger, than my normal USB 2.0 hub can't seem to work properly, but connected to my 3.0 USB hub, it works flawless, so the quality of the USB cable and the USB port is very critical.
PPS. 2Mbps is not stable on this MCU because reading back the flash memory is too slow, but it actually can write at 2Mbps with no problem. Upload speed is about 2.8s, but if read back failed, then this doesn't count.
PPPS. 31kb/s is more than 15 times faster than a typical USBasp which has a upload speed of around 2kb/s. Upload speed is critical for development phase where frequent uploads are needed.