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. Although the documentations of this build recommend that you use a Compaq 386/486 system, any 386/486 system will work generally fine, assuming that you have a proper setup.

Architectural differences
This build has several interesting architectural differences from most 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.

Service Control Manager
The Service Control Manager is statically linked into each service executable rather than being a standalone exectuable file as it is in most later builds.

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.

Super VGA support
On compatible video cards it is possible to achieve 800x600 resolution with 16 colors by replacing the default  driver in  ¨with   found in the same directory and rebooting. So far, this has been confirmed to work with Video 7 1024 and Trident TVGA8900D emulation in 86Box.

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 kernel 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.

User accounts
The README implies that this was one of the earliest builds to have any semblance of user security implemented, and this is evident by the extremely rudimentary nature of the user account system. While privileged and nonprivileged users are implemented, they only affect usage of a few commands, and you can simply check a checkbox in order to get administrative privileges. The readme also advises you to log in as the SYSTEM account - which has no password. Indeed, there are only four security-related exports in the kernel, compared to NT 3.1's eighteen.

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.

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.
 * Task Manager does not start.
 * Mouse has a high chance of not working on this build, however the Microsoft InPort mouse tends to work best.
 * OS/2 apps may hang upon launch.

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.