Tip on memory for Windows NT 3.1 users

I just found out that if you replace the ntldr & ntdetect.com from Windows NT 3.51 service pack 5, you can access as much memory as the 32bit platform will let you!!! This is of course, 2GB per process, 1GB for Windows NT, the other 1GB is reserved for PCI hardware (remember the upper 384k in MS-DOS??). I have to say it’s GREAT to shatter the 64MB barrier of the earlier PC’s.

Anyways it’s quite simple to do, just download and extract service pack 5, then just copy the ntldr & ntdetect.com in the c:\ directory.

And here is a screen shot for the heck of it, of my Windows NT 3.1 with NT 3.51’s loader running with 3GB of ram! This makes compiling bigger things way easier, and I don’t have to page like crazy with Netscape…

Windows NT 3.1 with 3GB of RAM!

Windows NT 3.1 with 3GB of RAM!

For what it’s worth, I wouldn’t go beyond 3GB, as you’ll never get to use any more then that much, just as it is with Windows 2000,XP,2003,Vista on the i386 32bit platform. That is just the way it is, and yes XP & Vista that tell you about your 4GB of ram are simply reporting installed ram, not available memory.

This entry was posted in Windows NT 3.1 by neozeed. Bookmark the permalink.

About neozeed

What is there to tell? I've loved UNIX like things since I was first exposed to QNX in highschool (we had the Unisys ICONS!), and spent the better time of my teenage years trying to get my own UNIX... I should have bought Coherent in retrospect.. Anyways latched onto Linux in 1992, and then got some old BSD admin books and have been hooked on the VAX BSD & other big/ancient things since...!

2 thoughts on “Tip on memory for Windows NT 3.1 users

  1. The problem was the BIOS memory probing calls that existed at the time. In particular, INT 15h/AH=88h could not report more than 64MB of RAM (some BIOSes in fact only reported up to 16MB of RAM). Later there was INT 15/AH=E801h and the INT 15/AH=E820h calls to solve this problem, but there were OSes that used E801h only if 16MB of RAM was reported via 88h.

  2. I mean INT 15/AX=E801h and INT 15/AX=E820h of course. NT 3.1 already supports the E801h one (with a minimum requirement of 12MB of RAM it was obvious that 88h was not going to be enough!), and NT 3.5 added support for the E820h one.

Leave a Reply

Your email address will not be published.

Notify me of followup comments via e-mail. You can also subscribe without commenting.