home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-386-Vol-2of3.iso
/
t
/
tor117.zip
/
DOCS
< prev
next >
Wrap
Text File
|
1992-10-05
|
30KB
|
788 lines
PCTOR V1.17
PCTOR (c) Johan Forrer KC7WW 1991,1992
Author: Johan B. Forrer KC7WW
26553 Priceview Drive
Monroe, OR 97456
United States of America
CIS id: 70730,3472
Shareware notice
These programs are distributed as Shareware products. You may
freely copy and share the programs with your friends, associates
and other radio amateurs. PCTOR may not be sold or distributed
with another product without the express written permission of
the author. The author, Johan Forrer, KC7WW will only support
unmodified copies of this software.
If you decide to use any of these products, you should become a
registered user by sending $20.00 or equivalent in foreign
currency together with the completed registration form to the
author. All transactions must be drawn on US banks. Upon receipt
of your registration, you will receive one free update disk
containing the latest release of the software . You will also be
notified of future developments. Improvements are continually
being made and exciting additions are under way or in the process
of being implemented.
If you are not satisfied with the program after registering it,
you have 30 days from your registration date to return it for a
full refund of your money, no questions asked.
This program may not be used by business or government
institutions without proper licensing. Commercial users please
contact Johan Forrer directly for modifications and/or details of
site licensing.
Acknowledgements
The work and ideas of Peter Martinez, G3PLX, and Paul Newland,
AD7I, has truly been the source and inspiration for doing the
"nuts and bolts" in this project.
Victor Poor's, W5SMM, helpful suggestions and ideas on
compatibility with MBBIOS, PAMS/APlink, and the implementation of
the extended ASCII set was invaluable.
The helpful suggestions of Frank Gorichar, W7JUF, who beta tested
early versions of this software is greatly appreciated. A special
word of appreciation to beta tester Peter Ferrand, WB2QLL/1, with
helping sort out some really tricky video timing problems.
Thanks to Frank Wyatt, N6FW for forwarding technical
documentation to me.
Many individuals have sent in "wish lists", some of which are now
part of the latest version. As always - your support, criticism,
and suggestions are appreciated.
Please support the efforts of shareware developers.
Table of contents
1.0 PCTOR what does it do ?
1.1 Minimum requirements to run PCTOR
1.2 CAUTION
1.3 Planned enhancements
2.0 Introduction
3.0 Hardware Interface
4.0 Installation
4.1 Software
4.2 Customizing the configuration file
5.0 Operating PCTOR
5.1 Function keys
5.2 Command menu
6.0 Appendix
6.1 If problems persist.....
6.2 What if it still does not work .....
6.3 A few notes about HF modems.
7.0 Disclaimer
1.0 PCTOR what does it do ?
Using only a low cost external HF modem, PCTOR makes it possible
to run AMTOR on PC compatible hardware without the need of
dedicated multi-mode terminal node controller (TNC) hardware. All
decoding is performed in software in real time using only PC
hardware. The software has been tested to work even on a lowly
4.77 MHz PC compatible.
PCTOR will run under Microsoft Windows as a DOS application in
full screen mode (please see the supplied .PIF file).
The main features of PCTOR:
1 - Split screen operation: Data received through the AMTOR
translator is displayed on the upper window. The operator's
keyboard entry is displayed on the lower window. A status
window shows real-time operational status of the digital
translator. This includes, timing, path propagation delay,
processor idle time, link status, selcals, and more.
2 - All AMTOR modes are supported: ARQ, FEQ, and "Listen".
3 - The user may define several text buffers, i.e. brag tape,
CQ messages, etc. that may be loaded for transmission with
with one key stroke.
4 - Text files my be transmitted. Typically the user will
prepare these off-line.
5 - Unshift-on-space (UOS) option.
6 - "PLX"-method of upper/lower case with extensions as
developed by Victor Poor (W5SMM).
7 - A "high" reliability option based on bit averaging.
8 - Receive data can be optionally be captured in a file.
Automatic time stamps, as well as user-initiated time stamps
may be entered into this capture file. The capture file can
be read using an ordinary text editor.
9 - PCTOR can open a Dos shell (viable only for 386/486)
with the low level AMTOR decoder running. The low
level decoder has buffered I/O queues to accept traffic even
when PCTOR has opened a DOS shell.
10 - The user can customize the working environment through use
of a configuration file that is read when PCTOR starts up.
11 - Keyboard entry is in word-edit mode. This means that
keyboard data is only entered into the type-ahead buffer
when a space is entered (or carriage return, or the special
symbol sequence "+?"). This way typing errors may be
edited before releasing them over the air.
Older versions of PCTOR (pre-1.17) used a terminate stay resident
(TSR) program, called TORBIOS. PCTOR now incorporates all low-
level routines previously performed by the TSR.
1.1 Minimum requirements to run PCTOR
PCTOR will run on an IBM PC or close compatible computer. DOS 3.1
or higher is required. A monochrome or EGA/VGA display adaptor
will work. Although the software will run on a floppy-based
system, a hard disk is recommended. The definition of "true IBM
compatibility" is fuzzy and a great deal of flexibility has been
built into the programs to handle a wide range of PC hardware.
Please refer to the appendix where some further notes on dealing
with incompatibilities are included.
On the radio side, an HF modem, i.e. ST-6 or equivalent is
required to decode received audio to +/- 12V RS232 logic signals.
For transmission of AMTOR over the air, the user also has to
provide a PTT interface and either AFSK or FSK. These interfaces
are often included in an HF modem. If the software is used for
monitoring only, only the HF modem is required. The HF modem is
required to convert audio tones to RS232 compatible digital
levels required by PCTOR (please see 6.3 for further notes on HF
modems).
PCTOR uses some of the signal lines of the standard COM1 or COM2
serial ports as a digital interface (the user specifies which COM
port - see "Installation - software"). 1.2 Caution
This software may not be suitable for all working environments.
The user should therefore proceed with the usual caution and make
sure critical software is backed up.
The author has done extensive tests on a very modest PC-
compatible system running an 8 Mhz V20 processor and 20 MB hard
disk. No other potentially competing resident software was used.
The author has recently upgraded to a 486 clone and 80 MB hard
drive and DOS 5.0 software. There was some incompatibilities,
however these have since been corrected.
Every effort has been made to ensure that the software is "well
behaved", however, the user is reminded that this software relies
on critical timing. Normal system functionality is retained, i.e.
time-of-day and floppy disk timeout activities. The user must
thus be careful not to run other software that relies on similar
"tricks" that PCTOR uses as the consequences is indeterminable.
Normal program usage and program termination will undo the
actions of PCTOR and restore normal system operation. Should a
program failure occur, the only way to restore normal system
operation is to reboot DOS.
1.3 Planned enhancements
Several enhancements are planned for release in the near future.
As a registered user you will be notified of these when it
becomes available. These include:
* SAA/CUA standard interface (Windows Application)
* DSP modem and tuning indicator (for 386/486 machines).
* Experimental modes (PACTOR, HAMMING error correcting code).
2.0 Introduction
PCTOR is an implementation of CCIR specification 476-2 on an IBM
personal computer or compatible computer. As such, it replaces
the need for dedicated TNC hardware and is an attractive
alternative for the casual user evaluating a new operating mode,
as well as the serious developer that needs to embed low level
I/O functionality into a system.
PCTOR contain a user-interface program that works in conjunction
with several low-level routines that enables a user to operate
and monitor TOR traffic with a minimum of fuss. Its
multiple-window user interface allows simultaneous monitoring of
decoded traffic, decoding status, and user keyboard history. Pop-
up windows is used for setting operational parameters, file-I/O
operations, and canned buffer transmissions.
Function keys are used for quick, easy, and efficient control of
most operations.
PCTOR was developed using Borland C++ Version 3.1. The low-level
interface was developed using Borland Turbo Assembler version
3.0.
3.0 Hardware interface
PCTOR interfaces through signals of the COM1 or COM2 RS232 port.
The following allocation of RS232 signals have been made: Other
signal pins may be connected, however will play no part in the
operation of PCTOR.
For a 25-pin connector:
pin 20 (DTR) - output data bits (mark -12V, space +12V)
pin 4 (RTS) - PTT (off -12V, on +12V)
pin 8 (DCD) - input data bits (mark +12V, space -12V)
If your RTTY modem and interface requires different logic levels,
these may be configured using either the on-line command menu in
PCTOR, or included in a configuration file "TOR.CNF". An example
has been included. (See below for more details in "customizing
the setup file).4.0 Installation
4.1 Software
It is assumed that a hard disk is available, though the program
can be run off a floppy disk as well. In fact it is suggested
that you first run off a floppy disk to see if this software is
compatible with other software that you may have on your system.
1. Create a new subdirectory and change directory to it, i.e.
mkdir tor
cd tor
2. Copy the contents of the floppy to the new subdirectory.
copy a:*.*
The following files will be copied:
tor.exe -- The split screen AMTOR program.
tor2.exe -- (for usage with COM 2)
tor.cnf -- Setup file to custom configure your program.
tor.doc -- This documentation.
brag.tor -- An example test file to load.
cq.tor -- Another example file to load.
AMTOR.BAT -- A batch file to run TOR with a parameter. Check
to see which communications port COM 1 or 2 you
desire.
3. Customize tor.cnf (see 4.2 Customizing the configuration)
4. Create, or edit the files with ".tor" extensions. These files
will be read when the program starts and will become the
user's personalized buffers. These are transmitted by using
the "hot" keys ALT-1 through ALT-9. The two included examples
are typical.
5. Edit the batch file "AMTOR", paying particular attention to
whether you are using COM1 or COM2, i.e. use TOR for COM1, and
TOR2 for COM2.
6. Run the batch file AMTOR, i.e. type AMTOR <enter>, or
alternatively run it directly from the command line:
Note that there is an optional parameter on the "TOR"
command line. This parameter allows the setting of the size of
the screens on the split-screen display, i.e.
TOR 13 .... will run TOR and divide the split-screen display
into approximately 12 lines each.
7. Make sure that you use the "ANSI.SYS" device driver in your
DOS config.sys (please see about ANSI.SYS in your DOS manual).
8. Make sure that you have set the time zone environment variable
in your autoexec.bat:
set TZ=PST8 (I use this for setting Pacific Standard Time,
which is 8 hours after UTC. Please consult your
DOS manual).
4.2 Customizing the configuration
To enable a user to streamline the setup of the program to his
requirements, a configuration file, "tor.cnf" is read during
startup. Read and edit the contents of the provided file
"tor.cnf" to suit your own preferences. This file is optional,
but when not found, the system will use defaults. These entries
are all optional, and may appear in any order, however, please do
not enter any spaces between symbols,
i.e.
vid : 1 is NOT the same as vid:1
(The last one is correct).
The following entries may be customized:
id:KCWW/KC7WW ----- set your identity selcal/callsign
selcal:WDRZ/WA8DRZ/6 ----- set the startup selcal/callsign.
wru:QRA KC7WW KCWW ----- your WRU text.
txdelay:30 ----- delay after PTT on till data out
outmask:0 ----- normal/inverted output data logic
inmask:0 ----- normal/inverted input data logic
timing:25 ----- system clock timing adjustment
uos:0 ----- unshift-on-space OFF
case:0 ----- upper/lower case OFF
log:1 ----- receive data capture (logging)
logfile:tor.log ----- data capture filename
rel:0 ----- reliability OFF
vid:1 ----- DIRECT video I/O enabled (see
appendix on hardware
compatibility)
fcrlf:1 ----- Files, i.e. buffers and files to
be sent through the ALT-F command
should use the AUTOMATIC CR/LF
mode. This means that all CR's in
the input text files will be
ignored, and LF will be
interpreted as CR/LF.
refr:15 ----- Status update rate. The number of
system ticks between updates,
i.e. 15*55mS=0.825 seconds. To
fast a rate will flicker or
perhaps may introduce timing
problems, too slow will affect
animation of timing bar, clock,
etc.
Note that the syntax isn't tested very rigorously. Please check
your input carefully against the supplied example.
Since PCTOR is supposed to work with any modem, the logic of the
input/output interface needs to be configurable. This is done by
setting up input and output "masks". There are two bits on the
output mask that need to be set (DTR - used for sending data
bits, and CTS - used for PTT control). On input there is only one
bit level that needs to be set (DCD - used for input data). The
meaning of these masks are as follows:
outmask:0 - normal RTS normal DTR
1 - normal RTS invert DTR
2 - invert RTS normal DTR
3 - invert RTS invert DTR
inmask:0 - normal DCD
1 - invert DCD
As a suggestion, leave the settings as outmask:0 and inmask:0
Until you have sorted out the required logic interfacing logic,
prepare your transceiver for low power output into a dummy load
(you may find your PTT unexpectedly comes on upon executing the
program).
Now run TOR. If your PTT comes on right away, the sense of RTS
must be inverted before further testing can be done (Try
outmask:2). Normally, TOR should put you in standby mode.
Next, on-the air tests will be necessary. Try to decode some FEC.
FEC will be decoded while in standby mode. To make sure that you
are in standby mode, hit F10. Tune in on an FEC transmission and
wait for it to sync. If it fails to decode anything, first try
changing the other sideband setting of your transceiver (if you
normally use LSB, try using USB). This will show whether it's the
interface logic or whether there is some other problem. If TOR
receives FEC in the other sideband setting, the sense of DCD
needs to be changed (Try inmask:1) and revert to your preferred
sideband setting (or RTTY setting if your transceiver has one).
The final test is to determine the logic level required for the
transmitted data. Try an ARQ call. If it fails, you need to
invert the sense of DTR (this will be either outmask:1 or
outmask:3 depending on the outcome of the RTS/PTT test above).
There is an additional timing-related entry, "timing:" that need
to be set up. This parameter allows external adjustment of the
system clock pulses to cater for systems with inaccurate clocks.
Very few PC's have accurate clocks and although the default value
(25) will work reasonable well in most cases, adjustment of this
parameter is very desirable. For determining the value of this
timing parameter, see 5.2 - Command menu: usage of the 'T'
option.
5.0 Operating PCTOR
Upon startup, the shareware banner will be displayed. Press any
key to proceed to the TOR screen.
The contents and layout of the status display line depends on
which options the user has selected. The following description
refers to the case when all the options are enabled. This gives
the reader a description of all possibilities.
TOR displays three windows: the status window, the received
traffic window, and the keyboard display.
The smallest window. at the top of the screen, is the status
window. It is updated in real time and some machines may show
some flickering. This is normal.
Link status information is displayed on the left hand side of the
status line.
Adjacent to the link status is the selcal/callsign of the remote
station. This data is used in establishing the link and also for
printing out identification data (see usage of the "Ins" key).
Next, the transmit data delay is shown. This is the time (in
milliseconds) that you allow after the PTT signal has been
activated before data output will start. It is one way to
compensate for slower-switching equipment. It allows for things
to settle, before actual data is being sent. The default value
(30 ms) is a reasonable compromise.
Once some traffic starts flowing, and you were the call
originator on ARQ (i.e. the "Master"), the block receive time
will be displayed. This is an internal timing parameter that
cannot be changed. It includes the delay-parameters at both send
and receive stations as well as the time delay due to the signal
propagation through the atmosphere.
If the unshift-on-space (UOS) feature has been selected, this
will be displayed as a µ symbol.
If the user has selected the receive screen capture
(autologging), the a ¢ symbol will be displayed.
When the reliability option is selected a √ symbol will be
displayed. Reliablity is obtained by sampling each bit multiple
times and using "voting".
If the user selected upper/lower case operation, there will be
two arrows, the first one is associated with the case of the
receive text, while the second one is associated with the
transmit case. An "up" arrow means upper case, while a "down"
arrow indicates lower case.
A 24 hour-format clock is also shown on the display. This clock
will be used for timing and time stamps in future versions of the
software.
An eleven bit analog indicator on the right hand side shows how
bit phasing is progressing. During FEQ or ARQ, the indicator
should show slow motion from right to left. The speed of the
motion depends on how much your clock and the other station's are
differing relative to each other.
5.1 Function keys
The function keys have the following functions:
F1 - Initiate an FEC call.
F2 - Initiate an ARQ call.
F3 - Force a change-over (works only in ARQ).
F4 - Initiate QRT sequence (ends ARQ and FEC transmissions).
F5 - If receive text capture is enabled, will insert a timestamp
into the log file.
F6 - Initiate ARQ listen mode.
F7 - Clear keyboard type ahead and special buffers (used for
WRU), clears keyboard display.
SHFT F7 - Clears receive display.
F8 - Open a DOS shell (use with care - 386/486 machines).
F9 - Not used.
F10 - Abort any operation in progress and revert to standby mode.
End - Enter the +? sequence into the keyboard buffer.
Ins - Enter an identification string into the keyboard buffer.
Del - Force LTR case during receive (FEC or ARQ). In addition
will it reset the transmit and received cases to UPPER.
Ctrl-Home - toggles "raw" data mode. For experimenters only -
displays untranslated ITA2 (Baudot) code in Hex. This data
is also written to the log for later analysis.
ESC - Calls up the command menu when in user mode.
ALT-B - Enter the buffers menu. This allows a data buffer to be
loaded into the keyboard buffer. The user prepares these
buffers ahead of time using a text editor. These files have
a "TOR" extension and will be loaded when TOR is
initialized. Also note the usage of the ALT-1 through ALT-9
keys as "hot" keys to load any of these buffers with one
keystroke.
ALT-C - Prompt user to enter the selcal/callsign of the remote
station AND initiate an ARQ call immediately.
ALT-F - File transmission menu. Allows the transmission of text
files while in FEC or ARQ. The transmitted text will be
displayed as it is transmitted. There will be no echo to
the receive window.
ALT-R - Prompt user for the selcal/callsign of the remote station
WITHOUT initiating an ARQ call.
ALT-T - Enter UTC time into the keyboard buffer for transmission
in FEC or ARQ.
ALT-W - Sends the "WRU" command to the remote station. This is
the "figs-D" character in the ITA2 (Baudot) alphabet.
5.2 Command Menu
The command menu (called up when the ESC key is pressed when in
the main display) has the following one letter commands:
C - Enable or disable upper/lower case operation.
D - Set the tx-delay. This sets the time delay after the PTT is
activated to when data is sent. On slower switching equipment
set it longer. Fast switching equipment set it short.
Acceptable values range in 1 millisecond increments from 1 -
50 ms. Default is 30 ms. This parameter may be adjusted to
compensate for working local or DX distances, however, this
practice is not normally required.
H - Help with the function keys.
I - Set your own ARQ identity.
L - Enable or disable receive capture (logging).
M - Modify the interface logic masks - see section 4.2.
Q - Terminate PCTOR.
T - Set clock timing. This parameter allows fine adjustments of
the master clock. See Appendix A for more details.
U - Sets UOS (unshift on space) on or off.
V - Toggles video mode (DIRECT/BIOS).
W - Set up your WRU text.
X - Exit the command menu to main display. The ESC key may also
be used for this purpose.
Y - Sends out a 500 HZ pulse train from pin 20 for diagnostic
purposes.
6.0 APPENDIX.
6.1 If problems persists.......
The most common feedback from users appears to be setting up
PCTOR's master clock timing. Once this is done, the user enters
the "magic" number into the configuration file that is used
automatically each time the program is started. Only when
installing the program on another computer will it be necessary
to reset this timing parameter.
Please note that this parameter has noting to do with the speed
of your processor, or whether you use an 8088 or 486. Its about
how to program a certain chip (8253/4) on the PC's motherboard.
Typical symptoms will be that either nothing happens when trying
to decode a FEC signal, or, the FEC sync is obtained, some text
is printed, however, synch is lost and only a few words of
garbage is printed before it starts re-sync. If you have a scope,
or frequency counter available, try the following (its not
serious if you do not have access to test equipment - you will
just have to be a little patient and do some common-sense trial
and error. It will take a little longer, but you will obtain the
same end result. Skip the next paragraph if you do not have
access to test equipment):
Enter the command menu (Hit ESC) and select the "Y" option. This
command will send a signal out of the COM port pin 20 (for 25 pin
RS-232). This signal should be set to as close to as you can to
500 Hz. Use the "+" and "-" keys to toggle the speed up or down.
When you have completed the test, return to the main display and
select STANDBY (F10).
Tune in FEC mode to a strong FEC broadcast station, (i.e. KMI or
WOO on 8.0870 Mhz, 8.0516 Mhz approx). Observe the timing
indicator on the right hand corner of the status line. Notice
that it may slide slowly. The objective is to have it as
stationary or indecisive as possible. However, do not be
concerned if you cannot get a perfect steady display, that is
quite normal.
Vary the timing value, one step at a time using the "+" or "-"
keys. After changing the clock setting, the previous value as
well as the new value will be displayed. You MUST then exit the
command menu for the new settings to become effective. Once back
to the main display, select STANDBY (F10) and wait for sync to be
detected. Notice that when you return from the command menu to
the main menu, you may see some received text being written to
the receive display. This is text that have been accumulated by
the low-level decoder and was stored in a system buffer while you
were using the command menu. This text should be ignored as the
changed clock setting was not yet in effect.
Once the optimal setting has been found, modify the configuration
file TOR.CNF to include the parameter for your system. Values
ranging from 0 to 36 is valid. This procedure set the system
clock close to the +/-50ppm requirement for AMTOR.
6.2 What if it still does not work ......
At this point there remains one question: how "IBM compatible"
your computer is. Perhaps your computer is quite compatible but
there may be an interface adapter card that is not. It has been
found that some video adapters does special emulation, i.e. runs
one video mode, but allows some other type of equipment to be
attached, i.e. ATI allows you to run VGA mode, yet allows you to
use a CGA display. This kind of hardware introduces either wait
states, or disables the interrupt system at a very low level.
Since PCTOR needs a stable timing source, there will be a
conflict for sure.
PCTOR allows you to minimize these conflicts that are related to
the video display by allowing the user to disable writing
directly to the video memory. By selecting the "V" option in the
command menu thus toggling BIOS on, all video access will be done
through BIOS calls. The status line is also simplified to reduce
the overhead. In some cases, this will do the trick. It is also
possible to reduce the amount of screen-writing activity by
slowing down the rate that the status line is updated (see 4.2
"refr:15" ).
Another problem that has been experienced with older PC
compatibles, i.e. 1984 or so, is support chips on the motherboard
that does not behave like later versions. Although these machines
may be perfectly capable of running most software, they will not
be able to keep accurate timing and may not work well with PCTOR.
If possible, update the 8254 and 8259 chips. Also check the 8250
UART for the same reason.
6.3 A few notes on HF modems
Experience have shown that some modems perform better than
others. We may divide the class of popular modems roughly into
three categories (there are a few other types as well):
(I) The phase locked loop (PLL),
(II) filter type,
(III) digital signal processing (DSP) type.
It is the author's opinion that the PLL type of modems are not
suitable for average HF operations. It is best to avoid this
approach even with extensive front-end filtering.
The filter-type modem have been used with much greater success on
HF. However, there are various kinds of approaches in filter-type
modems:
Vintage designs like the ST-5 and ST-6 employed L/C filters
and are known to work reasonably well, given that some changes
are made to their low-pass filters (mainly to pass the 100 Hz
AMTOR modulation rate).
Active filter designs such as the DJ6HP will also work quite
well under fair conditions, however, do not expect too much under
adverse conditions. Another popular active filter modem is the
BARTG design. This small modem will work reasonably well too,
however it lacks front-end bandpass filtering, and has poor post-
descriminator signal processing. Both these designs are good for
newcomers.
Modern good performance filter-type modems use sophisticated
front end filters in conjunction with well-designed
discriminators and extensive post discriminator filtering
circuitry. They generally have excellent dynamic range to handle
strong signals as well as being able to "dig into the noise" to
handle weaker signals. They will tolerate some degree of off-
frequency operation.
The DSP approach is still new to HF operation, yet holds a lot of
promise. There are presently some commercial units available.
If you are interested in a small, yet sophisticated filter-type
modem, please contact the author for further details.
7.0 Disclaimer
The author, Johan Forrer KC7WW is not responsible for any damage,
injury, loss of profit or gain associated with the use,
installation, or application of this software.
August 1992
J.B.Forrer KC7WW
26553 Priceview Drive
Monroe, OR 97456
United States of America