In a fascinating example of poor timing, disk images of OS/2 2.0 pre-release level 6.605 from July/September 1991 were missing for over 25 years, only to show up literally one day after after the 25th anniversary of the OS/2 2.0 release (big thanks to a very helpful reader!).

Let’s go back to the odd numbering for a moment. The build “levels” of OS/2 2.0 started apparently at 6.00 and went all the way up to 6.307 for the GA release (though the 6.2xx range may have been skipped entirely). The 6.605 pre-release from September 1991 became available between 6.149 (July) and 6.167 (October). It is not known what possessed IBM to assign it a completely out-of-sequence number. It is known that 6.605 is very close to 6.149 but contains additional fixes to work better with LAN Server (LS) and Extended Services (ES) pre-releases.

For reference, OS/2 1.0 used internal revisions 3.xx, version 1.1 used internal revisions 4.xx, and OS/2 1.2 used 12.xx. The fact that OS/2 2.0 used the 6.xx range probably reflects the fact that its development started after OS/2 1.1 but before 1.2.

Even though the 6.605 disks are clearly labeled 7/91 (July), they were just as clearly finalized in September 1991. It is possible that 6.605 was somewhat unplanned because the next level (6.167, or OS/2 2.0 LA) was the first to contain the Workplace Shell (WPS), and putting that together may easily have taken longer than anticipated.

The upshot is that 6.605 was in fact the last OS/2 2.0 pre-release which didn’t use the WPS and instead utilized the same old Desktop Manager as OS/2 1.2/1.3, which makes it the closest surviving relative of the MS OS/2 2.0 SDK:

The look and feel was not quite the same as OS/2 1.3 and in fact was a cross between OS/2 1.3 and Windows 3.1.

When booting up, 6.605 also looked rather similar to OS/2 1.3:

In general, OS/2 2.0 Level 6.605 looked very much like OS/2 1.3 with just one slight difference—32-bit kernel (though in reality there was a bit more than that). It is important to note that although the kernel was 32-bit with support for large memory, 32-bit applications, paging, and all those goodies, it was in fact a 16-bit/32-bit hybrid. Device drivers in 6.605 are essentially taken wholesale from OS/2 1.x with minimal changes, and therefore 16-bit. Somewhat ironically, there was a new class of 32-bit device drivers in OS/2 2.0—virtual device drivers to support DOS sessions which typically ran 16-bit code. IBM never fundamentally changed the driver architecture, although starting with OS/2 Warp Server for e-Business (version 4.5), there was limited support for 32-bit drivers, most notably filesystems (JFS).

OS/2 2.0 GA got a new disk subsystem with modularized architecture (ADD, DMD, FLT modules); there was no sign of that in 6.605, or for that matter in 6.167 or even 6.177. There was just one monolithic DISK01.SYS driver like in OS/2 1.2.

The 32-bit kernel was able to support VDMs (Virtual DOS Machines), a major new feature of OS/2 2.0. And one notable visual difference between 6.605 and OS/2 1.3 was that “DOS Window” icon (DOS windows were something OS/2 1.x could never do). The DOS window looked like this:

What is worth noting is the amount of free DOS memory—over 627K. That was another improvement over OS/2 1.x which, on top of all other problems with DOS compatibility, also struggled with leaving enough free conventional memory in the DOS box.

There were familiar settings for DOS sessions:

The layout was not the same as in OS/2 2.0 GA but the basics were there. The DOS sessions could switch between full-screen and windowed operation, supported copy & paste in both directions, and generally provided good compatibility with existing DOS applications. And of course multiple DOS sessions could be preemptively multi-tasked.

Microsoft and IBM threw in a bunch of little goodies that made the OS more pleasant to use:

The Enhanced Editor (EPM) was IBM’s, a step up from the very basic E.EXE. Reversi was the same Microsoft game which made its appearance in Windows 1.0. Solitaire was IBM’s, very similar to the Windows game but independently developed. The set of utilities and games shipped with the OS changed quite a bit between 6.605 and the final release.

And there was a nice little tutorial for first-time users:

For obvious reasons (WPS), the tutorial needed to change quite substantially for the GA release.

Besides the user interface, there was another thing that OS/2 6.605 shared with the earlier MS OS/2 SDK releases but not the final version: the executable format. 6.605 still used the LE format of 32-bit executables, while OS/2 2.0 used newer LX. What that means in practice is that 6.605 can’t run executables designed for the released OS/2 2.0 and vice versa. OS/2 6.605 does not recognize LX binaries at all and considers them to be DOS programs, whereas OS/2 2.0 GA actively refuses to run LE binaries.

One significant new feature in 6.147/6.605 was MOST, or Multiple Operating System Tool:

MOST allowed multiple operating systems to coexist on the same disk, and also allowed OS/2 2.0 to be installed into an extended partition (typically drive D: or higher). Needless to say, MOST was quickly renamed to Boot Manager and that’s how it was known.

MOST made it easy to dual-boot between DOS and OS/2. The obvious step is then trying to run Windows 3.0 installed on the DOS partition inside an OS/2 DOS box:

Since there was no special support for Windows yet, Windows 3.0 only ran in real mode. But it did run, even in a DOS window. A sign of things to come.

It’s probably fair to say that OS/2 2.0 level 6.605 from September 1991 was the last pre-release very similar to the MS OS/2 2.0 SDKs, both visually and technically. The next pre-release, 6.167 from October 1991, looked and felt very different and was much closer to the final GA release from March 1992.