Mozilla Firefox and Windows NT 3.51

Windows NT 3.51 users have had access to Microsoft browser technology on the same release schedule as Microsoft browsers for Windows 3.11. Unfortunately Microsoft’s logic with NT 3.51 (a 32-bit operating system) was to restrict web browser installations to 16-bit client releases.

The result of losing these 16 extra bits of power? The browser runs at half pace, is exceptionally slow and is limited in its execution space. One must conclude that this artificial restriction was the results of a drive towards forcing people over to Windows NT 4.0, rather than for any pragmatic reason.

One thing that it is very easy to forget when absorbing yourself in the Program Manager driven interface of 3.51 is that 3.51 is a 32-bit operating system, and that crucially it has more in common with Windows 95 and NT 4.0 than Microsoft ever allowed it to take credit for. Subsequently it is often possible for it to run code designed for higher windows versions; particularly code not bolted together using Microsoft’s latest IDE runtime mishmash. Open Source Mozilla Firefox is one such example.

Firefox 1.5

Firefox 1.5.0.2 on 3.51

At the time of writing, the latest build of Firefox is 1.5.0.2 (pictured above). Interestingly, looking at the user agent string, Firefox is even able to identify itself as running under Windows NT 3.51 – though this is likely from the registry rather than a hard coded variable.

Themes

Even Firefox themes work as expected under the release, here showing a Luna theme and a minor level of distortion.

Firefox Themes

Tabs

Finally, for those who get a little crazy about such things. Even tabs work under 3.51.

Firefox Tabs

What doesn’t work

Unfortunately, the sweet delights of a 32-bit browser are overshadowed by a few minor (I say minor…) issues.

  1. Firstly, the installer does not work under 3.51. It will inflate the data store, begin running setup.exe and then drop the process without the slightest hint of an error. Even if you perform the inflation for it, it still drops out unannounced.
    I have found that you can get around this by installing Firefox onto another Win32 NT based system and copying the entire Firefox installation path over to the machine, or run firefox over a network share
  2. Windows NT 3.51 lacks common runtime controls and dialogue menus. As I said above, it’s Microsoft’s IDE and API set which causes programs not to run under 3.51, and control dialogues are an exception in the Firefox build. In the absence of commdlg controls, firefox cannot render any of the shell menu’s which we all know and love from Windows 95 and above. Consequently, displays such as the file system navigators wont display
  3. As a side effect of the above, the downloads control doesn’t work as you cannot browse for a download location and under 3.51 the default “desktop” does not exist. You can change the default download locations by adding the following into perfs.js found somewhere under C:\WinNT35\Mozilla:
    user_pref(“browser.download.dir”, “C:\\builds\\04182006\\INS\\unix\\EN”);
    user_pref(“browser.download.downloadDir”, “C:\\builds\\04182006\\INS\\unix\\EN”);

    Unfortunately, I have not been able to get the downloads system working at all.
  4. The above makes getting hold of extensions such as Macromedia Flash somewhat harder
  5. You need to click on hyperlinks twice

Installing Windows NT 3.51 under Virtual PC 2004 SP1

This document outlines the steps required to install Windows NT 3.51 Server or Workstation under Microsoft Virtual PC 2004 SP1.

 

Prerequisites:

  • Windows NT 3.51 Server / Workstation
    This guide assumes that the installation source is an original NT 3.51 Gold (RTM) source and does not include any Service Pack revisions. If the source is slipstreamed with a Service Pack some steps outlined in this document may not be required.
  • The guide assumes that you are installing 3.51 into a new Virtual Machine, and not as a dual boot.
  • Windows NT 3.51 SP5 – Available from the Microsoft FTP Server (12.7MB).

Installation:

Windows NT 3.51 can be installed from either a CD, or from the local filing system using the WinNT Setup sub system. For the benefit of readers in this article, the primary focus will be on performing the installation using WinNT Setup rather than a CD.

 

Prepare the Virtual Machine using the New Virtual Machine Wizard

  1. Create a new Virtual Machine
  2. Set the Operating System as Windows NT Server
  3. Select a custom RAM level and set it no higher than 64MB of RAM. It is important that the RAM allocation does not exceed 64MB during the Install process, however it can be increased after installation.
  4. Create a new Virtual Hard disk, with a minimum size of 400MB. Leaving the setup defaults as a dynamically expanding volume is recommended.

 

Installing from the CD/Floppy Disk Set

If you intend to install from a CD ROM you will require the NT 3.51 Setup boot floppies. I have created Virtual Floppy Images of the disks for use with Microsoft Virtual PC which you can download below.

Download: NT 3.51 Virtual PC Boot Disks (1.5MB)

  1. Boot onto the first two floppy images
  2. Press Enter to install Windows NT 3.51
  3. Select C to perform a custom installation
  4. Boot from the third floppy image
  5. Ensure that setup has detected the CD Drive as:
    IDE CD-ROM (ATAPI 1.2) / Dual-channel PCI IDE
  6. Press Enter to continue
  7. When prompted either select “To install Windows NT from CD-ROM, press ENTER” if you are installing from the CD or “To install Windows NT from 3.5″ disks (drive A:), press A.” if you are using a floppy disk installation set.
  8. Setup your Installation options, ensuring that 3.51 is setup as a “Standard PC“. Perform the setup using the VGA or Compatible display adapter
  9. At the partition manager setup the physical volume onto which you wish to install Windows NT. You cannot create a drive volume using the default NTFS driver up to the 8GB limit. It is recommended that you create a volume of 4096MB (4GB) to install the operating system onto.
  10. It is recommended that you format the partition as NTFS
  11. Select the Windows Folder for the Install and press enter
  12. Insert your Windows NT 3.51 CD and begin the file copy process. Once complete setup will reboot into GUI mode setup

 

Installing using WinNT.exe

If you are having problems with the CD based setup, or you wish to perform the installation using a local system file copy, you must use the 16-bit WinNT setup command line routine.

You will need a MS-DOS startup disk containing FDisk, Format and SmartDrive (recommended) and a mathod of transfering the i386 folder of the Windows NT 3.51 Setup CD onto a Virtual Hard drive

  1. Boot onto the MS-DOS boot disk
  2. Run FDisk
  3. Create a new Primary Partition up to the maximum allocation ont he virtual hard disk
  4. Create a new Extended partition on the same drive of a minimum of 300MB
  5. Create a new Logical volume within the extended partition of the maximum size
  6. Exit FDisk and reboot back on to the MS-DOS boot disk
  7. Format C: as a FAT16 disk partition (The size can only be up to 2GB)
  8. Format D: as FAT16
  9. You must now copy the i386 folder of the Windows NT 3.51 Setup CD onto the D: partition. You can do this by mounting the VHD as a secondary drive in another Virtual Machine (e.g. Windows 95, Windows XP) and copying the files over -or- by using a Boot disk with CD ROM support and manually copying the files into a sub folder on d: (as the number of files in the NT 3.51 setup folder is upwards of 1,800 files you must copy them into a sub folder. FAT16 has a file limit of 512 unique file objects on the root folder)
  10. Boot back onto the MS-DOS boot disk
  11. Load SmartDrive (Recommended)
  12. Open (‘CD’) the folder on D: where you copied your setup files. For the purpose of the remaineder of this guide D:\i386\
  13. Type:
    winnt.exe /s:D:\i386 /x /b
  14. The setup file copy process will begin
  15. Once the file copy has completed your will be prmoted to reboot your computer. Dismount any VFD images you are running and remove all floppy disk from your drive.
  16. NT 3.51 will begin booting. This first bootup will take longer than normal boot processes
    Blue screen of... life!
  17. If at this point the system runs into the STOP error:
    KMODE_EXCEPTION_NOT_HANDLED Address 801adcac has base at 80100000 – ntoskrnl.exe
    Blue screen of death
  18. The error message is caused because of two reasons
    1. Firstly because setup has incorrectly determined that the Virtual PC system is not a general IBM compatible x86 PC. In order to continue with the installation you must force the WinNT Setup application to run as a IBM Compatible PC.
    2. Additionally, setup may halt at this point if you are using more than one VHD (Virtual Hard Disk) file to access your NT 3.51 setup/installation drives. In order to proceed you must close the Virtual PC and disable the second Hard Disk.
  19. Reboot the system
  20. Immediately after this screen:
    Inspecting hardware configuration
  21. Begin pressing F5 twice a second
    NB: No dialogue prompt will be displayed to the user offering F5 as an option, so do not wait until you see the blue screen
  22. If you were fast enough you will be presented with this screen;
    Computer type
  23. Select Standard PC
  24. Press Enter to install Windows NT 3.51
  25. Select C to perform a custom installation
  26. Ensure that setup has detected the CD Drive as:
    IDE CD-ROM (ATAPI 1.2) / Dual-channel PCI IDE
  27. Press Enter to continue
  28. Setup your Installation options, ensuring that 3.51 is setup as a “Standard PC“. Perform the setup using the VGA or Compatible display adapter
  29. At the partition manager setup the physical volume onto which you wish to install Windows NT.
    You must not attempt to delete the C:\ volume of the hard disk, otherwise setup will fail completely. If you wish to add additional drives at this point you can do so.
    If you wish to resize the partition in the future, use disk utilities such as PowerQuest Partition Magic after you have applied SP5.
  30. It is recommended that you specify to convert the partition to NTFS
  31. Select the Windows Folder for the Install and press enter
  32. Windows NT 3.51 will reboot the setup program and boot onto the Windows NT subsystem GUI mode setup at this point in the installation

Installation complete

Before attempting to make use of NT 3.51 it is strongly recommedned that you install Service Pack 5 so as to benefit from update which will considerably stabalise the Kernel under Virtual PC.

Additional Installation Tasks

Windows NT 3.51 Driver Installation

Windows NT 3.51 Workstation Patching & Installation Guide (maintained by me)

Virtual PC 2004 SP1 Windows NT 3.51 Virtual Hardware Drivers

Windows NT 3.51 is like taking a trip back in time to the most scary place you ever read about in history class at school. It is like experiencing deja vu, and is welcome relief when you finally get out of there. However it can be quite fun to sit and tinker, and see what you can get it to do with modern code.

 

Service Pack Requirements :

Unless you have a Service Pack 4 or above Integrated version of NT 3.51, you will encounter problems during the installation.

Installation of SP5 should be performed as soon as the installation has been completed.

Downloads:

Windows NT 3.51 was release in 1995, well before the full hardware set in Virtual PC had been created. In order to find basic functionality, you will need to install a few drivers to make the most from the system.

 

S3 Trio64v+ (765)

Under Windows NT 3.51, the S3 Trio64v is catered for in the driver database as “s3 compatible display adapter”. The maximum supported resolution is 1280×1024 at 64K colour, or 1024×768 at 16.7 million colours.

 

DEC DC21x4

Under Windows NT 3.51, the DEC DC21x4 is catered for in the driver database as “DEC PCI Fast Ethernet DECchip 21140”. All resource configuration is automatic.

 

Creative Sound Blaster

There are no drivers under the Windows NT 3.51 driver database which can provide sound support for the Virtualised Sound Blaster 16 ISA. It too me quite some time to ascertain that there was once a driver release by creative for the adapter, and even longer still to find any further references to the release.

I was eventually successful in locating the driver files, and have created a Virtual PC 2004 Virtual Floppy Disk of the driver files, for download below. File © belongs to Creative Labs, VFD creation by C:Amie.

The driver includes support for wave form playback as well as MIDI wave tables.

Driver Downloads

SB16-ISA-NT3.51.zip 17/04/1996 1.4MB

To install the sound card using the Creative Drivers.

  1. Open the Control Panel
  2. Double Click Drivers
  3. Click Add…
  4. Select Unlisted or Updated Driver
  5. Mount the VFD image using the Virtual PC toolbar
  6. Click OK to accept A:\
  7. Select Creative Tech. Sound Blaster 16 if prompted
  8. After the driver file copy configure the hardware resources as:
    Port: 220
    Interrupt: 5
    DMA Channel: 1
    DMA Channel (16-bit): 5
  9. MPU401 I/O Address: Disable
  10. Click OK and restart the Virtual PC

Soundblaster Configuration Image