home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
cw
/
cw500
/
cw.doc
< prev
next >
Wrap
Text File
|
1990-03-08
|
19KB
|
405 lines
GENERAL INFORMATION
CW is a Morse Code send/receive program designed to run on the IBM PC and
it's clones. A split screen format is used for the visual interface and on-line
help is available to the operator.
The program is user configurable and creates a file which supports the
screen images for subsequent use. The user has the option of changing the
operating characteristics and input/output environment recognized by the pro-
gram. These may then be saved by CW in a file called INIT.CW, an ASCII file
which can be viewed/modified using a word processor. The default character-
istics provide for Morse Input and Output on communications port COM1 using
the RTS and CTS signal lines. If INIT.CW is not on the default disk then
the default values are assumed.
CW.EXE is a user supported program which may be transferred and/or copied
as often as you like. No monetary fees (other than disk copying) may be
charged as a part of this service. The program is a product of
Dave Freese, W1HKJ
c/o Clermont Computer Consultants
29 N Ravenwood Drive
Cape May Court House, NJ 08210
(609) 624 0076
The program is written in TURBO (tm) PASCAL and demonstrates how well
that particular product allows full use of the PC's hardware. Versions 4.0
and later can be compiled using TP ver 5. A recompilation also requires access
to units distributed by 'The Research Group' called TOPAZ. These units provide
full screen handling and access to dBASE-III+ data files. The logging provided
by the program is maintained in a dBASE-III data file.
THIS PROGRAM IS PUBLIC DOMAIN SOFTWARE. YOU MAY FREELY DISTRIBUTE VIA ANY
MEDIA, ELECTRONIC OR PHYSICAL. THE AUTHOR ASKS ONLY THAT YOU DO NOT REMOVE
THE CREDITS.
Have fun with CW. If you enjoy using it as much as I enjoyed creating
it, you will have a ball. Happy DX and bcnu.
73's Dave W 1 H K J
INSTALLATION PROCEDURE
Create a bootable disk with CW.EXE, IMAGE.CW and COUNTRY.LST installed in
the desired directory. CW.EXE is compatible with ancilliary programs such as
SIDEKICK(tm). When used with this and other keyboard enhancement programs
special consideration must be given to program timing. See the section on
calibration for more details.
Press <F1> to review the HELP screen. Access to the configuration pro-
cedures is provided by the <ALT> P combination. CW is distributed preset for
screen colors to suit the authors tastes. Colors may be altered, reviewed and
eventually stored in an initialization file called INIT.CW.
The internal tone generator is configured to ON by the default configur-
ation parameters. Try typing a few lines of text and observe the operation of
the type ahead keyboard buffer/display, the character transmit indication and
the morse code generated on the internal speaker.
PROGRAM TERMINATION
The program is exited by the <ALT> X combination. The operator is
given an opportunity to defeat the exit prior to actual program termination.
DIRECTORY ACCESS
Whenever a file access is required by the program, the operator may be
prompted to enter a file name. The prompt may include a default response. The
operator will also have the choice of using the <Ctrl>F, ^F, key sequence to
access the disk directory. The directory access is provided by a window over-
lay with an additional prompt for the directory mask. This mask may use the
usual wildcards and/or directory structure allowed under DOS. A <Retrn> will
produce the same result as the *.* wildcard specification.
TEXT FILE TRANSMISSIONS
Any valid ASCII file may be transmitted by pressing <F7> or <ALT> F. The
operator is prompted to enter the file name (directory modifiers are ok). If
the file is not found the operator is returned to the split screen display.
If found, transmission begins immediately with character display in the transmit
window.
CR/LF and other non-Morse-characters are translated to a SPACE for the
purposes of generating a correct timing duration. Transmission may be altered
with the ^P or ^X keys, causing a pause of termination respectively. If this
key is accidently pressed, respond to the file name prompt with a <RETN>.
The file may contain control fields which alter several aspects of the
code transmission. A control field is generated by the backslash character as
at the beginning of the first three lines. A space followed by any ASCII char-
acters is treated as a comment field which is skipped over during transmission.
A backslash in column one followed by a control character and/or control
values will cause the transmission characteristic to change as follows:
Control sequence Effect
\*ascii text ascii text dislayed on line 24 of display
\#nnn wpm rate changed to nnn (integer value)
\Dff.f dash-dot-ratio changed to ff.f (float value)
\dff.f " " " " " " " "
\Lff.f letter-dot-ratio changed to ff.f
\lff.f " " " " " "
\Tnnn insert delay of nnn seconds during transmission
\tnnn " " " " " " "
\Wff.f word-dot-ratio changed to ff.f
\wff.f " " " " " "
See the file CODETEST for examples of each of the above.
TRANSMIT/RECEIVE CHARACTER RATES
The transmitted code speed may be adjusted in 1 WPM increments. The
<ALT> W combination causes an operator prompt for the new value on the
status line. Entries must be digits 0 ... 9, improper entries will be
rejected and the prompt reissued.
Set Transmit Code Speed = Receive Code Speed
During contests and other rapid CW exchanges it is considered good oper-
ating to transmit at the receive code speed. Pressing <F8> will immediately
force the transmit code speed to the received code speed.
MISCELLANEOUS FUNCTIONS
Tune the Transmitter
Pressing the <ALT> T key causes the transmitter to be held in the
key down condition. The key down condition is released when any other key is
pressed. I suggest the <SPACE> to prevent on the air burbles - hi.
Send V's
The character V is used as a standard "test" signal by most CW operators.
The <ALT> V key causes a string of V's to be transmitted. Pressing any key
will terminate the sequence of V-s. The <SPACE> is also appropriate here.
SOFTWARE/HARDWARE CONFIGURATION
Setting Program Parameters
The operator may modify the characteristics of the program with respect
to the transmit code weight, initialization values, internal tone, and screen
colors. Input/output port assignments and logical levels may be changed. The
designation of time zone for the purposes of timekeeping and logging is avail-
able. A previous configuration saved on disk may be loaded for quick changes
in operating characterics.
TRANSMIT WEIGHTING - The operator may select transmit code weighting to
fit his or her individual requirements. A prompt for the following charac-
teristics is presented:
Dash/Dot (3.00).....
Letter/Dot (3.00)...
Word/Dot (7.00).....
where the values in parenthesis are the present values. Pressing return at
any one of the three leaves the value unchanged. Here are some suggestions
for transmit weighting and its intended use.
Dash/Dot Letter/Dot Word/Dot Used for:
3.00 3.00 7.00 Standard code weighting
3.60 3.60 8.00 Moderately heavy code
good for QRN conditions
3.00 10.00 30.00 Practice at 1/2 WPM rate
3.00 17.00 51.00 Practice at 1/3 WPM rate
3.00 24.00 73.00 Practice at 1/4 WPM rate
SET INTERNAL TONE - The internal cw tones may be toggled ON/OFF and the
frequency of the tone modified. If the 'y' response is made to the prompt:
PC tone on? <Y/N>');
then the operator is requested to enter the desired tone:
Note frequency = 600 change to....
Pressing <RETN> leaves the frequency unchanged.
SPECIFYING DEFAULT MESSAGE FILE - The operator may specify the start-up
messages which will be loaded on each execution of CW. The response to the
prompt:
Enter message file name.ext...
should be an existing \directory\filename.ext string, where the directory is
optional.
SPECIFYING TIME ZONE - The program default for time zone is 0. That is,
you live in Greenwich, England. Since most of us are not so fortunate, and
good log keeping stipulates using UTC (GMT for us oldtimers), the operator can
specify his or her own time zone as:
Enter your time zone...
If a non-zero time zone is entered, the program adjusts the date and time
for the on screen display and the log to accomodate the time zone. Proper
attention is also made to month and year rollover with the exception of leap
year. This is a subject of a future change to the program.
CONTROLLING HARDWARE INTERFACE - CW may be configured to access any port
within the 8088 port address space. The individual bit and its logical sense
can also be specified. The program default values are for the COM1 port and
uses the RTS, CTS signals for Transmit and Receive respectively. The operator
will be prompted:
Enter transmit port.........
transmit bit #........
transmit logic........
receive port..........
receive bit #.........
receive logic.........
A <RETN> leaves the value unchanged. You must enter the port numbers in
decimal, the bit number as 0.. 7, and the logic level as 1 => active high;
0 => active low. This may take some experimenting for your particular hardware.
The author has configured a VISUAL COMMUTER (IBM clone) and the MFJ 1224,
RTTY/CW terminal unit to the LPT1 parallel port and a homebrew interface to
the COM1 port. The homebrew design is the subject of a forthcoming public
domain release.
CHANGING RECEIVE FILTERING - The program is designed to track the charac-
ter rate of the incoming (received) morse code. Under ideal conditions, no
filtering is required at all, however, in the real world of QRN and QRM it is
an absolute necessity. The filtering is accomplished using the digital equiv-
alent of a low pass filter. Just as the response of a low pass RC filter can
be controlled by the resistor-capacitor product, the difference equation
coefficients can be modified to adjust it's response. The operator is prompt-
ed as follows:
Receive filter coeff: 3
slow... fast
<0> .. <9>
Enter...
Selecting the value <0> will disable the filter. In this case the receive
algorithm will rely on the transmit WPM selection.
The default value is 3 which seems to work well with the author's Kenwood
440S transceiver with an 800 Hz CW filter. A 200 Hz wide active audio filter
is also used along with a limiter/detector of the author's own design. This is
definitely an area for experimentation and user feedback. I simply cannot
afford to buy one of everything to test the programs utility.
LOADING CONFIGURATION - The operator is prompted to enter the name of a
configuration file which is to be loaded. If the file does not exist or the
<RETN> is pressed without a file name then the default configuration is
established.
SAVING CONFIGURATION - The operator has the option of saving the operating
configuration of the program on a disk file. The prompt for a file name may be
given a <RETN> response in which case the default name of 'INIT.CW' is assumed.
The operating characteristics of CW as determined by the configuration
parameters can be saved on the default disk. The program looks for this file
on initial execution and uses the values contained therein for its presets.
INIT.CW is an ASCII file which may be observed/changed with any wordprocessor.
A sample of the INIT.CW file contents are:
Xmt_WPM............. 18
Dash Dot Ratio..... 3.0
Letter Dot Ratio... 3.0
Word Dot Ratio..... 7.0
PC monitor flag.... 1
Monitor note freq ..600
Time Zone.......... 0
Initial msg file... NIL
Timing Duration.... 920
Rx Coefficient.....8250
Xmt background..... 7
Xmt foreground..... 14
Rcv background..... 3
Rcv foreground..... 15
Status background .. 4
Status foreground .. 11
Prompt background .. 1
Prompt foreground .. 14
Aux background..... 6
Aux foreground..... 14
Help background.... 2
Help foreground.... 14
Transmit port......1020
Transmit bit....... 2
Transmit level..... 1
Receive port.......1022
Receive bit........ 16
Receive level...... 1
Filter coefficient.. 3
The above values are the equivalent to the internal program configuration
defaults.
SPECIAL NOTE FOR USE WITH SIDEKICK - I have always used the program with
the utility SIDEKICK. Some early feedback on program operation indicated that
my machine was slower than I wanted to believe. It seems that SIDEKICK really
makes a significant impact on program speed such as CW which uses a lot of key-
board i/o. All of the timing loops involved in generation and reception of the
morse characters have i/o tests imbedded in them. These i/o calls to DOS are
trapped by SIDEKICK. The number of tests SIDEKICK performs is apparently not
trivial. My computer is a VISUAL COMMUTER with a V20 operating at 4.77 MHz.
The Norton Utility SYSINFO indicates a 1.8 performance index. This computer
requires the following constants in the INIT file:
constant w/o SK w SK
Timing Duration 920 850
Rx Coefficient 8250 5660
If you use SIDEKICK or other keyboard enhancement utility with CW, you may
find it necessary to play around a little to find the right values for these
two constants.
Calibrating the Code Speed
The transmit and receive code speeds are dependent on timing loops used
in TURBO (tm) PASCAL. They are therefore sensitive to the clock rate of the
computer. CW can accomodate variations in clock frequencies. Accurate timing
does require a scope and an external 10 HZ signal generator. The signal gen-
erator may be a calibrated keyer.
To begin the calibration press <ALT> C and select the transmit or re-
ceive procedure.
RECEIVE CALIBRATION - Apply a 10 Hz square wave of the proper amplitude
to the input port. The 10 Hz square wave is the dot rate equivalent of 25
WPM cw. Pressing the <u> and <d> keys will alter the displayed code speed in
0.1 WPM increments. Pressing <U> and <D> will alter displayed code speed in
1.0 WPM increments. Press <Q> when the calibration is complete.
TRANSMIT CALIBRATION - The transmit calibration is fully automatic. The
calibration procedure takes 1 minute.
AUTOMATIC LOG MAINTENANCE
CW maintains a logging file (default: HAMLOG.DBF), a dBase III+ compatible
file which contains all relevant logging data. The format of this file is
compatible with the program KAM.EXE, the Kantronics All Mode TNC terminal
program also written and distributed by W1HKJ. Two index files are maintained
for the database, HAMLOG.CLL (callsign) and HAMLOG.DTM (date time). These
files are created and maintained using 'TOPAZ units' purchased from
The Research Group
100 Valley Drive
Brisbane, CA 94005 (800-HOTWARE)
The index files are unique to TOPAZ and are cannot be used by either
dBase or FoxBase. The data file is totally compatible with both. If you use
dBase or FoxBase to add records, delete records or sort the file then you
should delete both the xxx.CLL and xxx.DTM files. The next time CW is exec-
uted these files will be recreated in proper form. Failure to do so will
cause an error termination of the program.
Data is entered into the database from CW using the following form.
╔╣Index [ callsign ] ╠═════════════════════════════════════════════════════════╗'
║Record # of File Last Update : ║'
╠════════════════════╤═════════════════════╤═════════════════╤═════════════════╣'
║Callsign │Name │Date │Time ║'
╟────────────────────┼───────────┬─────────┼─────────────────┼─────────────────╢'
║Freq │Power │Mode │RSTout │RSTin ║'
╠════════════════════╧═══════════╧═════════╪═════════════════╪═════════════════╣'
║Comment │QSLsent │QSLrcvd ║'
╠══════════════════════════════════════════╧═════════════════╧═════════════════╣'
║ Next Prev Top bOttom Go Find Edit Add Del Browse paCk Index Quit ║'
╚╣<F1> = Help╠═════════════════════════════════════════════════════════════════╝'
A separate program HAMLOG.EXE should also be available on this BBS. HAMLOG
allows separate maintenance of several amateur radio logs. It uses identical
database structures and is compatible with CW and/or KAM.
COUNTRY LIST - PREFIXES and NAMES
The file COUNTRY.LST is a flat file (ASCII text) containing all of the countries
listed in the 1987 Callbook (my last purchased copy). This file is accessed by
pressing <F10>. A scrollable window is opened beginning with the 'A's. You may
browse through the list by using the arrow keys; the page-up, page-down keys;
the home, end keys; or by pressing the first letter (or number) of the prefix in
question. New countries may be added to the list. Keep them in alph-numeric
order and do not exceed the line width of the present entries!