Windows 1.0

Windows 1.0
Version of Microsoft Windows
OS family16-bit Windows
Preliminary nameInterface Manager
Window Manager
Architecturex86 16-bit
Latest build1.04
Release date1985-11-20
Support end2001-12-31
Replaced by
Windows 2.x

Windows 1.0 is the first major release of Microsoft Windows, which was released to manufacturing on 20 November 1985 in the United States, and later internationally in May 1986. It is a graphical shell that runs on top of MS-DOS and provides a cooperative multitasking environment that can run applications specifically targeting Windows itself as well as a subset of compatible MS-DOS applications. Aside from being available as a full user environment, it also exists in a runtime variant that developers could ship with their applications. Despite lukewarm contemporary reviews, it enjoyed moderate success and was eventually succeeded by Windows 2.0 in 1987.

The environment consists of three major components: the Kernel (KERNEL.EXE), which provides base services such as the New Executable loader, memory management and multitasking; the Graphical Device Interface (GDI.EXE), which provides a device-independent interface to draw graphics onto the screen; and User (USER.EXE), which implements the actual user interface on top of GDI. This base structure was kept intact by later versions of Windows and eventually also carried over to Win32.

Unlike any later releases, Windows 1.0 primarily manages windows by tiling them rather by stacking. This was a design choice promoted by former Xerox PARC employees, which was backed by their research done during PARC's Cedar project, rather than a legal or implementation limitation. In fact, Windows 1.0 does also support overlapping windows, although this ability is limited to popup windows and certain controls such as menus and dropdowns.

History[edit | edit source]

In 1981, the Apps division of Microsoft (Microsoft had two primary divisions during this time—"Systems" and "Apps", for systems software and application development respectively) began to develop a common interface library for all of the productivity applications being developed within the division at the time (mostly Word and the Multiplan spreadsheet). This went by several names, notably MUSH (Microsoft User SHell) and Interface Manager, and is an entirely text-mode UI framework signified by the "session control" strip with context-specific commands at the bottom of the screen. There were also brief plans for a "visual shell" using this UI to be shipped using DOS 2.0, but these were scrapped before the final release. Variants of the MUSH/Interface Manager interface would ship in DOS Word 1.0 and Multiplan in 1982 and 1983, after the development of the Windows product had already begun.

At the same time that Interface Manager was being developed, a European standards committee was developing a standard for computer graphics, known as GKS (Graphical Kernel System). Microsoft wished to create a software product that would implement this standard on top of MS-DOS in a device-independent manner; Microsoft hired a developer to start this endeavour at the beginning of 1982, with another being transferred from Compiled Basic to assist with shrinking the code down later (mostly by converting it from C to assembly to meet the memory limitations of early IBM PCs) later that year. This project was dubbed GDI (Graphics Device Independence), later renamed to Graphics Device Interface, initially focusing on vector graphics.

It was eventually decided in the middle of 1982 to merge the Interface Manager and GDI teams into one team to develop a GUI-based package with device-independent graphics drawing, which gradually evolved into a (mostly) fully-fledged operating system with its own API and executable format. Initially this was called "Microsoft Window Manager"; a series of mockups and demo applications designed to resemble the final product (Demonstration Version 0.01) was shown off to BYTE magazine in September 1983 under this name, featuring overlapping windows and showcasing both "cooperative" and "uncooperative" DOS applications that directly modified video memory. The product had been renamed to "Windows" by the time it was announced on 10 November 1983, with an early build demoed at COMDEX '83 two weeks later. By this time, the design of the standard window had changed to a design closer to the final version, with tiled windows (these were not done for copyright reasons and were instead done because of usability studies from Xerox PARC, where some of the original developers of Windows were hired from) and a messagebar at the top of the screen that would eventually be removed later in the product's development cycle (the UI changes being significant enough for BYTE to mention in their article). The original announced release date was April 1984; this slipped several times (the original April 1984 date had already slipped internally, from the end of 1983) and was most likely never realistic in the first place, with a pre-alpha release strictly for developers not even shipping until the end of May.

These development releases were very unstable and represented a rapidly changing system that was in no way even close to being ready for release—despite Microsoft's repeated promises of imminent release—with critical elements required for a functioning operating system such as a functioning memory management system not present until the fifth development release at the end of October 1984 (which was almost immediately replaced by code essentially copy-pasted from Multitasking MS-DOS 4 and "wrapped" for Windows' use by early 1985) and the executable format and basic API tenets (such as individual registering of window procedures being changed to window classes) completely changing several times as late as January 1985. The development releases were followed with an Alpha Release (with a very different and completely incompatible API to the previous development release) in January 1985, followed up by a beta release in May 1985. By this time, Windows was scheduled to release on June 28, 1985, but when that date was reached developers were simply sent yet another beta release (which is presently lost); approximately a month after that Microsoft sent out the "Premiere Edition", a glorified beta release, to the press (likely to prove the product existed, as it was often dubbed 'vaporware') and OEMs, and at least one OEM shipped a pre-release version of the product (version 1.xx, in September 1985), possibly out of contractual obligations or mere frustration with Microsoft's apparent inability to complete Windows.

After a sustained period of crunch (including at least one developer regularly sleeping in the office) throughout the summer and autumn of 1985 and a series of semi-regular beta and "Retail Beta" releases through the next few months, the operating system was finally completed on 14 November 1985, and sent into mass production the next day. While it was a high-quality product with few bugs by all accounts, the operating system was faulted for high hardware requirements, especially requiring expensive, optional hardware for the time (such as a mouse); despite this, it was successful enough for Microsoft to begin working on international versions (released as version 1.02) and ship several bugfixed revisins (1.03 and 1.04), and at the same time developing "Windows 1.1", later renamed to "Windows 1.5", which would count among its features overlapping windows (which are internally supported in Windows 1.0's window manager, with tiling done on top) and, in the more expensive "Windows/386" SKU, the VMM (Virtual Machine Monitor) driver, which provided the ability to utilize the features of the Intel 80386 processor to pre-emptively multitask MS-DOS apps. After around two years of work and four external alpha and beta releases, it would be renamed to Windows 2.0, first with version 2.01 released in September 1987 for OEMs, and 2.03 released three months later for retail consumers.

On 31 December 2001, Microsoft declared Windows 1.0 obsolete, and stopped providing support for the operating system.

System requirements[edit | edit source]

According to Microsoft, the following are the recommended system requirements for Windows 1.0 and its beta releases.[1] This table takes account retail versions; OEM versions will vary depending on the hardware that it was intended to be installed on.

Recommended system requirements
Name CPU RAM Storage Video adapter MS-DOS version Mouse
Windows 1.0 Development Release #5 8088 processor 512 KB One hard disk Hercules or CGA MS-DOS 2.00 to MS-DOS 3.00 Microsoft Serial Mouse
Windows 1.0 Alpha Release Hercules, CGA, or EGA
Windows 1.0 Beta Release 256 KB
Windows 1.01 and 1.02 MS-DOS 2.00 to MS-DOS 3.10
Windows 1.03 320 KB MS-DOS 2.00 to MS-DOS 3.20
Windows 1.04 Hercules, CGA, EGA, or VGA[a]

Compatibility[edit | edit source]

Windows 1.0 does not officially support MS-DOS versions above MS-DOS 3.x due to a bug in the logo code that does not accept MS-DOS versions outside of 2.x and 3.x. All versions of Windows 1.0 will crash on startup on MS-DOS 4.00 and above if SETVER is not run on WIN100.BIN to report a MS-DOS version between 2.00 and 3.31. It is additionally not compatible with Multitasking MS-DOS 4 versions based on build 6.7 due to kernel-level incompatibilities with DOS, and only works on the November 1986 OEM build because the kernel patches Windows during boot in order to force it to run correctly.

Technical implementation[edit | edit source]

Windows 1.03's WIN.CNF (the launcher part of WIN.COM) checks for precisely 0x3500 x86 paragraphs, or 217,088 (0x35000) bytes, contiguously available for use using DOS memory allocation functions (it attempts to allocate the whole address space, returns what DOS actually gives it and then compares it against 0x3500)

Slow boot[edit | edit source]

By default, the Windows Setup combines core system libraries, drivers and font into two data blobs named WIN100.BIN and WIN100.OVL, which are used to decrease the boot time.

Windows can be forced to load each library and driver individually with a configuration known as "slow boot". This can be achieved by carrying out the following steps:

  1. Copy all files from the Setup and Build disks to a directory.
  2. Replace KERNEL.EXE with the debug kernel that is distributed with the SDK. (The retail kernel does not support slow boot, unlike Windows 2.x.)
  3. Select the keyboard, mouse and display drivers and rename them to KEYBOARD.DRV, MOUSE.DRV and DISPLAY.DRV, respectively.
  4. Rename LOFONTS.FON (for low resolution display adapters, such as the CGA) or HIFONTS.FON (for higher resolution display adapters, such as EGA or Hercules) to FONTS.FON.
  5. Rename the grabber file (.GRB) and logo file (.LGO) that matches the selected display driver to DISPLAY.GRB and DISPLAY.LGO, respectively.
  6. Create a dummy WIN100.OVL file.

After following the above steps, Windows can be launched by executing KERNEL.EXE directly instead of WIN.COM.

Easter egg[edit | edit source]

"The Windows Team" Easter egg in Windows 1.01

Windows 1.xx and newer versions include an Easter egg, which shows a scrolling list of people that were involved with the development of Windows alongside a "Congrats!" button. Double-clicking the list box also changes the background of the Easter egg window to tiled smiley faces.[2] Windows 2.0 also contains a similar version of this Easter egg. The sequence for triggering the feature depends on the version:

  • 1.xx: Press Alt+⇧ Shift+Esc+Enter.[3]
  • 1.01 and later: Hold Alt and then Esc, release Alt and then Esc, press Esc twice and then press Backspace.[4]

The credits are stored as encrypted data appended to the end of bitmap 1 in USER.EXE, which contains the smiley face used in the Easter egg. The contents of the credits changed on multiple occasions throughout the version's lifetime – the original variant in Windows 1.xx included 20 names in the so-called "The Secret List". The list was later renamed to "The Windows Team" in Windows 1.01 and expanded to 36 names. Windows 1.04 then almost doubled the list's length, bringing it to 66 names total.

List of known builds[edit | edit source]

Multiplan-like demos[edit | edit source]

Later demos[edit | edit source]

Development releases[edit | edit source]

Pre-release[edit | edit source]

Early OEM release[edit | edit source]

Retail release[edit | edit source]

1.01[edit | edit source]

1.02[edit | edit source]

1.03[edit | edit source]

1.04[edit | edit source]

Notes[edit | edit source]

  1. VGA support only included in the IBM OEM release.

References[edit | edit source]

  1. Windows Version History, Microsoft Support. 19 July 2005. Archived from the original on 7 November 2006.
  2. Lucas Brooks on Twitter
  3. Joey Beattie on Twitter
  4. Lucas Brooks on Twitter