home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / telecomm / kmterm18 / kmterm18.asc < prev    next >
Text File  |  1993-01-20  |  54KB  |  1,285 lines

  1. KM_Term - A Terminal Program for the Atari ST
  2. =============================================
  3.  
  4. (c)K Millican 1992
  5.    20 St Johns Road
  6.    Belton
  7.    GREAT YARMOUTH
  8.    Norfolk
  9.    NR31 9NS
  10.  
  11. =======================
  12. v1.81 - 21 January 1992
  13. =======================
  14.  
  15. NB: New features over 1.63 are highlighted in the text or mentioned
  16.     separately in section 13.
  17.  
  18.  
  19.  
  20. 1.0 Introduction
  21.  
  22.  
  23. 1.1 KM_Term is a VT52, VT100, & ANSI terminal emulator for the Atari
  24.     ST range of microcomputers.
  25.  
  26.  
  27. 1.2 It was coded in Hisoft Power BASIC with a splash of assembly
  28.     language here and there.
  29.  
  30.  
  31. 1.3 KM_Term will operate in Hires 640 x 400 or Medium res 640 x 200
  32.     screen modes; it has been tested on TOS 1.2, 1.4, and 1.6 (STE)
  33.     and should operate happily on systems with as little as 512KB of
  34.     memory.
  35.  
  36.  
  37. 1.4 This software has a number of features of which probably none can
  38.     be described as unique, but which together make a powerful and
  39.     complete system that can be easily customised for your particular
  40.     needs.
  41.  
  42.  
  43. 1.5   Conventions Used
  44.  
  45. 1.5.1 Because registered users receive a copy of the source code I
  46.       may refer to some functions by their source-code names; this
  47.       may be useful if you ever wish to tinker with the source code
  48.       or are unsure why something doesn't quite function the way you
  49.       expect.    When I enclose a name in {curly brackets} I am
  50.       referring to a FN, a named SUB or a GOSUB label.
  51.  
  52.  
  53. 1.5.2 User keypress combinations are highlighted e.g. <Return>
  54.  
  55.  
  56. 1.5.3 Named single characters or ASCII codes are enclosed in square
  57.       brackets e.g.
  58.  
  59.       [CR] means a carriage return code and is identical to [dec13]
  60.       or [hex0D]
  61.  
  62.  
  63.  
  64.  
  65. 2.0   History
  66.  
  67.  
  68. 2.1   I started using comms for BBS work in the beginning of 1992. My
  69.       first dabbles with going on-line were conducted using VANTERM,
  70.       UNITERM and after a while DTERM and finally FzDz.
  71.  
  72.  
  73. 2.2   I found problems with all the above, despite the fact that in
  74.       many ways they are fine pieces of software that have obviously
  75.       been carefully coded.    I won't mention the problems
  76.       (sometimes bugs) I had with these programs in detail with the
  77.       exception of FzDz, because in a way this program is the reason
  78.       I began writing KM_Term :-
  79.  
  80.  
  81. 2.3   Having tussled with many comms programs, I discovered the demo
  82.       version of FzDz on a magazine cover disk.    At first sight it
  83.       seemed to be the ultimate answer to my needs, but after a while
  84.       I began to realise that I would never be totally happy working
  85.       with it.
  86.  
  87.  
  88. 2.4   I identified with the authors comments that `he wrote FzDz
  89.       because the best just wasn't good enough'.
  90.       I saw the tremendous effort that had been expended on the
  91.       software, and thought it could have every feature that I could
  92.       possibly want, but still there was something missing.    Maybe
  93.       I would have stuck with it if I had been a colour user instead
  94.       of the owner of an SM124 (I'm sure that despite what the author
  95.       said, he would have eventually got round to improving  the mono
  96.       display), ... but no, in the end I doubt it.
  97.  
  98.  
  99. 2.5   The problem wasn't the software; it was me:-
  100.  
  101.       I just didn't feel comfortable with the work style that the
  102.       author envisaged, or the obscure text editor; however good it
  103.       was, it just couldn't compete with Tempus 2 (my favourite) for
  104.       speed, power and ease of use. There was also just too much
  105.       going on in the various control panels etc.    True, the author
  106.       had thought of just about everything you could ever need, but
  107.       in providing everything, much of the simple elegance of lesser
  108.       programs such as DTerm had been lost.
  109.  
  110.  
  111. 2.6   I've come to the conclusion that the reason I couldn't get on
  112.       with `the best' is not really because on any particular failing
  113.       on the part of FzDz but because using comms software is a more
  114.       personal activity than many others on my ST.    It's a bit like
  115.       organising folders on a disk really - everyone comes up with a
  116.       way that suits them best.
  117.  
  118.  
  119. 2.7   So if the system I've come up with doesn't suit you in the way
  120.       it suits me then I'm sorry but I'm not all that surprised;
  121.       eventually you will find something that you are most
  122.       comfortable with.    It's partly because of this that I'm not
  123.       disabling some of the better features until people have
  124.       registered.; I want you to feel at least comfortable with
  125.       KM_Term before you feel obliged to register (but of course it's
  126.       only natural that I wish my registered users to receive the
  127.       benefits of the latest revisions first).
  128.  
  129.  
  130. 2.8   It's also because of this recognition of the personal nature of
  131.       using comms software that I have taken the unusual step of
  132.       releasing the source code to registered users.    If there is
  133.       something that doesn't quite function the way you want it to
  134.       you can change it if you have either Power or Hisoft BASIC.
  135.  
  136.       However I don't want to see vast numbers of KM_Term look-alikes
  137.       floating around the PD libraries or BBS systems so I'll make
  138.       this agreement with you :-
  139.  
  140.       You can alter the source code and re-compile the program for
  141.       your own requirements provided that you do not release it in
  142.       any form without my agreement in writing.    If you feel your
  143.       modifications are valuable to other users then I will give you
  144.       a release version number that is unique and a format for adding
  145.       to the documentation that makes it clear that the major part of
  146.       the source code belongs to me.    If anyone registers your
  147.       release version with me I will forward an agreed percentage to
  148.       you.
  149.  
  150.       However if I feel anyone is infringing my rights on my work by
  151.       marketing KM_Term in any way I will take legal action to
  152.       protect those rights (in summary: you treat me fairly and I'll
  153.       do the same for you !)
  154.  
  155. 3.0   Features
  156.  
  157.  
  158. 3.1   KM_Term has many special features too numerous to list here,
  159.       but it is useful to provide an outline of the specification :-
  160.  
  161.  
  162.       * Full VT52 emulation (as provided by the built-in Atari
  163.         routines).
  164.  
  165.       * Partial VT100/ANSI terminal emulation.    Any unrecognised
  166.         codes don't mess up the display; they are just displayed in
  167.         the top left corner of the screen.
  168.  
  169.       * Operates in Medium or High resolution.
  170.  
  171.       * Simple-to-use autologon sequence that is `recorded' whilst
  172.         using KM_Term (or can be edited with a standard text editor)
  173.  
  174.       * Logs calls and charges on British Telecom b,b1,a, & L call
  175.         rates.
  176.  
  177.       * Logs calls and charges on Mercury zones 1,2,3, & 4 (I've
  178.         called them m1,m2,m3,& m4)
  179.  
  180.       * On-screen help including call duration and charge.
  181.  
  182.       * Supports XYZ.TTP external file transfer protocol (this should
  183.         be registered separately; it is not part of KM_Term).
  184.  
  185.       * Supports JEKYLL.TTP external file transfer protocol (this
  186.         should be registered separately; it is not part of KM_Term).
  187.  
  188.       * Supports direct access to your favourite text editor; Tempus
  189.         is recommended but many other editors can be used according
  190.         to your preference.
  191.  
  192.       * Loads IBM style fonts at startup.    In mono, up to three can
  193.         be loaded to provide VT100/ANSI style changes (colour changes
  194.         are effected on colour monitors). Suitable fonts are
  195.         included.
  196.  
  197.       * 8 Macro keys.
  198.  
  199.       * 10 quick autodial slots.
  200.  
  201.       * 10 configurable program slots mainly used for running other
  202.         external file transfer protocols, QWK mail editors, or other
  203.         comms utilities from within KM_Term.
  204.  
  205.       * Access to GEM accessories [New for v 1.8#]
  206.  
  207.       * Fully sizeable capture buffer that ignores escape and ANSI
  208.         sequences so that the buffer can be loaded directly into your
  209.         text editor.
  210.  
  211.       * Easy access to Mercury - autodial slots contain the
  212.         information required to determine whether call is made via BT
  213.         or Mercury and costed accordingly.
  214.  
  215.       * Upload an ASCII text file directly into a BBS line editor.
  216.  
  217.       * Will operate as a mini-BBS system when someone else calls
  218.         your system (and the modem is set up for auto-answer).
  219.  
  220.  
  221. 4.0   The Terminal Display
  222.  
  223.  
  224. 4.1   When you start KM_Term, you are greeted with a blank screen and
  225.       flashing cursor.    Once you've recovered from this
  226.       mind-blowing experience (!) carry on...
  227.  
  228.  
  229. 4.2   Pressing <Help> displays a menu showing the available key
  230.       combinations that control KM_Term from the terminal - {GOSUB
  231.       hlptxt}.    Some of these functions can also be activated from
  232.       the control panel.
  233.  
  234.  
  235. 4.2.1 The current RS232 settings, capture buffer status, and, - if
  236.       you have started a call - the duration and charge will also be
  237.       displayed here.
  238.  
  239.  
  240. 4.2.2 The terminal screen colours can be edited by pressing the
  241.       appropriate colour key (1-3 or b) if you are in medium res.
  242.  
  243.  
  244. 4.2.3 Pressing a mouse button or a key on the keyboard will return
  245.       you to the terminal.    In theory any key can be used, but
  246.       during a call the shift keys work much better (and there's no
  247.       risk of the keyboard repeat entering unwanted characters down
  248.       the line).
  249.  
  250.  
  251. 4.3   Pressing the <left mouse button> and holding it displays the
  252.       mouse pointer.    Releasing it then positions the VT52 cursor
  253.       at the mouse pointer position.
  254.  
  255.  
  256. 4.4   Pressing the <right mouse button> calls up the main control
  257.       panel - {GOSUB gembit}.
  258.  
  259.  
  260. 4.5   A full 25 line display is used by KM_Term.    However there are
  261.       many times when the program needs to advise you of what it is
  262.       doing because changes are not readily apparent otherwise.
  263.  
  264.  
  265. 4.5.1 A subroutine is used for this information line - {SUB showmod}.
  266.       If the BBS display overwrites this line it will not be restored
  267.       until a new routine is used that displays information.
  268.  
  269.  
  270. 4.5.2 This has the benefit of a full-size display with the very minor
  271.       cost that the top line of the display could be lost when some
  272.       functions are used.    In practice I have never found this to
  273.       be a limitation since nothing useful on screen menus ever
  274.       starts on the top line.
  275.  
  276.  
  277. 4.6   Most functions can be selected by an <Alternate-KEY>
  278.       combination from the terminal screen - {GOSUB keyin}.    The
  279.       options are listed below :-
  280.  
  281.       <Alternate-Q> Sends the escape command string (Hayes +++) twice
  282.       and then the hangup modem string to the modem and logs the
  283.       call. Manual modem users should define both (C)ommand &
  284.       (H)angup as empty strings and use this after terminating a call
  285.       to ensure that it is logged.    Automatic (Hayes) modem users
  286.       need only use this call where a BBS appears to crash without
  287.       disconnecting.    By default this string is `ATH0' but other
  288.       methods exist to terminate the call if desired - {GOSUB
  289.       hangup}.
  290.  
  291.       [v1.73 : The exact sequence has been changed slightly to tidy
  292.       up the screen display - only one escape sequence is sent with a
  293.       slightly different interval - seems to work even better though]
  294.  
  295.  
  296.       <Alternate-D> Calls the external file transfer protocol (by
  297.       default XYZ.TTP) to download a file - {GOSUB transfer}. The
  298.       last-used settings are displayed in alert boxes as the defaults
  299.       but these can be changed either by using the alert boxes or by
  300.       altering the presets on the control panel.
  301.  
  302.  
  303.       <Alternate-U> Calls the external file transfer protocol as
  304.       above but allows the user to select a file for upload - {GOSUB
  305.       transfer}.
  306.  
  307.  
  308.       <Alternate-X> Calls the external file transfer protocol as
  309.       above but asks the user whether they require upload or download
  310.       (only included for compatibility with some other terminal
  311.       programs) - {GOSUB transfer}.
  312.  
  313.  
  314.       <Alternate-J> Calls an external file transfer protocol that
  315.       doesn't require parameters - {GOSUB jekyll}.    This is set up
  316.       by default (and originally intended) for use with JEKYLL.TTP.
  317.       Jekyll is the ultimate file transfer protocol for ST users
  318.       since it allows simultaneous upload & download at ZModem
  319.       speeds, and allows you to chat to the BBS sysop all at the same
  320.       time. You can even access the BBS directories directly and the
  321.       other end can request files from your drive as well (if host
  322.       mode is switched on).
  323.  
  324.  
  325.       <Alternate-T> Allows the user to select an ASCII text file for
  326.       upload into a BBS line editor - {GOSUB ascii}.    It's up to
  327.       the user to ensure that the line lengths are correct but the
  328.       utility will strip any linefeed codes out and send a space
  329.       character ([dec32]) followed by [CR] for any empty lines.
  330.       This will work well with just about any BBS line or ANSI editor
  331.       - even at slow speeds.
  332.  
  333.  
  334.       <Alternate-S> Displays the standard fileselector to allow the
  335.       user to save the current capture buffer to disk - {GOSUB
  336.       savebuf}.    Unlike many terminal programs, KM_Term strips out
  337.       any VT52 or ANSI escape codes to allow the file to be directly
  338.       loaded into a text editor.    The capture buffer is cleared
  339.       after saving.
  340.  
  341.  
  342.       <Alternate-B> Changes the Baud rate - {GOSUB baud}.
  343.  
  344.  
  345.       <Alternate-H> Changes the RS232 Handshake protocol to NONE,
  346.       XON/XOFF or RTS/CTS - {GOSUB handshake}.    There are no
  347.       special RS232 routines in KM_Term so you may need a software
  348.       patch to use RTS/CTS with high speed modems.
  349.  
  350.  
  351.       <Alternate-E> Runs the user-defined text editor - {GOSUB
  352.       editor}.    This is different from selecting the editor from
  353.       the control panel in that it passes the name of the last-saved
  354.       capture buffer as parameters to the text editor.    If the text
  355.       editor handles parameters properly (most do), then the editor
  356.       will be loaded complete with the last-saved capture buffer
  357.       ready for editing.
  358.  
  359.  
  360.       <Alternate-C> Toggles the capture buffer ON or OFF.    I don't
  361.       really know why anyone would want to run without a capture
  362.       buffer switched ON, but this is included for the odd time when
  363.       you think this might be necessary (users of machines tight on
  364.       memory with small capture buffers maybe).
  365.  
  366.       NB. Turning the capture buffer OFF prevents normal functioning
  367.       of the automatic call-logging and autologon facilities, because
  368.       both functions check the status of the last 10 characters in
  369.       the buffer every 0.2 seconds.
  370.  
  371.  
  372.       <Alternate-W> Toggles standard VT52 wrap ON or wrap OFF.
  373.  
  374.  
  375.       <Alternate-R> Displays the fileselector and allows the user to
  376.       select a program to run from within KM_Term - {GOSUB prgrn}.
  377.  
  378.  
  379.       <Alternate-A> Displays the fileselector and allows the user to
  380.       run a previously- recorded autologon file - {GOSUB
  381.       start_autologon}.    The default directory for this, is a
  382.       folder called `\LOGON\' which should be in the same folder as
  383.       KM_Term was run from.
  384.  
  385.  
  386.       <Alternate-O> [NEW feature for 1.70 onwards] Sends the next
  387.       character you type and then goes into raw ASCII capture mode -
  388.       no screen display but will capture anything coming down the
  389.       RS232 port at high speed even without RTS/CTS in most cases. I
  390.       use this for capturing crude output from some laboratory
  391.       equipment at high speed or capturing VT52 or ANSI codes for
  392.       testing. <Esc> returns you to standard mode.
  393.  
  394.       <Alternate-M> [New feature for 1.80 onwards] Allows access to
  395.       GEM accessories - at present you must close these down before
  396.       returning to the terminal.
  397.  
  398.       <F1.....F8> These are the macro keys which can hold any text
  399.       strings you normally use frequently (e.g. your name,
  400.       password(s), `Hello', or even certain modem setup strings).
  401.       I've only included 8 because I can only remember about 4 !
  402.       If anyone thinks this is particularly stingy and can remember
  403.       more than 8 then let me know and I'll add some more !
  404.  
  405.  
  406.       <F9>  This key is a leftover from early development on a
  407.       1200/75 modem - {SUB sortit}. Under certain obscure conditions
  408.       I found out the RS232 buffers can get confused when V23EMU.TOS
  409.       has been used to provide a split baud rate on the ST.    The
  410.       problem occurs when you've been using V23 (1200/75) and then
  411.       switch back to V21 (300/300); some characters are not returned
  412.       from the BBS but they stay in the buffer so that as you press
  413.       e.g. the <Return> key the lost characters appear (ie. you're
  414.       not sending the correct characters to the BBS).    The <F9> key
  415.       resets the buffers to provide (probably temporary) relief from
  416.       this.
  417.  
  418.  
  419.       <F10>  Displays the status of the RS232 input & output buffers
  420.       - {GOSUB  bufferstat}.
  421.  
  422.  
  423.       <Alternate-1...8> Used to effect foreground & background
  424.       colours temporarily in medium res - {GOSUB vt52col}.   In mono
  425.       1-3 temporarily set the screen fonts, 4 & 5 set inverse &
  426.       normal text, and 6 inverts the screen (pallette change) to
  427.       white-on-black or vice versa - {GOSUB vt52mono}.    This last
  428.       setting is important because it is permanent, i.e. it can be
  429.       saved using the `SAVE CONFIG' option.
  430.  
  431.  
  432.       <Shift-F1> Initiates the `RECORD AUTOLOGON' sequence - {GOSUB
  433.       record}. The fileselector is displayed so that the autologon
  434.       file can be named.    From this point onwards, all characters
  435.       passed to the BBS are recorded in the file.
  436.  
  437.  
  438.       <Shift-F2> Ends the `RECORD AUTOLOGON' sequence - {GOSUB
  439.       record}.
  440.  
  441.  
  442.       <Shift-F3> Records (Registers) the last ten characters from the
  443.       BBS in the currently recorded autologon sequence file - {GOSUB
  444.       record}.    <Shift-F3> is normally pressed by the user at each
  445.       point where the BBS pauses to wait for an input from the user.
  446.  
  447.       <Shift-F10> Inserts the active RS232 settings in the currently
  448.       recorded autologon sequence file. This is normally pressed
  449.       immediately after initiating the record sequence prior to
  450.       autodialling when it is desired to use specific RS232 settings
  451.       on playback.
  452.  
  453.       <Insert> Toggles `HOST' mode on or off.
  454.  
  455.        <Undo> Leaves the terminal (via alert box confirmation).
  456.  
  457.  
  458.  
  459.  
  460. 5.0   The Control Panel
  461.  
  462.  
  463. 5.1   The control panel is toggled with the <right mouse button> -
  464.       {GOSUB gembit}.    This panel allows the user to set the RS232
  465.       settings, default upload/download options, and use some of the
  466.       menu utilities that may or may not be available directly from
  467.       the terminal screen.
  468.  
  469.  
  470. 5.2   All selections are made with the <left mouse button> - {GOSUB
  471.       decode}.    Some features will return you to the terminal after
  472.       selection, whilst others will not.    You can return to the
  473.       terminal at any time by pressing the <right mouse button> or
  474.       clicking on the close box at the top left of the control panel
  475.       screen.
  476.  
  477.  
  478. 5.3   Most of the features are self-explanatory but some require a
  479.       little more discussion as follows :-
  480.  
  481.  
  482. 5.4   The Autodialler (AUTODIAL)
  483.  
  484. 5.4.1 There are ten user-definable autodial slots - {GOSUB autodial}.
  485.       Users might be wondering why I've only included ten; well once
  486.       you start to use the autologon facility, you'll probably only
  487.       use this when recording an autologon sequence or as a quickdial
  488.       facility.
  489.  
  490.  
  491. 5.4.2 To dial a number, just click on a highlighted number with the
  492.       <left mouse button>.
  493.  
  494.  
  495. 5.4.3 To define a number, press the number (0-9) on the main keyboard
  496.       and edit it {FNedit$} using the following format :-
  497.  
  498.       ############# : ************************** @$$
  499.  
  500.       where; #############  is the BT telephone number.
  501.              ************** is the name of the BBS
  502.                          $$ is the call rate (a,b,b1,L,m1,m2,m3, or
  503.                             m4)
  504.  
  505.       The number of characters is not significant; everything up to
  506.       the colon (:) is the number that is dialed and everything after
  507.       is the BBS identification.    (I  also tend to put the BBS
  508.       Fidonet number in here as a reminder).    The call rate
  509.       indicator must be the last thing on the line however, and this
  510.       is essential for correct call logging.
  511.  
  512.       NB: YOU MUST CARRY OUT THIS OPERATION EVEN IF YOU ARE USING A
  513.       MANUAL MODEM (AND YOU WISH KM_TERM TO LOG CALLS AND CHARGES)
  514.  
  515.  
  516. 5.4.4 There are also a couple of other variables that can be altered
  517.       from this menu by pressing the character in brackets :-
  518.  
  519.       (P)refix Is the dial prefix sent to the modem before the number
  520.       (For Hayes-compatibles `ATDP' for pulse or `ATDT' for tone).
  521.  
  522.       (C)ommand Is the sequence to be sent to the modem to select
  523.       command mode (Hayes : `+++'). This is sent twice with a slight
  524.       pause as per the Hayes standard but this should also work with
  525.       non-Hayes modems.
  526.  
  527.       (H)angup Is the sequence to be sent after the command mode
  528.       select in order to hangup the modem (Hayes : `ATH0').
  529.  
  530.       (M)ercury Is the sequence sent after the prefix and before the
  531.       BT telephone number if the autodial number contains the string
  532.       :- `@m'.
  533.  
  534.       For Hayes-compatibles this is normally `131,,,ATDT##########'
  535.       where `##########' is your Mercury access (PIN) code.    The
  536.       commas are a signal to your modem to pause for two seconds.
  537.       According to Mercury you should dial 131 followed by a pause of
  538.       five seconds followed by your PIN number, so you may find you
  539.       can reduce this to two or maybe even one two-second delay. You
  540.       should also ensure that you (or your other software) hasn't
  541.       tampered with the time delay attributed to a comma.
  542.  
  543.       You will notice that once entered this number does not reappear
  544.       on the display next time you select autodial.    This is to
  545.       ensure a measure of security but note that your PIN number will
  546.       be saved in the KM_TERM.CFG configuration file.
  547.  
  548.       If you wish, you may of course save your Mercury number in the
  549.       modem memory and use this variable to call on that particular
  550.       memory instead.
  551.  
  552.       (D)ial Delay Is the number of seconds after initiating the
  553.       autodial before KM_Term starts counting the call duration.
  554.       You may wonder why I didn't relate the call start to the
  555.       CONNECT **** signal sent back from the modem rather than the
  556.       selection of the autodial number; well I found that the time
  557.       taken to CONNECT to a BBS varies more than the time taken to
  558.       dial and the BBS modem to answer the call - typically around
  559.       15-20 seconds.    This is the best compromise to avoid
  560.       overestimation or underestimation of the call duration (Nearly
  561.       all BBS systems grossly underestimate the BT/Mercury call
  562.       duration since they measure the connection time from the modem
  563.       connection or logon completion).
  564.  
  565.       If you are using KM_Term with a manual modem you should set the
  566.       delay to zero.
  567.  
  568.       [New for 1.80 onwards] if you specify a negative dial delay
  569.       then KM_Term will not log the call when it receives a NO
  570.       CARRIER message unless it has already received a CONNECT
  571.       message. The value must be set to the typical time taken to
  572.       CONNECT after the remote modem has answered the phone. This
  573.       should help avoid logging phantom calls if your modem doesn't
  574.       provide the BUSY message! (Some people may prefer this system
  575.       anyway if their average answer-->CONNECT time is fairly
  576.       constant). A good value for negative dialdelay is about -6.
  577.  
  578. 5.4.5 You will have noticed by now that a BT (and/or Mercury) call
  579.       area/charge list is useful.    I wonder how many people never
  580.       give any thought to whether a long distance call is charged at
  581.       b or b1 rate on BT or m1/m2 on Mercury.    It's well worth
  582.       setting these correctly but as a guide :- most BT long distance
  583.       calls are made @b (except calls to London which are invariably
  584.       b1) and Mercury calls are normally @m1 unless the call is to a
  585.       smaller town (@m2).    There's quite a difference between BT b
  586.       & b1 rates but less with Mercury m1 & m2.
  587.  
  588.  
  589. 5.4.6 You can exit back to the terminal by pressing the <right mouse
  590.       button>.
  591.  
  592.  
  593. 5.5   The Macro Key Editor (FUNCTION KEYS) - {GOSUB editfns}
  594.  
  595. 5.5.1 To edit a macro key string, press the function key <F1...F8>
  596.       that you wish to edit and then edit the field using the
  597.       <Backspace> key and new characters.    Finally end the edit by
  598.       pressing the <Return> key.
  599.  
  600.  
  601. 5.5.2 To use a macro key, just press the appropriate function key
  602.       from the terminal screen.
  603.  
  604.  
  605. 5.6   The Automatic Program Run Slots (RUN PROGRAM)
  606.  
  607. 5.6.1 When you select the `RUN PROGRAM' button from the control
  608.       panel, you are presented with a number of slots that are used
  609.       to describe up to ten external programs that you might wish to
  610.       run from within KM_Term - {GOSUB autoruns}.    You can also
  611.       select and run a program that you don't wish to save into a
  612.       slot.
  613.  
  614.  
  615. 5.6.2 Clicking on a highlighted slot with the <left mouse button>
  616.       will run the appropriate program associated with that slot. Any
  617.       text in the description that follows a colon (:) will be passed
  618.       to the program as a command line.
  619.  
  620.  
  621. 5.6.3 To edit a slot :- type the number of the slot on the main
  622.       keyboard and edit it in a similar manner to the autodial slots
  623.       or macro keys.
  624.  
  625.  
  626. 5.6.4 The descriptions and program (pathname+filename)s are saved
  627.       when you use the `SAVE CONFIG' option from the control panel -
  628.       {GOSUB saveconfig}.
  629.  
  630.  
  631. 5.6.5 This is one of the more powerful facilities of KM_Term. This
  632.       allows access to all manner of useful utilities that can
  633.       enhance your work session.    A typical setup would include
  634.       access to all your archiving software, additional external
  635.       transfer protocols, text file viewers (perhaps with parameters
  636.       for the call-log file or KM_Term documentation), and any
  637.       software patches that you don't wish to run from an AUTO
  638.       folder.
  639.  
  640.  
  641.  
  642.  
  643. 6.0 Program Configuration & the KM_TERM.CFG File
  644.  
  645.  
  646. 6.1   KM_Term is supplied and will run without its configuration file
  647.       (KM_TERM.CFG).    However it is intended that in normal use it
  648.       will have access to one, so the first thing you should do on
  649.       your initial session with KM_Term is set your favourite
  650.       transfer protocol (Probably Zmodem or Ymodem), baud rate, and
  651.       RS232 protocols (usually 8 bit, 1 stop, no handshake, full
  652.       duplex for most BBS systems) and then use the `SAVE CONFIG'
  653.       option from the control panel.
  654.  
  655.  
  656. 6.2   Most of the parameters in this file can be changed from within
  657.       KM_Term but there are a few that can only be changed with a
  658.       text editor directly.
  659.  
  660.  
  661. 6.3   This config file system is incredibly robust; The KM_Term
  662.       defaults are all loaded from within the main program and then
  663.       overwritten if the KM_TERM.CFG file happens to have that
  664.       particular variable.    This means that you can change any
  665.       variable back to the default merely by deleting the line from
  666.       within this file and re-running KM_TERM.PRG.
  667.  
  668.  
  669. 6.4   All lines in the config file start `##>' where ## is the
  670.       variable identifier.    Any other lines are ignored.
  671.  
  672.  
  673. 6.5   A typical file is shown below with REMarks (an asterisk [*]
  674.       means that this variable can only be changed with a text
  675.       editor) :-
  676.  
  677.       REM  The function keys (macros)
  678.       F1>Kevin Millican
  679.       F2>Password
  680.       F3>Hello
  681.       F4>This is Kevin signing off now - thanks for chatting
  682.       ...F8>
  683.       REM  The Autodial Strings
  684.       D0>081 447 8244: Crystal Tower 2:440/25 @b1
  685.       D1>0225 840060 : Bath BBS @b
  686.       D2>0603 507216 : StarNet 2:254/405 @a
  687.       ...D9>
  688.       REM The Autorun Program Descriptions
  689.       A0>
  690.       A1>
  691.       A2>Archiving Shell
  692.        ...A9>
  693.       REM The Autorun Pathnames
  694.       R0>
  695.       R1>
  696.       R2>E:\ARCS\ARCSHELL.PRG
  697.       ...R9>
  698.       REM The Parameters
  699.       BU>-1   REM capture buffer ON (0=OFF)
  700.       BS> 100000   REM buffer size in bytes
  701.       BA> 4    REM baud rate (ST internal baud rate code numbers)
  702.       HA> 0    REM handshake
  703.     * ED>TEMPUS2.PRG  REM pathname for text editor
  704.     * XY>D:\XYZ\XYZ.TTP  REM pathname for xyz.ttp
  705.     * UP>D:\UPLOAD\   REM uploads path
  706.     * DN>D:\DOWNLOAD\  REM downloads path
  707.     * JE>D:\JEKYLL\JEKYLL.TTP  REM pathname for Jekyll or other
  708.                                    protocol
  709.       PA>N     REM parity
  710.       SB>1     REM number of stop bits
  711.       WD>8     REM word length (8 or 7 bits)
  712.       DU>-1    REM full duplex (0=half)
  713.       V2> 0    REM 1200 when set to 1200 (-1=1200/75)
  714.       PR>z     REM default xyz protocol (x,x1K,y,z)
  715.       PF>ATDP  REM dial prefix
  716.       HU>ATH0  REM hangup string
  717.       CO>+++   REM command mode string
  718.      * C1>&h0     REM panel colour
  719.      * C2>&h447   REM ditto
  720.      * C3>&h115   REM ditto
  721.      * C4>&h777   REM ditto
  722.       C5>    REM terminal colours
  723.       ...C8>    REM ditto
  724.       BW>W   REM black on white mode (B=inverse)
  725.     * HF>HI_RES.FNT   REM hires font1 (2 & 3 are fixed as HIRES2.FNT
  726.                           and HIRES3.FNT)
  727.     * MF>MED_RES.FNT  REM medium res screen font
  728.     * LG>-1   REM call logging ON (0=OFF)
  729.     * UN> 4.935   REM BT unit charge (incl. VAT)
  730.       DD> 15   REM dial delay for call timing
  731.     * M1>p12.46 s9.61 e4.25  REM Mercury rates @m1 (pence/min incl
  732.                                  VAT)
  733.     * M2>p12.93 s9.81 e4.64  REM ditto @m2
  734.     * M3>p11.40 s8.70 e2.88  REM ditto @m3
  735.     * M4>p11.63 s8.75 e2.94  REM ditto @m4
  736.       MY>131,,,ATDT ##########  REM Mercury access number
  737.     * T1>e220 s80 p57.5   REM time allowed on BT per unit @L
  738.                               (economy, standard, & peak)
  739.     * T2>e80.8 s36.15 p27   REM ditto @a
  740.     * T3>e37.95 s25.6 p19.2  REM ditto @b
  741.     * T4>e50.35 s32 p23.95  REM ditto @b1
  742.     * RD>5                  REM number of redials [New for 1.81]
  743.     * IN>                   REM init string for modem on startup
  744.     * TE>                   REM termination string for modem on exit
  745.  
  746. 6.6   The 1200 & 1200/75 baud rates require a bit more explanation as
  747.       follows:-
  748.  
  749.  
  750. 6.6.1 KM_Term does not directly support V23 (1200/75); to use it with
  751.       this speed you will need to run a public domain program called
  752.       V23EMU.TOS which patches the operating system.    The reason
  753.       why there is a V2> option in the KM_TERM.CFG file and a 1200/75
  754.       button on the control panel is to tell KM_Term to allow a bit
  755.       longer for the return of characters when input at the keyboard.
  756.  
  757.  
  758. 6.6.2 The documentation of V23EMU.TOS indicates that this shouldn't
  759.       be necessary, but then goes on to tell you not to type too fast
  760.       !    In practice this can be a problem and hence the
  761.       alternative selection.
  762.  
  763.  
  764. 6.6.3 The best place to run V23EMU.TOS is from a `RUN PROGRAM'
  765.       autorun slot so that it's always there when you need it.
  766.  
  767.  
  768. 6.6.4 When I was using V23, I found that there were problems when I'd
  769.       been using V23 and then switched to V21 (300/300) -
  770.       particularly with xyz.ttp.    I found it desirable to reboot
  771.       before using it at 300/300 but I don't know whether this is
  772.       peculiar to my system (TOS 1.4) or modem.    Suffice to say the
  773.       problem occurred with all terminal programs I tried with
  774.       V23EMU.TOS.
  775.  
  776.  
  777. 6.7   The upload & download paths are designed to work with all
  778.       xyz-style protocols even if they don't accept path parameters;
  779.       when xyz.ttp is run it is run as a path-specific program and
  780.       the default path is reset to that defined by UP> or DN>.    It
  781.       is therefore important to specify a path for XYZ.TTP.    This
  782.       is a significant change from versions 1.1 and 1.3 which
  783.       expected XYZ.TTP to be in the same directory as KM_TERM.PRG and
  784.       downloads to be directed to this area.
  785.  
  786.  
  787. 6.8   To get the most out of KM_Term it is important to give careful
  788.       consideration to the location of utilities and data files.    A
  789.       typical directory structure is shown below :-
  790.  
  791.  
  792.       \KM_TERM\גגגגגגגגגגגגגגגגגגגגגאגגג\UPLOAD\
  793.           ø                         ø      ø
  794.           ø                         ø      ø
  795.           ø                         ø   <Files for Upload>
  796.        KM_TERM.PRG                  ø
  797.        KM_TERM.CFG                  בגגג\DOWNLOAD\
  798.        TEMPUS.PRG (or other         ø      ø
  799.                   text editor)      ø      ø
  800.        XYZ.TTP                      ø   <Area for Downloaded Files>
  801.        <Text Files>                 ø
  802.                                     בגגג\JEKYLL\
  803.                                     ø      ø
  804.                                     ø      ø
  805.                                     ø   JEKYLL.TTP
  806.                                     ø   <+ all JEKYLL system files>
  807.                                     ø
  808.                                     בגגג\LOGON\
  809.                                     ø      ø
  810.                                     ø      ø
  811.                                     ø   <Autologon Files>
  812.                                     ø
  813.                                     ijגגג\ARCS\
  814.                                            ø
  815.                                            ø
  816.                                         <Archiving Utilities>
  817.  
  818.  
  819.       Apart from the requirement to have a `\LOGON\' directory within
  820.       the same directory as KM_TERM.PRG, the above diagram is only a
  821.       suggestion; there are many other different arrangements that
  822.       are as good (e.g. you may find it advantageous to have a
  823.       separate directory for your text editor, protocols such as
  824.       XYZ.TTP or other utilities).
  825.  
  826.  
  827.  
  828.  
  829. 7.0   VT100/ANSI Emulation
  830.  
  831.  
  832. 7.1   There is a lot of confusion as to what ANSI emulation actually
  833.       means; I've used terminal programs that claim to be
  834.       ANSI-compatible because they load an IBM font !
  835.  
  836.  
  837. 7.2   VT100 & ANSI codes from a BBS are [ESC] sequences followed by
  838.       an open square bracket, followed by one or more numerical
  839.       parameters, followed by a letter to indicate the type of action
  840.       required.
  841.  
  842.  
  843. 7.3   If you log on to a BBS that runs ANSI codes with a VT52 or
  844.       ASCII terminal emulator you will find that the menus are
  845.       covered in little sequences such as [33m, [0m, [K etc.
  846.       KM_Term intercepts all of these codes and converts most of
  847.       them to the equivalent VT52 sequence.    Any that aren't
  848.       specifically recognised are displayed in the top left corner of
  849.       the terminal display - {SUB showmod}.
  850.  
  851.  
  852. 7.4   In medium res, colour attribute codes are converted to select
  853.       one of the four VT52 colours displayed by the ST.    In mono
  854.       the same codes select one of the three fonts loaded and reverse
  855.       or normal text.    It's a little bit arbitrary but the effect
  856.       looks good.
  857.  
  858.  
  859. 7.5   You might wonder why I haven't aimed at a full ANSI emulation.
  860.       The reason for this is that (a.) the ST is not capable of
  861.       displaying more than 4 colours per scan line in medium res
  862.       anyway (without sacrificing a great deal of it's speed), and
  863.       (b.) the overall effect is not worth the massive increase in
  864.       program size that would be required - it looks quite pretty
  865.       enough already.
  866.  
  867.       In addition, I wanted KM_Term to run on any BBS with minimum
  868.       specific configuration.    To fully implement ANSI would
  869.       necessitate switching off VT52 ie. have an ANSI or VT52 button.
  870.       The aim of the partial VT100/ANSI emulations is to maximise
  871.       the display quality and minimise the hassle & program size.
  872.       In future releases I will tinker with the emulation but I doubt
  873.       if KM_Term will ever emulate ANSI as completely as some
  874.       dedicated ANSI terminal programs.
  875.  
  876.  
  877. 7.6   You will find that nearly all ANSI menus look fine and many
  878.       ANSI animations work correctly.    ANSI editors work up to a
  879.       point but don't allow you to move up or down with the cursor
  880.       keys (they do work with <Control-Key> combinations however).
  881.       I would improve this last feature if it weren't for the fact
  882.       that it's still quicker to edit files using your favourite
  883.       editor and upload the text using the <Alternate-T> command into
  884.       the BBS editor.    If anyone finds that the level of emulation
  885.       is not sufficient for their needs then let me know and I will
  886.       improve this area more rapidly.    However if your motivation
  887.       is merely that you want to be able to run all ANSI animations,
  888.       then just keep taking the tablets - sooner or later you'll
  889.       realise how pointless these really are !
  890.  
  891.  
  892. 7.7   You may notice that some BBSs pause with an `ANSI:6n' code
  893.       highlighted by {SUB showmod} in the top left of the screen.
  894.       This is a  request for the cursor location.    I don't know
  895.       a legal way to find out the position of the ST's VT52 cursor
  896.       (which IS different to the standard output cursor); if someone
  897.       does, then please let me know and I will make KM_Term respond
  898.       to this request in a later version.
  899.  
  900.  
  901.  
  902.  
  903. 8.0   Some Comments on the Program Design
  904.  
  905.  
  906. 8.1   Many terminal programs make claims to use their `own RS232
  907.       routines'.    At first sight this appears to be an attractive
  908.       improvement but I will always stay clear of this approach in
  909.       the development of KM_Term.    In order to make KM_Term as
  910.       compatible as possible with all ST variants, I have left it up
  911.       to the user to make use of any software patches necessary to
  912.       make their RS232 port function as desired.
  913.  
  914.       If I were to attempt e.g. RTS/CTS correction from within
  915.       KM_Term this would be difficult to ensure that it worked on all
  916.       systems (past & future).    You only have to look at the number
  917.       of serial port patch programs available for the different TOS
  918.       versions to realise that this is true !
  919.  
  920.       Similarly, if your serial port requires a software patch to
  921.       perform the way you wish with KM_Term then you will invariably
  922.       need this patch to remain operative with other utilities or
  923.       file protocols such as XYZ.
  924.       TTP.
  925.  
  926.  
  927. 8.2   It is my intention that KM_Term will never grow to be a
  928.       monstrous memory-hungry program that `requires 1MB minimum' -
  929.       if you have extra memory then it should be available to you for
  930.       extra utilities, RAM disks, JEKYLL etc.    I intend to keep the
  931.       clean screen approach and hide much of the programs power
  932.       beneath the surface, rather than advertising it by having
  933.       masses of complex dialogue boxes, option screens, buttons etc.
  934.       Much of the inspiration behind KM_Term was the excellent DTerm
  935.       program which is still a favourite amongst some comms users,
  936.       despite the availability of the technically-advanced FzDz.
  937.  
  938.  
  939. 8.3   KM_Term is unlikely to have built-in file transfer protocols;
  940.       you would have to go some way to improve on JEKYLL.TTP or
  941.       XYZ.TTP .    KM_Term is more than just a terminal program - it
  942.       is intended to be  a shell for linking your text editor, file
  943.       transfer protocols, QWK mailers, Archivers, & other comms
  944.       utilities together into a coherent system.    If you don't use
  945.       it in this way then you will miss out on the power behind the
  946.       program.
  947.  
  948.  
  949.  
  950.  
  951. 9.0   New to Comms ?
  952.  
  953.  
  954. 9.1   If you are a relative newcomer to communications then I have
  955.       prepared a few tips to ease you in:-
  956.  
  957.  
  958. 9.2   Setups :    Very few BBS systems require RS232 settings that
  959.       differ from the following;
  960.  
  961.       Full Duplex (The BBS will send characters back to you when
  962.       necessary so that you can see what you are typing - half duplex
  963.       is normally only required for person-to-person communications)
  964.  
  965.       8 Bit Words (Some BBS systems recommend 7 bits but these
  966.       normally highlight this when you connect.)
  967.  
  968.       1 Stop Bit
  969.  
  970.       No Parity
  971.  
  972.       No Handshaking (If you are using 300-2400 baud)
  973.  
  974.       RTS/CTS (If you are using high speed modems or error correction
  975.       such as MNP#.    To use this handshaking it will be necessary
  976.       to use a patch program with most versions of TOS)
  977.  
  978.       The baud rate should normally be the fastest supported by your
  979.       modem.
  980.  
  981.       If you are using a V21/V23 modem then use 300/300 (V21) if you
  982.       are going to upload anything or 1200/75 (V23) if you are
  983.       downloading or looking around a BBS.    NB:    Don't forget
  984.       that you still need to use V23EMU.TOS if you wish to use
  985.       KM_Term with V23 (1200/75) speeds.
  986.  
  987.  
  988. 9.3   Read and answer your mail off-line.    However fast (or slow)
  989.       your modem is , your activity on a BBS is what takes up most of
  990.       the time (read £££s !).    When you feel competent, then
  991.       install and use a QWK-mailer as much as you can.    To begin
  992.       with, however, read your mail on-line and then type
  993.       <Alternate-S> after logging off from a BBS to save the capture
  994.       buffer.    Then type <Alternate-E> to edit replies to any read
  995.       mail and save these with new filenames that allow you to locate
  996.       them easily next time you logon to that BBS.    Next time you
  997.       logon go to the `write message' facility (or whatever it is
  998.       called) start a message - eg. `Reply to message...'  - then use
  999.       the <Alternate-T>  command to upload the text file directly
  1000.       into the line editor of the BBS and save it using the
  1001.       appropriate BBS command.
  1002.  
  1003.       When uploading text directly into a line editor you should
  1004.       allow KM_Term to strip the linefeeds.    One other point ...
  1005.       when you edit a reply it is best to set the maximum line length
  1006.       to 70 or less to ensure that each line fits into the BBS
  1007.       editor.    Also bear in mind that many BBS line editors have a
  1008.       maximum number of lines that you can use.
  1009.  
  1010.  
  1011.  
  1012.  
  1013. 10.0  License Conditions & Disclaimer
  1014.  
  1015.  
  1016. 10.1  KM_Term is shareware; you are free to copy the program to your
  1017.       friends, PD libraries, BBS systems provided that you include
  1018.       all the original documentation and do not tamper with it in any
  1019.       way.    This does not include the source code which is only
  1020.       available to registered users.    It does not include any
  1021.       beta-test versions that I have given you to try out either (I
  1022.       don't wish undebugged versions to be widely available for
  1023.       obvious reasons).
  1024.  
  1025.  
  1026. 10.2  You may use KM_Term for 1 calendar month to evaluate it's
  1027.       functions and whether it meets your requirements.    After this
  1028.       time you must register if you wish to continue using the
  1029.       program.    There are two levels of registration :-
  1030.  
  1031.       1. For 5 pounds Sterling, you buy a license to use any
  1032.       shareware version of the program without further payment.    I
  1033.       will also offer answers to queries via the KM_Term support
  1034.       message area (currently at StarNet BBS - 0603 507216 or,
  1035.       System ST - 0533 413443).
  1036.  
  1037.       2. For 10 pounds Sterling you buy the same licence as in level
  1038.       1 above, but in return I will send you a disk with the latest
  1039.       version (and any beta-test variants) plus the source code, a
  1040.       few other PD/shareware comms programs with their original
  1041.       docs., and a printed manual for the latest version.
  1042.  
  1043.       Updated versions, ie. new release versions which become
  1044.       available, will be available from myself for 2 pounds Sterling
  1045.       (to cover the cost of the disk + postage) or through normal
  1046.       BBS/PD channels.    The upgrade manual will be supplied in
  1047.       Write-On/That's Write format (and ASCII format on the disk) as
  1048.       a `changes to version....' file.
  1049.  
  1050.  
  1051. 10.3  You can alter the source code and re-compile the program for
  1052.       your own requirements provided that you do not release it in
  1053.       any form without my agreement in writing.    If you feel your
  1054.       modifications are valuable to other users, then I will give you
  1055.       a release version number that is unique and a format for adding
  1056.       to the documentation that makes it clear that the major part of
  1057.       the source code belongs to me.    If anyone registers your
  1058.       release version with me then I will forward an agreed
  1059.       percentage to you.
  1060.  
  1061.  
  1062. 10.4  KM_Term is supplied without warranty; any loss of data, damage
  1063.       to equipment, or any losses whatsoever attributable in whole or
  1064.       part to KM_Term are your responsibility.    By using KM_Term,
  1065.       you are agreeing to these conditions of use.
  1066.  
  1067.  
  1068. 11.0  More About Recording & Using Autologon Sequences
  1069.  
  1070.  
  1071. 11.1 A step-by-step guide to recording a sequence:-
  1072.  
  1073.       a. Set the RS232 parameters to the required settings for the
  1074.       BBS you wish to call.
  1075.  
  1076.       b. Press <Shift-F1>.
  1077.  
  1078.       c. Enter the desired filename for the sequence in the
  1079.       fileselector and press <Return> or the <left mouse button>.
  1080.  
  1081.       d. If you always wish to use the currently active RS232
  1082.       settings with that BBS then press <Shift-F10> to register them
  1083.       in the autologon file.
  1084.  
  1085.       e. Pull up the control panel and go into the autodialler.
  1086.  
  1087.       f. Click on the appropriate BBS number with the <left mouse
  1088.       button> to autodial it.
  1089.  
  1090.       g. Once you have connected, repeat the following steps until
  1091.       you have reached the position where you want to complete the
  1092.       sequence.
  1093.  
  1094.       g1. Every time the BBS pauses and waits for some kind of
  1095.       response from you, wait a minimum of 0.2 seconds and then press
  1096.       <Shift-F3>.    This registers the BBS text that KM_Term will
  1097.       wait for before continuing the sequence.
  1098.  
  1099.       g2. Then enter the required response, (followed by <Return>
  1100.       where necessary).
  1101.  
  1102.       h. When you have reached the final point in the desired
  1103.       sequence then press <Shift-F2> to close the autologon sequence
  1104.       file.
  1105.  
  1106.  
  1107. 11.2  It is important to note that any time XYZ.TTP is used during
  1108.       recording, the transfer parameters are also recorded.    This
  1109.       makes it possible to set up autologon files that logon, go to
  1110.       the required BBS menu, download or upload mail using XYZ.TTP,
  1111.       and logoff without user intervention.
  1112.  
  1113.  
  1114. 11.3  When playing back a sequence using <Alternate-A>, the user can
  1115.       still type in responses where desired. This means that if you
  1116.       get an unexpected request from the BBS, you can still respond
  1117.       on the keyboard. Once you get to the point expected by the
  1118.       autologon sequence, KM_Term will continue with the sequence as
  1119.       usual.    You can cancel the sequence at any time by pressing
  1120.       <Esc>.
  1121.  
  1122.  
  1123. 11.4  Autologon sequences can be edited if desired using a text
  1124.       editor provided that the editor allows special characters such
  1125.       as [CR] and [ESC] to be seen on screen.    The format is very
  1126.       simple; `SE>' precedes any characters sent by the terminal and
  1127.       `RE>' signifies any BBS characters to wait for (string must be
  1128.       1 to 10 characters long).    All [CR] codes must have their own
  1129.       `SE>' command.
  1130.  
  1131.  
  1132. 12.0  HOST mode (the KM_Term mini BBS system)
  1133.  
  1134.  
  1135. 12.1  If you are using a Hayes-compatible modem which is set to
  1136.       auto-answer (register S0>0) and verbose messages are active
  1137.       (i.e. you get `CONNECT ####' messages) then KM_Term will enter
  1138.       HOST mode when a `CONNECT' message is received.    Actually
  1139.       KM_Term looks for the string `NECT' in the last ten characters
  1140.       of the capture buffer.    This mode can also be enabled &
  1141.       disabled by pressing the <Insert> key at any time.
  1142.  
  1143.  
  1144. 12.2  In HOST mode, KM_Term will echo back any received characters to
  1145.       the remote modem (i.e. like a message editor in a BBS) and
  1146.       operate in half-duplex mode at the local modem (i.e. you will
  1147.       be able to see what you are typing even though the remote modem
  1148.       is not echoing your characters back to you).
  1149.  
  1150.  
  1151. 12.3  HOST mode allows simple connection between two terminal users
  1152.       without manually selecting any different settings to those used
  1153.        to call BBS systems etc.    The two terminals are continually
  1154.       in `CHAT'  mode but it is not a split screen so care has to be
  1155.       taken not to type at the same time.    A good practice to
  1156.       follow is to press a double [CR] when you have finished typing
  1157.       so that the person at the other end knows that you have
  1158.       finished.
  1159.  
  1160.  
  1161. 12.4  The capture buffer will record anything typed by the remote
  1162.       modem, so the other user can simply type or ASCII-send any
  1163.       messages they want to you (and vice-versa).
  1164.  
  1165.  
  1166. 12.5  If the remote user types `*MENU' a file MENU.TXT will be sent
  1167.       to them.    This file contains a description of the HOST mode
  1168.       commands that they can use and it can be customised to the
  1169.       users preference.
  1170.  
  1171.  
  1172. 12.6  Similarly if they type `*READ' followed by a [CR] a file
  1173.       READLIST.TXT is sent.
  1174.  
  1175.  
  1176. 12.7  If they type `*READ#' where `#' is a number 0-9, a file #.TXT
  1177.       will be sent.
  1178.  
  1179.  
  1180. 12.8  Using these simple ASCII files (which should be located in the
  1181.       same directory as KM_TERM.PRG) you can set up a bulletin menu
  1182.       (READLIST.TXT) with up to ten messages (1.TXT, 2.TXT, etc.).
  1183.  
  1184.  
  1185. 12.9  By typing `*JEK' the other modem user can call up your JEKYLL
  1186.       connection, this will allow easier chat and also two-way file
  1187.       transfers depending on your Jekyll configuration.
  1188.  
  1189.  
  1190. 12.10 The remote modem user can finish the connection by typing
  1191.       `*BYE' to logoff gracefully.
  1192.  
  1193.  
  1194. 12.11 I wrote this  function to enable me to leave KM_Term unattended
  1195.       but allow friends to connect and upload messages & files and
  1196.       read messages or download files from me, even when I'm not
  1197.       around.    This offers a kind of miniBBS facility without the
  1198.       considerable hassle of setting up a full BBS system.
  1199.  
  1200.  
  1201. 13.0  OTHER NEW FEATURES IN v1.81 :-
  1202.  
  1203. 13.1  Had some comments back from a registered user regarding loss of
  1204.       some screen characters at 9600 baud. If you are using KM_Term
  1205.       at speeds in excess of 2400 baud it is wise to use a serial
  1206.       RTS/CTS patch program and RTS/CTS flow control switched ON.
  1207.       Nevertheless in the interests of continually upgrading KM_Term,
  1208.       I have tweaked the RS232 input routines to dramatically
  1209.       increase the screen handling at high speed, particularly when
  1210.       receiving standard ASCII or VT52 menu data.
  1211.  
  1212.  
  1213. 13.2  The screen display will now nearly keep up with 9600 baud
  1214.       (970cps) input RS232 ASCII data without ANY handshaking,
  1215.       provided that a screen accelerator such as QuickST is used.
  1216.       It's still a good idea to use proper RTS/CTS handshaking at
  1217.       high speed however, particularly if you are viewing complex
  1218.       ANSI screens at 9600 baud or higher.
  1219.  
  1220.       With QuickST3 installed, KM_Term now handles 19200 baud
  1221.       ASCII/VT52 incoming text faster than any other ST terminal
  1222.       program that I know of (with the same screen accelerator
  1223.       installed obviously).
  1224.  
  1225. 13.3  I also observed some minor improvement by increasing the RS232
  1226.       buffer size. Many terminal programs seem to make up for slow
  1227.       screen handling by having a larger buffer; If anyone is
  1228.       interested I will incorporate this as a feature in a later
  1229.       version.
  1230.  
  1231.  
  1232. 13.4  When exiting the program using the <Undo> key, you are given
  1233.       the option of saving the capture buffer in case you forget.
  1234.  
  1235.  
  1236. 13.5  The capture buffer overflow recognition has been improved.
  1237.  
  1238.  
  1239. 13.6  Mercury & BT call logs are now saved separately, and the
  1240.       information displayed after a call is increased accordingly.
  1241.  
  1242.  
  1243. 13.7  KM_Term 1.73 now automatically recognises when a zmodem
  1244.       transfer is initiated and calls XYZ.TTP with the '-d -z'
  1245.       parameters to download a file. If you have included a zmodem
  1246.       download in an autologon file it will be necessary to remove
  1247.       it otherwise XYZ.TTP may be called twice. All other protocols
  1248.       are unaffected.
  1249.  
  1250.  
  1251. 13.8  The 0.5 second delay that KM_Term uses to detect the last 10
  1252.       characters in the capture buffer has been reduced to 0.2
  1253.       seconds. This speeds up autologons slightly but more
  1254.       importantly it allows KM_Term to detect zmodem start sequences.
  1255.  
  1256.  
  1257. 13.9  The program error handling has been improved significantly.
  1258.  
  1259.  
  1260. 13.10 If you hold down the shift key or control key when positioning
  1261.       the cursor using the left mouse button then the new coordinates
  1262.       are sent to the remote modem in VT52 or ANSI format
  1263.       respectively.
  1264.  
  1265.  
  1266. 13.11 KM_Term now responds to the ANSI request for the cursor
  1267.       position. For this to work I've had to peek the memory for the
  1268.       ST's VT52 coordinates but the program searches for these memory
  1269.       positions at startup so it should work with all TOS versions -
  1270.       let me know if you get any messages to the contrary.
  1271.  
  1272.  
  1273. 13.12 KM_Term now has auto-redial.
  1274.  
  1275.  
  1276. 13.13 KM_Term now has access to GEM accessories.
  1277.  
  1278.  
  1279. 13.14 The terminal can now send an initialise string on startup and a
  1280.       termination string on exit. Put the strings after the commands
  1281.       IN> and TE> respectively in the KM_TERM.CFG file.
  1282.  
  1283. END OF FILE
  1284. ---------------------------------------------------------------------
  1285.