VOGONS


First post, by BrAlZy

User metadata
Rank Newbie
Rank
Newbie

Hey guys, long time since I’ve been here! It’s been several years since I’ve been on the forum but my interest for the hobby of retro computing never died.

Anyways I’ve been tossing around the idea of building the ultimate Windows NT 3.51 computer. Why you might ask? Because of the simple answer of being different. I absolutely love retro DOS, 95, 98, XP, etc. builds, but I wanna try something different. I really want to figure out what the best everything would be for NT 3.51 but I’m having trouble finding information so I’m turning to the community for help. Here’s what I’ve got so far:

Max RAM = 4GB because it’s a 32-bit OS
Best GPU = Matrox G400 MAX
Best Sound Card = Ensoniq AudioPCI ES1370

That’s really all I have right now but I’d like to find all the possible pieces of hardware to make a legitimate buildable computer that would get the most out of NT 3.51. I’m not really concerned about any potential bottlenecks that would arise, just want to max out performance as much as possible with the best possible piece of hardware in every category. Any hint in the right direction would be greatly appreciated! Thanks in advance!

Reply 1 of 26, by mR_Slug

User metadata
Rank Member
Rank
Member

My ultimate NT3 build is based around a dual Pentium 100MHz. It's in the process of being built. 4GB? Looks like your not going for period correctness, unless you intend to build a system around the 450GX chipset (Quad PPro). At any rate I'd go dual cpu. I dunno the last class of system that supports NT3.51.

For hard disk, I'm going SCSI raid, but you may be thinking more SATA/SSD.

The Retro Web | EISA .cfg Archive | Chip set Encyclopedia

Reply 2 of 26, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

NT 3.51 predates ACPI. It would use MultiProcessor Specification for a multiprocessor board.
Looks like your board will need to be compatible with the halmps.dll "MPS 1.1 - APIC platform" (APIC not to be confused with ACPI) - https://www.geoffchappell.com/studies/windows … story/index.htm
A dual socket 5/7/8 would be most likely to work. Prior to the Pentium I believe all multiprocessing implementations were proprietary, thus why there was a SystemPro (the first multiprocessor x86 I think) HAL, NCR, etc.

There are some multiprocessor systems listed on the HCL, but not many: http://ftpmirror.your.org/pub/misc/ftp.micros … ocs/hcl/HCL351/ (they are just .ZIP files with .doc inside)

I wonder how common it was to buy a bare multiprocessor motherboard in 1995. Probably not very.

NT 3.51 is a fun exercise especially with the Win 3.x interface but I'm not sure what kind of market share it had. Interest would have moved on to NT 4 pretty quickly once it came out I think. It was still very much a NetWare/UNIX world for servers I think at that time...

Reply 4 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member

My ultimate NT 3.51 setup has the following hardware:

Motherboard: Gigabyte GA-P75-D3
CPU: Intel Core I5-3570 (4C/4T, 3.4 GHz Base, 3.8 GHz Turbo)
Memory: 8GB DDR3-1600 (only 3+ GB recognized)
GPU: Matrox G200 (PCI, 8MB VRAM)
HD: Generic 32GB SSD (SATA 2)
Audio: Ensoniq AudioPCI 1370
Network: Generic Realtek 8139 (PCI)
Other: Rosewill RC-212 SATA Controller (PCI)

Edit: I forgot to mention I also have 2 DVD+RW drives (SATA) attached to the motherboard's SATA ports that also work in NT 3.51.

You've got me on the G400 Max, but I'd argue that the additional features on the G400 don't make much of a difference in NT 3.51. Besides, the G400 series doesn't come in a PCI variant. Still, I think 4 CPUs running at 3.4 GHz makes NT 3.51 feel pretty zippy. Here's a picture:

Attachments

  • CPU_GPU.jpg
    Filename
    CPU_GPU.jpg
    File size
    602.17 KiB
    Views
    2050 views
    File license
    Fair use/fair dealing exception
Last edited by fosterwj03 on 2021-10-02, 22:16. Edited 2 times in total.

Reply 5 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member

BTW, I have gotten NT 3.51 to run on a Intel Core I5-4690 (Haswell architecture), but Intel broke backward compatibility with MPS 1.1/1.4 support starting in the 8-series chipsets. You have to set up NT 3.51, NT 4, and Windows 2000 in "Standard PC" mode with only one processor on any platform newer than the Intel 7-series. It was technically faster than my Ivy bridge setup at 3.9GHz turbo, but I lost out on the other 3 cores.

Reply 6 of 26, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
fosterwj03 wrote on 2021-10-02, 21:21:

BTW, I have gotten NT 3.51 to run on a Intel Core I5-4690 (Haswell architecture), but Intel broke backward compatibility with MPS 1.1/1.4 support starting in the 8-series chipsets. You have to set up NT 3.51, NT 4, and Windows 2000 in "Standard PC" mode with only one processor on any platform newer than the Intel 7-series. It was technically faster than my Ivy bridge setup at 3.9GHz turbo, but I lost out on the other 3 cores.

Nice, I didn't realize MPS remained supported so long. I guess it would also work on an AMD socket AM3+ board too?

Reply 7 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member
jakethompson1 wrote on 2021-10-02, 21:33:
fosterwj03 wrote on 2021-10-02, 21:21:

BTW, I have gotten NT 3.51 to run on a Intel Core I5-4690 (Haswell architecture), but Intel broke backward compatibility with MPS 1.1/1.4 support starting in the 8-series chipsets. You have to set up NT 3.51, NT 4, and Windows 2000 in "Standard PC" mode with only one processor on any platform newer than the Intel 7-series. It was technically faster than my Ivy bridge setup at 3.9GHz turbo, but I lost out on the other 3 cores.

Nice, I didn't realize MPS remained supported so long. I guess it would also work on an AMD socket AM3+ board too?

I can't speak for AMD platforms, I'm afraid. I stick with Intel CPUs/Motherboards for my retro software activities. You would need to research BIOS options for MPS support on an AMD motherboard.

Reply 9 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member

You also need to be careful with SATA controllers built into newer motherboards. NT 3.51's and NT 4's ATAPI driver does not work with most SATA controllers operating in "Native" mode, and it definitely won't work in AHCI mode. These controllers work best in "Compatibility" mode that emulates IDE protocols.

I found out that the NT 4 driver for the Roswell RC-212 controller card works with NT 3.51. I had to create a custom. INF file to install it, though.

Reply 10 of 26, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t
mR_Slug wrote on 2021-10-02, 20:26:

My ultimate NT3 build is based around a dual Pentium 100MHz. It's in the process of being built. 4GB? Looks like your not going for period correctness, unless you intend to build a system around the 450GX chipset (Quad PPro). At any rate I'd go dual cpu. I dunno the last class of system that supports NT3.51.

For hard disk, I'm going SCSI raid, but you may be thinking more SATA/SSD.

Dual P100s are a good choice, especially the gold top versions...on a Neptune motherboard. But that might be a better choice for NT3.1. For 3.51 I'd go with dual PPro.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 11 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member

Its an interesting question. Is the ultimate machine made up of highest performing, officially supported parts, or is it made up of the highest performing parts a user can make work (with or without offical support)?

Microsoft ended official support for NT 3.51 a long time ago. The arrival of NT 4 in 1996 also effectively ended manufacturer interest in supporting a recently replaced OS (at least it seemed like it back then). As a result, only a few manufacturers bothered to produce and test driver compatibility for NT 3.51 after the release of NT 4, and most ended official support by the end of the decade/millennium.

On the other hand, Intel, BIOS developers, and motherboard manufacturers retained significant backwards compatibility for a number of standards in CPUs and motherboards for years (the PCI bus, PS/2 mouse/keyboard, IDE/ATAPI protocols, memory addressing above 1MB, VESA graphics modes, etc.). Some of those standards remain in new PCs today. Windows NT 3.51 will run on newer hardware retaining 30+ year-old PC standards. In fact, recent hardware can run NT 3.51 very well and, in some cases, to its fullest potential.

Add in the fact that NT 3.51 shares a number of APIs and Kernel calls with NT 4 (an OS that had much more hardware support than NT 3.51), and you get a number of high-end PC components that can work with NT 3.51 after a couple of driver tweaks (advanced ATAPI support and SATA interfaces as examples).

I think you could put together a really great system to run NT 3.51 using some hand-picked hardware that would have blown the minds of users back in 1995. I've spent a lot of time over the last 10 years looking for hardware that can really push mid-90's operating systems. Sure, my Ivy Bridge system only has 4 processing cores (vice NT's theoretical maximum of 32), but it's affordable, fun to build and play with, and NT rocks on it.

I'd vote for maximum potential performance as the goal of the Ultimate System.

Reply 12 of 26, by BrAlZy

User metadata
Rank Newbie
Rank
Newbie

The ultimate end goal for the build would be maximum potential performance, not necessarily time period correctness. As for getting there, I’m not really concerned with official or unofficial methods (such as unofficial drivers or modified system files). I know Windows NT 3.51 had very little driver support from manufacturers and OEMs, but I know there are drivers out there. Finding the best possible hardware with drivers for NT 3.51 is difficult as a lot of NT 3.51 drivers were not well documented (at least from my research and digging around on the internet). I definitely like fosterwj03’s build and would most definitely build something like it. The end goal is to find out what would be the best piece of hardware (CPU, GPU, Storage, Audio, etc.) that NT 3.51 could work with and make the absolute fastest NT 3.51 machine.

Reply 13 of 26, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

I would look at an HP Kayak UX with Dual Pentium II 400’s
Just add a compatible SCSI adapter, SCSI drives and Sound Blaster 16, and compatible Video Card and network card.
Supports up to 256mb ram.

You could even use Pentium III@500mhz or use some Slot-1 adapters with 1ghz socket 370 CPU’s.
For dual 1ghz CPU’s

This computer was built for WinNT 4.0 but should work fine with WinNT351.

Attachments

Reply 14 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member

This website hasn't gotten an update in a couple of years, but Bearwindows' writeup on getting NT 3.51 up and running on unsupported hardware is still excellent:

https://bearwindows.zcm.com.au/winnt351.htm

It also includes instructions to slipstream SP5 as well as required and optional driver replacements into the installation media. I still refer back to these pages from time to time.

Reply 15 of 26, by BrAlZy

User metadata
Rank Newbie
Rank
Newbie
fosterwj03 wrote on 2021-10-02, 22:28:

You also need to be careful with SATA controllers built into newer motherboards. NT 3.51's and NT 4's ATAPI driver does not work with most SATA controllers operating in "Native" mode, and it definitely won't work in AHCI mode. These controllers work best in "Compatibility" mode that emulates IDE protocols.

I found out that the NT 4 driver for the Roswell RC-212 controller card works with NT 3.51. I had to create a custom. INF file to install it, though.

How would one go about creating a custom .INF file for the RC-212? That’s something I’ve never done before but would be interested in getting native SATA support for my future build.

Also what if I was to use a Core 2 Quad motherboard with an AGP slot to be able to use the G400 MAX. From my reading over at https://bearwindows.zcm.com.au/winnt351.htm I saw mention of being able to get OpenGL 2.1 on NT 3.51 and the extra performance of the G400 MAX would be something that would intrigue me in that case.

Reply 16 of 26, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
BrAlZy wrote on 2021-10-04, 07:28:
  1. How would one go about creating a custom .INF file for the RC-212?
  2. Also what if I was to use a Core 2 Quad motherboard with an AGP slot to be able to use the G400 MAX.
  1. The Windows NT 3.51 DDK should tell you how to do this
  2. Have you considered getting an AGP to PCI adapter, that said it a PCI G450 would be cheaper.
  3. Which shell do you plan to use? The last time I had a 3.51 system I installed the NT4 shell as it's much easier to use.

Reply 17 of 26, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

I don't really see the point of running 3.51 if you're going to use an NT4 shell. The Windows 3.x interface is probably the only reason to bother with 3.51.
Is it possible to do the opposite? Run the 3.51 shell on NT4?

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 18 of 26, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
Anonymous Coward wrote on 2021-10-04, 11:31:

I don't really see the point of running 3.51 if you're going to use an NT4 shell.

It all depends on why you are running the NT 3.51 kernel.

Back in 2014 I ran 3.51 so I could adjust the SIV kernel mode NT 4.0 driver (SIVNT4.sys) to support NT 3.51, in the end I needed to have a SIVNT3.sys. While/after doing this I recalled the NT4 shell and felt I would try it out. As things turned out it's fortunate I did as with the NT4 shell installed GetVersion()/GetVersionEx() report V4.00 rather than V3.51 which I needed to allow for.

Another reason is that you have a CPU that is not supported by NT 4.00 and don't like the NT 3.51 GUI.

Reply 19 of 26, by fosterwj03

User metadata
Rank Member
Rank
Member
BrAlZy wrote on 2021-10-04, 07:28:
fosterwj03 wrote on 2021-10-02, 22:28:

You also need to be careful with SATA controllers built into newer motherboards. NT 3.51's and NT 4's ATAPI driver does not work with most SATA controllers operating in "Native" mode, and it definitely won't work in AHCI mode. These controllers work best in "Compatibility" mode that emulates IDE protocols.

I found out that the NT 4 driver for the Roswell RC-212 controller card works with NT 3.51. I had to create a custom. INF file to install it, though.

How would one go about creating a custom .INF file for the RC-212? That’s something I’ve never done before but would be interested in getting native SATA support for my future build.

Also what if I was to use a Core 2 Quad motherboard with an AGP slot to be able to use the G400 MAX. From my reading over at https://bearwindows.zcm.com.au/winnt351.htm I saw mention of being able to get OpenGL 2.1 on NT 3.51 and the extra performance of the G400 MAX would be something that would intrigue me in that case.

I have to admit that I was a little lazy. I took the OEMSETUP.INF from my Promise Ultra66 disk, and modified the text strings to locate and copy the Via driver (VIAMRAID.SYS). I also modified the driver text to read "Via RAID IDE/SATA Controller (NT3.51)". Works like a charm after installing NT to the drive attached to one of the motherboard's SATA port. I then switch the drive's cable over to the RC-212 before the next boot up.

I have yet to get the card to work during the text setup phase of NT installation (without using a floppy disk). I modified all of the setup .INF files, but the setup program can't find the driver even when I have it in the i386 folder. Interestingly, Alter's UNIATA.SYS driver does work with the RC-212 as well, so I can alternately use that driver if I rename it to ATAPI.SYS and replace that file in the i386 folder.