TomNisbet / TommyPROM

Simple Arduino-based EEPROM programmer
https://tomnisbet.github.io/TommyPROM/
143 stars 29 forks source link

Change XModem to use checksum instead of CRC16 #19

Closed TomNisbet closed 3 years ago

TomNisbet commented 3 years ago

The original TommyPROM code used the XModem-CRC variant of the protocol that calculates a 16-bit CRC instead of the default 8-bit checksum. While this does perform a more thorough error-check, it is not really necessary when doing communication over a 3-foot USB cable. While the CRC version of XModem is well-supported in TeraTerm for PCs, it is problematic with minicom and other Linux software that relies on the sz/rz package.

The default code will now use basic XModem instead of XModem-CRC for file transfers. For compatibility, the XModem-CRC code is still available as a compile-time option.

See this thread for the journey: https://www.reddit.com/r/beneater/comments/j83zu1/using_tommyprom_28c256/