Protocols

From Ninerpedia
Revision as of 21:01, 7 May 2011 by Mizapf (talk | contribs)
Jump to navigation Jump to search

Communication with devices

Here is a commented log when formatting a SSSD floppy disk with the TI disk controller. Actually, this dump was achieved using MESS and putting in some printf lines.


XModem protocol

The XModem protocol transmits data in a sequence of blocks.

Basic XModem

Each block contains 128 bytes of the file to be transmitted.

Block Block Block ... Block

Each block is defined in this way (numbers tell the number of bytes for each field):

1 1 1 128 1
SOH Number /Number Data bytes Checksum

The number is a sequence number which increases by one for each successive block. The /Number field is the one's complement of the Number field and calculates as 255-Number.

The checksum field contains the least significant byte of the sum of the data bytes of this block.

The receiver has a timeout of 10 seconds, after which it transmits a NAK.

XModem-1K

XModem-1K is a variation of XModem with 1K (1024) bytes for each data block.

1 1 1 1024 1
STX Number /Number Data bytes Checksum