1.55 Mon 8 Jan 1996 ---------------------------- 1.54 release would not receive properly if running under a system that was running with Novell Netware Lite. Only BGFAX.EXE and BGFAX2.EXE have changed since 1.54. Changes between BGFAX 1.54 and BGFAX 1.50 MON 1 JAN 96 ========================================= ============= New features and bug fixes in VIEW.EXE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Have speeded up laser printing of faxes if you are using a laser printer that supports the PCL4 or PCL5 command set. Example PCL4 printers: HP LaserJet IIP, Deskjet Plus, Desket 500 Example PCL5 printers: HP LaserJet series III and 4 Switch DPI PCL average number of bytes sent to printer per page ------ ------- --- ------------------------------------------------ /P37 150x150 3 207K /P38 150x150 4 60K /P39 150x150 5 48K ( PCL5 not much gain over PCL4 at 150x150 ) /P40 300x300 3 806K /P41 300x300 4 183K /P42 300x300 5 82K ( Big gain! Ten times smaller than PCL3! ) /P24 180x180 n/a 303K ( Just for reference, Epson 24 pin dot matrix ) /P25 360x180 n/a 604K ( Same Epson ) /P26 180x180 n/a 315K ( The Canon BJ-200 ) /P27 360x360 n/a 1257K ( The Canon BJ-200, yes 1.3 meg/page :-( ) How is VIEW.EXE able to make the amount of data sent to the printer so much smaller? PCL4 allows the use of the PackBits compression method (HP calls it the "TIFF" method, but it is not TIFF). The PackBits method is kind of an enhanced-RLE coding scheme. PCL5 adds a 2D-like compression scheme, and BGFAX is not even using it to it's fullest extent. (It would take some serious coding to use PCL5's Delta Row compression to it's fullest.) VIEW uses Delta Row compression only when it needs to send two or more identical scan lines to the printer (which is the case when printing low resolution faxes.) 2. Fixed bank switching routine in VIEW.EXE that caused 1024x768 mode not to work on some computers. 3. VIEW now supports VESA 1280x1024 mode. To view faxes in this mode, start view with the /1280 switch. Alt-S (squeeze) will not function when viewing in this mode, because the image, for the most part, fits nicely on the screen (okay, you might have to hit right arrow twice to see the far right side of the fax.) 4. VIEW.EXE was not correctly viewing TIFF-Class F (Faxworks) image files if they had more than 1 page. It should work correctly now. 5. Rewrote small parts of VIEW.EXE in assembly, for slightly faster operation. 6. VIEW will now spool to disk if all conventional and XMS memory runs out when loading the page image. Things will become *SLOW* if this happens, although since most people have XMS, this should only rarely happen. 7. Enhanced /CGA display mode with respect to Alt-S. If you "shrink" a screen in CGA mode now, the "shrink" mode will stay engaged as you pan around the screen. 8. If VIEW was viewing a PCX file that's x-dimension size was not a multiple of 8, the right corner of the image would have artifacts in it. Fixed. 9. In old VIEW, if you were viewing a fax, and hit for Help or to print just that page, when VIEW put the fax back on the screen, it would only put part of it back. Fixed. New features and bug fixes in BGFAX.EXE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. New BGFAX command line parameters a. /NL Do not create or write to the BGFAX.LOG file b. /SD Do not put additional debug information into DEBUG.LOG (BGFAX 1.54 now defaults to use "debug" mode. This parameter is needed to take 1.54 out of debug mode. The "FAX=DEBUG" environment variable is no longer used.) If you use /NL, you do not need to use /SD. c. /MO BGFAX will only use monochrome colors when writing to the screen--useful for palmtop users. d. /NM BGFAX will use "numeric mode" when talking to the modem in Class 1 /SEND mode. This might be needed if you are sending from modems like the I-Modem. Numeric mode basically puts the modem into ATEQV mode. e. /SL:nn Add nn extra scan lines to the top of each page sent in /SEND mode. Example: BGFAX /SEND file.fax 8939124 /si:20 BGFAX will add 20 blank scan lines to the top of each page as it sends. Just adds extra white space, nothing special. f. /CI:xxxxx Check ID of remote machine before we /SEND the document. Example: BGFAX /SEND file.fax 8939124 /ci:3_9124 BGFAX will dial the remote fax machine, and make sure that a "3 9124" appears somewhere in the remote fax ID. Note that underscores (_) are used to represent spaces. If /ER mode is active, if the Check ID fails, BGFAX /SEND will exit with errorlevel 18. If no /ER, if it fails, it will exit the standard error exit errorlevel 1. How is this useful? Well, say someone gets call forwarding on their fax line, and they have to forward their number to an alternate fax machine for a week while their fax machine is repaired. The remote fax machine is probably programmed with an alternate remote ID, and BGFAX /SEND will abort when it realized the remote ID does not match what it should, in the case that you need to send very confidential documents. 2. BGFAX /SEND mode will no longer perform the "analysis" phase when sending QFX files, since the information BGFAX is looking for is really already in the QFX header. (Regular ZFAX-style FAX files will continue the scan.) 3. Believe I found the problem with BGFAX leaving behind BGFAX.$$$ files when receiving. It should now call it FAXnnnn.FAX (or whatever) like a successful fax reception even if it timeouts or otherwise fails. 4. In Class 1 mode, occasionally BGFAX would hit a weird fax machine that keep requesting one retrain right after another. The other fax machine would never timeout, and this could go on for hours. Now, I've changed BGFAX so that if more than six FTT frames (retrains) happen, it will abort with a timeout condition. If /ER (extended results) mode is active, this condition will be errorlevel 19 (too many retrains). 5. Class 1 mode is now sending about 100 null bytes at the end of each page after the RTC, because some times the other side was not always receiving the RTC sequence, so the these "extra bytes" should help. 6. Class 1 mode should now be able to handle reception of invalid HDLC frames by asking the remote side to resend them (in case of a line noise error). If this happens, you'll see a "REQUESTING FRAME REPEAT" appear on the screen and in the log. It is very hard to duplicate when this happens, so I was unable to test this code to see if it fixed it or not. 7. BGFAX would not abort if the /HOST mode "extra id[]" field contained the keyword "ERROR". Fixed now. New features and bug fixes in MAKEFAX.EXE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. MAKEFAX has a new command line parameter, /PL:nn where /PL can be used to override the number of lines per page, useful for people in countries that do not use US-paper sizes. e.g., MAKEFAX HELLO.TXT OUT.FAX /PL:70 Would use 70 lines of text per page instead of the US value of 66 lines. 2. If MAKEFAX was converning a PCX into a FAX where the PCX x-dimension size was not a multiple of 8, things went wacko. Now fixed. 3. Changed MAKEFAX so that it handles strange ASCII situations in a more elegant manner. (Someone had a test file where instead of each line terminated by a CR/LF, it was a LF/CR. MAKEFAX no longer goes beserk when this happens.)