mist64/ccgmsterm

UP9600: XMODEM sends stray $FF at beginning

mist64 opened this issue · 2 comments

When running the XMODEM test with the UP9600 driver, CCGMS sends an $FF byte before sending NAK/'C'.

This does not happen with the User Port or SwiftLink driver.

This reproduces with CCGMS 2021; it is not a CCGMS Future regression.

Also, it sends a stray $00 at the end part of the transmission protocol:

  • in: last byte (CRC)
  • out: ACK ($06)
  • in: EOT ($04)
  • out: $00 – instead of ACK ($06)

Both issues are probably caused by the call to enablexfer, which happens at exactly these spots. These ultimately call into up9600_enable, which does a lot of CIA#1 setup, which may cause an extra byte to be sent.