home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 883.PRMAUX.98T / ATOB-22.ARC / ATOB-22.DOC < prev    next >
Text File  |  1986-05-31  |  10KB  |  192 lines

  1. **************************************************************************
  2. ************** The Radio Amateur Telecommunications Society **************
  3. **************************************************************************
  4.  
  5.        FINAL Form (I hope!)
  6. -----------------------------------------
  7. ATOB - Documentation REV 2.2 - 30 May 86
  8. -----------------------------------------
  9.  
  10. 1. These are a series of two programs from usenet (thanks to Brian Lloyd 
  11. wb6rqn) whose purpose is to permit transmission of binary (256) valued data 
  12. across printable-ASCII only pathes. Their  user interfaces have been al
  13. tered to conform to packet radio requirements.
  14.  
  15. 2. Source listings have been included for both programs. They will compile 
  16. with only 5 warning level errors which may be ignored under either system.
  17.  
  18. 3. The BTOA program is used to take a binary file of any type and convert 
  19. into a file of all printable ASCII characters. This is done by taking 4 
  20. byte 'chunks' of the binary file and considering it a 'long integer'. This 
  21. large number is then expressed in the number base 85. The 85 'digits' of 
  22. this new number base are represented by an 85 digit sub-set of the ASCII 
  23. character set. The new expression of those 4 bytes is written out as a 5 
  24. 'digit' number, base 85.
  25.  
  26. 4. Each line of the resulting ASCII file is 78 bytes long( nominal 
  27. value, may be altered, as will be explained further on), plus a CR and
  28. an LF. The CR is not part of the original spec. It was added for the benefit
  29. of the packet radio transmission. If no CRs are included, the 'packets' will
  30. consist of multiple lines and some lines will be broken across packets. The
  31. PBBSes now 'filter' out ' *** connect request from N2XYZ ' messages, when
  32. they appear as the start of a new line - such messages would pop up in the
  33. middle of a ASCII coded binary line and would contaminate the file.
  34.  
  35. 5. The BTOA program checks the specified output file name against the 
  36. files already existing in the logged drive and if the name already 
  37. exists, prompts the user for permission to overwrite, which, if denied, 
  38. causes a prompt for an alternate name which is also checked til no 
  39. collision occurrs or permission is given to overwrite.
  40.  
  41. 6. There are two line length options in BTOA. '-H' and '-L xxx'. The '-H' 
  42. option is for HF users who generally run PACLEN = 64. This produces a 62 
  43. byte (plus CR LF) output line so the lines do not bridge a packet. The 
  44. '-L xxx' option allows the user to specify a line length between 4 and 
  45. 250 which allows the user to optimize line length for maximum throughput 
  46. for a given transmission path and environmnet and conditions.
  47.  
  48. 7. The BTOA program writes the name of the original file in the header 
  49. of the output file. The ATOB program will be used to take this ASCII-
  50. coded binary and recover the file to its original form and then verify 
  51. the checksum. The name of the original input file will be recovered from 
  52. the file header and checked against existing files on the logged drive 
  53. and the user will be prompted for permission to overwrite if there is 
  54. already a file by that name. If permission is denied, the user is 
  55. prompted for an alternate name.
  56.  
  57. 8. ATOB will display appropriate error messages for discrepancies in file
  58. length and chacksum.
  59.  
  60. 9. The format for direct use of the programs is as follows:
  61.  
  62.      btoa-pc [-H or -L xxx] inputfile outputfile
  63.  
  64.      atob-pc inputfile
  65.  
  66.  
  67. 10. Two batch files have been included in the MSDOS version to allow a 
  68. single command line entry to be used to gather a bunch of files to 
  69. gether compressed into an ARC file  and then BtoA it for transmission. 
  70. This first .BAT file is BA.BAT. Its corresponding member is AB.BAT which 
  71. will take the received file AtoB it and then un-ARC it. The usage of 
  72. these files is as follows:
  73.  
  74.           C> BA [-H or -L xxx] ARCFILENAME FILE1 FILE2 FILE3 FILE4
  75.  
  76.              ARCFILENAME - file name only , NO extension (i.e. .ARC)
  77.              FILEx - wildcards accepted here (max 8 specifications)
  78.  
  79.           C> AB ATOBFILENAME
  80.  
  81.              ATOBFILENAME - filename only, do not put .AA it is assumed
  82.        
  83.      I am working on a similar scheme for CPM using SQ,USQ and NULU with 
  84. SUBMIT. I hope to have some results in early June.
  85.  
  86. 11. There will be two forms of the files, one for IBM PCDOS/MSDOS and one for
  87. CPM-80. They will each be uploaded in ASCII HEX form and may be downloaded
  88. in that form. The MSDOS versions will require HC.COM (if you do not have it,
  89. download MAKEHC.BAS, run it under BASICA and it will create HC.COM), and
  90. the CPM-80 versions may be reconstructed from LOAD.COM or DDT.COM.
  91.  
  92. ** NOTE ** the cpm versions will be available around the second or third 
  93. week in June 86, possibly sooner. Not enough hours in the day - jes' 
  94. can't figger how to add 3 more hours to my 32 hour day! (|br| - 19 may 
  95. 86 )
  96.  
  97. *********** HOW to GET  ATOB-XX and use it *********************
  98.  
  99.      If you have a telephone modem and Xmodem protocol with checksum - 
  100. then look below and read the explanation how to get it from my landline 
  101. bulletin board.
  102.  
  103.      If you do not and have access to a bbs where it is posted, here is 
  104. what to do.
  105.  
  106.      You will first need HC.COM. It is gotten, if you do not have it. By 
  107. doing an ASCII capture of the file MAKEHC.BAS. This file runs under 
  108. BASICA and produces the HC.COM.
  109.  
  110.      Next you will need to download ATOB-PC.HEX also as an ASCII 
  111. capture. The you will do the following from a DOS prompt;
  112.  
  113.           A> HC ATOB-PC.HEX
  114.              this will produce ATOB-PC.EXE
  115.           A> ATOB-PC ATOB-XX.AA
  116.              which will produce ATOB-XX.ARC
  117.           A> ARC -X ATOB-XX.ARC
  118.              which will un-ARC and give you
  119.                     BTOA-PC.EXE
  120.                     BA.BAT
  121.                     AB.BAT
  122.                     ATOB-XX.C
  123.                     BTOA-XX.c
  124.  
  125.           ** - whereever -XX appeares fill in the appropriate version
  126.                number, which rght now is 2.2 so ==> ATOB-22.ARC, etc
  127.  
  128.   ** - The files ATOB-PC.EXE and ATOB-XX.DOC are not in the ARC/AA file
  129.        since you are now reading the .DOC file you obviously have it!
  130.        and to get the ARC file out you already have ATOB-PC.EXE !!!
  131.        In the .ARC file that will be on my landline BBS these files will
  132.        be included, however.
  133.  
  134. ----------------------
  135.  
  136.      Alan Adamson, NE1H has tested REV 1.0 in conjunction with ARC and 
  137. found significant advantage ( 20% or more ) to this scheme over the current 
  138. existing alternative - BSQ by W1GOH. While I am sure optimization of BSQ 
  139. would bring it back into a more competitive range with the ARC/ATOB team, 
  140. it would not be as flexible. ARC is an existing utility with many other 
  141. uses. The size of the ATOB.EXE and BTOA.EXE is sufficiently small that in 
  142. concert with the ARC.EXE they take little space. BSQ is somewhat larger and 
  143. you would need to have ARC around anyway for non-Packet use.
  144.  
  145.      As always feel free to throw rocks, flowers, and or money. I can be 
  146. reached at @ka2bqe (which, in case your local PBBS has not heard of me, is 
  147. reached by shooting mail in the general direction of WB2RVX, WA2SNA, W3IWI 
  148. and/or KD6TH - they all know how to forward to me.)
  149.  
  150.      I have made the code available on my landline BBS - it can be reached 
  151. by dialing  609-268-9597 (24 hours 300/1200). Type L to login - password is  
  152. 'packetradio' - which is a guest account. Type H for help and it will tell 
  153. you how to find the 'Ham radio' and 'Packet Radio' areas. To download type  
  154. '.Help Files' and read the short blurb on how to down load - warning this 
  155. system supports Xmodem Checksum only (not CRC!)
  156.  
  157. --------------------
  158.      For those interested the source code has been compiled under MANX 
  159. Software AZTEC-C Compiler. I have settled on it as it is a full and rigid 
  160. K&R and is quite uniform across CPM/MSDOS/Mac/Amiga/ST etc. It is a royal 
  161. pain in the wazoo to learn 14 different compilers invocations. In addition 
  162. the much vaunted Microsoft C Compiler is not as compete as it might be - 
  163. for starters it does not support 'unsigned long' and its DOS function 
  164. invocations are just slightly different enough to cause migraine!!
  165. --------------------
  166.      Since I wrote the above criticism of Microsoft C compiler I have 
  167. been informed that the latest versions have a lot of the 'missing 
  168. stuff'. I am waiting to see how 'tight' the code is. In my experience so 
  169. far, no C compiler has 'tighter' code on MSDOS than Aztec. [Ward 
  170. Christiansen's CBC (curly brace checker), which I ported from CPM to 
  171. XENIX and MSDOS, is 5008 bytes on Aztec and 12k to 18k on the other 
  172. compilers I have used.] I would be happy to offer the source code to 
  173. anyone having the latest Microsoft for a size check.
  174.  
  175. --------------------
  176.      A moment here to thank the people who made it possible. Brian 
  177. Lloyd, wb6rqn, who got me the source from which it all came. He and I 
  178. tag teamed a 'file transfer discussion' at the Trenton Computer Faire 
  179. 1986 and this system came out of that. Jon Pearce, wb2mnf has been my 
  180. guinea pig and 'user/tester' - an admitted 'only once in a while 
  181. programmer' he gave me invaluable input about the user interfaces. Last 
  182. but certainly not least was Alan Adamson, ne1h (my condolences on your 
  183. phone bill) who tested and shook baby around a lot and bench marked it 
  184. against BSQ.
  185. --------------------
  186.  
  187. Brian B. Riley , KA2BQE
  188. RATS-SOUTH
  189. 86 Burnt House Road
  190. Indian Mills, New Jersey 08088
  191.  
  192.