home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
HAM
/
VESTER_A.ZIP
/
TVINFO.TXT
< prev
next >
Wrap
Text File
|
1994-01-30
|
74KB
|
2,252 lines
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
Copyright 1993 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.
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 SAMPLE.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.
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.
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-6000. 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. After making the selections, move the
cursor into the clear and LIST 3000-6000 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.
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 enough time 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 use 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 so much time 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. Perhaps the next revision will include header recognition for
this mode.
As I sit here writing this, it occurs to me that we should
create another fax standard. We'll use the full screen instead of
wasting room for a few easily remembered key commands, so it will
have 640x480 pixels with 64 gray shades per pixel. That will just
fit within the 640 kb. limit in RAM. The header will be identical
to the Scottie 1 except the VIS code will be different. Let's call
it FAX640 and we'll assign mode number 96 to it. For the VIS code
we'll also use 96 (hexidecimal &H60). The line sync and pixel
rate will be identical to the FAX480. Since the system pixel rate
gives 1024 pixels in 0.5 seconds to match the weather fax stand-
ards, our line timing for 640 pixels will be 0.3125 + 0.00512
seconds per line (data + line sync). It should only take a few
hours to add mode 96 to this program and all the supporting pro-
grams. Since most pictures from frame grabbers or other sources are
in 640x480 format, picture reformatting will be simplified. Maybe
I'll add the FAX640 mode to the next revision of the software.
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-6000). 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 common mode being used 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 corrections 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 reference 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 calcu-
lated values for LT. Reports from other users indicates the calcu-
lated 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. Fortunately, 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. This will be a futile exercise unless you have an
extremely precise professional recorder (the line SYNC window in
this system is only a few microseconds !). While most people oper-
ating on the non-Robot modes have pretty accurate line timing, the
Robot systems vary all over depending on how many updates a partic-
ular 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,crystal-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 calculated 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
illustrated 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 CONFIGURA-
TION 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 num-
bers.
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 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.
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 can be changed by playing with the parameters in
lines 2605, 2606, 2607 of the RT program.
I have made several versions of the VIS recognition machine
language .ASM module; namely VISCODE.ASM, VISCODEA.ASM and VISCO-
DEB.ASM: but have been unable to decide which is best under mistun-
ing, QRM, etc. Not wanting to hold up the release of this version
of the software, I have included copies of all 3 so you can have
the fun of evaluating them. You just type the one you want to try
into line 471 of RT.BAS. Any feedback will be appreciated.
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. This program puts itself into an endless
loop so you have to exit it by using CTRL-BREAK. If it's waiting
for a new picture you may need to also hit another random key. If
you copy (or REName) the desired 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. Since AVT modes have both a VIS code and a compli-
cated frame SYNC sequence, you can get hung up by passing the VIS
test but missing the frame SYNC test, 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.
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.
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.
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 divide 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.
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 and 64SHO.ASM) is configured 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. 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.
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.
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.
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.
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. Put the text in the upper left corner of the PAINT
screen when you generate the mask.
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.
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. Share-
ware vendors may not reproduce them.
Have fun,
Ben Vester, K3BC
1/30/94