Contents of the DXER133.DOC file
19279 Santa Ana Ave
Bloomington, CA 92316
i. Release History
Version 1.0 Initial Release
Version 1.1 Fixed a few small bugs. Program now works
correctly with Monochrome monitors.
Version 1.3 Fixed minor bugs in menuing system and FOT
9/3/90 calculations. MUF and grayline functions run
MUCH faster (approx twice as fast on MUF, ten
times as fast on Gray Line). You may now
choose either six digit (Maidenhead) or four
digit Grid Square designations. This is done
in the initial config. setup.
Version 1.31 Fixed really dumb bug in grid locator function
11/3/90 when using six digit designations.
Version 1.32 Fixed even dumber bug in bearing-distance
11/16/90 function. Where do these things come from?
Version 1.33 Another bug. This one properly belongs to
1/11/91 MicroSoft and QuickBasic 4.5. Prevented
correct printing of custom bearing-distance
Tables. Also minor optimizing speeds up MUF
and Sunrise/set calculations by 10 to 15 percent.
The DXer concentrates several functions of interest to the
serious DXer into one (hopefully) easy-to-use program.
A: Bearing and Distance from Transmitter to Receiver.
Path ends may be selected by Lat-Lon, Grid Square,
Prefix, or by browsing through the data base.
B: Sunrise and Sunset times for any location
C: Maximum Usable Frequency and Frequency of Optimum
Traffic between any two locations.
D: A listing of all locations sharing a common terminator
line (Gray Line).
E: Prints custom bearing/distance charts for any location.
F: A grid locator function using either six digit or four
digit coordinate system.
E: A complete data base of all ARRL countries as well as
other locations around the world. The data base shows
latitude, longitude, continent and CQ zone of each
location. Entries may be easily added, deleted or
2. SYSTEM REQUIREMENTS
IBM PC, XT, AT or close clone with 384k minimum memory. A
math coprocessor is highly recommended although not
required. If you have no coprocessor, be prepared to wait
several seconds for the Gray Line and MUF calculations.
Monochrome, CGA, EGA, VGA monitor. You may have some
readability difficulties if you use a composite b/w monitor
with a color board, since there is no way to disable color
with this combination.
One 360K floppy drive. All data is kept in memory so,
except when loading or modifying the data base, there is no
real advantage to a hard disk. If you have one, by all
means use it.
This program was developed on an 8MHz IBM AT and a 10MHz
clone. The program has been tested on an IBM XT with mono
and CGA monitor, 8MHz, 10MHz, 12Mhz and 16 MHz '286 machines
with EGA and VGA, and a 16 MHz '386SX with VGA with no
problems. It obviously runs a lot faster on fast machines.
There is no machine specific code in the program so it
should run on any 100% BIOS compatible.
A Printer is not required but, if available, many of the
data tables may be printed.
The program is written in MicroSoft QuickBasic 4.0/4.5 with
a few routines in assembler and contains approximately 3000
lines of code. The algorithms used in some of the
calculations were extracted from many sources and I make no
claim of originality for them except for the implementation
The program was written for my own use and to become
proficient in the QuickBasic language and represents
literally hundreds of hours of programming time. I am
releasing the program into the public domain for individual
use and enjoyment only! Permission for any commercial use
is expressly denied.
Please feel free to upload or otherwise distribute copies of
The DXer. If you find this program to be useful, a small
($10 or so) donation would be appreciated, however, if you
choose not to make a donation, go ahead and use the program
with a clear conscience. I doubt if I'll lose any sleep over
4. PROGRAM DESCRIPTION
The program is completely menu driven and is generally self
explanatory. A couple of items to remember:
a: When entering latitudes and longitudes, use decimal degrees,
not dd,mm,ss format. Precede latitudes south of the equator
with a minus(-) sign. Precede longitudes east of Greenwich
with a minus(-) sign.
b: When running the program for the first time, you will be
prompted to create a Configuration file. You will need to
know the Latitude and Longitude of your station, the
formfeed code (decimal) for your printer, and your summer
time change system to create the config file. Once the file
has been created, it may be changed at any time from the
FILE UTILITIES menu.
If no printer is available, the BEARING TABLE function will
not show on the main menu and the print function will not
show on the PROPAGATION FORECAST and SUNRISE-SUNSET
c: Two copies of the database file and the configuration file
are maintained by the program. If the main file is damaged,
simply go into DOS and rename the main file to some other
name then rename the backup file to the primary name. The
program will create a new backup file.
d: When running the program, the active keys are shown at the
bottom of the screen. Pressing an inactive key will
generate a beep from the computer.
e: A moderate amount of error checking is done on any user
input although some types of errors are impossible to trap.
If you make a mistake on entry, use the backspace key to
f: From any menu, use the up and down cursor keys to move the
highlite bar. Press the Enter key to select.
g: The Escape key will always back up to the previous logical
h. The program reads the system clock for local time and
converts to UTC as required for calculations. If you don't
have a real-time clock be sure to set your system clock
using the DOS Time and Date functions before running the
DXer. The Program recognizes Daylight Savings Time and
European Summer Time. DST begins on the first Sunday in
April and Ends on the last Sunday in October. EST begins on
the last Sunday in March and ends on the last Sunday in
September. If your location does not observe one of these
time changes, enter "N" at the appropriate prompt when
creating your Config. file. If some other time schedule is
observed at your QTH, you will have to make your own
correction by resetting your system clock.
5. MENU DESCRIPTIONS
Shows both short and long path bearings and distances from a
transmitter location (most often your home QTH) and a
receiver location. The receiver location may be specified
by prefix, latitude/longitude, grid square, or chosen from
the data base.
When selecting by prefix, all locations with a common prefix
will be shown. When searching for a prefix common to many
countries (i.e. VK), use the (C)ontinue Search key until you
find what you are looking for or exhaust all entries in the
When using the Select option, you will see the whole
database in tabular form. Use the cursor movement keys to
browse through until you find the desired entry. Press the
Enter key to select.
B: PROPAGATION FORECAST
Transmitter and receiver locations are selected as above.
MUF calculations are by the MiniMUF '85 algorithm with an
initial hop length of 4000km. Actual hop length and number
of hops are changed by the program so that the path between
transmitter and receiver is an even number of hops. Since a
4000km hop length is very difficult to achieve due to the
extremely low radiation angle required, the program will not
extend the hop length beyond 4000km for calculations.
The FOT calculations are based on the calculated MUF with
corrections based on absolute sunspot number, UTC time, and
season. FOT will generally be somewhere between 80 and 90%
The calculated values from the program have been checked
against the output from several other programs available in
the public domain as well as the propagation curves
published monthly in QST. The plotted curves are in general
agreement although I have not observed point by point
agreement between any two programs. The output from The
DXer seems to agree reasonably well with observed
propagation conditions on the bands.
Since the ionosphere has a long time constant, a 5 to 10 day
smoothed (average) solar flux number will generally give
more believable numbers. No allowance is made for disturbed
conditions since I have yet to see an algorithm to do this.
If I ever find one, I will certainly add it to the program.
The radial MUF calculations are from a transmitter location
to receiver locations at a given distance from the
transmitter on bearings from 0 to 350 degrees from the
transmitter. Maximum number of hops is 5 (20000km).
C: SUNRISE-SUNSET TABLE
Calculates sunrise and sunset times for the selected
location over any one month period. The first calculation
is always for the current month.
D: GRAY LINE
Calculates sunrise and sunset for all locations in the data
base and displays those locations whose sunrise or sunset is
within plus or minus one-half hour of the transmitter
location sunrise or sunset.
E: BEARING TABLE
If you have a printer this routine will print a custom
bearing-distance table from any location to all locations in
the data base. The printout will be in Prefix order and
includes all countries on the ARRL DXCC countries list as
well as any other location that you include in the data
F: GRID LOCATOR
This function is mainly useful by you VHF types out there.
Grid coordinates use either the six digit Maidenhead system
(i.e. DM14AA) as described in the RSGB VHF handbook or the
four digit system (i.e. DM14) more commonly used in the
states. You may identify a grid square by entering the
latitude and longitude or may enter the grid square and
calculate latitude and longitude in which case the returned
values will be the center of the specified grid square. If
the entered coordinates should fall on the dividing line
between two or more squares, the identification will default
to the square to the north and/or west of the entered
G: FILE UTILITIES
Allows you to maintain the data base. You may add new
records, delete records, or edit existing records. If you
change the data base in any way, the unchanged version is
saved as the backup file on disk. The data base is
maintained in order sorted by prefix.
This function also allows creation of the configuration
file. The config file contains your home latitude and
longitude, preferred grid square system, summer time change
system, and your printer formfeed code.
Well, that's about it. I've pretty well debugged the code but there
is no such thing as a bug free program if it contains more than a few
lines of code. If you find any significant bugs, drop me a note on
the back of a QSL and I'll fix it.