Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CoCo DLOAD doc. 170 lines

26 views
Skip to first unread message

microsof!hanss

unread,
Dec 5, 1982, 9:14:35 AM12/5/82
to
Having seen several requests for documentation on the Radio Shack
color computer's DLOAD command, I asked the right person (Mark C,
who does not read news, nor does he have access to uucp) and got
the document below in reply. Earlier I tried to get it to a previous
requestor by mail and asked for acknowledgement. Since I didnt get
any I assume the paths didnt work. Submitting to news is a third
and final resort.

I don't know anything about this stuff so please don't send letters
about it to me. I'm just forwarding the info since I knew where it
could be found.
-Hans Spiller
decvax!microsoft!hanss

Microsoft 6809 Extended Color BASIC
DLOAD/DLOADM Communications Protocol
Copyright (c) 1982 by Microsoft Corporation
Prepared by Mark L. Chamberlin
August 31, 1982
DLOAD/DLOADM Communications Protocol Page 2


DLOAD and DLOADM send and receive packets of
information to and from the host computer in order to
download BASIC and machine language files. The protocol
used for sending these packets was designed to facilitate
detection and correction of transmission errors.

The process of downloading a file from the host
involves opening a file, and then reading blocks of data
from the file. The details of this protocol follow.


OPEN FILE -

1. BASIC to host - P.FILR

2. Host to BASIC - P.FILR

3. BASIC to host -

1. 8 byte filename, left justified, blank filled

2. XOR of the bytes in the filename


4. Host to BASIC -

a) If no errors detected -

1. P.ACK

2. file type (0=BASIC program, 2=machine language,
FF=file not found)

3. ASCII flag (0=binary file, FF=ASCII)

4. XOR of file type and ASCII flag.

b) If errors detected, P.NAK.

5. BASIC - If errors then return to step 1.

READ BLOCK -

1. BASIC to host - P.BLKR

2. Host to BASIC - P.BLKR

3. BASIC to host -

1. Block number (most significant 7 bits)
DLOAD/DLOADM Communications Protocol Page 3


2. Block number (least significant 7 bits)

3. XOR of block number bytes


NOTE

The block number is a fourteen bit,
unsigned integer in the range 0 through
16383. It is split into two seven bit
values, each of which is transmitted in
the least significant 7 bits of a byte.
This insures that the most significant
bit is not set except for the protocol
control characters (e.g., P.BLKR). For
example, a block number of 511 is
transmitted as binary 00000011 and
01111111.


4. Host to BASIC -

a) If no errors detected -

1. P.ACK

2. Block length in bytes (0 through 128, 0
indicating end of file)

3. 128 bytes of data


NOTE

128 bytes of data must be sent,
regardless of the block length. If the
block length is less than 128 the extra
bytes are read by BASIC but not used,
so their values are of no concern.

4. XOR of block length and data bytes

b) If errors detected, P.NAK.

5. BASIC - If errors then return to step 1.

DLOAD/DLOADM Communications Protocol Page 4


The control character definitions are:

1. P.ACK - Acknowledge - C8 hex.

2. P.ABRT - Abort - BC hex.

3. P.BLKR - Block request - 97 hex.

4. P.FILR - File request - 8A hex.

5. P.NAK - Negative Acknowledge - DE hex.


Additional rules:

1. If errors occur during an OPEN or READ sequence,
BASIC will retry the operation. For each sequence,
a maximum of 5 tries is attempted. After 5
unsuccessful attempts, BASIC transmits a P.ABRT to
the host and aborts the download, causing a BASIC
IO error to occur.

2. If more than 10.4 seconds pass while BASIC is
waiting for a byte from the host, a timeout error
occurs. The operation is retried or aborted as
described above.

3. If the host receives any unsolicited data, it quit
transmitting and wait for BASIC to restart the
sequence.

4. The host should never time out. It should just
continue to wait.


-------

0 new messages