There are a couple issues with the latest version.
The documentation refers to Versions A and B, but the code uses Versions 0 and 1 (and Version 1 is Version A ?)
Version 0 does not compile
Version 1 compiles with warnings.
Version 1 uses the vector table in place, and just replaces the reset vector to one that points to the bootloader, the application reset
vector is moved to 0x1C0 so the bootloader can find it in order to start the application
(the above is my understanding of how it works, correct me if I misunderstand)
The application that is supposed to merge the bootloader and your application generates errors/warnings about overwriting code, but since the bootloader and the application both have a vector table an overlap should be expected.
But, the file created does not work. It appears that the application start vector is not copied to 1C0, even trying to use the "vector relocation" function does not work.
Anyone using this loader on a JM over USB? Any helpful hints?