home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / general / ftp1.doc < prev    next >
Encoding:
Text File  |  1988-05-03  |  16.9 KB  |  367 lines

  1.  
  2.  
  3. ----> FTP.DOC <----
  4.  
  5.  
  6.  
  7.  
  8.                             THE SIMTEL20 ARCHIVES
  9.  
  10.  
  11.  
  12. OVERVIEW
  13.  
  14.      There  is  a collossal amount of free public domain CP/M and UNIX
  15. software in several archives on SIMTEL20, a DEC-20 running TOPS-20  at
  16. White  Sands Missile Range.  A repository of Ada software has now been
  17. added to the archives on SIMTEL20,  and  the  user  community  on  the
  18. Defense  Data  Network  is  invited to freely access and extract files
  19. from these repositories with no  restriction.   Contributions  to  the
  20. repositories  are  also  encouraged,  and  arrangements  to contribute
  21. programs and information can be made  by  contacting  the  individuals
  22. named below.
  23.  
  24.         Files may be obtained by  using  the  File  Transfer  Protocol
  25. (FTP)  available  on  the  Defense Data Network (FTP is described in a
  26. following paragraph).  Anonymous login is supported, so access may  be
  27. obtained  by logging in with a user name of "anonymous" and a password
  28. of your  host  name  or  any  other  string  of  printing  characters.
  29. Throughout  this document, FTP examples are given in a GENERIC syntax.
  30. You will have to consult either a local  documentation  file  or  your
  31. friendly system wizard to learn the actual syntax used with your local
  32. mainframe operating system.
  33.  
  34.      UNIX  users  can  do  something  like "man ftp" for instructions.
  35. However, not all UNIX FTP servers are called "ftp", so you may have to
  36. snoop  around  in  the  system directories or ask your friendly system
  37. wizard for the correct local name to use with the "man" command.   ITS
  38. users can do ":INFO FTP".  The command "HELP FTP" is also a reasonable
  39. alternative which is found on some machines, such as USC-ECLB.  I will
  40. be  happy to update this message with pointers to other sources of on-
  41. line  FTP  documentation  if  they  are   sent   to   INFO-CPM-REQUEST
  42. @AMSAA.ARPA.
  43.  
  44.      To obtain directory listings, connect to SIMTEL20 via FTP and  do
  45. this:
  46.  
  47.     
  48.                 get PD:<cpm>cpm.crclst 
  49.                 get PD:<cpmug>cpmug.crclst 
  50.                 get PD:<sigm>sigm.crclst 
  51.                 get PD:<unix>unix.crclst 
  52.                 get PD:<pc-blue>pc-blue.crclst 
  53.                 get PD:<ada>ada.crclst
  54.     
  55.  
  56. The first is an archive that was once on MIT-MC.  This is the  one  to
  57. watch for the very latest CP/M offerings, as it is updated frequently.
  58. The second is the full catalog of the CP/M Users  Group  (CPMUG),  and
  59. the  third  is  the  full  catalog  of  the Special Interest Group for
  60. Microcomputers (SIG/M), a service of the Amateur Computer Group of New
  61. Jersey.   The  fourth contains UNIX-related software, not all of which
  62. is CP/M-specific.  That which applies specifically to CP/M is  in  the
  63. directory  <UNIX.CPM>.   The  fifth  archive contains software for the
  64. IBM-PC.  Some runs under CP/M,  and  some  under  PC-DOS/MS-DOS.   The
  65. second,  third  and fifth archives are updated as new disks are issued
  66. by the associated users' groups.  The <ADA> archive contains  software
  67. components,  programs,  educational  material,  and  other information
  68. pertaining to programs written in Ada or sources  of  information  and
  69. Ada programs on the Defense Data Network.
  70.  
  71.      There are many overlaps in the first three archives, but you will
  72. find  the  latest  versions  in  the  <CPM>  archive.  In general, the
  73. archived software is very good, having been worked-over and refined by
  74. many users.  The comments tend to be complete and imformative.
  75.  
  76.  
  77.  
  78. FILE TYPES
  79.  
  80.      Files  in  the  <CPM>, <SIGM>, <CPMUG> and <PC-BLUE> archives are
  81. stored in two formats:  Usually, ASCII storage is used  for  DOC,  HEX
  82. and ASM files, and ITS binary is used for COM and squeezed files.  ITS
  83. binary format had its origin at MIT.  Each file begins with  a  36-bit
  84. identifier-word  containing  DSK8  in  SIXBIT  code.   This  reads  as
  85. 446353300000 in octal, and 933AD8000 in  hexadecimal.   All  data  are
  86. stored  as  four  8-bit  bytes per 36-bit SIMTEL20 word, with the low-
  87. order four bits of each word filled with zeros.  If  such  a  file  is
  88. interpreted  as  a  contiguous  string,  as  will happen if a straight
  89. binary transfer is made to a 16 or 32-bit UNIX machine, the four  zero
  90. filler-bits per 36-bit group will cause rather bizarre and frustrating
  91. results.  The methods for dealing with this  situation,  which  differ
  92. from machine to machine, are explained in a following paragraph.
  93.  
  94.      Squeezed files have been compressed using programs  available  in
  95. directory   <CPM.SQUSQ>  to  obtain  an  approximate  35-percent  size
  96. reduction.  These files can be identified  by  the  letter  Q  in  the
  97. extension field.  For example, the file PD:<CPM.MODEM903>DEFF.AQM is a
  98. squeezed file.  It must be transferred as  a  binary  file,  and  then
  99. unsqueezed.   The  unsqueezing can be done on a CP/M system using USQ-
  100. 20.COM  (or  whatever  is   the   current   version   from   directory
  101. <CPM.SQUSQ>), or there are several host-based unsqueezers in the <CPM>
  102. archive (see for example, directories <CPM.TOPS-20> and <UNIX.CPM>).
  103.  
  104.      Although  the  type  of  storage  used  for a particular file can
  105. usually be inferred from the file-name, this is not always  true.   It
  106. is a good idea to check the appropriate "crclst" file to ascertain the
  107. storage format used for each file of interest.  This applies to all of
  108. the  archives except the <UNIX> archive, where ALL files are stored in
  109. ASCII.
  110.  
  111.      Important files in the <SIGM>, <CPMUG> and <PC-BLUE> archives are
  112. the CATALOG files.  These files, which are stored  in  ASCII,  contain
  113. (in  reverse  numerical  order)  the "-CATALOG.nnn" files from all the
  114. volumes of their  respective  archives.   To  obtain  these  composite
  115. catalog files, connect to SIMTEL20 via FTP and do this:
  116.  
  117.     
  118.         get PD:<sigm>sigm.cat 
  119.         get PD:<cpmug>cpmug.cat 
  120.         get PD:<pc-blue>pc-blue.cat 
  121.     
  122.  
  123.  
  124.  
  125. FILE TRANSFER VIA FTP
  126.  
  127.      FTP stands for File Transfer Protocol, a formalized procedure for
  128. moving files among machines on the  Defense  Data  Network  (DDN)  and
  129. other networks that connect with the DDN.  The protocol is implemented
  130. by a program often called  FTP.   The  different  mainframe  operating
  131. systems implement FTP with variations in command syntax.  Some systems
  132. have the remote-file-name precede the local-file-name in the  command.
  133. Others  reverse this order.  Some versions have the whole command on a
  134. single  input  line,  while  others  use  multiple  lines.   Read  the
  135. documentation  for  your  local  system,  or consult a friendly system
  136. wizard for  the  details  of  your  local  FTP  command  syntax.   FTP
  137. transfers  from  SIMTEL20 can be made with user-name "anonymous".  Use
  138. your host-name (or any string of printing characters) for a password.
  139.  
  140.      Users  of  TOPS-10, TENEX, TOPS-20 or ITS systems can use "image"
  141. or "paged" mode for ALL transfers.  UNIX users must use  "ascii"  mode
  142. for  ASCII files, and "tenex" or "type L 8" mode for ITS binary files.
  143. MULTICS users must use "ascii" mode for ASCII files, and "image"  mode
  144. for ITS binary.
  145.  
  146.      Once an ITS binary file has been transferred to  your  mainframe,
  147. further  processing  is  needed  to make it into a standard CP/M file.
  148. This processing is done automatically by the programs used on  TOPS-20
  149. and  ITS  machines for downloading to a micro, so those users need not
  150. be concerned with this.  UNIX users have only to remove the first four
  151. bytes  of each file.  These four bytes are a special "ITS header", and
  152. are not really a part of the file.  They can be removed using the UNIX
  153. utility  "dd",  or  they can be removed using the CP/M program ITSCVT,
  154. available  as   an   ASCII-transferable   .HEX   file   in   directory
  155. PD:<CPM.HEX>.
  156.  
  157.      Post-processing of files on MULTICS machines can be done using  a
  158. modified  version of the system copy utility.  At present, transfer of
  159. this program is a delicate matter because of the need to preserve  the
  160. vendor's proprietary rights.  If you need this utility, send a message
  161. to INFO-CPM-REQUEST@AMSAA.ARPA, and I'll put you  in  touch  with  the
  162. person who has the program.
  163.  
  164.      Anyone who can obtain an exact contiguous copy of an  ITS  binary
  165. file  (probably  using  "image"  mode), and then download it to a CP/M
  166. machine without losing  any  bits,  can  post-process  the  file  into
  167. standard  format using a CP/M program available from INFO-CPM-REQUEST.
  168. If there is enough interest in this program, it can be  added  to  the
  169. <CPM>  archive.   If it is necessary for you to take this route, study
  170. the description of ITS binary format given  in  the  section  on  FILE
  171. TYPES,  so  that  you  will  know  what to expect.  This method worked
  172. satisfactorily with transfers to  our  16  and  32-bit  UNIX  machines
  173. before we learned to use "tenex" mode.
  174.  
  175.      All aspects of the  FTP  process  for  UNIX  machines  have  been
  176. automated  to  a  high  degree  by  a  pair  of  programs in directory
  177. PD:<UNIX.CPM>.  With  these  programs,  a  simple  command  like  "m7b
  178. mdm730.com"  can  connect  to  SIMTEL20,  transfer the ITS-binary file
  179. "mdm730.com" from directory PD:<CPM.MODEM7> to a local file also named
  180. "mdm730.com"  and strip the ITS header, all with no user intervention.
  181. Batch command files containing multiple lines of the form in the above
  182. example  can  be  run  in no-hangup background mode, to transfer whole
  183. directories without the user even remaining  logged-in  on  his  local
  184. system.  For more information, get the file PD:<UNIX.CPM>AUTOFTP.DOC.
  185.  
  186.  
  187.  
  188. MAINFRAME PROGRAMS  FOR  TRANSFERRING  FILES  BETWEEN  MAINFRAMES  AND
  189. MICROS
  190.  
  191. Christensen Protocol:
  192.  
  193.      For  a  micro  to  reliably  exchange  files  with  a  mainframe,
  194. cooperating file transfer programs with automatic error detection  and
  195. retransmission  of  faulty  blocks  must be running on both computers.
  196. One such family of programs uses a popular protocol  created  by  Ward
  197. Christensen  and enhanced by others.  Directory PD:<UNIX.CPM> contains
  198. two programs, UC and the older  UMODEM  (both  written  in  C),  which
  199. implement   this   protocol   on   UNIX   machines.    See   the  file
  200. PD:<UNIX>UNIX.CRCLST for a list of other useful UNIX utilities.
  201.  
  202.      On ITS machines, file transfer using the Christensen protocol can
  203. be done using MMODEM  (type  :MMODEM  for  instructions),  or  LMODEM.
  204. Documentation  for LMODEM is in file .INFO.;LMODEM HELP.  Other useful
  205. ITS utilities include TYPE8, which types an ASCII file stored  in  ITS
  206. binary  format;  TYPESQ,  which  types an ITS binary format "squeezed"
  207. file (see the first paragraph under FILE TYPES); USQ, which creates an
  208. unsqueezed  version of a squeezed file; HEXIFY, which creates an Intel
  209. hex format file from an ITS  binary  format  COM  file;  COMIFY  which
  210. creates a COM file from an Intel hex file; and CRC, which computes the
  211. Cyclic Redundancy Check value for a file,  using  the  same  algorithm
  212. that  is used by the CP/M program CRCK.  Brief instructions for any of
  213. these  utilities   except   LMODEM   can   be   obtained   by   typing
  214. ":utility_name" (for example, :CRC).
  215.  
  216.      TOPS-20 utilities for transferring and manipulating files can  be
  217. found  in  directory  PD:<CPM.TOPS-20>.   See PD:<CPM>CPM.CRCLST for a
  218. list of available programs.
  219.  
  220.      File  transfer  and  conversion  utilities  for  use with VAX/VMS
  221. machines are contained in directory PD:<CPM.VAXVMS>.   See  CPM.CRCLST
  222. for details.
  223.  
  224.  
  225. Kermit:
  226.  
  227.      Another  excellent  program  for  transferring  files  is  called
  228. KERMIT.  This program has the advantage  of  being  available  for  an
  229. impressively  large  number  of  mainframes  and  micros.   It is, for
  230. example, available for the IBM-PC, and it DOES NOT require CP/M.
  231.  
  232.      To  get  started  with KERMIT, connect to CU20B using FTP, and do
  233. this:
  234.  
  235.     
  236.         get PD:<kermit>00readme.txt 
  237.         get PD:<kermit>current.doc 
  238.     
  239.  
  240. Note that the first filename begins with "zero-zero".
  241.  
  242.      After reading 00README.TXT, look  at  CURRENT.DOC  and  see  what
  243. versions are currently available.  Questions can be addressed to INFO-
  244. KERMIT-REQUEST at host CU20B.
  245.  
  246.  
  247.  
  248. MICROCOMPUTER  PROGRAMS  FOR TRANSFERRING FILES BETWEEN MAINFRAMES AND
  249. MICROS
  250.  
  251. Christensen Protocol:
  252.  
  253.      An excellent program for transferring files  between  micros,  or
  254. between  micros  and  mainframes  is called MODM7xx, where the "xx" is
  255. replaced with two digits to give the  current  version  number.   This
  256. program,  often  referred  to  as  MODEM7  (the  name of its easier to
  257. pronounce ancestor), uses the popular Christensen protocol to transfer
  258. files  with  automatic error detection and retransmission of erroneous
  259. blocks.
  260.  
  261.      To get started with MODM7xx, you should first FTP and examine two
  262. files  from  the  directory  PD:<CPM.MODEM7>.   After  connecting   to
  263. SIMTEL20, do this:
  264.  
  265.     
  266.         get PD:<cpm.modem7>modm7xx.doc 
  267.         get PD:<cpm.modem7>modm7xx.msg 
  268.     
  269.  
  270. Both are ASCII files.  Together, they will tell  you  just  about  all
  271. there  is  to  know  about getting the program to run on your machine.
  272. Take the time to read these files;  they're  quite  informative.   You
  273. will  also  get some helpful insights from reading some of the overlay
  274. files.   These  overlays,  described  in  file   PD:<CPM.MODEM7>M7OVL-
  275. yy.LST,  are used to customize MODM7xx for particular machines without
  276. having to edit and assemble the huge MODM7xx  source  file.   Complete
  277. instructions  for  performing  this  procedure  are  contained in each
  278. overlay file.  The letters  "yy"  in  the  above  filename  should  be
  279. replaced  with  two  digits  giving  the  current  version  number  as
  280. determined from CPM.CRCLST.
  281.  
  282.      And then, there is MEX.  MEX stands for "modem executive", and it
  283. is just what the name  implies,  a  communications  and  file-transfer
  284. program  with  a  built-in mini operating system that runs under CP/M.
  285. This program can do file transfers using  either  the  Christensen  or
  286. Compuserve  protocol,  and  it  has  an  enormous potential for highly
  287. automated operations because it can read and  execute  command-scripts
  288. pre-stored  in disk files.  These scripts can include sending commands
  289. to a remote computer, as if they  had  been  sent  manually  from  the
  290. microcomputer  in terminal-mode.  Users of this relatively new program
  291. are still exploring its possibilities.  For more information, look  in
  292. CPM.CRCLST  under the heading "PD:<CPM.MEX>", and then get the various
  293. files that have "DOC" in their names.
  294.  
  295.  
  296. Kermit:
  297.  
  298.      As stated earlier,  KERMIT  is  also  an  excellent  program  for
  299. transferring  files  between computers.  It, too, does automatic error
  300. detection and retransmission, and  it  works  between  mainframes  and
  301. micros,  between  micros,  and  between  mainframes.   See the earlier
  302. "Kermit" paragraph for details.
  303.  
  304.  
  305. Getting Started:
  306.  
  307.      In order to get MODM7xx, MEX or KERMIT running on your micro, you
  308. must  first  transfer the necessary files from mainframe to micro.  If
  309. you already have a  receive-to-disk  communications  program  of  some
  310. sort,  you can use it to move the needed files.  It is VERY CONVENIENT
  311. to be able to transfer 8-bit binary files, although in most  cases  it
  312. is  not absolutely necessary.  Some of the files are quite large.  For
  313. example, MODM7xx.COM is over 18K bytes, and the HEX  file  (which  you
  314. will  need  if  you  can't  transfer 8-bit files) is over 45K.  Moving
  315. large files to your micro without using an  error  detecting  protocol
  316. can  result  in  frustrating  errors,  but it can be done by receiving
  317. multiple copies and using manual or  machine-assisted  comparisons  to
  318. locate  and  repair bad parts of the code.  However, there IS a better
  319. way.
  320.  
  321.      Directory  PD:<CPM.MODEM>  contains  a  file that can be FTPed to
  322. your mainframe, printed, and then entered into your micro by hand  and
  323. assembled.   It  is  quite  short.  To examine this option, connect to
  324. SIMTEL20 via FTP and do this:
  325.  
  326.     
  327.         get PD:<cpm.modem>pipmodem.asm 
  328.         get PD:<cpm.modem>pipmodem.doc 
  329.         get PD:<cpm.modem>mboot3.asm 
  330.     
  331.  
  332. All   are   ASCII  files.   Read  PIPMODEM.DOC  first,  then  look  at
  333. MBOOT3.ASM.   PIPMODEM.DOC  explains  the   situation   very   nicely.
  334. Questions   concerning   these   programs  should  be  sent  to  INFO-
  335. CPM@AMSAA.ARPA.
  336.  
  337.  
  338.  
  339. ADDITIONS, IMPROVEMENTS AND CORRECTIONS
  340.  
  341.      Suggestions for additions, improvements and corrections  to  this
  342. message  are  always  welcome.  Please send them to INFO-CPM-REQUEST @
  343. AMSAA.ARPA.  Additional information concerning FTP is, however, beyond
  344. the  scope  of  this document.  If you need help with FTP, please read
  345. the documentation for your local system, or see your  friendly  system
  346. wizard.
  347.  
  348.      Contributions of public domain software are  actively  solicited.
  349. If  you  have  something  that  seems appropriate for inclusion in the
  350. <CPM>  archive,  please  contact  Keith   Petersen   <W8SDZ@SIMTEL20>.
  351. Likewise,  contributions  to  the  <UNIX>  archive can be addressed to
  352. Richard Conn <ADA-SW-REQUEST@SIMTEL20>.  Contributions  to  the  <ADA>
  353. archive can be addressed to Richard Conn <ADA-SW-REQUEST@SIMTEL20>.
  354.  
  355.      Happy hacking!
  356.  
  357.  
  358.  
  359.     
  360.                         Dave Towson
  361.                         INFO-CPM-REQUEST@AMSAA
  362.     
  363.  
  364.  
  365.  
  366.  
  367.