OS/2 2.0 LA

I just read this great post on OS/2 Museum, and I was greatly intrigued.

While a kind person had sent me a copy of this rare pre-release version of OS/2, I never could install it because it crashed on my real hardware, nor would it install in any emulator I had access too.

Apparently the two problems for this version, like the 1.x series of OS/2 revolves around timing issues, and floppy drivers.  While the limited availability seems to be more laid out like a 1.21 version it still 32-bit, so attempts to replace the floppy/country.sys from 1.21 or 1.3 just result in instant crashes.

Back when I ran OS/2 the big issue with 486 computers and booting was the L2 CPU cache.  It would induce all kinds of timing problems with booting from floppy to install.  And the number ONE fix for this was to disable L2 (and even L1) cache, and the install could proceed, then once you are booting from hard disk you could re-enable them.

The funny thing is that while OS/2 2.0 & 2.1 were so temperamental on so many clones, they install just fine in emulation.  So I had an idea…

What if I used the 2.0 GA to boot up the LA install program?

So I simply copied the following files from LA’s disk1 onto 2.0 GA’s disk1 ..

  • CMD.EXE
  • HARDERR.EXE
  • SYSINST1.EXE
  • SYSINST2.EXE
  • FDISK.COM
  • SYSLEVEL.OS2
  • DISK.NUM

So then I simply booted off the GA install/disk1 then swapped in the LA disks as needed.  Surprisingly it boots from the hard disk on Virtual PC 2007 without issue.  It traps on Qemu.

So as a ‘quick’ tour, here is the LA desktop.. .It’s… almost 2.0 but not quite there.

The LA includes a tetris clone, Blox that never made it to the GA.  I wonder if it’s a SDK example or maybe IBM didn’t want to get into licenses etc etc..

Also the applications were more or less the same, although there is some icon differences and it feels kind of rough around the edges as it isn’t finished but it does work.

OS/2 2.0 LA & GA ... And the American Flag

 Nubble lighthouse, edited after the fact

Another weird thing I noticed while looking to see if there was any exciting bitmaps in OS/2 2.0 LA, and finding it’s the same lighthouse.  But something looked different, I’m amazed I even caught it.  So I quickly fired up an OS/2 2.0 GA VM, and put them side by side.  Do you see it?

For some reason, IBM edited out the American flag.  I presume it was to make it more “international” but at the same point I had always assumed this lighthouse was in the USA.  It does seem like a strange thing for an American company to do, as Americans always tend to slip stuff like flags & music into their products…

I figure someone out there who wants to run OS/2 LA will want this to get this OS running. At the same time, I haven’t even thought about seeing if LA upgrades 1.3 and how 2.0 GA overlays the LA.

Upgrading through OS/2; Version 2.0

Well here we go, ‘A better dos then dos, a better windows then windows, better OS/2 than OS/2!’ … The 32bit version of OS/2 had been under development for quite some time, and now it was finally time to ship.. The year was 1992.

I’m going to switch from VirtualBOX to Virtual PC, as the screen redraws were just too slow on VirtualBOX.  Virtual PC cannot boot 1.0, 1.1 & 1.2 however it can run OS/2 1.3.  Thanks to Qemu’s qemu-img tool, I could quickly convert the VirtualBOX hard disk image into something VirtualPC can understand.

qemu-img.exe convert OS21.3.vmdk -O vpc OS2-13.vhd

And to test things, I first booted it on Virtual PC.

Ok, everything looks fine, let’s upgrade!

The OS/2 installer had grown so big, that now it required two diskettes to boot up.

Also back was a graphical splash, the colored OS/2 logo that in a way reminds me of the 4 panes of the windows logo.

And back to the blue on grey installer… Notice 15 diskettes! It’s grown massive!

Another amazing thing for OS/2 2.0 is the boot manager.  It lets OS/2 boot from extended partitions, and even secondary drives! As long as the boot manager is installed first.  I know some people that bought OS/2 only to manage multi-booting installations.  IBM could have sold this thing as a separate product.  Alas, since we are upgrading our way through OS/2 we have no need for it, so we just keep on upgrading our C drive.

If only there was a FAT to HPFS conversion utility.  But again, please don’t format my C drive!!!

Now we just feed diskettes to the installer..

And now we can reboot into the GUI!

And let the install continue.  I can’t help but think that I’ve done this before..

Unlike last time, I’ll actually have something to migrate..

Well the migration tool gives me a good feeling for finding my OS/2 programs.  Maybe they’ll even run!

Let’s trust the installer…

Now this confuses me, first it said (and quickly) that it migrated my existing printer, then it wants me to add another…?  I just know I’ll get two printers.  Now I feel like Arthur ‘Two Sheds‘ Jackson.

So a reboot at the end, and into the GUI:

Notice how OS/2 2.0 throws the tutorial in your face… All the while the desktop is building in the background so you could ‘multitask’ doing the tutorial while your hardisk is frantically building the desk.. And I see the two printers… sigh.

As you can see Word and Excel are still working.  And unlike a stock OS/2 2.0 installation it’s preserved the 1.x color scheme.

If you’ve never used OS/2 2.0 it comes with FAR more applets then the prior versions.

No doubt IBM was trying to address people like me complaining.  PM Terminal was nice in that it supported Xmodem, Ymodem & Kermit.  Not to mention you can send a ‘break’ easily over a menu.  It’s handy for things like cisco routers.  The seek & scan files is AWESOME really where was this in the world of Windows?  Why was this so … hidden.  Kind of strange that such a great tool was hiding.

Also someone got the memo about games.  You see if people can’t play in your environment they’ll go elsewhere.  After all even in the office it’s not all work.. There is a lot of people that attribute the success of Windows 3.0 to it’s Solitaire.  You see it’s shuffle algorithm is broken, cards tend to ‘clump’.  So as you play and sort, the cards start to appear in a better and more orderly manner.  And people like to win.  I know it’s a cheap thing, but heh the Chess in OS/2 is pretty good, as is the Solitaire.  I don’t know if making them ‘broken’ and letting people win more often would have sold more installs.  It reminds me of “The Story of Mel

In the same way, being ‘good’ and ‘correct’ doesn’t win you spaces in the market place.

Also this is the appearance of Neko for OS/2.  Not to mention a Jigsaw puzzle, one of those annoying number scramble things, and .. Reversi!

OS/2 2.0 finally allowed users to do wallpaper! ..

The downside is that OS/2 relied on it’s own bitmap format that of course was incompatible with the Windows bitmap format.  Nor did it support things like GIF/PCX that were common at the time.

Another thing IBM included was a copy of Windows 3.0 that could run under OS/2 2.0 in either full screen or ‘seamless’ mode.  There was no denying it, but after the launch of Windows 3.0 the avalanche of Windows programs was.. incredible.  And to not support them would mean death.

Some say that OS/2 did such a great job of support Windows that it just encouraged people to not write OS/2 software.

The ‘killer’ feature in OS/2 was this:

That little checkbox, “Separate session” became the #1 feature of OS/2.  You see Windows applications could happily overwrite each other, and memory protection became a big problem for Windows.  The easy way to crash it out was to launch a lot of any application.  Even well behaved applications would eventually bleed the system resources out, and again instabilities would strike.  In Windows 3.0 the USER, GDI & KERNEL modules all shared stack & heap, so exceeding the 64kb stack wasn’t too hard.  Even things like Program Manager and high color icons could do this quite easily.  However with OS/2’s “Win-OS/2 separate session checkbox, it meant that this application would get it’s own copy of Windows running.  Suddenly you could run Word for Windows & Excel for Windows in separate VMs, along with say some game, and the game wouldn’t crash all three out.  And if you were a programmer, it meant your compiler,editor could run outside and protected from the program you were developing.

And with seamless mode, instead of a separate screen, now your Windows applications could run on the OS/2 desktop.  This kind of partitioning wouldn’t make it’s way to Windows NT until version 3.5 in 1994.

You can only run 12 OS/2 sessions, but you can run WAY more DOS sessions.  I just got bored of clicking and rearranging.  I wouldn’t even think of running 20 MS-DOS prompts on Windows 3.0 ..

And unlike the OS/2 prompts the DOS boxes can go between full screen and windowed mode.  Another great thing is that they support DPMI & VCPI.  So you can run dos extender software.  Another great thing, is that *SOME* hardware calls could be passed down from a VM into your hardware.  It is possible for Doom 1.1 on OS/2 2.0 to work with a soundblaster.

Really.

(SET BLASTER=A220 I5 D1 P330 T3 and use the fixpack for OS/2 2.0 … but really it works!)

Sadly DOOM didn’t run in a window, and honestly a picture of doom is.. well.

 

gratuitous.

But why not.  It’s actually running under OS/2.  It’s something that a lot of computers in 1993 had issues running, even in plain MS-DOS.

At this point OS/2 1.0 feels like a tech demo, 1.1 – 1.3 are just toys.  Really you can see the frustration in the IBM/MS alliance as a 32bit OS is what people wanted to make, not the 16bit stuff.  It’s all goes down to the poor design of the 80286 CPU, and too many people selling them as ‘useful’ things.  Even as early as 1992 microkernel/personality people should have really taken notice in OS/2 2.0.  The key to the future was in virtualization, not in personalities.  Or more so, with things like Win-OS/2 paravirtualization, which is specialized kernel assists and drivers enabling the guest OS to bypass typical emulated hardware for IO and transfer raw datablocks in/out for things like video/disks & networks.

As awesome as OS/2 2.0 was, there is one thing you may notice here clearly lacking.

Networking.

OS/2 2.0 included *NO* networking support at all.  It was expected that people would use separate addons, even going as far to coax support for network cards in the DOS sessions and loading isolated Netware reqestors.  And of course adding these network requestors was widly varied, and there was simply no good universal way to do it.  Microsoft clearly learned the lesson about this with Windows for Workgroups & Windows NT.  It was a real pleasure with Windows 95 & Windows NT 4.0… But it was 1995-1996 by then.

Well, Next stop is OS/2 2.1!

OS/2 and virtual COM ports.

With TCP/IP working under OS/2 I went looking for the next thing that I’ve always wanted, and that is a good modem emulator.  Funny enough SIO the COM driver replacement for OS/2 actually includes this functionality.

And has for years… I just never knew it.

I know in the NT centric would we live in today, it’s all moot, but I thought it was really interesting for those of us that still hinge on modems… And freaky hardware, since OS/2 can let some things talk directly to the hardware without OS/2 drivers (IOPL=YES).

So for the sake of it, I downloaded version 1.60 of SIO, went through the install, then added a virtual modem as described to my config.sys .. And I placed a test ‘call’ with OS/2’s terminal program, and I was talking to my MUD!

So I thought I’d try something crazier, like load up a BBS, then configure it for four modems!

 

And it worked!

Sure there are some slightly easier to configure ways to achieve this (DOSBox includes modem support), and I suppose the better thing to do would be to give virtual modems to Qemu.  Then OS’s with no TCP/IP can benefit from this.

Installing Lanman client on OS/2

For this install I’m going to use the lanman client that comes on the NT 3.51 server CD. I believe they included this thing in version 3.1 through version 4.0 of Windows NT. You can find it in the “CLIENTS\LANMAN.OS2\DISKS” directory. Also I bet you never realized there is a copy of Windows 95 on the 4.0 server disk, and there is a copy of Windows for Workgroups on the 3.x disks…. (CD ONLY!).

Anyways with the disk in hand (or in virtual image) go ahead and kick off the install on diskette 1.

The program does black & white on 2.0 while on 1.3 it is in colour..

Copy from the A drive to the C drive… no issues here.

While the client does have a number of lan drivers, it does not have the NIC driver that Virtual PC emulates. Luckily I’ve put it on another diskette

And there we go, the Digital Semiconductor 2104x/2114x 10/100 mbps Ethernet driver.

And now we get to select protocols. While TCP/IP is an option, the IP stack included in this version is really only good for connection to Windows NT servers. It cannot be used by other applications. Sadly there never was a ‘winsock’ type common library for IP stack providers in OS/2.

Review the bindings. It’s a shame IBM made this process to damned involved with LAPS.

Here you can type in whatever you want.

Save the configuration.

Ok everything is good, now for a reboot!

And just to show you upon rebooting, the OS/2 VM now opens up a command prompt and starts the login process. And it’s validated my Administrator account against the NT Server in question. Now all I have to do is map the M: drive to the mailstore, and install the client.

So with everything mapped we go to install on OS/2 and… It says no. Which I guess isn’t that surpising, as the WLO help programs have a habit of crashing on OS/2. But no matter if you install it on 1.3 you can simply xcopy the installed directory and bring it online.

And there you go!

Even better it can send and receive files.

I would imagine the next ‘exciting’ steps to take down this old path is adding users into the system, and getting it connected to the world. But I’m busy with my new Itanium at the moment so it’ll have to wait for a bit.

If anyone has any feedback let me know… I know this may seem incredibly complicated, but really it’s a boat load easier then dealing with AD & Exchange 2010. Not to mention the filesizes are insanely smaller.

Installing OS/2 2.0 on Virtual PC

Remembering what was..

Continuing where I left off, I’m going to install OS/2 2.0 into Virtual PC. Now I’ve gone ahead and done the dirty work of converting the disks into disk images using winimage. A total of 21 diskettes. Back in the day, loading this thing took.. FOREVER. And we weren’t so keen on throwing away an install, instead we actually fixed stuff. But at the same time, OS/2’s major problem was config.sys .. Knock the registry all you want, but the ‘last known good’ configuration can be a life saver.

I created a VM with Virtual PC 2007 (remember to set it’s affinity to a single core!), disabling the Hardware Virtualization, and binding it’s NIC to the loopback adapter. I also defined a 500MB hard diskette. I’m not going to go to crazy here so I don’t need GB of space.

With that all done, we are ready to start with the install diskette.

Now OS/2 has some weird timing loop thing, and it is very possible that on the first few boots you’ll just get a black screen. OS/2 was temperamental booting from floppies back then, and it still is. So keep on rebooting the VM, and eventually you’ll get a screen like this with the IBM notification, and it’ll prompt for diskette 1. That is correct, first boot from the installation disk, then disk 1. I know it’s counter intuitive.

From here it’ll welcome you to the installer. Just hit enter. I think I left some stuff out as a lot of it is just repetitive IBM speak.

Since the drive is ‘virgin’ there is no partitions so I’ll accept the default of one big happy partition. Then it’ll want to reboot, and go through the whole installation diskette 1 thing again.

Now I’ll select the FAT filesystem, mostly because the HPFS format checks every block, and will blow out the vhd to 500MB, and I don’t need the long file names just yet.

And then it’ll copy files diskettes 2-5 then it’ll prompt for the installation diskette again. In retrospect it’s funny but back in the day lots of people (myself included) hated that I needed to read from the install diskette again. I know it’s to copy the kernel to the hard diskette, but we always felt it’s bad for an installer to need to read something twice. But then again there were so many floppies to go through it just felt unnecessary.

Now that the hard disk is prepared, you’ll get the final notice and time to eject the diskette and reboot. Again it may hang at a black screen, just keep on resetting until you get the boot logo.

Now we can learn to use a mouse, or install the OS. I’m going to install the OS, and the whole thing since we’ve got the disk space to spare! 29MB isn’t bad seeing it includes a full copy of Windows 3.0, DOS & OS/2.

I’m going to accept the default hardware selection. I don’t know if s3 drivers even existed at this point for OS/2, I would suspect not, as OS/2 2.0 shipped with a 16bit video driver model. They addressed that in the xr06100 service pack, and in OS/2 2.1 .

Then we shuffle through the remaining diskettes for the OS.

Since it is a new install, there is nothing to migrate, so let it install the default Windows desktop.

Like this..

Now it’s time to configure the printer. By default OS/2 *MUST* have a printer.. And I should mention that from the 1.x days it was insane to configure/add printers. You had to create all the parts yourself (the queue, the driver port) it was a nightmare. This is a little easier..

Again I’m just going to select the null printer.

Now OS/2 is setup, and we can reboot into the desktop!

So there is OS/2 installed. What a snap, right?

Next up is the NetBEUI client.

IDE-CDROM for OS/2 2.0

I’ve slowly been trying to piece together my old Netware 4.1 stuff to try to run it on Virtual PC… the best I can find is that I’d need parts of Netware 6 to get the networking to run….

But then the other day, I had remembered that you could run Netware 4.1 under OS/2 (the 32bit ones)..

The only ‘snag’ is that I’d need a working CD-ROM driver… And IDE-CD’s didn’t become somewhat popular until the 3.0 WARP days.

Well I did manage to find this zip file, CL_ATAPI.ZIP (Mirror CL_ATAPI.ZIP) that contains the IDE drivers!.. And as it mentions in the BBS description it’ll work on 2.0! Except that it gives NO hints on how to install it.

After a LOT of googling around, I was able to piece together a working solution. Adding this to the config sys by first commenting out the ibm1s506.add.. (Naturally unzip CL_ATAPI.zip into the os2 directory!

BASEDEV=IBM1FLPY.ADD
rem BASEDEV=IBM1S506.ADD
BASEDEV=IBM1s506.add
BASEDEV=IBM1s506.add /A:1 /U:0 /ATAPI
ifs=c:\os2\cdfs.ifs /q
basedev=ibmidecd.flt
device=c:\os2\os2cdrom.dmd
BASEDEV=OS2DASD.DMD

And there we go, drive D all set!

OS/2 vs Windows 7

I installed the latest RC of Windows 7 x64 today, and while going thru the latest wall papers I saw one that looked surpisngly familiar…..

Then it hit me, this looks a LOT like the old light house from OS/2 2.0! To check I quickly installed a copy of OS/2 2.0 on Qemu 0.90 (which works on Vista, unlike 0.91).

Lighthouses into the new world...

 

While it may be the same place from a different angle, the similarity is kind of funny. At the time OS/2 2.0 was the new striking consumer 32bit OS, and here I am on the new striking consumer 64bit OS… with more or less the same wall paper from a different perspective.

The more things change, the more they stay the same!