home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / comm / sfcopy.zip / SFC.DOC next >
Text File  |  1993-06-11  |  44KB  |  1,186 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                                 Serial File Copy
  8.  
  9.                                    Version 2.1
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                             Copyright (C) 1989 & 1990
  16.                                  By MarshallSoft
  17.                             All rights are reserved.
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                                   MarshallSoft
  24.                                    PO Box 4543
  25.                               Huntsville, AL. 35815
  26.                                  (205) 881-4630
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                                                page 1
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                           TABLE OF CONTENTS
  69.  
  70.  
  71.  
  72.                   Chapter                          Page
  73.                   -------                          ----
  74.              1.0  Introduction.....................  3
  75.              2.0  Summary of SFC Features..........  3
  76.              3.0  Distribution Files...............  4
  77.              4.0  Purchasing a Null Modem Cable....  4
  78.              5.0  Building a Null Modem Cable......  5
  79.              6.0  Running SFC......................  7
  80.                   6.1  Startup Menu................  7
  81.                   6.2  Startup Problems............  8
  82.                   6.3  Status Window...............  9
  83.                   6.4  Command Menu................ 10
  84.                   6.5  Terminating SFC............. 11
  85.              7.0  Cloning SFC...................... 12
  86.              8.0  Support Programs................. 13
  87.                   8.1  CLONE, GETSFC, and PUTSFC... 13
  88.                   8.2  LOOPBACK.................... 13
  89.                   8.3  TERMINAL.................... 13
  90.                   8.4  MODEM....................... 13
  91.                   8.5  PORTEXAM.................... 13
  92.                   8.6  GETFILE and PUTFILE......... 14
  93.                   8.7  CHECKCRC.................... 14
  94.                   8.8  CRYPT....................... 14
  95.                   8.9  SPACE....................... 14
  96.              9.0  Performance...................... 15
  97.                   9.1  Test 1...................... 15
  98.                   9.2  Test 2...................... 15
  99.                   9.3  Test 3...................... 15
  100.                   9.4  Other Tests..................15
  101.             10.0  CRC Calculations................. 16
  102.             11.0  User Registration................ 16
  103.             12.0  Revision History................. 17
  104.             13.0  Warranty......................... 18
  105.             14.0  Final Comments................... 18
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.                                                                page 2
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                 1.0 Introduction
  135.  
  136.  
  137.         The  Serial  File  Copy  program  SFC  is  designed  to allow the
  138.         transfer of disk files ( including entire directories  which  may
  139.         themselves   contain   directories  )  between  any  two  IBM  PC
  140.         compatible computers using standard RS232 serial ports.  The  SFC
  141.         program  is  particularly  useful in copying files between IBM PC
  142.         compatibles with 5.25" disks and those with 3.5"  disks  such  as
  143.         the  IBM  PS/2  and  the  various  IBM PC compatible laptops. The
  144.         computers must both be IBM PC  compatible  (  this  includes  the
  145.         TANDY 1000 ) with 256 KB or more of RAM.
  146.  
  147.         Both  computers ( between which you want to transfer files ) must
  148.         have RS232 serial ports configured for use with  a  modem.  COM1,
  149.         COM2,  COM3  or  COM4 may be used. Baud rate of 1200, 2400, 4800,
  150.         9600, 19200, or 38400 may be selected. Baud rates  of  57600  and
  151.         115200 are available in the registered version.
  152.  
  153.         There  are only two differences between the shareware version and
  154.         the registered version of the SFC program. The first is that  the
  155.         registered  version  can  run  at  baud rates of 57600 and 115200
  156.         baud. The second is that the registered version does not have the
  157.         opening shareware screen.
  158.  
  159.  
  160.                            2.0 Summary of SFC Features
  161.  
  162.  
  163.         o Supports COM1, COM2, COM3 and COM4.
  164.         o Supports baud rates from 1200 to 115200.
  165.         o Select groups of files with DOS wildcards ( eg: *.DOC )
  166.         o Select entire directories ( recursively ).
  167.         o Complete disk & transfer status on screen.
  168.         o On line help provided for all SFC commands.
  169.         o Option to send only files with a later timestamp.
  170.         o Load DOS Shell from within SFC.
  171.         o Full 16 bit CRC checksum is used.
  172.         o Bad file packets are automatically retransmitted.
  173.         o Change logged drive and path from within SFC.
  174.         o Display directories from within SFC.
  175.         o File date & time preserved after copying.
  176.         o Supports command line parameters.
  177.         o Supports batch file lists ( lists of files to send ).
  178.         o Option to send or skip any file from selected group.
  179.         o Can print files on remote computer.
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.                                                                page 3
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                              3.0 Distribution Files
  201.  
  202.  
  203.         If a previous version of SFC is used  to  copy  the  distribution
  204.         files  be  sure  to rename the older version ( eg: rename sfc.exe
  205.         sfc_old.exe ) so that there  is  no  attempt  to  run  the  older
  206.         version  with the newer version. The following files should be on
  207.         the SFC distribution disk:
  208.  
  209.         SFC.EXE  --  The executable Serial File Copy ( SFC ) program.
  210.         SFC.DOC  --  This documentation file.
  211.         SFC.HLP  --  File required for on-line help ( Type F1 for help ).
  212.         SFC.QRC  --  Quick reference card.
  213.         SFC.INV  --  Invoice ready to print.
  214.         SFCSW.EXE -  Displays shareware screen for SFC.
  215.  
  216.  
  217.         Registered users are also provided  with  the  following  support
  218.         programs.  None  are  necessary  in  order  to  run  SFC, but are
  219.         provided as a "Thank You" for registering. For a  description  of
  220.         these  programs  see  the  sections  on  "Support  Programs"  and
  221.         "Cloning SFC".
  222.  
  223.         CLONE.COM    -- 'Clones' SFC on the target computer.
  224.         GETSFC.COM   -- Created by CLONE on the target computer.
  225.         PUTSFC.COM   -- Sends SFC to GETSFC on the target computer.
  226.         LOOPBACK.COM -- Performs loopback testing on specified port.
  227.         TERMINAL.COM -- Communications program with XMODEM & scripts.
  228.         TERMINAL.DOC -- TERMINAL documentation file.
  229.         MODEM.EXE    -- Controls and displays modem control status.
  230.         PORTEXAM.EXE -- Displays all information about specified port.
  231.         GETFILE.COM  -- Small file transfer program used with PUTFILE.
  232.         PUTFILE.COM  -- Small file transfer program used with GETFILE.
  233.         CHECKCRC.EXE -- Computes the CRC for any file.
  234.         CRYPT.EXE    -- Encrypts and decrypts any file.
  235.         SPACE.COM    -- Displays free disk space and allocation units.
  236.  
  237.  
  238.                         4.0 Purchasing a Null Modem Cable
  239.  
  240.  
  241.         A 'null modem cable' is necessary to connect  the  two  computers
  242.         together using the RS232 ports ( the port used to talk to a modem
  243.         ).  A  null  modem cable can be purchased ready for use or can be
  244.         assembled by connecting a 'null modem adapter' to a normal  RS232
  245.         modem cable.
  246.  
  247.         Null  modem  adapters  and  cables  can be purchased from several
  248.         sources such as Radio Shack and most  electronics  parts  houses.
  249.         "Computer  Shopper"  regularly  carries  advertisements  for null
  250.         modem adapters and cables. Be advised that  not  all  null  modem
  251.         adapters  and cables connect all the lines that may be necessary.
  252.         Although all should work for SFC some may not work for the  MSDOS
  253.         CTTY command which is used by the CLONE program.
  254.  
  255.         Read  the  following section on building a null modem cable for a
  256.         discussion on cable requirements.
  257.  
  258.  
  259.  
  260.                                                                page 4
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                          5.0 Building a Null Modem Cable
  267.  
  268.  
  269.         Building the null modem cable is easy. The only  tricky  part  is
  270.         being  absolutely  positive  that you have identified the correct
  271.         pins. Refer to the diagrams below as necessary. The pin numbering
  272.         is shown for the front of each connector, where the pins ( male )
  273.         or holes ( female ) are located. When viewed from the back side (
  274.         where the wires are soldered ) the pins  and  holes  run  in  the
  275.         opposite direction. Soldering is recommended, although solderless
  276.         connectors which use crimp pins can be used instead. You can also
  277.         solder each wire to a crimp pin as its much easier than soldering
  278.         the wire directly onto the connector.
  279.  
  280.  
  281.                           Male DB 25                       Male DB 9
  282.          *****************************************    *****************
  283.         *  1  2  3  4  5  6  7  8  9 10 11 12 13  *  *  1  2  3  4  5  *
  284.          *  14 15 16 17 18 19 20 21 22 23 24 25  *    *   6  7  8  9  *
  285.           ***************************************      ***************
  286.  
  287.  
  288.                          Female DB 25                     Female DB 9
  289.          *****************************************    *****************
  290.         * 13 12 11 10  9  8  7  6  5  4  3  2  1  *  *  5  4  3  2  1  *
  291.          *   25 24 23 22 21 20 19 18 17 16 15 14 *    *   9  8  7  6  *
  292.           ***************************************      ***************
  293.  
  294.  
  295.           DB 25   DB 9    Pin Definition
  296.           =====   ====    ==============
  297.            7       5      Signal Ground ( SG )
  298.            2       3      Transmit Data ( TX )
  299.            3       2      Receive Data ( RX )
  300.           20       4      Data Terminal Ready ( DTR )
  301.            6       6      Data Set Ready ( DSR )
  302.            4       7      Request to Send ( RTS )
  303.            5       8      Clear to Send ( CTS )
  304.            8       1      Carrier Detect ( CD )
  305.  
  306.  
  307.         SFC  itself  requires only signal ground (SG), transmit (TX), and
  308.         receive (RX) lines in order to operate.  The  first  step  is  to
  309.         determine  the  type  of  connectors  required. Examine the RS232
  310.         connectors  on  your  computers.  You  will  need   to   purchase
  311.         connectors  that mate with the computers connectors. For example,
  312.         lets say that you have a laptop with a male DB 9 connector and  a
  313.         desktop  with a female DB 25 connector. Then you need a female DB
  314.         9 and a male DB 25 connector for your cable. IBM ATs and  laptops
  315.         require  a  female  DB  9  to  mate  while most XT class machines
  316.         require a female DB 25 to mate.
  317.  
  318.         The  DB  25  and  DB  9  connectors  can  be  purchased  at  most
  319.         electronics  parts  houses.  Radio  Shack also stocks both solder
  320.         type and solderless DB connectors.
  321.  
  322.         Next you will need about 6 feet of ordinary  4-wire  solid  phone
  323.         cable,  although  any  3-wire  cable  of  24  to  20 gauge can be
  324.  
  325.  
  326.                                                                page 5
  327.  
  328.  
  329.  
  330.  
  331.  
  332.         substituted. If the CLONE program is to be used then 5 wires  are
  333.         required.  Up  to 50 feet of cable can be used. Shielded cable is
  334.         even better but not necessary. Cable can be purchased by the foot
  335.         at most stores that sell it.
  336.  
  337.         Once the connectors and cable have been purchased you  are  ready
  338.         to  assemble  your  null  modem  cable.  First connect the signal
  339.         ground ( SG ) line  straight  between  connectors.  Then  connect
  340.         Transmit Data ( TX ) from one connector to Receive Data ( RX ) on
  341.         the  other.  If you wish to use the SFC cloning program CLONE you
  342.         must also connect Data Terminal  Ready  (  DTR  )  from  the  end
  343.         connected to the computer running CLONE to Data Set Ready ( DSR )
  344.         on  the  other  end.  Some  computers ( like my TANDY 3000 ) also
  345.         require you to connect Request To Send  (  RTS  )  from  the  end
  346.         connected  to the computer running CLONE to Clear To Send ( CTS )
  347.         on the other end.
  348.  
  349.         You then should have either 3 ( or 5 in  order  to  use  CLONE  )
  350.         lines  connected  between connectors. Once completed, test the TX
  351.         and RX connections by running the  TERMINAL  (  or  any  terminal
  352.         emulator  )  program on both sides. Whatever is typed on one side
  353.         is  displayed  on  the  other.  Finally,   test   the   remaining
  354.         connections by cloning SFC from one computer to the other.
  355.  
  356.         Refer  to the Pin Definition Table above in order to identify the
  357.         correct pins for your connector. When viewing the connector  side
  358.         of  both  the  DB  9 and DB 25 with the wide part at the top, the
  359.         pins are numbered left to right, top to bottom.  Most  connectors
  360.         have  the  pin  numbers  on  the  connector  itself but are often
  361.         difficult to read because they are very small.
  362.  
  363.  
  364.         If  you  have  never  soldered  before,  you  should  use  either
  365.         solderless connectors ( you crimp the wires on ) or find a friend
  366.         who  has  some  experience  soldering.  Remember  that  soldering
  367.         doesn't have to be pretty in order to  work.  Practice  a  little
  368.         first  with  some spare wire if you are out of practice. When you
  369.         have completed construction of your null modem cable, verify that
  370.         the correct pins have been connected. If you cannot  get  SFC  to
  371.         operate, then most likely you made a mistake in constructing your
  372.         cable.
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.                                                                page 6
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                                  6.0 Running SFC
  399.  
  400.  
  401.         Connect  your  PC compatible computers together with a null modem
  402.         cable between the RS232 ports ( the port used to talk to a  modem
  403.         ).  Be  sure  that you are using a proper null modem cable rather
  404.         than a standard cable.
  405.  
  406.         Normally, SFC can be started on both computers by typing 'SFC' on
  407.         each. This is referred  to  as  the  AUTOSYNC  startup.  On  some
  408.         computers,  AUTOSYNC will not work well. In this case, choose one
  409.         computer to be the MASTER and the other the SLAVE.  It  makes  no
  410.         difference which is which. Start SFC on the MASTER by typing "SFC
  411.         M"  followed  by  the ENTER key. Start SFC on the SLAVE by typing
  412.         "SFC S" followed by the ENTER key.
  413.  
  414.         Additionally, both  the  COM  port  and  the  baud  rate  can  be
  415.         specified  on the command line by typing "SFC X Y Z" where X is A
  416.         for AUTOSYNC, M for MASTER or S for SLAVE; Y is 1 for COM1  to  4
  417.         for COM4; and Z is the baud rate ( 1200 to 115200 ). For example,
  418.         "SFC  M  2  57600" will start up SFC on COM2 at 57600 baud as the
  419.         MASTER, and "SFC S 1" will start up SFC on COM1  at  the  default
  420.         baud  rate as the SLAVE. If AUTOSYNC is specified on one side, it
  421.         must also be specified on the other. Any errors  on  the  command
  422.         line are ignored and defaults are used.
  423.  
  424.  
  425.                                 6.1 Startup Menu
  426.  
  427.  
  428.         After  startup,  a  menu  will  be displayed at the bottom of the
  429.         screen with 4 options. Use up and down arrow  keys  to  move  the
  430.         menu  bar  -- use ENTER to make selection. Note that on-line help
  431.         is available by typing function key 1 ( F1 ).
  432.  
  433.             CONNECT: Attempts to connect to the other computer. The  baud
  434.             rate must be the same on both computers.
  435.  
  436.             SET BAUD: Allows the user to select the baud rate. 57600 baud
  437.             and 115200 baud are available only in the registered version.
  438.             Note  that  some  4.77 MHZ PC compatibles won't run at 115200
  439.             baud.
  440.  
  441.             SET PORT: Allows the user to select the communications  port,
  442.             COM1  to  COM4.  Of  course, hardware must exist for the port
  443.             selected.
  444.  
  445.             SET PRINTER: Allows the user to select the printer port, PRN1
  446.             or PRN2 for printing by the remote system.
  447.  
  448.             QUIT: Quits and returns to MSDOS.
  449.  
  450.         Set the port and/or baud rate on both computers if the default  (
  451.         COM1  at  38400  in  shareware  version  and 115200 in registered
  452.         version ) is not acceptable. Then select the CONNECT option.  SFC
  453.         will now attempt connection to the other computer.
  454.  
  455.  
  456.  
  457.  
  458.                                                                page 7
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                               6.2 Startup Problems
  465.  
  466.  
  467.         If  the  message "Connection completed" is not displayed then the
  468.         computers are not talking to each other. The problem may  be  one
  469.         of the following:
  470.  
  471.             (1)  You  must  start  SFC  on  both computers! SFC should be
  472.             started on both computers within one minute of each other.
  473.  
  474.             (2) The wrong port is selected. For example, if SFC  is  told
  475.             to use COM1 but COM2 is actually connected to the cable.
  476.  
  477.             (3)  You  may  have  selected different baud rates. They must
  478.             match! The default baud  rate  is  38400  for  the  shareware
  479.             version and 115200 for the registered version.
  480.  
  481.             (4)  The  selected  baud rate is too fast. Run at the fastest
  482.             processor speed possible ( for  multi  speed  machines  )  or
  483.             select a slower baud rate.
  484.  
  485.             (5)  You do not have a null modem cable connecting the two. A
  486.             normal cable ( without a null modem adapter ) will not  work.
  487.             Test the null modem cable by running TERMINAL or any terminal
  488.             emulation program. Whatever is typed on one side is displayed
  489.             on the other. If this does not happen then you have a problem
  490.             with your null modem cable.
  491.  
  492.             (6)  One of the computers may be configured as DCE ( in order
  493.             to talk to a serial printer ) instead of DTE (  in  order  to
  494.             talk  to a modem ). In this case, a normal cable ( instead of
  495.             a null modem cable ) will work.
  496.  
  497.             (7)  Your  serial  port  is  defective.  This  is   unlikely.
  498.             Registered users can run LOOPBACK to test the port.
  499.  
  500.             (8)  COM1  &  COM2 work but COM3 & COM4 don't. There are some
  501.             differences in the way COM3 and COM4 are set up among various
  502.             IBM compatibles. Use COM1 or COM2  instead.  (  MSDOS  should
  503.             place  the  address  of  the COM3 port at 40:0004 and COM4 at
  504.             40:0006 ).
  505.  
  506.             (9) Your PC is not IBM hardware compatible! For example,  the
  507.             TANDY  2000  is  not  hardware compatible with respect to the
  508.             serial ports.
  509.  
  510.         If this is the first attempt to run SFC then use the manual mode:
  511.         Type "SFC M" on one computer and "SFC S" on  the  other.  If  you
  512.         still  cannot  get  communication  between  computers, registered
  513.         users can call  the  technical  support  telephone  number  (205)
  514.         881-4630  after  5:00  PM  CST  Monday through Friday or Saturday
  515.         after 2:00 PM CST for assistance.
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.                                                                page 8
  525.  
  526.  
  527.  
  528.  
  529.  
  530.                                 6.3 Status Window
  531.  
  532.  
  533.         The "Status" window contains information having to  do  with  the
  534.         status of SFC. The definition of each field follows:
  535.  
  536.             PORT: The Communications port ( COM1 to COM4 ) is displayed.
  537.  
  538.             BAUD: The baud rate ( 1200 to 115200 ) is displayed.
  539.  
  540.             UNIT:  #  bytes  per  allocation unit is displayed. Space for
  541.             disk files is always allocated as a multiple of this value.
  542.  
  543.             DRIVE: The currently logged drive is displayed.
  544.  
  545.             PATH: The current directory path is displayed.
  546.  
  547.             MODE: Runtime mode is displayed.
  548.  
  549.             "ready"   -- Displayed when ready to accept keyboard input.
  550.             "MENU"    -- Displayed after having selected a menu command.
  551.             "send"    -- Displayed while sending files.
  552.             "receive" -- Displayed while receiving files.
  553.  
  554.             FREE: Free disk space in bytes is displayed.
  555.  
  556.         Three runtime options ( ASK, DIR, CHK )  are  also  displayed  as
  557.         either "On" or "Off". All options can be toggled between "On" and
  558.         "Off"  by  use  of  the "Toggle Options" selection of the command
  559.         menu ( See section 6.4 ).
  560.  
  561.             ASK: Asks the user for permission before sending  each  file.
  562.             Normally  off.  Typically  selected  when  using wildcards in
  563.             specifying a range of files for which  you  wish  to  exclude
  564.             some files.
  565.  
  566.             DIR: Enables sending of directories ( recursively ). Normally
  567.             on, toggle this off if you wish to ignore directories.
  568.  
  569.             CHK: Send only files with a later date & time if file already
  570.             exists.  Normally  off,  toggle  this  on if you want to do a
  571.             backup of more recently modified  files.  "...skipped..."  is
  572.             displayed  if  the  file  is  not  copied  because of the CHK
  573.             option.
  574.  
  575.         Notes: (1) All options need only be set on the sending  computer.
  576.         (2)  Be sure that the clocks on your two computers are set to the
  577.         same date and time ( to within a few seconds )  if  you  plan  on
  578.         using the CHK option.
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.                                                                page 9
  591.  
  592.  
  593.  
  594.  
  595.  
  596.                                 6.4 Command Menu
  597.  
  598.  
  599.         The  Command  Menu contains the choices the user has once SFC has
  600.         connected. Use the up and down arrow keys to move  the  menu  bar
  601.         and  ENTER  to  make  your  selection. Once one of the choices is
  602.         selected, the user can return without SFC performing the selected
  603.         function by typing the ESC key. Type  the  F1  function  key  for
  604.         help.
  605.  
  606.             QUIT: Quits SFC and returns to MSDOS.
  607.  
  608.             SET  CURRENT DRIVE: Changes the currently selected drive. The
  609.             user can "log onto" any legal DOS drive ( A, B,  etc.  ).  If
  610.             you  change  diskettes  then  you  must always select the SET
  611.             DRIVE option before continuing.
  612.  
  613.             SET CURRENT PATH: Changes the currently selected  path.  When
  614.             this option is selected, a "Enter Path:" prompt is displayed.
  615.             The user then edits the current path which is displayed.
  616.  
  617.             All  paths  must  start  with a backslash ( full path name ).
  618.             When the user is satisfied, typing ENTER will save the  path.
  619.             Then  MSDOS  will  attempt  to  change the "current" path. If
  620.             successful, the new path will be displayed  in  the  "Status"
  621.             window.
  622.  
  623.             DIRECTORY: Displays a directory of files requested. When this
  624.             option  is selected, a "Enter files" prompt is displayed. The
  625.             user then types the file or files ( using the MSDOS wildcards
  626.             * and ? ). Filenames can be edited similarly to paths.
  627.  
  628.             SEND FILE(S): Sends files to the other computer.  No  special
  629.             action  is  required  on  the receiving side except that both
  630.             sides must have previously selected CONNECT. The user will be
  631.             prompted for the filename in the same way as when "Directory"
  632.             was selected including the use of the MSDOS wildcards  *  and
  633.             ?.  If you specify that a directory is to be sent and the DIR
  634.             option is set to "On", then all files  in  that  directory  (
  635.             including  other  directories  )  will  be  sent. In this way
  636.             entire directory structures can be copied. The date and  time
  637.             for normal files ( but not directories ) will be preserved.
  638.  
  639.             An  indirect  file  can  also  be  specified by prefixing the
  640.             filename by the '@' character. An indirect file is a standard
  641.             ASCII text file containing the list of files to be sent.  The
  642.             indirect  file must have been previously prepared and contain
  643.             one filename ( wildcards accepted ) per line. Indirect  files
  644.             are  typically  used  to  specify  a  list  of files that are
  645.             transferred on a regular basis.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.                                                                page 10
  657.  
  658.  
  659.  
  660.  
  661.  
  662.             REMOTE PRINT: Sends the specified file to the remote (  other
  663.             )  computer  for  printing.  No  wildcards  are  allowed. The
  664.             printing can be canceled at any time by typing any key before
  665.             the normal end of the print job.
  666.  
  667.             TOGGLE OPTIONS: Allows the user to toggle each of  the  three
  668.             runtime options ( ASK, DIR, and CHK ). The current setting is
  669.             always  displayed in the status area. For a definition of the
  670.             runtime options, see SFC Status Window above.
  671.  
  672.             DOS SHELL: Loads the DOS shell, allowing the user to  execute
  673.             DOS  commands.  The  user must be very careful not to execute
  674.             any command that changes the serial  ports  or  modifies  the
  675.             screen   environment.   Please  note  that  many  application
  676.             programs do change the screen environment.  It  is  safer  to
  677.             stay  with  the  standard  DOS  commands  unless a particular
  678.             executable has been previously tested.
  679.  
  680.         When entering text in response to any of the above commands, type
  681.         ESC to return back to the main menu without selecting. The editor
  682.         starts in "Overstrike" mode ( each typed character  overlays  the
  683.         previous character ), but can be switched to "Insert" mode ( each
  684.         typed   character   is  inserted  at  the  cursor,  shifting  all
  685.         characters to the right over one space) by typing the INSERT  key
  686.         (  which toggles between Overstrike and Insert mode ). The DELETE
  687.         key deletes the character underneath  the  cursor.  The  END  key
  688.         moves  the  cursor  to  the end of the string, while the HOME key
  689.         moves the cursor to the start of the string.
  690.  
  691.  
  692.                                6.5 Terminating SFC
  693.  
  694.  
  695.         A series of files being transmitted can be terminated  (  without
  696.         aborting the system ) by typing ESC during transmission. The user
  697.         will  be  returned  to  the  SFC menu after the completion of the
  698.         current file transmission.
  699.  
  700.         The user may break out of SFC at any time and return to MSDOS  by
  701.         typing  "CTRL"  and  "BREAK"  simultaneously. This should only be
  702.         used when the program hangs for some  reason  and  SFC  does  not
  703.         respond  to  the  keyboard.  Always try to use the menu selection
  704.         QUIT to quit SFC and return to MSDOS rather than Control Break.
  705.  
  706.         SFC is bi-directional ( files can be sent in both  directions  ).
  707.         However, do not attempt to send files from one computer while you
  708.         are editing a path or filename on the other.
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.                                                                page 11
  723.  
  724.  
  725.  
  726.  
  727.  
  728.                                  7.0 Cloning SFC
  729.  
  730.  
  731.         Registered  users  are  provided  with a 'cloning' capability for
  732.         SFC. This enables the user to  get  a  copy  of  SFC  on  another
  733.         computer via a null modem cable. The only requirement is that the
  734.         receiving  (  target  ) computer have the standard MSDOS programs
  735.         MODE and DEBUG available in the currently logged directory. Also,
  736.         Data Set Ready ( DSR ) and ( for some computers ) Clear To Send (
  737.         CTS ) must be set to high on the target computer before the  CTTY
  738.         command will work. See the section on null modem cables.
  739.  
  740.         We  first  assume  that the SFC programs are all available on one
  741.         computer ( we'll call it the source computer ) and that the other
  742.         computer ( we'll call it the target ) has only the standard MSDOS
  743.         programs DEBUG and MODE. In addition, we'll assume  that  a  null
  744.         modem  is  connected between the two using port COM1 on both. The
  745.         task is to get SFC on the target computer.
  746.  
  747.         The first step is to boot the target  computer  and  then  verify
  748.         that  both  DEBUG and MODE are in the currently logged directory.
  749.         Then type "MODE COM1:1200,N,8,2" to set the  baud  rate,  parity,
  750.         and stop bits on the target computer.
  751.  
  752.         The  second  step  is  to force DSR and CTS to high on the target
  753.         computer. This is required by the MSDOS CTTY command. If you have
  754.         a null modem cable in which  DTR  from  the  source  computer  is
  755.         connected  to DSR on the target and RTS on the source computer is
  756.         connected to CTS on the target computer (  as  described  in  the
  757.         cable  construction  section  ) then the CLONE program will force
  758.         DSR and CTS high on the target computer.
  759.  
  760.         The third ( optional ) step is to test step  2  by  typing  'CTTY
  761.         COM1'   on   the   target   computer  followed  by  typing  'MODE
  762.         COM1:1200,N,8,2' and then 'TERMINAL' on the source computer. Once
  763.         done, all commands typed on the keyboard of the  source  computer
  764.         will  be  executed by the target computer. Type "CTTY CON" on the
  765.         source computer. If  control  is  then  returned  to  the  target
  766.         computer  then  we  are  ready  for  the next step. If the target
  767.         computer does  not  respond  to  commands  typed  on  the  source
  768.         computer  then  either  the cable is not right or DSR and CTS are
  769.         not high on the target computer. Remember to type ESC to get  out
  770.         of the TERMINAL program.
  771.  
  772.         The  fourth  step  is  to  type  'CLONE'  on  the source computer
  773.         followed by typing 'CTTY COM1' on the target computer. CLONE will
  774.         create the program GETSFC on the target computer. It takes  about
  775.         a  minute  to run. Once done, CLONE breaks the connection between
  776.         the computers. Do a directory on  the  target  computer  and  you
  777.         should now see the program GETSFC.COM.
  778.  
  779.         The  fifth  and  last  step  is to first run GETSFC on the target
  780.         computer followed by running PUTSFC on the  source  computer.  Be
  781.         sure that SFC.EXE is in the same directory as PUTSFC. The process
  782.         takes  about  a minute and results in SFC.EXE being copied to the
  783.         target computer.
  784.  
  785.  
  786.  
  787.  
  788.                                                                page 12
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                               8.0 Support Programs
  795.  
  796.  
  797.         8.1 CLONE, PUTSFC, and PUTSFC.
  798.  
  799.         Don't have SFC  on  the  target  computer  ?  The  CLONE  program
  800.         provides  a way to 'clone' SFC onto another computer. The program
  801.         PUTSFC is used to send a copy of SFC to GETSFC which  is  created
  802.         by  CLONE  on  the target computer. With CLONE you only need your
  803.         null modem cable to connect to computers with  a  different  disk
  804.         format.  See  the  section  entitled "CLONING SFC" for a complete
  805.         discussion.
  806.  
  807.         8.2 LOOPBACK
  808.  
  809.         If you suspect that your serial port may be defective,  then  use
  810.         LOOPBACK  to test the internal circuitry. The serial ports have a
  811.         built in 'loop  back'  test  capability  which  is  used  by  the
  812.         LOOPBACK  program.  For  example,  to  test  the  COM1 port, type
  813.         'LOOPBACK 1'
  814.  
  815.         8.3 TERMINAL
  816.  
  817.         Looking for a small no frills communications program with  XMODEM
  818.         file  transfer  protocol and a script command language ? TERMINAL
  819.         may be what you are looking for. Use TERMINAL to  download  files
  820.         from  bulletin boards or to help test null modem cables. TERMINAL
  821.         is documented in the TERMINAL.DOC file.
  822.  
  823.         8.4 MODEM
  824.  
  825.         The MODEM program is used to turn the modem control lines DTR and
  826.         RTS on and off, and to display DTR, DSR, RTS, and CTS. MODEM  can
  827.         help  you  test  out  your null modem cable. For example, to work
  828.         with COM3, type 'MODEM 3'. A menu will be displayed providing all
  829.         options.
  830.  
  831.         8.5 PORTEXAM
  832.  
  833.         The PORTEXAM program will tell you all you ever  wanted  to  know
  834.         about  the  status of any serial port. It reports the serial port
  835.         address, the interrupt vector, the location of the ISR code,  the
  836.         status  of  all  modem control and modem status lines, and if the
  837.         serial interrupt is enabled.  Very  useful  as  a  cable  testing
  838.         program and for advanced users. For example, to examine COM1 type
  839.         'PORTEXAM 1'.
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.                                                                page 13
  855.  
  856.  
  857.  
  858.  
  859.  
  860.         8.6 GETFILE and PUTFILE
  861.  
  862.         GETFILE  and PUTFILE are very small ( and fast to load ) programs
  863.         designed to send only a few  files  between  computers  when  the
  864.         capabilities  of SFC are not needed. They run at 38400 baud using
  865.         COM1 and do checksum data verification. Run GETFILE first on  the
  866.         target  computer  followed  by  "PUTFILE  filename" on the source
  867.         computer  where  'filename'  is  the  name  of  the  file  to  be
  868.         transferred.
  869.  
  870.         8.7 CHECKCRC
  871.  
  872.         The  CHECKCRC  program  is  used to compute the Cyclic Redundancy
  873.         Check ( CRC ) of any file ( sort of a 16-bit  file  'fingerprint'
  874.         ).  For  example, to compute the CRC of all files ending with the
  875.         extension .DOC type 'CHECKCRC *.DOC'. Use the CHECKCRC program to
  876.         verify that two copies of the same file are indeed the same file.
  877.  
  878.         8.8 CRYPT
  879.  
  880.         Need to protect your data ? The CRYPT program is used to  encrypt
  881.         and  decrypt  any  file.  To use, type 'CRYPT filename1 filename2
  882.         key' and  the  file  'filename1'  will  be  encryted  to  produce
  883.         'filename2'  using  the  numeric  key  'key'.  If  'key'  is  not
  884.         specified then you will be prompted for it. The same key performs
  885.         both encryption  and  decryption.  For  example  'CRYPT  MYFILE.C
  886.         MYFILE.X  123' will encrypt MYFILE.C using the key 123 and create
  887.         file 'MYFILE.X'. To decrypt, repeat the process  using  the  same
  888.         key: 'CRYPT MYFILE.X MYFILE.C 123'.
  889.  
  890.         8.9 SPACE
  891.  
  892.         Need  a  quick and easy way to determine how much free disk space
  893.         is available ? Use the SPACE program  to  display  the  remaining
  894.         free  disk  space  and  the  allocation unit size of the specfied
  895.         disk. For example, type 'SPACE C' to display free space on  drive
  896.         C.
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.                                                                page 14
  921.  
  922.  
  923.  
  924.  
  925.  
  926.                                  9.0 Performance
  927.  
  928.  
  929.         The  following benchmark results were obtained using a Tandy 1000
  930.         ( 4.77 MHZ), a Tandy 1400LT ( 4.77 & 9.16 MHZ ), and a Tandy 3000
  931.         ( 10 MHZ ) computer. Note that the 'standard' IBM PC runs at 4.77
  932.         MHZ. Virtual disks ( ramdisks ) were used  in  order  to  measure
  933.         performance  as independent of disk speed as possible. The use of
  934.         hard disks will result in a little slower times than shown  while
  935.         the  use  of  floppy disks will result in slower times still. The
  936.         use of faster computers will result in faster times  than  shown.
  937.         Three  files  were  used:  file A is 10,000 bytes long, file B is
  938.         50,000 bytes and file C is 100,000 bytes long. All times  are  in
  939.         seconds  and  are  from start to finish including ramdisk access.
  940.         Your results should be very similiar.
  941.  
  942.         9.1 Test 1 ( 10 MHZ Tandy 3000 to 4.77 MHZ Tandy 1000 )
  943.  
  944.         baud rate   File A   File B   File C
  945.         ---------   ------   ------   ------
  946.           38400       4.0     16.5     32.3
  947.          115200       2.2      9.8     14.7
  948.  
  949.         9.2 Test 2 ( 10 MHZ Tandy 3000 to 4.77 MHZ Tandy 1400LT )
  950.  
  951.         baud rate   File A   File B   File C
  952.         ---------   ------   ------   ------
  953.           38400       3.3     15.3     30.3
  954.          115200       1.6      6.7     12.7
  955.  
  956.         9.3 Test 3 ( 9.16 MHZ Tandy 1400LT to 10 MHZ Tandy 3000 )
  957.  
  958.         baud rate   File A   File B   File C
  959.         ---------   ------   ------   ------
  960.          115200       1.5      6.1     12.1
  961.  
  962.         9.4 Other Tests
  963.  
  964.         Serial File Copy  has  been  benchmarked  against  several  other
  965.         shareware  programs. All that we have tried ( 3 ) are slower when
  966.         using the same baud rate. One program took almost twice  as  long
  967.         to transfer files. If anyone finds a faster file transfer utility
  968.         than SFC please write or call!
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.                                                                page 15
  987.  
  988.  
  989.  
  990.  
  991.  
  992.                               10.0 CRC Calculations
  993.  
  994.  
  995.         A  full  16 bit Cyclic Redundancy Check ( CRC ) using the CCITT (
  996.         The  Consultative  Committee  in  International  Telegraphy   and
  997.         Telephony  )  polynomial  is used by SFC. The CRC of each file is
  998.         computed before transmission by the sender and  sent  along  with
  999.         the file being transmitted. The receiver then computes the CRC of
  1000.         the  received  file  and compares it to the CRC sent. If the CRCs
  1001.         match, then the file is considered to be correct and  a  "OK"  is
  1002.         displayed.  CRC  calculations  are  considered  to  be  the  best
  1003.         available method for  verifing  data  integrity.  They  are  much
  1004.         superior to checksums and detect 99.99 percent of data errors. If
  1005.         an  error  is detected, the offending packet ( part of the file )
  1006.         will be re-transmitted up to 3 times.
  1007.  
  1008.  
  1009.                              11.0 User Registration
  1010.  
  1011.  
  1012.         The shareware  version  of  SFC  is  provided  so  that  you  may
  1013.         personally  determine  the usefulness of SFC for yourself. If you
  1014.         can use SFC please register your use with us.
  1015.  
  1016.  
  1017.                MarshallSoft
  1018.                P.O. Box 4543
  1019.                Huntsville, AL.
  1020.                35815-4543
  1021.  
  1022.  
  1023.         Please pay by check.  Payment  must  accompany  purchase  orders.
  1024.         Print  the file SFC.INV if an invoice is needed. Two packages are
  1025.         available. The "Personal Package" is available for  $15  postpaid
  1026.         and includes:
  1027.  
  1028.         o High Speed Version - 115200 baud. No shareware screens.
  1029.         o All 12 support programs - See 'Support Programs' section.
  1030.         o Notices of upgrades and related products.
  1031.         o A dozen of my favorite public domain & shareware utilities.
  1032.  
  1033.         The "Business Package" is available for $25 postpaid and includes all
  1034.         of the Personal Package plus:
  1035.  
  1036.         o Telephone support for 1 year.
  1037.         o 1/2 off all future releases of SFC.
  1038.         o Backbone bound printed Users Manual.
  1039.  
  1040.         The registered user will receive the latest version by return mail. A
  1041.         720 KB 3.5" diskette is provided ( unless a 5.25" is requested )
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.                                                                page 16
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.                               12.0 Revision History
  1059.  
  1060.  
  1061.         Version 1.0 -- 10 April 1989 -- Original release
  1062.  
  1063.         Version 1.1 -- 30 July 1989
  1064.  
  1065.           Added ASK option.
  1066.           Added CHK option.
  1067.           Moved DIR option from separate menu item to options menu.
  1068.           Fixed bug in disk file size reporting.
  1069.           Changed units of FREE from kilobytes to bytes.
  1070.           Changed internal parameters for easier synchronization.
  1071.           Increased PATH length from 58 to a full 64 characters.
  1072.           SLAVE side must start SFC with "SFC /S".
  1073.           Could not generate backslash on Tandy 1000.
  1074.  
  1075.         Version 1.2 -- 16 October 1989 ( no shareware version )
  1076.  
  1077.           Added a new AUTOSYNC mode as well as manual startup mode.
  1078.           Added help file support.
  1079.           Greatly expanded documention file.
  1080.  
  1081.         Version 1.3 -- 1 November 1989 ( no shareware version )
  1082.  
  1083.           Fixed problem with port COM2.
  1084.           Support the port and baud rate specified on command line.
  1085.           Simplified operation of AUTOSYNC.
  1086.           Added indirect file ( '@' file ) support.
  1087.           Added support for COM3 and COM4.
  1088.  
  1089.         Version 2.0 -- 10 November 1989
  1090.  
  1091.           Internal change to allow 4.77 MHZ PCs to run at 115200.
  1092.           Allows transfer of read only files.
  1093.  
  1094.         Version 2.1 -- 16 February 1990
  1095.  
  1096.           Added DOS Shell menu option.
  1097.           Modified AUTOSYNC for increased reliability.
  1098.           Increased buffer size to 2000 bytes for 57600 & 115200 baud.
  1099.           Provide cloning program and other supporting programs.
  1100.           Added ability to do remote printing.
  1101.           'NO RESPONSE' error does not abort system.
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.                                                                page 17
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                                   13.0 Warranty
  1125.  
  1126.  
  1127.         The  user  of this software assumes all liability for its use. In
  1128.         no case shall MarshallSoft be liable for any  damages,  including
  1129.         any  incidental  or  consequential damages. The prudent user will
  1130.         keep multiple backups of all important programs and data.
  1131.  
  1132.  
  1133.                                14.0 Final Comments
  1134.  
  1135.  
  1136.         An update to SFC is planned about  twice  a  year  for  the  next
  1137.         several  years.  It  is amazing that as one gets into programming
  1138.         something like SFC new ideas  are  constantly  occurring.  Future
  1139.         upgrades  will add new features, make SFC easier to use, make SFC
  1140.         faster,   add   new   supporting   programs,   or   enhance   the
  1141.         documentation.
  1142.  
  1143.         If  you  find  any errors or have any suggestions for improvement
  1144.         please write or call (205) 881-4630  after  5:00  PM  CST  Monday
  1145.         through Friday or after 2:00 PM Saturday.
  1146.  
  1147.         Consulting   services  for  serial  communications  projects  are
  1148.         available. If you have a project in mind,  write  or  give  me  a
  1149.         call.  I may very likely already have something close to what you
  1150.         need.
  1151.  
  1152.         Thanks for trying out SERIAL FILE COPY. I hope that SFC will meet
  1153.         your expectations. --- Mike Marshall ( Author ).
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.                                                                page 18
  1185.  
  1186.