Loading NT 4.0 & Windows 2000 on Hyper-V

In this attempt to get NT 4.0 running on my machine, here is what I did. This holds true for 2008r2, and 2012 along with the Windows 10 preview.

old versions of Windows are not supported, but with a little bit of fun from PowerShell you can get them to work.

First make sure you run PowerShell as Administrator!

PS C:\WINDOWS\system32> get-vm

Name State CPUUsage(%) MemoryAssigned(M) Uptime Status
—- —– ———– —————– —— ——
NT40 Off 0 0 00:00:00 Operating normally
Windows 2000(wks) Off 0 0 00:00:00 Operating normally

As you can see here I have two virtual machines.  Both of them are ‘off’ since there is no memory assigned, nor is there any uptime.  It’s weird to me how they are “Operating normally’ since they aren’t running but I guess that’s a feature.  Make sure the VMs are powered off before trying to do this.

Restricting the CPU capabilities was the checkbox to enable in the first version of Hyper-V.  Now it’s hidden from the user, so you need to enable this in Power Shell.

First let’s check a VM:

PS C:\WINDOWS\system32> Get-VMProcessor NT40 | fl CompatibilityForOlderOperatingSystemsEnabled

CompatibilityForOlderOperatingSystemsEnabled : False

As you can see it’s disabled.  Now to enable it with:

PS C:\WINDOWS\system32> Set-VMProcessor NT40 CompatibilityForOlderOperatingSystemsEnabled $true

Now we can verify it’s turned on:

PS C:\WINDOWS\system32> Get-VMProcessor NT40 | fl CompatibilityForOlderOperatingSystemsEnabled

CompatibilityForOlderOperatingSystemsEnabled : True

And we are good to go.

NT 4.0 Service Pack 6 on Hyper-V / Windows 10 Technical Preview 9879
NT 4.0 Service Pack 6 on Hyper-V / Windows 10 Technical Preview 9879

Now for the networking part, remember to remove the existing network adapter, and add the ‘legacy’ network adapter.  On my PC there was an additional snag, which is that every time a VM reboots, or is powered on the legacy adapter will receive NO packets.  Go into the Hyper-V console, and disconnect the legacy adapter, and reconnect it, and network traffic will flow.

And additional note on installing Windows 2000.  You *MUST* change the HAL uppon instalation.  By default it’ll detect an ACPI system, but the driver ACPI.SYS will bluescreen the VM.  Hit F5 when it prompts about storage adapters, and select the ‘STANDARD PC’ HAL from the list.

Critical flaw with VMware & Windows 10 preview 9879

As much as I’ve been enjoying 10, there is one issue, which is that I use a lot of VMs.  And I didn’t notice this until it was time to run updates on the Windows & Linux VMs.

As they went to reboot the system locked up hard.  Event viewer gave me this…

Event 1001, BugCheck
Event 1001, BugCheck

I tried updating one VM at a time… crash, updated my BIOS for the heck of it, crash.  Downgraded from Player 7 to 6.0.1 and crash. crash crash crash!

So I had to look to the user forums where more people seem to be greiving for their Pentium 3’s with 256MB of ram.  This issue was effects both Workstation & Player, as they have the same core tech. Since I’m cheap this hits Player 6 & 7.  I saw this buried at the bottom of the Workstation 11 release notes (workstation & player have the same core)

Shutting down a virtual machine on a host running Windows 10 Tech Preview can cause a blue screen.

If you have Workstation installed on a host that runs Windows 10 Tech Preview, occasionally when you shut down the guest operating system in a virtual machine, the host computer might restart unexpectedly. In this case, you see the following error code on a blue screen: DPC_WATCHDOG_VIOLATION. This issue can sometimes also occur with power-off and suspend operations.

Workaround: If a newer build of Windows 10 Tech Preview is available, try updating to the newest version.

Fantastic.

Unfortunately, a new full build isn’t expected until after the first of the year.

This will be the last new build of the year for Windows Insiders

So there is no workaround.

A’int that a kick in the head?

One crazy thing I’ve found is that MS-DOS & Novel Netware 3.12 work fine.  You can reboot/turn off/pause them without any issues.  But if you think about installing NT/2000/XP or Linux onto a MS-DOS VM something that it does to the virtual hardware sets it up for the same issue where a reboot or shutdown will cause 10 to lock up.

Xlive.dll missing ordinal 42

 

I’m not sure how dependent this on my upgrade to Windows 10, but while trying to launch Fallout 3, I was getting this fun error:

fallout 3 missing ordnal from xlive 9879

I hate errors like this, but it turns out the ‘Microsoft Games for Windows – LIVE Redistributable’ is too out of date.fallout 3 missing ordnal from xlive 9879 live redistributable 2.0.672.0

So stepping up to version 3.5.88 from 2.0.672.0 did the trick.fallout 3 working 9879 live redistributable 3.5.88.0But of course a download location was a little bit crazy to find, I guess keeping up with the MDAC_TYP legacy, of naming every version the same thing, here is the 3.5.88.0 download. (70MB)

Oh and now that my ‘new’ old laptop has an intel integrated video card it needs this DirectX bypass, otherwise itll crash once you launch fallout.

Thanks to the PCGaming wiki!

SIMH on demand!

Ok starting with my shellinabox post, I’ve expanded to include SIMH’s Altair emulator!

CP/M 2.2 in a box!
CP/M 2.2 in a box!

Executing this is really simple!  A small shell script will take care of the whole thing.

#!/bin/sh
set -m
PID=$$
mkdir /tmp/$PID
cd /tmp/$PID
cp /usr/local/altair/1.ini .
cp /usr/local/altair/cpm22.dsk .
/usr/local/altair/altair 1.ini
cd /tmp
rm -rf /tmp/$PID

Of course I’m assuming dead processes get reaped.  But check it out!

I’ve put BASIC-80 rev 5.21 and ZORK I in there!

Some advice on SIMH thought, you can execute a shell with the ! command (hitting Control-E will interrupt SIMH) so to prevent that alter the line in scp.c to make sure it’s a noop_cmd instead of spawn_cmd.  Not that anyone was doing anything sneaky as the nobody user, but to prevent it.

{ “!”, &noop_cmd, 0, HLP_SPAWN },

Also an ini file of:

attach dsk0 cpm22.dsk
set throttle 2%
go 177400
exit

Keeps SIMH pretty tame.

Additionally I guess I should do a 12 hour cronjob to kill displaced altairs.

shellinabox

So while browsing reddit, I came across this neat package, shellinabox.  Simply put, it runs as a process on your ‘box’ and fronts it with a javascript terminal interface.  So as long as you have a halfway modern machine with javascript support you too can just connect to a machine and run CLI based stuff.

BBS via telnet
BBS via telnet

So as a test I setup a game of tetris, and a telnet session to my BBS.

There isn’t much to ‘setup’ in the way of shellinabox, because it’s all command line driven.

/shellinabox-2.14/shellinaboxd -t -s /:LOGIN -s “/bbs:nobody:nogroup:/:/usr/bin/telnet localhost” -s /tetris:nobody:nogroup:/:/usr/games/tetris-bsd –css /shellinabox-2.14/shellinabox/white-on-black.css -b

So this will create a new web server that by default listens on TCP port 4200 which in turn uses the virtual directories / for a login, /bbs which launches telent, and /tetris which starts the BSD tetris for terminals game.  Now as many of you are aware, not all people with internet connections have the luxury of having all outbound TCP/IP ports. Even the most excellent flashterm still establishes a TCP session.  That is what makes this different is that all the traffic is done via HTTP, which means it can be proxied.  Now the real trick is having a web server do the proxing for you, so that all the user has to do is hit a special URL, and the server will proxy the request to shellinabox’s web server.

Enter Apache2’s reverse proxy!

So on my BBS’es apache config, I add in the following lines:

ProxyPass /tetris http://localhost:4200/tetris
ProxyPassReverse /tetris http://localhost:4200/tetris
ProxyPass /bbs http://localhost:4200/bbs
ProxyPassReverse /bbs http://localhost:4200/bbs

I’m not sure exactly of the specific modules to enable, but hammering away this got it to work:

a2enmod proxy
a2enmod mod_proxy
a2enmod rewrite
a2enmod mod_proxy
a2enmod proxy_http
a2enmod proxy_module
a2enmod headers
a2enmod deflate

Under my virtual server’s ‘root’ directory.  So now when you access https://virtuallyfun.com/tetris/ Apache will proxy your request into the shellinabox http server, and you’ll get…

Tetris
Tetris

So now only using HTTP you can play tetris!

So where to go from here?  I was thinking some kind of SIMH CP/M on demand thing.  There is a command line Wyse 60 emulator, so maybe that’d be fun.  I may even bring back something I had ages ago, access into a bunch of legacy systems.  This is a great ‘solution’ to enable multiplexing without having to use another software MUX.

 

So I was crazy, and updated from Windows 7 to 10

Yes. I know.

Ok first off Windows 10 was not activating.  In the control panel it’d mention the error:

Error code: 0x8007232B Cannot activate Windows 10

Good thing we’re back to crap error codes. But google to the rescue, and I found this article.

Run “SLUI 3” as administrator, and use the following product key: PBHCJ-Q2NYD-2PX34-T2TD6-233PK

windows 10 activated

Then re-run the activation and all is well.

Also the upgrade tries to leave things like device drivers in place.  Sounds good but nothing I had game or AV wise would work properly.  And worse anything OpenGL/D3D based would actually crash the system out.  So I went and removed all of the old NVidia, drivers I could find, along with everything else driver related, re-ran windows update and rebooted and it’s working again!

Sadly old games on Steam that use DOSBox seem to be failing…

dosbox crashNo idea why just yet.  But of course I can just go and get a newer version of DOSBox.

VMware’s networking won’t work at all, no matter what you do.  I had to uninstall & re-install to get my networking back.  That even includes the builtin NAT (non VMnet8). However bridging physical NIC’s doesn’t work.

I’ll probably add more stuff as I find it.

Now why the interest in Windows 10?  It’s those $100 USD Windows 8.1 tablets.  Surface was just too expensive, but a $100 tablets, such as the Toshiba Encore Mini WT7-C16MS, HP Stream 7 and Pipo W4 really could change the game as it were by lowering the cost of ownership of a computer.  Make no mistake these are quad core x86 processors, running real Windows.

Looking back years ago and spending far more for a 286 I had to assemble in parts, back in 1991 an AT clone keyboard cost me more than $100.  Amazing times indeed!

 

VMWare Player 7 is out!

First the pro version is still on sale, ending on December 5th

VMware Player 7 pro
VMware Player 7 pro

And for those wondering, where is the regular VMware Player 7? Buried down in the downloads section.. Right HERE!

VMware Player 7
VMware Player 7

Or if you prefer:

First of all support for 32bit hosts is gone.  This build should have better support for Windows 10.  For those who are worried, 7 still supports Windows 9x, NT 4.0. My nested ESXi still works fine, as does my Novel Netware 3.12!

And for Mac users, VMware Fusion 7 is on sale, which is great for OS X users who’ve upgraded to OS X 10.10

What is the difference between Pro and Free? From the FAQ:

  • VMware Player Pro is designed to be used commercially. It is licensed for use by employees, training organizations, contractors and can be transferred to partners or potential customers.
  • VMware Player Pro is enabled to run restricted virtual machines created by VMware Fusion Pro or VMware Workstation

For me, Player 6 removed the ability to easily create VMnet adapters easily, allowing elaborate network configurations with GNS3.  Minus a few UI issues I’m kind of liking Windows 10.  I may switch out my main OS, although I’ll certainly need the newer player.

Anyways, no I don’t get paid for this kind of thing, but I know people who use this stuff won’t want to miss out on a sale.  ESX starter is on sale as well, but only 15% off.

Windows 10 technical preview

Telnet & echo, daytime?!
Telnet & echo, daytime?!

So I went ahead and downloaded the Microsoft Windows 10 technical preview, and while I was enabling .net 2.0 (how is that optional??) I went to see what else was in there.  Telnet is the same since Windows 2000, but daytime/echo and friends go back to what? NT 3.1?

How is it we lost the OS/2 and Posix subsystems, but we still have echo and daytime?

Even worse, they bought Interix, and have completely destroyed it.  I know it’s missing from 2012r2 but I was hoping that now we got back the desktop, and something like a start menu, why can’t we have SFU/SUA?

If only the whole subsystem thing was ‘open’ maybe someone could step in and provide a real *NIX layer on Windows.  MinGW/Cygwin on top of Win32 is all we have left, and it’s so slow compared to a subsystem, but way to go Microsoft!

Microsoft Solitaire Collection
Microsoft Solitaire Collection

Even more crazy, the game that established Windows dominance, partially due to it’s buggy shuffling, Solitaire is an optional download.  I’d still think they’d install that on everything.

Zork CPU implemented in FPGA

Really, how cool is that?

From the youtube page:

Using an FPGA I created a hardware implementation of the Infocom Z-Machine virtual machine (presumably a world’s first as I can’t imagine anyone else being crazy enough to do it). The instruction set is Z-Machine version 3 which means all the “standard” Infocom games should run. Only change was a few extra opcodes for implementing the BIOS (which provides the terminal).

The Verilog code for the Z-machine CPU is available at https://github.com/charcole/Z3 along with the code for the BIOS and a hacked version of Inform 6 which allows the use of the extra opcodes.

FPGA + display board
FPGA + display board