Update for jdosbox 0.74.23

Woo new update, and here is what’s changing!

0.74.23 June 5, 2011
* Fixed a serious memory error that mostly affected EGA era games
* Increased performance of the dynamic core a bit
* Improved audio by reducing stuttering on some games

0.74.22 May 29, 2011
* More fixes for Windows 3.11

0.74.21 May 27, 2011
* Fix for Windows 3.11 that affected Freecell

0.74.20 May 27, 2011
* New dynamic core, most games are 2x faster than build #19
* Fixed lots of minor bugs, mainly around installers

Download it here!

So i did update my jdosbox stuff, for anyone that enjoys this stuff. Hopefully it won’t blink like crazy on OS X.

 

Pushing Windows/386 out the door…

While one may think that Windows 2.x started with the ‘regular’ version, it does indeed turn out that rather the 386 specific version was rushed out the door to appease Compaq, and their new Desqpro 386 computer, namely the 20Mhz 386 model that was going to debut in late 1987.  Indeed, Compaq not only set the standard with the 386 CPU, but they were going to set the future standard of bundling not only MS-DOS but Microsoft Windows.  At this moment in 1987 you could really say that the ‘modern pc market’ was born.

Windows/386 2.01 from OS/2 Museum.

And it does make perfect sense, with 386 specific software being very rare/hard to come by, keeping in mind that Phar lap 386 was only announced in December of 1986!  But it was expensive, and 386 specific applications cost a fortune, and didn’t have wide market penetration (we were still years away from DOS4G/W or GCC).

Another thing to keep in mind is that OS/2 had not shipped either at this point, and apparently this version of Windows/386 would not even support the IBM PS/2 model 80, as there was some noise about IBM not wanting to bundle Windows on their computers.  Now when you think about it, it is kind of funny that Windows an inferior product came out with a GUI and multitasking MS-DOS via the 386’s v86 mode, while OS/2 was still in a beta stage.  Not to mention IBM’s reluctance to bundle Windows/386 shows just how the Windows rift was an issue even back in 1987!

Looking at this December 1987 InfoWorld issue we can see it in action:

From, InfoWorld Dec 1987, Windows/386 in action

And it’s no wonder why this was going to be a hit.  And the UI looks just like how Presentation Manager for OS/2 1.1 was going to look, almost a full year before OS/2 1.1 was delivered (Halloween 1988!)

Now trying to peg down exactly When these releases of Windows 2.x were, esp with Windows/386 2.01 being the first, in September of 1987.

From what I can work out, Windows 2.01 ‘regular’ was shipped around November of 1987, with the 2.1 update in July of 1988, and 2.11 in March of 1989.

While on the topic of Windows 2, there was one slightly interesting feature, of the ‘regular’ or ‘286’ version of this product.  It could multitask MS-DOS.  No really, but it was all out of the same conventional memory space.  So unless you were into COM programs it wasn’t terribly useful.

The later 286 versions included early himem.sys drivers that permitted some trickery with the A-20 gate allowing an additional 64kb of ram to be accessed from real mode.  It may be a good thing that nobody found out about unreal mode at the time..!

I don’t know if it is even possible to tell them apart, besides the 386 and 286 (regular) versions but here is a small gallery of Windows 2.0 running command.com

Windows 2.03

Windows/386 2.03

Windows/286 2.1

Windows/386 2.1

Windows/286 2.11

Windows/386 2.11

Included is something special for the 2 or 3 people that’ll figure it out. 🙂

Running QEMU from a VPS

I’ll expound on this as I go on.  For now this will be an overview with separate articles going into each part.  I’ll go into the process of how I created my OS/2 2.0 BBS, bbs.superglobalmegacorp.com .

VPS’s (Virtual Private Servers) are getting cheaper as the days go on, and it only makes more and more sense to take advantage of these great things!  Almost all of them are geared to running Linux, a few to Windows, and well anything outside of those two is damned near impossible to find (I’ve seen ONE NetBSD VPS service).

So if you want to say run MS-DOS, OS/2, Xenix, or any other crazed OS (why not?!) you are basically SOL as they say, except of course, if you utilize our old friend Qemu.

The first thing you’ll need is a VPS.  Now there are thousands of providers out there, I can recommend what I use (and I’ve got a few) but as always, pick a plan that you feel comfortable with.  To get started on something small a budget of under $10 USD a month is perfectly fine.  Shop around and you can certainly find cheaper in the month to month space, and if you are willing to pay up front, I’ve seen them average down to $2.50 USD a month.  Yes for less then a Big Mac, you can have your own ‘server’ in the sky (or part of the cloud nonsense if you are into that).  Hell you can even setup your own global infrastructure, with servers in Europe, Asia and North America for about $20 a month!

Anyways you can find an overload of reviews, and listings on sites like  webhostingtalk.com, and lowendbox.  Again I know it can be overwhelming but googling around you can eventually find what you are looking for.

Now what is important for running Qemu on a VPS? I’d have to say, memory is the #1 thing, bar none.  Now the joy of running older OS’s is that they didn’t need much back then so any new VPS ought to be ‘extravagant’ to them, but keep in mind Qemu needs a fair bit of memory itself!.  I generally worked it out to consume with a ‘bare’ CentOS or Debian install with an 8MB VM to consume around 60MB of memory.

Keep that in mind, that with your VM the OS will need memory, as long as disk space is also needed.  So it all depends on what OS you plan on running.  I’ve run MS-DOS, OS/2, Windows NT, and 386BSD all on the ‘cloud’.. And 8MB was fine for 386BSD but really the VM was overtaxed for anything outside of serving the VM… This for me was fine.  Again keep this in mind if you had hopes of serving web pages, hosting a blog (wordpress needs like 512MB of ram++!!!!!) or whatever.  Another thing is the x86 vs .x86_64 (32bit/64bit) question, and for VPS’s that need to keep small you will want to run 32bit code.  Esp if your VPS is configured under 2GB of ram, really there is no big ‘deal’ in loading 64bit stuff, epically since the 64bit versions consume more memory.

If in doubt setup a VM at home with the same constraints you are shopping to see if you can even do what you hope to do.  This is the big advantage of VM software as you can test all of this from home, without any major pain!

Another thing to keep in mind is that with your own VPS you will be the one required to keep it up to date!  Pick a distro that you are somewhat comfortable with.  Personally I went with Debian in my VPS’s as that is what I’m the most comfortable with.  Also I’d HIGHLY recommend NEVER EVER installing a compiler on the VPS.  If someone does get onto your system, handing them a compiler is like a loaded gun.  At least make it more…. involved for them.  Also setup a VM at home with the same OS, same cpu, same flavor *WITH* compiler, so that way you can check updates at home, to make sure things work, and of course compile things like Qemu for your environment without worrying about things that are either incredibly stale in packages, or just not there at all.  The same goes for things like firewalls.  Again pick something you are most comfortable with, and try to stick with that. The majority of OS’s available are Debian, various Debian forks (Unbutu?!) and CentOS, the RedHat ‘free’ clone.

With a VPS selected and created, and a VM at home loaded up with the same OS you will want to build Qemu.  Now keep in mind that since you’ll be running this on a server that will *NOT* have any local X11, and to minimize memory consumption & disk space by not loading .. X11, you will need to create a version of Qemu that is VNC display only.  It’s not that difficult.  It’s covered in the config process.

With a version of Qemu built, and uploaded to your VM (I use scp) you will then need to decide if you are going to encrypt your disk images (can you really, really trust your host?) or if you are fine with the way things are, and you are going to run in the open.  Naturally ‘fixed/flat’ disk images will be faster and not as CPU intensive, but of course they consume more disk space.  If you are going to ‘overcommit’ your VM or just don’t want to have the empty space right away, I’d highly recommend making a swap disk for the VM, that way you won’t blow out your disks with swapfile growth/shrinks and eventual fragmentation and moves.

If you did choose to encrypt your disks, you will need the program ‘screen’.  It’s been around for a long long while, and every Linux distro should have it available.  You will need to run screen, then launch Qemu from within screen, then it’ll prompt for the password for each disk drive.  Once Qemu is operational you can disconnect the screen session and it’ll remain operational.  Doing so in a script would require you to store the password locally, and defeats the whole point of encrypted storage.

Beyond storage, you’ll want to select some kind of method for external communications with the world.  For an OS/2 BBS I simply take TCP port 23 and forward it to the VM’s port 23.  SIO & vModem take care of all the logic from there.  If  you wanted to telnet into a *NIX box, again tcp port 23.  Maybe you want to run Windows NT 4.0 Terminal server, in that case the default TCP port is 3389.  While NT 4.0 is limited to Internet Explorer 6.0 and Firefox 1.5, it still can be a handy thing to have a multiuser version of NT (like a windows mainframe) out there somewhere for some things, although its usefulness is dwindling.  Maybe you want your own Exchange Server, or even SQL 7 instance, again older software performs better in tight disk/memory constraints.

Another thing to keep in mind is CPU consumption.  You will want a guest OS that can idle.  Otherwise you will consume 100% of the CPU 100% of the time, and they *WILL* notice this, and kick you out.  Be mindful of VPS services, and you have to share CPU resources.  Again watch your task manager or ‘ps’ locally and watch how things behave.  I know for the BBS stuff, you have to watch what doors you are interested in running as some of them happily gobble 100% of the CPU.  OS/2 friendly stuff is the way to go (IMHO) as CPU hogging was a big deal back then, and it’s best to ride on the back of how people solved this stuff a while ago.  Also for MS-DOS people, things like Dbase III applications it’d be a “bad idea” to put them into the cloud.  Although if you get one with a higher SLA that lets you run 100% then.. have at it!

If Qemu runs ‘normally’ you can even set it up into a batch file loop that calls Qemu over and over as needed between reboots.  You could even do some ‘house cleaning’ between reboots, say make a backup, email a notice etc… It’s all up to you, and what you are capable of batch script programming wise.

Also you will probably want your VPS to automatically launch your Qemu VM, and the best way I’ve found to do this is via the GNU screen program.  I just added the following to my /etc/rc.local file:

screen -S qemu -d -m /usr/local/os2bbs/run.sh
screen -S cpulimit -d -m /usr/local/bin/cpulimit -e qemu53 -l 8

This gives me two named instances, and will automatically limit my Qemu to only 8% of the host CPU that way I don’t get kicked for being a CPU hog.  8% of a 3Ghz CPU is more than enough for stuff that ran comfortably on a 16Mhz machine back in the day.

Then that would about wrap it up, you would now have a Linux VPS running your own OS, so you could serve up whatever application you want in the cloud.  The best part is, because Qemu is multiplatform, and will run on various OS’s and CPU combinations, you can jump ship very quickly to other platforms as you see fit, as all you need to do is rebuild your Qemu hosted binary, then copy your disk images & startup scripts and you are good to go!

Not to mention there is nothing to stop you from building the VM on Windows, to upload to Linux, then maybe move to SPARC Solaris!

Screw Java, Qemu is the ultimate VM!

 

Building a LAN with VirtualPC on Windows.

I’m sure everyone has hit that limitation of virtual networking where you cannot say map a drive, or connect to a hosted site on a VM from a machine like a laptop.  While sometimes it is practical with wifi, other times it is not.  And well maybe you just don’t want to expose your virtual machines to the world.

Luckily there is a solution, and it’s built into the OS!

The first thing you need to do is install a ‘virtual network adapter’.

It’s pretty much the same, from 2000,XP,Vista,7 (and yes, 2003/2008), go to hardware, add a new component, then manually select a network adapter, and go to Microsoft as a vendor.

On 7 (probably vista as well) it is more.. convoluted.

Go to the control panel, and then search for ‘hardware’.  Then select “Device Manager”

Right click on your computer name, then select add legacy hardware.

And now it’ll kick off the add hardware wizard (does anyone know a simpler way to kick this thing off?)

Hit the next button..

And we are going to manually add the loopback adapter because it’s not a physical device, it’ll never get ‘discovered’.

So we select network adapters, then continue.

Scroll down the manufacturer list, and select Microsoft, then scroll down the right side, and select the “Microsoft Loopback Adapter”.

Then it will confirm the selection, hit next and it’ll install the driver.  Now go back to your control panel, and search for “view network connections” and you’ll now see the loopback adapter showup on the pane.  From here you can set your own ip address that you want to use, turn off your firewall and then you can map drives etc etc…

And as I had mentioned before you can even ‘share’ out your internet connection to your loopback network by right clicking on your internet facing connection, then hit the ‘sharing tab’.

Then simply click the radio buttons, and make sure your loopback is in the dropdown (The dropdown only shows if you have multiple connections, if you only have the two, then it is greyed out because.. it’s the only connection, nothing to worry about though!)

And to verify if you right click on the loopback, and bring up it’s properties, make sure the virtual machine bindings are checked off so that VirtualPC (or VirtualBOX) can bind into the loopback adapter.
And in the case of Virtual PC, with all of this done, just take your VM, and select the loopback on your network and go from there.

 

Phew that’s about the extent of it, but keep in mind if you are using SPRINT and their glorious dialer, it’ll detect more then one active interface with TCP/IP and it will either refuse to dial, or hangup immediately.  Naturally there is a way around it, that I had mentioned earlier.

At a minimum it’ll help me adding loopbacks into the newer windows versions, that have done their best to hide this functionality.

Wasteland & Battletech

Click to play!

I was playing fallout the other day, and I had to find out what inspired the whole thing.  I should have remembered this game, wasteland.  Although to be honest I found it overly complicated, and got killed off way too often.  Then again I was 11 when it came out so it was slightly beyond me.

Oh well I set it up on jdosbox to see if I’d do any better years later, and sadly the answer is… no.

But it reminds me of BattleTech: The Crescent Hawks Revenge, with all the animated graphics … Another fine game of 1988.

Click to play!

Which was great fun, but I need to figure out how to set the cycle speed in jdosbox as it’s too fast (it doesn’t feel too fast but time certainly passes too quickly).

Oh well this was the best gaming I remember in the summer of 1988.

 

Internet Explorer 3.0 for the MIPS.

I got a tip that there actually was a version of Internet Explorer 3.0 for the MIPS. I was thinking there was no way, as there was no mention of this thing as IE 3.0 came out after the MIPS had been dropped from the roster.

Well luckily it turns out to be true.

The original download link is here, and I’ve mirrored it here.

Who knows what other things are out there for the MIPS?

 

Gameboy color emulator… in javascript!

I have to say I’m really quite impressed!  It’s quite playable, the sound is great and well it’s all around awesome!  And yes it’ll even play original gameboy files!

Unlike most ‘web’ based javascript this one can play local files.. Perhaps it’s something worth looking at modifying existing stuff for that kind of options?

At any rate be sure to check it out here.

It’s amazing how javascript is really becoming a contender now that browsers are basically compiling it.  It’s very cool!

Save Officer Spock

It finally happened, well 30 years ago.

Message-ID: <[email protected]>
Newsgroups: fa.sf-lovers
Path: utzoo!duke!cincy!chris
Date: Mon Jun 8 11:06:47 1981
Subject: Save Officer Spock
From: chris
X-OldUsenet-Modified: added From; converted from A-news; fixed Message-ID; added Xref
Xref: dummy dummy:1
Perhaps you are not yet aware of it, but a new Star Trek movie
is in the making this summer. While that is all well and good,
there is a problem with it. It seems that Leonard Nimoy will no
longer be available for the role of Spock after this movie;
thus they are killing him off. Loyal trekkies here have taken
great offense to this, as well they should. There are much better
ways to remove the necessity of having the character present.
A local radio station has begun a campaign the call SOS (see title).
They are encouraging letter writers, and wil forward the mail they
collect to the producers of the movie. If you would like to write,
or contact them and start your own movement, here is the address:
SOS
WVXU-FM
Xavier University
Cincinnati, OH 45207
Live Long and Prosper!

From what I recall the breaking story of how Spoke died in Star Trek II was one of the first ‘big’ nerd crisis on usenet. I’m sure it has more to do with the date of when usenet started to get popular vs other big ‘shocks’ of the time like Empire Strikes Back. The old usenet archives sure do provide an interesting ‘view’ into our past, of even 30 years ago. I’m out of town for the next few days so … no big stuff coming up but I thought this was worthy enough to post.

Old Usenet! Party like it’s 1981!

Check out this amazing site, olduse.net!  It’s really amazing!  What Joey Hess has done, is get a copy of the old USENET archives from the UofT, and parse out all the dates, set them in the right format for a news server, then stream them in ‘real time’ as it was, back in 1981.

That is right, it’s August 6th 1981.  Star Trek II still hasn’t happened yet, can you wait for the hype and the build up for the biggest geek movie since.. well when everyone found out last year (1980) that Vader was Luke’s father?

News/2

What is also cool is that you can take any news reader (even News/2) and point it to nntp.olduse.net and read away!  And not to mention the incredible setup with a telehack like interface to a news reader.

Now I’ll just have to figure out a way to stuff USENET into Synchronet 2.. (I’m sure Synchronet 3 will/would be way easier, but heh you know, OS/2 …)

Oh and here is a timeline of things to look forward to.  But I guess being a ‘time traveler’ kind of takes the fun out of it.

Infocom Games

feelies!

Did you ever love Zork?  Personally I was into Planetfall.  And what made Infocom cool was the ‘feelies’.  I guess it’s pretty obvious that if you found me here, then you know all about the rise and fall of Infocom, and how it was how they wanted to diversify into business applications… And their portable strategy backfired big time.

But back to the games.  While talking to someone and the topic of Infocom came up, I had to see how many I had as I’d managed to buy one of the ‘collection’ sets of Infocom games.  Sure I felt like “I had them all” but after finding accardi-by-the-sea I found out that not only was I missing some, but they actually had every version of these games that had been released!

Talk about an exceptional collection!

And if you love all the packaging, check out here & here.