Category : Communication (modem) tools and utilities
Archive   : ZMSCRIP.ZIP
Filename : PHOMAST.DOC

Output of file : PHOMAST.DOC contained in archive : ZMSCRIP.ZIP


Michael R. Ash
CompuServe: 71350,3327 Internet: [email protected]

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

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


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. I
have included an editor in PHOMAST6.ZIP called Colorado State

Page: 2


Editor (CSE) version 3.10 developed by J. R. Applegate at the
Colorado School of Mines. This full featured and configurable
editor is only 13K and features block copies, moves, case change,
deletes, etc. Best of all it's PUBLIC DOMAIN!

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


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


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

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

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


(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


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


F4 Send ASCII Text (sending messages prepared offline)
F5 Send Kermit Upload
F6 Send Zmodem Upload <>
F7 Receive CrcXmodem Download
F8 Send CrcXmodem Upload
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 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


--- 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


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

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


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


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

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
CSE.* -- Public Domain Editor and Support Files
PROFILE.CSE -- Keyboard configuration file for editor.
README.CSE -- Simple setup instructions for CSE editor


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

  3 Responses to “Category : Communication (modem) tools and utilities
Archive   : ZMSCRIP.ZIP
Filename : PHOMAST.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: