Spreading the whole code - it makes no sense. It's a lot of text.
I've been checking the code all day today. As soon as the .bin firmware file exceeds 0x8000, problems begin.
The problem is not with the new feature. Old functions stop working. I temporarily remove ANY fragment so that the bin file becomes less than 0x8000 - everything works, including the new function.