STC89 This is the first generation protocol of STC MCUs. Differences to STC12: * Uses NONE parity instead of EVEN parity. * Status packet is sent without frame start magic. * Checksum calculations are different: a single-byte modular sum is used. * Baudrate handshake isn't initiated with a type 0x50 packet; this is simply skipped. * After the handshake a special ping-pong sequence of 0x80 type packets needs to be sent. This doesn't appear to serve any purpose - possibly this is just done to verify that the connection works reliably. STC12 doesn't require it anymore because parity and the improved checksum ensure correct operation. * Erase is acknowledged with type 0x80 packet instead of type 0x00 * After flash programming, there is no finish packet, type 0x69, sent; this is simply skipped. * Baudrate handshake - Uses normal speed (/32) UART timing in 12T mode and double speed (/16) in 6T mode - IAP delay has some differences (see datasheet) * Erase procedure - A different magic sequence is used (6 bytes with value 0x33) - Only a single size is supplied - response code has type 0x80 * Options - Only a single option byte exists