On Mon, Sep 18, 2023 at 7:08 PM Dan Cross <crossd(a)gmail.com> wrote:
but there was no total byte
count, so it was assumed that the final block would be
padded with a
throwaway character.
CP/M, like RT-11 and OS/8 before it, did not track the sizes of files in
bytes or words, only in blocks. Text files ended in ^Z and were then
padded with either NULs or more ^Zs if necessary; binary files were usually
padded with NULs.
ZMODEM was, as I understood it, designed for transfers across telenet,
which was pretty reliable; instead of the highly
synchronous
send/wait-for-ack cycle of xmodem and ymodem, zmodem relies on error
detection and correction and is basically a streaming protocol: a
packet in a sliding window could be NAK'ed, thus rewinding the
transfer, but otherwise it basically just sends data until done.
It's an analogue of TCP/IP, in fact.