Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ref:zmodem [2020/12/01 18:15] – [Frame Header] Add a frame type table digital manref:zmodem [2021/06/29 15:34] (current) – [ZFILE FRAME FILE INFORMATION SUBPACKET] footnote about path/file names with spaces (they are in fact supported in most ZMODEM implemenations) digital man
Line 67: Line 67:
  
 ==== ZMODEM Frame ==== ==== ZMODEM Frame ====
-There 2 classes of ZMODEM Frames: +There are 2 classes of ZMODEM Frames: 
-  Hexadecimal (HEX) frames, contain only US-ASCII characters +  Hexadecimal (HEX) frames, containing only US-ASCII characters 
-  Binary (BIN16 or BIN32) frames, contain //almost// all possible 8-bit octet values+  Binary (BIN16 or BIN32) frames, containing //almost// all possible octet values
  
 === HEX Frame === === HEX Frame ===
   <frame header> [CR] LF [XON]   <frame header> [CR] LF [XON]
  
-HEX frames are terminated with an ASCII linefeed character. Some ZMODEM implementations send the HEX frame terminating linefeed character with the high bit set (0x8A). Also, for some HEX frame types, the frame terminator may be followed by an XON (0x11) character ("transmit on" in so-called "software flow control").+HEX frames are terminated with an ASCII linefeed character. Some ZMODEM implementations send the HEX frame terminating linefeed character with the high bit set (0x8A, that's ASCII-LF with an even-parity bit set). Also, for some HEX frame types, the frame terminator may be followed by an XON (0x11) character ("transmit on" in so-called "software flow control").
  
 === Binary Frame === === Binary Frame ===
Line 82: Line 82:
  
 ==== Frame Header ==== ==== Frame Header ====
-  <frame encoding> <frame type> <frame info> <crc>+  <frame encoding> <frame type> <frame info> <checksum>
  
 **Frame Encoding** (single byte): **Frame Encoding** (single byte):
Line 88: Line 88:
 The //Frame Encoding// is also sometimes called the "Frame Style". The //Frame Encoding// is also sometimes called the "Frame Style".
  
-Frame Style ^ Value          ^ Notes +^ Style   AKA   ^ Value          ^ Frame Contents                       ^ Checksum   
-| HEX         | ASCII '''B'''  | Hexadecimal/US-ASCII characters only16-bit CRC | +| HEX    | ZHEX   | ASCII '''B'''  | Hexadecimal/US-ASCII characters only 16-bit CRC | 
-| BIN16       | ASCII '''A'''  | Binary with a 16-bit CRC | +| BIN16  | ZBIN   | ASCII '''A'''  | Binary                               | 16-bit CRC | 
-| BIN32       | ASCII '''C'''  | Binary with a 32-bit CRC |+| BIN32  | ZBIN32 | ASCII '''C'''  | Binary                               | 32-bit CRC |
  
 Notes: Notes:
Line 98: Line 98:
 **Frame Type** (single byte): **Frame Type** (single byte):
  
-Frame Type ^ Value ^ TX((from sender))^ RX((from receiver)) ^ Data Subpkt    ^ Notes ^ +^ Type     ^ Value ^ TX((from sender))^ RX((from receiver)) ^ Info    ^ Data Subpkt    ^ Notes ^ 
-| ZRQINIT    | 0x00  |  Y                -                  | -              | Request ZRINIT from the receiver | +| ZRQINIT  | 0x00  |  Y                -                  | caps    | -              | Request ZRINIT from the receiver | 
-| ZRINIT     | 0x01  |  -                Y                  | -              | Receiver Initialized | +| ZRINIT   | 0x01  |  -                Y                  | caps    | -              | Receiver Initialized | 
-| ZSINIT     | 0x02  |  Y                -                  | Attn sequence  | Sender Initialized | +| ZSINIT   | 0x02  |  Y                -                  | flags   | Attn sequence  | Sender Initialized | 
-| ZACK       | 0x03  |  Y                Y                  | -              | Positive Acknowledgment | +| ZACK     | 0x03  |  Y                Y                  | offset  | -              | Positive Acknowledgment | 
-| ZFILE      | 0x04  |  Y                -                  | File metadata  | File information (name/len/date) | +| ZFILE    | 0x04  |  Y                -                  | options | File metadata  | File information (name/len/date) | 
-| ZSKIP      | 0x05  |  -                Y                  | -              | Skip (don't send) this file | +| ZSKIP    | 0x05  |  -                Y                  |         | -              | Skip (don't send) this file | 
-| ZNAK       | 0x06  |                |  Y                  | -              | Negative Acknowledgment | +| ZNAK     | 0x06  |                |  Y                  |         | -              | Negative Acknowledgment | 
-| ZABORT     | 0x07  |  -                Y                  | -              | Terminate batch file transfer | +| ZABORT   | 0x07  |  -                Y                  |         | -              | Terminate batch file transfer | 
-| ZFIN       | 0x08  |  Y                -                  | -              | Terminate transfer session | +| ZFIN     | 0x08  |  Y                -                  |         | -              | Terminate transfer session | 
-| ZRPOS      | 0x09  |  -                Y                  | -              | Reposition the send offset | +| ZRPOS    | 0x09  |  -                Y                  | offset  | -              | Reposition the send offset | 
-| ZDATA      | 0x0A  |  Y                -                  | File contents  | One or more data subpackets follow | +| ZDATA    | 0x0A  |  Y                -                  | offset  | File contents  | One or more data subpackets follow | 
-| ZEOF       | 0x0B  |  Y                -                  | -              | End of file reached | +| ZEOF     | 0x0B  |  Y                -                  | offset  | -              | End of file reached | 
-| ZFERROR    | 0x0C  |  -                Y                  | -              | File I/O error | +| ZFERROR  | 0x0C  |  -                Y                  |         | -              | File I/O error | 
-| ZCRC       | 0x0D  |  Y                Y                  | -              | File CRC request/response | +| ZCRC     | 0x0D  |  Y                Y                  | CRC-32  | -              | File CRC request/response | 
-| ZFREECNT   | 0x11  |  Y                -                  | -              | Request free disk space |+| ZFREECNT | 0x11  |  Y                -                  | f-space | -              | Request free disk space |
  
 **Frame Info**: Up to 15 bytes (but typically 4) of frame type-specific information.\\ **Frame Info**: Up to 15 bytes (but typically 4) of frame type-specific information.\\
Line 681: Line 681:
 The pathname (conventionally, the file name) is sent as a The pathname (conventionally, the file name) is sent as a
 null terminated ASCII string.  null terminated ASCII string. 
-No spaces are included in the pathname. +No spaces are included in the pathname. ((some ZMODEM implementations support path/file names that include spaces))
  
 Filename Considerations Filename Considerations