home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
cw
/
morse4
/
cw.doc
< prev
next >
Wrap
Text File
|
1987-12-10
|
32KB
|
688 lines
CW.COM
10-04-87
-----------------------------------------------------------------
The Original Comprehensive Morse Code Training Program for the PC
-----------------------------------------------------------------
****************************************************************
* PLEASE UPLOAD TO YOUR LOCAL COMPUTER BULLETIN BOARD SYSTEMS! *
****************************************************************
****************************************************************
* PLEASE LET ME KNOW IF YOU PASS YOUR CODE TEST USING CW ! *
****************************************************************
I. Background
A. Version
This documentation is updated to version 3.16 of the program.
B. Purpose
CW was written to help prospective hams overcome what many perceive
to be the biggest obstacle to obtaining an amateur radio license--learning
the Morse code. There are numerous programs available in the public domain
which send Morse code via a PC's speaker, but most are very limited and are
written in BASIC, which requires a clumsy interpreter. CW seeks to provide
a comprehensive program which provides several modes of learning and
practicing the code. The best features of other programs are included and
many new features have been added to those previously available.
C. The Author
The author is a registered patent attorney working with Rockwell
International Corporation in Cedar Rapids, IA (the old Collins Radio Company).
He can be contacted on Compuserve (ID No.: 71016,1355), or GEnie (Address:
L.MURRAH), or by mail at the following address:
10 Cottage Grove Woods, S.E.
Cedar Rapids, IA 52403
The home telephone number is (319) 365-6530.
Credit must also be given to the users, many of whom have provided
suggestions for improvement which have been incorporated into CW.
D. The Software
CW is written in Turbo Pascal. The development of CW began in early
1986 and has gone through a number of versions. New versions will be released
as features are added and corrections are made to previously released versions.
CWnnn.ARC contains the following files:
Name Description Needed to Run?
---- ----------- --------------
ANTENNAS.CW - Names of antennas for QSO feature Yes
CITIES.CW - Names of cities for QSO feature Yes
CW.COM - the main executable file Yes
CW.CFG - the CW configuration file Yes
CW.DOC - this documentation file No
FEEDBACK.FRM - Form for user feedback to author (Please!) No
GROUPS.CW - Code groups for Learn feature Yes
GROUP.1 - Alternate code group for Learn feature No
GROUP.2 - Alternate code group for Learn feature No
HAMRADIO.INF - A brief file on ham radio No
HAMWORDS.CW - List of "ham" words for Receive feature Yes
JOBS.CW - Name of occupations for QSO feature Yes
LEARN.HLP - Help file for Learn feature Yes
MAIN.HLP - Main help file Yes
MYGROUP.CW - User defined group for Learn feature Yes
NAMES.CW - Names of operators for QSO feature Yes
PROBLEM.RPT - Problem report form for special problems No
README.1ST - Important information about calibration No
RECEIVE.HLP - Help file for Receive feature Yes
REGWORDS.CW - List of "regular" words for Receive feature Yes
RIGS.CW - Names of radio equipment for QSO feature Yes
SEND.CW - Help file for Send feature Yes
STATES.CW - States Yes
STEPS.CW - Character pairings for Learn feature Yes
E. Latest Version
The latest version of CW can usually be found on GEnie or Compuserve.
The latest version can also be obtained by sending a FORMATTED (360K) diskette
and a STAMPED, SELF-ADDRESSED diskette mailer to the author at the above
address. The request should also be sent with sufficient postage that it does
not arrive with postage due.
Although I do not operate an active bulletin board system, I do have
RBBS software which I can load to permit downloading CW from my computer. If
you do not have access to GEnie or Compuserve and would like to obtain the
latest version of the program this way, please give me a call on weekends or
during early evening hours, and I will set it up for you.
II. Equipment and Program Configuration
A. General
CW can be run on the IBM-PC and compatibles having 192K of memory and
one floppy disk drive. A hard disk is not required, although you will find
that a hard disk will enhance operation of this and any other program.
Your CONFIG.SYS file should authorize at least 20 files. This can be
done with the following statement:
FILES = 20
CONFIG.SYS may be edited using a word processor or program editor.
B. Computer Clock Speed
The clock speed for your computer will affect the code speed.
Therefore, you should calibrate CW code speed for your computer. If you
have a multiple speed system, use CW only in the calibrated clock speed
unless you wish to recalibrate.
C. Video Display Card
The program was originally written for the Color Graphics Adapter.
However, I have made changes which should permit it to work with a monochrome
card. If you have problems with CW on a monochrome card, please send in the
PROBLEM.RPT form.
D. Memory Resident Programs
Since the code speed for CW is determined by a software loop in
order to provide greater code speed accuracy, you will need to recalibrate
the code speed if memory resident programs are used or changed. Such programs
affect the clock operation upon which the loop is based.
III. Your Right to Use CW
A. License
As you may have noticed I have retained the copyright in CW, primarily in
order to control its orderly development. However, I have granted the right
to anyone to use the program for private, non-commercial use without further
permission from me. That is, you can copy it, use it, and share it so long as
you do not charge any money for it.
B. Contributions
Several users have asked me whether I require payment of a "shareware"
fee in order to use the program. The answer is "No"; but if you would like
to support CW with a small contribution (say $5), we certainly would not
refuse your generosity. It would certainly help in continuing to improve
the program.
IV. Tips on Learning the Morse Code
1. Learn the characters by sound, not by sight. Each of the characters
has its own characteristic length and rhythm. Do not memorize the characters
using the visual dot and dash symbols. That will slow you down!
2. Set the character speed to 13 words per minute and the send speed
at whatever lower speed you desire. Since your ultimate goal is 13 words
per minute, it is much easier to learn how the characters sound at that
speed even though they are sent at a lower speed. This helps to eliminate
the "hump" that most people experience around 10 words per minute.
3. Study every day, but if you feel you are stuck and not making
progress, take a few days off. It's amazing how this will sometimes clear
your head.
4. Try to copy code in you head as much as possible.
5. Get access to a ham receiver and try to copy off real transmissions
off the air.
6. As soon as possible learn the sounds of whole words.
7. Turn on the CW <G>roups function and let it send in the background
while you are doing something else, such as reading the paper or working on a
construction project. Try to identify characters while doing the other
activity. This will help your brain shift to "automatic" and will help the
code sounds become a natural "part of the wallpaper."
8. Although the code test no longer requires that you demonstrate an
ability to send code, you should get a code practice oscillator or use the
<S>end <M>anual feature and practice your sending.
9. As soon as you pass the novice test, get a rig on the air and operate
on the novice bands. Nothing will increase your speed and concentration as
well as the pressure of an on-the-air contact. Don't worry about being
perfect--the other guy is probably in the same boat as you.
10. Tape a CW session using a cassette recorder and listen to the tape
while driving to work.
V. Using CW
A. The Character Set
Since several Morse code procedure signs are not printable as ASCII
characters since they are a combination of two characters, special characters
are used to represent them as follows as follows:
Prosign ASCII Representation Meaning
------- -------------------- -------
<AR> @ Over
<SK> $ End of contact, end of message
<AS> ! Wait, stand-by
<KN> # Over-specified station only
B. Setting Up CW
1. The Configuration File
The default values for code timing, code speed, oscillator tone,
screen graphics type, and screen colors are contained in the CW.CFG file. If
this file is not found when the CW is first run, it will be created. The code
speed and oscillator tone can be changed using the function keys as defined
hereinafter any time code is being sent. The user is given the opportunity to
save the new settings when the program is exited using the <X> command. The
default values for code timing, screen graphics type, and screen colors can
be changed from within CW using the <U>tilities command in the main menu.
2. Code Timing
The timing of the code in CW is initially set assuming a computer
clock speed of 4.77 MHz. If your computer runs at a different speed or uses
background programs which steal clock cycles, you will need to use the
<T>iming subcommand in the <U>tilities menu to change the timing factor. To
decrease code speed increase the value of the timing factor and vice versa.
Use the <S>peed Test option and a clock with a sweep second hand to test the
speed resulting from a new setting. Keep changing the factor until the proper
code speed in attained. With a clock speed of 4.77 HMz. and with no memory
resident programs installed, the author has found that a timing factor of about
1075 is necessary.
You can also use the <A>uto Calibrate feature to automatically
set the timing factor to APPROXIMATELY the correct setting. Due to vagaries
of the PC clock, this method may be off by several percent. This may be fine
for general use, but before relying upon the speed as when preparing for your
code test, you should manually calibrate the speed as described in the
preceding paragraph. This feature is a good way to start the calibration
process described above.
You should ALWAYS check the code speed for your computer before
relying upon CW.
3. The Code Speed
The code speed can be set at any time code is being sent using the
function keys as follows:
F1 - Decrease SEND Speed F2 - Increase SEND Speed
F3 - Decrease CHAR Speed F4 - Increase CHAR Speed
F5 - Decrease WORD Speed F6 - Increase WORD Speed
F9 - Set SEND, CHAR, and WORD to Same Speed
You can set the speed at which the character is sent separately
from the overall send speed (the Farnsworth method). For example, you can
set the send speed at a slow speed but set the characters to be sent using
shorter dits and dahs equivalent to a much faster send speed. This makes it
easier to increase your code speed since you will already know the sound of
the characters at the higher speed.
You can also set the word speed separately from send and character
speed. This permits you to learn the sounds of whole words individually sent
at high speeds but spaced at a much slower speed.
The minimum code speed is 3 WPM, and the maximum is 99 WPM (good
luck with that setting!). The send speed and character speeds are coupled so
that the send speed will never exceed the character speed. Also in the speed
test mode, the word speed will automatically be set to the send speed so that
the test is valid.
4. The Oscillator Tone
The oscillator tone can be set to suit your tastes at any time
code is being sent with the function keys as follows:
F7 - Decrease Speaker Tone F8 - Increase Speaker Tone
The minimum tone is 400 Hz., and the maximum is 1200 Hz. The author has
found that abouRt 500 Hz. is optimum for sound and volume.
5. Video Type
At program invocation CW will determine the color video type.
However, this can be changed if necessary (e.g., you have two video cards
installed) with the <V>ideo Type command. Screen colors will automatically
be set for the selected video card.
6. Screen Colors
The colors of the screen, the windows, and the highlighting can
be set to suit your taste using the <U>tilities command and the <C>olors
subcommand when the utilities menu window appears. The colors are
initialized for a black on white when CW is first run.
7. Hiding the Text
If you would like to hide the text so that you are not tempted to
peek, this can be done with the F10 key at any time code is being sent. This
can be reversed using the same key. The current status is displayed on the
status line. With some functions the text will be hidden regardless of the
setting of the hide subcommand. The hide function also suppresses the display
of 'DIT' and 'DAH' in the <L>earn mode.
8. Speed Test
You can check the speed at which CW sends by using the
<U>tilities command and the <S>peed Test subcommand. Simply count the number
of times that the word PARIS is sent in one minute, and that will be the code
speed. You will probably need to use this command in conjunction with the
<T>iming command to calibrate code speed if your computer runs at other than
4.77 MHz., or if you are running background programs which steal clock cycles.
IT IS ALWAYS A GOOD IDEA TO CHECK THE CODE SPEED PRIOR TO RELYING
UPON CW TO PREPARE YOU FOR A CODE TEST.
9. Altering the Data Files
Certain of the data files may be customized to suit your desires.
This is described more fully in connection with the <Q>SO and <W>ords function
under the <R>eceive command.
C. The CW Status Lines
1. The Message Line (Top)
At all times while CW is running, the top line of the screen is
used to identify the current function and the key necessary to abort the
current function. Most functions can be exited using the <ESC> key.
2. The Parameters Line (Bottom)
Likewise, the bottom line at the bottom of the screen will display
from left to right the code send speed in words per minute, the code character
speed in words per minute, the oscillator tone frequency in cycles per second,
and whether or not the text is displayed.
D. The ESC Key
At any time that code is being sent, the current operation can be
aborted by pressing the <ESC> key. A positive indication is given by a beep
sound and a large right pointer is printed on the screen. In some functions
it is necessary to press another key to continue as indicated on the message
line. The <ESC> can be used to abort any time a user input is requested.
E. The Function Keys
The function keys are active any time code is being sent. They are
defined as follows:
F1 - Decrease SEND Speed F2 - Increase SEND Speed
F3 - Decrease CHAR Speed F4 - Increase CHAR Speed
F5 - Decrease WORD Speed F6 - Increase WORD Speed
F7 - Decrease Speaker Tone F8 - Increase Speaker Tone
F9 - Set SEND, CHAR, and WORD to Same Speed
F10 - Hide/Unhide Text
F. Starting Out--The <L>earn Command
To help you learn the Morse code, CW provides a <L>earn function, which
introduces the basic code sounds and then puts them together in characters and
groups of characters.
The <L>earn subcommnads are numbered to slowly build up your knowledge
of the characters in a very logical way. It is recommended that the <L>earn
subcommands be used in the same order as the selections are numbered.
1. The Basic Code Sounds--DIT and DAHS
The <1> selection teaches you the basic DIT (short) and DAH (long)
sounds. After sending DITS and DAHS in various formats, you are asked to
identify randomly presented DITS and DAHS using the '1' key for DITS and the
'2' key for DAHS.
2. Character Length
The <2> selection sends a character and asks you how many total
sound elements (DITS and DAHS) are included in the character. This forces you
to listen for the LENGTH of a character, which is a very important character
attribute.
3. Character Pattern
Selections <3> and <4> force the user to concentrate on character
sound patterns and rhythms. The <3> selection sends a character asks the user
to enter the number of DITS in the character. The <4> selection does the same
thing for DAHS.
4. Character Steps
The <5> selection combines the previously learned DITS and DAHS
into complete character sounds. The characters are paired with
similar sounds in a series of increasingly harder steps, and the user is asked
to identify the characters in each step randomly chosen. The user should
start with step 1 and learn to distinguish the characters in each step before
continuing on to the next higher step. After all 63 steps have been mastered,
the user should be ready to start with the <G>roups and <L>evels commands.
5. Character Groups
The <6> selection lets you study each character group separately.
The characters from the selected group are presented randomly, and you are
asked to identify them.
The groups used in CW are those used in the ARRL publication "Tune
in the World with Ham Radio". If you are using materials having a different
grouping, you can change the groups by altering the contents of the file named
GROUPS.CW using a text editor or word processor (you must use the ASCII store
mode so that nothing but printable ASCII characters are stored in the file.
The groups which are initially installed are included in the file GROUPS.1,
and a second grouping used in older ARRL code booklets are included in
GROUPS.2. To use either of these groups, just delete the current GROUPS.CW
file and copy either GROUPS.1 or GROUPS.2 to the filename GROUPS.CW. Please
note that only the letters and numbers can be changed. Punctuation and prosigns
are automatically added as the last two group.
If the display of 'DIT' and 'DAH' prove to be distracting in
either this or the <L>evels command which follows, they can be suppressed by
using the F10 key any time code is being sent.
6. Character Learning Levels
The <7> selection permits you to study the various groups in a
progressive manner starting with the simple Level 1 sounds and adding
characters with each level. Each level is simply a combination of groups 1
as defined above through the group whose number is the same as the level
number. After the new characters for each level are presented, you are asked
to identify randomly presented characters from the level selected.
7. User Defined Group
If you are having a particularly hard time with several characters,
you can create your own special character group and study it using the
<M>y Group subcommand. The special group can be created by editing the file
MYGROUP.CW with a word processor in the ASCII output mode or an editor. The
file can have only ONE line and is limited to 10 characters!
6. Viewing the Character Steps and Groups
The character steps and groups used in the preceding subcommands
may be displayed using the <V>iew subcommand.
G. Receiving Code
Once you have mastered the character sounds, you can work on increasing
your speed. CW provides several ways to do this:
1. The <G>roups Command
One of the classic ways of practicing code reception is sending
five letter groups of random characters. The <G>roups command does this.
2. The <W>ords Command
If you would rather work with real words, use this command. You
are given a choice of either "regular" words or "ham" words. In order to
promote recognition of whole words, the words are not printed on the screen
until the entire word has been sent in code.
The words sent by this command can be changed by editing the file
WORDS.CW with a word processor. Make sure each word is on a separate line
followed by a carriage return and that there are no blank lines after the last
entry. The maximum number of words which may be entered into the file is 500.
Each word may be up to 11 characters in length.
3. The <Q>SO Command
Use this command if you would like to copy a simulated QSO (a
radio contact). A standard pattern is used, but the call signs, names, etc.,
are randomly selected from a list. The call signs are randomly selected from
all the possible call signs. This means that some calls signs which have not
yet been issued will be used.
The names, antenna types, city names, and rig types can be changed
to reflect your desires by editing the files ANTENNAS.CW, NAMES.CW, CITIES.CW,
RIGS.CW, and JOBS.CW with a word processor. Simply place your entry on a
single line followed by a carriage return. Make sure there are no blank lines
in the middle of the file or after the last entry. The maximum number and
length of the entries are as follows:
File Max. No. Entries Max. Length Each Entry
---- ---------------- ----------------------
ANTENNAS.CW 50 15
CITIES.CW 200 15
JOBS.CW 100 20
NAMES.CW 200 10
RIGS.CW 100 15
STATES.CW 100 5
If the QSO is sent in the text hide mode, the user is given the
opportunity to review the QSO before exiting.
4. The <E>nter Command
With this command you can have a friend enter test messages via the
keyboard, and you can attempt to copy it without looking at the screen. The
maximum length of the message is 255 characters. This command differs from
the <K>eyboard Send command in that nothing is sent until RETURN is pressed.
5. The <D>isk Command
This command sends the contents of a disk text file in Morse code.
If you do not know the name of the file you wish to receive, you may enter an
asterisk ("*") and a listing of the current will be displayed.
You can practice by having someone create a text file of unknown
content. Another idea is to exchange disks with a friend who is also studying
the code and carry on a 'disk QSO' between the two of you.
The <D>isk command is also useful to VEC's for giving code tests.
The disk file required for this command can be any ASCII text file
created with a text editor or a word processor. If a word processor is used,
make sure it is in the ASCII store mode so that only ASCII characters are
stored in the file. Unprintable characters are ignored, but a time delay for
the missing character is inserted, which slows down the send speed. To
familiarize yourself with the use of this command, you can enter the name of
the words file (WORDS.CW) or any of the other data files having the CW
extension, although this will not provide very useful code practice.
6. The <Z>oom Command
This command lets the user receive 5 character code groups at
increasing speeds. The user is asked to enter the start speed, the end speed,
and the number of groups to be sent at each speed. After the specified number
of groups is sent, the code speed is increased by 1 WPM until the end speed is
reached.
H. Sending Code
1. The <K>eyboard Send Command
You may wish simply to select enter individual keys to hear how
they sound. This is the purpose of the <K>eyboard send function. You can
type ahead of the CW sender by 80 characters maximum. Unlike the <E>nter
command, you do not have to press RETURN to start sending characters.
2. The <M>anual Key Command
You may also wish to practice your "fist", i.e., your manual
sending ability. This can be done by using the ALT key as a telegraph
key. You may not wish to overuse this command due to the possible wear on
the ALT key.
I. The <T>est Command
1. The <F>CC Test Command
This command permits you to take a simulated code test much
(but not exactly!) like the one you would take when you sit for your license
exam. The test is based upon the simulated contact used for the <Q>SO command
discussed above. The number of questions asked does not necessarily correspond
to the actual number on the test. Recommendations for increasing the realism
of this function are solicited from users.
After the test has been taken, the user is given the opportunity
review the text of the test QSO.
2. <K>eyboard Receive Test
This command lets you test your approximate receive speed. The
computer will send a character and wait for you to type in the correct key.
When you exit this function using the ESC key, the computer will print out
your the approximate send speed, your approximate receive speed, and your
accuracy rate. This command can also be used to learn to copy code on a
keyboard. Although you will not be tested on a keyboard, it is the fastest
way to copy code and is the methos used by all the military services.
VI. We Need Your Feedback and Problem Reports
A. Feedback
As I continue to improve CW, it is helpful for me to have you feedback
about what you like about CW, what you don't like about it, any bugs or
cosmetic defects you have discovered, what you would like to see changed or
added, etc. Please take the time to fill out and mail the form in the file
FEEDBACK.FRM to me. It would be much appreciated.
If you would like to have the latest version of CW, please send a
FORMATTED (360K) diskette and a self-addressed, stamped diskette mailer along
with your feedback form.
I particularly need feedback from those who use CW to train novices.
If I know what your needs are, I will endeavor to add those features to CW.
B. Problems
If you encounter severe problems in running CW, please complete and
return PROBLEM.RPT to me.
C. Send Me Your Good News!
If CW helps you obtain your license or upgrade to a higher class of
license, I would love to hear about it! Please take the time to drop me a
and let me hear your good news!
VI. Timing Calculations
A. Element Lengths
1. One bit is defined as one dot time.
2. Thus the code elements are defined as follows:
dot = 1 bit
dash = 3 bits
space between dots and dashes = 1 bit
space between characters = 3 bits
space between words = 7 bits
B. Speed Calculations in General
1. The word PARIS is used as the standard word, i.e. the code
speed is the number of times PARIS is sent in one minute.
2. PARIS has 31 bits, or an average of 6.2 bits per character.
C. Speed Calculations for keyboard test function.
1. The average number of bits per character in all the numbers and
letters is 9.83.
2. The average character takes 9.83/6.2=1.58 times as long to send
as the average character in the standard word.
3. A word is assumed to be 5 characters in length.
4. A 7 bit wordspace is added for every 5 characters --
0.71 character lengths.
5. Thus, wpm can be estimated as recv_speed*60/5*1.58.
8. Spaces between characters are ignored.
VII. Join the ARRL
If you are a prospective ham, you may wish to join the American Radio
League, which is the official organization representing amateur radio
in the United States. The ARRL publishes a monthly magazine called QST and
provides many helpful services and publications. The address is:
American Radio Relay League
225 Main Street
Newington, CT 06111
VIII. Troubleshooting
A. Code Speed Is Too Fast or Too Slow
Calibrate the program as described hereinabove and in the README.1ST
file. For best results you should disable memory resident programs since they
steal clock cycles which CW depends upon for proper timing.
B. 'File Not Found ' Message
1. Make sure all the required files listed early in this
documentation are on the program disk.
2. Make sure the program disk is in the currently active drive
when run.
3. Make sure that CW.CFG is present and is not shown with 0 bytes.
The latter is caused if the program is rebooted while setting program
parameters or using certain utilities. If this happens, erase CW.CFG and start
the program again. You will be forced to reconfigure CW unless you have saved
your current configuration in a backup file.
C. Program Works, but No Sound
1. Try another program which makes sounds or plays music. If that
program does not work, then the problem is in your system. If you do not have
such a program, check your distribution disk for a BASIC music program which
you can run using BASICA.
2. Apparently some IBM clones do not fully implement the speaker
output and will make bell sounds (beep) only. If you have such a machine, CW
will not work on this type of system.