---------------------------------------------------------------------------
	   Microsoft Windows NT 3.5 Workstation and Server 
			U.S. Service Pack 1
---------------------------------------------------------------------------


Contents
--------
1.0  Introduction
2.0  Installation Instructions for the Windows NT U.S. Service Pack 1
2.1  User Notes
3.0  Software Update for Windows NT 3.5 for the Pentium Floating Point Error
3.1  Performance Considerations
3.2  Running PENTNT.EXE
3.3  Registry Entry
4.0  Calculator Application


1.0  Introduction
-----------------
This release of Microsoft(R) Windows NT(TM) U.S. Service Pack 1 contains a fix
to the Calculator application, and also a fix to disable the floating point
unit on Intel(R) Pentium(TM) machines.

The Service Pack is easy to apply from within Windows NT and changes only
those files that were originally set up on the Windows NT Workstation or
Windows NT Server system.  Service Pack releases are cumulative: they
contain all previous fixes, as well as any new fixes made to the system.


2.0  Installation Instructions for the Windows NT U.S. Service Pack
-------------------------------------------------------------------
Installing the Service Pack from a floppy disk:
1.  Insert Service Pack Disk 1 into the floppy drive.
2.  At the Windows NT Command Prompt, change to that floppy drive (that is,
    A: or B:) and type UPDATE.
3.  Follow the instructions given on the screen.

Installing the Service Pack from a CD-ROM:
1.  Insert the Service Pack CD-ROM disk into the CD-ROM drive.
2.  At the Windows NT Command Prompt, change to that CD-ROM drive, then
    change to the i386, MIPS, or ALPHA directory (depending upon whether
    you have an Intel(TM), MIPS(R), or ALPHA AXP(TM) CPU), and type UPDATE.
3.  Follow the instructions given on the screen.

Installing the Service Pack from a network drive:
1.  At the Windows NT Command Prompt, type the command to connect to the 
    network drive on which the Service Pack files reside.
2.  Change to that network drive and type UPDATE.
3.  Follow the instructions given on the screen.


2.1  User Notes
---------------
*** Emergency Repair Disk

If it is necessary to use the Windows NT Emergency Repair Disk to repair
your Windows NT system at some time after you apply the Service Pack, you
will need to re-apply the Service Pack after the repair is completed.  This
is because the Emergency Repair Disk repairs your system by restoring your
original Windows NT setup.  After the repair has completed, simply follow
the above Installation Instructions to reapply the Service Pack.


*** Adding New Components to the System

If new software or hardware components are changed or added to your system
after you have applied the Service Pack, it will be necessary to reapply
the Service Pack.  This is because the files taken from the original Windows
NT disk set may not be equivalent to the files on the Service Pack disk set.
It is not possible to install new components directly from the Service Pack
media (such as a new keyboard or printer driver).  New components must be
installed from the original product media.


*** Installing Symbol Files from the CD-ROM

To install the symbol files corresponding to the new binaries in Service
Pack 1, do the following (assuming your CD-ROM drive is D:, your symbol
files are located in the C:\WINNT\SYMBOLS directory, and you are installing
the files for an x86 machine):

    XCOPY /S /U /D D:\SUPPORT\DEBUG\I386\SYMBOLS C:\WINNT\SYMBOLS

This will copy the Service Pack 1 .DBG files over the existing versions of
these files.  The XCOPY command shown will copy only those .DBG files that 
are already installed (/U switch), and only those with a more recent time-
date stamp (/D switch).


3.0  Software Update for Windows NT 3.5 for the Pentium Floating Point Error
----------------------------------------------------------------------------
This release of Windows NT 3.5 U.S. Service Pack 1 includes a utility
(PENTNT.EXE) that, on Pentium-based systems, checks whether the processor
contains the floating point division error, reports the current status of
floating point, and allows disabling and re-enabling of hardware floating point.
This software effectively turns off the math coprocessor by trapping the
floating point instructions.  This makes the Pentium processor behave similarly
to 486SX or 386 processors that do not have a math coprocessor.  The utility
works on Pentium and x86 systems.

Additionally, the solution is implemented through registry settings so that
system policy administrators can control the use of Pentium floating point
hardware on user systems.


3.1  Performance Considerations
-------------------------------
Core operating system code (for window management, disk and file operations,
and application programming interfaces) in Windows NT does not perform floating
point calculations, and so will not be affected either by the potential
floating point hardware division errors, or by disabling hardware floating
point.  However, choosing software emulation of floating point will result in
lower performance of floating point operations.  Some utilities and applications
such as the Calculator application provided with Windows NT, and the OpenGL
rendering engine, may use floating point hardware when present.  Most word
processors, databases, email, and so on, perform few or no floating point
operations.

Math-intensive applications, including spreadsheets and technical applications,
typically perform floating point operations, and therefore will experience some
performance degradation.  The OpenGL rendering engine, which is part of
Windows NT 3.5, and other 3D and CAD applications, are instances of this type of
application.  The user of such applications will be able to choose between the
higher speed of hardware floating point, or slower floating point software
emulation libraries, which will not encounter the Pentium floating point 
division error.  Many applications contain their own floating point libraries
to use in this case.  A few applications (such as Autocad) require floating
point hardware and will not run without it.  Customers running these
applications will need to replace their Pentium processor in order to avoid
the floating point division error.  The floating point software emulation's
libraries are used on systems with 486SX or 386 processors.


3.2  Running PENTNT.EXE
-----------------------
To start the PENTNT.EXE utility, at the MS-DOS prompt type: 

    PENTNT [-C|-c] [-F|-f] [-O|-o] [-?|-H|-h] 

The utility will test floating point division.  If no error is found, a message
will appear recommending that you use floating point hardware.  If a division
error is detected, a message appears notifying you of the error.  You then have
several choices: to disable floating point hardware only if you are using a
Pentium processor with a division error, or disable floating point hardware
always.  If you choose to disable or re-enable floating point emulation, you
must restart the computer for the changes to take effect.

The complete PENTNT command syntax is as follows:

PENTNT [-C|-c] [-F|-f] [-O|-o] [-?|-H|-h] 

where:

-C|-c      Turns on conditional emulation.  This means that floating point 
           emulation will be forced on if and only if the system detects the
           Pentium floating point division error at start time.  If you select
           this parameter, you must restart the computer for the changes to 
           take effect.

-F|-f      Turns on forced emulation. This means that floating point hardware
           is disabled and floating point emulation will always be forced on,
           regardless of whether the system exhibits the Pentium division 
           error.  This parameter is useful for testing software emulators and
           for working around floating point hardware defects known to the 
           operating system.  If you select this parameter, you must restart
           the computer for the changes to take effect.

-O|-o      Turns off forced emulation and re-enables floating point hardware
           if it is present.  If you select this parameter, you must restart
           the computer for the changes to take effect.

-?|-H|-h   Displays help for the command.


3.3  Registry Entry
-------------------
The Registry entry for the PENTNT utility is located in the Registry subtree
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager.  The
following parameter is used by the PENTNT utility:

REG_DWORD
ForceNpxEmulation = 0 | 1 | 2

Specifies if the floating point emulation is turned on or off.  If set to 0,
floating point emulation is not enabled and floating point hardware is enabled.
If set to 1, conditional floating point emulation is enabled.  If set to 2,
unconditional emulation is enabled.  By default, this parameter is set to 0.


4.0  Calculator Application
---------------------------
This release of the Windows NT 3.5 U.S. Service Pack 1 contains a new version
of the Calculator application that fixes a display error in floating point
number calculations.  This display error is unrelated to the Pentium processor
floating point division hardware.  The fixed Calculator application (CALC.EXE)
is included for all Microsoft Windows NT systems, and works on all hardware
platforms supported by Windows NT.
