Windows 1.0 Alpha Release

Windows 1.0 Alpha Release is a pre-release build of Windows 1.0 compiled on 31 January 1985. It is the first leaked build to support cooperative MS-DOS applications. Although visually similar to Development Release builds, internally it is closer to the final Windows 1.0. It is the last leaked build (not the last known build) to include SDK components such as source code samples, libraries and development utilities.
Bob Richmond, who during the time period of Windows 1.0 development was an employee of RM, wrote on his blog in 2010 that "a beta release of Windows 1[.0]"Richmond, Bob. My first Home PC - recollections of the RM Nimbus PC-186, Journal of Total Obscurity. 12 August 2010. (a later post revised this to "pre-Beta"Richmond, Bob. Windows: The 25th Anniversary, Journal of Total Obscurity. 1 November 2010. after he referenced his surviving notes from the time) for the RM Nimbus PC-186 was compiled for and demonstrated at BETT in January 1985 as part of the system's launch. That build, although most likely no longer in existence, would be close to this one.
This build was uploaded to the BetaArchive FTP on 19 September 2008.https://www.betaarchive.com/forum/viewtopic.php?t=5640
== System requirements ==
WININST.BAT lists the hardware and software requirements during installation:
 The following equipment is required:
 
 o IBM XT or AT
 o 512 K memory.
 o Floppy disk configured as DRIVE A:.
 o Hard disk configured as DRIVE C:.
 o IBM Color graphics card, Hercules Graphics Card,
 or EGA graphics card with monochrome monitor
 o External console connected to COM1: ( debugging ).
 o Microsoft mouse ( bus or serial ) or mouse with
 Microsoft compatible mouse driver (mouse.sys)
 
 The following software is required:
 
 o MS-DOS 2.x or 3.0
== Installation ==
Much like in Development Release #5, installation is done with a batch file, WININST.BAT, that must be copied to your hard drive and started there. Follow the on-screen instructions, when you reach the display adapter selection screen, choose the display adapter you're using (either CGA, Hercules or monochrome EGA). The batch file will start Windows for the first time, to start it later you need to run the following commands:
PATH %PATH%;C:\WINDOWS\BIN;C:\WINDOWS\TEST
WIN
== Changes ==
Alpha Release is more like a new operating environment compared to DR5, as almost all Windows components were rewritten prior to this build. However, visually this build is almost identical to DR5, except some system bitmaps received minor updates. The up-arrow cursor seen in the Fall COMDEX 1983 build also returned for unknown reasons.
=== Visible changes ===
This build is the first to support fast boot, .PIF files and the redesigned Windows API. Installation is done via a batch file named WININST.BAT, similar to DR5. The only difference is INSTALL.EXE is launched after the installation to create the main WIN100.EXE executable containing all core Windows components and device drivers. Along with fast boot, a new Windows launcher—WIN.EXE—was introduced to replace the old MSWIN.BAT. Likely due to the early implementation of fast boot, the Windows Kernel does not accept filenames as arguments, meaning it is not possible to start applications automatically by passing arguments to WIN.EXE or KERNEL.EXE. It is, however, possible to specify a shell other than MSDOS.EXE by running KERNEL -<filename>, assuming slow boot is used.
=== API changes ===
Windows API changed to the extent that all applications written for Development Release builds of Windows must be rewritten in order to function properly, or even to compile. Most GDI functions are in alphabetical order when sorted by ordinals, indicating a lot of them were rewritten from scratch, maybe in 8086 assembly for speed improvements.
=== All discovered changes ===
* NE format received a major update
* MS-DOS stub updated
* Resources integrated into the executable
* Window classes and Input Translation Tables no longer used
* Message queue introduced
* OEM configuration data and system bitmaps now stored in the display driver
* Display and Cursor routines combined to become the display driver
* Bitmap, cursor and icon formats received a minor update
* Windows Old Application Support Module (WINOLDAP.MOD) introduced
* PIF Editor introduced
* Error handling improved
* Microsoft Windows module renamed to Windows User Interface
* Printer support added
* Font format updated
* Fast boot support implemented
* Monochrome EGA support added
* DOS mouse driver support added
* Debug symbol format changed to .SYM
* Microsoft Symbolic Debugger included
* Segmented Executable Linker (Link4x) introduced
* Minimal keyboard shortcut support added
== Development ==
=== Development goals ===
The earliest information regarding the development of this build currently available is Ray Ozzie's meeting notes with Microsoft. Included with the meeting notes is a copy of the Microsoft Windows Development Goals, from roughly the 13th of January:
Microsoft Windows Development Goals
=== Fast Boot ===
According to directory entries found in the slack space of various Windows 1.0 disks, MSWIN.BAT was last (known to be) modified on the 18th of January. MSWIN.BAT was the Windows loader prior to the implementation of fast boot and WIN.COM. This means fast boot support was added after the 18th of January. The appearance of INSTALL.MAP/INSTALL.SYM gives an indication that the work on fast boot started before the 23rd of January.
Directory entries
 ??????? EXE 31238 04-04-85 9:21:00a 3233 
 ?ELETED <DIR> 04-27-85 6:05:00a 5137 // deleted
 ?OMMAND COM 22042 08-14-84 8:00:00a 510 // deleted
 UPDSMALL BAT 345 01-29-85 1:05:08p 2202 
 ?INPLAY EXE 2053 01-23-85 6:00:38p 8750 // deleted
 ?INPLAY MAP 3018 01-23-85 6:00:38p 8752 // deleted
 ?INPLAY SYM 456 01-23-85 6:00:38p 8755 // deleted
 ?NSTALL MAP 11285 01-23-85 7:23:58p 8762 // deleted
 ?AIT CUR 270 01-15-85 10:02:32a 5187 // deleted
 ?NSTALL SYM 2540 01-28-85 7:46:00p 6402 // deleted
 ?EST 21616 01-16-85 4:53:16p 5197 // deleted
 ?ROSS CUR 270 01-15-85 10:03:18a 5208 // deleted
 ?LRBTN BMP 206 01-14-85 3:07:14a 6216 // deleted
 COPYPROT BAT 45 01-17-85 10:21:08a 810 
 ?HAPES EXE 4288 01-30-85 5:06:24a 3381 // deleted
 ?CONEDIT MAP 12867 01-24-85 4:37:04a 8842 // deleted
 
 ?RINTER PRO 264 01-24-85 9:09:54p 9806 // deleted
 ?OMM EXE 6053 03-19-85 5:13:20p 1562 // deleted
 ?OMM SYM 821 01-25-85 10:11:08a 6400 // deleted
 ?OMM MAP 4812 01-24-85 11:05:44a 9818 // deleted
 ?UNTITLE 0 01-24-85 11:05:44a 0 // deleted
 ?OUND MAP 3016 01-24-85 11:16:54a 9821 // deleted
 ?OUND SYM 454 01-25-85 10:15:24a 6401 // deleted
 ?UMP EXE 4800 01-24-85 12:41:52p 9834 // deleted
 ?RACK EXE 4816 01-30-85 5:03:20a 3395 // deleted
 ?E EXE 30358 01-05-85 11:18:38p 3989 // deleted
 ?OUSER BAK 33 01-26-85 6:30:10a 849 // deleted
 ?C EXE 32563 11-12-84 6:25:22p 4732 // deleted
 ?EW SAV 21616 01-24-85 4:33:42p 6322 // deleted
 ?OKPRO BAT 40 01-26-85 6:30:40a 850 // deleted
 ?SWIN BAK 17 01-18-85 1:29:20p 4405 // deleted
=== Copy protection ===
COPYPROT.BAT listed above may have something to do with copy protection, and it shows that copy protection for Windows was once considered, in early 1985.
=== Executable format ===
?E.EXE appears to be the NE (NEWEXE) program used to generate old Windows executables. This hints that the major NE format update happened after the 5th of January, as executables using the newer NE format must be generated by the Windows/Multitasking MS-DOS 4 Object Linker (LINK4X.EXE), not the NE program. Combined with the NE format changelog below, it is safe to assume that the "substantial .EXE format revision" was not used by the Windows team until the 5th of January, and most likely after the "resource definitions" addition by the Windows Lead Architect, Steve Wood.
NE format changelog
 /*
 * Title
 *
 * newexe.h
 * Pete Stewart
 * (C) Copyright Microsoft Corp 1984
 * 17 August 1984
 *
 * Description
 *
 * Data structure definitions for the DOS 4.0/Windows 1.0
 * executable file format.
 *
 * Modification History
 *
 * 84/08/17 Pete Stewart Initial version
 * 84/10/17 Pete Stewart Changed some constants to match OMF
 * 84/10/23 Pete Stewart Updates to match .EXE format revision
 * 84/11/20 Pete Stewart Substantial .EXE format revision
 * 85/01/09 Pete Stewart Added constants ENEWEXE and ENEWHDR
 * 85/01/10 Steve Wood Added resource definitions
 * 85/03/04 Vic Heller Reconciled Windows and DOS 4.0 versions
 * 85/03/07 Pete Stewart Added movable entry count
 * 85/04/01 Pete Stewart Segment alignment field, error bit
 */
== Enhancements ==
=== Switching drivers ===
This build includes a utility for installing different drivers, which runs at the end of installation. Normally you will be asked to choose the display driver to install, and by default you can choose between CGA, Hercules and Monochrome EGA. If you want to change drivers later, go to the C:\WINDOWS\INSTALL folder and run INSTALL C:\WINDOWS\TEST, then choose the new driver/drivers you wish to install. INSTALL.DAT contains a list of drivers/system files to copy to the WINDOWS\TEST directory, which may be modified to preinstall additional drivers/programs.
=== Running DOS applications under Windows ===
To make sure DOS applications work as good as they should under Windows, C:\WINDOWS\TEST must be added to the PATH system variable as well. This ensures the relevant PIF file in the TEST directory is found and used.
== Bugs ==
* The screen fails to clear automatically after quitting Windows when the EGA driver is used, most likely caused by the buggy EGA driver. Can be fixed by running the CLS command after quitting Windows or starting Windows using Beta Release's WIN.COM.
* Sometimes cooperative MS-DOS applications cannot run in terminal emulation (windowed) mode, due to missing .PIF files. Can be fixed by adding C:\WINDOWS\TEST to PATH.
* Cursor boundaries do not move with dialog windows. This is most likely a bug and if the dialog window is moved outside of the cursor boundary, dialog buttons will be out of reach. Most dialogs can be closed by pressing the key. key can be used if the dialog contains more than 1 button.
* Sometimes MS-DOS Executive does not start after booting into Windows, leaving the user with a blank desktop. This is due to wrong DOS version, hardware or incompatible drivers. Running KERNEL.EXE -MSDOS.EXE (slow boot only) may force MS-DOS Executive to load. (Note: This does not work in MS-DOS 3.0, use only PC-DOS 3.0 if you prefer to stick with DOS version 3.0)
* When using PC-DOS 3.0, opening COMMAND.COM within windows, and typing exit will lock up the system, requiring a full reboot to restore functionality to the computer
== Interesting features and finds ==
=== Use of the Shift key ===
To start an application in iconic mode, double-click it in MS-DOS Executive while holding down the key. Double-clicking a text file while holding down the key will cause a preview of the text file to be displayed on top of the Notepad icon.
Alpha Release Text Preview.png|Text preview
* To restore and maximize a minimized application at once, double-click the application's icon while holding down the key.
* To start a new instance of a running application, click and drag the application's window or icon to the desired place on the screen while holding down the key. Clicking the application's window title bar while holding down the key will create a new instance of the application vertically tiled with the previous one. Some applications cannot be started this way.
* To view a minimized application's window title, hover over the application's icon while holding down the key.
* To select 2 or more files at once in MS-DOS Executive, click the names of the files while holding down the key.
=== Drag and drop ===
* To move a file from one directory to another, simply drag and drop to another folder using MS-DOS Executive.
* It is not possible to drop the file anywhere outside of the MS-DOS Executive window. This means files can only be moved into subdirectories so it is not possible to undo the move using drag and drop.
=== Windows Paint ===
* USER.PRO associates .MSP files with PAINT.EXE.
* The file PAINT.H from the Windows 2.11 OEM Binary Adaptation Kit suggests that Paint was originally created around June 1984:
 *	Modification history:
 *		6/19/84 dhm	Created
 *		6/26/84 dhm	Moved constants from palette.h
 *		6/27/84 dhm	Added selection structures
 *		7/31/84 dhm	Went to single window format
 *		10/23/84 dhm	Changed mouse input to be above 256
* PAINT.EXE was present on the second installation disk at some point, but was deleted for unknown reasons.https://www.betaarchive.com/forum/viewtopic.php?t=40355 It can be undeleted using the UNDELETE command in later versions of MS-DOS. It appears to be identical to the version seen in photos from the May 1985 issue of French computer magazine Science et Vie Micro.
* A photo of Alpha Release or a similar build from the 1985-08 issue of Personal Computer World magazine proves that PAINT.EXE was deleted by Microsoft, as 151KB of free space indicates no PAINT.EXE on disk 2.
Alpha-demo.png|Photo from Personal Computer World magazine
Alpha-demo-re-creation.png|Re-creation using Alpha Release
=== Undocumented KERNEL.EXE argument ===
* As mentioned earlier, running KERNEL -<filename> allows the user to use a different shell, and Alpha Release is the only leaked build with this feature.
* MS-DOS Executive (MSDOS.EXE) is the only Windows application that can be started as shell.
=== Cursor inconsistencies ===
* The Hercules Graphics Card NORMAL cursor is different from the CGA/EGA NORMAL cursor.
* The Enhanced Graphics Adapter ICON cursor is different from the CGA/HGC ICON cursor.
=== Color support ===
Similarly to earlier releases, the Alpha Release internally supports color but only ships with monochrome drivers for CGA, EGA and Hercules. jb881122 has ported the 16 color VGA/EGA driver from the Windows 2.11 OEM Binary Adaptation Kit to this build, which makes it possible to use this build in color.https://www.betaarchive.com/forum/viewtopic.php?t=42774 Currently the ported driver suffers severe bugs, due to driver API changes between Alpha Release and Windows 2.11.
Windows1.0-Alpha-ColorDemo.png|Windows 1.0 Alpha Release running in color
== Gallery ==
Win1.00 Alpha action.png|First boot
ALPHA800.png|Demo
Alpha Release CGA Demo.png|Demo (CGA)
=== Included applications ===
Alpha Release Calculator.png|Calculator
Alpha Release Clipboard.png|Clipboard
Alpha Release Clock.png|Clock
Alpha Release Control Panel.png|Control Panel
Alpha Release Cube.png|Cube
Alpha Release Font Tester.png|Font Tester
Alpha Release Hello.png|Hello Windows
Alpha Release Icon Editor.png|Icon Editor
Alpha Release MapMode Application.png|MapMode Application
Alpha Release MS-DOS Executive.png|MS-DOS Executive (default shell)
Alpha Release Paint.png|Paint (removed by Microsoft)
Alpha Release Sample Font Application.png|Sample Font Application
== References ==
Category:Pre-release builds of Windows 1.0