home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / flxpac26 / flexpac.brw < prev    next >
Encoding:
Text File  |  1991-01-27  |  79.0 KB  |  2,945 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. FLEXPAC - A Packet Terminal Program For
  24. Use With the PacketCluster(tm)
  25.  
  26. Author:                  Bob Seidel ND2O
  27.  
  28. Distribution Manager:    Tom Lindtveit N2GQS
  29.  
  30. Program Version:         2.6d (Document Revised 1/27/91)
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                           FLEXPAC User`s Guide
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. PREFACE
  70.  
  71.  
  72.  
  73.  
  74.  
  75. This is the User's Guide for FLEXPAC.  FLEXPAC is a program for the IBM
  76. PC and compatibles which enhances use of the PacketCluster(tm)1 program.
  77. FLEXPAC also can be used as a general purpose packet terminal program
  78. and provides enhanced function in both situations.
  79.  
  80. Note: FLEXPAC has no connection with Pavillion Software; FLEXPAC uses no
  81. Pavillion products, nor are Pavillion products used, modified, or
  82. distributed in any way.  The FLEXPAC software merely interfaces with
  83. PacketCluster in the way a normal user would, except that it automates
  84. that process in some areas.
  85.  
  86. DISCLAIMER: The FLEXPAC program and its ancillary support programs can
  87. be freely distributed and used for any noncommercial purpose.  However,
  88. there are no warranties or guarantees of any kind implied or expressed.
  89. The user is responsible in full for all implications of the usage and
  90. installation of the program.  The author and other persons associated
  91. with the development of the program shall not be liable for any damages
  92. directly or indirectly resulting from the installation and/or use of
  93. these programs.
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. ----------------
  122. 1  PacketCluster (c)opyright Pavillion Software
  123.  
  124.  
  125.                           FLEXPAC User`s Guide                         2
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. TABLE OF CONTENTS
  134.  
  135.  
  136.  
  137.  
  138.  
  139. Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  140.  
  141. List of Illustrations . . . . . . . . . . . . . . . . . . . . . . . .  4
  142.  
  143. User Registration and Program Distribution  . . . . . . . . . . . . .  1
  144.  
  145. Smart Operator  . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  146.  
  147. Main Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  148. Buffered Terminal Program . . . . . . . . . . . . . . . . . . . . . .  3
  149. Screen Capture  . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  150. DX Spot Monitoring  . . . . . . . . . . . . . . . . . . . . . . . . .  4
  151. Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
  152. Enhancements to Talk Mode . . . . . . . . . . . . . . . . . . . . . .  4
  153. Connect Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  154. Function Key Definition . . . . . . . . . . . . . . . . . . . . . . .  5
  155. Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  156. Scroll Back Buffer  . . . . . . . . . . . . . . . . . . . . . . . . .  5
  157. Pull Down Menus . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
  158.  
  159. Installation and Usage  . . . . . . . . . . . . . . . . . . . . . . .  7
  160. System Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  7
  161.   Cable Requirements  . . . . . . . . . . . . . . . . . . . . . . . .  7
  162.   Using A Monochrome Display  . . . . . . . . . . . . . . . . . . . .  8
  163. Installation  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  164. Invocation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  165. What If It Doesn't Run  . . . . . . . . . . . . . . . . . . . . . . .  9
  166. Customizing Your Screen Colors, Windows, Other Options  . . . . . . . 10
  167.  
  168. The Control File  . . . . . . . . . . . . . . . . . . . . . . . . . . 12
  169. Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
  170. How Scripts Are Processed . . . . . . . . . . . . . . . . . . . . . . 12
  171.   Aborting A WAIT or A Script . . . . . . . . . . . . . . . . . . . . 13
  172. Function Key and Bottom Line Definition . . . . . . . . . . . . . . . 13
  173.   Alt and Ctrl F Key Definitions  . . . . . . . . . . . . . . . . . . 14
  174. Telling FLEXPAC Who You Are . . . . . . . . . . . . . . . . . . . . . 15
  175. DX Spot Logging Commands  . . . . . . . . . . . . . . . . . . . . . . 15
  176. Comments In The FLEXPAC.CTL File  . . . . . . . . . . . . . . . . . . 15
  177. Flow Control  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
  178. Writing To The Screen . . . . . . . . . . . . . . . . . . . . . . . . 17
  179. The Clock and Timing Commands . . . . . . . . . . . . . . . . . . . . 17
  180. Bells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
  181. Miscellaneous Commands  . . . . . . . . . . . . . . . . . . . . . . . 18
  182.  
  183. Pull Down Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
  184. Getting the Menu  . . . . . . . . . . . . . . . . . . . . . . . . . . 20
  185. Using The Menu  . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
  186.   The Primary Selection Menu  . . . . . . . . . . . . . . . . . . . . 21
  187.  
  188.  
  189.                           FLEXPAC User`s Guide                         3
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.   The Secondary Menus . . . . . . . . . . . . . . . . . . . . . . . . 21
  198.   Selecting Entries . . . . . . . . . . . . . . . . . . . . . . . . . 21
  199.   Changing Entries  . . . . . . . . . . . . . . . . . . . . . . . . . 21
  200.   Ending The Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 22
  201. Menu Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
  202.   The Switches Menu . . . . . . . . . . . . . . . . . . . . . . . . . 22
  203.   The Identify Menu . . . . . . . . . . . . . . . . . . . . . . . . . 22
  204.   The Identify Menu . . . . . . . . . . . . . . . . . . . . . . . . . 23
  205.  
  206. About The Screen, Windows, Switching, and Screen Capture  . . . . . . 24
  207. The Screen and Windows  . . . . . . . . . . . . . . . . . . . . . . . 24
  208.   The Scroll Back Buffers . . . . . . . . . . . . . . . . . . . . . . 25
  209.   Notes On Window and Stream Switching  . . . . . . . . . . . . . . . 26
  210. Keying  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  211.   The Retrieve Function . . . . . . . . . . . . . . . . . . . . . . . 27
  212.   Entering Control Codes or other Non-ASCII Text  . . . . . . . . . . 28
  213. Switching Windows and Streams . . . . . . . . . . . . . . . . . . . . 28
  214. Sending A File or Message . . . . . . . . . . . . . . . . . . . . . . 29
  215. Screen Capture  . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
  216.  
  217. COM Port Errors and Adjustments . . . . . . . . . . . . . . . . . . . 31
  218. How To Determine Com Port Problems  . . . . . . . . . . . . . . . . . 31
  219. What To Do About Com Problems . . . . . . . . . . . . . . . . . . . . 32
  220.  
  221. Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
  222. Parameter Substitution In Scripts . . . . . . . . . . . . . . . . . . 34
  223.  
  224. Reference Material  . . . . . . . . . . . . . . . . . . . . . . . . . 36
  225. @ Command Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 36
  226. Commands Requiring Connection to the PacketCluster  . . . . . . . . . 39
  227.  
  228. Listing of Enhancements Between Versions  . . . . . . . . . . . . . . 40
  229. 2.3 to 2.4  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
  230. 2.4 to 2.5  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
  231. 2.5 to 2.6  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.                           FLEXPAC User`s Guide                         4
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261. LIST OF ILLUSTRATIONS
  262.  
  263.  
  264.  
  265.  
  266.  
  267. Figure 1.  Example of F Key Definitions . . . . . . . . . . . . . . . 14
  268. Figure 2.  Example of Identifying Commands  . . . . . . . . . . . . . 15
  269. Figure 3.  Typical Menu Display . . . . . . . . . . . . . . . . . . . 20
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.                           FLEXPAC User`s Guide                         5
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325. USER REGISTRATION AND PROGRAM DISTRIBUTION
  326.  
  327.  
  328.  
  329. FLEXPAC is distributed as Shareware.  Shareware is software that is
  330. freely distributed without charge.  (Please note that although it is
  331. distributed in this manner, it is NOT in the public domain and the
  332. author retains his copyright rights.)  As Shareware, you can get FLEXPAC
  333. from a friend, use it freely, and distribute it to others.
  334.  
  335. If you like and use the program, and wish to support the development of
  336. good, inexpensive software, please send a small registration fee of $15
  337. to
  338.  
  339.   Tom Lindtveit N2GQS
  340.   RD 1 Box 392C
  341.   West Hurley, NY 12491 USA
  342.  
  343. In return, you will receive the latest copy of the program on diskette.
  344. You also will receive notice of fixes and enhancements.  Be sure to
  345. include your CALL and whether you want 360K/5.25" or 720K/3.25"
  346. diskettes.
  347.  
  348. If you are not a registered user of FLEXPAC, you may still use it but
  349. you will occasionally get a small reminder written on your screen
  350. reminding you about Shareware.  When you register, you will be given a
  351. code based on your CALL; using the same procedure that is used to change
  352. colors and the screen window arrangement, you can then customize your
  353. version of FLEXPAC so that the reminder does not appear.
  354.  
  355. Refer to section "Customizing Your Screen Colors, Windows, Other
  356. Options" on page 10 for more information on this customization process.
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.                User Registration and Program Distribution              1
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389. SMART OPERATOR
  390.  
  391.  
  392.  
  393. FLEXPAC can be described as a Smart Operator.  Its basic function is as
  394. a normal TNC terminal program  - it sends and receives RS-232 (com port)
  395. data to and from your TNC.  It provides improved ease of use in things
  396. such as retrieving prior typed lines, screen window control, etc., but
  397. this user interface improvement was not the main reason for creating the
  398. program.
  399.  
  400. FLEXPAC can automate many of the normally manual processes that you
  401. would do on the PacketCluster.  Among its many "Smart Operator"
  402. functions are:
  403.  
  404. o   logging of DX spots to printer or special DX window, eliminating DX
  405.     spots from the main window
  406.  
  407. o   eliminates the alarm on TO ALL messages
  408.  
  409. o   user defined scripts that can automatically process logon, logoff,
  410.     and other complex functions;  this includes a WAIT function so that
  411.     you can synchronize your script to the system you are connected to
  412.  
  413. o   the ability to schedule an event at a future time
  414.  
  415. o   user function key definition
  416.  
  417. o   capture of received data to a disk file
  418.  
  419. o   calls you by an alarm when someone initiates TALK mode to you
  420.  
  421. o   separate B stream window allows multiple connects
  422.  
  423. o   enhanced editing of what you type, including automatic word wrap
  424.     power typing
  425.  
  426. Also to be noted are its small size, which makes it possible to run
  427. FLEXPAC in a multitasking environment such as DoubleDOS(tm) or
  428. DesqView(tm)2.
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440. ----------------
  441. 2  DoubleDOS (c)opyright SoftLogic Solutions; DesqView (c)opyright
  442.    Quarterdeck Systems
  443.  
  444.  
  445.                              Smart Operator                            2
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453. MAIN FUNCTIONS
  454.  
  455.  
  456.  
  457. Before we get into details, let's just look at a high level description
  458. of how the program operates.  This section will describe the main
  459. features, and will refer to commands described in detail in "The Control
  460. File" on page 12.
  461.  
  462.  
  463.  
  464. BUFFERED TERMINAL PROGRAM
  465.  
  466.  
  467. FLEXPAC functions as a normal terminal program - that is, it interfaces
  468. between you and the TNC.  You can type on the input line and your text
  469. will be sent to the TNC.  Data received from the TNC will be displayed
  470. on the screen.  OK, so what's so special?
  471.  
  472. FLEXPAC provides both input and output line buffering.  FLEXPAC does not
  473. send each keystroke that you type directly to the TNC.  You type into a
  474. separate input area so that you can correct mistakes, retrieve
  475. previously entered text, use predefined function keys, and enter FLEXPAC
  476. commands that do NOT go to the TNC.  Only when you press Enter is your
  477. input sent to the TNC (or processed, if it is a FLEXPAC command).
  478.  
  479. Power typing with word wrap is available.  This feature is useful if you
  480. are sending a note, or in Talk mode.  When in this mode, you can type to
  481. the end of the input line and keep on typing - the line is automatically
  482. split at the last space and sent out just as if you had hit Enter.  You
  483. then continue where you left off, with the remaining text now at the
  484. beginning of the text line.
  485.  
  486. When data is received, it is not displayed character by character as
  487. received.  It is buffered until a complete line is found; only then is
  488. the line written to the screen.
  489.  
  490. The result of this buffering on both input and output is that the screen
  491. appears more stable - you aren't sitting there waiting for lines to
  492. scroll across the screen.  You also can never mix input and output on
  493. the same screen line, and you can type ahead and compose your next
  494. message or response without screwing up the screen display.
  495.  
  496. To make the input vs. output more noticeable, they appear as different
  497. colors on the screen.
  498.  
  499.  
  500.  
  501. SCREEN CAPTURE
  502.  
  503.  
  504. You can specify that the data from a window be placed into a disk(ette)
  505. file - this is called Capture and is controlled by the @CAPTURE command.
  506. Each stream window can have its own capture to a separate file and are
  507.  
  508.  
  509.                              Main Functions                            3
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517. independent of each other.
  518.  
  519.  
  520.  
  521. DX SPOT MONITORING
  522.  
  523.  
  524. Most users of the PacketCluster are probably interested in working DX
  525. and thus getting the DX and WWV spots and information. There may be
  526. times that you do NOT want that information (perhaps you are just
  527. monitoring the PacketCluster), or perhaps you want the DX spots logged
  528. to the printer, so you can easily look at them later.
  529.  
  530. FLEXPAC monitors the data from the TNC for you - if it sees what it
  531. thinks is a DX spot or WWV announcement, it will route it where you have
  532. indicated (either the DX window, the printer or the bit bucket).  See
  533. the @DX function in section "DX Spot Logging Commands" on page 15 for
  534. details.
  535.  
  536.  
  537.  
  538. WINDOWS
  539.  
  540.  
  541. FLEXPAC allows you to have up to 3 receive windows on the screen. The
  542. windows appear and disappear dynamically, based on what you are doing.
  543. The main window is the standard A stream window, but also possible are a
  544. separate B stream window, and a DX window.  Refer to "The Screen and
  545. Windows" on page 24 for more details on window usage.
  546.  
  547.  
  548.  
  549. ENHANCEMENTS TO TALK MODE
  550.  
  551.  
  552. How often have you tried to TALK to someone and waited for a long time
  553. because that person was not there? FLEXPAC improves that situation by
  554. providing a service that summons you whenever someone enters talk mode
  555. to you.  It works like this:
  556.  
  557. 1.  station W2XYZ enters the command TALK N1ABC (N1ABC is, of course,
  558.     running FLEXPAC and has the Talk Monitor feature enabled)
  559.  
  560. 2.  FLEXPAC at N1ABC sees the talk message issued by PacketCluster and
  561.     if N1ABC has @TALKMONITOR ON:
  562.  
  563.     a.  automatically sends a message back to W2XYZ: "Hello W2XYZ, I
  564.         will call <your-name> - please wait."
  565.     b.  sounds a double toned alarm using the PC speaker
  566.     c.  if N1ABC does not answer (answer meaning press any key on the
  567.         keyboard), every 30 seconds an additional status message is sent
  568.         to W2XYZ
  569.  
  570.     or, if N1ABC has @TALKMONITOR OFF:
  571.  
  572.  
  573.                              Main Functions                            4
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.     a.  autoamtically sends a message back to W2XYZ: "Hello W2XYZ,
  582.         <your-name> is not here - try again later."
  583.  
  584. 3.  If N1ABC never answers, all that W2XYZ has to do is to stop TALK by
  585.     issuing the /EXIT command to PacketCluster - FLEXPAC detects that
  586.     and stops sounding the alarm
  587.  
  588.  
  589.  
  590. CONNECT ALARM
  591.  
  592.  
  593. How often have you missed someone connecting to you because you are
  594. temporarily away from your PC?  The Connect Alarm function can help you
  595. here.  The Connect Alarm will sound a special tone whenever a connection
  596. is made to your system (any stream).  The alarm will continue to sound
  597. until you press any key, or until a DISCONNECT occurs.  Use the
  598. @CONNECTALARM (or @CA) command to control this alarm - the default is
  599. ON.
  600.  
  601.  
  602.  
  603. FUNCTION KEY DEFINITION
  604.  
  605.  
  606. FLEXPAC allows you to define your function ("F") keys.  You can define
  607. them to be any text or data, or special control functions such as
  608. executing a script.   You also can specify the content of the bottom
  609. line of the screen (usually used to display F key usage).
  610.  
  611. In addition, you can specify whether the action is immediately taken, or
  612. just have the text put in the key line for further modification.  Do
  613. this by ending the definition string with a slash (/) character.
  614.  
  615.  
  616.  
  617. SCRIPTS
  618.  
  619.  
  620. FLEXPAC lets you define multiple line scripts - for logon, logoff, or
  621. whatever purpose you need.  See the supplied SAMPLE.CTL file for
  622. examples.  A unique component of this facility is the WAIT function,
  623. which pauses execution of the script until the TNC sends a specific
  624. phrase.
  625.  
  626.  
  627.  
  628. SCROLL BACK BUFFER
  629.  
  630.  
  631. FLEXPAC incorporates a full scroll back buffer implementation for each
  632. window.  See section "The Scroll Back Buffers" on page 25 for further
  633. details.
  634.  
  635.  
  636.  
  637.                              Main Functions                            5
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645. PULL DOWN MENUS
  646.  
  647.  
  648. Many of the FLEXPAC functions can be controlled either through commands
  649. or by using a pull down menu system.  Refer to section "Pull Down
  650. Menus" on page 20 for more information.
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.                              Main Functions                            6
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709. INSTALLATION AND USAGE
  710.  
  711.  
  712.  
  713. SYSTEM REQUIREMENTS
  714.  
  715.  
  716. o   IBM PC, PC Jr, PC Convertible, PS/2 or compatible.
  717.  
  718. o   PC DOS 2.1 or later (PC DOS 3.0 or later required for DOS subset
  719.     feature)
  720.  
  721. o   256K RAM
  722.  
  723. o   architected serial port (COM1 or COM2)
  724.  
  725. o   color graphics adapter (CGA, EGA, VGA, PC Jr, or PC Convertible are
  726.     OK; IBM MDA (original Monochrome Display Adapter NOT usable).
  727.  
  728. o   color display (preferred; monochrome display on color adapter can be
  729.     used)
  730.  
  731. o   TNC-2 like TNC
  732.  
  733. o   TNC cable for hardware handshaking (see "Cable Requirements" on page
  734.     7)
  735.  
  736.  
  737.  
  738. Cable Requirements
  739.  
  740.  
  741. FLEXPAC uses hardware handshaking between your computer's COM port and
  742. the TNC.  This means that the program can signal to the TNC that it
  743. cannot accept any more data.  When the program can accept new data, it
  744. signals the TNC to resume transmitting. In order to implement hardware
  745. handshaking, you must have the proper wires in the cable that you use.
  746. Specifically Request-To-Send and Clear-To-Send (pins 4 and 5) are used,
  747. in addition to Data-Set-Ready (pin 6).  (Note: these pin numbers are for
  748. the normal DB-25 25 pin connector; other connectors may differ.)  When
  749. buying a cable, you want an RS-232 cable that has at least 8 or 9 wires.
  750.  
  751. To summarize, these are the pins used by FLEXPAC:
  752.  
  753.   DB-25 Pin     Meaning
  754.   ------------  -----------------
  755.   1,7           Ground
  756.   2,3           Transmit,/Receive Data
  757.   4.5           Request-To-Send,Clear-To-Send
  758.   6             Data Set Ready
  759.  
  760. In addition, your modem might require pin 20 (Data Terminal Ready),
  761. which FLEXPAC turns on.
  762.  
  763.  
  764.  
  765.                          Installation and Usage                        7
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773. If you do not have the proper cable, you will notice errors on received
  774. data, and the error counters displayed at the end of the run will not be
  775. zero.  This situation should be corrected if present.
  776.  
  777.  
  778.  
  779. Using A Monochrome Display
  780.  
  781.  
  782. FLEXPAC uses many colors on the screen.  If you are using a monochrome
  783. monitor and having trouble seeing all the fields, enter the DOS command
  784. 'MODE BW80' before starting the program.
  785.  
  786.  
  787.  
  788. INSTALLATION
  789.  
  790.  
  791. Installation entails two steps.  First, copy all files from the
  792. distribution diskette to a subdirectory on your hard drive (or to a
  793. working diskette if you have a diskette system).  These files are:
  794.  
  795. FLEXPAC.EXE    the main program file
  796.  
  797. FLEXPAC.BRW    this documentation, in online browse format
  798.  
  799. FLEXPAC.PRT    this documentation, in printable format (has standard IBM
  800.                printer control codes)
  801.  
  802. SAMPLE.CTL     a sample control file
  803.  
  804. FLEXCUST.EXE   the program that allows you to select your own screen
  805.                color combinations and to specify window sizes
  806.  
  807. FLEXCUST.PRO   a data file used by FLEXCUST.EXE
  808.  
  809. Secondly, you have to customize the control file to your system and
  810. requirements.  START BY COPYING OR RENAMING THE SAMPLE FILE SAMPLE.CTL
  811. TO FLEXPAC.CTL.  Go through the file, changing all occurrences of
  812. <yourcall> to your call, and <K5NA to your PacketCluster node call.
  813. This may be all that you have to do, but unfortunately due the diversity
  814. of TNCs, there is just no "quick start".  You will have to read the
  815. following chapters to understand the program and then look through the
  816. FLEXPAC.CTL file for commands that are not correct for your TNC or
  817. PacketCluster node and change them.
  818.  
  819.  
  820.  
  821. INVOCATION
  822.  
  823.  
  824. To start up FLEXPAC, use the command:
  825.  
  826.   FLEXPAC. [initial-procedure] [options]
  827.  
  828.  
  829.                          Installation and Usage                        8
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837. All parameters are optional.  If you specify an initial procedure, that
  838. is the name of the script to be executed at start-up.  See "Scripts" on
  839. page 12 for details.  The default startup procedure is "INIT".
  840.  
  841. There are some optional parameters you may need; they are:
  842.  
  843. /TNC=COMx       sets the COM port to COM1 (default) or COM2 - replace x
  844.                 with the proper number
  845.  
  846. /baud=xxxx      sets the PC to TNC baud rate - acceptable values for
  847.                 xxxx are 1200, 2400, 4800, 9600
  848.  
  849. /restart        used when already connected; bypasses the default script
  850.                 (INIT) invocation
  851.  
  852. /tncsetup       enters a special TNC SETUP mode prior to starting the
  853.                 run; used for special TNC initialization or AUTOBAUD
  854.                 setup; see 3 on page 9 for more information
  855.  
  856. /comdelay=n     sets the delay used when temporarily disabling the
  857.                 communications port - see "COM Port Errors and
  858.                 Adjustments" on page 31 for more information
  859.  
  860.  
  861.  
  862. WHAT IF IT DOESN'T RUN
  863.  
  864.  
  865. If the program does not come up at all (i.e., does not clear and format
  866. the screen as described) please report the problem.  If the screen does
  867. come up, but you cannot communicate with your TNC, check the following
  868. things:
  869.  
  870. 1.  Check to see whether you have a valid control file (FLEXPAC.CTL) -
  871.     you might have forgotten to copy or rename it from SAMPLE.CTL and
  872.     might have forgotten to customize it - see "Installation" on page 8
  873.     for details.
  874.  
  875. 2.  Check to see whether your TNC is on COM1 or COM2 - if on COM2, make
  876.     sure you use the invocation parameter /TNC=COM2.
  877.  
  878. 3.  If you cannot seem to communicate with your TNC, the most common
  879.     source of problems is your TNC's baud rate, word length, or parity
  880.     setting.  You can choose your baud rate (see /BAUD= invocation
  881.     parameter), but word length (usually the AWLEN parameter) must be 8
  882.     (for 8 bits in a word) and parity (usually the PARITY parameter)
  883.     must be 0 (no parity).
  884.  
  885.     For some more information about COM port specifications, see "COM
  886.     Port Errors and Adjustments" on page 31.
  887.  
  888.     You might also check to see if your TNC has an AUTOBAUD function, in
  889.     which the TNC can automatically sense the baud rate.  If an AUTOBAUD
  890.     function is in effect, you will NOT be able to use normal FLEXPAC
  891.  
  892.  
  893.                          Installation and Usage                        9
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.     keying to set it.  This is because FLEXPAC buffers your keystrokes
  902.     and does not send them to the TNC until you press Enter.
  903.  
  904.     To get around this problem, FLEXPAC has a special TNC setup mode,
  905.     which can be invoked by entering the /TNCSETUP invocation parameter.
  906.     If you use this parameter, you will be placed in a special SETUP
  907.     mode prior to starting normal FLEXPAC operation.  In this special
  908.     mode you can enter any keystroke and it will be sent immediately to
  909.     the TNC, and any response immediately displayed.  Use this mode to
  910.     perform any special TNC setup or AUTOBAUD setup you may need.
  911.  
  912.     If you use /TNCSETUP, remember that the ECHO default for FLEXPAC is
  913.     ECHO OFF - therefore you will NOT see your individual keystrokes
  914.     echoed unless you issue the command ECHO ON to your TNC.
  915.  
  916. 4.  If none of the above, it is probably a TNC configuration problem;
  917.     see the script called SETUP (look for :SETUP) which is in effect a
  918.     list of the TNC parameters for a PacComm Tiny 2; find one or more in
  919.     conflict and fix them.
  920.  
  921. 5.  If DOS SUBSET mode (the @DOS command) doesn't work, it is probably
  922.     due to either a lack of sufficient storage to run another copy of
  923.     COMMAND.COM (which is what subset is), or you did not have
  924.     COMMAND.COM available on disk.
  925.  
  926.  
  927.  
  928. CUSTOMIZING YOUR SCREEN COLORS, WINDOWS, OTHER OPTIONS
  929.  
  930.  
  931. Note: This section is placed here because it's the right place for it;
  932. however, you don't need to customize now - come back to this section
  933. later when you need or want to.
  934.  
  935. There is a way for your to customize your version of FLEXPAC. to set
  936. these things:
  937.  
  938.     screen colors
  939.     default COM port and baud
  940.     window sizes
  941.  
  942. In addition, you can also indicate that you have registered as an
  943. FLEXPAC user.
  944.  
  945. Customization is done by using a separate program, FLEXCUST, which is
  946. supplied in the package.  FLEXCUST reads a file called FLEXCUST.PRO,
  947. which you can modify (directions are right in the file) with your editor
  948. to specify your unique color and window size specifications.  After
  949. FLEXCUST reads the FLEXCUST.PRO file, it modifies your working copy of
  950. the main FLEXPAC.EXE program. This modification is made directly TO THE
  951. PROGRAM FILE ITSELF (FLEXPAC.EXE) so that it is now different from the
  952. program file that you originally received.  Of course, you need to run
  953. FLEXCUST only once to customize a copy of the program file.
  954.  
  955.  
  956.  
  957.                          Installation and Usage                       10
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965. Since the program file itself is modified, the changes will move with
  966. the program file if you move or copy it.  If you get another program
  967. file (such as when a new release comes out), you will have to run
  968. FLEXCUST again on the new program file.
  969.  
  970. Note: The COM port and baud rate specifications can be overridden by
  971. options on the FLEXPAC invocation line.
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.                          Installation and Usage                       11
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029. THE CONTROL FILE
  1030.  
  1031.  
  1032.  
  1033. The key to understanding the smart functions is to understand the format
  1034. and content of the control file (FLEXPAC.CTL).  This file is a normal
  1035. ASCII file that you can edit with any ASCII editor.  The control file
  1036. must be on the current disk or subdirectory.
  1037.  
  1038.  
  1039.  
  1040. SCRIPTS
  1041.  
  1042.  
  1043. Entries (lines) in the control file can contain TNC commands or text, or
  1044. FLEXPAC special commands.  All entries are organized into SCRIPTS.  A
  1045. SCRIPT is defined as all the lines between a starting label and the
  1046. ending flag.  A starting label consists of a colon (:) in column one,
  1047. followed directly (no spaces) by the "name" of the script.  The name
  1048. also cannot contain any spaces.  A colon (:) marks the end of a script -
  1049. this can be a line with just a colon, or the beginning of the next
  1050. script.
  1051.  
  1052. The control file must contain at least two scripts; one with the special
  1053. name INIT and one called SHUTDOWN. INIT is automatically executed by
  1054. FLEXPAC on start-up (unless you have overridden the initial script name
  1055. - see "Invocation" on page 8).  SHUTDOWN is executed when you the issue
  1056. the @SHUTDOWN command to stop the run.
  1057.  
  1058. "Executed" means that FLEXPAC will look at each line and process it.
  1059. The line could be just text to send to the TNC (such as CONNECT K5NA) or
  1060. special FLEXPAC commands.  Note that lines are processed identically
  1061. whether they came from a script in the control file, or were entered
  1062. manually by you in the key line.
  1063.  
  1064. An example of a script is:
  1065.  
  1066.   * Script to turn on the talk monitor and tell the PacketCluster
  1067.   * that we are here
  1068.   :iamhere
  1069.   set/here
  1070.   @tm on
  1071.   :
  1072.  
  1073. To execute this script type   @do iamhere  .
  1074.  
  1075.  
  1076.  
  1077. HOW SCRIPTS ARE PROCESSED
  1078.  
  1079.  
  1080. FLEXPAC makes one determination to see if the line is one of its own
  1081. special commands, or just a line of text for the TNC.  It does this by
  1082. examining the first character.  If it is a colon (:), then the script
  1083.  
  1084.  
  1085.                             The Control File                          12
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093. processing stops and control is returned to you at the keyboard.  An
  1094. at-sign (@) in the first column indicates the start of a FLEXPAC
  1095. command.  The command identification must immediately follow the
  1096. at-sign, with no spaces.
  1097.  
  1098.  
  1099.  
  1100. Aborting A WAIT or A Script
  1101.  
  1102.  
  1103. While script processing is in effect, data is being read from your
  1104. control file rather than from the keyboard.  Any keys pressed during
  1105. script processing will be ignored, with the following exceptions:
  1106.  
  1107. 1.  if you are in a WAIT and you want to abort out of it, press the Esc
  1108.     key; the script will then continue to process
  1109.  
  1110. 2.  to abort script processing, also press Esc - this will result in the
  1111.     script being immediately terminated at that point
  1112.  
  1113. Note that if you are in a WAIT and also with to cancel the script, you
  1114. will have to press Esc twice.
  1115.  
  1116.  
  1117.  
  1118. FUNCTION KEY AND BOTTOM LINE DEFINITION
  1119.  
  1120.  
  1121. To define a function key, used the form:
  1122.  
  1123.   @DEF Fn <text>[/].
  1124.  
  1125. where n is the key number (1-12) and <text> is the text to be defined.
  1126. After definition, whenever you press one of the F keys, FLEXPAC gets the
  1127. <text> and processes it as if you had manually typed <text> in the key
  1128. line.  Thus, <text> can contain any text or FLEXPAC commands, including
  1129. the @DEF command itself!
  1130.  
  1131. The optional slash sign (/) at the end of the definition is used to
  1132. specify what FLEXPAC does with the definition.  If there is no slash,
  1133. then the definition is immediately processed.  If there is a slash at
  1134. the end, the definition characters are just placed in the key area on
  1135. the screen, just as if you had keyed them in yourself.  The cursor is
  1136. positioned at the end of the line.
  1137.  
  1138. For example, if you talk to N2ABC a lot, you might want to define a key
  1139. such as:
  1140.  
  1141.   @def F12 T N2ABC /
  1142.  
  1143. and then when you pressed F12 the characters T N2ABC would appear in the
  1144. command line area and then you could go ahead and just type your message
  1145. and then press Enter to send it.
  1146.  
  1147.  
  1148.  
  1149.                             The Control File                          13
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157. Many programs show the current F key definitions on the bottom line of
  1158. the screen.  Rather than attempt to do this automatically, FLEXPAC lets
  1159. you define your own "message" to appear on the bottom line - you can put
  1160. F key abbreviations, or just some text, like "F Keys for PacketCluster
  1161. now active".  Do this by the command:
  1162.  
  1163.   @KEYS <key identification>
  1164.  
  1165. The entire <key identification> will appear on the bottom line.
  1166.  
  1167. An example of function key definitions for use with K5NA might be:
  1168.  
  1169. ------------------------------------------------------------------------
  1170.   :dokeys
  1171.   @def f1 show/users
  1172.   @def f2 dir/own
  1173.   @def f3 dir
  1174.   @keys Logged On K5NA:  F1=Users  F2=My Messages  F3=General Messages
  1175.   :
  1176.  
  1177.   Figure 1.  Example of F Key Definitions
  1178. ------------------------------------------------------------------------
  1179.  
  1180.  
  1181.  
  1182. Alt and Ctrl F Key Definitions
  1183.  
  1184.  
  1185. Instead of just giving you the normal 12 F key definitions, FLEXPAC
  1186. gives you 36!  You can also define the Alt or Ctrl F key combinations.
  1187. Just add the word Alt (or A) or Ctrl (or C) before the F number -
  1188. examples:
  1189.  
  1190.   @def f1 show/users
  1191.   @def alt f1 show/con K5na
  1192.   @def c f2 /exit
  1193.  
  1194. This would define 3 entirely separate key definitions.  Pressing F1
  1195. would result in "show/users", holding the ALT key and pressing F1 would
  1196. result in "show/con k5na" and holding the CTRL key and pressing F1 would
  1197. result in "/exit".
  1198.  
  1199. Similarly, you can define 3 separate function key definition lines.  The
  1200. normal line will appear when the ALT and CTRL keys are not pressed -
  1201. when you press either of these, the definition line for that key will
  1202. appear.  To define these additional key definition lines, put ALT (or A)
  1203. or CTRL (or C) in front of the definition in the @keys command.
  1204. Examples:
  1205.  
  1206.   @keys f1=who  f2=logoff f3=@DOS
  1207.   @keys a Alternate Key Definitions In Effect
  1208.   @keys ctrl **** NO CTRL F KEYS DEFINED NOW ****
  1209.  
  1210.  
  1211.  
  1212.  
  1213.                             The Control File                          14
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221. TELLING FLEXPAC WHO YOU ARE
  1222.  
  1223.  
  1224. FLEXPAC needs to know who you are (name, call) and the call of the
  1225. PacketCluster that you are using.  The @MYCALL and @CLUSTERCALL commands
  1226. to this - examples:
  1227.  
  1228. ------------------------------------------------------------------------
  1229.   @mycall W2ABC
  1230.   @myname Bob
  1231.   @myname Bob Jones, W2ABC
  1232.   @clustercall K5NA
  1233.  
  1234.   Figure 2.  Example of Identifying Commands
  1235. ------------------------------------------------------------------------
  1236.  
  1237. Please be sure you set these; if not, certain functions of FLEXPAC will
  1238. not work properly.
  1239.  
  1240.  
  1241.  
  1242. DX SPOT LOGGING COMMANDS
  1243.  
  1244.  
  1245. You can use FLEXPAC to handle DX spots for you.  The command is @DX, and
  1246. the operands are ON/OFF and SCREEN/PRINTER/WINDOW.  Thus, to prevent
  1247. spots from coming to the screen, but to log all spots to the printer,
  1248. you would enter:
  1249.  
  1250.   @DX OFF SCREEN
  1251.   @DX ON PRINTER
  1252.  
  1253. To open a DX window, enter @DX ON WINDOW and to close the window, enter
  1254. @DX OFF WINDOW.  At the current time, each command must be on a separate
  1255. line - you  CANNOT, for example, say @DX ON SCREEN OFF PRINTER.  Note
  1256. that all three modes are independent of each other and that the default
  1257. is ON for SCREEN and OFF for PRINTER and WINDOW.  If you want no spots
  1258. at all, just turn everything off! (Note: some prior versions of FLEXPAC
  1259. have all DX display modes off as the default - if you see no DX spots,
  1260. this may be the problem.)
  1261.  
  1262.  
  1263.  
  1264. COMMENTS IN THE FLEXPAC.CTL FILE
  1265.  
  1266.  
  1267. Any line that begins with an asterisk (*) in the FLEXPAC.CTL file is
  1268. considered a comment and will not be processed.
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.                             The Control File                          15
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285. FLOW CONTROL
  1286.  
  1287.  
  1288. This set of commands controls execution flow through the control file,
  1289. and also controls ending the program.  The commands are:
  1290.  
  1291. @DO name       will immediately execute script "name".  You would
  1292.                normally have @DO in a F key definition, but it can be
  1293.                used anywhere, including manually from the input line, or
  1294.                within another script.  If encountered within a script,
  1295.                the current script is ended immediately and the new
  1296.                script started.  Optional parameters can be passed to the
  1297.                script - see "Parameter Substitution In Scripts" on page
  1298.                34 for more information.
  1299.  
  1300.                If "name" is not found, an error message display.
  1301.  
  1302. @WAIT <text>   tells FLEXPAC to pause temporarily while executing a
  1303.                script; the pause continues until the <text> appears from
  1304.                the TNC.  You can wait for any text or characters; for
  1305.                example,
  1306.  
  1307.                  @wait Connected to CLV
  1308.  
  1309.                would wait until the text "Connected to CLV" appeared
  1310.                anywhere within a line received from the TNC.  At that
  1311.                point, processing resumes in the current script.
  1312.  
  1313.                What happens if the text is not found?  In that case,
  1314.                FLEXPAC will wait only for a certain period of time.  You
  1315.                can specify that time with the @WAITTIME command, or use
  1316.                the default of 60 seconds.  When that time is up, an
  1317.                error message is sent to the screen and the script will
  1318.                end.  If you wish to have a different script executed
  1319.                when the timeout occurs, you can specify that with the
  1320.                @WAITNOTFOUND command.
  1321.  
  1322.                This is an example of waiting 1 minute for a connect, and
  1323.                then resetting the TNC if the connect does not occur:
  1324.  
  1325.                  * Try to connect, time out in 1 minute if not
  1326.                  :test
  1327.                  @waittime 60
  1328.                  @waitnotfound noconnect
  1329.                  c clv
  1330.                  @wait Connected to CLV
  1331.                  :
  1332.                  :noconnect
  1333.                  * got here if timeout on connect
  1334.                  @cmd
  1335.                  d
  1336.                  :
  1337.  
  1338.  
  1339.  
  1340.  
  1341.                             The Control File                          16
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.                The value specified in the @WAITTIME command must be an
  1350.                integer time in seconds - the minimum is 1 second, and
  1351.                the maximum is 3600 seconds (i.e 1 hour).
  1352.  
  1353.                The operand of the @WAITNOTFOUND command is the name of a
  1354.                script, similar to that in an @DO command.  If you want
  1355.                to reset the @WAITNOTFOUND to no script, just leave that
  1356.                field blank.  If the script specified is not found, this
  1357.                will only be discovered when the timeout occurs, and an
  1358.                additional error message will be displayed on the screen.
  1359.                Note: do NOT specify the colon as the first character of
  1360.                the script name - this will be detected as an error.
  1361.  
  1362. @EXIT          immediately stops the program.  No shutdown process (see
  1363.                @SHUTDOWN command) is done.  You probably would not do
  1364.                this, but @EXIT must appear at the end of the SHUTDOWN
  1365.                script to end the program.
  1366.  
  1367. @SHUTDOWN      is the normal way to end the program.  You would normally
  1368.                define this to an F key.  This command is equivalent to
  1369.                @DO SHUTDOWN, which starts execution of the script
  1370.                :SHUTDOWN.
  1371.  
  1372.  
  1373.  
  1374. WRITING TO THE SCREEN
  1375.  
  1376.  
  1377. When developing your scripts in FLEXPAC.CTL, you may sometime want to
  1378. clear the screen and write to it.  These commands allow you to do that:
  1379.  
  1380. @CLEARSCREEN   clears the current window - this command can be
  1381.                abbreviated @CLS and take no operands.
  1382.  
  1383. @ERROR         sends the text on the line to the screen using the error
  1384.                color and also sounds the alarm tone.
  1385.  
  1386. @SAY           works the same as @ERROR but does not sound the alarm and
  1387.                is written in the normal FLEXPAC output color.
  1388.  
  1389.  
  1390.  
  1391. THE CLOCK AND TIMING COMMANDS
  1392.  
  1393.  
  1394. FLEXPAC has a sense of time.  The current time of day is displayed on
  1395. the indicator line.  Also, you can tell FLEXPAC to do something for you
  1396. at a specific time of the day.
  1397.  
  1398. The syntax of the AT command is
  1399.  
  1400.   @AT hh:mm action
  1401.  
  1402.  
  1403.  
  1404.  
  1405.                             The Control File                          17
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413. where hh:mm is the TIME in the future to do the ACTION in hh:mm (hours,
  1414. minutes format - 24 hour time).  Thus, if you wanted to shutdown the
  1415. program at 11:30 PM, you would issue the command
  1416.  
  1417.   @AT 23:30 @DO SHUTDOWN
  1418.  
  1419. Note that the action can be any command or text, just as you would put
  1420. into, for example, an F key definition.
  1421.  
  1422. When the AT is ACTIVE, you will see the scheduled time displayed on the
  1423. screen near the main clock.  To turn off an active AT, just issue the
  1424. command @AT without any parameters.
  1425.  
  1426.  
  1427.  
  1428. BELLS
  1429.  
  1430.  
  1431. You can use FLEXPAC to suppress the sound of the bell character (Ctrl-G)
  1432. from received messages.  To do this, use the @BELLS OFF command, and
  1433. @BELLS ON to turn them on.  The default is ON.
  1434.  
  1435.  
  1436.  
  1437. MISCELLANEOUS COMMANDS
  1438.  
  1439.  
  1440. @COMSTAT       displays the current COM port statistics, in a display
  1441.                similar to that done at the normal end of FLEXPAC.  See
  1442.                section "COM Port Errors and Adjustments" on page 31 for
  1443.                information on how to interpret this display.
  1444.  
  1445. @CMD           tells FLEXPAC to send to the TNC the character that
  1446.                switches from CONNECT mode to CMD mode, in effect
  1447.                simulating pressing of the Esc key. This command is here
  1448.                so that you can put TNC commands in your scripts, and
  1449.                ensure that the TNC is in CMD mode.
  1450.  
  1451. @DELAY         allows you to wait for a period of time (in seconds)
  1452.                during the execution of a script.  Specify @DELAY nn,
  1453.                where 'nn' is the amount of time to delay in seconds.
  1454.                All processing will be halted during this period.  You
  1455.                can delay between 1 and 3600 (i.e. one hour) seconds.
  1456.  
  1457. @TALKMONITOR   specifies if you should be called when someone initiates
  1458.                TALK mode to you - specify ON or OFF.
  1459.  
  1460. @DOS           issue a command to DOS or enter a DOS subset mode, if
  1461.                enough memory is available to save the current screen
  1462.                image.  Memory available to DOS while in subset mode
  1463.                depends on how much memory your computer has. Note that
  1464.                the scroll back buffer is cleared out when you do an @DOS
  1465.                command.
  1466.  
  1467.  
  1468.  
  1469.                             The Control File                          18
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.                The format is:
  1478.  
  1479.                  @DOS
  1480.                      ..or..
  1481.                  @DOS doscommand
  1482.  
  1483.                If you enter @DOS with no operands, you will be put in
  1484.                DOS subset mode. Type EXIT to return to FLEXPAC.  If you
  1485.                enter @DOS DOSCOMMAND, the DOSCOMMAND will be sent to
  1486.                DOS.  Note that FLEXPAC continues to process the next
  1487.                command in a script after @DOS without pause.  This is so
  1488.                you can put multiple DOS commands in your scripts without
  1489.                human intervention.
  1490.  
  1491.                In order to use @DOS you MUST have the DOS command
  1492.                interpreter, COMMAND.COM available on disk.  For hard
  1493.                drives, this is probably the case.  However, for diskette
  1494.                only users, you should ensure that COMMAND.COM is on the
  1495.                same diskette you use to run FLEXPAC.
  1496.  
  1497. @CAPTURE       controls the capture of data from the active window into
  1498.                a disk(ette) file.  Refer to section "Screen Capture" on
  1499.                page 30 for more detail.
  1500.  
  1501. @SEND          The @SEND command sends a file or note to the TNC.  Refer
  1502.                to section "Sending A File or Message" on page 29 for
  1503.                more information.
  1504.  
  1505. @WORDWRAP      The @WORDWRAP controls whether word wrap with power
  1506.                typing is enabled or not.  The default is OFF.  Say
  1507.                @WORDWRAP ON or @WORDWRAP OFF.
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.                             The Control File                          19
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541. PULL DOWN MENUS
  1542.  
  1543.  
  1544.  
  1545. Now that you have read all about the FLEXPAC commands and functions, you
  1546. may have come to the realization that there are a lot of different
  1547. commands and options to pick from!  The commands you just read about are
  1548. needed for the script language, but if you just want to change or set
  1549. functions manually, it would be nice if there were an easier way to do
  1550. it - and, there is!
  1551.  
  1552. FLEXPAC also has a pull down menu system, similar to ones you may have
  1553. seen in other programs.  The menu system allows you to change many of
  1554. the FLEXPAC control functions and also to specify things such as your
  1555. name or call easily.
  1556.  
  1557.  
  1558.  
  1559. GETTING THE MENU
  1560.  
  1561.  
  1562. You have two ways to get the menu function on the screen.  The first is
  1563. to press Alt-M, and the second is to execute the @menu command.  The
  1564. reason for the @menu command is so that you can assign the menu function
  1565. to an F key if you wish.
  1566.  
  1567. When you press Alt-M or execute the @menu command, all other program
  1568. functions temporarily stop.  (Don't worry, you will not lose data from
  1569. the TNC because FLEXPAC temporarily shuts down the COM port link to the
  1570. TNC.)  At the top of the screen, you will then see the initial menu
  1571. display at the top of the screen, which looks like this:
  1572.  
  1573. ------------------------------------------------------------------------
  1574.   ╔══════════╤══════════╤══════════╗
  1575.   ║ Switches │ Identify │ Cluster  ║
  1576.   ╚═╤════════╪══════════╧══════════╝
  1577.     │        └────────┐
  1578.     │ √ Bells         │
  1579.     │ √ Connect Alarm │
  1580.     │   Word Wrap     │
  1581.     └─────────────────┘
  1582.  
  1583.   Figure 3.  Typical Menu Display: 
  1584. ------------------------------------------------------------------------
  1585.  
  1586.  
  1587.  
  1588. USING THE MENU
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.                              Pull Down Menus                          20
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605. The Primary Selection Menu
  1606.  
  1607.  
  1608. The top line of the menu, enclosed in a double line box, is the Primary
  1609. Selection Menu.  Each entry in the primary has a set of secondary
  1610. selections that will appear below it.  The "Switches" primary menu
  1611. selection is automatically selected first, and thus its secondary
  1612. selection box is already displayed below.
  1613.  
  1614. There are currently three primary selections; refer to section "Menu
  1615. Detail" on page 22 for details.
  1616.  
  1617.  
  1618.  
  1619. The Secondary Menus
  1620.  
  1621.  
  1622. Each secondary menu is in a single line box below its appropriate
  1623. primary entry.  You will see a list of items - these can be of two
  1624. different types:
  1625.  
  1626. 1.  Some entries begin with the check-mark (√).  This type of entry is
  1627.     for an on/off switch - if you see the check-mark at the beginning of
  1628.     that entry, than the switch is ON.  If the entry is OFF, there will
  1629.     be a blank instead.
  1630.  
  1631. 2.  The second type of entry has an entry name followed by an equals
  1632.     sign (such as My Call=); there may or may not be text after the
  1633.     equals sign.  The entries can be used to specify letter entries,
  1634.     such as your call, name, etc.
  1635.  
  1636.  
  1637.  
  1638. Selecting Entries
  1639.  
  1640.  
  1641. The primary entry that is currently active will be displayed in
  1642. highlighted color, and its secondary box will show below.  Use the left
  1643. arrow and right arrow keys to move between primary menu selections.  You
  1644. can use these keys at any time, even when inside a secondary menu.
  1645.  
  1646. When a secondary menu is first displayed, the top entry is highlighted.
  1647. Use the up arrow and down arrow keys to move up and down to highlight a
  1648. particular secondary entry.
  1649.  
  1650.  
  1651.  
  1652. Changing Entries
  1653.  
  1654.  
  1655. Changing entries is very simple.  Just highlight the entry you wish to
  1656. change and press ENTER.  If it is an on/off type of entry, you will see
  1657. the check-mark turn on or off.
  1658.  
  1659.  
  1660.  
  1661.                              Pull Down Menus                          21
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669. If the entry is a text type, pressing ENTER will open up a field within
  1670. the entry that you can key into.  Normal editing keys can be used in
  1671. this field.  Note also that the INSERT key is active in this mode, and
  1672. you should see a normal or insert cursor as appropriate. Type in the new
  1673. text.  When you are done, press ENTER again.  If, however, you have made
  1674. a mistake and DO NOT want the new text accepted, press ESC instead.
  1675.  
  1676.  
  1677.  
  1678. Ending The Menu
  1679.  
  1680.  
  1681. To end the menu at any time, just press ESC.  (Note: if you are
  1682. currently editing a letter type field, you MUST press ENTER first to end
  1683. the edit.  If you press ESC when editing a text entry, that will be
  1684. interpreted as a mistake.)
  1685.  
  1686.  
  1687.  
  1688. MENU DETAIL
  1689.  
  1690.  
  1691.  
  1692. The Switches Menu
  1693.  
  1694.  
  1695. "Switches" contains secondary entries for general switches (in other
  1696. words, on/off selections).
  1697.  
  1698.   ╔══════════╤══════════╤══════════╗
  1699.   ║ Switches │ Identify │ Cluster  ║
  1700.   ╚═╤════════╪══════════╧══════════╝
  1701.     │        └────────┐
  1702.     │ √ Bells         │
  1703.     │ √ Connect Alarm │
  1704.     │   Word Wrap     │
  1705.     └─────────────────┘
  1706.  
  1707.  
  1708.  
  1709. The Identify Menu
  1710.  
  1711.  
  1712. "Identify" contains secondary entries for your callsign and name.
  1713.  
  1714.   ╔══════════╤══════════╤══════════╗
  1715.   ║ Switches │ Identify │ Cluster  ║
  1716.   ╚══════════╧═╤════════╪══════════╝
  1717.                │        └────────────────────────┐
  1718.                │ My Call=                        │
  1719.                │ My Name=                        │
  1720.                └─────────────────────────────────┘
  1721.  
  1722.  
  1723.  
  1724.  
  1725.                              Pull Down Menus                          22
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733. The Identify Menu
  1734.  
  1735.  
  1736. "Cluster" contains secondary entries that are pertinent to PacketCluster
  1737. operation.
  1738.  
  1739.   ╔══════════╤══════════╤══════════╗
  1740.   ║ Switches │ Identify │ Cluster  ║
  1741.   ╚══════════╧══════════╧═╤════════╝
  1742.                           │        └────────────────────────┐
  1743.                           │ Cluster Call=                   │
  1744.                           │ √ DX On Screen                  │
  1745.                           │   DX On Printer                 │
  1746.                           │   DX On Window                  │
  1747.                           │   Talk Monitor                  │
  1748.                           └─────────────────────────────────┘
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.                              Pull Down Menus                          23
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797. ABOUT THE SCREEN, WINDOWS, SWITCHING, AND SCREEN CAPTURE
  1798.  
  1799.  
  1800.  
  1801. THE SCREEN AND WINDOWS
  1802.  
  1803.  
  1804. When FLEXPAC starts up, you will see the main screen, which has these
  1805. main areas:
  1806.  
  1807. o   The top 22 lines hold either TNC output or messages from the
  1808.     program.  This area scrolls upwards as you would normally expect it
  1809.     would.
  1810.  
  1811.     In this area there can be one, two, or three windows  A window is a
  1812.     horizontal stripe of data on the screen; each window has a different
  1813.     color and a top header line.
  1814.  
  1815.     If you are only using the standard A stream from your TNC and you
  1816.     have not requested a DX window, then the main A stream window
  1817.     occupies lines 2-22 on the screen.  Line 1 is the header line for
  1818.     the A stream window.  The header line contains the current connect
  1819.     status of that window.
  1820.  
  1821.     If you request a B window by typing a |b command (where '|' is the
  1822.     broken vertical bar or whatever your TNC's STREAMSWITCH character
  1823.     is), then the B stream window will open.  Lines 1-22 will be split
  1824.     between the two windows.  Note that as much of the data as possible
  1825.     from the previous window size is copied to the new window - because
  1826.     of this (and the scroll back buffer), data is never lost.  Each
  1827.     window has its own header line.
  1828.  
  1829.     The B stream window will stay in effect until you manually close it
  1830.     (see the Ctrl-PgUp key).  The B stream window also can be opened
  1831.     whenever the TNC sends B stream information to the computer.  For
  1832.     example, if somebody connects on the B stream to you, the B stream
  1833.     window will automatically open.
  1834.  
  1835.     In addition, you also can open a DX Window (see the @DX command).
  1836.     This window also will share lines 1-22 with the other windows if
  1837.     open.
  1838.  
  1839. o   Line 23 is the status line.  It shows the version of the program,
  1840.     the current time, and the status of FLEXPAC options.
  1841.  
  1842.     The fields on the status line are:
  1843.  
  1844.     Position  Used For
  1845.  
  1846.     2         identifies the current program version number
  1847.  
  1848.     17        shows the status of DX logging to screen, window, or
  1849.               printer.  The format is "DX-swp"; if DX logging is ON, the
  1850.               appropriate character (s for screen, w for window, p for
  1851.  
  1852.  
  1853.         About The Screen, Windows, Switching, and Screen Capture      24
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.               printer) is capitalized.  If DX logging is off for that
  1862.               type of output, a lower case letter is displayed.  Thus,
  1863.               if the status line reads DX-SwP, DX logging is ON for
  1864.               Screen and Printer, and OFF for Window.
  1865.  
  1866.     26        shows the current time, in the format TIME-hh:mm.
  1867.  
  1868.     39        shows the current @AT time, if you have an @AT pending.
  1869.  
  1870.     50        indicates TALKMONITOR status - a small letter "t"
  1871.               indicates that the talk monitor is off - a capital letter
  1872.               "T" indicates that it is on
  1873.  
  1874.     54        indicates CONNECTALARM status - a small letter "c"
  1875.               indicates that the connect monitor is off - a capital
  1876.               letter "C" indicates that it is on
  1877.  
  1878.     58        shows if CAPTURE is on, and to what window; for example,
  1879.               if the status line says CAP-Ab, then capture is on for the
  1880.               A window and not for B.
  1881.  
  1882.     67        indicates whether bells are suppressed or not; if BELLS
  1883.               ON, you will see a music symbol in this column; if BELLS
  1884.               OFF, this column will show nothing.
  1885.  
  1886.     71        indicates if word wrap is enabled; shows WW if word wrap
  1887.               is on, nothing if off.
  1888.  
  1889. o   The next to bottom line contains any keystrokes you type.  For
  1890.     information on what keys can be used, see "Keying" on page 26.
  1891.  
  1892. o   The bottom line is programmable by you.  Normally it contains the
  1893.     active function key definitions, but you can change to be anything
  1894.     you want.  This line can be changed dynamically during script
  1895.     execution.
  1896.  
  1897.  
  1898.  
  1899. The Scroll Back Buffers
  1900.  
  1901.  
  1902. FLEXPAC incorporates a full scroll back buffer implementation for each
  1903. window that is open.  FLEXPAC uses up to 32K of RAM for buffering for
  1904. the main stream windows, and 8K for the DX window - depending on how
  1905. much RAM you have available in your system. You can invoke this function
  1906. at any time on the ACTIVE WINDOW by pressing Alt-S; you can then scroll
  1907. the main receive window by using the arrow or PgUp and PgDn keys.  Press
  1908. Esc to exit scrolling mode and return to normal operation.  Note that
  1909. during scroll FLEXPAC halts all other functions, and that communications
  1910. with the TNC is stopped.  With sufficient buffering in the TNC, this
  1911. should not be a problem.
  1912.  
  1913. You can back scroll the DX window by pressing Alt-D.
  1914.  
  1915.  
  1916.  
  1917.         About The Screen, Windows, Switching, and Screen Capture      25
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925. Note that using the @DOS command also requires RAM memory. Because of
  1926. this, the scroll back buffer is disabled during the @DOS function, and
  1927. reallocated when you return to FLEXPAC.  This has the effect of erasing
  1928. all your previous scroll back data.  This will be improved in a future
  1929. release.
  1930.  
  1931.  
  1932.  
  1933. Notes On Window and Stream Switching
  1934.  
  1935.  
  1936. Although FLEXPAC attempts to make it very easy for you to use multiple
  1937. windows and streams, there are some situations inherant in TNCs which
  1938. tend to create confusing results on the screen.  This is mostly because
  1939. TNCs keep the Input (I) and Output (O) for each stream independant - in
  1940. other words, you could be typing into stream A while the TNC is already
  1941. writing to stream B.  Just because you type into A does not
  1942. automatically mean that any further output you see will go into A.  The
  1943. output only switches to A when some output appears from the TNC for the
  1944. A stream.
  1945.  
  1946. Thus, if you preceed a line with a stream switch, and that line causes
  1947. some output from the TNC, then it will probably work the way you want -
  1948. i.e. both your typing and the TNC output will go to the "new" stream.
  1949.  
  1950. On the other hand, if you type a stream switch with no text or command
  1951. following, then the Input (i.e. every thing else you type from then on)
  1952. will go to the new stream, but the output from the tnc will continue in
  1953. the old stream until some output from the new stream appears.  Likewise,
  1954. if you preceed an FLEXPAC command with a stream switch, this effect will
  1955. also happend because FLEXPAC command do not go to the TNC and hence does
  1956. not cause any TNC output.
  1957.  
  1958. If this is confusing, play with it a bit.  Remember that the highlighted
  1959. stream header line indicates which stream FLEXPAC thinks you are typing
  1960. into, not receiving from.
  1961.  
  1962.  
  1963.  
  1964. KEYING
  1965.  
  1966.  
  1967. You will always see the cursor in the key input line.  You can type at
  1968. any time, without effecting whatever else is going on (reading data from
  1969. the TNC, etc.).  You can only type up to 80 characters.  If you need
  1970. more text, press Enter to process the first line and then continue.
  1971. (Wrapping around to a new line is a very bad habit, and really screws up
  1972. the format of displayed notes and messages, and should be avoided - that
  1973. is why FLEXPAC does not let you do it.)
  1974.  
  1975. Key as you would normally.  Press Enter when you want the line to be
  1976. acted on by the program.  You may notice that the keying mode is ALWAYS
  1977. Insert Mode - the Ins key has no effect.  FLEXPAC takes this default to
  1978. make the program-to-user interface simpler.
  1979.  
  1980.  
  1981.         About The Screen, Windows, Switching, and Screen Capture      26
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989. The following special keys are available:
  1990.  
  1991. Enter     signals the program that you are finished typing this line and
  1992.           that the program should process the line (may contain FLEXPAC
  1993.           commands, data, or whatever)
  1994.  
  1995. Esc       sends the character that causes the TNC to go from CONNECT
  1996.           mode to CMD mode - you should then see the CMD prompt on the
  1997.           screen.  The character sent is $03 (hexadecimal 3).
  1998.  
  1999.           If you are in scroll back mode, Esc cancels this mode and
  2000.           returns you to normal control.
  2001.  
  2002. Home      moves the cursor to the beginning of the current input line
  2003.  
  2004. End       moves the cursor to the end of the current input line
  2005.  
  2006. Ctrl-PgUp eliminates the current window from the screen. Note that this
  2007.           cannot be done to the A stream window (by definition, it is
  2008.           always active) and does not apply to the DX window (use the
  2009.           @DX OFF WINDOW command to close the DX window).  Note also
  2010.           that the eliminated window may reappear if the TNC sends data
  2011.           to the window again.
  2012.  
  2013. Ctrl-PgDn erases the current line you are typing in the key area, clears
  2014.           the line, and sets the cursor back to column one
  2015.  
  2016. Ctrl-Home clears the active window
  2017.  
  2018. Ctrl-End  erases from the cursor to the end of the input line
  2019.  
  2020. Ins       has no effect - always in Insert mode
  2021.  
  2022. Del       deletes the character above the cursor
  2023.  
  2024. Backspace deletes the character to the left of the cursor and moves the
  2025.           cursor to the left one character (rubout)
  2026.  
  2027. Alt-d     activates the scroll back buffer for the DX window
  2028.  
  2029. Alt-s     activates the scroll back buffer for the current window - see
  2030.           section "The Scroll Back Buffers" on page 25 for details
  2031.  
  2032.  
  2033.  
  2034. The Retrieve Function
  2035.  
  2036.  
  2037. FLEXPAC saves the last 8 typed lines.  You may retrieve any of those by
  2038. using the up arrow and down arrow keys.  If you press an arrow key, you
  2039. will see the prior text displayed in the input window. At that point you
  2040. can type into it to change it or just press Enter.
  2041.  
  2042.  
  2043.  
  2044.  
  2045.         About The Screen, Windows, Switching, and Screen Capture      27
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053. Entering Control Codes or other Non-ASCII Text
  2054.  
  2055.  
  2056. If you wish to enter a control code or other nonstandard ASCII
  2057. character, you can do so by using the special '^' character prefix. This
  2058. can be done on the input line, or in your scripts.
  2059.  
  2060. The format is ^hh, where hh are two hexadecimal digits.  Note that there
  2061. must always be two hexadecimal digits after the carat (^) or else it
  2062. will be ignored and left as standard ASCII data.  When the line is sent
  2063. to the TNC, the 3 character sequence (^hh) will be changed to a single
  2064. character of the value you specify.  Examples:
  2065.  
  2066.   key:
  2067.      A in hex is ^41
  2068.   sends:
  2069.      A in hex is A
  2070.  
  2071.   key:
  2072.      Send a bell ^07 here
  2073.   sends:
  2074.      Send a bell  here    <== and the bell sounds
  2075.  
  2076.   key:
  2077.      This is just a carat ^ here
  2078.   sends:
  2079.      This is just a carat ^ here  <== no hex digits, ignored
  2080.  
  2081.  
  2082.  
  2083. SWITCHING WINDOWS AND STREAMS
  2084.  
  2085.  
  2086. The stream switch character (|) has significance to both your TNC and to
  2087. FLEXPAC.  You use it to change connect streams - for example, entering
  2088. |B switches the TNC active stream to the B stream.  FLEXPAC also looks
  2089. for and processes the stream switch character as an indication of which
  2090. screen window to activate (or if one is to be created).  For example, if
  2091. you type |B at the start of a line, FLEXPAC will create a B stream
  2092. window if one is not already open, and then make that window the active
  2093. window.  The |B is then passed to your TNC as normal for its processing.
  2094.  
  2095. For FLEXPAC to process the stream switch character, it MUST be the first
  2096. character on a line.
  2097.  
  2098. You also can precede an @ command with a stream switch sequence. This
  2099. would be most useful in scripts or key definitions.  For example, if you
  2100. wanted to start capture of the B stream by pressing F2, you would define
  2101. it as:
  2102.  
  2103.   @def f2 |b@capture to myfile.cap
  2104.  
  2105. FLEXPAC will process the |B first and switch to the B stream before
  2106. starting capture.  When the stream switch sequence precedes an @
  2107.  
  2108.  
  2109.         About The Screen, Windows, Switching, and Screen Capture      28
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117. command, the entire line is NOT sent to the TNC, as the @ command itself
  2118. is not sent.  Instead, just the stream switch sequence only (i.e., |b)
  2119. is sent.
  2120.  
  2121.  
  2122.  
  2123. SENDING A FILE OR MESSAGE
  2124.  
  2125.  
  2126. There are cases where you want to send a file to the PacketCluster, to a
  2127. BBS, or just to a friend.  Currently, FLEXPAC does not support binary
  2128. (i.e. program) file transfers.  Normal ASCII data can be transmitted by
  2129. using the @SEND command.
  2130.  
  2131. @SEND really doesn't do any magic - all it does is to take a disk(ette)
  2132. file that you specify and send it character by character to the TNC,
  2133. just as if you had typed it in.  If you are uploading to a BBS or the
  2134. PacketCluster (for example), you would have to issue the commands to
  2135. tell the BBS that you are uploading a file BEFORE using the @SEND
  2136. command.
  2137.  
  2138. Another use of the @SEND command is to make it easier to compose and
  2139. send notes or mail.  Rather than log on to a BBS and send the message
  2140. character by character (taking a lot of time, perhaps that another ham
  2141. could use to connect), you can put the note or message into a file and
  2142. @SEND it.  The @DOS command of FLEXPAC can also help.
  2143.  
  2144. For example, to compose and send a note from within FLEXPAC you might do
  2145. the following (example, for the PacketCluster):
  2146.  
  2147.   1) @DOS COPY CON MY.MSG      <== tell DOS to get key input to a file
  2148.   2) <enter the topic>
  2149.   3) <enter your message
  2150.      as many lines as necessary>
  2151.   4) press Control-Z           <== ends the DOS COPY command
  2152.   5) s W1XYZ                   <== tell PacketCluster to start note
  2153.   6) @SEND MY.MSG              <== send the text of the message
  2154.  
  2155. As an alternative to using the DOS COPY command to create the file, you
  2156. could use your favorite editor.
  2157.  
  2158. The format of the @SEND command is:
  2159.  
  2160.   @SEND filename
  2161.  
  2162. where 'filename' is the name of the file to be send - you can use any
  2163. valid DOS file name.  If 'filename' cannot be found, you will see an
  2164. error message.
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.         About The Screen, Windows, Switching, and Screen Capture      29
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181. SCREEN CAPTURE
  2182.  
  2183.  
  2184. You can specify that the data from a window be placed into a disk(ette)
  2185. file - this is called Capture and is controlled by the @CAPTURE command.
  2186. Each stream window can have its own capture to a separate file and are
  2187. independent of each other.  The @CAPTURE command when issued applies to
  2188. the currently active window.
  2189.  
  2190. To start capture in a window, issue the command
  2191.  
  2192.   @CAPTURE TO <filename>
  2193.  
  2194. where <filename> is any valid DOS file name.  If you wish to capture
  2195. directly to the printer, use the word PRINTER instead of <filename>. If
  2196. the file already exists, the new capture information will be added to
  2197. the end of the already existing file. To turn off capture, issue the
  2198. command
  2199.  
  2200.   @CAPTURE OFF
  2201.  
  2202. which will stop capture for the current window.
  2203.  
  2204. Error messages are issued if:
  2205.  
  2206. o   the file name is invalid or cannot be OPENed
  2207.  
  2208. o   you try to capture to the same file from both windows
  2209.  
  2210. o   you try to turn OFF capture when not on
  2211.  
  2212. o   you try to start capture when capture has already been started in
  2213.     that window
  2214.  
  2215. To indicate that capture is active, the phrase CAP-ab will appear in the
  2216. indicator line.  If capture is active in either the A or B sessions, the
  2217. letter 'a' and/or 'b' will be capitalized.
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.         About The Screen, Windows, Switching, and Screen Capture      30
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245. COM PORT ERRORS AND ADJUSTMENTS
  2246.  
  2247.  
  2248.  
  2249. One of the most critical factors in getting FLEXPAC up and running for
  2250. you is to make sure that all of the communications port parameters are
  2251. working correctly.  We can't emphasize more that the vast majority of
  2252. all startup problems are related to not having these communications
  2253. parameters correctly set up:
  2254.  
  2255. 1.  COM1 or COM2 - default is COM1
  2256. 2.  baud rate - default is 4800 baud
  2257. 3.  word length - 8 bits is MANDATORY
  2258. 4.  parity - Parity OFF is MANDATORY
  2259. 5.  stop bits - should be 1
  2260.  
  2261. Refer to your TNC manual to understand how to set these parameters in
  2262. your TNC.  To change the COM port or baud rate for FLEXPAC, use the
  2263. /TNC=COMx and /BAUD=xxxx invocation parameters.
  2264.  
  2265.  
  2266.  
  2267. HOW TO DETERMINE COM PORT PROBLEMS
  2268.  
  2269.  
  2270. To assist in debugging COM port problems, FLEXPAC displays a set of
  2271. counters and indicators when you issue the @COMSTAT command. The screen
  2272. will look like this:
  2273.  
  2274.   Performance Statistics:
  2275.   - Comm Errs -  ------- Circular Buffer ------
  2276.   Ovr  Par  Fra  TX Ovr/Bak/Siz  RX Ovr/Bak/Siz
  2277.   aaa  bbb  ccc     ddd eee fff     ggg hhh iii
  2278.  
  2279. The fields "aaa" through "iii" represent the numbers that will appear to
  2280. indicate the various values.  There are 3 sections.
  2281.  
  2282. Comm Errs This section displays error counters accumulated during the
  2283.           entire run.  This set of errors are those reported from the
  2284.           com port hardware (i.e. they are hardware detected
  2285.           communications errors). There are 3 values - Ovr, Par, and
  2286.           Fra, which stand for Overruns, Parity Errors, and Framing
  2287.           Errors.
  2288.  
  2289.           These numbers should be zero.  If you occasionally see a "1"
  2290.           value and you notice no problems running FLEXPAC, that can
  2291.           probably be ignored.  Consistent errors probably indicate a
  2292.           mismatch in one or more of the 3 main com port parameters -
  2293.           baud rate, word length, or parity.  Another possibility is
  2294.           that you may be running too high a baud rate for the
  2295.           capabilities of your hardware - try running at a lower baud
  2296.           rate.
  2297.  
  2298. Circular Buffer
  2299.  
  2300.  
  2301.                      COM Port Errors and Adjustments                  31
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.           FLEXPAC uses two circular (i.e. never ending) buffers, one for
  2310.           data being transmitted, and one for data being received.
  2311.           There are three numbers for the TX (transmit) buffer, and
  2312.           three numbers for the RX (receive) buffer.
  2313.  
  2314.           The "Siz" numbers indicate the size of each buffer.
  2315.           Currently, FLEXPAC uses a 200 byte buffer for each, so these
  2316.           numbers should always be "200".
  2317.  
  2318.           The "Bak" numbers indicate the backlog, or the largest amount
  2319.           of data ever backlogged in the buffer at any time.  For
  2320.           transmit, the backlog indicates maximum amount of data ever
  2321.           pending to be transmitted.  For receive, it indicates the
  2322.           largest number of characters waiting in the buffer to be
  2323.           processed by the program.  These numbers should never be
  2324.           greater than the buffer size.
  2325.  
  2326.           If the backlog ever exceeds the size of the buffers, data will
  2327.           be lost.  The Ovr fields tell you how many times that happened
  2328.           during this run.  If either of these two Ovr numbers is
  2329.           greater than zero, it indicates major communications problems.
  2330.  
  2331.  
  2332.  
  2333. WHAT TO DO ABOUT COM PROBLEMS
  2334.  
  2335.  
  2336. If you are getting Com port errors (Par, Fra, Ovr), then the first place
  2337. to look is the baud rate.  If you are running a high rate (9600 baud),
  2338. your PC may not be able to keep up with the high rate of incoming
  2339. characters.  Try using 4800 baud - if all works well at this speed, you
  2340. should stay there.
  2341.  
  2342. If you are getting RX circular buffer Ovr counts greater than zero, then
  2343. your TNC is not handling hardware handshaking properly. Check to see
  2344. that your cable has the appropriate wires and that the appropriate
  2345. commands to your TNC have been set to invoke hardware handshaking (XFLOW
  2346. on my TNC).
  2347.  
  2348. When using hardware handshaking, sometimes a few characters can "sneak"
  2349. by before the line is stopped.  If you see occasional Com Ovr errors,
  2350. this may be due to errors which happen when the program THINKS that the
  2351. line is stopped but in fact a few more characters have slipped in.
  2352.  
  2353. FLEXPAC uses hardware handshaking, which means it uses the CTS (Clear To
  2354. Send) and RTS (Request To Send) lines in the RS-232 cable to control or
  2355. pace data communications.  The program stops communications often
  2356. because doing some things (such as disk I/O or screen manipulations like
  2357. scrolling) can potentially cause COM port errors.
  2358.  
  2359. If you see Comm Errs or there are visible problems on the screen (such
  2360. as missing characters, improperly formatted data, etc.), then you may
  2361. need to increase the value in the /COMDELAY=n invocation parameter.  The
  2362. value 'n' indicates the amount of time the program should delay after
  2363.  
  2364.  
  2365.                      COM Port Errors and Adjustments                  32
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373. attempting to quiesce the link before continuing. The amount of time is
  2374. expressed in characters, at the baud rate you are using.  Thus,
  2375. /COMDELAY=2 says to delay 2 characters worth of time.  In other words,
  2376. if you delay two characters of time, this should allow the two
  2377. characters "sneaking" in to be received without error.  The number is
  2378. approximate, however - you will have to experiment to find the right
  2379. value for you.
  2380.  
  2381. The use of /COMDELAY= is not free - there is a performance penalty to
  2382. pay.  For example, if you are running at 1200 baud, a single character
  2383. time is about 7 milliseconds (ms.).  If you set /COMDELAY=2, then there
  2384. is a 14 ms. delay each time you, for example, read a line from the
  2385. control file.  If your control file has 100 lines in it, the total
  2386. accumulated delay would be about 14 times 100 milliseconds or about 1.4
  2387. seconds.
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.                      COM Port Errors and Adjustments                  33
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437. ADVANCED TOPICS
  2438.  
  2439.  
  2440.  
  2441. PARAMETER SUBSTITUTION IN SCRIPTS
  2442.  
  2443.  
  2444. By using scripts in the control file and the @DO command, you can define
  2445. some very complex functions.  An additional function of the @DO can
  2446. provide even more flexibility.  For example, suppose you want to set up
  2447. a script file to start TALK to another station, and set word wrap on at
  2448. the same time.  You could certainly write a script like:
  2449.  
  2450.   :talk
  2451.   @wordwrap
  2452.   t somebody
  2453.  
  2454. but how do you get the "somebody" to be replaced with the person you
  2455. want to talk to?
  2456.  
  2457. The answer is that you can optionally place parameters (in other words,
  2458. more words) on the @DO command - these words will be substituted for
  2459. special symbols you put in the text.  You can specify where each word
  2460. would go inside your script by using the special symbol %n, where 'n' is
  2461. the number (1-9 allowed) of the word on the @DO command line.
  2462.  
  2463. For example, if you said "@do talk N2AB", then the special symbol %1
  2464. would be replaced by the word "N2AB" in your script.  "@do talk N2AB
  2465. Bob" would result in %1 being replaced by "N2AB" and %2 being replaced
  2466. by "Bob".  Thus, you would now write that script (with a little
  2467. embellishment):
  2468.  
  2469.   :talk
  2470.   @wordwrap
  2471.   t %1
  2472.   Hi %2 - how are you?
  2473.  
  2474. If you then said
  2475.  
  2476.   @do talk N2AB turkey
  2477.  
  2478. the resulting commands sent to the TNC would be:
  2479.  
  2480.   t N2AB
  2481.   Hi turkey - how are you?
  2482.  
  2483. If you understand DOS BATCH language, this substitution is very similar
  2484. to the way that DOS substitutes tokens.
  2485.  
  2486. The rules are:
  2487.  
  2488. 1.  Any %1 through %9 will be replaced with the first to ninth extra
  2489.     words (tokens) on the @DO command line.
  2490.  
  2491.  
  2492.  
  2493.                              Advanced Topics                          34
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501. 2.  No special characters or delimiters are required - AB%1%2CD is a
  2502.     valid target, in which both %1 and %2 will be replaced; since there
  2503.     are no spaces around %1 and %2 in this example, none will appear
  2504.     when resolved.
  2505.  
  2506. 3.  You do not have to enter all (or any) extra words on the @DO command
  2507.     line.  If your script calls for more tokens than entered, they will
  2508.     be replaced with nothing.  If you enter more words on @DO that you
  2509.     call for in the script, the rest of the words will be ignored.
  2510.  
  2511. 4.  % followed by any other character will be ignored - if you MUST have
  2512.     a % followed by a number that you do NOT want to be changed, use %%
  2513.     instead - the %% will become a single %.
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.                              Advanced Topics                          35
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565. REFERENCE MATERIAL
  2566.  
  2567.  
  2568.  
  2569. @ COMMAND SUMMARY
  2570.  
  2571.  
  2572. In the following list, items within vertical bars represent a choice to
  2573. be made, or an abbreviation.   Items in upper case are commands or
  2574. operands; if in lower case, you may substitute values (such as the hour
  2575. and minute for hh:mm).  Items inside <> brackets are optional.
  2576.  
  2577. @AT
  2578.      specifies an event to be executed in the future at the hour (hh)
  2579.      and minuter (mm) you specify - the action can be any text,
  2580.      definition, or command - the command with no parameters resets any
  2581.      pending @AT
  2582.           @AT hh:mm action
  2583.           @AT
  2584.  
  2585. @BELLS
  2586.      allows or suppresses the Ctrl-G (bell sound) on incoming messages
  2587.           @BELLS | ON  |
  2588.                  | OFF |
  2589.  
  2590. @CAPTURE
  2591.      controls logging of all data written in a window to a disk file
  2592.           | @CAPTURE |  | TO  | <filename> |  |
  2593.           | @CAP     |        | PRINTER    |
  2594.                               | P          |
  2595.                         | OFF                 |
  2596.  
  2597. @CLEARSCREEN
  2598.      clears the current window
  2599.           | @CLEARSCREEN |
  2600.           | @CLS         |
  2601.  
  2602. @CLUSTERCALL
  2603.      identifies the callsign of the PacketCluster node to the program
  2604.           | @CLUSTERCALL |  call-sign
  2605.           | @CLCALL      |
  2606.  
  2607. @CMD
  2608.      tell the TNC to enter CMD mode
  2609.           @CMD
  2610.  
  2611. @COMSTAT
  2612.      displays COM port statistics
  2613.           @COMSTAT
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.                            Reference Material                         36
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629. @CONNECTALARM
  2630.      turns ON or OFF the Connect Alarm facility
  2631.           | @CONNECTALARM |  | ON  |
  2632.           | @CA           |  | OFF |
  2633.  
  2634. @DEF
  2635.      allows you to define your own function key definitions
  2636.           @DEF |      | Fxx <key definition>
  2637.                | CTRL |
  2638.                | C    |
  2639.                | ALT  |
  2640.                | A    |
  2641.  
  2642. @DO
  2643.      causes the execution of the script labeled "name"
  2644.           @DO script-name | up to 9 tokens |
  2645.  
  2646. @DOS
  2647.      execute a DOS command or enter DOS subset (DOS 3.0 or later
  2648.      required)
  2649.           @DOS <dos-command>
  2650.  
  2651. @DX
  2652.      controls routine of DX spot information to the screen and/or
  2653.      printer, and also controls whether there is a DX window on the
  2654.      screen
  2655.           @DX | ON  |  | SCREEN or S  |
  2656.               | OFF |  | PRINTER or P |
  2657.                        | WINDOW or W  |
  2658.  
  2659. @ERROR
  2660.      sends an error message to the current window - the message is in
  2661.      the error color, and the alarm tone also sounds
  2662.           @ERROR message
  2663.  
  2664. @EXIT
  2665.      stops the program immediately; the SHUTDOWN process is NOT executed
  2666.           @EXIT
  2667.  
  2668. @KEYS
  2669.      specifies the text that appears on the bottom line of the display
  2670.           @KEYS |      | bottom-line-text
  2671.                 | CTRL |
  2672.                 | C    |
  2673.                 | ALT  |
  2674.                 | A    |
  2675.  
  2676. @MYCALL
  2677.      identifies your callsign to the system
  2678.           | @MYCALL | callsign
  2679.           | @MYC    |
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.                            Reference Material                         37
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693. @MYNAME
  2694.      identifies your name to the system; the name can be one or more
  2695.      words, but I recommend using only your first name.
  2696.           | @MYNAME | name-text
  2697.           | @MYN    |
  2698.  
  2699. @SAY
  2700.      send a line to the current window
  2701.           @SAY message
  2702.  
  2703. @SEND
  2704.      causes the characters in the specified file to be transmitted.
  2705.           @SEND filename
  2706.  
  2707. @SHUTDOWN
  2708.      causes execution of the SHUTDOWN script, which should end with
  2709.      @EXIT
  2710.           | @SHUTDOWN |
  2711.           | @SHUTD    |
  2712.  
  2713. @TALKMONITOR
  2714.      turns ON or OFF the Talk Monitor facility
  2715.           | @TALKMONITOR |  | ON  |
  2716.           | @TM          |  | OFF |
  2717.  
  2718. @WAIT
  2719.      suspends execution of the script until the specified text appears
  2720.      in the TNC output, at which time execution will resume; pressing
  2721.      Esc on the keyboard aborts the WAIT, and the script will then
  2722.      continue;  the text can appear anywhere within the received line to
  2723.      be detected properly; see also @WAITNOTFOUND and @WAITTIME
  2724.           @WAIT text-to-wait-for
  2725.  
  2726. @WAITNOTFOUND
  2727.      identifies the script that should be executed when an @WAIT fails
  2728.      (i.e. the text is not found within the default time or the time
  2729.      specified by @WAITTIME
  2730.           | @WAITNOTFOUND | script-name
  2731.           | @WNF          |
  2732.  
  2733. @WAITTIME
  2734.      overrides the default time (in seconds) of how long to wait for the
  2735.      text in an @WAIT command to appear
  2736.           | @WAITTIME | n
  2737.           | @WT       |
  2738.  
  2739. @WORDWRAP
  2740.      enables or disables power typing and word wrap
  2741.           | @WORDWRAP |  | ON  |
  2742.           | @WW       |  | OFF |
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.                            Reference Material                         38
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757. COMMANDS REQUIRING CONNECTION TO THE PACKETCLUSTER
  2758.  
  2759.  
  2760. Some FLEXPAC functions or commands will not work unless the program
  2761. knows that you are connected to the station you have defined as your
  2762. PacketCluster node (via the @CLUSTERCALL command).   These commands or
  2763. functions are:
  2764.  
  2765. o   the TALKMONITOR function
  2766. o   the @DX command for DX spot manipulation (you can open a DX window
  2767.     when not connected to the PacketCluster node, but nothing will be
  2768.     displayed in it)
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.                            Reference Material                         39
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821. LISTING OF ENHANCEMENTS BETWEEN VERSIONS
  2822.  
  2823.  
  2824.  
  2825. 2.3 TO 2.4
  2826.  
  2827.  
  2828. 1.  Support added for Ctrl and Alt shifted Function keys; the key line
  2829.     contents (defined by the @KEYS command) can also be specified
  2830.     independently for Ctrl or Alt shift.
  2831. 2.  Word Wrap feature added; WW indicator added to the indicator line
  2832. 3.  Indicator line for BELLS changed from BELLS ON/BELLS OFF to a music
  2833.     symbol
  2834. 4.  Parameters for @DO can now be passed, similar to the way in which
  2835.     DOS BAT files work
  2836. 5.  Esc is now the only key that will terminate a WAIT or a script; all
  2837.     other keys typed during script processing will be ignored
  2838. 6.  Com port and baud can now be specified in the customization process
  2839. 7.  Ctrl-PgDn key erases the current line being keyed
  2840. 8.  The invocation parameter "/SPEED" has been changed to "/BAUD"
  2841. 9.  The XFLOW communications indicator has been eliminated. This was
  2842.     useful for some initial debugging and testing, but were causing
  2843.     additional problems (such as line overruns) due to the excess code
  2844.     in the com port interrupt handler.  Also, communications indicators
  2845.     appear only when the @COMSTAT command is issued; they no longer
  2846.     appear automatically at the end of the run.
  2847.  
  2848.  
  2849.  
  2850. 2.4 TO 2.5
  2851.  
  2852.  
  2853. 1.  Ability to turn off an @AT command by issuing @AT with no
  2854.     parameters.
  2855. 2.  @DELAY command added.
  2856. 3.  Fixes to multiple stream support.
  2857. 4.  Fixes to @CAPTURE were made to clean up the file format.
  2858. 5.  Connect Alarm and @CONNECTALARM command added.
  2859. 6.  Added @WAITNOTFOUND and @WAITTIME commands, allowing you to specify
  2860.     the amount of time in seconds to wait for an @WAIT to find the
  2861.     specified text, and an error script to be executed if the text is
  2862.     not found.
  2863. 7.  Added @CLEARSCREEN, @SAY and @ERROR commands.
  2864.  
  2865.  
  2866.  
  2867. 2.5 TO 2.6
  2868.  
  2869.  
  2870. 1.  Added the Menu function.
  2871. 2.  Fixed a bug in which the wrong window would be cleared using
  2872.     @CLEARSCREEN or the ctrl-home key.
  2873. 3.  Fixed a bug in the @DELAY command.  The failure was that @DELAY
  2874.     would delay ALL processes (i.e. the program would stop) rather than
  2875.  
  2876.  
  2877.                 Listing of Enhancements Between Versions              40
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.     just the script processing process.
  2886. 4.  Allowed a line containing a single '@' to be valid.
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.                 Listing of Enhancements Between Versions              41
  2942.  
  2943.  
  2944.  
  2945.