home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
HAM
/
NPFPMS.ZIP
/
NPFPMS.EXE
/
NPFPMS.DAT
/
NOTES.DOC
< prev
next >
Wrap
Text File
|
1994-02-19
|
86KB
|
2,084 lines
NPFPMS Multi-User PMS (C) G8NPF 1994
A collection of notes about NPFPMS
-------------------------------------------------------------------------------
** Please read the file README.DOC first **
When editing the NPFPMS.CFG file or any of the CONFIG or SCRIPT files, use an
ASCII editor. Beware of WP programs (like WordStar?) which can leave odd
formatting control codes in the text!
*NEVER* manually edit the files in the SYS sub-directory. They may NOT be ascii
files, even if they may appear to be! The only exception is the BBS.NAC file
which you may update, provided the same layout is retained.
*NEVER* manually delete any files in the MAIL or SYS sub-directories.
Files in the SCRIPT and CONFIG sub-directories are ascii files and can be
edited as required.
Do NOT set the Read-only, Hidden or System attributes on any of the files used
by the PMS.
The PMS supports YAPP binary file transfer and NNA/FBB compressed message
forwarding. It is also compatible with 7PLUS (8 bit) files.
Note: The clock in the PC should be set to match the TIMESIG entry.
(Times in Amateur Radio are normally in GMT)
With slower PC's (and/or hard drives), installing MSDOS's FASTOPEN in your
config.sys file may speed up PMS functions which do a lot of disk searching.
(Like forwarding)
The PMS can open quite a few files at times. BPQcode may also have open files,
so make sure your DOS is configured with sufficient files, especially if you
are running the PMS under DESQview, or you are running other programs that open
lots of files.
The PMS is in full colour, but *should* be ok on a mono vdu with MDA or
Hercules card.
-------------------------------------------------------------------------------
The main PMS directory must contain the following files and sub-directories.
PMSCODE.EXE
PMSCODE.DLL
7PLUS <DIR>
CONFIG <DIR>
FILES <DIR>
FILES.ULD <DIR>
MAIL <DIR>
SCRIPT <DIR>
SYS <DIR>
The CONFIG sub-directory may contain the following files. (Some are optional)
AUTOLIST.CMD
DUPCHECK.LST
CHANGE.BBS
FILEDESC.TXT
FWDFILE.LST
HOLD.LST
NPFPMS.CFG
xxxxxx.MAT Password matrix file(s)
The SCRIPT sub-directory may contain the following files.
ALLMSG.TXT
FILES.TXT
HELP.TXT
INFO.TXT
INTRO.TXT
NONREG.TXT
NONXMSG.TXT
The SYS sub-directory MUST contain the following files.
BBS.NAC
LZHRLL.COM
NXTMSG.NUM
SYSOP.TXT
After running for a while, the PMS may create the following files in the SYS
sub-directory.
%LOG.PMS
ATBBS.LST
AUTOLIST.TXT
BIDS.REC
JALIST.LST
MSGINDEX.IDX
NAMELOG.SYS
Some other files starting with a % may be created. Never interfere with them!
Some temporary files with the extension .$$$ will also be created, and will be
automatically deleted.
The FILES sub-directory must contain the file USER.DOC, plus any other files
you wish to make available for downloading. Filenames must contain at least
one non-numeric character.
i.e. 123.doc 123list.001 and 123.001 are all ok, but not just 123
The FILES sub-directory may also contain further sub-directories.
User uploaded files go into the FILES.ULD sub-directory, and are not available
to other users until they are transferred into a FILES directory by the SysOp.
When a file is uploaded, the system creates a .dsc file in the FILES.ULD
directory, which contains information on the uploaded file.
DO NOT ALTER THESE FILES!
-------------------------------------------------------------------------------
To run the PMS type: PMS (/switch)
The command line accepts the following switches:
/H Lists the valid switches.
/D Inhibit the check for the DOS version.
/P Inhibit Printer-on-line check.
/V Inhibit DESQview calls.
Notes:
The PMS requires MSDOS 3.30 (DRDOS 5.00) or later.
DESQview version (if used) should be version 2 or later.
You can inhibit the DOS check if you know the PMS does run under your version
of DOS, but the PMS initialisation file objects.
Inhibiting the DV calls may slows things down if running under DV.
Inhibiting the printer check, and then printing to an off-line or non-existent
printer, may well 'hang' the system.
The system will load an existing JA list, or start a new list otherwise.
The first time you run the PMS, enter your own Name/HomeBBS/QTH details
(N NH NQ) and then do a 'B' (Bye) to enter your details into the user database.
You must do this before any other person uses the PMS.
To close down the PMS type EXIT from the command line. You cannot close the
PMS if it is connected to a user (or node), or any screen is using the editor.
Disconnect all users and close all editor screens first, and then enter the
EXIT command.
-------------------------------------------------------------------------------
Configuration file details.
Each entry must be contained on a single logical line. If a line ends in an
underscore character _ the following line will be treated as an extension of
the previous line.
Most entries are optional and can be put in any order. Undefined entries will
default to pre-set values. A few entries MUST be specified. These are noted in
the description. (Any text is only for example).
Comments following a semicolon ; will be ignored. Multiple spaces and <Tab>
characters are reduced to a single space.
To include leading spaces, multiple spaces, or a ; character, in a text entry,
enclose the entry in double or single quotes.
e.g. " Text entry" 'Text entry' "A semicolon ; in the string"
To include quotes in the entry, enclose it with quotes of the other type.
e.g. "This is 'quotes' in a string" or 'This is "quotes" in a string'
ACCEPT <List of callsign's>
If an accept list is specified, then only the callsign's in the list will be
able to connect to the PMS. All others will be rejected.
The default is a empty list.
ACKENABLE YES/NO
Determines whether the PMS automatically generates an acknowledgement reply
when the last line of an incoming message is /ACK
The default is YES
AMPRORG <.domain>
The TCP/IP domain. Used in conjunction with IPGATEWAY for forwarding messages to
the local TCP/IP gateway
The default is .AMPR.ORG
AUDIO ON/OFF
Determines if all audio (except the chat alarm) is on or off.
The default is ON
AUTOBID
The NTS BBS message header BID format.
The default is: BID
(See AutoList/AutoRead description for details)
AUTOFROM <Text>
The NTS BBS message header From format.
The default is: From
(See AutoList/AutoRead description for details)
AUTOLISTTIME HH:MM HH:MM ....
A list of times for auto listing and reading of mail from the local NTSBBS.
See the Mail Forwarding section for more details on how to set times.
The default is a empty list.
AUTOMID
The NTS BBS message header MID format.
The default is: MID
(See AutoList/AutoRead description for details)
AUTOPROMPT <Prompt>
The prompt from your NTS BBS
No default. (See AutoList/AutoRead description for details)
AUTOREADCMD V/R
The AutoRead command. V=verbose R=Read
The default is V
AUTOROUTE <Route>
The route to your NTS BBS
No default. (See AutoList/AutoRead description for details)
AUTOSUBJECT <Text>
The NTS BBS message header Subject format.
The default is: Subject
(See AutoList/AutoRead description for details)
AUTOTO <Text>
The NTS BBS message header To format.
The default is: To
(See AutoList/AutoRead description for details)
BLANK <minutes>
Duration in minutes before the 'Screen Saver' blanks the screen.
Set to 0 to disable the screen blanker.
The default is 15 minutes.
BPQDIR <(drv:)\path>
This specifies the full DOS pathway to the BPQ directory.
The BPQ directory MUST contain the files BPQCFG.BIN and BPQNODES.COM
The default is \BPQ
BPQNODESAVE YES/NO
IF YES, then when the PMS saves its data cache, it also calls BPQNODES.COM to
save the BPQ nodes list to disk. This is not really a PMS function, but I find
useful to keep the BPQ nodes disk file updated.
The default is NO
BTEXT <Text>
BPQ beacon text. Sent at intervals by the BPQ node.
The default is a null string.
CHANNELS <0-14>
Specifies the number of user channels, from channel 0.
CHANNELS 2 will give you channels 0, 1 and 2. The greater CHANNELS is set to,
the slower some functions may be, and the more memory the system will require!
The default is 2
DEFMASK <0-7FFF>
The startup value for the monitor port mask.
The default is 7FFF (hex)
DELETEBULLETIN <number of days>
This is the number of days after which a bulletin is automatically deleted. A
setting of 0 disables the function. Deleted messages cannot be recovered.
The default is 30 (approx. one month). Valid range is 0 to 265
DELETEPERSONAL <number of days>
This is the number of days after which a personal message is automatically
deleted. A setting of 0 disables the function. Deleted messages cannot be
recovered.
The default is 60 (approx. two months). Valid range is 0 to 265
ERRORCOLOUR <colour>
Colour of text for 'error' messages.
The default is 12 (Light red)
EXT <string>
The PMS SID banner.
The default is all options valid [ABFLHMV$]
FWDTIME HH:MM HH:MM ....
A list of times when the PMS will do automatic mail forwarding.
See the "Setting of times" section for more details on how to set times.
The default is a empty list
HOSTPORT <host port number>
This is the BPQ base host port to use for the PMS. Host ports can be from
1 to 64. If you specify base HOSTPORT 30, and CHANNELS 3 then the PMS will use
host ports 30,31,32 and 33 for channels 0 to 3. The base host port specified
must be less than (64-CHANNELS)
No default. Must be specified.
INACTIVETIMEOUT <Time in seconds>
This is the maximum time the PMS will wait for ANY input while connected to a
user. This will stop the PMS 'hanging' if a user disappears without
disconnecting. 1200 gives 20 minutes
The default is 1200. Valid range is 60 to 1800
IPGATEWAY <callsign>
The callsign of the local TCP/IP gateway station. (May be your own node).
JALISTSIZE <size>
The maximum number of entries allowed in the JA list.
The default is 50. Valid range is 10 to 1000
KEEPBBSMSG YES/NO
If YES then incomplete un-compressed messages from BBS stations will be kept.
If NO they will be deleted.
(Incomplete compressed messages will always be deleted.)
The default is NO
KEEPFILE YES/NO
If YES then incomplete uploaded ASCII files will be kept. If NO they will be
deleted. (Incomplete binary (Yapp) files will always be deleted.)
The default is NO
KEEPMSG YES/NO
If YES then incomplete un-compressed messages from normal users will be kept.
If NO they will be deleted.
(Incomplete compressed messages will always be deleted.)
The default is YES
KILLBULLETIN <number of days>
This is the number of days after which a bulletin is automatically killed. A
setting of 0 disables the function.
The default is 15. Valid range is 0 to 265
KILLONFWD YES/NO
If set to YES then mail will be automatically killed after being forwarded.
The default is NO
KILLPERSONAL <number of days>
This is the number of days after which a personal message is automatically
killed. A setting of 0 disables the function.
The default is 30. Valid range is 0 to 265
LOCALINCOLOUR <colour>
Colour of text typed at the local keyboard.
The default is 11 (Light cyan)
LOCALOUTCOLOUR <colour>
Colour of text in response to a local command.
The default is 3 (Cyan)
LOGUSER YES/NO
Determines the initial state of the Log User option.
Note: Setting LOGUSER to YES can result in a LOT of text being written to the
log file!
The default is NO
MAILTIME MM MM
A list of minutes past the hour when periodic 'MESSAGE FOR' beacons will be
sent. (Once per hour is normally more than enough!)
The default is a empty list.
MAXCON <number>
Number of incoming connections allowed per user. A MAXCON of 1 is recommended!
This has no effect on the number of outgoing connections from the PMS.
The default is 1. Valid range is 1 to 5
MAXFRAME <number>
The maximum number of outstanding frames allowed.
If a valid maxframe can be read from the NODE port during transmission, then
the value read over-rides this setting.
The default is 2. Valid range is 1 to 10
MAXLIST <number>
The maximum number of messages that can be listed by the basic List commands.
Set to 0 to disable the restriction.
The default is 50
NIC <address>
Your international "address" for use in mail headers.
THIS MUST BE CORRECT or your mail will get lost!
e.g. G8NPF.GB7ESX.#31.GBR.EU
The default is a null.
NODECONN <text>
Node reply text for a successful connection.
NODEFAIL <text>
Node reply text for a failed connection.
NONXPROMPT A,B,C,D......W,X
This is the prompt given to non-expert users.
No default. Must be specified.
NTSBBS <callsign>
This is the callsign of your local (GB7) NTSBBS (e.g. GB7ESX)
The default is a null.
PACLEN <number>
The default transmitted packet length. If not specified then a default value
is read from the BPQCFG.BIN file. If a valid paclen can be read from the NODE
port during transmission, then the value read over-rides this setting.
The default is 128
PAGEAUDIO ON/OFF
Determines if the 'chat alarm' audio is on or off.
The default is ON
PAGETIMEOUT <seconds>
Sets the time delay before a 'not home' reply is given to a Page (T) command.
The default is 20 seconds
PMSCALL <callsign>
The callsign used by the PMS including any SSID (e.g. G8NPF-3)
There is normally no need to enter this as, if not specified, the callsign will
be read directly from the BPQ config file (bpqcfg.bin)
The default is to use the BPQ BBSCALL
PORTnCOLOUR <colour number>
Colour of text from BPQ radio port n. (1 to 16)
The default colour is 7 (White) for all ports.
PRINTER <printer port>
Sets the I/O port used for the printer. (PRN: LPT1/2/3: COM1/2:)
The default is LPT1:
PRINTERFILTER <start (end)>
Range of ascii codes to be excluded from the printer. (See note below.)
PROGRESS ON/OFF
If ON then a progress (debug) window is opened in the lower right hand corner
of the display to show the channel status.
The default is OFF
PURGETIME HH:MM
A list of times for the PMS to do its housekeeping. You can enter several times
in the HH:MM format, but two should be enough. Pick quite times as, if the PMS
is very busy, the purge may not take place. Server commands (REQDIR etc.) are
also processed at this time. You must put at least one entry in the list. See
the "Setting of times" section for more details on how to set times.
The default is a empty list.
REGISTRATION <number>
Your PMS registration number. For registered users only.
REJECT <list of invalid calls>
A station attempting to log-on using a callsign in this list will be rejected.
The list should include invalid calls like NOCALL PK232 etc.
This should not be used to prevent a valid callsign from gaining entry.
(Undesirables can be locked out by setting their access flag bit zero to 0)
The default is a empty list.
REVIEWSIZE <number of lines>
Sets the number of lines you can scroll back in review mode.
The default is 50. The valid range is 30 to 1000
ROUTEID <Text>
Optional info text to be added to R: routing line. (Max. 26 characters)
Don't include the square brackets or the PMS type/version. They are added
automatically.
The default is a null.
SCREEN 25/43/50 (Experimental only)
The number of lines displayed on the screen. As this command calls the DOS MODE
command, it may not work with all versions of DOS. (A future version will not
rely on the DOS MODE command).
(Note: May not operate correctly when running under DESQview)
The default is 25 lines.
SCROLLFLASH ON/OFF
Determines if the Scroll Lock LED on the keyboard will flash when the PMS has
a new message for the SysOp.
The default is OFF
SECURITY <character(s)>
Extra input required if a user is using the SysOp's callsign.
The default is two dots ..
SESSIONTIMEOUT <seconds>
This is the maximum time a user can stay connected before the PMS automatically
disconnects. 3599 will give 59 minutes 59 seconds. (The maximum allowed)
The default is 3500. The valid range is 600 to 3599
SYSTEMCOLOUR <colour>
Colour of system generated text.
The default is 2 (Green)
TEXTBUFFERSIZE <number of lines>
Sets the maximum number of lines available to the system editor.
Files will be truncated to fit the the limit.
The default is 500. The valid range is 50 to 5000
THIRDPARTY 0/1/2
If 0 then 3rd. party messages can only be sent by the SysOp.
If 1 then stations with access bit 7 set will be able to send third party mail.
If 2 then 3rd party messages will be accepted from ANY user. (!)
The default is 1
TIMESIG <gmt/utc/bst/...>
The PMS time signature. This should match the time set in the computer.
The default is gmt
TIMEZONE <zone>
The time zone id used in the PMS mail header.
The default is z
USEWP 0/1/2
If 0 then the White Pages file is kept updated, but not used.
If 1 then the WP file is searched when a message is entered, to warn the user
if the @BBS field used differs from the one in the WP file.
If 2 then the WP entry will be used if a message is entered with no @BBS field.
The default is 2
VDU MONO\HERC\VGA\COLOUR\COLOR\MONOVGA
Set to MONO or HERC if you are using a MDA or Hercules card.
Set to VGA or COLOUR if you are using a CGA/EGA/VGA card with colour monitor.
Set to MONOVGA if you are using a CGA/EGA/VGA card with mono monitor.
The default is COLOUR
VIDSEG <(&H)screen segment address>
Sets a non-standard video segment address. If the address is given in Hex then
it must be preceded with &H e.g. VIDSEG &HB800
If set incorrectly, the screen may not be correctly restored after using the
editor, and could also crash the system!
IF IN DOUBT, DO NOT INCLUDE THIS ENTRY.
The default is &HB800 for COLOUR\VGA, and &HB000 for MONO
***EOF
(Command list terminator. Must be included.)
-------------------------------
"Multi-line" commands. These commands may use more than one line. Text may
include $x variables. The command separator must be at least 5 dashes (-----)
Don't include any text on the command line.
BBSLOGON
<Text>
Text sent to BBS stations (those with user BBS flag set) at log-on.
WELCOME
<Text>
Text sent to normal users at log-on.
GREET
<Text>
Additional text sent to users without the SHORT flag set.
BEACONTEXT
<Text>
The text used in MAIL beacons.
PAGEYES
<Text>
The text sent for a positive response to a SysOp Page. (Page-Up)
PAGENO
<Text>
The text sent for a negative response to a SysOp Page. (Page-Down or Time-out)
BYE
<Text>
The text sent in response to a B (Bye) or Q (Quit to node) command.
PROMPT
<Text>
The text sent as the PMS prompt.
MESSAGEHEADER
<Text>
Standard text included at the start of all messages originated at the keyboard.
MESSAGEFOOTER
<Text>
Standard text included at the end of all messages originated at the keyboard.
***EOF
(Command list terminator. Must be included.)
See the sample NPFPMS.CFG file for details.
-------------------------------------------------------------------------------
SCRIPT FILES
The first 4 files are sent to users at log-on. They will NOT sent to users
flagged as BBS stations in the user file.
INTRO.TXT is sent to all users at log-on
ALLMSG.TXT is sent to users without the SHORT flag set.
NONXMSG.TXT is sent to non-expert users.
NONREG.TXT is sent to a user who has used the PMS before, but has not
registered by entering their Name, QTH and Homebbs details.
HELP.TXT is sent in response to the H (Help) command.
INFO.TXT is sent in response to the I (Info) command.
FILES.TXT is sent after a W (directory listing) command.
You may edit these text file with any ASCII editor. They can contain anything
you think appropriate.
-------------------------------------------------------------------------------
The PMS maintains a 'White pages' file of stations home NTS BBS's
This is updated when a user enters his home BBS with the NH command, and also
when messages which include a 'R:...' line are sent/forwarded to the PMS
This file is used for the S (Send) and F (Find) commands.
When a user enters a message, the PMS will look up the stations home BBS in the
WP file. If an entry is found, and the user did not specify any @BBS, then the
PMS will add the home BBS found in the WP file. If the user gave a @BBS that is
different to the @BBS field in the WP file the PMS will warn the user that the
@BBS may be incorrect.
e.g.
If G9AAA is in the WP file as having a home BBS of GB7ESX.#31.GBR.EU then,
SP G9AAA will be translated to: SP G9AAA @GB7ESX.#31.GBR.EU
SP G9AAA @GB7NNA will warn the user that the @BBS used may be incorrect.
You may override the WP entry by using the following options:
SP G9AAA@ will be translated to: SP G9AAA @G9AAA
SP G9AAA@* will be translated to: SP G9AAA (a local message, no @BBS)
------------------------------------------------------------------------------
The SU command. Only available to SysOp.
To leave a message to all users use: SU ALL (Syntax as in the SP command.)
The message is posted in the usual way. The message will be flagged as an
unread personal message to all users. The user List and Read commands will
treat the message as if it was an unread personal message. The user cannot
kill the message. To prevent it being offered again, the user should use a List
command after reading it.
------------------------------------------------------------------------------
Carbon Copy (CC) messages.
Multiple personal messages to all callsign's in a group.
This type of message may be sent by any user with access bit 7 set (3rd party
send), or by anyone if THIRDPARTY = 2
The syntax is: SP <name> (@BBS)
Note: It must be SP and not SB. A type SB will not be copied.
To create a Carbon Copy group you create a file, which must reside in the
CONFIG directory, with the group name followed by a .cc extension.
i.e. EPG.CC
The file should contain callsign(s) of users allowed to send messages to the
group, plus the callsign's and home BBS's of the users to whom the message will
sent.
e.g. File EPG.CC
G6CHJ List of callsign's allowed to send messages to the group.
G8NPF
****** Separator. Must be at least five 'stars'
G9AAA @ GB7ESX List of recipients.
G9BBB @ GB7NAA
G9CCC
G9DDD @ GB7ESX
G9EEE @ GB7ESX
Stations G6CHJ and G8NPF can now send messages to the EPG group by entering
'SP EPG'. The message is sent in the normal way. When the message is finished
multiple messages are created from the original message. The station sending
the message is informed the CC messages are being created, unless that station
is a BBS.
If you often need to send several copies of the same message to another BBS it
might make sense to ask the other BBS to create a Carbon Copy file containing a
list of the users you wish to send messages to on his BBS. Then only one copy
of the message would need to be sent to the other BBS.
For example, with the EPG CC group, if GB7ESX had a CC file for EPG group
members on his BBS, then the local EPG.CC file could read:
G6CHJ
G8NPF
******
EPG @ GB7ESX
G9BBB @ GB7NAA
G9CCC
So only one message would be sent to GB7ESX instead of three. The result would
be the same as sending three individual messages to GB7ESX. Of course the above
would only work if GB7ESX was set up to allow this!
The SysOp can always send a message to any CC group even if his callsign in not
in the CC list. You may create as many CC groups as required.
Make sure the names are unique and are not the same as commonly used bbs TO
fields. (Like ALL SYSOP HELP etc.) and are no more that 6 characters long.
After the message is copied to all the callsign's in the CC list the original
message is killed. The copies will be automatically marked for forwarding, if
appropriate.
------------------------------------------------------------------------------
Command history buffer.
Previous keyboard typed commands are saved in a 15 line cyclic buffer.
Use up arrow and down arrow to cycle through the buffer.
-------------------------------------------------------------------------------
Input line editing.
The 'cursor' can be moved with the <arrow>, <Home>, <End> and <Ctrl arrow> keys
The insert key will toggle insert mode on and off. The letter I shows in the
status line when insert is on. <Ctrl Y> or <Esc> will cancel the entire line.
The edit cursor will show as inverted flashing text. The normal cursor shows
as an underscore.
------------------------------------------------------------------------------
Listing pause option.
---------------------
Assuming ListPause is set to on (P ON) for the user or SysOp....
If a user is connected, then listings will pause approximately every 15 lines
and the user is asked: -- More Y/n >
When the SysOp is using the local keyboard, listings will pause at
approximately one pagefull. The actual number of lines displayed per page
depends on the screen mode.
------------------------------------------------------------------------------
JA command.
-----------
The JA command can accept 3 parameters (in any order).
1. The number of entries to search. (Default to 12 if no other parameter used)
2. The callsign/alias to search for. Partial callsign will also be matched
unless the callsign is entered with a trailing -
3. The BPQ port n, as P=n
e.g.
JA List the last 12 entries.
JA 25 List the last 25 entries.
JA G8NPF List all entries for G8NPF...
JA G6CHJ-1 List all entries for G6CHJ-1...
JA GB7ES- List all entries for GB7ES only.
JA 30 P=1 List the 30 most recent entries on port 1
JA G8NPF P=2 List all entries for G8NPF... on port 2 only.
JA P=1 List all entries on port 1
JA P=3 40 List the last 40 entries on port 3
-------------------------------------------------------------------------------
PMS status lines.
The top status line indicates:
Session xx:xx The session timer.
Wait xx:xx The inactivity timer.
The second status line indicates:
The full callsign of a connected station and the node status.
Cnn The pms channel number.
Hnn The BPQ host port number.
Inn The BPQ host interrupt value.
nnnn DOS version.
nnnn DV version (if applicable).
nnnn BPQ switch version.
nnnn (Internal check).
U=nnn The number of unacknowledged packets pending.
Q=nnn The number of packets queued for receive.
B=nnn The number of buffers left in the node.
The lower status line of the screen display indicates:
ISCA Insert/Shift/Alt/Ctrl key status.
------ The callsign of the station connected to this channel.
Status The current mode of operation.
Log The Log User status.
Serv Upload/Download file servers enabled/disabled.
Busy The busy status of the PMS channel and/or BPQ host port.
Capt Receive capture file (to disk) active.
Mon The monitor status of the BPQ host port.
Print The 'output to printer' status.
Mask-nnnn Monitor port mask (in hex).
-------------------------------------------------------------------------------
System errors.
The PMS will attempt to recover from some system errors.
If possible, it will disconnect any users, close down, and then re-boot the PMS
code. Depending on what had gone wrong, this may or may not work, but if it
fails, nothing is lost by trying!
-------------------------------------------------------------------------------
User sub-directories.
The SysOp can set up user sub-directories in the FILES directory.
The directory format is: G8NPF.USR (The extension must be .USR)
Only a user with a matching callsign will have access to the files in a .USR
sub-directory. You may have as many .USR sub-directories as you wish.
-------------------------------------------------------------------------------
Time-outs
The session time-out (Session) will disconnect a user after the time specified
by the SESSIONTIMEOUT entry has expired.
The inactivity time-out (Wait) will disconnect a user after the time specified
by the INACTIVETIMEOUT entry has expired without ANY input to the PMS.
If a user times out during a file upload/download the time-out is 'held' until
the file transfer is completed. The time-out then takes effect.
The session and inactivity time-outs are suspended during CHAT sessions and
when in TERMINAL mode, and also when the station connected is logged in with
SysOp status.
(Remember the time-out counters can be manually re-set with the F7 and Shift/F7
function keys)
-------------------------------------------------------------------------------
Setting of times (for forwarding, autolist etc.)
The list should be in the form of HH:MM HH:MM etc.
Times can also have a 'days of the week' parameter.
Those times will only be used if the current day is included in the parameter.
This can be used to stop forwarding on busy days (i.e. weekends).
e.g. FORWARDTIME 10:22/145 05:15/23456 16:45
The 10:22 time will only operate on days 1,4 and 5
The 05:15 time will only operate on days 2,3,4,5,6 (i.e. Not Sat or Sun)
The 16:45 time will operate on any day.
(Day 1 is Sunday, Day 7 is Saturday)
Avoid setting a time to exactly on the hour as that's when the PMS saves its
data cache to disk, and runs the BPQNODES.COM file to save the BPQNODES list.
-------------------------------------------------------------------------------
Syntax of connect paths for Forwarding, AutoList etc.
The connect path commands consist of a list of commands & nodes to connect
through, ending in the callsign of the station you wish to connect to,
separated by colons. i.e. C NTSX:C ESX:C GB7NNA
You can force a BPQ switch to connect on a specific port by adding the BPQ port
number to the callsign. i.e. C NTSX:C 2 G1NNB:C GB7NNA
This will connect to node NTSX first, and then try to connect via NTSX's port
number 2 to node G1NNB, and then to GB7ESX
The 'connect command' is normally 'C' but can also be 'X' if you are
cross-connecting via a KA node. If the connect command is missing, the a C is
assumed.
i.e. C NTSX:C ESX:C GB7NNA (Normal connect)
NTSX:ESX:GB7NNA (Same as above)
C KEPAC3:X GB7DUG (Cross connect via KA node KEPAC3)
-------------------------------------------------------------------------------
Automatic Forwarding protocol.
When setting up your FWDFILE.LST the LAST entry *MUST* be you local NTS BBS
When the PMS starts a forwarding session it will scan the FWDFILE.LST file and
forward any messages it finds for stations included in the FWDFILE.LST file.
When it gets to the NTS BBS entry, any messages (with an @BBS field) for
stations not in the FWDFILE.LST file will be sent to the NTS BBS.
Messages with unknown @BBS fields (e.g. @EU @WWW @WA7XYZ) will always be sent
to the NTS BBS.
------------------------------------------------------------------------------
BBS/PMS SID letters.
When the PMS connects to a BBS for forwarding it checks the SID of the BBS.
Typically, the BBS SID may be something like [NNA-2.02-BFHLM$]
or [FBB-1.00-ABFHM$]
The PMS will support the use of BID's for bulletins if the BBS has included
the $ character in its SID. (All known software does).
It will also use use MID's for personal messages if the BBS has included a M
in its SID. Note, if the SID includes the letter L, then the letter M is
assumed, even if its not actually there.
The letter A indicate the PMS\BBS can support FBB's ACK: type messages.
The letter V indicate the PMS\BBS can support NNA type password verification.
The letter F indicate the PMS\BBS can support FBB's bulk ascii forwarding.
The letter B indicate the PMS\BBS can support FBB's bulk compressed forwarding.
If you include the letter B you MUST also include the letter F
The letter L indicates the PMS\BBS supports NNA's bulk compressed forwarding.
The letter L over-rides BF. If both PMS & BBS have the letters BFL in their
SID's then NNA bulk forwarding will be used in preference to FFB forwarding.
If both PMS & BBS included a H in their SID, then the PMS will use the full
address of a station, if known. (e.g. G8NPF@GB7ESX.#31.GBR.EU)
Normally it is not necessary (or desirable?) for the PMS do do this, as routing
is best left to the BBS.
If your current version of the PMS SID includes the letter P then it MUST be
removed as the old style NNA compression is no longer supported by the PMS
(or by NNA's code!)
The $ should be the last letter, to retain compatibility with early MBL/RLI
systems.
The PMS SID should normally be ABFLMHV$
------------------------------------------------------------------------------
The /! switch
Some TCP/IP or NOS systems require a 'carriage-return' (ASC 13) to activate
their mailbox, otherwise nothing happens. If you precede the callsign with a
! the PMS will send the required 'CR' after establishing the connection.
Don't use this with normal AX25 BBS/PMS type stations.
------------------------------------------------------------------------------
Forwarding and the optional parameters > < @ #
> = To
< = From
@ = at BBS
# = a message number
Normally, only messages with an @BBS field that matches the callsign of the
station being forwarded to, will be forwarded to that station.
i.e. only messages addressed xxxx@G6CHJ would be forwarded to G6CHJ.
You can force the PMS to forward other message groups by adding the parameters
>callsign <callsign @bbs #msgnumber to the forwarding command.
When using the manual forwarding command FD (or poll command PL):
FD G6CHJ-3 >WNOS #1234
will forward to G6CHJ all messages addressed @G6CHJ, any messages addressed to
WNOS, and the specific message numbered 1234, regardless of how it is addressed
The same format can also be used in the automatic forwarding file FWDLIST.LST
to always include certain groups of messages in a forwarding session.
e.g. C NEEX:C G6CHJ-3 >TCPIP
will always forward messages addressed to TCPIP to station G6CHJ-3 as well as
any messages addressed @G6CHJ
Note:
Personal messages (PW) can only be forwarded once, so if you re-direct a
personal message to another station its status will become PF, and so it will
not be forwarded to the addressee as well. (Unless you use the MM command to
change its status back to PW)
Bulletins (B$) do not get their status changed after forwarding, so they can be
forwarded to more than one station.
-------------------------------------------------------------------------------
Forced forwarding to an alternative BBS.
It is possible to manually forward to any BBS as if it was your normal NTSBBS
by adding /* to the end of the command line.
i.e. FD GB7SFK /* will forward all messages that would normally be forwarded
to your regular NTSBBS, as if GB7SFK was your NTSBBS (for that session only!)
-------------------------------------------------------------------------------
If both your PMS, and the station you are forwarding to, have the automatic
password verification option set (letter 'V' in SID) then the system will
insist on a password exchange. If either station does not have the correct
password matrix, the system will disconnect. To force forward to such a station
you can inhibit the password check by adding the parameter /V to the end of the
command line, which will temporarily suppress the 'V' in your SID string.
i.e. FD NNA:GB7NNA /V
-------------------------------------------------------------------------------
Automatic forwarding to a TCP/IP gateway.
The PMS can automatically re-direct messages for tcp/ip stations to your
local tcp/ip gateway station, which could be your own tcp/ip station available
via the BPQ switch, or another local station.
Any message with .ampr.org as the @BBS tail will be forwarded.
e.g. a message posted as: SP g8dzh@g8npf.ampr.org
or: SB all@gb7tcp.ampr.org
You must set the ip gateway callsign in the npfpms.cfg file.
e.g. IPGATEWAY G8NPF-5
You should also include the gateway stations callsign in the FWDFILE.LST file,
as you would for any other station.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Special control key combinations.
The <Ctrl><Left-Shift> key combination.
Holding down these keys will:
1. Inhibit the MAIL beacon after a user disconnects, or whenever the PMS is
about to send a MAIL beacon.
2. Terminate a FORWARD, POLL or AUTOLIST session at the end of the current
connection.
3. Will abort a users listing as if the user had sent an abort (A) command.
4. Will prevent the PMS from re-booting after closing down with an error
condition.
The <Alt><Left-Shift> key combination. (Similar to F12 key)
Pressing these keys will switch the PMS display to the next channel up.
The <Alt><Right-Shift> key combination. (Similar to F11 key)
Pressing these keys will switch the PMS display to the next channel down.
The <Ctrl><Right-Shift> key combination.
Holding down these keys will 'dump' a user. The user is disconnected without
warning!
The <Alt><(0-9)> key combination.
Pressing Alt(0-9) will switch the PMS display to that channel (if valid).
<PageUp> & <PageDown> keys.
1. Used in response to a chat request alarm from a user.
Pressing <PageUp> will advise the user that you are ready to chat.
Pressing <PageDown> will advise the user that you are not available.
(Doing nothing will also give the unavailable response after a short delay).
2. When a user is connected to the PMS, pressing <PageUp> will advise the user
that you wish to chat to them. <PageDown> terminates the chat and puts the user
back to the normal PMS.
The <PageUp> and <PageDown> keys ONLY work when the PMS is connected to a user.
The <Tab> key.
When in TERMINAL or CHAT mode, the <Tab> key will add 3 chevrons plus a
<Return> to the input line. >>><Cr>
-------------------------------------------------------------------------------
Message status flags. (x=anything)
Bit Flag Meaning Hex
0 RBA Reads by addressee. xx=number of reads
1 RBO Reads by others. xx=number of reads.
2 TYPE Message type. 00=Open 01=Bulletin 02=Personal
03=User 04=AutoRead 05=ack:
08=Incoming
3 COMP Msg completed? 00=incomplete Cx=Incoming FF=completed
4 KOF Kill on forwarding 00=don't kill. >0=kill.
5 FWDT Forward type. 00=no fwd. 01=local only.
03=normal forwarding.
6 FWD Forwarded status. 00=not forwarded. 01=read by addressee
FF=forwarded.
7 ACT Msg active flag. xF=active. x0=killed. 1x=on hold
4x=un-killable. 8x=un-deleteable.
8 RBS Read by SysOp 00=not read. 80=read.
A typical MS (Message Status) might produce:
RBA - &H01 Read by the addressee
RBO - &H02 Also read twice by other stations
TYPE - &H02 Message type Personal (SP)
COMP - &HFF The message is complete
KOF - &H00 Don't kill after forwarding
FWDT - &H03 Message for normal automatic forwarding
FWD - &HFF Has been forwarded successfully
ACT - &H0F Still an active message.
RBS - &H00 Not read by the PMS SysOp.
000000000000000000000000000000000000000000000000000000100100011
The last line is the flags which indicate which stations already have the
message. These bits correspond to the (reverse) order of the stations listed in
the CONFIG\dupcheck.lst file.
To change a messages status use MM followed by a list of parameters in the
same order as the MS list. Use a * to leave a parameter unchanged. You only
need to enter parameters up to the one you wish to change.
Assuming message 123 is to be changed:
MM 123 * * 02
will change the message into a bulletin.
MM 123 * * * * * 00
will prevent the message from being forwarded.
Special message types.
----------------------
'Un-killable' and 'Un-deleteable' messages.
Only the SysOp can kill/delete this type of message, after setting the status
back to normal. The auto housekeeping function will not be able to kill or
delete them either. Messages can be marked in this way, by the SysOp, by using
the MM (Mark Message) function.
MM nnn &H4F for un-killable.
MM nnn &H8F for un-deleteable.
MM nnn &HCF for both.
(nnn is the message number)
They can be set to normal with: MM nnn &H0F
-------------------------------------------------------------------------------
File downloaded flag.
When doing a W to obtain a directory listing, the file-size may be followed
by an 'a'. This indicates that the file has not yet been downloaded.
When it is downloaded the 'a' flag is cleared. This is mainly intended for
files placed in .USR sub-directories, and allows the SysOp to tell if a user
has downloaded a file left for them.
This mechanism uses the files archive (A) attribute. You can manually set the
attribute by typing; * ATTRIB +A FILES\<(subdir\)fsp> (assuming MSDOS)
The archive bit can be cleared by using -A in place of +A
-------------------------------------------------------------------------------
Printer filters.
If your printer cannot handle all the extended IBM character set (Ascii codes
128 to 255) then you may exclude a range of codes from the printer with the
config command PRINTERFILTER <start>-(<end>) e.g. PRINTERFILTER 128-159
If <end> is omitted then 255 is assumed.
You may use multiple PRINTERFILTER commands to exclude as many small blocks
as you wish. To exclude all of 128 to 255 just use: PRINTERFILTER 128
You can also exclude control codes as well. e.g. PRINTERFILTER 12-12 will
exclude the FF (FormFeed) control code only. However, all control codes except
ASCII 13 (CR) and ASCII 26 (Ctrl Z) are filtered from in-coming text before
being displayed or printed anyway, so this should not normally be required.
(You can also exclude normal (printable) codes if you really feel the need!)
-------------------------------------------------------------------------------
Printer control.
The PMS tries to manage printer output, to prevent an attempt to print to a
printer that is off-line, or otherwise unavailable, from hanging the PMS.
However, pressing the Print-Screen key to dump the screen to printer with the
printer unavailable (switched off or buffer full) may cause ALL the PMS windows
to freeze until the printer dump has finished.
-------------------------------------------------------------------------------
Dump user.
A user may be dumped at any time by pressing, and holding, the
<Right Shift> and <Right Ctrl> keys simultaneously. The user is disconnected
immediately without any warning even if in the middle of a file up/download.
This should be regarded as a last resort 'Panic Button' only.
-------------------------------------------------------------------------------
Compressed message forwarding to/from NNA BBS.
The PMS is capable of forwarding messages in NNA bulk compressed format to
other stations using compatible code (NNA/NPFPMS)
To enable this function include a L in the EXT line in the NPFPMS.CFG file.
Compressed message forwarding to/from FBB BBS.
The PMS is capable of forwarding messages in FBB bulk ascii/compressed format
to other stations using compatible code (NNA/FBB/NPFPMS)
To enable this bulk ascii forwarding include the letters F in the EXT line in
the NPFPMS.CFG file. To enable this bulk compressed forwarding include the
letters B in the EXT line in the NPFPMS.CFG file.
(If you include the B, then you must also include the F)
Protocol errors sent out by FBB BBS's.
----------------------------------
0 : Binary packet is not of header (HD) type when receiving title.
1 : Checksum of message is wrong.
2 : Message could not be un-compressed.
3 : Received binary frame is not DATA (DT), not EOT (ET).
4 : Checksum of proposals is wrong.
5 : Answer to proposals must start with "F" or "**".
6 : Answer to proposals must be either "FF" or "FS".
7 : More than 5 answers (with "+", "-" or "=") to proposals.
8 : Answer to proposal is not "+", "-" or "=".
9 : The number of answers does not match the number of proposals.
10: More than 5 proposals have been received.
11: The number of fields in a proposal is wrong (6 fields).
12: Protocol command must be "FA", "FB", "F>", "FF" or "FQ".
13: Protocol line starting with a letter which is not "F" or "*".
-------------------------------------------------------------------------------
Review mode.
A scroll back buffer is available. Press <Ctrl><Page up> to
activate. You may scroll backwards and forwards with the cursor keys, Page up,
Page down, Home and End keys.
Press <Esc> to exit the review mode.
-------------------------------------------------------------------------------
Number formats.
The PMS will normally accept numeric input in the following formats.
Decimal e.g. 1201
Hex e.g. &HA6 or A6H or $A6
Binary e.g. &B100110 or 100110B
Octal e.g. &O102 or &102
Invalid numbers (e.g. &HXYZ or &B56) will normally default to zero.
The highest valid Decimal number is 999999
The highest valid Hex number is &H7FFF (32767)
The highest valid Binary number is &B111111111111111 (32767)
Out-of-range numbers will be forced to within the valid range for the command.
e.g. R -6 will be forced to 0 (Negative numbers are invalid)
R 1234567 will be forced to 99999 (The highest message number possible)
The system will treat all numeric input as DECIMAL unless instructed otherwise!
Be careful when inputting binary flags (i.e. access flags) to prefix the input
with the correct notation. 0100110 is not the same as &B0100110 !
-------------------------------------------------------------------------------
Security.
Add the line: SECURITY (character(s)) to the NPFPMS.CFG file.
If anyone logs on to the PMS using the SysOp's callsign, the extra character(s)
must be sent before the normal PMS> prompt will be seen. Anything else will
cause the PMS to terminate the connection. Choose characters that may go
unnoticed by a casual observer, rather than something obvious.
i.e. .@- would be far less obvious than SYSOP
By default the security character is just two dots ..
-------------------------------------------------------------------------------
User Access flags. 0=un-set 1=set
These flags can be set for individual users by using the Edit User command:
EU <callsign>
0000000000000000
^ ^
bit 15 bit 0
Bit
0 Connection allowed. (Setting to 0 will lock a station out)
1 (Reserved)
2 File uploads allowed.
3 File downloads allowed.
4 (Reserved)
5 System check flag. 0=new format. 1=old format. DO NOT ALTER!
6 3rd party reads allowed.
7 3rd party sends allowed.
8 (Reserved)
9 (Reserved)
10 (Reserved)
11 (Reserved)
12 SYSOP command allowed.
13 (reserved)
14 PMS SysOp. 1=for PMS SysOp ONLY. 0=any other user.
15 Must be 0 DO NOT ALTER!
New users default to: 0000 0000 0000 1111 Hex 000F
The PMS SysOp's entry should be: 0101 0000 1101 1111 Hex 50DF
------------------------------------------------------------------------------
Other User flags. 0=un-set 1=set
These flags can be set for individual users by using the Edit User command:
EU <callsign>
--BS-LPX
^ ^
bit 7 bit 0
The first 3 can also be set by users with the X, P and LR commands. The others
can only be set by the SysOp with the EU command.
Bit
0 Expert flag. (X) 1=User is in Expert mode.
1 List Pause flag. (P) 1=User Pause option is on (default)
2 List order flag (LR). 0=List high to low. 1=List low to high.
3 (Reserved)
4 SHORT log-on flag. 1= Send short log-on text only.
5 BBS flag. 1= Station is a BBS
6 (Reserved)
7 (Reserved)
New users default to: 0000 0010
Set bit 5 for unattended or BBS stations. They do not want to see a lot of
log-on text!
Set bit 4 for regular users who no longer need, or want, the full log-on text.
------------------------------------------------------------------------------
Files directory description file.
An ascii file called CONFIG\filedesc.txt is used to describe all the files
and sub-directories within the FILES section. See sample file.
You must edit this file to suit your files. The maximum number of entries
scanned in this file is limited by the TEXTBUFFERSIZE setting in the NPFPMS.CFG
file. Entries greater than this will be ignored.
If a file-type is not specified, COM EXE ZIP default to BIN and TXT DOC
default to ASC. A file description is not mandatory, but is best included.
-------------------------------------------------------------------------------
Text colours.
The monitored frames from each BPQ host port are displayed in a different
colour. The colours can be set in the NPFPMS.CFG file with the commands:
PORT1COLOUR to PORT16COLOUR (All default to white)
Other colours are:
LOCALINCOLOUR Defaults to light cyan. Mostly used for 'keyboard' text.
LOCALOUTCOLOUR Defaults to cyan. Mostly used for 'command replies' text.
SYSTEMCOLOUR Defaults to green. Mostly used for 'system' text.
ERRORCOLOUR Defaults to light red. Used for error messages.
KEYBOARDCOLOUR Defaults to white.
Text colours on a VGA system are:
O Black
1 Blue
2 Green
3 Cyan
4 Red
5 Magenta
6 Brown
7 White
8 Gray
9 Light Blue
10 Light Green
11 Light Cyan
12 Light Red
13 Light Magenta
14 Yellow
15 High intensity White
-------------------------------------------------------------------------------
REQFIL, REQDIR, FNDFIL and WP servers.
These are described in the file USER.DOC, in the FILES directory.
-------------------------------------------------------------------------------
AutoList and AutoRead
Automatic listing and reading of mail from your NTSBBS
This will only work with NTSBBS's that switch to a short prompt after
receiving a [xxx-n.nn-$] type SID. (I know of none that don't...)
The PMS can automatically log on to your local NTSBBS and issue a sequence of
commands (contained in the file CONFIG\autolist.cmd) to download mail headers.
The autolist.cmd file will normally just contain a single 'L' list command, but
the file may contain any valid command(s). e.g. L> DEBATE or L@ GBR
All text received from the NTSBBS is written to the AutoList file.
This can be browsed/edited/deleted by using <Alt>F6 (Edit AutoList).
You should mark a message you wish the PMS to 'Read' next time with a # in the
first character position. This can be done by pressing the <Tab> key to
toggle the leading # on and off automatically.
The next time the PMS does an AutoList, it will also do a 'Read' of all the
messages in the list marked with a #. The messages will be added to the PMS
message base. After completing a successful read, the # in the AutoList list
will be changed to a *
You must specify the format of the BBS's message header for the To, From, BID
and/or MID, and Subject fields. For example,
My local NNA BBS uses the format:
To : xxxxxxxx
From : xxxxxx
Subject : xxxxxxx
BID: xxxxxxxx
A local FBB BBS uses the format:
To : xxxxxx
From : xxxxxx
Title : xxxxxx
Bid : xxxxxxxxx
The BBS BID header may be replaced my a MID header for personal messages.
So, for the NNA BBS, you could set up the NPFPMS.CFG file as:
AUTOTO To :
AUTOFROM From :
AUTOSUBJECT Subject :
AUTOBID BID:
AUTOMID MID:
(It *may* be better not to include the : in case the number of spaces varies!)
For the FBB BBS, you could set up the NPFPMS.CFG file as:
AUTOTO To
AUTOFROM From
AUTOSUBJECT Title
AUTOBID Bid
AUTOMID Mid
Note: Upper/Lower case IS significant.
This will enable the PMS to extract the relevant information from the NTS BBS's
message headers. If the PMS is unable to extract any of these fields correctly
then the message header, as displayed on the PMS, will be incorrect. This will
not cause any real problems as messages read in this way are given the status
ZN and are treated as personal messages. They cannot be read by anyone other
than the PMS SysOp, and will not be included in any forwarding sessions, or
appear in listings to other users of the PMS. (Unless THIRDPARTY is ON)
If there is no message header at all, or no R: routing line(s) then the PMS
will assume there is no valid message and the message will be abandoned.
Note:
The PMS can only extract the To/From/BID/Subject fields if the AUTOREADCMD is
set to V (verbose). If you set it to R (read) then you will not get the
original fields. Also the SR (SendReply) command can only work with messages
read in verbose mode, as SR requires the R: routing lines to determine the
originating BBS.
AUTOROUTE contains the connect path to your NTSBBS
e.g. AUTOROUTE NTSX:GB7ESX or AUTOROUTE GB7NNA
You can cross connect via a KA node by using the 'X' option. e.g.
AUTOROUTE KEPAC3:X GB7DUG
(See 'Syntax of connect paths' for a full description of connect paths)
AUTOPROMPT contains the prompt the NTSBBS issues when it has finished sending
you text. The prompt will normally be something like: GB7ESX BBS >
Some BBS's (FBB) prefix the prompt with a (variable) port number, and some
include the time (obviously variable!). So, what the PMS looks for is a line
ending with a > character, and including the specified prompt within the line.
If AUTOPROMPT is set (for example) to GB7ESX BBS then the PMS will accept
2:GB7ESX BBS > or GB7ESX BBS 10:35 > or just GB7ESX BBS>
In the (unlikely) event of the prompt actually appearing in a message header or
content, then the AutoList/Read function will terminate prematurely, so make
the AUTOPROMPT as specific as possible.
IT IS MOST IMPORTANT TO GET THE PROMPT CORRECT.
If you do not set AUTOROUTE or AUTOPROMPT then the AutoList function will be
inhibited.
Set the times to carry out the AutoList function in the NPFPMS.CFG file.
e.g.
AUTOLISTTIME hh:mm hh:mm etc.....
The AutoList and AutoRead functions have been tested with a NNA BBS and, to a
lesser extent, with a FBB BBS. I do not know if they will work correctly with
any other type of BBS software. I would be pleased to hear if they do, or do
not!
-------------------------------------------------------------------------------
Monitor port mask options.
The monitor mask controls which radio ports are monitored, and what types of
frames are displayed. The PMS can monitor BPQ radio ports 1 to 12
The mask number is a 4 digit hexadecimal number.
The first digit is the frame mask, which sets the types of frames monitored.
The value is a hex number from 0 to F. It is a bit field where:
Bit 1 enables the display of NODES broadcasts.
Bit 2 enables the display of supervisory frames.
Bit 3 enables the display of NetRom frames.
Bit 4 is not used, and is always 0.
Normal frames containing data (text) are always displayed.
The default is 7 (bits 1-3 set) which means monitor all types of frames.
The last 3 digits of the number are the BPQ radio port mask.
The value is a 3 digit hex number from 000 to FFF. It is a bit field where:
Bit 1 enables monitoring of radio port 1
Bit 2 enables monitoring of radio port 2
(...through to...)
Bit 12 enables monitoring of radio port 12
The default value of FFF (hex) means monitor all ports.
The full mask value will normally be 7FFF hex. The current value is displayed
on the lower status line as Mask-xxxx and can be changed with the F3 key.
-------------------------------------------------------------------------------
The system text editor.
The editor is not intended to be a full-blown word processor!
It should be sufficient for its purpose.
Note: All control codes, other than 13 (CR) and 26 (EOF), will be removed from
a text file loaded into the editor.
Whilst in the editor you can use the normal edit keys;
Insert, Delete, Backspace, 'Arrow' keys, Home, End, Page up, Page Down,
and Ctrl+(edit key) to move around the text. Automatic word wrap is used.
^Y Delete an entire line.
^U Re-insert the last line deleted, at the current line position.
^KA Copy a marked block to the current cursor position.
^KB Mark the start of a block.
^KH Clear the markers.
^KK Mark the end of a block.
^KP Print marked block. If no markers are set, nothing is printed!
^KQ Quit the editor without saving the text.
^KR Read another text file into the editor at the current cursor position.
^KS Save the text to disk and stay in the editor.
^KV Move marked block to the current cursor position.
^KW Append marked block to file.
^KX Save the text, then quit the editor.
^KY Delete a (small) marked block.
^K\ Delete current editor file. (!)
<Enter> Will split a line, or create a blank line.
<Tab> Inserts enough spaces to move the cursor to the next Tab position.
<Shift Tab> Moves the cursor back to the previous Tab position.
<Tab> moves the cursor to the next tab position, inserting spaces as required.
<Shift Tab> moves the cursor back one tab position.
^ indicates a control key sequence. ^KR is <Ctrl>K followed by R
Note:
The block markers may be incorrect if a word wrap occurs at the beginning
or end of the marked block.
You cannot save or delete any of the help files called with the ? command
or the F1 key.
Editing a PMS message file. (S/EM)
When editing a message file, DO NOT edit or delete the R: routing lines, as
that may upset the forwarding system.
If you wish to read the contents of another PMS message into the editor, then
you can refer to the PMS message in shortform. Assuming the message number to
read is 1234, then enter #1234 as the filename to read and the name will be
converted to MAIL\MSG01234.msg
If you actually need to read in a real file called #1234 then include the full
path in the filename. e.g. \TEXT\#1234
-------------------------------------------------------------------------------
7Plus files.
The PMS can automatically convert 7Plus files received as messages into
separate 7Plus files using the original file name extracted from the 7Plus
header. e.g. If a multi-part 7Plus program has been sent to the PMS as message
numbers 201, 202 and 203 then enter the command: D7 201 202 203
D7 is the command, followed by the relevant message numbers.
It will create 3 files in the 7PLUS\ sub-directory called xxx.P01 xxx.P02 and
xxx.P03 (The xxx being the original filename)
Note: The PMS does not actually decode the files. It converts message files
into 7Plus files ready for decoding with 7PLUS.EXE
(7PLUS 2.02 is copyright (C) DG1BBQ)
-------------------------------------------------------------------------------
USER VARIABLES
--------------
The following variables may be used in SCRIPT files, and in the multi-line
configuration commands in the NPFPMS.CFG file.
The variable will be converted to the appropriate text when transmitted.
Any $x not listed below will be removed from the text.
Note: The case of the character is significant!
$$ The $ character itself.
$A The day of the week.
$B Bell. Adds a ASCII code 7 to the text.
$C Callsign of the user currently connected.
$D USA Date. MM-DD-YYYY e.g. 09-26-1992
$d Date. DD month e.g. 26 Sep
$E Date. DD-MM-YY e.g. 26-09-92
$e Date. DD-MM-YYYY e.g. 26-09-1992
$F Lowest message number.
$g Date. DD month YYYY e.g. 26 Sept 1992
$I SysOp's name.
$J A New Line (CR - ASCII 13)
$K The currently connected users total number of log-on's.
$L Highest message number.
$l Users message pointer.
$M "morning/afternoon/evening" (Depending on time of day)
$N Number of active messages.
$n Number of unread messages for currently connected user.
$O PMS callsign.
$o The local NTSBBS callsign.
$P The PMS channel number.
$S Time signature. e.g. gmt
$T Current time. hh:mm
$t Current time. hh:mm:ss
$U Same as $X
$V Software version.
$W The currently connected users name.
$X The currently connected users last log-on date. (dd-month-yyyy)
$x The currently connected users last log-on date. (dd-month)
$Y The currently connected users last log-on time. (hh:mm)
S0 to $9 are reserved for internal use. Do not use!
Any $x variable not listed above will be removed from the text.
Note:
The date separator depends on the setting of DATESEP in the NPFPMS.CFG file
It defaults to -
-------------------------------------------------------------------------------
Additional commands available to a valid Remote SysOp.
CF EH EU EW DR DL DK DU DW FH FL KD KY LD LH LK
HM LU LX LY LZ MF MM MS MR MS RB RK RZ SU SY SZ
UK WU RESTART UNPLUG PASSWORD
Additional commands only available at the keyboard.
AD AU D7 EM EF FD PA PL SY EXIT *
-------------------------------------------------------------------------------
See the file FILES\USER.DOC for information about user commands.
See the file SYS\SYSOP.TXT for information about Sysop only commands.
===============================================================================
DESQview interface
------------------
NPFPMS is a 'DESQview aware' program. It can make the required calls to the
DESQview API to interface correctly with DV. It can also give up it timeslice
when just its idling, waiting for input.
The PMS command line switch /V has the following options:
/V Disable all DV calls.
/V1 Enable 'DV critical' calls.
/V2 Enable 'release timeslice' calls.
/V3 Both.
If the PMS detects DESQview has been loaded it will enable all DV calls, unless
a /V option has been used on the command line. If DESQview has not been loaded
then all DV calls are disabled regardless of any /V option.
Suggested set-up for DESQview V2.3+ and a 386/486 PC
The PMS *should* work under DESQview on a 286, but its not been tested.
The BIOS must be dated 01/10/86 or later. The DESQview version must be 2.3 or
later.
Program Name............: NPFPMS
Keys to Use on Open Menu: PM Memory Size (in K): 590
──────────────────────────────────────────────────────────────────────────────
Program...: C:\PMS\PMSCODE.EXE
Parameters: /DX
Directory.: C:\PMS\
──────────────────────────────────────────────────────────────────────────────
Options:
Writes text directly to screen.......: [N]
Displays graphics information........: [N]
Virtualize text/graphics (Y,N,T).....: [Y]
Uses serial ports (Y,N,1,2)..........: [N]
Requires floppy diskette.............: [N]
Change a Program Advanced Options
System Memory (in K).......: 0 Maximum Program Memory Size (in K)..: 630
Script Buffer Size.........: 0 Maximum Expanded Memory Size (in K):
Text Pages: 1 Graphics Pages: 0 Initial Mode: Interrupts: 00 to FF
──────────────────────────────────────────────────────────────────────────────
Window Position:
Maximum Height: 25 Starting Height: 25 Starting Row...: 0
Maximum Width.: 80 Starting Width.: 80 Starting Column: 0
──────────────────────────────────────────────────────────────────────────────
Close on exit (Y,N,blank)......: [N] Uses its own colors..............: [Y]
Allow Close Window command.....: [N] Runs in background (Y,N,blank)...: [Y]
Uses math coprocessor..........: [N] Keyboard conflict (0-F)..........: [0]
Share CPU when foreground......: [Y] Share EGA when foreground/zoomed.: [Y]
Can be swapped out (Y,N,blank).: [ ] Protection level (0-3)...........: [2]
Notes:
'Uses serial ports' is set to [N] as the PMS program does not use the serial
ports directly. Control of the serial ports is by the BPQcode, which must be
loaded BEFORE DESQview.
It *may* be possible to reduce the 'Memory Size' down from the 590K suggested
if the buffer sizes are kept small. Should the PMS stop with an ERROR 7,
or DESQview just aborts the PMS, it is most likely running out of memory!
An EXCEPTION 13 error can be generated by (Q)EMM386.SYS if the PMS does not
have enough memory to run one of its sub-programs (i.e. message compression).
*THE* most common reason for the PMS to fail to work correctly under DESQview
is lack of allocated memory!
I do not recommend trying to run more than one copy of the PMS under DESQview,
unless they are run from different sub-directories.
The PMS will make all the relevant calls to DESQview to prevent time-critical
events being interrupted.
-------------------------------------------------------------------------------
USER.DOC file
Please note that the format of the user.doc file is important as it is used by
the help system. If you edit the file do not remove the blank lines between
entries, or the leading spaces.
You may edit the actual text, but do not change the way it is set out.
-------------------------------------------------------------------------------
Log file.
The log file records the activity of the PMS. Most automatic functions and
errors are recorded in the system log. Also, if Log User is on, then most
activity that occurs while a user is connected will also be written to the log
file. Chat sessions are not logged, neither is the text generated by the
AutoList/AutoRead function, or the text from the 'monitor' function. The log
can be browsed/edited by pressing the F6 key to load the log file into the
editor. You must not delete the log file, or edit it from 'outside' whilst the
PMS is running!
*Warning*
Setting 'Log User' to on can result in the log file growing very rapidly!
-------------------------------------------------------------------------------
When a new message arrives for the SysOp (possibly from another channel) a
series of 5 pips will sound. The same signal is sounded (as a reminder) if a
Msg for: beacon is transmitted which includes the SysOp's callsign.
The Scroll Lock LED on the keyboard will also flash, if SCROLLFLASH is ON in
the config file.
-------------------------------------------------------------------------------
BID's and MID's
Bulletin ID's are stored in a file called SYS\bids.rec
This file should be 'pruned' occasionally (every few months?) to remove oldest
entries. The larger the file grows, the slower the duplicate checking will be.
You can use the system editor for this, as the file is in ascii format.
The <Shift>F6 key will load the bids.rec file into the editor.
-------------------------------------------------------------------------------
Testing the PMS locally.
You can connect from one PMS window to another to test the system.
e.g.
Select window 00
Press F10 to connect to the BPQ switch.
Type C G8NPF-3 (or whatever the PMS's callsign is)
(Enter your security characters, if appropriate.)
You will now be connected to the PMS as if you had connected 'over the air'
===============================================================================
Restricting the range of messages Listed and Read.
The 'A' and 'R' parameters.
In order to speed up searches, most list commands only operate on a restricted
range of messages. The basic L (List) command only scans messages added since
the user last did a List. Most other List and Read commands only scan messages
added since the users last log-on. To force these commands to search ALL the
messages on the system, append an A to the command.
e.g. L A
LG OS2 A
L< G8NPF A
Some commands normally search the entire message base by default. To restrict
these commands to searching 'new' messages only, append an R to the command.
e.g. LX R
LM R
If you have a large number of messages in the message base, then some List
commands can still result in very long lists.
(i.e. A new user logs on and types L, or the SysOp uses the LX command.)
You can set a limit to the number of messages listed by any of the List
commands, with the MAXLIST setting in the NPFPMS.CFG file.
MAXLIST defaults to 50. If recent messages have been killed or deleted, then you
may get somewhat less than the expected maximum.
Note:
A users message pointers are updated automatically when the user disconnects
with the (B)ye (or Q) command .
To update your (the SysOp's) message pointers, just type B at a command line.
-------------------------------------------------------------------------------
Misc. notes regarding the BPQCFG
The PMS callsign is read from the BBSCALL entry in the BPQCFG.BIN file.
The PMS "Message for:" beacon will be transmitted on all BPQ ports that have an
UNPROTO path set in the BPQCFG file. (UNPROTO=MAIL)
The BPQ directory specified by the BPQDIR option must contain the file
BPQCFG.BIN (read by the PMS on start-up) and the file BPQNODES.COM if you have
BPQNODESAVE set ON
There is no need to specify any TNCPORT's for Host Mode operation.
-------------------------------------------------------------------------------
Automatically changing the @BBS field on incoming messages.
The file CONFIG\change.bbs holds a list of @BBS fields to be replaced and the
revised field.
i.e.
ESX #ESSEX will replace @ESX with @#ESSEX
GB7NNA GB7ESX will replace @GB7NNA with @GB7ESX
GB GBR.EU will replace @GB with @GBR.EU
-------------------------------------------------------------------------------
Message on hold.
There is a facility to place 'on hold' all incoming messages addressed TO or
FROM a specific callsign, all messages addressed @ a particular BBS, or all
messages sent by a particular station regardless of the TO or FROM fields.
Enter a list of callsign's to be held in the file CONFIG\hold.lst
One callsign per line. SSID's are ignored.
i.e.
> G9AAA
< G9AAA
< G9BBB
@ GB9XXX
B GB9ZZZ
Will hold all messages addressed TO or FROM G9AAA, all messages FROM G9BBB,
all messages addressed to stations @ GB9XXX, and ALL messages sent by the
station GB9ZZZ regardless of the TO or FROM fields.
Messages are flagged as as type H. (PH BH) Only the SysOp can list or read
these messages. The SysOp can hold a message manually with the HM command,
and clear it with the UH command. The LH command will list all held messages.
-------------------------------------------------------------------------------
DOS * commands.
There is LIMITED support for DOS commands entered at the pms> prompt.
Commands must be pre-fixed with a * character. i.e. *DIR /W
You should restrict useage to 'simple' DOS commands, and avoid 'advanced'
commands that may corrupt the memory/environment in use by the PMS.
Be VERY careful with DOS commands as it is possible to do things that may
corrupt the PMS code, or change files the PMS is using.
Avoid using commands that may prompt for input, as you will not see the prompts
and will have to type in blind what DOS expects as input.
For example, if you type *TIME on its own, DOS will prompt for a new time. You
will not see this prompt! DOS will then just wait for you to type a new time.
Typing *TIME 20:15 would reset the DOS (and PMS) clock to that time.
If you get stuck, Ctrl/C or Ctrl/Break will often terminate a DOS command.
Please note that whilst an external DOS command is executing, *ALL* the PMS
windows are frozen. If you use a DOS command that takes a long time to execute,
or waits for user input, the PMS will be prevented from functioning.
-------------------------------------------------------------------------------
Password protection for users and forwarding sessions.
The pms supports 'NNA style' password protection for both normal users and for
PMS<>BBS forwarding sessions. To enable the latter, include a V in the pms SID.
Before a user can have password facilities he must first be issued with a
password matrix like the one below. Each users matrix will be different.
A password matrix can be generated by entering the command PASSWORD <callsign>
This will create a matrix for the specified callsign called CONFIG\xxxxxx.mat
where xxxxxx is the callsign. Toggle the printer on (f9) if you want a printed
copy of the matrix to send to a user. If you wish to generate a new matrix for
an existing entry, you must delete the existing file first.
Example matrix.
0 1 2 3 4 5 6 7
0 A b F $ 7 : j u
1 1 H J & : F S H
2 H F R T & 5 4 c
3 b f $ S ! J N B
4 J k y f % 5 2 0
5 + G D 3 $ y f 5
6 = g h E x v \ j
7 R p * X ; Y C d
The matrix is numbered 0 - 7 down (the first of the double numbers) and 0 - 7
across (the second of the double numbers).
The user logs onto the PMS in the normal way where they can read mail, download
files etc. However, before they can SEND or KILL a message they will have to
enter a @ character at the prompt and wait. The PMS will return 3 pairs of
numbers.
They must then check their personal password matrix and enter the correct
characters without spaces. The password is case sensitive so it must be entered
exactly as it's laid out in the matrix.
In the above example matrix, if the PMS sent 21 54 27 the user would enter F$c
The first pair of numbers is 21 - 2 down, 1 across = F
The second pair of numbers is 54 - 5 down, 4 across = $
The third pair of numbers is 27 - 2 down, 7 across = c
There must be no spaces and upper and lower case letters must be entered just
as they are in the matrix.
No acknowledgement is given to say if the password was entered correctly or not.
Incorrect replies will be ignored so they can send @ and answer as many times
as they like. This adds further security to the password.
If the password has not been correctly entered, the user will receive the
message "This message will be held" if they try to send a message. If this
happens they can enter * to cancel the message and follow the above
instructions again (or carry on and have the message held).
For automatic forwarding sessions both the PMS and the BBS you are forwarding
to/from must have the same matrix. If both stations have a V in the SID them
the password is sent automatically. Incorrect password or missing matrix will
result in a disconnect! If you wish to use your NTSBBS's alias, rather than its
real callsign (i.e. ESXBBS rather than GB7ESX) then you will need a duplicate
matrix for the alias. (Just copy the matrix GB7xxx.MAT to xxxBBS.MAT)
The password protection operates as follows:-
Assuming you always have a V in your pms SID...
Manual incoming connections.
----------------------------
1. A 'normal' user connects, for whom you DON'T have a password matrix stored:
No password matrix means password protection is not used.
The @ command has no effect. It is just ignored.
2. A 'normal' user connects, for whom you DO have a password matrix stored:
Valid password matrix means password protection is used.
If the user sends a valid password (with the @ command), then the user can
send messages normally, otherwise any messages sent are 'held for SysOp's
attention. An incorrect password response is simply ignored.
Automatic incoming connections.
-------------------------------
1. A bbs user connects, for whom you DON'T have a password matrix stored:
The bbs user sends his SID [..-BFHLM$] (No V)
No V in the incoming SID means no request for a password is made.
Normal forwarding takes place.
2. A bbs user connects, for whom you DON'T have a password matrix stored:
The bbs user sends his SID [..-BFHLMV$] (with a V)
A V in the incoming SID, with no valid password matrix for the user, means
the user is immediately disconnected.
3. A bbs user connects, for whom you DO have a password matrix stored:
The bbs user sends his SID [..-BFHLM$] (No V)
No V in the incoming SID means no request for a password is made.
Normal forwarding takes place, but the valid password matrix means that any
incoming messages are 'held for SysOp's attention.
4. A bbs user connects, for whom you DO have a password matrix stored:
The bbs user sends his SID [..-BFHLMV$] (With a V)
A V in the incoming SID causes a password to be requested automatically.
If a valid password is received, the user can forward messages normally.
If a invalid password is received then the user is disconnected.
A normal user is a user who does not send a SID when connecting.
A bbs user is a user using PMS/BBS software that sends a SID [....] when it
connects to another station in automatic mode.
The password system also operates when a user tries to KILL messages.
So, if a pirate used the callsign of someone who had arranged for a password at
the BBS/PMS, the best the pirate could achieve is to send a message that was
placed 'on hold', and would not be forwarded on anywhere until the SysOp
released it. If the contents were 'dubious' them the SysOp would contact the
supposed sender first, to verify if the message was genuine.
To disable the automatic 'bbs' password verification, remove the V from the
PMS's SID and remove the appropriate password matrix file.
To disable a 'normal users' password verification, remove the users password
matrix file.
Remember, a matrix is created at random, so if you delete a users matrix, and
then generate a matrix for the user again, the new matrix will be different
from the old one. You would then need to send the new matrix to the user.
If you only wish to remove a matrix file temporarily, just rename xxxxx.MAT to,
say, xxxxx.OLD You can then re-instate it easily, without having to generate a
new matrix.
------------------------------------------------------------------------------
Importing messages from disk file.
----------------------------------
The PMS can import messages from a disk file (plain text, NNA BBS format)
The command is: IMPORT (drv:)filename.ext
(Where 'filename.ext' is the name of the file to import).
Messages are read from the file as if they were being forwarded to the PMS. The
BID's checking works as normal, so the PMS will not import duplicate messages.
Exporting messages to a disk file.
----------------------------------
Exporting messages to a file is an extension of the forwarding system.
EXPORT is a 'special callsign' which is used to create the export file.
To manually create an export file, use FD EXPORT (options) The options are the
same as those normally used with the FD command. The 'forwarded' messages are
written to a file call \PMS\EXPORT.BBS
This file can then be copied to a floppy disk with: *COPY EXPORT.BBS A:
An export file can be created automatically by including an entry in the
config\fwdfile.lst using the 'special callsign' EXPORT (options) i.e.
EXPORT @GB7ESX >ALL
(For a list of the available options, see the FD command).
Normally, once a message has been exported to the export file it is marked as
such, and will not be exported again. You can force the PMS to export messages
a second time by placing a -D at the end of the EXPORT command. That will
inhibit the duplicate checking.
------------------------------------------------------------------------------
Deleting messages 'Locked by another channel'
If the PMS code aborts while a message is being sent, you may end up with a
zero length message which shows in the listings something like:
Msg# TS Size Date (etc...)
1234 Cn 0 28-Jul (etc.....)
(The Cn indicates the message was coming from channel n)
Attempting to delete the message with the DL command may produce a response
like 'Locked by another channel?'
To delete the message, first use the 'Mark Normal' command.
Assuming message number 1234, type:
MN 1234
Then you can delete it as normal.
WARNING:
Only use this method to delete 'crashed' messages.
DO NOT use it on a message that is actually being entered on another channel!
------------------------------------------------------------------------------
Re-numbering.
-------------
The re-number function is an external program which will renumber the all PMS
messages to 101 upwards. The PMS must be closed down before this program is run.
Don't re-number 'just for the sake of it'. Remember that message BID's are
generated from the message numbers, and if you re-number too often then the PMS
may produce a duplicate BID, which may then be refused if you attempt to
forward it to a BBS that has already received a message with the same BID.
Re-numbering should only be required if the message numbers approach the
highest valid number (99999) or a computer 'crash' has affected the numbering.
------------------------------------------------------------------------------
Automatic connection to other nodes. (When forwarding etc.)
Different types of nodes can produce a variety of 'connect' text. Net-Rom & BPQ
nodes, when connected to at Level 4, using the real callsign of the node,
normally just send 'Connected to xxxxx' or 'Failure with xxxxx' This is the
normal type of reply the PMS expects, to determine if the connection has been
successful or not. However, if connections are made at level 2, using the
node's alias, or the node is a KA Node, then the text can be several lines
long, and quite varied!
To allow for this you can specify up to 5 text strings (in the NPFPMS.CFG file)
for determining if a connection to a node has succeeded or failed, with the
commands: NODECONN <text> and NODEFAIL <text>
See the settings in the sample NPFPMS.CFG file.
When the PMS connects to a node, it will check all the text strings specified,
looking for a match within the nodes reply text, to determine if the connection
was successful or not. Any node reply text not containing any of the specified
text strings will be ignored.
e.g. If you set:
NODEFAIL FAILURE WITH
NODEFAIL BUSY FROM
NODECONN CONNECTED TO
NODECONN LINK MADE
Then, if the PMS receives any text from the node containing 'Failure with' or
'Busy from' it will assume the connect failed. If is sees any text containing
'Connected to' or 'Link made' it will assume the connection succeeded.
You can specify up to ten NODECONN strings, and up to ten NODEFAIL strings.
Any more will be ignored.
Note: The case of the received text is not important. Lower case text is
converted to upper case.
------------------------------------------------------------------------------
Registering the PMS.
--------------------
If you decide to use the PMS code on a regular basis, and have not previously
registered, then the requested registration fee is 15.00 pounds. That will help
reward the many hundreds of hours work that have gone into writing the PMS code!
You must state the callsign to be used with the PMS. You will then receive a
registration number which will remove the ** Un-registered copy of NPFPMS **
line from outgoing messages, when the PMS is used with the stated callsign,
and you will be added to the 'registered users' list.
Cheques made out to 'E' Harrison please, not 'T ' (Ted is only a nickname!)
IF YOU WANT SUPPORT, THEN REGISTER!
To use the registration number, add the following line to your NPFPMS.CFG file:
REGISTRATION <number>
Please note, the registration number only works with the callsign stated. If
the PMS is used with a different callsign, then the registration number has no
effect. Another user cannot use your registration number!
==============================================================================
==============================================================================
Finally.......
PLEASE report any bugs or other problems you come across. I can't check
everything under all conditions, and welcome ANY feedback from users.
A lot of improvements have been as a result of suggestions and/or bug reports.
Thank you...
73 Ted.
NTS G8NPFX@GB7ESX.#31.GBR.EU
Internet tedharrison@compulink.co.uk
(AMPRNet g8npf@g8npf.ampr.org 44.131.16.148)