XP/W2k3 x64 on Modern Hardware

Place holder

Place holder

Place holder

Slot holder



WinXP x64 only has ACPI HAL’s

Can you link the (x64) version of Daniel_K’s modded acpi.sys please? I can only find references to it in the XP 32 bit thread, but no mention of x64 and no download links. I’ve never experienced the BSOD associated with the original driver, but I also have a different chipset (Z170 vs your Z370, although with modified ACPI tables needed to support Coffee Lake CPUs). I’d like to have the ‘fixed’ acpi.sys in case I need it later on some new platform (and also out of interest, to disassemble and inspect the changes made).

This is my current setup, which I’ve just moved to my Z170 system due to no longer wanting to keep an old P55/Core i7 820 system around merely for the sake of being able to run XP:


I should note that I’m not using any of the AHCI drivers mentioned in this thread, but rather the official Intel RST 14.8.x drivers (due to TRIM support). The actual drivers are unmodified, but I’ve had to make substantial changes to the kernel to support the additional APIs required by newer RST versions (theoretically I should be able to use RST 16.x versions, although I have not yet tested these). Unfortunately, since this is based on the WRK sources, which were never released under a true open source license, I probably can’t share my patches without having a bunch of lawyers breathing down my neck. Similarly, the NVMe drivers are based on the OFA Community drivers with patches for NT 5.2. But I feel that these changes are not really significant enough to warrant uploading: my goal was to make XP x64 bootable from NVMe drives, not just read from and write to non-system drives, which is already possible with various other drivers also based on the OFA Community ones. I only ever managed to get this to (unreliably) work on an Intel 750 PCIe drive, which meanwhile has died. Samsung NVMe drives will produce a bugcheck 0x7B (INACCESSIBLE_BOOT_DEVICE).

One thing I’ve noticed compared to Linux and Windows 7 on this system is that the turbo boost clock of the Coffee Lake Xeon seems to max out at x42 (4200 MHz) under XP, while the other OSes can and do reach the maximum of x45 at times. I’m not too fussed about this since Xeons do not have an unlocked multiplier like Core K CPUs, so any boost is nice to have but can’t really be counted on. Furthermore of course running a Coffee Lake on a Z170 is a hack, and running a Xeon on a non-workstation/server board is a hack on top of a hack. So some irregularities are probably just down to that and not XP necessarily.


I can probably do this patch for you without much effort, but I’d need (complete, detailed) steps on how to reproduce the error first since I don’t have much experience slipstreaming XP setup files. The little experience I do have is all bad. That’s why I prefer to make disk images of an existing installation and just let Windows do the work of detecting and installing new devices when I "install" XP on another system by dd’ing the image to a new drive. Not the cleanest approach from a purist point of view, but in my experience by far the most practical. But if this patch can help to make the XP setup process work better in some way (or even just work for a start) then I’m willing to contribute. Since I assume that by "XPSP0" you mean the RTM version of XP x64, I’ll need some help getting my hands on this since the only official MS ISO I have already has SP1 integrated, which, while usually helpful, is probably not what you’re looking for. But if the error can be reproduced with the XP x64 SP1 setup, I can probably make the patch for that and then backport it to the SP0 version of WINNT.exe. Otherwise you will need to PM me some way of sourcing an RTM ISO of XP x64.



Here’s the link to the post with both the x86 and x64 variants of daniel_k’s modded ACPI.sys file: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (149)


Thanks. I see these drivers are based on Vista beta ones which will make it a bit harder to diff compared to XP, but I’m still interested in finding out what makes it so that I’ve never needed this patch so far. I do know that ACPI.sys triggers numerous asserts on checked builds at boot time by passing bogus addresses to the kernel, but I kind of doubt that’s related since it doesn’t affect the behaviour of "normal" (non-checked) builds.

@XPLives
Thanks for the PM with info on how to reproduce the 800b0100 "signature is invalid" error in setup. I’ve reproduced and investigated this using your suggested method (adding a newline to layout.inf), and the error is not actually caused by WINNT.EXE but by SYSSETUP.DLL. This file is in a cabinet file on the ISO, you can extract it with ‘expand -R SYSSETUP.DL_’ in /I386 or /AMD64 depending on the ISO bitness to get the uncompressed DLL.

Attached are patched 32 and 64 bit versions of SYSSETUP.DLL (recompressed again with ‘makecab SYSSETUP.DLL’) which will silently ignore mismatching catalog files and which won’t show the error message or abort the setup process if a catalog file fails verification due to file modifications. The downside is that you will get several of the following warnings during setup:

(click ‘Yes’ to continue)

…as well as three of these, all related to Terminal Server drivers:

(choose ‘Install the software automatically’ and then click ‘Yes’ on the next screen which will be another WHQL warning)

…and finally five of these one time after the installation has finished:

(click ‘Continue anyway’)

I could probably patch out these warnings as well, but that would make it so that anyone can install any unsigned driver without so much as a WHQL warning. I’m aware security on XP is already pretty much a joke, but personally I still prefer to at least get a notification so I know a driver is being installed. The current patch makes it so that setup can at least succeed instead of giving a fatal error.

The patched files are based on SP3/SP2 for x86/x64 respectively and are taken from the following ISOs:
1c735b38931bf57fb14ebd9a9ba253ceb443d459 en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso
cd9479e1dbad7f26b8bdcf97e4aa71cbb8de932b en_win_xp_pro_x64_with_sp2_vl_x13-41611.iso

The reason for using the DLLs from the latest official MS ISOs instead of the RTM versions is that based on my testing, using a newer version of SYSSETUP.DLL doesn’t prevent the older installers from working, but using an older version of SYSSETUP.DLL to install an SP2/SP3 ISO may lead to issues.



Just for others who stumble upon looking for the ACPI drivers click the link title below.

Modded ACPI Drivers Depot 2000 XP 2003 2009

Look for this file attachment:
DK_ACPI XP 2003 32-Bit and 64-Bit Z370 Z390 Coffee Lake MOD 10-10-2019.ZIP

Both versions inside:
32 folder for 32-Bit
64 folder for 64-Bit

Using zip format so can be opened without any need of 3rd party decompression software. XPP SP0 can also decompress this file. Windows 2000 requires WinZip.

@MattiWatti
Windows XPP SP0 SYSSETUP files for modding.

The SP2/SP3 patched files caused BSOD 7B for whatever reason.

XPPSP0 SYSSETUP ORIG.ZIP (371 KB)

@Mattiwatti




Thanks for the first attempt. I thought you might have pulled something off with the photos you shown. I just got a PM from FireKillerGR who also tested your SYSSETUP.DLL I think used an XP SP3 install and experienced BSOD 7B error as well.

I also tried swapping my SYSSETUP.IN_ file from SP3 and WINNT.EXE from SP3 and used your modified SYSSETUP.DL_ from SP3. Only things unchanged was using all SP0 related core setup files. Had to ignore a few .CAT files missing but again once it finishes GUI Stage 1 Setup and Reboots for preparation of First Desktop Boot into XP it gets BSOD 7B. Somehow the patched files are causing this issue somewhere. I don’t know how many steps were done in the patch maybe we should try patching one thing at a time and I will have to test each one to see where this error happens. But if you can patch the SYSSETUP.DL_ and SYSSETUP.IN_ files for XPP SP0 I uploaded here instead it would better for testing since the driver files I removed in the installer files had taken about 2 months or more of testing and redoing them for SP3 would take even longer which is why SP0 was chosen due to compact size and also the extra OS base memory gains compared to SP2/SP3.

Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware (2)
XPPSP0 SYSSETUP ORIG.ZIP

I got my installer to install XP down from start to finish in about 12 minutes. So patching it I might be able to try and shave off another huge chunk to get XP down to its smallest size.

I also did not yet see these Windows Logo prompts yet that you saw. It must be occurring in SP1 -> SP3 only.


I took a look at your hacked mod CPU.
https://ark.intel.com/content/www/us/en/…o-4-50-ghz.html
3.30 GHz Base
4.50 GHz Boost

I liked the fact you beat the 4 Core Limit with a Xeon. It’s also nice it’s lacking the iGPU which is useless in XP due to the driver issue.

Have you been able to use ECC Registered Server Memory on your Motherboard with the Xeon CPU?

As for the 4200 MHz Limit in XP. Have you tried checking the BIOS and setting CPU Core Ratio to 45? Some motherboards you can set to the max CPU Clock Speed in the BIOS. If in Windows 7 you are seeing it hit 4500 MHz and 4200 MHz in XP it’s possible this is an ACPI related issue and must use the BIOS to set it higher.

@XPLives ,@daniel_k ,@infuscomus

Can you recommend some PCI sound cards with solid 64 bit XP drivers?.
Or even USB one, if they don’t take up much cpu resources.
It is mainly for TV news or watching on Ryzen B350 board while
encoding x265 at the same time.

@cedar ,@daniel_k ,@infuscomus


On XP and 2003 64-Bit version I used a generic USB Audio device from eBay and it works fine with Windows drivers built in.

Also used HDMI Audio out on nVidia GT 710 no issues whatsoever.

But one I bought but have not tested yet that should support XP Pro 64-Bit via USB according to the site.
Sound Blaster X-Fi HD
https://support.creative.com/Products/Pr…laster+X-Fi+HD#

Legacy PCI cards did not test at the time. If Ensoniq PCI has XP Pro 64-Bit / 2003 64-Bit drivers written by Creative or modded by Daniel_K then he can tell you if it works.

@ XPLives

Thanks. I will check those as you suggested.


[quote="XPLives, post:19, topic:33943"] @Mattiwatti
Thanks for the first attempt. I thought you might have pulled something off with the photos you shown. I just got a PM from FireKillerGR who also tested your SYSSETUP.DLL I think used an XP SP3 install and experienced BSOD 7B error as well.
[/quote]
Noted, attached is the patched version of the SP0 x86 DLL you provided. I should note that I have some doubts re: this 'syssetup.dll-patch-somehow-causes-acpi.sys-to-BSOD' theory (notably: (1) I did test installing SP0 with the patched SP3 syssetup.dll and did not receive a BSOD, and (2) acpi.sys does not know and definitely does not care about syssetup.dll, and in my experience with XP's acpi.sys the BSOD was more likely down to it being 'that time of the month' for acpi.sys than any other reason), but as it stands the votes are currently 2 vs 1 against me, so in the interest of science I have done the patch as requested.

[quote="XPLives, post:19, topic:33943"]
I took a look at your hacked mod CPU.
https://ark.intel.com/content/www/us/en/...o-4-50-ghz.html
3.30 GHz Base
4.50 GHz Boost

I liked the fact you beat the 4 Core Limit with a Xeon. It's also nice it's lacking the iGPU which is useless in XP due to the driver issue.

Have you been able to use ECC Registered Server Memory on your Motherboard with the Xeon CPU?
[/quote]
I don't currently have the money to waste on (slower, more expensive) ECC memory to test this, and I also haven't found any posts by people who did, so I can't answer this for certain. But in general my answer would be that if I were building a system that actually required ECC memory, I would probably just invest in a slightly more expensive C236 (or similar) chipset board to get an officially supported Xeon setup, rather than pile a ton of hacks on a Z170 board BIOS :P 'Do as I say, not as I do' and all that...

[quote="XPLives, post:19, topic:33943"]
As for the 4200 MHz Limit in XP. Have you tried checking the BIOS and setting CPU Core Ratio to 45? Some motherboards you can set to the max CPU Clock Speed in the BIOS. If in Windows 7 you are seeing it hit 4500 MHz and 4200 MHz in XP it's possible this is an ACPI related issue and must use the BIOS to set it higher. [/quote]
Yes, 45 is what it's set to. For some reason this message seems to arrive better in Windows 7 and Linux than it does in XP. Though I should note that both 7 and Linux also seem to favour running at x42, with only the occasional spike to x44 or x45.

SYSSETUP.DLL-SP0-skip-sigcheck-x86.zip (343 KB)

@Mattiwatti



[quote="XPLives, post:19, topic:33943"] @Mattiwatti
Thanks for the first attempt. I thought you might have pulled something off with the photos you shown. I just got a PM from FireKillerGR who also tested your SYSSETUP.DLL I think used an XP SP3 install and experienced BSOD 7B error as well.
[/quote]
Noted, attached is the patched version of the SP0 x86 DLL you provided. I should note that I have some doubts re: this 'syssetup.dll-patch-somehow-causes-acpi.sys-to-BSOD' theory (notably: (1) I did test installing SP0 with the patched SP3 syssetup.dll and did not receive a BSOD, and (2) acpi.sys does not know and definitely does not care about syssetup.dll, and in my experience with XP's acpi.sys the BSOD was more likely down to it being 'that time of the month' for acpi.sys than any other reason), but as it stands the votes are currently 2 vs 1 against me, so in the interest of science I have done the patch as requested.

[quote="XPLives, post:19, topic:33943"]
I took a look at your hacked mod CPU.
https://ark.intel.com/content/www/us/en/...o-4-50-ghz.html
3.30 GHz Base
4.50 GHz Boost

I liked the fact you beat the 4 Core Limit with a Xeon. It's also nice it's lacking the iGPU which is useless in XP due to the driver issue.

Have you been able to use ECC Registered Server Memory on your Motherboard with the Xeon CPU?
[/quote]
I don't currently have the money to waste on (slower, more expensive) ECC memory to test this, and I also haven't found any posts by people who did, so I can't answer this for certain. But in general my answer would be that if I were building a system that actually required ECC memory, I would probably just invest in a slightly more expensive C236 (or similar) chipset board to get an officially supported Xeon setup, rather than pile a ton of hacks on a Z170 board BIOS :P 'Do as I say, not as I do' and all that...

[quote="XPLives, post:19, topic:33943"]
As for the 4200 MHz Limit in XP. Have you tried checking the BIOS and setting CPU Core Ratio to 45? Some motherboards you can set to the max CPU Clock Speed in the BIOS. If in Windows 7 you are seeing it hit 4500 MHz and 4200 MHz in XP it's possible this is an ACPI related issue and must use the BIOS to set it higher. [/quote]
Yes, 45 is what it's set to. For some reason this message seems to arrive better in Windows 7 and Linux than it does in XP. Though I should note that both 7 and Linux also seem to favour running at x42, with only the occasional spike to x44 or x45.



Thanks for patching the XPP SP0 SYSSETUP. I spent most of yesterday and today analyzing and comparing the installation results and have identified the problem.

Only time the BSOD 7B does not happen is using the original driver.cab unaltered.

When tampering with the driver.cab (adding files and possibly removing them) triggers some sort of driver enforcement error and possibly causing any drivers not signed to bomb out and not install which without any storage drivers being installed results in the BSOD 7B. Even the built in pciide.sys will bomb out when using the SATA IDE Compatibility mode if the driver.cab is modified which doesn't happen normally.

So I've put together 3 files that require patching that I believe are the source of the driver enforcement errors.

As for the BSOD 7B = this is an IDE / SATA driver issue not a BSOD A5 which is an ACPI issue.

Also I'm using an Ivy Bridge when doing these tests for simplification so there can never be a BSOD A5 ACPI error to happen on standard XP.

Attached will be the 3 files and order of importance. You can try patching the first file and I can do some testing to see if this fixes it. The other two files may have an impact on other signed drivers as well so all three may need to be patched.

rsaenh.dll
dssenh.dll
initpki.dll

Unfortunately there is a 6MB file upload size limit. I only managed to shrink the original driver.cab down to 72MB. But you can try modifying the driver.cab from the original SP0 yourself and add or replace pci.sys with the one from SP3 and then repackage it. Once the installation reaches the final desktop boot up it will bomb out with a BSOD 7B.

DRVSNSP0.ZIP (209 KB)

@XPLives

try editing hivesys.inf and disabling driver signing key for the 2nd phase? that might allow the driver to be installed.

@infuscomus


There was an extensive post I read on what you proposed but the outcome was Windows internally overrides this value again before rebooting to the first Desktop. I’m hoping MattiWatti or others can patch this out entirely. Later the original files could be copied back after it is fully installed if the user wished. Part of the reason to do this is the drivers that are modified lose their signing and won’t install and silently don’t notify you this happened. This is a problem for storage drivers and USB drivers.

@XPLives

There should be a way to do it,
the modified XP Integral Edition at zone62.com has found a way to do it, it never bugs me about driver signing.

Edit, sorry