Q27911: MS-DOS 3.20 Patch for Coprocessor Math Exceptions in BC and QB
Article: Q27911
Product(s): See article
Version(s): 6.00 6.00b 7.00
Operating System(s): MS-DOS
Keyword(s): ENDUSER | B_QuickBas | mspl13_basic
Last Modified: 22-JAN-1990
The information below is taken from the following files, and only
applies to the product versions shown:
1. The README.DOC file from the Program Disk of Microsoft BASIC
Compiler Versions 6.00 and 6.00b for MS-DOS
2. The UPDATE.DOC file from the Program Disk for QuickBASIC Version
4.00b
Note: This information was not included with Microsoft BASIC
Professional Development System (PDS) Version 7.00 for MS-DOS (except
for a brief mention in the PACKING.LST file) but it still applies
since PATCH87.EXE is shipped with BASIC PDS 7.00.
This article is relevant only if your system has all of the following
characteristics:
1. Uses MS-DOS Version 3.20
2. Boots from a hard-disk drive
3. Has a math coprocessor (for instance, an 8087 or 80287 chip)
4. Runs programs that use floating-point math
The following DOS patch is not necessary if you have PC-DOS; the patch
only applies to MS-DOS. (Attempting to patch PC-DOS may give you an
error such as the following: "File Not Found: IO.SYS".)
For systems that satisfy all of the preceding conditions, you may be
able to eliminate floating-point math problems by installing a small
patch in DOS. The problem that usually arises is hanging when a math
exception occurs. Math exceptions are items such as "divide by zero"
or "overflow" errors. If you are not sure whether you need the patch,
perform the following steps:
1. Copy the program PATCH87.EXE (included in this release) to the
root directory of your hard-disk drive.
2. Reboot your system from the hard disk, and do not perform any
floppy-disk operations after rebooting. It is very important
that you avoid floppy-disk I/O after rebooting because that will
affect the reliability of the diagnostic test that you are about
to perform.
3. If necessary, use the CD command to move to the root directory
of your hard-disk drive.
4. Run the PATCH87.EXE program by entering the following command at
the DOS prompt:
PATCH87
5. The program performs a diagnostic test on your system to determine
whether it needs the DOS patch, and if the patch is needed, whether
the patch can be installed successfully. If the program tells you
that you need to install the DOS patch, and that it can be done,
follow the procedure described in the next section.
Please note that the floating-point problem has been eliminated in
versions of MS-DOS later than Version 3.20. This includes MS-DOS
Versions 3.21 and 3.30. If you performed the preceding test and
determined that you should install the DOS patch on your system,
perform the following steps:
1. Format a blank floppy disk. (Do not use the /s formatting option to
transfer system files to the disk.)
2. Use the SYS command to copy IO.SYS and MS-DOS.SYS from the root
directory of your hard disk to the new floppy disk. For instance,
if you boot from Drive C, enter the following commands:
C: SYS A:
3. Use the COPY command to copy COMMAND.COM and SYS.COM to the same
floppy disk.
4. Use the COPY command to copy the program PATCH87.EXE (included in
this release) to the same floppy disk.
5. Change the current drive and directory to the floppy disk by
entering the following command:
A:
6. Install the DOS patch by entering the following command:
PATCH87 /F
Please note that if you experience any disk errors during Steps 2
through 6, do not proceed with Step 7. Reboot from your hard disk and
repeat the entire process.
7. If you have not experienced any errors, use the SYS command to
transfer the files IO.SYS and MS-DOS.SYS from the floppy disk back
to your hard disk. For instance, if the boot directory of your
system is the root directory of Drive C, enter the following
command at the DOS prompt:
A: SYS C:
8. The DOS patch has been installed. Reboot the system.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.