




          Please stop right now and make a backup copy of these programs 

     on a floppy disk. And activate the Write Protection on that disk !!



                SSTV/FAX480/WEFAX SYSTEM for IBM and CLONES

                     Copyrights 1993, 1994 Ben Vester   



          This system includes a receiving and transmitting program  for 

     Amateur  Radio  Color Slow-Scan TV and FAX480 and  a  receive  only 

     program for high resolution weatherfax. The so-called SSTV as being 

     used  today is really nothing more than color facsimile, so all  of 

     these systems are alike in that only one image is transmitted at  a 

     time and they all use 1500 hz to 2300 hz as limits for the  modula-

     tion  audio. The system is basically software-based, with the  only 

     hardware  required  being  a very simple  audio  clipper  interface 

     between  the receiver and the computer's serial COM port. The  com-

     puter  facsimile  input and output to the  amateur  transceiver  is 

     transformer isolated to avoid grounding and noise problems. Details 

     of the interface are contained in Sept. 1991 "QST" and in Jan. 1994 

     "QST".  There was an error in the schematic in the Jan. 1994  arti-

     cle, however. The Transmit audio comes out of the Serial  interface 

     on  the  RTS pin, NOT the CTS pin. That is, the  Transmit  coupling 

     capacitor  connects to pin 7 on a 9-pin connector, NOT pin  8.  RTS 

     comes  out  on pin 4 on a 25-pin connector. An early draft  of  the 

     1994 article is contained on this disk under filename,  ARTICLE.TXT 

     and should be read for other needed information.



          Doing  all of the fax demodulation in the computer requires  a 







     80286 or higher class of computer with higher clock speeds  helping 

     the  quality of the images being transmitted and received.  All  of 

     the  programs  except  the Wefax program could be  handled  in  the 

     minimal  640 Kb. of RAM but to get any reasonable speed in  manipu-

     lating the images after reception a minimum of 1 megabyte of RAM is 

     needed.  For  copying Wefax, 4 Mb. is needed for easy  copying  and 

     manipulation. 2 Mb. is  almost enough to copy a full pix. A RAMDISK 

     should  be created on your computer before trying to run  the  pro-

     grams. Just add a line to your CONFIG.SYS file as follows:

     

     For 1 Mb. system:    device=c:\dos\ramdrive.sys 368 512 64 /e



     For 4 Mb. system:    device=c:\dos\ramdrive.sys 3072 512 64/e

          If  you must coexist with Windows (uses 2 mb.) 3072  is  2048. 

     With  less  memory, you can use batch files  (described  below)  to 

     remove Windows from CONFIG.SYS and AUTOEXEC.BAT when you are  using 

     SSTV.



     When you reboot the system take note of what letter designation the 

     computer  assigns to the RAMDISK as you will need to tell  the  fax 

     program  what that is. Now if you only have 640 Kb of RAM  you  can 

     use  the hard disk "c" as the designated drive but it will be  very 

     slow  in  manipulating  the color images and won't work at  all  on 

     Wefax. Even a floppy drive can be designated but it will be ridicu-

     lously  slow.  High resolution color pix's with 3 bytes  per  pixel  

     require  a lot of memory, so the old PC's with minimal memory  just 

     won't hack it.









          Timing  is extremely critical in decoding the fax  modulation. 

     We use the computer's TIME clock and since it is needed   full-time 

     during  the actual copying, you may have to sacrifice  other  time-

     related  functions while using  the programs.  Also, since we  need 

     both  the TIME clock and most of the memory for our  copying  task, 

     the program may not work properly if your system is loaded up  with 

     TSR resident programs, particularly ones that use the TIME timer or 

     occupy  any  appreciable  memory . This is a  common  problem  with 

     programs using SVGA graphics and I notice that my 8 year old grand-

     son  has already learned how to unload the resident  programs  from 

     his  computer in order to get his favorite game programs  to  play. 

     Some  resident programs may look like small memory users  but  they 

     often  use the TIME clock continuosly, so they may  interfere  with 

     the  timing functions in the program. This depends on how fast  the 

     computer  is. If it's very fast, it may accommodate both  functions 

     without interference. For example, with my 33 mhz 80386 computer, I 

     can  accommodate  the excellent screen saver,  "BLANK-IT",  without 

     interference.  With a slower computer, that might not be  possible. 

     When I use my Computer Eyes/RT frame-grabber, however, I even  have 

     to remove the screen saver. These resident programs can be  located 

     in  your  AUTOEXEC.BAT file for your perusal. The  easiest  way  to 

     remove them and add them back is with two batch files,  STARTTV.BAT 

     and  STOPTV.BAT.  First, you copy the present AUTOEXEC.BAT  into  a 

     AUTOEXEC.REG file. That is:

                         c:>copy autoexec.bat autoexec.reg



     Then you create an AUTOEXEC.TV file that only contains the absolute 







     minimum (ie, NO resident programs). The STARTTV.BAT will consist of 

     one line:              copy c:\autoexec.tv c:\autoexec.bat

     After  you  run  STARTTV.BAT, you reboot and are ready  to  go.  To 

     restore  the  computer to normal, use STOPTV.BAT with  this  single 

     line:           copy  c:\ autoexec.reg c:\autoexec.bat

     You,  of  course, could just type the single line  each  time,  but 

     using the batch file minimizes your chances of losing your  present 

     AUTOEXEC.BAT  file information. If you  have Windows installed  and 

     are working with limited RAM, you can add the CONFIG.SYS changes to 

     eliminate Windows temporarily to these same START/STOP batch files. 

     Once  you  have the system working, you might want to  add  back  a 

     screen  saver for use with TV and see if it messes up your  system. 

     Another  DOS resident program that is extremely useful to  speed-up 

     the  continuous file manipulations in this program is SMARTDRV,  so 

     try to squeeze it in. SMARTDRV, unfortunately, does interfere  with 

     the  two  big memory programs that copy data directly to  the  RAM-

     DRIVE,  namely, Wefax and Mode 96 ColorFAX. You can avoid  that  by 

     excluding your RAMDRIVE. If, for example your RAMDRIVE is "d"  then 

     add  a  modifier to your AUTOEXEC.BAT  as:   SMARTDRV.EXE/-d:    to 

     exclude the d: drive.  

          A  new source of troublesome "TSR" programs have shown  up  in 

     some  of the newer 486 machines. These are actually "wired  in"  to 

     the  system  (in ROM, I presume) and are turned ON or  OFF  in  the 

     selection panel for CMOS. In particular, the transmit function  has 

     been affected by some of these. While the receive program only uses 

     the  TIME clock, the precision needed for the transmit can only  be 

     obtained  using  the processing speed. We calibrate  the  processor 







     speed  against the TIME clock and then use the processing speed  as 

     the reference in the actual generation of the transmit output. This 

     then  becomes susceptible to varying processor speeds due to  proc-

     essor  cache, etc., so  these functions need to be turned  off.  We 

     have made a transmit program which only uses  the TIME clock but it 

     has much more jitter than the mechanization we picked. Almost every 

     function  that typically goes in as a "TSR" uses the TIME clock  to 

     trigger it's periodic status check. Even the common EMM386 has been 

     reported  as causing a problem. Once you eliminate  these  "jitter" 

     sources   by  turning  them off, however, you  will  have  transmit 

     stability  that will match anything available.  See  Experimenter's 

     Info below for further details on more obscure transmit problems.

          The  programs  were developed for use  by  the  experimentally 

     inclined radio amateur. It uses GWBASIC to interface with the user, 

     so you will need a copy of GWBASIC.EXE (note:some have tried  using 

     GWBASIC  that was used on Tandy machines and it did not work.  I've 

     used  versions 3.22 and  3.23, both created for true IBM  clones.). 

     The guts of the program are contained in machine language  programs 

     which are called up by the BASIC program as needed. To  accommodate 

     the  wide  variety of modes, the system parameters are  changed  by 

     inserting  POKE's in the BASIC program, a different set  of  POKE's 

     being  used  for each mode. This allows experimenters with  only  a 

     modest  amount of skill in BASIC to create new modes, or  adapt  to 

     additional  modes  that others have created. Even if  you  have  no 

     previous  experience with BASIC, I recommend you LIST out the  pro-

     grams  and  study them to find how easy it is to make mods.  I  have 

     even included some motivations--like getting your own call sign  on 

     the pix you transmit, instead of my call sign--to encourage you  to 







     learn  a  little  about hexidecimal numbers, about  2  color  image 

     formation, and about changing the program.

          To call up the frequently used programs directly from the  DOS 

     line you can use simple batch files. For example, to LOAD in GWBAS-

     IC, then LOAD in VU.BAS, and then RUN the program, you can create a 

     batch file, VU.BAT, with a single line:

                         gwbasic.exe vu.bas

     Now  you  just  type VU on the DOS line to access  the  program.  A 

     number of these batch programs are included on this disk.  

          Each  of  the programs has a fairly good description  of  it's 

     operation on the opening screen, so you should read both that  data 

     and the data below to fill out your understanding. Also each  BASIC 

     program is supported by one or several machine language files.  You 

     can identify these by looking through the BASIC listing to find the 

     BLOAD  command   followed by the name of the .ASM file.  These  ASM 

     files must be in the same directory as the BASIC program so it  can 

     find them. I recommend you make a separate directory (ie; c:>MD  TV 

     and then c:>CD\TV) and copy all the files into that directory.

          In the different programs described below, you are often asked 

     to  hit certain keys. The program assumes you are keying the  lower 

     case  letter,  so make sure that you don't have the CAPS  LOCK  on! 

     They are capitalized in the writeup strictly for  emphasis.



     VU.BAS                

          You need to find out how to see pictures on the screen  before    

     you can do anything, so we'll start with the viewing program. First 

     activate  BASIC;  ie, c:\tv>gwbasic.exe  and then  when  the  BASIC 







     screen  comes  up  LOAD"VU.  You actually  hit  F3  and  then  type 

     VU---right here is where you can go astray and why you need  backup 

     copies.  If  you  inadvertently  hit F4  instead  of  F3  you  will 

     SAVE"VU---which  means you will save a blank sheet under the  title 

     VU.BAS, writing right over the real VU.BAS program---another reason 

     it  helps to use batch programs for normal use. Now hit F2  to  RUN 

     the  program.  Read the first screen and then select the  mode  and 

     give the file name of the sample picture. Note that the mode suffix 

     to  the  filename is added by the program. If you add it  too,  the 

     computer  won't be able to find a file with a double suffix, so  it 

     will just return you to BASIC (you'll get Ok on the screen when you 

     return to BASIC) when you answer all the questions. The program  is 

     still  loaded, so you only need to hit F2 again and try  to  follow 

     the instructions this time.

          The Video Card is the next selection to be made. If your  card 

     doesn't  appear in the first 6 choices, then you'll make  choice  7 

     and go find yourself a VESA driver for your card. If it's a  recent 

     card  it  may  even meet the VESA standard without  a  driver.  The 

     drivers are a product of the board manufacturer and you may already 

     have  it  on a Utility disk that came with the card.  I  understand 

     that  BBS: (416)729-4609 has a collection of drivers if  you  can't 

     get  one from the manufacturer. The driver gets loaded  before  the 

     program, so you can add it as a first line in the VU.BAT or  RT.BAT 

     or AUTOEXEC.TV batch file for convenient operation. Be sure to  try 

     all  7 choices before looking for a driver since card  names  don't 

     always  reflect  the name of the SVGA microchip used in  it.  Also, 

     there are different microchips in the same name boards, so  there's 

     no  guarantee  the  most common one I used for  this  program  will 







     necessarily  have  the  same software commands.  Some  recent  SVGA 

     programs  even include a collection of drivers to select from.  The 

     card type is often shown in the first message when you boot up  the 

     computer or you can go to the DOS directory and type: 

                       C:\DOS>debug                  then type in a dump

                       -dC000:0000

     You may need to hit d again to dump the whole message on the right, 

     but  this  will often tell you the origin of the  video  card.  Try 

     dumping at D000:0000 and E000:0000 if C000:0000 doesn't work.

          A  more direct way to find out the card parameters is to  call 

     the  computer  manufacturer's software assist line. The  card  must 

     support  640x480 with 256 colors (requires 512K video  memory)  al-

     though  a  limited  capability is possible  with  640x400x256  (see 

     Experimenter's   Info  below). Pix MODES.M1 exercises  the  640x480 

     capability while SAMPLE2.94 only needs 640x400 so you can use these 

     to  explore  your card's parameters. Trident cards with  1  Mb.  of 

     video memory are available mail-order for less than $50 so you  can 

     easily  upgrade. To use the full capability of the  Trucolor  (16.7 

     million  colors) capability now incorporated into this system,  you 

     should go ahead and upgrade to a Trucolor. At revision  D time  you 

     can  get  640x480x16.7 million colors in a  Diamond  Speedstar  PRO 

     ($100) or Cirrus Logic ($70) boards which are fully VESA compatible 

     and available in both VLB and  ISA (to fit the older systems). 

          A  couple of people have reported trouble getting  their  VESA 

     cards  or drivers to paint a full picture. I ran into this  problem 

     myself with a recently acquired Diamond Speedstar Pro which used  a 

     Cirrus  Logic video processor chip. We have added a  Bank-Switching 







     parameter,  BS, to  the SYSTEM CONFIGURATION which   gives  another 

     dimension of control. If the picture paints only part way down  the 

     screen,  increase BS. If it goes all the way to the bottom  of  the 

     screen and starts re-painting, decrease BS.

          When you select the wrong video card, the program will  faith-

     fully  load the picture into the video buffer but no  picture  will 

     result.  After  a short wait for the picture loading,  hit  Q  (for 

     Quit) and  you should get the BASIC Ok  displayed. Hit F2 to re-RUN 

     the program and try the next video card selection. While the  video 

     cards  in my two computers are well behaved and don't hang  up  the 

     computer  when sent the wrong choice, this may not be true for  all 

     cards.

          Once  you get a picture, play with the scroll commands to  see 

     what  happens. Moving up and/or left initially will move  the  file 

     pointer outside the file and give peculiar results, so move down or 

     right  first.  The  arrows work for slow scroll and R  and  L  give 

     larger scroll increments (in the special case of the Robot 36 mode, 

     the  R stands for Reverse and will reverse the blue and red  colors 

     if  you happen to start copying on the wrong line--it  actually  is 

     scrolling  but  the  scroll increment is chosen to  be  one  line). 

     Scroll through the color frames with R and see what  an out-of-sync 

     picture will look like. You can scroll it right back in  sync.  Now 

     try the color registration keys, C and X. to see what they do. When 

     you  finish, go on to the next program, or maybe at this point  you 

     want  to  change the Default choice for the video card to  be  your 

     card.  LOAD the program and LIST 2000-3000  to see the SYSTEM  CON-

     FIGURATION  list.  The  first item sets the video  card  choice  to 

     either be automatically set to whatever you choose in the next line 







     (2030)  or  you can leave it in manual so you answer  the  question 

     about  the  card every time you view a picture. The  BR  brightness 

     parameter  is like the Color level control on a TV, and it and  the 

     TU tuning parameter are only applicable to the Robot modes. Setting 

     TU to 1 will give you retune capability in 10 cps increments  which 

     allows best resolution in setting the color balance (or hue)  using 

     the  F and G keys (note that the F stands for Frequency tuning  and 

     the  G stands for Greener). The next  item is the picture  trimming 

     parameter,  PT, which you may want to change occasionally.  If  you 

     have  a  pix with trash still showing on the right  edge,  you  can 

     raise  PT to trim more off the edge. You can change  the  parameter 

     and  RUN the program without SAVEing it or you can make the  change 

     permanent by SAVEing it. The final item, EX,  allows you to  expand 

     the  pictures that have less bytes per line, such as Martin  2  and 

     Scottie  2, to fill the screen. This aggravates any copying  anoma-

     lies but gives the more correct perspective for these modes.  Since 

     these  modes send only about 1/2 the bytes and use 1/2 the time  of 

     Scottie 1 and Martin 1, their fidelity is inherently worse, partic-

     ularly in less than optimum conditions.

          Note  that the card parameters you have determined for  VU  as  

     described  above  will be transferred to most of the  programs  de-

     scribed below.



     RT.BAS

          This  will be  the most used program, since you will  spend  a 

     lot   more  time receiving than anything else. To view  the  SYSTEM 

     CONFIGURATION for the program activate BASIC as described above and 







     LOAD"RT.  Now LIST (hit F1) 3000-3500. Move the cursor up  to  line 

     3030  where  the video card selection is made and type  in  the  VC 

     selection  you found worked in VU.BAS. Hit ENTER and then  move  the 

     cursor back to the bottom of the screen.       

          The RAMDISK designation that is stated on the screen when  you 

     boot the system will be inserted in line 3050. Most likely it  will 

     be "D", unless you have extra disk drives. The COM port you  select 

     will be noted in line 3170. Set TC=0 in line 3250 if you only  have 

     a  256  color board. After making the selections, move  the  cursor 

     into  the  clear and LIST 3000-3500 to make sure you got  what  you 

     wanted. Note that when you change anything in a line on the screen, 

     you  must hit ENTER to actually change it in the program.  Also  be 

     sure  to  move the cursor in the clear before hitting  any  of  the 

     Function  keys. Now SAVE the program as RT.BAS. Some of  the  other 

     CONFIGURATION items may need to be changed later.

          You  are  now ready to check out the interface box  with   the 

     program.  Plug in the interface to the selected COM port  and  feed 

     audio  from the receiver into it--noise will be OK. Hit F2  to  run 

     the program and select mode 6 and ENTER. Normally the program  will 

     wait  until it receives a header before it begins to copy.  But  if 

     you miss the header, you can bypass that step by hitting  SPACEBAR. 

     In this case, with noise or voice audio, you'll need to bypass  the 

     header start, so hit SPACEBAR. If you get a tone with a tick super-

     imposed  on  top  of it, you know that the system  is  copying  the 

     incoming signal. If nothing happens or you get a steady tone  with-

     out any tick, the fax audio isn't getting into the serial port. You 

     could have plugged into  the wrong COM port (surprizing how confus-

     ing COM port numbering is!) or the audio  may not be getting to the 







     interface.  You'll  have to reboot the computer if  you  can't  get 

     audio  in to start the copying.  (A few people have gotten to  this 

     point and got a single interrupted tone and the computer hangs  up. 

     This  occurs  when  you try to use a Tandy GWBASIC.)  The  tick  is 

     fairly  brisk,   about 2 per second. If it is very slow,  you  have 

     some  resident program interfering or you may be trying to run  the 

     program  from Windows. Windows slows processing  down  drastically,  

     so  the timing-critical   transmit and receive programs  cannot  be 

     run  from Windows.  The most common problem with the  interface  is 

     wiring  errors. The pin numbers on the opamp seem to get  mixed  up 

     with  the pin numbers on the COM port plug. The Wefax  choice  (99) 

     will tick away even if the interface is not connected, so don't let 

     that fool you. If the Wefax doesn't tick but gives a constant tone, 

     you  forgot to create the RAMDRIVE and insert it's  designation  in 

     line 3050. 

          Once you get the machine ticking, let it run for 30 seconds or 

     so  and  then hit H (for Halt) to stop the copying.  The  tone-tick 

     should stop and after a brief delay, you should get an image on the 

     screen---in this case it will be multi-colored noise. After looking 

     at  the image, you hit Q  (for Quit) to exit the image. You can now 

     choose  to SAVE the image, retransmit  the image, transmit  another 

     file,  or  return to BASIC where you can hit F2 to  setup  to  copy 

     another  picture.  The major keys to remember  are  SPACEBAR  which 

     bypasses the frame sync and starts the ticking, then H which  halts 

     the  ticking and advances you to a picture, and then Q which  exits 

     the picture. You should now be ready to copy real pictures. 

          Tune to 14230, the most used SSTV frequency and carefully tune 







     in the voice of a transmitting SSTV station to make it sound  natu-

     ral. If you have pass band tuning or other methods for shifting the 

     received  passband,  move the passband to attenuate the  lows.  The 

     lowest  frequency  used is 1100 hz. When the station  announces  it 

     will  send  a  certain mode, select that mode  quickly  and  ENTER. 

     Different  modes  have different  header lengths---AVT  and  FAX480 

     headers  are quite long before they start the picture. The  picture 

     copying  should start properly synchronized. On everthing but  AVT, 

     this   should be almost immediately after the fax audio begins.  If 

     no  ticking starts (give it 6 full seconds for the long  header  on 

     AVT pictures), you missed the header so hit SPACEBAR to bypass. Let 

     the copying run until the machine turns itself off (or if you tuned 

     in  late you may need to Halt when the picture ends). It then  will 

     display what it copied. The pictures are intentionally offset  just 

     a  little to facilitate easy scrolling to position the pix  exactly 

     if  you choose to SAVE it or retransmit it. Use the right arrow  to 

     drop  the trash off the left edge of the picture and then  use  the 

     fine step left arrow to just bring the trash back to the left  edge 

     (look  at the right edge to see what you are doing). The  trash  on 

     the right will be trimmed off by the VUing program. If it is a  256 

     line  picture  (Scottie, Martin, etc.), it will have  16  lines  of 

     shades  of gray display so you'll want to scroll down  to see  what 

     fell off the bottom of the screen (there are only  240 lines avail-

     able  on the screen). The transmit program adds the 16 line  shades 

     of  "gray" display to whatever file it is asked to send, so if  you 

     don't  scroll down before saving or retransmitting you'll  transmit 

     two such displays and less picture. (Actually, we transmit a shades 

     of red and shades of green display since the gray looks incongruous  







     with  all the other pretty colors. This was promptly reported as  a 

     "fault" by some folks. C'est la vie !). To facilitate scrolling the 

     shades of gray out of the picture, the key D (for Down) will  scroll 

     you down at 8 lines per hit.  

          If  the  picture mode was a Robot mode the  three  frames  are 

     different  widths  (the  chroma frames are 1/2 the  B/W  frame)  so 

     scrolling  affects  the color registration--you scroll to  get  the 

     proper color registration. Then you use keys F and G to retune  the 

     signal in 10 hz increments to optimise the color balance. The Robot 

     modes  are  critical to tuning and deteriorate more  rapidly  under 

     poor  conditions so on average don't expect to see  equivalence  to 

     Scottie modes. 

          When  you SAVE a pix or retransmit it, DO carefully scroll  it 

     so the trash on the left edge of the picture is JUST BARELY off the 

     left  edge  of  the screen. The transmit program is  based  on  you 

     having done that.

          Occasionally,  some  one will send a pix in a  mode  different 

     from  what  was announced. Let it go ahead and copy  and  after  it 

     shuts  off you can go to BASIC, LOAD VU.BAS and click  through  the 

     mode  choices using the d:a.p default file name to find  the  right 

     mode.  The picture probably will be skewed slightly, but you  don't 

     lose the whole thing.

          Make  a  practice  of listening to the fax  signals  and  soon 

     you'll be able to tell what mode it is with the tick rate being the 

     most  recognizable  feature.  The AVT's  have  a  very  distinctive 

     "triple  chirp" beginning (VIS code repeated 3 times)  with a  pro-

     longed  count down to start and finally the pix starts with a  more 







     irregular  sound.  It doesn't appear justified to me  for  the  AVT 

     modes  to spend six seconds on the header. As the number of  people 

     using color fax grows, you can expect some attrition of modes  that 

     do not use on-the-air time efficiently. The AVT's don't waste  time 

     on line sync's but then they blow it on the header.

          This program was in the development cycle when WB8DQT came out 

     with his FAX480. It was easy to add this mode to the software, so I 

     did.  He only had 16 shades of gray--my 64 shades processing  gives 

     truly  photographic  quality to this mode. Unfortunately,  he  suc-

     cumbed  to the "header syndrome" and loaded up what is a  very  good 

     mode with another excessive header (based on unattended  commercial 

     fax  machines). I rebelled at this and decided not to make  another 

     header  decoder but to just wait until most  of the 20 empty  lines 

     in  the header were finished to hit SPACEBAR to start it  manually, 

     so that's how you have to manually acquire the FAX480 pictures. The 

     empty  lines are readily recognizable by ear. If he had just put  a 

     VIS  header  like Scottie on the front end, and  called it  a  high 

     resolution B/W SSTV mode, it would have worked great and would have 

     been  more welcome on 14230. The obsession with starting "in  sync" 

     every  time comes from paper type fax systems. With a  CRT  system,  

     the occasional out of sync condition just requires a little scroll-

     ing. As described below in ANOTHER MODE,  we have a VIS version  of 

     this mode now.

          When  you're finished with the picture, hit Q to go back to  a 

     selection screen. You can retransmit the picture directly from  the 

     d:a.p file where it is stored. Or you can SAVE it.

          You'll be very happy about now if your computer is at least as 

     fast as mine, and it's TIME clock loses exactly as many seconds per 







     day as mine does. If that is not the case, you will have seen  some 

     slant to the sides of  the picture and maybe even some  break-locks 

     on  the sync (looks like someone cut the photo and slid the  bottom 

     half to the left). The parameters which affect these things are  on 

     the SYSTEM CONFIGURATION list (LIST 3000-3500). If you have a  slow 

     computer  it may have bad breakup---if that is the case,  start  by 

     doubling  the  sync  window (SW). If there  aren't  too  many  sync 

     breaks,  ignore them for now and concentrate on adjusting the  line 

     timing, LT, first. Since the Navy Wefax is on the air all the  time 

     (on  USB on frequencies 3354.9, 8077.9, 10862.9 and 16407.9  Khz.), 

     that might be a good choice to set first. Choose mode 99 and answer 

     the questions  or accept the default choices. This is the only mode 

     that  offers a choice of manual start. If you choose  AUTO-SYNC  in 

     this mode as in all other modes you can bypass it by hitting SPACE-

     BAR  if  the SYNC doesn't  show---which happens more often  in  the 

     Wefax transmissions. Scroll the image to put some vertical line  in 

     the picture against the edge of the screen. If the top leans right, 

     lower LT99 and vice versa. You can converge on the right value more 

     quickly  if you use a ruler to measure and record  the  out-of-true 

     across  the top of the screen for each value of LT you try. If your 

     screen  aspect is the same as mine, the formula for the  correction 

     is  1125 TAN X, where X is the angle off vertical. Or if you  count 

     the pixels you are off by at  the bottom of the screen, the correc-

     tion is about 1125/240 times the pixel offset. That is, measure the 

     pixel offset and multiply it by 4.7.

          The most popular mode on 14230 seems to be Scottie 1, so  that 

     will  be a good SSTV mode to align first. PLEASE DON'T  ask  people 







     to  just transmit for your alignment use. Take whatever gets  sent. 

     Once  you determine what the exact correction for  one mode is  you 

     can  calculate the correction for all the other modes. The  correc-

     tions will tend to scale with line lengths (ie, the bytes/line)  so 

     you  can get very close by taking the correction for one  mode  and 

     adjusting  it for other modes. For example, the Scottie 1 mode  has 

     878  bytes/line. If we found that it's line timer, LT3, had  to  be 

     increased  by 25 counts, then the Martin 1 (915 bytes/line)  timer, 

     LT7, would be increased by 915/878 times 25 = 26 counts. For refer-

     ence  the bytes/line for each mode is: (1)306 (2)614 (3)878  (4)568 

     (5)768  (6)960 (7)915 (77)465 (8)745 (9)546 (99)1024. You may  need 

     to  do  a little more trimming on these calculated values  for  LT. 

     Reports  from other users indicates the calculated corrections  are 

     usually  right  on target, however. PLEASE DO take the  trouble  to 

     make  the pictures exactly square on receive as any skew you  leave 

     in will be transmitted to the world every time you send a  picture. 

     In  Revision D we have added a simple program, LINETIME.BAS,  which 

     will calculate the exact line timing numbers for all modes when  it 

     is fed the corrected timing for the Scottie 1 mode, LT3. Fortunate-

     ly, the exact same timing numbers are used for transmit, so you can 

     get your transmit alignment done without even transmitting. Believe 

     me, the people on 14230 will appreciate that courtesy.

          I have read a suggestion on one of the BBS that you use a tape 

     recorder to copy a picture off the air and then play that back  for 

     alignment.  While most audio recorders aren't stable enough,  using 

     the audio channel on a reasonable quality VCR is useful.

          While most people operating on the non-Robot modes have pretty 

     accurate  line timing, the Robot modes as mechanized  on  different 







     systems  vary all over depending on how many updates  a  particular 

     station has. You can use the non-synchronous modes, (11) for  Robot 

     36  and (22) for Robot 72, on receive to avoid having to align  the 

     Robot LT's but eventually you'll want to retransmit a Robot pix and 

     it would be desirable to have determined the synchronous  (ie,crys-

     tal-locked)  alignment---on modes (1) and (2)---with an  up-to-date 

     Robot equipped station like W5ZR or N4OBQ. Note that LT1 is exactly 

     1/2 of LT2 so you only need to experimentally align one. The calcu-

     lated  value for this correction on Robot will be far  better  than 

     you'll  get  by trying to align to just any station you  happen  to 

     hear. I heard a lengthy exercise on 14230 recently which illustrat-

     ed  how NOT to do this. A station with this system asked  W7---  to 

     send him a Robot picture so he  could align his  LT (which is a no-

     no).  The  W7 was using a Pasokon which has different  line  timing 

     from  the Robot systems (on the Robot modes and the Wraase 96),  so 

     the  frequency was tied up for an extended period of time  aligning 

     to the wrong standard. Remember the SSTV frequencies are like giant 

     party-line phones with many people listening and waiting to send or 

     copy  pictures. Move your extended chit-chat to other  frequencies. 

     Since  almost  everyone has resigned themselves  to  copying  Robot 

     modes  using  Line-Sync due to the wide variety  of   timings,  the  

     benefits  of  crystal locked  reception of the Robot will  only  be 

     available  to  those who bother to set their timing  to  the  Robot 

     standard, and is communicating with a station who has done the same 

     thing.  When  making these LT adjustments, note that  if  you  pick 

     anything  but the BASIC choice when you exit the picture, you  will 

     lose any temporary changes you have made to the CONFIGURATION list. 







     When  you get perfectly square pictures, SAVE the program with  the 

     latest  LT value. The program will only accept values for LT up  to 

     65,535. You start over with 0  if you need greater numbers.

          After aligning LT, if you still have any sync breaks, you will 

     need  to  lower the Gross Timer. The process here is  identical  to 

     trying to fit tiles into a fixed size room. We've squared the  room 

     with  LT. We have a few hundred tiles  (pixels) to squeeze  into  a 

     room  which has a fixed size (LT) and if the tiles are  too   wide,  

     the  last tile will  run into the wall  and break sync. The  number 

     for GT represents the width of each tile  (pixel). Decreasing it by 

     1  will slice one microinch (microsecond) off of every   tile.  You 

     can slice several microinches off each tile  (maybe decrease GT  by 

     5)  so you're sure it  will fit but that may leave an ugly  gap  at 

     the  edge  of the floor. You can cover that over with trim  at  the 

     edge  of  the floor, but if you copy the picture  out-of-sync  that 

     ugly gap moves into the middle of the floor (picture). So you  want 

     to  make GT low enough to eliminate any occasional break  locks  but 

     not so low as to leave an ugly gap which will show up when you miss 

     sync  on a picture. If your computer is very fast, the  measurement 

     accuracy  for  each pixel (tile) will be more precise, so  you  can 

     stack the pixels with less gap at the edge without having the  risk 

     of  running into the "wall" set by LT. If you have sync  breaklocks 

     that  seem  independent  of the GT value, you need  a  larger  Sync 

     Window  (SW). The SW represents the amount of time in  microseconds 

     it takes the computer to decide if  it's at the LT "wall". Obvious-

     ly, a slower computer needs more time.

          You  may ask why we chose to use only one pixel  (tile)  size, 

     GT,  to fit all these different modes (rooms) with  different  line 







     timing  (widths).  It  was just a matter of  convenience.  You  can 

     further  optimise  the  system by using a  different  GT  for  each 

     mode---in fact, with the deterioration you might get from a  slower 

     computer, this could be quite worthwhile. You will note that we  did 

     use a different GT (GT99) in the Wefax mode.  Remember, the way  to 

     see this effect is to copy a picture out-of-sync and look carefully 

     at the results at the parting line and on either side of that  line 

     look  at the color registration. Since the AVT modes have  no  line 

     sync period in which to hide this "gap", the effect is more notice-

     able there.

          People  who have not seen SSTV pictures are usually struck  by 

     the  fact that many of them are noisy--in fact, anything  you  hear 

     (noise,  splatter, QRM, etc.)will be painted into the  picture.  So 

     high S/N ratios are needed for flawless pictures. Narrowing the  BW 

     will  help  some, but at some point will smear the  picture  bytes. 

     Another  source  of noise was found by KY1S in a  serial  interface 

     board  (made by Data Technology Corporation) which he  changed  out 

     for  another board he had which was clean. I have heard of  several 

     other  cases  since then which were solved the same  way.  Opinions 

     have been heard that this is more common on the newer, more compli-

     cated,  boards. The effect varies from a few flecks in the  pix  to 

     very noisy pix even with very strong signals. These I/O boards  are 

     very  cheap  ($10 to $15) but finding which ones work  may  take  a 

     little  research on the air. NF4K reports PT-606 as being  a  quiet 

     card  and M10-16 and UN-1072 as being noisy. AA7GU reports  UN-1072 

     as  being  noisy. He replaced it with a very  clean  board,  D.F.I. 

     model MIO-400 KF Rev. F. This board also got rid of a computer  RFI 







     problem  he had with his mouse connected. K2HTO reports  his  Tandy 

     2100, SX25, installed I/O board had much noise. A card from a local 

     supplier (G.C.S. tel:(800)845-6225---board is stock no. C9806)  was 

     completely  clean.  General indications are that  the  simpler  I/O 

     cards work best--cheaper is better! 

          Signal modulation can also come from your receiver. My  TS930S 

     is  completely clean while an old ICOM-720 which I use on the  boat 

     gives  noticeable hum bars in the pictures even though there is  no 

     detectable  hum in the audio. Clearly, the 120 cycle  is  frequency 

     modulating  the high frequency phase-lock loop in the IC720 but  it 

     was undetectable until I copied SSTV. With such a sensitive way  of 

     seeing  it,  I  intend to fix it; and I won't be  surprised  if  it 

     improves  my  SSB voice signal. Both of these cases may be  due  to 

     design  faults or just to the particular piece of  hardware.  Point 

     is, SSTV shows up shortfalls in hardware very clearly!

          You need at least 512 kb. of memory on the video board to copy 

     the SSTV modes. The Wefax copying optimally will need 1 mb. But the 

     provisions  are  made  in the VUing program to look  at  Wefax  pix 

     through  a  640x480  window. The program  provides  1024x768  Wefax 

     viewing  on video card choices Trident, Tseng, and VESA  only.  The 

     normal Wefax image has 1024 pixels per line and 1536 lines, so  you 

     only  see a portion of the total image at a time. The keys  S  (for 

     Shrink)  and X (for eXpand) can be used to see more or less on  the 

     screen. Also, if you are using the 1024x768 screen, you can get  an 

     expanded view of a portion of the pix by switching to 640x480.  Try 

     copying  maps in the Wefax mode. You'll be able to read the  really 

     small print ! If you want to print a copy of the map, position  the 

     place on the map where you'd like the printer to begin to the upper 







     left  corner of the screen and hit P to start the printer.  Hitting 

     any key will stop the printer.

          The  Wefax images initially appear in 64 gray shades. You  can 

     choose  color  palettes 1 through 5 for various  effects.  This  is 

     useful for seeing ocean thermal currents like the Gulf stream on IR 

     images (you can identify IR images as the black sky will be  white; 

     ie,cold). Cold is white and warm is black  in IR images. Or you can 

     take  a  vertical profile of the clouds by first hitting G  to  get 

     Gray,  then hit C to Color the top (coldest) layer. Each  time  you 

     add another C, you color the next lower level. A total of 64 levels  

     are  available. This is useful to identify the more severe  weather 

     which  generally boils up to higher altitudes. When you use one  of 

     the  color palettes, C can also be used to step through  the  color 

     palettes  to highlight visibility of small temperature  differences 

     at sea level to see things like ocean currents. These currents  are 

     of particular interest to fishermen.

          A portion of a Wefax pix may be saved in FAX480 format. You're 

     seldom  interested in the whole image and it takes a lot of  memory 

     to save the whole thing. I use date/time/mode filenames for  these. 

     28MY123V.FAX  denotes  1230Z on May 28 in Visual mode.  Scroll  the 

     Wefax image to put the portion to be saved in the upper left corner 

     of  the screen (you save 536x480 pixels--I use pencil marks  on  my 

     CRT  to  mark these borders). When you or someone you  send  it  to 

     views  this  pix with VU, you select the Wefax mode (99)  and  when 

     queried  about screen size take the choice FAX480 PIX.  This  gives 

     you the colorizing choices of Wefax described above for viewing  IR 

     pixes. Or just VU it as a B/W FAX480 pix.







          One  last item on RT.BAS is the parameter, DE, on  the  SYSTEM 

     CONFIG  list. I made this delay DE=0 to suit my own practice.  This 

     value  starts the picture copying a little early, so you'll  always 

     need to hit the right arrow first to scroll  into picture left edge 

     coincidence.  You  may  prefer to set it to start  at  the  picture 

     beginning--accepting  the risk that QRM will occasionally  make  it 

     start  late. If it starts late, you will move the "edge  of  floor" 

     gap  into the active picture region instead of hiding it under  the 

     SYNC period. You must set DE to numbers less than 256. Generally  it 

     will be less than 20.

          When you manually select the mode, the frame SYNC for the non-

     AVT modes is fairly simple and can be spooked  by any 1200 hz  tone 

     of adequate length. This has not proved to be a problem except  for 

     a very few stations. For some reason, the Robot (?) systems have  a 

     capability  to send your call sign in CW at the beginning  (instead 

     of  at  the end ?) of picture transmission and they  chose  to  use 

     keyed  1200  hz. Most people have turned off this  feature  (giving 

     your  call sign verbally, immediately followed by giving it in  CW, 

     followed  by  a picture with your call sign on it seems a  tad  too 

     often) since it uses valuable on-the-air time unnecessarily. A  few 

     gentle reminders may fix this problem. With a little dexterity, you 

     can hit the mode ENTER key on the last character of the CW and  get 

     a normal start--or just wait until start and bypass with the SPACE-

     BAR for any stations which continue to use this feature.

          Since the above paragraph was written, I  have added automatic 

     VIS recognition to the program. You need to be within 50 cps of the 

     transmitting  station's frequency for this to work well  since  the 

     VIS  frequencies  are so close. Unfortunately, people  have  gotten 







     careless  about  being right  on  frequency. When you  select  this 

     option, the mode name is displayed as soon as it is recognised. You 

     can  break out of this mode by hitting any key, so if it  fails  to 

     grab  and  start copying, you can hit the proper mode key  and  hit 

     ENTER  twice  to  start manually. This detection is  made  to  have 

     almost  a zero chance of false alarm, and it also only  works  with 

     fairly  good   signals.  Since I wanted to use  it  for  unattended 

     operation to copy only fairly noise free pictures, this fits  fine. 

     It's  sensitivity  vs. false alarm rate can be changed  by  playing 

     with  the parameters in lines 2605, 2606, 2607 of the  RT  program. 

     You'll  probably end up about where it is now. Rock  the  frequency 

     around  + or -100 cps.  to get a feel for where the  VIS  detection 

     centers.

          I  have made several versions of the VIS  recognition  machine 

     language  .ASM module; namely VISCODE.ASM, VISCODEA.ASM and  VISCO-

     DEB.ASM.  As  of Revision D time, VISCODEB is the clear  choice.  I 

     have  precisely measured the VIS code frequencies (1200  cps,  1300 

     cps and 1100 cps) being transmitted by various stations and  except 

     for  the Robot systems, there is considerable variation in how  far 

     above  and below 1200 cps the systems transmit. One popular  system 

     goes  up to 1300 cps OK but only down to 1180 cps. So if  you  have 

     trouble with certain stations, record his VIS with an AVT mode, and 

     look  at the frequencies using the new TUNE program to see what  he 

     is transmitting. While absolute frequency measurement is not possi-

     ble  due to the vagaries of whether you are on the same  frequency, 

     the differential frequency measurement is very precise.   

          Another mode added provides Auto-recognition plus Save to give 







     you unattended capability. It ignores weak signals. You can  select 

     any  drive\path   to  Save the pix in. I use the RAMDISK  so  if  I  

     forget it's turned on I won't fill up my hard disk. When I return I 

     use  d:>ss (ie, Slidesho) to view what was received to decide  what 

     to save more permanently. You can break out of AUTO+SAVE by hitting 

     F5 to goto Basic, then F10 to return to DOS.

          In revision C of RT, we have added the capability when  saving 

     pictures  of  doing it not only in full form but also  directly  in 

     compressed format using a batch file, PK.BAT, which must be  placed 

     in  the  same  directory  as SLIDESHO, TRUSHO,  etc.  (ie,  DOS  or 

     TOOLS).  In revision D we use PKZIP so you need a copy of that.  If 

     you  like  some other compression program, you can  change  PK.BAT, 

     PKV.BAT, and PKX.BAT to incorporate it.

          If you copy (or REName) a file in the RAMDISK to d:a.p you can 

     then  LOAD RT: make a temporary change to RT by typing a  new  line 

     880-----880  GOTO 890----and then RUN the program. Select the  mode 

     the  picture was copied in and ENTER. The pix will appear as if  it 

     was just copied and you can rescroll it if needed and then save  it 

     permanently. Or you can hit t for the TUNE program and examine  the 

     file that way. This is another non-obvious use for RT.

          If  you  don't  want the tone  tick  (measures  the  program's 

     "heart-beat"),  Rev C has added a "heart" symbol on the  screen  to 

     show when the tone is ticking. This is contained in  lines 775  and 

     776  in  Rev C in case you want to remove it. The  easiest  way  to 

     remove  a  line  but keep it's content for later  reference  is  to 

     insert  an apostrophe as the first character in  the  line--turning 

     the line into a Comment. 

          Since AVT modes have both  a VIS code and a complicated  frame 







     SYNC  sequence,  you can get hung up by passing the  VIS  test  but 

     missing the frame SYNC test  (it's capture window is narrower  than 

     the  VIS), so I just bypassed the frame SYNC and copy them  out  of 

     SYNC. You can eliminate line 724 if you want to keep the frame SYNC. 

     Don't  forget to clear out the RAMDISK for future copying. You  can 

     tell  when  the RAMDISK gets full when you copy a pix and  it  only 

     fills part of the screen. 

          In my experience with the previous wefax programs, I have only 

     seen one computer (a name brand laptop) which didn't have a proper-

     ly  operating crystal-controlled clock. I have heard of one  other. 

     The  sympton  is the lines in the pix wander all  over  the  place. 

     You'll have to fix the clock to crystal-controlled stability to use 

     these  programs  if you run into this. We have seen one  case  like  

     this  which only broke out of crystal-lock in Transmit. This was  a 

     486  machine  and K3OWX solved it by going out of the  turbo  mode. 

     There  is some general trend we have noted that the crystal  clocks 

     are not being held to as stringent tolerances as before.



     REVISION D  ADDITIONS TO RT.BAS

          KY1S  added a picture menu screen to his copy of  our  program 

     using some fancy Basic programming. It seemed neat, and not expect-

     ing  very many would want to go to that trouble, we decided to  add 

     the capability for you to add your own customized picture menu just 

     by  making a file. That is, take your own favorite picture and  use 

     PCXLABEL   to  add  the  menu  items.  The  menu  pcx   files   are 

     MODELIST.PCX,  FCNKEYS.PCX, K3BCSSTV.PCX, and PICKMODE.PCX.  You've 

     already  seen the one I made. You'll probably want to put your  own 







     call sign at the top. The menu file name goes in line 3240 and  the 

     mode number goes in line 3245 of the RT SYSTEM CONFIGURATION.  Line 

     3230  gives you a selection of menu choices. Try all 3 to see  what 

     the differences are. Also, to minimize the key strokes when operat-

     ing   from  the  picture  menu,  we  added  a  small  ML   program, 

     SELECTMO.ASM,  which gives single key stroke mode command  (ie.  no 

     ENTER  required). On modes like M2, mode 77, which require two  key 

     strokes,  a 1 second delay is allowed for the second  stroke.  This 

     delay can be changed in line 1352 of RT.

          We  have  included the Trucolor viewing into the  RT  program. 

     There  are a number of possible choices of picture size  and  color 

     resolution  on both the menu screen and the received  pictures,  so 

     try  all the combinations to see what you like; lines  3250,  3260, 

     and 3270 contains the switches. We have used fractal techniques  to 

     take  the pixellization out of the full screen  Trucolor  pictures, 

     as described below in TRUSHO.



     REVISION E ADDITIONS TO RT.BAS

          We have added REAL TIME copying capability to RT for those  of 

     you with TRUCOLOR video cards and fast enough computers (386-25 mhz 

     equivalent  speed approximately). It is switched IN or OUT in  line 

     3280  of RT. Robot modes are not covered since they take  too  much 

     processing to display quickly. The real time pix is raw as received  

     with  no processing or resizing. In fact it gives you a  very  good 

     illustration of the effectiveness of our poor man's digital filter-

     ing  which  replaces bytes that lie outside the 1500  to  2300  cps 

     range.  In  AUTO modes you'll need to be quick to  catch  the  mode 

     names. Also, the six second wait for the AVT header to be  received 







     seems  aggravated since you are looking at the screen just waiting. 

     Be  sure to get your Trucolor card all integrated using TRUSHO  and 

     then  transfer  the card's SYSTEM CONFIG parameters  to  RT  before 

     trying this.

          The Wefax mode will also copy in REAL  TIME. While none of the 

     real  time screens can be scrolled while copying, the Wefax  has  a 

     skip control to jump the picture to the left on the screen approxi-

     mately 1/7 of a screen every time you hit S (for skip). This  actu-

     ally changes the SYNC point on the incoming data, so you'll  gener-

     ally only use it early in the picture. You can quickly  see how far 

     out of SYNC picture is and estimate how many times to hit S. 

          We have added a TUNE screen to facilitate getting on the other 

     guy's frequency and to give you some insight into what the  equiva-

     lent  analog signals look like. It will give you snapshots of  what 

     the signal looks like as it comes in (at the expense of  interrupt-

     ing  the copying--the computer is strained to it's  capacity  while 

     copying,  so  interleaving  a Tune display  without  degrading  the 

     copying isn't practical) or after the picture is received, you  can 

     scroll  the TUNE screen throughout the pix to see what's going  on. 

     The same scroll commands used when viewing the picture are used. To 

     view the line SYNC in modes that have one, you scroll down one line 

     and  then hit the left arrow several times to bring the SYNC  pulse 

     into  view. Now you can scroll down one line at the time  with  the 

     down  arrow and see successive SYNC's and what their average   fre-

     quency  is.  Or you can scroll along a whole line  using  the  fast 

     scroll  R  key. If pix was an AVT copied in AUTO+SAVE, it  has  the 

     header  captured and you can look at the 1600, 1900, and  2200  cps 







     header  patterns. You can even go back to old files, copy  them  to 

     d:a.p,  change line 880 as described above, and view their  tuning. 

     Note that the scale on the TUNE screen is not linear.

          When using the TUNE screen while copying, just hit T, and  the 

     last  400  or  so pixels are displayed. Hit T again  for  each  new 

     snapshot, We used snapshots because displaying continuously is  too 

     confusing to use. When you want to resume copying, hit G; or if you 

     want to quit, hit Q. The snapshots cannot be scrolled. If you  want 

     to look at another stations VIS code frequencies, you can use  mode 

     6  and  SPACEBAR to start copying just before the  picture  starts. 

     After  copying a few lines, you can halt and go to the TUNE  screen 

     to  scroll through his VIS code frequencies which should  be  1900, 

     1200,  and then switch between 1100 and 1300. This is probably  the 

     quickest  way  to get on frequency. Or if he sends  out  a  tune-up 

     tone, the T snapshot in mode 6 would work well.

          If  you have a precision audio oscillator available,  you  can 

     calibrate  the TUNE screen more precisely by copying the tone  from 

     it.  Calibration for the snapshot is in line 480 and for  the  file 

     perusal TUNE screen is in line 2805. The same correction POKE  goes 

     in both places.

     REVISION  F ADDITION--We have added REAL TIME copying for  the  256 

     color video boards.    

                    

                                                                                                                                                                                                                                                                                                                                                 

     TX.BAS

          [NOTE:  The TX program has been superceded by the VT.BAS  pro-

     gram below, so it is not being kept updated with new changes. Since 

     there  may be someone with a very slow computer who might  want  to 







     still use TX instead of VT, it is still included.]

          The  transmit  program  uses  the  same  SYSTEM  CONFIGURATION 

     choices  as the receive (RT.BAS) program, so the first step  is  to 

     transfer  those  choices.  LIST 1000-2000 to  see  the  choices  on 

     TX.BAS. Be sure to put the cursor in the clear and re-LIST to check 

     things before SAVEing the modified program. Note that if you  don't 

     put the cursor in the clear before hitting a function key, it  will 

     type  the function key word right where the cursor is,  over-writing 

     the program and giving some weird results.

          Running TX.BAS is very simple. Put  the transmitter in VOX  if 

     it  isn't already there. You select the file you want to  send  and                                                                                                         

     note  what  mode suffix it has. The mode suffix and file  name  are 

     given when the program asks for them and after the file loads,  you 

     just  hit  G  to start transmitting. If  you  give  a  non-existing 

     path/filename, the program will return you to the BASIC "Ok"  where 

     you can hit F2 to try again. In this case ignore the Picture Trans-

     mitted message---it should be obvious that nothing has been  trans-

     mitted. When you key G to start transmitting, the VOX  will come on 

     and  the header is transmitted. The tone-tick audio cue will  start 

     when  the actual picture starts being transmitted. If you  want  to 

     terminate  the sending before the picture is finished, key  H  (for 

     Halt).  Listen to the ticks to see that they are very  regular.  If 

     you  hear a skip, someone on frequency will probably tell you  that 

     the picture had a break-sync. Although it didn't happen on the  two 

     computers  I  have, it's conceivable that a different GT  might  be 

     needed  for TX.BAS since the overhead processing done on each  line 

     is different from the receive program. If that is the case, use the 







     lower of the two values for GT in both programs. A better  alterna-

     tive  to lowering GT is available if the offending mode is  NOT  AN 

     AVT  MODE. You can LIST 240-370 in the TX.BAS program   and  locate 

     the  line that has the data for the offending mode (ie, 290 IF  I=4 

     THEN LL=568 etc.etc. is the line for Mode 4). That line will have a 

     value  called  out for a parameter SC, which is the number  of  1/2 

     cycles of 1200 hz line sync that will be sent on each line.  Lower-

     ing  this value will fix your problem (equivalent to  removing  one 

     "tile"). It's very unlikely you'll need to do either. Incidentally, 

     don't  try  to send a picture in a mode other than the  one  it  is 

     formatted  for. Hopefully I can find time to include a mode  refor-

     matting program in future revisions.

          People seem to be using rather long sub-directory names  these 

     days, so if your PATH to the file to be transmitted is long, it may 

     not  fit  in the space allocated in the program. You can  copy  the 

     file  to  the  RAMDISK as A.P and use the  program  default  choice 

     instead if you run into this:ie, if the program rejects a perfectly 

     good Path/Filename.

          Before  you  actually start transmitting pictures,  hook  your 

     headphones  across the audio transformer output to the  transmitter 

     and  listen to the signal while sending a pix. Compare it  to  what 

     you hear when receiving. If the frequencies sound quite  different, 

     you'll save time by adjusting the header frequency as described  in 

     VT.BAS below before proceeding. If the frequencies are very differ-

     ent, you may be breaking out of SYNC on many lines and transmitting 

     a mess. We've seen one 486DX2-66 machine  where this was the  case. 

     His  frequencies were quite low. In using this "headphone" test  on 

     my  laptop's transmit audio output on the RTS pin, I found  a  1000 







     cps  tone there continuously. This was undoubtedly  the  alternator 

     frequency  on the + and -12 vdc supplies which were not  adequately 

     filtered.  While not fully confirmed, I'm fairly sure this  is  the 

     source  of some wiggle (beat note effect) in the vertical lines  in 

     transmit with  this machine.

          You  can  do  the initial checking of   this  program  without 

     actually  transmitting,  of  course. But as soon as  you  do  start 

     transmitting,  BE SURE to check that  the transmitter is  operating 

     at a low enough level so it won't overheat. Most transmitters  will 

     not handle a 100% duty cycle signal  like this and still operate at 

     maximum peak power. I failed to take my own advice on this and  had 

     to make a multi-transistor repair on my TS-930. If your transmitter 

     has an AM mode, set the output power in TV mode to the same  output 

     power  level  as AM. This should be plenty safe.  The  audio  level 

     resistor,  R_x in the schematic, is set so that you can  leave  the 

     transmitter mike gain at the same level whether you are talking  or 

     are sending fax.

          A  useful  feature in BASIC is the ability to list  all  files 

     contained  in the current default directory. For example,  to  list 

     all Scottie 1 files, just type:    FILES"*.S1    and RETURN       .  

     TX, VU, and SLIDESHO all can use this, so I have included an insert 

     to  make key F9 type the words FILES for convenience. FILES is  the 

     BASIC  equivalent  of DIR in DOS format, so the use  of  wildcards, 

     etc.  apply.  Note that keys F9 and F10 are not operative  for  our 

     program specific-use until at least one program has been RUN.



     VT.BAS







          This  is  identical to the TX program except the  file  to  be 

     transmitted  is put on the screen to see if it is the one  desired. 

     It  stays on the screen after transmitting so you can discuss  it's 

     details.  Q will exit the picture. If you call up a  non-file,  the 

     screen   will  be blank---you'll need Q to get back to  BASIC.  The 

     SYSTEM CONFIGURATION for the VUing part of this program is seen  by 

     LIST  2000-3000 and is copied from VU.BAS. The transmitting  SYSTEM 

     CONFIGURATION is seen by LIST 4000-5000 and is copied from RT.BAS.

          I have added a couple of features to this program as a  result 

     of  inputs from KY1S. He found it convenient to have listed on  the 

     screen  all of the files in the current directory which were  saved 

     in  the mode being used every time he picked a mode. That is,  when 

     you  pick  mode 3 in the VT program, all Scottie 1 files  would  be 

     instantly  listed for you to select  from. With the BASIC   format, 

     this is very easy to insert and is a perfect example of how you can 

     adapt  to your own operating methods. I thought others  might  like 

     this  capability, so I added it so you can switch it ON or  OFF  in 

     line 2092 (Rev F makes a further use for this in REVISION F below).

          Dennis  also  found that his LT numbers had to be  changed  by 

     about 400. Other  486 users have also reported a wider variation in 

     the  frequency  of the TIME-OF-DAY clock than we had  seen  before. 

     While this has a rather small effect on the color registration, the 

     headers used  for automatic recognition of modes have somewhat more 

     stringent  tolerances. If you get reports of people receiving  your 

     pictures  having  to manually start their reception, or you  had  a 

     large change in LT or a particularly slow computer, you may want to 

     measure  and possibly trim the header frequencies. We have added  a 

     test  mode in VT.BAS which is turned on by a switch,  TE,  in  line 







     4173  in  SYSTEM  CONFIGURATION. Switch TE to a 1200  or  1900  cps 

     position and then hook up a counter or some other method of measur-

     ing  frequency to the output of the interface which normally  feeds 

     fax audio to the transmitter. If you use a counter  you will proba-

     bly  need to reduce  the signal down by 50 or more to  avoid  over-

     driving the counter. Load in a Scottie 1 picture, and when you  hit 

     G(o),  a prolonged steady tone at the selected frequency will  pre-

     cede  the  picture.  Parameter HF in line 4171 can  be  changed  to 

     center the frequency. If the frequency is 3% low, raise HF by 3%. A 

     potentiometer  to  change the level into the counter is  useful  to 

     avoid  the  erroneous results you get by overdriving  the  counter. 

     After finding the best value for HF, SAVE it in VT.BAS and put  the 

     same value in line 3210 of RT.BAS and SAVE it. While this parameter 

     is called "header" frequency, it actually recalibrates both  header 

     and picture frequencies with the pokes in line 3011 of VT.BAS  (for 

     reference  in case you wanted to change only one of these, 2E9  and 

     2EA  are  the location for the header and 1FE and 1FF are  for  the 

     picture  data frequency). Many SSTV stations can give you  a  rough 

     measurement of these frequencies over the air.

          In revision E we have added a TUNE screen to RT.BAS so if  you 

     have  a VCR, you can record the Transmit audio output on the  VCR's 

     audio  channel and play it back into RT to look at the  frequencies 

     with the TUNE screen. While the VCR will add noise and jitter  (the 

     VCR  mechanical "noises" are in the audio range), you can  set  the 

     value  for HF with this. Or if you want to compare  picture  shades 

     for  different HF values, make recordings of the same pix  file  at 

     several settings for HF. The received image files are labelled with 







     the HF number and saved  or copied into the RAMDISK along with  the 

     original  file. Now you can use TRUSHO in it's 4-picture  mode  and 

     make shade comparisons between these to get a shade match with  the 

     original  over the entire  image. This is amazingly  accurate  when 

     the  match is made on the same screen. When you get a  match,  Quit 

     from TRUSHO on this pix and by keying Yes on the next question, the 

     file name value for HF will be displayed.

          Another  feature  added to VT.BAS in revision E  is  a  tuning 

     reference  tone.  After  loading a picture to  be  transmitted  but 

     before keying G to start transmitting, you can key T (for Tone) and 

     a  pulsing  1200 cps tone will be transmitted as long as  you  hold 

     down  the  key. This could also be used in setting HF via  the  VCR 

     technique as described above.

          Another  problem  which  I and others have  encountered  is  a 

     radical  shift  in frequencies both received  and  transmitted--ie; 

     overly  light  or overly dark pictures. This has been  isolated  to 

     residual  settings  of computer parameters which are  left  in  the 

     computer  after using such programs as JVFAX, HAMCOM,  and  others. 

     They  can be removed by re-booting the computer. In Revision  B,  I 

     think we have isolated the offending parameters and modified the RT 

     and VT programs so it won't be necessary to re-boot. Feedback  will 

     be appreciated.

          Another  problem which a few others have experienced which  is 

     similar to the above (but only affects transmit) has been fixed  by 

     taking  some of the flexibility out of VT  and manually fixing  the 

     processor  speed calibration number to fit a specific machine.  The 

     trouble  symptom is a transmit function which intermittently  works 

     properly  but then reverts to sending trash. The  transmit  program 







     uses the processing speed as it's frequency determinant. This speed 

     is calibrated each time the program is run. This makes the  program 

     work  independent of whether you are using a slow 286 or  a  super-

     fast 486 and also corrects in case you turn the turbo on or off. It 

     uses the 1/18 sec TIME clock ticks to calibrate itself. Apparently, 

     in  the  computer  we fixed, either these TIME  clicks  were  being 

     intermittently  changed by some internal software, or there  was  a 

     hardware  intermittent. You can bypass the calibration and set to  a 

     fixed value by adding the following line to VT.BAS:



     3019 poke &h165,144:poke &h166,184:poke &h167,128:poke &h168,6



     The number poked into &h167 is the LSB and &h168 is the MSB for the 

     calibration number. The numbers shown are for my 386 at 16 mhz. You 

     can determine the correct numbers for your machine by using the  TE 

     switch  and  adjusting the values in &h167/&h168 to  get  the  test 

     tones  on  frequency. Or when the machine works properly,  you  can 

     read the correct values by peeking into memory after you return  to 

     BASIC. The value for &h167 prints out by typing PRINT  PEEK(&H5A3). 

     The value for &h168 comes from PRINT PEEK(&H5A4). My 386 at 33  mhz 

     gives a MSB in &h5A4 of 13, so you can scale from there to  get  in 

     the ballpark.

       

          In  Rev. B, we have reconfigured the headers on both  the  AVT 

     modes  and the FAX480 mode. Not having found anyone with  a  FAX480  

     receiving  capability  before the original release,  it  never  was 

     tested. It had an error in the software. While fixing that, I  also 







     brought  out an adjustment so you can tune the initial 244  cps  in 

     the  header to  be precisely on frequency. This is located in  line 

     3015 of VT.BAS. One more change was made in Rev F. In the AVT head

     ers, while they worked, there was some diversion in the SYNC  point 

     depending  on which type of system was doing the  receiving.  Since 

     all  the  systems seem to work well with the  headers  from  Bert's  

     (W5ZR) AVT pictures, I just scrapped my header generator and made a 

     digital  recording  of Bert's header and included it ahead  of  the 

     picture.  In retrospect, this would have been a much easier way  to 

     generate  all of the headers.

          In  revision D we have added the capability to both  view  and 

     transmit compressed files. You can collect compressed files into  a 

     single file, but it takes a lot of memory and extra time to extract 

     a  single  one  of these out. I prefer to collect  mine  as  single 

     compressed files on floppies  or in subdirectories named after  the 

     mode  used; ie, in a S1 or M1 or 90 (for AVT90), etc  subdirectory. 

     That  is,  the suffix for the uncompressed files is  used  for  the 

     subdirectory  name.  Since  the  compressed  files  all  have   the 

     same  .ZIP suffix, it is useful to collect them together  by  mode. 

     The VT program can handle single compressed files; it just takes  a 

     little longer for the program to list the file name and mode so you 

     know which mode to call up. You can use this program to view  indi-

     vidual files, however, if you want to have a slide-show, it's  more 

     convenient  to  decompress a series of files into  the  RAMDISK.  A 

     simple batch file can be written using wild cards (pkunzip  a:*.arc 

     d:) for this.



     ADDITIONS TO VT.BAS IN REVISION F







          To  save typing time, we have added the ability to select  the 

     file name directly from the list of image files using Cursor selec-

     tion.  The  same FI parameter in the SYSTEM CONFIGURATION  list  is 

     used to switch this ON or OFF.

          The  "shades  of gray" part of pictures  often  includes  call 

     signs.  It could be used for other messages. Some  people  properly 

     object  to messing up some really great pictures by  putting  words 

     over the picture. So we decided to use the top stripe for contempo-

     raneous  messages. You can store a default message which  might  be 

     your  call sign and name and in RT maybe REPLAY-BY-AB4O. When  each 

     picture is sent you have an opportunity to insert any contemporane-

     ous message you might want to add. If you type it in CAPS, it  will 

     be  more readable. You can have a little fun with the  Robot  users 

     since that system doesn't display the first 16 lines (I'm told) but 

     it does replay them.   



     SLIDESHO.BAS

          SLIDESHO  works just like VU except that it has an  additional 

     capability  to  step through a series of pictures  without  knowing 

     what  the  filenames  are. You pick a mode, and if  you  want  some 

     constraints in the filenames viewed, enter that. For example, if you 

     wanted  to look at only Scottie 1 pix's starting  with the  letters 

     BE, enter 3 for the mode and enter BE for the constraint. The first 

     BE*.S1 pix in the directory will paint. To see the next BE*.S1 pix, 

     hit N (for Next). It will exit to BASIC when it runs out of  files. 

     You can use this program to look at single files also. This program 

     (and it's associated files, SS.BAT. PK.BAT, and 64SHO.ASM) is  con







     figured  to  go into your DOS directory, so it will  be  accessible 

     from any drive or any directory where you might have picture files. 

     If  you  want  it somewhere else, you'll need to  change  the  PATH 

     callout  in line 30 of SLIDESHO.BAS and in SS.BAT. They  should  in 

     any  case  be placed in a directory which is listed  in  your  path 

     statement in AUTOEXEC.BAT. I find it convenient to store pix  files 

     in  a compressed .ARC file (using PKARC) grouped together by  mode. 

     When  I  want  to view them, I decompress the .ARC  file  into  the 

     RAMDISK  (using  PKXARC---the  format for an  archived  file  named 

     S1PIXES.ARC  is: PKXARC S1PIXES d:). After the files load,  with  a 

     quick d:>ss I can start the show. Incidentally, this program is not 

     configured to work with the Robot modes or the Wefax mode.

          Another  feature  added  since the original  release  is   the 

     capability to make the SLIDES advance automatically. The number  of 

     seconds  you want to dwell on each slide can be set in SYSTEM  CON-

     FIGURATION, line 2050 as DL. Instead of N(ext), you key A(utomatic) 

     to  start the show. It will go through every pix in  the  directory 

     and  then start over again indefinitely. Q will exit  sequence.  If 

     you get large numbers of pix in the same mode in one directory, you 

     may  have  to raise the "files=" reservation in CONFIG.SYS  to  use 

     AUTO mode.

          Revision C of the software adds a new capability which is very 

     useful if you use the AUTOMATIC + SAVE mode. Typically you store  a 

     number of pictures in the RAMDRIVE while the machine is unattended. 

     When  you return you use SS (SLIDESHO) or TSS (TRUSHO) to view  the 

     pictures in sequence. Often you see ones which you want to save, so 

     the capability was added to both scroll, rename, and SAVE in either 

     full or compressed formats any picture that you like. When you view 







     one  you  like, use the normal scrolls, if needed, and hit  Q.  The  

     program  then walks you thru the steps from there. If you  use  the 

     compression, it requires the presence of PK.BAT in the same  direc-

     tory where you store SLIDESHO and TRUSHO (typically in DOS or TOOLS 

     directory).

          When you're all finished remember to clear out the RAMDISK  if 

     you  used  it for temporary storage and you're going to  return  to 

     copying  pictures; particularly Wefax which uses a lot  of  RAMDISK 

     memory.



     TRUSHO.BAS

          This is a version of SLIDESHO that supports TRUE COLOR (ie; 16 

     million color) video boards with a 640x480x16.7 million colors mode 

     capability.  The display is brighter than is possible with the  256 

     color  video board. Also, in Automatic, you can choose between  one 

     picture  at  a time filling the whole screen or  4  pictures,  each 

     filling  1/4  of the screen but still at full resolution.  You  can 

     S(top) the automatic sequence at any time and restart it by hitting 

     G(o). I haven't yet found out what mode number is being used by the 

     different  card manufacturers for this mode, so you'll have to  use 

     the  VESA  choice  unless you have the same card  I  have  (Diamond 

     Speedstar  Pro).  If you can find out the mode number,  it  can  be 

     poked into memory location &H113 with the card driver sequences  in 

     the BASIC program (the one with your card name on it). Interesting-

     ly,  Diamond's  instruction  manual said it was mode  &H72  but  it 

     actually was mode &H71.

          In  Rev  C,  we have added capability to  accomodate  the  ATI 







     TRUCOLOR  card in  the VESA card choice. I thought the VESA  stand-

     ards  would actually settle on such things as  bytes/line--no  such 

     luck! ATI uses the same byte storage sequence as all previous  SVGA 

     modes  where  the lines are  stored seamlessly so there is  no  gap 

     between  lines. Diamond (or maybe it was Cirrus, whose  chipset  is  

     used  in the PRO board) decided to jump to the next 2K boundary  in 

     memory at the end of each line. I can't think of any other rational 

     choice,  so maybe future cards we see will fit in one of these  two 

     categories. The parameter BL is included in the SYSTEM CONFIG  list  

     of  each program to set this. If someone comes up with  some  other 

     oddball  choice, just assign the value to BL. The wrong BL gives  a 

     greatly slanted picture. 

          This  program gives very high quality pictures which can  com-

     pare favorably with any other  SSTV system. The pictures themselves 

     are  captured, like the Robot 1200C, at 262,144 colors.  While  our 

     basic  program structure could be easily modified to send  and  re-

     ceive  at the full 16.7 million colors, it's  questionable  whether 

     you could tell the difference. You can tell the difference  between 

     32,768 and 262,144, however.

          Be  sure  to read the section on the Bank-Shift  parameter  in 

     VU.BAS  above  when setting the SYSTEM CONFIGURATION  on  this  new 

     program. This program, like  SLIDESHO, allows you to save  pictures 

     directly.

          In  revision D we  have made a significant improvement in  the 

     full  screen pictures. Using fractal techniques, we managed to  get 

     rid  of the "square pixel" effect which is characteristic of  lower 

     resolution  pictures  which are expanded to fill the  screen.  Line 

     2080 has a 3 position switch for choices on the even lower  resolu-







     tion Martin 2 and Scottie 2. Try all  three. I like choice 2 as  it 

     has the proper perspective and the pictures are not over-expanded.

          In   revision  F,  we have added a reversed  TRUSHO  which  is  

     called TRUS-REV.BAS. Some of the older Trucolor cards have the  red 

     and  blue reversed from the current VESA standard, so this  is  for 

     folks  with one of these cards. It has been tested with the  Speed-

     star 24X.



     TIFCONV.BAS

          If  you  want to create some picture files to  transmit,  this 

     program will convert from the TIFF 640x480, 24 bit color format  to 

     the SSTV/FAX480 formats. We chose the TIFF format because it is the 

     most  common  format used for  transferring  high  color/resolution 

     pictures  between  programs and is an available  format  from  most 

     frame  grabbers. The typical frame grabber will accept images  from 

     any video source. I have tried this with both the Computer  Eyes/RT 

     and  S.S.C.  grabbers.  For some reason,  the  picture  information 

     started  at a different offset into the picture file in  these  two 

     cases.  LIST  205 in this program will show you where to  make  the 

     change  for this. You'll know when the offset is wrong as  the  re-

     sulting  picture will have the colors scrambled. Change the  offset 

     by  one and try again. Note that the TIF file must be 640x480  with 

     24-bit color so the  file size is over 920,000 bytes. If it doesn't 

     have  that many bytes, it isn't an acceptable format. KY1S  reports 

     that  he  has used TIFCONV with the TEMPRA program and  with  PHOTO  

     FINISH  3.  WB7PAP found a Graphics Workshop 7.0  on  Rimmer's  BBS 

     (tel:416-729-4609)  which converts other formats very well.  It  is 







     called GRAFWK70.ZIP. N9ARX reports success using Print Shop Pro for 

     Windows.  The  last two are shareware. I believe all  of  these  and 

     other  programs accept pictures in lower resolution  formats  which 

     can then be converted to the highest resolution format that we use. 

     The TIF file must be in a non-compressed format. I use the  RAMDISK 

     as temporary storage for this monster file and immediately  convert 

     it  to a SSTV format for permanent storage.[See BATCH  FILES  below 

     to  see  how  you can take all the work out of  conversion  and  go 

     directly from from GIF, PCX, and JPG files to Transmit.]

          Since this program includes the VU program to show you the end 

     result,  you must transfer the SYSTEM CONFIGURATION from VU.BAS  to 

     lines 2000-3000 in this program.

          Revision  D adds the capability to directly save  any  picture 

     generated by this program in either full or compressed formats.



     TGACONV.BAS

          I  found a collection of CD-ROM pictures at Dayton which  were 

     of  high quality, 24-bit color, but in a TGA format.  This  program 

     converts  any 24-bit color TGA file of any line length equal to  or 

     greater  than 640 pixels to SSTV files. Using a simple batch  file, 

     STGA.BAT,  you can call up any image on the CD-ROM, convert  it  to 

     any  SSTV format and then transmit it in a seamless operation.  The 

     images  are filed on the CD-ROM as img2018.tga kind of  files.  You 

     merely type: C:\TV\>stga 2018 and the picture is transferred to the 

     RAMDISK, the TGACONV program is activated, where you pick the  mode 

     and  take the default choices. When you see the picture,  you  exit 

     with  Q and then F10. The batch program then moves you into the  VT 

     program where you answer the questions and transmit. I suggest  you 







     study  the STGA.BAT as you can put together  sequential  operations 

     using several of the programs. You could eliminate answering  ques-

     tions  even  by making special versions of say  TGACONV  where  the 

     question  lines  are  replaced with the answers you  want  for  the 

     particular  sequence,  and it will just run straight  through.  The 

     special  versions would be given different names, of  course.  Read 

     the  DOS book on batch files. You can do some powerful things  with  

     a few little lines.[See BATCH FILES below]

          TGACONV also has direct SAVE capability.



     BATCH FILES

          Peter Norton's various books on DOS give good illustrations of 

     how  batch files may be used to speed up repeated  computer  opera-

     tions  and you should definitely read one of his treatises.  A  few 

     ways  I've used them for SSTV may be useful to you  and/or  suggest 

     other uses:

          (1)   Speed up the picture menu paint--If you have  plenty  of 

     RAM,  you can copy the menu pix, MODES.M1, to the  RAMDRIVE  during 

     the  first use of RT and then have the RT.BAS program load it  from 

     there.  That is, change line 3240 of RT.BAS to read (based on  RAM-

     DRIVE of d):

                         3240 MP$="d:MODES.M1"

     The RT batch file, RT.BAT, will then read:

                         copy modes.m1 d:

                         gwbasic rt

          Depending  on how fragmented the memory segments of your  hard 

     disk have become, this can be much, much faster.







          (2)  Chain  programs  or portions  of  programs  for  seamless 

     throughput from choosing a  file name on a CD-ROM (or stored  else-

     where) to a labelled picture in the transmit buffer  ready to G(o)!

     Examples  of this are described in UPGRADED.TXT, UPGRADEE.TXT,  and 

     in  the TGACONV section above. Typically you go from a  batch  file 

     DOS  command line into a GWBASIC program which does it's thing  and 

     returns  to DOS when it reaches the BASIC command SYSTEM. Then  you 

     step to the next line in the batch and continue. Between successive 

     programs  you  can  store numbers or data in an  unused  corner  of 

     memory  or use the RAMDRIVE to temporarily store images under  some 

     common name, like a.p or b.p. Or you can chain back to a batch file 

     from within a BASIC program using the SHELL command followed by (in 

     quotes) the batch file name and any modifiers. Examples of this  is 

     line 442 of VT.BAS and line 1524 in TRUSHO.BAS. Here you return  to 

     the BASIC program from the batch file with the command EXIT.  Study 

     batch files STGA, PK, TR, and TE for examples.

          Let's  examine TE.BAT in detail (use C:\TV>read te.bat).  This 

     allows you to transmit GIF files directly from the DOS line. A file 

     named  GEORGE.GIF located in E:\GIF\ would only require  typing  on 

     the DOS line--- C:\TV>te george --- and when asked you answer  what 

     mode you want to transmit in. TE.BAT reads:

          alchemy -t0 -24 -o -X640 e:\gif\%1.gif d:a.tif

          gwbasic alchconv

          del d:a.tif

          gwbasic alchvt

     This is written for GIF files contained in directory E:\GIF\  which 

     happens to be a CD-ROM in my computer. If your GIF files are  else-

     where, put their PATH in place of e:\gif\. The %1 in the first line 







     is  where  the batch file inserts the name following the  TE.  This 

     particular  TE.BAT was written for RAMDRIVE d:. If yours is  desig-

     nated h:, then replace the d in lines 1 and 3 with h.

          Now contrast this with TR.BAT, which is more general  purpose, 

     but  requires you to type out the PATH, FILENAME, suffix,  and  the 

     RAMDRIVE everytime you use it.

          Incidentally, ALCH.BAS must have your SYSTEM CONFIGURATION  in 

     TIFCONV.BAS  transferred  to  it. Likewise,  ALCHVT.BAS  gets  it's 

     SYSTEM CONFIGURATION from VT.BAS.

          (3) After collecting and saving a batch of pix in the RAMDRIVE 

     using  the VIS + SAVE (F7) mode, typically you thumb through  these 

     with  TSS (TRUSHO  batch file) and permanently save the  "keepers". 

     To  clear out the RAMDRIVE (which happens often here), you use  the 

     del *.* command. After inadvertently dumping all the files in my TV 

     subdirectory  (TWICE  !  OUCH !), I created a  DLD.BAT  file  which 

     safely dumps d: every time. It reads:

               d:          REM switch to d: if not already there

               dir         REM list d: files for final look

               del *.*     REM you still have to answer Y(es) to delete

               c:          REM return to DOS line

     Very simple, but it protects against inadvertent deletions. I  keep 

     it in the TOOLS subdirectory.

     (4)  I keep VU.BAT  and it's associated files in C:\TOOLS where  it 

     can be called up from the RAMDRIVE to view Robot pix not covered by 

     SS or TSS.

     (5)  Another  batch, PX.BAT, is kept in C:\TOOLS where  it  can  be 

     called   up from any place to PKUNZIP a group of files on a  floppy 







     or other location  and deposit them in the RAMDRIVE for viewing--or 

     transmitting.  It reads:

                    pkunzip %1:*.* d:

     To unzip and place from drive A into D:, you just type C:\TV>px a .

          These  are fairly trivial to compose but greatly improve  your 

     operating  efficiency.  Hopefully this will suggest others  to  fit 

     your own operating preferences. 





     TIFLABEL.BAS and PCXLABEL.BAS

          You may have one of the fancier software programs to take  the 

     original  TIFF  file and add text titles and labels  to  it  before 

     converting  it to the SSTV format. I don't, so a LABEL program  was 

     written to give some limited capability in this area. Not having  a 

     library of fonts and of different background patterns to paint  the 

     letters with, we made the program general purpose enough to use any 

     font and any background pattern you can take a camcorder picture of 

     or can obtain in a TIFF file format or in a SSTV format. There  are 

     a number of interesting patterns right in the room you are  sitting 

     in which will add interest to your labels---wicker chair back, tile 

     floor,  rug, venetian blinds, etc., etc. These two  program  accept 

     TIF  or PCX 1 bit (ie, TWO COLOR) files which might typically  come 

     from  a handscanner or one of the many PAINT programs  of  whatever 

     font  letters you may choose. Typically you can resize the  letters 

     to  fit. The TIF or PCX file  is used as a mask and where ever  the 

     file  picture  is black, the LABEL program inserts either  a  color 

     which you can choose, or a cutout from any background file  picture 

     which  you might have available. You can even use a pix you  copied 







     on  the air as a background file. The effect is as if you  cut  the 

     letters  out  of the background photograph and pasted  it  on  your 

     picture.  You manually select where you paste it on. You can get  a 

     three dimension effect by pasting on a color mask, then going  back 

     through  LABEL  again, moving the mask a few   pixels  and  pasting 

     another  color  or  background file on top of  what's  there.  With 

     multiple  passes,  you can get a variety of effects. You  also  can 

     make  a square or circular mask and place it to transfer a  face  or 

     some  other  feature of one file to paste it over another.  A  mask 

     file, K3BC.PCX which is 64 pixels wide, is included for you to  try 

     out this program on the SAMPLE.M1 pix. You can use SAMPLE2.94 as  a 

     background file. Or rename SAMPLE2 with a different mode suffix for 

     a  different background file, etc. I use the RAMDISK to store  suc-

     cessive  passes  thru  LABEL (under PATH/NAMES of  d:a,  d:b,  d:c, 

     etc.);  then with SS (SLIDESHO) in drive d: you can view  the  pro-

     gressive results.

          Since  these programs use VU for VUing, you must transfer  the 

     SYSTEM CONFIGURATION you settled on in VU.BAS to lines 2000-3000 in 

     these  programs.  Some TIF 2-color files don't seem  to  work  with 

     these,  but  I have not found a PCX 2-color file  source  yet  that 

     doesn't  work (16 color or 256 color files DO NOT work!).  Put  the 

     text in the upper left corner of the PAINT screen when you generate 

     the  mask. PCXLABEL includes the direct SAVE function in both  full 

     and compressed formats.



     3D.BAS

          This is a new program added in  Rev C that creates 3-dimension 







     picture  files in our SSTV formats. It is not a synthetic  3D  pro-

     gram,  although  you can get some synthetic depth of  stuff  pasted 

     over the picture files with the LABEL program. It uses the original 

     "two  camera" approach for 3D. You use your video camera  and  frame 

     grabber  to  capture two pictures of a scene, a RIGHT eye  pix  and 

     after  moving  the camera a distance about like your  eye  spacing, 

     capture a LEFT eye pix. It's hard to keep the pointing angle right, 

     so pick some vertical feature in the scene--note where it is in the 

     frame  grabber screen w.r.t. the letters below the screen.  On  the 

     second pix, adjust the camera pointing to keep the vertical feature 

     only a few pixels from where it was on the first pix. The magnitude 

     and  direction of this offset can be estimated by closing each  eye 

     alternately  and  noting what the apparent shift is from  Right  to 

     Left  eye. The final product picture should only show a few  pixels 

     of "red shift" as seen without the 3d glasses. If the glasses color 

     bandpass matched the phosphor colors of your C.R.T., then the  "red 

     shift" would be of no consequence, since you couldn't see it. Until 

     color matched glasses become generally available, assume the person 

     receiving  your  pix will not be color matched and limit  the  "red 

     shift".

          I  store  both of these TIF files in the  RAMDRIVE,  then  use 

     TIFCONV  to  obtain two picture files in the  desired  mode,  using 

     RIGHT  and LEFT as file names. These feed directly into the  3D.BAS 

     program. Use your 3D glasses to see if the result is  satisfactory. 

     Slow-scanners  seem enamored of synthetically derived 3D where  you 

     take a series of single images and by displacing color frames a few 

     pixels  can get discrete depths for the different images used.  You 

     can get the same effects using the LABEL programs, but it's labori-







     ous. When you put your call  sign on these 3D pix, you can get  the 

     same  effect by pasting the same label on both RIGHT and  LEFT  pix 

     but  displaced a few pixels from each other. You can find out  more 

     about  this by playing with it. You'll get lots of advice from  the 

     synthetic enthusiasts---not all of which is applicable to the clas-

     sic two displaced camera approach which this program is closest to.

          If  you're recording 3D pictures in the field with  your  cam-

     corder, be sure to voice record whether you are in a RIGHT or  LEFT 

     eye  position. KB9MC has located a source for 3-D glasses in  Cali-

     fornia; Reel 3-D Enterprises--tel:(310)837-2368.



     NEW MODE

          I  considered  adding the Scottie DX mode, but after  studying  it, 

     decided it didn't use the extra redundant pixels as efficiently  as 

     it might. It basically sends the same pixel value three times in  a 

     row  and  then combines these three for a more  noise  free  single 

     pixel. This is great for decreasing white noise which is not corre-

     lated  in the three samples. But you only need look at a  few  pic-

     tures  to  see that many of the "noises"  which pollute  our  pixel 

     values  (QRM, QRN, multipath, carriers, etc.) are often  correlated 

     over 3 successive pixels or more. So I began looking at putting the 

     redundancy with time separation between samples--like repeating the 

     same  line 3 times in a row. Each pixel would have 3 samples  sepa-

     rated  by one line length in time. The good stability of our  crys-

     tal-locked  receiving   system  would allow us  to  combine  pixels 

     separated  in time quite precisely (a system which line  SYNC's  on 

     each line using the 1200 cps sync would not combine so precisely!). 







     This  would decorrelate the samples against more than  white  noise 

     and give better results.

          While  it is generally agreed that there is  more  information 

     content in the luminance (B/W) of a picture than in the Chrominance 

     (color),  that depends to some extent on a value judgement  between 

     spatial  resolution and color content. The engineers would  usually 

     opt  for spatial resolution while the artists would probably  value 

     color  content.  The more I thought about it, the more  foolish  it 

     seemed  to  use completely redundant pixels.  Four  pixels  grouped 

     together  in  a square could be exactly the same value and  give  a 

     redundancy improvement against noise in preserving that value.  The 

     same four pixels could be used to improve the spatial resolution by 

     a factor of 2 in each axis, and if conditions were good, you  would 

     see  the  resolution improvement. If conditions are bad,  your  eye 

     would average those same 4 pixels and get at least as much informa-

     tion  as if they were all sent with the same value. So if  you  are 

     going to send more bytes to improve poor condition reception, it  is 

     better to use the bytes for better resolution, and let your eyes do 

     the  averaging.  Since the signals fade  up and down, you  get  the 

     better  resolution when it's up. Also, since most  SSTV  operations 

     have  people at different skip distances, some will get  extraordi-

     narily  good high resolution pictures, while the weaker  ones  will 

     get  less.  This whole process is illustrated quite well  when  you 

     look  at the differences in Martin 1 and Martin 2. Here  the  extra 

     resolution is in one axis only, but the difference in results as to 

     how  fast  they  deteriorate under worsening  conditions  is  quite 

     striking.

          Another  illustration of this is in the FAX480 where the  dou-







     bled resolution in both axes gives very  durable info content under 

     quite bad conditions  compared to SSTV modes.

          So  we  decided  to make a full color mode  with  the  doubled 

     resolution  in both axes. To avoid start-up problems  with  getting 

     everybody  "tuned" to the same line timing, we decided to  use  the 

     same  timing as the FAX480. Three successive 546 byte  "lines"  are 

     used  for  the Red, Green, and Blue. In fact, it's  nothing  but  a 

     double size Scottie or Martin 1 mode--double in both axes.

          It's called mode 96, has a VIS code of &h6A, and uses the same 

     LT9 already set for FAX480. In fact you can copy FAX480 pictures in 

     this  mode  to  align it (the picture will only  fill  1/3  of  the 

     screen). Displaying the extra information in this new mode requires 

     a  full 640x480 TRUCOLOR video card---but these are down  to  about 

     $70  now (Cirrus ISA boards) and hopefully you have already  bought 

     one  to   use TRUSHO in the previous revision. There is  already  a 

     large population of hams with the TRUCOLOR cards.

          Some will  question the length of time to send such a picture, 

     but  it's  only  a bit longer than the Scottie DX  mode.  Like  the 

     Scottie  DX mode, it should only be used sparingly,  and  certainly 

     not  often on busy frequencies like 14230. But there are plenty  of 

     often unused frequencies on 15 and 10 meters and 75 meters is often 

     vacant  during the daylight hours. Also a number of our  users  are 

     operating  on VHF bands for local picture trading. When KY1S and  I 

     were  evaluating it initially, we shared a frequency with a  strong 

     broadcast station on 40 meters, and got surprizingly good  results. 

     Even  today we shift  down to Scottie 2 and Martin 2 when the  fre-

     quency  gets busy and go back up when the  conditions  deteriorate. 







     This mode is just one more step in that progression. It should be a 

     good  match  with the Kodak CD-ROM photo system--and  I'll  make  a 

     conversion program choice for Kodak as soon as I can find out their 

     format.



     ANOTHER MODE

          We  have  added  a new high resolution  Black  and  White  FAX 

     mode---well,  a little bit new. It uses the exact same line  timing 

     as  FAX480  and mode 96 Colorfax, and differs only from  FAX480  in 

     having  a VIS code attached instead of the lengthy header. We  have 

     renamed FAX480 as mode 95, and assigned mode 9 to the B/W FAX.  The 

     VIS  code assigned is &HAA (decimal 170). In RT the VIS code   will 

     be  recognized  and AUTO operation will be just like all  the  SSTV 

     modes. You can still acquire this mode and FAX480 pictures manually 

     in RT. In VT  you can choose the VIS-coded mode 9 or use mode 95 to 

     put  a  FAX480  header on the picture.  Files  are  interchangeable 

     between  these modes and use the same .FAX suffix. When you find  a 

     pix which has the detail to justify a mode 96 Colorfax file, make a 

     mode 9 B/W fax file so you can send it to folks without Trucolor to 

     show  what kind of detail is possible. As described  before,  these 

     modes have the 64 gray shades necessary for photo-like quality. The 

     resolution is 536x480.



     USER ADDED FEATURES

          Some users of this system have taken advantage of it's  flexi-

     bility to customize it for their own use. The most common modifica-

     tion  is to change the initial screen to remove all those words and 

     use the space for a more readable list of the mode choices. Of  the 







     ones  I am aware of, KY1S has the most imaginative  one---including 

     picture icons, introductory tunes, novel uses of the function keys, 

     etc., so some of you may want to get a copy from him to use direct-

     ly  or  to give you ideas for your  own  creations.[At  revision  E 

     time,  he  has chained our conversion programs and  VT.BAS  with  a 

     shareware  format conversion program called Alchemy to go  directly 

     from pix files in the more common GIF, PCX, etc. formats to picture 

     transmission in the SSTV format chosen.]

          To make these adders portable, so they can be easily put  into 

     later revisions without risking overwriting lines, it would be wise 

     to write them with line numbers above 6000. Then you can SAVE  them 

     as a BASIC ASCII file, and use the MERGE command to add them to any 

     future revision. Incidentally, "all those words" were an attempt to 

     force  some instructions on those who never read the  instructions. 

     They  are  easily relegated to a HELP screen with a  few  lines  of 

     BASIC.  In revision D we've offered a picture menu described in  RT 

     above.



     REAL TIME DISPLAY

          Some  have  asked  for real time paint of the  pix  as  it  is 

     received. I personally prefer not having it as I use the  receiving 

     time  to read the paper, and the incoming pix is  distracting.  But 

     many  others  have been used to it. There are tradeoffs.  When  you 

     take  the time to paint a line right after it comes in, it adds  to 

     the  "edge  of the room" gap we described above (in  RT).  We  have 

     chosen to go for maximum resolution (pixels/line) so that  increases 

     the gap time over a lower resolution choice. This gap can be hidden 







     in  all  but the AVT modes, but only if you copy in SYNC  from  the 

     start. We went to considerable trouble to minimize this gap so  you 

     can take almost any late start or out of sync picture and scroll it 

     into  position with negligible picture degradation. To  our  knowl-

     edge,  no other system offers that capability. Also, we  wanted  to 

     accomodate  the  lower speed 286 machines, so the "Store  and  then 

     Look"  choice  won the tradeoff. Of  course,  the  state-of-the-art 

     moves on, and with such a large population of 486's out there  now, 

     we  plan to revisit that tradeoff. Also, the newer  TRUCOLOR  cards 

     take  less time to paint a pixel. So if you really want  real-time, 

     be  patient. It will only be added, however, if it doesn't  degrade 

     the picture quality or the system flexibility. And it clearly  will 

     require the faster  computers.

          Revision  E adds this feature---and I just can't get my  paper 

     read anymore. Can't resist looking. I have not been able to  detect 

     any  deterioration  with the interleaving technique used.  I  would 

     welcome  someone on VHF, where there is no noise, copying the  same 

     picture  (a  clean, original file) with and  without  the  REALTIME 

     enabled, so I can make a more detailed analysis. Please state  what 

     computer  processor/speed was used. My VCR is not clean  enough  to 

     run a meaningful test.     



     EXPERIMENTER'S INFO

          To  simplify  the use and modification of  these  programs  by 

     experimeters, some of the conventions used are detailed here. First 

     of  all, the file bytes are the raw data  as received. If you  sub-

     tract the number 138 from each of them and XOR the result with  63, 

     you  will  get the actual color amplitude for that byte  in  6  bit 







     format. Conversely, you can take a picture in 3x6=18 bit format and 

     convert each of it's bytes  to the SSTV format by XORing each  byte 

     with 63 and adding 138 to the result.

          The  symbol,  LL,  refers to total line  length  (measured  in 

     bytes/line) in a picture. This includes sync bytes, picture  bytes, 

     etc.

          The symbol L refers to the byte count in a single color  frame 

     line. This also is the number of pixels in the color picture. Since 

     there  are  3 colors, 3xL would equal to the line  length,  LL,  if 

     there were no sync bytes. In the AVT modes, there is no line  sync, 

     so there 3xL=LL. 

          The  symbol  I is the mode chosen. Or in one  case  where  two 

     modes are used in a program, J is used for the second mode.

          The symbol FS is used for frame sync. If this is called out in 

     a mode, then a routine is inserted which holds the program  captive 

     until  a 1200 hz sync is received before it allows the frame to  be 

     copied.  Parameter  DE allows you to adjust the delay  after  frame 

     sync before the picture copying begins.

          LT denotes line timing with LT3 being line timing for mode 3.

          D% represents the number of lines in the picture mode.

          DR$ is the letter assigned to the RAMDISK (with quotes, "d").

          SW   is the line sync  window in TIME clock  counts  (approxi-

     mately in microseconds).

          EA  is  the number of bytes used by the line sync when  it  is 

     present.  In  the viewing program, this same number is  POKEd  into 

     memory  location,  &H3EA, which is where it got it's name.  In  the 

     transmit  program it is the bytes thrown away in each line  of  the 







     file being transmitted and replaced by sync. It is identical to the 

     above except in the non-synchronously copy modes , (11) and (22).

          VC is the video card choice. 

          S%  is  the number of bytes a picture was scrolled to  get  it 

     aligned  for SAVEing. It is returned as an output when you run  the 

     VUing  program.  It  gets converted to it's 4 byte form  as  S!  in 

     RT.BAS.

          SC  is used in the transmit program and represents the  number 

     of 1/2 cycles of the sync frequency (1200 hz) transmitted  on  each 

     line.

          LI  is  used  as the number of picture lines  in  the  TIFCONV 

     program. This program also uses Z as the byte value to be  inserted  

     in blank bytes. Z=138 is white; Z=249 is black.

          The  files as SAVEd have the picture color bytes placed  in  3 

     successive groups of bytes, each group being L bytes long. Then the 

     line  sync  bytes (if they are used in the  particular   mode)  are 

     tacked on to the end of each line.

          The  DEF  SEG statement in each of these  programs  tells  the 

     program  where in memory to place the program. All of the  programs 

     are  relocatable,  so  if you find interference  between  some  TSR 

     resident program and one of these programs, you may be able to move 

     it  up to keep from overwriting the  TSR (typically, this shows  up 

     as a computer hang-up which can only be cleared by re-booting). You 

     still need enough memory between DEF SEG and &HA000:0000 to  accom-

     modate the pictures you want to copy.

          If  you  find all  of your Robot pictures  are  initially  too 

     green or too purple, you can change the number 10 in line 1371  (in   

     both  memory  locations)  of RT.BAS to better center  it  for  your 







     particular tuning habits.

          If you find that you want to reset the default setting for the 

     color  registration  on a mode, you can find out what  the  desired 

     values  are  by first using C and X to get what you like  with  the 

     VU.BAS  program.  Then when you return to BASIC,  type  PRINT  PEEK 

     (&H3EA).  This  will be the new value to poke into &H3EA  for  this 

     mode.  Then  PRINT  PEEK(&h15D) and call the value  A.  Then  PRINT 

     PEEK(&H15E) and call the value B. Then PRINT PT. The new value  for 

     L, the color frame width, then is L = A + 256*B + PT. These  values 

     are added back into the program and SAVE'ed. This capability is not 

     available in the Robot modes.

          The  color  shades display at the beginning of  the  256  line 

     modes  has my call sign (K3BC) superimposed over it. In  order  for 

     you  to  change it to your call sign, you'll need to  learn  a  bit 

     about how two-color (or 1 bit) images are formed. If, for  example,  

     in  the  call sign array of bytes you wanted to make  the  first  8 

     pixels overwrite white, you would make the first byte equal to  255 

     or in hexidecimal, &hFF (which is 1111,1111 in binary). To paint the 

     first  4 pixels out of 8, the first byte would be &hF0  (in  binary 

     equals 1111,0000). Look at the lines starting at 780 in the  TX.BAS 

     program,  at  line 3430 in VT.BAS, and at line 2400 in  the  RT.BAS 

     program to see how to figure out what DATA bytes  to include to get 

     your  call sign. Once you determine the DATA array for  your   call 

     sign  insert it in all three programs. If you have 6 characters  in 

     your call sign it'll be a bit crowded---time for an upgrade!  Don't 

     try  to  change  the number of DATA bytes. If you're  too  lazy  to 

     figure  this out, you can signal that to the world by changing  all 







     the DATA line bytes to 0, which removes the call sign.

          If  you  belatedly decide to save a picture  and  haven't  yet 

     overwritten it in D:a.p then you can recover by LOAD "RT" and  then 

     typing  a temporary line---- 880 GOTO 890. Now execute the  program 

     choosing  the same mode as was used to capture d:a.p.  The  picture 

     will  show up and you can scroll it to the proper position and SAVE 

     it. You can move any file to d:a.p and re-scroll it this way if you 

     don't like the initial choice you made when you saved the file.  Or 

     if you want to transfer a part of one file to another using  LABEL, 

     use this method to scroll the transfer image to where you want  it, 

     and use the new file as a background file. 

          In  the  transmit program, each mode has it's VIS  code  poked 

     into memory location  &h3A5. The delay (in pixels) between the  end 

     of  the VIS code and the beginning of the red frame is  poked  into 

     memory  locations  &h523  (LSB)  and &h510  (MSB).  This  delay  is 

     switched in by the poke, poke &h52B,227, and is used in S1, S2, and 

     WR96. The pokes into &h373, &h374, and  &h375 are to switch a  path 

     inside  the  program for modes which have the 16  line  gray  shade 

     header.

          A  few  of  you  may have a  SVGA  card  which  only  supports 

     640x400x256. You can still view up to 200 lines of picture, but the 

     perspective stretches the picture vertically by a factor of 480/400 

     in the 240 and 256 line modes. The programs are constructed to  use 

     the 640x400 mode for the AVT94 (mode 6) only. There are a number of 

     lines  which  state:   IF I=6 THEN POKE &h113 or  &H398  with  some 

     number.  If  you take these lines and eliminate the  "IF  I=6"  con-

     straint  you will use the 640x400 for all modes:  specifically  you 

     delete the words "IF I=6 THEN"  in each line and leave the POKE. In 







     the RT.BAS program, the lines affected are 1765, 1815, 1875,  1925, 

     1995,   and   2045.  In  the  VU.BAS,  VT.BAS,   TIFCONV.BAS,   and 

     SLIDESHO.BAS  programs  the affected lines are  1590,  1635,  1685, 

     1735,  1787, and 1835. In PCXLABEL.BAS and TIFLABEL.BAS  the  lines 

     affected  are  1540,  1610, 1680, 1740, 1820,  and  1890.  Strictly 

     speaking, you only need to eliminate the constraint for the partic-

     ular  Video Card choice you are using. To my surprise,  a few  sys-

     tems have shown up with 640x480 but not 640x400. If you have  this, 

     just  eliminate all of the above lines, and mode 6 will be  painted 

     in the 640x480 screen (the easiest way  to eliminate them is to put 

     an apostrophe before the first word in the line, leaving the  words  

     there in case you get another video card at a later date).  



     COPYRIGHT NOTICE

          These programs were developed for the free use of other  Radio 

     Amateurs  but  since they might have other commercial use,  I  have 

     registered them with the U.S. Copyright Office. Radio Amateurs  are 

     free to make copies for other amateurs provided no monetary compen-

     sation  is involved. Any other use for commercial purposes is  for-

     bidden  without specific written permission from the  author.  Note 

     that the individual core machine language files are copyrighted  so 

     they may not be copied and sold as part of any commercial  venture.  

     Shareware  vendors may not reproduce these programs.  Also,  copies 

     may not be made to ship with any package for which monetary compen-

     sation is charged. Please help me police this!

                                                       Have fun,

                                                       Ben Vester,    K3BC 







     8/31/94                                                                                                


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