Windows 3.0

Windows 3.0
Version of Microsoft Windows
Logo
Screenshot
OS family16-bit Windows
Version3.0
Architecturex86 16-bit (PC/AT, PC-98, FM TOWNS, RM Nimbus PC-186)
Latest build3.0 (with Multimedia Extensions)
Release date1990-05-22
Support end2001-12-31
Replaces
Windows 2.x
Replaced by
Windows 3.1x

Windows 3.0 is a major release of Microsoft Windows that was released on 22 May 1990 as the successor to Windows 2.x and was the first truly popular version of Windows. It was a major improvement over Windows 2.x, featuring a completely revamped user interface with the Program Manager and File Manager, replacing the MS-DOS Executive in versions prior.

It was the last version to support 8088/8086 real mode (supporting up to 640 KB of RAM) as Windows 3.1 only offered "Standard mode" (up to 16 MB of RAM on 80286) and "386 Enhanced mode" (on 80386). Regardless of which mode is chosen, Windows 3.0 can't recognize more than 16 MB of RAM, even in 386 enhanced mode.

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

History[edit | edit source]

Windows 1.0 and 2.0 were pure real-mode environments, constrained to 640KB of memory (plus EMS and HMA) for all of the Windows applications combined, plus the Windows operating environment itself, limiting the complexity and number of programs that could be run. Even Windows/386, which took advantage of the virtual memory capabilities of the 80386 processor to allow running multiple DOS applications preemptively, was still limited to 640KB collectively for all Windows programs, since Windows still ran in one "real-mode" DOS box. In 1988, Murray Sargent and Ralph Lipe were working on a 80286 protected mode debugger, and attempted to get Windows 2.0 running in protected mode. After some work, they finally had a functional prototype. After this, they showed it off to Bill Gates and Steve Ballmer, and the skunkworks project was approved to become the next major version of Microsoft Windows.

Microsoft distributed several ISV releases of Windows 3.0 throughout its development. The first, build 3.0.14, was intended solely for developers to debug their existing Windows 2.0 real-mode apps on Windows 3.0, as it was very early and didn't yet include any of the new Windows 3.0 features other than protected mode. Protected mode didn't allow for some of the techniques common in real mode apps. Slowly, Microsoft released further SDKs, and developers both readied Windows 2.0 apps to be Windows 3 compatible and developed Windows 3.0 applications, causing Windows 3.0 to be a smash hit, in turn causing Microsoft to shift direction from OS/2 as being their future to focusing on Windows and develop a 32-bit version of the Windows API.

Initially, Microsoft was planning to continue using the Windows/286 and Windows/386 branding from version 2.0, but decided to drop it and merge all of the different variants into a single product that could boot in real mode, 16-bit protected mode, or 32-bit protected mode.

New features[edit | edit source]

APIs[edit | edit source]

Windows 3.0 adds numerous new APIs, including support for device-independent bitmaps (DIBs), previously seen in OS/2. The main API calls concerning DIBs are

  • SetDIBitsToDevice: Draws a DIB onto a device context at 1:1 scale
  • StretchDIBits: Draws a DIB onto a device context at variable scale
  • SetDIBits: Copies a DIB into a DDB
  • GetDIBits: Copies a DDB into a DIB
  • CreateDIBitmap: Creates a DDB and then copies a DIB into it

Microsoft Paint has been replaced with Paintbrush for this release, which allows editing of color bitmaps (DIBs) and is based on ZSoft's PC Paintbrush software, which was previously on MS-DOS and Windows 1/2.

Operating modes[edit | edit source]

Instead of Windows 2.x which had separate Windows/286 and Windows/386 versions, Windows 3.0 has three separate operating modes for different types of computers.

  • Real Mode: Windows/286-style, locked to 640K of memory plus HMA and EMS
  • Standard Mode: 80286
  • 386 Enhanced Mode: Windows/386 style

386 Enhanced Mode is improved over Windows/386 with the addition of the DOS Protected Mode Interface (DPMI), which allows DOS-extended protected mode applications to run under Windows, which now provides its own DOS extender. Previously, protected mode DOS applications didn't tend to play nicely with 386 operating environments. Additionally, Windows 3.0 allows the user to load their own virtual device drivers, rather than forcing them to be linked statically into WIN386.386 as with Windows/386 2.x.

32-bit Applications[edit | edit source]

Despite Windows itself (KRNL386.EXE) being a 16-bit protected mode executable running in the System VM, and 32-bit code being generally confined to either DPMI within DOS boxes or Ring 0 VxDs, there is support for running 32-bit code within the System VM. The 80386 processor delineates between 16-bit and 32-bit protected mode code by only a single bit in the segment descriptor, and it is possible via API calls to WINMEM32.DLL to allocate 32-bit data segments and alias them to 32-bit code segments, though with a few limitations. For one, since Microsoft didn't yet offer a 32-bit C compiler when Windows 3.0 was released, developers were required to program in assembly language. Additionally, pointers still had to be passed to and from the Windows API in 16:16 or 0:16 form.

A similar mechanism was used by Watcom's Win386 extender to support 32-bit Windows programs, though it has the advantage of being compatible with Watcom's 386 C compiler and doing most of the thunking and pointer conversion work for the programmer, giving a 32-bit C-callable interface to the Windows APIs.

System requirements[edit | edit source]

According to Microsoft, the following are the recommended system requirements for Windows 3.0.[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 Other
Windows 3.0 build 14 80386 processor 512 KB One hard disk with 3 MB of hard disk space EGA, VGA or 8514/A MS-DOS 3.00 to MS-DOS 3.31
Windows 3.00 8088 processor 1 MB One hard disk with 6 MB of hard disk space Hercules, CGA, EGA, VGA or 8514/A MS-DOS 3.10 and above
Windows 3.0 with Multimedia Extensions 1.0 80386 processor 2 MB One hard disk with 30 MB of hard disk space Sound card, CD-ROM drive

Despite recommending an 80386 processor, Windows 3.0 with Multimedia Extensions can be installed and run in the 8088 real mode and the 80286 Standard mode. However, most of the multimedia features will only function on 286 Standard or 386 Enhanced modes.

Easter egg[edit | edit source]

All builds of Windows 3.0 include an Easter egg.[2] In build 14, it was implemented the same way as in Windows 2.x, but the function for the credits window was stubbed out. Build 55 changed the Easter egg entirely to paint the background white with a plaintext string of the credits itself. In build 55, it could be activated with F8, F4, F8, F4, and Backspace in quick succession, but the background would have no text due to the credits string data being empty. The RC2 build changed the hotkey to require the user to type WIN3 then press Backspace while holding F3, and included the actual credits data.

List of known builds[edit | edit source]

Pre-release[edit | edit source]

Build strings in the following section are given in the "1.xx" format, as is common in contemporary documentation.

Release Candidate[edit | edit source]

Leaked build RC6

RTM[edit | edit source]

Far East[edit | edit source]

OEM versions[edit | edit source]

Windows 3.0[edit | edit source]

Windows 3.0A[edit | edit source]

Windows 3.02[edit | edit source]

Windows 3.0B[edit | edit source]

Multimedia Extensions[edit | edit source]

Beta[edit | edit source]

RTM[edit | edit source]

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