In the previous article, we explored the Linux family, following the development of the Linux kernel and the operating systems built around it. Although Linux did not inherit the original UNIX source code, it implemented many of the same concepts and interfaces. Linux distributions share a common kernel while differing in their software, configuration, and development approaches.

The IBM-compatible PC took a different path. UNIX grew out of systems designed for multiple users sharing resources. Early personal computers were generally built for one person at a time. DOS became their common operating environment, allowing software to run across computers from different manufacturers. As PC hardware improved, the limitations of DOS became harder to ignore.

IBM and Microsoft initially cooperated on OS/2 as a successor to DOS, while Microsoft continued developing Windows as a graphical environment. Their partnership eventually ended, and Microsoft pursued Windows NT as a separate operating-system architecture. For several years, DOS-based Windows and Windows NT developed alongside one another before Microsoft consolidated its desktop operating systems around NT. Other companies developed DOS-compatible systems, and open-source projects have kept parts of that history alive.

Before looking at Windows and OS/2, it helps to understand what DOS provided, where it came from, and why replacing it proved difficult.

DOS

DOS, short for Disk Operating System, became closely associated with the IBM PC and its compatible descendants. Although several unrelated operating systems used the name DOS, the PC-compatible DOS family became particularly influential because of the widespread adoption of IBM-compatible hardware.

DOS loaded programs, managed files and disks, and provided basic access to hardware. On an early PC, with limited memory and processing power, those services were enough to make the computer useful without consuming resources that applications needed.

DOS also incorporated ideas from other operating systems as it developed. Microsoft was already working with UNIX through its XENIX product, and MS-DOS 2.0 introduced hierarchical directories, file handles, input/output redirection, and pipes influenced by that experience. Although these features resembled their UNIX counterparts, their implementations differed. DOS pipes, for example, used temporary files to pass data between sequentially executed programs rather than connecting concurrently running processes.

CP/M and the Origins of PC DOS

Before the IBM PC appeared, Digital Research’s CP/M was an important operating system for microcomputers. CP/M gave programmers a common set of operating-system services, even when the computers themselves differed. That made it easier to bring applications to more than one machine.

IBM needed an operating system for its new Intel 8088-based PC. Microsoft supplied one, although the software did not begin as a Microsoft product.

Seattle Computer Products had created an operating system called 86-DOS, initially known as QDOS, for Intel 8086-based computers. Its design drew upon familiar CP/M conventions while providing an operating environment for the newer processor family.

Microsoft acquired the necessary rights to 86-DOS, adapted it for IBM’s hardware, and supplied it for the IBM PC. IBM distributed the resulting operating system as PC DOS, while Microsoft licensed MS-DOS to other computer manufacturers.

IBM sold PC DOS with its machines, but manufacturers building compatible PCs could license MS-DOS from Microsoft directly. That arrangement helped establish DOS as a common platform beyond IBM hardware.

The DOS Operating Environment

DOS presented users with a command-line interface. Commands such as DIR, COPY, DEL, and CD allowed users to inspect directories, manage files, and navigate storage devices. Batch files made it possible to execute sequences of commands automatically.

Storage devices were identified by drive letters, while files were organized into directories. Early DOS releases used the FAT filesystem, which would remain closely associated with Microsoft operating systems for decades.

From the familiar C:\> prompt, a user could start a program, copy a file, or run a batch script. There was no desktop to navigate; the command line was the interface.

Traditional DOS was primarily a single-user, single-tasking environment. A program generally received control of the computer until it finished or returned control to DOS. Applications could use terminate-and-stay-resident techniques to provide limited background functionality, but DOS did not offer the kind of protected, preemptive multitasking associated with more sophisticated operating systems.

Memory management presented another difficulty. The original IBM PC architecture and DOS programming model imposed practical constraints on how applications used memory. Conventional memory was limited to the first 640 KB of the address space, while additional memory required specialized techniques and software.

Expanded memory, extended memory, memory managers, and DOS extenders helped applications use increasingly capable hardware. These approaches improved what DOS systems could accomplish, but they also introduced configuration complexity.

Hardware compatibility presented similar challenges. Applications, particularly games, frequently interacted directly with video adapters, sound cards, and other devices. That approach could provide excellent performance, but it also meant that software sometimes required configuration for specific hardware.

Those limitations mattered, particularly as PCs grew more capable. But DOS ran on modest hardware, and the amount of software written for it made switching operating systems difficult.

DOS compatibility helped establish a common software environment across IBM-compatible PCs, even when the computers came from different manufacturers.

IBM PC DOS and Microsoft MS-DOS

IBM PC DOS and Microsoft MS-DOS shared their origins and remained closely related through much of their development. Nevertheless, they were distributed by different companies and gradually acquired their own features, utilities, and release schedules.

IBM continued developing PC DOS after Microsoft’s attention increasingly shifted toward Windows. PC DOS 7, released in 1995, included additional utilities and improvements, while PC DOS 2000 represented a later release of IBM’s DOS family.

Microsoft’s standalone MS-DOS releases ended with version 6.22, although DOS continued as a component of Windows 95, Windows 98, and Windows Me.

Digital Research and DR-DOS

Digital Research, the company responsible for CP/M, developed its own DOS-compatible operating system.

DR-DOS was designed to run software written for MS-DOS while offering competing features and utilities. Its releases included improvements to memory management and system configuration that made it attractive to users attempting to get more from DOS applications.

The important distinction was compatibility, not ownership of the code. DR-DOS could run DOS applications by providing the services those programs expected.

Novell subsequently acquired Digital Research and released Novell DOS 7. The product later passed through additional ownership and development arrangements, including Caldera’s involvement.

The competition between Microsoft and Digital Research also produced controversy. The Windows 3.1 beta releases included the AARD code, which detected certain non-Microsoft DOS environments and displayed compatibility warnings. Compatibility was not just a technical concern. It was also a commercial one.

Other DOS Implementations

DR-DOS was not the only alternative. PTS-DOS provided another DOS-compatible implementation, while ROM-DOS was designed for environments where DOS functionality could be embedded in firmware or specialized devices.

PTS-DOS and ROM-DOS also showed how the DOS-compatible environment could be adapted to different uses.

A DOS program was no longer necessarily tied to one PC manufacturer or one DOS vendor. That expectation of compatibility would shape the next generation of PC operating systems.

The Lighter Side of DOS

Not every DOS program was intended to do useful work. Some were written to experiment with the hardware, change the command prompt, or simply amuse whoever happened to be sitting at the computer.

Love-DOS and Hate-DOS

Love-DOS and Hate-DOS were novelty command interpreters that changed how the computer responded to its user. Rather than replacing DOS itself, they altered the command-line experience by displaying affectionate or insulting messages.

I remember trying both programs and enjoying their unexpected responses. They also took advantage of a useful DOS feature: the command interpreter was separate from the operating-system services. You could replace the shell without replacing DOS itself.

HELPME.COM — Speech Through the PC Speaker

Another DOS program I remember is HELPME.COM. When I was young, my father called me into the computer room to hear a program that made the computer speak. A voice called for help, claiming to be trapped inside the machine.

The original IBM PC speaker was designed primarily to produce simple tones and alerts. By controlling the speaker rapidly, programmers could reproduce more complex sounds, including recognizable speech. The quality was limited, but hearing a computer speak without dedicated audio hardware was impressive at the time.

Years later, I found another copy of HELPME.COM and ran it through DOSBox for my own children. Initially, the speech played too quickly to understand. Some early programs depended upon processor timing rather than an independent clock, and modern computers can execute their instructions much faster than the original hardware.

Reducing DOSBox to approximately 900 CPU cycles allowed the program to play at a recognizable speed. Once I adjusted the timing, I could hear the same little program my father had shown me years earlier.

Download the historical HELPME.COM archive

The archive contains historical DOS software intended for use in a compatible environment such as DOSBox.

When trying early DOS software in DOSBox, processor timing can matter as much as software compatibility.

DOS Version Table

Microsoft’s DOS releases illustrate how the operating system evolved alongside IBM-compatible hardware. Early versions provided basic file and program management, while later releases introduced support for larger storage devices, more sophisticated memory management, and improved utilities.

The dates identify major releases rather than the length of their support.

Year range OS and Version Notable Features
1981–1982 MS-DOS 1.x Basic command-line environment, FAT12 floppy disk support, and original IBM PC compatibility.
1983 MS-DOS 2.x Hierarchical directories, hard disk support, device-driver improvements, and UNIX-influenced features such as I/O redirection.
1984–1987 MS-DOS 3.x Expanded hard disk support, larger disk partitions, networking-related capabilities, and improved support for evolving PC hardware. Significance: DOS matured from an operating system for early floppy-based PCs into a more capable environment for hard-disk-equipped and networked IBM-compatible computers.
1988 MS-DOS 4.x Support for larger partitions, DOS Shell, and additional utilities, although early releases had reliability concerns.
1991–1992 MS-DOS 5.x Improved memory management, DOS Shell, full-screen editor, and enhanced utilities.
1993–1994 MS-DOS 6.x / 6.22 Disk utilities, memory management improvements, file transfer tools, and disk compression support. Significance: MS-DOS 6.22 became the final standalone retail MS-DOS release, representing the mature form of Microsoft’s traditional DOS environment.
1995 MS-DOS 7.0 DOS component supplied with Windows 95. The Windows VFAT layer supported long filenames, while traditional DOS programs generally accessed their 8.3 filename aliases.
1996–1999 MS-DOS 7.1 DOS component associated with Windows 95 OSR2 and Windows 98, including FAT32 support.
2000 MS-DOS 8.0 DOS component supplied with Windows Me, with restrictions on conventional real-mode DOS startup.

The later DOS versions in the table shipped inside Windows. DOS was no longer always sold as a separate product, but it was still there.

OS/2

Intel processors were gaining capabilities that traditional DOS could not use directly, including protected memory and better support for multitasking. IBM and Microsoft began work on OS/2 to take advantage of that hardware.

Unlike early Windows, OS/2 was intended to replace DOS as the operating system, not merely provide another interface above it.

IBM and Microsoft’s Partnership

The original OS/2 was developed for Intel 80286-based computers, taking advantage of the processor’s protected mode.

Protected mode offered mechanisms for managing memory and separating operating-system functions from applications. OS/2 also supported preemptive multitasking, allowing the operating system to schedule execution among programs rather than relying entirely on applications to cooperate.

OS/2 1.0 arrived without a graphical desktop. Presentation Manager followed in OS/2 1.1, giving users a graphical interface for OS/2 applications.

OS/2 also introduced features such as the High Performance File System, or HPFS, which addressed limitations associated with FAT filesystems.

The IBM–Microsoft Split

Windows 3.0 sold well, and Microsoft increasingly favored Windows over the jointly developed OS/2. The companies disagreed about where PC operating systems should go next.

IBM continued OS/2 development after the partnership ended. Microsoft concentrated on Windows and the new NT architecture.

OS/2 2.x and Workplace Shell

IBM’s OS/2 2.0 introduced a substantially expanded 32-bit environment and the Workplace Shell desktop.

Workplace Shell used an object-oriented approach to desktop interaction. Files, folders, applications, and other resources were represented through objects with associated behaviors and properties.

OS/2 also maintained compatibility with DOS applications and supported selected Windows applications through compatibility facilities.

IBM promoted OS/2 as an operating system capable of running DOS, Windows, and native OS/2 applications. That compatibility was important because the existing DOS and Windows software libraries were already substantial.

Running existing software helped, but users also needed native applications and drivers for their hardware. Windows already had a growing software market, which made OS/2 a harder sell.

OS/2 Warp and Later Development

IBM continued developing OS/2 through the Warp releases, improving its desktop environment, networking, and application support.

OS/2 retained users in specialized business and industrial environments, but it did not displace Windows as the dominant operating system for IBM-compatible personal computers.

IBM eventually withdrew from active mainstream OS/2 development and support. Licensed successors continued the platform, however, including eComStation and later ArcaOS.

I knew about OS/2 while growing up and considered trying it, but never did. My experience with it has been from the outside rather than from using it on my own computers.

OS/2 offered protected memory and multitasking while maintaining compatibility with software written for earlier PC environments.

OS/2 Version Table

Year range OS and Version Notable Features
1987 OS/2 1.0 Protected-mode operation and preemptive multitasking, initially without a graphical desktop.
1988 OS/2 1.1 Presentation Manager graphical interface.
1989 OS/2 1.2 HPFS filesystem and other system improvements.
1990 OS/2 1.3 Reduced memory requirements and refinements to the 1.x environment.
1992 OS/2 2.0 32-bit operating environment, Workplace Shell, and improved DOS and Windows application support.
1993 OS/2 2.1 Improved Windows application compatibility and hardware support.
1994 OS/2 Warp 3 Desktop refinements, Internet connectivity options, and improved usability.
1996 OS/2 Warp 4 VoiceType speech recognition, networking enhancements, and Java support.
2001–2005 eComStation Licensed continuation of OS/2 with updated drivers and utilities.
2017–present ArcaOS Commercially maintained OS/2 continuation with updated hardware support.

The final two entries are licensed successors, not IBM-branded OS/2 releases.

DOS-Based Windows

Microsoft took a different approach with early Windows: keep DOS and put a graphical environment above it.

Microsoft did not replace DOS immediately. Early Windows added a graphical interface while DOS continued to handle important parts of the system. Users could continue running familiar DOS applications while gaining access to graphical programs, windows, menus, and mouse-driven interfaces.

That arrangement changed as Windows gained more responsibility for memory, applications, and hardware. Windows 95 still included DOS, but much of the work was handled by Windows itself.

Windows 1.x and 2.x

Windows 1.0 appeared in 1985 as a graphical operating environment for MS-DOS.

It brought windows, menus, a mouse-driven interface, and graphical applications to machines that still started in DOS. Early PC hardware limited what it could do.

Windows 2.x improved window management and supported overlapping application windows. Later releases took advantage of newer Intel processors and their memory-management capabilities.

These versions established elements of the Windows interface, but Windows did not see widespread adoption until version 3.0.

Windows 3.x and Windows for Workgroups

Windows 3.0, released in 1990, brought major improvements to the graphical environment, memory management, and application support.

Windows 3.1 continued that development with improvements including TrueType font support and multimedia capabilities.

Windows for Workgroups added integrated networking features, making it easier for personal computers to share files, printers, and other resources.

Even with these improvements, Windows 3.x still started from DOS. Users could exit Windows and return to the DOS prompt.

Windows 95

Windows 95 introduced a substantially revised user interface, including the Start menu, taskbar, and a desktop model that would influence Microsoft operating systems for decades.

It also incorporated 32-bit components, improved multitasking, Plug and Play hardware configuration, and a more integrated operating environment.

Windows 95 was not based on the Windows NT kernel. Its startup process and compatibility architecture retained important DOS components. Windows 95 included MS-DOS 7.0, and users could configure the system to boot to a DOS command prompt rather than automatically launching the graphical environment.

Setting BootGUI=0 in MSDOS.SYS allowed the system to stop at the DOS prompt. The WIN command could then be used to start Windows.

That DOS startup option is easy to mistake for the Windows 3.x arrangement. Once Windows 95 was running, however, its 32-bit components handled tasks that earlier Windows versions had left to DOS.

Windows 95 still used DOS during startup, but its running environment was considerably more than the old DOS command line with a graphical shell.

Windows 98 and Windows 98 Second Edition

Windows 98 continued the Windows 95 architecture while improving hardware support, networking, and integration with the expanding Internet-oriented software environment.

USB support was particularly important. Although USB support had appeared in certain Windows 95 releases, Windows 98 made the technology more practical for a broader range of users and hardware.

Windows 98 Second Edition, released in 1999, added Internet Connection Sharing and refinements to networking, hardware support, and bundled software. It was a well-developed version of the Windows 9x system, not a move to the NT architecture.

Windows Me and the End of the DOS Line

Windows Millennium Edition, released in 2000, was Microsoft’s final consumer operating system based on the Windows 9x architecture.

It introduced features such as System Restore and additional multimedia capabilities while restricting some traditional real-mode DOS startup behavior.

Windows Me did not achieve the same reputation for maturity as Windows 98 SE. More importantly, it arrived at a time when Microsoft already had a separate and increasingly capable operating-system family built around Windows NT.

Windows Me and Windows 2000 both appeared in 2000, but they came from different operating-system families. Me continued the DOS-based consumer line, while Windows 2000 used NT. Microsoft would soon bring its consumer systems over to NT as well.

The Lighter Side of DOS-Based Windows

Once PCs had graphical desktops, the little novelty programs could wander around the screen instead of responding from a command prompt. Microsoft also tried some unusual ideas of its own.

eSheep

One program I remember particularly well is eSheep. It put an animated sheep on the Windows desktop, where it wandered around and interacted with the screen. It served no practical purpose, which was part of the appeal.

I remember running ten or twenty sheep at once. A whole flock wandering across the desktop was better than just one.

The original eSheep was a 16-bit Windows application. I eventually located a copy of its trial version, and its executable identifies it as software intended for the Windows 3.1 environment rather than a DOS program or a later Win32 application.

Download the original eSheep trial archive

Running the original program requires a compatible historical Windows environment or suitable emulation.

Microsoft Bob

Microsoft also experimented with alternative ways to present the graphical desktop. Microsoft Bob, released in 1995, replaced conventional desktop metaphors with a virtual household in which rooms and familiar objects represented computer functions.

The interface was intended to help inexperienced users navigate a personal computer without first learning the conventions of windows, directories, and application menus. Rather than organizing tasks around a traditional desktop, Bob presented them through recognizable household objects and animated guides.

Bob did not catch on, and the conventional Windows desktop remained. It is still an interesting example of how Microsoft tried to make the PC approachable to someone who had never used one.

DOS-Based Windows Version Table

Year range OS and Version Notable Features
1985 Windows 1.x Early graphical environment for DOS, tiled windows, mouse support, and graphical applications.
1987–1989 Windows 2.x Overlapping windows, improved applications, and enhanced processor-specific versions.
1990 Windows 3.0 Improved graphical environment, memory management, and broader commercial adoption.
1992 Windows 3.1 TrueType fonts, multimedia improvements, and application refinements.
1992–1993 Windows for Workgroups 3.1 / 3.11 Integrated file and printer sharing, networking, and improved 32-bit file access in version 3.11.
1995 Windows 95 Start menu, taskbar, Plug and Play, and integrated 32-bit capabilities. Significance: Windows 95 substantially changed the PC desktop while retaining a DOS-derived foundation. DOS capability: BootGUI=0 could start the system at a DOS prompt, with WIN used to launch the graphical environment.
1998 Windows 98 Improved hardware support, USB integration, and Internet-oriented features.
1999 Windows 98 SE Internet Connection Sharing, networking improvements, and hardware refinements. Significance: Windows 98 SE represented the mature refinement of the Windows 95/98 architecture rather than a replacement for it.
2000 Windows Me System Restore, multimedia improvements, and the final consumer DOS-derived Windows release.

NT Windows

DOS-based Windows grew out of the original PC environment. Windows NT was built on a different foundation.

Microsoft designed NT with protected memory, preemptive multitasking, security, multiprocessing, and hardware abstraction. It also had to support existing Windows applications if Microsoft expected businesses to adopt it.

Windows NT and Windows 95 could look similar on screen, but they did not manage memory, processes, or security in the same way.

Dave Cutler and the Development of NT

Microsoft recruited Dave Cutler from Digital Equipment Corporation to lead development of NT. Cutler had worked on VMS, and that experience influenced NT’s design.

The project grew out of Microsoft’s plans for an advanced OS/2 successor, but the company redirected it toward Windows compatibility. NT became a separate operating-system family rather than an extension of DOS or Windows 3.x.

NT Architecture

Windows NT provided preemptive multitasking, allowing the operating system to schedule execution among processes.

Protected virtual memory helped isolate applications from one another and from the operating system. A failure in one ordinary user process was therefore less likely to damage unrelated processes than in the DOS-derived Windows environment.

NT also incorporated security mechanisms, user accounts, access controls, and services appropriate for networked and multi-user computing.

Its hardware abstraction layer helped separate operating-system components from hardware-specific details. Early NT releases supported multiple processor architectures, reflecting Microsoft’s interest in an operating system that was not permanently tied to a single PC processor family.

NT also included compatibility subsystems intended to support existing applications. These allowed many DOS and older Windows programs to run, although compatibility depended upon processor architecture, operating-system version, and application behavior.

Application compatibility was a feature of NT, not evidence that DOS was running underneath it.

Windows NT Workstation and Server

Windows NT 3.1 appeared in 1993, using a graphical interface similar to Windows 3.1 while operating on the new NT architecture.

NT 3.5 and 3.51 improved performance, networking, and support for additional hardware and applications.

Windows NT 4.0 adopted the Windows 95-style interface, making the two families look increasingly similar despite their architectural differences.

Microsoft offered NT editions for workstations and servers. Server editions included capabilities intended for centralized administration, network services, and organizational computing.

NT became an important foundation for Microsoft business networks while Windows 95 and 98 continued serving much of the consumer market.

Windows 2000

By Windows 2000, the NT family had become a practical choice for more professional desktops. Its improved hardware support, networking, and administrative tools helped make that possible.

Windows 2000 Professional served desktop and workstation users, while the Server editions provided additional networking and enterprise features.

Active Directory, introduced with Windows 2000 Server, offered directory services for organizing and administering users, computers, and other network resources.

Windows 2000 still belonged to a different family from Windows 98 and Me. Businesses gained NT’s memory protection and administrative features, although some older hardware and applications still worked better under Windows 9x.

Windows XP and the Convergence of Windows

Windows XP, released in 2001, brought Microsoft’s mainstream consumer and professional desktop products together on the NT architecture.

Earlier consumer Windows releases had relied upon the DOS-derived Windows 9x architecture. Windows XP instead used the NT kernel and operating-system model while retaining a familiar graphical interface and substantial compatibility with existing Windows applications.

Windows XP brought NT’s process isolation, security model, and multitasking to home PCs. It was closer architecturally to Windows 2000 than to Windows Me, regardless of how familiar the desktop looked.

Modern Windows and Windows Server

Windows Vista introduced substantial changes to the Windows driver model, security, graphics, and system architecture. Some of these changes caused compatibility and performance difficulties, but they also established foundations that later Windows releases refined.

Windows 7 improved the experience of the Vista generation, while Windows 8 and 8.1 introduced major interface changes intended to accommodate touch-oriented devices.

Windows 10 and Windows 11 continued development of the NT family with changes to security, hardware requirements, application support, and the desktop environment.

Windows Server likewise continued as an NT-based family designed around network services, centralized administration, virtualization, storage, and enterprise workloads.

Not everything called Windows used the NT architecture. Windows CE, for example, was a separate operating system for embedded and specialized devices.

The name on the box did not always tell you which Windows architecture was underneath.

Similar-looking Windows desktops did not necessarily mean the same operating system was running underneath.

The Lighter Side of Windows NT

Some of the stranger things I remember from the Windows era came from applications rather than Windows itself. Microsoft put animated assistants into Office and other software, and developers hid games in a few Office releases. These were application features, not part of the NT kernel.

Clippy and Microsoft Agent

Microsoft Office introduced the Office Assistant, a feature intended to provide context-sensitive help while users worked with documents, spreadsheets, and other applications. Its best-known character was Clippit, commonly called Clippy, an animated paperclip that appeared with suggestions and questions.

The assistant attempted to anticipate when users might need help. Although the idea was intended to make software more approachable, its interruptions were not always welcome. Clippy nevertheless became one of Microsoft’s most recognizable interface experiments.

Microsoft Agent provided related technology for animated characters capable of speaking, moving, and responding to scripted interactions. Developers could incorporate these characters into applications, extending the idea of a graphical assistant beyond Microsoft Office.

Clippy was supposed to help, but anyone who had the paperclip interrupt their work can understand why it became a joke.

Hidden Games in Microsoft Excel

Microsoft Office also became known for Easter eggs: hidden features and demonstrations that were not part of an application’s ordinary functionality. Several releases of Excel contained elaborate graphical environments that could be accessed through particular sequences of commands.

Excel 95 — Hall of Tortured Souls

Excel 95 included a hidden first-person environment called Hall of Tortured Souls. Its appearance resembled the three-dimensional games popular during the period, particularly Doom, although it was an explorable maze rather than a complete shooting game.

Historical instructions for accessing it describe the following sequence:

  1. Open a worksheet and select row 95.
  2. Press Tab to move to cell B95.
  3. Open Help → About Microsoft Excel.
  4. Hold Ctrl + Alt + Shift while clicking Tech Support.
  5. Explore the hidden environment.

The maze also contained a secret area associated with the code EXCELKFA.

Excel 97 — Flight Simulator

Excel 97 included a hidden three-dimensional flight demonstration. Users could move across a graphical landscape and discover developer credits.

To access it in the original release:

  1. Open a worksheet and press F5.
  2. Enter X97:L97 and press Enter.
  3. Press Tab.
  4. Hold Ctrl + Shift while clicking the Chart Wizard toolbar button.

I remember playing an Excel flight simulator while using Windows 2000 and Office 2000. The documented flight simulator Easter egg belongs to Excel 97, however, so my recollection of the software version may differ from the published instructions.

Excel 2000 — Dev Hunter

Excel 2000 included another hidden game called Dev Hunter. This demonstration used a driving environment reminiscent of arcade vehicle games.

The game is associated with the original Excel 2000 release before Service Release 1. Accessing it required saving an interactive worksheet as a web page and opening it in a compatible version of Internet Explorer with the necessary Office Web Components and DirectX support.

Historical instructions describe the process as follows:

  1. Open Excel 2000.
  2. Choose File → Save As Web Page.
  3. Enable interactivity and save the page.
  4. Open the saved page in a compatible version of Internet Explorer.
  5. Navigate to row 2000 and column WC, select row 2000, then press Tab to make cell WC2000 active.
  6. Hold Ctrl + Alt + Shift and click the Office logo.

The game depended upon software components specific to that period. Office 2000 Service Release 1 removed access to the Easter egg.

Microsoft Word 97 also contained a hidden pinball game, demonstrating that these experiments were not limited to Excel.

A flight simulator hidden in a spreadsheet is a strange idea, but I can see why developers enjoyed putting it there.

To try these Easter eggs, you generally need the original software and a compatible environment. They are not included in modern Office releases.

The hidden Office games belonged to particular software releases. Reproducing them usually means recreating the software environment of their time.

NT Windows Version Table

The Windows NT family developed alongside DOS-based Windows before becoming Microsoft’s primary desktop and server architecture.

The following table emphasizes major desktop releases, with server development discussed in the accompanying text.

Year range OS and Version Notable Features
1993 Windows NT 3.1 First NT release, protected memory, preemptive multitasking, security model, and multiple processor architectures.
1994 Windows NT 3.5 Performance improvements, networking refinements, and expanded hardware support.
1995 Windows NT 3.51 Improved compatibility, performance, and support for newer applications and hardware.
1996 Windows NT 4.0 Windows 95-style interface on the NT architecture, with workstation and server editions.
2000 Windows 2000 (NT 5.0) Improved hardware support, networking, administration, and desktop usability. Significance: Windows 2000 demonstrated NT’s maturity as a practical professional desktop platform. Active Directory was introduced in the Server family.
2001 Windows XP (NT 5.1) Unified mainstream consumer and professional Windows desktops around NT. Significance: Windows XP ended Microsoft’s reliance on the DOS-derived Windows 9x architecture for mainstream consumer releases.
2003 Windows Server 2003 (NT 5.2) Server networking, security, performance, and administration improvements; later important as ReactOS’s compatibility baseline.
2007 Windows Vista (NT 6.0) User Account Control, revised graphics and driver models, and major security changes.
2009 Windows 7 (NT 6.1) Desktop refinements, performance improvements, and improved usability.
2012 Windows 8 (NT 6.2) Touch-oriented interface, Start screen, and platform changes.
2013 Windows 8.1 (NT 6.3) Refinements to the Windows 8 interface and system capabilities.
2015 Windows 10 (NT 10.0) Revised desktop interface, ongoing feature development, and expanded platform integration.
2021–present Windows 11 (NT 10.0) Updated desktop interface, revised hardware requirements, and continuing security and platform development.

Windows Server releases continued in parallel with the desktop family, sometimes sharing closely related underlying NT versions while providing different capabilities and release schedules.

FreeDOS

Microsoft stopped selling standalone MS-DOS, but DOS development did not end. Older programs and specialized equipment still needed it, and developers wanted a DOS-compatible system they could use, modify, and distribute freely.

FreeDOS is a free and open-source DOS-compatible operating system with its own kernel, command interpreter, utilities, and software packages. It does not use Microsoft’s DOS source code, and it is not an emulator pretending to be DOS.

Origins and Development

Jim Hall announced the project in 1994, as Microsoft’s attention shifted toward Windows 95 and the future of standalone DOS became uncertain. Initially known as PD-DOS, the effort soon became FreeDOS. Its goal was to provide a complete operating system capable of running traditional DOS software without requiring a proprietary Microsoft DOS installation.

Contributors developed and assembled replacements for the familiar components of a DOS system. The project eventually produced complete distributions rather than only a collection of separate programs. FreeDOS 1.0 arrived in 2006, followed by later releases that continued to update the operating system and its accompanying software.

FreeDOS 1.4 was released on April 5, 2025. Between major releases, the project also provides test distributions so people can try newer components.

The FreeDOS Operating Environment

FreeDOS retains the basic DOS model: drive letters, a command prompt, batch files, familiar filesystem operations, and the ability to run many programs written for MS-DOS. Its command interpreter, FreeCOM, provides the environment in which users enter commands and execute batch files.

The distribution also offers file-management tools, editors, archivers, memory-management utilities, device support, and other software. Packages allow users to install additional programs according to their needs, rather than limiting the system to the utilities bundled with an early commercial DOS release.

FreeDOS also includes tools for people who want to write DOS software. Compilers, assemblers, debuggers, and editors make it possible to develop programs rather than only run old ones.

Its architecture remains recognizably DOS. FreeDOS does not acquire protected memory, modern process isolation, or the Windows NT driver model merely by including newer utilities. Improvements to its software should not be confused with a replacement of the underlying DOS operating model.

Graphical Interfaces

FreeDOS normally presents a command-line environment, but a DOS-compatible computer need not be limited to text commands. Graphical desktops can run above DOS and provide windows, icons, menus, and mouse-driven applications.

OpenGEM is one option available for FreeDOS. It continues the GEM graphical desktop tradition associated with Digital Research and provides a graphical interface without replacing the DOS system underneath it. OpenGEM remains available with FreeDOS 1.4, although it is distributed on the BonusCD rather than installed as part of the basic system. Other DOS graphical environments, including SEAL and oZone, have also been developed. Both appeared in earlier FreeDOS distributions, but were dropped from FreeDOS 1.4 because of reliability problems.

Like Windows 3.x in its early days, these interfaces run above DOS. Installing one does not replace the DOS kernel.

Applications and Practical Uses

FreeDOS is useful for retrocomputing and software preservation, but those are only part of its purpose. It can run many DOS games, productivity programs, development environments, and utilities. It can also serve as a platform for writing and testing new software designed for DOS-compatible systems.

The available software includes networking tools and other applications that extend what can be done from the traditional command line. Some specialized maintenance and industrial tasks also continue to benefit from DOS-compatible software, although suitability depends on the particular application and hardware.

FreeDOS can run on compatible physical PCs and in virtual machines or emulators. Running it directly on newer hardware can be difficult because of firmware changes, missing legacy interfaces, and driver availability. Virtualization often provides a more predictable environment, but it is not the only way to use the system.

Compatibility is not universal. Programs that depend on undocumented DOS behavior, unusual drivers, or direct access to particular hardware may need additional configuration or may not work correctly.

DOS Continues

FreeDOS continues the DOS environment instead of trying to turn it into Windows or Linux. The command prompt and familiar interfaces remain, while the operating system and its utilities continue to receive updates.

You can still install FreeDOS, configure it, and write software for it. DOS is no longer the standard PC operating system, but it remains usable.

A graphical desktop can run above DOS without changing the operating system underneath it.

ReactOS

FreeDOS provides an open-source implementation of DOS. ReactOS attempts something different: an open-source operating system compatible with Windows NT, including the application and driver interfaces Windows software expects.

ReactOS is not a Linux distribution with a Windows-looking desktop. Its developers are implementing an operating system of their own.

Origins and Compatibility Goals

ReactOS began as an effort to reproduce the Windows operating environment without Microsoft’s code. Its compatibility goals have changed as Windows has changed, from NT 4.0 through Windows 2000 and XP-era systems.

The project eventually settled on Windows Server 2003 (NT 5.2) as a principal compatibility baseline.

I first discovered ReactOS when the project was targeting Windows 2000 compatibility. The idea of an open-source operating system capable of running Windows applications interested me immediately, and I have checked on its progress every few years since. I have never needed ReactOS myself, but if I had a Windows application that required a Windows-compatible environment, ReactOS would be my first alternative to try.

Using Windows Server 2003 as a baseline gave developers a defined collection of APIs, services, and driver behavior to implement. Supporting a particular NT generation is already a substantial undertaking without changing the target every time Microsoft releases another version of Windows.

Independent Implementation

ReactOS developers implement compatible operating-system functionality independently, without deriving it from Microsoft’s Windows NT source code. They rely on available documentation, testing, and other lawful development techniques.

The project also incorporates work from other open-source software, including components associated with Wine, which implements Windows application interfaces on other operating systems.

Wine provides Windows-compatible application interfaces on other operating systems. ReactOS needs an entire operating system beneath those interfaces, including kernel services and drivers.

A program may call a familiar Windows API and still depend on lower-level behavior that ReactOS has not implemented. The same is true of drivers.

Development and Limitations

ReactOS remains experimental. Although it can run some Windows applications and supports portions of the expected NT environment, compatibility is incomplete. Driver support, application behavior, stability, and hardware compatibility remain important development challenges.

ReactOS 0.4.16, released on August 29, 2026, introduced a graphical installer, a combined live and installation image, and improvements to storage, audio, networking, and hardware compatibility. The release also included work to update its Wine-derived components toward Wine 10.0.

The project has relaxed its earlier strict adherence to Windows Server 2003 compatibility so it can incorporate newer interfaces. Standard 0.4.16 release images still expose Windows Server 2003-era exports by default, however; newer Windows API exports remain experimental and require a specially configured build. These changes expand the work under way without making ReactOS a complete replacement for modern Windows.

The graphical installer makes ReactOS easier to try, but it does not resolve every application or driver compatibility problem.

Summary

DOS developed around the practical limitations of early personal computers. Its command-line environment, file management, and software interfaces became familiar across a growing collection of IBM-compatible machines. Microsoft played a central role in that development, but IBM, Digital Research, and other companies also produced DOS-compatible operating systems.

OS/2 represented an attempt to move beyond DOS through a more sophisticated operating-system architecture. Although IBM and Microsoft initially developed it together, their paths eventually separated. IBM continued OS/2, while Microsoft pursued both DOS-based Windows and Windows NT.

The Windows name came to describe two different architectural families. Windows 95, 98, and Me extended the DOS-derived environment, while Windows NT introduced protected memory, preemptive multitasking, stronger security, and other capabilities expected of a modern general-purpose operating system. Windows XP ultimately brought mainstream consumer Windows onto the NT foundation.

Those older operating-system families have not entirely disappeared. FreeDOS remains an actively developed DOS-compatible operating system, complete with its own tools, applications, and optional graphical desktops. ReactOS is still working toward a usable, open-source Windows NT-compatible operating system. Both projects are still being developed. They also show how long an operating-system interface can remain useful after the computers that first used it are gone.