PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #1343)

[PCjs Machine "ibm5170"]

Waiting for machine "ibm5170" to load....

Information about “BOYAN COMMUNICATIONS 2 OF 2 (ALSO 1206)”

BOYAN is a top-rated communications package which provides all of the
flexibility, speed, ease-of-use and features a person might desire
while taking full advantage of the new world of electronic mail,
computer bulletin boards, and telecommunications.

Features include:

~ Works at 9600, 4800, 2400, 1200, and 300 baud

~ Context-sensitive help screens available at any time

~ "Back up" or cancel current actions any time with the <Esc> key

~ Save time and money by uploading messages prepared off-line

~ Supports terminal emulations including VT-1-, VT-52, and ANSI-BBS.

~ File transfers use a wide variety of error-checking protocols

~ An extensive macro language with over 200 commands

~ Every BOYAN keyboard command is user-definable

~ Script files run communications sessions completely unattended.

~ Use Host mode to dial into your computer from a remote system

~ "Usage Log" to record the length of all modem connections

~ Full file manager to scan directories, copy and view files

~ Dialing directory and redialing queue

~ Scroll-back buffer to scan through off-screen text

BOYAN is generally self-explanatory.  Experienced users and new users
alike find they can use the program without ever reading the on-disk
manual.  It's there, just in case!

BOY40NEW.DOC

 =============================================================================
                  ANNOUNCING BOYAN COMMUNICATIONS VERSION 4.0!
 =============================================================================


    A letter we received recently concerning BOYAN-D3 reads,

      "This is without a doubt the finest piece of telecomm software I've
      encountered.  Your work is nothing short of fantastic.  This is not
      programming, this  is concept realization:  something to which only
      a  few applications programmers can aspire,  and  fewer  still  can
      achieve.  My congratulations for your fine work."

    Reviewers for dozens of publications, including PC Magazine, PC World, and
 PC  Week,  have  apparently  concurred,  praising   BOYAN-D3   as  "elegant,"
 "ingenious,"  "sensible,"  "a model of  convenience,"  "smooth,"  "original,"
 "intuitive," and "delightful."  On that note ... welcome to BOYAN 4.0!


 1  Background


    Version 4.0 of BOYAN Communications  represents a major upgrade from BOYAN
 version D3, the current version.  BOYAN 4.0, while  maintaining  the  widely-
 praised user interface of  BOYAN-D3,  brings original new features as well as
 state-of-the art performance.

    BOYAN 4.0 will be released on February 1, 1989 as User-Supported software.
 Those who decide to make use of BOYAN 4.0 on a regular basis will be expected
 to  pay the registration charge, which is tentatively  set  at  U.S.  $40.00.
 Distribution  diskettes will be available directly from  the  author  for  an
 additional  $15.00  (please  specify  either  two 5.25" floppies or one  3.5"
 diskette).  Typeset user manuals will also be made available later in 1988.

                                 Justin Boyan
                             BOYAN Communications
                             9458 Two Hills Court
                           Columbia, MD  21045-3228

    BOYAN 4.0 will also be available for downloading from  the  BOYAN  Support
 BBS  (919/682-4225,  1200-9600  baud,  Durham),  the  Computer  Archives  BBS
 (813/968-6220, 1200-9600  baud, Tampa), and many other Bulletin Board Systems
 throughout North America.


 2  What Makes BOYAN Special?


    BOYAN is a  powerful,  fast  communications  package  for  the  IBM-PC and
 compatible computers.  Its unmatched flexibility,  features,  and ease-of-use
 make BOYAN practical for anyone who ever needs to use a modem.


 2.1  Flexibility


    -  BOYAN supports interrupt-driven communications  with  all  serial ports
       and  modems,  at  speeds from 300 to 38,400 baud.   Both  hardware  and
       software  flow  control  are  supported  for   high-speed   modems  and
       networking.

    -  BOYAN  Action  Modules  allow  BOYAN  to  emulate   popular  terminals,
       including VT-100, VT-52,  and  ANSI-BBS.  Terminal emulations use their
       own  "secondary"  keysets  which  can  easily be customized.    Further
       emulations, as they are developed, can be easily  installed  into BOYAN
       4.0.

    -  Reliable file transfers use a  wide  variety  of  common error-checking
       protocols.  Furthermore, any additional protocol can be configured into
       BOYAN, without the use of clumsy batch files.

    -  An extensive macro language with well over 200  commands  and variables
       can automate all your communication needs:


          *  All of BOYAN's command keys  are  user-definable;  thus,  you can
             customize BOYAN's keyboard layout to exactly your own taste.

          *  Auto-macros  give you total control over  what  BOYAN  does  when
             initializing, dialing, connecting, or hanging up your modem.

          *  Shortcut macros enable common passwords and long-distance dialing
             prefixes to be stored and used easily.

          *  BOYAN  script  files  can  run communications sessions completely
             unattended,   supporting:      handshaking,  timing,  conditional
             execution, block nesting, macro nesting, and much more.

          *  BOYAN's "script learn" feature remembers  what  you  type  at all
             times.   After a session, BOYAN can walk  you  through  what  you
             typed and build an automatic script  file  for you.  You may edit
             the script before it is saved, so that your next session  on that
             system is hands-free!

          *  Sample script files are provided  for  streamlining  your  use of
             CompuServe, PC-Pursuit, and common Bulletin Board Systems.

    -  BOYAN provides a Host Mode which allows you to dial in to your computer
       from a remote system, read and write messages, send and  receive files,
       and Shell to DOS.  Two levels of password protection keep  out unwanted
       callers.  Since the Host Mode is  written  as  a  BOYAN  script,  it is
       completely customizable.


 2.2  Features


    -  BOYAN's famous "automatic filename entry" feature means you never again
       have to type a filename twice before downloading a file.

    -  BOYAN saves you time and money  by  allowing you to upload messages you
       have prepared off-line.  Exclusive:  BOYAN determines  the  line prompt
       character and handles awkward "word wraps."

    -  BOYAN's dialing directory lets you get online in a hurry:


          *  Directories  maintain  the  names,  numbers,  parameters,  Action
             Module, logon script, file transfer  protocol,  and  last connect
             date for all the sytems you ever need to dial.

          *  Editing, sorting by name or  number,  searching,  and  printing a
             directory can all be done within BOYAN.

          *  Multiple dialing directories allow  you  to  organize  your phone
             lists any way you want.

    -  A 20-number  "redialing queue" dynamically stores the numbers which you
       dial but fail to connect.  When you desire, BOYAN automatically redials
       each of  the  numbers  in  turn, showing the status of each system in a
       full-screen  display.  Numbers may be added to  and  deleted  from  the
       queue at any time.

    -  BOYAN  maintains a "usage log" that records the  length  of  all  modem
       connections  and  the  efficiency  of  all  file  transfers  for  later
       reference.  This can aid with phone records, for example.

    -  BOYAN works hand-in-hand with DOS at all times:


          *  Issuing any DOS command,  running  any  program, and entering DOS
             temporarily are possible during a communication session.

          *  BOYAN  can   easily  be  set  to  integrate  your  favorite  word
             processor/editor and file lister.

          *  A  full  built-in  Directory File Manager allows you to scan disk
             directories, copying and viewing  files  at  the  touch of a key.
             Select files for uploading as well as BOYAN script files directly
             from the File Manager's listing.

          *  BOYAN works equally well with floppy or hard disk-based systems.

    -  A "scroll-back buffer" fills all available memory.  At  any  time,  you
       can page through the text which has scrolled off the top of the screen.
       Within the buffer, you can locate specific strings, mark passages to be
       printed or filed to disk, and automatically move to  the  beginning  of
       the current session.

    -  A  "Gossip"  Action  Module splits the screen into "local" and "remote"
       windows, allowing clear online conversations between two modem users.


 2.3  Ease of Use


    -  Context-sensitive  help screens are available at  all  times  with  the
       <Ctrl-Home> key combination.

    -  "Back up" or cancel the current action anytime with the <Esc> key.

    -  A status line keeps you informed of the currently-connected system, the
       elapsed time of the call, and the script file in control.

    -  BOYAN's Line Editor facilitates entering and editing responses to BOYAN
       prompts.

    -  BOYAN's exclusive "backspace  editor"  means that any typing errors can
       be quickly corrected without retyping any erased words.  You can delete
       by  word, not just character-by-character.  Text  can  be  inserted  or
       deleted on a line at any time.

    -  Configurable  filter  tables,   screen  dumps,  disk  logging,  printer
       logging,  automatic  modem  speed-detection,  break signal support, and
       many  other  options  make BOYAN superior for any kind of microcomputer
       communications!


BOYAN-40.DOC








    =========== BOYAN Registration Form ============ Version 4.0 ===========

    Remit to:
                                  Justin Boyan
                              BOYAN Communications
                              9458 Two Hills Court
                            Columbia, MD  21045-3228

    ------------------------------------------------------------------------
    Please send:

    _____  BOYAN registration . . . . . . . . . . . . .ea $40.00 = $ _______

    _____  BOYAN registration & 5.25" disks . . . . . .ea $55.00 = $ _______
             (includes two floppy diskettes; program, manual on disk)

    _____  BOYAN registration & 3.5" disk . . . . . . .ea $55.00 = $ _______
             (includes one 720K disk; program, manual on disk)

    _____  Printed copy of user's manual  . . . . . . .ea $10.00 = $ _______
             (includes "Quick Reference Card"; available April 1989)

                                                        Subtotal = $ _______

                   Less _____% discount, if over 10 registrations  (_______)
                   (For rates, see the users manual, section 1.3.1)         

           Please add 10% if check is not U.S. currency . . . . .  $ _______

           Shipping and handling  . . . . . . . . . . . included = $    0.00

                                                           Total = $ _______

    ------------------------------------------------------------------------


    Name:    _______________________________________________________________

    Company: _______________________________________________________________

    Address: _______________________________________________________________

             _______________________________________________________________


    ========================================================================

















         /============================================================\
         |                                                            |
         |                                                            |
         |                                                            |
         |                  B O Y A N  Communications                 |
         |                  -------------------------                 |
         |                         Version 4.0                        |
         |                                                            |
         |                                                            |
         |                 Professional User-Supported                |
         |                   Communications Software                  |
         |                                                            |
         |                 Copyright(C) 1986,1987,1989                |
         |                                                            |
         |                                                            |
         |                                                            |
         |                                                            |
         |                        Justin Boyan                        |
         |                    9458 Two Hills Court                    |
         |                  Columbia, MD  21045-3228                  |
         |                                                            |
         |                    BBS:  (919)-682-4225                    |
         |                    --------------------                    |
         |                                                            |
         |                                                            |
         |                                                            |
         \============================================================/













                                       i







                                Table of Contents

         Chapter 1  Introduction                                      1
           1.1  What Makes BOYAN Special?  . . . . . . . . . . . . .  1
             1.1.1  Flexibility  . . . . . . . . . . . . . . . . . .  1
             1.1.2  Features . . . . . . . . . . . . . . . . . . . .  2
             1.1.3  Ease of Use  . . . . . . . . . . . . . . . . . .  3
           1.2  Using This Manual  . . . . . . . . . . . . . . . . .  4
           1.3  Licensing Agreement  . . . . . . . . . . . . . . . .  4
             1.3.1  How to Order . . . . . . . . . . . . . . . . . .  4
             1.3.2  Distribution of BOYAN  . . . . . . . . . . . . .  5
           1.4  Support for Registered Users . . . . . . . . . . . .  6
           1.5  Reviewers  . . . . . . . . . . . . . . . . . . . . .  6
           1.6  Disclaimer . . . . . . . . . . . . . . . . . . . . .  7

         Chapter 2  Getting Started with BOYAN                        8
           2.1  System Requirements  . . . . . . . . . . . . . . . .  8
           2.2  Setting BOYAN Up On Disk . . . . . . . . . . . . . .  8
             2.2.1  Files Included with BOYAN  . . . . . . . . . . .  8
             2.2.2  Floppy Diskette Installation . . . . . . . . . .  9
             2.2.3  Hard Disk Installation . . . . . . . . . . . . . 10
             2.2.4  DOS installation . . . . . . . . . . . . . . . . 11
           2.3  Glossary of BOYAN Terms  . . . . . . . . . . . . . . 11
           2.4  Running BOYAN for the First Time . . . . . . . . . . 13
             2.4.1  Running BOYAN  . . . . . . . . . . . . . . . . . 13
             2.4.2  First-time Modem Setup . . . . . . . . . . . . . 13
             2.4.3  Troubleshooting  . . . . . . . . . . . . . . . . 14
           2.5  The World of BOYAN . . . . . . . . . . . . . . . . . 14
             2.5.1  The Status Line  . . . . . . . . . . . . . . . . 15
             2.5.2  Go Back - <ESC>  . . . . . . . . . . . . . . . . 15
             2.5.3  The Help System  . . . . . . . . . . . . . . . . 15
             2.5.4  The Line Editor  . . . . . . . . . . . . . . . . 16

         Chapter 3  Customizing BOYAN - <Alt-C>                      17
           3.1  Configuring a Non-Hayes-Compatible Modem . . . . . . 18
           3.2  Configuring a Nonstandard Comm Device  . . . . . . . 18
           3.3  Configuring a Two-Floppy System  . . . . . . . . . . 19
           3.4  Configuring a High-Speed Modem . . . . . . . . . . . 19
           3.5  Config Area <S> -- Screen, Sound, Memory . . . . . . 20
           3.6  Config Area <D> -- Disk and File Setup . . . . . . . 22
           3.7  Config Area <C> -- Communications options  . . . . . 24
           3.8  Config Area <E> -- Expert Communications Options . . 25
           3.9  Config Area <M> -- Macros  . . . . . . . . . . . . . 28
             3.9.1  Basic Macro Commands . . . . . . . . . . . . . . 28
             3.9.2  The 120 BOYAN Macros . . . . . . . . . . . . . . 29
             3.9.3  Modem Dialing & Auto-Macros  . . . . . . . . . . 30
             3.9.4  Function Key Customization . . . . . . . . . . . 32
           3.10  Config Area <A> -- BOYAN Action Modules . . . . . . 32



                                       ii







             3.10.1  Options A-D . . . . . . . . . . . . . . . . . . 33
             3.10.2  Special BAM Configuration . . . . . . . . . . . 33
               3.10.2.1  Special VT-100 Configuration  . . . . . . . 33
               3.10.2.2  Special VT-52 Configuration . . . . . . . . 34
               3.10.2.3  Special HOST Mode Configuration . . . . . . 34
           3.11  Config Area <T> -- Translation/filter table . . . . 35
           3.12  Config Area <X> -- External File Transfer
                 Protocols . . . . . . . . . . . . . . . . . . . . . 35

         Chapter 4  BOYAN Command Capabilities                       38
           4.1  Basic Commands . . . . . . . . . . . . . . . . . . . 38
             4.1.1  <Ctrl-Home> Help Menu  . . . . . . . . . . . . . 38
             4.1.2  <Alt-X> Exit BOYAN . . . . . . . . . . . . . . . 38
             4.1.3  <Alt-Z> Zap (Clear) Screen . . . . . . . . . . . 39
             4.1.4  <Alt-B> Beeps & Bells Toggle . . . . . . . . . . 39
             4.1.5  <Alt-E> Echo Keyboard Toggle . . . . . . . . . . 39
             4.1.6  <Shift-Tab> Add Linefeeds Toggle . . . . . . . . 39
             4.1.7  <Alt-T> Translation Table Toggle . . . . . . . . 39
             4.1.8  <Alt-O> Restore Default Text Color . . . . . . . 39
           4.2  Modem Commands . . . . . . . . . . . . . . . . . . . 40
             4.2.1  <Alt-P> Parameter Change . . . . . . . . . . . . 40
             4.2.2  <Alt-D> Dial a System  . . . . . . . . . . . . . 40
               4.2.2.1  Manual Dialing . . . . . . . . . . . . . . . 40
               4.2.2.2  Code Number Dialing  . . . . . . . . . . . . 41
               4.2.2.3  After Dialing  . . . . . . . . . . . . . . . 41
               4.2.2.4  The Dialing Directory  . . . . . . . . . . . 42
               4.2.2.5  Long-Distance Dialing Prefixes . . . . . . . 44
               4.2.2.6  Uniform Dialing Prefixes . . . . . . . . . . 45
             4.2.3  <Alt-Q> Queue Redialing  . . . . . . . . . . . . 45
             4.2.4  <Alt-H> Hang Up Modem  . . . . . . . . . . . . . 46
             4.2.5  <Ctrl-End> Send Modem Break Signal . . . . . . . 47
           4.3  BOYAN Action Modules . . . . . . . . . . . . . . . . 47
             4.3.1  Action Module Descriptions . . . . . . . . . . . 47
               4.3.1.1  DUMBTERM (Dumb Terminal) . . . . . . . . . . 47
               4.3.1.2  ANSI-BBS Emulation . . . . . . . . . . . . . 47
               4.3.1.3  GOSSIP Mode  . . . . . . . . . . . . . . . . 47
               4.3.1.4  VT-100 Emulation . . . . . . . . . . . . . . 48
               4.3.1.5  VT-52 Emulation  . . . . . . . . . . . . . . 49
               4.3.1.6  HOST Action Module . . . . . . . . . . . . . 49
             4.3.2  <Alt-A> Activate new Action Module . . . . . . . 49
             4.3.3  <Scroll-Lock> Switch Between BOYAN/Terminal
                    Keysets  . . . . . . . . . . . . . . . . . . . . 49
           4.4  BOYAN File Transfers . . . . . . . . . . . . . . . . 49
             4.4.1  Auto-Find Filename Feature . . . . . . . . . . . 51
             4.4.2  <PgUp> Upload File . . . . . . . . . . . . . . . 51
             4.4.3  Uploading a Message  . . . . . . . . . . . . . . 52
             4.4.4  <PgDn> Download File . . . . . . . . . . . . . . 52
             4.4.5  External Protocol Transfers  . . . . . . . . . . 53



                                      iii







           4.5  Session Logging  . . . . . . . . . . . . . . . . . . 54
             4.5.1  <Ctrl-PrtSc> Printer Log Toggle  . . . . . . . . 54
             4.5.2  <Shift-PrtSc> Save Screen Image to Printer . . . 54
             4.5.3  <Alt-L> Log to Disk Toggle . . . . . . . . . . . 54
             4.5.4  <Alt-S> Save Screen Image to Disk  . . . . . . . 55
             4.5.5  <Alt-U> Toggle BOYAN.USE "Usage Log" File  . . . 55
           4.6  DOS and File Commands  . . . . . . . . . . . . . . . 55
             4.6.1  <Del> Directory File Manager . . . . . . . . . . 55
             4.6.2  <Ins> Issue DOS Command  . . . . . . . . . . . . 57
             4.6.3  <Alt-J> Jump to DOS  . . . . . . . . . . . . . . 57
             4.6.4  <Alt-N> New Default Drive/Directory  . . . . . . 57
             4.6.5  <Alt-F> Free Space on Disk . . . . . . . . . . . 57
             4.6.6  <Alt-V> View File  . . . . . . . . . . . . . . . 58
             4.6.7  <Alt-W> Word Process (Edit) File . . . . . . . . 58
           4.7  Scroll-Back Buffer, Scripts, etc.  . . . . . . . . . 58
             4.7.1  <Alt-R> Run Script File  . . . . . . . . . . . . 58
             4.7.2  <UpArrow> Scroll-Back Buffer . . . . . . . . . . 58
             4.7.3  Script Learn Facility  . . . . . . . . . . . . . 60
               4.7.3.1  Example: Auto-Logon Scripts  . . . . . . . . 60
               4.7.3.2  Details on Script Learning . . . . . . . . . 62
             4.7.4  <Alt-M> Enter Macro Manually . . . . . . . . . . 62
           4.8  BOYAN's Host Mode  . . . . . . . . . . . . . . . . . 63
             4.8.1  Preliminaries  . . . . . . . . . . . . . . . . . 63
             4.8.2  <Alt-I> Invoking Host Mode . . . . . . . . . . . 64
             4.8.3  Using the Host . . . . . . . . . . . . . . . . . 64
             4.8.4  Customizing HOST.BSC . . . . . . . . . . . . . . 66
             4.8.5  Exiting Host Mode  . . . . . . . . . . . . . . . 68
           4.9  BOYAN's Backspace Editor . . . . . . . . . . . . . . 68
             4.9.1  <Backspace> Erase Previous Character . . . . . . 68
             4.9.2  <LeftArrow> Forget Previous Character  . . . . . 68
             4.9.3  <Ctrl-Backspace> Erase Previous Word . . . . . . 68
             4.9.4  <Ctrl-LeftArrow> Forget Previous Word  . . . . . 69
             4.9.5  <RightArrow> Un-erase Character  . . . . . . . . 69
             4.9.6  <Ctrl-RightArrow> Un-erase Word  . . . . . . . . 69
             4.9.7  Using the Backspace Editor . . . . . . . . . . . 69

         Chapter 5  BOYAN Power:  Macros and Script Files            70
           5.1  Overview . . . . . . . . . . . . . . . . . . . . . . 70
           5.2  The Macro Programming Language . . . . . . . . . . . 70
             5.2.1  String Output  . . . . . . . . . . . . . . . . . 71
             5.2.2  How to Read the Macro Definitions  . . . . . . . 71
             5.2.3  Modem & Terminal . . . . . . . . . . . . . . . . 72
             5.2.4  Pausing & Timing . . . . . . . . . . . . . . . . 75
             5.2.5  Dialing  . . . . . . . . . . . . . . . . . . . . 76
             5.2.6  Screen & Sound . . . . . . . . . . . . . . . . . 78
             5.2.7  DOS & Printer  . . . . . . . . . . . . . . . . . 80
             5.2.8  File Transfers . . . . . . . . . . . . . . . . . 83
             5.2.9  User Variables . . . . . . . . . . . . . . . . . 84



                                       iv







             5.2.10  Conditionals  . . . . . . . . . . . . . . . . . 85
             5.2.11  Macro Control & Miscellaneous . . . . . . . . . 88
             5.2.12  Trace Mode  . . . . . . . . . . . . . . . . . . 89
           5.3  BOYAN Macro Tutorial, Examples . . . . . . . . . . . 89
           5.4  The BOYAN Command Line . . . . . . . . . . . . . . . 93
           5.5  Script Files . . . . . . . . . . . . . . . . . . . . 93
             5.5.1  Script-specific Macro Commands . . . . . . . . . 94
             5.5.2  Automatic Logon Scripts  . . . . . . . . . . . . 95
             5.5.3  Running Script Files . . . . . . . . . . . . . . 95
             5.5.4  Script Examples  . . . . . . . . . . . . . . . . 96
             5.5.5  Technical Notes  . . . . . . . . . . . . . . . . 97
           5.6  Summary of Macro Variables . . . . . . . . . . . . . 98
           5.7  Summary of Macro Commands  . . . . . . . . . . . .  101

         Appendix A  Common Questions & Answers                     111

         Appendix B  Using PC-Pursuit with BOYAN                    114
           B.1  Features . . . . . . . . . . . . . . . . . . . . .  114
           B.2  Preliminary Setup  . . . . . . . . . . . . . . . .  115
           B.3  A PC-Pursuit Session . . . . . . . . . . . . . . .  116

         Index                                                      118





























                                       v













                                   Chapter 1

                                  Introduction


    1.1  What Makes BOYAN Special?


    Ever  since  its  first public release in 1986, BOYAN Communications has
    been recognized for introducing many innovations  and  conveniences into
    the  world  of  IBM-PC  communications  software.  Version 4.0 of  BOYAN
    offers  yet more speed, power, and innovations.    Its  unmatched  flex-
    ibility, features, and  ease-of-use  make BOYAN practical for anyone who
    needs to use a modem.

    1.1.1  Flexibility

     - BOYAN supports interrupt-driven  communications with all serial ports
       and modems, at speeds from 300 to 38,400  baud.    Both  hardware and
       software  flow  control  are  supported  for  high-speed  modems  and
       networking.

     - BOYAN "Action Modules"  allow  BOYAN  to  emulate  popular terminals,
       including VT-100, VT-52, and ANSI-BBS.  Terminal emulations use their
       own "secondary" keysets which can easily be customized.  Further emu-
       lations,  as  they  are developed, can be easily installed into BOYAN
       4.0.

     - Speedy, reliable file transfers use a wide variety  of  common error-
       checking protocols, including Xmodem, CRC-Xmodem,  Ymodem, 1K-Xmodem,
       Ymodem-G, 1K-Xmodem-G,  and ASCII.  Furthermore, up to ten additional
       protocols can be easily installed as so-called  "external protocols."
       BOYAN comes preconfigured for use with Zmodem,  Ymodem-batch, Kermit,
       Compuserve-B, Megalink, and Sealink.

     - An extensive macro language with well over 200 commands and variables
       can automate all your communication needs:

        * All of BOYAN's command  keys  are  user-definable;  thus,  you can
          customize BOYAN's keyboard layout to exactly your own preferences.
          (See section 5.3 for neat examples.)




    Chapter 1,  Introduction                                          Page 1







        * Auto-macros  give  you  total control over what  BOYAN  does  when
          initializing, dialing, connecting, or hanging up your modem.

        * Shortcut macros enable  common passwords and long-distance dialing
          prefixes to be stored and used easily.

        * BOYAN  script  files can run  communications  sessions  completely
          unattended,   supporting:     handshaking,   timing,   conditional
          execution, block nesting, macro nesting, and much more.

        * BOYAN's  "script learn" feature remembers what  you  type  at  all
          times.  After a session, BOYAN can walk you through what you typed
          and build an  automatic  script  file  for  you.  You may edit the
          script before  it  is  saved,  so  that  your next session on that
          system is hands-free!

        * Sample  script files are provided for  streamlining  your  use  of
          CompuServe, PC-Pursuit, and common Bulletin Board Systems.

        * A  simple   "trace  mode"  helps  you  understand  even  the  most
          sophisticated macros and scripts.

     - BOYAN provides a Host Mode  which  allows  you  to  dial  in  to your
       computer  from a remote system, read and  write  messages,  send  and
       receive files, and Shell  to  DOS.  Two levels of password protection
       keep out unwanted callers.  Since the Host Mode is written as a BOYAN
       script, it is fully customizable.

    1.1.2  Features

     - BOYAN's famous "automatic filename  entry"  feature  means  you never
       again have to type a filename twice before downloading a file.

     - BOYAN saves you time and money by allowing you to upload messages you
       have prepared off-line.  Exclusive:  BOYAN determines the line prompt
       character and handles awkward "word wraps."

     - BOYAN maintains a "usage log" that records the length  of  all  modem
       connections and the efficiency of all file transfers  for  later ref-
       erence.  This log can verify your phone records, for example.

     - BOYAN works with DOS at all times:

        * Issuing any DOS command, running  any  program,  and  entering DOS
          temporarily are possible during a communication session.

        * BOYAN can easily be set to integrate your favorite file lister and
          word processor/editor.



    Chapter 1,  Introduction                                          Page 2







        * A full built-in Directory  File  Manager  allows  you to scan disk
          directories,  copying and viewing files at the  touch  of  a  key.
          Select files for uploading as  well as BOYAN script files directly
          from the File Manager's listing.

        * BOYAN works equally well with floppy or hard disk-based systems.

     - Dialing  directories maintain the names, numbers, parameters,  Action
       Module, logon script,  file  transfer protocol, and last connect date
       for  all the systems you ever need to dial.  Editing, sorting by name
       or number, searching, and printing a directory can all be done within
       BOYAN.  Multiple dialing directories allow you to organize your phone
       lists any way you want.

     - A 20-number "redialing queue" dynamically  stores  the  numbers which
       you dial  but  fail  to  connect.    If you wish, BOYAN automatically
       redials each  of  the  numbers  in  turn,  showing the status of each
       system in a full-screen display.  Numbers may be added to and deleted
       from the queue at any time.

     - A "scroll-back buffer" fills all available memory.  At any  time, you
       can  page  through  the text which has scrolled off the  top  of  the
       screen.  Within the  buffer,  you  can  locate specific strings, mark
       passages to be printed or filed to disk, and  automatically  move  to
       the beginning of the current session.

     - A "Gossip" Action Module splits  the screen into "local" and "remote"
       windows, allowing  clear  on-line  conversations  between  two  modem
       users.

    1.1.3  Ease of Use

     - Context-sensitive help screens are  available  at  all times with the
       <Ctrl-Home> key combination.

     - "Back up" or cancel the current action anytime with the <Esc> key.

     - A status line  keeps  you informed of the currently-connected system,
       the elapsed time of the call, and the script file in control.

     - BOYAN's Line Editor facilitates  entering  and  editing  responses to
       BOYAN prompts.

     - With BOYAN's  exclusive  "backspace  editor,"  typing  errors  can be
       quickly corrected without retyping any  erased words.  You can delete
       by  word,  not  just character-by-character.  Text can be inserted or
       deleted on a line at any time.




    Chapter 1,  Introduction                                          Page 3







     - Configurable filter tables, screen dumps, disk logging,  printer log-
       ging, automatic modem speed-detection, break signal support, and many
       other  options  make  BOYAN superior for any  kind  of  microcomputer
       communications.


    1.2  Using This Manual


    BOYAN  4.0  is an easy program to use.  Its commands  are  mnemonic  and
    similar  to those of many other  communication  programs;  on-line  help
    screens are available at any  time by pressing <Ctrl-Home>.  Experienced
    users and new users alike will be able to use BOYAN  effectively without
    ever reading this manual.

    However,  the  help  screens only summarize rather  than  fully  explain
    BOYAN's features.  The  complete  information is here.  I recommend that
    you print this  manual  (or  purchase  the typeset BOYAN manual) and try
    each  command on your PC as it is described.  This way you will  realize
    the full power of BOYAN.


    1.3  Licensing Agreement


    BOYAN Communications is Copyright (C)  1986, 1987, 1989 by Justin Boyan,
    9458 Two Hills Court, Columbia, MD  21045.

    BOYAN  Communications  is  not  free  software.  BOYAN is made  publicly
    available only to allow users to  preview  BOYAN  on a trial basis.  Any
    use  of  BOYAN  beyond this limited purpose requires registration as de-
    scribed  below.    Use of unregistered copies of BOYAN Communications by
    any individual,  business,  corporation,  government  agency,  or  other
    institution is prohibited.

    1.3.1  How to Order

    Registration  of BOYAN Communications entitles you to  use  BOYAN  on  a
    regular basis.  By registering your copies of BOYAN:

     - You support the ShareWare concept of marketing, which  allows  you to
       "try before you buy" and encourages lower prices for all software.

     - You receive written registration confirmation and a BOYAN User ID;

     - You are entitled to priority support on BOYAN's Support BBS;





    Chapter 1,  Introduction                                          Page 4







     - You are automatically registered  for  any  future releases of BOYAN,
       and you will receive mailed announcements of major upgrades.

    The registration charge for BOYAN Communications 4.0 is U.S. $40.00.  To
    receive a registered  copy  of  BOYAN  on  diskette,  please  enclose an
    additional $15.00.  This price includes your choice of two  5.25" (360K)
    floppy diskettes or one 3.5" (720K) diskette.  Finally, registered users
    may  obtain a printed copy of the BOYAN user manual for $10.00.  Manuals
    will be available in April 1989, and will include  a  convenient  "BOYAN
    Quick Reference" card.  The above costs cover all shipping.

    Note that payment is by check or money order only.  Please use the order
    form at the beginning of this manual.  Payment can  be  accepted in non-
    U.S. currency.  However, please add 10% to cover conversion costs.

    A  registered copy of BOYAN may be used on only one computer at a  time;
    it  may  not  be copied for use on multiple computers at a time.  To use
    BOYAN  on  more  than  one  computer, you must register multiple  copies
    according to the following price schedule:

           Number of copies      Price per Copy        Discount
           ----------------      --------------        --------
                 1- 10           $   40.00
                11- 25               34.00                 15%
                26- 50               30.00                 25%
                51-100               26.00                 35%
               101-200               24.00                 40%
               201+                  22.00                 45%

    An institution wishing a site  license should appoint one contact person
    to handle BOYAN's registration, support questions,  and  update notices.
    Any license of eleven or more  copies  entitles you to a special version
    of BOYAN with your company's name on the welcome screen.

    Corporate purchase orders will  be  accepted only on orders of $65.00 or
    more.

    1.3.2  Distribution of BOYAN

    In  accordance with the ShareWare distribution  method,  all  users  are
    granted permission to copy  BOYAN  Communications  for  the trial use of
    others, providing the following conditions are met:

     - BOYAN must be  copied  in completely unmodified form, and distributed
       together with the full  and  unmodified  documentation  and licensing
       information.





    Chapter 1,  Introduction                                          Page 5







     - You may not sell or trade BOYAN for  money  or  any  valuable consid-
       eration,  except  for  a nominal charge for  postage,  handling,  and
       materials.

     - BOYAN may not be distributed in conjunction with  any  other product,
       hardware or software,  without  the express written consent of Justin
       Boyan.

    Failure  to abide by this limited license by  sale  or  modification  of
    BOYAN Communications is a violation of the U.S. Copyright Act.

    Electronic Bulletin Board Systems, Public  PC Users Groups and clubs may
    add BOYAN to their ShareWare  libraries subject to the conditions above.
    In  addition,  BOYAN  Communications is offering a  special  User  Group
    discount on version 4.0  registrations.    Club librarians, please write
    for further information.

    ShareWare distributors may add BOYAN Communications  to  their libraries
    subject to the conditions above, only after writing for and receiving my
    written  consent.    It  must  be  prominently  stated  that 1) BOYAN is
    ShareWare, 2) the disks you send are for evaluation use only, and 3) the
    BOYAN registration fee of $40.00 is payable directly to the author.


    1.4  Support for Registered Users


    If you have questions about BOYAN Communications that  this  manual does
    not  address, please call the BOYAN Support  Bulletin  Board  System  at
    (919)-682-4225.  The BBS, operated  by Bruce Felstein, runs 24 hours/day
    at modem  speeds  from  1200  to 9600 baud.  After logging on, enter the
    "Mail" system and write a message  to  "Justin  Boyan."  I will reply as
    soon as possible.  If you make your message public,  others  can read it
    and offer their suggestions as well.    An additional BBS phone line may
    become available soon for registered BOYAN users only.

    If you prefer, you may mail questions directly to Justin Boyan, 9458 Two
    Hills  Court, Columbia MD  21045-3228.  Please  include  your  BOYAN  ID
    registration number if you write for support.


    1.5  Reviewers


    If you are writing a review  of  my  program for publication, I would be
    happy to talk  to  you.  Please call the Support BBS and I will leave my
    home phone number.  I would also appreciate seeing a copy of any printed
    reviews.



    Chapter 1,  Introduction                                          Page 6







    1.6  Disclaimer


    Justin Boyan and BOYAN Communications  make  no  warranty,  expressed or
    implied, concerning this program's merchantability  or  fitness  for any
    particular use.   In  no  event  is Justin Boyan or BOYAN Communications
    liable to you for any damages resulting from your use of the program.












































    Chapter 1,  Introduction                                          Page 7













                                   Chapter 2

                           Getting Started with BOYAN


    2.1  System Requirements


    BOYAN has the following minimal requirements:

     - IBM PC, XT, AT, or compatible with at least 256K of memory
     - DOS 2.0 or later
     - Two diskette drives OR a hard disk
     - An internal modem card OR a serial port and external modem
     - Any 80-column monochrome, CGA, EGA or VGA display

    BOYAN can also make full use of a printer.


    2.2  Setting BOYAN Up On Disk


    BOYAN 4.0 is shipped on either two 5.25"  diskettes  or  one  3.5" disk.
    The BOYAN program and reference manual are compressed into two "archive"
    files,  BOYAN40A.ARC (on Disk #1)  and    BOYAN40B.ARC (on Disk #2).  If
    you receive BOYAN from a  user group, ShareWare distributor, or Bulletin
    Board System, then it will also be in the form  of  the BOYAN40A.ARC and
    BOYAN40B.ARC archives.

    Distribution diskette  #2  contains  additional  archives  for  external
    protocol  drivers:   DSZ.ARC (Zmodem),  OZBEXT.ARC  (Compuserve-B),  and
    PCKERMIT.ARC  (Kermit).    Finally,  both distribution diskettes contain
    PKXARC.EXE, a utility for extracting programs from the archive files.

    2.2.1  Files Included with BOYAN

    The following files are included in the first archive, BOYAN40A.ARC:

    ANSI-BBS.BAM     ANSI-emulation BOYAN Action Module
    BOYAN.000        Overlay file #0
    BOYAN.001        Overlay file #1
    BOYAN.002        Overlay file #2



    Chapter 2,  Getting Started with BOYAN                            Page 8







    BOYAN.003        Overlay file #3
    BOYAN.004        Overlay file #4
    BOYAN.COM        Main BOYAN program file
    BOYAN.HLP        BOYAN help screens
    CIS.BSC          A script file to automate CompuServe logons
    DUMBTERM.BAM     Dumb terminal BOYAN Action Module
    ETCH.BSC         A script file demonstrating several script techniques
    GOSSIP.BAM       Gossip mode BOYAN Action Module
    HOST.BAM         Host mode BOYAN Action Module
    HOST.BSC         main Host mode BOYAN Script file
    HOSTMSGS.BSC     Auxiliary message-handling Host mode script
    PCBOARD.BSC      A script file to automate PC-Board logons
    PURSUIT.BSC      A script file to automate the PC-Pursuit service
    PURSUIT.FON      A special phone directory for use with PC-Pursuit
    README.1         Information about this version of BOYAN
    REGISTER.DOC     A printer-ready BOYAN registration form
    TCOMM.BSC        A script file to automate TComm BBS logons
    VT-100.BAM       VT-100 emulation BOYAN Action Module
    VT-100.CNF       VT-100 configuration file
    VT-52.BAM        VT-52 emulation BOYAN Action Module
    VT-52.CNF        VT-52 configuration file

    BOYAN40B.ARC contains only the following three files:

    BOY40NEW.DOC     Summary of what's new with BOYAN 4.0
    BOYAN-40.DOC     The complete BOYAN user manual
    README.2         Important information about printing the BOYAN manual

    If you have a hard disk, please skip to section 2.2.3.

    2.2.2  Floppy Diskette Installation

    To  install  BOYAN  on 5.25" (360K) floppy diskettes, format three blank
    disks and label them  "Program",  "Protocols",  and "Documentation".  To
    install BOYAN on higher-capacity  floppies,  such  as 3.5" (720K) disks,
    then  format  two  blanks  and   label   them   "Program/Protocols"  and
    "Documentation".  Then follow these steps:

       1.  Insert BOYAN Distribution Disk #1  into drive A:, and insert your
           blank "Program" disk in drive B:.

       2.  Type "B:", <Return> to make B: the currently-logged drive.

       3.  At the "B>" prompt, extract  the BOYAN programs from the BOYAN40A
           archive by typing:

                A:PKXARC A:BOYAN40A




    Chapter 2,  Getting Started with BOYAN                            Page 9







       4.  Insert  BOYAN Distribution Disk #2 into drive  A:,  and  put  the
           "Protocols" disk in drive B:.

       5.  Extract the external protocols from their archives by typing:

                A:PKXARC A:DSZ
                A:PKXARC A:OZBEXT
                A:PKXARC A:PCKERMIT


       6.  Leave  Distribution Disk #2 in drive A:,  but  insert  the  blank
           "Documentation" disk into drive B:.  Type:

                A:PKXARC A:BOYAN40B

    Skip now to section 2.2.4.

    2.2.3  Hard Disk Installation

    BOYAN provides you with a large degree of flexibility in  organizing its
    files  on your hard disk.  Advanced DOS  users  will  appreciate  having
    separate subdirectories configurable for each of the  following: dialing
    directories,  script files, uploads, downloads, and external  protocols.
    However,  the  easiest  way  to  set  up BOYAN on your hard disk  is  as
    follows:

       1.  Use the "MD" command to create a new subdirectory  on  your  hard
           disk.  For example, to make a new subdirectory named BOYAN, type

                MD C:\BOYAN

           and press <Enter>.

       2.  Enter your new subdirectory by typing, for example,

                C:
                CD \BOYAN


       3.  To extract all files from  the BOYAN40A.ARC archive into your new
           subdirectory, insert Distribution  Disk  #1  into  the  A: floppy
           drive, and type:

                A:PKXARC A:BOYAN40A







    Chapter 2,  Getting Started with BOYAN                           Page 10







       4.  To extract the BOYAN documentation  and  external  protocols from
           their archives, insert Distribution  Disk  #2  into the A: floppy
           drive, and type:

                A:PKXARC A:BOYAN40B
                A:PKXARC A:DSZ
                A:PKXARC A:OZBEXT
                A:PKXARC A:PCKERMIT

    2.2.4  DOS installation

    You must also instruct DOS to  allow  at  least twelve open files with a
    CONFIG.SYS file.  If your start-up disk has no CONFIG.SYS file, type the
    following from DOS:

         COPY CON \CONFIG.SYS
         files = 12 <ctrl-Z>

    The next time you reboot, the new DOS configuration will be in effect.


    2.3  Glossary of BOYAN Terms


    The   following  few  definitions--some  standard  "computerese",   some
    specific  to  the  BOYAN program--will be useful as you get BOYAN up and
    running:

    Action Module    general name for files telling BOYAN "how  to act"--how
                     to interpret what  you  type, and how to interpret what
                     the remote system sends back.    There  is  exactly one
                     Action Module active at  all  times.    Terminal emula-
                     tions, gossip mode,  and  host mode are all examples of
                     BOYAN Action Modules.  BOYAN stores its  Action Modules
                     in files with the ".BAM" suffix.

    default          the  value  something gets if  you  don't  specifically
                     change it.  For example:  the first time you run BOYAN,
                     all options are set to  their default values.   Another
                     example: at most BOYAN prompts,  BOYAN  will  provide a
                     default answer which you may select by  simply pressing
                     <Enter>.

    downloading      receiving a DOS  file  from the remote system, via your
                     modem.

    keyset           the  keyboard's  function  keys  and cursor keys, along
                     with the BOYAN commands they  perform.    Many terminal



    Chapter 2,  Getting Started with BOYAN                           Page 11







                     emulations have a "secondary keyset" which allows those
                     keys to act as special terminal keys, as well as normal
                     BOYAN command keys.

    Macro            a line of BOYAN instructions.  If you  know  in advance
                     what  you  want  BOYAN   to   do,   you  can  put  your
                     instructions into a  macro,  and  then  run  that macro
                     later with a single keystroke.  BOYAN's  powerful macro
                     language is the key to its unmatched flexibility.

    overlay          the  BOYAN.000  through  BOYAN.004  files on your BOYAN
                     disk.  Never remove  the  disk  containing  these files
                     while BOYAN is running.

    protocol         any of the many  methods  available  for  uploading and
                     downloading files.    The  best  protocols  use  error-
                     checking to  guarantee  file  integrity  without sacri-
                     ficing  transmission  speed.    Some protocols, such as
                     Zmodem and Kermit, are  "external,"  meaning  that they
                     require a supplemental program on your disk in order to
                     work with BOYAN.

    remote system    who's  on  the  other  end  of  the  modem  connection.
                     Databases and bulletin board  systems  are  examples of
                     remote systems.

    Script file      a text file consisting of multiple macros.  If you plan
                     carefully,  a  script  file  can  be  used  to automate
                     complex  communications chores, even when the  computer
                     is unattended.  BOYAN script filenames have a suffix of
                     ".BSC".

    terminal emulation
                     Mainframe  computers  normally expect to  be  used  via
                     special   "smart   terminals,"  which   interpret   the
                     mainframe's  display output, and also send special  key
                     sequences back.  BOYAN's emulations allow your computer
                     to act just like such a terminal.

    uploading        sending  a  DOS  file to the remote  system,  via  your
                     modem.










    Chapter 2,  Getting Started with BOYAN                           Page 12







    2.4  Running BOYAN for the First Time


    2.4.1  Running BOYAN

    The program files included in the BOYAN40A.ARC archive should all  be in
    your currently-logged drive and subdirectory.   (See section 2.2.1 for a
    list.)   When  you  are  ready to start BOYAN for the first time, simply
    type "BOYAN" at  the  DOS  prompt,  and  hit  <Enter>.   If you have set
    everything  up  properly,  you should see the message, "Welcome to BOYAN
    Communications 4.0!"

    At  this  point,  you will have to answer four basic  questions:    what
    serial port does your modem use (Com1, Com2,  Com3,  or  Com4);  what is
    your modem's highest speed (300-38400 baud); what parity (None, Even, or
    Odd) should BOYAN default  to;  and can your monitor display colors (Yes
    or No).  If you are unsure about any of these questions and want to exit
    BOYAN, you may press <Esc> at any time.

    After you have answered these four questions, a welcome screen  will pop
    up while BOYAN briefly initializes.   During this process, BOYAN creates
    the following files:

    BOYAN.CNF        (2000  bytes)  Information  specific  to  your  config-
                     uration.
    BOYAN.MAC        (14,700 bytes) The 120 programmable function-key macros
                     and modem commands.
    BOYAN.FON        (14,000 bytes) A 200-entry dialing directory.

    The  next time you run BOYAN, all of these files will already be present
    in the directory, and all initialization will occur automatically.

    When BOYAN's initialization is complete, the message "Press  any  key to
    begin" appears on  the status line at the bottom of the screen.  If your
    modem is external, turn it on now.    Then  press  any  key;  the screen
    clears, and BOYAN initializes the  modem  with  the  "ATX4S0=0" command.
    Finally, BOYAN reports, "Communication ready."

    2.4.2  First-time Modem Setup


    Before trying to establish your  first connection with BOYAN, you should
    consult  your  modem  manual  to  be  sure  that  your modem is properly
    installed.  If  at all possible, you should set up the modem so that the
    "Data Terminal Ready" signal  and  "Carrier  Detect" signal are ENABLED,
    rather than ALWAYS ON.  The exact way to do this  varies  from  modem to
    modem.  For example, on a  Hayes  2400  baud modem, you need to manually
    type in the command "AT&C1&D2&W" exactly as shown (without the quotation



    Chapter 2,  Getting Started with BOYAN                           Page 13







    marks).  These settings will be  stored  even after your modem is turned
    off, so you only need to type this  command  once.    On a U.S. Robotics
    Courier (1200,2400,or HST) modem, you  must set modem toggle switches #1
    and #6 to OFF.

    2.4.3  Troubleshooting

    If  BOYAN  finds  a problem while initializing, it may report one of the
    following messages:

     - "BOYAN cannot fit in the available memory!"  In  this  case,  perhaps
       you can make more room for BOYAN by rebooting without  installing any
       memory-resident programs.  BOYAN has minimal memory  requirements, so
       this condition should be rare.

     - "Overlay not found!",  "BOYAN.HLP  not found!", or "Couldn't load any
       Action  Module!"    These  errors  will occur if the necessary  BOYAN
       auxiliary files are not located in the current DOS directory.

     - "Unable to create BOYAN.FON!", "Unable to create BOYAN.MAC!", "Unable
       to create BOYAN.CNF!"  Probable causes of these  messages  are either
       1) Your disk is write-protected,  or  2)  Your  disk  is  full.   The
       required BOYAN  files  will  fit  on  a  single diskette with room to
       spare.

     - "Com1 not ready! Use Com2?", etc.    If BOYAN detects a problem while
       initializing the serial port, it will give you the chance  to specify
       a different port before entering the program.  Press <N> to  go ahead
       and try to use the port which is not ready.  If you press <Y>  to use
       the alternate port,  but  that  port  is not ready either, then BOYAN
       will offer yet another port to try.

    For solutions  to  other  common  problems,  consult  Appendix A--Common
    Questions & Answers.


    2.5  The World of BOYAN


    Welcome!  BOYAN is now in "terminal mode,"  ready  to  begin  a communi-
    cations session.    You  may  now  type  modem commands directly, or use
    BOYAN's  many  built-in  commands.  There are several features common to
    the whole program with which you should become familiar.








    Chapter 2,  Getting Started with BOYAN                           Page 14







    2.5.1  The Status Line


    The bottom  line  of  the  screen is called the Status Line.  The Status
    Line is divided into three parts--left, middle, and right.

     - The left part of the status  line  is  used by BOYAN to interact with
       you.  When BOYAN needs to display a message or get your response to a
       prompt, it does so here.

     - The  middle part of the line tells you which version of BOYAN you are
       using.  When a "script file" takes control, its  name  flashes  here.
       Furthermore, during terminal emulation, a  small  "2"  here indicates
       that you have selected the secondary keyset, not the primary keyset.

     - The right part of the line displays information about the  system you
       dialed  most recently.  When you have made  a  connection,  the  line
       shows the name of the on-line  system  as well as the running elapsed
       time of the call.

    2.5.2  Go Back - <ESC>

    Whenever  you need to "go back" or abort  your  current  operation  with
    BOYAN, press the <Esc> key.  This is one of BOYAN's most handy features;
    you can never get stuck.  Remember, <Esc> to go back.

    2.5.3  The Help System

    BOYAN's context help screens are accessible anytime with the <Ctrl-Home>
    key combination.  When you  press <Ctrl-Home>, BOYAN displays the screen
    most likely  to  help  you.   To scan all the help screens, press <Ctrl-
    Home> while viewing a help screen.  This brings up Help Page B, the Help
    Screen Table of  Contents.    Instructions  there explain how to use the
    <PgUp> and  <PgDn>  keys  to  scroll through all 20 help pages.  You can
    also instantly view any of the screens by pressing the letter associated
    with it on the Table of Contents.

    If you are in terminal mode, pressing <Ctrl-Home> brings  up  a  special
    help screen, the BOYAN Command List.  Any command from  the  list can be
    chosen and executed  while  you  are  viewing  this help screen.  In the
    lower-right quarter of the  screen,  the current on/off state of each of
    the "toggle" commands is shown.  All BOYAN commands are  described fully
    in chapter 4.








    Chapter 2,  Getting Started with BOYAN                           Page 15







    2.5.4  The Line Editor


    When using  BOYAN's interactive commands, you are often asked questions.
    The simplest way to respond  is  to  type  in  your  response  and press
    <Enter>.   However, if you make a mistake  while  typing,  BOYAN's  Line
    Editor  lets  you quickly correct it.   Also,  BOYAN  often  provides  a
    "default" value--a suggested  response--for  its  questions.    The Line
    Editor allows you to modify, replace, or accept BOYAN's  default.    The
    following are the Line Editor commands, which are available  to  you  at
    any time as you respond to a BOYAN prompt:

         Accept entry as shown  . . . . . . . . . . . . . . . . . . .<Enter>
         Move left one character  . . . . . . . . . . . . . . . .<LeftArrow>
         Move right one character . . . . . . . . . . . . . . . <RightArrow>
         Move left one word . . . . . . . . . . . . . . . . <Ctrl-LeftArrow>
         Move right one word  . . . . . . . . . . . . . . .<Ctrl-RightArrow>
         Go to beginning of entry . . . . . . . . . . . . . . . . . . <Home>
         Go to end of entry . . . . . . . . . . . . . . . . . . . . . .<End>
         Backspace delete . . . . . . . . . . . . . . . . . . . .<Backspace>
         Delete character under cursor  . . . . . . . . . . . . . . . .<Del>
         Delete to end of entry . . . . . . . . . . . . . . . . . <Ctrl-End>
         Restore BOYAN's provided default . . . . . . . . . <Ctrl-Backspace>
         Toggle Insert Mode . . . . . . . . . . . . . . . . . . . . . .<Ins>
           Insert Mode ON:                                   flashing cursor
           Insert Mode OFF:                                     block cursor

    These commands are also listed on Help Screen "D", which you can view by
    keying the <Ctrl-Home><Ctrl-Home><D> sequence at any time.

    Anxious to try an example?  From terminal  mode,  press  the  <Del> key.
    You will see the "DIR" prompt, followed by a default response:  the name
    of the  current  DOS  disk  directory.  The Line Editor cursor is on the
    first letter of the directory name.  Press <End> to  move  the cursor to
    the  end  of  the  directory  name;  then  type "BOYAN.*"  (without  the
    quotation marks).  Before pressing <Enter>, experiment a little with the
    Line  Editor's  commands.   When you do press <Enter>, you  will  see  a
    sorted disk directory listing  of  the files you specified.  Press <Esc>
    when  you are ready to return to terminal mode.  You will find the  Line
    Editor easy and convenient after a little time with BOYAN.











    Chapter 2,  Getting Started with BOYAN                           Page 16













                                   Chapter 3

                          Customizing BOYAN - <Alt-C>


    BOYAN provides  dozens of configurable options for great flexibility and
    power.    For  example,  you  can customize BOYAN's screen colors,  disk
    directory usage, modem dialing commands, and  function  key assignments.
    Luckily,  most  of  these  options  will be perfectly suitable at  their
    preset  (default)  values.   If you are just starting with BOYAN, you do
    not need to  concern  yourself with reconfiguring BOYAN's options unless
    you fall into one of the following categories:

     - You own a nonstandard modem which does not use the Hayes command set,
       or you wish to select "pulse" rather than "Touch-Tone" dialing.   See
       section 3.1.

     - Your modem is plugged into a nonstandard serial device (a  port other
       than Com1, Com2, IBM-PC Com3, or IBM-PC Com4).  See section 3.2.

     - You are running BOYAN on a system with two 360K floppy drives, and no
       hard disk.  See section 3.3.

     - You own a high-speed modem (9600  baud  or greater), or use a network
       which requires hardware or software "flow control".  See section 3.4.

    If you do not fit  into  any  of  those  categories,  BOYAN  should work
    perfectly without your having to  perform any special configuration.  In
    that case, feel free to skip  ahead  to  chapter 4, where you will learn
    how to telecommunicate with BOYAN!

    BOYAN's built-in configuration program makes  BOYAN  easy  to  tailor to
    your own needs.  Call up the configuration section by  pressing <Alt-C>.
    A   menu   of   configuration  areas  should  appear.    Each  of  these
    configuration areas  is described in detail, beginning with section 3.5.
    Note that any configuration changes you make will be automatically saved
    on disk right away.








    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 17







    3.1  Configuring a Non-Hayes-Compatible Modem


    The Hayes command set is emulated by almost all popular modems.  If your
    modem  is  not  Hayes-compatible, however, you will have to consult your
    modem manual to edit the following BOYAN settings:

     - Modem response messages:  Configuration Area <C>, options D-I.

     - Modem dialing prefix and suffix:  Configuration Area <M>, sub-area A,
       macros number 1 and 2.

    In particular, BOYAN's modem dialing  prefix is preset to use Touch-Tone
    dialing.  If your modem/phone line does not support Touch-Tone, you must
    configure BOYAN to use pulse dialing instead, as follows:

       1.  From the main <Alt-C> configuration menu, press <M> for macros.
       2.  From the Macros menu, press <A> for Macros 1-10.
       3.  Type <1>, <Enter> to edit the "Dialing command prefix."
       4.  Modify macro #1 by typing "ATDP", <Enter>.
       5.  Press <Esc> twice to return to the main configuration menu.

    The  dialing  command  will  now  request  pulse  instead of  Touch-Tone
    dialing.


    3.2  Configuring a Nonstandard Comm Device


    The standard IBM-PC provides for only two serial  devices  (ports), Com1
    and Com2.  However, more are often needed, and BOYAN  can  support up to
    two  additional devices, named Com3 and Com4.   To  use  those  devices,
    BOYAN must know the exact "address" in computer memory where  the device
    is located.  BOYAN comes preconfigured with the addresses occupied  by a
    typical Com3 device and a typical Com4 device, so if  you  are using one
    of those, BOYAN will work without additional configuration.  However, if
    you try dialing  with  BOYAN  and  find that "nothing happens," then you
    need to consult  the  manual  that  came  with the port to determine the
    proper addresses.  In particular, BOYAN must be reconfigured to use Com3
    or Com4 on the IBM PS/2  computers.   Port addresses are configurable in
    BOYAN's  Configuration  Area  <E>,  options  M-P;  see  section 3.8  for
    details.









    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 18







    3.3  Configuring a Two-Floppy System


    Two of BOYAN's features, the Automatic Usage Log  and  External Protocol
    file transfers, require more than the 360K of disk space available  on a
    standard  5.25" floppy drive.  Therefore, to use  these  features  on  a
    system with two 360K floppies but no hard drive, you must configure them
    to use the "B:" floppy drive, as follows:

       1.  From BOYAN's terminal mode  (the  "Communication  ready" screen),
           press <Alt-C>, <D> to call up Configuration Area <D>: Disk & File
           setup.

       2.  Press <H> to  edit  the  external  protcol  path,  and  type "B:"
           <Enter>.  Now BOYAN will assume that the  external  protocols (on
           your disk labelled "Protocol") will be found in the B: drive.

       3.  Press <J> to enable  the  usage log (option=YES).  Then press <K>
           to edit  the usage log filename, and type: "B:BOYAN.USE" <Enter>.
           Now  the  usage  log  will  be  maintained  on  the B: drive (the
           "Protocol" disk).

    To start putting BOYAN to use, skip ahead to chapter 4!


    3.4  Configuring a High-Speed Modem


    High-speed modems are available which use automatic data-compression and
    error-checking  to  provide  reliable  communication at speeds exceeding
    9600 bps.    To  get  the maximum throughput from such a modem, you must
    configure several BOYAN  options.   The following discussion pertains to
    the US Robotics Courier HST, currently the most popular 9600 baud modem,
    but similar steps  would  work  for  the Hayes 9600 and other high-speed
    modems (consult your modem manual for details).

       1.  From BOYAN's terminal mode  (the  "Communication  ready" screen),
           type the following  modem  command, exactly as shown (but without
           the quotation marks):  "AT&B1&N0&H1&W" <Enter>.    This instructs
           your USR Courier HST to communicate with the  remote  computer at
           the highest possible speed, and to communicate with your computer
           at 19200 baud at all times.   It  also  tells  the  modem  to use
           "CTS/RTS  Flow Control" to insure that  BOYAN's  buffers  do  not
           overflow.

       2.  Press <Alt-C> to  call  up BOYAN's configuration menu, and select
           <C> for Communications Options.  Inside  Configuration  Area <C>,




    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 19







           press <B> repeatedly until  the  modem  speed of "19200" appears.
           Press <Esc> to return to the main configuration menu.

       3.  Select <E> for Expert Communications  Options.  Press <C> to turn
           CTS/RTS  flow control "ON", and press <F>  to  change  the  Auto-
           Detect connect speed setting  to  "NO".  Press <Esc> to return to
           the main configuration menu.

       4.  Select <M> for Macros, and type <1>, <Enter> to edit  the Dialing
           Command  Prefix  macro.   Type the following  (no  quote  marks):
           "\CS[19200]ATDT" .  This macro tells BOYAN to change the speed to
           19200 baud immediately before dialing any  number,  regardless of
           the speed selected for that system in the dialing directory.

    Following those four steps  will  squeeze  every  drop of speed possible
    from your US Robotics Courier HST modem!

    Note:  processing high-speed transmissions is a very sensitive operation
    which may be affected by  RAM-resident programs such as screen-savers or
    "pop-up"  utilities.     If  you  notice  missing  characters  or  other
    abnormalities during  high-speed  communication,  removing  the resident
    programs from memory may help.


    3.5  Config Area <S> -- Screen, Sound, Memory


    Select <S> to  see  this  menu.    Twelve options are listed, along with
    their  present values.  To change any option,  first  hit  the  option's
    letter (A-L), then enter the new value.  As you edit  an  entry  you may
    use  the  BOYAN  Line Editor (see section 2.5.4).  You  may  also  press
    <Ctrl-Home> for help at any time.

      <A> Normal text color,  default  =  23  (color), 7 (B&W).  This number
          represents  the color of the text coming to  and  from  the  modem
          during a communications session.  If you have a color  monitor and
          wish to change this value, enter a number from 1  to  127 from the
          color chart at the right.  Press <Enter> after typing the number.

      <B> Enhanced text color, default  =  79 (color), 15 (B&W).  When BOYAN
          needs  to  highlight  text on the communications  screen  for  any
          reason it will use this color.

      <C> Menu  and help screen color, default =  113  (color),  112  (B&W).
          BOYAN's menus and help screens will be displayed in this color.

      <D> Menu highlight color,  default  =  31  (color), 7 (B&W).  Used for
          highlighting menu headers.



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 20







      <E> Status line color, default = 95 (color), 112 (B&W).

      <F> Scroll-back color, default = 26 (color), 7 (B&W).  Text in BOYAN's
          scroll-back buffer will appear in this color.

      <G> Macro  display message color, default =  62  (color),  112  (B&W).
          User-generated menus,  for example, will appear on the text screen
          in this color.

      <H> Beeps  &  Bells,  default = ON.   The  value  of  this  item  will
          determine whether BOYAN's normal sound  effects are on or off each
          time BOYAN is run.  At  any  given  time while you are using BOYAN
          you may temporarily toggle the sound on or off  with  the  <Alt-B>
          command  (section 4.1.4).  Note that this  setting  is independent
          of the Alarm level.

      <I> Alarm  level,  default  = 7.  BOYAN uses its alarms  to  signal  a
          successful redialer connection, the end  of a file transfer, and a
          modem disconnect.   Change  the  volume  level  of  the  alarms by
          setting  this  field  between 1 (low buzzing) and 10 (loud, shrill
          beep).    0  turns the alarm off altogether.  Note that the alarms
          work independently of the Beeps & Bells setting.

      <J> Use  dots  in  menus, default = YES.  BOYAN will enhance its menus
          with small dots if this option is YES.

      <K> Return to Dial Dir if no connect, default  =  NO.    If you dial a
          number from the dialing directory screen but the  number  is busy,
          the dialing directory will automatically reappear if  this setting
          is YES.   If  this  setting  is  NO,  you  will be returned to the
          "Communication  ready" screen after an unsuccessful dial  attempt.
          (Auto-dialing is explained in section 4.2.2.4.)

      <L> Memory (in K) reserved for DOS shell, default =  125.  BOYAN  uses
          about 170 K of memory for itself; all remaining memory  is divided
          between the scroll-back  buffer  (section 4.7.2) and the DOS shell
          (section 4.6.3).  Larger values for this option will allow  you to
          run larger programs from within BOYAN.    If you need to run Lotus
          1-2-3 from within BOYAN, for example, you must allot at  least 100
          K of memory for the shell.  To use the "Zmodem" external protocol,
          you must reserve at  least  115 K.  Other external protocols, like
          "Kermit"  and "Sealink," work with as little as  65  K.    Smaller
          values  will  increase  the  size  of the scroll-back buffer.   To
          maximize  the size of the scroll-back buffer,  you  may  set  this
          value to 0, but then BOYAN commands like  "Copy  a  file"  will be
          disabled.  25 K is the smallest positive value  that  will  enable
          DOS command use from within BOYAN.  Changes in this setting do not
          take effect until the next time you run BOYAN.



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 21







    3.6  Config Area <D> -- Disk and File Setup


    Press  a letter from <A> through <O> to edit these entries, all of which
    concern disk operations and file transfers.  Remember, press <Ctrl-Home>
    for help.

      <A> DOS  command to view a file, default = TYPE.  To view the contents
          of  a  text  file  during  a communication session, BOYAN sends  a
          command to DOS consisting of the View file command +  the filename
          (e.g. TYPE FILENAME.EXT).  If you own another file listing utility
          such as Vernon Buerg's LIST program, you may use its name for this
          option instead.

      <B> DOS command  to  edit  a  file, default = EDLIN.  When you want to
          edit a text file, BOYAN sends  a  command to DOS consisting of the
          Edit  file  command  + the filename (e.g. EDLIN FILENAME.EXT).  If
          your word processor can edit standard text files, you may  wish to
          enter its name here.

      <C> Sort  filenames  in  file manager, default  =  YES.    When  BOYAN
          displays a disk directory,  the  filenames  will  be automatically
          alphabetized  if  this  option is YES.  If this setting is NO, the
          files will be displayed in the normal DIR order.

      <D> Default FON dialing directory, default  =  BOYAN.FON.    Enter the
          name of the dialing directory which BOYAN should load at start-up.
          The filename should end with the .FON suffix.

      <E> Default  path  for  FON directories.  Enter the complete drive and
          directory in which BOYAN should  expect to find the .FON directory
          files.  If no path is  specified  here, BOYAN will assume that the
          files are in your BOYAN directory.

      <F> Default path for file uploads.  When you transfer a file from your
          PC to a remote computer (upload), BOYAN will search this directory
          for the file.  If it  is  not  found in that directory, BOYAN will
          automatically check the current DOS directory for the  file.   You
          may  temporarily  change  this  default  path at the start of  any
          transfer, but use this option to store your usual choice.

      <G> Default path for file downloads.  When BOYAN transfers a file from
          a remote computer to your  PC  (download),  it  will automatically
          place the file in this drive and subdirectory.  BOYAN will use the
          current path if  this  field  is  left empty.  You may temporarily
          change this default  path  at  the  start of any transfer, but use
          this option to store your usual choice.




    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 22







      <H> Path  for  external  protocols.  BOYAN expects  to  find  external
          protocols such as DSZ.COM (Zmodem)  and  PCKERMIT.EXE  (Kermit) in
          the drive and subdirectory  specified  here.    If you are running
          BOYAN on a two-floppy system, you should set this  path  to  "B:".
          The BOYAN directory will be used if you leave this setting blank.

      <I> Default path for script files.  When you run a script  file, BOYAN
          searches  this  drive  and directory for the script.  If it is not
          found there, then BOYAN tries to locate the script in  the current
          DOS directory.  If you leave this setting blank, BOYAN will search
          the BOYAN directory for the script.

      <J> Maintain usage log, default = YES if you are using a hard disk, NO
          if floppy.  If you select YES, BOYAN  will  maintain  a  text file
          activity log which shows  a  record  of  all BOYAN connections and
          file transfers (see section 4.5.5).  You can toggle the  usage log
          on and off during BOYAN's operation with the <Alt-U> command.

      <K> Default usage log file, default = BOYAN.USE.  You may  specify the
          complete drive, directory, and filename for BOYAN to  use  for the
          usage log file.

      <L> Default  log  to  disk  file,  default  =  BOYAN.LOG.   BOYAN  can
          automatically  save  all  incoming text to a  disk  file  (section
          4.5.3).    Although  you can change this name each time you log to
          disk, the default subdirectory and filename should be set here.

      <M> Default  screen dump file, default = SCRNDUMP.TXT.BOYAN's  <Alt-S>
          command saves a copy of the current screen to a disk file (section
          4.5.4).  Use this option  to specify the subdirectory and filename
          BOYAN should use for this file.

      <N> Scroll-back filename, default = SCRBACK.LOG.  When viewing text in
          the  scroll-back buffer, you may mark any region  of  text  to  be
          saved to a disk file (section 4.7.2).  Specify this file's default
          subdirectory and filename here.

      <O> Default  phone  list  dump file, default = NUMBERS.TXT.  BOYAN can
          generate  a  readable  text file listing of  the  phone  directory
          (section 4.2.2.4).  Specify this file's  default  subdirectory and
          filename here.










    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 23







    3.7  Config Area <C> -- Communications options


    Select a letter from <A> through <O> to change any of these entries, all
    concerning your  modem.    The  defaults  for  these settings apply to a
    typical computer with a Hayes-compatible modem.

      <A> Serial device (port) to use.  Toggle this option  to  Com1,  Com2,
          Com3, or Com4 to specify the serial port which  BOYAN  should  use
          when  it  starts  up.  This  can  be  changed  temporarily  during
          terminal mode with the <Alt-P> Parameter  Change  command (section
          4.2.1).  Note:  if you are using the Com3 or  Com4  port,  you may
          need to specify the port  addresses in Configuration Area <E> (see
          section 3.8).

      <B> Modem  speed.    BOYAN  will  automatically use the baud rate  you
          select here (300, 1200, 2400, 4800, 9600, 19200, or 38400) when it
          starts  up,  but  this rate can be changed at any  time  with  the
          <Alt-P> command (section 4.2.1).

      <C> Parity  setting.    BOYAN will automatically use  the  parity  you
          select  (None,  Even, Odd) when it starts  up,  but  this  can  be
          changed at any time  with  the <Alt-P> command (section 4.2.1).  A
          setting  of  None  will  work  with most bulletin  board  systems;
          mainframes,  databases,  and  some  services  such  as  CompuServe
          require  a  setting  of Even.  BOYAN automatically selects a "word
          length" of 8  bits  for  No  parity,  and  7  bits for Even or Odd
          parity.

      <D> Modem connect message, default  =  CONNECT.  If your modem gives a
          message upon making a connection, enter that message  here.   Note
          that "CONNECT"  will cover the extended Hayes messages of "CONNECT
          1200," "CONNECT 2400," etc.

      <E>,<F>,<G>,<H> Modem  no  connect   messages,  defaults  =  BUSY,  NO
          CARRIER, NO DIAL TONE, and NO  ANSWER.   When your modem sends any
          of  the four messages entered here, BOYAN  will  assume  that  the
          attempted dialing was unsuccessful.   If your modem has fewer than
          four such messages, just leave the extra spaces blank.

      <I> Modem error message, default = ERROR.  If BOYAN sees  this message
          it  will  know  that an error in dialing occurred, and it will not
          attempt to redial this number.

      <J> Echo  keyboard,  default  = OFF.  If off, BOYAN will send what you
          type to the modem only; if  on,  BOYAN  will send what you type to
          the modem and the screen.  This may be toggled  temporarily during
          communications with the <Alt-E> command (section 4.1.5).



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 24







      <K> Add linefeeds, default =  OFF.    BOYAN  will add linefeeds (extra
          line spacing) to incoming carriage returns if this  option  is on.
          While using BOYAN you may temporarily toggle linefeeds  on  or off
          with the <Shift-Tab> command (section 4.1.6).

      <L> Default  file  transfer  protocol, default = X.  BOYAN version 4.0
          supports  the  following  methods  of  file  transfer:   [X]modem,
          [C]RC-Xmodem, [R]elaxed-Xmodem, [1]K-Xmodem,  [Y]modem, [G]-option
          Ymodem, and [A]SCII.  These  protocols  are  described  in section
          4.4.    BOYAN  also  supports  up  to  ten  user-defined  external
          protocols, such as [Z]modem and [K]ermit.  Note that you can still
          use any protocol at any time, no matter what the default.

      <M> Check free disk space, default = YES.   When  this  is  YES, BOYAN
          will  automatically  display  the room left on  the  drive  before
          downloading a file  and  while viewing the Directory File Manager.
          When  this  is  NO, you must press <Alt-F> in the download menu or
          <F> in the Directory File Manager to accomplish  the  same result.
          If you have a relatively slow hard disk  with  a  large  amount of
          free space on it, you may save some time if you set this option to
          NO.

      <N> Auto-find  transfer  filename,  default   =   YES.      With  most
          communications programs, transferring a file requires you to enter
          the file's name twice:  once  to  the remote computer, and once to
          your PC.  One of BOYAN's most handy  features  is  its  ability to
          "lift" a filename right off the screen, saving you the  trouble of
          typing it twice (section  4.4.1).    Select  "OFF" to disable this
          feature.

      <O> Auto-detect  message  upload  word wrap, default =  NO.    BOYAN's
          message upload feature allows you to prepare messages offline with
          your  word processor and then send them  directly  to  the  remote
          message system.  Since different systems  allow  different maximum
          lengths for each  line  of the message, uploaded message sometimes
          look strangely short on the line, or (worse yet) they  overrun the
          line,  causing word wrap.  When this feature  is  ON,  BOYAN  will
          automatically detect when the  remote  system  word wraps; if this
          happens,  BOYAN   simply   withholds   the   end-of-line  <Return>
          character.    This  works nicely with text messages, but may cause
          graphic boxes and the like to align improperly if the message line
          is too long.  Note that this feature is OFF by default.


    3.8  Config Area <E> -- Expert Communications Options


    Select the option to configure by letter (A-P).



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 25







      <A> Inter-character pacing (ms),  default  = 10.  How many thousandths
          of a second to delay between sending characters in a  macro, ASCII
          upload, or Message upload.

      <B> Line  pacing  (ms),  default  =  10.    An  additional  delay,  in
          thousandths  of a second, after sending a  Carriage  Return  in  a
          macro, ASCII upload, or Message upload.

      <C> Use  CTS/RTS  flow  control, default = NO.  Some high-speed modems
          support so-called "hardware handshaking," or CTS/RTS flow control,
          in order to prevent buffer overflows.  If your modem can be set to
          use CTS/RTS handshaking, you should set this option to YES.

      <D> Use XON/XOFF flow control, default = NO.   Some  high-speed modems
          and  networks  support "software handshaking,"  or  XON/XOFF  flow
          control,  in  order  to  prevent  buffer  overflows.   BOYAN  will
          recognize and use XON/XOFF controls if this option is set to YES.

      <E> Drop  DTR  when  closing communications port, default = YES.  When
          you exit BOYAN or change comm devices, BOYAN will  drop  the  Data
          Terminal Ready signal if this toggle is set to YES.    If you wish
          to exit BOYAN without losing  your  data  connection,  this option
          should be set to NO.

      <F> Auto-detect connect speed, default = YES.  When this is YES, BOYAN
          will automatically set its baud  rate based on the number returned
          with  the  modem  connect message after dialing.  In effect, using
          this option allows you  to  specify  your  highest modem speed for
          every dialing directory entry,  as  long  as  your modem returns a
          message with its  connect  speed.    If  your  modem  only reports
          "CONNECT" and not a baud rate like "CONNECT 1200," then you should
          set  this option to NO.  You should also set this option to NO  if
          you are using a high-speed modem with a fixed Data Rate.

      <G> Modem carrier detect mask, default = 7.  Many of  BOYAN's features
          depend on your  modem's  ability to accurately reflect its carrier
          status.  Most modems use bit 7 of  the  modem  status  register to
          indicate the presence of  a  carrier signal.  For some modems, you
          may have to type a special  command  or flick a modem dipswitch to
          get  it  to  accurately reflect the carrier  status  (see  section
          2.4.2).    If BOYAN seems to think  you  are  connected  when  you
          aren't, or vice-versa, then  as  a  last  resort try changing this
          number to 5, 4, etc.

      <H> Check  for  dial  despite carrier, default = YES.  When you try to
          dial  a number while your modem is  already  reporting  a  carrier
          signal,  BOYAN will ask you to confirm that  you  really  want  to
          "dial despite carrier."  If your modem always  forces  the carrier



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 26







          signal high, you will want  to eliminate BOYAN's prompt by setting
          this option to NO.

      <I> Time to wait for connect, default  =  45.  After dialing a number,
          BOYAN waits this  many  seconds  for  a  carrier  signal,  a modem
          message, or a keypress.  If the timer expires, BOYAN  assumes that
          no connection was made.

      <J> Time between redials, default =  3.  After an unsuccessful dialing
          attempt from the redialer, BOYAN  pauses for the number of seconds
          specified here before running the "Between Redials" Auto-Macro and
          then continuing to redial.

      <K> Script "waitfor" timeout,  default  =  40.    BOYAN's macro/script
          waitfor commands will wait for  the  number  of  seconds specified
          here before "timing out"  and  continuing to the next command.  If
          you  enter  the  maximum   value,   255,   then  BOYAN  will  wait
          indefinitely for a match.  This  value  can be reset from within a
          macro or script.

      <L> Script keyboard timeout,  default  =  10.   When a script file has
          control, BOYAN flags itself  as  "unattended"  and will accept the
          default responses to  any  keyboard prompts.  However, BOYAN waits
          for  the number of seconds you  specify  here  before  continuing.
          During  that  pause,  if you are at the keyboard, you may edit the
          default  response  with  the BOYAN Line Editor.  This setting also
          controls  how long BOYAN will ring  the  redialing  queue  connect
          alarm before proceeding to run the appropriate  auto-logon script.
          This value can be reset from within a macro or script.

      <M> Com3 port address (hexadecimal), default = $3E8.  Com3  is  not  a
          standard IBM serial device,  so  different  add-in devices may use
          different "addresses" in  memory  for the communications port.  On
          the  IBM-PC and AT, $3E8 is most often used; on the IBM PS/2, Com3
          is addressed at $3220.  You will get unpredictable results  if you
          try to use Com3 when this  value  is  not set properly.  Note that
          addresses should  be  entered  in  hexadecimal  notation,  with or
          without a "$" prefix.

      <N> Com3 interrupt (IRQ 4 or 3),  default  =  4.  Serial ports can use
          either IRQ 4 or IRQ 3  for  their "interrupt requests."  Your Com3
          devices's documentation should specify which it uses.

      <O> Com4  port  address  (hexadecimal),  default  =  $2E8.    See  the
          description of configuration option <M> above.  On  the  IBM PS/2,
          Com4 is addressed at $3228.  Attempting to use Com4 if  this value
          is set incorrectly will cause  unpredictable  results.   Addresses




    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 27







          should be entered in hexadecimal notation, with or  without  a "$"
          prefix.

      <P> Com4 interrupt (IRQ  4  or  3),  default  = 3.  Your Com4 device's
          documentation should specify which of the two interrupts it uses.


    3.9  Config Area <M> -- Macros


    A BOYAN "macro" is a line of  text,  up  to  80  characters  long, which
    contains  a  sequence  of  instructions  for  BOYAN  to follow.    BOYAN
    recognizes  well  over  200  different  two-letter macro commands.    By
    learning BOYAN's Macro Programming Language,  you  can  customize almost
    every  aspect  of  BOYAN's operation.  The Macro Programming Language is
    described in detail in chapter 5.

    3.9.1  Basic Macro Commands

    Short  of learning the Macro Programming Language,  you  can  still  use
    macros in their most basic form.  The simplest macro is just a string of
    text,  such as "John Doe".  When that macro is executed, BOYAN sends the
    string  "John  Doe" over the modem, just as if you had  typed  the  name
    manually.  If you assigned the macro "John Doe" to  a  function key (say
    <F9>), then at any later time you would only need to press <F9>, and the
    string "John Doe" would be typed out.

    The seven characters  " ^ { ~ ` \  %    have special meanings in a BOYAN
    macro.  If any of those characters are included in a macro, they are not
    sent directly to the modem, but instead have the following effects:

       1.  The quotation mark " is used before any of those seven characters
           if  you really wish that character to be  sent  directly  to  the
           modem.  For example, to send a quotation mark, include "" in your
           macro.

       2.  The caret ^ is used to send control characters.  For  example, if
           the string  ^J is found in a macro, BOYAN  will  send a control-J
           character.  ^[ sends an Escape character.

       3.  The left curly brace { is used to send  the  <Return>  character.
           It is equivalent to the macro command ^M , or typing <Enter> from
           terminal mode.

       4.  If the tilde ~ is found in a  macro,  BOYAN  will  pause one-half
           second before continuing.





    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 28







       5.  The backquote ` is ignored unless preceded by  a  quotation mark.
           It is used for spacing out BOYAN commands.

       6.  The backslash \  is  the BOYAN Macro Programming Language command
           prefix.   BOYAN's macro commands generally take  the  form  of  a
           backslash followed  by two letters.  These commands, described in
           chapter  5,  make  it  possible  for  you  to automate  all  your
           communication needs.

       7.  The  percent  sign  %  is  the BOYAN Macro  Programming  Language
           variable prefix.  BOYAN macro variables consist of a percent sign
           followed by two letters.  Chapter 5 also covers these variables.

    3.9.2  The 120 BOYAN Macros

    In  Configuration  Area  <M>, there are 120 macros available for config-
    uration.  Here is a summary of how all 120 macros are arranged:

        *  1-5:   Dialing command prefix and suffix; Reset modem parameters;
           Hang up modem; Cycle current dialing.  These are explained in the
           next section.

        *  6-14:  BOYAN Auto-macros.  The nine Auto-macros  help  make BOYAN
           uniquely powerful among communications  programs.    These macros
           automatically "come to  life"  at  specific  times  during normal
           BOYAN operations.  They are also explained in the next section.

        *  15-110:  Keystroke macros.   Every function key and BOYAN command
           key  is  assigned  its  own  macro,  which  you can  examine  and
           customize to your liking.   This is demonstrated below in section
           3.9.4.

        *  111-120:  Shortcut macros.  These correspond to the symbols above
           the top row of digits on the keyboard -- the ! @ # $ % ^ &  * ( )
           symbols.  They are shortcuts because they may  be  invoked within
           any other macro, with the macro command "\" plus the symbol.   In
           other  words,  if  you  assign   macro  113  (#)  to  the  string
           "password", then you can  embed  the  \#  string within any other
           macro to send "password".  If  you  assign macro 117 (&) to print
           the disk directory and download  a file, then including \& within
           any macro or script will do  the  same thing.  Several of BOYAN's
           automatic script files ask  you  to assign macro 111 (\!) to your
           first name, macro 112 (\@) to your last name, and macro  113 (\#)
           to your system password.   Another common use for shortcut macros
           is  long-distance  dialing  prefixes.    These  are  explained in
           section 4.2.2.5.





    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 29







    From the Macro menu, you  may  select  a  group  of 10 macros to view by
    choosing the appropriate letter from the menu (A-L).  Alternatively, you
    may go directly into editing a particular macro, by  typing  its  number
    and pressing <Enter>, or in the  case  of a keystroke or Shortcut macro,
    just  hitting the appropriate keystroke.  You may  use  the  BOYAN  Line
    Editor commands while editing any macro (see section 2.5.4).

    3.9.3  Modem Dialing & Auto-Macros

    BOYAN  Macros  1-14  perform basic modem commands  and  other  functions
    important  to BOYAN's routine performance.  Press <A>  to  go  from  the
    Macro  menu to a list of BOYAN macros 1-10, or <B> to list macros  1-20.
    To  edit any of these, type its number and press <Enter>.  Do not  worry
    if some of the Auto-Macros appear very complex; you can use  BOYAN fully
    without changing any of them!

      1.  Dialing command  prefix,  default  =  ATDT.   If you have an auto-
          dialing  modem,  enter  the string which should be sent before the
          phone number when dialing.    Advanced BOYAN Users:  you may embed
          Macro Commands here,  e.g.,  \ZS to clear the screen automatically
          before dialing.

      2.  Dialing command  suffix,  default  =  { .  This string immediately
          follows the phone number when dialing on an auto-dialing modem.

      3.  Reset modem  parameters,  default = \CA-[{~].  BOYAN automatically
          runs this macro after  you  change the modem's baud rate or parity
          settings with the <Alt-P> command.   The default uses BOYAN's \CA-
          macro  command to act as follows:  if there is no carrier (you are
          not on-line at the time when  you  press <Alt-P>), then it sends a
          <Carriage Return> to the modem and pauses for one-half second.

      4.  Hang up modem, default = \DT-~~~\DT+~~\CA+[~~~+++~~~~ATH{].   When
          you press <Alt-H> to hang up the modem, BOYAN invokes  this macro.
          The  default macro does the following:   drop  the  Data  Terminal
          Ready signal and pause.  (That will cause most modems to hang up.)
          If there is still  a  carrier signal after bringing DTR back, send
          the normal Hayes-compatible  hangup  command:  pause, +++ , pause,
          ATH <Enter>.

      5.   Cycle current dialing, default = { .  Often a modem will take  15
          or 20 seconds to determine that the number it has dialed  is busy.
          If  you  have  a modem speaker,  BOYAN  lets  you  manually  cycle
          (cancel) the dialing attempt as soon as you hear the  busy signal.
          This macro is  sent  at  that  time.   The default macro sends the
          <Return> character,  which  cycles  most  Hayes-compatible modems.
          Advanced users: you  may  use  a  macro like \DT-~\DT+ to turn the
          Data Terminal Ready signal off and on.



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 30







      6.  After connecting, default = \UM[%SN (%MS baud): %SF].   This auto-
          macro  runs  immediately  after  you  connect to any system.   The
          default  simply  adds  a  message  to the BOYAN.USE file with  the
          system name, modem speed, and system phone number.

      7.   After  disconnecting,  default = \AL3[0]\RC\UM[Disconnected after
          %SL].   This auto-macro runs immediately after you disconnect from
          any system.   The  default  sounds  a brief alarm, resets the text
          color, and adds a  "Disconnected"  message  to the BOYAN.USE usage
          file.

      8.  After a file transfer, default = \AL1[2]\UM[| %TI].    BOYAN  runs
          this auto-macro after any file  transfer.  The default rings alarm
          #1  for two seconds, and then adds a message to the usage log with
          a line of file transfer information (%TI).

      9.  BOYAN start-up, default =  \DM[  Welcome  to  BOYAN Communications
          4.0! ]ATS0=0{ .  This auto-macro runs right after you enter BOYAN.
          If your modem requires a modem initialization string, it should be
          inserted  here.  By default, Macro #9  first  displays  a  welcome
          message, and then initializes the modem with the "ATS0=0" command,
          which tells Hayes-compatible  modems  NOT to answer the phone when
          it rings.

      10.  BOYAN conclude macro, default = \LD-.  This auto-macro runs right
          after  you  tell  BOYAN you want to exit the program.  The default
          closes any open log file before exiting.

      11.  Before any script, no default.  This auto-macro runs right before
          any script file begins to execute.

      12.  After any script,  no  default.  This auto-macro runs right after
          any script finishes or is aborted.

      13.  Printer init macro, default = \PM[==== BOYAN Printer Log, %MO/%DA
          at %HR:%MI ===={].  When you select the  <I>nitialize  option from
          BOYAN's Printer Menu, this auto-macro  runs.  The default prints a
          header message with the date and time.  You may add  control codes
          to  the  macro,  e.g.,  \PM[^XB]  to send <control-X>,<B>  to  the
          printer.

      14.   Log  file init macro, default =  \LM[====  BOYAN  Log  to  Disk,
          %MO/%DA at %HR:%MI].    This auto-macro runs immediately after you
          open a log file.  The default macro logs a header message with the
          current date and time.






    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 31







    3.9.4  Function Key Customization

    Each cursor key, <Alt-letter> or  <Alt-number>  keystroke,  and function
    key is assigned to a BOYAN  macro,  numbers  15 through 110.  By editing
    those macros, each  can  be  customized  to perform any BOYAN action you
    want.    For example, suppose you wanted  to  customize  BOYAN  so  that
    pressing the <F9> function key would have the effect of typing your name
    and pressing <Enter>.  Arranging this is as easy as 1-2-3:

       1.  From the Macro menu (Configuration  Area <M>), press <F9>.  BOYAN
           automatically selects the  <F9>  keystroke macro, #79, for you to
           edit.

       2.  Type your name  followed  by  the    {  symbol; for example, type
           "John Doe{"  (without  the  quotation  marks), and press <Enter>.
           The    {   symbol actually causes the macro to  send  a  carriage
           return.  BOYAN automatically saves your new macro to disk.

       3.  Press <Esc> to return to the Macro menu.  The  next  time you are
           on-line, pressing <F9> will send your name + <Enter>.

    A function key  macro  can do more than just send your name:  it can run
    another program, enter a new terminal emulation, download a file, change
    disk directories, select  a  new  modem  speed,  or  automate  an entire
    communications  session.   Furthermore, by  editing  the  pre-programmed
    BOYAN command macros, you can customize BOYAN's keyboard layout entirely
    to your own taste.  Chapter 5 covers BOYAN's Macro Programming Language.


    3.10  Config Area <A> -- BOYAN Action Modules


    BOYAN Action Modules (BAMs)  are  stored in the BOYAN directory as files
    with the ".BAM" suffix.  The Action Modules included with BOYAN  4.0 are
    [A]=ANSI-BBS,  [D]=DUMBTERM,  [G]=GOSSIP,   [H]=HOST,   [1]=VT-100,  and
    [5]=VT-52  (these  are  described in section 4.3).    Additional  Action
    Modules are currently in  the  works;  these include terminal emulations
    for the IBM-3101 and TVI-925.   Once  these are completed, the BAM files
    will be available for download from the BOYAN Support BBS, and  they may
    be integrated easily into BOYAN 4.0.

    Configuration  Area <A> has two functions:  to  allow  you  to  maintain
    BOYAN's list of available action modules; and to perform special config-
    uration for each individual action module.







    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 32







    3.10.1  Options A-D

      <A> Add action module to list.  When new BAM  files  become  available
          for use with BOYAN, you tell BOYAN 4.0 to recognize them by adding
          their  name to the list.  You must choose a single letter or digit
          to represent the new action module in menus.

      <B> Remove action module  from  list.    This  option  should  only be
          necessary if you  make  a  mistake  while  adding a new BAM to the
          list.

      <C> Change  current  action  module.  This option allows you to select
          the current action module,  just  as if you were choosing from the
          <Alt-A> menu.    The  lower  half  of  the screen will reflect the
          special configuration options for the newly-selected BAM.

      <D> Change default action module (default = ANSI-BBS).  BOYAN will use
          the BAM you select here automatically at start-up.    For example,
          if you want  BOYAN  to  be  in  Gossip Mode at start-up, touch <G>
          after selecting option <D>.

    3.10.2  Special BAM Configuration

    Some BOYAN Action  Modules  have their own special configurable options.
    The lower half of the Config  Area  <A> screen shows the special options
    available  for the currently-selected BAM.  If you  use  option  <C>  to
    select another BAM, a new set of special options will appear there.  The
    VT-100, VT-52, and HOST action modules have special config options.

    3.10.2.1  Special VT-100 Configuration

    Action Module [1] provides VT-100 terminal emulation, described fully in
    section 4.3.1.4.  You have the following four special config options:

      <E> Edit VT-100 secondary keyset.    The  secondary keyset changes the
          meanings  of  the  function and cursor keys while <Scroll Lock> is
          locked.  Pressing <E> brings up a menu in which all of the special
          VT-100 keyboard functions can be  customized.    Configuring these
          keys works in exactly the  same way as configuring BOYAN's primary
          keyset,  as  described  above  in  section 3.9.4.  Press <Esc>  to
          return to Config Area <A>.

      <F> Backspace sends  DEL,  default  =  NO.    When this option is YES,
          pressing backspace sends  the  DEL  character  (ASCII  127), which
          deletes backwards on many mainframe  systems.  When this option is
          NO, pressing backspace sends the standard BS character (ASCII 8).





    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 33







      <G> Wrap long lines, default = YES.  Lines of text  with  more than 80
          characters on them are wrapped to the next line if this  option is
          YES, or truncated at the 80th column if this option is NO.

      <H> Macro to send on ENQ, no  default.   Some systems expect a special
          "answerback" message  after they send the ENQ character (ASCII 5).
          BOYAN responds to ENQ by running the macro specified here.  (Refer
          back to section 3.9 on specifying control codes, etc.)

    3.10.2.2  Special VT-52 Configuration

    Action Module [5], VT-52 terminal emulation, allows you to configure (1)
    a complete secondary keyset, and (2) whether the backspace key sends the
    DEL character or the BS character.    These are identical to options <E>
    and <F> in the VT-100 special configuration.

    3.10.2.3  Special HOST Mode Configuration

    The  BOYAN Host Mode uses both the HOST.BSC script file and the [H] HOST
    Action Module.  The Action Module provides five configurable options:

      <E> Host mode files directory (drive and pathname).  The host will use
          this  directory  for  host mode messages and file transfers.  This
          should NOT be the same as the BOYAN home directory.

      <F> Host mode password, default = HOST.  Here you can set the password
          required for initial logon to the host.

      <G> Secondary password, default = SHELL.   The host mode requires that
          the user enter this secondary password for  performing "sensitive"
          operations such as shelling to DOS or shutting down the host.

      <H> Connection is by modem, default = YES.  If you are  establishing a
          direct link between two computers, and wish the host to bypass its
          normal procedure of waiting  for  the  phone  to ring, then change
          this option to NO.

      <I> Local test mode, default = OFF.  When local test  mode  is ON, all
          text which is normally sent over the modem is  displayed  on  your
          screen  instead.  In this way, you can test the host mode from the
          keyboard exactly as if you were operating it remotely.

    As new action modules become available for integration  into  BOYAN 4.0,
    they will have additional configuration options, which will be described
    in the accompanying documentation.






    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 34







    3.11  Config Area <T> -- Translation/filter table


    The ASCII character  translation  and  filter  table is used if you want
    BOYAN automatically to change or remove incoming characters.  Directions
    for using the translation table are  on  the screen.  Note that pressing
    <Ctrl-Home> gives you instant access  to an ASCII reference chart, which
    assigns each letter and symbol a number between 0 and 255.

    Example 1: if the square-root  symbol (char #251) appears erratically on
    your screen during a bad line connection, you could  have  BOYAN  simply
    filter it out.  Type <F>, 251, <Enter>.

    Example 2: you want  the  ASCII "DEL" character (#127) to be interpreted
    as  a  backspace  (#8)  when  it  is  received.   Type <T>, 127 <Enter>,
    8 <Enter>.

    Example 3: after connecting to a mainframe, your screen  fills  up  with
    graphics symbols and foreign  letters.   One way to correct this problem
    is to use a modem  parity setting of Even instead of None.  (This can be
    changed  in the dialing directory.)  Another  possible  solution  is  to
    select  <S> for "Strip 8th bit" in the  translate/filter  table.    This
    option, in effect, converts all ASCII characters with codes greater than
    128 to regular non-graphics ASCII characters.

    The "D" option from the translate/filter table allows you to  tell BOYAN
    whether or not to obey the translate table by default, that  is, whether
    the translate  table  should  be  on or off when BOYAN starts.  During a
    communication session you may turn the translation table on  or  off  at
    any time by pressing <Alt-T>.


    3.12  Config Area <X> -- External File Transfer Protocols


    BOYAN provides built-in support  for  the  Xmodem,  Relaxed-Xmodem, CRC-
    Xmodem,  1K-Xmodem,  ASCII,  Ymodem,  and  G-Ymodem   methods   of  file
    transmission.   However, BOYAN can also support  up  to  ten  additional
    protocols by calling external  programs.    BOYAN comes preconfigured to
    support   Kermit  (via  PCKERMIT.EXE),  Zmodem  and  Ymodem-batch   (via
    DSZ.COM), Compuserve Quick-B  (via OZBEXT.EXE), Sealink (via CLINK.EXE),
    and Megalink (via MLINK.COM).  (Please note that many external protocols
    are copyrighted software, with license agreements independent of that of
    BOYAN Communications.)   Furthermore,  any  additional  protocol  may be
    configured into BOYAN.    BOYAN's procedure for using external protocols
    is as follows:





    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 35







     - Check  that  the  external program exists in  the  External  Protocol
       directory (specified in Config Area <D>).

     - Make the upload or download path the default DOS drive and directory.

     - Execute a user-defined macro which  shells  to  the  external program
       with all necessary parameters.

     - When  the  transfer  is complete, change back to the previous default
       drive and directory, and return to the "Communication ready" screen.

    BOYAN needs to  know  six  pieces  of  information  about  each external
    protocol  you  wish  to configure.  To help explain, suppose you want to
    add the fictitious "Vmodem" protocol,  which is supported by an external
    program named VMODEM.EXE.  Vmodem downloads are performed by issuing the
    DOS Command  "VMODEM -speed #### -receive FILENAME.EXT";  Vmodem uploads
    require "VMODEM -speed #### -send FILENAME.EXT".   Here is how you would
    fill in the six pieces of information BOYAN needs:

     - A protocol  name  of  up  to twelve letters: Vmodem.  This is how the
       protocol will be  identified  in  the  protocol menu and in the usage
       log.

     - A  menu  selection  letter (or digit):  V.    Remember,  BOYAN  keeps
       X,R,C,1,Y,G,A, and M for  its  own  internal  protocols.  This letter
       will  be  used  to select the protocol from the protocol menus and in
       macro commands.

     - The name of the  external  file which is responsible for handling the
       transfer: VMODEM.EXE.  BOYAN makes sure that this file is present (in
       the external protocol  directory)  before allowing you to select this
       protocol.

     - Whether  the  protocol  needs to be told the name of  the  file  when
       downloading:  YES.    Some protocols, like Kermit  and  Zmodem,  will
       automatically receive the filename from the sending program, in which
       case this option  can be set to NO.  This option should always be set
       to NO for batch-transfer protocols, like batch-Ymodem.

     - Upload macro:  \DC-[%P:VMODEM -speed %MS -send %TF]  .  Most external
       file-transfer programs require parameters after the filename  to tell
       them  the  modem device (port 1, 2, 3, or 4), the  modem  speed,  the
       modem  parity,  and the name of the file to transfer.   To  write  an
       upload macro, you would use the \DC- macro  command  to  issue  a DOS
       Command;  %P: to  insert  the protocol directory pathname in front of
       the external program name;  %MD to insert the  modem  device  number;
       %MS  to  insert  the modem speed; %MP to insert the modem parity; and
       %TF to insert the transfer filename.



    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 36







     - Download  macro: \DC-[%P:VMODEM -speed %MS -receive %TF]  .  See  the
       discussion above.

    Refer  to  the predefined macros and to  the  help  screen  for  further
    information.  Although protocol configuration can  be  somewhat complex,
    it is one of the features that makes BOYAN uniquely flexible.













































    Chapter 3,  Customizing BOYAN - <Alt-C>                          Page 37













                                   Chapter 4

                           BOYAN Command Capabilities


    When  BOYAN is in terminal mode, it lets  you  communicate  through  the
    modem without obstruction.  However,  at all times BOYAN's many commands
    are one keystroke away.  This chapter describes in detail how to use the
    BOYAN commands.


    4.1  Basic Commands


    4.1.1  <Ctrl-Home> Help Menu

    While in terminal  mode,  pressing  <Ctrl-Home>  brings up a menu of all
    available  BOYAN  commands.    The  menu is split into five  categories:
    Modem, Action Modules (Terminals), Utility,  Dos  &  File,  and Toggles.
    Note  that  the  current  ON/OFF  status  for  each  of  the toggles  is
    displayed.

    To execute a command, type the  keystroke  to the right of the command's
    description.   To  view  the  help screen menu and gain access to all of
    BOYAN's help screens, press  <Ctrl-Home>  again  as described in section
    2.5.3.  If you prefer to return to  terminal  mode  without  executing a
    command, simply press <Esc>.

    4.1.2  <Alt-X> Exit BOYAN

    When you have finished a BOYAN session and wish to quit,  press <Alt-X>.
    Press  <Y> to verify the exit, or <N> to stay in BOYAN.    If  you  exit
    while still connected through the modem, you will be given a  message to
    that effect.  The Data Terminal Ready signal  will  be  held  or dropped
    depending on your configuration (see section 3.8).

    Be careful not  to  confuse  this  command  with the <Alt-J> Jump to Dos
    command, which lets you  enter  DOS but keeps BOYAN in background memory
    (described in section 4.6.3).






    Chapter 4,  BOYAN Command Capabilities                           Page 38







    4.1.3  <Alt-Z> Zap (Clear) Screen

    To clear the current screen of text, press  <Alt-Z>.    The  status line
    will remain intact.

    4.1.4  <Alt-B> Beeps & Bells Toggle

    The Beeps  and  Bells  setting  is a toggle, taking the value ON or OFF.
    When BOYAN starts,  it  will  set  this toggle to its configured default
    (section  3.5).  Note that the alarms will still sound even if the Beeps
    and  Bells  toggle  is OFF.   To  silence  BOYAN  completely,  you  must
    configure the Alarm Volume to 0, as well as turn Beeps and Bells OFF.

    4.1.5  <Alt-E> Echo Keyboard Toggle

    When the Echo Keyboard Toggle is switched OFF, every character  you type
    is sent to the modem only.  When this toggle is  ON,  each  character is
    sent to  both  the  modem  and  the  local screen.  If you see double of
    everything you type, or if you can't  see  what  you  type  at  all, try
    pressing  <Alt-E>.    BOYAN initializes this toggle  to  its  configured
    default (section 3.7).

    4.1.6  <Shift-Tab> Add Linefeeds Toggle

    When this option is ON, BOYAN adds linefeeds to  all  incoming  carriage
    returns; when OFF, all carriage returns are processed  as  is.    If all
    text is double spaced, or if all text is overprinted  on  the same line,
    try  pressing  <Shift-Tab>.    BOYAN  initializes  this  toggle  to  its
    configured default (section 3.7).

    4.1.7  <Alt-T> Translation Table Toggle

    When this toggle is  selected  ON,  BOYAN  will translate incoming ASCII
    characters as specified in the translation table (section  3.11).   When
    OFF, all characters are displayed without modification.

    4.1.8  <Alt-O> Restore Default Text Color

    If a system sends an ANSI Graphics or other terminal emulation code that
    changes the text color, you can change it back to its configured default
    by pressing <Alt-O>.










    Chapter 4,  BOYAN Command Capabilities                           Page 39







    4.2  Modem Commands


    4.2.1  <Alt-P> Parameter Change

    BOYAN version 4.0 supports  4  serial  ports  (Com1 through Com4), seven
    modem speed rates (300, 1200, 2400, 4800, 9600, 19200, and 38400), and 3
    parity formats (none, even, and odd).  When BOYAN starts, it  sets these
    three  variables  to  the defaults specified in  the  configure  section
    (section 3.7).  If you dial  a  number from the dialing directory, BOYAN
    will automatically set the  modem  parameters;  however,  if you wish to
    change  the  parameters  manually,  you  may  use  the <Alt-P>  command.
    Pressing <Alt-P> brings up a menu of key options, enabling you to change
    serial port, modem speed, or parity.  When the Status Line  displays the
    desired parameters, press <Enter> for BOYAN to make the change.   If you
    press  <Esc>  during  this  process,  BOYAN will return to its  previous
    parameters.  After  you  exit,  the  new parameters are displayed on the
    status line.

    Technical  notes:    When you select No parity, BOYAN automatically sets
    the line format to 8 data bits, 1 stop bit.  When you select Even or Odd
    parity,  the  line  format  is  7  data bits, 1 stop bit.   Since  these
    combinations are standard, BOYAN makes the choice automatically to avoid
    confusion.  Also note  that  BOYAN runs the Reset Modem Parameters auto-
    macro (#3) anytime you change the baud rate or parity with <Alt-P>.

    4.2.2  <Alt-D> Dial a System

    BOYAN makes it simple to make connections through an auto-dialing modem,
    either  with a phone number entered manually or a number from one of its
    200-entry  dialing directories.  Before using  the  <Alt-D>  command  to
    dial, be sure that your modem's dialing commands are properly configured
    (section 3.9.3).  When you press <Alt-D>, the dialing directory appears,
    and you are prompted to "Enter a phone number or a  command."    You may
    now either 1)  enter a full phone number to dial manually, or 2) enter a
    dialing  code  number  between 1 and 200  to  dial  a  system  from  the
    directory.

    4.2.2.1  Manual Dialing

    Automatic  dialing from the BOYAN directory  has  many  advantages  over
    manual dialing:  BOYAN  automatically  sets  the  parameters,  maintains
    information  about  the  system,  and  lets you abbreviate with a  short
    dialing  code  number.    Nevertheless,  manual  dialing   is  sometimes
    convenient  if  you  wish to just try a system once without bothering to
    permanently  change your directory.  To dial  manually,  first  use  the
    <Alt-P> command to be sure the modem's parameters are set to  the proper




    Chapter 4,  BOYAN Command Capabilities                           Page 40







    values.  To dial,  type  <Alt-D>, the system's full number, and <Enter>.
    What happens next is explained below in the "After Dialing" section.

    4.2.2.2  Code Number Dialing

    To  dial  a  system  which  has  already  been  entered  in the  Dialing
    Directory, simply type its code number (1-200) and press  <Enter>.    If
    the  system's  baud  rate and parity  are  different  from  the  current
    settings, BOYAN automatically adjusts  the  settings  and runs the Reset
    Modem Parameters macro (#3).  Then BOYAN dials the number.

    4.2.2.3  After Dialing

    After BOYAN has  dialed  a  number  in  either of the two ways described
    above, it waits for 45 seconds (to change this, see section 3.8) for the
    modem to return a message.  BOYAN chooses one of several paths depending
    on what happens in those 45 seconds:

       1.  If  you  press  the <Esc> key:    BOYAN's  dialing  procedure  is
           aborted, and control  is  immediately returned to you in terminal
           mode.

       2.  If  you press the <space> bar OR  the  45-second  timer  expires:
           BOYAN cycles the  current  dialing attempt with the cycle dialing
           macro; adds or updates  the  number  in  the redialing queue; and
           then returns you either to the dialing directory  or  to terminal
           mode,  depending  on  how you have configured the "Return to Dial
           Dir if no connect" option (section 3.5).

       3.  If  the  modem  returns an error message:  BOYAN cycles (cancels)
           the current dialing attempt with the cycle dialing macro (section
           3.9.3) and returns you to terminal mode.

       4.  If  the modem returns one of  the  no-connect  messages  (section
           3.7):  BOYAN adds  or  updates the number in the redialing queue,
           and then returns  you  to  either  the  dialing  directory  or to
           terminal mode as you have configured.

       5.  If BOYAN detects carrier  OR  sees the connect message:  you have
           connected!   If the auto-speed-detect feature is on, BOYAN checks
           the connect message and  sets  the  baud  rate appropriately.  It
           then starts an elapsed-time-of-call timer.    If  the  number was
           dialed by a directory code,  then  the  appropriate  BOYAN Action
           Module is invoked, and an automatic logon script  file  will take
           control if one was specified.  BOYAN also displays the  last date
           you connected to this system.  Finally, if this number was in the
           redialing queue (section 4.2.3),  it  is  removed from the queue.
           BOYAN then returns control to you.



    Chapter 4,  BOYAN Command Capabilities                           Page 41







    BOYAN's ability to dynamically add and delete numbers from the redialing
    queue is powerful and unique.  Instructions for redialing from the queue
    with the <Alt-Q> command are in section 4.2.3.

    4.2.2.4  The Dialing Directory


    BOYAN can maintain multiple dialing  directories of 200 entries each for
    your most  frequently-dialed systems.  The directory display consists of
    the directory page number, a chart  of  20  of the system entries, and a
    brief help line.  For each entry, BOYAN displays its name, phone number,
    BOYAN Action Module letter,  logon  script  file name, default protocol,
    baud  rate,  parity  setting, and last connect date.  In addition to the
    dialing capabilities described above, you have the following options:

     - <Ctrl-Home>: gives detailed help with dialing directory  commands (on
       the left side of the help screen).

     - <Home>: view page 1 of the directory.

     - <End>: view page 10 of the directory.

     - <PgUp>, <PgDn>: page through the directory.

     - <E>dit: enter  a  new  entry  or edit an existing entry.  You will be
       prompted to choose a code number (1-200) and press  <Enter>.    Then,
       using  the BOYAN Line Editor (section  2.5.4),  enter  the  following
       information for each system:

       System Name     the system's name, for your own reference

       Telephone Number
                       the full phone number.  If you wish to  use  a  long-
                       distance dialing prefix, you  may  insert  a Shortcut
                       macro as described in section 4.2.2.5.

       BAM (BOYAN Action Module)
                       a  single  letter  to assign a special  BAM  to  this
                       entry, or just a space to use the default  BAM.    If
                       you  wish  to  specify  a  special  BAM,  choose from
                       [A]=ANSI-BBS, [D]=DUMBTERM, [1]=VT-100, [5]=VT-52, or
                       [G]=GOSSIP.  Action  Modules are described in section
                       4.3.

       Script          the name of an auto-logon  script  file,  which BOYAN
                       will  automatically run whenever you connect to  this
                       system.     (BOYAN  can  create  such  script   files
                       automatically; refer to section 4.7.3.)  If  you have



    Chapter 4,  BOYAN Command Capabilities                           Page 42







                       not created  a logon script for the entry, you should
                       simply  leave  the  "Script"  field blank by pressing
                       <Enter>.

       Prot (Protocol) a single letter to  choose  a  default  file transfer
                       protocol to be used on this system, or  just  a space
                       to  not  select  a  special  default.    Choose  from
                       [X]=Xmodem,   [R]=Relaxed   Xmodem,   [C]=CRC-Xmodem,
                       [1]=1K-Xmodem,  [Y]=Ymodem, [G]=G-Ymodem,  [A]=ASCII,
                       [K]=Kermit,  [Z]=Zmodem,  etc.   (These protocols are
                       described in section 4.4.)  Note that  your selection
                       here is just a default, and does not prevent you from
                       using other file transfer protocols when connected to
                       this system.

       Comm (Baud Rate)
                       you must select a modem speed to be used when dialing
                       this  system.   Press <space>  repeatedly  until  the
                       desired baud rate appears; or, if you  prefer, select
                       by  digit  [3]=300,  [1]=1200,  [2]=2400,   [4]=4800,
                       [9]=9600, [0]=19200, or [8]=38400.

       Comm (Parity)   select a  parity setting to be used when dialing this
                       system:  [N]=None, [E]=Even, or [O]=Odd.    [N]one is
                       standard on most Bulletin Board Systems, while [E]ven
                       is usually preferred for connecting to mainframes and
                       services such as CompuServe.

       While entering/editing  a  dialing  directory  entry,  you  may press
       <UpArrow> to return to  the  previous  field,  or <Enter> to continue
       forward  to  the  next field.  The <Ctrl-Home> help screen summarizes
       the above chart (on the right side of  the  help  screen).   Pressing
       <Esc> allows you to abort the changes you have made.

     - <L>ocate: scan the dialing  directory  for  certain  entries.  At the
       "LOCATE:" prompt, type in a part of the desired entry's name or phone
       number,  and  press  <Enter>.  For example, "rbbs" will match "Phil's
       RBBS" as well as  "ComputerBBS";  "381"  will  match all entries with
       numbers like "1-301-381-1234" or "555-3810".  If a match is found, it
       is highlighted on the screen.  To continue scanning the directory for
       further matches, press <L> again and <Enter>.

     - <A>lphabetize:  sort  a  range  of  entries by name or phone  number.
       Press <A>  and  choose  whether  to sort by entry name or number.  In
       numerical sorts, local  numbers always precede long-distance numbers.
       You must also specify the first and last entries in  the  range to be
       sorted.  The sorting process may take several seconds to complete.




    Chapter 4,  BOYAN Command Capabilities                           Page 43







     - <D>elete:  delete  an entry or range of  entries.    Enter  the  code
       numbers  of the first and last entries in the range to delete.  Those
       entries  and all entries between them will  be  replaced  with  blank
       entries.  To delete only a single entry, specify its code as both the
       first and last entry.

     - <S>wap: exchange any two  entries.    This  is convenient when, after
       alphabetizing with the <A> command, you wish to put a favorite system
       at the top of the  list.   Simply specify the code numbers of the two
       entries to swap.

     - <N>ewFON:  change to a different  FON  directory, or create a new FON
       directory.  Using  multiple  phone directories gives you a convenient
       way  to  organize  your phone lists.  For example, you might create a
       VOICE.FON directory for storing regular  voice  phone  numbers,  or a
       special LONGDIST.FON directory just for  long-distance  numbers.   At
       the  "New  .FON  file:" prompt, type a name of up to eight characters
       (it is unnecessary to include the .FON filename suffix).    If  BOYAN
       finds a .FON file of that name, that .FON file will  be  loaded.   If
       BOYAN cannot find a file with the name  you  specified,  you  will be
       asked if you  mean  to  create  a  new .FON directory with that name.
       Press "Y" to verify, and an empty phone directory will be created.

     - <P>rint: print a nicely-formatted range  of the directory.  Enter the
       code numbers of the first and last entries  in  the  range  to print.
       You  can set up the printer  automatically  through  BOYAN's  printer
       interface (see section 4.5.1).

     - <F>ile: files a nicely-formatted range of the directory to disk.  The
       text file formed will be suitable for later  printing,  uploading, or
       viewing.  BOYAN will request that you enter the  file's  name,  using
       NUMBERS.TXT as the default (section 3.6).

    Each dialing directory is automatically  saved to disk after any changes
    you make to it.  Be sure that you do not remove the disk containing your
    .FON directory at any time while using BOYAN.

    4.2.2.5  Long-Distance Dialing Prefixes


    Phone numbers  are  processed  as  macros;  that  is, when BOYAN dials a
    number,  it  joins  the  modem  dialing prefix, phone number, and  modem
    dialing suffix and treats the whole string as a macro.    Thus any macro
    command (see section 3.9 and chapter  5)  can be embedded within a phone
    number.  BOYAN's Shortcut macro commands are an example.   If  you use a
    long-distance service with codes too long to fit in the  directory, this
    is your solution.




    Chapter 4,  BOYAN Command Capabilities                           Page 44







    Suppose you belong to a long-distance service which requires you to dial
    a local number (say 765-4321), pause, and enter a seven-digit  code (say
    1234567) before  dialing the long-distance number itself.  Using BOYAN's
    configuration  section,  assign  the  \*  Shortcut (#18) to  the  string
    765-4321,,1234567  .   Then, wherever the  backslash  and  asterisk  are
    found embedded in a phone number, the above string will  be substituted.
    For example, a directory  entry  with  the  phone number  \*919-682-4225
    will automatically use your long-distance  service  when  it  is dialed.
    All other macro commands are valid within phone numbers, too.

    4.2.2.6  Uniform Dialing Prefixes

    Another common situation is when the same BOYAN phone directory  must be
    used both at home and at work.  If the work phone  requires  a  9  and a
    pause  before dialing out (e.g. Centrex), the  most  convenient  way  to
    implement  this  is  to change the modem dialing prefix itself.  This is
    done in macro #1 of configuration area <M> (section 3.9.3).

    You can assign a single keystroke to modify the  dialing  prefix,  using
    the \SM1 macro command (see section 5.2.11).  Suppose you want to set it
    up so that pressing  the  <F9> key selects Centrex dialing, and pressing
    the  <F10>  key  selects normal dialing.  Configure macro #79 <F9> to be
    \SM1[ATDT 9,]  and configure macro #80 <F10> to be  \SM1[ATDT]    .   Be
    sure there are no spaces outside the square brackets when you type these
    macros.  This method is convenient and saves many  keystrokes  over  the
    methods of other communications programs.

    4.2.3  <Alt-Q> Queue Redialing

    BOYAN's queue redialer is one of its easiest and most powerful features.
    The  queue redialer will repeatedly dial from a  list  of  busy  numbers
    until  one connects.  Systems which you have  dialed  with  the  <Alt-D>
    command without connecting are automatically added to the queue.  If you
    later  dial the system with <Alt-D> again, and  do  make  a  connection,
    BOYAN removes the number from the queue.  Up to twenty different systems
    can be in the queue at one time.

    Press  <Alt-Q>  from  BOYAN's  terminal  mode.    A  list of all numbers
    currently  in  the  queue is displayed.  BOYAN provides several commands
    for  you  to add new systems to the queue and delete  systems  from  the
    queue:

     - <Ctrl-Home>:  for detailed help with queue commands.

     - To add a number to the queue which is not  in  the dialing directory,
       simply type the full number manually and press <Enter>.





    Chapter 4,  BOYAN Command Capabilities                           Page 45







     - To  add  a  number to the queue which is in  the  dialing  directory,
       simply type the system's code (1-200) and press <Enter>.

     - <Enter>:    add  numbers  to  the  queue  directly from  the  dialing
       directory.   While in the directory, all directory commands including
       alphabetizing, printing, etc. are  valid  (see  section 4.2.2.4).  To
       add a number to the queue while viewing the dialing directory, simply
       type the full number manually or the directory code (1-200) and press
       <Enter>.  After entering  the  number, you are returned to the Queue-
       redialing screen.

     - <D>elete:   delete  any  system  from the queue.  Letters from A to T
       will appear on the left-hand side of the screen next to each system's
       name.  Press the letter next to the name of the  system  you  wish to
       delete.

     - <C>lear:    clear  the entire queue.  You will have  to  verify  your
       decision by pressing <Y>.

     - <Space>:    BEGIN  REDIALING.  Starting with the number at the top of
       the queue, BOYAN  will  dial  each  number in turn, waiting for modem
       messages just as after dialing with <Alt-D> (section 4.2.2.3).  After
       dialing the last number in the  queue,  it  returns to the top to try
       the  whole  list  again.    BOYAN  pauses  for  3 seconds after every
       unsuccessful redial (to change this, see section 3.8).    During this
       pause, pressing <Esc> will  stop  redialing  and  return to the queue
       display,  pressing  <space>  will manually cycle BOYAN  to  the  next
       number in the  queue,  and  pressing  <D> will delete the number just
       dialed from the queue.  The number of attempts, length of time in the
       Queue, and current status for each system is always displayed.

    When BOYAN detects a connection with  one  of the systems it has dialed,
    the  redialing  screen  will disappear and a "ringing" alarm will sound.
    Press  any key to stop the alarm.  If the connected system had an  auto-
    logon script specified in  the  dialing  directory,  the alarm will stop
    automatically after 10 seconds  (the  script  keyboard  timeout, section
    3.8), so the script file can begin processing.  The connected  system is
    automatically  deleted  from  the queue, so after you have finished your
    session, you may  press  <Alt-Q><Space>  to  queue-redial  the remaining
    systems.

    Of course, press <Esc> to exit the queue.

    4.2.4  <Alt-H> Hang Up Modem

    Press <Alt-H> to hang up  the  modem.    The  procedure  BOYAN  uses for
    hanging  up  the  modem is completely specified in Macro #4 and is hence
    user-customizable;  see section 3.9.3 for the  details  of  the  hang-up



    Chapter 4,  BOYAN Command Capabilities                           Page 46







    process.  BOYAN will report "Hangup successful" or "Hangup unsuccessful"
    after trying.

    4.2.5  <Ctrl-End> Send Modem Break Signal

    Some  mainframe  systems  recognize  a  special signal called  a  "modem
    break."  Press <Ctrl-End> to send this signal.  This command also purges
    BOYAN's buffer of incoming text.


    4.3  BOYAN Action Modules


    At  all times during communications, both what you  type  and  what  the
    remote  system  sends  back  are  processed according to a BOYAN  Action
    Module.    Terminal  emulations, gossip mode,  and  host  mode  are  all
    examples of BOYAN Action Modules.  There is exactly  one  Action  Module
    active  at all times.  The name of the currently active Action Module is
    displayed on the main help menu, which  you  can  view  at  any  time by
    pressing <Ctrl-Home>.

    4.3.1  Action Module Descriptions

    The  six  action  modules  included  with  BOYAN  4.0 are  [D]=DUMBTERM,
    [A]=ANSI-BBS, [G]=GOSSIP, [1]=VT-100,  [5]=VT-52, and [H]=HOST.  Further
    action modules, including emulations for Televideo and IBM terminals, as
    well  as game modules for playing backgammon and  chess  by  modem,  are
    being developed for inclusion in BOYAN 4.0 (see section 3.10).

    4.3.1.1  DUMBTERM (Dumb Terminal)

    This BAM  makes  BOYAN  act  as a "dumb terminal."  No special codes are
    processed; all incoming characters from the modem are  displayed  on the
    screen as-is.

    4.3.1.2  ANSI-BBS Emulation

    The ANSI-BBS module is useful  for connecting to Bulletin Board Systems.
    Many  BBS programs send special "ANSI"  sequences  to  display  colorful
    welcome  screens, etc., which BOYAN will  handle  appropriately  if  the
    ANSI-BBS Action Module  is  selected.    Technical note:  BOYAN does not
    require that you install the DOS ANSI.SYS driver in memory.   (The codes
    are handled internally.)

    4.3.1.3  GOSSIP Mode

    BOYAN provides a gossip mode for direct "chatting" with  the  person  on
    the  other side of your connection.  When the GOSSIP BAM is invoked, the



    Chapter 4,  BOYAN Command Capabilities                           Page 47







    echo keyboard toggle is automatically turned ON, and the screen is split
    into two parts.    The  upper,  larger part displays incoming text only,
    while the lower part displays  the  text  which  you  type.    All BOYAN
    commands are still available during gossip mode.  To leave  gossip mode,
    you must  select  a  different  action  module,  at which point the echo
    keyboard toggle is returned to its previous setting.

    4.3.1.4  VT-100 Emulation

    The  DEC  VT-100  terminal  is  an extremely popular terminal, used  for
    linking up with Digital Equipment Corporation's  mainframe  computers as
    well  as  many  other mainframes.  BOYAN's VT-100 action module supports
    nearly  all  of  the  VT-100  (and VT-102) functions,  including  region
    scrolling, display  attributes  (including  extension  to  ANSI  colors)
    programmable tabs, block graphics, dedicated  printing  (make  sure your
    printer  is  on  if   you   plan  to  use  this  feature),  and  ENQuiry
    (answerback).  The answerback message is  configurable  in Configuration
    Area <A>, as are the options for translating the backspace key  to <Del>
    and for wrapping lines over 80 characters long.   See  section  3.10.2.1
    for configuration instructions.

    The VT-100 action module has a secondary keyset, which  means  that  the
    function keys and  cursor  keys  take  on new definitions in addition to
    their usual definitions.  You  must press <Scroll-Lock> to shift between
    the primary (normal BOYAN) keyset  and  the  secondary  (VT-100) keyset;
    section  4.3.3  explains  how the two  keysets  work.    BOYAN's  VT-100
    secondary keyset layout  is  the  one  used by most comm programs, where
    your keyboard's function keys <F1> through <F10> represent the left half
    of the VT-100 keypad, while the shifted function keys <Shift-F1> through
    <Shift-F10> represent the right half of the VT-100 keypad:

               BOYAN Function Keys                  VT-100 Keypad
          <F1> - <F10>  <SF1> - <SF10>
          ,----, ,----,  ,----, ,----,     ,----, ,----, ,----, ,----,
          |PF1 | |PF2 |  |PF3 | |PF4 |     |PF1 | |PF2 | |PF3 | |PF4 |
          '----' '----'  '----' '----'     '----' '----' '----' '----'
          ,----, ,----,  ,----, ,----,     ,----, ,----, ,----, ,----,
          | 7  | | 8  |  | 9  | | -  |     | 7  | | 8  | | 9  | | -  |
          '----' '----'  '----' '----'     '----' '----' '----' '----'
          ,----, ,----,  ,----, ,----,     ,----, ,----, ,----, ,----,
          | 4  | | 5  |  | 6  | | ,  |     | 4  | | 5  | | 6  | | ,  |
          '----' '----'  '----' '----'     '----' '----' '----' '----'
          ,----, ,----,  ,----, ,----,     ,----, ,----, ,----, ,----,
          | 1  | | 2  |  | 3  | |ENT |     | 1  | | 2  | | 3  | |    |
          '----' '----'  '----' '----'     '----' '----' '----' |  E |
          ,----, ,----,  ,----, ,----,     ,-----------, ,----, |  N |
          | 0  | | 0  |  | .  | |ENT |     |     0     | | .  | |  T |
          '----' '----'  '----' '----'     '-----------' '----' '----'



    Chapter 4,  BOYAN Command Capabilities                           Page 48







    Your  keyboard's  arrow  keys  are  also predefined to mimic the  VT-100
    arrows when  you  have  selected  the  secondary  keyset.  If you prefer
    another arrangement of the keys, note that BOYAN's  secondary  keyset is
    completely user-customizable (see section 3.10.2.1).  Remember  to press
    <Scroll-Lock> to select and deselect the secondary keyset.

    4.3.1.5  VT-52 Emulation

    BOYAN  emulates  all  the main functions of the DEC VT-52 terminal.  The
    VT-52 has a secondary  keyset,  which is predefined just like the VT-100
    keyset.  See section  3.10.2.2  for instructions on how to customize the
    VT-52 keyset and other options.

    4.3.1.6  HOST Action Module

    The HOST action module  works  in  conjunction  with the HOST.BSC script
    file in order to provide BOYAN's  host  mode.  A complete explanation of
    how to use the host mode is in section 4.8.

    4.3.2  <Alt-A> Activate new Action Module

    Pressing <Alt-A> brings up  a  menu of all the available Action Modules.
    To select a module, touch the appropriate letter or digit, e.g., <G> for
    Gossip.   Press <Esc> to return to  the  communications  screen  without
    changing the current action module.

    4.3.3  <Scroll-Lock> Switch Between BOYAN/Terminal Keysets

    During normal BOYAN operations, all of the function keys and cursor keys
    are assigned to  BOYAN  commands and user-definable macros; for example,
    the <UpArrow> key normally invokes BOYAN's scroll-back buffer.  However,
    when BOYAN is emulating a terminal  such  as VT-100, it is convenient to
    have your keyboard's  <UpArrow>  simulate the real VT-100 <UpArrow> key.
    Therefore,  the  VT-100  (and  VT-52)  terminal  emulations   come  with
    "secondary" or "terminal" keysets.   To  switch  between  BOYAN's normal
    "primary" keyset and the terminal  keyset,  press  <Scroll-Lock>.   When
    <Scroll-Lock> is locked, the secondary keyset is active, and a small "2"
    indicator appears in the middle of the status line.

    Both the primary and secondary keysets are completely customizable.  See
    sections 3.9 and 3.10.2.1.


    4.4  BOYAN File Transfers


    One of the most frequent activities during communication is transferring
    files.   Sending  a  file  from your PC to the remote computer is called



    Chapter 4,  BOYAN Command Capabilities                           Page 49







    uploading; receiving a file from the remote computer is downloading.  It
    is possible to transfer a file by simply sending its  contents directly,
    but  sometimes  phone  line  "noise"  can cause fatal errors during  the
    transfer.  Various "protocols"  have  been  developed  to check for, and
    correct,  those  errors.   BOYAN version 4.0 supports the following file
    transfer protocols internally:

    Xmodem           Very widely used; good error-checking with the checksum
                     method.

    Relaxed Xmodem   Identical  to  Xmodem,  but  with  relaxed  timing  for
                     networks such as CompuServe.

    CRC-Xmodem       An enhancement to Xmodem  that  vastly  improves error-
                     checking with the Cyclic Redundancy Check method.

    1K-Xmodem        Just like CRC-Xmodem, except the  data  is  checked for
                     errors  less often.  This is  very  fast  over  "clean"
                     phone lines, but can be very slow if there is a  lot of
                     line noise.   It  will  automatically  convert  to CRC-
                     Xmodem in mid-upload  if  there  are  too  many errors.
                     This protocol is sometimes (incorrectly) referred to as
                     "Ymodem."

    Ymodem           Ymodem is identical to 1K-Xmodem, except that it adds a
                     "header block" so that the  receiver  knows  in advance
                     the name and the  size  of  the file being transferred.
                     (This   Ymodem  is  for  single-file  transfers   only.
                     However, BOYAN can use Chuck Forsberg's DSZ  program to
                     perform "batch" Ymodem transfers.)

    G-Ymodem         This is a super-fast variant  of  Ymodem  for  use with
                     sophisticated, high speed  modems with their own built-
                     in error-checking protocols (such  as  MNP).   G-Ymodem
                     can  also  be  used  with  the  "1K-Xmodem-G"  protocol
                     available on some PC-Board systems, but allow about ten
                     extra seconds for handshaking as the transfer starts.

    ASCII            This  is  the  fastest protocol of all, but there is NO
                     error-checking.  It  may  only be used with text files.
                     Generally,  if  the  accuracy   of   the   transfer  is
                     important, this method should not be used.

    Message Upload   This is a "smart"  ASCII  variant  that BOYAN uses only
                     for uploading messages.  You can save time and money by
                     preparing messages with  your word processor instead of
                     typing on-line.  See section 4.4.3 for details.




    Chapter 4,  BOYAN Command Capabilities                           Page 50







    With  certain  additional  files  in  the  BOYAN  directory, BOYAN  also
    supports Kermit, Zmodem, Compuserve Quick-B, Sealink, Megalink,  and any
    other file transfer method as an external protocol.  BOYAN's help screen
    "H"  gives  detailed  information  about  file  transfer  procedures and
    protocols.

    4.4.1  Auto-Find Filename Feature

    BOYAN  has  the  unique feature of being able to automatically determine
    the name of the file you wish to transfer based on  what  you  have told
    the remote computer.  Other  communications programs require you to type
    the  full filename twice.  Only filenames  with  a  three-letter  suffix
    (e.g. TWIDDLE.ARC)  can  be  found  this way; if you want to send a file
    named TEST.X, you  will  have  to  retype  the filename for BOYAN.  This
    feature may be disabled if you wish (section 3.7).

    4.4.2  <PgUp> Upload File

    This is the procedure you should  follow  for uploading a file from your
    PC to a remote system:

       1.  From BOYAN's terminal mode, tell  the remote system that you wish
           to upload a file.  As it prompts, enter the  file's  name and the
           upload protocol you wish to use.

       2.  When the remote  system  says  it  is ready to receive, press the
           <PgUp> key.  (Alternatively, you  may select straight from a file
           directory list with the <Del> key; see section 4.6.1.)

       3.  From the menu of protocols, press the letter corresponding to the
           same protocol you told the remote system you would use.  Pressing
           <Enter> instead accepts the default protocol (section 3.7).

       4.  In  its  upload  window BOYAN will display the directory path and
           filename  of the file to be transferred.  If the file you wish to
           upload is not in  the  path  displayed,  press the <UpArrow> key,
           edit the pathname, and press <Enter>.  Make sure the  filename is
           correct and press <Enter>.  The transfer should begin.

       5.  To abort the upload procedure at any time, press <Esc>.

       6.  When the transfer finishes, successfully or unsuccessfully, BOYAN
           will sound an  alarm  and  return  you  to terminal mode.  If the
           upload  was successful, the  total  transfer  time  and  transfer
           efficiency will also be displayed.  The efficiency is based  on a
           pure transmission at full speed, so any figure above 75% is quite
           good.




    Chapter 4,  BOYAN Command Capabilities                           Page 51







    4.4.3  Uploading a Message

    If you write a message using your word processor, SideKick, or any other
    ASCII  text  editor, BOYAN can upload it just as if you  had  typed  the
    message directly.  First, from terminal mode, tell the remote system you
    wish to enter a message; enter all header information such as addressee,
    subject,  etc.  When you are given the prompt for the first line of  the
    message, press <PgUp>.  Select <M>essage Upload as the  protocol.    You
    will have to enter the message's filename manually.

    BOYAN provides a degree of convenience in message uploading not found in
    any other communications program.   First,  it  automatically determines
    the remote system's line prompt; press <Enter> to verify.  Then watch as
    BOYAN "types" the message.  It will automatically  add  a  space  to any
    blank lines because most  systems  interpret a blank line as the end-of-
    message signal.  If you have turned the "Auto-Detect Word  Wrap" feature
    ON  (section 3.7), it will automatically  detect  an  incoming  <Return>
    character and assume that the remote system has "word-wrapped."  In that
    case, BOYAN  will  send  the  line  WITHOUT  a <Return> character.  This
    feature means that you do not  need  to tailor your prepared messages to
    the system's maximum line length; if the system  word-wraps,  BOYAN will
    take care of it for you.

    Not all systems can accept the  message  text  as fast as BOYAN can send
    it.  To slow BOYAN down, increase the "inter-character" pacing  delay in
    Config Area <E> (section 3.8).

    4.4.4  <PgDn> Download File

    Follow the procedure below to download a file from the remote  system to
    your PC:

       1.  From BOYAN's terminal  mode,  instruct the remote system that you
           wish  to  download  a file.  As it prompts, enter the file's name
           and the download protocol you wish to use.

       2.  When the remote system says it is ready to send, press <PgDn>.

       3.  From  the  protocol  menu,  select  the first letter of the  same
           protocol  you told the remote system you  would  use.    Pressing
           <Enter> instead accepts the default protocol.

       4.  The next step varies a  little, depending on whether the download
           protocol needs to be told the download filename.

              a.  If you are  using  one of BOYAN's built-in protocols, such
                  as  Xmodem or ASCII, BOYAN's "Auto-Find Filename"  feature
                  will determine the name of the file to be downloaded.   In



    Chapter 4,  BOYAN Command Capabilities                           Page 52







                  the download window, BOYAN displays the  filename  as well
                  as the directory pathname.    Press  <UpArrow> if you wish
                  the    file   to   be   downloaded   into   a    different
                  drive/directory.  When the path and filename  are correct,
                  press  <Enter>  at  the  "FILENAME:"  prompt.    For ASCII
                  downloads, you may  have  to press <Enter> again to signal
                  to the remote system  that  you  are  ready.  The transfer
                  will begin.

              b.  Alternatively,  if  you   are  using  a  "smart"  external
                  protocol  such as Zmodem or Kermit, you  do  not  have  to
                  enter the filename  at  all--the  protocol  takes  care of
                  that.  You still  have  the chance to modify the drive and
                  directory  which will be used for  the  download.    Press
                  <Enter> at the "PATH:" prompt; the transfer will begin.

       5.  Press <Esc> at any time to abort the download.

       6.  When the transfer finishes,  BOYAN  sounds a brief alarm.  If the
           download was successful, the    total  transfer time and transfer
           efficiency will also be displayed.  The efficiency is based  on a
           pure transmission at full speed, so any figure above 75% is quite
           good.

    You will find that  BOYAN's  transfers almost always take less time than
    the remote system predicts they will.

    4.4.5  External Protocol Transfers

    Many sophisticated protocols are supported by  standardized  programs on
    the  IBM-PC.   Jan van der Eijk's  PCKERMIT.EXE,  for  example,  is  the
    standard  for  the  Kermit   protocol,   widely   used   on  mainframes.
    Analogously,  Chuck Forsberg's DSZ.COM is the  standard  for  Zmodem,  a
    sleek  new  protocol.   BOYAN integrates standard programs like these to
    perform so-called "external protocol transfers."  Any  external protocol
    can be configured to run through BOYAN (section 3.12).

    BOYAN is preconfigured for  Kermit,  Zmodem,  Ymodem-batch, Compuserve-B
    (OZBEXT.EXE needed), Sealink (CLINK.EXE needed), and Megalink (MLINK.COM
    needed).  To use any of  these  protocols, place the external program in
    the External Protocol directory.    (Updated  versions of these programs
    are available on many IBM-PC bulletin board systems, including the BOYAN
    Support BBS.)  Be sure that  you  have configured enough DOS Shell Space
    for the external protocols to run;  DSZ-Zmodem  may require up to 115 K,
    although most others will run under 64 K.  BOYAN will then automatically
    make the protocol available on its menus.  Note:  with  Kermit,  Zmodem,
    batch-Ymodem,  and Megalink, so-called "Batch Transfers" are  permitted;




    Chapter 4,  BOYAN Command Capabilities                           Page 53







    that is, you  can  specify  a  wildcard  filename  like   BOYAN.*  to be
    transferred, and all matching files will be sent.

    Special information for using Compuserve's  Quick-B  protocol:   Because
    Quick-B works differently than  most  protocols,  you must rearrange the
    steps of the file transfer procedure when using that protocol.  You must
    press <PgDn> or <PgUp> to invoke the external  protocol  (OZBEXT) BEFORE
    telling CIS you want to transfer a file.  This is explained fully in the
    OZBEXT documentation.

    Please  note:    the external protocols listed above are all copyrighted
    ShareWare products, with licensing  agreements  independent  of  that of
    BOYAN Communications.


    4.5  Session Logging


    To  record information from a session  during  communications,  you  can
    choose from any of the following commands:

    4.5.1  <Ctrl-PrtSc> Printer Log Toggle


    After you press <Ctrl-PrtSc> all incoming text is logged (copied) to the
    printer.  Before printing starts, however, BOYAN offers  a  brief status
    line  menu  of  printer options: you can press <I> to  run  the  printer
    Initialization macro; <L> to  advance  the printer to the next line; <F>
    to advance the printer to the next form (page); or <M> to "type" a brief
    message to the  printer.    When  the  printer is set up properly, press
    <Space> for BOYAN  to  start  printing.   To stop printer logging later,
    press <Ctrl-PrtSc> again.  (Section 3.9.3 describes how to customize the
    printer initialization macro.)

    4.5.2  <Shift-PrtSc> Save Screen Image to Printer

    As always, the <Shift-PrtSc> command will copy the entire current screen
    to the printer.

    4.5.3  <Alt-L> Log to Disk Toggle

    Press <Alt-L> to log all incoming text to a disk file.  You will have to
    enter  the  log  file's name, or just hit <Return> to accept the default
    (section 3.6).  If the file  exists,  BOYAN  will append the new text to
    the  end of the file.  When you begin logging, BOYAN runs the "Log  file
    init" auto-macro, which adds  a  one-line status message to the log file
    giving the time and date.  Press <Alt-L> again to stop disk logging.




    Chapter 4,  BOYAN Command Capabilities                           Page 54







    Note that  BOYAN's Scroll-Back buffer offers a convenient alternative to
    the <Alt-L> command:  after disconnecting, you can  scroll  back through
    the  text  of  your session, and selectively mark regions to be filed to
    disk.  The Scroll-Back buffer is described in section 4.7.2.

    4.5.4  <Alt-S> Save Screen Image to Disk

    Press <Alt-S> to save the current  screen  to  a disk file.  This file's
    directory  and filename are configurable (section 3.6).    Each  time  a
    screen is saved, BOYAN appends a  1-line  header and the screen image to
    the end of the file.

    4.5.5  <Alt-U> Toggle BOYAN.USE "Usage Log" File


    BOYAN automatically maintains an activity log file.   Unless  you change
    the configuration, the activity log will be called BOYAN.USE and will be
    saved in  the  BOYAN  home  directory.    The  log  keeps  track  of the
    following:

     - The date, time, and length of all system connections made with BOYAN.

     - All uploads and downloads, including the filename, protocol name, and
       transfer efficiency percentage.

    BOYAN's Auto-Macros allow you to  completely  customize  the  format and
    contents  of  the  activity  log.    For  example,  you could make BOYAN
    automatically keep track of all script files run;  this  is demonstrated
    on in section 5.3.


    4.6  DOS and File Commands


    BOYAN gives you easy access to DOS at all times.  The following commands
    are available:

    4.6.1  <Del> Directory File Manager

    BOYAN houses a complete integrated file manager.  To  invoke  it,  press
    <Del>   from  terminal  mode.    At  the   "DIR"   prompt,   enter   any
    drive:\path\file specifier just as you would with the  DOS  DIR command;
    or, just press <Enter> for all files in the current directory.  Both "?"
    and "*" wildcards are supported.  BOYAN will read  and  alphabetize  the
    files found, and display as many of them as it can  on  one  screen (105
    files).    Names  of  subdirectories  of the current directory are  also
    displayed,  surrounded  by  arrows.  The free disk space is shown on the




    Chapter 4,  BOYAN Command Capabilities                           Page 55







    Status Line  (unless  you  disable  this  feature  in configuration--see
    section 3.7).  BOYAN handles up to 420 files in each subdirectory.

    You  will see a list of available options near the bottom of the screen.
    Note that  the <D>elete, <R>ename, <C>opy, <V>iew, <W>ord processor, and
    <E>xecute  file  commands are only valid if there is enough memory for a
    DOS shell (see section 3.5).  Select from among the following commands:

     - <Ctrl-Home>  - View help screen

     - cursor keys  - Use the four arrow keys to  move  the highlighted file
       marker from file to file.  Press <Home> to go to the beginning of the
       directory, and <End> to go to the end.  If there  are  more  than 105
       files  in the directory, press <PgUp> and  <PgDn>  to  change  pages.
       Finally, use the <Ctrl-PgUp> and <Ctrl-PgDn> key combinations to move
       to the top and bottom, respectively, of the current column.

     - <N>ew directory:  When you press  <N>  you  will be given a new "DIR"
       prompt so you can change drives, directories, or file specifiers.  If
       the highlight was on a subdirectory name, you can just  press <Enter>
       to select that subdirectory for viewing.

     - <U>pload:  Pressing <U> immediately opens the Upload  Window  for the
       highlighted file so  you  can  select  a protocol and upload the file
       (section 4.4.2).

     - <I>nfo about file size:  Pressing  <I>  gives the size of the current
       file  in  bytes,  and the approximate length of time it would take to
       transfer the file at the current  baud  rate.   If your port speed is
       19200 or 38400 baud, then the estimate will  be  based  on  the speed
       given in your modem's "CONNECT xxxx" message, even  if  BOYAN's Auto-
       Detect baud rate feature is OFF.

     - <F>ree space:  press <F> to display the amount of  free  space on the
       drive.  (The free space is displayed automatically if the "Check Free
       disk space" setting is ON in Config Area <D>.)

     - <E>xecute  script:    Press <E> to execute a BOYAN script file with a
       suffix of .BSC.

     - <E>xecute file:  To invoke the .EXE, .COM,  or  .BAT  file  under the
       cursor,  press  <E>.   You may add any command line parameters to the
       end of the filename before pressing <Enter>.

     - <V>iew:  Press <V> to view the file using the  TYPE  command or other
       command which you have substituted (section 3.6).   For  this command
       and all following commands, press  <Enter> when the Status Line shows
       exactly what should be sent to DOS.



    Chapter 4,  BOYAN Command Capabilities                           Page 56







     - <W>ord processor:  Press <W> to edit the file using the EDLIN program
       or other editor which you have substituted (section 3.6).

     - <C>opy:  Press <C> to copy the file.  Type the  target  for  the copy
       and press <Enter>.  Note: you may print any file by copying it to the
       file PRN: .

     - <D>elete:  To delete the file, press <D>.  As with any other command,
       press <Esc> to abort or <Enter> to accept.

     - <R>ename:    Press  <R> to rename the file.  After pressing <R>, type
       the new name for the file and press <Enter>.

     - <Ins>,Issue DOS Command:    Press  <Ins>  to bring up the ">" prompt.
       Type any DOS command and BOYAN will execute it.  You can also use the
       <Ins> key from BOYAN's terminal mode, as described below.

     - <Esc>:  As always, to go back to terminal mode, press <Esc>.

    4.6.2  <Ins> Issue DOS Command

    If  you  have  reserved enough memory for a DOS shell (see section 3.5),
    pressing <Ins> will bring up the  ">"  prompt.   Type any DOS command or
    program name and BOYAN will execute it.

    4.6.3  <Alt-J> Jump to DOS

    If you have  reserved  enough  memory  for a DOS shell, pressing <Alt-J>
    will jump you directly into a DOS shell.    From  DOS,  you may use your
    word processor, un-ARChive a file, or run your spreadsheet.    When  you
    are ready to return to  BOYAN,  be  sure  the  BOYAN disk is in the same
    drive it had  been in before the shell, and type EXIT at the DOS prompt.
    BOYAN will return to your communication session as if you had never left
    it.

    4.6.4  <Alt-N> New Default Drive/Directory

    To  change  the  current logged drive or subdirectory, press <Alt-N> and
    enter  the  new  path.    Valid  examples are  B: , \MODEM\FILES  ,  and
    c:\utility .

    4.6.5  <Alt-F> Free Space on Disk

    Press <Alt-F> to find the number of bytes of free  storage  space on any
    disk.   Select  the  drive  by letter, or just press <Return> to see the
    free space on the current disk.





    Chapter 4,  BOYAN Command Capabilities                           Page 57







    4.6.6  <Alt-V> View File

    To  view the contents of an ASCII file, press <Alt-V>.  The view command
    you have configured  (section  3.6)  plus  the filename you type will be
    processed by DOS.

    4.6.7  <Alt-W> Word Process (Edit) File

    To  edit  an  ASCII file, press <Alt-W>.    The  editor  name  you  have
    configured plus the filename you type will be processed by DOS.


    4.7  Scroll-Back Buffer, Scripts, etc.


    4.7.1  <Alt-R> Run Script File

    Almost any action BOYAN performs can be automated with the use  of BOYAN
    Script  Files.  A BOYAN Script File is a series of macro commands stored
    in a normal text file.   A  full description of BOYAN's script language,
    along with appropriate examples, is in chapter 5.

    When you press <Alt-R>, you are prompted to enter the name of the script
    file to run.  The script file takes control, replacing  the   BOYAN v4.0
    message  on  the  status  line  with  its  name.  While the script  file
    controls BOYAN, no keyboard commands are valid except for <Esc> -- abort
    script.

    As you will learn in chapter 5, the commands within a script file can be
    organized into "blocks".  To run just one of those blocks,  respond with
    scriptname;blockname  to the "SCRIPT:" prompt.  For example, to run just
    the "logon" block  of  the  "TComm"  script, you would press <Alt-R> and
    respond "tcomm;logon".

    Although programming scripts from scratch  can  be  quite  a complicated
    task, BOYAN provides a  facility  which  writes  custom scripts for you.
    This facility, called "Script Learn,"  operates  within  BOYAN's Scroll-
    Back buffer.

    4.7.2  <UpArrow> Scroll-Back Buffer

    BOYAN's  Scroll-Back  buffer  is unique.  After reserving memory for its
    own variables and the DOS Shell (section 3.5), BOYAN uses  all remaining
    memory  for  the  Scroll-Back Buffer, which traps all incoming text from
    the modem and  "remembers" it so you can scan it later.  BOYAN often can
    save thousands of lines of past text.  Furthermore, the buffer remembers
    what YOU type.  This is  the  trick which lets BOYAN automatically build




    Chapter 4,  BOYAN Command Capabilities                           Page 58







    script  files  for  you, from a communications session which has already
    been completed!

    Press the <UpArrow> key to invoke the Scroll-Back Buffer.  Your "current
    position" is  at  the  bottom  of the screen.  A number in the top-right
    corner tells you which line of the buffer  you  are  on.   There are now
    many options available to you:

     - <Ctrl-Home>:  detailed help.

     - <UpArrow>, <DownArrow>:  scroll line-by-line through the buffer.

     - <PgUp>, <PgDn>:  scroll page-by-page through the buffer.

     - <End>:  move to the end  of  the  buffer, which shows the most recent
       communication.  Press  <End>,  then  <PgDn>  to  see  the  first page
       (oldest text) in the buffer.

     - <Home>:  scroll back to the beginning of your last connection.  Every
       time you make a  connection,  BOYAN places an invisible marker in the
       buffer.  <Home> takes you back to each of these markers in turn.

     - <L>ocate:  search for text within  the  buffer.  You will be prompted
       for  a  string  to locate.   BOYAN's  locate  routine  is  not  case-
       sensitive, so "bOyAn" will match "BoYaN".  If the  string  is  found,
       the buffer scrolls so the string is on the bottom line of the buffer,
       and  the  line  is highlighted.  To search back further in the buffer
       for other occurrences of the same string, press <L>, then <Enter>.

     - <S>cript learn:  described below.

     - <M>ark:  To use the scroll-back buffer's Print Region and File Region
       commands, you must first mark the beginning of the  region  with  the
       <M> command.  Use the cursor keys  to  move  the  first  line  of the
       desired region to the BOTTOM line of the  screen.    Then  press <M>.
       The mark is set and the line is highlighted.

     - <G>o to mark:  pressing <G> scrolls so that the marked line is placed
       at the bottom of the screen.

     - <P>rint:  When  you want to print a region of text, the first line of
       the region must already have been marked with the <M> command.  Then,
       use the cursor keys to place the  last  line  of  the  region  at the
       bottom of the screen.  When you press <P>, you will be able to set up
       the printer automatically with BOYAN's printer interface (see section
       4.5.1), and then the region will be printed.





    Chapter 4,  BOYAN Command Capabilities                           Page 59







     - <F>ile:  To file a region of text to disk,  first  mark the beginning
       of the region with the <M> command.  Use the cursor keys to place the
       last line of  the region at the bottom of the screen.  When you press
       <F>,  you  will  be prompted to enter a filename (or press <Enter> to
       use  the  default;  section 3.6).  The region will be appended to the
       disk file.

     - <Esc>:  exit the Scroll-Back Buffer and return to terminal mode.

    Note  that  if  the buffer should become full, the oldest  text  in  the
    buffer will be overwritten by new text as it flows in.

    4.7.3  Script Learn Facility

    The most common use of script files is probably for automatic logging-on
    to  a  system.   Rather than making you mechanically enter your name and
    password each time you connect, the  computer  should be able to do this
    for  you.    BOYAN  script  files  are  wonderful  for  automating  such
    communication chores--typing out  answers  to prompts which are the same
    every  time.   Best yet, you do not even have to  learn  BOYAN's  Script
    Language  in  order  to  write  custom scripts.  BOYAN's "Script  Learn"
    facility writes them for you.

    During a communication session the scroll-back buffer always keeps track
    of which portions  of  the  buffered  text were received from the remote
    system, and which portions were typed by you.    Later,  even  after you
    have logged off, BOYAN can convert any region of the  scroll-back buffer
    into an automated script file.  All you have to do is specify the region
    of the buffer to be learned.

    4.7.3.1  Example: Auto-Logon Scripts

    The simple and fun  procedure  outlined  below  demonstrates how to make
    BOYAN "learn" a script to automate logging onto a typical system.

       1.  Dial the system and log on as usual.  Enter your  name, password,
           etc. at all the appropriate prompts.  When you reach the point at
           which  you  want  the  automatic  logon  to  STOP--typically  the
           system's "Main Menu"--press <UpArrow>  to  enter  BOYAN's Scroll-
           Back buffer.

       2.  The next step is to scroll back to the point where the first line
           of  the region to be learned is at the bottom of the screen.   In
           the  case  of  a logon script, you can do this by simply pressing
           <Home>, which scrolls back to the beginning of your session.

       3.  Press  <S> to start Script Learning.  You  will  be  prompted  to
           enter a name for your script  file.    Type a name of 1-8 letters



    Chapter 4,  BOYAN Command Capabilities                           Page 60







           and press <Enter>.  (You do not need  to  add  the  ".BSC" script
           filename suffix; BOYAN does that automatically.)  If the file you
           specify already exists, BOYAN asks you to choose whether to [A]dd
           to the current script, or build a [N]ew  script  (overwriting the
           old one).

       4.  BOYAN will scroll to find the first system prompt  to  which  you
           responded.  That prompt  will  be  highlighted  on the screen and
           also  displayed  on  the Status Line, where  BOYAN  displays  the
           message "WaitFor:".  All you have  to  do is press <Enter>.  This
           confirms that you want  the  auto-logon  script  to wait for that
           prompt before responding.   (Note:  if  the  prompt is very long,
           BOYAN  only  needs  to know its last 25 characters.  It is normal
           for the beginning of the prompt not to be highlighted.)

       5.  Next,  the  status  line displays your response to the prompt, as
           shown  in  the  Scroll-Back buffer.  Your response is followed by
           the  "{"  character,  which symbolizes a Carriage Return.  If the
           response shown is correct, just  press  <Enter>.    The suggested
           response  may NOT be correct if you  were  responding  with  your
           password,  since  many  systems do not echo back your password as
           you type it.  In that case, you will have to retype your password
           on the status  line,  followed  by  the "{" symbol.  (This safety
           feature prevents others from  going  back  into  your Scroll-Back
           buffer  and  reading  your  password.)   If you have stored  your
           password in a BOYAN Shortcut  macro such as "\#" (section 3.9.2),
           you may enter that shortcut here--for example, \#{ .

       6.  BOYAN scrolls ahead to find  the next system prompt you answered.
           Again,  confirm  BOYAN's   "WaitFor:"  and  "Response:"  cues  by
           pressing  <Enter>.    As  you  continue to press  <Enter>,  BOYAN
           automatically  builds  the  logon  script  in  your  script  file
           directory.

       7.  When you reach the  end  of  the  buffer, BOYAN reports "learning
           finished."  (You may also press finish by  pressing  <Esc> before
           reaching the end of the buffer,  if  the region to learn does not
           extend to the end of the buffer.)  Press <Esc>  to  return to the
           communication screen.

       8.  Now that the auto-logon script  has been written, you must follow
           one last step to make the logon completely automatic:    put  the
           logon script name in the system's dialing directory entry.  Press
           <Alt-D><E> to edit the entry, press enough <Enter>'s  to  move to
           the  "Script" column, and type the  name  of  your  newly-created
           script.    Press  <Enter>  several  more  times  to complete  the
           directory entry.




    Chapter 4,  BOYAN Command Capabilities                           Page 61







    That's it!  The next time you dial that system,  the  logon will proceed
    entirely automatically.

    4.7.3.2  Details on Script Learning

    An  auto-logon  script  file is just one example of the kinds of scripts
    BOYAN can "learn."  The procedure described above works just as well for
    learning any part  of  any  session.    For  example,  if a system has a
    cumbersome  signing-off process, you could make  BOYAN  learn  an  auto-
    logOFF script.    To  invoke  that  script  later, you would use BOYAN's
    <Alt-R> "Run script  file"  command,  and  type the script's name.  (You
    could also assign a script file to a single keypress--see  section 5.3.)
    A summary of the learning procedure is on Help Screen J (the Scroll-Back
    buffer help screen).

    BOYAN's Learn Facility is unique in allowing you to  decide  "after  the
    fact" to go back and learn a script file.  If your scroll-back buffer is
    large enough, you can even wait  until  after you have logged off before
    learning  a  script,  saving on connect fees  and  long-distance  rates.
    BOYAN's Learn is also unique in  letting  you "touch up" the script file
    as it is  created,  thus  sparing  the  need  for  later trial-and-error
    editing.  At the  "WaitFor"  and "Response" prompts, you have the chance
    to edit BOYAN's suggested  values  with the Line Editor.  The "Response"
    prompt, in particular, gives you a  great  deal of flexibility:  you can
    enter  not just a string to be sent over the modem, but any BOYAN  macro
    command.  For example, to make a response of control-C, type  ^C  at the
    "Response" prompt, overwriting the default response.  To make the script
    automatically open the BOYAN log file,  append  the  \LD+  macro command
    after  your actual (typed) response.  Section  5.2  describes  the  many
    available macro commands.

    If your system has 256K of memory or  less,  or  if  you have reserved a
    large amount of memory for BOYAN's DOS Shell (in Config Area  <S>), then
    BOYAN's Scroll-Back buffer  may  not  be  very  large.  In this case, be
    especially  careful to insure that the region to  be  learned  does  not
    scroll out of the top of the buffer.

    4.7.4  <Alt-M> Enter Macro Manually


    After pressing <Alt-M> you  will  be  prompted,  "MACRO:".  Whatever you
    enter  will be instantly processed as a macro.  For example, if you type
    the macro \RE50[-], then a line  of  fifty  dashes will be sent over the
    modem.   BOYAN  remembers  the  macro you type so that the next time you
    select  <Alt-M>,  you  can reuse or edit your previous macro.  More than
    200  special  macro  commands and variables are available; see chapter 5
    for details.




    Chapter 4,  BOYAN Command Capabilities                           Page 62







    4.8  BOYAN's Host Mode


    BOYAN's main purpose is to make your computer act as a terminal, dialing
    out to connect with  other  "host" systems.  However, using BOYAN's Host
    Mode, your computer can act as a simple host, accepting calls from other
    terminals.  People dialing in to BOYAN's host can read and write message
    bulletins,  download and upload files, and even  take  control  of  your
    computer  in  a  DOS Shell.  BOYAN's Host Mode version  4.0  offers  two
    levels of password security, which is sufficient for simple applications
    such as downloading files from your computer at work to your computer at
    home.    If  more  security  is  needed,  perhaps  you  should  consider
    installing a Bulletin Board System on your computer.

    4.8.1  Preliminaries

    To use BOYAN's Host, you must have a  modem  which  meets  the following
    three basic conditions:

       1.  It can accurately report the "Carrier Detect" signal as described
           in section 2.4.2.

       2.  When  your phone rings, it displays the  "RING"  message  on  the
           screen.

       3.  When  you  establish  a  connection  at 1200 baud or greater,  it
           displays the "CONNECT xxxx" message,  where xxxx is the baud rate
           of the connection.

    Almost all Hayes-compatible modems will work with BOYAN's  Host.   Note:
    since  the  Host Mode is written as a BOYAN script file,  even  if  your
    modem does not meet the conditions  above,  you can modify the script to
    make it work with your modem.

    In  Config  Area  <A>, the "HOST"  BOYAN  Action  Module  provides  five
    configurable options.  You  should  configure  the Host files directory,
    Host  mode  password,  and Secondary password as  described  in  section
    3.10.2.3.  The Host  password  is needed for entrance into BOYAN's Host,
    and should be  given to everybody to whom you want to grant access.  The
    secondary password should be distributed  more  carefully,  since  it is
    needed  only  for  the  following  "sensitive"  operations:     deleting
    messages; downloading or  uploading  files in directories other than the
    Host files directory; jumping to DOS; and shutting down the host.

    BOYAN's  Host Mode is implemented as two script  files:    HOST.BSC  and
    HOSTMSGS.BSC.    These  files  should  be  placed  in your  Script  file
    directory (which is the same as your BOYAN directory unless  you changed
    it in Config Area <D>).  The Host Mode also makes  use  of  the HOST.BAM



    Chapter 4,  BOYAN Command Capabilities                           Page 63







    BOYAN Action Module, which allows you to configure the  host  in  Config
    Area <A>, and enables the host's "Local Test" feature.

    BOYAN's Host Mode can be used  in  any  of three different types of con-
    nection:  Modem, Direct, and Local Test.

     - A MODEM connection means that the  Host  waits for the phone to ring,
       tells the modem to answer, and hangs up  the  modem  when  the caller
       logs off.  This is the normal mode of operation.

     - A DIRECT connection means that the Host does not require the phone to
       ring  or  a  modem's carrier signal.    If  you  have  connected  two
       computers  with a "null modem" cable, BOYAN's  Host  in  DIRECT  mode
       provides  a   convenient  way  to  transfer  files  between  the  two
       computers.

     - A LOCAL TEST connection actually causes the Host not to send any data
       over the serial  port  at  all.    When  in  LOCAL TEST mode, you can
       operate the Host mode locally--to test how it works without having to
       call in from another computer.

    Local Test mode is selected with  option  <I>  in Config Area <A>.  When
    Local  Test mode is OFF, option <H> in Config Area <A> toggles between a
    MODEM connection (YES) and a DIRECT connection (NO).  Please  refer back
    to section 3.10.2.3 for configuration instructions.

    4.8.2  <Alt-I> Invoking Host Mode

    Press the <Alt-I> key to invoke the HOST script file.  The message "HOST
    MODE  INVOKED" will be recorded in the BOYAN.USE usage log.  If you have
    selected a MODEM connection,  then  BOYAN will wait for the modem's RING
    message, answer the phone, and set the modem speed based on the "CONNECT
    xxxx"  message.  Exception:  BOYAN does not wait for the RING message if
    it detects that the modem is already  online.    (Note  that  it  is NOT
    necessary to issue any special modem commands to instruct your  modem to
    auto-answer the phone.  See section 4.8.4 if you want  to  make the Host
    wait  for more than one ring.)  Otherwise, if you have selected a DIRECT
    or  LOCAL  TEST  connection,  BOYAN  will  immediately  act as  a  host,
    prompting for a name and password.

    4.8.3  Using the Host

    "Welcome  to  BOYAN  4.0 Host!" greets you when you connect.    You  are
    prompted  to  press  <Enter> to begin, and then type your name, which is
    recorded in the usage log.    The  next  step  is to enter the host mode
    password (configured as described in section 3.10.2.3).  If you  fail to
    enter  the correct password in three  attempts,  you  are  automatically
    logged off.  If you do  enter  the correct password, then BOYAN searches



    Chapter 4,  BOYAN Command Capabilities                           Page 64







    the  Host  directory  for a text file named WELCOME.MSG.   (Use  a  text
    editor to create this file.)  If the file is  found,  BOYAN will display
    it for you.  As the message is being displayed,  you  may press <Ctrl-S>
    to pause the output and <Ctrl-Q> to resume it.

    Next, you will be presented with BOYAN's Main Host menu:
    >    BOYAN-Host select ([M]essages, [F]iles, [J]ump-DOS, [G]oodbye):   <
    Press the first letter of your  selection  and press <Enter>.  Note that
    the  Host mode operator can also reply to any Host prompt from the local
    keyboard.

    Selecting <M> brings up BOYAN's Messages menu:
    >      Message select ([L]ist, [E]nter, [R]ead, [D]elete, [Q]uit):     <
    Press the first letter of your selection and press <Enter>.

     - Selecting <L> displays  a  disk  directory  of all *.MSG files in the
       Host  directory.    (The HOSTMSGS.BSC script does this by first using
       DOS to create a temporary file with the DIR listing, and  then ASCII-
       uploading this temporary  file.    This  method allows you to use the
       <Ctrl-S> key to pause the display, and <Ctrl-Q> to resume it.)

     - Selecting <E> allows you to Enter a new message.   Select  a name for
       your message (a legal DOS filename of up to eight characters, without
       the .MSG suffix).  If that  message  does not already exist, you will
       be  prompted  to  enter your message, line-by-line.  Press <Enter> at
       the end of each line.  When you have completed entering your message,
       press  <Enter> on a blank line.  (If you really want a blank line  in
       your message, type a  space  before  pressing  <Enter> on that line.)
       Note  that  BOYAN  automatically appends a header to the message file
       giving the user's name and the current date and time.

     - To Read a message,  select  <R>, type the message's name (without the
       .MSG suffix), and press <Enter>.

     - If you want to Delete a  message,  select <D>, and type the message's
       name.  This is a "privileged"  operation,  so you will be prompted to
       enter the  Host  Mode's  secondary  password  (see  section 3.10.2.3)
       before the message is deleted.

     - Select <Q> to Quit back to the Main host menu.

    From the main menu, select <F> to bring up the Host Files menu:
    >         Files Select ([L]ist, [D]ownload, [U]pload, [Q]uit):         <

     - Selecting <L> displays a list of all files in the Host directory.

     - To Download a file from the host to the remote terminal,  select <D>.
       You will  be  prompted  to  select  a  protocol from the list (ASCII,



    Chapter 4,  BOYAN Command Capabilities                           Page 65







       Xmodem, CRC-Xmodem,  1K-Xmodem,  Ymodem,  Ymodem-G,  Kermit, Zmodem).
       (To add other protocols to this  list,  see section 4.8.4.)  Then, as
       prompted, type  the  name  of  the file you wish to download.  If the
       filename you specify has a "\" path specifier in it, then  BOYAN will
       allow you to download a file which is not in the Host directory--only
       if you can enter the secondary  Host  password.  The host will prompt
       you to begin the download on the remote end.

     - Select <U> to upload a file to BOYAN's host.  The upload procedure is
       exactly analagous to  the  download  procedure  above.  If you try to
       upload into a directory other than the Host directory,  you  will  be
       prompted  to  enter  the  secondary  password.  Note that you  cannot
       upload over a file which already exists.  (To  accomplish  that,  you
       must  first  <J>ump  to DOS at the main menu, and manually delete the
       file.)

     - <Q> quits back to the Main menu.

    Selecting <J> for Jump-DOS at the Main menu allows you to  remotely take
    control of your computer's  DOS.   You must enter the secondary password
    before BOYAN will gives you control.    While  in DOS, you may view disk
    directories; type, copy or delete files; and run simple programs such as
    ARC and EDLIN.  DO NOT attempt to run screen-dependent programs  such as
    Lotus 1-2-3 or a word processor,  because those programs will not accept
    keyboard  input  from  the modem, and you will be unable  to  issue  any
    commands!  To return from DOS to BOYAN's  Host,  type  "EXIT"  and press
    <Enter>.

    To leave BOYAN's Host Mode, select <G> (for "Goodbye") at the Main menu.
    A brief Goodbye menu appears:
    >     Goodbye select ([G]o back,  [S]hutdown host,  <CR>=hang up):     <
    Normally,  you will just want to press <Carriage Return> to hang up.  If
    you do that, the host mode will cycle to prepare for the next call.  You
    may  also press <G> to return to the main menu, or <S> to remotely  shut
    down  the  host.    Shutting  down  the  host requires you to enter  the
    secondary password.  After the  host has been shut  down,  BOYAN will no
    longer answer the phone.

    If you hang up the modem while online with BOYAN's Host Mode, BOYAN will
    cycle properly, to prepare the host for another call.

    4.8.4  Customizing HOST.BSC

    Using BOYAN's Macro Programming Language, you can customize every aspect
    of BOYAN's Host Mode in the HOST.BSC and HOSTMSGS.BSC script files.  For
    example:





    Chapter 4,  BOYAN Command Capabilities                           Page 66







     - To change the number of rings BOYAN waits before answering the phone,
       you must edit the HOST.BSC file.  In the WaitForCall block, after the
       \WF[RING] command that waits  for  the phone's first ring, there is a
       \RE`0`  command  that  "waits  for  0 additional rings."  Modify  the
       number 0 to any number of additional rings you would prefer.

     - To enable the host to provide a new external protocol on its protocol
       menu:  following the example  of the other external protocols, Zmodem
       and  Kermit,  you  must add two lines to the SetProtocol block of the
       HOST.BSC script.

     - If you have a high-speed modem  and  want  the Host Mode to keep your
       port  speed  at  19200 baud, no matter what the modem  speed  of  the
       incoming call:   you  must  delete  the five lines of the WaitForCall
       block in HOST.BSC  which  are responsible for detecting and resetting
       the port speed.

     - To make the host keep a  HOSTUSER.LOG  file which records the name of
       each caller as he calls, insert the macro:

            \afHOSTUSER.LOG[Host user: %V6]

       as the next-to-last line in the Welcome block  (before  the \GB[Menu]
       command).  Note that the host already records this information in the
       BOYAN.USE usage log, if the usage log is turned on.

     - To  assign  different  passwords to individual users:  in the Welcome
       block, immediately before the first call to  \BL[GetPassword], insert
       the line, \BL[LookupPassword] .    You  must  then  add  a  new block
       following the Welcome block, which might look something like this:

            |LookupPassword
            \IV6+Ben Franklin[\SV1[electric]\EB]
            \IV6+Bill Shakespeare[\SV1[hamlet]\EB]
            \IV6+Hanna Gray[\SV1[prez]\EB]
            Welcome new user %V6!{\SV1[host]

       This block assigns special passwords for three users.   If  the  name
       entered  does  not  match  any  of  those  names,  then the caller is
       welcomed as a new user, and the password is reset to "host".

    The HOST.BSC and HOSTMSGS.BSC  scripts  are  thoroughly commented so you
    can see how they work.  One of the trickiest aspects  of  the  script is
    its frequent use  of the  \(  Shortcut macro (#119).  HOST.BSC sets this
    Shortcut   to   the   macro,  \IV3+MODEM[\CA-[\GS[HOST;Cycle]]] ,  which
    automatically cycles the  host  if  the  carrier signal is lost during a
    MODEM-type connection.    Thus,  even  if you hang up in the middle of a




    Chapter 4,  BOYAN Command Capabilities                           Page 67







    session with BOYAN's host, the host  will  recover and wait for the next
    incoming call.

    4.8.5  Exiting Host Mode

    To  return from the Host Mode to  BOYAN's  normal  communications  mode,
    press  the  <Esc>  key.  The "HOST.BSC" script file will finish, and the
    "BOYAN v4.0" message will reappear on the status  line.    You  can also
    terminate the Host Mode remotely,  using the <S>hutdown command from the
    <G>oodbye menu.

    If you are at the local  computer  while  a caller is using BOYAN's Host
    Mode, you may interrupt the Host by pressing and holding the  <Esc> key.
    At that point, if you wish to gossip with the remote caller, both of you
    should switch into Gossip  Mode  by pressing <Alt-A>,<G>.  When you have
    finished chatting, press <Alt-I>  to  re-invoke the Host Mode.  The host
    will  recognize that a caller is already online,  and  will  bypass  its
    normal "Awaiting RING" phase.


    4.9  BOYAN's Backspace Editor


    Often,  when you are typing in a line of a message, you notice an  error
    you  made  at  the beginning of the line.  Correcting  this  with  other
    communication programs  involves backspacing all the way past the error,
    then retyping the entire line the  way  it  was.  Although you may still
    use  this  method if you like, BOYAN provides a much easier  way.    The
    following commands are effective whenever you are in terminal mode:

    4.9.1  <Backspace> Erase Previous Character

    As  usual,  the  <backspace>  key  erases the previous character on  the
    screen.  BOYAN automatically stores this character in memory.

    4.9.2  <LeftArrow> Forget Previous Character

    Pressing  the  <LeftArrow>  key while in  terminal  mode  also  sends  a
    backspace  signal over the modem.  However, BOYAN  does  not  store  the
    character in memory.  See the section on using the Backspace  Editor for
    the application of this command.

    4.9.3  <Ctrl-Backspace> Erase Previous Word

    To erase the previous word typed on the current line, at any time, press
    <Ctrl-Backspace>.  BOYAN  simply  sends backspace signals over the modem
    until it reaches a space.  The erased word is stored in BOYAN's memory.




    Chapter 4,  BOYAN Command Capabilities                           Page 68







    4.9.4  <Ctrl-LeftArrow> Forget Previous Word

    The <Ctrl-LeftArrow> command also sends  backspace  characters  to erase
    the previous word.  However, BOYAN does not store the word in memory.

    4.9.5  <RightArrow> Un-erase Character

    Press <RightArrow> to recall the most recent character stored in BOYAN's
    backspace  memory.    In  other  words, the <RightArrow> key undoes  the
    effect of the <Backspace> or <Ctrl-Backspace> commands.

    4.9.6  <Ctrl-RightArrow> Un-erase Word

    Press <Ctrl-RightArrow> to recall all  characters  in  BOYAN's backspace
    memory up to  a  space.    This  command  also  undoes the effect of the
    <BackSpace> and <Ctrl-Backspace> commands.

    4.9.7  Using the Backspace Editor

    Suppose you have typed the following line to the modem:
       I have used the BOYA Communications program _
    (Your cursor is where the  _  is.)  You then realize that  you  left out
    the  N   in  BOYAN.    To  fix  it  with  the  Backspace Editor, use any
    combination of the <Backspace> and <Ctrl-Backspace> commands to position
    the cursor on the space where you want the  N .    Press  <N>.  The line
    should read:
       I have used the BOYAN_
    Now use the <RightArrow>  and  <Ctrl-RightArrow>  commands to recall the
    erased part of the line.

    Suppose you wish to change the "I have used" phrase to "I use".  Use the
    <Ctrl-Backspace> and  <Backspace> commands to position the cursor to the
    right of the "d" in "used."  Then press the <LeftArrow> key to backspace
    over  the  "d."   The <LeftArrow> key backspaces without remembering the
    erased character.  Press <Ctrl-Backspace> to back past  the  word "use,"
    then press <Ctrl-LeftArrow> to delete the word "have."  Finally, use the
    <RightArrow> and <Ctrl-RightArrow> commands to pull back the rest of the
    line:
       I use the BOYAN Communications program _
    Once  you get used to the Backspace Editor, you will find that you never
    post messages with typos again!










    Chapter 4,  BOYAN Command Capabilities                           Page 69













                                   Chapter 5

                     BOYAN Power:  Macros and Script Files


    5.1  Overview


    A macro is a sequence of commands which instructs BOYAN to  perform some
    action.  Beneath the  "surface"  of BOYAN which you normally see, macros
    are responsible for a variety of tasks--for instance, dialing the modem,
    handling your  keyboard  commands,  and  maintaining  the  activity log.
    Because all these macros are user-programmable, you have a great deal of
    power  in  determining  what BOYAN does, and when and how  it  does  it.
    BOYAN's  Macro  Programming  Language is described in section 5.2.  Many
    useful sample macros are presented in section 5.3.

    To automate even the most  complex communication tasks, BOYAN allows you
    to link many macros together into text files called "scripts."  Although
    BOYAN  can create simple scripts automatically  with  the  Script  Learn
    facility (section 4.7.3), you  can  write much more powerful scripts.  A
    script file could take control of your computer at a  pre-assigned hour,
    dial into a database, perform a search, and print the  results--all with
    nobody  at  the  keyboard.  BOYAN's Host Mode is written completely as a
    script file.   Still  another  application  for script files might be to
    create  a  customized  front-end  menu  interface  for  all  of  BOYAN's
    commands.  BOYAN scripts are explained in section 5.5.


    5.2  The Macro Programming Language


    Most macro/script commands  consist  of a backslash plus two characters;
    for  example,  \zs  is the command to "zap" (clear) the  screen.    Many
    commands also require further information enclosed  in  square brackets;
    for  example,  \di[682-4225]  is the command to dial the specified phone
    number.  A macro is a sequence  of  one  or  more  commands,  all strung
    together on  a  line  of  text.    Thus the macro \zs\di[682-4225] would
    instruct BOYAN to first clear the screen, and then dial the modem.

    The Macro Programming Language also provides approximately  60 variables
    which can be  included  in  any  command.   Variables are specified by a



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 70







    percent  sign  plus  two  characters;  for example, %XP  represents  the
    current X-position of the cursor.  Wherever a BOYAN variable is found in
    a macro, it is replaced by its current value.

    The  next  several  sections explain the many variables and commands you
    can use  to  automate  BOYAN.    To  aid understanding, the commands and
    variables  have  been  divided into the following  categories:    String
    Output  (5.2.1),  Modem & Terminal  (5.2.3),  Pausing & Timing  (5.2.4),
    Dialing (5.2.5),   Screen & Sound (5.2.6),  DOS & Printer (5.2.7),  File
    Transfers  (5.2.8),    User  Variables  (5.2.9),    Conditional Commands
    (5.2.10), and  Macro  Control  (5.2.11).    Several  additional commands
    specific to script files are described later, in section  5.5.1.    Note
    that  there  is  an  alphabetical  summary  of  all macro  commands  and
    variables at the end of this chapter.

    5.2.1  String Output

    Any macro can include a string of text like "password".    Such a string
    is sent directly over the modem.  Seven characters--the caret, quotation
    mark, backquote,  tilde, left curly brace, percent sign, and backslash--
    have special meanings and are not sent directly over  the  modem  unless
    they  are  preceded  by a quotation mark.  The special meanings of these
    characters  are  described  in  section  3.9.    The  following  example
    demonstrates these basic commands:

       ATZ{~```\$````WELCOME CLASS OF "`99{

    The example sends ATZ <Enter> to the modem, and then pauses for one-half
    second.  The backquotes are for spacing and the macro  processor ignores
    them.    The \$ command causes Shortcut  macro  #114  to  be  processed.
    Finally, the phrase   WELCOME CLASS OF `99   is sent to the modem, where
    the quotation mark causes the  following character (the backquote) to be
    sent over the modem, not ignored like the other backquotes.

    5.2.2  How to Read the Macro Definitions

    In the command format descriptions, the following conventions are used:

    c                represents a single character, like  Y

    x, y, or z       represents an integer number, like  12.  Numbers may be
                     specified in hexadecimal if  they  are  preceded by a $
                     sign, like $1B.

    filename         represents  a   full   filename   specifier,   such  as
                     TWIDDLE.ARC or C:\MODEM\FILES\BOYAN-40.DOC.





    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 71







    string           represents a string of  characters  which  is not to be
                     processed as a macro, like  WELCOME!

    macro            represents an executable macro, like  \DI[730-5624]

    Each command and variable will be presented with its format on the left,
    an example on the right, and a description following.

    5.2.3  Modem & Terminal

    \CM
    Change Modem parameters.  This macro calls up  a  menu,  from  which the
    user can change the modem device, speed, or parity.

    \CD[x]                                                            \CD[2]
    Change Device (serial port).    This changes the current modem device to
    port 1, 2, 3, or 4, and resets that port.

    %MD                                                                    2
    Modem Device  (serial  port).    This  variable  holds the number of the
    current device--1, 2, 3, or 4.

    \CS[x]                                                            \CS[1]
    Change  Speed.  This changes the current modem  speed  setting  to  300,
    1200, 2400, 4800, 9600, 19200, or 38400 baud depending on whether  x  is
    3, 1, 2, 4, 9, 0, or 8.  You may use  the  full number if you wish, like
    \CS[19200].

    %MS                                                                 1200
    Modem Speed.  This variable holds the current baud rate.

    \CP[c]                                                            \CP[E]
    Change Parity.  This  changes  the current modem parity setting to None,
    Even,  or Odd depending on whether  c  is N, E, or O.   You may use  the
    full word if you wish, like  \CP[Even] .

    %MP                                                                    E
    Modem Parity.  This variable stores the current Modem Parity--N, E, or O
    (not the full word).

    \HU
    Hang Up.  This hangs up the modem by running BOYAN macro #4.

    \AM[]
    \AM[c]                                                            \AM[G]
    Action  Module.   If the space between  the  brackets  is  empty,  BOYAN
    provides  a menu from which you can select a new Action Module.  If  you
    include a character between  the  brackets,  BOYAN  attempts to load the



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 72







    Action  Module corresponding to that character: [1]=VT-100,  [G]=GOSSIP,
    etc.

    %AM                                                                    G
    Action Module.  The  letter  or digit corresponding to the current BOYAN
    Action Module in use.

    %AP                                                                    1
    Action  module (Previous).  The letter or  digit  corresponding  to  the
    previous  BOYAN  Action  Module in use; that is, the module which was in
    use  before  the  current  one  was  selected.    For example, the macro
    \AM[%AP]  would instruct BOYAN to switch to the previous action module.

    %AN                                                               GOSSIP
    Action module Name.  The full name of the current BOYAN Action Module in
    use.

    ^c                                                                    ^[
    Sends the specified control  character;  e.g., ^X sends a control-X;  ^[
    sends the <Escape> character.  Note that ^M, which sends a <Return>, can
    also be represented as  {  in a BOYAN macro.

    \CH[x]                                                          \CH[127]
    CHaracter.   Sends the ASCII character with code  x  (0..255)  over  the
    modem.    For  example, ASCII 127  represents  the  "Del"  key  on  many
    terminals, so \CH[127]  would  simulate pressing "Del."  ASCII character
    27 is "Escape", so \CH[27] has the same effect as ^[ .

    \EC+   \EC-   \EC*   %EC
    ECho.   \EC+  turns  local  echo ON, \EC- turns local echo OFF, and \EC*
    toggles  back and forth between the two.  The %EC variable can always be
    used to determine the current state  of  echo  mode:  %EC equals "ON" or
    "OFF".

    \LF+   \LF-   \LF*   %LF
    Line Feeds.  \LF+ turns add  line  feeds  mode ON, \LF- turns line feeds
    OFF, and \LF* toggles between the two.  %LF maintains the  current state
    of the toggle, "ON" or "OFF".

    \B8+   \B8-   \B8*   %B8
    Bit 8.  The \B8 command controls whether  or  not  BOYAN  recognizes the
    eighth  (high)  bit  of incoming characters.  \B8+ makes BOYAN recognize
    the eighth  bit,  allowing  IBM  graphics  characters  to be seen.  \B8-
    causes BOYAN to strip the eighth bit, converting IBM graphics characters
    to their regular 7-bit  ASCII  equivalents.  \B8* toggles back and forth
    between  the  two  states.  The %B8 variable equals "ON" when the eighth
    bit is allowed, or "OFF" when the eighth bit is stripped.




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 73







    \TT+   \TT-   \TT*   %TT
    Translation  Table.  \TT+ turns the table ON;  \TT- turns it OFF;   \TT*
    toggles it.   The  %TT  variable  reflects  whether the table is "ON" or
    "OFF".

    \CT+   \CT-   \CT*
    CTs/rts.  Use \CT+ to turn  CTS/RTS  hardware  flow control ON,  \CT- to
    turn  CTS/RTS  flow control OFF, and \CT*  to  toggle  between  the  two
    settings.

    \XX+   \XX-   \XX*
    Xon/Xoff.   Use \XX+ to turn Xon/Xoff software flow control ON,  \XX- to
    turn Xon/Xoff control OFF, and \XX* to toggle between the two settings.

    \DT+   \DT-   \DT*                                            \DT-~~\DT+
    DTr.   Use \DT+ to turn the Data Terminal Ready signal ON, \DT- to  turn
    DTR OFF, or \DT* to toggle its state.  Turning DTR  off  for  one second
    usually makes the modem hang up.

    \DD+   \DD-   \DD*
    Drop  Dtr.  \DD+ causes the DTR signal to be Dropped upon exiting BOYAN,
    in  effect  hanging  up the modem.  \DD- makes BOYAN  maintain  the  DTR
    signal when exiting.  \DD* toggles between the two.

    \PL
    Purge Line.  This purges the data line of all incoming characters; i.e.,
    ignore all incoming characters until the receive buffer is empty.

    \SB
    Send Break.  This sends the modem break signal.

    \BC
    Back destructively over  Character  (Backspace buffer).  This command is
    identical to sending a backspace (^H), except the  deleted  character is
    not added to BOYAN's backspace buffer.

    \FC
    Forward  Character  (Backspace  buffer).    This sends the  most  recent
    character stored in the backspace buffer.

    \BW+   \BW-
    Back over Word (Backspace buffer).  This sends backspaces until  a space
    is  reached.    \BW+ saves the erased word in the backspace buffer; \BW-
    does not.

    \FW
    Forward  Word  (Backspace  buffer).    This  sends  characters from  the
    backspace buffer until a space is reached.



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 74







    5.2.4  Pausing & Timing

    ~    (tilde)
    BOYAN pauses  for approximately 0.5 seconds whenever the tilde character
    is found in a macro.  For long pauses, \PA[x] is a better alternative.

    \PA[x]                                                           \PA[20]
    PAuse.  This makes BOYAN pause for x (1..32767) seconds.    See also the
    \AL macro  command,  which  sounds  an  alarm  for a specified number of
    seconds (section 5.2.6).

    \PU[xx:yy]                                                     \PU[2:30]
    Pause Until.   Make  BOYAN  pause  until  the specified time.  The above
    example would make BOYAN wait until 2:30 AM before continuing.   Use 24-
    hour notation to specify  times  after  noon;  e.g., \PU[14:30] to pause
    until 2:30 PM.  Note: midnight = 0:00.

    \TO[x]                                                           \TO[40]
    TimeOut.   Set the handshake timeout to x (0..255) seconds.  This is the
    amount of time BOYAN waits before "giving up" trying to  match  a \WF or
    \WL  command.  If x is 255, then it means "indefinitely":  \TO[255] sets
    an indefinite timeout, and BOYAN will never give up waiting for a match!

    \WF[]                                                              \WF[]
    \WF[string]                           \WF[Enter your name:]John Johnson{
    Wait For the specified string to arrive from the modem.    If 30 seconds
    (or  whatever value you configure or set with the  \TO  command) elapses
    before the string appears, the macro times out and will continue  to the
    next command.  The string IS  case-sensitive,  so   NAME  will not match
    NaMe .   If  the  brackets  are  empty,  BOYAN  will simply wait for ANY
    character.  While BOYAN is waiting, if you manually press <Space>, BOYAN
    will  assume  the  matching  was  unsuccessful and continue to the  next
    command.  (Pressing <Esc> always aborts the entire  macro/script.)   You
    can  use  the   \IW  command to test for  the  success  of  the  waitfor
    (section 5.2.10).  See also the \UN (until) and \IF (if found) commands.

    \WL                                                                  \WL
    Wait for a new Line (carriage return) from the modem.

    \WP[x]                                                           \WP[2]{
    Wait  for Pause.  This command instructs BOYAN to Wait for a Pause of  x
    seconds in the remote system's input.  For example, on most systems, the
    \WP[2]    command  will make BOYAN wait until the next prompt for input!
    In other words, this can often substitute for    \WF    to make a script
    wait for the next prompt.






    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 75







    \SP[x]                                                           \SP[10]
    Set Pacing.  This sets character pacing to x (0..255)  milliseconds, the
    amount  of time BOYAN will pause between sending  each  character  in  a
    macro or ASCII upload.

    \SL[x]                                                            \SL[0]
    Set  Line pacing to x (0..255) milliseconds.  This is the amount of time
    BOYAN will pause after sending a Carriage Return  in  a  macro  or ASCII
    upload, in addition to the character pacing time.

    \UNstring[macro]                                     \UN`End of file[^K]
    UNtil.   This repeatedly executes the macro  enclosed  in  the  brackets
    until the specified string arrives from the modem.   The  above  example
    sends a continuous stream of control-K characters until  BOYAN  sees the
    "End of file"  message.

    \UT##:##[macro]                              \UT`20:00[\DM[%HR:%MI:%SE]]
    Until Time.  Until the  specified time (24-hour format), this repeatedly
    executes the enclosed macro.  The above example would display  a running
    clock on the screen until 20:00 (8:00 PM).

    %HR   %MI   %SE                                             18   09   59
    HouR,  MInute,  SEcond.   These variables hold the current hour, minute,
    and second, respectively.  The hour is given in 24-hour notation:  i.e.,
    at six o'clock PM, %HR equals 18; at midnight, %HR equals 0.

    %MO   %DA                                                         9   01
    MOnth,  DAy.  The %MO variable holds the current month:  1, 2, ...,  12.
    The %DA variable holds the current day of  the  month,  expanded  to two
    digits: 01, 02, ..., 31.

    5.2.5  Dialing

    \DI[]                                                              \DI[]
    \DI[x]                                                           \DI[12]
    \DI[string]                                                \DI[381-6441]
    DIal.  If the brackets are empty, \DI[] enters  the  dialing  directory.
    If a number from 1-200 is  enclosed,  this command dials the system with
    the  specified dialing directory code; if you  make  a  connection,  the
    appropriate automatic logon script will also be run (see section 5.5.2).
    Otherwise, BOYAN attempts to manually dial the enclosed string.

    \QA[x]                                                           \QA[12]
    \QA[string]                                                \QA[381-6441]
    Queue Add.  If a number  from  1-200  is enclosed, this command adds the
    system with the specified dialing directory code to the redialing queue;
    otherwise, BOYAN  adds  the  enclosed  string  as  a manual entry in the




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 76







    queue.  To add more  than  one  number  to  the queue, use multiple  \QA
    commands.

    \QC
    Queue Clear.  Clear the queue of all entries.

    \QD
    Queue Dial.  This makes BOYAN  repeatedly  dial the numbers in the queue
    until a connection is made.  When BOYAN connects, it removes that number
    from the queue and rings the connect alarm.  If the connected system has
    a logon script specified  in  its  Dialing  Directory entry, BOYAN stops
    ringing the alarm after the "Script Keyboard Timeout"  has  expired, and
    runs the script's LOGON block as described in section 5.5.2.

    \QE
    Queue Enter.  The \QE command causes BOYAN to enter the  redialing queue
    and wait for user key commands.

    \AD+   \AD-   \AD*
    Auto-Detect.  Use \AD+ to turn auto-detection of the modem connect speed
    ON,  \AD- to turn Auto-Detection  OFF,  and   \AD* to toggle between the
    two.  This feature is explained in section 3.8.

    \CC+   \CC-   \CC*
    Carrier Checking.  \CC+ enables BOYAN's carrier checking before dialing.
    With carrier checking enabled,  BOYAN  will prompt you to verify that it
    is "OK  to  dial  despite  carrier" if you try to dial while already on-
    line.  \CC- disables carrier checking; \CC* toggles.

    \CO[x]                                                           \CO[60]
    COnnect timeout.  Set the COnnect wait time to x seconds (0..99).  After
    dialing with <Alt-D>, BOYAN will assume that no connection has been made
    if the modem fails to respond within this amount of time.

    %F:                                                    C:\BOYAN\FONDIRS\
    Fon  path.   This variable stores the name of the path  in  which  BOYAN
    expects to find all its FON directories.  To reconfigure this  path, see
    section 3.6.

    \FD[filename]                                           \FD[CHICAGO.FON]
    %FD                                                          CHICAGO.FON
    Fon  Directory.   The \FD macro command  loads  the  specified  new  Fon
    Directory.  The filename suffix of  .FON  is  optional.  If the file you
    specify is not a valid BOYAN directory, the previous .FON directory will
    be  reloaded.  The name of the current FON directory is always stored in
    the %FD variable.





    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 77







    %S#                                                                   12
    %SF                                                       1-919-682-4225
    %SN                                                    BOYAN Support BBS
    %SS                                                                TCOMM
    %SL                                                              0:15:30
    System information.   These five variables contain information about the
    system  which  is  currently online.  If you are online  with  a  system
    dialed from the dialing directory:  %S# equals its code  number (1-200);
    %SF equals its  phone number;  %SN equals its Name;  %SS equals the name
    of  its  logon script file (without the .BSC suffix);  and  %SL  is  the
    total elapsed time since the connection  was  made.  These values can be
    used  in Auto-macros #6 and #7, for example,  to  update  the  BOYAN.USE
    activity log.  When you are offline, %S# equals 0,  the  %SL clock keeps
    running, and the other variables are blank.

    5.2.6  Screen & Sound

    \ALx[y]                                                          \AL1[5]
    \ALx[0]                                                          \AL3[0]
    \ALx[]                                                            \AL2[]
    ALarm.  BOYAN provides three alarms: alarm #1 is a constant  tone; alarm
    #2 is a two-tone "ringing"; and  alarm  #3  is a descending squawk.  The
    pitch of the alarm is controlled by the alarm  volume  setting  (below).
    The \ALx command rings alarm # x (1, 2, or 3).  The number y (0..255) in
    brackets determines the  length of the alarm in seconds.  If y is 0, the
    alarm tone sounds just once, and stops.  If the brackets are left empty,
    then the alarm will ring continuously until the user presses a key.

    \AV[x]                                                            \AV[4]
    Alarm  Volume.   Change the alarm volume from 1 to 10,  or  silence  all
    alarms with 0.

    \BB+   \BB-   \BB*   %BB                                      \AV[0]\BB-
    Beeps  &  Bells.   \BB+ turns Beeps & Bells mode ON;  \BB- turns it OFF;
    and  \BB*  toggles between the two states.  The %BB variable equals "ON"
    or  "OFF"  as  appropriate.    The  example  macro above can be used  to
    completely silence all BOYAN sound effects.

    \ZS
    "Zaps" (clears) the Screen.

    \NC[x]                                                            \NC[7]
    %NC                                                                    7
    Normal Color.  \NC[x] sets the Normal text Color to x (1..127).  The %NC
    variable holds the current Normal text Color in use.

    \RC
    Restore Color.  This command Restores the default normal text Color.



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 78







    \MC[x]                                                          \MC[112]
    %MC                                                                  112
    Menu Color.  \MC[x] sets the Menu and help screen  Color  to x (1..127).
    The %MC variable holds the current Menu Color in use.

    \DMC[x]                                                        \DMC[240]
    %DM                                                                  240
    Display Message Color.    Set  the  Display Message Color to x (1..255).
    This  color  will  be  used  for messages displayed with subsequent  \DM
    commands.  Note that numbers greater than 128 are flashing; for example,
    select  color  240  for flashing black on white.  The %DM variable holds
    the Display Message color.

    \DM[string]                                     \DM[You have connected!]
    \DMx,y[string]                                 \DM40,10[Menu of Options]
    \DMy[string]                         \DM1[This message is in color %DM.]
    \DMx,[string]                           \DM30,[The time is now %HR:%MI.]
    Display Message.  The \DM command  is  used  to display a message on the
    screen.  The string will  be  displayed  at  column  x  (1..80),  line y
    (1..24).   If  either  x  or y is omitted before the string in brackets,
    then BOYAN substitutes default  values.   If x is omitted, BOYAN flushes
    the string to the right  of the screen.  If y is omitted, BOYAN uses the
    line above the  current  cursor  position.   In the examples above, "You
    have connected" is flushed right on the line above the cursor;  "Menu of
    Options" is at column 40, row 10;   "This  message  is  in color ###" is
    flushed right on line 1;  and "The time is now ##:##" is at column 30 on
    the line above  the cursor.  \DM can be used in conjunction with the \KV
    command to make user menus, for example (see section 5.2.9).

    \ST[string]                              \ST[Beeps & Bells are now %BB.]
    STatus.  This displays the string on the status line.  This sample macro
    displays the current status of the Beeps & Bells toggle.

    %XP   %YP
    X-Position,  Y-Position.    These  variables  equal  the  current column
    (1..80) and row (1..24) of the cursor, respectively.

    \GX[x]                                                           \GX[40]
    Goto  X-position.    This moves the cursor horizontally to the specified
    column (1..80).

    \GY[y]                                                           \GY[20]
    Goto Y-position.  This moves the cursor vertically to the  specified row
    (1..24).

    \RX[x]                                                          \RX[-10]
    Relative  X-position.    This  moves  the  cursor  horizontally  by  the
    specified number  of  spaces,  backward  (negative  numbers)  or forward



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 79







    (positive numbers).  The cursor will not go  beyond  either  end  of the
    line.

    \RY[y]                                                            \RY[5]
    Relative Y-position.  This moves  the cursor vertically by the specified
    number of lines, up (negative numbers) or down (positive numbers).   The
    cursor will not go beyond either end of the screen.

    5.2.7  DOS & Printer

    %DS                                                                  125
    DOS Shell  space.    This  variable  equals  the amount of memory (in K)
    available  for  DOS  Shells.    If  %DS equals 0, then the \JD  and  \DC
    commands cannot function.

    \JD                                                            \AT+[\JD]
    Jump to DOS.  You must type  EXIT <Enter>  to return to BOYAN  from DOS,
    so be sure this command is not processed when BOYAN is unattended.

    \DC[string]                                           \DC[arc v boyan4a]
    \DC-[string]                                             \DC-[dir >prn:]
    DOS  Command.    BOYAN  invokes  the  COMMAND.COM  processor to  execute
    [string]  as  a DOS command.  If you use the \DC-  command,  BOYAN  will
    continue  immediately  after  the DOS command finishes.  The \DC command
    (with  no  minus)  will  prompt  the  user  to  press  any   key  before
    continuing--unless  a  script  file is running, in which case BOYAN will
    continue the script without waiting for a keypress.

    %VC                                                                 TYPE
    View Command.  This  variable  holds the DOS command you have configured
    for viewing a file.  For example, to  view  the  BOYAN-40.DOC  file, you
    would run the \DC[%VC boyan-40.doc] macro.

    %WC                                                                EDLIN
    Word processor Command.  This variable holds the DOS  command  you  have
    configured for editing a file.

    %DR                                                                    A
    DRive.  This variable holds the currently-logged disk drive letter.

    %C:                                                                  A:\
    Current  path.    This  variable  holds  the  current  disk  directory's
    drive+path.

    %B:                                                            D:\BOYAN\
    BOYAN path.  This variable holds the BOYAN home directory's drive+path.





    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 80







    %S:                                                     D:\BOYAN\SCRIPT\
    Script path.  This variable holds BOYAN's script file disk drive+path.

    %SC                                                             HOST.BSC
    SCript.  This variable holds the name of the current script file running
    (or the last script file run, if none is active).

    \ND[string]                                             \ND[b:\download]
    New Directory.  This command selects a new default disk drive or path.

    \CF+   \CF-   \CF*
    Check Free.   \CF+  tells  BOYAN  to automatically check free disk space
    before each download and within the directory file manager.   \CF- means
    you  must manually press <Alt-F> in the download menu or <F> in the file
    manager to see remaining disk space.  \CF* toggles.

    \FM[filename]                                              \FM[%S:*.BSC]
    File  Manager.    Invoke BOYAN's directory file manager in the specified
    drive and directory.  You can also specify a  filename  with  wildcards.
    The example calls the File Manager to display  all  files  in  the BOYAN
    script directory with a suffix of .BSC.

    \FS[c]                                                          \FS[%DR]
    Free Space.  This displays a status message showing the number  of bytes
    of free space on the specified disk drive.

    \FE+filename[macro]                \FE+twiddle.arc[\DC[del twiddle.arc]]
    \FE-filename[macro]                  \FE-boyandoc.arc[\DLk[twiddle.arc]]
    File Exists?  This command, to  check  whether  or not a file exists, is
    described in section 5.2.10.

    \LD+   \LD-   \LD*   %LD                    \LD*\ST[Logging is now %LD.]
    \LD+[filename]                                          \LD+[LOG%MO.%DA]
    Log to Disk.    \LD+ opens a log file.  If no filename is specified, the
    default (or most recently-used log file) is used.  Opening the  log file
    runs  Auto-Macro  #14,  which inserts a header with the date and time in
    the  file.    While  the  log  file is open, all text appearing  on  the
    communication screen is saved to the file.   \LD-  closes  the  open log
    file;   \LD* toggles logging ON and OFF.  The %LD variable maintains the
    status  of the log file as "ON" or "OFF".  In the second example  above,
    the %MO (month) and %DA (day) variables are used to open a log file with
    the date in the filename; for example, on November fourth,  the filename
    used would be LOG11.04 .

    %LN                                                            BOYAN.LOG
    Log Name.   This variable holds the name of the last log file opened, or
    the default BOYAN.LOG if none has been opened yet.




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 81







    \LM[string]                                  \LM[== Connected to %SN ==]
    Log Message.  This inserts  a  message  in  the  log file if the file is
    open.  If you include the example macro above in your Connect Auto-Macro
    #6, then whenever you connect to a system while the log  file  is  on, a
    line with that system's name will be added to the log.

    \PR+   \PR-   \PR*   %PR
    PRinter.  \PR+ turns printer log mode on.    If  used  in a script file,
    printer  logging  starts  immediately;  otherwise, BOYAN's printer setup
    menu is displayed.  All text appearing on the  communication  screen  is
    printed until  printer  logging  is  turned  off  by \PR-.  \PR* toggles
    printer logging.  The %PR variable equals "ON" or "OFF" as appropriate.

    \PM[string]                    \PM[== Connected to system number %S# ==]
    Print  Message.    This command prints  the  specified  string  on  your
    printer.   You can use this command to  set  up  printer  initialization
    codes; for example, \PM[^X^[g] sends <Ctrl-X>,<Escape>,<g>.

    \PS
    Print Screen.  This is identical to keying <Shift-PrtSc> by hand.

    \SS
    Save Screen to disk.  This command saves the current screen to the BOYAN
    screen dump file (see section 3.6).

    \UF+   \UF-   \UF*   %UF                    \UF*\ST[Usage file now %UF.]
    \UF+[filename]                                        \UF+[LONGDIST.USE]
    Usage File.    \UF+  and  \UF- turn the BOYAN.USE usage file on and off,
    respectively.  If a filename is specified after the \UF+  command, BOYAN
    will use that filename for the usage file.  \UF* toggles the usage file,
    and the %UF variable holds its current status, "ON" or "OFF".

    %UN                                                         LONGDIST.USE
    Usage Name.  This variable holds the name of the current usage file.

    \UM[string]                             \UM[Current DOS directory = %C:]
    Usage Message.    This  command  enters a line into the usage file.  The
    date and time are  automatically  appended to the beginning of the line.
    If the Usage File is OFF, this command has no effect.  The example above
    would add a line to the end of the usage file  showing  the  current DOS
    path.

    \AFfilename[string]             \AF`LETTER.TXT[Current time is %HR:%MI.]
    Append to text File.  This very powerful command allows scripts to build
    custom  text files.  The string is appended to the end of the text  file
    specified by filename.  If that  file  does not exist, BOYAN creates it.
    The Host Mode script uses this command to create a  message  file as the
    message is being typed.



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 82







    5.2.8  File Transfers

    \DP[c]                                                            \DP[K]
    %DP                                                                    K
    Default Protocol.  This sets the default file transfer  protocol.    Put
    the first letter of the protocol (X, C, R, 1, Y, G, A,  Z,  K,  etc.) in
    the brackets.  The current default protocol's letter is always stored in
    variable %DP.

    \IP+c[macro]                                    \IP+Z[\DLZ[TWIDDLE.ARC]]
    \IP-c[macro]                             \IP-K[\DM[Kermit unavailable.]]
    If Protocol available?  Use this command to  check  if  protocol  "c" is
    available.  It is described fully in section 5.2.10.

    %P:                                                   D:\BOYAN\EXTPROTS\
    Protocol  path.   This variable holds the  full  name  of  the  external
    protocol program path, configured in Configuration Area <D>.

    %D:                                                         C:\MODEM\DL\
    %U:                                                                  B:\
    Download  path,  Upload path.  These variables  hold  the  name  of  the
    default download and upload directories, respectively.

    \DL[]
    \DLc[]                                                            \DLZ[]
    \DL[filename]                            \DL[c:\modem\files\twiddle.arc]
    \DLc[filename]                                         \DLY[twiddle.arc]
    DownLoad.  When downloading a file you may specify 1) both  the protocol
    to  use and the filename, 2) just one of those, or 3) neither.   Specify
    the   protocol   using   the    letter    from    the    protocol   menu
    (X,C,R,1,Y,G,A,Z,K); if you do not  specify the protocol, BOYAN will use
    the default protocol you have configured.  If  you  do  not  specify the
    filename,  BOYAN  will  use  its  automatic  filename-find   feature  to
    determine the name.  (Some  external  protocols  determine  the filename
    automatically.    You  may  leave  the  brackets  empty in  this  case.)
    Warning: if you do not specify a filename and BOYAN cannot determine the
    name from the  screen,  OR  if  you  specify a file that already exists,
    BOYAN will name the file FILE####.BDL, where ####  is  the  time  of day
    when  the  download  started.    If  BOYAN  is  attended (no script file
    running), you must confirm the path and filename.

    \UL[]
    \ULc[]                                                            \ULX[]
    \UL[filename]                            \UL[c:\modem\files\twiddle.arc]
    \ULc[filename]                                         \ULY[twiddle.arc]
    UpLoad.  The use of this command, UpLoad file, is  analogous  to the use
    of the  \DL  command.  If the file  is  not found on disk, the upload is
    not attempted.



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 83







    %T:                                                         C:\MODEM\DL\
    %TF                                                          TWIDDLE.ARC
    Transfer path, Transfer Filename.    The %T: variable stores the name of
    the most recent directory selected for  a  file transfer;  %TF holds the
    name of the file most recently selected to be transferred.

    %TI                  Ymodem DL: ALLFILES.ARC     44,160 0:04:36    67.4%
    Transfer  Information.     After   a  file  transfer,  BOYAN  builds  an
    information string  like  the  one  above.    The string consists of the
    protocol used, UL or  DL,  filename,  file  size, transfer duration, and
    efficiency  percentage.    If  the  transfer is unsuccessful,  the  word
    (FAILED) follows the filename.  This string can be included in the usage
    log, for example, as in Auto-Macro #8 ("After a file transfer").

    %UD                                                                   UL
    UpLoad or DownLoad?   This variable holds "UL"  after an upload or  "DL"
    after a download.

    \IT+[macro]                        \IT+[\DM[Received %TF successfully.]]
    \IT-[macro]                             \IT-[\DM[File transfer failed.]]
    If Transfer successful?  Use this command to branch based on whether the
    previous file transfer was successful or not.  It is described  fully in
    section 5.2.10.

    \WW+   \WW-   \WW*
    Word Wrap.  \WW+ enables, \WW- disables, and \WW* toggles  the automatic
    word wrap handling feature of message uploads.

    5.2.9  User Variables

    %V0   %V1   %V2   %V3   %V4
    %V5   %V6   %V7   %V8   %V9
    These ten  user-definable  variables,  along  with  the  following macro
    commands, give the macro  language  enormous power.  A user variable can
    hold a string, a number, or a macro.

    \SVx[string]                      \SV4[The current time is %HR:%MI:%SE.]
    Set Variable.  This command lets you Set user Variable # x.  The example
    above sets variable %V4 equal to a message containing the current time.

    \KVx[string]                                       \KV0[Your selection?]
    \KVxstring1[string2]                  \KV8%DR[New disk drive: ]\ND[%V8:]
    Keyboard Variable.   This  command  lets  you  make  BOYAN's  macros and
    scripts interactive.  BOYAN prompts you for keyboard input on the status
    line;  what you type is stored in variable # x.  The string in  brackets
    is the prompt; e.g., the first example above prompts the user with "Your
    selection?".    You can specify a default  response  to  the  prompt  by
    placing another string  before  the  first  left  bracket.    The second



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 84







    example above uses  the  %DR  variable  to make the default response the
    current  drive letter (then the \ND command changes  to  the  new  drive
    letter typed by the user).   Important  note:   when responding to a \KV
    prompt,  you  must  press <Enter> after typing your response, unless the
    default response is one character long.  If the default response is only
    one character, BOYAN expects a  keyboard response of only one character,
    and does not require you to press <Enter>.  In the second example above,
    since the current  drive  letter  %DR  is always just one character, the
    user does not have to press <Enter> after responding.

    \LVx[y]                                                 \SV1[%B:]\LV1[2]
    Length of Variable.  This command allows your macros  to  perform  basic
    string manipulation.  It sets the length of variable # x to be exactly y
    (0..80)  characters,  padding  with  spaces  if needed.  In the  example
    above, %V1 is  set  to  the  BOYAN directory (e.g. "C:\BOYAN"), and then
    truncated down to two characters so %V1 = "C:".

    \MVx[y]                                                        \MV1[114]
    Macro into Variable.  This command moves the contents of BOYAN macro # y
    (1..120)  into  user  variable # x.  This command can be used along with
    the \SM command (section 5.2.11) to effectively use all 120 BOYAN macros
    as variables.  The example above  sets  user variable %V1 equal to Macro
    #114, which is shortcut macro \$.

    \RVx[y]                                 Please type your name:  \RV1[30]
    Read Variable.  This command is used to read input  from  the modem into
    user  variable # x.  Up to y characters are accepted, and the entry must
    be  terminated  by  a <Return>.   Backspacing  is  allowed  and  handled
    properly.  This is used extensively  in  the BOYAN Host Mode script, for
    example.

    \+Vx[y]                               \SV1[68]\+V1[34]\DM[ 68+34 = %V1 ]
    Plus Variable.  This command  lets your macros perform basic arithmetic.
    The  number  y is added to the contents of user variable  # x,  and  the
    result is again stored in variable # x.  To  perform  subtraction, let y
    be a negative number, e.g. \+V1[-34].  The valid range for  numeric data
    is -10000...10000.  In the example above, the  \+V1[34]  command changes
    the value of %V1 from 68 to 102.

    \IVx+string[macro]
    \IVx-string[macro]
    If Variable?  This command lets you make decisions based on the contents
    of user variable # x.  It is described in the following section.

    5.2.10  Conditionals

    Conditional  macro  commands  allow your macros to make decisions.  With
    each conditional command, you enclose a macro in brackets which is to be



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 85







    executed only if  the  condition  is  met.   For example, the \CA+ macro
    tests whether there is a carrier signal.  The macro:
    \CA+[\ST[You are online.]]  ,  displays  the  STatus  message  "You  are
    online" only if there is a carrier.  If there is  no  carrier,  then the
    example macro has no effect.

    If-then-else decisions may be programmed  by  placing  the  vertical bar
    character "|" inside the enclosed macro.    The part of the macro beyond
    the vertical  bar  is  executed  only if the condition was NOT met.  For
    example, the macro:
    \CA+[\ST[You are online.]|\ST[You are offline.]]
    displays "You are online" if the carrier signal is detected, or "You are
    offline" if no carrier is present.

    \AT+[macro]                                                    \AT+[\MM]
    \AT-[macro]                       \AT-[\PM[Script file %CS is running.]]
    ATtended?  The \AT+  command  processes the enclosed macro only if BOYAN
    is  attended,  that is, if there is no script file running.    The  \AT-
    command processes the enclosed macro only if BOYAN is not attended--when
    a  script file is running.  If you use the vertical bar for if-then-else
    decisions,  then note that  \AT+[macro1|macro2]  has  exactly  the  same
    effect as \AT-[macro2|macro1].  This is true for  all  other conditional
    macro commands as well.

    \CA+[macro]           \CA+[\DM[You have connected!]|\DM[No connection.]]
    \CA-[macro]                                                \CA-[ATS0=0{]
    CArrier?  The \CA+ command processes the enclosed macro  only  if  BOYAN
    detects carrier, that is, if the modem is currently connected.  The \CA-
    command processes its macro only if BOYAN does not detect carrier.

    \FE+filename[macro]           \FE+c:\files\twiddle.arc[\UL[twiddle.arc]]
    \FE-filename[macro]                  \FE-boyan.arc[\DC[arc a boyan *.*]]
    File Exists?   With  the  \FE+  command, the enclosed macro is processed
    only if the specified file  exists  on  your  disk.    The  \FE- command
    processes the enclosed macro only if the specified file does not already
    exist.

    \IE+string1,string2[macro]             \IE+%UD,DL[\DM[File downloaded.]]
    \IE-string1,string2[macro]        \IE-0,%DS[\JD|\ST[Can't jump to DOS.]]
    If  Equal?    The \IE command tests the equality of string1 and string2.
    \IE+  processes  the  enclosed macro if  the  strings  are  equal;  \IE-
    processes  its  macro  only if they are not.  The  first  example  above
    displays the "File downloaded"  message  if the last file transfer was a
    download (the %UD variable would equal "DL").  The second  example jumps
    to DOS if the amount  of  DOS  Shell  space  (%DS) does not equal 0, and
    writes a status message if %DS does equal 0.   Case  is NOT significant,
    so ibm-PC matches Ibm-Pc.




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 86







    \IVx+string[macro]                  \IV5+secret[Welcome!|Wrong password]
    \IVx-string[macro]                           \IV0-[\DM[Input accepted.]]
    If Variable equals?  The \IV  command  tests whether variable # x equals
    string.    \IVx+string[macro]   is   actually   just   a   shortcut  for
    \IE+%Vx,string[macro] , and similarly with  \IVx-.    The  first example
    sends  the  "Welcome!"  message  if  %V5 equals "secret", or the  "Wrong
    password" message otherwise.    The  second  example tests to see if %V0
    equals the  empty  string--that  is,  if %V0 is empty.  If not, then the
    "Input accepted" message is displayed.

    \II+string1,string2[macro]     \II+-,%V0[\DM[%V0 is a negative number!]]
    \II-string1,string2[macro]      \II-PCP,%V6[\DM[%V6 is not a valid ID.]]
    If  Included?    The \II command tests  If  string1  is  Included  as  a
    substring of  string2,  as  "Put"  is  a  substring of "Computer".  \II+
    processes  its  macro  if string1 is included in string2; \II- processes
    macro  if  string1  is not in string2.  The first example tests variable
    %V0  (assumed to be numeric) for being negative.    The  second  example
    displays a message if variable %V6 does not contain the string "PCP".

    \IF+string[macro]                       \IF+End of messages[\GB[LogOff]]
    \IF-string[macro]                  \IF-File not found[\DLk[twiddle.arc]]
    If Found?  The \IF+ command processes the  enclosed  macro  only  if the
    specified  string  is  found  on  the  same  screen  line  or  the  line
    immediately above the cursor.  The \IF- command processes its macro only
    if the string is not on the current line or line above.  The matching is
    case-sensitive.  Once a given string on the  screen  is  matched,  it is
    highlighted  and will not be matched again.  See the related \WF and \UN
    commands.

    \IW+[macro]                                \IW+[\DM[Log-on successful!]]
    \IW-[macro]                      \IW-[\DM[Log-on interrupted.]\GB[quit]]
    If  Waitfor  successful?   The \IW+ command processes the enclosed macro
    only If the last WaitFor, UNtil, or IF command was successful.  The \IW-
    command processes the enclosed macro only if the last such command timed
    out before successfully making a match.

    \IP+c[macro]                \IP+K[\DLK[CVTFON14.ARC]|\DLX[CVTFON14.ARC]]
    \IP-c[macro]                           \IP-Z[\DM[Zmodem not installed.]]
    If  Protocol  available?   The \IP+ command processes the enclosed macro
    only If the Protocol specified by the character  c  is  available.   The
    first  example  above  performs  a  "K" (Kermit) download if the  Kermit
    protocol is available, or an "X" (Xmodem) download otherwise.   The \IP-
    command processes the enclosed macro only if the  specified  protocol is
    not available.







    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 87







    \IT+[macro]                 \DLy[]\IT+[\DM[Ymodem download successful.]]
    \IT-[macro]                  \ULk[boyan-40.arc]\IT-[\DM[Upload failed.]]
    If Transfer successful?  The \IT+ command processes  the  enclosed macro
    only If the most recent file Transfer completed successfully.   The \IT-
    command processes its macro only if the last transfer was unsuccessful.

    \IS+x,y,..,z[macro]              \IS+1,6,114,0,3,30[password1|password2]
    \IS-x,y,..,z[macro]                      \IS-0[\DM[Phone number = %SF.]]
    Is  System?    The \IS+ command processes the enclosed macro only If the
    directory  code of the System you last dialed is on the list of numbers.
    The \IS- command processes its macro when the last-dialed system  is not
    on the code list.   The  codes  run  from  1-200  for  dialing directory
    entries, and 0 for manual dialing.  This command is convenient when, for
    example, you use different passwords on otherwise-identical systems, and
    need to select a password based on which system you connected to.

    5.2.11  Macro Control & Miscellaneous

    \\string                         \DL[]  \\ that command downloads a file
    (Macro  comment)    BOYAN ignores all characters in a macro after the \\
    command.  Use this to insert remarks in a macro.  BOYAN also ignores any
    spaces which immediately precede the "\\", so that you can use spaces to
    align  comments in a script file.  The above example has the same effect
    as "\DL[]" alone.

    \AB                       \KV2Y[Continue? ]\IV2+N[\AB]\DM[Continuing...]
    ABort  current  macro  (or script file) processing.  The example prompts
    the user with the "Continue?" prompt.  If  the  user  responds  "N", the
    macro or  script  is  aborted,  and  none  of the following commands are
    processed.

    \CB                                                            \AT+[\CB]
    Configure BOYAN.  This invokes BOYAN's  built-in  configuration program.
    The configuration menu choices must be made from the keyboard, so do not
    run this macro unless the keyboard is attended.

    \EX                                       \KV0Y[OK to exit? ]\IV0+Y[\EX]
    EXit BOYAN immediately.   A macro like the one above may be used to make
    the user confirm that he wants to exit.

    \HE
    HElp.  This invokes BOYAN's main help screen, the BOYAN Command List.

    \MA[x]                                                            \MA[9]
    MAcro.  This invokes BOYAN macro  #  x  (1-120).  For example, the macro
    command \MA[9]  runs the initialization Auto-Macro;  \MA[38] invokes the
    <Alt-X> (exit BOYAN with verify) macro.




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 88







    \MM                                      \DM[Enter manual macro now.]\MM
    Manual Macro.  This  accepts  input from the keyboard, and processes the
    input as a macro.  BOYAN also remembers the input, to  provide  it  as a
    default response to the next \MM command.

    \RB
    Review Buffer.  This calls up the scroll-back buffer for viewing, script
    learning, etc.

    \REx[macro]                                                  \RE5[\WF[]]
    REpeat  the  enclosed  macro x times, where x ranges from 1..32767.  The
    example above would wait for five characters to arrive from the modem.

    \SMx[string]                                               \SM1[ATDT 9,]
    Set BOYAN Macro  # x to the specified macro.  This new macro is saved to
    the BOYAN.MAC file, just  as  if  it  were reconfigured in Configuration
    Area <M>.  The example sets macro #1  (the  Dialing  command  prefix) to
    "ATDT 9," which  is  useful  for  dialing  out  from  Centrex-type phone
    extensions.

    5.2.12  Trace Mode

    \TR+   \TR-   \TR*
    TRace mode.  BOYAN's  macro  language provides a TRace feature which can
    help you learn how a macro works, or discover why a macro fails to work.
    When Trace Mode is on, the middle of the Status Line always displays the
    two letters of the current macro command being processed.    Turn  trace
    mode ON with  the \TR+ macro command, OFF with the  \TR-  macro command,
    or toggle it with the \TR* command.  Trace mode is especially useful for
    understanding complicated script files.


    5.3  BOYAN Macro Tutorial, Examples


    The best way to learn how BOYAN's macros work is  to  experiment:  write
    one, and see what it does!    The <Alt-M> "Enter macro manually" command
    is useful for trying out  a  short  macro.    Many  example  macros have
    already been given, next to the descriptions of all the macro commands.

    The following additional examples illustrate  how  BOYAN's  120 built-in
    macros give you flexibility unlike any other communications program.  To
    edit the BOYAN macros, press <Alt-C> to view the configuration menu, and
    select <M> for macros.  You can  then  choose  a  macro  for  editing by
    either typing its number (1-120) and pressing <Enter>, or in the case of
    keystroke macros, simply pressing the keystroke (like <F1>) itself.  For
    a review of basic macro editing, please see section 3.9.4.




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 89







    Don't worry about permanently "losing" BOYAN's original macros while you
    experiment.  You can always restore  all  of the preset macros by simply
    deleting the BOYAN.MAC file from your disk and starting BOYAN over.

    >               Clear screen automatically before dialing              <
    Macro #1:  \ZS`ATDT
    BOYAN dials a number  by  first executing the dialing prefix macro (#1),
    then  processing  the  phone  number  itself  as  a macro,  and  finally
    executing  the  dialing  suffix macro (#2).  To make BOYAN automatically
    clear the terminal screen before  dialing any number, insert the command
    "\ZS"  (Zap  Screen)  into macro #1.  (The backquote is just for spacing
    and has no effect.)

    >               Make <F1> call up the BOYAN Command List               <
    Macro #71: \HE
    Simply set the <F1> keystroke macro (#71) to \HE .

    >                  Make <F10> display the current time                 <
    Macro #80: \DM[The time is now %HR:%MI:%SE.]
    From now on, pressing <F10> will request BOYAN to Display a Message with
    the current time.

    >               Make <Alt-D> offer a "Quick-Dialing" bar               <
    Macro #18: \KV0[DIAL: ]\DI[%V0]
    If you alter the <Alt-D> keystroke macro (#18) as above, then instead of
    going  straight  to  the Dialing Directory, <Alt-D> will prompt you with
    "DIAL:" on the Status Line.  The \KV0 command prompts the  user, storing
    the user's input in user variable %V0.  Then the \DI[%V0]  command dials
    that number, whether it was a system code from the dialing directory, or
    a full phone number entered manually.  If  the  user  only  responded by
    pressing <Enter>, then %V0 would be empty, and \DI[%V0]  would  call  up
    the Dialing Directory (just like \DI[]).

    >              Make <Alt-K> "Kill" all BOYAN sound effects             <
    Macro #25: \BB-\AV[0]\ST[Sound effects Killed.]
    Now the <Alt-K> command (macro #25) will both turn Beeps & Bells off and
    set the Alarm Volume to  0.  As a friendly touch, it will also display a
    status message.

    >        Make <Ctrl-PgUp> list all files in the Upload directory       <
    Macro #55: \FM[%U:]
    From  now  on,  pressing  <Ctrl-PgUp>  (macro #55) will invoke the  File
    Manager in the upload directory, from which you can select any  file for
    uploading by simply pressing <U>.







    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 90







    >      Make <Alt-R> list all script files in the Script directory      <
    Macro #32: \KV0[SCRIPT: ]\IV0+[\FM[%S:*.BSC]|\SC[%V0]]
    This  is  a  fancy analogue of the <Ctrl-PgUp> example above.  With this
    macro,  <Alt-R>  allows  you to either directly type in a script name OR
    select a script from the file manager menu (with the <E>xecute command).
    The \KV0 command  prompts  you  to  respond to the "SCRIPT:" prompt, and
    stores your response in %V0.   If  you respond by pressing <Enter> only,
    then %V0 is empty, and the condition (\IV0+) is true.  In that case, the
    File Manager is invoked on the *.BSC files in the %S:  Script directory.
    If,  on the other hand, %V0 is not empty (you typed something), then the
    "else"  condition  (|)  is  satisfied,  and  your  script  file  is  run
    immediately (\SC[%V0]).

    >         Make <F6> automatically run the SQUIGGLE script file         <
    Macro #76: \SC[squiggle]
    This  demonstrates how you can link a function key to a script file, not
    just a single macro.

    >      Make <Alt-4> view the BOYAN-40.DOC file, this user's manual     <
    Macro #64: \DC[%VC %B:BOYAN-40.DOC]
    This example assumes that the BOYAN-40.DOC file is in  your  BOYAN  home
    directory (specified by "%B:").   %VC  is  the  name  of  the  DOS "View
    Command" specified in Config Area <D>;  e.g.,  LIST.  Then the \DC macro
    executes the entire string (e.g. LIST C:\BOYAN\BOYAN-40.DOC )  as  a DOS
    Command.    Similarly,  you can assign  any  DOS  command  to  a  single
    keystroke.

    >       Automatically fill the redialing queue at BOYAN start-up       <
    Macro #9:  \DM[ Welcome to BOYAN! ]ATX4S0=0{\QA[1]\QA[4]\QA[5]
    Suppose you dial systems 1, 4, and 5  in  your  dialing  directory every
    time you use BOYAN.  If you append  the  commands     \QA[1]\QA[4]\QA[5]
    to  the  BOYAN  start-up  macro  (#9),  then  those three  systems  will
    automatically  appear in the redialing queue.   You  could  also  append
    either  the  \QE  (enter redialing queue) or \QD (begin queue redialing)
    command.

    >           Report the current Action Module name at start-up          <
    Macro #9: ATX4S0=0{\ST[Using Action Module: %AN]
    After initializing the modem with ATX4S0=0 <Return>, this BOYAN start-up
    macro will display  a  status  message  such  as  "Using  Action Module:
    VT-100".  The %AN variable holds the name of the current action module.

    >   Make an automatic entry in the Usage Log every time a script runs  <
    Macro #11: \UM[Script: %SC]
    The \UM macro  command adds a Message to the Usage log.  By placing such
    a  command in the "Before any script" auto-macro  (#11),  you  can  keep
    track of the date and time any script file is run.    (The  %SC variable
    contains the name of the SCript file.)



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 91







    >     Automatically return to dialing directory after disconnecting    <
    Macro #7:  \AL3[0]\RC\UM[Disconnected after %SL]\DI[]
    As soon as the  connection's  carrier signal is lost, BOYAN executes its
    auto-macro #7.  By adding the  command  "\DI[]"  to the end of macro #7,
    you instruct BOYAN  to  automatically invoke the dialing directory after
    being disconnected.

    >        Eliminate the "squawk" BOYAN makes after disconnecting        <
    Macro #7:  \RC\UM[Disconnected after %SL]
    Simply  delete  the    \AL3[0]   command from the "After  disconnecting"
    auto-macro (#7).

    >               Make <Alt-Y> toggle BOYAN's "Trace Mode"               <
    Macro #39: \TR*
    When  trace mode is on, you see which macro command is being executed at
    all times, which helps  you  to  follow  complicated macros and scripts.
    (See section 5.2.12.)

    >               Make <Home> reset the current modem port               <
    Macro #45: \CD[%MD]
    The trick is  to  tell  BOYAN  to  "change devices" to the current modem
    device--resetting the device in the process.  This is  what  the  <Home>
    keystroke macro (#45) above does.  Running certain external programs may
    cause the port to "lock up"; if that  happens,  running  this  macro (by
    pressing <Home>) should fix the problem.

    >            Make <Alt-G> toggle the "GOSSIP" Action Module            <
    Macro #21: \IE-%AN,GOSSIP[\AM[G]|\AM[%AP]]
    The  \AM command selects a new BOYAN Action  Module;  for  example,  the
    \AM[G] macro invokes BOYAN's Gossip Mode.  The  <Alt-G>  keystroke macro
    (#21)  presented above is more sophisticated:  if  you  are  already  in
    Gossip mode, pressing <Alt-G> again will return you to your prior Action
    Module.  Here's how it works:  the  \IE-  command  checks  to see If the
    current  Action module Name, %AN, is not Equal to "GOSSIP".  If they are
    not equal, then the Gossip Mode is invoked by "\AM[G]".   Otherwise (|),
    if GOSSIP is the current name, then the previous module is  invoked with
    "\AM[%AP]".   (The %AP variable remembers  the  previous  Action  module
    letter.)

    >            Make <Shift-F10> turn BOYAN into an alarm clock           <
    Macro #100:\KV0%HR:%MI[Set alarm: ]`\UT%V0[\DM[ %HR:%MI:%SE ]]`\AL2[3]
    This  macro   uses  several  advanced  commands.    The  first  command,
    \KV0%HR:%MI[Set alarm: ], requests keyboard input into user variable %V0
    with the prompt, "Set alarm: ".    A  default  of "%HR:%MI", the current
    time,  is  provided.  The  second  command,  \UT%V0[\DM[ %HR:%MI:%SE ]],
    loops  Until the Time has become %V0--which is the time read in from the
    keyboard.  During each loop it Displays a Message of the current time on




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 92







    the  screen.  When the \UT loop finally  finishes,  the  third  command,
    \AL2[3], rings an alarm (type 2) for three seconds.

                                *    *    *    *

    The macros above are just a small sample  of  the  range  of flexibility
    BOYAN's built-in macros can  offer.   If you write a particularly clever
    macro,  please  submit it for inclusion in  the  next  edition  of  this
    manual!


    5.4  The BOYAN Command Line


    Normally, you run BOYAN by issuing the simple command "BOYAN"  from DOS.
    After you press a key to continue past the  welcome  screen,  auto-macro
    #9, the BOYAN start-up macro, is executed.  However, in some  cases, you
    may wish to avoid BOYAN's start-up  macro.   BOYAN allows you to specify
    an alternative start-up macro when invoking BOYAN, directly from the DOS
    command line.  For example,  if  you  ran  BOYAN  with  the  DOS Command
    "BOYAN ATZ{" , then BOYAN  would  send  the  ATZ <Carriage Return> modem
    string, instead of executing macro #9.    If you invoked BOYAN by typing
    "BOYAN \DI[682-4225]", then BOYAN would immediately  dial  the specified
    number.  If you ran BOYAN with the command "BOYAN \\" , then BOYAN would
    do nothing at all  at  start-up  (bypassing  its normal start-up macro),
    since \\ signifies only a macro  comment.    This might be useful if you
    were already on-line before invoking BOYAN.

    Another application of the command line macro feature is that  BOYAN can
    be run from  a batch file.  For example, a batch file could invoke BOYAN
    with the command, "BOYAN \MA[9]\SC[NIGHT]" .  At  start-up,  BOYAN would
    first run macro  #9  (the  normal  start-up macro), and then execute the
    NIGHT.BSC  script  file.   Because of this type of application, whenever
    you specify a  start-up  macro  on  the DOS command line, BOYAN automat-
    ically removes its welcome screen  after the script keyboard timeout (10
    seconds by default) has expired.   A  clever BOYAN user can exploit this
    fact to bypass BOYAN's "Press any key to begin" prompt.


    5.5  Script Files


    BOYAN script files can be created  by  any text editor or word processor
    which can edit standard text files--for instance, the EDLIN editor which
    comes with DOS, or the SideKick notepad.   Script  files  must  be named
    with  a suffix of .BSC, and should be placed in the default BOYAN script
    directory (although that is not mandatory).




    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 93







    The simplest kind of script file is just  a  sequence  of  BOYAN macros.
    BOYAN processes such a script  file by sequentially evaluating each line
    of  the  file as a macro, until it reaches the end of the file.    Blank
    lines  are ignored.  This is the type of script created by BOYAN's auto-
    matic Script Learn facility.

    In more complex script files, you may organize the macros into "blocks."
    The start of a block  is defined by a line of text which begins with the
    vertical bar  |  symbol (<shift-backslash>) plus a block label.   Labels
    can  be  as long as you wish, but only the first  eight  characters  are
    significant,  e.g.,    MessageReply    and  MessageRead  are  equivalent
    labels.  Since case is not significant,  |LOGON   and  |LogOn also refer
    to  the same block.  All macros following a block label are considered a
    part of that block until either  another  block  label or the end of the
    file is reached.

    5.5.1  Script-specific Macro Commands

    The  Macro  Programming Language provides  several  additional  commands
    specifically  for power in script files.   These  commands  allow  BOYAN
    scripts to use looping, block nesting, and even recursion.

    \AB
    ABort.  Aborts all current script files; return to terminal mode.

    \BL[label]                                                    \BL[LogOn]
    BLock.  Calls the block with the specified label.   When  that block has
    completed, control is returned to the calling macro.

    \EB                                             \IF+end of messages[\EB]
    End the current Block.  You can use this within a  conditional statement
    to end the block prematurely.

    \GB[label]                                                    \GB[LogOn]
    Goto Block.  Go directly to  the  block  with the specified label.  When
    the end of that block is reached, the script is finished; control is not
    returned to the calling macro.

    \GS[filename]                                                  \GS[rbbs]
    \GS[filename;label]                                   \GS[rbbs;messages]
    Goto  Script.  Go directly to the script  with  the  specified  filename
    (.BSC  suffix  assumed).   If a  semicolon  and  label  are  given,  the
    specified block of the script  is executed; otherwise, the entire script
    runs from start to finish.

    \KO[x]                                                            \KO[0]
    Keyboard timeOut.  Set the unattended keyboard timeout to x seconds.  If
    BOYAN requires keyboard  input  while  a  script file is active, it will



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 94







    wait  x seconds for the user to manually respond.  If there has been  no
    keyboard  response  after  x seconds, BOYAN goes ahead using the default
    response.  After the  \KO[0]  command,  for example, BOYAN automatically
    accepts the default response immediately.

    %S:                                                     D:\BOYAN\SCRIPT\
    %SC                                                          PCBOARD.BSC
    Script  path.    The %S: variable  contains  BOYAN's  script  file  disk
    drive+path;    %SC  holds  the  name  of  the  currently active (or most
    recently active) script file.

    \SC[filename]                                                  \SC[rbbs]
    \SC[filename;label]                                      \SC[rbbs;LogOn]
    SCript.   Invoke the script with the  specified  filename  (.BSC  suffix
    assumed).    If  a semicolon and label are given, the specified block is
    executed; otherwise, the entire script runs from start to finish.   When
    that script has completed, control is returned to the calling macro.  If
    the filename is not preceded by  a  DOS pathname, BOYAN assumes that the
    script file is located in the default Script directory.

    5.5.2  Automatic Logon Scripts

    In section 4.7.3.1, you  saw  how BOYAN's Script Learn Facility could be
    used to  write  scripts  for  automatic  logging-on  to a system.  BOYAN
    allows a  completely  hands-free  logon  through  its  dialing directory
    Script field.  Using the <E>dit command in the  dialing  directory,  you
    can assign each entry a 1-8  character  script  name, like  PC-BOARD  or
    MCIMAIL .    The  next  time you connect to the system using the <Alt-D>
    Dial or <Alt-Q> Queue Redial  commands, BOYAN loads the specified script
    file (the .BSC suffix is automatically  added).   It then searches for a
    block labeled  LOGON .   If there is a |LOGON header in the script, then
    only that block is executed; otherwise, the entire  script  is processed
    from beginning to end.

    5.5.3  Running Script Files

    BOYAN  can  automatically  process  a  logon script file after making  a
    connection.  However, you may often need to run a  script  at some other
    time.    BOYAN  provides  a  number of convenient methods for  executing
    either an entire script file or just a single block from a script file.

    When specifying a script file, you may include  the  script's directory,
    its name (.BSC suffix  assumed),  and optionally a semicolon and a block
    label.  For example, the following are all valid script specifiers:

    c:\modem\text\tcomm;DownLoad
                     This  specifies  the  drive,  directory,   script  name
                     (TCOMM.BSC), and block to execute.



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 95







    RBBS.BSC;LogOn   This specifies the LOGON block of the  RBBS.BSC script.
                     BOYAN will search  for  this script first in the Script
                     Directory  (set  in  Config Area <D>).   If  not  found
                     there,  it  will  also be looked for in the current DOS
                     Directory.

    A:INIT           This specifies the A:INIT.BSC script, but no particular
                     block.  BOYAN will run  the entire script from start to
                     finish.

    Besides specifying an auto-logon script, you can run a  script  file  in
    the following ways:

       1.  Use BOYAN's <Alt-R> command from terminal mode.   Respond  to the
           "SCRIPT:" prompt with a specifier  like any of the three examples
           above.

       2.  Select the script file directly  from  the  <Del>  Directory File
           Manager (section 4.6.1).  If the file cursor is over a  file with
           a .BSC suffix, pressing <E> will execute the script.

       3.  Use the \SC[filename;label]   command  in  any  BOYAN macro.  For
           example,  you  could  assign   a   function   key  to  the  macro
           \SC[tcomm;DownLoad] .    Another  use might be to  set  macro  #9
           (Start-Up  macro) or macro #10 (Conclude  macro)  to  have  BOYAN
           automatically run a STARTUP.BSC or CONCLUDE.BSC script  each time
           it  starts  or  concludes.   You can also invoke  a  script  file
           directly from the DOS command line, as described above in section
           5.4.

    Once a script file takes control, the  BOYAN v4.0  message in the middle
    of the status line disappears, and  the  script file name flashes in its
    place.  When this happens, BOYAN is "unattended" and its normal terminal
    mode commands are disabled.  To regain control before  the  script  file
    finishes, you must press the <Esc> key.

    5.5.4  Script Examples

    Six  sample   script  files  are  included  on  the  BOYAN  Distribution
    Diskettes.  These scripts are well-commented, so by  studying  them, you
    can learn a lot about writing your own scripts.

     - CIS.BSC  is a simple script file for logging  on  to  the  CompuServe
       Information Service.  You must use a text editor to include  your own
       CompuServe ID and password in the script file.

     - PCBOARD.BSC is a logon script file for the PC-Board type  of Bulletin
       Board System.  It demonstrates  the use of ShortCut macros, requiring



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 96







       that  you  configure  Shortcut Macro #111  to  be  your  first  name,
       Shortcut #112 to  be  your  last  name,  and Shortcut #113 to be your
       password (see note below).  By setting these shortcut macros,  you do
       away with the need to edit the PCBOARD.BSC file.

     - TCOMM.BSC  is  a  logon script for the TComm Bulletin Board.  It uses
       several more complicated script commands, including block looping and
       subroutines.  This  script  also expects Shortcut Macros #111-#113 to
       be set (see note below).

     - ETCH.BSC demonstrates macro screen  control  by  turning BOYAN into a
       computer etch-a-sketch!  After invoking this script (with the <Alt-R>
       command), use the <I>,<J>,<K>, and <M> keys to "draw" on  the screen.
       Press <X> to exit the script.

     - PURSUIT.BSC is a short but very powerful script  for  automating your
       use  of the PC-Pursuit service.   This  script  demonstrates  several
       advanced  techniques:   self-configuration;  juggling  multiple  .FON
       directories;  and  using  BOYAN's  Auto-Macros  to  make  the  script
       disappear and reappear at appropriate times.  See Appendix  B  for  a
       complete explanation of how to use this script.

     - HOST.BSC and  its companion HOSTMSGS.BSC form the complete BOYAN Host
       Mode.   They are the most complex scripts  of  all,  using  extensive
       branching,  file  transfers,  DOS  commands,  macro  arithmetic,  and
       BOYAN's Auto-Macros.  Section 4.8 describes how to use the Host Mode.

    The  sample  PCBOARD.BSC  and  TCOMM.BSC  scripts require that  you  set
    Shortcut macros #111, #112, and #113 in Config Area <M>.  You should set
    #111 to your  first  name,  #112  to  your  last  name, and #113 to your
    password.   If you follow this convention in  other  logon  scripts  you
    write, then you will only have to reconfigure a Shortcut macro  when you
    change your password--you won't have to rewrite all your scripts.   What
    if  you use different passwords on different systems?    The  \IS  macro
    command can solve the problem.  Suppose you use the password  "IBMPC" on
    dialing directory entries 1, 3, and  9,  and the password "MODEM" on all
    other entries.  Set Shortcut macro #113 to:
    \IS+1,3,9[IBMPC|MODEM] .  Then BOYAN  will  select  the  proper password
    based on the system which is on-line.

    5.5.5  Technical Notes

     - Macros  are automatically compiled as they are  run.    The  compiler
       reports the following basic error messages:  "Unknown  variable %XY",
       "Unknown command  \XY", "\XY command syntax", "\XX expects +,-,or *".
       Macro processing stops after such an error.





    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 97







     - When interpreting text enclosed in  brackets,  the  compiler  makes a
       distinction depending on whether the text is a [string] or a [macro].

        * In a string, the first unquoted right bracket  always  denotes the
          end  of  the  string; in order to include a right bracket inside a
          string, you must precede  the  bracket with a quotation mark.  For
          example, to make BOYAN WaitFor  the  "Press  [Enter]  to continue"
          message, you must write:
          \WF[Press [Enter"] to continue] .  As a  string  is  compiled, all
          macro variables contained in it are expanded.

        * However, in commands which  have  a  [macro]  in their syntax (the
          \RE,  \UN,  \UT,  and  all  conditional  commands),  the  compiler
          automatically matches internal brackets.  For  example,  to REpeat
          (5 times) the command \RX[1]\RY[1], you would simply write:
          \RE5[\RX[1]\RY[1]]  without having to quote  the  brackets inside.
          Variables are not expanded inside macros; for example, the macro
          \UT`12:00[\DM[%HR:%MI:%SE]]    displays  a  running  clock  on the
          screen until noon,  rather  than just displaying whatever the time
          was when you first invoked the \UT command.

     - Because of memory limitations, recursive nesting in a macro or script
       cannot exceed approximately  12  levels  of  depth.  If it ever does,
       BOYAN reports an "Endless loop" error.

     - To restore the 120 default BOYAN macros, delete  your  BOYAN.MAC file
       and restart BOYAN.    BOYAN  will  recreate the default macros.  Note
       that  BOYAN  cannot  recreate  the  secondary  keyset   macros  (e.g.
       VT-52.CNF).

     - A script can utilize a maximum of 500 blocks.


    5.6  Summary of Macro Variables


    %AM              The  menu  letter  corresponding  to the current Action
                     Module

    %AN              The full Name of the current Action module

    %AP              The menu letter corresponding  to  the  Previous Action
                     module

    %B:              The complete path of the BOYAN directory

    %B8              equals "ON" when eighth Bit allowed, "OFF"  when eighth
                     Bit stripped



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 98







    %BB              current Beeps and Bells setting, "ON" or "OFF"

    %C:              The complete path of the Current directory

    %D:              The complete path of the default Download directory

    %DA              The current DAy of the month (1..31)

    %DM              The current color used for Displaying macro Messages

    %DP              The Default Protocol

    %DR              The letter corresponding to the currently-logged DRive

    %DS              The amount of memory (in K) available for DOS Shells

    %EC              Current ECho keyboard setting, "ON" or "OFF"

    %F:              The complete path  where  BOYAN  expects  to  find .FON
                     Directories

    %FD              The name of the current .FON Directory

    %HR              The current HouR (0..23)

    %LD              "ON" if currently Logging to Disk, "OFF" if no log file
                     open

    %LF              "ON" if LineFeeds are being added to CR's, "OFF" if not

    %LN              The Name of the most recently-selected Log file

    %MC              The current Menu Color (1..127)

    %MD              The number of the current Modem Device (1..4)

    %MI              The current MInute (0..59)

    %MO              The current MOnth (1..12)

    %MP              The letter corresponding to  the  current  Modem Parity
                     (N,E,or O)

    %MS              The current Modem Speed (300..38400)

    %NC              The current Normal text Color (1..127)

    %P:              The complete path of the external Protocol directory



    Chapter 5,  BOYAN Power:  Macros and Script Files                Page 99







    %PR              Current PRinter log setting, "ON" or "OFF"

    %S:              The complete path of the Script file directory

    %S#              The phone directory code number of the currently online
                     System (1..200, or 0 if dialed manually or not online)

    %SC              The name of the  current  SCript  file running (or last
                     script file run)

    %SE              The current SEcond (0..59)

    %SF              The phone number of the currently online System

    %SL              The  Length  of  time since the last  connection  to  a
                     remote System

    %SN              The Name of the currently online System (or "Manual" if
                     dialed manually)

    %SS              The name of  the  logon Script file (not including .BSC
                     suffix) of the currently online System

    %T:              The complete path of the most recent file Transfer

    %TF              The  name  of  the  most  recent  File  selected to  be
                     Transferred

    %TI              A  string with Transfer time Information, suitable  for
                     including in BOYAN.USE usage log

    %TT              Current Translation Table setting ("ON" or "OFF")

    %U:              The complete path of the default Upload directory

    %UD              This variable equals "UL" if the last file transfer was
                     an  upload, or "DL" if the last  file  transfer  was  a
                     download

    %UF              Current Usage File log status ("ON" or "OFF")

    %UN              The Name of the current Usage file

    %V0              Macro variable #0 (used internally by BOYAN Commands)

    %V1              Macro variable #1

    %V2              Macro variable #2



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 100







    %V3              Macro variable #3

    %V4              Macro variable #4

    %V5              Macro variable #5

    %V6              Macro variable #6

    %V7              Macro variable #7

    %V8              Macro variable #8

    %V9              Macro variable #9

    %VC              The View Command (DOS command to view a file)

    %WC              The Word processor Command (DOS command to edit a file)

    %XP              The current X-position of the cursor (1..80)

    %YP              The current Y-position of the cursor (1..24)


    5.7  Summary of Macro Commands


    \!               Invoke Shortcut macro #111

    \@               Invoke Shortcut macro #112

    \#               Invoke Shortcut macro #113

    \$               Invoke Shortcut macro #114

    \%               Invoke Shortcut macro #115

    \^               Invoke Shortcut macro #116

    \&               Invoke Shortcut macro #117

    \*               Invoke Shortcut macro #118

    \(               Invoke Shortcut macro #119

    \)               Invoke Shortcut macro #120

    \\               signifies that the rest of the line is  a  comment, not
                     to be processed as a macro



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 101







    \AB              ABort current macro or script file

    \AD+             Turn on Auto-Detection of modem connect speed

    \AD-             Turn off Auto-Detection of modem connect speed

    \AD*             Toggle between \AD+ and \AD-

    \AFfilename[string]
                     Append  string  to  the  end  of  specified  text  File
                     (creating file if not found)

    \ALx[]           Sound ALarm x (1,2,or 3) until a key is pressed

    \ALx[0]          Sound ALarm x (1,2,or 3) just once

    \ALx[y]          Repeatedly sound ALarm x (1,2,or 3) for y seconds

    \AM[]            Select a new BOYAN Action Module from a menu

    \AM[c]           Activate  the BOYAN Action Module corresponding to  the
                     character c

    \AT+[macro]      Do macro if BOYAN is ATtended (no script file running)

    \AT-[macro]      Do macro if BOYAN is not ATtended (script file running)

    \AV[x]           Set Alarm Volume to x (0..10, 10 loudest)

    \B8+             Accept Bit 8 of incoming characters (no stripping)

    \B8-             Strip Bit 8 from incoming characters

    \B8*             Toggle between \B8+ and \B8-

    \BB+             Turn Beeps & Bells on

    \BB-             Turn Beeps & Bells off

    \BB*             Toggle Beeps & Bells

    \BC              Back over Character,  but  do  not  put  character into
                     backspace buffer

    \BL[label]       Script file -- call the labelled BLock as a subroutine

    \BW+             Back   over   Word,   putting  erased  characters  into
                     backspace buffer



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 102







    \BW-             Back over Word,  without putting erased characters into
                     backspace buffer

    \CA+[macro]      Do macro only if there is a CArrier signal (online)

    \CA-[macro]      Do macro only if there is no CArrier signal (offline)

    \CB              Configure BOYAN

    \CC+             Do Check for Carrier signal before dialing,  and prompt
                     user to verify "dialing despite carrier"

    \CC-             Do not Check for  Carrier  signal  before  dialing, and
                     dial right away

    \CC*             Toggle between \CC+ and \CC-

    \CD[x]           Change Device to 1,2,3,or 4 (Comm port #)

    \CF+             Check Free disk  space  before  downloads  and  in file
                     manager

    \CF-             Do not Check Free  disk  space  before downloads and in
                     file manager

    \CF*             Toggle between \CF+ and \CF-

    \CH[x]           Send the  ASCII CHaracter with code x (0..255) over the
                     modem

    \CM              Change Menu -- for changing device, speed, or parity

    \CO[x]           Set the COnnect wait time to x seconds (0..99)

    \CP[c]           Change Parity to [N]one, [E]ven, or [O]dd.

    \CS[x]           Change Speed  to 300, 1200, 2400, 4800, 9600, 19200, or
                     38400.

    \CT+             Turn CTS/RTS flow control on

    \CT-             Turn CTS/RTS flow control off

    \CT*             Toggle CTS/RTS flow control

    \DC[string]      Execute  string  as  a  Dos  Command.  If not inside  a
                     script file, prompt for a user keypress afterward




    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 103







    \DC-[string]     Execute string as a Dos  Command, but do not prompt for
                     a user keypress afterward

    \DD+             Do Drop the DTR signal when you exit from BOYAN

    \DD-             Do not Drop the DTR signal when you exit from BOYAN

    \DD*             Toggle between \DD+ and \DD-

    \DI[]            Invoke BOYAN DIaling Directory

    \DI[x]           DIal entry # x (1..200) from current dialing directory

    \DI[###-####]    Manually DIal the phone number specified

    \DL[]            Download file, prompting for protocol and filename

    \DLc[]           Download file using specified protocol c

    \DL[filename]    Download specified file using default protocol

    \DLc[filename]   Download specified file using specified protocol c

    \DMC[x]          Set Display  Message Color to x (1..255).  Colors above
                     128 are flashing.

    \DM[string]      Display  Message  string  flushed  right one line above
                     current line

    \DMy[string]     Display Message string flushed right on line  y (1..24)
                     of screen

    \DMx,[string]    Display Message string  at  column  x,  one  line above
                     current line

    \DMx,y[string]   Display Message string at position x (1..80), y (1..24)

    \DP[c]           Set Default Protocol for file transfers to c

    \DT+             Turn modem DTR signal ON

    \DT-             Turn modem DTR signal OFF

    \DT*             Toggle modem DTR signal

    \EB              End current Block of script file

    \EC+             Do ECho keyboard locally



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 104







    \EC-             Do not ECho keyboard locally

    \EC*             Toggle between \EC+ and \EC-

    \EX              EXit BOYAN immediately.  (Be careful with this one!)

    \FC              Forward  Character -- send most recent character  saved
                     in Backspace buffer

    \FD[filename]    Load filename as the new .FON Dialing Directory.

    \FE+filename[macro]
                     Do macro only if filename exists

    \FE-filename[macro]
                     Do macro only if filename does not exist

    \FM[filename]    Invoke  BOYAN's  File  Manager.    Filename  can  be  a
                     complete  drive, path,  and  file  specification  (with
                     wildcards).

    \FS[c]           Show Free Space on specified disk drive

    \FW              Forward  Word -- send characters from Backspace  buffer
                     until reaching a space

    \GB[label]       Go to Block specified by label (within current script)

    \GS[filename]    Go to Script filename (.BSC extension optional)

    \GS[filename;label]
                     Go to Script filename, block label

    \GX[x]           Go to X position x (1..80)

    \GY[y]           Go to Y position y (1..24)

    \HE              Call up HElp  screen (from "Communication Ready" screen
                     only)

    \HU              Hang up modem

    \IE+string1,string2[macro]
                     Do macro only If  string1  Equals  string2 (upper/lower
                     case not significant)

    \IE-string1,string2[macro]
                     Do macro only If string1 does not Equal string2



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 105







    \IF+string[macro]
                     Do macro only If  string  Found  on  current line or on
                     line above

    \IF-string[macro]
                     Do macro only If string not Found on current line or on
                     line above

    \II+string1,string2[macro]
                     Do macro only If string1 is found as a substring Inside
                     string2

    \II-string1,string2[macro]
                     Do  macro  only  If string1 is not found as a substring
                     Inside string2

    \IP+c[macro]     Do macro only If Protocol c is available

    \IP-c[macro]     Do macro only If Protocol c is not available

    \IS+x,y,...,z[macro]
                     Do macro  only If the current System number is x,y,...,
                     or z

    \IS-x,y,...,z[macro]
                     Do  macro  only  If the current System  number  is  not
                     x,y,..., or z

    \IT+[macro]      Do  macro  only  If  most  recent  file   Transfer  was
                     successful

    \IT-[macro]      Do macro only  If  most recent file Transfer was unsuc-
                     cessful

    \IVx+string[macro]
                     Do  macro  only  if  variable  x  (0..9)  equals string
                     (upper/lower case not significant)

    \IVx-string[macro]
                     Do  macro  only  if variable x (0..9)  does  not  equal
                     string

    \IW+[macro]      Do macro only If last "WF" or other handshaking command
                     was successful

    \IW-[macro]      Do macro only If last "WF" or other handshaking command
                     was unsuccessful




    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 106







    \JD              Jump to DOS.  Requires user to type "EXIT" to return to
                     BOYAN.

    \KO[x]           Set unattended Keyboard timeOut to x seconds

    \KVx[string]     Read variable  x  (0..9)  from  keyboard,  prompted  by
                     string

    \KVxstring1[string2]
                     Read variable  x  (0..9)  from  keyboard,  prompted  by
                     string2 and using string1 as a default

    \LD+             Log to Disk (using default Log File name)

    \LD+[filename]   Log to Disk using specified filename

    \LD-             Turn off logging to disk

    \LD*             Toggle between \LD+ and \LD-

    \LD*[filename]   Toggle between \LD+[filename] and \LD-

    \LF+             Add LineFeeds to carriage returns

    \LF-             Do not add LineFeeds to carriage returns

    \LF*             Toggle between \LF+ and \LF-

    \LM[string]      Log Message -- insert string into current log file

    \LVx[y]          Set the Length of  Variable  x  (0..9)  to be exactly y
                     (0..80) characters

    \MA[x]           Do BOYAN MAcro number x (1..120)

    \MC[x]           Set Menu Color to x (1..127)

    \MM              Do Manual Macro (read macro from keyboard,  and execute
                     it)

    \MVx[y]          Set  Variable  x  (0..9)  to  the contents of  Macro  y
                     (1..120)

    \NC[x]           Set Normal text Color to x (1..127)

    \ND[string]      New Drive/Directory

    \PA[x]           Pause for x (1..32767) seconds



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 107







    \PL              Purge line (discard receive buffer)

    \PM[string]      Print message string on printer

    \PR+             Turn printer logging on

    \PR-             Turn printer logging off

    \PR*             Toggle printer logging

    \PS              Print Screen

    \PU[xx:yy]       Pause Until specified time (use 24-hour notation)

    \QA[x]           Add entry # x (1..200) to the redialing Queue

    \QA[###-####]    Add the specified phone number to the redialing Queue

    \QC              Queue Clear -- wipe out the redialing queue

    \QD              Queue Dial -- redial from queue until connection made

    \QE              Queue -- enter interactive redialing queue

    \RB              Review Buffer -- enter scroll-back buffer

    \RC              Restore normal text Color

    \REx[macro]      REpeat macro, x (1..32767) times

    \RVx[y]          Read  Variable x (0..9) as input  from  modem,  with  a
                     maximum length of  y (1..80) characters before carriage
                     return

    \RX[-x]          Relative X-position; move cursor x columns to the left

    \RX[x]           Relative X-position; move cursor x columns to the right

    \RY[-y]          Relative Y-position; move cursor y rows up

    \RY[y]           Relative Y-position; move cursor y rows down

    \SB              Send modem Break signal

    \SC[filename]    Invoke script (.BSC extension optional) as subroutine






    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 108







    \SC[filename;label]
                     Invoke   specified  block  from  specified  script   as
                     subroutine

    \SL[x]           Set Line pacing to x (0..255) milliseconds

    \SMx[string]     Set BOYAN Macro x (1..120) to macro

    \SP[x]           Set character Pacing to x (0..255) milliseconds

    \SS              Save current Screen image to the screen dump file

    \ST[string]      Display string on STatus line

    \SVx[string]     Set variable x (0..9) to string

    \TO[x]           Set handshake TimeOut to x (0..255) seconds

    \TR+             Turn on TRace mode

    \TR-             Turn off TRace mode

    \TR*             Toggle TRace mode

    \TT+             Turn Translation/filter Table on

    \TT-             Turn Translation/filter Table off

    \TT*             Toggle Translation/filter Table

    \UF+             Usage log File on (using default usage log filename)

    \UF+[filename]   Turn on Usage log File specified by filename

    \UF-             Usage log File off

    \UF*             Toggle Usage log File

    \UL[]            UpLoad file, prompting for protocol and filename

    \ULc[]           UpLoad file using specified protocol c

    \UL[filename]    UpLoad specified file using default protocol

    \ULc[filename]   UpLoad specified file using specified protocol c

    \UM[string]      Enter Usage  Message into usage log file (if usage file
                     is on)



    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 109







    \UNstring[macro] Repeatedly  execute macro  UNtil  string  arrives  from
                     modem

    \UTxx:yy[macro]  Repeatedly execute macro Until specified  Time (24-hour
                     notation)

    \WF[]            Wait For any character to arrive from modem

    \WF[string]      Wait For string to arrive from modem

    \WL              Wait for new Line

    \WP[x]           Wait  for  a  Pause of x seconds in the remote system's
                     input

    \WW+             Automatic Word-Wrap detection for Message Uploads  on

    \WW-             Automatic Word-Wrap detection for Message Uploads  off

    \WW*             Toggle between \WW+ and \WW-

    \XX+             Use Xon/Xoff handshaking

    \XX-             Do not use Xon/Xoff handshaking

    \XX*             Toggle between \XX+ and \XX-

    \ZS              Zap (clear) Screen

    \+Vx[y]          Numerically  adds  y  to  the  contents  of  variable x
                     (0..9).

    \+Vx[-y]         Numerically subtracts y from the contents of variable x
                     (0..9).

















    Chapter 5,  BOYAN Power:  Macros and Script Files               Page 110













                                   Appendix A

                           Common Questions & Answers


    Q. "Why did you write BOYAN?"
    A. For two reasons: first, because I wanted many features in  a communi-
    cations program that simply aren't  available in any other programs; and
    second, because I needed money for college.

    Q. "Why doesn't BOYAN dial my modem properly?"
    A. BOYAN comes preset for Hayes-style  modems  that dial using the  ATDT
    command.  If  you have a Hayes but wish to use pulse dialing rather than
    touch-tone, change  this  command  to   ATDP .  To set BOYAN for another
    kind  of  modem, consult your modem's manual  and  set  the  options  in
    configuration area <M> properly.

    Q. "BOYAN says 'dial despite carrier'  every  time I dial, and it always
    thinks it's connected.  Why?"
    A.  BOYAN  depends  on your modem to give accurate carrier status in the
    "modem status register."  You may have to  flick  a  toggle  switch (USR
    Courier) or type a modem command  (Hayes,  section 2.4.2) to get this to
    work properly.  If carrier detection is still wrong, then  try resetting
    the "Carrier Detect Mask" in configuration area <E> (see page 26).  As a
    last resort, you can disable the "dial despite carrier" message; this is
    also accomplished in config area <E>.

    Q. "How does BOYAN determine the  number  of  data bits and stop bits to
    use when communicating?"
    A. BOYAN automatically uses  8  data bits whenever you select no parity,
    and  7  data bits with even or odd parity.  1 stop bit is  always  used.
    These settings should work for any connection.

    Q. "BOYAN reports  that  it  doesn't  have  enough memory to Jump to Dos
    and/or use the scroll-back buffer.  How come?"
    A. BOYAN divides all available system RAM between the memory  needed for
    the DOS Shell and the memory  used  to  store scroll-back lines.  If you
    have  256K or less, you may not have enough memory to use both of  these
    features.  You can change the way BOYAN partitions your  system's memory
    in configuration area <S> (see page 21).





    Chapter 1,  Common Questions & Answers                          Page 111







    Q. "When I start BOYAN, all  of  BOYAN's commands seem to work properly,
    but I can't get any response from the modem.  What's going on?"
    A. The most likely problem is that you  have  selected  the  wrong modem
    serial device (port).  Press <Alt-P> to select a new serial  port (Com1,
    Com2,  Com3, or Com4).  Com1 is the first standard serial port, which is
    built-in  to  many  computers.  Com2 is the second port, usually used by
    internal modems or add-on serial cards.  Com3 and Com4  are non-standard
    ports which may be used if neither Com1 nor Com2  is  available for your
    modem.    If  using Com3 or Com4, you MUST explicitly configure the port
    "addresses" as explained in sections 3.2 and 3.8.
       The modem might also  appear  "dead"  if  you have configured CTS/RTS
    flow control ON (in Config Area <E>), when your modem  does  not in fact
    support CTS/RTS flow control.  In that case, just turn flow control off.

    Q. "Can I get BOYAN to..."    "... clear the screen automatically before
    dialing?"    "...  automatically return to the dialing directory after I
    disconnect?"  "...  display  the  current  time of day with a keypress?"
    "run  my favorite DOS program with the touch of a key?"  "... toggle  in
    and out of Gossip Mode by pressing <Alt-G>?"
    A.    Yes,  using BOYAN's Macro language.  These and many other examples
    are explained in section 5.3.

    Q. "I wrote a new BOYAN  start-up  macro  #9 (or any other BOYAN macro),
    but it's too long to fit in the 80-character space provided."
    A.  The solution is to break the macro in half.  Save the second half of
    the macro in an  unused  BOYAN  macro--say,  #60 (the <Ctrl-@> keystroke
    macro).    Then  save your macro's first half in its normal place, macro
    #9,  but  append the command: \MA[60].   When  the  \MA[60]  command  is
    reached, macro #60 will be executed, completing your long macro.

    Q. "Is there any way to restore the original 120 BOYAN Macros?"
    A.  Just delete the BOYAN.MAC file from your disk before entering BOYAN.
    When you run BOYAN, the original BOYAN.MAC will be recreated.

    Q.  "When  I  use  VT-100  (or  VT-52)  terminal emulation to call up  a
    mainframe, the backspace key doesn't work."
    A. Most mainframes  expect  a  "DEL"  character  instead  of  the normal
    <Ctrl-H> backspace.  When  you  have  activated the terminal's secondary
    keyset  by  pressing  <Scroll-Lock>, the <Del> key sends the "DEL" char-
    acter.    You may also configure the backspace key to send  a  "DEL"  in
    Configuration Area <A>.

    Q. "How can I link my computer with a friend's, to chat by modem?"
    A. One way is to use BOYAN's Host Mode, as described in section 4.8.  An
    alternative is to call by voice first.  Both of  you  should press <Alt-
    A>,<G> to select the "Gossip" BOYAN Action Module.  Also,  press <Alt-P>
    to verify that both you and your friend have selected the same speed and
    parity parameters.  Finally, one of you should type "ATA"  <Enter> while



    Appendix A,  Common Questions & Answers                         Page 112







    the other types "ATD"  <Enter>.    After  the "CONNECT" messages appear,
    hang up the (voice) telephone.  You should then be able to type back and
    forth to each other.

    Q. "BOYAN came packaged with my brand-new $200 modem.  Why should I have
    to pay any more to use it?"
    A.  I receive absolutely no compensation from  the  modem manufacturers;
    they expect you to pay the ShareWare registration fee directly to me.

    Q. "How can I find out about new terminal emulations,  enhancements, and
    upgrades to BOYAN 4.0?"
    A.    The  BOYAN Support BBS always carries the latest version of BOYAN,
    including the most recent Action Modules, script files, etc.  Registered
    users will be notified about major upgrades by mail.

    Q. "What if I like  BOYAN  but  need  specific  changes?  Can I have the
    welcome screen customized for my corporation?"
    A. Although BOYAN's source code is  not  available, I will gladly try to
    incorporate  specific  changes  for  out-of-the-ordinary  communications
    needs.   A customized welcome screen is available  to  any  licenser  of
    eleven or more copies of BOYAN.  Please write or call the support BBS.






























    Appendix A,  Common Questions & Answers                         Page 113













                                   Appendix B

                          Using PC-Pursuit with BOYAN


    Telenet's PC-Pursuit service provides 30 hours of long-distance computer
    communications for  a flat monthly fee.  Unfortunately, using PC-Pursuit
    can involve maneuvering through a  maze of cryptic codes, passwords, and
    busy signals.  However, thanks  to BOYAN's powerful script language, the
    entire procedure can be completely automated.


    B.1  Features


    PURSUIT.BSC,  a  100-line  BOYAN  Script  file,  offers   the  following
    features:

     - After connecting to your local  PC-Pursuit service, BOYAN loads a new
       dialing directory  with the names of all available PC-Pursuit CITIES.
       You  can  dial into any city node at either 1200 or  2400  baud  with
       BOYAN's normal <Alt-D> dialing command.  If the city  node  is  busy,
       BOYAN can  automatically redial it using its <Alt-Q> redialing queue.
       You can add up to 20 cities to the queue,  and  BOYAN will repeatedly
       dial all of them until connecting.

     - When you have reached a city node, BOYAN automatically  loads  a  new
       dialing directory which contains the  BBS phone numbers local to that
       city.  Again,  you  can  dial  these  numbers  using  BOYAN's <Alt-D>
       command, or redial from a list of numbers with <Alt-Q>.

     - You can easily change from one city node to another.

     - The script is self-configuring; once you enter your PC-Pursuit ID and
       password, it remembers it for all future uses.

    BOYAN's PC-Pursuit system offers  all  of  the  features of Wayne Wolf's
    (great) ICEX program, as well as the added conveniences of  never having
    to leave BOYAN, and always being able to use  BOYAN's  friendly  <Alt-D>
    (dialing) and <Alt-Q> (queue redialing) commands.





    Appendix B,  Using PC-Pursuit with BOYAN                        Page 114







    B.2  Preliminary Setup


    To set up BOYAN's PC-Pursuit system, follow these simple steps:

     - Make sure that the PURSUIT.BSC file is in your Script path  (which is
       the same as the BOYAN path unless you explicitly changed it in Config
       Area <D>).

     - Make sure that the PURSUIT.FON file is in your FON path (which is the
       same as the BOYAN path unless you changed it in Config Area <D>).

     - Your  modem  MUST be able to accurately  report  the  status  of  the
       Carrier  Detect  signal,  as  described  in section 2.4.2.  Also,  in
       Config Area <C>, your modem connect message must be "CONNECT" and one
       of  the no-connect messages must be "BUSY".   (These  are  all  BOYAN
       defaults.)

     - In your normal dialing directory, create an entry for your  local PC-
       Pursuit  dial-in  number.   Press <Alt-D>  to  call  up  the  dialing
       directory, hit <E> for edit, type an entry number and  press <Enter>.
       Fill in the fields as follows:

       System Name     "Telenet local dial-in", or whatever you like.

       Number          The local Telenet access phone number.

       BAM             "A", to select the Ansi-BBS BOYAN Action Module.

       Script          "PURSUIT" .  This will  make  the  PURSUIT.BSC script
                       run automatically whenever you connect to Telenet.

       Prot            space.  There is  no  need  to  set a special default
                       protocol here.

       Comm (Baud Rate)
                       1200 or 2400, depending on your modem's capability.

       Comm (Parity)   "N" for None.

     - (Optional) You may create a special FON directory for each city node.
       From  the  dialing directory, press <N> for  NewFON.    The  new  FON
       directory should be  named  with  the  city's  five-letter PC-Pursuit
       code--e.g.,  to  create  a special FON directory  for  Chicago,  type
       "ILCHI" <Enter>.  Entries in  these  FON  directories  should contain
       local phone numbers only, and the Comm parameters should  be  set  to
       1200 or 2400 baud, [N]=NO parity.




    Appendix B,  Using PC-Pursuit with BOYAN                        Page 115







    B.3  A PC-Pursuit Session


       1.  To start a PC-Pursuit session,  simply  dial  your  local Telenet
           access number from the dialing directory, as you  would  dial any
           other system.  After you  connect,  the  PURSUIT.BSC  script file
           comes to life.

       2.  If  this is the first time you have  ever  used  BOYAN's  PURSUIT
           script, you will be prompted to type your PC-Pursuit ID, a comma,
           and  your password on the status line.  Do not type any spaces; a
           typical   response   might   be   "PCP12345,ABCD6789".      BOYAN
           automatically  saves  your ID/password in  ShortCut  macro  #115,
           where the PURSUIT script will find it for all future logons.

       3.  The PURSUIT script loads the PURSUIT.FON  directory,  which lists
           the 34 or so available PC-Pursuit city nodes.   Then  the  script
           stops, leaving you at Telenet's "" prompt.  At  this  point,  you
           may press <Alt-D> to dial directly into a city node.   (Note--the
           dialing directory's <L>ocate  command  is  useful  for  finding a
           given  area  code  in  the  list.)  Alternatively, you can  press
           <Alt-Q>,<Enter> to fill BOYAN's  redialing  queue  with a list of
           city nodes to dial.    The script has modified the dialing prefix
           and suffix, so when  you  "dial" a city, BOYAN actually sends all
           the proper PC-Pursuit codes, e.g.:

                C D/ILCHI/12,PCP12345,ABCD6789


       4.  As  soon  as  you  connect  to  a  city  node, the PURSUIT script
           automatically reappears.  It clears the  screen,  initializes the
           remote modem with the "ATZ" command, and loads up the special FON
           directory associated with that city.  For example, if you connect
           to the ILCHI node,  then  the ILCHI.FON directory is loaded.  (If
           you have not  created  an ILCHI.FON directory, then your original
           BOYAN.FON directory is reloaded.)

       5.  You  may  now  again use BOYAN's <Alt-D>  (dialing)  and  <Alt-Q>
           (queue redialing)  commands, only now these commands refer to the
           local Bulletin Board Systems within the active city  node.   Make
           as many connections as you like in that city.

       6.  To change to another city node, you must  manually  re-invoke the
           PURSUIT script.  To do  this, press <Alt-R>,<Enter>.  The PURSUIT
           script will disconnect you from the current city  node,  and then
           you may again dial city nodes as in step #3 above.





    Appendix B,  Using PC-Pursuit with BOYAN                        Page 116







       7.  When  you  disconnect  entirely  from  Telenet  (for  example, by
           hanging  up your modem with <Alt-H>),  then  the  PURSUIT  script
           again comes to  life,  in  order  to  restore  your  original FON
           directory and modem dialing macros.  Warning:  do not turn off or
           reboot  your computer before hanging up  from  Telenet,  or  your
           normal modem dialing macros will not be restored!

    The PURSUIT.BSC script achieves  all  of this automation in the space of
    less than 100 macros.  If you can read this script and understand how it
    works, then  you  have  thoroughly  mastered  BOYAN's  Macro Programming
    Language!








































    Appendix B,  Using PC-Pursuit with BOYAN                        Page 117













                                     Index


    \+V macro command 85                  %AN macro variable 73
    1K-Xmodem 50                          %AP macro variable 73
                                          arithmetic 85
    === A ===                             ASCII 50
    \AB macro command 88                  \AT macro command 86
    Action Module 32, 47                  \AV macro command 78
       default 33
       definition 11                      === B ===
    \AD macro command 77                  \B8 macro command 73
    address 6                             %B8 macro variable 73
    \AF macro command 82                  %B: macro variable 80
    \AL macro command 78                  Backspace 68
    alarm 46                              Backspace Editor 68
    Alarm level 21                        Basic Commands 38
    Alt-A 49                              \BB macro command 78
    Alt-B 39                              \BC macro command 74
    Alt-C 17                              Beeps & Bells 21, 39
    Alt-D 40                              \BL script command 94
    Alt-E 39                              BOYAN Action  Module  See: Action
    Alt-F 57                                 Module
    Alt-H 46                              BOYAN.CNF 13
    Alt-I 64                              BOYAN Commands 38
    Alt-J 57                              BOYAN.FON 13, 22
    Alt-L 54                              BOYAN.LOG 23
    Alt-M 62                              BOYAN.MAC 13, 90, 112
    Alt-N 57                              BOYAN Support BBS 6
    Alt-O 39                              BOYAN.USE 23, 55
    Alt-P 40                              break signal 47, 74
    Alt-Q 45                              bulk discounts 5
    Alt-R 58                              Bulletin Board Systems 47
    Alt-S 55                              \BW macro command 74
    Alt-T 39
    Alt-U 55                              === C ===
    Alt-V 58                              %C: macro variable 80
    Alt-W 58                              \CA macro command 86
    Alt-X 38                              carrier signal 13, 26, 111
    Alt-Z 39                              \CB macro command 88
    \AM macro command 72                  \CC macro command 77
    %AM macro variable 73                 \CD macro command 72



    Index                                                           Page 118







    Centrex 45                            === D ===
    \CF macro command 81                  %D: macro variable 83
    \CH macro command 73                  %DA macro variable 76
    change parameters 40                  data bits 40, 111
    chat mode 47                          \DC macro command 80
    CIS.BSC 96                            \DD macro command 74
    clear screen 39                       default
    CLINK.EXE 53                             definition 11
    \CM macro command 72                  Del 55
    \CO macro command 77                  deleting files 57
    colors 20, 39                         \DI macro command 76
       customizing 20                     dial despite carrier 26, 111
    Com3 port 27                          dialing 40
    Com4 port 27                             afterwards 41
    command line 93                          cycle 30
    Command List 15, 38, 88                  manual 40
    comment                                  modem command 30, 45, 111
       macro 88                           dialing directory 40
    CompuServe 24, 43, 96                    alphabetizing 43
       file transfer 54                      codes 41
    conditional macro commands 85            deleting 44
    configuration 17                         edit entry 42
       dialing 30, 111                       file ASCII copy 23, 44
       disk 22                               locate 43
       expert communications 25              multiple 44
       file transfers 22                     print 44
       Hayes modem 13                        swap 44
       macros 28                          Directory File Manager 55
       memory 111                            sorting 22
       modem 24                           Disclaimer 7
       screen 20                          disk logging 23, 54
       USR Courier HST modem 19           distribution
    control characters 28                    ShareWare 5
    copying files 57                      \DL macro command 83
    Copyright 4                           \DM macro command 79
    corporations 5                        %DM macro variable 79
    \CP macro command 72                  \DMC macro command 79
    CRC-Xmodem 50                         DOS shell 21, 38, 56, 57
    \CS macro command 72                  download
    \CT macro command 74                     definition 11
    Ctrl-Backspace 68                     \DP macro command 83
    Ctrl-End 47                           %DP macro variable 83
    Ctrl-Home 15, 38                      %DR macro variable 80
    Ctrl-LeftArrow 69                     %DS macro variable 80
    Ctrl-PrtSc 54                         DSZ.COM 53
    Ctrl-RightArrow 69                    \DT macro command 74
    CTS/RTS flow control 26, 112          DTR signal 13, 26
    customizing BOYAN 17                  duplex toggle 39



    Index                                                           Page 119







    === E ===                                uploading 51, 56
    \EB script command 94                       directory 22
    \EC macro command 73                        message 50, 52
    %EC macro variable 73                 \FM macro command 81
    Echo keyboard                         FON files 44
       default 24                         free disk space 25, 56, 57
    echo keyboard 39                      \FS macro command 81
    editing files 22, 57, 58              Function Key Customization 32
    EDLIN 22                              \FW macro command 74
    elapsed-time clock 15
    "else" macro command 85               === G ===
    Esc 15                                G-Ymodem 50
    Escape character 28                   \GB script command 94
    ETCH.BSC 97                           Glossary 11
    \EX macro command 88                  gossip mode 47, 92
    exiting BOYAN 38, 88                  graphics symbols 35
                                          \GS script command 94
    === F ===                             \GX macro command 79
    %F: macro variable 77                 \GY macro command 79
    \FC macro command 74
    \FD macro command 77                  === H ===
    %FD macro variable 77                 hanging up 30, 46
    \FE macro command 86                  \HE macro command 88
    file listing 22, 58                   help screens 15
    file size information 56              High-Speed Modem 19, 67
    file transfer 49                      HOST.BSC 97
       auto-find filename 25, 51          Host Mode 63
       batch 53                           HOST Mode Configuration 34
       downloading 52                     How to Order 4
          directory 22                    %HR macro variable 76
       efficiency 53                      \HU macro command 72
       protocols
          1K-Xmodem 50                    === I ===
          ASCII 50                        IBM-3101 emulation 32
          batch-Ymodem 53                 IBM PS/2
          Compuserve Quick-B 53              Com3 27
          CRC-Xmodem 50                      Com4 27
          default 25, 51, 52, 83          ICEX 114
          definition 12                   \IE macro command 86
          external 35, 53                 \IF macro command 87
          G-Ymodem 50                     \II macro command 87
          Kermit 53                       initialization string 31
          Megalink 53                     Ins 57
          Message 50                      \IP macro command 83, 87
          Relaxed Xmodem 50               \IS macro command 88
          Xmodem 50                       \IT macro command 84, 88
          Ymodem 50                       \IV macro command 87
          Zmodem 53                       \IW macro command 87



    Index                                                           Page 120







    === J ===                             macros 28, 62
    \JD macro command 80                     basic form 28
    jump to DOS 21, 38, 57                   definition 12
                                             Shortcut 29, 44
    === K ===                                variables 98
    keyset                                Manual Dialing 40
       definition 11                      \MC macro command 79
       secondary 48                       %MC macro variable 79
    \KO macro command 94                  %MD macro variable 72
    \KV macro command 84                  memory usage 21
                                          Message Upload 50
    === L ===                             %MI macro variable 76
    \LD macro command 81                  missing characters 20
    %LD macro variable 81                 MLINK.EXE 53
    Learn (Script) See:  Script Learn     \MM macro command 89
       Facility                           %MO macro variable 76
    LeftArrow 68                          modem messages 24
    \LF macro command 73                  modem settings 40
    %LF macro variable 73                    parity 13, 24
    Licensing 4                              port 13, 24
    Line Editor 16                              Com3 27
    line format 40                              Com4 27
    linefeeds 39                             speed 13, 24
       default 25                         Modem Setup 13
    LIST 22                               %MP macro variable 72
    \LM macro command 82                  %MS macro variable 72
    %LN macro variable 81                 \MV macro command 85
    LOGON script block 95
    Long-Distance Dialing Prefixes 44     === N ===
    \LV macro command 85                  \NC macro command 78
                                          %NC macro variable 78
    === M ===                             \ND macro command 81
    \MA macro command 88                  new drive/directory 56, 57
    macro commands                        null modem 64
       conditional 85                     NUMBERS.TXT 23
       dialing 76
       DOS 80                             === O ===
       file transfers 83                  order form 5
       modem 72                           overlay
       pacing 75                             definition 12
       pausing 75                         OZBEXT.EXE 53
       repeat 89
       screen 78                          === P ===
       summary 101                        %P: macro variable 83
       terminal 72                        \PA macro command 75
       trace 89                           pacing
       user variables 84                     character 26
    Macro Programming Language 70            line 26



    Index                                                           Page 121







    parameter change 30, 40               registration form 5
    PC-Pursuit 97, 114, 115, 116, 117     Relaxed Xmodem 50
    PCBOARD.BSC 96                        remote system
    PCKERMIT.EXE 53                          definition 12
    PgDn 52                               renaming files 57
    PgUp 51                               Restore Default Text Color 39
    phone call log 55                     <Return> character 28
    \PL macro command 74                  Reviewers 6
    \PM macro command 82                  RightArrow 69
    \PR macro command 82                  \RV macro command 85
    %PR macro variable 82                 \RX macro command 79
    printed BOYAN manual 5                \RY macro command 80
    printer
       dialing directory 44               === S ===
       logging 54                         %S# macro variable 78
       screen 54                          %S: macro variable 95
       scroll-back buffer 59              \SB macro command 74
    printing files 57                     %SC macro variable 95
    Program disk 9, 13                    \SC script command 95
    protocol See: file transfer           SCRBACK.LOG 23
    Protocol disk 9, 19                   screen dump 23, 55
    \PS macro command 82                  script commands
    \PU macro command 75                     examples 96
    pulse dialing 18                      script files 93
    purchase orders 5                        blocks 94
    PURSUIT.BSC 97, 114                      definition 12
                                             directory 23
    === Q ===                                logon 95
    Q-time 46                                running 56, 58, 95
    \QA macro command 76                  Script Learn Facility 60
    \QC macro command 77                  SCRNDUMP.TXT 23
    \QD macro command 77                  scroll-back buffer 21, 23, 58
    \QE macro command 77                  Scroll-Lock 48, 49
    Questions & Answers 111, 112, 113     %SE macro variable 76
    queue redialer 45                     secondary keyset 15, 48, 49
       add 45                             Session Logging 54
       alarm 46                           %SF macro variable 78
       clear 46                           ShareWare 5
       delete 46                          ShareWare distributors 6
    Quick-B See: CompuServe               Shift-PrtSc 54
    quick reference card 5                Shift-Tab 39
                                          Shortcut macros 29, 44, 97
    === R ===                             \SL macro command 76
    RAM-resident programs 20              %SL macro variable 78
    \RB macro command 89                  \SM macro command 89
    \RC macro command 78                  %SN macro variable 78
    \RE macro command 89                  sound effects 21, 39
    registration 4                        \SP macro command 76



    Index                                                           Page 122







    \SS macro command 82                  unattended 96
    %SS macro variable 78                 Uniform Dialing Prefixes 45
    \ST macro command 79                  UpArrow 58
    start-up 13                           uploading
    Status Line 15                           definition 12
    stop bits 40, 111                     Usage Log 55
    Strip 8th bit 35                      usage log file 23
    Support 6                             Users Groups 6
    \SV macro command 84                  USR Courier HST 19
    system requirements 8                 \UT macro command 76
       memory 21
                                          === V ===
    === T ===                             %V0 macro variable 84
    %T: macro variable 84                 variables
    TCOMM.BSC 97                             summary 98
    Telenet 114                           %VC macro variable 80
    Televideo 925 emulation 32            viewing files 22, 56, 58
    terminal emulation                    VT-100 action module 48
       definition 12                         secondary keyset layout 48
       secondary keyset 15, 49            VT-100 Configuration 33
       VT-52 49                           VT-52 Configuration 34
       VT-100 48
    terminal keyset 49                    === W ===
    terminal mode 14                      %WC macro variable 80
    %TF macro variable 84                 welcome screen 13
    %TI macro variable 84                 \WF macro command 75
    timeout                               \WL macro command 75
       default 27                         word processor 22, 58
    \TO macro command 75                  word wrap auto-detection 25, 52
    \TR macro command 89                  \WP macro command 75
    trace mode 89                         \WW macro command 84
    translation table 39
    Troubleshooting 14                    === X ===
    \TT macro command 74                  Xmodem 50
    %TT macro variable 74                 XON/XOFF flow control 26
                                          %XP macro variable 79
    === U ===                             \XX macro command 74
    %U: macro variable 83
    %UD macro variable 84                 === Y ===
    \UF macro command 82                  Ymodem 50
    %UF macro variable 82                 %YP macro variable 79
    \UL macro command 83
    \UM macro command 82                  === Z ===
    \UN macro command 76                  zap screen 39
    %UN macro variable 82                 \ZS macro command 78






    Index                                                           Page 123


BBS_REG.TXT

	      DSZ BBS Registration Form  Expires Feb 15 1989

Mail to:      Omen Technology INC
              17505-V NW Sauvie IS RD, Portland OR  97231
Canadians:    Dynamis Productivity Software LTD
              P. O. Box 5008, Station B, Victoria BC V8R 6N3

Name     __

Address  __

         __

         __

Daytime Phone (____) ________________  Evenings Phone  (____)  ______________

BBS Title/Nickname ___________________________________  Hours: ____________

Public Access/Registration Policy: 

BBS Phone  (____) __________________

Area where ZCOMM files are stored:

Omen Tech Login, password:

NOTE: the Omen Tech password should not be something obvious, and it should
NOT confer any privileges that could possibly compromise your system.

I shall distribute DSZ.COM only as part of the DSZ.ARC EXACTLY as provided by
Omen Technology Inc or Dynamis Software.  If I distribute DSZEXE.ZOO, I shall
also maintain DSZ.ARC in the same directory since DSZEXE.ZOO references files
in DSZ.ARC.

If I see an unpacked, repacked, or otherwise modified DSZ archive or parts
thereof in a file or collection of files (e.g., archive) on a bulletin board,
I shall replace such files or archive members with DSZ.ARC exactly as provided
by Omen Technology Inc.  I shall report instances of noncompliance to Omen
Technology.

I shall not allow any version of dsz to be sold, modified, patched, hacked,
disassembled, decompiled, or otherwise reverse engineered without the prior
written permission of Omen Technology Inc.

I agree to feature the ZCOMM files (ZCOMMEXE.ARC, ZCOMMDOC.ARC, ZCOMMHLP.ARC)
for downloading, and to announce the availability and features of ZCOMM in any
bulletins, help displays, or other displays that mention communications
programs.

I agree to maintain a valid login on the BBS system(s) for which I am
requesting registration, for use by Omen Technology in spot checking BBS
support.  I understand that I am welcome to use DSZ on my bulletin board(s)
from the time I sign and mail this document as long as I abide by the
conditions above.


Signed ___________________________________________ DATE _________________

Sumbissions must be postmarked no later than Feb 15 1989.
Incomplete forms will not be processed.  A physical signature is required.

DSZ.DOC


            DSZ - a ZMODEM, True YMODEM(TM), XMODEM File Transfer Program

                                    Chuck Forsberg

                                 Omen Technology Inc


                             Omen Technology Incorporated
                            The High Reliability Software

                         17505-V Northwest Sauvie Island Road
                                Portland Oregon 97231
                Modem: 503-621-3746 Speed 1200,2400,19200(Telebit PEP)
                           Compuserve:70007,2304  GEnie:CAF
                          UUCP: ...!tektronix!reed!omen!caf













































        Chapter 0                   DSZ Reference                            2



        *************************************************************************
        Registration bypasses the shareware announcement and unlocks the
        advanced features in all past and future versions of DSZ.
        *************************************************************************




















































        Chapter 1                   DSZ Reference                            3



        1.  FAIR PLAY

        Unlike snazzy menu interfaces, reliable high speed transfer protocols
        take many hours of testing, often over expensive phone connections, to
        develop.  Two decades of communications experience and protocol
        testing are distilled in DSZ.

        DSZ is a user supported program developed and supported by Chuck
        Forsberg, owner of Omen Technology.  Countless hours of work and
        expen$ive resources went to develop and support DSZ for the myriad
        environments users use it in.  The fact that most of the problems
        people encounter with DSZ are caused by other software, hardware
        problems, failure to read the supplied documentation, or pirating has
        not kept users from seeking and getting help, even if it means calling
        the author in the middle of his sleep.

        Beyond this, the world of communications is constantly evolving, and
        it requires a significant ongoing effort to keep DSZ and its
        documentation up to date with the current state of the art.
        Individuals with little knowledge of the dynamic nature of
        telecommunications (or hidden agendas) have misrepresented the
        frequency of enhancements to DSZ as a sign that DSZ is "unstable" and
        unworthy of "serious consideration".  If you think such sniping is
        fair play, you are more than welcome to use one of the many other
        protocol programs available, each of which claim to offer speed and
        reliability comparable to DSZ.

        Non registered users are welcome to use DSZ for a reasonable
        evaluation period.  "Reasonable" means "until you've decided whether
        the program is worth $20.00".  It does not mean "until some competing
        program gets around to adding ZMODEM or True Ymodem(TM)".  Afterwards,
        ethical use of DSZ requires registering the copy.

        DSZ is not and never has been Public Domain.  Every version of DSZ has
        included a Copyright Notice and a prohibition against sale or
        modification.  There is no usage counter or other Trojan Horse in DSZ,
        but if you use this program, you have a moral and ethical obligation
        to register it.

        Paid registration enables OverThruster(TM), YMODEM-g, and other
        advanced features that are present in DSZ.ARC in encrypted form.  The
        registration package serializes and decodes all past and future
        versions of DSZ.COM and DSZ.EXE.

        1.1  Sharing DSZ Files

        You are welcome to share unmodified copies of DSZ.ARC with your
        friends and associates for their evaluation.  This documentation file
        and the MAILER file must be provided with all copies of DSZ except by
        prior written permission from Omen Technology Inc.  Because of piracy
        problems, Omen Technology must INSIST that DSZ be distributed only as





        Chapter 1                   DSZ Reference                            4



        part of the DSZ.ARC file EXACTLY as provided by Omen Technology Inc or
        Dynamis Software.

        PLEASE!!! Do NOT repack the Omen supplied DSZ.ARC file with Pkarc!!!

        The few bytes saved by PKARC are more than offset by confusion and
        increased difficulty identifying virus infection, Trojan
        modifications, and unauthorized patches.

        The only approved exceptions to this rule are:

         [1]  Dissemination the contents of the DSZ.DOC file (part of DSZ.ARC)
              in a convenient machine readable or human readable form,
              providing the editorial content is unchanged.

         [2]  Encoding the DSZ.ARC file into printable characters for
              transmission over text based networks and/or message/news
              distribution systems.  The "uuencode" program used with Usenet
              comp.binaries is an instance of such encoding.

        If you distribute DSZEXE.ZOO, DSZ.ARC must be included in the same
        directory since DSZEXE.ZOO references files in DSZ.ARC.  The
        DSZEXE.ZOO file may not be modified in any way, including repacking
        with another archive program.  I ask this favor because Rahul's ZOO is
        a superior archiving format, and I want to help it along.

        If you see an unpacked, repacked, or otherwise modified DSZ archive or
        parts thereof in a bulletin board, please ask the board's operator to
        replace such files with DSZ.ARC exactly as provided by Omen Technology
        Inc.  Flame them until they behave responsibly.

        No version of DSZ may be sold without the prior written permission of
        Omen Technology Inc.

        Distribution or use of programs that modify, patch, disassemble,
        decompile, or otherwise reverse engineer DSZ without prior written
        permission by Omen Technology Inc is a bloody theft of services and a
        violation of federal copyright law.  The same applies to debug scripts
        and documentation written for the same purposes.  These perform the
        same function as pirate satellite and/or cable descramblers, to obtain
        benefit from encrypted communications without proper payment.  Piracy
        has been investigated by the FBI and prosecuted under federal
        statutes.  Applicable law provides for damages and recovery of
        attorney's fees.  Omen Technology has received reports of serious
        problems caused by unauthorized patches to DSZ, and cannot assume
        liability for the performance of the resultant code.  So far, none of
        the slime producing such bilge have seen fit to sign their real name
        and address to their cretinous attempts at ego gratification.

        Distribution of DSZ in any medium without this documentation file is
        an unauthorized modification to DSZ that deprives the rightful author





        Chapter 1                   DSZ Reference                            5



        of registration revenues.  That is a theft of intellectual property.
        Such distribution also damages the author also obliges the user and
        author to waste time and phone bills scrounging for the documentation,
        and answering questions that are fully covered in the documentation.

        If any version of DSZ is distributed with any other product, software
        or hardware, the product documentation must clearly and prominently
        state that the customer's continued use of DSZ requires registration
        directly with Omen Technology or its duly authorized agent(s).  When
        DSZ is distributed on disk, a contemporary copy of ZCOMMDOC.ARC should
        be included on the same disk.

        Thank you for your support.

        1.2  REGISTRATION

        After a short evaluation period, ethical users must register their
        copy of DSZ with a check for $20.00 in U.S. funds sent to:

               Omen Technology Inc.
               P.O. Box 4681
               Portland, OR 97208
               For VISA/MC Registrations, call 503-621-3406

        Canadians may remit to:

               Dynamis Productivity Software LTD
               P. O. Box 5008, Station B
               Victoria BC V8R 6N3

        The address on your check is sufficient, no need to fill out forms.

        Don't bother scrounging for an envelope, just print the INSTANT MAILER
        included in this archive!

        Overseas registrations are sent out International Air Mail.  Users,
        especially those overseas, may choose to register their copy of DSZ
        for $25.00 U.S.  by providing their VISA or Mastercard card number
        with expiration date and their name as it appears on their credit
        card.

        Please contact Omen Technology before issuing unfunded purchase
        orders.













        Chapter 1                   DSZ Reference                            6



        *************************************************************************
        The user registration package includes additional user documentation,
        a printed serial number password (SNP) card, latest versions of the
        DSZ programs, and the installation program which uses the SNP to
        enable andvanced features and bypass the opening advertisement.

        The registration package unlocks the extra value in all past and
        future versions of DSZ.COM and DSZ.EXE.
        *************************************************************************

        The unique serial number on the registration card is registered to the
        user, and is acceptable proof of registration to corporate auditors.

        The putsnp program inserts your unique DSZ Serial Number Password
        (SNP) into you copy of DSZ with the following command:
               putsnp dsz.com
        Putsnp accepts your SNP and asks appropriate questions before
        inserting the SNP to enable the extra value in DSZ.

        Some TSR programs have been known to interfere with putsnp.  If you
        have a lockup running putsnp, run it without any TSR programs.


        The only legitimate way to disable the opening advertisement in DSZ is
        to insert an authorized SNP obtained from Omen Technology into DSZ
        with the putsnp program.  Any other suppression or modification of the
        opening screen is an illegal, unethical theft of services.  Omen
        Technology has received reports of serious problems caused by
        unauthorized patches to DSZ, and cannot assume liability for the
        performance of the resultant code.

        Piracy is stealing.


        1.3  Files on Registration Disk

        The following files are currently included on the Registration Disk
        sent to paid registrants.

        LOOZ.EXE       Program to unpack .ZOO archives.


        DSZEXE.ZOO     Contains DSZ.EXE.

                       To dearchive with looz: looz x dszexe


        DSZ.ARC        Contains DSZ.COM, this document, DESQview description
                       files, and an instant no-effort registration mailer.
                       Type "looz" without arguments to see the help message.






        Chapter 1                   DSZ Reference                            7



        YZMODEM.ZOO    Contains Official YMODEM and ZMODEM protocol
                       descriptions.

                       To dearchive with looz: looz x yzmodem


        RZSZ.ZOO       ZMODEM C source code, porting base for several dozen
                       ZMODEM implementations

                       To dearchive with looz: looz x rzsz


        PUTSNP.EXE     Installs your unique registered serial number to enable
                       the extra value in DSZ.


        DSZBG.DOC (in DSZBG.ZOO) Background information for DSZ, part of the
                       ZCOMM User's Manual.  DSZBG.DOC is for paid registered
                       users only; registered bulletin boards and unregistered
                       users are welcome to read the ZCOMM manual contained in
                       ZCOMMDOC.ARC.

                       To dearchive with looz: looz x dszbg


        1.4  Bulletin Board Registration

        DSZ may be freely used and copied by public bulletin board systems
        which agree to the conditions stated in the accompanying bbs_reg.txt
        file.  Those not abiding to these conditions must obtain a paid
        registration for each node.

        The purpose of free bulletin board registrations is to support and
        promote ZCOMM and Professional-YAM by popularizing the ZMODEM
        protocol.  BBS registrations must be submitted on the form with
        signature and date.  BBS registrations postmarked after the date shown
        on the form will be ignored.  Free bulletin board registrations are
        processed in batches, when there is a major upgrade to ZCOMM.


















        Chapter 2                   DSZ Reference                            8



        2.  DESCRIPTION

        DSZ is a "protocol driver" that uses the ZMODEM, True YMODEM(TM), or
        XMODEM protocol to transfer files over a serial port with a variety of
        programs.

        ZMODEM Transfers feature 32 bit CRC, crash recovery, and advanced file
        management.

        DSZ has three main commands for ZMODEM transfers: "sz" sends file(s),
        "rz" receives file(s), and "t" is a terminal emulation function with
        automatic no-keystroke ZMODEM file downloads.

        When calling bulletin boards to download files with ZMODEM you can
        avoid the bother of starting DSZ for each transfer by calling DSZ
        first, before asking the BBS for the download.          dsz t The "t"
        command allows you to keyboard the file request to the BBS.  DSZ's
        ZMODEM AutoDownload(TM) then receives the file automatically, without
        any wasted keystrokes or delay.  Try it, you'll like it!  (The "t"
        command is described below.)

        YMODEM downloads are almost as easy.  Use the "t" command as shown
        above, and hit the F3 key after telling the board to download a file
        with YMODEM.

        ZMODEM and True YMODEM(TM) transfers preserve exact file length and
        modification time.

        DSZ supports XMODEM-1k (XMODEM with 1024 byte blocks, sometimes
        mislabeled YMODEM) and CRC-16 with the sx -k and rc commands.

        DSZ is derived from Omen Technology's "Professional-YAM" high
        reliability communications tools, (also known as PowerCom(TM)), and
        supports a subset of Pro-YAM's file transfer related commands.  This
        documentation makes extensive references to contemporary editions of
        the ZCOMM or Pro-YAM manual, and is incomplete without it.

        DSZ is designed to be called from a communications bulletin board
        program.  DSZ may also be called from other communications programs,
        but the combination lacks much of the enjoyable user friendliness of a
        program with integrated ZMODEM.

        DSZ uses its own modem I/O.  The original interrupt vector, UART
        parity, and interrupt configuration are restored on exit.  The
        original state of the 8259 interrupt mask bit for this vector is also
        restored on exit.

        DSZ uses DOS standard output (stdout) for messages.  It never writes
        directly to the screen.  DSZ expects its standard output to point to
        the console, a logging file, or NUL, not the modem port.  If dsz's
        standard output is redirected to the modem (as with ProComm's Host





        Chapter 2                   DSZ Reference                            9



        mode DOS shell), the combination may lock up the computer.  If
        necessary, dsz's standard output may be redirected back to the console
        device with the CON command.





















































        Chapter 3                   DSZ Reference                           10



        3.  EXIT STATUS

        DSZ exits with 0 status for successful transfers, or the value of the
        Q parameter (default 1) if a file transfer failed.  Some languages and
        "door" programs do not return this information to the calling program.
        Some languages and "door" programs freak out (hang) on certain non-
        zero exit values.

        A batch file that calls DSZ directly may be used to detect the DSZ
        exit status with the DOS "errorlevel" construct.  Please refer to the
        Q numeric parameter below for more information.

        DSZ's log file entries may also be examined to determine the success
        or failure of a file transfer.










































        Chapter 4                   DSZ Reference                           11



        4.  COMMANDS

        dsz [CON] [port N] [speed S] [handshake XX] [D] [d] command

        DSZ commands are an improper subset of Pro-YAM/PowerCom/ZCOMM
        commands.  They are fully described in the ZCOMM User's Manual,
        contained in ZCOMMDOC.ARC.  Portions of that document are included
        with the DSZ registration disk.  Please refer to that document for
        details on the following commands.

             ***********************************************************
                                      NOTE WELL
        Except as noted, all commands must be in entered lower case.  (Case is
        significant!)
             ***********************************************************

        When used (in any combination), the CON, port, speed, handshake, and d
        commands must be given in the order shown.


        CON   Redirect message output to the DOS "CON" (console) device,
              overriding any previous redirections.  This is necessary to
              avoid lockups caused by Procomm host mode.  Most programs do not
              require this hack.  This command is unique to DSZ.

        estimate length [speed] Use the specified length and optional
              specified effective speed for the next receive file to be
              created.  This command must come after any port, speed, or
              handshake commands.  Please refer to the ZCOMM manual for
              details.

        handshake XX Enable one of several choices of hardware handshake.
              (The default is XOFF/XON software handshake).  This command is
              documented in the ZCOMM or Pro-YAM manual, and in DSZBG.DOC.
              (The ZCOMM manual is available on all bulletin boards registered
              for DSZ as ZCOMMDOC.ARC.) On DSZ the "handshake" command may be
              abbreviated to "ha".

        port N select port N (n = 1,2,3,4,5,6,7,8, 10,11,12,13,14,15,16,17,18)
              Default is port 1 (COM1) or read from the DSZPORT dos
              environment variable.  COM10 to COM18 refer to the COM1 to COM8
              ports on the PS/2.

              In multitasking operation, accessing a port used by another
              running program may hang the machine.
              EXAMPLE: to use COM2:
              dsz port 2 rz

        portx ... Select arbitrary port address and interrupt vector.  Please
              refer to the ZCOMM or Professional-YAM manual for information on
              this command.





        Chapter 4                   DSZ Reference                           12



        speed S Set the specified speed.  This command is rarely needed
              because DSZ reads the port's current speed by default.  Please
              refer to the FLOW CONTROL, MAIN COMMANDS and SOFTWARE
              COEXISTENCE chapters in the ZCOMM or Pro-YAM manual for
              important information about the speed command.

        D     Disables the modem (drops Data Terminal Ready, DTR) if carrier
              is lost.  This may be used to prevent spurious events (phone
              ringing) from interfering with the calling bulletin board's
              recovery from carrier loss.

        d     Disables carrier dropout monitoring, for modems that do not
              properly drive the "Carrier Detect" input on the PC.  If you see
              a No Carrier Detect message, you need to give the d command.

        LARG  Convert ARG to lower case, then parse arg.

        pxN   Set a numeric parameter x to N.  These parameters are mostly a
              subset of the Pro-YAM/ZCOMM numeric parameters, and are listed
              below.  They assume their defaults each time DSZ is called.
              Without an argument, p displays the numeric parameters and their
              values.

              EXAMPLE: C>dsz p

              z pxN Set zmodem numeric parameter x to N.  These parameters
              correspond to the Pro-YAM or ZCOMM "zmodem" parameters and
              rarely need changing.  These parameters assume their defaults
              each time DSZ is called.  Without an argument, z p displays the
              zmodem numeric parameters and their values.

        restrict Restrict pathnames to the current disk and directory tree,
              and disallow overwriting of existing files.  When DSZ is
              restricted, it will refuse to transfer files containing the
              string autoexec.bat and command.com in upper or lower case.
              This provides some defense from malicious uploaded files.

        t     [-8g] Talk with ZMODEM AutoDownload(TM).  The optional -8g
              (available on registered copies only) allows "BBS (ANSI)
              graphics".  (A video device driver such as ANSI.SYS must be
              loaded to suppport some types of graphics.) A small subset of
              ZCOMM/Pro-YAM term function subcommands are recognized.
              Keyboard F1 or ALT-X to exit.  F3 receives file(s) with True
              YMODEM(TM), ALT-P toggles parity between the 8n default and 8g
              (enables ANSI "graphics").  ALT-H toggles two local echo ("Half
              Duplex") modes; the second displays a newline (CR/LF) when Enter
              is keyboarded.  Keyboarded ASCII characters are sent to the
              modem.

              Modem characters print on the screen.  A device driver such as
              ANSI.SYS may be used to recognize escape sequences.





        Chapter 4                   DSZ Reference                           13



              DSZ's ZMODEM AutoDownload(TM) detects the start of a ZMODEM file
              download and accepts the file(s) without operator intervention.

        rz    [-abenprt+Yy] [dir] [file ...]          (ZMODEM receive) **

        rb    [-abt+y] [dir] [file ...]     (YMODEM receive) **

        rb -g [-abt+y] [dir] [file ...]     (YMODEM-g receive) **

        rc    [-abt+y] file1                (XMODEM/CRC receive)

        ro    [-abt+y] file1                (XMODEM OverThruster receive)

        rx    [-abt+y] file1                (XMODEM receive)

        rx    -g [-abt+y] file1             (Qmodem-G receive) **

              ** Download directory specification requires paid registration


        sz    [-abefnprtYQS+y] [-w[N]]  file ...      (ZMODEM send)

        sb    [-ft] [PREFIX=p | ONAME=n] file ...     (YMODEM, YMODEM-g send)

        sb -k [-ft] [PREFIX=p | ONAME=n] file ...     (YMODEM-1k send)

        sx    [-t] file1                    (XMODEM, XMODEM/CRC, Qmodem-G
              send)

        sx -k [-t] file1                    (XMODEM-1k send)
        The meanings of the optional arguments are described in the ZCOMM
        manual.

        The s (slugbait) option prevents a receiver from receiving a file
        without accounting for it.  Attempts to do so are flagged with a Q
        status in the log file.  This option can cause a transfer that
        legitimately fails near the very end of the file to be reported as
        Questionable rather than ERROR.

        Send files may be specified indirectly:
                                 dsz sz @C:files.lst
        sends the files in C:files.lst.  This provides another means of
        bypassing the DOS command line limit.  The first letter must be "@"
        and the third letter must be ":" to distinguish this from an ordinary
        pathname.  Pathnames in the indirect may be separated with any
        combination of space(s), tab(s), CR and/or LF.  No spaces may appear










        Chapter 4                   DSZ Reference                           14



        inside a pathname; "FOO     .BAR" won't work.

        4.1  Interrupt Keys

        Ctrl-Break Terminates the transfer in progress.

        ALT-N Abruptly terminates (NUKES) the transfer in progress.

        Ctrl-X Typing a dozen Ctrl-X characters to another ZMODEM program
             terminates ZMODEM operations.

        ALT-F Skips the current file in ZMODEM transfers.

        ALT-B Cancels the current ZMODEM session.










































        Chapter 5                   DSZ Reference                           15



        5.  NUMERIC PARAMETERS

        DSZ uses the following main numeric parameters, settable with the pxN
        command.

        EXAMPLE: C>dsz pQ0


        In addition, DSZ uses the Pro-YAM/ZCOMM zmodem numeric parameters
        described in the Pro-YAM/ZCOMM reference manual.


        B   Set the size of buffer used for disk reads and writes.  The
            default is 1024, 8192 maximum.  If your copy of DSZ is running on
            a floppy disk system or a very slow turkey hard disk, a larger
            value may give better results.  Too large a value may exhaust
            memory, induce receiver timeouts, cause disconnects(!), or
            generate spurious CRC errors.  If performance logging doesn't
            work, this parameter is too big.  This parameter is supported on
            versions compiled with TurboC.

            EXAMPLE: C>dsz pB4096 sz A:floppy.fil

            Setting the buffer size larger may lock out the performance log,
            DSZFILES, and/or indirect pathname list in the "tiny model" DSZ
            flavor.  If you aren't bloody sure you need a bigger buffer, don't
            use one.

        O   This parameter controls XMODEM OverThruster(TM).  It is described
            in dszbg.doc.  This file is part of the software package sent to
            paid registrants.

        Q   Error code returned to DOS (default 1).  (Success always returns
            0.) Some programs toss cookies when confronted with certain exit
            codes.

            EXAMPLE: C>dsz pQ-1 sz foo.bar


        S   Timeout in seconds (default 15) waiting for restraint release (XON
            and/or handshake).

        W   Wait for Enter key before exiting after an error.  Effective on
            registered copies.  Useful when calling DSZ from DESQview, allows
            the window to close unless there is an error message that should
            remain visible.

        a   Calibrates certain protocol timeouts used with XMODEM and YMODEM
            transfers (Cybernetic Data Recovery(TM)).  This parameter does not
            affect ZMODEM transfers.






        Chapter 5                   DSZ Reference                           16



            The a numeric parameter is automatically set to 2000 for a 4.77
            mHz PC or XT, 4000 for a PS2/30, 6000 for an 8 mHz 1ws AT, and
            12000 for a PS2/80.  If your computer has a speedup card or
            otherwise runs unusually fast (or slow!) for its type, you may set
            the a numeric parameter to a value that reflects its speed.

            EXAMPLE: dsz port 2 pa4000 rb


            NOTE: Setting this parameter does not suppress the "Unknown
            Machine Type" message which is displayed before the command line
            is scanned.

        d   A non zero value (the default) causes incoming files received with
            ZMODEM and full YMODEM transfers to have their Date set to that
            sent in the file header.  ZMODEM's file management features depend
            on the transmission of each file's modification date.  Files will
            have the same creation date, even if the two machines are in
            different time zones.  When transferring files to/from a Unix
            system, creation dates are interpreted according to GMT or
            Universal Coordinated Time.  File dating may be disabled with a
            pd0 command.
            NOTE: Backdating file creation times may confuse some backup
            programs.

        v   Verbose level (debugging output) Negative values inhibit some
            routine messages.  Setting v to 1 or greater causes serialized
            copies to ring the bell when a transfer is done.

        z   Timezone in minutes behind GMT, used for ZMODEM and True YMODEM
            file transfers to coordinate the actual date of the file with
            computers in other time zones.  Effective on registered copies.
            PDT or MST corresponds to 420.  This may be preset with the ZONE
            DOS environment variable.






















        Chapter 6                   DSZ Reference                           17



        6.  ENVIRONMENT VARIABLES

        The following DOS environment variables may be set to modify DSZ
        operation.

        DIRRX (Registered copies only.) Specifies the directory to receive
            (download) files.  If the sting in DIRRX ends with "/", directory
            and/or disk designators in the incoming pathname are stripped, and
            only the stem (name and extension) is used.  Otherwise, if an
            incoming file has an absolute pathname, the incoming pathname is
            used.

            EXAMPLE: set DIRRX=C:/rxdirect/

            The "set" command defining the receive directory may be placed in
            your AUTOEXEC.BAT file.

        DSZFILES May contain a list of up to 9999 pathnames to transmit, with
            entries separated by spaces.  If present, DSZFILES is used in
            place of a normal command line list of files to send with the sb
            and sz commands.

            EXAMPLE: C>set DSZFILES=file1 file2 file3 *.c
            C>dsz port 2 handshake on sz -r

            In practice, this string would be built up by a calling program
            and passed to DSZ with a "spawnvpe", "execvpe", or similar
            subroutine call.

            SEE ALSO: Pathname list specification @C:files.lst

        DSZLOG log file to receive entries for files sent and received.
            (Default null).  Sample entries:

        Z  46532 38400 bps 3324 cps   0 errors    66 1024 DSZ.COM 1177
        Z 124087 19200 bps 1880 cps   0 errors     6 1024 MXY.TMP 1177

            Transfer times are based on the DOS time of day clock and have one
            second jitter.  As with all protocol throughput reports generated
            by Omen Technology programs (and contrary to the false claims of
            some critics), DSZ's throughput figures for ZMODEM, Kermit, and
            True YMODEM(TM) transfers do not take "credit" for pathname and/or
            protocol overhead characters.  DSZ's throughput reports do not
            include the time required to send the pathname.  This understates
            the true time required to transfer files, but the time required to
            send the pathname often depends on the alacrity of the operator,
            and thus does not always reflect the performance of the protocol
            itself.

            Transfers measuring less than one second are reported as having
            9999 characters per second throughput.





        Chapter 6                   DSZ Reference                           18



            The unlabeled numeric field after the error (retry) count is the
            number of flow control stoppages encountered sending the file.
            This number gives an indication of flow control restrictions
            (overloaded networks, etc.) encountered during the transfer.

            The last numeric field before the file name is the YMODEM block
            size or ZMODEM subpacket length used for the last block in the
            file.

            The last field is the serial number of the other program, or -1 if
            this information is not available.

            The code letter indicates the type of transfer, Z (ZMODEM), S
            (X/YMODEM), R (X/YMODEM), E (error), or L (transfer terminated by
            loss of data carrier).

            WARNING: If DSZ encounters a loss of carrier or other fatal error
            condition before a file commences transmission, a log entry will
            not be made.

            EXAMPLE: C>set DSZLOG=C:/yam/dszlog


        DSZOPT (Registered copies only) String containing default options for
            DSZ file transfers.  Options are optional modifiers to the DSZ sz,
            rz, sx, rx, sb, rb commands.

            An 8n may be appended to the string to make BBS (ANSI) graphics
            the default for DSZ's t command.  The ability to preset these
            options is especially helpful for controlling ZMODEM automatic
            downloads from DSZ's t command.

            EXAMPLE: C>set DSZOPT=r
            Enables DSZ's Intelligent Crash Recovery(TM) as a default.

            Let's say you wish ZMODEM crash recovery, and BBS "graphics" for
            the DSZ term function:
            C>set DSZOPT=r8g


            WARNING: Do NOT include "ena" or any other commands in the DSZOPT
            string.  With the exception of the "8g" mode, only **options** may
            be placed in the DSZOPT string!  (Options are the letters that
            modify the sz, rz, sb, etc. commands.  In "rz -r", "r" is an
            option.)

        MAXBYTES Maximum number of bytes allowed for transfer.  If this number
            is exceeded, DSZ skips the offending files (ZMODEM) or aborts
            remaining files in the batch (YMODEM).







        Chapter 6                   DSZ Reference                           19



        DSZPORT Default communications port override, default 1.
            EXAMPLE:
            C>set DSZPORT=2

        ZONE sets the z numeric parameter to the number of minutes the current
            local time lags GMT time.  PDT or MST corresponds to 420.
            (Registered copies only)
            EXAMPLE:
            C>set ZONE=420















































        Chapter 7                   DSZ Reference                           20



        7.  EXAMPLES

        dsz sz c:foo.* b:*.c          (send files)

        dsz sz -Z *.lst               (send files with compression)

        dsz sz -r yzmodem.arc         (CRASH RECOVERY: resume interrupted
        transfer)

        dsz rz -r                     (CRASH RECOVERY: resume interrupted
        transfer)

        dsz handshake both sz yzmodem.arc       (Hardware+Software handshake)

        dsz sz -n *.*                 (send files that are newer or rx has no
        copy)

        dsz sz -Yn *.*                (Only send files that are newer than
        receiver's copy)
                                      (Do not send files that do not exist on
        receiver's disk)

        dsz rz C:/UPLOADS             (receive files to specified directory #)

        dsz port 2 speed 38400 restrict rz

        dsz rz  -y prog.arc           (ZMODEM, single file pathname override)

        dsz z pr1 rx foo.dat          (XMODEM receive, remove file if error)

        dsz pO60 ro foo.dat           (XMODEM/OverThruster receive, GEnie MNP)

        DSZ LRC L-Y NEWPROG.ARC       (generate lower case "rc -y" command)

        dsz pv2 sz foo >debug.dmp     (Debugging data dump)

        dsz sz @C:/bbs/files.lst      (Indirect file list)

        # Paid registered copies only

















        Chapter 8                   DSZ Reference                           21



        8.  IN CASE OF DIFFICULTY

        If you have difficulty getting DSZ to work, start with the following
        command to DSZ directly from the DOS prompt, without running any TSR
        or other COMM program:
                                      dsz port 1 speed 2400 d t
        (Change the port number and speed as necessary.) This connects you to
        the modem.  Dial a bulletin board by typing AT commands to the modem
        ("ATDP621-3746").  Log in as usual.  Then, request a ZMODEM download
        of a file you don't already have.  The file will download
        automatically, you don't have to do anything.  This procedure verifies
        the correct operation of DSZ.

        The "sb" and "sz" commands exploit DOS's tree structured file system.
        An "sz" command with no file specified sends all the files in the
        current directory.  A directory or disk specifier expands to all files
        in that directory.


        8.1  Incorrect Batch Files

        Incorrect batch files are the number one source of problems using DSZ
        for downloads.  DSZ's command line echo was added to assist in
        correcting defective batch files.  Try running DSZ by itself, without
        any batch files or TSR programs, calling it directly from DOS as
        described above.


        8.2  No Carrier Detect

        If you see a No Carrier Detect message, you really need to give the d
        command:
                                      dsz port 1 speed 2400 d t

        Better yet, correct your modem cable to allow proper operation of the
        Carrier Detect signal (CD)!

        Some BBS and/or "door" programs hang when the program (such as DSZ)
        they call returns with a non 0 exit status.  Please refer to the "EXIT
        STATUS" chapter of the document for more information.

        8.3  PKARC 3.6

        It has been reported that PK36 grabs some interrupts and doesn't
        restore them on exit in an attempt to prevent hacks of the program.
        Since eliminating that particular version and cleaning up memory,
        highspeed xfers even with 8250 UARTS work properly again.

        The problem with PK 3.6 appears to be most severe if a BBS operator
        has doorware, etc that accesses the PK programs from a shell of some
        sort.  This info may be helpful to users who are having otherwise





        Chapter 8                   DSZ Reference                           22



        inexplicable file xfer problams.

        Phil Katz has written me that this problem has been corrected in
        subsequent versions.

        8.4  COMMAND NOT FOUND

        If you see this message, make sure DSZ is in the DOS PATH.  Sometimes
        this error is caused by having too many environment variable strings.


        8.5  DOS 3.x

        DOS 3.x systems may need to have a "STACKS = 8,256" line in CONFIG.SYS
        to prevent antisocial behavior. This is required on the NEC
        Multispeed, or if certain TSR's are used.


        8.6  Lockups

        DSZ is fastidious about which interrupt vectors it takes over.  Unlike
        some COMM programs, DSZ grabs only the correct interrupt vector for
        its interrupt service routine.  This allows multi line operation under
        DESQview and other multitasking systems.

        Incorrectly configured serial ports that work with programs that pig
        out both IRQ3 and IRQ4, will lock up with DSZ.  If DSZ locks up the
        machine as soon as it tries to send or receive data, this is usually
        the fault.  Make sure the comm port is strapped correctly; COM1 uses
        IRQ4, COM2 uses IRQ3.  DSZ will lock up if the comm port is not
        properly set up.

        In addition, DSZ will not work properly if two devices are connected
        to the same IRQ line, even when some other programs (that don't use
        interrupts as intensively) do work normally on the same machine.


        8.7  IBM PS/2 Model 50Z

        Early samples of this machine have a design error on the motherboard
        that causes comms programs to lock up the machine.  Replacing the
        motherboard with a correctly functioning unit from current production
        corrects the problem.  The part number of the replacement PS2/50 Z
        motherboard is 35F5928.  (Information provided by John M. Choma
        73047,3566) In the U.S. IBM has stonewalled on this issue, but in
        December 1988 agreed to replace the defective motherboards under
        warranty.









        Chapter 8                   DSZ Reference                           23



        8.8  Brain Damaged UARTS

        Omen Technology has received reports of problems with defective 8250
        type UART integrated circuits in Leading Edge modem boards, serial
        port interfaces, and computers.  The defective chip logic affects high
        performance software.  Replacing the buggy chip with a newer chip
        (16450 or NS16550AN) corrects the problem.  The NS16550AN is a plug in
        replacement for 8250 and 16450 serial chips.  386 and fast 286
        machines should use the NS16550AN for best results.) Arrow Electronics
        1-800-932-7769 sells National NS16550AN chips mail order (credit card)
        for about $22 each in small quantities.


        8.8.1  Everex Internal Modems
        Numerous reports have been received concerning difficulties with
        Everex modem cards.  Some of these cards contain buggy 8250 chips
        which are not up to the demands of full duplex streaming protocols
        such as ZMODEM.  Replacing the buggy 8250 chip with a 16450 (or better
        yet NS16550AN) chip corrects these problems.


        8.9  Weird Iron

        A few machines, some with V20 CPUs, don't like DSZ.COM.  We have not
        been able to repeat this; TeleGodzilla (using a V20) runs DSZ.COM
        without a hitch.  Switching to DSZ.EXE has cleared up the problems on
        other machines.


        8.10  Will the real YMODEM please stand up?

        Some XMODEM programs claiming to support YMODEM do not send or accept
        the YMODEM pathname block.  1024 byte XMODEM is XMODEM-1k, not YMODEM
        as defined by Ward Christensen in 1985 when he coined the word.  1987
        and later versions of YMODEM.DOC remind the reader of the official
        YMODEM definition, which has not changed since YMODEM's coinage in
        1985.


        8.11  286 and 386 Extended Memory

        Virtual memory disk caches and ramdisks using 80286 or 80386 extended
        memory require a kluge hardware reset of the CPU chip to return to the
        normal "real mode" after accessing extended memory.  This interference
        to the interrupt response time causes lost characters on comm ports,
        and may be minimized by specifying shorter memory transfers.

        Switching to a National NS16550AN UART chip helps tremendously,
        allowing transfers at 115200 bps instead of 9600 bps with a standard
        8250.  The NS16550AN is a plug in replacement for 8250 and 16450
        serial chips.  Arrow Electronics 1-800-932-7769 sells National





        Chapter 8                   DSZ Reference                           24



        NS16550AN chips mail order (credit card) for about $22 each in small
        quantities.






















































        Chapter 9                   DSZ Reference                           25



        9.  BACKGROUND OPERATION

        Three DESQview description files are provided to demonstrate
        background operation with modest (66 kb window) memory requirements.
        DSZ uses tight C/ASM code, table driven CRC generators, and buffered
        receive and transmit for good performance in the background without
        hogging CPU cycles.  On a QIC Labs 8 mHz PC-AT clone, DSZ can download
        files in the background (3 background clock ticks, 9 foreground clock
        ticks) with a throughput better than 9600 bps.

        2S   Prompts for file name(s) and sends them with ZMODEM protocol.
             File: 2S-PIF.DVP

        2T   Talks to the modem and allows manual YMODEM (F3) or automatic
             ZMODEM downloads.  File: 2T-PIF.DVP

        2A   Like 2T, but using Quarterdeck's dvansi.com memory resident ANSI
             CRT device driver to process ANSI screen codes.  File: 2A-PIF.DVP
             DS.BAT is the batch file used by 2A.

        These files are written for a port 2 local connection and \TMP
        directory, but may be modified to suit your requirements using the
        DESQview CP command.  The W numeric allows DESQview to close the
        window after DSZ finishes, providing a pleasant user interface.

        Other DVPs, Scripts, and Batch files are available on the DESQView
        conference on the Sound of Music as DVDSZ20Z.ARC.

        Operation at high speed (above 9600 bps) requires the DESQview
        "Optimize communications" performance Advanced Setup option.

        Newer versions of DESQview may require more "common memory" allocation
        (6-8 k bytes) to operate with DSZ.

             ***********************************************************
                                       WARNING
        When running DSZ under a multi tasking system such as DESQview, do not
        allow two programs to access the same comm port at the same time.  At
        best, such actions will disrupt communications.  At worst, your
        computer will attempt to open a subspace channel to V'ger.

        When running a comm program under DESQview or any related multitasking
        executive, DESQ must be called directly from the comm program, in the
        same window.  DO NOT use a separate window for DSZ unless you were
        about to power down the computer anyway.
             ***********************************************************










        Chapter 10                  DSZ Reference                           26



        10.  CALLING DSZ FROM COMM PROGRAMS

        It may be necessary to give a

        SET COMSPEC=A:\COMMAND.COM

        (change as needed) in your AUTOEXEC.BAT file to allow programs to call
        DSZ.

        10.1  GT POWER 13.00/14.00

        GT Power version 13/14 includes a YMRX.BAT (YMODEM-g receive) file
        with an "rz" command.  You guessed it, "rz" is for ZMODEM protocol
        (the z means ZMODEM!).  Please change the file to use the correct "rb
        -g" for YMODEM-g.

        The files ZMTX.ARC and GT1300.NOT available on many bulletin boards
        contain useful information for GT Power users.

        10.2  PROCOMM

        DSZ may not operate properly when called from Procomm if Procomm has
        files open at the time.

        When running under ProComm's Host mode, failure to use the DSZ CON
        command may cause Procomm to lock up the computer, or at least
        interfere with file transfers, etc.

        EXAMPLE: DSZ CON sz %1


        The POE, PCALL, DSZ_ZAP, and PROZ programs have been popular in
        interfacing DSZ to Procomm's editor gateway.

        Hint: the DOS PATH environment variable must include Procomm's
        directory to allow POE to locate all the POE files,.  The POE files
        should be stored in the Procomm directory.  Setting the "PROCOMM"
        environment variable is insufficient.

        10.3  PROCOMM PLUS

        DSZ may not operate properly when called from Procomm if Procomm has
        files open at the time.

        Here are some handy settings for Procomm Plus.

        First, set the DOS environment as necessary before running Procomm:
        SET DSZPORT=2                           (Only needed for COM2)
        SET DSZLOG=DSZ.LOG            (If you wish a log file)

        Then set Procomm's external protocol strings:





        Chapter 10                  DSZ Reference                           27



        A- External protocol 1 upload filename  ...ZMODEMU
        B- External protocol 1 download filename ... ZMODEMD

        And then some short batch files:
        ZMODEMU.BAT:                  DSZ sz %1 %2 %3 %4 %5 %6 %7 %8 %9
        ZMODEMD.BAT:    DSZ rz

        To make downloads easier, use the "dsz t" command described above.
        ZMODEMT.BAT:                  DSZ t

        10.4  Qmodem

        The following is based on a message from Mike Cody, sysop of HomePlate
        313-385-9969 3/12/24/96 HST

        Go into Qinstall and go to frame 3 Directories. Then select External
        protocols #3 I think. Now you will see a definition area to tell
        Qmodem the Letter,batchfile combo to use.

        Now put Z in the letter definition, Zup.bat in the u/l batch zdown.bat
        in the d/l batch, and Y in the btch protocol. Now save it at the menu
        with f10 and S.

        Then go to DOS and create the following batch files in your Qmodem
        directory...

        Zdown.bat: DSZ port %2 speed %1 rz -r

        Zup.bat: DSZ port %2 speed %1 sz %3

        These are the batch files that will be called by Qmodem.  If uou did
        everthing right when uoy hit PGDN or PGUP you will see an external
        protocol called Z) Zmodem in the box. For an easier time do a serch
        for either External.arc or maybe the string "Qmodem" in the file
        database as there is a file with several external prootcols and batch
        files available in the Mahoney file section (EXEC BBS).

        10.5  BULLETIN BOARDS

        When installing DSZ on a bulletin board or host system, be sure to
        check for proper operation when the caller hangs up while a file is
        being sent or received.

        Currently, Only the TurboC version supports file sharing (shared read
        access on files sent by  dsz).

        Some bulletin board interface routines do not call DSZ to send a file
        until they have verified the file's presence by opening the file.  If
        this checking is done in DOS's default exclusive open mode, dsz's file
        sharing will be defeated.






        Chapter 10                  DSZ Reference                           28



        11.  FLOW CONTROL

        If you plan to send files over Telenet (PC-Pursuit), you must refer to
        the Pro-YAM or ZCOMM Reference manual (in ZCOMMDOC.ARC) FLOW CONTROL
        chapter for vital information on flow control considerations necessary
        for proper operation of ZMODEM and other streaming protocols.


















































        Chapter 12                  DSZ Reference                           29



        12.  ERROR MESSAGES

        COM2 1200 bps Carrier Detect enabled Handshake slow
        Command line = (commands)
        This is a normal message displayed to help resolve problems with
        incorrect batch files.  The port number, speed, carrier detect
        ("enabled" or "DISABLED") and "handshake" indicate the selected mode
        of operation.

        DSZ FINISHED! exit code = 0
        This is DSZ's normal exit when no unrecoverable errors have been
        detected.  If an error such as failed file transfer had been detected,
        the exit code would be 1, or the value set in the Q numeric parameter.

        As the message implies, DSZ has done all of its processing, and has
        return the communications port and vector to its original value before
        displaying this message.  If the computer locks up after this message
        is displayed, there's something wrong with the program that called
        DSZ, not with DSZ itself.

        Unknown Machine Type XX, 'a' parameter preset to 6000 indicates a ROM
        BIOS that does not follow the IBM specification for identifying the
        machine type.  If your computer causes DSZ to display this message,
        you may set the a numeric parameter described elsewhere in this
        document.  This message is generated before any commands are read, so
        do not be alarmed when setting the a parameter doesn't make this
        message go away.  The a parameter does not affect ZMODEM transfers.

        Need more memory to run DSZ or Abnormal program termination is
        displayed by the TurboC startup routine if DSZ is run in too small a
        memory partition.  If you see this message, use a larger memory
        partition for DSZ or remove some memory resident programs.  This
        message may also appear if the calling program fails to free memory
        before calling DSZ.

        No Carrier Detect is displayed when DSZ recognizes a loss or lack or
        carrier detect signal from the modem.  This is caused by a line
        disconnect, defective cable, or incorrect modem strapping.  It may be
        disabled with the d command.  Sometimes this is caused by setting the
        B parameter to too large a value.

        Garbage Count Exceeded Indicates ZMODEM has not detected a valid start
        of header in a reasonable number of characters.

        If DSZ becomes "stuck" on emitting this messages, it is possible the
        sending program may not be able to recognize and act upon transmission
        requests (ZROPS headers).  The sending program should be corrected.
        In the meantime, setting a ZMODEM packet length with the "zmodem
        pl4096" command forces the sender to wait for the receivers' progress
        reports.






        Chapter 12                  DSZ Reference                           30



        Permission denied comes from the Microsoft C Library.  This may be
        caused by attempts to modify a read only file or directory, or create
        a file in a nonexistient directory.

        A furtive flashing appearance of XOFF or FLOW during ZMODEM or
        YMODEM-g file sending signifies DSZ is responding to flow control
        restraint.  This is normal operation when buffered modems or packet
        switched networks are used.  ZMODEM's robustness and reliability allow
        creative users to transfer files over unusual multiple computer lash-
        ups, causing modem data lights and computer status displays to dance
        in unfamiliar rhythms.  Got ZRPOS indicates the receiving program has
        detected a transmission error and has requested retransmission.  In
        other words, ZMODEM is doing its job of detecting and correcting
        missing and garbled data.  If this happens more often than observed
        line errors would indicate is reasonable, there may be a flow control
        problem in one of four areas:

          + Between the sending program and its modem.  If using an interface
            speed higher than the transmission speed, or modem to modem error
            correction (MNP, LAPB, PEP, etc.), check that the modem and the
            sending program are configured for the same flow control methods.
            Omen Technology's software is faster than most other programs, and
            may expose flow control problems not seen with slower software.

          + Between the sending modem and the network.  Correcting this
            requires "handshake both" to allow the sending program to honor
            both hardware (CTS) flow control from the modem and software flow
            control (XON/XOFF) from the network.

          + Between parts of the network.

          + Between the receiving modem and the receiving program.  This can
            happen at high transmission speeds when the receiver has specified
            a large I/O buffer size with the B numeric parameter.

            Excessive interrupt latency from extended memory ramdisks or disk
            caches, and poorly written hard disk drivers also wreak havoc on
            streaming protocols but do not affect start-stop protocols
            (XMODEM, etc.).

            To correct these problems, give the "handshake slow" command to
            the receiver.

        Byte NNNN retry M: <error message> These messages appear when the
        protocol has detected an error and is attempting to retransmit the
        garbled data.  These are normal messages.

        Serial Input Error: Line Status Register HH indicates a slow device
        driver, TSR program, or other software is disabling interrupts too
        long for the program to accept incoming data, and some characters are
        lost.  A slow response to folow control also triggers this message.





        Chapter 12                  DSZ Reference                           31



        The value of the line status register is displayed in HEX.  The
        following error conditions when present OR into the Line Status
        Register.


        01   The Interrupt level circular buffer has been overrun.  The remote
             did not respond to 's XOFF or hardware flow control, and
             continued to send characters after being told not to.  This
             problem is alleviated by correct modem flow control
             configuration.


        02   Data Overrun is caused by firmware, TSR programs, EGA/VGA board
             auto-select, or operating system software locking out interrupts
             for excessive periods.  Interrupt latency caused by EGA/VGA board
             auto-select can be corrected by disabling auto-select.  Other
             chapters in this document give additional suggestions for
             correcting excessive interrupt latency.


        08   Framing Error generally caused by line noise or an incorrect
             transmission speed or format (number of bits).  Most protocols
             require 8 bits no parity for proper operation.  This is set
             automatically by Omen Technology programs, but other programs may
             not be so smart.


        10   Break Interrupt generally caused by line noise or an incorrect
             transmission speed or format (number of bits).

        Please refer to the In Case of Difficulty chapter of this document for
        solutions.

        Less commonly encountered DSZ error messages are explained in the
        Pro-YAM manual.





















        Chapter 13                  DSZ Reference                           32



        13.  ASSOCIATED DOCUMENTS

        Consult the Professional-YAM, PowerCom, or ZCOMM manual chapter
        "OPTIONS FOR FILE TRANSFERS" for descriptions of the file transfer
        options.  The "FILE TRANSFER BASICS" chapter explains the relative
        merits of XMODEM, YMODEM, ZMODEM, and other protocols and gives tips
        on their use.  The "MAIN COMMANDS" chapter describes the rb, rx, rc,
        rz, sb, and sz commands.  The "MODEM INTERFACING" and "FLOW CONTROL"
        chapters contain important information on the use of buffered modems
        with DSZ.

        Information on the ZMODEM Inter Application File Transfer Protocol may
        be found in ZMODEM.DOC, part of YZMODEM.ZOO (yzmodem.arc).

        C Source code for XMODEM, YMODEM, and ZMODEM transfers is included in
        RZSZ.ZOO.  This file includes a Pro-YAM/ZCOMM script to upload a
        bootstrap file to a Unix system, force its compilation, and (if the
        compilation is successful) upload the rz/sz source files.

        The C source code now includes VAX/VMS support.




































        Chapter 14                  DSZ Reference                           33



        14.  FILES

        2S-PIF.DVP, 2A-PIF.DVP, DS.BAT, 2T-PIF.DVP DSZ.COM, and DSZ.DOC
        constitute Omen Technology's DSZ.ARC.

        2S-PIF.DVP, 2A-PIF.DVP, DS.BAT, and 2T-PIF.DVP are only used with
        Quarterdeck Office Systems' DESQview multitasking executive for
        background operation.  Their use is described in a previous chapter of
        this document.

        ZCOMMDOC.ARC (manual), ZCOMMEXE.ARC (programs), ZCOMMHLP.ARC (help
        processor and database), ZCOMM communications tools.  The ZCOMM files
        should be available on the BBS you downloaded DSZ.ARC from.  If these
        files are not available, the BBS is not fulfilling the concractual
        requirements of free BBS registration of DSZ.

        YZMODEM.ARC contains XMODEM, YMODEM, and ZMODEM Protocol Descriptions.

        RZSZ.ZOO contains ZMODEM "C" source code.  (COMPLETE VAX VMS and
        Unix/Xenix programs).

        DSZ.EXE compiled with the Xenix to DOS XC provides moderately higher
        maximum throughput (1700 vs 1300 cps downloading to a 4.77 mHz XT).
        The speed difference is a function of the compiler, the source code is
        the same.  The Xenix XC version requires more memory, and does not
        support file sharing or a large I/O buffer.  This version is available
        in DSZEXE.ZOO.

        ZCOMM and Pro-YAM also run at a higher speed than DSZ.COM.

        DSZBG.ZOO contains DSZBG.DOC.  Part of the DSZ registration disk (and
        not for public distribution), this file provides background
        information on the ZCOMM/Pro-YAM commands provided in DSZ.

        LOOZ.EXE unpacks .ZOO archives.  LOOZ.DOC describes LOOZ.EXE.  The ZOO
        archive format is a machine independent improvement on the PC-DOS
        specific .ARC format.



















        Chapter 15                  DSZ Reference                           34



        15.  CHANGES

        Be sure to save your serial number/password (SNP) card and the putsnp
        program you received from Omen to use with future versions of DSZ you
        may download!  The current DSZ version is maintained on GEnie, EXEC-
        BBS, CompuServe as well as TeleGodzilla.

        1-17-89  Reduces transfer overhead generated by Strongest SlugBait.

        1-13-89  THIS IS WAR.  Stronger SlugBait with "sz -ss" or stronger yet
        "sz -sss".  Strong SlugBait decreases the accuracy of transmission
        time estimates displayed by the receiver, but does not compromise the
        reliability of honest file transfers.

        1-08-89  SlugBait adds "sz -s" to report a questionable file transfer
        "Q" status when the receiving program aborts the transfer after it has
        received all of the file.  SlugBait prevents ingrate programs from
        avoiding credit for downloading files.  SlugBait causes a slight delay
        at the end of the file.  This option can cause a transfer that
        legitimately fails at the very end of the file (bloody unlikely) to be
        reported as Questionable rather than ERROR.

        1-02-89 Adds code to compensate for effects of MNP modems on KMD's
        XMODEM-1k handshake variation.

        Specifying a download directory no longer causes a mysterious abend on
        unregistered copies.

        12-20-88 A side effect of some optimizations to deal with PC Pursuit
        buffering problems caused 2400 bps transfers to use 512 byte
        subpackets unless explicitly overridden or a ZMODEM window size was
        specified.  While this does not slow things down much, numerous
        questions from users who confuse ZMODEM subpacket length with XMODEM
        block length did slow things down.  So, yet another version.

        Further fixes to the "estimate" command; it now works.

        A  confusing "Carrier Lost" message has been changed to the standard
        "No Carrier Detect" message which is explained in DSZ.DOC.

        DSZ.ARC is packed on Xenix with arc 5.21, reducing the size of the
        archive by almost 3kb.

        12-16-88 Oops ... the 12-14 DSZ forgot to decode the -Z option (it did
        receive files witn compression).

        12-14-88 Introduces ZMODEM RLE compression with the -Z option.  (DSZ
        copies with paid registration also accept "Z" in the DSZOPT
        environment variable.) ZMODEM RLE compression packs runs of the same
        character in two or three character sequences.  Compression is useful
        for screen dumps, uncompressed workspaces, compiler listings, and





        Chapter 15                  DSZ Reference                           35



        other files rich with strings of repeated characters, but not .ARC and
        compressed files to more than 1000 per cent (10x speedup!) for the
        Personal Computing text file benchmark(!).  When sending to programs
        that do not support ZMODEM compression, the -Z option is ignored.

        The "estimate" command is fixed.

        10-19-88  ZMODEM crash recovery of files where the source is shorter
        than the destination is now (properly) inhibited.

        The "z" parameters may now be set in the context of an XMODEM or
        YMODEM transfer.

        8-30-88 Bloated file transfer times when spanning midnight have been
        corrected.  Some of the error messages have been made more
        understandable, and are explained in this document.

        8-10-88, 7-19-88 Further Documentation enhancements.

        7-11-88  Documentation enhancements.  Putsnp program now compiled
        under TurboC, resets console raw mode to avoid lockup with off the
        wall device drivers.

        Portx command allows selection of comm port with specified base
        address and interrupt vector.

        YMODEM-g modified for better compatibility with non standard programs.

        6-07-88 Minor changes which do not affect normal file transfers.  The
        speed/handshake status readout now reflects the conditions used for
        the actual transfer instead of the first speed or handshake command
        encountered.

        With the sz command, the k option forces an initial 1024 byte
        subpacket length.  This is for you folks that just can't wait until
        Dsz's adaptive optimizations get up to 1k subpackets.

        EXAMPLE: sz -k *.c *.h


        REMEMBER: ZMODEM subpacket length isn't the same as the difference
        between 128 and 1024 byte XMODEM blocks!!!  Most of what you know
        about 128 and 1024 byte XMODEM and YMODEM blocks doesn't apply to the
        ZMODEM subpacket length.

        DSZ.COM is now compiled with TurboC under SCO 386 Xenix+VP/ix to
        reduce the possibility of virus infection.

        5-7-88  A spurious message about Crash Recovery when the -r option is
        used and no old file is present has been suppressed.  "Handshake slow"
        is more effective than previously.





        Chapter 15                  DSZ Reference                           36



        4-23-88  Good news for tired frog stompers!  The ZMODEM rz/sz programs
        are now available in a VMS C flavor.  The VAX/VMS source files are
        contained in the RZSZ.ARC (RZSZ.ZOO) archive file.

        Support for CP/M format (0x1A EOF character) log files has been
        restored.  (Previously, it had been removed to save memory).

        The value of the DSZOPT string (if set) is now displayed to aid
        debugging.

        A coding error that caused excruciatingly slow throughput if a
        transmission error or common section mismatch was detected *after* the
        sending program had reached EOF was fixed.

        "Handshake slow" has been added to disable the RTS signal to the modem
        while writing to disk, even if the interrupt buffer is not chock full
        of bytes.  This should help systems with excessive interrupt latency
        on disk writes.

        4-14-88 The DSZOPT=8g feature (for the t command term function) now
        works as documented.

        Bogus file count displays seen on YMODEM and ZMODEM downloads have
        been fixed.  (They were caused by the serial number being sent in
        decimal instead of octal.)

        4-6-88 Send pathnames may be specified indirectly:
                                 dsz sz @C:files.lst
        sends the files in C:files.lst.  This provides another means of
        bypassing the DOS command line limit.  The first letter must be "@"
        and the third letter must be ":" to distinguish this from an ordinary
        pathname.

        Obligations of Bulletin Boards requesting free BBS registrations have
        been amended.  Unethical behavior on the part of a small minority
        prompted these clarifications.

        3-29-88 There never was a 3-26-88 version, except for use by the
        Sandinista troops in Honduras.

        3-26-88 First general release compiled with TurboC version 1.5.
        Outstanding meganit: on certain networked systems, the reported number
        of files on batch send is ridiculous.

        This version no longer needs or accepts the "memory allocation patch".

        This version has a number of changes to ease interfacing and problem
        resolution.  The command line and acive com port are displayed to aid
        debugging of batch files that call DSZ.

        The DIRRX DOS environment variable may be used to specify a directory





        Chapter 15                  DSZ Reference                           37



        for receiving files.  If the DIRRX environment variable ends with a
        slash, any drive designators and/or directory names in the incoming
        file are stripped.

        The DSZFILES environment variable may be used to specify an alternate
        list of pathnames to transmit whose length is not limited by the DOS
        command line.  It is typically used by calling programs using one of
        the C library "spawn" functions.

        Setting the v (verbose) parameter to 1 or greater causes serialized
        copies to ring the bell when a transfer is done.

        2-28-88 More changes in DSZ.DOC, no changes to the software.

        2-8-88 DSZ.DOC has been extensively rewritten and reorganized.  DSZ
        now supports the advanced buffering of the National NS16550AN and
        Intel 82510 serial interface devices.  Arrow Electronics 1-800-932-
        7769 sells National NS16550AN chips mail order (credit card) for about
        $22 each in small quantities.

        ZMODEM subpacket length adjustment has been improved to deal with
        Telenet congestion.

        Pirated/hacked versions of DSZ have cost users and DSZ's developer
        thousands of dollars in lost time and other expenses, in addition to
        injuring the reputation of Omen Technology and its products.
        Regrettably, Omen Technology cannot support prior versions of DSZ
        because of this piracy.

        Name             Length                           Date        Time
        CRC

        dsz.com          52614  Crunched   16%     44443  17 Jan 89  12:31p
        f291

        Your copy of DSZ should show this information as provided by

               arc v dsz.arc
        or
              pkxarc -v dsz.arc

        If your copy shows a different CRC or file length, insist on a
        legitimate copy and report the source of the bogus/pirated copy to
        Omen Technology Inc.  Omen Technology has received reports of serious
        problems caused by unauthorized patches to DSZ, and cannot assume
        liability for the performance of the resultant code.










        Chapter 16                  DSZ Reference                           38



        16.  Other Omen Technology Products

        Omen Technolgy makes Professional-YAM, a comphrensive comms program
        with unmatched power.  Flavors are available for PC-DOS, Unix, Xenix,
        and OS/2 Protected mode.

        ZCOMM is a full featured shareware version with a $40.00 basic
        registration.
















































        Chapter 17                  DSZ Reference                           39



        17.  ACKNOWLEDGEMENTS

        32 bit CRC code courtesy Gary S. Brown.

        The High Reliability Software(TM), TurboLearn Script Writer(TM),
        Cybernetic Data Recovery(TM), AutoDownload(TM), Intelligent Crash
        Recovery(TM), Error Containment(TM), Full Time Capture(TM), True
        YMODEM(TM), OverThruster(TM), Password Guardian(TM), CryptoScript(TM),
        and TurboDial(TM) are Omen Technology trademarks.

        PowerCom was trademarked in 1985 by POLYTRON Corporation, Hillsboro
        Oregon.

        DSZ and this documentation are Copyright 1988 by Omen Technology Inc,
        all rights reserved.  True YMODEM(TM) is an Omen Technology Trademark
        signifying YMODEM protocol support that meets the full YMODEM
        specification.

                             Omen Technology Incorporated
                            The High Reliability Software

                         17505-V Northwest Sauvie Island Road
                                Portland Oregon 97231
                    Modem: 503-621-3746 Speed 1200,2400,19200 PEP
                           Compuserve:70007,2304  GEnie:CAF



































                                       CONTENTS


         1.  FAIR PLAY....................................................   3
             1.1   Sharing DSZ Files......................................   3
             1.2   REGISTRATION...........................................   5
             1.3   Files on Registration Disk.............................   6
             1.4   Bulletin Board Registration............................   7

         2.  DESCRIPTION..................................................   8

         3.  EXIT STATUS..................................................  10

         4.  COMMANDS.....................................................  11
             4.1   Interrupt Keys.........................................  14

         5.  NUMERIC PARAMETERS...........................................  15

         6.  ENVIRONMENT VARIABLES........................................  17

         7.  EXAMPLES.....................................................  20

         8.  IN CASE OF DIFFICULTY........................................  21
             8.1   Incorrect Batch Files..................................  21
             8.2   No Carrier Detect......................................  21
             8.3   PKARC 3.6..............................................  21
             8.4   COMMAND NOT FOUND......................................  22
             8.5   DOS 3.x................................................  22
             8.6   Lockups................................................  22
             8.7   IBM PS/2 Model 50Z.....................................  22
             8.8   Brain Damaged UARTS....................................  23
             8.9   Weird Iron.............................................  23
             8.10  Will the real YMODEM please stand up?..................  23
             8.11  286 and 386 Extended Memory............................  23

         9.  BACKGROUND OPERATION.........................................  25

        10.  CALLING DSZ FROM COMM PROGRAMS...............................  26
             10.1  GT POWER 13.00/14.00...................................  26
             10.2  PROCOMM................................................  26
             10.3  PROCOMM PLUS...........................................  26
             10.4  Qmodem.................................................  27
             10.5  BULLETIN BOARDS........................................  27

        11.  FLOW CONTROL.................................................  28

        12.  ERROR MESSAGES...............................................  29

        13.  ASSOCIATED DOCUMENTS.........................................  32

        14.  FILES........................................................  33









        15.  CHANGES......................................................  34

        16.  Other Omen Technology Products...............................  38

        17.  ACKNOWLEDGEMENTS.............................................  39





















































            DSZ - a ZMODEM, True YMODEM(TM), XMODEM File Transfer Program


                                    Chuck Forsberg

                                 Omen Technology Inc


                                       ABSTRACT



                        ZMODEM - Not just another XMODEM hack

        The ZMODEM file transfer protocol provides reliable file and command
        transfers with complete END-TO-END data integrity between application
        programs.  ZMODEM's 32 bit CRC protects against errors that continue
        to sneak into even the most advanced networks.

        Unlike traditional and many recently introduced protocols, ZMODEM
        safeguards all data and supervisory information with effective error
        detection.

        ZMODEM rapidly transfers files, particularly with buffered (error
        correcting) modems, timesharing systems, satellite relays, and wide
        area packet switched networks.

        User Friendliness is an important ZMODEM feature.  ZMODEM
        AutoDownload(TM) (Automatic file Download initiated without user
        intervention) greatly simplifies file transfers compared to
        traditional protocols.

        DSZ's ZMODEM provides advanced file management features including
        Intelligent Crash Recovery, flexible control of selective file
        transfers, and security verified command downloading.

        DSZ is one of many available programs that implement the ZMODEM file
        transfer protocol.




















FILE1343.TXT

Disk No: 1343
Program Title:  BOYAN TELECOMMUNICATIONS version 4.0 (Disk 2 of 2)
PC-SIG version 2

This is the second disk of BOYAN TELECOMMUNICATIONS.  The first disk is
#1206, both disks are needed to run the program.  For a full description
of the program, please refer to disk #1206.

Usage:  Telecommunications Program.

Special Requirements:  A modem and a hard disk.

How to Start:  Type GO (press enter).

Suggested Registration:  $35.00

File Descriptions:

BOYAN40B ARC  Archived file.
DSZ      ARC  Archived file.
OZBEXT   ARC  Archived file.
PCKERMIT ARC  Archived file.
PKXARC   EXE  Unarchiving utility.
README   2    Introductory text file.

PC-SIG
1030D E Duane Avenue
Sunnyvale CA 94086
(408) 730-9291
(c) Copyright 1988,89 PC-SIG, Inc.


GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║            <<<<  Disk No 1343 BOYAN TELECOMMUNICATIONS  >>>>            ║
╠═════════════════════════════════════════════════════════════════════════╣
║                                                                         ║
║   To print the instructions for this disk, type:                        ║
║                                                                         ║
║             COPY README.2 PRN (press enter)                             ║
║                                                                         ║
╚═════════════════════════════════════════════════════════════════════════╝

OZBEXT84.DOC

OZBEXT Documentation
====================

Version 8.4d (06/24/88)
Copyright (c) 1987,1988 Steve Sneed/Ozarks West Software  (71520,77)

No charge or request for renumeration is made for private, non-commercial use.
This program may be distributed by any means, magnetic or electronic, and
may be included with another program package, as long as the following
restrictions are met:

  1.  No charge is made for such distribution.  Bona-fide "User's Groups" and
      computer clubs may charge a copying/media fee not to exceed $5.00.
      Specific licence is given to FOG (the First Osborne Group) and The
      Public (Software) Library to distribute this package.  Specific license
      is also granted to CompuServe Inc. and its employees and assigns to use
      the program and include it with other products and services if proper
      credit is given.  Distribution via electronic Bulletin Board Systems
      is encouraged.

  2.  The program and its documentation are distributed unchanged in any way,
      and packaged together in original format.

  3.  Proper credit is given in other documentation referencing this work.

  4.  Commercial or business use requires a licence.  Contact the author at
      one of the addresses below for more information.

Portions of this program are copyrighted by CompuServe Inc., TurboPower Soft-
ware, Inc., and Borland International.  This program was written in Turbo
Pascal 4.0.  "GIF" and "Graphics Interchange Format" are registered trademarks
of CompuServe Incorporated, an H&R Block Company.


What it is
==========

OZBEXT is an external protocol module supporting the CompuServe "B" and "B-
Plus" (often known as "QuickB") protocols for transport layer communications
with error-correcting file transfer capability.  It also supports a subset
of the CIS "VidTex" (VT52) terminal emulation standard for screen and cursor
handling, and VT100 emulation for block graphics and screen colors.  While
there are currently no applications on CIS that use the actual "Transport
Layer" capability of BPlus, there are several planned; I intend to make
implementations of those applications available as they are documented and
released.  Also, as of the release date of this version of the program, the
full BPlus functionality for transfers is available only in Level 5 FILTRN
on CIS as a testing venue and is limited to the restricted implementation
("QuickB") elsewhere, including the forums.  This will change "any day now";
in the meanwhile this program supports the existing protocol implementation
as well as the enhanced version soon to be released.  There are a few minor
points of the protocol standard that are yet to be settled; updated versions
of this program will be released as those points solidify.

OZBEXT allows almost anyone with communications programs that either support
external protocol modules directly (such as Boyan, QModem, PibTerm or OzCom),
or provides a "drop to DOS" capability, to take advantage of the superior per-
formance of the "B" and "BPlus" (hereafter called BP) protocols for file
transfers on CIS.  Some programs (such as earlier versions of BitCom) have
problems with external modules; there are several exellent help files for
these programs on the IBMNEW SIG on CIS which explain how to use this and
other protocol modules with these "problem" programs.


Calling
=======

OZBEXT is totally command-line driven.  That is, the program is configured
from information provided on the command line when calling the program.
OZBEXT has been designed to default to a typical set of values, and if these
default values are acceptable no command line parameters are required.
Parameters are not required to be in any specific order, and capitalization
is not important.  The program automatically detects the current baud
rate and parity settings for the default or selected port so you typically
do not have to provide that information unless you want to change one or
more port settings.

Parameters consist of a slash (/) or dash (-), immediately followed by a
command letter, and optionally followed by a space and a qualifying value.
All parameters on the command line *must* be seperated by spaces.  The
adjustable parameters (and their command line calls) are:

Port: Defaults to COM1.  If you have the environment variable OZPORT or
      DSZPORT set (typically in your AUTOEXEC.BAT file), the default will
      be overridden with that setting.  If you supply the parameter "-C"
      followed by a space and a number (1 thru 4), the port will be set to
      that value.  NOTE: It has come to my attention that the new IBM PS/2
      machines have "non-standard" addresses for COMs 3 and 4.  A future
      release of this program will provide command-line parameters for linking
      to these odd base addresses.

BaudRate: Defaults to the existing baud rate for the port in question.  Can
      be overridden by the "-B" parameter followed by a space and a valid
      baud rate.  Available baud rates are: 300, 1200, 2400, 4800, 9600,
      19200, 38400.

Parity: Defaults to the existing parity setting for the port in question.
      Can be overridden by the "-P" parameter followed by a space and a
      valid character for the parity type wanted.  Valid parity types are:
      (N)one, (E)ven, (O)dd, (M)ark or (S)pace (characters in parenthesis
      are the calling characters.)  *NOTE* If the port is set to None parity
      and 8 data bits, and you call for a parity type other than None, the
      data bits setting is automatically reset to 7.  Likewise, if the port's
      existing setting is for something other than None parity and you call
      for None parity on the command line, the data bits setting is auto-
      matically set to 8.  This can be overridden via other parameters; see
      below.

DataBits: Defaults to the existing port setting.  Can be overridden by the
      "-W" parameter followed by a space and a valid databits value
      (5 thru 8.)  Note that if 5 databits is selected, the stopbits value
      is automatically set to 1.5 and cannot be overridden (this is built
      into the 8250 and 16450 UART chips.)

StopBits: Defaults to the existing port setting.  Can be overridden via the
      "-S" parameter followed by a space and a valid stopbits value
      (1 or 2.)  See the note in the DataBits section concerning this value.

Duplex: Defaults to Full Duplex transmission.  Can be set to half duplex by
      using the "-H" parameter.

Drop DTR on exit: Defaults to NO.  If you want the program to drop the modem
      DTR control line (hanging up any call in progress), use the "-D"
      parameter.  NOTE: some modems are finicky and do not drop a connection
      when DTR is dropped - you should test this function with your modem
      before totally relying on it to disconnect a call.

Exit on Transfer Completion: Defaults to NO.  If you want the program to auto-
      matically exit cleanly after the successful completion of a transfer,
      use this switch.  Setting this switch automatically overrides the state
      of the "Alarm" internal switch (the Alt-S command) so no keypress is
      required at xfer end.  This also can be controlled via the Alt-E command
      inside the program.  This functionality allows you to establish an
      automated script for your existing comm program that, on completion of
      a download, returns you to your comm program and then automatically
      logs off of CIS cleanly.

Clear screen on entry/exit: Defaults to YES.  If you do not want the program
      to clear the screen on entry and exit (just give you a notice that the
      program is loaded and operational), you can use this switch.  Using
      this switch allows you to continue to see the last screen of the
      calling program, and to see where you were when returning.

Parameters:

-C : Sets port.  Default is COM1.  Valids are 1 thru 4.
-B : Sets baudrate.  Default is port setting.  Valids are 300, 1200, 2400,
     4800, 9600, 19200, 38400.
-P : Sets parity.  Default is port setting.  Valids are N, E, O, M, S.
-W : Sets databits.  Default is port setting.  Valids are 8, 7, 6, 5.
-S : Sets stopbits.  Default is port setting.  Valids are 1 or 2.
-H : Sets half-duplex mode.  Default is full-duplex.
-D : Sets to drop DTR on exit.  Default is to leave DTR high so as not to
     disconnect a call in progress.
-X : Exit-on-transfer-completion.  Default is to return to OZBEXT's internal
     terminal emulation mode when the transfer is done.
-Z : Clear-Screen-on-entry/exit.  Default is to clear the screen.
-? : Display a help/info screen and exit.


Command line examples:

OZBEXT{enter}
   - calls OZBEXT for standard setting and default port and parameters.

OZBEXT /c 2{enter}
   - calls OZBEXT for COM2 with all other settings standard.

OZBEXT /p E /h{enter}
   - calls OZBEXT at Even parity, default port and speed, and sets half-duplex
     mode.

OZBEXT /c 1 /p e /w 7 /s 1 /b 2400{enter}
   - calls OZBEXT with all port parameters specifically defined.  Note that no
     special order is enforced on the parameters.  While this is perfectly
     legal for the program, it is typically overkill unless your comm program
     does something wacky to the port when exiting.

OZBEXT /d{enter}
   - calls OZBEXT with the "drop DTR on exit" flag set.  Never recommended un-
     less you are using OZBEXT as a "stand-alone" comm program and want to
     make sure the call is disconnected on exit.


Using
=====

OZBEXT is simple to use - consider it an extension of your existing comm pro-
gram.  OZBEXT knows how to talk to CIS about itself so that CIS automatically
takes advantage of the program's powers, with one exception: if you do not
have VIDTEX set with CIS as your default terminal emulation, CIS will not
"force" VidTex cursor controls on the system.  While I personally recommend
you use the VidTex capabilities, it will also depend on the emulation of
your main comm program - most general-use comm programs do not understand
the VidTex control sequences and would cause garbage to be displayed.  If
you want to use VidTex, do a "GO TERMINAL" at any CIS "!" prompt and follow
the prompts for "Setting your terminal type", or type "SET TERM VIDTEX" at
almost any "!" prompt.  The VidTex terminal emulation command set is very
close to the DEC VT52 emulation, so if your comm program supports VT52 you
can use that emulation with (usually) good success.  Many programs like the
VT100/ANSI emulation - OZBEXT fully supports the VT100 screen-handling
commands.  However, to use this program's VT100/ANSI support you must have
ANSI.SYS loaded via a call in your CONFIG.SYS file (see your DOS documentation
for more information.)  Also, if you use FANSIConsole (a multifeatured ANSI
replacement), be sure to turn off Fansi's fast-screen-updating capability as
it causes grief for this and many other programs that use DOS standard output
redirection for character-based display.


The following commands are available within OZBEXT:

  Alt-X: Exits the program.
  Alt-E: Toggles the state of the Exit_On_Transfer_End flag.
  Alt-S: Toggles the state of the Alarm_On_Transfer_End flag.  Note that this
         flag is overridden if the Exit_On_Transfer_End flag is set ON.
  Alt-R: If my OZRLE CIS graphics module is available in the same directory
         as this program, it will be loaded.  See the OZRLE docs for info.
  Alt-H: Toggles the Half-duplex/Full-duplex flag.
  Alt-D: Toggles the Drop_DTR_On_Exit flag.

When calling OZBEXT, be sure to call the program *prior* to telling CIS you
want a transfer.  CIS sends a special code to the remote program (you) asking
the remote if it does in fact support BP.  Most comm programs are much more
generic in nature and do not understand this special interrogation, so they
do not reply and CIS aborts the transfer.  OZBEXT must be loaded prior to
receiving this interrogation so that it properly responds and CIS allows the
transfer to take place.  (This special interrogation is done only when a BP
transfer is requested - it is not used and has no effect on any of the other
transfer types supported by CIS.)  Some programs that support certain CIS
capabilities, such as ProComm Plus, reply in their own way to this inter-
rogation, and these program's replies may or may not match OZBEXT's actual
capabilities - when using one of these programs, be sure to load OZBEXT
before CIS sends the interrogation.

Also, it is important to note that you do not have to change your comm
program's parameters in order to use this program.  It's come to my attention
that some users are logging on to CIS at 7/E/1 but calling OZBEXT with the
command-line switches set to 8/N/1 because they assume that they need 8/N/1
for the transfer.  You do need 8/N/1 for the transfer *itself*, but CIS
does not switch to 8/N/1 until it actually begins the protocol transfer -
all prompt answering, etc. is still done at the caller's original 7/E/1
parameters, including the interrogation/response sequence mentioned above.
OZBEXT automatically switches to 8/N/1 at the proper time to do the
transfer and then back as soon as the transfer is complete; the user is
not notified and never sees or notices the changes.  Therefore, unless
your comm software or system is unusual, you can best use this program by
passing it no command-line parameters except those absolutely nessessary
for operation or those flag settings you desire.  In other words, don't
use the -C, -B, -P, -W or -S command-line params unless you *have* to.  Oh,
yes:  there are some rather poorly-made modems and serial cards out there
that do not like to change parity/databits once a connection is established.
If you have problems trying to do a transfer when logged onto CIS at 7/E/1,
do a GO TERMINAL at almost any ! prompt and follow the menus to set your
default parity to NONE.  Be sure to save the new setting for future sessions
as you exit the TERMINAL area.  From then on, log onto CIS at 8/N/1 and you
should see no more problems.

If the comm program you are using does not restore keyboard control on
return from a shell out to OZBEXT (or any other external program), a
simple fix that often works is to go to that program's area for setting
the communications parameters and switch from the current parity setting
to some other setting and then back (example: if you are currently at
7/E/1, switch to 8/N/1 and then back to 7/E/1) - this will usually clear
the port and restore your keyboard functions.  Older versions of the BitCom
software included with many modems are known to demonstrate this problem.


What's new with 8.4
===================

CIS recently changed the programming in the User Profile Area (GO TERMINAL),
and these changes have caused some minor confusion because the host (CIS)
switches to 7/E/1 parameters at a time when most comm programs do not expect
it.  OZBEXT now maps all incomming characters at the port to 7 data bits
(except during a protocol transfer) to eliminate this problem.

The processing of the B+ transfer was changed slightly.  Previous versions of
this program did not display the transfer window until the actual file trans-
fer itself was initiated.  However, right after telling CIS to start the
transfer a negotiation packet (or series of packets) is processed between the
host and the remote.  During periods of high network traffic, this negotiation
process could take enough time to make a impatient user think the protocol
had died.  Therefore I changed the transfer window opening process to display
the transfer window while this negotiation is taking place so the user can
see what is going on.

All keyboard Alt-key toggles now display a small information window at the
top right corner of the screen.  For example, if you pressed Alt-D to toggle
the Drop_DTR_On_Exit flag, a small reverse-video blurb is displayed telling
the new state of the flag.


Kudos, congrats, karma enhancements
===================================

Many, many thanks to the CIS IBMNET sysops, Connie Kageyama, Don Watkins and
Chris Dunford, for their help with BETA testing and debugging.

Comm software can be very complex, even in a relatively small, single-purpose
package such as this.  Very, very seldom is a program of any size the total
work of one individual, especially in a comm program where so many areas of
expertise are required.  Nothing irks me more than to hear some programmer
say, "Yep, it's all mine!  Ain't it great?" when his code is peppered with
one person's async handler, another person's video handling code, etc., etc.,
ad infinitum ad nausium.  Here are some of the fine folks who's good honest
skull sweat has made this program possible:
   Kim Kokkonen and the folks at TurboPower Software: too many little handy
      routines thruout the code to mention.  Exellent work!  If you program
      in Turbo Pascal, and you don't use the Turbo Professional library,
      you're missing a bet!
   N. Arley Dealey: the majority of the timing routines.  Arley's timer code
      is as bulletproof as any available for Turbo Pascal.
   Russ Ranshaw, CIS: the overall implementation of the BPlus protocol.  Russ'
      code is the heart of this program, although I've tweaked here and there
      and implemented my comm routines.  The B series protocols are a very
      tricky coding job - Russ' good, clean code and understandable docs
      make it very easy.
   Chris Dunford, CIS:  several years ago Chris released a Turbo Pascal in-
      clude file called ASYNC.PAS - it is either the basis of, or the pattern
      for, most of the Turbo Pascal serial port handlers in use today.  I've
      modified the original code so many times it's almost unrecognizable, but
      I still thank Chris for the stable foundation on which to build, and I
      still defer to his deep expertise when I hit something I don't know.


Finally, thanks to all the users who have pointed out bugs and deficiencies
and provided exellent suggestions that have helped make the program what
it is.  If you like the program and its capabilities, thank them instead
of me.

This program is dedicated to my darling daughter Whitney.


Steve Sneed
Ozarks West Software
409 San Juanico
Santa Maria, CA.  93455
CIS ID  71520,77
  or
The C2G BBS  805-925-0378  300/1200/2400  24hrs.

<eof>


PCKERMIT.TXT

Additions to version PCKERMIT version 2.0

   - 19200 bps support.

   - Pop-up status window.

   - Minor Bug fixes.

Fixes in version 2.1

   - Wrote my own windowing routines to fix the interrupt
     problems in version 2.0.

Directory of PC-SIG Library Disk #1343

 Volume in drive A has no label
 Directory of A:\

BOYAN40B ARC    138749   2-01-89  12:00p
DSZ      ARC     81920   2-01-89  12:00p
FILE1343 TXT       788   3-09-89   8:57a
GO       BAT        38   1-18-88   1:38p
GO       TXT       694   2-15-89   9:20a
OZBEXT   ARC     42077   2-01-89  12:00p
PCKERMIT ARC     37888   2-01-89  12:00p
PKXARC   EXE     15126   2-01-89  12:00p
README   2        1187   2-01-89  12:00p
        9 file(s)     318467 bytes
                           0 bytes free