home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / comm / misc / atob / atob.doc < prev    next >
Text File  |  1994-10-13  |  4KB  |  99 lines

  1. ATOB.DOC 941013
  2.  
  3. ATOB.DOC   4101 This file
  4. ATOB-22.C  5237 'C language version
  5. BTOA-22.C  6259 'C language version
  6. ATOB.ASM   7782 Assembly language version
  7. BTOA.ASM   7395 Assembly language version
  8. ATOB       1272 Assembled decoder
  9. BTOA       1180 Assembled encoder
  10. AVAIL       372 Test file
  11. AVAIL.AB    520 Test file encoded
  12. AVAIL.DOC  3801 Example
  13. BINTEST.AB 1704 Example copyied off packet radio
  14.  
  15. These programs, BTOA and ATOB, are encode/decode programs for
  16. sending binary files over Amateur Radio Packet.  They are also useful
  17. for transmitting/storing files when only 7 bit ASCII characters are
  18. allowed. Typical overhead is 20%.
  19.  
  20. The BTOA encoded file may be edited with instructions, comments,
  21. or whatever, added to both beginning and end of the actual file and
  22. ATOB will ignore all but the actual encoded file.  These are AMIGA
  23. Assembly language versions, compatible with MSDOS (IBM) versions.
  24.  
  25. Files transferred using these programs will survive 7 bit ASCII
  26. Amateur radio transmissions and can be forwarded through the BBS
  27. network.  There are no end of line spaces or funny characters,
  28. so an encoded file may be sent in separate smaller parts and
  29. rebuilt at the receiving end using a simple text editor.
  30.  
  31.  
  32. PERMISSION GRANTED FOR ALL NON-COMMERCIAL USES OF THIS SOFTWARE.
  33.  
  34.  
  35. BTOA - The encoder
  36. ------------------
  37. A self prompting encoder program. It asks for the file to be
  38. encoded, a name which will be put in the file header, and the name
  39. of the temporary storage file.  It first makes a header in the form;
  40.  
  41.    xbtoa Begin Filename
  42.  
  43. which is followed by the encoded data.  The data ranges from ASCII '!'
  44. to 'u' with 'z' representing a 32 bit binary zero when on a longword
  45. boundary.  The character 'x' marks end of data.  Note that 'space' is
  46. NOT used because some programs delete trailing spaces.  The program
  47. essentially uses a modulo 85 divide on incoming 32 bit longwords to
  48. produce 5 ASCII characters for each 4 byte binary longword.  Line
  49. length is held to 76 characters, with LF separating lines.
  50.  
  51. The trailer is in the form;
  52.  
  53.    xbtoa End N CHARS(Decimal) CHARS(Hex) E CEOR S CSUM R CROT
  54.  
  55. where N CHARS is character count of original file in both decimal
  56. and hex, E CEOR is an exclusive-or checksum, S CSUM ia a simple
  57. addition checksum, and R CROT is a shift-rotate checksum.
  58.  
  59.  
  60.  
  61. ATOB - The decoder
  62. ------------------
  63. A self prompting decoder program.  It asks for the file to be
  64. decoded and a filename for the decoded file if one was not found in
  65. the header of the encoded file.  If a filename is found, it prompts
  66. to continue - type 'N' if you want to change the name of the file to
  67. be written, otherwise type C/R.
  68.  
  69. This program makes many checks of the incoming file. After it opens
  70. the read file, it searches for a correct BTOA header line and parses the
  71. included filename from the header.  Then it prompts and gives the user
  72. a chance to rename the file to be written.
  73.  
  74. Data is then decoded, making checks for legal ASCII characters between
  75. '!' and 'u', or 'z' or 'x', ignoring LF's.  Zero value longwords must
  76. occur on a longword boundary.  Errors cause the program to abort after
  77. telling the user what was wrong.
  78.  
  79. The trailer also has numerous checks. An error here causes the original
  80. trailer to be printed, followed by the calculated header, for visual
  81. comparison.  Note that characters are not counted during decode, and
  82. the only check on character count is to compare the decimal and hex
  83. values in the trailer.  This program was written to produce the same
  84. results as the original 'C language version, which means that zero
  85. bytes are added by BTOA to fill a longword.  ATOB, as a result retains
  86. the zero bytes.  This should not cause problems on the Amiga, except
  87. for text files which may have an odd number of bytes. In this case,
  88. using ED on the decoded text changes the remainder zero bytes to LF's
  89. and can be edited out.  The Amiga ALINK generates programs that are
  90. always longword aligned, so no problems here.
  91.  
  92.  
  93. Assembly Language source files are included.
  94.  
  95.  Randy Lilly                   N3ET @ N3ET.PA (Ham Radio Packet)
  96.  752 S. Carldon St.
  97.  Allentown, PA.  18103
  98.  
  99.