Documentation for Q387, Version 3.2
Copyright, 1991, 1993, QuickWare
P.O. Box 684652
Austin, Texas 78768
January 17, 1993
Q387 Version 3.2 is a math accelerator and math coprocessor
emulator. It will both increase the performance of your computer in
math intensive applications and allow you to run applications which
require a math coprocessor, and this is all done without any additional
hardware. The benefits of Q387 are -
o Reduces computation times by up to 80% for graphics, analysis,
CAD, font generation for desktop publishing, games, etc.
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 Accurate math coprocessor emulation.
o Uses NO DOS memory (loads into extended memory completely).
o Low cost, only $25.
o Free upgrades to enhanced releases.
o 386SX, 386DX, or 486SX based computer, IBM PC or compatible,
with at least 1.5 Megabytes total memory.
o Q387 uses about 330k bytes of extended memory.
o A 386 compatible Expanded Memory Manager (EMM), such as
EMM386.EXE (comes with DOS 5.0 and Windows 3.1), QEMM386,
386MAX, or the EMM386.SYS that comes with Dr. DOS 6.0.
How Q387 works -
Run Q387 from your Autoexec.bat file or from DOS. You must have an
Expanded Memory Manager (EMM) loaded first. Q387 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 Q387 from being overwritten
by other programs. Q387 instructs your computer to use Q387 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
Q387 runs completely in extended memory, it can utilize the full power
of the 386 chip, such as 32 bit operations and fast access to large
amounts of inexpensive memory. This has allowed us to optimize Q387 for
speed. We have also used advanced numerical techniques to increase
speed. The net result is that all math functions with Q387 operate many
times faster than the built-in math functions that come with your
Example benchmarks - on a DELL System 310, 4Mb ram, 32k cache, 20 Mhz
386, with EMM386.exe loaded, all times in seconds.
Run Run Without With Speed Increase
Number Q387 Q387 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
Run Descriptions -
Run 1 - Zoom out on a drawing, Generic CADD, by Generic Software.
Run 2 - Render "Bicycle" on Alias Upfront, running in Windows 3.1
Standard Mode, by Alias Research and SketchTech Inc.
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
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 in Windows
3.1 Standard Mode, by AutoDesk, Inc.
Standard Benchmark - same machine as above, QAPlus V4.21, Whetstones.
Run Without With Speed Increase
Q387 Q387 Factor
62.3K 292.6K 4.69
Comparison with FRANKE.387 (another 387 emulator) on same machine with
same configuration as above -
FRANKE.387 Q387 Speed Increase
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.
Windows 3.1 -
If you use Windows 3.1, your Windows applications with Q387 will
run somewhat faster in Standard Mode (WIN /s). This is due to some
overhead operations required to handle the multi-tasking of Enhanced
Mode. Enhanced Mode does offer virtual memory, however, so which mode
is best to use depends on the math content of your application versus
its need for more memory. DOS applications run much faster in DOS than
in a Windows 3.X DOS box (this has nothing to do with Q387). Dos
Protected Mode Interface (DPMI) compatible DOS extender applications
(e.g. AutoCAD 12) will run in a DOS box. Like Windows applications,
these will run slower as compared to running them in regular DOS, but
you can multi-task multiple DOS boxes and/or Windows applications.
Our method of distributing Q387 -
We distribute Q387 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 does a DOS terminate of an
application. This way, at little or no cost to you, you may fully
evaluate the performance of Q387 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 Q387 and need it to
run for longer than 20 minutes, we will, for a fee of $25 (see below
for additional options), provide you with a "Run Code" which allows Q387
to run unimpeded. Q387 is not copy protected, but the Run Code will
only work on one computer. We feel that this arrangement is a
reasonable compromise between your need to verify the integrity of Q387
and the need to support this kind of work.
Running Q387 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)
device = \EMM386.EXE ( Windows. )
device = \QEMM386.SYS (for QEMM386)
device = \386MAX.SYS (for 386MAX)
device = \EMM386.SYS (for DR DOS 6)
Q387 will not run with the EMM386.SYS which comes with Windows 3.0. Get
into the same directory as Q387.exe is in. Type "Q387" at the DOS
prompt. If you are using Windows, run Q387 before you get into Windows.
Q387 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 (see below). Q387 will return you to the
DOS prompt. It will not itself perform any demonstration. You should
run your math intensive applications with Q387 loaded to see how they
perform with Q387.
Getting a Run Code by phone with Visa or Mastercard -
Run Q387 as a demo and write down the Machine Code which appears
near the center of the order screen. Be sure to get the Machine Code of
the computer which you intend to use Q387 on. Call our toll-free number
(see at end of this file). Our operator will first get your credit
card type, number, and expiration date. He or she will then get your
Machine Code, name, and address. You will then be given your Run Code.
Your license to run Q387 and receipt will be mailed to you. If you do
not have the latest copy of Q387, we will mail it to you along with your
license and receipt.
Getting a Run Code by fax with Visa or Mastercard -
Run Q387 as a demo and do a print screen of the order form. 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 Mastercard), 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. Your license to run Q387 and receipt will
be mailed to you. If you do not have the latest copy of Q387, we will
mail it to you along with your license and receipt.
Getting a Run Code paying by check or money order -
Fill out the order form which appears on your computer screen at
the start of the demo. 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. 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 Q387 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 Q387 on. Your license to run Q387 and receipt will be
mailed to you. If you do not have the latest copy of Q387, we will mail
it to you along with your license and receipt.
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.
This may also be necessary if you change your hard disk drive controller
or put in a LAN card.
When you get your Run Code, you will run Q387 as follows -
where xxx-xxx-xxx is your Run Code. You may have this anywhere in your
Autoexec.bat file so that Q387 loads automatically each time you start
your computer. Q387 is not a DOS TSR (Terminate and Stay Resident)
program, so the order in which you load it is inconsequential. You
would not use any LOADHI with it. Q387 uses no DOS memory, nor any
of the 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.0's EMM386.exe and Window's 3.1 EMM386.exe, by Microsoft.
2. QEMM386.exe version 5.1 and 6.0, by QuarterDeck Office Systems.
3. 386MAX version 6, by Qualitas. Does not currently work with
386MAX version 5.
4. Dr. Dos's EMM386.sys, version 6.0, by Digital Research.
5. Memory Miser 386 Version 1B43, by SoftLogic Solutions Inc.
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. Q387 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
Q387 does work with.
Applications Q387 has been tested with -
1. AutoCAD 10, 11, 12, and 11 for 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
9. Lahey FORTRAN, F77L-EM/32, Version 5.00, the "DEMO" program.**
10. AutoDesk 3D Studio Version 2.0, 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.
** denotes programs which require either a coprocessor or Q387 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).
Included files -
Q387.exe - The Q387 executable. This is a a self-expanding,
compressed file. It self-expands only when you run
Q387 to load it. Compressed with PKlite Professional
(PKlite is a trademark of PkWare, Inc.)
Q387.doc - This file.
OFF.exe - Will disable Q387 after it has been loaded. It does
not remove Q387 from memory. Do not run from within
ON.exe - Reenables Q387 after it has been disabled by "OFF.exe".
Do not run from within Windows.
Q387 performs all arithmetic to the exact same accuracy as a 387
coprocessor. This is 64 bits of precision. Transcendental calculations
may be different by as much as the lowest 4 to 5 bits. This is still
much more accurate than can be represented by a double precision number,
which is the highest precision variable type typically used.
EMM configuration options -
Q387 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 Q387 Version 3, however, the
use of an EMM significantly slowed down math intensive applications
(when run without a coprocessor on the computer). With Q387, your DOS
applications 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)
device = \QEMM386.SYS FRAME=0 (for QEMM386)
device = \386MAX.SYS NOFRAME (for 386MAX)
device = \EMM386.SYS /F=none (for DR DOS 6)
If you are using EMM386 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 Q387 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=340 2912
where the "L=340" parameter tells EMM386 to reserve 340k 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. QEMM and 386MAX make both types of memory
available from the overall supply of memory, so you don't have to
reserve any memory explicitly for extended or for expanded memory.
If you are using QEMM386 -
You need to include the "ON" parameter on the "device=QEMM386" line
in your config.sys file.
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 Q387. The Run Code which
you purchase will work for these later releases.
You really only need to keep your Run Code safe, as Q387 itself is
available from many BBS's. Make a backup of Q387 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
Q387 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. We
have never gotten a virus from any BBS.
Money-back guarantee -
If, within a year of your purchase, Q387 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 your Run Code.
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.
Distribution of Q387 -
Free distribution of Q387 without Run Codes is both permitted and
encouraged. Distribution of Q387 with Run Code(s) is not permitted.
Both software and hardware vendors are welcome to distribute Q387
without Run Codes.
Q387 can be found on several bulletin board services. Some of
these are Compuserve (IBM Hardware Forum), GENIE (IBM PC libraries),
America On-Line, Delphi, and the Connect America (512-459-3341, 3351, or
3358). The Connect America BBS lets you get Q387 from the free downloads
section in Area 2. You might also ask the sysop of your favorite local
BBS to get Q387 for you. Search files for Q387. The full file name is
Q387.zip, or Q387_XXX.zip, where XXX is the latest version designation.
Payment options - (valid through December, 1994)
o $25 US currency, plus any applicable sales tax, by Visa or
Mastercard. Do this if you have one of these cards. Call number
shown at end of this file.
o $25 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 $35 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 Q387, we
offer the following discounts for volume purchases -
1st license - $25.
2nd through 10th licenses - $20 each.
Each license over 10 licenses - $15 each.
Dealers and Resellers -
Dealers and Resellers may distribute Q387 to their customers and
may charge their customers "finders fees", "installation fees", or
simply charge for your time, in addition to the cost of Q387 itself. In
all cases, Q387 must be distributed in its entirety, including this
file. Additionally, each Run Code and license for Q387 must be in the
name of the end user, so that we may be able to keep them informed of
updates and so that the end user may receive a replacement Run Code, as
required. We must also have the end user's address.
Thank you for trying Q387.
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 8:30 AM and 12:00 noon, and between 2:00 PM and 5:00 PM, Monday
through Friday, Central Time.