Repository navigation
Resend a LOAD or WRITE_MEM the link damaged - #49
Conversation
A FIFO link with no flow control can drop a host byte: the chunk then takes the next frame's first byte for its checksum and fails ECKSUM, and the frame after it, missing its start byte, gets no reply. psxmon gave up on the first ECKSUM. It now PINGs the link back into step and resends from the failed chunk (an LZ4 block from offset 0), up to three times. ECKSUM, EBADLEN, a damaged reply and a missing reply count as link damage. psxmon#42.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
Squaresoft74's
-vlog of the failure shows a host byte lost on the way in: the monitor answers the 0x000f8000 chunk with ECKSUM only once the next chunk's first byte has arrived, 0x000fa000 gets no reply at all, and 0x000fc000 and 0x000fe000 are ACKed. psxmon stopped at the first ECKSUM.It now PINGs back into step and resends from the failed chunk (an LZ4 block from offset 0), up to three times. ECKSUM, EBADLEN, a damaged reply and a missing reply count as link damage; any other monitor error still ends the transfer. The sim can now drop a host byte, and the new tests fail on main with the reported
LOAD at ... failed: ECKSUM (0x06).Fixes #42.