Running Virtual PC 2007 on VMWare Player

I’ve always liked Virtual PC, and it was a shame IMHO when Microsoft twisted this fantastic utility in some glorified IE6 box, A’la “Windows XP Mode” for Windows 7.

So I downloaded and installed VMWare Player, as I’ve heard you can use it to run ESX among other things requiring hardware acceleration, and  player fits the bill for being cheap.

Passing the hardware acceleration to a child VM is a matter of checking a single box in the settings.  Namely the ‘Virtualize Intel VT-x/EPT or AMD-V/RVI” box.  Although you don’t have to click it if you want, it just offers greater performance.

Windows XP x64 setup

VMWare Player

Now I installed my old copy of XP x64, as I felt like something different, then I went ahead and installed Microsoft Virtual PC 2007 sp1.  The installation was pretty uneventful.

Now with that out of the way, I could setup a VM,and I decided to install OS/2 1.21 for the heck of it.

OS2 1.21 on virtual pc on VMWare player

Virtual PC running OS/2 1.21 without hardware acceleration

And it booted up no problems, like it did back in the XP days.  I even ran it with and without CPU acceleration and it works on both, but is noticeably faster with acceleration.

With Intel-VT acceleration

With Intel-VT acceleration

So I thought this was interesting, although Virtual PC has been essentially dead ended, it can go on with an older OS in a VM, to let you run VMs.

I would imagine that if VMWare Player could run Virtual PC 2007, that 2004 should work as well.

50 years of BASIC!

Wow time flies!

So if you are interested, TIME magazine has a fantastic article on the history of basic!

To celebrate, there is the GE simulator ‘true basic‘ on Dartmouth , and another more obscure (and seemingly deleted) simulator for MS-DOS.  Which is interesting at least for more demo programs.

There is even a ‘web‘ based simulator, but I haven’t tried it.

For the heck of it, I took an old ‘game’ taxman.bas (Downloaded from here, and which I extracted with SIMH) and with a couple of line changes, got it to run.

10 DIM T(10)
20 DIM L(50)
101 PRINT
104 PRINT”HI, I’M THE TAXMAN”
106 PRINT”DO YOU WANT THE REGULATIONS”
108 LET R = 1
110 IF R<>0 THEN 900
120 REM ***INITIALZATION
122 GOSUB 800
124 REM ***THE HUMAN TAKES A NUMBER
126 GOSUB 500
128 REM *** COMPUTE THE HUMAN’S AND TAXMANS TOTLES
130 GOSUB 570
132 REM *** PRINT THE NEW LIST
134 GOSUB 600
136 REM *** CHECK IF ANY NUMBERS STILL HAVE FACTORS
138 GOSUB 650
140 IF M=1 THEN 126
142 REM *** FIND THE WINNER
144 GOSUB 700
146 REM *** AGAIN?
148 GOTO 750
496 REM
497 REM *** THE HUMAN MOVES
498 REM
500 PRINT
502 PRINT
504 PRINT”YOU TAKE”;
506 INPUT K
508 LET K=INT(K)
510 IF K <= 0 THEN 750
512 IF K <=N THEN 518
514 PRINT K;”IS NOT IN THE LIST — TRY AGAIN.”
516 GOTO 502
518 IF L(K)=0 THEN 514
520 REM FIND ALL THE FACTORS
522 IF K>1 THEN 530
524 PRINT”THERE ARE NO FACTORS OF”;K;”FOR ME.”
526 PRINT”ARE YOU TRYING TO SHORT-CHANGE THE TAXMAN?”
528 GOTO 502
530 LET M=0
532 FOR I=1 TO K/2
534 IF L(I)=0 THEN 544
536 IF K <> I*INT(K/I) THEN 544
538 LET M=M+1
540 LET T(M)=I
542 LET L(I)=0
544 NEXT I
546 REM CHECK WETHER THERE WERE ANY FACTORS
548 IF M=0 THEN 524
550 LET L(K)=0
552 RETURN
566 REM
567 REM *** COMPUTE THE HUMAN’S AND TAXMAN’S TOTALS
568 REM
570 LET Y=Y+K
572 PRINT”YOUR TOTAL IS”;Y
574 PRINT”I GET”;
576 FOR I=1 TO M
578 PRINT T(I);
580 LET Z=Z+T(I)
582 NEXT I
584 PRINT
586 PRINT”MY TOTAL IS”;Z
588 RETURN
596 REM
597 REM *** PRINT THE NEW LIST
598 REM
600 PRINT
602 PRINT”NEW LIST:”;
604 LET M=0
606 FOR I=1 TO N
608 IF L(I)=0 THEN 614
610 PRINT I;
612 LET M=1
614 NEXT I
616 RETURN
646 REM
647 REM *** CHECK IF ANY NUMBERS STILL HAVE FACTORS
648 REM
649 REM CHECK IF THE LIST IS EMPTY
650 IF M=0 THEN 690
652 FOR I=N TO 4 STEP -1
654 FOR J=2 TO I/2
656 IF L(J)=0 THEN 664
658 IF I<> J*INT(I/J) THEN 664
660 LET M=1
662 RETURN
664 NEXT J
666 NEXT I
668 REM THE TAXMAN GETS THE REST OF THE NUMBERS
670 PRINT
672 PRINT”I GET”;
674 FOR I=1 TO N
676 IF L(I)=0 THEN 682
678 PRINT I;
680 LET Z=Z+I
682 NEXT I
684 PRINT”BECAUSE NO FACTORS OF ANY NUMBER ARE LEFT.”
686 PRINT”MY TOTAL IS”;Z
688 LET M=0
690 RETURN
696 REM
697 REM *** FIND THE WINNER
698 REM
700 PRINT
702 IF Z>Y THEN 708
704 PRINT”YOU”;Y;” TAXMAN”;Z;” YOU WIN!!!”
706 RETURN
708 PRINT”TAXMAN”;Z;” YOU”;Y;” THE TAXMAN WINS.”
710 RETURN
746 REM
747 REM *** AGAIN?
748 REM
750 PRINT
752 PRINT
754 PRINT”AGAIN (Type 0 for NO)”;
756 INPUT R
759 IF R=0 THEN 999
760 GOTO 122
796 REM
797 REM *** INITIALATION
798 REM
800 PRINT
802 PRINT”HOW MANY NUMBERS DO YOU WANT IN THE LIST”;
804 INPUT N
806 LET N=INT(N)
808 IF N <= 0 THEN 999
810 IF N=50 THEN 818
811 IF N<50 THEN 818
812 PRINT”AT THIS TIME, REGULATIONS ALLOW A MAXIMUM OF 50 NUMBERS.”
814 GOTO 800
818 LET Y=0
820 LET Z=0
822 PRINT
824 PRINT”THE LIST IS:”;
826 FOR I=1 TO N
828 PRINT I;
830 LET L(I)=1
832 NEXT I
834 IF N>1 THEN 844
836 PRINT
838 PRINT”HOW VERY GENEROUS OF YOU TO FORFEIT ALL TO THE TAXMAN.”
840 PRINT”TAXMAN 1 YOU 0 THE TAXMAN WINS.”
842 GOTO 750
844 RETURN
896 REM
897 REM *** INSTRUCTIONS
898 REM
900 PRINT
901 PRINT”YOU TRY TO BEAT THE TAXMAN.”
902 PRINT
904 PRINT”WE START WITH A LIST OF WHOLE NUMBERS IN NUMERICAL”
906 PRINT”ORDER (YOU DECIDE HOW MANY).”
908 PRINT
910 PRINT”YOU TAKE A NUMBER FROM THE LIST — THE TAXMAN GETS”
912 PRINT”ALL THE FACTORS OF YOUR NUMBER THAT ARE STILL LEFT”
914 PRINT”YOUR NUMBER AND ALL OF ITS FACTORS ARE THEN DELETED”
916 PRINT”FROM THE LIST.”
918 PRINT
920 PRINT”FOR EXAMPLE, SUPPOSE YOU WANT TEN NUMBERS TO BE IN THE LIST.”
922 PRINT”THEN THE LIST WOULD BE: 1 2 3 4 5 6 7 8 9 10″
924 PRINT
926 PRINT”IF YOU TOOK 8, THE TAXMAN WOULD GET: 1, 2, AND 4″
928 PRINT”AND THE NEW LIST WOULD BE: 3 5 6 7 9 10″
929 PRINT”TYPE <RETURN> TO GO ON”
932 PRINT”THE TAXMAN MUST GET SOMTHING EVERY TIME SO YOU CAN”
934 PRINT”ONLY PICK A NUMBER THAT HAS FACTORS LEFT,”
936 PRINT
938 PRINT”WHEN NONE OF THE REMAINING FACTORS,”
940 PRINT”THE TAXMAN GETS THEM!!!”
942 PRINT
944 PRINT”YOUR SCORE IS THE SUM OF NUMBERS YOU TAKE.”
946 PRINT”IF YOU WANT TO GIVE UP, TAKE 0.”
948 PRINT”GOOD LUCK !!!”
950 GOTO 122
999 END

Taxman!

Taxman!

It’s not much to look at, but it is kinda neat to see it run.

But really, read the Time article!

Chex Quest

Chex Quest

Chex Quest montagé

I’ve never heard of Chex Quest.  I guess because at the time, 1996 I wasn’t that big on kids cereal.  But as it turns out, Digital Café had been selected by WatersMolitor, care of Ralston Foods to create something for this new fangled digital age to get kids to eat Chex.

You can of course read all about it on wiki, or one of the many fan pages & forums..

So yeah, it’s Ultimate DOOM, done as a total conversion.  All licensed from iD in the days before Quake.

Unlike DOOM, and it’s feel for ultra-violence, you just zap green slime things back to their home dimension while you try to free your Chex people things.  I guess this shouldn’t be surprising, remember there is that horrid ‘Super 3d Noah’s Ark‘ thing that is built around Wolfenstein 3D.

And it was a few more years (1999) until we had to deal with Columbine, and how violent video games make people kill (just like loud music, role playing games, books, and other things before that).

Terminator Rampage.

terminator rampage front

Terminator Rampage

Back in October of 1993, this cool looking game, The Terminator Rampage was released.

But sadly I had a lowly 4MB 386sx-16 with CGA, so things like this game with it’s awesome VGA graphics were an impossibility.

Even more sad at the time was that ‘primitive’ 3d games like wolfenstein 3d also required VGA.

But as we all know a few short months later, DOOM was released, and then Terminator Rampage was quickly swept off the face of the earth.

I recently came across this page,  and I thought I’d give it a shot.  The requirements are pretty ‘minimal’:

  • Minimal 386DX-25 with 4MB of Ram, VGA & 18MB of disk space
  •  Recommended 386DX-33 or 486DX-33

So I was thinking Qemu could easily run this game.  Long story short, it doesn’t work.  Turns out Rampage needs EMS.  And for whatever reasons, running emm386.exe on Qemu (I tried a handful of versions) just crash on Qemu after initialization.  Failing with stock Microsoft EMM386, I tried JEMM, which loaded, and ran it’s built in EMS diagnostics OK, but trying to run Rampage resulted in a nice crash.

Qemu crash

Qemu crash

So giving up on Qemu, I tried it on DOSBox.  It runs but it is incredibly jerky.  So I thought I’d try PCem, and see how it runs there.

So the plus side is that PCem, is able to run MS-DOS & EMM386.EXE without issues.  It only took a few minutes to install MS-DOS 5.0 and Rampage on my ‘virtual’ 486DX2/66 with 8MB, of ram, and load up Rampage to be greeted with it’s jerky motion.

Thinking its something with emulation in general I fire up Norton SI to get some PCem scores how it benches against known good samples.

pcem 8.1 386DX33 Norton SI score

386DX-33Mhz 37.4

pcem 8.1 486DX2-66 Norton SI score

486DX/2-66Mhz 136.8

pcem 8.1 WinChip90 Norton SI score

WinChip-90 186

Then comparing the scores to this handy (if not ancient) Norton Si benchmark spread we see:

Pentium 60mhz
=============
IBM Clone               P5/60              256k              187.2
w/ Premiere MB

486 DX2/66mhz
=============
Elitegroup (ECS)       iDX2/66             256k              147.3
SA486P AIO-II
INTEL CDC,SIO&DPU

386 DX 33mhz
=============
Forex 36C100 iDX/33 128k 35.9

Well now that interesting, so at a ‘raw’ CPU level, PCem is delivering on what would be classical performance.  So for the heck of it, I load up DOOM, and it runs a bit choppy on the 386, but flies on the 486 & Winchip emulation.  Now that is strange.  And just to confirm…

Terminator Rampage Box (back)

Terminator Rampage Box (back)

They really thought this would be playable on a 486 @ 33Mhz.

So how does it choke?  While going straight is ‘ok’ turning around is so utterly sluggish that there is no feeling of immersion.  It feels like you are driving an incredibly slow tank.  At the same time, the more realistic sprites, and textures serve to make it look even more unrealistic.

So what am I talking about?

Well here is a screenshot of Wolfenstein 3d on the 386DX-33 (and more than playable).

Wolfenstein 3d

Wolfenstein 3d

As you can see, there is no ceiling, and no floor textures.  The walls are all uniform height, and the textures were clearly drawn by hand, giving it a very fake and ’16bit’ feeling.  I should also add on a capable 286, this game is playable.

Terminator Rampage

Terminator Rampage

Now at first it looks like it has a lot in common with the soon to be release DOOM, with textured ceilings and floors.

Doom

Doom

Now as you can see the difference in DOOM is the 2.5D effect of there being lower areas so you can go up and down stairs (while you cannot go under them).  Also Doom introduces dynamic lighting, and better sound rendering.

While I do like Rampage’s upfront map, as you can see thought, it is very square. In a small effort to ‘speed’ up Rampage you can turn off the ceilings and floors revealing a very Wolf3d like environment.  Unfortunately the more they tried to give the world  detail, the more it well just looks flat.

No ceilings, No floors.

No ceilings, No floors.

Which kind of kills the whole thing.  Maybe they should have left out things like water fountains.

High detail sprites

High detail sprites

Then you get things like this computer setup (one of the programmers? The accountant’s lamp is a nice touch) but it’s a sprite, so as you rotate around it, you always see the same face.

Ironically it’s these high resolution background sprites that make the environment feel less real, as they make the rooms feel too open, and too sparse.

Too open, and yet too sparse

Too open, and yet too sparse

It is the real paradox that in a good shooter you have lots of room, and things to duck behind, but the rooms feel too large, and look bizarre with the massive open spaces.  But it is more so a limitation of the time, with the engine being more of an improved Wolf3d engine, than taking a larger leap into being something more 2.5d or 3d like Doom (or the distant Quake).

Another thing that really bugged me was the doors.

Doom door

Doom door

In doom, the doors felt more ‘natural’ in that they weren’t super wide.

Screen Shot 2014-04-28 at 10.44.09 PM

Generic office door in Rampage

But in rampage they are stretched wide giving the impression of why you can’t turn is you are incredibly wide..

Screen Shot 2014-04-28 at 10.43.16 PM

Rampage ‘exit’ door

Even the ‘exit’ door texture still feels too wide.

I could probably get by the empty spaces, but it takes so long to turn around, and the controls feel so unnatural (they don’t even try to be a Wolf3d control-a-like) that it really feels klunky.  No matter what speed you play it at.

It really was an exercise in frustration.

Dumbass of the year award goes to… Gerhard W. Recher

Greetings,

We have received the following complaint regarding an IP on your network. 
Please resolve the issue and update us with the actions you’ve taken to reach a
resolution.

Thank you,
– 

namless drone | Network Operations Center Technician
———————————————————————-
Continuum Network Operations Center
Phone: 1.877.432.COLO
Email: [email protected]
www.Facebook.com/ContinuumColo




Received on Apr/13/2014 12:34:04AM
Dear abuse team,

please help to close these offending viruses sites(1) so far.

status: As of 2014-04-13 07:33:39 CEST
http://support.clean-mx.de/clean-mx/viruses.php?email=abusenoc@continuumdatacenters.com&response=alive

(for full uri, please scroll to the right end … 


We detected many active cases dated back to 2007, so please look at the date
column below.
You may also subscribe to our MalwareWatch list
http://lists.clean-mx.com/cgi-bin/mailman/listinfo/viruswatch

This information has been generated out of our comprehensive real time
database,
tracking worldwide viruses URI’s

If your review this list of offending site, please do this carefully, pay
attention for redirects also!
Also, please consider this particular machines may have a root kit installed !
So simply deleting some files or dirs or disabling cgi may not really solve the
issue !

Advice: The appearance of a Virus Site on a server means that
someone intruded into the system. The server’s owner should
disconnect and not return the system into service until an
audit is performed to ensure no data was lost, that all OS and
internet software is up to date with the latest security fixes,
and that any backdoors and other exploits left by the intruders
are closed. Logs should be preserved and analyzed and, perhaps,
the appropriate law enforcement agencies notified.

DO NOT JUST DELETE THE FILES. IF YOU DO NOT FIX THE SECURITY
PROBLEM, THEY WILL BE BACK!

You may forward my information to law enforcement, CERTs,
other responsible admins, or similar agencies.

+———————————————————————————————–

|date |id |virusname |ip |domain |Url|
+———————————————————————————————–
|2014-04-13 07:01:01
CEST |24886536 |WS.Reputation.1 |216.231.130.102 |superglobalmegacorp.com |http://vpsland.superglobalmegacorp.com/install/WindowsCE/nethack/nethack3.4.3-WinCE-2.11-x86.zip
+———————————————————————————————–


Your email address has been pulled out of whois concerning this offending
network block(s).
If you are not concerned with anti-fraud measurements, please forward this mail
to the next responsible desk available…


If you just close(d) these incident(s) please give us a feedback, our automatic
walker process may not detect a closed case

explanation of virusnames:
==========================
unknown_html_RFI_php not yet detected by scanners as RFI, but pure php code for
injection
unknown_html_RFI_perl not yet detected by scanners as RFI, but pure perl code
for injection
unknown_html_RFI_eval not yet detected by scanners as RFI, but suspect
javascript obfuscationg evals
unknown_html_RFI not yet detected by scanners as RFI, but trapped by our
honeypots as remote-code-injection
unknown_html not yet detected by scanners as RFI, but suspious, may be in rare
case false positive
unknown_exe not yet detected by scanners as malware, but high risk!
all other names malwarename detected by scanners
==========================


yours

Gerhard W. Recher
(CTO)

net4sec UG (haftungsbeschraenkt)

Leitenweg 6
D-86929 Penzing

GSM: ++49 171 4802507

Geschaeftsfuehrer: Martina Recher
Handelsregister Augsburg: HRB 27139
EG-Identnr: DE283762194

w3: http://www.clean-mx.de
e-Mail: [email protected]
PGP-KEY: Fingerprint: A4E317B6DC6494DCC9616366A75AB34CDD0CE552 id: 0xDD0CE552
Location: http://www.clean-mx.de/downloads/abuse-at-clean-mx.de.pub.asc

Qemu 2.0 officially released!

And you can download & build the source “here“.

Some of the changes include:

* Initial support for KVM on AArch64 systems (some features such as migration are not yet implemented)
* Support for all 64-bit mode ARMV8 user-accessible instructions except for the optional CRC and crypto extensions
* Support for new 32-bit mode ARMv8 instructions in TCG
* Support for the allwinner-a10-based board “-M cubieboard”
* Support for POWER Altivec 2.07 and VSX instructions when running under TCG
* Support for boot order in pSeries emulation
* The Q35 x86 machine-type now supports CPU hotplug.
* On the PIIX x86 machine-type, PCI hotplug now supports devices behind a bridge (for bridges not added by hotplug; hot-plugged bridges can still use the PCI Standard Hot-Plug Controller)
* Support for the Hyper-V reference time counter via the “hv-time” suboption of “-cpu”. This can improve performance of Windows guests substantially for applications that do many floating-point or SIMD operations. (Requires KVM and Linux 3.14).
* ACPI tables generated by QEMU can now be used by OVMF (https://wiki.ubuntu.com/UEFI/OVMF) firmware. OVMF starting with SVN r15420 is needed. In particular hotplug, pvpanic device and other ACPI based features now work for OVMF
* PCI passthrough of devices with a ROM now work on Xen
* support for suspend-to-RAM in the XHCI USB controller
* GTK UI is now supported on Windows hosts
* New management interfaces for CPU and virtio-rng hotplug
* Improved reliability for live migration when using qcow2 images
* Live snapshot merging
* Experimental support in virtio-blk for M:N threading model: if you specify x-dataplane=on, you can also create I/O threads with “-object iothread” and point virtio-blk devices to the desired iothread with the “x-iothread” property. Properties of the running iothreads can be queried with the QMP command “query-iothreads”.
* Network block drivers (curl, iscsi, rbd, ssh, glusterfs) can be built as shared library modules with “–enable-modules” configure option.
* QEMU is now able to operate even if the underlying storage requires the buffer size to be a 4K multiple. This is the case for 4K-native disks (with cache=none or when accessed through iscsi:// URLs) and some raw devices
* QEMU can access NFSv3 shares directly from userspace using libnfs.
* Improvements to the TCG optimizer make it produce faster code
* Tracing QEMU via LTTng 2.x is now supported
* And lots more…

It never rains, but it pours.

f

fragready’s ticketing system.

So yeah, I’m still without my “dedicated” server,  and now even fragready’s portal is broken.  I just want to get on the box, and do a secure wipe myself.

So at least I have this super discount VM in Germany to keep my blog running.  Before I was hosting Exchange on KVM in the dedicated server.  However now I’m going to pull all my crap back home, as I setup an OpenVPN connection from my home to the VPS, and from there got some static routing working well enough that I can host an Exchange server at home, and use postfix to store & forward.  A pretty simple & standard setup.

Well I got to update my MX records, and what do I get?

websitespot

websitespot

Now the people I bought my domain names from, websitespot.com is down.  Even “Down for everyone or just me” has them down.

I swear, I can’t catch a break on this one.

Byte magazine now on archive.org!

This is super cool!  When I was a kid I loved reading Byte!

But now it’s all gone, and my attempt at getting a dead tree version… well while I had quite a few they were HEAVY, and sadly couldn’t be taken around the world with me.

But thankfully they are being digitized, and stored on archive.org so I can browse through them again!

Byte from 1985

Byte from 1985

You can find the archive here.  And of course, take note that there are many other magazines now available!

Virtual Machines for Internet Explorer

Collect them all?

Collect them all?

Something I kind of stumbled on, while playing ‘Escape from XP‘, a MS page with a tonne of virtual machines!

With downloads for Windows, Mac & Linux!

Up until now, I have been using Utilu’s IECollection (local mirror).

So this may be of interest to some of you, but there is XP, Vista, & Windows 7 downloads….

Escape from XP

Escape from XP

Meanwhile, try to escape from XP!