More fun with Nethack & MIPS NT!

Well a friend of mine pointed out some great archives of OLD Windows NT software..  Checking the list I noticed that there was a port of Nethack to Windows NT, namely Nethack 3.1.2  So using the nethack wiki I got the source code, and converted it to a zip file ( tar & gzip on SFU!)

The build was a little weird as it’s expecting the first compiler tools that shipped with the Win32 SDK “Final release” for Windows NT 3.1  While it may have been ‘easier’ to just install the old SDK, you can just copy cl.exe to mcl.exe & make a dummy ntdll.lib ….

Anyways with a little poking around I got it to build & run!  It’s cool!  Although to be honest I SUCK at nethack.

You can download it here.  It’s lovingly hard coded to use c:\games\nethack … I’m sorry about that, as I’ve given up on having C/D/E drives like a ‘secure’ MIPS machine, and just have a giant (haha!) 2GB system partition.

nethack MIPS

nethack MIPS

It’s also worth noting that it’s easier to try to build stuff on a ‘native’ machine running MSVC 2.0/2.1 then copy the stuff over the the MIPS simulator as it is SLOW.  But then that is to be expected.. It’s too bad the Qemu MIPS simulator cannot idle… as it runs one of my cores @ 100%.

MIPS blast from the past..

WindowsNT 4.0 MIPS

WindowsNT 4.0 MIPS

Personally, I’ve never used any MIPS workstations with Windows NT, I’ve been lucky to have used the PowerPC build for IIS (it was cool in that intel hacks wouldn’t work.. It’s too bad it didn’t live long from Microsoft’s end) and of course SQL server on the Dec Alpha.  I also used a Dec Alpha as a workstation (the Multia!) at the time I recall it was cool as it could decode MP3’s in real-time!  Sadly, my Multia died the day Microsoft killed the port.

Anyways while I was searching around hoping the Qemu forum had come alive (it is!) I came across this post:

I wanted to let you know that I succeeded to run MS Windows NT/MIPS in the Qemu emulator.
As far as I know, Qemu is the first emulator to be able to run Windows NT non i386/x64.
Some screenshots:
Code needs to be cleaned up and will be contributed upstream.

What is this?  Well click the links!  It is what it sounds like, Herve got Windows NT running on the MIPS emulation for Qemu!!

I’ve tested a 3.51 workstation CD to no avail – It hangs checking the hard disk.  I also have a 3.1 CD with the win32 SDK & it doesn’t work either.  However, 4.0 works fine!  I should also add, this gave me a chance to install Microsoft Visual C++ 2.0 for the MIPS, and to try SQL 4.21 for the MIPS out.

One of the first thing you’ll find out, is that the Dec Alpha was popular non intel machine to run because of FX!32.  This program from Dec, allowed for dynamic translation of 32bit binaries on the Alpha.  So that you could run Office 97 for the i386 on the Alpha.  And on the 2nd run it was effectively a native copy as it had been translated at that point. Nothing like this existed for the MIPS.  Thus, native applications are RARE if any.  Another thing contributing to the lack of MIPS stuff, is that right after sp1 for Windows NT 4.0 came out, a week later all support for the MIPS ended.  Shockingly, there is a bare port of Internet explorer 3, but nothing else from any of those resulting projects:  Which is really sad. I *think* there may still be some copies floating out there for the PowerPC, but it was killed around the time of the service pack 3 release.

Anyways if you want to run this, I did find thru a little digging around the win32 exe is available on Herve’s site.

Download both of these files:


And go ahead and unzip them.  In the you will have found a file called NTPROM.RAW, rename it mipsel_bios.bin  .

Now we are ready to go!

Create a 2GB disk like this:

qemu-img create -f qcow2 nt4.disk 2G

Then run the emulator

qemu-system-mips64el.exe -hda nt4.disk  -M magnum -L .  -net nic -net user-cdrom winnt40wks_sp1_en.iso

Your system will initialize and just run thru the quick setup – Keep the display at 800×600 as the mouse will actually work at that resolution!  Also set the date to the correct date and ensure the MAC address for your Ethernet is not all zeros.  You can make up any address you want.

Then to install NT you have to run 2 programs:


This will install a system partition, and setup the ARC bootloader.  A 5MB partition is all you need, it’ll format it, and just exit arcinst.


This will kick off the install.  It will look & act like every other copy of Windows NT 4.0 that you have installed.  Keep in mind that you will create a 2nd partition, and install in there.  I’d recommend you skip the exhaustive disk scan as that seems to always screw up for me.  The install is pretty straight forward, I’d recommend you select an easy password, and you will probably want to setup an automatic logon.

From there you are on your own.  I’ve seen Exchange 4.0 available for the MIPS, and some old versions of SQL Server, SNA Server out there. I’ve never seen Microsoft Word for NT & Microsoft Excel for NT.  They were 32bit versions released prior to Office 95, and I *THINK* they had i386/MIPS/PowerPC/Alpha versions.. But I’m really not that sure.  I think internet explorer 2.0 is the ONLY web browser for the MIPS and no, Windows CE MIPS stuff will NOT run on the MIPS NT.  So don’t be all that disappointed as this isn’t too useful, but it may be interesting to see what all those MIPS directories were all about!