28 Sep 94... Rev 1.36a... New VIEW.EXE included, printing was disabled in
the released version. Everything else the same.
Changes between BGFAX 1.36 and BGFAX 1.30 SUN 25 SEP 94
IMPORTANT: Copy BGFAX.EXE, MAKEFAX.EXE, VIEW.EXE, FNTEDIT.EXE, and the
BGFAX.FNT file into your BGFAX directory if you are upgrading
from a previous version of BGFAX.
An OS/2 version of BGFAX is in beta testing, but it is not released at
this time due to the number of unresolved TRAP-D errors reported.
This version does not fix the EXAR/DLE problem many European users have
reported. I just received an EXAR modem two days ago, but it was too
close to the release date to work on the problem. I hope to address this
problem in the very near future.
1. VIEW.EXE has been greatly modified. Typing "VIEW" by itself, in a
directory that contains fax files will bring up a list of all the faxes
in the directory, with the remote fax ID's if a FAXIN.LOG is also
located in that directory.
VIEW can now also print faxes on 24-pin dot matrix printers as well as
Canon Bubble Jets. (Lasers, Deskjets, and 9-pin dot matrix printers
are not currently supported.)
2. A new BGFAX.FNT file is included. Two fonts, rather than just a single
font are now supported in MAKEFAX.EXE.
/F0 16x16 /F0 /HR 16x32 [ 100 characters per line ]
( This /F0 font is actually a 8x16 font, the original BGFAX font )
/F1 16x16 /F1 /HR 16x32 [ 100 characters per line ]
Font 0 (/F0) is the font BGFAX uses for generating the top of page
headers on outgoing faxes.
Font 1 (/F1) is the font BGFAX will use when converting ASCII text
files to FAX files.
The new font is a modified version of the ZyXEL's ZFAX font. These
fonts were added because many users claimed the original font (/F0)
was too ugly. A font editing program (FNTEDIT.EXE) is included for
users who wish to customize the two BGFAX fonts. The included font
file is a standard American/English/ASCII 256 character set.
1. This version of BGFAX no longer includes the drop-dead expiration
date that previous versions of BGFAX used. However, to give people a
little incentive to register BGFAX, the fax "music" can no longer be
disabled, except on registered versions. (The /NS switch).
2. BGFAX will now show you bad command line parametered entered, or bad
BGFAX.CNF lines. It will require you to press any key if it encounters
such a thing. (READ THIS AGAIN!) ^^^^^^^^^^^^^
3. US ROBOTICS users: If you are using a NON-V.34 Courier, be sure to add
the /OU switch (old USR) on the command line when SENDING FAXES. (Do
NOT do it on RECEIVING faxes, UNLESS you are using 09/20/93 firmware on
the V.32-TERBO Courier). In review:
Modem (US Robotics) Sending Receiving
USR v.32terbo (09/20/93) /OU /OU
USR v.32terbo (non 09/20) /OU n/a
*USR v.FC /OU n/a
USR v.34 (latest FLASH) n/a n/a
*If you are using the USR v.FC Courier, you should really get the
FLASH upgrade to turn your modem into the v.34 Courier.
4. If you were storing faxes in QFX format, and you receive a 2D-MR style
comes in, BGFAX would save it, but it would be unusable because Quick
Link II does not support 2D-MR style faxes. Now, BGFAX will automatically
shift to ZFAX file format in the event this occurs so that you will get
a usuable fax file out of the connection.
5. BGFAX /SEND mode now has the "makefax" utility built into it. What??
Well, before, in the release version of BGFAX 1.30, it would shell to
MAKEFAX.EXE to construct the top of page header files. Now, a shell is
no longer required, so it will build the header internally.
New Command Line Switches
1. For people have timing problems in /rear end mode (i.e., they can
receive some faxes when using /FCOS and others using /FCO, but each
switch only works in certain circumstances), you can now optionally
control the timing aspects of BGFAX:
/FCO and /FAST can now optionally be used as... /FCO:nn or /FAST:nn
/FCO:4 will assume after 4 seconds that the "OK" already received
/FAST:7 will assume after 7 seconds that the "OK" already received
/FCO:0 is functionally equivilant to /FCOS
/FAST:0 is functionally equivilant to /FCON
/FCO will default to /FCO:20
/FAST will default to /FAST:20
2. Added /ED switch on BGFAX command line. /ED will make BGFAX use the
European date format (dd-mm-yy instead of USA format, mm-dd-yy) when
writing to log files.
3. New command line parameter for /HOST and /RING modes. /DTE:nnnnn which
force BGFAX to use the DTE specified, overring the SP= entry in the
BGFAX.CNF file. Ex: BGFAX /RING /DTE:57600
4. If you were using a version of the Supra fax modem and were trying to
use in to answer calls in Class 1 mode instead of Class 2 mode, and
if you were getting +FCERROR messages, you might want to try the new
/DW switch on the BGFAX /HOST command line.
5. New operation mode: /RING
Example: BGFAX /RING
This is basically a modified version of /HOST mode. In /HOST mode,
BGFAX waits for a "RING", then answers the phone. In /RING mode,
BGFAX will go into a /HOST-like mode, but will initialize the modem,
and then immediately send the answer string to the modem. What's the
reason for this? Some people have written their own programs which wait
for a "RING" (or ring-status-indicator) that take up much less CPU
resources than CPU-hog BGFAX /HOST. A DTE speed is o
6. New command line parameter: /HB ( for developers only )
/HB means that an ASCII banner file (BGFAX.H$$) already exists. BGFAX
will then turn that into another temporary file BGFAX.HH$ (fax image
file). You should not really need to mess with this. If you don't use
this switch, BGFAX will construct its own ASCII banner file (using the
template information out of the config file), and then make the temp
fax image file. Confused? Top of page banner options:
/NB -> no top of page banners
/XB -> assume fax image banner file already exists (BGFAX.HH$)
(to use the /XB switch you must use MAKEFAX.EXE in /HDR mode)
/HB -> assume ASCII banner file already exists (BGFAX.H$$)
Again, the /XB and /HB switches are really for developers who want
to have complete control over what goes onto the top of the page.
1. Believe I have fixed a major bug with BGFAX when in /SEND mode, when
using a Class 1 modem. BGFAX 1.30 would never get an acknowledgement
from the remote machine. This was because BGFAX was "filling" the EOL's
in the RTC sequence. Don't worry if you don't know what that means, but
it was a major problem that's now fixed. BGFAX users using /SEND mode
with a Class 2 or Class 2.0 modem should notice no change.
2. I documented something in BGFAX 1.30, that actually was not added. 🙂
Well, now it will work. If you are using BGFAX in /HOST mode, BGFAX.DOC
said that you could specify a filename on the LO= or DO= line.
Actually, it was only working on one of the lines. There was also a
typo in the BGFAX.CNF file included with BGFAX 1.30. There was mention
of a ";lo=
3. Fixed problem with "crashmail". (If you aren't running the GT Power
BBS netmail software, you don't have to worry about this.) BGFAX was
not exiting with the correct errorlevel when a CQCQCQ crash string was
detected (as specified in the BGFAX.CNF file).
4. Rockwell modems that are configured to report DCE rates on the CARRIER
line (i.e, CARRIER 28800, CONNECT 57600/ARQ) will now get properly
reported by BGFAX.
5. Had a user call me with a problem they were having with their USR
Sportster 2400 data/9600 fax modem. BGFAX kept thinking they were
using a Class 2 modem since it reported "(0,1)" instead of "0,1" on
an +FCLASS=? request.
6. GVC recently came out with a new firmware revision to fix a problem
with their modem adaptive answering incorrectly reported 2400 data
callers as fax. However, they broke something new in this release.
At the end of the page, when BGFAX sends its AT+FDR command, for some
reason, the modem would echo "AT+FDR+FHNG:0" as its response instead of
"AT+FDR" on one line, and then "+FHNG:0" on another. Fixed BGFAX so
that it can handle the GVC's strange new behavior.
7. In /HOST mode, if BGFAX encounters a "NO CARRIER" when trying to answer
a data call, it will now promptly abort instead of having to timeout.
8. That silly BGFAX.DAT file that always pops up... Well, you can now
delete it and it will stay away. BGFAX.DAT is now used ONLY in /HOST
mode, the way it was really meant to be used for. (The BGFAX.DAT file
was never intended to exist in /Fxxx, /SEND, /INIT or /RING mode.)
Changes between BGFAX 1.30 and BGFAX 1.21 SAT 11 JUN 94
BGFAX is available by Fido FREQ at 1:106/400 under the magic name "BGFAX".
It is also available off FTP site FTP.CSN.NET in the "Computech" directory.
The expiration date has been extended from June 30 until September 30, 1994.
Top of page headers
BGFAX will now add top of page headers on all pages when SENDING
facsimiles. Consult BGFAX.DOC for more information. Be sure to add the
following two lines into your BGFAX.CNF file if you send faxes:
fh=To: %to21% From: %fr42% %mo2%/%dy2%/%yr2% %hr2%:%mi2% Pg %pg2%/%mp2%
fr=B.J. Guillot (713-893-9124)
You will need to place the new copy of MAKEFAX.EXE included with BGFAX
1.30 as well as the BGFAX.FNT font file in your BGFAX directory.
The fh= is the top of page header template. See BGFAX.DOC for more
details. The fr= is to be your company/personal name to go into the
%frNN% template variable. Example:
bgfax /send output.fax 555-1212
To: 555-1212 From: B.J. Guillot (713-893-9124) 05/08/94 16:25 Pg 01/15
Keep in mind the above line is 100 characters long. Another example,
this time using the new /FR and /TO override switches:
bgfax /send output.fax 555-1212 /fr=BGFAX_Tech_Support /to=John_Doe
To: John Doe From: BGFAX Tech Support 05/08/94 16:25 Pg 01/15
A few other new switches relating to the top of page headers are
available. You generally should not have to use any of these, but I
like to keep everything in BGFAX documented:
/NB do not put headers on pages (IT IS AGAINST UNITED STATES AND
CANADIAN FEDERAL LAW TO USE THIS SWITCH)
/XB assume top of page temporary file has already been created and
use existing temp file instead of creating a new one (THIS IS FOR
TESTING PURPOSES ONLY)
/HDR an interal switch for MAKEFAX.EXE (DO NOT USE)
Two Dimensional Fax Compression
Put support in BGFAX for sending and receiving 2-dimension (Modified
Read) fax documents. What are 2d faxes? It's basically a different
compression method for the fax images. 2d faxes are generally about 12%
smaller (size in bytes) than standard (1-dimension, Modified Huffman)
faxes. To enable 2d fax reception on a Class 2 fax modem, make sure
your +FDCC=1,5,0,2,1,0,0,0. (Notice the "1" after the "2". Usually I
tell people to put FOUR zeros on the end, now it's only three.) Note
that VIEW.EXE cannot yet view 2D faxes, so if you want to use this
feature, you must use ZFAX to view them. :-). The 2D option was mainly
added for people with ZyXEL modems that always defaulted to 2D fax. If
BGFAX didn't know the incoming fax was 2D, it would corrupt it in the
process of receiving it. Now, if it notices it's 2D, it will put the
proper flags in the ZFAX fax file.
Note that the QuckLink II QFX format does not have a field for 2D fax
identification. As a result, if you wish to receive these better
compressed fax files, be sure to tell BGFAX to save faxes in ZFAX mode.
Other new features
1. VIEW.EXE now checks for the type of graphic adapter card you are using
(VGA, EGA, CGA) and will automatically select the correct mode. You will
no longer need to use the /EGA and /CGA switches. VIEW currently does
not view 2D compressed fax files. I'm working on this.
Many people complained that VIEW's Alt-S (zoom out, squeeze) function
kept resetting to normal full zoom mode when an arrow key was it. VIEW
was actually designed that way :-), but so many people complained, I
made a change. Now, when you enter Alt-S zoom out mode, it will STAY in
zoom out mode until you hit Alt-S again, or, jump to another page in the
fax file you are viewing. Note that Alt-S will not stick in CGA video
mode. Therefore, only EGA and VGA video modes will be support Alt-S
zoom out mode. (CGA systems can still do it, it just won't "stick").
Made a change in VIEW so that Windows 3.1 Accessory "Paintbrush" can
now correctly read VIEW filename /PCX created PCX files. PCX files can
also be read by CSHOW, PCXview 1.12 and ZFAX 2.23. Therefore, since
four programs can do it, the PCX files should be readable by anything.
2. BGFAX will now disconnect if the remote fax machines does not meet
BGFAX's requirements for the current session. (i.e., if you are trying
to send a high resolution fax to a non-high res station, BGFAX will
abort, as well as if you try to send a 2D-MR fax to a 1D-MH only
station. Before, BGFAX would alert the user of the mismatch, but still
send the fax, which would result in either elongated or garbage faxes on
the receiving end.)
If you are sending in /ER mode, these new errorlevels have been added:
errorlevel 17 -> remote fax device does not support 2D-MR
errorlevel 16 -> remote fax device does not support high resolution
errorlevel 15 -> Class 1 fail after connect (similar to errorlevel
12, except 12 is for Class 2/2.0 only)
3. Some people were having trouble with the 30 digit maximum phone number
in /SEND mode, now, the phone number can be up to 60 digits (so you can
get through those nasty PBX'es, etc.)
4. A new MAKEFAX.EXE is included with this release. MAKEFAX will now start
a new page if a ^L (ascii-12) is encountered as the first character of
the line in an ASCII file. MAKEFAX will now default to look for the
BGFAX.FNT file in the BGFAX environment path instead of the current
directory. New MAKEFAX switches: /HDR, /HR, /2D, /SP
/HR tells BGFAX to output a high resolution fax image file. Note that
the font BGFAX uses is very simple and you will get NO advantage using
this option. The disadvantage is it takes twice as long to send the
fax since all the scan lines have been duplicated. Don't use.
/2D tells MAKEFAX to output a 2D-MR fax image. While normally a 2D-MR
fax will will have better compression than standard fax files, MAKEFAX
does not yet know how to use 2D-MR's special compression, so you will
wind up with a fax file BIGGER than normal. Don't use.
BY THE WAY... MAKEFAX.EXE now requires TWO filenames when you call it.
The input filename and the output filename. (In previous versions of
BGFAX, MAKEFAX would always create a file called OUTPUT.FAX. Now, you
have to give it a name). Example:
MAKEFAX batman.txt robin.fax
...that would convert the ASCII text file "BATMAN.TXT" into a standard
fax format file, "ROBIN.FAX".
The one switch that will be useful to you is /SP, which stands for
"short pages". Using this switch will make your fax files smaller (if
they don't take up a full page). Note that if you send to a thermal fax
machine, they will receive your fax, but the auto-paper cutters will cut
the page right after the last line of text, so it's possible they could
get a 8.5 x 2" paper instead of 8.5 x 11". 🙂
5. Some /HOST mode changes. In the BGFAX.CNF, if your LO= entry
(usually says lo=Please wait while the BBS loads...) has an actual
...BGFAX /HOST mode will send that file across to the user.
Also, added a new /300 switch that will allow BGFAX to take 300 bps data
callers. Normally, a "CONNECT" message will be interpreted by BGFAX to
be a Class 1-non adaptive answering fax connect response. (So people
that don't have adaptive answering modems can use BGFAX as a stand alone
fax program rather than a data/fax frontend/rearend). Now, if you use
/HOST /300, a "CONNECT" message will be interpreted as "CONNECT 300".
BGFAX will now properly shift the port to 1200 or 300 bps if you are
using an ancient 2400 only data fax modem. (i.e., like autobauding).
When answering data calls in /HOST mode, 40 seconds seemed to short to
establish data calls in some foreign countries (where the connections for
the modem sometimes take 95 seconds to establish). I now pushed the limit
up to 2 minutes.
6. Added bu= entry in BGFAX.CNF. This entry allows you to define a busy
string. BGFAX will default to "ATH1M". (This busy string is used if
when you tell /HOST mode to perform a "local login").
7. The PID number can now be specifed in BGFAX.CNF. What's the PID number?
It allows BGFAX to work better in a multitasking environment. If you
have a "pi=4" in your BGFAX.CNF, the BGFAX temp file will be called
BGFAX4.$$$ instead of BGFAX.$$$ so that it won't cause any problems.
Log files will also have the PID appened to them, i.e., BGFAX4.LOG,
FAXIN4.LOG, etc. Using the pi= in BGFAX.CNF is completly optional.
8. If a timeout occurs during fax reception, previously BGFAX would just
leave the BGFAX.$$$ file on the drive, and it would get overridden
later. Now, if the fax is bad, it will be renamed BADnnnn.FAX. Where
nnnn is a sequential number. Sometimes it is helpful to be able to
inspect these bad files.
9. Added /Q (quiet) and /QQ (super quiet) modes. "Quiet" not meaning
sound, but screen output. In /Q mode, 90% of the screen output will be
suppressed. Instead of the usual "beautiful" BGFAX screen, the only
things printed to the screen will be the bland output of the log file.
In /QQ mode, 99% of the screen output is supressed. These features are
useful for people running BGFAX under DOS emulators and don't need time
wasted by having the emulators write to the screen.
Class 1 bugs fixed
1. Fixed a bug in my Class 1 implementation relating to receiving of HDLC
frames. If the modem responded "NO CARRIER" to an "AT+FRH=3" request, I
was assuming this meant the modem was not functioning correctly, when in
fact, it means that no carrier is CURRENTLY present, but if you send the
command again (AT+FRH=3) the modem will report "CONNECT", like it
2. Class 1 HDLC sent and received frames are now added to DEBUG.LOG and
Class 1 sent frames are also now displayed on screen.
3. At the end of pages in Class 1 mode, BGFAX would send a response to the
other fax machine when sending and expect a reply. However, many fax
machines do not see the first reply (they are busy form feeding the
thermal paper and cutting it) and BGFAX would abort. Now, BGFAX
properly will send the end of page frames up to three times before
giving up on the fax machine.
4. I have eliminated the /HW switch for Class 1 users. Now, BGFAX will
send 500 nulls at the beginning of each page. Apparently, this is what
Quick Link II fax was doing, and it looks successfully so far.
5. Fixed some more major problems in Class 1 send mode relating to the
minimum scan line time. BGFAX will now pad the fax scan lines with
"FILL" (nulls) for scan lines that have less bytes than the minimum
required per scan line.
6. Found a major bug in my Class 1 implementation. Some people have
reported the problem as the "infinite retrain". The problem had to do
with something I thought could be ignored--the minimum time per scan
line. In Class 2, this setting is not important, but it appears to be
very important for Class 1. Basically, BGFAX was telling the remote end
that BGFAX could only support a maximum of 0 ms/scan line. Only other
fax modems, and some super-high tech fax machines support this. Most
fax machines use 10 ms/line or 20 ms/line. BGFAX will now correctly
negoiate this parameter with the remote fax device. (This bug was only
significant in /SEND fax mode, not receiving).
1. A Class 2.0 modem could not be forced in Class 1 mode for /SEND mode
with the /C1 switch. Fixed.
2. Added /FCC switch for testing purposes with USR Class 2.0 modems.
On Class 2 modems, I can force a maximum speed of 9600 when sending if I
issue the command "AT+FDCC=1,3,0,2,0,0,0,0" before dialing. I assume I
should be able to do this using Class 2.0 by issuing
"AT+FCC=1,3,0,2,0,0,0,0" but it doesn't work so well. If you use the
/FCC switch, BGFAX just lets you see what is going on.
By the way, to set a maximum speed for BGFAX in sending mode, use
BGFAX /SEND:7200 filename.ext phonenumber [for Class 1, 2]
BGFAX /SEND:7200 filename.ext phonenumber /FCC [for Class 2.0]
Remember, it doesn't appear to work properly, though.
1. Many people reported BGFAX "locking up" when the little spinner
(propeller) was on the screen. BGFAX will now monitor the DCD line and
if carrier drops, it will promptly exit BGFAX. This DCD check occurs
during both the "Syncronzing" and page receiving.
2. The remote fax ID was always being reported as "Null Fax ID" even
though it was visible in brackets on the screen. Fixed.