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 filename, like: lo=c:\banner.txt ...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 should. 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). Class 2.0 ~~~~~~~~~ 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. ZyXEL #B1+FCLASS=6 ~~~~~~~~~~~~~~~~~~ 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.