Currently, if the fpga firmware header does not match the rom firmware header, the M64 will print 'F' in TXBL[0][0]. This is implemented in handle_bad_firmware. Ideally, there should be a more detailed error code.
Proposed Solution
If the firmwares don't match, we should print both the fpga firmware header and rom firmware header. Note that if the null terminator is not found in a header, the header is assumed to be 256 bytes.