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 was created at the behest of IBM to promote the graphical desktop capabilities of, particularly through its DIVE API, much in the same way that Microsoft created WinDoom and its successor Doom95 to promote their own graphics acceleration technologies. It was programmed by Jim Thomas, president of WinWare Corporation, who also ported  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, at v1.9b, was eventually leaked onto the Internet.

Technology
According to Jim Thomas, the OS/2 port of Doom uses non-planar drawing logic 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.

The port uses true MIDI for music, and a separate WAD file,, is provided which contains MIDI versions of music for Doom and Doom II.

A video driver with VGA 256-color or better support is required. If the proper support is not installed, an error such as "DiveOpen: 1006" will appear, and the program may crash afterward. The generic Scitech SNAP SVGA driver is a widely supported solution under which the the game can run successfully.