--------------------------------------------------------------------------- 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.