THIS IS A BETA VERSION, IT IS ASSUMED YOU ALREADY HAVE DOWNLOADED A COPY OF BGFAX170.ZIP FROM MY WEB SITE! voice: 281-820-1453 e-mail: bgfax@blkbox.com http://www.blkbox.com/~bgfax/ 1.70 Revision U Sun 27 Feb 2000 ~~~~~~~~~~~~~~~ 1. BGFAX is now free! No registration is required. All features previously only in the registered version are in this version for all to use. Note that I still maintain all copyrights on BGFAX and it's companion programs. I want to start an Open Source Project, but there are a few logistic issues that must be solved first. Keep tuned to my web site for announcements. 2. If BGFAX32 detects the com port is in use by another application, it will abort with errorlevel 254. It will also display an error message on the screen indicating the problem instead of the previous crytic message it used to display [BGFAX32: createfile/openport getlasterror=5, etc.] Now will will say "BGFAX32: Port COM2 is in use by another application", etc. 3. Fixed a bug that caused "POLY32 /QUEUE" to exit after several hours. (POLYFAX /QUEUE's normal operation is to never terminate unless it is instructed to terminate by the user--it should continously look for new outgoing faxes.) The error involved calling the FindFirstFileA Win32 API will without calling a cooresponding FindClose API call. After several thousand calls to FindFirstFileA which may occur after several hours or days, it will eventually fail and cause POLY32 to shutdown. This should not have effected the DOS or OS/2 version of POLYFAX. 4. Makefx32.exe and Poly32.exe will now display "Makefax" and "Polyfax" on the Win95/98/NT taskbar instead of "Command prompt--makefx32", etc. that it would previously display. 5. 32-bit Windows versions now compiled with Delphi 5. 1.70 Revision T Wed 19 May 1999 ~~~~~~~~~~~~~~~ What better way to celebrate Star Wars opening date than to release a new beta of BGFAX? It has been more than a year and a half since the last beta release of BGFAX! I have been so busy with school the past year that I have not had time to work on BGFAX, but I finally graduated last week [double major: Computer Science and Mathematics], and now I have a little bit of time to do some updating to BGFAX. The graduation present I have given to myself is a vacation to Kennedy Space Center from May 27th to May 30th. If all goes well, I should be able to see space shuttle mission STS-96 launch on the 27th or 28th. This beta of BGFAX contains numerous maintenance ("bug") fixes that I have made over the past year and have released to a few of my larger customers, but have not released publicly until now. Please report any problems to my e-mail address. 1. The BGFAX32 version has now been compiled with Inprise Delphi 4. (The last beta version of BGFAX32 was compiled with Borland Delphi 2.) Delphi 4 is much more strict on the syntax than Delphi 2 (i.e., required loop variables to be local and not global), so this required quite a bit of code changes to make all the Win32 executables compilable under the Delphi 4. As a result of these code changes, if I screwed anything up, it's possible the effects might be visible in the DOS and OS/2 versions even though I didn't use the Delphi compiler for those versions. 2. BGFAX32 will now automatically use the full size of the console it is running in, like the OS/2 version of BGFAX has done for some time now. (i.e., if your console box is set to use 40 rows by 120 columns, BGFAX32 will automatially adjust itself to fit.) (You should not attempt to run it in a smaller than 80x25 window, though.) 3. VIEW.EXE will now correctly sort faxes that have y2k dates. VIEW kept thinking it was looking at 100 year old faxes. 4. BGFAX32 now supports the /MI switch, which tells BGFAX32 to minimize its window once it starts up so that users will not need to look at BGFAX32 while it is running. 5. MAKEFAX now supports /WW switch, for Word Wrap mode. Some text editors do not create carriage return/line feed combinations when they advance the user's text to the next line. Now, if the /WW switch is added to the end of the MAKEFAX command line, MAKEFAX will automatically insert the CRLF's at the correct place. 6. VIEW will now treat "+" and "-" the same as Alt-S to switch between the shrink/squeeze modes. The "+" and "-" don't actually do anything but alternate between modes, so the plus and minus nomeclature isn't quite realistic, but this was done because many people think of + and - as zoom/shrink instead of Alt-S. 7. Logic added to BGFAX to support the special $10 special sysop deal registrations that were announced back in December'97. The sysop deal BGFAX is a low-cost registration that is for receive fax operation. If you attempt to send a fax with a sysop deal registration key, you will still have the 15 second delay--fax receiving will not have the delay. This special logic was added because I know that the BBS market is declining, but there are still sysops out there that like to be honest and registration software, but feel the $25 fee for BGFAX was too expensive since they never use the send capabilties. 8. Fixed problem in VIEW that caused VIEW to abort if the first page of a fax contained zero scan lines, when the second page may have actually contained a valid fax image. 9. Fixed a problem that caused unregistered versions of BGFAX32 to abort with an abnormal errorlevel after a successful send. The registered version was not effected. 10 Fixed minor glitch that caused BGFAX to abort with a file not found error if you specified a landscape conversion on the BGFAX command line rather than the MAKEFAX command line. BGFAX will now correctly identify an "=" sign as a landscape conversion choice, i.e., bgfax /send =landscap.txt 1-713-507-9620 11.Fixed a glitch introduced in 1.70r that made BGFAX incorrectly detect some low and high res incoming faxes as superfine resolution. I believe that bug was introduced because of a work-around I put into BGFAX because of a report in which a real superfine fax was detected as a low resolution fax with certain modem (ZyXEL 2864I?) and fax machine combinations, but my old notes were not very clear. 12.Fixed a bug that caused BGFAX-host-idle-exit mode (i.e., BGFAX /HOST:nn) not to exit after nn minutes if the user manually changed the system time. A change of the system time should now allow BGFAX to perform the idle exit errorlevel 6 rather than just sitting there forever. 13.If an error is detected while calling an API call in BGFAX32, it will now abort with an errorlevel of 255 instead of 0 in order to help me track API releated issues. 14.I noticed a /81 switch I added to MAKEFAX several betas ago, but I am unable to remember why this switch was added. /81 is is the same as /80 (80-column text conversion), but it does not extend the far left and far right bits of the text characters when converting. This effects line drawing characters, i.e., a single horizontal line, when using /81 will appear as a dashed horiztonal line. I cannot think of the reason why I added this, but wanted to document it for my records. 1.70 Revision S Sat 22 November 1997 ~~~~~~~~~~~~~~~~~~~~ It's been a month since the last beta, so I decided it was time to release something new (you guys know I hate "stale" software), but the only significant changes is the addition of landscape support for MAKEFAX. Most everything else relates to minor bug fixes. Once again, any new registrations would be appreciated. It's been another terribly slow month. If there are any features you need added to BGFAX that you'd be willing to pay for, we can work out a reasonable arrangement. I've also adjusted the pricing scheme somewhat. Personal registrations are still $25, but I've added a new catagory called "BBS SYSOP" registration that costs only $10. This is for the hobbiest that uses BGFAX in a limited capacity just for receiving faxes with their BBS. This special "BBS SYSOP" version will NOT offer fax sending capabilities. See the new REGISTER.FRM file included in this beta for more details. I've also added two other choices on the registration form. You can now choose to buy the Pascal source code to VIEW and MAKEFAX for $100, or the Pascal/Delphi source code to the entire BGFAX package for $700. People have expressed interest in buying the source code before so they could make their own custom modifications for internal use in their own business, but I usually declined the offer, because I was too afraid of letting my work slip out. However, since registrations have been so slow lately, I need to do whatever I can to make some extra money. Now, you should now the source code is not pretty, but it does work (but you know that if you use the BGFAX executables). 1. MAKEFAX _finally_ supports landscape mode. This is something many businesses have been asking about for quite some time, but I just never had the time to do it. Landscape support only works with ASCII files. To tell MAKEFAX to use landscape mode, simply put an equal sign (=) in front of the filename, example: makefax =test.txt output.fax The "=" tells MAKEFAX to rotate the image 90 degrees to enable a landscape image when you are using ASCII files with a large number of columns. MAKEFAX will force the fax to use high-resolution mode when landscape mode is active, so the /LR and /HR switches are inactive. Also, the font size is fixed, so the /100, /132, /80, /F0, and /F1 switches are also inactive. The page size is automatically adjusted to the size of the columns, so, the /SP switch is also inactive. 2. Fixed a bug in MAKEFAX that caused it to abort if more than 8 DCX files were given as the input (was not closing a file properly and running out of file handles.) 3. Many modems now seem to be coming out with so-called Class 1.0 support. I have not been able to obtain any concrete information on Class 1.0, and do not have any Class 1.0 modems to work with. I've been told by one modem company that Class 1 and 1.0 are really the same thing, and the only difference is that instead of initializing fax mode with the "AT+FCLASS=1" string, you use "AT+FCLASS=1.0". I really find it hard to believe this is the only difference, but, just in case, I've added a new switch to BGFAX, /C3 that tells BGFAX to force the use of Class 1.0 mode. If you have a Class 1.0 capable modem, I'd appreicate to hear from you what happens if you add the /C3 switch to the end of the BGFAX command line. If it doesn't work, I'll probably need to see a clip from your BGFAX.LOG. 4. Choice Medical database was storing fax phone numbers as 1-123/456-7890. Notice the slash (/) between the area code and prefix. This worked fine on most modems, but Motorola modems would return an "ERROR" code ("4" numerically) if a slash was in the phone number. BGFAX now filters out the slash so it will work with the Choice Medical and Motorola modems. 5. The /AS:n switch added to VIEW in the last beta did not function if VIEW was run in "batch mode" (i.e., with a filename specified on the command line). This bug has been fixed. Recall /AS:n allows VIEW to automatically select the number of "times" Alt-S is virtually pushed when viewing a fax image so that your perferred choice of shrink factor is automatically selected. 6. Added new switch to BGFAX, /CF, which tells BGFAX to run in "Caller ID Fetcher" mode, e.g., "BGFAX /HOST /CF". BGFAX _CANNOT_ receive faxes in this mode. This mode simply allows BGFAX to watching for incoming caller ID signals, and once the Caller ID signals have been processed and the phone has stopped ringing, BGFAX exits with an errorlevel 8 after writing a DOVOI.BAT file that says something like: C:\ALPHA\EXEVOI.BAT 1 57600 C:\ALPHA 1122 1242 OUT_OF_AREA 08014F EXEVOI.BAT is a file you write yourself that says something like: @echo off c:\bp\pas\alpha bjg þ##=%6 þName=%7 þDate=%4___ Time=%5 rem restart the bgfax /host /cf below c:\alpha\cid.bat Where "alpha" is the alphanumeric paging software I am working on. What in the world is this for? I have my voice telephone set up so that if I do not answer within two rings, it gets forwarded to a voice- mail service. If someone leaves a message on the voicemail service, I get paged with simply my own pager number. With BGFAX /HOST /CF and my ALPHA.EXE program, after the two rings, ALPHA is fired up and will page me with the actual Caller ID information, that way, I'll get two pages when someone leaves me voicemail--my own pager number, and the Caller ID information--that lets me know who left the message, so that I know if I need to run to a payphone and retrive the message, or if it is something that can wait until I get home. No one will probably use this feature, but I just wanted to document it since I added it, mainly, for my own personal use. (It was easier to add this functionality into BGFAX that writing a brand-new Caller ID fetcher program from scratch.) If anyone has an alphanumeric pager and wants to try out my ALPHA.EXE software, e-mail me at bgfax@blkbox.com and I'll send you a test version. 1.70 Revision R Sun 19 October 1997 ~~~~~~~~~~~~~~~~~~~ It's been more than two months since the last beta, and that is very unusual. The reason for the delay was that I have been busy with school and have not had much time to work with BGFAX lately, but I finally had some free time, and was able to put together this beta. This beta release contains a few new features, a few fixes, as well as some new builds (POLYFAX for both OS/2 and Win32, and MAKEFAX for Win32). Most of the POLYFAX enhancements have already been alpha tested by a small group of people last month. Another reason for the delay in getting this beta out is the almost total lack of registrations. It is the third week of October, and I have received perhaps a total of _two_ registrations this month. If the registrations drop off completely, I'll have no incentive to continue to update the product. That would be a real shame, since I believe this is a very useful piece of software. 1. Added /AS:n option to VIEW. This is something that people have been asking about for quite some time. Recall that by pressing Alt-S when viewing a fax, you can cycle between the various shrink modes. Many users have wanted VIEW to start up with a default shrink mode so that they do not have to continue to hit Alt-S several times to get the proper shrink mode selected. /AS:n allows you to select how many times you want VIEW to "virtually" press Alt-S for you. i.e., if you start up VIEW and normally have to hit Alt-S three times to select your best view, then simply start VIEW up as "VIEW /AS:3". That way, once you tuck that into a nice batch file, you will never have to cycle through the Alt-S's again. 2. Two changes to the DOBBS*.BAT file that is created by BGFAX /HOST when an incoming data call is connected. A sixth parameter is added, which represents the PID# (from the /PID:nn command line switch or pi=nn option from the BGFAX.CNF file). The PID# is usually used in a multinode environment. If a PID# is not selected, a "N/A" will be placed in the DOBBS*.BAT file as the 6th parameter instead of the PID#. The other change involves the second parameter, the port. If a sysop was instructing BGFAX to use the FOSSIL driver (F1), BGFAX was actually sticking the "F1" in the DOBBS.BAT file instead of just the "1". This bug is now corrected. 3. Added /SE switch for BGFAX32. This switch will make BGFAX32 spawn the EXEPRINT.BAT file (or BGFAX2 spawn the EXEPRINT.CMD file) whenever a fax is received. With Win32, you might have Beemail32 or PX32 spawn BGFAX32, and when BGFAX32 exits, you go straight back to your mailer, without ever having the option to print the fax automatically. With the /SE switch, BGFAX32 will spawn EXEPRINT.BAT before returning to your Win32 mailer, thus giving you the option to print out your fax on the fly. This switch is not valid for the DOS version. 4. Fixed bug in superfine resolution when receiving. BGFAX would incorrectly determine the resolution setting from some fax machines and mark the fax header with a low resolution flag rather than a superfine resolution flag. 5. Fixed some minor bugs in the FAX-to-GIF conversion algorithm that caused CSHOW and other GIF viewer programs/browsers to view the fax, for the most part, correctly, but reported a broken image at the end. 6. Added VIEW /TS:nnnn parameter for adjusting the Table Size for the GIF conversions. /TS:nnnn can range from /TS:63 to /TS:4095. The default is 4095. The higher the number, the better the compression. Smaller numbers indicate not-as-good compression, but yield a (slightly) faster conversion time. In my opinion, the slight faster conversion time is not worth making the compression worse. Recall that GIF files are lossless, so the files will look EXACTLY the same (not ALMOST the same, but EXACTLY the same), but will still end up having different file sizes due to the nature of the LZW compression table size. This switch is intended as primarily a debugging option for me, so you should never have to use it. 7. Fixed a bug that caused BGFAX to store the temporary filename of the converted fax file (MKTMP.FX$) into the FAXOUT.LOG rather than the actual ASCII filename. 8. I've included the first build of MAKEFAX-Win32, called MAKEFX32.EXE. Since we need full 32-bit apps to keep Win95 multitasking working at peak perfomance, I finally had the incentive to do the port. Luckily it only took about one-and-a-half hours. 9. Included POLY32.EXE, the Win32 version of POLYFAX. POLY32 will use BGFAX32.EXE and the new MAKEFX32.EXE. 10 I have finally compiled an OS/2 version of POLYFAX. POLYFAX2.EXE is now included in this release. There has not been much demand for an OS/2 POLYFAX, but it only took an hour or two of work to port the DOS version over, so it's available if anyone needs it. POLYFAX2.EXE will use BGFAX2.EXE and MAKEFAX2.EXE. 11 New #ND switch for POLYFAX /SEND and /QUEUE modes. This switch prevents POLYFAX from dialing (actually, prevents BGFAX from dialing). This will be useful in a situation where you are running multiple POLYFAX copies. The #ND station will simply look for new files only, since it seems to work much better in this configuration than having one of the actual dialing stations doing the file queueing job. As such, here is a revision to the example GO.BAT I posted in the 1.70P beta. @echo off start poly32 /queue #nd start poly32 /queue #po:1 start poly32 /queue #po:2 start poly32 /queue #po:3 start poly32 /queue #po:4 Note that ALL polyfax lines require either a #ND or a #PO:nnn switch if you are using more than one POLYFAX. 1.70 Revision P Wed 13 August 1997 ~~~~~~~~~~~~~~~~~~ This release primarily contains changes dealing with the POLYFAX utility. If you are not a user of POLYFAX, this release might not warrant your interest. This version of POLYFAX includes the multiple port support that I have been promising for the last few betas. This allows for multiple versions of POLYFAX to work together running on a Windows 95/NT station. I have also included an updated version of the FAXQ.TXT file that tries to better explain how the POLYFAX /QUEUE mode works. 1. Added #PO:nnn switch for POLYFAX. This is to allow POLYFAX to work on multiple ports at the same time. Each POLYFAX window should have a unique #PO value. This #PO value also specifies the com port number that will be used by BGFAX. If #PO is not specifed, BGFAX will use the port number specified by the po= entry in the BGFAX.CNF file. The only POLYFAX window that should not have #PO specified would be the master POLYFAX window. Only the master window will actively look for new files inserted into the queue via the POLYFAX.NEW directory, and will then add it to the queue database which will be visible to all POLYFAX windows. You can create a batch file, e.g., GO.BAT, that will automatically fire up multiple copies of POLYFAX for use on different ports when using with Windows 95. See Example GO.BAT above in 1.70R whats.new documentation! 2. Added #32 switch for POLYFAX. This tells POLYFAX to use BGFAX32.EXE instead of BGFAX.EXE (e.g., POLYFAX /queue #32) 3. Name of POLYFAX.LOG is now called POLY.LOG if no #PO is specified, or if a port is specified (e.g.: #PO:4), then it will be called POLY4.LOG. This is done to prevent multiple copies of POLYFAX from writing to the same log file. This switch is not necessary if you are only using one copy of POLYFAX at a time. 4. Minor POLYFAX bug fixes (initial database build "@" for broadcast mode was taking much longer than it should have been), and #MA:nn and #MF:nn switches were not working in some conditions. 5. Fixed bug in BGFAX32 that prevented more than one copy of BGFAX32 to send the same fax file (changed filemode := 64 to filemode := 0), since the filemode variable works differently between DOS and Win32. 1.70 Revision M Friday 1 August 1997 ~~~~~~~~~~~~~~~~~~~~ Hopefully, we will have only one more beta, and then the full release, since BGFAX 1.70 was released on March 1, and that is five months ago. 1. New POLYFAX switch #SW:hhmm-hhmm ("Send Window") Many people have asked for the ability to have POLYFAX run only during certain hours, or for certain telephone numbers to be called only at certain times. This is now possible with the #SW switch. For example, POLYFAX /QUEUE #SW:2300-0700 The above would cause POLYFAX to send all faxes (that don't have their own #SW overrides) between the hours of 11pm and 7 am. Like most other POLYFAX "#" switches, the defaults can be overridden during database initiaization (for POLYFAX /SEND) or on the first line of ASCII files that are thrown into the POLYFAX.NEW directory (for POLYFAX /QUEUE). 2. A FAX-to-GIF conversion module has been added into VIEW. This option was added because of paid custom programming (as you probably know by now, the BBS industry is hurting badly, and sales of BGFAX have been low, so I've been doing some custom programming here and there to help pay the bills). Because of patent issues involved with the LZW compression technique used in GIF files, this GIF module will most likely be removed from the shareware version of BGFAX, and be provided only to the customer that has paid for the change. (Unisys must be paid a 1.5% royalty fee for the use of LZW compression.) For the beta test, the GIF module will be available for testing purposes. The conversion seems to take a very long time (9 minutes for a 2 page fax on a 486/133), and I am working on improving the speed. A "VIEWGIF.DAT" file will also be produced during the conversion. After the conversion finishes, you can write an external program to parse this file to determine what kind of tags you need to put in your HTML files for the GIF height and width. Example: Description: FX74.FAX original filename Remote ID [713 507 9620 ] document id (tiff-f conversions only) 1997:07:17 17:16:39 document time (tiff-f conversions only) Reserved1 future Reserved2 future Reserved3 future Reserved4 future Reserved5 future 2 number of pages in the fax FX74.G01 filename of GIF page #1 1728 width 1078 height (number of scanlines) ReservedA future FX74.G02 filename of GIF page #2 1728 width 1082 height (number of scanlines) ReservedA future 3. Another custom-paid programming additon to VIEW. /IL:xxxxx switch. This switch allows you to print a string of text at the top of the pages of a fax when printed on a PCL (laser) printer. /IL stands for "Identify Left" (under the assumption that one day, there might be a /IR switch). If you must use spaces in the string, replace the spaces with underscores. e.g., VIEW /P42 /IL:This_is_printed_at_the_top_of_the_page 4. When printing black-and-white PCX files with VIEW.EXE, if the width of the file was not 1728 pixels, VIEW would put all kind of trailing garbage after the short scan lines. This has been fixed. 5. During a database build for a POLYFAX broadcast, the number of pages in the fax will be shown on the screen. This lets you make sure you init'ed the database with the right fax before committing to a POLYFAX /SEND. 6. Changed BGFAX2 so that it switches the port to hardware flow control whenever BGFAX2 terminates, rather than leaving software flow control active. Previously, BGFAX2 would only turn on hardware flow control when the /SB (spawn-BBS) switch was used. 7. Added debug switch /DM for use with BGFAX32. If a Win32 communication error occurs during BGFAX32's attempt to open port, the /DM switch will cause BGFAX32 to stay on screen until Ctrl-Break is pressed or the window is manually closed. Also, someone reported a bug in which BGFAX /HOST:nn (where "nn" is an idle timeout in minutes) did not appear to be functioning if BGFAX was started right at midnight. I tried playing with this, but was not able to duplicate the bug. BGFAX seemed to always exit right at midnight if the /HOST:nn switch was used, regardless of the "nn" value, so perhaps this is some kind of bug fix I did a long time ago and have forgot about. There has been some confusion as to how the BGFAX /NM and /VM switches are to be used. Here is a clarification to BGFAX.DOC: With Class 1, BGFAX will normally use numeric mode (ATEQV) when sending faxes, and verbose mode when receiving faxes. The different modes are used as a work-around to various bugs in US Robotics Sporsters and I-Modems. However, on some other modems, this logic causes problems, so two switches are provided to modify the default behavior by BGFAX. /NM --> Causes BGFAX Class 1 receive mode to use numeric mode /VM --> Causes BGFAX Class 1 send mode to use verbose mode 1.70 Revision H Friday 18 July 1997 ~~~~~~~~~~~~~~~~~~~ Please note that as of the last beta, I adjusted the pricing for BGFAX. The price for BBS sysops and other non-business users continues to remain at USD$25.00. However, if you want BGFAX to be registered in the name of a business, the price is USD$68.00. If you are a small business and cannot afford the $68 price, then simply register BGFAX in your own personal name and I'll accept the $25 cost. (I won't turn down money.) 1. Fixed a bug introduced in the last beta of VIEW.EXE that caused very strange things to happen after the user instructed VIEW to print a fax. 2. When BGFAX /HOST mode is in /PS:xxx (Poll Server) mode, the host mode idle info screen will replace the "Mail crash call" line with the new "Number of inbound polls" line. Since Poll Server mode should not be used with adaptive answering, no data calls means no possibility for mail crash calls. 3. If an inbound poll comes in during Poll Server mode, BGFAX will now correctly log this entry to the FAXOUT.LOG file. A "P|" will be prefixed before the filename to indicate to the user the file was sent as a poll rather than as a /SEND. e.g. 07-17 18:27 00:23 11012 9600 P|1234567.FA 713 507 9620 .. 1 Finished 4. Added feature to QCONTROL.EXE which allows the user to show faxes that are no longer in the queue, but faxes that were not actually sent by the POLYFAX/BGFAX combo. Recall this happens if you manually delete a fax from the queue via QCONTROL or if POLYFAX took the fax out of the queue because of meeting some kind of error constrant. You CANNOT actually undelete the files from the queue, but this option allows you to judge just how well the queue went. To make QCONTROL show these sent-but-not- really-sent-faxes, just specify a command line parameter. (Any command line parameter, i.e., QCONTROL /SS). 5. New POLYFAX command line switch #LS:nnnn (Lowest Speed) If POLYFAX has trouble sending to a specific fax number multiple times, POLYFAX will force the maximum rate to 4800 bps. If this number is too low, you can adjust the lowest speed by adding a #LS:7200 or #LS:9600 switch to the end of the POLYFAX command line. This can also be an argument in the list file, or ASCII file dropped into POLYFAX.NEW. 6. New POLYFAX command line switch #MA:nnnn (Maximum Attempts) Previously, the only way to remove a job from the POLYFAX queue was if the threshold for maximum failures (#MF:nnnn) was met, or if you manually killed the job (via QCONTROL.EXE). The #MA:nnnn is similiar to the #MF:nnnn, except that #MA:nnnn will also count trivial "failures" such as BUSY, etc, which, is not technically a failure. This can also be an argument in this list file, or ASCII file dropped into POLYFAX.NEW. 7. Fixed a bug in POLYFAX that caused POLYFAX to abort if you put more than 10 files into the POLYFAX.NEW directory. POLYFAX was not properly closing one of the files, and it was running out of file handles. 8. A piece of debug code was left in MAKEFAX 1.70e that was causing MAKEFAX to beep when it detected an character during an ASCII-to-FAX file conversion. This debug code has been removed. 9. The /AN switch (Alternate Naming convention) introduced in the last beta of BGFAX was not always saving the files in the proper place. It was ignoring the rp= variable in BGFAX.CNF. This has been fixed. Another bug relating to the /AN switch caused the idle info screen during BGFAX /HOST mode to mark a received fax as an aborted fax. This related bug has also been fixed. 10 Fixed a small glitch in VIEW and BGFAX that involved the decoding off TIFF file headers. Both executables were still looking at the full 32-bit numerical field even if the field was denoted as an 8-bit or 16-bit field. This was usually not a problem except on some programs that generate TIFF files which don't null out the remaining 24 or 16 bits of an 8 or 16-bit field. 11 frames have been logged to the BGFAX.LOG for the last few versions, but many people e-mail me and tell me the frames are being logged backwards. Since the "NS" in NSF stands for "non-standard", it is not surprising that some fax machines use a different order than others. So, BGFAX will now log the frames in both directions. e.g.: 17:23:39 [ EUB.J. Guillot ] [ tolliuG .J.BUE ] BGFAX logs only ASCII characters in the alpha-numeric range. Notice the first group is the string "EU" followed by my name, nad the second group is identical to the first group except that it is saved backwards. It should be noted that logging the frames are not really an important thing to do, but sometimes they provide interesting information. 12 It has been requested that BGFAX also log frames when detected. I have added the code to do this, but I have no way of checking whether this works or not since my stand-alone fax machine does not seem to be able to generate this frame. The frames will be logged in a way identical to the frames, as mentioned above. 13. Added command line option to VIEW.EXE, /FH for "Force High" resolution. In some cases, when BGFAX in working in rear-end mode operation (when a BBS or Fido Mailer answers the phone and passes control, some modems will send the resolution information to BGFAX too late, and if you try to print such a fax, it may take two full length pages to print a single page fax. The /FH will tell VIEW to force the page as high resolution rather than the default of low resolution. Most people should never need to use this switch. I mentioned to at least one person that this beta version would contain some additional POLYFAX controls for limiting the time of day that POLYFAX uses when sending faxes, as well as putting some kind of network support into POLYFAX so that multiple computers could work at sending a job of broadcast faxes. Unfortunetly, I will have to post-pone these two changes until the next beta due to another project that just popped up. Rather than delay the entire beta another week or two, I've decided to go ahead and release a beta now. (There are already 13 changes in this one, anyway.) 1.70 Revision G Saturday 28 June 1997 ~~~~~~~~~~~~~~~~~~~~~ Note: Due to circumstances beyond my control, I can no longer accept American Express credit cards. It was just too expensive to maintain with the low amount of registrations I get now. However, I CAN still accept Visa, Mastercard, and Discover credit cards. One final note: I would really appreciate any new registrations. The registrations of BGFAX have slacked off to only about 2 a week. (Compare this to early 1995, when I used to receive about 20 registrations a week.) If the amount of registrations continues to grow smaller, I have only two options; cancel the BGFAX project and get a real job, or re-institute the expiration date policy of the past with unregistered versions of BGFAX that simply shut off when the system date passes a certain drop dead date. 1. New command line switch /AN This tells BGFAX, when in receive fax mode, to use the Alternate Name convention for received faxes. Instead of saving as FAX0001.FAX, then FAX0002.FAX, etc. The alternate name mode uses the following convention: 97060715.38X where it's in YYMMDDHH.mmX format (06/07/1997 at 15:38) The "X" stuck at the end simply lets the VIEW.EXE program know this is a fax file. (VIEW's default fax filespec is "*.??X" which allows it to identify *.FAX, *.QFX, and now *.mmX files). 2. New command line switch /DL This tells BGFAX, when in receive fax mode, to use the new Deny List feature. You must create a file called "BGFAX.FDL" which contains a list of the fax numbers that you wish to deny. This is helpful if you keep getting bombared by fax advertisers. Example BGFAX.FDL: 507 9620 8939124 This will match on both full and partial. (So, if "713 507 9620" calls you, the "507 9620" entry will match, and BGFAX will deny it.) Note that the fax machines will most likely KEEP calling you back over and over since they will be unable to get their fax through to you. 3. VIEW and BGFAX modified so that if a TIFF-Class-F formatted file does not have the FillOrder (266) tag, VIEW/BGFAX will default to use a FillOrder of 1. The FillOrder tag is REQUIRED for TIFF-F, but it appears some fax software packages do not use always use this tag. 4. Fixed a bug in VIEW introduced in the last beta that prevented the viewing of very short fax pages. 5. I believe I fixed a bug reported by Edward Hobson that caused BGFAX to get stuck in an infinte training loop when sending to a strange fax machine. Someone sent me a bug report about BGFAX receiving "extra" pages with a ZyXEL modem, when in #B1+FCLASS=6 mode. I tried to duplicate this report earlier today, and BGFAX received the pages flawlessly with no "extra" pages, so I'll need you to get back in contact with me to try and get more information about your report. I lost your e-mail address, and forgot your name, so you'll need to e-mail me. However, the ZyXEL would often act as if its brain were scrambled and would ignore the #B1 command, and act as if it were in #B0 mode instead. This ignoring of the #B1 appears to be a firmware releated problem. The "ATI1" was: Elite 2864I USA: V 2.05 Internal fax/modem: V 1.14 A5B5 1.70 Revision E Friday 30 May 1997 ~~~~~~~~~~~~~~~~~~ It's been three months since the release of BGFAX 1.70, so I figured it was time for some new stuff for you guys to sink your teeth into. The new polling features in BGFAX and queue enhancements in POLYFAX required significant change in the source. If you are using BGFAX or POLYFAX in a mission-critical situation, you might want to keep a backup of your existing BGFAX.EXE and POLYFAX.EXE before installing this beta, "just in case". 1. Added POLLING feature to BGFAX. FINALLY. I have not been able to test it with anything except for BGFAX's new "Poll Server" (described below), so I'll need to get some feedback on this. To POLL a fax service, simply do: BGFAX /POLL 555-1212 Where "555-1212" represents the telephone number of the fax poll server. BGFAX's /POLL mode requires a modem with Class 1 capabilities. 2. Added "Poll Server" capability to BGFAX. This mode allows peole with fax machines or fax software with "Polling" capability to receive a fax document at the receivers cost, rather than at the senders cost. Polling is almost non-existant in North America, but is wide spread on almost every other continent. The "Poll Server" mode was added to BGFAX because I needed a way to test the new Polling feature, but I did not want to make international telephone calls to test it (remember, there is no where to poll in the United States that I know of), so I introduce the "Poll Server" as an added bonus. :-) To use the "Poll Server" feature, you MUST be using Class 1, and it is highly recommended that you use BGFAX in /HOST mode, and do NOT use adaptive answering. (So, Poll Serving should not be used with BBS and Fido programs.) The reason I do not recommend using adaptive answering is because my fax machine (the handy dandy Murata M920) does NOT produce CNG tones when it is in calling a machine in polling mode. Most modems with adaptive answering rely on the detection of the CNG tones to initiate a fax connection. /HOST mode is recommened because if adaptive answering is not being used, there really is no point to use BGFAX in rear-end mode. After reconfiguring your BGFAX.CNF to answer in Class 1 mode WITHOUT adaptive answering, to start up BGFAX in receive/poll server mode, use: BGFAX /HOST /PS:TEST.FAX The /PS:xxxx is a new command line switch that identifies the filename of the document that will be send to the remote fax polling machine. If the remote machine is simply attempting to send you a fax, BGFAX will receive the fax, as normal. If the remote machine is in polling mode (i.e., no pieces of paper are loaded in the slot and the "START" button is pushed), then when they connect, they will be sent the TEST.FAX file. I recommend that the file specified be in TIFF-Class-F format. A ZFAX format will take too long to analyze, and the connection will most likely drop during BGFAX's analysis phase of ZFAX files. The file should be in either low resolution or high resolution. Do not use Superfine (unless you expect only Superfine compatible fax machines will be polling you.) Under no circumstances should you specify an ASCII, PCX, or DCX file. Also, at this time, no top-of-page headers will be placed on outgoing faxes sent by the "Poll Server" mode. 3. OS/2 version of BGFAX has new command line switch, /PL:nnn This switch allows BGFAX2 to override the default priority level for the current OS/2 window. "nnn" can range from -31 to +31. In my limited testing, negative values did not seem be meaningful even though the API says they are. Increasing the priority level too high can cause other applications to grind to a crawl. This switch should never actually be needed unless you have rogue applications eating more than their fair share of CPU time. 4. MAKEFAX would not convert files that had a "read only" attribute set. This bug has been corrected. 5. New command line switch for BGFAX, /PO:xxx used in /SEND mode. Ex: BGFAX /SEND FILE.FAX 555-1212 /PO:2 The /PO:2 will tell BGFAX to override the po= com port setting in the BGFAX.CNF file, and use port 2, in this example. This is not really useful unless you have a bank of identical modems. 6. Multiple changes to POLYFAX. The #mf:nn queue elimination bug has been fixed. (POLYFAX was supposed to give up after reading the "nn", but it was not.) Also, the queueing capabilites of POLYFAX have been GREATLY improved so that files can be added to the queuing database on the fly. ADDTOQ.EXE program for externally adding to the queue, QCONTROL.EXE program for examing the queue and deleting faxes from it if needed. Also, ASCII files can simply be thrown into a certain directory and will be automatically detected by POLYFAX, added to the queue, sent, etc. See the FAXQ.TXT file included in this beta for setup instructions. 7. A bug in VIEW.EXE's Alt-S squeeze/shrink mode would sometimes (very rare) cause the fax colors to invert when the Alt-I invert mode was not actually activated. This effected EGA, VGA, and SVGA 800x600 modes. I believe this bug has been fixed. Took me a while to trace down this bug since it was in the assembler code section. (Don't use the "ax" register when you are storing a temporary variable in the "ah" register. :-) 8. I got my hands on a used graphics card, ATI Graphics Pro Turbo VLB, and when VIEW.EXE was in 1024x768 mode, there was a 3-second delay when hitting PgUp or PgDn to go to the next or previous page of a fax. I was able to eliminate this delay by not resetting the graphics mode between page changes. (I should not have been doing that anyway.) (There is still the delay that it takes for VIEW to read the fax and decompress it when you switch pages, just not a video card hardware related delay.) 9. Caller ID from the ZyXEL 2864I is now saved in BGFAX.LOG and DOBBS.BAT. 16:46:26 f=[RING] 16:46:26 f=[FM:2818939320 TO:5079620] 16:46:31 f=[RING] 16:46:31 caller id [2818939320] BGFAX previously would only log Rockwell-style caller ID (eg: NAME = xxxx) 10 Sometimes BGFAX would get into an infinite loop of +FCERROR messages. I am still working on the cause of this rare problem, but for now, I've set BGFAX to abort if it encounters more than 25 +FCERROR messages in a row. Regards, B.J. Guillot bgfax author