VMWare Player is too small on Windows 10! Also what is 1036521??

So I have to setup a new machine for someone, and going the VMWare route for some essential bits (Running ESXi) it turns out that every VM I try to run gives me this fun error 1036521.

Great

VMware Workstation unrecoverable error: (vcpu-0). vcpu-0:VERIFY vmcore/vmm/main/cpuid.c:382 bugNr=1036521

What the heck is this?  It sure could have been made a little more legible but it means that your BIOS needs to have the hardware assist turned on for virtualization.  This kind of thing just reminds me so much of OS/2 and it’s SYSXXXX errors from back in the day.

Speaking of, once VMWare was running the display was incredibly tiny.  This image really doesn’t do it justice, but it’s frankly impossible to read.

What is this? An emulator for ants?

There isn’t much in the way of help for VMWare Player (aka freeloader) version users, however some playing around and I found an acceptable solution.

All too easy, of course once you know where to look

Simply find the shortcut’s location and jump to the compatibility tab, and set the “Override high DPI scaling to “System (Enhanced)”, hit OK and you are now good to go!

VMWare for humans

Now you can actually read what is going on.  Also for anyone who cares, MS OS/2 1.21 really should be on a 100MB disk or so.. large disks & VMWare’s IDE don’t play along so well.

Unboxing Citrix Multiuser 2.0

I think this is the proverbial OS/2 holy grail, a shipped copy of Microsoft OS/2 2.0

From a press release:

Coral Springs, Florida based Citrix Systems Inc has a new release of its multiuser implementation of MS-DOS. Multiuser 2.0 is designed to run any combination of MS-DOS, Microsoft Windows and OS/2 applications concurrently, and to provide all key features of commercial-grade operating systems multiuser, multitasking operation with terminal support, security, resource management, remote access and administration utilities. It is claimed to be a 32-bit operating system for Intel Corp iAPX86 machines from the 80386SX up. It is claimed to be compatible with Novell Inc NetWare, Microsoft LAN Manager, IBM LAN Server, and Banyan Vines networks, enabling it to function as a low-cost network extender. The ability to run graphical applications at the console will be available next month, with support of graphics at the terminal level will be added in April as a no charge upgrade. Citrix Multiuser 2.0 is $1,000 for a five-user package; doubling the number of users is $500, regardless of how many there were originally. An unlimited user licence is $2,000 once you’ve bought the five user licence. Out next month.

Looking at the copy I have, it’s strictly for OS/2 and MS-DOS programs.  There isn’t any hint of it supporting 32-bit OS/2 programs, so I have the suspicion that this is like the OS/2 FOOTBALL beta, which was the 1.0 kernel with 386 based paging (virtual memory) and v86 mode support for multitasking MS-DOS.   The manuals also state that there is no support for Presentation Manager either at the console or remotely.  So it appears that like Citrix Multiuser version 1.0 it is strictly text mode based.

I’d tell you more, except…. yeah. wrong media.

Hey buddy, spare a 5 1/4″ High density drive?

Spoiler, I got the drive! Continued in Part II!

4.2BSD TCP/IP networking

I got this note from  Allen Garvin, that details his adventure in taking a stock 4.2BSD VAX image, getting it running on SIMH, and turning on the network stack.

Although 4.2 may have had security issues, (R Morris), and had some clear issues with scaling. Along with a whole host of other issues.  Naturally if you want something more ‘robust’ on modern networks, you’ll want 4.3BSD which corrected quite a number of issues.

You can read about it over on his blog.  It’s very good with step by step instructions, goes over retrieving the NIC driver, re-building the kernel, and getting it operational on our LAN.

EtherDFS

I saw this the other day, although haven’t had a chance to write about it.

EtherDFS just needs a packet driver on MS-DOS, and it implements it’s own re-director to communicate with a Linux file-server, using it’s own raw protocol.

It certainly looks cool, and looking at how it works, it should be possible to write other drivers to read/write other filesystems for MS-DOS.  It’d be more interesting (to me anyways) if you can write an INT 14 re-director using a 32bit DOS extender to make things easier regarding filesystem ports.

When I get back home, I’ll have to test this on my retro machine, as the idea of just needing a packet driver + TSR sure sounds like a LOT less memory than the Microsoft re-director.

How do you know someone is in MENSA?

Ugh, they’ll tell you.

So I was going through this used book store, Volume One Books, and they have an interesting selection of the older ‘golden age of scifi’ pulp novels.  I found this great old Clarke:

Against the fall of night

Cool, right?  Sure it’s the 70’s reprint, but I figured it’d be cheaper than the 1963 reprint, right?  Well sure, but then I saw this on the inside:

Obviously *NOT* a genius.

And someone had to deface the book to prove to the world that it had passed through the hands of a narcissist.

It’s embarrassing to even think I’d want to read the same thing that had been touched by some vapid twonk.

Sigh.

So I went ahead and got the much older version, that was free of such insane defacement.

Boeing 777-300 vs Apple charger

So here I am, flying at 27,000 feet over Japan on the way to the United States of America for work, and I log on to the Panasonic in flight WiFi and thought I could charge my phone and catch up on emails.

Buy guess what? The most popular single oem charger sold in 220v regions doesn’t fit the power socket. Sigh. This is the kind of crap why I have to travel with a bag of cables, adapters and batteries.
Don’t get me wrong, it’s amazing to be able to do this kind of crap on a plane, but.. damn as always it’s the last mile where tech always falls down.
Just like RIM couldn’t grasp that the biggest market for phones with keyboards was teenage girls, you need to test your damn stuff on popular uses, edge cases are just that.

BoxedWine

Not this kind!

I got a tip in another post about this fantastical project, boxedwine!  It’s Wine + a 386 processor emulator, and it’s been targeted to SDL.  What does this mean? Wine on Windows!

Sim Earth for Windows 3.0

I went ahead with one of the oldest Windows games I have around, SimEarth, for Windows 3.0.  I don’t have Balance of Power, although I guess I may procure a copy one day.  Anyways it’s Windows in it’s 1990 glory 16bit, 286 protected mode, and sure as heck won’t run on Win64.  Oh sure you can run this on MS-DOS + Windows, but where is the fun in that?

Now that’s all good fun, sure Wine can run stuff, sure, but it’s still wine.  Well remember all that noise about android running Wine?  Yeah, well here we go.

Wine + x86 emulation +SDL in javascript!

Here we go.  Games, and the BoxedWine project page.   And yes, it can run stuff like Quake 2, and other far more intense applications.  Just like Wine.  It’s really great stuff, check it out, if only in a browser.

If you want to run ancient Win16 stuff in a pinch, it may actually run.  I had issues with win87em.dll stuff, but just like Wine it’s a moving window of compatibility.

Microsoft C KnowledgeBase articles online

PC Mag, January 1989

It’s weird I was discussing putting this online in a more human readable format, and then  Jeff Parsons over at the incredible full system emulation in javascript site, pcjs.org just did it.

As you may or not be aware of, Microsoft hit it big as a computer languages company, before they added operating systems into it’s portfolio.  And for some weird reason after the whole OS/2 divorce thing, someone decided that everything that had been painfully learned in the earlier eras should just be expunged from history.  Which is a real shame to anyone interested in Basic, Fortran, Pascal, C and MASM.  Years ago I had gone through the steps of extracting the text the only way I could figure out easily, by writing a simple TSR that would dump the contents of the text video buffer, and write it to a file, then press the page down key, and keep repeating the process. The end result being that I had then dumped the MSPL aka the Microsoft Programmer’s Library.  I had put the text into an archive, aptly named Microsoft_Programmers_Library.7z, and pretty much used grep whenever I wanted any information, and left it at that..

It’s really cool to see it slowly transitioning to more useful information.  You can read Jeff’s article Corporations Are Crappy Archivists about his quest for seemingly simple information about ancient Microsoft mice, and the archive of KB’s for Microsoft C.

One thing that is annoying is that information on CD from the late 1980’s seems to be darned near impossible to find.  I know that each generation of machines until about 2005 was exponentially larger than the previous one (post 2007 we hit the iThing world, along with most machines being ‘good enough’ for day to day usage).  I know this ad may seem insane, but Microsoft really was trying to push people to CD distributions.  As we all know that internet thing didn’t quite tickle their fancy.    Did they ever put resources like this online?  Like on BIX or Compuserve?  It seems like an ideal resource.  But I was a kid, and didn’t have that kind of money.

Awesome CD-ROM collection and drive, starting at a mere $899!

So in the interest of a bad idea, here is MSPL, aka qemu/curses in action.

Oh my god, what I have I done!?

Well as an addendum I thought it’d be cool to put MSPL online, via shellinabox.  First off I needed a 5MB MS-DOS disk, basically enough MS-DOS too boot up, run smartdrive, idle and the CD-ROM driver, along with the minimal MSPL install.  And to button it up, I added a reboot.com from the autoexec, so when you exit it’ll reboot the VM.  Great.

The reboot command was input via debug, as it’ll let you assemble code directly.  Although it isn’t a MACRO assembler, so you have to know exactly what you are doing.

DEBUG RESET.COM
A
XOR AX, AX
NOT AX
PUSH AX
NOT AX
PUSH AX
RETF
(return on a line by itself)
RCX
9
W
Q

And with that saved, now I have to setup Qemu.  Since I’m taking the shellinabox approach that means I need something text mode, and I was thinking this was light weight. Qemu has a curses output so that’ll work.  I set it up to use qcow2 and a backing store image so that way every forked user doesn’t eat 5MB of disk space, it’s more like 100kb.

#!/bin/sh
set -m
PID=$$
mkdir /tmp/$PID
cd /tmp/$PID
qemu-img create -f qcow2 -b /usr/local/mspl/MSPL.qcow2 MSPL.qcow2
qemu-system-i386 -m 4 -cpu 486 -hda MSPL.qcow2 -cdrom /usr/local/mspl/Microsoft-Programers-Library-v1.3.iso -curses -no-reboot
cd /tmp
rm -rf /tmp/$PID

Then to tie it into shell in a box, it’ll just need the flag:

-s /mspl:nobody:nogroup:/:/usr/local/bin/mspl.sh

and this will run it as nobody, and kick off the above bash script.  Now that’s great and all, but what about stale/abandoned sessions?  I wrote this quick script to clean them up.

#!/bin/bash

FIND=”find /tmp -type d -regextype sed -regex ‘.*/[0-9]*’ -mmin +30 | sed ‘s/\/tmp\///’>/tmp/kill_out.txt”
eval $FIND
while read process; do

KILL=”kill -9 ${process}”
eval $KILL
RMDIR=”rm -rf /tmp/${process}”
eval $RMDIR

done < /tmp/kill_out.txt
rm -rf /tmp/kill_out.txt

So it’ll find numerical directories that are at least 30 minutes old, kill them and remove their directory.  Probably very dangerous to run, but it’s isolated so Im not too worried.  Then just have root add that script to it’s crontab, and run it every minute, and it’ll kill the old stuff hanging around.

I’ll add a video later on how to use MSPL via this setup.  And maybe I’ll rig something to have RDP access as well, depending on how I’m feeling.