Windows 3.0

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 ==
Windows 1.0 and 2.0 were pure real-mode environments, constrained to 640 KB 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 Intel 80386 processor to allow running multiple DOS applications preemptively, was still limited to 640 KB collectively for all Windows programs, since Windows still ran inside of a singular "real-mode" DOS box. In 1988, Murray Sargent was working on an 80286 protected mode debugger, and David Weise later collaborated with him in a skunkworks project to get Windows/386 2.1 running under protected mode.Microsoft. Inside Out: Microsoft In Our Own Words. 9 October 2000. New York: Warner Books. ISBN 9780446527392. Weise showed off the finished proof-of-concept to Bill Gates and Steve Ballmer, and the project was approved to become the next major version of Microsoft Windows.
Microsoft distributed several releases of Windows 3.0 to independent software vendors throughout its development. The first release, build 3.0.14, was intended solely for developers to debug their existing Windows 2.x real-mode apps on Windows 3.0 to help test reliability with the newly-introduced memory manager. Protected mode did not 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. The new operating system proved to be a very widespread success accumulating over ten million copies sold, causing Microsoft to reconsider their future investment in OS/2, and change its strategy to focusing on Windows and developing a native 32-bit variant of the Windows API, which led to the collapse of Microsoft–IBM relations in 1991.
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 ==
=== APIs ===
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 ===
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 ===
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 ==
According to Microsoft, the following are the recommended system requirements for Windows 3.0.Windows Version History, Microsoft Support. 19 July 2005. Archived from the original on 7 November 2006. 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	Hercules, CGA, EGA, VGA or 8514/A	MS-DOS 3.10 and above 	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 ==
All builds of Windows 3.0 include an Easter egg.Lucas Brooks on Twitter 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 , , , , and 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 while holding , and included the actual credits data.
The credits list contain 118 names, one of which (rong) is repeated twice. MSFT, which is Microsoft's Nasdaq ticker symbol, is listed under a "special thanks" section. Unlike previous versions of Windows, whose Easter egg credits write out the names of the development team in full, the names listed in Windows 3.0's Easter egg are substituted by each team member's e-mail alias, most of which are formatted as the person's first name and last initial, with no space between them, all in lowercase.
== List of known builds ==
=== Pre-release ===
Build strings in the following section are given in the "1.xx" format, as is common in contemporary documentation.
=== Release Candidate ===
=== RTM ===
==== Far East ====
===OEM versions===
====Windows 3.0====
====Windows 3.0A====
====Windows 3.02====
====Windows 3.0B====
===Multimedia Extensions===
====Beta====
====RTM====
==References==
3