OS/2

Doom for OS/2 was an official port of Doom to the, a would-be successor to created through a partnership between Microsoft and  which eventually broke down between 1990 and 1992 as Microsoft worked on their own  OS.

Doom for OS/2, much like WinDoom and its successor Doom95, was created at the behest of IBM to promote the graphical desktop capabilities of, particularly through its DIVE API. It was programmed by Jim Thomas, president of WinWare Corporation, who also ported SimCity to the operating system.

Because of OS/2's backward compatibility with DOS, it was also possible to run the DOS version of Doom under OS/2 with appropriate configuration settings. However, compatibility issues, such as lack of audio, were common.

Development
IBM initially approached id Software about having the company develop the port directly, but according to programmer Jim Thomas, id declined, stating that they had neither the time nor the resources, but that they would give IBM access to the source code to do the porting work themselves. IBM hired Jim Thomas as an independent contractor to do this work.

This OS/2 port of Doom was displayed on the floor at several IBM trade shows, including Spring COMDEX in 1994 and the OS/2 Warp release party in New York City. However, by the following Fall, IBM had stopped showing the game, and the port was never officially released. The last beta build of v2.19 was eventually leaked onto the Internet.

Technology
According to Jim Thomas, the OS/2 port of Doom uses non-planar drawing logic (in contrast to the DOS version, which draws to four-plane staggered VGA memory in order to accomplish page flipping) to render into a 320x200 area of system memory. This buffer is then sent to DIVE for blitting to the screen - if the target window is not 320x200 in size, DIVE's stretch blitting will resize it to fit the window. The game typically ran at 24 frames per second on period hardware. Self-modifying assembly code is utilized in this low-level code to achieve maximum performance.

The port was uniquely (for its time) multithreaded, particularly with respect to its network multiplayer capability. Named pipes and NetBios were supported as protocols.

As DART support is required, it may be necessary to install FixPak 26 or the Netscape Plug-In Pack if running Warp 3.