 







                                 PRO-CW

                  The Professional CW Keyboard Software


                   Copyright 1990, Andrew C. Manti Jr.




     Welcome to PRO-CW, the CW keyboard software for the casual ham as
     well as those who enjoy contesting.  PRO-CW was written by a ham
     and incorporates the features most needed for a CW keyboard, both
     for casual CW work, and use in contests (specifically designed with
     the ARRL Sweepstakes in mind).  Also included is the ability to
     decode morse from the receiver and display text on the screen.
     This program does, however require some minimal hardware to
     interface to your ham gear. Details of this interface are given
     later.

     The major features of the program are as follows:

              - Self calibrating to your system clock. (No need to set
                special speed constants)
              - Speeds from 5 to 60 wpm.
              - Unlimited ASCII message files each containing up to 9
                different 80 character messages.
              - Auto incrementing serial number for contest work.
                (Also ability to repeat last serial number used.)
              - Optional input and output pin assignments for RS232C
                port.
              - Type ahead buffer.
              - Ability to prepare message while other station is
                transmitting.
              - Adjustable dot/dash weighting.
              - Automatically saves last used configuration including
                serial number count.
              - Received CW decoding. (Still in its early stages with
                this release but does work.)


     System requirements are an IBM PC or compatible with 384K of RAM,
     and an RS232C port.  A description of the required computer to ham
     gear interfaces is given later.





















     PRO-CW is offered as shareware. That is, software which you are
     free to copy, distribute, and try for a limited time.  If you feel,
     the program is of real use to you then you are obligated to
     register your copy of the program.  The program and this document
     are copyrighted and protected under US Copyright laws.

     In trying to determine an appropriate registration fee, the author
     came up with some mixed feelings.  The author is a ham, and as a
     ham realizes the need for more and better software to be made
     available to the ham population at low cost.  What with the cost of
     equipment today, not many people have $50-$100 to throw at every
     decent software package they see.  This program did however take
     many hours to develop and prepare for use.

     With this in mind, and the fact that it is expected that future
     improvements and additions will be made, it was decided that the
     registration fee would be set at $15.00.  For this registration
     fee, you will receive a direct mail copy of the next major update
     to the program when released.  Naturally, the number of comments
     and suggestions received may determine the next release date.

     If you use PRO-CW and feel it is of real use to you, send your $15
     registration fee (MA residents must add 5% tax) to:

                        Andrew C. Manti Jr.  W1VL
                        2 Deana Road
                        Methuen, MA 01844

     (Please send check or money order (no cash) payable to Andrew C.
     Manti Jr.  A registration form is included at the end of this
     document.





























     To run PRO-CW, merely copy the files PROCW.EXE, CALIB.MSG and
     CWXMIT.CNF to a floppy or your hard disk.  As received, the program
     is set up to use the CTS pin (pin 5) for receive and the RTS pin
     (pin 4) for transmit over your RS232 line. It is set up to be used on
     COM1 only at this time.  More on this later.

     To begin PRO-CW, at the DOS prompt type PROCW and <ENTER>. If you
     are running the program on a monochrome monitor or a laptop with an
     LCD display, start the program by typing PROCW M and then <ENTER>.
     The "M" on the command line will instruct the program to run in
     monochrome mode as opposed to color.

     When the program starts, an opening screen will appear while the
     program calibrates itself to your system clock.  The program will
     automatically determine the clock speed and set up its parameters
     accordingly.  This means no playing with speed constants or the
     like.  The method used to calibrate is very accurate and test on
     six different types of computers showed variations of only one half
     word per minute.

     Once the calibration program completes, the main operating screen
     will appear.  This screen is a split screen, the top of which is
     used for transmit data and the bottom for either received data or a
     buffer for the transmit option.  At the bottom of the screen is a
     box which will show the present transmit speed and the next serial
     number to be used in the sequential serial number routine.  Below
     the box, is the function key defintion for transmit (or receive),
     as well as a listing of keys for use as special symbols (BT, SK,
     etc).  On the right hand side of this line is the work SPKR:. This
     is followed by either ON or OFF and gives the state of the PC
     speaker.  If ON, everything you type will be echoed by the speaker
     as well as sent out the RS232 port. The <F3> key is the toggle for
     the speaker.  The program initially begins with the speed set at 13
     WPM and the speaker ON.  Without using the RS232 port, the program can
     be used for code practice.

     To view a listing of function key assignments press <F1>. This may
     be done at anytime the program is in the transmit mode.  A summary
     of these keys is as follows:

                   F1   - Help
                   F2   - Exit Program (Return to DOS)
                   F3   - Toggle PC speaker ON and OFF
                   F4   - Load ASCII message file
                   F5   - Clear Receive/Buffer Area
                   F6   - Set Speed
                   F7   - Change Dot/Dash Weight Ratio
                   F8   - Change RS232 Port Pin Assignments
                   F9   - Enter Transmit Mode
                   F10  - Enter Receive/Buffer Mode

                   <ALT><1> - <ALT><9> - Transmit message 1 - 9 of ASCII
                                         message file

                   <SHIFT><F5>  - Save curent settings
                   <SHIFT><F7>  - Reset Serial Number Counter


     Most of these functions are self explanatory but will be covered
     briefly later.








     BASIC USAGE of PRO-CW
     =====================

     Transmitting:

     Once you have connected the appropriate interface hardware to your
     computer, you are ready to begin.  Transmitting CW is very straight
     forward.  The program always begins in the Transmit (XMIT) mode.
     The cursor on the screen will be in the top or transmit window.  To
     send morse, all you have to do is type what you wish to send and it
     is sent!  Nice and easy!

     If you wish to change speeds, press the <F6> key. The cursor will
     move to the SPEED indicator at the bottom of the screen. Type in
     the new speed and press enter.  The cursor will return to the
     transmit window and you are ready to continue.

     Should you prefer a different dot/dash weighting ratio than the
     standard 3:1, press <F7>.  A window will open and allow you to
     change the ratio from 2 to 5.  This means dashes will be from 2 to
     5 times longer than dots.  Remember, 3 is the normal weight ratio.

     ASCII Messages:

     PRO-CW allows you to use any number of predefined ASCII message
     files.  Each of these files may contain from 1 to 9 different
     messages. The files may be created using any standard word
     processor capable of writing true ASCII files.  Each file may
     contain up to 9 lines of 80 characters each.  Each line is
     considered a separate message.  For example, the author uses the
     following file for the ARRL Sweepstakes:

              NR # A W1VL 60 EMA =
              NR ! A W1VL 60 EMA =
              NR !  NR ! =
              A   A =
              W1VL =
              60  60 =
              EMA  EMA =
              CQ SS DE W1VL SS K

     This is actually 8 separate messages which can be selected by
     typeing the <ALT> key and the number key corresponding to the
     appropriate line or message.  In other words, to send CQ SS, press
     <ALT><8>. The message will be transmitted immediately.

     Did you notice the couple of strange characters in the file
     listing?  The # character tells the program to insert the next
     sequential serial number in the message at that point. Each time I
     send message 1 (<ALT><1>), it will send a different serial number.
     The other character to note is the !.  The ! tells the program to
     repeat the LAST serial number that was sent.  Message 2 allows me
     to repeat the entire exchange without increasing the serial number.

     The other message lines allow me to repeat any portion of the
     exchange without having to keep retyping.  For a repeat of my
     section, just type <ALT><7>.  The = is the character code for <BK>
     These codes will be covered next.












     The other special codes for use during transmit are as follows:

              =     <BK>

              -     <BT>

              ;     <AR>

              ]     <SK>

              [     <KN>

              @     <AS>

     These codes should cover just about any you may need.


     While transmitting, you may type ahead as far as you want.  No
     problems have been found with using up buffer space.  I imagine, if
     you send at 5 wpm and type at 60 wpm, you may run into a problem,
     but don't think that is likely.  To correct while you are typing,
     just press the BACKSPACE key and continue.  The program will
     automatically make the correction before the text is sent.

     The receive portion of the screen which will be covered next, has a
     second use and that is as a message preparation buffer for
     transmitting.  If you are listening to another station and wish to
     begin preparing your transmission, press <F10> which will place you
     in the receive mode.  The cursor will move to the bottom window. At
     this time you may begin typing your next transmission.  The
     characters you type will appear in the bottom window.  When you are
     ready to send the message, press <F9> which will return you to the
     transmit window and your prepared message will be sent immediately.
     This is a handy feature if you are as poor a typist as I am.
     Obviously once this message has been sent, it can only be repeated
     by retyping it as opposed to the message file options which will
     repeat every time you press the appropriate ALT key combination.
     Keep in mind that this option of using the receive window for a
     transmit buffer works whether or not you are actually receiving
     with the program.  If you are, however, the information you type
     will overwrite anything being received.

     To clear the Receive or lower window, press <F5>.






















     Receive Mode:

     The receive mode in this version does works well with machine sent
     or near perfect code.  It runs about 92% accurate in these cases.
     With QRM, QRN and average or below average code, the accuracy drops
     quickly.  At this time, the accuracy depends greatly on your
     receiver selectivity and actual operating conditions.  The
     algorithm used is pretty reliable, but was included to give the
     program an extra feature more than to take the place of good solid
     paper and pencil or head copy.  I find it very useful in copying
     W1AW bulletins and the like.

     The external hardware for the receive protion of the program is
     much more involved than the transmit hardware.  Even then, the
     parts can be bought at most Radio Shack stores for under $10
     excluding cabinet and power supply.  You may want to experiment
     with other receiver to computer interfaces. I would be interested
     in hearing about any you may come up with.

     To get into the receive mode, press <F10>.  This will move the
     cursor to the bottom window and any received code will be
     displayed.  Note that each time you go into receive, it will take a
     few characters for the software to adjust itself to the received
     speed.  There are no adjustments necessary.  The software seems to
     adjust well from 5 to about 35 wpm.  At slower speeds, (under 10-12
     wpm) you may find that the characters that are displayed are always
     separated by a space. This is due to the timing loops in the
     program.

     It is also not unusual to have anywhere from a couple characters to
     a couple lines of characters be displayed in the presence of high
     noise levels or static crashes.  It's tough explaining to a
     computer what QRM is!

     To exit from the receive mode press <F9> and you will be returned
     to the transmit mode.


     To exit the program press <F2> while in the transmit mode.  All
     settings will be saved and you will be returned to the DOS prompt.























     RS232C Port Pin Selections:

     While in the transmit mode, you may press <F8> to select or
     change the input and output pin selections for the RS232 port.
     When selected, a window will appear on the screen listing the
     possible transmit and receive pin connections.  Just enter the
     letter associated with your choice and the change will be made.
     The cursor will then wait for additional inputs. This allows you to
     change both transmit and receive at one time.  To remove the window
     press "X".

     The various pin combinations are to allow you to use the program
     with various TNC's or other interface hardware which may require
     specific pin usage.

     On transmit, the output pin is driven high (plus 15V) at startup
     and goes low (-15V) as characters are sent.

     On receive, the input pin is normally low and looking for a high
     (+15V) when data is received.


     To interface to most transmitters, you may use the circuit by
     WA6LOD in the February 1990 QST pg 36.  This circuit uses a single
     optoisolator (3 for $1.98 at Radio Shack).  The configuration is as
     follows:



     RS232 Sig Gnd (pin 7)____________
                                      |      4N28 , TIL111 etc.
                                  ____|_1__________________
                                  |   |                    |
                                  |  ---             ______|_5________
                                  |  \ /            /      |
                                  | -----         |/       |      To
                                  |   |     ______|        |    Positive
                                  |   |     |     |\       |    Key Line
              1 K                 |   |     |       \______|_4________
    RS232 ___/\/\/\______|/| _____|___|     |              |
     DTR   |             |\|    2 |         |  Optocoupler |    To Xmtr
   (pin 4) |            1N914     |         |              |     Gnd.
           |                      |_________|______________|
           |                                |6
        ___|___                             |NC
        _______  .01 uf
           |
  Comp ____|
  Gnd    __|_
  pin 1 / / /

     If you find you need an output which is the reverse of the above,
     low on positive inputs, just revers the 1N914 diode and the
     connections to pin 1 and 2 of the optocoupler.  This circuit will
     handle any solid state rig and can be used to drive a reed relay
     for use with tube type rigs.  Just tie the upper output pin from
     the opto to a 5V supply.  Connect a 5V reed relay between the lower
     output pin and ground.  Each time the computer keys, the relay will
     be activated.  Connect the Normally Open contacts from the relay to
     your transmitter keying circuit.






    Receive Interface:

       10 uf       _______
    _+_| |___ T 1 (    ___|AC__                      T1 = 1000 to 8 ohm
       | |   )| | (   | Bridge |________ + (A)            spkr xformer
             )| | (   | Recifier________                  8 ohm side used
    ___| |__ )| | (   |________|         - (B)            as input.
     + | |        (_______|AC
       10 uf


                      (A)____________       4N28 , TIL111 etc.
                                  ____|_1__________________
                                  |   |                    |
                                  |  ---             ______|_5________
                                  |  \ /            /      |          (C)
                                  | -----         |/       |
                                  |   |     ______|        |
                                  |   |     |     |\       |
                                  |   |     |       \______|_4________
                      (B)_________|___|     |              |         |
                                2 |         |  Optocoupler |       __|_
              + 12 V              |         |              |      / / /
              |                   |_________|______________|
              |                             |6
              \                             |NC
              /  2.2K     ___________________________
              \          |                          |
              /          |     ________________     |
              |          |    |                |    |
     (C)______|__________|__6_|                |_2__|
              |               |                |
              |    100K       |                |
              |__/\/\/\_____7_|     555        |_3_________________ RS232
                       |      |                |                    Pin 5
                       \      |     Timer      |
                   1K  /      |                |
                       \      |                |_4______    _______ RS232
                       /      |                |       |    |       Pin 7
                       |____8_|                |_1__   |    |
                         |    |________________|   |   |   _|_
                         |                        _|_  |   ///
                         |                       / //  |
                         |_____________________________|
                                                       |
                                                       |
                                                       /
                                                   10K \
                                                       /
                                                       \
                                                       |
                                                       |
                                                       +12V











                            PRO-CW (Version 1.0)


           Please register me as a PRO-CW user.  Enclosed is my check or
           money order for $15.00.  I understand I will receive a copy
           of the next release of PRO-CW when available.


          Name: ________________________________ Call ______________


          Address:__________________________________________________


          City:_______________________________ State:_______ Zip:__________



          Computer Type:________________________________

          Ham Gear Used: ________________________________________________


          ===============================================================

          Comments and Suggestions:

















          Please mail with your $15 registration fee to:

            Andrew C. Manti Jr. W1VL
            2 Deana Road
            Methuen MA 01844