Windows 3.0 build 33

Windows 3.0 build 33 is a build of Windows 3.0 that was uploaded on 23 September 2022, along with some disks of its software development kit. The build was also mentioned in an internal Microsoft e-mail from August 1989, where it is noted that the build is slow due to extensive debugging hooks.

This is the last available build to use MS-DOS Executive as the default shell, as the next available build, build 55, already makes use of the newer Program Manager. However, references to the new shell are present in the available copy, and it is likely that it was merely omitted for this release. It is also the last known build of Windows 3.0 to feature a debug watermark before returning in debug compiles of Windows 3.1.

Installation
The available copy of this build does not include any installer, therefore it is necessary to manually copy the contents of the floppy disks to the system disk. This build will work with all files copied to the same directory, although it also supports the newer directory structure with the system files being present in the  subdirectory. In order to run Windows in one of the protected modes, the high memory area driver must be loaded into the system. For better performance, it is recommended to increase the total number of file handles. This can be done by adding the following lines to  and rebooting, assuming Windows is installed in  :

It is recommended to use a contemporary version of MS-DOS, such as 3.31 or 4.01, as they have shown to be the most stable and compatible with the build.

The system is preconfigured to use VGA, although it also ships with drivers for Video7 VGA (640x480 with 256 colors), IBM 8514/A, CGA, EGA (high resolution, i.e. 640x350 with 16 colors), Hercules and Compaq Portable Plasma graphics. The display driver can be changed manually by editing. The appropriate combinations of display driver, grabber, font and VxD files to use can be deduced from the included  and comments in.

Operating modes
Unlike build 14, which only supported an early 386 Enhanced Mode, this build can run in all three modes known from the final version, although slightly different names are used for them: The r suffix is used for the x86 real mode, while the letter p stands for protected mode.
 * Real Mode is known as 286r mode,
 * Standard Mode is known as 286p mode,
 * 386 Enhanced Mode is known as 386p mode.

The kernel executables for the two protected modes also use file names that are different from later builds, as the Standard Mode kernel is  and the 386 Enhanced Mode Kernel is. By build 55, they would be renamed to  and , respectively. The real mode kernel executable is, same as in the final version. All kernel executables print out a compatibility warning when executed.

By default, the system starts in 286r mode when invoking  with no parameters, unlike later builds that perform basic detection to determine the optimal mode. To launch the system in another mode,  must be invoked with a parameter. The  and   parameters, which are accepted by the final version, start Windows in 286p or 386p modes, respectively. Additionally, the  parameter was also found to launch Windows in 386p mode.

Boot logo
The build features a modified Windows 1/2 boot logo that features a Windows 3.0 wordmark in Helvetica Italic Black, the same font as used by the contemporary Microsoft logo. The version information was also replaced by a simple "We Believe in Magic!" label. However, it is only used when booting in 286r or 386p mode, as for an unknown reason  skips the logo code when starting in 286p mode.

When booting in 286r mode, the boot logo is immediately followed by the compatibility warning printed out by the kernel executable. In 386p mode, the logo stays on screen for a little longer, after which the screen resets back to text mode as the kernel starts executing and prints out the compatibility warning.

API changes
This build features a lot of API changes, while maintaining compatibility with apps developed for earlier version of Windows. This build is one of the first builds released to developers with the new MDI interface and icon/cursor/bitmap format, and one of the last to contain the built-in Error Table resource type, which was first seen in build 14. Some dynamic-link libraries now use the extension  instead of , however this build does not support loading files with the   extension.

Remnants referring to applications not included
While there is no setup application for this build, a leftover  information file can be found within the disks' contents.

The contents of  indicate that the Setup identifies as "Microsoft Windows/386 Version 3.00", and also supports installing a Windows runtime a la earlier versions of Windows.

The list of files installed by Setup include  and , as well as several utilities that were apparently removed from the pre-release SDK distribution (such as an early version of Solitaire and an unknown version of Terminal and Calculator).

As this build contains the new Control Panel (replacing the older one from Windows 1.x/2.x) and the Print Manager, a possible reason for these applications not being included is to hide as much of the new UI as possible from developers outside of Microsoft at this point (as this build was provided to developers under a very strict NDA according to contemporary accounts to test their applications under 286/386 protected mode Windows). Microsoft did something similar a few years later; in early 1993 a Milestone 3 build of Windows 95 was sent out to 40 software developers with the Cabinet application removed.

It is also possible the applications were not stable enough to send out to developers.

Bugs
This build is quite early and rough and exhibits numerous bugs:


 * Pasting text in MS-DOS prompt after minimizing results in a  message.
 * The boot logo is skipped when starting Windows in 286p mode.
 * With some graphics adapters, running MS-DOS applications windowed may result in a system crash. VGA, CGA and Hercules are known to work.
 * The Windows Help executable is broken, as a result of being linked to DOS libraries (which makes it an invalid DOS executable).
 * The Date & Time control panel applet's text is spaced out in 286p and 386p mode.

Graphics

 * The placement of the text on every single Button control is misaligned and is above where it should be.
 * Buttons in system error boxes incorrectly use the window background color under the button text.
 * Graphics rendering is glitchy with the 8514/A driver.
 * Character kerning is partially broken with the VGA driver. This is visible when typing into a text box, as characters move around slightly with each typed character.
 * On some graphics modes, the Date & Time control panel applet does not display correctly in 286p and 386p mode.

References to missing programs

 * Under rare circumstances, the kernel may attempt to launch the nonexistent Program Manager instead of the MS-DOS Executive during startup.
 * The Task List is not present and attempts to launch it will fail.