Classic Systems Emulated: OS/2 Warp 3

 

OS/2 Has Reached It's Zenith

Need Intro 
On October 1994, IBM released the latest version of OS/2, Warp 3. IBM traditionally code-named internal OS/2 betas after Star Trek references. Version 3.0 was referred to as Warp internally. However, IBM liked the code-name so much that it became the final name of the official release. The name was also chosen to reinvigorate the OS/2 branding in a computing landscape that was rapidly being dominated by Microsoft Windows. Speaking of Star Trek references, OS/2 users constantly referred to Windows as the "Borg". In Star Trek lingo, an Borg is an cyborg that clones and mimics other alien species in order to assimilate them and turn them into mindless drones. It was a very fitting description considering what was happening in the PC ecosystem during that time. That will be covered later in this article. There was a lot of good going for the new release of OS/2. However, there were also massive issues that hampered its adoption.

The Good (System Overhead)

Warp 3 had even better multimedia support than the previous versions of OS/2. DOS and Windows compatibility was further improved along with general system stability. OS/2 already had a very good reputation when it came to system stability, especially compared to DOS and Windows, so this was only a plus. Warp was was further optimized even more to the point where Warp 3 had very little system overhead.

When OS/2 was first introduced, it had (for it's time) very demanding system requirements. In 1987, OS/2 required a 286 with at least 1.6MB's of RAM, which was a very expensive proposition at the time. While the Presentation Manager could run with as little as 2MB's of RAM, one could compare the PM experience to watching paint dry. The PM recommended at least 4MB's of RAM, which was also expensive by late 80's standards. While OS/2 v1.x was written in 286 assembly language, it was much faster and responsive on the 386, despite it not using its features. OS/2 2.0 was a step in the right direction, but it too was demanding. It was sluggish with 4MB's of RAM, and recommended 8MB's for decent performance. It was the same story with 2.1 and 2.11. However, as the 90's continued, the price of RAM was dropping at a rapid pace. With the release of Warp, which was heavily optimized, it ran well with computers with as little as 4MB's of RAM without making sacrifices. The snail now had rocket boosters now. Warp 3 was especially fast compared to Windows NT, which was released about a year before on July 1993.

Even though Windows NT 3.1 made use of the advance features of the 386 processor, NT ran at a snails pace on that CPU. One really needed at least a  486 DX2 running at 66MHz for faster to get decent performance. 16MB's of RAM wasn't going to cut it either. To cover NT's overhead, the PC running really needed 24 or more MB's of RAM. OS/2 was running circles around NT when it came to system overhead..
The Good (Applications)
OS/2 was starting to develop a very decent-sized software library. Lotus Software was a major developer. Both Lotus SmartSuite and Notes were updated for the new release. Speaking of productivity, Describe updated there word-processor for Warp 3 as well. Like Lotus Software, Describe was a dedicated OS/2 developer. CompuServe released a OS/2 client of there BBS (Bulletin Board Service) software. BBS's were basically the precursor of the WWW.

Star Office was released for Warp 3. There was no shortage of productivity programs for OS/2 by this point. For those who didn't need the kitchen sink, IBMWorks was released. Integrated software programs were still very popular at this point and there was a huge market for them. Originally known as Footprint Works, the program was licensed by IBM to compete with Microsoft Works. While there was native OS/2 port of MS Works, it still ran under Win-OS/2, and thus, was an active competitor to IBM's offerings.

Adobe released a native OS/2 version of there Adobe Acrobat PDF reader. With the proliferation of high-res SVGA displays, image editors started to populate OS/2 as well. ColorWorks was released for OS/2. This was a PhotoShop-like program included several effects and filters to enhance photos with. BlueCAD allowed for the creation of detailed diagrams, models, and floorplans. For those who needed to perform advanced calculations, Maple V, an advanced mathematical computation program, was released for OS/2. While there was a native port of Wolfram's Mathematica program for OS/2, the Windows 3.1 release will run fine under Win-OS/2 as well. When it comes to data visualization, Lotus Improv for Windows also runs under Win-OS/2.

There were games on OS/2 as well. Warp 3 got a native port of several Maxis titles, like Sim City, Sim City 2000, and SimTown. Most DOS games could run under the DOS Session while most Windows 3.1 games ran without issue under Win-OS/2.

The Good (Multimedia)
Warp 3 provided a much richer multimedia experience compared to its predecessor. Like the previous MMPM/2 release, the IBM Ultimotion video codec is installed, along with the happy parrots video clip. Warp 3 has better audio driver support and the new version of OS/2 supported the SoundBlaster 16 and AWE32 now. 16-bit PCM audio is no problem with Warp 3. I've found some MOD players for OS/2 from Hobbes OS/2 Archive. MOD files are audio/instrumental files that are commonly used on the Commodore Amiga. They are often used in Amiga games. However, they can be played on OS/2 as well.

The Bad (Networking)
There was also a lot working against Big Blue as well. The driver support, while much better, was still a lot to be desired. One area where OS/2 turned into a disaster was in networking support. When Warp 3 was released, it came in four versions: Red Spine and Blue Spine along with Red and Blue Spine Connect. Thank You IBM for confusing the living Hell out of customers. Red Spine lacked Win-OS/2, and instead built the Win-OS/2 desktop from your existing Windows 3.1 install. Blue Spine had Win-OS/2 already, so a previous Windows install wasn't necessary. Warp 3 Connect had Ethernet LAN drivers and TCP/IP support out of the box. Warp Red and Blue Spine only supported TCP/IP with modems. This was were OS/2 collided into a brick wall at full speed.

In 1993, its was still largely up in the air of which Internet Protocol would dominate. There were various Internet protocols to choose from, with the two most prominent being the WWW and Gopher. Gopher was like the WWW protocol in that it supported hyperlinks. However, it could only support small, simple images and was much more limited compared to the WWW protocol. The WWW standard allowed for much more advance page formatting using the HTML programming language. Also, the WWW was an open standard while Gopher was a proprietary one owned by the University of Minnesota. If one wanted to use this protocol, they would have to license it from them. Both Gopher and WWW functioned on the TCP/IP transport protocol.

By 1994, it was obvious that the WWW web standard was going to dominate. It was also obvious that the WWW itself was going to become the next big think. Internet support for a new OS releases was a must. In some ways, IBM was ahead of the game. They heavily promoted Warp as the OS of the Information Superhighway (remember when that phrase was uttered endlessly). However, IBM also got greedy. Very greedy. IBM charged a lot of money for Warp 3 Connect. Those who brought the standard release of Warp 3 could still get on the Internet using there modem, but LAN/Ethernet adapters was out of the question.

Those who did install Warp 3 Connect had trouble of there own. The install program installed the TCP/IP protocols needed for the WWW along with various other protocol that were mostly used in IBM-supported businesses, like Token-Ring.  Protocols that most home and even IT workers were never going to deal with. The tools used to configure these protocol were very hostile, and required a lot know-how. I'm going to make the assumption that IBM was too lazy to simplify there enterprise tools for home use. Either way, IBM should have released the full TCP/IP protocol on Warp 3 standard with simplified tools like Windows did. There greed got to the best of them.

Microsoft knew that the WWW and TCP/IP was going to be heavily used in the future to support the WWW. As such, they made the protocol a free download for Windows For Workgroups users who had access to Microsoft's FTP servers. WFW users could also order the floppy disk from Microsoft for a affordable price. The protocol was bundled with Windows NT. I'm not a fan of cliches, but Ethernet configuration in Windows 95 really was as simple as just a few mouse clicks. Microsoft knew that there users would want to hit the ground running, and thus made network configuration as painless and simple as possible. Despite Windows NT being much more demanding than OS/2, it was much more preferred in the network environment compared to OS/2 because Microsoft's tools were just as powerful, but yet, much more simplified. Microsoft supported many obscure protocols too. However, they weren't there unless you needed them.

The Bad (OS/2 For PowerPC)
The trouble didn't end there. IBM heavily invested into Warp for PowerPC. This was a technological oddity as while many parts of OS/2 had been written in the C programming language, several parts were still written in Intel Assembly language. OS/2 was specifically written for Intel-based computers. Thus, it didn't have the platform portability that Windows NT did. A port required a heavy re-write.

IBM heavily invested money into the PowerPC port of OS/2. The main justification for this was that PowerPC-based computers were going to displace Intel-based ones as PowerPC computers could execute code much faster than there x86 counterparts. The PowerPC Processors were RISC CPU's that executed code quicker than Intel or Intel-Compatible processors which were CISC-based. IBM and many other industry pundits thought that the Intel x86 platform was heading for its demise. However, with the Intel Pentium 2 processors and AMD's K6 counterparts, RISC-based processors were made that still included that x86 decoder. Thus, Intel and AMD were able to provided RISC features while guaranteeing backward compatibility while simultaneously giving those industry pundits the middle finger.  Not only that, with how RISC processors worked, even x86 programs that weren't designed for RISC-based computing to take advantage of it now by running threads now. All of a sudden, it was the MIPS RISC and DEC Alpha platforms that were heading for extinction, and not the Intel-based ones.

The DOS and Win-OS/2 sessions operated on an x86 emulator because the PowerPC processor couldn't natively execute Intel code. As a result, there was a performance hit when running Intel-based programs on the PowerPC. Despite this, the speed of the PowerPC largely made up for the code translation.

All PowerPC machines were equal. It just some computers are more equal than others. OS/2 for PPC couldn't run on Power Macs. It only ran on select IBM machines. These computers were not really any different than standard Intel-base desktop PC. They had ISA and PCI slots, and the motherboards were generally a carbon copy, except with a PowerPC in its place instead of its x86 counterparts. On the whole, OS/2 Warp 3 for PPC was a wasted effort with those resources much better spent supporting Warp 3 for Intel.

The Really Bad (I WANT MY DOOM!!!!!)
Sure, OS/2's DOS Session had great compatibility. It could run the Microsoft FoxPro database program, along with MS QuickBASIC. It could also run Wolfenstein 3D and the MS Flight Simulator Version 4. However, for those that wanted to battle the demons unleashed by UAC, then options were far and few.

I wanted to play Doom, plain and simple. I tried the dmos219s.zip archive, which was a native beta release of Doom for OS/2. It worked, but there was a lot to be desired when it came to performance. Not only that, there was no sound! You can't play Doom without sound! I tried a few more OS/2 ports of Doom with varying levels of failures. At this point, I'm thinking "Well, if I can't run any native port of Doom with sound, then I can at least play the DOS port under a DOS session." This idea was quickly flushed down the toilet. The binaries for Doom 1 and 2 froze during loading. Only a early release of DOS DOOM ran under OS/2, and without sound at that(what a surprise).

For PC gamers in the early 90's, Doom was as essential as food and water. To put this in another perspective for modern readers, Doom was the Fortnite of its day. It was the must own, must play game. Sure, WinDoom was missing sound as well. However, Windows 3.1 users could fall back to the DOS versions, so there was no issue there. Sure, there was never a native port of Doom for Windows NT. The DOS ports of Doom running on NT didn't have sound either. However, Windows NT was an operating system geared towards servers and corporate users. There was never any pressure on Windows NT to run Doom. However, Warp was geared towards home users. As such, it was essential for Warp to run Doom, and it largely failed in this task.

Win-OS/2 in action.

The Bad (Multimedia)
The same problems afflicting multimedia support in OS/2 2.1 affected Warp as well. Native OS/2 programs had very descent support. In fact, Warp 3 even natively supported the SoundBlaster 16 now. However, it was not all sun and roses. The support was only installed for OS/2 proper, and not for the DOS and Windows session. This time, the DOS setup program from Creative Labs for the SoundBlaster 16 did run correctly. However, all Hell broke loose. The DOS session displayed the "$SBAUDIO device is in use" message. Win-OS/2 refused to load the drivers period. The hacks that I used for Win-OS/2 on 2.1 didn't work this time. Thus, I only got the 8-bit SoundBlaster drivers working on Win-OS/2. I couldn't play 16-bit PCM audio. Like the previous release of OS/2, multimedia programs running under Win-OS/2 was a hit-or-miss. Windows Media Player and Voyetra Audiostation ran well enough. However, MOD4WIN, a media player that can play Amiga MOD files, refused to run on Warp 3, as like 2.1. Multimedia support on Win-OS/2 was very frustrating and is generally a disappointment.  
Voyetra Audiostation running under Win-OS/2.

The Ugly (Microsoft's Abusive Monopoly Practices)
IBM did make a lot of stupid decisions that would have a very negative impact on Warp 3. However, one of the reasons why so much focus should be placed on Microsoft's abusive monopoly practices is that even if IBM did not make a single mistake, it still would have lost to Microsoft because of market manipulation.

Microsoft was relentless in there war against IBM. The relationship between the two had went down the tubes following the 1990 "Divorce". Microsoft was hellbent on punishing IBM. With many OEM's, Microsoft threatened that they would hike the price of each Windows license paid if these companies continued to support OS/2 on there hardware. Compaq really did want to use OS/2 on there computers, but relented because they didn't want Microsoft to punish them. Microsoft threatened ISV's (Independent Software Vendors) by withholding the Windows SDK's from them if they continued to release OS/2 software. The major OEM's didn't have that much faith in IBM either. Even many of IBM's own computers didn't have OS/2 as an option, defaulting to Windows 3.1. Maybe IBM was so consumed with taking advantage of there cheap Windows 3.1 licenses to punish Microsoft that they lost sight of OS/2? This wasn't exactly a confidence builder though. On 1995, IBM acquired Lotus Software, bring both Lotus SmartSuite and Notes into IBM's software portfolio. Big Blue was determined to compete head-on with Microsoft.

On one hand, Microsoft had several reasons to be angry at IBM. Following the "Divorce" settlement, IBM made Microsoft release the source code for both Windows 3.0 and 3.1 (even though there is probably more to this story than what meets the eye). Despite popular opinion though, IBM did not get Windows 3.1 licenses for free. However, they didn't pay that much for them either (around $9.00 per license). Microsoft was going to make IBM pay. This was already happening in the server space with the release of Windows NT. In the consumer market, Microsoft was going to make Windows 95 the must own product for computer users.

The OEM's were hyped, as well as the man on the street. The OEM's were getting special discounts. Microsoft was willing to give IBM that special discount if they discontinued OS/2 and Lotus SmartSuite. IBM told Microsoft to get the Hell Out (figuratively speaking). Microsoft only needed to wait though. When it was obvious that those who didn't carry Windows 95 were going to be left in the dust, IBM signed. However, that agreement with Microsoft wasn't signed until 15 minutes before Windows 95 officially went on sale. Because IBM held out so long, they wouldn't have any new computers preloaded with Windows 95 in time of launch. Also, because IBM would continued to support both OS/2 and Lotus SmartSuite, the company would be pay much more for that Windows 95 license compared to everybody else. Microsoft got there sweet revenge. However, that revenge came at a price. The DOJ (Department of Justice) were now much more committed than ever to deal with Microsoft's market manipulation of the industry. Microsoft was abusing it's monopoly position, and we haven't even gotten to the first browser war yet! Microsoft's threats made to both OEM's and ISV's due to there OS/2 support would become public knowledge, and Microsoft's abusive policies would place the company in the fight of its life.

Emulation
Because I wanted to run Lotus 123 and due to the "*" bug when using the 486 or Pentium emulation in both 86Box and PCEM, I decided to do a custom compile of 86Box (I didn't know how to compile PCEM). Modifying the cpu_table.c file in 86Box, I've changed line 274 to bump the performance of the Cyrix 486DRx2/66Mhz "CPU_486DLC" to 75MHz (75000000 value). Modifying the machine_table.c file, the entry for the Lucky Star LS-486E, an SiS 496 motherboard, was modified to use the Cyrix cpu_486DLC variable in place of the cpus_Cx486. I really didn't want to use a 386 motherboard as the BIOS wouldn't recognize HD capacities larger than 512MB (I was running OS/2 from a 1.7GB volume). The 486 boards had support for larger disk capacities. After that, I built the custom binary and it worked. Lotus 123 ran correctly without issue. The multimedia applications still ran very well. Before this build, I was still using PCEM 10.1 for Warp 3.

The final configuration was an 486 desktop PC with a LuckStar LS-486E motherboard using the AMI BIOS. The PC is equipped with a Cyrix 486DRx2 processor running at 75MB's of RAM and equipped with 16MB's of RAM. The emulated computer has a Creative Labs SoundBlaster 16 audio adapter along with a S3 Trio32 SVGA video adapter. Warp 3 ran very well. Most applications tested ran fine. Multimedia applications worked well too except for MIDI.

Conclusion
OS/2 Warp 3 was a very powerful piece of software that had a lot going for it. General DOS and Windows compatibility was good. OS/2 had very solid multimedia support. The driver support was very good. However, there was a lot going against it. Networking under OS/2 was complex. Charging extra to use TCP/IP on a LAN was perhaps one of the dumbest things that IBM could have done, especially in the early days of the WWW. Multimedia didn't extend to the DOS Sessions or Win-OS/2. The multimedia support for those subsystems had to be installed and configured separately. Granted, I feel that these problems wouldn't have been a thing if I installed the edition of Warp 3 that used the pre-existing DOS/Windows setup with the appropriate drivers already installed. I will probably visit Warp 3 Red Spine down the road. Warp 3 had issues running the must-play game that was redefining PC gaming: Doom.

However, there is also blood on Microsoft's hands. Even if IBM didn't make a single mistake, Blue Blue still would have lost the war because Microsoft was intent on abusing there monopoly position to there hearts content. Did Warp 3 deserve better? Yes. It deserved much much better than what happened. On the whole, I still feel though that despite its issues, Warp 3 had made a generally positive impact on the scene of computing.

Articles Of Interest
Wikipedia - Gopher (Protocol) : https://en.wikipedia.org/wiki/Gopher_(protocol)
Wikipedia - Internet Protocol Suite : https://en.wikipedia.org/wiki/Internet_protocol_suite
Wikipedia - Complex Instruction Set Computer (CISC) : https://en.wikipedia.org/wiki/Complex_instruction_set_computer
Wikipedia - Reduced Instruction Set Computer (RISC) : https://en.wikipedia.org/wiki/Reduced_instruction_set_computer
Hobbes OS/2 Archive : https://hobbes.nmsu.edu/

Articles of Interest : The Ugly (Microsoft's Abusive Monopoly Practices)
These articles are so damning......
The Register - MS, DoJ lawyers out in force for IBM witness : https://www.theregister.com/1999/06/04/ms_doj_lawyers_out/
Finding The Facts - The United States of America Vs. Microsoft Corp. : http://www.ltg.ed.ac.uk/~richard/findfact.html
BBC News - IBM chief: Microsoft killed OS/2 : http://news.bbc.co.uk/2/hi/business/368660.stm

Comments

Popular posts from this blog

WeatherStar 4000 Simulator For Windows (Part 1)

Classic Systems Emulated: Windows 95 (Part 1)

Classic Systems Emulated: Windows 3.1 OEMS

Old Hardware Emulated :Psion Model 3a Emulated On DOSBox Windows

Classic Systems Emulated: OS/2 Version 2.0 On PCEM

Old Hardware Emulated - Windows Mobile 5.0

Old Hardware Emulated : Pocket PC 2000/2002

Old Hardware Emulated :Einstein emulating the Apple Newton (Part 3)

Classic Games Emulated: Revisiting NFS High Stakes Modding

OS/2 Warp 4