COMM4 Preliminary man page


NAME
COMM4 - communication program 4

SYNOPSIS
Reads data at 9600 baud from the serial port, saves it in memory starting at address $4000. Ends by timing out after ten seconds with no more data.

DESCRIPTION
Loads into addresses $3000 through $30B7 inclusive, starts execution at address $3000. Weighing in at only 184 bytes, this is small enough to key in by hand, and powerful enough to permit loading bigger, better programs.

Reads data from the serial port at 9600 baud, with no parity, eight bits per byte, and one stop bit. Times out after four minutes with no data. Once any data is received, the timeout period is reduced to ten seconds. (So the end of transmission is indicated by simply not sending anything for 10 seconds).

Received data is stored in memory starting at address $4000. Before beginning, the SAM is configured to use 64K of RAM, and the BASIC ROMs are mapped out. So up to 47K of data can be received. Receiving more than 47K would mean writing over the SAM's configuration registers, losing the data that was written, and probably causing the machine to crash. The bytes at addresses $3100 and $3101 contain the address of the next byte that would have been saved; ie: the last address plus one.

Based on the time of the leading edge of the start bit, eight samples are taken for each bit. If five or more of them are high, then the bit is assumed to be a one; otherwise it is a zero. Such a high sampling rate helps ensure accuracy; I have not yet seen a single bit get dropped.

BUGS


yakowenk@cs.unc.edu, 1-Mar-98