How does the NT 3.5 beta source work? How can I compile it?

Discuss Windows 2000, NT, XP and Windows Server 2000, 2003, SBS 2003.
Post Reply
CyndaquilDAC
Posts: 7
Joined: Sun May 24, 2020 7:30 pm

How does the NT 3.5 beta source work? How can I compile it?

Post by CyndaquilDAC »

Visual Studio only gives me an error log and idk what else to try so please help

Meow
Posts: 480
Joined: Mon Feb 03, 2020 5:28 am
Location: Earth

Re: How does the NT 3.5 beta source work? How can I compile

Post by Meow »

try using an older version released around when nt 3.5 was released?

xelloss
User avatar
Donator
Posts: 400
Joined: Sun Aug 18, 2013 7:26 pm
Location: Edinburgh, Scotland

Re: How does the NT 3.5 beta source work? How can I compile

Post by xelloss »

For starters, Visual Studio isn't really fit for compiling such a large project. NT 3.5 comes with its own build environment that you have to invoke from the command line.
Secondly, as already pointed out, you can't just take 30 year old source code and feed it to a modern C/C++ compiler.
Lastly, this highly specialized source code also uses various custom versions of C/C++ compilers, along with various other tools that aren't normally available as part of Visual Studio.

The good news is that most, if not all of the required build tools seem to have been leaked along with the NT 3.5 source code. However, it isn't as easy as typing "build" on the command line: you have to figure out how the build environment works, what the various dependencies are, where it expects to find the various build tools, and a lot of other stuff.

My gut feeling is that since people managed to compile the old, incomplete NT4 leak, getting NT 3.5 to compile should be very possible. Maybe somebody who understands the NT4 build environment can even compile NT 3.5 with little effort. Or otherwise, people who have this interest should just move to some appropriate discussion area and share their experiences.
Last edited by xelloss on Wed May 27, 2020 10:38 am, edited 1 time in total.

winuser
User avatar
Posts: 47
Joined: Mon Mar 31, 2014 9:04 pm
Location: United States of America

Re: How does the NT 3.5 beta source work? How can I compile

Post by winuser »

You don't use Microsoft Visual Studio. Instead you need a copy of the build tools in the source directory (Microsoft C/C++). You need to have a proper environment set. This could be done using the .cmd files from source package.
Image
God bless America.

Visual917
User avatar
Posts: 36
Joined: Mon Jun 02, 2014 12:07 am
Location: Turkey

Re: How does the NT 3.5 beta source work? How can I compile

Post by Visual917 »

Visual C++ 6.x is worth trying. I was going to try it with Windows 95 and 6.x but I'm lazy.
Image

Designed for Microsoft Windows 98®

Raritize
User avatar
Posts: 324
Joined: Wed Apr 16, 2014 6:34 pm

Re: How does the NT 3.5 beta source work? How can I compile

Post by Raritize »

xelloss wrote:For starters, Visual Studio isn't really fit for compiling such a large project. NT 3.5 comes with its own build environment that you have to invoke from the command line.
Secondly, as already pointed out, you can't just take 30 year old source code and feed it to a modern C/C++ compiler.
Lastly, this highly specialized source code also uses various custom versions of C/C++ compilers, along with various other tools that aren't normally available as part of Visual Studio.

The good news is that most, if not all of the required build tools seem to have been leaked along with the NT 3.5 source code. However, it isn't as easy as typing "build" on the command line: you have to figure out how the build environment works, what the various dependencies are, where it expects to find the various build tools, and a lot of other stuff.

My gut feeling is that since people managed to compile the old, incomplete NT4 leak, getting NT 3.5 to compile should be very possible. Maybe somebody who understands the NT4 build environment can even compile NT 3.5 with little effort. Or otherwise, people who have this interest should just move to some appropriate discussion area and share their experiences.
Very easy to get compiled on Windows 10 for me by porting it to NTOSBE. Was curious, but didn't really look into it any more than that since I don't really care all that much.

xelloss
User avatar
Donator
Posts: 400
Joined: Sun Aug 18, 2013 7:26 pm
Location: Edinburgh, Scotland

Re: How does the NT 3.5 beta source work? How can I compile

Post by xelloss »

Raritize wrote:Very easy to get compiled on Windows 10 for me by porting it to NTOSBE. Was curious, but didn't really look into it any more than that since I don't really care all that much.
That's good news. Did you need to adapt a lot of stuff or was it little more than copying the sources into NTOSBE?
(I assume you used Windows 10 32 bit, because there's no way MVDM wouldn't compile on a 64 bit system).

Raritize
User avatar
Posts: 324
Joined: Wed Apr 16, 2014 6:34 pm

Re: How does the NT 3.5 beta source work? How can I compile

Post by Raritize »

xelloss wrote:
Raritize wrote:Very easy to get compiled on Windows 10 for me by porting it to NTOSBE. Was curious, but didn't really look into it any more than that since I don't really care all that much.
That's good news. Did you need to adapt a lot of stuff or was it little more than copying the sources into NTOSBE?
(I assume you used Windows 10 32 bit, because there's no way MVDM wouldn't compile on a 64 bit system).
For MVDM, you can use the 16-bit tools on a x64 system as long as you use a wrapper for them (see https://github.com/cracyc/msdos-player)

yourepicfailure
User avatar
Donator
Posts: 1317
Joined: Mon Jul 23, 2012 9:40 pm
Location: Lufthansa DC-10

Re: How does the NT 3.5 beta source work? How can I compile

Post by yourepicfailure »

Essentially, to compile the code there are three ways to go about this:

A) NTOSBe
Fairly straightforward once you set the variables right. However you need to refactor the code as well as convert all references from i386 to x86. And with big code like this, good luck. In addition, I still haven't figured out how or even where build logs are stored. Not to mention, the refactoring is based on NT5.2, which would be great if we had at least a source tree to help figure out how to refactor the entire codebase for NTOSBe. Correct me if I'm wrong.
B) The "Sizzle" environment from old-src OpenNT. Luckily the tools folder is contained in the drive root, so you'd copy the developr folder, tools folder from root, and the oak/bin in the public folder. But some of the tools are not compatible. However, I did manage to compile much of the build tools with this method to replace.
C) Get the NT 682 sdks and grab the build tools from that, attempt to set variables to a folder containing them, and try to get the original razzle environment. Not recommended. Ever see those old screenshots of betas of NT3.1 that say NTX86BLD? Yeah, for starters NTX86BLD is the username, So you'd have to make that as your user. Or some variables will invalidate.
I did this on purpose to confuse you. Don't try this route.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Image
You will never tear me from the grasp of the Pentium M!

xelloss
User avatar
Donator
Posts: 400
Joined: Sun Aug 18, 2013 7:26 pm
Location: Edinburgh, Scotland

Re: How does the NT 3.5 beta source work? How can I compile

Post by xelloss »

yourepicfailure wrote:Essentially, to compile the code there are three ways to go about this:

A) NTOSBe
Fairly straightforward once you set the variables right. However you need to refactor the code as well as convert all references from i386 to x86. And with big code like this, good luck. In addition, I still haven't figured out how or even where build logs are stored. Not to mention, the refactoring is based on NT5.2, which would be great if we had at least a source tree to help figure out how to refactor the entire codebase for NTOSBe. Correct me if I'm wrong.
B) The "Sizzle" environment from old-src OpenNT. Luckily the tools folder is contained in the drive root, so you'd copy the developr folder, tools folder from root, and the oak/bin in the public folder. But some of the tools are not compatible. However, I did manage to compile much of the build tools with this method to replace.
C) Get the NT 682 sdks and grab the build tools from that, attempt to set variables to a folder containing them, and try to get the original razzle environment. Not recommended. Ever see those old screenshots of betas of NT3.1 that say NTX86BLD? Yeah, for starters NTX86BLD is the username, So you'd have to make that as your user. Or some variables will invalidate.
I did this on purpose to confuse you. Don't try this route.
Hi. Yes, that was more or less my conclusion yesterday night (minus option C, which I didn't really consider!)
I guess if Raritize managed to use NTOSBE, that's the best route, but it doesn't look all that trivial, because I don't think the refactoring needed was ever documented...

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: How does the NT 3.5 beta source work? How can I compile

Post by jimmsta »

The ancient Razzle buildchain is in the leak - hardcoded values to enlist your machine for different projects on servers internal to the NT build team are plentiful. I think it may be possible, however, to alter the many scripts to get it working without trying to ask non-existent servers for help.
The MIPS and Alpha compilers are in there too. I don't believe the PPC compiler is, however, as that was still under development until NT 3.51.

There's a lot of documentation and historical information hidden in this leak. Getting it built shouldn't be a top priority - there's lots of files dated 1990-91 detailing plans for the NT 1.0 release, let alone NT 3.5.
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

x010
Staff
Posts: 1311
Joined: Thu Jun 13, 2013 4:46 pm
Location: Leaderboard
Contact:

Re: How does the NT 3.5 beta source work? How can I compile

Post by x010 »

Darkstar wrote:*snip*
It does not matter whether you get it by PM or not, but requesting source code in the first place is against the forum rules and is typically grounds for an immediate warning. Please be careful about this in the future. This also applies to all users.

yourepicfailure
User avatar
Donator
Posts: 1317
Joined: Mon Jul 23, 2012 9:40 pm
Location: Lufthansa DC-10

Re: How does the NT 3.5 beta source work? How can I compile

Post by yourepicfailure »

For me, the only reason I ever wanted NT3.x code was to study the difference between user-mode and kernel-mode GDI and how Microsoft performed the change.

And I received that knowledge.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Image
You will never tear me from the grasp of the Pentium M!

CyndaquilDAC
Posts: 7
Joined: Sun May 24, 2020 7:30 pm

Re: How does the NT 3.5 beta source work? How can I compile

Post by CyndaquilDAC »

Thanks for all your help, everyone!

Post Reply