Category : Science and Education
Archive   : PG910909.ZIP
Filename : PGDOC.ASC

Output of file : PGDOC.ASC contained in archive : PG910909.ZIP

Important notes added 09 September and 21 December 1991. See the end of this


PG is a program for accessing satellites which use the 'PACSAT Protocol
Suite'. PG implements a file transfer protocol (called FTL0) which is
used for uploading file to and downloading messages from PACSAT servers. In
the FTL0 protocol, your computer is not used as a 'dumb terminal'; instead, it
becomes an intelligent 'client' interacting automatically with the satellite.
This program - PG - is the client software.

[Notes concerning bug fixes and updates can be found at the end of the file.]


PG runs on IBM-compatible MS-DOS PCs. Your machine must have a hard disk.
A high-speed machine (12 MHz AT) is recommended for 9600 bit/sec. operation on

Your TNC must use a TAPR-compatible command set. You cannot use a TNC which
has only a KISS EPROM in it. The WA8DED firmware is not supported. There have
been several reports that firmware versions other than TAPR version 1.1.7 work
poorly - if at all - with PG. In particular, you must confirm proper operation
of the BUDLIST and LCALL commands.


2.1 Directory Structure

The programs written by G0/K8KA for use with the PACSAT protocol suite are
best used by having a different DOS directory for each PACSAT satellite you
intend to use. For example, you could use


Of course, your executable files must be somewhere where DOS can find them.
It is easiest to put the executables in a directory which is in your MS-DOS

2.2 File Naming Conventions

Each file stored on a PACSAT server (usually a MicroSat or UO-14) has a file
number. PG uses these file numbers widely: when PG downloads a file,
the base name is composed of the hexadecimal representation of the file
number; when PG uploads a file, your copy of the file is renamed with the
file number assigned to it by the satellite.

Files associated with the PACSAT Groundstation Software can be in one of many
states. To organize the files, each state is reflected in the file name. The
table below shows how PG and PB use file names.

Base names shown as 'xxxxxxxx' will be replaced by a hexadecimal serial number
assigned by PACSAT.

STATE File name Program
not prepared for upload yourname.ext any
prepared for upload yourname.OUT PFHADD
partly uploaded xxxxxxxx.PUL PG
completely uploaded xxxxxxxx.UL PG
upload permanently abandoned xxxxxxxx.XUL PG
partially downloaded by PG xxxxxxxx.PDL PG
completely downloaded by PG xxxxxxxx.DL PG, PB
download permanently abandoned xxxxxxxx.XDL PG
downloaded and post-processed by PHS xxxxxxxx.DLX PHS
hole list file used by PB.EXE xxxxxxxx.HOL PB
backup hole list file xxxxxxxx.OLH PB
broadcast partially received by PB.EXE xxxxxxxx.ACT PB
your configuration file PG.CFG PG, PB
log file PG.LOG PG
time of newest bulletin dir rcvd HIGHTIME.PG PG
time of newest personal dir rcvd HIGHTIME.MY PG
a file of directory entries PG.DIR PG
backup directory file PGOLD.DIR PG
archive directory file PGARCH.DIR PG
numbers of downloaded files PGPBDL.DAT PG [PB soon]

2.3 Connecting the TNC

PG uses hardware handshaking. You MUST have a full RS-232 cable between
you PC and your TNC. The following lines are mandatory:

TX data
RX data

The DCD line must indicate whether or not your TNC is in connected mode. This
signal is also used by BBS software. Most TNCs implement this signal.

(Some early PacCom TINY-2 TNCs incorrectly implemented the DCD connect line.
A technical note describing a fix for these TNCs is available from PacCom.)

2.4 Setting the TNC

You may run your TNC terminal ('async') port at the same speed as the radio
port, but you will get some improvement if you use a speed greater than the
downlink speed. For the 9.6 kbit/sec link on UOSAT-3, you will should use
19.2 kbits/sec. For the Microsats use 2.4 kbits/sec or higher.

Because PG uses full hardware handshaking with the TNC, you can use a slower
asynchronous port speed if you need to. This makes operations sluggish, but
may cure some problems with missed characters.

PG expects your TNC to be configured for 8 data bits, and no parity. You
must configure your TNC in this way before running PG for the first time.
Use the commands below:

cmd:AWLEN 8
cmd:PARITY 0

Remember that after this, for non-PACSAT operations, you'll have to change
your terminal emulator to use 8 data bits and no parity.

2.5 The Configuration File - PG.CFG

PG reads configuration information from a file called PG.CFG. (This same file
can also be used for the bulletin receiving program, PB.EXE.) The
configuration file must be an ASCII file. It should contain no control
characters. Entries in the file can be in either upper or lower case. Each
config file entry is a single line. Each line begins with a key word, which
is followed by an argument. Invalid or incorrect lines in the configuration
file are ignored.

PG recognises the following key words:

speed, port, mycall, bbscall, log, silent, maxdupes, debug, max_backoff,
backoff_slot, maxsel, myaddr.

2.5.1 Station Callsign

mycall [-]

sets your callsign and SSID. In the absence of a myaddr entry, it also sets
you address for personal mail. Default none.

2.5.2 Async Speed


sets the TNC asynchronous port speed. Acceptable baud rates are 300, 1200,
2400, 4800, 9600 or 19200. Default 19200.

2.5.3 Async Port


sets the communications port. Only 1 and 2 are supported. Default COM1.

2.5.4 Server Callsign

bbscall [-]

sets the satellite FTL0 server callsign. (use UOSAT3-12 or PACSAT-12)
Default "uosat3-12".

2.5.5 Activity Logging

log 0

turns off the station activity log. The default is ON.

2.5.6 Progress Signals

silent 1

turns off the audible progress signals. The default is "slient off".

2.5.7 Debugging Output


The argument is a hexadecimal number (No leading 0x) representing a bit field.
The following bits have meaning:

bit 0 - Report all received bytes. For debugging TNC interfaces. Note that
this causes A LOT of output. Only fast machines will reliably communicate
with UO-14 if this bit is set.

bit 1 - Allow the user to verify any change from connected to disconnected
status. For debugging or overcoming problems with flickering CON lines.

Thus 'debug 3' turns on maximum debugging in the current version.

2.5.8 Duplicate Directory Entries


sets the maximum number of duplicate entries that PG will allow in the PG.DIR
file before doing "garbage collection" on that file. The default is 100.
Duplicates get into PG.DIR when the satellite sends you a directory entry for
a file you already have in your directory. You do not see the duplicates on
the screen, because the display program filters them out. Garbage collection
means renaming the existing PG.DIR file to PGOLD.DIR and writing a new file
without any duplicates. This may take some time on slower machines. On the
other hand, the existance of duplicates in PG.DIR makes the file longer, which
consumes some time when you to do a View Directory. This is a tradeoff, you
may get a couple of duplicates every time you access the satellite, so if you
set your maxdupes to 10, you will have garbage collection once per day.

You can force a "garbage collection" at any time by using the Utility submenu,
Dupes selection.

2.5.9 Server Select Limit


Default 50.

This must be set to the correct value provided by satellite operators. This is
the maximum number of files which will be returned by the server for a single
SELECT command. The correct setting of this variable permits PG to
automatically complete directories which take several SELECT/DIR cycles.
Incorrect setting will make this automatic completion inoperative. (You will
still get complete directories using manual commands.)

Although this may change, it is currently 50 on UoSAT-OSCAR-14 and 30 for the

2.5.10 Random Backoff Limit


Default 2. Maximum number of backoff slots to wait before attempting to
connect after receiving a BBSTAT "Open" message. See backoff_slot below.

2.5.11 Random Backoff Time Slot


Default 18 (1 second)

The duration of each backoff slot, in units of approximately 1/18 second.
After receiving a BBSTAT message with "Open" (e.g. an indication that the
satellite has an open slot for a user), PG will wait for between 1 and
max_backoff 'backoff slots', then request the TNC to connect to the satellite.
This is an experimental feature, and we suggest that you use the defaults for
the time being. With the default configuration, the gap will be either 1 or 2
seconds between receipt of the BBSTAT "Open" message and the request for the
TNC to connect. (See "Login Sequence" below for further discussion.)

2.5.12 Address For Personal Mail


Defaults to the same string as mycall, without the SSID. When you activate
"My" mail directory command from the main menu, PG must have some means of
identifying your mail. The string should hold your 'network address'.
For most stations, this is simply the callsign. For example, G3YJO wants to
see any mail with destination address containing the string "G3YJO". Expressed
in wildcards, this is "*G3YJO*". In some cases, and should
be different. G0/K8KA uses the AX.25 callsign G0K8KA, but would like to get
mail for "G0/K8KA", "K8KA", "GOK8KA". In this case, the wildcard would be
"*K8KA*", and so should be set to "K8KA".

2.5.13 Example

An example configuration file for using UoSAT-OSCAR-14 with the TNC running at
19200 on com2: would be

port 2
speed 19200
mycall g0k8ka-0
myaddr k8ka
bbscall uosat3-12
maxsel 50

For PACSAT, I must adjust the setting to match the PACSAT onboard

port 2
speed 19200
mycall g0k8ka-0
myaddr k8ka
bbscall PACSAT-12
maxsel 30

Put a configuration file called PG.CFG in each of the PACSAT directories you
have made. Make sure that each has the appropriate , and
in it.

2.6 TNC Configuration File - PG.TNC

You must also have a TNC command file called PG.TNC. PG configures your TNC
at the beginning of PACSAT operations. First, PG issues built-in configuration
commands, then it sends the commands you provide in the file PG.TNC.

The automatically generated configuration commands are:

mon off
trflow off
txflow off
xflow off
rxblock off
conmode trans
newmode on
nomode off
lfadd off
echo off
mcom off
mcon off
mall off
budlist on

Use PG.TNC to customize TNC parameters for particular satellites. In
particular, you should set FULLDUP, FRACK, MAXFRAME, PACLEN, PACTIME,
CHECKTIME and RETRIES to appropriate values.

2.7 TNC Deconfiguration File

When you exit PG, some commands are automatically sent to the TNC, followed by
the contents of the file PGDONE.TNC.

The automatically generated commands are:

conmode conv
echo on
mon off

Use PGDONE.TNC to return the TNC to whatever configuration you prefer for your
non-PACSAT operation, e.g. BUDLIST OFF, LCALLS %, etc. Remember, however, that
if you change the asynchronous communications parameters of the TNC (AWLEN or
PARITY), you will not be able to run PG without manually returning to


PGDONE.TNC is also sent to the TNC when you enter Terminal mode from the main


3.1 Starting the Program

The possible command lines for running PG are




With no argument, PG will read and write files in the current directory.

If the command line argument is the name of an environment variable, PG
will try to use the directory named by the environment variable. (Create
environment variables using the SET command in your AUTOEXEC.BAT file.)

If the command line argument is not the name of an environment variable,
PG will use your command line argument itself as the name of a directory.

3.1.1 WHY?

This is to make it easy to use several PACSAT satellites without getting

The simplest way to run PG for UoSAT-3 would be to

C:>cd \uosat3

But if you don't want to bother with the cd command you could

C:>pg \uosat3

And if you keep your satellite directories in some strange place, you could
add to your autoexec.bat file set of lines like:



C:>pg pac

would get you to the correct directory for OSCAR-16 from anywhere on your

C:>pg uo3

would get you to the correct directory for OSCAR-14, etc.


The PG display is divided into three sections. The top 23 lines of the screen
are devoted to a scrolling 'main window' showing progress reports, function
status, TNC commands, etc. The 24th line is the 'status line', and the 25th is
the 'menu line'.

4.1 The Menu Line

PG presents menus on the bottom line of the display. Each menu presents
several functions, and for each function a single character is highlighted.
To select a function, type its highlighted character. Do not hit the [enter]
key after this.

4.2 The Status Line

Above the menu line is a status line. The first word on the status line will
always be the PG 'state'. This will be followed by either program
configuration information or a supplementary status message.

4.2.1 PG State

The 'state' indication on the status line tells you what PG is doing or
waiting for. The following states may be shown:

Ready The PG Main menu is active. You can select functions.
Terminal PG is in Terminal mode.
Utility The Utility submenu is active.
Dir The Directory Viewer is active.
WAITING PG is waiting for a BBSTAT "Open" message from the satellite.
BACKOFF PG is getting ready to make a connect request.
REQUEST PG has issued a connect request.
LINKED PG is linked to the satellite, executing a function.


The satellite must be in range if PG is to receive new directory entries,
upload a file, or download a file. PG must establish an AX.25 connection with
the satellite to perform these functions. Communications functions are all
automatic; you never type 'connect', 'disconnect' or any other TNC command.
You simply select a function from the Main menu, and wait while PG executes
the appropriate commands. When a function is executing, progress reports
appear in the main window, and the state indicator is updated whenever the
state changes.

When an communications function is completed, 'Ready', will appear in the
State Indicator. You can initiate a new communications function only if the
state is 'Ready'.

To abort a communications function when the state is not 'Ready', type the
[escape] key.

5.1 Link Establishment

The first step in all communications functions is for PG to establish a link
to the satellite. During link establishment, PG goes through several states:


- PG is waiting for a free user position on the satellite.

Each PACSAT supports a limited number of concurrent users. If the maximum
number of users are already connected to the server, the server is 'FULL'. If
engineering work is under way, the server is 'SHUT'. Otherwise, the server is
'Open'. Only when the server is Open will PG attempt to connect to the
satellite. The server indicates its current state in a beacon message from
to 'BBSTAT', e.g.

UOSAT3-12>BBSTAT: Open 2 : G0K8KA



When you select a connected function from the main menu, PG enters the WAITING
state. PG is waiting for a BBSTAT message showing that the server is Open.

BBSTAT beacons are transmitted every 5 seconds by UO-14, and whenever a
station disconnects from the server. On PACSAT and LUSAT, the beacons are only
transmitted every 30 seconds or when a station diconnects. To avoid a long
wait on PACSAT and LUSAT, PG makes an initial connect attempt before receiving
a BBSTAT message. If this initial connect attempt fails, PG enters the
standard WAITING state.

When PG does receive a BBSTAT beacon showing the server Open, it enters the
BACKOFF state.


If several PG stations are in the WAITING state, and PACSAT sends a BBSTAT
Open beacon, all of the stations might attempt to connect immediately. This
would result in a collision on the uplink. In an attempt to limit this great
collision, PG implements a slotted random backoff. A random number R between 1
and is generated. PG then waits (R * * 1/18)
seconds before moving to the REQUEST state.


PG issues a connect request to the TNC and enters the REQUEST state. PG then
waits (1) to get connected, (2) for a busy indication from the satellite, or
(3) for a retry count exceed message from the TNC.

If a connection is established, the PG State Indicator will show LINKED, and
the communications function will proceed. Otherwise, PG will return to the
WAITING state.

5.1.1 Further Technical Details of Link Establishment

When you activate a communications function which requires a link to the
satellite, PG will do one of two things: if the is other than
'UOSAT3-12', PG will immediately go to the REQUEST state; if the is
'UOSAT3-12', PG will begin with the WAITING state. This difference stems from
the fact that UoSAT-OSCAR-14 sends its "BBSTAT" message every five seconds,
while the Microsats send BBSTAT less frequently. For the Microsats, making a
first "blind" connect attempt may save a lot of valuable pass time.

When PG is in the REQUEST state, it is waiting for one of three events:

1 - a connect indication on the RS232 DCD signal;
2 - the byte 0x05 received from the TNC asynch link;
3 - the string 'disconnected' in upper/lower/mixed case from the TNC.

Both 1 and 2 show that a link to PACSAT has been established (0x05 is the
first byte of the first FTL0 protocol packet which is always sent when you
connect to PACSAT). Event 3 shows that either the server was busy or the TNC
retried out - no distinction is made.

If you see the 😉 face in the REQUEST state, condition (2) was met before
(1). This is not an error, but it is an interesting indication of the timing
of TNC events.

Assuming that (1) above has happened, PG will throw away any extraneous
characters on the link (e.g. left over CMD: responses or monitored packets)
and enter LINKED mode when the 0x05 is found in the input stream.

The scans for "open" and for "disconnected" are intended to be general enough
to support a variety of TNCs. No assumption is made about the format of the
"disconnected" message or the display of monitored beacon packets.

5.1.2 Aborting a Communications Function

If you wish to give up; e.g. the satellite has gone over the horizon, you may
hit the ESCAPE key during any stage of the wait/backoff/request process.

5.2 Directory Downloading

'Directories' tell you about the files on PACSAT. A PACSAT Protocol server can
transmit a single directory entry or the entries from a 'selection' of files.
PACSAT can create complex 'selections' of files, based on the many fields in
the PACSAT File Header. PG implements four directory selection/downloading
commands which request simple, useful file selections.

Command Requests
------- --------
Mine directories for all new files to "**".
Bulls directories for all new files to "all".
All directories for all new files.
One directory for a single file which you specify.

When PG downloads a directory entry from the server, the entry is added to a
permanent database which can be viewed with the View Directory command,
described below.

5.2.1 New File Times

The commands Mine, Bulls and All, must request 'new' files from the server.
When formulating the request (also called a "select request") to send to
PACSAT, PG reads the time from one of the two files HIGHTIME.MY or

HIGHTIME.PG is used by the Bull command.

HIGHTIME.MY is used by the Mine command.

The All command uses the older of HIGHTIME.MY and HIGHTIME.PG. Upon completing
a an All file directory, both HIGHTIME files are updated.

This implementation was designed to permit three modes of operation: either
you use "Mine" only, you use "Mine" and "Bulls", or you use "All" only. If you
are only interested in messages specifically to you, "Mine" alone will provide
quick and efficient operation. If you also want to check for bulletins you may
be interested in, use "Bulls". If you feel that you want to view every single
message or file ever uploaded to the server, then use "All".

You can safely mix "Mine" and "All" though you can miss some of the messages
not directly addressed to you.

5.3 Directory View

PG saves the results of all file list commands in a single directory file
called PG.DIR. You can view the contents of PG.DIR using the View command.

When you select 'V' from the main menu, PG enters directory display mode,
indicated by DIR on the status line. The directory is presented with the
newest files at the top and the older files at the bottom. For example:

number | to | from | time | size | title / file name |dl
ddd | dl6kg | df5dp | 11:45 01/03 | 635|Antworten | 1
ddc | w3qns | g0k8ka | 10:14 01/03 | 425|KISS Keying | 6
ddb | ja6ftl | db2os | 08:24 01/03 | 880|AO21 RX | 0
dda | db2os | wa2lqq | 04:40 01/03 | 939|Was Bedeutet LZH? | 1
dd9 | rk3kp | wa2lqq | 03:05 01/03 | 576|Kak Dela Gala? | 1
dd8 | db2os | K8IRC | 03:01 01/03 | 299|RUDAK ON? | 2
dc3 | none | none | 00:00 01/03 | 30023|AL910228 . |
dc2 | none | none | 23:55 28/02 | 36974|cp910228 . |
dd5 | ja6ftl | on5pv | 23:37 28/02 | 629|my station | 2
dd4 | ik4idy | i6cge | 22:01 28/02 | 1849|risposta | 0
dd3 | vk5agr | db2os | 21:55 28/02 | 536|fax | 5
dd2 | rk3kp | db2os | 21:55 28/02 | 1940|CW tlm question | 4
dd1 | all | db2os+rk | 21:55 28/02 | 492|AO-21: CW tlm data n | +
dd0 | all | OH2SN | 18:48 28/02 | 1376|Auto frq tracking | 9
dcf | g0/k8ka | w3qns | 17:28 28/02 | 215|ignore last |>>1
dce | g0k8ka | w3qns | 17:20 28/02 | 657|PB PROBLEMS?? |>>5
dcc | wd3q | ja6ftl | 15:06 28/02 | 1410|QSP from Bob,ve8dx | 2
dcb | db2os | ja6ftl | 13:27 28/02 | 748|RUDAK throughput ? | +
dca | wd3q | ja6ftl | 13:27 28/02 | 1018|reply KENWOOD | 5
dc9 | all | ja6ftl | 13:27 28/02 | 3222|Need comment raised | +

number - is PACSAT's ID number for the message. This is also called the file

to - shows the destination field from the PACSAT file header (PFH) of the

from - shows the source field from the PFH.

time - shows the time that the file was completely uploaded.

size - is the size of the file in bytes.

title/file name - usually shows the title of the message from the PFH subject
field. For some files which are created by processes onboard the satellite,
the title will show the file name; in the example above, message number dc3 is
'al910228', an activity log file for the 28th of February, 1991.

dl - provides two items. The number shows how many times the file had been
downloaded before you got your directory. If this is greater than 9 times, a
"+" appears. The dl column also shows whether or not you have downloaded the
file. If you have, a ">>" character will appear before the number of
downloads. This is shown in messages dce and dcf above.

You can move around the directory list with the arrow keys, [pg up], [pg dn],
[home] and [end]. [home] takes you to the newest messages, while [end] takes
you to the oldest messages. [Up arrow] and [down arrow] move you one message
at a time toward the newer or older messages.

The [right arrow] key will change the display to show 40 characters of the
message title and 25 characters of keywords. This is useful if the message
title is long, and has been truncated in the normal display. Keywords help you
find out what a message is about, if the title isn't clear. When you press the
[right arrow] key, your display should look like the one below.

number | Title | Keywords
ddd | Antworten |117a qex
ddc | KISS Keying |
ddb | AO21 RX |AO-21
dda | Was Bedeutet LZH? |
dd9 | Kak Dela Gala? |
dd8 | RUDAK ON? |
dc3 | AL910228 . |
dc2 | cp910228 . |
dd5 | my station |
dd4 | risposta |uosat-3
dd3 | fax |
dd2 | CW tlm question |AO21
dd1 | AO-21: CW tlm data needed! |Help CW telemetry
dd0 | Auto frq tracking |The Best
dcf | ignore last |
dce | PB PROBLEMS?? |pb request
dcc | QSP from Bob,ve8dx |qsp from north arct
dcb | RUDAK throughput ? |RUDAK BBS THROUGHPU
dca | reply KENWOOD |
dc9 | Need comment raised cosine. |RAISED COSINE QUEST

Not all files have keywords, but well-chosen keywords make PACSAT operations
more efficient by directing you toward files you are interested in and away
from others.

To return to the standard directory display, use the [left arrow] key.

In both directory displays, messages with your in the destination
field will be hilighted. If you have not got in your pg.cfg file,
is used instead.

To exit the directory view system, type the Q key.

5.4 Download

You use the Download selection from the main menu to get a file from PACSAT.

Generally, you should use PG to download mail which is specifically addressed
to you, and not of interest to other PACSAT groundstations. Most files -
bulletins or general interest items - should be downloaded using the PACSAT
Broadcast Protocol (using the program PB.EXE).

When you select 'D' from the main menu, PG will either complete an interrupted
download or begin a new download.

5.4.1 Beginning a New Download

Before you can download a file, you must know its file serial number (file
number). You can read this from the first column of the directory view
display (described below).

If there is no partial download which needs to be completed, you will be
prompted for the number of the file you wish to download. PG will display the

"File number (in hex w/o leading 0x):"

You must respond with the file number, and hit [enter]. Type the file number
as it is displayed in the directory view. (This is a hexadecimal number, so it
may contain digits from 0-9 and characters from a-f; just think of it as a
unique message identifier) When you have entered the number and hit [enter],
PG will print a message like

"Requesting D/l of file 0x1A3B5."

and try to establish a connection to the server to begin downloading the file.
Of course, "1A3B5" will show the actual file number you entered.

5.4.2 Download Continuing

If a previous download was interrupted by LOS or other link failure, PG will
save the partially downloaded file. It will have the file name extension

If you select 'D' from the main menu, and there is a '.pdl' file in your
working directory, PG will try to continue the partial download. You will not
be asked to enter a file number. PG displays a message like

"Continuing D/L of 0x1A3B5 at offset 0x1056."

and establishs a connection to the server to begin the download.

The only way that you can prevent PG from attempting to continue a partial
download is to delete or rename the '.pdl' file before selecting D from the
main menu.

5.4.3 Download Process

During the download, PG will display several lifesigns.

"Initiating download..."

is displayed as PG sends the download request to the server. If the server
accepts the request

is displayed. If the download is proceeding successfully, the display will
show the number of bytes received thus far, in a display like

"Received : 253"

When the download completes, PG calculates the throughput for the download and
displays a message like

"Throughput : 243 bytes/sec."

This message is displayed whether download completes successfully or is
aborted. If there has not been an error, PG attempts a final handshake with
the server to inform the server that the download was successful. Upon
completing the handshake, PG prints

"Download completed."

When a download is complete, your desired file will be in the working
directory in a file with the extension '.dl'. The file name body will be the
message number; for the examples above, the file would be called '1a3b5.dl".
After you download a file, use the program PHS.EXE to see the file's header
information and to extract the 'file body', which is the information portion
of the file.

5.4.4 Download Failures

A download failure will always be accompanied by an error message:

"DOWNLOAD refused ()", with further details in the () is an orderly error
report from the server. The most likely report is "numbered file does not
exist", which means that the file you have chosen is no longer available on
the server. When a download is refused, the associated file is renamed with
the extension '.xdl', so no further attempts will be made to continue the

"Packet rx failed during wait for final handshake." indicates that the entire
file has been downloaded, but PG never received the last handshake from the

"Unexpected packet while waiting for data or data_end." and "Unexpected
response to the DOWNLOAD command." indicate corruption of data between the TNC
and PC or failure of the server (satellite) software. This is usually an
indication of incorrect handshaking between your PC and TNC, or of data loss
due to slow operation of your PC.

If a download is interrupted after data has been received, the partially
downloaded file will be stored in a file named wth the extension '.pdl'. The
file name body will be the server file serial number.

5.5 Upload

Upload is used to send a file or files UP to the satellite. (At least with
satellites it is easy to remember which is 'upload' and which is 'download'.)

Before a file can be uploaded to a PACSAT, it must have a PACSAT File Header
added to it. This is done with the program PFHADD.EXE.

When you select 'U' from the main menu, PG automatically checks the current
directory for any files which are ready for uploading. First it looks for
files that were partially uploaded on a previous pass (files with extension
'.pul') and continues these uploads. Then it looks for files prepared by
PFHADD.EXE (files with extension '.out'), and uploads these files.

Before the first upload, PG will establish a link between your TNC and the
satellite (see 5.1). After the last file is uploaded, PG will disconnect.

5.5.1 Upload Progress Reporting

[Coming soon.]

5.6 Terminal

Terminal mode implements a dumb terminal. To return to the main menu, type
the F1. To send a break signal to your TNC, type F2. Otherwise what you type
is sent to the TNC and what the TNC sends is displayed on the screen. When
entering terminal mode, PGDONE.TNC is sent to the TNC. When leaving terminal
mode, PG reconfigures itself for binary/transparent operation.

5.7 Utilities

[Real soon.]

6.0 Helpful Hints

SCREEN SCROLLING - If your screen doesn't scroll correctly when using PG.EXE,
try setting "mode BW80" from the MS-DOS command line. This is a new bug in
which C6.00a interacts with some VGA BIOSes.

COUNTING DOWNLOADS - If you want to find out how many times a particular file
has been read, use the "One" directory command, which causes that file to be
updated in PG.DIR.

COMPRESSION - More files should be compressed. This saves space in the onboard
RAMDISK, uplink time, and downlink time. Compression of bulletins is a bit
difficult, since there is no real multi-platform compress/decompress package.
On the otherhand, PKZIP/UNZIP will serve 90% of the current users.

| |
| MS-DOS FILE | file: yourname
| |
|------------------| file: yourname.out
| |

|------------------| file: xxx.dl
| |
/------------------\ /------------------\

| | | |
\------------------/ \------------------/


Two versions of PG were placed on general release 19 December 1990, one
through CompuServe in the U.S.A. and the other through broadcast on UO-14.
These versions had only minor differences.

21 Dec 90

Update released via UO-14. Version 901221l.

Fixed a problem which caused PG to hang when logging into the server. This
was caused by cmd: mode data from the TNC interfering with the reception of
the login packet from the server.

13 Jan 91

Fixed bug with caused pg to ignore partially-received directories. Now,
whatever directory entries you receive will be processed into PG.DIR. This has
a secondary effect: when the received director entries are automatically
displayed (e.g. not with the View command), they will be in order from oldest
to newest.

Added detection of BBSTAT message before logging in. You should now expect the

When you select a command from the menu, you will be prompted for any
necessary input.

Then PG will enter the "WAITING" state (reflected on the status line). During
this time, PG is monitoring UI frames from the satellite, looking for the
"PACSAT-12>BBSTAT: Open" message beacon. The key string is "open" in either
upper, lower or mixed case.

When the "open" message is received, a random delay is executed. This delay is
from one to slots of clock ticks. These can be
set in pg.cfg and should be set to standard values distributed by the
satellite operators.

After the backoff delay, a connect attempt will be made. PG enters REQUEST
state (reflected on the status line). If the connect attempt is successful,
operations will proceed as normal.

If the connect attempt is unsuccessful (key word "disconnected" received from
TNC, in upper, lower, or mixed case), PG will return to the WAITING state.

You can break out of WAITING, REQUEST, or LINKED using the ESC key, as normal.

14 Jan 91

Added hilight of mail to mycall in directory display.

Transmit "pgdone.tnc" file to tnc when quitting pg.

List command replaced by "mine", "bulls", "all". These have the following

Meaning: select files with destination "*mycall*" or "*myaddr*". (* is a
wildcard, matching anything including 0 characters). If you set
in PG.CFG, this will override .

Time Limit: The time limit for this selection is taken from the file
. If the file does not exist, you will be prompted for the
number of hours over which to make the directory search.

Meaning: select files with destination "all*", and files with names
"CP*", "WD*", "AL*" or "EL*".

Time Limit: The time limit for this selection is taken from the file
. The time will be displayed, and you will be asked to
confirm that you wish to use this time, or to enter a number of days
over which to make the search.

Meaning: select all files.

Time Limit: The time limit for this selection is taken from the file
. The time will be displayed, and you will be asked to
confirm that you wish to use this time, or to enter a number of days
over which to make the search.

By studying the above definitions, you can select the commands which best suit
your operations. I suggest that most stations use "M" and "B" on every pass.
Then, if you are ever off the air so long that the "B" command time limit is
older than a few days, select a new time limit for B. This will show you
recent bulletins. Then use the "M" command to see all messages to you.

16 Jan

Moved to C6.00a, realized great speed improvement.

Did find some strangeness with my VGA bios. If you experience problems, try
setting your mode to BW80 with

C:>mode bw80

17 Jan

Worked on the directory maintainance problem.

PG.DIR is constructed by appending any received directory entries to the
present contents of PG.DIR. This means that the most recent entries are always
at the end of the file.

When you issue the "V" command, the contents of PG.DIR are read into memory if
you have just run PG or if you have received new directory entries since your
last "V" command. Because newly received entries are simply appended to the
end of the file (for speed), some duplicate entries may be found as the file
is read into memory. When a duplicate for a file is read, it replaces the
previous representative and the dupe counter is incremented.

The read routine has been altered so that up to 1000 directory entries for
different files can be read into memory at once. If your machine does not have
enough memory for 1000 entries, PG will try to allocate memory for 900, 800,
etc. (A more dynamic approach is possible, but not implemented.)

After displaying whatever directories have been read from the file, PG checks
to see if there were more entries in the PG.DIR file than could be read into
your memory. If so, directory archiving is invoked, and you are given the
opportunity to have older entries removed to PGARCH.DIR.

If the archiving process is not invoked, PG checks to see if there were more
than maxdupes (set in PG.CFG) duplicates in PG.DIR. If so, duplicates are
removed, AND you are offered the opportunity to archive old entries. This
allows you to archive old entries before reaching 1000, to speed operation of
your system.

A reasonable level of backing up is maintained throughout this process. If it
blows up, your old PG.DIR file can be found in PGOLD.DIR. The old PGOLD can be
found in PGOLD.BAK, etc.

18 Jan

Released a version to HP for testing.


Rationalized the archive/crunch sequence a bit.

Added display of Keywords and Complete (40 character) title in the View mode.
The additional information is accessed by the Right Arrow key.

Added "Backing off to slot n" message when in random backoff mode.

Removed AO16ACCESS and DISC_DELAY variables from PG.CFG.

09 September 1991

Added simple automated operation. This allows the addition of command line
parameters to make PG perform certain menu selections. Each parameter is a
single menu selection preceded by a minus sign "-".

pg -u -q

is the most useful, in that it will upload any messages and then quit.

21 December 1991

The PG downloading system has been superceded by the broadcast download
facility. The PG directory system is now outmoded by the broadcast directories
now available in PB. PG should only be used for uploading files, and the next
release of "PG" will probably be "PU", an upload-only program.

  3 Responses to “Category : Science and Education
Archive   : PG910909.ZIP
Filename : PGDOC.ASC

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

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

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