I discovered problems in my chitucypt script, and figured out why encrypted firmware didn't load more than once. It turns out, the firmware stores the file key in the I2C EEPROM, which is why if you attempt to flash the same data over and over, it won't. I've also found some truly odd behavior that I can work around by padding the EEPROM, but I can't explain. My suspicion is that the file key is not entirely random - it indicates something about the size of the file or the blocks. The problem with this theory is that i can roundtrip a Chitu firmware, flashing it with a truly random key, and it works.
I simply don't know, yet. I can't debug the board, but I binary patched the bootloader to replace error messages with some values, and I suspect something is going wrong with the CRC...I just don't know what yet.
Also, someone has successfully ported Marlin, using LCD and touch screen -
This is not my code, but I built it and flashed it using he STM32Cube programmer to 0x8000000 and it works. It's not the new Canvas based LCD code there's a PR out for, but it's Marlin, and it works.