home *** CD-ROM | disk | FTP | other *** search
/ norge.freeshell.org (192.94.73.8) / 192.94.73.8.tar / 192.94.73.8 / pub / computers / pcjr / comm / TM40.LZH / TM.DOC next >
Text File  |  1985-07-20  |  27KB  |  500 lines

  1.  
  2.                              TMODEM version 4.0
  3.                                July 20, 1985
  4.  
  5.  
  6.       TMODEM is short for Turbo Modem.  A communications program for IBM
  7.       Personal Computers and compatible units.  The author, Paul Meiners,
  8.       and his company, P & M Software, reserve the copyright to this program
  9.       and all related materials.  The user is granted a license to use the
  10.       program and is encouraged to make a donation if the program is found to
  11.       be useful.  $20 is recommended.  Send donations to the following address:
  12.  
  13.                           P & M Software Company
  14.                           9350 Country Creek #30
  15.                           Houston, Texas 77036
  16.  
  17.       In addition, the user is granted the right to make unlimited copies
  18.       of the program and to distribute these copies as he/she desires, except
  19.       that the author reserves the sole right to distribute the program
  20.       for profit.  If the user distributes the product, the user may ask for
  21.       a duplication charge, not to exceed $5 per copy.
  22.  
  23.  
  24.       Features:
  25.  
  26.          1. Nearly complete VT-100 emulation.
  27.          2. ANSI.SYS style color graphics.
  28.          3. BASIC style PLAY for single voice music.  Nice, but due
  29.             to PASCAL's limited sound capability, it plays in foreground.
  30.          4. Fully buffered, interrupt driven, serial I/O.
  31.          5. Fast Xmodem file transfer.
  32.          6. Removable window subsystem.
  33.          7. Telephone directory, with up to 999 entries.
  34.          8. File capture, limited ONLY by the amount of available
  35.             memory.
  36.          9. ASCII file transmission, using XON/XOFF protocol.
  37.         10. Utility package of BASIC style procedures and
  38.             functions.
  39.         11. Full control of all communication parameters.
  40.         12. 40 macro keys, to store logon, passwords, etc.
  41.         13. Printer support, using XON/XOFF flow control.
  42.         14. Host directed Xmodem file transfer.
  43.         15. Xmodem CRC protocol, using the CCITT polynomial:
  44.             x^16 + x^12 + x^5 + 1.
  45.         16. TELINK batch protocol is supported for downloads ONLY,
  46.             at this time.  Support for uploads is anticipated in the
  47.             next release, version 4.1.
  48.  
  49.  
  50.       Most of the features of the program are self-documenting, however
  51.       for the sake of the novice user, some explanation is necessary.
  52.  
  53.          The program is distributed in .COM, which can be executed
  54.          immediately by placing your disk into drive A, changing the
  55.          default drive to A, if not already, then typing the name of the
  56.          program, TM.
  57.  
  58.          Once the user has successfully executed the program, the copy-
  59.          right notice will appear, and the user will be asked if music
  60.          is wanted, strike a "y" if you want music, if not, then strike
  61.          any other key.  The on-line screen will then appear.  At the
  62.          bottom of the online screen appears a reminder of the most
  63.          frequently used commands.  These commands may be selected by
  64.          depressing and holding the ALT key along with the indicated ALPHA
  65.          key.  If the user needs a command that does not appear on the screen,
  66.          a complete list of available commands can be obtained by selecting
  67.          ALT-H.  Commands may be selected while the HELP screen is still on
  68.          screen, so that the user does not need to call up the HELP screen
  69.          repetitively.  Here is a brief description of each command:
  70.  
  71.          ALT-A .... Transmit a file using the ASCII XON/XOFF protocol,
  72.                     where the DC1 character is used for XON and the
  73.                     DC3 character is used for XOFF.
  74.  
  75.          ALT-B .... Send BREAK signal to host computer.  The serial
  76.                     port is forced into the spacing state.
  77.  
  78.          ALT-C .... Turn capture mode ON if it is OFF, or OFF if it is ON.
  79.                     When this mode is turned OFF, either thru the ALT-C
  80.                     command or with the ALT-T command, the user will be
  81.                     prompted for a file name wherein to save the contents of
  82.                     the capture buffer.  During capture mode operations, a
  83.                     '*' or 'W' will appear in the lower left corner of the
  84.                     screen.  The '*' reminds the user that capture mode
  85.                     is ON, the 'W' warns the user that memory space is
  86.                     short.  Capture mode will make use of all available
  87.                     memory.  Capture mode is useful for recording complete
  88.                     sessions for review later, so you don't read so much
  89.                     on those long distance phone calls.
  90.  
  91.          ALT-D .... Modem dialing and phone directory management.
  92.                     The phone directory may have up to 999 entries,
  93.                     if there is enough disk space.  The directory screen will
  94.                     automatically disappear whenever carrier is detected,
  95.                     unless the Forced Carrier config param is "TRUE".
  96.  
  97.          ALT-E .... Turn Half Duplex ON if it is OFF, or OFF if it
  98.                     is on.  If Half Duplex is ON, then a 'H' will
  99.                     appear in the lower right corner of the screen to
  100.                     remind the user.
  101.  
  102.          ALT-F .... Fix time.  That is, mark the current time,
  103.                     so that you can measure time used, with the
  104.                     ALT-U command.
  105.  
  106.          ALT-G .... Redial the last number dialed.  This command will loop
  107.                     continuously until carrier is signaled by the modem, the
  108.                     Forced Carrier config param is 'TRUE', or the user
  109.                     presses a key.
  110.  
  111.          ALT-H .... Produces the HELP screen for the user.
  112.  
  113.          ALT-I .... Reconfigure the program defaults, without exiting to DOS.
  114.                     The parameters listed below for the .CNF file can be
  115.                     changed via this command.
  116.  
  117.          ALT-J .... Display version number of TMODEM in use.
  118.  
  119.          ALT-K .... Kill a file.  Delete a file from the disk.
  120.  
  121.          ALT-L .... Display disk directory, under a user supplied mask.
  122.                     For example, to see all files on the logged drive
  123.                     and current directory, the user would enter the mask
  124.                     "*.*", when prompted.   Or see just the files with an
  125.                     extension of .PAS by entering the mask "*.pas", when
  126.                     prompted.
  127.  
  128.          ALT-M .... Macro key management.  Allows the user to define the
  129.                     contents of the function keys F1 thru F10, and all
  130.                     combinations of the function keys and shift, Ctrl or
  131.                     Alt.  This gives the user 40 different macro keys.
  132.  
  133.          ALT-N .... Allows the user to change to a new logged drive and/or
  134.                     new current directory.
  135.  
  136.          ALT-O .... Sort the dialing directory into ascending sequence
  137.                     by name or number.  Performs a IN MEMORY sort, so
  138.                     there must be enough memory to hold all the phone
  139.                     directory entries.
  140.  
  141.          ALT-P .... Print a file.
  142.  
  143.          ALT-Q .... Hang-up the phone line, put the modem "ON HOOK".
  144.                     Drops the terminal ready signal to the modem for 3
  145.                     seconds and resets the UART.
  146.  
  147.          ALT-R .... Receive a file using Xmodem protocol.  Communications
  148.                     parameters are automatically changed to/from 8 bit
  149.                     no parity.  CRC is used automatically, if the remote
  150.                     system supports it.  In addition, the TELINK batch
  151.                     protocol may be used, in order to invoke this proto-
  152.                     col, the user must first prepare the Host cpu to use
  153.                     the TELINK protocol, then after the ALT-R key has been
  154.                     pressed and Tmodem has requested the filename, the user
  155.                     should respond with:  [d:]*
  156.                     Where the [] indicate the drive specifier is optional.
  157.                     Under the TELINK protocol, the filenames will be
  158.                     supplied by the Host cpu.  Using TELINK also preserves
  159.                     the exact file size and the creation date.
  160.  
  161.          ALT-S .... Switch communication parameters.  The program starts
  162.                     with these default values: 1200 baud, No Parity,
  163.                     8 data bits, 1 stop bit.  Permissible values for the
  164.                     baud rate are: 300, 1200, 2400, 4800, or 9600.
  165.  
  166.          ALT-T .... Terminate and return to DOS.
  167.                     If other windows are open on the screen, this command
  168.                     will be deferred until all windows have been closed.
  169.  
  170.          ALT-U .... Used, time.  Report the time used since the
  171.                     the last ALT-F command and the last dial of the phone
  172.                     or the start of the program, whichever occured last.
  173.                     Total elapsed time in hours, minutes and seconds,
  174.                     is reported.
  175.  
  176.          ALT-V .... View the contents of a file, uses the same style as
  177.                     MORE, the DOS utility.  Use the "End" key to stop the
  178.                     command.
  179.  
  180.          ALT-W .... Clear the screen.
  181.  
  182.          ALT-X .... Transmit a file using Xmodem protocol.  Communications
  183.                     parameters are automatically changed to/from 8 bit
  184.                     no parity.  CRC is used automatically, if the remote
  185.                     system requests it.
  186.  
  187.          ALT-Y .... Copy a file.  This procedure will copy any unprotected
  188.                     file, however it copies in multiples of 128 bytes, so the
  189.                     resultant file may be a little longer than the original.
  190.                     This is OK for most applications, but some programs are
  191.                     sensitive to the lengths of files, in which case this
  192.                     procedure, probably, will produce unusable output.
  193.                     Also, filenames must be fully specified.  No wildcards
  194.                     are allowed, ONLY the current drive and directory need not
  195.                     be specified.
  196.  
  197.          ALT-Z .... Toggle monitor mode on/off.  In monitor mode, all codes
  198.                     are shown so that the user may see exactly what is
  199.                     being sent by the host computer.  Control codes are
  200.                     shown with the ^ symbol preceding, i.e. ^[ is the ESC
  201.                     code, ^X is the CAN code, etc.  You must refer to an
  202.                     ASCII code chart for a complete list.
  203.  
  204.          ^PrtSc ... Toggle the printer ON/OFF.  Hold the 'Ctrl' key, then
  205.                     press the 'PrtSc' key.
  206.  
  207.  
  208.       The dialing management sub-section has a list of commands also:
  209.  
  210.           A = Add an entry to the dialing directory.
  211.           C = Change an entry in the dialing directory.
  212.           K = Kill an entry in the dialing directory, a sort of the
  213.               directory is recommended after this option or the Add option.
  214.           M = Dial a number not in the directory.  The user is prompted
  215.               for new communications parameters.
  216.           D = Dials a number from the directory, and automatically changes
  217.               the communications parameters.
  218.           S = Stop the modem, after it has dialed, but before it goes online.
  219.               This allows you to dial another number when a previous number
  220.               is busy, without waiting for the modem to timeout waiting for
  221.               carrier.
  222.           F = Display the next page of the directory.
  223.           B = Display the previous page of the directory.
  224.           Q = Quit, returns to the online screen.
  225.  
  226.       Note: When editing Phone Directory entries or Macro Key definitions,
  227.             the program responds to the following editing keys as indicated:
  228.  
  229.             Backspace .... Delete character to the left of cursor.
  230.             Del .......... Delete character under the cursor.
  231.             End .......... Move the cursor to the end of the field.
  232.             ^End ......... Erase from the current cursor position to the
  233.                            end of the field.  The ^ symbol indicates that
  234.                            you must hold the 'Ctrl' key, then press the
  235.                            'End' key.
  236.             Home ......... Move the cursor to the start of the field.
  237.             Ins .......... Toggle between insert and overwrite mode.
  238.                            When in insert mode the cursor becomes fat.
  239.             Left Arrow ... Move the cursor to the left 1 position.
  240.             Right Arrow .. Move the cursor to the right 1 position.
  241.             RETURN ....... Finish the current field and move to the next.
  242.  
  243.       There are several files associated with the system.  Here is a
  244.       description of each:
  245.  
  246.          TM.COM ......... Absolute program.  The one to execute.
  247.          TM.DOC ......... This file.
  248.          TM.PAS ......... Main source code file.
  249.          TM1.INC ........ First include file, source code.
  250.          TM2.INC ........ Second include file, source code.
  251.          MUSIC.INC ...... Musical include file, source code.
  252.          DIRECT.INC ..... DOS file management include file, source code.
  253.          BASIC.INC ...... BASIC style routines, source code.
  254.          RWINDOW.INC .... Removable windowing routines, source code.
  255.          TMODEM.DIR ..... The phone directory, data file.
  256.          TMODEM.KEY ..... Macro key definitions, data file.
  257.          TMODEM.CNF ..... The configuration, data file.
  258.  
  259.             In position 1-3 of each record in the configuration
  260.             file is a code to identify a parameter.  After the
  261.             "=", the value of the parameter appears.
  262.             The codes are:
  263.  
  264.                    CM=  COM port number, 1 or 2.
  265.                    ST=  Number of Stopbits.
  266.                    DA=  Number of Databits.
  267.                    PA=  Parity. 0=None,1=Even,2=Odd
  268.                    BA=  Baud Rate. 300,1200,2400,4800, or 9600.
  269.                    WA=  Number of ticks in 1/3 of a second,
  270.                         at 4.77 MHz clock.  The value should be
  271.                         larger if the clock in your CPU is faster.
  272.                         The units for the value is milleseconds,
  273.                         and it is used for waiting, hence the WA=.
  274.                         For example, if your CPU runs a twice the
  275.                         4.77 MHz rate, then the value of WA= should
  276.                         be 666.
  277.                    PR=  Dialing Pre String.
  278.                    PO=  Dialing Post String, use the | character
  279.                         where a RETURN is needed.
  280.                    MI=  Modem initialization string.
  281.                         The default value, AT S0=0|, will cause the
  282.                         modem not to answer the phone.  Again, use
  283.                         the | character where a RETURN is needed.
  284.                    SY=  Modem command string to turn the speaker ON.
  285.                    SN=  Modem command string to turn the speaker OFF.
  286.                    RT=  After carrier timeout has occured, this is
  287.                         the time between redials, in seconds.
  288.                    FC=  Forced Carrier.  Some modems force carrier
  289.                         even when a call is not in progress, if this
  290.                         is the case, set this parameter to TRUE.
  291.                    CT=  Timeout time for carrier to appear, in seconds.
  292.                    DP=  Directory PATH.  This variable tells the program
  293.                         where to look for the phone directory.  This param
  294.                         is provided mainly for people who wish to put the
  295.                         dialing directory on a RAM-disk.
  296.                    XO=  The decimal value of the XON character.  Used to
  297.                         control data flow.  Starts data flow after XOFF has
  298.                         been issued.
  299.                    XF=  The decimal value of the XOFF character.  Used to
  300.                         control data flow.  Stops data flow when issued.
  301.                         Helps insure that buffer overflow does not occur.
  302.                    VT=  If TRUE, turns on VT-100 emulation, using ANSI escape
  303.                         codes.  If VT-100 emulation is requested, music will
  304.                         not be played, and will show on the screen as text.
  305.                         This happens because of a conflicit between the full
  306.                         ANSI definition and the musical notes.
  307.                    LF=  Auto Linefeed mode.  If TRUE, then a linefeed will be
  308.                         automatically supplied whenever a Carriage Return is
  309.                         recieved.
  310.                    FG=  The default foreground color number.  Any one of the
  311.                         16 values in the table below.
  312.                    BG=  The default background color number.  Any one of the
  313.                         DARK shades, 0-7, from the table below.
  314.                    CC=  The comment character used with the macro keys.
  315.                    MX=  Number of Xmodem buffers to allocate. 4 - 255 are the
  316.                         legal values.  A smaller number should be used on
  317.                         systems with only 128k, larger values can be used if
  318.                         more memory is available.  Each buffer takes 128 bytes.
  319.                    * =  Comment lines.
  320.  
  321.             Note: these entries may either be changed via the ALT-I command,
  322.                   or with any text editor that produces standard ASCII files,
  323.                   such as EDLIN.
  324.  
  325.             For Example:   CM=1             |
  326.                            ST=1             |
  327.                            DA=8             |
  328.                            PA=0             |
  329.                            BA=1200          |
  330.                            WA=333           |
  331.                            PR=ATDT          |
  332.                            PO=|             |
  333.                            MI=AT S0=0|      |
  334.                            SY=AT M1|        |
  335.                            SN=AT M0|        |
  336.                            RT=60            |     The DEFAULT defaults!
  337.                            FC=FALSE         |
  338.                            CT=35            |
  339.                            DP=A:\           |
  340.                            XO=17            |
  341.                            XF=19            |
  342.                            VT=FALSE         |
  343.                            LF=FALSE         |
  344.                            FG=15            |
  345.                            BG=0             |
  346.                            CC=;             |
  347.                            XT=FALSE         |
  348.                            MX=64            |
  349.  
  350.       Color Number Table:
  351.  
  352.          Dark Colors               Light Colors
  353.          -----------               ------------
  354.           0 : Black                 8 : Dark Gray
  355.           1 : Blue                  9 : Light Blue
  356.           2 : Green                10 : Light Green
  357.           3 : Cyan                 11 : Light Cyan
  358.           4 : Red                  12 : Light Red
  359.           5 : Magenta              13 : Light Magenta
  360.           6 : Brown                14 : Yellow
  361.           7 : Light Gray           15 : White
  362.  
  363.  
  364.  
  365.       If the program is used without a modem, using a direct cable connection,
  366.       all the dialing and modem control strings in the config file should
  367.       be set to empty strings, for example the line with the MI parameter
  368.       should read: MI=
  369.       Also, when using a direct cable connection, the FC parameter should
  370.       be set to TRUE.
  371.  
  372.       The program has been written to use Hayes compatible commands
  373.       with the modem.  Because the program controls the modem via the
  374.       DTR signal, Data Terminal Ready, the cable between the computer
  375.       and modem must provide a connection for pin 20 and the modem should
  376.       have the internal switches set so that the DTR signal is monitored.
  377.  
  378.       The program uses the Carrier Detect signal from the modem to
  379.       detect when a call has been connected and when to stop redialing,
  380.       for this reason the modem should have it's switches set so that
  381.       the Carrier Detect signal is ONLY sent when present on the phone line.
  382.       If this is not possible, set the FC= parameter, to TRUE.
  383.  
  384.  
  385.       Received Character Processing - VT-100 Mode.
  386.       --------------------------------------------
  387.       Cursor Up .................................. ESC [ Pn A
  388.       Cursor Down ................................ ESC [ Pn B
  389.       Cursor Forward ............................. ESC [ Pn C
  390.       Cursor Backward ............................ ESC [ Pn D
  391.       Cursor Position ............................ ESC [ Pl ; Pc H
  392.       Cursor Position (Home) ..................... ESC [ H
  393.       Horizontal and Vertical Position ........... ESC [ Pl ; Pc f
  394.       Horizontal and Vertical Position (Home) .... ESC [ f
  395.       Set Scrolling Region ....................... ESC [ Pt ; Pb r
  396.       Index ...................................... ESC D
  397.       Reverse Index .............................. ESC M
  398.       Reverse Linefeed ........................... ESC I
  399.       Next Line .................................. ESC E
  400.       Save Cursor ................................ ESC 7
  401.       Restore Cursor ............................. ESC 8
  402.       Cursor Key Mode Set ........................ ESC [ ? 1 h
  403.                                                 or ESC =
  404.       Cursor Key Mode Reset ...................... ESC [ ? 1 l
  405.                                                 or ESC >
  406.       Select US Character Set .................... ESC ( B
  407.       Select Line Drawing Character Set .......... ESC ( 0
  408.       Turn Off Character Attributes .............. ESC [ m
  409.       Selects Bold Characters .................... ESC [ 1 m
  410.       Selects Underlined Characters .............. ESC [ 4 m
  411.       Selects Blinking Characters ................ ESC [ 5 m
  412.       Selects Reverse Video Characters ........... ESC [ 7 m
  413.       Set Horizontal Tab Stop .................... ESC H
  414.       Clear A Horizontal Tab Stop ................ ESC [ g
  415.       Clear All Horizontal Tab Stops ............. ESC [ 3 g
  416.       Erase From Cursor To End Of Line ........... ESC [ K
  417.       Erase From Beginning Of Line To Cursor ..... ESC [ 1 K
  418.       Erase Complete Line ........................ ESC [ 2 K
  419.       Erase From Cursor To End Of Screen ......... ESC [ J
  420.       Erase From Beginning Of Screen To Cursor ... ESC [ 1 J
  421.       Erase Complete Display ..................... ESC [ 2 J
  422.       Delete Character At Cursor ................. ESC [ Pn P
  423.       Insert Line At Cursor ...................... ESC [ Pn L
  424.       Delete Line At Cursor ...................... ESC [ Pn M
  425.       Select Insert Mode ......................... ESC [ 4 h
  426.       Reset Insert Mode .......................... ESC [ 4 l
  427.       Turn Printer On ............................ ESC [ ? 5 i
  428.       Turn Printer Off ........................... ESC [ ? 4 i
  429.       Turn Printer Controller On ................. ESC [ 5 i
  430.       Turn Printer Controller Off ................ ESC [ 4 i
  431.       Print Screen ............................... ESC [ i
  432.       Request Cursor Position Report ............. ESC [ 6 n
  433.              Response: Cursor Position Report .... ESC [ Pl ; Pc R
  434.       Request ID ................................. ESC [ c
  435.              Response: Terminal Type ............. ESC [ ? 6 c
  436.       Receive Xmodem from Host ................... ESC { filename } 1
  437.       Transmit Xmodem to Host .................... ESC { filename } 3
  438.  
  439.       Notes: ESC is used to represent the escape character, decimal 27.
  440.              Pn represents a variable numeric parameter, the parameter is
  441.              a decimal number transmitted to the program by using ASCII
  442.              characters.  Pl represents the LINE, and Pc represents the
  443.              COLUMN, these are numeric parameters sent using ASCII
  444.              characters.  Pt represents the TOP LINE of a scrolling region,
  445.              and Pb represents the BOTTOM LINE of a scrolling region, these
  446.              are numeric parameters sent using ASCII characters.  The spaces
  447.              shown are for readability, they are not sent by the Host.  The
  448.              filename must be a valid MS-DOS format name and not contain the
  449.              characters { or }.
  450.  
  451.  
  452.  
  453.       Transmitted Characters - VT-100 Mode.
  454.       -------------------------------------
  455.       Function Keys .............................. User Programmable.
  456.       End ........................................ ESC O R
  457.       Ctrl-End ................................... ESC O S
  458.       Del ........................................ DEL
  459.       Ins ........................................ ESC O n
  460.       Home ....................................... ESC [ H
  461.       PgUp ....................................... ESC [ O r
  462.       PgDn ....................................... ESC [ O q
  463.       Shift-Tab .................................. ESC [ O x
  464.       Left Arrow ................Normal........... ESC [ C
  465.                                  Keypad Mode...... ESC O C
  466.       Right Arrow ...............Normal........... ESC [ D
  467.                                  Keypad Mode...... ESC O D
  468.       Up Arrow ..................Normal........... ESC [ A
  469.                                  Keypad Mode...... ESC O A
  470.       Down Arrow ................Normal........... ESC [ B
  471.                                  Keypad Mode...... ESC O B
  472.       Others ..................................... Standard Values.
  473.  
  474.       Note: The blanks are included for readability only.
  475.  
  476.  
  477. Below is a sample of the 'termcap' entries needed to use TMODEM with
  478. UNIX System V:
  479.  
  480.    #
  481.    #  TMODEM termcap SETUP FOR UNIX SYSTEM V.
  482.    #
  483.    t1|tmodem|TMODEM setup:\
  484.    co#80:li#24:cl=\E[H\E[2J:bs:cm=\E[%i%2;%2H:ti=\E[H:\
  485.    kh=\E[H:kr=\E[C:nd=\E[C:kl=\E[D:bc=\E[D:ku=\E[A:up=\E[A:kd=\E[B:do=\E[B:\
  486.    kb=^H:am:xn:sr=\EM:\
  487.    im=\E[4h:ei=\E[4l:mi:sf=\ED:dc=\E[P:dl=\E[M:il=\E[L:\
  488.    ce=\E[0K:cd=\E[0J:\
  489.    so=\E[7m:se=\E[0m:us=\E[4m:ue=\E[0m:ul:ug#0:
  490.  
  491.  
  492. Here is a sample of the 'stty' settings to use with TMODEM on UNIX System V:
  493.  
  494.    $ stty
  495.    speed 9600 baud; evenp clocal
  496.    erase = ^h;
  497.    brkint -inpck icrnl -ixany ixoff onlcr
  498.    echo echoe echok
  499.    $
  500.