
32
XModem Upload Protocol
In addition to its original simple upload format, Matrix Orbital has added an XModem based protocol.
This facilitates much faster download speeds by increasing the packet size from 1 byte to 128 bytes
greatly increasing throughput. Though a protocol similar to the original upload scheme is used, a two
byte CRC check is preformed at the end of each packet in place of the byte echo system. To begin the
upload, a series of command bytes are sent, much however, no distinction is made between bitmap and
font as the XModem protocol is used to upload bin or ebin files that contain all the bitmaps and fonts
required for the unit. Once the command bytes are sent, the size of the file is sent in two bytes, least
significant byte first. Then two additional bytes are sent of the value zero. At this point the display will
respond with an ACK if the file fits or a NAK otherwise. Please note that these values are different than
those of the original protocol as seen in the table below. If a NAK is seen at any point by the host, the
upload is to be aborted in the same fashion as the regular protocol. If the file will fit, the start of header
byte will be sent by the host, followed by a block count, in regular and inverted format, representing the
number of 128 byte blocks remaining to. The display will then check to make sure the block count value
matches its own before ACKing. The host can then send a 128 byte block of data followed by that blocks
high and low CRC16 bytes. The display then performs a CRC check on the data receive and ACKs if it
matches that which was sent. Transfer continues with a block count and continues in this way until the
end of file is reached. Once the end of the upload file is reached, the host should transmit a single end
of transmission byte. If the end of file is expected, the display will ACK one last time. This EOT byte
along with the other special characters mentioned above is listed in the table below.
Table 32: XModem Upload Protocol:
ACK (NAK if file is too big)
Inverted Block Count (255-Count)
ACK (NAK if counts don’t match)
ACK (NAK if CRCs don’t match)
ACK (NAK if EOT is not expected)
Table 33: XModem Protocol Message Bytes
Transfer
successful, upload
continues
Transfer failed,
upload aborted
End completed
upload transfer
Comentários a estes Manuais