home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Ham Radio 1997
/
WOHR97_AmSoft_(1997-02-01).iso
/
packet
/
msys
/
msys_3
/
amsoft.iii
next >
Wrap
Text File
|
1997-02-01
|
352KB
|
9,541 lines
MSYS
(C) Copyright 1991 By HUB COMPUTERS, INC.
INTRODUCTION
MSYS is a copyrighted program that I am making available to the
amateur radio community free of charge. Source code is not
generally available (if you want it you will have to pay dearly
for it!).
If you happen to see my system on the air don't get excited when
you see that I am running the next numbered version of MSYS. It
doesn't mean its ready for distribution! I go to the next number
on my system as soon as I release a version.
KA-NODe is a trademark of Kantronics Inc. The K NODe component of
MSYS is compatible with the Kantronics KA-NODe but is completely
different code from that used in the Kantronics tncs.
NET/ROM is a trademark of SOFTWARE 2000. The network NODe
component of MSYS is compatible with NET/ROMs but is completely
different code from that sold by SOFTWARE 2000.
The network NODe component of MSYS is completely different
from that in the net.exe program and G8BPQ NODe software.
IBM is a trademark of International Business Machines Corp.
PacketCluster is a trademark of Pavillion Software.
MSYS is available from the Cleveland Hamnet phone BBS. Numbers
are 216-942-6382 and 216-942-7516. Both are 300 to 2400 baud, at
least! This is a free bbs (you pay for the call). MSYS may also
appear on other phone bbs systems, but this is the only one I put
it on directly.
You may also obtain MSYS from me directly on disk (this may
be the cheapest way really and the fastest when a new version
comes out). For US addresses the cost is $5 per disk which
includes the disk, mailer and postage. You may order several
versions at a time, I will hold your request until the versions
are released. This way you get to be the first kid on the block
with the new toy! When ordering from me, please specify
which version you already have or which one you want. Distribu-
tion is on 5.25 inch disks. I keep records with the following
information for people who order msys, so you may want to give
me this info. Also please indicate if you want me to call you
(collect) if it would be helpful to answer questions you send
me about MSYS. Note that MSYS now comes on 2 disks so you should
$10 for each release going to US addresses.
CALL: Your callsign. This is the key I record
all the information under
NAME: Where to send the disk to!
ADDR1:
ADDR2: (if there is a second line in your addr)
CITY:
STATE:
ZIP:
COUNTRY:
TELEPHONE: If you want me to call you back (collect)
VERSION: The version you have now
OWED: How many you have prepaid
COMPUTER: Speed, memory,disk space, cpu chip etc.
TNC: Model & rom versions
DOS: Which version?
BBS: BBS callsign to send you msgs at
IP: Your IP address, if you have one
Mail requests for msys on disk to:
Michael Pechura
10809 Beechwood Drive
Chesterland, OH 44026
You may call me with questions/comments at 216-256-1588.
Canadian stations may want to contact VE3WZL for distribution
info in Canada.
ADDR:
J. B. Weazle McCreath
Aerial Acres
R.R. No. 4,
Goderich, Ontario, Canada
N7A3Y1
Ordered from me the cost is $7.50 to Canadian addresses.
Other foreign stations: Price is $10 (US) per version which
includes Air Mail postage.
A Multi-User, Multi-Port, Multi-Function
Packet Radio BBS
By Mike Pechura, WA8BXN
(C) Copyright 1991 By HUB COMPUTERS, INC.
All rights reserved.
Version 1.12 September 1991
MSYS Documentation Table of Contents
SECTION - 1
MSYS Installation Instructions 1
MSYS.OPT 3
SECTION - 2
MSYS Command Summary 10
MSYS SYSOP Commands 17
SECTION - 3
MSYS BBS Commands 43
REQxxx SERVERS 51
DATABASE HELP 53
SECTION - 4
Forward File Description 55
SECTION - 5
MSYS Network NODe Introduction 70
MSYS DX Node 79
MSYS General information file 84
SECTION - 6
MSYS Utility Support Programs (MUTIL.EXE) 96
SECTION - 7
EDITVIEW (ED Command) 127
EDITFILE (EF Command) 128
SECTION - 8
HOUSECLEANING (HC command) 130
MODEM Support 132
Sysop commands related to TCP/IP 134
Samples of MSYS files 138
BIT PATTERN CHART 141
Frequent problems and notes from the author 142
MSYS AMTOR Interface 144
INDEX 146
MSYS Installation Instructions #
(c) Copyright 1991 by HUB COMPUTERS, INC.
Installation of MSYS is not particularly difficult but you
should follow the following steps in order.
1. Make a backup copy of the distribution disk. You can copy
the entire disk with Diskcopy.
2. Make a default directory on your hard disk. I call mine
MSYS. Use the command: md c:\msys
3. Go to the default directory: cd c:\msys
4. Make required subdirectories: md c:\msys\mail
md c:\msys\files
md c:\msys\help
md c:\msys\mail.bak
5. Un-arc the distribution disk.
6. To move the help files to the help sub-directory. Type
MOVEFILE
NOTE: REQUIRED FILE: HELP\MSYSMSGS.DAT
This file contains a number of the seldom used messages produced by
MSYS.
8. Change Directory to SAMPLES
Edit the file c:\msys\samples\msys.opt with your favorite
program editor. See documentation on setup for details. After
editing move msys.opt file to the default directory.
9. RUN SETUP (MUTIL.EXE Function 9) to create c:\msys\msys.def
10. Make sure you have at least
files=20 in your config.sys file in the root directory of your
boot disk.
11. Using any ASCII editor, create MSYSFWD.DEF. If you don't know
what to put it in now, put the following (to be replaced later):
F0 WA8BXN
WA8BXN
--------
12. Type MSYS and it should begin to run!
13. Type MERge. You can ignore any messages about MSYSBBSB.DAT at
this time.
*** Special Note
Determining the type of monitor you have: If you have a color
monitor, the default is ok. If you have a monochrome monitor that
uses and RCA phono pin plug then you also are using a Color
1-1
Graphics Adapter interface card and the default should be ok.
If you can do the command MODE MONO (this is a DOS command) and
not get any error messages and the computer continues to work,
you probably have a monochrome (TTL) interface card. You will
need to specify WINDOW DISPLAY MONOCHROME in your MSYS.OPT file.
MSYS command (typed at DOS prompt)
NOHEARD - disables JK,JM,JD,JG,JB and JT recording.
Saves 26,880 bytes
NONODE - disables network node, saves 28,104 bytes
NORAMHDRS - stores msg hdrs on disk only, saves 136 bytes per
possible msg. This can be quite slow if you have
lots of msgs and no disk cache. Could be useful on
286 systems with cache in EXTENDED memory.
Example: MSYS NOHEARD NONODE NORAMHDRS
IF MSYS DOESN'T SEEM TO BE WORKING PROPERLY, REMove ALL (EVERY
LAST ONE!) RESIDENT PROGRAMS (INCLUDING YOUR ENTIRE CONFIG.SYS
AND AUTOEXEC.BAT FILES AND SEE IF IT WORKS THAT WAY. IF IT DOES,
PUT THINGS BACK IN ONE AT A TIME TO SEE WHERE THE PROBLEM IS!
1-2
MSYS.OPT
(c) Copyright 1991 by HUB COMPUTERS, INC.
Before MSYS can be used a configuration file (MSYS.OPT) must
be created and the program SETUP (MUTIL.EXE Function 9) must be
run to create the file MSYS.DEF. The file MSYS.OPT is a stand-
ard ASCII file and may be created with any program editor. The
basic format of the file is:
PORT number AT number INT number SPEED number [NAME description]
PORT number SUBPORT number OF [PORT] number [NAME description]
DIGI callsign FROM [PORT] number TO [PORT] number [AS callsign]
NUMCHANS number
BBS CALL callsign
BBS ALIAS callsign
KANODE CALL callsign
ANSWER CALL callsign
FORWARD CALL callsign
ID CALL callsign
ID EVERY number
AX25 FRACK number
AX25 MAXFRAMES number
AX25 RETRIES number
AX25 CHECK number
MONITOR IFRAMES on/off
MONITOR UFRAMES on/off
MONITOR SFRAMES on/off
MONITOR BFRAMES on/off
MONITOR OUTGOING on/off
MONITOR PORTS mask
WINDOW number SIZE number number number number
WINDOW number BACKGROUND number
WINDOW number FOREGROUND number
WINDOW number PAGE number
WINDOW UNUSED BACKGROUND number
WINDOW UNUSED FOREGROUND number
WINDOW DISPLAY color/monochrome
PROCESS processname [WINDOW] number
STACK processname number
STACK FORWARD 8000
STACK DECODE 1500
STACK CALL 4000
SYSOP NAME name
SYSOP QTH location
SYSOP ZIP zip code
MAKE
Notes:
1. Items enclosed in square brackets ([...]) are optional
2. Numbers assumed in decimal unless prefixed by $ then hex
is assumed
3. on/off means the word ON or OFF
4. mask is the numeric representation of a bit string with
the rightmost bit corresponding to port 0. 1=to be
monitored.
1-3
5. Where more than 1 space is shown, 1 or more space are ok
6. Callsign can include SSID (-number)
7. Ordering of the statements is generally not important
8. If there is an * at the beginning of a line it is ignored
9. The bbs alias, Kanode, Answer and Forward calls must be
different calls or SSID's.
Output from the execution of SETUP is the file MSYS.DEF (a
binary file) and a listing to the display console (which may be
routed to the printer via redirection: SETUP >LPT1:). The
listing consists of two parts: the original input statements
followed by a complete list of all options generated (including
defaults).
If any errors are detected, the MSYS.DEF file will not be
created. A sample of a MSYS.OPT file is found in MSYS.OPT on the
distribution disk.
Explanation of each statement type
-----------------------------------
PORT number at number INT NUMBER SPEED number [NAME description]
PORT number SUBPORT number OF [PORT] number [NAME description]
ThePORT statement has the above two variations. The number
following the word PORT is the port number. It must be between 0
and 5. The version containing the word AT defines an actual
serial interface while the SUBPORT version defines a second
logical port for multiport TNCs such as the KPC-4. There must be
one PORT statement for each port to be used. Assign port numbers
beginning with 0 in increments of 1.
Following the word AT is the base I/O address of the 8250 in
the serial port, such as $3F8. Following the word INT is the
interrupt number for the 8250, such as 4. After SPEED is the baud
rate to be used, such as 1200. Optionally the word NAME followed
by some description of the port can be given. A good description
would be the corresponding radio frequency.
For the other form of the PORT statement, the number
following the word SUBPORT is the logical channel number,
typically 1 for the KPC-4. Next comes the word OF in the
statement optionally followed by the word PORT. Next comes the
port number of a port statement defining an actual port (ie,
contains the word AT in its definition). The optional NAME and
description is the same as above.
PORT description lines can also have two additional parameters:
RADIOSPEED bitrate# TNCTYPE #
RADIOSPEED specifies the bitrate used by the TNC to the radio
(300 or 1200 probably). If 300 bps is selected, shortened prompts
are used in the BBS and perhaps elsewhere.
TNCTYPE is a number from 0 to 999. Tnc type 0 is a KPC-x. Any
other number causes a file MSYSTNC.# to be read for initializa-
tion statements to be sent to the TNC. These parameters would be
used for a tnc other than a KPC-X
1-4
NOTE: You must specify RADIOSPEED if you use TNCTYPE.
For example:
PORT 2 AT $2F8 INT3 SPEED 4800 NAME 145.01 RADIOSPEED 1200
TNCTYPE 1 (Should be all on one line)
AND IN THE MSYSTNC.1 FILE YOU WOULD HAVE THE COMMANDS THAT WOULD
PUT YOUR TNC INTO KISS MODE.(see note in general info section)
DIGI callsign FROM [PORT] number TO [PORT] number [AS callsign]
The DIGI statement defines a digipeater callsign. Repeat
this statement type up to 25 times as desired. The first callsign
is the callsign that would be used in the VIA list by a station
trying to use the digipeater. The port number following FROM
indicates the port that will be using this call. The TO port
number indicated the port on which packets having this the first
callsign as digipeater should be output on. For a normal
digipeater the two port numbers will be the same; for a gateway
they will be different. The optional AS callsign specifies a
replacement for the first callsign in the digipeater list when
the packet is sent out the TO port. If omitted the first callsign
is assumed (ie, no change). Consider the following examples:
DIGI MYDIGI FROM 0 TO 0
DIGI MYDIGI FROM 1 TO 1
DIGI W1XX-3 FROM 0 to 0
This would allow the callsign MYDIGI to be used in the via list
on either port 0 or 1. The packet is retransmitted on the same
port was heard on. The call W1XX-3 can also be used to digipeat
on port 0.
DIGI MYGATE FROM 0 TO 1
DIGI MYGATE FROM 1 TO 0
This pair would define a gateway between ports 0 and 1 with the
callsign MYGATE used in both directions.
DIGI TOF1 FROM 0 TO 1 AS TOF2
DIGI TOF2 FROM 1 TO 0 AS TOF1
This interesting pair allows TOF1 to be used as a gateway
digipeater call on port 0 (no effect if used on port 1). When the
packet is repeated it will have TOF2 in the digipeater list where
TOF1 originally was. The opposite is true on port 1: When TOF2 is
used as a digipeater call the packet is repeated on port 0 with
TOF1 being substituted for TOF2. The substitution is transparent
to the users.
NUMCHANS number
NUMCHANS is used to specify the number of logical channels
that will be allocated. Each connection (while connected) uses
one logical channel. When the KA NODe is being used a second
logical channel is used for outgoing connects. Each logical
channel requires about 7K of memory. They are available for reuse
when a station disconnects.
1-5
BBS CALL callsign
This statement gives the callsign that can be connected to
for the "big" BBS. The callsign can contain an SSID. This
statement is also optional; if omitted stations will not be able
to connect to the BBS unless a bbs alias is given.
BBS ALIAS callsign
This statement gives the callsign that can be connected to
for the "big" BBS. The callsign can contain an SSID. This
statement is also optional; if omitted stations will not be able
to connect to the BBS unless a BBS CALL is given.
KANODE CALL callsign
This statement gives the callsign of the KA NODe which is
similar to the KA NODe provided in the Kantronics tncs. The
callsign can (and probably should) contain an SSID. This
statement is optional; if omitted stations will not be able to
connect to the PBBS.
ANSWER CALL callsign
This statement gives the callsign that can be connected to
by stations wanting to talk to the SYSOP. It is also used as the
callsign when the Connect command is used. The callsign can (and
maybe should) contain an SSID. This statement should not be
omitted.
FORWARD CALL callsign
This statement gives the callsign used when the BBS is
forwarding. It can (and probably should) contain and SSID. This
statement should not be omitted if the BBS is to be used.
ID CALL callsign
This statement gives the callsign that will be used for
identification purposes. It must be your actual amateur callsign
and should NOT have an SSID specified. This statement MUST be
used.
ID EVERY number
This statement specifies the number of minutes between IDs.
The list of stations for which there is mail is generated with
every ID.
AX25 FRACK number
Number is the number of seconds to wait before
retransmitting a packet. All of the AX25 statement forms are
optional.
AX25 MAXFRAMES number
Number! specifies the maximum number of frames that can be
outstanding before waiting for an ACK. Must be between 1 and 7.
AX25 RETRIES number
This is the number of retries that will be made before
abandoning a connection.
1-6
AX25 CHECK number
If there is no activity on a logical channel for this
number of seconds there will be an automatic disconnect.
MONITOR IFRAMES on/off
Turns on or off the displaying of Information frames. All
forms of the MONITOR statement are optional.
MONITOR UFRAMES on/off
Turns on or off the displaying of Un-numbered frames (except
beacons, see below).
MONITOR SFRAMES on/off
Turns on or off the displaying of System frames.
MONITOR BFRAMES on/off
Turns on or off the displaying of Beacon frames (Un-numbered
information).
MONITOR OUTGOING on/off
Turns on or off the displaying of all outgoing packets.
MONITOR PORTS mask
Determines which ports will be monitored. The rightmost bit
of this number corresponds to port 0, the next bit to the left
port 1 and so on. Ports with 1 bits are displayed (as selected
above). A value of 13 (decimal, $D in hex) would enable ports 0,
2 and 3, for example.
WINDOW number SIZE number number number number
This form of the window statement gives the bounds of the
window whose number is given after the word WINDOW. The four
numbers after the word SIZE are the upper left column (1 to 80),
the upper left row (1 to 25), the lower right column, and the
lower right row respectively. All of the WINDOW statement forms
are optional and should be used with great caution.
WINDOW number BACKGROUND number
WINDOW number FOREGROUND number
These two forms of the WINDOW statement give the background
and foreground colors of the window specified after the word
WINDOW. The rightmost number is a color number from 0 to 15 for
foregrounds and 0 to 7 for backgrounds. The corresponding colors
are:
Black 0 Blue 1 Green 2 Cyan 3 Red 4
Magenta 5 Brown 6 Lt Gray 7 Gray 8 Lt Blue 9
Lt Green 10 Lt Cyan 11 Lt Red 12 Lt Mag 13 Yellow 14
White 15
WINDOW number PAGE number
This statement assigns a window to the specified page (0-3).
WINDOW UNUSED BACKGROUND number
WINDOW UNUSED FOREGROUND number
1-7
These two statements give background and foreground colors
to the places on the screen not assigned to any window.
WINDOW DISPLAY color/monochrome
This statement selects the kind of display adapter you have,
COLOR or MONOCHROME. If you have a CGA card, select COLOR.
PROCESS processname [WINDOW] number
This statement specifies the window that is to be used for
output from the allowable process names. Be extremely careful if
you use this statement.
STACK processname number
This statement specifies the number of bytes to be allocated
for the stack for the allowable process names. You probably
shouldn't mess with the defaults!
SYSOP NAME name
You must use this statement to specify your first name.
SYSOP QTH location
You must use this statement to specify your location.
SYSOP ZIP zip code
You must use this statement to specify your zip code.
MAKE
Use this statement if you want to produce the new MSYS.DEF
file if there are no errors.
Here is a sample MSYS.OPT file for you to figure out!
port 1 at $3e8 int 4 speed 1200 name 223.70
port 0 at $2f8 int 3 speed 1200 name 145.01
digi bxng from 0 to 0 as bxng
digi bxng from 1 to 1 as bxng
digi bxn501 from 0 to 0 as bxn501
digi bxn501 from 1 to 0 as bxn370
digi bxn370 from 0 to 1 as bxn501
digi bxn370 from port 1 to port 1 as bxn370
digi test-4 from port 0 to port 1 as test-5
digi wa8bxn-3 from 0 to 0
bbs call wa8bxn-13
kanode call wa8bxn-1
answer call wa8bxn-14
forward call wa8bxn-12
sysop name Mike
sysop qth Kirtland, OH
sysop zip 00000
id call wa8bxn
window display color
make
1-8
DRSI CARDS
Minimum things that must be done to use DRSI cards:
Put HAPNDRSI.SYS in root (C:\) directory
Put HAPNKISS.COM where it can be found to be executed.
Put DEVICE=HAPNDRSI.SYS IRQ=7 (or whatever interrupt you have the
board set up for) in CONFIG.SYS. Reboot system.
Put:
PORT 1 AT $0 INT 7 SPEED 1200 NAME *DRSI-0
PORT 2 AT $1 INT 7 SPEED 1200 NAME *DRSI-1
in MSYS.OPT and run MUTIL function 9. Notes: Change the port
numbers to what is appropriate to your system. The ports on the
drsi card are referenced by the numbers after the AT $. The INT 7
is taken as comments only (but INT something is required). SPEED
of the DRSI ports is really set on the DEVICE=HAPNDRSI.SYS state-
ment in CONFIG.SYS. SPEED value given on port statement is more
less only comments. NAME must begin with *, can be something like
*145.01 if you prefer. Before you start MSYS, you must run
HAPNKISS.
That should get you started. For other configurations and op-
tions, read the appropriate documentation.
1-9
MSYS Command Summary #
(c) Copyright 1991 by HUB COMPUTERS, INC.
The following is a summary of the commands available at the
local keyboard for MSYS. The commands may be abbreviated to the
capital letters.
*comment Enables comment line from user to SYSOP
#msgs/use Displays total number of active msgs and known user
on BBS
@home On/Off
ABortfwd Aborts forwarding as soon as possible
ACceptmid On/Off
ADDUser Allows sysop to add a user to bbs
APpend Used to append a file to a message and other general
uses
ARChive Puts given @BBS in specified subdirectory
ARP Lists the known callsign/IP address
ARP add Adds digipeaters to TCP/IP stations
ARP DEL Removes TCP/IP stations from arp list
ATtended ON/OFF Turn HF forwarding on and off
AUTODest ON/OFF Add new DESts for known neighbors
AUTOHold On/Off Hold messages that contain call in R: lines
AUTOKill Kill all messages after forwarding
AUTONode ON/OFF Add new neighbors heard
AX25Backoff [Portmask] The rightmost bit is for port 0.
AX25L2V2 [port#] [On/Off]
BACkuptim Specifies time to make backup
BADuser ON/OFF
BBs Enter the BBS as a local user
BBSNode [ON or OFF] If on and the node is enabled, the bbs
will appear as a node to the network
BBSTimeout# Number of seconds of inactivity on bbs to disconnect
user
BDigi Specifies digipeaters for beacons
BElloff Turns bells on or off (on turns bell off off turns
bell on)
BIDall Manipulates bids in the BIDLIST.DAT file.
BINterval seconds Nodes Broadcast interval
BMaxcon [port#] Max-BBS-connects
BOOT Remote sysop only
BPorts Used to indicate BBS ports only
BText Specifies one line of beacon text
BUDCalls Set or display the list of calls with SSID to be
monitored
BUDList Turn on/off selective call monitoring
CAllfile CAllfile for callbook lookup (Max 74 chars)
CHAnstat Displays status of a logical channel whose number is
given
CHEck Number of 1 second intervals of no activity to
disconnect
CL B # Change border color
2-10
CLrscrn Clear window number given or * for clear all
windows
CMdwindow Specifies the window number to be used for commands
(CM 4)
COpy sourcepathname DEStpathname (include drive: if needed)
Cscript New form of the Connect command:
CTS Allows specification for each port if hardware hand
shaking should be used
CRetries Sets number of retries for forward connect attempt
C# Attempt to connect to station via digi list given
on port #
DEBug Used to display or modify memory
DELEfile Specifies file name to delete
DELUDays Specifies the number of days after which a user that
has not connected will automatically be deleted from
the system.
DELUSer Deletes a user from the user list
DESt ADD, REP, DEL
DFree Displays amount of disk space free
DIGipeats Displays digipeater/gateway list
DIRectory Displays directory for path specified Example
DIR mail\*.*
DISconnec Forces a disconnect on logical channel specified
DOcmdfile To execute a command file
DPorts Allows sysop to selectively disable digipeater
DRoute Callsign port# [digi1...digi8]
DTimedate Displays current date and time
DUmpbbs ON/OFF disconnect any bbs that has connected and uses
a command other than S or F.
DXCall the call, with ssid, that will be used by the the DX
Node.
DXDiddle # where # is the number of seconds of inactivity before
a 'diddle' packet is sent.
DXNconnect scriptfilename
DXPorts portmask Rightmost bit is Port 0.
DXRestore Reads the last recorded DX spotting and WWV
information.
DXSAve Records the current DX Spotting and WWV information
DXSTart #nodes #users #dxspots #wwv
EDit Screen editor for files
EFile Edits the specified file
EMsghdr Edits the header of the specified msg number in BBS
EUser Edits specified user
F2 time Number of seconds to continue displaying moni-
tored packets after F2 (function key) was last
pressed.
FBbstimes Allows specification of hours bbs is full function
FCall Finds the logical channel(s) in use by given callsign
FFile (find file) FF *.DAT C:\
FIle Converts specified msg number into file name given.
2-11
FMsg pattern-string Searches all messages in MAIL.BAK for
given pattern string.
FOrward Initiates forwarding immediately
FRAck Displays or sets time in seconds to retransmit a
packet
FREE Deallocates the logical channel specified
FSize Displays the file size for the pathname specified
FTIme Forward time
FTPgm File Transfer Protocol
FUlldup Used on the specified ports if set to ON.
GEtmsgotd Reads and displays Message of the day file
GRep Will search the given file for the specified pattern
HApnstat
HCAll Allows you to properly specify your bbs hierarchi-
cal callsign.
HCLean This command automatically deletes specified messages.
HEard # The J heard list recording is turned off if # >
Dispatches
Help Lists the names of the commands
HOLdlevel Parameter is a number which if the sum of word
weights matched in message exceeds the value the
message is held.
HOStname Hosts id name TCP/IP
HReplace Selects adding to end of existing hierarchical
@BBS field or replace.
ID * Forces transmission of an ID immediately (also mail
for list)
IGnore Calls in budcalls list will not be monitored
IPNCheck # Inactivity timeout in seconds, default 600.
IPNFrack # Retry timer in seconds, default 30.
IPNRetry # Retries, default 5.
IPTtl # TCP/IP Time to live
INitpr Allows you to specify if printer should be
initialized before each file is printed.
JBbs Lists (P)BBSs heard and their paths
JDigipeat Lists Digipeaters heard and their paths
JGateways Lists Gateways heard and their paths
JHeard Lists stations heard and those connected to BBS
JKanodes Lists KA Nodes heard and their paths
JMsys List other MSYS systems heard
JNetrom Lists NET/ROM nodes heard and their paths
JTcp/ip Lists TCP/IP stations and their addresses
KEyboard Assign keyboard to channel number specified
KILLproc Abort specified process number (Can be hazardous!)
KPorts Allows sysop to selectively disable k NODe
LCount Counts number of lines, characters,and words in file.
(LC Filename)
LOCKkbd Locks the keyboard
2-12
LOGclose This command closes the log file, renames it to form
of yymmdd.LOG and then opens a new log file.
LUsers List known user calls that have connected to BBS
MAKEPriva On/off {sets/resets making messages private by de
fault}
MAStersrv Specifies the master WP server
MAXBullag command may be used to discard bulletins older than a
specified amount
MAxFrames Display or change number of frames sent before ACK rcvd
MAXRead Specifies maximum size message that can be read or file
that can be downloaded
MCForward Portmask Ports where forwarding is counted as bbs
connects. Default is all 1's.
MCOn Number of connects allowed to sysop keyboard
MDir Creates given directory
MEMory Display amount of memory free
MERge Reads MSYSFWD.DEF and copies it to MSYS.FWD
MEXpert [On/Off]If on, display the message of the day
MHclear Clears various J heard lists
MIDchar Message ID indicator (max 4 chars)
MINmem Allows specification of the minimum free memory
MISsing Reports number of times forwarding aborted due to
missing text file
MONBframe Enable/disable monitoring of Beacon (UI) frames
MONIFrame Enable/disable monitoring of Information frames
MONITor Enable/disable monitoring of incoming frames
MONOutgoi Enable/disable display of outgoing frames
MONPorts Select which ports to monitor (bit string,LSB=port 0)
MONSFrame Enable/disable monitoring of Supervisory frames
MONSTats Enables/disables recording of channel usage stats
MONUFrame Enable/disable monitoring of Un-numbered frames
MONxx Enable/disable monitoring of PIDs on screen 2
monitoring
MSgtraile On/Off
MYAlias Display or change bbs alias callsign
MYBbs Display or change bbs primary callsign
MYCall Display or change Call/Answer callsign
MYIpaddr Sets IP address that the system will respond to.
MYKnode Display or change K NODe callsign
MYTcpcall Callsign used when sending arp and TCP/IP frames
NDwindow # Net default window size (frames)
NETBbs ON/OFF Enable BBS cmd in net NODe
NETCon ON/OFF Enable connect cmd in net NODe
NETFbbstime Allows specification of hours NET is full function
NETNode ON/OFF Enable the Net Node
NETOnly ON/OFF If on, only BBSs can connect to bbs via
network
NETRead Specifies maximum size message that can be read or
file that can be downloaded through the Netnode
NETTalk ON/OFF Enable Talk cmd in net NODe
NEWUser # allows you to set the initial user flags
NInfo Gives net NODe status
NNode Takes you into the NODe as if you were connected to it.
2-13
NOBEacons [port mask] If a given port is set to 1 then there
will be no ID, mail for, or BText beacons.
NOBUlls On/Off When on, no bulletins will be forwarded
during normal forwarding.
NODe SEnd, SAve, REStore, ADD, REP, DEL
NODETimeout # Number of seconds of inactivity on network node
NPorts portmask Ports to which nodes broadcast
NRCall callsign Sets net NODe callsign
NRId mnemonic Sets net NODe mnemonic identifier
NTtl # Network time to live (max hops)
OCInit # Initial obsolescence count
OCMmin # Minimum obsolescence to broadcast
PAClen Specifies maximum number of bytes that are put in a
packet
PATh Display information about given user callsign
PForward Display information about given BBS callsign
PIng Destination IP address or a mnemonic
PMessage Message# prints specified message
POrts Display information about ports
PPersist [port#] value (255 to 0)
PQuality [port#] # Quality for nodes hear on port
PRInt Prints a file (on printer)
PROcesses Display status of processes
PRTmsgs Enables/disables printing of messages
PWindow Sets window to be used by a process
QUIT Terminates execution of MSYS gracefully more or less
RDir Removes the given directory
Readbakup # Allows you to read a message it the MAIL.BAK dir
REMove DESt callsign Deletes DESt through all neighbors
REName Oldpathname newpathname (must both be on same drive)
REPlaces Replaces incoming @BBS calls
RESpons # Number of seconds to wait before sending out a
response
RETries Displays or sets number of retries before disconnecting
REQDIR ON/OFF enables Request directory server
REQFIL ON/OFF enables Request File server
REQMaxfil used to set a limit on the size of files that may be
requested from the REQFIL server
REQQTH ON/OFF enables Request QTH server
RUn Allows you a DOS program with many limitations.
SCreensave # zero is the default
SEnd Sends a line of text to specified channel: SE 1 The
msg
SHow/ see DX Node for various commands
SLottime [port#] value (0 to 255)
SMTP Simple Mail Transfer Protocol
SNow Enables/disables changing screen only during retrace
SOrt Will sort up to 200 eighty byte records
STatus Displays some status information
SUspendtr Number of free bytes in input buffers below which
monitoring is turned off.
2-14
TABs ON/OFF Default is on
TACk Transport ACK delay (responsetime)
TBdelay Transport busy delay
TElnet Used to establish keyboard to keyboard connection
TFrames Send test frames
TImezone Allows entry of your time zone
TNatime Transport no activity timeout time
TOdo Causes the MSYSTODO.DAT file to be scanned
immediately
TPorts Enables/disables ports for TCP/IP
Trace25 Enables/disables trace of AX.25 state changes
TraceIP Enables/disables trace of TCP/IP state changes
TREtries Transport retries
TRUncate filename Adds CR/LF to files as needed
TS-HHMMSS TimeSet command - sets dos time to given value
(must be exactly 6 digits)
TTimeout Transport timeout (Net FRACK)
TXDelay [port#] value (0 to 255)
TXTail [port#] value (0 to 255)
TYpe Allows you to type a file
Users Writes out all users to file
VErifysysop [ON or OFF] Sysop verification when connected to BBS
VIdeo Displays or changes video monitor in use
WAtch Toggles watching of specified channel number
WBackgrnd Sets background color for specified window
WColors Gives list of colors and their numbers
WForegrnd Sets foreground color for specified window
WHo Displays current users/messages
Window Displays current window definitions
WPAge Sets page number to display specified window
WPEvery Specifies the number of days between sending out WP
information.
WQupdate Worst quality DESt route to record
WRecord # (window record) which sends all output to a disk file
WSize Specifies coordinates for specified window
W? Displays window number in upper left of each window
<Esc> Cancel partially typed command
Function key usage:
F1 through F4 select page to display (0 to 3 respectively)
F6 causes the following characters to the next return to be
treated as a command even if keyboard currently connected to some
other process (such as local bbs, etc.).
F8 key can be used to blank the screen.
Alt-F1 Alt-F2 Alt-F3 keys work like DOS F1 F2 and F3 commands to
retrieve/edit last sysop command typed.
Ctrl/F2 suspends activity on the monitor screen (F2).
Ctrl/F4 terminates MSYS as if QUIT command was used
Ctrl/F5 is the same as the PRocesses command
2-15
Ctrl/F6 assigns keyboard to command processor
Most commands give information on their usage if you type the
command name followed by a question mark. Example WS ?
2-16
MSYS SYSOP Commands #
(c) Copyright 1991 by HUB COMPUTERS, INC.
*comment Enables comment line from user to SYSOP
#msgs/use Displays total number of active msgs and known
users on BBS. The number of messages that can be on the bbs is
set by the mailsize program and the maximum number of users is
500.
@home On/Off If On, causes @bbs field of messages for
registered users of the system to be replaced with the home bbs
they gave with the NH command (the way it has been done in the
past). If Off, the @BBS field is not modified.
ABortfwd Aborts forwarding as soon as possible (not always
immediately). You may want to DISC the channel forwarding is
using (particularly if its trying to connect) to speed things
up.
ACceptmid On\Off If ON message ID string found on S command
will be used if present. If OFF or MID is missing, one will be
generated if BIDall is on.
ADDUser Format ADDUser callsign
This will allow the sysop to add a user callsign to the user file
without that station having to connect to the bbs. This can be
useful in conjunction with the automatic @BBS generation. After
the new user has been added you automatically will EUsers for the
callsign at which time you can fill in the desired fields.
APpend Sourcefile DEStfile
This command causes the source file to be appended to the
DEStination file. This command may be used to append a file to a
message file, among other more general uses.
ARChive @BBS filename
This command will concatenate all current msgs with @BBS given to
FILES/filename. No compression is done. Example: ARC
RLIBBS RLINOTES/JUNK (This assumes you have a RLINOTES subdirec-
tory in the FILES directory)
ARP Used without an argument lists the known callsign/IP
address correspondence determined by TElnet connects. An optional
argument, CLEAR, may be used to erase all of the ARP entries.
ARP add allows you to manually add (or put it in MSYS.DO) a sta-
tion (and up to eight digipeaters) to the arp list. Syntax: arp
add callsign port# ip-address [digi1 [digi2]]
Examples: arp add WA8BXN 0 44 70 4 8 K8OZ
arp add N8HSP 2 44.70.4.10 WB8CQR-5 WB8APD
You can put a / and a number after the IP address. For example,
you can say:
2-17
arp add W3AAA 1 44 80 1 1/24 K8AAA
This says that any ip frames going to an IP address with 44 80 1
in the left 24 bits should go to W3AAA (through K8AAA as a digi).
Thus the number after the / is the number of significant bits to
keep in comparisons.
ARP delete allows you to remove a single entry from the table.
Syntax: arp del callsign
Example: arp del N8HSP
ATtended When set to ON all forwarding is allowed. If off, ports
with radio speed of 300 will forward only those messages in which
the from call is the idcall (messages that you originate) or the
to station in the message is the station you would directly
connect to for forwarding. HF reverse forwarding is also inhibit-
ed if ATtended is OFF. Note that the regulations appear to allow
you to receive messages unattended. So if you don't have a STA
for HF turn AT OFF when you aren't there and remember to turn it
ON when you are. To be on the safe side, put ATtended OFF in your
MSYS.DO file should the system reboot when you aren't present.
AUTODESt ON/OFF Default OFF Add new DESts for known neighbors
AUTOHold On/Off This command specifies what should be done
with messages that contain in them R: lines with your Hierarchi-
cal bbs callsign (see HCA command). This normally indicates
that the message has passed your system before and probably
is in a routing loop. Currently such messages are held. AUTO-
Hold ON means to do this. If AUTOHold is OFF the messages will
not be held.
AUTOKill Kill all messages after forwarding.
AUTONode ON/OFF Default OFF Add new neighbors heard
AX25Backoff [Portmask] The rightmost bit is for port 0. A 1 bit
in a given port position causes the FRACK value for the port to
be multiplied by the retry number to determine how long to wait
before retransmitting packets that haven't been acked.
AX25L2v2 [port#] [On/Off]
AX.25 version 2 protocol:
Version 2 can be enabled for all ports or specified ports. Ver-
sion 1, the default, may be better for HF opertion.
BACkuptim Specifies the time to make backup of the mail file.
BADuser Takes an operand of ON or OFF. When ON,the calls in
the BUDCall list will be totally ignored by the system. Such
stations will not be able to connect to the system in any
way(AX.25 or TCPIP) and will not be digipeated. Do NOT use SSIDs
in this list so that the listed calls can be used to match any
incoming SSID the station may use. Try to avoid using this
facility unless really necessary as it does add some overhead in
2-18
the processing of every packet received. Hopefully stations that
misbehave will realize that they can be turned off and not
persist in their activity.
BBs Enter the BBS as a local user this command gets you into the
BBs as if you had connected to the BBS, with a few minor
differences. Of course while you are using the BBS other stations
can still connect as usual. When in the BBS you use the BBS
command set (B,C,D,H,I,J,K,L,M,N,P,R,S,U,V,W,X,?,*). If you use
the L command you will see all messages including the private
ones. Likewise you can Read and Kill private messages. Message
texts can be gotten from files by going through the steps of
sending a message: use the S command to give DEStination station
and @BBS, then the title, and then simply ^Z for the text. Then
do a LL 1 command to see the number assigned to the message.
Exit the BBS using the B command then use the COPY command to
copy a file to replace the empty file in the MAIL directory. For
example if the message was assigned a number of 123, then you
might use the command CO tempfile mail/msg123.dat. See the COpy
command below for more details of its use.
In the bbs from the local computer keyboard you can include a
file in the text of a message you are sending. After the Enter
Text line, before you do the ^Z, a line of the form \+\ filename
will include that file at that point in the message. Example:
SB ALL @ MSYS
My MSYS.DO file
Here is my msys.do file as an example:
\+\ msys.do
Do not use this file directly! 73 - Mike
^Z
You can specify a window number as an argument to the BB com-
mand. BB 0 will use the top half of the F1 screen for example.
If were in the BBS locally and leave it for some reason with
it still active and use the BB command you will return to your
previous session rather than starting a new one.
BBSNode [ON or OFF] If on and the node is enabled, the bbs will
appear as a node to the network (using the alias as the identifi-
er and the bbs call as the call). This way connects may be made
to the bbs directly from the network.
BBSTimeout #
Number of seconds of inactivity on bbs to disconnect user, de-
fault 300 seconds.
Note that when version 2 of the ax.25 protocol is enabled that no
activity for CHEck time no longer causes a disconnect.
BDigi - Lets you specify up to 8 digipeaters for beacons
(id,mail, btext) Can be different for each port.
Examples:
bd 4 digi1 digi2 sets digi1 and digi2 as digipeaters for
port 4 only
bd digia digib sets digia and digib for all ports
2-19
bd 5 clears digipeaters for port 5
BElloff on/off on makes it quiet, off is default
If BElloff is negative, keyboard connects and normal bell still
work. If BElloff is positive, no bells will sound. If BElloff is
zero, all bells work.
BIDall Manipulates bids in the BIDLIST.DAT file. The follow-
ing operands may be specified:
+ bidstring Adds given bidstring to bid file
- bidstring Deletes given bidstring
= bidstring Tells if given bidstring is present
# Tells number of active bids/mids
ON Enables bids for non-bulletins
OFF Disables bids for non-bulletins
BINterval seconds - Default 3600 - Nodes Broadcast interval
BMaxcon This command limits the maximum number of connects on a
port. BBS connects are exempted from the limit but count for
other users. Normal users get a BUSY response when over limit.
BM 1 allows 1 user per port. BM [port#] max BBS connects.
If a port is marked BBS ONLY (see BPports) the BMax
value specified limits the number of bbs connects. For non-bbs
only ports, the BMax value does not effect number of bbs con-
nects.
BOOT Boots computer (Remote sysop only) The correct reply to
the question asked by the boot command is Yes (case is
important).
BPorts This command is used to indicate which ports are BBS
ONLY connects. A one in the corresponding bit position makes a
port BBS ONLY. For example, BP 5 would only allow bbs con-
nects on ports 0 and 2. The default is no BBS only ports. If you
do use this command to make BBS only ports, you better be sure to
mark all the bbs stations with user flag of 2!
BText - Lets you specify 1 line of up to 80 characters of your
own beacon text. Can be different for each port.
BUDCalls Set or display the list of calls with SSID to be
monitored This command is used in conjunction with the BUDLIST
command below. As operands you give a list of callsigns, with
SSIDs, that are to be monitored. The calls should be separated
by blanks. To list the current setting of BUDCalls, type the
command with no operands. Examples:
budc w1xx w2xx-1 w2xx
budcalls K9XXX
budc
Note: their can be up to 10 calls.
BUDList To enable only those packets with calls in the BUDCalls
list to be monitored use the command BUDL on. To monitor packets
for all calls, use the command BUDL off. This is the default
2-20
setting.
CAllfile CAllfile for callbook lookup (Max 74 chars)
CHAnstat Displays status of a logical channel whose number is
given. This command requires an active channel number as
a parameter. Information about the channel will be displayed
in response to this command. The information includes the
Port number used, the call of the station connected to and a
status byte in hex.
CHEck Number of 1 second intervals of no activity to
disconnect. This command specifies the number of second
intervals after which if there has been no activity on a
channel a disconnect will automatically be generated. To see
what value is currently set, give the command with no
parameters.
CL B # Allows you to set the border color (used on all
screens). Use the WC command to see the color list. Default color
is black for the border. Any of the 16 color # (0-15) may be
used.
CLrscrn Clear window number given or * for clear all
windows. This command clears the window number given. If * is
given for the parameter, all windows are cleared. If no
parameters are given, then the command processor window is
cleared.
CMdwindow This command is used to change which window is used
by the command processor. The default command window is number
0 which by default is the upper half of display page 0. This
command is useful when you want a larger window (to type a file
for example) to be used by some command. The new window
is cleared automatically by this command. You will then get the
cmd: prompt. (page 0 =F1 page 1 = F2 etc.)
COpy Sourcepathname DEStpathname (include drive: if needed)
The copy command will return an error message if it isn't able
to copy all the records. Directories and wildcards can be used.
CRetries - Sets number of retries that there will be for forward
connect attempt
Cscript is a New form of the Connect command:
In addition to the usual C# form (like C0 ...) there is now a
connect command in which you do not specify a port number with
the C, nor do you give the call of the station to which you want
to connect, but rather give the name of a file that contains a
connect script to reach that station. The files must be in the
FWD directory and can have any name. The connect script is the
same format used in the forward file except that the first line
begins with C rather the other letters used in the forward file.
You can thus use the command
C HOME in which case in the FWD directory you would have a file
2-21
called HOME. An example of the contents of this file is
c0 wa8bxn
@olvgn
#120
+to
#180
+to
#300
+to
This example can be interpreted as follows. In the first line the
C means this is a connect script, port 0 is to be used for the
initial connect, and the ultimate destination is WA8BXN. The
second line says to make a connect to OLVGN (which is a network
node). The following . lines are commands sent to the node, the #
lines are times to wait for responses, and the +to lines indicate
the responses to look for that indicate success. See the descrip-
tions for forwarding scripts for more information on these var-
ious option.
Another simple example of what you could put in a connect script
file is
C0 WA8BXN
@WA8BXN V TOMSYS
That's the entire file; it is a simple way to put the digipeater
(TOMSYS) needed to reach the destination station (WA8BXN).
CTS Allows specification for each port if hardware handshaking
should be used with the TNC. If on, MSYS will suspend sending
data to the tnc when Clear to Send is not true. This will be
quite useful with AEA tncs which have problems when MSYS sends
packets too rapidly to them. Make sure you have the proper wires
in the cable between the computer and tnc, and that you have
your tnc configured properly if you try to use this option.
C# This command is used to connect to another station. The
letter C must be followed by a digit indicating the port number
to be used for the connection. This is followed by a space. Next
comes an optional window number to be used for the conversation.
Next comes the callsign of the station you want to connect to,
with SSID if needed. Following this can come Via and a list of
digipeaters to use, separated by commas.
Examples:
c1 w1xxx
c0 w2xxx v k2xxx
c2 k3xxx-2 v n4xxx-3,a5xxx
When you issue this command the screen to be used for the
conversation will be cleared and you will see a line "Enter
converse for channel # port #". When connection is made you will
get a message "*** Connection established to callsign". If the
attempt retries out (determined by the RETries value), you will
get the message "Quit converse for channel # because no
connect!". In this case the default CALL process window may show
2-22
"*** callsign busy" if this is why the connection could not be
made. Pressing any key before getting one of these messages will
abort the connect attempt and return you to the current command
processor window. When you are connected to a station, you type
lines to be sent to the other station and will see lines typed by
the other station. Once you begin typing a line it will not be
interrupted by lines from the other station until you press
return. To terminate the connection, type ^C, the letter D
(^CD) and press return. If you want to save what you are getting
on disk, press the \ key three times and then press return.
You will get the message "*** Capture file opened ***". All
lines you receive will be displayed as usual as well as being
written to the file CAPTURE.DAT.
When you turn capture on with the \\\ at the beginning of a
line, you can also specify a filename to be used in place of the
default CAPTURE.DAT. For example you can type \\\ junk.abc to
start capturing your conversation into the file JUNK.ABC. When
you have already turned capture on during a connection,if you
type something like \\\morejunk.xyz then the current capture file
will be closed and now your conversation will be saved in the
file MOREJUNK.XYZ. Three \followed by return will alternately
suspend and resume the capturing of lines to disk. When you
disconnect (or get disconnected) the capture file will be closed.
Note: That the default capture file name is always CAPTURE.DAT.
These files can be viewed by using the TYpe command or edited
with the EFile command You could for example connect to some
other BBS, read a message found there after turning on capture
and then use the capture file to replace a message text for one
of your own messages.This procedure is explained in more detail
for the BBs command above .
\+\ filename
That file will be sent to the station you are connected to as if
you typed it. Example:
\+\ files\stuff
would send the file called stuff from the files subdirectory.
DEBug Used to display or modify memory
Options for debug are: E segadr:disp allows you to modify memory
at the given address. D segadr:disp displays memory at the given
address. All numbers are in hex. Q gets you out of debug. Any
non hex input to E gets you out of E.
DELEfile This command is used to delete a file. You must give
as a parameter a single file path name with or without
wildcards. The parameter can contain a drive specification
and/or directory names for the given file.
DELUDays Specifies the number of days after which a user that has
not connected will automatically be deleted from the system.
Default is 100 days. Locked users (see bit list in EUser cmd),
BBS call signs and bad users are not automatically deleted.
DELUSer This command removes a user call from the BBS user
list. The callsign given as a parameter must match the a call
seen on the list produced by LUsers exactly (including
2-23
case). Use this command to REMove users that haven't been
active lately when you are getting near the capacity of the list
(currently 500 users). The last time a given station con-
nected to the BBS may be obtained by using the P command
while in the BBS.
DEST ADD [id:]destcall neighborcall neighborport obs# quality
Adds new DEStination
DEST REP [id:] destcall neighborcall neighborport obs# quality
Changes obs# & quality
DEST DEL [id:] destcall neighborcall neighborport Deletes DESt
through given neighbor
DFree This command displays the number of bytes free on a
disk. If no operands are given the space is for the default disk
(normally C). If a letter is given as a parameter, the number of
free bytes will be given for that drive. Be sure the drive is
ready before using this command. If its not and you get the DOS
error message, type I for ignore.
DIGipeats This command displays the list of digipeater defini-
tions.
DIRectory Displays directory for path specified Example DIR
mail\*.* This command displays a sorted directory listing. Only
the names of the files (or directories) are given, not the sizes.
To get the size of a file, use the FSize command described
below. Names of directories are enclosed in <>. If no argument is
given, you will get a directory for the current default
directory (normally C:MSYS). To list some other directory, give
the path to that directory and a file name of *.*. Other file
specifications can be given for a selective directory list. If
you include a drive specification in the pathname, be sure the
drive is ready before using this command. Examples:
dir mail\*.*
dir a:*.*
dir files\*.c
DISconnec This command can be used to force a disconnect on
the specified active channel. It will rarely be needed.
DOcmdfile This command is used to execute a command file.
DPorts mask (see MONPorts mask)
DRoute callsign port# [digi1 ... digi8]
DRoute DELete
The first form of this command allows you to specify the
TCP/IP station to which IP frames are routed by default (Default
Route). You specify as parameters the callsign of that station
(with SSID) and the port number used to reach that station.
Optionally up to 8 digipeaters can also be specified to be used
to reach that station.
The second form of this command allows you to turn off
default routing of IP frames.
2-24
If you do have a default route specified, then all incoming
IP frames that are not otherwise handled by existing ARP table
entries will be sent to the default station. This station will
also be used for any server functions you initiate (telnet for
example) to IP addresses that are not currently in your ARP
table. Care must be taken in deciding if this command is
appropriate to use in your particular situation.
DTimedate This command displays what the computer thinks the
current data and time is. To change it you unfortunately must
exit MSYS and use the appropriate DOS commands. Time is(hh:mm:ss)
DUmpbbs ON/OFF disconnect any bbs that has connected and uses a
command other than S or F. A bbs is defined as a station that
sends a SID ([...]) line. This is useful in cases where the two
bbs's get out of sync and message titles/text are being inter-
preted as commands.
DXCall callsign
where callsign is the call, with ssid, that will be used by the
DXNconnect command to connect to a PacketCluster station. If a
connect is made to this callsign, it will take the user directly
into the DX Node.
DXDiddle #
where # is the number of seconds of inactivity before a 'diddle'
packet is sent to connected dx node to keep connection estab-
lished.
DXNconnect scriptfilename
where scriptfilename is a connect script file found in the FWD
directory using the same format as the keyboard C scriptfile
command. Note that connection to only a single PacketCluster
station is allowed. Your DXCallsign must be enabled as a Packet-
Cluster node by the sysop of the node to which you will be con-
necting. The PacketCluster command that is used for this is the
SET/NODE command (not supported in MSYS DX Node).
DXPorts portmask
One bits enable use of the DX node on that port. Rightmost bit is
Port 0.
DXRestore
Reads the last recorded DX spotting and WWV information. If the
current maximum number of DX spots or WWV reports (as set by the
DXSTart command) differs from the values in effect when the info
was last stored this command will have no effect. This command
should probably be put in MSYS.DO after the DXSTart command if
the DXNode is to be enabled.
DXSAve
Records the current DX Spotting and WWV information in a file
called DXNODE.DAT. This function is done automatically when a
QUIT command is issued if the DX Node has been started.
2-25
DXSTart #nodes #users #dxspots #wwv
where
#nodes is max nodes in DX network (default 25)
#users is max users in DX network (default 100)
#dxspots is number of DX spots to be recorded (default 20)
#wwv is number of WWV reports to be recorded (default 5)
EDit filename - screen editor for files. Escape gets to command
mode, do help for command list.
EFile This command is used to edit an ASCII file with re-
cords <= 80 bytes in length. At least one operand is required
which is the pathname to the file you want to edit. A second
operand may optionally be given that gives the size of the
work area in lines to be allocated (default is 200). See the
separate documentation for EDITFILE for more information on the
editor.
EMsghdr This command allows you to edit the fields of a
message header. One operand is required which is the message
number to edit. This command also automatically sets the message
length to the actual size of the associated message file. This
is useful when you have replaced a message file with some other
file as described above. This command is also useful to change
the status of messages to ALL (or others) that have not been
marked as being read (but actually have been) so that they don't
appear in the MAIL FOR list sent out with each ID. If you press
Esc when editing you will skip the current and remaining fields
and see the header again. This allows you to bypass having
to press return for all the fields you don't want to change. If
you place a string of characters that begins with a period after
the message number, it will be appended to the existing @BBS
field of the given message. Thus if the @BBS of msg 123 was
WA8BXN then EM 123 .NTSOH would cause the @BBS field of msg 123
to become WA8BXN.NTSOH. If you type a blank for the BID field the
Bid is cleared entirely (you still need to get rid of the $ in
the type).
EUser Edits specified user
Display the meanings of the possible flags bits.
F2 Time # is the number of seconds to continue displaying
monitored packets after F2 (function key) was last pressed. The
default is 600 seconds (10 minutes). Thus 10 minutes after you
last press F2 monitoring will be turned off until you press F2
again. If you set F2 to 0 this function will be turned off.
FBbstimes [Port#-] Allows specification of hours bbs is full
function. Times for full bbs use allowed to all ports is required
not optional.
FCall This command finds the channel associated with a call-
sign. The single required operand is a callsign without SSID. All
channels in use by that callsign (with any SSID) will be dis-
played giving the Port, process number and name and complete
2-26
callsign (with SSID). This can be useful when you were in the
middle of a conversation with some station (and still connected)
but switched the keyboard to some other process (maybe the com-
mand processor) and now want to get back to that conversation.
Use the KEyboard command with the appropriate process number to
do so.
FFile (find file) When you give it a file name pattern and
optionally starting path location and it will list all files
that match the pattern. The following would find all files that
have the extension .DAT on your C: disk
FF *.DAT C:/
The output from this command gives the date, time, size and
complete path names for all files that match the search
specification.
FIle - converts specified msg number into file name given.
(msg# filename.)
This command removes the forwarding lines at the beginning of the
file it creates. If you really want to keep them, use an
appropriate rename command instead.
FMsg pattern-string Searches all messages in MAIL.BAK directory
for given pattern string. For example, to find messages that
refer to hurricanes you might type FM hurricane
FOrward This command causes forwarding to begin immediately if
it is not currently going on. You might want to use this command
when you have just entered a new message with an @BBS specifica-
tion that you want sent out now. FO [callsign] of a single sta-
tion to immediately forward to. This must match the callsign
(including SSID) found on the F line in the forward file.
FRAck This commands allows you to set or display the number
of seconds to wait for an acknowledgment to arrive for a packet
that is sent out. If it doesn't arrive within the number of
seconds specified the packet will be retransmitted. The retry
count for the channel will also be incremented. Making this
parameter to small will congest the channel and cause unwarranted
disconnects. The default is 6 seconds. If in doubt, error on the
high side! (port number optional)
FREE This command allows you to immediately release an
allocated channel. The process using the channel will see
this as a disconnect. This command will not be needed
very often. Disconnecting which frees the channel will auto-
matically occur after the CHEck interval has expired with no
activity.
FSize This command can be used to determine the size of a
disk file. One operand is required which is the pathname to the
file you want the size of. It may include a drive specification
and directory paths in addition to the file name. Wild cards are
not allowed. Be sure the drive containing the file is ready
before using this command.
2-27
FTIme This command sets the time in minutes after the hour
that forwarding will start. If time is negative number such as -5
then you will forward every 5 minutes
FTPgm Takes a host-id as an argument (it can be either an
IP address in the square brackets or a symbolic IP address).
It establishes a connection to the FTP server of the speci-
fied system. FTP is the File Transfer Protocol used in TCP/IP.
FUllduplex Used on the specified ports if set to ON. This may
be useful for satellite operation or with fullduplex repeaters.
Examples:
FU ON turns full duplex on for all ports
FU 2 OFF turns full duplex off for port 2
GEtmsgotd This command causes the Message of the day file
(MSYS.OTD) to be read and displayed. The Message of the day is
sent to all stations connecting to the BBS. You can create
and/or change this file using the EFile command. Keep the con-
tents short!
GRep (filename pattern) will search the given file for the
specified pattern, displaying lines that match. Case is ignored
in the search.
HApnstat
HCAll This command allows you to properly specify your bbs
hierarchical callsign. This is the callsign put in the R: lines
of messages as they pass through your system. If you don't
give this a value, your ID callsign will be used. Hint: if you
run more than one copy of msys for some reason and pass
messages between the two systems, make your HCAll slightly
different on each. I might use for example WA8BXN.OH.USA
on one and WA8BXN.OH.USA.NA on the other. This will pre-
vent unnecessary holding (or deleting, see OLdbids) of mes-
sages validly passed from one system to the other.
HCLean This command allows you to automatically delete speci-
fied messages every day at specified time. (see MSYS.HCL) Oper-
ands are:
HCL - <no operand> shows time in minutes after 00:00
(midnight) that housecleaning happens.
HCL? - Gives a short description
HCL# -Sets the time for housecleaning in minutes after
00:00 (midnight)
HCL NOW - Manually initiates housecleaning
HEard # The J heard list recording is turned off if the number
of dispatches per second in the last minute is less than the
number given. Default value is 3100 which j heard recording. J
Heard list recording takes quite a bit of computation for every
packet heard. This command was added to speed things up on slower
computers. (you might want to use a value of 10)
2-28
Help This command lists the names of the available commands
with the required part of the command name in capital letters.
HOLdlevel Parameter is a number which if the sum of word weights
matched in message exceeds the value the message is held. Because
of this new command, the HOStname command now requires the first
3 letters be used.
HOStname TCP/IP HOSTNAME
HReplace This command selects adding to end of existing
hierarchical @BBS field info from BBSTONTS.DAT file (if HRep is
off) or replacing anything past the first part with the
information from the BBSTONTS.DAT file (if HREP is ON). Note that
if some msys knows how to forward from some existing part of the
@BBS field, no changes are made to it.
ID * This command will send out an ID on all the ports
immediately. You might use it to see if all your radios go into
transmit as they should. It also will send out the MAIL FOR list.
The text of the ID is not displayed at this time, but is shown
once during initialization. Nothing is displayed by the automatic
IDs sent out (on the F1 screen). To see what mail is outstanding
for local users, type ID. To really force an ID to be sent, type
ID *
IGNORE on/off Off is default
When on calls in the budcalls list will not be monitored
INitpr command allows you to specify if printer should be ini-
tialized before each file is printed. Set it to ON if you need
the initialization. If you need to press buttons (to select draft
or letter quality mode for example) that you don't want cleared
before each file, set it to OFF.
IPNCheck # Inactivity timeout in seconds, default 600.
IPNFrack # Retry timer in seconds, default 30.
IPNRetry # Retries, default 5.
IPTtl # Where number is the time to live. Default is 16.
JBbs Lists PBBS'S heard and their paths
JDigipeat Lists Digipeaters heard and their paths
JD command screens out funny callsigns.
JD command also lists callsigns with /R in id.
JGateways Lists Gateways heard and their paths
JHeard Lists stations heard and those connected to BBS or PBBS
This command gives a list of the last 10 stations that were
heard on the ports or connected to the BBS or PBBS.
2-29
JKanodes Lists KA Nodes heard and their paths
JMsys Lists other MSYS systems heard.
JNetrom Lists NET/ROM nodes heard and their paths
These commands give the PBBS systems, KA Nodes and others
that have been heard on the ports. A BBS is a system that sends
out a beacon that contains /B after what looks something like a
callsign. A KA NODe is identified by /N in its beacon to ID. For
both of these commands the date, time, callsign and path are
given. This pair of commands is useful to identify the PBBS that
goes with a given KA NODe. The Net nodes are also included. The
real call for such nodes are given in []. Real Netroms get the
real call in {}.
JTcp/ip List TCP/IP stations and their addresses
KEyboard The KEyboard command allows you to manually reassign
the keyboard. As a parameter you give the channel number of
the process you want to have the keyboard. You can get
the channel number from the lower right part of the F1 screen. To
get the keyboard back to the command processor so you can
issue this command either press ^F6 to assign the keyboard
to the command processor or press F6 to temporarily send
keyboard input to the command process up to and including
the next return key.
When you press a key, it is placed in the input buffer of
the process to which the keyboard is logically connected.
Initially this is the command process. When you give certain
commands (such as BB, PB, C) the keyboard will be assigned to the
new process created for the command. When the process is
terminated, the keyboard is automatically assigned back to the
command scheduler.
KILLproc Abort specified process number (Can be hazardous!)
Never use this command to kill a permanent process. Better yet,
just don't use this command!
KPorts mask (see MONPorts)
These commands allow you to selectively disable the K NODe on
any ports or use of the ID call as a digipeater (DPorts) on any
ports. The mask works just like the port mask for the
MONPorts cmd. A 1 bit enables the corresponding port, with the
rightmost bit corresponding to port 0. These commands will be
most useful for HF operations if you don't want the K NODe to be
accessible to or from the HF port, for example.
LCount This command counts the number of lines, characters and
words in a given file. (LC filename with path)
LOCKkbd This command "locks" the keyboard so that any keys
pressed are ignored. I put it in for two reasons. First, I am
getting RF into my keyboard from HF radios and it generates
random characters. Second, my 3 year old son sometimes likes to
2-30
press the keys. To "unlock" the keyboard, simply type lock again
(no CR needed this time). When unlocking the keyboard, "lock"
must be all LOWER case.
LOGclose This command closes the log file, renames it to form of
yymmdd.LOG and then opens a new log file.
LUsers Use this command to see who has connected and
more importantly how many users are in the user file since it can
hold only 500 users currently. LU takes an optional argument
to list users flagged as BAD, EXPert, LIMited, LOCked, XFAst
and BBS system. Example: LU EXP
MAKEPriva On/off {sets/resets making messages private by default}
MAStersrv Specifies the master WP server (default is
AD8I.OH.USA.NA and probably shouldn't be changed).
If MAS is set to NONE, no WP messages will be sent.
MAXBullag command may be used to discard bulletins older than a
specified amount as soon as they are received. Default age is
32000. A reasonable value might be 21 days. Bulletin age is
determined by the date on the last R: line found in the bulletin.
If MAXBullage is set to a negative number, bulletins older than
the number given (in days) will be held rather than discarded.
MAXFrames Display or change number of frames sent before ACK rcvd
MAXRead - specifies maximum size message that can be read or file
that can be downloaded.
MCForward [port mask] Allows you to control Multiple Connections
during Forwarding. The operand for this command is a port bit
mask. Default is all 1's in the mask which allows forwarding to
go on as in previous versions. If a particular port has its bit
set to 0, then forwarding on that port is counted as a bbs con-
nect on that port. Thus if you have BMaxcon set to 1 for that
port and you are forwarding on that port, a bbs connect will not
be allowed (since you are already using the port). Also, if there
are already BMaxcon bbs connections for that port forwarding will
be bypassed for that port. Careful use of these commands should
reduce the congestion on HF forwarding as you now have complete
control over the level of multiconnection for both bbs and for-
warding activities combined.
In the portmask argument you put 1's in the ports on which you
want forwarding to be counted as a BBS connect. Using MCF along
with BM (and BP if you have marked any stations as BBSs), allows
you to limit a given port to a single bbs connect or forward at a
time. If you want this on port 0, use the following:
MCF $FE
BM 1 1
BP $01
MCOn specifies number of connects allowed to the sysop keyboard
at one time if MCon 1, only allows an incoming call to the key
2-31
board to be answered if there are no other keyboard connections.
MCOn 0 prevents all incoming keyboard requests.
MDir Makes specified directory
MEMory Display amount of memory free
MERGE (no parameters, except for ? for info).
This command reads MSYSFWD.DEF and copies it to MSYS.FWD,
expanding any include files ($filename). A new file is also
produced,MSYS.BBS that is a sorted list of all possible BBS's
that can be forwarded to (including things like ARRL, 44*, etc).
This command was added for 2 reasons: previously, if there were
any include files in the MSYS.FWD files they did not get read
when a PF command was used and secondly, the new file is needed
for hierarchical forwarding. The leftmost part of the
hierarchical route only is used for forwarding and the
contents of the new file were needed for efficient processing.
So, the bottom line is rename your existing MSYS.FWD file to
MSYSFWD.DEF and then use the MERGE command. Any future changes
you make to your forward file must be done to MSYSFWD.DEF
followed by use of the MERGE command. Its called MERGE be-
cause it merges in the include files by the way.
MEXpert [On/Off]If on, the message of the day will be displayed
to all non-bbs marked stations. If off, it will only be dis-
played to non-expert, non-bbs stations.
MHclear [letter [port or B]] clears the various J heard lists
MH clears everything
MH D clears all digi's heard
MH D 1 clears digi's heard on port 1
letters are HBKDN or G (Heard, Bbs's, K Nodes, Digi's,
Netroms)
MIDchar Message ID indicator (max 4 chars)
MINmem Allows specification of the minimum free memory as re-
ported by the MEM for which a new connect request will be accept-
ed. Default is 32000. Values less than 16000 probably will be
disastrous.
MISsing Reports number of times forwarding aborted due to
missing text file
MONBframe Enable/disable monitoring of Beacon (UI) frames
MONIFrame Enable/disable monitoring of Information frames
MONITor This is the master command for monitoring packets
heard. If this is set to OFF then there will be no monitoring.
If set to ON then the types of packets selected will be monitored
for calls as selected by BUDCalls on the ports set by MONPorts.
2-32
MONOutgoi Enable/disable display of outgoing frames
MONPorts Select which ports to monitor (bit string, LSB=port 0)
This command if given no argument displays which ports are to
be monitored (all defined ones by default). If an number is
given for an argument, its bit pattern determines which ports
will be monitored. The rightmost bit corresponds to port 0. A one
bit enables a channel for monitoring.
MONSframe Enable/disable monitoring of Supervisory frames
MONSTats enables/disables recording of channel stats. Defaults
to OFF.
MONUframe This group of commands determines which kind of frames
will be monitored. If no operand is given, then the current
setting of the variable will be displayed. If a single parameter
is given (either ON or OFF), then the variable will be given
that value.
MONxx - Replaces MONCC, MONCF etc - now can specify any hex
value for PIDs to ignore on screen 2 monitoring
MSgtrailer If on when a message is read on the bbs (except with
RN or RE) a line is sent at the end of the message indicating its
number and who it was from.
MYAlias - display or change bbs alias callsign
MYBbs - display or change bbs primary callsign
MYCall This command displays your keyboard callsign if there
is no argument, or sets the keyboard callsign (used to
connect and respond to connects) to the call given as an argu-
ment (including SSID).
MYIpaddr - Takes four integers in the range 0 to 255. It sets
the IP address that the system will respond to. Example: MYI 44
70 4 6 If MYIpaddress is not specified, or set to all
zeros, the TCP/IP support will be inactive.
MYKnode - display or change K NODe callsign
MYTcpcall - Display or change a callsign (with SSID) that
will be used when sending arp and TCP/IP frames. It can be the
same as the ID call in most cases.
NDwindow # Default - 4 Net default window size (frames)
NETBbs ON/OFF Default ON Enable BBS cmd in net NODe
NETCon ON/OFF Default ON Enable connect cmd in net NODe
NETFbbstime [Port#-] Allows specification of hours bbs is full
function. Times for full bbs use allowed to all ports is required
2-33
not optional.
NETNode ON/OFF Enables the Net Node
NETOnly This command is used to indicate if BBSs only or any
stations can connect to the BBS via the network. If ON, only BBSs
are allowed to connect via the network. If OFF, then any station
can connect to BBS via network.
NETRead - specifies maximum size message that can be read or file
that can be downloaded.
NETTalk ON/OFF Default ON Enable Talk cmd in net NODe
NEWUser # allows you to set the initial user flags for all
new users (see EUuser command for the bit position meanings).
Thus you can choose to make new users limited (or I suppose
for a closed board, "bad users") until they identify them-
selves somehow.
NInfo Gives net NODe status
NNode This command takes you into the NODe as if you had
connected to it. When in the NODe you can issue sysop commands
if you need to by putting \ in front of them as you can in the
BBS. Particularly useful are the NODe, DEStination and REMove
commands when in the NODe to modify neighbor nodes and DEStina-
tion nodes.
NODETimeout # Number of seconds of inactivity on network node or
K node at command prompt to disconnect user. Default is 300
seconds (5 minutes).
NOBEacons [port mask] If a given port is set to 1 then there will
be no ID, mail for, or BText beacons.
NOBUlls On/Off When on, no bulletins will be forwarded
during normal forwarding . Useful in clearing backlog of mes-
sages, particularly during earthquakes and hurricanes!
NODe SEnd Force known DESt transmission
" SAve Write net NODe Database to disk
" REStore Read net NODe Database from disk
" ADD call port qual [digis] Adds neighbor NODe
" REP call port qual [digis] Changes quality of
neighbor NODe
" DEL call port Deletes neighbor nodes & its DESts
NPorts portmask (see monitor ports) Defaults 0 Ports to
which nodes broadcast
NRCall callsign Sets net NODe callsign
NRId mnemonic Sets net NODe mnemonic identifier
2-34
NTtl # Default 64 Network time to live (max hops)
OCInit # Default 6 Initial obsolescence count
OCMmin # Default 10 Minimum obsolescence to broadcast
OCM is settable for each port
PAClen - specifies maximum number of bytes that are put in a
packet before it is sent. Return also sends current packet.
PATh - displays information about given user callsign (same
as P on BBS)
PForward - displays information about given bbs callsign (same
as PF on BBS)
PIng (destination) Where destination is either an IP address like
[44.70.4.6.] or a mnemonic defined in MSYSHOST.NET. The reply
comes in window 2 (where the connect and disconnect messages
appear)and gives the round trip time in seconds.
PMessage message# - This will print the given message. If you
have MAIL.BAK as a directory then the file MAIL.BAK/MSG###.DAT
will be printed. This will look nice. If you don't, then
MAIL/MSG###.DAT will be printed. This will be only the message
text. This command just makes it easier to print a message than
using the PRInt command.
POrts - Various information is given by this command.
Interesting to look at but may not be very useful. POrt can have
operand on/off. When off a port will not respond to the id
callsign (with any SSID) and will no longer digipeat or be
usable from the K NODe. BBS will not id unless you use it. Id
will be very short if it has to id (no text for the UI frame).If
you call a station with the port off this will still work
because incoming packets from that station don't include a con-
nect packet.
The POrts command will take a single parameter (ON or OFF) in
addition to POrt port# ON/OFF. With just the single parameter,
all ports are turned on or off. Useful when you want to shut down
the system. PO OFF allows the current users to finish while
preventing further connects.
PPersist [port#] value (255 to 0)
PQuality [port#] # Default 192 Quality for nodes hear on port
PRInt Prints a file (on printer)
The argument is the pathname to the file to print. Make sure the
drive is ready before using this command. Make sure the
printer is ready (and exists) before using this command. Printing
is done to LPT1: via BIOS calls. This command will queue up to 25
print requests. Print with no operands lists the files in the
queue.
PROcesses This command displays for each active process its
2-35
number, program running for that process, an integer parameter
passed to the process (usually a port or channel number), the
least amount of memory left in the stack for the process (la-
beled SPmin), and the window used for output by the
process. Of particular importance is SPmin if the system does
bizarre things. If this number is less than say 100 the stack
is too small. If its a negative number, you have problems for
sure!
PRTmsgs on/off Enables printing of incoming messages as they
are received.
PWindow If given one parameter this command displays the name
and window used by the given process number. If two numbers are
given as parameters, the first is the process and the second
number is the window number to assign to that process.
QUIT After you use QUIT command (or CTRL/F4) the screen is
cleared. JK etc information is saved when you do a QUIT and
reloaded when bbs is started again.
RDir REMove specified directory
Readbackup # Command allows you to read a message in the
MAIL.BAK directory (if it exists). Example:
cmd: R 12345
REMove DESt callsign Deletes DESt through all neighbors
REName Oldpathname newpathname (must be on same drive)
REPlaces Reads bbs call/@bbs replace file
RESpons # Where # is the number of seconds to wait before
sending out a response. This is the T2 timer value in the ax.25
spec. If you set RES to 0 it will work the old way, always
sending out a response to each I frame received as soon as
possible. With non-zero values for RES, the responses are
held,the latest one replacing any one being held, until no I
frames have been received for the time given. It then sends
out its response. RESponstime can be set for individual ports.
REtries Displays or sets number of retries before disconnecting
REQDIR ON/OFF enables Request directory server
REQFIL ON/OFF enables Request File server
REQMaxfil is used to set a limit on the size of files that may be
requested from the REQFIL server and also the files that will be
displayed in REQDIR requests. The default is 5000 which is proba-
bly too high.
REQQTH ON/OFF enables Request QTH server
2-36
RUn that allows you a DOS program with many limitations. For
those of you who have asked for some sort of DOS shell capabil-
ity you may recall I have said it can't be done. But some of you
said all you needed to do was output 8 bits to some port or
something like that. Well if you have something VERY SIMPLE and
VERY SMALL and very QUICK here is something that should work for
you. Note: You must follow all of the rules given here or very
strange things might happen for which I claim no responsibili-
ty. If you use the RUn command and it doesn't work it is clear-
ly you who have made the error! Here are the rules for programs
you might consider using with the run command (if you don't
understand these rules or aren't sure your program complies with
them, don't run it!):
1. Program must be small (I'd say under 10K, if you get a
message that says not enough memory, the program is too big.
2. Program must be in default msys directory.
3. Program must be fast. If runs much over 1 minute the
system will reboot. While it is running no packets will be
transmitted of any kind.
4. Programs must not use any of the "standard" pre-opened
files. Console I/O must be done using ROM BIOS only. If you open
any files, you must close them. If you get any memory, you must
free it. If you change anything in the computer you must put it
back for the most part.
5. You should write your programs in either assembly
language or C. Here is an example of a C program that is suitable
for framing (I mean execution using the RUn command):
#include <stdio.h>
#include <stdlib.h>
main(int argc, char *argv[])
{
int i;
char *path;
path = getenv("PATH");
for (i=0;i<argc;i++)
cprintf("argv[%d] is '%s'\n",i,argv[i]);
if (path) cprintf("Path = '%s'\n",path);
exit(1);/* You didn't expect this to do anything useful I hope*/
}
SCreensave # If the number given is zero (which is the default)
the screen will not be blanked automatically. The method used to
blank the screen will work with all display cards (the screen
content is saved and then blanks are written to the screen). When
you press a key to unblank the screen you will always get to
screen 1 (the one you get with the F1 key).
SEnd Parameters are an active channel number and the text of
the message to send. The text is prefixed with "MESSAGE FROM
SYSOP AT id-callsign". Use this to give helpful hints to users
you see that are in trouble with the commands they are trying to
use.
2-37
SHow/ The various SHow, user commands for the DX Node that can
be used as sysop commands (see DX Node).
SLottime [port#] value (0 to 255)
SMTP Allows local access to the SMTP server (mainly for test
purposes). The data channel port number for SMTP transfers is not
correctly displayed. It does not affect operation and may be
fixed in a future release.
SNow If you have a CGA adapter and there is a lot of snow
during screen changes (particularly when changing display pages
with F1-F4) and you don't like it, set SNow to ON. Otherwise
leave it off and the display will run faster.
SOrt - (filename) Useful to sort your forward include files in
the /fwd directory so you can find things there more easily. Will
sort up to 200 eighty byte records.
STatus I put this one in for my own debugging (like some of
the other information displays). The current time is in
something like seconds since midnight of 1900. If any channels
are open you will learn very little by what you see, but state 5
is the normal connected state number. The next to last part of
this display is somewhat important. FREE is what is currently
free in the buffer used to get characters from the TNC (an
interrupt driven routine is used). LEAST is the smallest
amount of space that was available. If least is small (say
less than 100) you've got some real problems. I don't think I've
ever seen it go below 3000. If it is small it means that
characters are coming from the TNC faster than they are being
processed. You might try a lower baud rate between the computer
and TNC but this probably won't really help the situation much.
Dispatches per second is how many times per second each proc-
ess was given control of the CPU. If this goes to zero I'd
worry a lot!Note: will only display information for real ports.
The STatus command may be given the operand RESET which
resets the least free values to 4096, the other counters (over-
run, framing and discarded) to zero. It also copies the lat
minute dispatches to min and max. Also added to the STatus com-
mand is display of the average number of dispatches per second
since msys was started.
RESET - clears forward abort msg as well as all counters
Channels - gives status for active channels only
Ints - give counts of interrupts
Stats - gives port statistics
SUspendtrace # Where # is the number of free bytes in the
input buffers below which the monitoring is turned off. There is
1 buffer of 4096 bytes for each serial port (tnc). The amount
free at any time is given by the STatus command. When the free
space gets less than the SU value, F2 monitoring is turned off to
allow things to get processed more quickly. Default value is 2000
bytes. Again, F2 displays take a lot of time and when the system
2-38
gets behind it is a good idea to turn off the updating of the
display. When the free space in all the buffers goes above the SU
value tracing is turned back on (unless otherwise suspended).
This function can be effectively disabled by setting SU to 0 and
then it will work as before.
TABs ON/OFF (when on tabs are expanded on local display; when off
a tab shows up as ^I). Default is ON.
TACK sec Default 3 Transport ACK delay (responsetime)
TBdelay seconds Default 180 Transport busy delay
TElnet Takes an IP address and optional server number as
parameters.
Examples: TE [44.70.4.10]
te hsp (hsp would have to be defined in
MSYSHOST.NET)
To allow Telnet access to the bbs, you must modify the entries
in your MSYSHOST.NET file. Basically you must add the call
(without SSID) in square brackets of those stations that are to
be allowed bbs access. Example:
44.70.4.5 eiw K8EIW #this IP address would not have access to the BBS
44.70.4.32 [k8eiw] don #this IP address would have access to the BBS
Note: You can use any case within the [], do NOT use any SSID's!
TFrames - Port# send test frames on a given port
TImezone - Allows entry of your time zone. Set timezone GMT to
all caps to get lower case z on message time R: lines.
TNatime seconds Default 600 Transport no activity timeout time
TOdo Causes the MSYSTODO.DAT file to be scanned immediately,
doing anything it is time to do and also setting the time of the
next thing to do. BE SURE TO USE THIS COMMAND EVERY TIME YOU
CHANGE MSYSTODO.DAT!
TPorts Takes a port mask value as an argument. This number is
used the same way as in the other similar commands: each port
corresponds to a port (port 0 is the rightmost bit) and when the
bit is set to 1 for a given port that port is available for
TCP/IP use (particularly ARP broadcasts).
Trace25 Here the parameters are on or off and if you set
it on you will get more stuff that you can't understand faster
than you ever wanted to see it!
TraceIP Enables/disables trace of TCP/IP
TREtries # Default 3 Transport retries
TRUncate filename Adds CR/LF to files as needed to make lines no
longer than 80 characters so it can be editted with ED command.
2-39
TS-HHMMSS TimeSet command - sets dos time to given value
(must be exactly 6 digits)
TTimeout seconds Default 60 Transport timeout (Net FRACK)
TXDelay [port#] value (0 to 255)
TXTail [port#] value (0 to 255) This should be used with
TNC-2 clone tncs (any tnc that uses hardware switches to set baud
rate going to radio) when on HF. Without this parameter the tnc
keys up on the transmitter before the complete packet is sent. Try
a value of 20 as a starting point.
TYpe Allows you to type a file. Use spacebar to stop/start
and a control Z or A to abort.
Users filename - writes out all users info to file
VErifysysop [ON or OFF] If on then whenever any variation of the
id call is used to connect to the bbs (except from the local
keyboard) then 4 characters from the remote sysop phrase must be
entered.
VIdeo You can change the monitor you want to use while the
system is running (using COLOR or MONOCHROME as a parameter).
I've got both connected to my systems here (at the same time)
so it is meaningful to switch back and forth on rare occasions
(like to see if it works). You probably ought to specify the one
you want to use in your MSYS.OPT file and not otherwise use this
command.
WAtch This command allows you to see all that occurs in
both directions for the channel you specify. Watching is turned
off when the channel is closed or you use the WAtch command a
second time for that same channel. The lines that go to the
screen are not labeled in any way, they are just sent to the
screen. If you WAtch more than one channel at a time it will
work but you may wonder which line came from which channel.
Using watch may have some side effects like resetting the
window being used by the process using the channel you have
selected. That's a "feature" of this program and will not be
corrected!
WBackgrnd This command requires two parameters to set back-
ground color: Window# and Color#. The color number should be
between 0 and 7.
WColors Gives list of color names and their numbers
WForegrnd This command requires two parameters to set fore-
ground color: Window# and Color#. The color number should be
between 0 and 15.
WHo Displays current users and messages (Remote SYSOP only)
Window Use of this command is a good way to see what numbers
2-40
mean in the various window definition commands.
WPAge This command requires two parameters to set page
number: Window# and Page#. The page number must currently be
between 0 and 3.
WPEvery Specifies the number of days between sending out
WP information for users who haven't changed their informa-
tion. Default is 60 days.
WQupdate # Default 1 Worst quality DESt route to record
WRecord # (window record) which sends all output to a disk file.
The command format is WRecord window# The first time use the
command for a given window it begins recording everything sent to
that window in a file called windowN.dat where N is the window
number. The second time you use the command for the same window
it turns off recording for that window. Using the command with no
operands displays the status of recording. NOTE: This function
produces a lot of disk output quickly. It can fill up your disk.
It also slows down the system a fair amount due to all the disk
writes. This command was added for debugging purposes and should
not be used as a general purpose capture command. You can deter-
mine the window numbers by using the W? command.
WSize Specifies coordinates for specified window
This command requires 5 parameters. The first is the window#
being defined. The remaining parameters are two pairs of numbers
giving the upper left and lower right corners of the window. The
pair is column number (1,80) then row number (1 to 25).
Overlapping windows may produce amusing results. To specify
window 3 as being the entire screen the following command may be
used: WS 3 1 1 80 25
W? Use of this command is the easiest way to find out
which window is which!
<Esc> Cancel partially typed command
Function key usage:
F1 through F4 select page to display (0 to 3 respectively)
F6 causes the following characters to the next return to be
treated as a command even if keyboard currently connected to some
other process (such as local bbs, etc.).
F8 key can be used to blank the screen. Pressing any other key
will unblank the screen. A new sysop command is also added that
allows you to specify the number of minutes after last keystroke
to blank the screen automatically:
Alt-F1 Alt-F2 Alt-F3 keys work like DOS F1 F2 and F3 commands to
retrieve/edit last sysop command typed.
2-41
Ctrl/F2 suspends activity on the monitor screen. ^F2
restores normal operation. This is probably as close as being
able to
scroll the F2 screen that I will be implementing.
Ctrl/F4 terminates MSYS as if QUIT command was used
Ctrl/F5 is the same as the PRocesses command
Ctrl/F6 assigns keyboard to command processor
Most commands give information on their usage if you type command
name followed by a question mark. Example WS ?
2-42
MSYS BBS Commands #
(c) Copyright 1991 by HUB COMPUTERS, INC.
A - Abort N - Enter name/qth
B - Bye P - Path to station
C - Conference/DX R - Read message
D - Download S - Send Message
G - Search file T -Talk to sysop
H - Help W - What files
I - Information V - Version
J - Calls heard X - Expert-Mode
K - Kill message U - Current users
L - List Messages ?x- Info about command
M - Message of the day * - Comment line
The A (abort) command to the BBS. It can be used to abort output
from most bbs commands, like Download, List and Read.
The Bye command disconnects you from the BBS. Use it when you are
done!
The CC command allows sending a "Carbon Copy" of a given message
to other stations. Only the originator of the msg or the Sysop
can do this for a given msg. Syntax is:
CC msg# call1@BBS1; call2@bbs2 ...
The @bbs parts are optional if the calls are users of your sys-
tem. Example:
cc 4725 k8eiw@wb8bii; no8m
An alternate syntax for this command is:
CC msg# <filename
Where filename does not include a file type (.DIS is automatical-
ly appended). This file contains tocalls (and optionally @BBS) of
the stations that should get the copies. There is one call per
line of the file. Example:
CC 3195 <locals
The file LOCALS.DIS could contain
k8eiw @ wb8bii
NO8M
The Conference command is used to enter the DX Node from the BBS.
The DX Node can also be entered by connecting directly to the DX
Node callsign (see DXCall command). When in the BBS itself, the
SH/ family of DX Node commands may be used without leaving the
BBS (SH/DX for example). The command syntax used once in the DX
Node is patterened after the commands familiar to PacketCluster
users. The H command gives a list of the user commands and a
brief description of each. Its output is similar to that shown
below:
DX Node commands
Bye Disconnects from DX Node
BBS Returns to BBS
Conference Enters local conference
3-43
DX freq dxcall comments Enters given data as DX spot
SH/CL Lists basic stats about DX network
SH/COnfig Lists DX nodes in network and users
on each
SH/Dx Lists last 5 DX spots
SH/Dx/# Lists given number of DX spots
SH/Users Lists local DX node users
SH/WWV Lists WWV reports (up to 5)
Talk callsign Sends following lines to given user
call
Talk callsign msg Sends single line msg to given user
call
WWV SFI=# A=# K=# comments Enters given data as WWV report
Bye Disconnects from DX Node. A regular disconnect also
works.
BBS Leave DX Node and go to BBS (even if original connect was
into DX node call directly)
Conference Enters local conference. Following lines typed will
be sent to all stations in the local conference. Control-Z (^Z)
is used to exit the conference. When a station enters or exits
the conference a message noting the event is sent to the stations
in the conference. When in the conference the various forms of
the SHow/ command can be used by preceeding it with an asterisk
(example: *sh/dx).
The Download command is used to read a file stored on the system.
The format of the command is D filename where filename is the
name of the file to download. To see what files are available for
downloading, use W or WN command. To get a file from a
subdirectory type d (directory name\filename)
The G command (for GREP, a Unix utility) allows you to search a
downloadable file for a specified string of characters, printing
all lines that contain the string of characters. Case is ignored
in the comparison. No wild cards (like ? or *) are recognized.
When you use this command you will be asked for a file name and
then a search string. For file name enter the name that you would
use if you were downloading the entire file. If you do not give a
file name, Database.0 will be assumed.
When the command is used the user will be asked for the file
name to search and then the search pattern. FILES\ will be
prefixed to the file name the user gives; thus downloadable files
may be pattern searched.
The G command is not available when the BBS is in limited
service mode.
The H command will give you a short description of the commands.
For more information about a particular command, type ?x where x
is the letter of the command.
The I command by itself gives hardware configuration of this
system. (the information displayed comes from HELP\INFO.DAT)
3-44
For example:
This system runs on an IBM PC type computer and is written in C.
It uses TNCs running in KISS mode which allows all the fancy
stuff it does.
Location is Port Huron, Michigan
Tnc's KPC-4
PK-232
Frequency Radio Power Antenna
145.03 MOCOM 70 60 W Isopole at 80 ft
145.09 TR-7400A 30 W Isopole at 30 ft
If you have any questions please leave a message or call
ID gives a list of the ports and digipeaters/gateways available.
The J command lists stations recently heard on the various ports
and stations that recently connected. Use the P command for path
to station that have connected at some time. For the following
commands the sponsor's callsign is given in {curly brackets}.
This is normally NOT the call you would use. This callsign is
given to help identify some of the "mystery" callsigns used for
nodes and digipeaters such as "MYDIGI".
JD command gives a list of the Digipeaters that have been heard
along with the date and time they were heard and the path to
them.
JK command gives a list of the KA nodes that have been heard
along with the date and time they were heard and the path to
them.
JG command gives a list of the Gateways that have been heard
along with the date and time they were heard and the path to
them.
JM command List other MSYS systems that have been heard.
JN command gives a list of the NET/ROM nodes that have been heard
along with the date and time they were heard, the real callsign
of the NODe and the path to them (most are direct).You can
specify a port number as an argument to limit the display to just
that port. For example, JK 1 would display the KA Nodes heard on
port1 only.
The K command is used to kill (delete) old messages from the
system. You can kill only those messages that are to or from your
station. The format of the command is K, a space, and then the
number of the message to delete. May use multiple message
numbers separated by a space. Example: k 123 6789 1123.
KM - To delete all messages TO you.
KF - Kill messages that have been forwarded (sysop only)
KT - Msg# to kill NTS traffic you are going to deliver.
K* - Kill messages marked with type * (sysop only)
3-45
K@ - kills all messages with given @BBS.(sysop only) only com
pares the leftmost part of the @BBS field (the normally visi-
ble part of a hierarchical address) instead of any part which
caused unexpected deletions.
Example: K@ arrl
The L command lists selected message headers. The following
format are available:
L - List messages since you last used the B command
LH - (sysop only) List held messages. A message
gets held if any of the R: lines contain the idcall
of the receiving BBS. This will catch forwarding
loops.
LM - List messages to or from you (List Mine)
LN - List all messages not yet read
LT - List NTS Traffic messages
LL # - List the last # messages
Example: LL 10 - Lists last 10 messages
LO - List messages older than date yymmdd given
LU - Lists unread messages to you
LY - Lists msgs that have been read but not deleted
LW - Lists msgs with type W (for weather)
L? - List msgs that will not forward
L< callsign - List messages from callsign
Example: L< WA8BXN
L> callsign - List messages to callsign
Example: L> WA8BXN
L@ callsign - List messages being sent to BBS callsign
Example: L@ WA8BXN
L # - List messages >= given number
Example: L 827
L # # - List messages from # to #
Example: L 50 75
L"string" - Lists messages with given string in title
(case insensitive)
L'string' - Lists messages with given string in title
(case insensitive)
Examples: L'Pfb' L"ID's" l"Modem users"
L$ - List messages with type $
Example: L$
The L< and L> commands will also take wildcards as arguments.
Note: Messages that are Private are shown only to Sender or
Addressee.
The M command may be used to display the Message of the day.
3-46
Normally this message (if not empty) is displayed when you
connect unless you have selected Expert mode (?X for more info
on Expert mode). If you have selected Expert mode, using the M
command is the only way to see any Message of the day. If there
is no message of the day, you will simply get the next command
prompt. The message of the day will advise you of new features
and other important information.
N command can be used to register your name or QTH. You should
enter both of these. To enter your name type N your name.
Example: N Mike
To enter your QTH, use the command NQ your qth.
Example: NQ Kirtland, OH
To enter your ZIP or Postal Code, use NZ code.
Example: NZ 44026
To enter the primary BBS that you look for your mail on use NH
callsign.
Example: NH KB8CI
The P command can be used to find the path last used by a station
to connect to this system. The format is P callsign. Example: P
W1AW The information given comes from the station's use of the N
commands and information recorded by the system. Try the P
command with your own call to check the information the system
has about you.
The PF command can be used to find out if this system knows how
to forward mail to a particular BBS (what you would enter as @bbs
in the S command). The port number and call of the BBS to which
the message would be sent is displayed along with the VIA list
used for the connect. If Net/Rom or KA Nodes are used to connect
to the BBS to which the message would be forwarded to the fact is
noted but the details are not given. If this system does not
contain the requested BBS in its forward file you get a
message that the callsign is unknown. Example: PF WA8BXN
The R command is used to read messages that appear when you do a
L command. After the letter R and a space you should enter the
number of the message to read or multiple message numbers sepa-
rated by spaces. Example:r 725 1012 892.
RE - (for read export) This causes the given message(s) to
be displayed with a S command line, followed by title,
message text and then /EX in place of the normal way
messages are displayed. If this form of output is saved
using the output to file command [< filename] you can
easily export messages to an ascii file.L
RH - Gives complete forwarding information.
RN - msg# list
This is like the R command but no headers are printed,
just the message text. Good for marginal connections
when you otherwise know the message number you want to
read.
RM - Read unread messages addressed to you.
3-47
RP - Read Preview. It does a normal read operation but does
not mark the message as having been read so it will
show up if you do a LU command.
RS - Reads all mail for SYSOP.
Note that when you read mail for SYSOP it gets changed to mail
for Sysop so that it won't continue to show up as a new msg.
The REPly command is used to generate a reply to a message with-
out having to do a S command. The advantage of using the REPly
command is that it will usually pick up the correct @BBS (often
with proper H route) from the R: lines in the message being
replied to. You can use either REPly msg# (example: REP 1234) or
REPly msg#. (example: REP 1234.). In the first form you will
have to supply the title. In the second form, a title is automat-
ically generated of the form RE: the-original-title Messages that
passed through SMTP systems will probably not generate the cor-
rect reply address.
R* (sysop only) It allows you to read all held messages. After
each is read you are prompted to enter H to continue to holding
the message, K to kill, N to release as private, or $ to release
as a bulletin.
The S command format: Sx to call @bbs
Where x is message type (P=private)
To call is DEStination callsign (without - number)
@bbs is DEStination BBS (again without any - number) [OPTIONAL]
---> If @BBS part is omitted then if the station has entered a
Home BBS (NH command) that BBS will be used. Otherwise the to
station callsign will also be used as the @BBS.
Example: S W1XXX @W0YYY
You will next be asked for a title for the message. After this
you type the message, keeping all lines less than 80 characters.
When you are done with the message type ^Z or /EX on a new line.
If you type ^A in place of ^Z when you are done typing a
message, the message will not be stored.
Users who send messages to stations without giving any @BBS or
giving unknown @BBS are warned of the fact.
Use SB to send bulletins, ST to send traffic, etc. All messages
sent to a specific callsign will be treated as if you used SP
(send private). To make messages to a specific callsign
readable by everyone use SB instead of just S! Or make it to a
non-callsign (such as all).
The T command (talk to sysop). When a bbs user types T you will
get the connect music and then have 60 seconds to type something
or they will be put back to the bbs. If you do type to them then
when you are done with your conversation and do ^Cd then they
will go back to the bbs. The keyboard call can still be used for
incoming connects; note that it is accessible to all stations,
even on closed bbs ports. Outgoing connects are the same as they
have always been. When an incoming keyboard connect occurs, you
3-48
will automatically be taken to the F1 screen
The U command gives the current users of the bbs plus the number
of active messages and users and what they are doing.
The Upload command To use it, the user must be authorized
(see user flags ). To do an upload, the user types UP on the BBS.
MSYS will then ask for the file name to be uploaded. If no file
name is entered, or the file exists (in the FILES directory) the
upload is terminated. If the filename is accepted, the user then
sends the ASCII file, ending with a line that contains only ^Z.
Once the transfer is started, it may be aborted by sending a line
with ^A.
The V command gives the version of this software and date and
time MSYS was started.
The W command lists the available files for downloading. The
formats:
W - Lists all files with dates & sizes
W (Directory) - Lists all files in a subdirectory under
files. The directory list provided includes the size of the files
listed.
The X command can be used to set or reset Expert status and also
to set the number of lines sent before pausing during an R
command. If no argument is given, X simply toggles and displays
the new Expert status. When Expert status is set, the initial
connect messages are replaced by a compatibility identifier line
([MSYS-1.10-H$]) and the command prompt is simply >.
If a number is given after X, this is the number of lines to
display for a R command before asking More? To continue
displaying the current message when More? is sent press return.
To abort the message, type N and then return. This facility has
been added to prevent a long message from scrolling off your
screen faster than you can read it. Experiment with different
values until you find one that pleases you. To not use this
facility, set the number of lines to zero.
Examples:
X 20 (pause after every 20 lines) X 0 (don't pause ever)
When you get More? in R cmd output(as a result of using X cmd to
set lines between pauses) you can type C for continue without
any more stops.
Commands: XF and XS. XF sets "fast" mode, XS sets "slow" mode.
Fast mode means that multiple lines are placed in packets for
some commands (like R and L). Slow mode means one line per
packet as it has been (the default). XF is faster for users
with good paths. XS is better for users with poor paths (or busy
channels!). Also works with the D command.
Putting * at the beginning of a line makes it a comment. It
also suppresses the next command prompt (but the system will be
waiting for another command). * is useful to answer the SYSOP if
you get a MESSAGE FROM SYSOP ...
3-49
< filename (sysop only) causes the commands found in the
given file to be processed as if they were typed from the key-
board. This may be used as a message import function if messages
are placed in a file. A sample of this is:
SB ALL @ ARRL < W1AW $XYZ27
Sample title
This is the text of the message. It is short.
/EX
You can of course have many messages in the file. When end of
file is found, input is taken again from the keyboard.
> filename and >> filename
Both of these commands cause output normally sent to the screen
to be also saved in the indicated file. Using just one > causes a
new file to be created (replacing any existing file by that
name). Use of two > before the filename causes output to be
appended to the end of the filename given (if it exists). To
terminate writing to the file, use either of these commands
without a file name. While output is being saved to a file, there
will be NO PROMPT FOR NEXT COMMAND.
\ To be used for sysop commands while in the BBS (see remote
sysop)
3-50
REQxxx SERVERS #
(c) Copyright 1991 by HUB COMPUTERS, INC
A set of REQxxx servers are available in the BBS they are:
REQDIR, REQFIL and REQQTH. Messages sent to your system to REQa-
nything will be processed. If a server is not available for the
requested function, a reply msg will be generated stating that
the server is not available. The servers named above are enabled
by new commands of the same names. That is, using REQDir ON will
enable the REQDIR server, etc. Enabling the REQQTH server also
requires that a file name containing the Buckmaster CD ROM ASCII
callbook file (normally S:HAM0\HAMCALL.129) be specified with
the CAllfile command.
The REQDIR server responds with a message to the requester con-
taining either the FILES directory listing or specified FILES
directory subdirectories given in the message title. An @BBS to
which the message is to be returned may optionally be given in
the title if the reply is to go to a bbs other than the one at
which the original message was entered. Examples:
SP REQDIR @
WA8BXN
(blank title)
^Z
would return a listing of the FILES directory to the bbs used to
originate this message.
SP REQDIR @ WA8BXN
@NT8V (title)
^Z
would return a listing of the FILES directory to the sending
station @ NT8V.
Subdirectories may be given in the title, proceeded by a slash
and separated with blanks. The optional @BBS may also be speci-
fied. Example:
SP REQDIR @ WA8BXN
/MODS /PGMS/BASIC
^Z
The file REQDIR.HLP included on the distribution disk should be
placed in the HELP directory. The file REQFIL.HLP should be
placed in the FILES directory.
The REQFIL server responds by sending the requested file. The
file name is specified in the title of the message. Subdirectory
names may be given if needed (don't include the leading /). An
@BBS can be specified in the title as described for REQDIR above.
Example:
SP REQFIL @ WA8BXN
mods/kam.1 mods/kam.2
^Z
3-51
The REQQTH server responds with callbook information for calls
given in the title. Currently only US hams are in the callbook
file. Calls must be separated by blanks. An @BBS may be specified
as described above.
Example:
SP REQQTH @ WA8BXN
nt8v no8m K8EIW
^Z
Things needed to get the CD ROM call lookup to work:
Put:
LASTDRIVE=W
DEVICE=SONY_CDU.SYS /D:MSCD210 /U:1 /B:340 /M:P /V /L:S /Q:* /T:*
in CONFIG.SYS Reboot system.
Run the following before MSYS (probably put these statements in
AUTOEXEC.BAT):
MSCDEX /D:MSCD210 /M:4 /L:S /V
MSCDINFO
Put:
CALLFILE S:\HAM0\HAMCALL.129
REQQTH ON
in MSYS.DO
Notes: You may have to make changes in the above statements if
you have different device drivers for your CD ROM drive or set up
the hardware options differently. Running without interrupts
works pretty well on the CD ROM drive and if you are like me you
don't have any interrupts to give to the drive anyway. If you
don't want to respond to REQQTH queries but only enable the PC
command on the BBS, set REQQTH OFF.
For all the servers, the title must be less than 39 characters.
3-52
DATABASE HELP #
(c) Copyright 1991 by HUB COMPUTERS, INC
Commands related to Database manipulation available on MSYS
MSYS allows BBS users to input information and search for
information in simple data bases. The names of the databases
are Database.0 through Database.999. These files are located
in the normal FILES directory, which can be accessed by the D
command (download) on the BBS.
These files can also be searched by the new G command on the
BBS. To use this command you enter the command G (with no
operands). You will then be asked for the file you want to
search. Simply pressing return at this point will select
Database.0 by default. You are then asked for the search string.
This is a set of characters that when found in lines of the file
cause those lines to be displayed. Case is ignored during the
search. If a selected line ends with \ then the following line(s)
are also selected for display.
Data is entered into a data base by sending a message to
MSYS with DBADD in the title. The text of the message will be
added to the indicated Database (Database.0) by default. A header
line is also inserted in the data base telling the station that
made the entry, along with the date and time. Here are some
examples:
SP MSYS {this is a S command issued to the BBS}
DBADD 3 {the message title, Database.3 to be used}
wind damage mentor Ohio \
large tree down at 615 & 20 \
reported by mentor pd \
no injuries
^Z {normal way to end message}
The text of this message would be added to Database.3. Now if you
search Database 3 for either wind damage or mentor for
example, you would get to see these lines, along with any other
lines that have wind damage or mentor in them.
Example of using search command:
G {BBS command to do search}
File search routine {Response from bbs}
Enter file name (or just press return for Database.0): Database.3
Enter search argument: Mentor
{lines from message above displayed}
> {BBS ready for next command}
Another example:
Assume a file had the following lines:
Mary had a little lamb
its fleece was white as snow, \
and every where that Mary went
the lamb was sure to go.
3-53
It followed her to school one day
If you searched this for 'snow' you would get the following back:
its fleece was white as snow, \
and every where that Mary went
That's a brief outline of what can be done. Its simple yet very
flexible. Let me know of any applications you can think of for
these facilities. Particular Database numbers can be assigned to
different uses. Formats for information can be suggested for each
different Database.
3-54
Forward File Description #
(c) Copyright 1991 by HUB COMPUTERS, INC.
NOTE: TO FORWARD BULLETINS YOU MUST SET UP MSYSBBS.DAT!
The MSYS forward file (MSYSFWD.DEF) is an ASCII file that
can be prepared with any program editor. The file consists of
groups of lines separated by a line beginning with at least 3
dashes. Each group of lines specifies what should be sent to a
given BBS along with other information.
The first line has the following format:
Position Content
-------- -------
1 The letter F
If you substitute R for F (F0 becomes R0 WA8BXN) then
it enables reverse forwarding request. P0 Forces a
reverse forward poll.
2 The port number to use (a single digit)
3 A blank
4 to N Callsign of BBS (with SSID)
optional:
N+1 A blank
N+2 to ? Via list of digipeaters
Examples:
F0 W1XX V W2XX,W1XX-1
F2 WA0XYZ-2
When no nodes are being used, this first line is used as if
it were a connect command to the desired system. When a NODe is
used, the Via digipeater list will have no effect.
If a NODe (KA NODe or NET/ROM) is to be used, the next set
of lines are a script of how to use the NODe(s). This script may
be up to 25 lines long. Its format will be described below.
Next comes a list of callsigns of BBS systems that should be
forwarded to the system given on the first line (the one
beginning with F). There is one call per line. No SSID should be
given. The callsign of the system given on the first line should
normally be given in this list.
Example forward file that doesn't use any nodes:
F0 W1XX
W1XX
W2ABC
W2XXX
----------
F0 W1XX V W1XYZ
W1XX
W2ABC
W2XXX
---------
4-55
F0 W1XX V K1XXX,W1XXX
W1XX
W2ABC
W2XXX
--------------
F0 W8XXX-12
W8XXX
WA8XXX
K7XXX
------------
Note: Here we try three different paths to connect to W1XX. If we
get the messages forwarded the first way the other connections
will not be attempted.
F0 W1XX
!01-04,12,21-23 This will forward during the times indicated
W1XX (Use of this line is optional and must begin
W2ABC with !)
W2XXX
----------
In the list of callsigns given indicating what BBS's msgs can be
forwarded to a particular BBS if a second entry is typed on the
line then the second entry must match some part of a message
title to allow it to be forwarded. For example,
F1 W1XX
ARRL DX
----------
@ARRL will be forwarded only if DX appears in their title. Case
of letters is ignored in the comparison.
You can use * in the forward file. If you have NTS* then all msgs
with NTS as the first 3 characters of the @BBS will be forwarded.
For example:
F1 W1XX
NTS*
----------
* used alone is treated specially. Only messages that have been
on the BBS for more than about 2 days will be forwarded. This
gives time for them to be forwarded by other specified
connections.
IMPORTANT NOTE: In the forwarding file, use of * for the BBS
names cannot be the first call and the first bbs in the list of
bbs's that can be forwarded to through the given bbs MUST begin
with a letter.
4-56
Example:
F0 WA8BXN
* won't work
WA8BXN
-----------
F0 WA8BXN
44* won't work
WA8BXN
-----------
F0 WA8BXN
WA8BXN will work
*
44*
-----------
Note: That # is a wild card character. If you want to put #XYZ as
an entry in your forward file, you will have to use "#XYZ (the "
is an escape character that says the character that follows must
match exactly and is not treated as a wildcard character as it
normally would be).
NODe Scripts:
The script consists of several sets of lines. The first line
begins with @ followed immediately by the call (and Via
digipeater list if needed) of the NODe to initially connect to.
The port that will be used is taken from the digit after the F on
the first card in the group. If the connection is established to
the NODe, the following sets of lines are used to talk to the
first NODe and possibly other nodes called through it.
Each set of lines for a given NODe begins with a line that
has a period in position one. The following characters on the
line are sent to the NODe as a command.
The next line in the set is optional and if used has # in
the first position. Following this is the number of seconds to
wait before abandoning use of this NODe. If this line is not
given then 60 seconds will be assumed.
The next line is required and begins with + in the first
position. The following characters are what is looked for in
lines that come from the NODe to indicate that connection has
been established to the station called (another NODe or the
desired BBS). An exact match to the characters given on the line
(including case) must be found somewhere in a line received to
continue.
Next come two lines beginning with ? in the first
position. These cards contain strings of characters that if
found anywhere in a line that comes from the NODe that the
connection was not made.
Thus after we issue the connect command (given on the line
beginning with .) one of three things can happen: a line from the
NODe that matches the +string is found and we continue with the
script or talk to the BBS, a line from the NODe matches a ?string
which means we give up on making the connection, or a time-out
occurs waiting for a match which again means we will give up the
4-57
connection.
Example script:
@ANOD (issue connect command to ANOD)
.C (issue connect to desired call)
#25 (time out after 25 seconds if no match)
+MADE (if MADE comes from NODe, continue)
?BUSY (if BUSY comes from NODe, abandon attempt)
?RETRIED (if RETRIED comes from NODe, abandon attempt)
These strings are useful for KA Nodes.
For a NET/ROM NODe the following would be useful:
+to
?Failure
?Busy
Here is another example of a complete forward file:
F1 W8XXX
W8XXX
W5XYZ
---------
F0 W4XYZ
@W7XXX
.C W9XXX
+to
?Busy
?Failure
.C W4XXX
#120
+MADE
?RETRIED
?BUSY
W4XYZ
W4XXX
-------
F1 W9XXX-2 VIA K9XXX-3,KA9XXX
W9XXX
W1XXX
W3XXX
K0XXX
----------
NOTE: The forward connect script for a given bbs is limited to
25 lines.
The file MSYSBBSB.DAT (YOU MUST HAVE THIS FILE TO FORWARD
BULLETINS!)
This file contains a set of bit position numbers
and corresponding BBS calls to which $ BID messages will be
sent. The format of the records is MAX BIT# IS 31 Bit# Callsign
(0-31)
An example file content is:
4-58
25 WB8JUI
26 KB8CI
27 WA8YWH
28 KQ8M
29 KB3X
(MSYSFWD.DEF): If you put a line beginning with $ and followed
by a file name (where BBS callsigns normally go) the given
file will be read at that point as more BBS calls.
Example:
F0 WA8BXN
WA8BXN
$BXN.DAT
ARRL
--------
In this example, the contents of BXN.DAT will be used for
more calls that can be forwarded through WA8BXN. Due to the
extra overhead of opening, reading, and closing the file, this
should only be used for more than just a few call signs.
MERge: (MUST DO THIS IN ORDER TO FORWARD MAIL)
This command reads MSYSFWD.DEF and copies it to
MSYS.FWD, expanding any include files ($filename). A file is also
produced, MSYS.BBS that is a sorted list of all possible BBS's
that can be forwarded to (including things like ARRL, 44*, etc).
This command is for 2 reasons: if there were any include files in
the MSYS.FWD files they did not get read when a pf command
was used and secondly, the new file is needed for hierarchical
forwarding. The leftmost part of the hierarchical route only is
used for forwarding and the contents of the file is needed for
efficient processing. Any changes you make to your forward file
must be done to MSYSFWD.DEF followed by use of the MERGE command
(IN THE BBS).
Call/@BBS replacement facility:
Create a file called MSYS.REP In it place lines with the
following format
OLDCALL OLD@BBS NEWCALL NEW@BBS
For example:
ALL ALLONT ALL NEOH (messages to ALL@ALLONT become
ALL@NEOH)
44* NTSOH @1 --- (messages to 44*@NTSOH become original
tocall@ ---)
NTS* * @2 @1 (messages coming in to NTS anything
get tocall and @bbs swapped)
*** IMPORTANT *** There can be no more than 150 lines in this
file! The algorithm goes like this: When a message comes in, a
check is made comparing the to call and @bbs of the msg with the
4-59
first two fields of the records in MSYS.REP. If a match is found
(wild cards are allowed in MSYS.REP) then the last 2 fields are
used to replace the tocall and @bbs of the message. @1 or @2 in
the last two fields in MSYS.REP have a special meaning. @1 means
the original to call and @2 means the original @bbs. Note that
wildcards are not expanded in these last 2 fields.
To support this facility a new command is also added:
REPlace.
If an argument of L is specified, the current replacement list is
displayed. If no argument is given, the current contents of
MSYS.REP are read and stored in memory. (This is done when MSYS
is started also). Use the REP command after you have edited
MSYS.REP to make the changes effective.
REVERSE FORWARDING :
MSYS can respond with messages to a connected BBS when it gives
F>. To use this facility, you must have a directory FWD that
contains files of the form callsign.REV. These files contain the
@BBS values that can be reverse forwarded to the given station.
So you may want to set up your forward file as follows:
[file MSYSFWD.DEF]:
F0 W8XYZ
$fwd/w8xyz.rev
--------
F0 K8XXX
$fwd/k8xxx.dat
--------
[file FWD\W8XYZ.REV]:
W8XYZ
ARRL
[file FWD\K8XXX.DAT]
K8XXX
K9XYZ
ARRL
With these example files, reverse forwarding would be enabled
for W8XYZ but not K8XXX. Recall that $ lines in the forward file
MSYSFWD.DEF cause the given file to be included at that point.
Also remember to be sure to use the MERGE command whenever you
make any changes to the forward files! Reverse forwarding of a
given message is not possible until there has been at least one
normal forwarding (either forced manually with the FOrward
command or at your forward time). The other half of reverse
forwarding (where MSYS would send F> when it is done forwarding
messages to a particular station) is enabled with the R in the
first line of the forwarding file (F0 becomes R0 WA8BXN). When
done forwarding MSYS just disconnects and does not send *** done.
Reverse forwarding checks if the bbs is currently connected. If
so MSYS will not request reverse forwarding.
Reverse forwarding poll (connects and requests reverse forwarding
even if you don't have anything yourself to forward) can be
4-60
implemented. Simple place P where you had R or F before. Thus F0
WA8BXN becomes P0 WA8BXN
A check is made to see if asking for another message to be
reverse forwarded will overfill the maximum number of messages.
Reverse forwarding will check if the required number of attempts
at forwarding a msg have occurred before reverse forwarding. Thus
if we have OH 25 in the reverse forwarding file, a msg that
hasn't undergone 25 forwarding attempts will not be reverse
forwarded by this entry. NOTE that selective title forwarding is
ignored during reverse forwarding.
SELECTIVE FORWARDING:
Selective forwarding by title contents is limited to ONE
selection per route. Thus if you have both ARRL LETTER and ARRL
PFB in your forward file for a given bbs, only bulletins
addressed @ARRL with LETTER in their titles will be forwarded. No
other bulletins with @ARRL (including those with PFB in their
titles) will be forwarded.
In addition to selective forwarding title comparisons, two
additional selection criteria may be specified: number of forward
attempts that must be made before using this path or maximum
message size to be forwarded using this path. Here some examples:
F0 N8XYZ
ARRL
NEOH DX
N8HTG 10
NEOH '15
OKIPN <3000
OKIPN '<I
-------
This set of lines will cause the following to happen - All @ARRL
messages will be forwarded. Messages with @NEOH will be forwarded
if they contain DX (upper and/or lower case) in the title.
Messages with @N8HTG will be forwarded if type is PN and there
have been at least 10 forwarding cycles with the message present
on the BBS. Messages with @NEOH will be forwarded if there is 15
somewhere in the title. The single quote mark is used to indicate
that the number following is not the number of attempts that must
be made to forward the message by other means. Messages with
@OKIPN that are less than 3000 bytes long will be forwarded. And
finally messages with @OKIPN and <I in the title (again, case
ignored) will be forwarded. The ability to not use a given
forwarding possibility until there have been the specified number
of forwarding attempts is included so that preference can be
given to favored paths while still allowing alternate paths to be
automatically used if the favored ones fail. Limits on message
size have been implemented for those who may forward to mini-BBS
systems with limited storage capacity.
TCP/IP FORWARDING:
4-61
TO forward to VE3GKM-4's TCP/IP mailbox the file would look like
the following.
F0 VE3GKM-4
@VE3GKM-4
.
+NET (may not be needed)
VE3GKM
(MORE @BBS CALLS)
---------------
SMTP FORWARDING:
Sample entry in MSYSFWD.DEF:
T 44 70 4 10 (DO NOT USE DOTS IN THE ADDRESS)
N8HSP
-----
Note that no port number is specified, it does an arp if needed.
Also note no digis (put them in the arp table if you have to have
them). No nodes. Just T and the IP address of the DEStination
station as shown. This corresponds to the line like F0 N8HSP.
Next comes the @BBS values to send to this station. There can be
more than one. Then the ------ that ends this entry. The same
forward file is used for both normal forwarding and tcpip
stuff. I have also made some changes to the SMTP command. After
you use it if you type PRompt it will prompt you for To:
(enter call@bbs) Reply- to: (just hit return if you like the
default given) Subject: (this is in the body of the text, not
the title) Then you enter your text and end with . (not ^Z) as
instructed. The result is a message that contains all the
fancy extra lines often found in tcp/ip messages.
Bulletins may be forwarded using SMTP. To do so you must
assign the smtp station an entry in the MSYSBBSB.DAT file like
you would for normal forwarding (don't use any ssids). Also add
the callsign of the station in the T line in the forward file
after the IP address. Example: T 44 70 4 15 W8XYZ
This should be done in the forwarding file for all SMTP
forwarding.
Bulletins are accepted from SMTP (a bulletin goes to a non-
callsign). Bids are made up based on your msg number and
callsign.
Heirarichical addresses are added to msgs that come in via SMTP.
NOTE: Since Bids are not supported in this implantation of SMTP,
bulletins can either be sent to or received from TCP\IP systems
but not both ways.
MSYS will accept <RCPT TO>: lines in either the format a%b@c or
b!a@c where c is your bbs call, a is the destination stations
call and b is the destinations bbs. Both of these get transformed
4-62
into a@b on the msys msg list. The first form (the one with the
%) is newly added in 1.10 to help out in what seems to be a
difference of opinion as to the correct way to do it.
*** FORWARDING NOTES
Executing commands from within the forwarding file.
In the forwarding file at the beginning of a set of forwarding
lines (ie, at the beginning of the file or after a ------ line)
you can place any sysop command(s) by simply putting \ in
front of them.
The MSYS.BBS file contains a number after each "BBS" that the
system knows how to forward to. This is the ORing of all the BBS
Masks that can be used to forward the particular @BBS. This is
used to determine when bulletins have been sent to all
stations that should be getting them; when such a bulletin is
found, it gets its type changed from $ to # so then it is no
longer considered for forwarding.
Within the forward file a !timestring line may be placed before
any callsign to limit forwarding hours for that callsign (or
bulletin route). The first ! line as used before limits all times
for a bbs entry you forward to. The following ! lines remain in
effect until changed by another ! line. When you start another
bbs forward entry group the forwarding hour defaults to 0-23. At
this point I would like a little example of what this means, so
here it is (the comments and blank lines would NOT really be in
the forward file):
F0 WA8BXN {this is the beginning of a forward group}
!0-16,19-23 {don't initiate forwarding during hours of
5 or 6 P.M.}
WA8BXN {forward the @BBS any time we connect}
!0-16,22-23 {don't forward the following during early
evening hours}
NTSOH
OH
!1-4 {forward following only in early morning}
ARRL
ALLOH
-----
BID:
When a msg comes in to non-callsign without a bid a check is made
with generated BIDS of msg#_callsign and callsign_msg# to
eliminate duplicates.
Messages addressed to other than a what looks like a callsign
automatically get a BID generated for them.
Mail forwarded to BBSs identifying with either [MBL or [... - $]
get BID included in S command.
If a message is sent to MSYS @ idcall then the text is scanned
4-63
for a line with: ;;; forward through callsign. If one is found,
then all unread mail for the originating station that is on
the bbs gets its @BBS changed to the specified callsign.
This includes the msg to MSYS which gets changed to be to the
originating station @ specified callsign. The title of the msg is
changed to indicate the number of msgs that were changed. All
changed are forced to be private. This command allows you or
your users to get any traffic for them on your bbs when the msg
is received routed to another bbs (assuming your system knows
how to forward it there). Additional features in msgs to MSYS
will be added later. EXAMPLE:
S MSYS @ WA8BXN
title doesn't matter
;;; forward through N8HTG
^Z
Now any unread mail for me (since i sent the message) sitting on
WA8BXN BBS will get @BBS changed to N8HTG and thus forwarded to
N8HTG. This works for type N (unread) messages at the time this
message is received. Thus you would probably want to send a
message periodically.
FORWARDING DISPLAY:
As each of the BBS's to which msgs can be forwarded is scanned
for a given bbs you will see it. When a msg is being forwarded
you will see a line that gives its number and the to station and
@bbs of the message. In parenthesis you will see the entry in the
forward file that is being used. Thus if the forwarding file
contained.
F0 WA8BXN
WA8BXN
44*
---------
and there was a message for K8ZZZ@44123 being forwarded you would
see something like Fwding msg # 123 K8ZZZ@44123(44*).
DROPING @BBS:
Messages that arrive with @BBS of IDCALL get the @BBS field
changed to ---. This makes them distinctive
Messages sent to REQQTH, REQDIR and REQFIL are left private if
they arrive that way.
*** There can only be up to 300 different bbs names in the
forwarding file. To check this do a LCount on the file MSYS.BBS.
Wildcards (where you can use *) have been enhanced to allow more
than just using *. Based upon the recommendations of AA4RE and
others, the following have been implemented:
* Matches 0 or more occurrences of anything
@ a..z, A..Z
# 0..9
+ a..z, A..Z, 0..9
4-64
? a..f, A..F, 0..9 (hex digits)
< a..z
> A..Z
$ =@#+?<>$ (any one of those characters, but I don't have
any guesses as to why this group was included)
= any one character
" the escape character: the next character must match exactly
( beginning of group. (abc) matches a b or c.
Examples: 9v1A2q matches #@#@#@
95=== matches anything 5 characters long beginning
with 95
(WK)6 matches anything starting with W6 or K6 (case
is important)
95### matches any 5 digi number beginning with 95
*** HF Forwarding regulations do not allow transmitting 3rd party
traffic unless there is a control operator present, the station
is under remote control, or a STA has been issued. To aid in
compliance with the regulations, the ATtended command has been
added. When set to ON all forwarding is allowed. If off, ports
with radio speed of 300 will forward only those messages in which
the from call is the idcall (messages that you originate) or the
to station in the message is the station you would directly
connect to for forwarding. HF reverse forwarding is also inhibit-
ed if ATtended is OFF. Note that the regulations appear to allow
you to receive messages unattended. So if you don't have a STA
for HF turn AT OFF when you aren't there and remember to turn it
ON when you are. To be on the safe side, put ATtended OFF in your
MSYS.DO file should the system reboot when you aren't present.
*** MISSING TEXT TO MESSAGE
If the text for a message is not available when it is being
forwarded, the forwarding is aborted instead of sending out a
missing text message for the text. The STatus command will now
indicate how many times this has occurred and the last message
number for which it happened. The MISsing command may also be
used to determine how many times this occurred without generating
all of the other STatus output.
**** BE SURE TO INCLUDE MSYS in your forward files for all other
stations you forward to so I can send bulletins about MSYS to all
of you. The list of MSYS operators keeps growing! ****
*** MSYS node forwarding
You can forward directly through your own MSYS node (assuming it
is properly activated). Here are some examples how to do it:
F0 W8XYZ {This is the station we are forwarding
to,the number after F is not important}
%W8XYZ {Do a network connect to W8XYZ - assuming
W8XYZ is a BBS that is in our local node
destination list}
W8XYZ {stuff to forward to this bbs}
4-65
-----
F0 W8XYZ
%W8XXX {connect to node W8XXX which is in our
local dest list}
+to
?busy
W8XYZ
-----
4-66
Hierarchical Forwarding and MSYS
There are several (new) features in MSYS that combined with
hierarchical forwarding should almost completely automate routing
of incoming messages. These features act at two separate times:
first when a message comes in and second during forwarding. First
let's review the way hierarchical forwarding works.
With hierarchical forwarding the @BBS field can contain more
than just the callsign of the BBS that is the DEStination of the
message. Routing information can also be placed in this field.
The @BBS field thus has the syntax of part1.part2.part3. ... .
When it is time to forward a message, the @BBS field is inspected
and the leftmost part that is found in the forwarding file is
used to forward the message.
Consider as an example @N8HTG.MI. If N8HTG is found in the
forwarding file then it is forwarded that way and the MI part is
ignored. On the other hand, if N8HTG is not found in the
forwarding file, then if MI is found in the forward file then it
is forwarded that way. If neither part is found in the forwarding
file, then the message will not go anywhere. Such messages will
show up (after at least one forwarding attempt after the last
time MSYS was started) if you do a L? command.
If all messages had both the actual callsign of the
DEStination BBS and the appropriate xx part in the @BBS field
then the forwarding file could be greatly shortened. You would
need to have the calls of the BBS stations in your state in the
forward file, along with each of the xx designators for the
remaining states. If there were say 50 BBS systems in your state
then perhaps 99 different entries would be sufficient in your
forward file (ignoring for the moment bulletin routes like ARRL).
Remember that I have often said that the limit of 300 different
calls in the forward file is more than sufficient!
Messages that are going to a BBS in your state get routed as
specified in your forwarding file; those going to another state
get routed to the BBS you have set up in the forwarding file to
get stuff for that state. What could be simpler? You could
include a few explicit calls for BBS systems in nearby states
that you route directly to, if you want to override the normal
path for messages going to that state if you so desire.
Now for the second part, the action taken by MSYS when a new
message arrives. When a message comes in, MSYS looks at the @BBS
field. If it is absent, then if the to callsign field contains
something that MSYS knows the routing for, the to field is copied
to the @BBS field. Otherwise the @BBS field is set to ===== and
the message won't go anywhere. It will show up as noted above in
a L? command.
How does MSYS determine if it knows the routing to a
particular callsign? It uses a file called BBSTONTS.BIN (new
beginning with version 1.04). This file contains BBS callsigns
and the states they belong in (this information comes from
several sources, more on this later).
Next MSYS inspects the @BBS field to determine if it knows
how to forward what is in the given @BBS field. If some part of
the possibly hierarchical specification is found in the .pa
forwarding file, it is left alone and will be forwarded by that
4-67
matching specification. If no match is found in the forwarding
file, then the BBSTONTS.BIN file is searched to find some part of
the given @BBS field. If a match is found, the corresponding
NTSxx is appended to the existing @BBS field.
Thus MSYS will attempt to lookup the right state to send the
message to. Assuming the state is found, then forwarding will
take place as described above (see the N8HTG.MI example). If no
part of the @BBS field can be recognized, then the message will
not be sent out, but will show up when you do a L? command as
described above.
The BBSTONTS.BIN look up will also handle zip codes given in
the @BBS field, making @12345 into @12345.xx as is appropriate.
Thus far we have examined what happens when to automate
forwarding. In the event the proper routing cannot be determined
by MSYS then you will have to use the sysop EM (edit message)
command to manually add the appropriate .xx designation, assuming
you can guess it somehow. If you are lucky, the originator put
useful information in the title of the message or may have hidden
it in the text of the message. Maybe the callbook will be of some
use to you. Or maybe you can just force it in the opposite
direction from which it arrived.
The next question that should be in your mind is how to
create the BBSTONTS.BIN file. This file contains binary data and
cannot easily be created with a text editor. A utility function
called INDEXNTS (function 14 in MUTIL.EXE) has been provided to
create this file. INDEXNTS takes as its input a file called
BBSTONTS.DAT and produces as output BBSTONTS.BIN.
How do you create BBSTONTS.DAT? You run a function called
BBSTONTS (function 13 in MUTIL) which takes as its input
BBSLIST.DAT.
BBSLIST.DAT is created and/or updated using data from
message headers that have passed through your system and/or W9ZRX
bbs lists. Function 10 of MUTIL is used to use messages as input;
function 11 uses W9ZRX lists as input.
4-68
Lets look at a picture of these files and programs:
+---------------+
| Message files |
| from MAIL.BAK |
+---------------+
|
|
|
V
MUTIL function 10
|
|
|
+-------------+
| BBSLIST.DAT |
| file |
+-------------+
|
|
MUTIL function 13 <--- Other standard files:
| STATES.DAT
| ZIPCODES.DAT
V ROUTES.DAT
|
|
+-------------+
| BBSTONTS.DAT|
| file |
+-------------+
|
|
MUTIL function 14
|
|
V
|
|
+-------------+
| BBSTONTS.BIN|
| file |
+-------------+
4-69
MSYS Network NODe Introduction
(c) Copyright 1991 by HUB COMPUTERS, INC.
With version 1.06 is the ability to interface a variety of
the functions previously found in MSYS into networks built using
any combination of other MSYS systems, TheNet nodes, G8BPQ Nodes
and Net/Rom nodes. This is last "major" enhancement planned for
MSYS at this time. The following few releases are expected to
come at about one or two month intervals and will add small new
capabilities, correct errors and improve efficiency. The network
NODe support in MSYS is by no means complete or perfect at this
time but it does seem to be usable.
Some basic information concerning the implementation of the
MSYS NODe interface will help in making decisions related to
configuration. Two terms must be understood by the system
administrator (SYSOP). These terms are neighbor NODe and
DEStination NODe. A neighbor NODe is a compatible NODe to which
there is a direct connection path. Currently MSYS does not
support use of digipeaters in the path to neighbor nodes. Normal
AX.25 connections are made to neighbor nodes. The data exchanged
by these connections consists of a mixture of supervisory and
data frames that together support the network operation.
DEStination nodes are also network nodes and are the nodes
listed when one does a Nodes command. DEStination nodes are
nodes that can be reached through the network either directly if
they are also neighbor nodes, or indirectly through some neighbor
NODe.
Routing of frames in the network is conceptually fairly
simple, handling all the details is not! Each NODe does a "Nodes
Broadcast" periodically (usually once an hour) which is a list of
nodes that it know how to route data to. This may be due to
directly hearing a neighbor NODe or by hearing the nodes list
from neighbor NODe that claims to have a route to each NODe it
lists in its NODe broadcast.
Information from the nodes broadcast is maintained by MSYS.
When it receives a frame that is not for itself, MSYS looks to
see which neighbor NODe can handle the DEStination indicated in
the frame and simply passes the frame on to some neighbor NODe.
Data frames while they are inside the network as handled as
what are termed "datagrams". What this means is that during a
conversation between two end users there is no guarantee by the
network that the data frames will always go by the same path or
that they will make it through the network. Depending on
conditions in the network the path taken by frames can change and
at times frames will be arbitrarily discarded.
This does not lead to chaos because the end nodes (the ones
the users connect to) are responsible for error free end to end
services. While the AX.25 protocol makes sure that transmission
of frame between any two nodes is error free the network protocol
establishes error free operation between users.
MSYS network NODe functions include both the routing of
frames within the network as well as the uplink/link logic to
support the error free end to end services. Additionally, the
TCP/IP servers can make use of the network as an alternative to
the existing IP routing facilities.
5-70
Connections from the network may be made directly to the BBS
through the enhanced NODe command set. At this time forwarding
directly into the network is not supported but should be added in
a future release.
An attempt has been made to make the MSYS network NODe user
friendly while still retaining compatibility with other network
nodes. To this end there is a help command and headings on output
generated by various information listing commands. Since MSYS is
generally run at an attended site, a Talk command is available to
allow users to talk to the sysop directly from the network.
To add all these enhancements, MSYS has grown a bit. It is
now suggested that you have 640K ram available (more won't be of
any use). There are also several new commands/options. To not
further delay distribution of version 1.06, the documentation for
all the changes is contained in this update file rather than
being integrated into the existing documentation; the integration
should be done in the next release.
Basic Decisions About the Network NODe
The really big question is should you enable the network
NODe functions of MSYS? Fortunately, you have more options than
just yes or no! So perhaps the question should be reworded as
should you run the NODe in full feature, fully automated mode?
The answer for most stations will be NO. The answer in your
particular case will depend on the capabilities of your station
and the locations of other compatible nodes. If you run a high
profile station already (wide coverage as a digi/K-NODe) and have
compatible network nodes at reasonable distances from you (maybe
at least 30 miles away), then you may fill a need by running with
everything enabled. On the other hand, if the only way you can
talk to anything is through a digipeater (even when the batteries
in your ht are fully charged) and on a hazy day you can still see
the antennas of at least five network nodes, all still forwarding
the same frame they received 2 years ago, then may I suggest you
run in a very controlled minimal mode. Make friends, not enemies
through these latest enhancements to MSYS!
5-71
Network NODe Quickstart
This section tells the minimal things you must do to get the
NODe up and running in some (probably not optimal) fashion.
You MUST define your network NODe callsign using the
NRC
command. If you are also active in TCP/IP you should set NRCall
and MYTcpcall to be the same thing.
You MUST use the NPorts command to enable the ports that you
want to be able to access the NODe. For example, NP 3 would allow
access to the NODe on ports 0 and 1 but no others.
You SHOULD define your network NODe mnemonic identifier
using the NRI command.
You MUST enable the NODe using the NETNODE ON command.
You should probably turn AUTONode and AUTODESt ON and set
OCM to 3.
This should put your system into full service automatic mode as
far as the network NODe is concerned. The probably will not be
the way you will want to run but its a starting point.
5-72
Manual Operations on the Network NODe Database
To REMove a DEStination NODe completely, use
REMove DEStination nodecall
To REMove a DEStination for a given neighbor NODe, use
DESt DELete DEStcall neighborcall
To REMove a neighbor NODe (and all the DEStination routes
through
this neighbor NODe), use
NODe DELete nodecall port#
To add a new neighbor NODe, use
NODe ADD nodecall port# quality [digicall1 ... digicall8]
Note: The mnemonic identifier for the neighbor NODe will
be obtained from the first nodes broadcast heard from the NODe.
Use of the digipeater calls is optional. Although you can specify
up to 8 digipeaters, rarely will more than 1 or 2 be practical
to use.
To add a new DEStination for a given neighbor NODe, use
DESt ADD [destid:] dest-call neighbor-call neighborport obs#
quality#
Notes: The neighbor NODe callsign must be defined before any
DEStinations can be added for it.
mnemonic for the DEStination is optional.
obs# is the obsolescence count, 0 locks the DESt in for
the NODe.
To change the quality of an existing neighbor NODe, use
NODe REPlace callsign port# new-quality [digi1 ... digi8]
To change the obsolescence count and quality of a DEStination
through some neighbor NODe, use
DESt REPlace DEStcall neighborcall neighborport newobs#
newquality
5-73
How I Run My Network NODe
I run my netnode in a moderate mode here that is somewhere
between fully automatic and low profile. Here is some basic info
that should help you understand my configuration:
Computer is an old original IBM PC 4.77 MHz clock 640 K ram, two
10 M hard drives, 4 serial cards and a printer card.
Port Freq
0 223.7 High profile (150 W, beam at 80 ft. aimed west)
1 145.01 Quite high profile (200 W omni ant at 90 ft.)
2 145.05 Low profile (10 W omni ant at 60 ft.)
3 80 M
4 40 M
5 20 M
6 serial connection to another computer
Nearby existing netrom nodes:
Port Call Distance
0 K8EIW-9 15 (Miles)
1 K8EIW-7 15
1 K8EIW-1 45
1 W8QLY 75
1 W3LIF 80
2 KB8AST-1 25
Nearby NET.EXE stations using netrom interface:
Port Call Distance
1 N8HSP-4 10
1 WB8LYJ-4 15
All of these stations are usually reliable connections. Other
netrom nodes are usually heard but are not always reliable.
During band openings many more are heard, some are reliable
during the band opening.
Here are the network NODe related parameters I have in my MSYS.DO
file:
OCM 3 Transmit DESt nodes heard that have
obsolescence counts 3 to 6
NRI 460406 Right 3 bytes of my IP address
[44.70.4.6] expressed in hex (quite
useful this way)
NRC WA8BXN-2 Callsign net NODe responds to, should
be the same as TCP/IP callsign (MYTcp-
call)
NPorts $47 Network NODe uses ports 0,1,2 and 6 only
PQuality 100 Default port quality 100. A low value
assigned to nodes not manually entered
that connect to mine
NODe REStore Read saved NODe file when MSYS starts
AUTONode OFF Do NOT record NODe broadcasts from nodes
not already in neighbor lists. This
means that new nodes heard (during band
openings for example) will not be
automatically added, unless they do
5-74
actually connect to my NODe.
AUTODESt ON DEStination NODe broadcasts (from nodes
already in my neighbor table) will be
recorded.
NETNODE ON Enable network NODe
Here is the output I get from the JN sysop command (or R command
in the NODe):
Port Neighbor NODe Call Quality DESts Heard Digipeater(s)
1 AKR:K8EIW-1 179 66 23:43
1 CLE1:K8EIW-7 180 67 23:41
0 CLE220:K8EIW-9 180 67 23:34
2 PRYTWP:KB8AST-1 192 2 23:25
1 CLEIP:N8HSP-4 192 1 23:42
1 MERCER:W3LIF 180 6 23:44
1 YNG:W8QLY 180 7 23:36
1 PVLIP:WB8LYJ-4 192 1 22:46
The general philosophy I am using is that I only want to attempt
to connect to network nodes that I have a good path to. These are
also the nodes that I broadcast myself (and the DEStinations they
claim they can handle). I have manually entered these nodes into
my neighbor NODe table (using NODe ADD). I see little sense in
saying that I can really connect to a NODe I hear once because a
meteor hit at the right time! This method does not particularly
limit the number of DEStination nodes my NODe knows about because
the nearby nodes claim they can handle everything they hear. I
just let the nearby nodes worry about finding routes to
everything they claim to hear.
My system serves as a link from the one isolated NODe on
145.05 LAN frequency to the nodes on 145.01 which give access to
the Ohio 4800 Baud UHF backbone frequency. I also serve as an IP
switch to and from the network. I have adjusted the neighbor NODe
qualities to favor nodes (primarily TCP/IP stations) to which I
am a good route. I have set most of the normal netrom nodes to a
lower quality value so that they will talk directly to each other
most of the time rather than trying to go through my NODe.
Should they be unable to connect directly to each other, they
will still be able to go through my system.
If you want to run very low profile in terms of getting used
as a network NODe, leave the default of 10 set for OCMin. This
means that your NODe broadcasts will only send out your own call.
This will get the network to recognize you but not make it think
you are a good relay to anything. Keep AUTOD ON so that your
system will know how to reach nodes in the network. Its probably
a good idea to set AUTON OFF and manually add the calls of the
best nearby nodes you can connect to (one is all you need).
If you are totally confused about the network operations, try to
consult with who ever runs your local NODe(s). Most of the
parameters you have, they have (with some changes in their
names).
5-75
Miscellaneous Comments on Network NODe
If you are low on SSIDs, you might consider the following.
Set the IDCALL to your callsign without any SSID. Do not define a
BBS, Keyboard, or K NODe callsign. Pick an SSID and use your
callsign with it and set as the value for MYTcpcall, NRCall and
FORWARD call.
To get to your BBS the network NODe BBS command can be used.
To talk to your keyboard the BBS T command or network NODe T
command can be used. If you want to make outgoing calls you will
have to define a keyboard callsign.
Should you use the network NODe to route TCP/IP frames? I
would say only if you have to! The normal IP routing is better
than using the network NODe but in those cases where using the
network is the only way to reach some distant IP station then do
use the network.
Network node connects are allowed only on those ports
enabled by NP command.
Knode which lists K nodes that have been heard. An optional
parameter may be given that specifies the port for which the list
is desired.
Justheard which lists stations recently heard. Here again a port
number may be given as an argument. The N command is now de-
scribed as Netnodes (lists destination network nodes known).
In the network node, using the C# form of the connect command
(example: C2 WA8BXN) will always result in a normal ax.25 con-
nect, even if the destination station is a network node. We are
getting very close to entirely removing the K node!
The network node does not record information in nodes broadcasts
heard on ports that are not enabled for network node use (NP
command).
5-76
NET NODe Parameters Summary
Default
PQuality [port#] # 192 Quality for nodes hear on port
BInterval seconds 3600 Nodes Broadcast interval
OCMmin # 10 Minimum obsolescence to broadcast
OCInit # 6 Initial obsolescence count
WQupdate # 1 Worst quality DESt route to record
NTtl # 64 Network time to live (max hops)
TTimeout seconds 60 Transport timeout (Net FRACK)
TRetries # 3 Transport retries
TACK sec 3 Transport ACK delay (responsetime)
TBdelay seconds 180 Transport busy delay
NDWindow # 4 Net default window size (frames)
NETCon ON/OFF ON Enable connect cmd in net NODe
NETBbs ON/OFF ON Enable BBS cmd in net NODe
NETTalk ON/OFF ON Enable Talk cmd in net NODe
AUTODESt ON/OFF OFF Add new DESts for known neighbors
AUTONode ON/OFF OFF Add new neighbors heard
NODe SEnd Force known DESt transmission
" SAve Write net NODe Database to disk
" REStore Read net NODe Database from disk
" ADD call port qual [digis] Adds neighbor NODe
" REP call port qual [digis] Changes quality of
neighbor NODe
" DEL call port Deletes neighbor nodes & its DESts
DESt ADD [id:] destcall neighbor call neighborport obs#
quality Adds new DEStination
DEST REP destcall neighborcall neighborport obs# quality
Changes obs & quality
DEST DEL destcall neighborcall neighborport Deletes DESt
through given neighbor
REMove DESt callsign Deletes DESt through all neighbors
NInfo Gives net NODe status
NRCall callsign Sets net NODe callsign
NRid mnemonic Sets net NODe mnemonic identifier
NPorts portmask 0 Ports to which nodes broadcast
TNatime seconds 600 Transport no activity timeout time
C BBS or C bbscallsign act like BBS command taking you to the
bbs. You also now get a connected to message when any of these
commands.
In previous releases, network connects to the bbs were often
treated as coming from port 0. This causes some problems since
the port 0 options are not always what is wanted for network
connections (port 0 might be a closed HF port, for example).
Actually a network connection shouldn't be considered to be a
connection on one of the ports (a network connection may in fact
switch ports during its lifetime). For these reasons, a number of
new commands have been added to allow setting options for network
connections. Here are the network command names and their port
related counterpart.
NETOnly BPorts
NETRead MAXRead
5-77
NETMax BMaxcon
NETFbbstime FBbstimes
5-78
MSYS DX Node #
General Description
The MSYS DX Node is a subset of and compatible with the
PacketCluster (trademark of Pavillion Software, PO Box 803,
Hudson, MA 01749). The DX Node provides services of interest to
DXers, such as DX station spotting and WWV reports, in addition
to a conference function. The DX Node may be used in stand-alone
mode or connected to a PacketCluster node. Currently MSYS does
not support connects from other MSYS DX Nodes or PacketCluster
nodes.
User Interface
The DX Node may be entered from the BBS through use of
the C (for Conference) command or by connecting directly to the
DX Node callsign (see DXCall command). When in the BBS itself,
the SH/ family of DX Node commands may be used without leaving
the BBS (SH/DX for example). The command syntax used once in the
DX Node is patterened after the commands familiar to PacketClus-
ter users. The H command gives a list of the user commands and a
brief description of each. Its output is similar to that shown
below:
DX Node commands
Bye Disconnects from DX Node
BBS Returns to BBS
Conference Enters local conference
DX freq dxcall comments Enters given data as DX spot
SH/CL Lists basic stats about DX network
SH/COnfig Lists DX nodes in network and users
on each
SH/Dx Lists last 5 DX spots
SH/Dx/# Lists given number of DX spots
SH/Users Lists local DX node users
SH/WWV Lists WWV reports (up to 5)
Talk callsign Sends following lines to given user
call
Talk callsign msg Sends single line msg to given user
call
WWV SFI=# A=# K=# comments Enters given data as WWV report
Bye Disconnects from DX Node. A regular disconnect also
works.
BBS Leave DX Node and go to BBS (even if original connect was
into DX node call directly)
Conference Enters local conference. Following lines typed will
be sent to all stations in the local conference. Control-Z (^Z)
is used to exit the conference. When a station enters or exits
the conference a message noting the event is sent to the stations
in the conference. When in the conference the various forms of
the SHow/ command can be used by preceeding it with an asterisk
(example: *sh/dx).
5-79
DX freq dxcall comments Enters given data as DX spot which is
sent to all station in the DX node locally (and the DX network if
connected to a PacketCluster station). Some examples:
dx 14026.1 zp6cw
dx 3795 KP2A/KP5 Listening 3805 - 3810
SH/CL Lists basic stats about DX network. Output looks like
this:
Cluster: 20 nodes, 1 local / 30 total users Max users 75
The Max users value is the highest number of users in the network
at one time. This value is reset each time MSYS is started.
SH/COnfig Lists DX nodes in network and users on each.
Output might look like this:
NODE USERS
N8HTT KB8VN WX8T W8NR
W8XYX
N8BLD WA8VPN NZ8O
KC8FS
N4RR
AD8J K3UA KA3JWJ N3BPB
In the sample above, N8HTT, N4RR and AD8J are DX nodes (or
PacketClusters). The other stations listed are connected to the
given nodes. N4RR shows no users connected.
SH/Dx or SH/Dx/# Lists previously broadcast DX spotting infor-
mation as shown below. By default 5 lines are sent. The SH/DX/#
form may be used to specify more or less than 5 (up to the limit
set with the DXSTart command). Examples of this command:
sh/dx
SH/dx/10
Sample output from this command:
14214.5 CE0LJI 28-Aug-1991 0206Z Easter Is NO9Z
14151.0 A41KJ 28-Aug-1991 0207Z AJ9C
14020.3 3B8FG 28-Aug-1991 0353Z QSY'd WB3KKX
7116.1 WB9FIU 28-Aug-1991 0351Z GREAT SIGNAL! N8LSQ
7006.6 FO4DL 28-Aug-1991 0350Z N9SW
SH/Users Lists local DX node users
SH/WWV Lists WWV reports (up to 5). Sample output:
Date Hour SFI A K Forcast
27-Aug-1991 07 210 10 3 N24=M-H/UNS ONKD2YP
27-Aug-1991 21 196 18 5 SA=L GF=U-A > SA=M GF=A. K8IP
28-Aug-1991 00 196 20 4 mod mostly active SPE PCA K8DD
Talk callsign All typing until ^Z is typed is sent to the given
station. The station may be a local user or connected to some
other node in a DX network. The ^Z must be the only content on
the line used to exit talk mode.
5-80
Talk callsign msg Sends single line msg to given user call. Use
of ^Z is not required (nor allowed) with this command. Example:
t kq8m Anybody there?
WWV SFI=# A=# K=# comments Enters given data as WWV report.
Example:
wwv sfi=210 a=10 k=3 N24=M-H/UNS
Sysop Interface
The following commands controlling the DX Node are available as
Sysop commands:
DXCall callsign
DXDiddle #seconds
DXNconnect scriptfilename
DXPorts portmask
DXRestore
DXSAve
DXSTart #nodes #users #dxspots #wwv
SHow/...
DXCall callsign
where callsign is the call, with ssid, that will be used by the
DXNconnect command to connect to a PacketCluster station. If a
connect is made to this callsign, it will take the user directly
into the DX Node.
DXDiddle #
where # is the number of seconds of inactivity before a 'diddle'
packet is sent to connected dx node to keep connection estab-
lished.
DXNconnect scriptfilename
where scriptfilename is a connect script file found in the FWD
directory using the same format as the keyboard C scriptfile
command. Note that connection to only a single PacketCluster
station is allowed. Your DXCallsign must be enabled as a Packet-
Cluster node by the sysop of the node to which you will be con-
necting. The PacketCluster command that is used for this is the
SET/NODE command (not supported in MSYS DX Node).
DXPorts portmask
One bits enable use of the DX node on that port. Rightmost bit is
Port 0.
DXRestore
Reads the last recorded DX spotting and WWV information. If the
current maximum number of DX spots or WWV reports (as set by the
DXSTart command) differs from the values in effect when the info
was last stored this command will have no effect. This command
should probably be put in MSYS.DO after the DXSTart command if
the DXNode is to be enabled.
5-81
DXSAve
Records the current DX Spotting and WWV information in a file
called DXNODE.DAT. This function is done automatically when a
QUIT command is issued if the DX Node has been started.
DXSTart #nodes #users #dxspots #wwv
where
#nodes is max nodes in DX network (default 25)
#users is max users in DX network (default 100)
#dxspots is number of DX spots to be recorded (default 20)
#wwv is number of WWV reports to be recorded (default 5)
SHow/...
The various SHow commands listed above as user commands can be
used as sysop commands
Installation
To activate the DX Node, at least two commands are needed
(DXCall and DXSTart). The DXCall defines the callsign with SSID
that users can use to connect directly into the DX Node as well
as the callsign that will be used if the DXNconnect command is
used to connect to a PacketCluster node. A DXRestore command
should probably also be used to recover the DX Spotting and WWV
information saved at the last time QUIT was used.
These commands can conveniently be placed in the MSYS.DO
file to automatically start the DX Node each time MSYS is start-
ed. An example of the commands is
DXConnect WA8BXN-6
DXSTart
DXRestore
DXNconnect DX
An example of the contents of the file DX (found in the FWD
directory) is given below. It has the same format as the connect
scripts used in the forward file except that the first line
begins with the letter C. The file below first connects to a
network node CLE220 using port 0, then a connect command is
issued to CLE220 to connect to network node #CLEDX and finally
#CLEDX is told to connect to PacketCluster station KQ8M.
C0 KQ8M
@CLE220
+to
+to
When connected to a PacketCluster station there is the possibili-
ty that the connection will be lost for some reason. Automatic
reconnection may be accomplished by using the automatic timed
sysop command facility in MSYS (the TO DO facility). For example,
the following line could be placed in MSYSTODO.DAT to attempt to
connect every 10 minutes. The command will fail (by design) if
the connection still exists.
???????0 DXN DX
5-82
The interpretation of this line is to do the command DXN DX
whenever the time in minutes has a right digit of 0, namely at
00, 10, 20, 30, 40 and 50 minutes after each hour.
5-83
MSYS General information file #
(c) Copyright 1991 by HUB COMPUTERS, INC.
*** MEMORY MANAGEMENT:
Buffer space for logical channels is allocated when the channel
is allocated (and released when the channel is released) This
will cause the MEM command to show more available memory. Its is
little deceptive though because when all the channels are in use
the same amount of memory will be used as before.
*** Remote SYSOP:
/Sysop command:
It gets you into remote sysop mode which allows you to use most
of the sysop commands through the bbs. The command must be
typed exactly as shown: backslash, Capital S and lower case
ysop and then return.You will then get a line like
Usage stats: Users=4 Msgs rcvd=10 Msgs sent=5 Max=8
To this you must reply (there will be no prompt) four characters
corresponding to the numbers typed in order of characters found
in the file MSYS.RMT (case is important). For example, if your
MSYS.RMT file contained MSYS is the greatest! then you would
type <space> e i t which are the corresponding characters (the
first character is numbered 0). Thus you would type eit (Don't
forget to count the spaces) You should now get a prompt cmd:
If you are connected via radio, you issue \Sysop command on
bbs to verify sysop authority (enter 4 letters) You then get the
next bbs prompt (if you give correct letters or not). If you have
given the correct reply then you may issue any sysop command
by starting the line with \ (while still in the bbs). So when
on the bbs from the local keyboard, you can now type something
like \em 1234 and you will be able to edit message 1234 without
having to leave the bbs. As a remote sysop, you retain sysop
status until you disconnect once you give the right 4 letters.
To get a list of available commands, type h. Most of the
commands available duplicate those found normally as sysop
commands. An added command, who, gives a list of who is on the
system and is the same as the new U command in the bbs.
NOTE: /Sysop is not required from local keyboard.
Make sure you mark yourself a remote sysop, even if you won't
be one.(User flag $10)
Automatic password reply:
If your system receives the password prompt (the Usage state: ..
line) from a system that you connected to during forwarding or
from the Connect commands, MSYS will automatically supply the
correct response. You must have a file called PASSWORD.RMT in
your FWD directory that is the same as the MSYS.RMT file on the
other system.
5-84
*** MSYS.DO:
A command file may contain the same things you could normally
type as commands. To execute a command file, type DO followed by
the command file name.
Example: DO cmds.dat
When the system starts it automatically tries to DO a command.
MSYSTODO.DAT
Timed execution of commands has now been added to MSYS. You can
create a file called MSYSTODO.DAT with commands and times they
should be done. Wild cards can be specified for the times. Each
line consists of a time (given as exactly 8 characters) followed
by a space, and then the command to execute at the given time.
The wildcard character is ? and they may only occupy positions in
the left part of the time. The format of the time is MMDDhhmm
where MM is the month number (1 to 12), DD is the day of the
month (1 to at most 31), hh is the hour (0 to 23) and mm is the
minute (0 to 59). Here are some time examples:
MMDDhhmm (pattern)
???????? every minute
???????0 every 10 minutes (times that are like 00 10 20 etc for
the minutes)
??????00 at the beginning of every hour
????1200 at noon every day
????0000 at midnight every day
???10000 at midnight of the 1st, 11th and 21st days of each month
??010400 at 4 am the first of every month
01010000 at the beginning of every year
You can also specify a day of the week in the DD field, in place
of the day of the month. To do this you would put D# in the DD
field (# is from 1 to 7 for Sunday to Saturday). Examples:
??D11200 Every Sunday at noon
11D52300 At 11 PM on each Thursday in November
That is how the times are set up, now here is a complete example
of things that could go in MSYSTODO.DAT:
????0000 nod sav
????1200 nod sav
??010000 log
??d10000 copy msys.usr msysusr.bak
???????0 dt
This file would save the network node list twice a day, make a
new log file at the beginning of every month, make a backup of
the user file every Sunday, and display the time and date every
10 minutes.
*** MONxx:
5-85
MONCC ON/OFF - enables/disables monitoring of TCP/IP packets
MONCF ON/OFF - enables/disables monitoring of NETROM packets
*** LINKED:
A line of the form *** LINKED to callsign now recognized as a
connection by the given callsign. This occurs with some
versions of RLI systems when a user uses the C command on the RLI
system to connect to the MSYS BBS. *** LINKED to callsign
requires sysop verification if sysop call is used.
*** KEYBOARD:
When someone connects to your keyboard answer call you will get
two musical tune to alert you to the connect.
Any stations connecting to your keyboard call when you are
already connected to another station will get a busy. The actual
number of connects allowed before busy is given by the new sysop
command MCon. MCon 1, for example, only allows an incoming call
to the keyboard to be answered if there are no other keyboard
connections. MCon 0 prevents all incoming keyboard requests (they
get busy). MCon N will allow N connections to the keyboard until
busy is returned.
When you type past column 72 you will get a beep for each
character. Keep those lines less than 80 characters!
When a station attempts to connect to your keyboard via the
several ways possible but is sent a busy the bell will also beep
to alert you to this.
*** Packet size:
Data in packets is limited to 256 bytes. Larger amounts of data
in a single packet will be discarded without causing the system
to crash.
*** STACK requirement:
The stack space needed by the forward process has increased. The
following line can be put in MSYS.OPT (This may not be
necessary):
STACK FORWARD 8000
A smaller value (maybe 7000) might work. Try it if you want. If
the system randomly crashed, make it 8000.
Modifications have been made to the R command to list path
information with R: lines using either @:bbscall or msg#@bbs
format.
*** Device errors
Device errors are trapped by MSYS (you would previously get the
Abort, Retry, Ignore? message). The first occurrence of the error
is given a response of retry, the second ignore. This will nor-
5-86
mally be caught by particular function being performed which will
terminate with an error message, but MSYS should continue opera-
tion.
*** Disk full message
If the disk is full when a message is sent to the system it will
give a msg to the connection station that the disk is full and
then disconnect.
*** BBS Commands:
ST Command will not add bid to messages.
Download requires that the first character of the file name be
alphanumeric (no more ..)
*** @BBS:
Automatic generation of @BBS field for S command in BBS: If the S
command contains an @BBS entry it is left untouched. If there is
no @BBS as a parameter for the S command, the following happens.
If the to station is found in the user file then the home bbs of
that station is substituted for the given @BBS. If the to station
is not a known user then the to station callsign is placed in the
@BBS field.
Any messages entered into the system with no @BBS that don't get
a @BBS from the user file will have ==== for the @BBS. Only
messages with second type character of N will cause the user file
to be searched for @BBS. Thus bulletins will never get their to
call sign (typically ALL) looked up in the user file.
In the bbs, if a S command has an ssid in the @BBS filed it is
removed in the leftmost part of the hierarchical address. Thus S
W1XYZ @ K1XXX-5 is taken as S W1XYZ @ K1XXX.
*** MSYSTNC.#:
If you use any tnc set up files be warned that the program waits
1 sec after each line from the file is sent to the tnc to give it
time to think about it.
NOTE:
AEA tncs made after Jan 89 can probably be treated like KPC-x
tncs to get them into kiss mode. It should no longer be necessary
to have a special tnc file for them (but if it doesn't work
without it,it is suggested that the tnc file be used).
*** MAIL BEACON:
Messages to your IDCALL and to SYSOP are not displayed in the
MAIL FOR beacon. You will see them on the screen.
*** LOG:
Msgs sent, forwarded, and killed get logged to MSYS.LOG.
5-87
A new log file record is being generated. It is identical to the
BBS record except it has BYE in place of BBS. It is generated
when a user exits the bbs by any means (disconnect, timeout, B
cmd).
*** LOCKUPS:
If the system hangs an attempt is made to reboot. Thus you should
make sure you don't have a diskette in A: and that you have an
appropriate autoexec file set up.
*** CHANNEL NUMBERS:
The channel numbers use a rotational assignment rather than
always starting from 0
*** USER BIT SETTINGS:
$01 - Expert user
$02 - BBS
$04 - Disconnect immediately
$08 - Limited BBS
$10 - Remote sysop status
$20 - Need to send WP Update
$40 - Multiline packets (XF)
$80 - Prevents use of the S command. Users so marked can only
read messages.
$100 - Lock user
$200 - Authorizes use of the Upload command in the bbs.
NOTE: These settings may be added together.
When the BBS is in limited mode and the H cmd is used, the file
printed is HELP/HLIMITED.HLP in place of HELP/HELP.HLP
When a user logs on to the bbs for the first time (or after a
long while (see DELUDays), the file HELP/NEWUser.HLP will be sent
to that new user (if it exists) on the first connect (only).
*** #:
Command lines beginning with # on the BBS are ignored (they
sometimes come from KA Nodes).
*** MAX channels AND PORTS:
Maximum for MAXCHANS is 50 (MSYS.OPT)
Maximum number of ports is 7 (numbered 0 to 6)
MSYS supports all ints (0-7) for serial ports. I suggest the use
of ints 2,3,4 & 7 on Pc class computers and 3,4,5 & 7 on at class
and above computers. Use of 01 & 6 are not recommended but are
supported in the code. Due to the use of these interrupts by
other hardware devices/functions results will generally be bad!
5-88
I really think that the MS-400 (and similar) shared inter-
rupt serial interface boards should work properly. Thanks to
WB8CQV for loaning me one to test with!
*** END OF LINE BELLS:
When you type past column 72 you will get a beep for each
character. Keep those lines less than 80 characters!
*** WP SERVER:
Generation of messages to the white pages master server is
included in MSYS. This sends the information users give in the N,
NH, NZ and NQ commands to the WP server when it is changed (or
initially given) as well as periodically. Note that MSYS does not
respond to messages to WP but merely passes them on without
modification. WP messages are NOT generated for users with any of
the following characteristics: locked, homebbs of ?, bbs system,
and/or baduser.
*** FRACK
All IP (and IP through netrom) frame retry timing uses a
dynamic
FRACK value.
*** TESTING:
You can connect two MSYS systems together through their serial
ports by the use of a NULL MODEM.
You can also connect a loopback by connecting pins 2 and 3 on
the same serial port. This will allow you to see what the system
is doing without being on the air.
*** Automatic back-up of msys.msg and msys.usr has been removed.
If you still want to do these backups once a day, put appropriate
copy statements in your msyshcl.do file.
*** TCP/IP connects are rejected if not enough memory or MCON
exceeded.
*** SMTP
The \+\ filename include capability that is currently in the BBS
S command to also be usable in SMTP with the PRompt command. Both
of these are available only from the local keyboard.
Typing other than Y N C A or RETURN in response to More? in the
BBS is taken as a new command.
Title of messages truncated after 37 characters.
*** MAIL.BAK
To reduce disk read/write delays when a message is received and
copied to the MAIL.BAK directory, subdirectories are automatical-
ly created in the MAIL.BAK directory. 100 messages are backed up
5-89
in each directory. This can substantially reduce the time it
takes to make the backup copy of incoming messages because much
smaller number of file names must be looked at to add the new
file name to the directory. The created subdirectory names are of
the form MSGxxx where xxx is the message number divided by 100.
Thus in MSG025 messages 2500 to 2599 would be found. The MUTIL
msg restore function has been modified to understand these
changes and ask for the main mail.bak directory name. This
addition was needed for those times the mail.bak directory name
is changed by the set command.
*** RS-232 connection to tncs running Net/Rom and TheNet.
Ports connected to such tncs should use > as the first character
in the name given in the port statement in MSYS.OPT.
To connect the computer to a single tnc per computer port, a
straight through cable is used (with a minimum of pins 2,3 and
7). At the tnc end, pins 10 and 23 must be jumpered. DO NOT
CONNECT PINS 10 or 23 at the computer end!
In a multiple tnc connection using the standard diode matrix
interconnect, the computer may be connected if you reverse pins
2&3 and pins 5&20 at the computer connection.
Using MSYS with a Net/Rom or TheNet equipped tnc can have great
advantages on a backbone system. The tnc handles traffic on the
backbone not going to/from the MSYS system without any load
being placed on the MSYS computer.
Forwarding may be accomplished by connecting to the RS-232 con-
nected tnc using normal script files. You can also beacon through
the tnc using it as a digipeater. Many other interesting possi-
bilities also exist. Have fun!
*** Type of a message (the "TR" field)
The algorithm uses 3 pieces of information to determine the
appropriate TR to assign: the destination "callsign", the @"bbs",
and the character after the S in the Send command.
The to "callsign" is classified as one of the following:
0 - Looks like a real callsign
1 - A zipcode (5 digits)
2 - something else (like ALL, for example)
The @"bbs" is classified as one of the following:
0 - Looks like a real callsign
1 - none specified
2 - call of this bbs
3 - something else
The character after the S in the s command is classified as:
0 - B (as in SB for send bulletin)
1 - P (as in SP for send private)
5-90
2 - T (as in ST for send traffic)
3 - none (as in just plain S)
4 - something else (SW for send weather bulletin, for
example)
The following message types are generated:
BN For bulletins going to a specific bbs - these are
forwarded to a single station that handles that bbs.
PN For private messages
TN For NTS traffic
xN For Sx where x is an "something else"
N For individual non-private messages.
B$ For bulletins going with @route (like ARRL)
x$ For bulletins sent with Sx (x is "something else")
P$ For private bulletins going with @route
Note: [P]N below means that the type will be N is MAKEPRIVATE is
off,PN if MAKEPRIVATE is ON (default).
TR Values Assigned to Messages
For messages going to Callsigns:
Character after S -> B P T None x (Other)
@BBS type: --- --- --- ---- ---------
callsign BN PN TN [P]N xN
no bbs given B$ PN TN [P]N x$
this bbs B$ PN TN [P]N x$
something else B$ PN TN [P]N x$
For messages going to ZIP Codes:
Character after S -> B P T None x (Other)
@BBS type: --- --- --- ---- ---------
callsign BN PN TN TN xN
no bbs given B$ P$ TN TN x$
this bbs B$ P$ TN TN x$
something else B$ P$ TN TN x$
For messages going to SOMETHING ELSE:
Character after S -> B P T None x (Other)
@BBS type: --- --- --- ---- ---------
callsign BN PN TN BN xN
no bbs given B$ P$ TN B$ x$
this bbs B$ BN TN B$ x$
something else B$ P$ TN B$ x$
Messages with second character of type N are forwarded to one
place (and then killed if AUTOKill is ON, the N is changed to F
otherwise). Messages with second character of type $ are flooded
to all stations that get the specified @BBS. When sent to all
such BBS's, the second character gets changed to #.
5-91
Messages that come in with an R: line that contains the call
(actually HCALL) of this bbs are automatically held. The R: line
scan is terminated by the first non-R: line found in the message.
Bulletins that arrive with a bid on the S command line are re-
jected if their bid already exists in the bid file. Bulletins are
identified as those messages that arrived via the SB command or S
non-call.
All messages other than bulletins are always received (never
rejected). If a message identifier ($string) exists on the S
command line AND ACceptmid is ON, it is used. In all other cases,
a message identifier is generated internally for all non-bulle-
tins using the bbs call and message number from the last R: line
scanned. If the message identifier is found in the bid file and
the message was not held as noted above, the message is not saved
(but it is acknowledged as being received entirely by sending the
> prompt when the ^Z is received).
The processing of internal message identifiers is not indicated
in the system identification line [MSYS-XXXX-H$]. If you set
MIDchar to something, then the character will appear between the
H and the $. For example, if you set MIDchar to M, then the SID
line will be [MSYS-XXXX-HM$]. This will be sent to all stations
that connect to the BBS. Setting MIDchar to a non-null character
will also cause the MID to be sent during forwarding if the
system to which you are forwarding has MIDchar in its SID.
Here are some combinations of the parameters to do selected
processing:
For no bid (mid) processing on non-bulletins, set
BIDall OFF
ACceptmid OFF
don't set MIDchar
To emulate AA4RE MID processing (I think), set
BIDallON
ACceptmid OFF
MIDchar M
To use a MID if provided, or generate one otherwise, set
BIDall ON
ACceptmid ON
MIDchar M
Currently there is still a lot of discussion going on over MIDS.
Hopefully I have give enough parameters so that MSYS can be used
with whatever standard wins out.
*** Automatic message holding
If you create a file called MSYSHOLD.DAT you can specify
characteristics of messages to hold automatically using parame-
ters similar to those used in the house cleaning file. The
available parameters are:
TO= wildcard representation of To callsign
5-92
FROM= wildcard representation of From callsign
AT= wildcard representation of @BBS
SIZE= number that is size of msg
CONNECTED= exact callsign of sending station (less
ssid)
PORT= port number msg is coming in on
BID= This is useful in situations like the
following. Normally ARRL bulletins
ARLP037. These bids begin with a letter.
Bids automatically assigned to bulletins
that don't have a bid usually begin with a
digit. So we could use AT=ARRL BID=#* to
hold bulletins that probably don't have
the right bid. Note that #* is a wildcard
specification that matches anything that
starts with a digit.
TITLE= If used, this should be the last parameter
on the line. If the value given for TITLE=
is found any where in the title of a
message (and all other specifications are
met) the message will be held.
Examples:
SIZE=2500 would hold any messages bigger than 2500
bytes
FROM=WA8BXN PORT=2 would hold any messages from WA8BXN that
come in on port 2
CONNECTED=W8XYZ would hold all messages sent by station
W8XYZ (connected to the bbs)
AT=MSYS would hold all messages with @MSYS
Note the difference between FROM= and CONNECTED=; FROM is the
from call for the message (often supplied after < in the S com-
mand) while CONNECTED is the call of the station connected to the
bbs sending the message.
There is one other parameter that can be specified, a line con-
taining only the letters BBS. The lines following such a line in
the file would not apply to messages that are forwarded to you
from another bbs. For this use, a bbs is defined as a station
that transmitted a [...$] line.
NOTE: Held messages are visible only to the SYSOP and sender.
They are killable only by SYSOP.
Other options on the lines in MSYSHOLD.DAT:
* at the beginning of the line makes it into a comment
TEXT=filename operand on a line
When specified, if other tests are met, the text and title of the
msg will be compared with the contents of the given filename. If
any of the words in the file match, the msg will be held. Case is
ignored in the test.
Example: TO=ALL TEXT=WORDLIST.1 would cause all messages going to
ALL to be compared with the file WORDLIST.1. Put one phrase or
5-93
word per line in the file, enclosed in either single or double
quote marks. You may also put a number between 1 and 255 at the
beginning of the line before the quoted phrase to assign a weight
to the word. If no weight is given, the word or phrase gets a
weight of 255. Here is a sample file of words:
'war'
"900"
"send check"
50 'send'
50 "check"
"That's it"
If the sum of the weights of these "words" found in the title or
msg text exceeds HOLdlevel (default 0) then the msg is held.
NOTE: HOLdlevel is a new sysop command! Caution: 'war' would
match an occurrence of the word 'forWARd' in a msg. Its not a
real problem as it just means the msg will be held not killed
off.
*** DOS
If you are using DOS 3.3, you may need to put STACKS=0,0 in your
config.sys file.
*** HEADERS
The HDRS command has been removed. To create an ASCII file con-
taining
all the active message headers, use the following sequence of
commands on the bbs:
X 0 (turn off the More? message temporarily)
>msghdrs (this is the name of the file to be created)
L$ 0 (or L 0 if you don't want to see the bids)
> (close the file)
X 20 (restore the More? message)
*** KANTRONICS 3.0 EPROM Upgrade users:
I am told you will have to make a tnc setup file and include the
following:
INTERFACE KISS
RESET
You may also need to include a line with one or more control-c
characters before these two lines in your file.
EXPANDED MEMORY USAGE
If sufficient expanded memory is present (at least 320K must be
available to be used) then all stacks will be around 8000 bytes
and come from expanded memory. This should free up about 50K or
so of memory as shown by the MEM command. Also each new connec-
tion will require less memory. If you have expanded memory and
don't want it used, start msys using:
MSYS NOEMM
Real expanded memory boards (that could be used with an 8086/8088
processor) will give better performance (faster) than simulating
expanded memory.
5-94
Expanded memory is used (if present) to contain the msg head-
ers. Now you can have 600 msgs on your system and memory to
spare. Be warned that with this many active msgs things will slow
down.
NOTE: If you have problems running expanded memory try using a
different EMM program.
*** BBS ONLY ACCESS
Lets say you are running with ports 0 through 3 and want to make
port 2 bbs only access with at most 1 connection allowed at a
time (either another BBS forwarding to you or you forwarding but
not both at the same time). You also don't want to generate MAIL
FOR beacon on port 2. Use the following:
FB 2 25 turn off mail for beacon port 2
BP 4 port 2 bbs only
BM 2 1 max 1 connect port 2
MCF $B no simultaneous forwarding on port 2
Note that BP and MCF both have port masks as arguments. 73 - Mike
*** CONNECTS FROM NON-AMATEUR CALLSIGNS
Connects are no longer accepted from non-amateur callsigns (like
PK-232 and NOCALL for example). You can still make connections to
non-call signs.
5-95
MSYS Utility Support Programs
(c) Copyright 1991 by HUB COMPUTERS, INC
MUTIL.EXE
Originally many of the functions found in MUTIL were
separate programs. When the amount of space on a single diskette
was found to be scarce to include everything needed to distribute
MSYS a decision was made to combine these programs into a single
menu driven utility program. This saves considerable space since
each of these programs share many common routines. Now there are
just two executable programs distributed, MSYS.EXE and MUTIL.EXE.
References in the documentation for MSYS that say to run a
particular utility program should be interpreted as the
corresponding function found in MUTIL.
When you run MUTIL you will get a screen that is similar to:
=================================================================
MSYS Utilities 1.04 by WA8BXN (C) 1989 Hub Computers, Inc.
1 Change maximum number of messages
2 Restore messages from backup directory MAIL.BAK
3 Print remote sysop phrase number table
4 Check Mail index file integrity
5 Test serial ports
6 Print forwarding tree
8 Run log file analyzer
9 Run SETUP program
10 Scan message headers to create/add to BBSLIST.DAT
11 Deletes old entries from BBSLIST.DAT and BBSTONTS.DAT files.
12 Fix mail index file (can be hazardous to use!)
13 Process BBSLIST.DAT into BBSTONTS.DAT file
14 Scan BBSTONTS.DAT to build BBSTONTS.BIN (indexed)
15 Build list of archived messages
16 Printer status
17 merge BBSLIST.DAT files
18 Check MSYSNODE.DAT integrity
19 Convert user files 1.05 & before <===> 1.06 and later
20 Sort calls in the BBSLIST.DAT file
21 Delete Old BIDS (and MIDS)
22 Specify file name to use in place of printer
99 Quit
Enter number of selection: _
6-96
MUTIL Function 1 - Change maximum number of messages
Input file(s): MSYS.MSG
Output files(s): MSYS.MSG
The maximum number of messages that can be stored in MSYS is
determined by the MSYS.MSG mail index file. When MSYS starts
running it checks to see if there is an existing MSYS.MSG file.
If there is one, it is used (and contains the header lines of the
messages that existed when MSYS was last stopped). If there is no
existing MSYS.MSG file, then an empty one is created, with a
capacity of 100 messages.
This utility function can be used to change the size of an
existing MSYS.MSG file. You can increase or decrease the size of
the file. You can't make it smaller than the number of active
messages.
NOTES: There is a cost in memory requirements for each message
possible. Each message slot cost 138 bytes of memory; 100
messages (default maximum) thus takes 13800 bytes. A limit of 500
messages would take 69,000 bytes (even if there weren't that many
messages active).
VALUES I USE: I run with a 300 message maximum size. Normally I
have around 200 active messages.
DIALOG WITH FUNCTION: You are first asked for the name of the
MSYS.MSG file to modify:
Enter path to MSYS Mail Index file or just press return
to use MSYS.MSG: _
Normally you will want to just press the return key. If the
current directory from which you are running MUTIL does not
contain the MSYS.MSG file that you want to modify, you can
specify a different path (or even a different file name if you
have renamed MSYS.MSG for some reason).
This function will next copy the specified MSYS.MSG file to a
file called MSYS$$$.MSG which can be used to restore MSYS.MSG if
for some reason this function fails.
Next you are asked if you have run the Check Mail function
(function 4). You should run Check Mail just before this function
since attempting to change the maximum number of message slots
can produce very interesting (and usually bad) results if the
original MSYS.MSG file is corrupt. If you respond N then this
function terminates and you can then do the Check Mail function.
If you have just run Check Mail, then press Y to continue. Note
that you do NOT press return after either of these letters!
If you responded Y, then the function continues, telling the
current maximum number of messages, the current number of active
messages, and some other information. You are then asked for the
6-97
new maximum number of messages you want. This number must be
greater or equal to the number of active messages. It must also
be less than or equal to 1000.
If the value you ask for is acceptable, the file will be changed
to accommodate the new number.
Next you will be asked to press a key to continue (try the return
key). This pause is put in the function so that you can see any
additional messages that were produced before the screen is
cleared.
6-98
MUTIL Function 2 - Restore Messages from backup mail directory
INPUT FILE(S): MSYS.MSG
MAIL.BAK\MSG*.DAT
OUTPUT FILES(S): MSYS.MSG
MAIL\MSG*.DAT
This function allows you to restore messages that have been
deleted or otherwise lost from the normal MSYS.MSG index file
and/or MAIL directory. This restoration is possible only if the
directory MAIL.BAK exists (and has existed since before the
messages of interest arrived), and the messages have not yet been
removed from it.
The function allows you to look at the messages in the MAIL.BAK
directory and restore as active those you select.
NOTE: The format of the messages in the MAIL.BAK directory
includes additional information not found in the messages in the
MAIL directory. This includes the normal message header
information normally found in MSYS.MSG and the BID for the
message (if any).
NOTE: You are strongly advised to run the check mail function
(MUTIL function 4) BEFORE attempting to restore any messages!
NOTE: Restored messages will NOT reflect which stations a
bulletin has been sent to. Generally a restored message looks a
lot like it did when it first arrived. It may or may not have the
substitutions done to the @BBS or other fields done yet. EXAMINE
each restored message with the EMsg command when you get MSYS up
again!
DIALOG WITH FUNCTION: You are first asked for the name of the
MSYS.MSG file to modify:
Enter path to MSYS Mail Index file or just press return
to use MSYS.MSG: _
Normally you will want to just press the return key. If the
current directory from which you are running MUTIL does not
contain the MSYS.MSG file that you want to modify, you can
specify a different path (or even a different file name if you
have renamed MSYS.MSG for some reason).
Next you will get a menu with 5 functions:
F1 - Display a given message number
F2 - Restore a list of message #'s
F3 - Restore a range of messages
F4 - Display a range of message headers
F5 - Restore headers for message files without headers
F10 - Quit
F1 will ask you for a message number to display. If the message
6-99
exists in the MAIL.BAK directory, its header and text will be
displayed.
F2 will ask you for the message numbers to restore. If the mes-
sage already exists in the normal index file, or the message does
not exist in the MAIL.BAK directory, the restore will not be
done.
F3 will ask you for a starting message number and ending message
number to restore. After this it acts much as if each possible
message in the given range was specified for F2.
F4 asks for a starting message number and ending message number.
Messages that exist in the MAIL.BAK directory will get their
headers displayed. If no messages exist in the given range (or
the MAIL.BAK directory is absent) you will simply get the Press
Esc to continue message.
F10 terminates the restore operation. The MSYS.MSG file specified
at the beginning is sorted to get any restored messages in their
proper place and then the file is written to disk.
F5 Restore headers for message files without headers. This can be
useful when MSYS.MSG is severely damaged (or deleted).
COMMENTS: You will probably want to do F4 first to see what
messages are available to be restored unless you otherwise know
which one(s) you want to restore or look at.
6-100
MUTIL Function 3 - Print remote sysop phrase number table
INPUT FILE(S): MSYS.RMT
OUTPUT FILE(S): Hardcopy printer output (optional)
This function prints the contents of the MSYS.RMT file (used for
remote sysop verification). The output of this function can be
just the screen or also to the printer. The output consists of
printing the content of remote sysop phrase followed by a table
that gives the character at each position in the phrase.
DIALOG WITH FUNCTION:
You are asked if you want hard copy output (on the printer).
Respond Y or N as desired.
SAMPLE OUTPUT:
Sample phrase.
0 S
1 a
2 m
3 p
4 l
5 e
6
7 p
8 h
9 r
10 a
11 s
12 e
13 .
USAGE EXAMPLE:
If you did the \Sysop command as a remote user to get sysop
privileges and got the following reply:
Usage stats: Users=7 Msgs rcvd=3 Msgs sent=6 Max=12
you would type the following response:
pp e
6-101
MUTIL Function 4 - Check Mail index file integrity (CHKMAIL)
INPUT FILE(S): MSYS.MSG
MAIL\MSG*.DAT
OUTPUT FILE(S): MSYS.MSG
This function checks the integrity of the Mail index file
MSYS.MSG. It checks for such things as message slots on both the
free and active lists, loops in either of these lists and active
message numbers that do not have text files in the MAIL directory
(and vice-versa). It attempts to fix any errors if it can (and
its generally pretty good at doing it).
NOTE: It will not delete any message text files in the MAIL
directory if they don't have active headers. They will be
reported but you will have to delete them yourself if you really
don't want them. You probably won't really want them, but you
decide!
NOTE: This function may be run in a batch file through MUTIL
(without having to give its function number interactively) by
running:
MUTIL 4
SAMPLE NORMAL OUTPUT:
CHKMAIL - An MSYS Utility to verify mail index integrity
MSYS Mail Index Checker
head=0 free=1 next=2
Reading Index file:
There are 100 total message headers
Pass 1:
No cycles detected
No headers on both lists
All headers accounted for
No message files without headers
All active headers have files
Press a key to continue_
COMMENTS: I would strongly suggest you run this function every
time MSYS crashes for any reason (it should not crash often, if
at all). To be on the safe side, many MSYS sysops always run it
when they start MSYS.
6-102
MUTIL Function 5 - Test serial ports
INPUT FILE(S): None
OUTPUT FILE(S): None
This function provides a very basic test of serial interfaces. It
is designed mostly to see if you got the addresses/int numbers
right for your machine. It is not intended to be a brutal test of
their operation!
DIALOG WITH FUNCTION:
After a table is displayed that lists the normal addresses for
serial cards and corresponding interrupts, you will be asked if
your machine has an 8086/8088 CPU chip in it. If its a basic
PC/XT compatible system, respond Y. If you have an AT (80286) or
higher level machine, respond with N. If you have an 8088/8086
based system (PC class) then it will look for ints from 2,3,4,
and 7. If you say not 8088/8086 (AT class and above) it will
look for ints from 3,4,5, and 7.
Depending on your response, certain interrupt handlers will be
installed. You will then be asked for the address of the serial
card you wish to check. The answer you give must be in
HEXADECIMAL. A valid response might be 3F8, for example. A simple
check is made to see if there might be a serial port at the
address you specify. It is easily fooled if you specify the
address of some other kind of I/O interface.
If there seems to be a device at the address you gave, a quick
check will be made to see if it looks like an 8250 UART chip is
used in your serial interface. Internal loop back tests cannot be
done with the newer UART chips. If the test fails when you select
internal loopback, try the external loopback option. This
requires a connector that will connect pins 2 & 3 together in
place of the tnc you would normally connect. External loopback
can be used to test all types of UART chips.
Next you will next be asked for a baud rate to test at. Here you
give a decimal number as an answer. It probably doesn't make much
difference what you give. (Don't try 0!). I usually test at 1200
baud.
Now its your turn to type characters. As indicated, press Esc to
terminate the test. Normal response should be something like
Had IRQ 4 1 time(s), A received
if you press the letter a key. If interrupts aren't working you
would see
Received A without interrupt.
NOTE: This is not a performance test, just an address test.
6-103
MUTIL Function 6 - Print forwarding tree
INPUT FILE(S): MSYS.FWD
OUTPUT FILE(S): Printer hard copy (optional)
This function displays your forwarding file in two ways to tell
you what callsigns you forward to each bbs you forward to and
also to which bbs you forward each callsign.
DIALOG WITH FUNCTION:
You are asked if you want hard copy output (on the printer).
Respond Y or N as desired.
The first part of the output consists of lines like
AD8I ---> KA8Z KD8GC
which means that messages with @AD8I are sent to either KA8Z or
KD8GC (which ever one you can connect to first).
The second part of the output consists of lines like
KA3NVP <--- KA3NVP NTSNJ NTSNY NTSPA
which means that you forward messages with KA3NVP NTSNJ NTSNY and
NTSPA in some part of the @BBS field to KA3NVP.
NOTE: To pause the display, you must use ^NumLock (^S won't
work). To resume scrolling, press any other key.
6-104
MUTIL Function 8 - Run log file analyzer
INPUT FILE(S): MSYS.LOG
MSYS.MSG
OUTPUT FILE(S): Printer hard copy (optional)
This program produces a listing of BBS usage.
DIALOG WITH FUNCTION:
You are asked if you want hard copy output (on the printer).
Respond Y or N as desired.
SAMPLE OUTPUT:
=================================================================
From Wed Mar 01 15:23:48 1989 to Mon May 229 00:57:03 1989
Station Connects Sends Reads Kills Forwards
HClean 0 0 0 27 0
N8HTG 3 1 1 0 12
NT8V 0 1 1 0 0
WA8BXN 4 0 0 1 9
WB8ZZS 168 82 31 24 0
LAST
READ MSG# TO @BBS Count Title
May 18 1 TEST 1 test
Mar 23 7 TEST 2 test
May 28 2 TEST 3 test
Mar 02 8073 TEST 7 no title
MSGINs 84 MSGKILLs 97 MSGFWDs 21 MSGREADs 33
RESTARTs 331 QUITs 311 CONNECTS 175
The following messages were received but not killed:
1 2 3 20 21 8073
(These should be active messages on your BBS!)
=================================================================
NOTES: This data is taken from my test system which uses WB8ZZS
as its call (Thanks to my wife Ruth!) Many strange things happen
on this system as I am testing new software changes.
The first line of the report gives the period of time covered by
the contents of the MSYS.LOG file that was read.
The next section of the report lists stations that were active on
the BBS and what they did. The headings mean the following:
Station - Callsign of the station
Connects- Number of times the station connected (or the
SYSOP used the BB command).
Sends - Number of messages sent by this station
Reads - Number of messages read by this station
Kills - Number of messages killed by this station
Forwards- Number of messages forwarded to this station
NOTE: The callsign HClean indicates activity by the House
Cleaning routine.
6-105
The next section lists messages that were read during the period,
sorted in increasing order of number of reads. The meaning of the
headings is:
LAST READ - Date the message was last read
MSG# - The number of the msg on the bbs
TO - The "TO" station callsign of the message
@BBS - The "@" field of the message.
Count - The number of times the message was read
Title - The title of the message
NOTE: Private messages are not shown, only bulletins. This
section is useful to see what interest there is in the various
types of messages.
The next section provides overall counts of various activities:
MSGINs - The number of messages that were sent to the BBS
MSGKILLs - The number of messages that were killed
MSGFWDS - The number of messages forwarded by the BBS to
other systems. Note: If a bulletin is forwarded
to 4 different systems, it counts as 4 forwards
MSGREADs - Total number of Read commands used on BBS
RESTARTs - Number of times MSYS was started
QUITs - Number of times MSYS was gracefully shut down
using ^F4 or Quit command. Restarts - quits is
the number of crashes for whatever reason.
CONNECTS - Number of user connects to BBS + SYSOP BB cmds
The final section of the report gives a list of message numbers
that were assigned to messages sent to the system but not killed.
Normally these message numbers should be active messages on the
BBS. If they aren't, they may be messages to restore since they
got lost somehow.
6-106
MUTIL Function 9 - Run setup program
INPUT FILE(S): MSYS.OPT
OUTPUT FILE(S): MSYS.DEF
This function sets default initialization parameters. It must be
run before you can use MSYS and any time you change MSYS.OPT. It
is documented elsewhere in this document.
DIALOG WITH FUNCTION:
You are asked if you want hard copy output (on the printer).
Respond Y or N as desired.
6-107
MUTIL Function 10 - Scan message headers to create/add to
BBSLIST.DAT
INPUT FILE(S): MAIL.BAK\MSG*.DAT (or specified directory)
BBSLIST.DAT (if it exists)
OUTPUT FILE(S): BBSLIST.DAT
This program scans backup mail message files that are (or were
originally found) in the MAIL.BAK directory to determine what BBS
stations have been "seen" (using the R: lines added by each BBS
as it forwards a message).
DIALOG WITH FUNCTION:
You will be asked to give the name of the directory that contains
the messages to be scanned or to press return to use the MAIL.BAK
directory directly.
NOTE: This function may be run from a batch file by using either
MUTIL 10
--- or ---
MUTIL 10 dirname
In the first form (MUTIL 10) it will be assumed that the input
files are in the MAIL.BAK directory. In the second form (MUTIL 10
dirname) the files are assumed to be in the given directory name.
OUTPUT FILE FORMAT:
The first line of BBSLIST.DAT gives the date this function was
run to create or add to the file.
The remaining lines in the file consist of the following fields:
callsign of bbs
location of bbs
postal code of bbs
number of times this call has been seen
Note: If you choose to edit this file, be sure to keep things in
the same columns. Also note that the callsigns are lined up using
the digit of the callsign. The list is sorted by digit in
callsign, letters after the digit, and then letters before the
digit (pretty much callbook order). Calls that do not begin with
A, K, N, or W are grouped together at the end of the list, with
an * in the first position in the record (non-US calls).
6-108
MUTIL Function 11 - deletes old entries from BBSLIST.DAT and
BBSTONTS.DAT files.
6-109
MUTIL Function 12 - Fix mail index file
***** WARNING ***** This function can DEStroy the mail index file
INPUT FILE(S): MSYS.MSG
MAIL\MSG*.DAT
OUTPUT FILE(S): MSYS.MSG
This function allows manual inspection, checking and modification
of the mail index file. It is a utility I wrote to see what
DEStroyed a mail file and perhaps fix it. There is one function
that may be useful to most sysops, that allows you to specify the
next message number to be assigned to incoming messages. You may
want to do this if you were running some other bbs and want to
continue using message numbers from where you left off.
Personally I would suggest that you don't do this but rather
start with the default value 1. But its up to you!
NOTE: Make a copy of your existing MSYS.MSG file before using
this function!
NOTE: Most of the checking and repair functions have been
automated in the CHKMAIL function (MUTIL Function 4).
DIALOG WITH FUNCTION: You are first asked for the name of the
MSYS.MSG file to modify:
Enter MSYS message header file name or simply press
return for MSYS.MSG: _
Normally you will want to just press the return key. If the
current directory from which you are running MUTIL does not
contain the MSYS.MSG file that you want to modify, you can
specify a different path (or even a different file name if you
have renamed MSYS.MSG for some reason).
To change the number that will be assigned to the next message,
use the following procedure:
Select F8 (Manual changes)
Select F5 (Change Next)
Enter new value for next message number to be used.
Select F10 (Return to previous menu)
Select F9 (Save changes and quit)
Renumbering Messages
All active messages may be renumbered using MUTIL function 12.
You should renumber your messages when you reach about message
number 64000. As message numbers increase above this they will
wrap around back to 0 if you don't use this function. Some of the
L command options will not work properly if newer messages have
numbers smaller than older ones.
To renumber the messages, go through the following steps:
1 - Start the MUTIL program
2 - Type 12 and return
6-110
3 - Press return to accept use of MSYS.MSG
4 - Press F8 for manual changes
5 - Press F6 for Renumber messages
6 - Type new starting message number (1 is good) then
press return
7 - Press F10 to return to previous menu
8 - Press F9 to save changes
9 - Press return to go back to main menu
10 - Type 99 and return to exit
MSYS.MSG FILE FORMAT: (For the adventuresome only!)
(If you know what you are doing,
this will make some sense to you)
int head; /* slot number of head of active list */
int free; /* slot number of head of free list */
int next; /* next message number to be assigned */
/* Each slot has the following definition: */
struct msghdrdef {
unsigned mmsgnr;
unsigned char mmsgtype[3];
int mmsgsize;
unsigned char mmsgto[7];
unsigned char mmsgfrom[7];
unsigned char mmsgatbbs[39];
unsigned char mmsgdate[7];
unsigned char mmsgtitle[40];
long mmsgbits;
unsigned char mmhbbs[8];
unsigned char mmsgtries;
unsigned char mmsgbid[15];
int mmsglink;
};
/* Note: word alignment is forced for all ints & longs */
6-111
MUTIL Function 13 - Process BBSLIST.DAT into BBSTONTS.DAT
INPUT FILE(S): BBSLIST.DAT
ZIPCODES.DAT
STATES.DAT
ROUTES.DAT
OUTPUT FILE(S): BBSTONTS.DAT
This function builds a list of BBS calls (and optionally zip
codes) and the corresponding xx designator to which they should
be forwarded.
If you select processing US BBS calls by state the data found in
BBSLIST.DAT is scanned for state and zip code. The state is
identified as being something after a comma in the location field
that matches the list of state two letter codes found in the
STATES.DAT file. If only one state is found and it corresponds to
the zip code found, then the BBS call is automatically assigned
to xx where xx is the state abbreviation. If either of these
pieces of information is missing, or they do not match the test
fails and you are asked to decide what state the bbs belongs in.
DIALOG WITH FUNCTION:
You will be asked if you want to include state routings for
ZIPCODES. You should reply Y the first time you are creating the
BBSTONTS.DAT file. Otherwise reply N. If you delete BBSTONTS.DAT
for some reason, you should reply Y the first time you create a
new one.
If the state of the BBS cannot be automatically determined, you
will get a screen that looks like this:
=================================================================
WB8ZZS KIRTLAND OH 44026 (4)
State/ZIP check failed - Zipstate OH
Enter two letter state code then <Return key> or press <Escape
key> then <Return key> to ignore or just press <Return key> to
use OH
=================================================================
The first line of this screen is the line from BBSLIST.DAT that
is being considered. The next line gives the state that
corresponds to the zip code (if available). The third line gives
the guess that can be accepted if you just press return. If the
guess is good, hit return. If you want to use a different state,
type the two letter code for that state and then press return. If
you want to omit this call from the output file, press some non-
letter key before pressing return. Space bar, return works well.
In this example, the state could not be identified because there
is no comma between the city and the state. (It would be nice if
6-112
everyone used standardized R: lines!) The guess of OH was made
from the zip code alone.
When the US calls have been processed, you will be asked if you
want to process non-US calls. If you have earlier choosen not to
process US calls by states/zipcodes, the US calls will be
processed with all the other calls if you choose to process non-
US calls. This feature is useful for non-US hams that handle all
US messages as just going to the US.
If you choose to process the calls at this point, you will be
presented with screens that list an entire entry from the
BBSLIST.DAT file. Following this line will be the callsign of the
BBS identified from the line. Using the call prefixes found in
the ROUTES.DAT file, a guess will be made as to what routing
should be used for the given call. You may then choose to ignore
the call, to use the routing obtained from the call prefix (if
any) or to type the complete route you desire.
A sample screen might look like this:
=================================================================
* WB8ZZS KIRTLAND OH 44026 (4)
Callsign: WB8ZZS
Possible route: USA.NA
Press <Escape key> <Return key> to ignore
Type desired routing then press <Return key> or
just press <Return key> to use USA.NA
=================================================================
BBSTONTS.DAT FILE FORMAT:
This is an ASCII file containing in bytes 1 to 9 a BBS call or
zipcode (left justified, possibly with wildcard * indicator), and
the corresponding designator to which messages for that BBS call
or zip code should be forwarded beginning in position 10. Example
lines:
89* NV
WB8ZZS OH
VK1XX AUS.AS
NOTE: Bulletin routing designator (like ARRL) should NOT appear
in this file.
NOTE: The file is sorted in ascending order using the entire
record as key.
NOTE: There should be no duplicates of calls/zip codes found in
the first 9 bytes of the records.
6-113
ROUTES.DAT FILE FORMAT:
This is an ASCII file that contains callsign prefixes and
routings. The callsign prefix begins in the first byte.
Comparisons are made with the BBS call for the length of the
prefix from this file. The routing field begins in byte 9 (a tab
character can be used to get here). Here are some sample entries:
4X ISR.AS
9M2 MYS.AS
A USA.NA
The idea here is that incoming messages for a given bbs will get
the routing appended to the @BBS field. Thus if someone sent a
message to 4X1ABC @ 4X1XYZ the @ field would become
@4X1XYZ.ISR.AS
It is expected in your forward file you would either have
provisions to route the country part (ISR) to some bbs, or the
continent part (AS) to some bbs. Thus to route foreign messages,
you might just have all the continent designators (like EU, AS,
NA etc) in your forwarding file or you can be more selective.
Remember that you can have some countries along with the
continent routings in your forward file. The part of the @BBS
from left to right that is found in the forwarding file is the
one that is used. If you do a lot of direct forwarding to various
countries that can be accommodated; if you just dump all foreign
stuff on a single station that is easy too. Feel free to modify
the contents of ROUTES.DAT as you see fit; I have just included
country prefixes for countries for which I seen message headers
pass through my system.
The following program may be used to create a BBSLIST.DAT file
from the BBSTONTS.DAT file supplied on distribution disk:
10 OPEN "BBSTONTS.DAT" FOR INPUT AS 1
20 OPEN "BBSLIST.NEW" FOR OUTPUT AS 2
30 IF EOF(1) THEN CLOSE:END
40 LINE INPUT #1,A$
50 I=1:C$="": WHILE MID$(A$,I,1)<>" " :C$=C$+MID$(A$,I,1):
I=I+1: WEND
60 D$=MID$(A$,35,6)
70 H$=MID$(A$,10,25)
90 IF LEFT$(D$,2)="99" THEN 30
100 X$=LEFT$(C$,1): IF X$>="0" AND X$<="9" THEN 120
110 X$=MID$(C$,2,1): IF X$>="0" AND X$<="9" THEN C$=" "+C$
120 PRINT #2,C$;TAB(8);H$;TAB(74);D$
130 GOTO 30
You may use a text editor to extract the program from this file.
The result of this program is put in a file called BBSLIST.NEW.
It may be renamed to BBSLIST if you don't have one already. Or
you can merge your file with this one by using the following
commands:
copy BBSLIST.DAT+BBSLIST.NEW TEMP
del BBSLIST.DAT
ren TEMP BBSLIST.DAT
6-114
Then run MUTIL function 20 to sort the file and discard the
duplicates from the BBSLIST.NEW file.
6-115
MUTIL Function 14- Scan BBSTONTS.DAT to build BBSTONTS.BIN
INPUT FILE(S): BBSTONTS.DAT
OUTPUT FILE(S): BBSTONTS.BIN
This function builds an index of the calls in the BBSTONTS.DAT
file, placing the index at the beginning of the BBSTONTS.BIN
file. After the index, the contents of BBSTONTS.DAT is copied to
BBSTONTS.BIN.
DIALOG WITH FUNCTION:
This function does not require any keyboard input.
NOTE: The format of the resulting file is such that no attempt
should be made to edit it. With care, BBSTONTS.DAT may be edited
and the result then processed by this function.
NOTE: The file BBSTONTS.BIN is used by MSYS. The files
BBSTONTS.DAT and BBSLIST.DAT are NOT used directly used by MSYS
and may be stored on a diskette, if desired, when MSYS is
running. I just keep them in the normal MSYS directory.
6-116
MUTIL Function 15 - Build list of archived messages
This newly documented function will look at messages found in a
given directory (in MAIL.BAK format) and construct a file of the
message headers. The result is a file of all your messages like
doing a L command on the BBS for every message that has passed
through your system. You can use the grep function on it to find
messages with some particular string of characters in their
header line. I use it to find a message when I think to myself "I
remember there was a message about ... one time". Then knowing
the message number you can go back to your archive diskettes and
extract the complete text.
6-117
MUTIL Function 16 - Printer status
This function provides a very simple printer test to see if its
connected and can be initialized.
6-118
MUTIL Function 17 - merge BBSLIST.DAT files
This function takes as its input your current BBSLIST.DAT file
(which it first renames to BBSLIST.BAK) and another file you
specify (in the same format as BBSLIST.DAT) and merges the two
files into one called BBSLIST.DAT. I use this function to merge
the BBSLIST.DAT file that some of the users of MSYS have sent me.
This allows me to include in my file some bbs calls that normally
would not have been seen in messages passing through my system.
6-119
18 Check MSYSNODE.DAT integrity
6-120
19 Convert user files 1.05 & before <===> 1.06 and later
6-121
20 Sort calls in the BBSLIST.DAT file
6-122
MUTIL Function 21 - Delete Old BIDS (and MIDS)
This function deletes old bids/mids from the file BID-
LIST.DAT. It asks for the number of days worth of bids that
should be kept. Run it periodically (maybe once a month). The bid
file can hold up to 6500 entries; the more it has the slower it
works.
6-123
MUTIL Function 22 - Specify file name to use in place of printer
The file you specify will be opened and will receive any
output that would normally go to the printer. Any existing data
in the given file will be lost. If you want to abort this func-
tion,simply press return when asked for the file name.
6-124
Information for Advanced Users
I. Replaceable directory names
Beginning in MSYS 1.04 you can specify alternate directory
names to be used by MSYS in place of the standard ones by using
appropriate DOS set commands. The directory names that can be
replaced and their default values are:
Default Set DOS variable
Dir Name to replace
-------- ----------------
FILES MSYS:FILES
FWD MSYS:FWD
HELP MSYS:HELP
MAIL MSYS:MAIL
MAIL.BAK MSYS:MAIL.BAK
As an example, assume you have a RAM disk at drive E: and
have set up a directory called HELP on E: and copied the normal
help files to this directory. You can then issue the following
DOS command before starting MSYS:
set MSYS:HELP=E:HELP
and now MSYS will get the help files from the E:HELP directory.
NOTE: You must be very careful in using a RAMDISK since its
contents are easily lost. Also, you should probably not use a
RAMDISK that takes space out of the normal 640K address space.
NOTE: You are not limited to using RAMDISKS in specifying the
disk and/or directory to be used for the above directories. You
could specify floppy and/or hard disks as well.
II. Replaceable file names.
You can also replace the following file names of files
normally found in the "MSYS" (default) directory. Judicious
choices can speed up operation and/or let you make use of
multiple disk drives. Poor choices can be a disaster!
Default File Set This DOS
Name Parameter to replace: Notes
------------- --------------------- -----
BBSTONTS.BIN MSYS:BBSTONTS.BIN (1)
MSYS.FWD MSYS:MSYS.FWD (2)
MSYS.HRD MSYS:MSYS.HRD (3)
MSYS.LOG MSYS:MSYS.LOG (3)
MSYS.MSG MSYS:MSYS.MSG (4)
MSYS.USR MSYS:MSYS.USR (4)
MSYSHOST.NET MSYS:MSYSHOST.NET (5)
MSYSBBSB.DAT MSYS:MSYSBBSB.DAT (2)
MSYSPASS.DAT MSYS:MSYSPASS.DAT (5)
6-125
Notes:
1 - Very good candidate for ram disk (read only)
2 - Good to put on ram disk if you are careful (changed by MER)
3 - These can be made NUL if you don't want them
4 - If you like to live very dangerously, consider putting them
on ram disk. Otherwise keep them on hard disk. Updated
frequently during normal operation, they are very important
files.
5 - Good for ram disk if you run tcp/ip much. Read mostly.
Example: Assume you still have a ram disk at E: and have copied
the normal contents of BBSTONTS.BIN to that disk. You could do
the following DOS command
set msys:bbstonts.bin=e:bbstonts.bin
to cause MSYS to read the file from your ramdisk.
NOTE: With all these changes you can make you can configure a lot
in terms of files now. Be careful of file sizes (MSYS.LOG grows
endlessly) when thinking about where to put things.
NOTE: The programs in MUTIL assume the files are where they
should be and totally ignore any replacements you may have made
of file names and/or directory names.
NOTE: If you are not absolutely sure of what you are doing, don't
(do anything with these facilities).
NOTE: If you crash your system, don't blame it on me! If you
think one of these replacements doesn't work right let me know.
NOTE: Before you try any of this, MAKE BACKUPS OF EVERYTHING!
NOTE: Good luck!
NOTE: This function hasn't been exhaustively tested yet!
6-126
EDITVIEW (ED Command) #
(c) Copyright 1991 by HUB COMPUTERS, INC.
The ED command used from the MSYS command mode can be used
to edit small text files. The file is limited to records each 80
bytes or less in length. By default up to 200 records may be in
the file. This can be modified by giving the maximum number of
lines after the file name. The intent of this editor is to do
little things without having to take down the system to run a
more powerful editor. These might include editing message texts,
the forward file, etc.
ED is a full window editor (it adjusts its operation to fill
the window it is run in). It must be run in a window that is 80
characters wide. Thus using the default window definitions it can
be run in the normal command window (0) or you can use the
CMdwindow command to first go to window 4 (the one you get when
you press F4) and then use the ED command. You will then be using
the entire screen for your editing.
ED is pretty much a what you see is what you get editor.
There are two modes of operation. When you start the editor you
are in full screen or edit mode in which changes you make to the
screen are also made to the file. In this mode you get a line at
the bottom of the window that gives such information as the
current line number and the name of the file being edited.
The other mode is command mode in which you give commands to
be done by the editor. To enter command mode press the Escape
key. The bottom line will change to Edit Cmd: and await your
command. The command you type will appear on this bottom line. To
get a list of available commands type Help. You should see
something that looks like the following:
Commands
Find - locates given string. Example: F wa8bxn
Notes: Not case sensitive. F10 from edit mode is find
same string again.
Insert - puts blank line at beginning of file
QUIT - Abandons edit
SAVE - Saves file and exits
DELete - Delete specified # of lines from file beginning
with current line
Return key in edit mode with insert on inserts blank lines
Press a key to return to edit
Use of the keypad to move around in the file is what is
expected of the labeled keys, with the following enhancements.
If you are somewhere in a line and you press the Home key you go
to the beginning of the current line. If you are the
beginning of the current line and press Home you go to the
beginning of the screen. If you are at the beginning of the
screen, pressing Home takes you to the beginning of the file.
7-127
EDITFILE (EF Command) #
(c) Copyright 1991 by HUB COMPUTERS, INC.
The EF command used from the MSYS command mode can be used
to edit small text files. The file is limited to records each 80
bytes or less in length. By default up to 200 records may be in
the file. This can be modified by giving the maximum number of
lines after the file name. The intent of this editor is to do
little things without having to take down the system to run a
more powerful editor. These might include editing message texts,
the forward file, etc.
This isn't a full screen editor but rather a line editor
that was influenced in its design by the UNIX editor. Plain and
simple, nothing fancy is found in it. To begin editing, use the
command EF filename when you have the cmd: prompt. The filename
can contain drive and path information. If the file does not
exist you will be given the option to create one by that name.
To create a new file this way, use the Append command. Type
the lines of the new file and then a line with a period at the
beginning to exit append mode. Then use the commands Write
and Quit (each followed by the return key) and you have created a
new file. All of the commands can be shortened to the first
letter of the command, except for the DElete command which
requires at least the first two letters.
Here is information about the commands:
# (i.e., a line number) makes that line the current line and
also displays it
+ # Makes the current line # more than it is now. If # is omitted
then the current line is incremented by one.
- # Same as + # except current line number is decremented.
<ESCAPE> Using the Escape key followed by the Return key abandons
edit with no changes made to the file (unless you used the
Write command yourself).
<RETURN> Pressing the Return key alone displays the next line and
makes it the current line.
Append enters input mode, placing the following lines of input
AFTER the current line. A line beginning with a period
terminates append mode.
Bottom makes the last line the current line and displays it.
Change can be used to replace part of the current line. The first
non-blank character after the command is the quote character.
The operands are quote-character string-to-replace quote-
character replacement-string quote-character. For example,
C /YXZ/abc/
would replace XYZ in the current line with abc. The line is
7-128
printed after it is displayed.
DElete can be used to delete the current line. If a number is
specified as an operand, it is the number of lines to delete
beginning with the current line.
Down moves the current line down the number of lines specified
(or 1 if none is specified).
Find uses the first non-blank character after the command word as
the beginning of the search string. The search is from the
current line on in the file. Case is NOT important. If a
match is found the line is displayed and that line becomes
the current line. If no match is found the current line
remains unchanged.
Help displays the list of commands.
Insert is like Append except that the new lines are placed BEFORE
the current line.
Near displays the contents of the file 5 lines before and 4 lines
after the current line which remains unchanged.
Print with no operands displays the current line. Give 1 operand
it displays the line with that number. Given 2 operands
(separated with a blank or comma) it displays from the first
to the second line number. The current line number remains
unchanged.
Quit is used to exit the editor after the file has been written.
Top makes the first line (numbered 0) the current line and
displays it.
Up decrements the current line number by the number given or 1.
View displays the current line and the 9 lines that follow it.
The current line remains unchanged.
Write causes the file to be written to disk with any changes that
have been made.
^F is used to search again for the same search string give with
last use of Find.
To start the editor, type EFile filepathname [# of lines max].
Examples:
ef msys.fwd 250
ef mail/msg25.dat
efile a:f1.c
7-129
HOUSECLEANING (HC command) #
(c) Copyright 1991 By HUB COMPUTERS, INC
MSYS.HCL
You create a file called msys.hcl. In it you put lines describing
classes of messages you want to eradicate. Each line should
contain one or more of the following keywords:
AT= TO= FROM= AGE= TITLE= TYPE= KEEP= SYSOP=
So for example:
AT=ARRL AGE=30
would delete all messages with @BBS of ARRL that are over 30 days
old. If specified, the values of AT TO and FROM must match
exactly for a message to be deleted. TITLE and TYPE if specified
must match some part of their corresponding message header
fields; case is ignored.
KEEP can be used to specify a number of msgs that match the other
values given that should be saved anyway.
Example: TO=ALL AT=ARRL TITLE=PFB KEEP=2
Would keep the newest two messages to ALL@ARRL with PFB somewhere
in their title. The value of title given cannot contain blanks.
SYSOP=Y has to be specified in any line that you want to delete
messages that are to the idcall of the bbs.
Thus to delete all read messages (including one to you) you could
have a line: TYPE=PY SYSOP=Y The following line deletes read
messages, except those to you: TYPE=PY
The effects of these lines can be far reaching. For example, if
you put in the line: KEEP=5
Then it will delete all but the 5 newest messages!
All this action takes place when you type HClean NOW
or at a time specified as a numeric parameter to HClean. HC 120
would cause it to happen at 02:00 (number given is minutes after
00:00 [midnight] to begin housecleaning).
msys.hcl file as an example:
at=arrl age=21
at=okipn age=10
at=panet age=3 type=#
at=alloh age=10 type=#
at=neoh age=10 type=#
at=allbbs age=7 type=#
at=rlibbs age=7 type=#
at=amsat age=7 type=#
at=midnet age=3 type=#
at=usnet age=3 type=#
at=wpab age=3 type=#
at=arrl title=pfb keep=1 type=#
8-130
at=arrl title=dx keep=1 type=#
at=arrl title=keplerian keep=1 type=#
type=# title=sale age=2
type=# title=need age=3
type=# age=35
type=py keep=1
type=pf keep=2
type=tn age=21
type=pn age=60
to=sysop age=7 type=#
At the end of housecleaning, the file MSYSHCL.DO is done (as a DO
file) if it exists.
8-131
MODEM Support
(c) Copyright 1991 by HUB COMPUTERS, INC.
One or more modems may now be connected to MSYS. Each re-
quires its own port. In the port command in MSYS.OPT for each
modem, the speed value is the rate at which the modem is to be
operated on the phone line.
Note that only one speed is possible for each port. You should
set radio speed to 1200 baud independent of phone line speed and
also select a tnc file. Here is a sample MSYSTNC.9 file I used
for testing with comments (not actually in the file) that begin
with :
ATZ : reset modem
ATS0=1 : answer on one ring
ATQ1 : don't send any result codes
ATM1 : turn on speaker during call setup
When the computer answers the caller will have to give two
values, one for what is called "call" and another for "password".
These values, in the case typed, must be found on a line in a
file called MSYSPASS.MOD. A third entry in each line of this file
is required and is the callsign that the caller will appear to
have connected with on the bbs. Thus the first response doesn't
have to actually be a callsign. All functions normally available
on the bbs from a radio connection are available via the modem
including remote sysop if so authorized. If the correct informa-
tion is not provided in two attempts the modem hangs up, as it
does when the Bye command is used by the caller or the channel is
disconnected by the sysop. There is no timeout timer on the
modem.
In the PORT statement in the MSYS.OPT file mentioned above, a
modem is identified by giving a port the name MODEM.
Carrier Detect must reflect real CD. That is be true when someone
is connected and false otherwise.
DTR must also be connected.
A parameter can be added at the end of the lines in MSYSPASS.MOD
(after the "password"). If NETNODE (must be all caps) is given,
then the caller will be connected to the network node instead of
the BBS. Use this option with CAUTION! Here is a sample line:
wombat poobear WA8BXN NETNODE
Modem forwarding support. In your forwarding file, you put a F#,
R#, or P# line followed by the things to forward. The format of
the F,R and P lines are identical except for the letter. This
format is different from what would be used for packet forwarding
and is as follows:
F# callsign phone# callword password
where # is the port number, callsign is the call of the station
you are forwarding to, phone number is the string to send to the
modem to dial, callword is the reply to give to Call:, and pass-
word is the reply to give to Password: (questions asked by the
8-132
destination MSYS system when you call it). Example:
F1 WA8BXN ATDP5551212 swiss normal
Note: Everything is converted to upper case. Thus the station you
are calling must have UPPER CASE values for your callword and
password. The station you are calling must be running 1.11 or
higher.
Modem activity is monitored on the F2 screen.
8-133
Sysop commands related to TCP/IP #
(c) Copyright 1991 by HUB COMPUTERS, INC.
MYIpaddr takes four integers in the range 0 to 255. It sets the
IP address that the system will respond to. Example: MYI 44 70 4
6 If MYIpaddress is not specified, or set to all zeros, the
TCP/IP support will be inactive.
MYTcpip takes a callsign (with SSID) that will be used when
sending arp and TCP/IP frames. It can be the same as the ID call
in most cases.
TElnet takes an IP address and optional server number as
parameters. A symbolic IP address may given to be looked up in
the file MSYSHOST.NET. Default server is 23. This command is used
to establish keyboard to keyboard connection with a TCP/IP
station.
Examples: TE [44.70.4.10]
te hsp (hsp would have to be defined in
MSYSHOST.NET)
TElnet operates much like C# normally used to connect to AX.25
stations. ^Cd is used to disconnect.
TPorts takes a port mask value as an argument. This number is
used the same way as in the other similar commands: each port
corresponds to a port (port 0 is the rightmost bit) and when the
bit is set to 1 for a given port that port is available for
TCP/IP use (particularly ARP broadcasts).
ARP used without an argument lists the known callsign/IP address
correspondence determined by TElnet connects. An optional
argument, CLEAR, may be used to erase all of the ARP entries.
FTP takes a host-id as an argument (it can be either an IP
address in the square brackets or a symbolic IP address). It
establishes a connection to the FTP server of the specified
system. FTP is the File Transfer Protocol used in TCP/IP.
SMTP allows local access to the SMTP server (mainly for test
purposes).
Note: The following servers are currently implemented in MSYS:
7 Echo
9 Discard
21 BBS
23 Telnet
25 Simple Mail Transfer Protocol
87 Local keyboard
*** Files related to TCP/IP:
MSYSHOST.NET This is an Ascii file you create with an editor
(such as the MSYS ef command). Each line in the file begins with
8-134
an IP address that includes the periods but not the square
brackets around it. Following this there is at least one space
and/or tab character, then the list of symbolic names (or
aliases, or nicknames, what ever you want to call them). You
may place comments on the line by beginning the comments with a
pound sign (#). Example entry line for this file: 77.70.4.6 bxn
mike wa8bxn # kirtland, oh This line would allow "bxn" "mike" or
"wa8bxn" to be used as arguments in the TElnet and FTP commands.
Note that WA8BXN here just happens to look like a callsign. The
actual callsign (and SSID) associated with a particular IP
address is determined by ARP (address resolution protocol)
broadcasts. These symbolic names you define in this file
simply relieve you of having to remember (and type) complete IP
addresses. Nothing more, nothing less!
MSYSPASS.DAT This file contains the user names and passwords for
FTP users. Each line contains 3 or 4 items: username password
access directory Username is the name the user will use to log
in. It can be anything for a given user. It could be
their callsign or something else. The password can also be
anything. If you put * as the password in the file for a par-
ticular, any password given by the user will be accepted. The
third entry on each line, access, is a number that says how
much access the user will have to your system: 1 means can
only read files, 3 means read and write (but not replace or
delete) and 7 means read, write, replace and delete. You
shouldn't set 7 for any user since the passwords given by a
user can be monitored by others. The last item which should
always be given is the root directory that the user will have.
They may never go closer to the real root than what you give
here. Here are some examples:
anonymous * 1 files --- this allows user anonymous to read
any files in MSYS/FILES and any of
its subdirectories. Any password can
be given for this user. Anonymous
with * for the password is an
expected "standard" entry for TCP/IP
systems to give access to totally
public files. Include it in your
system.
apple runtime 3 --- This allows user apple (who must give
password runtime) read/write access
to your entire disk (DEFAULT
DIRECTORY IS THE REAL ROOT
DIRECTORY!)
*** USER ACCESS NOTE
Access level chart
Level 1: CD DIR GET PWD QUIT
Level 3: PUT MKDIR
Level 7: PUT (to replace existing file) DELE RMDIR
8-135
If you are going to allow level 7 access (ie, can do everything)
I would suggest you also assign a directory that doesn't allow
access to any needed files. For example, you might set up the
following entry in the MSYSPASS.DAT file:
WA8BXN MIKE 7 /MSYS/FILES/WA8BXN
You will have to create a directory WA8BXN in the files
directory. Now stations can log in with WA8BXN MIKE and do
anything in /MSYS/FILES/WA8BXN and any directories found in this
directory.
If you set up ANONYMOUS * 1 /MSYS/FILES then the user
ANONYMOUS can read anything put in the WA8BXN subdirectory of
FILES (as well as in FILES itself) but not write or otherwise
change anything. The rest of your files should be pretty well
protected.
*** FTP COMMANDS:
When you use the FTP command to connect to another system you can
type HELP to get a list of the supported commands.
They currently include:
CD dirname To move around in the directory structure
CD with no arguments gives the current directory
DELE filename To delete given file
DIR filespec gives a directory listing
GET filename downloads a the given file
MKDIR makes a directory
PUT filename uploads the given file
syntax is put [localfilename] remotefilename
If the optional localfile name is omitted it is assumed
to be the same as the remote file name.
PWD gives the current directory
QUIT disconnects
RMDIR dirname removes the given directory
FTP function will give an estimate on the number of bytes
transfered during GET and PUT commands.
*** IP Routing:
What does this mean? Its sort of like digipeaters for the
TCP/IP world. If a TCP/IP user sets you up as a route for IP
frames going to a particular IP address MSYS will now repeat them
if it has (or can get through an ARP request broadcast) a known
route to the DEStination IP address. Consider the following
fictitious example: W9AAA [44.60.1.1] is in Indiana and wishes to
connect to W3AAA [44.80.1.1] in Pennsylvania but can't do it
directly. W9AAA can reach W8AAA [44.70.1.1] in Ohio who can in
turn reach W3AAA.
W9AAA will set up the route to [44.80.1.1] to be W8AAA (an MSYS
system). When attempting to connect to W3AAA (using Telnet, for
example) will send out a SYN IP frame (connect request) to
8-136
callsign W8AAA but with an IP address of [44.80.1.1], the IP
address of W3AAA. W8AAA upon hearing this will check its ARP
table to see if it knows how to get to [44.80.1.1]. If the entry
is not there, W8AAA will do an ARP broadcast on all the ports
enabled for TCP/IP. W3AAA will respond on one of them and this
will put an entry in the ARP table. Now when a SYN is heard from
W9AAA it will be repeated by W8AAA and thus heard by W3AAA.
To use IP ROUTING yourself in MSYS you use the arp add command.
When adding a given IP address you would put the call of the
TCP/IP station you want to use as an IP repeater in place of the
call that belongs with the IP address. You can still use normal
ax.25 digipeaters (up to 8) to reach the TCP/IP station.
If the path from W8AAA to W3AAA in the above example was not
direct, then the following arp entry could be done at W8AAA,
assuming that K8AAA is a normal ax.25 digipeater:
arp add W3AAA port# 44 80 1 1 K8AAA
NOTE: For more on TCP/IP refer to The KA9Q Internet Software
Package.
In the TCP/IP related ARP command, use -2 as the port number for
routing through the network interface.
8-137
Samples of MSYS files #
(c) Copyright 1991 by HUB COMPUTERS, INC.
*** MSYS.OPT:
PORT 0 AT $3F8 INT 4 SPEED 4800 NAME 145.090
PORT 1 SUBPORT 1 OF PORT 0 NAME 220.52
PORT 2 AT $2f8 INT 3 SPEED 4800 NAME 145.030 RADIOSPEED 300
TNCTYPE 1
NUMCHANS 10
DIGI N8HTG-1 FROM 0 TO 1
DIGI NT8V-1 FROM 0 TO 1
DIGI N8HTG-1 FROM 1 TO 0
DIGI NT8V-1 FROM 1 TO 0
DIGI N8HTG-3 FROM 1 TO 2
DIGI NT8V-3 FROM 1 TO 2
DIGI N8HTG-3 FROM 2 TO 1
DIGI NT8V-3 FROM 2 TO 1
DIGI N8HTG-6 FROM 0 TO 2
DIGI NT8V-6 FROM 0 TO 2
DIGI N8HTG-6 FROM 2 TO 0
DIGI NT8V-6 FROM 2 TO 0
bbs alias NT8V
BBS CALL N8HTG
ANSWER CALL N8HTG-13
KANODE CALL N8HTG-8
SYSOP NAME Lee
SYSOP QTH PORT HURON, MI.
SYSOP ZIP 48060
ID CALL N8HTG
FORWARD CALL N8HTG-15
STACK FORWARD 8000
STACK DECODE 1500
STACK CALL 4000
FORWARD TIME 10
ID EVERY 45
MONITOR OUTGOING ON
MONITOR IFRAMES ON
MONITOR UFRAMES ON
MONITOR BFRAMES ON
AX25 RETRIES 10
WINDOW 0 BACKGROUND 0
WINDOW 5 BACKGROUND 0
WINDOW 6 BACKGROUND 0
WINDOW 2 BACKGROUND 0
WINDOW 3 BACKGROUND 0
WINDOW 5 FOREGROUND 10
WINDOW 6 FOREGROUND 9
WINDOW 2 FOREGROUND 12
MAKE
*** MSYS.DO:
WS 0 1 1 80 17
8-138
WS 5 50 19 80 25
WS 2 1 19 48 21
WS 6 1 22 51 24
retries 5 5 5
maxframes 4 4 4
frack 15 15 15
paclen 128 128 128
BD 0 NM8X
BT 0 N8HTG PBBS -- PORT HURON MI.
BD 1 KV8G-3
BT 1 N8HTG PBBS -- PORT HURON MI.
MAKEP OFF
TIMEZONE UTC
MONST OFF
MYI 44 102 0 75
MYT N8HTG-4
TP 2
host xt.n8htg.ampr
BELL ON
*** MSYS.OTD:
<<< K-NODe = N8HTG-8 #### GATEWAY = N8HTG-1 145.03 <-> 145.09 >>>
*** MSYSK.OTD:
< Please try N8HTG PBBS ### N8HTG-1 Gateway 145.030 <-> 145.090 >
*** MSYS.REP:
48060 NTSMI 48060 N8HTG
48040 NTSMI 48040 N8HTG
48001 NTSMI 48001 N8HTG
48002 NTSMI 48002 N8HTG
*** MSYS.RMT:
TEST PHRASE
*** MSYSBBSB.DAT:
25 VE3WZL
26 WA8BXN
27 WB8I
28 N8HTG
29 VE3GYQ
30 WA8OOH
*** MSYSFWD.DEF:
F1 WA8BXN
WA8BXN
----------
F0 WB8I V NM8X-1
8-139
WB8I
----------
*** MSYSHOST.NET:
# IP address host name alias # comments
#
44.102.0.74 xt.nt8v.ampr nt8v #roy
44.102.0.75 xt.n8htg.ampr n8htg #lee
*** MSYSPASS.DAT:
guest * 3 public
nt8v roy 3
n8htg lee 3
k8dd hank 3 public
*** MSYSTNC.1 (AEA PK-232):
VHF OFF
HB 300
AWLEN 8
PARITY 0
CONMODE TRAN
TRACE OFF
HID OFF
BE 0
passall off
RAWHDLC ON
HP OFF
PP ON
KISS ON
HOST ON
host on
8-140
BIT PATTERN CHART #
(c) Copyright 1991 by HUB COMPUTERS, INC.
To be used for DPorts, KPorts, MONPorts, NPorts and TPorts
[ PORT 3 2 1 0 ] 1=ON 0=OFF
0 0 0 0 0
1 0 0 0 1 0-ON
2 0 0 1 0 1-ON
3 0 0 1 1 1,0-ON
4 0 1 0 0 2-ON
5 0 1 0 1 0,2-ON
6 0 1 1 0 2,1-ON
7 0 1 1 1 0,1,2-ON
8 1 0 0 0 3-ON
9 1 0 0 1 3,0-ON
A 1 0 1 0 3,1-ON
B 1 0 1 1 0,1,3-ON
C 1 1 0 0 3,2-ON
D 1 1 0 1 0,2,3-ON
E 1 1 1 0 1,2,3-ON
F 1 1 1 1 ALL ON
8-141
Frequent problems and notes from the author #
(c) Copyright 1991 by HUB COMPUTERS, INC.
If you have problems getting MSYS going here are some things to
try that have helped many who have called:
1. Make sure you have FILES=20 and BUFFERS=20 in
CONFIG.SYS
2. Try adding STACKS=0,0 to CONFIG.SYS
3. Get rid of anything resident (check AUTOEXEC.BAT and
CONFIG.SYS)
4. Run MUTIL 4 (do this every time you start MSYS)
5. Simplify MSYS.OPT as much as possible; remove all PORT
statements
6. Delete your MSYS.DO file (after making a backup!)
These items should get you to the point where MSYS will work.
From here try putting things back and see what causes failure.
--- The system will not forward.
Make sure you executed the MERGE command. Without doing this the
system will never forward.
NOTE: You must have the file MSYSBBSB.dat in order to forward
bullitens.
--- The system appears to work but nothing is on the screen.
Make sure you set the display type correctly in the msys.opt
file. The command is WINDOW DISPLAY COLOR for color monitors and
WINDOW DISPLAY MONOCHROME for monochrome monitors.
--- The system comes up and appears to hang.
This may be caused by a non-existent com port, check the lines in
your msys.opt to make sure the port addresses are correct.
--- The system boots after forwarding
This may be caused by having too many entries in your forwarding
file remember you may only have up to 300 different bbs names in
your file.
--- Performance hint:
Don't let too many messages pile up in mail.bak <DIR> before you
delete them (after archiving if you wish) so disk doesn't fill
up.
"I Haven't tried it, but maybe you will want to" Section
Here are some suggestions from users of msys that they claim
work. Use at your own risk!
To cure the problem of certain tncs that don't transmit properly
on HF use radiospeed of 1200 in place of 300 in msys.opt. I
8-142
can't imagine how this could help, but someone says it did for
them (they weren't using MFJ tncs which seem to have this kind of
problem). One thing you might want to try if you are having
problems with a tnc on HF is to get a copy of KA9Q's net.exe
program and see if you can use its ax.25 connect command with
your tnc on hf. If that fails as well the problem definitely is
in the tnc.
To run msys under dv on a 386 machine, try these values in the
"performance" section:
foreground 9
background 6
common memory 15
dos buffer for ems 5
optimize communications Y
allow swapping of programs N
manage printer contention N
To put a MFJ Tnc in kiss mode, try this in your msystnc.# file
ax off
parity 0
awlen 8
conmode trans
kiss on
restart
Paccom rom version 1.1.5 may work better than 1.1.662
If you are just bring up msys for the first time and experience
crashes when mail is forwarded to you, or the size of BIDLIST.DAT
is 0 bytes, do the following to solve the problem: Shut down msys
(quit), delete BIDLIST.DAT, start msys, shut it down (the dos dir
command should now show a size of 130000 for BIDLIST.DAT). You
should now be ready for normal operation. ANOTHER NOTE TO ALL:
From time to time do a BID # command and see how many bids are
active. If its over 3 or 4 thousand its probably time to run
MUTIL function 21 to get rid of the older bids.
--- If you are using DOS 3.3, you may need to put STACKS=0,in
your config.sys file.
If you find that the displayed time is different from what you
have set the time to be in DOS, put the following in AUTOEXEC.BAT
and reboot: SET TZ=EST5
Home BBS replacement occurs only if @BBS is blank or the call of
your bbs.
8-143
MSYS AMTOR Interface
Introduction
------------
NOTE: The AMTOR interface is still undergoing develop-
ment. Additional features (in particular forwarding) will be
added in later releases. Currently only Kantronics KAM tncs with
Host Mode are supported. When used for AMTOR, the VHF portion of
the KAM cannot be used (this limitation will probably never be
removed unless Kantronics allows simultaneous use of KISS and
Host Mode).
The AMTOR interface in MSYS allows AMTOR stations to
connect to the normal MSYS BBS. From there the DX Node may be
accessed if enabled. The connect commands may also be used to
make outgoing keyboard connects to other AMTOR stations.
AMTOR has some major differences when compared to packet
operation. The two most important is that when AMTOR is used only
two stations can be connected together at one time on a given
frequency and secondly that AMTOR uses a greatly reduced charac-
ter set when compared to ASCII used with packet.
Another difference is that AMTOR will probably work
better than packet in marginal signal situations. AMTOR is also
much slower (around 100 bits per second) that packet operation.
This combined with the fact that only 3 bytes of text are sent
before an acknowledgement is obtained account for the improved
performance on HF.
AMTOR operates in a half duplex mode; only one of the two
connected stations can send data at a time. Thus there is a
sending and receiving station at any given time unlike packet
which is more full duplex in nature. This description of course
ignores that fact that at any given instant usually only one
packet station can transmit at a time. With AMTOR an explicit
action must be taken to reverse data flow direction. This is usu-
ally done by sending +? at the end of a group of text lines.
Think of the +? sequence as the "go ahead, its your turn now"
signal. IMPORTANT NOTE: There can be no space between the plus
and the question mark. Also note that if you happened to send
data that contained the sequence the direction of data flow would
be changed when you might not have expected it.
MSYS handles the direction of data flow control for the
most part. When an AMTOR station connects to MSYS either the +?
sequence or CR LF can be used to indicate when MSYS should begin
transmitting. If MSYS does not have anything to send (as would be
the case if you are in the process of entering a multi-line
message) MSYS will again reverse the direction of data flow to
allow the station to continue sending.
Much more can be said about AMTOR. Refer to your TNC
manual for more information.
8-144
Setting up an AMTOR port
------------------------
AMTOR ports are identified by the port name beginning
with the ~ character.
An example of a PORT statement in MSYS.OPT for an AMTOR port is
PORT 0 AT $3F8 INT 4 SPEED 4800 NAME ~20M RADIOSPEED 300
The use of RADIOSPEED 300 will shorten some of the messages sent
by the bbs to the user. The TNCTYPE parameter should not be used.
Before starting MSYS with the AMTOR port for the first
time, be sure that the SELCAL parameter in your TNC is porperly
set.
Note that the AX.25 parameters (such as FRACK) can be
issued for an AMTOR port but they are ignored in operation. For-
warding should not be attempted on an AMTOR port. Reverse for-
warding will be attempted but probably won't work if a connecting
station requests it.
Turning an AMTOR port off will not prevent stations from
connecting to it; turn the radio off instead! You cannot monitor
general activity on AMTOR ports on the F2 screen. Only the infor-
mation exchanged with a station connected to your system is shown
(along with various status messages the TNC sends to the comput-
er).
AMTOR Users and the BBS
-----------------------
Due to the character set limitations of AMTOR, the famil-
iar > prompt character is replaced by the +? sequence which also
allows the user station to enter their reply.
Most of the normal BBS commands should work without
modification from the way they would be used on packet. A notable
exception are the various S commands used to send messages. In
place of the @ character the word AT (with blanks around it) must
be used. Since the $ character is not in the AMTOR character set
(if used it may have strange results), BIDS cannot be explicitly
entered. The < character is also invalid in AMTOR so it can't be
used to indicate the originating station. Here are some examples
of S commands:
SP WA8BXN AT WA8BXN.#NEOH.OH.USA {valid}
SP WA8BXN@WA8BXN {invalid because of @}
SP WA8BXN < WB8ZZS {invalid because of <}
ST 44026 AT NTSOH {valid}
SB ALL AT NEOH $SOMEBID {invalid because of $}
SB ALL AT ALLOH {valid}
SB ALL ATALLUS {invalid, no space after AT}
The Talk command will work. You will have to use the +?
sequence to turn it over to the user station as needed. The user
will also have to use the +? to turn it back to you.
8-145
INDEX
A (abort), 43
ABortfwd, 10, 17
ACceptmid, 10, 17
ADDUser, 10, 17
Alt-F1 Alt-F2 Alt-F3, 41
AMTOR, 144
ANSWER CALL, 6
APpend, 10, 17
ARChive, 10, 17
ARP, 10, 17
ARP add, 10, 17, 18, 137
ARP DEL, 10, 18
ARP delete, 18
AT number, 3, 4
Atabase, 34
ATtended, 10, 18
AUTODest, 10, 18, 72, 75, 77
AUTOHold, 10, 18
AUTOKill, 10, 18
Automatic back-up, 89
Automatic generation of @BBS field, 87
Automatic message holding, 92
Automatic password reply:, 84
AUTONode, 10, 18, 72, 74, 77
AX25 CHECK, 7
AX25 FRACK, 6
AX25 MAXFRAMES, 6
AX25 RETRIES, 6
AX25Backoff, 10, 18
AX25L2V2, 10, 18
AX.25 version 2 protocol:, 18
BACkuptim, 10, 18
BADuser, 10, 18
BBs, 10, 19, 43, 44, 79
Bbs alias, 4, 6, 13, 33, 138
BBS CALL, 6
BBS ONLY ACCESS, 95
BBSLIST.DAT, 68, 69, 96, 108, 112, 113, 116, 119
BBSLIST.DAT file from the BBSTONTS.DAT, 114
BBSNode, 10, 19
BBSTimeout, 10, 19
BBSTONTS.BIN, 67, 68, 69, 96, 116, 125, 126
BBSTONTS.DAT, 68, 69, 96, 112, 113, 116
BDigi, 10, 19
BElloff, 10, 20
BIDall, 10, 20
BINterval, 10, 20, 77
BMaxcon, 10, 20
BOOT, 10, 20
BPorts, 10, 20
BText, 10, 20
BUDCalls, 10, 20
8-146
BUDList, 10, 20
Bye, 43, 44, 79
Bye command, 43
C BBS or C bbscallsign, 77
Cache, 2
CAllfile, 10, 21
CAPTURE.DAT, 23
CC command, 43
CHANNEL NUMBERS, 88
CHAnstat, 10, 21
CHEck, 10, 21
CL B #, 10, 21
CLrscrn, 11, 21
CMdwindow, 11, 21
Conference, 43, 44, 79
CONNECTS FROM NON-AMATEUR CALLSIGNS, 95
COpy, 11, 19, 21
CRetries, 11, 21
Cscript, 11, 21
Ctrl/F2, 42
Ctrl/F4, 42
Ctrl/F5, 42
Ctrl/F6, 42
CTS, 11, 22
C#, 11, 22
Database, 44, 53, 54, 77
DEBug, 11, 23
Default directory, 1
DELEfile, 11, 23
DELUDays, 11, 23, 88
DELUSer, 11, 23
DESt, 11, 14, 15, 24, 34, 36, 41, 73, 74, 77
DESt ADD, 73
DESt DELete, 73
DESt REPlace, 73
DEStination, 17, 19, 24, 34, 48, 62, 67, 70, 73, 75, 77, 136
DEStination NODe, 70, 75
Device errors, 86
DFree, 11, 24
DIGI statement, 5
DIGipeats, 11, 24
DIRectory, 11, 24
DISconnec, 11, 24
Disk full message, 87
Displayed time, 143
DOcmdfile, 11, 24
DOS, 14, 24, 25, 37, 94, 125, 126
Download command, 44
DPorts, 11, 24
DROPING @BBS, 64
DRoute, 11, 24
DRoute DELete, 24
DRSI CARDS, 9
8-147
DTimedate, 11, 25
DUmpbbs, 11, 25
DX freq dxcall comments, 44, 79, 80
DXCall, 11, 25, 81
DXConnect, 82
DXDiddle, 81
DXDiddle #, 11, 25, 81
DXNconnect, 11, 25, 81, 82
DXPorts, 11, 81
DXPorts portmask, 25, 81
DXRestore, 11, 25, 81, 82
DXSAve, 11, 25, 81, 82
DXSTart, 11, 25, 26, 81, 82
EDit, 11, 26
EFile, 11, 26
EMsghdr, 11, 26
END OF LINE BELLS, 89
EUser, 11, 26
Executing commands from within the forwarding file, 63
EXPANDED MEMORY USAGE, 94
F2 time, 11, 26
F8, 15, 41
FBbstimes, 11, 26
FCall, 11, 26
FFile, 11, 27
FIle, 11, 27
Files related to TCP/IP, 134
FMsg, 12, 27
FOrward, 12, 27
FORWARD CALL, 6
FORWARDING DISPLAY, 64
FORWARDING NOTES, 63
FRAck, 12, 27, 89
FREE, 12, 27
FSize, 12, 27
FTIme, 12, 28
FTP COMMANDS, 136
FTPgm, 12, 28
FUlldup, 12
FUllduplex, 28
Function key usage:, 15, 41
G command, 44
GEtmsgotd, 12, 28
GRep, 12, 28
H command, 44
HApnstat, 12
HCAll, 12, 28
HCLean, 12, 28
HDRS command has been removed, 94
HEard, 12, 28
Help, 12, 29
8-148
HELP\MSYSMSGS.DAT, 1
HF Forwarding, 65
HOLdlevel, 12, 29, 94
Home BBS replacement, 143
HOStname, 12, 29
How I Run My Network NODe, 74
HReplace, 12, 29
I command, 44
ID, 29
ID CALL, 6
ID EVERY, 6
ID *, 12
IGnore, 12, 29
Information for Advanced Users, 125
INitpr, 12, 29
INT number, 3, 4
IP Routing, 136, 137
IPNCheck, 12, 29
IPNFrack, 12, 29
IPNRetry, 12, 29
IPTtl #, 12, 29
J command, 45
JBbs, 12, 29
JDigipeat, 12, 29
JGateways, 12, 29
JHeard, 12, 29
JKanodes, 12, 30
JMsys, 12, 30
JNetrom, 12, 30
JTcp/ip, 12, 30
Justheard, 76
K command, 45
KANODE CALL, 6
KANTRONICS 3.0 EPROM Upgrade users:, 94
KEyboard, 12, 30, 86
KILLproc, 12, 30
Knode, 76
KPorts, 12, 30
L command, 46
LCount, 12, 30
LINKED, 86
LOCKkbd, 12, 30
LOCKUPS, 88
LOG, 87
LOGclose, 13, 31
LUsers, 13, 31
M command, 46
MAIL BEACON, 87
MAIL.BAK, 35, 69, 89, 96, 99, 100, 108, 117, 125, 142
MAKEPriva, 13, 31
8-149
Manual Operations on the Network NODe Database, 73
MAStersrv, 13, 31
MAX channels AND PORTS, 88
MAXBullag, 13, 31
MAxFrames, 13, 31
MAXRead, 13, 31
MCForward, 13, 31
MCOn, 13, 31
MDir, 13, 32
MEMory, 13, 32
MEMORY MANAGEMENT, 84
MERge, 1, 13, 32, 59, 60, 96, 119, 142
Message of the day, 12, 28, 43, 46, 47
MEXpert, 13, 32
MHclear, 13, 32
MIDchar, 13, 32
MINmem, 13, 32
Miscellaneous Comments on Network NODe, 76
MISsing, 13, 32
MISSING TEXT TO MESSAGE, 65
Modem forwarding support, 132
MODEM Support, 132
MONBframe, 13, 32
MONIFrame, 13, 32
MONITor, 13, 32
MONITOR BFRAMES, 7
MONITOR IFRAMES, 7
MONITOR OUTGOING, 7
MONITOR PORTS, 7
MONITOR SFRAMES, 7
MONITOR UFRAMES, 7
MONOutgoi, 13, 33
MONPorts, 13, 30, 33
MONSFrame, 13, 33
MONSTats, 13, 33
MONUFrame, 13, 33
MONxx, 13, 33, 85
MSgtraile, 13
MSgtrailer, 33
MSYS command (typed at DOS prompt), 2
MSYS DX Node, 79
MSYS node forwarding, 65
MSYSBBSB.DAT, 1, 58, 125, 139
MSYSFWD.DEF, 1, 13, 32, 59, 60, 62
MSYSHOLD.DAT, 92, 93
MSYSHOST.NET, 39, 125, 134, 140
MSYSK.OTD, 139
MSYSPASS.DAT, 125, 135, 136, 140
MSYSPASS.MOD, 132
MSYSTNC.1, 140
MSYSTNC.#, 4, 87
MSYSTODO.DAT, 39, 82, 85
MSYS.BBS, 32, 59, 63, 64
Msys.def, 1, 3, 4, 8, 107
MSYS.DO, 17, 82, 85, 138
8-150
MSYS.FWD, 13, 32, 59, 104, 125, 129
MSYS.HCL, 28, 130
Msys.opt, 1, 2, 3, 4, 8, 40, 86, 88, 107, 138, 142
MSYS.OTD, 28, 139
MSYS.REP, 59, 60, 139
MSYS.RMT, 84, 101, 139
MUTIL.EXE, 68, 96
MUTIL.EXE Function 9, 3
MYAlias, 13, 33
MYBbs, 13, 33
MYCall, 13, 33
MYIpaddr, 13, 33
MYKnode, 13, 33
MYTcpcall, 13, 33
N command, 47
NAME description, 3
NDwindow, 13, 33, 77
Neighbor NODe, 70
NET NODe Parameters Summary, 77
NETBbs, 13, 33, 77
NETCon, 13, 33, 77
NETFbbstime, 13, 33, 78
NETMax, 78
NETNode, 13, 34, 72, 74, 75
NETOnly, 13, 34, 77
NETRead, 13, 34, 77
NETTalk, 13, 34, 77
Network NODe Quickstart, 72
NEWUser, 13, 34, 88
NInfo, 13, 34, 77
NNode, 13, 34
NOBEacons, 14, 34
NOBUlls, 14, 34
NODe, 1, 5, 6, 12, 13, 14, 30, 33, 34, 35, 45, 55, 57, 58, 70, 71,
72, 73, 74, 75, 76, 77, 139
NODe ADD, 73
NODe DELete, 73
NODe REPlace, 73
Nodes Broadcast, 70
NODETimeout, 14, 34
NPorts, 14, 34, 72, 74, 77
NRCall, 14, 34, 72, 76, 77
NRId, 14, 34, 77
NTtl, 14, 35, 77
NUMCHANS number, 5
OCInit, 14, 35, 77
OCMmin, 14, 35, 77
P command, 47
Packet size, 86
PAClen, 14, 35
PATh, 14, 35
Performance hint, 142
8-151
PF command, 47
PForward, 14, 35
PIng, 14, 35
PMessage, 14, 35
PORT number, 3
PORT statement, 4
POrts, 14, 35
PPersist, 14, 35
PQuality, 14, 35, 74, 77
PRInt, 14, 35
Problems getting MSYS going, 142
PROCESS processname, 8
PROcesses, 14, 35
PRompt, 62
PRTmsgs, 14, 36
PWindow, 14, 36
QUIT, 14, 36
R command, 47
RDir, 14, 36
Readbackup # Command, 36
Readbakup #, 14
Remote SYSOP, 84
REMove, 2, 14, 24, 34, 36, 77
REMove a DEStination NODe, 73
REName, 14, 36
REPlaces, 14, 36
REQDIR, 14, 36
REQDIR server, 51
REQDIR.HLP, 51
REQFIL, 14, 36
REQFIL server, 51
REQMaxfil, 14, 36
REQQTH, 14, 36
REQQTH server, 52
Required subdirectories:, 1
RESET, 38
RESpons #, 14, 36
RETries, 14, 36
REVERSE FORWARDING, 60
Routing, 70
RS-232 connection to tncs running Net/Rom and TheN, 90
RUn, 14, 37
R*, 48
S command, 48
SCreensave #, 14, 37
Scripts, 57
SELECTIVE FORWARDING, 61
SEnd, 14, 37
SET/NODE, 25, 81
SHow/, 14, 38
SHow/..., 81, 82
SH/CL, 44, 79, 80
8-152
SH/COnfig, 44, 79, 80
SH/Dx, 44, 79, 80
SH/Dx/#, 44, 79
SH/Users, 44, 79, 80
SH/WWV, 44, 79, 80
SLottime, 14, 38
SMTP, 14, 38, 89
SMTP FORWARDING, 62
SNow, 14, 38
SOrt, 14, 38
SPEED number, 3
STACK processname, 8
STACK requirement, 86
STACKS=0 in your config.sys file., 143
STatus, 14, 38
SUBPORT number, 3
SUspendtr, 14
SUspendtrace, 38
SYSOP NAME, 8
SYSOP QTH, 8
SYSOP ZIP zip code, 8
T command, 48
TABs, 15, 39
TACk, 15, 39, 77
Talk callsign, 44, 79, 80
Talk callsign msg, 44, 79, 81
TBdelay, 15, 39, 77
TCP/IP FORWARDING, 61
TCP/IP Time to live, 12
TElnet, 15, 39
Terminate the connection, 23
TESTING, 89
TFrames, 15, 39
The REPly command, 48
Things needed to get the CD ROM call lookup to work, 52
Timed execution of commands, 85
TImezone, 15, 39
TNatime, 15, 39, 77
To renumber the messages, 110
TOdo, 15, 39
TPorts, 15, 39
Trace25, 15, 39
TraceIP, 15, 39
TREtries, 15, 39, 77
TRUncate, 15, 39
TS-HHMMSS, 15, 40
TTimeout, 15, 40, 77
TXDelay, 15, 40
TXTail, 15, 40
TYpe, 15, 40
Type of a message (the "TR" field, 90
Type of monitor, 1
U command, 49
8-153
Upload command, 49
USER ACCESS, 135
USER BIT SETTINGS, 88
Users, 15
Users filename, 40
V command, 49
VErifysysop, 15, 40
VIdeo, 15, 40
W command, 49
WAtch, 15, 40
WBackgrnd, 15, 40
WColors, 15, 40
WForegrnd, 15, 40
WHo, 15, 40
Window, 15, 40
WINDOW DISPLAY, 8
WINDOW number, 7
WP SERVER, 89
WPAge, 15, 41
WPEvery, 15, 41
WQupdate, 15, 41, 77
WRecord #, 15, 41
WSize, 15, 41
WWV SFI=# A=# K=# comments, 44, 79, 81
W?, 15, 41
X command, 49
"Carbon Copy", 43
#msgs/use, 10, 17
(MUTIL.EXE Function 9), 1
* at the beginning, 49
*comment, 10, 17
*** HEADERS, 94
/Sysop command, 84
< filename, 50
<Esc>, 41
> filename and >> filename, 50
@BBS, 87
@home, 10, 17
\+\ filename, 19, 23, 89
8-154