Microsoft OS/2 2.0 SDK Beta

Something interesting crossed my desk today.  The much-fabled Microsoft OS/2 2.0 SDK beta.

OS/2 2.0 SDK in action

OS/2 2.0 SDK in action

Sadly, this does *NOT* include the operating system, just the C compiler and the SDK bits. As you can see, the C compiler is version 1.00.075, a full year+ before the WindowsNT 3.1 1991 pre-release which had 6.00.080. An interesting thing is that the C compiler can be run from 16bit OS/2.  Unfortunately, the EXE’s produced by the SDK will not run on a production OS/2 system.  The fault lies with the linker & resource compiler.  However swapping those two components out for production versions seems to remedy this and produce working executables.  The only SDK examples that don’t work correctly involve the creation of DLL’s.  I’m sure it is again related to either the linker again, or from some gem I saw in the SDK saying you should always link by ordinal, and never by name.  Apparently a bunch of function calls were going to change name from OS/2 1.2 to 2.0.  It is interesting to me that going from the old Windows 3.1 to NT days we always had so much issues with people calling by ordinal vs the function name.  It broke all the time, but it is funny to see possibly where this bad habit started.

Import and link by Ordinal? What were they thinking!?

Import and link by Ordinal? What were they thinking!?

For those who don’t know DLL’s contain a table of functions sorted by NAME, and NUMBER.  The names have to be unique but the number depends on the order in which the DLL is linked together.  And it is very easy for someone to accidentally change the link order, and next thing you know the ordinal are all wrong.

Otherwise, yeah the tools from the MS OS/2 2.0 beta working in 2013.  I do believe that the object files can also be strung together with some DOS Extenders from the era to produce DPMI exe’s.

But I’ll save that exercise for later, like here! targeting OS/2 with Visual Studio 2003!

So I managed to score 2/3’rds of the most rare version of OS/2 ever

Thats right I’m talking about the Microsoft OS/2 2.0 beta.

This is the badboy that cost some $2,600 back in 1989/1990 and its stall basically split up the IBM Microsoft OS/2 alliance.

Sadly I don’t have volume 1 (although the binder spine says so, I have to wonder if the binders were reorganized) so I don’t have any media, nor the overview stuff, just the API’s for the UI & Networking and some general API stuff.  There is no mention of SOM or Workplace shell, so clearly this is stuff IBM added on their own.

It seems if MS & IBM had not dragged so slowly with 2.0 it really could have been pushed out in 1990, instead Microsoft basically gave up on Cruiser and pushed forward with Windows 3.0 which it controlled all the way.  And of course if IBM had allowed Microsoft to control the GUI side, OS/2 would have been far more NT’ish from the getgo.  Oh well instead we were denied any decent OS until what? 1994 on the Microsoft side with NT 3.5 although of course it was closer to 1996 with NT 4.0 did it even matter by then.  OS/2 was quite usable at the 2.0 level, but it was delayed with the advent of Windows 3.0 and OS/2 HAD to run Windows apps or it’d never go anywhere.

So here is some camera phone pictures of what materials I have on this rare version.  Naturally if anyone actually has Volume 1 or the media set feel free to contact me!!!

 

The binders

Operating System/2 Programmer’s Reference Volume 3 version 2.0

SY13869-0590 / May of 1990

I’ve also found these snippits from Infoworld going back to 1989..

One interesting thing seems that once Microsoft abandoned OS/2 2.0 the kernel never seemed to have changed as you still can load 16bit device drivers so it feels as if all development in that space froze until the ill fated botched port to L4.

PC Plus magazine reviews OS/2 2.0

June 1992

I thought this was cool, PC Plus magazine is doing a best of, 25 year retrospective, and up there is of course, the release of OS/2 2.0!

It really is an in depth look, and a great job for a magazine!  I’ve always like the UK based stuff, nice glossy photos, etc..

But even at the end it was the same old same old, installation issues, and speed..

I remember OS/2 2.0 on a 386sx 16 with 4MB of ram was unusable, while OS/2 1.3 was great… But like everything else that was involved at the time, keep in mind they had not reviewed NT yet… Although the pre-releases were floating around.. Naturally they have both Windows 3.1 & Windows 95 launches..

20 year old OS/2 sales video…

lol the fun starts some 3.5 minutes in.

And true to IBM's poor sales skills they go on and on about it, without SHOWING it.. I mean it took up to 8 minutes in to get a glimpse of OS/2.  Its like they were scared of it for some reason.

Maybe OS/2 2.0 would have had a shot, if Windows 3.1 wasn't released on its heels.

(Video in MPEG-1/Audio MPEG-2 care of JSMpeg).

QuakeWorld for OS/2 2.0

Not sure why its suddenly working…. but I suspect it may be either updates to both OS/2 base OS & TCP/IP or…. it is because I’m using the QuakeWorld server code that matches the client…. Anyways I’ll upload a binary and the rest later as it is super late.  But for those of you who want to see it…

Yes it really is an OS/2 exe built with EMX!

I’ve updated the sourceforge page to include an exe, and a copy of the updates that I’m using to OS/2.. Oddly enough my OS/2 install with Virtual PC no longer works… The NIC isn’t found anymore, must be some update?  I’ve got 6.0.192.0, although I know for a fact that this image used to work…

Broken driver

Further update, turns out I’m retarded the AMD PCNet driver is for VMWare/Qemu … Virtual PC emulates a DEC 21140a, which I downloaded a NDIS2 driver from Intel which works great.  I do have to turn off hardware assisted virtualization otherwise OS/2 won’t boot at all from the hard disk..  I’m not sure if it is because I’m now on an AMD computer, or if it is the matched QuakeWorld server/client but it works fine… in Qemu & Virtual PC.

Another OS/2 Synchronet BBS

It’s always cool to see them pop up in the wild.  So here is the quick writeup on gabucino.be going over some of the trials of setting up bbs.gabucino.be ..

And apparently he’s had far better luck getting the modems to operate well more like modems.  So no cheating as I did by using passive mode FTP to transfer QWK packets in & out of the system.  Its all very cool, and of course powered by OS/2 on Qemu so that makes me happy!

There isn’t a flash/java based page, so I’d recommend using syncterm.

OS/2 2.1 and TCP/IP 2.0

So I thought I could simply take my OS/2 2.0 install on Qemu with an ISA NE2000 and simply upgrade it to OS/2 2.1 and it’d work, right?

WRONG.

Dead WRONG.

So after an hour screwing around with various drivers, I found of all things, the PCI NE2000 will work.  The driver is available os2site.com

Thankfully the NIF’s and OS2 bits work right so you can actually use LAPS to configure it, once you copy the NIF & OS2 files into the c:\ibmcom\macs directory.

LAPS to the rescue (for once)

And then with that in place configured for user mode networking (10.0.2.15/255.255.255.0/10.0.2.2 DNS 10.0.2.3)

All is working as expected.  I’m hoping that the DPMI emulation is better in 2.1 vs 2.0.  Although what is interesting is that after applying XR06200, my OS/2 2.1 is now 2.11 …

Installing OS/2 2.0 on VMware ESXi 4.0

Well the good news is that it works… mostly.

The install is SUPER tedious through the console with mounting and ejecting diskettes. But I was able to do all of that from the comfort of my home on a VPS that does VMWare, enscloud.com.

The great thing about OS/2 is that IBMINT13.I13 driver. I’m pretty sure trying to find a suitably old “LSI Logic SAS” driver may be quite difficult, but as long as the adapter does good old interrupt 13 services, OS/2 can drive it.

So with OS/2 2.0 installed, then updated, and TCP/IP installed I thought things would work as there actually is e1000 drivers floating around for OS/2…. Except all I get is a trap and death.

x

Trap 0006.  Talk about a bummer.

From some minor googling around it seems it’s a known issue, with no current fix.

OS2-on-vmware

So close, and yet so far away

Oh well.

** UPDATE in all likely hood all that is required is the unofficial update XR_B108, for OS/2 2.1 which apparently works with networking on VMware Player.