Windows NT 4 Source Compiled! version 2

Discuss Windows 2000, NT, XP and Windows Server 2000, 2003, SBS 2003.
Locked
Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

AyamiOoruri29 wrote:is there Service Pack for Windows NT 4.5?
No, not at this time. I will release service packs (QFE) later if it is deemed necessary.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Feature Addition Agenda:
1. Add support for large system partition - http://opennt.net/issues/37
2. Add x86 PAE support - no assignment
3. Add AHCI support - no assignment *see NOTE1
4. 64-bit kernel infrastructure - no assignment
5. AMD64 port of the kernel and other core system components - no assignment *see NOTE2

NOTE1: AHCI support is likely to be implemented using third party AHCI driver implementation.
NOTE2: AMD64 port was previously not planned, but I decided to do it as it is readily available and can be used as a testbed for the newly implemented 64-bit kernel infrastructure.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Update 2015-02-09:

SVN r288, Binary r9 ISO Setup:
http://ftp.opennt.net/ftproot/NT45/iso/ ... 88-br9.iso
ftp://ftp.opennt.net/NT45/iso/NT45Wks_i ... 88-br9.iso

CHANGELOG
1. ntmfc src42 (MFC 4.2) binary added
2. setupdd.sys BSOD issue fixed (locally built setupdd.sys is now used for setup)
3. ShellAbout dialog modified to display SVN rev number
4. SYSTEM hive updated to no service pack

Darkstar
User avatar
Donator
Posts: 908
Joined: Fri May 14, 2010 1:29 pm
Location: Southern Germany

Re: Windows NT 4 Source Compiled! version 2

Post by Darkstar »

What's up? I keep getting HTTP Error 502. Did MS find out and take your site down? ;-)
I upload stuff to archive.org from time to time. See here for everything that doesn't fit BA

the_dj21
FTP Access
Posts: 111
Joined: Sun Jul 20, 2014 7:33 pm

Re: Windows NT 4 Source Compiled! version 2

Post by the_dj21 »

Darkstar wrote:What's up? I keep getting HTTP Error 502. Did MS find out and take your site down? ;-)
The FTP is still available from what I see. No take down :D
Windows 10 will be the last version of Windows and after we will have Midori or an another kernel... I'm sure.

So on this new kernel "classic win32 x86 software" can't be used but with some trick, we can use WinRT software on this new kernel ?

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Darkstar wrote:What's up? I keep getting HTTP Error 502. Did MS find out and take your site down? ;-)
Redmine is a bit buggy and it terminated itself. I restarted the server and added auto restart as well this time.

winlego3210
FTP Access
Posts: 220
Joined: Sun Dec 23, 2012 9:56 am
Location: Singapore

Re: Windows NT 4 Source Compiled! version 2

Post by winlego3210 »

Stephanos wrote:AHCI support is likely to be implemented using third party AHCI driver implementation.
Should UniATA be the basis for AHCI? (even though not an assignment yet)
Image
x86 assembly: imperial
68k assembly: metric

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

winlego3210 wrote:
Stephanos wrote:AHCI support is likely to be implemented using third party AHCI driver implementation.
Should UniATA be the basis for AHCI? (even though not an assignment yet)
Yes, UniATA (with some modifications) is being considered as one of the options.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Update 2015-02-22:
1. x86chk NTOSKRNL is now functional. http://opennt.net/issues/44
2. Kernel event logging system was removed and is now considered obsolete (NOTE: this was, in fact, removed in the Windows 2000 kernel).
3. Text mode setup has been modified to detect disks larger than 8GB.

High Priority TODO:
1. Implement autofmt.exe- native mode file system format application based on IFS file system utilities
2. Modify text mode setup to invoke autofmt.exe for formatting the system drive
3. Add FAT32 support in fastfat.sys (NT 4 by default does not support FAT32)

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Release 2015-02-24 sr319

Checked build (x86chk) is now available. In order to install using ISO, you must create and format partition as FAT or NTFS before running the setup (this is not a stable build and format doesn't work at this time because I disabled it in the source code for working on the autofmt.exe implementation).

ISO Release
x86fre: http://ftp.opennt.net/ftproot/NT45/iso/ ... -sr319.iso
x86tst: http://ftp.opennt.net/ftproot/NT45/iso/ ... -sr319.iso
x86chk: http://ftp.opennt.net/ftproot/NT45/iso/ ... -sr319.iso

Binary Release
x86fre: http://ftp.opennt.net/ftproot/NT45/bin/ ... e-sr319.7z
x86tst: http://ftp.opennt.net/ftproot/NT45/bin/ ... t-sr319.7z
x86chk: http://ftp.opennt.net/ftproot/NT45/bin/ ... k-sr319.7z

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

sr319 x86chk Checked Build Screenshot

Image

yourepicfailure
User avatar
Donator
Posts: 1232
Joined: Mon Jul 23, 2012 9:40 pm
Location: Flying high in a DC10

Re: Windows NT 4 Source Compiled! version 2

Post by yourepicfailure »

Stephanos wrote:sr319 x86chk Checked Build Screenshot

Image
The Inet issues still up for fixing? I've managed to pin down the dang headers responsible, and I've sorted out most of the functions to the headers.
After that, which may take a few months depending on SDK's, function complexity etc., I'll need to have a quick chat with you about something.
"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 Pentium M.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

yourepicfailure wrote:The Inet issues still up for fixing? I've managed to pin down the dang headers responsible, and I've sorted out most of the functions to the headers.
After that, which may take a few months depending on SDK's, function complexity etc., I'll need to have a quick chat with you about something.
Yes, inet issue is still up for fixing. I haven't done any further investigation on it as there are tons of other issues to work on at this time and inet isn't all that important. I'm actually thinking about dropping the entire inet project as it is missing some of its major components and aren't that much useful to begin with. In essence, the inet project contains an archaic version of Internet Explorer and some other obsolete version of support DLLs.

os2fan2
User avatar
Donator
Posts: 1242
Joined: Sun Dec 30, 2007 8:12 am
Location: Brisbane, Queensland
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by os2fan2 »

Some interesting toys in the NT files.

Diamwrap (A shell for diamond.exe)
Rathole (This is a hole for your mouse cursor)
Reversi (The Win30 game compiled for Win32)
TC (tree copy: The DOS/OS2 version is in the Win95 OPK - most are here as well)

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Update 2015-02-27:

1. Setup now calls AutoFmt.exe to perform the OS partition format operation. For now, we are using autofmt.exe from NT 5.0 and it successfully formats NTFS partitions larger than 4GB during the setup (unlike the old setup, which initially formatted the OS partition as FAT16 and later converted it to NTFS, the new implementation formats the OS partition as NTFS from the beginning and no conversion- that is, autoconv, is required. Our own version of autofmt.exe is to be implemented.

2. Apparently NTLDR already implements the EDDS (INT0x13 extension) read routine in the STARTUP.COM and exports it in the ExternalServiceTable. The OSLOADER.EXE ARC firmware emulation subsystem, however, is only designed to use it for El Torito CD ROM access. I modified the OSLOADER BIOS disk driver open routine to use the EDDS service table instead of the CHS service table; while it succeeds to execute with the OS partition sized up to 4GB, it fails when the OS partition is larger than 4GB (this should not happen because we are performing an EDDS read). This issue is to be further investigated (for now, it simply hangs during boot, nothing is displayed). -NOTE: At first glance, it may seem like an issue with the NT 4.0 NTFS boot sector that only supports the CHS routines, but that is not the case because we are using autofmt.exe from NT 5.0 and it fully implements the EDDS routines (this has been verified through disassembly). Either way, this is the major issue to be investigated/resolved.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Update 2015-03-05:

1. The new NTFS boot sector I was working on got wiped with the failure of the RAMDrive where my local repository was stored. For now, we are just using NT 5 beta boot sector (it implements EDD support).

2. All known large disk booting failure points located and resolved. The previous hanging issue was due to the disk driver IOCTL_DISK_GET_PARTITION_INFO operation returning 0 for the hidden sector count; therefore, causing the NTFS boot sector to calculate an incorrect base sector value for the partition. This issue has been resolved by re-writing the BPB after AutoFmt is called.

3. NTLDR is modified to use EDDS services table by default for now. I'm currently implementing the EDD detection and disk parameter acquisition functions into the NTLDR, while partially refactoring it to support non-CD (El Torito) EDD access.

Darkstar
User avatar
Donator
Posts: 908
Joined: Fri May 14, 2010 1:29 pm
Location: Southern Germany

Re: Windows NT 4 Source Compiled! version 2

Post by Darkstar »

Stephanos wrote:...RAMDrive where my local repository was stored
OMG why would you do something like this??? :OD Developing on a RAM disk? Seriously??

Good thing is that you'll probably never do that again ^^
I upload stuff to archive.org from time to time. See here for everything that doesn't fit BA

hounsell

Re: Windows NT 4 Source Compiled! version 2

Post by hounsell »

Darkstar wrote:
Stephanos wrote:...RAMDrive where my local repository was stored
OMG why would you do something like this??? :OD Developing on a RAM disk? Seriously??
Much faster build times?

You can persist RAM Drives, so its not so bad. It's just prone to user cock-up.

Darkstar
User avatar
Donator
Posts: 908
Joined: Fri May 14, 2010 1:29 pm
Location: Southern Germany

Re: Windows NT 4 Source Compiled! version 2

Post by Darkstar »

Well, any SSD should be fast enough for NT4 compiles. Heck, even a regular SATA disk is good enough as everything will be in RAM Cache after the first compilation anyway.
I upload stuff to archive.org from time to time. See here for everything that doesn't fit BA

hounsell

Re: Windows NT 4 Source Compiled! version 2

Post by hounsell »

The difference between a regular HDD and an SSD for compiles is incredibly high, because it's invariably just hammering the drive with small reads/writes, which HDDs do very badly. Granted, in my own testing, I've found the difference between an SSD and a RAM drive to be far more marginal, but I guess over something as sizable as the NT4 codebase, even a 5% might be worth pursuing.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Darkstar wrote:Well, any SSD should be fast enough for NT4 compiles. Heck, even a regular SATA disk is good enough as everything will be in RAM Cache after the first compilation anyway.
I switched to a different RAM drive software and hopefully I won't experience this again (also I should commit my repo more often. It was actually over the weekend due to a power outage- the autosave disk image got corrupted after an unexpected shutdown. I should have committed the repo on Friday before going away).

The main reason I'm using a RAM drive is that I don't have an SSD (but have crapload of RAM), and it significantly improves the compilation speed compared to the out-of-box disk caching- especially when you have 16 cores.

yourepicfailure
User avatar
Donator
Posts: 1232
Joined: Mon Jul 23, 2012 9:40 pm
Location: Flying high in a DC10

Re: Windows NT 4 Source Compiled! version 2

Post by yourepicfailure »

Just letting you know, server down again...
"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 Pentium M.

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

yourepicfailure wrote:Just letting you know, server down again...
The hosting company has been quite unstable recently. It is now back up.

winlego3210
FTP Access
Posts: 220
Joined: Sun Dec 23, 2012 9:56 am
Location: Singapore

Re: Windows NT 4 Source Compiled! version 2

Post by winlego3210 »

Stephanos wrote:
yourepicfailure wrote:Just letting you know, server down again...
The hosting company has been quite unstable recently. It is now back up.
What terrible hosting.
Image
x86 assembly: imperial
68k assembly: metric

Stephanos
Posts: 297
Joined: Fri Dec 26, 2014 5:38 am
Contact:

Re: Windows NT 4 Source Compiled! version 2

Post by Stephanos »

Release 2015-03-07 sr383

Large disk support is now available. It is now possible to install NT 4.5 on disks larger than 7.8GB and create a system partition larger than 4GB (tested up to 100GB 1TB for now).

ISO Release
x86fre: http://ftp.opennt.net/ftproot/NT45/iso/ ... -sr383.iso
x86tst: http://ftp.opennt.net/ftproot/NT45/iso/ ... -sr383.iso
x86chk: http://ftp.opennt.net/ftproot/NT45/iso/ ... -sr383.iso

Binary Release
x86fre: http://ftp.opennt.net/ftproot/NT45/bin/ ... e-sr383.7z
x86tst: http://ftp.opennt.net/ftproot/NT45/bin/ ... t-sr383.7z
x86chk: http://ftp.opennt.net/ftproot/NT45/bin/ ... k-sr383.7z
Last edited by Stephanos on Sat Mar 07, 2015 8:39 am, edited 1 time in total.

Locked