                      Ontario QSO Party Logging Programs

Greetings!

This is the readme file for the Ontario QSO Party Logging Programs. As there
are now four programs I should probably start calling it something like the
'OQP Logging Suite'.

You should have the following files:
README.TXT     The file you are currently reading
CHANGES.TXT    A summary of all changes/additions since the first release
CONFIG.EXE     The configuration program you use before the contest
OQP.EXE        The logging program you use during the contest
POST.EXE       A post processing program for use after the contest
LOGFIX.EXE     A program to fix log files or update previous years files
OQP.DAT        A data file required by both of the above two programs
SUMMARY.DAT    An additional file needed by the post processing program
SAMPLE.SUM     A text file containing a sample summary sheet
MASTER.SUM     A text file containing a sample master summary sheet
PREFIXES.TXT   A file showing the list of multipliers used by the program

You should verify that you have all of the file listed above. If you are
missing any of the files you should check the official web site for the OQP
Logging Programs and download the latest version.

The official web site for the Ontario QSO Party Logging Programs is currently
http://www.interlog.com/~kcozens/software/oqp/. You should check this site
before the contest weekend for news of any known problems with the software
or to obtain the latest release. Alternatively, you can check the ODXA web
site (http://www.odxa.on.ca/) for information on the Ontario QSO Party and
for a link to the official web site for the OQP logging program (in case the
first link changes).

If you use these programs, you are required to send your QSL card (or a
postcard no larger than 4"x6") to me (Kevin Cozens, VE3SYB) either via the
QSL bureau or direct (using the address on QRZ.COM). The card should list
your name, call (if applicable), and city or region of the world in which
you live. The cards will only be used to let me know how many people are
using the programs, and in which parts of the world it is being used. The
cards also provide me with motivation to continue development.

The existance of this collection of programs is mainly due to Bob Chandler,
VE3SRE, who administers the annual Ontario QSO Party (held around the end
of April or early May). While talking to Bob one day, he commented that it
would be nice to have a logging program specifically for the OQP and perhaps
I could write one. His comments stuck in the back of my mind for a while until
I eventually decided I would give it a go. As luck would have it, I didn't
make the decision to try my hand at creating a program until about three weeks
before the 2000 contest. There is nothing like self-imposed tight deadlines to
get one motivated. :-)

I wasn't sure how many people would be interested in such a programs so I
decided to create it as a DOS program that could run on just about any
80x86 based computer. This was in part due to the short time frame and to
be able to make the program available to as wide an audience as possible.

It was a somewhat intensive 3 weeks of coding but it paid off with the
public release of a program just in time for that years contest. The
program had all the key features expected in a logging program. Namely,
saving contacts to a file and optionally printing them as they are
entered, dupe checking, showing a list of multipliers worked/needed per
band, a running calculation of ones score, and sending of CW messages.

I developed the program on a Pentium II machine running Windows '95 using
DOS-based tools running in a DOS window under Windows '95. I used a library
of routines that I had created around the mid-1990's to handle all of the
tasks related to screen display and user input. Without that library I would
not have been able to get the program as far along as I did given the time
frame I had. The programs were written in C using a Borland C compiler and
(as of the 1.04 release) consist of about 9,476 lines of C source and data
in 24 files (not counting the screen display and user input library).

I operated in the 2000 contest as VE3ODX (one of the 10 point bonus stations).
I used a 486-based laptop and other than a couple of minor problems the
program held up. Since then the development machine has been switched over
to Windows ME. I have learned that Windows ME doesn't multi-task programs
in a DOS window as well as Windows '95 resulting in the CW generated by
the logging program being rather choppy. If you intend to use the logging
programs ability to send CW, I suggest you use either a DOS only machine,
or one running Windows '95. The programs have not been tested with Windows
'98.

I have tried to make the program efficient in terms of the amount of RAM
needed to keep track of contacts and stations. With only 512k of RAM the
program should be able to handle around 3,000 unique STATIONS (not QSO's).
With a maximum possible 17 contacts per station (based on band and mode)
this means a maximum of around 51,000 QSO's. With 640k of RAM, the limits
go up to around 4,300 stations or to the current limit of 65,535 QSO's.
A unique station is based on a combination of both the stations callsign
and its multiplier. If you work a mobile and they change county they will
be considered a new station the next time you work them.

The program can be used by stations both in and out of Ontario. When you
enter the multiplier you will give to all contacts the logging program will
know if you are an Ontario station or not and which stations and multipliers
will be valid for you to work.

The program NEVER deletes a log file so you don't have to worry that you
might press the wrong key and accidentally wipe out a log file. Contact
information is flushed to disk immediately in an attempt to reduce the
chance of lost contact information in the event of an unexpected power
failure.

Logs made during a contest are expected to be based on the UTC (or GMT)
date and time. If the clock in your computer is not set to UTC (or GMT)
time, you either need to set it to UTC date and time or you can set the
timezone environment variable before running this program. To set the
timezone you need to set the TZ environment variable either in the
autoexec.bat file for the computer or at the DOS prompt before you run
the program. The command to set the timezone is of the form:
    set TZ=EST5EDT
This example will work for stations operating in Ontario or in the Eastern
time zone.

Some of the documentation needs to be improved or brought up-to-date to
reflect recent changes and additions. Changes being considered for future
versions would allow full customization of colours (for colour blind users),
support for monochrome screens, and the creation of a proper manual.

I encourage you to try using the programs. Even if you don't use it during
the contest you can use it after the contest to help you check for duplicate
contacts and to prepare your summary sheet(s).

The usual disclaimers apply to this program. Use it at your own risk, etc.
It seems to work for me and a number of others that have tried it but your
mileage may vary.

I welcome feedback on the collection of programs (preferably constructive).
Tell me what you like (or dislike) about the programs, send stories "from
the field" of the program in use, or just drop me a line to let me know you
used it. Information on the hardware and operating system you used and the
environment (fixed station or mobile/rover) would be of interest to me as
well. I can be reached via the e-mail address at the bottom of my web page,
via my call sign @rac.ca, or by postal mail at the address in the callbook.

See you on the air during the weekend of the OQP.

Kevin Cozens
VE3SYB

-----

The following keys can be used when entering data in the program. Some of
the keys (ie. up and down arrows) are only valid while editing CW messages.

     +----------------+------------------------------------------+
     |    Edit Key    |              Edit Operation              |
     +================+==========================================+
     |HOME            | Position cursor to start of field.       |
     +----------------+------------------------------------------+
     |END             | Position cursor at end of field.         |
     +----------------+------------------------------------------+
     |Left Arrow      | Move cursor to the left  (in a field).   |
     |Right Arrow     | Move cursor to the right (in a field).   |
     +----------------+------------------------------------------+
     |Ctrl-Left Arrow | Move cursor left one word  (in a field). |
     |Ctrl-Right Arrow| Move cursor right one word (in a field). |
     +----------------+------------------------------------------+
     |Up Arrow        | Move up one line.                        |
     |Down Arrow      | Move down one line.                      |
     +----------------+------------------------------------------+
     |INS             | Toggle between overwrite and insert mode.|
     |                | Default mode is overwrite.               |
     +----------------+------------------------------------------+
     |DEL             | Delete character under the cursor.       |
     +----------------+------------------------------------------+
     |Backspace       | Delete character to left of cursor.      |
     +----------------+------------------------------------------+
     |TAB             | Move to next field or move down a line.  |
     |Shift-TAB       | Move to previous field or move up a line.|
     +----------------+------------------------------------------+
     |Ctrl-X          | Clear the entire field.                  |
     +----------------+------------------------------------------+

-----

     One possible wiring suggestion for an interface between a computer
     and a radio or morse key/keyer that can be used with the program.

                      +---------------> Morse key
                      | C
                  B |/
   RTS or DTR >-----|   2N2222
                    |\
                      | E
                      +--/\/\/--+
                          1 K   | 
          GND >-----------------+-----> GND

     RTS is pin 7 on a DB-9 or pin 4 on a DB-25.
     DTR is pin 4 on a DB-9 or pin 20 on a DB-25.
     GND is pin 5 on a DB-9 or pin 7 on a DB-25.

