PHOMAST.DOC

                                    Michael R. Ash
	   CompuServe: 71350,3327 Internet: mikeash@csoftec.csf.com


          This is the latest in a series of updates to PHOMAST.T scripts
          designed to get you up and running utilizing the power of
          Professional-YAM or ZCOMM.  For performance and clarity I have
          moved my opening remarks and instructions about setting up this
          script into this file called: -> PHOMAST.DOC <-  The PHOMAST.T
          file is a pure ASCII file for View and Editing.  Items below tell
          you all you need to know to get up and running *FAST*.

          New features of this update include fully automated menu
          configuration, autospeed detection, and lots of slick coding
          examples... When run for the first time this script will generate
          a new file called 'PROFILE.DAT' containing specific configuration
          information that in the past you used to have to know and write
          into the script with an editor in advance before using YAM or
          ZCOMM.  Now when you enter 'yam' or 'zcomm' at the DOS prompt,
          the script will ask you a few questions to set up the
          configuration to include COM port identification and modem
          initialization, and you are ready to communicate immediately
          thanks to the power of the script language built into YAM and
          ZCOMM!.  

          I have included comments throughout the PHOMAST.T script to help
          you understand the fascinating and comprehensive script language
          included in YAM and ZCOMM.  In fact, important instructions are
          covered in both the phones file as well as this document.  Any
          information in the PHOMAST.T script that follows a colon (:) mark
          is not read/used by YAM or ZCOMM since it is interpreted as a
          comment.  When you are instructed to un-comment a line it means
          to load the script into an editor and delete the colon at the
          start of the line so the program can use it.
              
          When ZCOMM is loaded it looks in the C:\ZCOMM subdirectory by
          default for a file called PHOMAST.T  -=-  When YAM is loaded it
          looks in the root for a file called PHONES.T (you could rename
          PHOMAST.T to PHONES.T and put it in the root but there are a
          couple of better ways to handle this). The simplest and most
          flexible method is to use the DOS 'set phones' command (shown
          below) to tell YAM/ZCOMM where to find its phones file.  Another
          method is to have PUTSNP.EXE (the serial number installing
          program) change the default location of the phones files.      
              
                           set PHONES=c:\zcomm\phomast.t   
           



                                                                    Page: 1












          PHOMAST.DOC                                           Michael Ash



          The line above can be added to your AUTOEXEC.BAT file to tell YAM
          where to look for its phones file.  ZCOMM users won't need to use
          this line unless they want to have PHOMAST.T in another directory
          since it is already the default location for ZCOMM.  The phones
          file (PHOMAST.T) gives YAM/ZCOMM directions on how you want the
          package to operate.
                  
          For those of you that haven't heard of YAM, it's the short name
          for Professional-YAM, a commercial package that includes all of
          ZCOMM (its shareware subset) plus advanced capabilities for
          professional telecommunications requirements.     
              
                
                            ------------------------------
              
                                  --- Background ---

          When YAM/ZCOMM is first loaded it looks for a 'phones file' and
          starts reading instructions at a label called 'setup:' telling
          the package exactly how to operate in your system environment. 
          YAM/ZCOMM is a communication environment, a tool, that utilizes
          instructions found in the phones file.  It is the phones file
          (this case PHOMAST.T) that is read by YAM/ZCOMM and instructions
          found there are executed very much like the line by line commands
          carried out in a UNIX script or a DOS BATCH file.  Basically YAM
          or ZCOMM is the airplane and your phones script is the pilot the
          flies the plane.

          PHOMAST.T (this phones file) is completely modular and includes a
          simple HOST mode example.  Both Professional-YAM and its
          shareware subset ZCOMM offer a powerful communication
          environment.  Unfortunately, as with any powerful package there
          is usually a steep learning curve involved.  I have worked with
          the environment and generated this starter script with full
          documentation to assist users at all levels in tapping the power
          of this environment.  I say communication environment, because
          unlike most other packages, Chuck Forsberg provides the
          programming language tools you can use to build a powerful
          command driven communication package you can configure to
          function the way you do business, not how someone else thinks you
          ought to work.

                                --- Configuration ---

          If you want to modify the basic script, use an ASCII editor. 



                                                                    Page: 2












          PHOMAST.DOC                                           Michael Ash




          QEdit on the other hand is one of the best fully configurable
          shareware editors around.  Remember if you use Word Perfect in
          DOS Text mode or Word Star in non-document mode, be sure to set
          the margins to support a 132 character document to avoid word
          wrap of long script lines.  To save time, if changes are
          required, just SEARCH for sections marked with the symbol <*>. 
          These changes are optional and NOT required to run the package in
          most cases.

             1.  Under COLORS, you may select the alternate screen colors. 
          These will be automatically set by the menu configuration and
          only need to be changed if you don't like the default colors... 
          To see the possible colors and their associated code numbers,
          from the command line prompt enter: 'gosub color' and hit return.

             2.  Under MODEM SETUP, if your modem doesn't respond correctly
          to the defaults, just select another modem setup string.  Again a
          default modem string is already configured and will work in most
          cases if your modem accepts the Hayes command set.

          YAM or ZCOMM once loaded reads the script (like a BATCH file in
          DOS) to determine how it is to operate in your specific
          configuration.  Any changes you make to the phones script
          (PHOMAST.T) will change the way the package works for you.  

          YAM or ZCOMM is a 'command-line driven' package meaning you just
          give it commands and it does the work.  You don't have to go
          through menus unless you want to.  At the YAM/ZCOMM prompt, many
          DOS and UNIX commands work. For example 'cls' clears the screen,
          'dir' gives a directory (as does 'ls'), 'cd' will change
          directory, 'cdd' changes both drive and directory.  I'm sure
          you'll enjoy this direct approach.  To execute a DOS command at
          the prompt just precede it with a '!' (e.g. !copy fileA fileB). 
          At the YAM/ZCOMM prompt you can recall past commands using the up
          arrow key and edit the command line at that point since YAM/ZCOMM
          keeps a history of what you have entered.  The ESC key will clear
          the command at the command line.

                               --- Getting On-Line ---

          To DIAL a number just enter the phone number at the YAM prompt



                                                                    Page: 3












          PHOMAST.DOC                                           Michael Ash



          followed by a ';t' telling it to go into terminal mode (meaning
          go into the mode to talk to the other computer).  For example: 
          (F9=Menu) c:/yam-> 434-5566;t  calls the phone number and once
          connected puts you on line. If you want to hang up and exit the
          session at any time just hit F1 to get back to the command line
          and type 'off' and hit return.  Simple!

                                --- File Transfers ---

          Downloading files is very easy.  ZModem, Kermit, and CompuServe-B
          will begin a download automatically once host starts sending the
          file.  To send a file up, prepare the host to accept the file by
          selecting a protocol; then hit F9 for the menu or give a command
          at the command line.  For example 'sz filespec' will send a file
          ZModem to a host ready to receive the transfer.  In the F9 menu
          you will see shortcut keys defined (e.g. F4=ASCII Upload,
          F6=ZModem Upload, F7=CRC-XModem download etc.)  ASCII upload is
          convenient for uploading pre-written ASCII messages.

                           --- What do I *REALLY* need ---

          To use this environment you only need YAM.EXE or ZCOMM.EXE, the
          main communication program, and a phones file (PHOMAST.T) to tell
          it how to act with your equipment and tastes.  Set up a
          subdirectory called 'C:\ZCOMM' (using the DOS 'MD ZCOMM'
          command), then place YAM.EXE or ZCOMM.EXE with the phones file
          (PHOMAST.T) and help files if you want them there.  Call the
          package with the COMM.BAT file or setup your own BATCH file.  If
          you are using YAM or have the PHOMAST.T file somewhere other then
          in the \ZCOMM subdirectory, remember to include the DOS command:
          'set phones=c:\zcomm\phomast.t' in your AUTOEXEC.BAT file.  Once
          it is edited into your AUTOEXEC.BAT, activate it by typing the
          command 'AUTOEXEC' at the DOS prompt.

          When you first run the program with PHOMAST.T it will ask you
          whether you have a PULSE dial (the older rotary type phone or
          push button phone that clicks when it dials) or a TONE dial (the
          push button phones that uses tones to do all the dialing).  After
          you make that choice if you have to add numbers to get an outside
          line for all your calls (as with a PBX system) you can have it
          put that '9' or whatever numbers in for you.  Next it will look
          at your hardware and try to find what COM port you have your
          modem hooked to.  Make SURE your modem is ON for this test,
          otherwise you will have to tell the script what COM port is used.

                                 --- Extra Stuff ---



                                                                    Page: 4












          PHOMAST.DOC                                           Michael Ash



          The following may be added to your AUTOEXEC.BAT file if you want
          colors in your 'flash-up' help processor to match the default
          colors.

          set PHONES=c:\zcomm\phomast.t   (YAM needs this particular line)
          set NORMATTR=31                 (sets normal attribute)
          set REVATTR=26                  (sets reverse attribute)
          set UNDLATTR=31                 (sets underline attribute)

          This example expects to find YAM.EXE or ZCOMM.EXE and PHOMAST.T
          in C:\ZCOMM.  Remember a ':' before a line makes it a comment in
          script file.  This will activate OR deactivate lines of code.  To
          turn something OFF just put a ':' in front of the line.  Words
          starting in column #1 that end with a ':' are considered to be
          labels...  

          To activate menu status or make a call from DOS command line
          (assuming you are using ZCOMM.EXE) enter the command:

                    zcomm gosub menu  <-- or -->  zcomm call cis 

          The example on the left will bring a menu up when ZCOMM is
          loaded; and the example on the right will load ZCOMM and then
          call CompuServe...  This can be either via a batch file or
          directly as a DOS command.  Note you can call any label in any
          script file using:

                            zcomm call label.[path][file]
                            zcomm gosub label.[path][file]

          If no path or file is included, the phones file is searched for
          that specific label.

          Auto-log demos are set for local San Antonio numbers...  These
          numbers may differ in your area and require an area code of
          (512).  BNF is an example of an auto-log to a WildCat(tm) BBS,
          whereas Olde Guard is an example of an auto-log to a TComm(tm)
          Bulletin Board System.  

          A word about how YAM/ZCOMM displays information on the screen
          follows:  Think about YAM/ZCOMM as running on four monitors on
          your desk.  If this were possible you'd see the following from
          left to right on the four different screens: 

           |Full-Help|  |Command Line|   |On-Line Mode|   |Circular Buffer|
                 <-- move left with F1   -=-    F2 moves you right -->



                                                                    Page: 5












          PHOMAST.DOC                                           Michael Ash



                                   (F9 = Mini Help)

          Now, since you only have one screen, the way you switch between
          the four possible displays is by using the F1 and F2 function
          keys.  Picture F1 as moving you to a screen to the left and F2
          moving you to a screen to the right.  If you were On-Line,
          hitting F1 once would put you into command mode.  Hit F1 again
          and you are in the flash-up help processor.  If you hit F2 from
          On-Line mode (called terminal mode) you move into the circular
          buffer (which you can also access using the PgUp, PgDn, Home and
          End as well).  Hitting F1 puts you back On-Line, and F1 again
          you're back to the command line...  To tell where you are, in
          Full-Help you'll see a help menu, in the command mode you will
          see the command line, when on-line you will see the status line
          at the bottom of the screen and in the circular buffer you will
          see at the bottom of the screen a message "xx.x% Review Cmd?".


                        --- How to use the Circular Buffer ---

          One of the most powerful features of YAM/ZCOMM is the circular
          buffer.  What this does is record your on-line session.  If for
          example something scrolls off the screen (a listing of files
          perhaps) you can pop-up and review it by hitting the PgUp/PgDn,
          Home, End keys, or F2 key if you're on-line.  This takes you into
          a review function where you see a history of what was on the
          screen earlier.  The Home key takes you to the start or top of
          the buffer, the End key takes you to the bottom.  You can tell
          you are in the circular buffer since the bottom line will say
          "x.xx% Review cmd?" showing you where you are in the buffer. 
          Hitting the PgUp/PgDn, Home, End, and arrow keys will move you
          around.  To get back on-line just hit F1 or the Return key.  

          You can search and cut info out of the circular buffer.  Say
          there is a message you want to save that's scrolled off the
          screen that talks about 'modems'.  Just hit the Home key to go to
          the top of the buffer, enter the command 's' or '?' to search
          then enter the word 'modems' and hit return.  The line with that
          word will move to the top of the screen.  To cut this info, hit
          't' to mark the Top, then move the messages using cursor keys
          until the bottom of what you want to capture is on the top line
          and hit 'b' for Bottom.  This marks the text.  Now enter the
          command 'w' for Write and YAM/ZCOMM responds: 'Write to file:' 
          To this prompt just enter a file name or 'prn' to send it to the
          printer.  This allows you to cut information that scrolled off
          the screen and save it for later.  You can even 'read' a file



                                                                    Page: 6












          PHOMAST.DOC                                           Michael Ash



          into the circular buffer.  At the command line give the command
          'read filespec' and the file will be put into the buffer.


                          --- Some useful shortcut keys ---

              Alt-1  is DOS shell where you can enter a DOS command
              Alt-2  is YAM/ZCOMM command line where you can enter command
              Alt-D  is current directory contents
              Alt-W  writes open capture file
              Alt-C  closes an open capture file.
              Alt-M  changes keyboard mapping if you have others defined
              Alt-N  NUKE key - aborts whatever process running
              Alt-S  Shows status of running comm package

              Alt-Q  once download complete will log you off host.  The
                     string sent by Alt-Q is define by 'set quitcmd' in
                     the script.  To activate, hit Alt-Q once a download
                     is started...

              Alt-Z ZAPS a copy of the screen saving it into a file called
                    YAMPIC.  To see the file use the DOS file UNPIC.EXE and
                    give the command UNPIC YAMPIC.  To save the screen as a
                    file use 'UNPIC YAMPIC > filespec' at the DOS prompt or
                    use '!UNPIC YAMPIC' at the YAM/ZCOMM prompt.

              Ctrl-Home - Blanks the screen when on-line

              F4    -- ASCII Upload (for sending messages prepared offline)
              F9    -- Help Menu
              F10   -- On-Line Manual
              Shift-F6  -- Modify default Configuration / Colors


          When writing script files the '!' is used for DOS shell and '@'
          used to execute a YAM/ZCOMM command... (e.g. !chkdsk will run
          Check Disk).  That should get you going!  Once you are up and
          running look at the other commented features that will give you
          even more POWER... 

                             --- So what are the Menus ---
               
          Once YAM/ZCOMM is loaded, if you hit 'F9' you will see the
          following menu options.  
               
               F3   OPEN Capture file 



                                                                    Page: 7












          PHOMAST.DOC                                           Michael Ash



               F4   Send ASCII Text  (sending messages prepared offline) 
               F5   Send Kermit Upload 
               F6   Send Zmodem Upload <<BEST>> 
               F7   Receive CrcXmodem Download 
               F8   Send CrcXmodem Upload 
               F9   Press for THIS HELP SCREEN 
               F10  On-Line Manual
               
               Alt-1 Get DOS Command prompt 
               Alt-2 Get ZCOMM Command prompt 
               
               Shift-F3  HOLDING Pattern online to keep the other end from
                         timing out and disconnecting.  Basically, the
                         HOLDING Pattern sends a space/backspace to the 
                         host every 2 seconds...

               Shift-F4  Use Script Writer to generate your own autologon
               Shift-F6  Change your Modem / Color Configuration 
               Shift-F7  Demonstration of dialing menu DIAL.T
               
               Alt-F1    AutoLog B&F Tech BBS at 2400 baud
               Alt-F2    AutoLog Olde Guard 2400 baud
               Alt-F3    Write and then close opened Capture file 
               Alt-F4    Call CompuServe demo account at 1200 baud
               Alt-F5    Call PC Magazine BBS
               Alt-F6    Force local system into HOST MODE operation
               Alt-F7    Sign your name with a function key 
               ALT-F9    Edit PHOMAST.T SCRIPT  (Note:  You can change
                         this Function Key assignment to use your
                         preferred editor.)
               
              TO CALL OTHER BBSs:  enter 'call name' where name is a label 

              To DIAL A NUMBER enter number followed by ';t' For example
              use the format '523-8994;t'

              -- CompuServe-B, KERMIT, and ZMODEM download automatic --
               
             Stop Redialing ---- press <CR> Hangup w/o pgm exit - enter 'o'
             To exit program just get to the command line and enter 'off'
               
             Alt-N EMERGENCY EXIT, 'Nuke It' to get command line
               

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




                                                                    Page: 8












          PHOMAST.DOC                                           Michael Ash



                   --- Specialized Keyboard Mapping information ---

          YAM/ZCOMM lets you completely remap the keyboard if you wish. 
          Below is an example of a special application for Digital
          Equipment interface that you could add to a script.  I have
          included the following advanced discussion here to supplement
          normal documentation in case you need to utilize this powerful
          keyboard mapping command.  The bottom line is any that key can be
          mapped to send any character string to the host computer.

          Note:  From the YAM/ZCOMM command line you can find the number
          of the key sequence by entering a underline char "_" (underscore
          command) followed by a return...  This will display the key
          sequence strings in a series of 4 numbers.  For example hitting
          the letter 'a' will produce: 30 30 0 0141 (Hitting Ctrl-a
          produces 30 30 4 0001).  The first two numbers are the
          'scancodes' and actually the second number is the best to use
          since it will take into account extended keyboard functions.  The
          third number shows the ShiftState which is actually the numeric
          sum of what other keys are hit with the selected key.  The
          numbers are defined as follows:

              0  -  no other key hit with the target key
              1  -  the Right Shift key was held down as the key was hit
              2  -  the Left Shift key was held down as the key hit
              4  -  the Ctrl key held down as key hit
              8  -  the Alt key held down as key hit

              16 -  provided the Shift, Ctrl, and Alt key states match,
                    select this mapping regardless of whether the
                    Application Keypad Mode or the Decoded Function Key
                    conditions (below) are true.

              32 -  Alternate Keypad Mode (not numeric)

              64 -  Decoded Function Key (Character value > 0400 as
                    displayed by _ (underscore) command.

              128 - Select this mapping unconditionally 

          You can even have specific combinations by summing the keys held
          down.  For example if the ShiftState is 3 this means both Right
          and Left Shift keys held down.  If the number is 14 means the
          Right shift (2), the Ctrl (4) and the Alt (8) key were all held
          down when the key hit (2+4+8=14).  As you can see this gives you
          very specific mapping even taking into account simultaneous use



                                                                    Page: 9












          PHOMAST.DOC                                           Michael Ash



          of multiple keys.

          For more information see pg 184 under Terminal Emulation in the
          YAM manual you receive when you register YAM or ZCOMM.  Actual
          keyboard mapping utilizes the command 'mk' with the following
          syntax :

                       mk  Scancode  ShiftState  Class  String
          where:

              Scancode - Explained above using the '_' function.  Take the
          SECOND number displayed as the scancode to use here.

              ShiftState - numeric sum of what other keys are hit as
          explained above.  Special case 128 maps unconditionally as with
          Ctrl Arrow keys... 

              Class - determines the type of string to put ahead of your
          selected sting.  This saves you having to enter the 'ESC[' at the
          start of each string for example.

              Class 0 in VT mode puts "ESC[" before string
              Class 1 in VT52 mode, ESC is prepended, otherwise "ESC O"
              Class 2 specialized for Keypad, Not mapped in numeric mode
              Class 3 puts just "ESC" before string
              Class 4 nothing is added

          Here is a brief example of what you can do...

                    mk                    :Clear old mapping
                    display mapkb vt100   :Setup VT100 display
                    pN2                   :Turn off NumLock
                    mk 72 16 0 A          : Up arrow (class=0 sends:ESC[A )

                    mk 80 16 0 B          : Down arrow
                    mk 75 16 0 D          : Left arrow
                    mk 77 16 0 C          : Right arrow
                    mk 41 1 0 \d52\d126   : Map rf-Shift-~ sends: ESC[4~
                    mk 41 2 0 \d52\d126   : Map lf-Shift-~ sends: ESC[4~
                    
                    mk 28 4 0 31~         : Ctrl-Enter Insert line Esc[31~
                    mk 21 4 0 32~         : Ctrl-Y delete line Esc[32~
                    mk 115 128 3 OR       : Ctrl-Left move one word left
                    mk 116 128 3 OQ       : Ctrl-Right move one word right
                    
          Example of fKEY mapping...



                                                                   Page: 10












          PHOMAST.DOC                                           Michael Ash



                    set f10 "\E[21~"      : Map F10 to Abort  (ESC[21)
                    set fpgup "\E[6~"     : Map PgUp to previous screen
                    set fpgdn "\E[5~"     : Map PgDn to next screen
                    set fins "\E[2~"      : Map INS key to Esc[2~
                    set bs "@mput \177"   : Map BackSpace key to be Del     
               

              The above examples demonstrate that you can do essentially
              anything you want to do...


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

                  <<< Comments below courtesy of Bob Willoughby >>>

          This is a "hands-on" script.  It incorporates three "auto logon"
          examples which show how to write an auto logon script.  They
          include auto logons to B&F, Olde Guard BBS here in San Antonio,
          Texas and a demo account area of CompuServe... 

          You can generate an autolog script like the ones above using the
          TurboLearn Script(tm) (Shift-F4).  This will actually create
          rough script that you can later refine and add to PHOMAST.T and
          run from there.  Having WildCat, TComm, and CompuServe examples
          to work from lets you see lots of tricks that will help you
          generate other automatic scripts.  They can be made so
          sophisticated that you can completely automate any procedure...

          Examples of auto logon scripts may be found in PHOMAST.T and in
          Chuck Forsberg's phone scripts distributed with YAM/ZCOMM.  Other
          examples are included in the file SCRIPTS.ZOO which may be
          downloaded from Telegodzilla, the YAM/ZCOMM support BBS.  The
          YAM/ZCOMM manual explains how such auto logon scripts are
          constructed and how to use the TurboLearn(tm) feature to automate
          writing scripts.  I recommend new users use this script
          essentially "as is" for a while to test your new phone directory
          entries and become familiar (comfortable) with YAM/ZCOMM.  Then
          you can enjoy the challenge, the fun, and the satisfaction of
          modifying this script to add auto logon procedures, dial queues,
          and the like.

          Keep in mind that this is only an example script to use in
          learning basic ZCOMM functions.  You will have plenty of time to
          enhance and embellish this script later. 

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



                                                                   Page: 11












          PHOMAST.DOC                                           Michael Ash




          The only files you must have are YAM.EXE (or ZCOMM.EXE) and this
          phones file PHOMAST.T -=- The following files are included in the
          PHOMAST6.ZIP file:

               PHOMAST.T    -- the actual code YAM/ZCOMM reads
               PHOMAST.DOC  -- this documentation file
                  DIAL.T    -- simple example of a dialing menu (optional)
              HOSTHELP.TXT  -- external help text for HOST mode (optional)
              TUF_FONS.T    -- an alternative, no-frills phones script
                 WHATS.NEW  -- changes since PHOMAST5.T of one year ago     
                  COMM.BAT  -- example of BATCH file to call YAM/ZCOMM



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



          I have tried to make this script as perfect as possible but like
          most things in life there are no guarantees that I found
          everything.  I wish you the best of luck with YAM or ZCOMM. 
          Please let me know if you run into problems...
                              
          I have spent hundreds of hours over many years on this script to
          make ZCOMM or YAM useful to new users right out of the starting
          block.  If this has helped you get a better grasp of the package
          I would like to hear from you.  If this really made a difference,
          and you think my time is was well spent, throw a couple bucks my
          way and I will go out for a Taco (what else in San Antonio...).

          Regardless, I would appreciate a postcard, just to get an idea
          who this script finally reached...


                                                      Michael Ash
                                                      3766 Tupelo Ln #2904
                                                      San Antonio, TX 78229




                            ---------- Have Fun ----------



                                                                   Page: 12