Windows 1.0 Development Release 5

Windows 1.0 Development Release 5 is a pre-release build of Windows 1.0. This build is the fifth and the final in the *Development Release* series of Windows 1.0, intended to help application developers design and develop their applications to work with Windows. According to INSTALL.BAT, it was compiled on 10/31/1984 and likely released in the following weeks in 11/1984. It is the earliest available build of Windows so far 5/2023, but earlier releases are known to exist in private collections.

By default, this build is installed to C:\WINDOWS\TEST, with development tools in C:\WINDOWS\BIN. Also included are several mockup apps, namely Chart, Graph, PPDemo, Sample and Template, along with their source code. The overall UI design was not finalised yet, which can be clearly seen in dialogs - some, like the standard Windows dialogs, use a menu bar rather than OK and Cancel buttons, while custom dialogs tend to look completely different.

This build was uploaded to the BetaArchive FTP on 9/19/2008 1.

## System requirements

According to INSTALL.BAT (Things in brackets are the things to choose in 86Box emulator):

* IBM AT, or IBM XT (8088, Generic XT Clone)
* 512 Kb of RAM (640Kb)
* Floppy disk configured as Drive A:\ (5.25" 360k x2)
* Hard disk configured as Drive C:\ (PC/XT XTIDE controller, 10Mb 615 2 17)
* CGA (CGA)
* Console connected to COM1
* Microsoft Bus Mouse or Microsoft Serial Mouse (Microsoft Serial Mouse)
* System timer
* MS-DOS 2.x or 3.0

## Installation (86Box)

1. Create a VM with the hardware configuration shown above.
2. Insert a MS-DOS 2.11 boot disk in the 1st floppy drive.
3. Type in fdisk in MS-DOS. Choose option 1.
4. After it restarts, type in format C: in MS-DOS.
5. After it formats, type in sys C: to transfer the MS-DOS disk to the 10Mb hard disk.
6. Restart the machine.
7. After it restarts, insert the 1st disk of Development Release 5 into the 1st floppy drive.
8. Type in copy A:\INSTALL.BAT C:\.
9. Type in C:\INSTALL.BAT
10. When it says "Erasing all files from \lib directory" type y. (Keep typing it)
11. When it copies all the files from disk 1, put in the 2nd disk of Development Release 5 into the 1st floppy drive. Do the same with the 3rd disk.
12. When it is doing copying, restart the machine.
13. Type path C:\windows\bin.
14. Type cd windows\test.
15. And finally, type in mswin. (For every reboot, do steps 13-15)

## Changes from Developer Release 4

### Executable format

The executable format has been updated - the extension has also been changed from .MOD to .EXE. This is evidenced by the `NEWEXE.H` file present in the Windows 1.x SDK, 2.11 OAK, and 3.1 kernel code present in the Windows NT 3.50 build 782.1 code. Format revisions were made on 10/17 and 10/23/1984 between the compilation dates of DR4 and DR5.

Inspections of DR5's `MC.EXE` (the Module Compiler) suggest that the original Module format did not contain END\* segments (described as "Mark end of table for NEWEXE"), instead the number of entries in each table were recorded and used by EXETOMOD to determine the length of each group.

### New module instance procedure

NewProc, the procedure responsible for handling multiple instances (in apps that can have multiple data segments), was removed quite recently before this build. Its functionality was probably merged into LoadProc (as the hPrev parameter). References to it can be seen in `QANDA.DOC` and DR4's release notes.

### Memory management

Memory management has been rewritten in this build in order to reduce the very high (for the time) memory usage of previous versions (over 300Kb with several applications loaded according to the release notes for Development Release 5, completely shutting out many lower-end systems of the time).

### Initialisation procedure

The initialisation procedure has been reworked; the OS no longer uses the Module Booter (`MB.EXE`) to initialise and load startup applications from `USER.PRO` configuration file; instead, this task is performed by invoking a batch file that loads the Windows Kernel (`KERNEL.EXE`).

It is worth noting that symbols for the Module Booter still exist on the Development Release 5 disks, as `MB.SYM`, showing that `MB.EXE` was last compiled on 10/05/1984, several weeks prior to the compilation of this build. It suggests that MB was simply removed, not integrated into the kernel, as none of the functions from MB are in Development Release 5's kernel.

### Drivers

The display driver system has been revamped. Instead of simply having one display driver - likely for CGA - named `DISPLAY.MOD`, Development Release 5 introduces a new system where `.DIN` files are copied to `DISPLAY.EXE`, depending on which display adapter has been selected. The cursor routines for each driver are now stored in `.CIN` files and are copied to `CURSOR.EXE` during installation.

### UI controls

UI controls in the Control Manager (`CTLMGR.MOD`) in DR4 have likely been merged into `WINDOWS.EXE` (which became `USER.EXE` in later builds).

### Tools removed

Several tools and example applications have been removed from the distribution since DR4. These are:

* `CTLTEXT.MOD` - A test application for the Control Manager, which has likely been integrated into `WINDOWS.EXE` in this build.
* `DM.EXE` ("Module Displayer") - An application that creates listings based on `.MOD` files (became `NEWHDR.EXE`/`EXEHDR.EXE` in later builds).
* `DATAX.MOD` - An example application for data exchange.
* `EXE2MOD.EXE` - MS-DOS Executable to Windows Module converter (became `NE.EXE` in this build).
* `LINK.EXE` - Link version 2.44 is included with DR4's third disk; it is removed in this build.
* `MAKE.EXE` - Make is included on DR4's third disk, and is also removed in this build.
* `TASKDEMO.MOD` - A demonstration application for DR4's new multitasking system.
* `WDB.BAT` - A batch file used for debugging earlier builds. A document also shipped in earlier Developer Releases - `WDB.DOC` that has also been removed.

### README.DOC updates

`README.DOC` has been updated, as evidenced by the 9/06/1984 date of Development Release 5's version of the file, which is seven days after the compile date of the previous development release.

### Cursors

Several new cursors have been added to this build, as opposed to Development Release 4's two non-application-related cursors; `BULLSEYE.CUR` (a part of the Icon Editor source code) has additionally been shipped only as a compiled resource (inside `ICONEDIT.RES`) since Development Release 4.

## Citations

* 1 - BetaArchive
* 2 - WinworldPC, Windows 1.0 DR 5.