in memory of rloew

                NVIDIA GRAPHICS CARD INTERRUPT EOI FIX

                             Version 3.0

                              06/06/2017

                        Copyright (C) 2016-2017
                          By Rudolph R. Loew
                             
                             

REQUIREMENTS

Windows 95, 98, 98SE or ME.
6xxx or 7xxx Series nVidia Graphics Card.


CONTENTS

FIXINTR.TXT     This File
FIXINTR.VXD     Interrupt Fixup VXD (All IRQs) (Beta)
FIXINTR#.VXD    Interrupt Fixup VXD (Individual IRQs) #=IRQ (Beta)
FIXEOI.VXD      Alternate Interrupt Fixup VXD (All IRQs)
TESTEOI.VXD     Interrupt EOI Bug Check Program


LICENSE

Read the Licensing terms and conditions in the LICENSE.TXT file before
using these Files. Usage of any of the Files constitutes acceptance of all
of the terms and conditions in the LICENSE.TXT file. References to Patches
are for the nVidia Size Patches and the PCI Patches (NVSIZE) and are not
relevant to this subset.


OVERVIEW

This Package is a separate subset of the nVidia Size Patch Package (NVSIZE),
provided to handle the Interrupt EOI Bug for users who do not need the entire
NVSIZE Package.

The Interrupt Fixup Files (FIXINTR) are provided to handle loss of
Interrupts due to mishandling of End Of Interrupt (EOI) commands by the
NVidia Graphics Driver. Symptoms of this problem include Mouse Pointer
freezing, Disk Write Error BSODs and USB problems.

An alternative Interrupt Fixup File (FIXEOI) is provided if the FIXINTR Files
cannot be used on your System.


INSTALLATION

Extract the files from the FIXINTR.ZIP Package into a single Folder.

Read FIXINTR Section below before Installing.

1. Place FIXINTR.VXD or one or more FIXINTR#.VXD (where # is the selected IRQ)
   File(s) in your WINDOWS\SYSTEM Folder.
2. Edit your WINDOWS\SYSTEM.INI File.
3. In the [386Enh] Section, add the following line(s)

   device=FIXINTR.VXD

   or one or more

   device=FIXINTR#.VXD (where # is the selected IRQ)

4. Reboot.

If FIXINTR does not work, identify the IRQ used by your nVidia Graphics
Card using the Resource Tab in Device Manager. If the IRQ is greater than 9,
convert it into Hexadecimal (10=A, 11=B, 12=C, 13=D, 14=E, 15=F).
Substitute the '#' character in the Instructions with the IRQ digit or letter.

If neither work, substitute FIXINTR.VXD with FIXEOI.VXD in the Instructions.

Uninstall the previous Line and File before trying the next one.
Do not mix FIXINTR, FIXEOI or FIXINTR# Files together in SYSTEM.INI.


UNINSTALL:

1. Boot into Safe Mode if Normal Mode is unbootable.
2. Edit your WINDOWS\SYSTEM.INI File.
3. Remove the following line(s) from the [386Enh]] Section if present:

device=FIXINTR.VXD
device=FIXINTR#.VXD (#=IRQ)
device=FIXEOI.VXD

4. Optionally, remove the FIXINTR.VXD, FIXEOI.VXD or FIXINTR#.VXD File(s)
   from the WINDOWS\SYSTEM Folder.

Reboot after uninstalling Patch(es) and/or VXDs for them to take effect.


FIXINTR VXD (Beta) and FIXEOI VXD

NOTICE: The FIXINTR and FIXINTR# fixes have not been tested on a large
        enough set of Motherboards or Driver configurations. There is no
        guarantee that these Files will be compatable with your setup.
        If they are not compatible, use FIXEOI instead.

The FIXINTR VXDs place themselves in the Virtual IRQ chains and provide
the proper End Of Interrupt (EOI) signal when the NVidia Graphics Driver
fails to do so.

The FIXEOI VXD polls the status of the Virtual IRQs and sends an EOI Command
to them when they are stuck for more than 400mSec.

When an EOI is not sent, the Interrupt remains active and no new Interrupts
for that IRQ can occur. This is likely to cause problems with any device
that shares that IRQ.

The Mouse Pointer is updated on the Graphics Interrupt. If the Interrupt
fails, the Mouse Pointer freezes until a timeout occurs. The timeouts occur
once every 15 Seconds so the Mouse Pointer will jump once every 15 seconds.

Particularly on newer motherboards, especially the 970 series, the Graphics
IRQ is shared with the SATA Hard Disk Controller and/or USB Controllers.
Interrupt failure can cause "Disk Write Error" BSODs and/or USB Failure or
crashes.

I have provided an all IRQ Version of my Interrupt Fixup Program called
FIXINTR.VXD, as well as a set of Single IRQ Versions called FIXINTR#.VXD
where # is the IRQ. The IRQ Number is Hexadecimal so IRQs 10-15 are
represented by A-F.

Some Motherboards will work with the all IRQ Version, some will not.
If your Computer does not Boot with the all IRQ Version Installed, go into
Safe Mode and Uninstall it. FIXEOI.VXD is provided in case neither option
works.

To use a specific IRQ Version, use Device Manager to examine the Resources
used by your Graphics Card. Note the Interrupt Request Number. Convert
Numbers from 10 to 15 to their corresponding Hexadecimal Digits A to F.
Select the appropriate FIXINTR#.VXD File and Install it as described above.

If your Computer does not Boot, go into Safe Mode and Uninstall it.

If none of the Fixes work you can try the following:

If you are not using the 82.69 Version of the NVidia Driver you can try
upgrading it.
Reinstall Windows with the "SETUP /p i" Option or disable ACPI.

If this doesn't work, send me an E-Mail and maybe I can help.


TESTEOI

TESTEOI.VXD is a test VXD that can be used to determine if the Interrupt EOI
Bug is an issue with your System.

1. Install the file in your Windows\System Folder.
2. Add the following lne to the [386Enh] Section of your SYSTEM.INI File

DEVICE=TESTEOI.VXD

3. Reboot

The problem is very intermittent and may take many hours or even days to
appear. Keeping the CPU and Disk Drive busy seems to increase the frequency
of occurence. If you have been having problems with frequent Mouse freezes
then it should take less time.

When the Bug is detected, either a BSOD or Popup will appear telling you that
TESTEOI detected a missing EOI. Closing the Notice will let you continue but
part of your System will still be frozen.
