The limit for the fsq6 loader is about 14MB (24-bit linear address minus the potential 15-16M ISA/ROM hole minus the starting address of the loaded copy at 1M).
The problem is in the startup code, which will copy itself to where it was linked, which by default is 4M. It does this regardless of the boot loader (diskpc2 or diskpc2-fsq6).
So if your boot image is >3M, then when it is loaded at 1M startup copies about 128k of itself to 4MB, overwriting some of the image (you can see this in the 'corruption', the first bad bytes are the startup signature 0x00ff7eeb; also why the corruption seems random based on how they layout their boot image).
Possible workarounds:
* keep image size <3M
* change where you link the image - in the boot file add an attribute, say "[image=8m]" (just prior to the "[virtual=..]
boot ... " line) to link the startup to eg 8M, which would allow you a 7MB boot image.
NOTE:
This entry has been validated against the SDP version listed above. Use
caution when considering this advice for any other SDP version. For
supported releases, please reach out to QNX Technical Support if you have any questions/concerns.