A Short History of
[Larry "Tree" Tyree N6TR, creator of the
TR LOG contest
logging software, reflects on the creation and early history of
TR LOG. These comments were originally posted on the TR LOG
email reflector in 1997 and 1998.]
Tree Tyree N6TR
In 1988, I made a presentation at the ARRL National Convention
which was held in Portland, Oregon. I discussed some of the
pitfalls that the computer presented when used as a logging tool.
I believe I said something like "Computer loggging will never be as
efficient as paper logging."
Nevertheless, I started developing TR LOG in 1989, when I decided two
things within milliseconds of each other on a Sunday afternoon:
(1) to operate the All Asian CW Contest that next weekend, and
(2) to use computer logging software for the first time.
I thought about using CT, but decided anything that made you type the
call, then hit the INSERT key to start sending CW was just too crazy.
So, I created a prototype and had it running around midnight on Thursday.
I then won the contest and had the "CT" experience. I even called my
160 meter JA buddies by name. I had long cables to my headphones and
would go into the kitchen or bathroom while the program was auto-CQing.
I would run into the room and hit the J key ASAP when I got a response
(to stop the next CQ from starting.) The program was perfect for this
as the rate was often 30 per hour.
I proceeded to add things and optimized the program for the California
QSO Party - which I operated from K6NA - winning and setting a new
record. I had relays set up so I could switch to CW on the other rig
and start a CQ with a single keystroke.
The Z80 Microprocessor
The program did its first CW using an external Z80 processor.
The Z80's program was downloaded over a serial port, it was started
up, and then commands could be processed from the serial link to
send CW. The Z80 also supported some CW reading commands which
interfaced to an AEA CP-1, and also some basic radio control
commands for a Kenwood TS-430.
This was the hardware setup for the Z80 op, which still
claims to have made the first totally automated QSOs in a contest (during
the 1986 ARRL Field Day.) The first implementation for TR LOG ran on the
same hardware, and borrowed many of the basic routines from the
original Z80 op code.
Next came the ARRL November Sweepstakes, more changes and optimizations,
and a top ten finish from W7NI. After that, I did the CQ 160 Meter Contest
from WN4KKN's QTH in Texas, and together, we wondered how I was ever going
to get back to the All Asian software, as the program had been changed
so much - that going back was going to be tough.
So, I borrowed the idea of a configuration file from my brief exposure
to UNIX, and tried to make the program as user programmable as possible.
This was a gold mine, as the program structure is really clean and I
can make changes very quickly - and with minimum impact to the other
funtions. There is very little "spaghetti" code. Adding a new feature
typically involves adding a new entry to various case statements (Pascal's
equivalent to C's switch statements.)
Shortly after the CQ 160 Meter Contest, I ended up in Europe for fourteen
months with more free time than I could use up operating at 4U1ITU, so this
is where a large part of the program was written. I still remember working
on the exchange format descriptions for the manual while resting in bed after
a lawnmower accident I had just before returning to the states - it was
hard work figuring out all those details. I added computer generated
CW to the program - using a 286 laptop for both development and
testing. Ask N6ZZ about how long it took to download a new version
of the program at 2400 baud from Europe.
TR LOG being used in the ARRL November Sweepstakes
While the program is written in the "archaic" language of Pascal, it
does have five or six Objects in it, using the extensions that Borland
added in their Borland Pascal version 7.0. There are about 50,000
lines of Pascal code for TR LOG, and about 35,000 for POST (many of them
are the same units however.) There are about 100 lines of assembly
language code still used just for fun.
I learned Pascal back in 1982, when working for Dennis K6OVJ (also known as
NB6U, N6FU and now K5YA.) They had developed a test system for T1
lines between telephone central offices, and were using a software
consulting company (started with four guys from my previous company.)
The project I was hired to do was cancelled (after I convinced them
it wouldn't work) and I needed something to do. So, I took over the
project and did nothing but programming for a couple of years. It
was one of my most productive periods with a similar pattern of
adding new features. I would often stand at Dennis's office staring
off into space and would say something like: "Do you think there
would be any value in doing this...?" Then I would go do it.
Tree N6TR on the cover of the|
June, 2000 issue of CQ Magazine.
I consider myself to be a simple programmer - trying to take the simple
approach, instead of the confusing approach. I believe in the long run,
this is the best way to develop software as typically you spend ninety
percent of your time maintaining code. In this case, I probably spend
I have learned some tricks from K2MM who has helped me with some of the
more tricky parts - like how to sort the TRMASTER data quickly. John
is one of those brilliant programmers whose words I only hope to half
understand most of the time. He is always challenging me to do the
right thing instead of the simple thing. There are still a couple of
procedures in the code that he has written, and I don't touch. He is
even brilliant enough to write in Pascal if I make him.
[At the 2000 Dayton Hamvention
Contest Banquet, Tree Tyree N6TR was formally inducted into the
CQ Contest Hall of Fame.
He continues to innovate and develop the
TR LOG contest logging software.]