


               MAKE A BACKUP COPY OF THIS DISK IMMEDIATELY!
                                   README.FAX


     These  programs are designed to work with IBM and  clone  computers 
using  8088, 80286, etc. processors. They provide WEFAX maps  and  pix's 
from  FAX FSK audio received on HF with a standard SSB  receiver,  using 
lower sideband reception. The schematic diagram for the simple interface 
used  between the receiver and the computer is shown in  Sept.,1991  QST 
magazine.  The  programs were originally developed on  a  Bondwell  B310 
computer  (an  80286 machine with 12 mhz. clock) so will work as  is  on 
this  machine.  Other AT configured machines with similar  clock  speeds 
will  probably  also work with minor adjustments in  timing  inside  the 
program.  Some of the programs will work on even such slow  machines  as 
the  PC  Jr. but with reduced performance. Since processing  speeds  are 
different  for  different microprocessors with different  clock  speeds, 
adjustments  will  generally be required. The main program  details  are 
contained  in a machine-language program which is accessed thru a  BASIC 
program.  This  allows the user to change timing,  thresholds,  etc.  by 
POKEing  values into memory locations by adding lines to the BASIC  pro-
gram.  All programs are configured for the most commonly  available  CGA 
display mode (640 x 200 graphics) except the VGA/SVGA advanced  programs 
covered  below.  Note that you call up BASIC (or GWBASIC) and  get   the 
BASIC  screen  prompts before LOADing and RUNning any  of  the  programs 
below. Also, if your computer doesn't default to the 80 column mode  you 
should command   a:mode co80   before calling up BASIC.

LOREZ

     This is the simplest program and uses every-other-line of  incoming 
FAX  data. It uses a total of 64 KB of memory, and has a  print  program 
which  economizes  on  paper (see Jan., 1988 QST for info  on  the  C-64 
version  of this). To activate it, LOAD from BASIC and RUN. With no  in-
terface  attached,  the computer will emit a 640 cps tone and a  1  sec. 
tick  and the screen will write a black line every second,  unless  your 
computer  has different port locations than the B310. For  example,  the 
program uses the COM1 serial port which on most XT, AT, etc. PC's is  at 
the  same  location---except the PC Jr. locates it  differently.  So  to 
modify the program for PC Jr. you must modify memory locations 474, 487, 
505,  and  1404  from  containing  3 to  containing  2.  That  is,  POKE 
474,2:POKE  487,2:,etc.  is added to LOREZ. Similarly, the  port  number 
where the output of the tone generator is available is the same for PC1, 
PC2,  XT, and the PC Jr. but different for the AT (80286) model  of  the 
PC.  So  to modify for the PC Jr., memory locations 477, 517,  701,  and 
1420  must be changed from 97 to 98. That is, POKE  477,98:POKE  517,98: 
,etc.  is  added to LOREZ. All of the programs reserve BASIC  lines  177 
thru 199 for these POKE mods (except the SKED programs which have marked 
lines reserved.)

     Once you get the ports straightened out and the machine is ticking, 
the  FAX audio is fed into the interface and you can tune around to  see 
what  kind of map you get. Tuning high gives darker, fuller  lines.  The 
black/white  threshold count is set at 58 for the B310,  and appears  at 
memory  locations 413, 446, and 2 times 58 = 116 at location  553. As  a 
first  cut,  raise  or lower  the 116 count by the ratio  of  the  clock 






speeds.  This  will  be exactly correct if your  microprocessor  is  the 
80286.  With  the PC Jr. (8088), I had to make  the  count  considerably 
lower  than that. Be sure the same count ratios are maintained   in  all 
threshold locations. Adjust until you get clear black/white delineations 
with  the modulated signal approximately in the center of  the  receiver 
passband  using location 553. Then put half that value in the other  two 
locations.  Note  that  you can LOAD and RUN the  program,  observe  the 
results  and hit H to HALT; then Q to QUIT back  to BASIC; based on  the 
results  you then retype a POKE line; and just RUN again without  having 
to  re-LOAD. Then when you get a satisfactory POKE value, just SAVE  the 
new program under your own file name.

     Now  to  adjust the line timing, note whether the  picture  top  is 
leaning  left  or right. If leaning left, the timing count needs  to  be 
increased  (or  vice versa). Only the fine tuning  counter  should  need 
adjustment.  This is at memory location 1438. If the count needs  to  be  
more  than 255, a 1.0 needs to be added to location 1439 for each  addi-
tional  256  counts. A coarse adjustment is available at  location  707, 
where each count is equal to a full pixel/line tilt.

     Another  change made for the PC Jr. which is not likely to  be  re-
quired  on many machines was to change the memory location where the  ML 
program is loaded to squeeze more pix space in the limited memory  space 
I had in my machine. First, you change the DEF SEG statement to point to 
the memory area desired (I picked DEF SEG=&H2000 for the Jr.). There are 
four memory locations where the MSB of DEF SEG (in this case MSB is &H20 
which  equals 32 in decimal form) must also be inserted:  namely,  loca-
tions  285, 725, 794, and 804. That is, POKE 285, 32:POKE 725,32:,  etc. 
is added to LOREZ after line 176 where the ML program, LO.ASM, is  load-
ed. One other timer is located at location 605. This controls the  "pic-
ture  leaning"  for  the portion beyond the first 200  lines  where  the 
screen  writing is bypassed and a delay equal to the screen  write  time 
must  be added. You first get the first 200 lines squared on the  screen 
and then scroll (D)own to see the lower part.  Adjust location 605 until 
this is also not leaning. To see how all the above is implemented  in  a 
typical  case  LOAD the LOPCJR.BAS program and see how the  POKE's  were 
added  between lines 176 and 199. Note that the last POKE into a  memory 
location  is  the  one which controls. The PCJR is an  extreme  case  of 
required modifications. Your computer is almost surely easier to do.

     Memory Location(s) LOREZ value    Description
     707                     128      Coarse line timing
     285,725,794,804         63       DEF SEG MSByte
     413,446                58       Bl/Wh threshold (synch.routine)
     474,487,505,1404        3         COM1(3) or COM2(2) select
     477,517,701,1420,535     97        Tone port.Use 98 for 8088 comps.
     553                     116      Map BL/WH threshold
     605                     184      Screen-write bypass timer
     1438                    114      Fine line timer
     1439                    0        MSB fine line timer (1=256)
 

MEMCHEK

     The following BASIC program can be used to find out what is  stored 






in any memory location in any of the programs:
     10 DEF SEG=&H3F00  'or &H2000 for PC Jr.
     20 INPUT"   What Memory Location";X
     30 IF X=1000 GOTO 1000
     40 Y=PEEK(X)
     50 PRINT"  Stored in this Location is:" Y

     60 GOTO 10    
    1000 END
To  exit,  you answer 1000. The procedure is to first LOAD  the  program 
(say  the  LOREZ program) and note it's DEF SEG statement.  Then  retype 
line  240  to become 240 END. Now RUN the program normally.  Instead  of 
executing, it will load the ML program and return to BASIC. Type NEW  to 
clear BASIC and then LOAD and RUN MEMCHEK with it's DEF SEG set to  same 
as  program. This can be used to initially see what is stored, and  also 
to recheck to see if your POKE's gave the desired results. Try this  now 
before reading  further.

HIREZ

     This  program stores every line of FAX data received. It gives  the 
highest resolution available from the total data. It is modified just as 
above in LOREZ. The significant memory locations are:

     Memory location(s) Value in HIREZ     Comments
     285,725,794,804         63(or &H3F)   Make same as DEF SEG MSB
     373                     218           Coarse line timing
     413,446,553             58            BL/WH threshold count
     474,487,505,1404        3             COM1--Use 2 for COM2
     477,515,535             97            Use 98 for 8088 computers
     605                     184           Screenwrite bypass timer
     606                     0             MSB for bypass timer (1=256)
     707                     109           line timer--fine adj.
     708                     0             MSB for fine line timer
     Now LOAD HIPCJR and look at it's listing to see a typical mod. with 
lines 177 thru 199 POKE's.Note that 553 is same as 413 and 446 in HIREZ.


14GREY.BAS

     The  gray  shade programs are complicated and difficult  to  adapt. 
Before  trying, get the HIREZ program working and particularly  get  the 
multiplying factor needed  for the thresholds (on your specific machine) 
determined  as accurately as possible. The easiest way to do that is  to 
tune in an unkeyed CW signal and center it in the receiver passband. The 
threshold  count should give a Black to White transition on  the  screen 
just as you tune the signal to the passband center. The count arrived at 
divided by the original count will be called the "Threshold Count Multi-
plier".  All  of the threshold counts in the 14GREY and  8GREY  will  be 
multiplied by this factor. 
     Gray shade processing is done on three lines of data at a time,  so 
the  timing  is done to align the three lines w.r.t. each  other  and  a 
separate  alignment of 3-line groups w.r.t. each other. The first  task, 
however,  is  to calculate all the new threshold values;  Black,  White, 
BL/WH,  and  Gray thresholds and POKE them in. If your machine  is  real 






fast  (>12 mhz), some of the gray values may exceed 255, which the  pro-
gram  will not accept.(There is one exception--locations 1712  and  1713 
contain the LSB and MSB of a larger  gray threshold, namely  188+256=444 
counts. This has the same multipliers applied as the other gray  thresh-
olds). To accommodate the faster computer you can divide the gray counts 
by  2  by the following two pokes: POKE 669,209:  POKE  670,232.    This 
extra  command allows the gray thresholds (only !) to be divided  by  2. 
Since you have already determined the port choices in HIREZ, they can be 
POKE'd in now. LOAD and RUN the program now to see if the machine  ticks 
away  at 1/2 second rate. If it doesn't, use MEMCHEK to be sure you  put 
POKE's  in  properly--one misplaced POKE can destroy the  whole  program 
operation. Be sure you've saved a copy of the original program. 
     Now  feed in FAX audio and observe the picture leaning to right  or 
left.  Memory  location 581 is the first coarse  adjustment.  The  value 
contained  here subtracted from 192 tells how many pixels worth of  time 
is needed for processing the 3 lines of data. As before, leaning left is 
fixed  by increasing the value in 581--each increase of 1 gives you a  1 
pixel every 3 lines corrective tilt. After the 581 value is  determined, 
subtract  this count from 192, divide the result by 2, round up  to  the 
next  integer and POKE this value in location 601. The fine  tune  timer 
for this coarse adjustment is in locations 1577 and 1578. 1577 can count 
up  to 255, then putting a 1 in 1578 adds another 256, etc.  As  before, 
lean  left calls for a larger count. Each count here gives  about  1/400 
pixel  tilt per 3 line group. The line timing for aligning the  3  lines 
together is at locations 593 and 594. 593 counts from 1  to 255 and each 
1  added to 594 adds 256 to the count. Similarly the screenwrite  bypass 
timer  which you learned how to adjust before is at locations  1079  and 
1080.  Another  timer  is contained at 1548 and 1549. This  is  used  in 
conjunction  with the pixel count in 581 to lock in the pix sync.  under 
ALL black, gray and white conditions. That is, if sync. lock is not rock 
solid  under  all conditions, 581 can be reduced by one pixel  and  1548 
increased  by a partial pixel (1 count = 1/400 pixel) to find  a  stable 
spot. This is checked by tuning over a FAX signal to full black and full 
white  and seeing if sync still holds after return to the  correct  fre-
quency.

Memory Location (value in location)         Comments
285,468,968,1217,1227   (63)               MSB of DEF SEG
1067,1618,1148          (64)               DEF SEG MSB +1
373                     (218)              LSB for 960 cps last ditch 
413,445                 (58)               BL/WH threshold for SYNC
463                     (3)                Make 1 to shut off speaker
477,515,535,1553,1559   (97)               Tone port-use 98 for 8088
474,487,505,1827        (3)                COM1-use 2 for COM2
593 (90), 594 (1)                           LSB,MSB align betw. 3 lines
581                     (141)              192-(141)=pixels skipped
601                     (28)               pixels skipped/2-round up
678(132),682(168),686(204),690(154),694(142) GRAY thresholds
698(185),1679(137),1683(176),1687(214)     GRAY thresholds
1691(161),1695(148),1699(194),1720(231)      GRAY thresholds
1712 (188), 1713 (1)                        LSB, MSB gray threshold
718,739,761,794,816,838 (48)               Black threshold--pixel
728,749,771,784,806,828  (73)              White threshold--pixel
1074,1241,1272,1318,1365 (200)             Number of screen lines
346                     (6)                Mode 6 =640x200






1079 (194), 1080 (1)                        LSB,MSB screen bypass timer
1548 (125), 1549 (0)                        LSB,MSB Sync solid timer
1577 (240), 1578 (0)                        LSB,MSB fine tune groups 3
669 (144), 670 (144)                        669(209),670(232) clocks>12m

8GREY.BAS

     This  program  differs  from the 14GREY to give 8  shades  of  gray 
instead of 14. It uses half the memory and is adapted for inkjet  print-
ers  which  "blotter" when two printer passes are used  for  14  shades. 
Memory locations are the same as 14GREY except for the GRAY, BLACK,  and 
WHITE thresholds. The timing alignment counts are slightly different and 
will need adjusting. The changed memory locations are:
Memory Location(s)      (value)                 Comments
     678(132),682(168),686(204),690(154),694(142) GRAY thresholds
     698(185),710(180),711(1),718(231)          GRAY thresholds
     723,744,766,797,819,841      (48)          BLACK threshold
     732,753,775,788,810,832      (73)          WHITE threshold

25GREY.BAS,13GREY.BAS

     25GREY  is  just  14GREY with dither added. 13GREY  is  8GREY  with 
dither added. They have more gray shades with less resolution. 

LOPLAYBK, HIPLAYBK, 14PLAYBK, 8PLAYBK

     These  are all programs that LOAD saved maps and pix's for  viewing 
and  printing. If you SAVE a pix in 14GREY it normally would  be  played 
back  in  14PLAYBK but it can be played back in 8PLAYBK if you  want  to 
print  it on an inkjet printer (or if you have a very fresh, wet  ribbon 
in  your printer). Be sure that  you reboot the computer before  you  do 
this  to clear upper memory. Note that all programs SAVE in 64  KB  seg-
ments.  This  was  done to allow you flexibility in  creating  your  own 
programs for scheduling multiple maps and storing them.

14SKED, 8SKED, AND LOSKED

     14SKED and 8SKED are two programs which allow you to schedule a mix 
of Maps and Satellite photographs throughout the day, store them on disk 
and Play them back for viewing and printing at a later time. If you look 
at  the  same maps every day  you can just use the same file  names  and 
write  right  over yesterday's maps. If you want them  stored  somewhere 
other  than  the default drive, just include the Path in the  File  Name 
(ie:File  Name  is a:36hour). Both programs use HIREZ for maps  and  the 
specified  Gray  shades choice for Pix's. A total of 5 pictures  can  be 
handled,  however, you can easily expand to more. The POKE's you  deter-
mined  for  HIREZ, 14GREY, and 8GREY to adapt to your computer  must  be 
added  to the SKED programs. BASIC lines reserved for this  are  marked. 
The lines where the machine language programs are BLOADed in have a poke 
added  to  them. This POKE causes the ML program to SAVE  on  disk  each 
picture just as it is finished. More exactly, it returns to BASIC  where 
the  next  BASIC  line commands a SAVE operation. LOSKED  is  a  similar 
program  for the lower resolution. If you have excellent S/N  ratios  on 
the  HF  signals, this gives minimum memory usage and  usually  adequate 
results.







MISCELLANEOUS

     With lower sideband you typically tune above the published frequen-
cies. For example, Norfolk NAVEASTOCEANCEN tunes correctly at 3358.4 Khz 
and 8081.4 Khz on LSB. The SVGA programs tune 300 cycles lower, but  the 
second generation SVGA programs 2STORE, 2SVGA. etc. tune at 8081.4 (note 
that published frequency is 8080 Khz.).
     Some of the published WEFAX frequencies are:
          Norfolk Navy:3357-8080-10865-16410-20015 Khz.
          Halifax,N. S.:4271-6330-9890-13510 Khz
          Mobile, Ala.:6852-9157.5-11145 Khz
          San Francisco:4346-8682-12730-17151 Khz
          Honolulu Navy:2122-4855-8494-9396-14826-21837 Khz 
     The  higher  resolution modes have a picture Shrink  mode  display. 
This is useful to see more of the pix with switchback to e(X)panded mode
being used to read the fine print. From the scroll mode, hit S then D to  
shrink.  You can only scroll Up and Down in this mode. When  you  scroll 
down  the map is made up of all "even" lines and then all  "odd"  lines. 
Watch what happens to horizontal lines and to small letters. This  gives 
a  very graphic display of what you lose when you only use  every-other-
line.  To  return  to  the  expanded  scroll  mode  hit  X(panded)  then 
D(isplay).
     Since  the  14GREY program pokes up against upper memory,  in  some 
cases resident programs which are stored there will be overwritten. When 
you  then print the picture, the upper memory residue may print out  (or 
overwriting the resident program may hang-up the computer). You can  set 
the print routine to terminate exactly at the end of the typical  satel-
lite  pix by POKEing the appropriate "printer passes" number  in  memory 
location  1411.  If you look at line 41 in 14PLAYBK you will   see  POKE 
1411,65. This number can be changed to fit your situation.

MORE ADVANCED PROGRAMS

     The  above programs were developed basically for  Laptop  machines. 
When we recently acquired an 80386 33 mhz. computer with a Trident Super 
VGA  card, we developed a whole family of programs for CRT display  com-
puters.  These include CRT versions of the above programs and also  high 
resolution multi-colored and multi-gray shade programs. With the ability 
to display 1024x768 pixels/pix with each pixel having the potential  for 
256  different colors or 64 different gray shades, you can  get  results 
comparable  to  any commercial WEFAX machine---needing only  the  simple 
clipper  interface and software. So far I have only used 16 gray  shades 
and  and 5 different palettes of colors. If you've been put off  by  the 
modifications to the programs described above, you should note that  the 
multi-color  programs  require an 80286 or beyond computer so  the  only 
general mod. required is just line timing to match your clock speed.

HIVGA, HICGA, HIVGA-U, HICGA-U, HIHGA, HIHGA-U

     These programs are mod's to HIREZ to adapt to CRT displays. When  a 
pixel has the value 1, it paints Black on an LCD display and White on  a 
CRT display. If you reverse HIREZ pixels for CRT, you must reverse  them 
back  when  you  Print to get proper  black-on-white  registration.  For 
example,  to change LOREZ for CRT, POKE 554,245 will reverse the  screen 






and  POKE 1032,155 will reverse the printer. These programs also have  a 
different  way of saving the images which gets around BASIC's 64K  limit 
for  BSAVE at the expense of easy flexibility in later  image  manipula-
tion.  HIVGA is made for 640x480 VGA CRT display. It can be adapted  for 
EGA  by  adding two POKE's; ie, POKE 346,15:POKE 1422,15  in  line  199.  
Note  that  these POKE's can go into any line located between  the  line 
with BLOAD in it and the line with CALL K in it. HIHGA is for a Hercules 
card,  720x348 CRT display. HIVGA-U, HIHGA-U and HICGA-U are  for  using 
USB reception of the  FAX signal. The computer's clock update  interrupt 
every  1/18 second gives a small decrease in the pixel count (worse  for 
slower clocks) which may change a white pixel to black if you are  tuned 
just  so. On USB the decrease will only affect black pixels  (which  are 
much  more  scarce).  So, if your maps are pockmarked  by  little  black 
dots,  retune or try the USB programs. This is not noticeable  in   gray 
shade  pictures. The interrupt can be disabled but this  destroys  clock 
accuracy  and scheduling. These programs can be adapted to your  comput-
er's  clock  speed.  etc. just like before with  the  modifiable  Memory 
locations being the same as listed in HIREZ above.

SKED

     This is identical to the  8SKED program above  but SAVE's each  map 
and  pix in a single file. SAVE.ASM does this job. You can make  a  SKED 
program for 14GRAY pix's yourself.

SEECGA, SEEVGA, SEE8, SEEHGA

     These  are  used for viewing, scrolling, and  printing  the  images 
created  by HIVGA, SKED, etc. The files for these are all marked by  the 
program with a .VGA, .HGA, .CGA, or .8 suffix so  are easily identified.

SVGA

     This is a really high resolution program with 1024 pixels/line with 
each  pixel  capable of 16 values. It is configured for a  33mhz.  clock 
speed  and stores the image in a RAMDISK file. Since you need  almost  a 
million  bytes for each satellite pix, it must go into extended  or  ex-
panded memory. Read your DOS book to learn how to create a RAMDISK  when 
the computer boots up (use D: as drive). The lower limit of clock speeds 
which  this can accommodate is about 16 mhz. This program  displays  the 
pix  as it is being stored if you have a Trident SVGA (with 1  mb.).  If 
you don't have the Trident card you can still use this  program to store 
the image (or STORE program below) and view it later using one of the VU 
programs  below. The Memory locations(values) are below.  All  threshold 
values are for 33 mhz. and scale down for lower clock speeds.

     Memory Locations       (Value)         Description

412(144), 444(144)                          SYNC BL/WH threshold

565(60),572(62),579(64),586(66),593(68)    GRAY thresholds
600(71),607(74),614(77),621(80),628(83)
635(87),642(91),649(95),656(99),663(104)

373                          (137)         Gross line timer







992(199), 993(3)                            LSB/MSB line timer. Count =
                                             (3)x256+(199)=967

839(0), 840(4)                              LSB/MSB SYNC SOLID timer

     See earlier program descriptions on how to modify these values  for 
different clock speeds.

     While  the previously described programs all store the data in  the 
first  640 kb. and hence are constrained as to where they  are  located, 
SVGA  and  all of the following programs use extended memory  above  the 
first  1  mb. to store pix data, so they can be located  more  flexibly. 
With  all of the resident programs around, this avoids having to  unload 
the  machine into a 'clean' configuration before WEFAX copying.  Unload-
ing, incidentally, can be done by keeping two autoexec files---one  with 
all  the 'lard' and the other with no resident  programs---renaming  the 
two files to fit what you are ready to do (that is, create  AUTOEXEC.WFX 
without  the  resident  programs  and  AUTOEXEC.REG  with  the  resident 
stuff--Mouse,   Windows,   etc.--and  then  just  copy  either  one   to 
AUTOEXEC.BAT  in the core directory and reboot). But the  programs  that 
follow are relocatable just by changing the DEF SEG statements in BASIC. 
So if your program hangs up due to overlap with a resident program, just 
move it (generally upward). Don't go above about DEF SEG=&h9000,  howev-
er.

VGA

     This  is  same as SVGA except that it is configured  for  VGA  only 
cards.  It is timed for 33 mhz. clock. Memory locations are the same  as 
SVGA  but  the line timer values are different (ie;  992(01),   993(00), 
373(131) ). It can be modified for EGA by adding a POKE after the  BLOAD 
'VGA.ASM'  line  of POKE 346,16. Note that if have both VGA only  and  a 
slower  clock speed you may do better to use the SVGA program  to  store 
the pix even though you won't be able to see it as it's being stored. Or 
better  yet try the STORE program below. Data pixels are sacrificed  for 
slower speeds at the pix edge and create a visible artifact. If you  are 
SYNCed, the resulting artifact will not be noticed. Try a non-SYNCed pix 
to  see the artifact. Timing and threshold modifications  (POKEs)  adapt 
this program for other clock speeds. Use MEMCHEK to see what's there.

SVGA-SLO

     This is configured for a 16 mhz. clock (which is too slow for  full 
rendition of colors).  Try the same thresholds for a 20 mhz. clock.  The 
memory  locations are the same as SVGA and VGA. You can use  MEMCHEK  to 
see  the values in these locations. That is, LOAD SVGA-SLO, then  retype 
line 240 to: 240 END, then RUN program. It will return to BASIC; so  now 
LOAD  MEMCHEK  and look at memory values. The thresholds  are  different 
from SVGA.

PVU, VGAVU, VU800600

     These  are for viewing the images stored by any of the  three  pro-
grams just described. PVU is the best and is configured for a Trident or 






Tseng SVGA card with 1 mb. It has 5 different palettes of 16 colors  and 
gray  shades. Since a full pix takes two screens, it has a (S)hrink  and 
(X)pand. The Shrink which displays a full  pix uses every-other-line  of 
data  so resolution is lost.To properly view, scroll, etc. a  pix,  COPY 
the  file  to  the RAMDISK under the title  D:PIX.WX  before  activating 
BASIC.  The program VGAVU is for VGA 640x480 display. It has 4  palettes 
and gray-shades. It also works for EGA. A number of the SVGA cards  only 
have capability and memory for 800x600 display. VU800600 allows these to 
display  the pix's. Here you select your video card from 9  choices.  If 
you  don't know, try all 9. Not all cards may use the VESA standard,  so 
they  may  not all work. After you find your choice you can  modify  the 
BASIC program  to just POKE that choice in. The VUing programs have  one 
color palette that can be changed from BASIC. LIST the BASIC program and 
observe the DATA statements. 16 groups of 3 numbers are the red,  green, 
and blue values for each of 16 levels. Change some of them and see  what 
happens. When you get a palette you like, SAVE it.
     
VUEPRNT, VGAVUPRT

     The  SVGA  programs can also be used to copy maps  and  with  their 
extra gray shades info are more readable. Try them with a color palette. 
If  you want to Print them after viewing, these two programs  give  that 
capability. VUEPRNT is for a Trident or Tseng SVGA, and VGAVUPRT is  for 
all  others. Scroll to position the printer starting point to the  upper 
left corner of the screen and hit P. Hit H to halt the printer.

SVGA-U

     This  is  SVGA  modified for USB receiving. It also  has  the  Gray 
thresholds compressed (closer together) so the pix has greater contrast. 
Look  at the Gray thresholds with MEMCHEK to see what was done. You  can 
do  the  same for other programs by using POKEs to see if you  like  the 
images better. Try tuning at increments of 100 cps at the time  to opti-
mize. Threshold spacing, absolute value, and tuning all interact. Timing 
and threshold memory locations are the same as SVGA.    

 STORE, STORE16

     These  programs just store the raw pixel count data as it comes  in 
without taking time to format the data for PIX viewing. As such they are 
the most accurate representation of the real data, and you can  tolerate 
slower  clocks.  The raw data can be stored (uses twice the memory of  a 
PIX) or you can immediately reduce it to a PIX file for permanent  stor-
age. With the raw data you can, after the fact, change tuning, contrast, 
and picture SYNC, and select what portion of the image you want to  save 
in a PIX file. This can be used to highlight and give higher temperature 
resolution  for  example in IR images. The timing memory  locations  and 
SYNC  threshold locations are the same as SVGA, but of course are  POKEd 
with other values. STORE16 is an example of modifying STORE for a 16 mhz 
clock  (STORE is for a 33 mhz clock). Try the different choices  offered 
in  the  program  to see what results. These  programs  include  both  a 
quickie  MAKEPIX followed by PVU for initially seeing what you have.  If 
you  only have VGA capability, you'll need to replace PVU.ASM  and  it's 
associated lines which select Trident/Tseng with VGAVU.ASM in the  BASIC 
program. In programs like STORE where we have used the same machine lan-






guage  program as before (TEST.ASM here) and modified it with  POKEs  to 
things  other than user modifiable timing etc., I have made these  POKEs 
with hexadecimal numbers. The user should not try to modify these  hexa-
decimal POKEs.

MAKEPIX

     This  program gives you all the choices to manipulate the raw  data 
to  give  you the kind of PIX file you want. The file created  by  STORE 
must  be  copied to a RAMDISK under the file name D:A.P for  MAKEPIX  to 
find  it. You can have the output PIX file from MAKEPIX go to  any  disk 
but  the most convenient place is the Default drive d: where you can  VU 
it  as  you try the options in MAKEPIX. Then you can copy  the  finished 
product  where you want it. A RAMDISK of 3 megabytes makes  manipulation 
easiest.  With DOS 3.3 you can get this by adding a line  to  CONFIG.SYS 
of:    device=c:\dos\ramdrive.sys 3072 512 64 /e
You,  of  course, need 4 Mb of RAM. This will boot-up  a  fresh  RAMDISK 
every time you reset the machine.

SMALLPIX

     When you first make a pix with SVGA, VGA, or STORE it will store as 
a memory file of a certain size. You may find some small part of it that 
you want to save or make a copy of for a friend. This program allows you 
to select out just what you want to save and creates a new smaller file. 
It  uses VGAVU for VUing since this works with all video cards from  VGA 
up,  but  the finished file can be viewed from any  VUing  program.  You 
scroll  to  where you want to start the new file, select  no.  of  lines 
desired, and execute with key F10. The smaller file can now be copied to 
wherever  you  like. This can also be used to smallerize  the  64  color 
pictures of MAKE64SH below, but since there is only 1 pixel/byte  (MAKE-
PIX has 2)if you want a 768 line pix, you tell it 1536. The 64 shade pix 
will be fuzzed up on the display but you can still see enuff to position 
it.

EASYCGA, EASYVGA

     Some  of  my friends complained about having to POKE  memory  loca-
tions,  so I made these programs so all you have to do is  answer  ques-
tions about your computer and the program sets itself. Results are  like 
HIVGA and HICGA, except the clock update interrupt dots mentioned  above 
are  avoided  and the SYNC and B/W thresholds are independent  of  clock 
speed.

2STORE, MAKE64SH, PVU64

     These programs give full 64 color/gray shade capability. 2STORE can 
also  be used to make 16 color PIX's with MAKEPIX---in fact the  quickie 
output from 2STORE is a 16 shade PIX. All Black and grey thresholds  are 
selectable, so you can get very good resolution of temperature differen-
tials  in IR maps particularly with the MAKE64SH. PVU64 allows   you  to 
see 64 gray shades and to tap all 256 colors for highlighting Gulfstream 
eddies, etc. Try 1,2,3,4, and 5 with C used to step one color at a  time 
for  interesting results. Or use the (G)ray display and step C to  paint 
the highest clouds and step thru the gray shades. You can even see moun-






tain  ranges in visual Pix's when sun angles are right. The line  timing 
on  2STORE is same as STORE with the timing memory locations  being  the 
same  as  SVGA.  All  of the thresholds are  independent  of  the  clock 
speed,so only line timing needs adjustment.

1STORE, 2SVGA

     These  programs  are second generation versions of STORE  and  SVGA 
which give the same 16 color performance, but should give better results 
at the lower clock speeds since their gray shade measurements are  inde-
pendent  of  clock speed. Line timing still needs adjustment  with  same 
memory locations as SVGA.
       
RAMDISK

     If  you can't make your RAMDISK D:, you can change the programs  to 
use  another letter. On SVGA, VGA, SVGA-U, SVGA-SLO, STORE, and  STORE16 
look  at BASIC line 198 for instructions. In MAKEPIX, look at line  155. 
All  other  programs  allow for any drive designated. You  may  want  to 
change the Defaults, however.

SAMPLE PIXes

     I  have included one map sample, 36HRC. LOAD HIPLAYBK in  BASIC  to 
view  it.  Then there are satellite photos which are identified  by  the 
suffix .PIX and can be viewed with the VU programs. The suffix .P  indi-
cates  a raw data file which MAKEPIX can reduce to a PIX.  I'll  include 
what will fit on the disk you send.

TROUBLE-SHOOTING

     The most common problem is caused by two programs trying to  occupy 
the  same space. The resident programs are usually the problem.  I  have 
taken  some liberties with DOS protocol which makes these programs  more 
susceptible. The usual result is a hangup or other weird behavior  which 
can  only  be  cleared by re-booting. The earlier  laptop  programs  are 
relocatable  with difficulty (see LOREZ for PCJR example). The  programs 
from SVGA on are easily relocated by just changing the DEF SEG statement 
(no  POKEs  required). It's easier to remove the  resident  programs  as 
described above with two AUTOEXEC routines.
     If the SVGA programs when executed just turn on the tone but it  is 
not  ticking, you have failed to establish a RAMDISK which  the  machine 
can find. If your RAMDISK isn't named D: see above to find how to modify 
the program to another letter. On the programs prior to SVGA a tone with 
no tick may be due to inadvertent key depression. You can stop the  data 
recording  (which the tick coincides with) by hitting any key. A  second 
hit  restarts  it.  Holding down the start key, G,  too  long  sometimes 
results in both starting and stopping the recording.
     If  you don't want the tone-with-tick audio cue, it can  be  turned 
off in the earlier laptop oriented programs by adding POKE 463,1 and  in 
the advanced 16 and 64 color programs by adding POKE 467,1. This can  be 
conveniently appended to the BLOAD line in each BASIC program.
     If  you  set a schedule time that has already passed,  the  machine 
will wait until tomorrow to GO. Use 24 hour time in scheduling.
     Often on satellite PIXes, the SYNC period doesn't occur. There is a 






SYNC bypass on the later programs. You'll have to reboot on the  earlier 
programs--or wait for the next map  SYNC.  
     Some of the clone BIOS's don't support all of the palette  options. 
I  have  included a GRAY palette in the 1,2,3,4 VGAVU  sequence  to  get 
around that.
     You're  sure  to put a POKE in wrong at some point  and  the  whole 
program will blow up. Be sure to keep backup copies. I encourage you  to 
make  copies of this disk for others--but without all the mods you  have 
done to customize it for your machine.                                     
 
MISCELLANEOUS

     In February, 1991 I sent an initial manuscript to QST which covered 
the  laptop programs. By June, I had concluded it might never  get  pub-
lished,  so  I wrote another article with the newer SVGA  stuff  to  try 
other journals. QST did come through with a commitment for Sept.  before 
I  followed  through on the second  article. Since these  articles  have 
more  technical  info in them than I was able to get in  QST,  they  are 
included on this disk for your perusal as ARTICLE1.TXT and ARTICLE2.TXT. 
Use--- a:read article1.txt--- etc. to see them. They are rough drafts  ! 
Since  it takes so much time to get stuff published, I would  appreciate 
your passing along word (and disk copies) to your friends who are inter-
ested  in  weatherfax. Note that these programs are  not  SHAREWARE  but 
FREEWARE  so please DO NOT send me any money. On the other  hand,  ques-
tions  you  want addressed MUST include SASE. I will be on  an  extended 
sailboat cruise from Oct 15, 1991 to April 15, 1992 except for a 3  week 
Christmas  return on December 15. There will be someone at home to  send 
out  disks but any questions should be sent to fit my schedule at  home. 
You may also be able to contact me on the Waterway Net, 7268 khz between 
0745  to 0845 eastern local time if I'm in range. I have tried to  cover 
as  wide a range of machine capabilities as possible, so almost any  IBM 
clone  will  find some program it can  use. A surprising number  of  so-
called IBM or DOS compatible machines exist which are not clones at all. 
For  example, the SHARP PC-5000 has completely  different  architecture, 
BIOS, etc. I did spend many months figuring it out and a STORE-and-PRINT 
program using its 24-pin internal printer is included as PC5000.BAS, but 
please  don't ask me to do that for another machine. Also I have  little 
or no info on which machines are true clones. I have made mods. so these 
programs work with AMI and Phoenix BIOS's.  
     I'll  try to cram some PIX files on this disk, but it  will  neces-
sarily  be limited since they use so much memory/pix. If you  want  some 
SVGA files (720 kb) or STORE files (1.6 mb), send me HD disks with  SASE 
mailers.  It might be easier to build the interface and make  your  own, 
however ! 
     While I won't have time to develop new programs until next May,  if 
there  are other things you would like, let me know and with  sufficient 
interest I'll try to help.
     And finally, I just got a commitment from QST to put an SVGA  color 
PIX in the November issue. Don't send for another disk--this is it !     
   
                                                  Have fun,
                                                  Ben, K3BC



