Since the problem came up when flashing the program, I doubted RAM usage had anything to do with it, since
the only thing in RAM after flashing is the bootloader itself, so I looked at which versions worked and which didn’t
on your device, including earlier and the 3 slot versions. The one thing in common with all the ones that didn’t work
was that the last part of the program code went past a certain address, some 18KB before the start of the FPGA.
I figured the bootloader probably stops and gives an error if it detects code trying to load past that point, for whatever
reason, possibly to prevent overwriting something there, or the FPGA further down, so I shifted some of the code
around so it would end sooner and stay clear of that point.
Anyone writing programs for these devices should be advised to keep their code below address 0x58000 The FPGA
reportedly starts at 0x5C800 on HW 2.81