Xref: utzoo comp.dcom.modems:3890 comp.protocols.misc:586 Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!att!chinet!les From: les@chinet.chi.il.us (Leslie Mikesell) Newsgroups: comp.dcom.modems,comp.protocols.misc Subject: Re: xyzmodem problems Message-ID: <8536@chinet.chi.il.us> Date: 24 May 89 22:22:53 GMT References: <24404@agate.BERKELEY.EDU> <1399@bucket.UUCP> <765@omen.UUCP> <24552@agate.BERKELEY.EDU> <25165@coherent.com> <769@omen.UUCP> Reply-To: les@chinet.chi.il.us (Leslie Mikesell) Followup-To: comp.dcom.modems Distribution: usa Organization: Chinet - Public Access Unix Lines: 36 In article <769@omen.UUCP> caf@omen.UUCP (Chuck Forsberg WA7KGX) writes: >My current thinking for 7 bit paths is to add two new frame types. >The first would use RLE compression and 8th bit escaping, not >too much different from Kermit except that Kermit escapes ALL >control characters, while this is an option with ZMODEM. This >would be useful for test files that don't have too many >characters >127. > >The second would pack N 8 bit characters into N+M bytes either >by shifting of bits or DEC RADIX50 style packing. There are >many tradeoffs between packing efficiency, output character >set, computational intensity, and code portability here, and >suggestions are welcome. How about sending one packet each direction of the known characters that must be escaped kermit-style (escaped, of course). Some shorthand notation for "all control characters" and "all characters >127" could be used here. Then for compression, how about building packets at least 1K in size and not necessarily alligned with the transmission packets that would have [START-CODE][RLE-PREFIX][ENCODING-METHOD][LENGTH][data....] where RLE-PREFIX would be chosen as the least frequent character in the packet, and the ENCODING-METHOD of choice would use a non-adaptive huffman or LZW compression with the tree built into both ends. If applying this compression does not reduce the size, then ENCODING-METHOD would be set to NONE and sent uncompressed. (Thus you don't have to send the tree, you can recover an interrupted stream, and you never grow more than the packet header when compression doesn't work). This stream would then go into the normal ZMODEM packets. Alternate encoding-methods could be used, perhaps to optimize the output character set to the known restrictions of the link. Les Mikesell