Windows NT 3.1 build 196

Windows NT 3.1 build 196.1 is an early build of Windows NT 3.1 from September 1991, and is an "experimental pre-release development kit" build. On 20 September 2018, a disc scan of this build was posted on BetaArchive by member ReflectiaX. The build was then leaked on 18 December 2020 on the BetaWiki Discord server.

Architectural differences
This build has several interesting architectural differences from later builds of Windows NT.

OS2LDR
The bootloader is a very early version of NTLDR, calling itself OS2LDR.NT - this is a reference to the NT OS/2 project, which later became Windows NT after the IBM-Microsoft split. It identifies as "NT-386" - probably signifying an i386 build of NT rather than the MIPS version, with the bootloader itself identifying as "PDK Bootloader v1.9" with a 1990 copyright date. Per the README, it is one of the earliest versions of NTLDR to support a (albeit rudimentary) dualboot configuration, with both DOS (3.3+)/NT and OS/2 (1.21/1.3)/NT configurations being supported

PE Format
This build uses an even earlier version of the Portable Executable format than the Windows NT 3.1 1991-10 build, resulting in executables built for this build of Windows NT completely failing to start on newer builds of the OS; this also results in disassembly tools such as IDA Pro failing to disassemble the file, making analysis significantly more difficult.

Registry
The registry does not exist in hives as it does in almost all later NT builds; instead individual registry keys are represented as folders in the C:\REGISTRY\ folder, with keys being files within those folders.

Static linking
Many components that would later be individual kernel-mode (or even user-mode) components are statically linked into NTOSKRNL in this build. This includes the HAL, several boot-critical drivers, including the FAT16 filesystem support code, and a rudimentary version of NTVDM that only supports real-mode DOS apps.

Setup
The setup process, compared to later releases of Windows NT 3.1, is simplistic and requires little to no user input. It is also not available as a graphical user interface, and is instead a batch file. Requiring either OS/2 1.2x-1.3 or MS-DOS 3.1 and later, you are to launch SETUP.BAT from the installation contents. There are a couple parameters that can be added to SETUP.BAT, as the installation process won't go by without any parameters. Although all you need to do is add a parameter indicating what architecture to install (i386 or MIPS, however MIPS is not complete during this stage of development) there are a few extra parameters that you can add, including the following: setup [system] {mstools} {newdbg} system: I386 or MIPS; MIPS is not complete mstools: Win32 development files newdbg: OS/2 development debugger After running setup, it should copy all of the files required onto your hard drive and a few other tasks. Once done, you can reboot the system, where you will be taken to a dualboot menu, allowing you to boot into either Windows NT (via pressing N) or the previous operating system, either being DOS or OS/2. Pressing N on the keyboard will instantly take you to this build's boot screen.

Booting
If the installer for this build finds that the bootloader has been stored in non-contiguous blocks after installation, it will hang upon booting into Windows NT. You'll have to re-install Windows NT if this is the case.

CTRL-ALT-DEL
While the readme included with this build claims that CTRL-ALT-DEL has been newly implemented and is now functional in this build, it will instead perform random actions, at least in 86Box. These actions depend on the application.

General usage

 * At least Notepad in this build does not support the Select All keyboard shortcut.
 * Creating a new file in Notepad may result in garbage being placed inside the "empty" text file.
 * Files may randomly not appear in File Manager.
 * Using a drag and drop operation (presumably DDE) will crash the system.
 * This build is generally unstable, and can easily hang on certain tasks. It can be as simple as launching an application, or even leaving the system alone for a couple of seconds.
 * On 86Box, this build will typically freeze after 15 to 30 minutes of use with 16 MB of RAM with a 386SX/40. This may be due to a memory leak, but this has not been empirically tested at this time.

Documentation
A README.TXT document is included inside the installation contents, which contains information about certain things, such as how to install this build and new features compared to the previous build. The README's contents:

OS/2 subsystem
While the readme included claims that the OS/2 subsystem is not included in this build, it is immediately obvious among inspection of system files that the OS/2 subsystem is present in its entirety, being seemingly based on an early version of OS/2 2.0.

Naming
This build identifies itself with several different names in several different places; this build identifies as NT 1.0 in NTUSER.CFG, "NT 32-bit Windows" on the desktop watermark, "NT-386" (with "NT-MIPS" being the MIPS equivalent) while booting, and "Windows NT Version 3.2" in Command Prompt.