SysEx Firmware Update Commands for P3 Sequencer Bootloader ========================================================== Bootloader checks firmware at startup. If checksum is wrong, or FUNC+PAGE held at boot, systems enters Firmware Update Mode User may then initiate reception of firmware update. System responds to data blocks with 'Send more' or 'Bad Data' message, then awaits another block. Resend block if bad data. Upload is terminated by EOF command with code checksum. System responds with 'Bad Checksum' if there is an error, or'Complete OK' if not. 50ms interval required between each block, if handshaking is not used. ========================================== Received messages: Data Function ---- -------- Flash Page: F0 SysEx Header 00 20 5F "Sequentix Music Systems" 00 flash code page aa code address = | a6 a5 a4 a3 a2 a1 a0 b6 | b5 0 0 0 0 0 0 0 | (maximum = F580 for T89, F980 for AT89) bb nn * 152 encrypted code data block cc checksum (sum of page + data + checksum == 0) F7 SysEx End ---- EOF: F0 SysEx Header 00 20 5F "Sequentix Music Systems" 01 EOF aa bb cc 2 bytes (in 3 bytes) = code checksum | c0 a6 a5 a4 a3 a2 a1 a0 | c1 b6 b5 b4 b3 b2 b1 b0 | F7 SysEx End ============================================================================= Transmitted messages: Data Function ---- -------- Send more data: F0 SysEx Header 00 20 5F "Sequentix Music Systems" 10 send more please F7 SysEx End ---- Bad data received: F0 SysEx Header 00 20 5F "Sequentix Music Systems" 1E BAD DATA ! F7 SysEx End ---- Update Complete OK: F0 SysEx Header 00 20 5F "Sequentix Music Systems" 20 Complete OK ! F7 SysEx End ---- Bad code checksum: F0 SysEx Header 00 20 5F "Sequentix Music Systems" 2E Checksum Bad F7 SysEx End