How does the NT 3.5 beta source work? How can I compile it?
-
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?
Visual Studio only gives me an error log and idk what else to try so please help
Re: How does the NT 3.5 beta source work? How can I compile
try using an older version released around when nt 3.5 was released?
Re: How does the NT 3.5 beta source work? How can I compile
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.
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.
Re: How does the NT 3.5 beta source work? How can I compile
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.
God bless America.
Re: How does the NT 3.5 beta source work? How can I compile
Visual C++ 6.x is worth trying. I was going to try it with Windows 95 and 6.x but I'm lazy.
Re: How does the NT 3.5 beta source work? How can I compile
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 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.
Re: How does the NT 3.5 beta source work? How can I compile
That's good news. Did you need to adapt a lot of stuff or was it little more than copying the sources into NTOSBE?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.
(I assume you used Windows 10 32 bit, because there's no way MVDM wouldn't compile on a 64 bit system).
Re: How does the NT 3.5 beta source work? How can I compile
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)xelloss wrote:That's good news. Did you need to adapt a lot of stuff or was it little more than copying the sources into NTOSBE?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.
(I assume you used Windows 10 32 bit, because there's no way MVDM wouldn't compile on a 64 bit system).
- yourepicfailure
- 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
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.
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"
You will never tear me from the grasp of the Pentium M!
Re: How does the NT 3.5 beta source work? How can I compile
Hi. Yes, that was more or less my conclusion yesterday night (minus option C, which I didn't really consider!)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.
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...
Re: How does the NT 3.5 beta source work? How can I compile
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.
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.
Re: How does the NT 3.5 beta source work? How can I compile
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.Darkstar wrote:*snip*
- yourepicfailure
- 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
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.
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"
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
Thanks for all your help, everyone!