home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / trs80model4.zip / m4mit.txt < prev    next >
Text File  |  1986-10-22  |  88KB  |  2,179 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                        TRS-80 Model 4(p) KERMIT:   Version 5.2
  8.  
  9.                           For Use Under TRSDOS 6.1 or Later
  10.  
  11.  
  12.  
  13.              Program by:        Gregg Wonderly Oklahoma State University,
  14.                                 (gregg@okstate) rewritten from the origi-
  15.                                 nal Model-4 KERMIT which was derived from
  16.                                 the TRS-80 KERMIT done by Stan Barber,
  17.                                 Rice University who modified the CP/M-80
  18.                                 version by Bill Catchings and others.
  19.  
  20.              Language:          Z80 Assembler, compatible with M80 and
  21.                                 EDAS from Misosys
  22.  
  23.              Version:           5.2
  24.  
  25.              Date:              Wed Oct 22 10:17:07 CDT 1986
  26.  
  27.              Documentation by:  Gregg Wonderly
  28.  
  29.  
  30.  
  31.              1.  Summary of TRSDOS 6.1
  32.  
  33.  
  34.                   TRSDOS (The Radio Shack Disk Operating System) has a
  35.              large library of built in commands dealing with files,
  36.              directory maintenance, device I/O, etc.  Programs are also
  37.              used for some functions on some TRSDOS-based DOS's.  Model
  38.              4(p) KERMIT gives you access to all of the library commands
  39.              of TRSDOS versions 6.x via the LOCAL command.  Issue the
  40.              LIBRARY command at TRSDOS Ready to obtain a list.
  41.  
  42.                   TRSDOS file specifications can be represented as a
  43.              sequence of characters of the form
  44.  
  45.                   FILESPEC/EXT.PASSWORD:D
  46.  
  47.  
  48.              FILESPEC   is the filename up to eight characters.
  49.  
  50.              EXT        is the file type, up to three characters.
  51.  
  52.              PASSWORD   is the password for that file, up to eight char-
  53.                         acters.
  54.  
  55.              D          is a numerical drive specification (0-7).
  56.  
  57.                   File names, file types and passwords may contain
  58.              letters and numbers, but the first character in each must be
  59.              a letter.  No special characters or spaces are allowed.  All
  60.              fields are optional except the filespec.  Any field added
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                         - 2 -
  71.  
  72.  
  73.              must be preceded by its special delimiter '/' for file type,
  74.              '.' for passwords and ':' for drive specifications.  Upper
  75.              and lower case characters are equivalent.
  76.  
  77.              2.  TRSDOS Commands of Interest
  78.  
  79.  
  80.              2.1.  CAT PARTSPEC:D (OTHER OPTIONS)
  81.  
  82.                   This command is specific to TRSDOS version 6.2 and
  83.                   later.  It displays only the names of visible files on
  84.                   the drive specified, or all drives if no partspec is
  85.                   given.  (other options) allows different formats and
  86.                   invisible as well as system files to be selected.  See
  87.                   the TRSDOS manual for specifics
  88.  
  89.              2.2.  DIR PARTSPEC:D (OTHER OPTIONS)
  90.  
  91.                   DIR is common to all version of TRSDOS.  Versions after
  92.                   6.1 replaced the DIR command with CAT, and changed the
  93.                   DIR command so that always produces a long listing.
  94.  
  95.              2.3.  FREE :D
  96.  
  97.                   Gives statistics on disk usage.  If D is present, it
  98.                   indicates a drive number, and only the statistics for
  99.                   the specified disk will be shown.
  100.  
  101.              2.4.  REMOVE/PURGE FILESPEC (PARAMETERS)
  102.  
  103.                   Remove the file(s) given by FILESPEC from the directory
  104.                   and frees the space allocated to the file for reassign-
  105.                   ment.  Purge allows PARTSPECs that specify groups of
  106.                   files.  With no PARAMETERS, PURGE prompts before delet-
  107.                   ing any file.  REMOVE requires a full filespec as the
  108.                   name of the file to remove.  REMOVE allows more than
  109.                   one filespec to be given on the command line.
  110.  
  111.              2.5.  LIST FILESPEC (PARAMETERS)
  112.  
  113.                   Lists the file on the display.  Parameters are
  114.                   described in the TRSDOS manual in detail.  (HEX) is
  115.                   sometimes useful to display the hexidecimal values of
  116.                   the characters in a file.
  117.  
  118.              2.6.  RENAME oldfile newfile
  119.  
  120.                   Changes the name of oldfile to newfile, provided that
  121.                   newfile is a unique file name on that disk.
  122.  
  123.              3.  Copying Disks and Files:
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                         - 3 -
  137.  
  138.  
  139.                   3.1.  COPY file1 file2
  140.  
  141.                        Copies file1 and name the copy file2. If file2
  142.                        exists, it will be replaced.
  143.  
  144.                   3.2.  BACKUP :D :E
  145.  
  146.                        Makes a copy of the disk in drive D on the the
  147.                        disk in drive E.
  148.  
  149.                   3.3.  FORMAT :D
  150.  
  151.                        Formats the disk in drive D.  The disk will be
  152.                        ready for any normal read or write operation fol-
  153.                        lowing successful completion of this operation.
  154.                        This operation must be performed before use of a
  155.                        blank disk. Reformatting a previously formatted
  156.                        disk will cause all previously stored information
  157.                        to be lost.
  158.  
  159.              4.  Transfers without the KERMIT Protocol
  160.  
  161.                   Model 4(p) KERMIT adds 2 logical devices to the already
  162.              resident devices.  These devices are used to access the com-
  163.              munications port.  These devices, *FI (File Input) and *FO
  164.              (File Output), can be used as the source, and destination of
  165.              a copy command, respectively.  They make use of the status
  166.              of the SET FLOW-CONTROL parameter, to send and receive data
  167.              using the communications port.  For instance, say you are
  168.              communicating with a computer that does not have KERMIT.
  169.              Say you also wish to transfer a file to this computer to do
  170.              some further processing.  The normal method involves start-
  171.              ing a program on the remote computer to collect the data
  172.              into a file on that system.  On a VAX/VMS system, you might
  173.              use the CREATE command to capture the file.  The following
  174.              KERMIT commands will accomplish the transmition of a file in
  175.              this case.
  176.  
  177.                   OUTPUT CREATE MYPROG.DAT<CR>
  178.                   LOCAL COPY PROG/DAT *FO
  179.  
  180.              The KERMIT command, OUTPUT, will send the string "CREATE
  181.              MYPROG.DAT<CR>" to the host.  Let's say for now that this is
  182.              sufficient to cause all future characters sent to the host
  183.              to be placed into the file MYPROG.DAT on that system.  The
  184.              KERMIT command LOCAL is then used to invoke the TRSDOS
  185.              library command COPY.  COPY will copy the contents of the
  186.              file "PROG/DAT" to the *FO device.  The driver for this dev-
  187.              ice is part of the KERMIT program, and will take care of
  188.              transmitting the data out of the communications port to the
  189.              HOST.  If the HOST sends XOFF because DATA is arriving TOO
  190.              fast, then the XON/XOFF option to the KERMIT command, SET
  191.              FLOW-CONTROL, will allow the transfer to pause while the
  192.              HOST catches up.  You may wish to collect the contents of a
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                         - 4 -
  203.  
  204.  
  205.              file that is on another computer.  If particular computer
  206.              does not have KERMIT, you can use a series of commands simi-
  207.              lar to those listed below to retrieve the file.  It should
  208.              be noted that the SESSION-LOG can also be used to trap the
  209.              contents of a file.  For that very reason, this is only one
  210.              of several possible ways to get a file from another computer
  211.              that does not have KERMIT.
  212.  
  213.                   OUTPUT TYPE MYPROG.DAT<CR>
  214.                   INPUT TYPE MYPROG.DAT<CR><LF>
  215.                   LOCAL COPY *FI MYPROG/DAT:1
  216.  
  217.                   It may help to clarify the use of the OUTPUT command,
  218.              and the corresponding INPUT command.  If you use the KERMIT
  219.              command CONNECT to enter terminal mode, and then proceed to
  220.              tell the host to type out a file, it may start sending data
  221.              before you can escape back, and type the COPY command.  This
  222.              means that some of the data would be lost.  With FLOW-
  223.              CONTROL set to XON/XOFF, and the remote host recognizing
  224.              this fact, the previous commands would not allow any data to
  225.              be lost.  The use of INPUT is only to remove the characters
  226.              ECHOed by the host from the input buffer (The TEXT of the
  227.              command "TYPE MYPROG.DAT").  If you are communicating with a
  228.              half-duplex system in which Model (4)p KERMIT is echoing the
  229.              characters typed on the keyboard, then the INPUT command
  230.              need not be used.
  231.  
  232.  
  233.  
  234.  
  235.              5.  Control of File Transfers Using the KERMIT Protocol
  236.  
  237.  
  238.                   During the transfer of a file using either SEND, or GET
  239.              and possibly during the use of the REMOTE command, protocol
  240.              operations may need to be aborted, or altered.  Several key
  241.              strokes allow the user to control the protocol operations.
  242.              These are listed below, and are listed on the screen after
  243.              issuing either the SEND or GET commands.  The operation of
  244.              the REMOTE command is purposefully silent.  The key strokes
  245.              are available to the user during REMOTE commands, for added
  246.              flexibility.  This allows the user to cancel commands like
  247.              REMOTE TYPE that may otherwise cause large amounts of data
  248.              to be displayed for an extended amount of time.  The valid
  249.              key strokes are:
  250.  
  251.  
  252.              Control-F      During data transfers using the KERMIT proto-
  253.                             col, Control-F will terminate the current
  254.                             transaction.  If there are more files to
  255.                             transfer, the next transaction will be
  256.                             started.  Model 4(p) KERMIT will send a sig-
  257.                             nal to the remote KERMIT telling it to stop
  258.                             sending packets for the current transaction.
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                         - 5 -
  269.  
  270.  
  271.                             If the remote KERMIT understands this signal
  272.                             (not all implementations of KERMIT do), it
  273.                             will comply, otherwise the transaction will
  274.                             continue.
  275.  
  276.              Control-B      Like  Control-F, except that if a group of
  277.                             files is being processed this will stop the
  278.                             entire group.  If only a single file is being
  279.                             SENT or RECEIVED, Control-B behaves exactly
  280.                             like Control-F.
  281.  
  282.              Control-C      Aborts the protocol immediately.  This should
  283.                             be a last resort to stopping a transmission
  284.                             as it will leave the remote KERMIT in an unk-
  285.                             nown state.
  286.  
  287.              Control-E      Aborts the protocol after sending an ERROR
  288.                             packet to the remote KERMIT.
  289.  
  290.              Control-D      Toggles DEBUG mode ON and OFF.  This is help-
  291.                             ful when trying to figure out why a particu-
  292.                             lar host is unable to talk to Model 4(p) KER-
  293.                             MIT.
  294.  
  295.              <ENTER>        If you type <ENTER>, Model 4(p) KERMIT will
  296.                             resend the current packet.
  297.  
  298.              Control-H      Displays the list of KEYS that you may press
  299.                             during a transfer.  I.E.  the keys described
  300.                             above.  This is the same message that is
  301.                             printed when a SEND, GET, or RECEIVE command
  302.                             is issued.
  303.  
  304.  
  305.  
  306.  
  307.              6.  Model 4(p) KERMIT Commands
  308.  
  309.  
  310.                   Model 4(p) KERMIT uses a subset of the the DECSYSTEM-20
  311.              keyword style command language.  Each keyword may be abbre-
  312.              viated to its minimum unique length.  "?" may be typed to
  313.              request a list of the available options for the current
  314.              field at any point in a command.  If insufficient characters
  315.              have been typed to identify the current field uniquely,
  316.              Model 4(p) KERMIT will display all available choices, and
  317.              then reprompt to allow you to continue from that point.  If
  318.              there are sufficient characters, then only a single choice
  319.              will be displayed.  The following list of commands are
  320.              available when using Model 4(p) KERMIT.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                         - 6 -
  335.  
  336.  
  337.              6.1.  BYE
  338.  
  339.                   When talking to a remote KERMIT Server, this command
  340.                   should shut down a remote server and terminate the
  341.                   login that you had there.  Model 4(p) KERMIT will then
  342.                   exit to TRSDOS Ready.
  343.  
  344.                        NOTE: Due to some deviations from the specifica-
  345.                        tion, some systems do not perform exactly in this
  346.                        manner.  You should check the documentation of the
  347.                        KERMIT on the remote system in order to obtain the
  348.                        operation performed by this command.
  349.  
  350.              6.2.  CLEAR
  351.  
  352.  
  353.                   6.2.1.  INPUT-PORT
  354.  
  355.                        Model 4(p) KERMIT uses the "Interrupt on received
  356.                        character available" feature of the COM/DVR com-
  357.                        munications line driver.  This driver is part of
  358.                        the standard software on your system diskette.
  359.                        All characters received via the interrupt vector,
  360.                        are placed in a 256 byte circular buffer.  This
  361.                        command clears all characters currently buffered.
  362.                        This is used most commonly with the INPUT, OUTPUT,
  363.                        PULSE, and PAUSE commands, none of which expli-
  364.                        citly clear the input buffer.  YOU MUST DO THIS
  365.                        YOURSELF.  The execution of this command will not
  366.                        send an XON character to the communications port.
  367.                        This is also left up to you to do.
  368.  
  369.                   6.2.2.  SCREEN
  370.  
  371.                        As you would expect, this command clears the
  372.                        screen.
  373.  
  374.              6.3.  CLOSE
  375.  
  376.  
  377.                   6.3.1.  DEBUG-LOG
  378.  
  379.                        Closes the file previously opened with the LOG
  380.                        DEBUG-LOG command.  If there is not a debug log-
  381.                        file active, then a message is printed telling you
  382.                        so.
  383.  
  384.                   6.3.2.  SESSION-LOG
  385.  
  386.                        Closes the file previously opened with the LOG
  387.                        SESSION-LOG command.  If no file is open, you will
  388.                        be advised so.
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                         - 7 -
  401.  
  402.  
  403.                   6.3.3.  TRANSACTION-LOG
  404.  
  405.                        Closes the file previously opened with the LOG
  406.                        TRANSACTION-LOG command.  As with the other log-
  407.                        files, if a file is not currently open, then a
  408.                        message to that affect is printed.
  409.  
  410.                   6.4.  CONNECT (can be abbreviated to 'C')
  411.  
  412.                        Establish a "virtual terminal" connection to any
  413.                        host that may be connected to the serial port,
  414.                        i.e. pass all typed characters to the serial port
  415.                        and display all input from the serial port on the
  416.                        screen.  A two character sequence of characters is
  417.                        required to return the user to the KERMIT program.
  418.                        An escape character must be typed followed by a
  419.                        'c' (Case is not significant).  The default
  420.                        <ESCAPE> character is entered by pressing the
  421.                        <SHIFT> key, and then and <CLEAR> key, while hold-
  422.                        ing the <SHIFT> key down.  Pressing '?' after the
  423.                        <ESCAPE> character will display a list of valid
  424.                        keystrokes that do helpful things during connect
  425.                        mode.  The first time that you issue the CONNECT
  426.                        command, a message will be displayed telling you
  427.                        what the <ESCAPE> character is.  The <ESCAPE>
  428.                        character should generally be an uncommonly-used
  429.                        control character.  The following characters are
  430.                        valid following the <ESCAPE> character, and gen-
  431.                        erate specific actions.  The actions are described
  432.                        beside the character.
  433.  
  434.                             C    Return to Model 4(p) KERMIT command
  435.                                  level.  The contents of the screen and
  436.                                  the cursor location will be saved prior
  437.                                  to displaying the KERMIT screen.  When
  438.                                  you reconnect to the HOST using the KER-
  439.                                  MIT command, CONNECT, the old screen
  440.                                  will be restored.
  441.  
  442.                             ?    List available single-character com-
  443.                                  mands, I.E. These commands.
  444.  
  445.                             B    Send a TRUE modem break.
  446.  
  447.                             R    Resume logging if file open, and
  448.                                  <ESCAPE>Q was used previously to turn
  449.                                  logging off.  See the LOG command for
  450.                                  more information.
  451.  
  452.                             Q    Quit logging to file but leave it open.
  453.  
  454.                             0 (zero)Send a null (0) character out the
  455.                                  communications port.
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                         - 8 -
  467.  
  468.  
  469.                             <ESCAPE>Send the <ESCAPE> character itself to
  470.                                  the remote host.
  471.  
  472.                   6.5.  DIR partspec
  473.  
  474.                        Produces a listing of the directory for
  475.                        "partspec".  If partspec is not given, than the
  476.                        directory will be displayed for the DEFAULT-DISK
  477.                        drive as established by SET DEFAULT-DISK.
  478.  
  479.                   6.6.  EXIT
  480.  
  481.                        Exit Model 4(p) KERMIT, and return to TRSDOS.
  482.                        Before the KERMIT program is terminated, all open
  483.                        files will be closed.  This includes the LOGFILES
  484.                        used for SESSION, TRANSACTION, and DEBUG logging.
  485.                        The *FO, and *FI devices will also be removed.
  486.  
  487.                   6.7.  ECHO
  488.  
  489.                        This command echoes text given as an argument to
  490.                        the screen.  It can used in take files to put mes-
  491.                        sages on the screen when TAKE-DISPLAY is OFF,
  492.                        although other uses are possible.
  493.  
  494.                   6.8.  FINISH
  495.  
  496.                        Shuts down a remote server without logging it out.
  497.                        Leaves you at Model 4(p) KERMIT command level.  A
  498.                        subsequent CONNECT command will reconnect you to
  499.                        the remote host.  The remote KERMIT should return
  500.                        to the mode it was in prior to entering SERVER
  501.                        mode.
  502.  
  503.                   6.9.  GET filespec
  504.  
  505.                        Get allows you to retrieve files from a remote
  506.                        host.  Get works with either a SERVER or a KERMIT
  507.                        that has initiated a SEND command.  Filespec is a
  508.                        filename compatible with that system.  When Model
  509.                        4(p) KERMIT is talking to a KERMIT Server, you may
  510.                        include a filespec in a form legal to the HOST
  511.                        KERMIT.
  512.  
  513.                   6.10.  INPUT <control string>
  514.  
  515.                        INPUT provides one of 4 commands that provide an
  516.                        automatic logon facility.  INPUT allows you to
  517.                        watch for the occurrence of certain text strings
  518.                        that are made up characters arriving in the com-
  519.                        munications port.  This is useful in TAKE files
  520.                        that can automatically log you onto a certain sys-
  521.                        tem.
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                         - 9 -
  533.  
  534.  
  535.                             When INPUT in initiated, it begins matching
  536.                        characters in the input to those given in the con-
  537.                        trol string.  When an exact match is found as
  538.                        established by the SET INPUT options then INPUT
  539.                        will return to the KERMIT command level.  If TAKE
  540.                        is active than the next line of the TAKE file will
  541.                        be read.  The Control string may be comprised of
  542.                        any printable ASCII characters.  SPACE must not
  543.                        occur as either the beginning or end of the
  544.                        string.
  545.  
  546.                             ASCII character codes 0-32 are denoted as
  547.                        <NUL> - <SPA>, and <DEL> represents character 127.
  548.                        The string <DLY*> signifies an immediate delay.
  549.                        The * should be replaced by a character.  The sig-
  550.                        nificance of the character is this.  Decimal 48 is
  551.                        subtracted from the ASCII value of the character
  552.                        to obtain the number of seconds to delay.  Thus,
  553.                        you can obtain delays 1-9 seconds, with no trick-
  554.                        ery.  Delays longer than that will have to be cal-
  555.                        culated since the formula (ASCII code - 48
  556.                        decimal) is used to calculate the binary value to
  557.                        use as a counter.  The "*" should be replaced with
  558.                        the single proper ASCII character.
  559.  
  560.                             If you use <DLY*> in a PULSE command, it
  561.                        should be noted that it will only be done once.
  562.                        An alternative format for control characters is to
  563.                        explicitly type a carat ("^") preceding a charac-
  564.                        ter.  The result of subtracting 64 from the ASCII
  565.                        code for the character following will then be
  566.                        used.  Since <, >, and ^ now have special mean-
  567.                        ings, you will need some way to specify them
  568.                        explicitly.  To do this you should precede them
  569.                        with a backslash, "\", character.  In this case,
  570.                        backslash itself now must be represented as "\\".
  571.                        Finally, any and all characters can be represented
  572.                        using a string of the form \nnn where nnn is 1 or
  573.                        more octal digits.  nnn is evaluated, and the
  574.                        resulting value will be the ASCII value of the
  575.                        character.  Some examples might be:
  576.  
  577.                             INPUT login:<SPA>
  578.  
  579.                                  Find the string "login:" followed by a
  580.                                  space.
  581.  
  582.                             INPUT <SPA>^M^Jenter \\userid\\:<CR><LF>
  583.  
  584.                                  Find the string with a space followed by
  585.                                  a carriage return followed by a line
  586.                                  feed followed by the text "enter
  587.                                  \userid\:" followed by carriage return
  588.                                  and another linefeed.
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                         - 10 -
  599.  
  600.  
  601.                             INPUT USERNAME\77\40
  602.  
  603.                                  Find the string "USERNAME? ".  Note that
  604.                                  \77 is the ONLY way that a question mark
  605.                                  can be specified since a question mark
  606.                                  is recognized by the command stream as a
  607.                                  request for help.
  608.  
  609.                        While input is waiting for a match, you may type
  610.                        characters on the keyboard to be transmitted.
  611.                        BREAK will abort the INPUT command and if TAKE is
  612.                        active, close the take file.  ESCAPE will abort
  613.                        the INPUT command, but will just skip to the next
  614.                        line in a TAKE file, if TAKE is active.  These
  615.                        same 2 actions apply to the PULSE command while no
  616.                        input has been received.
  617.  
  618.                   6.11.  KILL wildspec
  619.  
  620.                        This command performs the task of deleting one or
  621.                        more files from disk.  Wildspec is a wild card
  622.                        filespec that will be evaluated.  All files that
  623.                        match the wildspec will be removed.  A wildspec
  624.                        may contain any characters valid is a TRSDOS
  625.                        filespec, plus zero or more occurances of the
  626.                        characters '*', and '$'.  These two characters
  627.                        have special meanings.
  628.  
  629.                             When comparing the wildspec with the name of
  630.                        a file, a '*' matches zero or more of the charac-
  631.                        ters in the filename.  E.g.  If a file FOO/ASM is
  632.                        compared with '*/ASM', then it would match,
  633.                        because '*' can be thought of as 'FOO', and then
  634.                        '/ASM' is matched literally.  M4*/ASM matches
  635.                        M4MIT/ASM, M4XFER/ASM, M4SEND/ASM, and any other
  636.                        filename that begins with M4, and ends with /ASM.
  637.                        The '$' character matches any single character.
  638.                        This means that FILE$/DOC matches the filename
  639.                        FILE1/DOC, but not FILE1A/DOC.
  640.  
  641.                             A drivespec may be appended to the wildspec
  642.                        to force the search for matches to be restricted
  643.                        to a single drive.  An example might be M4*/ASM:1,
  644.                        which limits the matches to those file on drive 1.
  645.  
  646.                             Normally, only visible, nonsystem files are
  647.                        considered in the search.  However, the inclusion
  648.                        of a parameter list containing either, or both of
  649.                        the keywords, INVIS or SYSTEM, will include
  650.                        invisible and/or system files.  An example would
  651.                        be:
  652.                             KILL (I,S) config/sys (I) backup/cmd
  653.                        This example would cause Model 4(p) KERMIT to
  654.                        attempt to remove the two files listed.  Note that
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                         - 11 -
  665.  
  666.  
  667.                        as this example shows, you must specify the param-
  668.                        eters with each wildspec that you wish to apply
  669.                        them to, as they are nullified each time that a
  670.                        new wildspec is evaluated.  Other examples are
  671.                        given in the description of the SEND command.
  672.  
  673.                   6.12.  LOCAL <TRSDOS library command>  (Can be
  674.                   abbreiviated to L)
  675.  
  676.                        This command allows you to issue commands from
  677.                        within Model 4(p) KERMIT.  You must remember where
  678.                        Model 4(p) KERMIT resides in memory, to assure
  679.                        that you do not overwrite it.  KERMIT loads at
  680.                        6000H, and continues up through LOW$.  From within
  681.                        KERMIT, you can issue the command:
  682.  
  683.                             LOCAL MEMORY
  684.  
  685.                        to see where KERMIT ends.  The value of LOW$ tells
  686.                        you this information.  KERMIT was placed at 6000H
  687.                        to allow most of the TRSDOS library programs and
  688.                        commands to work in conjunction with KERMIT.  Some
  689.                        commands extend above 3000H, and must have memory
  690.                        available up to approximately 5300H.  The COPY
  691.                        command creates a problem because it apparently
  692.                        tries to examine HIGH$ to see if there is space to
  693.                        load a large portion of the source file into
  694.                        memory before writing it to the destination.  This
  695.                        creates problems because KERMIT moves LOW$ up so
  696.                        that HIGH$ has a value that will allow additional
  697.                        high memory module to be loaded.  It is suggested
  698.                        that you not use COPY while KERMIT is running, as
  699.                        the machine may crash when COPY completes.  This
  700.                        is because it will have copied data into the KER-
  701.                        MIT memory space.
  702.  
  703.                   6.13.  LOG
  704.  
  705.                        6.13.1.  DEBUG-LOG
  706.  
  707.                             The debug log can be used to debug transfer
  708.                             problems that sometimes arrise when talking
  709.                             to a newly written KERMIT.  The information
  710.                             written to the DEBUG-LOG is nearly identical
  711.                             to that which is displayed on the screen when
  712.                             the command, SET DEBUG ON, is issued, or the
  713.                             CTRL-D key is pressed during a transfer.
  714.                             This file can be closed explicitly with the
  715.                             CLOSE DEBUG-LOG command.  The EXIT command
  716.                             also causes an implicit closing of this file.
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.                                         - 12 -
  731.  
  732.  
  733.                        6.13.2.  SESSION-LOG
  734.  
  735.                             When CONNECTed to a foreign host as a termi-
  736.                             nal, this command establishes a log of the
  737.                             terminal session in the file specified.  This
  738.                             function depends, to some extent, on the
  739.                             remote host's ability to do XON/XOFF flow
  740.                             control.  Without FLOW-CONTROL, data may be
  741.                             lost when KERMIT writes to the file.  The log
  742.                             file is closed by explicitly typing the KER-
  743.                             MIT command CLOSE SESSION-LOG or implicitly
  744.                             when KERMIT is exited via the EXIT command.
  745.                             It will also be closed if an I/O error occurs
  746.                             in file processing for the file involved.
  747.                             LOGGING may be toggled on and off during CON-
  748.                             NECT using the sequence of keys described in
  749.                             the CONNECT description.
  750.  
  751.                        6.13.3.  TRANSACTION-LOG
  752.  
  753.                             The transaction log is used to keep a record
  754.                             of the files transfered during a KERMIT ses-
  755.                             sion.  The information includes whether or
  756.                             not the transaction was SENDING, or RECEIV-
  757.                             ING, the name of the file transfered, and the
  758.                             number of bytes involved in the transfer.
  759.  
  760.                   6.14.  LOGOUT
  761.  
  762.                        Logout tells a remote kermit server to terminate
  763.                        itself, as well as your login session.  When this
  764.                        is completed, you are left at Model 4(p) KERMIT
  765.                        command level.
  766.  
  767.                   6.15.  OUTPUT <control string>
  768.  
  769.                        This is the other side of the INPUT command.  Con-
  770.                        trol string follows the same conventions as in
  771.                        INPUT, and the resulting character(s) will be out-
  772.                        put to the communications port immediately.  It
  773.                        should be noted that NO characters other than what
  774.                        you specify are transmitted.  In other words if
  775.                        you want to simulate typing some string, followed
  776.                        by pressing <ENTER>, then you will have to use a
  777.                        command similar to:
  778.  
  779.                             OUTPUT mypassword<CR>
  780.  
  781.  
  782.                        The <CR> will explicitly send the ASCII character
  783.                        13 to the communications port.
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.                                         - 13 -
  797.  
  798.  
  799.                   6.16.  PAUSE <number of seconds>
  800.  
  801.                        This command is usually used in conjunction with
  802.                        INPUT, OUTPUT, and PULSE as a means of syncroniz-
  803.                        ing Model 4(p) KERMIT to a remote host.  A delay
  804.                        of the specified number of seconds will be gen-
  805.                        erated based on the accuracy of the 60HZ inter-
  806.                        rupt.  No means has been made for aborting the
  807.                        delay.  The maximum delay is 65536 seconds by
  808.                        specifying 0 as the number.
  809.  
  810.                   6.17.  PULSE <control string>
  811.  
  812.                        This command is an extension/combination of INPUT
  813.                        and OUTPUT.  It allows you to transmit one or more
  814.                        characters repeatedly until a character appears in
  815.                        the input port.  The use of this command is valu-
  816.                        able when logging onto systems that don't always
  817.                        respond immediately after the reception of some
  818.                        control character(s).  For instance, you might
  819.                        (Now that all of the functions of this nature have
  820.                        been described) use the following commands as part
  821.                        of a logon sequence to log onto a computer system.
  822.  
  823.                             SET INPUT CASE-IGNORE ON
  824.                             SET INPUT DISPLAY ON
  825.                             SET OUTPUT HOST-ECHO ON
  826.                             SET OUTPUT DISPLAY ON
  827.                             CLEAR INPUT-PORT
  828.                             PULSE ^T<CR>
  829.                             INPUT <CR><LF>XYZ:
  830.                             PAUSE 2
  831.                             CLEAR INPUT-PORT
  832.                             PULSE <CR>
  833.                             INPUT Username:<SPA>
  834.                             OUTPUT joeblow<CR>
  835.                             INPUT <CR><LF>Terminal type:
  836.                             OUTPUT h19<CR>
  837.                             SET KEY 8 <DEL>
  838.                             SET KEY 128 <ETX>
  839.  
  840.                        After you study this awhile, it should make sense.
  841.                        If these commands are placed into a TAKE file,
  842.                        then you could use a CONNECT command after the
  843.                        last command, to connect immediately to the host.
  844.                        If this is done, then only after you escape back
  845.                        to Model 4(p) KERMIT, will the TAKE file finally
  846.                        be closed.
  847.  
  848.                   6.18.  RECEIVE <filespec>
  849.                        This command is synonomous with the GET command.
  850.                        It may be abbreviated to the single character 'R',
  851.                        as in:
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.                                         - 14 -
  863.  
  864.  
  865.                             R *.asm
  866.  
  867.  
  868.                   6.19.  REMOTE <command>
  869.  
  870.                        Remote commands are not supported in totality by
  871.                        all servers.  If a server supports remote com-
  872.                        mands, then remote help should display all of the
  873.                        commands available to the remote user of the
  874.                        server.  Below are descriptions of the remote com-
  875.                        mands that Model 4(p) KERMIT knows how to send to
  876.                        a remote server.  The arguments to most commands
  877.                        are dependent on the remote system.  You should be
  878.                        familiar with any system before using the remote
  879.                        server commands available from that server.  Usu-
  880.                        ally only a small number of these commands are
  881.                        supported since some require abilities that some
  882.                        operating systems just don't have.
  883.  
  884.  
  885.                        6.19.1.  CLOSE-LOG
  886.  
  887.                             Close a remote LOG previously opened via the
  888.                             command REMOTE START-LOG.
  889.  
  890.                        6.19.2.  COPY
  891.  
  892.                             Copy one file to another.
  893.  
  894.                        6.19.3.  CWD <directory path>
  895.  
  896.                             If a particular server's operating system
  897.                             supports the concept of separate directories,
  898.                             then this command will allow you to change to
  899.                             a different directory.
  900.  
  901.                        6.19.4.  DELETE
  902.  
  903.                             Deletes file(s) from the remote system.  Any
  904.                             arguments will probably be file names in the
  905.                             format of the remote system.
  906.  
  907.                        6.19.5.  DIR
  908.  
  909.                             Display a list of files on the remote system.
  910.  
  911.                        6.19.6.  DISK
  912.  
  913.                             Display information about disk utilization on
  914.                             the remote system.
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                         - 15 -
  929.  
  930.  
  931.                        6.19.7.  HELP
  932.  
  933.                             Get information about remote capabilities on
  934.                             the remote system.
  935.  
  936.                        6.19.8.  HOST
  937.  
  938.                             Execute a command on the remote system.
  939.  
  940.                        6.19.9.  KERMIT
  941.  
  942.                             Execute a KERMIT command on the remote sys-
  943.                             tem.  This command should accept a normal
  944.                             KERMIT command as an argument.  The command,
  945.                             if valid, will then be executed by the remote
  946.                             KERMIT server.
  947.  
  948.                        6.19.10.  LOGIN
  949.  
  950.                             Create a login entity on the remote system.
  951.                             This may be incorporated into a dedicated
  952.                             server.
  953.  
  954.                        6.19.11.  MESSAGE
  955.  
  956.                             Send a message to a user on the remote sys-
  957.                             tem.
  958.  
  959.                        6.19.12.  PROGRAM
  960.  
  961.                             Feed command input to a command executing on
  962.                             the remote system, or control the execution
  963.                             of a program.
  964.  
  965.                        6.19.13.  QUERY-VARIABLE
  966.  
  967.                             Get the value of a variable maintained on the
  968.                             remote system.
  969.  
  970.                        6.19.14.  RENAME
  971.  
  972.                             Change the name of a file on the remote sys-
  973.                             tem.
  974.  
  975.                        6.19.15.  SEND-LOG
  976.  
  977.                             Tells the server to close any open log, and
  978.                             then transfer it to the user.
  979.  
  980.                        6.19.16.  SERVER-STATUS
  981.  
  982.                             Retrieve certain information about the status
  983.                             of a REMOTE server.  The information returned
  984.                             is dependent on the REMOTE system.
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.                                         - 16 -
  995.  
  996.  
  997.                        6.19.17.  SET-VARIABLE
  998.  
  999.                             Set the value of a variable on the remote
  1000.                             system.
  1001.  
  1002.                        6.19.18.  START-LOG
  1003.  
  1004.                             Start a transaction log on the remote system.
  1005.  
  1006.                        6.19.19.  STOP-LOG
  1007.  
  1008.                             Stops logging to the log file started by the
  1009.                             REMOTE START-LOG command.  The file is not
  1010.                             closed.  Logging may be started again by
  1011.                             using the the command, REMOTE START-LOG.
  1012.  
  1013.                        6.19.20.  TYPE
  1014.  
  1015.                             Display the contents of the file/files given
  1016.                             as arguments.  The remote server should use
  1017.                             the KERMIT protocol to send the contents of
  1018.                             the specified file/files to Model 4(p) KER-
  1019.                             MIT.  The file contents will be displayed on
  1020.                             the screen using the *SO device.
  1021.  
  1022.                        6.19.21.  WHO
  1023.  
  1024.                             Display a list of users on the remote system.
  1025.  
  1026.                   6.20.  SEND <wildspec>        (May be abbreviated to
  1027.                   'S');
  1028.  
  1029.                        File specifications may contain wild card charac-
  1030.                        ters.  The recognized wild card characters are '*'
  1031.                        and '$'.  '*' means zero or more of any character.
  1032.                        '$' means exactly one of any character.  There are
  1033.                        a lot of specifics associated with wild carding,
  1034.                        and search order through the drives.
  1035.  
  1036.                             When files by the same name exist on dif-
  1037.                        ferent drives, a wild card match of one will also
  1038.                        match all other occurances.  e.g. if drive 0 con-
  1039.                        tains the file report/dat, and report.dat also
  1040.                        exist on drive 1, then the command other varia-
  1041.                        tions can be used to send only one of the 2 files.
  1042.                        'SEND */dat:1' will only match files on drive 1.
  1043.                        Another alternative would be
  1044.  
  1045.                             Case is NOT significant, so both REPORT/DAT
  1046.                        and report/dat are identical.  so "*/*" is the
  1047.                        same as "*" for all file names with an extension.
  1048.                        "*/*", however, does not match names of the form
  1049.                        "data", "fred", "file", "temp", or others without
  1050.                        extensions.  Other examples are given in the
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.                                         - 17 -
  1061.  
  1062.  
  1063.                        description of the KILL command.
  1064.  
  1065.                   6.21.  SET <parameter [value(s)...]>
  1066.  
  1067.                        Set the specified parameter to the specified
  1068.                        value.  Possible settings:
  1069.  
  1070.  
  1071.                        6.21.1.  BELL ON (or OFF)
  1072.  
  1073.                             When DUMB terminal emulation is in effect, a
  1074.                             simple noise generator is used to produce a
  1075.                             tone like a bell each time the BELL character
  1076.                             is received.  If you don't like it, than use
  1077.                             SET BELL OFF to disable it.
  1078.  
  1079.                        6.21.2.  BLOCK-CHECK-TYPE
  1080.  
  1081.                             The options are:
  1082.  
  1083.                             6.21.2.1.  1 (character checksum)
  1084.  
  1085.                                  Normal, default, standard 6-bit check-
  1086.                                  sum.
  1087.  
  1088.                             6.21.2.2.  2 (character checksum)
  1089.  
  1090.                                  A 12-bit checksum encoded as two charac-
  1091.                                  ters.
  1092.  
  1093.                             6.21.2.3.  3 (character crc-ccitt)
  1094.  
  1095.                                  A 16-bit CCITT-format Cyclic Redundancy
  1096.                                  Check,  encoded as 3 characters.
  1097.  
  1098.                             The 2 and 3 character options should only be
  1099.                             used under conditions of extreme line noise.
  1100.                             Many implementations of KERMIT only support
  1101.                             the single character checksum.
  1102.  
  1103.                        6.21.3.  DEBUGGING OFF (or ON)
  1104.  
  1105.                             When transmitting or receiving packets, con-
  1106.                             trols whether the packets are displayed on
  1107.                             the local screen.
  1108.  
  1109.                        6.21.4.  DEFAULT-DISK <drive number>
  1110.  
  1111.                             The default-drive value is used for received
  1112.                             files.  The file names created by Model 4(p)
  1113.                             KERMIT will have a ':' and the default drive
  1114.                             number affixed to the end so that they will
  1115.                             be forced to be saved on the selected drive.
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.                                         - 18 -
  1127.  
  1128.  
  1129.                        6.21.5.  EIGHT-BIT-QUOTING ON (or OFF)
  1130.  
  1131.                             This command enables or disables 8th bit
  1132.                             quoting.  This is useful when a full 8 bit
  1133.                             path is available for binary file transfers.
  1134.  
  1135.                        6.21.6.  EMULATION NONE (or DUMB)
  1136.  
  1137.                             When connected as a terminal to a foreign
  1138.                             host, SET EMULATION controls whether the
  1139.                             Model 4 emulates no terminal, allowing the
  1140.                             use of a terminal filter, or whether a DUMB
  1141.                             terminal emulation is used.  No emulation is
  1142.                             the default.
  1143.  
  1144.                        6.21.7.  ESCAPE
  1145.  
  1146.                             Change the escape character for virtual ter-
  1147.                             minal connections.  Model 4(p) KERMIT will
  1148.                             prompt you for the new escape character,
  1149.                             which you type in locally.
  1150.  
  1151.                        6.21.8.  FILE
  1152.  
  1153.                             6.21.8.1.  DISPOSITION KEEP (or DISCARD)
  1154.  
  1155.                                  When the transfer of a file is inter-
  1156.                                  rupted, this tells Model 4(p) KERMIT
  1157.                                  what to do if it receives only a partial
  1158.                                  file.  If FILE-DISPOSITION is DISCARD,
  1159.                                  then any partial file is removed.  Oth-
  1160.                                  erwise, the file is left as it is when a
  1161.                                  transfer is interrupted.
  1162.  
  1163.                             6.21.8.2.  TYPE (ASCII or BINARY)
  1164.  
  1165.                                  Tells Model 4(p) KERMIT how to deal with
  1166.                                  the file being sent/received. It is
  1167.                                  IMPORTANT to tell KERMIT if the file is
  1168.                                  in ASCII when sending to a NON Model
  1169.                                  4(p) KERMIT.  The action taken with this
  1170.                                  value is as follows.  If ASCII mode is
  1171.                                  set, then CR-LF pairs of characters are
  1172.                                  translated to CR on input, and CR is
  1173.                                  translated to CR-LF on output.  When
  1174.                                  binary mode is in effect, this transla-
  1175.                                  tion does not occur.
  1176.  
  1177.                        6.21.9.  FLOW-CONTROL XON/XOFF (or NONE)
  1178.  
  1179.                             When this feature is set to XON/XOFF (the
  1180.                             default), Model 4(p) KERMIT will try its best
  1181.                             to obey and use XON characters and XOFF char-
  1182.                             acters for all transmitions through the
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.                                         - 19 -
  1193.  
  1194.  
  1195.                             communications port.  NONE will disable all
  1196.                             attempts at this sort of flow- control.
  1197.  
  1198.                        6.21.10.  INPUT
  1199.  
  1200.                             6.21.10.1.  CASE-IGNORE OFF (or ON)
  1201.  
  1202.                                  Controls whether of not case matching is
  1203.                                  done on characters during the input com-
  1204.                                  mand. In most instances, you will want
  1205.                                  this ON.
  1206.  
  1207.                             6.21.10.2.  DISPLAY OFF (or ON)
  1208.  
  1209.                                  Controls the display of characters that
  1210.                                  are input during the execution of the
  1211.                                  INPUT command.
  1212.  
  1213.                        6.21.11.  KEY <key value> <string>
  1214.  
  1215.                             This command allows you to send an arbitrary
  1216.                             (the length of the KERMIT command line is the
  1217.                             limit) string with a single key stroke.  The
  1218.                             definition of string is identical for that of
  1219.                             the INPUT, OUTPUT, and PAUSE commands. KEY
  1220.                             VALUE is the ASCII value of the key stroke as
  1221.                             given in the TRSDOS manual.  If KEY VALUE is
  1222.                             not given, then you will be asked to press
  1223.                             the key corresponding to the key that you
  1224.                             wish to define.  All keys are valid in string
  1225.                             except BREAK.  Pressing BREAK signals the end
  1226.                             of the definition string.  While in CONNECT
  1227.                             mode, typing the defined key will cause the
  1228.                             characters typed as the definition to be
  1229.                             typed instead.  Defining a key to have a NULL
  1230.                             length deletes any previous definition.
  1231.  
  1232.                        6.21.12.  LOCAL-ECHO OFF (or ON)
  1233.  
  1234.                             When you CONNECT to a remote host, you must
  1235.                             set LOCAL-ECHO ON if the host is half duplex,
  1236.                             OFF if full duplex.
  1237.  
  1238.                        6.21.13.  OUTPUT
  1239.  
  1240.                             6.21.13.1.  HOST-ECHO ON (or OFF)
  1241.  
  1242.                                  When using OUTPUT, and communicating
  1243.                                  with a remote host, the host commonly
  1244.                                  echoes the characters as you type.
  1245.                                  Since OUTPUT effectively types charac-
  1246.                                  ters for you, these characters may be
  1247.                                  echoed back.  If HOST-ECHO is ON, OUTPUT
  1248.                                  will wait for the echoed character to
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.                                         - 20 -
  1259.  
  1260.  
  1261.                                  reappear in the input buffer before it
  1262.                                  sends the next. In the example for send-
  1263.                                  ing and receiving raw data, that is
  1264.                                  above, setting HOST-ECHO ON, will enable
  1265.                                  us to remove the INPUT TYPE
  1266.                                  MYPROG.DAT<CR><LF> command. Control
  1267.                                  characters are NOT normally echoed, so
  1268.                                  this feature when set ON, will not wait
  1269.                                  for them.  If you must catch the echo of
  1270.                                  a control character, then follow the
  1271.                                  OUTPUT command with the appropriate
  1272.                                  INPUT command.
  1273.  
  1274.                             6.21.13.2.  DISPLAY OFF (or ON)
  1275.  
  1276.                                  This parameter when on controls the
  1277.                                  display of characters that are received
  1278.                                  when HOST-ECHO is ON.  Otherwise, They
  1279.                                  are displayed based on the status of the
  1280.                                  LOCAL-ECHO setting.
  1281.  
  1282.                        6.21.14.  PRINTER OFF (or ON)
  1283.  
  1284.                             Turns copying of CONNECT session to printer
  1285.                             on  and off.  With FLOW-CONTROL turned on,
  1286.                             and a sending host that will acknowledge the
  1287.                             XOFF, you should have no problems using the
  1288.                             printer continuously.
  1289.  
  1290.                        6.21.15.  RECEIVE
  1291.  
  1292.                             6.21.15.1.  END-OF-LINE <ASCII code>
  1293.  
  1294.                                  Set the end of line character in packets
  1295.                                  to some other character than <CR> which
  1296.                                  is the default.
  1297.  
  1298.                             6.21.15.2.  PAD-CHAR <ASCII code>
  1299.  
  1300.                                  If the host you are communicating with
  1301.                                  needs one or more padding characters
  1302.                                  before it receives actual data during
  1303.                                  packet transfers, this character will be
  1304.                                  sent PADDING times.
  1305.  
  1306.                             6.21.15.3.  PADDING <decimal number>
  1307.  
  1308.                                  The repeat count for the number of times
  1309.                                  the padding character is transmitted.
  1310.  
  1311.                             6.21.15.4.  QUOTE-CHARACTER <ASCII code>
  1312.  
  1313.                                  The character used to quote control
  1314.                                  characters.  The default is pound "#"
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.                                         - 21 -
  1325.  
  1326.  
  1327.                             6.21.15.5.  START-OF-PACKET <ASCII code>
  1328.  
  1329.                                  The character used to syncronize the
  1330.                                  packets that KERMIT transmits.  By
  1331.                                  default <SOH>.
  1332.  
  1333.                             6.21.15.6.  TIME-OUT <decimal number>
  1334.  
  1335.                                  Model 4(p) KERMIT uses this value as the
  1336.                                  number of seconds to wait for a response
  1337.                                  to a packet.  If no response is received
  1338.                                  within the number of seconds given, then
  1339.                                  the packet for which the response has
  1340.                                  not been received is retransmitted.
  1341.  
  1342.                             6.21.15.7.  TURN-CHAR
  1343.  
  1344.                                  The character used to syncronize KERMIT
  1345.                                  when used over a half duplex line.
  1346.                                  Model 4(p) KERMIT will wait for this
  1347.                                  character at the end of a packet, and
  1348.                                  will send the SEND TURN-CHAR at the end
  1349.                                  of a packet.
  1350.  
  1351.                        6.21.16.  SEND
  1352.  
  1353.                             6.21.16.1.  END-OF-LINE <ASCII code>
  1354.  
  1355.                                  Set the end of line character in packets
  1356.                                  to some other character than <CR> which
  1357.                                  is the default.
  1358.  
  1359.                             6.21.16.2.  PAD-CHAR <ASCII code>
  1360.  
  1361.                                  If the host you are communicating with
  1362.                                  needs one or more padding characters
  1363.                                  before it receives actual data during
  1364.                                  packet transfers, this character will be
  1365.                                  sent PADDING times.
  1366.  
  1367.                             6.21.16.3.  PADDING <decimal number>
  1368.  
  1369.                                  The repeat count for the number of times
  1370.                                  the padding character is transmitted.
  1371.  
  1372.                             6.21.16.4.  QUOTE-CHARACTER <ASCII code>
  1373.  
  1374.                                  The character used to quote control
  1375.                                  characters.  The default is pound "#"
  1376.  
  1377.                             6.21.16.5.  START-OF-PACKET <ASCII code>
  1378.  
  1379.                                  The character used to syncronize the
  1380.                                  packets that KERMIT transmits.  By
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.                                         - 22 -
  1391.  
  1392.  
  1393.                                  default <SOH>.
  1394.  
  1395.                             6.21.16.6.  TIME-OUT <decimal number>
  1396.  
  1397.                                  This value is given to the other host as
  1398.                                  its' timeout value.  You should assure
  1399.                                  that this is different from the RECEIVE
  1400.                                  TIME-OUT value so that both timeouts do
  1401.                                  not occur simultaneously.
  1402.  
  1403.                             6.21.16.7.  TURN-CHAR <ASCII code>
  1404.  
  1405.                                  The character used to syncronize KERMIT
  1406.                                  when used over a half duplex line.
  1407.                                  Model 4(p) KERMIT will send this charac-
  1408.                                  ter at the end of a packet.  The RECEIVE
  1409.                                  TURN-CHAR will be waited for before data
  1410.                                  is transmitted.
  1411.  
  1412.                        6.21.17.  TAKE-DISPLAY OFF (or ON)
  1413.  
  1414.                             Controls the display of TAKE files as they
  1415.                             are executed.  By default this feature is
  1416.                             off.
  1417.  
  1418.                        6.21.18.  WARNING ON (or OFF)
  1419.  
  1420.                             Warns user if filename conflicts when receiv-
  1421.                             ing files from remote host, and attempt to
  1422.                             generate a unique name by modifying the given
  1423.                             one.  ON by default.
  1424.  
  1425.                   6.22.  SETCOM <TRSDOS SETCOM command parameter>
  1426.  
  1427.                        Sets/shows the status of the communications
  1428.                        driver, COM/DVR.  If no arguments are given, than
  1429.                        the current status will be shown.  Any arguments
  1430.                        must be enclosed in parenthesis as the result of
  1431.                        this command, is a generated TRSDOS command as in:
  1432.  
  1433.                             SETCOM (B=9600,P=N,W=8)
  1434.  
  1435.                        The default values are established according to
  1436.                        you.  If you set up the driver for a certain con-
  1437.                        figuration, and then use SYSGEN to save it, then
  1438.                        that will be the default.  NO sysgen should give
  1439.                        you:
  1440.  
  1441.                             300 BAUD
  1442.                             EVEN PARITY
  1443.                             DTR=YES
  1444.                             7 DATA BITS
  1445.                             1 STOP BIT
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.                                         - 23 -
  1457.  
  1458.  
  1459.                   6.23.  SHOW
  1460.  
  1461.                        Allows one or ALL of the options of the SET com-
  1462.                        mand to be displayed.  Using the "?" feature will
  1463.                        aid you if you can't figure out where to find
  1464.                        something.  All of the things that can be SET can
  1465.                        be displayed.  The items not listed below can be
  1466.                        displayed by using a command like:
  1467.  
  1468.                             SHOW BLOCK
  1469.  
  1470.                        or
  1471.  
  1472.                             SHOW DEFAULT
  1473.  
  1474.                        SHOW ALL will display all of the set values except
  1475.                        keys.  You must use SHOW KEY to see these values.
  1476.  
  1477.                   6.23.1.  SEND
  1478.  
  1479.                        Displays all options described under the SET SEND
  1480.                        command.
  1481.  
  1482.                   6.23.2.  RECEIVE
  1483.  
  1484.                        Displays all options described under the SET
  1485.                        RECEIVE command.
  1486.  
  1487.                   6.23.3.  KEY <ASCII key value>
  1488.  
  1489.                        If <ASCII key value> is specified, then the defin-
  1490.                        ition for the specified key number is display.
  1491.                        Otherwise, a prompt is issued for the user to type
  1492.                        the keystroke that should be taken as the key to
  1493.                        display.  \nnn is used to display all values
  1494.                        greater than 127.  ^x where x is a character 64
  1495.                        greater than 0 through 31, and 127 is used to
  1496.                        display control characters.  Any other printable
  1497.                        ASCII character is displayed normally.
  1498.  
  1499.              6.24.  STATUS
  1500.  
  1501.                   Shows certain information about the status of Model
  1502.                   4(p) KERMIT.  Items currently displayed include the
  1503.                   amount of space left in the KEY definition table, the
  1504.                   number of bytes written to files during transfers, the
  1505.                   number of bytes read from files during transfers, as
  1506.                   well as statistics on the latest transfer.
  1507.  
  1508.              6.25.  TAKE <filespec>
  1509.  
  1510.                   TAKE allows commands to be stored in a file, and then
  1511.                   executed by the KERMIT command interpreter.  Only one
  1512.                   level of TAKE files is supported.  This means that a
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.                                         - 24 -
  1523.  
  1524.  
  1525.                   TAKE command can not appear inside of a TAKE file.  No
  1526.                   checking is done to enforce this, so good luck if you
  1527.                   want to try it.  When KERMIT is first entered, a check
  1528.                   is made for a file called KERMIT/INI on all of the
  1529.                   active disk drives as per normal TRSDOS searching
  1530.                   order.  If it is found, than it is used as a TAKE file
  1531.                   where you can store initialization commands.  Pressing
  1532.                   the BREAK key, or the ENTER key during the startup of
  1533.                   KERMIT (before the TAKE file is opened) will cause KER-
  1534.                   MIT to skip processing of the TAKE file.
  1535.  
  1536.  
  1537.  
  1538.  
  1539.              7.  Setting up to use Model 4(p) KERMIT
  1540.  
  1541.                   To use Model 4(p) KERMIT, you need to have your Model 4
  1542.              set up properly.  The program expects that the *CL device
  1543.              will be driven by the COM/DVR Communications Driver that
  1544.              comes with TRSDOS.  It also expects that the *SO device is
  1545.              ROUTED to the *DO device, and that the *SI device is ROUTED
  1546.              to the *KI device.  The former 2 are the defaults, and in
  1547.              general, you should not worry about them, unless you have
  1548.              changed them.  Setting up the *CL device involves typing the
  1549.              command:
  1550.  
  1551.                   SET *CL COM/DVR
  1552.  
  1553.              at the TRSDOS Ready prompt.  If you do not do this, you will
  1554.              get a message of the form
  1555.  
  1556.                   Can't find *CL DCB
  1557.  
  1558.              from Model 4(p) KERMIT when it is starting up.  The program
  1559.              will return control to TRSDOS after issuing this message, as
  1560.              it is a fatal error.
  1561.  
  1562.                   Model 4(p) KERMIT is not a small program.  It occupies
  1563.              memory starting at 6000H, and extends up past 0D300H.  If
  1564.              you have parts of TRSDOS resident (Using the SYSTEM
  1565.              (SYSRES=....) command), or perhaps other filters or memory
  1566.              resident modules, then you should make sure that they do not
  1567.              extend below the maximum address used by the program.  The
  1568.              last memory address used by Model 4(p) KERMIT can be
  1569.              obtained by using the command
  1570.  
  1571.                   LOCAL MEMORY
  1572.  
  1573.              from within the Model 4(p) KERMIT program.
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.                                         - 25 -
  1589.  
  1590.  
  1591.              8.  Installation
  1592.  
  1593.                   To install Model 4(p) KERMIT, you must obtain the two
  1594.              files M4BOO.BAS and M4MIT.HEX.  Because of the size of the
  1595.              executable, the hex file could not be placed into a basic
  1596.              program as data statements.  Instead, the basic program
  1597.              opens and reads the file M4MIT.HEX.  This file is an ASCII
  1598.              image of the executable.  All that needs to be done, is to
  1599.              run the BASIC program which will convert the file back to
  1600.              its original binary format.  The resulting executable should
  1601.              probably be called KERMIT/CMD.  Follow the prompts of the
  1602.              BASIC program and there should not be any problems.
  1603.  
  1604.              9.  Building Model 4(p) KERMIT from the Source.
  1605.  
  1606.                   The Source for Model 4(p) KERMIT is in approximately 15
  1607.              modules.  The names of the modules are:
  1608.  
  1609.                   M4ADD/ASM      Code for miscellaneous routines.
  1610.  
  1611.                   M4CMD/ASM      Command parser code.
  1612.  
  1613.                   M4EQU/ASM      Mosts constants are defined here
  1614.  
  1615.                   M4FILE/ASM     Additional logfile code such as the LOG
  1616.                                  command, and the CLOSE command.
  1617.  
  1618.                   M4GET/ASM      Receive file routines + other miscel-
  1619.                                  lany.
  1620.  
  1621.                   M4KEY/ASM      Code for handling the SET KEY functions
  1622.  
  1623.                   M4LOG/ASM      INPUT, OUTPUT, PAUSE, PULSE commands.
  1624.  
  1625.                   M4MAC/ASM      Macros used in the program
  1626.  
  1627.                   M4MIT/ASM      Main entry and some command routines.
  1628.  
  1629.                   M4PKT/ASM      New packet routines for encoding and
  1630.                                  decoding packets.
  1631.  
  1632.                   M4RMT/ASM      The base of what will be the remote com-
  1633.                                  mand.
  1634.  
  1635.                   M4SEND/ASM     Send file routines.
  1636.  
  1637.                   M4SET/ASM      Set options routines.
  1638.  
  1639.                   M4SHOW/ASM     Show settings routines.
  1640.  
  1641.                   M4STR/ASM      The majority of storage, prompts, and
  1642.                                  messages.
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.                                         - 26 -
  1655.  
  1656.  
  1657.                   M4TERM/ASM     Terminal Emulation, and I/O routines.
  1658.  
  1659.                   M4WILD/ASM     Wild card file name processing.
  1660.  
  1661.                   M4XFER/ASM     File processing, and some packet stuff.
  1662.  
  1663.                   Model 4(p) KERMIT was developed using the EDAS assem-
  1664.              bler from Misosys.  Other macro assemblers should be able to
  1665.              assemble the program with minor conversions.  M4MIT/ASM is
  1666.              the main source module. It will call the other source files
  1667.              into the assembly (using the *GET directive) as needed.  If
  1668.              any system calls need to be changed, they are all defined in
  1669.              M4ADD/ASM for the most part.  All of the SVC's are coded in
  1670.              M4ADD/ASM as subroutines that are accessed by CALL Xaaaaa,
  1671.              where aaaaa is the name of the TRSDOS supervisor call (SVC)
  1672.              without the "@" sign.
  1673.  
  1674.                   If this version is moved to another OS, there are
  1675.              several things that you should consider.  The things that
  1676.              come to mind are:
  1677.  
  1678.  
  1679.                   1.   Consider the format of the TRSDOS directory struc-
  1680.                        ture.  The wild card routines depend on this
  1681.                        structure for validating directory entries, and
  1682.                        for retrieving the file name.
  1683.  
  1684.                   2.   There are 2 places where real time counting is
  1685.                        required.  The delay specified in a PAUSE state-
  1686.                        ment can be handled with a counter, as all other
  1687.                        processing is halted (except the interrupt tasks)
  1688.                        during the pause.  Currently, the Real Time Clock
  1689.                        task is used to measure the appropriate delay.
  1690.                        The other use of a Real Time counter occurs in the
  1691.                        Receive packet timeout.  This must be handled
  1692.                        using asyncronous processes in order to be accu-
  1693.                        rate.
  1694.  
  1695.                   3.   There exist code at the beginnning and end of the
  1696.                        segment that accesses the screen which outputs the
  1697.                        bytes 14, and 15 to the *DO device.  These are
  1698.                        used to force the cursor to be invisible before
  1699.                        the screen is accessed, and to then make it reap-
  1700.                        pear after the screen access is completed.
  1701.  
  1702.                   4.   The interrupt driven receiver must also be delt
  1703.                        with.  The code in the routine SETINT, establishes
  1704.                        the interrupt vector that the *CL driver will call
  1705.                        when a "character received interrupt" is gen-
  1706.                        erated.
  1707.  
  1708.                   5.   In many instances, the characters having values
  1709.                        16, and 17 are used to enable, and disable reverse
  1710.                        video respectively.  If the driver for *DO does
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.                                         - 27 -
  1721.  
  1722.  
  1723.                        not recognize this convention, as the current one
  1724.                        does, then these characters must be handled in
  1725.                        some manner.  I.E. either removed from the source,
  1726.                        or filtered from the terminal output stream.  The
  1727.                        PRTSTR() routine is a good place to mask these
  1728.                        characters at, as it is the sole source of output
  1729.                        for strings containing these type of characters.
  1730.  
  1731.  
  1732.                   It should be noted that KERMIT/CMD loads into RAM at
  1733.              6000H.  This avoids high memory filters and drivers, and
  1734.              also allows use of TRSDOS library commands that use low
  1735.              memory beyond 3000H, as FORMAT, and BACKUP do.  Exclusive
  1736.              use is made of the *DO device for screen output from the
  1737.              KERMIT program, for informational messages and the like.
  1738.              During connect mode, *SI and *SO are used as the input and
  1739.              output devices to allow filters to be attached that will not
  1740.              effect the operation of Model 4(p) KERMIT during command
  1741.              operations.  If you install a different driver or filter it
  1742.              must be compatible in these areas.
  1743.  
  1744.              10.  Performance Specifics of Model 4(p) KERMIT
  1745.  
  1746.                   The Model 4(p) KERMIT has been tested and proven to
  1747.              work properly at 9600 BAUD with flow control on, transfer-
  1748.              ring files between 2 Model 4's.  What makes the Model 4(p)
  1749.              KERMIT perform so well is the idea of flow control, and the
  1750.              interrupt driven receiver.  With out these features, I
  1751.              expect that 2400 baud would be the reliable limit.  Flow
  1752.              control can be disabled at speeds less than or equal to
  1753.              ~2400 baud, but greater speeds require that flow control be
  1754.              functional in order to protect the integrity of data in the
  1755.              input buffer.
  1756.  
  1757.  
  1758.  
  1759.  
  1760.              11.  The Heath 19 Filter
  1761.  
  1762.                   The files M4H191.ASM, M4H192.ASM, M4H19.MAC, and
  1763.              M4H19.EQU make up the sources for a Heath 19 terminal emula-
  1764.              tion filter for the TRS-80 Models 4 and 4p.  The assembler
  1765.              used was EDAS by Misosys.  To build the filter from sources,
  1766.              you need the above 4 files on a disk.  M4H191.ASM is the
  1767.              main source module, and it *GETs all the other necessary
  1768.              files.
  1769.  
  1770.                   The structure of the program is pretty simple.  Single
  1771.              character (non escape) sequences, are passed to the filtered
  1772.              device via the @CHNIO svc.  This filter depends on the
  1773.              TRSDOS *DO driver being at the end of the chain.  Several
  1774.              control characters are merely translated, and then the new
  1775.              values are passed to *DO.
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.                                         - 28 -
  1787.  
  1788.  
  1789.                   A multi-character escape sequence is handled by
  1790.              remembering the previous characters that the filter was
  1791.              passed.  The previous characters are remembered by the pres-
  1792.              ence of a non-zero value in the contents of STATE.  The
  1793.              value in STATE represents the address of the code to handle
  1794.              the next character, given the previous string of characters.
  1795.  
  1796.                   The filter is relocatable, but MUST reside below screen
  1797.              memory because it accesses it directly when performing
  1798.              several of the advanced terminal functions.  For this rea-
  1799.              son, it will never load above F3ffH.
  1800.  
  1801.              12.  The SETH19 Program
  1802.  
  1803.                   The SETH19 program allows you to configure a few
  1804.              options that are available to you when using the H19 filter.
  1805.              The SETH19 program is created from the sources M4H19S.ASM,
  1806.              M4H19.EQU, and M4H19.MAC.  M4H19S.ASM is the main source
  1807.              module, and will *GET the other 2 files. The program sup-
  1808.              ports a few parameters that are listed below.
  1809.  
  1810.  
  1811.                   REMOVE         Remove and reclaim if possible.
  1812.  
  1813.                   DURATION       Length of BELL tone.
  1814.  
  1815.                   FREQUENCY      Frequency value (bigger value is lower
  1816.                                  tone) for BELL.
  1817.  
  1818.                   BELL           Turn audible BELL ON or OFF.
  1819.  
  1820.                   BLOCK          Block cursor character.
  1821.  
  1822.                   CURSOR         Normal cursor character.
  1823.  
  1824.                   STRIP8         Control display of 8 bit data.
  1825.  
  1826.                   HELP           Displays information similiar to this.
  1827.  
  1828.                   SHOW           Displays the current settings of the
  1829.                                  parameters, this is the default.
  1830.  
  1831.              These options are specified when you invoke SETH19, as per
  1832.              the usual TRSDOS 6.x parameter list.  An example is shown
  1833.              below:
  1834.  
  1835.                   SETH19 (BLOCK=191,CURSOR=23,BELL=ON,SHOW)
  1836.  
  1837.                   This command sets the normal CURSOR, and the edit mode
  1838.              CURSOR values, as well as turning the audible bell on.  The
  1839.              show parameter causes 2 lines similiar to those below to be
  1840.              printed on the screen.
  1841.  
  1842.                   Normal Cursor: 23, Block Cursor: 191
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.                                         - 29 -
  1853.  
  1854.  
  1855.                   Bell: ON, Frequency: 20, Duration: 120
  1856.                   Strip8: ON
  1857.  
  1858.  
  1859.                   The REMOVE option takes several things for granted, as
  1860.              it tries to thoroughly remove the device.  It assumes that
  1861.              the H19 filter is attached to the *HP device, and that this
  1862.              device is a filter hooked to *SO.  Further more, it assumes
  1863.              that *SO is routed to *DO.
  1864.  
  1865.                   This particular set up can be used easily if the fol-
  1866.              lowing commands are used to set up the filter:
  1867.  
  1868.                   SET *HP H19/FLT FILTER *SO *HP
  1869.  
  1870.              This is assuming that *SO is routed to *DO.  The SETH19 com-
  1871.              mand will perform these very operations if you invoke it,
  1872.              and the memory module, $HEATH, is not in place.
  1873.  
  1874.                   The other parameters to the SETH19 command can be used
  1875.              to control certain preferable options to the filter.  Set-
  1876.              ting BELL off causes the filter to flash the screen when it
  1877.              receives an ASCII(7) character.  If BELL is set ON, then an
  1878.              audible bell is issued when an ASCII(7) is received.
  1879.  
  1880.                   When BELL is ON, then the DURATION, and FREQUENCY
  1881.              parameters take effect.  These 2 parameters select the
  1882.              length and pitch, respectively, of the BELL tone.  The FRE-
  1883.              QUENCY value is used as a delay between oscillations of the
  1884.              sound port, so the bigger the number, the lower the tone
  1885.              will be.
  1886.  
  1887.                   The default DURATION is set to 20, and the FREQUENCY is
  1888.              set to 125.  You can adjust them as you please.  The DURA-
  1889.              TION is inversely proportional to the FREQUENCY, since the
  1890.              delay caused by the FREQUENCY value is part of the overall
  1891.              DURATION of the sound.  This means that as you increase FRE-
  1892.              QUENCY, you must decrease DURATION to maintain the same
  1893.              length of BELL, and vice-versa.
  1894.  
  1895.                   The BLOCK and CURSOR parameters are used to control the
  1896.              characters that are used as the cursor by the H19 filter.
  1897.              The H19 terminal has the ability to use a visual mode cur-
  1898.              sor, or a line mode cursor.  Since the normal visual mode
  1899.              cursor is usually a block cursor, the parameter BLOCK is
  1900.              used to set the ASCII value of the visual mode cursor.  The
  1901.              CURSOR parameter sets the normal line mode cursor.
  1902.  
  1903.                   The switch between cursors must be done by the HOST
  1904.              computer that is attached to the Model 4's communications
  1905.              port.  There is no magic to when the BLOCK cursor is
  1906.              selected, see the description of the recognized control
  1907.              sequences below.
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.                                         - 30 -
  1919.  
  1920.  
  1921.                   The STRIP8 parameter controls whether or not data is
  1922.              printed on the screen with the eighth bit set.  Normally,
  1923.              the filter now trims the eighth bit off so that parity can
  1924.              be ignored.  The command
  1925.  
  1926.                   SETH19 (STRIP8=NO)
  1927.  
  1928.              will cause the eighth bit to not be stripped.  That is to
  1929.              say, data will be used as it is received by the filter.
  1930.              Note that when this is done, some control characters with
  1931.              parity bits attached may not be recognized.
  1932.  
  1933.  
  1934.              13.  Future modifications
  1935.  
  1936.                   It should be fairly straight forward to build extra
  1937.              states into the filter so that it will recognize the ANSI
  1938.              3.64 sequences for the operations the filter knows how to
  1939.              perform.  Full support of all the ANSI 3.64 sequences would
  1940.              be a non-trivial investment in time.  The best bet here
  1941.              would, be a completely new device driver, since the overhead
  1942.              of going to *DO is already costly, and trying to implement
  1943.              scroll regions with *DO would be a HACK at best.  If some-
  1944.              body wants to do the conversion, I would like to have a copy
  1945.              of the result.
  1946.  
  1947.              14.  HEATH-19 filter capabilities
  1948.  
  1949.                   The HEATH-19 terminal supports several advanced video
  1950.              capabilities that make it an ideal source for a terminal
  1951.              emulation package.  Below is a list of the functions sup-
  1952.              ported by the Model 4(p) H-19 emulator, and the escape
  1953.              sequences that perform the operations.
  1954.  
  1955.              15.  Heath/Zenith-19 Control Codes
  1956.  
  1957.                   The  Heath/Zenith-19 terminal is equivalent to the DEC
  1958.              VT52 with extensions for line and character insertion and
  1959.              deletion.  Items marked with an  asterisk  are not currently
  1960.              supported by Model 4(p) H19 emulation.
  1961.  
  1962.  
  1963.              Cursor Functions
  1964.  
  1965.                Sequence    Mnemonic    Definition
  1966.                 ESC H      HCUH        Cursor Home
  1967.                 ESC C      HCUF        Cursor Forward
  1968.                 ESC D      HCUB        Cursor Backward
  1969.                 ESC B      HCUD        Cursor Down
  1970.                 ESC A      HCUU        Cursor Up
  1971.                 ESC I      HRI         Reverse Index
  1972.                *ESC n      HCPR        Cursor Position Report
  1973.                 ESC j      HSCP        Save Cursor Position
  1974.                 ESC k      HRCP        Set Cursor to Previously Saved Position
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.                                         - 31 -
  1985.  
  1986.  
  1987.                 ESC Y      HDCA        Direct Cursor Addressing, 1-based:
  1988.                                        31+line# 31+col# (same as VT52)
  1989.  
  1990.  
  1991.  
  1992.              Erasing and Editing
  1993.  
  1994.                Sequence    Mnemonic    Definition
  1995.                 ESC E      HCD         Clear Display (Shift Erase)
  1996.                 ESC b      HBD         Erase Beginning of Display
  1997.                 ESC J      HEOP        Erase to End of Page (Erase Key)
  1998.                 ESC l      HEL         Erase Entire Line
  1999.                 ESC o      HEBL        Erase Beginning of Line
  2000.                 ESC K      HEOL        Erase to End of Line
  2001.                 ESC L      HIL         Insert Line
  2002.                 ESC M      HDL         Delete Line
  2003.                 ESC N      HDCH        Delete Character
  2004.                 ESC @      HEIM        Enter Insert Character Mode
  2005.                 ESC O      HERM        Exit Insert Character Mode
  2006.  
  2007.  
  2008.  
  2009.              Configuration
  2010.  
  2011.                Sequence    Mnemonic    Definition
  2012.                *ESC z      HRAM        Reset to Power-Up Configuration
  2013.                *ESC r Bn   HMBR        Modify Baud Rate: Bn=
  2014.                                          A=110, B=150, C=300, D=600, E=1200,
  2015.                                          F=1800, G=2000, H=2400, I=3600, J=4800,
  2016.                                          K=7200, L=9600, M=19200
  2017.  
  2018.  
  2019.                 ESC x Ps   HSM         Set Mode(s): Ps=
  2020.                *                         1 = Enable 25th line
  2021.                *                         2 = No key click
  2022.                *                         3 = Hold screen mode
  2023.                                          4 = Block cursor
  2024.                                          5 = Cursor off
  2025.                *                         6 = Keypad shifted
  2026.                *                         7 = Alternate keypad mode
  2027.                                          8 = Auto line feed on CR
  2028.                                          9 = Auto CR on line feed
  2029.  
  2030.  
  2031.                 ESC y Ps   HRM         Reset mode(s): Ps=
  2032.                *                         1 = Disable 25th line
  2033.                *                         2 = Enable key click
  2034.                *                         3 = Exit hold screen mode
  2035.                                          4 = Underscore cursor
  2036.                                          5 = Cursor on
  2037.                *                         6 = Keypad unshifted
  2038.                *                         7 = Exit alternate keypad mode
  2039.                                          8 = No auto line feed
  2040.                                          9 = No auto CR
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.                                         - 32 -
  2051.  
  2052.  
  2053.                *ESC <      HEAM        Enter ANSI Mode
  2054.  
  2055.              Modes of Operation
  2056.  
  2057.                Sequence    Mnemonic    Definition
  2058.                *ESC [      HEHS        Enter Hold Screen Mode
  2059.                *ESC \      HXHS        Exit Hold Screen Mode
  2060.                 ESC p      HERV        Enter Reverse Video Mode
  2061.                 ESC q      HXRV        Exit Reverse Video Mode
  2062.                *ESC F      HEGM        Enter Graphics Mode
  2063.                *ESC G      HXGM        Exit Graphics Mode
  2064.                *ESC t      HEKS        Enter Keypad Shifted Mode
  2065.                *ESC u      HXKS        Exit Keypad Shifted Mode
  2066.                *ESC =      HAKM        Enter Alternate Keypad Mode
  2067.                *ESC >      HXAM        Exit Alternate Keypad Mode
  2068.  
  2069.  
  2070.  
  2071.                Additional Operations
  2072.  
  2073.                Sequence    Mnemonic    Definition
  2074.                *ESC }      HDK         Keyboard Disable
  2075.                *ESC {      HEK         Keyboard Enable
  2076.                *ESC v      HEWA        Wrap Around at End of Line
  2077.                *ESC w      HXWA        Discard at End of Line
  2078.                *ESC Z      HID         Identify as VT52 (ESC / K)
  2079.                *ESC ]      HX25        Transmit 25th Line
  2080.                *ESC #      HXMP        Transmit Page
  2081.  
  2082.  
  2083.  
  2084.                Enhanced Character Support
  2085.  
  2086.                 ESC [ p1 ; ... pn m    Set Graphics Rendition
  2087.                 where p1, ..., pn are chosen from the following:
  2088.                 *0            Reset to normal character display.
  2089.                 *1            Display characters in high intensity.
  2090.                 *4            Display characters underlined.
  2091.                 *5            Display characters blinking.
  2092.                 *7            Display characters in reverse video.
  2093.  
  2094.  
  2095.  
  2096.                   The  Heath-19  transmits  the following sequences,  but
  2097.              it  will  not  respond  to them if they are received.  Model
  2098.              4(p) Kermit will transmit them only if they  are  programmed
  2099.              with SET KEY.
  2100.  
  2101.                 ESC S      HF1         Function Key #1
  2102.                 ESC T      HF2         Function Key #2
  2103.                 ESC U      HF3         Function Key #3
  2104.                 ESC V      HF4         Function Key #4
  2105.                 ESC W      HF5         Function Key #5
  2106.                 ESC P      HF7         Function Key #7
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.                                         - 33 -
  2117.  
  2118.  
  2119.                 ESC Q      HF8         Function Key #8
  2120.                 ESC R      HF9         Function Key #9
  2121.  
  2122.                   My thanks to Michael Carter and Roland Stolfa for their
  2123.              help in testing and debugging this implementation.
  2124.  
  2125.  
  2126.              Gregg Wonderly
  2127.              Department of Computing and Information Sciences
  2128.              Oklahoma State University
  2129.  
  2130.  
  2131.              UUCP: {cbosgd, ea, ihnp4, isucs1, mcvax, uokvax}!okstate!gregg
  2132.              ARPA:  gregg@A.CS.OKSTATE.EDU
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.