Microsoft Windows NT 3.1 [build 528] (Jul 1993 - Dec 2001)


Windows NT 3.1 can be run under 80386 or later CPU. Only FAT16/NTFS/HPFS drive! First true 32 bit version of Windows.
> View screenshots :) <
> Download Windows NT 3.1 HERE [WinWorld] :) <
> Download Windows NT 3.1 SP3 English from HERE (ftp://ftp.microsoft.com/softlib/MSLFILES) <<
and find these files:

October 20	S14958	SP3_31.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14959	SP3_32.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14960	SP3_33.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14961	SP3_34.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14962	SP3_35.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14963	SP3_36.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14964	SP3_37.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14965	SP3_38.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14966	SP3_39.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14967	SP3_51.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14968	SP3_52.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14969	SP3_53.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14970	SP3_54.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14971	SP3_55.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14972	SP3_56.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14973	SP3_57.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14974	SP3_58.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14975	SP3_59.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14976	SP3_5A.EXE	U.S. Service Pack 3 for Windows NT version 3.1
October 20	S14977	SP3_5B.EXE	U.S. Service Pack 3 for Windows NT version 3.1

PREFACE

Installing Windows NT from CD, HDD or floppies as usual on modern hardware (I mean Pentium4-based and later PCs) it is a difficult task due to installer incompatibility with faster/newer hardware & CPUs. That doesnt mean that Windows NT cannot RUN on such hardware. You CAN install Windows NT in virtialization software (QEMU, VirtualBox, VmWare, VirtualPC, Bochs ...) and then copy intalled OS image on "real" PC harddrive.


General installation notes

On modern systems like Pentium-II CPUs or higher you may expect problems when installing NT 3.1 or updating it with service pack. To resolve these problems you must edit these files:
Differences in writing drivers compared with newer NT systems

  1. The sources file used to build the driver must include the following line:
    DRIVER_ALIGNMENT=0x200
    Windows NT 3.5 (and later) allows image sections to be aligned on 32-byte boundaries, but Windows NT 3.1 requires them to be aligned on 512-byte boundaries. If you do not add this line to your sources file, Windows NT 3.1 will refuse to load your driver, reporting an invalid image format error.
  2. The PE-header of driver file must include the following version numbers: Don't forget to recalculate checksum of driver file. You can use editbin tool from Microsoft's Visual Studio or Platform SDK:
    editbin /RELEASE MSGINA.DLL
  3. Some structures changed when Windows NT 3.51 is released so keep an eye for it. I'll take for example VIDEO_HW_INITIALIZATION_DATA and VIDEO_PORT_CONFIG_INFO structures from video.h.
    //
    // Structure passed by the miniport entry point to the video port
    // initialization routine.
    //
    
    typedef struct _VIDEO_HW_INITIALIZATION_DATA {
    
        ULONG HwInitDataSize;
        INTERFACE_TYPE AdapterInterfaceType;
        PVIDEO_HW_FIND_ADAPTER HwFindAdapter;
        PVIDEO_HW_INITIALIZE HwInitialize;
        PVIDEO_HW_INTERRUPT HwInterrupt;
        PVIDEO_HW_START_IO HwStartIO;
        ULONG HwDeviceExtensionSize;
        ULONG StartingDeviceNumber;
    
        // New for version 3.5 and later - REMOVE IT!!!
    
        PVIDEO_HW_RESET_HW HwResetHw;
        PVIDEO_HW_TIMER HwTimer;
    
    } VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
    

    typedef struct _VIDEO_PORT_CONFIG_INFO {
    
        ULONG Length;
        ULONG SystemIoBusNumber;
        INTERFACE_TYPE AdapterInterfaceType;
        ULONG BusInterruptLevel;
        ULONG BusInterruptVector;
        KINTERRUPT_MODE InterruptMode;
        ULONG NumEmulatorAccessEntries;
        PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries;
        ULONG EmulatorAccessEntriesContext;
        PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress;
        ULONG VdmPhysicalVideoMemoryLength;
        ULONG HardwareStateSize;
    
        // New for version 3.5 and later - REMOVE IT!!!
    
        ULONG DmaChannel;
        ULONG DmaPort;
        UCHAR InterruptShareable;
    
    } VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
    
  4. Also you must keep an eye for missing ntoskrnl, ntdll, kernel32, user32, gdi32, advapi32, shell32 and other functions/procedures.

Assorted developer comments related to NT 3.1


Home page
E-Mail: bearwindows_at_fastmail_dot_com | Last update: July 1st 2008