home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / packet / flxpac25 / flexpac.brw < prev    next >
Text File  |  1990-12-09  |  71KB  |  2,641 lines

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