Documentation for Q87, Version 3.73 Copyright, 1991-1994, QuickWare P.O. Box 684652 Austin, Texas 78768 512-280-1452 April 13, 1995 Q87 Version 3.73 is a math accelerator and math coprocessor emula- tor for machines which do not have a coprocessor. It will both increase the performance of your computer with most math intensive applications and allow you to run applications which require a math coprocessor. This is all done without any additional hardware. The benefits of Q87 are - Benefits - o Reduces computation times by up to 80% for graphics, analysis, CAD, font generation for desktop publishing, games, etc. for computers which don't have math coprocessors. o Allows the running of programs which require a math chip, such as AutoCAD, Mathematica, COSMOS/M, AutoDesk 3D Studio, Renderize, Falcon 3.0 high performance mode, etc. o Fully compatible with DOS, most Expanded Memory Managers (EMMs), Windows 3.X 386 Enhanced Mode and Windows 3.1 Standard Mode, and most DOS Extender applications (such as AutoCAD 11, 12, and 386, Quattro Pro, etc.). o Complete math coprocessor emulation. o Uses NO DOS memory (loads into extended memory completely). o Low cost, only $30. o Free upgrades to enhanced releases. o Reduced power consumption for laptops, since you can run your programs without a math chip. Requirements - o 386SX, 386DX, 486SLC, 486SX, 586 based computer, IBM PC or compatible, with at least 1.5 Megabytes total memory. Less than 3 megabytes of memory for ACAD 11 and 12 may result in poor performance. o Q87 uses about 360k bytes of extended memory. o A 386 compatible Expanded Memory Manager (EMM), such as EMM386.EXE (comes with DOS 5 or 6 and Windows 3.1), QEMM386, or Novell DOS 7's EMM386. How Q87 works - Run Q87 from your Autoexec.bat file or from DOS. You must have an Expanded Memory Manager (EMM) loaded first. Q87 requests Extended Memory from the EMM for its exclusive use, and then loads itself into that extended memory. It leaves absolutely no trace of itself in DOS memory, or in any memory directly accessible by DOS, thereby using none of this valuable resource. The EMM protects Q87 from being overwritten by other programs. Q87 instructs your computer to use Q87 to perform math operations instead of your application's math routines. Intel has built this capability into the design of the 386 and higher chip. Since Q87 runs completely in extended memory, it can utilize the full power of the 386/486SX chip, such as 32 bit operations and fast access to large amounts of inexpensive memory. This has allowed us to optimize Q87 for speed. We have also used advanced numerical techniques to increase speed. The net result is that Q87 operates many times faster than the built-in math coprocessor emulation that may come with your applica- tions. Performance of Q87 - Example benchmarks - on a DELL System 310, 4Mb ram, 32k cache, 20 Mhz 386, with EMM386.exe loaded, all times in seconds. See below for Run descriptions - Run Run Without With Speed Increase Number Q87 Q87 Factor 1 14.0 3.8 3.68 2 142.0 64.0 2.20 3 22.4 6.2 3.61 4 17.7 4.0 4.42 5 49.0 9.5 5.05 6 342.1 80.2 4.26 7 226.0 98.0 2.31 8 111.0 76.0 1.46 9 41.0 18.7 2.19 Run Descriptions - Run 1 - Zoom out on a drawing, Generic CADD, by Generic Software. Run 2 - Render "Bicycle" on Alias Upfront Run 3 - AMD math coprocessor demo, Tree fractal. Run 4 - AMD math coprocessor demo, Compound interest calculation. Run 5 - Plot a graph on screen, GRAPHER, by Golden Software. Run 6 - Prepare data file for 3-d viewing, SURFER, by Golden Software. Run 7 - Render "BOX" on POVRAY, or, Persistence of Vision Ray Tracer, a freeware ray-tracing program available on America On-Line and other BBS's, search for "POV". Run 8 - Draw "Bicycle" on AutoSketch for Windows Run 9 - A representative part of the "Tecplot" demo, from AMTEC Engineering. Uses a 16 bit DOS extender. Standard Benchmark - same machine as above, QAPlus V4.21, Whetstones. Run Without With Speed Increase Q87 Q87 Factor 62.3K 292.6K 4.69 Comparison with FRANKE.387 (another 387 emulator) on same machine with same configuration as above - FRANKE.387 Q87 Speed Increase Factor AutoCAD 10, Zoom-All on "Airplane" 13.4 sec. 7.4 sec. 1.81 QAPlus V4.21, Whetstones 93.7K 292.6K 3.12 Also, FRANKE.387 is either not active or causes an error with DOS Extenders and Windows. While Q87 is typically much faster than running without a math chip, it is not as fast as a math chip. When running with AutoCAD, for example, Q87 typically does regens within a factor of 3 of the speed when running with a coprocessor. Most zooms and pans are just as fast as with a coprocessor, however, since the coprocessor (or Q87) is not involved with most zooms and pans. Our method of distributing Q87 - We distribute Q87 as what might be called "protected shareware". The distributed program is the full working version, except that it runs for 20 minutes at a time before it beeps and does a DOS terminate of an application. This way, at little or no cost to you, you may fully evalu- ate the performance of Q87 for yourself. Also, upgrading is quick and easy. You may run the demo as much as you please, and it will satisfy the needs of many people who only need it for short periods of time. If you are satisfied with the performance of Q87 and need it to run for longer than 20 minutes, we will, for a fee of $30 (see below for addi- tional options), provide you with a "Run Code" which allows Q87 to run unimpeded. Q87 is not copy protected, but the Run Code will only work on one computer. We feel that this arrangement is a reasonable compro- mise between your need to verify the integrity of Q87 and the need to support this kind of work. Running Q87 as a demo - An Expanded Memory Manager must be active. This is done by having the following lines in your Config.sys file - device = \HIMEM.SYS (for DOS 5 or 6) device = \EMM386.EXE device = \QEMM386.SYS (for QEMM386) Q87 will not run with the EMM386.SYS which comes with Windows 3.0. Get into the same directory as Q87.exe is in. Type "Q87" at the DOS prompt. If you are using Windows, run Q87 before you get into Windows. Q87 will then load itself into extended memory and display an order form on the screen. If you want to order a Run Code, you can do a print screen at that point to print the order form. You may also order by phone with Visa or Mastercard, or by purchase order(see below). Q87 will then return you to the DOS prompt. It will not itself perform any demonstration. You should run your math intensive applications with Q87 loaded to see how they perform with Q87. When the 20 minute time limit is over and if you are still running an application that is cur- rently using Q87, Q87 will cause your computer to beep and then will terminate your application, returning you to either DOS or Windows, whichever one you were in when you started the application. Getting a Run Code by phone with Visa or Mastercard - Run Q87 as a demo and pause at the order screen. Be sure to run the demo on the computer which you intend to use Q87 on. Call our toll-free number which is listed on the order screen. Our operator will first get your credit card type, number, and expiration date. Your credit card number will be verified. He or she will then get your Machine Code which is near the middle of the order screen, your name, and address. You will then be given your Run Code. Getting a Run Code by fax with Visa or Mastercard - Run Q87 as a demo and do a print screen of the order form. Be sure to print out the order form from the machine which you intend to run Q87 on. Fill out the order form. At the end of the order form, write down the type of credit card which you are using (Visa or Master- card), the credit card number, and the expiration date. Be sure to include your fax number. Fax the order form to 1-713-961-4438. We will then fax back your Run Code by the next working day. For orders outside of North America, a $5 surcharge will be added to your bill to cover the costs of faxing back your order. Getting a Run Code by mail with a check or money order - Run Q87 as a demo and do a print screen of the order form. Fill out the order form. If you don't have a printer for printing out the order form, please include all of the required information which is on the order form. See below for payment options. We will, within three working days of receiving your order, mail to you a Run Code. You will need to include your Machine Code, a number which Q87 determines and prints on the order form at the start of a demo run. Be sure to get the Machine Code of the computer you intend to use Q87 on. Getting a Run Code by Purchase Order - Run Q87 as a demo and do a print screen of the order form. Fill out the order form. Fax to us the filled out order form and your purchase order. Include your fax number on the order form. Fax the order form to 1-713-961-4438. We will then fax back your Run Code by the next working day. A $5 surcharge will be added to your bill to cover the additional costs of handling purchase orders. No matter how you order, your license to run Q87 and receipt will be mailed to you. If you do not have the latest copy of Q87, we will mail it to you along with your license and receipt. A single license covers one machine only and is not transferable to another machine. The license does transfer to another owner if the machine is sold, however. If you upgrade your computer - If you change your motherboard or your BIOS chips, your old Run Code will no longer work. You may get one new Run Code at no charge by calling our toll-free number (see at end of this file). Our operator will get your Run Code and last name, verify that you are a registered user, take your new Machine Code, and then give you a new Run Code. New releases of Q87 will give different Machine Codes from this version, but your Run Code will still work. When you get your Run Code, you will run Q87 as follows - \Q87 xxx-xxx-xxx for example - c:\Q87\Q87 728-982-832 where xxx-xxx-xxx is your Run Code. You could put this at the start of your Autoexec.bat file so that Q87 loads automatically each time you start your computer. Q87 is not a DOS TSR (Terminate and Stay Resi- dent) program. You would not use any LOADHI with it. Q87 uses no DOS memory, nor any Upper Memory Block, nor any of the Upper Memory area (the area between 1024k and 1088k). Expanded Memory Managers (EMMs) tested with - 1. DOS 5 & 6's EMM386.exe and Window's 3.1 EMM386.exe, by Micro soft. 2. QEMM386.exe versions 5, 6, 7, 7.5 by QuarterDeck Office Systems. 3. Novell DOS's EMM386. Q87 V3.71 and up will not run with Dr DOS's EMM386. This is due to other compatibility requirements. DOS Extenders tested with - 1. 386|DOS Extender, by Phar Lapp. 2. Intel 386/486 C Code Builder, by Intel. 3. DOS 16/M, by Rational Systems. 4. The 16 bit DOS extender that Borland uses with Borland C++ and Quattro Pro (probably DOS 16/M). 5. Window's 3.1 Standard Mode, by Microsoft. 6. Window's 3.X 386 Enhanced Mode (also functions as an EMM and multitasker), by Microsoft. Runs and multi-tasks DOS boxes and 16 and 32 bit Windows applications. 7. Q87 will not currently work with the ERGO 32 bit DOS extender. This was used by the Lahey FORTRAN compiler, but Lahey has switched to the Phar Lapp 386|DOS Extender, which Q87 does work with. Applications Q87 has been tested with - 1. AutoCAD 10, 11, 12, (DOS & Windows) by AutoDesk, Inc. ** 2. COSMOS/M, by Structural Research Inc. ** 3. Surfer and Grapher, by Golden Software. 4. Generic CADD, by Generic Software. 5. DesignCAD, by American Small Business Computers, Inc. 5. Borland C++, by Borland International, Inc. 6. Intel 386/486 C Code Builder. 7. Quattro Pro, by Borland. 8. Various engineering analysis C programs compiled with Borland C++. 9. Lahey FORTRAN, F77L-EM/32, Version 5.00, the "DEMO" program.** 10. AutoDesk 3D Studio Release 2 and 3, by AutoDesk, Inc. ** 11. Animator Pro, by AutoDesk. 12. PSPICE Student Version 3.06, by MicroSim Corporation. 13. Renderize, Windows Pro v1.3 demo, by Visual Software, Inc. A 32 bit Windows program. ** 14. Alias Upfront, by Alias Research and SketchTech Inc. A 16 bit Windows program. 15. Persistence of Vision (POV), a freeware raytracing program. Uses the 32 bit Intel C 386/486 Code Builder compiler. 16. 386-MatLab V3.5m, by The MathWorks, Inc. ** 17. Grapher for Windows, by Golden Software. 18. AutoSketch for Windows, by AutoDesk, Inc. 19. The Free Demonstration Version of MicroCADAM Cornerstone R1.3c. 20. MATLAB V4 for Windows, by the MathWorks. ** 21. CADKEY V6, by CADKEY, Inc. ** ** denotes programs which require either a coprocessor or Q87 to run. Diagnostic utilities tested with - 1. Advanced Micro Devices' math coprocessor demo. 2. CheckIt, Version 3.0, by TouchStone Software Corporation. 3. QAPlus, by DiagSoft, Inc. 4. PC Labs Benchmark Series 5.0, by PC Magazine. 5. CHKCOP V2.00, by Intel Corp (a 387 checker). 6. IIT Coprocessor tester. Included files - Q87.exe - The Q87 executable. This is a a self-expanding, compressed file. It self-expands only when you run Q87 to load it. Compressed with PKlite Professional (PKlite is a trademark of PkWare, Inc.) Q87.doc - This file. FILE_ID.DIZ - A brief description of Q87 for use by BBS's. Accuracy - Q87 performs all arithmetic to the exact same accuracy as a 387 coprocessor. This is 64 bits for the mantissa, 15 bits for the expo- nent, and a sign bit. Transcendental calculations (sin, cos, etc.) are accurate to within the last three to four bits of the mantissa (typical- ly to the last bit), which is much better accuracy than can be repre- sented by the double precision variables that most programs use. Expanded Memory Manager (EMM) configuration options - Q87 requires that an EMM be active, but expanded memory does not have to be available. Many regular DOS applications use expanded memory if it is available to increase their performance (using fast expanded memory instead of the slow disk). Before Q87, however, the use of an EMM significantly slowed down math intensive applications (when run without a coprocessor on the computer). With Q87, your DOS applica- tions can now have the benefit of both Expanded Memory and very fast math operations. One penalty associated with the use of expanded memory is that available high memory will be reduced by 64k (required for the expanded memory "page frame"), leaving less room for device drivers and TSR's. Also, Windows cannot use any of your expanded memory in 386 Enhanced Mode. If you don't want to use expanded memory, you can specify to the EMM that it not use a page frame, thus reclaiming the lost 64k of high memory. This is accomplished as follows in your CONFIG.SYS file - device = \EMM386.EXE NOEMS (for DOS 5 or 6) device = \QEMM386.SYS FRAME=0 (for QEMM386) device = \386MAX.SYS NOFRAME (for 386MAX) If you are using DOS 5 and older DOS Extender programs (e.g. ACAD 11)- Older DOS Extender programs such as AutoCAD 11 can only make use of Expanded Memory when an EMM is present, so it's best to allocate almost all of your available memory to Expanded Memory in this case. You must reserve enough Extended Memory for Q87 to load, however. With EMM386.exe, a straightforward way to do this is as follows (this example is for a computer with 4 Meg of RAM) - device = \EMM386.EXE L=360 2912 (for DOS 5 only) where the "L=360" parameter tells EMM386 to reserve 360k of extended memory. The "2912" parameter tells it to allocate 2912k bytes for expanded memory (if that much is available). If you don't tell the EMM to reserve a sufficient amount of Expanded Memory, older DOS Extender applications will give you some confusing message such as "Conflicting protected mode environment", or "The 386 chip is currently executing in virtual 8086 mode...", etc, or they they will run very slowly, with lots of disk activity. DOS 6, QEMM, and 386MAX make both types of memory available from the overall supply of memory, so you don't have to re- serve any memory explicitly for extended or for expanded memory. Win- dows 3.1 will run automatically in Standard Mode if you allocate most of your memory to expanded memory with EMM386 as described above. If you get an "Insufficient extended memory" error message from Q87 when using DOS 5's EMM386.exe - If Q87 says that it does not have enough extended memory to load even when you have reserved at least 360k with the "L=xxx" parameter, that means that another program (such as SMARTDRV) is also using extend- ed memory. Either remove the other program(s), reduce the amount of ex- tended memory that they are allowed to use, or increase the "L=xxx" number until Q87 fits. If you are running a DOS extender program, you may get better performance by removing disk caching programs such as SMARTDRV since the memory they use is typically better used by your DOS extender application. If you are using QEMM386 - You may need to include the "ON" parameter on the "device=QEMM386" line in your config.sys file. If you have QEMM 7.5 or higher, you will need to put the parameter "BOOTENABLE:N" on your QEMM386 line to suppress QEMM's QuickBoot feature. This will allow you to warm boot your computer with Q87 and QEMM 7.5 loaded. Programs that Q87 will not run with - o On some machines with 386MAX. If you want to run Q87 on these machines, you must use a different Expanded Memory Manager, such as HIMEM.sys and EMM386.exe, QEMM386, or DR DOS's EMM386.sys. If Q87 runs as a demo okay, it will run ok with a Run Code. o Borland's Paradox 3.5 (Q87 runs fine with Paradox 4.0). This may run ok in a DOS box in Windows. We have not tried that. o Lahey Fortran versions prior to version 5, but runs fine with version 5 or higher. Updates - Due to our distribution method, we are able to provide free updates to all registered users. All you have to do is to periodically check your favorite BBS for a more recent release of Q87. The Run Code which you purchase will work for these later releases. You may also call our BBS at 512-292-1212. Backups - You really only need to keep your Run Code safe, as Q87 itself is available from many BBS's. Make a backup of Q87 if you don't have easy access to a BBS. If you lose your Run Code, we will look up your Run Code for free. Just call our toll-free number shown at the end of this file. Viruses - Q87 was scanned for viruses with the Norton AntiVirus before it was Zipped. All major BBS's (and most local BBS's) do this as well. Money-back guarantee - If, within a year of your purchase, Q87 has any error which prevents it from successfully emulating a 387 or 487SX math coprocessor with any of your applications, we will refund to you the purchase price of our Run Code. This guarantee applies only to application errors, and not to operating system incompatibilities. We are confident that we will be able to maintain compatibility with future releases of Microsoft DOS and Microsoft Windows, we cannot guarantee compatiblity with future releases from third party vendors. We are currently working on a new release of Q87 which will run with Windows 95 (also called Chicago) and probably OS/2. Contacting Us - For any reason other than ordering, we may be reached at the phone number in the heading for this document. We may also be reached on Compuserve at 70750,2147, and on America Online at QuickWare. Our Internet address is 70750.2147@CompuServe.com. You may also leave us a file containing a message on our BBS at 512-292-1212. If you fax technical questions, there will be a delay of a few days since our fax number is located in a different city from our home office. Distribution of Q87 - Free distribution of Q87 without Run Codes is both permitted and encouraged. Distribution of Q87 with Run Code(s) is not permitted. Both software and hardware vendors are welcome to distribute Q87 with- out Run Codes and may any reasonable fees. Vendors are encouraged to provide us with mailing addresses where we may send updates of Q87. Q87 can be found on several bulletin board services. Some of these are Compuserve (IBM Hardware Forum), GENIE (IBM PC libraries), America On-Line, and Delphi. You might also ask the sysop of your favorite local BBS to get Q87 for you. Q87 is also on Internet, at SIMTEL20 in the MSDOS archives, at garbo.uwasa.fi. Search files for Q87. The full file name is Q87.zip, or Q87_XXX.zip, where XXX is the latest version designation. Use a wild card search for Q87 as in Q87*.zip. We also offer Q87 on our own Bulletin Board System (BBS). Our BBS number is 512-292-1212. You may also upload text files to our BBS containing messages which we will reply to. We have a 14.4k modem and our settings are N81. Payment options - (valid through December, 1994) o $30 US currency, plus any applicable sales tax, by Visa or Mastercard. Recommended if you have one of these cards. Call number shown at end of this file. o $30 US currency with either a check from a US bank, or a money order (US currency money orders are available worldwide). Please include any applicable sales tax. o $45 equivalent non-US currency written on a check from a non-US bank. Please use the current exchange rate. The higher amount is required to cover the bank's fees. Volume discounts - If your organization would like multiple licenses for Q87, we offer the following discounts for volume purchases - 1st license - $30. 2nd through 10th licenses - $25 each. Each license over 10 licenses - $20 each. For multiple licences per order, please print out the order form on each machine which you intend to use Q87 on. Each machine requires a li- cense. If you are calling in the order, have the order forms ready so that you may give the Machine Codes to our operator. If you are faxing or mailing in the order, please include all of the required Machine Codes. Thank you for trying Q87. Toll-free order number, for Visa or Mastercard orders or new Run Codes only - 1-800-392-9349, US and Canada (1-713-622-4870 International), between 9:00 AM and 12:00 noon, and between 2:00 PM and 5:00 PM, Monday through Friday, Central Time (US).