[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Confused about ADT protocol
On Sunday, November 18, 2012 8:29:20 PM UTC-6, schmidtd wrote:
> On 11/18/2012 4:34 PM, Kevin wrote:
>
> > put states
>
> >
>
> > Apple sends:
>
> > One byte: "Z" ($DA)
>
> > Byte stream: file name (null terminated)
>
> >
>
> > Host sends:
>
> > Two bytes: file size in blocks (LSB, MSB)
>
> > One byte: return code:
>
> > $00 = File exists (and file size is valid)
>
> > $02 = File does not exist
>
> > $04 = File exists, not recognized as a valid disk image
>
> >
>
> > if the disk is coming from the apple how is the host going to find a file, measure its size and check for being valid?
>
>
>
> Some history for you: in the beginning there was ADT, and there was only
>
> the "S" flow to send a disk. It unconditionally sent the file, with no
>
> concern as to whether or not the file existed on the host. It would
>
> fail with unable to write, or overwrite without confirmation; I don't
>
> remember which, but both situations were bad.
>
>
>
> ADTPro came along, and "P" was introduced. That essentially implemented
>
> the same (broken) semantics, though the flow has different contents. It
>
> positively overwrote whatever happened to be there with the same file name.
>
>
>
> So an extension was born: the "Z" flow. This is all transparent to the
>
> user; the Z and P are combined into one logical flow. You'll see both
>
> mushed together on the protocol section just below what you cited. What
>
> happens with "Z" is that the proposed filename is sent to the host, and
>
> the host replies back with a file size (which is really ignored - it
>
> would be zero if no file existed) and a return code that indicates if
>
> the file already exists or not. That gives us the chance to ask the
>
> user if they want to overwrite or not, if necessary. If the user wants
>
> to overwrite, or if there is no file to overwrite, then the put proceeds
>
> apace.
>
>
>
> > SO I am wondering if that could be backwards, what else might be?
>
>
>
> No one ever promised it was right... ;-)
OK I see now thanks a bunch