[net.micro.atari] BINHEX/HEXBIN

camis..ajb@MITRE.ARPA (ajb@mitre) (02/13/86)

> I am eager to know whether you had any success or trouble downloading
> to your Atari.  The .HEX format I have been promoting has
> come under criticism in the past for not providing check sums on each
> line, to isolate problems to the line in which they occur.  I am tempted
> to redo BINHEX/HEXBIN adding this feature, and speed them up via machine
> language assist.

Dan,

I am responding to your note publicly; perhaps we can get some constructive
comments or some volunteers to assist in writing the new software.

I used kermit to transfer the software to my atari via a 1030 modem.
It appeared not to have been damaged in transit. You realize, of course,
that kermit has a built-in check-summing for each transmitted packet.
However, a more sophisticated check-sum built-in to the file would be 
useful to those transmitting files via a non error correcting/detecting
route. 

In addition to a check-sum on a per-line basis, the extra bit real-estate
remaining in each transmitted character could be used to provide extra
safety. For example, each hex value is only 4-bits, another two bits in
the same character could be used as a sequence counter, cycling 0,1,2,3,0,1...
etc... Maybe this is excessive, but it seems to me, if the bits are there
why not use them ? Another possibility is to translate each 3 binary bytes
into 4 ascii printable bytes (as in uuencode, and also MacIntosh xbin), 
with a checksum every so often. This is more compact then 
your current scheme. And what about data-compression (as in unix "compact") ?
Binary object code should compress at least 20% using an adaptive huffman 
code. However, the level of effort for implementing data compression may be 
too high.

Anyway, regardless of the encoding technique chosen, I think that two
sets of software are required. One to run on the atari and another for
the host machine. For the host machine, the software should probably be 
written in C for portability. At the least, it should be able to read
a hex format file and verify that there are no checksum errors. This would
save users alot of time by letting them know the file was defective before
transmitting it to their Ataris via a slow modem. It also might be useful
to have the equivalent of hexbin and binhex running on the host. This would 
be good for those who have the ability to upload and download binary
perhaps via Xmodem; the binhex'ed filed would be used only for transmission
over arpanet.

For the software on the Atari, a language faster than BASIC is definately 
called for. ACTION! is probably best. Someone out there with the run-time
library could compile the program for distribution to those without
the ACTION! cartridge.

Lets hear some comments from the rest of you out there !!!

				Alan J. Broder
				ajb@mitre