Jump to content

Compiling ACPI v2.0 driver for Windows XP SP3 and Windows 2003 SP2 (x32/x64)


Recommended Posts


  • 3 weeks later...
Posted (edited)

Since July 10 (made public since July 11) I have managed to run Windows XP x64 SP2 (built using XP2ESD) from UEFI Class 3 on Coffee Lake Windows 11 laptop on winload.efi 16497 using FlashBoot 3.3n bootmgfw.efi and Windows 7 generic VGA drivers by modifying the contents of mounted devices and enum key.

I have used the XP2ESD build which contains the backported generic drivers and ACPI 2.0 drivers (from here) to get this to work.

So far I tested acpibit64crack.sys from Dietmar.

The fact that I managed to boot XP on such new hardware means that the ACPI 2.0 worked! Touchpad doesn't work because there aren't any working XP drivers for Intel Serial IO I2C Host Controller (9DE8 and 9DE9 in my case) to get the Elan1200 I2C Hid device to install using the backported generic touchpad driver from windows 8.

USB XHCI controller and USB 3.0 root hub work without problems so I can use external mouse (for the cursor) and USB wireless adapter (for internet).

I don't know if it's caused by ACPI incompatibility but I have tried to backport the Intel Serial IO I2C Host Controller from Windows 7 and it still wouldn't work even with Mov's ntoskrnl emu extender files!

9gHWsiN.png

LquSQkt.jpg

I have provided the device manager entries of my XP installation (from the enum key) so you can see the information on the drivers installed in my working XP OS.Useful's-XP-device-manager-entries.txt

Edited by UsefulAGKHelper
  • 1 month later...
  • 1 month later...
Posted
On 7/24/2023 at 3:26 AM, UsefulAGKHelper said:

Since July 10 (made public since July 11) I have managed to run Windows XP x64 SP2 (built using XP2ESD) from UEFI Class 3 on Coffee Lake Windows 11 laptop on winload.efi 16497 using FlashBoot 3.3n bootmgfw.efi and Windows 7 generic VGA drivers by modifying the contents of mounted devices and enum key.

I have used the XP2ESD build which contains the backported generic drivers and ACPI 2.0 drivers (from here) to get this to work.

So far I tested acpibit64crack.sys from Dietmar.

The fact that I managed to boot XP on such new hardware means that the ACPI 2.0 worked! Touchpad doesn't work because there aren't any working XP drivers for Intel Serial IO I2C Host Controller (9DE8 and 9DE9 in my case) to get the Elan1200 I2C Hid device to install using the backported generic touchpad driver from windows 8.

USB XHCI controller and USB 3.0 root hub work without problems so I can use external mouse (for the cursor) and USB wireless adapter (for internet).

I don't know if it's caused by ACPI incompatibility but I have tried to backport the Intel Serial IO I2C Host Controller from Windows 7 and it still wouldn't work even with Mov's ntoskrnl emu extender files!

9gHWsiN.png

LquSQkt.jpg

I have provided the device manager entries of my XP installation (from the enum key) so you can see the information on the drivers installed in my working XP OS.Useful's-XP-device-manager-entries.txt

Hi @UsefulAGKHelper! I have Coffee Lake as well, but inside a Dell Precision 7530! It is also UEFI Class 3, like yours (although it does contain a Legacy Mode that cannot boot internal devices such as hard drives, only external devices like USBs). I did not think it was even possible to install XP on machines like ours, so I'm gonna have to try this out and see what happens!

As for the Intel Serial IO I2C Host Controller, I have never gotten the Skylake driver to work under Coffee Lake and Windows 7, even after modding my Device ID, and others, into it! I don't know why exactly it doesn't work. If I use Opencore to load specific DSDT tables, I can get the Intel HID-Event Filter driver to show itself within 7's DM (it's hidden in normal boot due to how the DSDT is programed to dole out devices based on the OS requirements for said device), but this has no effect on the Serial IO drivers. If it doesn't work under 7, it won't work under Vista, let alone XP. It does, however, work just fine under 8.1, so there is something in that OS that it wants that would need to be backported, but I have not figured out what this is. Also, I'm surprised the DM exposed the Serial IO drivers from the get-go. I'm surprised there isn't a version check on those in the DSDT tables that blocks them from being seen within XP/Vista.

I do wonder, if AMD Serial IO drivers could be forced to work under an Intel board... In the Windows 7 on the Intel Alder Lake Z690 thread, @Carlos S. M. managed to force the AMD XHCI driver to work despite it being an Intel USB board, so that's why I'm wondering if AMD Serial IO drivers could be forced. I'm gonna try that soon as well.

Posted
On 10/18/2023 at 7:56 PM, K4sum1 said:

Latest ACPI with the mod gives me this BSOD on a 6500u laptop.

I was able to fix this by disabling the Nvidia GPU, running only on the integrated Intel iGPU. After Windows was installed, it seemed to work with the dGPU enabled, although no drivers made it mostly useless.

However I have a friend with a Broadwell laptop, E5450, and they get this with the ACPI. No dGPU to disable, going to have them look through the BIOS to see if they can find anything.

IMG_20231022_185957.jpg?ex=6547d83c&is=6

Posted
21 hours ago, K4sum1 said:

I was able to fix this by disabling the Nvidia GPU, running only on the integrated Intel iGPU. After Windows was installed, it seemed to work with the dGPU enabled, although no drivers made it mostly useless.

However I have a friend with a Broadwell laptop, E5450, and they get this with the ACPI. No dGPU to disable, going to have them look through the BIOS to see if they can find anything.

IMG_20231022_185957.jpg?ex=6547d83c&is=6

I had whitebear do that and there was nothing. I had him disable a few things like Parallel and Serial ports (in case those were erroneously being picked up as a floppy drive, like with Windows 2000 on InsydeH2O BIOS), Intel Turbo and Fastboot, TPM, and even USB3. I did give him my WinXP 64-bit ISO on the off chance the ISO he was using is somehow corrupted.

Posted
On 10/23/2023 at 3:03 AM, K4sum1 said:

I was able to fix this by disabling the Nvidia GPU, running only on the integrated Intel iGPU. After Windows was installed, it seemed to work with the dGPU enabled, although no drivers made it mostly useless.

However I have a friend with a Broadwell laptop, E5450, and they get this with the ACPI. No dGPU to disable, going to have them look through the BIOS to see if they can find anything.

IMG_20231022_185957.jpg?ex=6547d83c&is=6

You can get full debug log via LAN with this one https://github.com/MovAX0xDEAD/KDNET

There were several attempts in this thread, try searching for keywords like debug.

Posted (edited)

@Dietmar Do you have archived latest patches for HAL*.dll and intelppm.dll for most newer files that we have available?

5.1 x86 intelppm.sys

83 28 20 ->
83 50 21
            
83 74 1F ->
83 50 21
            
40 28 74 ->
40 28 50
            
14 20 22 ->
14 50 21

 

5.2 x86 intelppm.sys

68 2B 01 ->
90 2C 01
                
04 83 B4 ->
04 83 90
                
40 28 B4 ->
40 28 90
                
14 60 2D ->
14 90 2A

 

5.2 x64 intelppm.sys

4E FC 00 ->
CC 7B 01

8A A1 FF FF 4C 8D 35 03 A2 ->
4A A1 FF FF 4C 8D 35 43 A1

8D 0D 5E ->
8D 0D 1E

0D 29 8B ->
0D 69 8A
	

 

 

5.1 x86 hal*.dll

unknown

 

5.2 x86 hal*.dll

unknown

 

5.2 x64 hal*.dll

BA E2 0F 73 ->
BA E2 0F EB
                
E0 0F 73 0E ->
E0 0F EB 0E

 

Can you please check these patches or send me working modded files?

Edited by George King
Posted

Hi @George King,

I have lost complete the overlook:angel over all the versions of those files. I make them also for win2000, win7, win8, win8.1.

I know, that I always send the most most new to Ramsey for XP SP3, so there they are for sure the latest ones.

 

For XP bit64 SP2 I have only the modd here in the forum from January 2023 for hal.dll and intelppm.sys.

They cant be done better.

 

Here are my last acpi.sys for XP SP3, win2003 bit 32 and XP bit64 SP2 with most needed hacks

https://ufile.io/1bu70rru

Dietmar

Posted (edited)

I need to find your latest HAL patches here in topic... :) Specially x86 5.2.

 

About ACPI, I'm using these post compile hacks for files builded for latest sources from first post. I think they are fine.

 

	REM 5.1 hacks
"%~dp0bbe.exe" -b "/\x33\xFF\x0B\xC7\x75/:5" -e "s/\x33\xFF\x0B\xC7\x75/\x33\xFF\x0B\xC7\xEB/" "%~dp0XPSP1\NT\base\busdrv\acpi\driver\nt\obj\i386\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys"
	"%~dp0bbe.exe" -b "/\x00\x00\x84\xC0\x75\x08/:6" -e "s/\x00\x00\x84\xC0\x75\x08/\x00\x00\x84\xC0\xEB\x08/" "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.1\acpi2.sys"
del /q /s "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys"
ren "%~dp0Files\ACPI\X-hacked\5.1\acpi2.sys" "acpi.sys"
	"%~dp0bbe.exe" -b "/\x85\xC0\x59\x59\x7C\x21/:6" -e "s/\x85\xC0\x59\x59\x7C\x21/\x85\xC0\x59\x59\x90\x90/" "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.1\acpi2.sys"
del /q /s "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys"
ren "%~dp0Files\ACPI\X-hacked\5.1\acpi2.sys" "acpi.sys"
	"%~dp0bbe.exe" -b "/\x8B\x48\x18\x7D\x34\x8B/:6" -e "s/\x8B\x48\x18\x7D\x34\x8B/\x8B\x48\x18\xEB\x34\x8B/" "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.1\acpi2.sys"
del /q /s "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys"
ren "%~dp0Files\ACPI\X-hacked\5.1\acpi2.sys" "acpi.sys"
	"%~dp0PEChecksum.exe" -c "%~dp0Files\ACPI\X-hacked\5.1\acpi.sys"
	
REM 5.2 x86 hacks
"%~dp0bbe.exe" -b "/\x33\xFF\x0B\xC7\x75/:5" -e "s/\x33\xFF\x0B\xC7\x75/\x33\xFF\x0B\xC7\xEB/" "%~dp0Win2K3\NT\base\busdrv\acpi\driver\nt\obj\i386\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys"
	"%~dp0bbe.exe" -b "/\x00\x00\x84\xC0\x75\x08/:6" -e "s/\x00\x00\x84\xC0\x75\x08/\x00\x00\x84\xC0\xEB\x08/" "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.2\acpi2.sys"
del /q /s "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys"
ren "%~dp0Files\ACPI\X-hacked\5.2\acpi2.sys" "acpi.sys"
	"%~dp0bbe.exe" -b "/\x85\xC0\x59\x59\x7C\x21/:6" -e "s/\x85\xC0\x59\x59\x7C\x21/\x85\xC0\x59\x59\x90\x90/" "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.2\acpi2.sys"
del /q /s "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys"
ren "%~dp0Files\ACPI\X-hacked\5.2\acpi2.sys" "acpi.sys"
	"%~dp0bbe.exe" -b "/\x14\x8B\x50\x18\x7D\x21/:6" -e "s/\x14\x8B\x50\x18\x7D\x21/\x14\x8B\x50\x18\xEB\x21/" "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys" -o "%~dp0Files\ACPI\X-hacked\5.2\acpi2.sys"
del /q /s "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys"
ren "%~dp0Files\ACPI\X-hacked\5.2\acpi2.sys" "acpi.sys"
	"%~dp0PEChecksum.exe" -c "%~dp0Files\ACPI\X-hacked\5.2\acpi.sys"
	
REM 5.2 x64 hacks
"%~dp0bbe.exe" -b "/\x0F\xBA\xE1\x19\x72/:5" -e "s/\x0F\xBA\xE1\x19\x72/\x0F\xBA\xE1\x19\xEB/" "%~dp0Win2K3\NT\base\busdrv\acpi\driver\nt\obj\amd64\acpi.sys" -o "%~dp0Files\ACPI64\X-hacked\acpi.sys"
	"%~dp0bbe.exe" -b "/\x00\x00\x84\xC0\x75\x20/:6" -e "s/\x00\x00\x84\xC0\x75\x20/\x00\x00\x84\xC0\xEB\x20/" "%~dp0Files\ACPI64\X-hacked\acpi.sys" -o "%~dp0Files\ACPI64\X-hacked\acpi2.sys"
del /q /s "%~dp0Files\ACPI64\X-hacked\acpi.sys"
ren "%~dp0Files\ACPI64\X-hacked\acpi2.sys" "acpi.sys"
	"%~dp0bbe.exe" -b "/\xC0\x78\x2E\x48\x8B\x05/:6" -e "s/\xC0\x78\x2E\x48\x8B\x05/\xC0\x90\x90\x48\x8B\x05/" "%~dp0Files\ACPI64\X-hacked\acpi.sys" -o "%~dp0Files\ACPI64\X-hacked\acpi2.sys"
del /q /s "%~dp0Files\ACPI64\X-hacked\acpi.sys"
ren "%~dp0Files\ACPI64\X-hacked\acpi2.sys" "acpi.sys"
	"%~dp0bbe.exe" -b "/\x8B\x41\x20\x79\x2C\x48/:6" -e "s/\x8B\x41\x20\x79\x2C\x48/\x8B\x41\x20\xEB\x2C\x48/" "%~dp0Files\ACPI64\X-hacked\acpi.sys" -o "%~dp0Files\ACPI64\X-hacked\acpi2.sys"
del /q /s "%~dp0Files\ACPI64\X-hacked\acpi.sys"
ren "%~dp0Files\ACPI64\X-hacked\acpi2.sys" "acpi.sys"
	"%~dp0PEChecksum.exe" -c "%~dp0Files\ACPI64\X-hacked\acpi.sys"
	
Edited by George King
Posted

@UsefulAGKHelper

The most difficult part is to understand, why something goes wrong and in which file.

For this, only Windbg helps (you need 2 compis for this).

After you have an idea, what may be wrong, you can use IDA Pro64.

Very often the cause for an error is independend from the OS.

Needs some time to learn, how to work with those tools.

And for changing files you can use Winhex.

Of course there is another way, I mean to understand Assembler language and its work together with XP.

I think, here in the forum only @Mov AX, 0xDEAD can do that and @daniel_k

Dietmar

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...