[net.micro] HELP for the Tired Typer

Fleysher.wbst@XEROX.ARPA (10/01/84)

From:  Dan Fleysher <Fleysher.wbst@XEROX.ARPA>

Exchanging home-brew BASIC programs within messages over the net
requires a modem and a good upload terminal emulator program (such as
ATERM, distributed on the net in Oct. '82).  Even with this set up,
plenty of information can get lost in the transmission - e.g.,
inverse-video and graphics characters.  Sometimes these are crucial when
the BASIC program contains machine language assist in the form of text
strings (rather than data statements).

I have written a pair of companion BASIC programs which enable the
exchange of arbitrary files over the net with no loss of data.  This is
accomplished by converting the file to be sent into a text file
containing hexadecimal characters, two for each byte of the original
file.  One of the programs does the conversion to hexadecimal format,
and the other converts the received hex file back into its Atari-useable
form.

Before I publish these two programs, I would like to invite
agreement/disagreement on a standard format for exchange.  The format I
propose is:

--------------------
message header, explanatory
text, and general comments
.START.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx
.STOP.nnnnn
optional extra text
--------------------

The translator for the received program ignores all text until it
encounters the record ".START."  Subsequent records contain hexadecimal
characters (x's, above) in convenient (although unspecified) record
lengths.  The receiving program translates the hex characters into bytes
until it encounters the .STOP. record.  The number that follows ".STOP."
is a decimal checksum, computed by adding up all the preceding bytes
encoded as hex characters. (The checksum limit of 10 digits corresponds
to a file length of more than 78 megabytes of average data)

My programs use record lengths of 36 hex characters so that they fit
easily on the 40 character screen.  Although the programs are written in
Atari BASIC, there is no reason they could not be re-implemented as
machine language programs (for speed).  These could also be distributed
to the net using this facility.

Needless to say, this facility is proposed for exchanging PERSONAL or
public-domain software only.

Opinions anyone?


	Dan

dunkelbe@ecn-ee.UUCP (10/06/84)

<make my day...>

This sounds strangely similar to any of the loader formats
produced by cross-assemblers.  They (I know of Intel, Motorola,
and a 6502 spinoff) usually start with a pre-designated character
(':' for Intel), followed by destination address of rest of data,
length of record, the actual data, and a checksum (I may have
the order transposed).  All the information is xmitted in hex
aside from the attention character.

It might be nice to use some format which is a kind of standard.
Besides, I have machine language loaders for my C64 homebrew
terminal emulator which use all these formats...

			Kirk Dunkelberger
			pur-ee